commit 2211ed7650201bd5ce0c2f1e4d7d08757efba0bb Author: Brian Beck Date: Thu Sep 11 16:48:23 2025 -0700 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..40031bf9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,133 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +.DS_Store +.tshy diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 00000000..c5637a9e --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,18 @@ +import "./style.css"; + +export const metadata = { + title: "Next.js", + description: "Generated by Next.js", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 00000000..e8d736e2 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,353 @@ +"use client"; +import { useEffect, useRef, useState } from "react"; +import * as THREE from "three"; +import { + getActualResourcePath, + getResourceList, + getSource, +} from "@/src/manifest"; +import { parseTerrainBuffer } from "@/src/terrain"; +import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js"; +import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; +import { getTerrainFile, parseMissionScript } from "@/src/mission"; + +const BASE_URL = "/t2-mapper"; +const RESOURCE_ROOT_URL = `${BASE_URL}/base/`; + +function getUrlForPath(resourcePath: string) { + resourcePath = getActualResourcePath(resourcePath); + const sourcePath = getSource(resourcePath); + if (!sourcePath) { + return `${RESOURCE_ROOT_URL}${resourcePath}`; + } else { + return `${RESOURCE_ROOT_URL}@vl2/${sourcePath}/${resourcePath}`; + } +} + +function terrainTextureToUrl(name: string) { + name = name.replace(/^terrain\./, ""); + try { + return getUrlForPath(`textures/terrain/${name}.png`); + } catch (err) { + return `${BASE_URL}/black.png`; + } +} + +function uint16ToFloat32(src: Uint16Array) { + const out = new Float32Array(src.length); + for (let i = 0; i < src.length; i++) { + out[i] = src[i] / 65535; + } + return out; +} + +async function loadMission(name: string) { + const res = await fetch(getUrlForPath(`missions/${name}.mis`)); + const missionScript = await res.text(); + return parseMissionScript(missionScript); +} + +async function loadTerrain(fileName: string) { + const res = await fetch(getUrlForPath(`terrains/${fileName}`)); + const terrainBuffer = await res.arrayBuffer(); + return parseTerrainBuffer(terrainBuffer); +} + +function resizeRendererToDisplaySize(renderer) { + const canvas = renderer.domElement; + const width = canvas.clientWidth; + const height = canvas.clientHeight; + const needResize = canvas.width !== width || canvas.height !== height; + if (needResize) { + renderer.setSize(width, height, false); + } + return needResize; +} + +const excludeMissions = new Set([ + "SkiFree", + "SkiFree_Daily", + "SkiFree_Randomizer", +]); + +const missions = getResourceList() + .map((resourcePath) => resourcePath.match(/^missions\/(.+)\.mis$/)) + .filter(Boolean) + .map((match) => match[1]) + .filter((name) => !excludeMissions.has(name)); + +export default function HomePage() { + const canvasRef = useRef(null); + const [missionName, setMissionName] = useState("TWL_Raindance"); + + useEffect(() => { + const canvas = canvasRef.current; + const renderer = new THREE.WebGLRenderer({ + canvas, + antialias: true, + }); + + const textureLoader = new THREE.TextureLoader(); + + const scene = new THREE.Scene(); + const camera = new THREE.PerspectiveCamera( + 75, + canvas.clientWidth / canvas.clientHeight, + 0.1, + 2000 + ); + + function setupColor(tex) { + tex.wrapS = tex.wrapT = THREE.RepeatWrapping; // Still need this for tiling to work + tex.colorSpace = THREE.SRGBColorSpace; + tex.anisotropy = renderer.capabilities.getMaxAnisotropy?.() ?? 16; + tex.generateMipmaps = true; + tex.minFilter = THREE.LinearMipmapLinearFilter; + tex.magFilter = THREE.LinearFilter; + return tex; + } + + function setupMask(data) { + const tex = new THREE.DataTexture( + data, + 256, + 256, + THREE.RedFormat, // 1 channel + THREE.UnsignedByteType // 8-bit + ); + + // Masks should stay linear + tex.colorSpace = THREE.NoColorSpace; + + // Set tiling / sampling. For NPOT sizes, disable mips or use power-of-two. + tex.wrapS = tex.wrapT = THREE.RepeatWrapping; + tex.generateMipmaps = false; // if width/height are not powers of two + tex.minFilter = THREE.LinearFilter; // avoid mips if generateMipmaps=false + tex.magFilter = THREE.LinearFilter; + + tex.needsUpdate = true; + + return tex; + } + + async function loadMap() { + const mission = await loadMission(missionName); + const terrainFile = getTerrainFile(mission); + const terrain = await loadTerrain(terrainFile); + + const layerCount = terrain.textureNames.length; + + console.log({ terrain }); + + const baseTextures = terrain.textureNames.map((name) => { + return setupColor(textureLoader.load(terrainTextureToUrl(name))); + }); + + const alphaTextures = terrain.alphaMaps.map((data) => setupMask(data)); + + // Geometry: a simple plane (512x512 meters to match Tribes 2 scale) + const planeSize = 512; + const geom = new THREE.PlaneGeometry(planeSize, planeSize, 256, 256); + geom.rotateX(-Math.PI / 2); + + const f32HeightMap = uint16ToFloat32(terrain.heightMap); + + const heightMap = new THREE.DataTexture( + f32HeightMap, + 256, + 256, + THREE.RedFormat, + THREE.FloatType + ); + heightMap.colorSpace = THREE.NoColorSpace; + heightMap.generateMipmaps = false; + heightMap.needsUpdate = true; + + // Start with a standard material; assign map to trigger USE_MAP/vMapUv + const mat = new THREE.MeshStandardMaterial({ + // map: base0, + displacementMap: heightMap, + map: heightMap, + // In Tribes 2, heightmap values are 0-0xFFFF (65535), + // already converted to 0-1 range by uint16ToFloat32. + // Scale by 2048 to match Tribes 2's height units in meters + displacementScale: 512, + displacementBias: -32, + }); + + // Inject our 4-layer blend before lighting + mat.onBeforeCompile = (shader) => { + // uniforms for 4 albedo maps + 3 alpha masks + baseTextures.forEach((tex, i) => { + shader.uniforms[`albedo${i}`] = { value: tex }; + }); + alphaTextures.forEach((tex, i) => { + if (i > 0) { + shader.uniforms[`mask${i}`] = { value: tex }; + } + }); + + // Add per-texture tiling uniforms + baseTextures.forEach((tex, i) => { + shader.uniforms[`tiling${i}`] = { + value: Math.min(32, Math.pow(2, i + 2)), + }; + }); + + // Declare our uniforms at the top of the fragment shader + shader.fragmentShader = + ` +uniform sampler2D albedo0; +uniform sampler2D albedo1; +uniform sampler2D albedo2; +uniform sampler2D albedo3; +uniform sampler2D albedo4; +uniform sampler2D albedo5; +uniform sampler2D mask1; +uniform sampler2D mask2; +uniform sampler2D mask3; +uniform sampler2D mask4; +uniform sampler2D mask5; +uniform float tiling0; +uniform float tiling1; +uniform float tiling2; +uniform float tiling3; +uniform float tiling4; +uniform float tiling5; +` + shader.fragmentShader; + + // Replace the default map sampling block with our layered blend. + // We rely on vMapUv provided by USE_MAP. + shader.fragmentShader = shader.fragmentShader.replace( + "#include ", + ` + // Sample base albedo layers (sRGB textures auto-decoded to linear) + vec2 baseUv = vMapUv; + vec3 c0 = texture2D(albedo0, baseUv * vec2(tiling0)).rgb; + ${ + layerCount > 1 + ? `vec3 c1 = texture2D(albedo1, baseUv * vec2(tiling1)).rgb;` + : "" + } + ${ + layerCount > 2 + ? `vec3 c2 = texture2D(albedo2, baseUv * vec2(tiling2)).rgb;` + : "" + } + ${ + layerCount > 3 + ? `vec3 c3 = texture2D(albedo3, baseUv * vec2(tiling3)).rgb;` + : "" + } + ${ + layerCount > 4 + ? `vec3 c4 = texture2D(albedo4, baseUv * vec2(tiling4)).rgb;` + : "" + } + ${ + layerCount > 5 + ? `vec3 c5 = texture2D(albedo5, baseUv * vec2(tiling5)).rgb;` + : "" + } + + // Sample linear masks (use R channel) + float a1 = texture2D(mask1, baseUv).r; + ${layerCount > 1 ? `float a2 = texture2D(mask2, baseUv).r;` : ""} + ${layerCount > 2 ? `float a3 = texture2D(mask3, baseUv).r;` : ""} + ${layerCount > 3 ? `float a4 = texture2D(mask4, baseUv).r;` : ""} + ${layerCount > 4 ? `float a5 = texture2D(mask5, baseUv).r;` : ""} + + // Bottom-up compositing: each mask tells how much the higher layer replaces lower + ${layerCount > 1 ? `vec3 blended = mix(c0, c1, clamp(a1, 0.0, 1.0));` : ""} + ${layerCount > 2 ? `blended = mix(blended, c2, clamp(a2, 0.0, 1.0));` : ""} + ${layerCount > 3 ? `blended = mix(blended, c3, clamp(a3, 0.0, 1.0));` : ""} + ${layerCount > 4 ? `blended = mix(blended, c4, clamp(a4, 0.0, 1.0));` : ""} + ${layerCount > 5 ? `blended = mix(blended, c5, clamp(a5, 0.0, 1.0));` : ""} + + // Assign to diffuseColor before lighting + diffuseColor.rgb = ${layerCount > 1 ? "blended" : "c0"}; +` + ); + }; + + // for (let gx = -1; gx <= 1; gx++) { + // for (let gz = -1; gz <= 1; gz++) { + // } + // } + const mesh = new THREE.Mesh(geom, mat); + // mesh.position.set(gx * planeSize, 0, gz * planeSize); + scene.add(mesh); + } + + // const displacementMap = textureLoader.load("/heightmap.png"); + + // const planeMesh = new THREE.Mesh( + // new THREE.PlaneGeometry(256, 256, 256, 256), + // new THREE.MeshPhongMaterial({ + // side: THREE.DoubleSide, + // displacementMap: displacementMap, + // map: displacementMap, + // displacementScale: 50, + // }) + // ); + + // scene.add(planeMesh); + + const controls = new OrbitControls(camera, renderer.domElement); + + // const geometry = new THREE.BoxGeometry(1, 1, 1); + // const material = new THREE.MeshPhongMaterial({ + // color: "rgba(255, 255, 255, 1)", + // }); + // const cube = new THREE.Mesh(geometry, material); + // scene.add(cube); + + const skyColor = "rgba(209, 237, 255, 1)"; + const groundColor = "rgba(186, 200, 181, 1)"; + const intensity = 2; + const light = new THREE.HemisphereLight(skyColor, groundColor, intensity); + scene.add(light); + + // const loader = new GLTFLoader(); + // loader.load("/flagstand.gltf", (gltf) => { + // scene.add(gltf.scene); // gltf.scene is a THREE.Group containing the model + // camera.position.set(0, 0, 300); + // controls.update(); + // }); + + camera.position.set(100, 15, 100); + camera.lookAt(0, 0, -200); + controls.update(); + + const animate = () => { + // cube.rotation.x += 0.01; + // cube.rotation.y += 0.01; + + if (resizeRendererToDisplaySize(renderer)) { + const canvas = renderer.domElement; + camera.aspect = canvas.clientWidth / canvas.clientHeight; + camera.updateProjectionMatrix(); + } + controls.update(); + renderer.render(scene, camera); + }; + renderer.setAnimationLoop(animate); + + loadMap(); + }, [missionName]); + + return ( +
+ + +
+ ); +} diff --git a/app/style.css b/app/style.css new file mode 100644 index 00000000..4161190e --- /dev/null +++ b/app/style.css @@ -0,0 +1,17 @@ +html, +body { + margin: 0; + padding: 0; +} + +#canvas { + display: block; + width: 100vw; + height: 100vh; +} + +#missionList { + position: fixed; + top: 20px; + left: 20px; +} diff --git a/generated/hxDif.cjs b/generated/hxDif.cjs new file mode 100644 index 00000000..d163a679 --- /dev/null +++ b/generated/hxDif.cjs @@ -0,0 +1,2736 @@ +// Generated by Haxe 4.3.7 +(function ($hx_exports, $global) { "use strict"; +$hx_exports["haxe"] = $hx_exports["haxe"] || {}; +$hx_exports["haxe"]["io"] = $hx_exports["haxe"]["io"] || {}; +$hx_exports["math"] = $hx_exports["math"] || {}; +var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; +class AISpecialNode { + constructor(name,position) { + this.name = name; + this.position = position; + } + write(io) { + io.writeStr(this.name); + this.position.write(io); + } + static read(io) { + return new AISpecialNode(io.readStr(),math_Point3F.read(io)); + } +} +$hx_exports["AISpecialNode"] = AISpecialNode; +AISpecialNode.__name__ = true; +class AnimatedLight { + constructor(nameIndex,stateIndex,stateCount,flags,duration) { + this.nameIndex = nameIndex; + this.stateIndex = stateIndex; + this.stateCount = stateCount; + this.flags = flags; + this.duration = duration; + } + write(io) { + io.writeInt32(this.nameIndex); + io.writeInt32(this.stateIndex); + io.writeUInt16(this.stateCount); + io.writeUInt16(this.flags); + io.writeInt32(this.duration); + } + static read(io) { + return new AnimatedLight(io.readInt32(),io.readInt32(),io.readInt16(),io.readInt16(),io.readInt32()); + } +} +$hx_exports["AnimatedLight"] = AnimatedLight; +AnimatedLight.__name__ = true; +class BSPNode { + constructor(planeIndex,frontIndex,backIndex,isFrontLeaf,isFrontSolid,isBackLeaf,isBackSolid) { + this.planeIndex = planeIndex; + this.frontIndex = frontIndex; + this.backIndex = backIndex; + this.isFrontLeaf = isFrontLeaf; + this.isFrontSolid = isFrontSolid; + this.isBackLeaf = isBackLeaf; + this.isBackSolid = isBackSolid; + } + write(io,version) { + io.writeUInt16(this.planeIndex); + if(version.interiorVersion >= 14) { + let frontwrite = this.frontIndex; + let frontwrite1 = this.frontIndex; + if(this.isFrontLeaf) { + frontwrite1 &= -32769; + frontwrite1 |= 524288; + } + if(this.isFrontSolid) { + frontwrite1 &= -16385; + frontwrite1 |= 262144; + } + io.writeInt32(frontwrite1); + let backwrite = this.backIndex; + if(this.isBackLeaf) { + backwrite &= -32769; + backwrite |= 524288; + } + if(this.isBackSolid) { + backwrite &= -16385; + backwrite |= 262144; + } + io.writeInt32(backwrite); + } else { + io.writeInt16(this.frontIndex); + io.writeInt16(this.backIndex); + } + } + static read(io,version) { + let planeIndex = io.readUInt16(); + let frontIndex; + let backIndex; + let isfrontleaf = false; + let isfrontsolid = false; + let isbackleaf = false; + let isbacksolid = false; + if(version.interiorVersion >= 14) { + frontIndex = io.readInt32(); + backIndex = io.readInt32(); + if((frontIndex & 524288) != 0) { + frontIndex = frontIndex & -524289 | 32768; + isfrontleaf = true; + } + if((frontIndex & 262144) != 0) { + frontIndex = frontIndex & -262145 | 16384; + isfrontsolid = true; + } + if((backIndex & 524288) != 0) { + backIndex = backIndex & -524289 | 32768; + isbackleaf = true; + } + if((backIndex & 262144) != 0) { + backIndex = backIndex & -262145 | 16384; + isbacksolid = true; + } + } else { + frontIndex = io.readUInt16(); + backIndex = io.readUInt16(); + if((frontIndex & 32768) != 0) { + isfrontleaf = true; + } + if((frontIndex & 16384) != 0) { + isfrontsolid = true; + } + if((backIndex & 32768) != 0) { + isbackleaf = true; + } + if((backIndex & 16384) != 0) { + isbacksolid = true; + } + } + return new BSPNode(planeIndex,frontIndex,backIndex,isfrontleaf,isfrontsolid,isbackleaf,isbacksolid); + } +} +$hx_exports["BSPNode"] = BSPNode; +BSPNode.__name__ = true; +class BSPSolidLeaf { + constructor(surfaceStart,surfaceCount) { + this.surfaceStart = surfaceStart; + this.surfaceCount = surfaceCount; + } + write(io) { + io.writeInt32(this.surfaceStart); + io.writeInt16(this.surfaceCount); + } + static read(io) { + return new BSPSolidLeaf(io.readInt32(),io.readInt16()); + } +} +$hx_exports["BSPSolidLeaf"] = BSPSolidLeaf; +BSPSolidLeaf.__name__ = true; +class ConvexHull { + constructor() { + this.hullStart = 0; + this.hullCount = 0; + this.minX = 0; + this.minY = 0; + this.minZ = 0; + this.maxX = 0; + this.maxY = 0; + this.maxZ = 0; + this.surfaceStart = 0; + this.surfaceCount = 0; + this.planeStart = 0; + this.polyListPlaneStart = 0; + this.polyListPointStart = 0; + this.polyListStringStart = 0; + this.staticMesh = false; + } + write(io,version) { + io.writeInt32(this.hullStart); + io.writeUInt16(this.hullCount); + io.writeFloat(this.minX); + io.writeFloat(this.minY); + io.writeFloat(this.minZ); + io.writeFloat(this.maxX); + io.writeFloat(this.maxY); + io.writeFloat(this.maxZ); + io.writeInt32(this.surfaceStart); + io.writeUInt16(this.surfaceCount); + io.writeInt32(this.planeStart); + io.writeInt32(this.polyListPlaneStart); + io.writeInt32(this.polyListPointStart); + io.writeInt32(this.polyListStringStart); + if(version.interiorVersion >= 12) { + io.writeByte(this.staticMesh ? 1 : 0); + } + } + static read(io,version) { + let ret = new ConvexHull(); + ret.hullStart = io.readInt32(); + ret.hullCount = io.readUInt16(); + ret.minX = io.readFloat(); + ret.minY = io.readFloat(); + ret.minZ = io.readFloat(); + ret.maxX = io.readFloat(); + ret.maxY = io.readFloat(); + ret.maxZ = io.readFloat(); + ret.surfaceStart = io.readInt32(); + ret.surfaceCount = io.readUInt16(); + ret.planeStart = io.readInt32(); + ret.polyListPlaneStart = io.readInt32(); + ret.polyListPointStart = io.readInt32(); + ret.polyListStringStart = io.readInt32(); + if(version.interiorVersion >= 12) { + ret.staticMesh = io.readByte() > 0; + } + return ret; + } +} +$hx_exports["ConvexHull"] = ConvexHull; +ConvexHull.__name__ = true; +class CoordBin { + constructor() { + this.binStart = 0; + this.binCount = 0; + } + write(io) { + io.writeInt32(this.binStart); + io.writeInt32(this.binCount); + } + static read(io) { + let ret = new CoordBin(); + ret.binStart = io.readInt32(); + ret.binCount = io.readInt32(); + return ret; + } +} +$hx_exports["CoordBin"] = CoordBin; +CoordBin.__name__ = true; +class Dif { + constructor() { + this.gameEntities = null; + this.vehicleCollision = null; + } + write(io,version) { + io.writeInt32(this.difVersion); + io.writeByte(this.previewIncluded); + WriterExtensions.writeArray(io,this.interiors,function(io,p) { + p.write(io,version); + }); + WriterExtensions.writeArray(io,this.subObjects,function(io,p) { + p.write(io,version); + }); + WriterExtensions.writeArray(io,this.triggers,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.interiorPathfollowers,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.forceFields,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.aiSpecialNodes,function(io,p) { + p.write(io); + }); + if(this.vehicleCollision != null) { + io.writeInt32(1); + this.vehicleCollision.write(io,version); + } else { + io.writeInt32(0); + } + if(this.gameEntities != null) { + io.writeInt32(2); + WriterExtensions.writeArray(io,this.gameEntities,function(io,p) { + p.write(io); + }); + } else { + io.writeInt32(0); + } + io.writeInt32(0); + } + static LoadFromBuffer(buffer) { + let br = new io_BytesReader(buffer); + return Dif.read(br); + } + static SaveToBuffer(dif,version) { + let bw = new io_BytesWriter(); + dif.write(bw,version); + return bw.getBuffer(); + } + static LoadFromArrayBuffer(buffer) { + let br = new io_BytesReader(haxe_io_Bytes.ofData(buffer)); + return Dif.read(br); + } + static SaveToArrayBuffer(dif,version) { + let bw = new io_BytesWriter(); + dif.write(bw,version); + return bw.getBuffer().b.bufferValue; + } + static read(io) { + let ret = new Dif(); + let version = new Version(); + version.difVersion = io.readInt32(); + ret.difVersion = version.difVersion; + ret.previewIncluded = io.readByte(); + ret.interiors = ReaderExtensions.readArray(io,function(io) { + return Interior.read(io,version); + }); + ret.subObjects = ReaderExtensions.readArray(io,function(io) { + return Interior.read(io,version); + }); + ret.triggers = ReaderExtensions.readArray(io,Trigger.read); + ret.interiorPathfollowers = ReaderExtensions.readArray(io,InteriorPathFollower.read); + ret.forceFields = ReaderExtensions.readArray(io,ForceField.read); + ret.aiSpecialNodes = ReaderExtensions.readArray(io,AISpecialNode.read); + let readVehicleCollision = io.readInt32(); + if(readVehicleCollision == 1) { + ret.vehicleCollision = VehicleCollision.read(io,version); + } + let readGameEntities = io.readInt32(); + if(readGameEntities == 2) { + ret.gameEntities = ReaderExtensions.readArray(io,GameEntity.read); + } + return ret; + } +} +$hx_exports["Dif"] = Dif; +Dif.__name__ = true; +class Edge { + constructor(pointIndex0,pointIndex1,surfaceIndex0,surfaceIndex1) { + this.pointIndex0 = pointIndex0; + this.pointIndex1 = pointIndex1; + this.surfaceIndex0 = surfaceIndex0; + this.surfaceIndex1 = surfaceIndex1; + } + write(io,version) { + io.writeInt32(this.pointIndex0); + io.writeInt32(this.pointIndex1); + io.writeInt32(this.surfaceIndex0); + io.writeInt32(this.surfaceIndex1); + } + static read(io,version) { + return new Edge(io.readInt32(),io.readInt32(),io.readInt32(),io.readInt32()); + } +} +$hx_exports["Edge"] = Edge; +Edge.__name__ = true; +class Edge2 { + constructor() { + this.vertex0 = 0; + this.vertex1 = 0; + this.normal0 = 0; + this.normal1 = 0; + this.face0 = 0; + this.face1 = 0; + } + write(io,version) { + io.writeInt32(this.vertex0); + io.writeInt32(this.vertex1); + io.writeInt32(this.normal0); + io.writeInt32(this.normal1); + if(version.interiorVersion >= 3) { + io.writeInt32(this.face0); + io.writeInt32(this.face1); + } + } + static read(io,version) { + let ret = new Edge2(); + ret.vertex0 = io.readInt32(); + ret.vertex1 = io.readInt32(); + ret.normal0 = io.readInt32(); + ret.normal1 = io.readInt32(); + if(version.interiorVersion >= 3) { + ret.face0 = io.readInt32(); + ret.face1 = io.readInt32(); + } + return ret; + } +} +$hx_exports["Edge2"] = Edge2; +Edge2.__name__ = true; +class FFSurface { + constructor() { + this.windingStart = 0; + this.windingCount = 0; + this.planeIndex = 0; + this.surfaceFlags = 0; + this.fanMask = 0; + } + write(io) { + io.writeInt32(this.windingStart); + io.writeByte(this.windingCount); + io.writeInt16(this.planeIndex); + io.writeByte(this.surfaceFlags); + io.writeInt32(this.fanMask); + } + static read(io) { + let ret = new FFSurface(); + ret.windingStart = io.readInt32(); + ret.windingCount = io.readByte(); + ret.planeIndex = io.readInt16(); + ret.surfaceFlags = io.readByte(); + ret.fanMask = io.readInt32(); + return ret; + } +} +$hx_exports["FFSurface"] = FFSurface; +FFSurface.__name__ = true; +class ForceField { + constructor() { + } + write(io) { + io.writeInt32(this.forceFieldFileVersion); + io.writeStr(this.name); + WriterExtensions.writeArray(io,this.triggers,function(io,p) { + io.writeStr(p); + }); + this.boundingBox.write(io); + this.boundingSphere.write(io); + WriterExtensions.writeArray(io,this.normals,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.planes,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.bspNodes,function(io,p) { + p.write(io,new Version()); + }); + WriterExtensions.writeArray(io,this.bspSolidLeaves,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.windings,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.surfaces,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.solidLeafSurfaces,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeColorF(io,this.color); + } + static read(io) { + let ret = new ForceField(); + ret.forceFieldFileVersion = io.readInt32(); + ret.name = io.readStr(); + ret.triggers = ReaderExtensions.readArray(io,function(io) { + return io.readStr(); + }); + ret.boundingBox = math_Box3F.read(io); + ret.boundingSphere = math_Spheref.read(io); + ret.normals = ReaderExtensions.readArray(io,math_Point3F.read); + ret.planes = ReaderExtensions.readArray(io,Plane.read); + ret.bspNodes = ReaderExtensions.readArray(io,function(io) { + return BSPNode.read(io,new Version()); + }); + ret.bspSolidLeaves = ReaderExtensions.readArray(io,BSPSolidLeaf.read); + ret.windings = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.surfaces = ReaderExtensions.readArray(io,FFSurface.read); + ret.solidLeafSurfaces = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.color = ReaderExtensions.readColorF(io); + return ret; + } +} +$hx_exports["ForceField"] = ForceField; +ForceField.__name__ = true; +class GameEntity { + constructor() { + this.datablock = ""; + this.gameClass = ""; + this.position = new math_Point3F(); + this.properties = new haxe_ds_StringMap(); + } + write(io) { + io.writeStr(this.datablock); + io.writeStr(this.gameClass); + this.position.write(io); + WriterExtensions.writeDictionary(io,this.properties); + } + static read(io) { + let ret = new GameEntity(); + ret.datablock = io.readStr(); + ret.gameClass = io.readStr(); + ret.position = math_Point3F.read(io); + ret.properties = ReaderExtensions.readDictionary(io); + return ret; + } +} +$hx_exports["GameEntity"] = GameEntity; +GameEntity.__name__ = true; +class HxOverrides { + static cca(s,index) { + let x = s.charCodeAt(index); + if(x != x) { + return undefined; + } + return x; + } + static now() { + return Date.now(); + } +} +HxOverrides.__name__ = true; +class Interior { + constructor() { + } + write(io,version) { + io.writeInt32(version.interiorVersion); + io.writeInt32(this.detailLevel); + io.writeInt32(this.minPixels); + this.boundingBox.write(io); + this.boundingSphere.write(io); + io.writeByte(this.hasAlarmState); + io.writeInt32(this.numLightStateEntries); + WriterExtensions.writeArray(io,this.normals,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.planes,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.points,function(io,p) { + p.write(io); + }); + if(version.interiorVersion != 4) { + WriterExtensions.writeArray(io,this.pointVisibilities,function(io,p) { + io.writeByte(p); + }); + } + WriterExtensions.writeArray(io,this.texGenEQs,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.bspNodes,function(io,p) { + p.write(io,version); + }); + WriterExtensions.writeArray(io,this.bspSolidLeaves,function(io,p) { + p.write(io); + }); + io.writeByte(this.materialListVersion); + WriterExtensions.writeArray(io,this.materialList,function(io,p) { + io.writeStr(p); + }); + WriterExtensions.writeArray(io,this.windings,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.windingIndices,function(io,p) { + p.write(io); + }); + if(version.interiorVersion >= 12) { + WriterExtensions.writeArray(io,this.edges,function(io,p) { + p.write(io,version); + }); + } + WriterExtensions.writeArray(io,this.zones,function(io,p) { + p.write(io,version); + }); + WriterExtensions.writeArray(io,this.zoneSurfaces,function(io,p) { + io.writeUInt16(p); + }); + if(version.interiorVersion >= 12) { + WriterExtensions.writeArray(io,this.zoneStaticMeshes,function(io,p) { + io.writeInt32(p); + }); + } + WriterExtensions.writeArray(io,this.zonePortalList,function(io,p) { + io.writeUInt16(p); + }); + WriterExtensions.writeArray(io,this.portals,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.surfaces,function(io,p) { + p.write(io,version); + }); + if(version.interiorVersion >= 2 && version.interiorVersion <= 5) { + WriterExtensions.writeArray(io,this.edges2,function(io,p) { + p.write(io,version); + }); + if(version.interiorVersion >= 4 && version.interiorVersion <= 5) { + WriterExtensions.writeArray(io,this.normals2,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.normalIndices,function(io,p) { + io.writeUInt16(p); + }); + } + } + if(version.interiorVersion == 4) { + WriterExtensions.writeArray(io,this.normalLMapIndices,function(io,p) { + io.writeByte(p); + }); + } else if(version.interiorVersion >= 13) { + WriterExtensions.writeArray(io,this.normalLMapIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.alarmLMapIndices,function(io,p) { + io.writeInt32(p); + }); + } else { + WriterExtensions.writeArray(io,this.normalLMapIndices,function(io,p) { + io.writeByte(p & 255); + }); + WriterExtensions.writeArray(io,this.alarmLMapIndices,function(io,p) { + io.writeByte(p & 255); + }); + } + WriterExtensions.writeArray(io,this.nullSurfaces,function(io,p) { + p.write(io,version); + }); + if(version.interiorVersion != 4) { + WriterExtensions.writeArray(io,this.lightMaps,function(io,p) { + p.writeLightMap(io,version); + }); + } + WriterExtensions.writeArray(io,this.solidLeafSurfaces,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.animatedLights,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.lightStates,function(io,p) { + p.write(io); + }); + if(version.interiorVersion != 4) { + WriterExtensions.writeArray(io,this.stateDatas,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArrayFlags(io,this.stateDataBuffers,this.stateDataFlags,function(io,p) { + io.writeByte(p); + }); + WriterExtensions.writeArray(io,this.nameBuffer,function(io,p) { + io.writeByte(p); + }); + io.writeInt32(this.subObjects.length); + let _g = 0; + let _g1 = this.subObjects.length; + while(_g < _g1) { + let i = _g++; + io.writeInt32(1); + this.subObjects[i].write(io,version); + } + } + WriterExtensions.writeArray(io,this.convexHulls,function(io,p) { + p.write(io,version); + }); + WriterExtensions.writeArray(io,this.convexHullEmitStrings,function(io,p) { + io.writeByte(p); + }); + WriterExtensions.writeArray(io,this.hullIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.hullPlaneIndices,function(io,p) { + io.writeInt16(p); + }); + WriterExtensions.writeArray(io,this.hullEmitStringIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.hullSurfaceIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.polyListPlanes,function(io,p) { + io.writeInt16(p); + }); + WriterExtensions.writeArray(io,this.polyListPoints,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.polyListStrings,function(io,p) { + io.writeByte(p); + }); + let _g = 0; + while(_g < 256) { + let i = _g++; + this.coordBins[i].write(io); + } + WriterExtensions.writeArray(io,this.coordBinIndices,function(io,p) { + io.writeInt16(p); + }); + io.writeInt32(this.coordBinMode); + if(version.interiorVersion != 4) { + WriterExtensions.writeColorF(io,this.baseAmbientColor); + WriterExtensions.writeColorF(io,this.alarmAmbientColor); + if(version.interiorVersion >= 10) { + io.writeInt32(this.numStaticMeshes); + } + if(version.interiorVersion >= 11) { + WriterExtensions.writeArray(io,this.texNormals,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.texNormals,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.texMatIndices,function(io,p) { + io.writeInt32(p); + }); + } else { + io.writeInt32(0); + io.writeInt32(0); + io.writeInt32(0); + } + io.writeInt32(this.extendedLightMapData); + if(this.extendedLightMapData > 0) { + io.writeInt32(this.lightMapBorderSize); + io.writeInt32(0); + } + } + } + static read(io,version) { + if(version.interiorType == "?") { + version.interiorType = "tgea"; + } + version.interiorVersion = io.readInt32(); + let it = new Interior(); + it.detailLevel = io.readInt32(); + it.minPixels = io.readInt32(); + it.boundingBox = math_Box3F.read(io); + it.boundingSphere = math_Spheref.read(io); + it.hasAlarmState = io.readByte(); + it.numLightStateEntries = io.readInt32(); + it.normals = ReaderExtensions.readArray(io,math_Point3F.read); + it.planes = ReaderExtensions.readArray(io,Plane.read); + it.points = ReaderExtensions.readArray(io,math_Point3F.read); + if(version.interiorVersion == 4) { + it.pointVisibilities = []; + } else { + it.pointVisibilities = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + } + it.texGenEQs = ReaderExtensions.readArray(io,TexGenEQ.read); + it.bspNodes = ReaderExtensions.readArray(io,function(io) { + return BSPNode.read(io,version); + }); + it.bspSolidLeaves = ReaderExtensions.readArray(io,BSPSolidLeaf.read); + it.materialListVersion = io.readByte(); + it.materialList = ReaderExtensions.readArray(io,function(io) { + return io.readStr(); + }); + it.windings = ReaderExtensions.readArrayAs(io,function(signed,param) { + return param > 0; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readInt16(); + }); + it.windingIndices = ReaderExtensions.readArray(io,WindingIndex.read); + if(version.interiorVersion >= 12) { + it.edges = ReaderExtensions.readArray(io,function(io) { + return Edge.read(io,version); + }); + } + it.zones = ReaderExtensions.readArray(io,function(io) { + return Zone.read(io,version); + }); + it.zoneSurfaces = ReaderExtensions.readArrayAs(io,function(signed,param) { + return false; + },function(io) { + return io.readInt16(); + },function(io) { + return io.readInt16(); + }); + if(version.interiorVersion >= 12) { + it.zoneStaticMeshes = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } + it.zonePortalList = ReaderExtensions.readArrayAs(io,function(signed,param) { + return false; + },function(io) { + return io.readInt16(); + },function(io) { + return io.readInt16(); + }); + it.portals = ReaderExtensions.readArray(io,Portal.read); + let pos = io.tell(); + try { + it.surfaces = ReaderExtensions.readArray(io,function(io) { + return Surface.read(io,version,it); + }); + if(version.interiorType == "?") { + version.interiorType = "tge"; + } + } catch( _g ) { + if(version.interiorType == "tgea") { + version.interiorType = "tge"; + } + io.seek(pos); + try { + it.surfaces = ReaderExtensions.readArray(io,function(io) { + return Surface.read(io,version,it); + }); + } catch( _g ) { + version.useLargeLightmaps = true; + io.seek(pos); + try { + it.surfaces = ReaderExtensions.readArray(io,function(io) { + return Surface.read(io,version,it); + }); + } catch( _g ) { + let e = haxe_Exception.caught(_g); + throw haxe_Exception.thrown(e); + } + } + } + if(version.interiorVersion >= 2 && version.interiorVersion <= 5) { + it.edges2 = ReaderExtensions.readArray(io,function(io) { + return Edge2.read(io,version); + }); + if(version.interiorVersion >= 4 && version.interiorVersion <= 5) { + it.normals2 = ReaderExtensions.readArray(io,math_Point3F.read); + it.normalIndices = ReaderExtensions.readArrayAs(io,function(alt,param) { + if(alt) { + return param == 0; + } else { + return false; + } + },function(io) { + return io.readUInt16(); + },function(io) { + return io.readByte(); + }); + } + } + if(version.interiorVersion == 4) { + it.normalLMapIndices = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + it.alarmLMapIndices = []; + } else if(version.interiorVersion >= 13) { + it.normalLMapIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + it.alarmLMapIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } else { + it.normalLMapIndices = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + it.alarmLMapIndices = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + } + it.nullSurfaces = ReaderExtensions.readArray(io,function(io) { + return NullSurface.read(io,version); + }); + if(version.interiorVersion != 4) { + it.lightMaps = ReaderExtensions.readArray(io,function(io) { + return LightMap.read(io,version); + }); + if(it.lightMaps.length > 0 && version.interiorType == "mbg") { + version.interiorType = "tge"; + } + } else { + it.lightMaps = []; + } + it.solidLeafSurfaces = ReaderExtensions.readArrayAs(io,function(alt,$void) { + return alt; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + it.animatedLights = ReaderExtensions.readArray(io,AnimatedLight.read); + it.lightStates = ReaderExtensions.readArray(io,LightState.read); + if(version.interiorVersion == 4) { + it.stateDatas = []; + it.stateDataFlags = 0; + it.stateDataBuffers = []; + it.subObjects = []; + } else { + it.stateDatas = ReaderExtensions.readArray(io,StateData.read); + it.stateDataBuffers = ReaderExtensions.readArrayFlags(io,function(io) { + return io.readByte(); + }); + it.nameBuffer = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + it.stateDataFlags = 0; + it.subObjects = ReaderExtensions.readArray(io,function(io) { + let soKey = io.readInt32(); + if(soKey == 1) { + return MirrorSubObject.read(io,version); + } else { + throw new haxe_Exception("Unknown SubObject key: "); + } + }); + } + it.convexHulls = ReaderExtensions.readArray(io,function(io) { + return ConvexHull.read(io,version); + }); + it.convexHullEmitStrings = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + if(version.interiorVersion == 0) { + it.hullIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } else { + it.hullIndices = ReaderExtensions.readArrayAs(io,function(alt,that) { + return alt; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + } + if(version.interiorVersion == 0) { + it.hullPlaneIndices = ReaderExtensions.readArray(io,function(io) { + return io.readUInt16(); + }); + } else { + it.hullPlaneIndices = ReaderExtensions.readArrayAs(io,function(alt,that) { + return true; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + } + if(version.interiorVersion == 0) { + it.hullEmitStringIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } else { + it.hullEmitStringIndices = ReaderExtensions.readArrayAs(io,function(alt,that) { + return alt; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + } + if(version.interiorVersion == 0) { + it.hullSurfaceIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } else { + it.hullSurfaceIndices = ReaderExtensions.readArrayAs(io,function(alt,that) { + return alt; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + } + if(version.interiorVersion == 0) { + it.polyListPlanes = ReaderExtensions.readArray(io,function(io) { + return io.readUInt16(); + }); + } else { + it.polyListPlanes = ReaderExtensions.readArrayAs(io,function(alt,that) { + return true; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + } + if(version.interiorVersion == 0) { + it.polyListPoints = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } else { + it.polyListPoints = ReaderExtensions.readArrayAs(io,function(alt,that) { + return alt; + },function(io) { + return io.readInt32(); + },function(io) { + return io.readUInt16(); + }); + } + it.polyListStrings = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + it.coordBins = []; + let _g = 0; + while(_g < 256) { + let i = _g++; + it.coordBins.push(CoordBin.read(io)); + } + it.coordBinIndices = ReaderExtensions.readArrayAs(io,function(a,b) { + return true; + },function(io) { + return io.readUInt16(); + },function(io) { + return io.readUInt16(); + }); + it.coordBinMode = io.readInt32(); + if(version.interiorVersion == 4) { + it.baseAmbientColor = [0,0,0,255]; + it.alarmAmbientColor = [0,0,0,255]; + it.extendedLightMapData = 0; + it.lightMapBorderSize = 0; + } else { + it.baseAmbientColor = ReaderExtensions.readColorF(io); + it.alarmAmbientColor = ReaderExtensions.readColorF(io); + if(version.interiorVersion >= 10) { + it.numStaticMeshes = io.readInt32(); + } + if(version.interiorVersion >= 11) { + it.texNormals = ReaderExtensions.readArray(io,math_Point3F.read); + it.texMatrices = ReaderExtensions.readArray(io,TexMatrix.read); + it.texMatIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + } else { + io.readInt32(); + io.readInt32(); + io.readInt32(); + } + it.extendedLightMapData = io.readInt32(); + if(it.extendedLightMapData > 0) { + it.lightMapBorderSize = io.readInt32(); + io.readInt32(); + } + } + return it; + } +} +$hx_exports["Interior"] = Interior; +Interior.__name__ = true; +class InteriorPathFollower { + constructor() { + this.name = ""; + this.datablock = ""; + this.interiorResIndex = 0; + this.offset = new math_Point3F(); + this.properties = new haxe_ds_StringMap(); + this.triggerId = []; + this.wayPoint = []; + this.totalMS = 0; + } + write(io) { + io.writeStr(this.name); + io.writeStr(this.datablock); + io.writeInt32(this.interiorResIndex); + this.offset.write(io); + WriterExtensions.writeDictionary(io,this.properties); + WriterExtensions.writeArray(io,this.triggerId,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.wayPoint,function(io,p) { + p.write(io); + }); + io.writeInt32(this.totalMS); + } + static read(io) { + let ret = new InteriorPathFollower(); + ret.name = io.readStr(); + ret.datablock = io.readStr(); + ret.interiorResIndex = io.readInt32(); + ret.offset = math_Point3F.read(io); + ret.properties = ReaderExtensions.readDictionary(io); + ret.triggerId = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.wayPoint = ReaderExtensions.readArray(io,WayPoint.read); + ret.totalMS = io.readInt32(); + return ret; + } +} +$hx_exports["InteriorPathFollower"] = InteriorPathFollower; +InteriorPathFollower.__name__ = true; +class LightMap { + constructor() { + this.lightmap = []; + this.lightdirmap = []; + this.keepLightMap = 0; + } + writeLightMap(io,version) { + WriterExtensions.writePNG(io,this.lightmap); + if(version.interiorType != "mbg" && version.interiorType != "tge") { + WriterExtensions.writePNG(io,this.lightdirmap); + } + io.writeByte(this.keepLightMap); + } + static read(io,version) { + let ret = new LightMap(); + ret.lightmap = ReaderExtensions.readPNG(io); + if(version.interiorType != "mbg" && version.interiorType != "tge") { + ret.lightdirmap = ReaderExtensions.readPNG(io); + } + ret.keepLightMap = io.readByte(); + return ret; + } +} +$hx_exports["LightMap"] = LightMap; +LightMap.__name__ = true; +class LightState { + constructor(red,green,blue,activeTime,dataIndex,dataCount) { + this.red = red; + this.green = green; + this.blue = blue; + this.activeTime = activeTime; + this.dataIndex = dataIndex; + this.dataCount = dataCount; + } + write(io) { + io.writeByte(this.red); + io.writeByte(this.green); + io.writeByte(this.blue); + io.writeInt32(this.activeTime); + io.writeInt32(this.dataIndex); + io.writeInt16(this.dataCount); + } + static read(io) { + return new LightState(io.readByte(),io.readByte(),io.readByte(),io.readInt32(),io.readInt32(),io.readInt16()); + } +} +$hx_exports["LightState"] = LightState; +LightState.__name__ = true; +Math.__name__ = true; +class MirrorSubObject { + constructor() { + this.detailLevel = 0; + this.zone = 0; + this.alphaLevel = 0; + this.surfaceCount = 0; + this.surfaceStart = 0; + this.centroid = new math_Point3F(); + } + write(io,version) { + io.writeInt32(this.detailLevel); + io.writeInt32(this.zone); + io.writeFloat(this.alphaLevel); + io.writeInt32(this.surfaceCount); + io.writeInt32(this.surfaceStart); + this.centroid.write(io); + } + static read(io,version) { + let ret = new MirrorSubObject(); + ret.detailLevel = io.readInt32(); + ret.zone = io.readInt32(); + ret.alphaLevel = io.readFloat(); + ret.surfaceCount = io.readInt32(); + ret.surfaceStart = io.readInt32(); + ret.centroid = math_Point3F.read(io); + return ret; + } +} +$hx_exports["MirrorSubObject"] = MirrorSubObject; +MirrorSubObject.__name__ = true; +class NullSurface { + constructor() { + this.windingStart = 0; + this.planeIndex = 0; + this.surfaceFlags = 0; + this.windingCount = 0; + } + write(io,version) { + io.writeInt32(this.windingStart); + io.writeUInt16(this.planeIndex); + io.writeByte(this.surfaceFlags); + if(version.interiorVersion >= 13) { + io.writeInt32(this.windingCount); + } else { + io.writeByte(this.windingCount); + } + } + static read(io,version) { + let ret = new NullSurface(); + ret.windingStart = io.readInt32(); + ret.planeIndex = io.readUInt16(); + ret.surfaceFlags = io.readByte(); + if(version.interiorVersion >= 13) { + ret.windingCount = io.readInt32(); + } else { + ret.windingCount = io.readByte(); + } + return ret; + } +} +$hx_exports["NullSurface"] = NullSurface; +NullSurface.__name__ = true; +class Plane { + constructor(normalIndex,planeDistance) { + this.normalIndex = normalIndex; + this.planeDistance = planeDistance; + } + write(io) { + io.writeInt16(this.normalIndex); + io.writeFloat(this.planeDistance); + } + static read(io) { + return new Plane(io.readInt16(),io.readFloat()); + } +} +$hx_exports["Plane"] = Plane; +Plane.__name__ = true; +class Polyhedron { + constructor() { + this.pointList = []; + this.planeList = []; + this.edgeList = []; + } + write(io) { + WriterExtensions.writeArray(io,this.pointList,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.planeList,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.edgeList,function(io,p) { + p.write(io); + }); + } + static read(io) { + let ret = new Polyhedron(); + ret.pointList = ReaderExtensions.readArray(io,math_Point3F.read); + ret.planeList = ReaderExtensions.readArray(io,math_PlaneF.read); + ret.edgeList = ReaderExtensions.readArray(io,PolyhedronEdge.read); + return ret; + } +} +$hx_exports["Polyhedron"] = Polyhedron; +Polyhedron.__name__ = true; +class PolyhedronEdge { + constructor(faceIndex0,faceIndex1,pointIndex0,pointIndex1) { + this.pointIndex0 = pointIndex0; + this.pointIndex1 = pointIndex1; + this.faceIndex0 = faceIndex0; + this.faceIndex1 = faceIndex1; + } + write(io) { + io.writeInt32(this.faceIndex0); + io.writeInt32(this.faceIndex1); + io.writeInt32(this.pointIndex0); + io.writeInt32(this.pointIndex1); + } + static read(io) { + return new PolyhedronEdge(io.readInt32(),io.readInt32(),io.readInt32(),io.readInt32()); + } +} +$hx_exports["PolyhedronEdge"] = PolyhedronEdge; +PolyhedronEdge.__name__ = true; +class Portal { + constructor(planeIndex,triFanCount,triFanStart,zoneFront,zoneBack) { + this.planeIndex = planeIndex; + this.triFanCount = triFanCount; + this.triFanStart = triFanStart; + this.zoneFront = zoneFront; + this.zoneBack = zoneBack; + } + write(io) { + io.writeUInt16(this.planeIndex); + io.writeUInt16(this.triFanCount); + io.writeInt32(this.triFanStart); + io.writeUInt16(this.zoneFront); + io.writeUInt16(this.zoneBack); + } + static read(io) { + return new Portal(io.readUInt16(),io.readUInt16(),io.readInt32(),io.readUInt16(),io.readUInt16()); + } +} +$hx_exports["Portal"] = Portal; +Portal.__name__ = true; +class ReaderExtensions { + static readDictionary(io) { + let len = io.readInt32(); + let dict = new haxe_ds_StringMap(); + let _g = 0; + let _g1 = len; + while(_g < _g1) { + let i = _g++; + let name = io.readStr(); + let value = io.readStr(); + dict.h[name] = value; + } + return dict; + } + static readArray(io,readMethod) { + let len = io.readInt32(); + let arr = []; + let _g = 0; + let _g1 = len; + while(_g < _g1) { + let i = _g++; + arr.push(readMethod(io)); + } + return arr; + } + static readArrayAs(io,test,failMethod,passMethod) { + let length = io.readInt32(); + let signed = false; + let param = 0; + if((length & -2147483648) == -2147483648) { + length ^= -2147483648; + signed = true; + param = io.readByte(); + } + let array = []; + let _g = 0; + let _g1 = length; + while(_g < _g1) { + let i = _g++; + if(test(signed,param)) { + array.push(passMethod(io)); + } else { + array.push(failMethod(io)); + } + } + return array; + } + static readArrayFlags(io,readMethod) { + let length = io.readInt32(); + let flags = io.readInt32(); + let array = []; + let _g = 0; + let _g1 = length; + while(_g < _g1) { + let i = _g++; + array.push(readMethod(io)); + } + return array; + } + static readPNG(io) { + let footer = [73,69,78,68,174,66,96,130]; + let data = []; + while(true) { + data.push(io.readByte()); + if(data.length >= 8) { + let match = true; + let _g = 0; + while(_g < 8) { + let i = _g++; + if(data[i + (data.length - 8)] != footer[i]) { + match = false; + break; + } + } + if(match) { + break; + } + } + } + return data; + } + static readColorF(io) { + return [io.readByte(),io.readByte(),io.readByte(),io.readByte()]; + } +} +ReaderExtensions.__name__ = true; +class StateData { + constructor(surfaceIndex,mapIndex,lightStateIndex) { + this.surfaceIndex = surfaceIndex; + this.mapIndex = mapIndex; + this.lightStateIndex = lightStateIndex; + } + write(io) { + io.writeInt32(this.surfaceIndex); + io.writeInt32(this.mapIndex); + io.writeInt16(this.lightStateIndex); + } + static read(io) { + return new StateData(io.readInt32(),io.readInt32(),io.readInt16()); + } +} +$hx_exports["StateData"] = StateData; +StateData.__name__ = true; +class Surface { + constructor() { + this.windingStart = 0; + this.windingCount = 0; + this.planeIndex = 0; + this.textureIndex = 0; + this.texGenIndex = 0; + this.surfaceFlags = 0; + this.fanMask = 0; + this.lightMapFinalWord = 0; + this.lightMapTexGenXD = 0; + this.lightMapTexGenYD = 0; + this.lightCount = 0; + this.lightStateInfoStart = 0; + this.mapOffsetX = 0; + this.mapOffsetY = 0; + this.mapSizeX = 0; + this.mapSizeY = 0; + this.brushId = 0; + } + write(io,version) { + io.writeInt32(this.windingStart); + if(version.interiorVersion >= 13) { + io.writeInt32(this.windingCount); + } else { + io.writeByte(this.windingCount & 255); + } + let pindex = this.planeIndex | (this.planeFlipped ? 32768 : 0); + io.writeInt16(pindex); + io.writeInt16(this.textureIndex); + io.writeInt32(this.texGenIndex); + io.writeByte(this.surfaceFlags); + io.writeInt32(this.fanMask); + io.writeInt16(this.lightMapFinalWord); + io.writeFloat(this.lightMapTexGenXD); + io.writeFloat(this.lightMapTexGenYD); + io.writeInt16(this.lightCount); + io.writeInt32(this.lightStateInfoStart); + if(version.interiorVersion >= 13) { + io.writeInt32(this.mapOffsetX); + io.writeInt32(this.mapOffsetY); + io.writeInt32(this.mapSizeX); + io.writeInt32(this.mapSizeY); + } else if(version.interiorVersion == 0 && version.interiorType == "tge" && version.useLargeLightmaps) { + io.writeUInt16(this.mapOffsetX); + io.writeUInt16(this.mapOffsetY); + io.writeUInt16(this.mapSizeX); + io.writeUInt16(this.mapSizeY); + } else { + io.writeByte(this.mapOffsetX); + io.writeByte(this.mapOffsetY); + io.writeByte(this.mapSizeX); + io.writeByte(this.mapSizeY); + } + if(version.interiorType != "tge" && version.interiorType != "mbg") { + io.writeByte(0); + if(version.interiorVersion >= 2 && version.interiorVersion <= 5) { + io.writeInt32(this.brushId); + } + } + } + static read(io,version,interior) { + let ret = new Surface(); + ret.windingStart = io.readInt32(); + if(interior.windings.length <= ret.windingStart) { + throw new haxe_Exception("DIF Type Error interior.windings.length <= ret.windingStart"); + } + if(version.interiorVersion >= 13) { + ret.windingCount = io.readInt32(); + } else { + ret.windingCount = io.readByte(); + } + if(ret.windingStart + ret.windingCount > interior.windings.length) { + throw new haxe_Exception("DIF Type Error ret.windingStart + ret.windingCount > interior.windings.length"); + } + let planeIndex = io.readInt16(); + ret.planeFlipped = planeIndex >> 15 != 0; + let planeIndexTemp = planeIndex & -32769; + if((planeIndexTemp & -32769) >= interior.planes.length) { + throw new haxe_Exception("DIF Type Error (planeIndexTemp & ~0x8000) >= interior.planes.length"); + } + ret.planeIndex = planeIndexTemp; + ret.textureIndex = io.readInt16(); + if(ret.textureIndex >= interior.materialList.length) { + throw new haxe_Exception("DIF Type Error ret.textureIndex >= interior.materialList.length"); + } + ret.texGenIndex = io.readInt32(); + if(ret.texGenIndex >= interior.texGenEQs.length) { + throw new haxe_Exception("DIF Type Error ret.texGenIndex >= interior.texGenEQs.length"); + } + ret.surfaceFlags = io.readByte(); + ret.fanMask = io.readInt32(); + ret.lightMapFinalWord = io.readInt16(); + ret.lightMapTexGenXD = io.readFloat(); + ret.lightMapTexGenYD = io.readFloat(); + ret.lightCount = io.readInt16(); + ret.lightStateInfoStart = io.readInt32(); + if(version.interiorVersion >= 13) { + ret.mapOffsetX = io.readInt32(); + ret.mapOffsetY = io.readInt32(); + ret.mapSizeX = io.readInt32(); + ret.mapSizeY = io.readInt32(); + } else if(version.interiorVersion == 0 && version.interiorType == "tge" && version.useLargeLightmaps) { + ret.mapOffsetX = io.readUInt16(); + ret.mapOffsetY = io.readUInt16(); + ret.mapSizeX = io.readUInt16(); + ret.mapSizeY = io.readUInt16(); + } else { + ret.mapOffsetX = io.readByte(); + ret.mapOffsetY = io.readByte(); + ret.mapSizeX = io.readByte(); + ret.mapSizeY = io.readByte(); + } + if(version.interiorType != "tge" && version.interiorType != "mbg") { + io.readByte(); + if(version.interiorVersion >= 2 && version.interiorVersion <= 5) { + ret.brushId = io.readInt32(); + } + } + return ret; + } +} +$hx_exports["Surface"] = Surface; +Surface.__name__ = true; +class TexGenEQ { + constructor() { + this.planeX = new math_PlaneF(); + this.planeY = new math_PlaneF(); + } + write(io) { + this.planeX.write(io); + this.planeY.write(io); + } + static read(io) { + let ret = new TexGenEQ(); + ret.planeX = math_PlaneF.read(io); + ret.planeY = math_PlaneF.read(io); + return ret; + } +} +$hx_exports["TexGenEQ"] = TexGenEQ; +TexGenEQ.__name__ = true; +class TexMatrix { + constructor() { + this.t = 0; + this.n = 0; + this.b = 0; + } + write(io) { + io.writeInt32(this.t); + io.writeInt32(this.n); + io.writeInt32(this.b); + } + static read(io) { + let ret = new TexMatrix(); + ret.t = io.readInt32(); + ret.n = io.readInt32(); + ret.b = io.readInt32(); + return ret; + } +} +$hx_exports["TexMatrix"] = TexMatrix; +TexMatrix.__name__ = true; +class Trigger { + constructor() { + this.name = ""; + this.datablock = ""; + this.offset = new math_Point3F(); + this.properties = new haxe_ds_StringMap(); + this.polyhedron = new Polyhedron(); + } + write(io) { + io.writeStr(this.name); + io.writeStr(this.datablock); + WriterExtensions.writeDictionary(io,this.properties); + this.polyhedron.write(io); + this.offset.write(io); + } + static read(io) { + let ret = new Trigger(); + ret.name = io.readStr(); + ret.datablock = io.readStr(); + ret.properties = ReaderExtensions.readDictionary(io); + ret.polyhedron = Polyhedron.read(io); + ret.offset = math_Point3F.read(io); + return ret; + } +} +$hx_exports["Trigger"] = Trigger; +Trigger.__name__ = true; +class VehicleCollision { + constructor() { + } + write(io,version) { + io.writeInt32(this.vehicleCollisionFileVersion); + WriterExtensions.writeArray(io,this.convexHulls,function(io,p) { + p.write(io,version); + }); + WriterExtensions.writeArray(io,this.convexHullEmitStrings,function(io,p) { + io.writeByte(p); + }); + WriterExtensions.writeArray(io,this.hullIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.hullPlaneIndices,function(io,p) { + io.writeInt16(p); + }); + WriterExtensions.writeArray(io,this.hullEmitStringIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.hullSurfaceIndices,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.polyListPlanes,function(io,p) { + io.writeInt16(p); + }); + WriterExtensions.writeArray(io,this.polyListPoints,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.polyListStrings,function(io,p) { + io.writeByte(p); + }); + WriterExtensions.writeArray(io,this.nullSurfaces,function(io,p) { + p.write(io,new Version()); + }); + WriterExtensions.writeArray(io,this.points,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.planes,function(io,p) { + p.write(io); + }); + WriterExtensions.writeArray(io,this.windings,function(io,p) { + io.writeInt32(p); + }); + WriterExtensions.writeArray(io,this.windingIndices,function(io,p) { + p.write(io); + }); + } + static read(io,version) { + let ret = new VehicleCollision(); + ret.vehicleCollisionFileVersion = io.readInt32(); + ret.convexHulls = ReaderExtensions.readArray(io,function(io) { + return ConvexHull.read(io,version); + }); + ret.convexHullEmitStrings = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + ret.hullIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.hullPlaneIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt16(); + }); + ret.hullEmitStringIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.hullSurfaceIndices = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.polyListPlanes = ReaderExtensions.readArray(io,function(io) { + return io.readInt16(); + }); + ret.polyListPoints = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.polyListStrings = ReaderExtensions.readArray(io,function(io) { + return io.readByte(); + }); + ret.nullSurfaces = ReaderExtensions.readArray(io,function(io) { + return NullSurface.read(io,new Version()); + }); + ret.points = ReaderExtensions.readArray(io,math_Point3F.read); + ret.planes = ReaderExtensions.readArray(io,Plane.read); + ret.windings = ReaderExtensions.readArray(io,function(io) { + return io.readInt32(); + }); + ret.windingIndices = ReaderExtensions.readArray(io,WindingIndex.read); + return ret; + } +} +$hx_exports["VehicleCollision"] = VehicleCollision; +VehicleCollision.__name__ = true; +class Version { + constructor() { + this.difVersion = 44; + this.interiorVersion = 0; + this.interiorType = "?"; + this.useLargeLightmaps = false; + } +} +$hx_exports["Version"] = Version; +Version.__name__ = true; +class WayPoint { + constructor(position,rotation,msToNext,smoothingType) { + this.position = position; + this.rotation = rotation; + this.msToNext = msToNext; + this.smoothingType = smoothingType; + } + write(io) { + this.position.write(io); + this.rotation.write(io); + io.writeInt32(this.msToNext); + io.writeInt32(this.smoothingType); + } + static read(io) { + return new WayPoint(math_Point3F.read(io),math_QuatF.read(io),io.readInt32(),io.readInt32()); + } +} +$hx_exports["WayPoint"] = WayPoint; +WayPoint.__name__ = true; +class WindingIndex { + constructor(windingStart,windingCount) { + this.windingStart = windingStart; + this.windingCount = windingCount; + } + write(io) { + io.writeInt32(this.windingStart); + io.writeInt32(this.windingCount); + } + static read(io) { + return new WindingIndex(io.readInt32(),io.readInt32()); + } +} +$hx_exports["WindingIndex"] = WindingIndex; +WindingIndex.__name__ = true; +class WriterExtensions { + static writeDictionary(io,dict) { + let len = 0; + let h = dict.h; + let _g_h = h; + let _g_keys = Object.keys(h); + let _g_length = _g_keys.length; + let _g_current = 0; + while(_g_current < _g_length) { + let key = _g_keys[_g_current++]; + ++len; + } + let h1 = dict.h; + let _g_h1 = h1; + let _g_keys1 = Object.keys(h1); + let _g_length1 = _g_keys1.length; + let _g_current1 = 0; + while(_g_current1 < _g_length1) { + let key = _g_keys1[_g_current1++]; + let kvp_key = key; + let kvp_value = _g_h1[key]; + io.writeStr(kvp_key); + io.writeStr(kvp_value); + } + } + static writeArray(io,arr,writeMethod) { + io.writeInt32(arr.length); + let _g = 0; + let _g1 = arr.length; + while(_g < _g1) { + let i = _g++; + writeMethod(io,arr[i]); + } + return arr; + } + static writeArrayFlags(io,arr,flags,writeMethod) { + io.writeInt32(arr.length); + io.writeInt32(flags); + let _g = 0; + let _g1 = arr.length; + while(_g < _g1) { + let i = _g++; + writeMethod(io,arr[i]); + } + } + static writePNG(io,arr) { + let _g = 0; + let _g1 = arr.length; + while(_g < _g1) { + let i = _g++; + io.writeByte(arr[i]); + } + } + static writeColorF(io,color) { + io.writeByte(color[0]); + io.writeByte(color[1]); + io.writeByte(color[2]); + io.writeByte(color[3]); + } +} +WriterExtensions.__name__ = true; +class Zone { + constructor() { + this.portalStart = 0; + this.portalCount = 0; + this.surfaceStart = 0; + this.surfaceCount = 0; + this.staticMeshStart = 0; + this.staticMeshCount = 0; + this.flags = 0; + } + write(io,version) { + io.writeInt16(this.portalStart); + io.writeInt16(this.portalCount); + io.writeInt32(this.surfaceStart); + if(version.interiorType == "tgea" || version.interiorType == "tge") { + if(version.interiorVersion >= 14 || version.interiorVersion == 0) { + io.writeUInt16(this.surfaceCount); + } else { + io.writeInt32(this.surfaceCount); + } + } else { + io.writeInt32(this.surfaceCount); + } + if(version.interiorVersion >= 12) { + io.writeInt32(this.staticMeshStart); + io.writeInt32(this.staticMeshCount); + } + if(version.interiorType == "tgea" || version.interiorType == "tge") { + if(version.interiorVersion >= 14 || version.interiorVersion == 0) { + io.writeUInt16(this.flags); + } + } + } + static read(io,version) { + let ret = new Zone(); + ret.portalStart = io.readUInt16(); + ret.portalCount = io.readUInt16(); + ret.surfaceStart = io.readInt32(); + if(version.interiorType == "tgea" || version.interiorType == "tge") { + if(version.interiorVersion >= 14 || version.interiorVersion == 0) { + ret.surfaceCount = io.readUInt16(); + } else { + ret.surfaceCount = io.readInt32(); + } + } else { + ret.surfaceCount = io.readInt32(); + } + if(version.interiorVersion >= 12) { + ret.staticMeshStart = io.readInt32(); + ret.staticMeshCount = io.readInt32(); + } + if(version.interiorType == "tgea" || version.interiorType == "tge") { + if(version.interiorVersion >= 14 || version.interiorVersion == 0) { + ret.flags = io.readUInt16(); + } + } + return ret; + } +} +$hx_exports["Zone"] = Zone; +Zone.__name__ = true; +class haxe_Exception extends Error { + constructor(message,previous,native) { + super(message); + this.message = message; + this.__previousException = previous; + this.__nativeException = native != null ? native : this; + } + toString() { + return this.get_message(); + } + get_message() { + return this.message; + } + get_native() { + return this.__nativeException; + } + static caught(value) { + if(((value) instanceof haxe_Exception)) { + return value; + } else if(((value) instanceof Error)) { + return new haxe_Exception(value.message,null,value); + } else { + return new haxe_ValueException(value,null,value); + } + } + static thrown(value) { + if(((value) instanceof haxe_Exception)) { + return value.get_native(); + } else if(((value) instanceof Error)) { + return value; + } else { + let e = new haxe_ValueException(value); + return e; + } + } +} +haxe_Exception.__name__ = true; +class haxe__$Int64__$_$_$Int64 { + constructor(high,low) { + this.high = high; + this.low = low; + } +} +haxe__$Int64__$_$_$Int64.__name__ = true; +class haxe_ValueException extends haxe_Exception { + constructor(value,previous,native) { + super(String(value),previous,native); + this.value = value; + } +} +haxe_ValueException.__name__ = true; +class haxe_ds_StringMap { + constructor() { + this.h = Object.create(null); + } +} +haxe_ds_StringMap.__name__ = true; +class haxe_io_Bytes { + constructor(data) { + this.length = data.byteLength; + this.b = new Uint8Array(data); + this.b.bufferValue = data; + data.hxBytes = this; + data.bytes = this.b; + } + get(pos) { + return this.b[pos]; + } + set(pos,v) { + this.b[pos] = v; + } + blit(pos,src,srcpos,len) { + if(pos < 0 || srcpos < 0 || len < 0 || pos + len > this.length || srcpos + len > src.length) { + throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds); + } + if(srcpos == 0 && len == src.b.byteLength) { + this.b.set(src.b,pos); + } else { + this.b.set(src.b.subarray(srcpos,srcpos + len),pos); + } + } + fill(pos,len,value) { + let _g = 0; + let _g1 = len; + while(_g < _g1) { + let i = _g++; + this.b[pos++] = value; + } + } + sub(pos,len) { + if(pos < 0 || len < 0 || pos + len > this.length) { + throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds); + } + return new haxe_io_Bytes(this.b.buffer.slice(pos + this.b.byteOffset,pos + this.b.byteOffset + len)); + } + compare(other) { + let b1 = this.b; + let b2 = other.b; + let len = this.length < other.length ? this.length : other.length; + let _g = 0; + let _g1 = len; + while(_g < _g1) { + let i = _g++; + if(b1[i] != b2[i]) { + return b1[i] - b2[i]; + } + } + return this.length - other.length; + } + initData() { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + } + getDouble(pos) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + return this.data.getFloat64(pos,true); + } + getFloat(pos) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + return this.data.getFloat32(pos,true); + } + setDouble(pos,v) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + this.data.setFloat64(pos,v,true); + } + setFloat(pos,v) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + this.data.setFloat32(pos,v,true); + } + getUInt16(pos) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + return this.data.getUint16(pos,true); + } + setUInt16(pos,v) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + this.data.setUint16(pos,v,true); + } + getInt32(pos) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + return this.data.getInt32(pos,true); + } + setInt32(pos,v) { + if(this.data == null) { + this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); + } + this.data.setInt32(pos,v,true); + } + getInt64(pos) { + return new haxe__$Int64__$_$_$Int64(this.getInt32(pos + 4),this.getInt32(pos)); + } + setInt64(pos,v) { + this.setInt32(pos,v.low); + this.setInt32(pos + 4,v.high); + } + getString(pos,len,encoding) { + if(pos < 0 || len < 0 || pos + len > this.length) { + throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds); + } + if(encoding == null) { + encoding = haxe_io_Encoding.UTF8; + } + let s = ""; + let b = this.b; + let i = pos; + let max = pos + len; + switch(encoding._hx_index) { + case 0: + let debug = pos > 0; + while(i < max) { + let c = b[i++]; + if(c < 128) { + if(c == 0) { + break; + } + s += String.fromCodePoint(c); + } else if(c < 224) { + let code = (c & 63) << 6 | b[i++] & 127; + s += String.fromCodePoint(code); + } else if(c < 240) { + let c2 = b[i++]; + let code = (c & 31) << 12 | (c2 & 127) << 6 | b[i++] & 127; + s += String.fromCodePoint(code); + } else { + let c2 = b[i++]; + let c3 = b[i++]; + let u = (c & 15) << 18 | (c2 & 127) << 12 | (c3 & 127) << 6 | b[i++] & 127; + s += String.fromCodePoint(u); + } + } + break; + case 1: + while(i < max) { + let c = b[i++] | b[i++] << 8; + s += String.fromCodePoint(c); + } + break; + } + return s; + } + readString(pos,len) { + return this.getString(pos,len); + } + toString() { + return this.getString(0,this.length); + } + toHex() { + let s_b = ""; + let chars = []; + let str = "0123456789abcdef"; + let _g = 0; + let _g1 = str.length; + while(_g < _g1) { + let i = _g++; + chars.push(HxOverrides.cca(str,i)); + } + let _g2 = 0; + let _g3 = this.length; + while(_g2 < _g3) { + let i = _g2++; + let c = this.b[i]; + s_b += String.fromCodePoint(chars[c >> 4]); + s_b += String.fromCodePoint(chars[c & 15]); + } + return s_b; + } + getData() { + return this.b.bufferValue; + } + static alloc(length) { + return new haxe_io_Bytes(new ArrayBuffer(length)); + } + static ofString(s,encoding) { + if(encoding == haxe_io_Encoding.RawNative) { + let buf = new Uint8Array(s.length << 1); + let _g = 0; + let _g1 = s.length; + while(_g < _g1) { + let i = _g++; + let c = s.charCodeAt(i); + buf[i << 1] = c & 255; + buf[i << 1 | 1] = c >> 8; + } + return new haxe_io_Bytes(buf.buffer); + } + let a = []; + let i = 0; + while(i < s.length) { + let c = s.charCodeAt(i++); + if(55296 <= c && c <= 56319) { + c = c - 55232 << 10 | s.charCodeAt(i++) & 1023; + } + if(c <= 127) { + a.push(c); + } else if(c <= 2047) { + a.push(192 | c >> 6); + a.push(128 | c & 63); + } else if(c <= 65535) { + a.push(224 | c >> 12); + a.push(128 | c >> 6 & 63); + a.push(128 | c & 63); + } else { + a.push(240 | c >> 18); + a.push(128 | c >> 12 & 63); + a.push(128 | c >> 6 & 63); + a.push(128 | c & 63); + } + } + return new haxe_io_Bytes(new Uint8Array(a).buffer); + } + static ofData(b) { + let hb = b.hxBytes; + if(hb != null) { + return hb; + } + return new haxe_io_Bytes(b); + } + static ofHex(s) { + if((s.length & 1) != 0) { + throw haxe_Exception.thrown("Not a hex string (odd number of digits)"); + } + let a = []; + let i = 0; + let len = s.length >> 1; + while(i < len) { + let high = s.charCodeAt(i * 2); + let low = s.charCodeAt(i * 2 + 1); + high = (high & 15) + ((high & 64) >> 6) * 9; + low = (low & 15) + ((low & 64) >> 6) * 9; + a.push((high << 4 | low) & 255); + ++i; + } + return new haxe_io_Bytes(new Uint8Array(a).buffer); + } + static fastGet(b,pos) { + return b.bytes[pos]; + } +} +$hx_exports["haxe"]["io"]["Bytes"] = haxe_io_Bytes; +haxe_io_Bytes.__name__ = true; +class haxe_io_BytesBuffer { + constructor() { + this.pos = 0; + this.size = 0; + } + addByte(byte) { + if(this.pos == this.size) { + this.grow(1); + } + this.view.setUint8(this.pos++,byte); + } + addInt32(v) { + if(this.pos + 4 > this.size) { + this.grow(4); + } + this.view.setInt32(this.pos,v,true); + this.pos += 4; + } + addFloat(v) { + if(this.pos + 4 > this.size) { + this.grow(4); + } + this.view.setFloat32(this.pos,v,true); + this.pos += 4; + } + grow(delta) { + let req = this.pos + delta; + let nsize = this.size == 0 ? 16 : this.size; + while(nsize < req) nsize = nsize * 3 >> 1; + let nbuf = new ArrayBuffer(nsize); + let nu8 = new Uint8Array(nbuf); + if(this.size > 0) { + nu8.set(this.u8); + } + this.size = nsize; + this.buffer = nbuf; + this.u8 = nu8; + this.view = new DataView(this.buffer); + } + getBytes() { + if(this.size == 0) { + return new haxe_io_Bytes(new ArrayBuffer(0)); + } + let b = new haxe_io_Bytes(this.buffer); + b.length = this.pos; + return b; + } +} +haxe_io_BytesBuffer.__name__ = true; +var haxe_io_Encoding = $hxEnums["haxe.io.Encoding"] = { __ename__:true,__constructs__:null + ,UTF8: {_hx_name:"UTF8",_hx_index:0,__enum__:"haxe.io.Encoding",toString:$estr} + ,RawNative: {_hx_name:"RawNative",_hx_index:1,__enum__:"haxe.io.Encoding",toString:$estr} +}; +haxe_io_Encoding.__constructs__ = [haxe_io_Encoding.UTF8,haxe_io_Encoding.RawNative]; +var haxe_io_Error = $hxEnums["haxe.io.Error"] = { __ename__:true,__constructs__:null + ,Blocked: {_hx_name:"Blocked",_hx_index:0,__enum__:"haxe.io.Error",toString:$estr} + ,Overflow: {_hx_name:"Overflow",_hx_index:1,__enum__:"haxe.io.Error",toString:$estr} + ,OutsideBounds: {_hx_name:"OutsideBounds",_hx_index:2,__enum__:"haxe.io.Error",toString:$estr} + ,Custom: ($_=function(e) { return {_hx_index:3,e:e,__enum__:"haxe.io.Error",toString:$estr}; },$_._hx_name="Custom",$_.__params__ = ["e"],$_) +}; +haxe_io_Error.__constructs__ = [haxe_io_Error.Blocked,haxe_io_Error.Overflow,haxe_io_Error.OutsideBounds,haxe_io_Error.Custom]; +class haxe_iterators_ArrayIterator { + constructor(array) { + this.current = 0; + this.array = array; + } + hasNext() { + return this.current < this.array.length; + } + next() { + return this.array[this.current++]; + } +} +haxe_iterators_ArrayIterator.__name__ = true; +class io_BytesReader { + constructor(bytes) { + this.bytes = bytes; + this.position = 0; + } + readInt32() { + let b = this.bytes.getInt32(this.position); + this.position += 4; + return b; + } + readInt16() { + let b = this.bytes.getUInt16(this.position); + this.position += 2; + return b; + } + readUInt16() { + let b = this.bytes.getUInt16(this.position); + this.position += 2; + return b; + } + readByte() { + let b = this.bytes.b[this.position]; + this.position += 1; + return b; + } + readStr() { + let len = this.readByte(); + let str = ""; + let reading = true; + let _g = 0; + let _g1 = len; + while(_g < _g1) { + let i = _g++; + let ch = this.readByte(); + if(ch == 0) { + reading = false; + } + if(reading) { + str += String.fromCodePoint(ch); + } + } + return str; + } + readFloat() { + let b = this.bytes.getFloat(this.position); + this.position += 4; + return b; + } + tell() { + return this.position; + } + seek(pos) { + this.position = pos; + } +} +io_BytesReader.__name__ = true; +class io_BytesWriter { + constructor() { + this.bytes = new haxe_io_BytesBuffer(); + } + writeInt32(int) { + this.bytes.addInt32(int); + } + writeUInt16(int) { + let h = int >> 8; + let l = int & 255; + this.bytes.addByte(l); + this.bytes.addByte(h); + } + writeInt16(int) { + let h = int >> 8; + let l = int & 255; + this.bytes.addByte(l); + this.bytes.addByte(h); + } + writeByte(int) { + this.bytes.addByte(int); + } + writeStr(str) { + this.bytes.addByte(str.length); + let _g = 0; + let _g1 = str.length; + while(_g < _g1) { + let c = _g++; + this.bytes.addByte(HxOverrides.cca(str,c)); + } + } + writeFloat(f) { + this.bytes.addFloat(f); + } + getBuffer() { + return this.bytes.getBytes(); + } +} +io_BytesWriter.__name__ = true; +class js_Boot { + static __string_rec(o,s) { + if(o == null) { + return "null"; + } + if(s.length >= 5) { + return "<...>"; + } + let t = typeof(o); + if(t == "function" && (o.__name__ || o.__ename__)) { + t = "object"; + } + switch(t) { + case "function": + return ""; + case "object": + if(o.__enum__) { + let e = $hxEnums[o.__enum__]; + let con = e.__constructs__[o._hx_index]; + let n = con._hx_name; + if(con.__params__) { + s = s + "\t"; + return n + "(" + ((function($this) { + var $r; + let _g = []; + { + let _g1 = 0; + let _g2 = con.__params__; + while(true) { + if(!(_g1 < _g2.length)) { + break; + } + let p = _g2[_g1]; + _g1 = _g1 + 1; + _g.push(js_Boot.__string_rec(o[p],s)); + } + } + $r = _g; + return $r; + }(this))).join(",") + ")"; + } else { + return n; + } + } + if(((o) instanceof Array)) { + let str = "["; + s += "\t"; + let _g = 0; + let _g1 = o.length; + while(_g < _g1) { + let i = _g++; + str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); + } + str += "]"; + return str; + } + let tostr; + try { + tostr = o.toString; + } catch( _g ) { + return "???"; + } + if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { + let s2 = o.toString(); + if(s2 != "[object Object]") { + return s2; + } + } + let str = "{\n"; + s += "\t"; + let hasp = o.hasOwnProperty != null; + let k = null; + for( k in o ) { + if(hasp && !o.hasOwnProperty(k)) { + continue; + } + if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { + continue; + } + if(str.length != 2) { + str += ", \n"; + } + str += s + k + " : " + js_Boot.__string_rec(o[k],s); + } + s = s.substring(1); + str += "\n" + s + "}"; + return str; + case "string": + return o; + default: + return String(o); + } + } +} +js_Boot.__name__ = true; +class math_Box3F { + constructor(minX,minY,minZ,maxX,maxY,maxZ) { + if(maxZ == null) { + maxZ = 0.0; + } + if(maxY == null) { + maxY = 0.0; + } + if(maxX == null) { + maxX = 0.0; + } + if(minZ == null) { + minZ = 0.0; + } + if(minY == null) { + minY = 0.0; + } + if(minX == null) { + minX = 0.0; + } + this.minX = minX; + this.minY = minY; + this.minZ = minZ; + this.maxX = maxX; + this.maxY = maxY; + this.maxZ = maxZ; + } + clone() { + return new math_Box3F(this.minX,this.minY,this.minZ,this.maxX,this.maxY,this.maxZ); + } + center() { + return new math_Point3F(this.minX + this.maxX,this.minY + this.maxY,this.minZ + this.maxZ).scalarDiv(2); + } + extend(box) { + this.minX = Math.min(this.minX,box.minX); + this.minY = Math.min(this.minY,box.minY); + this.minZ = Math.min(this.minZ,box.minZ); + this.maxX = Math.max(this.maxX,box.maxX); + this.maxY = Math.max(this.maxY,box.maxY); + this.maxZ = Math.max(this.maxZ,box.maxZ); + } + Expand(point) { + if(this.minX > point.x) { + this.minX = point.x; + } + if(this.minY > point.y) { + this.minY = point.y; + } + if(this.minZ > point.z) { + this.minZ = point.z; + } + if(this.maxX < point.x) { + this.maxX = point.x; + } + if(this.maxY < point.y) { + this.maxY = point.y; + } + if(this.maxZ < point.z) { + this.maxZ = point.z; + } + } + contains(p) { + if(this.minX <= p.x && p.x <= this.maxX && this.minY <= p.y && p.y <= this.maxY && this.minZ <= p.z) { + return p.z <= this.maxZ; + } else { + return false; + } + } + getClosestPoint(point) { + let closest = new math_Point3F(); + if(this.minX > point.x) { + closest.x = this.minX; + } else if(this.maxX < point.x) { + closest.x = this.maxX; + } else { + closest.x = point.x; + } + if(this.minY > point.y) { + closest.y = this.minY; + } else if(this.maxY < point.y) { + closest.y = this.maxY; + } else { + closest.y = point.y; + } + if(this.minZ > point.z) { + closest.z = this.minZ; + } else if(this.maxZ < point.z) { + closest.z = this.maxZ; + } else { + closest.z = point.z; + } + return closest; + } + write(io) { + io.writeFloat(this.minX); + io.writeFloat(this.minY); + io.writeFloat(this.minZ); + io.writeFloat(this.maxX); + io.writeFloat(this.maxY); + io.writeFloat(this.maxZ); + } + static PointBounds(point,size) { + let ret = new math_Box3F(); + ret.minX = point.x; + ret.minY = point.y; + ret.minZ = point.z; + ret.maxX = point.x + size.x; + ret.maxY = point.y + size.y; + ret.maxZ = point.z + size.z; + return ret; + } + static read(io) { + let ret = new math_Box3F(); + ret.minX = io.readFloat(); + ret.minY = io.readFloat(); + ret.minZ = io.readFloat(); + ret.maxX = io.readFloat(); + ret.maxY = io.readFloat(); + ret.maxZ = io.readFloat(); + return ret; + } +} +$hx_exports["math"]["Box3F"] = math_Box3F; +math_Box3F.__name__ = true; +class math_PlaneF { + constructor(x,y,z,d) { + if(d == null) { + d = 0.0; + } + if(z == null) { + z = 0.0; + } + if(y == null) { + y = 0.0; + } + if(x == null) { + x = 0.0; + } + this.x = x; + this.y = y; + this.z = z; + this.d = d; + } + write(io) { + io.writeFloat(this.x); + io.writeFloat(this.y); + io.writeFloat(this.z); + io.writeFloat(this.d); + } + static ThreePoints(a,b,c) { + let v1 = a.sub(b); + let v2 = c.sub(b); + let res = v1.cross(v2); + let ret = new math_PlaneF(); + let normal = res.normalized(); + ret.x = normal.x; + ret.y = normal.y; + ret.z = normal.z; + ret.d = -b.dot(normal); + return ret; + } + static NormalD(normal,d) { + let ret = new math_PlaneF(); + ret.x = normal.x; + ret.y = normal.y; + ret.z = normal.z; + ret.d = d; + return ret; + } + static PointNormal(pt,n) { + let ret = new math_PlaneF(); + let normal = n.normalized(); + ret.x = normal.x; + ret.y = normal.y; + ret.z = normal.z; + ret.d = -pt.dot(normal); + return ret; + } + static read(io) { + let ret = new math_PlaneF(); + ret.x = io.readFloat(); + ret.y = io.readFloat(); + ret.z = io.readFloat(); + ret.d = io.readFloat(); + return ret; + } +} +$hx_exports["math"]["PlaneF"] = math_PlaneF; +math_PlaneF.__name__ = true; +class math_Point3F { + constructor(x,y,z) { + if(z == null) { + z = 0.0; + } + if(y == null) { + y = 0.0; + } + if(x == null) { + x = 0.0; + } + this.x = x; + this.y = y; + this.z = z; + } + get(dim) { + if(dim == 0) { + return this.x; + } + if(dim == 1) { + return this.y; + } + if(dim == 2) { + return this.z; + } + return -1; + } + set(dim,value) { + if(dim == 0) { + this.x = value; + } + if(dim == 1) { + this.y = value; + } + if(dim == 2) { + this.z = value; + } + } + add(rhs) { + return new math_Point3F(this.x + rhs.x,this.y + rhs.y,this.z + rhs.z); + } + sub(rhs) { + return new math_Point3F(this.x - rhs.x,this.y - rhs.y,this.z - rhs.z); + } + scalar(rhs) { + return new math_Point3F(this.x * rhs,this.y * rhs,this.z * rhs); + } + scalarDiv(rhs) { + return new math_Point3F(this.x / rhs,this.y / rhs,this.z / rhs); + } + dot(rhs) { + return this.x * rhs.x + this.y * rhs.y + this.z * rhs.z; + } + cross(rhs) { + return new math_Point3F(this.y * rhs.z - this.z * rhs.y,this.z * rhs.x - this.x * rhs.z,this.x * rhs.y - this.y * rhs.x); + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + } + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z; + } + normalized() { + if(this.length() != 0) { + return this.scalarDiv(this.length()); + } else { + return this; + } + } + equal(other) { + if(this.x == other.x && this.y == other.y) { + return this.z == other.z; + } else { + return false; + } + } + write(io) { + io.writeFloat(this.x); + io.writeFloat(this.y); + io.writeFloat(this.z); + } + copy() { + return new math_Point3F(this.x,this.y,this.z); + } + static read(io) { + let ret = new math_Point3F(); + ret.x = io.readFloat(); + ret.y = io.readFloat(); + ret.z = io.readFloat(); + return ret; + } +} +$hx_exports["math"]["Point3F"] = math_Point3F; +math_Point3F.__name__ = true; +class math_Point4F { + constructor() { + this.x = 0; + this.y = 0; + this.z = 0; + this.w = 0; + } + write(io) { + io.writeFloat(this.x); + io.writeFloat(this.y); + io.writeFloat(this.z); + io.writeFloat(this.w); + } + static read(io) { + let ret = new math_Point4F(); + ret.x = io.readFloat(); + ret.y = io.readFloat(); + ret.z = io.readFloat(); + ret.w = io.readFloat(); + return ret; + } +} +$hx_exports["math"]["Point4F"] = math_Point4F; +math_Point4F.__name__ = true; +class math_QuatF { + constructor() { + this.x = 0; + this.y = 0; + this.z = 0; + this.w = 0; + } + write(io) { + io.writeFloat(this.x); + io.writeFloat(this.y); + io.writeFloat(this.z); + io.writeFloat(this.w); + } + static read(io) { + let ret = new math_QuatF(); + ret.x = io.readFloat(); + ret.y = io.readFloat(); + ret.z = io.readFloat(); + ret.w = io.readFloat(); + return ret; + } +} +$hx_exports["math"]["QuatF"] = math_QuatF; +math_QuatF.__name__ = true; +class math_Spheref { + constructor() { + this.originX = 0; + this.originY = 0; + this.originZ = 0; + this.radius = 0; + } + write(io) { + io.writeFloat(this.originX); + io.writeFloat(this.originY); + io.writeFloat(this.originZ); + io.writeFloat(this.radius); + } + static read(io) { + let ret = new math_Spheref(); + ret.originX = io.readFloat(); + ret.originY = io.readFloat(); + ret.originZ = io.readFloat(); + ret.radius = io.readFloat(); + return ret; + } +} +$hx_exports["math"]["Spheref"] = math_Spheref; +math_Spheref.__name__ = true; +if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { + HxOverrides.now = performance.now.bind(performance); +} +if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } +{ + String.__name__ = true; + Array.__name__ = true; +} +js_Boot.__toStr = ({ }).toString; +})(typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, {}); diff --git a/generated/mission.cjs b/generated/mission.cjs new file mode 100644 index 00000000..6995ebdf --- /dev/null +++ b/generated/mission.cjs @@ -0,0 +1,1465 @@ +// @generated by Peggy 5.0.6. +// +// https://peggyjs.org/ + +"use strict"; + +class peg$SyntaxError extends SyntaxError { + constructor(message, expected, found, location) { + super(message); + this.expected = expected; + this.found = found; + this.location = location; + this.name = "SyntaxError"; + } + + format(sources) { + let str = "Error: " + this.message; + if (this.location) { + let src = null; + const st = sources.find(s => s.source === this.location.source); + if (st) { + src = st.text.split(/\r\n|\n|\r/g); + } + const s = this.location.start; + const offset_s = (this.location.source && (typeof this.location.source.offset === "function")) + ? this.location.source.offset(s) + : s; + const loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column; + if (src) { + const e = this.location.end; + const filler = "".padEnd(offset_s.line.toString().length, " "); + const line = src[s.line - 1]; + const last = s.line === e.line ? e.column : line.length + 1; + const hatLen = (last - s.column) || 1; + str += "\n --> " + loc + "\n" + + filler + " |\n" + + offset_s.line + " | " + line + "\n" + + filler + " | " + "".padEnd(s.column - 1, " ") + + "".padEnd(hatLen, "^"); + } else { + str += "\n at " + loc; + } + } + return str; + } + + static buildMessage(expected, found) { + function hex(ch) { + return ch.codePointAt(0).toString(16).toUpperCase(); + } + + const nonPrintable = Object.prototype.hasOwnProperty.call(RegExp.prototype, "unicode") + ? new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]", "gu") + : null; + function unicodeEscape(s) { + if (nonPrintable) { + return s.replace(nonPrintable, ch => "\\u{" + hex(ch) + "}"); + } + return s; + } + + function literalEscape(s) { + return unicodeEscape(s + .replace(/\\/g, "\\\\") + .replace(/"/g, "\\\"") + .replace(/\0/g, "\\0") + .replace(/\t/g, "\\t") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/[\x00-\x0F]/g, ch => "\\x0" + hex(ch)) + .replace(/[\x10-\x1F\x7F-\x9F]/g, ch => "\\x" + hex(ch))); + } + + function classEscape(s) { + return unicodeEscape(s + .replace(/\\/g, "\\\\") + .replace(/\]/g, "\\]") + .replace(/\^/g, "\\^") + .replace(/-/g, "\\-") + .replace(/\0/g, "\\0") + .replace(/\t/g, "\\t") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r") + .replace(/[\x00-\x0F]/g, ch => "\\x0" + hex(ch)) + .replace(/[\x10-\x1F\x7F-\x9F]/g, ch => "\\x" + hex(ch))); + } + + const DESCRIBE_EXPECTATION_FNS = { + literal(expectation) { + return "\"" + literalEscape(expectation.text) + "\""; + }, + + class(expectation) { + const escapedParts = expectation.parts.map( + part => (Array.isArray(part) + ? classEscape(part[0]) + "-" + classEscape(part[1]) + : classEscape(part)) + ); + + return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]" + (expectation.unicode ? "u" : ""); + }, + + any() { + return "any character"; + }, + + end() { + return "end of input"; + }, + + other(expectation) { + return expectation.description; + }, + }; + + function describeExpectation(expectation) { + return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); + } + + function describeExpected(expected) { + const descriptions = expected.map(describeExpectation); + descriptions.sort(); + + if (descriptions.length > 0) { + let j = 1; + for (let i = 1; i < descriptions.length; i++) { + if (descriptions[i - 1] !== descriptions[i]) { + descriptions[j] = descriptions[i]; + j++; + } + } + descriptions.length = j; + } + + switch (descriptions.length) { + case 1: + return descriptions[0]; + + case 2: + return descriptions[0] + " or " + descriptions[1]; + + default: + return descriptions.slice(0, -1).join(", ") + + ", or " + + descriptions[descriptions.length - 1]; + } + } + + function describeFound(found) { + return found ? "\"" + literalEscape(found) + "\"" : "end of input"; + } + + return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; + } +} + +function peg$parse(input, options) { + options = options !== undefined ? options : {}; + + const peg$FAILED = {}; + const peg$source = options.grammarSource; + + const peg$startRuleFunctions = { + start: peg$parsestart, + }; + let peg$startRuleFunction = peg$parsestart; + + const peg$c0 = "//"; + const peg$c1 = "datablock "; + const peg$c2 = "("; + const peg$c3 = ")"; + const peg$c4 = ":"; + const peg$c5 = "{"; + const peg$c6 = "}"; + const peg$c7 = "new "; + const peg$c8 = "="; + const peg$c9 = ";"; + const peg$c10 = "\""; + const peg$c11 = "'"; + const peg$c12 = "\\"; + const peg$c13 = "["; + const peg$c14 = "]"; + const peg$c15 = "."; + const peg$c16 = "true"; + const peg$c17 = "false"; + + const peg$r0 = /^[^\n\r]/; + const peg$r1 = /^[^\\"]/; + const peg$r2 = /^[^\\']/; + const peg$r3 = /^[ \t\n\r]/; + const peg$r4 = /^[$%]/; + const peg$r5 = /^[a-zA-Z]/; + const peg$r6 = /^[a-zA-Z0-9_]/; + const peg$r7 = /^[0-9.]/; + + const peg$e0 = peg$anyExpectation(); + const peg$e1 = peg$literalExpectation("//", false); + const peg$e2 = peg$classExpectation(["\n", "\r"], true, false, false); + const peg$e3 = peg$literalExpectation("datablock ", false); + const peg$e4 = peg$literalExpectation("(", false); + const peg$e5 = peg$literalExpectation(")", false); + const peg$e6 = peg$literalExpectation(":", false); + const peg$e7 = peg$literalExpectation("{", false); + const peg$e8 = peg$literalExpectation("}", false); + const peg$e9 = peg$literalExpectation("new ", false); + const peg$e10 = peg$literalExpectation("=", false); + const peg$e11 = peg$literalExpectation(";", false); + const peg$e12 = peg$literalExpectation("\"", false); + const peg$e13 = peg$literalExpectation("'", false); + const peg$e14 = peg$literalExpectation("\\", false); + const peg$e15 = peg$classExpectation(["\\", "\""], true, false, false); + const peg$e16 = peg$classExpectation(["\\", "'"], true, false, false); + const peg$e17 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false, false); + const peg$e18 = peg$classExpectation(["$", "%"], false, false, false); + const peg$e19 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false, false); + const peg$e20 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false, false); + const peg$e21 = peg$literalExpectation("[", false); + const peg$e22 = peg$literalExpectation("]", false); + const peg$e23 = peg$literalExpectation(".", false); + const peg$e24 = peg$classExpectation([["0", "9"], "."], false, false, false); + const peg$e25 = peg$literalExpectation("true", false); + const peg$e26 = peg$literalExpectation("false", false); + + function peg$f0(body) { return body.filter(Boolean); } + function peg$f1() { return null; } + function peg$f2(text) { return { type: 'comment', text }; } + function peg$f3(className, instanceName, body) { + return { + type: 'datablock', + className, + instanceName, + body: body.filter(Boolean) + } + } + function peg$f4(className, instanceName, body) { + return { + type: 'instance', + className, + instanceName, + body: body.filter(Boolean) + } + } + function peg$f5() { return null; } + function peg$f6(target, value) { return { type: 'definition', target, value }; } + function peg$f7(values) { return { type: 'string', value: values.join('') }; } + function peg$f8(values) { return { type: 'string', value: values.join('') }; } + function peg$f9(char) { return char } + function peg$f10() { return null; } + function peg$f11(name, index) { return { name, index }; } + function peg$f12(ref) { return { type: 'reference', value: ref }; } + function peg$f13(index) { return index; } + function peg$f14(index) { return index; } + function peg$f15(digits) { return { type: 'number', value: parseFloat(digits) }; } + function peg$f16(literal) { return { type: 'boolean', value: literal === "true" }; } + let peg$currPos = options.peg$currPos | 0; + let peg$savedPos = peg$currPos; + const peg$posDetailsCache = [{ line: 1, column: 1 }]; + let peg$maxFailPos = peg$currPos; + let peg$maxFailExpected = options.peg$maxFailExpected || []; + let peg$silentFails = options.peg$silentFails | 0; + + let peg$result; + + if (options.startRule) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$savedPos, peg$currPos); + } + + function offset() { + return peg$savedPos; + } + + function range() { + return { + source: peg$source, + start: peg$savedPos, + end: peg$currPos, + }; + } + + function location() { + return peg$computeLocation(peg$savedPos, peg$currPos); + } + + function expected(description, location) { + location = location !== undefined + ? location + : peg$computeLocation(peg$savedPos, peg$currPos); + + throw peg$buildStructuredError( + [peg$otherExpectation(description)], + input.substring(peg$savedPos, peg$currPos), + location + ); + } + + function error(message, location) { + location = location !== undefined + ? location + : peg$computeLocation(peg$savedPos, peg$currPos); + + throw peg$buildSimpleError(message, location); + } + + function peg$getUnicode(pos = peg$currPos) { + const cp = input.codePointAt(pos); + if (cp === undefined) { + return ""; + } + return String.fromCodePoint(cp); + } + + function peg$literalExpectation(text, ignoreCase) { + return { type: "literal", text, ignoreCase }; + } + + function peg$classExpectation(parts, inverted, ignoreCase, unicode) { + return { type: "class", parts, inverted, ignoreCase, unicode }; + } + + function peg$anyExpectation() { + return { type: "any" }; + } + + function peg$endExpectation() { + return { type: "end" }; + } + + function peg$otherExpectation(description) { + return { type: "other", description }; + } + + function peg$computePosDetails(pos) { + let details = peg$posDetailsCache[pos]; + let p; + + if (details) { + return details; + } else { + if (pos >= peg$posDetailsCache.length) { + p = peg$posDetailsCache.length - 1; + } else { + p = pos; + while (!peg$posDetailsCache[--p]) {} + } + + details = peg$posDetailsCache[p]; + details = { + line: details.line, + column: details.column, + }; + + while (p < pos) { + if (input.charCodeAt(p) === 10) { + details.line++; + details.column = 1; + } else { + details.column++; + } + + p++; + } + + peg$posDetailsCache[pos] = details; + + return details; + } + } + + function peg$computeLocation(startPos, endPos, offset) { + const startPosDetails = peg$computePosDetails(startPos); + const endPosDetails = peg$computePosDetails(endPos); + + const res = { + source: peg$source, + start: { + offset: startPos, + line: startPosDetails.line, + column: startPosDetails.column, + }, + end: { + offset: endPos, + line: endPosDetails.line, + column: endPosDetails.column, + }, + }; + if (offset && peg$source && (typeof peg$source.offset === "function")) { + res.start = peg$source.offset(res.start); + res.end = peg$source.offset(res.end); + } + return res; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildSimpleError(message, location) { + return new peg$SyntaxError(message, null, null, location); + } + + function peg$buildStructuredError(expected, found, location) { + return new peg$SyntaxError( + peg$SyntaxError.buildMessage(expected, found), + expected, + found, + location + ); + } + + function peg$parsestart() { + let s0; + + s0 = peg$parsedocument(); + + return s0; + } + + function peg$parsedocument() { + let s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parsestatement(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parsestatement(); + } + s2 = peg$currPos; + peg$silentFails++; + if (input.length > peg$currPos) { + s3 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e0); } + } + peg$silentFails--; + if (s3 === peg$FAILED) { + s2 = undefined; + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f0(s1); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsestatement() { + let s0, s1, s2; + + s0 = peg$parsecomment(); + if (s0 === peg$FAILED) { + s0 = peg$parseinstance(); + if (s0 === peg$FAILED) { + s0 = peg$parsedefinition(); + if (s0 === peg$FAILED) { + s0 = peg$parsedatablock(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = []; + s2 = peg$parsespace(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parsespace(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f1(); + } + s0 = s1; + } + } + } + } + + return s0; + } + + function peg$parsecomment() { + let s0, s1, s2, s3, s4; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c0) { + s1 = peg$c0; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s1 !== peg$FAILED) { + s2 = peg$currPos; + s3 = []; + s4 = input.charAt(peg$currPos); + if (peg$r0.test(s4)) { + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = input.charAt(peg$currPos); + if (peg$r0.test(s4)) { + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e2); } + } + } + s2 = input.substring(s2, peg$currPos); + peg$savedPos = s0; + s0 = peg$f2(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedatablock() { + let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 10) === peg$c1) { + s1 = peg$c1; + peg$currPos += 10; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e3); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsespace(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsespace(); + } + s3 = peg$parseidentifier(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsespace(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c2; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e4); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parsespace(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parsespace(); + } + s7 = peg$parseobjectName(); + if (s7 === peg$FAILED) { + s7 = null; + } + s8 = []; + s9 = peg$parsespace(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c3; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsespace(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsespace(); + } + s11 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 58) { + s12 = peg$c4; + peg$currPos++; + } else { + s12 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e6); } + } + if (s12 !== peg$FAILED) { + s13 = []; + s14 = peg$parsespace(); + while (s14 !== peg$FAILED) { + s13.push(s14); + s14 = peg$parsespace(); + } + s14 = peg$parseobjectName(); + if (s14 !== peg$FAILED) { + s12 = [s12, s13, s14]; + s11 = s12; + } else { + peg$currPos = s11; + s11 = peg$FAILED; + } + } else { + peg$currPos = s11; + s11 = peg$FAILED; + } + if (s11 === peg$FAILED) { + s11 = null; + } + s12 = []; + s13 = peg$parsespace(); + while (s13 !== peg$FAILED) { + s12.push(s13); + s13 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 123) { + s13 = peg$c5; + peg$currPos++; + } else { + s13 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e7); } + } + if (s13 !== peg$FAILED) { + s14 = []; + s15 = peg$parsebody(); + while (s15 !== peg$FAILED) { + s14.push(s15); + s15 = peg$parsebody(); + } + if (input.charCodeAt(peg$currPos) === 125) { + s15 = peg$c6; + peg$currPos++; + } else { + s15 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e8); } + } + if (s15 !== peg$FAILED) { + s16 = []; + s17 = peg$parsesep(); + while (s17 !== peg$FAILED) { + s16.push(s17); + s17 = peg$parsesep(); + } + peg$savedPos = s0; + s0 = peg$f3(s3, s7, s14); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinstance() { + let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 4) === peg$c7) { + s1 = peg$c7; + peg$currPos += 4; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e9); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsespace(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsespace(); + } + s3 = peg$parseidentifier(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsespace(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c2; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e4); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parsespace(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parsespace(); + } + s7 = peg$parseobjectName(); + if (s7 === peg$FAILED) { + s7 = null; + } + s8 = []; + s9 = peg$parsespace(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c3; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e5); } + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsespace(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 123) { + s11 = peg$c5; + peg$currPos++; + } else { + s11 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e7); } + } + if (s11 !== peg$FAILED) { + s12 = []; + s13 = peg$parsebody(); + while (s13 !== peg$FAILED) { + s12.push(s13); + s13 = peg$parsebody(); + } + if (input.charCodeAt(peg$currPos) === 125) { + s13 = peg$c6; + peg$currPos++; + } else { + s13 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e8); } + } + if (s13 !== peg$FAILED) { + s14 = []; + s15 = peg$parsesep(); + while (s15 !== peg$FAILED) { + s14.push(s15); + s15 = peg$parsesep(); + } + peg$savedPos = s0; + s0 = peg$f4(s3, s7, s12); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebody() { + let s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parsespace(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parsespace(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f5(); + } + s0 = s1; + if (s0 === peg$FAILED) { + s0 = peg$parsedefinition(); + if (s0 === peg$FAILED) { + s0 = peg$parseinstance(); + if (s0 === peg$FAILED) { + s0 = peg$parsecomment(); + } + } + } + + return s0; + } + + function peg$parsedefinition() { + let s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = peg$parselhs(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsespace(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 61) { + s3 = peg$c8; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e10); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsespace(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsespace(); + } + s5 = peg$parserhs(); + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s6 = peg$c9; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e11); } + } + if (s6 === peg$FAILED) { + s6 = null; + } + peg$savedPos = s0; + s0 = peg$f6(s1, s5); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsestring() { + let s0, s1, s2, s3; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 34) { + s1 = peg$c10; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e12); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseescape(); + if (s3 === peg$FAILED) { + s3 = peg$parsenotDoubleQuote(); + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseescape(); + if (s3 === peg$FAILED) { + s3 = peg$parsenotDoubleQuote(); + } + } + if (input.charCodeAt(peg$currPos) === 34) { + s3 = peg$c10; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e12); } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f7(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 39) { + s1 = peg$c11; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e13); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseescape(); + if (s3 === peg$FAILED) { + s3 = peg$parsenotSingleQuote(); + } + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseescape(); + if (s3 === peg$FAILED) { + s3 = peg$parsenotSingleQuote(); + } + } + if (input.charCodeAt(peg$currPos) === 39) { + s3 = peg$c11; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e13); } + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f8(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseescape() { + let s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 92) { + s1 = peg$c12; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e14); } + } + if (s1 !== peg$FAILED) { + if (input.length > peg$currPos) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e0); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f9(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsenotDoubleQuote() { + let s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = input.charAt(peg$currPos); + if (peg$r1.test(s2)) { + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e15); } + } + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = input.charAt(peg$currPos); + if (peg$r1.test(s2)) { + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e15); } + } + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + + return s0; + } + + function peg$parsenotSingleQuote() { + let s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = input.charAt(peg$currPos); + if (peg$r2.test(s2)) { + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e16); } + } + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = input.charAt(peg$currPos); + if (peg$r2.test(s2)) { + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e16); } + } + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + + return s0; + } + + function peg$parsespace() { + let s0, s1; + + s0 = peg$currPos; + s1 = input.charAt(peg$currPos); + if (peg$r3.test(s1)) { + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e17); } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f10(); + } + s0 = s1; + + return s0; + } + + function peg$parsesep() { + let s0; + + if (input.charCodeAt(peg$currPos) === 59) { + s0 = peg$c9; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e11); } + } + + return s0; + } + + function peg$parseidentifier() { + let s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = input.charAt(peg$currPos); + if (peg$r4.test(s2)) { + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e18); } + } + if (s2 === peg$FAILED) { + s2 = null; + } + s3 = input.charAt(peg$currPos); + if (peg$r5.test(s3)) { + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e19); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = input.charAt(peg$currPos); + if (peg$r6.test(s5)) { + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e20); } + } + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = input.charAt(peg$currPos); + if (peg$r6.test(s5)) { + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e20); } + } + } + s2 = [s2, s3, s4]; + s1 = s2; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + s0 = input.substring(s0, peg$currPos); + } else { + s0 = s1; + } + + return s0; + } + + function peg$parseobjectName() { + let s0; + + s0 = peg$parseidentifier(); + if (s0 === peg$FAILED) { + s0 = peg$parsenumber(); + } + + return s0; + } + + function peg$parselhs() { + let s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseidentifier(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseindex(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseindex(); + } + peg$savedPos = s0; + s0 = peg$f11(s1, s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parserhs() { + let s0, s1; + + s0 = peg$parsestring(); + if (s0 === peg$FAILED) { + s0 = peg$parsenumber(); + if (s0 === peg$FAILED) { + s0 = peg$parseinstance(); + if (s0 === peg$FAILED) { + s0 = peg$parseboolean(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseidentifier(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f12(s1); + } + s0 = s1; + } + } + } + } + + return s0; + } + + function peg$parseindex() { + let s0; + + s0 = peg$parsearrayIndex(); + if (s0 === peg$FAILED) { + s0 = peg$parsepropertyIndex(); + } + + return s0; + } + + function peg$parsearrayIndex() { + let s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 91) { + s1 = peg$c13; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e21); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsespace(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsespace(); + } + s3 = peg$parseaccessor(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsespace(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsespace(); + } + if (input.charCodeAt(peg$currPos) === 93) { + s5 = peg$c14; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e22); } + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f13(s3); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsepropertyIndex() { + let s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 46) { + s1 = peg$c15; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e23); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parseidentifier(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f14(s2); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaccessor() { + let s0; + + s0 = peg$parsenumber(); + if (s0 === peg$FAILED) { + s0 = peg$parseidentifier(); + } + + return s0; + } + + function peg$parsenumber() { + let s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$currPos; + s2 = []; + s3 = input.charAt(peg$currPos); + if (peg$r7.test(s3)) { + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e24); } + } + if (s3 !== peg$FAILED) { + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = input.charAt(peg$currPos); + if (peg$r7.test(s3)) { + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e24); } + } + } + } else { + s2 = peg$FAILED; + } + if (s2 !== peg$FAILED) { + s1 = input.substring(s1, peg$currPos); + } else { + s1 = s2; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f15(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseboolean() { + let s0, s1; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 4) === peg$c16) { + s1 = peg$c16; + peg$currPos += 4; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e25); } + } + if (s1 === peg$FAILED) { + if (input.substr(peg$currPos, 5) === peg$c17) { + s1 = peg$c17; + peg$currPos += 5; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e26); } + } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$f16(s1); + } + s0 = s1; + + return s0; + } + + peg$result = peg$startRuleFunction(); + + const peg$success = (peg$result !== peg$FAILED && peg$currPos === input.length); + function peg$throw() { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail(peg$endExpectation()); + } + + throw peg$buildStructuredError( + peg$maxFailExpected, + peg$maxFailPos < input.length ? peg$getUnicode(peg$maxFailPos) : null, + peg$maxFailPos < input.length + ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) + : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) + ); + } + if (options.peg$library) { + return /** @type {any} */ ({ + peg$result, + peg$currPos, + peg$FAILED, + peg$maxFailExpected, + peg$maxFailPos, + peg$success, + peg$throw: peg$success ? undefined : peg$throw, + }); + } + if (peg$success) { + return peg$result; + } else { + peg$throw(); + } +} + +module.exports = { + StartRules: ["start"], + SyntaxError: peg$SyntaxError, + parse: peg$parse, +}; diff --git a/mission.pegjs b/mission.pegjs new file mode 100644 index 00000000..c9c6c7cb --- /dev/null +++ b/mission.pegjs @@ -0,0 +1,95 @@ +start + = document + +document + = body:statement* !. { return body.filter(Boolean); } + +statement + = comment + / instance + / definition + / datablock + / space+ { return null; } + +comment + = "//" text:$[^\n\r]* { return { type: 'comment', text }; } + +datablock + = "datablock " space* className:identifier space* + "(" space* instanceName:objectName? space* ")" space* + (":" space* baseName:objectName)? space* + "{" body:body* "}" sep* + { + return { + type: 'datablock', + className, + instanceName, + body: body.filter(Boolean) + } + } + +instance + = "new " space* className:identifier space* + "(" space* instanceName:objectName? space* ")" space* + "{" body:body* "}" sep* + { + return { + type: 'instance', + className, + instanceName, + body: body.filter(Boolean) + } + } + +body + = space+ { return null; } + / definition + / instance + / comment + +definition + = target:lhs space* "=" space* value:rhs ";"? + { return { type: 'definition', target, value }; } + +string + = "\"" values:(escape / notDoubleQuote)* "\"" { return { type: 'string', value: values.join('') }; } + / "'" values:(escape / notSingleQuote)* "'" { return { type: 'string', value: values.join('') }; } + +escape = "\\" char:. { return char} +notDoubleQuote = $[^\\"]+ +notSingleQuote = $[^\\']+ + +space = [ \t\n\r] { return null; } + +sep = ";" + +identifier = $([$%]?[a-zA-Z][a-zA-Z0-9_]*) + +objectName + = identifier + / number + +lhs = name:identifier index:index* { return { name, index }; } + +rhs + = string + / number + / instance + / boolean + / ref:identifier { return { type: 'reference', value: ref }; } + +index = arrayIndex / propertyIndex + +arrayIndex = "[" space* index:accessor space* "]" { return index; } + +propertyIndex = "." index:identifier { return index; } + +accessor + = number + / identifier + +number = digits:$[0-9.]+ { return { type: 'number', value: parseFloat(digits) }; } + +boolean = literal:("true" / "false") { return { type: 'boolean', value: literal === "true" }; } + +eol = "\n" / "\r\n" / "\r" diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 00000000..830fb594 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 00000000..0cf3066a --- /dev/null +++ b/next.config.ts @@ -0,0 +1,7 @@ +module.exports = { + output: "export", + distDir: process.env.NODE_ENV === "production" ? "./docs" : undefined, + basePath: "/t2-mapper", + assetPrefix: "/t2-mapper/", + trailingSlash: true, +}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..ce92bbb4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2015 @@ +{ + "name": "t2-mapper", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "t2-mapper", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@react-three/fiber": "^9.3.0", + "next": "^15.5.2", + "peggy": "^5.0.6", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "three": "^0.180.0", + "unzipper": "^0.12.3" + }, + "devDependencies": { + "@types/node": "24.3.1", + "@types/react": "19.1.12", + "@types/three": "^0.180.0", + "@types/unzipper": "^0.10.11", + "tsx": "^4.20.5", + "typescript": "5.9.2" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@dimforge/rapier3d-compat": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", + "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@emnapi/runtime": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", + "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz", + "integrity": "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.0" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.3.tgz", + "integrity": "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.0" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.0.tgz", + "integrity": "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.0.tgz", + "integrity": "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.0.tgz", + "integrity": "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.0.tgz", + "integrity": "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.0.tgz", + "integrity": "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.0.tgz", + "integrity": "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.0.tgz", + "integrity": "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.0.tgz", + "integrity": "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.0.tgz", + "integrity": "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.3.tgz", + "integrity": "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.3.tgz", + "integrity": "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.3.tgz", + "integrity": "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.3.tgz", + "integrity": "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.3.tgz", + "integrity": "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.0" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.3.tgz", + "integrity": "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.0" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.3.tgz", + "integrity": "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.0" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.3.tgz", + "integrity": "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.4.4" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.3.tgz", + "integrity": "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.3.tgz", + "integrity": "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.3.tgz", + "integrity": "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@next/env": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.2.tgz", + "integrity": "sha512-Qe06ew4zt12LeO6N7j8/nULSOe3fMXE4dM6xgpBQNvdzyK1sv5y4oAP3bq4LamrvGCZtmRYnW8URFCeX5nFgGg==", + "license": "MIT" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.2.tgz", + "integrity": "sha512-8bGt577BXGSd4iqFygmzIfTYizHb0LGWqH+qgIF/2EDxS5JsSdERJKA8WgwDyNBZgTIIA4D8qUtoQHmxIIquoQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.2.tgz", + "integrity": "sha512-2DjnmR6JHK4X+dgTXt5/sOCu/7yPtqpYt8s8hLkHFK3MGkka2snTv3yRMdHvuRtJVkPwCGsvBSwmoQCHatauFQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.2.tgz", + "integrity": "sha512-3j7SWDBS2Wov/L9q0mFJtEvQ5miIqfO4l7d2m9Mo06ddsgUK8gWfHGgbjdFlCp2Ek7MmMQZSxpGFqcC8zGh2AA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.2.tgz", + "integrity": "sha512-s6N8k8dF9YGc5T01UPQ08yxsK6fUow5gG1/axWc1HVVBYQBgOjca4oUZF7s4p+kwhkB1bDSGR8QznWrFZ/Rt5g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.2.tgz", + "integrity": "sha512-o1RV/KOODQh6dM6ZRJGZbc+MOAHww33Vbs5JC9Mp1gDk8cpEO+cYC/l7rweiEalkSm5/1WGa4zY7xrNwObN4+Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.2.tgz", + "integrity": "sha512-/VUnh7w8RElYZ0IV83nUcP/J4KJ6LLYliiBIri3p3aW2giF+PAVgZb6mk8jbQSB3WlTai8gEmCAr7kptFa1H6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.2.tgz", + "integrity": "sha512-sMPyTvRcNKXseNQ/7qRfVRLa0VhR0esmQ29DD6pqvG71+JdVnESJaHPA8t7bc67KD5spP3+DOCNLhqlEI2ZgQg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.2.tgz", + "integrity": "sha512-W5VvyZHnxG/2ukhZF/9Ikdra5fdNftxI6ybeVKYvBPDtyx7x4jPPSNduUkfH5fo3zG0JQ0bPxgy41af2JX5D4Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@peggyjs/from-mem": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@peggyjs/from-mem/-/from-mem-3.1.1.tgz", + "integrity": "sha512-m5OEjgJaePWpyNtQCvRZkpLoV+z44eh6QIO9yEwQuOThdUdkECO3wcKLT3tFA3H8WM5bxU/K/dpmo7r/X16UEw==", + "license": "MIT", + "dependencies": { + "semver": "7.7.2" + }, + "engines": { + "node": ">=20.8" + } + }, + "node_modules/@react-three/fiber": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.3.0.tgz", + "integrity": "sha512-myPe3YL/C8+Eq939/4qIVEPBW/uxV0iiUbmjfwrs9sGKYDG8ib8Dz3Okq7BQt8P+0k4igedONbjXMQy84aDFmQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.17.8", + "@types/react-reconciler": "^0.32.0", + "@types/webxr": "*", + "base64-js": "^1.5.1", + "buffer": "^6.0.3", + "its-fine": "^2.0.0", + "react-reconciler": "^0.31.0", + "react-use-measure": "^2.1.7", + "scheduler": "^0.25.0", + "suspend-react": "^0.1.3", + "use-sync-external-store": "^1.4.0", + "zustand": "^5.0.3" + }, + "peerDependencies": { + "expo": ">=43.0", + "expo-asset": ">=8.4", + "expo-file-system": ">=11.0", + "expo-gl": ">=11.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-native": ">=0.78", + "three": ">=0.156" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + }, + "expo-asset": { + "optional": true + }, + "expo-file-system": { + "optional": true + }, + "expo-gl": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@react-three/fiber/node_modules/scheduler": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", + "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" + } + }, + "node_modules/@types/react": { + "version": "19.1.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz", + "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-reconciler": { + "version": "0.32.1", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.32.1.tgz", + "integrity": "sha512-RsqPttsBQ+6af0nATFXJJpemYQH7kL9+xLNm1z+0MjQFDKBZDM2R6SBrjdvRmHu9i9fM6povACj57Ft+pKRNOA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/stats.js": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", + "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.180.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.180.0.tgz", + "integrity": "sha512-ykFtgCqNnY0IPvDro7h+9ZeLY+qjgUWv+qEvUt84grhenO60Hqd4hScHE7VTB9nOQ/3QM8lkbNE+4vKjEpUxKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@dimforge/rapier3d-compat": "~0.12.0", + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": "*", + "@webgpu/types": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.22.0" + } + }, + "node_modules/@types/unzipper": { + "version": "0.10.11", + "resolved": "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.11.tgz", + "integrity": "sha512-D25im2zjyMCcgL9ag6N46+wbtJBnXIr7SI4zHf9eJD2Dw2tEB5e+p5MYkrxKIVRscs5QV0EhtU9rgXSPx90oJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.23.tgz", + "integrity": "sha512-GPe4AsfOSpqWd3xA/0gwoKod13ChcfV67trvxaW2krUbgb9gxQjnCx8zGshzMl8LSHZlNH5gQ8LNScsDuc7nGQ==", + "license": "MIT" + }, + "node_modules/@webgpu/types": { + "version": "0.1.64", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.64.tgz", + "integrity": "sha512-84kRIAGV46LJTlJZWxShiOrNL30A+9KokD7RB3dRCIqODFjodS5tCD5yyiZ8kIReGVZSDfA3XkkwyyOIF6K62A==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001741", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", + "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "optional": true + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/commander": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT", + "optional": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/its-fine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz", + "integrity": "sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==", + "license": "MIT", + "dependencies": { + "@types/react-reconciler": "^0.28.9" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "node_modules/its-fine/node_modules/@types/react-reconciler": { + "version": "0.28.9", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz", + "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/meshoptimizer": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.22.0.tgz", + "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next": { + "version": "15.5.2", + "resolved": "https://registry.npmjs.org/next/-/next-15.5.2.tgz", + "integrity": "sha512-H8Otr7abj1glFhbGnvUt3gz++0AF1+QoCXEBmd/6aKbfdFwrn0LpA836Ed5+00va/7HQSDD+mOoVhn3tNy3e/Q==", + "license": "MIT", + "dependencies": { + "@next/env": "15.5.2", + "@swc/helpers": "0.5.15", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "15.5.2", + "@next/swc-darwin-x64": "15.5.2", + "@next/swc-linux-arm64-gnu": "15.5.2", + "@next/swc-linux-arm64-musl": "15.5.2", + "@next/swc-linux-x64-gnu": "15.5.2", + "@next/swc-linux-x64-musl": "15.5.2", + "@next/swc-win32-arm64-msvc": "15.5.2", + "@next/swc-win32-x64-msvc": "15.5.2", + "sharp": "^0.34.3" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/peggy": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/peggy/-/peggy-5.0.6.tgz", + "integrity": "sha512-Sud8Zus0JAgE+U4zwkJv29OOaXhviFI7J90/6cGfy3OoqR8dpnieeF9a46dj0bTtqiFnrFatldA6ltQyOJvNmg==", + "license": "MIT", + "dependencies": { + "@peggyjs/from-mem": "3.1.1", + "commander": "^14.0.0", + "source-map-generator": "2.0.2" + }, + "bin": { + "peggy": "bin/peggy.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", + "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.1" + } + }, + "node_modules/react-reconciler": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.31.0.tgz", + "integrity": "sha512-7Ob7Z+URmesIsIVRjnLoDGwBEG/tVitidU0nMsqX/eeJaLY89RISO/10ERe0MqmzuKUUB1rmY+h1itMbUHg9BQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.25.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "node_modules/react-reconciler/node_modules/scheduler": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" + }, + "node_modules/react-use-measure": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz", + "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.13", + "react-dom": ">=16.13" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.3.tgz", + "integrity": "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.4", + "semver": "^7.7.2" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.3", + "@img/sharp-darwin-x64": "0.34.3", + "@img/sharp-libvips-darwin-arm64": "1.2.0", + "@img/sharp-libvips-darwin-x64": "1.2.0", + "@img/sharp-libvips-linux-arm": "1.2.0", + "@img/sharp-libvips-linux-arm64": "1.2.0", + "@img/sharp-libvips-linux-ppc64": "1.2.0", + "@img/sharp-libvips-linux-s390x": "1.2.0", + "@img/sharp-libvips-linux-x64": "1.2.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.0", + "@img/sharp-libvips-linuxmusl-x64": "1.2.0", + "@img/sharp-linux-arm": "0.34.3", + "@img/sharp-linux-arm64": "0.34.3", + "@img/sharp-linux-ppc64": "0.34.3", + "@img/sharp-linux-s390x": "0.34.3", + "@img/sharp-linux-x64": "0.34.3", + "@img/sharp-linuxmusl-arm64": "0.34.3", + "@img/sharp-linuxmusl-x64": "0.34.3", + "@img/sharp-wasm32": "0.34.3", + "@img/sharp-win32-arm64": "0.34.3", + "@img/sharp-win32-ia32": "0.34.3", + "@img/sharp-win32-x64": "0.34.3" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map-generator": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/source-map-generator/-/source-map-generator-2.0.2.tgz", + "integrity": "sha512-unCl5BQhF/us51DiT7SvlSY3QUPhyfAdHJxd8l7FXdwzqxli0UDMV2dEuei2SeGp3Z4rB/AJ9zKi1mGOp2K2ww==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/suspend-react": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz", + "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=17.0" + } + }, + "node_modules/three": { + "version": "0.180.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.180.0.tgz", + "integrity": "sha512-o+qycAMZrh+TsE01GqWUxUIKR1AL0S8pq7zDkYOQw8GqfX8b8VoCKYUoHbhiX5j+7hr8XsuHDVU6+gkQJQKg9w==", + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.20.5", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.5.tgz", + "integrity": "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.25.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unzipper": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz", + "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==", + "license": "MIT", + "dependencies": { + "bluebird": "~3.7.2", + "duplexer2": "~0.1.4", + "fs-extra": "^11.2.0", + "graceful-fs": "^4.2.2", + "node-int64": "^0.4.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/zustand": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.8.tgz", + "integrity": "sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..79f66add --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "t2-mapper", + "version": "1.0.0", + "description": "", + "keywords": [], + "author": "Brian Beck ", + "license": "MIT", + "type": "module", + "scripts": { + "build:parser": "peggy mission.pegjs -o generated/mission.cjs", + "find": "find public -iname", + "start": "next dev" + }, + "dependencies": { + "@react-three/fiber": "^9.3.0", + "next": "^15.5.2", + "peggy": "^5.0.6", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "three": "^0.180.0", + "unzipper": "^0.12.3" + }, + "devDependencies": { + "@types/node": "24.3.1", + "@types/react": "19.1.12", + "@types/three": "^0.180.0", + "@types/unzipper": "^0.10.11", + "tsx": "^4.20.5", + "typescript": "5.9.2" + } +} diff --git a/public/Perlin_noise_example.png b/public/Perlin_noise_example.png new file mode 100644 index 00000000..43577b1e Binary files /dev/null and b/public/Perlin_noise_example.png differ diff --git a/public/base/@vl2/4thGradeDropout.vl2/missions/4thGradeDropout.mis b/public/base/@vl2/4thGradeDropout.vl2/missions/4thGradeDropout.mis new file mode 100644 index 00000000..0d9132ca --- /dev/null +++ b/public/base/@vl2/4thGradeDropout.vl2/missions/4thGradeDropout.mis @@ -0,0 +1,1417 @@ +// DisplayName = 4th Grade Dropout +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//My first map! Enjoy Mofos! +// -- NrG|FunkyDo +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Attack generators to access switch +//Destroy Zeta Generator to access Equipment Generator +//Team communication essential +//Map concept based off of DesertWind +//Thanks to Hundin and Alingis for assisting me +//Thanks to Dan and others for beta testing +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "5"; + Siege_timeLimit = "20"; + musicTrack = "ice"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-536 -784 1040 1264"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "UltimaThule.ter"; + squareSize = "8"; + emptySquares = "220030 220286 358520 358776 359032 359288 294008 235933 236189 367516 433307 302492"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + XDimOverSize = "0"; + GraphFile = "UltimaThule.nav"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-299.497 -171.812 295.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "0"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + providesPower = "1"; + + new ForceFieldBare(baseff) { + position = "-331.448 -158.337 279.266"; + rotation = "0 0 1 0.571981"; + scale = "18.0802 0.102363 8.80151"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new SimGroup(equipment2) { + + powerCount = "2"; + providesPower = "1"; + + new StaticShape() { + position = "-329.316 -167.273 282.145"; + rotation = "0 0 -1 90.1371"; + scale = "1 1 1"; + nameTag = "\x01Hundin\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "18292"; + team = "1"; + notReady = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-315.848 -167.549 282.095"; + rotation = "0 0 1 90.5271"; + scale = "1 1 1"; + nameTag = "\x01Alingis\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "18294"; + team = "1"; + notReady = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-315.823 -162.558 282.113"; + rotation = "0 0 1 90.5271"; + scale = "1 1 1"; + nameTag = "\x01Kanchi\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "18300"; + team = "1"; + notReady = "1"; + Target = "37"; + }; + new StaticShape() { + position = "-329.289 -162.568 282.095"; + rotation = "0 0 -1 90.1371"; + scale = "1 1 1"; + nameTag = "\x01Dan\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "18302"; + team = "1"; + notReady = "1"; + Target = "38"; + }; + }; + new InteriorInstance() { + position = "-322.539 -165.141 280.168"; + rotation = "0 0 1 1.13848"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-343.667 -171.691 276.268"; + rotation = "0 0 1 1.1467"; + scale = "10.4901 2.49635 1.15695"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new ForceFieldBare(baseff) { + position = "-331.692 -171.894 279.3"; + rotation = "0 0 1 0.571981"; + scale = "18.0036 0.102363 8.80151"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + }; + new Item() { + position = "-322.409 -164.946 291.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-17.75 -170.391 105.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "false"; + }; + }; + new SimGroup(base) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-7.62 -171.5 47.6491"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + AudioEnvironment = "BigRoom"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-101.86 -125.393 60.557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + WayPoint = "18492"; + team = "2"; + locked = "true"; + Target = "39"; + }; + new Item() { + position = "28.89 -145.955 78.0802"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-114.149 -155.336 51.9588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-10.8062 -191 51.8879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new SimGroup(powergroup1) { + + powerCount = "1"; + + new ForceFieldBare(blue_switch_ff) { + position = "-92.0768 -129.461 60.5956"; + rotation = "1 0 0 0"; + scale = "0.1 7.79859 6.77316"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "40"; + }; + new StaticShape() { + position = "34.6001 -131.734 51.1663"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "\x01Alpha"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Alpha Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18493"; + team = "2"; + locked = "true"; + Target = "41"; + }; + new ForceFieldBare(switchff) { + position = "-106.413 -169.007 60.5238"; + rotation = "1 0 0 0"; + scale = "1 1 6.97933"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "42"; + }; + new ForceFieldBare(switchff) { + position = "-103.894 -169.025 60.4853"; + rotation = "1 0 0 0"; + scale = "1 1 7.05724"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "43"; + }; + new ForceFieldBare(switchff) { + position = "-104.407 -143.95 60.5516"; + rotation = "1 0 0 0"; + scale = "1 1 6.93421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + }; + new ForceFieldBare(switchff) { + position = "-101.936 -143.965 60.5087"; + rotation = "1 0 0 0"; + scale = "1 1 6.99095"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new ForceFieldBare(switchff) { + position = "-99.4992 -143.973 60.4071"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + new ForceFieldBare(switchff) { + position = "-101.196 -137.002 60.5831"; + rotation = "1 0 0 0"; + scale = "1 1 6.13032"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "47"; + }; + new ForceFieldBare(switchff) { + position = "-103.666 -136.994 60.5692"; + rotation = "1 0 0 0"; + scale = "1 1 6.13032"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "48"; + }; + }; + new SimGroup(powergroup2) { + + powerCount = "1"; + + new ForceFieldBare(blue_switch_ff) { + position = "-84.0475 -131.55 60.5726"; + rotation = "1 0 0 0"; + scale = "0.1 10.7078 7.37517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "48.5939 -233.301 49.1574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01Beta"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Beta Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18494"; + team = "2"; + locked = "true"; + Target = "50"; + }; + new ForceFieldBare(switchff) { + position = "-101.406 -169.042 60.5718"; + rotation = "1 0 0 0"; + scale = "1 1 6.98154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "51"; + }; + new ForceFieldBare(switchff) { + position = "-98.9982 -169.03 60.3606"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + new ForceFieldBare(switchff) { + position = "-105.861 -164.967 60.1967"; + rotation = "1 0 0 0"; + scale = "1 1 6.97933"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "53"; + }; + new ForceFieldBare(switchff) { + position = "-103.342 -164.985 60.1582"; + rotation = "1 0 0 0"; + scale = "1 1 7.05724"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + }; + new ForceFieldBare(switchff) { + position = "-104.946 -136.983 60.5917"; + rotation = "1 0 0 0"; + scale = "1 1 6.13032"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "55"; + }; + new ForceFieldBare(switchff) { + position = "-102.427 -137.001 60.6311"; + rotation = "1 0 0 0"; + scale = "1 1 6.13032"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "56"; + }; + new ForceFieldBare(switchff) { + position = "-99.9404 -136.994 60.642"; + rotation = "1 0 0 0"; + scale = "1 1 6.13032"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "57"; + }; + }; + new SimGroup(powergroup3) { + + powerCount = "1"; + + new ForceFieldBare(blue_switch_ff) { + position = "-73.0354 -130.844 60.4544"; + rotation = "1 0 0 0"; + scale = "0.1 10.7078 7.37517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "58"; + }; + new StaticShape() { + position = "-63.3766 -144.579 77.1243"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "\x01Delta"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Delta Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18495"; + team = "2"; + locked = "true"; + Target = "59"; + }; + new ForceFieldBare(switchff) { + position = "-102.662 -169.033 60.5035"; + rotation = "1 0 0 0"; + scale = "1 1 6.99095"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "60"; + }; + new ForceFieldBare(switchff) { + position = "-105.133 -169.018 60.5464"; + rotation = "1 0 0 0"; + scale = "1 1 6.93421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "61"; + }; + new ForceFieldBare(switchff) { + position = "-100.225 -169.041 60.4019"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "62"; + }; + new ForceFieldBare(switchff) { + position = "-100.854 -165.002 60.2447"; + rotation = "1 0 0 0"; + scale = "1 1 6.98154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "63"; + }; + new ForceFieldBare(switchff) { + position = "-98.4459 -164.99 60.0335"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "64"; + }; + new ForceFieldBare(switchff) { + position = "-105.069 -160.859 60.5818"; + rotation = "1 0 0 0"; + scale = "1 1 6.93421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "65"; + }; + new ForceFieldBare(switchff) { + position = "-100.161 -160.882 60.1734"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "66"; + }; + }; + new SimGroup(powergroup4) { + + powerCount = "1"; + + new ForceFieldBare(blue_switch_ff) { + position = "-60.2817 -130.925 60.5879"; + rotation = "1 0 0 0"; + scale = "0.1 10.7078 7.37517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "67"; + }; + new StaticShape() { + position = "40.0423 -154.124 51.1405"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "\x01Kappa"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Kappa Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18496"; + team = "2"; + locked = "true"; + Target = "68"; + }; + new ForceFieldBare(switchff) { + position = "-102.11 -164.993 60.1764"; + rotation = "1 0 0 0"; + scale = "1 1 6.99095"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "69"; + }; + new ForceFieldBare(switchff) { + position = "-104.581 -164.978 60.2193"; + rotation = "1 0 0 0"; + scale = "1 1 6.93421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "70"; + }; + new ForceFieldBare(switchff) { + position = "-99.6728 -165.001 60.0748"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "71"; + }; + new ForceFieldBare(switchff) { + position = "-102.598 -160.874 60.5389"; + rotation = "1 0 0 0"; + scale = "1 1 6.99095"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "72"; + }; + new ForceFieldBare(switchff) { + position = "-106.349 -160.848 61.4366"; + rotation = "1 0 0 0"; + scale = "1 1 6.10196"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "73"; + }; + new ForceFieldBare(switchff) { + position = "-98.2682 -154.591 60.0899"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "74"; + }; + new ForceFieldBare(switchff) { + position = "-100.676 -154.603 60.3011"; + rotation = "1 0 0 0"; + scale = "1 1 6.98154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "75"; + }; + }; + new SimGroup(powergroup5) { + + powerCount = "1"; + + new ForceFieldBare(blue_switch_ff) { + position = "-52.0642 -131.203 60.5372"; + rotation = "1 0 0 0"; + scale = "0.1 10.7078 7.37517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "76"; + }; + new StaticShape() { + position = "32.4977 -165.597 51.1564"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "\x01Gamma"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Gamma Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18497"; + team = "2"; + locked = "true"; + Target = "77"; + }; + new ForceFieldBare(switchff) { + position = "-103.83 -160.866 60.5207"; + rotation = "1 0 0 0"; + scale = "1 1 7.05724"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "78"; + }; + new ForceFieldBare(switchff) { + position = "-98.9343 -160.871 60.396"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "79"; + }; + new ForceFieldBare(switchff) { + position = "-101.342 -160.883 60.6072"; + rotation = "1 0 0 0"; + scale = "1 1 6.98154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "80"; + }; + new ForceFieldBare(switchff) { + position = "-105.683 -154.568 60.5981"; + rotation = "1 0 0 0"; + scale = "1 1 6.63437"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "81"; + }; + new ForceFieldBare(switchff) { + position = "-103.164 -154.586 60.2146"; + rotation = "1 0 0 0"; + scale = "1 1 7.05724"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "82"; + }; + new ForceFieldBare(switchff) { + position = "-106.298 -149.983 60.5894"; + rotation = "1 0 0 0"; + scale = "1 1 6.97933"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "83"; + }; + new ForceFieldBare(switchff) { + position = "-103.779 -150.001 60.5509"; + rotation = "1 0 0 0"; + scale = "1 1 7.05724"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "84"; + }; + }; + new SimGroup(powergroup6) { + + powerCount = "1"; + + new ForceFieldBare(blue_switch_ff) { + position = "-40.5014 -131.068 60.5818"; + rotation = "1 0 0 0"; + scale = "0.1 10.7078 7.37517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "85"; + }; + new StaticShape() { + position = "2.17576 -210.704 51.1391"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + nameTag = "\x01Epsilon"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Epsilon Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18498"; + team = "2"; + locked = "true"; + Target = "86"; + }; + new ForceFieldBare(switchff) { + position = "-99.4951 -154.602 60.1312"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "87"; + }; + new ForceFieldBare(switchff) { + position = "-101.932 -154.594 60.2328"; + rotation = "1 0 0 0"; + scale = "1 1 6.99095"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "88"; + }; + new ForceFieldBare(switchff) { + position = "-104.403 -154.579 60.2757"; + rotation = "1 0 0 0"; + scale = "1 1 6.93421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "89"; + }; + new ForceFieldBare(switchff) { + position = "-101.291 -150.018 60.6374"; + rotation = "1 0 0 0"; + scale = "1 1 6.98154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "90"; + }; + new ForceFieldBare(switchff) { + position = "-98.8831 -150.006 60.4262"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "91"; + }; + new ForceFieldBare(switchff) { + position = "-100.68 -143.974 60.577"; + rotation = "1 0 0 0"; + scale = "1 1 6.98154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "92"; + }; + new ForceFieldBare(switchff) { + position = "-98.2719 -143.962 59.5658"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "93"; + }; + }; + new SimGroup(powergroup7) { + + powerCount = "2"; + + new StaticShape() { + position = "-119.968 -169.477 51.1207"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01Zeta"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Zeta Generator"; + needsObjectiveWaypoint = "1"; + WayPoint = "18499"; + team = "2"; + locked = "true"; + Target = "94"; + lastDamagedBy = "4102"; + }; + new ForceFieldBare(switchff) { + position = "-98.7339 -137.108 60.0625"; + rotation = "1 0 0 0"; + scale = "1 1 6.13032"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "103"; + }; + new ForceFieldBare(eq_ff1) { + position = "-69.3473 -194.558 77.1699"; + rotation = "1 0 0 0"; + scale = "0.341103 9.57818 7.98517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "96"; + }; + new ForceFieldBare(blue_switch_ff) { + position = "-28.9103 -131.121 60.5713"; + rotation = "1 0 0 0"; + scale = "0.1 10.7078 7.37517"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "97"; + }; + new ForceFieldBare(switchff) { + position = "-100.11 -150.017 60.4675"; + rotation = "1 0 0 0"; + scale = "1 1 7.09055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "98"; + }; + new ForceFieldBare(switchff) { + position = "-102.547 -150.009 60.5691"; + rotation = "1 0 0 0"; + scale = "1 1 6.99095"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "99"; + }; + new ForceFieldBare(switchff) { + position = "-105.018 -149.994 60.612"; + rotation = "1 0 0 0"; + scale = "1 1 6.93421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "100"; + }; + new ForceFieldBare(switchff) { + position = "-103.168 -143.957 60.4905"; + rotation = "1 0 0 0"; + scale = "1 1 7.05724"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "101"; + }; + new ForceFieldBare(switchff) { + position = "-105.687 -143.939 60.529"; + rotation = "1 0 0 0"; + scale = "1 1 6.97933"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "102"; + }; + }; + new SimGroup(equipment) { + + powerCount = "1"; + + new StaticShape(equipment) { + position = "-63.4765 -186.668 77.1199"; + rotation = "0 0 -1 89.7719"; + scale = "1 1 1"; + nameTag = "\x01Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "Equipment Generator"; + needsObjectiveWaypoint = "0"; + team = "2"; + locked = "true"; + Target = "104"; + }; + new StaticShape() { + position = "34.6659 -210.738 49.1591"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + nameTag = "\x01FunkyDo\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "FunkyDo\'s"; + Trigger = "18443"; + team = "2"; + locked = "true"; + Target = "105"; + }; + new StaticShape() { + position = "-50.5877 -181.428 51.1169"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "\x01Za`arok\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "Za`arok\'s"; + Trigger = "18445"; + team = "2"; + locked = "true"; + Target = "106"; + }; + new StaticShape() { + position = "-50.6486 -149.709 51.1666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01Endymius\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "Endymius\'s"; + Trigger = "18447"; + team = "2"; + locked = "true"; + Target = "107"; + }; + new StaticShape() { + position = "34.121 -165.162 60.6862"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + nameTag = "\x01Fixx\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "Fixx\'s"; + Trigger = "18449"; + team = "2"; + locked = "true"; + Target = "108"; + }; + new StaticShape() { + position = "-121.975 -141.583 51.063"; + rotation = "0 0 -1 90.7098"; + scale = "1 1 1"; + nameTag = "\x01Archilochus\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "Archilochus\'s"; + Trigger = "18451"; + team = "2"; + locked = "true"; + Target = "109"; + }; + new StaticShape() { + position = "40.9041 -216.058 45.7429"; + rotation = "0 0 -1 44.1177"; + scale = "1 1 1"; + nameTag = "\x01ForteannaJones\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "ForteannaJones\'s"; + Trigger = "18453"; + team = "2"; + locked = "true"; + Target = "110"; + }; + new StaticShape() { + position = "-72.0207 -169.254 51.109"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "\x01Junglist\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "Junglist\'s"; + Trigger = "18455"; + team = "2"; + locked = "0"; + Target = "111"; + }; + new StaticShape() { + position = "-72.0944 -162.639 51.107"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "\x01Helloworld\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + name = "Helloworld\'s"; + Trigger = "21103"; + team = "2"; + locked = "0"; + Target = "95"; + }; + }; + new SimGroup(walls) { + + powerCount = "1"; + providesPower = "1"; + + new ForceFieldBare(tunnel1_wall1) { + position = "16.1424 -184.369 50.4619"; + rotation = "1 0 0 0"; + scale = "0.1 37.6816 9.62135"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "112"; + }; + new ForceFieldBare(tunnel1_wall2) { + position = "-58.251 -210.333 74.384"; + rotation = "1 0 0 0"; + scale = "0.1 37.6816 9.62135"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "113"; + }; + new ForceFieldBare(tunnel1_wall3) { + position = "22.618 -184.152 50.9154"; + rotation = "1 0 0 0"; + scale = "0.1 37.6816 9.17452"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "114"; + }; + new ForceFieldBare(hallseperator1) { + position = "16.1738 -183.653 60.0633"; + rotation = "1 0 0 0"; + scale = "6.44024 37.6816 0.193525"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "115"; + }; + new ForceFieldBare(hallseperator2) { + position = "-69.8987 -181.543 48.5476"; + rotation = "1 0 0 0"; + scale = "0.1 34.129 13.3301"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "116"; + }; + new ForceFieldBare(hallseperator3) { + position = "38.835 -146.21 51.1883"; + rotation = "1 0 0 0"; + scale = "8.63315 0.1 10.2904"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "117"; + }; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "57.01 -329.326 163.148"; + rotation = "0.448717 0.195026 -0.872134 52.979"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-50.311 -44.814 106.787"; + rotation = "0.0836944 -0.168589 0.982127 128.015"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-27.8365 -162.051 76.7347"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-67.162 -108.482 130.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "29.6259 -165.386 72.1639"; + rotation = "0 0 -1 90.1369"; + scale = "2.00203 1.49856 1.67381"; + shapeName = "statue_hmale.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/4thGradeDropout.vl2/terrains/4thGradeDropout.spn b/public/base/@vl2/4thGradeDropout.vl2/terrains/4thGradeDropout.spn new file mode 100644 index 00000000..6a21a03a Binary files /dev/null and b/public/base/@vl2/4thGradeDropout.vl2/terrains/4thGradeDropout.spn differ diff --git a/public/base/@vl2/BeneathTheHill.vl2/missions/BeneathTheHill.mis b/public/base/@vl2/BeneathTheHill.vl2/missions/BeneathTheHill.mis new file mode 100644 index 00000000..3e5b47f2 --- /dev/null +++ b/public/base/@vl2/BeneathTheHill.vl2/missions/BeneathTheHill.mis @@ -0,0 +1,3099 @@ +// DisplayName = Beneath The Hill +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +// -- Map by ShadowOfFear +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Main defense base is down the chute in the offense base. +//[Siege]2 generators power the forcefields to the switch. +//[Siege]1 generator powers the front FF's. +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "6"; + Siege_timeLimit = "20"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-288 -1032 736 1232"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "630"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "305"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.22439e-42 1.04486e-40"; + high_fogVolume2 = "-1 1.04845e-40 3.26643e-42"; + high_fogVolume3 = "-1 3.28324e-42 1.05581e-40"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.643953 0.643953 -0.413096"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "Masada.ter"; + squareSize = "8"; + emptySquares = "293756 294012 294268 294524 294780 295036"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + YDimOverSize = "0"; + XDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Masada.nav"; + coverage = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant2) { + + powerCount = "0"; + + new TSStatic() { + position = "118.5 386.5 213.604"; + rotation = "0 0 -1 78"; + scale = "1.5 1.5 1.5"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140.5 94.5 219.982"; + rotation = "0 0 -1 1.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-321.5 107.5 110.939"; + rotation = "0 0 -1 101"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156.5 -111.5 109.758"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-70.5 -364.5 56.7207"; + rotation = "0 0 1 158"; + scale = "1.6 1.6 1.6"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-71.5 163.5 153.738"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "275.5 -428.5 70.6367"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-335.5 306.5 222.141"; + rotation = "0 0 -1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-69.5 -66.5 268.201"; + rotation = "0 0 1 163"; + scale = "1.6 1.6 1.6"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-299.5 -425.5 284.137"; + rotation = "0 0 1 40"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "205.5 -294.5 158.496"; + rotation = "0 0 -1 107"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-286.5 -49.5 104.34"; + rotation = "0 0 -1 117"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44.5 -431.5 61.1484"; + rotation = "0 0 1 204"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "407.5 209.5 99.4277"; + rotation = "0 0 1 218"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-409.5 329.5 153.207"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "106.5 454.5 223.049"; + rotation = "0 0 1 180"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.5 -386.5 54.5996"; + rotation = "0 0 -1 14"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-266.5 385.5 283.426"; + rotation = "0 0 -1 50"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-406.5 285.5 152.908"; + rotation = "0 0 1 211"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "413.5 40.5 58.7071"; + rotation = "0 0 -1 45"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "194.5 373.5 246.525"; + rotation = "0 0 1 25"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "337.5 359.5 127.373"; + rotation = "0 0 1 30"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "221.5 -148.5 176.709"; + rotation = "0 0 1 47"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20.5 235.5 107.375"; + rotation = "0 0 1 6.00005"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-390.5 -56.5 146.266"; + rotation = "0 0 -1 89"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4.5 -420.5 56.834"; + rotation = "0 0 1 100"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "155.5 -235.5 176.275"; + rotation = "0 0 -1 52"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "347.5 -261.5 166.576"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "33.5 373.5 104.133"; + rotation = "0 0 1 197"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "263.5 -242.5 176.404"; + rotation = "0 0 1 118"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-358.5 -157.5 112.832"; + rotation = "0 0 1 60"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "395.5 289.5 179.865"; + rotation = "0 0 -1 47"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156.5 257.5 214.682"; + rotation = "0 0 1 206"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-49.5 -436.5 61.123"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84.5 220.5 132.353"; + rotation = "0 0 1 186"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "405.5 40.5 60.1874"; + rotation = "0 0 1 71"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "25.5 -178.5 172.76"; + rotation = "0 0 -1 117"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-282.5 -300.5 280.658"; + rotation = "0 0 1 235"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "74.5 -355.5 56.8535"; + rotation = "0 0 1 152"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "353.5 68.5 55.8282"; + rotation = "0 0 1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "229.5 -162.5 177.508"; + rotation = "0 0 -1 34"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "248.5 -219.5 198.689"; + rotation = "0 0 1 86"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-225.5 286.5 282.639"; + rotation = "0 0 1 212"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-70.5 -56.5 270.82"; + rotation = "0 0 1 164"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "-399.5 -396.5 211.094"; + rotation = "0 0 -1 87"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-249.5 -385.5 285.008"; + rotation = "0 0 1 131"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-280.5 -46.5 101.158"; + rotation = "0 0 1 112"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-314.5 -244.5 285.412"; + rotation = "0 0 1 123"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-287.5 228.5 262.816"; + rotation = "0 0 -1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.5 150.5 66.334"; + rotation = "0 0 -1 34"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60.5 -212.5 106.299"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "0.5 -121.5 218.785"; + rotation = "0 0 1 192"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "403.5 208.5 97.416"; + rotation = "0 0 1 97"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-14.5 -325.5 56.1426"; + rotation = "0 0 1 127"; + scale = "0.7 0.7 0.7"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-240.5 -371.5 286.293"; + rotation = "0 0 1 133"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "95.4986 -506.276 49.7484"; + rotation = "0 0 -1 96.0671"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "325.5 352.5 124.748"; + rotation = "0 0 1 8.00005"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "39.5108 50.7112 285.104"; + rotation = "0 0 -1 5.15676"; + scale = "1 1 1.0507"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "8.737 -0.5 285.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "8.3238 55.5653 284.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-37.7247 1.7271 284.938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new SimGroup(Addition5PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-791.5 823.5 175.647"; + rotation = "0 0 1 204"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "454.5 -438.5 81.4082"; + rotation = "0 0 1 78"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "534.5 535.5 167.596"; + rotation = "0 0 -1 45"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "64.5 729.5 50.0937"; + rotation = "0 0 1 180"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-442.5 -532.5 175.75"; + rotation = "0 0 -1 93"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "601.5 -73.5 166.547"; + rotation = "0 0 -1 68"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "345.5 72.5 54.5156"; + rotation = "0 0 1 46"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-289.5 -381.5 284.309"; + rotation = "0 0 1 184"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-185.5 -200.5 79.5351"; + rotation = "0 0 -1 93"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-505.5 -84.5 218.471"; + rotation = "0 0 -1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-241.5 -42.5 104.811"; + rotation = "0 0 1 120"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-433.5 -348.5 199.502"; + rotation = "0 0 1 134"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-306.5 -586.5 208.242"; + rotation = "0 0 -1 49"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "583.5 -79.5 156.969"; + rotation = "0 0 1 12"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852.5 -205.5 75.9668"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "55.0116 -18.1159 -61.4944"; + rotation = "0.0555493 0.123324 0.990811 228.102"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-13.6018 -65.3873 301.291"; + rotation = "0.555737 0.0953957 -0.825867 23.4835"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-9.43917 -181.468 -89.5882"; + rotation = "-0.17218 -0.0639842 -0.982985 41.4176"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "2.09066 -385.74 -88.875"; + rotation = "-0.0632548 -0.0896985 -0.993958 109.944"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(MainSpawn) { + position = "-17.75 -25 275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere(BunkerSpawn) { + position = "-17.75 -30 -66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "false"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance() { + position = "10.5 -30 268"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-17.74 -8 297.5"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "false"; + Target = "33"; + }; + new InteriorInstance() { + position = "-17.75 -1.75 267.95"; + rotation = "1 0 0 0"; + scale = "1.5 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-46 -30 268"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "18 -25 290"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4453"; + team = "1"; + inUse = "Down"; + locked = "true"; + Target = "34"; + notReady = "1"; + }; + new StaticShape() { + position = "-53.5 -25 290"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4455"; + team = "1"; + inUse = "Down"; + locked = "true"; + Target = "35"; + notReady = "1"; + }; + new StaticShape() { + position = "-26.5 6 290"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4457"; + team = "1"; + inUse = "Down"; + locked = "true"; + Target = "36"; + notReady = "1"; + }; + new StaticShape() { + position = "18 -35.1448 290"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4459"; + team = "1"; + inUse = "Down"; + locked = "true"; + Target = "37"; + notReady = "1"; + }; + new StaticShape() { + position = "-9 6 290"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4461"; + team = "1"; + locked = "true"; + Target = "38"; + }; + new StaticShape() { + position = "-53.5 -35 290"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4463"; + team = "1"; + inUse = "Down"; + locked = "true"; + Target = "39"; + notReady = "1"; + }; + new ForceFieldBare(slow) { + position = "-24.7164 -36.9406 -20"; + rotation = "1 0 0 0"; + scale = "14 14 0.125"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "40"; + }; + new ForceFieldBare(slow) { + position = "-24.7164 -36.9406 -25"; + rotation = "1 0 0 0"; + scale = "14 14 0.125"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "41"; + }; + new ForceFieldBare(slow) { + position = "-24.7164 -36.9406 -30"; + rotation = "1 0 0 0"; + scale = "14 14 0.125"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "42"; + }; + new ForceFieldBare() { + position = "32.25 -130.5 -89"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "43"; + }; + new ForceFieldBare() { + position = "-67.85 -130.5 -89"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-85.5 -145.125 -89"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "45"; + }; + new ForceFieldBare() { + position = "32.5 -145.125 -89"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "46"; + }; + new ForceFieldBare() { + position = "-85.25 -379.125 -90.5"; + rotation = "1 0 0 0"; + scale = "17 0.25 9"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "47"; + }; + new ForceFieldBare() { + position = "32.75 -379.125 -90.5"; + rotation = "1 0 0 0"; + scale = "17 0.25 9"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "48"; + }; + new Item() { + position = "-17.75 -42 286.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "62.25 -47.75 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mortar"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "62.25 -63 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "62.25 -67.25 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "62.25 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "48.5 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "34 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "20 -47.75 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "21 -63 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "21 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "21 -67.25 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-69.5 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-55.5 -47.75 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-56.5 -63 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-56.5 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-56.5 -67.25 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-84 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-97.75 -47.75 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mortar"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-97.75 -63 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-97.75 -65.125 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-97.75 -67.25 -81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "32.25 -130.5 -87"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "86"; + }; + new ForceFieldBare() { + position = "32.25 -130.5 -85"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "87"; + }; + new ForceFieldBare() { + position = "32.25 -130.5 -83"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "88"; + }; + new ForceFieldBare() { + position = "-67.85 -130.5 -87"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "89"; + }; + new ForceFieldBare() { + position = "-67.85 -130.5 -85"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "90"; + }; + new ForceFieldBare() { + position = "-67.85 -130.5 -83"; + rotation = "1 0 0 0"; + scale = "0.1 9 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "91"; + }; + new ForceFieldBare() { + position = "-85.5 -145.125 -87"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "92"; + }; + new ForceFieldBare() { + position = "-85.5 -145.125 -85"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "93"; + }; + new ForceFieldBare() { + position = "-85.5 -145.125 -83"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "94"; + }; + new ForceFieldBare() { + position = "32.5 -145.125 -87"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "95"; + }; + new ForceFieldBare() { + position = "32.5 -145.125 -85"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "96"; + }; + new ForceFieldBare() { + position = "32.5 -145.125 -83"; + rotation = "1 0 0 0"; + scale = "17 0.25 0.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "97"; + }; + }; + new SimGroup(RemoteBase) { + + powerCount = "0"; + + new StaticShape(EastBunkGen) { + position = "-17.75 -40 -66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "49"; + }; + new StaticShape(EastInv1) { + position = "-22.7483 -42 -66"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4507"; + team = "1"; + locked = "true"; + Target = "50"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4505"; + damageTimeMS = "11462"; + }; + new StaticShape(EastInv2) { + position = "-12.75 -42 -66"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4509"; + team = "1"; + locked = "true"; + Target = "51"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4506"; + damageTimeMS = "11462"; + }; + new Item() { + position = "-17.75 -30 -66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + locked = "true"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(defense) { + + powerCount = "1"; + + new Item() { + position = "-33.75 -293 -91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-26.25 -42.49 283.465"; + rotation = "0 1 0 90"; + scale = "0.5 0.625 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-17.75 -250 -98"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "52"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "-21.25 -238.2 -98.5"; + rotation = "1 0 0 0"; + scale = "7 0.1 5"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "53"; + }; + new StaticShape() { + position = "-17.75 -243 -90"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4519"; + team = "2"; + inUse = "Down"; + locked = "true"; + Target = "54"; + notReady = "1"; + }; + new StaticShape() { + position = "-17.75 -257 -90"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4521"; + team = "2"; + locked = "true"; + Target = "55"; + }; + new StaticShape() { + position = "-33.75 -177.5 -90"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4523"; + team = "2"; + locked = "true"; + Target = "56"; + }; + new StaticShape() { + position = "-1.75 -177.5 -90"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4525"; + team = "2"; + inUse = "Down"; + locked = "true"; + Target = "57"; + notReady = "1"; + }; + new StaticShape() { + position = "-1.75 -322.5 -90"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4527"; + team = "2"; + locked = "true"; + Target = "58"; + }; + new StaticShape() { + position = "-33.75 -322.5 -90"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4529"; + team = "2"; + inUse = "Down"; + locked = "true"; + Target = "59"; + notReady = "1"; + }; + new StaticShape() { + position = "-44.75 -270 -90"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4531"; + team = "2"; + locked = "true"; + Target = "60"; + }; + new StaticShape() { + position = "-44.75 -230 -90"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4533"; + team = "2"; + locked = "true"; + Target = "61"; + }; + new StaticShape() { + position = "9.25 -270 -90"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4535"; + team = "2"; + locked = "true"; + Target = "62"; + }; + new StaticShape() { + position = "9.25 -230 -90"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4537"; + team = "2"; + locked = "true"; + Target = "63"; + }; + new StaticShape() { + position = "8.75 -250 -108"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4539"; + team = "2"; + locked = "true"; + Target = "64"; + }; + new StaticShape() { + position = "-44.25 -250 -108"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4541"; + team = "2"; + inUse = "Down"; + locked = "true"; + Target = "65"; + notReady = "1"; + }; + new StaticShape() { + position = "-17.75 -285 -108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4543"; + team = "2"; + locked = "true"; + Target = "66"; + }; + new StaticShape() { + position = "-17.75 -215 -108"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4545"; + team = "2"; + locked = "true"; + Target = "67"; + }; + new Item() { + position = "-17.75 -176.5 -91.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-17.75 -323.5 -91.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-17.75 -214.25 -91.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-17.75 -266 -91.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-17.75 -234 -91.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-32.75 -250 -89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-2.75 -250 -89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-33.75 -207 -91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-1.75 -207 -91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-1.75 -293 -91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-17.75 -225 -105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "23"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-17.75 -275 -105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "23"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-17.75 -335 -105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-17.75 -165 -105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(Tunnel) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-17.75 -36.5 -19.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 12.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 44.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 76.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 108.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 140.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 172.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 204.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 236.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 -19.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -36.5 268.5"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 12.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 76.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 108.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 140.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 172.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 204.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 236.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 44.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 268.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 236.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 204.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 172.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 140.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 108.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 76.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 44.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 12.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.25 -30 -19.5"; + rotation = "0 1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 268.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 -19.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 12.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 44.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 76.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 108.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 140.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 172.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 204.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.25 -30 236.5"; + rotation = "0 -1 0 90"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-93.75 -38 -66"; + rotation = "1 0 0 0"; + scale = "38 2 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-93.75 -14 -42.8125"; + rotation = "1 0 0 90"; + scale = "38 2 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-12.7359 -22.632 -34.6"; + rotation = "1 0 0 0"; + scale = "3 0.6 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-12.8153 -42.2527 -34.6"; + rotation = "1 0 0 0"; + scale = "3 0.6 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-23.75 -45 -35"; + rotation = "1 0 0 0"; + scale = "3 0.75 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-23.75 -21.75 -35"; + rotation = "1 0 0 0"; + scale = "3 0.6 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-34.7843 -22.5783 -34.6"; + rotation = "1 0 0 0"; + scale = "3 0.6 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-59.75 -46 -53.9375"; + rotation = "1 0 0 90"; + scale = "21 1.25 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-34.7367 -42.2141 -34.6"; + rotation = "1 0 0 0"; + scale = "3 0.6 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-93.75 -38 -35"; + rotation = "1 0 0 0"; + scale = "17.5 2 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-93.75 -46 -38.1875"; + rotation = "1 0 0 90"; + scale = "38 0.9 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-11.75 -38 -35"; + rotation = "1 0 0 0"; + scale = "17.5 2 0.05"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.75 -23.5 268.5"; + rotation = "-0.57735 -0.57735 0.57735 120"; + scale = "2 1.125 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "58.25 -38 -35"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-101.75 -38 -35"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + }; + new SimGroup(PrimaryFF) { + + powerCount = "1"; + + new StaticShape() { + position = "-17.75 -106 -90"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Front Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "68"; + lastDamagedByTeam = "1"; + repairedBy = "4345"; + lastDamagedBy = "4345"; + damageTimeMS = "741338"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "-40.875 -165.14 -90.5"; + rotation = "1 0 0 0"; + scale = "0.25 17 9"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "69"; + }; + new ForceFieldBare() { + position = "5.125 -165.5 -90.5"; + rotation = "1 0 0 0"; + scale = "0.25 17 9"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "70"; + }; + new ForceFieldBare() { + position = "-22.25 -119.55 -90.5"; + rotation = "1 0 0 0"; + scale = "9 0.1 8"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "71"; + }; + new ForceFieldBare() { + position = "-22.25 -141.55 -108.5"; + rotation = "1 0 0 0"; + scale = "9 0.1 8"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "72"; + }; + new ForceFieldBare() { + position = "-54.25 -144.9 -108.5"; + rotation = "1 0 0 0"; + scale = "13 0.1 9"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "73"; + }; + new ForceFieldBare() { + position = "5.5 -144.9 -108.5"; + rotation = "1 0 0 0"; + scale = "13 0.1 9"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "74"; + }; + }; + new SimGroup(SwitchFF) { + + powerCount = "2"; + + new StaticShape() { + position = "10 -286.25 -92"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "East Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "75"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape() { + position = "-45.5 -286.5 -92"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "West Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "76"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "-19.75 -399.25 -90.5"; + rotation = "1 0 0 0"; + scale = "4 0.25 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "77"; + }; + new ForceFieldBare() { + position = "-19.75 -393 -90.5"; + rotation = "1 0 0 0"; + scale = "4 0.25 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "78"; + }; + new ForceFieldBare() { + position = "-21 -398 -90.5"; + rotation = "1 0 0 0"; + scale = "0.25 4 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "79"; + }; + new ForceFieldBare() { + position = "-14.75 -398 -90.5"; + rotation = "1 0 0 0"; + scale = "0.25 4 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "80"; + }; + new ForceFieldBare() { + position = "-20.825 -394.185 -90.5"; + rotation = "0 0 -1 45"; + scale = "1.775 0.25 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "81"; + }; + new ForceFieldBare() { + position = "-15.7548 -399.256 -90.5"; + rotation = "0 0 -1 45"; + scale = "1.775 0.25 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "82"; + }; + new ForceFieldBare() { + position = "-15.927 -392.926 -90.5"; + rotation = "0 0 1 45"; + scale = "1.775 0.25 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "83"; + }; + new ForceFieldBare() { + position = "-21.0004 -398.001 -90.5"; + rotation = "0 0 1 45"; + scale = "1.775 0.25 13"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "84"; + }; + new InteriorInstance() { + position = "-17.75 -250 -100"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pbase_nef_giant.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-17.75 -396 -90"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Projector = "0"; + Target = "85"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "9.8136 30.4218 291.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "142.648 57.3514 208.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "282.723 -80.4861 195.344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-217.778 29.7983 140.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-40.0386 -55.3559 208.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "62.9439 119.138 226.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-63.0371 -93.4292 300.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.871 -411.232 284.689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.696 -410.927 287.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- + +package BeneathTheHill +{ + + +function SiegeGame::missionLoadDone(%game) +{ + nameToId("EastBunkGen").setDamageLevel(2.5); + nameToId("EastInv1").setDamageLevel(2.5); + nameToId("EastInv2").setDamageLevel(2.5); + + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + + Parent::missionLoadDone(%game); +} + +function SiegeGame::halftimeOver( %game ) +{ + nameToId("EastBunkGen").setDamageLevel(2.5); + nameToId("EastInv1").setDamageLevel(2.5); + nameToId("EastInv2").setDamageLevel(2.5); + + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + + parent::halfTimeOver(%game); +} + +function SiegeGame::halftimeOver(%game) +{ + nameToId("EastBunkGen").setDamageLevel(2.5); + nameToId("EastInv1").setDamageLevel(2.5); + nameToId("EastInv2").setDamageLevel(2.5); + + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + Parent::gameOver(%game); + deactivatePackage(BeneathTheHill); +} + +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + + if(%obj == nameToId("EastBunkGen")) + { + nameToId("BunkerSpawn").sphereWeight = 100; + nameToId("MainSpawn").sphereWeight = 0; + } +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + if(%obj == nameToId("EastBunkGen")) + { + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + } +} + + +}; + +activatePackage(BeneathTheHill); diff --git a/public/base/@vl2/BeneathTheHill.vl2/terrains/BeneathTheHill.spn b/public/base/@vl2/BeneathTheHill.vl2/terrains/BeneathTheHill.spn new file mode 100644 index 00000000..5fded59b Binary files /dev/null and b/public/base/@vl2/BeneathTheHill.vl2/terrains/BeneathTheHill.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/classic_maps.txt b/public/base/@vl2/Classic_maps_v1.vl2/classic_maps.txt new file mode 100644 index 00000000..f937e493 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/classic_maps.txt @@ -0,0 +1,8 @@ +Tribes2 Classic map pack version 2 +10/31/02 + +The "classic_maps_v1.vl2" file should be put into +your "...\Tribes2\GameData\base" directory, overwriting +any existing earlier version. + +See the "classic_readme.txt" file for a list of changes. diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/Starfallen.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/Starfallen.dif new file mode 100644 index 00000000..9645b55d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/Starfallen.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbase_ccb5.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbase_ccb5.dif new file mode 100644 index 00000000..acd65005 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbase_ccb5.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbase_nefhillside.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbase_nefhillside.dif new file mode 100644 index 00000000..55d350f2 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbase_nefhillside.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbunke.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbunke.dif new file mode 100644 index 00000000..786b586f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bbunke.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/bmisc_nefledge1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bmisc_nefledge1.dif new file mode 100644 index 00000000..3fd72bd3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bmisc_nefledge1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/bmisc_nefvbay.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bmisc_nefvbay.dif new file mode 100644 index 00000000..f9c6aff4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/bmisc_nefvbay.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/btf_turretplatform_c.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/btf_turretplatform_c.dif new file mode 100644 index 00000000..dd66956d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/btf_turretplatform_c.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_broadside_nef.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_broadside_nef.dif new file mode 100644 index 00000000..077e2cc9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_broadside_nef.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_nefRaindance.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_nefRaindance.dif new file mode 100644 index 00000000..b4e69a26 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_nefRaindance.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neffloat1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neffloat1.dif new file mode 100644 index 00000000..608c3535 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neffloat1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neffloat2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neffloat2.dif new file mode 100644 index 00000000..641936d9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neffloat2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neficeridge.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neficeridge.dif new file mode 100644 index 00000000..d58cb0e0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_neficeridge.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_tokrz_scarabrae.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_tokrz_scarabrae.dif new file mode 100644 index 00000000..f53c4ee0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbase_tokrz_scarabrae.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nef_invbunk1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nef_invbunk1.dif new file mode 100644 index 00000000..7359d84e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nef_invbunk1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefcliffside.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefcliffside.dif new file mode 100644 index 00000000..7109dd2c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefcliffside.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefdcbunk.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefdcbunk.dif new file mode 100644 index 00000000..be1bac6b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefdcbunk.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefsmall.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefsmall.dif new file mode 100644 index 00000000..e512cc14 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_nefsmall.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_snowblind.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_snowblind.dif new file mode 100644 index 00000000..2c225ae9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_snowblind.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_stonehenge1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_stonehenge1.dif new file mode 100644 index 00000000..e29a1da8 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_stonehenge1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_vbunk1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_vbunk1.dif new file mode 100644 index 00000000..1ef0133c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dbunk_vbunk1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefbridge.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefbridge.dif new file mode 100644 index 00000000..6f0b0b3a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefbridge.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefflagstand2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefflagstand2.dif new file mode 100644 index 00000000..f534eaee Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefflagstand2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefflagstand3.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefflagstand3.dif new file mode 100644 index 00000000..9f433611 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefflagstand3.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefobj1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefobj1.dif new file mode 100644 index 00000000..3097b6aa Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefobj1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefobj2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefobj2.dif new file mode 100644 index 00000000..239a0ae5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefobj2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefplat1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefplat1.dif new file mode 100644 index 00000000..939cb9ca Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefplat1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefplug1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefplug1.dif new file mode 100644 index 00000000..c11f960e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefplug1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefrdbridge1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefrdbridge1.dif new file mode 100644 index 00000000..4e29e51d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_nefrdbridge1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower1.dif new file mode 100644 index 00000000..990a86d0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower2.dif new file mode 100644 index 00000000..fb23db11 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower3.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower3.dif new file mode 100644 index 00000000..4836aa93 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_neftower3.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge1.dif new file mode 100644 index 00000000..5ed3a3c9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge2.dif new file mode 100644 index 00000000..3530a5d6 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge3.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge3.dif new file mode 100644 index 00000000..f066e704 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dmisc_stonehenge3.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/dtowr_classic1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dtowr_classic1.dif new file mode 100644 index 00000000..2e9ebcc4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/dtowr_classic1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/flagbridge.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/flagbridge.dif new file mode 100644 index 00000000..e45ed216 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/flagbridge.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackairinv13.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackairinv13.dif new file mode 100644 index 00000000..cdb19c73 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackairinv13.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackbase5618_final.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackbase5618_final.dif new file mode 100644 index 00000000..00badf08 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackbase5618_final.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackturret8.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackturret8.dif new file mode 100644 index 00000000..561af990 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/infbutch_blackturret8.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbase_nef_giant.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbase_nef_giant.dif new file mode 100644 index 00000000..466ad312 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbase_nef_giant.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbase_nef_vbase1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbase_nef_vbase1.dif new file mode 100644 index 00000000..967946c9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbase_nef_vbase1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbunk4a_CC.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbunk4a_CC.dif new file mode 100644 index 00000000..749e13f9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbunk4a_CC.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbunk7a_CC.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbunk7a_CC.dif new file mode 100644 index 00000000..20a87ca7 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/pbunk7a_CC.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_base.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_base.dif new file mode 100644 index 00000000..bc7b1c54 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_base.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_tower.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_tower.dif new file mode 100644 index 00000000..8039ef4d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_tower.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_wall4.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_wall4.dif new file mode 100644 index 00000000..711bac20 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ram_wall4.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_boundrymarker.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_boundrymarker.dif new file mode 100644 index 00000000..56718173 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_boundrymarker.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_boundrymarker2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_boundrymarker2.dif new file mode 100644 index 00000000..4dcccf2e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_boundrymarker2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_bridge1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_bridge1.dif new file mode 100644 index 00000000..25fbbdcd Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_bridge1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_mainbase.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_mainbase.dif new file mode 100644 index 00000000..9dbedf12 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain2_mainbase.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain_turretbase1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain_turretbase1.dif new file mode 100644 index 00000000..d8fc6434 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_domain_turretbase1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_bridge.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_bridge.dif new file mode 100644 index 00000000..9d37a111 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_bridge.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_mainbase.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_mainbase.dif new file mode 100644 index 00000000..a04a4f35 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_mainbase.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_platform1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_platform1.dif new file mode 100644 index 00000000..47045bce Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_platform1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_towerbunker.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_towerbunker.dif new file mode 100644 index 00000000..69057fc0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/rilke_whitedwarf_towerbunker.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin1.dif new file mode 100644 index 00000000..37c8319d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin2.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin2.dif new file mode 100644 index 00000000..f7914221 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin2.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin3.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin3.dif new file mode 100644 index 00000000..1b1c6fc5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin3.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin4.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin4.dif new file mode 100644 index 00000000..abc8d554 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruin4.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruinarch.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruinarch.dif new file mode 100644 index 00000000..e51469b1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/ruinarch.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/sbunk_nef1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/sbunk_nef1.dif new file mode 100644 index 00000000..21ab772e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/sbunk_nef1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/siege.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/siege.dif new file mode 100644 index 00000000..7d4719e7 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/siege.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/smisc_nef1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/smisc_nef1.dif new file mode 100644 index 00000000..d5659ac9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/smisc_nef1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bbase_ccb2a.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bbase_ccb2a.dif new file mode 100644 index 00000000..90ac2bcf Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bbase_ccb2a.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bmisc_tunl_ccb1.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bmisc_tunl_ccb1.dif new file mode 100644 index 00000000..f558f8d5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bmisc_tunl_ccb1.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_cnr_CC.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_cnr_CC.dif new file mode 100644 index 00000000..1bc1fab1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_cnr_CC.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_lrg_CC.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_lrg_CC.dif new file mode 100644 index 00000000..12fa5c12 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_lrg_CC.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_sm_CC.dif b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_sm_CC.dif new file mode 100644 index 00000000..d6840c92 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/interiors/t_bwall2a_sm_CC.dif differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/AcidRain.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/AcidRain.mis new file mode 100644 index 00000000..2aee8c7c --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/AcidRain.mis @@ -0,0 +1,1549 @@ +// DisplayName = Acid Rain +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//The trouble ain't that there is too many fools, but that the lightning ain't distributed right. +// -- Mark Twain +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Solar Panel powers turrets +//Lightning strikes within 200m of wreck +//Map by RavensBro, z0dd, CleverClothe +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + musicTrack = "desert"; + powerCount = "0"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-656 -1152 1808 1808"; + flightCeiling = "300"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1200 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1200 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0011"; + cloudSpeed2 = "0.0012"; + cloudSpeed3 = "0.0013"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.250000 0.250000 0.320000 0.100000"; + fogDistance = "430"; + fogColor = "0.250000 0.250000 0.320000 0.100000"; + fogVolume1 = "375 0 200"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_brown.dml"; + windVelocity = "2 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.27463e-09 -1.70189"; + high_fogVolume2 = "-1 -1.82068e-07 -1.75722e-13"; + high_fogVolume3 = "-1 9.96295e-28 2940.84"; + + cloudSpeed0 = "1.000000 0.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "AcidRain.ter"; + squareSize = "8"; + emptySquares = "210310 210567 145288 80009 98998 230325 165044 99764"; + + position = "-1024 -1024 0"; + hazeDistance = "550"; + locked = "true"; + visibleDistance = "1200"; + }; + new WaterBlock(Water) { + position = "-648 -1024 8.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 67"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "4"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.7"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0"; + submergeTexture[0] = "lush/skies/lush_night_emap"; + removeWetEdges = "0"; + + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "AcidRain.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "471.523 -559.064 78.3027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "310.854 -587.227 86.6055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "230.951 -473.911 79.4852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "136.621 -274.947 78.4013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "144.791 -157.597 78.5123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "82.5787 -74.2006 78.402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "151.81 74.6052 78.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "333.253 232.825 97.2279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "518.603 188.407 78.7948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.657 -42.0025 86.6341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "469.154 -253.249 78.4155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "669.676 -285.345 78.0875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "416.293 -501.129 79.1362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "193.79 -734.788 78.4975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.4136 -476.106 77.9888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-253.627 -281.152 77.8305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156.539 -11.7991 78.1681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "655.977 120.293 78.2007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "353.329 236.015 96.5894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "696.512 -10.6844 77.7905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "747.251 -124.661 93.6784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "648.097 -138.766 76.3005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "682.475 -120.638 76.7615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "472.165 -179.349 77.6331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "424.636 -245.946 78.0115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "407.149 -313.478 78.2166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "419.557 -392.799 78.015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "490.595 -524.875 77.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604.55 -522.879 77.471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452.356 -614.32 78.2526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "339.878 -639.028 77.7669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "318.805 -695.202 76.0517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "243.42 -699.422 76.5469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "238.497 -727.578 76.5868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "110.65 -762.536 76.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68.2864 -678.325 75.9362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "9.07294 -656.369 78.2464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-177.273 -821.321 78.1926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236.249 -791.856 77.5451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-329.772 -614.174 77.5462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-282.963 -564.44 78.3489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-205.629 -537.16 78.2039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-112.174 -487.919 77.6438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132.989 -409.017 77.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.553 -327.969 77.4354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-13.9775 -283.841 76.6999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "238.985 -140.86 76.6679"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.94 -42.1782 78.4582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "271.332 32.3476 78.1377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "406.419 91.9677 77.3836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468.497 154.902 77.0109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452.124 270.244 78.5391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "200.71 -1.03873 78.4183"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268.539 68.2105 77.9537"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "14.8062 -735.264 77.8174"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460.296 -91.0434 77.8793"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "535.524 28.8776 86.5013"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "392.358 19.3388 101.791"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324.491 -328.578 77.8121"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "377.977 -444.539 77.8729"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "262.028 -643.738 78.1398"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-206.5 -302.5 78.9004"; + rotation = "0 0 -1 24"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "575.5 -281.5 78.8535"; + rotation = "0 0 -1 69"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition8PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "470.5 -577.5 79.1093"; + rotation = "0 0 -1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-216.5 -282.5 79.0195"; + rotation = "0 0 1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "481.5 -131.5 78.8985"; + rotation = "0 0 1 146"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-344.5 -118.5 78.7695"; + rotation = "0 0 1 174"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-288.5 92.5 78.4531"; + rotation = "0 0 1 41"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "503.5 74.5 78.7324"; + rotation = "0 0 1 59"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "578.5 43.5 86.7305"; + rotation = "0 0 1 147"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "72.5 -505.5 104.025"; + rotation = "0 0 -1 83"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-82.5 -645.5 78.8145"; + rotation = "0 0 1 216"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "392.99 185.767 114.39"; + rotation = "0 0 1 124.514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "180.473 -651.704 108.754"; + rotation = "0 0 -1 104.461"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "40.9829 -556.464 83.9768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "75.6 -818.2 70.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance() { + position = "95.52 -721.59 79.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk7a_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "36.2669 -549.439 82.1384"; + rotation = "0 0 1 143.995"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "44.305 -603.386 105.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "93.54 -719.59 79.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "58.3281 -525.951 90.1193"; + rotation = "0 0 1 54.431"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "65.6867 -536.033 90.1228"; + rotation = "0 0 1 53.858"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "14.1781 -555.601 92.1233"; + rotation = "0 0 1 234.522"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "77.7034 -577.995 92.5287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "57.9645 -510.677 83.1167"; + rotation = "0 0 1 233.949"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "242.897 -808.515 102.393"; + rotation = "0 0 1 234.522"; + scale = "1 1 1"; + interiorFile = "ptowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "17.5747 -523.769 83.1232"; + rotation = "0 0 -1 38.3882"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "38.649 -552.767 80.1558"; + rotation = "0 0 -1 36.0963"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new StaticShape() { + position = "23.8496 -568.988 92.1233"; + rotation = "0 0 1 233.949"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Turrets) { + + powerCount = "1"; + + new StaticShape() { + position = "243.054 -808.438 127.861"; + rotation = "0 0 1 235.095"; + scale = "1 1 1"; + nameTag = "Turrets"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "86.1389 -572.824 106.035"; + rotation = "0 0 1 143.995"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "237.457 -800.876 126.851"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + nameTag = "Solar Panel"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "399.396 4.13148 82.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "525.986 240.755 95"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance() { + position = "392.184 -0.979332 81.2551"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.773 7.67577 105.18"; + rotation = "0 0 -1 80.7871"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "501.669 142.396 80.2243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "368.388 20.9269 89.2266"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "378.384 28.2299 89.2282"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "353.152 20.2153 82.2567"; + rotation = "0 0 1 143.422"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "420.371 40.5449 91.8387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "667.597 188.39 101.14"; + rotation = "0 0 1 145.532"; + scale = "1 1 1"; + interiorFile = "ptowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "366.807 -20.0104 82.2412"; + rotation = "0 0 1 232.803"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "395.384 1.56766 79.179"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new InteriorInstance() { + position = "503.649 140.396 80.2343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk7a_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "412.221 -12.929 91.2339"; + rotation = "0 0 1 142.849"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "398.791 -22.8624 91.2439"; + rotation = "0 0 1 143.422"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Turrets) { + + powerCount = "1"; + + new StaticShape() { + position = "667.015 189.304 126.608"; + rotation = "-0 0 -1 32.6586"; + scale = "1 1 1"; + nameTag = "Turrets"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "414.982 49.2235 105.151"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "659.881 183.098 125.62"; + rotation = "0 0 1 235.096"; + scale = "1 1 1"; + nameTag = "Solar Panel"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Spires) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-308.283 -4.9731 97.3154"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-228.669 -627.489 81.4123"; + rotation = "0 0 1 69.9008"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "168.51 -358.376 53.8925"; + rotation = "0 0 1 1.14465"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "502.565 -155.993 71.2782"; + rotation = "0 0 1 187.54"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "104.71 -4.7591 67.8742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "137.598 -3.2641 69.9934"; + rotation = "0 0 -1 8.5942"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(sounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "228.541 137.24 78.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "592.6 -522.436 77.1892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "190.365 -230.472 79.2608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Rocks) { + + powerCount = "0"; + + new InteriorInstance() { + position = "75.1851 -786.716 68.9522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "486.808 220.245 69.4726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "83.5965 -618.882 89.8062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "3"; + maxNumDrops = "1000"; + maxRadius = "80"; + + locked = "true"; + }; + new SimGroup(prop) { + + powerCount = "0"; + + new WayPoint() { + position = "304.422 -290.586 81.2528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Wreck"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new TSStatic() { + position = "301.982 -292.223 85.3001"; + rotation = "1 0 0 26.3561"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "303.98 -289.979 87.4444"; + rotation = "1 0 0 26.3561"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "ELFSparksEmitter"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "302.287 -289.914 86.6371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "669.33 186.925 149.614"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "FlareEmitter"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "240.687 -810.237 150.719"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "FlareEmitter"; + velocity = "1"; + + locked = "true"; + }; + }; + new Lightning() { + position = "669.533 186.97 348.74"; + rotation = "0 0 1 18.3347"; + scale = "1 1 400"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "1"; + strikeWidth = "1"; + chanceToHitTarget = "0.9"; + strikeRadius = "5"; + boltStartRadius = "5"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new Lightning() { + position = "241.347 -810.754 347.457"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 400"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "1"; + strikeWidth = "1"; + chanceToHitTarget = "0.9"; + strikeRadius = "5"; + boltStartRadius = "5"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new Lightning() { + position = "304.422 -290.586 81.2528"; + rotation = "1 0 0 0"; + scale = "1 1 500"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "7"; + strikeWidth = "3"; + chanceToHitTarget = "0.4"; + strikeRadius = "150"; + boltStartRadius = "1"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new Lightning() { + position = "304.422 -290.586 81.2528"; + rotation = "1 0 0 0"; + scale = "1 1 500"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "4"; + strikeWidth = "5"; + chanceToHitTarget = "0.6"; + strikeRadius = "150"; + boltStartRadius = "1"; + color = "0.500000 0.500000 0.500000 0.500000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new Lightning() { + position = "304.422 -290.586 81.2528"; + rotation = "1 0 0 0"; + scale = "1 1 500"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "2"; + strikeWidth = "10"; + chanceToHitTarget = "0.95"; + strikeRadius = "150"; + boltStartRadius = "1"; + color = "0.500000 0.500000 0.500000 0.500000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "422.608 48.1236 82.7278"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Blastside_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Blastside_nef.mis new file mode 100644 index 00000000..c9d282b5 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Blastside_nef.mis @@ -0,0 +1,1556 @@ +// DisplayName = Blastside +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//The BloodEagle and Diamond Sword battle each other at close range with their massive flying bases. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, ToKrZ, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "5"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-432 -648 954 1062"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Broadside_nef.ter"; + squareSize = "9"; + + hazeDistance = "250"; + position = "-1024 -1024 300"; + locked = "true"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "Broadside_nef.nav"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-64.4159 13.6585 145.188"; + rotation = "0.00743734 -0.26844 0.963268 176.943"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-63.2053 -7.01049 165.596"; + rotation = "0.533692 0.122781 -0.836719 30.7476"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "187.219 -363.093 170.532"; + rotation = "0.00928399 -0.335151 0.942119 177.01"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "191.727 -367.337 189.496"; + rotation = "0.00212489 -0.0767046 0.997052 176.836"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(AmbientSounds) { + + + new AudioEmitter() { + position = "-21.4999 620.747 216.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "61.6892 13.9721 224.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-120.093 -5.3815 280.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "382.261 176.691 172.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "211.971 -138.511 249.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.1574 -272.541 242.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "140.348 -630.719 234.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "650"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.750000 0.750000 1.000000"; + fogDistance = "300"; + fogColor = "0.700000 0.750000 0.750000 1.000000"; + fogVolume1 = "200 0 60"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "500"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 1.73821e-33 1.41683e-33"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 1.73819e-33 -8.94073e-08"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-65.0924 -4.67314 134.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(objective) { + + + new StaticShape() { + position = "-63.8008 -5.64356 130.046"; + rotation = "-0 0 -1 30"; + scale = "1 1 2.61414"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "-63.8174 -5.62886 130.757"; + rotation = "0 0 -1 29.5876"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-64.1711 -4.93482 123.023"; + rotation = "-0 0 -1 30"; + scale = "1 1 1"; + interiorFile = "dbase_broadside_nef.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-85.8878 14.6045 164.136"; + rotation = "0.377964 0.654654 0.654654 221.41"; + scale = "0.784962 0.694524 0.724395"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-67.426 0.82743 189.961"; + rotation = "0 0 1 149.909"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-72.0859 22.6244 164.131"; + rotation = "0.377964 0.654654 0.654654 221.41"; + scale = "0.784962 0.694524 0.724395"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-68.2727 -22.6531 148.017"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-46.6655 -10.1646 148.011"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-76.9919 -0.405494 130.013"; + rotation = "-0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-61.692 8.45082 130.004"; + rotation = "0 0 1 15.573"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-64.5483 13.1858 137.322"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-53.5442 4.04308 117.014"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-77.2769 -9.60055 117.013"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-42.9455 1.91163 137.015"; + rotation = "0 0 1 15.4699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-80.7543 -19.9098 137.013"; + rotation = "0 0 -1 74.4845"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "184.859 -371.873 160.275"; + rotation = "0 0 1 172.07"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(objective) { + + + new StaticShape() { + position = "183.457 -371.105 155.373"; + rotation = "0 0 1 142.07"; + scale = "1 1 2.61414"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "183.475 -371.117 156.08"; + rotation = "0 0 1 141.337"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "183.91 -371.74 148.343"; + rotation = "0 0 1 142.07"; + scale = "1 1 1"; + interiorFile = "dbase_broadside_nef.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "208.378 -388.212 189.236"; + rotation = "-0.822763 0.401909 0.401909 101.107"; + scale = "1 0.616857 0.826004"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "188.303 -377.696 215.288"; + rotation = "0 0 -1 37.4483"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "195.756 -398.038 189.251"; + rotation = "-0.822763 0.401909 0.401909 101.107"; + scale = "1 0.616857 0.826004"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "185.528 -353.626 173.336"; + rotation = "-0 0 -1 37.9302"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "165.865 -368.995 173.335"; + rotation = "-0 0 -1 37.9302"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "197.184 -374.443 155.333"; + rotation = "0 0 1 97.0699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "183.282 -385.346 155.331"; + rotation = "0 0 1 187.07"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "187.449 -389.582 162.98"; + rotation = "0 0 1 142.07"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "174.609 -382.14 142.331"; + rotation = "0 0 1 232.07"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "196.248 -365.299 142.322"; + rotation = "0 0 1 52.0699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "198.278 -354.641 162.33"; + rotation = "0 0 1 97.4028"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "163.852 -381.563 162.327"; + rotation = "0 0 1 186.966"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new SimGroup(AIObjectives) { + + }; + }; + }; + new SimGroup(ffs) { + + providesPower = "1"; + + new ForceFieldBare() { + position = "190.528 -381.31 180.689"; + rotation = "0 0 -1 37.4485"; + scale = "0.1 0.775412 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "191.508 -380.484 180.689"; + rotation = "0 0 -1 37.4485"; + scale = "0.1 0.621034 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "190.135 -380.234 180.689"; + rotation = "0 0 1 52.5515"; + scale = "0.1 0.639594 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "190.938 -381.282 180.689"; + rotation = "0 0 1 52.5515"; + scale = "0.1 0.658646 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-69.7724 4.13064 155.517"; + rotation = "0 0 1 60.5729"; + scale = "0.1 0.658646 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-70.4399 5.27122 155.517"; + rotation = "0 0 1 61.7188"; + scale = "0.1 0.639594 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-69.3431 5.42556 155.517"; + rotation = "0 0 1 147.226"; + scale = "0.1 0.621034 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-70.2188 4.16892 155.517"; + rotation = "0 0 -1 31.146"; + scale = "0.1 0.634215 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "12.9575 -14.676 102.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "82.3922 -342.699 107.064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "104.167 -375.191 129.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "30.4515 -50.4124 83.0632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "-20 220 71.4583"; + rotation = "0 0 1 13"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -692 50.6042"; + rotation = "0 0 -1 10.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -500 66.8542"; + rotation = "0 0 -1 10.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -84 120.139"; + rotation = "0 0 1 132"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 100 25.7257"; + rotation = "0 0 1 70.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -652 109.767"; + rotation = "0 0 1 26"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -404 30.8124"; + rotation = "0 0 -1 91"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -596 19.9653"; + rotation = "0 0 1 47"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -676 53.0173"; + rotation = "0 0 1 27"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -92 66.9479"; + rotation = "0 0 1 106"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -476 86.8576"; + rotation = "0 0 1 15"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -300 40.4374"; + rotation = "0 0 1 197"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -540 17.3681"; + rotation = "0 0 1 178"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -492 69.9583"; + rotation = "0 0 1 220"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -36 34.0521"; + rotation = "0 0 1 209"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -684 110.691"; + rotation = "0 0 -1 49.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -692 77.9653"; + rotation = "0 0 1 228"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -108 23.2847"; + rotation = "0 0 1 233"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 196 112.083"; + rotation = "0 0 -1 13.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -276 103.865"; + rotation = "0 0 1 141"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -412 29.8403"; + rotation = "0 0 1 103"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -28 20.2778"; + rotation = "0 0 1 21"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 140 57.3333"; + rotation = "0 0 1 33"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -684 49.7187"; + rotation = "0 0 1 195"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -668 142.392"; + rotation = "0 0 1 120"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -348 68.559"; + rotation = "0 0 1 195"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 20 93.8472"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 132 73.7187"; + rotation = "0 0 -1 63.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -732 61.7812"; + rotation = "0 0 1 20"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -268 65.691"; + rotation = "0 0 1 7.00001"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -188 67.9862"; + rotation = "0 0 1 32"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -412 65.2222"; + rotation = "0 0 1 133"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -60 31.9653"; + rotation = "0 0 1 79.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -556 21.677"; + rotation = "0 0 1 187"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -732 50.4895"; + rotation = "0 0 -1 74.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 84 66.934"; + rotation = "0 0 1 45"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -316 57.5451"; + rotation = "0 0 1 127"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -564 100.49"; + rotation = "0 0 1 138"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -100 28.2361"; + rotation = "0 0 1 218"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant5) { + + + new TSStatic() { + position = "-212 -460 17.6319"; + rotation = "-0.219369 -0.0830583 0.9721 139.073"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 -388 58.5486"; + rotation = "-0.0878513 0.0107119 0.996076 197.931"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -60 38.5486"; + rotation = "0.015293 0.0441871 0.998906 215.963"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 60 79.6771"; + rotation = "-0.187122 -0.04358 0.981369 174.112"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 68 59.993"; + rotation = "-0.188934 -0.0306172 0.981512 50.824"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -340 62.3264"; + rotation = "-0.232001 -0.716301 0.658095 37.2346"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -372 25.9028"; + rotation = "0.155315 -0.0260202 0.987522 156.291"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -340 111.733"; + rotation = "-0.181373 0.154428 0.971214 143.019"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 188 135.271"; + rotation = "0.438096 -0.266561 0.858497 39.204"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -156 120.302"; + rotation = "-0.195508 0.105729 0.974986 237.764"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -92 78.3125"; + rotation = "-0.398764 -0.241747 0.884616 23.6661"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -316 60.5451"; + rotation = "-0.184537 -0.0393385 0.982038 194.733"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -420 83.4549"; + rotation = "0.0905013 0.0268736 0.995534 146.143"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -532 106.858"; + rotation = "0.26838 -0.172285 -0.947782 61.6698"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 156 74.0347"; + rotation = "-0.0395213 0.162292 0.985951 192.819"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -612 63.25"; + rotation = "-0.0261084 0.265762 0.963685 223.521"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -156 35.8055"; + rotation = "-0.0604294 0.0483925 0.996999 154.076"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -396 38.3021"; + rotation = "-0.0706205 0.180482 0.98104 59.9446"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -428 86.2881"; + rotation = "0.408998 -0.621721 0.66797 26.6785"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -212 74.5764"; + rotation = "0.0884004 -0.079568 0.992902 193.902"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -612 145.188"; + rotation = "0.184546 -0.17426 -0.967252 28.9091"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -380 69.1389"; + rotation = "-0.00367781 -0.0627586 0.998022 147.062"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 220 130.424"; + rotation = "-0.246831 0.164932 -0.95492 79.5879"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -116 35.7778"; + rotation = "0.0530841 -0.221661 -0.973678 21.5544"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -164 51.4444"; + rotation = "0.818239 0.51735 -0.250666 19.7611"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -68 38.8298"; + rotation = "0.112624 -0.0833858 0.990133 168.117"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -460 71.4375"; + rotation = "0.0786003 0.052622 0.995516 86.2565"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -388 52.3681"; + rotation = "-0.114426 0.126211 0.985382 154.367"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -172 82.066"; + rotation = "-0.370568 0.0986202 0.923555 53.5789"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 -92 62.8438"; + rotation = "0.34487 -0.350892 -0.870597 37.5806"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 204 74.3159"; + rotation = "-0.181754 -0.180357 0.966663 122.651"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 44 63.9132"; + rotation = "0.0222327 -0.196401 -0.980272 108.089"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -124 119.611"; + rotation = "0.273519 -0.250099 0.928783 47.0187"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -684 82.0833"; + rotation = "-0.966237 -0.232486 0.111069 17.8625"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 20 32.3541"; + rotation = "-0.0387028 -0.123876 0.991543 121.416"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -580 105.778"; + rotation = "-0.0593654 0.179765 0.981917 167.233"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 36 61.4306"; + rotation = "-0.0199814 0.0266332 0.999446 168.007"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -148 77.7431"; + rotation = "-0.0309646 0.0331639 0.99897 173.007"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 92 95.7812"; + rotation = "-0.657447 0.744409 0.116699 25.2941"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -212 91.9653"; + rotation = "0.44223 -0.585957 0.679034 17.5974"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -340 32.4306"; + rotation = "0.0695194 0.0234925 0.997304 208.925"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -612 131.247"; + rotation = "0.235763 0.139984 0.961676 98.2216"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -244 21"; + rotation = "0.182175 0.0300767 0.982806 106.953"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -596 57.434"; + rotation = "0.058545 0.262103 0.963262 216.699"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 124 79.3958"; + rotation = "-0.137086 0.103692 0.985117 88.8589"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -540 97.9375"; + rotation = "-0.143485 0.149381 0.978314 204.474"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -540 92.934"; + rotation = "-0.130067 0.0852129 0.987837 165.18"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 212 66.4653"; + rotation = "0.0242762 0.0277441 0.99932 90.0391"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 4 32.5729"; + rotation = "-0.0267044 -0.0392431 0.998873 190.987"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 68 60.6285"; + rotation = "-0.486378 -0.0399301 0.872835 23.9764"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Broadside_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Broadside_nef.mis new file mode 100644 index 00000000..58552bc3 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Broadside_nef.mis @@ -0,0 +1,1452 @@ +// DisplayName = Broadside +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//The BloodEagle and Diamond Sword battle each other at close range with their massive flying bases. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, ToKrZ, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_scoreLimit = "5"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-432 -648 954 1062"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Broadside_nef.ter"; + squareSize = "9"; + + position = "-1024 -1024 300"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + XDimOverSize = "0"; + GraphFile = "Broadside_nef.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-64.4159 13.6585 145.188"; + rotation = "0.00743734 -0.26844 0.963268 176.943"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-63.2053 -7.01049 165.596"; + rotation = "0.533692 0.122781 -0.836719 30.7476"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "187.219 -363.093 170.532"; + rotation = "0.00928399 -0.335151 0.942119 177.01"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "191.727 -367.337 189.496"; + rotation = "0.00212489 -0.0767046 0.997052 176.836"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(AmbientSounds) { + + + new AudioEmitter() { + position = "-21.4999 620.747 216.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "61.6892 13.9721 224.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-120.093 -5.3815 280.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "382.261 176.691 172.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "211.971 -138.511 249.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.1574 -272.541 242.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "140.348 -630.719 234.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "650"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.750000 0.750000 1.000000"; + fogDistance = "300"; + fogColor = "0.700000 0.750000 0.750000 1.000000"; + fogVolume1 = "200 0 60"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "500"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 1.73821e-33 1.41683e-33"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 1.73819e-33 -8.94073e-08"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-65.0924 -4.67314 134.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(objective) { + + + new StaticShape() { + position = "-58.1992 -15.0046 137.033"; + rotation = "-0 0 -1 30"; + scale = "1 1 2.61414"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "-58.2158 -14.9899 137.744"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-64.1711 -4.93482 123.023"; + rotation = "-0 0 -1 30"; + scale = "1 1 1"; + interiorFile = "dbase_broadside_nef.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-3.29785 -26.5093 122.954"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-77.9017 18.8422 174.07"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-85.8878 14.6045 164.136"; + rotation = "0.377964 0.654654 0.654654 221.41"; + scale = "0.784962 0.694524 0.724395"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-67.426 0.82743 189.961"; + rotation = "0 0 1 149.909"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-72.0859 22.6244 164.131"; + rotation = "0.377964 0.654654 0.654654 221.41"; + scale = "0.784962 0.694524 0.724395"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-68.2727 -22.6531 148.017"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-46.6655 -10.1646 148.011"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-76.9919 -0.405494 130.013"; + rotation = "-0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-61.692 8.45082 130.004"; + rotation = "0 0 1 15.573"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-64.5483 13.1858 137.322"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-53.5442 4.04308 117.014"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-77.2769 -9.60055 117.013"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "184.859 -371.873 160.275"; + rotation = "0 0 1 172.07"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(objective) { + + + new StaticShape() { + position = "176.606 -362.591 162.353"; + rotation = "0 0 1 142.07"; + scale = "1 1 2.61414"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "176.624 -362.603 163.06"; + rotation = "0 0 1 202.07"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "183.91 -371.74 148.343"; + rotation = "0 0 1 142.07"; + scale = "1 1 1"; + interiorFile = "dbase_broadside_nef.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "120.561 -358.816 148.275"; + rotation = "0 0 -1 36.7843"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "200.767 -393.412 199.39"; + rotation = "0 0 1 232.07"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "208.378 -388.212 189.236"; + rotation = "-0.822763 0.401909 0.401909 101.107"; + scale = "1 0.616857 0.826004"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "188.303 -377.696 215.288"; + rotation = "0 0 -1 37.4483"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "195.756 -398.038 189.251"; + rotation = "-0.822763 0.401909 0.401909 101.107"; + scale = "1 0.616857 0.826004"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "185.528 -353.626 173.336"; + rotation = "-0 0 -1 37.9302"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "165.865 -368.995 173.335"; + rotation = "-0 0 -1 37.9302"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "197.184 -374.443 155.333"; + rotation = "0 0 1 97.0699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "183.282 -385.346 155.331"; + rotation = "0 0 1 187.07"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "187.449 -389.582 162.98"; + rotation = "0 0 1 142.07"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "174.609 -382.14 142.331"; + rotation = "0 0 1 232.07"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "196.248 -365.299 142.322"; + rotation = "0 0 1 52.0699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new SimGroup(AIObjectives) { + + }; + }; + }; + new SimGroup(ffs) { + + providesPower = "1"; + + new ForceFieldBare() { + position = "190.528 -381.31 180.689"; + rotation = "0 0 -1 37.4485"; + scale = "0.1 0.775412 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + + new ForceFieldBare() { + position = "191.508 -380.484 180.689"; + rotation = "0 0 -1 37.4485"; + scale = "0.1 0.621034 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "190.135 -380.234 180.689"; + rotation = "0 0 1 52.5515"; + scale = "0.1 0.639594 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "190.938 -381.282 180.689"; + rotation = "0 0 1 52.5515"; + scale = "0.1 0.658646 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-69.7724 4.13064 155.517"; + rotation = "0 0 1 60.5729"; + scale = "0.1 0.658646 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-70.4399 5.27122 155.517"; + rotation = "0 0 1 61.7188"; + scale = "0.1 0.639594 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-69.3431 5.42556 155.517"; + rotation = "0 0 1 147.226"; + scale = "0.1 0.621034 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-70.2188 4.16892 155.517"; + rotation = "0 0 -1 31.146"; + scale = "0.1 0.634215 9.66915"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "12.9575 -14.676 102.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "82.3922 -342.699 107.064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "104.167 -375.191 129.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "30.4515 -50.4124 83.0632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree16) { + + powerCount = "0"; + + new TSStatic() { + position = "-20 220 71.4583"; + rotation = "0 0 1 13"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-276 -692 50.6042"; + rotation = "0 0 -1 10.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "188 -500 66.8542"; + rotation = "0 0 -1 10.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-388 -84 120.139"; + rotation = "0 0 1 132"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "308 -396 53.5243"; + rotation = "0 0 1 120"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "100 -684 147.729"; + rotation = "0 0 1 3.99996"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "52 -404 30.8124"; + rotation = "0 0 -1 91"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "244 -124 30.6702"; + rotation = "0 0 1 216"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-332 -676 53.0173"; + rotation = "0 0 1 27"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "28 -92 66.9479"; + rotation = "0 0 1 106"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "108 -676 145.146"; + rotation = "0 0 1 6.00005"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "300 -300 40.4374"; + rotation = "0 0 1 197"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-212 -540 17.3681"; + rotation = "0 0 1 178"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-60 -492 69.9583"; + rotation = "0 0 1 220"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "132 -36 34.0521"; + rotation = "0 0 1 209"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "236 -684 110.691"; + rotation = "0 0 -1 49.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "428 -692 77.9653"; + rotation = "0 0 1 228"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-124 -108 23.2847"; + rotation = "0 0 1 233"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "332 196 112.083"; + rotation = "0 0 -1 13.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-180 -276 103.865"; + rotation = "0 0 1 141"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-396 -164 66.9583"; + rotation = "0 0 1 67"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-92 -28 20.2778"; + rotation = "0 0 1 21"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "28 140 57.3333"; + rotation = "0 0 1 33"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "100 -412 43.6145"; + rotation = "0 0 1 9.00004"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-92 -452 67.2153"; + rotation = "0 0 1 150"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "116 -348 68.559"; + rotation = "0 0 1 195"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "308 20 93.8472"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "396 132 73.7187"; + rotation = "0 0 -1 63.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-364 -732 61.7812"; + rotation = "0 0 1 20"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "444 -268 65.691"; + rotation = "0 0 1 7.00001"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "60 -540 96.75"; + rotation = "0 0 -1 76"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-116 -412 65.2222"; + rotation = "0 0 1 133"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "188 -60 31.9653"; + rotation = "0 0 1 79.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "60 172 58.8437"; + rotation = "0 0 -1 119"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-292 -732 50.4895"; + rotation = "0 0 -1 74.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "92 84 66.934"; + rotation = "0 0 1 45"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "412 -316 57.5451"; + rotation = "0 0 1 127"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "20 -564 100.49"; + rotation = "0 0 1 138"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "260 -100 28.2361"; + rotation = "0 0 1 218"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-252 -684 49.7187"; + rotation = "0 0 1 195"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-212 -596 19.9653"; + rotation = "0 0 1 47"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "196 -412 29.8403"; + rotation = "0 0 1 103"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "316 -708 78.1146"; + rotation = "0 0 1 217"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "204 -92 30.1944"; + rotation = "0 0 1 35"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-4 -188 67.9862"; + rotation = "0 0 1 32"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "108 -668 142.392"; + rotation = "0 0 1 120"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "180 -652 109.767"; + rotation = "0 0 1 26"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "388 -476 86.8576"; + rotation = "0 0 1 15"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-140 100 25.7257"; + rotation = "0 0 1 70.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-292 -556 21.677"; + rotation = "0 0 1 187"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + }; + new SimGroup(Addition3BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-212 -460 17.6319"; + rotation = "-0.219369 -0.0830583 0.9721 139.073"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "324 -388 58.5486"; + rotation = "-0.0878513 0.0107119 0.996076 197.931"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 -60 38.5486"; + rotation = "0.015293 0.0441871 0.998906 215.963"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 60 79.6771"; + rotation = "-0.187122 -0.04358 0.981369 174.112"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "428 68 59.993"; + rotation = "-0.188934 -0.0306172 0.981512 50.824"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 -340 62.3264"; + rotation = "-0.232001 -0.716301 0.658095 37.2346"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 -372 25.9028"; + rotation = "0.155315 -0.0260202 0.987522 156.291"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "484 -340 111.733"; + rotation = "-0.181373 0.154428 0.971214 143.019"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "252 188 135.271"; + rotation = "0.438096 -0.266561 0.858497 39.204"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "516 -156 120.302"; + rotation = "-0.195508 0.105729 0.974986 237.764"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "380 -92 78.3125"; + rotation = "-0.398764 -0.241747 0.884616 23.6661"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "412 -316 60.5451"; + rotation = "-0.184537 -0.0393385 0.982038 194.733"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "428 -420 83.4549"; + rotation = "0.0905013 0.0268736 0.995534 146.143"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 -532 106.858"; + rotation = "0.26838 -0.172285 -0.947782 61.6698"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "460 156 74.0347"; + rotation = "-0.0395213 0.162292 0.985951 192.819"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-388 -612 63.25"; + rotation = "-0.0261084 0.265762 0.963685 223.521"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 -156 35.8055"; + rotation = "-0.0604294 0.0483925 0.996999 154.076"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 -396 38.3021"; + rotation = "-0.0706205 0.180482 0.98104 59.9446"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 -428 86.2881"; + rotation = "0.408998 -0.621721 0.66797 26.6785"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 -212 74.5764"; + rotation = "0.0884004 -0.079568 0.992902 193.902"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "348 -612 145.188"; + rotation = "0.184546 -0.17426 -0.967252 28.9091"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 -380 69.1389"; + rotation = "-0.00367781 -0.0627586 0.998022 147.062"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "284 220 130.424"; + rotation = "-0.246831 0.164932 -0.95492 79.5879"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "196 -116 35.7778"; + rotation = "0.0530841 -0.221661 -0.973678 21.5544"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "300 -164 51.4444"; + rotation = "0.818239 0.51735 -0.250666 19.7611"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-172 -68 38.8298"; + rotation = "0.112624 -0.0833858 0.990133 168.117"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-92 -460 71.4375"; + rotation = "0.0786003 0.052622 0.995516 86.2565"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "292 -388 52.3681"; + rotation = "-0.114426 0.126211 0.985382 154.367"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "36 -172 82.066"; + rotation = "-0.370568 0.0986202 0.923555 53.5789"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "76 -92 62.8438"; + rotation = "0.34487 -0.350892 -0.870597 37.5806"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-4 204 74.3159"; + rotation = "-0.181754 -0.180357 0.966663 122.651"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-300 44 63.9132"; + rotation = "0.0222327 -0.196401 -0.980272 108.089"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-324 -124 119.611"; + rotation = "0.273519 -0.250099 0.928783 47.0187"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 -684 82.0833"; + rotation = "-0.966237 -0.232486 0.111069 17.8625"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 20 32.3541"; + rotation = "-0.0387028 -0.123876 0.991543 121.416"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "236 -580 105.778"; + rotation = "-0.0593654 0.179765 0.981917 167.233"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "508 36 61.4306"; + rotation = "-0.0199814 0.0266332 0.999446 168.007"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "28 -148 77.7431"; + rotation = "-0.0309646 0.0331639 0.99897 173.007"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "252 92 95.7812"; + rotation = "-0.657447 0.744409 0.116699 25.2941"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "108 -212 91.9653"; + rotation = "0.44223 -0.585957 0.679034 17.5974"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 -340 32.4306"; + rotation = "0.0695194 0.0234925 0.997304 208.925"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-4 -612 131.247"; + rotation = "0.235763 0.139984 0.961676 98.2216"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-68 -244 21"; + rotation = "0.182175 0.0300767 0.982806 106.953"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-404 -596 57.434"; + rotation = "0.058545 0.262103 0.963262 216.699"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "124 124 79.3958"; + rotation = "-0.137086 0.103692 0.985117 88.8589"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-36 -540 97.9375"; + rotation = "-0.143485 0.149381 0.978314 204.474"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 -540 92.934"; + rotation = "-0.130067 0.0852129 0.987837 165.18"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "484 212 66.4653"; + rotation = "0.0242762 0.0277441 0.99932 90.0391"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "36 4 32.5729"; + rotation = "-0.0267044 -0.0392431 0.998873 190.987"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "452 68 60.6285"; + rotation = "-0.486378 -0.0399301 0.872835 23.9764"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Confusco.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Confusco.mis new file mode 100644 index 00000000..7621e650 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Confusco.mis @@ -0,0 +1,1656 @@ +// DisplayName = Confusco +// MissionTypes = Bounty CTF DM + +//--- MISSION QUOTE BEGIN --- +//My name is Ozymandias, king of kings: Look on my works, ye Mighty, and despair! +// -- Percy Bysshe Shelley +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Bounty DM]Mission follows standard Rules of Engagement +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "6"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-608 -600 1216 1200"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 1"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.800000 0.800000 0.800000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Confusco.ter"; + squareSize = "8"; + emptySquares = "404348 381821 185473"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + GraphFile = "Confusco.nav"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0007"; + cloudSpeed2 = "0.0015"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.300000 0.200000 1.000000"; + fogDistance = "300"; + fogColor = "0.500000 0.300000 0.200000 1.000000"; + fogVolume1 = "300 0 150"; + fogVolume2 = "650 150 300"; + fogVolume3 = "900 301 600"; + materialList = "nef_RedPlanet2.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "750"; + high_fogDistance = "-1"; + high_fogVolume1 = "450 0 150"; + high_fogVolume2 = "800 150 300"; + high_fogVolume3 = "1050 301 600"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(equipment) { + + + new InteriorInstance() { + position = "-2.04145 665.403 536.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefcliffside.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "23.5397 696.278 539.117"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "17.6211 708.182 539.116"; + rotation = "0 0 1 63.0254"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-27.7305 696.459 539.114"; + rotation = "0 0 -1 63.5983"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-21.7036 708.394 539.123"; + rotation = "0 0 -1 63.0254"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "33.9824 717.081 538.111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-38.1197 717.064 538.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new StaticShape() { + position = "-2.01415 715.117 540.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "289.397 178.845 270.164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_c.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "289.396 -186.998 270.164"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_c.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "1.29844 -71.1899 218.548"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Turret() { + position = "1.29644 66.3421 217.171"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "289.391 177.412 274.275"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "289.381 -185.588 274.285"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "1.68699 66.362 215.092"; + rotation = "0 0 1 90"; + scale = "1.1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.45314 121.367 242.399"; + rotation = "1 0 0 0"; + scale = "1.1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-3.45868 120.716 244.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-2.04145 695.603 569.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new SpawnSphere() { + position = "-2.04145 695.603 569.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "-7.05138 -702.424 569.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + + + + }; + new SimGroup(Flagbase) { + + + new InteriorInstance() { + position = "285.386 -17.2473 227.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WaterBlock() { + position = "200 -96 100.673"; + rotation = "1 0 0 0"; + scale = "192 256 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Item() { + position = "289.397 -5.22518 220.164"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + }; + new Item() { + position = "-1.99494 727.442 540.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new WayPoint() { + position = "-2.14243 703.284 538.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new Item() { + position = "-2.08194 703.425 549.308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-2.0524 708.666 549.351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-7.77065 703.397 549.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-2.04962 698.141 549.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "3.70507 703.428 549.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(equipment) { + + + new InteriorInstance() { + position = "-7.05138 -672.424 536.232"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefcliffside.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-6.99953 -722.138 540.216"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "29.0409 -724.057 538.229"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-43.0112 -724.165 538.241"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "12.5864 -715.336 539.212"; + rotation = "0 0 1 116.883"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "18.5052 -703.481 539.204"; + rotation = "0 0 1 116.31"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-26.6734 -715.247 539.215"; + rotation = "0 0 -1 117.066"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-32.666 -703.379 539.206"; + rotation = "0 0 -1 115.92"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-7.42552 66.4515 217.184"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Turret() { + position = "-7.43201 -71.0973 218.549"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-295.629 178.492 274.275"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-295.623 179.925 270.164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_c.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.624 -187.468 270.164"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_c.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-295.639 -186.058 274.285"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-3.45314 -126.142 242.399"; + rotation = "1 0 0 0"; + scale = "1.1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-3.46384 -125.495 244.484"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-7.05138 -702.424 569.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(Flagbase) { + + + new InteriorInstance() { + position = "-299.984 -17.1718 227.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WaterBlock() { + position = "-400 -104 101.262"; + rotation = "1 0 0 0"; + scale = "192 256 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Item() { + position = "-295.99 -5.15145 220.118"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + }; + new Item() { + position = "-6.95416 -734.432 540.447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new WayPoint() { + position = "-7.06212 -710.495 538.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new Item() { + position = "-7.00953 -705.179 549.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-1.25206 -710.417 549.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-7.03907 -710.42 549.454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-7.00675 -715.704 549.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-12.7278 -710.448 549.516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + + new SimGroup(Wall) { + + + new InteriorInstance() { + position = "-3.06526 66.4061 243.4"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.06536 -71.19 243.4"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-7.825 -71.133 216.464"; + rotation = "0 0 1 90"; + scale = "1.1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1.69199 -71.194 216.466"; + rotation = "0 0 1 90"; + scale = "1.1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-7.82599 66.447 215.09"; + rotation = "0 0 1 90"; + scale = "1.1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.06526 106.405 243.4"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.0554 65.2056 230.753"; + rotation = "0 0 -1 90"; + scale = "1 0.132605 1"; + interiorFile = "bbrdg7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.0904 -71.5944 230.753"; + rotation = "0 0 -1 90"; + scale = "1 0.132605 1"; + interiorFile = "bbrdg7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.06536 -111.189 243.4"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Items) { + + + new Item() { + position = "-3.45032 -126.108 244.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.46844 121.36 244.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 109.967 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 69.977 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 90.007 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 49.827 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 -54.533 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 -94.523 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 -74.493 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.50597 -114.673 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-295.968 -5.17352 220.333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "1.67016 -71.156 218.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-7.77984 -71.156 218.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-7.78292 66.5062 217.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "289.436 -5.22145 220.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "1.72708 66.5062 217.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-295.65 178.496 275.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-295.606 -186.162 275.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "289.443 -185.641 275.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "289.379 177.485 275.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new Item() { + position = "-3.15606 3.41591 194.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-44.2736 606.462 555.73"; + rotation = "0.276118 -0.105511 0.955315 43.6025"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-392.202 -8.13882 243.418"; + rotation = "0.135753 -0.119591 0.983498 83.7036"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-37.527 -591.919 545.929"; + rotation = "0.0119797 -0.0671153 0.997673 159.805"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "361.468 -41.3622 244.636"; + rotation = "0.173981 0.115128 -0.977996 68.1661"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "-6.31219 -643.023 545.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-0.640991 639.346 546.132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-3.25109 3.20353 199.861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-296.275 -5.3102 183.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "289.278 -4.74468 173.279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(trees) { + + + new TSStatic() { + position = "-191.157 561.974 473.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-315.255 760.892 509.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.07 787.548 615.552"; + rotation = "-1 0 0 16.0429"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "185.123 750.48 581.134"; + rotation = "1 0 0 0"; + scale = "1.37494 2.15834 1.33133"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "344.994 423.085 510.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "318.165 258.855 345.526"; + rotation = "-1 0 0 13.751"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "594.387 452.047 419.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "711.897 -302.205 357.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "222.029 -681.406 537.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.916 -431.669 509.219"; + rotation = "1 0 0 0"; + scale = "2.29584 1.74185 1.77827"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "438.215 -590.258 516.292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "136.766 -1062.65 597.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-31.2774 -765.026 608.614"; + rotation = "1 0 0 0"; + scale = "2.02124 1.79728 1.8657"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188.56 -581.539 474.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-458.089 -489.294 528.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-305.923 -371.224 453.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-879.678 -325.788 410.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396.042 362.857 431.261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-394.539 530.477 567.904"; + rotation = "1 0 0 0"; + scale = "1 1 1.51653"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "590.087 126.757 211.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-34.2043 204.116 216.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "95.3625 -325.357 239.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "355.207 -113.762 221.708"; + rotation = "1 0 0 0"; + scale = "1.28231 1.25653 1.15981"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-107.813 56.1591 190.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-618.832 127.155 210.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition4BEPlant23) { + + + new TSStatic() { + position = "-52 36 213.5"; + rotation = "-0.136981 0.0176373 0.990417 174.057"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 -228 214.75"; + rotation = "0.051072 -0.0943565 0.994228 207.844"; + scale = "1.5 1.5 1.5"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 84 215.625"; + rotation = "-0.413127 0.579873 -0.702191 24.0305"; + scale = "1.7 1.7 1.7"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -388 226.234"; + rotation = "0.432754 0.55111 0.713443 27.7648"; + scale = "1.5 1.5 1.5"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -124 224.719"; + rotation = "-0.129208 0.143887 0.981123 203.56"; + scale = "1.5 1.5 1.5"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -84 202.359"; + rotation = "0.164527 -0.0989718 0.981395 122.908"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -156 219.531"; + rotation = "0.118056 -0.708004 -0.696271 27.0287"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -28 204.312"; + rotation = "-0.0557912 0.07789 0.9954 218.834"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 220 215.5"; + rotation = "-0.104153 -0.0472966 0.993436 206.829"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/DangerousCrossing_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/DangerousCrossing_nef.mis new file mode 100644 index 00000000..13b40cd5 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/DangerousCrossing_nef.mis @@ -0,0 +1,2425 @@ +// DisplayName = Dangerous Crossing +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Two bases, each with one flag, separated by a large chasm. A lengthy bridge joins the two. A straight line may be the quickest route, but not necessarily the safest in this mission... +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-384 -664 896 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "DangerousCrossing_nef.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "DangerousCrossing_nef.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new SimGroup(AmbientSounds) { + + + new AudioEmitter() { + position = "8.18838 4.68738 21.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-356.385 -403.657 163.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "38.5419 -545.858 209.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "147.42 -235.426 24.8715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "282.537 70.4095 150.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "446.319 218.146 76.7411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "293.537 -585.99 145.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-46.7896 -697.315 127.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-315.663 -526.902 196.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-614.545 -154.511 75.0835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-443.971 -70.8698 206.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-361.413 351.811 29.2453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "76.8658 302.759 193.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "198.681 137.14 177.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "124.621 -26.4371 21.8651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "42.0874 -144.166 161.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-253.594 -291.801 85.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.700000 0.700000 1.000000"; + fogDistance = "220"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 516692326335925828000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-213.763 42.4989 101.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-212.909 47.193 104.206"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-220.725 49.3895 104.188"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-207.098 41.5278 104.191"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-201.34 52.5966 122.193"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-213.844 45.3733 134.919"; + rotation = "0 0 1 122.636"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-216.4 41.1339 122.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-213.942 45.4191 104.145"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-320.53 114.613 156.8"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-212.183 56.5697 110.699"; + rotation = "-0.691225 0.184918 0.698579 201.237"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-215.633 34.3095 110.696"; + rotation = "-0.254967 -0.934331 0.249032 93.1303"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-336.802 -144.615 167.106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-213.94 45.4191 104.736"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + stand = "3499"; + }; + new InteriorInstance() { + position = "-336.425 -144.611 159.646"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "287.008 -285.796 110.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "286.192 -283.443 110.772"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "291.983 -289.094 110.75"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "278.423 -281.269 110.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "272.554 -292.329 128.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "285.164 -285.389 141.728"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "287.707 -280.779 128.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "285.198 -285.128 110.662"; + rotation = "0 0 1 187.448"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "413.412 -242.385 142.884"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "286.978 -274.071 117.241"; + rotation = "-0.693965 0.178234 0.6976 202.037"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "283.438 -296.283 117.279"; + rotation = "-0.250155 -0.935079 0.251099 93.811"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "385.038 -529.131 185.553"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "285.15 -285.138 111.267"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + stand = "3519"; + }; + new InteriorInstance() { + position = "384.797 -529.162 178.084"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-149.728 -7.48875 75.9454"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-122.679 -24.5839 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-95.6376 -41.6678 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-41.5443 -75.84 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-68.5862 -58.7561 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-14.4983 -92.9357 75.9567"; + rotation = "0 0 1 212.292"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "226.216 -248.392 77.6008"; + rotation = "0 0 1 212.865"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "91.847 -161.597 77.5895"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "118.724 -178.961 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "145.593 -196.314 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "199.342 -231.026 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "172.472 -213.672 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "258.149 -323.371 127.864"; + rotation = "0.0804185 -0.0405322 0.995937 53.6854"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-237.544 -10.1634 124.612"; + rotation = "0.711689 0.0283453 -0.701923 6.49514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "428.643 -247.368 148.898"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-323.843 130.376 162.814"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition6BEPlant1) { + + + new TSStatic() { + position = "100 -108 63.2088"; + rotation = "0.0649977 -0.771458 0.632952 28.0974"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 28 114.787"; + rotation = "-0.0575092 -0.000833559 0.998345 176.007"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -620 112.443"; + rotation = "-0.0759765 -0.0920096 0.992855 92.41"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 204 156.209"; + rotation = "0.223112 0.885322 -0.407953 24.2087"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -604 141.756"; + rotation = "-0.28507 0.519497 -0.805517 31.9855"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 308 126.646"; + rotation = "0.0684581 -0.0694007 -0.995237 114.249"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -444 63.5525"; + rotation = "-0.220743 -0.021871 0.975087 66.317"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -260 146.99"; + rotation = "0.307339 0.117502 -0.944318 73.114"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -220 42.7087"; + rotation = "0.0203464 0.119769 0.992593 188.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -36 120.646"; + rotation = "0.17395 -0.461662 -0.869833 16.0694"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -284 30.0369"; + rotation = "-0.263913 -0.000143352 0.964546 59.7704"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -484 180.037"; + rotation = "-0.0170411 -0.00622175 0.999835 194.998"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -204 143.693"; + rotation = "0.0360948 0.0842524 -0.99579 75.2333"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -132 84.1462"; + rotation = "-0.153639 -0.412905 0.897722 50.6129"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 444 87.3807"; + rotation = "0.144086 0.120178 0.98224 85.0225"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -420 114.521"; + rotation = "0.135191 0.563483 -0.814991 21.9952"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -332 42.4431"; + rotation = "0.677626 0.385326 -0.626376 35.9885"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 268 70.9431"; + rotation = "-0.194155 0.143761 0.97038 67.5833"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 444 70.8494"; + rotation = "0.856966 0.0874315 0.507903 21.4696"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 404 62.7556"; + rotation = "0.807734 -0.566894 -0.161854 6.17334"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -508 73.5681"; + rotation = "0.552677 0.120966 -0.82457 53.3442"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 276 68.6463"; + rotation = "0.0950013 0.0396648 -0.994687 117.272"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 -684 122.912"; + rotation = "0.0250507 -0.0214751 -0.999455 81.0306"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 -684 142.24"; + rotation = "-0.0784497 -0.0347818 0.996311 224.85"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 332 126.334"; + rotation = "0.227652 -0.187506 -0.955519 68.4032"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 180 74.365"; + rotation = "0.659778 0.332645 -0.673825 14.7959"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -28 116.662"; + rotation = "0.690947 0.689839 -0.216133 18.3565"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -580 150.146"; + rotation = "-0.0807092 0.0398195 0.995942 204.901"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 348 73.8962"; + rotation = "0.142696 -0.074033 0.986994 147.406"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -444 112.834"; + rotation = "-0.0241944 0.1133 0.993266 211.796"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -116 64.4744"; + rotation = "0.058772 -0.886553 0.458879 32.0164"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -228 186.849"; + rotation = "0.00106694 -0.145371 0.989377 73.5862"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -44 121.068"; + rotation = "0.236998 -0.315957 0.918696 24.9741"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -572 135.193"; + rotation = "0.038202 -0.0873718 0.995443 106.252"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -516 149.365"; + rotation = "-0.0999448 -0.030307 0.994531 202.877"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -44 80.0369"; + rotation = "0.0350682 -0.130771 0.990792 116.475"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -84 75.0526"; + rotation = "0.878787 0.288441 -0.380177 30.9075"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 340 126.896"; + rotation = "0.0396606 0.108119 0.993347 84.3807"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -12 83.0838"; + rotation = "0.0454876 -0.0691338 0.99657 199.933"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -124 81.6931"; + rotation = "0.123135 0.012143 0.992316 128.347"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -12 104.803"; + rotation = "-0.140806 -0.194785 0.970687 46.2181"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -588 132.334"; + rotation = "-0.0974728 -0.0146329 0.995131 215.836"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 60 99.7088"; + rotation = "-0.362083 -0.182982 -0.91401 76.962"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -140 158.849"; + rotation = "0.236059 -0.0604871 0.969854 78.7141"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 292 105.693"; + rotation = "0.0590834 -0.210753 0.975752 227.947"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 116 70.365"; + rotation = "-0.312355 -0.243145 0.918322 58.047"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 188 129.302"; + rotation = "-0.15801 0.147838 -0.976308 115.249"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "411.948 395.955 112.198"; + rotation = "-0.0140795 0.0175718 0.999746 153.045"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -484 180.287"; + rotation = "-0.0160332 0.151453 0.988334 186.919"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -428 61.3025"; + rotation = "-0.0104187 0.117468 -0.993022 65.3642"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 44 61.2244"; + rotation = "-0.392814 0.720124 -0.571942 15.6695"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 52 133.646"; + rotation = "-0.0906699 -0.0368382 0.995199 170.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -148 38.1775"; + rotation = "-0.00667205 0.142121 0.989827 206.735"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -628 192.146"; + rotation = "0.378496 -0.0757718 -0.922496 64.0813"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -636 125.662"; + rotation = "0.0243316 -0.06889 0.997328 189.974"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 340 115.302"; + rotation = "0.133018 -0.0901527 0.987005 173.091"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -292 88.5681"; + rotation = "-0.120453 0.0740677 0.989952 155.243"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 404 108.224"; + rotation = "0.197539 0.184369 0.962801 216.683"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -588 126.115"; + rotation = "-0.00137666 -0.0625443 0.998041 161.037"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -12 86.4275"; + rotation = "-0.0132298 -0.415848 0.909338 38.2464"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -308 130.334"; + rotation = "-0.19745 -0.0630888 0.978281 103.228"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 204 137.021"; + rotation = "0.304035 -0.198052 -0.931847 39.5033"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -708 160.709"; + rotation = "0.111798 -0.122636 0.986135 65.7269"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -620 148.006"; + rotation = "-0.0602859 -0.139922 0.988326 46.486"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 180 151.474"; + rotation = "0.340127 -0.0467034 0.939219 28.6773"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -524 175.334"; + rotation = "-0.408782 -0.0968331 0.90748 68.0606"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -596 133.724"; + rotation = "-0.112205 -0.0231678 0.993415 160.129"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 196 124.412"; + rotation = "0.135563 0.201714 0.970018 183.88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -660 128.459"; + rotation = "-0.421982 -0.211707 0.881539 41.5693"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -228 24.3807"; + rotation = "-0.82623 0.563333 0 5.93774"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 108 73.3181"; + rotation = "-0.180919 0.322042 -0.929278 69.894"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -652 129.302"; + rotation = "0.0139274 -0.211624 0.977252 39.8371"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 348 128.49"; + rotation = "-0.0629431 0.817345 0.5727 13.9227"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -676 127.646"; + rotation = "-0.261621 -0.645745 0.717334 38.3324"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -204 137.881"; + rotation = "0.207953 -0.0497044 -0.976875 50.0197"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -124 90.8337"; + rotation = "-0.077915 0.139494 0.987153 135.521"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -644 146.24"; + rotation = "0.953275 -0.0986106 -0.285556 24.1793"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276.046 292.018 99.9354"; + rotation = "-0.235152 0.0159896 0.971827 213.095"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + + new TSStatic() { + position = "428 -204 138.141"; + rotation = "-0.0517957 0.129985 0.990162 82.5615"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 12 81.8749"; + rotation = "0.16692 0.154629 0.97377 23.6024"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -636 152.578"; + rotation = "0.250098 0.0299189 -0.967758 70.7631"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -4 14.7657"; + rotation = "0.0512118 0.0473908 0.997563 26.0614"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 332 74.3906"; + rotation = "0.163964 0.187618 -0.96846 97.8228"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -236 92.9844"; + rotation = "0.94297 -0.303754 0.136163 21.7716"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 4 104.594"; + rotation = "0.166376 -0.123337 0.978318 233.978"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 -516 146.562"; + rotation = "0.132295 0.430669 0.892761 39.9979"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -164 174.438"; + rotation = "0.348006 0.328669 0.877991 54.8636"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 324 112.5"; + rotation = "-0.189103 0.162724 -0.968381 103.794"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -220 44.4219"; + rotation = "0.0437489 0.100919 0.993932 172.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 204 125.141"; + rotation = "-0.18908 0.231612 0.954256 99.6545"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -476 138.906"; + rotation = "0.512619 0.101604 0.852583 38.3176"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -692 119.828"; + rotation = "0.0291689 -0.049656 0.99834 174.01"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -316 129.562"; + rotation = "0.304871 0.715363 -0.628737 22.1001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -676 165.062"; + rotation = "-0.136007 0.0204947 0.990496 148.289"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 60 71.9218"; + rotation = "0.0905301 -0.0345516 0.995294 229.793"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -580 175.953"; + rotation = "-0.217858 0.0938521 0.971458 122.411"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 180 133.531"; + rotation = "0.0150727 0.235793 0.971686 176.113"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -628 133.469"; + rotation = "-0.228744 0.0376733 0.972757 114.449"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 44 119.375"; + rotation = "0.147801 -0.170979 0.974126 222.967"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -276 71.9843"; + rotation = "0.228857 -0.0427114 0.972523 152.74"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 476 64.4531"; + rotation = "0.0684385 0.089631 -0.993621 108.349"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 244 81.7812"; + rotation = "-0.202217 0.0838836 0.975742 180.976"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 116 156.187"; + rotation = "-0.0392527 -0.114476 0.99265 165.109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -116 58.8281"; + rotation = "-0.315545 -0.61864 -0.719525 40.8501"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -588 144.187"; + rotation = "0.0710776 0.0363129 -0.99681 104.178"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 92 138.391"; + rotation = "-0.112981 -0.129721 0.985093 156.348"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 260 93.0937"; + rotation = "0.0718987 0.442044 0.894107 63.5943"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -84 80.6875"; + rotation = "0.0148553 0.40322 0.914983 52.9531"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -620 112.328"; + rotation = "-0.00614694 -0.0868628 0.996201 163.064"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 -596 126.297"; + rotation = "0.587796 -0.463155 0.663312 32.6659"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -596 124.984"; + rotation = "-0.0825852 -0.0565565 0.994978 92.288"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -220 140.797"; + rotation = "0.090145 0.509327 0.855839 17.4903"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -300 68.9687"; + rotation = "-0.111338 0.0929767 0.989424 115.551"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -556 165.016"; + rotation = "-0.0595715 0.218122 0.974102 135.071"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -268 132.531"; + rotation = "-0.0267231 -0.228723 0.973125 229.797"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -524 148.719"; + rotation = "0.0984676 -0.030729 -0.994666 48.228"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 460 65.3438"; + rotation = "0.271811 -0.210283 -0.939095 77.4891"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 116 146.953"; + rotation = "-0.169115 0.0695272 0.983141 93.9725"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -52 101.594"; + rotation = "-0.154379 -0.40628 -0.900613 61.114"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 212 135.766"; + rotation = "-0.00430558 0.103812 0.994588 228.765"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 412 100.141"; + rotation = "0.379395 -0.300514 -0.875072 45.1682"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -548 141.812"; + rotation = "-0.263269 -0.0114942 0.964654 97.0505"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -244 51.3438"; + rotation = "0.0925744 -0.185336 -0.978305 113.16"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 220 139.062"; + rotation = "-0.35419 -0.342382 0.870244 45.3932"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -244 134.031"; + rotation = "0.0990367 -0.180436 0.978588 166.297"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 92 109.406"; + rotation = "-0.122854 -0.0620922 0.99048 162.168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -644 195.813"; + rotation = "0.0535113 -0.144208 0.988099 84.6828"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -292 121.375"; + rotation = "-0.482034 -0.330282 -0.811515 17.2075"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 420 112.953"; + rotation = "-0.052882 0.252276 -0.966209 100.94"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -628 192"; + rotation = "0.0900206 -0.0851775 0.992291 204.813"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 348 110.625"; + rotation = "0.476862 0.305382 0.824224 34.8407"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -44 28.0781"; + rotation = "0.156808 -0.175611 0.971891 188.748"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -636 123.094"; + rotation = "0.0599661 0.0753877 0.99535 13.0602"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -172 39.0313"; + rotation = "-0.181911 0.0617697 -0.981373 107.033"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -516 184.5"; + rotation = "-0.0162673 -0.210839 -0.977385 114.201"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -612 121.734"; + rotation = "-0.106475 0.00900665 0.994275 78.3222"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 196 107.687"; + rotation = "-0.0602392 0.288904 0.955461 120.28"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -380 74.9219"; + rotation = "-0.000281585 0.0655801 0.997847 87.1234"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -4 117.984"; + rotation = "-0.0505519 -0.117772 0.991753 232.622"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -596 169.719"; + rotation = "-0.198817 0.139493 -0.970059 92.741"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 36 68.7031"; + rotation = "-0.00315121 -0.0272797 0.999623 195.995"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -340 105.109"; + rotation = "0.00803253 0.17534 0.984475 171.139"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -644 140.531"; + rotation = "-0.0230531 0.141275 0.989702 226.568"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -596 128.188"; + rotation = "0.143253 0.0577301 -0.988001 118.609"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -700 160.922"; + rotation = "0.0169235 -0.118472 0.992813 62.3653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -572 181.625"; + rotation = "-0.115498 -0.214731 0.96982 80.7286"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 348 128.375"; + rotation = "0.096637 0.173648 -0.980055 59.9944"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -100 76.625"; + rotation = "0.199411 0.187205 0.961868 76.1518"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -380 115.047"; + rotation = "-0.241633 0.437847 0.86597 42.2513"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -36 86"; + rotation = "0.163719 -0.0374673 0.985795 139.535"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -676 162.422"; + rotation = "0.256022 -0.213318 -0.94284 66.0437"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 4 56.6406"; + rotation = "-0.0275218 -0.128656 0.991307 237.576"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 292 110.375"; + rotation = "0.205863 0.125121 0.970549 46.2239"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 364 113.297"; + rotation = "-0.012868 0.145414 -0.989287 114.562"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 252 71.8281"; + rotation = "0.187878 -0.129221 -0.973655 108.457"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -292 69.0469"; + rotation = "0.44835 -0.394235 -0.802223 30.8965"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -500 174.531"; + rotation = "0.0953873 0.18184 0.978691 186.851"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -580 127.609"; + rotation = "-0.0757773 0.0968426 -0.992411 59.3751"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -228 118.953"; + rotation = "0.0890907 0.0969342 -0.991295 74.4822"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 292 131.188"; + rotation = "0.611397 0.621109 0.490324 26.1632"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 -468 190.313"; + rotation = "0.165017 0.115714 0.979479 216.291"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 436 112.953"; + rotation = "0.220907 -0.14792 0.964012 105.037"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 60 135.625"; + rotation = "-0.0920355 0.104929 0.990212 46.4068"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 460 82.1563"; + rotation = "-0.174637 -0.0881296 0.980681 156.45"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 324 110.094"; + rotation = "0.0852817 0.126122 0.988342 167.15"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -500 180.578"; + rotation = "0.645668 -0.170717 -0.744291 30.5766"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -612 150.812"; + rotation = "-0.0714194 0.191366 0.978917 126.981"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 444 72.3281"; + rotation = "0.0795805 0.202987 0.975942 122.188"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 -332 100.453"; + rotation = "-0.019764 0.213618 0.976717 132.995"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -548 131.656"; + rotation = "-0.186286 0.439465 -0.878731 42.7951"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -324 115.953"; + rotation = "0.0809679 -0.10851 0.990793 159.189"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 -508 181.484"; + rotation = "0.241137 0.0644392 -0.968349 118.63"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 476 82.7031"; + rotation = "0.221167 -0.194796 0.955583 77.5286"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 -644 123.75"; + rotation = "0.880254 -0.474503 0 7.67607"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -644 156.625"; + rotation = "0.0452375 0.063939 0.996928 156.071"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 -708 119.984"; + rotation = "-0.518523 0.312635 -0.79586 24.9848"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -700 137.109"; + rotation = "0.0785033 0.150158 0.98554 124.689"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -428 64.6718"; + rotation = "-0.690851 0.364949 -0.624129 31.5518"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/DesertofDeath_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/DesertofDeath_nef.mis new file mode 100644 index 00000000..54f5eeea --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/DesertofDeath_nef.mis @@ -0,0 +1,3774 @@ +// DisplayName = Desert of Death +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Children of the Phoenix and Blood Eagle face each other for control of the desert planet of Omicron Argentis VI, home to a long-dead race known as the Titans. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]400 points to win +//No stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + CTF_scoreLimit = "4"; + + new MissionArea(MissionArea) { + area = "-696 -632 1280 1408"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "200"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_night1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.94105e-41 6.95941e-41"; + high_fogVolume2 = "-1 2.01181 6.95955e-41"; + high_fogVolume3 = "-1 6.94147e-41 6.95941e-41"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DesertofDeath_nef.ter"; + squareSize = "8"; + emptySquares = "80766 212092 212348 212604 117090 248417"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "DesertofDeath_nef.nav"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(Environmental) { + + + new AudioEmitter() { + position = "-18.2958 -116.376 229.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-160.91 -550.346 148.469"; + rotation = "0.146077 -0.0740142 0.986501 54.3713"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-55.556 507.342 140.856"; + rotation = "0.10484 0.0688194 -0.992105 66.9808"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-154.837 -496.985 117.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "147.313 -44.7589 102.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(BaseAlpha) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-23.3123 -521.572 128.758"; + rotation = "0 0 1 96.3026"; + scale = "1 1 1"; + interiorFile = "ruin1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-14.1772 -534.545 114.759"; + rotation = "0 0 1 95.684"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Item() { + position = "-35.5611 -521.067 144.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-37.9384 -544.023 144.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-224.985 -497.572 128.058"; + rotation = "0 0 1 8.02098"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-76.6104 -559.408 118.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-101.892 -305.925 109.302"; + rotation = "0 0 1 181.81"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "62.5886 -472.5 143.519"; + rotation = "0 0 -1 93.632"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "93.7735 -378.961 133.942"; + rotation = "0 0 1 90.6991"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-8.53915 -366.273 91.3437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "89.2008 -379.767 129.853"; + rotation = "0 0 -1 116.493"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-11.5367 -367.618 91.292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-49.2024 47.0741 139.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-70.185 68.2881 138.984"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-65.1938 55.9525 131.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-58.2453 62.1059 131.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-6.69702 -376.983 91.7187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-11.5141 -382.709 91.6657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-101.98 -301.775 105.577"; + rotation = "0 0 -1 42.3989"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-237.504 -504.023 132.166"; + rotation = "-0 0 -1 36.0959"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-82.6742 -561.072 118.727"; + rotation = "-0.677534 0.285097 0.677987 148.289"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "60.3884 -478.672 143.598"; + rotation = "-0.998288 -0.0424922 -0.0402031 90.1375"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-145.817 482.458 109.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-252.687 155.241 102.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(BaseBeta) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-241.225 579.746 116.487"; + rotation = "-0 0 -1 58.5786"; + scale = "1 1 1"; + interiorFile = "ruin1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-234.656 327.966 106.548"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-230.772 330.25 110.472"; + rotation = "0 0 1 81.9328"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-230.39 574.285 132.529"; + rotation = "0 0 1 34.7674"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-218.409 593.938 132.519"; + rotation = "0 0 1 34.7674"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-348.384 631.247 121.942"; + rotation = "0 0 1 144.729"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-159.396 608.135 108.179"; + rotation = "0 0 1 179.622"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-348.451 635.531 125.988"; + rotation = "0 0 1 7.73512"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-354.217 492.398 59.8041"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-45.1561 391.083 133.202"; + rotation = "0 0 -1 79.1827"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-353.672 483.075 63.8121"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-358.765 477.965 63.6416"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-358.91 491.807 59.6242"; + rotation = "0 0 1 198.816"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Turret() { + position = "-74.7615 428.707 126.453"; + rotation = "0 0 -1 43.1544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-153.408 610.404 108.218"; + rotation = "-0.358009 -0.862356 -0.358009 98.4538"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-48.4765 394.239 137.285"; + rotation = "-0 0 -1 36.0959"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-72.9674 435.035 126.476"; + rotation = "0.0278062 -0.817496 -0.575262 119.644"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-244.046 595.435 102.5"; + rotation = "0 0 -1 58.6242"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-59.66 41.953 132.71"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "ruin3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-378.617 508.492 67.6712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-11.9806 68.5455 128.379"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "ruinarch.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-31.9214 -351.847 95.6269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "175.873 159.453 103.535"; + rotation = "-0.53108 0.218072 0.818779 27.4425"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "179.083 161.326 104.792"; + rotation = "-0.0449677 0.0276194 -0.998607 116.954"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "181.772 165.184 101.529"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "175.305 175.406 102.474"; + rotation = "0 0 -1 23.4913"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "188.18 165.034 100.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "185.211 162.292 100.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-441.073 -117.22 116.695"; + rotation = "0 0 1 74.4845"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-445.345 -119.348 113.379"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-6 6 6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1PhoenixPlant1) { + + + new TSStatic() { + position = "164 604 103.609"; + rotation = "0 0 1 122"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 276 93.9062"; + rotation = "0 0 -1 17.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -724 117.484"; + rotation = "0 0 -1 11.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 876 109.266"; + rotation = "0 0 -1 19.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 1036 67.8438"; + rotation = "0 0 1 138"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 644 88.6718"; + rotation = "0 0 1 180"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -620 116.109"; + rotation = "0 0 -1 40.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 772 85.3438"; + rotation = "0 0 -1 26.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 1020 76"; + rotation = "0 0 -1 16.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 548 113.344"; + rotation = "0 0 -1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 12 83.625"; + rotation = "0 0 -1 19.9999"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -116 109.531"; + rotation = "0 0 1 16"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 196 73.5625"; + rotation = "0 0 1 116"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 420 74.4218"; + rotation = "0 0 1 104"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -588 145.406"; + rotation = "0 0 1 11"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 892 82.9688"; + rotation = "0 0 1 130"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -836 66.1719"; + rotation = "0 0 1 15"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 -604 94.2344"; + rotation = "0 0 1 125"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 332 69.6406"; + rotation = "0 0 1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -148 100.625"; + rotation = "0 0 1 152"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -500 118.359"; + rotation = "0 0 1 129"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 -268 84.7813"; + rotation = "0 0 -1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -788 141.328"; + rotation = "0 0 1 107"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -252 120.453"; + rotation = "0 0 1 101"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -436 87.9219"; + rotation = "0 0 1 227"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -796 118.828"; + rotation = "0 0 1 81.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -668 87.6875"; + rotation = "0 0 1 35"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -396 95.2031"; + rotation = "0 0 1 204"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 1028 67.1093"; + rotation = "0 0 1 198"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 1060 69.0312"; + rotation = "0 0 1 27"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -244 74.0156"; + rotation = "0 0 -1 116"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -668 82.8438"; + rotation = "0 0 -1 80.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 1060 66"; + rotation = "0 0 -1 86.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 -748 82.2813"; + rotation = "0 0 1 31"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -596 99.0313"; + rotation = "0 0 -1 5.99979"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 236 92.8594"; + rotation = "0 0 1 146"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 660 82.4063"; + rotation = "0 0 1 234"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 -380 104.125"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1044 548 69.7812"; + rotation = "0 0 1 156"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -756 124.922"; + rotation = "0 0 -1 8.99978"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 -796 83.8437"; + rotation = "0 0 1 63.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "716 132 72.1406"; + rotation = "0 0 1 220"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 1044 85.8906"; + rotation = "0 0 -1 76"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -388 130.469"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -236 75.1563"; + rotation = "0 0 1 37"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 228 92.5156"; + rotation = "0 0 1 109"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 -636 83.625"; + rotation = "0 0 1 82.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 980 81.9687"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 580 111.578"; + rotation = "0 0 1 212"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 -428 76.9062"; + rotation = "0 0 -1 74.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 -404 130.906"; + rotation = "0 0 1 217"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant2) { + + + new TSStatic() { + position = "292 -684 84.2968"; + rotation = "0 0 -1 49.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 836 82.4063"; + rotation = "0 0 1 33"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -316 73.3594"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 244 69.2968"; + rotation = "0 0 1 203"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -348 106.344"; + rotation = "0 0 1 137"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 172 123.453"; + rotation = "0 0 1 187"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 84 85.7344"; + rotation = "0 0 -1 46.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 1020 71.2344"; + rotation = "0 0 -1 31.0002"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 556 140.094"; + rotation = "0 0 1 96.0002"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1044 844 77.7969"; + rotation = "0 0 1 51"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 996 76.6875"; + rotation = "0 0 1 1.00014"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -132 112.812"; + rotation = "0 0 -1 68.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 -340 69.4531"; + rotation = "0 0 -1 108.999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 564 105.609"; + rotation = "0 0 1 151"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 188 74.9688"; + rotation = "0 0 1 184"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 836 93.1562"; + rotation = "0 0 1 2.99997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 252 70.5469"; + rotation = "0 0 -1 112"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -172 74.4687"; + rotation = "0 0 1 120"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 892 57.0781"; + rotation = "0 0 -1 26"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -572 147.563"; + rotation = "0 0 -1 58.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -596 122.406"; + rotation = "0 0 1 28"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -500 131.812"; + rotation = "0 0 1 205"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 180 97.9219"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1164 1020 73.4844"; + rotation = "0 0 1 64"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 988 97.9375"; + rotation = "0 0 1 212"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 484 68.4688"; + rotation = "0 0 1 52"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1116 1004 74"; + rotation = "0 0 -1 83.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -636 85.0157"; + rotation = "0 0 -1 70.0005"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 636 108.578"; + rotation = "0 0 -1 98.0004"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -892 88.2812"; + rotation = "0 0 1 164"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 108 140.391"; + rotation = "0 0 1 133"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 748 84.6719"; + rotation = "0 0 -1 63.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 396 59.8906"; + rotation = "0 0 1 67.9998"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -356 96.4532"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -932 77.6875"; + rotation = "0 0 1 192"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 692 78.3125"; + rotation = "0 0 1 225"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 868 131.703"; + rotation = "0 0 -1 46.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 404 108.094"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 764 68.0938"; + rotation = "0 0 1 7.00001"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -788 114.578"; + rotation = "0 0 -1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -748 71.2656"; + rotation = "0 0 1 197"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -732 92.375"; + rotation = "0 0 1 148"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -932 72.1874"; + rotation = "0 0 -1 11.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 540 106.625"; + rotation = "0 0 -1 72.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 380 88.1875"; + rotation = "0 0 -1 32.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 244 103.266"; + rotation = "0 0 1 144"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -260 70.8125"; + rotation = "0 0 1 185"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 692 88.1562"; + rotation = "0 0 1 66.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 844 95.4375"; + rotation = "0 0 1 196"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 12 99.9688"; + rotation = "0 0 1 185"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 788 102"; + rotation = "0 0 1 126"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant3) { + + + new TSStatic() { + position = "-644 396 134.656"; + rotation = "0 0 1 218"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 -620 71.0313"; + rotation = "0 0 1 226"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 1004 81.3593"; + rotation = "0 0 1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 172 89.5"; + rotation = "0 0 -1 16.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 804 110.828"; + rotation = "0 0 1 51"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1148 -292 94.8906"; + rotation = "0 0 -1 75.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -52 101.563"; + rotation = "0 0 -1 10.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 556 106.313"; + rotation = "0 0 1 105"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 852 96.3749"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -940 80"; + rotation = "0 0 1 61.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -252 88.5625"; + rotation = "0 0 1 34"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -652 106.922"; + rotation = "0 0 1 226"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 -444 134.672"; + rotation = "0 0 1 121"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 756 139.594"; + rotation = "0 0 1 101"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -228 116.844"; + rotation = "0 0 -1 29.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 508 122.641"; + rotation = "0 0 1 15"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -12 75.25"; + rotation = "0 0 1 158"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 748 65.1407"; + rotation = "0 0 1 51"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -852 120.125"; + rotation = "0 0 1 17"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 812 96.875"; + rotation = "0 0 1 78.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 -812 79.1093"; + rotation = "0 0 -1 74.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -940 101.75"; + rotation = "0 0 1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 -636 121.484"; + rotation = "0 0 1 1.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 828 98.0156"; + rotation = "0 0 1 174"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 588 106.922"; + rotation = "0 0 -1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1068 -124 70.0938"; + rotation = "0 0 1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1140 524 73.6094"; + rotation = "0 0 1 13"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 468 69.6562"; + rotation = "0 0 -1 111"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 948 79.3281"; + rotation = "0 0 1 64.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 348 74.4687"; + rotation = "0 0 1 118"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 564 74.0937"; + rotation = "0 0 1 33"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 884 77.2188"; + rotation = "0 0 1 227"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 132 68.0157"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -396 64.6562"; + rotation = "0 0 -1 107"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 900 90.4219"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -628 95.125"; + rotation = "0 0 -1 43.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -884 113.906"; + rotation = "0 0 -1 93.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 220 93.4687"; + rotation = "0 0 -1 1.00014"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 500 149.359"; + rotation = "0 0 1 229"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 516 146.734"; + rotation = "0 0 1 78.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -444 93.2969"; + rotation = "0 0 1 214"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 380 108.187"; + rotation = "0 0 1 190"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -556 127.453"; + rotation = "0 0 -1 105"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 92 133.125"; + rotation = "0 0 1 196"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 964 75.2344"; + rotation = "0 0 1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -372 66.3281"; + rotation = "0 0 -1 68.0003"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -684 92.125"; + rotation = "0 0 1 236"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 52 85.8281"; + rotation = "0 0 1 207"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 180 91.1875"; + rotation = "0 0 1 105"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 372 74.3281"; + rotation = "0 0 1 218"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant5) { + + + new TSStatic() { + position = "628 348 67.6594"; + rotation = "0.102254 0.0159552 0.99463 183.979"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 172 130.628"; + rotation = "0.117485 0.122279 0.985518 224.412"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 700 94.4094"; + rotation = "0.218653 0.135585 -0.966337 93.9593"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 1044 73.5969"; + rotation = "0.0254009 -0.0522277 -0.998312 84.0965"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 -676 90.2531"; + rotation = "0.398177 0.718557 -0.570203 29.3738"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -172 96.6594"; + rotation = "-0.074819 0.0074554 -0.997169 86.1619"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 948 85.8156"; + rotation = "-0.0307422 0.197933 0.979733 39.7441"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 220 88.7531"; + rotation = "-0.452291 0.41208 0.790963 12.6237"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 116 66.175"; + rotation = "-0.0148082 0.0514475 0.998566 64.0739"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 924 121.769"; + rotation = "0.0822411 -0.244885 -0.966058 48.464"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1068 948 79.8625"; + rotation = "-0.112462 0.0799764 -0.990432 88.55"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 148 80.1281"; + rotation = "-0.109989 0.033154 0.99338 237.678"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -204 87.3469"; + rotation = "0.0374342 -0.383456 0.9228 54.6669"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1084 -452 93.9407"; + rotation = "0.0535888 -0.142496 0.988344 158.25"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 132 115.972"; + rotation = "0.245184 0.0410852 -0.968606 73.7466"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 44 105.503"; + rotation = "0.0130458 0.0899567 -0.99586 61.2085"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 860 112.534"; + rotation = "-0.4849 0.799358 -0.354821 16.8031"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 404 92.4719"; + rotation = "0.230112 0.00848829 0.973127 190.706"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 -548 71.6281"; + rotation = "-0.266347 0.153776 0.951531 31.4542"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -908 110.472"; + rotation = "-0.383512 0.420646 -0.822177 30.1813"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -396 78.8312"; + rotation = "0.000181418 -0.111889 0.993721 94.3599"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -92 97.8469"; + rotation = "-0.764185 -0.499206 0.40843 14.624"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "732 996 75.2375"; + rotation = "0.0011976 -0.0584734 0.998288 165.025"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 804 102.066"; + rotation = "0.267311 -0.265592 0.926286 78.258"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1156 292 101.55"; + rotation = "0.0169716 -0.0928053 -0.99554 100.252"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 116 72.8313"; + rotation = "-0.178688 -0.00673888 0.983883 165.239"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -116 71.2844"; + rotation = "0.119605 0.251473 -0.960446 31.1763"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 988 72.1124"; + rotation = "-0.565501 0.13167 0.814169 44.6819"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -140 94.3625"; + rotation = "0.0443612 0.210438 0.9766 227"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 396 60.9719"; + rotation = "0.371446 0.639811 0.672807 14.8178"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -420 134.988"; + rotation = "0.0525375 0.0683923 0.996274 211.887"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -876 104.019"; + rotation = "-0.540952 -0.39988 0.73991 38.5316"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -388 96.1281"; + rotation = "0.163271 -0.0714568 0.98399 170.159"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 500 102.441"; + rotation = "-0.144092 -0.1263 0.981471 108.022"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 812 123.269"; + rotation = "-0.133656 -0.238729 0.961844 223.446"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -604 94.7063"; + rotation = "0.0562225 0.000962142 0.998418 73.0865"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 364 112.816"; + rotation = "0.0581129 0.0628729 0.996328 52.1662"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -660 91.8313"; + rotation = "0.0407453 0.146968 0.988302 120.582"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1148 -596 85.0813"; + rotation = "0.0088451 -0.0464129 0.998883 123.054"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -852 113.206"; + rotation = "0.076674 -0.0549729 0.99554 219.835"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 284 87.3156"; + rotation = "0.0197092 0.132211 -0.991026 96.5136"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 796 101.113"; + rotation = "-0.112266 0.170286 0.978979 211.361"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 940 108.581"; + rotation = "0.163628 -0.0664143 -0.984284 65.8254"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 916 72.2219"; + rotation = "-0.0136225 0.0988023 -0.995014 58.2435"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 700 100.534"; + rotation = "0.0459404 0.114242 0.99239 67.4033"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 444 128.784"; + rotation = "-0.132517 0.113281 0.984686 84.8802"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -364 62.5187"; + rotation = "0.0203892 -0.0521081 0.998433 59.0765"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 180 68.3625"; + rotation = "-0.0651648 -0.0371645 -0.997182 94.161"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 388 71.8468"; + rotation = "0.134758 0.0877098 0.986989 73.719"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -412 84.8938"; + rotation = "0.17233 0.0384694 -0.984288 103.882"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 604 70.7063"; + rotation = "-0.00875429 0.0861516 0.996244 148.114"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant6) { + + + new TSStatic() { + position = "-596 844 82.9375"; + rotation = "0 0 -1 35.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -868 107.594"; + rotation = "0 0 1 1.00014"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 900 106.359"; + rotation = "0 0 1 61.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -444 89.7657"; + rotation = "0 0 1 224"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 732 121.984"; + rotation = "0 0 -1 98.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "780 -372 100.891"; + rotation = "0 0 1 33"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 -740 81.2344"; + rotation = "0 0 1 239"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 548 79.2656"; + rotation = "0 0 1 63.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -604 96.0937"; + rotation = "0 0 -1 77.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 -204 75.5"; + rotation = "0 0 1 221"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 780 78.4375"; + rotation = "0 0 1 174"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -588 106.375"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -348 88.875"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 612 87"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 836 71.9375"; + rotation = "0 0 1 136"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-924 -332 65.2344"; + rotation = "0 0 1 202"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -932 75.9375"; + rotation = "0 0 -1 97"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1148 -660 97.125"; + rotation = "0 0 1 3.99996"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -388 93.2969"; + rotation = "0 0 1 149"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 500 144.062"; + rotation = "0 0 1 199"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1132 -84 65.6407"; + rotation = "0 0 1 211"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -844 87.8594"; + rotation = "0 0 1 140"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -964 100.797"; + rotation = "0 0 -1 78.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -636 95.1875"; + rotation = "0 0 -1 95.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 300 75"; + rotation = "0 0 1 20"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -196 104.547"; + rotation = "0 0 -1 47.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "860 -932 70.5625"; + rotation = "0 0 -1 1.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -252 64.25"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "780 -404 91.8282"; + rotation = "0 0 -1 111"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1164 -708 100.359"; + rotation = "0 0 1 138"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 988 71.1719"; + rotation = "0 0 -1 38.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 468 71.5469"; + rotation = "0 0 1 229"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 892 129.969"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -180 105.406"; + rotation = "0 0 -1 99.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 284 110.219"; + rotation = "0 0 1 91.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 812 81.0156"; + rotation = "0 0 -1 104"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -148 103.109"; + rotation = "0 0 -1 28.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -180 73.6406"; + rotation = "0 0 1 165"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -284 85.0313"; + rotation = "0 0 1 231"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "772 308 92.2344"; + rotation = "0 0 1 122"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 380 63.3282"; + rotation = "0 0 1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 948 77.5"; + rotation = "0 0 -1 5.99979"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -828 77.7813"; + rotation = "0 0 1 7.99996"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -924 97.8594"; + rotation = "0 0 1 60.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 244 118.25"; + rotation = "0 0 1 104"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 1068 71.6875"; + rotation = "0 0 -1 10.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -68 90.8437"; + rotation = "0 0 -1 80.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 -404 106.594"; + rotation = "0 0 1 232"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 1004 82.9844"; + rotation = "0 0 -1 10.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant20) { + + + new TSStatic() { + position = "-116 -780 127.875"; + rotation = "0 0 1 43"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -92 90.6094"; + rotation = "0 0 1 197"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -492 66.3125"; + rotation = "0 0 1 67"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 884 121.578"; + rotation = "0 0 1 120"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 1004 71.9843"; + rotation = "0 0 -1 56.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 508 83.5312"; + rotation = "0 0 1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 580 73.0938"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 500 103.297"; + rotation = "0 0 -1 16.0002"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 868 49.5156"; + rotation = "0 0 -1 28.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 140 118.703"; + rotation = "0 0 1 7.00001"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 340 90.9062"; + rotation = "0 0 -1 20.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -500 65.7813"; + rotation = "0 0 1 38"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 324 71.0156"; + rotation = "0 0 1 173"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -268 69.4375"; + rotation = "0 0 -1 94"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 1028 83.0781"; + rotation = "0 0 1 195"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -596 94.6094"; + rotation = "0 0 1 174"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -620 112.203"; + rotation = "0 0 1 45"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -36 74.5"; + rotation = "0 0 1 96.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 100 104.313"; + rotation = "0 0 1 127"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 252 92.1719"; + rotation = "0 0 1 82.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -972 82.0001"; + rotation = "0 0 1 94.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -636 79.3437"; + rotation = "0 0 1 137"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-964 -180 95.1719"; + rotation = "0 0 1 64"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 108 70.7188"; + rotation = "0 0 1 12"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -36 97.4375"; + rotation = "0 0 1 70"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 132 82.1094"; + rotation = "0 0 1 199"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 116 66.4844"; + rotation = "0 0 -1 23.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 956 88.7968"; + rotation = "0 0 1 151"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "772 188 77.2657"; + rotation = "0 0 -1 52.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 612 103.391"; + rotation = "0 0 1 218"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 28 78.5625"; + rotation = "0 0 1 119"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 756 76.2812"; + rotation = "0 0 1 219"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1100 -404 101.125"; + rotation = "0 0 -1 92.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1076 468 85.2969"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 204 101.078"; + rotation = "0 0 1 105"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 484 79.6876"; + rotation = "0 0 1 192"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 724 82.0782"; + rotation = "0 0 1 171"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 644 85.0157"; + rotation = "0 0 -1 62.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 572 111.547"; + rotation = "0 0 1 197"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 444 84.7344"; + rotation = "0 0 1 78.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -532 127.813"; + rotation = "0 0 1 6.00005"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 404 75.2969"; + rotation = "0 0 -1 80.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 812 98.3437"; + rotation = "0 0 1 229"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -220 107.141"; + rotation = "0 0 1 52"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 292 91.8438"; + rotation = "0 0 -1 22.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1068 -340 80.0625"; + rotation = "0 0 1 131"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 404 61.7812"; + rotation = "0 0 1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -140 111.453"; + rotation = "0 0 1 156"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 604 93.125"; + rotation = "0 0 -1 65.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -556 70.7344"; + rotation = "0 0 1 175"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -340 68.2032"; + rotation = "0 0 1 63.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition9PhoenixPlant22) { + + + new TSStatic() { + position = "-868 -236 90.5844"; + rotation = "-0.16651 -0.0172512 0.985889 103.792"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -788 79.7876"; + rotation = "0.848057 0.369735 -0.379599 20.875"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -604 95.0063"; + rotation = "0.14586 -0.0634812 0.987266 24.3004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-964 468 72.9282"; + rotation = "-0.0865578 0.0125447 -0.996168 34.1234"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 740 116.506"; + rotation = "-0.460767 -0.381759 -0.80122 26.049"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -1060 101.037"; + rotation = "0.0223938 -0.155843 -0.987528 112.665"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -364 126.459"; + rotation = "0.363963 0.333615 0.869616 45.4227"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1300 -972 77.5844"; + rotation = "0.090974 -0.0551011 0.994328 167.073"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1212 -1052 77.8032"; + rotation = "0.0844359 -0.145885 -0.985692 61.7248"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -852 89.1781"; + rotation = "0.33892 -0.503729 0.794601 38.4791"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -252 75.5688"; + rotation = "-0.970212 0.0922084 -0.224024 8.91019"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 156 91.4593"; + rotation = "0.022486 0.849921 -0.526431 33.489"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 684 129.584"; + rotation = "-0.0265751 0.0213153 0.99942 148.018"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -508 134.709"; + rotation = "-0.138775 -0.0778973 0.987256 96.7311"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 884 76.3812"; + rotation = "0.157449 -0.0728767 0.984834 45.6224"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 76 142.616"; + rotation = "0.0346297 0.113372 0.992949 100.399"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -364 103.819"; + rotation = "0.00861458 0.101283 0.99482 167.067"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -420 107.631"; + rotation = "0.0590331 0.226576 0.972203 139.069"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 -188 94.725"; + rotation = "0.0632666 -0.0284206 0.997592 52.1089"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 332 118.037"; + rotation = "0.126581 0.156386 0.979551 95.1797"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -1100 74.6624"; + rotation = "-0.218262 -0.243471 0.945031 53.5619"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -1124 75.2407"; + rotation = "0.0443657 0.0478028 0.997871 193.971"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 28 66.1938"; + rotation = "0.0433977 -0.0748141 -0.996253 93.2145"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -580 76.9281"; + rotation = "-0.112497 0.445717 -0.888077 35.7888"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 -700 115.225"; + rotation = "0.112205 0.137358 0.984146 120.79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 84 78.4906"; + rotation = "-0.592794 -0.161019 -0.789093 3.80086"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -564 91.975"; + rotation = "0.0684241 0.0433556 0.996714 230.853"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 828 106.334"; + rotation = "0.216279 -0.237785 -0.946933 50.3638"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1300 -548 69.6625"; + rotation = "-0.25997 -0.00619369 -0.965597 36.1671"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1292 -964 78.1625"; + rotation = "-0.737329 -0.584164 -0.339261 20.4396"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1348 -1148 86.1"; + rotation = "0.616599 0.560829 0.552519 17.9956"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1180 860 127.381"; + rotation = "0.101466 0.123576 0.987134 196.785"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -692 100.162"; + rotation = "0.110563 0.735493 0.66845 22.2837"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -716 115.459"; + rotation = "0.452891 -0.737868 -0.500441 11.9563"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1340 644 72.5688"; + rotation = "0.171129 -0.318721 -0.932272 10.7225"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -884 84.7875"; + rotation = "0.0593011 -0.132171 0.989451 145.347"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -836 116.584"; + rotation = "-0.0910438 -0.0525735 0.994458 96.317"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1228 892 132.381"; + rotation = "0.0254139 0.182629 0.982853 193.762"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -860 114.631"; + rotation = "0.0184871 -0.298625 0.954191 74.5735"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -476 80.0532"; + rotation = "0.147948 -0.146031 0.978155 88.2648"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -580 70.0374"; + rotation = "-0.011401 -0.0489745 0.998735 165.019"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -628 103.256"; + rotation = "-0.00672413 0.173377 -0.984833 45.6224"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -532 125.116"; + rotation = "-0.0263016 0.0616367 0.997752 181.995"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 12 83.3656"; + rotation = "0.167374 -0.0934881 0.981451 156.432"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 476 96.3187"; + rotation = "0.198655 0.166978 -0.96574 96.9862"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -700 114.866"; + rotation = "-0.0019097 0.301822 -0.953362 53.1582"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 252 81.1"; + rotation = "-0.0959445 0.942721 -0.319487 18.6306"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -52 91.1156"; + rotation = "0.0549141 -0.0690518 0.996101 182.988"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -132 80.4438"; + rotation = "0.850999 -0.524004 0.0349228 28.0607"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 740 87.2719"; + rotation = "0.0315399 -0.10467 0.994007 169.066"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -908 87.6156"; + rotation = "-0.279541 -0.0701571 -0.957567 52.9567"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + }; + }; + new Item() { + position = "-15.97 -365.803 91.3594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-15.0225 -375.594 90.6132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-365.602 491.434 59.6363"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-359.447 497.281 59.6739"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-52.6866 55.2411 102.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Gorgon.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Gorgon.mis new file mode 100644 index 00000000..b41d9dd0 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Gorgon.mis @@ -0,0 +1,3121 @@ +// DisplayName = Gorgon +// MissionTypes = Bounty CTF DM + +//--- MISSION QUOTE BEGIN --- +//We the survivors are not the true witnesses; those who saw the Gorgon have not returned to tell about it. +// -- Primo Levi +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Bounty DM]Mission follows standard Rules of Engagement +//[Bounty DM]Inventorys located above ground +//[CTF]600 points to win +//[CTF]Neutral inventorys located above ground +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-424 -264 496 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.900000 0.500000 0.350000 1.000000"; + fogDistance = "300"; + fogColor = "0.900000 0.500000 0.350000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "675"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + cloudSpeed0 = "0.000503 0.000020"; + locked = "true"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Gorgon.ter"; + squareSize = "8"; + emptySquares = "230498 296048 177777 243554 178033"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + GraphFile = "DeathBirdsFly.nav"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(Teams) { + + providesPower = "1"; + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-257.849 437.391 78.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new SpawnSphere() { + position = "-92.549 437.891 78.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new SpawnSphere() { + position = "-250.249 437.391 78.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "DM Bounty"; + locked = "true"; + }; + new SpawnSphere() { + position = "-84.149 437.891 78.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "DM Bounty"; + locked = "true"; + }; + new SpawnSphere() { + position = "-244.649 38.791 79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "DM Bounty"; + locked = "true"; + }; + new SpawnSphere() { + position = "-80.949 39.091 79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "DM Bounty"; + locked = "true"; + }; + }; + new SimGroup(Items) { + + + new Item() { + position = "-89.2925 441.251 61.8117"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.85 384.45 53.5444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new Item() { + position = "-91.1453 443.092 61.4218"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + locked = "true"; + }; + new Item() { + position = "-134.192 441.18 61.8181"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-132.807 443.043 61.5501"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "-132.811 438.922 61.5511"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "-133.142 423.475 61.5704"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-118.591 423.475 61.5652"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-105.347 423.479 61.546"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-90.3463 423.483 61.5453"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.858 254.519 51.7078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.206 268.573 35.5921"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.857 274.424 35.958"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-223.017 423.469 61.5346"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-208.611 423.499 61.5523"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-251.303 423.483 61.5475"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-236.402 423.459 61.5782"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-252.329 441.215 61.7886"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-250.595 438.883 61.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-250.553 443.031 61.5396"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-207.217 441.196 61.8212"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-208.863 438.906 61.5696"; + rotation = "0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-208.877 443.085 61.5659"; + rotation = "0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-248.394 384.984 53.5644"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-93.3299 384.924 53.574"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-170.864 352.99 53.6071"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.869 339.52 35.6472"; + rotation = "0 0 -1 91.2829"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-170.867 311.959 51.6325"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-154.283 300.923 53.7014"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "CameraGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-170.829 285.146 51.5951"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-91.454 438.87 61.4218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + locked = "true"; + }; + new Item() { + position = "-181.819 347.05 35.569"; + rotation = "0 0 -1 91.2828"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.903 288.503 35.6714"; + rotation = "0 0 -1 1.90119"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-187.448 300.894 53.659"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-171.363 268.601 35.5677"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.855 364.02 53.5859"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-250.449 38.791 79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new SpawnSphere() { + position = "-82.949 39.091 79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + missionTypesList = "CTF"; + locked = "true"; + }; + }; + new SimGroup(Items) { + + + new Item() { + position = "-170.858 92.5154 53.5563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new Item() { + position = "-252.493 35.7535 61.8117"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-250.549 33.8865 61.4218"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + locked = "true"; + }; + new Item() { + position = "-207.268 35.7641 61.8321"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-208.933 33.8986 61.5501"; + rotation = "0 0 1 89.7718"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "-208.918 38.0591 61.5511"; + rotation = "0 0 1 89.7718"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "-208.594 53.4866 61.5704"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-223.094 53.4635 61.5652"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-236.276 53.4764 61.546"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-251.355 53.4654 61.5453"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.849 222.466 51.7078"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-171.306 208.473 35.5921"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.817 202.416 35.958"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-118.593 53.4801 61.5346"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-133.213 53.5184 61.5523"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-90.3381 53.4839 61.5475"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-105.379 53.4948 61.5782"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-89.1521 35.7451 61.7886"; + rotation = "0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-91.1239 38.0252 61.523"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-91.1622 33.9334 61.5396"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-134.501 35.7805 61.8212"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-132.812 38.0708 61.5696"; + rotation = "0 0 1 90.3447"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "-132.845 33.9101 61.5659"; + rotation = "0 0 1 90.3447"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-93.2815 91.9924 53.5644"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-248.391 92.0741 53.574"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-170.859 123.985 53.6071"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-187.411 176.065 53.7038"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "CameraGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-170.908 164.958 51.6024"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-170.844 112.987 53.5859"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.853 191.755 51.5951"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-250.528 38.0841 61.4218"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + locked = "true"; + }; + new Item() { + position = "-159.845 129.891 35.569"; + rotation = "0 0 1 88.6259"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.833 188.447 35.6596"; + rotation = "0 0 1 178.008"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-154.229 175.938 53.6314"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-170.415 208.455 35.5677"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.848 137.5 35.5834"; + rotation = "0 0 1 88.6258"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + providesPower = "1"; + + new SimGroup(INVENTORY) { + + + new InteriorInstance() { + position = "-192.673 238.11 142.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-192.664 233.441 144.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-192.673 238.11 144.402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new WayPoint() { + position = "-192.673 238.11 143.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new StaticShape() { + position = "-192.664 242.751 144.21"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-170.857 238.481 43.5438"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pbase_nef_giant.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(patches) { + + + new Item() { + position = "-170.855 225.418 45.6607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.855 234.092 45.6607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.855 242.798 45.6607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-170.855 251.472 45.6607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-129.098 235.327 177.67"; + rotation = "0.182914 0.178861 -0.966722 90.6552"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-158.031 88.7326 61.4133"; + rotation = "0.199666 0.138846 -0.969977 71.2745"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-157.573 370.036 63.881"; + rotation = "0.567921 0.203492 -0.797532 48.3864"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(sounds) { + + + new AudioEmitter() { + position = "140.649 -127.001 163.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-229.352 29.143 80.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-112.71 28.936 80.7737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-111.94 448.84 80.0515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-229.388 448.872 80.3227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition3BiodermPlant3) { + + + new TSStatic() { + position = "-156 -412 80.4219"; + rotation = "0 0 1 87.0002"; + scale = "0.6 0.6 0.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 612 80.8594"; + rotation = "0 0 -1 14"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -268 77.6251"; + rotation = "0 0 1 35"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 52 73"; + rotation = "0 0 -1 108.999"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 748 76.2969"; + rotation = "0 0 1 122"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 780 76.3906"; + rotation = "0 0 1 57.9999"; + scale = "0.5 0.5 0.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -164 68.6406"; + rotation = "0 0 -1 93.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -204 75.3282"; + rotation = "0 0 1 148"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 484 149.406"; + rotation = "0 0 1 78.0002"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 60 92.1407"; + rotation = "0 0 -1 16.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 68 122.484"; + rotation = "0 0 -1 14"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 12 171.125"; + rotation = "0 0 1 232"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 76 126.388"; + rotation = "0 0 -1 59.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 812 73.875"; + rotation = "0 0 1 20"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -228 82.0312"; + rotation = "0 0 1 191"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 852 75.75"; + rotation = "0 0 -1 40.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -180 77.0937"; + rotation = "0 0 1 88"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -156 99.219"; + rotation = "0 0 1 231"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -196 113.688"; + rotation = "0 0 1 140"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 540 83.7812"; + rotation = "0 0 1 199"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -100 89.5468"; + rotation = "0 0 -1 94"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -76 95.8281"; + rotation = "0 0 1 91.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -220 77.8438"; + rotation = "0 0 1 202"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 708 69.3437"; + rotation = "0 0 1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 300 81.4687"; + rotation = "0 0 1 130"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -60 62.775"; + rotation = "0 0 1 21"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 564 81.4531"; + rotation = "0 0 -1 56.9999"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 716 69.125"; + rotation = "0 0 1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -308 94.9063"; + rotation = "0 0 -1 47.9999"; + scale = "0.6 0.6 0.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -36 80.9063"; + rotation = "0 0 1 91"; + scale = "0.5 0.5 0.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 -316 69.4219"; + rotation = "0 0 1 163"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 724 70.1718"; + rotation = "0 0 1 239"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 652 73.2032"; + rotation = "0 0 1 220"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 460 77.6563"; + rotation = "0 0 -1 86.0004"; + scale = "0.5 0.5 0.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -380 170.641"; + rotation = "0 0 -1 19.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -348 170.562"; + rotation = "0 0 1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 708 72.8438"; + rotation = "0 0 1 60.0001"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -460 184.281"; + rotation = "0 0 1 134"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 -268 90.7656"; + rotation = "0 0 -1 44.9999"; + scale = "0.6 0.6 0.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 396 167.422"; + rotation = "0 0 -1 76"; + scale = "0.6 0.6 0.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 -148 105.641"; + rotation = "0 0 1 11"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 612 68.7813"; + rotation = "0 0 1 113"; + scale = "0.5 0.5 0.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 172 167.266"; + rotation = "0 0 -1 75.0002"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 772 154.172"; + rotation = "0 0 1 81.0002"; + scale = "0.5 0.5 0.5"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 380 76.0313"; + rotation = "0 0 1 190"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 204 159.688"; + rotation = "0 0 1 15"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -76 68.3125"; + rotation = "0 0 -1 28.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -300 96.5312"; + rotation = "0 0 1 85.9998"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 404 75.3907"; + rotation = "0 0 1 81.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 364 94.3437"; + rotation = "0 0 1 7.99996"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 564 71.9687"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 748 70.3124"; + rotation = "0 0 1 113"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 756 80.2344"; + rotation = "0 0 1 66.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 196 170.016"; + rotation = "0 0 1 116"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -372 81.25"; + rotation = "0 0 -1 34.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-295.876 -17.1795 93.9132"; + rotation = "0 0 1 128"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 180 182.156"; + rotation = "0 0 1 238"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -76 90.2656"; + rotation = "0 0 -1 38.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -116 93.5312"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.688 306.052 192.107"; + rotation = "0 0 -1 40.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.2185 350.361 187.221"; + rotation = "-0.0372533 0.0226075 -0.99905 40.0352"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7PhoenixPlant5) { + + + new TSStatic() { + position = "36 332 186.678"; + rotation = "0.0499923 0.0151446 -0.998635 76.0756"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -180 119.787"; + rotation = "0.0566728 -0.0373517 0.997694 207.938"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 852 71.1937"; + rotation = "0.166924 0.0900791 0.981846 123.876"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -292 87.9594"; + rotation = "-0.177775 -0.111086 -0.977781 26.5701"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -212 118.881"; + rotation = "0.0260892 0.165161 0.985922 216.514"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 244 159.866"; + rotation = "-0.0427077 -0.0430865 0.998158 198.966"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 700 73.0688"; + rotation = "0.144464 0.0241478 0.989215 201.769"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 348 75.6781"; + rotation = "0.0579102 0.13678 0.988907 94.6371"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -132 105.897"; + rotation = "-0.0106824 0.252957 -0.967419 102.857"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 92 144.303"; + rotation = "-0.640091 0.558691 0.527397 16.9749"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -188 74.725"; + rotation = "-0.0735255 -0.0197359 0.997098 187.977"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 84 143.178"; + rotation = "-0.225595 -0.0577347 0.972509 74.5332"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 860 115.944"; + rotation = "0.0226079 0.0874197 0.995915 161.076"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -28 102.006"; + rotation = "-0.259957 0.28898 0.921365 19.5078"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -564 168.491"; + rotation = "-0.0973069 0.0284884 -0.994847 68.2748"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 180 81.0375"; + rotation = "-0.274907 0.932582 -0.233918 16.9821"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -324 108.178"; + rotation = "-0.0471431 0.106879 0.993154 184.966"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 660 73.0688"; + rotation = "-0.0394816 0.0175206 0.999067 238.954"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 700 67.7407"; + rotation = "-0.0982791 -0.0219939 0.994916 77.2846"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 308 180.788"; + rotation = "0.14066 -0.115015 0.983355 231.246"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 524 77.1313"; + rotation = "-0.0524176 0.0970216 -0.993901 97.3478"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -508 172.287"; + rotation = "0.112537 -0.0773549 0.990632 43.3691"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 588 96.7563"; + rotation = "0.188733 0.241484 0.951875 59.4014"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -148 70.9594"; + rotation = "0.0387564 -0.0399406 0.99845 229.932"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 388 87.9281"; + rotation = "0.69901 -0.578657 -0.420168 16.5648"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 532 72.3344"; + rotation = "0.426994 -0.131226 0.894682 21.1886"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 140 84.1782"; + rotation = "0.113863 -0.0735378 0.990771 53.4254"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -420 143.819"; + rotation = "-0.0123815 0.165889 0.986067 155.337"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 628 165.241"; + rotation = "0.218269 0.243927 0.944912 50.4583"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 900 117.725"; + rotation = "0.105081 -0.419043 -0.901865 27.6212"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 812 167.162"; + rotation = "0.532772 -0.185853 -0.825598 27.6871"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 652 74.8032"; + rotation = "-0.0124762 -0.0525976 0.998538 189.986"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 172 150.069"; + rotation = "0.155412 -0.068896 0.985444 194.784"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 564 78.3031"; + rotation = "-0.0649427 -0.178128 0.981862 138.696"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 28 174.897"; + rotation = "-0.088315 -0.110129 -0.989986 42.3871"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -228 102.444"; + rotation = "-0.0729987 0.35099 -0.933529 52.0412"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -132 99.3031"; + rotation = "-0.0874364 -0.0327 0.995633 52.1978"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -180 103.897"; + rotation = "-0.0613251 -0.359577 0.931098 26.7856"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 476 77.7719"; + rotation = "-0.10038 0.00294509 -0.994945 68.2697"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -460 151.834"; + rotation = "-0.0743092 -0.0444554 0.996244 132.16"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 444 79.7719"; + rotation = "0.183276 0.0154474 -0.98294 95.9813"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 484 152.538"; + rotation = "-0.365709 0.000853366 0.930729 35.3083"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 284 71.7718"; + rotation = "-0.719777 0.510831 -0.470078 6.37614"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 300 185.741"; + rotation = "-0.646681 0.109309 0.754888 28.8794"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 532 74.2093"; + rotation = "-0.304199 0.0715949 -0.949914 45.0458"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -228 73.2875"; + rotation = "-0.125239 -0.0580603 -0.990426 92.551"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -540 167.772"; + rotation = "-0.423588 0.481028 -0.767584 23.3174"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 76 169.725"; + rotation = "-0.105056 0.014941 -0.994354 84.3228"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -124 102.209"; + rotation = "-0.759428 0.208112 0.616408 24.1122"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 892 67.5532"; + rotation = "0.987124 -0.138104 0.0807119 12.3421"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -284 78.8187"; + rotation = "0.0793688 0.01321 0.996758 62.1642"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 804 80.6625"; + rotation = "0.300606 -0.0438588 0.952739 46.9949"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 788 78.9749"; + rotation = "0.032012 0.165504 -0.985689 100.812"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 332 92.0531"; + rotation = "0.176367 -0.23391 -0.956128 61.2286"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -364 106.897"; + rotation = "0.0610897 0.190773 0.979731 149.599"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 364 90.4437"; + rotation = "0.0276614 0.182173 0.982877 173.12"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-924 -556 159.506"; + rotation = "-0.153194 -0.0725284 0.985531 62.7395"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 948 71.9281"; + rotation = "0.137955 -0.0300695 0.989982 53.4622"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 836 74.4282"; + rotation = "0.0567497 0.0433077 -0.997449 78.1429"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -484 178.85"; + rotation = "-0.644028 -0.469992 0.603602 26.2141"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 420 71.4593"; + rotation = "0.042506 0.0298177 0.998651 157.031"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 100 140.912"; + rotation = "-0.158894 0.153522 -0.975286 17.4242"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 452 148.678"; + rotation = "-0.0897239 -0.0317155 0.995462 171.04"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -4 105.834"; + rotation = "-0.0411459 -0.236387 0.970787 125.396"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 188 168.725"; + rotation = "-0.377763 -0.0721349 -0.923088 48.3339"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 628 65.6156"; + rotation = "-0.746904 0.410744 0.5229 13.3429"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 508 77.2407"; + rotation = "0.226347 -0.534419 -0.814349 24.4347"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 116 131.037"; + rotation = "-0.624258 -0.781218 0 5.68469"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -396 152.022"; + rotation = "-0.461229 0.796236 -0.391506 17.7588"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 268 84.5219"; + rotation = "-0.285368 0.260355 -0.922378 37.7442"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 140 159.491"; + rotation = "-0.583056 0.0196857 -0.812193 17.1933"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 916 71.4437"; + rotation = "0.218077 0.00827548 -0.975896 105.353"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 716 74.0218"; + rotation = "-0.389932 -0.192036 -0.900597 46.1704"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 500 77.4125"; + rotation = "0.211779 -0.110742 -0.971023 54.3574"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 188 84.0532"; + rotation = "0.120261 0.0643484 -0.990655 111.502"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 172 150.662"; + rotation = "-0.656556 -0.277664 0.70131 12.806"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 188 76.4437"; + rotation = "0.0706284 0.0201521 -0.997299 84.1543"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -172 78.0531"; + rotation = "-0.0260985 -0.122619 0.992111 170.079"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 908 102.366"; + rotation = "-0.275406 0.273501 0.921601 22.7416"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition8PhoenixPlant22) { + + + new TSStatic() { + position = "260 124 90.8318"; + rotation = "0.137386 -0.0552692 0.988974 128.499"; + scale = "0.6 0.6 0.6"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 52 131.754"; + rotation = "-0.233382 0.0277198 -0.97199 89.6272"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -116 128.66"; + rotation = "-0.0337987 -0.00656624 0.999407 218.979"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -44 64.6599"; + rotation = "0.332049 -0.884248 -0.328404 12.1398"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 836 121.879"; + rotation = "-0.0115192 0.0488166 0.998741 194.981"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 180 174.722"; + rotation = "-0.0597435 0.0775571 0.995196 204.883"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 924 114.316"; + rotation = "0.231023 0.22781 -0.945902 13.7367"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 924 66.6443"; + rotation = "0.015089 0.0767325 0.996938 172.025"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 796 76.3787"; + rotation = "-0.0729427 -0.0455337 0.996296 218.866"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 60 176.066"; + rotation = "0.11201 0.0556489 0.992148 123.378"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -156 158.051"; + rotation = "0.212403 0.0788744 -0.973994 61.3157"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 620 76.9101"; + rotation = "-0.145338 -0.153695 -0.977371 78.2809"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 140 171.879"; + rotation = "0.00845961 0.0837628 0.99645 137.139"; + scale = "0.5 0.5 0.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 732 70.6131"; + rotation = "-0.0461545 -0.0826644 0.995508 102.252"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 788 72.1757"; + rotation = "-0.0958389 -0.0927477 0.991067 170.089"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 132 174.051"; + rotation = "0.104382 0.00276911 -0.994533 80.3097"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -36 100.785"; + rotation = "-0.447046 -0.382049 0.808819 19.7146"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 764 71.0506"; + rotation = "0.164951 -0.0509266 0.984986 114.79"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -28 94.91"; + rotation = "0.0281557 -0.0348399 0.998996 222.961"; + scale = "0.7 0.7 0.7"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 548 70.0194"; + rotation = "-0.195679 -0.0280568 0.980267 47.8409"; + scale = "0.7 0.7 0.7"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 612 80.1913"; + rotation = "-0.153139 0.00103954 -0.988204 119.593"; + scale = "0.6 0.6 0.6"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 796 82.035"; + rotation = "-0.24432 -0.0295544 0.969244 63.5914"; + scale = "0.7 0.7 0.7"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100.01 -92.0723 83.249"; + rotation = "0.0640216 0.123707 0.990251 141.352"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 476 80.1444"; + rotation = "0.0170647 0.06502 0.997738 196.962"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 852 167.894"; + rotation = "-0.0544392 -0.0714825 0.995955 207.891"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 316 167.051"; + rotation = "-0.0650148 -0.175368 0.982354 45.7258"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 172 177.519"; + rotation = "0.13536 -0.0377267 0.990078 11.1096"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -172 78.5194"; + rotation = "-0.0937617 -0.195903 0.97613 76.3415"; + scale = "0.6 0.6 0.6"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 180 174.894"; + rotation = "0.0430726 0.0482346 0.997907 159.043"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 348 185.613"; + rotation = "0.0696099 0.0445702 0.996578 187.973"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 180 145.972"; + rotation = "-0.0372533 0.0226075 -0.99905 40.0352"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -260 167.519"; + rotation = "0.0235075 -0.166077 0.985833 153.369"; + scale = "0.5 0.5 0.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 884 57.6601"; + rotation = "0.00288916 -0.107062 0.994248 70.3111"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -252 83.0975"; + rotation = "-0.05335 -0.0633978 0.996561 120.171"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 748 72.7069"; + rotation = "0.157536 0.135002 -0.978242 64.1283"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 428 73.8318"; + rotation = "0.0124377 0.0624645 0.99797 128.092"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 332 98.1131"; + rotation = "-0.00519882 -0.061497 -0.998094 112.101"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 92 143.754"; + rotation = "-0.0219037 0.105472 -0.994181 104.324"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -20 97.9725"; + rotation = "0.0247203 -0.0386877 0.998946 148.032"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -236 79.1287"; + rotation = "0.117368 -0.173184 -0.977871 96.2758"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -4 73.0819"; + rotation = "-0.0786085 0.00361188 0.996899 98.1757"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 780 78.5194"; + rotation = "-0.173539 -0.0360297 0.984168 49.6937"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 484 77.6131"; + rotation = "-0.573909 0.335261 0.747147 12.0263"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 788 170.144"; + rotation = "-0.102694 0.0806464 -0.991438 97.4874"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 420 97.8943"; + rotation = "0.0751824 0.086285 0.99343 61.3306"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 332 98.1131"; + rotation = "0.0431574 0.0309748 0.998588 149.042"; + scale = "0.7 0.7 0.7"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 412 70.9725"; + rotation = "0.132559 -0.0132374 -0.991087 119.448"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 812 76.8788"; + rotation = "0.181725 0.031906 0.982832 123.828"; + scale = "0.5 0.5 0.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 364 185.223"; + rotation = "0.0113355 0.16779 0.985758 73.7878"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 212 160.441"; + rotation = "0.056651 0.0557589 0.996836 186.978"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 676 150.082"; + rotation = "0.00396109 0.105746 0.994385 230.75"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 476 75.2069"; + rotation = "-0.0829062 -0.0543378 0.995075 40.1822"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 -116 129.785"; + rotation = "-0.519735 -0.455202 0.722957 19.2779"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -196 76.5193"; + rotation = "-0.00284749 0.0379758 -0.999275 28.0197"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -92 97.2225"; + rotation = "-0.136651 0.069284 0.988193 193.836"; + scale = "1.5 1.5 1.5"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 764 155.754"; + rotation = "-0.0312213 0.0980268 -0.994694 47.2234"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 572 65.2225"; + rotation = "0.360394 -0.195678 0.912045 35.9855"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 740 76.4412"; + rotation = "-0.321542 -0.442564 0.837107 21.4279"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 68 176.832"; + rotation = "0.226299 -0.0725861 0.97135 54.3418"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 836 78.4881"; + rotation = "0.0862992 -0.109788 0.990202 163.165"; + scale = "0.7 0.7 0.7"; + shapeName = "porg22.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Hillside.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Hillside.mis new file mode 100644 index 00000000..a64bc9e6 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Hillside.mis @@ -0,0 +1,2074 @@ +// DisplayName = Hillside +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//It's easier to go down a hill than up it but the view is much better at the top. +// -- Henry Ward Beecher +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-720 -776 1200 1536"; + flightCeiling = "350"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.570000 0.640000 0.970000 1.000000"; + fogDistance = "450"; + fogColor = "0.570000 0.640000 0.970000 1.000000"; + fogVolume1 = "400 0 89"; + fogVolume2 = "700 89 400"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 844439074249547710000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.00294 1.07576e-38"; + high_fogVolume2 = "-1 2.56454e-36 7.84727e-44"; + high_fogVolume3 = "-1 1.81029 1.18728"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Hillside.ter"; + squareSize = "8"; + emptySquares = "141447 141703 141959 142215 142471 142727 77448 81774 213861 148343 148582 84336 346733 84847 242798 179046 244599 114287 114543 118920 184711 184967 185223 185479 185735 185991"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + GraphFile = "Hillside.nav"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-101.13 476.988 265.697"; + rotation = "0.327865 0.163213 -0.930519 56.2915"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-152.994 -472.408 262.993"; + rotation = "0.0297523 -0.142667 0.989323 156.685"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-132.34 547.83 121.914"; + rotation = "-0.000409516 -0.142337 0.989818 180.326"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-110.555 -527.85 117.994"; + rotation = "0.155246 0.236321 -0.959193 115.568"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team0) { + + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-130.54 503.67 91.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "26.1311 669.821 321.241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "40"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(MainBase) { + + + new InteriorInstance() { + position = "-130.712 491.902 238.249"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bmisc_nefledge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "47.7582 670.386 340.98"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bmisc_nefvbay.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-131.321 456.592 123.192"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbase_nefhillside.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-130.743 512.405 248.695"; + rotation = "-1 0 0 90"; + scale = "1.56077 1.1804 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "-131.296 431.807 113.183"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-112.556 526.122 113.186"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-150.211 526.087 113.16"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-121.669 519.092 143.172"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-121.619 508.142 143.172"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-141.019 508.013 143.177"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-141.042 519.257 143.181"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.391 501.91 143.158"; + rotation = "0 0 1 81.36"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-149.941 501.765 147.647"; + rotation = "0.567926 0.584598 0.5794 238.721"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-149.799 496.273 147.09"; + rotation = "0.705242 0.102884 0.701462 189.318"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.453 526.394 143.168"; + rotation = "0 0 -1 93.9651"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-149.168 526.389 146.249"; + rotation = "-0.577503 -0.577044 -0.577504 119.947"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.039 532.641 146.27"; + rotation = "-0.680769 0.517954 -0.517955 111.508"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.74 523.186 146.164"; + rotation = "0.577348 -0.577351 0.577352 240"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.389 519.994 143.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.435 520.128 145.147"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.211 533.528 143.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-113.298 499.965 146.23"; + rotation = "-0.577503 0.577042 0.577506 119.947"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-114.417 493.712 146.251"; + rotation = "0.473394 0.623231 0.62248 129.242"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-114.013 499.959 143.149"; + rotation = "0 0 1 85.9436"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.244 492.823 143.152"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-114.731 503.166 146.145"; + rotation = "0.577045 0.577962 0.577044 119.947"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.041 506.224 145.128"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.087 506.358 143.14"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-114.114 524.443 143.139"; + rotation = "0 0 -1 98.7313"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-112.564 524.591 147.628"; + rotation = "-0.590913 0.573148 0.567735 119.289"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-112.715 530.082 147.071"; + rotation = "-0.144218 0.983092 0.112836 91.2729"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new Turret() { + position = "-61.3859 466.59 181.178"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-201.678 466.022 181.062"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-130.682 491.938 247.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "62.7566 643.321 364.836"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "83.0841 606.841 319.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "82.4872 606.705 329.468"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + nameTag = "Vehicle"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "45.2276 670.906 320.385"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationRot = "-0 0 -1 90"; + stationPos = "15.4047 670.378 326.981"; + locked = "true"; + }; + new StaticShape() { + position = "17.7697 647.138 326.962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "17.7549 693.59 326.963"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-5.20442 670.363 327.116"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-130.74 509.793 242.891"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-131.437 231.388 114.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-131.442 231.892 124.563"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Lawn"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-131.315 445.591 113.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-204.092 515.226 155.171"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-58.6426 515.351 155.178"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-131.397 525.569 123.235"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-137.493 -514.322 92.981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "5.2906 -677.761 308.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "40"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(MainBase) { + + + new Item() { + position = "-8.90982 -678.359 327.962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "14.2032 -655.235 327.803"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "14.0851 -701.676 327.804"; + rotation = "0 0 1 0.185575"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "41.5745 -677.976 321.226"; + rotation = "-0 0 -1 89.7719"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationRot = "-0 0 -1 90"; + stationPos = "11.7503 -678.409 327.82"; + locked = "true"; + }; + new Turret() { + position = "78.551 -618.986 330.304"; + rotation = "0 0 1 90.1371"; + scale = "1 1 1"; + nameTag = "Vehicle"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "79.2264 -618.962 320.32"; + rotation = "0 0 1 0.185575"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "59.1987 -651.357 365.702"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-137.434 -502.058 246.635"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-201.953 -469.935 179.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-62.0622 -470.713 179.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "-150.158 -534.048 145.358"; + rotation = "0.705242 0.102884 0.701462 189.318"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-150.83 -528.585 145.924"; + rotation = "0.567929 0.5846 0.579396 238.721"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-149.28 -528.439 141.435"; + rotation = "0 0 1 81.36"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.148 -510.356 141.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.194 -510.222 143.424"; + rotation = "-0 0 -1 11.4587"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.5 -507.163 144.441"; + rotation = "0.577348 -0.577351 0.577352 240"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.52 -496.821 141.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-149.212 -503.955 141.445"; + rotation = "0 0 -1 93.9651"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.798 -497.709 144.547"; + rotation = "-0.68077 0.517954 -0.517954 111.508"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-149.927 -503.96 144.526"; + rotation = "-0.577502 -0.577043 -0.577507 119.947"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.183 -537.578 141.467"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.102 -524.177 143.443"; + rotation = "0 0 1 168.632"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.147 -524.043 141.455"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.801 -527.236 144.46"; + rotation = "0.577658 0.576735 0.577657 120.052"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.413 -536.691 144.566"; + rotation = "0.474163 0.622184 0.622942 129.356"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-114.378 -530.441 144.545"; + rotation = "-0.576277 0.577654 0.578119 120.053"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.093 -530.445 141.464"; + rotation = "0 0 1 86.1262"; + scale = "2 2 2"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-113.97 -500.326 145.386"; + rotation = "-0.142627 0.983146 0.114373 91.2936"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-113.751 -505.817 145.944"; + rotation = "-0.589687 0.573785 0.568366 119.392"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.387 -505.961 141.454"; + rotation = "0 0 -1 98.5487"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "-122.427 -523.296 141.472"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-122.421 -512.052 141.476"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-141.78 -512.151 141.477"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-141.72 -523.101 141.476"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-113.195 -530.126 111.455"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-150.931 -530.111 111.516"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-132.017 -435.887 111.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "44.1037 -678.505 341.821"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "bmisc_nefvbay.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-137.459 -502.022 237.877"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + interiorFile = "bmisc_nefledge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-132.029 -460.616 121.488"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + interiorFile = "bbase_nefhillside.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-137.452 -522.501 248.335"; + rotation = "-0.000563019 0.707107 0.707107 179.935"; + scale = "1.56077 1.1804 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-137.468 -519.881 242.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-132.104 -529.583 121.535"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-132.417 -239.922 114.875"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-132.426 -240.426 124.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Lawn"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-132.026 -449.592 111.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-204.808 -519.258 153.477"; + rotation = "0 0 1 224.599"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-59.3653 -519.395 153.459"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "-137.672 -507.688 253.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "134.185 770.203 363.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-130.427 496.632 255.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "119.03 -764.52 365.191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "394.403 -33.2817 264.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-475.239 -12.0304 130.904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "361.988 -333.445 217.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition2BEPlant25) { + + + new TSStatic() { + position = "508 604 199.656"; + rotation = "-0.0153007 -0.0561328 0.998306 77.0943"; + scale = "0.7 0.7 0.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 460 116.563"; + rotation = "0.104911 -0.0773987 0.991465 86.4897"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 404 178.547"; + rotation = "0.0399348 0.146822 0.988356 142.412"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 420 150.766"; + rotation = "0.05707 0.0188291 -0.998193 88.1032"; + scale = "0.6 0.6 0.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -220 116.578"; + rotation = "0.335479 -0.10738 0.935908 25.5911"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 -4 107.75"; + rotation = "0.0426211 -0.102897 0.993779 45.2534"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 540 113.313"; + rotation = "0.176146 -0.407136 0.896222 27.7882"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -36 134.422"; + rotation = "-0.023988 0.0025212 0.999709 78.0162"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 204 116.719"; + rotation = "-0.595582 -0.101553 -0.796849 18.7626"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 364 111.313"; + rotation = "-0.0166544 0.0467632 0.998767 114.065"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -572 270.016"; + rotation = "0.105127 -0.0473535 0.993331 103.374"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -308 203.469"; + rotation = "-0.94497 -0.327156 2.10178e-05 12.1309"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -164 116.188"; + rotation = "0.0557652 0.0191697 0.99826 66.0913"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 420 148.984"; + rotation = "0.176951 0.0225607 -0.983961 110.868"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 -260 157"; + rotation = "0.169271 0.526783 0.832975 20.3434"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 28 114.094"; + rotation = "0.0992449 -0.253015 -0.962358 75.1141"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 260 122.266"; + rotation = "-0.992604 -0.121394 0 15.2966"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 396 171.078"; + rotation = "-0.293448 0.161305 -0.942268 50.582"; + scale = "0.5 0.5 0.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -156 200.516"; + rotation = "0.153262 -0.117456 -0.98118 75.0494"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 124 202.031"; + rotation = "0.0200137 0.101765 0.994607 195.915"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 668 205.094"; + rotation = "0.0857471 -0.0369759 0.995631 226.817"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 540 204.266"; + rotation = "0.0764403 -0.0961064 0.992432 158.163"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 -516 123.688"; + rotation = "-0.572407 0.809303 0.131826 15.0853"; + scale = "0.5 0.5 0.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -532 186.281"; + rotation = "-0.099991 0.0967795 0.99027 234.542"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -332 211.25"; + rotation = "0.0416131 0.0809213 0.995851 98.2359"; + scale = "0.7 0.7 0.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 628 272.109"; + rotation = "0.101932 -0.0438345 0.993825 218.777"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -452 172.844"; + rotation = "-0.0343145 -0.0506572 0.998126 43.0733"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 396 182.016"; + rotation = "0.0417381 -0.177682 -0.983202 117.862"; + scale = "0.6 0.6 0.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 668 224.484"; + rotation = "-0.0242963 0.00770263 -0.999675 110.018"; + scale = "0.7 0.7 0.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -236 227.188"; + rotation = "0 0 -1 118"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -364 198.812"; + rotation = "0.0141638 -0.140221 0.990019 146.32"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 516 118.281"; + rotation = "0.0360316 0.0341337 0.998768 226.949"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -364 158.969"; + rotation = "-0.127284 0.761589 0.635437 10.9959"; + scale = "0.7 0.7 0.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -580 111.078"; + rotation = "0.00859472 0.171538 0.98514 178.03"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 132 123.594"; + rotation = "0.0148381 -0.0422655 0.998996 55.0471"; + scale = "0.7 0.7 0.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 44 144.109"; + rotation = "-0.112736 0.0263388 0.993276 142.237"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 412 218.766"; + rotation = "0.859639 -0.510901 2.67687e-05 9.53759"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 652 198.766"; + rotation = "-0.153414 0.0940136 -0.98368 118.829"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -708 423.156"; + rotation = "0.0087757 0.0743323 0.997195 171.025"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 156 117.141"; + rotation = "-0.0486436 0.315543 0.947664 8.44023"; + scale = "0.7 0.7 0.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -452 220.562"; + rotation = "0.507542 -0.851205 0.133608 14.8864"; + scale = "0.5 0.5 0.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 292 162.969"; + rotation = "0.00492091 0.0102005 0.999936 159.001"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 668 336.062"; + rotation = "-0.147669 0.0288334 -0.988616 77.6403"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -292 198.469"; + rotation = "0.00719528 -0.059835 -0.998182 91.1037"; + scale = "0.5 0.5 0.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 20 166.797"; + rotation = "-0.100946 -0.127182 0.986729 138.509"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -4 190.406"; + rotation = "-0.157131 0.0962894 0.982872 117.879"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -36 146.219"; + rotation = "-0.00436744 -0.0961188 0.99536 175.023"; + scale = "0.5 0.5 0.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 332 151.484"; + rotation = "-0.0328704 -0.183933 0.982389 111.947"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant6) { + + + new TSStatic() { + position = "128.818 -302.084 169.459"; + rotation = "0 0 -1 31.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "375.325 -29.8295 245.48"; + rotation = "0 0 1 18"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-293.759 507.103 210.822"; + rotation = "0 0 1 55"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "181.058 531.727 262.925"; + rotation = "0 0 1 130"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-313.394 274.204 120.284"; + rotation = "0 0 1 130"; + scale = "0.7 0.7 0.7"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.227 338.365 183.3"; + rotation = "0 0 -1 66.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "355.707 355.218 197.087"; + rotation = "0 0 1 41"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-557.877 519.169 143.125"; + rotation = "0 0 1 24.776"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-896.551 508.952 132.134"; + rotation = "0 0 1 55"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1008.54 -297.15 172.831"; + rotation = "0 0 1 38"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 4 109.156"; + rotation = "0 0 1 190"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "505.188 -153.141 347.894"; + rotation = "0 0 1 175"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "350.338 509.208 183.912"; + rotation = "0 0 1 175"; + scale = "0.7 0.7 0.7"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572.291 -418.631 151.184"; + rotation = "0 0 -1 11.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-311.503 404.358 172.819"; + rotation = "0 0 1 88.9998"; + scale = "0.5 0.5 0.5"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-905.498 -514.033 135.556"; + rotation = "0 0 -1 4.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 508 159.928"; + rotation = "0 0 -1 80.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-613.248 645.253 263.497"; + rotation = "0 0 -1 108.999"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -116 118.869"; + rotation = "0 0 -1 34.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "25.5804 539.623 266.116"; + rotation = "0 0 -1 49.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "509.851 370.478 198.2"; + rotation = "0 0 -1 101"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-447.114 -420.836 124.306"; + rotation = "0 0 1 204"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -516 183.563"; + rotation = "0 0 -1 95.0004"; + scale = "2.71218 2.48361 2.69299"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-851.604 -246.024 143.172"; + rotation = "0 0 -1 55.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-570.527 -758.38 255.409"; + rotation = "0 0 1 218"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "64.5853 -540.999 268.656"; + rotation = "0 0 1 153"; + scale = "0.6 0.6 0.6"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "70.4875 602.295 327.237"; + rotation = "0 0 1 123"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree16) { + + + new TSStatic() { + position = "-812 260 156.631"; + rotation = "0 0 1 227"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -196 150.694"; + rotation = "0 0 1 78.0002"; + scale = "2.1 2.1 2.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-897.297 -13.9952 112.581"; + rotation = "0 0 -1 20.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388.338 465.833 172.8"; + rotation = "0 0 1 215"; + scale = "1.7 1.7 1.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "391.605 650.767 223.297"; + rotation = "0 0 1 151"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 132 116.397"; + rotation = "0 0 1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-789.062 473.131 115.778"; + rotation = "0 0 -1 108"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -220 116.659"; + rotation = "0 0 -1 32"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-442.639 388.821 118.456"; + rotation = "0 0 1 57.9999"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "103.223 -755.795 356.32"; + rotation = "0 0 1 25"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-937.555 -383.249 148.053"; + rotation = "0 0 -1 102"; + scale = "1.6 1.6 1.6"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "405.305 -425.345 174.178"; + rotation = "0 0 -1 105"; + scale = "2.2 2.2 2.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "77.2759 371.246 141.669"; + rotation = "0 0 -1 40.0002"; + scale = "2.4 2.4 2.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-497.784 -203.727 155.209"; + rotation = "0 0 1 178"; + scale = "1.7 1.7 1.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -476 172.1"; + rotation = "0 0 1 94"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -284 197.209"; + rotation = "0 0 1 104"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-355.005 825.135 404.566"; + rotation = "0 0 -1 101"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1116.99 241.46 217.212"; + rotation = "0 0 1 139"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/IceRidge_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/IceRidge_nef.mis new file mode 100644 index 00000000..f9731aae --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/IceRidge_nef.mis @@ -0,0 +1,1897 @@ +// DisplayName = IceRidge +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Starwolf and Blood Eagle battle each other for control of Zeta Hercules XI, a cold, inhospitable world, even by Starwolf standards. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + powerCount = "0"; + cdTrack = "5"; + CTF_scoreLimit = "10"; + + new MissionArea(MissionArea) { + area = "-704 -904 1216 1152"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "264 -8 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "575"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.600000 0.600000 0.650000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.650000 1.000000"; + fogVolume1 = "900 0 400"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 7648147490786239160000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.76868e+20 1.77529e+28"; + high_fogVolume2 = "-1 7.16804e+35 1.35559e-19"; + high_fogVolume3 = "-1 973.643 1.32909e-14"; + + locked = "true"; + cloudSpeed0 = "0.000250 0.000050"; + }; + new Sun() { + position = "264 -8 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "IceRidge_nef.ter"; + squareSize = "8"; + emptySquares = "206716 206972 207228 207484 207740 231029 362356 362612 362868 363124 363380 363636"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new AudioEmitter() { + position = "-86.0234 -626.579 135.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "IceRidge.nav"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-22 -693 111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "65"; + outdoorWeight = "35"; + + locked = "true"; + }; + }; + new SimGroup(SideInv) { + + providesPower = "1"; + + new InteriorInstance() { + position = "87.2196 -615.585 149.104"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "71.9864 -610.583 143.086"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-73.6186 -685.129 110.769"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-33.3859 -694.182 94.7581"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-9.91477 -694.201 94.7478"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-19.733 -716.328 95.7527"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-22.1705 -693.626 132.651"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "-39.6555 -693.623 132.744"; + rotation = "0 0 -1 0.351659"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-3.63247 -693.626 132.747"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-22.1723 -693.622 127.635"; + rotation = "0 0 1 179.909"; + scale = "0.5 0.5 0.5"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-21.4668 -718.129 130.929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-164.392 -564.353 187.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-132.823 -551.579 200.464"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-176.39 -553.023 196.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-141.841 -552.341 194.537"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-75 77 129.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "65"; + outdoorWeight = "35"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-23.9736 68.2454 128.358"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-78.0296 99.3237 113.333"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-64.1799 77.2681 112.337"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-87.6879 77.2652 112.346"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-75.8288 77.1163 145.22"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-93.992 77.1703 150.335"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-57.9676 77.1698 150.328"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-75.8316 77.1697 150.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Item() { + position = "-76.1008 102.091 148.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "124.827 -125.664 187.669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "41.913 -94.9812 206.487"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "112.847 -113.089 197.624"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "50.9995 -94.2339 200.52"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(SideInv) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-221.592 38.0627 144.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-206.364 33.0743 138.567"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "137.643 -457.438 211.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-78.0229 -267.185 128.214"; + rotation = "0.729463 0.0779479 0.679565 170.434"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1.77995 -260.305 108.253"; + rotation = "0 1 0 13.178"; + scale = "1 1 1"; + interiorFile = "srockb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-24.0428 -238.402 96.5725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-21.7833 -307.526 124.863"; + rotation = "1 0 0 76.7763"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-67.45 -287.932 112.34"; + rotation = "-0.309859 0.696867 -0.64681 134.138"; + scale = "1.75224 1.34261 1.6721"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-41.073 -304.613 121.882"; + rotation = "0.564899 0.635564 0.526258 111.394"; + scale = "0.514386 0.508755 0.346781"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "45.6327 27.0446 129.205"; + rotation = "0.546963 -0.519862 -0.656182 110.758"; + scale = "1.46803 1 2.91619"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "41.323 41.0948 115.601"; + rotation = "1 0 0 76.7763"; + scale = "0.675965 0.470892 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-37.4213 134.681 169.369"; + rotation = "-0.0565658 -0.180788 0.981894 214.156"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-75.8143 56.5171 120.009"; + rotation = "0.999792 -0.003346 0.0201351 18.874"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "28.2915 -730.958 148.805"; + rotation = "0.124403 0.0625951 -0.990255 53.8716"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-9.65245 -683.992 100.643"; + rotation = "-0.0565659 -0.180788 0.981894 214.156"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(AudioSnow) { + + + new AudioEmitter() { + position = "-310.343 -540.858 207.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-613 -642.324 94.3295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-468.426 -580.771 68.7285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-53.0981 -747.782 144.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "91.476 -686.229 118.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "246.868 -403.456 124.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "391.442 -341.903 98.7208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "572.262 602.371 199.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "716.836 663.924 173.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "160.286 840.671 192.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "304.86 902.223 167.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-98.2552 669.264 181.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "46.3188 730.817 155.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(AudioIce) { + + + new AudioEmitter() { + position = "51.4797 -443.162 48.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "197.786 -581.538 35.7268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "273.821 -817.129 60.4446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "565.467 -402.402 49.6072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "477.927 -132.986 36.8269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "98.8 203.689 60.2986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "245.374 295.257 62.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-367.904 502.825 46.3583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-518.856 828.165 53.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-581.811 228.514 53.9287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-321.679 -62.4149 45.0066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "52.2378 50.7429 53.2836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "227.982 425.181 45.5979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "301.512 268.466 57.2814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "526.708 371.224 54.8098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "394.709 2.0176 53.2124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-172.45 16.6238 48.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-450.622 -141.327 50.0381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1SWShrub21) { + + + new TSStatic() { + position = "276 -372 79.0937"; + rotation = "-0.000554573 -0.0317717 0.999495 88.0287"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 396 111.078"; + rotation = "0.00467761 -0.0221992 0.999743 105.015"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -980 135.047"; + rotation = "-0.0800878 -0.0337561 0.996216 106.209"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 28 142.422"; + rotation = "0.168783 0.0229552 -0.985386 91.8429"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -732 176.719"; + rotation = "-0.0585606 0.0646637 0.996187 152.103"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 -92 76.2031"; + rotation = "0.0222139 0.297815 -0.954365 54.1392"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 -180 75.3125"; + rotation = "-0.0923651 0.0261978 0.99538 79.2607"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 436 79.5156"; + rotation = "0.0497425 -0.0763924 0.995836 192.946"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -764 70.3282"; + rotation = "-0.0640555 0.134304 0.988868 107.612"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 68 72.5782"; + rotation = "-0.117051 -0.135788 -0.983799 109.882"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 340 94.0626"; + rotation = "-0.0314802 0.0823588 0.996105 41.1469"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 180 110.641"; + rotation = "0.0505586 0.0351144 0.998104 149.056"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -108 133.734"; + rotation = "0.0692931 -0.0650475 0.995473 89.2599"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -444 142.516"; + rotation = "0.0403906 0.00925018 0.999141 101.048"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -460 74.5624"; + rotation = "-0.159319 0.0566241 0.985602 90.831"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 500 76.4375"; + rotation = "-0.0355982 0.0761478 0.996461 22.0762"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 412 111.219"; + rotation = "0.0542722 -0.0150311 0.998413 133.067"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -588 176.203"; + rotation = "0.186267 0.136357 0.972991 35.9099"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -132 163.656"; + rotation = "0.126881 -0.0584896 0.990192 138.376"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -916 92.4375"; + rotation = "-0.293294 -0.176467 0.939595 53.8283"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -220 146.484"; + rotation = "0.108065 0.0731885 0.991446 67.4537"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -196 199.266"; + rotation = "0.124785 0.0769196 0.989198 95.6192"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 252 159.672"; + rotation = "0.155951 0.0811829 -0.984423 35.5193"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 284 101.266"; + rotation = "-0.415906 -0.082587 -0.90565 35.1375"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 -508 168.297"; + rotation = "0.378995 0.0245002 0.925074 51.402"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 212 123.625"; + rotation = "-0.0107688 0.0727383 0.997293 189.973"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 316 161.5"; + rotation = "0.0755232 0.0184937 -0.996973 36.1021"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -356 151.969"; + rotation = "-0.0214467 -0.00213893 0.999768 181"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -732 101.344"; + rotation = "-0.0969335 0.131556 0.986558 121.662"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -820 115.312"; + rotation = "-0.00950064 0.155539 -0.987784 19.2308"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 -76 92.0782"; + rotation = "0.0299709 0.0182581 0.999384 133.026"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 140 76.4375"; + rotation = "0.0937674 0.0228316 0.995332 225.807"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -684 179.719"; + rotation = "-0.10775 -0.0130328 0.994093 200.878"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 428 100.687"; + rotation = "-0.141707 -0.578057 0.803598 21.0707"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -260 176.844"; + rotation = "-0.506562 0.676936 -0.533996 9.3484"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -764 113.375"; + rotation = "0.064814 0.125374 0.98999 145.33"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -308 106.359"; + rotation = "-0.0328915 0.272803 0.961507 9.35879"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 260 76.3281"; + rotation = "0.117635 0.051032 0.991745 216.715"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 28 65.6407"; + rotation = "-0.0865023 -0.0672575 -0.993979 59.2971"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 196 171.031"; + rotation = "0.127657 -0.0744475 -0.98902 112.585"; + scale = "0.6 0.6 0.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2DSPlant17) { + + + new TSStatic() { + position = "4 660 115.656"; + rotation = "1 0 0 0"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 -716 126.922"; + rotation = "1 0 0 0"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -68 76.8125"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -1228 147.516"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -28 202.156"; + rotation = "1 0 0 0"; + scale = "2.5 2.5 2.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 172 109.156"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 252 67.8125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -276 126.297"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 292 140.063"; + rotation = "1 0 0 0"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -1172 74.1406"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 -908 177.109"; + rotation = "1 0 0 0"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "948 556 176.156"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -28 63.0313"; + rotation = "1 0 0 0"; + scale = "0.4 0.4 0.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 -716 60.5469"; + rotation = "1 0 0 0"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3DSPlant18) { + + + new TSStatic() { + position = "1004 500 179.344"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 220 161.734"; + rotation = "1 0 0 0"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 -324 105.359"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -1204 149.797"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -68 61.3594"; + rotation = "1 0 0 0"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1020 -500 153.422"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 -700 104.028"; + rotation = "1 0 0 0"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 -756 101.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1060 508 176.75"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -788 176.937"; + rotation = "1 0 0 0"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1092 508 177.55"; + rotation = "1 0 0 0"; + scale = "0.2 0.2 0.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Lakefront.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Lakefront.mis new file mode 100644 index 00000000..2b65582a --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Lakefront.mis @@ -0,0 +1,1951 @@ +// DisplayName = Lakefront +// MissionTypes = CTF CnH DnD + +//--- MISSION QUOTE BEGIN --- +//Butchers is an apt title for them, but they shed +//blood without purpose, and God shall abandon them. +// -- Firelord Anton Malderi on the Blood Eagle, 3937 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 Points to Win +//[CnH]4800 points to win +//Map by ZOD (assisted: Akira, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CnH_timeLimit = "30"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "30"; + + new MissionArea(MissionArea) { + area = "-568 -776 1120 1536"; + flightCeiling = "340"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.700000 0.700000 0.700000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Lakefront.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + GraphFile = "Lakefront.nav"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "300"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "100 100 120"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 2.77029e-34"; + high_fogVolume2 = "-1 2.77038e-34 1"; + high_fogVolume3 = "-1 0 1.62236e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(team0) { + + + new SimGroup(objective1) { + + + new InteriorInstance() { + position = "-107.381 12.8165 212.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunke.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + }; + new Item() { + position = "-102 11 213.401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-112.7 11 213.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-107.39 18.837 213.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "West Island Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-107.5 14.5 220.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + holoHeight = "10"; + locked = "true"; + }; + new WayPoint() { + position = "-107.381 12.8165 212.395"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "West Island"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + }; + new SimGroup(objective2) { + + + new InteriorInstance() { + position = "99.7977 15.6824 209.959"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunke.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + }; + new Item() { + position = "94.5 17.5 210.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "105 17.5 210.975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "99.8033 9.66808 210.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + pCapThread = "4928"; + name = "East Island Switch"; + missionTypesList = "CnH DnD"; + tHoldThread = "5597"; + locked = "true"; + tCapThread = "4929"; + }; + new StaticShape() { + position = "100 14 218.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + holoHeight = "10"; + locked = "true"; + }; + new WayPoint() { + position = "99.7977 15.6824 209.959"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "East Island"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + }; + new SimGroup(objective3) { + + + new InteriorInstance() { + position = "469.469 0 216.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "469.469 0 217.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "East Shore Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "469.469 0 226.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + holoHeight = "10"; + locked = "true"; + }; + new WayPoint() { + position = "469.469 0 217.848"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "East Shore"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + }; + new SimGroup(objective4) { + + + new InteriorInstance() { + position = "-469.469 0 216.454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-469.469 0 217.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "West Shore Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-469.469 0 226.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + holoHeight = "10"; + locked = "true"; + }; + new WayPoint() { + position = "-469.469 0 217.939"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "West Shore"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "1.50465 -715.379 208.026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new SimGroup(objective) { + + + new InteriorInstance(one) { + position = "2 -496 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(two) { + position = "2 -480 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(three) { + position = "2 -464 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(four) { + position = "2 -448 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(five) { + position = "2 -432 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(six) { + position = "2 -416 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(seven) { + position = "2 -400 187.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(flagstand) { + position = "5 -381.5 191.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(pillar1) { + position = "1.96941 -391.398 186.568"; + rotation = "1 0 0 0"; + scale = "1.66228 1.8 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(pillar2) { + position = "1.96941 -391.398 168.871"; + rotation = "1 0 0 0"; + scale = "1.66228 1.8 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "2 -387.4 188.583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(Vehicle) { + + + new InteriorInstance() { + position = "0.994622 -619.736 204.54"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "0.985842 -649.822 202.546"; + rotation = "0 0 1 180"; + scale = "2.00041 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1.02491 -566.706 199.774"; + rotation = "1 0 0 9.99997"; + scale = "1.99659 3.66043 1"; + interiorFile = "bbrdga.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-11.2451 -593.634 197.53"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "13.2732 -593.611 197.531"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "13.2913 -645.623 197.52"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-11.3194 -645.629 197.524"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "0.994622 -619.736 201.616"; + rotation = "0 0 1 179.85"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "REMOVED"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "1.5 -715.5 207.538"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + }; + new InteriorInstance() { + position = "464.451 -493.831 197.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-464.451 -493.831 212.565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1.5 -726.5 207.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-464.5 -494 246.129"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nametag = "East"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "464.5 -494 230.63"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nametag = "West"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "13 -722.5 214.499"; + rotation = "0 0 1 230"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-10 -722.5 214.515"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-11.8208 -715.495 207.51"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "14.8521 -715.61 207.498"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-464.451 -493.831 233.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "1.48575 -720.532 214.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "464.614 -493.955 218.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "1.49287 -715.189 213.569"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "1.56135 -702.314 221.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-1.60487 706.374 208.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new SimGroup(objective) { + + + new InteriorInstance(one) { + position = "-2 495 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(two) { + position = "-2 479 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(three) { + position = "-2 463 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(four) { + position = "-2 447 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(five) { + position = "-2 431 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(six) { + position = "-2 415 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(seven) { + position = "-2 399 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(flagstand) { + position = "1 392.5 191.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(pillar1) { + position = "-2.04556 390.56 186.638"; + rotation = "1 0 0 0"; + scale = "1.66228 1.8 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(pillar2) { + position = "-2.04556 390.56 170.462"; + rotation = "1 0 0 0"; + scale = "1.66228 1.8 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-2 386.5 188.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(Vehicle) { + + + new InteriorInstance() { + position = "-2.12801 610.941 205.967"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-2.12559 641.024 203.969"; + rotation = "1 0 0 0"; + scale = "2.00041 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-2.11756 557.093 199.166"; + rotation = "-1 0 0 22"; + scale = "2.00977 3.66043 1"; + interiorFile = "bbrdga.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-14.3104 636.831 198.97"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "10.1776 636.811 198.967"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-14.4308 584.957 198.964"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "10.1606 584.738 198.955"; + rotation = "1 0 0 0"; + scale = "0.436903 0.5 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-1.62883 610.941 203.045"; + rotation = "0 0 -1 0.600029"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "REMOVED"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-1.5 707 207.692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + }; + new InteriorInstance() { + position = "452.854 464.424 200.599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-452.854 464.424 204.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-1.5 718 207.73"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-453 464.5 237.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nametag = "East"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "453 464 234.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nametag = "West"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "10 714 214.63"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-13 714 214.66"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-14.8375 707.007 207.677"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "11.851 707.006 207.667"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "452.854 464.424 221.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-1.47084 711.994 214.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-452.831 464.469 225.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Turret() { + position = "-1.4836 706.705 213.743"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-1.53009 693.81 221.674"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam3) { + position = "-34.0574 345.305 211.857"; + rotation = "0.654751 -0.131467 0.744324 30.1935"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam4) { + position = "-7.22575 704.062 211.684"; + rotation = "0.184075 -0.0491251 0.981684 30.4171"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-32.3987 -375.779 205.628"; + rotation = "0.0354729 -0.114674 0.99277 145.857"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam1) { + position = "1.3132 -701.638 211.607"; + rotation = "9.99932e-05 -0.0199987 0.9998 179.427"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "0 0 -15.7061"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "1"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + submergeTexture[0] = "ice/skies/dark_r"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + params2 = "0.39 0.39 0.2 0.133"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + locked = "true"; + params1 = "0.63 -2.41 0.33 0.21"; + extent = "2000 2000 98"; + floodFill = "1"; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "-54.1028 -28.4802 190.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(waterwaves1) { + position = "2 -428.6 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "1000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(waterwaves2) { + position = "-2 417.6 187.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "1000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-464.05 -493.691 224.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "485.538 -0.428375 222.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-8.54272 -785.232 224.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-336.483 345.97 227.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + + new SimGroup(Addition1BELgTree18) { + + + new TSStatic() { + position = "17.7558 -833.244 204.938"; + rotation = "0 0 1 179"; + scale = "1.2 1.2 1.2"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "600.712 345.055 251.794"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444.71 202.76 229.178"; + rotation = "0 0 -1 37.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "688.864 -80.4233 212.616"; + rotation = "0 0 1 6.00005"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "253.84 810.696 208.835"; + rotation = "0 0 1 11"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-450.627 -210.469 205.67"; + rotation = "0 0 1 174"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "549.725 68.9669 204.518"; + rotation = "0 0 1 67"; + scale = "0.9 0.9 0.9"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-367.184 778.091 204.98"; + rotation = "0 0 -1 47.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -436 203.445"; + rotation = "0 0 1 74.7431"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.732 513.488 214.041"; + rotation = "0 0 1 75.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-154.171 630.807 215.217"; + rotation = "0 0 1 97.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "158.256 -472.374 188.122"; + rotation = "0 0 -1 52.4834"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164.02 -520.376 207.483"; + rotation = "0 0 1 49"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -204 225.281"; + rotation = "0 0 1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-305.689 -544.58 272.219"; + rotation = "0 0 1 69.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-614.246 -330.557 208.514"; + rotation = "0 0 1 73"; + scale = "1.2 1.2 1.2"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "174.982 -656.14 212.735"; + rotation = "0 0 1 227"; + scale = "1.3 1.3 1.3"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-66.5281 765.978 204.475"; + rotation = "0 0 -1 69.0002"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-458.077 385.416 211"; + rotation = "0 0 1 41"; + scale = "1.5 1.5 1.5"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 540 204.344"; + rotation = "0 0 1 167"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596.821 -307.082 229.108"; + rotation = "0 0 1 75.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "338.6 -611.461 227.281"; + rotation = "0 0 1 11"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "433.344 -24.4491 220.379"; + rotation = "0 0 1 133"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-582.178 348.375 227.622"; + rotation = "0 0 -1 38"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -708 229.677"; + rotation = "0 0 1 140"; + scale = "1.3 1.3 1.3"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-560.014 -589.24 230.556"; + rotation = "0 0 -1 115"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -460 203.969"; + rotation = "0 0 1 236"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-621.943 -638.641 221.706"; + rotation = "0 0 1 162"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "614.996 -866.665 229.137"; + rotation = "0 0 1 100"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "529.329 -476.069 208.737"; + rotation = "0 0 -1 94"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -268 210.274"; + rotation = "0 0 1 182"; + scale = "0.8 0.8 0.8"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 92 225.391"; + rotation = "0 0 1 233"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-691.224 267.824 206.021"; + rotation = "0 0 1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "125.591 602.926 210.722"; + rotation = "0 0 1 70.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -132 224.453"; + rotation = "0 0 1 120"; + scale = "1.2 1.2 1.2"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 564 229.047"; + rotation = "0 0 1 42"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 -636 212.023"; + rotation = "0 0 1 26"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-597.475 832.477 229.303"; + rotation = "0 0 1 182"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-451.765 171.719 264.049"; + rotation = "0 0 1 18.0678"; + scale = "1.2 1.2 1.2"; + shapeName = "borg11.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition1BEPlant1) { + + + new TSStatic() { + position = "-356 -428 226.037"; + rotation = "0.0814876 -0.60987 -0.788301 51.9275"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-46.2318 -5.0432 209.048"; + rotation = "-0.205146 -0.0438006 0.977751 154.559"; + scale = "0.5 0.5 0.5"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "53.7917 -226.646 172.173"; + rotation = "-0.0766748 0.274672 0.958476 119.193"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.775 -341.812 154.585"; + rotation = "-0.0281778 0.203472 0.978675 142.496"; + scale = "1.3 1.3 1.3"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-213.084 -172.497 139.087"; + rotation = "-0.133126 0.494638 0.858843 25.5662"; + scale = "2 2 2"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "318.443 -21.8507 183.394"; + rotation = "0.0470655 0.408017 -0.91176 54.1738"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-11.7377 121.867 142.483"; + rotation = "0.574262 -0.24129 -0.782306 41.1988"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-208.215 -366.265 194.898"; + rotation = "0.186345 0.0547184 0.980959 188.527"; + scale = "1.4 1.4 1.4"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.043 -294.038 141.232"; + rotation = "0.0856629 0.0387952 0.995569 83.0617"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-102.715 -369.694 169.56"; + rotation = "-0.371714 -0.225704 -0.900492 115.86"; + scale = "2 2 2"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156.13 99.8753 153.304"; + rotation = "0.0397938 -0.0802739 -0.995978 46.1487"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "230.615 16.3367 148.998"; + rotation = "-0.0664277 0.168441 0.983471 152.445"; + scale = "1.9 1.9 1.9"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "349.817 -380.999 190.715"; + rotation = "-0.156343 0.305161 0.939379 119.166"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 92 150.334"; + rotation = "-0.00433506 0.0113154 0.999927 202.998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-371.998 -427.998 230.086"; + rotation = "0.0239528 0.0968717 -0.995009 94.286"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "299.617 -3.94601 161.211"; + rotation = "-0.282073 0.0933244 0.954843 180.078"; + scale = "1.8 1.8 1.8"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 60 228.756"; + rotation = "0.0322725 -0.165274 0.98572 111.768"; + scale = "1 1 1"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348.891 -100.688 170.439"; + rotation = "0.307781 0.108096 0.945297 145.915"; + scale = "0.5 0.5 0.5"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364.906 -404.813 203.729"; + rotation = "0.292875 0.0760983 -0.953118 69.556"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-21.1267 -424.388 159.95"; + rotation = "0.809739 -0.0265071 -0.586192 29.6501"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404.82 235.967 214.279"; + rotation = "0.682159 -0.43994 0.584047 21.7215"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-40.7362 164.222 151.905"; + rotation = "-0.0980119 0.139463 0.985365 87.1727"; + scale = "0.5 0.5 0.5"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "261.687 -213.234 118.492"; + rotation = "-0.0556218 0.0852193 -0.994808 23.2045"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-35.2961 -403.001 154.786"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -244 223.698"; + rotation = "-0.520992 0.785434 -0.334157 11.9324"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260.632 -259.162 133.695"; + rotation = "0.314896 -0.153294 -0.936665 65.3596"; + scale = "0.6 0.6 0.6"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -332 211.333"; + rotation = "-0.122144 -0.0778466 0.989455 198.804"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "181.051 -154.101 124.258"; + rotation = "-0.737193 -0.667052 -0.107648 24.6958"; + scale = "0.8 0.8 0.8"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268.59 68.1447 134.827"; + rotation = "-0.0579262 0.0834637 0.994826 171.969"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "261.959 356.484 149.845"; + rotation = "-0.21009 0.0559002 0.976083 141.072"; + scale = "0.7 0.7 0.7"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.304 -292.083 151.792"; + rotation = "0.0368514 0.0334234 0.998762 233.943"; + scale = "1.7 1.7 1.7"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212.258 -283.607 140.75"; + rotation = "0.0155524 -0.0302197 0.999422 168.007"; + scale = "2 2 2"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "402.857 53.4961 225.664"; + rotation = "0.294738 0.230717 -0.927307 46.0307"; + scale = "1.9 1.9 1.9"; + shapeName = "borg2.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Magmatic.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Magmatic.mis new file mode 100644 index 00000000..16ef606e --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Magmatic.mis @@ -0,0 +1,1573 @@ +// DisplayName = Magmatic +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//War does not determine who is right - only who is left. +// -- Bertrand Russell +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 Points to win +//Map by Infamous Butcher (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "30"; + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-928 -472 1824 1136"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam2) { + position = "471.549 41.801 213.409"; + rotation = "0.653532 -0.148768 0.742135 34.1051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-481.927 48.1414 219.103"; + rotation = "0.496961 0.172933 -0.850367 44.5101"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "499.348 72.3803 157.799"; + rotation = "0.653532 -0.148769 0.742135 34.1051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-527.529 101.282 158.527"; + rotation = "0.0927942 -0.189657 0.977456 128.882"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Magmatic.ter"; + squareSize = "8"; + emptySquares = "231229 231358 231485 231614 231741 231870 232509 232638 232765 232894 233021 233150 303052 303308 303564 107212"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + GraphFile = "Magmatic.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.988200 0.235300 0.011800 0.000000"; + fogDistance = "280"; + fogColor = "0.913700 0.383000 0.071800 0.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "100 100 120"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0.533767 0.614598"; + high_fogVolume2 = "-1 0.634901 0.469548"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "600"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 -39.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-519.021 87.7069 192.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "400"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-585.276 205.316 180.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-611.857 264.36 175.944"; + rotation = "0 0 1 167.303"; + scale = "1 1 1"; + interiorFile = "infbutch_blackairinv13.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-506.111 113.814 189.769"; + rotation = "0 0 1 85.3707"; + scale = "1 1 1"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-645.815 -15.4902 218.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-486.699 189.988 205.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-521.422 91.9036 153.757"; + rotation = "0 0 -1 94.538"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-516.657 83.5363 153.758"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-636.663 -15.4643 214.423"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-478.313 190.037 201.124"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-607.8 265.599 175.478"; + rotation = "0 0 -1 102.742"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-533.611 118.392 180.761"; + rotation = "0 0 -1 5.15707"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-509.654 120.34 180.759"; + rotation = "0 0 -1 5.15707"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-519.133 87.7019 169.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-639.57 249.63 179.18"; + rotation = "0 0 1 166.158"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-643.231 265.742 179.181"; + rotation = "0 0 -1 12.2144"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-519.021 87.7069 192.778"; + rotation = "0 0 1 85.3707"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-504.494 56.9785 180.757"; + rotation = "0 0 1 174.179"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-528.468 55.0312 180.752"; + rotation = "0 0 1 174.752"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-531.138 106.097 160.761"; + rotation = "0 0 -1 45.2641"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-527.919 67.4952 160.758"; + rotation = "0 0 1 219.052"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-634.894 259.115 186.666"; + rotation = "0 0 1 77.3493"; + scale = "1 1 1"; + nameTag = "Vehicle"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-644.187 256.85 186.659"; + rotation = "0 0 1 77.3493"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-218.269 125.86 121.933"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-226.655 125.811 126.459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "506.691 86.238 192.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "400"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "575.863 208.943 190.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "607.561 263.985 176.017"; + rotation = "0 0 1 12.6053"; + scale = "1 1 1"; + interiorFile = "infbutch_blackairinv13.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "524.104 109.646 189.844"; + rotation = "0 0 1 95.6839"; + scale = "1 1 1"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "452.885 183.019 202.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "618.52 -13.1446 218.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "505.114 90.7997 153.818"; + rotation = "0 0 -1 84.2248"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "508.277 81.7249 153.852"; + rotation = "0 0 1 95.684"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "462.448 183.008 197.773"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "627.436 -13.1832 214.391"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "506.653 86.2632 169.111"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "506.691 86.238 192.845"; + rotation = "0 0 1 95.684"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "603.245 264.622 175.54"; + rotation = "0 0 1 102.559"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "497.88 119.065 180.832"; + rotation = "0 0 1 4.58384"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "521.805 116.702 180.835"; + rotation = "0 0 1 5.72969"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "515.507 53.4569 180.834"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "491.63 55.8045 180.833"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "518.985 104.6 160.836"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "630.338 258.974 186.738"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + nameTag = "Vehicle"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "638.937 265.428 179.237"; + rotation = "0 0 1 12.0322"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "635.306 249.305 179.232"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "515.345 66.0135 160.828"; + rotation = "0 0 1 147.25"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "639.968 256.999 186.723"; + rotation = "0 0 -1 76.9589"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "210.471 125.097 122.128"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "200.908 125.108 126.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition3DSPlant19) { + + + new TSStatic() { + position = "52 -108 140.828"; + rotation = "0 0 1 105"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 884 144.156"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 828 129.75"; + rotation = "0 0 1 72.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -596 75.4687"; + rotation = "0 0 -1 13.0002"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 156 172.875"; + rotation = "0 0 1 17"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 772 124.297"; + rotation = "0 0 -1 107"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "479.768 -639.041 123.456"; + rotation = "0 0 -1 99.0002"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "218.672 327.13 126.513"; + rotation = "0 0 -1 22.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 140 87.4062"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292.628 -558.85 127.006"; + rotation = "0 0 -1 31.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -428 124.922"; + rotation = "0 0 1 114"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -372 109.078"; + rotation = "0 0 -1 103"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.9212 1420.97 131.249"; + rotation = "0 0 1 37"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -292 179.266"; + rotation = "0 0 1 108"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -180 87.5"; + rotation = "0 0 -1 19.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 1060 178.656"; + rotation = "0 0 1 15"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1012 876 191.469"; + rotation = "0 0 -1 63.0001"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 540 67.5938"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -484 122.906"; + rotation = "0 0 -1 89.0004"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 212 84.9531"; + rotation = "0 0 1 97.9998"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -92 150.734"; + rotation = "0 0 -1 47.9999"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 940 184.172"; + rotation = "0 0 1 203"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -500 125.031"; + rotation = "0 0 1 233"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 916 178.578"; + rotation = "0 0 -1 25.0002"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900 1276 62.6094"; + rotation = "0 0 -1 4.00015"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-483.2 739.351 126.826"; + rotation = "0 0 -1 117"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -52 88.6876"; + rotation = "0 0 1 108"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -628 145.641"; + rotation = "0 0 1 128"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -236 89.8281"; + rotation = "0 0 1 144"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 660 123.687"; + rotation = "0 0 1 22"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 20 202.109"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -44 94.6875"; + rotation = "0 0 1 63.0001"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 -452 123.609"; + rotation = "0 0 -1 7.00012"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 12 123.937"; + rotation = "0 0 1 29"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 -348 121.312"; + rotation = "0 0 1 173"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 1004 125.016"; + rotation = "0 0 -1 62.0003"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 1172 125.375"; + rotation = "0 0 -1 85"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 -260 73"; + rotation = "0 0 1 134"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 852 177.328"; + rotation = "0 0 -1 117"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 420 125.781"; + rotation = "0 0 1 198"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -716 123.734"; + rotation = "0 0 -1 50"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 1236 128.859"; + rotation = "0 0 1 123"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4DSPlant17) { + + + new TSStatic() { + position = "-145.354 789.786 125.802"; + rotation = "-0.0120018 0.068937 0.997549 179.002"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 708 122.469"; + rotation = "0.18493 0.0928712 0.978354 236.943"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.915 -206.857 200.95"; + rotation = "-0.0301451 0.00599636 0.999528 221.292"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 -508 124.016"; + rotation = "0.00632633 0.0151339 0.999865 127.006"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "835.415 296.064 152.641"; + rotation = "0.0504179 0.0431004 0.997798 189.419"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -420 65.9219"; + rotation = "0.19231 -0.117866 0.97423 85.4899"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 -652 88.9844"; + rotation = "0.272673 0.168384 -0.947257 45.1595"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-135.363 440.241 152.305"; + rotation = "9.88246e-05 -0.0227224 0.999742 38.9694"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612.636 130.593 208.589"; + rotation = "0.0039299 -0.0155963 0.999871 203.909"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 604 66.125"; + rotation = "-0.115456 0.112319 0.986942 192.832"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-16.7327 1111.67 134.08"; + rotation = "-0.558128 0.568041 -0.604832 12.1939"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-72.1443 403.156 122.307"; + rotation = "-0.171362 0.0900697 0.981082 12.5534"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 276 115.031"; + rotation = "-0.0414129 -0.0583492 0.997437 168.03"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 924 125.219"; + rotation = "0.0406185 -0.0260443 -0.998835 116.06"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 324 164.687"; + rotation = "0.231983 0.043677 0.971739 94.6389"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 1284 128.687"; + rotation = "0.187237 0.174153 0.966754 104.88"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -476 123.203"; + rotation = "0.00502232 0.0545203 0.9985 227.936"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 1188 126.641"; + rotation = "0.267267 -0.176053 -0.947404 51.3778"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 1004 177.5"; + rotation = "0.00851682 -0.012392 -0.999887 21.0021"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 860 177.734"; + rotation = "-0.0105593 -0.0242057 0.999651 118.018"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.929 316.831 129.209"; + rotation = "-0.0635155 0.0272485 0.997609 77.1333"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -364 120.656"; + rotation = "0.287961 -0.060481 -0.95573 81.5565"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "215.327 400.331 128.523"; + rotation = "0.122185 -0.281456 -0.951763 26.8558"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "448.239 1170.82 181.539"; + rotation = "0.0209913 0.0293318 0.999349 111.24"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 908 178.031"; + rotation = "-0.0904346 0.0296596 -0.995461 32.1384"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 1140 179.281"; + rotation = "0.00456208 0.109631 0.993962 22.1303"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -556 124.125"; + rotation = "0.0582923 0.00203486 0.998298 183.993"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 900 178.594"; + rotation = "0.00402015 -0.00515764 0.999979 218.999"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 820 111.844"; + rotation = "0.0647424 0.0225898 0.997646 184.988"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioBubbling) { + + + new AudioEmitter() { + position = "238.562 -247.204 77.5686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-102.723 207.676 74.2436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "121.164 208.004 68.5667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-228.298 -244.157 67.0027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "225.789 591.297 78.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "205.607 -91.1028 70.5774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "390.492 -423.663 79.6071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "226.749 1008.86 88.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-252.43 1053.56 88.8209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-880.136 600.957 91.7757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Raindance_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Raindance_nef.mis new file mode 100644 index 00000000..fa10f5f2 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Raindance_nef.mis @@ -0,0 +1,1849 @@ +// DisplayName = Raindance +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Blood Eagle and Diamond Sword battle each other on the verdant world of Tawa Mangahela. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-648 -720 1120 1184"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.620000 0.620000 0.620000 1.000000"; + fogDistance = "200"; + fogColor = "0.620000 0.620000 0.620000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.0520022 1.07572e-38"; + high_fogVolume2 = "-1 1.83445e-36 8.40779e-44"; + high_fogVolume3 = "-1 0 3.48427e-38"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.700000 0.700000 0.720000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Raindance_nef.ter"; + squareSize = "8"; + emptySquares = "276863 277119 277375 277631 277887 278143 278399 367967 368223 368479 368735 368991 369247"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Raindance.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-313.762 190.224 112.585"; + rotation = "0.222803 -0.0924727 0.970468 46.3102"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-234.784 272.223 72.1135"; + rotation = "0 0 1 210.275"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "93.2428 -565.861 121.556"; + rotation = "0.39421 0.231819 -0.889302 66.95"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "16.3476 -557.825 66.3009"; + rotation = "0.505924 0.171368 -0.845384 43.6693"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-235.672 244.577 73.6269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Turret() { + position = "-259.391 225.314 93.5945"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-239.928 215.045 83.6287"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_nefRaindance.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-177.493 234.317 68.049"; + rotation = "-0 0 -1 10.9258"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationPos = "-178.842 267.801 73.457"; + mobileBaseVehicle = "removed"; + locked = "true"; + scoutVehicle = "removed"; + stationRot = "-0 0 -1 51.0328"; + AssaultVehicle = "removed"; + }; + new Turret() { + position = "-190.344 68.3119 90.2706"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-169.337 253.684 79.4547"; + rotation = "0 0 1 218.87"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-282.825 224.835 97.1105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "-183.332 -57.5192 104.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-270.823 221.122 96.0173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-195.361 -44.8382 114.14"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-291.831 240.582 101.598"; + rotation = "0 0 1 89.9544"; + scale = "0.75 0.75 0.75"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-178.335 55.6599 80.2917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-227.722 260.275 93.575"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-234.193 260.052 70.6156"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-253.732 260.04 70.6235"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-243.979 257.889 65.6114"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-243.966 260.026 59.6739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "8.53661 -527.292 83.4366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Turret() { + position = "-51.3953 -379.955 101.01"; + rotation = "-0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "71.4878 -574.717 91.8268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-93.5345 -503.893 58.5591"; + rotation = "0 0 1 146.638"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationPos = "-65.918 -560.705 67.429"; + mobileBaseVehicle = "removed"; + locked = "true"; + scoutVehicle = "removed"; + stationRot = "0 0 1 120.282"; + AssaultVehicle = "removed"; + }; + new Turret() { + position = "-59.722 -247.606 111.491"; + rotation = "0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-39.4036 -391.463 91.0257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-47.7372 -258.882 101.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "68.5554 -570.212 97.3837"; + rotation = "0 0 -1 90.1369"; + scale = "0.75 0.75 0.75"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "3.2147 -503.924 75.8292"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_nefRaindance.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "7.09407 -546.879 57.8318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-77.4066 -548.174 73.4105"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "11.0225 -97.5332 162.664"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "62.1504 250.697 131.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-325.088 -284.933 135.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "7.10766 -548.896 51.8305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "59.512 -554.48 92.8843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "22.2396 -513.957 85.8038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-9.9317 -541.123 85.7944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "16.8816 -548.906 62.8106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-2.60489 -548.883 62.809"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter() { + position = "-94.0017 -850.072 58.5574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-31.8275 -326.177 64.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-617.199 -239.103 66.0503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-590.519 65.6461 64.0405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-161.866 -103.053 102.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WaterBlock() { + position = "-312 -200 39.2351"; + rotation = "1 0 0 0"; + scale = "320 96 10"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.6"; + envMapIntensity = "0.15"; + removeWetEdges = "1"; + + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + locked = "true"; + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + seedPoints = "0 0 1 0 1 1 0 1"; + extent = "100 100 10"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "-277.966 -435.057 60.1094"; + rotation = "0 0 1 36"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -36 62.0781"; + rotation = "0 0 1 203"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -796 95.2812"; + rotation = "0 0 1 102"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 212 96.4844"; + rotation = "0 0 -1 53.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -260 66.4062"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -756 95.25"; + rotation = "0 0 1 117"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 292 62.5313"; + rotation = "0 0 1 135"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -652 68.7187"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 284 68.0469"; + rotation = "0 0 1 234"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -836 68.7187"; + rotation = "0 0 -1 19.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -292 80.5469"; + rotation = "0 0 1 116"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 124 73.04"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -388 68.2344"; + rotation = "0 0 1 79.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -828 66.5937"; + rotation = "0 0 1 47"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.468 105.77 92.9515"; + rotation = "0 0 1 88.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 412 88.0468"; + rotation = "0 0 1 24"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -116 106.141"; + rotation = "0 0 -1 108.999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -268 85.9999"; + rotation = "0 0 1 220"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 260 71.3906"; + rotation = "0 0 1 208"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 252 65.0782"; + rotation = "0 0 -1 63.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -492 80.4062"; + rotation = "0 0 1 163"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -180 92.4375"; + rotation = "0 0 1 139"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -692 88.8438"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 492 95.9844"; + rotation = "0 0 -1 76"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 364 81"; + rotation = "0 0 1 231"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 4 63.5625"; + rotation = "0 0 1 94"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "95.4307 108.434 60.5625"; + rotation = "0 0 -1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 388 73.3125"; + rotation = "0 0 1 152"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + + + new TSStatic() { + position = "-134.719 -815.118 63.252"; + rotation = "0 0 -1 88"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-142.719 -1135.12 55.2363"; + rotation = "0 0 1 55"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-134.719 -1087.12 55.877"; + rotation = "0 0 1 148"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-374.719 0.881498 104.361"; + rotation = "0 0 -1 37.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "441.281 -95.1189 85.6426"; + rotation = "0 0 1 55"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-86.7193 -1103.12 54.7988"; + rotation = "0 0 -1 96.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "89.2807 -423.119 88.7363"; + rotation = "0 0 -1 62.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "273.281 -63.1185 64.1739"; + rotation = "0 0 1 173"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-590.719 -615.118 96.3296"; + rotation = "0 0 1 157"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-662.719 -55.1185 71.9863"; + rotation = "0 0 -1 101"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-718.719 -631.118 64.3145"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-486.719 -1127.12 58.8301"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + + new TSStatic() { + position = "500 356 64.8656"; + rotation = "-0.0863969 -0.168086 0.981979 76.0092"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -268 86.225"; + rotation = "0.035927 0.149434 0.988119 233.448"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 492 104.459"; + rotation = "0.610415 -0.707051 0.357034 5.59781"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 100 106.897"; + rotation = "0.123128 0.0713234 0.989824 173.071"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 492 93.2562"; + rotation = "-0.0297185 0.141701 0.989463 205.735"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 484 95.725"; + rotation = "0.124253 0.183605 0.975116 101.419"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -28 73.3657"; + rotation = "-0.0563602 -0.0167326 0.99827 218.938"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 76 73.0219"; + rotation = "-0.0110331 -0.0179624 0.999778 68.0118"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 140 65.725"; + rotation = "0.0317418 -0.0929866 0.995161 224.804"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -76 142.178"; + rotation = "0.0229277 0.0835464 0.99624 142.133"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -644 80.0688"; + rotation = "0.273047 0.28178 0.919807 62.1493"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -60 125.397"; + rotation = "-0.0886114 -0.0081249 0.996033 182.988"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -820 75.9125"; + rotation = "-0.103111 -0.168001 -0.980379 99.1225"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 540 61.4906"; + rotation = "0.0152328 -0.175772 0.984313 119.789"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 556 74.2094"; + rotation = "-0.07429 -0.147898 0.986208 103.774"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 364 83.5688"; + rotation = "0.101104 -0.133333 0.985901 233.345"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -724 100.772"; + rotation = "-0.0156117 -0.0991926 0.994946 189.95"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -660 114.6"; + rotation = "-0.757412 -0.13583 0.638652 27.8564"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -404 92.5375"; + rotation = "0.237677 -0.251274 -0.938281 33.9871"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 364 81.4594"; + rotation = "-0.395283 -0.219961 -0.891834 31.2387"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 276 66.6625"; + rotation = "-0.00738411 0.0289465 0.999554 185.997"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -708 99.6938"; + rotation = "0.10477 -0.206088 0.972908 218.999"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 172 83.8187"; + rotation = "0.282612 -0.37504 -0.882879 18.0896"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 124 63.475"; + rotation = "-0.0209755 0.036238 -0.999123 83.0502"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 508 86.9125"; + rotation = "-0.0627155 0.164155 0.984439 126.723"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 316 63.8969"; + rotation = "0.10763 -0.0756181 -0.991311 84.4975"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 332 86.1781"; + rotation = "-0.408876 0.102365 0.906831 58.6612"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 548 79.2718"; + rotation = "0.0877355 -0.428803 0.899128 18.8746"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -764 83.475"; + rotation = "-0.0478277 0.00937574 -0.998812 116.061"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -532 107.616"; + rotation = "-0.0566781 0.110427 0.992267 152.208"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -388 91.9437"; + rotation = "0.0720119 0.0430671 0.996474 176.014"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -172 66.9437"; + rotation = "0.0274156 0.0353099 0.999 234.953"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -196 80.9438"; + rotation = "-0.206466 0.136219 0.968925 79.7746"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -84 74.7406"; + rotation = "-0.162811 -0.400672 -0.90164 22.1304"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 84 80.9438"; + rotation = "0.0273091 0.0898082 0.995585 157.099"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 460 105.631"; + rotation = "0.85383 -0.26172 0.449974 19.8417"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 148 76.7719"; + rotation = "-0.206257 0.0429531 0.977555 144.757"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -404 99.3813"; + rotation = "0.0224171 0.227685 0.973477 63.368"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 164 68.0844"; + rotation = "-0.0567427 0.0333505 0.997832 121.107"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -4 101.694"; + rotation = "-0.0322081 -0.262311 -0.964446 106.004"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -732 100.975"; + rotation = "0.0335019 -0.0429117 0.998517 151.041"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 380 76.1"; + rotation = "0.227452 0.00165955 0.973788 88.5209"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 332 86.5218"; + rotation = "0.154768 -0.325919 0.932643 72.7742"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 484 61.2563"; + rotation = "-0.0532174 0.203986 -0.977526 78.2723"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -84 121.491"; + rotation = "-0.133283 -0.0393158 0.990298 119.487"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -180 64.975"; + rotation = "-0.0188448 -0.0823397 -0.996426 89.2055"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 196 82.6157"; + rotation = "0.181153 -0.0963597 0.978723 44.8627"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -556 80.0844"; + rotation = "-0.131119 -0.152171 0.979618 126.949"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + + new TSStatic() { + position = "-620 332 76.875"; + rotation = "0.591269 0.609696 -0.527894 15.0913"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -332 105.344"; + rotation = "0.0177793 -0.0173189 0.999692 207.992"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -548 79.4218"; + rotation = "-0.0852963 0.541379 0.836441 27.3418"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -612 79.0781"; + rotation = "0.00555317 -0.0124167 0.999907 185.999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 420 87.5938"; + rotation = "-0.0443865 -0.0308386 0.998538 73.0802"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -828 82.8438"; + rotation = "-0.164364 0.15407 0.974293 184.872"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 4 98.0312"; + rotation = "0.498696 -0.124769 -0.85775 35.8339"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.317 175.115 74.8374"; + rotation = "0.0427579 -0.114305 0.992525 71.4066"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 364 80.3281"; + rotation = "0.0657571 -0.128875 0.989478 83.602"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 340 82.4375"; + rotation = "-0.348658 0.0335607 0.936649 72.5399"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 508 73.7344"; + rotation = "0.501985 0.331609 0.798778 44.2702"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -748 75.1563"; + rotation = "0.219249 -0.310108 0.925075 47.1866"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 524 65.4063"; + rotation = "0.0599873 -0.06205 -0.996269 37.1293"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -68 76.5937"; + rotation = "-0.10362 -0.053566 0.993173 200.86"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 340 86.3437"; + rotation = "-0.404404 0.0903621 0.910106 45.738"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -636 94.7969"; + rotation = "-0.196128 0.102097 0.975249 158.532"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -420 80.9062"; + rotation = "0.234533 0.00399284 0.9721 122.38"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 316 63.9062"; + rotation = "0.240862 -0.0753057 -0.967633 58.5947"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -228 107.891"; + rotation = "0.109126 -0.269919 -0.956679 100.504"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 252 65.3594"; + rotation = "0.289164 -0.296601 0.910171 46.8047"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -604 70.375"; + rotation = "0.108604 0.0649957 0.991958 158.172"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -20 72.0781"; + rotation = "0.00747328 0.143196 0.989666 97.5901"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 404 78.7187"; + rotation = "-0.208825 -0.0441624 0.976955 107.28"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -500 61.2188"; + rotation = "0.0725287 0.0384296 0.996626 68.1797"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -300 94.2188"; + rotation = "-0.322118 0.0758487 0.943656 62.9188"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -36 111.391"; + rotation = "0.11136 0.21355 -0.970564 42.1358"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 540 74.7657"; + rotation = "0.16781 -0.180069 0.969234 151.856"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -668 76.9531"; + rotation = "-0.0370004 0.177256 0.983469 202.63"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 12 96.1406"; + rotation = "0.559003 -0.3 0.772991 38.2367"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 180 85.9219"; + rotation = "-0.118118 0.168661 0.978571 105.201"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 508 100.5"; + rotation = "0.118402 0.0646879 0.990856 140.337"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -52 75.7656"; + rotation = "-0.0773553 0.0647743 0.994897 59.2513"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -844 78.7031"; + rotation = "0.100218 0.153533 0.983048 173.119"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -356 65.2032"; + rotation = "0.122579 -0.0210566 0.992235 188.931"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -372 80.4375"; + rotation = "0.0181183 -0.045667 0.998792 166.017"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -660 94.8906"; + rotation = "-0.242141 -0.370672 0.896644 53.8846"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 404 80.1719"; + rotation = "-0.212759 -0.0462931 0.976007 98.3779"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 148 73.6406"; + rotation = "0.0834533 0.0133186 0.996423 177.011"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 276 68.3281"; + rotation = "0.0657403 -0.00755095 0.997808 124.104"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -428 72.4376"; + rotation = "0.253484 -0.021656 0.967097 122.629"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -740 104.484"; + rotation = "-0.179285 0.0904439 0.979631 136.813"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 468 84.5626"; + rotation = "0.0919778 0.0715853 0.993185 189.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -772 95.2812"; + rotation = "-0.0258297 -0.048833 -0.998473 81.0861"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -284 67.4687"; + rotation = "-0.0216012 -0.0389473 0.999008 122.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -348 86.1718"; + rotation = "0.026177 -0.154763 0.987605 115.646"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 452 108.594"; + rotation = "0.097528 0.257078 -0.961457 62.9887"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -212 78.8906"; + rotation = "0.0511634 0.110572 0.99255 191.911"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 60 86.8282"; + rotation = "0.0351253 0.175346 0.98388 125.759"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 148 79.6094"; + rotation = "0.216033 0.267481 -0.939033 74.4409"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -596 104.75"; + rotation = "-0.174474 -0.334786 0.926001 60.7702"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Ramparts.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Ramparts.mis new file mode 100644 index 00000000..8095082f --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Ramparts.mis @@ -0,0 +1,6013 @@ +// DisplayName = Ramparts +// MissionTypes = Bounty CTF DM TeamHunters DnD + +//--- MISSION QUOTE BEGIN --- +//He who defends everything, defends nothing +// -- Frederick the Great +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Bounty DM]Mission follows standard Rules of Engagement +//[CTF]600 points to win +//[TeamHunters]Nexus located atop central platform +//No vehicle stations +//Map by z0dd +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + DM_scoreLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "6"; + cdTrack = "6"; + DM_timeLimit = "25"; + Team_Hunters_timeLimit = "25"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-584 -640 1200 1280"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.620000 0.640000 0.742000 1.000000"; + fogDistance = "275"; + fogColor = "0.620000 0.640000 0.742000 1.000000"; + fogVolume1 = "300 0 145"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "1024 512 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.900000 0.900000 1.000000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture2 = "special/LensFlare/flare01"; + texture1 = "special/sunFlare02"; + texture4 = "special/LensFlare/flare03"; + locked = "true"; + texture0 = "special/sunFlare"; + texture3 = "special/LensFlare/flare02"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.1"; + maxVelocity = "0.5"; + maxNumDrops = "50"; + maxRadius = "125"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Ramparts.ter"; + squareSize = "8"; + emptySquares = "84092 543101 543357 543613 543869 1199480 1199736 1199992 1200248 1200504 1266295 1266551 1266807 546173 349822 371070 502397 1289079 1289335 1289591 1224311 1159032 1159288 1159544 1159800 635772 636028 636284 636540 112512"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "475"; + visibleDistance = "1000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Damnation.nav"; + coverage = "0"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "-1024 -1024 -39.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 140"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/ice_water_ram"; + surfaceOpacity = "0.6"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team0) { + + new SimGroup(NexusBase) { + + providesPower = "1"; + + new InteriorInstance() { + position = "8.95336 12.8459 251.505"; + rotation = "0 0 1 22.3454"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "3.9051 8.48758 246.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + flashThreadDir = "1"; + locked = "true"; + missionTypesList = "TeamHunters"; + }; + new StaticShape() { + position = "3.9051 8.48758 254.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "TeamHunters"; + }; + new WayPoint() { + position = "3.9051 8.48758 246.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + + locked = "true"; + missionTypesList = "TeamHunters"; + }; + }; + new SimGroup(other) { + + + new Item() { + position = "3.88336 8.3759 248.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "4.06208 3.5121 248.326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "8.67057 8.49583 248.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "3.90638 13.28 248.308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "-0.908311 8.38792 248.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "-172.607 -173.972 235.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + new Item() { + position = "193.888 232.179 235.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + new WayPoint() { + position = "8.27005 -391.596 198.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + new WayPoint() { + position = "3.76113 390.904 197.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "6.88711 -381.578 190.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "155"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "CTF DM DnD Bounty TeamHunters"; + }; + new SpawnSphere() { + position = "-302.04 185.653 115.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "175"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty TeamHunters"; + }; + new SpawnSphere() { + position = "3.7602 380.853 214.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "321.687 -164.978 115.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "175"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "6.88711 -341.578 215.079"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ram_base.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "109.822 -354.684 185.028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-96.0289 -354.642 184.996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-172.611 -174.592 257.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "-39.5626 -391.051 212.065"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-96.0355 -347.545 157.05"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.8761 -324.234 213.051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new InteriorInstance() { + position = "109.775 -347.545 157.05"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.88598 -391.511 206.114"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new Turret() { + position = "6.88708 -389.059 222.121"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "44.3832 -395.09 199.055"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "47.8986 -380.112 212.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-30.615 -395.104 199.054"; + rotation = "0 0 1 224.026"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "6.8691 -379.531 199.095"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new InteriorInstance() { + position = "-172.598 -173.95 215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_tower.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.88817 -444.136 286.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "6.88513 -435.1 254.061"; + rotation = "0 0 1 177.135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Other1) { + + + new Item() { + position = "6.88616 -397.323 212.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new TSStatic() { + position = "-52.0515 -396.3 214.063"; + rotation = "1 0 0 0"; + scale = "0.8 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "70.919 -389.58 217.626"; + rotation = "-0.707103 0.000563928 0.70711 180.064"; + scale = "1.85 1.4 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.5621 -396.463 211.891"; + rotation = "1 0 0 0"; + scale = "1.85 2 2.5"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "45.0087 -401.595 217.656"; + rotation = "0.577194 -0.577659 -0.577198 119.974"; + scale = "1.85 1.4 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "60.073 -389.147 212.039"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "58.5621 -382.683 211.891"; + rotation = "1 0 0 0"; + scale = "1.85 2 2.5"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.517 -379.013 218.411"; + rotation = "-0.951403 -0.217753 -0.217753 92.8532"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2958 -381.123 214.806"; + rotation = "0 0 1 184.675"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-48.5163 -380.397 211.991"; + rotation = "0 0 -1 89.9544"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52.0863 -380.394 211.991"; + rotation = "0 0 -1 89.9544"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-55.7063 -380.391 211.991"; + rotation = "0 0 -1 89.9544"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52.5591 -394.595 214.039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.4317 -399.411 212.048"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52.1317 -395.411 212.048"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "69.5625 -399.041 212.129"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "-28.1385 -377.754 200.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.9417 -385.611 212.038"; + rotation = "0 0 -1 36.0964"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "67.5825 -399.041 212.129"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.4585 -398.932 214.041"; + rotation = "0 0 1 17.7619"; + scale = "0.8 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-46.0858 -389.558 223.586"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "69.0525 -399.041 214.117"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.5652 -377.562 215.075"; + rotation = "-0.577197 -0.577657 0.577197 119.974"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new Item() { + position = "6.90154 -363.606 213.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-9.1378 -397.395 214.51"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "22.8122 -397.395 214.51"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "42.0063 -377.777 200.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-43.8707 -377.159 217.493"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.8827 -389.608 211.651"; + rotation = "1 0 0 0"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-57.5483 -389.535 217.65"; + rotation = "-0.577658 -0.577197 -0.577196 119.974"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "58.04 -390.12 212.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "3.7602 380.853 199.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "155"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "CTF DnD TeamHunters"; + }; + new SpawnSphere() { + position = "321.687 -164.978 115.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "175"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "TeamHunters"; + }; + }; + new SimGroup(Base2) { + + + new InteriorInstance() { + position = "3.7602 340.853 214.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_base.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-99.1747 353.949 184.219"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "106.676 353.877 184.187"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "50.08 390.326 211.256"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "106.683 346.82 156.241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "3.76144 390.786 205.305"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new Turret() { + position = "3.76126 388.325 221.316"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new Turret() { + position = "193.907 232.802 257.99"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new InteriorInstance() { + position = "-99.1276 346.82 156.241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-37.2512 379.437 211.263"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "3.77126 323.509 212.242"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "3.7782 378.806 198.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "41.2763 394.393 198.245"; + rotation = "0 0 1 44.026"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-33.7004 394.329 198.246"; + rotation = "-0 0 -1 45.355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "193.901 232.15 215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_tower.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "3.75135 443.382 285.249"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "3.79884 434.354 253.253"; + rotation = "0 0 -1 2.29206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Other2) { + + + new StaticShape() { + position = "-31.359 377.052 199.988"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-12.1649 396.67 213.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "19.7852 396.67 213.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "3.7598 362.823 212.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + missionTypesList = "CTF"; + }; + new TSStatic() { + position = "64.9381 376.404 216.684"; + rotation = "-3.16101e-08 0.707107 0.707107 180"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 218.15"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "50.7426 383.577 211.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-46.3054 390.813 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2354 390.813 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 220.9"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Item() { + position = "3.76123 396.598 211.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-54.2571 399.379 222.763"; + rotation = "1 0 0 0"; + scale = "1 1 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "50.7473 383.577 217.18"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "55.6375 401.3 216.841"; + rotation = "-0.999999 0.000793801 0.00079238 89.9997"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "38.1318 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "38.7859 377.029 199.972"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-46.3054 386.833 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "59.6918 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-38.2471 399.379 222.773"; + rotation = "1 0 0 0"; + scale = "1 1 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "54.3018 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "65.0818 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "48.9118 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "43.5218 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "56.3322 400.867 216.171"; + rotation = "-1.31109e-09 -0.198669 0.980067 180"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "54.9722 400.867 216.171"; + rotation = "-1.28661e-09 -0.19867 0.980066 180"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 212.65"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2854 386.833 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 215.41"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2217 380.755 215.307"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44.2417 380.75 215.307"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-56.2417 380.76 215.307"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.7617 380.758 219.287"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-47.5117 380.753 219.287"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-46.2871 399.379 222.763"; + rotation = "1 0 0 0"; + scale = "1 1 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "56.7326 383.577 211.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "56.7373 383.577 217.18"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "6.493 -300.13 229.176"; + rotation = "0.00107929 -0.108611 0.994084 178.868"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "3.8975 304.037 225.233"; + rotation = "1 0 0 10.0841"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "4.49849 371.216 204.776"; + rotation = "1 0 0 25.6112"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "5.78468 -377.986 211.307"; + rotation = "0.563036 -0.439149 0.700099 96.1775"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambience) { + + + new AudioEmitter() { + position = "6.8 -426.053 274.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "4.2 423.847 275.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "448.16 86.202 99.2296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-6.59999 5.247 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "271.13 -552.775 81.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-445.177 -1169.08 88.6644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "65"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-439.611 866.64 77.4717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "582.127 507.822 78.4504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "55"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "3.98352 8.58236 251.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "124.4 5.247 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "262.4 29.847 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-148 -17.153 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-237.2 -84.953 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + + new TSStatic() { + position = "-232.381 413.69 200.382"; + rotation = "0 0 1 4.58367"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-422.531 275.734 187.294"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-520.768 161.183 187.076"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-350.662 5.07039 214.788"; + rotation = "0 0 1 139.229"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-675.74 86.5769 211.413"; + rotation = "0 0 -1 110.581"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "245.504 139.263 194.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "458.182 290.557 216.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "614.619 280.815 191.437"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12.0056 597.071 186.258"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "371.408 615.948 207.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "718.169 676.733 203.923"; + rotation = "0 0 -1 71.0468"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.478 -630.344 199.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "381.908 -685.817 204.881"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "669.109 -579.561 178.423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "440.751 -353.555 199.803"; + rotation = "0 0 1 93.3921"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "439.876 -93.8591 178.101"; + rotation = "0 0 -1 72.7656"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-473.095 -347.567 197.369"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-639.778 -322.889 212.849"; + rotation = "0 0 1 166.34"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-502.022 -705.687 206.775"; + rotation = "0 0 1 16.0428"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92.5287 -565.578 185.153"; + rotation = "0 0 1 72.7656"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-49.2183 -852.842 177.528"; + rotation = "0 0 1 56.7228"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "375.657 -978.114 178.389"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "10.9638 -1319.05 195.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-391.371 -1357.57 177.39"; + rotation = "0 0 -1 39.5341"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-805.023 -533.917 182.221"; + rotation = "0 0 1 179.909"; + scale = "1.43996 1.3508 1.24178"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1192.19 -377.722 168.749"; + rotation = "0 0 1 128.343"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1417.33 -443.317 178.158"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1563.36 -388.409 172.657"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1694.93 -733.829 195.982"; + rotation = "0 0 -1 97.9758"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1872.33 -484.223 175.671"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1997.6 -494.608 173.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2166.38 -631.343 199.934"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2337.86 -590.401 170.616"; + rotation = "0 0 1 230.512"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2096.12 -426.442 168.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1578.95 -665.397 188.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1477.06 -926.916 202.537"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1630.53 -1157.31 176.656"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2009.79 -779.918 181.108"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "943.611 -58.5417 169.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "847.802 -383.026 166.031"; + rotation = "0 0 1 209.885"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1147.81 -770.528 197.68"; + rotation = "0 0 1 8.59438"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1343.29 -713.391 199.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "927.231 -1232.57 173.836"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1144.12 -1553.77 187.515"; + rotation = "0 0 -1 102.559"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1086.63 -1624.85 173.123"; + rotation = "0 0 -1 63.0254"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1243.24 -1725.9 173.409"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "987.822 -1868.28 181.698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1026.18 -1958.29 200.138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "357.682 -1591.9 177.107"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "639.767 -1733.22 205.229"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "664.378 -2160.06 176.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "128.57 -2180.14 176.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.07 -2318.94 188.774"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-832.357 -2152.42 170.02"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1122.92 -1655.37 178.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-993.332 -944.176 211.197"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-8.72636 813.782 194.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "355.706 910.426 181.399"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260.941 1227.25 207.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.463 954.332 213.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-86.0942 1292.87 207.75"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-63.5561 1804.09 189.394"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "133.485 1908.59 176.312"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236.641 2237.27 181.3"; + rotation = "0 0 -1 105.997"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "770.777 613.937 194.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1109.55 469.863 177.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004.07 745.254 200.302"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1103.78 1035.28 169.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1589.93 1271.11 184.192"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1851.64 854.668 187.415"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2031.15 1080.76 175.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1557.15 1343.65 206.168"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1228.72 1597.71 196.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "651.706 1591.85 186.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-729.783 240.356 173.274"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036.73 108.639 200.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1091.17 767.917 197.213"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-989.362 1096.55 210.097"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1419.06 1089.09 178.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1598.37 772.614 170.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1692.19 913.067 181.39"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2047.75 679.619 222.201"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2055.81 1297.37 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-73.1415 80.7683 180.146"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-94.6082 3.88642 45.1564"; + rotation = "0 0 1 131.78"; + scale = "2 2 2"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "469.102 101.036 108.826"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "561.364 534.168 86.3165"; + rotation = "0 0 -1 85.9437"; + scale = "3 3 3"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-515.078 838.168 114.086"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BEPlant5) { + + + new TSStatic() { + position = "284.027 -316.061 163.104"; + rotation = "0.365545 0.366836 0.855458 48.3337"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636.931 -348.191 204.031"; + rotation = "-0.150934 -0.0129108 0.98846 88.665"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 940 131.859"; + rotation = "0.0550082 0.0949424 0.993962 221.768"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748.015 507.997 139.974"; + rotation = "0.0561782 0.668438 0.741643 14.7949"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -364 187.859"; + rotation = "-0.361298 -0.115718 -0.925242 20.504"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 460 176.859"; + rotation = "0.0542102 -0.272198 -0.960713 74.1969"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -532 204.078"; + rotation = "-0.147712 -0.0938945 0.984563 190.831"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -764 192.125"; + rotation = "0.00516997 0.0739326 -0.99725 98.1563"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 628 135.438"; + rotation = "0.0408932 -0.169716 0.984644 229.324"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 36 24.9531"; + rotation = "-0.269676 0.13612 0.953282 105.656"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "427.89 -220.117 143.139"; + rotation = "0.0619552 0.274076 0.95971 238.96"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804.008 764.009 159.872"; + rotation = "-0.0202508 -0.00782554 0.999764 124.012"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -28 57.4687"; + rotation = "0.0394268 0.0292926 0.998793 103.068"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916.037 580.028 158.744"; + rotation = "0.0881949 0.239411 -0.966904 116.735"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -508 176.484"; + rotation = "0.00621941 0.197088 0.980366 106.095"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 364 198.828"; + rotation = "0.446266 -0.234668 0.863584 42.3577"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 124 140.75"; + rotation = "-0.070834 -0.268008 0.960809 113.123"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-11.9248 -115.979 141.474"; + rotation = "-0.205795 -0.139099 0.968659 215.916"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -580 171.703"; + rotation = "-0.0978492 -0.0829689 0.991737 179.008"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 116 119.972"; + rotation = "-0.00355071 -0.252303 0.967642 209.071"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 516 175"; + rotation = "-0.580446 0.367627 0.72659 13.7319"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -204 187.141"; + rotation = "0.00503441 -0.0444955 0.998997 170.01"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 1004 160.391"; + rotation = "-0.150288 -0.927948 0.341065 20.3334"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508.112 -123.95 174.448"; + rotation = "-0.311651 -0.319516 -0.894865 44.2665"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -436 125.047"; + rotation = "0.023483 0.119617 0.992542 97.4256"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 -836 194.391"; + rotation = "-0.0951617 0.126707 0.987365 122.616"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 764 171.594"; + rotation = "-0.124463 0.156106 0.979867 110.098"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "835.982 707.962 149.476"; + rotation = "0.0529894 -0.161283 -0.985485 94.8352"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 52 153.328"; + rotation = "-0.266514 0.0603531 0.96194 232.222"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 764 138.484"; + rotation = "0.00342552 0.236216 0.971695 174.169"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 396 161.297"; + rotation = "-0.0808935 0.896771 0.435038 18.2629"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604.015 -84.0176 166.325"; + rotation = "0.67225 0.659511 0.336341 20.6129"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 708 108.047"; + rotation = "0.0943854 0.134504 0.986408 169.149"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "827.979 -627.973 106.588"; + rotation = "-0.0120436 -0.151248 0.988422 96.6616"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 900 152.625"; + rotation = "0.235324 0.425435 0.873858 51.8161"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 892 190.266"; + rotation = "-0.0884524 -0.945341 -0.313856 22.055"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -396 198.75"; + rotation = "-0.136437 0.32854 0.934583 57.1975"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836.005 595.993 175.123"; + rotation = "0.338545 0.491056 0.802653 42.8919"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "707.569 -763.658 197.577"; + rotation = "0.0930118 0.0182251 0.995498 157.101"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 852 177.266"; + rotation = "0.144392 -0.144479 0.978916 160.414"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 820 193.641"; + rotation = "-0.385475 0.919843 0.0727826 13.6746"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 92 10.6563"; + rotation = "-0.529832 -0.482222 0.697668 32.5152"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -836 154.969"; + rotation = "-0.263956 0.526429 -0.808208 46.1518"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 -116 139.5"; + rotation = "0.174101 -0.127983 0.976376 128.086"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "915.995 555.997 156.063"; + rotation = "0.0321739 -0.0133963 0.999393 69.0329"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 900 175.734"; + rotation = "0.0744085 0.159598 -0.984374 85.899"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 668 163.031"; + rotation = "-0.956617 0.0581531 -0.285487 27.5258"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 892 190.266"; + rotation = "0.181152 -0.0169495 0.983309 173.116"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 -380 183.547"; + rotation = "-0.314854 0.00931971 0.949094 67.7419"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 796 175.156"; + rotation = "-0.142379 0.115392 0.983063 119.852"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "924 228 198.016"; + rotation = "0.305899 0.193359 -0.932222 66.6379"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 332 188.641"; + rotation = "-0.092675 -0.0592874 -0.99393 116.313"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 196 159.766"; + rotation = "-0.0762525 -0.0205524 -0.996877 112.166"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -836 168.891"; + rotation = "0.170457 0.150713 0.973771 239.677"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 932 105.531"; + rotation = "0.996661 -0.00269066 0.0816053 24.1468"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "947.902 -236.162 136.719"; + rotation = "0.622314 -0.16336 0.765531 42.3067"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 580 177.859"; + rotation = "0.479502 0.87213 0.0973027 20.3401"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -444 155.188"; + rotation = "-0.235278 -0.00466604 0.971917 163.471"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -652 184.484"; + rotation = "0.0378159 -0.214099 0.97608 175.119"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "675.998 731.917 178.552"; + rotation = "0.206888 0.204754 0.956699 94.5317"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332.059 -308.114 193.415"; + rotation = "0.153729 0.143328 0.977663 141.807"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 452 187.297"; + rotation = "-0.138352 0.20395 0.969156 115.63"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 588 176.828"; + rotation = "-0.0239252 -0.163127 -0.986315 110.74"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.909 -844.112 155.278"; + rotation = "0.367127 -0.206884 0.906872 49.097"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 -468 155.719"; + rotation = "0.151926 -0.193199 0.969326 164.485"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 892 196.687"; + rotation = "0.383123 0.103668 -0.917862 61.2125"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "691.941 284.009 175.393"; + rotation = "0.149688 -0.2992 0.942376 74.2444"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 860 139.562"; + rotation = "-0.0941604 -0.0621122 0.993618 75.3549"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "875.978 724.031 132.308"; + rotation = "-0.19194 -0.00813542 -0.981373 66.9879"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252.078 -260.033 136.346"; + rotation = "0.439463 0.673234 -0.594667 33.0316"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -780 192.844"; + rotation = "0.84378 -0.536689 0 14.2735"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 852 195.484"; + rotation = "-0.0902029 0.0909247 0.991764 227.649"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 620 167.031"; + rotation = "0.421081 0.595052 0.684546 30.2989"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -556 164.453"; + rotation = "-0.1186 0.164894 -0.979155 42.8138"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 580 164.016"; + rotation = "0.0835349 0.228421 0.969972 199.411"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 564 174.063"; + rotation = "0.173362 -0.0210532 0.984633 219.433"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 524 177.281"; + rotation = "0.156483 0.0849425 0.984021 129.713"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-139.869 -763.906 191.864"; + rotation = "-0.256525 -0.00129298 0.966537 110.834"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 228 161.187"; + rotation = "-0.0470503 -0.0536856 0.997449 180.998"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "555.998 676.108 156.511"; + rotation = "-0.596915 0.191723 -0.77906 47.6888"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "979.994 547.973 126.566"; + rotation = "0.36846 0.0832736 0.925906 54.51"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 300 189.297"; + rotation = "-0.0724419 -0.463656 0.883049 48.0814"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452.101 -187.895 145.199"; + rotation = "-0.216198 -0.116089 0.969423 145.032"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -740 148.734"; + rotation = "0.124353 -0.0825917 0.988795 177.034"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -796 141.859"; + rotation = "-0.00223972 -0.134266 -0.990943 77.5086"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 1036 175.453"; + rotation = "-0.0454099 -0.136203 0.98964 224.579"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -732 193.531"; + rotation = "0.0199262 -0.222748 0.974672 114.346"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 380 188.25"; + rotation = "-0.129533 0.0790103 0.988422 168.138"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-851.973 -324.077 191.451"; + rotation = "0.0749821 0.166253 0.983228 92.9681"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 -492 138.141"; + rotation = "0.466857 0.0967109 0.879029 63.4052"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -460 172.766"; + rotation = "-0.239607 0.040582 0.970021 66.5903"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340.167 -483.746 136.352"; + rotation = "-0.23752 0.420975 -0.875423 38.5025"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 516 116.781"; + rotation = "0.222022 -0.132903 0.965941 103.935"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -860 167.391"; + rotation = "0.129512 0.101421 0.986377 206.645"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "899.991 -596.032 111.89"; + rotation = "0.00798749 0.171232 0.985198 204.641"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 796 175.703"; + rotation = "-0.346049 -0.258522 0.901896 64.2011"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -612 184.172"; + rotation = "0.2314 0.45824 -0.858179 19.7578"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 140 110.203"; + rotation = "-0.398288 0.0234063 -0.916962 62.3069"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -684 177.344"; + rotation = "-0.26746 0.0928662 0.959083 235.993"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "195.828 -267.721 133.048"; + rotation = "-0.288678 0.200853 -0.936121 79.6961"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 108 129.187"; + rotation = "0.0640422 -0.00494191 0.997935 213.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "691.846 556.293 125.862"; + rotation = "-0.671655 0.288895 0.682216 27.5643"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 708 153.469"; + rotation = "0.275762 -0.0109321 0.961164 58.9236"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 356 199.726"; + rotation = "-0.73356 -0.518291 0.439618 26.8919"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 -180 161.078"; + rotation = "-0.122837 0.0959172 0.987781 196.796"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -804 136.469"; + rotation = "-0.0670205 0.0197712 -0.997556 112.13"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -380 194.109"; + rotation = "0.201796 -0.178288 0.963064 229.344"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 620 133.625"; + rotation = "0.0102303 0.168219 0.985697 209.59"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -356 155.687"; + rotation = "0.232602 -0.222725 -0.946726 81.0838"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 548 115.422"; + rotation = "0.1003 -0.0380493 0.994229 153.15"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 292 175.984"; + rotation = "0.0706782 0.0425422 -0.996592 113.18"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 324 179.453"; + rotation = "-0.0206615 -0.115308 0.993115 45.2806"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 900 203.453"; + rotation = "-0.10616 -0.156396 0.981973 157.404"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 956 143.172"; + rotation = "-0.250163 -0.333991 -0.908773 58.5563"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.207 -885.384 164.891"; + rotation = "0.10438 -0.11813 0.987497 152.336"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 580 178.438"; + rotation = "0.184342 0.0969841 0.978065 144.74"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 572 122.703"; + rotation = "0.268325 0.00286751 0.963324 105.077"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "491.987 443.978 124.023"; + rotation = "0.0198771 0.153002 0.988026 224.514"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 532 89.7969"; + rotation = "-0.19678 0.163754 -0.966676 96.9313"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -788 190.75"; + rotation = "0.360473 -0.191 0.913005 63.5714"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 1036 172.234"; + rotation = "0.0972819 -0.0997671 0.990244 239.515"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 428 176.313"; + rotation = "-0.171578 -0.116341 0.978277 238.917"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 540 133.391"; + rotation = "-0.668564 -0.26589 -0.694496 28.4918"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -876 185.266"; + rotation = "-0.114712 -0.0662864 0.991185 125.414"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 -668 214.656"; + rotation = "0.0991127 0.175268 0.979519 200.579"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 284 161.438"; + rotation = "-0.907849 0.38004 -0.177141 22.3048"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 548 167.016"; + rotation = "0.0288876 -0.173552 0.984401 111.839"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -780 164.406"; + rotation = "-0.127927 -0.1801 -0.975294 41.9493"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476.001 -164.043 165.231"; + rotation = "0.638068 0.103984 0.762926 26.0273"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 324 206.391"; + rotation = "0.128385 0.149185 0.980439 202.562"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 412 176.188"; + rotation = "0.134118 -0.270855 -0.953231 53.1645"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 284 151.391"; + rotation = "0.00798218 0.306276 0.951909 84.8046"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -580 149.797"; + rotation = "0.0687864 0.276325 -0.9586 29.159"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -572 191.766"; + rotation = "0.117596 0.0967177 -0.98834 115.607"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 756 196.656"; + rotation = "-0.449705 -0.572601 0.685488 33.0617"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 548 115.422"; + rotation = "0.110219 0.0406086 0.993077 234.674"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788.048 739.949 158.584"; + rotation = "-0.0769909 0.0742345 0.994264 184.971"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 964 170.594"; + rotation = "-0.185458 0.144102 0.972029 162.495"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 700 147.953"; + rotation = "-0.0827661 -0.173261 0.981392 176.075"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 340 197.391"; + rotation = "-0.397106 -0.31856 0.860713 42.4864"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -708 110.828"; + rotation = "0.026357 -0.0469061 0.998551 222.943"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -500 191.391"; + rotation = "0.735438 0.677592 0 25.2989"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -708 200.406"; + rotation = "-0.00592685 -0.187646 0.982219 203.585"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -860 178.484"; + rotation = "-0.461644 -0.0616697 0.884919 23.6583"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -492 165.969"; + rotation = "0.0930763 -0.146048 0.984889 144.509"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-924 172 162.266"; + rotation = "0.0281596 0.144313 0.989131 66.5737"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -708 149.781"; + rotation = "-0.0189276 -0.463237 -0.886032 54.4378"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 100 135"; + rotation = "-0.112005 -0.180725 0.977135 204.446"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 412 175.328"; + rotation = "0.00767857 -0.295447 -0.955328 74.5068"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 356 146.437"; + rotation = "0.027488 0.11139 0.993397 118.335"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -716 178.156"; + rotation = "-0.141505 -0.091104 0.985736 84.8195"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "795.986 -571.938 127.633"; + rotation = "0.100535 -0.127152 0.986775 231.401"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 252 196.875"; + rotation = "-0.0180272 -0.0124431 0.99976 144.008"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 556 134.203"; + rotation = "0.0765866 -0.0556074 -0.995511 110.242"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "499.981 475.97 118.283"; + rotation = "0.103579 0.0282318 0.99422 97.3272"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.1202 -899.937 163.154"; + rotation = "-0.130951 -0.641434 0.755919 41.5468"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 764 121.719"; + rotation = "0.114738 0.0741956 0.990621 159.192"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-515.939 -195.967 165.822"; + rotation = "-0.185566 0.052312 0.981238 93.0838"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 772 158.219"; + rotation = "-0.77669 -0.599916 -0.191972 15.5336"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 836 120.062"; + rotation = "0.0712933 -0.376787 -0.923552 32.3577"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 740 134.437"; + rotation = "0.544482 -0.548881 -0.634246 37.055"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 860 125.594"; + rotation = "0.322933 -0.909406 0.262097 26.2708"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 748 188.406"; + rotation = "-0.89854 0.266625 0.348622 30.8802"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 900 105.984"; + rotation = "0.0443841 -0.110467 0.992888 202.841"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 1052 110.656"; + rotation = "0.220414 -0.0997704 0.97029 121.485"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -756 190.813"; + rotation = "-0.0456292 0.100958 0.993844 102.346"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 -884 205.828"; + rotation = "0.00505639 -0.10897 -0.994032 98.3396"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -396 163.813"; + rotation = "-0.117193 -0.105305 0.98751 170.124"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 540 174.688"; + rotation = "0.156452 -0.237377 0.958736 51.8745"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644.252 147.737 162.418"; + rotation = "0.0471401 -0.00620604 0.998869 75.0626"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 900 176.953"; + rotation = "-0.20447 0.154659 0.966578 192.569"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 412 153.797"; + rotation = "0.848178 0.346115 -0.400998 29.3739"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 324 176.125"; + rotation = "0.149112 -0.105011 0.983229 137.657"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.9386 795.978 151.212"; + rotation = "0.370501 0.816558 -0.442675 22.3595"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 932 183.125"; + rotation = "0.0145452 0.318648 -0.947761 64.7476"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 532 90.6875"; + rotation = "0.100087 -0.17015 0.980322 182.941"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -868 134.781"; + rotation = "0.0688145 -0.20961 0.975361 86.4257"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -540 156.109"; + rotation = "-0.105449 0.0035632 0.994418 217.803"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -684 200.359"; + rotation = "-0.426908 0.717012 0.551039 32.0724"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 436 164.203"; + rotation = "-0.385514 0.0725446 -0.919846 69.4116"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 948 201.484"; + rotation = "0.37883 0.0516497 -0.924024 84.4849"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-355.897 -267.98 194.552"; + rotation = "0.0648346 0.529563 -0.845789 42.0295"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-924 -916 201.359"; + rotation = "-0.555614 -0.0753082 -0.828023 25.2332"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -396 150.328"; + rotation = "0.321065 0.295024 -0.899932 57.9747"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -60 179.859"; + rotation = "0.430664 0.384371 -0.816571 44.5636"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -628 175.734"; + rotation = "0.021175 0.524496 0.851149 15.2487"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "972 -756 191.453"; + rotation = "-0.0820835 0.278019 0.957062 111.36"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 452 155.344"; + rotation = "-0.13203 0.179281 0.974898 152.676"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 708 152.828"; + rotation = "0.0420136 0.144679 -0.988586 76.6388"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "803.981 340.106 173.391"; + rotation = "-0.307235 0.0624933 -0.94958 45.0601"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -668 211.125"; + rotation = "0.253305 -0.274298 -0.927684 64.8285"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -524 158.062"; + rotation = "-0.140448 0.0874433 -0.986219 119.693"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 676 142.078"; + rotation = "-0.282114 0.308386 -0.908466 57.5175"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -652 128.297"; + rotation = "0.0459587 -0.0614308 0.997053 120.146"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 268 172.609"; + rotation = "-0.0207371 0.213596 0.976702 222.086"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 524 191.109"; + rotation = "0.202322 -0.377291 -0.903724 57.7708"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 380 171.167"; + rotation = "-0.0792256 -0.120556 -0.98954 44.4201"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -756 186.859"; + rotation = "0.880857 -0.416398 -0.225174 30.3931"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -860 179.719"; + rotation = "0.0361861 0.0386996 0.998595 119.07"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 100 43.7657"; + rotation = "-0.134329 -0.135512 0.981627 52.842"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684.039 476.041 119.506"; + rotation = "-0.0774732 -0.176032 0.981331 219.31"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 492 130.359"; + rotation = "-0.0649561 -0.115674 0.991161 227.623"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -652 180.156"; + rotation = "-0.0559608 0.177963 0.982445 173.123"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -804 136.281"; + rotation = "-0.334981 0.054558 0.940644 25.4664"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628.044 -828.055 160.009"; + rotation = "-0.0845702 0.242064 0.966568 142.21"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -268 178.391"; + rotation = "0.0913364 -0.0319055 0.995309 183.981"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 468 83.6875"; + rotation = "-0.0048518 0.203123 0.979141 235.993"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -436 151.125"; + rotation = "-0.249556 0.172165 0.952933 95.7544"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "716 44 43.6719"; + rotation = "0.314337 -0.216699 -0.924248 66.0563"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 348 166.984"; + rotation = "0.346669 0.467344 0.813271 15.95"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 860 190.766"; + rotation = "0.0798817 -0.188646 0.978791 156.494"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 380 147.875"; + rotation = "-0.50571 -0.518853 0.689238 13.0284"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "779.998 787.941 158.382"; + rotation = "0.243835 -0.191568 -0.950708 74.775"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892 1004 125.594"; + rotation = "-0.00516495 -0.11783 0.99302 135.283"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 836 190.406"; + rotation = "0.00207823 0.0837836 0.996482 236.831"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636.212 -204.171 159.392"; + rotation = "-0.148311 0.198578 0.968799 199.388"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -372 198.844"; + rotation = "0.0527119 -0.108606 0.992686 187.942"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 236 141.812"; + rotation = "-0.0363092 -0.060834 0.997487 151.07"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 172 130.389"; + rotation = "0.807696 -0.0323292 -0.588712 31.7361"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 164 119.481"; + rotation = "0.0577884 0.125406 0.990421 126.445"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "803.94 724.05 164.356"; + rotation = "0.08193 -0.121641 0.989187 147.337"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -420 155.078"; + rotation = "-0.0754396 -0.698394 0.711727 41.2605"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 836 185.391"; + rotation = "-0.8228 0.3425 0.453535 13.1831"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 540 188.156"; + rotation = "0.0299619 -0.174803 0.984147 193.78"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "924.034 -148 154.604"; + rotation = "-0.0938241 -0.0466286 0.994496 233.744"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 628 172.203"; + rotation = "0.0492992 -0.105407 0.993206 74.3756"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 92 137.516"; + rotation = "0.838307 -0.383528 -0.387488 22.9614"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -660 181.406"; + rotation = "-0.488579 0.141474 -0.860974 57.9725"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 772 171.016"; + rotation = "-0.115396 0.00257147 0.993316 207.82"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 4 66.3906"; + rotation = "0.11896 -0.130115 0.984337 220.41"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 -564 169.797"; + rotation = "-0.371717 0.257574 0.891898 37.842"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -764 195.375"; + rotation = "-0.196515 -0.0863996 -0.976687 65.2215"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -396 171.469"; + rotation = "-0.0477611 0.0682993 -0.996521 81.1973"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 372 166.797"; + rotation = "0.192976 -0.337331 -0.921395 67.2538"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 660 160.078"; + rotation = "-0.601819 0.115082 -0.790297 22.6649"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-523.995 -276.067 167.402"; + rotation = "0.107329 0.221761 0.969176 120.557"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -500 150.234"; + rotation = "0.333797 -0.58315 -0.740618 33.329"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740.009 275.966 166.027"; + rotation = "0.0752195 0.107665 0.991338 80.4909"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 1012 210.125"; + rotation = "-0.00128625 -0.136263 -0.990672 113.494"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "675.968 739.956 174.886"; + rotation = "0.0583225 0.158074 0.985703 210.577"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 68 133.031"; + rotation = "0.0796434 -0.1711 0.982029 96.034"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 916 175.766"; + rotation = "-0.552179 0.0244976 0.833365 29.794"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -948 174.953"; + rotation = "0.232643 0.643931 -0.728855 39.0721"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 476 129.047"; + rotation = "-0.0360581 0.0670882 0.997095 99.1646"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 -820 177.094"; + rotation = "0.133449 -0.134124 0.981938 171.162"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 700 157.297"; + rotation = "-0.169535 -0.141766 0.975275 159.508"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -852 206.766"; + rotation = "0.941021 0.282943 0.185534 10.7492"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -836 204.609"; + rotation = "-0.0710702 0.105006 0.991929 179.008"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 412 195.225"; + rotation = "-0.544814 0.477229 0.689515 31.4872"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -780 144.516"; + rotation = "-0.122475 0.23396 -0.964501 106.991"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "659.877 563.992 129.932"; + rotation = "0.164733 -0.175745 0.970555 80.6857"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-163.975 -572.031 198.138"; + rotation = "-0.0189722 0.271087 0.962368 114.023"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 684 148.016"; + rotation = "-0.201579 -0.00431652 0.979463 127.944"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 892 147.75"; + rotation = "-0.328718 0.253315 0.909822 48.9566"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 404 187.063"; + rotation = "0.0498553 -0.141819 0.988636 157.255"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 492 130.359"; + rotation = "-0.169827 0.0263399 0.985122 89.8587"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -612 202.719"; + rotation = "0.20495 0.0764723 -0.97578 96.3977"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 772 111.578"; + rotation = "0.308959 -0.0181853 0.950902 23.1061"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWShrub21) { + + + new TSStatic() { + position = "443.994 -155.977 150.769"; + rotation = "-0.163282 0.026046 -0.986236 49.6023"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 492 188.078"; + rotation = "0.107102 0.0285094 0.993839 74.3407"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 -876 205.656"; + rotation = "0.0344183 -0.0189669 0.999228 195.988"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -780 191.297"; + rotation = "-0.0201536 -0.0388988 -0.99904 94.0545"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 404 196.359"; + rotation = "0.0498665 0.00330784 -0.99875 87.0712"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "259.975 -236.021 130.38"; + rotation = "-0.0146737 -0.0634954 -0.997874 107.117"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "899.986 524.002 145.861"; + rotation = "0.0399734 -0.073488 0.996495 75.1944"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 380 146.062"; + rotation = "-0.0365288 -0.00823908 0.999299 186.995"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 916 124.266"; + rotation = "-0.126102 -0.0992841 -0.987036 43.5125"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540.007 -83.9752 131.523"; + rotation = "-0.0469886 -0.0329966 0.99835 101.093"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 764 112.062"; + rotation = "0.107011 -0.0141336 0.994157 33.1833"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524.021 -236.029 161.097"; + rotation = "0.0405553 0.0498175 0.997935 172.017"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "979.976 499.963 143.033"; + rotation = "0.815324 -0.579004 4.5659e-05 5.60018"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.004 843.971 145.397"; + rotation = "0.0765409 -0.0768709 -0.994099 73.3249"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 476 166.969"; + rotation = "0.0105447 -0.0792926 -0.996796 113.17"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460.002 -723.986 195.128"; + rotation = "-0.0413118 0.0496652 -0.997911 82.1186"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 628 164.922"; + rotation = "-0.00605635 0.0816851 0.99664 218.878"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 -380 146.375"; + rotation = "0.12814 0.276719 -0.952369 23.0716"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 292 177.047"; + rotation = "-0.211314 0.0922013 -0.97306 27.7189"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 212 166.141"; + rotation = "0.0979182 -0.0466536 0.9941 43.2317"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -892 183.609"; + rotation = "0.0143469 -0.0342093 0.999312 179.001"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 340 195.828"; + rotation = "0.0655468 0.0279172 -0.997459 7.01789"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 252 197"; + rotation = "-0.000922602 -0.0158674 0.999874 229.994"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740.007 523.999 139.467"; + rotation = "0.157367 0.908809 0.386395 5.17313"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "940 -780 196.281"; + rotation = "0.123766 0.335754 -0.933783 20.3203"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "611.983 596.002 144.325"; + rotation = "0.0255086 -0.0492351 0.998461 69.0826"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -924 197.781"; + rotation = "-0.0524078 -0.0211741 0.998401 134.066"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900 124 172.516"; + rotation = "0.0316311 0.0953792 0.994938 109.274"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "948 924 159.641"; + rotation = "0.0485464 0.00647402 0.9988 170.012"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652.004 164.005 161.893"; + rotation = "-0.0200584 -0.0077988 0.999768 115.012"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -732 195.797"; + rotation = "-0.0172241 -0.0409 0.999015 205.975"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 772 170.078"; + rotation = "-0.0471289 0.0377874 -0.998174 71.0989"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -812 136.469"; + rotation = "-0.0789285 0.0020123 0.996878 44.1246"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 204 150.125"; + rotation = "-0.0498729 0.0136701 0.998662 147.042"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 476 180.047"; + rotation = "-0.122655 0.183786 0.975284 28.6807"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -580 176.281"; + rotation = "-0.060748 0.0136534 0.99806 227.917"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 676 127.922"; + rotation = "0.0266066 0.0642023 0.997582 180.998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -484 176.344"; + rotation = "-0.1147 0.188085 0.975432 39.9056"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -812 136.031"; + rotation = "0.11731 0.0143302 0.992992 72.3841"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 772 143.266"; + rotation = "0.0144661 0.00538752 0.999881 184"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -900 139.516"; + rotation = "0.0782977 -0.0149742 0.996818 206.917"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892.318 -139.923 152.986"; + rotation = "0.0898643 -0.0182831 0.995786 67.2228"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "499.975 628.002 150.339"; + rotation = "-0.00248789 -0.603028 0.797716 10.0193"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -644 162.812"; + rotation = "-0.0711666 0.0345332 0.996867 205.922"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "883.145 -99.558 163.775"; + rotation = "-0.0598374 0.00702671 0.998183 211.945"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 708 172.516"; + rotation = "0.00178554 0.0819106 0.996638 115.175"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 844 72.7969"; + rotation = "-0.0694594 0.0195506 0.997393 70.1403"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620.026 612.019 145.99"; + rotation = "-0.0645675 0.0077903 0.997883 93.1217"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -740 195.594"; + rotation = "-0.0156209 0.00317413 0.999873 157.003"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 844 72.7969"; + rotation = "-0.0332393 -0.024848 0.999138 175.005"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -708 110.828"; + rotation = "0.014236 -0.0485819 0.998718 196.979"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -388 166.594"; + rotation = "0.575197 -0.212338 0.789976 15.1571"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 76 151.469"; + rotation = "0.134938 -0.098067 -0.985989 22.3049"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -852 179.156"; + rotation = "0.0750148 0.0198263 0.996985 98.1711"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -620 172.047"; + rotation = "-0.0485524 0.105793 0.993202 37.2358"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 908 148.234"; + rotation = "-0.0411825 -0.0122401 0.999077 204.977"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -500 144.062"; + rotation = "0.229694 -0.966722 -0.112644 8.86116"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412.01 532.004 158.388"; + rotation = "-0.11697 0.189438 0.974901 14.3567"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -884 205.406"; + rotation = "0.0730443 0.0242393 0.997034 82.1684"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -812 140.547"; + rotation = "0.047538 0.0255647 -0.998542 116.075"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "940 292 182.641"; + rotation = "-0.50635 -0.0545004 0.860604 11.6094"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 524 114.172"; + rotation = "0.076725 0.0285841 0.996642 217.882"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 516 135.141"; + rotation = "0.0371531 -0.0644382 0.99723 226.884"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204.043 -283.998 128.824"; + rotation = "0.067604 -0.00861556 0.997675 172.019"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 -780 196.219"; + rotation = "0.217506 0.037687 0.975331 31.745"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "683.98 139.996 157.055"; + rotation = "0.0858275 -0.170992 0.981527 33.5864"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-683.998 -220.023 110.807"; + rotation = "0.0805193 -0.0462857 -0.995678 72.2362"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -804 135.984"; + rotation = "-0.0814628 -0.0591013 0.994923 82.2888"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 668 157.016"; + rotation = "-0.0844503 0.0167281 0.996287 95.2118"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 876 197.938"; + rotation = "0.0461817 0.0716408 0.996361 215.877"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 492 183.25"; + rotation = "0.105042 0.0397347 -0.993674 62.3218"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 948 131.656"; + rotation = "-0.0695418 0.0138446 0.997483 116.129"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 52 167.875"; + rotation = "0.0125583 0.0127795 0.999839 181"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -580 164.25"; + rotation = "-0.0554457 -0.0437921 0.997501 129.111"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -588 164.406"; + rotation = "0.0759689 0.0158875 0.996984 116.155"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "979.997 492.004 143.386"; + rotation = "0.0157654 -0.0101923 0.999824 212.994"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -396 179.516"; + rotation = "-0.0791113 0.0724837 0.994227 95.3304"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748.023 804.006 156.636"; + rotation = "-0.0504621 -0.00207032 0.998724 155.031"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 284 186.781"; + rotation = "0.960259 0.0983862 0.261195 3.82713"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "275.791 371.891 171.254"; + rotation = "0.00623522 -0.0956904 -0.995392 80.2611"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 636 154.281"; + rotation = "0.0584696 -0.069662 -0.995856 100.234"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660.02 411.963 132.53"; + rotation = "-0.0311227 0.0723258 0.996895 169.034"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -748 195.625"; + rotation = "0.07983 -0.0411609 -0.995958 32.1231"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 652 154.688"; + rotation = "0.0391098 -0.0680084 0.996918 174.018"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "795.995 -667.985 115.528"; + rotation = "-0.486142 -0.154269 -0.860155 5.81152"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "980 132 192.797"; + rotation = "0.0415308 0.0709957 0.996612 124.161"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "411.985 476.008 151.794"; + rotation = "-0.347184 -0.557098 -0.754391 9.27046"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -476 153.141"; + rotation = "-0.0314594 -0.0211035 0.999282 85.0412"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 748 128.016"; + rotation = "0.35107 -0.3877 0.852314 8.20912"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -860 200.563"; + rotation = "-0.0745376 -0.0301324 0.996763 110.175"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 1004 161.391"; + rotation = "0.213267 0.185816 0.959161 30.1795"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308.016 -260.001 188.724"; + rotation = "-0.0279804 -0.0696185 -0.997181 54.1308"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "908 132 172.734"; + rotation = "-0.0668936 -0.0184197 0.99759 180"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 988 126.25"; + rotation = "0.0166001 -0.077994 0.996816 123.153"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "683.995 604.015 152.835"; + rotation = "-0.0656872 0.0330243 -0.997294 90.1555"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -500 144.062"; + rotation = "0.0780896 0.00390907 0.996939 158.066"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756.019 139.962 142.601"; + rotation = "0.0318949 0.0809784 0.996205 83.2158"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.0278 -91.9977 150.738"; + rotation = "0.0699905 -0.144834 0.986977 61.6588"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 988 110.437"; + rotation = "-0.143188 0.0528937 -0.988281 56.5618"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "619.991 188 148.573"; + rotation = "-0.0361992 -0.0791103 -0.996208 46.157"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -267.998 162.386"; + rotation = "-0.00514084 -0.0038679 0.999979 74.0009"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -596 184.109"; + rotation = "-0.0415966 -0.0709018 -0.996616 58.165"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -580 149.266"; + rotation = "-0.02355 -0.00966591 0.999676 112.017"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 788 110.906"; + rotation = "-0.298351 -0.351987 -0.887182 9.01326"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 84 138.051"; + rotation = "0.00936263 0.0434949 0.99901 229.957"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124.008 732.021 154.634"; + rotation = "-0.0459374 -0.0847985 0.995339 81.9838"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 -660 189.031"; + rotation = "-0.340333 -0.156389 -0.927209 24.7519"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 652 158.484"; + rotation = "-0.00122895 0.0763187 -0.997083 58.1421"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 -860 200.766"; + rotation = "0.0448328 -0.0589811 0.997252 158.059"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 1052 118.969"; + rotation = "0.287858 0.31874 0.903074 15.4853"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -300 179.844"; + rotation = "-0.0536408 0.0130594 0.998475 169.017"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 468 180.453"; + rotation = "0.0152834 0.0864331 0.99614 231.826"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 596 178.531"; + rotation = "0.05468 -0.00952502 0.998459 199.97"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -820 182.828"; + rotation = "-0.0178974 -0.0509359 0.998542 158.031"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "691.975 811.989 155.322"; + rotation = "0.21822 -0.307914 0.92605 23.7088"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 204 150.469"; + rotation = "-0.0311332 -0.0237224 0.999234 107.042"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -668 190.641"; + rotation = "0.414414 -0.311012 -0.855297 12.8465"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -916 197.5"; + rotation = "-0.0374978 -0.0872534 -0.99548 99.2563"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 244 174.016"; + rotation = "0.0081642 0.11191 -0.993685 72.3457"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564.011 643.991 147.993"; + rotation = "-0.00408249 0.0566307 0.998387 86.0921"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "908 132 172.734"; + rotation = "-0.0878038 0.0583469 0.994428 82.3175"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892 132 171.953"; + rotation = "-0.0546167 -0.00550872 -0.998492 52.0684"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -548 153.062"; + rotation = "-0.0544965 -0.0500205 0.99726 43.1073"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 388 159.781"; + rotation = "0.0092421 0.0600291 0.998154 145.061"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 596 170.953"; + rotation = "0.0445563 -0.0605215 -0.997172 88.1622"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 372 146.281"; + rotation = "-0.0713326 0.000814097 -0.997452 110.137"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 1012 121.156"; + rotation = "0.0646898 -0.0357617 0.997264 230.878"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -484 171.719"; + rotation = "-0.010376 -0.0639532 0.997899 229.908"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 964 125.125"; + rotation = "-0.00815307 -0.138246 0.990364 52.4385"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-91.9625 -747.987 208.028"; + rotation = "-0.0899702 0.104888 0.990406 44.385"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -924 202.703"; + rotation = "-0.0545475 -0.0298879 -0.998064 72.1056"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900.039 -324.052 164.529"; + rotation = "-0.0392105 0.0588227 0.997498 173.017"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188.009 -236.012 129.67"; + rotation = "0.0472641 -0.0147687 -0.998773 109.066"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -364 187.078"; + rotation = "-0.052643 -0.0790062 0.995483 72.2471"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556.023 643.981 147.731"; + rotation = "-0.0102631 0.0408254 0.999114 231.96"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 740 143.828"; + rotation = "0.0135179 0.0998286 0.994913 86.2915"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 100 135.047"; + rotation = "0.999861 -0.0166956 0 6.793"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92.0141 -187.982 150.906"; + rotation = "-0.0979549 0.0134521 0.9951 62.2484"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460.019 -204.028 154.408"; + rotation = "0.0801422 0.0401518 0.995974 121.198"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 388 159.781"; + rotation = "0.13157 0.0782677 0.988212 44.4739"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 532 176.625"; + rotation = "-0.0228615 0.0149512 -0.999627 104.021"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -884 205.203"; + rotation = "-0.0257809 0.0147524 0.999559 204.989"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 892 105.047"; + rotation = "0.0228828 0.00925097 0.999695 228.987"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -460 143.734"; + rotation = "0.759486 -0.612282 -0.219752 9.08271"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 404 196.469"; + rotation = "-0.0196467 0.0122725 0.999732 88.0155"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 804 168.891"; + rotation = "-0.0302739 -0.0349811 0.998929 95.0611"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 700 173.719"; + rotation = "0.853622 0.215976 -0.474008 10.5252"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 92 151"; + rotation = "-0.0289143 -0.0969416 -0.99487 114.269"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 340 199.031"; + rotation = "0.109175 -0.0223825 -0.993771 89.3579"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 508 131.453"; + rotation = "-0.00249099 -0.0387766 0.999245 192.991"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -476 156.922"; + rotation = "0.0249805 -0.113926 -0.993175 49.297"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 -900 187.375"; + rotation = "0.0114203 0.0618335 0.998021 37.0684"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 148 134.874"; + rotation = "0.484958 -0.718682 0.49831 8.01727"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -380 196.406"; + rotation = "0.0596317 -0.0339644 0.997642 126.109"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -916 182.078"; + rotation = "0.00512739 0.0197697 0.999791 109.011"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.96983 -908.009 160.688"; + rotation = "-0.0647622 0.0337728 0.997329 158.057"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 788 154.922"; + rotation = "-0.00117666 0.0471426 0.998887 35.0366"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 764 174.188"; + rotation = "0.00375933 -0.0840562 -0.996454 79.1994"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -564 149.219"; + rotation = "0.0735987 0.0985281 0.992409 34.2449"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 -476 131.031"; + rotation = "0.0348377 0.0491313 0.998185 128.082"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -916 182.078"; + rotation = "0.0265484 -0.00763256 -0.999618 74.021"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 420 196.422"; + rotation = "0.0408354 -0.0335802 0.998601 219.948"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -476 131.266"; + rotation = "-0.0381369 -0.0052729 0.999259 69.0397"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 452 178.484"; + rotation = "0.0339857 0.0220893 0.999178 160.016"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 228 191.75"; + rotation = "0.0954765 -0.0068383 -0.995408 96.262"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "739.997 507.995 139.315"; + rotation = "0.0621482 0.0203017 0.99786 101.12"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 652 154.422"; + rotation = "-0.0673054 -0.00971656 0.997685 112.123"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "860 468 186.188"; + rotation = "0.449109 0.470379 -0.759635 13.14"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.999 -771.995 154.792"; + rotation = "-0.238824 -0.0716772 0.968414 8.26001"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -436 172.094"; + rotation = "-0.0471668 0.0220457 -0.998644 83.0772"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 636 164.656"; + rotation = "-0.0211426 -0.0418734 0.998899 219.959"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 948 101.938"; + rotation = "-0.0345058 0.00633427 0.999384 201.987"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -524 157.688"; + rotation = "-0.0565884 -0.354567 -0.933317 17.1269"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -412 171.453"; + rotation = "-0.0614355 -0.0602648 -0.99629 59.1825"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 444 186.359"; + rotation = "-0.000567542 -0.0546058 -0.998508 109.081"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 396 159.859"; + rotation = "0.022851 0.0879875 -0.995859 76.2303"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 980 150.188"; + rotation = "-0.0555748 0.075256 0.995614 50.1932"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 276 139.067"; + rotation = "-0.056171 -0.0942021 -0.993967 83.3441"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -364 189.516"; + rotation = "-0.0436913 0.0514312 0.99772 65.1183"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -460 197.141"; + rotation = "-0.136315 0.0895254 -0.986612 10.1351"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 660 166"; + rotation = "-0.0626926 0.249271 -0.966402 24.8087"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 660 131.969"; + rotation = "0.887281 -0.461229 0 6.27849"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Rollercoaster_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Rollercoaster_nef.mis new file mode 100644 index 00000000..782ce23e --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Rollercoaster_nef.mis @@ -0,0 +1,2647 @@ +// Displayname = Rollercoaster +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Phoenix and Blood Eagle face off amid the rolling hills of Deus Sanguinius. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Each solar panel only powers the force field below it +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "6"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-784 -600 1536 1168"; + flightCeiling = "300"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.850000 0.700000 0.500000 1.000000"; + fogDistance = "150"; + fogColor = "0.850000 0.700000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_Red_1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.18357e+15 1.07461e-38"; + high_fogVolume2 = "-1 9.96204e-34 8.68805e-44"; + high_fogVolume3 = "-1 -2.85461e+30 -3.68131e+21"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "-20.4605 210.167 105.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Rollercoaster_nef.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + coverage = "0"; + GraphFile = "Rollercoaster.nav"; + scale = "1 1 1"; + }; + new SimGroup(Environmental) { + + + new AudioEmitter() { + position = "-18.2958 -116.376 229.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-460.145 -134.229 162.599"; + rotation = "0.330856 -0.10756 0.937531 38.2488"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "447.779 -80.1148 161.479"; + rotation = "0.03637 0.0189569 -0.999159 55.0987"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "373.898 62.7728 162.403"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "373.701 -56.7943 165.49"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(BaseAlpha) { + + providesPower = "1"; + + new InteriorInstance() { + position = "374.179 -53.7465 141.638"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "310.167 57.3562 141.715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(team1vehiclestation) { + position = "390.018 57.5468 155.306"; + rotation = "0 0 -1 90.0339"; + scale = "0.5 0.5 0.5"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + useMiniVFX = "1"; + mobileBaseVehicle = "removed"; + stationRot = "0 0 1 90"; + BomberFlyer = "removed"; + locked = "true"; + stationPos = "358.264 57.424 157.382"; + scoutVehicle = "removed"; + AssaultVehicle = "removed"; + }; + new InteriorInstance() { + position = "366.17 5.47646 140.205"; + rotation = "0 0 -1 90"; + scale = "1.01004 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "374.161 -53.7628 145.139"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "360.926 45.5066 157.358"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "325.079 2.9693 146.107"; + rotation = "0 0 1 90.1943"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "356.375 57.1912 139.702"; + rotation = "0 0 -1 89.9885"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "391.96 57.6478 139.697"; + rotation = "0 0 1 90.0117"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "350.64 47.4759 156.682"; + rotation = "0 0 1 178.866"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "386.219 -35.7278 141.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "325.675 2.96029 145.127"; + rotation = "0 0 1 180.195"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "422.399 2.74517 138.118"; + rotation = "0 0 1 180.195"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "423.056 2.71088 139.075"; + rotation = "-0 0 -1 89.806"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + }; + new SimGroup(FF1) { + + + new StaticShape() { + position = "374.16 49.0714 150.693"; + rotation = "0 0 1 180.012"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "367.925 43.5983 141.501"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(FF2) { + + + new StaticShape() { + position = "374.171 65.6996 150.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "368.092 70.5983 141.587"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-420.327 10.6313 158.214"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-409.701 -111.439 166.95"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(BaseBeta) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-418.04 -103.397 140.914"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-482.052 7.7057 140.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-370.714 -47.3684 143.613"; + rotation = "0 0 -1 90.3786"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape(team2vehiclestation) { + position = "-432.111 7.6693 154.607"; + rotation = "-2.78671e-09 2.79397e-09 1 90.1489"; + scale = "0.5 0.5 0.5"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + useMiniVFX = "1"; + mobileBaseVehicle = "removed"; + stationRot = "0 0 -1 90"; + BomberFlyer = "removed"; + locked = "true"; + stationPos = "-401.725 7.602 156.57"; + scoutVehicle = "removed"; + AssaultVehicle = "removed"; + }; + new Item() { + position = "-418.065 -103.415 144.43"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "-426.049 -44.174 139.431"; + rotation = "0 0 -1 90"; + scale = "1.01409 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-461.02 -45.9178 137.674"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-435.844 7.57602 138.93"; + rotation = "0 0 -1 89.8969"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-400.265 8.01878 138.928"; + rotation = "0 0 1 89.5302"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-394.587 -2.15364 155.909"; + rotation = "0 0 1 180.103"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-406.064 -85.3489 141.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-371.348 -47.433 142.659"; + rotation = "0 0 -1 0.379491"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-460.314 -45.9553 136.701"; + rotation = "0 0 1 0.193827"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-404.401 19.652 156.584"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(FF1) { + + + new StaticShape() { + position = "-418.074 -0.609425 149.949"; + rotation = "0 0 1 179.53"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-424.329 -6.04853 140.725"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(FF2) { + + + new StaticShape() { + position = "-418.069 16.0052 149.938"; + rotation = "0 0 1 0.0969133"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-424.219 20.9382 140.706"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new TSStatic() { + position = "-36.8678 279.714 158.426"; + rotation = "-0.056119 -0.208259 -0.976462 66.8782"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-37.475 280.274 160.799"; + rotation = "-1 0 -0 18.9076"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-38.2965 284.212 160.42"; + rotation = "-0.0578937 0.0534773 0.996889 83.7813"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-39.9129 281.425 160.019"; + rotation = "0 0 -1 49.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.6964 278.626 159.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1PhoenixPlant1) { + + + new TSStatic() { + position = "1004 -516 145.937"; + rotation = "0.0813535 -0.0785159 0.993588 171.057"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -148 101.656"; + rotation = "0.311697 -0.326103 -0.89247 71.0405"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 380 92.7344"; + rotation = "-0.194258 -0.316846 -0.928371 93.2569"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -676 95.125"; + rotation = "-0.387969 -0.125284 -0.913118 43.4649"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -268 119.281"; + rotation = "0.181726 -0.983349 0 29.0527"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -668 96.0937"; + rotation = "0.0112919 -0.0790997 0.996803 111.172"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 156 161.172"; + rotation = "-0.00307919 0.153731 0.988108 171.106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 604 90.2188"; + rotation = "0.0315852 -0.08066 0.996241 144.126"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 60 123.813"; + rotation = "0.131304 0.288396 -0.948466 117.716"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -596 121.375"; + rotation = "-0.0765363 -0.272387 0.959139 95.3837"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -580 87.0313"; + rotation = "0.165031 -0.416269 0.894139 66.7524"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -484 139.969"; + rotation = "-0.153266 0.092781 0.98382 177.049"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -116 87.2188"; + rotation = "0.0638358 0.149909 0.986637 215.55"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -204 120.719"; + rotation = "-0.378889 -0.42144 -0.823912 70.0412"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -468 110.672"; + rotation = "0.217227 0.346338 -0.912613 84.1807"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 508 112.953"; + rotation = "0.141451 -0.346722 0.927241 88.3175"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 380 103"; + rotation = "0.244411 -0.0979465 0.964712 174.211"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 540 141.828"; + rotation = "-0.0013539 0.829383 0.558678 38.3684"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -444 77.8125"; + rotation = "0.0938012 0.37804 -0.921025 92.712"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -60 146.75"; + rotation = "-0.107844 0.00104672 -0.994167 63.2986"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 460 119.766"; + rotation = "-0.152464 -0.219256 0.963681 230.349"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 20 122.797"; + rotation = "0.0728032 -0.0452682 0.996318 179.003"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 52 80.2188"; + rotation = "0.131862 -0.222276 0.966026 175.17"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 316 130.719"; + rotation = "0.148335 0.134327 0.979772 219.253"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004 148 158.25"; + rotation = "-0.000207881 0.179476 0.983762 122.792"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -476 146.437"; + rotation = "-0.00458805 -0.034984 0.999377 145.021"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 -428 114.969"; + rotation = "-0.178653 -0.0265647 0.983553 157.369"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 564 100.859"; + rotation = "0.253111 -0.0427919 0.96649 217.787"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "924 516 106.703"; + rotation = "-0.175343 -0.236321 0.955723 203.925"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 836 131.766"; + rotation = "0.0515078 0.101228 0.993529 197.885"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -164 99.4688"; + rotation = "-0.285682 -0.123261 0.950364 124.44"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 748 94.5469"; + rotation = "0.147691 -0.117122 0.982074 98.0273"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -132 142.344"; + rotation = "-0.0828813 -0.403672 0.911142 67.8468"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -300 167.125"; + rotation = "-0.138045 0.176557 0.974562 77.437"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 -748 129.531"; + rotation = "-0.541403 -0.593044 -0.595971 48.4172"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "996 -476 154.484"; + rotation = "-0.21116 -0.0636066 0.97538 123.203"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -140 160.531"; + rotation = "0.162399 0.238955 0.957354 232.98"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1020 -580 144.359"; + rotation = "-0.196053 0.424638 -0.883881 66.305"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 396 118.766"; + rotation = "0.806258 -0.527052 0.268633 36.0789"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -52 93.1719"; + rotation = "0.0940199 -0.101404 0.990393 138.369"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 12 121.875"; + rotation = "0.228356 0.397962 -0.888527 44.5515"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -556 131.531"; + rotation = "-0.218722 -0.374401 0.901102 25.446"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 12 118.766"; + rotation = "-0.194751 0.53935 0.819252 61.5339"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -308 106.859"; + rotation = "0.292684 -0.459113 0.83878 59.2496"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 524 126.953"; + rotation = "-0.0401656 -0.194588 0.980062 155.483"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 188 152.672"; + rotation = "0.458613 -0.563363 -0.687238 51.9203"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -388 101.141"; + rotation = "0.0652538 -0.518352 -0.852674 61.7219"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -300 118.531"; + rotation = "-0.394967 0.422286 0.81589 68.3837"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 60 123.734"; + rotation = "-0.102372 -0.34217 0.934045 108.741"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 516 104.812"; + rotation = "-0.14632 0.0784454 0.986122 110.75"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant2) { + + + new TSStatic() { + position = "340 -468 88"; + rotation = "-0.00121396 0.0808727 -0.996724 67.1736"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -540 111.625"; + rotation = "-0.0946764 0.0321433 0.994989 129.223"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -348 78.6094"; + rotation = "-0.288031 0.0237091 0.957328 38.53"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -628 137.297"; + rotation = "-0.387917 0.00944646 -0.921646 59.9623"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 148 98.5937"; + rotation = "0.014844 -0.0732408 0.997204 140.103"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 532 91.7657"; + rotation = "0.426852 0.566025 0.705276 23.9285"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 204 130.594"; + rotation = "-0.710396 -0.605126 0.35939 40.2378"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -444 113.797"; + rotation = "0.000474444 -0.282698 0.959209 68.198"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -756 110.781"; + rotation = "-0.376583 -0.698578 0.608419 41.5591"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 372 110.266"; + rotation = "-0.243902 0.0866709 0.965919 232.409"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -772 140.547"; + rotation = "0.0763546 -0.0340192 0.9965 121.172"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 316 121.844"; + rotation = "0.159272 -0.189792 -0.96882 119.59"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -156 111.156"; + rotation = "-0.34383 0.210241 0.915194 100.032"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 532 128.812"; + rotation = "-0.298465 0.634886 0.712628 55.3681"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -140 145.141"; + rotation = "0.403519 0.198271 -0.893231 91.4624"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -244 161.891"; + rotation = "0.844316 0.463871 -0.268241 32.7025"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -820 119.594"; + rotation = "0.257371 -0.593273 0.76275 54.6268"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -68 102.328"; + rotation = "0.691608 0.585159 -0.423399 25.6244"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 132 143.562"; + rotation = "0.191172 -0.0369631 0.98086 163.321"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -580 70.4063"; + rotation = "-0.0324804 0.102632 0.994189 192.925"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 652 157.141"; + rotation = "0.0295301 -0.242413 0.969724 101.73"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -516 98.5937"; + rotation = "0.305605 0.0320771 -0.951618 46.009"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -276 125.625"; + rotation = "-0.24419 0.149367 0.958155 213.62"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "908 -716 98.7187"; + rotation = "-0.466822 0.735664 -0.490791 24.1745"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 -132 80.8125"; + rotation = "-0.226151 -0.000477859 -0.974092 105.455"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 444 109.656"; + rotation = "-0.438399 -0.881718 0.174296 33.4703"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -308 138.063"; + rotation = "-0.0708854 0.202397 -0.976735 93.3475"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -892 89.0156"; + rotation = "-0.324871 -0.0821986 -0.942179 110.234"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -260 141.203"; + rotation = "0.205227 0.108849 -0.972643 87.5869"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "940 -492 137.688"; + rotation = "-0.118119 0.541351 -0.832459 54.0348"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -324 95.875"; + rotation = "0.126544 0.101378 0.986767 139.499"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 556 121.641"; + rotation = "-0.0245619 0.125433 -0.991798 109.445"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -308 106.172"; + rotation = "-0.099723 -0.409667 -0.906768 91.6039"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -420 146.609"; + rotation = "-0.0836621 0.0264369 0.996143 122.187"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 68 84.0468"; + rotation = "0.671877 0.736755 0.0759746 25.8782"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 532 91.5937"; + rotation = "0.222612 0.195961 0.95501 151.292"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 412 136.641"; + rotation = "0.628369 0.443054 0.639419 38.2441"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -204 131.797"; + rotation = "0.917314 0.398165 8.92581e-06 28.1123"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 508 133.391"; + rotation = "0.0104842 0.111397 0.993721 77.3516"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 388 133.984"; + rotation = "0.326207 -0.379363 0.865836 75.839"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "884 -316 97.7187"; + rotation = "-0.929058 0.366423 -0.050842 37.8954"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 -628 89.2657"; + rotation = "-0.361072 0.422016 0.831583 49.5567"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -244 121.172"; + rotation = "0.0415511 0.112329 -0.992802 106.397"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 516 108.422"; + rotation = "0.248039 0.302857 -0.920192 88.7546"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -68 78.4375"; + rotation = "0.0344167 0.108543 -0.993496 53.2992"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -316 96.625"; + rotation = "-0.388268 -0.281115 0.877623 82.3283"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -564 134.875"; + rotation = "0.141772 -0.328525 0.933794 99.8866"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -692 125.375"; + rotation = "-0.12931 -0.676247 0.725237 41.8528"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -116 103.875"; + rotation = "0.56003 0.315792 0.765926 38.5635"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -172 111.219"; + rotation = "-0.0121355 -0.0211897 0.999702 135.012"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant6) { + + + new TSStatic() { + position = "-116 308 99.1563"; + rotation = "0 0 1 13"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 252 141.469"; + rotation = "0 0 -1 56"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -660 170.656"; + rotation = "0 0 -1 5.99979"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 -348 128.938"; + rotation = "0 0 -1 117"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -820 92.5938"; + rotation = "0 0 -1 19.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 468 128.969"; + rotation = "0 0 -1 88"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 508 111.5"; + rotation = "0 0 -1 61.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 276 93.5"; + rotation = "0 0 -1 29.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -540 111.063"; + rotation = "0 0 -1 46.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -356 115.688"; + rotation = "0 0 1 57.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -684 155.047"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -700 108.219"; + rotation = "0 0 1 137"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -684 107.391"; + rotation = "0 0 -1 50"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -868 127.953"; + rotation = "0 0 -1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -660 113.016"; + rotation = "0 0 -1 74.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -36 141.312"; + rotation = "0 0 1 73.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -132 134.781"; + rotation = "0 0 -1 4.99997"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -820 129.672"; + rotation = "0 0 1 85"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 180 102.266"; + rotation = "0 0 -1 95.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 220 129.984"; + rotation = "0 0 -1 84.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 508 95.5781"; + rotation = "0 0 1 205"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -540 145.641"; + rotation = "0 0 1 203"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 132 89.1406"; + rotation = "0 0 -1 34.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 572 106.359"; + rotation = "0 0 1 79"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004 -68 124.375"; + rotation = "0 0 -1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -292 110.547"; + rotation = "0 0 1 38"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -532 104"; + rotation = "0 0 -1 4.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 60 125.703"; + rotation = "0 0 1 67"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -876 149.719"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -716 109.953"; + rotation = "0 0 -1 77.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -124 163.031"; + rotation = "0 0 1 133"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 260 145.313"; + rotation = "0 0 1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -380 146.469"; + rotation = "0 0 -1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 -668 83.375"; + rotation = "0 0 -1 58.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 164 140.125"; + rotation = "0 0 -1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -796 154.172"; + rotation = "0 0 1 168"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -884 128.828"; + rotation = "0 0 1 201"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -428 85.9219"; + rotation = "0 0 1 57.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 52 151.859"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 28 63.2657"; + rotation = "0 0 -1 10.9999"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -772 139.484"; + rotation = "0 0 -1 89.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 108 73.25"; + rotation = "0 0 1 228"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 20 118.063"; + rotation = "0 0 1 37"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 316 162.766"; + rotation = "0 0 -1 72.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -148 82.8281"; + rotation = "0 0 1 119"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 316 124.719"; + rotation = "0 0 1 55"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 436 112.953"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -796 81.5"; + rotation = "0 0 1 25"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -68 132.859"; + rotation = "0 0 1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 444 89.9688"; + rotation = "0 0 -1 35"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant5) { + + + new TSStatic() { + position = "-308 380 102.581"; + rotation = "-0.129404 0.110733 0.98539 180"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 252 109.675"; + rotation = "-0.0544876 0.16902 0.984105 142.562"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -364 139.534"; + rotation = "0.0765316 0.110548 0.99092 195.857"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -276 127.956"; + rotation = "-0.0483961 0.0795256 -0.995657 100.245"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 364 126.847"; + rotation = "0.192058 0.373278 -0.907622 64.9219"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 228 131.503"; + rotation = "-0.0489002 -0.172722 0.983756 229.285"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 20 92.2375"; + rotation = "0.153361 -0.0730392 0.985467 230.351"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -428 105.175"; + rotation = "-0.100295 -0.0878894 0.991068 134.368"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -100 93.3312"; + rotation = "0.199317 -0.622861 -0.756517 40.2642"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -708 105.597"; + rotation = "0.384484 -0.161978 -0.90881 36.1051"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -644 111.05"; + rotation = "-0.247884 -0.0476171 0.967619 146.068"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 204 131.034"; + rotation = "0.299991 0.487436 -0.820007 40.8951"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 404 89.3469"; + rotation = "-0.10865 -0.104336 0.988589 212.644"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 716 127.503"; + rotation = "-0.295127 -0.139308 -0.945248 92.2256"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -28 81.0969"; + rotation = "0.222477 0.294023 0.929545 42.7664"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -708 104.566"; + rotation = "0.0831744 -0.335746 -0.938273 86.6352"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 332 115.066"; + rotation = "0.115662 -0.156803 0.980834 50.8547"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -412 133.331"; + rotation = "-0.390799 -0.00853474 -0.920436 69.3771"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -268 159.597"; + rotation = "0.652064 0.0741321 -0.754531 32.7477"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 284 112.097"; + rotation = "-0.326722 -0.938004 -0.115764 17.1485"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -220 154.034"; + rotation = "-0.283482 -0.14293 -0.948266 94.0401"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 -340 128.909"; + rotation = "-0.10848 -0.0305429 0.993629 58.311"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 748 77.175"; + rotation = "0.0315306 -0.221631 -0.974621 77.433"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -668 113.534"; + rotation = "-0.0774722 -0.271359 0.959355 72.2494"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 620 75.7531"; + rotation = "0.0285519 -0.053448 0.998162 206.952"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -524 83.2375"; + rotation = "0.31102 -0.373192 -0.874068 50.7117"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 764 73.0031"; + rotation = "0.420286 -0.274182 -0.864976 45.6416"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 268 108.409"; + rotation = "0.0106175 0.0162113 0.999812 220.993"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -700 137.175"; + rotation = "-0.27842 0.0705651 0.957864 37.4752"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -636 132.05"; + rotation = "-0.4799 0.14603 0.865084 45.6363"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 772 89.7688"; + rotation = "-0.0773982 0.0379732 0.996277 144.125"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -460 122.972"; + rotation = "0.0530236 -0.0795734 0.995418 159.094"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 228 92.0188"; + rotation = "0.142227 0.358686 -0.922559 49.4151"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -148 133.769"; + rotation = "-0.349512 -0.790669 -0.502677 25.5418"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -284 109.784"; + rotation = "-0.0963868 -0.820357 0.56367 33.0703"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -444 133.113"; + rotation = "0.162355 0.171903 0.971643 143.003"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -636 93.1125"; + rotation = "0.0417017 0.00421235 0.999121 127.04"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -28 76.1594"; + rotation = "-0.190768 -0.101746 -0.976348 71.2943"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -780 80.6906"; + rotation = "-0.0588226 -0.142458 0.988051 106.661"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -820 122.409"; + rotation = "-0.229636 5.24702e-05 0.973277 140.987"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 628 78.2062"; + rotation = "0.150124 -0.0908989 0.98448 160.304"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -428 134.706"; + rotation = "-0.406209 -0.0747384 -0.910719 46.7798"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 276 97.3"; + rotation = "0.166048 0.798807 -0.578218 35.5446"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -772 113.753"; + rotation = "0.456167 0.86769 0.197549 24.9255"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 668 94.7844"; + rotation = "-0.0867122 0.129568 -0.987772 33.3857"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -284 133.737"; + rotation = "0.110566 0.0151173 0.993754 213.8"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -36 116.987"; + rotation = "0.191753 0.150146 0.96989 229.652"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 732 93.6281"; + rotation = "0.0833331 0.057244 0.994876 121.252"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -556 108.8"; + rotation = "-0.0430699 0.246659 -0.968145 92.8536"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 636 84.2688"; + rotation = "0.0436691 -0.291775 0.95549 60.2385"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7PhoenixPlant3) { + + + new TSStatic() { + position = "-284 -100 157.516"; + rotation = "0 0 1 40"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -68 91.9844"; + rotation = "0 0 1 173"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -76 98.7968"; + rotation = "0 0 -1 14.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 124 139.781"; + rotation = "0 0 1 85"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 436 88.8437"; + rotation = "0 0 1 37"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -44 77.0312"; + rotation = "0 0 1 236"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 348 113.828"; + rotation = "0 0 -1 93.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 252 135.922"; + rotation = "0 0 1 223"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 172 131.031"; + rotation = "0 0 1 190"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 148 111"; + rotation = "0 0 1 93.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 364 151.938"; + rotation = "0 0 1 156"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -12 87.3594"; + rotation = "0 0 -1 116"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 172 150.469"; + rotation = "0 0 -1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -236 122.906"; + rotation = "0 0 1 224"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -52 144.875"; + rotation = "0 0 -1 4.00015"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 156 99.8438"; + rotation = "0 0 1 140"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -116 128.672"; + rotation = "0 0 -1 37.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -44 73.6719"; + rotation = "0 0 -1 84.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 220 99.3282"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -164 127.453"; + rotation = "0 0 -1 78.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition8PhoenixPlant3) { + + + new TSStatic() { + position = "692 332 108.094"; + rotation = "0 0 -1 89.0004"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -124 106.234"; + rotation = "0 0 1 88.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 -308 89.9688"; + rotation = "0 0 1 240"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 180 75.625"; + rotation = "0 0 1 135"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -84 142.734"; + rotation = "0 0 1 127"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -156 158.422"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 340 82.9375"; + rotation = "0 0 1 4.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 -28 127.688"; + rotation = "0 0 1 233"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 316 136.828"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 116 120.781"; + rotation = "0 0 1 233"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -156 80.8281"; + rotation = "0 0 -1 52.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 244 92.4844"; + rotation = "0 0 1 132"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -244 97.1563"; + rotation = "0 0 1 207"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 228 129.5"; + rotation = "0 0 -1 70.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 236 135.781"; + rotation = "0 0 1 171"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -332 137.906"; + rotation = "0 0 1 104"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 12 74.4843"; + rotation = "0 0 -1 31.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -236 96.9688"; + rotation = "0 0 1 133"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "972 -308 170.187"; + rotation = "0 0 1 210"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -332 145.328"; + rotation = "0 0 1 46"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- +nametoid(team1vehiclestation).station.setTransform("357.822 57.4137 157.373 0 0 1 1.5708"); +nametoid(team1vehiclestation).station.trigger.setTransform("357.822 57.4137 157.373 0 0 1 1.5708"); +nametoid(team2vehiclestation).station.setTransform("-401.698 7.81527 156.566 0 0 -1 1.5708"); +nametoid(team2vehiclestation).station.trigger.setTransform("-401.698 7.81527 156.566 0 0 -1 1.5708"); +(nametoid(team1flag)+ 1).setTransform("0 0 0 0 0 0 0"); +(nametoid(team2flag)+ 1).setTransform("0 0 0 0 0 0 0"); diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Sandstorm.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Sandstorm.mis new file mode 100644 index 00000000..76f8ce8f --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Sandstorm.mis @@ -0,0 +1,1985 @@ +// DisplayName = Sandstorm +// MissionTypes = CTF CnH DnD + +//--- MISSION QUOTE BEGIN --- +//They defended the grains of sand in the desert to the last drop of their blood. +// -- Gamal Abdel Nasser +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//[CnH]3 control switches +//[DnD]3 control switches +//[CnH]3600 points to win +//Map by Nefilim (assisted: z0dd, CleverClothe) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "6"; + musicTrack = "desert"; + CnH_timeLimit = "30"; + + new MissionArea(MissionArea) { + area = "-1008 -1016 1520 1520"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.950000 0.600000 0.400000 1.000000"; + fogDistance = "300"; + fogColor = "0.950000 0.600000 0.400000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "675"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Sandstorm.ter"; + squareSize = "8"; + emptySquares = "72869 73125 73381 271022 271278 271534 271790 272046 76453 76709 76965 238876 238890 306722 372514 372770 373026"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "Sandstorm.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "325.083 -729.374 131.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "285.694 -732.269 96.2246"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "pbase_nef_vbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-125.923 -756.988 161.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.106 -693.825 136.206"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "316.949 -652.234 136.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "378.335 -731.912 103.016"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new StaticShape() { + position = "354.79 -710.213 108.212"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "354.927 -753.883 108.212"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "255.935 -732.395 90.232"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "323.326 -732.127 88.3848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "340.694 -791.111 106.182"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.336 -770.442 136.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.456 -811.874 136.213"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "340.339 -673.11 106.176"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "319.546 -673.014 136.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "320.035 -791.046 136.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-125.923 -756.988 167.883"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new WayPoint(base) { + position = "312.172 -730.256 139.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + + missionTypesList = "CTF CnH"; + locked = "true"; + }; + new StaticShape() { + position = "296.001 -791.286 156.694"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-125.923 -756.988 185.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new Turret() { + position = "-284.785 -801.664 197.465"; + rotation = "0 0 1 52.5295"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new InteriorInstance() { + position = "-284.412 -801.412 172.907"; + rotation = "0 0 1 233.012"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "289.731 -732.239 96.2649"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-125.863 -757.072 182.481"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new InteriorInstance() { + position = "-116.349 -574.385 172.991"; + rotation = "0 0 1 25.9917"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-116.132 -573.991 197.549"; + rotation = "0 0 1 205.509"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-729.894 319.945 134.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-752.707 -122.77 162.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-673.026 321.024 135.063"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-791.057 321.008 134.972"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-791.127 341.694 104.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-652.294 318.822 134.94"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-693.824 318.733 134.915"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-673.072 341.983 104.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-732.06 324.683 87.0198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-731.902 257.543 88.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-710.309 356.322 106.941"; + rotation = "0 0 1 135.401"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-753.975 356.21 106.939"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-732.255 379.807 101.737"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new StaticShape() { + position = "-811.839 318.427 134.94"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-770.328 318.551 134.944"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-731.977 287.106 94.9516"; + rotation = "0 0 -1 90.1357"; + scale = "1 1 1"; + interiorFile = "pbase_nef_vbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-752.707 -122.77 168.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new WayPoint(base) { + position = "-730.542 308.006 138.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + + missionTypesList = "CTF CnH"; + locked = "true"; + }; + new StaticShape() { + position = "-673.233 297.316 155.421"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-792.537 -288.536 171.951"; + rotation = "0 0 1 237.205"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-792.928 -288.76 196.526"; + rotation = "0 0 1 56.7228"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-752.707 -122.77 185.814"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new Turret() { + position = "-732.017 291.159 94.9774"; + rotation = "0.585355 -0.573306 -0.573306 119.314"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-752.638 -122.958 182.698"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new Turret() { + position = "-574.469 -115.639 197.39"; + rotation = "0 0 -1 114.774"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new InteriorInstance() { + position = "-574.889 -115.803 172.815"; + rotation = "0 0 1 65.7081"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + + new SimGroup(objective1) { + + + new WayPoint() { + position = "-287.825 -290.347 170.739"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-287.802 -290.327 170.769"; + rotation = "0 0 1 46.9826"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "Center Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-287.825 -290.347 179.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH"; + holoHeight = "10"; + locked = "true"; + }; + }; + new SimGroup(objective2) { + + + new WayPoint() { + position = "-125.923 -756.988 167.933"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "South East"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-125.923 -756.988 167.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "South East Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-125.923 -756.988 185.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH"; + holoHeight = "10"; + locked = "true"; + }; + }; + new SimGroup(objective3) { + + + new WayPoint() { + position = "-752.707 -122.77 167.99"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "North West"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-752.707 -122.77 168.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + name = "North West Switch"; + locked = "true"; + }; + new StaticShape() { + position = "-752.707 -122.77 186.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH"; + holoHeight = "10"; + locked = "true"; + }; + }; + new Item() { + position = "411.335 -731.97 108.39"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-731.997 413.318 106.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new InteriorInstance() { + position = "-287.686 -287.517 170.743"; + rotation = "0 0 -1 42.8402"; + scale = "1 1 1"; + interiorFile = "pbunk4a_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-286.657 -291.583 170.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-287.825 -290.347 170.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-289.021 -289.019 170.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "285.369 -732.39 96.8689"; + rotation = "0.0927066 0.0943867 -0.99121 91.5347"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-122.595 -789.721 182.347"; + rotation = "0.819133 0.0410556 -0.572133 10.0131"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-757.791 272.125 97.5318"; + rotation = "0.0831619 -0.159585 0.983675 125.72"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-726.56 -197.096 197.468"; + rotation = "0.712183 0.123219 -0.691095 28.1104"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "-290.736 -293.429 200.547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-329.255 30.6364 118.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "237.066 -239.724 68.5392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-323.254 -281.981 176.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-198.934 -946.375 168.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "507.219 -752.937 192.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-663.095 450.046 178.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition4PhoenixPlant3) { + + + new TSStatic() { + position = "-82.7712 -651.007 127.469"; + rotation = "0 0 -1 35"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "205.229 -523.007 81.3043"; + rotation = "0 0 1 61.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1098.77 -155.007 165.75"; + rotation = "0 0 -1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1018.77 -907.007 144.516"; + rotation = "0 0 1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1106.77 -1035.01 75.6563"; + rotation = "0 0 -1 17.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "199.033 -518.72 79.6769"; + rotation = "0 0 1 169"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-26.7712 -27.0072 160.547"; + rotation = "0 0 1 135"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-642.771 -547.007 164.453"; + rotation = "0 0 1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-418.771 -523.007 90.9375"; + rotation = "0 0 1 79.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-58.7712 -315.007 122.219"; + rotation = "0 0 -1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "29.2288 -211.007 158.594"; + rotation = "0 0 -1 111"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "45.2288 -283.007 123.281"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1090.77 28.9928 153.25"; + rotation = "0 0 1 94"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-154.771 -1067.01 159.797"; + rotation = "0 0 1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-362.771 -595.007 87.9844"; + rotation = "0 0 1 15"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-202.771 -643.007 122.328"; + rotation = "0 0 1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-434.771 -1123.01 117.422"; + rotation = "0 0 1 61"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-42.7712 -123.007 170.047"; + rotation = "0 0 -1 110"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1098.77 -139.007 169.453"; + rotation = "0 0 1 239"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-586.771 -275.007 120.25"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-626.771 -867.007 176.313"; + rotation = "0 0 -1 4.00015"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-466.771 132.993 89.0781"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1026.77 148.993 131.422"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-994.771 -355.007 186.5"; + rotation = "0 0 -1 7.00012"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-338.771 -443.007 132.312"; + rotation = "0 0 1 119"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant6) { + + + new TSStatic() { + position = "28 116 83.6094"; + rotation = "0 0 -1 56"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 68 126.875"; + rotation = "0 0 -1 89.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -804 203.531"; + rotation = "0 0 1 12"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 44 109.391"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -60 174.937"; + rotation = "0 0 -1 32.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -940 173.344"; + rotation = "0 0 1 221"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -164 165.187"; + rotation = "0 0 1 148"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -796 83.2812"; + rotation = "0 0 1 24"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -244 60.7344"; + rotation = "0 0 1 61"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 212 81.2031"; + rotation = "0 0 -1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -1068 142.344"; + rotation = "0 0 1 9.00004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -940 166.297"; + rotation = "0 0 1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1012 -140 142.922"; + rotation = "0 0 -1 22.9999"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -836 179.562"; + rotation = "0 0 -1 13.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -1012 135.781"; + rotation = "0 0 1 225"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 140 86.5781"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -1116 123.453"; + rotation = "0 0 1 48"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 36 170.109"; + rotation = "0 0 1 159"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1164 -252 133.406"; + rotation = "0 0 1 57.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 244 119.609"; + rotation = "0 0 1 209"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -484 82.25"; + rotation = "0 0 1 111"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -548 167.609"; + rotation = "0 0 1 237"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 36 109.469"; + rotation = "0 0 -1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -1076 137.062"; + rotation = "0 0 -1 105"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -436 145.719"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 52 83.5937"; + rotation = "0 0 1 37"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -548 86.5781"; + rotation = "0 0 1 44"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -180 159.141"; + rotation = "0 0 -1 58.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 268 125.234"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -948 151.328"; + rotation = "0 0 1 1.00014"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -652 66.4375"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -876 103.781"; + rotation = "0 0 -1 7.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -692 178.188"; + rotation = "0 0 -1 70.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 12 112.078"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -652 183.328"; + rotation = "0 0 1 97.9998"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 92 88.8125"; + rotation = "0 0 1 191"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 236 78.9375"; + rotation = "0 0 1 108"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -236 156.984"; + rotation = "0 0 -1 97"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -380 76.3594"; + rotation = "0 0 1 190"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -68 124.078"; + rotation = "0 0 1 170"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 108 71.8906"; + rotation = "0 0 1 230"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -412 151.703"; + rotation = "0 0 1 100"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -1180 168.75"; + rotation = "0 0 1 162"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -748 175.016"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1020 -492 139.344"; + rotation = "0 0 -1 47.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -1132 118.891"; + rotation = "0 0 1 159"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -900 187.281"; + rotation = "0 0 1 188"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -1076 157.797"; + rotation = "0 0 -1 118"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -932 109.141"; + rotation = "0 0 1 146"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -148 157.828"; + rotation = "0 0 1 153"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant2) { + + + new TSStatic() { + position = "252 -60 85.4844"; + rotation = "0 0 1 185"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -4 82.625"; + rotation = "0 0 -1 98.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -1148 136.844"; + rotation = "0 0 -1 97"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 -540 136.922"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -252 162.828"; + rotation = "0 0 1 12"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -260 170.891"; + rotation = "0 0 1 169"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -1108 112.578"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 244 78.1563"; + rotation = "0 0 1 11"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 252 90.75"; + rotation = "0 0 1 114"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -68 169.703"; + rotation = "0 0 -1 108.999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -596 193.359"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -292 168.5"; + rotation = "0 0 -1 100"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -900 176.266"; + rotation = "0 0 1 228"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1068 260 114.641"; + rotation = "0 0 1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -276 124.734"; + rotation = "0 0 -1 22.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -604 187"; + rotation = "0 0 -1 100"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1172 -724 91.4531"; + rotation = "0 0 -1 2.9997"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -1164 164.781"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -1068 85.9531"; + rotation = "0 0 1 144"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -1196 112.75"; + rotation = "0 0 -1 29.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-964 -1116 105.656"; + rotation = "0 0 1 29"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -948 180.141"; + rotation = "0 0 1 22"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -1116 133.797"; + rotation = "0 0 1 167"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -1076 155.656"; + rotation = "0 0 1 57"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -916 145.156"; + rotation = "0 0 1 76"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -252 56.4531"; + rotation = "0 0 1 105"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -956 158.172"; + rotation = "0 0 1 15"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -20 82.1875"; + rotation = "0 0 -1 7.00012"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1132 -364 137.156"; + rotation = "0 0 1 40"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -924 180.094"; + rotation = "0 0 -1 38"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Scarabrae_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Scarabrae_nef.mis new file mode 100644 index 00000000..b51f23dd --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Scarabrae_nef.mis @@ -0,0 +1,3100 @@ +// DisplayName = Scarabrae +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//The Blood Eagle and Diamond Sword battle each other with their massive flying bases. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]400 points to win +//Central Tower available for the taking +//Map by Nefilim (assisted: ToKrZ, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "4"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-1215 -648 2070 1440"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Scarabrae_nef.ter"; + squareSize = "9"; + + position = "-1024 -1024 300"; + hazeDistance = "250"; + locked = "true"; + visibleDistance = "575"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "Broadside_nef.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-160.031 148.383 145.651"; + rotation = "0.00124438 -0.139504 0.990221 178.988"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-876.324 337.99 248.967"; + rotation = "0.290381 0.126942 -0.948454 49.4915"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "526.22 -226.719 188.5"; + rotation = "0.12902 0.135683 -0.982316 93.9041"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "521.093 -140.878 239.276"; + rotation = "-0.0339793 -0.138446 0.989787 207.308"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-896.692 407.902 219.449"; + rotation = "0.642354 -0.379619 0.665785 83.1874"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(AmbientSounds) { + + + new AudioEmitter() { + position = "27.2252 528.191 270.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "61.6892 13.9721 224.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-120.093 -5.3815 280.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "382.261 176.691 172.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "211.971 -138.511 249.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.1574 -272.541 242.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "140.348 -630.719 234.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.750000 0.850000 1.000000"; + fogDistance = "250"; + fogColor = "0.700000 0.750000 0.850000 1.000000"; + fogVolume1 = "200 0 60"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "500"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 1.73821e-33 1.41683e-33"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 1.73819e-33 -8.94073e-08"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-891.801 388.01 207.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Turret() { + position = "-849.712 436.315 262.434"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-884.451 387.593 206.46"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + interiorFile = "dbase_tokrz_scarabrae.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-904.763 337.141 201.219"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "removed"; + mobileBaseVehicle = "removed"; + stationRot = "0 0 -1 90"; + scoutVehicle = "removed"; + locked = "true"; + stationPos = "-898.864 360.618 211.96"; + }; + new StaticShape() { + position = "-925.953 325.024 222.448"; + rotation = "0 0 1 221.162"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-927.885 362.759 237.061"; + rotation = "0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-875.926 348.945 237.093"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-875.792 350.813 237.041"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-875.92 352.81 237.059"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-911.969 357.784 242.312"; + rotation = "-0 0 -1 45.4463"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-902.672 357.898 242.301"; + rotation = "0 0 1 45.0807"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-881.192 352.951 242.353"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "-881.249 352.886 242.632"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "-838.84 387.575 237.032"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-923.817 411.651 211.263"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-884.594 429.821 183.456"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-888.669 393.112 183.452"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-906.524 386.289 206.444"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-846.735 342.667 262.439"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "521.145 -211.561 195.089"; + rotation = "0 0 1 172.07"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Turret() { + position = "471.367 -252.987 253.352"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "506.183 -204.32 197.372"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_tokrz_scarabrae.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "526.575 -153.901 192.131"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "removed"; + mobileBaseVehicle = "removed"; + stationRot = "0 0 1 90"; + scoutVehicle = "removed"; + locked = "true"; + stationPos = "520.904 -177.428 202.86"; + }; + new StaticShape() { + position = "547.785 -141.818 213.334"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "549.657 -179.555 227.973"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "497.72 -165.659 228.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "497.583 -167.527 227.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "497.708 -169.524 227.971"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "533.749 -174.555 233.224"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "524.451 -174.654 233.213"; + rotation = "0 0 1 225.172"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "502.979 -169.673 233.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "503.036 -169.608 233.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "460.573 -204.246 227.944"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "545.5 -228.441 202.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "506.259 -246.549 174.368"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "510.392 -209.846 174.364"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "528.258 -203.046 197.356"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "468.539 -159.334 253.357"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new SimGroup(base) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-159.664 91.4854 131.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-159.421 89.3818 162.786"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-159.654 78.0296 149.779"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-159.627 100.909 149.797"; + rotation = "0 0 1 0.389667"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-167.334 89.5192 131.774"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-151.635 89.4778 131.831"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-159.65 89.5037 131.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new WayPoint() { + position = "-159.726 90.5133 110.936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + }; + new ForceFieldBare() { + position = "505.625 -230.862 183.323"; + rotation = "1 0 0 0"; + scale = "5.11249 5.13126 19.6964"; + dataBlock = "defaultNoTeamLavaLightField"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-889.038 409.057 192.35"; + rotation = "1 0 0 0"; + scale = "5.11249 5.13126 19.6964"; + dataBlock = "defaultNoTeamLavaLightField"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "-76 116 71.4722"; + rotation = "0 0 1 32"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 652 160.253"; + rotation = "0 0 1 37"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 356 81.8229"; + rotation = "0 0 -1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -172 17.6146"; + rotation = "0 0 1 78.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 420 120.389"; + rotation = "0 0 1 235"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 276 54.2327"; + rotation = "0 0 1 238"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -372 225.698"; + rotation = "0 0 1 159"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 236 165.934"; + rotation = "0 0 1 122"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -276 135.469"; + rotation = "0 0 -1 116"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -412 204.569"; + rotation = "0 0 1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -540 223.236"; + rotation = "0 0 -1 22.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 420 107.979"; + rotation = "0 0 1 94.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 428 197.604"; + rotation = "0 0 -1 44.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -36 219.417"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 420 98.587"; + rotation = "0 0 -1 91"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 708 239.42"; + rotation = "0 0 -1 118"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 596 180.024"; + rotation = "0 0 1 142"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -564 152.333"; + rotation = "0 0 1 233"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 164 158.896"; + rotation = "0 0 1 23"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 156 72.5104"; + rotation = "0 0 -1 40.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -140 180.285"; + rotation = "0 0 1 169"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 412 94"; + rotation = "0 0 1 164"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 604 49.6945"; + rotation = "0 0 1 139"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -428 172.694"; + rotation = "0 0 1 36"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 340 114.611"; + rotation = "0 0 1 46"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 780 165.344"; + rotation = "0 0 1 32"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 -412 176.875"; + rotation = "0 0 1 115"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -628 215.691"; + rotation = "0 0 1 32"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -580 135.611"; + rotation = "0 0 -1 11.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -188 125"; + rotation = "0 0 1 57.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 60 94.2916"; + rotation = "0 0 1 175"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 364 82.4896"; + rotation = "0 0 1 148"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 596 134.823"; + rotation = "0 0 1 91.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 228 120.813"; + rotation = "0 0 1 3.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 140 62.4548"; + rotation = "0 0 -1 71.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 -260 101.632"; + rotation = "0 0 -1 106"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -244 115.073"; + rotation = "0 0 1 126"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -108 29.5972"; + rotation = "0 0 1 209"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -52 115.531"; + rotation = "0 0 1 169"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -420 158.208"; + rotation = "0 0 1 39"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 -540 179.406"; + rotation = "0 0 1 187"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -564 145.361"; + rotation = "0 0 1 57.9999"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -636 125.965"; + rotation = "0 0 1 25"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 100 66.0868"; + rotation = "0 0 -1 105"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -420 175.674"; + rotation = "0 0 1 182"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 348 239.677"; + rotation = "0 0 1 29"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -52 238.326"; + rotation = "0 0 -1 108"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -60 37.0521"; + rotation = "0 0 -1 65.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -92 54.0903"; + rotation = "0 0 1 140"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 124 151.531"; + rotation = "0 0 1 99.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 188 41.3854"; + rotation = "0 0 1 2.99997"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 748 259.552"; + rotation = "0 0 -1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 756 235.691"; + rotation = "0 0 1 118"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 620 212.941"; + rotation = "0 0 1 196"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 524 234.962"; + rotation = "0 0 1 216"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 580 247.819"; + rotation = "0 0 1 189"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -324 183.667"; + rotation = "0 0 1 64.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -548 193.014"; + rotation = "0 0 1 87.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 428 245.069"; + rotation = "0 0 1 85"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 436 156.813"; + rotation = "0 0 1 73.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 732 175.715"; + rotation = "0 0 1 18"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 556 169.642"; + rotation = "0 0 1 144"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -244 128.771"; + rotation = "0 0 1 124"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 292 38.7673"; + rotation = "0 0 1 23"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -452 164.476"; + rotation = "0 0 1 154"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -588 188.958"; + rotation = "0 0 1 235"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -412 244.042"; + rotation = "0 0 -1 93.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -532 176.965"; + rotation = "0 0 1 151"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -596 212.285"; + rotation = "0 0 1 150"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 292 225.545"; + rotation = "0 0 -1 111"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -20 17.4965"; + rotation = "0 0 1 91.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 252 99.576"; + rotation = "0 0 1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 340 87.1944"; + rotation = "0 0 1 160"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 764 220.448"; + rotation = "0 0 -1 16.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -628 136.611"; + rotation = "0 0 1 66.0002"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 260 43.7639"; + rotation = "0 0 1 198"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 276 236.844"; + rotation = "0 0 1 132"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -164 97.073"; + rotation = "0 0 1 152"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -452 175.521"; + rotation = "0 0 1 115"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BEPlant1) { + + + new TSStatic() { + position = "-788 116 131.364"; + rotation = "0.0324239 0.174946 -0.984044 21.3325"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 692 136.562"; + rotation = "0.00408806 0.0946801 -0.995499 106.248"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 596 144.551"; + rotation = "-0.583518 -0.725541 -0.364824 26.9713"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 220 81.9195"; + rotation = "-0.107279 0.13632 0.984839 209.565"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 436 236.065"; + rotation = "-0.101234 0.00163919 0.994861 113.271"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 564 172.656"; + rotation = "0.0609896 -0.224764 0.972503 211.164"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -588 135.229"; + rotation = "-0.534562 0.0468071 0.843832 30.6028"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 572 209.044"; + rotation = "-0.160145 -0.154384 0.974946 135.036"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 108 67.7979"; + rotation = "-0.132651 0.106454 -0.985429 57.7078"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 764 143.833"; + rotation = "-0.181944 -0.0122126 0.983233 153.436"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 868 151.465"; + rotation = "0.0206604 -0.0719315 -0.997196 108.153"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -20 102.728"; + rotation = "-0.124188 -0.536053 -0.835 48.2425"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 532 183.305"; + rotation = "-0.282383 0.0741338 0.956433 80.5075"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 60 85.3292"; + rotation = "0.23791 0.548623 -0.801506 22.356"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 188 90.7388"; + rotation = "0.0317682 0.99779 0.0583616 17.009"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 380 112.628"; + rotation = "-0.8243 0.391235 -0.409225 19.3936"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -524 178.162"; + rotation = "0.213053 -0.105554 0.971322 40.061"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 740 250.124"; + rotation = "-0.123655 -0.19087 -0.973796 80.4966"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -548 160.548"; + rotation = "-0.246032 0.0796483 -0.965984 101.946"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 732 134.517"; + rotation = "-0.0652956 0.301103 -0.951353 101.81"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -580 160.024"; + rotation = "-0.173932 0.227754 -0.958058 64.189"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 820 138.357"; + rotation = "-0.132047 0.205188 0.969774 23.6969"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 252 51.4403"; + rotation = "0.0661321 -0.595617 -0.800542 39.414"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 628 215.659"; + rotation = "0.0141099 -0.0257736 -0.999568 79.024"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -580 145.104"; + rotation = "-0.0870663 -0.0596237 0.994417 48.2389"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 884 244.333"; + rotation = "-0.602959 0.321703 -0.730032 12.3058"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -268 128.732"; + rotation = "0.931826 -0.163746 0.323865 30.2341"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 668 237.909"; + rotation = "-0.653349 0.696709 0.296195 20.0678"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 724 208.836"; + rotation = "-0.692647 0.358822 -0.625689 25.3193"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 588 2.84995"; + rotation = "-0.802451 0.223384 0.553328 17.9697"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -332 180.531"; + rotation = "-0.0741298 0.170602 0.982548 146.56"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 148 88.7319"; + rotation = "-0.0688043 -0.11246 0.991271 182.973"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 428 102.274"; + rotation = "-0.0302228 -0.0281764 -0.999146 68.0456"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 364 90.541"; + rotation = "-0.0148391 0.155772 -0.987682 26.313"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 164 120.465"; + rotation = "0.0181658 -0.343093 -0.939126 11.7081"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -180 128.85"; + rotation = "-0.365006 0.233026 0.901371 18.8285"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -388 162.951"; + rotation = "0.0534261 0.121019 0.991211 199.828"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 532 127.704"; + rotation = "-0.0100743 -0.0278218 0.999562 125.021"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -452 142.09"; + rotation = "0.818971 -0.162347 0.550391 35.5275"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 12 105.517"; + rotation = "-0.00782581 -0.187009 0.982327 52.8095"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 316 136.694"; + rotation = "-0.413838 -0.859992 0.298583 23.1529"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 284 98.6381"; + rotation = "0.248195 -0.493785 -0.833412 16.7619"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -276 196.027"; + rotation = "0.356265 -0.342276 0.869438 47.6437"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -508 188.992"; + rotation = "-0.427999 -0.206027 0.879983 51.5023"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 500 248.562"; + rotation = "-0.030687 -0.137413 0.990038 152.268"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 292 40.7284"; + rotation = "0.0934533 -0.0662128 0.993419 98.3741"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -556 205.951"; + rotation = "0.351062 -0.116848 -0.929033 63.7181"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -84 71.5584"; + rotation = "0.20538 -0.0642048 0.976574 63.2058"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 284 140.426"; + rotation = "0.082567 -0.173929 0.981291 143.646"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -492 235.006"; + rotation = "0.020888 -0.131051 0.991156 157.198"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -212 134.204"; + rotation = "-0.083517 0.211468 0.97381 199.487"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 324 100.371"; + rotation = "-0.132474 -0.0576585 0.989508 176.042"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -348 187.18"; + rotation = "-0.184479 0.0464509 -0.981738 109.995"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 132 121.732"; + rotation = "0.077741 -0.153153 0.98514 92.857"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -140 57.4334"; + rotation = "-0.127231 0.0928933 0.987514 204.697"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -164 36.6868"; + rotation = "0.013661 -0.198392 -0.980028 119.015"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 268 238.805"; + rotation = "0.215322 0.169591 -0.961704 112.088"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 132 117.541"; + rotation = "0.0540154 0.193401 -0.979632 42.7949"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -444 250.513"; + rotation = "-0.0238378 -0.0553276 0.998184 126.084"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 612 212.728"; + rotation = "-0.103083 0.0841611 0.991106 78.5015"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 380 89.4854"; + rotation = "0.298754 0.719501 0.626949 12.7284"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 556 207.878"; + rotation = "-0.207934 -0.0392704 0.977354 69.2219"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -532 182.756"; + rotation = "0 0 1 18"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 180 44.1695"; + rotation = "0.0720421 0.199511 0.977244 82.3048"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 404 172.36"; + rotation = "0.831679 0.204191 0.516349 23.0111"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -116 57.225"; + rotation = "-0.325461 -0.00988458 0.945504 73.0447"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 820 230.371"; + rotation = "-0.0857283 -0.0662284 0.994115 164.093"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 644 180.416"; + rotation = "0.343938 0.40714 0.846134 22.3744"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 -348 173.086"; + rotation = "-0.000136615 0.15193 0.988391 35.3856"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 796 167.34"; + rotation = "-0.21366 0.0957397 -0.972205 101.586"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -564 157.347"; + rotation = "-0.777265 -0.406513 0.480215 32.6255"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -540 201.173"; + rotation = "-0.0741472 0.327637 -0.94189 57.8579"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 700 266.353"; + rotation = "-0.0572226 -0.119577 0.991175 66.4648"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 148 166.926"; + rotation = "0.00157832 0.176237 0.984347 196.738"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 100 71.5235"; + rotation = "-0.176451 -0.0203001 0.9841 154.4"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -588 221.204"; + rotation = "-0.118267 0.0670611 0.990715 74.5143"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 532 200.968"; + rotation = "-0.0539216 -0.331041 0.942074 63.0041"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 36 58.6"; + rotation = "-0.157932 -0.109108 0.981404 33.5905"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -220 112.94"; + rotation = "0.34752 -0.281843 0.894312 61.4669"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -356 157.423"; + rotation = "0.0193803 0.0920103 0.995569 202.901"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 876 251.319"; + rotation = "0 0 1 88.9998"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 868 220.1"; + rotation = "-0.223351 -0.134438 -0.965423 113.857"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -52 72.607"; + rotation = "0.0879474 -0.095431 0.991543 128.382"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -492 179.6"; + rotation = "0 0 1 126"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -396 253.975"; + rotation = "0.0403419 -0.0540955 0.99772 62.1155"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 604 182.017"; + rotation = "-0.352169 0.267199 -0.896985 61.3168"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -404 254.468"; + rotation = "0.00185128 -0.00848304 0.999962 92.0021"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -556 147.166"; + rotation = "-0.675151 0.21267 0.706359 30.7723"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -556 229.426"; + rotation = "-0.156019 0.112204 -0.98136 89.0771"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -516 161.701"; + rotation = "0.0881924 0.521341 -0.848779 29.2766"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 540 263.756"; + rotation = "-0.691502 -0.331084 0.642035 32.2041"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -220 77.9611"; + rotation = "0.748788 0.10845 -0.653877 27.232"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant23) { + + + new TSStatic() { + position = "116 44 94.1667"; + rotation = "0 0 1 152"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -452 206.187"; + rotation = "0 0 1 67.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -660 130"; + rotation = "0 0 1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -484 232.83"; + rotation = "0 0 1 73.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 -412 173.132"; + rotation = "0 0 1 48"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -340 171.24"; + rotation = "0 0 1 161"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 652 119.444"; + rotation = "0 0 1 54"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 460 107.778"; + rotation = "0 0 1 33"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -468 139.465"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -636 132.024"; + rotation = "0 0 -1 50.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 -44 241.396"; + rotation = "0 0 -1 41"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -684 127.813"; + rotation = "0 0 1 167"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 780 237.285"; + rotation = "0 0 1 178"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 244 169.045"; + rotation = "0 0 1 113"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -412 157.674"; + rotation = "0 0 1 225"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -236 181.781"; + rotation = "0 0 1 187"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 388 238.309"; + rotation = "0 0 1 35"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 228 168.292"; + rotation = "0 0 -1 38.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 596 173.427"; + rotation = "0 0 1 211"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -428 190.392"; + rotation = "0 0 1 191"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 172 55.8473"; + rotation = "0 0 1 102"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -612 137.306"; + rotation = "0 0 1 137"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -588 152.938"; + rotation = "0 0 1 102"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 -484 165.167"; + rotation = "0 0 -1 68.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 812 198.528"; + rotation = "0 0 -1 4.00015"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 516 251.635"; + rotation = "0 0 -1 38"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -12 223.927"; + rotation = "0 0 1 1.00014"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 484 38.0486"; + rotation = "0 0 1 239"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -452 214.573"; + rotation = "0 0 1 236"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -76 23.2916"; + rotation = "0 0 -1 119"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -596 133.594"; + rotation = "0 0 1 201"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 148 122.906"; + rotation = "0 0 1 223"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 172 122.642"; + rotation = "0 0 1 132"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 540 205.656"; + rotation = "0 0 1 67"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 708 134.167"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 588 176.406"; + rotation = "0 0 1 43"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 316 43.1667"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -140 26.0105"; + rotation = "0 0 1 76.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 652 133.899"; + rotation = "0 0 1 166"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 332 87.2188"; + rotation = "0 0 1 129"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -476 199.587"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 404 119.948"; + rotation = "0 0 -1 65.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 268 231.955"; + rotation = "0 0 1 25"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 76 186.517"; + rotation = "0 0 -1 7.00012"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 276 99.1389"; + rotation = "0 0 1 134"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 -44 72.7257"; + rotation = "0 0 1 168"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -468 206.187"; + rotation = "0 0 1 50"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -492 227.483"; + rotation = "0 0 1 174"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 652 122.212"; + rotation = "0 0 -1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 716 242.92"; + rotation = "0 0 1 93.0002"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 84 120.01"; + rotation = "0 0 1 174"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -444 188.417"; + rotation = "0 0 1 107"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 20 85.4375"; + rotation = "0 0 1 124"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -252 122.24"; + rotation = "0 0 1 200"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -372 182.24"; + rotation = "0 0 -1 112"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -588 213.965"; + rotation = "0 0 1 117"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 588 217.031"; + rotation = "0 0 1 18"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -612 191.191"; + rotation = "0 0 1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 244 246.226"; + rotation = "0 0 1 58.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 772 169.899"; + rotation = "0 0 -1 76"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 -580 201.253"; + rotation = "0 0 1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 684 118.896"; + rotation = "0 0 -1 65.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 116 128.024"; + rotation = "0 0 -1 58.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -612 206.969"; + rotation = "0 0 1 70"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 316 44.7987"; + rotation = "0 0 -1 8.99978"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 596 141.413"; + rotation = "0 0 1 217"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 156 123.552"; + rotation = "0 0 -1 78.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 316 43.7152"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 788 170.597"; + rotation = "0 0 -1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -164 126.608"; + rotation = "0 0 1 159"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 692 136.212"; + rotation = "0 0 1 198"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 284 247.701"; + rotation = "0 0 1 42"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -412 164.781"; + rotation = "0 0 1 188"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -652 127.781"; + rotation = "0 0 1 108"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -588 138.264"; + rotation = "0 0 1 171"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -140 113.076"; + rotation = "0 0 1 97"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 124 110.278"; + rotation = "0 0 -1 29"; + scale = "0.8 0.8 0.8"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 580 155.465"; + rotation = "0 0 -1 77.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -284 29.2986"; + rotation = "0 0 1 222"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -548 158.517"; + rotation = "0 0 1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 772 262.028"; + rotation = "0 0 1 152"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -492 169.885"; + rotation = "0 0 -1 55.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 -596 246.955"; + rotation = "0 0 -1 64.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -436 208.5"; + rotation = "0 0 1 138"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -524 152.34"; + rotation = "0 0 1 69.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 284 134.01"; + rotation = "0 0 1 3.99996"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 84 118.281"; + rotation = "0 0 -1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -660 216.799"; + rotation = "0 0 1 235"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 804 230.927"; + rotation = "0 0 1 76.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 812 130.295"; + rotation = "0 0 -1 37.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 132 119.576"; + rotation = "0 0 -1 28.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 36 233.226"; + rotation = "0 0 -1 111"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 452 229.302"; + rotation = "0 0 -1 4.00015"; + scale = "1.4 1.4 1.4"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 172 60.1667"; + rotation = "0 0 1 23"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 644 124.295"; + rotation = "0 0 1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -652 128.979"; + rotation = "0 0 -1 37.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -620 214.424"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -204 109.25"; + rotation = "0 0 1 52"; + scale = "1.2 1.2 1.2"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 260 235.149"; + rotation = "0 0 1 107"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -388 159.024"; + rotation = "0 0 -1 22.0002"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/ShockRidge.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/ShockRidge.mis new file mode 100644 index 00000000..bc404cdf --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/ShockRidge.mis @@ -0,0 +1,2645 @@ +// DisplayName = Shock Ridge +// MissionTypes = CTF CnH + +//--- MISSION QUOTE BEGIN --- +//Observe your enemies, for they first find out your faults. +// -- Antisthenes +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 Points to win +//[CnH]3600 points to win +//Map by Rilke (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + CnH_timeLimit = "30"; + cdTrack = "2"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-672 -960 1344 1904"; + flightCeiling = "500"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-752 -1320 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "-0.201917 -0.959107 -0.198352"; + color = "0.350000 0.450000 0.500000 1.000000"; + ambient = "0.330000 0.430000 0.480000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "ShockRidge.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "ShockRidge.nav"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-2.34613 -500.845 407.351"; + rotation = "0.0560873 -0.144265 0.987948 137.977"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-45.5836 503.537 382.654"; + rotation = "0.356034 -0.130583 0.925304 43.2445"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "40.2791 -637.041 382.088"; + rotation = "0.229026 0.133298 -0.96425 62.2304"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-12.8856 633.654 364.367"; + rotation = "0.0151484 -0.294763 0.95545 174.378"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-14.1149 596.05 367.443"; + rotation = "0 0 -1 4.0109"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-14.5112 549.768 344.373"; + rotation = "0 0 1 173.606"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-13.5112 592.368 342.773"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + missionTypesList = "CnH"; + }; + new StaticShape() { + position = "-12.7407 626.447 356.352"; + rotation = "0 0 -1 96.8298"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-14.3363 554.83 368.346"; + rotation = "0 0 -1 96.2563"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SimGroup(Turrets) { + + + new InteriorInstance() { + position = "-202.912 429.915 405.545"; + rotation = "0 0 -1 92.8192"; + scale = "1 1 1"; + interiorFile = "rilke_domain_turretbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-201.869 429.489 408.53"; + rotation = "0 0 1 177.226"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "111.873 409.585 451.966"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "99.8649 424.374 419.011"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_boundrymarker2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-16.9617 625.198 365.514"; + rotation = "0 0 1 173.606"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + }; + new Item() { + position = "-11.8328 580.085 368.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "-16.9638 625.965 355.407"; + rotation = "0 0 -1 5.72942"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "1.63006 630.076 366.341"; + rotation = "0 0 -1 6.87562"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-5.91222 526.861 368.389"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-3.06323 556.111 356.356"; + rotation = "0 0 1 82.5976"; + scale = "0.85 0.85 0.85"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-3.85133 556 368.346"; + rotation = "0 0 1 83.6524"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "33.949 -602.777 386.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new StaticShape() { + position = "-85.8239 -400.05 452.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-73.7835 -415.066 419.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_boundrymarker2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(Turrets) { + + + new Turret() { + position = "141.944 -336.978 382.138"; + rotation = "-0 0 -1 9.74075"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "143.024 -337.236 379.153"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + interiorFile = "rilke_domain_turretbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "32.1241 -632.721 376.11"; + rotation = "0 0 1 89.3815"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "42.2208 -556.693 364.121"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "36.2208 -596.693 361.521"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + missionTypesList = "CnH"; + }; + new StaticShape() { + position = "30.1515 -561.732 376.101"; + rotation = "0 0 -1 91.1006"; + scale = "0.85 0.85 0.85"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "36.4015 -632.724 375.166"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "17.4044 -634.794 386.089"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "36.457 -631.975 385.262"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + }; + new Item() { + position = "36.1497 -532.989 388.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + new StaticShape() { + position = "41.4691 -561.706 388.1"; + rotation = "0 0 1 89.955"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "36.2885 -586.554 388.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "30.9791 -561.715 388.1"; + rotation = "0 0 -1 90.1363"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new SimGroup(objective1) { + + + new InteriorInstance() { + position = "668.613 -48.3587 437.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "656.603 -36.3687 469.718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "East Switch"; + locked = "true"; + missionTypesList = "CnH"; + }; + new StaticShape() { + position = "656.553 -36.3687 467.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + holoHeight = "10"; + locked = "true"; + missionTypesList = "CnH"; + }; + new WayPoint() { + position = "656.773 -36.4487 439.048"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "East"; + + locked = "true"; + missionTypesList = "CnH"; + }; + }; + new SimGroup(objective2) { + + + new WayPoint() { + position = "-34.1636 -4.92918 298.418"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Middle"; + + locked = "true"; + missionTypesList = "CnH"; + }; + new StaticShape() { + position = "-34.0836 -4.76918 298.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + tCapThread = "21630"; + name = "Middle Switch"; + pCapThread = "21629"; + locked = "true"; + missionTypesList = "CnH"; + tHoldThread = "23142"; + }; + new StaticShape() { + position = "-34.0636 -4.77918 296.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + holoHeight = "10"; + locked = "true"; + missionTypesList = "CnH"; + }; + }; + new SimGroup(objective4) { + + + new InteriorInstance() { + position = "-635.442 -61.9776 431.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-647.462 -49.9776 463.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "West Switch"; + locked = "true"; + missionTypesList = "CnH"; + }; + new StaticShape() { + position = "-647.432 -49.9876 461.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + holoHeight = "10"; + locked = "true"; + missionTypesList = "CnH"; + }; + new WayPoint() { + position = "-647.542 -50.3776 432.998"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "West"; + + locked = "true"; + missionTypesList = "CnH"; + }; + }; + }; + }; + new SimGroup(audio) { + + + new Precipitation(Precipitation) { + position = "210.407 4.43992 451.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.730000 0.850000 0.870000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "4"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "135"; + + locked = "true"; + }; + new AudioEmitter() { + position = "182.694 41.5123 424.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "414.833 -153.209 304.188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "185.187 76.4692 426.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-637.81 -50.8356 434.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/light_LF_snow.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "500"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-297.387 -37.7009 392.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-197.757 -7.15173 408.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/light_LF_snow.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "500"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-1149.14 -911.937 302.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "500"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-181.666 -175.37 427.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rumblingthunder.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "338.645 126.146 363.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "646.377 -35.76 440.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/light_LF_snow.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "500"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "219.116 7.3991 420.593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/light_LF_snow.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "500"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-104.069 -163.378 356.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new WaterBlock(Water) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "2048 2048 285"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.590000 0.600000 1.000000"; + fogDistance = "200"; + fogColor = "0.400000 0.590000 0.600000 1.000000"; + fogVolume1 = "350 0 325"; + fogVolume2 = "450 325 350"; + fogVolume3 = "1500 350 450"; + materialList = "lush_dusk.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "750"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.61615e-32 1.97487e-39"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new SimGroup(Neutral) { + + + new InteriorInstance() { + position = "-34.0445 42.6388 297.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_bridge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-647.369 -50.053 434.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Item() { + position = "656.575 -36.5342 439.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "1"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1SWTree20) { + + + new TSStatic() { + position = "-204 468 408.129"; + rotation = "0 0 1 209"; + scale = "2.5 2.5 2.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -436 398.472"; + rotation = "0 0 1 196"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 660 299.363"; + rotation = "0 0 -1 116"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -692 337.347"; + rotation = "0 0 -1 87.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 164 445.925"; + rotation = "0 0 1 67.9998"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 916 417.722"; + rotation = "0 0 -1 43.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 876 334.488"; + rotation = "0 0 1 158"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 812 395.675"; + rotation = "0 0 1 4.99997"; + scale = "3 3 3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 -508 329.722"; + rotation = "0 0 1 32"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 100 393.597"; + rotation = "0 0 1 55"; + scale = "2.6 2.6 2.6"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -388 397.941"; + rotation = "0 0 1 33"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 308 341.41"; + rotation = "0 0 1 174"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 908 441.504"; + rotation = "0 0 1 73.9998"; + scale = "2.4 2.4 2.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 628 337.879"; + rotation = "0 0 -1 108.999"; + scale = "2.4 2.4 2.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -564 302.222"; + rotation = "0 0 1 218"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -276 385.707"; + rotation = "0 0 -1 8.99978"; + scale = "2.1 2.1 2.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 204 328.347"; + rotation = "0 0 1 157"; + scale = "2.4 2.4 2.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 404 334.519"; + rotation = "0 0 1 240"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 52 438.863"; + rotation = "0 0 -1 37.0002"; + scale = "2.6 2.6 2.6"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 460 321.05"; + rotation = "0 0 1 12"; + scale = "3 3 3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 -684 429.504"; + rotation = "0 0 1 178"; + scale = "2.4 2.4 2.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -84 318.832"; + rotation = "0 0 -1 64.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 468 299.972"; + rotation = "0 0 1 148"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 372 411.191"; + rotation = "0 0 -1 78.0002"; + scale = "2.5 2.5 2.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 -580 310.488"; + rotation = "0 0 1 133"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -140 393.425"; + rotation = "0 0 1 207"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 684 368.785"; + rotation = "0 0 1 82"; + scale = "2.7 2.7 2.7"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 828 378.644"; + rotation = "0 0 -1 47"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -436 323.535"; + rotation = "0 0 1 39"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 500 428.676"; + rotation = "0 0 -1 26"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 132 363.785"; + rotation = "0 0 1 7.00001"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -652 300.269"; + rotation = "0 0 -1 84.0002"; + scale = "2.8 2.8 2.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 -460 386.472"; + rotation = "0 0 -1 13.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -188 425.426"; + rotation = "0 0 -1 119"; + scale = "2.3 2.3 2.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -172 308.097"; + rotation = "0 0 1 192"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -772 381.238"; + rotation = "0 0 -1 59.0003"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -732 292.441"; + rotation = "0 0 -1 38"; + scale = "2.7 2.7 2.7"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 604 432.285"; + rotation = "0 0 1 93.0002"; + scale = "2.7 2.7 2.7"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 812 340.175"; + rotation = "0 0 -1 7.00012"; + scale = "2.1 2.1 2.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 700 425.472"; + rotation = "0 0 1 117"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -508 328.738"; + rotation = "0 0 -1 4.00015"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 916 366.675"; + rotation = "0 0 -1 16.0002"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -556 421.769"; + rotation = "0 0 1 124"; + scale = "2.8 2.8 2.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -300 330.847"; + rotation = "0 0 -1 92.0004"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 84 334.269"; + rotation = "0 0 1 227"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 756 391.926"; + rotation = "0 0 -1 79"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 -212 422.285"; + rotation = "0 0 1 14"; + scale = "2.2 2.2 2.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -788 415.551"; + rotation = "0 0 1 235"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 252 407.925"; + rotation = "0 0 -1 20.9998"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 716 342.316"; + rotation = "0 0 -1 114"; + scale = "2.3 2.3 2.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 4 319.332"; + rotation = "0 0 -1 8.99978"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 -316 420.816"; + rotation = "0 0 -1 72.0002"; + scale = "2.6 2.6 2.6"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWShrub21) { + + + new TSStatic() { + position = "-420 484 360.134"; + rotation = "0 0 -1 100"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 -588 314.775"; + rotation = "0 0 1 164"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 -220 400.259"; + rotation = "0 0 1 239"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 300 323.775"; + rotation = "0 0 1 133"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 204 421.134"; + rotation = "0 0 -1 83.0004"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 1052 312.353"; + rotation = "0 0 1 158"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 1124 327.368"; + rotation = "0 0 -1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -716 330.415"; + rotation = "0 0 1 142"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1060 -316 423.165"; + rotation = "0 0 1 27"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -308 319.196"; + rotation = "0 0 1 3.99996"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -292 425.134"; + rotation = "0 0 1 7.00001"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -188 314.525"; + rotation = "0 0 -1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 124 385.275"; + rotation = "0 0 1 28"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 1004 343.618"; + rotation = "0 0 1 91.9998"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 836 346.947"; + rotation = "0 0 1 207"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -348 425.509"; + rotation = "0 0 1 149"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 180 428.275"; + rotation = "0 0 1 23"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -964 312.525"; + rotation = "0 0 1 85"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -212 325.353"; + rotation = "0 0 1 3.99996"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 996 346.665"; + rotation = "0 0 1 167"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 -348 422.4"; + rotation = "0 0 1 4.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -220 378.759"; + rotation = "0 0 -1 64.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1052 -220 415.384"; + rotation = "0 0 1 171"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 956 385.759"; + rotation = "0 0 -1 22.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1036 412 429.696"; + rotation = "0 0 1 206"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 -892 357.712"; + rotation = "0 0 -1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 -92 363.322"; + rotation = "0 0 1 132"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 76 333.54"; + rotation = "0 0 1 115"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 -868 309.056"; + rotation = "0 0 1 67.9998"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 1212 306.181"; + rotation = "0 0 -1 99.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 500 372.556"; + rotation = "0 0 -1 64.0005"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 -404 335.462"; + rotation = "0 0 1 61"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 556 377.978"; + rotation = "0 0 1 154"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1228 -236 358.196"; + rotation = "0 0 1 45"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -612 343.165"; + rotation = "0 0 1 76"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 892 330.962"; + rotation = "0 0 -1 49.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 452 422.181"; + rotation = "0 0 1 203"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1148 -668 336.993"; + rotation = "0 0 -1 8.99978"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 484 312.118"; + rotation = "0 0 1 61.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -356 413.978"; + rotation = "0 0 1 82.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "988 1116 389.993"; + rotation = "0 0 1 9.99997"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 324 430.525"; + rotation = "0 0 1 97.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 932 409.134"; + rotation = "0 0 1 198"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 388 411.79"; + rotation = "0 0 1 51"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1020 1132 384.868"; + rotation = "0 0 -1 8.99978"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -20 309.15"; + rotation = "0 0 1 183"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1020 524 412.118"; + rotation = "0 0 -1 35"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -900 338.181"; + rotation = "0 0 -1 106"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -52 353.587"; + rotation = "0 0 -1 72.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1172 -780 299.556"; + rotation = "0 0 1 9.00004"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1044 -332 426.197"; + rotation = "0 0 1 186"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -772 386.165"; + rotation = "0 0 1 38"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -236 353.181"; + rotation = "0 0 1 76"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 996 320.447"; + rotation = "0 0 -1 28.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 572 425.118"; + rotation = "0 0 1 138"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -164 407.29"; + rotation = "0 0 -1 29.9998"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1052 180 415.868"; + rotation = "0 0 -1 83.0004"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -324 331.962"; + rotation = "0 0 -1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -492 406.947"; + rotation = "0 0 1 82.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1188 404 332.025"; + rotation = "0 0 1 227"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -972 404.415"; + rotation = "0 0 1 149"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004 -300 419.978"; + rotation = "0 0 -1 65.0004"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 316 390.618"; + rotation = "0 0 1 23"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 948 430.525"; + rotation = "0 0 1 215"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1220 700 312.025"; + rotation = "0 0 -1 60.0001"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 -916 384.525"; + rotation = "0 0 1 1.00014"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 404 327.04"; + rotation = "0 0 -1 93.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -76 312.978"; + rotation = "0 0 -1 92.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 740 389.978"; + rotation = "0 0 1 150"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 740 400.243"; + rotation = "0 0 -1 85"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 -52 362.056"; + rotation = "0 0 1 192"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 260 338.04"; + rotation = "0 0 -1 70.0005"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 748 396.509"; + rotation = "0 0 1 148"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 380 330.571"; + rotation = "0 0 -1 47.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3SWShrub23) { + + + new TSStatic() { + position = "1100 756 376.551"; + rotation = "0 0 -1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 1132 338.723"; + rotation = "0 0 -1 38"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 220 414.301"; + rotation = "0 0 1 63.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 1172 387.488"; + rotation = "0 0 1 201"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 700 304.988"; + rotation = "0 0 1 119"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 812 407.488"; + rotation = "0 0 1 173"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "884 -788 298.441"; + rotation = "0 0 -1 96.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -724 335.645"; + rotation = "0 0 1 69.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 972 309.16"; + rotation = "0 0 -1 26.9998"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 172 414.426"; + rotation = "0 0 1 63.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 812 385.348"; + rotation = "0 0 1 57"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 1028 416.16"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 244 327.848"; + rotation = "0 0 -1 71.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 516 383.769"; + rotation = "0 0 -1 10.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -468 389.801"; + rotation = "0 0 1 232"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1028 860 425.223"; + rotation = "0 0 1 124"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1068 -516 396.441"; + rotation = "0 0 -1 43.0002"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 1084 322.863"; + rotation = "0 0 -1 19.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 892 346.785"; + rotation = "0 0 -1 85"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -868 339.957"; + rotation = "0 0 -1 59.0003"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -668 421.973"; + rotation = "0 0 -1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -1148 348.285"; + rotation = "0 0 1 39"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "860 -508 337.395"; + rotation = "0 0 -1 65.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 1012 356.504"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1116 508 399.645"; + rotation = "0 0 1 191"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1060 -1124 424.785"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 92 424.519"; + rotation = "0 0 -1 117"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 892 430.16"; + rotation = "0 0 1 90.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 308 343.863"; + rotation = "0 0 1 16"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -932 417.488"; + rotation = "0 0 1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -140 310.176"; + rotation = "0 0 -1 65.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 1092 404.316"; + rotation = "0 0 1 97"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -596 315.035"; + rotation = "0 0 1 144"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -964 323.519"; + rotation = "0 0 1 16"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 708 429.348"; + rotation = "0 0 1 233"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 828 420.363"; + rotation = "0 0 1 16"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 116 354.785"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 92 390.27"; + rotation = "0 0 1 173"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "732 884 348.801"; + rotation = "0 0 1 56"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 268 374.769"; + rotation = "0 0 1 235"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -740 407.926"; + rotation = "0 0 1 103"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 1004 416.691"; + rotation = "0 0 1 99.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1028 212 421.926"; + rotation = "0 0 -1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -220 352.66"; + rotation = "0 0 1 207"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 668 428.129"; + rotation = "0 0 1 155"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 148 320.785"; + rotation = "0 0 -1 78.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 220 330.316"; + rotation = "0 0 -1 99.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900 -276 405.91"; + rotation = "0 0 1 213"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1044 380 419.113"; + rotation = "0 0 1 157"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -388 393.519"; + rotation = "0 0 1 64.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 844 425.926"; + rotation = "0 0 1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1100 -220 421.051"; + rotation = "0 0 1 238"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -716 386.707"; + rotation = "0 0 1 139"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 1116 314.863"; + rotation = "0 0 1 127"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 708 391.301"; + rotation = "0 0 1 38"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 -644 423.832"; + rotation = "0 0 -1 2.9997"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -1012 313.191"; + rotation = "0 0 1 207"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -1180 382.394"; + rotation = "0 0 1 240"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 1068 359.926"; + rotation = "0 0 1 219"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -252 401.754"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 740 424.254"; + rotation = "0 0 -1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 -44 357.691"; + rotation = "0 0 -1 44"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 1060 417.926"; + rotation = "0 0 -1 16.9999"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -716 402.457"; + rotation = "0 0 -1 116"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -252 400.066"; + rotation = "0 0 -1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -52 321.269"; + rotation = "0 0 1 100"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 860 338.551"; + rotation = "0 0 -1 50.9998"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 -564 399.77"; + rotation = "0 0 1 168"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 740 432.082"; + rotation = "0 0 1 70.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 980 371.395"; + rotation = "0 0 1 163"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1036 -324 425.973"; + rotation = "0 0 1 166"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -1052 418.629"; + rotation = "0 0 1 170"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Snowblind_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Snowblind_nef.mis new file mode 100644 index 00000000..8c686e6d --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Snowblind_nef.mis @@ -0,0 +1,1795 @@ +// DisplayName = Snowblind +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Starwolf and Blood Eagle battle each other in the inhospitable crags of the ice world of Ymir. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "ice"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-872 -720 1136 1408"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Snowblind_nef.ter"; + squareSize = "8"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Snowblind_nef.nav"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-784 -1568 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.650000 0.650000 0.650000 1.000000"; + fogDistance = "150"; + fogColor = "0.650000 0.650000 0.650000 1.000000"; + fogVolume1 = "1200 700 750"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.97693e-22 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-105.526 -528.75 157.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-511.958 -165.688 183.321"; + rotation = "0 0 1 30.3667"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-135.649 -508.649 172.548"; + rotation = "0 0 -1 116.31"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-394.163 -196.464 157.022"; + rotation = "0 0 1 65.3172"; + scale = "0.820721 0.861926 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-394.749 -196.814 180.562"; + rotation = "0 0 1 65.3172"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Item(Team1Flag1) { + position = "-134.825 -524.967 185.053"; + rotation = "0 0 1 155.454"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape(TeamStationInventory2) { + position = "-502.19 -167.26 188.991"; + rotation = "0 0 1 108.747"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-118.627 -511.363 173.113"; + rotation = "0 0 -1 26.8149"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(Team1SentryTurret2) { + position = "-143.853 -523.875 173.112"; + rotation = "0 0 1 153.162"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-139.943 -500.015 164.252"; + rotation = "0 0 1 154.308"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-131.667 -496.68 164.022"; + rotation = "0 0 1 18.1734"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-147.584 -504.595 164.034"; + rotation = "0 0 -1 70.8175"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-503.23 -150.278 195.014"; + rotation = "0 0 1 155.272"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(TeamSentryTurret1) { + position = "-527.871 -157.758 189.972"; + rotation = "-0.191309 0.981513 0.00569327 179.876"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(TeamSentryTurret2) { + position = "-514.932 -185.918 189.982"; + rotation = "-0.224766 0.974413 -0.000122859 179.91"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-509.867 -171.805 189.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape(TeamStationInventory1) { + position = "-505.419 -160.281 189.011"; + rotation = "0 0 1 19.3658"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-128.711 -506.488 187.067"; + rotation = "0 0 1 154.308"; + scale = "2.36971 1.51081 1.72998"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-507.634 -165.606 173.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new TSStatic() { + position = "-507.31 -165.376 188.509"; + rotation = "0 0 1 155.272"; + scale = "1.55594 2.06939 0.999146"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-380.365 388.966 166.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-175.451 -15.3906 211.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-377.156 399.796 178.055"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-234.398 -76.6145 213.344"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-235.04 -76.6579 189.804"; + rotation = "-0 0 -1 89.9544"; + scale = "0.67359 0.852687 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item(Team2Flag1) { + position = "-372.516 415.49 190.556"; + rotation = "0 0 -1 7.44841"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape(Team2StationInventory1) { + position = "-367.294 391.992 169.553"; + rotation = "0 0 1 127.426"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-384.949 389.922 169.547"; + rotation = "0 0 1 218.365"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-375.986 390.174 169.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "-364.411 411.433 178.648"; + rotation = "0 0 -1 5.72969"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(Team2SentryTurret2) { + position = "-392.291 408.009 178.649"; + rotation = "0 0 1 173.697"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(TeamSentryTurret4) { + position = "-157.205 -0.0562626 219.932"; + rotation = "0.999999 -3.16195e-07 0.00126472 180.648"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-182.748 -27.515 224.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(TeamStationInventory3) { + position = "-176.551 -19.3891 218.948"; + rotation = "0 0 1 226.386"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(TeamStationInventory4) { + position = "-176.567 -11.5958 218.954"; + rotation = "0 0 -1 42.9719"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-167.679 -10.6758 219.001"; + rotation = "0 0 -1 0.457995"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret(TeamSentryTurret3) { + position = "-157.215 -31.0096 219.927"; + rotation = "0.999993 0.00350054 0.00124378 180.649"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-384.146 400.262 192.642"; + rotation = "0 0 -1 6.8755"; + scale = "1.98016 1 1.64314"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.815 -15.5443 218.378"; + rotation = "1 0 0 0"; + scale = "1.55136 2.04513 1.17786"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + }; + new WayPoint() { + position = "-173.231 -16.0412 205.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-134.473 -14.6164 224.74"; + rotation = "0 0 -1 92.4293"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-541.754 -180.261 200.164"; + rotation = "0 0 1 67.4259"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-386.426 415.909 196.001"; + rotation = "0.114653 -0.221635 0.968366 126.784"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-136.896 -528.185 190.861"; + rotation = "0.903448 -0.124602 0.410191 37.1683"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-290.248 -197.655 241.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1SWTree20) { + + + new TSStatic() { + position = "-188 52 181.006"; + rotation = "0 0 1 193"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 44 151.917"; + rotation = "0 0 1 17"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 4 148.297"; + rotation = "0 0 1 218"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -268 159.592"; + rotation = "0 0 1 137"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 300 254.162"; + rotation = "0 0 -1 64.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -644 161.226"; + rotation = "0 0 1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 332 54.255"; + rotation = "0 0 1 48"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -20 294.614"; + rotation = "0 0 1 2.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -604 162.666"; + rotation = "0 0 -1 104.896"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -604 106.753"; + rotation = "0 0 -1 89.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 324 38.7969"; + rotation = "0 0 1 139"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -324 134.402"; + rotation = "0 0 1 182.445"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -100 177.315"; + rotation = "0 0 1 31"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 172 152.724"; + rotation = "0 0 1 174.808"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 -436 63.8075"; + rotation = "0 0 -1 70.7763"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 308 260.058"; + rotation = "0 0 -1 37.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 28 73.1019"; + rotation = "0 0 1 46"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324.568 255.22 135.368"; + rotation = "0 0 1 79.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -28 139.334"; + rotation = "0 0 1 154"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -540 152.816"; + rotation = "0 0 1 123"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 20 173.859"; + rotation = "0 0 -1 13.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-398.503 -334.258 187.365"; + rotation = "0 0 1 18.1214"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 -316 73.5725"; + rotation = "0 0 1 206"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -420 116.394"; + rotation = "0 0 1 148"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 164 153.312"; + rotation = "0 0 -1 111"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -108 239.352"; + rotation = "0 0 -1 49.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 116 147.121"; + rotation = "0 0 1 162"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -44 148.633"; + rotation = "0 0 1 96.0896"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "14.3268 -632.018 166.238"; + rotation = "0 0 1 113.577"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 268 255.307"; + rotation = "0 0 1 138.901"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWTree20) { + + + new TSStatic() { + position = "-36 -484 105.084"; + rotation = "0 0 -1 17.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 196 211.406"; + rotation = "0 0 -1 66.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -572 156.338"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 124 191.451"; + rotation = "0 0 1 152"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 20 175.693"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -84 143.023"; + rotation = "0 0 -1 50.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 244 32.1006"; + rotation = "0 0 1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 332 50.8175"; + rotation = "0 0 -1 102"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -356 58.9538"; + rotation = "0 0 1 6.06741"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-422.958 217.558 138.578"; + rotation = "0 0 1 192.63"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 212 133.484"; + rotation = "0 0 -1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.0441 -36.0398 213.016"; + rotation = "0 0 1 148"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -228 143.277"; + rotation = "0 0 1 120"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 164 154.679"; + rotation = "0 0 1 65.316"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -380 52.9976"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132.309 -156.951 305.354"; + rotation = "0 0 -1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-339.959 -292.469 202.338"; + rotation = "0 0 1 54"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 268 124.717"; + rotation = "0 0 1 122"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -412 82.6538"; + rotation = "0 0 1 88.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 100 177.029"; + rotation = "0 0 1 25"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -468 41.2725"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -500 106.251"; + rotation = "0 0 -1 79"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -548 151.027"; + rotation = "0 0 1 142"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -124 141.332"; + rotation = "0 0 -1 81.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -516 98.5613"; + rotation = "0 0 -1 79.3268"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -156 129.207"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -484 140.822"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -620 171.805"; + rotation = "0 0 1 91.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -76 216.211"; + rotation = "0 0 1 22"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -140 160.314"; + rotation = "0 0 -1 65.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 148 29.8213"; + rotation = "0 0 -1 29.9998"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 324 207.788"; + rotation = "0 0 -1 56.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3SWShrub21) { + + + new TSStatic() { + position = "-508 -292 157.559"; + rotation = "0 0 -1 29.9998"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 196 197.293"; + rotation = "0 0 1 138"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -532 149.121"; + rotation = "0 0 1 51"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 308 49.1525"; + rotation = "0 0 1 117"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 44 70.8869"; + rotation = "0 0 1 156"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -364 183.231"; + rotation = "0 0 1 233"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -332 125.668"; + rotation = "0 0 -1 47.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -372 85.6681"; + rotation = "0 0 -1 10.9999"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 364 138.996"; + rotation = "0 0 -1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 260 122.637"; + rotation = "0 0 -1 7.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 -556 99.902"; + rotation = "0 0 1 93.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 108 32.1525"; + rotation = "0 0 1 76.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -508 155.527"; + rotation = "0 0 -1 77.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 396 74.0743"; + rotation = "0 0 1 14"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -452 130.715"; + rotation = "0 0 1 21"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 428 127.168"; + rotation = "0 0 1 229"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -332 204.199"; + rotation = "0 0 -1 49.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 420 142.934"; + rotation = "0 0 -1 73.0006"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 180 120.309"; + rotation = "0 0 -1 70.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -380 52.9182"; + rotation = "0 0 1 170"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 196 118.731"; + rotation = "0 0 1 151"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 36 135.934"; + rotation = "0 0 1 212"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -156 137.996"; + rotation = "0 0 1 162"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 412 73.0588"; + rotation = "0 0 -1 56.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -556 201.418"; + rotation = "0 0 1 180"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 172 150.633"; + rotation = "0 0 -1 17.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 316 37.6681"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 12 191.262"; + rotation = "0 0 -1 80.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -372 176.621"; + rotation = "0 0 -1 81.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 292 255.902"; + rotation = "0 0 1 87.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -148 229.043"; + rotation = "0 0 1 72.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 428 64.09"; + rotation = "0 0 -1 85"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 180 192.012"; + rotation = "0 0 -1 99.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 164 138.434"; + rotation = "0 0 1 66.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 228 135.34"; + rotation = "0 0 1 36"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7SWShrub24) { + + + new TSStatic() { + position = "-348 -116 125.735"; + rotation = "0 0 1 131"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -28 133.657"; + rotation = "0 0 1 159"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -292 183.891"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 388 266.141"; + rotation = "0 0 1 142"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -292 161.813"; + rotation = "0 0 1 156"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 276 32.0631"; + rotation = "0 0 1 94.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 372 148.266"; + rotation = "0 0 -1 10.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -572 156.751"; + rotation = "0 0 1 224"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -364 121.813"; + rotation = "0 0 1 31"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 108 141.782"; + rotation = "0 0 1 230"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -268 217.235"; + rotation = "0 0 1 108"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 60 180.704"; + rotation = "0 0 -1 95.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 372 190.751"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -516 147.094"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 364 25.735"; + rotation = "0 0 1 179"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -388 52.0944"; + rotation = "0 0 -1 29"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 316 41.3288"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 212 218.938"; + rotation = "0 0 -1 81.0002"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -484 143.594"; + rotation = "0 0 1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 60 178.657"; + rotation = "0 0 1 90.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -52 269.985"; + rotation = "0 0 -1 59.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 44 189.032"; + rotation = "0 0 1 36"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -356 56.1881"; + rotation = "0 0 -1 84.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -4 179.422"; + rotation = "0 0 -1 11.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 348 199.844"; + rotation = "0 0 -1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 132 140.657"; + rotation = "0 0 1 9.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -500 144.563"; + rotation = "0 0 -1 49.0002"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 132 172.688"; + rotation = "0 0 1 46"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 372 60.6257"; + rotation = "0 0 1 132"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 356 132.719"; + rotation = "0 0 1 16"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -580 158.688"; + rotation = "0 0 -1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5SWShrub23) { + + + new TSStatic() { + position = "-780 -364 63.775"; + rotation = "0 0 1 69.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 372 133.462"; + rotation = "0 0 1 125"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 12 138.369"; + rotation = "0 0 1 233"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 84 154.009"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -388 50.5093"; + rotation = "0 0 -1 114"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 364 25.775"; + rotation = "0 0 1 31"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -20 134.103"; + rotation = "0 0 -1 93.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 388 49.8219"; + rotation = "0 0 -1 13.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 140 127.791"; + rotation = "0 0 -1 64.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -276 163.072"; + rotation = "0 0 1 67"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -468 44.3219"; + rotation = "0 0 1 60.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 212 34.7438"; + rotation = "0 0 -1 32"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Starfallen.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Starfallen.mis new file mode 100644 index 00000000..c38ce1e4 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Starfallen.mis @@ -0,0 +1,1436 @@ +// DisplayName = Starfallen +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//Aim for the moon. If you miss, you may hit a star. +// -- W. Clement Stone +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by v5planet (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "6"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-920 -784 1856 1552"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(one) { + position = "-441.16 363.67 167.04"; + rotation = "-0.325641 0.155299 0.932652 54.165"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(two) { + position = "-544 101.6 179.55"; + rotation = "0.207883 -0.058654 0.976394 32.2354"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(three) { + position = "130.34 -556.052 182.539"; + rotation = "0.259111 -0.129994 0.95706 55.3272"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(four) { + position = "373.557 -443.812 167.23"; + rotation = "-0.310177 0.118526 0.943261 44.1065"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sun() { + position = "-361.911 369.705 299.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.250000 0.350000 0.350000 1.000000"; + ambient = "0.240000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "560"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.260000 0.410000 0.440000 1.000000"; + fogDistance = "420"; + fogColor = "0.260000 0.410000 0.440000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38"; + high_fogVolume2 = "-1 -1991.03 nan"; + high_fogVolume3 = "-1 7945.87 7.22445e-09"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/Lushdet2"; + terrainFile = "Starfallen.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "500"; + locked = "true"; + visibleDistance = "1000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "Harvester_x.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "227.338 -460.799 127.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "345.635 -471.361 172.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "345.635 -399.161 172.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "453.926 -419.36 148.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "366.723 -428.721 168.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "343.249 -243.777 160.377"; + rotation = "-0 0 -1 54.6135"; + scale = "0.781556 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "124.805 -579.028 117.639"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "404.563 -432.4 176.688"; + rotation = "0 0 1 81.36"; + scale = "6.05734 0.484094 4.31526"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "197.746 -508.77 150.035"; + rotation = "0 0 1 143.812"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Turret() { + position = "394.91 -427.617 183.281"; + rotation = "-0 0 -1 9.16728"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "347.437 -434.83 185.478"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + interiorFile = "Starfallen.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "385.157 -439.697 165.703"; + rotation = "0 0 1 128.343"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "413.329 -424.882 160.361"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "124.833 -579.037 107.667"; + rotation = "0 0 1 180"; + scale = "0.75094 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "401.611 -435.968 174.457"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "426.089 -164.196 136.162"; + rotation = "0 0 1 207.984"; + scale = "1 1 1"; + nameTag = "Road"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "352.062 -411.877 168.443"; + rotation = "0 0 -1 98.158"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "425.809 -164.716 127.623"; + rotation = "0 0 1 28.4654"; + scale = "0.694222 0.873342 0.855632"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "358.689 -455.367 168.462"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "401.78 -414.418 176.603"; + rotation = "0 0 1 81.36"; + scale = "5.53473 0.58606 4.47809"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "343.155 -243.561 169.502"; + rotation = "-0 0 -1 48.884"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "383.026 -440.966 172.738"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "379.599 -418.352 172.746"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "219.244 -521.616 160.614"; + rotation = "0 0 -1 59.0146"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "398.939 -417.663 174.442"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "381.995 -418.995 165.726"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "371.264 -427.121 184.147"; + rotation = "0 0 1 81.36"; + scale = "8.08698 0.335684 7.4828"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "362.223 -432.59 192.395"; + rotation = "0 0 1 171.887"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "204.661 -507.08 150.387"; + rotation = "0 0 1 210.848"; + scale = "1 1 1"; + interiorFile = "flagbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "197.746 -508.77 150.639"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + stand = "3482"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "382.077 -408.937 183.59"; + rotation = "0 0 1 169.596"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "388.741 -449.067 183.581"; + rotation = "0 0 -1 9.74035"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "394.903 -427.626 184.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-463.4 336.8 173.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-463.989 224.261 129.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-391 336.8 173.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-427.309 452.801 160.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-427.642 358.57 168.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-427.433 339.02 185.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Starfallen.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-439.45 395.813 176.791"; + rotation = "1 0 0 0"; + scale = "5.53473 0.58606 4.47809"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-421.254 395.863 176.876"; + rotation = "1 0 0 0"; + scale = "6.05734 0.484094 4.31526"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-416.955 375.581 165.901"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-437.884 375.58 165.904"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-521.457 219.464 160.402"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-427.406 353.955 192.573"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-431.475 363.705 184.335"; + rotation = "1 0 0 0"; + scale = "8.08698 0.385589 7.4828"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-436.758 392.497 174.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-438.903 373.302 172.894"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-416 373.294 172.956"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-405.438 347.069 168.65"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-449.431 347.031 168.641"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-418.219 392.468 174.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-427.369 405.659 160.549"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-516.497 199.462 150.181"; + rotation = "0 0 1 61.8794"; + scale = "1 1 1"; + interiorFile = "flagbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-509.701 197.345 149.829"; + rotation = "-0 0 -1 5.15676"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-588.301 125.557 110.955"; + rotation = "0 0 -1 35.5234"; + scale = "0.75094 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-588.468 125.584 120.903"; + rotation = "0 0 1 144.958"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-427.433 387.058 183.469"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-149.024 399.179 124.61"; + rotation = "0 0 1 63.5983"; + scale = "0.694222 0.873342 0.855632"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-148.495 399.443 133.149"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + nameTag = "Road"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-229.146 338.4 158.764"; + rotation = "0 0 -1 5.72956"; + scale = "0.781556 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-229.103 338.424 168.729"; + rotation = "0 0 -1 6.30264"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-509.701 197.345 150.433"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + stand = "3551"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-407.124 377.902 183.776"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-447.772 377.216 183.771"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-427.449 387.064 184.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-35.9202 -34.8907 216.742"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-32.0841 -31.6325 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-32.7563 -30.9705 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-36.357 -35.9548 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-37.0292 -35.2928 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "304.398 303.957 174.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/growl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "75"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "550.254 -433.469 108.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-34.0334 -33.2358 232.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-431.725 558.013 100.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-525.9 -285.447 107.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "86.6119 -168.256 102.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "557.102 7.36847 106.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-24.385 -869.465 107.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "94.3683 201.35 105.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new TSStatic() { + position = "-396.858 76.8633 122.342"; + rotation = "0.233516 -0.240564 0.942125 19.4504"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-586.455 -32.9101 127.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468.597 -47.1803 138.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-254.798 196.591 120.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.7517 311.548 103.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "102.468 47.0556 114.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "117.443 13.7092 112.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "278.676 -204.552 145.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "227.683 -386.255 147.172"; + rotation = "-0.831159 0.552972 0.0582764 14.4529"; + scale = "1.1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92.7454 -408.944 116.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-42.6203 -562.432 123.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "319.43 -658.189 150.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "11.6502 -368.213 126.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-143.679 -156.815 109.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.796 -164.209 124.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-174.39 -110.495 111.715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-4.3545 -200.973 114.542"; + rotation = "1 0 0 25.7831"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-98.6385 -49.5633 112.047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-467.374 296.251 162.64"; + rotation = "-0.986356 0.163961 -0.0147965 10.4552"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-571.141 365.995 201.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-657.298 241.223 101.259"; + rotation = "-0.732038 -0.679596 -0.0476496 10.9423"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-635.972 196.572 77.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg12.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-489.61 88.1994 106.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-489.248 89.7655 108.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "388.48 367.69 162.761"; + rotation = "-0.754927 0.653965 -0.0491395 11.3683"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "355.633 393.844 162.478"; + rotation = "-0.831978 0.554559 0.0166418 4.13147"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "300.444 303.211 169.382"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "-168 24 49.0147"; + rotation = "1 0 0 0"; + scale = "2048 2048 52.1746"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + textureSize = "32 32"; + params0 = "0.32 -0.67 0.066 0.5"; + params1 = "0.63 -2.41 0.33 0.21"; + seedPoints = "0 0 1 0 1 1 0 1"; + floodFill = "1"; + locked = "true"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Stonehenge_nef.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Stonehenge_nef.mis new file mode 100644 index 00000000..bddb20f8 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Stonehenge_nef.mis @@ -0,0 +1,1548 @@ +// DisplayName = Stonehenge +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Blood Eagle and Diamond Sword battle one another at close quarters. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-616 -800 720 1264"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.520000 0.520000 0.520000 1.000000"; + fogDistance = "100"; + fogColor = "0.520000 0.520000 0.520000 1.000000"; + fogVolume1 = "650 0 200"; + fogVolume2 = "800 200 300"; + fogVolume3 = "0 0 0"; + materialList = "lush_dusk.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 107 1.07457e-38"; + high_fogVolume2 = "-1 9.69184e-34 8.26766e-44"; + high_fogVolume3 = "-1 0 3.2509e-38"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.650000 0.680000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Sun() { + position = "-7.65436 29.3593 -34.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Stonehenge_nef.ter"; + squareSize = "8"; + emptySquares = "0"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Stonehenge_nef.nav"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BEPlant1) { + + + new TSStatic() { + position = "-420 -452 212.6"; + rotation = "0.157802 0.0246718 0.987163 237.374"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -1196 145.334"; + rotation = "0.782248 0.0633289 0.61974 30.2214"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -324 83.6"; + rotation = "0.0349446 -0.227912 0.973054 216.068"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 436 196.819"; + rotation = "0.345433 -0.180589 -0.920904 74.4954"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -1284 210.397"; + rotation = "-0.0388496 -0.139125 0.989513 223.582"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -924 181.475"; + rotation = "0.74335 -0.0466178 0.667276 29.604"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -996 192.147"; + rotation = "0.234347 0.0919127 0.967798 196.46"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -1116 181.928"; + rotation = "0.427919 -0.178998 -0.885915 61.9431"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -564 242.834"; + rotation = "-0.0240997 0.234194 -0.971891 113.506"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -884 176.444"; + rotation = "0.155282 0.183932 -0.970596 81.6883"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -996 212.194"; + rotation = "-0.0341384 0.575948 -0.816773 27.9746"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -556 189.116"; + rotation = "-0.204638 -0.0226176 0.978576 74.19"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -652 243.428"; + rotation = "0.0125208 -0.180659 0.983466 51.7462"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -236 281.787"; + rotation = "-0.14061 0.169516 0.975445 226.95"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 276 270.038"; + rotation = "-0.24489 0.144667 -0.958697 35.3754"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -732 155.116"; + rotation = "0.163703 -0.0269342 0.986142 80.7882"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 340 297.647"; + rotation = "0.0229803 0.281771 -0.959206 118.125"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -572 240.116"; + rotation = "-0.647255 0.762274 9.93427e-06 25.3561"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 36 83.6781"; + rotation = "-0.13634 -0.069173 -0.988244 117.602"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 372 201.631"; + rotation = "0.150186 0.124972 0.980727 200.604"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -988 205.038"; + rotation = "0.0756881 0.274848 0.958504 34.3462"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -1188 174.678"; + rotation = "-0.0371732 0.117899 0.99233 125.36"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 100 164.303"; + rotation = "0.359859 -0.116815 -0.925665 33.3561"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 180 242.522"; + rotation = "0.237012 0.16286 0.957759 107.375"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1188 -68 171.553"; + rotation = "0.104403 -0.233341 0.966774 70.8182"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1228 -76 169.897"; + rotation = "-0.478329 0.00440113 -0.87817 47.2219"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -1076 181.397"; + rotation = "-0.151796 -0.281647 0.947435 62.7148"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -396 209.85"; + rotation = "0.0429078 0.00236508 -0.999076 71.0502"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 692 257.006"; + rotation = "0.2091 0.0977605 -0.972995 89.5676"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -508 198.163"; + rotation = "-0.0913206 -0.39729 0.913138 33.7876"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -900 193.741"; + rotation = "-0.172211 0.0575155 -0.98338 34.5409"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -1196 149.116"; + rotation = "0.105062 -0.414917 0.903773 58.8267"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -1140 197.553"; + rotation = "0.0219609 0.47998 0.877005 19.3419"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -812 174.991"; + rotation = "-0.0547983 -0.217969 0.974416 225.924"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 268 81.1312"; + rotation = "-0.109726 -0.0198273 0.993764 132.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -772 146.397"; + rotation = "-0.0719837 0.250632 0.965402 95.0126"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1220 -980 190.819"; + rotation = "-0.446217 -0.173871 0.877872 21.5849"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -636 173.069"; + rotation = "-0.011205 -0.207286 -0.978216 91.2618"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 -1180 241.897"; + rotation = "-0.0357533 0.157542 0.986865 154.33"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -1036 185.037"; + rotation = "0.108319 0.231114 0.966878 205.167"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1156 -396 162.522"; + rotation = "0.0808992 -0.0970829 -0.991983 96.4586"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -1156 110.522"; + rotation = "0.064278 -0.0175047 0.997778 68.1178"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 468 197.1"; + rotation = "-0.212503 -0.14336 0.966587 70.829"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 556 145.678"; + rotation = "-0.0384027 0.271171 0.961765 117.99"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 580 220.662"; + rotation = "0.325285 0.109337 -0.939274 72.3869"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 724 194.022"; + rotation = "0.0170151 -0.22349 0.974558 204.383"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 708 171.413"; + rotation = "-0.0574977 0.246303 0.967486 93.8912"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1212 732 286.131"; + rotation = "-0.178555 0.123535 0.976144 201.488"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1204 -564 230.241"; + rotation = "-0.12396 0.111479 0.986005 124.667"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 428 209.913"; + rotation = "-0.159414 -0.337539 0.927715 39.6653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant5) { + + + new TSStatic() { + position = "-348 -388 273.017"; + rotation = "0.459994 0.402652 -0.791376 34.9749"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-291.972 -83.9854 242.097"; + rotation = "-0.0750568 0.052783 0.995781 54.1962"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 132 262.549"; + rotation = "0.426287 -0.566626 0.705134 28.0791"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 44 176.455"; + rotation = "0.222412 0.0334733 -0.974378 84.4786"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -100 253.361"; + rotation = "0.171212 0.234462 0.956929 119.225"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 124 159.377"; + rotation = "0.15098 -0.0113431 0.988472 170.115"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -156 221.752"; + rotation = "-0.106907 -0.102573 0.988964 124.525"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -124 159.142"; + rotation = "-0.183267 0.779412 -0.599107 34.3794"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -52 207.767"; + rotation = "0.246928 0.241346 0.938498 61.1352"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -324 250.845"; + rotation = "-0.0223829 0.254575 0.966794 171.298"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -332 188.283"; + rotation = "0.115069 -0.0493373 0.992131 82.4486"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 4 187.095"; + rotation = "-0.265405 0.462726 0.84584 39.745"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 124 157.345"; + rotation = "-0.0112826 0.583423 -0.81209 37.7098"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 44 266.408"; + rotation = "0.0534719 -0.105452 0.992986 230.687"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -508 191.877"; + rotation = "0.179059 -0.110069 0.977662 168.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -28 257.674"; + rotation = "-0.133094 -0.0971992 0.986326 129.61"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -500 269.533"; + rotation = "0.0584764 0.119672 0.99109 141.321"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -564 196.845"; + rotation = "0.0170505 0.0575948 0.998194 78.1015"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300.046 -92.0244 243.399"; + rotation = "0.0926805 0.124321 0.987904 230.46"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -300 238.736"; + rotation = "0.0876534 0.327129 0.940906 63.0678"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 156 198.142"; + rotation = "-0.575448 -0.659234 0.484015 32.3829"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -340 215.033"; + rotation = "0.063571 -0.0971338 -0.993239 110.365"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 196 194.08"; + rotation = "0.132239 -0.159534 -0.978295 99.2431"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -308 226.861"; + rotation = "-0.309793 0.0750986 -0.947834 86.0554"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -420 228.439"; + rotation = "0.0405069 -0.166726 0.985171 89.8558"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -244 278.377"; + rotation = "0.0797222 0.220707 0.972077 213.103"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -484 206.861"; + rotation = "0.0369194 0.189577 0.981171 161.351"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -140 242.689"; + rotation = "-0.0286854 0.0562031 0.998007 101.112"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -100 220.002"; + rotation = "-0.124114 0.125319 0.984323 212.51"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -140 252.502"; + rotation = "0.0856221 -0.0194645 0.996137 129.172"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -196 268.533"; + rotation = "-0.193507 -0.273939 0.942079 55.7788"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 108 259.314"; + rotation = "0.122627 0.304065 -0.944726 92.2571"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -508 271.486"; + rotation = "0.600167 -0.0090163 -0.799824 17.4552"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -68 161.205"; + rotation = "0.553183 0.249892 -0.794697 23.7828"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 36 263.502"; + rotation = "-0.220423 -0.0972801 0.970541 114.567"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252.001 -331.995 231.669"; + rotation = "-0.143908 0.215514 0.965839 231.426"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -364 220.97"; + rotation = "-0.219444 -0.12916 0.967038 227.566"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -228 265.267"; + rotation = "-0.206568 -0.00898692 0.978391 85.2464"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -340 236.189"; + rotation = "0.516892 -0.122113 -0.847296 53.2197"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -468 217.564"; + rotation = "0.117218 -0.0287191 0.992691 226.694"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 116 160.127"; + rotation = "-0.0307647 -0.213538 -0.97645 102.337"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -12 227.955"; + rotation = "-0.25699 -0.12858 -0.957822 111.317"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -60 156.361"; + rotation = "0.214392 0.369106 0.904321 49.2191"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 132 245.002"; + rotation = "0.139914 -0.0565835 0.988546 80.6507"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -492 209.017"; + rotation = "0.294558 -0.0183747 0.955457 37.563"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -20 188.752"; + rotation = "0.0721596 0.263584 -0.961934 63.9811"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -476 205.127"; + rotation = "0.30191 0.355116 0.884728 43.6282"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -188 153.33"; + rotation = "0.109385 0.0182621 0.993832 224.75"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -20 260.689"; + rotation = "0.154024 -0.154196 0.975961 211.269"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 -204 265.314"; + rotation = "-0.0175707 0.274211 0.961509 125.844"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-231.046 157.459 275.245"; + rotation = "0 0 1 187.93"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-274.236 -377.613 289.89"; + rotation = "0.00939388 -0.0499769 0.998706 158.736"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-224.095 85.9978 273.514"; + rotation = "0.4669 0.0970781 -0.878966 26.6175"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-267.724 -455.853 291.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-263.277 -357.296 253.922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "70"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-265.751 -424.953 310.561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-370.762 -358.368 258.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-183.235 -434.272 270.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-266.116 -420.688 279.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-262.818 -351.176 256.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-201.872 -282.001 229.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-260.181 -418.707 303.296"; + rotation = "0 0 1 90"; + scale = "0.879995 0.88158 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-266.035 -424.608 287.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "-264.397 -386.671 293.818"; + rotation = "0 0 1 0.688699"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-179.383 -262.605 259.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-254.27 -396.95 284.819"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-253.737 -381.427 284.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-277.379 -396.827 284.815"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-270.778 -207.042 309.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "-266.031 -424.624 299.385"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-261.093 -375.111 285.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-235.209 56.2366 243.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "70"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-232.539 133.468 295.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-330.719 76.4078 284.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-152.112 123.088 255.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-184.84 -26.4323 213.682"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-235.691 58.2761 240.592"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-232.393 127.788 263.092"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-238.337 125.803 287.061"; + rotation = "0 0 -1 90"; + scale = "0.879995 0.88158 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-233.713 93.5954 277.582"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-232.377 131.943 271.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "-174.458 -45.7712 243.673"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-244.136 104.027 268.564"; + rotation = "-0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-244.542 88.4934 268.586"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-221.1 103.754 268.576"; + rotation = "0 0 1 90.0456"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-271.387 -100.483 309.372"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "-232.564 131.798 283.137"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-237.398 82.2952 268.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-274.727 -111.78 269.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter() { + position = "-181.351 9.15497 201.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-259.975 -299.322 218.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-124.385 -298.592 189.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-643.034 -429.199 190.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Lightning() { + position = "-274.935 -143.111 353.049"; + rotation = "1 0 0 0"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "12"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-270.646 -148.906 353.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.9"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/SubZero.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/SubZero.mis new file mode 100644 index 00000000..f1bc0127 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/SubZero.mis @@ -0,0 +1,1347 @@ +// DisplayName = Sub-zero +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Death comes to all, but great achievements build a monument which shall endure until the sun grows cold. +// -- Ralph Waldo Emerson +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]700 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "5"; + musicTrack = "ice"; + CTF_scoreLimit = "7"; + + new MissionArea(MissionArea) { + area = "-600 -16 1296 736"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.650000 0.650000 0.700000 1.000000"; + fogDistance = "200"; + fogColor = "0.650000 0.650000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "750"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.000908453 -0.181195"; + high_fogVolume2 = "-1 7.50025e-05 -0.183703"; + high_fogVolume3 = "-1 0.000507861 -0.187695"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "SubZero.ter"; + squareSize = "8"; + emptySquares = "368822 434613 369232 434869 435023 435125 435279 435381 435535 370102 435791 239442 371638 437430 372048 437686 437840 437942 438096 372662 438352 438608 373328"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + GraphFile = "SubZero.nav"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "513.11 351.311 180.24"; + rotation = "0.101534 0.145745 -0.984098 111.133"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-426.222 392.024 181.256"; + rotation = "0.0415484 -0.097151 0.994402 133.922"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "451.048 303.29 131.657"; + rotation = "0.983095 -0.0118344 0.182714 7.53882"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-362.623 317.797 136.12"; + rotation = "0.992763 -0.0119508 0.119494 11.5052"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "451.175 323.362 160.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new Item() { + position = "451.175 323.362 160.254"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "344.747 391.266 165.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "451.158 323.371 153.727"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk_nef1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "345.388 391.297 191.217"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "442.433 379.478 153.71"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "443.22 374.652 137.723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "435.198 326.609 123.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "467.123 322.141 123.722"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "459.119 273.144 137.724"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "459.914 268.318 153.701"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "429.365 279.874 161.711"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "Door"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "468.934 281.673 137.709"; + rotation = "0 0 1 80.2143"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "467.428 276.249 137.704"; + rotation = "0 0 1 112.3"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "466.825 279.521 138.769"; + rotation = "-0.261891 0.0115846 0.965028 184.889"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468.834 281.739 139.54"; + rotation = "0 0 1 202.827"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436.146 363.685 137.69"; + rotation = "0 0 -1 24.6372"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "434.319 367.542 137.707"; + rotation = "0 0 -1 73.9116"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.204 370.66 137.712"; + rotation = "0 0 1 8.02137"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.275 370.655 138.703"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "433.965 370.618 138.692"; + rotation = "0 0 1 80.2141"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "433.958 370.689 137.701"; + rotation = "0 0 1 88.2355"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "451.168 323.361 159.641"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.807 279.892 171.722"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "457.586 367.898 171.698"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "Roof"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-363.059 339.721 164.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new Item() { + position = "-363.059 339.721 164.356"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-363.066 339.725 157.826"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk_nef1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-277.687 246.588 169.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-372.004 395.802 157.807"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-370.982 391.158 141.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-378.93 342.69 127.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-347.21 338.638 127.821"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-355.152 289.181 141.783"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-354.292 284.682 157.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-278.296 246.592 195.706"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "-346.043 299.73 141.808"; + rotation = "0 0 1 70.4741"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-346.609 294.13 141.803"; + rotation = "0 0 1 102.56"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-347.757 297.252 142.868"; + rotation = "-0.261894 -0.0106897 0.965037 175.489"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-346.152 299.779 143.639"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-377.175 380.502 141.787"; + rotation = "0 0 -1 24.6372"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.002 384.359 141.804"; + rotation = "0 0 -1 73.9116"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-378.117 387.477 141.809"; + rotation = "0 0 1 8.02137"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-378.046 387.472 142.8"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.356 387.435 142.789"; + rotation = "0 0 1 80.2141"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.363 387.506 141.798"; + rotation = "0 0 1 88.2355"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new Turret() { + position = "-341.539 384.116 165.804"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Door"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-363.056 339.715 163.749"; + rotation = "0 0 -1 21.7724"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-357.648 384.216 175.809"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-369.491 296.225 175.804"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Roof"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new Item() { + position = "451.109 272.866 137.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-363.098 289.235 142.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "451.182 374.865 138.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-363.012 391.245 142.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new SimGroup(MISC) { + + + new InteriorInstance() { + position = "212.526 566.549 97.946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-550.148 372.913 109.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "676.102 404.853 97.552"; + rotation = "0 0 1 138.083"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "169.466 380.318 82.2017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "40.0381 241.757 151.541"; + rotation = "0 0 -1 38.3882"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "-3.88782 219.531 177.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "42.2429 247.658 145.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/growl3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "643.878 401.838 109.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-496.892 386.757 107.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-263.51 -111.145 262.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "513.107 -64.0063 230.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1SWTree20) { + + + new TSStatic() { + position = "100 228 163.719"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 12 158.094"; + rotation = "0 0 -1 63.0001"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -100 136.75"; + rotation = "0 0 -1 17.9998"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -60 201.703"; + rotation = "0 0 1 76.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 292 161.047"; + rotation = "0 0 1 125"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 292 169.375"; + rotation = "0 0 1 192"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 268 166.156"; + rotation = "0 0 1 122"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 380 176.203"; + rotation = "0 0 1 72.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 228 179.797"; + rotation = "0 0 1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 588 239.172"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 572 233.469"; + rotation = "0 0 -1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 508 130.594"; + rotation = "0 0 1 99.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 212 129.234"; + rotation = "0 0 1 219"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 92 133.578"; + rotation = "0 0 -1 79"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 524 226.828"; + rotation = "0 0 1 211"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -52 134.828"; + rotation = "0 0 1 132"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 476 182.359"; + rotation = "0 0 1 125"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 564 164.313"; + rotation = "0 0 1 45"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -92 197.031"; + rotation = "0 0 1 73.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 572 164.281"; + rotation = "0 0 -1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 532 230.578"; + rotation = "0 0 1 215"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 588 165.687"; + rotation = "0 0 1 142"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 364 164.016"; + rotation = "0 0 -1 11.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 100 171.219"; + rotation = "0 0 -1 53.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 220 112.281"; + rotation = "0 0 -1 97"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWShrub21) { + + + new TSStatic() { + position = "-164 444 213.031"; + rotation = "0 0 -1 108.999"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 172 130.375"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 580 197.984"; + rotation = "0 0 1 229"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 564 187.828"; + rotation = "0 0 1 200"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -84 132.437"; + rotation = "0 0 1 167"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 356 157.969"; + rotation = "0 0 1 111"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 396 178.469"; + rotation = "0 0 1 193"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 316 166.703"; + rotation = "0 0 1 151"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 436 194.266"; + rotation = "0 0 -1 94"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -100 193.313"; + rotation = "0 0 1 2.99997"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -44 147.75"; + rotation = "0 0 1 183"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 292 149.766"; + rotation = "0 0 1 170"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -108 192.297"; + rotation = "0 0 1 58.9998"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 116 173.172"; + rotation = "0 0 1 127"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 580 195.203"; + rotation = "0 0 1 103"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 516 186.734"; + rotation = "0 0 1 47"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 364 88.9531"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 276 164.281"; + rotation = "0 0 -1 47.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 460 185"; + rotation = "0 0 -1 26.9998"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 580 195.047"; + rotation = "0 0 -1 90.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 132 173.984"; + rotation = "0 0 1 88.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 132 115.016"; + rotation = "0 0 1 81.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 284 166.875"; + rotation = "0 0 1 223"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 20 155.531"; + rotation = "0 0 1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 596 189.766"; + rotation = "0 0 1 97"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Surreal.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Surreal.mis new file mode 100644 index 00000000..778850e5 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Surreal.mis @@ -0,0 +1,1235 @@ +// DisplayName = Surreal +// MissionTypes = Bounty CTF DM + +//--- MISSION QUOTE BEGIN --- +//Do not go gentle into that good night, +//Rage, rage against the dying of the light. +// -- Dylan Thomas +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Bounty DM]Mission follows standard Rules of Engagement +//[CTF]600 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + cdTrack = "3"; + musicTrack = "volcanic"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-584 -712 1312 1280"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new WaterBlock() { + position = "-576 224 228.142"; + rotation = "1 0 0 0"; + scale = "352 320 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0004"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "530"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.600000 0.750000 1.000000"; + fogDistance = "450"; + fogColor = "0.500000 0.600000 0.750000 1.000000"; + fogVolume1 = "300 0 200"; + fogVolume2 = "650 200 270"; + fogVolume3 = "900 270 350"; + materialList = "nef_Surreal1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -520175634523126950000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "775"; + high_fogDistance = "600"; + high_fogVolume1 = "-1 4.42539e-39 1.07618e-38"; + high_fogVolume2 = "-1 1.31225e-36 8.96831e-44"; + high_fogVolume3 = "-1 0 3.24613e-38"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "269.924 173.224 302.44"; + rotation = "0.458755 -0.137709 0.877827 37.7571"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-175.099 -277.416 319.813"; + rotation = "-0.138946 -0.267311 0.95354 232.73"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "Surreal.ter"; + squareSize = "8"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Surreal.nav"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(Base0) { + + providesPower = "1"; + + new StaticShape() { + position = "-350.234 -642.751 266"; + rotation = "0 0 1 159.283"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-487.095 -363.131 335.163"; + rotation = "0 0 -1 92.4284"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-365.272 -637.212 266.015"; + rotation = "0 0 1 227.464"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-356.906 -640.797 277.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-340.237 -621.493 280.009"; + rotation = "0 0 1 199.39"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-104.101 -237.966 184.966"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-104.101 -237.966 195.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "-104.53 -238.458 194.943"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-399.022 -454.723 354.462"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-399.022 -454.723 364.715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape() { + position = "-399.243 -454.766 364.369"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-510.545 -361.751 321.154"; + rotation = "0 0 1 227.465"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-510.992 -345.733 321.169"; + rotation = "-0 0 -1 64.3544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-511.377 -353.543 333.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Turret() { + position = "-251.314 -161.828 255.017"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-250.856 -161.389 245.04"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-250.856 -161.389 255.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "24.4432 -361.599 192.947"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "24.9509 -361.212 182.97"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "24.9509 -361.212 193.223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new WayPoint() { + position = "-355.473 -633.747 265.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new WayPoint() { + position = "-505.69 -352.649 320.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-340.237 -621.493 280.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-487.095 -363.131 335.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-373.843 -471.966 318.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "353.089 471.24 335.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "582.987 350.215 287.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "421.764 339.722 314.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + }; + new SimGroup(FlagControlled) { + + providesPower = "1"; + + new InteriorInstance() { + position = "319.218 219.168 243.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-247.027 -324.065 242.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Item() { + position = "-247.027 -324.065 242.661"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + cutPower = "1"; + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(Base1) { + + providesPower = "1"; + + new InteriorInstance() { + position = "582.987 350.215 287.992"; + rotation = "0 0 1 65.3173"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "353.089 471.24 335.614"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "232.335 98.4109 195.016"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "611.694 343.163 273.998"; + rotation = "0 0 1 93.3917"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "374.534 491.586 321.62"; + rotation = "0 0 1 36.0964"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "358.7 494.052 321.605"; + rotation = "-0 0 -1 32.0858"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "232.199 97.7854 185.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "232.199 97.7854 195.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape() { + position = "444.164 394.122 366.36"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "444.152 393.985 356.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "444.152 393.985 366.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape() { + position = "605.214 357.82 273.983"; + rotation = "0 0 1 25.2101"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "608.872 350.64 285.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Item() { + position = "366.389 493.317 333.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "365.156 -14.9504 183.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "365.156 -14.9504 193.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "365.292 -14.325 193.074"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "151.158 239.968 242.944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "151.158 239.968 253.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "151.294 240.593 252.931"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new WayPoint() { + position = "602.1 346.968 273.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new WayPoint() { + position = "365.995 486.171 320.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "353.089 471.24 335.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new SpawnSphere() { + position = "582.987 350.215 287.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new SpawnSphere() { + position = "422.764 332.922 322.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(FlagControlled) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-251.046 -336.057 243.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "323.228 231.044 242.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Item() { + position = "323.228 231.044 242.878"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + cutPower = "1"; + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "551.325 -603.709 89.3798"; + rotation = "0.225704 0.622079 -0.749717 118.609"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new WaterBlock() { + position = "208 -792 -22.56"; + rotation = "1 0 0 0"; + scale = "576 608 109.257"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Sun() { + position = "-937.796 -1463.9 43.5189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new SimGroup(Ambience) { + + + new AudioEmitter() { + position = "-379.193 371.956 313.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "90"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "116.124 199.686 198.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "431.154 533.786 307.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "597.286 -619.588 117.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "110"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "209.369 -70.2714 153.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "860 -188 179.359"; + rotation = "0 0 -1 19.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 12 227.656"; + rotation = "0 0 1 160"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 412 272.672"; + rotation = "0 0 -1 47.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 140 172.781"; + rotation = "0 0 -1 44.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -260 167.984"; + rotation = "0 0 1 236"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 164 180.766"; + rotation = "0 0 -1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -420 243.812"; + rotation = "0 0 1 32"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 -660 302.656"; + rotation = "0 0 1 73.9998"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 212 269.219"; + rotation = "0 0 1 232"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -388 174.469"; + rotation = "0 0 1 75.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 548 305.094"; + rotation = "0 0 -1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 -332 160.219"; + rotation = "0 0 1 150"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 652 319.156"; + rotation = "0 0 -1 19.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -276 184.109"; + rotation = "0 0 1 73"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "327.397 -819.01 164.56"; + rotation = "0 0 1 105"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(dead_trees) { + + + new TSStatic() { + position = "89.3093 -220.476 142.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "217 -258.223 134.558"; + rotation = "1 0 0 0"; + scale = "1.25704 1.87137 1.59168"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "272.307 -383.755 148.446"; + rotation = "1 0 0 13.7511"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "662.788 -499.977 86.8993"; + rotation = "-1 0 0 10.8863"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-195.166 290.888 375.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-377.897 203.666 396.499"; + rotation = "-1 0 0 21.1995"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/Titan.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/Titan.mis new file mode 100644 index 00000000..a952fa11 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/Titan.mis @@ -0,0 +1,2008 @@ +// DisplayName = Titan +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Where talent is a dwarf, self-esteem is a giant. +// -- J. Petit-Senn +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//No vehicle stations +//Map by z0dd (assisted: Akira, CleverClothe, Nefilim) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + powerCount = "0"; + CTF_scoreLimit = "6"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-704 -472 1504 1376"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.710000 0.710000 0.710000 1.000000"; + fogDistance = "350"; + fogColor = "0.710000 0.710000 0.710000 1.000000"; + fogVolume1 = "150 0 50"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 255.000000 128.000000 0.000000"; + fogVolumeColor2 = "0.000000 0.000000 0.000000 0.000000"; + fogVolumeColor3 = "0.000000 0.000000 0.000000 0.000000"; + high_visibleDistance = "575"; + high_fogDistance = "450"; + high_fogVolume1 = "250 0 75"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Titan.ter"; + squareSize = "8"; + emptySquares = "104569 104595 170324 104825 104851 104887 301651 105081 105107 236214 170836 105337 105363 236470"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + GraphFile = "Titan.nav"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "515.891 174.074 165.989"; + rotation = "0.236077 0.159882 -0.958491 70.4883"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-408.591 190.441 169.408"; + rotation = "0.305418 -0.251493 0.918407 83.7585"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "444.265 210.821 105.678"; + rotation = "0.209539 -0.155723 0.965321 75.183"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-341.202 210.797 104.387"; + rotation = "0.115987 0.0926002 -0.988925 77.8284"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-343.004 314.62 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-343.004 114.62 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + + new SimGroup(Tower_l) { + + + new StaticShape() { + position = "-342.882 312.624 173.124"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-350.782 312.63 158.242"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-335.198 312.611 146.33"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-342.935 302.619 152.561"; + rotation = "-1.13851e-08 -0.260461 0.965484 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-343.004 314.62 127.542"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-334.991 312.611 140.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(flag_base) { + + + new InteriorInstance() { + position = "-343.002 212.534 109.269"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bbase_ccb2a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-343.01 212.632 118.785"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(tower_r) { + + + new InteriorInstance() { + position = "-343.004 114.62 127.542"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-342.872 112.624 173.124"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-350.835 112.623 158.272"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-335.235 112.603 146.334"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-342.979 122.629 152.561"; + rotation = "0.999894 0.00379549 -0.0140676 30.1985"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-335.001 112.618 140.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Walls) { + + + new InteriorInstance() { + position = "-295.259 229.97 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.258 220.722 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.258 188.726 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-326.257 164.485 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-335.505 164.485 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-367.502 164.485 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-351.502 260.968 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-319.505 260.969 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-391.748 195.485 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-391.748 204.719 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-391.748 236.717 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-360.748 260.967 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "-355.364 212.514 101.235"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "444.791 110.719 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "445.473 310.718 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base2) { + + + new SimGroup(flag_base) { + + + new InteriorInstance() { + position = "445.627 212.645 109.269"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bbase_ccb2a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "445.627 212.708 118.764"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(Tower_l) { + + + new Item() { + position = "437.775 112.715 140.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "445.791 110.719 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "445.703 122.719 152.56"; + rotation = "0.999995 0.000796415 -0.0029516 30.1952"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "438.033 112.716 146.333"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "453.592 112.721 158.273"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.666 112.724 173.127"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Walls) { + + + new InteriorInstance() { + position = "463.45 164.4 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "494.449 188.647 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "494.446 220.644 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "494.446 229.892 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "470.197 260.892 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "438.198 260.891 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "428.953 260.891 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "397.953 236.641 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "397.953 204.642 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "397.953 195.401 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "422.201 164.401 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "454.201 164.4 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(tower_r) { + + + new Item() { + position = "437.466 312.708 140.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "445.461 302.711 152.56"; + rotation = "0.00119603 -0.260468 0.965482 179.492"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "437.728 312.723 146.343"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "453.254 312.728 158.279"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.337 312.719 173.128"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "445.473 310.718 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "457.951 212.646 101.228"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Neutral) { + + + new InteriorInstance() { + position = "30.596 212.62 15.039"; + rotation = "0 0 1 90"; + scale = "1 1.27 1"; + interiorFile = "t_bmisc_tunl_ccb1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "129.661 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "91.561 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "10.281 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "50.931 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-27.839 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "106.063 8.97301 170.272"; + rotation = "0 0 1 237.96"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "21.217 369.285 169.172"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "104.355 7.89803 171.492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "22.1189 369.722 170.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "-154.035 701.115 98.8816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "872.708 653.718 34.5472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "283.128 -467.935 36.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-265.314 -706.895 118.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-784.917 103.399 105.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "141.989 208.854 20.5929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "35.9821 209.314 19.9535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-49.2331 208.9 18.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition2BEPlant1) { + + + new TSStatic() { + position = "220 -476 19.4751"; + rotation = "-0.0619354 -0.469834 -0.880579 46.0111"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 364 84.6469"; + rotation = "0.107857 -0.166852 0.980065 158.428"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 36 60.2876"; + rotation = "-0.0420833 0.139405 -0.989341 109.579"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 28 59.6626"; + rotation = "0.010354 -0.011007 0.999886 187"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -28 87.2096"; + rotation = "0.137937 0.0032154 0.990436 100.542"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 268 21.1157"; + rotation = "-0.212585 0.0588196 -0.975371 43.9836"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 -220 41.1626"; + rotation = "0.0421622 0.108361 0.993217 152.183"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -84 51.0221"; + rotation = "-0.218229 -0.0862698 0.972077 40.0324"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 612 107.225"; + rotation = "0.281003 0.111516 0.953206 78.6786"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -356 15.272"; + rotation = "0.101492 0.243842 -0.96449 37.2353"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 132 109.006"; + rotation = "-0.0822154 0.00890967 0.996575 86.1958"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -4 62.0845"; + rotation = "-0.0504487 0.093975 0.994296 123.274"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 892 58.9283"; + rotation = "0.103194 -0.142236 -0.984439 75.8694"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -540 109.663"; + rotation = "0.0655961 -0.0197932 0.99765 158.05"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 1068 81.022"; + rotation = "0.0117686 -0.045284 0.998905 175.006"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 108 112.569"; + rotation = "0.130642 0.0951836 0.98685 165.195"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 628 38.8657"; + rotation = "0.0679809 -0.116834 -0.990822 71.5005"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 108 6.25638"; + rotation = "-0.770669 -0.0888065 0.631017 15.7871"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -572 170.834"; + rotation = "-0.120277 0.100319 0.987659 149.364"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -212 53.6939"; + rotation = "-0.00151716 0.0027444 0.999995 201"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 924 119.866"; + rotation = "0.0570432 0.0675137 0.996086 91.2246"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -596 107.1"; + rotation = "-0.191423 -0.531619 0.825069 33.6286"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -428 77.4282"; + rotation = "-0.140459 -0.150112 -0.978641 116.116"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -668 52.4907"; + rotation = "-0.206892 -0.0125599 0.978283 116.135"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 508 130.194"; + rotation = "-0.04678 -0.195645 0.979558 111.108"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -36 37.2095"; + rotation = "-0.412201 -0.150072 0.898648 41.9298"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -628 21.772"; + rotation = "-0.135054 -0.334087 -0.932816 23.5419"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -588 172.584"; + rotation = "-0.186757 -0.0787747 0.979243 239.954"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 1044 33.1782"; + rotation = "0.260129 -0.0787291 -0.962359 99.1761"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 188 16.022"; + rotation = "0.0742071 0.210448 0.974785 29.7173"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 1084 40.8813"; + rotation = "0.0197627 0.205347 -0.97849 63.1056"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 1020 37.9439"; + rotation = "-0.29285 0.621186 0.726889 29.9427"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 364 82.5377"; + rotation = "-0.0380199 0.0657915 0.997109 139.109"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 1036 67.4751"; + rotation = "-0.00469803 -0.00563678 0.999973 212.999"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -172 48.8345"; + rotation = "-0.0165448 0.0560557 0.998291 151.048"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -596 74.3032"; + rotation = "0.052264 -0.0828748 0.995189 121.237"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 788 107.506"; + rotation = "0.184802 0.0937937 -0.97829 87.2558"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 20 69.1782"; + rotation = "0.294869 0.143488 -0.944703 45.2693"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 1076 38.8657"; + rotation = "-0.0596132 0.113072 0.991797 195.871"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -484 102.256"; + rotation = "-0.0554243 -0.0758691 0.995576 156.103"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant5) { + + + new TSStatic() { + position = "-84 940 41.0626"; + rotation = "0.145161 0.224507 0.9636 47.5479"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 268 167.375"; + rotation = "-0.129944 0.0563715 -0.989918 69.5428"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 916 119.609"; + rotation = "0.00618828 -0.0134854 0.99989 182.999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "251.991 -148.008 16.5135"; + rotation = "-0.22446 0.143075 0.963923 34.1644"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 644 116.938"; + rotation = "0.0333969 -0.0728298 -0.996785 34.1035"; + scale = "2.7 2.7 2.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84.0365 -116.025 175.767"; + rotation = "0.169144 0.119248 -0.978351 41.8295"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 148 139.563"; + rotation = "0.0874888 0.0435482 0.995213 164.076"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 956 40.1563"; + rotation = "-0.0994176 0.024115 0.994754 199.898"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 60 167.25"; + rotation = "-0.023334 -0.00980043 0.99968 113.017"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 1044 36.3282"; + rotation = "-0.0997445 -0.00899458 0.994972 236.758"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -332 115.359"; + rotation = "-0.00512002 0.362882 -0.931821 41.6162"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 604 164.156"; + rotation = "0.0307095 0.147618 0.988568 36.3891"; + scale = "2.6 2.6 2.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -180 47.6094"; + rotation = "0.0378594 -0.0507505 0.997994 123.096"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -452 42.3125"; + rotation = "-0.0276217 0.054789 0.998116 61.0945"; + scale = "2.7 2.7 2.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -212 38.9688"; + rotation = "0.209896 -0.0545199 -0.976202 31.7183"; + scale = "2.9 2.9 2.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -452 42.7187"; + rotation = "0.755597 -0.591989 -0.280398 7.124"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 436 24.0468"; + rotation = "-0.0825084 0.00717972 0.996565 166.048"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 388 59.3594"; + rotation = "0.0137753 0.012002 -0.999833 61.0085"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 636 116.219"; + rotation = "0.0408396 0.0148944 0.999055 149.028"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -452 88.6094"; + rotation = "0.458021 -0.367773 -0.809296 20.9256"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 628 116.516"; + rotation = "0.037596 0.00311729 0.999288 132.03"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -316 24.3438"; + rotation = "-0.0978413 -0.0225715 -0.994946 72.2763"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 500 156.188"; + rotation = "-0.170897 -0.00990428 -0.985239 86.8507"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 284 64.5469"; + rotation = "0.0375894 -0.0166852 0.999154 79.0475"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 532 132.172"; + rotation = "-0.626917 -0.721872 -0.293046 10.2116"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -196 99.9219"; + rotation = "-0.00282076 0.252238 -0.967661 58.5935"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 44 61.9062"; + rotation = "0.0651787 -0.105146 -0.992319 104.429"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -220 62.5782"; + rotation = "-0.112154 -0.0655775 0.991525 45.3459"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -364 14.1875"; + rotation = "-0.0478932 0.0595414 0.997076 70.1575"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 100 172.25"; + rotation = "-0.198685 0.0420952 -0.979159 46.8746"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 972 83.8594"; + rotation = "0.000216615 0.108577 0.994088 217.792"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 924 78.1094"; + rotation = "0.0549848 -0.00244251 0.998484 89.0869"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 1092 39.2344"; + rotation = "-5.13069e-05 0.00588003 -0.999983 89.001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204.091 -67.9863 117.955"; + rotation = "0.100149 -0.11135 0.988722 101.637"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 1004 109.094"; + rotation = "-0.0816891 -0.0509707 -0.995354 109.252"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 1012 67.9688"; + rotation = "0.0753848 0.129974 0.988647 83.6497"; + scale = "3 3 3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -164 109.5"; + rotation = "0.0104555 0.0408091 -0.999112 74.049"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 852 31"; + rotation = "0.0961827 -0.0278696 0.994973 209.856"; + scale = "2.7 2.7 2.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 1132 14.8594"; + rotation = "-0.0465322 -0.0922325 -0.99465 72.2924"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 1028 109.235"; + rotation = "0.0530417 0.0242213 0.998299 226.929"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree16) { + + + new TSStatic() { + position = "580 380 56.0938"; + rotation = "0 0 1 192"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "860 652 23.6093"; + rotation = "0 0 -1 103"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -660 41.1875"; + rotation = "0 0 -1 49.0002"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 4 26.1593"; + rotation = "0 0 1 139"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -556 51.5156"; + rotation = "0 0 -1 100"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 740 106.75"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "50.4952 -216.25 177.953"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "948 -188 71.5781"; + rotation = "0 0 1 76.9998"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -52 147.969"; + rotation = "0 0 1 17"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "971.289 -47.278 109.375"; + rotation = "0 0 -1 53"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BELgTree19) { + + + new TSStatic() { + position = "-660 620 37.1719"; + rotation = "0 0 1 79"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 964 38.5469"; + rotation = "0 0 -1 41"; + scale = "0.5 0.5 0.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 -420 48.4688"; + rotation = "0 0 1 60.0001"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -652 35.4687"; + rotation = "0 0 1 33"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 388 58.3281"; + rotation = "0 0 -1 28.0002"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -220 30.7812"; + rotation = "0 0 1 148"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 52 58.875"; + rotation = "0 0 1 119"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -284 65.8125"; + rotation = "0 0 1 170"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 636 47.7031"; + rotation = "0 0 -1 34.0002"; + scale = "0.5 0.5 0.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "125.922 737.579 175.352"; + rotation = "0 0 1 85.9998"; + scale = "0.5 0.5 0.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6BELgTree18) { + + + new TSStatic() { + position = "-140 660 73.8281"; + rotation = "0 0 1 187"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 -300 22.2031"; + rotation = "0 0 1 197"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 116 88.8282"; + rotation = "0 0 1 198"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -484 10.75"; + rotation = "0 0 1 32"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -692 109.578"; + rotation = "0 0 1 178"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 940 91.6719"; + rotation = "0 0 1 200"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-634.719 -588.854 26.8091"; + rotation = "0 0 1 213"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "523.281 -65.1077 100.148"; + rotation = "0 0 -1 32"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/Classic_maps_v1.vl2/missions/WhiteDwarf.mis b/public/base/@vl2/Classic_maps_v1.vl2/missions/WhiteDwarf.mis new file mode 100644 index 00000000..a12dd55c --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/missions/WhiteDwarf.mis @@ -0,0 +1,1912 @@ +// DisplayName = White Dwarf +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Make it new. +// -- Ezra Pound +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Rilke (assisted: z0dd, Peachskin) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + powerCount = "0"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-952 -760 1904 1520"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.350000 0.650000 0.350000 1.000000"; + ambient = "0.350000 0.550000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "WhiteDwarf.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + GraphFile = "WhiteDwarf.nav"; + scale = "1 1 1"; + coverage = "0"; + }; + new WaterBlock(Water) { + position = "-1024 -1024 28"; + rotation = "1 0 0 0"; + scale = "2048 2048 68.8133"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.6"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "0"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-46.2546 -195.958 122.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "40"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-352.093 -254.12 148.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "40"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-163.182 -337.948 147.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new ForceFieldBare() { + position = "-346.392 -226.142 149.636"; + rotation = "1 0 0 0"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-357.407 -225.76 149.901"; + rotation = "1 0 0 0"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-350.78 -262.203 144.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-351.552 -197.895 150.549"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-338.4 -223.726 150.043"; + rotation = "0 0 1 0.176939"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-357.542 -191.401 154.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-364.653 -223.089 150.08"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-18.5101 -167.877 113.638"; + rotation = "0 0 1 60.7336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-37.6927 -147.328 113.635"; + rotation = "0 0 -1 29.221"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-24.7431 -171.267 120.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new WayPoint() { + position = "-24.7045 -171.459 112.787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new StaticShape() { + position = "-24.6141 -171.345 133.11"; + rotation = "0 0 -1 28.0751"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-351.57 -223.488 179.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-312.138 -223.433 142.031"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-390.798 -223.466 142.033"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-360.135 -214.826 142.527"; + rotation = "0 0 -1 44.1177"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-342.948 -214.84 142.527"; + rotation = "0 0 1 43.5447"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-350.751 -262.114 141.998"; + rotation = "0 0 -1 31.5127"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new Item() { + position = "-5.40675 -179.138 112.127"; + rotation = "0 0 1 50.9933"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-18.9144 -195.446 125.649"; + rotation = "0 0 -1 28.6479"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-369.167 -110.043 97.4899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-358.943 -93.5804 99.2295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-46.2681 -101.174 129.611"; + rotation = "0 0 1 205.874"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-29.893 -91.0596 127.871"; + rotation = "0 0 1 205.874"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-10.9054 -195.627 115.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-135.117 424.33 165.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "40"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "164.786 494.481 146.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "40"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-54.0212 578.082 171.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new ForceFieldBare() { + position = "159.572 466.972 145.793"; + rotation = "0 0 1 179.909"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "170.587 466.607 146.058"; + rotation = "0 0 1 179.909"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-162.11 403.852 154.895"; + rotation = "0 0 1 148.969"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "191.289 357.107 97.5989"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-162.029 403.715 142.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "181.029 340.791 99.3385"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-155.94 407.257 135.406"; + rotation = "0 0 1 60.7336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-155.506 379.743 147.424"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "165.068 503.742 139.276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "164.776 438.735 146.717"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "164.704 464.342 175.18"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "165.288 503.693 138.186"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new WayPoint() { + position = "-161.952 403.719 134.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new StaticShape() { + position = "156.084 455.684 138.683"; + rotation = "0 0 1 223.453"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "170.777 432.249 150.201"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "173.362 455.686 138.686"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "151.599 464.543 146.2"; + rotation = "0 0 1 180.086"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "204.014 464.297 138.19"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "177.85 463.939 146.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "125.295 464.187 138.188"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-161.273 337.47 138.016"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-175.53 324.438 136.277"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-148.26 380.073 135.4"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-175.68 427.741 135.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new Item() { + position = "-180.516 410.658 134.789"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.843 410.73 132.725"; + rotation = "0 0 1 1.71824"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new Item() { + position = "-175.66 427.717 137.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(flag1) { + position = "-395.316 -210.379 171.587"; + rotation = "0.205498 -0.131718 0.969753 66.9263"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(gens1) { + position = "-338.443 -221.974 153.458"; + rotation = "-0.0708538 -0.163486 0.983998 226.192"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(bunker1) { + position = "-25.2322 -179.371 120.355"; + rotation = "1 0 0 12.6051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(flag2) { + position = "99.9098 421.762 158.977"; + rotation = "0.0621169 -0.0647442 0.995967 92.6042"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(gens2) { + position = "151.442 463.048 148.102"; + rotation = "-0.0112378 0.00517737 0.999923 49.4753"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(bunker2) { + position = "-169.891 407.564 142.421"; + rotation = "0.0560294 -0.119403 0.991264 130.109"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-89.9105 116.362 96.0316"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.090000 0.220000 0.090000 1.000000"; + fogDistance = "400"; + fogColor = "0.090000 0.220000 0.090000 1.000000"; + fogVolume1 = "50 0 101"; + fogVolume2 = "750 101 225"; + fogVolume3 = "0 0 0"; + materialList = "muddy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -57501876.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -51974240.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000020"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 1.97348e-39"; + high_fogVolume2 = "-1 -2.87572e+38 -0.0730211"; + high_fogVolume3 = "-1 -0.000779272 -3.60032e-33"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new SimGroup(audio) { + + + new AudioEmitter() { + position = "184.87 312.715 96.9171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "73.2824 355.595 95.4617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "63.776 120.7 100.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-84.2244 8.51138 98.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-157.921 -118.817 99.9795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-353.843 -66.377 99.5347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-261.771 181.643 98.5864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-104.109 253.302 96.3326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-234.45 189.109 94.4138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-253.81 -95.9385 97.5166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "232.405 251.588 116.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-10.9143 -195.684 113.608"; + rotation = "0 0 -1 55.0039"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-14.77 -194.934 113.594"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-5.38134 -179.015 111.013"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-9.48984 -176.501 110.588"; + rotation = "0 0 1 61.8794"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition13SWTree22) { + + + new TSStatic() { + position = "212 708 112.562"; + rotation = "0 0 1 219"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -572 126.672"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 796 112.422"; + rotation = "0 0 1 219"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -492 141.969"; + rotation = "0 0 -1 5.99979"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -548 176.719"; + rotation = "0 0 -1 14"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -220 124.891"; + rotation = "0 0 -1 100"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 140 139.531"; + rotation = "0 0 -1 71.0004"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -92 115.984"; + rotation = "0 0 -1 72.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -516 159.219"; + rotation = "0 0 -1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 116 149.891"; + rotation = "0 0 -1 115"; + scale = "0.6 0.6 0.6"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 164 147.328"; + rotation = "0 0 1 212"; + scale = "0.6 0.6 0.6"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 188 142.578"; + rotation = "0 0 1 66.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -4 139.125"; + rotation = "0 0 -1 19.0001"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -532 143.734"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 428 117.922"; + rotation = "0 0 1 152"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 -452 130.875"; + rotation = "0 0 1 161"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 812 137.469"; + rotation = "0 0 1 70"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -340 139.891"; + rotation = "0 0 1 212"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 244 170.516"; + rotation = "0 0 -1 111"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 540 129.078"; + rotation = "0 0 1 91.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 564 162.984"; + rotation = "0 0 1 154"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 212 145.203"; + rotation = "0 0 1 26"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 420 114.047"; + rotation = "0 0 -1 116"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -332 144.156"; + rotation = "0 0 1 137"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 812 136.703"; + rotation = "0 0 1 48"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 748 106.797"; + rotation = "0 0 -1 16.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -244 122.5"; + rotation = "0 0 -1 68.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 812 98.6093"; + rotation = "0 0 1 236"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 364 127.672"; + rotation = "0 0 -1 14"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition14DSPlant16) { + + + new TSStatic() { + position = "436 -212 129.016"; + rotation = "0 0 1 187"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 860 133.016"; + rotation = "0 0 -1 22.9999"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 292 142.609"; + rotation = "0 0 1 48"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 92 117.641"; + rotation = "0 0 1 70.9998"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 932 135.578"; + rotation = "0 0 -1 64.0005"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 756 97.422"; + rotation = "0 0 1 2.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 -668 116.781"; + rotation = "0 0 1 60.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -308 108.484"; + rotation = "0 0 -1 86.0004"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -316 112.172"; + rotation = "0 0 1 103"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -188 141.016"; + rotation = "0 0 -1 69.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -588 144.094"; + rotation = "0 0 1 112"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -108 116.344"; + rotation = "0 0 1 181"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 196 136.156"; + rotation = "0 0 1 200"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 716 104.156"; + rotation = "0 0 -1 53"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 -20 143.672"; + rotation = "0 0 -1 32"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -436 114.891"; + rotation = "0 0 -1 70.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 268 124.984"; + rotation = "0 0 -1 38"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -476 125.484"; + rotation = "0 0 1 2.99997"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 164 143.141"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 108 102.422"; + rotation = "0 0 1 198"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 156 131.203"; + rotation = "0 0 -1 22.9999"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -52 132.016"; + rotation = "0 0 1 145"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -196 131.234"; + rotation = "0 0 -1 53.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 556 133.25"; + rotation = "0 0 1 174"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -156 141.094"; + rotation = "0 0 1 224"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -492 114.078"; + rotation = "0 0 -1 86.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -116 94.5156"; + rotation = "0 0 1 220"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44.2101 2.90749 103.216"; + rotation = "0 0 1 113"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition15DSPlant18) { + + + new TSStatic() { + position = "412 756 128.812"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -52 82.3906"; + rotation = "0 0 -1 78.0002"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 876 108.156"; + rotation = "0 0 1 232"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 940 156.313"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -388 142.359"; + rotation = "0 0 1 106"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 692 124.359"; + rotation = "0 0 -1 116"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 12 114.078"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-294.065 806.472 99.4218"; + rotation = "0 0 1 184"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -588 123.5"; + rotation = "0 0 1 202"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 596 171.438"; + rotation = "0 0 -1 4.99997"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 60 140.125"; + rotation = "0 0 1 178"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 716 113.453"; + rotation = "0 0 1 156"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -548 139.516"; + rotation = "0 0 1 149"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 316 112.094"; + rotation = "0 0 1 141"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 132 130.906"; + rotation = "0 0 1 84.0002"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -380 133.422"; + rotation = "0 0 1 179"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 764 104.109"; + rotation = "0 0 -1 118"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 132 113.297"; + rotation = "0 0 1 124"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 708 148.703"; + rotation = "0 0 1 151"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 268 163.344"; + rotation = "0 0 1 124"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 892 86.8282"; + rotation = "0 0 -1 17.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 812 118.991"; + rotation = "0 0 1 170"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 396 153.906"; + rotation = "0 0 1 235"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 796 114.516"; + rotation = "0 0 1 221"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -476 115.938"; + rotation = "0 0 1 203"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 796 156.719"; + rotation = "0 0 1 197"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 628 131.812"; + rotation = "0 0 -1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -388 107.922"; + rotation = "0 0 1 222"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -100 123.375"; + rotation = "0 0 -1 53.9998"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 -228 118.141"; + rotation = "0 0 1 47"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-196.836 360.964 123.57"; + rotation = "0 0 1 70"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "281.833 354.807 155.642"; + rotation = "0 0 1 132"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-67.9388 -159.785 110.101"; + rotation = "0 0 1 104"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-271.394 -137.416 114.577"; + rotation = "0 0 -1 59.0003"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-665.332 438.397 120.19"; + rotation = "0 0 1 23"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Classic_maps_v1.vl2/shapes/borg11.dts b/public/base/@vl2/Classic_maps_v1.vl2/shapes/borg11.dts new file mode 100644 index 00000000..9607fa06 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/shapes/borg11.dts differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/AcidRain.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/AcidRain.spn new file mode 100644 index 00000000..43f4abab Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/AcidRain.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/AcidRain.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/AcidRain.ter new file mode 100644 index 00000000..6d7d0782 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/AcidRain.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Blastside_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Blastside_nef.spn new file mode 100644 index 00000000..4d89e886 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Blastside_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Broadside_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Broadside_nef.spn new file mode 100644 index 00000000..866badd3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Broadside_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Broadside_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Broadside_nef.ter new file mode 100644 index 00000000..f9c32e7c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Broadside_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Confusco.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Confusco.spn new file mode 100644 index 00000000..61f52880 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Confusco.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Confusco.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Confusco.ter new file mode 100644 index 00000000..51131dfe Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Confusco.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/DangerousCrossing_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DangerousCrossing_nef.spn new file mode 100644 index 00000000..3b450da9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DangerousCrossing_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/DangerousCrossing_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DangerousCrossing_nef.ter new file mode 100644 index 00000000..d826dbfe Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DangerousCrossing_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/DesertofDeath_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DesertofDeath_nef.spn new file mode 100644 index 00000000..6e59bf46 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DesertofDeath_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/DesertofDeath_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DesertofDeath_nef.ter new file mode 100644 index 00000000..b415399f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/DesertofDeath_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Gorgon.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Gorgon.spn new file mode 100644 index 00000000..c699a09b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Gorgon.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Gorgon.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Gorgon.ter new file mode 100644 index 00000000..58d2607d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Gorgon.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Hillside.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Hillside.spn new file mode 100644 index 00000000..3273f87d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Hillside.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Hillside.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Hillside.ter new file mode 100644 index 00000000..dda178a4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Hillside.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/IceRidge_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/IceRidge_nef.spn new file mode 100644 index 00000000..90892364 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/IceRidge_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/IceRidge_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/IceRidge_nef.ter new file mode 100644 index 00000000..3002dfa0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/IceRidge_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Lakefront.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Lakefront.spn new file mode 100644 index 00000000..e306311f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Lakefront.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Lakefront.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Lakefront.ter new file mode 100644 index 00000000..396013be Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Lakefront.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Magmatic.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Magmatic.spn new file mode 100644 index 00000000..b34e726a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Magmatic.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Magmatic.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Magmatic.ter new file mode 100644 index 00000000..2c9c26aa Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Magmatic.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Raindance_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Raindance_nef.spn new file mode 100644 index 00000000..a090a9d2 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Raindance_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Raindance_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Raindance_nef.ter new file mode 100644 index 00000000..83307add Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Raindance_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Ramparts.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Ramparts.spn new file mode 100644 index 00000000..f4360298 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Ramparts.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Ramparts.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Ramparts.ter new file mode 100644 index 00000000..1f67f03b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Ramparts.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Rollercoaster_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Rollercoaster_nef.spn new file mode 100644 index 00000000..a3d344b3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Rollercoaster_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Rollercoaster_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Rollercoaster_nef.ter new file mode 100644 index 00000000..2f0d6435 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Rollercoaster_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Sandstorm.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Sandstorm.spn new file mode 100644 index 00000000..1670c578 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Sandstorm.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Sandstorm.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Sandstorm.ter new file mode 100644 index 00000000..e85f80c3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Sandstorm.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Scarabrae_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Scarabrae_nef.spn new file mode 100644 index 00000000..8a11cd44 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Scarabrae_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Scarabrae_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Scarabrae_nef.ter new file mode 100644 index 00000000..b26be8d6 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Scarabrae_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/ShockRidge.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/ShockRidge.spn new file mode 100644 index 00000000..a72be01f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/ShockRidge.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/ShockRidge.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/ShockRidge.ter new file mode 100644 index 00000000..6615d18e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/ShockRidge.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Snowblind_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Snowblind_nef.spn new file mode 100644 index 00000000..48cff1b6 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Snowblind_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Snowblind_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Snowblind_nef.ter new file mode 100644 index 00000000..5d851966 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Snowblind_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Starfallen.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Starfallen.spn new file mode 100644 index 00000000..ea9b1f40 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Starfallen.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Starfallen.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Starfallen.ter new file mode 100644 index 00000000..48968cea Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Starfallen.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Stonehenge_nef.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Stonehenge_nef.spn new file mode 100644 index 00000000..7ae0e902 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Stonehenge_nef.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Stonehenge_nef.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Stonehenge_nef.ter new file mode 100644 index 00000000..d8a180c3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Stonehenge_nef.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/SubZero.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/SubZero.spn new file mode 100644 index 00000000..ccaf6b7e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/SubZero.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/SubZero.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/SubZero.ter new file mode 100644 index 00000000..ce10c1f7 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/SubZero.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Surreal.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Surreal.spn new file mode 100644 index 00000000..7dac77c2 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Surreal.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Surreal.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Surreal.ter new file mode 100644 index 00000000..b408fe3a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Surreal.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Titan.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Titan.spn new file mode 100644 index 00000000..83fdf82e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Titan.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/Titan.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Titan.ter new file mode 100644 index 00000000..2f27762b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/Titan.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/WhiteDwarf.spn b/public/base/@vl2/Classic_maps_v1.vl2/terrains/WhiteDwarf.spn new file mode 100644 index 00000000..60279a1b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/WhiteDwarf.spn differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/terrains/WhiteDwarf.ter b/public/base/@vl2/Classic_maps_v1.vl2/terrains/WhiteDwarf.ter new file mode 100644 index 00000000..ab0f9c15 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/terrains/WhiteDwarf.ter differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/Starfallen.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/Starfallen.dml new file mode 100644 index 00000000..7f77a1b2 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/Starfallen.dml @@ -0,0 +1,7 @@ +v5planet/skies/Starfallen_FR.png +v5planet/skies/Starfallen_RT.png +v5planet/skies/Starfallen_BK.png +v5planet/skies/Starfallen_LF.png +v5planet/skies/Starfallen_UP.png +v5planet/skies/Starfallen_UP.png +lava/skies/volcanic_starrynite_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/bd_inf_ichute03.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/bd_inf_ichute03.png new file mode 100644 index 00000000..e89fdf94 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/bd_inf_ichute03.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ebor03.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ebor03.PNG new file mode 100644 index 00000000..1f40978a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ebor03.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_eflo02.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_eflo02.PNG new file mode 100644 index 00000000..3323867f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_eflo02.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_elig03.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_elig03.PNG new file mode 100644 index 00000000..4138c013 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_elig03.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ewal06.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ewal06.PNG new file mode 100644 index 00000000..a756844f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ewal06.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ewal07.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ewal07.PNG new file mode 100644 index 00000000..102d6cfb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_ewal07.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_icei01a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_icei01a.png new file mode 100644 index 00000000..25f38723 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/be_icei01a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/cp_ibor03.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/cp_ibor03.png new file mode 100644 index 00000000..ac7a4ae5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/cp_ibor03.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/ds_efloor1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/ds_efloor1.png new file mode 100644 index 00000000..18677641 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/ds_efloor1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/ds_ilig03.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/ds_ilig03.png new file mode 100644 index 00000000..e77269e3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/ds_ilig03.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/inf_butch_grey1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/inf_butch_grey1.png new file mode 100644 index 00000000..6b23050f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/inf_butch_grey1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/inf_butch_grey5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/inf_butch_grey5.png new file mode 100644 index 00000000..345f9566 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/badlands/inf_butch_grey5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_AcidRain.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_AcidRain.png new file mode 100644 index 00000000..cbb7b83c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_AcidRain.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Blastside_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Blastside_nef.png new file mode 100644 index 00000000..bd5c2740 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Blastside_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Broadside_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Broadside_nef.png new file mode 100644 index 00000000..29db5ea5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Broadside_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Confusco.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Confusco.png new file mode 100644 index 00000000..a364d90f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Confusco.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_DangerousCrossing_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_DangerousCrossing_nef.png new file mode 100644 index 00000000..b35fdbf6 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_DangerousCrossing_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_DesertOfDeath_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_DesertOfDeath_nef.png new file mode 100644 index 00000000..f3a0db58 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_DesertOfDeath_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Gorgon.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Gorgon.png new file mode 100644 index 00000000..02a6e3cf Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Gorgon.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Hillside.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Hillside.png new file mode 100644 index 00000000..455eb663 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Hillside.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_IceRidge_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_IceRidge_nef.png new file mode 100644 index 00000000..b29bc088 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_IceRidge_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Lakefront.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Lakefront.png new file mode 100644 index 00000000..9993b574 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Lakefront.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Magmatic.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Magmatic.png new file mode 100644 index 00000000..00e5e4cc Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Magmatic.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Raindance_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Raindance_nef.png new file mode 100644 index 00000000..6e5816dd Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Raindance_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Ramparts.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Ramparts.png new file mode 100644 index 00000000..d9217674 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Ramparts.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Rollercoaster_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Rollercoaster_nef.png new file mode 100644 index 00000000..773fd0ed Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Rollercoaster_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Sandstorm.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Sandstorm.png new file mode 100644 index 00000000..3f91911c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Sandstorm.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Scarabrae_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Scarabrae_nef.png new file mode 100644 index 00000000..b4e7ac9a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Scarabrae_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_ShockRidge.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_ShockRidge.png new file mode 100644 index 00000000..1de5a401 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_ShockRidge.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Snowblind_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Snowblind_nef.png new file mode 100644 index 00000000..61b1b537 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Snowblind_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Starfallen.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Starfallen.png new file mode 100644 index 00000000..5e6d16d9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Starfallen.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Stonehenge_nef.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Stonehenge_nef.png new file mode 100644 index 00000000..210377a2 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Stonehenge_nef.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Subzero.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Subzero.png new file mode 100644 index 00000000..3f24f2d9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Subzero.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Surreal.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Surreal.png new file mode 100644 index 00000000..e9c1bd3f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Surreal.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Titan.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Titan.png new file mode 100644 index 00000000..a552b717 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_Titan.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_WhiteDwarf.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_WhiteDwarf.png new file mode 100644 index 00000000..1817a648 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/gui/Load_WhiteDwarf.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE10a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE10a.png new file mode 100644 index 00000000..841fe71b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE10a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE10c.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE10c.png new file mode 100644 index 00000000..6f2e6ccb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE10c.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE12.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE12.png new file mode 100644 index 00000000..48120619 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE12.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE13.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE13.png new file mode 100644 index 00000000..f52c1c29 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE13.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE5a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE5a.png new file mode 100644 index 00000000..058c79c9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/STPLATE5a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate0010.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate0010.png new file mode 100644 index 00000000..0064215b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate0010.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate1.png new file mode 100644 index 00000000..3f0ce569 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate2.png new file mode 100644 index 00000000..1ee8330e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate3.png new file mode 100644 index 00000000..8e28ada4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate5.png new file mode 100644 index 00000000..cd2281cc Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate6.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate6.png new file mode 100644 index 00000000..64996d31 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate6.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate7.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate7.png new file mode 100644 index 00000000..8926009f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate7.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate8.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate8.png new file mode 100644 index 00000000..3a980678 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate8.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate9.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate9.png new file mode 100644 index 00000000..42d7f8e9 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/Stplate9.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/display_blue.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/display_blue.png new file mode 100644 index 00000000..4177dcc0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/display_blue.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/display_yellow.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/display_yellow.png new file mode 100644 index 00000000..f28da3fc Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/display_yellow.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/displaymxscar.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/displaymxscar.png new file mode 100644 index 00000000..00337205 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/displaymxscar.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlTrim.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlTrim.png new file mode 100644 index 00000000..28488977 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlTrim.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue.png new file mode 100644 index 00000000..0cd22328 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue1.png new file mode 100644 index 00000000..7f420657 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue2.png new file mode 100644 index 00000000..ddd324b8 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue3.png new file mode 100644 index 00000000..f7a5bc3f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefBlue3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefFloor6.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefFloor6.png new file mode 100644 index 00000000..c5a300ac Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefFloor6.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefWall1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefWall1.png new file mode 100644 index 00000000..5d8865a7 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_NefWall1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor1.png new file mode 100644 index 00000000..f5d3c3e4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor2.png new file mode 100644 index 00000000..637eb6df Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor3.png new file mode 100644 index 00000000..5de5605e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor4.png new file mode 100644 index 00000000..44984ee3 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor5.png new file mode 100644 index 00000000..6f134f26 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neffloor5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neflig01.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neflig01.png new file mode 100644 index 00000000..aac03f4d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_Neflig01.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_inolite.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_inolite.png new file mode 100644 index 00000000..7edfcb60 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ds_inolite.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ext_grey8.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ext_grey8.png new file mode 100644 index 00000000..34a1483a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ext_grey8.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylite1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylite1.png new file mode 100644 index 00000000..285160f1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylite1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylite2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylite2.png new file mode 100644 index 00000000..fbf1f791 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylite2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylitetrim.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylitetrim.png new file mode 100644 index 00000000..0a41ba53 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylitetrim.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylitetrim2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylitetrim2.png new file mode 100644 index 00000000..811406b0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/greylitetrim2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/grill1a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/grill1a.png new file mode 100644 index 00000000..901ac464 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/grill1a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext1.png new file mode 100644 index 00000000..87b17b9c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext1a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext1a.png new file mode 100644 index 00000000..f85abd59 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext1a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2.png new file mode 100644 index 00000000..f3100e14 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2a.png new file mode 100644 index 00000000..89cb17f7 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2b.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2b.png new file mode 100644 index 00000000..0f19dada Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext2b.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext3.png new file mode 100644 index 00000000..fdc89dd2 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext4.png new file mode 100644 index 00000000..20e62a23 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext5.png new file mode 100644 index 00000000..17abf93b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtext5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtextpipe1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtextpipe1.png new file mode 100644 index 00000000..56cf25c4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/gtextpipe1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/radwarn.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/radwarn.png new file mode 100644 index 00000000..323fca79 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/radwarn.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_BK.png new file mode 100644 index 00000000..4fc20b50 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_DN.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_DN.png new file mode 100644 index 00000000..a91fd0da Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_DN.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_FR.png new file mode 100644 index 00000000..ebbdd345 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_LF.png new file mode 100644 index 00000000..58e2c915 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_RT.png new file mode 100644 index 00000000..b5f3ef00 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_UP.png new file mode 100644 index 00000000..55cdc2d1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/lavanight_v5_UP.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/volcanic_starrynite_emap.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/volcanic_starrynite_emap.png new file mode 100644 index 00000000..c2be863c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/skies/volcanic_starrynite_emap.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/stplate0021.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/stplate0021.png new file mode 100644 index 00000000..8eb4db37 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/stplate0021.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/stplate14.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/stplate14.png new file mode 100644 index 00000000..f77a4df5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/stplate14.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tcement1a.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tcement1a.png new file mode 100644 index 00000000..d62fe679 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tcement1a.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tlite6.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tlite6.png new file mode 100644 index 00000000..ac2b8d60 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tlite6.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tplate1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tplate1.png new file mode 100644 index 00000000..37321179 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tplate1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tplate2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tplate2.png new file mode 100644 index 00000000..73540474 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/tplate2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ttrim2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ttrim2.png new file mode 100644 index 00000000..054bc752 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava/ttrim2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lava_night.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava_night.dml new file mode 100644 index 00000000..b4bfa379 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/lava_night.dml @@ -0,0 +1,7 @@ +lava/skies/lavanight_v5_FR +lava/skies/lavanight_v5_RT +lava/skies/lavanight_v5_BK +lava/skies/lavanight_v5_LF +lava/skies/lavanight_v5_UP +lava/skies/lavanight_v5_DN +lava/skies/volcanic_starrynite_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/liquidTiles/ice_water_ram.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/liquidTiles/ice_water_ram.png new file mode 100644 index 00000000..b7b406c2 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/liquidTiles/ice_water_ram.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/emap_muddy.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/emap_muddy.png new file mode 100644 index 00000000..f0904c99 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/emap_muddy.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_BK.png new file mode 100644 index 00000000..c88b1fb1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_DN.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_DN.png new file mode 100644 index 00000000..c4cedd84 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_DN.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_FR.png new file mode 100644 index 00000000..12b2b38f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_LF.png new file mode 100644 index 00000000..8ded1aea Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_RT.png new file mode 100644 index 00000000..a8c13105 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_UP.png new file mode 100644 index 00000000..4bd61b44 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_01_ram_v5_UP.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_BK.png new file mode 100644 index 00000000..ce340575 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_DN.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_DN.png new file mode 100644 index 00000000..a7084fd0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_DN.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_FR.png new file mode 100644 index 00000000..7fdb3a8b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_LF.png new file mode 100644 index 00000000..cb55d95e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_RT.png new file mode 100644 index 00000000..a089cc65 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_UP.png new file mode 100644 index 00000000..deb3fd67 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush/skies/lush_02c_dusk_UP.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush_dusk.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush_dusk.dml new file mode 100644 index 00000000..6684816c --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush_dusk.dml @@ -0,0 +1,7 @@ +lush/skies/lush_02c_dusk_FR.png +lush/skies/lush_02c_dusk_RT.png +lush/skies/lush_02c_dusk_BK.png +lush/skies/lush_02c_dusk_LF.png +lush/skies/lush_02c_dusk_UP.png +lush/skies/lush_02c_dusk_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/lush_ram.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush_ram.dml new file mode 100644 index 00000000..25ec2f98 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/lush_ram.dml @@ -0,0 +1,7 @@ +lush/skies/lush_01_ram_v5_FR +lush/skies/lush_01_ram_v5_RT +lush/skies/lush_01_ram_v5_BK +lush/skies/lush_01_ram_v5_LF +lush/skies/lush_01_ram_v5_UP +lush/skies/lush_01_ram_v5_DN +lava/skies/volcanic_starrynite_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy.dml new file mode 100644 index 00000000..562ea5cc --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy.dml @@ -0,0 +1,9 @@ +muddy/skies/muddy_FR +muddy/skies/muddy_RT +muddy/skies/muddy_BK +muddy/skies/muddy_LF +muddy/skies/muddy_UP +ice/skies/dark_bottom +lush/skies/emap_muddy +muddy/skies/muddy_cloud1 +muddy/skies/muddy_cloud2 diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_BK.png new file mode 100644 index 00000000..5cfffa2d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_FR.png new file mode 100644 index 00000000..7298fc60 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_LF.png new file mode 100644 index 00000000..4fab3fbb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_RT.png new file mode 100644 index 00000000..8433b799 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_UP.png new file mode 100644 index 00000000..7a8edfa0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_UP.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_cloud1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_cloud1.png new file mode 100644 index 00000000..48487e95 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_cloud1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_cloud2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_cloud2.png new file mode 100644 index 00000000..30c6bef5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/muddy/skies/muddy_cloud2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_BK.png new file mode 100644 index 00000000..843b6973 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_DN.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_DN.png new file mode 100644 index 00000000..8ba43975 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_DN.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_FR.png new file mode 100644 index 00000000..7b5ec1cb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_LF.png new file mode 100644 index 00000000..42968c42 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_RT.png new file mode 100644 index 00000000..44e0f75c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_UP.png new file mode 100644 index 00000000..597cc2c1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Nef5_UP.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_1.png new file mode 100644 index 00000000..2206de5b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_2.png new file mode 100644 index 00000000..1dc5695f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_3.png new file mode 100644 index 00000000..b48b7e50 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_4.png new file mode 100644 index 00000000..106fec53 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_5.png new file mode 100644 index 00000000..86e55c42 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet2_5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_1.png new file mode 100644 index 00000000..d7338239 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_2.png new file mode 100644 index 00000000..8f9274bb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_3.png new file mode 100644 index 00000000..36acc88d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_4.png new file mode 100644 index 00000000..9c07ecf4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_5.png new file mode 100644 index 00000000..14a55585 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_cloud1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_cloud1.png new file mode 100644 index 00000000..1da38e1e Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_cloud1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_cloud2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_cloud2.png new file mode 100644 index 00000000..43a241b4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/RedPlanet_cloud2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_BK.png new file mode 100644 index 00000000..8d3bbb85 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_FR.png new file mode 100644 index 00000000..a6ef56c4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_LF.png new file mode 100644 index 00000000..371de624 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_RT.png new file mode 100644 index 00000000..e1dbd482 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_UP.png new file mode 100644 index 00000000..799a26bb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal1_UP.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_7.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_7.png new file mode 100644 index 00000000..3a012c70 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_7.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_Cloud1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_Cloud1.png new file mode 100644 index 00000000..d30eabf0 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_Cloud1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_Cloud2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_Cloud2.png new file mode 100644 index 00000000..a508d0c1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/Surreal_Cloud2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_1.png new file mode 100644 index 00000000..cf99dea4 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_2.png new file mode 100644 index 00000000..f8960bab Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_3.png new file mode 100644 index 00000000..103f16db Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_4.png new file mode 100644 index 00000000..c12fb205 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_5.png new file mode 100644 index 00000000..6d2175b5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nefRed_5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_1.png new file mode 100644 index 00000000..9ed1e174 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_2.png new file mode 100644 index 00000000..2bf7ebe1 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_3.png new file mode 100644 index 00000000..d0c3abfe Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_4.png new file mode 100644 index 00000000..b2e5dd31 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_5.png new file mode 100644 index 00000000..892630cb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_cloud1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_cloud1.png new file mode 100644 index 00000000..6298217c Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/nef_BlueClear_cloud1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night1.png new file mode 100644 index 00000000..9519207f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night2.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night2.png new file mode 100644 index 00000000..3de6478d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night2.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night3.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night3.png new file mode 100644 index 00000000..b09eb31d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night3.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night4.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night4.png new file mode 100644 index 00000000..01193b4d Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night4.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night5.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night5.png new file mode 100644 index 00000000..3dd9937a Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef/skies/night5.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_5.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_5.dml new file mode 100644 index 00000000..13b268ce --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_5.dml @@ -0,0 +1,7 @@ +nef/skies/Nef5_FR.png +nef/skies/Nef5_RT.png +nef/skies/Nef5_BK.png +nef/skies/Nef5_LF.png +nef/skies/Nef5_UP.png +nef/skies/Nef5_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_BlueClear.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_BlueClear.dml new file mode 100644 index 00000000..48a68f07 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_BlueClear.dml @@ -0,0 +1,8 @@ +nef/skies/nef_BlueClear_1.png +nef/skies/nef_BlueClear_2.png +nef/skies/nef_BlueClear_3.png +nef/skies/nef_BlueClear_4.png +nef/skies/nef_BlueClear_5.png +ice/skies/dark_bottom +lush/skies/lush_day_emap +nef/skies/nef_BlueClear_cloud1 diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_RedPlanet.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_RedPlanet.dml new file mode 100644 index 00000000..e6fee2d1 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_RedPlanet.dml @@ -0,0 +1,8 @@ +nef/skies/RedPlanet_1.png +nef/skies/RedPlanet_2.png +nef/skies/RedPlanet_3.png +nef/skies/RedPlanet_4.png +nef/skies/RedPlanet_5.png +ice/skies/dark_bottom +lush/skies/lush_day_emap +nef/skies/RedPlanet_cloud1 diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_RedPlanet2.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_RedPlanet2.dml new file mode 100644 index 00000000..f5366b8a --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_RedPlanet2.dml @@ -0,0 +1,9 @@ +nef/skies/RedPlanet2_1.png +nef/skies/RedPlanet2_2.png +nef/skies/RedPlanet2_3.png +nef/skies/RedPlanet2_4.png +nef/skies/RedPlanet2_5.png +ice/skies/dark_bottom +lush/skies/lush_day_emap +nef/skies/RedPlanet_cloud1 +nef/skies/RedPlanet_cloud2 diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_Red_1.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_Red_1.dml new file mode 100644 index 00000000..8d288e0d --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_Red_1.dml @@ -0,0 +1,7 @@ +nef/skies/nefRed_1 +nef/skies/nefRed_2 +nef/skies/nefRed_3 +nef/skies/nefRed_4 +nef/skies/nefRed_5 +ice/skies/dark_bottom +lush/skies/lush_day_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_Surreal1.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_Surreal1.dml new file mode 100644 index 00000000..9eda7b52 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_Surreal1.dml @@ -0,0 +1,9 @@ +nef/skies/Surreal1_FR +nef/skies/Surreal1_RT +nef/skies/Surreal1_BK +nef/skies/Surreal1_LF +nef/skies/Surreal1_UP +ice/skies/dark_bottom +nef/skies/Surreal_7 +nef/skies/Surreal_Cloud1 +nef/skies/Surreal_Cloud2 diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_night1.dml b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_night1.dml new file mode 100644 index 00000000..e4fba799 --- /dev/null +++ b/public/base/@vl2/Classic_maps_v1.vl2/textures/nef_night1.dml @@ -0,0 +1,7 @@ +nef/skies/night1 +nef/skies/night2 +nef/skies/night3 +nef/skies/night4 +nef/skies/night5 +ice/skies/dark_bottom +lush/skies/lush_day_emap diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/Eep.MoonDirt.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/Eep.MoonDirt.PNG new file mode 100644 index 00000000..e790a270 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/Eep.MoonDirt.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/Eep.MoonDirtDark.PNG b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/Eep.MoonDirtDark.PNG new file mode 100644 index 00000000..09f27630 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/Eep.MoonDirtDark.PNG differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.DarkRock.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.DarkRock.png new file mode 100644 index 00000000..53c3b3a5 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.DarkRock.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.DirtMossy.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.DirtMossy.png new file mode 100644 index 00000000..203fc606 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.DirtMossy.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.GrassLight.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.GrassLight.png new file mode 100644 index 00000000..48686ebc Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.GrassLight.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.GrassMixed.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.GrassMixed.png new file mode 100644 index 00000000..84944844 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.GrassMixed.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.LightSand.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.LightSand.png new file mode 100644 index 00000000..8e6fd2f8 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.LightSand.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.SandBurnt.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.SandBurnt.png new file mode 100644 index 00000000..b5b0dc73 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/GMD.SandBurnt.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/lushworld.lakesand.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/lushworld.lakesand.png new file mode 100644 index 00000000..264d9241 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/lushworld.lakesand.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/ril.darkrock.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/ril.darkrock.png new file mode 100644 index 00000000..41ef9dfb Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/ril.darkrock.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/ril.darkrock1.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/ril.darkrock1.png new file mode 100644 index 00000000..9620a285 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/terrain/ril.darkrock1.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_BK.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_BK.png new file mode 100644 index 00000000..66f10d73 Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_BK.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_FR.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_FR.png new file mode 100644 index 00000000..d0aa83cd Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_FR.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_LF.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_LF.png new file mode 100644 index 00000000..f4f5fa5b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_LF.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_RT.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_RT.png new file mode 100644 index 00000000..9381a56b Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_RT.png differ diff --git a/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_UP.png b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_UP.png new file mode 100644 index 00000000..1972895f Binary files /dev/null and b/public/base/@vl2/Classic_maps_v1.vl2/textures/v5planet/skies/Starfallen_UP.png differ diff --git a/public/base/@vl2/ColdFusion.vl2/missions/ColdFusion.mis b/public/base/@vl2/ColdFusion.vl2/missions/ColdFusion.mis new file mode 100644 index 00000000..5a544957 --- /dev/null +++ b/public/base/@vl2/ColdFusion.vl2/missions/ColdFusion.mis @@ -0,0 +1,996 @@ +// DisplayName = Cold Fusion +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//"A single death is a tragedy, a million deaths is a statistic." +//--Stalin +//--map by Comkill; fixes by Jacen +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Hidden passageway leads to reserve generator that must be down for switch access +//Remote tower contains forcefield generator +//North and South generators supply main power to enemy base +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + powerCount = "0"; + musicTrack = "Ice"; + + new MissionArea(MissionArea) { + area = "-840 -1024 1728 2032"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.100000 0.100000 0.100000 1.000000"; + ambient = "0.400000 0.400000 0.420000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Rimehold.ter"; + squareSize = "8"; + emptySquares = "213385 279177 279433 83083 84370 168829 234368 169085 234624 169341 234880 235902 236158 171134 236926 172413 172416 172669 172672 172925 172928 107648"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + GraphFile = "Solace.nav"; + position = "0 0 0 1"; + XDimOverSize = "0"; + scale = "1 1 1"; + locked = "true"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0006"; + cloudSpeed2 = "0.0005"; + cloudSpeed3 = "0.0004"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.350000 0.000000"; + fogDistance = "150"; + fogColor = "0.300000 0.300000 0.350000 1.000000"; + fogVolume1 = "2000 800 900"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "1 3 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.33164e+29 4.33005e-35"; + high_fogVolume2 = "-1 -1.15553e-21 -1.26084e-16"; + high_fogVolume3 = "-1 3.52997e-17 -3.94739e-34"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-54.2522 106.1 144.824"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-156.427 268.141 151.61"; + rotation = "0 0 1 102.559"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-372.77 -139.864 225.56"; + rotation = "0 0 1 14.8969"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-446.438 -51.6744 243.71"; + rotation = "0.120584 -0.0842783 0.989119 70.4906"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-361.241 -52.7185 198.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + spawnPos38 = "-328.741 -52.7185 179.053"; + spawnPos43 = "-377.491 -36.4685 198.847"; + spawnPos4 = "-361.241 -117.718 211.37"; + spawnPos30 = "-328.741 -68.9685 183.942"; + spawnPos61 = "-344.991 -3.9685 174.534"; + spawnPos47 = "-312.491 -36.4685 166.35"; + spawnPos8 = "-426.241 -101.468 211.71"; + spawnPos34 = "-393.741 -52.7185 203.314"; + spawnPos6 = "-328.741 -117.718 197.155"; + spawnPos51 = "-377.491 -20.2185 195.36"; + spawnPos18 = "-393.741 -85.2185 199.759"; + spawnPosCount = "63"; + spawnPos16 = "-426.241 -85.2185 199.168"; + spawnPos21 = "-344.991 -85.2185 202.351"; + spawnPos41 = "-409.991 -36.4685 196.813"; + spawnPos39 = "-312.491 -52.7185 173.707"; + spawnPos25 = "-409.991 -68.9685 198.754"; + spawnPos45 = "-344.991 -36.4685 180.378"; + spawnPos57 = "-409.991 -3.9685 185.767"; + spawnPos62 = "-328.741 -3.9685 163.691"; + spawnPos10 = "-393.741 -101.468 199.14"; + spawnPos49 = "-409.991 -20.2185 192.468"; + locked = "true"; + spawnPos2 = "-393.741 -117.718 198.191"; + spawnPos7 = "-312.491 -117.718 185.716"; + spawnPos14 = "-328.741 -101.468 191.966"; + spawnPos53 = "-344.991 -20.2185 175.818"; + spawnPos12 = "-361.241 -101.468 216.344"; + spawnPos17 = "-409.991 -85.2185 198.616"; + spawnPos37 = "-344.991 -52.7185 188.453"; + spawnPos35 = "-377.491 -52.7185 205.509"; + spawnPos40 = "-426.241 -36.4685 196.543"; + spawnPos60 = "-361.241 -3.9685 184.957"; + spawnPos58 = "-393.741 -3.9685 191.072"; + spawnPos44 = "-361.241 -36.4685 191.076"; + spawnPos5 = "-344.991 -117.718 213.254"; + spawnPos23 = "-312.491 -85.2185 178.671"; + spawnPos3 = "-377.491 -117.718 199.113"; + spawnPos29 = "-344.991 -68.9685 195.34"; + spawnPos9 = "-409.991 -101.468 198.177"; + spawnPos27 = "-377.491 -68.9685 210.879"; + spawnPos13 = "-344.991 -101.468 209.481"; + spawnPos33 = "-409.991 -52.7185 198.818"; + spawnPos31 = "-312.491 -68.9685 176.946"; + spawnPos36 = "-361.241 -52.7185 198.497"; + spawnPos56 = "-426.241 -3.9685 187.533"; + spawnPos54 = "-328.741 -20.2185 165.281"; + spawnPos59 = "-377.491 -3.9685 191.293"; + spawnPos1 = "-409.991 -117.718 201.585"; + spawnPos19 = "-377.491 -85.2185 209.604"; + spawnPos24 = "-426.241 -68.9685 197.634"; + spawnPos63 = "-312.491 -3.9685 156.819"; + spawnPos11 = "-377.491 -101.468 202.945"; + spawnPos42 = "-393.741 -36.4685 199.741"; + spawnPos28 = "-361.241 -68.9685 207.039"; + spawnPos48 = "-426.241 -20.2185 193.342"; + spawnPos15 = "-312.491 -101.468 181.18"; + spawnPos46 = "-328.741 -36.4685 170.864"; + spawnPos32 = "-426.241 -52.7185 197.329"; + spawnPos52 = "-361.241 -20.2185 187.312"; + spawnPos50 = "-393.741 -20.2185 196.077"; + spawnPos55 = "-312.491 -20.2185 160.085"; + spawnPos22 = "-328.741 -85.2185 187.675"; + spawnPos20 = "-361.241 -85.2185 215.831"; + spawnPos0 = "-426.241 -117.718 226.436"; + spawnPos26 = "-393.741 -68.9685 202.886"; + }; + new SpawnSphere() { + position = "-446.984 -133.625 225.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + spawnPos38 = "-431.984 -133.625 245.021"; + spawnPos43 = "-454.484 -126.125 245.626"; + spawnPos4 = "-446.984 -163.625 236.75"; + spawnPos30 = "-431.984 -141.125 244.578"; + spawnPos61 = "-439.484 -111.125 241.092"; + spawnPos47 = "-424.484 -126.125 228.357"; + spawnPos8 = "-476.984 -156.125 234.883"; + spawnPos34 = "-461.984 -133.625 243.804"; + spawnPos6 = "-431.984 -163.625 232.596"; + spawnPos51 = "-454.484 -118.625 242.929"; + spawnPos18 = "-461.984 -148.625 243.729"; + spawnPosCount = "63"; + spawnPos16 = "-476.984 -148.625 236.15"; + spawnPos21 = "-439.484 -148.625 244.856"; + spawnPos41 = "-469.484 -126.125 236.464"; + spawnPos39 = "-424.484 -133.625 230.686"; + spawnPos25 = "-469.484 -141.125 240.677"; + spawnPos45 = "-439.484 -126.125 249.302"; + spawnPos57 = "-469.484 -111.125 228.713"; + spawnPos62 = "-431.984 -111.125 231.045"; + spawnPos10 = "-461.984 -156.125 241.412"; + spawnPos49 = "-469.484 -118.625 232.829"; + locked = "true"; + spawnPos2 = "-461.984 -163.625 237.177"; + spawnPos7 = "-424.484 -163.625 222.333"; + spawnPos14 = "-431.984 -156.125 237.878"; + spawnPos53 = "-439.484 -118.625 246.975"; + spawnPos12 = "-446.984 -156.125 241.829"; + spawnPos17 = "-469.484 -148.625 240.747"; + spawnPos37 = "-439.484 -133.625 249.287"; + spawnPos35 = "-454.484 -133.625 247.303"; + spawnPos40 = "-476.984 -126.125 231.366"; + spawnPos60 = "-446.984 -111.125 241.84"; + spawnPos58 = "-461.984 -111.125 234.256"; + spawnPos44 = "-446.984 -126.125 248.37"; + spawnPos5 = "-439.484 -163.625 235.391"; + spawnPos23 = "-424.484 -148.625 229.5"; + spawnPos3 = "-454.484 -163.625 237.546"; + spawnPos29 = "-439.484 -141.125 247.886"; + spawnPos9 = "-469.484 -156.125 238.673"; + spawnPos27 = "-454.484 -141.125 247.093"; + spawnPos13 = "-439.484 -156.125 240.593"; + spawnPos33 = "-469.484 -133.625 239.406"; + spawnPos31 = "-424.484 -141.125 230.967"; + spawnPos36 = "-446.984 -133.625 248.983"; + spawnPos56 = "-476.984 -111.125 223.477"; + spawnPos54 = "-431.984 -118.625 238.233"; + spawnPos59 = "-454.484 -111.125 239.105"; + spawnPos1 = "-469.484 -163.625 235.55"; + spawnPos19 = "-454.484 -148.625 245.556"; + spawnPos24 = "-476.984 -141.125 236.03"; + spawnPos63 = "-424.484 -111.125 218.78"; + spawnPos11 = "-454.484 -156.125 242.109"; + spawnPos42 = "-461.984 -126.125 241.703"; + spawnPos28 = "-446.984 -141.125 248.221"; + spawnPos48 = "-476.984 -118.625 227.611"; + spawnPos15 = "-424.484 -156.125 226.376"; + spawnPos46 = "-431.984 -126.125 242.97"; + spawnPos32 = "-476.984 -133.625 234.317"; + spawnPos52 = "-446.984 -118.625 246.123"; + spawnPos50 = "-461.984 -118.625 238.249"; + spawnPos55 = "-424.484 -118.625 224.112"; + spawnPos22 = "-431.984 -148.625 242.04"; + spawnPos20 = "-446.984 -148.625 245.668"; + spawnPos0 = "-476.984 -163.625 231.844"; + spawnPos26 = "-461.984 -141.125 244.84"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new InteriorInstance() { + position = "-384.802 -82.8573 167.062"; + rotation = "0 0 1 150.115"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-386.271 -94.3029 220.435"; + rotation = "0 0 -1 29.7938"; + scale = "0.1 18.4377 8.77065"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-376.822 -89.0448 220.193"; + rotation = "0 0 -1 29.7938"; + scale = "0.1 18.4377 9.03641"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "-378.229 -77.2511 196.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "-386.097 -83.5564 232.534"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "1"; + }; + new StaticShape(Team2StationInventory1) { + position = "-389.922 -76.8712 220.638"; + rotation = "0 0 -1 29.2209"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + Trigger = "6691"; + team = "2"; + }; + new StaticShape(Team2StationInventory2) { + position = "-382.302 -90.3852 220.628"; + rotation = "0 0 1 150.688"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + Trigger = "6693"; + team = "2"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-11 220.8 128.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + spawnPos38 = "-61 245.8 124.509"; + spawnPos43 = "64 245.8 146.947"; + spawnPos4 = "-11 120.8 127.371"; + spawnPos30 = "-86 220.8 128.903"; + spawnPos47 = "-36 270.8 114.153"; + spawnPos8 = "-111 145.8 120.078"; + spawnPos34 = "39 220.8 118.02"; + spawnPos61 = "39 295.8 144.278"; + spawnPos6 = "39 120.8 136.059"; + spawnPos51 = "-86 295.8 133.958"; + spawnPos18 = "-61 170.8 127.704"; + spawnPosCount = "56"; + spawnPos16 = "-111 170.8 121.08"; + spawnPos21 = "64 170.8 119.664"; + spawnPos41 = "14 245.8 116.489"; + spawnPos39 = "-36 245.8 115.627"; + spawnPos25 = "-36 195.8 119.742"; + spawnPos45 = "-86 270.8 137.1"; + spawnPos57 = "-61 295.8 116.639"; + spawnPos10 = "-61 145.8 128.739"; + spawnPos49 = "64 270.8 166.833"; + spawnPos62 = "64 295.8 176.54"; + locked = "true"; + spawnPos2 = "-61 120.8 131.349"; + spawnPos7 = "64 120.8 150.806"; + spawnPos14 = "39 145.8 120.982"; + spawnPos53 = "-36 295.8 112.527"; + spawnPos12 = "-11 145.8 123.69"; + spawnPos17 = "-86 170.8 121.803"; + spawnPos37 = "-86 245.8 132.184"; + spawnPos35 = "64 220.8 124.025"; + spawnPos40 = "-11 245.8 115.927"; + spawnPos60 = "14 295.8 121.203"; + spawnPos58 = "-36 295.8 112.527"; + spawnPos44 = "-111 270.8 147.48"; + spawnPos5 = "14 120.8 124.898"; + spawnPos23 = "-86 195.8 126.923"; + spawnPos3 = "-36 120.8 130.081"; + spawnPos29 = "-111 220.8 127.335"; + spawnPos9 = "-86 145.8 123.874"; + spawnPos27 = "39 195.8 118.439"; + spawnPos13 = "14 145.8 122.177"; + spawnPos33 = "14 220.8 117.08"; + spawnPos31 = "-61 220.8 125.707"; + spawnPos36 = "-111 245.8 135.04"; + spawnPos56 = "64 295.8 176.54"; + spawnPos54 = "-11 295.8 113.002"; + spawnPos59 = "-11 295.8 113.002"; + spawnPos1 = "-86 120.8 126.178"; + spawnPos19 = "-36 170.8 122.764"; + spawnPos24 = "-61 195.8 126.387"; + spawnPos11 = "-36 145.8 126.491"; + spawnPos42 = "39 245.8 127.109"; + spawnPos28 = "64 195.8 119.406"; + spawnPos48 = "39 270.8 139.888"; + spawnPos15 = "64 145.8 122.53"; + spawnPos46 = "-61 270.8 122.752"; + spawnPos32 = "-11 220.8 116.65"; + spawnPos52 = "-61 295.8 116.639"; + spawnPos50 = "-111 295.8 148.77"; + spawnPos55 = "39 295.8 144.278"; + spawnPos22 = "-111 195.8 126.225"; + spawnPos20 = "39 170.8 119.452"; + spawnPos0 = "-111 120.8 121.173"; + spawnPos26 = "14 195.8 118.455"; + }; + }; + new SimGroup(base) { + powerCount = "0"; + + new SimGroup(North) { + powerCount = "1"; + + new StaticShape(North) { + position = "-19.7655 306.003 51.2588"; + rotation = "-7.90522e-06 0.00999532 0.99995 179.943"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "6772"; + team = "1"; + }; + new SimGroup(South) { + powerCount = "2"; + + new StaticShape(Team1StationInventory1) { + position = "-70.7856 143.205 36.5365"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + locked = "true"; + Trigger = "6702"; + team = "1"; + }; + new InteriorInstance() { + position = "-18.0217 220.52 39.3609"; + rotation = "0.00118813 0.00236581 0.999996 88.8052"; + scale = "1 1 1"; + interiorFile = "dbase2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(Team1StationInventory2) { + position = "-80.8374 143.151 36.5394"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + Trigger = "6705"; + team = "1"; + }; + new StaticShape(Team1StationInventory3) { + position = "-81.2743 159.121 36.6331"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + locked = "true"; + Trigger = "6707"; + team = "1"; + }; + new StaticShape(Team1StationInventory4) { + position = "-18.3239 228.725 122.356"; + rotation = "0 0 -1 0.574711"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + Trigger = "6709"; + team = "1"; + }; + new SimGroup(Reserve) { + powerCount = "3"; + + new StaticShape(Reserve) { + position = "17.4218 221.346 67.4835"; + rotation = "0.000491823 -0.000471153 1 88.2363"; + scale = "1 1 1"; + nameTag = "Reserve"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "6773"; + team = "1"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-117.707 280.643 158.25"; + rotation = "-0.024991 0.0226271 -0.999432 95.7166"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare(FF) { + position = "-23.9553 214.388 62.3825"; + rotation = "0.0206777 -0.0197207 -0.999592 1.12534"; + scale = "12.1379 12.1139 17.644"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + team = "1"; + }; + }; + new StaticShape(SouthGen) { + position = "-14.6068 109.516 48.7554"; + rotation = "-0.578269 0.577352 0.576428 119.842"; + scale = "0.850522 1 1"; + nameTag = "South"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "6774"; + team = "1"; + }; + new StaticShape(Team1StationInventory5) { + position = "-71.221 159.368 36.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + locked = "true"; + Trigger = "6717"; + team = "1"; + }; + }; + }; + new TSStatic() { + position = "22.6859 156.581 120.157"; + rotation = "0.0299817 0.0303072 0.999091 89.4335"; + scale = "3.50102 1.71005 1.28066"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-117.723 280.601 158.69"; + rotation = "0 0 -1 6.87562"; + scale = "1.48782 1.71141 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "22.6771 170.281 119.077"; + rotation = "0.0247383 0.0252581 0.999375 89.9903"; + scale = "3.3311 1.69176 1.45751"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-14.4421 152.704 121.905"; + rotation = "0 0 1 88.8084"; + scale = "2.15569 2.62004 1.34785"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-23.328 155.574 122.22"; + rotation = "0.0146822 0.0159191 0.999765 87.6757"; + scale = "3.34567 1 1.2197"; + shapeName = "stackable3m.dts"; + team = "2"; + }; + new TSStatic() { + position = "-24.0602 169.756 120.318"; + rotation = "-0.00499991 -0.00526051 0.999974 87.0911"; + scale = "3.85723 0.904292 1.53382"; + shapeName = "stackable3m.dts"; + team = "2"; + }; + }; + new Item() { + position = "-46.6692 220.052 50.7169"; + rotation = "0 0 -1 91.6732"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new SimGroup(FF) { + powerCount = "1"; + + new InteriorInstance() { + position = "82.6445 472.542 201.121"; + rotation = "0 0 -1 26.9291"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "86.044 474.092 264.013"; + rotation = "0 0 1 63.5984"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "6775"; + team = "1"; + }; + new ForceFieldBare() { + position = "-36.6701 204.757 41.494"; + rotation = "0 -1 0 89.9544"; + scale = "0.1 32.0519 33.234"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-48.2985 305.324 35.8824"; + rotation = "1 0 0 0"; + scale = "0.1 7.48712 7.42514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-24.2743 287.676 50.562"; + rotation = "1 0 0 0"; + scale = "9.69896 0.1 8.98597"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-21.0958 152.932 51.1504"; + rotation = "1 0 0 0"; + scale = "9.20716 0.1 8.58927"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-21.4594 142.571 35.8686"; + rotation = "1 0 0 0"; + scale = "11.1818 0.1 15.0275"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-38.7339 212.894 86.5899"; + rotation = "1 0 0 0"; + scale = "0.101108 14.0431 11.1735"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-24.8484 296.887 36.5742"; + rotation = "1 0 0 0"; + scale = "10.5654 0.1 13.1467"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "73.3234 338.14 182.566"; + rotation = "1 0 0 0"; + scale = "0.617044 0.809401 1"; + interiorFile = "splat1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "73.8894 344.235 184.362"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "56"; + locked = "true"; + team = "1"; + }; + }; + }; + new SimGroup(Team0) { + powerCount = "0"; + + new InteriorInstance() { + position = "-36.1838 189.516 117.862"; + rotation = "0 0 -1 0.574711"; + scale = "1 1 2.14894"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape(Team1FlipFlop1) { + position = "-18.0369 220.544 63.1659"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "6776"; + team = "1"; + }; + new Item() { + position = "-76.5361 214.349 39.4203"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "0"; + }; + new Item() { + position = "16.199 228.748 39.4238"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-38.1826 254.478 114.387"; + rotation = "0 0 -1 2.29377"; + scale = "1 1 2.44569"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new Item() { + position = "-25.5215 220.574 134.258"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "0"; + }; + }; + }; + new SimGroup(environment) { + powerCount = "0"; + + new Precipitation(Precipitation) { + position = "-91.3542 155.206 151.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "snow"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + new AudioEmitter() { + position = "-217.625 3.2526 143.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-217.326 7.65398 144.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-275.413 -2.48166 132.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/ColdFusion.vl2/terrains/ColdFusion.spn b/public/base/@vl2/ColdFusion.vl2/terrains/ColdFusion.spn new file mode 100644 index 00000000..ff2a6b23 Binary files /dev/null and b/public/base/@vl2/ColdFusion.vl2/terrains/ColdFusion.spn differ diff --git a/public/base/@vl2/ColdFusion.vl2/textures/gui/LOAD_ColdFusion.png b/public/base/@vl2/ColdFusion.vl2/textures/gui/LOAD_ColdFusion.png new file mode 100644 index 00000000..7897a32b Binary files /dev/null and b/public/base/@vl2/ColdFusion.vl2/textures/gui/LOAD_ColdFusion.png differ diff --git a/public/base/@vl2/ColdWar.vl2/missions/ColdWar.mis b/public/base/@vl2/ColdWar.vl2/missions/ColdWar.mis new file mode 100644 index 00000000..1647555a --- /dev/null +++ b/public/base/@vl2/ColdWar.vl2/missions/ColdWar.mis @@ -0,0 +1,2872 @@ +// DisplayName = Cold War +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +// -- Map by ???Unknown??? +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]The bunker FF gens power the entrance FFs for the 3 bunkers. Unrepairable. +//The Bunker Generators, which are also unrepairable, power the FFs guarding the 2 Main base generators. As each bunker goes offline, so does it's respective spawsphere. +//The Offense has a Remote Offensive Tower with it's own spawnsphere that can be brought online. It will also come online automatically when all 3 D bunkers go offline. +//The 2 Main Base Gens power the FF guarding the switch. They are repairable. +//Credits: Map by ???Unknown???. Thanks to Shadow Skill for the name. Thanks also to Jambon, and the people of the pond for help testing and input. +//--- MISSION STRING END --- + +datablock ForceFieldBareData(UnksIceFF) +{ + fadeMS = 1000; + baseTranslucency = 0.0; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "0.0 0.0 0.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +function ForceFieldBareData::onAdd(%data, %obj) +{ + if(%obj.customPZ $= "1") { //add a dynamic field to your FF called "customPZ" with a value of 1 and it will have a custom PZ with the values set below + %velo = %obj.PZVelocity; //add a dynamic field to your FF called "PZVelocity" and set the value to what velocityMod you want + %grav = %obj.PZGravity; //dynamic field - PZGravity = whatever gravityMod you want your FF to have + %appl = %obj.PZForce; //dynamic field - PZForce = whatever appliedForce you want your FF to have + } + + else { + %velo = "0.1"; + %grav = "1"; + %appl = "0 0 0"; + } + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); + + Parent::onAdd(%data, %obj); + +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "5"; + musicTrack = "ice"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-616 -632 1424 1248"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "264 -8 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "100"; + fogColor = "0.500000 0.500000 0.570000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "800 175 250"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 7648147490786239160000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 100"; + high_fogVolume2 = "-1 100 250"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000250 0.000050"; + locked = "true"; + }; + new Sun() { + position = "264 -8 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "ThinIce.ter"; + squareSize = "8"; + emptySquares = "156571 418970 419226 353947 354203 355917 290388 356173 290644 356429 356435 291150 94548 160086 165731 165734 362350 428131 362606 428387 362862 428643 363118 428899"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new SimGroup(ice) { + + powerCount = "1"; + + new WaterBlock(Water) { + position = "-304 -448 0"; + rotation = "1 0 0 0"; + scale = "384 480 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + }; + new WaterBlock(Water) { + position = "-96 -40 0"; + rotation = "1 0 0 0"; + scale = "480 480 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + }; + new ForceFieldBare() { + position = "-304.416 -432.579 69.9"; + rotation = "1 0 0 0"; + scale = "345.099 461.078 0.1"; + dataBlock = "UnksIceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + PZForce = "0"; + customPZ = "1"; + Target = "33"; + PZVelocity = "1"; + }; + new StaticShape() { + position = "-54.7097 -214.494 20.9013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "42113"; + lastDamagedByTeam = "2"; + teamDamageStateOnZap = "0"; + team = "0"; + Target = "34"; + zapSound = "0"; + damageTimeMS = "6411868"; + }; + new WaterBlock(Water) { + position = "-976 -440 0"; + rotation = "1 0 0 0"; + scale = "544 384 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + }; + new WaterBlock(Water) { + position = "-480 -48 0"; + rotation = "1 0 0 0"; + scale = "160 256 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + }; + new WaterBlock(Water) { + position = "440 -112 0"; + rotation = "1 0 0 0"; + scale = "416 160 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + }; + new WaterBlock(Water) { + position = "544 184 0"; + rotation = "1 0 0 0"; + scale = "160 256 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + team = "1"; + }; + new ForceFieldBare() { + position = "-565.672 -51.579 69.9"; + rotation = "1 0 0 0"; + scale = "243.355 275.202 0.1"; + dataBlock = "UnksIceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + PZForce = "0"; + customPZ = "1"; + Target = "35"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-95.7836 -36.579 69.9"; + rotation = "1 0 0 0"; + scale = "482.667 461.078 0.1"; + dataBlock = "UnksIceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + PZForce = "0"; + customPZ = "1"; + Target = "36"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-980.674 -548.379 69.9"; + rotation = "1 0 0 0"; + scale = "534.757 461.078 0.1"; + dataBlock = "UnksIceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + PZForce = "0"; + customPZ = "1"; + Target = "37"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "424.016 -112.168 69.9"; + rotation = "1 0 0 0"; + scale = "450.348 536.667 0.1"; + dataBlock = "UnksIceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + PZForce = "0"; + customPZ = "1"; + Target = "38"; + PZVelocity = "1"; + }; + new PhysicalZone() { + position = "-304.416 -432.579 69.9"; + rotation = "1 0 0 0"; + scale = "345.099 461.078 1.15696"; + velocityMod = "1"; + gravityMod = "0.3"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + ffield = "15495"; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + guid = "360525"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + name = "\x10\c6???Unknown???\c7\x11"; + ping = "1"; + score = "0"; + canListen = "0"; + isAdmin = "1"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "15479"; + isListening = "0"; + isSmurf = "0"; + className = "PlayerRep"; + packetLoss = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + guid = "360525"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + name = "\x10\c6???Unknown???\c7\x11"; + ping = "1"; + score = "0"; + canListen = "0"; + isAdmin = "1"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "15479"; + isListening = "0"; + isSmurf = "0"; + className = "PlayerRep"; + packetLoss = "0"; + }; + }; + new PhysicalZone() { + position = "-565.672 -51.579 69.9"; + rotation = "1 0 0 0"; + scale = "243.355 275.202 1.15696"; + velocityMod = "1"; + gravityMod = "0.3"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + ffield = "15503"; + }; + new PhysicalZone() { + position = "-980.674 -548.379 69.9"; + rotation = "1 0 0 0"; + scale = "534.757 461.078 1.15696"; + velocityMod = "1"; + gravityMod = "0.3"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + ffield = "15507"; + }; + new PhysicalZone() { + position = "-95.7836 -36.579 69.9"; + rotation = "1 0 0 0"; + scale = "482.667 461.078 1.15696"; + velocityMod = "1"; + gravityMod = "0.3"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + ffield = "15505"; + }; + new PhysicalZone() { + position = "423.976 -112.166 69.9"; + rotation = "1 0 0 0"; + scale = "450.348 536.667 1.15696"; + velocityMod = "1"; + gravityMod = "0.3"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + ffield = "15509"; + }; + new StaticShape() { + position = "696.2 -80.0936 80.8878"; + rotation = "0.523557 0.667677 -0.529241 111.967"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new WaterBlock(Water) { + position = "48 -584 0"; + rotation = "1 0 0 0"; + scale = "128 128 70.55"; + liquidType = "Quicksand"; + density = "100"; + viscosity = "-10"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/IslandWater01"; + surfaceOpacity = "0.85"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + floodFill = "0"; + locked = "false"; + }; + new ForceFieldBare() { + position = "60.6012 -548.44 69.9"; + rotation = "1 0 0 0"; + scale = "95.7718 95.6019 0.1"; + dataBlock = "UnksIceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + PZForce = "0"; + customPZ = "1"; + Target = "87"; + PZVelocity = "1"; + }; + new PhysicalZone() { + position = "50.4012 -539.44 69.9"; + rotation = "1 0 0 0"; + scale = "105.931 85.643 1.15696"; + velocityMod = "1"; + gravityMod = "0.3"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + ffield = "15495"; + }; + new StaticShape() { + position = "703.86 -72.0986 80.3166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + GraphFile = "ThinIce.nav"; + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(Omainspawn) { + position = "-231.098 -527.612 168.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(remotebase) { + + powerCount = "0"; + + new StaticShape(remoteinv2) { + position = "325.964 -144.982 168.386"; + rotation = "0 0 1 141.521"; + scale = "1 1 1"; + nameTag = "Remote Offensive Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "25684"; + Target = "39"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape(remoteinv1) { + position = "317.693 -131.41 168.386"; + rotation = "0 0 -1 35.7055"; + scale = "1 1 1"; + nameTag = "Remote Offensive Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "25686"; + Target = "40"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape(remotegen) { + position = "323.231 -137.204 177.947"; + rotation = "0 0 1 53.858"; + scale = "1 1 1"; + nameTag = "Remote Offensive Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "41"; + }; + new ForceFieldBare() { + position = "320.984 -127.81 168.32"; + rotation = "0.166599 -0.0986391 0.981079 58.7205"; + scale = "18.3331 0.1 9.14917"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "42"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "313.46 -132.753 168.356"; + rotation = "-0.214444 0.111879 0.970308 59.3344"; + scale = "18.3331 0.1 8.87297"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "43"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "324.489 -148.924 169.798"; + rotation = "0 0 -1 31.5623"; + scale = "7.22699 0.408611 1.1509"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + }; + new ForceFieldBare() { + position = "313.706 -131.371 169.798"; + rotation = "0 0 -1 31.5623"; + scale = "7.22699 0.325252 1.1509"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new WayPoint() { + position = "321.682 -138.425 173.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Offensive Tower"; + team = "2"; + }; + new SimGroup() { + + powerCount = "0"; + }; + }; + new InteriorInstance() { + position = "-230.356 -524.111 106.317"; + rotation = "0 0 -1 6.30252"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(Base1) { + + powerCount = "1"; + + new StaticShape(shadowskillinv) { + position = "-241.122 -511.253 166.276"; + rotation = "0 0 -1 90.1366"; + scale = "1 1 1"; + nameTag = "Shadow Skill\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "25701"; + Target = "46"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-245.639 -516.401 166.276"; + rotation = "0 0 -1 0.754847"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "25703"; + Target = "47"; + }; + new StaticShape() { + position = "-219.728 -536.545 166.276"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "21571"; + lastDamagedByTeam = "1"; + team = "2"; + Trigger = "25705"; + Target = "48"; + notReady = "1"; + inUse = "Down"; + damageTimeMS = "952823"; + }; + new StaticShape() { + position = "-214.98 -531.654 166.32"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "25707"; + Target = "49"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "50"; + }; + new ForceFieldBare() { + position = "-207.816 -533.861 167.729"; + rotation = "-0.0566095 0.942358 -0.329783 20.6473"; + scale = "0.1 24.7076 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "51"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-215.956 -544.606 168.046"; + rotation = "0.223214 -0.19145 -0.955784 98.6952"; + scale = "0.1 24.7076 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "52"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-250.078 -538.544 167.764"; + rotation = "0.0612732 -0.94133 -0.331878 18.8382"; + scale = "0.1 24.7076 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "53"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-233.582 -535.6 165.975"; + rotation = "-0.0535999 0.996952 -0.0566851 90.1399"; + scale = "0.1 7.49856 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "54"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-218.957 -519.009 165.975"; + rotation = "-0.0535999 0.996952 -0.0566851 90.1399"; + scale = "0.1 7.49856 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "55"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-220.575 -500.872 168.034"; + rotation = "-0.223492 0.208904 -0.952056 99.1829"; + scale = "0.1 24.7076 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "56"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "-228.42 -527.093 186.79"; + rotation = "-0.0535999 0.996952 -0.0566851 90.1399"; + scale = "0.1 7.49856 7.31441"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + PZGravity = "1"; + customPZ = "1"; + Target = "57"; + PZVelocity = "1"; + }; + new Item() { + position = "-230.146 -523.77 166.904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + }; + new InteriorInstance() { + position = "323.261 -137.375 114.931"; + rotation = "0 0 1 147.823"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "1"; + + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(southspawn) { + position = "236.659 -207.956 72.4078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "15"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(FFspawn) { + position = "-362.631 -133.038 63.1308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "55"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(westspawn) { + position = "-169.459 73.922 50.0088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "15"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(northspawn) { + position = "227.78 306.46 93.4327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(ThreeBunksPower) { + + powerCount = "1"; + + new StaticShape(ThreeBunksGen) { + position = "677.146 -52.4237 2.22865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "58"; + }; + new ForceFieldBare() { + position = "698.785 -30.86 101.004"; + rotation = "1 0 0 0"; + scale = "4.27908 7.89742 3.1153"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "59"; + }; + new ForceFieldBare() { + position = "711.691 -23.4829 86.0209"; + rotation = "1 0 0 0"; + scale = "0.92627 4.26726 5.15665"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "60"; + }; + new ForceFieldBare() { + position = "711.691 -34.4829 86.0209"; + rotation = "1 0 0 0"; + scale = "0.92627 4.26726 5.15665"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "61"; + }; + }; + new SimGroup(mainbase) { + + powerCount = "2"; + + new StaticShape(MainGen1) { + position = "698.597 -26.8276 101.069"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25956"; + Target = "62"; + }; + new StaticShape(MainGen2) { + position = "716.33 -26.6837 86.0851"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4959"; + lastDamagedByTeam = "1"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25957"; + Target = "63"; + damageTimeMS = "1672123"; + }; + new Item() { + position = "677.459 -26.8959 95.2517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new StaticShape(maininv1) { + position = "674.02 -14.901 82.0675"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25746"; + Target = "64"; + }; + new StaticShape(maininv2) { + position = "673.635 -38.9357 82.0618"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25748"; + Target = "65"; + }; + new StaticShape(Switch) { + position = "722.79 -26.8629 109.074"; + rotation = "1 0 0 0"; + scale = "1 1 0.895338"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25958"; + Target = "66"; + }; + new ForceFieldBare() { + position = "727.641 -34.9643 109.012"; + rotation = "1 0 0 0"; + scale = "0.21908 16.1764 4.23264"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + PZGravity = "0"; + customPZ = "1"; + Target = "67"; + PZVelocity = "1"; + }; + new InteriorInstance() { + position = "663.637 -26.9247 82.0999"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbase1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(WestBunk) { + + powerCount = "2"; + + new StaticShape(WestBunkGen1) { + position = "-166.876 89.7042 48.3027"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "West Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4986"; + lastDamagedByTeam = "2"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25959"; + Target = "68"; + notRepairable = "1"; + damageTimeMS = "351565"; + }; + new StaticShape(WestBunkGen2) { + position = "-167.956 59.3404 48.3027"; + rotation = "0 0 -1 0.189746"; + scale = "1 1 1"; + nameTag = "West Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4986"; + lastDamagedByTeam = "2"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25960"; + Target = "69"; + notRepairable = "1"; + damageTimeMS = "345643"; + }; + new StaticShape(WestBunkInv1) { + position = "-212.091 55.6434 62.2445"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "West Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25757"; + Target = "70"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape(WestBunkInv2) { + position = "-123.904 93.2102 62.2516"; + rotation = "0 0 -1 0.176939"; + scale = "1 1 1"; + nameTag = "West Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25759"; + Target = "71"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "-167.275 73.997 79.8148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-168.415 74.5414 78.2812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk_nef1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(NorthBunk) { + + powerCount = "2"; + + new StaticShape(NorthBunkGen1) { + position = "225.62 288.954 88.6675"; + rotation = "0 0 1 215.615"; + scale = "1 1 1"; + nameTag = "North Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4986"; + lastDamagedByTeam = "1"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25961"; + Target = "72"; + notRepairable = "1"; + damageTimeMS = "906783"; + }; + new StaticShape(NorthBunkGen2) { + position = "210.593 300.453 88.6675"; + rotation = "0 0 1 215.615"; + scale = "1 1 1"; + nameTag = "North Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4986"; + lastDamagedByTeam = "1"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25962"; + Target = "73"; + notRepairable = "1"; + damageTimeMS = "904241"; + }; + new StaticShape(NorthBunkInv) { + position = "214.762 306.656 109.602"; + rotation = "0 0 1 211.994"; + scale = "1 1 1"; + nameTag = "North Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25766"; + Target = "74"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "208.464 301.414 110.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "219.661 297.036 97.1381"; + rotation = "0 0 1 127.197"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(FFbunk) { + + powerCount = "2"; + + new StaticShape(ffbunkinv1) { + position = "-389.667 -132.796 62.2222"; + rotation = "0 0 -1 92.8192"; + scale = "1 1 1"; + nameTag = "Force Field Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25771"; + Target = "75"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape(ffbunkinv2) { + position = "-333.212 -127.294 62.2631"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Force Field Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "27932"; + lastDamagedByTeam = "1"; + team = "1"; + Trigger = "25773"; + Target = "76"; + notReady = "1"; + inUse = "Down"; + damageTimeMS = "3045397"; + }; + new StaticShape(ffgen1) { + position = "-393.758 -91.285 53.2549"; + rotation = "0 0 1 85.3707"; + scale = "1 1 1"; + nameTag = "Bunker Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4917"; + lastDamagedByTeam = "1"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25963"; + Target = "77"; + notRepairable = "1"; + damageTimeMS = "266174"; + }; + new StaticShape(ffgen2) { + position = "-339.585 -155.022 53.2823"; + rotation = "0 0 -1 5.15676"; + scale = "1 1 1"; + nameTag = "Bunker Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4917"; + lastDamagedByTeam = "1"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25964"; + Target = "78"; + notRepairable = "1"; + damageTimeMS = "254267"; + }; + new ForceFieldBare() { + position = "234.639 293.787 90.4533"; + rotation = "0 0 1 37.5"; + scale = "1 7.26209 7.61782"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + PZGravity = "1"; + customPZ = "1"; + Target = "79"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "211.65 311.231 90.2533"; + rotation = "0 0 1 37.5"; + scale = "1 7.26209 7.61782"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + PZGravity = "1"; + customPZ = "1"; + Target = "80"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "206.56 -220.862 77.0375"; + rotation = "0 0 1 53.2851"; + scale = "15.2006 1 6.29104"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "81"; + }; + new ForceFieldBare() { + position = "-219.081 84.0108 78.1417"; + rotation = "1 0 0 0"; + scale = "14.6149 1 6.41148"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "82"; + }; + new ForceFieldBare() { + position = "220.883 298.118 109.588"; + rotation = "0 0 1 37.2423"; + scale = "8.23071 0.88294 6.20245"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "83"; + }; + new ForceFieldBare() { + position = "-131.467 64.032 78.1417"; + rotation = "1 0 0 0"; + scale = "14.6149 1 6.41148"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "84"; + }; + new Item() { + position = "-363.135 -131.204 54.4689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-337.915 -124.574 75.2835"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + interiorFile = "sbunk2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(southbunker) { + + powerCount = "1"; + + new StaticShape(southbunkgen) { + position = "227.238 -214.704 80.1301"; + rotation = "0 0 1 56.1499"; + scale = "1 1 1"; + nameTag = "South Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4997"; + lastDamagedByTeam = "2"; + team = "1"; + needsObjectiveWaypoint = "1"; + WayPoint = "25965"; + Target = "85"; + notRepairable = "1"; + damageTimeMS = "928393"; + }; + new StaticShape(southbunkinv) { + position = "243.174 -202.903 80.0588"; + rotation = "0 0 1 55.004"; + scale = "1 1 1"; + nameTag = "South Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "25793"; + Target = "86"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "236.746 -207.836 63.2082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "203 -237.921 80.1082"; + rotation = "0 0 1 143.239"; + scale = "1 1 1"; + interiorFile = "dbase_nefRaindance.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(remotespawn) { + position = "321.894 -138.797 170.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Dmainspawn) { + position = "692.742 -27.0415 87.6624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-155.322 -616.974 188.339"; + rotation = "0.151068 0.0472701 -0.987393 35.167"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-315.142 -296.322 117.989"; + rotation = "0.217089 0.0321076 -0.975624 17.2403"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "547.676 -27.0145 116.716"; + rotation = "0.0980563 -0.0970696 0.990435 89.9709"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "228.909 300.831 144.486"; + rotation = "-0.0122997 -0.160432 0.98697 188.654"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "325.511 -136.348 185.015"; + rotation = "0.385121 -0.210393 0.898564 62.597"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new AudioEmitter() { + position = "-86.0234 -626.579 135.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new SimGroup(AudioIce) { + + powerCount = "0"; + + new AudioEmitter() { + position = "51.4797 -443.162 48.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "197.786 -581.538 35.7268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "273.821 -817.129 60.4446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "565.467 -402.402 49.6072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "477.927 -132.986 36.8269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "98.8 203.689 60.2986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "245.374 295.257 62.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-367.904 502.825 46.3583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-518.856 828.165 53.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-581.811 228.514 53.9287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-321.679 -62.4149 45.0066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "52.2378 50.7429 53.2836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "227.982 425.181 45.5979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "301.512 268.466 57.2814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "526.708 371.224 54.8098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "394.709 2.0176 53.2124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-172.45 16.6238 48.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-450.622 -141.327 50.0381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "224.737 -195.602 69.6406"; + rotation = "0 0 1 202.827"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "257.992 -185.626 69.2406"; + rotation = "0 0 1 114.201"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "254.445 -221.372 71.199"; + rotation = "-0.0187922 0.784638 -0.619669 28.5114"; + scale = "2.06221 1.49804 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "249.46 -223.504 72.3501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new Precipitation(Precipitation) { + position = "-147.756 -169.279 200.451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "1"; + minVelocity = "0.25"; + maxVelocity = "0.5"; + maxNumDrops = "2000"; + maxRadius = "150"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition9SWTree20) { + + powerCount = "0"; + + new TSStatic() { + position = "-68 -396 71.7812"; + rotation = "0 0 -1 44"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-436 -148 74.1718"; + rotation = "0 0 1 156"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "300 -404 189.781"; + rotation = "0 0 1 117"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-60 372 74.6093"; + rotation = "0 0 1 73"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "124 436 105.656"; + rotation = "0 0 1 36"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "108 -124 78.3438"; + rotation = "0 0 -1 41"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "484 236 84.8125"; + rotation = "0 0 -1 19.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "660 -132 120.203"; + rotation = "0 0 -1 88"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "180 -28 80.4688"; + rotation = "0 0 1 144"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-252 132 82.9219"; + rotation = "0 0 -1 40.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "148 -412 81.3437"; + rotation = "0 0 1 221"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "44 476 160.484"; + rotation = "0 0 1 48"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-156 -516 120.453"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "252 -140 86.9219"; + rotation = "0 0 1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-460 156 72.3437"; + rotation = "0 0 -1 86.0004"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + }; + new SimGroup(Addition10SWTree22) { + + powerCount = "0"; + + new TSStatic() { + position = "500 420 71.8125"; + rotation = "0 0 -1 58.0005"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-476 84 71.7812"; + rotation = "0 0 1 135"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "524 -172 73.2813"; + rotation = "0 0 1 96.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "108 -564 76.875"; + rotation = "0 0 -1 70.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "164 -292 74.5468"; + rotation = "0 0 1 94"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "444 20 73.5938"; + rotation = "0 0 1 133"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "564 -12 71.8437"; + rotation = "0 0 1 88.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-68 100 80.5938"; + rotation = "0 0 -1 43.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "756 340 85.4219"; + rotation = "0 0 -1 98.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-484 -324 72.3124"; + rotation = "0 0 -1 47"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "268 132 71.7812"; + rotation = "0 0 -1 77.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + }; + }; + new SimGroup(Addition11DSPlant16) { + + powerCount = "0"; + + new TSStatic() { + position = "-276 -652 133.125"; + rotation = "0 0 1 7.99996"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "76 -436 69.2031"; + rotation = "0 0 1 75.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-356 68 68.7812"; + rotation = "0 0 1 212"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "676 -68 79.0001"; + rotation = "0 0 -1 1.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-452 148 68.7812"; + rotation = "0 0 1 97"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition12DSPlant17) { + + powerCount = "0"; + + new TSStatic() { + position = "92 372 68.7812"; + rotation = "0 0 -1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "396 380 81.4376"; + rotation = "0.122221 0.0468632 0.991396 168.102"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "548 84 92.1562"; + rotation = "0.0898069 -0.161072 0.982848 76.9637"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "668 212 99.172"; + rotation = "0.28323 0.160838 0.945469 51.4691"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "76 12 68.7812"; + rotation = "0 0 1 136"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition13DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "372 252 68.7812"; + rotation = "0 0 1 110"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "508 356 68.7812"; + rotation = "0 0 1 18"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-80.8998 -389.785 69.5313"; + rotation = "0 0 1 52"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "468 260 71.5156"; + rotation = "0 0 -1 25.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "516 -108 68.7812"; + rotation = "0 0 1 58.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-356 -356 74.4063"; + rotation = "0 0 1 109"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition14DSPlant19) { + + powerCount = "0"; + + new TSStatic() { + position = "324 36 68.7812"; + rotation = "0 0 -1 98.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "33.0341 -345.353 68.7812"; + rotation = "0 0 1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-28 -492 82.7656"; + rotation = "0 0 1 207"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + }; + new SimGroup(Addition15SWTree20) { + + powerCount = "0"; + + new TSStatic() { + position = "172 140 71.7812"; + rotation = "0 0 1 99.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "404 -228 142.453"; + rotation = "0 0 -1 35"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "508 -188 72.9844"; + rotation = "0 0 -1 35.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "500 284 77.8125"; + rotation = "0 0 -1 35.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "724 -100 80.5938"; + rotation = "0 0 1 174"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "92 -660 106.156"; + rotation = "0 0 1 208"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "76 300 71.7812"; + rotation = "0 0 1 211"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "540 324 71.7812"; + rotation = "0 0 -1 85"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "52 180 75.2969"; + rotation = "0 0 1 38"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "220 -356 115.219"; + rotation = "0 0 1 45"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-388 -348 72.9688"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-236 124 84.625"; + rotation = "0 0 1 91.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "340 220 72.2187"; + rotation = "0 0 -1 22.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "276 404 72.5938"; + rotation = "0 0 1 67.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-44 500 115.609"; + rotation = "0 0 -1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + }; + new SimGroup(Addition16SWTree22) { + + powerCount = "0"; + + new TSStatic() { + position = "-324 236 113.297"; + rotation = "0 0 -1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "44 84 76.7187"; + rotation = "0 0 -1 74.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-180 -12 71.7812"; + rotation = "0 0 -1 78.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-508 180 73.0625"; + rotation = "0 0 1 225"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-484 -20 71.7812"; + rotation = "0 0 1 119"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "28 -28 71.7812"; + rotation = "0 0 -1 56"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "620 -204 80.5938"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "220 100 71.9218"; + rotation = "0 0 1 41"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-276 -316 86.5468"; + rotation = "0 0 1 140"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-76 44 72.125"; + rotation = "0 0 1 158"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-444 -820 107.078"; + rotation = "0 0 1 219"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + }; + }; + new SimGroup(Addition17DSPlant16) { + + powerCount = "0"; + + new TSStatic() { + position = "668 316 68.8906"; + rotation = "0 0 1 160"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "196 12 83.3906"; + rotation = "0 0 1 79.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-268 60 68.7812"; + rotation = "0 0 1 238"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "20 100 76.8438"; + rotation = "0 0 -1 17.9998"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-4 -92 71.2031"; + rotation = "0 0 1 132"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition18DSPlant17) { + + powerCount = "0"; + + new TSStatic() { + position = "-244 52 68.7812"; + rotation = "0 0 1 239"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "60 -116 84.9375"; + rotation = "0.0325265 -0.331341 0.94295 44.3013"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-356 -12 68.7812"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "516 -236 69.7032"; + rotation = "-0.023277 0.00358795 0.999723 172.003"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-308 -660 133.25"; + rotation = "0 0 1 215"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "604 -172 70.0469"; + rotation = "-0.0528171 0.0153391 -0.998486 112.08"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition19DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "324 380 74.4844"; + rotation = "0 0 1 47"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "46.1118 -494.562 70.1875"; + rotation = "0 0 1 120"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-484 -108 72.0782"; + rotation = "0 0 1 219"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "52 172 73.3125"; + rotation = "0 0 1 73"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition20DSPlant19) { + + powerCount = "0"; + + new TSStatic() { + position = "-387.301 126.034 71.8636"; + rotation = "0 0 1 190"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "372 356 86.8906"; + rotation = "0 0 1 161"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-428 -60 68.7812"; + rotation = "0 0 1 28"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-380 -508 137.172"; + rotation = "0 0 1 99.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "78.9668 -398.516 68.7812"; + rotation = "0 0 -1 105"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +package ColdWar +{ + +//Invincible equipment scripting + +function GeneratorLarge::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) + return; + else + Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +function StationInventory::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) + return; + else + Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +function SiegeGame::missionLoadDone(%game) +{ + nameToId("remotegen").setDamageLevel(2.5); + nameToId("remoteinv1").setDamageLevel(2.5); + nameToId("remoteinv2").setDamageLevel(2.5); + + Parent::missionLoadDone(%game); +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + switch (%obj) + { + case nameToId("FFGen1"): + bunkSpawnDeactivate("FF"); + + case nameToId("FFGen2"): + bunkSpawnDeactivate("FF"); + + case nameToId("SouthBunkGen"): + spawnSwitch(southspawn, 2, off); + threeBunksPower(); + + case nameToId("NorthBunkGen1"): + bunkSpawnDeactivate("North"); + + case nameToId("NorthBunkGen2"): + bunkSpawnDeactivate("North"); + + case nameToId("WestBunkGen1"): + bunkSpawnDeactivate("West"); + + case nameToId("WestBunkGen2"): + bunkSpawnDeactivate("West"); + } +} + + +function Generator::onEnabled(%data, %obj) +{ + Parent::onEnabled(%data, %obj); + + if (%obj == nameToId("remotegen")) + { + nameToId("remotegen").unksNoDamage = "1"; + nameToId("remoteinv1").unksNoDamage = "1"; + nameToId("remoteinv2").unksNoDamage = "1"; + spawnSwitch(remotespawn, 1, on); + } +} + +function bunkSpawnDeactivate(%bunk) +{ + switch$ (%bunk) + { + case "FF": + %ffgen1down = nameToId("FFGen1").isDisabled(); + %ffgen2down = nameToId("FFGen2").isDisabled(); + + if (%ffgen1down && %ffgen2down) + spawnSwitch(FFspawn, 2, off); + + case "North": + %northgen1down = nameToId("NorthBunkGen1").isDisabled(); + %northgen2down = nameToId("NorthBunkGen2").isDisabled(); + + if (%northgen1down && %northgen2down) + { + spawnSwitch(northspawn, 2, off); + threeBunksPower(); + } + + case "West": + %westgen1down = nameToId("WestBunkGen1").isDisabled(); + %westgen2down = nameToId("WestBunkGen2").isDisabled(); + + if (%westgen1down && %westgen2down) + { + spawnSwitch(westspawn, 2, off); + threeBunksPower(); + } + } +} + +function threeBunksPower() +{ + %southbunkdown = nameToId("SouthBunkGen").isDisabled(); + %northbunkdown = (nameToId("NorthBunkGen1").isDisabled() && nameToId("NorthBunkGen2").isDisabled()) ? true : false; + %westbunkdown = (nameToId("WestBunkGen1").isDisabled() && nameToId("WestBunkGen2").isDisabled()) ? true : false; + + if (%southbunkdown && %northbunkdown && %westbunkdown) { + spawnSwitch(Omainspawn, 1, off); + spawnSwitch(Dmainspawn, 2, on); + nameToId("remotegen").setDamageLevel(0); + nameToId("remoteinv1").setDamageLevel(0); + nameToId("remoteinv2").setDamageLevel(0); + nameToId("ThreeBunksGen").setDamageLevel(2.5); + } +} + + +//Easier to utilize spawn scripting + +function spawnSwitch(%name, %team, %action) { + + switch$ (%action) + { + case "on": + Game.claimSpawn(nameToId(%name), %team, 0); + + case "off": + Game.claimSpawn(nameToId(%name), 0, %team); + } +} + +//Cleanup for Siege Half-Time and end game + +function SiegeGame::halftimeOver(%game) +{ + nameToId("remotegen").unksNoDamage = "0"; + nameToId("remoteinv1").unksNoDamage = "0"; + nameToId("remoteinv2").unksNoDamage = "0"; + nameToId("remotegen").setDamageLevel(2.5); + nameToId("remoteinv1").setDamageLevel(2.5); + nameToId("remoteinv2").setDamageLevel(2.5); + + spawnSwitch(nothspawn, 2, on); + spawnSwitch(southspawn, 2, on); + spawnSwitch(westspawn, 2, on); + spawnSwitch(FFspawn, 2, on); + spawnSwitch(Omainspawn, 1, on); + spawnSwitch(remotespawn, 1, off); + spawnSwitch(Dmainspawn, 2, off); + + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + exec("scripts/forceField.cs"); + Parent::gameOver(%game); + deactivatePackage(ColdWar); +} + + +}; + +activatePackage(ColdWar); diff --git a/public/base/@vl2/ColdWar.vl2/terrains/ColdWar.spn b/public/base/@vl2/ColdWar.vl2/terrains/ColdWar.spn new file mode 100644 index 00000000..91c22e35 Binary files /dev/null and b/public/base/@vl2/ColdWar.vl2/terrains/ColdWar.spn differ diff --git a/public/base/@vl2/ColdWar.vl2/textures/gui/Load_ColdWar.png b/public/base/@vl2/ColdWar.vl2/textures/gui/Load_ColdWar.png new file mode 100644 index 00000000..59672bf5 Binary files /dev/null and b/public/base/@vl2/ColdWar.vl2/textures/gui/Load_ColdWar.png differ diff --git a/public/base/@vl2/Conclave.vl2/missions/Conclave.mis b/public/base/@vl2/Conclave.vl2/missions/Conclave.mis new file mode 100644 index 00000000..dcdba2dd --- /dev/null +++ b/public/base/@vl2/Conclave.vl2/missions/Conclave.mis @@ -0,0 +1,1067 @@ +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Because of thee, the land of dreams +//Becomes a gathering place of fears: +//Until tormented slumber seems +//One vehemence of useless tears. +// -- Lionel Pigot Johnson +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +// - Map by Fragment +//All generators must be destroyed before being able to capture the switch. +//The defense has 4 jerichos at the beginning. They do not respawn after being destroyed, however. +//Frictionless Forcefield script by a tiny fishie +//--- MISSION STRING END --- + +function ForceFieldBareData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + + //%velo = 1; + //%grav = 0.1; + //%appl = "0 0 0"; + + if (%obj.custom $= "" || %obj.custom $= "0") + { + %velo = %obj.velocityMod; + %grav = %obj.gravityMod; + %appl = %obj.appliedForce; + } + else + return; // add physical zones unless the force field contains 'custom = "1";' + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "3"; + powerCount = "0"; + musicTrack = "volcanic"; + + new MissionArea(MissionArea) { + area = "-704 -1152 1600 1104"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.200000 0.150000 0.000000"; + fogDistance = "300"; + fogColor = "0.200000 0.200000 0.150000 1.000000"; + fogVolume1 = "22 0 78"; + fogVolume2 = "150 78 175"; + fogVolume3 = "300 175 185"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1.000000"; + high_visibleDistance = "700"; + high_fogDistance = "-1"; + high_fogVolume1 = "750 215 235"; + high_fogVolume2 = "700 235 245"; + high_fogVolume3 = "750 245 255"; + + locked = "true"; + cloudSpeed0 = "0.000300 0.000300"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Recalescence.ter"; + squareSize = "8"; + emptySquares = "143827 275155 209877 144598 79319"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "Recalescence.nav"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-454.138 -338.312 179.047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "35"; + outdoorWeight = "65"; + }; + new SpawnSphere() { + position = "78.7341 -915.409 239.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "35"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "692.218 -618.959 126.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "35"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new InteriorInstance() { + position = "-463.285 -347.079 218.347"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "679.022 -606.751 132.571"; + rotation = "0 0 1 131.78"; + scale = "1 1 1"; + interiorFile = "dbunk_nefcliffside.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "42.8673 -950.816 224.805"; + rotation = "0 0 -1 45.2636"; + scale = "0.8 0.8 1"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "681.487 -631.453 165.436"; + rotation = "-0.267217 -0.521884 0.810082 66.684"; + scale = "1.6635 3.59041 1.06238"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "663.814 -618.859 120.829"; + rotation = "-0.975057 0.212686 0.0634681 34.0331"; + scale = "1 1 1.3"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-475.473 -322.145 204.296"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4254"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-480.458 -330.863 204.296"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4256"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "88.5801 -904.746 222.752"; + rotation = "0 0 1 45.2636"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4258"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "69.2492 -924.124 222.752"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4260"; + team = "1"; + Target = "36"; + }; + new Item() { + position = "79.4154 -914.906 223.565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "707.334 -631.943 145.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "724.061 -620.642 135.572"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4264"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "719.125 -608.441 135.572"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4266"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "685.077 -646.533 135.572"; + rotation = "0 0 1 194.988"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4268"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "698.102 -649.919 135.572"; + rotation = "0 0 1 194.988"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4270"; + team = "1"; + Target = "40"; + }; + new Item() { + position = "-479.894 -325.29 205.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "-452.789 -340.559 212.382"; + rotation = "0 0 1 27.9144"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "41"; + }; + new Turret() { + position = "-471.836 -329.609 215.8"; + rotation = "0 0 1 119.175"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "42"; + }; + new Turret() { + position = "69.1866 -905.448 213.324"; + rotation = "0.907775 0.378462 -0.18086 133.097"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "1"; + originalBarrel = "AABarrelLarge"; + Target = "43"; + }; + new Turret() { + position = "87.8508 -875.979 224.75"; + rotation = "0.922994 0.384807 -0.00223051 179.387"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "44"; + }; + new Turret() { + position = "40.5454 -923.507 224.757"; + rotation = "0.922994 0.384807 -0.00223051 179.387"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "45"; + }; + new Turret() { + position = "663.549 -593.011 148.6"; + rotation = "0 0 1 131.78"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "46"; + }; + new Turret() { + position = "680.8 -608.806 156.6"; + rotation = "0 0 -1 48.8842"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + originalBarrel = "ELFBarrelLarge"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-476.298 -341.402 203.106"; + rotation = "-0.41312 -0.238515 -0.878887 66.6027"; + scale = "24.4053 0.317947 10.8245"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + custom = "1"; + Target = "48"; + }; + new ForceFieldBare() { + position = "68.0153 -910.608 224.103"; + rotation = "0 0 -1 45.2636"; + scale = "10.0468 0.753814 6.85784"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + custom = "1"; + Target = "49"; + }; + new ForceFieldBare() { + position = "83.2802 -925.917 224.558"; + rotation = "0 0 -1 45.2636"; + scale = "10.0468 0.761656 6.85784"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + custom = "1"; + Target = "50"; + }; + new ForceFieldBare() { + position = "698.778 -597.208 135.907"; + rotation = "0.0290568 -0.0649268 0.997467 131.888"; + scale = "40.8273 0.415597 10.1264"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + custom = "1"; + Target = "51"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "143.425 -344.291 -44.307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "200"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + }; + }; + new SimGroup(mpbs) { + + powerCount = "0"; + + new WheeledVehicle() { + position = "302.386 -412.199 78.7371"; + rotation = "0.000923596 -0.00251091 0.999996 139.598"; + scale = "1 1 1"; + dataBlock = "MobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + deployed = "1"; + resetPos = "1"; + selfPower = "1"; + mountable = "0"; + fullyDeployed = "1"; + station = "6033"; + immobilized = "1"; + isDeployed = "1"; + shield = "6037"; + respawn = "0"; + team = "2"; + noEnemyControl = "1"; + Turret = "6035"; + Marker = "4371"; + Beacon = "6036"; + Target = "52"; + }; + new WheeledVehicle() { + position = "-12.1834 -391.6 78.7371"; + rotation = "0.00191409 0.00251132 -0.999995 105.365"; + scale = "1 1 1"; + dataBlock = "MobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + deployed = "1"; + resetPos = "1"; + selfPower = "1"; + mountable = "0"; + fullyDeployed = "1"; + station = "6039"; + immobilized = "1"; + isDeployed = "1"; + shield = "6043"; + respawn = "0"; + team = "2"; + noEnemyControl = "1"; + Turret = "6041"; + Marker = "4370"; + Beacon = "6042"; + Target = "53"; + }; + new WheeledVehicle() { + position = "310.817 -321.189 78.7371"; + rotation = "0.00250602 -0.00251118 0.999994 90.1228"; + scale = "1 1 1"; + dataBlock = "MobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + deployed = "1"; + resetPos = "1"; + selfPower = "1"; + mountable = "0"; + fullyDeployed = "1"; + station = "6045"; + immobilized = "1"; + isDeployed = "1"; + shield = "6049"; + respawn = "0"; + team = "2"; + noEnemyControl = "1"; + Turret = "6047"; + Marker = "4369"; + Beacon = "6048"; + Target = "54"; + }; + new WheeledVehicle() { + position = "35.4087 -256.456 78.7696"; + rotation = "7.6157e-05 -0.00626278 -0.99998 52.0801"; + scale = "1 1 1"; + dataBlock = "MobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + deployed = "1"; + resetPos = "1"; + selfPower = "1"; + mountable = "0"; + fullyDeployed = "1"; + station = "6051"; + immobilized = "1"; + isDeployed = "1"; + shield = "6055"; + respawn = "0"; + team = "2"; + noEnemyControl = "1"; + Turret = "6053"; + Marker = "4368"; + Beacon = "6054"; + Target = "55"; + }; + }; + new SimGroup(base) { + + powerCount = "4"; + + new ForceFieldBare() { + position = "139.311 -354.926 89.985"; + rotation = "1 0 0 0"; + scale = "8.31161 8.42269 1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "56"; + }; + new InteriorInstance() { + position = "45.9795 -350.845 78.7846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "243.126 -350.845 78.7846"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "131.436 -292.519 122.043"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "155.395 -411.179 122.043"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "203.742 -308.828 50.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "139.48 -362.667 97.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "129.823 -357.434 84.2931"; + rotation = "0 0 1 45.2637"; + scale = "1.2 1.2 1"; + interiorFile = "dmisc_nefflagstand2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "77.254 -308.828 50.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(Tower) { + position = "143.501 -305.525 80.631"; + rotation = "-0.000563182 0.707107 0.707107 179.935"; + scale = "1.95772 1 2.09201"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "4363"; + Target = "57"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(Spire) { + position = "143.455 -398.102 80.631"; + rotation = "-1 0 0 90"; + scale = "1.95772 1 2.09201"; + nameTag = "Spire"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "4364"; + Target = "58"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(Parapet) { + position = "74.9078 -350.842 84.799"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Parapet"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "4365"; + Target = "59"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(bulwark) { + position = "214.339 -350.843 84.8254"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bulwark"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "4366"; + Target = "60"; + needsObjectiveWaypoint = "1"; + }; + new InteriorInstance() { + position = "264.598 -386.864 77.79"; + rotation = "1 0 0 0"; + scale = "1.93582 1.50193 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "264.589 -350.847 77.79"; + rotation = "1 0 0 0"; + scale = "1.93582 1.50193 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "270.592 -368.883 77.79"; + rotation = "1 0 0 0"; + scale = "1.93582 1.50193 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "64.9577 -368.863 77.79"; + rotation = "1 0 0 0"; + scale = "1.93582 1.50193 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "70.9735 -386.873 77.79"; + rotation = "1 0 0 0"; + scale = "1.93582 1.50193 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "70.9845 -350.906 77.79"; + rotation = "1 0 0 0"; + scale = "1.93582 1.50193 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "139.395 -404.13 84.0793"; + rotation = "0 0 1 90"; + scale = "1.25944 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "139.436 -294.669 84.04"; + rotation = "0 0 1 90"; + scale = "1.21389 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + }; + new StaticShape(Platform) { + position = "143.516 -350.659 85.097"; + rotation = "1 0 0 0"; + scale = "3.47432 3.64954 1.24664"; + nameTag = "Platform"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "4367"; + Target = "61"; + needsObjectiveWaypoint = "1"; + }; + new SimGroup(powerprovided) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "197.694 -350.891 76.7272"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4320"; + team = "2"; + Target = "62"; + }; + new InteriorInstance() { + position = "200.3 -353.44 77.984"; + rotation = "1 0 0 0"; + scale = "0.323 0.323 0.231069"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "94.2411 -353.44 77.984"; + rotation = "1 0 0 0"; + scale = "0.323 0.323 0.231069"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "91.6662 -350.884 76.7272"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4324"; + team = "2"; + Target = "63"; + }; + new StaticShape() { + position = "143.639 -302.547 143.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "64"; + }; + new StaticShape() { + position = "143.507 -401.076 143.923"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "65"; + }; + new StaticShape() { + position = "54.619 -350.886 78.7029"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4336"; + team = "2"; + notReady = "1"; + inUse = "Down"; + Target = "70"; + }; + new StaticShape() { + position = "234.485 -350.818 78.722"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4338"; + team = "2"; + Target = "71"; + }; + }; + new Item() { + position = "207.942 -350.362 130.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "81.254 -350.47 130.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(observerdroppoints) { + + powerCount = "0"; + + new Camera() { + position = "106.505 -309.609 133.093"; + rotation = "0.134783 -0.301906 0.943762 134.305"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "325.251 -422.036 82.9147"; + rotation = "-0.0119596 -0.00498594 -0.999916 45.2658"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-406.548 -313.235 194.652"; + rotation = "-0.181587 -0.224187 -0.957479 104.41"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "47.8057 -918.806 238.023"; + rotation = "0.795366 -0.146856 0.58807 34.862"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "616.461 -622.435 137.949"; + rotation = "0.0189722 -0.00999803 0.99977 55.5878"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +package Conclave +{ + +function SiegeGame::gameOver(%game) +{ + exec("scripts/forcefield.cs"); + Parent::gameOver(%game); + deactivatePackage(Conclave); +} + +}; +activatePackage(Conclave); diff --git a/public/base/@vl2/Conclave.vl2/terrains/Conclave.spn b/public/base/@vl2/Conclave.vl2/terrains/Conclave.spn new file mode 100644 index 00000000..6048e379 Binary files /dev/null and b/public/base/@vl2/Conclave.vl2/terrains/Conclave.spn differ diff --git a/public/base/@vl2/ContainmentLarge.vl2/missions/ContainmentLarge.mis b/public/base/@vl2/ContainmentLarge.vl2/missions/ContainmentLarge.mis new file mode 100644 index 00000000..e3a7116a --- /dev/null +++ b/public/base/@vl2/ContainmentLarge.vl2/missions/ContainmentLarge.mis @@ -0,0 +1,1101 @@ +// DisplayName = Containment -Large- +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." -- Albert Einstein +// ----- +//Attackers and Defenders spawn in the same base. +//Attackers must take out generators as they go, starting with the Attic Generator, in order to reach Switch FF Generator. +//If the Main FF Gen goes down, you can go outside, but can't cap from there unless all gens go down. +//Thanks to: Verna, Fragment, Cypher19, SkaMaster, and Wasnes for helping test the map. +//Finally, thanks to Red Shifter for his *ahem* criticism (he's gonna hate it that his name's in the credits for this map ;)) +// -- Map by ???Unknown??? +//--- MISSION QUOTE END --- +//--- MISSION STRING BEGIN --- +//[Siege]Details (hit Esc in-game to view): The Attic Gen powers the green FF at the bottom of the exit chute and the upper blue FF at the back of the Offense base. +//The Great Hall Gen powers the large blue FF blocking the Offense hallway. The GH Gen isn't strictly neccessary in order to cap, but taking it down can bolster the offense. +//The Main FF Gen powers most of the rest of the FF's throughout the base, including the blue FF seperating it from the Great Hall. Taking it down allows access to the Switch Gen and the chutes leading to the switch. +//The Switch FF Gen powers the green FF at the bottom of the final chute to the switch. Taking it down allows access to the switch. +//The Equipment Gen powers the stations only, and is located in the upper "ducts" near the switch. +//The Control Point Switch is located just inside the South entrance to the Thule base. You can access it from the upper ductwork if the Switch Gen is down, or if all the Gens are down you can go outside near the Attic Gen, and reach the switch from there. +//Note: If all the Gens go down, the bright blue FF at the back of the Offense base goes down and the bright blue FFs in the doors leading outside also go down. The bright blue FFs get dimmer as each Gen goes down. +//The lights are powered by the switch gen only, if the lights go out, the switch gen is down and the switch is accessable. +//Credits: Map made by ???Unknown???. Thanks to: Verna for the banners; Fragment, Cypher19, SkaMaster, and Wasnes for helping test the map and pointing out some minor flaws. +//Special thanks to all the people of the pond server for their friendly (and not so friendly) criticism, and for helping test the map and offering ideas. +//--- MISSION STRING END --- + +datablock ForceFieldBareData(UnksElevatorFF) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = true; + color = "0.3 0.9 0.9"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Enrgtubes0000"; + texture[1] = "skins/Enrgtubes0001"; + texture[2] = "skins/Enrgtubes0002"; + texture[3] = "skins/Enrgtubes0003"; + texture[4] = "skins/Enrgtubes0004"; + + framesPerSec = 5; + numFrames = 5; + scrollSpeed = 0.5; + umapping = 1.0; + vmapping = 0.15; +}; + +function ForceFieldBareData::onAdd(%data, %obj) +{ + if(%obj.customPZ $= "1") { //add a dynamic field to your FF called "customPZ" with a value of 1 and it will have a custom PZ with the values set below + %velo = %obj.PZVelocity; //add a dynamic field to your FF called "PZVelocity" and set the value to what velocityMod you want + %grav = %obj.PZGravity; //dynamic field - PZGravity = whatever gravityMod you want your FF to have + } + + else { + %velo = "0.1"; + %grav = "1"; + } + + %appl = "0 0 0"; + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); + + Parent::onAdd(%data, %obj); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + Siege_timeLimit = "20"; + musicTrack = "ice"; + cdTrack = "5"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-536 -784 1040 1264"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "UltimaThule.ter"; + squareSize = "8"; + emptySquares = "218496 218752 358776 359032 424823 425079 425335"; + + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Containment.nav"; + XDimOverSize = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "5.53574 -190.785 58.6897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Switch) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "3.21898 -189.783 33.2977"; + rotation = "0 0 -1 90"; + scale = "1.25 1.25 1.25"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + AudioEnvironment = "BigRoom"; + + team = "2"; + }; + new ForceFieldBare(SwitchFF) { + position = "5.65942 -330.845 93.0638"; + rotation = "1 0 0 0"; + scale = "10.5385 0.602142 8.05337"; + nameTag = "Switch FF"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "33"; + }; + new TSStatic() { + position = "-50.0934 -165.257 32.3489"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.219 -165.132 32.9044"; + rotation = "1 0 0 0"; + scale = "4.99583 4.96484 4.12109"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.4362 -198.329 32.9414"; + rotation = "1 0 0 0"; + scale = "4.99583 4.96484 4.12109"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.7353 -198.113 32.8495"; + rotation = "0 0 -1 113.446"; + scale = "0.668997 0.81955 0.857754"; + shapeName = "borg16.dts"; + + team = "2"; + }; + new StaticShape(switchffgen) { + position = "55.5809 -240.515 35.1623"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Switch FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + locked = "false"; + name = "SwitchFFGenerator"; + repairedBy = "5388"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1334427"; + team = "2"; + WayPoint = "5544"; + lastDamagedBy = "5388"; + Target = "34"; + }; + new Item() { + position = "53.302 -182.26 65.8285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new StaticShape(Switch) { + position = "20.969 -336.49 113.249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "2759231"; + team = "2"; + WayPoint = "5545"; + lastDamagedBy = "10990"; + Target = "35"; + Projector = "0"; + }; + new ForceFieldBare() { + position = "-108.585 -207.534 37.4413"; + rotation = "1 0 0 0"; + scale = "1 12.8792 11.4925"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "36"; + }; + new ForceFieldBare() { + position = "-4.46135 -345.734 114.421"; + rotation = "1 0 0 0"; + scale = "1 18.4512 6.45997"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "37"; + }; + new InteriorInstance() { + position = "-43.6873 -19.383 134.119"; + rotation = "0 0 -1 90.5273"; + scale = "0.192918 0.814634 0.38618"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-43.7983 -50.7854 134.119"; + rotation = "0 0 -1 90.5273"; + scale = "0.192918 0.814634 0.38618"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(equipment) { + + powerCount = "1"; + + new StaticShape(Frag) { + position = "49.4424 -204.364 70.1484"; + rotation = "0 0 1 0.389667"; + scale = "1 1 1"; + nameTag = "Fragment\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5425"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "38"; + }; + new StaticShape(Cypher19) { + position = "50.0874 -160.433 70.167"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Cypher19\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5427"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "39"; + }; + new StaticShape(Unknown) { + position = "64.8511 -254.858 30.7572"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + nameTag = "???Unknown???\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5429"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "40"; + }; + new StaticShape(SkaEquipmentGen) { + position = "-21.1437 -274.962 74.5102"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Ska\'s Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "EquipmentGenerator"; + team = "2"; + Target = "41"; + }; + }; + new SimGroup(Attic) { + + powerCount = "1"; + + new StaticShape(AtticGen) { + position = "-47.0556 -38.0589 125.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Attic"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + locked = "false"; + name = "Attic Generator"; + repairedBy = "5388"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1437083"; + team = "2"; + WayPoint = "5546"; + lastDamagedBy = "5388"; + Target = "42"; + }; + new ForceFieldBare() { + position = "-23.0049 -123.073 37.2203"; + rotation = "1 0 0 0"; + scale = "13.2149 0.282745 12.2205"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "43"; + }; + new ForceFieldBare() { + position = "-108.585 -207.534 37.4413"; + rotation = "1 0 0 0"; + scale = "1 12.8792 11.4925"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-9.74882 -137.072 49.4426"; + rotation = "1 0 0 0"; + scale = "1 8.88647 8.06415"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new ForceFieldBare() { + position = "-4.46135 -345.734 114.421"; + rotation = "1 0 0 0"; + scale = "1 18.4512 6.45997"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + }; + new SimGroup(GreatHall) { + + powerCount = "1"; + + new StaticShape(GHGen) { + position = "54.4694 -182.458 37.6567"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Great Hall"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + locked = "false"; + repairedBy = "5388"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1391544"; + team = "2"; + WayPoint = "5547"; + lastDamagedBy = "5388"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-35.203 -143.585 37.4601"; + rotation = "1 0 0 0"; + scale = "0.577324 19.6081 11.5021"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "48"; + }; + new ForceFieldBare() { + position = "-108.585 -207.534 37.4413"; + rotation = "1 0 0 0"; + scale = "1 12.8792 11.4925"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + }; + new ForceFieldBare() { + position = "-4.46135 -345.734 114.421"; + rotation = "1 0 0 0"; + scale = "1 18.4512 6.45997"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "50"; + }; + new ForceFieldBare() { + position = "-40.4442 -113.952 84.0006"; + rotation = "0 1 0 179.909"; + scale = "12.5773 1.097 50.3626"; + dataBlock = "UnksElevatorFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "-7.5"; + team = "1"; + customPZ = "1"; + Target = "71"; + PZVelocity = "0.75"; + }; + }; + new SimGroup(MainFF) { + + powerCount = "1"; + + new StaticShape(MainFFGen) { + position = "-64.7598 -182.722 37.6571"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + locked = "false"; + name = "MainFFGenerator"; + repairedBy = "5388"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1562714"; + team = "2"; + WayPoint = "5548"; + lastDamagedBy = "5388"; + Target = "51"; + }; + new ForceFieldBare() { + position = "-61.008 -192.552 36.4633"; + rotation = "1 0 0 0"; + scale = "1 20.3395 11.2992"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + new ForceFieldBare() { + position = "38.3523 -146.164 51.1156"; + rotation = "0 0 1 89.9544"; + scale = "0.693922 9.17104 9.1086"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "53"; + }; + new ForceFieldBare() { + position = "54.4114 -219.54 37.511"; + rotation = "1 0 0 0"; + scale = "21.5971 0.794769 11.689"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + }; + new ForceFieldBare() { + position = "-108.585 -207.534 37.4413"; + rotation = "1 0 0 0"; + scale = "1 12.8792 11.4925"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "55"; + }; + new ForceFieldBare() { + position = "35.2862 -271.763 37.6425"; + rotation = "1 0 0 0"; + scale = "1 9.26959 11.6007"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "56"; + }; + new ForceFieldBare() { + position = "-4.46135 -345.734 114.421"; + rotation = "1 0 0 0"; + scale = "1 18.4512 6.45997"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "57"; + }; + new ForceFieldBare() { + position = "-52.1569 -10.2839 115.064"; + rotation = "1 0 0 0"; + scale = "10.507 1 9.24683"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "58"; + }; + new ForceFieldBare() { + position = "-6.73684 -296.385 37.5705"; + rotation = "1 0 0 0"; + scale = "1.17076 13.0816 11.4376"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "59"; + }; + }; + }; + new SimGroup(Team1) { + + position = "-52.253 3"; + powerCount = "0"; + + new SimGroup(spawnspheres) { + + position = "19 3"; + powerCount = "0"; + + new SpawnSphere() { + position = "-130.449 -155.272 39.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "16"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-122.508 -200.305 38.9142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "11"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-130.442 -188.99 40.4542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "16"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-119.52 -132.711 33.3728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "16"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-85.12 -132.711 33.1728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "16"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + + providesPower = "1"; + powerCount = "2"; + + new StaticShape() { + position = "375.031 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "60"; + }; + new ForceFieldBare() { + position = "-119.163 -143.939 37.6687"; + rotation = "0 0 -1 63.5983"; + scale = "0.427065 15.3476 11.2836"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + team = "1"; + customPZ = "1"; + Target = "61"; + PZVelocity = "1"; + }; + new StaticShape(GREEN) { + position = "-135.409 -195.575 37.7607"; + rotation = "0 0 1 219.625"; + scale = "1 1 1"; + nameTag = "Green Jello\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + UnksNoDamage = "1"; + }; + new StaticShape(Dans) { + position = "-136.379 -144.703 37.7607"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + nameTag = "Dan\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "-142.26 -187.202 41.8204"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + damageTimeMS = "2849244"; + team = "1"; + lastDamagedBy = "7165"; + Target = "-1"; + }; + new StaticShape() { + position = "-132.265 -169.867 41.8008"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + damageTimeMS = "2832180"; + team = "1"; + lastDamagedBy = "7165"; + Target = "-1"; + }; + new StaticShape(vernainv) { + position = "-136.211 -160.272 37.6337"; + rotation = "0 0 1 223.636"; + scale = "1 1 1"; + nameTag = "Verna\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + UnksNoDamage = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape(redshifterinv) { + position = "-135.953 -178.969 37.7006"; + rotation = "0 0 -1 42.9718"; + scale = "1 1 1"; + nameTag = "Red Shifter\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + UnksNoDamage = "1"; + }; + new ForceFieldBare() { + position = "-119.241 -207.531 37.5337"; + rotation = "1 0 0 0"; + scale = "0.362344 12.9297 11.7867"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + team = "1"; + customPZ = "1"; + Target = "68"; + PZVelocity = "1"; + }; + new StaticShape() { + position = "-142.23 -152.248 41.8214"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + damageTimeMS = "2831245"; + team = "1"; + lastDamagedBy = "7165"; + Target = "-1"; + }; + new TSStatic(KamikazeSamurai) { + position = "-129.53 -126.74 41.042"; + rotation = "0 0 1 179.909"; + scale = "2.5 2.5 2.5"; + shapeName = "bioderm_light.dts"; + + team = "1"; + }; + new Item() { + position = "-130.532 -129.386 44.6549"; + rotation = "0 0 1 180.482"; + scale = "2.5 2.5 2.5"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-129.54 -126.017 44.6663"; + rotation = "0 0 1 180.091"; + scale = "2.5 2.5 2.5"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "350"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "ice_dark.dml"; + windVelocity = "0.8 0.7 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000300 0.0003"; + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-123.6 -162.6 124.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "57.01 -329.326 163.148"; + rotation = "0.448717 0.195026 -0.872134 52.979"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-130.761 -205.771 47.4504"; + rotation = "0.484485 -0.0437219 0.873706 11.7942"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "52.9846 -183.003 85.9347"; + rotation = "0.144528 0.142975 -0.979117 90.5905"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "24.483 -336.526 119.683"; + rotation = "0.226263 0.226805 -0.947293 93.2377"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-49.069 -35.2987 105.024"; + rotation = "0.0696935 -0.168658 0.983208 135.778"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-67.162 -108.482 130.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-156.267 -279.118 203.606"; + rotation = "0 1 0 31.5126"; + scale = "1.71005 1.75318 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "120.774 -131.439 210.165"; + rotation = "0 0 -1 48.7014"; + scale = "2.29851 1.90265 1.70877"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "119.703 -306.184 167.608"; + rotation = "0 0 1 12.0321"; + scale = "1.16378 1.58153 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-82.6378 -543.135 242.058"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1.20488"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-22.4503 71.5691 153.838"; + rotation = "1 0 0 0"; + scale = "1.0139 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-129.437 -126.801 37.6958"; + rotation = "1 0 0 0"; + scale = "1.1489 1 1"; + shapeName = "statue_base.dts"; + }; + new TSStatic() { + position = "-46.8298 -115.666 80.7343"; + rotation = "-0.23584 0.23368 -0.943278 93.8702"; + scale = "2.68812 4.25787 5.84357"; + shapeName = "dmiscf.dts"; + }; +}; +//--- OBJECT WRITE END --- + +package ContainmentLarge +{ + + +function StationInventory::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) return; + else Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +function SiegeGame::gameOver(%game) +{ + exec("scripts/forceField.cs"); + Parent::gameOver(%game); + deactivatePackage(ContainmentLarge); +} + + +}; +activatePackage(ContainmentLarge); diff --git a/public/base/@vl2/ContainmentLarge.vl2/terrains/ContainmentLarge.spn b/public/base/@vl2/ContainmentLarge.vl2/terrains/ContainmentLarge.spn new file mode 100644 index 00000000..9f84c08b Binary files /dev/null and b/public/base/@vl2/ContainmentLarge.vl2/terrains/ContainmentLarge.spn differ diff --git a/public/base/@vl2/ContainmentLarge.vl2/textures/gui/Load_ContainmentLarge.png b/public/base/@vl2/ContainmentLarge.vl2/textures/gui/Load_ContainmentLarge.png new file mode 100644 index 00000000..b747bdce Binary files /dev/null and b/public/base/@vl2/ContainmentLarge.vl2/textures/gui/Load_ContainmentLarge.png differ diff --git a/public/base/@vl2/DeathFromBelow.vl2/missions/DeathFromBelow.mis b/public/base/@vl2/DeathFromBelow.vl2/missions/DeathFromBelow.mis new file mode 100644 index 00000000..53ceef11 --- /dev/null +++ b/public/base/@vl2/DeathFromBelow.vl2/missions/DeathFromBelow.mis @@ -0,0 +1,3829 @@ +// DisplayName = Death From Below +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +// -- Map by ???Unknown???. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]All gens but the Main Gen are unrepairable. Each outside gen powers FFs blocking the tunnel and the FFs guarding the Main Base. +//Destroy the outside gens to gain access to the tunnel. There are speed boosters in the tunnel to help speed up gameplay. +//All gens must be down to cap. +//Thanks to all the people of "the pond" server for their support. +//--- MISSION STRING END --- + +datablock TriggerData(boostTrigger) +{ + tickPeriodMS = 30; +}; + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + musicTrack = "desert"; + powerCount = "0"; + + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "257.262 293.751 364.169"; + rotation = "0.447819 0.212392 -0.868532 57.2753"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "134.322 518.094 296.295"; + rotation = "0.54675 -0.112468 0.829708 27.8482"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "136.756 776.399 331.238"; + rotation = "0.977999 -0.0734879 0.195238 42.1004"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "67.7805 -133.338 295.625"; + rotation = "0.0139871 0.00424236 -0.999893 33.749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "258.611 82.3261 335.355"; + rotation = "0.205506 0.165248 -0.964604 79.6298"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "156.384 1013.84 236.923"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "17.7209 -128.417 266.713"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Sky(Sky) { + position = "936 -456 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.030000 0.030000 0.030000 0.000000"; + fogDistance = "130"; + fogColor = "0.000000 0.000000 0.000000 0.100000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_starrynight.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "450"; + high_fogDistance = "200"; + high_fogVolume1 = "50 0 245"; + high_fogVolume2 = "75 245 258"; + high_fogVolume3 = "-1 8.46316e-34 0"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-228.474 -221.225 265.368"; + rotation = "1 0 0 0"; + scale = "1.29083 1.16781 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-226.222 -219.126 266.169"; + rotation = "1 0 0 0"; + scale = "1.29083 1.16781 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-226.638 -221.185 265.449"; + rotation = "1 0 0 0"; + scale = "1.4647 2.17164 1.80367"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-224.602 -219.568 266.249"; + rotation = "1 0 0 0"; + scale = "1.29083 1.16781 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-225.776 -220.658 266.329"; + rotation = "1 0 0 0"; + scale = "1.29083 1.16781 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228.148 -220.701 266.009"; + rotation = "1 0 0 0"; + scale = "1.29083 1.16781 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-225.274 -215.303 266.759"; + rotation = "0.0543402 -0.987007 0.151209 40.0134"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-231.971 -221.584 266.033"; + rotation = "1 0 0 0"; + scale = "1 1.32135 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228.963 -215.69 266.444"; + rotation = "0 0 1 118.602"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228.625 -225.404 265.722"; + rotation = "0 0 -1 91.6732"; + scale = "1 1.06019 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-224.022 -216.809 266.108"; + rotation = "0 0 -1 36.0963"; + scale = "1.02431 1.1393 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-223.245 -221.881 265.821"; + rotation = "0 0 1 81.933"; + scale = "1.05352 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "327.887 817.978 265.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "359.154 725.455 269.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "67.0046 -16.8158 304.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "111.902 94.5531 282.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "273.974 547.67 270.763"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "114.154 94.7323 282.451"; + rotation = "1 0 0 0"; + scale = "1.11131 1.1442 1.64018"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "30.5328 96.2653 272.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-43.5923 613.393 287.135"; + rotation = "0 0 1 57.2958"; + scale = "1.55665 1.52343 1.39993"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "90.6946 477.072 270.427"; + rotation = "0 0 1 49.8473"; + scale = "1.78635 2.99771 1.85937"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "42.6714 669.555 265.608"; + rotation = "0 0 1 115.165"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "104.522 645.118 261.699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new Item() { + position = "67.2382 -17.2018 304.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "67.1263 -16.9362 304.861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "85.0241 56.6928 273.084"; + rotation = "1 0 0 0"; + scale = "1.46126 1.78463 2.44092"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "98.6213 926.384 257.706"; + rotation = "0 0 -1 63.0254"; + scale = "1.41894 1.93362 1.49302"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "113.894 93.017 282.593"; + rotation = "1 0 0 0"; + scale = "1.21136 1.04659 1.42572"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "132.775 28.2093 285.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "112.521 92.0486 282.676"; + rotation = "1 0 0 0"; + scale = "1.05346 1.19259 1.35151"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "110.6 92.6482 282.394"; + rotation = "0 0 -1 53.858"; + scale = "1.13003 1.29988 1.42423"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "-109.888 -15.42 308.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + }; + new TSStatic() { + position = "109.785 95.5257 282.307"; + rotation = "1 0 0 0"; + scale = "1.15105 1.17684 1.36382"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "-89.5405 -55.7189 322.238"; + rotation = "1 0 0 0"; + scale = "1.20209 1.15929 1.31027"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "59.5072 111.347 273.271"; + rotation = "1 0 0 0"; + scale = "1.46424 1.34795 3.12145"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-48.3969 8.62529 304.008"; + rotation = "0 0 1 207.593"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "70.4341 70.0448 273.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "112.691 96.2724 282.407"; + rotation = "1 0 0 0"; + scale = "1.04929 1.14951 1.40637"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "53.4838 -51.1739 342.96"; + rotation = "0 0 1 36.6693"; + scale = "1.49212 1.47485 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "276.615 744.817 255.854"; + rotation = "0 0 -1 50.9932"; + scale = "1.07776 1.24604 1.27302"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-101.687 -130.011 334.125"; + rotation = "0 0 1 53.2851"; + scale = "0.940441 0.911772 0.799907"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "262.14 373.347 292.602"; + rotation = "0 1 0 8.59438"; + scale = "1 1 1.45116"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "209.331 180.62 220.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "342.829 -7.87166 221.45"; + rotation = "1 0 0 0"; + scale = "3.80802 3.315 7.08705"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "325.31 12.1319 222.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "348.756 34.9225 221.698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "289.902 25.5732 220.668"; + rotation = "1 0 0 0"; + scale = "1 1 1.57826"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "319.983 46.0279 212.997"; + rotation = "0.0669438 0.291423 0.954249 47.2011"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "338.312 52.6538 213.179"; + rotation = "0 0 -1 78.4952"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "338.711 65.8385 210.47"; + rotation = "0 0 -1 35.5234"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "337.278 56.9864 212.099"; + rotation = "0 0 1 26.929"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "258.813 171.707 210.13"; + rotation = "0 0 -1 28.0749"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "325 51.4245 211.141"; + rotation = "0.0672567 -0.0601892 -0.995919 59.7899"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "332.048 40.9211 212.325"; + rotation = "0 0 -1 15.4699"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "333.612 48.6275 214.004"; + rotation = "0 0 -1 30.3667"; + scale = "2.36981 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "307.16 41.2702 211.397"; + rotation = "0 0 -1 40.107"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "300.427 37.3066 212.436"; + rotation = "0.966525 -0.140869 0.214443 42.6172"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "312.051 42.3081 211.397"; + rotation = "0 0 1 39.5341"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "321.366 56.4559 209.366"; + rotation = "0.184657 -0.0442112 -0.981808 27.4093"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "313.6 50.7234 210.641"; + rotation = "0 0 -1 26.356"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "307.997 42.3981 207.531"; + rotation = "1 0 0 0"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "304.001 52.7621 208.583"; + rotation = "0.329255 0.103657 -0.938534 37.0872"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "327.202 65.6997 209.279"; + rotation = "0 0 -1 19.4806"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "236.048 146.754 208.097"; + rotation = "-0.101065 -0.626257 -0.773038 23.5834"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "224.987 147.739 212.528"; + rotation = "0 0 1 66.4631"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "235.441 158.905 209.96"; + rotation = "0 0 1 17.1887"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "226.375 165.698 211.63"; + rotation = "0 0 1 6.30252"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "232.501 168.773 212.158"; + rotation = "0 0 -1 4.58367"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "226.793 158.987 211.234"; + rotation = "0 0 1 236.814"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "235.328 137.605 210.053"; + rotation = "0 0 -1 56.7228"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "242.585 153.26 206.99"; + rotation = "0.851077 0.0939979 -0.516558 24.1375"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "244.906 167.811 210.097"; + rotation = "0.38855 -0.0828166 0.917698 26.1511"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "240.907 177.321 213.589"; + rotation = "-0.909921 0.045534 0.412275 13.8413"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "254.447 179.11 213.53"; + rotation = "0 0 1 25.2101"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "324.847 41.2054 212.952"; + rotation = "0.190322 0.245228 -0.9506 33.6608"; + scale = "2.32888 1.38741 2.99952"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "95.8634 813.942 247.585"; + rotation = "1 0 0 0"; + scale = "3.80802 3.315 7.08705"; + shapeName = "borg5.dts"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Alcatraz.ter"; + squareSize = "8"; + emptySquares = "91235 93307 93309 93563 93565 97673"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "DeathFromBelow.nav"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-226.177 -220.175 173.395"; + rotation = "0 0 1 180.091"; + scale = "1.52456 2.70489 2.21288"; + interiorFile = "bmisc5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new TSStatic() { + position = "-226.174 -222.011 261.936"; + rotation = "1 0 0 89.9544"; + scale = "1 2.15922 0.1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-226.083 -208.377 256.071"; + rotation = "1 0 0 180.091"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new Item() { + position = "-225.95 -200.816 254.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-223.907 -213.963 260.251"; + rotation = "0 1 0 89.9544"; + scale = "1.35526 1 0.813513"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "0"; + }; + new TSStatic() { + position = "-228.074 -214.006 260.352"; + rotation = "0 1 0 89.9544"; + scale = "1.35526 1 0.192306"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "0"; + }; + new SimGroup(RedSS) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "-218.772 -205.894 258.951"; + rotation = "-0.565794 0.599367 -0.566247 118.086"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "33"; + }; + new ForceFieldBare() { + position = "-218.612 -203.101 257.355"; + rotation = "-0.565794 0.599367 -0.566247 118.086"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "34"; + }; + new ForceFieldBare() { + position = "-218.667 -203.991 257.353"; + rotation = "-0 0 -1 86.6989"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "35"; + }; + new ForceFieldBare() { + position = "-218.772 -205.895 258.151"; + rotation = "-0.565794 0.599367 -0.566247 118.086"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "36"; + }; + new ForceFieldBare() { + position = "-218.828 -206.786 257.353"; + rotation = "-0 0 -1 86.6989"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "37"; + }; + new ForceFieldBare() { + position = "-218.77 -205.864 257.351"; + rotation = "-0.565794 0.599367 -0.566247 118.086"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "38"; + }; + new ForceFieldBare() { + position = "-218.621 -203.193 258.171"; + rotation = "-0 0 -1 86.6989"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "39"; + }; + new ForceFieldBare() { + position = "-218.748 -205.389 257.187"; + rotation = "-0 0 -1 86.6989"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "40"; + }; + new ForceFieldBare() { + position = "-218.611 -203.098 258.951"; + rotation = "-0.565794 0.599367 -0.566247 118.086"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "41"; + }; + new ForceFieldBare() { + position = "-218.702 -204.59 257.187"; + rotation = "-0 0 -1 86.6989"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "42"; + }; + new ForceFieldBare() { + position = "-218.612 -203.1 258.151"; + rotation = "-0.565794 0.599367 -0.566247 118.086"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "43"; + }; + new ForceFieldBare() { + position = "-218.781 -205.987 258.171"; + rotation = "-0 0 -1 86.6989"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-233.492 -203.985 258.951"; + rotation = "0.562437 0.605665 0.562881 117.556"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "45"; + }; + new ForceFieldBare() { + position = "-233.496 -203.892 258.171"; + rotation = "0 0 1 85.7614"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "46"; + }; + new ForceFieldBare() { + position = "-233.284 -206.776 258.151"; + rotation = "0.562437 0.605665 0.562881 117.556"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-233.391 -205.287 257.187"; + rotation = "0 0 1 85.7614"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "48"; + }; + new ForceFieldBare() { + position = "-233.285 -206.778 258.951"; + rotation = "0.562437 0.605665 0.562881 117.556"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "49"; + }; + new ForceFieldBare() { + position = "-233.45 -204.489 257.187"; + rotation = "0 0 1 85.7614"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "50"; + }; + new ForceFieldBare() { + position = "-233.288 -206.683 258.171"; + rotation = "0 0 1 85.7614"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "51"; + }; + new ForceFieldBare() { + position = "-233.491 -204.015 257.351"; + rotation = "0.562437 0.605665 0.562881 117.556"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "52"; + }; + new ForceFieldBare() { + position = "-233.554 -203.094 257.353"; + rotation = "0 0 1 85.7614"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "53"; + }; + new ForceFieldBare() { + position = "-233.493 -203.984 258.151"; + rotation = "0.562437 0.605665 0.562881 117.556"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "54"; + }; + new ForceFieldBare() { + position = "-233.347 -205.886 257.353"; + rotation = "0 0 1 85.7614"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "55"; + }; + new ForceFieldBare() { + position = "-233.285 -206.775 257.355"; + rotation = "0.562437 0.605665 0.562881 117.556"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "56"; + }; + }; + new StaticShape(SSGen) { + position = "-225.954 -193.528 247.526"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "S||S"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "519052"; + locked = "true"; + lastDamagedBy = "5042"; + team = "0"; + canBlow = "0"; + lastDamagedByTeam = "2"; + repairedBy = "5042"; + Target = "57"; + }; + new SimGroup(GreenSS) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "-233.376 -195.954 258.954"; + rotation = "0.58825 0.554415 0.588715 121.952"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "58"; + }; + new ForceFieldBare() { + position = "-233.402 -196.459 257.19"; + rotation = "0 0 1 93.3924"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "59"; + }; + new ForceFieldBare() { + position = "-233.543 -198.779 257.354"; + rotation = "0.58825 0.554415 0.588715 121.952"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "60"; + }; + new ForceFieldBare() { + position = "-233.531 -198.655 258.174"; + rotation = "0 0 1 93.3924"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "61"; + }; + new ForceFieldBare() { + position = "-233.485 -197.857 257.356"; + rotation = "0 0 1 93.3924"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "62"; + }; + new ForceFieldBare() { + position = "-233.541 -198.75 258.954"; + rotation = "0.58825 0.554415 0.588715 121.952"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "63"; + }; + new ForceFieldBare() { + position = "-233.366 -195.86 258.174"; + rotation = "0 0 1 93.3924"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "64"; + }; + new ForceFieldBare() { + position = "-233.378 -195.984 257.354"; + rotation = "0.58825 0.554415 0.588715 121.952"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "65"; + }; + new ForceFieldBare() { + position = "-233.376 -195.953 258.154"; + rotation = "0.58825 0.554415 0.588715 121.952"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "66"; + }; + new ForceFieldBare() { + position = "-233.448 -197.258 257.19"; + rotation = "0 0 1 93.3924"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "67"; + }; + new ForceFieldBare() { + position = "-233.541 -198.748 258.154"; + rotation = "0.58825 0.554415 0.588715 121.952"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "68"; + }; + new ForceFieldBare() { + position = "-233.319 -195.062 257.356"; + rotation = "0 0 1 93.3924"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "69"; + }; + new ForceFieldBare() { + position = "-218.776 -195.986 257.353"; + rotation = "0 0 -1 94.1473"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "70"; + }; + new ForceFieldBare() { + position = "-218.634 -197.887 258.151"; + rotation = "0.59062 -0.549342 0.591093 237.602"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "71"; + }; + new ForceFieldBare() { + position = "-218.574 -198.778 257.353"; + rotation = "0 0 -1 94.1473"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "72"; + }; + new ForceFieldBare() { + position = "-218.636 -197.856 257.351"; + rotation = "0.59062 -0.549342 0.591093 237.602"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "73"; + }; + new ForceFieldBare() { + position = "-218.834 -195.188 258.171"; + rotation = "0 0 -1 94.1473"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "74"; + }; + new ForceFieldBare() { + position = "-218.675 -197.382 257.187"; + rotation = "0 0 -1 94.1473"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "75"; + }; + new ForceFieldBare() { + position = "-218.837 -195.093 258.951"; + rotation = "0.59062 -0.549342 0.591093 237.602"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "76"; + }; + new ForceFieldBare() { + position = "-218.733 -196.584 257.187"; + rotation = "0 0 -1 94.1473"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "77"; + }; + new ForceFieldBare() { + position = "-218.837 -195.095 258.151"; + rotation = "0.59062 -0.549342 0.591093 237.602"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "78"; + }; + new ForceFieldBare() { + position = "-218.631 -197.98 258.171"; + rotation = "0 0 -1 94.1473"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "79"; + }; + new ForceFieldBare() { + position = "-218.837 -195.096 257.355"; + rotation = "0.59062 -0.549342 0.591093 237.602"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "80"; + }; + new ForceFieldBare() { + position = "-218.634 -197.886 258.951"; + rotation = "0.59062 -0.549342 0.591093 237.602"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "81"; + }; + }; + new SimGroup(BlueSS) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "-227.015 -189.856 252.337"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "82"; + }; + new ForceFieldBare() { + position = "-225.109 -189.849 253.935"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "83"; + }; + new ForceFieldBare() { + position = "-225.108 -189.849 253.135"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "84"; + }; + new ForceFieldBare() { + position = "-227.939 -189.854 252.335"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "85"; + }; + new ForceFieldBare() { + position = "-224.215 -189.852 252.337"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "86"; + }; + new ForceFieldBare() { + position = "-225.015 -189.853 253.155"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "87"; + }; + new ForceFieldBare() { + position = "-225.139 -189.849 252.335"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "88"; + }; + new ForceFieldBare() { + position = "-227.908 -189.854 253.135"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "89"; + }; + new ForceFieldBare() { + position = "-227.815 -189.858 253.155"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "90"; + }; + new ForceFieldBare() { + position = "-226.415 -189.856 252.171"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "91"; + }; + new ForceFieldBare() { + position = "-225.615 -189.854 252.171"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "92"; + }; + new ForceFieldBare() { + position = "-227.91 -189.854 253.935"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "93"; + }; + }; + new SimGroup(OrangeSS) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "-227.09 -212.088 259.258"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "94"; + }; + new ForceFieldBare() { + position = "-225.184 -212.081 260.856"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "95"; + }; + new ForceFieldBare() { + position = "-225.183 -212.081 260.056"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "96"; + }; + new ForceFieldBare() { + position = "-228.014 -212.086 259.256"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "97"; + }; + new ForceFieldBare() { + position = "-224.29 -212.084 259.258"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.822448"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "98"; + }; + new ForceFieldBare() { + position = "-225.09 -212.085 260.076"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "99"; + }; + new ForceFieldBare() { + position = "-225.214 -212.081 259.256"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.919128"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "100"; + }; + new ForceFieldBare() { + position = "-227.983 -212.086 260.056"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "101"; + }; + new ForceFieldBare() { + position = "-227.89 -212.09 260.076"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 0.87709"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "102"; + }; + new ForceFieldBare() { + position = "-226.49 -212.088 259.092"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "103"; + }; + new ForceFieldBare() { + position = "-225.69 -212.086 259.092"; + rotation = "0 0 1 179.909"; + scale = "0.1 0.1 1.96376"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "104"; + }; + new ForceFieldBare() { + position = "-227.985 -212.086 260.856"; + rotation = "0.706825 0.000562883 0.707388 179.935"; + scale = "0.1 0.1 0.887872"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "7"; + locked = "false"; + team = "0"; + Target = "105"; + }; + }; + }; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "147.043 1031.67 228.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "149.294 978.906 227.528"; + rotation = "1 0 0 0"; + scale = "1 0.95099 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "184.445 1005.74 196.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "190.233 1035.48 196.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new SimGroup(Tunnel) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "94.1825 269.981 227.145"; + rotation = "0 0 1 2.86462"; + scale = "33.2438 699.588 1.70375"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "106"; + }; + new InteriorInstance(InteriorInstance) { + position = "209.324 340.749 327.692"; + rotation = "0 0 1 31.5127"; + scale = "0.1 0.190487 0.559917"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "165.583 956.374 252.63"; + rotation = "0 0 1 4.0109"; + scale = "0.146078 0.907469 0.858285"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "167.296 952.872 252.492"; + rotation = "0 0 1 93.9653"; + scale = "0.1 0.424938 0.840295"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "108.847 460.821 245.696"; + rotation = "0.0349993 0.998775 0.0349714 90.0246"; + scale = "0.250513 43.0727 1.09624"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "107.046 440.962 229.6"; + rotation = "0.0349993 0.998775 0.0349714 90.0246"; + scale = "0.109588 44.0702 1.12146"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "126.13 872.151 246.639"; + rotation = "0 0 1 4.0109"; + scale = "2.96965 8.75772 1.06764"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "154.455 870.159 246.727"; + rotation = "0 0 1 4.0109"; + scale = "1.19692 8.80289 1.04962"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "136.075 608.026 246.727"; + rotation = "0 0 1 4.0109"; + scale = "0.190791 8.12809 1.04962"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "145.172 737.766 246.727"; + rotation = "0 0 1 4.0109"; + scale = "0.190791 8.12326 1.04962"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "115.325 312.101 246.727"; + rotation = "0 0 1 4.0109"; + scale = "0.190791 11.8082 1.04962"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "172.22 955.912 252.499"; + rotation = "0 0 1 4.0109"; + scale = "0.1 0.907875 0.82964"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "98.3218 315.849 246.639"; + rotation = "0 0 1 4.0109"; + scale = "0.176805 11.9391 1.06764"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "110.585 490.745 246.639"; + rotation = "0 0 1 4.0109"; + scale = "0.176805 8.01758 1.06764"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "119.808 622.281 246.639"; + rotation = "0 0 1 4.0109"; + scale = "0.176805 7.08513 1.06764"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "128.025 739.462 246.639"; + rotation = "0 0 1 4.0109"; + scale = "0.176805 8.10023 1.06764"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "117.197 455.717 246.695"; + rotation = "0.0349993 0.998775 0.0349714 90.0246"; + scale = "0.1 0.534277 7.66868"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "127.772 489.609 246.727"; + rotation = "0 0 1 4.0109"; + scale = "0.190791 7.1871 1.04962"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "154.313 451.49 246.73"; + rotation = "0 0 1 93.9653"; + scale = "0.10201 7.119 1.05324"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "165.782 956.244 238.888"; + rotation = "0.0349993 0.998775 0.0349714 90.0246"; + scale = "0.1 0.90244 0.417306"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "111.566 587.084 258.113"; + rotation = "0 0 1 93.9653"; + scale = "0.1 0.52608 1.77345"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "109.226 588.619 229.463"; + rotation = "0.0349993 0.998775 0.0349714 90.0246"; + scale = "0.1 0.524917 0.566004"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "109.228 588.87 258.188"; + rotation = "0 0 1 4.0109"; + scale = "0.1 0.504167 1.78451"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "111.832 594.791 258.683"; + rotation = "0 0 1 93.9653"; + scale = "0.1 0.52608 1.82084"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "117.672 588.293 258.649"; + rotation = "0 0 1 4.0109"; + scale = "0.1 0.492169 1.03129"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "168.15 966.985 252.67"; + rotation = "0 0 1 93.9653"; + scale = "2.23195 0.400067 0.474532"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "241.654 445.412 286.925"; + rotation = "0 0 1 93.9653"; + scale = "0.1 0.52608 3.56365"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "247.771 446.772 287.15"; + rotation = "0 0 1 4.0109"; + scale = "0.1 0.530098 3.58312"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "241.951 453.568 285.312"; + rotation = "0 0 1 93.9653"; + scale = "0.1 0.52608 3.46041"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "239.357 447.281 285.489"; + rotation = "0 0 1 4.0109"; + scale = "0.1 0.504167 2.44391"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new StaticShape(fraginv) { + position = "-231.32 -212.083 247.333"; + rotation = "0 0 1 220.588"; + scale = "1 1 1"; + nameTag = "Fragment\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "1768472"; + lastDamagedBy = "4969"; + inUse = "Down"; + Trigger = "5464"; + team = "1"; + lastDamagedByTeam = "1"; + Target = "107"; + }; + new InteriorInstance() { + position = "174.844 1001.85 246.688"; + rotation = "0 0 1 2.8649"; + scale = "1.12351 3.56787 0.614505"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new StaticShape(firefrenzyinv) { + position = "134.617 1029.04 230.063"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Fire Frenzy\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "5467"; + team = "1"; + repairedBy = "19740"; + Target = "108"; + }; + new InteriorInstance() { + position = "187.626 986.982 243.264"; + rotation = "0 0 1 3.43793"; + scale = "0.1 1.34869 0.411238"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "180.825 1044.36 243.122"; + rotation = "0 0 1 93.3923"; + scale = "0.44294 0.898273 0.393988"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new StaticShape(UnknownGen) { + position = "193.032 990.038 237.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "???Unknown???\'s"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "109"; + }; + new StaticShape(dsezinv) { + position = "150.671 1051.02 230.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "DSEZ\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "2878957"; + locked = "false"; + lastDamagedBy = "14944"; + inUse = "Down"; + Trigger = "5472"; + team = "1"; + lastDamagedByTeam = "1"; + repairedBy = "19740"; + Target = "110"; + }; + new StaticShape(shadowofthepastinv) { + position = "164.589 1050.48 230.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "ShadowOfThePast\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "2878957"; + locked = "false"; + lastDamagedBy = "14944"; + inUse = "Down"; + Trigger = "5474"; + team = "1"; + lastDamagedByTeam = "1"; + repairedBy = "15528"; + Target = "111"; + }; + new StaticShape(JambonInv) { + position = "199.034 1036.03 230.1"; + rotation = "0 0 1 89.9544"; + scale = "0.889996 0.947349 1"; + nameTag = "Jambon\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "5476"; + team = "1"; + Target = "112"; + }; + new ForceFieldBare() { + position = "187.566 981.281 236.783"; + rotation = "0 0 1 3.43793"; + scale = "11.2556 13.4615 6.37609"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "113"; + }; + new Item() { + position = "157.16 1037.45 230.861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance(base) { + position = "155.994 1019.71 229.074"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape(KamikazeRaptorInv) { + position = "133.697 1011.9 230.073"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "KamikazeRaptor\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "2391970"; + locked = "false"; + lastDamagedBy = "14944"; + inUse = "Down"; + Trigger = "5482"; + team = "1"; + lastDamagedByTeam = "1"; + repairedBy = "19740"; + Target = "114"; + }; + new SimGroup(boosters) { + + powerCount = "1"; + + new Trigger() { + position = "143.593 959.231 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "136.515 858.279 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "129.862 759.067 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "122.784 658.115 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "117.566 583.698 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "112.838 516.263 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "108.208 450.225 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "103.382 381.394 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "97.4648 297.001 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + mainT = "1"; + team = "1"; + }; + new Trigger() { + position = "203.649 456.339 229.46"; + rotation = "0 0 1 4.01071"; + scale = "0.1 8.93227 17.8579"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + sideT = "1"; + team = "1"; + }; + new Trigger() { + position = "128.833 461.585 229.46"; + rotation = "0 0 1 4.01071"; + scale = "0.1 8.93227 17.8579"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + sideT = "1"; + team = "1"; + }; + new Trigger() { + position = "239.589 453.603 247.312"; + rotation = "0 0 1 4.01071"; + scale = "9.08515 8.93227 0.1"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "1"; + verticalT = "1"; + }; + new Trigger() { + position = "109.206 594.874 242.461"; + rotation = "0 0 1 4.01071"; + scale = "9.08515 8.93227 0.1"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "1"; + verticalT = "1"; + }; + new Trigger() { + position = "184.297 457.696 229.46"; + rotation = "0 0 1 4.01071"; + scale = "0.1 8.93227 17.8579"; + dataBlock = "boostTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + sideT = "1"; + team = "1"; + }; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(BaseSpawn) { + position = "40.507 -103.834 284.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere(HillTopSpawn) { + position = "163.681 375.642 334.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere(FieldSpawn) { + position = "141.063 782.533 266.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(ValleySpawn) { + position = "188.104 612.751 267.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "75"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance(base) { + position = "40 -104 277.557"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbase9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape(MainBasegen) { + position = "40.0668 -102.235 302.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2170935"; + locked = "true"; + lastDamagedBy = "5236"; + team = "2"; + WayPoint = "5642"; + needsObjectiveWaypoint = "1"; + lastDamagedByTeam = "1"; + repairedBy = "24785"; + Target = "115"; + }; + new StaticShape() { + position = "65.9237 -96.1254 279.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "7091466"; + locked = "true"; + lastDamagedBy = "5042"; + inUse = "Down"; + Trigger = "5511"; + team = "2"; + lastDamagedByTeam = "1"; + Target = "116"; + }; + new StaticShape() { + position = "39.8823 -142.054 279.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + locked = "true"; + inUse = "Down"; + Trigger = "5513"; + team = "2"; + Target = "117"; + }; + new ForceFieldBare() { + position = "45.9073 -132.454 262.431"; + rotation = "0 -1 0 29.2209"; + scale = "0.1 6.59927 8.51785"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "118"; + }; + new StaticShape(Switch) { + position = "52.1947 -129.04 262.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "11083146"; + locked = "false"; + lastDamagedBy = "16116"; + team = "2"; + WayPoint = "5643"; + needsObjectiveWaypoint = "1"; + lastDamagedByTeam = "1"; + Target = "119"; + }; + new StaticShape() { + position = "-220.961 -212.163 247.31"; + rotation = "0 0 1 147.25"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "1938665"; + lastDamagedBy = "4969"; + inUse = "Down"; + Trigger = "5518"; + team = "2"; + lastDamagedByTeam = "1"; + Target = "120"; + }; + new StaticShape() { + position = "54.9829 -96.2136 269.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "879916"; + lastDamagedBy = "5069"; + inUse = "Down"; + Trigger = "5520"; + team = "2"; + lastDamagedByTeam = "2"; + Target = "121"; + }; + new StaticShape() { + position = "55.0125 -112.294 269.539"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "876836"; + lastDamagedBy = "5069"; + inUse = "Down"; + Trigger = "5522"; + team = "2"; + zapSound = "0"; + lastDamagedByTeam = "2"; + repairedBy = "18229"; + Target = "122"; + teamDamageStateOnZap = "1"; + }; + }; + new SimGroup(HillTopBase) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "195.796 351.462 302.337"; + rotation = "0 0 1 211.421"; + scale = "1.46703 1.4 1.56921"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(hilltopgen) { + position = "183.975 357.05 326.819"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + nameTag = "Hill Top"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2133529"; + lastDamagedBy = "5236"; + team = "2"; + WayPoint = "5644"; + needsObjectiveWaypoint = "1"; + lastDamagedByTeam = "1"; + repairedBy = "13598"; + Target = "123"; + }; + new TSStatic() { + position = "184.607 348.358 343.413"; + rotation = "-0 0 -1 27.5021"; + scale = "0.436002 1.09064 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new Item() { + position = "191.518 356.702 312.46"; + rotation = "0 0 1 27.502"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "202.907 344.261 330.967"; + rotation = "-0.257913 -0.931165 0.257707 94.0373"; + scale = "2.19908 0.238714 0.864624"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic() { + position = "204.06 346.076 331.176"; + rotation = "-0.262251 -0.92874 0.262042 94.1864"; + scale = "2.15921 0.218873 0.864624"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "195.255 350.183 343.092"; + rotation = "0 0 -1 109.435"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "1202744"; + lastDamagedBy = "5236"; + inUse = "Down"; + Trigger = "5531"; + team = "2"; + lastDamagedByTeam = "1"; + repairedBy = "4969"; + Target = "124"; + }; + new ForceFieldBare() { + position = "195.952 340.867 342.904"; + rotation = "0 0 -1 18.9076"; + scale = "0.1 18.5518 6.60388"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "125"; + }; + new ForceFieldBare() { + position = "108.566 453.17 229.889"; + rotation = "0 0 1 4.01071"; + scale = "17.0672 1.32573 16.5388"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "126"; + }; + new ForceFieldBare() { + position = "36.0996 -107.969 302.357"; + rotation = "1 0 0 0"; + scale = "7.86251 7.93891 5.32117"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "127"; + }; + new InteriorInstance(InteriorInstance) { + position = "186.609 338.167 345.217"; + rotation = "0 0 1 121.467"; + scale = "0.1 0.214066 1.74559"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "179.902 358.708 343.565"; + rotation = "0 0 1 31.5127"; + scale = "0.1 0.1983 0.423089"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(ValleyBase) { + + powerCount = "1"; + + new InteriorInstance() { + position = "189.44 552.025 260.937"; + rotation = "0 0 -1 49.2743"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "1"; + + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "190.567 552.535 278.425"; + rotation = "0 0 -1 49.2744"; + scale = "0.140988 1.38469 0.755066"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic() { + position = "189.14 550.914 278.395"; + rotation = "0 0 -1 49.2744"; + scale = "0.159382 1.38469 0.811584"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "181.737 549.997 272.966"; + rotation = "0.882646 -0.332267 0.332467 97.0871"; + scale = "1.51581 1.43627 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "190.125 559.721 272.935"; + rotation = "0.882646 -0.332267 0.332467 97.0871"; + scale = "1.56189 1.43627 1"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "125.972 455.26 229.667"; + rotation = "0.0349993 0.998775 0.0349714 90.0246"; + scale = "0.1 0.534277 7.66868"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new TSStatic() { + position = "190.169 552.714 263.06"; + rotation = "0 0 -1 49.2744"; + scale = "0.140988 1.77697 0.755066"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "188.765 551.073 263.03"; + rotation = "0 0 -1 49.2744"; + scale = "0.159382 1.75645 0.811584"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "2"; + }; + new StaticShape(valleygen) { + position = "187.007 554.231 264.807"; + rotation = "0 0 1 128.915"; + scale = "1 1.39561 1.43152"; + nameTag = "Valley"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "943428"; + locked = "false"; + lastDamagedBy = "5236"; + team = "2"; + WayPoint = "5645"; + needsObjectiveWaypoint = "1"; + lastDamagedByTeam = "1"; + repairedBy = "13598"; + Target = "128"; + }; + new InteriorInstance() { + position = "154.629 459.618 246.696"; + rotation = "0 0 1 93.9653"; + scale = "0.10201 7.119 1.04443"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "192.737 565.912 254.494"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "415184"; + locked = "true"; + lastDamagedBy = "12888"; + inUse = "Down"; + Trigger = "5552"; + team = "2"; + lastDamagedByTeam = "2"; + Target = "129"; + }; + new StaticShape() { + position = "175.855 546.237 254.504"; + rotation = "0 0 1 219.625"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "3550035"; + locked = "true"; + lastDamagedBy = "13218"; + inUse = "Down"; + Trigger = "5554"; + team = "2"; + lastDamagedByTeam = "1"; + repairedBy = "5042"; + Target = "130"; + }; + new ForceFieldBare() { + position = "59.3746 -74.1516 287.451"; + rotation = "1 0 0 0"; + scale = "0.531788 8.25423 7.66992"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "131"; + }; + new ForceFieldBare() { + position = "59.8939 -74.744 287.398"; + rotation = "1 0 0 0"; + scale = "8.28809 0.624985 7.88"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "132"; + }; + new ForceFieldBare() { + position = "-16.7611 -108.071 275.497"; + rotation = "1 0 0 0"; + scale = "0.665756 8.64639 6.35638"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "133"; + }; + new ForceFieldBare() { + position = "117.547 586.044 229.928"; + rotation = "0 0 1 4.01071"; + scale = "17.3265 0.565926 16.5599"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "134"; + }; + new Item() { + position = "179.214 560.93 290.2"; + rotation = "0 0 -1 51.5662"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(OpenFieldBase) { + + powerCount = "1"; + + new InteriorInstance() { + position = "137.249 806.507 250.783"; + rotation = "1 0 0 0"; + scale = "0.268634 0.488405 0.765192"; + interiorFile = "btowra.dif"; + showTerrainInside = "1"; + + locked = "false"; + team = "2"; + }; + new TSStatic() { + position = "137.317 807.113 266.893"; + rotation = "1 0 0 0"; + scale = "0.842457 0.186324 0.785095"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new StaticShape(fieldgen) { + position = "137.136 809.476 253.007"; + rotation = "1 0 0 0"; + scale = "1 1 0.931875"; + nameTag = "Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "208542"; + locked = "true"; + lastDamagedBy = "5240"; + team = "2"; + WayPoint = "5646"; + needsObjectiveWaypoint = "1"; + lastDamagedByTeam = "2"; + Target = "135"; + }; + new ForceFieldBare() { + position = "71.8152 -15.2797 303.333"; + rotation = "1 0 0 0"; + scale = "8.32511 0.566703 6.47134"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "136"; + }; + new ForceFieldBare() { + position = "-23.7891 -148.967 279.526"; + rotation = "1 0 0 0"; + scale = "7.61855 0.661194 6.08862"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "137"; + }; + new ForceFieldBare() { + position = "-39.8256 -148.895 279.449"; + rotation = "1 0 0 0"; + scale = "7.61855 0.661194 6.23004"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "138"; + }; + new Item() { + position = "40.0054 -103.962 291.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "137.266 803.102 252.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + damageTimeMS = "3365107"; + locked = "true"; + lastDamagedBy = "13218"; + inUse = "Down"; + Trigger = "5576"; + team = "2"; + lastDamagedByTeam = "1"; + repairedBy = "11210"; + Target = "139"; + }; + new TSStatic() { + position = "137.256 802.925 252.171"; + rotation = "1 0 0 0"; + scale = "1.14265 1.42464 1.19785"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "143.593 959.231 229.796"; + rotation = "0 0 1 4.01071"; + scale = "17.1123 0.968771 16.6645"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "140"; + }; + new ForceFieldBare() { + position = "169.637 993.404 233.266"; + rotation = "-0 0 -1 23.4913"; + scale = "1.85652 0.1 0.139398"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "141"; + }; + new ForceFieldBare() { + position = "170.418 993.742 233.812"; + rotation = "0.155088 -0.745898 -0.647753 35.5919"; + scale = "1.08085 0.1 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "142"; + }; + new ForceFieldBare() { + position = "170.501 993.787 232.743"; + rotation = "-0.161665 0.777529 -0.607711 37.7754"; + scale = "1.05619 0.1 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "143"; + }; + new ForceFieldBare() { + position = "183.552 981.997 240.314"; + rotation = "0.0295591 0.999518 -0.00944299 209.689"; + scale = "0.971595 0.1 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "144"; + }; + new ForceFieldBare() { + position = "183.64 981.979 239.327"; + rotation = "0.030317 0.999524 0.00569857 152.993"; + scale = "0.995164 0.1 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "145"; + }; + new ForceFieldBare() { + position = "184.567 981.926 239.832"; + rotation = "0.029959 0.99955 -0.00147529 179.909"; + scale = "1.85652 0.1 0.139398"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "146"; + }; + new ForceFieldBare() { + position = "198.704 997.278 232.996"; + rotation = "0.723927 0.675698 0.139148 164.214"; + scale = "1.85652 0.1 0.139398"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "147"; + }; + new ForceFieldBare() { + position = "198.772 998.328 232.881"; + rotation = "0.695004 0.646595 0.314459 146.359"; + scale = "0.995164 0.1 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "148"; + }; + new ForceFieldBare() { + position = "198.774 998.034 233.829"; + rotation = "0.728966 0.682634 -0.0511865 184.512"; + scale = "0.971595 0.1 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "149"; + }; + }; + }; + }; + new MissionArea(MissionArea) { + area = "-352 -400 896 1504"; + flightCeiling = "600"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.100000 0.100000 0.100000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new SimGroup(ambient) { + + powerCount = "0"; + + new AudioEmitter() { + position = "84.8529 56.7236 273.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "75"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "112.002 95.2307 301.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "279.862 182.605 217.507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "318.673 127.224 220.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "265.78 69.2107 220.898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "332.39 34.4978 218.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "309.661 31.625 218.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "334.31 109.943 225.298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "234.308 183.92 221.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "213.42 155.42 222.491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "225.184 127.163 220.786"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-50.1288 9.82614 319.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "6000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "342.552 -7.55735 227.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "75"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "95.5864 814.256 252.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "105.316 645.818 279.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "91.3906 475.898 299.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "98.9761 926.64 283.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "277.612 745.051 279.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "258.601 374.065 320.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "289.507 24.9277 241.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "117.903 434.631 282.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + }; + }; + new WaterBlock() { + position = "216 32 205.185"; + rotation = "1 0 0 0"; + scale = "192 416 10.7511"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "1"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.5"; + envMapTexture = "lush/skies/lush_nite_emap"; + envMapIntensity = "0.15"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "0"; + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params1 = "0.63 -2.41 0.33 0.21"; + extent = "100 100 10"; + }; + new TSStatic() { + position = "186.406 357.094 347.176"; + rotation = "-0.262251 -0.92874 0.262042 94.1864"; + scale = "2.15921 0.396985 0.864624"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic() { + position = "184.973 354.816 346.967"; + rotation = "-0.257913 -0.931165 0.257707 94.0373"; + scale = "2.19908 0.421 0.864624"; + shapeName = "bmiscf.dts"; + + locked = "false"; + team = "2"; + }; +}; +//--- OBJECT WRITE END --- + +package DeathFromBelow +{ + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + if (%obj == nameToId("FieldGen")) + nameToId("FieldSpawn").sphereWeight = 0; + + else if (%obj == nameToId("ValleyGen")) + nameToId("ValleySpawn").sphereWeight = 0; + + else if (%obj == nameToId("HillTopGen")) + { + nameToId("HillTopSpawn").sphereWeight = 0; + nameToId("BaseSpawn").sphereWeight = 1; + } +} + +//Booster scripting + +function boostTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + if(%obj.mainT) + %colObj.setvelocity("-7 -100 15"); + if(%obj.sideT) + %colObj.setvelocity("25 -1.75 10"); + if(%obj.verticalT) + %colObj.setvelocity("0 0 200"); +} + +function boostTrigger::onLeaveTrigger(%data, %obj, %colObj) +{ + //prevent console spam +} + +function boostTrigger::onTickTrigger(%data, %obj) +{ + //prevent console spam +} + +//Cleanup for Siege Half-Time and end game + +function SiegeGame::halftimeOver( %game ) +{ + nameToId("FieldSpawn").sphereWeight = 50; + nameToId("ValleySpawn").sphereWeight = 75; + nameToId("HillTopSpawn").sphereWeight = 100; + nameToId("BaseSpawn").sphereWeight = 0; + + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + Parent::gameOver(%game); + deactivatePackage(DeathFromBelow); +} + +}; + +activatePackage(DeathFromBelow); diff --git a/public/base/@vl2/DeathFromBelow.vl2/terrains/DeathFromBelow.spn b/public/base/@vl2/DeathFromBelow.vl2/terrains/DeathFromBelow.spn new file mode 100644 index 00000000..c1578377 Binary files /dev/null and b/public/base/@vl2/DeathFromBelow.vl2/terrains/DeathFromBelow.spn differ diff --git a/public/base/@vl2/DeathFromBelow.vl2/textures/gui/Load_DeathFromBelow.png b/public/base/@vl2/DeathFromBelow.vl2/textures/gui/Load_DeathFromBelow.png new file mode 100644 index 00000000..c215a6ea Binary files /dev/null and b/public/base/@vl2/DeathFromBelow.vl2/textures/gui/Load_DeathFromBelow.png differ diff --git a/public/base/@vl2/DeathRow.vl2/missions/DeathRow.mis b/public/base/@vl2/DeathRow.vl2/missions/DeathRow.mis new file mode 100644 index 00000000..686e6f2e --- /dev/null +++ b/public/base/@vl2/DeathRow.vl2/missions/DeathRow.mis @@ -0,0 +1,5279 @@ +// DisplayName = Death Row +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Butchers is an apt title for them, but they shed blood without purpose. God shall abandon them, and we shall punish them! +// -- Firelord Warden Anton Malderi, 3937 CE +//--- MISSION QUOTE END --- +//--- MISSION STRING BEGIN --- +//Attackers are "inmates" who have just incited a riot and are trying to escape from the maximum security prison "Death Row" by disabling its power and escaping over or through its walls in any of four directions. +//Once outside the mammoth walls of "Death Row" the inmates "Pain Collars" are activated and begin causing damage. So they must move quickly to any of the four "Escape Routes". +//Defenders are "jailers" and must prevent any inmates from escaping. +//Mission by: StormShadow(AK) with the amazing powers of t-b0n3! +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-400 -816 624 496"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Reversion.ter"; + squareSize = "8"; + emptySquares = "78967 145526 145782 408180 408436 146550 146806 82295"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "500"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture4 = "special/LensFlare/flare03"; + frontFlareSize = "300"; + scale = "1 1 1"; + texture2 = "special/LensFlare/flare01"; + lensFlareScale = "0.7"; + backFlareSize = "450"; + texture3 = "special/LensFlare/flare02"; + position = "-1024 -1024 0"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + texture1 = "special/sunFlare02"; + lensFlareIntensity = "1"; + texture0 = "special/sunFlare"; + rotation = "1 0 0 0"; + }; + new Sky(Sky) { + position = "336 -552 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "1"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "800 0 350"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_starrynight.dml"; + windVelocity = "1 -0.5 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -96617008988160.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -19382055813079413400000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000000"; + high_visibleDistance = "-1"; + high_fogVolume2 = "-1 -4.52107e+25 1.22108e-14"; + locked = "true"; + high_fogDistance = "-1"; + high_fogVolume3 = "-1 -4.68158e+31 4.40322e-07"; + cloudSpeed0 = "0.000600 0.000100"; + high_fogVolume1 = "-1 1.85063e-05 1.17921e-11"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "DeathRow.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-12.0636 -609.692 115.748"; + rotation = "0.788746 0.15624 -0.594533 36.8541"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "24.3323 -468.758 95.7175"; + rotation = "-0.137585 -0.231811 0.962982 239.5"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-14.5803 -527.325 38.8105"; + rotation = "-0.00160286 -0.00882427 0.99996 200.589"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-72.315 -562.83 40.7222"; + rotation = "-0.559845 0.00249086 0.828594 0.633036"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-52.9739 -607.22 46.8548"; + rotation = "-0.00700903 -0.00292665 -0.999971 45.3275"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "75.2957 -695.87 118.64"; + rotation = "-0.00721852 -0.00276287 -0.99997 41.8897"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-98.7577 -336.92 51.5013"; + rotation = "-0.000187096 0.141949 0.989874 179.85"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "162.386 -338.724 80.8284"; + rotation = "-0.00198171 0.00273905 0.999994 108.229"; + scale = "1 0.970299 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-133.783 -769.322 107.259"; + rotation = "0.0385628 -0.156681 0.986896 152.695"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-42.5988 -546.119 57.7967"; + rotation = "0.0570122 0.0975967 -0.993592 119.737"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-29.094 -519.754 46.6869"; + rotation = "0.175633 0.0312173 -0.983961 20.4789"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-5.55512 -501.339 46.6464"; + rotation = "0.000272005 0.0021879 0.999998 194.174"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-61.7096 -546.299 45.3965"; + rotation = "-0.0232308 -0.0782187 0.996666 212.978"; + scale = "0.960596 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(team0) { + powerCount = "0"; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + team = "1"; + + new SpawnSphere() { + position = "-17.3102 -545.651 33.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Cell) { + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team2StationInventory1) { + position = "-30.0238 -540.566 33.04"; + rotation = "0 0 -1 36.097"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3301"; + notReady = "1"; + Target = "33"; + inUse = "Down"; + team = "1"; + }; + new StaticShape(Team2StationInventory2) { + position = "-29.5677 -561.877 33.1568"; + rotation = "0 0 1 220.588"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3303"; + Target = "34"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + team = "2"; + + new SpawnSphere() { + position = "120.176 -480.457 84.7117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "80"; + indoorWeight = "85"; + outdoorWeight = "15"; + }; + new SpawnSphere() { + position = "-273.497 -480.03 71.5516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "80"; + indoorWeight = "100"; + outdoorWeight = "20"; + }; + new SpawnSphere() { + position = "-106.311 -745.077 75.9622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "60"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-97.6186 -408.134 50.3831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "60"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-43.0283 -343.862 80.1624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "60"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-348.998 -451.174 111.887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "40"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-152.654 -344.153 81.4053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "60"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Switch) { + powerCount = "0"; + + new StaticShape(EastSwitch) { + position = "401.141 -592.063 57.4988"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "East Escape Route"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Target = "35"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(WestSwitch) { + position = "-628.354 -541.775 69.0358"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "West Escape Route"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Target = "36"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(NorthSwitch) { + position = "-81.9416 -88.4009 56.1087"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "North Escape Route"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Target = "37"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(SouthSwitch) { + position = "-82.1746 -1000.17 50.1517"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "South Escape Route"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Target = "38"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(CellBlock) { + powerCount = "2"; + + new InteriorInstance() { + position = "-72.3428 -551.935 50.2708"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + interiorFile = "bbase1.dif"; + showTerrainInside = "0"; + locked = "false"; + team = "2"; + hidden = "false"; + }; + new InteriorInstance() { + position = "21.8654 -461.511 13.2287"; + rotation = "1 0 0 0"; + scale = "1 1 4.55705"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new SimGroup(cell_force) { + powerCount = "2"; + + new ForceFieldBare(Force1) { + position = "-104.003 -551.145 52.7551"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "39"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-104.006 -551.819 52.7636"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "40"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-104.051 -552.439 52.6837"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "41"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-104.084 -553.801 52.73"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "42"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-104.081 -553.127 52.7215"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "43"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-103.997 -550.452 52.7173"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "44"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-40.5875 -552.321 52.7629"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "45"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-40.5425 -551.701 52.8428"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "46"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-40.6205 -553.683 52.8092"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "47"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-40.5395 -551.027 52.8343"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "48"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-40.6175 -553.009 52.8007"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "49"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-40.5335 -550.334 52.7965"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 4.26548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "50"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.6521 -499.672 43.6463"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.15371"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "51"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.7042 -502.428 43.6505"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.34262"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "52"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.7146 -503.035 43.659"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.17753"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "53"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.6629 -501.799 43.6127"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.53099"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "54"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.6611 -501.039 43.6926"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.1561"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "55"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.6581 -500.365 43.6841"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.03597"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "56"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.6322 -498.317 43.4254"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.34262"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "57"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.5938 -497.018 43.4675"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.1561"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "58"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.5909 -497.688 43.3876"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.65893"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "59"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-74.6473 -499.014 43.4339"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.42453"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "60"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.6288 -517.737 47.319"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "61"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.6005 -520.359 47.3964"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "62"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.0823 -602.301 43.4303"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.34262"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "63"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.6672 -516.438 47.2769"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "64"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.0974 -602.998 43.4388"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.42453"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "65"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.5336 -524.38 47.1711"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 7.99834"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "66"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.041 -601.672 43.3925"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.65893"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "67"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.5961 -521.017 47.1839"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "68"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.0439 -601.002 43.4724"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.1561"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "69"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.5901 -521.71 47.1461"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "70"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.1082 -604.349 43.689"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.03597"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "71"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.1112 -605.023 43.6975"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.1561"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "72"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.113 -605.783 43.6176"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.53099"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "73"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.1647 -607.019 43.6639"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.17753"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "74"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.1543 -606.412 43.6554"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.34262"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "75"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.1022 -603.656 43.6512"; + rotation = "1 0 0 0"; + scale = "0.195546 0.216149 6.15371"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "76"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.2969 -601.014 63.1299"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "77"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.4757 -603.668 63.0718"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "78"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.2169 -601.684 63.1328"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "79"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.4799 -606.424 63.0197"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.947"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "80"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.5135 -604.361 63.0658"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "81"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.4884 -607.031 63.0093"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.99834"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "82"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.2632 -603.01 63.0764"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "83"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.4421 -605.795 63.0609"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "84"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.2548 -602.313 63.0915"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "85"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.5219 -605.035 63.0628"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "86"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.3657 -498.215 63.2232"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "87"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.3741 -498.912 63.2081"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "88"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.3278 -497.586 63.2645"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "89"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.4078 -496.916 63.2616"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "90"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.6244 -500.263 63.1975"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "91"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.6328 -500.937 63.1945"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "92"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.553 -501.697 63.1926"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "93"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.5993 -502.933 63.141"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.99834"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "94"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.5908 -502.326 63.1514"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.947"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "95"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-64.5866 -499.57 63.2035"; + rotation = "0 1 0 89.9543"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "96"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.6701 -517.108 47.3569"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "97"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.5871 -522.384 47.1377"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "98"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.544 -523.773 47.1797"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 7.947"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "99"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.6156 -519.662 47.4048"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "100"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.654 -518.363 47.3627"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "101"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.5852 -523.144 47.2175"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "102"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-11.6569 -519.033 47.4427"; + rotation = "0 1 0 179.909"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "103"; + homingCount = "0"; + team = "2"; + }; + }; + new StaticShape(Team2GeneratorLarge3) { + position = "-66.8011 -501.852 43.6798"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + name = "North"; + Target = "104"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new SimGroup(Chairroom) { + powerCount = "2"; + + new StaticShape() { + position = "-71.8769 -562.244 39.9311"; + rotation = "-0.000115252 0.00337082 0.999994 179.91"; + scale = "0.1 0.1 0.261825"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + }; + new ParticleEmissionDummy(Smoke) { + position = "-53.349 -570.899 40.85"; + rotation = "-0.0241951 0.999491 0.0207855 180.058"; + scale = "0.1 0.253906 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy(Smoke) { + position = "-53.6179 -532.552 40.8748"; + rotation = "-0.955247 -0.184895 0.230905 85.6288"; + scale = "0.1 0.253906 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape() { + position = "-72.3661 -562.388 44.2891"; + rotation = "1 0 0 0.514341"; + scale = "0.681723 0.681784 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + }; + new ParticleEmissionDummy(Smoke) { + position = "-72.4309 -562.583 39.7314"; + rotation = "-0.000721579 -0.0149947 0.999887 176.655"; + scale = "0.1 0.253906 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "0.2"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape() { + position = "-72.3505 -562.457 38.7317"; + rotation = "1 0 0 0"; + scale = "0.418974 0.429603 2.28061"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-72.1564 -561.061 39.0051"; + rotation = "0.680846 0.681388 0.268625 149.905"; + scale = "0.1 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.333 -563.12 39.9926"; + rotation = "1 0 0 69.328"; + scale = "0.193475 0.341049 0.160594"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.8065 -562.695 39.9649"; + rotation = "0 0 1 89.9544"; + scale = "0.214073 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-71.873 -562.689 39.9591"; + rotation = "0 0 1 89.9544"; + scale = "0.214073 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.5282 -561.62 39.1611"; + rotation = "0.332231 0.332495 0.882649 97.0884"; + scale = "0.276718 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.1566 -561.622 39.1577"; + rotation = "0.332231 0.332495 0.882649 97.0884"; + scale = "0.276718 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.5207 -561.056 39.0001"; + rotation = "0.680846 0.681388 0.268625 149.905"; + scale = "0.1 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.3378 -563.258 40.5838"; + rotation = "0.607595 0.608082 -0.510944 234.165"; + scale = "0.1 0.1 0.1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-76.3943 -561.941 40.2322"; + rotation = "0 0 1 89.9544"; + scale = "0.402069 0.362109 0.995018"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-72.3401 -567.946 38.8701"; + rotation = "1 -7.00087e-05 -9.9102e-05 89.8627"; + scale = "0.274993 0.318275 3.23748"; + shapeName = "stackable4l.dts"; + team = "2"; + }; + new StaticShape() { + position = "-72.8097 -562.288 39.9366"; + rotation = "-0.000115252 0.00337082 0.999994 179.91"; + scale = "0.1 0.1 0.261825"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-72.3351 -563.359 40.6902"; + rotation = "-0.000602163 0.654386 0.75616 179.94"; + scale = "0.142451 0.140946 0.261825"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-71.4367 -567.309 38.7441"; + rotation = "0 0 1 180.482"; + scale = "2.60338 2.42946 2.30435"; + shapeName = "stackable1s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-76.4456 -562.205 45.4572"; + rotation = "0.685176 0.246541 0.685384 207.64"; + scale = "2.53011 2.43831 2.36575"; + shapeName = "stackable4l.dts"; + team = "2"; + }; + }; + new SimGroup(bathroom) { + powerCount = "2"; + + new InteriorInstance() { + position = "-25.4721 -519.09 49.8988"; + rotation = "1 0 0 0"; + scale = "0.264442 1.51246 0.696773"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-30.0271 -505.789 35.7928"; + rotation = "1 0 0 0"; + scale = "0.114244 0.11597 0.285894"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-29.9621 -505.439 40.5828"; + rotation = "1 0 0 0"; + scale = "1.11367 1.23081 1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-29.8831 -505.516 40.6328"; + rotation = "1 0 0 0"; + scale = "2.443 2.48005 0.619362"; + shapeName = "xmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-24.1631 -520.071 47.2828"; + rotation = "0.581353 0.575568 -0.575108 119.617"; + scale = "0.699763 0.554785 2.97004"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-24.246 -507.828 47.3238"; + rotation = "0.577504 0.577504 -0.577042 119.947"; + scale = "0.699763 0.554785 2.80313"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-32.152 -506.726 41.0425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy(Steam) { + position = "-30.4432 -505.886 46.1131"; + rotation = "1 0 0 207.984"; + scale = "0.1 0.253906 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "VehicleFoamEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-30.1373 -506.113 46.1556"; + rotation = "0.99995 0.00593743 -0.00805838 174.935"; + scale = "3.10413 1 5.60794"; + dataBlock = "halftimeEmissionDummy"; + emitter = "DamageBubbles"; + velocity = "5"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-30.4067 -505.639 46.57"; + rotation = "0.99995 0.00593743 -0.00805838 174.935"; + scale = "7.74313 0.707488 5.60794"; + dataBlock = "halftimeEmissionDummy"; + emitter = "DamageBubbles"; + velocity = "5"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-29.9511 -506.014 45.3648"; + rotation = "0.99995 0.00593743 -0.00805838 174.935"; + scale = "0.819106 1 0.839614"; + dataBlock = "halftimeEmissionDummy"; + emitter = "DamageBubbles"; + velocity = "5"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-30.1105 -506.207 46.3233"; + rotation = "0.99995 0.00593743 -0.00805838 174.935"; + scale = "0.880565 0.298644 5.60794"; + dataBlock = "halftimeEmissionDummy"; + emitter = "DamageBubbles"; + velocity = "5"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-32.112 -505.741 41.1443"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-31.8807 -507.621 40.9425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-30.5055 -506.251 46.0425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-29.562 -505.729 46.1747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-29.9855 -506.546 45.7705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-30.2641 -503.485 40.9479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-29.8987 -505.648 41.0828"; + rotation = "1 0 0 0"; + scale = "3.44729 2.96248 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlayerFoamDropletsEmitter"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new AudioEmitter(Shower) { + position = "-30.0917 -507.721 42.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/rain_medium_3.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1"; + maxDistance = "20"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + team = "2"; + }; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "-70.3509 -602.069 43.6318"; + rotation = "0 0 1 0.316518"; + scale = "1 1 1"; + nameTag = "South"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + name = "South Cell Block"; + Target = "105"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new Turret(Team1SentryTurret1) { + position = "-7.04658 -507.675 49.8578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "5178"; + Target = "106"; + team = "2"; + }; + new Turret(Team1SentryTurret2) { + position = "-6.93638 -567.228 49.8197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "107"; + team = "2"; + }; + new Turret(Team1SentryTurret3) { + position = "-83.8579 -500.022 49.811"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "6370"; + Target = "108"; + team = "2"; + }; + new Turret(Team1SentryTurret4) { + position = "-56.4076 -603.572 49.8484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "4981"; + Target = "109"; + team = "2"; + }; + new Turret(Team1SentryTurret5) { + position = "-72.5008 -552.141 54.7665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "6618"; + Target = "110"; + team = "2"; + }; + new StaticShape(Team1StationInventory1) { + position = "-21.9132 -510.284 40.7551"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3566"; + Target = "111"; + team = "2"; + }; + new StaticShape(Team1StationInventory2) { + position = "-21.8718 -505.254 40.7312"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3568"; + Target = "112"; + team = "2"; + }; + new TSStatic() { + position = "-96.6655 -545.951 52.7951"; + rotation = "-0.253552 0.25335 0.933555 93.8909"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-98.9052 -545.961 52.6091"; + rotation = "0 0 1 89.9544"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-53.7609 -558.126 52.6702"; + rotation = "0 0 1 89.9544"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-50.1307 -558.027 52.6543"; + rotation = "0 0 1 89.9544"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-46.1315 -558.042 52.6505"; + rotation = "0 0 1 89.9544"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-44.2592 -544.325 52.6193"; + rotation = "1 0 0 0"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-91.7888 -559.529 52.5697"; + rotation = "1 0 0 0"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new TSStatic() { + position = "-91.2758 -545.877 52.5894"; + rotation = "0 0 1 89.9544"; + scale = "1.72428 1 2.88401"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new AudioEmitter(base) { + position = "-69.7639 -554.028 40.7817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "Universal_Base_Pulse_2"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-139.255 -339.355 99.0585"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "113"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-140.05 -339.323 99.1538"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "114"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-140.908 -339.299 99.2884"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "115"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-136.898 -339.33 98.8807"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "116"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-137.693 -339.297 98.976"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "117"; + homingCount = "0"; + team = "2"; + }; + new Item() { + position = "-6.97611 -500.493 41.9339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-138.55 -339.273 99.1106"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "118"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-148.432 -809.915 93.4971"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "119"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-59.1796 -340.056 99.1447"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 7.64063"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "120"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-58.4746 -339.974 99.1968"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 7.6369"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "121"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-60.8326 -340 99.3746"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 6.77329"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "122"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.6176 -339.998 99.0622"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 7.94853"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "123"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-56.8226 -340.031 98.9669"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 7.9096"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "124"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-59.9746 -340.024 99.24"; + rotation = "1 0 0 10.3136"; + scale = "0.195546 0.216149 7.4952"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "125"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-149.799 -810.789 126.035"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 7.64063"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "126"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-149.004 -810.812 126.13"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 7.4952"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "127"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-152.156 -810.841 125.857"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 7.9096"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "128"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-151.361 -810.865 125.952"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 7.94853"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "129"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-150.503 -810.879 126.087"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 7.6369"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "130"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-148.146 -810.826 126.265"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 6.77329"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "131"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.0176 -339.661 64.4599"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "132"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-60.1236 -339.745 64.2242"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "133"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-68.0698 -810.719 126.419"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "134"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-151.538 -809.999 93.2614"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "135"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-68.9282 -810.705 126.284"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "136"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-69.7235 -810.682 126.189"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "137"; + homingCount = "0"; + team = "2"; + }; + new StaticShape(Team1StationInventory3) { + position = "187.878 -806.111 105.058"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3631"; + notReady = "1"; + Target = "138"; + inUse = "Down"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-70.4275 -810.772 126.241"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "139"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-58.6036 -339.708 64.2083"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "140"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-71.2846 -810.758 126.106"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "141"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-72.0798 -810.734 126.011"; + rotation = "0.000521043 -0.0898818 0.995952 179.338"; + scale = "0.195546 0.216149 5.61648"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "142"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-150.018 -809.962 93.2455"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "143"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(Cell) { + powerCount = "1"; + providesPower = "1"; + + new ForceFieldBare(Cell) { + position = "-24.3658 -565.074 38.5546"; + rotation = "0 1 0 9.74276"; + scale = "12.2735 40.0155 0.1"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + Target = "144"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-24.2973 -529.885 38.6148"; + rotation = "0.62577 -0.62527 -0.466314 230.035"; + scale = "1.37032 0.1 0.1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Cell) { + position = "-26.4515 -569.714 38.2952"; + rotation = "0.995114 0.0697836 0.0698396 90.2313"; + scale = "16.5966 8.39448 0.1"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + Target = "145"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Cell) { + position = "-24.4284 -534.107 38.6323"; + rotation = "0.57751 0.577507 -0.577034 119.948"; + scale = "8.60997 5.00359 0.1"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + Target = "146"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(Yard) { + powerCount = "2"; + + new SimGroup(Northyard) { + powerCount = "2"; + + new InteriorInstance() { + position = "-285.272 -345.215 78.1425"; + rotation = "1 0 0 0"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-84.6754 -355.947 50.7266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-234.447 -344.732 78.1631"; + rotation = "1 0 0 0"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-272.81 -345.065 92.0221"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-272.874 -339.344 87.8424"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-272.956 -350.189 87.8572"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-273.225 -339.23 77.6615"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-273.143 -350.075 77.6937"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-233.184 -350.073 77.6906"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-233.266 -339.228 77.6584"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-232.997 -350.187 87.8541"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-232.915 -339.342 87.8393"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-232.851 -345.063 92.019"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-101.201 -344.544 68.3957"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 29.6487"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "147"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.753 -349.316 87.6291"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 11.2896"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "148"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-99.6353 -344.467 68.3311"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "149"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-102.641 -344.607 68.968"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "150"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "83.393 -344.436 87.416"; + rotation = "1 0 0 179.909"; + scale = "5.36576 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-193.099 -345.075 92.0288"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-193.163 -339.354 87.8491"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-193.246 -350.199 87.8639"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-193.515 -339.24 77.6682"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-193.433 -350.085 77.7004"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new StaticShape(Team1StationInventory4) { + position = "-131.057 -341.114 99.3796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3680"; + Target = "151"; + team = "2"; + }; + new TSStatic() { + position = "-154.068 -339.097 87.8759"; + rotation = "1 0.000177387 -0.000350515 206.447"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-4.1619 -338.986 77.6944"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-119.173 -349.719 109.364"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-4.0798 -349.831 77.7266"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-312.035 -344.632 87.375"; + rotation = "1 0 0 179.909"; + scale = "6.91594 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-145.606 -339.091 84.691"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-145.516 -339.258 83.2196"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-145.473 -339.229 81.6915"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-145.522 -339.157 79.8298"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-146.18 -349.574 84.691"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-146.089 -349.741 83.2196"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-146.047 -349.712 81.6915"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-146.095 -349.64 79.8298"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.2773 -349.783 79.9229"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.2291 -349.855 81.7846"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.2712 -349.884 83.3127"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.3619 -349.717 84.7842"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.3158 -339.12 84.7609"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.2251 -339.287 83.2894"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.183 -339.258 81.7613"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-52.2312 -339.186 79.8996"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new StaticShape(Team1StationInventory5) { + position = "-67.076 -341.214 99.3996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3703"; + Target = "152"; + team = "2"; + }; + new InteriorInstance() { + position = "210.443 -344.163 87.1942"; + rotation = "0.00659273 -0.00501197 0.999966 89.8648"; + scale = "2.73256 2.73234 1.06812"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "210.03 -343.311 78.4026"; + rotation = "0 1 0 180.482"; + scale = "2.73256 2.73234 1.06812"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-104.307 -344.628 68.46"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "153"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-99.1153 -349.738 109.426"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-99.1095 -344.516 99.42"; + rotation = "1 0 0 0"; + scale = "3.42126 1.39408 3.4854"; + interiorFile = "bbrdg6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-99.0332 -338.893 109.411"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.633 -341.473 95.4861"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "154"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-23.6912 -344.827 92.0455"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-58.775 -346.554 59.2519"; + rotation = "1 0 0 0"; + scale = "1 1 1.7126"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-99.2097 -344.553 69.7319"; + rotation = "0.999995 -0.00325366 -0.000362502 178.775"; + scale = "2.13618 0.393174 0.170067"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-43.5626 -339.088 87.8655"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-43.6447 -349.933 87.8803"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-43.9138 -338.974 77.6846"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-138.933 -342.452 59.2476"; + rotation = "0 0 1 179.909"; + scale = "1 1 1.7126"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-3.8928 -349.945 87.8901"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-98.62 -340.128 99.6807"; + rotation = "0.000571515 -0.305055 0.952335 179.936"; + scale = "14.0316 1.67028 2.4935"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "55.8465 -344.856 92.0529"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-92.1167 -347.864 52.1979"; + rotation = "1 0 0 0"; + scale = "0.1 0.478262 0.611563"; + shapeName = "stackable1l.dts"; + team = "2"; + }; + new TSStatic() { + position = "35.9751 -339.117 87.8729"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "35.893 -349.962 87.8877"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-43.8417 -344.337 78.1202"; + rotation = "1 0 0 0"; + scale = "1 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "95.598 -344.868 92.0627"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "115.238 -344.395 78.1373"; + rotation = "1 0 0 0"; + scale = "5.25341 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-153.782 -350.055 77.6802"; + rotation = "0.999977 0.00310023 -0.00604353 26.3566"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.728 -347.876 95.4014"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "155"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.669 -342.914 94.9138"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 29.6487"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "156"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-98.541 -348.673 99.7337"; + rotation = "1 0 0 28.0753"; + scale = "14.2029 2.10131 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-79.8125 -345.092 114.202"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-93.3399 -344.362 68.9589"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 29.6487"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "157"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-3.81071 -339.1 87.8753"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-194.801 -344.718 87.3941"; + rotation = "-0.00079691 0.999999 -0.000794242 180"; + scale = "5.08168 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "95.1825 -339.033 77.7021"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "15.1284 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-119.091 -338.874 109.349"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.644 -339.807 94.9781"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "158"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-79.8769 -338.975 109.402"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "175.312 -344.878 92.0694"; + rotation = "1 0 0 179.909"; + scale = "0.161836 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.658 -344.58 95.4218"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 29.6487"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "159"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-95.0058 -344.383 68.4509"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 29.6487"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "160"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-98.1118 -344.467 68.5152"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "161"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-106.107 -341.626 51.9891"; + rotation = "1 0 0 0"; + scale = "0.1 0.478262 0.611563"; + shapeName = "stackable1l.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-96.4458 -344.446 69.0232"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "162"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "15.7171 -344.367 78.1303"; + rotation = "1 0 0 0"; + scale = "5.12785 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "185.575 -344.424 78.1447"; + rotation = "1 0 0 0"; + scale = "1.91521 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "16.0605 -344.839 92.0553"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "169.862 -344.452 87.4132"; + rotation = "1 0 0 179.909"; + scale = "3.52836 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "155.034 -349.894 77.7315"; + rotation = "1 0 0 28.0753"; + scale = "15.522 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "154.952 -339.049 77.6993"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "15.3916 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "155.221 -350.008 87.895"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "15.1478 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "155.303 -339.163 87.8802"; + rotation = "1 0 0 207.984"; + scale = "15.2026 1 2.22209"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "175.739 -346.21 94.8934"; + rotation = "0.0199984 0.9998 1.57694e-05 179.909"; + scale = "0.500171 0.49885 30.0664"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "163"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "135.56 -344.866 92.0596"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-79.959 -349.82 109.417"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "95.2579 -349.86 77.734"; + rotation = "1 0 0 28.0753"; + scale = "15.4512 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-119.026 -344.991 114.149"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-154.207 -344.221 92.0407"; + rotation = "-0.00079691 0.999999 -0.000794242 180"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-153.881 -339.211 77.7124"; + rotation = "0.000193215 -0.242565 0.970135 179.911"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-11.6445 -344.407 87.4086"; + rotation = "1 0 0 179.909"; + scale = "4.20297 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-98.9688 -345.01 114.211"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-154.133 -349.942 87.8611"; + rotation = "-0.000772705 0.970328 0.241792 179.978"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "35.706 -349.848 77.7242"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "35.6239 -339.003 77.692"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + }; + new SimGroup(Westyard) { + powerCount = "2"; + + new InteriorInstance() { + position = "-385.216 -729.392 78.3272"; + rotation = "0 0 1 89.9543"; + scale = "7.24968 1 5.39307"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-385.462 -440.327 78.3243"; + rotation = "0 0 1 89.9543"; + scale = "7.24968 1 5.39307"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-385.513 -426.235 87.6025"; + rotation = "0.707388 -0.706825 0.000561394 179.936"; + scale = "7.71663 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-385.4 -580.282 87.6459"; + rotation = "0.707388 -0.706825 0.000561394 179.936"; + scale = "7.71663 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-385.36 -579.474 78.3677"; + rotation = "0 0 1 89.9543"; + scale = "7.77391 1 5.39307"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-385.258 -726.84 87.6054"; + rotation = "0.707388 -0.706825 0.000561394 179.936"; + scale = "7.71663 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "209.907 -720.282 78.451"; + rotation = "0 0 1 89.9543"; + scale = "7.24968 1 5.39307"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "209.654 -423.237 78.4481"; + rotation = "0 0 1 89.9543"; + scale = "7.24968 1 5.39307"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "209.608 -414.975 87.7262"; + rotation = "0.707388 -0.706825 0.000561394 179.936"; + scale = "7.71663 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "209.721 -569.022 87.7696"; + rotation = "0.707388 -0.706825 0.000561394 179.936"; + scale = "7.71663 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "209.763 -570.434 78.4915"; + rotation = "0 0 1 89.9543"; + scale = "7.77391 1 5.39307"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "209.863 -715.58 87.7291"; + rotation = "0.707388 -0.706825 0.000561394 179.936"; + scale = "7.71663 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + new SimGroup(Southyard) { + powerCount = "2"; + + new InteriorInstance() { + position = "-296.66 -806.44 105.099"; + rotation = "1 0 0 0"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(Team1StationInventory6) { + position = "-142.448 -802.339 126.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3792"; + notReady = "1"; + Target = "164"; + inUse = "Down"; + team = "2"; + }; + new InteriorInstance() { + position = "-245.838 -805.957 105.12"; + rotation = "1 0 0 0"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-104.633 -805.461 95.8446"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "165"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-284.262 -800.569 114.799"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-284.344 -811.414 114.814"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-284.613 -800.455 104.618"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-284.531 -811.3 104.651"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-244.575 -811.298 104.648"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-244.657 -800.453 104.615"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-244.388 -811.412 114.811"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-244.306 -800.567 114.796"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-109.575 -805.724 96.79"; + rotation = "0.999995 -0.00325366 -0.000362502 178.775"; + scale = "2.13618 0.393174 0.170067"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-224.435 -806.306 118.976"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-384.661 -344.351 16.7704"; + rotation = "1 0 0 0"; + scale = "5.02511 5.05217 8.91373"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-343.546 -806.207 118.969"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-130.418 -806.216 141.105"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-91.3507 -811.045 136.374"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-363.589 -800.487 114.789"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-204.554 -800.579 114.806"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-204.637 -811.424 114.821"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-204.906 -800.465 104.625"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-204.824 -811.31 104.657"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-264.219 -806.289 118.979"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-130.483 -800.099 136.306"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "140.57 -806.218 44.2227"; + rotation = "1 0 0 179.909"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "122.948 -805.739 44.2443"; + rotation = "1 0 0 179.909"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-386.975 -806.11 44.5888"; + rotation = "1 0 0 0"; + scale = "5.02511 5.05217 8.91373"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-323.423 -805.857 114.332"; + rotation = "1 0 0 179.909"; + scale = "6.91594 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-156.997 -800.316 111.648"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-156.907 -800.483 110.177"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-156.864 -800.454 108.648"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-156.913 -800.382 106.787"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-157.571 -810.799 111.648"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-157.48 -810.966 110.177"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-157.438 -810.937 108.648"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-157.486 -810.865 106.787"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.6693 -811.008 106.88"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.6212 -811.08 108.742"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.6633 -811.109 110.27"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.754 -810.942 111.741"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.7079 -800.345 111.718"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.6171 -800.512 110.246"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.5751 -800.483 108.718"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-63.6233 -800.411 106.857"; + rotation = "0.577504 -0.577042 0.577504 119.947"; + scale = "0.541845 0.127512 0.326156"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "210.412 -807.514 45.713"; + rotation = "1 0 0 0"; + scale = "5.02511 5.05217 8.91373"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-124.504 -794.147 77.8636"; + rotation = "0 0 1 179.909"; + scale = "1 1 1.14822"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(Team1StationInventory7) { + position = "-78.4677 -802.439 126.357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3840"; + Target = "166"; + team = "2"; + }; + new InteriorInstance() { + position = "-185.404 -805.46 118.998"; + rotation = "-0.00079691 0.999999 -0.000794242 180"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-114.132 -805.755 95.8031"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "167"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-115.742 -805.792 96.119"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "168"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-91.2686 -800.2 136.359"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-91.2042 -806.317 141.158"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-35.0834 -806.052 119.002"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-70.167 -807.779 86.2089"; + rotation = "1 0 0 0"; + scale = "1 1 1.7126"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-363.94 -800.373 104.608"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-54.9548 -800.313 114.822"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-55.0369 -811.158 114.837"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-55.306 -800.199 104.642"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-150.324 -803.677 86.2046"; + rotation = "0 0 1 179.909"; + scale = "1 1 1.7126"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-110.013 -801.794 126.785"; + rotation = "0.000568785 -0.30029 0.953848 179.936"; + scale = "13.4453 2.00244 1.81129"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-55.2239 -811.044 104.674"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "209.131 -344.14 16.1043"; + rotation = "1 0 0 0"; + scale = "5.02511 5.05217 8.91373"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-109.443 -805.622 135.941"; + rotation = "1 0 0 179.909"; + scale = "4.7069 1 4.50037"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-303.762 -806.224 118.966"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-109.439 -805.582 95.9248"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "169"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-55.2339 -805.562 105.077"; + rotation = "1 0 0 0"; + scale = "1 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-222.964 -806.615 46.4972"; + rotation = "1 0 0 180.482"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "103.846 -805.62 105.094"; + rotation = "1 0 0 0"; + scale = "5.25341 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-165.173 -811.28 104.637"; + rotation = "0.999977 0.00310023 -0.00604353 26.3566"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "103.856 -811.102 104.691"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "103.774 -800.257 104.659"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "104.043 -811.216 114.854"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "104.125 -800.371 114.84"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-323.715 -811.33 114.801"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-15.2029 -800.325 114.832"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-206.192 -805.943 114.351"; + rotation = "-0.00079691 0.999999 -0.000794242 180"; + scale = "5.08168 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "63.9833 -800.24 104.659"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "64.0654 -811.085 104.691"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "64.3345 -800.354 114.84"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "64.2524 -811.199 114.854"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "163.919 -806.103 119.026"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-106.333 -805.498 96.1605"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "170"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "183.661 -800.4 114.847"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "183.579 -811.245 114.862"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "183.31 -800.286 104.666"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "183.392 -811.131 104.698"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "4.3249 -805.592 105.087"; + rotation = "1 0 0 0"; + scale = "5.12785 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "174.182 -805.649 105.102"; + rotation = "1 0 0 0"; + scale = "1.91521 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "4.6683 -806.064 119.012"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "158.469 -805.677 114.37"; + rotation = "1 0 0 179.909"; + scale = "3.52836 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "143.641 -811.119 104.688"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "143.559 -800.274 104.656"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "143.828 -811.233 114.852"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "143.91 -800.388 114.837"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-323.633 -800.485 114.786"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "124.167 -806.091 119.017"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-15.472 -811.056 104.684"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-363.671 -811.332 114.804"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-107.919 -805.545 95.9089"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "171"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-273.786 -806.732 46.519"; + rotation = "1 0 0 180.482"; + scale = "9.10916 1 2.0422"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-165.272 -800.436 104.669"; + rotation = "0.000193215 -0.242565 0.970135 179.911"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-23.0367 -805.632 114.366"; + rotation = "1 0 0 179.909"; + scale = "4.20297 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-109.933 -808.881 126.661"; + rotation = "1 0 0 28.0753"; + scale = "13.4434 2.67885 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-165.524 -811.167 114.818"; + rotation = "-0.000772705 0.970328 0.241792 179.978"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "24.3138 -811.073 104.681"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "24.2317 -800.228 104.649"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "24.5008 -811.187 114.845"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "24.5829 -800.342 114.83"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-323.902 -811.216 104.638"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "44.4543 -806.081 119.01"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-110.906 -805.671 95.7388"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "172"; + homingCount = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-110.428 -805.746 126.377"; + rotation = "1 0 0 0"; + scale = "3.42126 1.3914 3.4854"; + interiorFile = "bbrdg6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-110.507 -810.963 136.383"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-130.565 -810.944 136.321"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-165.459 -800.322 114.833"; + rotation = "1 0.000177387 -0.000350515 206.447"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-112.426 -805.708 96.0547"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.500171 0.49885 15.1514"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "173"; + homingCount = "0"; + team = "2"; + }; + new TSStatic() { + position = "-363.858 -811.218 104.641"; + rotation = "1 0 0 28.0753"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "72.0004 -805.661 114.373"; + rotation = "1 0 0 179.909"; + scale = "5.36576 1 5.93866"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-110.425 -800.118 136.368"; + rotation = "1 0 0 207.984"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-15.5541 -800.211 104.651"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new TSStatic() { + position = "-15.285 -811.17 114.847"; + rotation = "0.000602617 0.973485 0.228749 180.06"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-110.361 -806.235 141.167"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "84.2054 -806.093 119.02"; + rotation = "1 0 0 179.909"; + scale = "0.1 2.1765 0.598928"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-323.984 -800.371 104.605"; + rotation = "0.000525139 -0.227974 0.973667 179.931"; + scale = "5.02897 1 2.31421"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + }; + new InteriorInstance() { + position = "123.482 -484.496 79.637"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "187.525 -346.29 78.1436"; + rotation = "0 0 1 180.165"; + scale = "1 1 1"; + nameTag = "Yard"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + name = "Yard"; + Target = "174"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new InteriorInstance() { + position = "-273.929 -477.426 67.4002"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-268.549 -713.664 68.4238"; + rotation = "1 0 0 0"; + scale = "1 1 4.55705"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "73.8774 -694.278 19.0516"; + rotation = "1 0 0 0"; + scale = "0.558304 0.554303 4.55705"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(Team1StationInventory8) { + position = "-278.009 -491.32 69.354"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3931"; + Target = "175"; + team = "2"; + }; + new StaticShape(Team1StationInventory9) { + position = "-269.968 -491.248 69.3452"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3933"; + Target = "176"; + team = "2"; + }; + new StaticShape(Team1StationInventory10) { + position = "127.493 -498.352 81.5756"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3935"; + Target = "177"; + team = "2"; + }; + new StaticShape(Team1StationInventory11) { + position = "119.452 -498.424 81.5844"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3937"; + notReady = "1"; + Target = "178"; + inUse = "Down"; + team = "2"; + }; + new StaticShape(Team1SolarPanel1) { + position = "-124.744 -792.519 87.5766"; + rotation = "0 0 1 45.2638"; + scale = "1 1 1"; + nameTag = "Yard"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + Target = "179"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(Team1StationInventory12) { + position = "-364.429 -805.635 105.055"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3940"; + Target = "180"; + team = "2"; + }; + new StaticShape(Team1StationInventory13) { + position = "-279.975 -344.289 78.1395"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3942"; + Target = "181"; + team = "2"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-362.997 -366.331 203.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "182"; + team = "2"; + }; + new StaticShape(Team1SensorMediumPulse2) { + position = "-365.326 -784.118 231.537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "183"; + team = "2"; + }; + new StaticShape(Team1SensorMediumPulse3) { + position = "188.46 -784.489 232.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "184"; + team = "2"; + }; + new StaticShape(Team1SensorMediumPulse4) { + position = "186.873 -365.829 202.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "185"; + team = "2"; + }; + new StaticShape(Team1SensorMediumPulse5) { + position = "-106.385 -805.964 203.302"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "186"; + team = "2"; + }; + new StaticShape(Team1SensorMediumPulse6) { + position = "-98.4081 -344.831 176.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "187"; + team = "2"; + }; + new InteriorInstance() { + position = "-303.748 -425.349 41.5541"; + rotation = "1 0 0 0"; + scale = "1 1 4.55705"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "21.9947 -462.141 108.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "188"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "-303.771 -425.981 137.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "189"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge3) { + position = "-268.755 -713.981 164.078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "190"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge4) { + position = "73.8257 -694.787 114.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "191"; + team = "2"; + }; + new TSStatic() { + position = "-117.408 -802.673 84.5218"; + rotation = "1 0 0 0"; + scale = "0.1 0.478262 0.611563"; + shapeName = "stackable1l.dts"; + team = "2"; + }; + new TSStatic() { + position = "-103.418 -808.911 84.7306"; + rotation = "1 0 0 0"; + scale = "0.1 0.478262 0.611563"; + shapeName = "stackable1l.dts"; + team = "2"; + }; + new SimGroup(Lights) { + powerCount = "2"; + + new InteriorInstance() { + position = "-133.521 -347.077 93.8143"; + rotation = "0.331546 0.937267 -0.107742 213.88"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-128.283 -351.306 84.5959"; + rotation = "0.331546 0.937267 -0.107742 213.88"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-63.0413 -347.737 93.7667"; + rotation = "0.904046 0.310464 -0.293791 191.522"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-68.3497 -351.877 84.5483"; + rotation = "0.904046 0.310464 -0.293791 191.522"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-101.744 -343.336 101.882"; + rotation = "0.551435 0.814743 -0.179201 209.66"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-99.2372 -349.584 92.6637"; + rotation = "0.551435 0.814743 -0.179201 209.66"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "23.298 -458.364 103.305"; + rotation = "0.884434 0.324505 -0.335371 205.387"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "18.4295 -465.071 95.4564"; + rotation = "0.884434 0.324505 -0.335371 205.387"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new StaticShape() { + position = "-107.777 -801.481 120.265"; + rotation = "0.807563 -0.528171 -0.262444 160.521"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-73.4331 -802.903 121.416"; + rotation = "0.905897 -0.304437 -0.294396 168.7"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-78.8015 -798.842 112.197"; + rotation = "0.905897 -0.304437 -0.294396 168.7"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-145.715 -804.12 121.368"; + rotation = "-0.337646 0.934856 0.109723 213.799"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-140.541 -799.814 112.15"; + rotation = "-0.337646 0.934856 0.109723 213.799"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-105.075 -807.646 129.483"; + rotation = "0.807563 -0.528171 -0.262444 160.521"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-263.382 -709.437 154.646"; + rotation = "-0.28171 0.935643 0.212628 219.706"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-269.009 -715.522 162.494"; + rotation = "-0.28171 0.935643 0.212628 219.706"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-299.631 -428.798 123.687"; + rotation = "0.557626 0.816587 -0.149128 223.3"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-304.393 -422.015 131.536"; + rotation = "0.557626 0.816587 -0.149128 223.3"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "71.64 -692.176 104.148"; + rotation = "0.860074 -0.327021 -0.391573 174.431"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "78.9639 -696.055 111.996"; + rotation = "0.860074 -0.327021 -0.391573 174.431"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "203.353 -366.449 118.536"; + rotation = "0.884434 0.324505 -0.335371 205.387"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "208.221 -359.742 126.384"; + rotation = "0.884434 0.324505 -0.335371 205.387"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "188.67 -349.195 112.572"; + rotation = "0.88028 0.256397 -0.399209 200.456"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "195.429 -343.408 119.722"; + rotation = "0.88028 0.256397 -0.399209 200.456"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-362.424 -349.722 136.347"; + rotation = "0.246568 0.969117 -0.00402081 226.42"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-370.436 -347.602 144.195"; + rotation = "0.246568 0.969117 -0.00402081 226.42"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-60.8995 -602.249 62.2938"; + rotation = "0.374044 -0.909459 -0.181593 106.467"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-69.8589 -608.773 65.0213"; + rotation = "0.374044 -0.909459 -0.181593 106.467"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-77.6255 -500.059 71.7099"; + rotation = "0.711219 0.375701 -0.594151 203.314"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-70.0725 -491.949 74.4374"; + rotation = "0.711219 0.375701 -0.594151 203.314"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-103.857 -543.647 60.4463"; + rotation = "0.910931 0.215831 -0.3516 201.642"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-97.697 -538.131 68.3134"; + rotation = "0.910931 0.215831 -0.3516 201.642"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-379.424 -784.134 104.922"; + rotation = "0.374044 -0.909459 -0.181593 106.467"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-388.384 -790.658 107.65"; + rotation = "0.374044 -0.909459 -0.181593 106.467"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-130.353 -337.431 85.8966"; + rotation = "-0.316693 0.943546 0.0970941 218.363"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-136.424 -341.556 94.6371"; + rotation = "-0.316693 0.943546 0.0970941 218.363"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-141.413 -811.403 114.317"; + rotation = "0.389123 0.919615 0.0537711 221.971"; + scale = "1 1 16.7333"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + team = "2"; + holo = "0"; + }; + new InteriorInstance() { + position = "-148.864 -809.403 122.728"; + rotation = "0.389123 0.919615 0.0537711 221.971"; + scale = "0.292712 0.295147 0.616419"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + new Turret(Team1TurretBaseLarge5) { + position = "-386.604 -597.188 176.721"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "192"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge6) { + position = "210.882 -581.624 176.85"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "193"; + team = "2"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-71.4534 -552.825 64.3386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "194"; + team = "2"; + }; + new InteriorInstance() { + position = "-99.0677 -344.456 108.982"; + rotation = "1 0 0 179.909"; + scale = "4.7069 1 4.50037"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "-110.346 -805.189 135.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "251"; + }; + new Turret() { + position = "-98.9118 -344.613 108.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "252"; + }; + }; + new SimGroup(FirstlineD) { + powerCount = "1"; + + new StaticShape(Team2GeneratorLarge2) { + position = "-22.4768 -518.52 39.3629"; + rotation = "0 0 1 0.323851"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + name = "Primary"; + Target = "195"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare(Force1) { + position = "-68.2291 -543.683 47.1629"; + rotation = "0 1 0 179.909"; + scale = "8.44338 0.216149 9.71012"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "196"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(SecondlineD) { + powerCount = "1"; + + new StaticShape(Team2GeneratorLarge2) { + position = "-70.4315 -537.87 38.7005"; + rotation = "0 0 1 89.6155"; + scale = "1 1 1"; + nameTag = "Secondary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + name = "Secondary"; + Target = "197"; + team = "2"; + scoreValue = "5"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare(Force1) { + position = "-53.0567 -579.955 50.4478"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "198"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-55.1836 -579.922 50.4142"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "199"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-51.82 -579.929 50.4014"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.99834"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "200"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-58.4635 -579.886 50.5493"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "201"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-53.8168 -579.941 50.368"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "202"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-54.4905 -579.93 50.3764"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "203"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-59.0931 -579.914 50.5872"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "204"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.1684 -579.941 50.673"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "205"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-55.8413 -579.913 50.6267"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "206"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-59.7631 -579.897 50.5072"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "207"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-56.5385 -579.913 50.6351"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "208"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.8379 -579.924 50.593"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "209"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-52.4269 -579.927 50.41"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.947"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "210"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-82.0255 -524.046 49.845"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "211"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-84.7472 -524.018 50.1121"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "212"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-81.2654 -524.06 49.9248"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "213"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-84.05 -524.018 50.1037"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "214"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-80.0287 -524.034 49.8784"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.99834"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "215"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-82.6992 -524.035 49.8534"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "216"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-80.6356 -524.032 49.887"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.947"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "217"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-85.3771 -524.046 50.15"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "218"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-83.3923 -524.027 49.8912"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "219"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-86.0466 -524.029 50.07"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "220"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.9718 -524.002 49.9842"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "221"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.3018 -524.019 50.0642"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "222"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-86.6722 -523.991 50.0263"; + rotation = "-0.699716 0.714421 -0.000555755 179.935"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "223"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.3054 -554.657 60.2548"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "224"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2794 -551.935 60.5219"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "225"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.3186 -555.417 60.3346"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "226"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2789 -552.633 60.5135"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "227"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2824 -549.381 60.474"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "228"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2949 -553.983 60.2632"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "229"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.254 -550.01 60.4361"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "230"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.3079 -551.305 60.5598"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "231"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2874 -553.29 60.301"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "232"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2914 -550.636 60.4798"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "233"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-87.2661 -548.711 60.394"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "234"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.37 -549.908 59.1158"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "235"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.3984 -549.279 59.1537"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "236"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.3821 -548.609 59.0737"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "237"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.4074 -550.534 59.1595"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.5489"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "238"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.4034 -553.188 58.9807"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.81122"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "239"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.4239 -551.203 59.2395"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.45424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "240"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.4109 -553.881 58.9429"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.80887"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "241"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.3949 -552.531 59.1932"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.14525"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "242"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.4346 -555.315 59.0143"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.95559"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "243"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.3954 -551.833 59.2016"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 8.05265"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "244"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(Force1) { + position = "-57.4214 -554.555 58.9345"; + rotation = "0.00999964 0.99995 7.82886e-06 179.909"; + scale = "0.195546 0.216149 7.81584"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + Target = "245"; + homingCount = "0"; + team = "2"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +package DeathRow +{ + + +function SiegeGame::startMatch(%game) +{ + Parent::startMatch(%game); + ActivateSecurityCameras(); +} + +function SiegeGame::startSecondHalf(%game) +{ + Parent::startSecondHalf(%game); + ActivateSecurityCameras(); +} + +function SiegeGame::gameOver(%game) +{ + Parent::gameOver(%game); + deactivatePackage(DeathRow); +} + +function activateSecCamera(%position, %rotation, %sourceObj, %team) +{ + if($TeamDeployedCount[%team, DeployedCamera] >= $TeamDeployableMax[DeployedCamera]) + { + // team has too many cameras deployed already, don't deploy this one + return 0; + } + + %dCam = new Turret() + { + dataBlock = "TurretDeployedCamera"; + team = %team; + needsNoPower = true; + owner = %sourceObj.client; + ownerHandle = %sourceObj.client.handle; + position = %position; + rotation = %rotation; + invulnerable = true; + }; + + addToDeployGroup(%dCam); + + if(%dCam.getTarget() != -1) + setTargetSensorGroup(%dCam.getTarget(), %team); + + %dCam.playAudio($DeploySound, CameraGrenadeAttachSound); + %dCam.deploy(); + %dCam.playThread($AmbientThread, "ambient"); + + // increment team's deployed count for cameras + $TeamDeployedCount[%team, DeployedCamera]++; + + return %dCam; +} + +function ActivateSecurityCameras() +{ + %defTeam = Game.offenseTeam == 1 ? 2 : 1; + Game.SecCam1 = activateSecCamera("-13.3428 -551.846 35.784", "-0.578576 0.576277 0.577196 119.974", "", %defTeam); + Game.SecCam2 = activateSecCamera("-76.3154 -561.746 41.3069", "0.575973 0.577807 0.578268 239.92", "", %defTeam); + Game.SecCam3 = activateSecCamera("-41.5939 -554.362 55.1737", "0.593648 -0.591289 -0.545857 237.295", "", %defTeam); + Game.SecCam4 = activateSecCamera("-124.353 -800.164 90.4625", "0.000563164 0.707108 0.707105 179.935", "", %defTeam); + Game.SecCam5 = activateSecCamera("189.028 -344.456 82.37", "-0.575881 0.58028 0.575879 119.749", "", %defTeam); +} + +function SiegeGame::enterMissionArea(%game, %playerData, %player) +{ + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") entered mission area"); + cancel(%player.alertThread); +} + +function SiegeGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") left mission area"); + + if(%player.client.team != %game.offenseTeam) + { + %player.client.outOfBounds = true; + messageClient(%player.client, 'LeaveMissionArea', '\c1You have left Death Row with authorization, you will not take damage.'); + } + else + { + %player.client.outOfBounds = true; + messageClient(%player.client, 'LeaveMissionArea', '\c1YOU HAVE LEFT DEATH ROW WITHOUT AUTHORIZATION. RETURN IMMEDIATELY OR PAIN COLLAR WILL BE ACTIVATED.~wfx/misc/warning_beep.wav', %player.client.team); + %player.alertThread = %game.schedule(1000, "AlertPlayer", 3, %player); + } +} + +function SiegeGame::AlertPlayer(%game, %count, %player) +{ + if(%count > 1) + %player.alertThread = %game.schedule(1000, "AlertPlayer", %count - 1, %player); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); +} + +function SiegeGame::MissionAreaDamage(%game, %player) +{ + if(%player.getState() !$= "Dead") { + %player.setDamageFlash(0.1); + %prevHurt = %player.getDamageLevel(); + %player.setDamageLevel(%prevHurt + 0.03); + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); + } + else + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); +} + +function FlipFlop::playerTouch(%data, %flipflop, %player) +{ + // prevent console spam + %player.client.outOfBounds = false; + cancel(%player.alertThread); + + Parent::playerTouch(%data, %flipflop, %player); +} + + +}; + +activatePackage(DeathRow); diff --git a/public/base/@vl2/DeathRow.vl2/terrains/DeathRow.spn b/public/base/@vl2/DeathRow.vl2/terrains/DeathRow.spn new file mode 100644 index 00000000..ad17f54f Binary files /dev/null and b/public/base/@vl2/DeathRow.vl2/terrains/DeathRow.spn differ diff --git a/public/base/@vl2/DeathRow.vl2/textures/gui/LOAD_DeathRow.png b/public/base/@vl2/DeathRow.vl2/textures/gui/LOAD_DeathRow.png new file mode 100644 index 00000000..d06ce630 Binary files /dev/null and b/public/base/@vl2/DeathRow.vl2/textures/gui/LOAD_DeathRow.png differ diff --git a/public/base/@vl2/DesertWind.vl2/Dopplegangers.txt b/public/base/@vl2/DesertWind.vl2/Dopplegangers.txt new file mode 100644 index 00000000..6cff0860 --- /dev/null +++ b/public/base/@vl2/DesertWind.vl2/Dopplegangers.txt @@ -0,0 +1,14 @@ + +This file was packed using Emo1313's map zipping utility for Tribes2. +Please visit Dopplegangers.com @ www.dopplegangers.com for all your Tribes file needs. +Thank you. + + + +This file contains: + ====================================== + DesertWind.mis. + DesertWind.spn. + + ====================================== + \ No newline at end of file diff --git a/public/base/@vl2/DesertWind.vl2/missions/DesertWind.mis b/public/base/@vl2/DesertWind.vl2/missions/DesertWind.mis new file mode 100644 index 00000000..ff29b0b8 --- /dev/null +++ b/public/base/@vl2/DesertWind.vl2/missions/DesertWind.mis @@ -0,0 +1,2034 @@ +// DisplayName = Desert Wind +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//We slaughtered them... and still they came. +//The piles grew higher... and still they came. +//The ground turned red... and still they came. +// -- Map by Alingis +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Two generators power the entrance FFs +//[Siege]Attackers need only kill 4 of 5 switch gens +//[Siege]Team communication critical +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-784 -688 1600 1552"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "256 -464 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "120"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "110"; + fogColor = "0.550000 0.450000 0.380000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000503 0.000020"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + locked = "true"; + scale = "1 1 1"; + position = "0 0 0"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "SunDried.ter"; + squareSize = "8"; + emptySquares = "685376 751168 751424 817216 883007 1145403 883515 556096 556352"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + GraphFile = "SunDried.nav"; + locked = "true"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-311.635 -76.0614 145.835"; + rotation = "-0.197073 0.131951 0.971469 69.1507"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-375.357 1.79946 134.907"; + rotation = "-0.067576 -0.168796 0.983332 222.976"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-520.502 -32.1063 69.797"; + rotation = "0.000735497 0.0799146 0.996801 181.051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-433.264 -72.4677 90.2598"; + rotation = "-0.0558332 -0.0648529 -0.996332 98.7565"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-515.08 -81.5313 71.7823"; + rotation = "0.0503428 0.08479 -0.995126 118.847"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "143.426 -50.1169 341.599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(BaseandBridge) { + powerCount = "1"; + + new InteriorInstance() { + position = "137.171 -49.2656 249.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "136.62 -49.3785 276.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "135.52 -48.9633 301.999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "137.17 -48.957 261.292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg2.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "137.513 -49.3959 87.7609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "139.153 -48.5956 137.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "137.198 -50.2294 185.813"; + rotation = "0.869901 -0.493226 0.00069278 179.955"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "136.431 -49.5613 184.907"; + rotation = "0 0 1 239.105"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "142.395 -46.9007 183.847"; + rotation = "-0.807932 0.583092 0.0851459 20.4903"; + scale = "9.84878 8.16978 4.66149"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "136.727 -49.574 323.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk7.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "89.6675 -48.9885 303.837"; + rotation = "-0.193767 0.000154323 0.981048 179.91"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "111.658 -49.0185 306.128"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "39.5777 -49.0485 283.112"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "61.747 -49.0485 292.306"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "17.2995 -49.0435 273.9"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-10.4576 -48.9895 262.49"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-137.34 -49.1999 210.105"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-109.584 -49.2538 221.514"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-65.1366 -49.2588 239.92"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-87.3058 -49.2588 230.726"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-37.2161 -49.1988 251.45"; + rotation = "-0.193767 0.000153899 0.981048 179.911"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-16.2415 -48.867 238.159"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-268.491 -49.0142 132.911"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-289.465 -49.346 146.201"; + rotation = "-0.193767 0.000153899 0.981048 179.911"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-339.555 -49.406 125.477"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-317.386 -49.406 134.67"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-361.833 -49.401 116.265"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-389.59 -49.3471 104.855"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-262.707 -49.1368 157.242"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-234.95 -49.1907 168.651"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-190.503 -49.1957 187.057"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-212.672 -49.1957 177.863"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-162.582 -49.1357 198.587"; + rotation = "-0.193767 0.000153899 0.981048 179.911"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-152.58 -49.2897 184.413"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-159.471 -49.2039 181.674"; + rotation = "-0.193767 0.000153899 0.981048 179.911"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-207.775 -50.6032 158.077"; + rotation = "-0.547065 0.69952 -0.459774 31.7396"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-186.644 -48.1108 168.575"; + rotation = "-0.602449 0.782858 -0.155529 29.7819"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-229.573 -56.2211 147.715"; + rotation = "-0.205064 0.63376 -0.745853 27.0505"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-256.187 -67.196 138.57"; + rotation = "-0.0867163 0.591319 -0.801762 27.9142"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-351.689 -108.407 115.006"; + rotation = "0.60427 0.291511 -0.741538 26.6969"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-308.384 -90.823 121.016"; + rotation = "0.319126 0.479483 -0.817469 29.3747"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-329.221 -99.915 117.061"; + rotation = "0.60427 0.291511 -0.741538 26.6969"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-281.7 -78.0774 130.289"; + rotation = "-0.145406 -0.0212057 0.989145 157.61"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-263.691 -70.5311 114.948"; + rotation = "-0.0867163 0.591319 -0.801762 27.9142"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-380.431 -115.949 110.527"; + rotation = "0.638598 0.561664 -0.526047 18.9934"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-403.422 -120.581 106.184"; + rotation = "0.638598 0.561664 -0.526047 18.9934"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-423.789 -68.0668 100.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-423.828 -75.9872 100.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-487.636 -88.3299 100.213"; + rotation = "1 0 0 0"; + scale = "6.27237 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-451.598 -88.6095 100.289"; + rotation = "1 0 0 0"; + scale = "3.03074 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-527.664 -18.1222 123.964"; + rotation = "0 0 -1 89.9544"; + scale = "1 3.59616 2.45273"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-524.72 -84.8797 124.356"; + rotation = "0 0 -1 89.9544"; + scale = "1 3.3891 2.45273"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-570.541 -67.301 123.878"; + rotation = "1 0 0 0"; + scale = "1.50286 4.33202 2.18976"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-570.128 -66.7057 123.851"; + rotation = "1 0 0 0"; + scale = "14.6077 4.38117 0.10303"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "136.519 -13.3194 327.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "136.755 -85.5089 327.894"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "137.886 -58.5176 328.033"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + Trigger = "3343"; + team = "1"; + }; + new StaticShape() { + position = "137.269 -40.497 327.833"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + Trigger = "3345"; + team = "1"; + }; + new StaticShape() { + position = "143.368 -50.114 336.399"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + Trigger = "3347"; + team = "1"; + }; + new StaticShape() { + position = "141.457 -93.0771 349.836"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + Trigger = "3349"; + team = "1"; + }; + new StaticShape() { + position = "131.825 -93.0192 349.882"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + Trigger = "3351"; + team = "1"; + }; + new Item() { + position = "137.251 -49.6446 359.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "131.924 -5.5831 349.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + locked = "true"; + Trigger = "3354"; + team = "1"; + }; + new StaticShape() { + position = "141.608 -5.61105 349.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + Trigger = "3356"; + team = "1"; + }; + new Turret() { + position = "116.298 -47.0141 323.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "41"; + locked = "true"; + team = "1"; + }; + new Turret() { + position = "116.298 -52.2141 323.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "42"; + locked = "true"; + team = "1"; + }; + new Turret() { + position = "116.298 -49.6141 323.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "43"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "144.426 -44.9481 345.863"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + Trigger = "3361"; + team = "1"; + }; + new StaticShape() { + position = "144.556 -54.3897 345.759"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + Trigger = "3363"; + team = "1"; + }; + new InteriorInstance() { + position = "-382.133 -49.0659 159.546"; + rotation = "-0.787344 0.610904 -0.0829767 19.5759"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-352.975 -49.6533 166.71"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-329.408 -49.6583 171.784"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-305.952 -49.6583 176.86"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-276.418 -49.5983 183.206"; + rotation = "-0.104807 8.34655e-05 0.994493 179.91"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-258.162 -49.2665 166.376"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-248.116 -49.3891 189.278"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-195.197 -49.448 200.608"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-218.765 -49.443 195.533"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-171.741 -49.448 205.685"; + rotation = "0 1 0 12.0322"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-393.971 -49.8714 156.939"; + rotation = "-0.0264527 -0.028456 0.999245 174.104"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-261.74 -49.3785 181.78"; + rotation = "0 1 0 13.1783"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-470.75 -75.0832 71.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-490.303 -95.602 71.4594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-478.388 -48.2495 84.5934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-478.442 -35.7808 84.4934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-478.427 -60.4678 84.5716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-517.446 -37.217 77.6025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-529.812 -37.1538 77.7125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-514.577 -81.9666 71.2812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-525.776 -58.0851 71.3438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "1"; + providesPower = "1"; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(mainbase) { + powerCount = "2"; + + new InteriorInstance() { + position = "-478.328 -50.0702 83.9638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbase3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-437.466 -75.4577 124.32"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-437.505 -75.3854 160.57"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-438.059 -75.641 161.775"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Solar FF"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "46"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-435.415 -75.5293 146.32"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "47"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-437.297 -75.476 149.106"; + rotation = "0 0 1 89.9544"; + scale = "0.1 0.1 3.33428"; + dataBlock = "defaultForceFieldBare"; + Target = "48"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-444.087 -54.9816 102.414"; + rotation = "1 0 0 0"; + scale = "0.659626 9.46826 9.94924"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "49"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-439.108 -85.8302 103.46"; + rotation = "1 0 0 0"; + scale = "9.51428 0.480601 8.80285"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "50"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(alpha) { + powerCount = "1"; + + new StaticShape() { + position = "-503.678 -50.2887 111.885"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Alpha"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "51"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.525 -86.7369 67.465"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "52"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.525 -89.552 67.4328"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "53"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.515 -92.3118 67.2869"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "54"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.669 -88.6626 67.319"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "55"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.659 -91.4678 67.7395"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "56"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.669 -94.3082 67.3365"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "57"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.583 -87.6854 67.5454"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "58"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.583 -90.4977 67.4562"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "59"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.573 -93.2927 67.5435"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "60"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-436.866 -78.5536 67.6504"; + rotation = "1 0 0 0"; + scale = "13.2246 1 6.39032"; + dataBlock = "defaultForceFieldBare"; + Target = "61"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-505.58 -50.3653 114.081"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 5.79844"; + dataBlock = "defaultNoTeamLavaLightField"; + Target = "62"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-499.082 -59.1202 87.5484"; + rotation = "1 0 0 0"; + scale = "0.1 17.2457 10.8389"; + dataBlock = "defaultForceFieldBare"; + Target = "63"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(beta) { + powerCount = "1"; + + new StaticShape() { + position = "-434.344 -74.5118 112.9"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Beta"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "64"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.525 -87.6688 67.5256"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "65"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.525 -90.4811 67.4364"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "66"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.515 -93.2761 67.5237"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "67"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.834 -86.6508 67.4602"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "68"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.834 -89.4659 67.428"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "69"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.824 -92.2257 67.2821"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "70"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.583 -88.6043 67.2158"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "71"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.573 -91.4095 67.6363"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "72"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.583 -94.2499 67.2333"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "73"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-436.654 -70.7079 67.7605"; + rotation = "1 0 0 0"; + scale = "13.2246 1 6.39032"; + dataBlock = "defaultForceFieldBare"; + Target = "74"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-432.569 -74.5659 115.505"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 8.76186"; + dataBlock = "defaultNoTeamLavaLightField"; + Target = "75"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(gamma) { + powerCount = "1"; + + new StaticShape() { + position = "-478.278 -37.2264 124.081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Gamma"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "76"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.766 -66.2497 67.5838"; + rotation = "1 0 0 0"; + scale = "1 17.4661 8.72229"; + dataBlock = "defaultForceFieldBare"; + Target = "77"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.525 -88.5877 67.196"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "78"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.515 -91.3929 67.6165"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "79"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-470.525 -94.2333 67.2135"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "80"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.834 -87.5827 67.5208"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "81"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.834 -90.395 67.4316"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "82"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.824 -93.19 67.5189"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "83"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.59 -86.7235 67.7122"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "84"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.59 -89.5386 67.68"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "85"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.58 -92.2984 67.5341"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "86"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-478.32 -39.0972 126.521"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 4.84856"; + dataBlock = "defaultNoTeamLavaLightField"; + Target = "87"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(delta) { + powerCount = "1"; + + new StaticShape() { + position = "-449.209 -50.0845 124.066"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Delta"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "88"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.697 -66.5521 67.4547"; + rotation = "1 0 0 0"; + scale = "1 17.4661 8.72229"; + dataBlock = "defaultForceFieldBare"; + Target = "89"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.669 -86.8118 67.588"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "90"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.669 -89.6269 67.5558"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "91"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.659 -92.3867 67.4099"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "92"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.834 -88.5016 67.1912"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "93"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.824 -91.3068 67.6117"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "94"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-454.834 -94.1472 67.2087"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "95"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.59 -87.6554 67.7728"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "96"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.59 -90.4677 67.6836"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "97"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.58 -93.2627 67.7709"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "98"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-447.436 -50.1206 126.548"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 4.84856"; + dataBlock = "defaultNoTeamLavaLightField"; + Target = "99"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(epsilon) { + powerCount = "1"; + + new StaticShape() { + position = "-532.515 -90.0454 68.157"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Epsilon"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectivewaypoint = "1"; + Target = "100"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.59 -94.2199 67.4607"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "101"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.58 -91.3795 67.8637"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "102"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.771 -66.3877 67.4715"; + rotation = "1 0 0 0"; + scale = "1 17.4661 8.72229"; + dataBlock = "defaultForceFieldBare"; + Target = "103"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.669 -87.7437 67.6486"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "104"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.669 -90.556 67.5594"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "105"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-462.659 -93.351 67.6467"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "106"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.583 -86.7535 67.4848"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "107"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.583 -89.5686 67.4526"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "108"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-446.573 -92.3284 67.3067"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "109"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-438.59 -88.5743 67.4432"; + rotation = "1 0 0 0"; + scale = "1 0.785677 6.84894"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "110"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-534.28 -90.0931 70.7923"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 3.39047"; + dataBlock = "defaultNoTeamLavaLightField"; + Target = "111"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-499.941 -56.141 123.214"; + rotation = "1 0 0 0"; + scale = "0.24086 11.415 8.0562"; + dataBlock = "defaultForceFieldBare"; + Target = "112"; + locked = "true"; + team = "2"; + }; + }; + new StaticShape() { + position = "-429.116 -90.817 68.0127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "switch"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "113"; + locked = "true"; + team = "2"; + }; + new WayPoint() { + position = "-429.116 -90.817 68.0127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "switch"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + name = "Switch"; + locked = "true"; + }; + new SimGroup(equipment) { + powerCount = "1"; + + new StaticShape() { + position = "-509.545 -50.3857 124.008"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "114"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-511.394 -50.4428 126.751"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 4.60538"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "115"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "-487.882 -50.1711 123.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "-470.166 -50.3382 104.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "-478.365 -65.6483 79.0311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-531.332 -44.81 67.9424"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "116"; + locked = "true"; + Trigger = "3533"; + team = "2"; + }; + new StaticShape() { + position = "-498.475 -86.1718 67.8843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "117"; + locked = "true"; + Trigger = "3535"; + team = "2"; + }; + new StaticShape() { + position = "-474.007 -30.2063 67.9368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "118"; + locked = "true"; + Trigger = "3537"; + team = "2"; + }; + new StaticShape() { + position = "-442.962 -78.7159 104.047"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "119"; + locked = "true"; + Trigger = "3539"; + team = "2"; + }; + new StaticShape() { + position = "-462.868 -61.5229 87.9554"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "120"; + locked = "true"; + Trigger = "3541"; + team = "2"; + }; + new StaticShape() { + position = "-505.422 -78.2569 88.0007"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "121"; + locked = "true"; + Trigger = "3543"; + team = "2"; + }; + new StaticShape() { + position = "-478.328 -61.9861 124.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "122"; + locked = "true"; + Trigger = "3545"; + team = "2"; + }; + new StaticShape() { + position = "-452.272 -62.7203 87.9477"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "123"; + locked = "true"; + Trigger = "3547"; + team = "2"; + }; + new StaticShape() { + position = "-493.715 -38.4405 88.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "124"; + locked = "true"; + Trigger = "3549"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-458.187 -95.7609 71.2514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-435.847 -65.9648 71.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-424.682 -82.0674 71.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-442.342 -50.3305 71.2261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-458.236 -65.6914 71.2572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-530.302 -95.649 71.4189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-442.4 -84.4609 71.3004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "FlareEmitter"; + velocity = "1"; + locked = "true"; + team = "1"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-425.869 -17.3194 96.318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "85"; + outdoorWeight = "15"; + locked = "true"; + }; + }; + }; + }; + new InteriorInstance() { + position = "-92.024 284.713 81.7243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-321.965 -223.685 82.0099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(RandomRocks) { + powerCount = "0"; + + new SimGroup(Addition1prock6) { + powerCount = "0"; + }; + new SimGroup(Addition2prock7) { + powerCount = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/DesertWind.vl2/terrains/DesertWind.spn b/public/base/@vl2/DesertWind.vl2/terrains/DesertWind.spn new file mode 100644 index 00000000..3ba8c38f Binary files /dev/null and b/public/base/@vl2/DesertWind.vl2/terrains/DesertWind.spn differ diff --git a/public/base/@vl2/DraconisVII.vl2/missions/DraconisVII.mis b/public/base/@vl2/DraconisVII.vl2/missions/DraconisVII.mis new file mode 100644 index 00000000..dc5be2dd --- /dev/null +++ b/public/base/@vl2/DraconisVII.vl2/missions/DraconisVII.mis @@ -0,0 +1,1647 @@ +// DisplayName = Draconis VII +// MissionTypes = Siege +//--- MISSION QUOTE BEGIN --- +// You can add new gameplay elements to a siege map. You can write new scripts for a siege map. You can add eyecandy to a siege map until your computer gives you 5 FPS. But underneath of all it's fancy exterior is just a couple of generators and a switch. +// -- Map and quote by Kamikaze Raptor +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Destroy FF gen to gain access to main gens +//Destroy Main gens for access to the switch on the center isle +//Repair packs at tank debris and center isle +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + cdTrack = "3"; + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "volcanic"; + CnH_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-384 -368 768 1200"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "300"; + fogColor = "0.850000 0.380000 0.100000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -520175634523126950000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 7.98967e-38 5.8083e-38"; + high_fogVolume2 = "-1 0 5.4406e-36"; + high_fogVolume3 = "-1 7.9897e-38 4.97862e-37"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-56.4248 -18.6941 132.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "145"; + maxDistance = "9280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-52.6933 -37.0834 115.979"; + rotation = "-1 0 0 39.5341"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-43.883 12.5616 125.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-43.9 12.2 125.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-44.17 12.3603 124.608"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-52.6355 -37.296 116.881"; + rotation = "-1 0 0 44.1177"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "Firestorm.ter"; + squareSize = "8"; + emptySquares = "98169 98397 230031 295823 230543"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + GraphFile = "Firestorm.nav"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "-648 -680 13.106"; + rotation = "1 0 0 0"; + scale = "2048 2048 99.96"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(Base0) { + + powerCount = "2"; + providesPower = "1"; + + new InteriorInstance() { + position = "174.899 691.769 180.513"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "92.9843 671.683 177.173"; + rotation = "0 0 1 175.325"; + scale = "0.90402 0.851458 1"; + interiorFile = "dvpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "170.638 695.023 200.084"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "S|S"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5039"; + team = "2"; + Target = "33"; + }; + new StaticShape() { + position = "184.455 695.271 200.05"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "|RDS|"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5041"; + team = "2"; + Target = "34"; + }; + new StaticShape() { + position = "195.246 704.69 188.519"; + rotation = "0 0 1 0.571981"; + scale = "1 1 1"; + nameTag = "wow!"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5043"; + team = "2"; + Target = "35"; + }; + new StaticShape() { + position = "166.969 694.983 188.495"; + rotation = "0 0 1 142.094"; + scale = "1 1 1"; + nameTag = "-de-"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5045"; + team = "2"; + Target = "36"; + }; + new StaticShape() { + position = "161.715 697.412 174.502"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "(WET)"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5047"; + team = "2"; + Target = "37"; + }; + new StaticShape() { + position = "188.022 702.482 174.609"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "NrG|"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5049"; + team = "2"; + Target = "38"; + }; + new Item() { + position = "152.546 696.707 189.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "174.632 686.556 196.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "39"; + }; + new Turret() { + position = "194.938 702.819 211.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "40"; + }; + new Turret() { + position = "195.207 698.744 205.185"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "41"; + }; + new Turret() { + position = "154.781 696.746 211.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "42"; + }; + new Turret() { + position = "154.943 700.728 204.131"; + rotation = "1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "43"; + }; + new Turret() { + position = "174.966 682.719 193.965"; + rotation = "-1 0 0 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "44"; + }; + new Turret() { + position = "174.907 686.417 197.845"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + team = "2"; + Target = "45"; + }; + new Turret() { + position = "83.4341 648.453 175.925"; + rotation = "0 0 1 173.606"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + team = "2"; + Target = "46"; + }; + new Turret() { + position = "106.404 650.036 176.222"; + rotation = "0 0 1 173.606"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "92.24 679.691 176.896"; + rotation = "0 0 -1 4.7662"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5210"; + MobileBaseVehicle = "removed"; + team = "2"; + Target = "48"; + ready = "1"; + }; + new StaticShape() { + position = "78.0762 701.35 179.232"; + rotation = "0 0 -1 5.72969"; + scale = "1 1 1"; + nameTag = "S||S"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5062"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "102.196 703.216 179.243"; + rotation = "0 0 -1 5.72969"; + scale = "1 1 1"; + nameTag = "Fluffy"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5064"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "183.906 698.941 186.814"; + rotation = "0.603821 0.547334 -0.579505 115.011"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "176.105 700.377 212.517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + new InteriorInstance() { + position = "222.838 608.057 171.042"; + rotation = "-0 0 -1 75.0575"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "223.092 608.587 181.078"; + rotation = "0 0 1 194.988"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "53"; + }; + new Turret() { + position = "279.894 611.535 181.628"; + rotation = "0 0 1 194.988"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + originalBarrel = "ELFBarrelLarge"; + team = "2"; + Target = "54"; + }; + new InteriorInstance() { + position = "279.64 611.005 171.592"; + rotation = "-0 0 -1 75.0575"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "183.253 598.482 182.591"; + rotation = "0 0 1 182.383"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + originalBarrel = "ELFBarrelLarge"; + team = "2"; + Target = "55"; + }; + new InteriorInstance() { + position = "183.121 597.909 172.555"; + rotation = "-0 0 -1 87.6626"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "142.549 570.13 182.717"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "56"; + }; + new InteriorInstance() { + position = "142.36 569.573 172.681"; + rotation = "-0 0 -1 81.933"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "37.2873 549.73 183.042"; + rotation = "0 0 1 164.621"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + originalBarrel = "MissileBarrelLarge"; + team = "2"; + Target = "57"; + }; + new InteriorInstance() { + position = "37.3361 549.144 173.006"; + rotation = "0 0 -1 105.424"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "41.8859 669.795 182.896"; + rotation = "0 0 -1 95.1112"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "58"; + }; + new InteriorInstance() { + position = "41.3009 669.852 172.86"; + rotation = "-0 0 -1 5.15661"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "52.2188 718.766 181.856"; + rotation = "-0 0 -1 51.5664"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "59"; + }; + new InteriorInstance() { + position = "51.834 719.21 171.82"; + rotation = "0 0 1 38.3882"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "96.7633 720.238 181.876"; + rotation = "-0 0 -1 2.29206"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "60"; + }; + new InteriorInstance() { + position = "96.8491 720.819 171.84"; + rotation = "0 0 1 87.6626"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "162.861 741.94 183.028"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "61"; + }; + new InteriorInstance() { + position = "162.958 742.52 172.992"; + rotation = "0 0 1 88.8085"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "224.757 737.473 183.121"; + rotation = "0 0 1 28.0747"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "62"; + }; + new InteriorInstance() { + position = "225.125 737.931 173.085"; + rotation = "0 0 1 118.029"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "260.437 691.294 182.673"; + rotation = "0 0 1 71.0466"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "63"; + }; + new InteriorInstance() { + position = "261.018 691.378 172.637"; + rotation = "0 0 1 161.001"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "45.2296 605.011 182.369"; + rotation = "0 0 -1 95.1112"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "64"; + }; + new InteriorInstance() { + position = "44.6446 605.068 172.333"; + rotation = "-0 0 -1 5.15661"; + scale = "0.408974 0.55187 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "174.887 691.531 199.869"; + rotation = "1 0 0 0"; + scale = "2.70429 1 2.11982"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "124.894 430.023 117.902"; + rotation = "0 0 -1 116.31"; + scale = "1.74008 1.68826 1.60657"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "116.319 290.339 117.749"; + rotation = "0 0 -1 65.3172"; + scale = "2.36127 1.52289 1.64796"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "141.429 655.528 201.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "45"; + outdoorWeight = "55"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(Base1) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-259.779 4.00507 132.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-249.809 4.15019 173.102"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "FireFrenzy\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5100"; + team = "1"; + Target = "65"; + }; + new StaticShape() { + position = "-269.532 4.04518 173.145"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "a tiny fishie\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5102"; + team = "1"; + Target = "66"; + }; + new Item() { + position = "-259.977 -5.78967 150.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-260.612 14.9757 149.887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-248.594 -1.27803 128.434"; + rotation = "0.577044 -0.577504 -0.577503 119.947"; + scale = "2.38707 1 3.32693"; + nameTag = "Western"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + soiledByEnemyRepair = "1"; + lastDamagedBy = "4736"; + name = "Western Generator"; + team = "1"; + lastDamagedByTeam = "1"; + repairedBy = "4736"; + Target = "67"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "6939646"; + wasDisabled = "0"; + }; + new Item() { + position = "-43.7582 12.6656 126.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-271.88 3.99684 125.465"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Kamikaze Samurai\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5108"; + team = "1"; + Target = "68"; + }; + new ForceFieldBare() { + position = "-54.811 -5.90179 121.785"; + rotation = "1 0 0 0"; + scale = "6.14178 1.43623 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "69"; + }; + new ForceFieldBare() { + position = "-54.8966 -3.82208 121.917"; + rotation = "1 0 0 0"; + scale = "6.14178 1.52098 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "70"; + }; + new StaticShape() { + position = "-258.356 28.4409 165.349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "71"; + }; + new Turret() { + position = "-232.634 3.44637 165.199"; + rotation = "0 0 1 6.30227"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + originalBarrel = "MissileBarrelLarge"; + team = "1"; + Target = "72"; + }; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-260.743 6.54044 144.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "135.355 28.2108 143.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(FFBase) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-100.679 325.605 173.405"; + rotation = "1 0 0 0"; + scale = "0.967825 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-100.679 334.881 175.303"; + rotation = "0 0 1 183.919"; + scale = "1 1 1"; + nameTag = "ForceField"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + name = "ForceField Generator"; + team = "1"; + Target = "73"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "-254.719 17.0155 141.168"; + rotation = "0 0 1 41.8259"; + scale = "12.1032 1.31892 7.44318"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "74"; + }; + new ForceFieldBare() { + position = "-274.793 -1.93942 141.519"; + rotation = "0 0 1 44.6907"; + scale = "12.8595 1.26142 7.44318"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "75"; + }; + new ForceFieldBare() { + position = "-265.626 17.9946 141.359"; + rotation = "0 0 1 138.083"; + scale = "12.158 1.20444 7.44318"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "76"; + }; + new ForceFieldBare() { + position = "-247.54 -3.06722 142.509"; + rotation = "0 0 1 136.364"; + scale = "7.25867 1.11347 6.42116"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "77"; + }; + new ForceFieldBare() { + position = "122.232 30.7688 140.891"; + rotation = "-0 0 -1 60.3431"; + scale = "7.25867 1.11347 6.42116"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "78"; + }; + new ForceFieldBare() { + position = "148.659 37.5232 139.901"; + rotation = "0 0 1 207.984"; + scale = "12.8595 1.26142 7.44318"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "79"; + }; + new ForceFieldBare() { + position = "134.881 13.5976 139.55"; + rotation = "0 0 1 205.119"; + scale = "12.1032 1.31892 7.44318"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "80"; + }; + new ForceFieldBare() { + position = "145.61 15.7954 139.741"; + rotation = "-0 0 -1 58.624"; + scale = "12.158 1.20444 7.44318"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "81"; + }; + }; + new SimGroup(Base2) { + + powerCount = "1"; + + new StaticShape() { + position = "127.63 54.316 163.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "83"; + }; + new StaticShape() { + position = "126.48 24.5083 171.484"; + rotation = "0 0 -1 106.753"; + scale = "1 1 1"; + nameTag = "???Unknown\'s???"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5143"; + team = "1"; + Target = "84"; + }; + new InteriorInstance() { + position = "135.988 27.5135 130.914"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "145.341 30.2789 171.527"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + nameTag = "Flaming Rage\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5146"; + team = "1"; + Target = "85"; + }; + new StaticShape() { + position = "123.756 29.3582 126.816"; + rotation = "-0.512616 -0.688497 0.513027 110.863"; + scale = "2.38707 1 3.32693"; + nameTag = "Eastern"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + soiledByEnemyRepair = "1"; + lastDamagedBy = "4736"; + name = "Eastern Generator"; + team = "1"; + lastDamagedByTeam = "1"; + repairedBy = "4736"; + Target = "86"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "6939646"; + wasDisabled = "0"; + }; + new Item() { + position = "139.939 17.2455 148.269"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "133.362 36.9517 148.412"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "-51.3554 -7.93261 122.276"; + rotation = "1 0 0 0"; + scale = "1 8.20661 0.11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "87"; + }; + new ForceFieldBare() { + position = "-53.3936 -8.47482 122.228"; + rotation = "1 0 0 0"; + scale = "1 8.20661 0.11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "88"; + }; + new Turret() { + position = "110.152 19.648 163.814"; + rotation = "0 0 -1 77.5319"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + originalBarrel = "MissileBarrelLarge"; + team = "1"; + Target = "89"; + }; + new StaticShape() { + position = "147.484 31.4201 123.921"; + rotation = "0 0 1 71.4369"; + scale = "1 1 1"; + nameTag = "Kamikaze Raptor\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5156"; + team = "1"; + Target = "90"; + }; + }; + new WayPoint() { + position = "-52.1768 -3.7421 116.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Switch"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Switch"; + team = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-27.1522 27.3692 149.977"; + rotation = "-0.0968707 -0.260677 0.960554 219.288"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-95.4534 246.258 160.785"; + rotation = "-0.000466729 0.00984702 0.999951 174.573"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-102.712 298.585 182.485"; + rotation = "0.0612586 -0.0199611 0.997922 36.1666"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Environmental) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-4.46887 154.451 124.694"; + rotation = "0 0 1 16.0429"; + scale = "1 1.59448 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-129.991 -172.113 123.471"; + rotation = "0.456374 0.0805439 0.886135 57.2886"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + locked = "true"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "-38.2 -70 143.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "900"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new StaticShape() { + position = "-45.6284 133.195 116.672"; + rotation = "-1 0 0 33.2315"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new InteriorInstance() { + position = "-51.7407 -4.03893 117.042"; + rotation = "1 0 0 0"; + scale = "2.78475 3.10549 2.51688"; + interiorFile = "tri_powerpit.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-46.0615 134.84 119.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new InteriorInstance() { + position = "-66.848 -21.381 120.038"; + rotation = "1 0 0 0"; + scale = "1.05533 1.78475 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-52.1263 -3.88525 115.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01751"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "91"; + }; + new ParticleEmissionDummy() { + position = "-50.1682 -10.6786 116.36"; + rotation = "1 0 0 65.8902"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "FireballAtmosphereExplosionEmitter"; + velocity = "1"; + }; + new TSStatic() { + position = "-44.775 132.761 113.92"; + rotation = "-1 0 0 33.8045"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + }; + new ParticleEmissionDummy() { + position = "-47.2816 131.829 114.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-44.9118 129.865 115.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new InteriorInstance() { + position = "-69.3816 -8.08641 124.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.3925 -10.7961 121.256"; + rotation = "0 -1 0 24.6372"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "-69.262 -7.79446 125.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-24.6034 -10.4464 122.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DefaultEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-44.274 12.3941 125.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-24.784 -10.5534 121.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-260.122 -31.838 198.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-295.501 3.92052 198.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-259.753 39.9904 198.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-222.929 4.27746 198.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new InteriorInstance() { + position = "-224.71 3.01098 131.057"; + rotation = "1 0 0 0"; + scale = "0.961533 0.248373 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "102.1 18.3889 129.299"; + rotation = "0 0 1 163.293"; + scale = "0.961533 0.247224 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "100.506 16.8193 196.584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "126.037 62.6081 196.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "170.813 37.603 196.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "146.455 -7.08559 197.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileSmokeEmitter"; + velocity = "1"; + }; + }; + new InteriorInstance() { + position = "123.059 15.9528 125.275"; + rotation = "-0.845404 0.377835 0.377534 99.5323"; + scale = "1.30043 0.349843 0.737062"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "127.303 15.0383 123.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "121.816 37.4348 123.823"; + rotation = "-1 0 0 44.1177"; + scale = "1.28163 1.15337 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "119.947 33.9447 123.806"; + rotation = "1 0 0 0"; + scale = "1 0.855216 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "119.079 33.5802 123.627"; + rotation = "0 0 -1 117.066"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/DraconisVII.vl2/terrains/DraconisVII.spn b/public/base/@vl2/DraconisVII.vl2/terrains/DraconisVII.spn new file mode 100644 index 00000000..b0c4ba27 Binary files /dev/null and b/public/base/@vl2/DraconisVII.vl2/terrains/DraconisVII.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/BridgeTooFarReadme.txt b/public/base/@vl2/DynamixFinalPack.vl2/BridgeTooFarReadme.txt new file mode 100644 index 00000000..de8ceb03 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/BridgeTooFarReadme.txt @@ -0,0 +1,18 @@ +.mis goes in base\missions folder +.ter goes in base\terrains folder +.spn goes in base\terrains folder +*.dif files go into base\interiors folder +*.dml (skies texture list) goes into base\textures folder +Sky .png images go into base\textures\lava\skies folder +load_*.png goes into base\textures\ gui folder + +These final missions are a thank you from the Dynamix Tribes2 DEV team to you, the Tribes Players. +Thanks to you we were able to bring our dreams into reality. +These missions are not in a polished state, yet we hope you enjoy them. +There are a few rough edges, poly counts are high in some areas, +and we did not have the time to completely test these missions so please be kind in your reviews. +Thanks to Rod Fung, new producer of the Tribes Franchise, for approving the release of these maps. + +Keep the dream alive, + +Dynamix Tribes 2 DEV team \ No newline at end of file diff --git a/public/base/@vl2/DynamixFinalPack.vl2/Devil'sElbowReadme.txt b/public/base/@vl2/DynamixFinalPack.vl2/Devil'sElbowReadme.txt new file mode 100644 index 00000000..de8ceb03 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/Devil'sElbowReadme.txt @@ -0,0 +1,18 @@ +.mis goes in base\missions folder +.ter goes in base\terrains folder +.spn goes in base\terrains folder +*.dif files go into base\interiors folder +*.dml (skies texture list) goes into base\textures folder +Sky .png images go into base\textures\lava\skies folder +load_*.png goes into base\textures\ gui folder + +These final missions are a thank you from the Dynamix Tribes2 DEV team to you, the Tribes Players. +Thanks to you we were able to bring our dreams into reality. +These missions are not in a polished state, yet we hope you enjoy them. +There are a few rough edges, poly counts are high in some areas, +and we did not have the time to completely test these missions so please be kind in your reviews. +Thanks to Rod Fung, new producer of the Tribes Franchise, for approving the release of these maps. + +Keep the dream alive, + +Dynamix Tribes 2 DEV team \ No newline at end of file diff --git a/public/base/@vl2/DynamixFinalPack.vl2/InnerSanctumReadme.txt b/public/base/@vl2/DynamixFinalPack.vl2/InnerSanctumReadme.txt new file mode 100644 index 00000000..e3bd2c56 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/InnerSanctumReadme.txt @@ -0,0 +1,16 @@ +.mis goes in base\missions folder +.ter goes in base\terrains folder +.spn goes in base\terrains folder +*.dif files go into base\interiors folder +load_*.png goes into base\textures\ gui folder + +These final missions are a thank you from the Dynamix Tribes2 DEV team to you, the Tribes Players. +Thanks to you we were able to bring our dreams into reality. +These missions are not in a polished state, yet we hope you enjoy them. +There are a few rough edges, poly counts are high in some areas, +and we did not have the time to completely test these missions so please be kind in your reviews. +Thanks to Rod Fung, new producer of the Tribes Franchise, for approving the release of these maps. + +Keep the dream alive, + +Dynamix Tribes 2 DEV team \ No newline at end of file diff --git a/public/base/@vl2/DynamixFinalPack.vl2/IsleOfManReadme.txt b/public/base/@vl2/DynamixFinalPack.vl2/IsleOfManReadme.txt new file mode 100644 index 00000000..67f7636b --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/IsleOfManReadme.txt @@ -0,0 +1,18 @@ +.mis goes in base\missions folder +.ter goes in base\terrains folder +.spn goes in base\terrains folder +*.dif files go into base\interiors folder +*.dml (skies texture list) goes into base\textures folder +Sky .png images go into base\textures\lush\skies folder +load_*.png goes into base\textures\ gui folder + +These final missions are a thank you from the Dynamix Tribes2 DEV team to you, the Tribes Players. +Thanks to you we were able to bring our dreams into reality. +These missions are not in a polished state, yet we hope you enjoy them. +There are a few rough edges, poly counts are high in some areas, +and we did not have the time to completely test these missions so please be kind in your reviews. +Thanks to Rod Fung, new producer of the Tribes Franchise, for approving the release of these maps. + +Keep the dream alive, + +Dynamix Tribes 2 DEV team \ No newline at end of file diff --git a/public/base/@vl2/DynamixFinalPack.vl2/PantheonReadme.txt b/public/base/@vl2/DynamixFinalPack.vl2/PantheonReadme.txt new file mode 100644 index 00000000..67f7636b --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/PantheonReadme.txt @@ -0,0 +1,18 @@ +.mis goes in base\missions folder +.ter goes in base\terrains folder +.spn goes in base\terrains folder +*.dif files go into base\interiors folder +*.dml (skies texture list) goes into base\textures folder +Sky .png images go into base\textures\lush\skies folder +load_*.png goes into base\textures\ gui folder + +These final missions are a thank you from the Dynamix Tribes2 DEV team to you, the Tribes Players. +Thanks to you we were able to bring our dreams into reality. +These missions are not in a polished state, yet we hope you enjoy them. +There are a few rough edges, poly counts are high in some areas, +and we did not have the time to completely test these missions so please be kind in your reviews. +Thanks to Rod Fung, new producer of the Tribes Franchise, for approving the release of these maps. + +Keep the dream alive, + +Dynamix Tribes 2 DEV team \ No newline at end of file diff --git a/public/base/@vl2/DynamixFinalPack.vl2/TridentReadme.txt b/public/base/@vl2/DynamixFinalPack.vl2/TridentReadme.txt new file mode 100644 index 00000000..67f7636b --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/TridentReadme.txt @@ -0,0 +1,18 @@ +.mis goes in base\missions folder +.ter goes in base\terrains folder +.spn goes in base\terrains folder +*.dif files go into base\interiors folder +*.dml (skies texture list) goes into base\textures folder +Sky .png images go into base\textures\lush\skies folder +load_*.png goes into base\textures\ gui folder + +These final missions are a thank you from the Dynamix Tribes2 DEV team to you, the Tribes Players. +Thanks to you we were able to bring our dreams into reality. +These missions are not in a polished state, yet we hope you enjoy them. +There are a few rough edges, poly counts are high in some areas, +and we did not have the time to completely test these missions so please be kind in your reviews. +Thanks to Rod Fung, new producer of the Tribes Franchise, for approving the release of these maps. + +Keep the dream alive, + +Dynamix Tribes 2 DEV team \ No newline at end of file diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bbunke.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bbunke.dif new file mode 100644 index 00000000..786b586f Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bbunke.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_bridge0.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_bridge0.dif new file mode 100644 index 00000000..1243e9b8 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_bridge0.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_bunker1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_bunker1.dif new file mode 100644 index 00000000..b129f65c Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_bunker1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruina.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruina.dif new file mode 100644 index 00000000..25467bee Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruina.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinb.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinb.dif new file mode 100644 index 00000000..dc17e841 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinb.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinc.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinc.dif new file mode 100644 index 00000000..9871df97 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinc.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruind.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruind.dif new file mode 100644 index 00000000..22295403 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruind.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruine.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruine.dif new file mode 100644 index 00000000..f44111e6 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruine.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinf.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinf.dif new file mode 100644 index 00000000..da99abe0 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinf.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruing.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruing.dif new file mode 100644 index 00000000..ebaa8904 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruing.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinh.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinh.dif new file mode 100644 index 00000000..4d98cd8c Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruinh.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruini.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruini.dif new file mode 100644 index 00000000..4fb6b521 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_ruini.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_tower1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_tower1.dif new file mode 100644 index 00000000..d791ad63 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_tower1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_tower2.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_tower2.dif new file mode 100644 index 00000000..f50392ed Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/bmiscpan_tower2.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_base1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_base1.dif new file mode 100644 index 00000000..3cf09b7c Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_base1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge1.dif new file mode 100644 index 00000000..a53c5172 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge2.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge2.dif new file mode 100644 index 00000000..5a88283c Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge2.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge3.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge3.dif new file mode 100644 index 00000000..3c5bb4e7 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_bridge3.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_genbunk.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_genbunk.dif new file mode 100644 index 00000000..f26b10f8 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_genbunk.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_turretplatform.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_turretplatform.dif new file mode 100644 index 00000000..dd66956d Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btf_turretplatform.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/btowr9.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btowr9.dif new file mode 100644 index 00000000..252d6ba2 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/btowr9.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/dbase5.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dbase5.dif new file mode 100644 index 00000000..53b15d69 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dbase5.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/dbase6.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dbase6.dif new file mode 100644 index 00000000..e977802d Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dbase6.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/dmisc1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dmisc1.dif new file mode 100644 index 00000000..2f4c3655 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dmisc1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/dplat2.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dplat2.dif new file mode 100644 index 00000000..3b9b86fe Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dplat2.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/dtowr1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dtowr1.dif new file mode 100644 index 00000000..2f53a8dd Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/dtowr1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_base.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_base.dif new file mode 100644 index 00000000..bc7b1c54 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_base.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_gate.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_gate.dif new file mode 100644 index 00000000..adbff40a Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_gate.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_misc1.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_misc1.dif new file mode 100644 index 00000000..f909272a Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_misc1.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_powerpit.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_powerpit.dif new file mode 100644 index 00000000..ccff917d Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_powerpit.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_tbunker.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_tbunker.dif new file mode 100644 index 00000000..a8c59445 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_tbunker.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_tower.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_tower.dif new file mode 100644 index 00000000..8039ef4d Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_tower.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall3.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall3.dif new file mode 100644 index 00000000..d97fcc3a Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall3.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall4.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall4.dif new file mode 100644 index 00000000..711bac20 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall4.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall5.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall5.dif new file mode 100644 index 00000000..be976504 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall5.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall6.dif b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall6.dif new file mode 100644 index 00000000..7ebd4db3 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/interiors/tri_wall6.dif differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/missions/BridgeTooFar.mis b/public/base/@vl2/DynamixFinalPack.vl2/missions/BridgeTooFar.mis new file mode 100644 index 00000000..212aa18a --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/missions/BridgeTooFar.mis @@ -0,0 +1,1170 @@ +// DisplayName = Bridge Too Far +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Attackers start with minimal resources +//Attackers repair bridge generators and stations to restore assets +//Repair bridge generators to restore energy bridges +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "3"; + musicTrack = "volcanic"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1024 -1024 2048 2048"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.409751 -0.759852 -0.504707"; + color = "1.000000 0.830000 0.300000 1.000000"; + ambient = "0.600000 0.500000 0.300000 1.000000"; + position = "-1024 -1024 0"; + texture4 = "special/LensFlare/flare03"; + texture3 = "special/LensFlare/flare02"; + backFlareSize = "400"; + rotation = "1 0 0 0"; + frontFlareSize = "10"; + locked = "false"; + scale = "1 1 1"; + texture2 = "special/LensFlare/flare01"; + texture1 = "special/sunFlare02"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + texture0 = "special/sunFlare"; + lensFlareIntensity = "0.3"; + lensFlareScale = "0.1"; + }; + new SimGroup(Ambients) { + powerCount = "0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "BridgeTooFar.ter"; + squareSize = "8"; + emptySquares = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + locked = "true"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "BridgeTooFar.nav"; + coverage = "0"; + conjoinBowlDev = "20"; + }; + new WaterBlock() { + position = "-1016 -1024 9"; + rotation = "1 0 0 0"; + scale = "2048 2048 57.0092"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + locked = "false"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + cloudHeightPer[0] = "1500"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.001"; + cloudSpeed2 = "0.002"; + cloudSpeed3 = "0.001"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.106000 0.125000 0.235000 0.000000"; + fogDistance = "100"; + fogColor = "0.800000 0.600000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_yellow.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000000"; + high_fogVolume1 = "-1 0 0"; + high_fogDistance = "-1"; + locked = "true"; + high_visibleDistance = "-1"; + high_fogVolume3 = "-1 0 0"; + cloudSpeed0 = "0.001000 0.001000"; + high_fogVolume2 = "-1 0 0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "32.2409 -189.123 200.344"; + rotation = "0.93642 0.0705014 -0.343726 24.7094"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Camera() { + position = "80.2452 478.634 100.779"; + rotation = "-0.00714594 -0.000728025 -0.999974 11.6347"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "13.5781 915.647 116.6"; + rotation = "-0 0 -1 67.2184"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "false"; + }; + new SpawnSphere() { + position = "-904.861 10.0202 101.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(BridgeOne) { + powerCount = "0"; + + new ForceFieldBare(B1_B) { + position = "55.7089 233.43 84"; + rotation = "1 0 0 0"; + scale = "12 238 0.95"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "33"; + }; + new InteriorInstance() { + position = "61.6455 467.127 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "10 750 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "61.6455 237.443 85"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "10.1958 649.194 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_bridge2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "10 550 85"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new ForceFieldBare(B1_A) { + position = "4.00419 545.592 84.0823"; + rotation = "1 0 0 0"; + scale = "11.7958 208.43 0.733307"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "34"; + }; + new InteriorInstance() { + position = "61.7839 355.254 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_bridge2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(BridgeOneGen) { + position = "11.4709 488.216 91.1041"; + rotation = "-0.281085 0.678599 0.678598 148.6"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + repairedBy = "3816"; + team = "2"; + damageTimeMS = "409805"; + Target = "35"; + lastDamagedBy = "3816"; + }; + new ForceFieldBare(Bridge1BunkForce1) { + position = "21.2435 484.691 78.043"; + rotation = "-0.0823002 0.198691 0.976601 135.951"; + scale = "9.03457 0.235796 12.0908"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "36"; + }; + new ForceFieldBare(Bridge1GenForce) { + position = "9.70379 493.9 87.7826"; + rotation = "0 0 1 135"; + scale = "5.67098 7.79201 3.32607"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "37"; + }; + new ForceFieldBare(Bridge1BunkForce2) { + position = "5.50124 500.085 77.5821"; + rotation = "0.0787895 -0.190215 0.978576 135.871"; + scale = "8.755 0.1 12.2754"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "38"; + }; + new InteriorInstance() { + position = "10.5365 489.189 81.4738"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "btf_genbunk.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(B1Inv1) { + position = "21.4267 493.697 81.458"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3388"; + team = "2"; + damageTimeMS = "5380"; + Target = "39"; + lastDamagedBy = "3389"; + }; + new StaticShape(B1Inv2) { + position = "14.8867 500.22 81.458"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3390"; + team = "2"; + damageTimeMS = "5380"; + Target = "40"; + lastDamagedBy = "3389"; + }; + new StaticShape(B1Inv3) { + position = "10.0392 492.035 81.4548"; + rotation = "0 0 1 135.069"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3392"; + team = "2"; + damageTimeMS = "5380"; + Target = "41"; + lastDamagedBy = "3393"; + }; + new StaticShape(B1inv4) { + position = "13.8958 488.14 81.4548"; + rotation = "-0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3394"; + team = "2"; + damageTimeMS = "5380"; + Target = "42"; + lastDamagedBy = "3393"; + }; + }; + new SimGroup(AbelBase) { + powerCount = "0"; + + new InteriorInstance() { + position = "21.0237 888.847 127.693"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Item() { + position = "21.0237 888.847 129.248"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "21.0237 874.198 129.248"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(BakerBase) { + powerCount = "0"; + + new InteriorInstance() { + position = "-900.002 8.99525 149.693"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Item() { + position = "-900.002 8.99525 151.248"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-885.353 8.99525 151.248"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(BridgeTwo) { + powerCount = "0"; + + new ForceFieldBare(B2_B) { + position = "-223.313 35.3612 84"; + rotation = "0 0 -1 105"; + scale = "12 238 0.95"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "43"; + }; + new InteriorInstance() { + position = "-450.584 -19.3897 85"; + rotation = "0 0 -1 105"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-708.356 -57.5152 85"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-228.726 40.0569 85"; + rotation = "0 0 1 75"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-607.551 -57.3194 85"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "btf_bridge2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-508.356 -57.5152 85"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new ForceFieldBare(B2_A) { + position = "-503.948 -63.511 84.0823"; + rotation = "0 0 -1 90"; + scale = "11.7958 208.43 0.733307"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "44"; + }; + new InteriorInstance() { + position = "-342.559 9.69887 85"; + rotation = "0 0 -1 105"; + scale = "1 1 1"; + interiorFile = "btf_bridge2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(BridgeTwoGen) { + position = "-439.37 -73.2015 91.1041"; + rotation = "-0.935114 0.250563 0.25056 93.8408"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + repairedBy = "3816"; + team = "2"; + damageTimeMS = "409805"; + Target = "45"; + lastDamagedBy = "3816"; + }; + new ForceFieldBare(Bridge2BunkForce1) { + position = "-438.494 -62.8496 78.043"; + rotation = "-0.59694 0.159951 0.786179 37.6405"; + scale = "9.03457 0.235796 12.0908"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + }; + new ForceFieldBare(Bridge2GenForce) { + position = "-444.403 -76.3796 87.7826"; + rotation = "0 0 1 30"; + scale = "5.67098 7.79201 3.32607"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + }; + new ForceFieldBare(Bridge2BunkForce2) { + position = "-449.289 -82.0397 77.5821"; + rotation = "0.580058 -0.155427 0.79961 37.0524"; + scale = "8.755 0.1 12.2754"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + }; + new InteriorInstance() { + position = "-440.068 -74.3559 81.4738"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + interiorFile = "btf_genbunk.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(B2Inv1) { + position = "-447.241 -65.0035 81.458"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3423"; + team = "2"; + damageTimeMS = "5380"; + Target = "49"; + lastDamagedBy = "3424"; + }; + new StaticShape(B2Inv2) { + position = "-451.849 -73.009 81.458"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3425"; + team = "2"; + damageTimeMS = "5380"; + Target = "50"; + lastDamagedBy = "3424"; + }; + new StaticShape(B2Inv3) { + position = "-442.688 -75.5729 81.4548"; + rotation = "0 0 1 30.069"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3427"; + team = "2"; + damageTimeMS = "5380"; + Target = "51"; + lastDamagedBy = "3428"; + }; + new StaticShape(B2inv4) { + position = "-439.924 -70.8396 81.4548"; + rotation = "0 0 1 210"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "1"; + Trigger = "3429"; + team = "2"; + damageTimeMS = "5380"; + Target = "52"; + lastDamagedBy = "3428"; + }; + }; + new SimGroup(Team1Waypoints) { + powerCount = "0"; + + new WayPoint() { + position = "16.2307 494.793 86.5041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nijmegan"; + team = "2"; + }; + new WayPoint() { + position = "-447.103 -70.3018 86.6248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Veghez"; + team = "2"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "0 0 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "false"; + }; + }; + new SimGroup(ControlPoint) { + powerCount = "0"; + + new StaticShape(ControlPoint) { + position = "-0.052 -0.0467997 97.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Arnhem"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + lastDamagedByTeam = "2"; + WayPoint = "3480"; + locked = "false"; + team = "1"; + damageTimeMS = "95766"; + Target = "53"; + lastDamagedBy = "3795"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(Team2base) { + powerCount = "0"; + + new InteriorInstance() { + position = "0 0 109.574"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "btf_base1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new SimGroup(INVENTORY) { + powerCount = "1"; + + new StaticShape() { + position = "12.8301 -3.39572 97.565"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3442"; + team = "1"; + Target = "54"; + }; + new StaticShape() { + position = "-12.8722 3.35431 97.525"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + lastDamagedByTeam = "2"; + Trigger = "3444"; + team = "1"; + damageTimeMS = "410520"; + Target = "55"; + lastDamagedBy = "3795"; + }; + new StaticShape() { + position = "-17.7145 -1.22582 97.553"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3446"; + team = "1"; + Target = "56"; + }; + new StaticShape() { + position = "17.6432 1.19878 97.559"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + lastDamagedByTeam = "2"; + Trigger = "3448"; + team = "1"; + damageTimeMS = "416239"; + Target = "57"; + lastDamagedBy = "3844"; + }; + new StaticShape() { + position = "-6.89115 -9.51536 97.542"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + lastDamagedByTeam = "2"; + team = "1"; + damageTimeMS = "416239"; + Target = "58"; + lastDamagedBy = "3795"; + }; + new Turret() { + position = "8.63554 9.13058 138.589"; + rotation = "-6.11022e-08 7.2834e-08 1 225"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + originalBarrel = "MissileBarrelLarge"; + lastProjectile = "5237"; + team = "1"; + Target = "59"; + }; + new Turret() { + position = "-8.88563 -9.02408 138.589"; + rotation = "1.75837e-07 1.47514e-07 1 45"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + lastProjectile = "5237"; + team = "1"; + Target = "60"; + }; + }; + }; + new SimGroup(PerimeterDturrets) { + powerCount = "1"; + + new StaticShape() { + position = "6.70772 9.22587 97.5933"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "61"; + }; + new Turret() { + position = "256 256 100"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + Target = "62"; + }; + new InteriorInstance() { + position = "256 256 66.8828"; + rotation = "0 0 1 45"; + scale = "1 1 3.31172"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-281.064 -292.861 65.0796"; + rotation = "0 0 1 225"; + scale = "1 1 4.49205"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "-282.123 -293.748 109.905"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + Target = "68"; + }; + new InteriorInstance() { + position = "-256 256 65.0796"; + rotation = "0 0 -1 45"; + scale = "1 1 4.49205"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "-256.887 257.059 109.905"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + Target = "63"; + }; + new InteriorInstance() { + position = "111.02 -0.610577 114.003"; + rotation = "0.357407 0.357407 -0.862856 98.4211"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "108.961 -0.588139 118.777"; + rotation = "0.357407 0.357407 -0.862856 98.4211"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + originalBarrel = "ELFBarrelLarge"; + zappingSound = "0"; + team = "1"; + Target = "64"; + deleteLastProjectile = "1"; + }; + new InteriorInstance() { + position = "-13.5323 -119.856 109.119"; + rotation = "1 0 0 45"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-17.7137 124.201 110.741"; + rotation = "0.0503173 -0.382198 0.92271 166.148"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "-17.1103 122.323 115.601"; + rotation = "0.0522763 -0.381714 0.922801 166.699"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + originalBarrel = "ELFBarrelLarge"; + zappingSound = "0"; + team = "1"; + Target = "65"; + deleteLastProjectile = "1"; + }; + new Turret() { + position = "-117.239 6.71448 117.195"; + rotation = "0.281747 -0.36718 0.886452 111.553"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + originalBarrel = "ELFBarrelLarge"; + zappingSound = "0"; + team = "1"; + Target = "66"; + deleteLastProjectile = "1"; + }; + new InteriorInstance() { + position = "-119.107 7.22722 112.296"; + rotation = "0.281747 -0.36718 0.886452 111.553"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "-13.5431 -117.876 113.865"; + rotation = "1 -6.0719e-07 8.28322e-06 45"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + originalBarrel = "ELFBarrelLarge"; + zappingSound = "0"; + team = "1"; + Target = "67"; + deleteLastProjectile = "1"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new AudioEmitter() { + position = "206.17 3.7 104.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "85"; + maxDistance = "5440"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- + +//Set up damaged Bridge One items for team 1 + +nameToId("BridgeOneGen").setDamageLevel(2.5); +nameToId("B1Inv1").setDamageLevel(2.5); +nameToId("B1Inv2").setDamageLevel(2.5); +nameToId("B1Inv3").setDamageLevel(2.5); +nameToId("B1Inv4").setDamageLevel(2.5); + +//Set up damaged Bridge Two items for team 1 + +nameToId("BridgeTwoGen").setDamageLevel(2.5); +nameToId("B2Inv1").setDamageLevel(2.5); +nameToId("B2Inv2").setDamageLevel(2.5); +nameToId("B2Inv3").setDamageLevel(2.5); +nameToId("B2Inv4").setDamageLevel(2.5); + +package BTF { +//begin BTF package ================================ + +// do the destruction again at halftime +function SiegeGame::halftimeOver( %game ) +{ + nameToId("BridgeOneGen").setDamageLevel(2.5); + nameToId("B1Inv1").setDamageLevel(2.5); + nameToId("B1Inv2").setDamageLevel(2.5); + nameToId("B1Inv3").setDamageLevel(2.5); + nameToId("B1Inv4").setDamageLevel(2.5); + + //Set up damaged Bridge Two items for team 1 + + nameToId("BridgeTwoGen").setDamageLevel(2.5); + nameToId("B2Inv1").setDamageLevel(2.5); + nameToId("B2Inv2").setDamageLevel(2.5); + nameToId("B2Inv3").setDamageLevel(2.5); + nameToId("B2Inv4").setDamageLevel(2.5); + + parent::halfTimeOver(%game); +} + +//end BTF package ================================ +}; + +package BandAid { +//begin fix package needed to inflict the damage + +function SiegeGame::halftime(%game, %reason) +{ + //stop the game and the bots + $MatchStarted = false; + AISystemEnabled(false); + + if (%game.firstHalf) + { + //switch the game variables + %game.firstHalf = false; + %oldOffenseTeam = %game.offenseTeam; + if (%game.offenseTeam == 1) + %game.offenseTeam = 2; + else + %game.offenseTeam = 1; + + //send the message + messageAll('MsgSiegeRolesSwitched', '\c2Team %1 is now on offense.', $teamName[%game.offenseTeam], %game.offenseTeam); + + //reset stations and vehicles that players were using + %game.resetPlayers(); + // zero out the counts for deployable items (found in defaultGame.cs) + %game.clearDeployableMaxes(); + + // clean up the MissionCleanup group - note, this includes deleting all the player objects + %clean = nameToID("MissionCleanup"); + %clean.housekeeping(); + + // Non static objects placed in original position + resetNonStaticObjPositions(); + + // switch the teams for objects belonging to the teams + %group = nameToID("MissionGroup/Teams"); + %group.swapTeams(); + // search for vehicle pads also + %mcg = nameToID("MissionCleanup"); + %mcg.swapVehiclePads(); + + //restore the objects + %game.restoreObjects(); + + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + if( !%client.isAIControlled() ) + { + // Put everybody in observer mode: + %client.camera.getDataBlock().setMode( %client.camera, "observerStaticNoNext" ); + %client.setControlObject( %client.camera ); + + // Send the halftime result info: + if ( %client.team == %oldOffenseTeam ) + { + if ( $teamScore[%oldOffenseTeam] > 0 ) + messageClient( %client, 'MsgSiegeResult', "", '%1 captured the %2 base in %3!', %game.capPlayer[%oldOffenseTeam], $teamName[%game.offenseTeam], %game.formatTime( $teamScore[%oldOffenseTeam], true ) ); + else + messageClient( %client, 'MsgSiegeResult', "", 'Your team failed to capture the %1 base.', $teamName[%game.offenseTeam] ); + } + else if ( $teamScore[%oldOffenseTeam] > 0 ) + messageClient( %client, 'MsgSiegeResult', "", '%1 captured your base in %3!', %game.capPlayer[%oldOffenseTeam], %game.formatTime( $teamScore[%oldOffenseTeam], true ) ); + else + messageClient( %client, 'MsgSiegeResult', "", 'Your team successfully held off team %1!', $teamName[%oldOffenseTeam] ); + + // List out the team rosters: + messageClient( %client, 'MsgSiegeAddLine', "", '%1%2', $TeamName[1], $TeamName[2] ); + %max = $TeamRank[1, count] > $TeamRank[2, count] ? $TeamRank[1, count] : $TeamRank[2, count]; + for ( %line = 0; %line < %max; %line++ ) + { + %plyr1 = $TeamRank[1, %line] $= "" ? "" : $TeamRank[1, %line].name; + %plyr2 = $TeamRank[2, %line] $= "" ? "" : $TeamRank[2, %line].name; + messageClient( %client, 'MsgSiegeAddLine', "", ' %1 %2', %plyr1, %plyr2 ); + } + + // Show observers: + %header = false; + for ( %i = 0; %i < %count; %i++ ) + { + %obs = ClientGroup.getObject( %i ); + if ( %obs.team <= 0 ) + { + if ( !%header ) + { + messageClient( %client, 'MsgSiegeAddLine', "", '\nOBSERVERS' ); + %header = true; + } + + messageClient( %client, 'MsgSiegeAddLine', "", ' %1', %obs.name ); + } + } + + commandToClient( %client, 'SetHalftimeClock', $Host::Siege::Halftime / 60000 ); + + // Get the HUDs right: + commandToClient( %client, 'setHudMode', 'SiegeHalftime' ); + commandToClient( %client, 'ControlObjectReset' ); + + clientResetTargets(%client, true); + %client.notReady = true; + } + } + + %game.schedule( $Host::Siege::Halftime, halftimeOver ); + } + else + { + // let's wrap it all up + %game.gameOver(); + cycleMissions(); + } +} + +function SiegeGame::halftimeOver( %game ) +{ + // drop all players into mission + %game.dropPlayers(); + + //setup the AI for the second half + %game.aiHalfTime(); + + // start the mission again (release players) + %game.halfTimeCountDown( $Host::warmupTime ); + + //redo the objective waypoints + %game.findObjectiveWaypoints(); +} + +//end Bandaid package. We can remove this once the next patch is officially released +//This was taken from the SiegeGame.cs file from Beta4 +}; + +activatePackage(BandAid); +activatePackage(BTF); diff --git a/public/base/@vl2/DynamixFinalPack.vl2/missions/DevilsElbow.mis b/public/base/@vl2/DynamixFinalPack.vl2/missions/DevilsElbow.mis new file mode 100644 index 00000000..9cabf1d1 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/missions/DevilsElbow.mis @@ -0,0 +1,1101 @@ +// DisplayName = Devil's Elbow +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//All the points shall dwindle to one, +//fate defined will invert the sun. +// -- Geschenk des Hasses, 3922 +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Flag at heart of base +//Central switch controls mid-field radar & turret +//Force Field powered by Solar Panels +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "volcanic"; + cdTrack = "3"; + powerCount = "0"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-696 -872 1136 1200"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "-0.432664 -0.781779 -0.449025"; + color = "1.000000 0.830000 0.300000 1.000000"; + ambient = "0.550000 0.400000 0.100000 1.000000"; + position = "-1024 -1024 0"; + texture3 = "special/LensFlare/flare02"; + texture1 = "special/sunFlare02"; + rotation = "1 0 0 0"; + lensFlareScale = "0.4"; + locked = "true"; + texture0 = "special/sunFlare"; + scale = "1 1 1"; + texture2 = "special/LensFlare/flare01"; + texture4 = "special/LensFlare/flare03"; + flareColor = "0.700000 0.500000 0.200000 1.000000"; + frontFlareSize = "30"; + lensFlareIntensity = "0.3"; + backFlareSize = "1000"; + }; + new Sky(Sky) { + position = "-936 -664 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "350"; + fogColor = "0.900000 0.525000 0.150000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_fogVolume3 = "-1 3.86856e+25 2.35099e-38"; + cloudSpeed0 = "0.001000 0.001000"; + locked = "true"; + high_fogVolume2 = "-1 1.06338e+37 2.35099e-38"; + high_fogVolume1 = "-1 -1.54074e-33 2.35099e-38"; + high_fogDistance = "-1"; + high_visibleDistance = "-1"; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new AudioEmitter() { + position = "31.5752 341.306 132.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "145"; + maxDistance = "9280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "44.1 372.2 125.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "DevilsElbow.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + locked = "true"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "DevilsElbow.nav"; + }; + new WaterBlock() { + position = "-576 -800 -9.854"; + rotation = "1 0 0 0"; + scale = "2048 2048 109.938"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + locked = "false"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(Base0) { + powerCount = "0"; + + new SimGroup(Flag0) { + powerCount = "0"; + + new Item(Team1flag1) { + position = "182.834 -81.2652 184.252"; + rotation = "0 0 1 110.008"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + isHome = "1"; + WayPoint = "3479"; + originalPosition = "182.798 -81.2519 184.25 0 0 1 1.92"; + locked = "false"; + Target = "33"; + team = "1"; + missionTypesList = "CTF"; + stand = "3367"; + }; + new StaticShape() { + position = "182.724 -81.2236 183.645"; + rotation = "0 0 1 38.3883"; + scale = "0.858215 0.893054 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Flag = "3365"; + locked = "false"; + Target = "-1"; + team = "1"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(secondarysystems) { + powerCount = "2"; + + new ForceFieldBare(force) { + position = "185.243 -96.5538 176.196"; + rotation = "0 0 1 198.243"; + scale = "5.63984 0.184229 5.1204"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + team = "1"; + }; + new StaticShape() { + position = "220.169 -104.299 191.744"; + rotation = "0 0 1 195"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "226.691 -101.136 191.743"; + rotation = "0 0 1 195"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + team = "1"; + }; + }; + new SimGroup(homebase) { + powerCount = "1"; + + new InteriorInstance() { + position = "189.75 -65.1207 159.25"; + rotation = "0 0 1 198.243"; + scale = "1 1 1"; + interiorFile = "dbase5.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "194.419 -84.9907 175.22"; + rotation = "0 0 1 109.435"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "298118"; + lastDamagedByTeam = "1"; + Target = "37"; + team = "1"; + lastDamagedBy = "3416"; + }; + new StaticShape() { + position = "217.48 -86.1189 193.218"; + rotation = "0 0 1 100.841"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3378"; + Target = "38"; + team = "1"; + }; + new StaticShape() { + position = "208.134 -114.299 193.229"; + rotation = "0 0 1 103.705"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3380"; + inUse = "Down"; + Target = "39"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "149.614 -108.06 192.703"; + rotation = "0 0 -1 117.066"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3382"; + Target = "40"; + team = "1"; + }; + new StaticShape() { + position = "146.797 -102.729 192.694"; + rotation = "0 0 -1 117.066"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3384"; + Target = "41"; + team = "1"; + }; + new StaticShape() { + position = "162.745 -34.9829 192.699"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3386"; + inUse = "Down"; + Target = "42"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "237.281 -92.416 183.682"; + rotation = "0 0 1 104.278"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3388"; + Target = "43"; + team = "1"; + }; + new StaticShape() { + position = "220.823 -104.161 183.717"; + rotation = "0 0 1 196.524"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3390"; + Target = "44"; + team = "1"; + }; + new StaticShape() { + position = "233.524 -35.2391 179.702"; + rotation = "0 0 1 9.16728"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3392"; + Target = "45"; + team = "1"; + }; + new StaticShape() { + position = "181.497 -90.0328 234.3"; + rotation = "0 0 1 12.6051"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + team = "1"; + }; + new Turret() { + position = "152.384 -41.4856 200.217"; + rotation = "0 0 -1 72.7656"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "47"; + team = "1"; + }; + new Turret() { + position = "147.662 -106.25 200.206"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + Target = "48"; + team = "1"; + }; + new Turret() { + position = "158.617 -41.1307 199.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "49"; + team = "1"; + }; + new Turret() { + position = "211.946 -93.4235 181.306"; + rotation = "0 0 1 103.705"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "50"; + team = "1"; + }; + new Turret() { + position = "179.058 -95.1357 204.302"; + rotation = "0 0 1 107.716"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "51"; + team = "1"; + }; + new Turret() { + position = "230.224 -42.1629 186.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "52"; + team = "1"; + }; + }; + new WayPoint() { + position = "188.733 -82.9185 184.661"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + locked = "false"; + missionTypesList = "CnH"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "43.8867 -69.6579 165.012"; + rotation = "0.00157728 -0.996885 -0.0788537 2.29888"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "false"; + }; + new SpawnSphere() { + position = "226.133 -54.197 186.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + }; + new SpawnSphere() { + position = "186.052 -105.054 205.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + }; + new SpawnSphere() { + position = "229.726 -109.191 207.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "158.244 -41.0221 196.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(Base1) { + powerCount = "0"; + + new SimGroup(Flag0) { + powerCount = "0"; + + new Item(Team1flag2) { + position = "-327.483 -587.439 167.283"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + isHome = "1"; + WayPoint = "3480"; + originalPosition = "-327.522 -587.427 167.272 0 0 1 3.37"; + locked = "false"; + Target = "53"; + team = "2"; + missionTypesList = "CTF"; + stand = "3412"; + }; + new StaticShape() { + position = "-327.592 -587.404 166.67"; + rotation = "0 0 1 124.905"; + scale = "0.858215 0.893054 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Flag = "3410"; + locked = "false"; + Target = "-1"; + team = "2"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(secondarysystems) { + powerCount = "2"; + + new StaticShape() { + position = "-347.662 -626.733 174.764"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + team = "2"; + }; + new ForceFieldBare(force) { + position = "-342.78 -591.307 159.207"; + rotation = "-0 0 -1 75.2404"; + scale = "5.60716 0.273233 5.14176"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + team = "2"; + }; + new StaticShape() { + position = "-343.895 -632.793 174.764"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + team = "2"; + }; + }; + new SimGroup(homebase) { + powerCount = "1"; + + new InteriorInstance() { + position = "-311.201 -593.912 142.271"; + rotation = "-0 0 -1 75.2404"; + scale = "1 1 1"; + interiorFile = "dbase5.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-330.75 -599.78 158.241"; + rotation = "0 0 1 195.952"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + team = "2"; + }; + new StaticShape() { + position = "-330.475 -622.867 176.239"; + rotation = "0 0 1 187.358"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3422"; + Target = "58"; + team = "2"; + }; + new StaticShape() { + position = "-359.171 -615.25 176.25"; + rotation = "0 0 1 190.222"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3424"; + Target = "59"; + team = "2"; + }; + new StaticShape() { + position = "-356.499 -556.46 175.724"; + rotation = "-0 0 -1 30.5494"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3426"; + Target = "60"; + team = "2"; + }; + new StaticShape() { + position = "-351.349 -553.324 175.715"; + rotation = "-0 0 -1 30.5494"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3428"; + Target = "61"; + team = "2"; + }; + new StaticShape() { + position = "-282.759 -565.126 175.72"; + rotation = "0 0 1 105.424"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3430"; + inUse = "Down"; + Target = "62"; + team = "2"; + notReady = "1"; + }; + new StaticShape() { + position = "-335.557 -643.014 166.703"; + rotation = "0 0 1 190.795"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3432"; + Target = "63"; + team = "2"; + }; + new StaticShape() { + position = "-348.281 -627.3 166.738"; + rotation = "-0 0 -1 76.9594"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3434"; + Target = "64"; + team = "2"; + }; + new StaticShape() { + position = "-278.714 -635.79 162.723"; + rotation = "0 0 1 95.6839"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3436"; + Target = "65"; + team = "2"; + }; + new StaticShape() { + position = "-336.37 -587.22 217.331"; + rotation = "0 0 1 99.1217"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "66"; + team = "2"; + }; + new Turret() { + position = "-289.879 -555.179 183.238"; + rotation = "0 0 1 13.751"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + lastProjectile = "11136"; + Target = "67"; + team = "2"; + }; + new Turret() { + position = "-354.811 -554.401 183.227"; + rotation = "-0 0 -1 30.3664"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + Target = "68"; + team = "2"; + }; + new Turret() { + position = "-341.81 -585.064 187.323"; + rotation = "0 0 1 194.233"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + damageTimeMS = "659665"; + lastProjectile = "6982"; + lastDamagedByTeam = "1"; + Target = "69"; + wasDisabled = "1"; + team = "2"; + lastDamagedBy = "3794"; + }; + new Turret() { + position = "-338.102 -617.787 164.327"; + rotation = "0 0 1 190.222"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "70"; + team = "2"; + }; + new Turret() { + position = "-289.146 -561.379 182.839"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + damageTimeMS = "623483"; + lastProjectile = "6883"; + lastDamagedByTeam = "2"; + Target = "71"; + wasDisabled = "1"; + team = "2"; + lastDamagedBy = "3864"; + }; + new Turret() { + position = "-285.826 -632.917 169.834"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "72"; + team = "2"; + }; + }; + new WayPoint() { + position = "-329.027 -593.979 167.682"; + rotation = "0 0 1 86.5166"; + scale = "0.1 0.1 0.1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + locked = "false"; + missionTypesList = "CnH"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-324.592 -448.594 148.033"; + rotation = "-0.0199932 -0.0213147 0.999573 86.3597"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "false"; + }; + new SpawnSphere() { + position = "-298.086 -629.564 169.373"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + }; + new SpawnSphere() { + position = "-351.285 -592.648 188.081"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + }; + new SpawnSphere() { + position = "-352.76 -636.492 190.346"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-289.061 -561 179.197"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(neutral) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-479.356 -20.7915 119.705"; + rotation = "-0 0 -1 43.2355"; + scale = "1 1 1"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-479.356 -20.7915 121.82"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-478.825 -21.3607 121.69"; + rotation = "0 0 1 26.6653"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "0"; + }; + new InteriorInstance() { + position = "-196.915 -192.556 167.131"; + rotation = "0 0 1 118.602"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new StaticShape() { + position = "-197.561 -191.922 179.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "The Devil\'s Elbow"; + Projector = "3459"; + Target = "73"; + team = "0"; + }; + new WayPoint() { + position = "-197.561 -191.922 179.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Devil\'s Elbow"; + team = "0"; + }; + new StaticShape() { + position = "-199.53 -191.063 221.05"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-201.741 -182.993 167.083"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3461"; + inUse = "Down"; + Target = "74"; + team = "0"; + notReady = "1"; + }; + new StaticShape() { + position = "-207.781 -193.754 167.081"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3463"; + inUse = "Down"; + Target = "75"; + team = "0"; + notReady = "1"; + }; + new InteriorInstance() { + position = "-381.344 -140.282 182.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new StaticShape() { + position = "-381.604 -140.566 192.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "76"; + team = "0"; + }; + new Turret() { + position = "-200.272 -190.838 201.173"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "77"; + team = "0"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-328.487 -585.513 178.804"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Camera() { + position = "123.475 -87.0005 212.643"; + rotation = "0 0 1 145.531"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Camera() { + position = "161.702 -84.7718 183.576"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Camera() { + position = "181.152 -98.8943 179.845"; + rotation = "0.326798 -0.0909271 0.94071 32.9535"; + scale = "1 1 1"; + dataBlock = "CommanderCamera"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new Camera() { + position = "0 0 149.718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CommanderCamera"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(Environmental) { + powerCount = "0"; + + new FireballAtmosphere(FireballAtmosphere) { + position = "49.8 290 143.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "500"; + dropsPerMinute = "30"; + minDropAngle = "12"; + maxDropAngle = "15"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + locked = "false"; + }; + }; + new SimGroup() { + powerCount = "0"; + }; + new SimGroup() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/DynamixFinalPack.vl2/missions/InnerSanctum.mis b/public/base/@vl2/DynamixFinalPack.vl2/missions/InnerSanctum.mis new file mode 100644 index 00000000..5d21df46 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/missions/InnerSanctum.mis @@ -0,0 +1,1071 @@ +// DisplayName = Inner Sanctum +// MissionTypes = DM Rabbit Hunters TeamHunters + +//--- MISSION QUOTE BEGIN --- +//In the darkness we are all strangers. +// -- Anonymous +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +// Indoor Combat +// No escape +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + DM_timeLimit = "25"; + musicTrack = "lush"; + DM_scoreLimit = "20"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-280 -40 320 272"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.001000 0.001000 0.001000 1.000000"; + ambient = "0.000100 0.000100 0.000100 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new Terraformer(Terraformer) { + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "InnerSanctum.ter"; + squareSize = "8"; + lastDamagedBy = "2"; + position = "-1024 -1024 0"; + lastDamagedByTeam = "1"; + hazeDistance = "175"; + visibleDistance = "200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + position = "0 0 0 1"; + coverage = "0"; + GraphFile = "InnerSanctum.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(stuff) { + powerCount = "0"; + + new Item() { + position = "-18.03 110.434 180.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-18.4267 89.4793 179.825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-158.797 95.4037 187.35"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-156.416 95.2907 186.639"; + rotation = "0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-160.563 95.4003 186.629"; + rotation = "0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-77.4799 95.2927 187.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-18.0814 68.4287 179.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-80.1019 83.0283 187.008"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-66.8064 127.451 231.007"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-69.7985 127.441 230.796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-219.987 110.388 179.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-219.508 89.3662 179.899"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-219.954 68.3284 179.9"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-158.771 82.9779 186.82"; + rotation = "0 0 1 182.774"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-82.0287 95.1974 187.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-79.4617 95.31 187.32"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-125.004 55.373 198.478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-29.025 89.587 191.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-176.272 104.788 232.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-42.6827 121.894 231.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-118.966 92.4359 232.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-217.18 90.9765 197.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-155.634 89.8135 173.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-118.292 47.0012 173.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(holeCovers) { + providesPower = "1"; + powerCount = "1"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item(Team0flag1) { + position = "-119.522 89.3821 205.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + isHome = "1"; + originalPosition = "-119.522 89.3821 205.834 1 0 0 0"; + team = "0"; + missionTypesList = "Rabbit"; + Target = "33"; + }; + new Item(Nexus) { + position = "-119.599 89.3999 205.433"; + rotation = "1 0 0 0"; + scale = "1.64668 1.60606 1.73388"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + flashThreadDir = "1"; + Target = "34"; + }; + new WayPoint() { + position = "-119.599 89.3999 205.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + }; + new SimGroup(equipment) { + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "-119.503 89.4171 181.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new StaticShape() { + position = "-43.6851 24.6808 178.835"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + inUse = "Down"; + Target = "35"; + Trigger = "3961"; + notReady = "1"; + }; + new StaticShape() { + position = "-38.1622 89.3482 193.796"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + inUse = "Down"; + Target = "36"; + Trigger = "3963"; + notReady = "1"; + }; + new StaticShape() { + position = "-206.166 89.8217 193.822"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + inUse = "Down"; + Target = "37"; + Trigger = "3965"; + notReady = "1"; + }; + new StaticShape() { + position = "-119.601 108.992 170.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + inUse = "Down"; + Target = "38"; + Trigger = "3967"; + notReady = "1"; + }; + new Item() { + position = "-112.682 99.4055 230.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-112.8 110.503 231.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-112.738 109.072 230.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-112.842 91.5815 230.894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-112.738 89.9561 231.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Disc"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-112.82 92.6966 230.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-181.984 124.311 230.798"; + rotation = "0 0 1 131.207"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-187.051 118.96 230.816"; + rotation = "0 0 1 131.207"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-125.987 116.48 231.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-125.87 114.896 231.406"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-125.861 110.358 230.738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-125.857 107.187 230.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-125.667 104.937 231.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-126.104 99.3074 230.802"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + team = "0"; + }; + new Item() { + position = "-112.629 104.737 230.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-119.529 115.856 241.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "39"; + Trigger = "3984"; + }; + new StaticShape() { + position = "-119.551 95.0837 241.79"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "40"; + Trigger = "3986"; + }; + new StaticShape() { + position = "-187.682 110.896 234.842"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-187.713 97.9787 234.943"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-222.585 111.681 197.045"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-222.645 89.2461 196.805"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-222.641 67.1278 196.943"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-51.3925 98.9875 234.779"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-51.4132 111.865 234.88"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-15.4152 67.1684 196.982"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-15.408 89.4238 196.742"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-15.3852 111.663 196.88"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-125.874 83.2768 235.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-113.003 83.2835 235.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-119.627 57.3305 201.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + }; + new Trigger(NexusTrigger) { + position = "-128.867 99.1964 201.659"; + rotation = "1 0 0 0"; + scale = "19.7696 19.754 19.8193"; + dataBlock = "gameTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + locked = "0"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-131.998 138.742 234.699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-118.924 101.268 243.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-83.6637 90.477 178.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-104.09 72.5974 235.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-41.6331 138.874 173.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-24.1142 91.6914 191.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-219.135 88.0762 195.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-131.815 123.066 198.985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-136.039 172.245 182.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-103.936 89.5713 174.658"; + rotation = "-0.110293 -0.109109 -0.987892 90.0793"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-119.574 115.992 219.945"; + rotation = "0.000713332 -0.160589 0.987021 179.498"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-122.684 104.579 244.623"; + rotation = "0.143119 0.143005 -0.979319 91.1517"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "200"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "200"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(sounds) { + powerCount = "0"; + + new AudioEmitter() { + position = "-119.727 89.9329 168.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "Universal_Rain_Light_1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/lavamellow1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "20"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "0.5"; + coneVector = "0 0 1"; + loopCount = "1"; + minLoopGap = "100"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + }; + }; +}; +//--- OBJECT WRITE END --- + + diff --git a/public/base/@vl2/DynamixFinalPack.vl2/missions/IsleOfMan.mis b/public/base/@vl2/DynamixFinalPack.vl2/missions/IsleOfMan.mis new file mode 100644 index 00000000..5d048fed --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/missions/IsleOfMan.mis @@ -0,0 +1,1570 @@ +// DisplayName = Isle of Man +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Nice place, green water, fresh air, blue skies... +// -- Ministry +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Capture the fortified island base by touching the control switch located at its heart +//Three structures on island; Two floating bases to attack from; two floating platforms attacking team can use +//Medium visibility +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + cdTrack = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1008 -1008 2000 2032"; + flightCeiling = "1000"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "728 -288 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "300"; + fogColor = "0.020000 0.090000 0.100000 1.000000"; + fogVolume1 = "120 1 218"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_night.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_fogVolume2 = "-1 2.81497e-39 2.77731e-39"; + high_fogDistance = "-1"; + high_fogVolume3 = "-1 2.69336e-39 2.65247e-39"; + locked = "true"; + high_fogVolume1 = "-1 2.92797e-39 2.89031e-39"; + cloudSpeed0 = "0.000150 0.000050"; + high_visibleDistance = "-1"; + }; + new Sun() { + direction = "0.0586874 -0.160113 -0.985353"; + color = "0.300000 0.500000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + position = "-536 -1240 0"; + texture4 = "special/LensFlare/flare03"; + texture0 = "special/sunFlare"; + frontFlareSize = "7"; + texture1 = "special/sunFlare02"; + rotation = "1 0 0 0"; + locked = "true"; + lensFlareIntensity = "0.5"; + texture3 = "special/LensFlare/flare02"; + scale = "1 1 1"; + backFlareSize = "600"; + flareColor = "0.500000 0.700000 0.800000 1.000000"; + lensFlareScale = "0.2"; + texture2 = "special/LensFlare/flare01"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "IsleOfMan.ter"; + squareSize = "8"; + emptySquares = "106115 114787"; + position = "-1024 -1024 0"; + visibleDistance = "1000"; + locked = "true"; + hazeDistance = "500"; + }; + new WaterBlock() { + position = "-1024 -904 29.1714"; + rotation = "1 0 0 0"; + scale = "2048 2048 193.451"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "3"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + hidden = "true"; + locked = "false"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + coverage = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "isleofman.nav"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(Objects) { + powerCount = "2"; + + new InteriorInstance() { + position = "-18.8891 -52.3368 264.024"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + interiorFile = "bbunke.dif"; + showTerrainInside = "0"; + locked = "false"; + team = "2"; + }; + new SimGroup() { + powerCount = "2"; + }; + new StaticShape() { + position = "-23.1514 -94.1012 264.376"; + rotation = "-0.0727298 -0.0398834 -0.996554 57.6457"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "33"; + team = "1"; + }; + new Turret() { + position = "-32.4024 14.6966 243.1"; + rotation = "0 0 -1 0.752771"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "false"; + Target = "34"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + lastProjectile = "5483"; + }; + new StaticShape() { + position = "-14.3294 -51.5209 264.96"; + rotation = "0 0 1 80.7867"; + scale = "1 1 1"; + nameTag = "Hilltop"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3366"; + Target = "35"; + team = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-25.9428 -95.4341 264.17"; + rotation = "-0.0727298 -0.0398834 -0.996554 57.6457"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "36"; + team = "1"; + }; + new ForceFieldBare(FORCEFIELD) { + position = "-78.7084 -58.7657 252.004"; + rotation = "0 0 1 89.9544"; + scale = "4.22778 0.1 5.27881"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + team = "1"; + }; + new ForceFieldBare(FORCEFIELD) { + position = "-64.8208 -58.5848 252.103"; + rotation = "0 0 1 89.9544"; + scale = "4.51598 0.1 5.07031"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + team = "1"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-89.704 -38.1543 233.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "false"; + }; + new SpawnSphere() { + position = "-68.5052 -146.246 250.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "47.4273 -75.5654 211.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Objects) { + powerCount = "1"; + + new InteriorInstance() { + position = "-71.7478 -59.8517 236.134"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "btowr9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-69.5764 -61.8425 252.204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + lastDamagedByTeam = "1"; + needsObjectiveWaypoint = "1"; + lastDamagedBy = "3352"; + Target = "39"; + team = "1"; + damageTimeMS = "237594"; + }; + new StaticShape() { + position = "-74.9436 -63.6449 252.097"; + rotation = "0 0 1 205.874"; + scale = "1 1 1"; + nameTag = "Gen Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3381"; + lastDamagedByTeam = "1"; + lastDamagedBy = "3352"; + Target = "40"; + team = "1"; + damageTimeMS = "237594"; + }; + new Item() { + position = "-76.7274 -59.5622 242.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-86.4327 -6.8685 224.103"; + rotation = "0 0 -1 65.3172"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "41"; + team = "1"; + }; + new InteriorInstance() { + position = "-33.0046 15.3542 233.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-67.8795 -60.786 262.1"; + rotation = "0 0 1 91.2828"; + scale = "1 1 1"; + nameTag = "Tower Top"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3386"; + Target = "42"; + team = "1"; + }; + new InteriorInstance() { + position = "-174.869 -108.831 226.274"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-71.7478 -61.0517 269.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower Top"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + team = "1"; + damageTimeMS = "190146"; + }; + new Turret() { + position = "-174.123 -108.324 236.254"; + rotation = "0 0 1 225.172"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3366"; + Target = "44"; + originalBarrel = "AABarrelLarge"; + team = "1"; + lastProjectile = "5474"; + damageTimeMS = "1073107"; + }; + new Turret() { + position = "-38.9169 -125.07 237.112"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "45"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + }; + new InteriorInstance() { + position = "-38.8335 -123.403 227.132"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "62.9905 -145.317 255.28"; + rotation = "0 0 1 128.16"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "46"; + originalBarrel = "AABarrelLarge"; + team = "1"; + lastProjectile = "5483"; + }; + new InteriorInstance() { + position = "63.8542 -145.893 245.3"; + rotation = "-0 0 -1 57.4783"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-83.2521 -0.0797952 229.842"; + rotation = "0 0 1 25.7831"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-90.5527 -4.84941 232.655"; + rotation = "0 0 -1 71.0468"; + scale = "1 1 1"; + nameTag = "Switch Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3396"; + Target = "47"; + team = "1"; + }; + new Item() { + position = "-90.9727 -15.7743 230.928"; + rotation = "0 0 1 205.989"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-82.0636 2.26746 230.986"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new ForceFieldBare(FORCEFIELD) { + position = "-94.2889 -15.5708 223.445"; + rotation = "0 0 1 26.356"; + scale = "5.78553 0.1 4.82807"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + team = "1"; + }; + new ForceFieldBare(FORCEFIELD) { + position = "-84.1898 4.74515 223.684"; + rotation = "0 0 1 26.356"; + scale = "5.78553 0.1 4.82807"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + team = "1"; + }; + new InteriorInstance() { + position = "-145.668 -421.611 213.691"; + rotation = "0.0500909 -0.474724 -0.878708 60.8841"; + scale = "1 1 1"; + interiorFile = "btowra.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-122.77 -157.957 231.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + team = "2"; + }; + new TSStatic() { + position = "-227.073 -394.196 244.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + team = "2"; + }; + new TSStatic() { + position = "-97.3856 -139.712 241.322"; + rotation = "-0.00475979 0.00499993 0.999976 92.8205"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-155.302 -492.811 223.16"; + rotation = "-0 0 -1 82.1155"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-129.667 -503.596 191.224"; + rotation = "-0 0 -1 82.1155"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-166.117 -498.569 191.437"; + rotation = "-0 0 -1 82.1155"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-137.663 -489.389 205.648"; + rotation = "-0 0 -1 82.1155"; + scale = "1 1 1"; + interiorFile = "bplat1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-144.286 -494.358 222.542"; + rotation = "0 0 1 97.7932"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + hapcFlyer = "Removed"; + mobileBaseVehicle = "Removed"; + Ready = "1"; + Target = "-1"; + team = "1"; + station = "3412"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(Objects) { + powerCount = "0"; + + new InteriorInstance() { + position = "-459.199 247.244 227.21"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-490.834 214.703 215.17"; + rotation = "0 0 1 115.165"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-493.438 208.705 224.846"; + rotation = "0 0 1 25.6019"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-475.12 248.087 215.256"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-474.218 266.203 214.977"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-480.53 257.118 227.263"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-488.539 235.678 214.977"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + }; + new SimGroup(Objects) { + powerCount = "0"; + + new InteriorInstance() { + position = "434.486 -400.836 230.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "421.094 -401.226 197.185"; + rotation = "1 0 0 0"; + scale = "1.60523 2.43136 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "434.634 -400.887 225.507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "452.742 -400.692 205.669"; + rotation = "1 0 0 0"; + scale = "1 1.77177 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "413.926 -400.989 205.771"; + rotation = "1 0 0 0"; + scale = "1 1.77177 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "434.263 -383.209 205.784"; + rotation = "0 0 1 90.5273"; + scale = "1 1.77177 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "434.294 -418.707 205.682"; + rotation = "0 0 1 90.5273"; + scale = "1 1.77177 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + }; + }; + new SimGroup(team1) { + powerCount = "0"; + + new SimGroup(Objects) { + powerCount = "1"; + + new InteriorInstance() { + position = "-712.19 690.948 235.062"; + rotation = "0 0 1 89.9548"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-714.222 687.947 215.574"; + rotation = "0 0 1 89.9548"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-703.152 698.083 203.452"; + rotation = "0 0 1 89.9548"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-738.855 698.575 206.177"; + rotation = "0 0 1 89.9548"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-670.748 712.619 212.95"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-676.801 715.322 209.426"; + rotation = "0 0 1 90.5273"; + scale = "1.7348 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-696.083 732.061 218.386"; + rotation = "1 0 0 0"; + scale = "1.7348 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-693.024 725.74 224.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Platform1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3441"; + Target = "51"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new InteriorInstance() { + position = "-693.207 738.013 221.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-723.347 690.964 234.432"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + mobileBaseVehicle = "Removed"; + Ready = "1"; + Target = "-1"; + team = "2"; + inUse = "Down"; + station = "3444"; + }; + new StaticShape() { + position = "-748.535 674.77 237.048"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Highdock 2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3447"; + locked = "false"; + Target = "53"; + team = "2"; + }; + new StaticShape() { + position = "-748.538 707.219 237.039"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Highdock 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3449"; + locked = "false"; + Target = "54"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new InteriorInstance() { + position = "-728.92 660.006 224.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-725.999 652.772 226.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-728.957 646.372 229.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-728.903 715.384 224.894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-728.65 687.796 224.902"; + rotation = "1 0 0 0"; + scale = "1 1.83975 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-728.558 714.297 242.272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-696.399 715.301 224.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-699.424 725.719 224.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Platform2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3458"; + Target = "55"; + team = "2"; + }; + new StaticShape() { + position = "-733.264 713.771 255.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Fat Man"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + team = "2"; + }; + new Item() { + position = "-723.639 716.278 273.188"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-734.578 716.227 261.07"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Mid-Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3462"; + Target = "57"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "736.982 -739.087 259.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-695.694 714.441 226.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-727.525 685.933 226.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-726.721 653.084 225.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-729.007 647.813 252.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Objects) { + powerCount = "1"; + + new StaticShape() { + position = "-732.668 718.885 255.091"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + nameTag = "Little Boy"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + team = "2"; + }; + new Turret() { + position = "-676.801 715.322 230.382"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "Waterline"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "59"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new StaticShape() { + position = "-696.083 732.061 239.251"; + rotation = "0 0 -1 0.573347"; + scale = "1 1 1"; + nameTag = "Small"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "60"; + team = "2"; + }; + new StaticShape() { + position = "-728.386 716.32 287.39"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "High"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "61"; + team = "2"; + }; + new StaticShape() { + position = "-725.177 648.322 227.132"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Bunk Bottom"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3476"; + Target = "62"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new InteriorInstance() { + position = "-709.273 660.141 218.826"; + rotation = "0 0 1 90.5273"; + scale = "1.7348 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-703.22 657.438 222.35"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Item() { + position = "-728.936 651.511 234.071"; + rotation = "0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Turret() { + position = "-729.466 648.355 258.1"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Mid"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "63"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new WayPoint() { + position = "-727.588 716.258 254.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Northwest Base"; + team = "1"; + }; + new WayPoint() { + position = "738.858 -756.926 246.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Southeast Base"; + team = "1"; + }; + }; + new SimGroup(Objects) { + powerCount = "1"; + + new StaticShape() { + position = "-709.632 664.737 239.825"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Shiny"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + Target = "64"; + team = "2"; + }; + new Turret() { + position = "-709.922 655.365 239.782"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "Low"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "65"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + }; + new SimGroup(Objects) { + powerCount = "1"; + + new InteriorInstance() { + position = "718.602 -739.849 208.284"; + rotation = "0 0 1 90.5273"; + scale = "1.7348 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "724.655 -742.552 211.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "742.676 -750.618 226.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "738.837 -740.214 224.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "764.777 -742.643 215.569"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "758.724 -739.94 211.97"; + rotation = "0 0 1 90.5273"; + scale = "1.7348 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "738.635 -758.507 232.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "739.666 -723.776 207.399"; + rotation = "0 0 -1 0.0395647"; + scale = "1.7348 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "736.788 -729.747 210.998"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "747.585 -699.644 225.522"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "777.972 -702.961 206.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "777.69 -684.206 205.944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "739.202 -684.173 206.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "739.484 -702.928 206.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "758.357 -693.329 207.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "733.98 -754.413 238.332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Stocky"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "66"; + team = "2"; + }; + new Item() { + position = "738.682 -753.415 233.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "735.085 -758.292 246.861"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Aloof"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3503"; + Target = "67"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "742.878 -756.623 226.845"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Slippery"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3505"; + Target = "68"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "734.318 -756.5 226.863"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "No-Slip"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3507"; + Target = "69"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "760.736 -699.581 224.897"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + mobileBaseVehicle = "Removed"; + Ready = "1"; + Target = "-1"; + team = "2"; + station = "3509"; + }; + new StaticShape() { + position = "783.64 -683.132 227.518"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Lowdock2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3512"; + Target = "71"; + team = "2"; + }; + new StaticShape() { + position = "783.883 -715.565 227.52"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Lowdock1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3514"; + Target = "72"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "738.475 -756.537 254.405"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + nameTag = "Lofty"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "73"; + team = "2"; + }; + new Turret() { + position = "739.666 -723.776 228.372"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Mid"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "74"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "718.602 -739.849 229.21"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Fore"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "75"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "758.724 -739.94 232.95"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Aft"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "76"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + }; + new SimGroup(Objects) { + powerCount = "1"; + + new Item() { + position = "-478.363 249.494 236.373"; + rotation = "0 0 -1 65.4993"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-471.706 246.118 236.315"; + rotation = "0 0 1 25.2101"; + scale = "1 1 1"; + dataBlock = "MissileBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Turret() { + position = "-475.711 248.301 250.224"; + rotation = "0 0 1 114.982"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "77"; + team = "2"; + }; + new StaticShape() { + position = "-492.076 211.595 225.797"; + rotation = "0 0 1 26.7465"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "78"; + team = "2"; + }; + new StaticShape() { + position = "-465.809 267.88 223.905"; + rotation = "0 0 1 24.8434"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "79"; + team = "2"; + }; + }; + new SimGroup(Objects) { + powerCount = "1"; + + new Item() { + position = "429.109 -401.018 225.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AABarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Turret() { + position = "434.561 -401.681 230.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "80"; + team = "2"; + }; + new Item() { + position = "434.408 -406.319 225.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "434.288 -402.608 225.439"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "81"; + team = "2"; + }; + new StaticShape() { + position = "413.929 -400.979 226.396"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "82"; + team = "2"; + }; + }; + }; + }; + new SimGroup(observerDropPoints) { + powerCount = "0"; + + new Camera(Camera1) { + position = "-78.4367 63.9633 262.85"; + rotation = "0.0167187 -0.0920905 0.99561 159.509"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Camera2) { + position = "-732.697 683.092 241.868"; + rotation = "0.0496005 -0.107267 0.992992 130.675"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/DynamixFinalPack.vl2/missions/Pantheon.mis b/public/base/@vl2/DynamixFinalPack.vl2/missions/Pantheon.mis new file mode 100644 index 00000000..a6c822d2 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/missions/Pantheon.mis @@ -0,0 +1,1047 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Ne Vile Fano : There is nothing ill can dwell in such a temple +// -- Tempest +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1000 points to win +//Central switch controls mid-field radar towers and temple spawn area +//Convoy an MPB to the central ruins to supply spawning players +//You can park an MPB at the ruins for protection +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + CTF_scoreLimit = "10"; + musicTrack = "lush"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-1016 -1016 2000 2032"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "-0.253634 -0.961908 -0.101995"; + color = "0.950000 1.000000 0.950000 1.000000"; + ambient = "0.300000 0.320000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.5"; + lensFlareIntensity = "0.05"; + frontFlareSize = "1"; + backFlareSize = "500"; + flareColor = "0.450000 0.40000 0.20000 1.000000"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Pantheon.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + GraphFile = "Pantheon.nav"; + YDimOverSize = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "460"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "100"; + fogColor = "0.200000 0.250000 0.220000 1.000000"; + fogVolume1 = "70 0 102"; + fogVolume2 = "175 102 115"; + fogVolume3 = "0 0 0"; + materialList = "lush_dusk.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -325233.062500"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -20.7527 -0.7705"; + high_fogVolume2 = "-1 100 1.7938e-41"; + high_fogVolume3 = "-1 0 -4.6328e-16"; + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(Ambience) { + powerCount = "0"; + + new SimGroup(Sounds) { + powerCount = "0"; + + new AudioEmitter(WindatCenter) { + position = "-42.953 -16.9794 171.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(soulscream) { + position = "-33.6779 -0.822396 177.202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.75"; + isLooping = "1"; + is3D = "1"; + minDistance = "8"; + maxDistance = "25"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(nw_bridge) { + position = "-355.355 -551.613 101.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(ne_bridge) { + position = "380.369 -451.509 114.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(sw_bridge) { + position = "-311.742 483.662 120.498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(se_bridge) { + position = "370.28 497.898 115.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + }; + new SimGroup(Miskellany) { + powerCount = "0"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "85.815 -736.822 113.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "200"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Vehicle1) { + powerCount = "1"; + + new InteriorInstance() { + position = "1.73013 -857.644 121.167"; + rotation = "-0 0 -1 4.19372"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "149.081 -776.472 128.266"; + rotation = "-0.413676 0.643769 0.643766 135.053"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + team = "1"; + damageTimeMS = "883503"; + }; + new StaticShape() { + position = "2.28706 -867.048 120.333"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Target = "-1"; + Ready = "1"; + station = "3939"; + team = "1"; + damageTimeMS = "213561"; + }; + new InteriorInstance() { + position = "157.946 -753.381 113.063"; + rotation = "0 0 1 204.546"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Item() { + position = "143.445 -785.136 118.799"; + rotation = "0 0 1 204.546"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "147.867 -766.97 120.025"; + rotation = "0 0 1 24.5459"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + Trigger = "3946"; + team = "1"; + }; + new StaticShape() { + position = "150.125 -762.174 123.027"; + rotation = "0 0 1 204.586"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + Trigger = "3948"; + team = "1"; + }; + }; + new SimGroup(Flag0) { + powerCount = "0"; + + new StaticShape() { + position = "31.5157 -702.508 109.913"; + rotation = "0 0 -1 17.7617"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + Target = "-1"; + team = "1"; + FLAG = "3951"; + }; + new Item(Team1flag1) { + position = "31.5157 -702.508 110.518"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "CTF"; + stand = "3950"; + Target = "38"; + originalPosition = "31.6898 -703.57 110.52 0 0 1 1.2408"; + WayPoint = "4048"; + isHome = "1"; + team = "1"; + }; + new InteriorInstance() { + position = "42.6241 -739.447 110.071"; + rotation = "0 0 1 94.5384"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruini.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new SimGroup(RadarTower) { + powerCount = "1"; + + new StaticShape() { + position = "219.083 -629.211 151.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + repairedBy = "3374"; + Target = "39"; + Trigger = "3956"; + team = "1"; + damageTimeMS = "412821"; + }; + new StaticShape() { + position = "219.199 -632.721 170.262"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + team = "1"; + }; + new StaticShape() { + position = "217.036 -637.634 151.118"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + team = "1"; + }; + new InteriorInstance() { + position = "219.045 -632.771 141.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new SimGroup(RadarTwo) { + powerCount = "1"; + + new InteriorInstance() { + position = "-140.63 -651.393 135.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-142.259 -656.314 145.36"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + team = "1"; + }; + new StaticShape() { + position = "-140.607 -651.349 164.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + team = "1"; + }; + new StaticShape() { + position = "-140.634 -647.876 145.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + Trigger = "3965"; + team = "1"; + }; + }; + new SimGroup(TurretTower) { + powerCount = "1"; + + new InteriorInstance() { + position = "38.2508 -589.343 107.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Turret() { + position = "38.1847 -589.966 137.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "45"; + team = "1"; + }; + new StaticShape() { + position = "38.2367 -589.24 118.049"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-4.9606 711.542 114.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "200"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Vehicle2) { + powerCount = "1"; + + new InteriorInstance() { + position = "162.295 787.963 120.167"; + rotation = "0 0 1 170.741"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "30.8785 719.328 129.266"; + rotation = "-0.577388 -0.577331 -0.577331 119.997"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + team = "2"; + damageTimeMS = "883503"; + }; + new StaticShape() { + position = "160.91 797.28 119.333"; + rotation = "0 0 -1 8.59466"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Target = "-1"; + Ready = "1"; + station = "3979"; + team = "2"; + damageTimeMS = "213561"; + }; + new SimGroup() { + powerCount = "1"; + }; + new Item() { + position = "32.4051 729.55 119.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "35.9297 711.189 121.047"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + Trigger = "3986"; + team = "2"; + }; + new StaticShape() { + position = "35.8679 705.888 124.027"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + Trigger = "3988"; + team = "2"; + }; + new InteriorInstance() { + position = "32.4067 694.641 114.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + new SimGroup(Flag1) { + powerCount = "0"; + + new StaticShape() { + position = "87.5857 632.273 115.238"; + rotation = "0 0 -1 11.5623"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + lastDamagedByTeam = "2"; + missionTypesList = "CTF"; + lastDamagedBy = "3419"; + Target = "-1"; + team = "2"; + FLAG = "3992"; + damageTimeMS = "618630"; + }; + new Item(Team2flag1) { + position = "87.5857 632.273 115.828"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "CTF"; + stand = "3991"; + Target = "52"; + originalPosition = "87.6915 630.941 115.838 0 0 1 2.16079"; + WayPoint = "4049"; + isHome = "1"; + team = "2"; + }; + new InteriorInstance() { + position = "80.7526 670.278 115.307"; + rotation = "0 0 -1 79.0682"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruini.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new SimGroup() { + powerCount = "0"; + }; + }; + new SimGroup(centerturret) { + powerCount = "1"; + + new InteriorInstance() { + position = "14.0968 529.684 110.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "14.0608 529.921 120.878"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + team = "2"; + }; + new Turret() { + position = "14.0797 530.386 140.817"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + lastDamagedByTeam = "2"; + lastProjectile = "6450"; + lastDamagedBy = "3419"; + Target = "54"; + team = "2"; + damageTimeMS = "542320"; + }; + }; + new SimGroup(Radar1) { + powerCount = "1"; + + new StaticShape() { + position = "-111.224 555.375 149.079"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + team = "2"; + }; + new StaticShape() { + position = "-112.833 550.59 168.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + team = "2"; + damageTimeMS = "517228"; + }; + new InteriorInstance() { + position = "-112.795 550.479 139.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-112.758 547.14 149.05"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Target = "57"; + Trigger = "4005"; + team = "2"; + notReady = "1"; + }; + }; + new SimGroup(Radar2) { + powerCount = "1"; + + new InteriorInstance() { + position = "193.008 572.656 112.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "195.024 577.516 122.541"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + team = "2"; + }; + new StaticShape() { + position = "193.039 572.965 141.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "59"; + team = "2"; + }; + new StaticShape() { + position = "193.12 569.137 122.434"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Target = "60"; + Trigger = "4011"; + team = "2"; + notReady = "1"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(Bridges) { + powerCount = "0"; + + new InteriorInstance() { + position = "-325.554 492.941 118.4"; + rotation = "0 0 1 19.4806"; + scale = "1 1 1.04906"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-357.561 -545.268 112.6"; + rotation = "0 0 -1 17.7616"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "379.391 -450.078 112.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "364.332 504.351 113.2"; + rotation = "0 0 -1 27.5019"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + team = "0"; + }; + }; + new SimGroup(Centersensors) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-459.515 -9.3953 132.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new StaticShape() { + position = "-459.474 -9.1565 161.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "61"; + team = "0"; + damageTimeMS = "126254"; + }; + new StaticShape() { + position = "327.366 -11.3562 175.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "62"; + team = "0"; + }; + new InteriorInstance() { + position = "327.373 -11.384 145.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new SpawnSphere() { + position = "-20.7527 -0.7705 177.623"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "35"; + outdoorWeight = "100"; + }; + new StaticShape() { + position = "-39.8814 -0.840624 183.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + Target = "-1"; + holoHeight = "25"; + team = "0"; + }; + new StaticShape() { + position = "-33.8279 -0.906779 173.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Projector = "4026"; + Target = "63"; + name = "The Pantheon"; + team = "0"; + }; + new WayPoint() { + position = "-34.2 -1 175.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Pantheon"; + team = "0"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(Camera1) { + position = "37.3886 39.7973 209.017"; + rotation = "-0.0916498 -0.212086 0.972944 225.608"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(InfernoCam) { + position = "228.465 735.8 165.4"; + rotation = "-0.0734308 -0.163011 0.983888 227.807"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(StormCam) { + position = "61.3508 -757.605 170.641"; + rotation = "0.45839 0.176512 -0.871047 47.6983"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new WaterBlock(WaterBlock) { + position = "0 0 -363.817"; + rotation = "1 0 0 0"; + scale = "2048 2048 465.617"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "10"; + waveMagnitude = "4"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.5"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + params3 = "1.21 -0.61 0.13 -0.33"; + floodFill = "1"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + params0 = "0.32 -0.67 0.066 0.5"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new SimGroup(centerruins) { + powerCount = "0"; + + new InteriorInstance() { + position = "-20.4387 9.82328 172.344"; + rotation = "-0.265514 -0.220716 -0.938502 24.6533"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinh.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "32.2921 104.12 174.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruina.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-33.0578 0.769518 174.295"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-38.4079 2.71951 174.295"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-38.2507 1.68247 174.199"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruine.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-33.7779 -14.9202 172.875"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruind.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "32.1714 78.2192 174.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruina.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "64.631 102.837 174.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruina.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-48.4801 -17.5742 172.212"; + rotation = "-0.242769 -0.179249 -0.95338 47.7957"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruing.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-38.8354 -1.17347 173.936"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinf.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/DynamixFinalPack.vl2/missions/Trident.mis b/public/base/@vl2/DynamixFinalPack.vl2/missions/Trident.mis new file mode 100644 index 00000000..2c6f2738 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/missions/Trident.mis @@ -0,0 +1,1459 @@ +// MissionTypes = Siege +// DisplayName = Trident + +//--- MISSION QUOTE BEGIN --- +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Attackers must charge up the the fortified hills to the objective +//Attackers can restore the outlying bunkers, bring a repair pack +//Destroy generators in pits to disable forcefields in main base +// +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "6"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-1000 -1008 1984 1984"; + flightCeiling = "1000"; + flightCeilingRange = "20"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -816 36.9714"; + rotation = "1 0 0 0"; + scale = "2048 2048 123.451"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "3"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.3"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.3"; + removeWetEdges = "0"; + hidden = "true"; + locked = "false"; + }; + new Sky(Sky) { + position = "728 -288 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.200000 0.525000 0.625000 1.000000"; + fogVolume1 = "100 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_day.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + locked = "false"; + high_visibleDistance = "-1"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + cloudSpeed0 = "0.000150 0.000050"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + }; + new Sun() { + direction = "0.22528 -0.904932 -0.361037"; + color = "0.850000 0.900000 1.000000 1.000000"; + ambient = "0.300000 0.350000 0.400000 1.000000"; + position = "1024 512 0"; + backFlareSize = "500"; + texture4 = "special/LensFlare/flare03"; + rotation = "1 0 0 0"; + texture1 = "special/sunFlare02"; + locked = "false"; + lensFlareIntensity = "0.3"; + texture0 = "special/sunFlare"; + scale = "1 1 1"; + texture3 = "special/LensFlare/flare02"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + lensFlareScale = "0.3"; + frontFlareSize = "10"; + texture2 = "special/LensFlare/flare01"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Trident.ter"; + squareSize = "8"; + emptySquares = "82517 213844 279385 279390 934995 1000786 935506 935762 936017 936274 870995 805716 805972 740692 675412 479060 348245 282966 91510 103797"; + position = "-1024 -1024 0"; + visibleDistance = "1000"; + locked = "true"; + hazeDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + locked = "true"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "Trident.nav"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-328.104 -461.154 256.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "135"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "false"; + }; + }; + new SimGroup(Switch) { + powerCount = "0"; + + new StaticShape() { + position = "-293.638 -428.775 300.648"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + WayPoint = "3520"; + needsObjectiveWaypoint = "1"; + team = "1"; + Target = "33"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new StaticShape() { + position = "-177.134 -481.482 253.288"; + rotation = "0 0 1 114.592"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3366"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-299.965 -430.693 289.533"; + rotation = "-0.935113 -0.250563 -0.250563 93.841"; + scale = "1 1 1"; + nameTag = "Switch Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + notRepairable = "1"; + WayPoint = "3521"; + needsObjectiveWaypoint = "1"; + team = "1"; + Target = "35"; + }; + new Item() { + position = "-321.306 -444.876 301.172"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-277.472 -488.298 299.607"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3370"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "-287.185 -471.573 299.592"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3372"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "-337.109 -385.02 299.668"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3374"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "-331.366 -394.706 299.581"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3376"; + team = "1"; + Target = "39"; + }; + new InteriorInstance() { + position = "-244.785 -302.428 226.019"; + rotation = "0 0 1 208.557"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-171.288 -484.025 225.3"; + rotation = "0 0 -1 65.8901"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-169.39 -374.499 224.882"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-247.859 -308.011 253.955"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3381"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "-175.067 -377.403 252.873"; + rotation = "0 0 1 63.0254"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3383"; + team = "1"; + Target = "41"; + }; + new InteriorInstance() { + position = "-273.694 -417.255 302.6"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + interiorFile = "tri_base.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare() { + position = "-289.849 -437.762 299.276"; + rotation = "0 0 -1 47.2918"; + scale = "6.92489 1 11.6439"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "42"; + }; + new StaticShape() { + position = "-338.527 -411.595 286.634"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3389"; + team = "1"; + Target = "43"; + }; + new StaticShape() { + position = "-301.245 -476.321 286.591"; + rotation = "0 0 1 195"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3391"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-299.349 -421.78 299.037"; + rotation = "0 0 -1 10.8862"; + scale = "6.88276 1 11.6439"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "45"; + }; + new ForceFieldBare() { + position = "-285.458 -420.487 299.251"; + rotation = "0 0 -1 81.36"; + scale = "1 6.54487 11.586"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "46"; + }; + new ForceFieldBare() { + position = "-283.151 -425.323 299.216"; + rotation = "0 0 -1 30.3667"; + scale = "1 4.34293 11.4823"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-284.65 -431.671 299.346"; + rotation = "0 0 1 21.7724"; + scale = "1 6.2426 11.586"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "48"; + }; + }; + new SimGroup(MidFieldBunkers) { + powerCount = "1"; + + new InteriorInstance() { + position = "-58.0349 -174.391 189.124"; + rotation = "0 0 1 205.21"; + scale = "1 1 1"; + interiorFile = "tri_wall5.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-76.3473 -213.64 208.561"; + rotation = "0.145459 0.699586 0.699586 196.552"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Midfield"; + notRepairable = "1"; + WayPoint = "3522"; + needsObjectiveWaypoint = "1"; + team = "1"; + Target = "49"; + }; + new ForceFieldBare() { + position = "-305.626 -437.596 299.239"; + rotation = "0 0 -1 30"; + scale = "3.8264 3.22585 1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "50"; + }; + new StaticShape() { + position = "-60.7292 -180.101 217.384"; + rotation = "0 0 1 25.2101"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3406"; + team = "1"; + Target = "51"; + }; + new StaticShape() { + position = "-34.3056 -218.648 217.068"; + rotation = "0 0 -1 64.7442"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3408"; + team = "1"; + Target = "52"; + }; + new StaticShape() { + position = "-107.392 -184.453 217.061"; + rotation = "0 0 1 115.165"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3410"; + team = "1"; + Target = "53"; + }; + new Item() { + position = "11.4806 -248.751 217.772"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-159.905 -167.755 217.831"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "-307.792 -443.989 287.2"; + rotation = "0 0 -1 30"; + scale = "0.873071 12.5099 6.53675"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "54"; + }; + }; + new SimGroup(courtyard) { + powerCount = "1"; + + new InteriorInstance() { + position = "-88.317 139.182 179.32"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + interiorFile = "tri_wall3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-84.34 171.433 180.574"; + rotation = "0 0 1 195"; + scale = "0.97 0.97 1"; + interiorFile = "tri_powerpit.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-84.4923 169.608 169.961"; + rotation = "0.0926915 0.704063 0.704063 190.591"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Courtyard"; + notRepairable = "1"; + WayPoint = "3523"; + needsObjectiveWaypoint = "1"; + team = "1"; + Target = "55"; + }; + new ForceFieldBare() { + position = "-330.289 -431.405 299.5"; + rotation = "0 0 1 60"; + scale = "0.1 8.09447 8.18024"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "56"; + }; + new Turret() { + position = "-95.2936 272.503 206.133"; + rotation = "0.0910821 0.704168 -0.704168 169.591"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + team = "1"; + lastProjectile = "5457"; + damageTimeMS = "197555"; + Target = "57"; + }; + new Turret() { + position = "-44.5589 259.737 195"; + rotation = "0.991764 -0.0905626 0.0905631 90.4737"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "1"; + lastProjectile = "5506"; + Target = "58"; + }; + new Turret() { + position = "-50.6721 166.955 196.8"; + rotation = "0.829249 -0.395188 0.395186 100.666"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastDamagedByTeam = "1"; + lastDamagedBy = "3418"; + team = "1"; + lastProjectile = "5176"; + damageTimeMS = "176924"; + Target = "59"; + }; + new Turret() { + position = "-145.379 283.051 195.019"; + rotation = "0.983106 -0.129428 0.129428 90.9762"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "1"; + Target = "60"; + }; + new Turret() { + position = "-121.576 173.191 196.843"; + rotation = "0.884757 0.329549 -0.329549 96.9977"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "1"; + lastProjectile = "5163"; + Target = "61"; + }; + new ForceFieldBare() { + position = "-108.158 276.142 162.908"; + rotation = "0 0 1 11.4591"; + scale = "25.2546 2.73832 39.2524"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "62"; + }; + new Turret() { + position = "-43.229 263.818 210.265"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "1"; + lastProjectile = "5504"; + Target = "63"; + }; + new StaticShape() { + position = "-98.858 134.078 186.424"; + rotation = "0 0 1 4.58367"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3430"; + team = "1"; + Target = "64"; + }; + new StaticShape() { + position = "-78.765 132.625 186.32"; + rotation = "0 0 1 4.58384"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3432"; + team = "1"; + Target = "65"; + }; + new ForceFieldBare() { + position = "-340.425 -421.793 299.472"; + rotation = "0 0 -1 30"; + scale = "12.1781 0.1 11.8085"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "66"; + }; + new ForceFieldBare() { + position = "-306.146 -472.949 299.409"; + rotation = "0 0 -1 30"; + scale = "8.21081 0.1 8.99772"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "67"; + }; + new ForceFieldBare() { + position = "-332.319 -428.296 286.45"; + rotation = "0 0 1 60"; + scale = "0.1 12.3945 8.55037"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "68"; + }; + new ForceFieldBare() { + position = "-312.511 -462.363 286.35"; + rotation = "0 0 -1 30"; + scale = "12.2712 0.1 9.11084"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "69"; + }; + new ForceFieldBare() { + position = "-314.221 -459.215 299.5"; + rotation = "0 0 -1 30"; + scale = "8.09431 0.1 8.21136"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "70"; + }; + }; + new SimGroup(FrontGate) { + powerCount = "0"; + + new InteriorInstance() { + position = "-94.4027 275.351 175.3"; + rotation = "0 0 1 193"; + scale = "1 1 1"; + interiorFile = "tri_gate.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "32.2656 211.834 175.254"; + rotation = "0 0 1 236.632"; + scale = "1 1 1"; + interiorFile = "tri_wall6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere(EastBunkSpawn) { + position = "493.983 49.2799 191.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere(WestBunkSpawn) { + position = "-585.918 -1.69258 249.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-2.34988 690.842 167.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "70"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(east_bunker) { + powerCount = "0"; + + new ForceFieldBare(EastBunkTop) { + position = "435.157 13.9906 219.499"; + rotation = "-0 0 -1 30"; + scale = "4.78929 4.51088 1.17685"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "71"; + }; + new StaticShape(EastBunkGen) { + position = "456.749 30.6113 216.146"; + rotation = "-0.935113 -0.250563 -0.250563 93.841"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3460"; + repairedBy = "3372"; + team = "2"; + damageTimeMS = "4940"; + Target = "72"; + }; + new Turret(EastTurret) { + position = "436.922 17.4778 231.059"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + canBlow = "0"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3457"; + repairedBy = "3372"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + lastProjectile = "4864"; + damageTimeMS = "4940"; + Target = "73"; + }; + new StaticShape(EastInv1) { + position = "448.024 19.8874 211.084"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3459"; + inUse = "Down"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3460"; + repairedBy = "3372"; + notReady = "1"; + team = "2"; + damageTimeMS = "4940"; + Target = "74"; + }; + new StaticShape(EastInv2) { + position = "452.415 22.2587 208.057"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3461"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3460"; + repairedBy = "3372"; + team = "2"; + damageTimeMS = "4940"; + Target = "75"; + }; + new ForceFieldBare(EastBunkForce1) { + position = "446.327 51.0174 199.046"; + rotation = "-0.437934 -0.117344 -0.891316 33.4639"; + scale = "13.6394 0.815819 14.4234"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "76"; + }; + new ForceFieldBare(EastBunkForce2) { + position = "470.896 8.43705 199.343"; + rotation = "0.437934 0.117344 -0.891316 33.4639"; + scale = "13.6422 0.643303 13.9721"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "77"; + }; + new InteriorInstance() { + position = "436.254 17.2541 201.08"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "tri_tbunker.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new SimGroup(west_bunker) { + powerCount = "0"; + + new InteriorInstance() { + position = "-553.018 -56.2446 251.274"; + rotation = "-0 0 -1 30"; + scale = "1 1 1"; + interiorFile = "tri_tbunker.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(WestBunkGen) { + position = "-566.495 -35.7855 266.383"; + rotation = "0.377964 0.654654 0.654654 221.41"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3473"; + repairedBy = "3372"; + team = "2"; + damageTimeMS = "4940"; + Target = "78"; + }; + new Turret(WestTurret) { + position = "-553.361 -55.6126 281.25"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + canBlow = "0"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3470"; + repairedBy = "3372"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + lastProjectile = "4864"; + damageTimeMS = "4940"; + Target = "79"; + }; + new StaticShape(WestInv1) { + position = "-555.771 -44.5106 261.26"; + rotation = "-0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3472"; + inUse = "Down"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3473"; + repairedBy = "3372"; + notReady = "1"; + team = "2"; + damageTimeMS = "4940"; + Target = "80"; + }; + new StaticShape(WestInv2) { + position = "-558.142 -40.1196 258.277"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3474"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3473"; + repairedBy = "3372"; + team = "2"; + damageTimeMS = "4940"; + Target = "81"; + }; + new ForceFieldBare(WestBunkForce1) { + position = "-586.901 -46.2076 249.046"; + rotation = "0.0751465 0.130157 0.988642 239.435"; + scale = "13.6394 0.815819 14.4234"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "82"; + }; + new ForceFieldBare(WestBunkForce2) { + position = "-544.32 -21.6386 249.343"; + rotation = "-0.0751465 -0.130157 0.988642 239.435"; + scale = "13.6422 0.643303 13.9721"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "83"; + }; + new ForceFieldBare(WestBunkTop) { + position = "-549.874 -57.3776 269.499"; + rotation = "0 0 1 240"; + scale = "4.78929 4.51088 1.17685"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "84"; + }; + }; + new SimGroup(Team1Waypoints) { + powerCount = "0"; + + new WayPoint() { + position = "454.229 27.9384 218.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Triton Base"; + team = "2"; + }; + new WayPoint() { + position = "-563.641 -38.4382 269.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Neriad Base"; + team = "2"; + }; + new WayPoint() { + position = "12.7898 682.59 169.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Siren Base"; + team = "2"; + }; + }; + new SimGroup(StagingArea) { + powerCount = "0"; + + new WheeledVehicle() { + position = "12.9114 682.578 169.587"; + rotation = "0.00331939 0.00321805 0.999989 215.402"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + spawnPos14 = "2.9114 692.578 167.163"; + spawnPos12 = "22.9114 687.578 167.191"; + spawnPos13 = "27.9114 687.578 167.176"; + beacon = "4625"; + spawnPos15 = "22.9114 692.578 167.241"; + mountable = "0"; + fullyDeployed = "1"; + spawnPos21 = "22.9114 697.578 167.285"; + deployed = "1"; + spawnPosCount = "22"; + spawnPos6 = "7.9114 667.578 167.596"; + spawnPos10 = "22.9114 682.578 167.23"; + spawnPos8 = "-2.0886 672.578 167.391"; + spawnPos0 = "-2.0886 662.578 168.462"; + Turret = "4624"; + selfPower = "1"; + spawnPos18 = "7.9114 697.578 167.157"; + immobilized = "1"; + Marker = "3525"; + spawnPos9 = "2.9114 672.578 167.384"; + spawnPos4 = "-2.0886 667.578 167.617"; + spawnPos3 = "12.9114 662.578 168.969"; + spawnPos2 = "7.9114 662.578 168.63"; + noEnemyControl = "1"; + spawnPos19 = "12.9114 697.578 167.259"; + spawnPos7 = "12.9114 667.578 167.587"; + team = "2"; + respawn = "1"; + spawnPos17 = "2.9114 697.578 167.176"; + spawnPos1 = "2.9114 662.578 168.44"; + spawnPos22 = "27.9114 697.578 167.254"; + spawnPos16 = "27.9114 692.578 167.222"; + spawnPos5 = "2.9114 667.578 167.594"; + station = "4622"; + isDeployed = "1"; + Target = "85"; + spawnPos11 = "27.9114 682.578 167.209"; + respawnTime = "10000"; + shield = "4626"; + spawnPos20 = "17.9114 697.578 167.316"; + }; + new WheeledVehicle() { + position = "-12.492 692.98 169.469"; + rotation = "-0.00163735 0.000239093 0.999999 239.434"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + spawnPos14 = "-22.492 702.98 167.188"; + spawnPos12 = "-32.492 702.98 167.377"; + spawnPos13 = "-27.492 702.98 167.269"; + spawnPos24 = "-12.492 707.98 167.188"; + beacon = "4619"; + spawnPos15 = "-17.492 702.98 167.188"; + mountable = "0"; + fullyDeployed = "1"; + spawnPos21 = "-27.492 707.98 166.725"; + deployed = "1"; + spawnPosCount = "26"; + spawnPos6 = "-32.492 692.98 167.377"; + spawnPos10 = "-27.492 697.98 167.269"; + spawnPos8 = "2.508 692.98 167.166"; + spawnPos0 = "-2.492 672.98 167.394"; + spawnPos25 = "-7.492 707.98 167.188"; + Turret = "4618"; + selfPower = "1"; + spawnPos18 = "-2.492 702.98 167.188"; + immobilized = "1"; + Marker = "3524"; + spawnPos9 = "-32.492 697.98 167.377"; + spawnPos4 = "2.508 682.98 167.294"; + spawnPos3 = "-2.492 682.98 167.313"; + spawnPos26 = "2.508 707.98 167.172"; + spawnPos2 = "2.508 677.98 167.375"; + noEnemyControl = "1"; + spawnPos19 = "2.508 702.98 167.178"; + spawnPos7 = "-27.492 692.98 167.269"; + team = "2"; + respawn = "1"; + spawnPos17 = "-7.492 702.98 167.188"; + spawnPos1 = "2.508 672.98 167.381"; + spawnPos22 = "-22.492 707.98 166.643"; + spawnPos16 = "-12.492 702.98 167.188"; + spawnPos23 = "-17.492 707.98 166.984"; + spawnPos5 = "2.508 687.98 167.225"; + station = "4616"; + isDeployed = "1"; + Target = "86"; + spawnPos11 = "2.508 697.98 167.178"; + respawnTime = "10000"; + shield = "4620"; + spawnPos20 = "-32.492 707.98 167.097"; + }; + new TSStatic() { + position = "-2.86019 679.803 167.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "35 691.093 166.943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + team = "1"; + }; + new TSStatic() { + position = "35 694.092 166.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + team = "1"; + }; + new TSStatic() { + position = "35.015 688.161 166.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + team = "1"; + }; + new TSStatic() { + position = "35.0059 689.711 168.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + team = "1"; + }; + new TSStatic() { + position = "35.0089 692.745 168.937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + team = "1"; + }; + new Item() { + position = "-2.83306 679.834 169.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-22.7811 676.019 166.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + team = "1"; + }; + new TSStatic() { + position = "28.4889 667.662 166.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + team = "1"; + }; + new TSStatic() { + position = "-15.643 723.569 166.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + team = "1"; + }; + new TSStatic() { + position = "-3.2614 708.293 166.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + team = "1"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(AttackersBase) { + position = "32.1617 728.792 196.597"; + rotation = "-0.0855905 -0.246496 0.965357 217.062"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(DefendersBase) { + position = "-310.476 -442.158 348.416"; + rotation = "0.371281 -0.216528 0.902921 65.7165"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new InteriorInstance() { + position = "-177.004 -79.7269 194.891"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "tri_misc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.4067 -451.466 197.531"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "tri_misc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-312.939 -320.967 311.9"; + rotation = "0 0 1 12.605"; + scale = "1 1 1"; + interiorFile = "tri_tower.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- + +//Set Damage Levels for Team One objectives + +nameToId("EastBunkGen").setDamageLevel(2.5); +nameToId("EastTurret").setDamageLevel(2.5); +nameToId("EastInv1").setDamageLevel(2.5); +nameToId("EastInv2").setDamageLevel(2.5); + +nameToId("WestBunkGen").setDamageLevel(2.5); +nameToId("WestTurret").setDamageLevel(2.5); +nameToId("WestInv1").setDamageLevel(2.5); +nameToId("WestInv2").setDamageLevel(2.5); + +package Trident { +//begin Trident package ================================ + +function SiegeGame::halftimeOver( %game ) +{ + nameToId("EastBunkGen").setDamageLevel(2.5); + nameToId("EastTurret").setDamageLevel(2.5); + nameToId("EastInv1").setDamageLevel(2.5); + nameToId("EastInv2").setDamageLevel(2.5); + + nameToId("WestBunkGen").setDamageLevel(2.5); + nameToId("WestTurret").setDamageLevel(2.5); + nameToId("WestInv1").setDamageLevel(2.5); + nameToId("WestInv2").setDamageLevel(2.5); + + parent::halfTimeOver(%game); +} + +// we want to active some spawnSpheres if specific gens come online +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + + %attackersTeam = 1; + %neutralTeam = 0; + if(%obj == nameToId("EastBunkGen") ) + { + error("EB gen ENabled"); + %spawn = nameToId("EastBunkSpawn"); + Game.claimSpawn(%spawn, %attackersTeam, %neutralTeam); + } + else if(%obj == nameToId("WestBunkGen") ) + { + error("WB gen ENabled"); + %spawn = nameToId("WestBunkSpawn"); + Game.claimSpawn(%spawn, %attackersTeam, %neutralTeam); + } +} +// ...we want to deactivate the above set spawn spheres +// (revert them back to neutral actually) if the gen is disabled +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + %attackersTeam = 1; + %neutralTeam = 0; + if(%obj == nameToId("EastBunkGen") ) + { + error("EB gen disabled"); + %spawn = nameToId("EastBunkSpawn"); + Game.claimSpawn(%spawn, %neutralTeam, %attackersTeam); + } + else if(%obj == nameToId("WestBunkGen") ) + { + error("WB gen disabled"); + %spawn = nameToId("WestBunkSpawn"); + Game.claimSpawn(%spawn, %neutralTeam, %attackersTeam); + } +} + +//end Trident package ================================ +}; + +package BandAid { +//begin fix package needed to inflict the damage + +function SiegeGame::halftime(%game, %reason) +{ + //stop the game and the bots + $MatchStarted = false; + AISystemEnabled(false); + + if (%game.firstHalf) + { + //switch the game variables + %game.firstHalf = false; + %oldOffenseTeam = %game.offenseTeam; + if (%game.offenseTeam == 1) + %game.offenseTeam = 2; + else + %game.offenseTeam = 1; + + //send the message + messageAll('MsgSiegeRolesSwitched', '\c2Team %1 is now on offense.', $teamName[%game.offenseTeam], %game.offenseTeam); + + //reset stations and vehicles that players were using + %game.resetPlayers(); + // zero out the counts for deployable items (found in defaultGame.cs) + %game.clearDeployableMaxes(); + + // clean up the MissionCleanup group - note, this includes deleting all the player objects + %clean = nameToID("MissionCleanup"); + %clean.housekeeping(); + + // Non static objects placed in original position + resetNonStaticObjPositions(); + + // switch the teams for objects belonging to the teams + %group = nameToID("MissionGroup/Teams"); + %group.swapTeams(); + // search for vehicle pads also + %mcg = nameToID("MissionCleanup"); + %mcg.swapVehiclePads(); + + //restore the objects + %game.restoreObjects(); + + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + if( !%client.isAIControlled() ) + { + // Put everybody in observer mode: + %client.camera.getDataBlock().setMode( %client.camera, "observerStaticNoNext" ); + %client.setControlObject( %client.camera ); + + // Send the halftime result info: + if ( %client.team == %oldOffenseTeam ) + { + if ( $teamScore[%oldOffenseTeam] > 0 ) + messageClient( %client, 'MsgSiegeResult', "", '%1 captured the %2 base in %3!', %game.capPlayer[%oldOffenseTeam], $teamName[%game.offenseTeam], %game.formatTime( $teamScore[%oldOffenseTeam], true ) ); + else + messageClient( %client, 'MsgSiegeResult', "", 'Your team failed to capture the %1 base.', $teamName[%game.offenseTeam] ); + } + else if ( $teamScore[%oldOffenseTeam] > 0 ) + messageClient( %client, 'MsgSiegeResult', "", '%1 captured your base in %3!', %game.capPlayer[%oldOffenseTeam], %game.formatTime( $teamScore[%oldOffenseTeam], true ) ); + else + messageClient( %client, 'MsgSiegeResult', "", 'Your team successfully held off team %1!', $teamName[%oldOffenseTeam] ); + + // List out the team rosters: + messageClient( %client, 'MsgSiegeAddLine', "", '%1%2', $TeamName[1], $TeamName[2] ); + %max = $TeamRank[1, count] > $TeamRank[2, count] ? $TeamRank[1, count] : $TeamRank[2, count]; + for ( %line = 0; %line < %max; %line++ ) + { + %plyr1 = $TeamRank[1, %line] $= "" ? "" : $TeamRank[1, %line].name; + %plyr2 = $TeamRank[2, %line] $= "" ? "" : $TeamRank[2, %line].name; + messageClient( %client, 'MsgSiegeAddLine', "", ' %1 %2', %plyr1, %plyr2 ); + } + + // Show observers: + %header = false; + for ( %i = 0; %i < %count; %i++ ) + { + %obs = ClientGroup.getObject( %i ); + if ( %obs.team <= 0 ) + { + if ( !%header ) + { + messageClient( %client, 'MsgSiegeAddLine', "", '\nOBSERVERS' ); + %header = true; + } + + messageClient( %client, 'MsgSiegeAddLine', "", ' %1', %obs.name ); + } + } + + commandToClient( %client, 'SetHalftimeClock', $Host::Siege::Halftime / 60000 ); + + // Get the HUDs right: + commandToClient( %client, 'setHudMode', 'SiegeHalftime' ); + commandToClient( %client, 'ControlObjectReset' ); + + clientResetTargets(%client, true); + %client.notReady = true; + } + } + + %game.schedule( $Host::Siege::Halftime, halftimeOver ); + } + else + { + // let's wrap it all up + %game.gameOver(); + cycleMissions(); + } +} + +function SiegeGame::halftimeOver( %game ) +{ + // drop all players into mission + %game.dropPlayers(); + + //setup the AI for the second half + %game.aiHalfTime(); + + // start the mission again (release players) + %game.halfTimeCountDown( $Host::warmupTime ); + + //redo the objective waypoints + %game.findObjectiveWaypoints(); +} + +//end Bandaid package. We can remove this once the next patch is officially released +//This was taken from the SiegeGame.cs file from Beta4 +}; + +activatePackage(BandAid); +activatePackage(Trident); diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/BridgeTooFar.spn b/public/base/@vl2/DynamixFinalPack.vl2/terrains/BridgeTooFar.spn new file mode 100644 index 00000000..34c40cc4 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/BridgeTooFar.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/BridgeTooFar.ter b/public/base/@vl2/DynamixFinalPack.vl2/terrains/BridgeTooFar.ter new file mode 100644 index 00000000..6fe225a3 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/BridgeTooFar.ter differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/DevilsElbow.spn b/public/base/@vl2/DynamixFinalPack.vl2/terrains/DevilsElbow.spn new file mode 100644 index 00000000..3491bc34 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/DevilsElbow.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/DevilsElbow.ter b/public/base/@vl2/DynamixFinalPack.vl2/terrains/DevilsElbow.ter new file mode 100644 index 00000000..fa0ce86b Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/DevilsElbow.ter differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.nav b/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.nav new file mode 100644 index 00000000..dda22926 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.nav differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.spn b/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.spn new file mode 100644 index 00000000..536b2856 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.ter b/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.ter new file mode 100644 index 00000000..83b02e76 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/InnerSanctum.ter differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/IsleOfMan.spn b/public/base/@vl2/DynamixFinalPack.vl2/terrains/IsleOfMan.spn new file mode 100644 index 00000000..8959396e Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/IsleOfMan.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/IsleOfMan.ter b/public/base/@vl2/DynamixFinalPack.vl2/terrains/IsleOfMan.ter new file mode 100644 index 00000000..c357a942 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/IsleOfMan.ter differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/Pantheon.spn b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Pantheon.spn new file mode 100644 index 00000000..182ac80e Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Pantheon.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/Pantheon.ter b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Pantheon.ter new file mode 100644 index 00000000..a9b3a8fd Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Pantheon.ter differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/Trident.spn b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Trident.spn new file mode 100644 index 00000000..d10fe410 Binary files /dev/null and b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Trident.spn differ diff --git a/public/base/@vl2/DynamixFinalPack.vl2/terrains/Trident.ter b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Trident.ter new file mode 100644 index 00000000..bec03887 --- /dev/null +++ b/public/base/@vl2/DynamixFinalPack.vl2/terrains/Trident.ter @@ -0,0 +1,3887 @@ +  + +P +: +$ + + \ S=&= 0 F F 0 0 0 0 F r \ F 0  =_ 0 0 0 0 0 0 0     0 F \ \ r +P +| + + + - p p Y -   + + + + + +| +P + + \ F F \ r r F 0  S=S \ \ 0 0  i&_I&S F r 0 =_i 0 0   F P + +C -  + +f +f +P +: + + r 0      i=&&=i0 0 0 0 0 0 0 F r \ 0  =I 0 0     0 0 0 \ r r r +: +| + + + - Y Y C   + + + + + + +f +: + \ F F \ \ r \ F 0  =&i r \ F 0  i=u3I&= F r \ F 0 =uI_S   0 P + +C C  + + + + + +f +: + r \ F F F F F 0  iS=&S0 0 0 0   0 F r r 0  iuI     0 0 r +: +| + + + - Y p C   + + + + + +| +| +P +: + r \ F \ \ r \ F 0 i=i r \ 0  i=u3Iu=i F r F 0   =IlllI=0 P + +C ! p C    + + + + +P +$ + r F  iS======i0 0 0     0 \ F  =Iui  0 \ +: +| + + +  C p p p p C   + + + + + +| +| +f +P +: + r \ \ r r \ 0  S=S \ r 0  i=u3I_&S \ \ 0  =_lVVV0 +f + +C ! p Y - - - - -   +| +: +: + + + F  ==&&==Si       0 \ \ 0  =_u= 0 \ + + +: +| + + +  C Y p p p Y Y C -  + + + + + + +| +f +f +P +: + + r \ r r F 0  ==F r 0  =&IIu=i0 \ r 0  iSSS==ulVVVli  0 r : +| + +C ! ! p p p p Y - + +| +P +: + + F  i==S     0 F \ 0  SIuS 0 +$ +$ +$ + + +: +f + + +  - C Y p p p Y C C - - -    + + + + + +| +f +f +P +: +$ + r \ \ \ F 0 i&i r F  i=_33Iu=i F \ 0 S&&&IlVVVluS0 0 F \ +f + + C ! ! ! ! C  + +| +: + F  ==S 0 F r F 0  S&__=i F +: +: +: +: +$ + +: +P + + + +   - C p Y Y C C -         + + + + + +| +f +f +P +: +$ + r \ F F F 0  ==F F  =_33_u=i \ \  i&IlVVllui \ $ +P + + +- p ! 7 7 M 7 ! C  + +P + + \  &u_u&=i 0 0 r \ 0 0  S=u33_&S 0 r +: +P +f +P +: +$ + +$ +: +P +| + + + + +   - Y p p Y - - - -         + + + + + + +| +f +P +: +: + + r F 0 0 0 0  =u_i0 \  =u_II_u=0 r \  =u3lllli0 +: +P +| + + - p 7 M M c M 7 ! p C  + +P +  SuI3_&=i 0 0 \ \ 0  i=I33I&i0 \ +: +f + + +f +: +: +: +: +P +f +| + + + + + + +  - C C -       + + + + + + + + + + +| +f +P +: +$ + + F 0   SIIIu=0 \  =_I3II_uS 0 0 &u__u33i0 $ +P + + + + - p 7 c c y y c M 7 ! p -  +| +$ + 0 SIIu=i 0 F \ r F 0 i=I3I3I& \ + + +$ +: + + + + + +P +P +: +P +P +f +| + + + + + + +           + + + + + + + + + +| +f +P +: +: +$ + \ 0  S&II= r r  S_I333I__u= F r 0 SuII_uI_\ P + +  - Y 7 y y c M M 7 ! ! Y -  +| +$ +  =3I_&=ii 0 \ \ F 0  =I3IIu=0 +$ +$ +$ +: +f + + +  + +| +f +P +P +f +f +f +| +| + + + + + +         + + + + + + + +| +f +P +: +: + + \ 0  iS=&I3& r r 0 =uII33IIIIIuu&S 0 r F  =_II__3I&\ | + +C p M y y M M 7 ! p -  +f + &uII_==Si F \ r \ F 0  SuI33u= F $ +: +: +: +f + + + -   + +| +f +P +P +P +P +P +f + + + + + + + + + + + + + +    + + + +f +P +: +: + + r \ 0  =&u3_F \  =___uuuu&=S 0 \ 0 =_IIuII=F | + p ! M y  y c 7 ! p C  + +: + \ I33I_==S0 0 F r r r \ F 0   =_3i0 r +: +P +f +f +| + + + - -   + +| +f +P +: +: +: +P +f +| + + + + + + + + + + + + +   + + +| +P +: +$ + r \ 0 0  =IIi0 r \  =&=i 0 r 0 =I33IuS\ | + p ! M y @ @ *  y M 7 ! Y C  + +| +$ + F i_III_uu&=S  0 0 F F F 0   SIi0 r $ +: +P +f +f + + + + - -   + + +| +P +: +: +: +: +P +f +f +| +| + + + + + + + + + + + + + + +| +: +$ + \ F 0  =_3= F \ 0 =&=i 0 r 0 SI33IIu=i\ | + Y ! c * W m @ @  M ! Y Y C   +| +: + 0 iu_uuu=S   0     i__= \ +: +: +: +P +f + + +    + + + +| +P +: +$ +$ +$ +: +: +: +P +P +f +f +f +f +f +| + + + + + + + + + +f +: +$ + r F 0 i&uI3_i0 r 0 =&&==&&S 0 \ F  =&uuuS r f + +C c @ W m m W  y M Y C   + + +: + +  Su=i  i&II&0 r + +$ +$ +: +f + + + + + + + + + +| +: +$ + +$ +$ +$ +: +: +: +: +: +: +P +f + + + + + + + + +f +: +$ + \ 0 =_I3I=\ F iS==0 F \ + + \  iiSSS===&&&&i r P + +- M  @ m W @  M ! p -  + + + +f +$ + \  &&=S&I3S0 $ +: +f + + + +| +| +| +| +f +: + + +$ +$ +$ +$ +$ +: +f + + + + + + +| +P +: +$ + F  i=_I33uSF + + 0  S=&S0 F r + + r 0 iiS===i r P + +- M  @ m m @  c ! p  + + + +| +f +: + + F  i=&==SiS=u_&i0 r +$ +: +P +P +P +: +P +: +: + + +$ +: +f + + + + +| +f +: +: + + r 0  i=_3I=0 $ +$ +$ + r 0   =&&= F + 0  i==&=i r P + +- ! c  @ W @  c ! p Y   + +| +f +P +: + + r F S=&&&==S   iSSS==3I=0 0 F F F r +$ +: +: +: +$ + + \ \ r $ +P +f +| +| +| +f +f +: +$ + r \ 0  i=_33=0 $ +: +$ + \ 0 0   S===Si0 r + F  iS=&&&=S +| + C 7 c * * * M C   + +f +P +P +P +: +: +$ + 0  i===========Sii  i=====>'`v=   0 0 \ r + + + r \ 0 0 F r r +: +P +f +f +f +P +P +: + r F 0  iS=uI3u& $ +$ +$ + \ 0 0 0 0   0 + +$ + F 0      iS==&&&&=S0 : + + p M  * * y 7 p -  + +f +P +: +: +: +: +: +$ + + \ 0 iiiiiiii 0   S&F11P%#!,!\S}  0 r F 0 0 0 0 \ r +: +: +: +P +: +: +: +$ + r F 0  iSS=_II3_r $ + + r F F 0 0 0    0 \ +: +: +: +: +: +: +: + + F 0       iS===&&&=SF P + +C 7 y  * * y M ! Y  + +f +: +: +$ + + + +$ +$ +$ + \ 0  0 0 F   i= %>jU!k,Ms~ 0 F 0 0  0 0 F \ $ +: +: +: +: +: +$ + + \ 0  iS===&u_IIIi0 + + \ F F F F F F 0 0 0  0 0 0 0 F r $ +P +f +f +f +f +P +: +$ + \ 0      iS===&&=S r | + Y M  * * ! C  + +f +: +$ + +$ + + F 0   0 0     0     0 F F 0  i=?A1N >n ,Yn}]Si F r F 0    0 0 \ r $ +$ +$ +$ +$ + + r 0  iS===&&uIu= \ \ F F F F r +: +f + + + + + +f +: + \ 0 0   iSS====&&=i0 $ + + p M    Y  + +f +: +$ + + + F 0 0 0 0 F 0 \ 0  0  0  0 0     0 F F F F F 0 F \ F 0  =&7]ypW)B1!j/X.`^~j=:0=i F \ F 0   0 F r + + +$ +$ +$ + + F  i==&_3IS r r F F F \ $ +: +| + + + + + +| +: + r F 0  iiSSSSSS===SF : + + p M { -  +| +P +$ + + F F F F \ \ r \ r \ \ \ \ \ F F \ 0 0 0 0 \ \ \ F r \ 0  i]3%Ov^1%{u 9( "PSZF.$=i    F r +$ +$ +: +: +: +$ + + + r 0  i==&u33ui \ r F 0 0 F r +$ +: +: +: +$ +$ +: +: +: +f + + + + + + +f +$ + \ 0  iS=SS=====SSiiiii r : + + Y M Y  +f +: +$ + + r \ \ r r r \ F 0  i~eJ- Ng)DQh~{yMn[=i 0 r +$ +$ +: +: +: +: +$ +$ + + \ 0 iS=&_3Ii0 F \ r r \ F 0 0 0 \ +: +f +| +| +f +f +f +| +| + + + +   + + +P + + F  S==&&&&=Si0 : + + C 7 y n 5 +| +: +$ + + r \ 0 stua5,g ) +  8 g    {jX&Siiiii F \ +$ +: +: +P +: +: +: +$ + + \  S=&uII= 0 0 0 0 0 0 0 F r +P +| + + + + + + + + + +     + +| +: + r 0 ==&=i   0 F : + + + u ! c { R + +P +$ +$ + + + + + +$ + +$ + + \  id= y B M i  fU&&=====S 0 \ +$ +: +: +P +P +: +: +$ + + F  S=uI33_&i     0 F r : +| + + + + + + + + +   - -   + +P + + 0 i==&&= 0 \ r r r +K + + + +M c h I \ + +P +: +$ +$ +$ + $ +$ +$ + +$ +$ +$ +: +: +: +: +: +: +: +: +$ + 0 t F P +f +C + + +_ +^ + + + + + + + + + + + + +U + 8 L6&==Si 0 \ +: +: +P +P +P +: +: +$ + + r 0 S=uI33_&S 0 \ $ +P +| + + + +     - - C C -   +f +$ + r 0 i=&=i 0 r " +K +r + + +9 M r ' / x g + +f +: +: +: +$ +$ + +: +: +: +$ + + + $ +$ +: +: +P +P +P +f +P +f +: +: +: +$ + r 0  \ + ; + + +8 + + +V + +% " O V <  " ; +A + H 2==Si 0 r +$ +: +P +P +f +f +P +: +$ + + \ 0 i=&_3I= 0 0 F : +f + + + +   - C Y Y Y Y C -  +f +$ + r  S=&= 0 r $ +$ +$ + + 7 +K + + + +% 7 y  z t D +| +P +: +$ +$ +$ + +$ +P +P +P +: + + + +$ +: +P +P +P +f +P +f +P +: +$ + + + \  . +k  / u >  +w + + + 7 o X W _ ?  + @ `==i F : +: +P +f +f +f +f +P +: +: + + \  =&=&I3_i 0 F \ : +P + + + +  - C Y p p Y Y Y C  +f + + F S=&&&=i F $ +P +f +f +P +: +^ +r + + + +% b M  s r i Q +| +: +$ + + + + : +P +| +| +| +P +$ + +$ +: +P +P +f +| +f +: +: +: +$ + r F ) e + + s , F + + +c :   B # , k  ^ + + ( S &=Si F +: +P +P +f +f +f +f +P +: +: + + F  =&&u3llI= 0 \ \ r $ +P +| + + +  - C p p p p p Y - +f + 0 i======&&=i0 \ : +f + + + +| + + + + + + 9 u [ ^ T % +f +P +$ + + +$ +: +| + + +| +P +: + $ +$ +: +P +P +f +f +P +P +$ + + + \ 0   +q 3   4 v  N & {r $ 1 z  L  +Z + ns&==S0 $ +: +P +f +f +f +f +f +: +: +$ + + F  =__u&IllllllI0 \ \ r $ +: +| + + +  - Y p p C +f + 0 iS====SSi 0 \ : +f + + + + + + + + + + + +- W } L = 0 +P +: +$ + + : +P +| + + + + +P +: + + + +: +P +f +f +| +P +: +$ + + \ 0   q +u I 2f, 1 g j*r -  N 8  +? + W}]i_=S0 +: +P +P +f +f +P +P +: +: +$ + + \  =_IIIu3lkUVVVli 0 0 \ r +: +f + + +  - Y p Y  + + 0 iS==Si 0 r +: +| + + + + + + + + + + + + + +; e L 6  +P +: +$ + + + + +: +f +| + + + + + +f +: +$ + + +$ +: +: +P +f +f +: +: +: +$ + + r \ 0  M  +K j Fk B!jy U I ~ y a t > + +m $gG=Iu&i \ $ +: +P +P +P +P +: +: +$ + + + r  =uI333IuIkjUUUVVl= 0 r : +f + + +  C Y p  +: + 0  iii  0 F +P +| + + + + + + + + +n +F +3 +F + + 4 Z { / & + +f +: +$ + $ +: +: +P +f + + + + + + + + +f +: +$ + + +$ +$ +: +: +f +| +| +f +P +: +$ + + \ 0 #   / D s  + + @ -u ` | ?7} d  % P g e '  ! o  + + XZ1'3I_u&0 +: +P +P +P +: +: +$ + + r 0 =uI3IuuIlllVllVlllkjUUU@@VVlI= F $ +P + + + - Y p - +P + r 0    0 0 F r $ +P +f + + + + + + + +Z +# + b + + +4 P e 4  + +| +: +: + $ +: +f +| + + + + + + + + +| +f +: +: +: +$ +: +P +f + +| + +f +f +: +$ + \ F 6 ( 5 l  + + SI 0 Q cg2pe F ; l  + d3III_u= \ : +: +: +: +: +$ + r 0 SuI3III3lVVVVVVVVVllkjjTAA@@@VVlu=S0 r +: +| + + - p C +f + F     0 0 F \ +: +P +| + + + + + +n +# + h + + +( 4 + + + +f +: + +: +f + + + + +   + + + + + +| +f +P +P +: +: +P +| +| + +| +f +P +: + + r 0 0  $ S ? + +~ L H `  !j4%})  u R t ~ d  V  L +"n333IIi0 +: +: +: +$ + r 0  =I33lVVVVVVV@VVVVkTSAAA@@@@VVIS r +: +| + + - p C +| + + r 0     0 F r $ +: +f +| + + + +Z +# + h + + + + + + +f +: + + $ +: +| + + + +     + + + + + +| +f +f +f +: +f +| +| +| +| +: +: +$ + \ 0  . x c + +m  %,qJxB] , o B  0 = : :  V +l lxI= \ $ +$ + + r 0  Su3llVVVVVVVVVVVVVT@AA@@@@@@VlI= r $ +: +f + + + Y p - +f +$ + \ 0   0 F \ r $ +: +f +| +| +P +3 +  +< +c +w +f +: +: +$ + $ +: +f + + + +    + + + +| +f +f +f +| +P +P +f +| +| +| +| +P +: +$ + \ 0  5 6 + +  x I( *:p<zF V u 5   $ Q g 1  L _iF \ 0  &I3llVVVVVVVVVVVVVUSAABA@@@@@@Vl_= : +: +P +| + + - Y Y  +f +: + \ 0   0 0 F F r $ +P +f +: +& + p + r \ F \ r +: +P + + + + +  + + + + +f +f +f +P +P +P +f +f +f +| +| +f +: + + r 0  $ + W  <|;hw{Fc + q 0  8 z g   , +IS0 r \ 0 0  =_I3lVVVVVVVVlllllUTAABA@@@@@@@VI=0 $ +P +P +P +f + + + C p C  +| +: +$ + F 0     0 F +: +& +& + t r a a p t 0 0 0 0 0 0 0 0 0 F r $ +P + + + + + + + + +| +| +f +P +: +: +P +: +P +f +f +| +P +P +$ + r F   + M>J7TJ-=F7 ) s F  B x q g 1   +, ,l3= \ r \ \ F F 0   i&_IllllVVVVVlkTTTTTUV@@@@Vl3= $ +P +P +P +f +| + + - Y Y  + +f +: +$ + F 0   \  +& + r < D D ? ? Q Q ] \ r \ \   0 F +: + + + + + + + + + + +| +P +P +: +: +$ +: +: +P +f +f +: +$ + + F 0 iy# 9 H}+ 1  0 { X " L L n Z Q 1     + Bllll3= F r \ 0 0 0   =uIlllllVVVVljjiijkVV@@@VVu& : +: +: +f +| + + + - Y Y -  + +f +: +$ + F 0  0 ^ 7 * 4  - - "     =SSi 0 : +| + + + + + + + +| + +P +P +: +$ + +$ +: +: +: + + r 3 bx5 $ +z 4 x~F'_Q;q  X  B L l x d :  1    D xbllVvvI=0 F \ r r r \ F 0   SuI3lllllVVVlVV@@VlIi\ +$ +: +f + + +  C Y p p C  + + +f +P +: + r 0  iSSSSi \ K # #  ==i \ $ +P + + + + + + + +| +f +: +: + + +: + r 6  E B + .l5 _iv M/ C=p G  B L l L B    I I \ B q  +XlVvIS 0 0 0 0 0 0 0  ii=I3llllllllVVVV3=0 $ +: +f + + +  - Y p -  + + + +f +: + \ 0  iSS===S F r ^ 7 #  S&&=Si0 : +P +f +| + +| +| +P +: +: +: + + r r r I 2   r 2 + L)d V I D G<7t,ul? q d l B 8 . 7 7 I I (  +zDlv_S       }]=&_IllllllVVVVl_&0 \ +: +P + + + + C p Y -   + + +f +$ + F  iSSSSi0 F F K 7 7 #  Su== r : +: +P +f +f +: +: +$ + + \ F F \ r r \ =   8 . 1 7 M + B0 +  [ U Zx  } $ " { ? 7 7 7 U +QZvuS? I 3  }F_IllV@VV3= 0 F $ +P +| + +  Y Y C -   + +: + r 0      S&IIII_= F r +: +: +: +$ + \ 0 0  0 F \ \ \ \ 0 1    V b w . + N =-a ( o  )5WXXSD ]n  .   ?  + +Z:(]=iS==]}i i S = PuuIIlVV@VlI=0 \ +: +| + + C p Y Y C -  +f +$ + \ 0  iS=&3IIu= 0 F + + r \ F F F 0    0 0 0 0   ; G + +' & K;R  &1dI 2P[_kpr3]T "20 Q k   w6Gi=ii==&0fs S  f:_III3lVV@@lu=0 \ $ +P + + C p p Y C  +| +: + + \ 0 0      iiiS=&uI3Iu= 0 0 \ r 0 0          0 e  +F + +  9= & ) ?;Y( ANUW\cq{iI]+: Myz2 M +BO".q=ii=&: 3 f$i3llVV@@VlI= 0 r : + + +- Y p Y  + +f +: + r \ 0 0  S===SiS=&_33Iu= 0 0 0 0 \ r r \ F     L = + + )]Q X P&- T e,6.MW^gw'3;5"4B[T b + ,,X&SiiS=&Z= 3 0$SllV@@VV_&i F : +| + + C Y p p C  + +f +: +: +$ +$ + + + + \ 0  S=&====&I33Iu=     `  + +    x,/KV0Fh4 @\ e 1 +T + 8 xb"3 &=SS==$  f.]lllVV@VVlIS 0 r +P + + + - Y p Y -  + + + + + + + +| +f +P +: +$ + \ 0  S&&=&_3Iu=iii0 l s + +l &:,| r 4 ] g s 3 _ TVOw+ }t H=a/71U_= %  V + XB""b:sL&=]]FPf0=lllllllVVVVVlI=i 0 : +| + +  - Y p p Y C - - - C C -   + + + +| +P +$ + F i=&&IIu=i==&SSi====i 0 1 + +9 l uS O + * >b<5"gAY!M*G&.BU{Pqs$ | +"x$FpZ:"Xz#d9llVVVVVlllVVVl_&S \ P + + + - C p Y - -   + +f + + 0 ==&cIu=i==SiS=&&==i6 s +& ; _ } ! #C! 6H[o{b5sLLZH}  - +u nN + + N,lll  z5^8lVVVVVVllllllI==i0 : +| + + - Y ! ! ! ! ! 7 M M M M 7 ! p Y  +| + + 0 i==- O3Iu=Siii=&=&&==iH +o 1  ]HmH p  6 L F 8 $ "=v vT ADD?/SE ~ +r + + + +[ + E : $  xb    ;{FlVV@@VVllllll3_=S F +P + + - Y ! 7 M M M y c ! - +f + 0 iB:O3I_u&==SS=&=Si ` + ! S >3kw @ < 1 \  6."OPG  !6!7! H " + gQ:J +  \ "  8 l5 H u X  [/rllVVVVVVlllI&=0 : + + C p 7 M c y  * *  y M ! Y  +: + r 0  {ZJ:I3I__&====&=i 2 @ +  ! ~ M.l U  <  t |nyN !e!n!k!)! Z > + z C1j4H R B +S  x + + S " 3 % C PllVVVVllI_&S \ : +| + +- p ! 7 c y * m W @ * c 7 C +| +$ + \ 0 {kZJ*&&&<P f +T N ( >r\{ d Y : U=8\?Cc !!!!! Z |_GPi16 h f Y b +L U +u + _ u R + +P +L +Z +  %llVVVlll3Iu=0 +f + + Y M y * W W  y M ! C  +P + + D {G=&===&u(@&  + + 2 / bs=iht v J @ XqZt#^"  #!!%"!a!7! J A TB6HOW$ O [k78 + +<  w X +Q + g K + !lllllllloppomII_&i r : + + C 7 y @ m m * y 7 C  + +P +: +: + + V =i&&=SS=uuuG:  + + 4  u ~K OmW |G1QLm` r!"^"!J!~!0! P ~o_<* C } P L   Z  J 3 2  T G 9  +llllllllllllmmXWVVllIIu=0 $ + + + Y ! c  @ m * y M ! Y   + + +| +f +P +$ + h < < M f \ 0 F  S=&=iiiS&P. + + +  a g uG[eOVYLKTp&z +!!="D"!!!d!! ,   tKmI/sZO 9Zm H wU/c (  7 m   plllllVVVVVlllllllVVVVVV@VVl3Iu&i +| + + - p M @ m @  c 7 p -   + + + + +f +: + F  F  i=S===T' + +L R , ?Zn&4a^rysK\!=zO ?!"##""k"! Gnjs6--t_.pl #9yF > tllllkgWUVVVVlllllllVVVV@VV@@@@@Vlll3I__uu=F : +f + + + C M y @ W * y c c 7 ! ! p Y Y C C   + + +| +P +C  + +: + + F 0  == &>eE $ +i + + F Ed +X.K !T"""#########"I"!O! !  + Zl-r! +`P1x  +llVVVVVllllllllllVVVVVVVV@@@@Vllllll3IIIIIuS r $ +: +| + + + Y 7 c  W W * y c c y y c 7 -  + + + + p C  +| +f +: + + r 0 i==&)AoD  +; +u + +p X z FLBx[b  )y y |!!"############"/"!`!H!)!! &  > 9 `II399#Z lVVVVllllllllllllllllVVV@@VVllllll3IIII_i0 r $ +: +P +| + + + Y 7 * m m @ y c c 7 ! M M 7 Y C  - -  Y  + + +f +: + \  =&&&==PZ| 8 s  +[ + + | /W H t  X +Y4b!!"""############"k"!!!r!Y!"! 1 >  Jd ```*K/wKa((dn klVVVlllllllllllllVVVV@VVVVVVlIIIu0 $ +: +P +f + + + + p ! y * W W  @ W m W @  c     s ' C -   +| +P + + \  ii=S=&&&=@3e   5 l + + 6i  C + .lba k!"##############"V"2"!!!x!!  K |@``si9eeOH>k2t^  lllllllllllllVVV@@@@@@VVl3I_u& F +: +: +P +| +| + + C ! c * W m W * y y * m W @ @ ' Y Y C  +| +: + 0 i======bz/ E A @ 7 0 I : m g +   =V,b v +@ +b r0UU(Iw !"##############"""Z"."!!!6! X C  X 3&OoooYh2t;hht`QF 3mmllllllVVlll`@@VllIuS r $ +: +P +f +f + + +- p ! c @ @ @ c c c y W 444 l 3      U  ! C  +f + F 0  i====SW: t { d G 6 F y u +W U r }(r p +@ +  + f,j r!"##############""#""J" "!a! j K 3 'Mi, +;;^T^ U $P=]wtnllVVlL, @ ll_=F +: +P +P +f + + + p M  *  y c M M c * Jv`J4 l T r r { { c ! Y  | +: + r \ 0  SSS==J j K ?  - F q W +x |   K + f + sL !""###############I##"""!A! t N c  3X Vy +  6  +qRhQt j +4,5G$ll,lIu& r +: +P +f + + + + Y 7 y y y M c y  m JvG M ! p - +: + r  iiS=i ` D  H < f E +] c  R e + k y ;P3>6* !g"""#############:#u#*#"""!/! V c F '=.b 66666[;2F+ ++ zssuN$zZ::"b@ V I=F +: +P +| + + +  Y M y @ =T=='?   * y ! - +P + F  SiilQ | q @ E a V v F +5 y :]_c 0 + +m J t 1 8 % T<N !""#############F#u#2#""""G! ^ 9tTj/H>666e--m-ht* k v + LB l NdzZ:Dv6L3_S F +: +P +| + + + +  C p ! M c  W v=jjT'5$/G?2 @ y  +f + + \  iiVF Z * + + + k ^ ` +   + { j 7 +z '_\i4 !`""""#########N#c##o#3##"S"!@! h ? @{H>6omvV~R =  $ $ D +d + + , SXDZq:nbvVVx'I_i \ +: +: +f +| + + + +  - C ! c y * W `=jjjT=''N9BW|vW5 W y p  +P + + F  ii\g Q  +c +^ +P +9 + : + Dk +W + + < + + BZi !""""#########H#d#r#\#4#"""! J  Z'p Z6V`V u 8 0 Z d  +=}@"qggdDd l B]iu&i F +: +P +| + + + + + + +  - p ! c * 4v'TTjjjjT==='R m M C  +P + + \  iS>^r' < + + + +u +i + + + +$ +s + } y RL 9 x w  + +C "it !"5""""#######*#A#H#j#S#'#"7"!! *  .1z@vqvvm Rt| ^   + u + + R + F 9  + =yK] Z z  LBXz&i \ +: +P + + + + + + + + + +  Y p ! c m Jv'==T=TjjjjTTTTT>\m M Y  +P + + F 0 iS=AR~ 0 = + +  + +O +@ +J +% +< +P +Q + + + @rQ _  & tDi`E |!"+"S"""####""#8#>#A#7#R#*#""! { d ^ 9 U Z I%tQ$6M5 + +~ +? T  =   +{ REG  + : xXb"bBXD _L$0=0 r $ +P +| + + + + + + + + + +  C Y ! c @ Jv''=====TjTjjsnm 7 - + +f +$ + r 0 =VF[ M * + + +<  +` +E +d +e +} + + + +. ' 1 C_Z< '  b C<c3`?!!'"G"e"""""""" #?#?#@#7###f"!D! h   K<A^v +O MRkw. ] +z + C ^ + jfwb80dq S i +s + g  X8"B n  ?  \ +: +| + + + +    + + + +  C ! y m 4`'''''=TjL-"k* 7 C  +f +: + + F   }y Y D +~ + + + +B +V +` + + + + +( n1(EF ` F!!="H"}""d"a""" #@#@#@#@#<##""!8! v   %T-bv6@j^;9- + + a8 " bW V   +i +I +     8 dg ]  k . | $ +: +| + + + +  -    + + +  C p 7 J''jZOS* p  +| +P +: + r \ 0   N w  +; +r + + + +? + +4 +_ + + + +J Z%s#qU +;3`@` ! !!!!@"`"""" #@#@#@#@#=# +#""!K! k    Ag|T,-v@>1-~!b % Y +- ]e ljJ Y +A +X + + ] + + +u + /  +x   + X  G  P +S +  + +$ +P +| + + +   C Y C C -  + + + - Y M * `'j1112 M C  +| +: +: + r F 0 0  9 J | +i +J +R + +e +$ +  +G +S + + + p W \kme   !@!! "`"""" #@#@#@#@#>#"v""!! m >  6k*g36qtCOM u ; P +<9 U % + +B +d + +l  - O + P + X 8 +N +D :  3 n + +d +f +_ +A +Z +| + + +  C Y p p p C  + + + - Y c @ `'T1]]sf ! - + +P +$ +$ + r \ 0 0 0 , ? F  +0 +l +d +{ + +U +A +; +  +Z + + +X 4 < "}Lo(^XG,| B  !! "`""" #@#@#@#@#=#/#"""U!! ~ C S  @$R/_/vq/E;1'Yh^>W  { +Z L9  j F : + ' ! g ) . ? 8 % F ( +  +G + K + +p | + + + + + - Y p p Y -     C p c @ `T]sPoJ" h d p  +P +P +$ + + r \ F 2 ` T + + + + + + + +r +0 +  +6 +l + + z ^qI*'T$6 7(^gI m @! "`""" #@#@#@#@#8##">"!)!! ) ! Ai^vE&o~Ta * p z " + f  +l d n 5  + p`n   + ' V S + +] +X + + + +$ +z + + + Y Y C    - Y ! y @ Jvv=jj1sP;   p  +| +P +: +: + + r \ H  +H + + + ? + + +z +- + : +A +e +} + + . Q>O%<<  gQ2@S !`""" #@#@#@#=##""! !%! s 1 6f /uU`q/ I|E/RH>hn  M +j +m +\ + + + + + V l i g o + G + + +@ +} + +F + + + + + + +n ! + + + Y p C   - Y p ! y @ Jvvv'=TjT*^# 5 - + +f +: +: + + r r G 1 + + +& = b + + + +t +N + +E +l +u + + += W Gf'btKedpTygh ! "`"" #@#@#@#3##"!! u 8 wd&K^F\q  =6[E{EA  + +) X O D  X   + + +} + Y p >  \ , +D Q +8 + _   +h +] + + +z + +z  W : + +- ! ! C - C Y 7 y W J`v`'====5 W 1 v +| +f +: +: +$ + + r t 8 + + +1 1 6 + +~ + +y +U +| + + + + kg6Arb}q^wa'IWZ-%; !!J"z""# # #"""'! m   J<Cu`9 =P1s1+ +qE5A  + +H ` 0 = k  D  y s a +  + +X  O G X y +| + + i + m +- M M 7 p C Y p M @ 4`v=''''T'4 + ` +: +$ + + + s + + + + + + +{ + +} + + + + + z  b ["S7o"Qa^ 7~fVt _!!%"""""C""!D & bjFel+vV_a=4Aqwa5. $ % Q XHo^*T h  i  +, +i += + [ v +@ + +0 t F W A 7 y y M p M * W `'''''T}  < } + + b + + + + + + + +` +s + + + + + +8 q  *^ 8+f=XX*1 !S"`"`" " z + eVqqrUjRY$ETO2  { d l p Q : Fa c ?R;  < 2 ~ ) = +^ + + a V5 $ Vl f +_  M 7 7 y @ J`'==='TT . Z +G +  +X +k +p + +N +J +] +[ + + + + + J %v)A *>!<X$P@S)50 q!!!! nMAw @xpA +QFjo{q/h^&?^   f p  5 @ P  q + +d + + iub} + y   s a y ! ! M @ 4``v'=T=====Tj A  F +5 +  +/ +u +X +g +a +k +} + +  -  G x  WzN.8lKW_NMhXi+Y8` h vU0zxxY<Sj3>U ,h%~0scPA H }  =  " : o 3   + +A +p f~MWL 6 + +W i j m M 7 ! ! 7 c y @ 4JJvv''TTjT==T=j0 : y 0 + r ! + +c +o +] +J +} + + + + L 3 i ?  C R T 4D7'0\H|T]M +@oo0 "v>vvNR}[=bq!ERhDRo/| '   7 +# +l~0's ^ + +g 8  y    y c M M c y y m J``v==jjjTT=T=T 0 k L + \ r r r 1 +" +Q +e +r + + + + +8 2 S   : p a D fR?]%_# O 4 +v6@*'vvS;r D#HOW@AuK4RgM?'> { . 7 9 "  i2;1k % , +| + +w q + B @  y W 4Jvv'''==TjjjTjS>= Q s + + F F 0 F r r +: +Q +R +} +| + + + +7 V } K \~"d ; = `'}Y$|(E 3i nIY5) T^1vv\F\L~5Jgz3~D:B=0} 8 +i n + + ")&{YF S  + + + ) ]U{ [ ?  6 9 ( y y y y  W 4`v'====TTjjfR?*| - + \ 0 0 0 F F +: +: +| + + + + : [ = W^" ;  > LK]jJTL+*7H.K&$T4{EE{YLO~nFHas- h>s} 8    + +\ + - + +% )  ( + zBWHY#~A.` 0 ++ + +Q e 7W W  4 6 2 y c M c y  W Jv''TT=T=jjdd?? H  v +r 0 0   0 \ $ +P + + + + + C I  ]  R  < K^=0^1c ;lh]A 2GQ~v<8Qy +eI$mmMM--- g  I +$ + i  + + O e + u I Z y=Uf2 + + + Z u oq \    c M ! ! 7 M * 4'=TjTTTTjgO<#u R  ? +\ 0   0 F \ +: +f + +  C Y p <  dc f + p wRw1xAl_Nm lR%'4J'^j`"1XPYI\1`MMM h^m} A Z + Y 7  6 + * +    xc) r + \ + r a  X $  9 * 4v'=TjTTTTjjjeL" P 3 3 z + +F 0 0 0 0 r : +: +| + + C ! z  T]. 8 : ^' u`pQT-!zc7@c@V@*4`Y5:vC,?5GH 6}qmLK,T,Q! b     +_ B X N + + +A +  +f  + n k +D fj J ;  ; `  m 4v'TjjTjTjjjjQ:z j P B  o  +r \ \ F +$ +: +: + + + ! 9 ]+SO l >pYw-p#$'nDd/_yzIQy[666 KpI#.[ EWXgMmMMMMlLMmLKkK a) ^Kt +3 *h : +_ +q + W  +i A + - f ^ W < P -   E | @ 4'==jjTTTTTT=$ ] M J   j + r $ +: +P + + Y c . Cdb#I( oHF<Z= Y<F&#IbE aOqm9?e)^%C"y0=UM-  kiH+wa9*Ed2 +*U{ + + +} +  +p } bH c +\ M + $ 5 > c ! 4 h L J''''=jjjjT=T=T' s 5 f  C + r +: +P + + p M   NC ZyxZ[Si`}_G:kj/"Pv;jmM   9G(Rh '  ,<u +z + +Y [  +q c m" 5 & +   ' +i  r Mft- #  n # `''=='====T=T=T''r  / d  p ' +: + + + \ r : +| + + p c A e Ac.T{+My J,l=" J,~2~[ VV( z(0[4IbEVkML)7  Z q +; -  + g  J [@G +e + V + + +   7>  K ! ! 7 @ J'===''''=====''|8 L I + x . + + + + + + + r \ r r +f + + +- @ 7@AH{?F"4mhy z&ZS\A~8z/ Q2*~D7Q3 NQIj)'  -!ewGz z sECD:_p  _ q ^-+@ W +l + , + + H u yH  ! 7 7 M c , `'=T''''=='' i ~ 9 T += + + + + + r $ +P + + + p M  m 2;}%cThD`[/D;(:dhD)og;yK$g%Z6 (H4 if=Qjj3 8 +JFFFfV /   & H + Hcl  + +M + +! +W + + ( K M  ( r  7 M y M ? 4v=T=T' +-J" v  C  +i + +: +f + + + p ! @ Jz +E_HHiSlJAp"J9{p>xb5&`E a: dVril/* 2H%c!4";IjnF&5*%Ce=H(w k z *   ~a T : < +OS h . +I +8 +O + + +\  7   8 a y y " W 4v=TT''''-ZjgT M  + + + + + +$ +: +| + +  Y p c * W 3VF#N%/')lE}&LP<`|Kf?: %IVl oUH7k~X~JH^n e + i cX S o T Kkn( O) 4 + ++ +L + + + + +~  C P | | X # a  @ v=Tj''='_L4  | S  + + + +$ + +: +$ +$ +: +f + + + C M y * m > /2]! RgKw/HuoZ8&!9)f,D7\aOO.[l 24W`o>Rm IKCl<:@Ya?2>(.D W p   o + dWs= 3 0 B +} `].y.  s +G +R +H + + + + ^ k 0F q  % ^ W 4v=TT='''==;;>b ` m # + + + +$ + +: +: +: +P +P + + + Y M @ a1JOq! I  C5bU\>+vJs4R*|t6yM = %A\&rbHk(h# E q 2 0 i dB? . N  +@ 6 q"a  E & +^ +* +4 +T + + + + +H K W R  J  K w  m `'=T=''=T=='TRV  B  + $ +: +: +: +f +f +f + + + p ! * @ +LLL`rYa({/I* m"RAS? +=Ip&Jd1\`#f3fshL:4:4'LG@X$W:& H5 A B { ? V ` ? 0 +3 + zt< + m +U + +E + + E + +! +m +z + + A W  \  h L M w  m `'=jTjTTjTT- Q  _ - + : +: +: +P +P +| + + + C 7 m 4,?7fG73X;3HqdxUOj'-7mB]%y`VSS,G]p\  qoj )j(U-HkZ d d + +a +s + + +: +  + + K *uY +N +! +7 + + + +k +w +d + +( K 7  0 Q u c T S { * 4v'=TjJ;# q  x 8 + + +$ +: +P +f + + + C p !  m JgA`Jw5C>V[06_Dm6=w %R,Y~=xZH4NrJ+EHVnN++Kes?[N--  >o f z / ?  " =   +7 +4 Y/ u K z +4 +  + + 3 + +v +a + + \ u w 9 +   y c M !  : m  m Tj&gm> 82 - ^ h +$ +$ +$ +: +: +f + + - ! * m 4vZ6@{]zjs?!avf|,%[`@01w_]W`=lypv[clc/+  KKET?0mg|wQ+8! m--M- = F % d - m W   E + A@w` + +  +g +z + +u + +D f K ! 7  U  M 7   c  m J'T6Eh7  k . h +$ +: +$ +P +f + + - p c W m-VBU/ +.FGOr9I'0qYgbG>7S g:fk_>uy~,+  +JJ!/9kIBP}[VrMMMm---Hz8} A t O ) mVI% +}  +| + + + + + +m < _  M 7 M * `TjG]H'*t + \ 1 3 P +: +: +: +P +| + + Y M >gbb5) Zt"G,N5 d:[oa_oVa""E{XObzrk *)&.+)'g@/#+;KeU[_MmMMM-^d+^ O k [ ^$P / { Kv?G G + > +o + +Q + + +? P ( YuS!  y 7 C - -  C M * `Tj]s-h1 J n , # +f +: +: +P +| + + C y * E=Yn +U[H +D B5)\L48KZl%3;g[/W4q_G 7qtm-,  +D@9h>Y- +TY-mm 2k&Y5i + + | y V b _ F , g N +F +V + + + + ~ R h  V  D | +C y Y    + C M  `'j1Gpv   + +f +f +| + + + 7 W J;T5JrQsCHO*8,n[1:.HVe*{oV a b o g m   4&E- --MmM t^(g w 'JC @ Km:? t m + 1 a N l s , x )A 7 C  + + + + - 7 * m 1]} g 7 Y  +| + + + + - p y m kJ.Y<VW}`7Z=SNCkSq +/EXpm_fMW) b K -i@"-mmm-*#q^-TO22-MMMm >TPt,  g s qKQ" Q p +Z !4[mv { & ? ] ~ >| ~ m y 7 p Y  + + + + + C ! jinhpf E  -  + + + + C 4`M ?pp$NJIx \lObNrui8 FTr k5cjTCp L 1duJ MmM-\?8(UZSMM$vl2,MmMM^7U$( 0` S a & p c ' | [ l 34 S ) %   7 Y  + +| + + +  Y 7  =A]aL4  N ~    +  C 7  J`@HCn<kawAuJ^5@kGKYawfXWF+5\  Q  A "\_Qn-mm K}, MM-2khu9vlP xLG7 )] n V ! - 5 ; 6 _> ~ F O <  7 Y -  + + + + +  - p 7 * vT-eeYL/9 i & -    +  C 7 * W J PqaIociwj7,DSdr^<=l 9@@@H/*z"2L\JkI  9 7 F & m S _oX|Mcv-ml,, Ix, -#qgwI?O tNJ#O-  ;  S w z [  e y | R (  2 h c ! Y   + + + + +  - p M m 1iS+%7t  R Y    +  - ! y  m 4" w|-?OpxX{S \I  '@@@@z/TQbe;IJ~3al * ; @ 1 s } a#R _b:7aW LlL-1/$ Cq *Xu3fjD6U^}y ^ i = K I y ` )  0 `J\! e ! Y   + + + + + + + Y ! @ JT]|v/+=8 | R C - -     C p y m 4&H]Ca-ne94VFB -6/@@@@IeSO#R [ U I  } Z 4 K <~ s2~_I[MLlL  +-gH(ZlRvt/`f\hMax{+T"\{4x | a O _  Tjh -   + + + + + + +- c W ']B::S  P Y - C - - -  - p M * %L6o|#IJxroYt#B?L*;@@@@yYRR {  a A 8 *  8 bK7 %OH ,lL &'[2U'_hnA4p'i^K*M+E4C*p.a )iy`[C (/ M ! Y C   + + + + + Y c  jGxnT7zF * C Y C C - C   - Hi@5*%P,ALs+2jW@@@@@@@:+}un/ i $ 0 +  ' F < 5meM +*  LL  s2(:3["siP:um4~}Gp{N.?u~`F$f(SnNMJH M p Y -  + + + + + Y c * `'1sst8H%q v  p Y Y C -     C M u !P*Tk/-vjeip)^t`@@@@@@@1^+/ogzF R o  , + + + +   w U G +(+ LJ +#}~OaX}5W4 +}ro;X0rn<v!GS*HMt&Om:m3Xc4  M Y -   + + + +- ! 7 y 4T1]ssaN7 ] p  C   + + - V 3Oryx)1b! @@V@@@@@=3b3, K @ ; + + + + + C 8 O 7 >_/ %  *(/'{hbd6[ TDI~]3GYFU=U6f-$aLH;  m @  Y -   + + + C ! c y @ vjG1G_G& +d  E -    +  Y 7 <WV3n5><Ry-<>SOH@@@@@;u"48`o  : H  + + + + + $ Q S ? r#  +s`\P>b~5~/F"+f!fS fVy3 k4`i+-D#h{g_kW549ut * M -  + + + - Y ! ! M M '\3 z ) m ; !  + + + + Y p Z -CW23"4;C@A@@@@#,7%;8 + c P + + + + + + + ' 8 d } +NU<*--,~>%7x?cs?xZMnC^KIZ[ !>p$8j}v` m c C      Y p ! 7 c W v=z H - u P + + + + - Y ` B *6CH<F O!;0G.Ng&9>95<@!9s\  '($JTX I + + + + + + + + + +& G K  `l.4%LmMkC0frGd\3a wP qU 4Jsv4  y Y C -    C p M  n k 2  l  9 # @ a r L [kqwp'%45 xAE~ ' " n + + + + + + + + + C A Z Cd/%+m]{PrFxP%;\-Lq$sP,H.B3n*DS*kZ,-.g QuBXf` W M p - C C p ! M  W `Ed % y S 1  m +d_Hu"vFP|Z+u?/Oq^7HM47Y`< p + +~ +| +R + + + + +6 C J R zr  + F(":r j'aZN$*3S?0uG6NtE"y7^QJ * 7 p p ! M W `Hu( 4 )  p A ! + N m z  C3 usEHk1h 5Nu)r#Av.VPM$>p4! A C + +o + + + + + +' : 9 H ; }i=gB q0D$#\f bSh&3iq&T.?-%p(tmbt% :`|[i*4 * y ! ! y W `XGn3z | 2 d  ; )/6o"Meq8x&TNw%i =aLl]  I I ` + + + + + + . D Y Ri8Av^_ii c6!!_?y + 2#qpdyvb^ +q>Q.i]!(GJ;4 @ c ! M y m `N: u ". _  5 v Cu{z^22_/L!&"LbtE[/r8m*s C  + + + + + D ?sJDTaaTA9v}OKcj/&?A^<D* 0/ c7S[ F6o{?5SX += )IkIiUxQUd4 W c 7 7 `eJ<: $^L "  Q>}c_#7*eeIi+e~|"p&$ !BZ ] + + + + M 4AAx==3)N`(!Jo!.;X49"Q&":AWRy}RU$sM l t9d-oI 4` @ y M M * '6} I Lo2 R^ ] l @ux^bP~&fw&[buX;o> !k +c][   + 15kk3 -0A!`<:ihi5'+0> [OEq yWy\Ja_m ,.sc_V= mO4RGv4 m y ! M  W `Ts =isG,4 f+2* LFP{^8MyT5)[,eR@vfrnjBYZ5<3c?Q X - 6 vGNy+#" d<g- m@>h < LK~{bL6MmctW(0M ]|J m * c ! ! ! 7 @ 4']bPl XWmIME[Wy`=C<W9}uIL8% f$R}}6uHgcfh_fYGD2G t V aY4aB}TQ@6&<*"?gb  (g@T~wm!##Y)[ikm0 }4 * c 7 ! 7 M 7 M W 4'GQ2x | we<pb~.jiSBR(cBXLJRR,_a+Is; # * `g5(e^c]. j,Q\~aNTGKC4gV  C *Sa^81:"CY/)`q ;;]` W y M y c c y @ 4j1QE- 2 x r+ IR at=vu[du U&vD 5B!4w 0i~\y|TwT}=}>A\W|783&iSg8WN6o vg  L=!#e.6DfNecjv4 m y y @ jDud d H61+ A/uqhO6/bHX :A`\[y#5v^)_,',k=]=b!a0=JTe]GNqNgLcJ! P]L[9Ra'KLW^N!mv4 m * * jGQ.)G E{ 9zN=b(3)zpo@}w]NG~o`>[E[{1@g + +B}t5UqDAw(k.Yk# bd<O@_jkv:2'Kdy tqK&VA1m(V` W *  *   * m vj}p.[?6;d/ s0S*R?g %Dl:N1Qq:'#$4P,GvX' He-~t M[J(.*dEM"{'$B~Qr,M;U6:}CRXF <MVe ({>v[G<WaH3/"D}QJ m m @ m * @ m 4TGQ"N,V6mD w=CXM#se]{}2Wrsuyh@uWqks9 3bq:.0Y}d?o(WSXf}{elgcrT5aTDSt'n4DoS>^446AVNXY MJfxaFz24 m m s;}8daz\X"q71v 8aCBT*BA)oSOL4#:F\(-.8yRK~M+!9]Lo +)|&TTr\.8=HN3& $zcp:'M}}L$0Z>1=J>P@QcRHh^  m  &\JNJ JjsQ."ddX6wFEo$A^ ey}-Hla/H)4_'Zx$LP oVqD(5wjWu 9kf(J;DcUID3$*0iDz'&?Q:( cL{^AFNJJct~oc--r%.]vJ JG$Q}D"Nb=m):DB7v3lo  t j K`I[RZ%<QF3;+]`q oA_;vX/`(hdXfhVZyucN;-+YwQsO SK@Vx x J  ;c*`t8pHE{~m-h@x 44vjs;}D8N=-)  '.&A4sf q 2 0 < 3 : }i0s[X7)r.!^#! dJxb7PO;sm?J]Y ktRLK;Rz}T>(4<Q?jQ|mI  &     q 0REOR&E;2h~CmM!z G<< 4`'1gD8;-*G ,  8q E=^u [ 3"4@<)s<5PMk^+8i.#SB6EUf_A"{nIoe5-2_n12u C9Y3kM + + +l + + yj.oS:t2H>h[O#M-7 p Rf44J`]QQ.8;* '4%N@ +2 TBzrP/CI< K   3 P c NV[(/G*+gvCvU <to@Zb'.A/(a#YNKGB:0 T!5f\/;L]Ap\!)"pk'|UV + + +O b $ 30TtmMC9[;c-  t)2,``4J4`'sQ."[pZZJI88[% 8 H U j V n H?eCet2G bCNW=wM};E/F#5fJ jNWDV%(|">Ufyj94hK;QZ@ @ 1 ? N $ 3ttm OEe# Mh6)xjw`J`J``};Qgp8<DR?aj3K+s>F 5  ( ,  c ] { SbZf2R'{\/GmF)sga!.l;K#}f9&&\c;!&D* kLG* +F.^}ay \ ya?t* m Mc#/o9m MwzO<6JvvvQ8[}Q.87@'P gcUj>psV a G 8 % W  { q9hvj5T;lZ=PYktcNJL\;nc?KP61Ew`x@QY}7 BC |}!BVa  i`1w1/& `2E%^m mXOCC ;.&u8$4J18Eg;D"N%J^&pY4)}  &   ! j R k U&&@N2D#!Pi\7^znO@-e   gXfVN1V,fmx}u):yf%snH*7p,V1[ K w}t{c+0C#- m-w>|\vK!4`v1g O[gQD"[[@ C*gQa' L T u = K h J J - }$uCU4 1bXk3QRY n=U5.B80Xo:DSF="/X^f5 d5Len4% hY#et qhbe h^`4J4Jv%Q};]QDa//yTZ kE_ +E  { | J ' @ u - ;>Tu Mj|EI ?dpE&Y~\b *&<fp}>qMY!P J UusJFV 8( QSliPD6PW%clxi Uv````;}1s$}.Dg.,{bb5^ y.5 Y `  $ b TTs,:H3$<Ne) (b~xFK 8Q%B6"gk6XlX)?;f*:`.Xhrkd&t (1Hg/iy^vO6[PVA({1]gDpK<;$biA5 h 1 +  - [ K J  P ^ T"}"Jvg<a:G.b=_al"i, +P3CTe~#CnY<?e}CSV8v0m>V`yV Ht}t22b:*}k$a}fzHl*@c#YGs;Qg.DD.fDiL8*MdipJ@   8  r A^fP]_o{aW)W>tdS|1-ZV;j|.(1 /FYz<ql5HH\MB4r/7eYHUO>t^;^m-Ai<<MsA_;|s&9WWtLCy]$Qg.d2}g7<4SsXH9:->$> E } J z b T  F^C;@(hrooxrx''MKUt~ e2xFNn{JIrl|?~"1z)7!z^t}M /0VI>^"q{-s~h~j6Y1;Q}.fP4&uN6jV/1C,j k B < P " { > 4T|#yu#~+v'dolG,tWXueecF\m cnv^x]!#s8R]%@~_ mHm-mCDNa+lMBF`GDg1hHJ /etjs;}[+  +mZ4-@>IJ ;  + ( q y u h @ 6 l 8.TH 3"9osih-Fk'DJ,ttZ}_spOWbfeQ| kYPr`=|w!wO&=UY|HM cp>x5T^yTnhqt``1]Ts$g}}exgM;$sRE4.X4 |Xx% O + + + + + + ++ v d g vdE\ 4xA"LXyd,%$,FNH  #t-U)x{8K2V/Z9p7m-2_]w##y2^  P_ r[mEY^C4O4sTt(e;h>'=TG;}}}}gQ;%+XmgO::u?x[~" ]D%QA`& + +l +? +d +r +Y +f + + + Y  [ u v | -A8'I!1 @i-uHIh   X v zjbZ'>2Y"pgnK{C## '5NMcc#yH^ttm ~-9'aLs)[7j|Ng`~eOet`'jG$$$$+XstvlN! <$i<) +M +C +' +A +Y +: +f + + + C p   M ` G L q k_0 +hU,P\ukr[ dx +<  ~ ,v?Em{r\A1BrTC##bCCc2H%%mMm$puu0"K!Ul$WTJlT ^O/Eq^Jvv=j]sXF&5* (0 +R +  +: +: +: +| + +  Y p  V F 4 #  z S?"jYiFsFZ6)i \ + P rGU#s2M$}pV(>(k##_bCc##HT<n^;M7(H\z oOEq^4JJ``vvT11GG[XVMN=5XyRn w `A * ' + + +: +: +f + +  - p   _ y ~ K  F Ae2YWWsZGigL X + &_K9{; 3cDOz6>>kc{CCcC>Z^ MWW7\ M8p'#BLdxxq[[EO/%;( vjTj PqUSwBJ;'o_",M \ + p *&+* % ] +f +F +f +P + + + - p   _ b  c H A C[%LfYq}N1<iQf 4 ` hvqBer@?%"ESTw]?;k"4OwcyYcCM#>BTMjtFS>|bX{LuaFHG7CLE %% v='=TTjjFDxwgyl;iXa  ;(L  a + + +h + + + -  s 6 g v 0 dWMsQF7brXT+z"ryXf : 2'6Ysc!&=&12*8=nAthtXh~aMm##-J# +lm]=S>F[qd' m W W v''=jf*{xxrj/mCBBU 2 "s  I x 2 + + +  C !  4K-  ?  !YU|kRh#k-A)HC]gw ,XkN9-<[6#m- FR>!h1i"gX PuUUY' m k X X X W m m W m W *  * W Jv'T PziiyxXW3 k t j *  f T _ 7  - p y ? 4aeo{tn <  ) X ?t4]nK!j!B$q}k(>\ZFNf?d (h5#CC-kKAWEfO(>nf F 5>UU W W W D D /    * * * @ * @ J`v=j1ma_XP(iO4& g F 5 n B   E   y p ! 7 h 6x' C    ( / E s|`h98kIX2;CRqAr1 k   - 'i%,,YccAW" fQ+f   xN h K Y + G ` * *    * J``'j]Xh[N5y( +   L q / 4 R r w o  M / .k,b05 i Z B F J J 5 %bC}ZWe>zOg0{=sp[z + +Y +h + + (hSyCKlcCwFIF* { p [ ++A$c)6OY Q S y o < x | o  }  @ 4`vv=jG:u|sl2>J = ` z O * B 0 q x ^ -  ! c E | Df""Ju p R P P u KEIj-BCNV*+-IylUKS%AU]|  +f + + +Z + +n xsx~I](%f`/ n , U !S=>I} Q ) + 6 ~ y w z Y B @ ) ! = i  @ m 4`vTG/qD[h6 H X     ? z 0  #  ! M c  P | :itjm o k: SN05n"r]9+D(sez[0 +^ +, + + +, + + ro6!1<z98tlu p ,  ?=   A $ D e B  g l t g F 9  . I Y  @ 4`v'T],u+C\q e ( ;  + : G x `  P ^ * e G s Z7vK$ Cp0xnI~&f=i $ZHuX<7sX:|; yW2 +m + + + +* +[ + + P u9bDb[ t<w  , -TPY&>   =r6 : /- H V r s J 3   9 * m J`'T1s5|m#{O{/  ^ M  : Q t w s n z   N "/bSNvl&!1Y;":,}1 +){g$V 5#&rv|s.  +y +$ +F +: +l + +# e q_ ;t > iVs6Ip#qzW o w P{ r & ~ q K   W * W 4`=1;6v3Q  I ? ] Y |  ) X w Y X f   T e +y<R{2VrUCwq sQ;W"='t +jpD$  5 + +_ +] +u + ++   "Ko5 @   H};ks &B(zY+E . S j#  m^7e#0 B | s 4   r / y  @ m `T1$^}F)w!P x , ? t O  7 l r | z e I J   AS>6}kw? if"IAZY/}}^w|s`] p 1 +r + + ++ < } |{mD5Y8S f  xXc;,Wv`U# =  r S  @ uQ)T u z U . u ` ` j j ! c  * W 4v=1Q.ax=p r E ` j -SC/B ?AR&i %v v &%L&\`ULhm,o)$r$5sniZQT+<x  + +' I  " -y='E g A PK`>6Q% + 5 i 7x O l +Y<5 ^ ^ K  K % (  + N h 9 s @ m JT`  ]KQ^t5 N !ms jG  ,5GqmPao &2. "\N!b~ZH/<cLr~zutsbV U0gUV 8  \ ; @  ; Ksn``{T >tQ~I$=k +DT3   8 P / + Hs  F 8 { ] < + + + + +( 7 O * m Jv=zjqw0|I/[1 eV>acp7o4g[ ,<(VLL[I{D4s~HxjL[R)K D%|JjA|wxVW "Spw{twxiR55x!#UmP  ] H  r x F 4 jTFPggq Qrb/'pZs4]eQj/' e #9Y# q rT( 0 W W + +n +z +m + + + # 0 i M J!g10'T9|BA~{1(>q9*F<1)S)REP`o@!JV6UJJO0RNZirwgazCv3H a z ( cM.#5G~Y "Sw<qbr3"zqSH +U w PM5%. v ;i} |F k { S r c p N  +D + +5 +U + +N  . `  f 4GnG@\*rZrQB +T {k!N^\iX}QV 8N=>9^#|Y g# +Q.[.jMQ(fHer _oW  + ^! 2 c(#Svd O"g:  r'U DoURr u ` J \ S C + +- + +  + +* 0 ` @ +`T }[l;/*0k]I,aD)#}+&54?"Ui%|z|,Vs$rs)b>eJ!$_iJJxikC[ZhypF{w7 0{hW>*6l"$j  6 !nHO $rEt} t ` L H ` A + + + + +  0 ` @ JTP40oI`R jbV^a14|fM[gridQwl['^P~c=K)8X' <f-CWb 5@[iPw\  C  T|xW;N_i_w3iW.n4 d D l g5  : L S i Y i  +q +3 + + +| + + S S $ g).k</l,)L\C/-MzR@`|$D:*MX +`=5;D: ;) aoi1rwzwCW2+dCu_% TB'<Zk|\EMb/5 a MKrR.7q"D Me" K bc ` p y W G + +Y +E + +9 8 V @ i*]ppcfc+ve7N)qvG {=iU}SMf  J5mf.2=oe$5JmVbc7zqe=0up!+rYgNz0:a1pr/  Um~1zx`mlX,~Jp  - = < ` u LAKq 9 Q `  Q ) +  Z ; M ! v v3j+E{ w4}:Q@|~<$)Uu--LXxnx{0Z$ eHt&&=??HW\7.1v&h!$*+=I>#e  (( (?.13='x4 MTaOoIvs[uEi , u  Tcf b <V 9 m | v 4 D y  X j }0zJ7bkd*OvM B_} a q>Z\ +d~ #[?ebT2%63/(DTPK@5'&6UXh464H,Lq +pcY~@Sf)j0? +n + +. >10l <2] , q > q ' * _  $ JVW[Q4D}T9;nYXw{v|v8kV]@v@\D `bM}\RmrNer2r2cpEX0<0"19G[USZ]I7KQTh o76w ^t6QlDo_}>k_n > + O  s /$o j Y R W d G - * 3 V -`ycC>T8g;  /8Eb_5&TZSpxx +?X>/VS.8A$Dnw97e9\!5C`kc_\btws#:(m4`N1e#> f9[@_K -^ _ - 8  s\ '[`a%U&- JtcG t!mO;wTknDDHWWnn*`Hq'A JNE&N<BONE7> dL^N{F&1e("IV`yv-0+"xvh)wM{>/;rLZx4K6BD_dE/C zZP) A]s@[y@]kQN^wZnns~S6kmJBl3 q/W*V})O*`k3jS[=]y~1!g @dlh|%+0# J~#r#vXwP- 8}17 JMf`0bS& $vau!ZmlV0pcw@upWt|Q Fn-rM=Z|RPK ]-9=Aupx;,1X05?"vAOQyXDA^chju|<TL4)9(E`K3nI3f!'wwu5QkM8RK,\=n #P U1'Qt c Jsmx\Oak5z +Z*-m|W kQ z>+nG u%@Nzm\-+zi'_=jb"{=z2cLMWKF^~A^ajmlrx\:#ykK1[E7*)+4MKdFVEHM#ue#*r*Zx| J : N X,JWM!D5s:Eo1$pzo 6<<o5 +G[efnsvjZW]nD) 4\ aMAC+X]ExYH]\YG/)Khhqpnsx{%Qk(?) 8F*U -GT$K`}F9>@f +!&;"0b4S 'b!1>G ]GvCttwzk{_n}jn}-b1LD ZeXVTW745K+5;' Khj>59KL?k dThiqry&;2JJHMYl E" 1Y:KC6qgB/+])cxJx[PiS"!d\W)F0lgST~ne~B4m5ax%Nkb=\js 1+:v2M6 +[|k}|}#0A/z#v`"?[XZTBvc +Ff8!X>]):;D`\%]yq"G.N=, E~+waxW~h#)Wp4)CH-*lhpF.X  +z +??(6+jJoVI Cx'qn y<\/ O4"F|TZE+Y1)D;:jVo~)V{5/;u)+%hV>' +SbM=(-DJG7ClDN>V^cQY %Jz[DGQq:''&"@CK7J 9(Q&v +JDJXv:B!g}[<gWA7hJWgN$LDJD /D|% \ /,\&Kz{B"{<c/Jc} $RrtP%"*z=Y1#_HLhI48EGLC\Zgisq_&5  0>LbB@| 5z+*J<.P)w{uWp=AWn\v}nqwawwwwKR8 +qUe2ue>-$bnq1Pb ;H(ZW{N g\(3`C1b`fmrqkB_k@1AiF@GF0AW}A!.HMde#U[ae@&Ih  ?h/#@Gr2Xz(YI!fog|y}s*,E.qaXP+/`4s{8DZpG`T^5ha(w%4^2q/9aaKRMTM5.`R/ '4Ps<lsE'^N&;JA$t7HUvK6@7qwf t27WVsk0!ps/ 9O (a_%%w[kT;)BTz9 9eQG>.Xt_i>S 5le9?b)V2AH{t59wT5hs^TT2~E H+<(T2HawR% ~1 $TWwx4 5R*5HT&M[Ukg qR6N(aN K(q,aHe>;w}5-/YH(XTg2k;q p ?"Wkvtxm 5[7 ZF 7;JN]wwwHKOE6FJb){"/;;HRk+>;5HeYT/2B/&g o2E^(K{2d;&*&dFy>#6:)EC<j^dUD]HtvOq~e,ZXa, />P~Nq5\{U9689wkeBMkZ_ ?6O ~( %mH1RRhh;aX557xb#WGw_IJ/rPruxhwn(1t{<wT%h%xz ea(%n:YhWT[k>[9e9Nn{/&K>Faf7T not}k(sjdr%h2Y2Mn&(3dqX/%@n[%[}%)aH/b[qnt{ApR[DbR2"EdqP}; #_ysm'7fhC\DC*8mc qjJVECeo 2#B9l/)Vuln=NLeEI ;W55h"/>t9Cd8E({Q8[Bw + (WT6DYbQgyvN/ O%->1pJ;mR VK>Sga) a(~xl,3[[R{Wf6/BB!.KdaaH2;aH~ahr_Y" xRN/;#RxHZ{MqV0oU=7H %0:"Uakx'l])0TM|FT~2 +"[R>aU{lIO +/, F99^W Da(mTD5lR K =; zRnnC\{Q O _uVB@};l#"  %0Ta/o  +)H] Bmi9rA(\h/qt{{L  d}OH/8C ?b{{ 935[R~~T1Tk>2)~(X~P?k\Ok/LaO"b <u{VV8II/kHB +   J(/Iu1LC5\CJow}THOtgr7d[UU YKX(2H^;;H99/"X5d2E;eGCq UKBex3he{n5,B/6e6YI]\>eMO=yb!aRx x99^r +o4+O +F5^"p R[?\K([~"[z/kBtx{IOB,]NWi2H+O>w~Q s0K69 Qmm4{}D"U&q)nE% E~[j[9enK+5wR/e8nRR ,<{B9OeK]O?xeOB,OBH"qWW}C7C[%Itl,Q5q,{gqtU/p\{K/2nr%~  q^E<  uqt>~YRR+Q## /kr9 ^UL CON       B0C%kX<h/2;1L,eBh,&EqR8 e{R 99%!h6Ugz; E;nTHh/{L~@CLlRH[,\HuzbUJ]6.?$}8{3<%&& ._QUR? ^H;~%^D.M ,(OR;H>aM"g{~Fe^ua>k^mJebX#L<k<"EmLHW  "!#&Wm +<cf8SORXRRs~9<n9tRz`sjh#H5w&\/ ",Lx,q8ZT(W?% 8L<R;925Ree";>L 7_  k32@5Q[K,6Hh&oxzJ8~>%aia"aHt(k%9Xnn{e9"NnHn5^+W_nR# 5w%(EE,Oz\m[ ,WX* "8 -M_/L/nb/ + ?eLT>AqER#2+5>4%jjW8wK5an2k  ?/R 1wDTaW;}k?JtACOe}`H] {}aD!64fa5l5q"zznjkKTQKw5wzzdRqt;h  _ q#Qj ,5Kzax)O2W5Nx%wUj(h% 2+?(Ql 9H(&3>akN!?dK(>{2K5!? >w5wxH8R&9tm(55uaN">1t?K}z5UQ%wTWi;(- 0b7I:I px~zq(d 5(~>wM(/j5+J8_z[H(X{(]!Kza5HX8N"aKh>~2t+7JaZw ?U4A>+Bs'>+axge+k d,Ka]^NJrW%; ; [~7hK.^u"g+~D g4W(8;$O;^=M{J+"N((ah552t4e_;R{r^BMM!5KTjEt>w %u]kHR^wLN9;W25WgAwKa7 7*a %ttDw % n+<hDwa55X_n5, dnK_%)03 E/n~&k2t[D:5 +Rw(;k(a;Ea/zR;(u>>D/~2VosiKEzwnn d/{Zx%$  : $< T>>wWkT>TD@"Hq_aWX/;9q >9x"J#%WA^ +((( +0UauH5/g(5^aah#R_8qbYE[zqKtqX%t%t) ;Uu  %XkRh kdmE>   HKw~(;Ew2~nK|3WHYozz[Ee{K[(X\X(a3    9NRz>wB2,, u;(o6_%d?6fhDaI;],CHL^xndat%jxR<  a9 d~d5!>"?/aa2 t5^d{<rRxbK(~u1wj;AW(&a/H/j~nIO,y   R{ $%^k&kWwNR{w+zqu>E}O1;>4cG;c3O}6;8./AA;k21XOw{     R)Q~uh[h2/(m{H?   t~sA."U}C5^MZ+|+eh/[5Rnn  ,kOa%"QJ /krLL><l 5nuRJ}j'^)Qw(k{?YPj3* Kljsk<uw[CV<@ /^_;~QMdzTR  a_CuOtva[5 n q :($jd+"!!;F}s.mQgtJHaRT\nf4hj5^%9#{@_lh~  uH[HHaP7WH~,ax,%k{G"8WtWnkh~nB2   = 4 f +1}]cqjoW4<=nWg1='W2d` K2Enx,L\V~B K   ,9o/eahMa>t B,x "A]MFZ*NZ^^UnW ~ J s + + + + + +C  qZ+vOW7[f}oTf>7H] ;4nwjm[@uxnO{LBQ)l,>TWq.5u[lT' * {$$g%K7hWAs^_T  + + e B #  T + + 5CggK^J`hY&ON{Wuvk< L S_ly 3 Z$JR"B@XnE9Eo"B6Yq9)ln,\XJ"Qj" ~nhnB{zEd`c m P ' . #04jqK> s}}fqlkz+!  +. + l 9 B6Ui + + ^ K &gKdf5[v@H'nAjW)tg({WWF+xZ  3 ;! Z ! w (.]pwQBc(" X9{@R9e"HqEE[dkng 5<M ^35~~nOO#n{eo%my  + p ++ ] W W ( ;   @ @ d ;knJA'A + +`  S f + ] SHM_wGA+EO8ofAx}'s*1)/A8LE+hSc ? + +O   -35jG } D w ! zAdOE/kO8;(a~w2tttH5:RkgA?%daa{J3f{KT_lK,E~% + 0  + w D +  C C T Q 4 + + +v `a+|m4q p d m +  i=I33IuJS + +p  ; k \T9w1}u^;r!jv=qEs # +6 +  + +u M  8/  Z DN}n +[  ~;kgn^aezkE>j]ASTpn6$4Jp %,w{R~B : + YCC + + + M +w + +s +   + M +\  +8dfG c ? + \  S_3I_&0 3 + + g C a Q?lv+ yn>&L f y3Sj`[ v + B  0 V < + +A @ 4 p 4 C  y: +K a jmghw,h%?vPK>H Af6>W*7BAWns.DWTy{!t eR%; ` K h +  Y +  Jsv&=i + D \ +f + e 9  &_I_u&= ! +| + +- )  $rY8m [;sW7^ M + l  ^Z]a@ +  _  +: + + + + +| +_ +G + + + D  m1pa` +q5Q>k;Z&p M m 4J6 E 8 Y8nc>zgrx[q@^d 7 - + e  i:ub|:' +   C + c 0 0  iu33IIuS0 $ +| + + Y T &SP ! M jzn%gv f P y C A v $bd( +  M b   + + G;Z<VaXX9;{A}DNg+.  y y V } -  J  +v6;1mL.eK>~P + + # S=&u_I,'jou$. +P \ \ r F 0  i_3IIu= r $ +| + +- p @  @lf  ( JG   = 8 + +f +: + +! +Y + + 5  8+! + 0      & S 0 \ L + + @1[]U=~jrz}_> 3 F 7 ! 2  i C ) F ; A \  z%Gzgc= c Y + + F i==u_I3B_DIS0 \ r F 0 &u3I_&0 : + + C \ T  y c c c  > m * +P + e F # u Y +  G *  3 +      ! f N +> > GTXQ1}mxTMK7; M ! ! A  + + + +( U 4 b  > QA1 ! m +: + _ 0 i=&uII3_= 0 r r F  &3I_=0 P + + Y w c 7   H n f 3 W & -  + 7 kb  +H y  ! 0 i  +  L 3=lP  + +- s  +T1qj> a c +@MVJ 0 ! ! ! C -   + + + + + +$ ^   | v | 9 `   $ + + + _ F  i=&uIIIu=S F F  i3I_&S F +| + +- ! c M 7 7 !  z M    m +G + V S= 3 + +  +) + o&_3L_xbu < + + 7 7 T f ] f b Y m o + + + v p s  y D 7 p C    + + + + + + + + J : C f L +R +P +h + + + + + + + +m + r 0 0 \ \ 0  S=&III&==S \ F  SI3I=i \ : + + Y D .  m W $ A 0    y = +: + |  S=&) + +J  + r     iu3U u + v r  + +: + h + + ` * h s w . v C -   + + +| +| + + + + + + +u +P + + 3 +s + + + +: + r 0 r \ 0  iS==&&I33I_=i0 \ 0  i&II&i0 $ +| + +C W C A O & !  a  P + r 3 o==&Sy + + +u + V   0 0 0 0     i_b +u P + + + + + + + + +: + + Y + + +4 y p Y -  + + +f +| +| + + + +P +: + : +f + +| +$ +  S== r r F  iS==I3IIIuS0 F r 0  =II=0 +f + +C terrain.LushWorld.DirtMossyterrain.LushWorld.GrassLightterrain.LushWorld.GrassMixedterrain.LushWorld.RockMossyYĞB)ԕ_[уV-5_ɼ=*R42VZJI]Wb^^NanзPcq`k>0m|xdhT)axRH\w{kiƾœylXLhqrɸxhg`^g{y`G/88Q+=W_ez{uhbo“EOfJg|]M5&}0MO[Ç4>i>_u[Kon|wPRͼtKtink{Ч~wzzwX.+Vʘ~{Wlewuxý~E+.CfZQReqɛi[PP~U)E?QU^duokMYxVQsV+nspd>5`s͜~bSqozkf̭MMon\V{ÿ˴}zl~̦p[]K9Zŋo{pv~˅ksǰy{T47`LGHHi½}yXQ`}tZ0(',BGLHjmpvƷZWsmqFNբӦuo?G_xÖ{*eYJNtw|ɩdfhgǸʲyhwsmK[d;:^hw{\~spjzŢsPXϺtY.(;DKIF>fjJZueC7.GFG88[[srlz˺\YwwrRF307>89GdƚǾ̏`F;/8Y~-4u|nqOSˌzcVͺze[B7H^rΩȗ~Vm|uq[tcT/KHTV\ETbĤƓlRekjc9,8/.XcpƤ||kc[YYZljZṬΆGOF8(8cy¸}hSB@5(-dPbĊm_^T̻DZaB+3;PisŸ vpb2;>utgV<:1B99JRu|W4:GWhԮ\U1,<=kϥoM;00>N,CGMyէĨy>D@ZoRrk[jRRIDV΢U>3þM@N_fmr~o9,128R\^˺ɐġP7ġusyz|z[W{Ѭi]RrkaK7865Q[xwY;HZcekk=02+)6@PXʦnX:0*.6:67PC£wwtxqmJL.-EENL9[Yvw[ZzΥX)-zPMftj}rlqswyyV*-.69ex|ǤwK-'0lÕtrwuyWCEI̼ǸVJEEkwnS2-4O\~sSX95UsoWIM5(HU^mrÛiip`9+6)35Ϻsp^gkbI;+((&,3B=hmapÓk23ͻ^>;qqqrzw;(089rV]μƲrbG4Jvƴzq^C0fgVL8?AP@zJ9*6BlbSX70Ns֡lg`S>+4WdwxXgg}cic}}k@7.)OêĦϖfIkpjD55&):+.A\ggҥãTSCrxyӢ}rvsc`i~\/0>B=Lbi˽kpǹwyǺũvEjШM25>8>PSE&-^A^cdOOWlΖ[\he3CXqumbf7F79;Vɢżxx~{Ҧȼ~~͢ͺwtdu|l[T36utT3+2M9(6q:9?GVYmiquwo˼͘ybijHFW`ykzr\{͑EO[TsU=cԽξҘ]CO:1+3OOiS@Kfbŗ~w~tuBU?=&BbǤҘ{xYML[ҺŸ]e˝Ϫҙˢhrmfnn;(r]86JD-Bvx96;]^}}x˶ʹ˔ӷ|jzKOZg{n^SwÕyyzŏJaV^g2*DϺΖI9*BPSK=/4@[\eZcAA),OʉveWHBI_Ū~_eͧͥzsmpvd1(+CN-*<@668:MISEOhtlMcdbakVWl®::}KoNaj}|{ǘʾkKAIRYԺ̴toB(9@LRI/&,:Svkp`bGEGN]hZYQ*@GYpvŗZ^Ǩ}nbOHZW?3@/-F@00;6:H]iRDSNm|EWO\uelc|}QF2@zǛWd~\ojv¦;L;mɸaWc7*.-.5LE-85+IV\^ѣ`hMIMCqrtWP\Z-;59C]ʨYXxuȪo\^vnn][KQWu>05hK_ab?/LPD>LdQSXSTpj@XsdlaqviZLB(FcĽͳûdWRFxU~eM9E]|ouƼϾu@,+GѸwyjnaNN?5/,=GGP`fB,=wsɔgMN?NapnJ9+.4eƏqXGQ_ĝkv]0,EA^FW^c=264.FOr[88J=el~d@@06Necp|fhdhuKU>>yxÎ`cQ}UdaC>21RY\yɰǾ˺tH)MP;4BDE6@0?S1˽q/6aѿx}|k^kcIDFcwtT^zrOCP_`XmͲxxQA/14iȕ}sQ[IERcyh71:[yh{gMFBD97VWNT@H\s`hD<|xz~`t]yxǤdcQZU]cyXrRQ[j̵ӾuW1*.4+)9(l˒\L-&0jοǪϯˣ|~}}pj}~ĦrbBJNH8Seu|joeZctbø͟poeI*'>X¹ƍ{dLGev˺|SlFD=>_dOFSO_fÒudrϬttTCm{g^=uWoNm~yj9-FS0J˫Ȼ`=;b{Ǭz{\/1H±Ȋ}ͺyҿhj<:4()(Z|vvrl{η|dP)'pw̃xq{dzϼiqfgQPgF5)AOGc^z̘rkpu̘bGkll`:njoo|[8-m~S,F͘~O(m~uɘuҴifPA(*BIhtvzSaҮuvz[E*)Zwϝ}r·sq]2-5*=;Bg-ϧekƾ~~ysqjtO*?@wfF=ssc>'@xgJBus:):F}ʱξåZC09``vqbZ[LJPU5'+05egdȩʾxU:.H(BUgƷy^x~HDBn;35kҧ{Q;IINE3'4İB-W_ncR]~A14@H3Glʮk]_ɤP5)SN:.1ILlãv2Ns[\9<Ӫ̯ѦϰœÝK,G2@)?OWamY\g6*tǥx)@<+'k˵fn{i]\oh_V:/;ӭuRV=*5U]~ȤĹ76+*:_T[QeuxŒмŝÑxkK5,0z)M1E;>`OmƺuTR[('dg6-7_ͽlmͺkO45,Ow̞u=WHnї»pER\Ƣp`YpvϺtwƍq6:,=CpPy>=P΍Ǧ}̹qϿ}ɽrjGR__RDT{˗hvsyb6-'Prxnoɯyqhɽйžnx}{Ϙgv(lpB@JԪ̧{=0Xvúzo<,>TWWnșpy|y{wƹ{4'4:Spa-?PȀvþB<-2fjoeXQjnnxlyF7Ҽx`gs˰ŜytuTCŽ`?VϥQ,BƙC>-54SRbswwyrz|zwpH;;@SbkmūҟX(/XfÈnê͞sO-)*1aatwd>=hˢub0./&H|ÿiՙ}mxTPmrg_axҦb\ɭn>/0FЦu=ȔZ]H4CQYjg̥Ⱥ}d_jkj^fUE{{gOOD8Z|ϪS@45r[mġ|Y1/9MeZyg20I`jl01DOŋ_tДz{rhHE@@3CNVWjt~ѪTax;2њ~rc<7Ƥw_VKQTJcgGAt{v_JN@,ElcXWD4=ͤúŠPcK,j]LIXy~uvUN;5?9Fb`xSFTYzʩSknȿD1,EOkzЛGbR,UDZ~Ȼʆf>2+:Sq~;LQ~A++oͼpaA@ή|pVQPJgpiV3LWOqaaRK6*>vy}ro[0,:EēpfoktpvVP^<-36=Gwr]ovѬhYΪF+FnZQ/ctVNòlV?-/=en3S\@E~yzUUzͶ|q`10Ru{_W[YÝwX>&MH;Ney`KKFGO\yduzvdhxe\\ZnVD2;CrNJ1ea[^pF)>eAO_t}UQQO\uwn_ZJpkM:L̊O0GƞŰU7K^ZtwuI@@DZ`qsc[\GMB4SR;Mսzm8*,8u{o_nJ+Eg~S;Gp:)StsCoxyaLIlvZ2+4aål5HUƩmlcd^E[{o45q}wW9D2?B-'0402BmUH:EF8SI:vȖ4<=̾Ƴxk{RD3R^i}ſVDTҶ.:]tlrzqri0BH}O/2Zyj>-@o˼qƻrQ:@Tt-Be;+Y;2+/*4qa>=D76);GQnR}ϸ}p~PC?)pzUTv{˵|hGJdXiſwYL>]F+*IWolqX`r],cu{H'8neȨZ51>J]y{cb`n<^οΒqNWspkSPU||NSZidP8/4)4PaxqZcaE/+@4-=bjI<mŘXPDZvf5-:69M}vlnuvi^;4>G2&?UWA&/5;j{sw}u(0*ԾoT-+130gϾŇtjloR7DimȣjEHMVžĔzm^Sg|Ƹ[B0elzrRE;5EAP_kz`BnL5:1);wzžwMRG[tvtNGgA8(iny|]J,,:HJG?CNa{jZWdK;Qb}^P'5oxɷwfksL,0LrH@˞ּṷ}{kXJZWgξ^F8˿¾ķykhMWyl7+2&Hq}hVMFRNdXD5hLOdeDI6(+XĿĤyvtPOdz~RKYL39/7{otrvj\fuH+6goȾWCd/cqb95H-Ovdnͳ{Lsʄ{mXELidè|v]5Yěhqv\cƓ|<7LTk|ldl_Q^bgqXFVFWUf57+aЫ~mUPY{ĉnvoK/V8qpn}ʤoǮ_.`ɝnDN;*YA[w`_[P0;Tl>ągNU|\8Ouĝtwǘ~{MB0@iΡôžxyvvĨfle\ɼu]CHfzv_l{wdaf]hK?]\[Xf>A,1tÛpwgv9WrthgyŸϡȒy}laB{Ӧ[g7.clrvn`[VJCPVD)>Zu_w@,8[wv{X=TtwĒonG2/8rɎŲb^vjxҡ}xhOeXe[|q̜yt{mhgWjSG]o__nc-:~˺wȽÓl_Z^uнxl\ln+{ylmc]^ms|uqqa2C<57CXpz6-0TvF?M:8Xjky{ppƣbSHYMGJiŪЭgnnm͜wyfbl|gay~lejiYooqwV'9+=rȹL~ʟ}Mlqx͵_qj^e~vrs]YZ}eVA@GEAeǟƠƾěrznƇqutqz~Ѳ_kqmy\f\YK6Ba^T|Z[Zciuûm-+F?SjmGSeyȞq_]IJOVs˝ymymqs̗|ĬdzϢsTuV>tvF)@-bfɝž|҉czZ~R͵n98]E??([XdqxR(?AY+m>K9H00QYjϴG/Ns6A6+*8oT'(Bjty|xniZ;@]ùʛyȔɟӽϰöw|[XcM,?Foy[F/CGG`ĻҮҡȠӎ̰c>8-0M-UOUtǔ]OtR7;8-;SzxʬĻ—{bV@1UķѢњÉ}͞ŶveA';AD=15vj_+0,/<'BDK_UYÿüĔΫŭĹb^qUΚq92:6B[Qouqu&BtY=Aaÿ~Ġr]ri[7,Ur,'.N1,)1'(':;CBG=Lpþ̿j1@Mc͞\=.57HMP~[NG968-(-,5lǜzfxнĿӧ̛^q\jZIN]m{nLVqL621,'1>BB1&'-3'1Rs}~Żq]m~ȽwD0Wkrnm{s^^V77s_+=,/.n9*/ϺbW_NNS]\j|əyθíW1)Kc_r~`iwxrwmP2*GfQI2J'C@;8+D..&'&<^zgShM_ɽιWR]owkKDSRterJ;R`t0Qy0>7)bQSQfȸ|~]_m}˘cƠvk{̼z˘q-1ZH[fnJOúsvc6U}^()5NX\]pDZ}fV@Ž_?.+MM?MW`yPi|14G+-[lJZQ`M(P*t[>/E.xqD91DJLjX2Auͧ|_9/'LiP5'MWZSQrwp|bA5IMU]ͽϻrg1(00=־x63@6;ƵmhZ`):EB?]SZk̛gQSa\SOlɨϣuR,036ġm@-*o@2G_DE3kte\K248`^AA40-6?-JPD92u]bz}m,Hcv}Ϯ}жvD&>+rx]<ǽm]7PeȰiiVe'T6I1*R?pI-n_xˌr@HWYusmi|rQ/7OyΝwhB/8G7)iŹzN'/'6D*fdbfq[smK1ARcd]j>R23O:=9-][pyzfQ2=?8x֞μvw9*/)*҇1[ZƾľhhVNiU=W&T;2\wuB15<[NVNAK_N*2qҩ|[F<>7RO3>zſ|h:)>P7CjiGWjl}yZ4ari{xsm;,>kfH_U=GNS`UBF:CXqgHo]Fͭ͠f\u.Bdg_YCWtždd@r>9->*ɢOGxXM`v=RgO+Jwi+0(81PO\XAK»nvПf=2HHGNnaLD9??votUC=MfmO7@9QK<.+fSc̕¬͟o28|_r~+A8-G=AGTSYR=70&R|T]̭ʍ`]@9+D;53Sџƾ-)Ź6wo+dzxylk)v`N>DkK?Nm}~ɺz|šěgQFJTgM]tchaZ{|t|zA6J.':1Acȣ)==Hm2A/41F>vwuQTyhP,ˉec[psĘ[E'KdX_iDK3*;YxyƼ?_e`^__L2LOhTq\BKW]elzęmftGJ}mnuP8A-+FKiԜºuREPkǙl&'/yhcl>@2ZΙϦihp|¼џbh:[lsqyqQLq[?drRdРF|K)5М|H3VDbPTκ{q˽sT?GF\ljnsyÊfJ;}p(Z/MX_S`}ϩ~C˞//eNbQQ.*>nh>?ɪdQP;'&P~ϟɥoewŷʶbXeYvr{|LD]B(-[uԻĄW5P|rz4:;A2'yp^nB4N}ûnujq½ÒVG8A*8G&&3DD@Tähͬj^3C/[wҤhs`[7/{tsTI'`њzhiO+:x΢xsVXwֻ›Vgqff`ZT&,=9]oŷlYA&6R7O&9E:|vVBRxfzYecfq{e6;J=Y}+4ɕhim-ZLekt~͖xq\Ah742/)@yv‹xN25r̦yhUYoyֹXkqr}x^PD),,)(D}ë[,:C_V`fҚ͝wK\`db~x+(762?]{5JE7-8pzci~’SEdhҦ2(»{XO{ϭ{sa@Oʛбuwcys?.(('aɟ_.3I\՚xm_̠X4<9m|c^v7+'JJNf~2pI980?|_·=,cVYtY'G̾˖|Ҟ}ZC?h˾ǕyuZnqlĺq&?Jϲ;/5A=cΤkD9<(ms}_9o{{:RGL+;IK,,x0MULmϳ_}T_X`sygQ1/5HBUŹбЭ̯pf/(RȴĎ~zxhcSccþ´i_7.-/K^yұĦs90?kRF4S{§}DA8qxlvjgiuM&b(KGVG(:.-9'WRmìTNPUtk^{M[xyI0AUȹЩñf'&KϧìpkT=8pvmE9SR`pЪίʯc8,tH5=@ptwb7PZƾ}<5'LZI`ukry-mqKt>w1:&+?oZrLPv`X{?-otC1tR˾̻}C8IҦҸmYZ[zh)WUstѺvZIOD+|B:2Llmt[;vɼZ,7]iszuhhT+sK>o~?Jstoqxw:6OKaf[*~YX:`oʷbd|ϬʹDILit|kRosNX;c]TSɜͩjUp}D5S<2mw?,J.]cs^28YbugtyzhnfWl0?[gNMrxØrz{pɛK?Qf{h5h68Rc/Āѫ¾ǯɱgG+MXWjsmoSRM54E,eN1+]_;05jwN<Y7D2wIux{y?5NJǢѥnY*]VkʟcN?0@GJ^eLEDow^hE2+:X[TyuezxG(BK`y/bpIOAOQ6|}ŷE2,(EgoiÍ~~X-Y13,4tM>?r9?;<¨IXUZN8hBTB'uFxug]PÍbpοL2*/aTĹd('),Oa]|JFFeFjyzRF81BEhp|ptsJFCxdQ?`n<).̮o{vyzxD_ɐKpa2]qntAŜ}st34`12Fz[422Nse:KD{ϾpO=05HxsTdwtġtĭkk>:M)+ɣtl|fq\]fxxTTk{aYE5(FrKLZ6.ƥuU7nbx>E;PfaK`yNV))صîi]Haq|sio~q-)57C^}T=LDbixkt34XWfkOX˗ҝ>l>TxВt*@`M8;opXRĪН|c^*Ec:MjͤzkdB2,:1ZhH-.<6SD;pMADj~vHs@7,,3;}ּ]8˺sWE_xӤzu˴t>1d?D:EF>W1E6*+2qywǩɠ8:UԀw/6AFIez|}jN.'--8ia-*07/E&@/3AL]dV/2+=kgZ.hGP9Vd+pWaK<834B7je|e`кħ}b>0JOCIuDE44BGpzdcPҥ{j39U(DQqTNoRwG*944YzUXLFaI^IoQA0.efhX)2GNԁPaWq.9XE,-`@vſaBxrɖE˿ʪǽXmlyˋvA(/9/R`|[PS4+:v`L)(՘HBa^m\x^-(?Ńrp10sú|TEdnb;5&;<;MY[pJBTaż_EBA>Qvm,642,_grop¶kaEDBI?HAAbB(,CZccBaijpCYTG=-}MsR)D?Yfp^ZgJΟ_ŠVTPzѭ[HI]OM9).-?Pa]^yuJ@>Weu̐v~j|=38').]м90-;azwokb3/<8dox_*fLqi`=/B_x>83*-Vv]Rq}b>.1-AoR~[1coVonʴrS{w˨x40J3A5O>B*8d_n~xVK_iB++JZqs}ԻbSaftUW5'+y)6@mxS['6E,&7NHOb@(wyp{ago\`RSWat?3RzSH91^0*/+)F|ML}G2A?X{AvM6by|qjҪmm{ѩW;.-A@P8T;;.@w^P=0XYUM`x|MPgY]*L?Vhr˳eB?Rvoi]WJS6TǬlKh\K)*MO^cJ-)H5OBLx/TjqTuUiHJmP\qi_cMRhn[SЋY@27ZrOGQTKBN~J&@HF_@;fUM&Qar_xqfcd[_]x`Wyz}M<03?dcki~iP=5,0@,>X||?>b7CqxҫuC@NfbcRX9EMW+?jJfeK?,82=PuqwfyrktW752:ovrpX[iq|oqX]VBEp}syd-ojx`1/pKSI^tpJQVAPbUWSxΎVBShѰpYD2D~÷ˡøwB7&3=Xt~{hTj67ͨ\VAbUF405<065c£ʔoA??4*A0/D[xwznx9`?3j?heThkyvztPhRUe2k?`a.G50ЄM-zmS<Sb/Xs_tVdcSJ_s\jkgOHXy^\Q9NɚX91]tΩϧq]NMU]ҷǢʿ|SCUV:'-lwhv,2gísCW>F,+Uqzj-Wjon-zf{ejǺ6Ilht/1_88AGk|ƇL'/t)v\pbwNfWmuxgUrZWk{~upOMWY{{OHRQbxmG:;Hk̥qFO&/{ˢ˷H^Lp11CLXcPEO¤`F3?QǺTIYc̉dWt`X:_s^Z¿ѷ'&?ƽv~@{9M]=KŵjNj|d[k_*=[lm~vso|lY?,GJFF;0@:-UqʨssM@WӾ|Auͱ{eB@t(;t[uMκooe)Hm).g1ekz|ZO80unw{PZ~kGFrɡsz5>AFP̅Ȼӫ[2YRYw[ZVkwx4*t>3:-:6VRxəmKHT\Y.3,4Nbjqw}lZK=c>Dx0C>^>D2F<@liX6m>7F},Udai86C^PO+š[Pz_},=9̓zѣ˗zJ>7S7'^SaD_baC+*bLR.A1.'XϺc;MK_IML-51fƛnm]6&2pe^eVGI3,'lQb~P:,H4D@4/IT2Y@=-COg{i6^XR5R=3B8bRǰup^WGKJBVglz|}]e}0<[zZW:1t)]Ʒ~bhdEcjMWҎ}eXN*yJmO`\M(HDCEFJ@Gb\&A*:Inx|s6*MzʧysmwUf\k~EGf«bY}rk\Q_XS[yЅq{tyr)oaRP*UYk)Zk>=WRt~8X68ʌnq*zKoB;Ļ|j*';9UFPCM{o55LTt}Ň<I3ID`ywzXaggGTs~,fuń[lhrJR4E(]W]`pCŘv|v{xWP<>as9oLR=,,*@Rt?1k^A<~R{3'oǹRb]?6S[7:eG8pin<Bvÿɾg]yi@.>+s~\7KT2DT``Y_<60p('J{YUWVD('6[GT]3C3rW[1cj&YtkPD7aA7SN].GSxʚZ;CyӦ=[wkXTiBkL8=/+36;TJK)5*Lyq~>XL(ab9|`rfX)U9wkfF7Nj0+zf\fthh[P-B=:Be`a\{qdr)PO|+(A3:ohF:5hkNQDOSbcqͤbj}v|Wdnuç~I/-0Mm++,`yIpcS}ȂTck30İ}a0,dEA?itKawcXJcmZ,`UOQ]^J9aĘOJv]MiYFgZ;'*FO]Jh_V/[Rbo)lLL5KUF@`h|ď;)Q`ZmO.FhDCLS[b~xiNC6F.SiQD9A|rrYYn˯n[6S5<4?QD_*'NjL.6nlnPRtPIYv~y1F͚tE]CF0hzddM5wjiZCX+~c]0YkcU;N(&:/Ug};U9/>pvÄS}]p^k/5/>ND27>6+`ɐHEiuuY;m`lpI{~ž_ptKcxPVt`f[18D`tcX?YMjTL]qt<Dcf5+2W9/wm\H6oʰnkRo^hv](,*26O[N&?A*7BmVpEB^bdi,Tftw…+1_V4'ZHs{-MûȤ9U.l_xTD81[~pa]V6)>EDg/3QU[.JTtͩyI+FwQpa[bLf^ĻǴ*+09Yg\J;HP;.dqjki_VVdt'T|?Aln+*,zѢ}oG05WofVVEYsyϦV99TE82'JLZo/ylN:Tz,?.W*=ƍTc?l@wrmVVĮƬT\aj+0CZZ/eqb8՜zle~ovwn`\cų;JW852pv̽ƿi^to`.2-6PdjjD+7L]O×cWPoO8HCgedrzo031+.H-,AeY_jJ:A-;|7ɿF?=+}έyI_jCD<0DDK68/Z|vjwuqwYp¶FV*+g{™e]snbYwL?.Ikt[qqxƺ~kXYQh[fmb`.7;_ytdWP5pq48lƾ{DеV}zmdH~oW>2i[t//e2/zde+4ELdv{HNg;4e)INDtGasKy}=6Ozv{|P5:(OujszNWE@GkO>4;6Lejx/5˹iEV~YUOIQiU50,0?0>͙A@Z@cX7XM6oHFn[HN/903W^3/8XpvɧmP{9]0)9kAHzWbά<+{|ZH99/|S_2;̼iouY`Vx0[g}G>qɮ0)}gZScSxq-QUZdG_Mi@72\b\?ɁGm)4\shcB,YMMnz~yQk{TdfO'M^/rakN9e }ig{v52U\lPFHEl0uf=CɭUaoǸ}jYezƒtXO;lB+*57H2nU>'OO'Yi|1E*]DjT^Ug^^Z{ÿyAb~ſgRlX6YGQkb}\sysep79QezA.y˙lmv]Kb]X^UsH:+YrREb/?`[н-(*JLzgcstjrc͋5}^M*-G+)/+A:2:RCm?&qR.+9dz]}`i,CeM/Nvx}v|5/jn?{dYm6yqpX:dIB9)FZ^zhrYZXa~NJuV/gˁtʘ1.P'QRGC8`_@'-G=9/K5'zrAJLɋ-<żxpJ[rO*d6j=.CS\76/(?B@r|-asTF,VBDix|<jYKOE2.^nOSdS=A`;@2z̹fOOL=5AIwHZXS=>-?F{|w07iturfj163WxMTUSy(`8~ʏ,*686h{kSZb[0(<eJL';ZxcdgpmA]\^8=x.Kl51ĺkQQO+/12H;)bnX/dYza/:^msvv{m6Z=}oz-z|pkpbr>7-ɿrzv>yXfʞ29,1;*[hr\E]mS)ÔQ~`F-=Z79ADms796/B\RKwO56&31*e'3q{e^Y\^yDGh_S23ƿN(-F^SLȣq,Zw,zUF=gǽGW>bIqz8Li^rM&~?0i).1Y:,=B=)ii.9PÅ͡xgabnh|Ue`*Eunuu[8+91@r|;qȖ0C}¾?40ѓf|Ib}s77BGM·fo|z]R_1dWcw*(+3>?9+80CZ](QoGK:jˤnagp~9:2F{+9KTZHR2;UϞslD9xK+08yR?,|FKLqe})ZTX:Nd~hB\r.615'V)544vyKK)h:qɢixXW[FTCVF5FrZ<,MZ0cCMEr\xǸʗ{lYf09&O>W^jmY@v7-Fƫ.qgZ>4;F|pͥM+1SuC\t>7&8?AFN*8pV~q]tȦҾBoSY;CYpl23;.Tl{aJ62Y8|G9FZmd{s-vǭmQAUmӸWJCU:BxNEDT7gHy<|U:f{NU3/xa*DIe}:;:87C798rav_sgʧҹbaDK,O2.=68=]ND9=M~pbk2TtšpOCNoҺvPC+mȳc`>4uN?ʻqgdJnj4L0nU|gT:+t{wLI_/8|PHZVZ-qvJrJza[ԩ}jNSV3C6@*=;[k+11s(SqpʿАD:(2ũmcpdsE¾h2+vnxg^p^`&0nVʼnY*LUX6'C]ga?*:)sj*]UA,)VxPC1PLh~Ȇk8R`ZDžZ.V+z:*_ʾdε_0-K&-@.D2/RIqÛunT@e2f'*8*7@7)jjhjogDži.,:^maű|e-Un5R|60?HK/If˓yr*1X1U6Kry-c3tU6waHŪmEnXGitE1)5qV8TcK82Wc}Ą`sK*M(L6~QTI|j{VA8Mq4]:3Qxp7~p]-t.8~¹h'?TNpnűwmt|REBX=B-NG~:`<CdʹWQjKF1Z\uT1dOaEG8^)1;G=D_xFÒCiimgaoN_BKJZ\ph{Ю~p148PB}βКˑyMZ\VVu=O`&yjT*/FBDZW}kWPmˆs20Who{ZOE1+)/13w}AmũEEY<9Rq^v{wu{OL46Upnj;_\eWdeXQcaeKOVZľC2(-=<ϭ˂\u]aPYHv?DPGGEZD,f-Wj6u2hJ[H@pnzPkS|D9'A'Fx<,FĦW<.2<44a;J~wgsl~wvniIPk.>hx50ǫ,vIajvooni^y}e:=531Ryȑ`M}_~]:DchED]kU8H54NK2p's`H,'I8D?]u9.+4gXLVYvYl(x68AN9SwEAXs'yvxXRYflYwxsd_L..^5EPYtpqf;Ka{xmFF283>_jJàmX)8]<9/77Z]5~fKM'+Zu@?Or^KY-*3CԺbEFl|K1Lrta\U-HW+3)/1jE1::DB5D~hrȋsltDFP9RbuOl[rkV`]0*:5=IjX'}bx,v8_ЬwHEm{|Yc66,\tyOQ;0-(&-2U?&-R|ZWXca4L1J*+KRM(Ko>?Re`/QMhI>?Zf+\QSt\[xL4;C]vwSWG/]F@6WR(I:ew5yRînkϏr@|{{ZjH1H,*Kn\QJ.*4SzUSD]ANpd50_]-[@CmNKmиf;)e,M<+DF89Xa~ZPM3?KaEOLa-=06y=u|]d@L?w|u˕6'GiS0SeB8Fl^F70/XV=WztiW8YfI_i<^ufEH[jn`MDNR==yT8:TY[42SƖlJ?N.JL3bTF'dP;*bgG2SZ[M(5cd̡x]qz{ƷZ*<)nȩ\^XB9MGHA@I;,df=˼k\`&?L^N6>RVSYII;5EP57U-:VмE6T13?6Sb`e<<;aͣiIQ`/htn|T<:FW>ci~';v79E`pL2JB+BK('=6L,./+01IP]ʾL<168+fAz`LQ6,HG@IUL83/,-MZETȲ<a72-0-?QEln[;*5`nʈxna9.sEMuOP_|Ct|5V+PoR'*-HBBh6C7FP|hS*4*'_gr@8532=(S9<_sX~??RUuh_)M[CH;cM/-9U?GXd=/(>P]YMJ@D_2.hMZij|'eoK4TJo{'CE;j;9>CXeG(>kcDh??T8@Sk҈b[W&FWPB6C(;1_aH9ijpP*1kO0A\BAXrtX|g3081D579'uΘ,OR;,oj>o|ĻZR==0|rh_?.)'@BKYMU<',lxmOH~ɖjYP05)2\Xt}qlf1vñJfZviNN5316/5Z;1YX+k/HY}kxj`r_;^K3L6^Qe;72?@k87Y?)4FB`r{Xm{=AA7&=(aYK/Lʼgk'ao^M)3.a[\ŹXj^A+&1(+Uugo/:5lӂn=s,,4-iN~AXk]TX`zpdG(EV(&.N“d>ZMM0j|Ƀr-=R~a[E{[bfCB7Dr·^weBGN718B9CmF+6^:Ǯ?>L>g}pvxbD-Dtxt9Kfwp(:Ji}oQ(MxQ9F,/\`F7(5i~Ûomfxğv}|C.^bD)H>k02>ayzpr{vB4N]saJc'ǴP9,qhgvha^2_cc:@N֠pN./δ^0/(-,8UоiDYOuC,'8VGJ:D]o|ǐЦnƕQ..&5ضiRiY{0LECWWinmcoUx4AZ|pi8V~)a|C,`CbV2>AXL;Dn{x^bz=Dyk(қnG94)+)0NdF}119hTK7SzsIUEfMC1JY_yty4`÷8g'?0O`-<wu?0,Ctz_Y´|0)eg>KJ±9~5,.Id\I@w`(mc5έ{wti.aGlqv8GfvyNHR]v[YxoXR[mø֣hdlaVLWhZ6&HD>NpeD.1Sr^v(B@PI>e_>(u}x\W,@Usʗc8N95L+>@BaJfL1,Dv:(N?Fkvj-.z>N\skVd}vj+}3+6oīyxBi4HKpw~}mB]y9I]H]n{\Ylgvl]>J;0IncrdbսµD:ƽh@h1@bmRӁ+K(5'1M,3QFEC,CUxfD3:4L{QpvaUl1ӆQ.ǟrik)mL)S`w`}Y4EEAC*mVPO]czP0AQ9?FP<73<8{Իg\˟rLA+E^L,HQi8<.|}bmtWm<˝j_}_;ZO;IOD4TYg9&p=W@;7EO_]9>g>8LF:.\PiPf:.8*ʝLinlyqM7A,;vuvyq^:EYb9/*0AH]1'4Gyfaxƽ|vɔMF1f(e*Ddtj]=treGKGA6kdCv32_P..~4ΛkmvgpEcu2''~~/CA^?>yUtp?]c'/E2>@<:1(/6ЍC'.Rd{u6S0QOy`wiAnA=CEN`os@~h{`dO@AMh8unTj>TNtgCV?E\-YwD:@Fx0MZQ*7.2)-L`VSVKzH)'EZҽcI+c}a~9ˤ89iI9b*Ry04M@]zϕ͋ileFET;SL8nlZ\MPqWTuˆu{kun}.kc7\~J@.)uh΂L::)J,))G]wX?I8/'F[-ҖT*0T)w-qeVǙwo40W\]~Ra{gwȟ|BSrɉNY`d0DFP=1_>o=YO.t:mxAaw1lj[*3yR)]ЎX327-)q@)6;M)p*2(0*Ra)2`VdVgs̡8ʸ'3G}o,4-=)'Qtc@Qmx_\PMN<`DIJ[u[_f3ib<6(FW?gPcjFj:q-XhqWUOYjVQ,)e҄U`'>9,\)&B>5LR}[y-1M06*7E-3@kȮMcw|abE1/B:Ee|trlG,O56N`RT&gf5(eЈ6,E?^chja_yhY8@<:ozC=[)/]\P.v)i}.N/UiL-@N;S'@t{aeV2H}w]XX3JTQ7U.&Z͒55r>ixd:{:1]a;P˸u;ykaW?32I>0?LL2(.(\@RwɄmc+)Grx61[iwq@y@Z}VO`@Drcbȳ~C)Lj8QS~ig31qZ+?Jf`:ŒL,EOoQ_.BHAE~_ZX?028;I7FMZqtfΥwrT1(B/6X}uy.(e_\w*zxTX=/x`D(/,.;l}t[]xa-dqȬ.X:ZjlMDJO]n`Z*1bMхW4C+AK\XiopSACFGIO89VwgОh6((.7JVkwuA0C4pm4.,s[=ɒWXjŀ̽.3DWX-f6@JNE-?Bvh{q3B`vY,0X{.62eX0TJn8cΉ(S~YvqlnI(;?LIuoѤ}W187=`[z[2U]6&w`;,es?5Qw9+/eR0NK4N'5D=&>QS)-F1l/4IkF-bӭg03OYZ6Rs'GH)+0Qrq:Z*pwCR:iYQvƾ?.'I]iXnGEy2^VJy}?P*^I,+]j+dd:-/d?amy{wGR,„]PxȡzS.wČ:^gzg']1(OlL`v[PYo¹~ûLWML'uvl/Rгm2OmD)25&ǹħzdacs''aztYs:;?:_o,/7ɗ}z{ǻò[0uE,-HľʥLdY;3_*h:*K+K2g0ʟ÷)ƿy4,.2*36Pǒ5YDe3Mˠ(32EZ5]vUC/6XzȖwSqzĿ{SM?7i9Ruph?,.4*3~:=aH9:WNGmx}\>(AesGI|^L2I+5jsh;1)]]wr\9'1c_]WO93aceƾ£csLSOJ͹.Z9LX]o:48K^IRtùo}4:'6(Ns[w\RF?0=tjXq{wx0?j}üb_ʓ|ZFdqcYejb[P3CkCyc[/bPVqR_h64Gc{LJ4M²muŌΨm?>lqZPG616D}<DY59/BX\ƞnbmpQ;mx{pTSddHSjv8q2V0@]xƜo43<`>63.RǣspüAaHNxYcgzMone`N9'Jb|T*q:8FzWWHPIX^;ZLihq=ŷ85QMSVmTK[w;F?5?IZfaa&8BæoſCNNyBO0GP:0;TtuJ5BqleBvϿmccpuiUun65,4Av0o@nɛ/Q0TJ6=pjlѾͼd[y~lџZA9N'(eVCE-8}6šӱY-͊^6`=Eay~nza5@`|jB̼º˱ym:үlIt½y(rUwE2^..9ZhU=(<3Z</;C[GDRns{b[QZ/Q)7I7T[+r~0FSZEJepĂ~iNVB9A:NTh_:Exg_`Tzv7BMQ3Mk=L6.L[lb,9qw4GiC:YXnhYbf@F:--UϸGXozʰh?fѿzǡȢdM@4ĔG145@5\q[QTl^=-(:FEGW(VcB54}7W^P6E7--303>*VnyQK;)2QG1R<~;=cYGI;ttHSG+17Xr_\L[38Kվ?PfžR??@,;zDd]E-)vdZBURID&-(Ζ7m(@cV~KC/AJB:781]SlD&EZZn;bzdC.lso`_LABB>lŸPJhͮ־lD:UȜq6rw4-I]kir<tpkfS0<4x',¢ctvRP>_9D=2=TuQOl/:[*+@`0))=T/.;kf[5N+4;wS-Ilw]qd<-Ggmḯ||u̪onI0]TE-<5AL-CX*_s_~D07M513BAD<3,QEi-,J1HHi:-)?+.778Sc54C7-ZȴCe\ZwЕiG2R2Hq3Vf^'UXTZX*T¾|lTC]ƏT\;&-@wN_tj_=B*JN8+-L8B_jwKEqXE'6?Vʫ}gC.cWʛo7/=`Y89bim73EA,H,AX.ZdWnMK;Nup9dOfǰd,ILYQTa=D+Xz|jaGdejE:_FG9yjagypb?5]iA;Ylet`H?6&/?)5X`ika8?GoEGHD+Vsy~URB`=Nz{ö[˻Ԟ:,w6:wvoF;wpQAl>7,44U:_xxoG3kӹGguUu&UHrґ`AE.910VgwKQezy40>axoEvI;eŕiG/4jƙDgˢ/-dΣX5QP7G;:?6/>[n|ITz͸|εgs»mA5EF)+kÉf]3YèJb1^jjY/Xnf@Lle~34ʴ_1:@BlŧZ,WĮa;/1&7SgzӬY|YM;W)&h5omxqltI,˼ѿKG¿xbK<.4^v~u9>-/s_LQveYu,7rlaX});Q9=Em_@KwÄ{zlo]15BJpahFzx÷W,gucBlD@Xfmvkԙ7x`3))'fsL;(OʽSBk»iB03b-z_<=9<UZBUU(g5C,0d¹+σ}̛ny҂V[mvgkEWvkhKJaVϜ/:C*+IQcN_^IGëcWbmwf<+7pw\fƣ_4A~qx(OtvLP_73.SէƷҪqsDay{Tc]u7ɻ2Bgu/G|m+Phba̕gh\A;V÷}RG?fZ8>IS[U]_W0+0D.g}[ĖdN[&*͝nW~ÿҷD.=SWȼZoo-,<Ln28XSȿJ)?τXC[bkz.'*=~|>518)31a>NfiҶ<\SYqtUSΕ{aP8+Sg9JmM48o^ǞK-{JR?^}xgAVYŸ6_IXVZ4-Ǝ}AM~W3P~cG6=L1(vfk[ZƿСH+uFWZP6NqsbtyHeU:=GTbukn\8*H-OH}oC2\Be]w]Z8)-@ptwswǶ*NˡͶsHguX=.0/0T~su^JRJ,-GMyzwGʧB.U`OMKNhkN3;JOEBEg8.~W|RZ<-Fizwr<:fqsĽ{;&+=L;I=\ǍJcyaE;LplhN@8wfZ`\<-,;SkToi&1ƫDEa\W~|qhr~D[JKxS'KY}ǝ|}žm*NI}״qD`kHGuJmpF+B8)?d?9D_dI.)=_V\Jz6>Ȃ.3+GT_bgfNEUQly(Vp˼y\erelymVFhʌzϥlbDfprb>g;+7AM]ѝ4ƞy.VbRkyuv4>328BQAGRO=L=5*;+fՀŢ7)PQ2*Uuc`FPmːKmeCJ^}Λ0XcTqezq\.gzϣća4JH@cn{u9Y~G+lҶjPb,LtSYW`n~)ZlTgc?*2W>F2Dў~ˢ8NAXbsQ`==J_yK:~=7Ƹ|?ŭʬ55^~wg@-p*+RizC}0[Dl|\_ZBZ_^SlJ0ęοM3_gXo749::&eK*-S`MGO`y΍hxrdqszJG|0̫?o}`E1U|kRDC)r}ia̫Ʊu]nC@d@`R*\]^Shp,^|ȿg&pabW+LUM42Cqakk~H>_nv[POKQ_z`uPdΠ;kp^[E.)jCijq/+pU;eF8E\gebxxȿѰ2AV~dYf\2Qmǘk^ptw~)CtÿBgN/)F@>*He}ʥL59DGHOKKJS`jv(JliHzeSQ>'4Tj]ODd0(gI)-(AGLKPug¨j}ZEJVx{I05+7k{ͥtdovzq.TIJ@*-lůķl<19DILVZTeb[ZXlmIux*73VW{zg[G++6ʦLuoxdfDH>NjOMZTJy7á'dtJ7;HacR3:G5-2?avÛ}QK1+sȿSZm@;Ie}N63;M.V-f~{B:`ujA))7T_pdcƿȊg3[v^=R^H>B;432gqm{rij-hH92>Y|+eMHZ7G&/@mqE-6(.30/4.ElZG>0?Y'ɬ~v)NhFYeuugIL**H+Nvwi6*1)+:?2-.*A:>^tm^Q~ȫͻˉD04{_mFTMQB+]}Gρ,z).itTF?-)[Yugs´y7J7:+G+6LG:47AayǬvUG0Pa;A@=@u{d5}y_P((/585)]IK<.'-C;1Fkk.1+Iǒ?bsȦK+9;H1`wЖW_0ea͋dB+`ylUC150,4E]cp}NaCMcqG*511-PɾϘFBDBG(2m¼N?6)?{^AF8+.*P]LBqf..*@.,X~l)Ќmuνw8);M@5-M^akiwD4+,J@;:)C8@ddh«gXO@12?9LN6OռѝaG)-35;8AIM0BPYVxɨpe[NA;u~f`ZNQ'F7Y~Gr'R?44Bko[ϱB,FJ>EIZ\\\H''UƍTD51M_JAJ^K\úǦ[0U/.Qj\,=>f46TF4>OPNc1LO`F/1:EGNwwiŪsO9'>hthPaM=NB@A?Rlh*KtϐsiM[>:EH49evxkQ61EVΠb`hs8*Hp{hMHJfvM'MQ+ln`@,-06M>T<N¼~XVZ~zf6MXpt`\I+6H+T'lϱ}bL@<++VkzujZPYnqKVog&UecU@+MSt̸̗˽̑w~{r_h[jÚm^@(2WqfYXhgV1JN|m\?d{p7:@Ktc5ˎgh~Ҕ:)DJ+zpPlŻ{A0-cIIG`qanˈ}VTU[YyŠ~GnzǵO`)3w0~rP-FПyXPM-*4͹c}tcFP;J͹ZF()&bF;+8/^tohJmhPTbΎ[=8]i:*>icz{<&-?IH136H-4-)3>SWVdq5(iKsSA85B:<-Mx~P1+'&()+(((2L>21.2KWI_V9>aN=2*D|M5//'+0027A7FJ5+)=7++.37.'-1,&+39:@?QIHYTW^MA;48?>63554306273<:7CM_L0*(9BMHcacrTXAQZhWCE(<77()35)+))0Ijgmop\IBBFRHD1100/08+(SO,'(*'85.,076:70*(,035<66;cQ=7,.2138?/5;ES:+&(4cpry}`JB??MGE0251//.>wA+&&(&-,)9@/1BUb]NPMHLC=:2'Ign}|hI.&-8FocG34=EKE:3-+5Gvлw{~pkdVC745:=:8;82.(&)/53?AGhybWJ5&(17=b{`PCCJTYU\ZYKEF'6S\\]@.&*/@5+)205C\|s~f@.08GSX?AKLP\box]KG().KjbDD95,+,4;;MKRulf]X[U]J>62.3E>-&')'&&+,2GIKK;<B>52,,>A56@C?7,)*0T^wS:,**.3DHaJOOVZXcvfP;8:IBF7@E-+2:CEJTgjvvwkdSE;72,+&(&&''*.4@EC947432,>pl<.FfkA,694-+&)1LpshfoopfSC;:183893',=YTvƗdP412,,.8Z~iTXsowrs}ojR5)+0:82[]C40HQSVesrv\E=71&&())(&)-7<7895/.+*'NjlfD44BF3*,&&'((6ClÍ~rsqeL=<74265,&.DE3&5^r@3)5S1,>PMA811.+49:F>/)*(5LzqfcYKKX`sxq_UScXG=9FFE<.aTRPdqeZZbfT<'(1?N]^`]qb]I?H=*6ScqY^u~ϛ{qaE1-/+9?==;:??9116C:B=9:=HPS]jniiXRNAFEIO[XPShaM;<09:8/9fZaXkq[`jM/*38>GRTQMby^W[C2'&0@>?>=90(18338;FNPXee]KABB937+'-0AdQTSclojY?'*/04?C>?DEEDNgWHA)&&&(*))*39FX^fYWUZJJNUWVQ[bSH830-)&3AGIUYQEEEBBGIIR[gOKNU^E3'*+*.9>76=>72',3KKYvy`VST\XHI@TE333/-))2@NY]g_YPQKFH_mp|pbLKOYE7*')'+4634=?<32&).,,6BJBCEDKIVUgNG<5858@CCA:=0,(''.;U[TN>:9=@8-)+,1;=DJUMEBMDD=@AOZBA*(.3>302339@Q^mnYseZ\N?542-,.:/-*+29?QXZ]ehoeifWQYgwUOT`T=/*(*'.0/27E?=E;&../-++1?FSQHJHGTRGA>591029B=415-)+0-+4@GJA>951003+&,..2:>CBAA=;J>=;;)'*''('(.34=53685-..0/-*+=@BFYpnesr_gmdUOX}g_c_UE815-47,*+.12>DGQL;//35.*+/8=?BBFDDBB?;703-+*/31+(*'-*)2/8:AB=86644/,0+()+,/5:DF733549EC79OSYC<2,.-)-/,)(*,0212877:@AFLPEORE=6.)+/.8645.2,(3127;66.581&*,3>?PDOV[PL8)*.-.*777/,03=5/+--..--7FF;58IJ/(7?HX\voPJYg^^K>>434-2:5(='&+-+)+03ETWUXR]`XUK:676/09;61.015?B=>;@76:/*'&&',,/9IRND;>A@<91.*)&(+*,015;>968;>C/-1?jtX7393=C=6240/1353+4=651037:AEDEB<87:5.()-),'/=HQ@A@F]G'0;DCj¯pOLVjdcj`LWUA:8412-+21F,+40388:23BSX\\c]niMII?7756<;5/2+,106875520*,026BQUB;9;?<201*(&'()*.346>CCEKHG?4'(8k\K<9IJDIB:-1495+3B?6448=FLICD@85311+&(&+0=RNJLD@ET.(=>C]ksSOW\R[q\PQE?94231/,1:313;99655(,0539:9??LL`whqkzgC=9:954:<6/)-)',-4.027107,'*.;23;><8?B?;323*/(,,'(33879ELLLLGH?@vY;7Cx^R^O<@?AD5'6CC?967>HRXZFGA9731/,((*04?EMOM@875.CJGUnTP[_`df_Q@;20100320:?:9AVSRA936/)&9LGIF>ECBBH\wlrbac?68:7861,****)'(--.2=A5)-+&*.:228:;;BE;64321)00,+01+08<88CPKIKBA<?u[EBq6gP9;MLG8+',6:CAA;6<@LZ[OGJLKE>85381/&&'2?CDHDFB664+,6\op\ZVuyi]SMF:434-+.055;24N\Z]^VXWMYaZgOPF?>78:3'-*('+,203DZ`J9.-*:.,&4/473458@BC;6,(&*.6=>BDB626;=HO>,FW^PE8;@B;0DD8PVM:A>*0G]ak\I|ft\G?:628<2/08B@=:-/@VXL;4-)*-24*((3:834=P^jnbdYD=BFF=:>:<6135',-8Ii[D/,6013*)&+.58225?EIC;:.''0;=@LKI;1022/;2,BQUNJ::2-DJ=9BM[]\MC@BGHGECDGGMDHHJJD95;965..*+((,-*(*+-17@KK:0-25&.>IKEKT{^A1/06E@64=3AA5<93;GMD<251.010-?73+.9?9.,2AT^cjaL<469=01:<9521-''4CZigS=-)28;8+&&,/6367=ALQLHB4*,6:OTRN;+)5SVRTTH@4-IA:8IZS[XJ@GL?6599C<;GA7/-71217460,-**)+*//348G7+'*)PTOXN=54<>3&*4A>A;5,(/>QVWM72=CH:'(112:@CLZoge\E/'/9IQTK8'?[_XKIC@91*;529D`VNTOCHQE<;4/0/+-,,+)080*(*+,+37>D5+++*.+/.2-*./'+0/2HG65J^OD?757263;.7+.-.053DKL,-,0-0F`dK83>BIRL=3)/>@<=KUagvlL4'-13;BDKP@4223384.(&.&0GNH92*0;FK*_TfW5,,/*'(&+AWZG9&2>Nq^MRUQURE6568>200/-169+4>6l[3/-,*,,'/6CDHB29N{^SZ\VRULA?=FA@=2.,-020168.,7<32=<,Bg_ND2';Qciki\O;2GHIPIXTS\fbIA3-'2:84/*@?;EP<:73/248Va_F74399853*+(700,,3;ELCLD99-0011,*&(*+,,+/2RWI9&,(2>FAK@/6STA92,,4=I==??BD@552()14/1(*/2=<@::3050CISGF5488411-*//>?--489<fLL9;4201*+1CgM@4BQK>>IWRMGGCFGFC63202231+((:G>GF6-FB=14+*-9RLX_W>60,3A?95376639>:29;.)&*78C<>50.15>A358778931.-+'-4*-(/(,9433346:=5.018;4.*'1OH=9(*5R[VKO?KJHALG97317>BOF-'953*3IUNN?:5=>73221/341,,1:8AIC@4E?4/,1=01..565797=2///4/&.196235=A3-,540*0*((*.724410.-,79438CF>7305A841,/AIJ0,968B75534@&OYJI?>BOGHAE<.1:;4,,-468766245.,:ZYD+16<+,4128-3/03;C(XNG7>FVLD?=:,,02/115=?<535747;FqZ2,2447;40-)./)-44+*128>AA99949AEA8;HWH;10F+(540+,-'&&)**&,.49@46>DO[`N@25@5-/'&(,.-'((*--)/2.3;>74-6:<>D=8EO^~E'/314891/.).6),6;.359BE?>656;CF=9ACD@85:90)(,/>FLIIF>>>FABFYovþ_7()'-2279?:06/-1,/2;0)1/47:@CB=436?BCHDQKTRKI?2,3542.'3>8,,''*@USO\hgbgjh[J><=792(*'.+.247?MGCJD/CECBC>967<4.03)*246DNRJD?88AEFESiƤyC30*,/)(2>;;@J=:/13:4*')3:02::9=L@:649CEC>NYZUUSF;1(,/?-'8M[Q0*&./)1Jhmf{qfbXIHCB;5,-*'+'-29@?DQfZDOQA)MHEB<86810/19,.344BCPLBA<76?:8@OQN?ISVVbY?.&,/.LXN8(')+515*7Ej}|ɇg\TJMLI=61++)(,/,01BEJN[pe_UCJT>FFA>:7420(,1:.)/145=FEKD?C;78=DOX_p}zWD:96:>1'004;9GGI>EHFIR2:7:7>EL[WHB:6369K\\QPBDO[RF7)9N<2'+*8W)5@Gb|d]Zgh`F=7/),-+=-1HRX_px\_WUDK:<9853-0/01;0(.8E@E:>LC;8:=FMYqzuegrfPEJHPN:(,05=IVQIK25DLCMNWlm]B;767;CILQ]pwQEAKQL;0FDA-(G4.'&&+6ERUsy{zVK@7,)(+-..E)@5?oljhH*H64724100/43@7/*+:8555DB:9=;BIShwg`XVernZ[RPSV7*,2:8I??=IWPF>8.++.AL\\_czv^QI?BDI]]V_bjp\JENN>0.158/2B(00./6AGgwxj{hXE8.+.247F>VA2tTNH?401..,0883652/+/.,*+25547JUajiqk`VUHLTfe[gZdga^ROMA6)67@533;>Xfls}leuqVVB7@9=AHdhR(RдtR`f<4..-++/65cQ@>-+&(&'**-5CQjuyq^T>8::>ET[idRC?C4')1@CLYTUFH815@MCVkv{_`]MKN``W`gacXabdSI;3*<_aC:AGAKadfx~reTlnōacWK>C=DFG`nC6hѬzPHkdc:=71.--.642@>;,,)0:J_sukVJ;8799?JVjvr[[P4/9LOUZVHF==BSbVZLK]ZjVTU[eifj]TT:2,8C94c}pTc__^ygcZ_jtpzwęd]TB><=BEJt_=(33*@x}YR9x{fgLG9/-*-42>=;8)(09E[ruj^D875339?Hda5'3BMUVXLFGABFeeVLOU[jgfhXS\fkw_PBC96+**(,&=X\M4)=bfixumlieZ]ajh~ch™hOH=ADBDNYIW8(1,3(C^reY\gC8tZWH91+(0?><;*'(26;0993.*+/,,.7&+-)7CTx`;*+*.;HIT}faa_]tcu~aJ=9@GJMV[I5.&-8_*c98lwaRD9-++,WV)'(3>BI\bW@1'P]_`eWDC<@:KRIRpto}tXOYYWbi\JLNFCB@FOQTSK?303=EGC1298=<38C[c@/)-=5H/*)-39:Dc}{zwwo_^eqtt~yrUB95:AHPTK:,+)*/1k`kp-HOAEMNG8-&6[f--9>:Balx_LCC@BNU\UEDFB968EUfavnYF8:==;58-49@CDC25AC:6,,3&&)+,,.1:<:7;>15FT)A1()*(BhoT82,*3AHFFD=2/+&0@XZ(-1:GMC7:>DUdSA>IB;:>C119JWO@8448DSUKDDD?<@LSkxu[F61872(.2:?C:2224=KE4.)&2;=><87588)-,/./25AQZhaaWLGJA968>CD?C6413@T_NC:3836@===.G.0;HMJ8(1K`O@4'&)-4CRRKD801/.16;VyO(0,0:8@MM=2003@J?34D6228B/+*08:73018DSRFCDFICK]rraM5..-)(,2355.).*-5H@-*6>;A@?B@88+.03357;DL]URM5.422,)+-/.,*'):CC?4-+-56>>;'j4P1=VsbH:/,)1729GT\WN<2181-018L]pcUUL)3@??A=EMTE:))*+5>8./6645BQ9)')+-31004=EA?@EL^Xdlg?3,,-766:?KSK:+,(+-273/29BDFKD0()+-2+,1349:;3+,/1687403*-*'&),*.1<3130/h,@6EG*MQPSXinY?3799-,4=C0'19966>FG=3-1+-021,),4CKLI=2.4+*'+178=JXcthdw[9,.;3+5JHB<646E`CC/,*&&(+,7877876<=<3.42:9;7742)*)')68/71673]M).>5,*.F@inQHJE:4569BMNOO[ji]C8227)*/.(045=?A@F:8980001-'-25C7&2=B.-&+214>ObmlhcPMWJ6,2IF54CdicO:8=>V`CA/9*'&&(*-2<<8;7;:85567246>>:334600,)*)*-6087111?)HjMZSI5-/27+@Vqd_UB3/64:=BEQ`tuhWC;6400-55AGAB967;>B6530+&(*,6@=)((,3B56Oz}JJC*2X}\TBCDQXYQCD51**514?B>;<9>B:757679@G@6325426--++,*.3788...1^0poKWZ>A^WC1*Gtxwzn{m]C1)*/6479?Rv}fUPGCDH?8',379?E:76525@;;73.*(+7I'.4;ZS;6)'1===Su@@A0(+IspbVMTZs^M[D6-.6CCGVFI?AEF=7745::=CC<69G;541,..---,0,.//-36//./,1@OtkaZ\]I/423(\dok~rt~vO2((//103;VwoXFJOQ_d`T4'),179@::72.-68:=5(&'&/?'.5=>;H8,'/;BMse869,,7Zuoj^_mk\eKECAAUTUS_\GHLB74146::;;;>:CLE:30,&,-/02./11.>33++36000-+@Ro[xaeMVI=:7:>0?TtZfkaYlY9,'&)*'(-4:C@<9FVcx{eW8'-+0325:C<640,-293,);@,12569HR@3)*,>Hjd>.3,4DwɈgrSKNVV`eh\UOBGLF;744:;?999;BGIC=:1-0*3345/1899QN=35:E7-12114{9V>DgrbRD80-:A3OOB1*)+.04=>GT]XOF6*,-14>>>8>CD=4/-*)2;?0)'':>3(/457:INSA4,/..:I]XWVA2>Ob{͵rZPR\iovj_kQBBGK?6/05<<:;@CMIFC;H=:3024562?9=EBbOOPSZ:&-/,/5<(\P9pfxW@76D*-7556>D<1893,3>FQIM>8:?<6/..-++.4<62+66-*;0-'.2778ALbaA1)&'2H9AI<6=KSYfpuϜkOLecupyYW`JAN?520425;=9CGRSLHJDEA<75:8656AHTR`iMFOQ,*,---07T>s[Z^zjuG74))D/-05335;6-461,;QbiRM;24599530-+*036=7DDKXe]PMHRQH9;97>35ADGRNH.0E;&)230.0:fxnN?3fiG6+0.Z4*-836;9.,*0-,-//2Bd~|_A65676420-+).-33CR[@7X6*.<2;D:83:EOXTT_B/+0-19D?>8;6;==PY\mcKJVinQKIB;><44>>A=.)43303@\)+HOP=,=A1.qf.0=378;<@:).6413:>89IrUFE:82020.+/-,./CXOF6<6*&2?=0397M>9=JYGDDA:+(*)*-:E:0,7BSiQ43:\a[O1OM[MJHGFAD;?BCSa`z{qb\gut]cTE>B?<:/;8+.0.05OWW)BNYN')2MR/62-OV'-B??>;TJGCD;,&,9;B;?GG@APoÐoSHO=2121.-10/*0AEVD69@+,*,)7??3.*249N?87CJGDF=4+562229Qdź|^GOHJJSSE/MLSWMKGEAEEEFQRlrqQ__]^fZG=G@84),-,.9=,FI')@84?JPl[>EK7',VYUMHD1-7?LIPXZOIOZfx[IIH;41220/1./136>6FqM/*)+.,0594(+95>B8:9EFFHSO;1)(Hj6GEJHEJHRMIBDP]F>;847.O/7.9ScY*1&,146WXP@==M;.,2,,++,0;GWNC@GHGILmN7.&>dvnQOYLE9;CMH@>DIC?94/.058B@RdwXji{}lqmL6/<375o.78(O;7.>;:69437/4FRO?94--+*/CMftjuslpyv}mTB;>@841111,,.7B;=DBAB>)'(+/.,)-;go]NHRHFCG]Z@2+(0I^jnB{tSVF`N=9=EDA>678960**.14:=GXgVqs}V8(*,>;:>3=7<.&B:*4HA71-.2/('/BB@@IIF+&(,411(1Arok[OVQLINYmJC.9K\tkslfWRUC9999353.*,979?EGUummOHOhunSFC62./788B:U;H:FL6A0/5+1@;6013-*+2;;-())*(207DQgrpe`imkedif\A;;>5*0,)*++/2=DKHB?>=>:+*1<53()1:]hwxsg`a]SIKhK?0*+=KZ`g\VPHKG-3[VJ@<8/.3373/++/G@?KLML[qhI;=GTC8/12/&)*),+,582;4r5:7A8&>,5N6G29:801(OQ<33*)9D/..3:IJ<0,-+0=GLT[vbSOUPORZQNB42-/,,)05>BAFA??=;3,8:6;4/139EZ{vfqumYOHMX>..+4CNQOC2596,[IB>2+).22/*)+/IKLJEEP[q`=7119.,(5-))(522>FEC=X1,KlN@6GJJ,ci^4;D@0'4CEAC0,.-9SOCOAJuuR:167BS^^\b~cPAAA@ELGH:70/,.687:=<<97,968<<669?G^i_bsa[SDLBF5&-+)&(/2=FE-,.13;ULA<5+-+*/+++*+1CIGB@>CBKE:71(-10/(1?;;C`]JA21'luiXD64.6=QBL3<:VV67@5(-0=*((,QOYYWT\tF76@@RX]\nxaIA<>@Unm]NKJHBPWIQWK2*,6<7>8/@;51589:9MSNE'))'&,7PgjGC61-,/2-&/8GYT^vq',.QB/;DC2+@LMhPD4;-++)*/4-&0Eb^PkzJ50.44>Skum[KC@>815DOFC:9*+&9A9458GUnpcNPMJNHY\\bI02)1787-(/C8=37957:Q_ZOSF5*)&''&'=]bFA0,4.453'.7.C@+C45@+./1176E;I:.(3AOS`ZC3...0@ZihntWLHD2168224;?;343<>FRYaz~l[JNXYYZ]]PK32323,(49AIEMD<318:72*&)*'48;?PXo0Y171C91-&,582/''G33,3:P^C0&+84.74E9JG,'1>EKH5+(((-7;836/)*7=NEDO4917;C;2'(-'*=@BDSpqN,Q-0(02/).'6XyiQG;+(-;21*66`ZbTK;(1,27,)0,LA2'.8;;:-4GSUf~ZR@872.0049CCEC1,5;Sbddlnll]MIYfWOD=72137:3.4<8;@B4'&0-3FADMcaJ54,/0,015HlV9AM5/3/('\x}z}Z@2(0188,'&+@G7064,*.<@HFNdttYF3/02*/58=?;869.++(29I^b]\VTXQCFHQWTME:677367;,*((13`JG((++2358EW^MB1//),378=93/+-)--8F[n[QJFGF:>=AB\[L>;FE64315,+(*)4=M@DE)+.+4/?43312(((,650+5)''-=GWRRHFH;P'10&*AF`xjT=WHY_65lXkqs]_rN/J;71/.41/)3?2L8,4*,0))(*46-,-',31*.>Xw_IFD=CIWc~z|{fP]3VTSPNUb^lj]QrP1/Kc941;A7NPH2@[?>T?1./409EE:883.'.41.',-(/55-)4>GD?;<>?@;@>951/-2-.,,?7:A*,)''.512638D8,P<n{`i^KICDtS4;RR/6588ADcM58@@~o]A89mTF:4x?Jmooweg\LLKMtfgxxM:1+@H@?WYFNSBO0513@KGBA8433+'0/&/9<;/)+08IESV_YirlZUN6410-+++,,2-(2<@IG1+4F>MTZ?+4+5Btz}mUSF2KWZt1`\A;MK9=@@<684)210+),237>MYW]bf]aI>530.++,524/)(.5:=DOL.8FTQB/->Wk{}p]_KG9E3(MFc^@;?7hPKTFSikhgepc_vp=9T@R9IHKMYm,DQ=2/.19:775-+*)'.&*0+++02159;P[hva]XQ?9530-,.;<<7.(),.,5;OS*?N:5Mn}u_MC:2=cfN++)60878E[hsqvd]Yz}A;T}G;>JJGQit6fB./520127//1.+*2/-.002.,-23579:?Zyw`UPFB@@81025=F>4+('&+9A7&/A]taD:630?MkV?*245Nb`UX[QMk|zq73-'-1'((38-5ndB887445-,P;u8/(5M^IDBD?:WnvQ6,-/@|URS\URWT[i|6.9:010'&.BcK99=0+'(.3*'+',+1:>D^têmRGEILSTccW\ie=='5JR`l]L=85@I?@585DE/:Qk`eU52=Od[3.'/;PZ_F:54DlWXaaUQRK?:@JW]WXZZzkkjylmzmXH=63)&,/60)*0-Tk.0?I[IXvti]fnahqmrun\_]_IAA,=Z_evR?*G<=F:4<BIU][W]^rsou{~sZK;1-'/93404,&=/01?OWVUlz_X_k]c}}|tsxu`cjzl8M*^`'98B^dP1B@GNGCKHW`eDcc}x^J:093[.))3DS`k~aF3Abqsagg{}sY@@?GLJOIMXhss|sS7*'-79405-[ĩ0()(,4;?TZTZYPMMDEOhqntvtgl{zG,L3=:)(+.A2:S`F1.B><@[IRpEizghqqcB09@;++<\eZg]a;'>_h]hY[YypvQC?:8;=@;>),?01)>)0HFCI+I@4@874v{hKlmtӎc7k-.D]ZRSI9-CZw}wqdTJXq|cVP>51235359FhhC50+*+3/+,00drL)(,(-)/3/0/-&,3201398>3/)(*1CajabzpU[(7+;5?Zk:/2()75:D(+NS5-*>VRjkeXd=&Ip_3?JA:54,++'-B_nxzxbLMk[ND@<3-+/.-06AYiwsvkK7.//+1831.1,bynU;(-0252,1-63;=90*&*00/.-/++'+23,'r_moY<*15:29923:7CEF<;,',./00,').7IVcwx}wzm3QgDY`uPP[N;2(DE62E,-,+)+VeeI30VN>B<<-,/+&/00:90.,.--'*&&)''(4CWWcoukRlYI=:<<6,*3DV\hcWUWL7*&+,+2?D?CA6.,,ZjW|R/,,,,)9@7BA;A>@GTZRN9+*5621/)/:FPTZzyjV^cKMA+j`XNC?1/)DD?F1,+)(;6bbKC8((FAGXK80+-.',.144.'.3/00+)(*+2DEQgcWPUULH?FJ<0(&(3@MT\VMLSI++,)*CSNFFE;31344/5?,mȖ]C(.;=:<;=BLBCC@C;KZ^iaL9@J65/,+5@FMZsmnwna^E60+)2_t6EF=6/)-8O5-+CE1651-67)?FhU>3043/'+/012+-',372(''.:HIHDADXVe[YN7)'&)/9?KWHCEG;-,3KikUMG@;8443;B8^avȪ{U2'&)+=CEB;GCGHKKFFEBRj~rP9DA+&059Lj|jjg[?;:+&1Esu^dJB;4/,KL.F5FE@,'(.3/2/<MZhM:69=:5/&'-33432*&)143'-5;=>=CbrwS5*&((*/<@<;986*,)/>_|sYFBBA;.3BGFJJL?DEHfc0),3BZbea]?',7ZZGL25.-/0(X;OH<>8--58,-G1-M\SD89@PKA:3*0;BB?982*-&)/22)+2;FBHoxwX:.-,(,-/785<9)-8_nlMJHDC=.@Dxɛa<((+6EOFACA?@BEA<>]XHGcYE-H*+*+)2=ABE3.*1MG?7E46,(+'(?FFN.32**.6EC97-OhR(/ZWF?APdfWPIMIE=BPXRGB90*)))-120.4-.59Pcz{uwM70+.3/.+13310+/4?FULDJPEO?5IjU<,(1AFFA@GD?ID<7/8>[MADH2H?0(*+&02(&?-@=65->9/*D<>2132.8@QG:>*)AGJ@B,=TLD>KX[^Wls{aRUdk`NK=2/10,.2785/),(.>Y`_b\C1420-01421-,)*/>?IDEIOIAG730;-)36+BDIJLH<7DB1-).h^P2GT:/''*&&*B+8A061G@'B7,3+9A09IMFE5&21:B95;YFB?EJINRutdosXaM=:=4017=?8-);T[WUQ@32/07<<:1).28BECGDC??18421-DBF9B87;DB02.PYHF*,3A7.'&*6);->):/):H1+398?MA3')*-/E>9VLGCA@AKcxyg}WniYP?249EPHB5&+4V^UMJ?3,+@=6).:6@JLG=6@5-523=;=;7.<;A>SIXRv:1,/6<69C:1')(+FMPJWRPK;@Xh~u}o{hEA;HEOSQ>/,)'3YZLC?F9+--&'.187>GJHA:;7073,;ABOKB;2'22;3AOjU697&),:.*7=/,*)--.*/;0/148=BTZ[@/2A409C?:5@=-(.205:>=MULD.,&-/6[aq,=NV7&//*.0,B./-1806MI47321-37A(/12,-051pJ.rhTJIPXoϒbQXrT>=:8>9@ALt_Q0','(TNKPcU1:501=*)'-3468AEC?;>=FI?Aq_^B@&42+IfrW>50)))-/54=@HHB?9=FPPLGI/),'/:;5=LRPA<-+-),&27D^>J0*,,/978/'9..-16:71B>6+-(*20,)0=KXQHJJ2+lKD-^aoam'KRPIeNF_<:J;@WN>:r;/-++/28KB>86>P]]SOC<-.+9@FILEUYB@0,//6.-;,46'+7=3.=9.7NQ3=A<-0('+1*(*7VajhYH<0A3<}bzn\rh@IWhRaE@?=8?-o1*++6I80,2CGHLRW]_;7815<9U6*=;@>)**)*-22D''I&4-'&459C'B\71:\[ql),81)+48ARbua+(;G6H@9+16NYPOKMJVWYTBA=8>C@(JA58?;AAXC:-'-.:9zwPTK335DJ@'&(/7O]MKPE@1908VJGHXR94[ORbtmJlŕ2e`\Lnxvsfpmhhh(J2E3PAB9N@4,5007EFSWbPXIM7?3+0BJNYYV^^]^`ZRW[TEDHKNC]+7594''.6*/).49BKUWRJCB\dP)+8FMUJN>9D416/PiUsoBB=JW_`A^XiTI[^Exh@DH84PP:92B9,1C@>>O^LLNO?CS'2'22)&8Sa_YUlhMP]XR[cuhn\WbgPPY7++-0/B/6>=^fiocY\QPv83J?=&2/QTL|Y==6=:EbfJ1),30?JRNSE;/*2272*3QVhb84@3EN8f~r\;fVi_bTdm>UHSJ4LH?/.20,MP@JYhdQYQ<>C-74().Hbznfomxwe[[gflgs]mT8;*D+=);=7-Wm~geglmduf93:J--5:?FTJ=;:CCBj_G:,+.:>BN]WN>/.,..38-?\vqL606;2CE[kjW`\ZL;FsieJWsYPe8,)&.INB>N[udZVAEF./;W{bY}saZf[bvtw?83/6FTftdjqKp3S-'1901::BA;6=CMZS>2)+5:OW[;12+0/01.*<95*75:*)FHNYCXFpN1,-9WR=51..67?40*C>72?;\vjuɇe_az827/?ZnUxi]OJMR}weER}dic]B@<=DTE<*-4;1'(+>PRGXϣrzz;I[FI:(-53541--3ASOL3,.3=6<=:459@LdWE22DRp@(BF?DNARYUcI(viQM',01Afk{fVna_j_`@=>RNL?,3ZYE`9&',/::-<4)-,DGWigXɋ{ȯ<7JO'p~(,4;432104?@M>0*0::7Jd`ť`K'F-,+,26.-/14;HJK:-)2AAXq)EF[m`;GPP.Ob0S>3=7(9c;^aU,Vkfc85mzrvoBWxē_E8:1.,I5814O?;@E(*(8ROv|uuλm=g+*33/26+))+2=LIF93169K|tU/AN]q[ov9@642-Z?fEPSxTCTgwlk)+M5@E|3HdszrbOC;2872+*2.45?ZhlH>UB6+;x\d]gκ}jI<,[?JI'(4302<*',6,25.8@K?GmQha=).00/34LTmơdV//lDL6'6+..,3+'*4@=.ASZLckCIUq`i').(1+1[h[fT6f4Qs4&)Jme+,-:@6Rclp}s,BMKA3,,,,58(*03EHA?KSTA3R]gE_~r?Gnv^0444;4F@RGZ_UaRgyzcE66>*AC,3Mcom&'../3*445PapbfbpudX<&5;<9/0/.0,26D@.672O;4>KLN4]232BFKMTYY\lgKB?W18?2;3.523,0/0HXD9LYPqaT+@A:7`2Y>0+&/=21;G?;<2<VId~{pS?5/+-<4:)+6d\I1&+./*(&(,//0CE69A98;?1/;WSS\|kwUF<N-.BP6eXRE202;@?92/-1-')((+?HECI/PBYUJJ:8KKF7ThxC:/DSTXKF=.*3+.^Yd\QE270.ZzvP`Q@:<<646511.,./1AI^o]ZzxK7B5/+*,-4-('(&20;>I?KhxV1Q[J=YU:F9/dIV8a?)0/+MP0.*5486/32/=LMEA2A97768?F,CaoORL=DKlrkmcB+**)04TV9fmwlwJLCIG:@G>50/0/,/6xrnxnov<;4(''*+,,9;NHfn`G\\by?m7//+-*31537+/1/,5)1DF0..)6/304-MJ^ULH>4<3<s;4/*'Aduz{KVOV`JGQE81110.9;k}h\UXjhMH/('''((&(.IT[krXjJ,;Lgsqmx>*-8D---)/5/44,5MZkO?641+6{vN1(<Y`uuo_deYT|jE765439:?ESPc]KBGRT3/'&(6LDFA7]VKZkhU^j/)28'.757:=FJZ6&<>78*'8:nY80*5F1Y_hoqli^VignU?:9:>:3?WEKC29@U=.(&.('+A-)/17FH7;?WR8?LW++)/'/15>M[z;DKN((7sF.)**18UgQ&JbkzsWT[SOjmq[BAD?6*;<--RT;2,(*'3*)8>>;L)74=Qe]SN>7<<0(0-18GWvx7:OD91tc=1'>]opC</;U]T_QDCFQomXpKB653'7WL03('57-+7+)T;/A6>@.&'')4=IWgvxJRD0`4+LT&0?7@CLTK::@ZoKoYQGA2&&*`R=5(02-4N5,+2@<.+DM/)(034.)*+6BLZEZF''&`|pVzm;'2P.=DD=77@^sMqOID480+US?6)&')''2?9-*6A2-,([TB:))9L120*=9TUv`Bh^K**(,NP+;@O@)TJAKILGBBDOYcPGG=1.(6-)4_Z_:4(,'(7CB0,+0?XY;2,(=RM,E*83)783J`l\F())'^uH.@:8VbBIICDLcmWGD83(.@BH4-&)<41s}d\<*,&+>45P1-9^qlI2/-'0`='-./2)8Gf&+,&+/~g5umD77;GOU]i^A2*.;>Ǿ5&**/?/+,+JTJ)+[uC36CMW]leOE21.+CJ@A,,8çtWUN'=3,+^MTuV`^<654+-(,?JT]qRl[6[]E<:-gAZTNF128.8?(02024309:<@MTA=+)*0**298AF[qxjbA/-6AD,))Xh1ALhqbG03=FAo(xrgYKF?:652.15.*7527D@:/176/)55,/01-*1>865=B;G?*&)1(',(/:Of`f}{~dB5+=QZ1+0C\OBJ0')'D?;PS]iXHJi2?X~ӹM)-Rbw}xteJA>;631,*+..(G:8*+7<52*)*,+(71A778>11@92,,((/+*,&Hea{fkgL5-3=;''5M2K[\xX4-587()D9<`PH)1Ec6',:J`(vp]I@><2,,',7-9''=@/,/87;85+*((T@951-12.951/-1.,'&'94.TNINF5/('(*.2H(D\s5-?;7=5(]DLG,Fm20<ALSlgr{oTIG<1/3<.):**??K<.'=269;58+&,'UX203-.*9C66?71./9.*'64IMgh99941&(*68757<3(1'lR?Be>/0)&8\QMVxiQ=PDc10*,2?FCEMN<82'46<=:91.*+YXW3(*N?:<89@71*588('I?SWQ0/,'(*27?=4430*'*('/3-oMQS.'/H1-łYcFDhF=?,3:4'1I\t/_Y8G.8;97EfÒdXTE2'05A-RHEWSJ=?7,'(,30464:<44)(;70QS?+'5k^KED@A0-.57->V[5Wb[P51-&*,-4<8,.-)+,*(+)*,.*04kqv\U>2?-5i}>bgZbUPKH)F28@55BN=+&(90/WZC_ʰ{gDJ=9)29DU_P^u[A.-3-'(,FPOfqqhNBN_dGTdREFLJHOXSLKLC4*(+;SW;26C?(3,(bmRSQC5<6(Ogolicˉ7D+(((((,**6HD;96.*)&'(.02=>OL:@3+.EN*Z_EH;B<26jncUWG@?&(*EH5UN>(20;BPM`EQbU@2-3/*(/AJq̩yX>.0+L5PMD0+340>Z]_ZZGUYJ5(.;F4&4>VaWVnsTI`]TQT^jooaTDPee_M?A:1?GC=+/*+'*DuxmFgnxlG@KD58974Eu_izZ~qz|CIK>87*+++-')('(''278793/+-6^_Xiҟ},,76.C.+3A.++9Ieffnd[mhMB4.EaD+7B[p[^cghbdBA__HS[}nTNJIQKy]TJI:,=>D6*.*--BDOLgadZ_T`G84AGWB;PRQrj~i3FA6/(***)'&'(370+)((&)(4JOXnȰ+87EERLC&,61Iy0,zhek\SP@,B]P.<6=LHWW^JV;=cKNZclWSPOEGfskcVI>H?=6-'9::46A:=)((bYZJ[iE9G4>FBGFFvqyphja\xM=2/25)))(-)'9545)*.?:+8>;HTkΧfE3&>MA?<56.)(+*:;OPiKBFLNCHPQSRQLIFRH3FHMOLSUQ]I>84:/0:kO9238.S&Ra^9<vWbqQ:049GB6;F(EMO'p{^45@@=;32+((&1/9?/6mvbc}dyjcz\E2)/*20.)&02*60LLB@=>CJQTSNFH?D19IMHSVM?SUP:KE;1,HWSC4157B71?C;eoK>`kitt><4;>DGQ8&QS<_x{C[9:BNRI<3-.,++)*(-&'+13++.*.928EQU\}^YrlL<:25'5PGNVO0G==-?D38_jnQWW`_]_|^XG3*)3/'*--7.*4-<;IFDC9;@ESWSSFMVT9EVIDGGA=HH@P=@>/))TggdJ=88H16A9+Wl@>csbbpjGB=Q[QJNngc`lNLA3(.,6:.'.*,--7-).906,GRGCAMJQRQSY=E>BWHDDI=:CBCVOA98.&3`uVND@HUewxwmzqQEJX_UcmNCF<8U.Vg),1:GOJ;1/19559<869_jB0>DC<=NgL;'79)6'/;:DCAO=)D+(3OP^`P\urREIX>9AIF;LCQNIDHRm_ZZQJB=<))20(+-2,53381/.13/22*3lu;_ZIFJ[WKM;7519JR\T=CTWD?:H?6-&6R_xvo]RVVNCS4Nfuwjrcfxn7xf9-,>9ZYs5.-9E4EFBDFHRd\aXGFXlaC.90017BFBJG5,IWLMrIxyeLC>;=?GAIUROM`YMRbNOL<544'((/3352*09B:;1,,+13,OLNEIUF?>5000;W`ZE>PI<5/1;NcTT^`ZPig[H:S3\dqo|i,EE56M84>@:;7GJ@7/-1@UbLM]_Wd[[un]kI-E9&:;DMHTW;8|BK97l`vYkehm`cVULDA>DGL^KDGHPavO>@@=WGv{ũ7HA>NQ?DGTL5/./8]v`b_bdrkfnrZ(19*D5<JDE;7E5C;8,EAMB>CFDCDEI;97..,7E84888HTN5<;13/4&H?4UabG<*,(8Vh`lQqls~|zZVHQQ\cZH?<<;L]~+N=B=EfA-UC7dk[kNc.'(4'3XJENL@1-*+1KksojuzÜ|uhkE-1-9N,14.5)+7/Uv@::@6CCACKT[N=5-'&.538ENQZN92213>93+?`rd9GA9&20=GRPQXgffocso|u[LKNYlrVF?>61AHGB?91.+.0?69BPRJDEHT_M=60((;LQPaWA1300D?05'.8EYZE5,&4_4gQYC88=.09`jj\DFi\:DEas~˟?]cSUEPRIBE;6//+<@?1B/9JS^w|l(*-5}j_27.'::(,0FzdrhmkeLD<3*.+7*9=GVWOGGGLYSG;.+>ZjQMH9.)AC6G=BI;3.*6/0,C502Dhy|:A@>BF>=leeqWXOGE6473.P9=87?++A8)BHWtuF;8=*beN9.8:0-1`7:5,WM-'&A(.4YbRG1gNGD7-)/+ADM\dkttkdNJRc`VRQI:1.(./34@WXWMF?5/-::2+(/FNHTHF9-.);EDA*(B^xj6-=_VXQ^myhwyR[n745@)0,-1=83KE_ӢT>(-(..@I64B08_PeVsiI.+',2YPP2,-DKIQQbaSHJFBKYabjjY4(.81:MUB,DB30;AERcyqg23GD<+,4E7&FH^ˆd6)06A8*/+.2-6;F?}d*5,(AaZLDH=/11+AAB@AA>=<;F:?AEC^hR:1+)3;@UQ24+/::<8Ay{?YJ3(8&5Y_2@Q\M>56?DdiaH+61-4?EJ=8=3>P@&F?CPr|{d;01G6'))(07-=A:@XW.TOA6)1KMJF@95;XP?>HB60/0,,';aWN9;>@?Id[3MTQG\pbWMFb9(G\L?93BHOA:NKE6;B@**5/&'?/`ZI=36=DO9224.+502=DHL6LM=B:+D)&-Mp\bN`v}T29;./:)3AEIQ@NIA;5./+2?k^N@CMALUXD4V^eU^xMZETE*K6G?24=I(;(&<F>33>X4B54=@GKQvtg\su{\G@:60(AQTPHHWNMF=7/X4(>Jhdi~=A3?S8/73?JBK\f_J<6601;1)28q]E@MUHVPR6DcqtvXkI1:9DUJR@596&EF(E?/3'AySa?334=A88GPNSRO0(42.-624@bdp}zzO5-5t84..C+LIIGU@ts`sVIGJ@rZQ9.GHDDVZNRZ-*KFgdՍnvV1=8MGVMJM&-??J<;SCC731(.a24FfeJ:79EACIK@69HXNHGNX:6G[paWK>::<98KXMisUžE:LD.+,-GMrȓgqTafW-<liYS5J867.,JI=VVWVb)Td^8u7BKDd^N+*sF6<::5<ZLF=8'0?236f936P}^F?;:H]SQVC8;@NVXUSNC=\`^_\QA@ACEQxoȭk4jxstrU=.0D?oWL<jhx̫dhE_2AH6PK<<=2.,LL@Gjl\pZkX;z7>)8S[6;bGaC<-]S=RVPE7<4(2ERnUA@y;:=AMDE?>;C]]]b[PAENYXOJFBDMSgYOA?B@BK|ЦxPN?DqtPGJ****<72YKFBQEXvbTTXKRb6/;5)'CJbV[ejuamkX|_9n[&=3H(;<14;GRH3,2bbs[=?-:6KS^PK9353:HsĉZQPR[ncQ:VE?S8;>[KGD@Zwf4>:@OFdf@=,p[XTdf;5/4qjk@BICDBMbxvm{{i[MA;67?HIF;10+-4C`̦qSEHShm\QA:P^[V]H;RUL6>961HZFYbSe8.>\-72]bWS]`X~`OCDLgϧ<1*6-^ffh601*.269=@BSmAI;-0<0-&24DcKw[MFA18*1jSRSMJCHZidivodgcL>A547741-.*,4AV}wskg_OBADKCxj_IN(YW1(@9<D;.CT6gVG2+-2499>]mdcddcIKOSO>5>.GZycor|aaO<<2,WWlG;=+5;BDB<;BLS34SJ86+00(6YgwhaOA4+,;XBccgbeQQEJQP]~Ybqt]OC71/3/0--),4AS~|gZ^^[WN@;>??HX`KDPb]c=17AL2*hall8:@/B__deZRY:7TEC9<8@Sste^qS*B3(;?;IozW9+'+'/9:<::9?=<:>DGrcbcW.rZ3+E&)+>785/NNUYUBYhibUJRlo_I?A=+03Ah[HJ:=K>32-304T/0,8IYC<4S>6>9C>:I?9651t]L8218HRKB?FRDBEHNdeIUP5)*2<5;UdO::hnB,7--,2=MPHEBCA@BOK\\DGP6'*121-25=566534@TQ>CH=KSTTGUYki>NZJWND6C85425HXNRRTKGA;8;CH=71/&+',30/*..KdJ'',18CUbZ]GQM-DJY?-'/4.,.7EOWSOJ;;==C@7792-,+/51,+.28::0/2@WLALBBKR_YP60]O-\UDA+v+')(94AB\SFFHK756546865/,+++-1-/7:7116;LS=6EE/127@RY[Xt]LMJIJD8;?C<961+6+:.;=FDMJKFH>5+)))))()+*/02/*(&17:?BRopYQJ_\G+]XTWulZVPOJ@0?H858<@+4I+<@ikNBAKLC;410-+(*210-,,-5<854229349OSR;MS*3'V:;/4+,02FGGFFF?@4.(38-.5(,<>Kby}uYG:IPJPU[XPgj\PQK@3EM8BDFA>><)Y5;h˝`KAGIKB61/-,)*31/20/08@<20315=9AMU~=p-?211Kf-N:7448:7;EHNUavēiTK?+64.02*VS]K0?OZQ.=344MT<+07;>?CGDB@=DNXh|aUUA20:LCA?I=1(Kj^>G(ioQ8PXhNMI>>OUVM75A/-:A7GTQMIC-&+,')/816;AJCE:=D\[y^TfcI2RZUBF9.+'ezUR2_ao/+`vr\NFVM8-076'(05E9(AUUVJ<-(1/-35<3+*.484/.2;BDMQMNax|f=68+)2O,H]+:@H^L:D:63>&)'/3&'5GG81,,-+33:@B@BGKY_~kNXhuV-+81)(\J;OPK*.dKI?4,1Rb_J;/.;8981)&,*+.49;?DFO]rmlh=/(&.&*/2;8:DP3INY]\<3@781/8=1*73LWXR>71*'(*,;>=<<>Oqs]WWiwU0)*4<iSO*,/g}`+*OC=&S4)EiiK:1*)1>ESH3.,,/379?EIUjwkV_L9&0472.3E+.5CBMM:8&BI'IFFC?4*BSMWWSK:+(-363-/?]vglj_[dmQ.9AjsYPM135.c¿2=98-/iO'w)0JMC4+.44JZB0/0/268=>>HS\bH>7-Srw3+13)F836/1RKFMLH5**&:?C@A5-./*72(<^yll+>==+,259AK5/1243248KLO=1*X{872,C8:@Q@**431:=\7P?XLJS+>7'*43SK5,)'',7(9Z[+;C>@JSH;31217>;2=P>SU<K871@neXJB4+-,,)694268UI*('-,&?F/8ql54++-+&+,H[GHS_S=1-/;?96D:OD(B9;B92*68491BPe<*7GB+3*'.4/'7:@:f1)/29/')2eAC:;77CC0:9*&*42070N^^cq]YIFMR90,59<8GSZh}dmbSD<6-BH+r:4DMC:56?PK>0*'051<@'*7-2';8;;7JX[Z[ZacUII)=9IQDEJ>M`]kmqqO>8*:87+3B=V~+1?Ik;*;=Ih3)8=FZ^8F/C;=+)45;*,*3:05<.+4ZjlZ;2>qspMWXZQ[E>PvlHE9;4.30-4@V==98):;:IOYcRr\^228F?TA5-ExhTM'2.A)K4SWZVS.'455512\12FYQ`D@1FQKC/=9')(+16?D@+HRTCI@>,eD?xlfV6[\QXTPL8.L\b[]ZuXG7&GwT,4YoEO[\UE)&/G>1><5FP;'@DU^kW8863218@>75>-1-5=BKG;'5Fr]OC<;<3C=*`SEEOJWDA8@HPB=(,*+()/NPLMYbg_\Zhv^Z+Ev)e|C*``S(^[R679CN6@=TL/JilYSG6,(*'4=EG?57F=O0.9?GMPE)1WcbG143\|a8B=82FDARFCACMD587'(9INO?*)5AaocCSQXYntsbW\?W_XS+QǨHU=.0MOmg]D849=.WC(,OILD+4ODFB9/,-.8CJND=F<;@PhrXD/)0?USWU90.KyndU;.ekXC:79@DRVUQMHR8/)1Ff|N+,61-7AP>1rz/25GTk?fF>?@G=4(';EA(CD?=4(*3IQD=0+,-'')2=HLLFGULKNVZ^?J8,:PLII;0'>YnlRE6.7DHY[B7)4186=UfggX^0/'3B\zrH)/GF8*--+.23873,(=P]iB602M=2=A:agm^gf^1.-&4AR^S=)'FRO>@HG8-+,.16@(G4GHB>-(8GVi=1/,+,NlmVG:*&(10024EH^cZMMc5('3CPfvd:.(4'J5>D6gtjnYSP7-,.?T_R=08[c`]hXG:/-/3=GJGK`jtwbN?BS``SK?8/*/-9,+939o`PA1.(-:82?OZCIA7?BQ]9-)*',Te`C>GD1)*-35:?PY_dYQRi{<+/5CaoY9*.:D:962Cd{ziWT_-+/..2ib9*YrzpiKA91/1;GNPO^yvmc\JRWghdd`aRMJGJ79'/CH7kTA;:2-.51AKTbLRR717>HNF=;?7,GemQLu+89HDIDNSVQTg…(',/6BKM9(/4;3&9;?P\_R91njcO@/3136?K~y;BbvpaB73003>FHKRkshSNXYVM^W^bzu~kJVJG3)LLLsYEA;C:',-:KF*VA?HQJIVu|G3,HTVGq+URD@BEE`t,'+,/6<>2*,,-2EZ`^c[tTU??AHM`x|=7Xn{]>20/16=?=BHUaO<78EHFA@>8UJiwmUI7+2=LgHO0+A];~fUFEAB0/-5Gsl`WJ>Ax<*(69Ff0,-1T-2TUrp-&***+,+&AKL/1'Kg\f_qh<?HUTTTddklS75QfYP?63128?@@CCCE>2.2ACKA9)5Abowi`R8)',09;CmcWSK_Don}YWVNC=D96JnI/cbPK2YY;+<]).4;LZdfruo`[gô1Km+*:9D?HA5J=]Wom43MraRS\YWRK/7HE?@>:9:8>LOLLD>?;41=AY96ANgfRI>-+231,,+@JSa`^[TVcdiw|]^e\MLEMCNqҳzo3{G|YC@ED@O,4WW-ElgiH65JKN\ZD\dju+)7)3'&(*B=BLOA3>QPfEG@>N[r(0;t||eZZDA=>1,.4336>:AC?GV]VL?:;<:<;K(76>C>A@7/1@`Q-4>Vaaki^kyzg^iuh]bls`\ZNK^uѠ|rpwga]Z;7BH+8SVHdrQ==SSOSL3=A<5HJ;=>0,,+)()(*/,'))(NSOQJ@IUW`RCXKBVjss]V6IQR\nSK<9672'&&,2247><>@BGSWSE;89<<9>QVA+1((4/'Jx):@Wpk}ztl]Skv`]ewqswjodZJaA:D/)6U_Y@SQg}qkaj_[R4-4-6L]HMA:.//+3B45:02.,&1HI_TUJ]UOGS[Z_IZbY_eE?-8)FQPYcaL<841473/.038CK<:AIJLI?:9=>=>VK`C()?GRLK@&884+plc|oYL\X*hQ`\ovqeZQO|8.)8;>DGDW=53C+6'Jb),14GDC8B8][=.efYl~zre^Rl*DPVAena]QRLMPI?DI]/>6/-1>C@*3,(+7@bhcQK?BUefP:-**577+3;?C;+;>JSeuR_KNZ_^hbpTV:.̸x5'd]B;8787:84400?SXiLU\cFr~~tf^^M@6,,02KCD?C-0QdK^\|92S/GDDHD?7@9I>A`pgB2,.+499CD.Lo]GEMVg-Y*,OZ[JPKC9433206?MVOT]APZ)~gUORS-1[e~q^C05((?HZXA<:D)*.OcUK>3FB8ILT_P:)v^TWUOk4,'/6+',*-U::fNBA:9-W,(*8̭b@7,4CGDGS^ue[ZKIM@>?62/27;?>IcNZascOLS(N_R2PByzB2-:0@L[==2LRMH@,*.N\lYb,++9AHRbjkH7*@a8+RS`QZH?'2>;3jWDD=;<53889:L?}`nt^MHahDa^k2-0EGIPKMHMjNVSPPDC\guvT_mkk4B04&5::=W}zUYRlIlU?MF;2)ITP5).21-:<>;*:[]e(Z[ZlhIHC;-BF3_o^L]KlkccFCHE6?B=jyy2YP+1)/-=1((8AGD>APQZMJLptAIC31oUmlQ[,)'/=>DZvps}rtjxx~S_U9,X=MGB0OpNM,/43;89:F;V=*'7:3&9_.4,N`bRhqYUVt}4*12/+.)?_)&,355:BOG2FE6617@=I95]H1-IWPT33HV^U4UHLC;EZAſ-61S9'+-0>?[qrppXHG;9;Q1;(,8YjvwleRDA88;CDBGDEEGNR,5F+7.&FS\WViZu}|gaTUOD.*)(+.9L.)8802.7;`ng5`X03;67'42+;7\:MO@*95\om`?>@?B*&9F_s?OLM]cjnIbrfK.06fwYRLB<=ADDCNKKEIKKJN;+(=I8rp]eq~UYVGV_7--*)(4.*,TUDKOdx~aF*'3>:8NF8\lW;<h--12.?Ifrj`^lw|w|wxpaNQ`s[3,4euRNMDABHLKJLMMKFFIVIM20&FHC3(lwX>T>I21-,,*,3/,YNVV`f{xxL+/7BLJN53CU8,89A>C\H'&,-4BAKDO]k{k`Z\buwjkpogRN`u~J4`XED@CGNRRT_fOKLJKRM?:1++?=88DEKg22822346565,+-7E+0vhV-*/9T^UftK1*-,7q_JJ?DMXacVQ_idhaVVYM81,'',,NB5+7IKXJ/h7)wNqP?9CKKR>,,BYfZG3&')*++''0;G.VgPX:17IG1.&).0479;>A837698;A502;>FT[rT4-*+?WXTJcVbfucY_EU]_ZZMI7q:`<*F{d9[+&7-'vvxwuh2.GD:rU^.(B/U4iS0DOJFTquX'DGpYpǸy;jE5nї;-5@_@Vc\n{LM_~O66=_`_Z]yiRN-QbObiBWmX(:cps4)W]t™M,,dęj0,OsP_C4+=-NATȠc>klmkdi1Y|KpqQvvOJ3UQTVd{pf\8(*:BfoYMB18@=<8RNPZ>+.)G_`dhg>ZY/2izIPY~oihl{ronK@'8E/8XfuK7αm=';Qʛ`J82>>\DYpf(]uih[G<98EB]tl319eBIMVIC2.WyMQXU[]ca->KkTNZnpa=(:8bWfZ,,yw|;88;A4I8).)/;.()@E\hu{RLI9GsQ~z\V_jsgwrmfX+3@Sxh+eWDp«t|waMA01bBQb˂CDAhtqm_C-/,2Qd~[+0HXbBDG2;?3JV_xypopz|L2+=>HLncds_UNB3NDREXUGN3ywV7NF3<*:MO/2:IEgmhUYb`q[f[L=Qq{~{si^U@h{.+UTsuQB-;h{MKjˏZMbaGB/00.;5UntlP5(>3WY7?'F7F4LSyx|{{kHAC>@KUT_lZ=1/HP^QENc7;9\kd/D6:/(2DVZ)-29Pum]cdyo{UJ-7d}U^d'6Q_gW:>`u{2*5[sy{vueG.@Cqhb[eҞb\LD9()E10>;3rjYOF;>dtHE5=1DKKPSynqUa,B>=A?GGTI0&.LzfM^j\>>rzH60=+27?:)),G100<:MLMYc043FEqEE1,2CK7MLrtXY`nWF<4-G37XscUkfoW>qxdRI>'0:32)2)(Xsrww_D9^me~qgcX=vU/;9,IhlcavfNC@4.:)+--2121CBHVnqbYZM_WiMJ:54,NXHI44IIMPsfO-2(26:Z~p^ezk>@Xrm6?.()9<972)Gbyp~r@,,B=*MD)685DS84<&TjEa\K66^SJpal{mf?bc\b_:+,10-HK&6WykwuhgWfKF1>TR9W~d3.DIjP]]+:WU^takinY`;?V}tʔ3:.9;;BA:,1Mvµq`z~]*/>P\P;&IA:?2398A;D>64E?;J;,^`F>RA-+.P~nQ<::MPwojfDhkakj@.043D=/4O`~~xl]c|eKdD2B||TpdE+1NLR^qɫ=)(8/-C\\`W^rRQ.NSwxg/NS73MSQN@8<^b˜iJeuZ4,*AWYdfl_Q'+~VXIVepiVB6<HE0QYLqg;(Gs;2JD<.2,;geI3B:.IDJHik}rvL*58LGBC-Q_u`k_KfJI_mhXZnB6PXhtmu,//05TLK=(5JRio^X`cL.hjjuvs:,OpbZVKB1=^{h_WC*Pxf~gugN@>ywhLHR8RLH<'0\t;-++;@Nupr{|gOK88:MNEE:5?E}sW\j;LM3DHGcnj65n{l_;(:]mu}wj.+)-?dca`YKF.2C6Fiw`]UKcqg-RZ[lptY`amyvpdHE;.Nhh[SFmhgf^engG4564XtsJ;22=cz=:<[lvX^]VE6/=`ad]cgZRW[pH[=9NL.,,,ptR:7,XmsWQliN4;0GLGID=;.*MrgSRZIH+;=BbX2ZcMJ(7Z`]fΒM7,+-/;ih``\7DK@BHhl:2Bcqh7F^g{|w[O5PddYV@7QuldEFr^kcNDIYzUL5)1;c_l]5**/H|ak/DIuNDdrrD12=zofkpjB=@6/(';kp_`F21C:C9Qgf-4<:82.FwlGpvC0B8/8LLTM/+,>GViʴkQ=/.*(8JI;:TIFAPXc|˛qBKNZ~B.Gi|}rkz)@i|~ztV?dvnlI<5QkicVem\FMyOGGQeuWoijE76=pT>R;TCQ:XD^P/hqefXH;H>A/2+;[[*H8:01=9,5hypg`^^eI(3AW}];9'.222-67EWi{vkk66,7DD=9UNIJEUY<@cdk3(Lze*brknkhuli]9,=6;-?<[X~uiWMDnzrooQ^wmgpP;/84Iq³tZEgD>=PKJNMd]Tcwsy{J8C=?z4+),&'MUJIFZjw^S(06SjyR438)ED<:B,3CP[]\Vm^31-*:BBA>elR?N]]FLY5JNGsBNkpv\[N[\NH2?8E?=C2,Id\XUGG9BgT\onllpwe`aWL;,3DVůcUY]TJYjywv͖|zszqqyndiAA~cPG10;,)A|{¼|qISn~qmjV{YknTQa`E>MLM6,5?L[oħW-fahpmƠϥtj|fxTVMZ}i]DDa`Z22:EvuO-+*(77?DWvqr]4>luq^H=-.*;PSF=@P//,U_FSVxs}[Z:Xm`D,)B115Fbyn.?FXQGMXBllrnRzfT7A4,)&8Jb[>B1WCS[kmi@1/4zvbpzL/2;*FcgVHC3BMDG1>&AT_6WKqxCY=9)*FZOYnQD39~uitVsq,()=8*A0@-,frtypoH_^oZb.1L=KJA`\ʪi;-=V:,foqe[B,DT:<5*7-,650+aW6,><(9551J@ELHH_[cx_2:jie}ȎyI/PzNH&:9HN:B/DB/0hr|~wkipxrj1(03AH96?wp|sq-464uxkN69TD53(6,)13D@]S-.&-0,*14@GBFX~JQ|_jrlrҒo9<osX4.CdPRZ=15>-JM_]bmqMd=MiZh`I9,]DdvusI`jy\1K;CLPNG@:31SJJM)E?O_ERq}СrZD9<[qxgV7.3:klPlWfmqV0)17HkmgY=YIL0OUGXpbqkb:;WTF;SR(SNDjavuAL=6'DGpqXR}mr{mb9-';8(27@IN+3D:0/KllbH3'8Zt9&+FΝg793,.*),74:;MSV`^>=QPWO65?NMzo?6-)1S;&PVmjE5>>5,21LF(EMK=B|ͤnW>;6KTobih_SC*1BBFuO`yrT67=WaltsRU\Vvum1EJd^qh/*,5-,0&*?*ZNf=E(-((/CcfwLEvwrY|]}znA4ObOisxx_U42IkN+@.,@nӺWTjƧK(97i{ɣi_cHKB;2)&&IHMSPC15F<.-/;2ZR0EE4/8:X[uv__n]aztN5KK>KTDR^T<;FM,-0TOVhzpZI./F\R=7iqz50G1*3?HT`~rqb:PQ82O@8AI>57K/BSkmwo@Stt_lW:UCHLPXtaBR8-0QbUaep\_[^VOOJi|ƔWV@<65qg5,1?Vɻayw}`q]K55:;;<)4BH1.=..0?ZT8,J[loMAXƼb]ibKF;XQ:.'4-,PIJHHfn~rjiWRA24/90/NCJ91-,@6?HMQ@WPdjno`ηwUmJ?g|ԟZ3.=ep~}wLpģj*.09).;G;-4M>0@AUT_bF;Ytm|}zŞz@^96AH-=]trqhXzdeqT1844-=5ka8?06UWRdtyxy4@3OfZ7&'ed]4)@'EF8Js\YdyoDwͻ~haT\7+>\~qqhw̝|3;08)(/4++0,95;:NGiozlN,0BDUufnQ034PXkne>AI:=UjmQV<55/mĊ|dJoE1dh0**3D.1EwpOiSkrivQe̬_EIµJ+G|Р3'-9'9G97.0(41?MtʘW/(/3Deoyopa;6-HGLOT[fcE8)1;DFO-1Bw¾D]U8|zr,,^oYO<9@-;>:LR-goRN/,>H}aV~{]qtG&F\xn416,C9)268)&-1);ma:6IGg~lwǙxT8@-=LMrtRop,MG}xKտtF3>IKLyA3&//?;3CGA?5?Xb|ђʽpEhTOlدZ<?^ŭ9656c]ZY[Z9.0fw|lY\A,MtKL24\pǎbf\YTu<@FEB*)KlTDEL<:/*F{şF>B=;@@9-Eb_I0+'-SROYF6Mi͎N45L]d`BU\\HM]g2=b?e4**6/,B@?46>534;D3**,'79:E+:<br/)--)eFA>?/0++A;(7NF*)055*+*),,0:CM>5QθN4-0(4Qϻ3hmsH942/3HUP<69QNYSUO?E24*.03Vþ͖?dz2,-+DHk{ekA,Avznc3'L=PKIgeDAD2>9.6HLNLWC0&6A227*/:<.?L-22@MWq)Wpvy{TF=04./&Fj{I7KQcmelvD(++,;DVeE4,,KNqzjvZ+9ZX_S?+6-Rtz660TFdkjSrytECop~Ƨ}JSA9;;L,K\gxnq_@IdR\;5RR9U:05?\rygYQdv^mW`AL;8Ynzl{cV8Lcvmj]='&2;7K\{yI+>)3;[lw{yp0=_8)BL[zx{jQ564=3-/B@1'4.+4QhNt̼VfXZzm:Syvg\hjtgORhfO9*(-=@7CʣbyoL-?haf_^o,8437=/9NejiIMQjyuxWRCA/MqpeR-**0=JWñnG=)A57:T]½SD:5-.5&5g~W8E_d`iaohdY6B=t{qv<իd}vdpVw|}xhhs;P44&))-I]Zƞbxpa>.JmumhAF'Vcejp{moeUWzTH?74@JlP;AE/&/29Wyx`ipO]V/02OJvzsVLPD2<2)/Y}{h;/;Y|ɶp^*8U>=GFMjp.ɍmzsh}m^y{_JcUFLC9/04ep}&vyrc_fwE/0-Rrzv^36&8Kstyp\JL546D5Rrpk8*)+M^YJ\?KV>PY3,HL{ZLTI1/BP[{vFA÷cU/FcX[MCT.bo*N{sH1223I;R\qY'0+7@70527=FI77')3:uo`MOGAFH[{ylD<4akO1H5+:OAGT\{tP/LYlj^=&Ngyzr…ʹVo~jREgqW<>9B,*0DT?HqO+;>=2XLR7J\xeI)0ll~}uE1BCQXQMWBML3/@-*37;A8/)'*K_|mTPGY:-*AVswf35Tu]CFK/;(SnfihBdaʺnR;ZR>SE=rxlrsfdK[gnjt~}i;?qpzzuJrH---49E2.7j--l76yrFkƒes3)]}SW=5/8>PXULa_pnK8+@4,0-,48\c[Q=7''9]SU*,=Ҫ~`?yB5Ѷ[*IK`STCXN1TZSVUPJ_xs\c42B6-9@EPYI/-45@B@=7,eynLO@?4>V\nuwlf]F?HU.;ZkÇjP<1@JoXupA8g~ȚnjPM=<211A&(1BY]fffdjbWH+7ANEUO^YEK>XoǛ]a|MOU3`UG5)40T[it.2QJN7:L`pguhM,/Ql=3?<@GQf_I/3GO@LTD*/`gM@M8/8CSesgkZiy}CF7EYӦjE,'>SSLbie93zspB>DotiyYb3?[=@735B>08OU^S7*<:Vv~zSTBi~\-ѱd9?W\>Jf+*R\mU15Smm\iB7@U265:>APsP.*(),'+DfYGW\F:)RrX@8GPAMF@Xj\VNIZ[69Wfӝr5*)RBdsfeU?:utmDNH+NGOpob`D7]HGE(-IeDCKDMEH7PfuĻ^A*R{tpQT:yK//2]^\5;4G;\`woXC8+5+36;J9@WSD(08;34-FTm\ZjOD+OwmOQ7FISaMBHYXKC=OS8V͊4;;fPX`XTGDHleF'-7}n_ahb<0JR+26l;?^VGJMTfʅK>(2Ej`p*ƣNB[I-/-9WT3.0KCfypnC0><0/9LeH=\eZ:,94=@;1'5UXcwfwf=:heI>?M)7'^CGMHOIFG??C,87IbnmgRJ3J-.AGiaSFIy|i7.*63=\8AlΪu]|nA8-EHTV7+'3=NZeRXNF;,&&<;9.QX`KGcfV?ZZ664.*&7YUKMlre@0AnjDH=ENMNGTO;21MwD+nN=Q>ICBD;XL'-GxVUO303>`X1Iwd|/CLLl~&p77·m9'&RUFHO1+3BO^rmo[NT<.+))5845)8@:c\s\PBBQ9.FMM3Kfvm[:('+_u|ZG=LFKS>LD`C+&8JNlyR=\7RMS6(8SB'6bF_B71.5T90HTMQohmusZ];CӾv?B2&SKCCDF,A;JZPT@:@330.:*5396,3a\cP[KD3B;;CJtjX.822gvzoyVE/>:R^7FAfH.+LhT>Y̦;/^{fgO70/B-D1592,u_6M`gAHt@K+*:[YOM=[:<5:BI+&&*4&28:@K1;>*+<,+DOpOFHS.?76;==NCA;G0O{bkiT8GnǤ}a6&6Mrprt]4*//6^Py_1103oxhyaaXewirXL`S/+4)&-JYYY;un]adaJ:E3RPYSE.'+UpuPMyʺgVD>DCIZpk]IH@8:)eRJ3.0rĽNvo:123BPceN9,),0/<92+&.6/1GLNXWRZSwjxsGD::^cI3''+'&,8_WitnBuL/0IXPK=HTd|tq_SHKH.@/'(;OJC3<Skz5`,2961O>/0F4.'7kyi~oxaQ@BNTU@AHL_rqqgaBOtҞƿwqtz{[ep@1.:txsR2'5.65-6EYNwd14lx{[H9/fΩźsrQ6@̵nJHF)'4:06fWU[a|jT<8|stSJ9ӏW3ZAyla)782DZdSj?-(':YŸpbQC_ktDLPI<9ANvԣĹ|lH(Ģͯu:JQ9.44Ycs`Z9-3aµc`DռCzXr9I`Xu`i?4***3Nfžҕ|`A@ekXLwoC<59-3WH{e\jN.,*9G[qd4.;z͡xXЯǶryt<@LncdW(M\Hk(0jtYJ0,:N6>@>56;*.25.&)9m{̣i6Lizm{la>90NQ^QveaLiippWR89787hi4),5(17-*2Tyˎsy֯i`4;*4jQohcB{lˑ‘&=>nueiUJ2-.+KO;MFPH'+870-02,(/7G\ϩP?Fa|t=1<ľsf?SWjaX|g{i[^DFE1FQevx~}m-1B7@PIa|x˵A60HBhhIkq}Ҩ@QadekslYWQS=*2&.CDC1Dws>165/)(1-CSzʣzM63N_?,,SɸtrgWF2Sh|uaVoţ{tv2TNOR]qP^O()+40BQPBT_@VCzgL+aUd8:8@;4:@kquuyN^r=94EʻD8-49,G{mxe]^UBMV[B*?3'-&1Ik}ŏʼnL'.44;7ACjWNdu^zii[Qʝzoep]\_z0?BaezRgϋt~u{sd>NStC[}6).8>[ZVaZi>xwaûe30RN59USO59@Cpvv/;s+\pWn(-8[WEIO_V:4KK/.5FkſR6CI(1'2O@CEA?[tq`InPP]2i^IMLP;Bq|YxDLhm5=8U?<=_vj`EE4Iu{847@HJC56/?0>?;2.:ctRIAQN?1&4p~f̚b>,6[l/6>+L|\:@z^|na_ahnp3'(0//2>?Pm~hwjt\5WD4(<_vfs͊yWA4*bIAlthLOD19:5M;LC233_y^S5'ǥ`͢qL-KWXt4C^2gxA89,)F@2&0HNKP>P@,3&1NR=0&09G4HRwwK201*YdMvoS,-32*CMPSBB:Ooʏ|EH.dZUgT_obJ?AlʈY(-,^zW/4mdi=&2:ByuPBcf˞¨ΒŹɾk|qU.*[tS2',90Kʆ>]sV=;^hA08-8Rřd(`j}e0C@.3c~mi+,+;;RHGG(-=NQ5'7DLR_{OC490-:80).Mc|f~nM*/)cug@:627X?>\NhsvϿy[+)dk5<@Qo\sYLA6(KA('_My^N+tE\f+@+?ohum1(E`RRO1+3>=67MLKOmkKD?6+3@-7i}kvzZJA=}?*+LTU[Jjq˿̲e;+,>hf15:H_ѯdXH\MD(:/:).b_OT6__5@)/WAN;RavKD2,))UzrtiZ=:=**&84OtƹC=>/LOcKVB/0.2EY34*})8x.*'(UHGĎfO*/qfG2FL8J@4<qtYZ>::*T?&WI*''l}dbK@Bb4&'/K4GxcOe\c2+/RL1JZ=pṕd_Ygy[5.(JHaRctw?;=9:/(/)1,esSD-kɫ̑lҴСl8WeedG5*:*<+935184PI5>'A]a.oc.Znyp8MaME-D=1Yhhrpe=2:9/:dqR1@|p{{bJe.ds3Wq`ljJ?'?gunXw|B[Y9**OL0>VV_.'dɖƬyS,'2:~ypW-)*-<@7OC)9H+0G2Q>X>lpzΕh,CZZd6-H?46IzFx_YǺDHA57\zy6+-Ypz~{W,*19(1438hq=kXNC6&Bk~t``i>;957;GCZPK]HD.@up7nd\^GCPD7539GOvjO522OXRU_DBԟ8=Uё(626ElL_mDC29\myz8T-,8csb=/1:Q¸OL5)5)CylWafA[nyV>8--82WWϩzUd]\_y9.:RcpJIJ;9`XV8.Csyc~}E[|o\:0/C4?6-+7.+4),@>G:>BX:6?ViN`g;/K̝s*G{yySC87/KYOw~o9/;T@55?CHh|{vAS_`ytopNP1y`+1pOfi}TK?Q{zpLcni]O<FtssuhTBohb>>-9/PC:<.&-,=;42(.:FFB|>-k>@MaW+.lԾÏtz\J<:T20CQDxa2=nkL585@uytPe3ԷE*4XzihA,+9QNHV-*:H^cgqpM:NK;cNZQ<0)'/8(3(TJ.|ԹıyC1Z=2SSJdu|WaF28^}pmW-ƼT86*Y3d{TtĚÁq?HeQ.(Bj*`ui+Z[f{e`U53Ja8)(7tzsZ@yrluWkok`fP1*+6.05)**~MA[\0*MFU[vvwONido~mbK~/īgI92I1Y*Iαҕglt35I<}sCAB?Rwss[^QG1C10=-:Jvur^v~yYt]j]+OQ*KN@C_җ{OV0/PZWtnohn~u`JzxrbҿζӇU&@3PPʼnǔ`kfpYz2:WY59<)]~QTSO>+=006-Xe~~SHAraJ8'(S{Ddh+AW3ˤkZ33Qvuc}a_O1ss_{eevoZeyßǖ}Ӱ]/>Xhў}9?cyHiH',77AL7gzeXG675-3-93L[zzyqK.2:8LaTBB/+;yTw1T~7Xÿg0eyŧ;.-]^}svWpJm_V7`>5Gm_us^xD;{ʩ9`O,1T~<9{g~lE+*2-7Zyg`>0:36INVvu{zuov+..NDDM[VB40=PRG-PPqm@5mcǻrqH75Cf\cfwLr\NTkҡžǼýucY<<:;K@^pspMUVvm|uE4:xL4aw4ơa)M>IB=cѽi[zRr>U6D/2'+583),04J_|QSA(&'+UδX|T5b`X_lUn~w]VA77I]WQDmsLEht(4-PF=::6ZguiFTcc}QVbgQGKFZVLvhleYCPuITHL,ȹhMnlOyS-nulFFA2NYeGI:/,TebJR<+-1&4tѽv>XjAJOcf][glai|bNQ0Qi^@OYisü5LD@=37;7RY|ifTPmtvE>@6ŋ~rfdibeB'ZUw{zA.etruиɸwo&0Rx9ØRKV_]_mozN5:XjsQQ5).20L}˿WJ539Vp}fpS\F|7JVQYYkjŹs8)\k.?4-H\Az}gCC=L.@F6Cďbara;*-GYlj91UVmyïRVNFDipR5;pto|^Phlx\/4fzl]:'+'+0[s_S;GSD32-DsWLr_Sik[IT6WJB^q^C46=G,1--14;oRash5q34AYwbF9*),,,UiolaG<4C)<>AGWi]hM*^ruֿ/@75Dkd)opDhXKGMG:YGJ)GVd_C0'96+8:np}ʰh?6+CJRSR*,(6\m}yuZL,G17\b>',_v^W~SaB;QHShF00)3@L_T_hYli\hbA@7DA>=CQ@EBQ(5\pTyaNJ7`[yMTDdoqYlb++*>;XZR@6-,Ǣy_e;,GN7HJ<7(>StG/v¡k5@@>86mѺ~8+L>CH/=OZªmpzYCsA(MVpk]hjc[*-1)Dm+Š7|=uu?j&7[yiKT+e~u\OP?F(+((HJ_gfX,>2*79,5dsh<)DuB1MMxlm=6LYqqB&3]K?0DABD×zZ2<'3Eqy¿{bdgllfA8*?osP]g]har[wyadS[NcQ{˂gʝlmTMVP-90?f6J7dӁwlf<:,>?~R,5exaKYV*[i&+P{V9<FGAQ='AD=/lžl7T?KLsjf>cmA_s*'7'B,4oþg>Q3}|&(4INkf9ʕ}b44RUs[LDD*6A;BSgyRNI<>E}vlB-:+7h|jǺhzȻ|Y+*+;=Bag\t:8E733C׳b}v41/DñӡL7-,?4Cu`ZBc}~uMXB@7?~Ȥ̥E7<ZX^`[\i/@˼nHQ0K;EFMu|Z>.8;E6?0&'2M\18G^'>DMHHu=XckB_wwrrrle\`X*5cphx[)ksD:74WECM[^_Tc-:-HZC@QBDTbz¨9FDN.Gj:@1vG9k8gI>b0H+|ƦҎD*896=+s<|G:{dj:CP]wx^bVb]HOl^X\viNQC++>K/5+Hjkyx5Q@,H{;623mys-^1i*QcHI|D73c€iYIwuZ=>+Tuvhz}cjSPSXkvkoynojY[`Vex?G;BMFO[qzqv2LYgϒ\U@`387+1)EX_Dzs.S8ej{-7pwiT2I.?..5eiti9Xgu.>2BekB).H˹5FfDyc/2,haϡ@{P4dûgOILH+XVmqұR4Cffovm,18WZ_fxSchNMMUJƘhw|JP>E~sQ֝f5'If~<<ǰ9;A7T_U+N[w~~u^AO_PsW_lYѿȥjj*vJa1E'mlygGUcRPX)1ZеQB9&.aY1SpfLZP5q\NƵ~^MO|=12y:IPWo{6J{c+lsMCcn(:Qyd;33`_eF:-+(tédZHZ?F,;Y:i)[}d@+6Ӟ}npZ?;Eh[U0RsDkeE[xLC'Hrs+9YfVVP-'-dJ|Ksdh0@?(ḩxa{8z;6C545sXMV0b}v^Enkia'kg`EM-4o~e'(=~`C\s*El3,St.cr*SмrjB8э72K=1/;QD{-@XK=A7mU.7khr`fefnsm4O?'PH?{c'RvA@p0-MlY(/XaŪiwB;;:1oR1Ч?/oQx_RK=-'YBIlF/)b\d^^ele'R3*>?GrϽeJUZVTH)P0GDz`pL.;gƌӱ5͟Q]XK6Uf]6ÂCeYg+6002-5]|P^omisTMUF5j`FR\WKcG4:*q_0LRe]F8D|}δa[DA>Mbh:Ɏ`DMI*Q()8+>3,9>WArc7QDFG>7YKBbU+mnuj0[tY*,[HʭX*5M>ľȬi>{vqlR9&CQ+Ȳ.I2[J2430681,7N,,:-Ec\KCI13EYYRmEt}q58BU>i½sty\>.Te:8D39?jhCBjJ@9F6eGlYV^/1*jatʫ*3NYK36^Z33Dop[=_U~EORv~g/0ϿDp{bmQgi+KJ[J]msIb7.(_[N[{ss-sobq3Y3jo9R6;>hEOӡR/*0CO{+0t:c||nlN)(4g_vutv.2Sx{l3S]:9Iv̧dlkRNB+-EiňwidϳT8:;,99vfT9*DowwkogKcH{TRgq1z(<</1+)@?;`41;UX\7smJ.cud7Ӳ{u*p7ΉǖebՖsc;3?:.3:QbEjWwL~shSbyU901H_=Xo28EKlZjxѸ8Ѝ5DpgO1Y/>1zWoЊoƣWL6&.9,@`iûwdjjXUZZr~xb*-3ŸVIbO/FK+F90TPB&1:MRQ[^D:ĘbGEAZ_mԺW{w|wxȘz}rT@08/EioүJ.}oLSblTsW=Jw,9]xICcJzB+6K<,3uqc>OSV\Sy_A84NʲΐdCBFuo]k\tvxd?dmadWʍfCG*&)5˻|D.44ã|5*2-gѯ]k4?.n)<@E[bӈ<\_X09uE[Բ4׻Dp_9&:Wuw^4/727bm}ИdZ[]5x6xj=D7yǻx9=@p}|7]k-0IΪdq.1/;?H;cdTRAŧm}Ecȋy~/3/ikps2(,]iuubPeO`PV^;.,06-MotӠz08;hom3F|c|~ӏ|uy+\2jb+Bw|gT[ygk81]V{TMW,SVwO0(qE5<4YUfaö`[h`.WhwxWQC7.F:ZwojGvfA.5Tfn:Z6˖ԙy*VZʤ=Q*CAu`K5;ayVm<{7*5DdfŞ&.82_pVOȧ*eslW50/9k}EyukĞ*9JykmuUB7Dǿü[LӐ7gJ0wY8762=JC.rI3GC.+-)/=2,;nϥ1IQ9WgmbjˏGBjrÔ_@5M=8M]dXHXsz].7>`Ωra0Z7e_dYp{eaar2QAFcb/D2/goi;0053:0&'ugl+ƷЇopQ,b\~UXlgv5NG˛c^oP@GUYU2ijcΛg^UL\~sƺԖƽ~I_ZzhAn{sTK6d?R˜ǔmDA0Ej*&BDn<.,,5=6'M7bp*]S(B>'U_CEnn6<Ǻ`hkC0Pth:Ggıɣsiz*quq?dgGhćuP-)'&8R@^{{eOzqq:0FnBEcgwin2++7=T=GtpM47Y1K463-2U{x(*7NgַuRG=Foha79MXǠqY'/̝GCE}SXiI1/'.0Pet^WͦȳS)_̳ћ*ȇHUCIQ0DV]?b/^5”yaTx{BE+794QsZY5S\3P5ךωBLFAA=QFUy[oa5l{fa~wXQ30.7;:QtMYjԱCjHX}h-7S92ƱW_q51ZVu{s:FzV=BW+*7<_d~ъƀaTJ;355,CJ0(XSE΍unvpvXPlzm]M5h.pTO}϶[`01+MtwR[c5M^f?3ǹz;)1==Qj=W,730.PY]|q}I:500L.8MePf.F0Q>cnTskNN6:@Riyy7)'/+DIpYpjqfwA_~7;1I4+|`gy1=dc9548RC8TNUD;=&:Ҹ:XX45C8~3Lh@PQVdVw^TU7*D^+(fjimdEniidRR\}|v]?''09?:e~MlJjvcFm{`^tC^LR(0zF_`P=)(^mh-@20>7Y~ґp47cn=QGSK@WPQ]n=lEMYKWÚzM-;ewaOad|jv_tw~uSiRq]RFE>+?W~r)OfZ`wmQf\~eR_}ԯfK'Hb30Bgyu?qHn:`wUjY_>J_[s|gXHd{{aYP[n^WAdWTjlb>W2N_nvi\j{pDwmRN>FIWQQiq¶NS/)hH96-J8gQIK8bgtujQY9V*+YqL2r_RNI\tnO3_ymTow{yʜY{j]UEPIGQhTdvVgBycp\ibpvyU0wyrzc_tz}f}e{VAT*&_G,1eE^R<;OQEZtT651nSFSTFC-6NrMdEIh{S7;vi\eX.FjwklNTœtuojkboM)@gxybnw_֜ht_?@zJ<6+(F.abTP_X3BœM5-F`l||ILL1Wi`tBD)l|j]¸Ltzi|}j5ZxxpTLGxP,(0Zovbxq@[q^[qpE12u+4'/R]:sd|{u~sVN8GuҡgO36/3JtvnmM9jWXj,ufI+[pǩo,.BuΥ~yWILFspnA,eծP5B[gv7UNm[@n10+2\m+9f|qk̴Z7I;wRaPL=xĿvyB[]I,7cxsm_3+lmk`I(Q|ѱzo:6L\is|nYfACY|ˍQ@&;V_sē@*B7dЬ4W`O0?hkd;E02-t-Pɑv6&n{n‰-fV42-KǸ|o`OrLb`F1=`fb{Z:Y{/\I,gzÛũu?7Vp΂kWS\`psWŇH7^M25Q_xҶE4AGY8psO?kREO.W8b8;sKj4z`*HWufh03;9VK*]QN/hq\D:ZLH3b=`¶bdy:QpkhmTX`ECOhseWpÞ[qzg~k[=IΪsH\sЏD>5O/hiDBmF=(l}˞p}x43L@9HW]|jD5A._gQct36Z0G|44NL//WlwicaGEODPK͈iE;MS~}NQmoՅ~l1pglLg\=J3'Iaw˲nE)8MzlƛBaZRßKvmŴjB8:ayJO]nH_SV+,98\dow8h<r.>NI@Q[vX\OhyqPB&>lK4'4ɒ+|T_,(q31@QA+S\woSW'6e}kR9H@LSÐT)j6UWNfvçZ2'Irz{ðyq^d`@OkmW*9PlNxov,2Ɋ\)4J_[UPmeGKTRQU/+~C<>0a7=BdYK8*UzwvDW++SKhm8@j?CH5(/^O(l90JI*C[NΞhdҹZtus]L=6?X\ncA1*,(p͝3V4C;@pƨHN4).+4xueF:'B7HZ4;o[OXK;twG˦xtA3'QFEGT,nC?;A2*jPŖb\6e'7ǂTCisWP»~l|ru]GGQL:(ij/35Lhş)H(cn`cKTD7J=[~iXEKIrT0J}o>S,:QWtG2,SI9pt)hwE;(.)9\QH,*bΥmmWIvuf\6BVy}vkJ^[@J[ZF38I2[Z6&:4],/F+xqx?Qtsw8Fm[4S{L4N}wU5;{d82?4,|^emlTc8+KF|ZVV.IdMv0D[ҭEJ]J,cngmXF38oqLnwqi4,VOlg*-:5;IN8{LdЕtɔj(<[s|ͼq)YĽrdKNT;7N1@Ю?'\bՂaVBN4WgNo4)`[a^x˲XF`09tCN_nn?zwjUBPIX:7@F]Ќb44qVLEiaQɾoG/˳Q7'8,65)+WehǸs2{Z|FNoҺR';Qu_[wvXZ2'fvf851-d]yG>u9,?5WGe4dOUwp8)1:ls8TPExv:)CeʎR5CK[48.-5jvr{9m\BSU9<;)D[F_nʿw~UbJ2OQ;BD+VAjE3JiXq9>*PŨiw9&(mx|etE+hWmP@vȈ|W?HuxYuxU(IzE0>JL?]h]BE^b6>*-=;3UF=+'o+,kgZ'o/Uq;wmA+lm?,Atbx3*:2K4.5CBoY1>v6)t*Giuh60O*63xaBP10CO.3Q͆Df53Ԭіy[ecZ251dqflG;?J_BTpȷL'+SKEbi&';r\Q}koG]0V.zѦw)fGPuɴȞj/``inh]Yk1Aɲw&ȑwm{MuW?.2)-4=@;FbT\z~fþ9)BIILfb'QnfU<+*FB/2S`x.fȮFvxNI^fY+:-25,&ZiR)/QEd¼/66KrPaT:)98yz5)L2Rg_pE^914TKkUERN&>-[aY\X^JGLlkoiV3:BN4C)-DRHJJZ,2/)KB4+;@2bzW7@F0211so/yl(Ual\?<~7e/*6EA.N.xk]]SX[/);HNLi@Ї}ucP[PflRrGCxola+<(JKEQTVO@FJ^b\Ict?.?)5rp˺1r;ZYPLTmup9,)O))86=9h<;z}CUdüq}eMwP>4(A()>wg`p]I0@RRKqΰϼQrc`oġz-)t:++6bQdOKmuXn[(*kϒthj¼ÒU=~‡Ϟ¿ȇu.yZD&(2mUN)7H69?')8mVA?Z@)@9:;LϩPT[fo6rNtԠFqkFϚtPC)K>)*Cgnnwqgy;;5W^}sUbc0*TaOp4|U=qP¹zytBˠL^M16.0'hstLNxq^gcsTCpjIY^ʫ}h͊fD45L2E+,&)<9Tr`[gB&)-nYRqx?3xeE(hz)Ҟc̮T:MxJ]]NHR`dnҍA)68)'.'2'>'Di|IbTQ=/-MX=;mX|^:]@Y*Jy]kɶh.9{vW;xI-UGLYv~))-.'w;0nApҭf`̗ó-/1476*908qӛE,2(49?v&2uG2Q[/.̹t}Z=6?[^T<-J:B8LTj<XοsTVY“H))&+.12&_wzQ/5rǟWuF.x|pT_ºέwSLCɌ[I/8Pg̵?0*/Yp˹h_BF`tzc`3:M4)'aIlt1E=yiJ-`pVOMïewW@/7gFS.l{V>+FPQ]mRYA*68A)Pu¼Òsfx`WX2)SQM()QF+R^{7UaP;EϺV:N.eϱOQYdD`oeuo~Sh\`Ub<5-CJIvO3y˜QBcgsoZH¼ocP>BHP9*2>8-(*+D_zH6\r'wo,4ο;Bgʱb7dDEr-4;JhyZITa.3[OMJF?R?2)fBHj{2e֕HzM6AĽDZhH05?9)/F1&FY;T(24RRC2(L4AHq|orP&sb̟GӞH/*4^ȤžwΓi1)725826;2-/.CF7+1IHnk]upff5pzb{:AqˑjMOKP*(4@?7*@y{uL@Àԩ+^9.,/:2'3/.'88;/(E`\mdz=AǗM_ğ-HBz;-c˃mycf-,T9Gtɭ~_P8*2/*zUbylmxuBY`:-;XU24)*6;4)+.-'[cw^e`x|Έ{Ģu,:PQ.b;/Ai:*.0..1;76gqmV94kApϕ@-6=MU/.424;'4:23+/[kHOty.azqcVUlXTn3Og*=TVKOWf]G7uVP?LeǢ GJODմ02[|ISłu\wr*Q^brt6Yǘ*w/,9=BGIK?O==-QLCala4+,32'4,0,/1BUfL_ǖb}coɺ^S}`3)44-x8)E+Mhtn5o3g6*.Auzv{{0*Iiλ½ˢXcw]@A`1-0.;?:&9:*AH4Htq=813;*'3PP&0484/>1,+4=U1XrmQ[B3pօ~tcm+OsN*1,/NbʼR1Z73377f8<9sȽ6ŃytzcXɺeK3,mr99:+@;1)*)9Rx\;42,6:..:82,O9WapK8,46`IZpb;?fv7@ǵT16.9uT@GIU`]}prL5Nw[LusX,,*4IxyTIAfH--55'.Ko-4=rX)FBGÕcG-B52WÖ\|mK26UwfXRYvY(+1-85I9;9P˼ZL/7252Elѭn\bpcX=MTGasp^A]ȹǩԏ-+UDn|gy3PX.)@tU5)5>G_xV-./OhrKRH2^11Li[=hwÄVt}kal?7MwN(0?RF=´\TUqZ4/=J00huǑˊltU}y;)7)>XWIll\][eSgVWOM<*1PZ(@pqQ'/8FȌjѵov`MLf`k8,D&3>Wlh{FԧzD5<\oYZ>Q{|uZpeHuƂ_т,9pRj1<+,=VjKfÇMftɽfoaHfBt]d&'(@]flstζrz,UאG''AhЛp64clj˹̸V}`~XWwSx]-9NQoZ90-/17NVlHKN)RMKif?qzвCV[h+-FeɡY'`5MJ.B('ϿϷɸykƿo_i`~vSEA7EkqL'.<[uɸR5?4*;HjBpBylCF7OpjAayz_gnjwhcJgE0\˓fSՙT^I5-0B?/,mлp|c?_ulU:YgwN*&AntiG)NiͧtF0.8ec{uD?JǎKL@'Ft}]K..MaplI]L::jyzNYHQ;3@q?+&7(`4*5Gz`^yquyŕcfnl~kOJdX07eU9O`гW<+(0[84HBntmL:1b{ZkB>0IokU+A.KinQCUdA9Va`21;VSd]j=(TkkNOpmiaQZn>4J_t{mwULE7))9WO**0VoY8QyͰQ(+Rvy_{l]X91&+2VODE-?kp7CS\^daJ+RIXWHe6?,uFTZ&-CUf|YO`zFTPquPIQ=vzJ8]vjjoU+NvnOPXW5GBQhiG3*e̘v*,J]E/,=gv@>X[ZD&&')bsa)cls8+ZWV>sl+QpjvXaa&3gQ3G<+&)/bĻs3x0AELelj3&-;SkbK80).N\d?*,3A8*,uM*JB,OaRMy̿lC85h~N-88GEGB)(Duk[XIwegJ6dpT̼|6H09_t3-(Go6+(*3=@AIKH82AR4'RnYLG?I@LZT.Sϻ:5DeaB*/HX9Dӗg4)'lA8Cw560)/8CD3(+*+-vltj62>-EƬ~C*uғeA(.)'QwSHJ2-+5okMX0iybXp-.t2(18:4/72(9kƩ}t|9WEvӽyd.&'0pSPOJH:anyzsw/88I@pNc)MgALėua/)BkK;)-AG+/GyX~Cgdd4=d2f\j95jkÊdH220()'52HxǢ}t1c;,7q9'2@IK/*8NRS'MF)^_R4,IT^)cz*eP0uxnbd;,XwJiq'8yȵdvER6/8,'(@9'RZ͍W1dLJeFK3:L][houG(KN33@48>Z9{1&qwk-&x1R\1I/8,+1BոVJ3;QB+A_,Yo\TJR3i2S{4E-avq'DY_<80)nԖno]7<>K8OMfx0W_F)`|LKyӦn?20A:4Ch1,5ױP2P.<2:PnyxQ@+KyJӒ2'.<.QmL1>',,+-;6Jlh{nn~{..5C4aQK&ҙQUQI^X_]Bdx4|:D@wGd-YkăֿG=..**3((+.>ckH/{Y8-UV9/]YQFK4R.2FךA-'XvHLQ]ezLsҫ@HZ8h*R5G962`>-\g@U»mNS+,(R_]eQ(,en}GR7<+Xx^dGqSVDljwZME&3HRՀ0B\{z90Z))T3-8*bH|VgbLZ.=o;dnd7^-N̒{>1<]i*9opAXLUntg:ud2,hLBqGgR=Ϋ,N}p-oBM6PI8zoz;S(,`rI[zBYι|~`Z4A]}:]+EEb/E>gI?_C8P/A]q\lkeB-0@o(YK8pJ-Rƽ=-66KO\@QeZ>R?6t]X~aH)Q9-B)DLxCF/`x|]aYw'':Y&JoHMs2h>?QnŒU>,4')Gf^CA3-0W?]o|V6'4[ds2\rU5Z,MbvaRuUmɜl}z̸,1;p}+[ӈH96:}?ABDr|aRN/OWe¶O)r1:CC3uLmQX07Qv):99cЕE,),ADnKUHsqLmhmD*hR07=D+]ΖGH]evh=EFjoz§bXV@'=AX>OKsP=XIGo3Rx.C/Z*Mɞ)0?7f3mɢx.QY]Q=)-5@/fŸko]XL.4Wn]D5*'5V=_ʙhS*D?VUWdcoyHtmmu-S@yv}*vG0i)D\qmsj`je87-ziZ;DIN3*71)+B`oubaAML20ek~XH.6Waʞc@1ReaPLD`j}R]veqӊrye@+>^x=>@,5ICEW|te_iFafl]vhMT7*-?DA>CIF2-5.*//=WRkVvh\YgbF?3*+=SutN00^krv`.(1@Nca[C5Tx}̤xPTU``eŠxtt.3ESIqL?k~~yW\nwIBMKAzOZ-@NE]K05,1'3LUrvI,7w~~B)*7CJ]7-*/^bsspS=vǵj7j\476P~xy^Qh_CM){ǻp33{p5Uw_D(`OrbHd21IapLoMhh7:/Pn}_A/J9~;82NknRE:7j[oP8&0dPPY\fmR?1`vywuul]HCKddɒ>VZvUGGK0/DTgsggqsc[kFgI7+)6FN\aSRZ{fT@733fZ}Pnllznd[F?<4VK]q/*L:)QP_ExB,+t(Wx,1>fbc(9z,3qDI8E(@C=AOp_kPX{i1Ӻ&ʶY;wwP+Xss0D*,pj{HtsMYrt^aCrqh=?l+RhSվKILRqYMD4\VVMngZBQ0wW\SM[izmynCbcgTHLv{jaY^gtSMXAQzhhrxuovsxx1|V8swtbKLat}6]o-|inoN>>G`wʹrg5*;q9t,=*9b8q0Yvx~8EӸZ@hdzVd2'&IƯd/OȫeϹcҲP/TF'+.+<<J>oE4P645h/HGa>IXRһhQ_NQ9wbzj[U[5tK=Ie3uVM[9.ŝ1SL>}V\U'm?g_k{/h`-H~fskTW0yI(_R.yrCKV)[S3~x9)NH-O>]gJ*]oS:E7]1(6dM06E_X`T9woaw|O4;@*PtO[6(I^a1]ond-))\^k{)I2@T3;;>_``)H1A*PMZ+2BD.zsq08-qAA)=h^;:)7Nqdad:<pu|AMgGWDkM3OYWUAPyo]w>:gi\w/>SZf98/~e]n3UuD@p:t4NYR{R-(<¡tnWr@ZpJN>}JTK:C@UbB)-\v)3YVjjF9kbeJy:I:'.*_<A=8?dtaC|}P,FP@)LJQyUEUO'HRea+*lUMD2ZBBYEE*4//;69k¦':<48M0JFB0a7BF/v:ASa^PK?U>Ud^@ye1jL*5ZB?n|xTA5w@[xM{wR<6<A`lv{~qrtlP]g\utEL56:6[jQ^jY/8W}`ePeDKR(.*?)V1.33d\NN6[HI[24vlM@oOsY}\1T*{fWJ1TP7=?@/7y.vnLYZ06+`|9?9*+Z;<D:IwPR8323_?}SJaou.T+avp.M1I_^c1?B3H1rX?S\˓`79@71~b<XiO;@:@*=PCI27;cԳUU+8J-<1,<B@=4SQZBZY(9;DCWG.<9GvyAB>J)67PNQMq,7Jk(82(^`f.@R50a7J,cNO@ΰ:~|n\LqpH9RA>(J1ZW=9uz5<+-6C/YW34zs`@M_-5~F?p*2pѰTQWdj6;~7KOvVwalyzp68//ihJQHNHNYNFJ6bjm.;u},C`2Yd{knKJRe].(qs`6.`Jvҹf3:XRU\mU(egY/ɶqmJlTPH\O7'aVWRLH-h7)_w(YR59GB9~J2AC[O\S5FT_GK</(>0cI869>--`aZF-:QHI?283-FxE\^D5K32\C0)Ⱥ@<;6KTM11-Kg'mt23&7S|05_}+QSIru+GVXI=0DA.00-9RJ-9V?-1BhyCNl//@AJ7Eh}zKGaohoSTR*,;H*'LlztB;Tp}_DZ0,2;KK+-2-15.P^/3wh@/-)0LO39=pQA8P726D<@75:H9E8O3Q\39Q6;8@918(c;60>CJUHE47OC3`yW:qc;5Kp5]]9-2*+/<,/&)799Blc21pv2SZK8M=M0n|20[KMJcxHB?O}K-lyQ)+'HldqSUIQH=Eic,?:L2@AM2-F`fxY3(IVmU.;>34YqrZ53-W~źl*̴ha.?ho|_diZLy-(M\n'3JHUcTV@+1]|'=JYv^MB^Y.:YE:&9O:Gź0qW/.@:<,XZH`2Y*CT\]K=6cjH?cxzzsaYI/Q8˟?2v}c]R,(5:?gõJErÉpШj]<N3-/~T8+JL88Xh8WZTAgwpN=YNTnplI5^ҁjk|aXkKNo25RQ2344YMWӰAASZ3nY.GOdsaAG01FuAF4eV)oP*чn|y{O?KS/ncVum?02:KN2=j64/21M[g+;65)0.,6FT:H1uuUbl|}M=,7Rlc:3.TýXա9j6&u.61smSdizuʹ]7BW{d:H>2156@`_g^>120AdñѱiH?-.CZ8\S71Offense attacks a large base in the sky with lots of generators: +//1+2 = Turret and Vpad Generator: Should be destroyed to get air supremacy. +//3 = Base Generator: Must be destroyed to spawn at the enemy base. It's located next to the D Vpad. +//4+5 = Force Field Generators: Must be destroyed to reach the Switch and the Switch Generators. +//6 = Emergency Generator: Needs to be down to reach the Switch and the Switch Generators. +//7-10 = Switch Generators: Only one of them must be destroyed. Each Switch Generator is powering the FF on its side of the Switch. +//11 = Equipment Generator: Can be disabled to weaken the Defense. It's powering the base, all D Invs and the FF near the Emergency Generator. +//The Base Generator and the Force Field Generators are not repairable. Heavies can't cap! +//Map by The Reticent. Thanks to Fragment, Black Omen, Celios and to the people on the pond for testing the map. +//--- MISSION STRING END --- + +//------------------------ + +// No Team blue forcefield. +datablock ForceFieldBareData(RetNoTeamFieldBlue) +{ + fadeMS = 1000; + baseTranslucency = 0.9; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.2 0.2 0.3.5"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Scout_winshield.png"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 0; + umapping = 1.0; + vmapping = 0.15; +}; + +// No Team Light blue forcefield. +datablock ForceFieldBareData(RetNoTeamField) +{ + fadeMS = 1000; + baseTranslucency = 0.9; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.2 0.2 0.25"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 5; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +// No Team red forcefield. +datablock ForceFieldBareData(RetNoTeamFieldRed) +{ + fadeMS = 1000; + baseTranslucency = 0.3; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.7 0.0 0.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 5; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +// Team Only red forcefield. +datablock ForceFieldBareData(RetTeamFieldRed) +{ + fadeMS = 1000; + baseTranslucency = 0.3; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.7 0.0 0.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 5; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +// This code is by Zear. Thanks! +// Forcefields that you want to have normal physical properties add custom = "1"; +function ForceFieldBareData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + + //%velo = 1; + //%grav = 0.1; + //%appl = "0 0 0"; + + if(%obj.custom $= "1") + { + %velo = %obj.velocityMod; + %grav = %obj.gravityMod; + %appl = %obj.appliedForce; + } + else + return; // DONT add any physical zones unless the force field contains 'custom = "1";' + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-768 -672 1120 1120"; + flightCeiling = "1200"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "264 -8 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "650"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.600000 0.600000 0.650000 1.000000"; + fogDistance = "200"; + fogColor = "0.600000 0.600000 0.650000 1.000000"; + fogVolume1 = "600 0 460"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 7648147490786239160000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.76868e+20 1.77529e+28"; + high_fogVolume2 = "-1 7.16804e+35 1.35559e-19"; + high_fogVolume3 = "-1 973.643 1.32909e-14"; + + cloudSpeed0 = "0.000250 0.000050"; + locked = "true"; + }; + new Sun() { + position = "-613.003 -111.712 800"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 0.100000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Alcatraz.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + GraphFile = "Alcatraz.nav"; + coverage = "0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0 1"; + }; + new WaterBlock() { + position = "-1016 -1024 5.51567"; + rotation = "1 0 0 0"; + scale = "2048 2048 250"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.4"; + surfaceTexture = "LiquidTiles/IslandWater02"; + surfaceOpacity = "0.9"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.15"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new AudioEmitter() { + position = "341.094 -56.5876 736.272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "400"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Opad) { + position = "-674.261 -284.248 285.411"; + rotation = "0.404123 -0.16376 0.899926 48.4825"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(BaseOutside) { + position = "-106.749 -150.264 541.551"; + rotation = "0.352123 -0.11669 0.928651 39.2779"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(BaseVpad) { + position = "72.2567 11.5149 559.427"; + rotation = "0.0301057 -0.0648172 0.997443 130.285"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Hall1) { + position = "190.198 -88.2367 584.483"; + rotation = "0.708022 0.147212 -0.690676 33.5077"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Hall2) { + position = "151.912 -46.2219 584.89"; + rotation = "0.0424801 -0.159174 0.986336 150.505"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(FFGens) { + position = "155.169 11.2397 587.85"; + rotation = "0.0500222 -0.0947379 0.994245 124.604"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Switch) { + position = "148.611 -91.7034 555.196"; + rotation = "0.40488 -0.19061 0.894282 55.5277"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(OBaseSpawn) { + position = "-628.237 -151.549 256.099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere(OutLSpawn) { + position = "108.337 -42.626 588.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(OInSpawn) { + position = "136.466 -2.50334 547.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(OutRSpawn) { + position = "108.337 -65.426 588.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(OBase1) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-638.552 -255.995 258.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-638.639 -256.15 257.107"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + MobileBaseVehicle = "removed"; + Target = "33"; + inUse = "Down"; + ScoutVehicle = "removed"; + station = "6345"; + locked = "true"; + AssaultVehicle = "removed"; + team = "1"; + }; + new StaticShape() { + position = "-628.963 -275.348 260.297"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "\^AllCreation\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "6157"; + team = "1"; + }; + new StaticShape() { + position = "-648.362 -275.185 260.297"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Morgoth Bauglir\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "6159"; + team = "1"; + }; + new InteriorInstance() { + position = "-541.943 -99.5497 257.682"; + rotation = "0 0 1 215.432"; + scale = "1 1 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-541.783 -99.4738 256.472"; + rotation = "0 0 1 35.4322"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + MobileBaseVehicle = "removed"; + Target = "36"; + inUse = "Down"; + ScoutVehicle = "removed"; + station = "6347"; + locked = "true"; + AssaultVehicle = "removed"; + team = "1"; + }; + new StaticShape() { + position = "-538.537 -78.2219 259.662"; + rotation = "0 0 1 35.9142"; + scale = "1 1 1"; + nameTag = "Fixx\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "6163"; + team = "1"; + }; + new StaticShape() { + position = "-522.825 -89.6009 259.662"; + rotation = "0 0 1 35.9142"; + scale = "1 1 1"; + nameTag = "Fadge\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2743803"; + Target = "38"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4341"; + Trigger = "6165"; + team = "1"; + }; + new Turret() { + position = "-638.552 -278.795 262.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "jacen\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "39"; + originalBarrel = "AABarrelLarge"; + team = "1"; + }; + new Turret() { + position = "-528.725 -80.9722 261.682"; + rotation = "0 0 1 215.432"; + scale = "1 1 1"; + nameTag = "Black Omen\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "40"; + originalBarrel = "AABarrelLarge"; + team = "1"; + }; + new StaticShape() { + position = "-591.592 -192.771 196.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + team = "1"; + }; + new WheeledVehicle() { + position = "-533.533 -215.45 268.881"; + rotation = "-0.0096249 -0.0238279 0.99967 97.2785"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + mountable = "0"; + resetPos = "1"; + locked = "true"; + selfPower = "1"; + deployed = "1"; + immobilized = "1"; + selfPower = "1"; + respawnTime = "10000"; + respawn = "1"; + }; + new WheeledVehicle() { + position = "-568.758 -251.929 260.898"; + rotation = "0.0212097 -0.0075868 0.999746 102.452"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + mountable = "0"; + resetPos = "1"; + locked = "true"; + selfPower = "1"; + deployed = "1"; + immobilized = "1"; + selfPower = "1"; + respawnTime = "10000"; + respawn = "1"; + }; + new WheeledVehicle() { + position = "-612.739 -111.896 261.83"; + rotation = "0.0771606 -0.20179 0.976385 43.7358"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + mountable = "0"; + resetPos = "1"; + locked = "true"; + selfPower = "1"; + deployed = "1"; + immobilized = "1"; + selfPower = "1"; + respawnTime = "10000"; + respawn = "1"; + }; + new WheeledVehicle() { + position = "-526.042 -175.685 261.03"; + rotation = "0.118826 0.0645282 0.990816 79.7442"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + mountable = "0"; + resetPos = "1"; + locked = "true"; + selfPower = "1"; + deployed = "1"; + immobilized = "1"; + selfPower = "1"; + respawnTime = "10000"; + respawn = "1"; + }; + new StaticShape() { + position = "-496.048 -121.914 259.13"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + nameTag = "a tiny fishie\'s"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "1"; + }; + new StaticShape() { + position = "-552.718 -334.704 257.725"; + rotation = "0 0 1 116.31"; + scale = "1 1 1"; + nameTag = "Mezzomorph\'s"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "1"; + }; + }; + new SimGroup(DBase) { + + powerCount = "0"; + + new StaticShape(ForwardGen) { + position = "103.912 15.462 260.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + team = "1"; + }; + new ForceFieldBare(OFF) { + position = "168.645 -29.6076 551.961"; + rotation = "1 0 0 0"; + scale = "30.0805 0.468622 6.38144"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + team = "1"; + }; + new StaticShape() { + position = "138.594 11.0469 546.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Comkill\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "6181"; + team = "1"; + }; + new StaticShape() { + position = "123.435 11.0544 546.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flaming Rage\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "6183"; + team = "1"; + }; + new StaticShape() { + position = "138.594 -14.5531 546.661"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Laeren\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + Trigger = "6185"; + team = "1"; + }; + new StaticShape() { + position = "123.435 -14.5456 546.661"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Swirl\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + Trigger = "6187"; + team = "1"; + }; + new Item() { + position = "109.439 -15.187 547.831"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "119.396 -34.1882 577.271"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Giant Purple\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + Trigger = "6190"; + team = "1"; + }; + new StaticShape() { + position = "119.396 -43.3882 577.271"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "propain\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "55"; + Trigger = "6192"; + team = "1"; + }; + new StaticShape() { + position = "119.396 -61.1882 577.271"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "shutdown\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "56"; + Trigger = "6194"; + team = "1"; + }; + new StaticShape() { + position = "119.396 -71.5882 577.271"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Za\`arok\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + Trigger = "6196"; + team = "1"; + }; + new ForceFieldBare() { + position = "121.837 -54.9818 577.28"; + rotation = "1 0 0 0"; + scale = "0.514104 5.2735 3.64766"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + team = "1"; + }; + new ForceFieldBare() { + position = "116.513 -81.0519 577.163"; + rotation = "0 0 -1 90"; + scale = "0.567834 5.2735 3.79424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + team = "1"; + }; + new ForceFieldBare() { + position = "116.43 -28.0608 577.205"; + rotation = "0 0 -1 90"; + scale = "0.567891 5.2735 3.79424"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + team = "1"; + }; + new ForceFieldBare() { + position = "103.078 -89.3909 546.563"; + rotation = "1 0 0 0"; + scale = "0.514104 8.17032 4.67601"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(Hall1Spawn) { + position = "179 -99.566 573.87"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Hall2Spawn) { + position = "161.695 -66.6232 576.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Hall3Spawn) { + position = "164.198 -11.9928 577.294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + + powerCount = "0"; + + new SimGroup(MainBase) { + + powerCount = "1"; + + new InteriorInstance(MainBase) { + position = "153.592 -52.267 546.704"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbase_tokrz_scarabrae.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + + team = "2"; + }; + new ForceFieldBare() { + position = "153.669 -99.2435 576.928"; + rotation = "1 0 0 0"; + scale = "44.6944 0.622838 4.77781"; + dataBlock = "RetNoTeamFieldBlue"; + lockCount = "0"; + homingCount = "0"; + + Target = "62"; + team = "2"; + }; + new StaticShape(EQGen) { + position = "128.156 -64.6662 585.451"; + rotation = "0 0 1 90"; + scale = "0.5 0.5 0.5"; + nameTag = "Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "63"; + team = "2"; + }; + new StaticShape() { + position = "114.495 -113.304 577.281"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Lazaurath\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "64"; + Trigger = "6212"; + team = "2"; + }; + new StaticShape() { + position = "140.529 -113.352 577.281"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Fragment\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "65"; + Trigger = "6214"; + team = "2"; + }; + new StaticShape() { + position = "140.517 -101.905 577.281"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "FireFrenzy\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + Trigger = "6216"; + team = "2"; + }; + new StaticShape() { + position = "195.529 -113.752 577.281"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bane Grievver\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "67"; + Trigger = "6218"; + team = "2"; + }; + new StaticShape() { + position = "195.517 -102.905 577.281"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "hcats\'"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "68"; + Trigger = "6220"; + team = "2"; + }; + new StaticShape() { + position = "189.363 -5.65655 577.276"; + rotation = "0 0 1 0.449369"; + scale = "1 1 1"; + nameTag = "CyiNidE\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "69"; + inUse = "Down"; + notReady = "1"; + Trigger = "6222"; + team = "2"; + }; + new StaticShape() { + position = "144.963 -16.2565 577.276"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Vardis\'"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "70"; + Trigger = "6224"; + team = "2"; + }; + new StaticShape() { + position = "195.364 10.2527 562.671"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "helloworld5678\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "71"; + Trigger = "6226"; + team = "2"; + }; + new StaticShape() { + position = "112.224 -27.5914 562.671"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "\-Berserker\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "72"; + Trigger = "6228"; + team = "2"; + }; + new StaticShape() { + position = "112.208 -115.667 562.671"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "mailer\?\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "73"; + Trigger = "6230"; + team = "2"; + }; + new StaticShape() { + position = "195.008 -115.667 562.671"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "FatCow\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "74"; + Trigger = "6232"; + team = "2"; + }; + new Item() { + position = "145.023 -77.1939 564.81"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "144.174 4.62852 582.536"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Synergy\-\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "75"; + Trigger = "6235"; + team = "2"; + }; + new StaticShape() { + position = "163.574 -6.97148 582.536"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "wafford\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "76"; + Trigger = "6237"; + team = "2"; + }; + new StaticShape() { + position = "175.491 -51.0128 546.671"; + rotation = "0 0 -1 90.0456"; + scale = "1 1 1"; + nameTag = "My"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "77"; + Trigger = "6239"; + team = "2"; + }; + new StaticShape(Switch) { + position = "155.602 -76.2983 531.206"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 2.5"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "78"; + team = "2"; + }; + }; + new SimGroup(Vpad) { + + powerCount = "1"; + + new InteriorInstance(sphere) { + position = "-228.247 229.425 671.225"; + rotation = "0 1 0 180"; + scale = "0.4 0.4 0.4"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(VpadGen) { + position = "-227.535 232.076 669.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Vpad"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "79"; + team = "2"; + WayPoint = "6331"; + }; + new ParticleEmissionDummy() { + position = "-227.535 230.076 670.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "AfterT5"; + velocity = "1"; + + team = "2"; + }; + new StaticShape() { + position = "174.228 -1.8373 540.86"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + HAPCFlyer = "removed"; + ready = "1"; + MobileBaseVehicle = "removed"; + Target = "80"; + inUse = "Down"; + ScoutVehicle = "removed"; + station = "6349"; + BomberFlyer = "removed"; + AssaultVehicle = "removed"; + team = "2"; + }; + new StaticShape() { + position = "191.312 7.09128 544.031"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Kamikaze Raptor\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "81"; + inUse = "Down"; + notReady = "1"; + Trigger = "6247"; + team = "2"; + }; + new StaticShape() { + position = "191.314 -10.6828 544.031"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Kamikaze Samurai\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "82"; + Trigger = "6249"; + team = "2"; + }; + }; + new SimGroup(Turrets) { + + powerCount = "1"; + + new InteriorInstance(sphere) { + position = "-180.754 -481.432 709.695"; + rotation = "0 1 0 180"; + scale = "0.4 0.4 0.4"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(TurretGen) { + position = "-179.885 -479.165 707.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Turret"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "83"; + team = "2"; + }; + new Turret() { + position = "85.6454 34.9827 545.201"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + nameTag = "Dargon\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "84"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "85.6454 -2.8173 545.201"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + nameTag = "Hundin666\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "85"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "85.6454 -41.2173 545.201"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + nameTag = "Teribean\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "86"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "85.6459 -139.59 545.201"; + rotation = "0.707107 -0.000563142 -0.707107 180.065"; + scale = "1 1 1"; + nameTag = "Junglist\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "87"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "85.6456 -101.59 545.201"; + rotation = "0.707107 -0.000563142 -0.707107 180.065"; + scale = "1 1 1"; + nameTag = "kdevil\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "88"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "85.6454 -63.39 545.201"; + rotation = "0.707107 -0.000563142 -0.707107 180.065"; + scale = "1 1 1"; + nameTag = "FluffyBunni\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "89"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "221.552 34.9563 545.201"; + rotation = "-0 -1 0 89.9087"; + scale = "1 1 1"; + nameTag = "voup\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "90"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "221.552 -2.84365 545.201"; + rotation = "-0 -1 0 89.9087"; + scale = "1 1 1"; + nameTag = "TySoft\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "91"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "221.552 -41.2437 545.201"; + rotation = "-0 -1 0 89.9087"; + scale = "1 1 1"; + nameTag = "the protector\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "92"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "221.551 -139.616 545.201"; + rotation = "0.706544 -0.000566791 0.707669 179.935"; + scale = "1 1 1"; + nameTag = "Celios\'"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "93"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "221.551 -101.616 545.201"; + rotation = "0.706544 -0.000566791 0.707669 179.935"; + scale = "1 1 1"; + nameTag = "B\|o\|S\|s\|\'"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "94"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "221.551 -63.4164 545.201"; + rotation = "0.706544 -0.000566791 0.707669 179.935"; + scale = "1 1 1"; + nameTag = "Jbot\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "95"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "-179.885 -480.965 709.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "AfterT5"; + velocity = "1"; + + team = "2"; + }; + new StaticShape() { + position = "152.773 -52.4971 482.865"; + rotation = "0.707388 0.706825 -3.08963e-08 180"; + scale = "1 1 1"; + nameTag = "Danny\'s"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "96"; + team = "2"; + }; + new Turret() { + position = "88.2895 37.7 545.202"; + rotation = "0.577657 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + nameTag = "Shadow Skill\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "97"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "130.09 37.7001 545.204"; + rotation = "0.577657 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + nameTag = "ShadowOfThePast\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "98"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "218.863 37.7005 545.201"; + rotation = "0.577658 0.577198 0.577194 119.974"; + scale = "1 1 1"; + nameTag = "ShadowOfHope\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "99"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new Turret() { + position = "176.863 37.7005 545.234"; + rotation = "0.577658 0.577198 0.577194 119.974"; + scale = "1 1 1"; + nameTag = "ShadowOfFear\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "100"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "176.827 -142.25 545.201"; + rotation = "0.577962 0.577501 -0.576587 239.974"; + scale = "1 1 1"; + nameTag = "Shiftin\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "101"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "218.827 -142.25 545.201"; + rotation = "0.577962 0.577501 -0.576587 239.974"; + scale = "1 1 1"; + nameTag = "\?\?\?Unknown\?\?\?\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "102"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + new InteriorInstance() { + position = "29.2796 -149.703 494.189"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "30.0433 -149.501 520.26"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + nameTag = "e2g\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "103"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "-13.648 -5.63736 503.326"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + nameTag = "Griffen Skylord\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "104"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new InteriorInstance() { + position = "-14.4117 -5.83936 477.255"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "284.797 25.527 511.903"; + rotation = "0 0 1 90.1368"; + scale = "1 1 1"; + nameTag = "Cap Tito\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "105"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new InteriorInstance() { + position = "285.563 25.7202 485.832"; + rotation = "0 0 1 90.1368"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "295.618 -157.272 496.954"; + rotation = "0 0 1 90.1368"; + scale = "1 1 1"; + nameTag = "Verna\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "106"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new InteriorInstance() { + position = "296.384 -157.079 470.883"; + rotation = "0 0 1 90.1368"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "161.513 -363.809 532.411"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + nameTag = "Aku\_Ma\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "107"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new InteriorInstance() { + position = "160.749 -364.011 506.34"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "98.1246 243.279 460.703"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + nameTag = "Spitfyr\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "108"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new InteriorInstance() { + position = "97.3609 243.077 434.632"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "130.31 -142.25 545.201"; + rotation = "-0.577351 0.576892 -0.577807 119.921"; + scale = "1 1 1"; + nameTag = "\*PsYcHo\*\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "109"; + originalBarrel = "AABarrelLarge"; + team = "2"; + }; + new Turret() { + position = "88.3097 -142.25 545.201"; + rotation = "-0.577351 0.576892 -0.577807 119.921"; + scale = "1 1 1"; + nameTag = "DocMan\'s"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "110"; + originalBarrel = "MissileBarrelLarge"; + team = "2"; + }; + }; + new SimGroup(BaseAccess) { + + powerCount = "1"; + + new StaticShape(BaseGen) { + position = "168.98 -25.3277 552.181"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "111"; + notRepairable = "1"; + team = "2"; + }; + new ForceFieldBare() { + position = "121.837 -54.9818 577.28"; + rotation = "1 0 0 0"; + scale = "0.514104 5.2735 3.64766"; + dataBlock = "RetTeamFieldRed"; + lockCount = "0"; + homingCount = "0"; + + Target = "112"; + team = "2"; + }; + new ForceFieldBare() { + position = "116.513 -81.0519 577.163"; + rotation = "0 0 -1 90"; + scale = "0.567834 5.2735 3.79424"; + dataBlock = "RetTeamFieldRed"; + lockCount = "0"; + homingCount = "0"; + + Target = "113"; + team = "2"; + }; + new ForceFieldBare() { + position = "116.43 -28.0608 577.205"; + rotation = "0 0 -1 90"; + scale = "0.567891 5.2735 3.79424"; + dataBlock = "RetTeamFieldRed"; + lockCount = "0"; + homingCount = "0"; + + Target = "114"; + team = "2"; + }; + new ForceFieldBare() { + position = "103.078 -89.3909 546.563"; + rotation = "1 0 0 0"; + scale = "0.514104 8.17032 4.67601"; + dataBlock = "RetTeamFieldRed"; + lockCount = "0"; + homingCount = "0"; + + Target = "115"; + team = "2"; + }; + }; + new SimGroup(Emergency) { + + powerCount = "1"; + + new StaticShape(EmGen) { + position = "169.548 -114.799 577.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Emergency"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "116"; + team = "2"; + }; + new ForceFieldBare(EmergFF) { + position = "140.053 -92.1055 542.701"; + rotation = "1 0 0 0"; + scale = "31.4158 31.617 1"; + dataBlock = "RetNoTeamFieldRed"; + lockCount = "0"; + homingCount = "0"; + + Target = "117"; + team = "2"; + }; + }; + new SimGroup(FF2) { + + powerCount = "1"; + + new StaticShape(FF2Gen) { + position = "176.351 -20.3401 582.571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "118"; + notRepairable = "1"; + team = "2"; + }; + new ForceFieldBare() { + position = "139.671 -92.2987 539.946"; + rotation = "1 0 0 0"; + scale = "30.906 31.5708 0.494392"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "119"; + team = "2"; + }; + }; + new SimGroup(FF1) { + + powerCount = "1"; + + new StaticShape(FF1Gen) { + position = "150.351 -20.3401 582.571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "120"; + notRepairable = "1"; + team = "2"; + }; + new ForceFieldBare() { + position = "141.045 -91.2736 545.96"; + rotation = "1 0 0 0"; + scale = "29.3908 29.5165 0.494392"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "121"; + team = "2"; + }; + }; + new SimGroup(SGen1) { + + powerCount = "1"; + + new StaticShape() { + position = "134.856 -76.1418 523.701"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Switch"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "122"; + team = "2"; + }; + new ForceFieldBare(SFF1) { + position = "152.449 -77.1387 532.409"; + rotation = "1 0 0 0"; + scale = "1.9 1.9 19.3741"; + dataBlock = "RetNoTeamField"; + lockCount = "0"; + homingCount = "0"; + + Target = "123"; + team = "2"; + }; + }; + new SimGroup(SGen2) { + + powerCount = "1"; + + new StaticShape() { + position = "155.795 -56.5041 523.701"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Switch"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "124"; + team = "2"; + }; + new ForceFieldBare(SFF2) { + position = "154.648 -75.0504 532.409"; + rotation = "1 0 0 0"; + scale = "1.9 1.9 19.3741"; + dataBlock = "RetNoTeamField"; + lockCount = "0"; + homingCount = "0"; + + Target = "125"; + team = "2"; + }; + }; + new SimGroup(SGen3) { + + powerCount = "1"; + + new StaticShape() { + position = "174.039 -76.2293 523.701"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Switch"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "126"; + team = "2"; + }; + new ForceFieldBare(SFF3) { + position = "156.827 -77.2149 532.409"; + rotation = "1 0 0 0"; + scale = "1.9 1.9 19.3741"; + dataBlock = "RetNoTeamField"; + lockCount = "0"; + homingCount = "0"; + + Target = "127"; + team = "2"; + }; + }; + new SimGroup(SGen4) { + + powerCount = "1"; + + new StaticShape() { + position = "155.694 -96.0114 523.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Switch"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + needsObjectiveWaypoint = "1"; + Target = "128"; + team = "2"; + }; + new ForceFieldBare(SFF4) { + position = "154.648 -79.364 532.409"; + rotation = "1 0 0 0"; + scale = "1.9 1.9 19.3741"; + dataBlock = "RetNoTeamField"; + lockCount = "0"; + homingCount = "0"; + + Target = "129"; + team = "2"; + }; + }; + }; + }; + }; + +}; +//--- OBJECT WRITE END --- + +package FinalRevenge +{ + + +function SiegeGame::missionLoadDone(%game) +{ + // Shrikes + $OldScoutFlyerMax = $VehicleMax[ScoutFlyer]; + $VehicleMax[ScoutFlyer] = 15; // 15 Shrikes now + + //Disable the hidden Offense generators for Dbase + nameToId("ForwardGen").setDamageLevel(2.5); + Parent::missionLoadDone(%game); +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + //When Base gen gets destroyed + if (%obj == nameToId("BaseGen")) + { + nameToId("ForwardGen").setDamageState(Enabled); //The Offense gen for the base comes online + nameToId("VpadGen").setDamageLevel(2.5); //The D Vpad becomes disabled + nameToId("TurretGen").setDamageLevel(2.5); //The D turrets becomes disabled + + nameToId("BaseGen").waypoint.delete(); + nameToId("VpadGen").waypoint.delete(); + nameToId("TurretGen").waypoint.delete(); + + nameToId("OBaseSpawn").sphereWeight = 0; //The D spawn for the ground base is deactivated + nameToId("OutLSpawn").sphereWeight = 30; //The new O spawn is activated + nameToId("OutRSpawn").sphereWeight = 30; //The new O spawn is activated + nameToId("OInSpawn").sphereWeight = 40; //The new O spawn is activated + } +} + +function SiegeGame::halftimeOver( %game ) //resetting all variables +{ + nameToId("ForwardGen").setDamageLevel(2.5); + + nameToId("OBaseSpawn").sphereWeight = 100; + nameToId("OutLSpawn").sphereWeight = 0; + nameToId("OutRSpawn").sphereWeight = 0; + nameToId("OInSpawn").sphereWeight = 0; + + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + $VehicleMax[ScoutFlyer] = $OldScoutFlyerMax; + $OldScoutFlyerMax = ""; + + exec("scripts/forceField.cs"); + Parent::gameOver(%game); + deactivatePackage(FinalRevenge); +} + + +}; +activatepackage(FinalRevenge); diff --git a/public/base/@vl2/FinalRevenge.vl2/terrains/FinalRevenge.spn b/public/base/@vl2/FinalRevenge.vl2/terrains/FinalRevenge.spn new file mode 100644 index 00000000..db94ff48 Binary files /dev/null and b/public/base/@vl2/FinalRevenge.vl2/terrains/FinalRevenge.spn differ diff --git a/public/base/@vl2/FinalRevenge.vl2/textures/gui/Load_FinalRevenge.png b/public/base/@vl2/FinalRevenge.vl2/textures/gui/Load_FinalRevenge.png new file mode 100644 index 00000000..3b78c9ef Binary files /dev/null and b/public/base/@vl2/FinalRevenge.vl2/textures/gui/Load_FinalRevenge.png differ diff --git a/public/base/@vl2/Geronimo.vl2/missions/Geronimo.mis b/public/base/@vl2/Geronimo.vl2/missions/Geronimo.mis new file mode 100644 index 00000000..69f09c2e --- /dev/null +++ b/public/base/@vl2/Geronimo.vl2/missions/Geronimo.mis @@ -0,0 +1,1080 @@ +// DisplayName = Geronimo! +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +// "I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. +//And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain." -- Frank Herbert, Dune, "Litany Against Fear" +//---------- +//--Map by ???Unknown???. Thanks to FatCow, Deviant, Jacen, helloworld and the people of the pond for helping test the map. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Details (hit esc in-game to view): Offense spawns on a base high in the air above the Defense base. Jump off the edge and aim for the Orange FF's. Take out the North and South FF gens to get inside base, take out all three base gens to expose switch. +//Defense spawns indoors. You can either defend the base gens or try to get the FF's back up and defend them. You can't reach the switch unless the base gens are down. +//All gens must be down to cap. Access the switch from the chute outside. +//Credits: Map by ???Unknown???. Thanks to FatCow, Deviant, Jacen, helloworld and the people of the pond for helping test the map. +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "badlands"; + DM_timeLimit = "25"; + Team_Hunters_timeLimit = "25"; + cdTrack = "4"; + Hunters_timeLimit = "25"; + powerCount = "0"; + DM_scoreLimit = "25"; + + new MissionArea(MissionArea) { + area = "-160 -88 512 512"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0015"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.200000 0.200000 0.000000"; + fogDistance = "200"; + fogColor = "0.300000 0.300000 0.300000 1.000000"; + fogVolume1 = "600 0 190"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "5 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 5.75161e-35 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 3.39093e-34 0"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.300000 0.300000 0.300000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet2"; + terrainFile = "AgentsOfFortune.ter"; + squareSize = "8"; + emptySquares = "233103 233359 233615"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(navGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Geronimo.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "187.814 72.7122 255.214"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Camera() { + position = "129.709 124.937 81.9344"; + rotation = "0.406029 -0.405706 0.818867 101.329"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "131.129 158.641 51.5879"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "224.943 121.099 751.556"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "131.42 123.901 24.1589"; + rotation = "1 0 0 0"; + scale = "0.985931 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "72.3684 126.078 54.6457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "190.209 125.557 55.249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "153.817 152.54 110.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new ForceFieldBare() { + position = "127.07 114.835 35.9574"; + rotation = "1 0 0 0"; + scale = "7.91883 0.917297 7.8038"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "33"; + team = "1"; + }; + new InteriorInstance() { + position = "0.061306 -18.8919 178.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(EastBaseGen) { + position = "188.265 125.239 45.4441"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "East Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1513470"; + target = "34"; + WayPoint = "7311"; + team = "1"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5041"; + repairedBy = "5041"; + }; + new ForceFieldBare() { + position = "127.221 131.166 36.0149"; + rotation = "1 0 0 0"; + scale = "7.86882 0.770004 7.67324"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "45"; + team = "1"; + }; + new StaticShape(WestBaseGen) { + position = "73.86 126.186 45.4516"; + rotation = "0 0 1 90.5276"; + scale = "1 1 1"; + nameTag = "West Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1037841"; + target = "36"; + WayPoint = "7312"; + team = "1"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5041"; + repairedBy = "5041"; + }; + new SimGroup(Centerbase) { + powerCount = "2"; + + new StaticShape(CenterGen) { + position = "128.839 122.985 24.8072"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1057356"; + target = "41"; + WayPoint = "7314"; + team = "1"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5041"; + repairedBy = "5041"; + }; + new StaticShape(CenterInv) { + position = "119.117 123.413 24.7954"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "635995"; + Trigger = "7207"; + target = "42"; + team = "1"; + notReady = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "7205"; + }; + new StaticShape(CenterInv) { + position = "143.023 123.423 24.7911"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "635995"; + Trigger = "7209"; + target = "43"; + team = "1"; + notReady = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "7205"; + repairedBy = "5041"; + }; + new ForceFieldBare() { + position = "128.526 116.077 105.304"; + rotation = "1 0 0 0"; + scale = "6.17871 0.435692 11.6897"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "44"; + team = "1"; + }; + new InteriorInstance() { + position = "131.064 125.94 99.8275"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + interiorFile = "xtowr7.dif"; + showTerrainInside = "1"; + AudioProfile = "Universal_Base_Pulse_1"; + AudioEnvironment = "BigRoom"; + locked = "true"; + team = "2"; + }; + new StaticShape(SouthBaseInv) { + position = "131.271 81.8254 26.0548"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "South Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "727376"; + Trigger = "9037"; + target = "35"; + team = "1"; + notReady = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "5042"; + repairedBy = "31108"; + }; + new StaticShape(NorthFFInv) { + position = "131.473 182.644 149.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North FF"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "1293050"; + Trigger = "9039"; + target = "37"; + team = "1"; + notReady = "1"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5041"; + }; + new StaticShape(SouthFFInv) { + position = "131.048 69.1985 149.802"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "South FF"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "9041"; + target = "39"; + team = "1"; + }; + new StaticShape(NorthBaseInv) { + position = "131.076 165.052 26.0404"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + nameTag = "North Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "335521"; + Trigger = "9043"; + target = "40"; + team = "1"; + notReady = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "5042"; + }; + new ScriptObject(PJTeamHUDData) { + kills5041 = "0"; + deaths5041 = "0"; + floodprotect = "0"; + perRow = "17"; + rows = "1"; + cell5041 = "0"; + client0 = "5041"; + backpack = "repairpack"; + TotalPlayers = "0"; + }; + }; + new StaticShape(Switch) { + position = "131.05 124.618 53.5405"; + rotation = "1 0 0 0"; + scale = "1.53607 1.50956 1.33514"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "2823095"; + target = "38"; + WayPoint = "7313"; + team = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "31244"; + }; + new TSStatic() { + position = "131.06 124.673 52.9497"; + rotation = "1 0 0 0"; + scale = "1.25518 1.66358 1.14153"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "0 0 178.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + new SimGroup(OuterFF) { + powerCount = "2"; + + new StaticShape(SouthFFGen) { + position = "131.166 70.8581 127.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "South FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1474930"; + target = "46"; + WayPoint = "7315"; + team = "1"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5041"; + repairedBy = "5041"; + }; + new StaticShape(NorthFFGen) { + position = "131.513 181.034 127.348"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "North FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1467189"; + target = "47"; + WayPoint = "7316"; + team = "1"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5041"; + repairedBy = "5041"; + }; + new Item() { + position = "131.209 126.108 118.251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + target = "-1"; + team = "2"; + }; + new ForceFieldBare() { + position = "120.857 115.897 105.162"; + rotation = "1 0 0 0"; + scale = "20.3483 20.1026 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "48"; + team = "1"; + }; + new ForceFieldBare() { + position = "126.945 80.1163 149.285"; + rotation = "1 0 0 0"; + scale = "8.38954 0.1 11.3637"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "50"; + team = "1"; + }; + new ForceFieldBare() { + position = "126.278 171.582 149.702"; + rotation = "1 0 0 0"; + scale = "8.90382 0.1 10.4342"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "49"; + team = "1"; + }; + new ForceFieldBare() { + position = "126.893 171.753 127.091"; + rotation = "1 0 0 0"; + scale = "8.90382 0.1 10.4342"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "60"; + team = "1"; + }; + new ForceFieldBare() { + position = "126.49 80.3318 127.063"; + rotation = "1 0 0 0"; + scale = "8.90382 0.1 10.4342"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "61"; + team = "1"; + }; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "203.547 120.934 759.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new InteriorInstance() { + position = "194.114 121.476 770.466"; + rotation = "0.706825 0.707388 -0.000562879 179.935"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "217.201 120.533 738.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "238.693 121.058 739.728"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "214.824 121.396 779.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "xbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "154.707 121.635 733.362"; + rotation = "0.0797238 0.0796603 -0.993629 90.3206"; + scale = "0.742361 1 1"; + interiorFile = "xbrdgn.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "193.923 121.516 779.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "184.71 121.561 740.728"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "228.144 120.635 740.175"; + rotation = "1 0 0 0"; + scale = "0.979503 1.01392 0.827511"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "215.458 121.384 779.677"; + rotation = "0 0 1 90.5273"; + scale = "1 1.20497 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(UnknownsGen) { + position = "225.912 120.47 741.538"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "???Unknown???\'s"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + target = "51"; + team = "2"; + }; + new StaticShape() { + position = "209.013 144.898 740.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Trigger = "7240"; + target = "52"; + team = "2"; + notReady = "1"; + }; + new StaticShape() { + position = "209.069 97.9027 740.81"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Trigger = "7242"; + target = "53"; + team = "2"; + notReady = "1"; + }; + new StaticShape(ACStation) { + position = "222.207 120.678 740.779"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "All Creation\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Trigger = "7244"; + target = "54"; + team = "2"; + notReady = "1"; + }; + new StaticShape(AzazylStation) { + position = "241.756 121.191 779.733"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Azazyl\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Trigger = "7246"; + target = "55"; + team = "2"; + notReady = "1"; + }; + new StaticShape() { + position = "194.011 131.973 779.786"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Trigger = "7248"; + target = "56"; + team = "2"; + notReady = "1"; + }; + new StaticShape() { + position = "194.097 111.035 779.829"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + Trigger = "7250"; + target = "57"; + team = "2"; + notReady = "1"; + }; + new SimGroup() { + powerCount = "1"; + }; + new ForceFieldBare() { + position = "80.3793 126.193 232.164"; + rotation = "0 0 1 45.2637"; + scale = "71.1547 71.7505 0.1"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "58"; + team = "2"; + }; + new ForceFieldBare() { + position = "80.1306 127.117 213.753"; + rotation = "0 0 1 45.2637"; + scale = "72.3279 70.6493 0.1"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + target = "59"; + team = "2"; + }; + new Item() { + position = "227.99 120.756 747.597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + target = "-1"; + team = "1"; + }; + }; + new Item() { + position = "-0.101569 -5.61989 173.303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + target = "-1"; + team = "1"; + }; + new SimGroup() { + powerCount = "0"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(base) { + providesPower = "1"; + powerCount = "1"; + }; + }; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + + new SimGroup(Addition5BiodermPlant5) { + powerCount = "0"; + + new TSStatic() { + position = "269.5 -33.5 187.748"; + rotation = "0 0 -1 117"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-66.7 98.3 237.568"; + rotation = "0 0 1 74"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "127.3 48.5 104.318"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "217.5 -76.5 185.248"; + rotation = "0 0 1 109"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "171.5 36.5 100.758"; + rotation = "0 0 1 87"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "91.5 255.5 144.691"; + rotation = "0 0 -1 14"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "15.5 331.5 164.602"; + rotation = "0 0 1 40"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84.5 302.5 166.824"; + rotation = "0 0 1 161"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(ambient) { + powerCount = "0"; + + new FileObject() { + }; + new TSStatic() { + position = "120.09 112.324 92.418"; + rotation = "0 0 1 114.019"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new FileObject() { + }; + new TSStatic() { + position = "123.13 112.087 92.7805"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "147.149 57.6019 101.492"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "144.27 135.398 91.4467"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "135.696 -116.796 193.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "35000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "473.188 142.74 883.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rumblingthunder.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5000"; + maxDistance = "10000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "193.42 301.247 223.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-26.7892 123.893 171.066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "280.542 123.55 749.682"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "125"; + maxDistance = "400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "280.55 123.513 749.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "125"; + maxDistance = "400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new SimGroup() { + powerCount = "0"; + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + }; + new Precipitation(Precipitation) { + position = "187.655 119.236 784.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1"; + maxVelocity = "6"; + maxNumDrops = "30"; + maxRadius = "50"; + }; + new SimGroup() { + powerCount = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Geronimo.vl2/terrains/Geronimo.spn b/public/base/@vl2/Geronimo.vl2/terrains/Geronimo.spn new file mode 100644 index 00000000..2f7c282d Binary files /dev/null and b/public/base/@vl2/Geronimo.vl2/terrains/Geronimo.spn differ diff --git a/public/base/@vl2/Geronimo.vl2/textures/gui/load_Geronimo.png b/public/base/@vl2/Geronimo.vl2/textures/gui/load_Geronimo.png new file mode 100644 index 00000000..a0b9cfba Binary files /dev/null and b/public/base/@vl2/Geronimo.vl2/textures/gui/load_Geronimo.png differ diff --git a/public/base/@vl2/MountainSiege.vl2/missions/MountainSiege.mis b/public/base/@vl2/MountainSiege.vl2/missions/MountainSiege.mis new file mode 100644 index 00000000..9e90782f --- /dev/null +++ b/public/base/@vl2/MountainSiege.vl2/missions/MountainSiege.mis @@ -0,0 +1,2560 @@ +// DisplayName = Mountain Siege +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//This is likely to be my final map. Thanks to the wonderful Siege community for keeping my interest in Tribes 2 for so long, you've all been great! +// -- Map by ???Unknown??? -beta v2. Thanks to The Reticent, IcePack, EventHorizon, and the people of the pond (you) for help testing. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Hit esc in game to view all the map details. +//The offense uses vehicles to reach the first defense bunker. When the first defense bunker goes offline, the first offense bunker comes online. +//They can then ski to the second D bunker from there and attack it. When the second D bunker goes offline the second O bunker comes online. +//From there, they ski to the main base and attempt to repair the final offensive generator to gain access to the indoor bunker. From then on it's an indoor battle. +//For the indoor battle, start with the Blue Tower Gen, followed by the Red Tower Gen, and finally the Switch FF Gen to gain access to the switch. +//This map is an attempt at combining 3 different maps into one. Vehicle centric, Ski-able, and finally indoor combat. Keep in mind, it's still in beta. +//Credits: Map by ???Unknown??? -beta v2. Thanks to The Reticent, IcePack, EventHorizon, and the people of the pond (you) for help testing. All feedback is welcome. +//--- MISSION STRING END --- + +datablock TriggerData(UnksTPTrigger) +{ + tickPeriodMS = 30; +}; + +datablock ForceFieldBareData(UnksTPFF) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(UnksGrayFF) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = true; + color = "0.2 0.2 0.2"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/null"; + + framesPerSec = 1; + numFrames = 1; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +function ForceFieldBareData::onAdd(%data, %obj) +{ + if(%obj.customPZ $= "1") { //add a dynamic field to your FF called "customPZ" with a value of 1 and it will have a custom PZ with the values set below + %velo = %obj.PZVelocity; //add a dynamic field to your FF called "PZVelocity" and set the value to what velocityMod you want + %grav = %obj.PZGravity; //dynamic field - PZGravity = whatever gravityMod you want your FF to have + } + + else { + %velo = "0.1"; + %grav = "1"; + } + + %appl = "0 0 0"; + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); + + Parent::onAdd(%data, %obj); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "5"; + musicTrack = "ice"; + powerCount = "0"; + Siege_timeLimit = "20"; + + new MissionArea(MissionArea) { + area = "-176 -1016 1200 2032"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Training4.ter"; + squareSize = "8"; + emptySquares = "140441 140688 140697 140705 140944 403095 140961 403351 141465 75932 141721 216278 216534 220837 286628 286884 221605"; + + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + GraphFile = "Containment.nav"; + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(Dbunk1spawn) { + position = "699.901 -400.147 138.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Dbunk2spawn) { + position = "296.719 -257.791 61.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(mainbase) { + + powerCount = "0"; + + new SimGroup(switchgen) { + + powerCount = "1"; + + new StaticShape(switchffgen) { + position = "270.076 -797.951 37.454"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Switch FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "5278"; + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5672"; + needsObjectiveWaypoint = "1"; + Target = "33"; + damageTimeMS = "3157978"; + }; + new StaticShape(thereticentinv) { + position = "247.244 -753.647 34.8402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "The Reticent\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "5278"; + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + Trigger = "5302"; + team = "1"; + Target = "34"; + notReady = "1"; + inUse = "Down"; + damageTimeMS = "2496609"; + }; + new StaticShape(Switch) { + position = "206.142 -766.209 27.4344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5278"; + lastDamagedByTeam = "1"; + team = "1"; + WayPoint = "5673"; + needsObjectiveWaypoint = "1"; + Target = "35"; + damageTimeMS = "2380706"; + }; + new ForceFieldBare() { + position = "204.311 -768.117 27.4031"; + rotation = "1 0 0 0"; + scale = "3.90567 3.38747 5.40571"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + }; + new InteriorInstance(InteriorInstance) { + position = "206.18 -712.801 49.8529"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + interiorFile = "bbase1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "221.409 -766.485 27.4268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + Trigger = "5309"; + team = "1"; + Target = "37"; + notReady = "1"; + inUse = "Down"; + damageTimeMS = "2476673"; + }; + new StaticShape() { + position = "191.654 -766.484 27.4268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + Trigger = "5311"; + team = "1"; + Target = "38"; + notReady = "1"; + inUse = "Down"; + damageTimeMS = "2472550"; + }; + new Item() { + position = "206.203 -775.857 28.6899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "188.975 -775.015 27.8091"; + rotation = "1 0 0 0"; + scale = "35.9108 0.1 6.58326"; + dataBlock = "UnksGrayFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + team = "1"; + customPZ = "1"; + Target = "39"; + PZVelocity = "1"; + }; + }; + new SimGroup(bluetower) { + + powerCount = "1"; + + new StaticShape(bluetowergen) { + position = "273.998 -726.623 68.7135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Blue Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "5278"; + lastDamagedBy = "5278"; + lastDamagedByTeam = "1"; + team = "1"; + WayPoint = "5674"; + needsObjectiveWaypoint = "1"; + Target = "40"; + damageTimeMS = "2128130"; + }; + new ForceFieldBare() { + position = "172.17 -728.377 41.14"; + rotation = "0 0 1 26.3561"; + scale = "11.9701 0.1 8.16629"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "41"; + }; + new ForceFieldBare() { + position = "229.48 -735.154 41.14"; + rotation = "1 0 0 0"; + scale = "10.7291 0.724121 8.16629"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + }; + new SimGroup(redtower) { + + powerCount = "1"; + + new StaticShape(redtowergen) { + position = "138.233 -726.656 68.6505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Red Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "5278"; + lastDamagedBy = "5278"; + teamDamageStateOnZap = "1"; + lastDamagedByTeam = "1"; + team = "1"; + WayPoint = "5675"; + needsObjectiveWaypoint = "1"; + Target = "43"; + zapSound = "0"; + damageTimeMS = "2733078"; + }; + new ForceFieldBare() { + position = "191.244 -792.201 37.3728"; + rotation = "1 0 0 0"; + scale = "47.736 1.36548 7.17978"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "44"; + }; + new ForceFieldBare() { + position = "253.405 -803.088 37.3182"; + rotation = "1 0 0 0"; + scale = "1.80911 9.83625 10.7587"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "45"; + }; + new ForceFieldBare() { + position = "229.48 -720.954 41.14"; + rotation = "1 0 0 0"; + scale = "10.7291 0.724121 8.16629"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "46"; + }; + new ForceFieldBare() { + position = "195.544 -736.15 34.8507"; + rotation = "1 0 0 0"; + scale = "21.4172 1 10.5338"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "47"; + }; + new ForceFieldBare() { + position = "172.28 -720.954 41.14"; + rotation = "1 0 0 0"; + scale = "10.7291 0.724121 8.16629"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "48"; + }; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(Dbunk2) { + + powerCount = "2"; + + new InteriorInstance() { + position = "309.778 -253.901 94.4973"; + rotation = "0 0 1 78.4952"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "245.204 -264.979 71.4466"; + rotation = "0 0 -1 101.414"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5238"; + lastDamagedByTeam = "2"; + Trigger = "5337"; + team = "1"; + Target = "49"; + notReady = "1"; + inUse = "Down"; + damageTimeMS = "152409"; + }; + new InteriorInstance() { + position = "258.767 -293.888 103.201"; + rotation = "0 0 1 78.4952"; + scale = "1.99725 1 0.675407"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "299.456 -338.314 92.2429"; + rotation = "0 0 -1 11.4592"; + scale = "0.482838 0.716864 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(Dbunk2gen1) { + position = "319.437 -282.405 71.4422"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + nameTag = "Second Defense Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5676"; + needsObjectiveWaypoint = "1"; + Target = "50"; + notRepairable = "0"; + damageTimeMS = "1921835"; + }; + new StaticShape(Dbunk2gen2) { + position = "255.947 -291.431 103.467"; + rotation = "0 0 1 78.4952"; + scale = "1 1 1"; + nameTag = "Second Defense Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5278"; + lastDamagedByTeam = "1"; + team = "1"; + WayPoint = "5677"; + needsObjectiveWaypoint = "1"; + Target = "51"; + notRepairable = "0"; + damageTimeMS = "2056519"; + }; + new ForceFieldBare() { + position = "203.352 -754.325 52.9991"; + rotation = "1 0 0 0"; + scale = "5.56776 0.575567 5.53074"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "52"; + }; + new ForceFieldBare() { + position = "203.446 -671.769 53.0269"; + rotation = "1 0 0 0"; + scale = "5.45082 0.58252 5.59934"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "53"; + }; + new StaticShape() { + position = "313.638 -263.816 92.5254"; + rotation = "0 0 1 78.4952"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5347"; + team = "1"; + Target = "54"; + }; + new Item() { + position = "252.2 -271.432 82.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(Dbunk1) { + + powerCount = "2"; + + new InteriorInstance() { + position = "701.16 -402.505 137.486"; + rotation = "0.707388 -0.706825 0.000562903 179.935"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "701.07 -399.079 101.806"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + new InteriorInstance() { + position = "682.24 -411.109 112.916"; + rotation = "1 0 0 0"; + scale = "1 1 1.01"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "720.04 -411.309 112.916"; + rotation = "1 0 0 0"; + scale = "1 1 1.01"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "701.359 -405.065 129.249"; + rotation = "0.707388 -0.706825 0.000562903 179.935"; + scale = "1 1.29399 1.61175"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(Dbunk1gen1) { + position = "714.262 -411.517 114.77"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "First Defense Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5678"; + needsObjectiveWaypoint = "1"; + Target = "55"; + notRepairable = "0"; + damageTimeMS = "1502993"; + }; + new StaticShape(Dbunk1gen2) { + position = "688.138 -411.241 114.77"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "First Defense Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "5236"; + lastDamagedBy = "10661"; + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5679"; + needsObjectiveWaypoint = "1"; + Target = "56"; + notRepairable = "0"; + damageTimeMS = "1591315"; + }; + new StaticShape() { + position = "694.398 -399.907 143.79"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5358"; + team = "1"; + Target = "57"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "707.797 -399.877 143.783"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5238"; + lastDamagedByTeam = "2"; + Trigger = "5360"; + team = "1"; + Target = "58"; + damageTimeMS = "807801"; + }; + new ForceFieldBare() { + position = "294.03 -260.13 191.96"; + rotation = "0 0 -1 11.4593"; + scale = "4.44444 6.07899 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "59"; + }; + new ForceFieldBare() { + position = "316.395 -258.764 149.411"; + rotation = "0 0 -1 11.4592"; + scale = "1 12.2397 12.1156"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "60"; + }; + new Item() { + position = "701.148 -399.805 154.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "252.283 -294.185 103.467"; + rotation = "0 0 -1 11.4592"; + scale = "4.0827 3.51263 3.32939"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "61"; + }; + new ForceFieldBare() { + position = "316.134 -285.303 71.333"; + rotation = "0 0 -1 11.4592"; + scale = "4.0827 4.03566 3.32939"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "62"; + }; + }; + new SimGroup(allpass) { + + powerCount = "0"; + + new ForceFieldBare() { + position = "195.544 -736.15 34.8507"; + rotation = "1 0 0 0"; + scale = "21.4172 1 10.5338"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "63"; + }; + new ForceFieldBare() { + position = "229.48 -720.954 41.14"; + rotation = "1 0 0 0"; + scale = "10.7291 0.724121 8.16629"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "64"; + }; + new ForceFieldBare() { + position = "172.28 -720.954 41.14"; + rotation = "1 0 0 0"; + scale = "10.7291 0.724121 8.16629"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "65"; + }; + new StaticShape(allpassgen) { + position = "211.79 -737.192 -90.9576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "66"; + }; + }; + new SimGroup(TPgroup) { + + powerCount = "1"; + + new StaticShape(TPgen) { + position = "179.445 -736.637 -95.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "67"; + }; + new ForceFieldBare() { + position = "272.565 -719.063 80.944"; + rotation = "1 0 0 0"; + scale = "2.33075 2.3114 3.33479"; + dataBlock = "UnksTPFF"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + triggerCount = "0"; + Target = "68"; + }; + new ForceFieldBare() { + position = "192.433 -712.833 39.173"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 3.33479"; + dataBlock = "UnksTPFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + team = "1"; + customPZ = "1"; + triggerCount = "0"; + Target = "69"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "219.77 -712.852 39.1079"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 3.33479"; + dataBlock = "UnksTPFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + team = "1"; + customPZ = "1"; + triggerCount = "0"; + Target = "70"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "137.556 -719.308 81.0347"; + rotation = "1 0 0 0"; + scale = "2.33075 2.3114 3.33479"; + dataBlock = "UnksTPFF"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + triggerCount = "0"; + Target = "71"; + }; + new Trigger(TPentranceW) { + position = "138.578 -718.16 81.0187"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 1"; + dataBlock = "UnksTPTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "2"; + WestTP = "1"; + }; + new Trigger(TPentranceE) { + position = "273.578 -717.76 80.957"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 1"; + dataBlock = "UnksTPTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "2"; + EastTP = "1"; + }; + new ForceFieldBare() { + position = "172.149 -751.785 34.3907"; + rotation = "1 0 0 0"; + scale = "68.1325 0.1 13.769"; + dataBlock = "UnksGrayFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + team = "1"; + customPZ = "1"; + Target = "72"; + PZVelocity = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + }; + }; + new SimGroup(Team1) { + + position = "-52.253 3"; + powerCount = "0"; + + new SimGroup(spawnspheres) { + + position = "19 3"; + powerCount = "0"; + + new SpawnSphere(Obasespawn) { + position = "549.301 902.924 105.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + + providesPower = "1"; + powerCount = "2"; + + new InteriorInstance() { + position = "549.258 892.93 100.305"; + rotation = "0 0 1 171.887"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "548.086 901.248 99.9584"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + station = "5681"; + Target = "73"; + ready = "1"; + inUse = "Down"; + }; + new StaticShape(unkgen) { + position = "547.334 906.971 72.9688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "???Unknown???\'s"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "74"; + }; + new StaticShape(celiosinv) { + position = "558.358 931.062 102.295"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + nameTag = "Celios\'"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5401"; + team = "2"; + Target = "75"; + UnksNoDamage = "1"; + }; + new StaticShape(icepackinv) { + position = "529.669 926.816 102.295"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + nameTag = "ICEPACK\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5403"; + team = "2"; + Target = "76"; + UnksNoDamage = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape(thereticentinv2) { + position = "544.207 929.052 102.295"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + nameTag = "The Reticent\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5405"; + team = "2"; + Target = "77"; + UnksNoDamage = "1"; + notReady = "1"; + inUse = "Down"; + }; + new ForceFieldBare() { + position = "261.138 -713.351 68.6712"; + rotation = "0 0 -1 45"; + scale = "11.2479 0.47043 8.01956"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "78"; + }; + new ForceFieldBare() { + position = "278.779 -730.96 68.6712"; + rotation = "0 0 -1 45"; + scale = "11.2333 0.47043 7.86233"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "79"; + }; + new ForceFieldBare() { + position = "278.518 -705.387 68.6712"; + rotation = "0 0 1 44.9544"; + scale = "11.1387 0.47043 7.94251"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "80"; + }; + new ForceFieldBare() { + position = "125.946 -713.367 68.6899"; + rotation = "0 0 -1 45"; + scale = "11.3593 0.47043 8.01644"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "81"; + }; + new ForceFieldBare() { + position = "143.599 -730.972 68.6899"; + rotation = "0 0 -1 45"; + scale = "11.2445 0.47043 8.09581"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "82"; + }; + new ForceFieldBare() { + position = "143.248 -705.398 68.6899"; + rotation = "0 0 1 44.9544"; + scale = "11.2788 0.47043 7.86387"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "83"; + }; + new ForceFieldBare() { + position = "125.611 -723.04 68.6899"; + rotation = "0 0 1 44.9544"; + scale = "11.2278 0.47043 8.06619"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "84"; + }; + new ForceFieldBare() { + position = "260.878 -723.101 68.6712"; + rotation = "0 0 1 44.9544"; + scale = "11.162 0.47043 7.93326"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "85"; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(Obunk1) { + + powerCount = "0"; + + new InteriorInstance() { + position = "727.993 -81.4107 181.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape(Obunk1gen) { + position = "727.728 -81.2968 245.231"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "First Offensive Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "5471"; + Target = "86"; + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "729.643 -73.6783 235.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5427"; + team = "2"; + Target = "87"; + UnksNoDamage = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "729.61 -89.0804 235.377"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5429"; + team = "2"; + Target = "88"; + UnksNoDamage = "1"; + notReady = "1"; + inUse = "Down"; + }; + }; + new SimGroup(Obunk2) { + + powerCount = "0"; + + new InteriorInstance() { + position = "170.812 -346.426 229.369"; + rotation = "0 0 -1 97.9758"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape(Obunk2gen) { + position = "170.642 -346.236 292.342"; + rotation = "0 0 1 172.46"; + scale = "1 1 1"; + nameTag = "Second Offensive Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "5472"; + Target = "89"; + UnksNoDamage = "1"; + noDamageInSiege = "1"; + }; + new StaticShape() { + position = "178.231 -343.776 282.85"; + rotation = "0 0 1 81.933"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5434"; + team = "2"; + Target = "90"; + UnksNoDamage = "1"; + noDamageInSiege = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "162.965 -345.977 282.85"; + rotation = "0 0 -1 97.5853"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5436"; + team = "2"; + Target = "91"; + UnksNoDamage = "1"; + noDamageInSiege = "1"; + notReady = "1"; + inUse = "Down"; + }; + }; + new SimGroup(Obunk3) { + + powerCount = "0"; + + new StaticShape(Obunk3gen) { + position = "207.64 -707.605 54.6283"; + rotation = "0.000562894 0.707388 -0.706825 179.935"; + scale = "4.09682 0.362973 3.75745"; + nameTag = "Final Offensive"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "5239"; + lastDamagedBy = "5238"; + teamDamageStateOnZap = "1"; + lastDamagedByTeam = "2"; + team = "2"; + WayPoint = "5680"; + needsObjectiveWaypoint = "1"; + Target = "92"; + zapSound = "0"; + UnksNoDamage = "0"; + notRepairable = "1"; + damageTimeMS = "2726700"; + }; + new StaticShape() { + position = "213.996 -735.952 53.0961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5440"; + team = "2"; + Target = "93"; + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "198.156 -735.678 53.0635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5442"; + team = "2"; + Target = "94"; + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "198.299 -751.32 53.0957"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5444"; + team = "2"; + Target = "95"; + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "213.957 -751.291 53.0668"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5446"; + team = "2"; + Target = "96"; + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "198.221 -689.925 53.0526"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5448"; + team = "2"; + Target = "97"; + UnksNoDamage = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "214.046 -674.505 53.0792"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5450"; + team = "2"; + Target = "98"; + UnksNoDamage = "1"; + }; + new StaticShape() { + position = "214.058 -690.196 53.1081"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5452"; + team = "2"; + Target = "99"; + UnksNoDamage = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "198.194 -674.421 53.0914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5454"; + team = "2"; + Target = "100"; + UnksNoDamage = "1"; + }; + new ForceFieldBare() { + position = "200.148 -718.112 47.7799"; + rotation = "1 0 0 0"; + scale = "0.515137 10.692 8.20771"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "101"; + }; + new ForceFieldBare() { + position = "203.446 -671.769 53.0269"; + rotation = "1 0 0 0"; + scale = "5.45082 0.58252 5.59934"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "102"; + }; + new ForceFieldBare() { + position = "211.527 -718.152 47.8168"; + rotation = "1 0 0 0"; + scale = "0.515137 10.8372 8.12883"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "103"; + }; + new ForceFieldBare() { + position = "203.352 -754.325 52.9991"; + rotation = "1 0 0 0"; + scale = "5.56776 0.575567 5.53074"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "104"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(Obunk1spawn) { + position = "729.337 -82.5579 240.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Obunk2spawn) { + position = "168.949 -344.029 287.662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Obunk3spawn1) { + position = "206.372 -684.805 54.5783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Obunk3spawn2) { + position = "206.325 -740.217 54.4617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(Dbasespawn1) { + position = "226.079 -779.923 28.9005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(Dbasespawn2) { + position = "208.204 -773.279 28.7183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + + team = "1"; + }; + new SpawnSphere(Dbasespawn3) { + position = "185.24 -779.137 31.2455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + + team = "1"; + }; + new SpawnSphere(Dbasespawn4) { + position = "254.562 -766.393 34.2001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new InteriorInstance() { + position = "240.556 -757.095 45.5247"; + rotation = "1 0 0 180.482"; + scale = "0.275998 0.738662 1.15355"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "300"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "ice_dark.dml"; + windVelocity = "0.8 0.7 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000300 0.0003"; + locked = "true"; + team = "2"; + }; + new Precipitation(Precipitation) { + position = "-123.6 -162.6 124.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "0.5"; + maxNumDrops = "500"; + maxRadius = "125"; + + locked = "true"; + team = "2"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "539.567 951.865 126.793"; + rotation = "0.0117948 -0.15429 0.987955 171.362"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "762.299 -53.4729 278.491"; + rotation = "-0.0670817 -0.256502 0.964213 208.306"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "417.775 -237.648 159.581"; + rotation = "-0.00720158 -0.00995099 -0.999925 108.217"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Camera() { + position = "207.708 -623.933 89.5457"; + rotation = "-0.000162095 -0.203567 0.979061 180.089"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Camera() { + position = "207.454 -770.039 43.0483"; + rotation = "1 0 0 14.3239"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(crates) { + + powerCount = "0"; + + new TSStatic() { + position = "278.029 -726.972 50.6888"; + rotation = "-0.0998334 7.95283e-05 0.995004 180.091"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "269.443 -725.159 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "273.521 -726.965 49.7749"; + rotation = "-0.0998334 7.95283e-05 0.995004 180.091"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "264.629 -714.811 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "264.725 -725.211 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "129.073 -720.259 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "129.021 -714.659 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "131.325 -725.839 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "129.125 -725.859 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "279.606 -723.47 51.0073"; + rotation = "-0.0991838 0.0992628 0.990106 90.7068"; + scale = "1.1919 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "264.673 -719.611 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "266.924 -714.786 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "267.043 -725.181 49.1759"; + rotation = "0 0 -1 90.5273"; + scale = "1.43313 1.17204 1"; + shapeName = "stackable3m.dts"; + }; + }; + new InteriorInstance() { + position = "308.281 -277.194 139.706"; + rotation = "0.0396416 -0.792171 -0.609011 9.39481"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "319.95 -257.227 138.945"; + rotation = "-0.838613 0.222962 -0.497007 54.7745"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "318.523 -244.649 142.592"; + rotation = "0.773051 -0.48828 -0.404938 94.6979"; + scale = "1.57759 1.25398 3.0349"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "319.988 -251.776 139.901"; + rotation = "0.921097 -0.329302 -0.207703 86.8631"; + scale = "1.57759 1.25398 3.0349"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3SWTree22) { + + powerCount = "0"; + + new TSStatic() { + position = "476 -996 55.3593"; + rotation = "0 0 -1 14.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-44 684 126.844"; + rotation = "0 0 1 1.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-116 -276 108.641"; + rotation = "0 0 1 20"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-92 60 81.375"; + rotation = "0 0 -1 20.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "276 20 51.7813"; + rotation = "0 0 1 224"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "620 900 83.3281"; + rotation = "0 0 1 85.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "108 -804 50.0156"; + rotation = "0 0 1 58.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + }; + }; + new SimGroup(Addition4SWTree20) { + + powerCount = "0"; + + new TSStatic() { + position = "1348 964 56.75"; + rotation = "0 0 1 94"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "428 380 70.4532"; + rotation = "0 0 -1 19.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "428 972 96.7344"; + rotation = "0 0 1 135"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "132 -156 107.016"; + rotation = "0 0 1 112"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "604 716 61.2656"; + rotation = "0 0 -1 91"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-4 -908 50"; + rotation = "0 0 1 55"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "460 28 67.6094"; + rotation = "0 0 1 220"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "36 -524 50"; + rotation = "0 0 -1 14"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "524 -356 54.1875"; + rotation = "0 0 -1 32.9998"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "420 -388 106.297"; + rotation = "0 0 1 194"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "308 284 51.8906"; + rotation = "0 0 1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "364 556 117.484"; + rotation = "0 0 1 183"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "1460 844 153.547"; + rotation = "0 0 1 9.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "524 -220 50"; + rotation = "0 0 -1 35"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-36 -644 65.7344"; + rotation = "0 0 1 76"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-140 372 98.7187"; + rotation = "0 0 1 199"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + }; + new SimGroup(Addition5SWShrub21) { + + powerCount = "0"; + + new TSStatic() { + position = "380 -972 59.1406"; + rotation = "0 0 -1 53.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "220 244 50"; + rotation = "0 0 -1 83.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "92 596 115.703"; + rotation = "0 0 -1 20.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "452 -124 78.3438"; + rotation = "0 0 1 67.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "196 20 54.0781"; + rotation = "0 0 -1 75.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "916 -916 186.391"; + rotation = "0 0 1 30"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + }; + new SimGroup(Addition6SWShrub23) { + + powerCount = "0"; + + new TSStatic() { + position = "-76 292 102.781"; + rotation = "0 0 -1 100"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-164 -252 100.469"; + rotation = "0 0 1 179"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "700 -340 134.156"; + rotation = "0 0 1 126"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "380 -868 50"; + rotation = "0 0 -1 26.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "300 -652 63.0938"; + rotation = "0 0 -1 64.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-12 -700 77.7969"; + rotation = "0 0 1 218"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + }; + new SimGroup(Addition7SWShrub24) { + + powerCount = "0"; + + new TSStatic() { + position = "548 -316 66.1719"; + rotation = "0 0 1 189"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "516 -572 50"; + rotation = "0 0 -1 79"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "44 -900 50"; + rotation = "0 0 1 181"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "828 476 149.766"; + rotation = "0 0 -1 60.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "212 -36 75.75"; + rotation = "0 0 1 53"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "1004 676 85.6719"; + rotation = "0 0 1 94.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-60 452 72.2343"; + rotation = "0 0 1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "308 308 50"; + rotation = "0 0 -1 38.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "476 828 81.5468"; + rotation = "0 0 1 61.9998"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + }; + new SimGroup(Addition8DSPlant16) { + + powerCount = "0"; + + new TSStatic() { + position = "92 -924 47"; + rotation = "0 0 -1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "668 204 47"; + rotation = "0 0 -1 118"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition9DSPlant17) { + + powerCount = "0"; + + new TSStatic() { + position = "412 -964 47"; + rotation = "0 0 1 54"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "196 124 47.2656"; + rotation = "0.0104752 0.0436325 0.998993 63.0517"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition10DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "420 -788 59.8126"; + rotation = "0 0 -1 87.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "748 -92 228.234"; + rotation = "0 0 1 234"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "348 -692 71.8126"; + rotation = "0 0 -1 22.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition11DSPlant19) { + + powerCount = "0"; + + new TSStatic() { + position = "332 116 54.7968"; + rotation = "0 0 1 58.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "412 612 86.3126"; + rotation = "0 0 1 125"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-116 -564 47"; + rotation = "0 0 1 38"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + }; + new SimGroup(Addition12SWTree20) { + + powerCount = "0"; + + new TSStatic() { + position = "356 -204 150.766"; + rotation = "0 0 1 150"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "212 -196 154.25"; + rotation = "0 0 -1 59.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "300 -212 157.094"; + rotation = "0 0 1 51"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + }; + }; + new SimGroup(Addition13SWTree22) { + + powerCount = "0"; + + new TSStatic() { + position = "234.656 -363.66 234.574"; + rotation = "0.0916203 -0.0966689 0.991091 115.758"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "204 -188 150.453"; + rotation = "0 0 1 79.9998"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + }; + new SimGroup(Addition14SWShrub21) { + + powerCount = "0"; + + new TSStatic() { + position = "228 -188 165.953"; + rotation = "0 0 1 157"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "156 -356 273.312"; + rotation = "0 0 1 6.00005"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "348 -212 151.016"; + rotation = "0 0 1 155"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + }; + new SimGroup(Addition15SWShrub23) { + + powerCount = "0"; + + new TSStatic() { + position = "156 -300 249.422"; + rotation = "0 0 1 50"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "196 -204 143.922"; + rotation = "0 0 1 190"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "244 -372 228.422"; + rotation = "0 0 1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + }; + new SimGroup(Addition16SWShrub24) { + + powerCount = "0"; + + new TSStatic() { + position = "164 -308 255.906"; + rotation = "0 0 1 7.99996"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "212 -220 151.187"; + rotation = "0 0 1 60.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "244 -196 174.156"; + rotation = "0 0 -1 92.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + }; + new SimGroup(Addition17SWShrub21) { + + powerCount = "0"; + + new TSStatic() { + position = "340 -196 161.406"; + rotation = "0 0 1 97"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "260 -172 178.547"; + rotation = "0 0 1 40"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "308 -164 167.891"; + rotation = "0 0 1 122"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + }; + new SimGroup(Addition18SWShrub23) { + + powerCount = "0"; + + new TSStatic() { + position = "276 -156 172.109"; + rotation = "0 0 1 203"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "316 -164 165.187"; + rotation = "0 0 -1 68.0003"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "220 -148 157.203"; + rotation = "0 0 1 53"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + }; + new SimGroup(Addition19SWShrub24) { + + powerCount = "0"; + + new TSStatic() { + position = "396 -228 101.297"; + rotation = "0 0 1 146"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "220 -156 158.203"; + rotation = "0 0 -1 58.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "308 -156 164.547"; + rotation = "0 0 1 217"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +package MountainSiege +{ + + +function SiegeGame::startMatch(%game) +{ + mapPreparations(1); + Parent::startMatch(%game); +} + +//Invincible equipment scripting + +function GeneratorLarge::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) + return; + else + Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +function StationInventory::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) + return; + else + Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +//Gen and spawnsphere scritping +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + + %Obunk3gen = nameToID("Obunk3gen"); + %Dbunk1gen1 = nameToID("Dbunk1gen1"); + %Dbunk1gen2 = nameToID("Dbunk1gen2"); + %Dbunk2gen1 = nameToID("Dbunk2gen1"); + %Dbunk2gen2 = nameToID("Dbunk2gen2"); + + %Dbunk1off = (%Dbunk1gen1.isDisabled() && %Dbunk1gen2.isDisabled()) ? true : false; + %Dbunk2off = (%Dbunk2gen1.isDisabled() && %Dbunk2gen2.isDisabled()) ? true : false; + + switch (%obj) + { + case %Obunk3gen: + bunkSpawnChange(Obunk3); + %Obunk3gen.UnksNoDamage = "1"; + + case nameToId("redtowergen"): + nameToId("allpassgen").setdamagestate(Disabled); + } +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + switch (%obj) + { + case nameToId("Dbunk1gen1"): + bunkPowerCheck(Dbunk1); + + case nameToId("Dbunk1gen2"): + bunkPowerCheck(Dbunk1); + + case nameToId("Dbunk2gen1"): + bunkPowerCheck(Dbunk2); + + case nameToId("Dbunk2gen2"): + bunkPowerCheck(Dbunk2); + + case nameToId("redtowergen"): + nameToId("allpassgen").setdamagestate(Enabled); + } +} + +function bunkPowerCheck(%bunk) +{ + switch$ (%bunk) + { + case "Dbunk1": + %Dbunk1gen1 = nameToID("Dbunk1gen1"); + %Dbunk1gen2 = nameToID("Dbunk1gen2"); + if (%Dbunk1gen1.isDisabled() && %Dbunk1gen2.isDisabled()) + { + bunkSpawnChange(Dbunk1); + %Dbunk1gen1.notRepairable = 1; + %Dbunk1gen2.notRepairable = 1; + %Dbunk1gen1.setRepairRate(0); + %Dbunk1gen2.setRepairRate(0); + nameToId("Obunk1gen").setDamageState(enabled); + } + + case "Dbunk2": + %Dbunk2gen1 = nameToID("Dbunk2gen1"); + %Dbunk2gen2 = nameToID("Dbunk2gen2"); + if (%Dbunk2gen1.isDisabled() && %Dbunk2gen2.isDisabled()) + { + bunkSpawnChange(Dbunk2); + %Dbunk2gen1.notRepairable = 1; + %Dbunk2gen2.notRepairable = 1; + %Dbunk2gen1.setRepairRate(0); + %Dbunk2gen2.setRepairRate(0); + nameToId("Obunk2gen").setDamageState(enabled); + } + } +} + +function bunkSpawnChange(%bunk) +{ + switch$ (%bunk) + { + case "Dbunk1": + Game.claimSpawn(nameToId("Dbunk1spawn"), 0, 2); + Game.claimSpawn(nameToId("Obasespawn"), 0, 1); + Game.claimSpawn(nameToId("Obunk1spawn"), 1, 0); + + case "Dbunk2": + Game.claimSpawn(nameToId("Dbunk2spawn"), 0, 2); + Game.claimSpawn(nameToId("Obunk1spawn"), 0, 1); + Game.claimSpawn(nameToId("Obunk2spawn"), 1, 0); + Game.claimSpawn(nameToId("Dbasespawn1"), 2, 0); + Game.claimSpawn(nameToId("Dbasespawn2"), 2, 0); + Game.claimSpawn(nameToId("Dbasespawn3"), 2, 0); + Game.claimSpawn(nameToId("Dbasespawn4"), 2, 0); + nameToId("Obunk3gen").notRepairable = 0; + + case "Obunk3": + Game.claimSpawn(nameToId("Obunk2spawn"), 0, 1); + Game.claimSpawn(nameToId("Obunk3spawn1"), 1, 0); + Game.claimSpawn(nameToId("Obunk3spawn2"), 1, 0); + } +} + +//Setting the map up +function mapPreparations(%round) +{ + switch (%round) + { + case 1: + bunkGenDeactivate(); + + case 2: + Game.claimSpawn(nameToId("Obasespawn"), 1, 0); + Game.claimSpawn(nameToId("Obunk1spawn"), 0, 1); + Game.claimSpawn(nameToId("Obunk2spawn"), 0, 1); + Game.claimSpawn(nameToId("Obunk3spawn1"), 0, 1); + Game.claimSpawn(nameToId("Obunk3spawn2"), 0, 1); + Game.claimSpawn(nameToId("Dbasespawn1"), 0, 2); + Game.claimSpawn(nameToId("Dbasespawn2"), 0, 2); + Game.claimSpawn(nameToId("Dbasespawn3"), 0, 2); + Game.claimSpawn(nameToId("Dbasespawn4"), 0, 2); + Game.claimSpawn(nameToId("Dbunk1spawn"), 2, 0); + Game.claimSpawn(nameToId("Dbunk2spawn"), 2, 0); + + schedule(1000, game, bunkGenDeactivate); + } + + nameToId("Dbunk1gen1").notRepairable = 0; + nameToId("Dbunk1gen2").notRepairable = 0; + nameToId("Dbunk2gen1").notRepairable = 0; + nameToId("Dbunk2gen2").notRepairable = 0; + nameToId("Obunk3gen").notRepairable = 1; + nameToId("Obunk3gen").UnksNoDamage = "0"; + nameToId("allpassgen").setdamagestate(Disabled); +} + +function bunkGenDeactivate() +{ + nameToId("Obunk1gen").setDamageState(disabled); + nameToId("Obunk2gen").setDamageState(disabled); + nameToId("Obunk3gen").setDamageLevel(2.5); +} + +//Cleanup for Siege Half-Time and end game + +function SiegeGame::halftimeOver(%game) +{ + mapPreparations(2); + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + Parent::gameOver(%game); + deactivatePackage(MountainSiege); +} + +function UnksTPTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + if (%obj.EastTP) + { + %colObj.setTransform("219.77 -712.852 39.1079"); + %colObj.setvelocity("0 0 -10"); + } + else if (%obj.WestTP) + { + %colObj.setTransform("192.433 -712.833 39.173"); + %colObj.setvelocity("0 0 -10"); + } +} + +function UnksTPTrigger::onLeaveTrigger(%data, %obj, %colObj) +{ + //prevent console spam +} + +function UnksTPTrigger::onTickTrigger(%data, %obj) +{ + //prevent console spam +} + +}; + +activatePackage(MountainSiege); diff --git a/public/base/@vl2/MountainSiege.vl2/terrains/MountainSiege.spn b/public/base/@vl2/MountainSiege.vl2/terrains/MountainSiege.spn new file mode 100644 index 00000000..35cbc35c Binary files /dev/null and b/public/base/@vl2/MountainSiege.vl2/terrains/MountainSiege.spn differ diff --git a/public/base/@vl2/Mutiny.vl2/missions/Mutiny.mis b/public/base/@vl2/Mutiny.vl2/missions/Mutiny.mis new file mode 100644 index 00000000..63407302 --- /dev/null +++ b/public/base/@vl2/Mutiny.vl2/missions/Mutiny.mis @@ -0,0 +1,2323 @@ +// DisplayName = Mutiny +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +// -- Map by ???Unknown??? +//--- MISSION QUOTE END --- +//--- MISSION STRING BEGIN --- +//Hit Esc in-game to view all the map details +//The Offense is a band of Mutineers who have taken over the Cargo Holds and have hacked into the Backup Gen from there. +//The Defense has activated the Emergency Containment Force Fields and sealed off the Control Bridge. +//The Offense must first destroy the Emergency Containment FF Gen to gain access to the Control Bridge, where they then attack the Ship Control Gen. +//The Offense must keep the Ship Contol Gen offline for 30 seconds in order for the hacked Backup Gen to come online so they can gain control of the ship. +//Once the Offense has control of the ship they attack the Main Base from there. +//--- MISSION STRING END --- + +datablock TriggerData(UnksTPTrigger) +{ + tickPeriodMS = 30; +}; + +datablock ForceFieldBareData(UnksTeamFF) +{ + fadeMS = 1000; + baseTranslucency = 0.1; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + color = "1.0 1.0 1.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "textures/commander/Gui/cmd_tv_static"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(UnksTPEntranceFF) +{ + fadeMS = 1000; + baseTranslucency = 0.5; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(UnksTPExitFF) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(UnksTPBeamFF) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + color = "0.3 0.9 0.9"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Enrgtubes0000"; + texture[1] = "skins/Enrgtubes0001"; + texture[2] = "skins/Enrgtubes0002"; + texture[3] = "skins/Enrgtubes0003"; + texture[4] = "skins/Enrgtubes0004"; + + framesPerSec = 5; + numFrames = 5; + scrollSpeed = 1; + umapping = 1.0; + vmapping = 0.15; +}; + +function ForceFieldBareData::onAdd(%data, %obj) +{ + if(%obj.customPZ $= "1") { //add a dynamic field to your FF called "customPZ" with a value of 1 and it will have a custom PZ with the values set below + %velo = %obj.PZVelocity; //add a dynamic field to your FF called "PZVelocity" and set the value to what velocityMod you want + %grav = %obj.PZGravity; //dynamic field - PZGravity = whatever gravityMod you want your FF to have + %appl = %obj.PZForce; //dynamic field - PZForce = whatever appliedForce you want your FF to have + } + + else { + %velo = "0.1"; + %grav = "1"; + %appl = "0 0 0"; + } + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); + + Parent::onAdd(%data, %obj); + +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "volcanic"; + Siege_timeLimit = "20"; + powerCount = "0"; + cdTrack = "3"; + + new MissionArea(MissionArea) { + area = "-32 -496 432 544"; + flightCeiling = "500"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.800000 0.360000 0.200000 0.000000"; + fogDistance = "100"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "80 0 0"; + fogVolume2 = "300 90 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1.000000"; + high_visibleDistance = "700"; + high_fogDistance = "-1"; + high_fogVolume1 = "750 215 235"; + high_fogVolume2 = "700 235 245"; + high_fogVolume3 = "750 245 255"; + + locked = "true"; + cloudSpeed0 = "0.000300 0.000300"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "600"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Recalescence.ter"; + squareSize = "8"; + emptySquares = "349332 349588 349844 350100 350356 350612"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "Recalescence.nav"; + locked = "true"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(DFortressSpawn1) { + position = "167.459 -110.042 298.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(DFortressSpawn2) { + position = "167.459 -95.042 298.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(DFortressSpawn3) { + position = "196.859 -108.242 298.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(DFortressSpawn4) { + position = "181.859 -103.042 298.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(DFortressSpawn5) { + position = "196.859 -94.842 298.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere(DBaseSpawn) { + position = "178.236 -327.997 83.1881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(FlyingFortress) { + + powerCount = "0"; + + new SimGroup(Lights) { + + powerCount = "1"; + + new StaticShape(LightGen) { + position = "188.171 -133.011 56.8269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "33"; + }; + new InteriorInstance() { + position = "194 -70.7554 286.199"; + rotation = "1 0 0 0"; + scale = "1.03892 1.7215 0.1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "183.009 -131.689 293.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + AudioEnvironment = "BigRoom"; + + team = "2"; + }; + }; + new SimGroup(ContainmentFF) { + + powerCount = "0"; + + new StaticShape(ContainmentFFGen) { + position = "219.169 -109.876 293.203"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Emergency Containment FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "345182"; + team = "2"; + repairedBy = "5238"; + WayPoint = "5544"; + Target = "34"; + lastDamagedByTeam = "1"; + lastDamagedBy = "5275"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "215.233 -107.759 300.746"; + rotation = "-1 0 0 6.87573"; + scale = "3.86285 4.18698 0.431014"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + customPZ = "1"; + triggerCount = "0"; + team = "2"; + Target = "35"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "215.241 -115.763 301.292"; + rotation = "1 0 0 7.44851"; + scale = "4.06012 4.18698 0.431014"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + customPZ = "1"; + triggerCount = "0"; + team = "2"; + Target = "36"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "179.296 -109.612 323.314"; + rotation = "1 0 0 0"; + scale = "7.32538 1 5.67691"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "37"; + }; + new ForceFieldBare() { + position = "207.258 -96.889 301.899"; + rotation = "1 0 0 0"; + scale = "0.372537 12.3061 9.1424"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "38"; + }; + new ForceFieldBare() { + position = "158.258 -96.889 301.899"; + rotation = "1 0 0 0"; + scale = "0.372537 12.3061 9.1424"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "39"; + }; + new ForceFieldBare() { + position = "173.849 -97.6405 319.152"; + rotation = "1 0 0 0"; + scale = "6.41267 0.887794 6.20044"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "40"; + }; + new ForceFieldBare() { + position = "219.024 -111.667 293.114"; + rotation = "1 0 0 0"; + scale = "4.37489 0.448563 6.16986"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "41"; + }; + new ForceFieldBare() { + position = "219.02 -108.179 293.114"; + rotation = "1 0 0 0"; + scale = "4.3585 0.448563 6.16986"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "42"; + }; + new ForceFieldBare() { + position = "151.481 -126.637 301.799"; + rotation = "1 0 0 0"; + scale = "6.65419 0.881058 7.2356"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "43"; + }; + new ForceFieldBare() { + position = "207.481 -126.637 301.799"; + rotation = "1 0 0 0"; + scale = "6.65419 0.881058 7.2356"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "44"; + }; + new ForceFieldBare() { + position = "158.935 -125.898 302.126"; + rotation = "1 0 0 0"; + scale = "1 1 10.3357"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "45"; + }; + new ForceFieldBare() { + position = "158.935 -122.304 302.126"; + rotation = "1 0 0 0"; + scale = "1 0.806404 10.1672"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "46"; + }; + new ForceFieldBare() { + position = "158.935 -120.498 302.126"; + rotation = "1 0 0 0"; + scale = "1 0.732559 8.26105"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "47"; + }; + new ForceFieldBare() { + position = "158.935 -124.085 302.126"; + rotation = "1 0 0 0"; + scale = "1 0.806404 10.3357"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "48"; + }; + new ForceFieldBare() { + position = "215.081 -120.969 301.892"; + rotation = "1 0 0 0"; + scale = "1 22.3833 7.43661"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + triggerCount = "0"; + team = "2"; + Target = "49"; + PZVelocity = "0.5"; + }; + new ForceFieldBare() { + position = "185.849 -97.6405 319.152"; + rotation = "1 0 0 0"; + scale = "6.41267 0.887794 6.20044"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "50"; + }; + new ForceFieldBare() { + position = "176.506 -122.206 322.703"; + rotation = "1 0 0 0"; + scale = "1.94321 1.93104 3.96524"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + team = "2"; + Target = "51"; + PZVelocity = "0.001"; + }; + new ForceFieldBare() { + position = "187.506 -122.206 322.703"; + rotation = "1 0 0 0"; + scale = "1.94321 1.93104 3.96524"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + team = "2"; + Target = "52"; + PZVelocity = "0.001"; + }; + }; + new SimGroup(DSpawn) { + + powerCount = "1"; + + new StaticShape(DSpawnGen) { + position = "183.074 -89.2629 326.186"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Defense Spawn"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + notRepairable = "1"; + damageTimeMS = "508941"; + team = "2"; + WayPoint = "5545"; + Target = "53"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5238"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(Bridge) { + + powerCount = "1"; + + new StaticShape(BridgeGen) { + position = "182.996 -109.028 367.45"; + rotation = "1 0 0 89.9544"; + scale = "1.46706 0.382596 2.31436"; + nameTag = "Bridge"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + notRepairable = "0"; + damageTimeMS = "434876"; + team = "2"; + repairedBy = "4988"; + WayPoint = "5546"; + Target = "54"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5235"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(Tysoftinv) { + position = "154.939 -135.804 293.178"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Tysoft\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1534289"; + team = "2"; + Trigger = "5354"; + Target = "55"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(botosinv) { + position = "192.72 -123.544 293.178"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "botos\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "2174337"; + team = "2"; + Trigger = "5356"; + Target = "56"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "5140"; + }; + new StaticShape(npXinv) { + position = "173.32 -123.575 293.178"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "npX\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1534289"; + team = "2"; + Trigger = "5358"; + Target = "57"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(upperinv) { + position = "182.906 -96.444 332.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1598821"; + team = "2"; + Trigger = "5360"; + Target = "58"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(Laereninv) { + position = "210.939 -135.515 293.178"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Laeren\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1502337"; + team = "2"; + Trigger = "5362"; + Target = "59"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + }; + new SimGroup(DoorwayFF) { + + powerCount = "1"; + + new StaticShape(DoorwayFFGen) { + position = "148.212 -113.537 127.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "60"; + }; + new ForceFieldBare() { + position = "158.051 -76.7007 302.007"; + rotation = "1 0 0 0"; + scale = "0.84408 7.09574 7.09785"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "61"; + }; + new ForceFieldBare() { + position = "207.065 -76.8117 301.815"; + rotation = "1 0 0 0"; + scale = "0.934204 7.28048 7.29739"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "62"; + }; + new ForceFieldBare() { + position = "178.781 -151.185 292.84"; + rotation = "1 0 0 0"; + scale = "8.50167 0.99 8.4625"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "63"; + }; + new ForceFieldBare() { + position = "165.01 -103.928 352.931"; + rotation = "0 0 1 179.909"; + scale = "0.861206 3.6252 7.79448"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "64"; + }; + new ForceFieldBare() { + position = "201.032 -107.436 352.931"; + rotation = "-0 0 -1 0.181308"; + scale = "0.861206 3.6252 7.79448"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "65"; + }; + new ForceFieldBare() { + position = "178.939 -134.115 273.103"; + rotation = "1 0 0 0"; + scale = "8.38734 0.897018 6.73248"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "66"; + }; + }; + }; + new SimGroup(MainBase) { + + powerCount = "3"; + + new InteriorInstance() { + position = "180.477 -339.982 99.6284"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dtowr2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "182.504 -327.205 161.264"; + rotation = "1 0 0 0"; + scale = "0.990888 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "182.491 -347.19 104.412"; + rotation = "0.304156 0.304398 0.90268 95.8108"; + scale = "1.38466 1.33442 0.344147"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(MainBaseGen1) { + position = "166.23 -329.744 59.8075"; + rotation = "0 0 1 89.9544"; + scale = "1 0.889467 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "497396"; + team = "2"; + repairedBy = "8534"; + WayPoint = "5547"; + Target = "67"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5235"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(MainBaseGen2) { + position = "166.064 -324.164 59.8075"; + rotation = "0 0 1 89.9544"; + scale = "1 0.846793 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "502039"; + team = "2"; + repairedBy = "8534"; + WayPoint = "5548"; + Target = "68"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5235"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape() { + position = "199.773 -324.87 59.5817"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "3433078"; + team = "2"; + Trigger = "5384"; + repairedBy = "8534"; + Target = "69"; + lastDamagedByTeam = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape() { + position = "199.78 -333.27 59.5817"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "3293750"; + team = "2"; + Trigger = "5386"; + repairedBy = "8534"; + Target = "70"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(OutsideGen) { + position = "182.821 -340.367 125.238"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Outside"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "487635"; + team = "2"; + WayPoint = "5549"; + Target = "71"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5235"; + needsObjectiveWaypoint = "1"; + }; + new Turret() { + position = "218.505 -327.855 161.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + damageTimeMS = "2510584"; + team = "2"; + repairedBy = "5140"; + lastProjectile = "33151"; + Target = "72"; + lastDamagedByTeam = "1"; + lastDamagedBy = "8534"; + }; + new Turret() { + position = "148.105 -327.855 161.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + damageTimeMS = "2526167"; + team = "2"; + lastProjectile = "33156"; + Target = "73"; + lastDamagedByTeam = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape() { + position = "182.54 -326.8 169.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2489898"; + team = "2"; + Target = "74"; + lastDamagedByTeam = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(Switch) { + position = "177.917 -327.432 79.9894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + WayPoint = "5550"; + Target = "75"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "167.689 -316.888 79.3255"; + rotation = "1 0 0 0"; + scale = "9.46518 0.857147 9.54944"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "76"; + }; + new ForceFieldBare() { + position = "177.867 -337.945 79.3255"; + rotation = "1 0 0 0"; + scale = "9.46518 0.857147 9.54944"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "77"; + }; + new Item() { + position = "183.196 -327.08 164.922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + }; + new Item() { + position = "183.2 -72.9553 306.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new SimGroup(FFblockers) { + + powerCount = "0"; + + new ForceFieldBare() { + position = "214.194 -103.969 301.569"; + rotation = "1 0 0 0"; + scale = "2.83112 5.36027 8.79596"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "78"; + }; + new ForceFieldBare() { + position = "213.873 -121.084 301.436"; + rotation = "1 0 0 0"; + scale = "3.50697 5.91229 8.04876"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "79"; + }; + new ForceFieldBare() { + position = "207.481 -128.131 301.799"; + rotation = "1 0 0 0"; + scale = "6.65419 3.4976 7.2356"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "80"; + }; + new ForceFieldBare() { + position = "151.481 -128.073 301.799"; + rotation = "1 0 0 0"; + scale = "6.65419 3.16113 7.2356"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "81"; + }; + new ForceFieldBare() { + position = "206.181 -96.889 301.899"; + rotation = "1 0 0 0"; + scale = "2.68841 12.3061 9.1424"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "82"; + }; + new ForceFieldBare() { + position = "156.858 -96.889 301.899"; + rotation = "1 0 0 0"; + scale = "3.09145 12.3061 9.1424"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "83"; + }; + new ForceFieldBare() { + position = "178.939 -135.115 273.103"; + rotation = "1 0 0 0"; + scale = "8.38734 2.49359 6.73248"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "2"; + Target = "84"; + }; + }; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "190.7 -152.66 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "175.7 -152.66 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "167.3 -135.06 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "179.3 -106.66 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "178.1 -122.86 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "165.7 -116.26 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "194.9 -89.86 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "190.7 -135.66 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "190.7 -117.26 283.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "9"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new StaticShape() { + position = "170.686 -115.824 132.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "85"; + }; + new ScriptObject() { + + team = "1"; + }; + new ForceFieldBare() { + position = "195.922 -103.879 353.385"; + rotation = "-0 0 -1 0.223812"; + scale = "5.9609 0.360759 6.69821"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "86"; + }; + new ForceFieldBare() { + position = "195.942 -107.817 353.385"; + rotation = "-0 0 -1 0.223812"; + scale = "5.9609 0.360759 6.69821"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "87"; + }; + new StaticShape(lilEwokinv) { + position = "183.082 -109.806 287.198"; + rotation = "0 0 1 122.04"; + scale = "1 1 1"; + nameTag = "lil^Ewok\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1550734"; + team = "1"; + Trigger = "5433"; + Target = "88"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(lilWookieinv) { + position = "174.556 -109.977 287.168"; + rotation = "0 0 1 232.23"; + scale = "1 1 1"; + nameTag = "lil^Wookie\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1550734"; + team = "1"; + Trigger = "5435"; + Target = "89"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(Gogo0inv) { + position = "162.013 -144.223 287.36"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Gogo0\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1554059"; + team = "1"; + Trigger = "5437"; + Target = "90"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(Vernainv) { + position = "173.866 -130.554 287.207"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Verna\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1554059"; + team = "1"; + Trigger = "5439"; + Target = "91"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new TSStatic() { + position = "177.948 -109.4 353.522"; + rotation = "1 0 0 0"; + scale = "0.1 0.144823 13.0754"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new StaticShape(Darklordinv) { + position = "195.085 -152.239 287.181"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Darklord\'s"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1556768"; + team = "1"; + Trigger = "5442"; + Target = "92"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new StaticShape(Squeakersinv) { + position = "171.194 -152.219 287.181"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Squeakers\'"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "1575206"; + team = "1"; + Trigger = "5444"; + repairedBy = "5140"; + Target = "93"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "8534"; + }; + new SimGroup(crates) { + + powerCount = "1"; + + new TSStatic() { + position = "181.906 -149.701 287.131"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "187.68 -144.437 287.195"; + rotation = "0 0 -1 28.6479"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "195.465 -160.462 287.181"; + rotation = "-0 0 -1 11.4591"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "181.002 -165.598 287.565"; + rotation = "0 -1 0 45.2637"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "195.786 -144.744 288.359"; + rotation = "0 1 0 55.004"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "193.942 -160.429 287.168"; + rotation = "0 0 -1 92.8192"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "180.297 -123.372 287.156"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "192.198 -162.289 287.181"; + rotation = "-0 0 -1 81.36"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "193.849 -164.15 287.186"; + rotation = "-0 0 -1 81.36"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "186.267 -157.689 287.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "178.234 -165.845 288.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "178.157 -165.929 287.111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "176.453 -159.594 287.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "186.559 -161.734 287.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "187.135 -164.981 287.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "180.877 -159.651 287.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "191.541 -163.26 287.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "171.677 -165.821 287.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "179.417 -153.814 287.111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + }; + new TSStatic() { + position = "177.926 -101.945 353.522"; + rotation = "1 0 0 0"; + scale = "0.100141 0.144823 13.0754"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "174.14 -105.687 352.03"; + rotation = "-0 0 -1 0.181308"; + scale = "1 0.877521 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "174.14 -105.688 361.53"; + rotation = "0.999999 0.00159263 -6.76252e-07 179.909"; + scale = "1 0.877521 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new ForceFieldBare() { + position = "174.395 -109.305 353.334"; + rotation = "0 0 1 203.4"; + scale = "4.61969 0.353746 6.74903"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "94"; + }; + new ForceFieldBare() { + position = "174.244 -101.722 353.439"; + rotation = "0 0 1 156.417"; + scale = "4.6918 0.368384 6.6435"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "95"; + }; + new ForceFieldBare() { + position = "178.11 -101.779 353.522"; + rotation = "0 0 1 179.909"; + scale = "3.88004 0.342704 6.5604"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "96"; + }; + new ForceFieldBare() { + position = "178.118 -109.255 353.511"; + rotation = "0 0 1 179.909"; + scale = "3.82413 0.342704 6.57187"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "97"; + }; + new ForceFieldBare() { + position = "187.915 -102.13 353.511"; + rotation = "-0 0 -1 0.181308"; + scale = "3.82413 0.342704 6.57187"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "98"; + }; + new ForceFieldBare() { + position = "170.114 -107.493 353.385"; + rotation = "0 0 1 179.869"; + scale = "5.9609 0.360759 6.69821"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "99"; + }; + new ForceFieldBare() { + position = "170.101 -103.555 353.385"; + rotation = "0 0 1 179.869"; + scale = "5.9609 0.360759 6.69821"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "100"; + }; + new Item() { + position = "180.89 -159.666 287.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "189.797 -76.626 287.17"; + rotation = "1 0 0 0"; + scale = "8.63345 10.9848 5.58438"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "101"; + }; + new InteriorInstance() { + position = "191.899 -105.691 352.03"; + rotation = "0 0 1 179.727"; + scale = "1 0.877521 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "191.899 -105.69 361.53"; + rotation = "-0.00238901 0.999997 -0.000794126 180"; + scale = "1 0.877521 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new ForceFieldBare() { + position = "187.935 -109.606 353.522"; + rotation = "-0 0 -1 0.181308"; + scale = "3.88004 0.342704 6.5604"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "102"; + }; + new ForceFieldBare() { + position = "191.638 -102.074 353.256"; + rotation = "0 0 1 23.3087"; + scale = "4.61969 0.353746 6.82697"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "103"; + }; + new ForceFieldBare() { + position = "191.801 -109.656 353.439"; + rotation = "-0 0 -1 23.6743"; + scale = "4.6918 0.368384 6.6435"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "104"; + }; + new ForceFieldBare() { + position = "149.881 -120.969 301.892"; + rotation = "1 0 0 0"; + scale = "1 22.3833 7.66041"; + dataBlock = "UnksTeamFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "-0.1"; + customPZ = "1"; + triggerCount = "0"; + team = "1"; + Target = "105"; + PZVelocity = "1"; + }; + }; + new SimGroup(Backup) { + + powerCount = "0"; + + new StaticShape(BackupGen) { + position = "194.171 -72.4883 287.153"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "106"; + }; + new ForceFieldBare() { + position = "178.939 -134.115 273.103"; + rotation = "1 0 0 0"; + scale = "8.38734 0.897018 6.73248"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + triggerCount = "0"; + team = "1"; + Target = "107"; + }; + new ForceFieldBare() { + position = "165.01 -103.928 352.931"; + rotation = "0 0 1 179.909"; + scale = "0.861206 3.6252 7.79448"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + triggerCount = "0"; + team = "1"; + Target = "108"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "201.032 -107.436 352.931"; + rotation = "-0 0 -1 0.181308"; + scale = "0.861206 3.6252 7.79448"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + triggerCount = "0"; + team = "1"; + Target = "109"; + PZVelocity = "1"; + }; + }; + new SimGroup(TPFF) { + + powerCount = "1"; + + new StaticShape(TPFFGen) { + position = "177.592 -110.402 136.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "110"; + }; + new ForceFieldBare() { + position = "177.523 -121.254 330.864"; + rotation = "0 1 0 179.909"; + scale = "0.1 0.1 4.19482"; + dataBlock = "UnksTPBeamFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "-1"; + customPZ = "1"; + team = "1"; + Target = "111"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "188.523 -121.254 330.864"; + rotation = "0 1 0 179.909"; + scale = "0.1 0.1 4.19482"; + dataBlock = "UnksTPBeamFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "-1"; + customPZ = "1"; + team = "1"; + Target = "112"; + PZVelocity = "1"; + }; + new ForceFieldBare() { + position = "187.506 -122.206 322.703"; + rotation = "1 0 0 0"; + scale = "1.94321 1.93104 3.96524"; + dataBlock = "UnksTPEntranceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + team = "1"; + Target = "113"; + PZVelocity = "0.001"; + }; + new ForceFieldBare() { + position = "176.506 -122.206 322.703"; + rotation = "1 0 0 0"; + scale = "1.94321 1.93104 3.96524"; + dataBlock = "UnksTPEntranceFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + team = "1"; + Target = "114"; + PZVelocity = "0.001"; + }; + new ForceFieldBare(teleporterFFW) { + position = "175.8 -96 335.942"; + rotation = "1 0 0 0"; + scale = "1.48753 1.17258 2.32049"; + dataBlock = "UnksTPExitFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + triggerCount = "0"; + team = "1"; + Target = "115"; + PZVelocity = "1"; + }; + new ForceFieldBare(teleporterFFE) { + position = "189.6 -96 335.93"; + rotation = "1 0 0 0"; + scale = "1.48753 1.17258 2.32049"; + dataBlock = "UnksTPExitFF"; + lockCount = "0"; + homingCount = "0"; + + PZGravity = "1"; + customPZ = "1"; + triggerCount = "0"; + team = "1"; + Target = "116"; + PZVelocity = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "183.749 -178.856 381.321"; + rotation = "0.999981 -0.00218953 0.00580365 41.3405"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "182.603 -257.275 208.449"; + rotation = "0.000324738 -0.40776 0.913089 179.917"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "183.595 -168.001 290.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "183.08 -94.4203 301.555"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new TSStatic() { + position = "188.127 -109.439 353.522"; + rotation = "1 0 0 0"; + scale = "0.1 0.144823 13.0754"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new Trigger() { + position = "188.381 -121.105 323.167"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 1.90955"; + dataBlock = "UnksTPTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + EastTP = "1"; + }; + new Trigger() { + position = "177.413 -121.177 323.053"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 1.84875"; + dataBlock = "UnksTPTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + WestTP = "1"; + }; + new TSStatic() { + position = "188.083 -101.982 353.522"; + rotation = "1 0 0 0"; + scale = "0.1 0.144823 13.0754"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; +}; +//--- OBJECT WRITE END --- + +package Mutiny +{ + + +//Disable the BackupGen +function SiegeGame::missionLoadDone(%game) +{ + nameToId("BackupGen").setDamageState(Disabled); + nameToId("TPFFGen").setDamageState(Disabled); + + game.FirstMessageSchedule = schedule(15000, game, firstMessage); + + Parent::missionLoadDone(%game); +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + switch (%obj) + { + case nameToId("BridgeGen"): + nameToId("LightGen").setDamageState(Disabled); + TimerMessage1(); + game.TimerSchedule2 = schedule(10000, game, TimerMessage2); + game.TimerSchedule3 = schedule(20000, game, TimerMessage3); + game.TimerSchedule4 = schedule(25000, game, TimerMessage4); + game.MainSchedule = schedule(30000, game, MainFortressSwitchover); + + case nameToId("DSpawnGen"): + nameToId("DFortressSpawn1").sphereWeight = 0; + nameToId("DFortressSpawn2").sphereWeight = 0; + nameToId("DFortressSpawn3").sphereWeight = 0; + nameToId("DFortressSpawn4").sphereWeight = 0; + nameToId("DFortressSpawn5").sphereWeight = 0; + nameToId("DBaseSpawn").sphereWeight = 100; + + case nameToId("ContainmentFFgen"): + nameToId("TPFFGen").setDamageState(Enabled); + } +} + +function Generator::onEnabled(%data, %obj) +{ + Parent::onEnabled(%data, %obj); + + switch (%obj) + { + case nameToId("BridgeGen"): + nameToId("LightGen").setDamageState(Enabled); + cancel(game.MainSchedule); + cancel(game.TimerSchedule2); + cancel(game.TimerSchedule3); + cancel(game.TimerSchedule4); + game.MainSchedule = ""; + game.TimerSchedule2 = ""; + game.TimerSchedule3 = ""; + game.TimerSchedule4 = ""; + + case nameToId("ContainmentFFgen"): + nameToId("TPFFGen").setDamageState(Disabled); + } +} + +function SiegeGame::halftimeOver(%game) +{ + cancel(game.GenExplodeSchedule); + game.GenExplodeSchedule = ""; + + nameToId("BridgeGen").notRepairable = 0; + nameToId("BackupGen").setDamageState(Disabled); + + nameToId("DFortressSpawn1").sphereWeight = 20; + nameToId("DFortressSpawn2").sphereWeight = 20; + nameToId("DFortressSpawn3").sphereWeight = 20; + nameToId("DFortressSpawn4").sphereWeight = 20; + nameToId("DFortressSpawn5").sphereWeight = 20; + nameToId("DBaseSpawn").sphereWeight = 0; + + game.FirstMessageSchedule = schedule(15000, game, firstMessage); + + Parent::halftimeOver(%game); +} + +function SiegeGame::halftime(%game, %reason) +{ + cancel(game.GenExplodeSchedule); + cancel(game.MainSchedule); + cancel(game.TimerSchedule2); + cancel(game.TimerSchedule3); + cancel(game.TimerSchedule4); + cancel(game.FirstMessageSchedule); + + game.GenExplodeSchedule = ""; + game.MainSchedule = ""; + game.TimerSchedule2 = ""; + game.TimerSchedule3 = ""; + game.TimerSchedule4 = ""; + game.FirstMessageSchedule = ""; + + Parent::halftime(%game, %reason); +} + +function SiegeGame::gameOver(%game) +{ + cancel(game.GenExplodeSchedule); + cancel(game.MainSchedule); + cancel(game.TimerSchedule2); + cancel(game.TimerSchedule3); + cancel(game.TimerSchedule4); + cancel(game.FirstMessageSchedule); + + game.GenExplodeSchedule = ""; + game.MainSchedule = ""; + game.TimerSchedule2 = ""; + game.TimerSchedule3 = ""; + game.TimerSchedule4 = ""; + game.FirstMessageSchedule = ""; + + Parent::gameOver(%game); + deactivatePackage(Mutiny); +} + +function MainFortressSwitchover() +{ + nameToId("LightGen").setDamageState(Enabled); + nameToId("BridgeGen").notRepairable = 1; + nameToId("BridgeGen").setDamageLevel(2.5); + nameToId("BackupGen").setDamageState(Enabled); + nameToId("DSpawnGen").setDamageLevel(2.5); + nameToId("DoorwayFFGen").setDamageLevel(2.5); + + schedule(1000, game, GenExplode); + + TimerMessageFinal(); +} + +function GenExplode() +{ + if (nameToId("BridgeGen").isDisabled()) + { + nameToId("BridgeGen").setDamageLevel(2.5); + game.GenExplodeSchedule = schedule(1000, game, GenExplode); + } + else + { + cancel(game.GenExplodeSchedule); + game.GenExplodeSchedule = ""; + } +} + +function firstMessage() +{ + Game.defenseTeam = Game.offenseTeam == 1 ? 2 : 1; + + messageTeam(Game.defenseTeam, '', "\c2Your team must defend the Ship Control Gen! Don't let it stay offline for more than 30 seconds!"); + messageTeam(Game.offenseTeam, '', "\c2Your team must destroy the Emergency Containment FF Gen to gain access to the Bridge. Then you must hold the Ship Control Gen for 30 seconds."); +} + +function TimerMessage1() +{ + Game.defenseTeam = Game.offenseTeam == 1 ? 2 : 1; + + messageTeam(Game.defenseTeam, '', "\c2Your team has 30 seconds to repair the Ship Control Generator!"); + messageTeam(Game.offenseTeam, '', "\c2Your team must keep the Ship Control Generator down for 30 seconds!"); +} + +function TimerMessage2() +{ + Game.defenseTeam = Game.offenseTeam == 1 ? 2 : 1; + + messageTeam(Game.defenseTeam, '', "\c220 seconds!"); + messageTeam(Game.offenseTeam, '', "\c220 seconds!"); +} + +function TimerMessage3() +{ + Game.defenseTeam = Game.offenseTeam == 1 ? 2 : 1; + + messageTeam(Game.defenseTeam, '', "\c210 seconds!"); + messageTeam(Game.offenseTeam, '', "\c210 seconds!"); +} + +function TimerMessage4() +{ + Game.defenseTeam = Game.offenseTeam == 1 ? 2 : 1; + + messageTeam(Game.defenseTeam, '', "\c25 seconds!"); + messageTeam(Game.offenseTeam, '', "\c25 seconds!"); +} + +function TimerMessageFinal() +{ + Game.defenseTeam = Game.offenseTeam == 1 ? 2 : 1; + + messageTeam(Game.defenseTeam, '', "\c2Your team failed to repair the Ship Control Generator. The Hacked Backup Generator has come online and the offense has captured the ship. Go defend the Main Base!"); + messageTeam(Game.offenseTeam, '', "\c2The Hacked Backup Generator has come online, your team has captured the ship! Onwards to the Main Base!"); +} + +//Teleporter Scripting +function UnksTPTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + if (%obj.EastTP) + { + %colObj.setTransform("189.6 -96 335.93"); + %colObj.setvelocity("0 -10 0"); + } + else if (%obj.WestTP) + { + %colObj.setTransform("175.8 -96 335.942"); + %colObj.setvelocity("0 -10 0"); + } +} + +function UnksTPTrigger::onLeaveTrigger(%data, %obj, %colObj) +{ + //prevent console spam +} + +function UnksTPTrigger::onTickTrigger(%data, %obj) +{ + //prevent console spam +} + + +}; + +activatePackage(Mutiny); diff --git a/public/base/@vl2/Mutiny.vl2/terrains/Mutiny.spn b/public/base/@vl2/Mutiny.vl2/terrains/Mutiny.spn new file mode 100644 index 00000000..8d956cdb Binary files /dev/null and b/public/base/@vl2/Mutiny.vl2/terrains/Mutiny.spn differ diff --git a/public/base/@vl2/Mutiny.vl2/textures/gui/Load_Mutiny.png b/public/base/@vl2/Mutiny.vl2/textures/gui/Load_Mutiny.png new file mode 100644 index 00000000..f1e2a938 Binary files /dev/null and b/public/base/@vl2/Mutiny.vl2/textures/gui/Load_Mutiny.png differ diff --git a/public/base/@vl2/Patience.vl2/missions/Patience.mis b/public/base/@vl2/Patience.vl2/missions/Patience.mis new file mode 100644 index 00000000..730e5ac9 --- /dev/null +++ b/public/base/@vl2/Patience.vl2/missions/Patience.mis @@ -0,0 +1,983 @@ +// DisplayName = Patience +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Patience and tenacity of purpose are worth more than twice their weight of cleverness. +// --Thomas Henry Huxley +// Map by powdahound; Code by t-b0n3, Byte, & [HvC]Dev; Fixes by a tiny fishie. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//The Forcefield Generator protects the Lava Generator +//While the Lava Generator is disabled, the lava level will lower +//When the lava is low enough, the Capture Switch will be revealed +//A repair pack is located on a platform above the lava +//--- MISSION STRING END --- + +function ForceFieldBareData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + + //%velo = 1; + //%grav = 0.1; + //%appl = "0 0 0"; + + if (%obj.custom $= "" || %obj.custom $= "0") + { + %velo = %obj.velocityMod; + %grav = %obj.gravityMod; + %appl = %obj.appliedForce; + } + else + return; // add physical zones unless the force field contains 'custom = "1";' + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + powerCount = "0"; + musicTrack = "Volcanic"; + + new MissionArea(MissionArea) { + area = "-440 -576 1152 1264"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + locked = "true"; + scale = "1 1 1"; + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Caldera.ter"; + squareSize = "8"; + emptySquares = "167592 167848 102569"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + locked = "true"; + scale = "1 1 1"; + coverage = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Patience.nav"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1536 -720 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.149971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "390"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "160"; + fogColor = "0.850000 0.380000 0.100000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "1.000000 100.000000 1.000000 0.000000"; + fogVolumeColor2 = "1.000000 100.000000 1.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-114.528 571.588 162.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-107.254 557.985 197.32"; + rotation = "0 0 1 162.72"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare(ff1) { + position = "-96.5634 554.451 197.306"; + rotation = "0 0 1 162.72"; + scale = "18.2383 0.889118 6.53687"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "33"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + custom = "1"; + }; + new ForceFieldBare(ff2) { + position = "-99.5607 566.801 198.352"; + rotation = "0 0 1 162.72"; + scale = "0.950705 12.6622 5.47157"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "34"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + custom = "1"; + }; + new ForceFieldBare(ff3) { + position = "-117.654 561.119 198.267"; + rotation = "0 0 1 162.72"; + scale = "0.950705 12.6622 5.47157"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "35"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + custom = "1"; + }; + new Turret(FirstAssaultTurret) { + position = "-142.405 548.163 197.331"; + rotation = "0 0 1 161.574"; + scale = "1 1 1"; + nameTag = "First Assault"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "36"; + locked = "true"; + team = "1"; + }; + new Turret(SecondAssaultTurret) { + position = "-72.6665 569.458 197.173"; + rotation = "0 0 1 161.001"; + scale = "1 1 1"; + nameTag = "Second Assault"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "37"; + locked = "true"; + team = "1"; + }; + new StaticShape(AssaultGenerator) { + position = "-109.179 570.628 122.296"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + nameTag = "Assault"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + team = "1"; + }; + new StaticShape(SecondUpperAssault) { + position = "-102.644 563.424 198.27"; + rotation = "0 0 -1 18.9076"; + scale = "1 1 1"; + nameTag = "Second Upper Assault"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + team = "1"; + }; + new StaticShape(FirstUpperAssault) { + position = "-114.07 559.904 198.27"; + rotation = "0 0 -1 18.9076"; + scale = "1 1 1"; + nameTag = "First Upper Assault"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + team = "1"; + }; + new StaticShape(OutsideAssault) { + position = "-108.743 562.617 161.219"; + rotation = "0 0 1 161.574"; + scale = "1 1 1"; + nameTag = "Outside"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + team = "1"; + }; + new ForceFieldBare(ff4) { + position = "-100.353 566.62 197.102"; + rotation = "0 0 1 162.72"; + scale = "18.1794 0.181268 6.75839"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "42"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + custom = "1"; + }; + new StaticShape(AssaultSensor) { + position = "-106.539 555.81 205.046"; + rotation = "0 0 1 161.574"; + scale = "1 1 1"; + nameTag = "Assault"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-93.1379 -18.6596 91.6641"; + rotation = "0 0 1 1.7196"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "324.388 108.414 165.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "206.292 -117.527 161.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "91.9579 -18.2651 163.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "336.45 117.504 201.06"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + interiorFile = "dtowr2.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape(LavaGenerator) { + position = "327.068 111.911 190.986"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + nameTag = "Lava"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + team = "2"; + needsObjectiveWaypoint = "1"; + }; + }; + new StaticShape(Switch) { + position = "215.999 15.5824 84.1074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + team = "2"; + needsObjectiveWaypoint = "1"; + }; + new SimGroup(ffbase) { + powerCount = "1"; + + new InteriorInstance() { + position = "-93.2626 -19.4114 88.963"; + rotation = "0 0 1 33.8046"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(ForcefieldGenerator) { + position = "-93.4641 -19.7113 112.471"; + rotation = "0 0 1 34.1946"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + team = "2"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare(ff2) { + position = "302.743 108.426 178.041"; + rotation = "0 0 1 47.5"; + scale = "8.09539 1 5.04836"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "47"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(ff2) { + position = "342.767 116.538 177.945"; + rotation = "0 0 1 47.5"; + scale = "8.09539 1 5.04836"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "48"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new ForceFieldBare(arf) { + position = "315.904 110.203 200.17"; + rotation = "0 0 1 47.5555"; + scale = "12.5762 14.1549 0.77919"; + dataBlock = "defaultNoTeamLavaLightField"; + Target = "49"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(equipment) { + powerCount = "2"; + + new StaticShape(MainBaseSensor) { + position = "268.647 -73.8241 166.697"; + rotation = "0 0 -1 38.5708"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + team = "2"; + }; + new StaticShape(FirstEquipmentGenerator) { + position = "338.362 100.474 160.993"; + rotation = "0 0 -1 41.826"; + scale = "1 1 1"; + nameTag = "First Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + team = "2"; + }; + new StaticShape(SecondEquipmentGenerator) { + position = "333.901 96.3878 161.007"; + rotation = "-0.0149879 0.0392227 -0.999118 41.8597"; + scale = "1 1 1"; + nameTag = "Second Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + team = "2"; + }; + new StaticShape(BaseInventory1) { + position = "318.351 127.163 161"; + rotation = "0 0 -1 47.5555"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + team = "2"; + }; + new StaticShape(BaseInventory2) { + position = "312.52 121.556 161"; + rotation = "0 0 -1 47.5555"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + team = "2"; + }; + new StaticShape(ForcefieldBaseInventory) { + position = "-93.3344 -30.6533 88.943"; + rotation = "0 0 1 168.059"; + scale = "1 1 1"; + nameTag = "Forcefield Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + team = "2"; + }; + new StaticShape(ForcefieldBaseSensor) { + position = "-96.1364 -22.4047 142.926"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Forcefield Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + team = "2"; + }; + new Turret() { + position = "-146.278 5.8762 121.257"; + rotation = "0 0 1 103.132"; + scale = "1 1 1"; + nameTag = "Forcefield Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "57"; + locked = "true"; + team = "2"; + }; + new Turret() { + position = "252.852 110.007 160.388"; + rotation = "0 0 -1 42.9718"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "58"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + + new TSStatic() { + position = "309.048 -27.1378 154.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new Item() { + position = "-106.661 556.116 198.638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "101.351 -120.54 167.234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "464.842 298.396 79.6909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "261.041 502.394 140.942"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-179.046 482.958 133.652"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-79.7171 283.882 117.974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "200.169 108.041 148.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "383.1 104.224 154.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "387.165 99.5415 154.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "188.321 172.793 113.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(observer1) { + position = "89.9067 45.4067 198.273"; + rotation = "0.0863833 -0.0994006 0.991291 98.512"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(obs2) { + position = "-112.491 -97.7194 157.154"; + rotation = "0.996092 0.0149425 -0.0870486 19.5555"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(obs3) { + position = "-170.53 590.907 228.259"; + rotation = "0.127912 -0.197037 0.972016 115.495"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(environment) { + powerCount = "0"; + + new FireballAtmosphere(FireballAtmosphere) { + position = "177.8 730 143.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + dropRadius = "900"; + dropsPerMinute = "100"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + lockCount = "0"; + locked = "false"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-145.648 5.55263 111.471"; + rotation = "0 0 -1 76.2034"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "213.054 6.89907 146.851"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "120"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new WaterBlock(LavaPool) { + position = "120 -96 66.9963"; + rotation = "1 0 0 0"; + scale = "256 192 60.1947"; + liquidType = "HotLava"; + density = "10"; + viscosity = "15"; + waveMagnitude = "3"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.3"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + locked = "1"; + }; + new InteriorInstance() { + position = "215.826 15.5557 89.1571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "191.29 34.6116 106.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "182.131 -35.7488 117.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "257.328 37.3029 134.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "180.037 9.37294 156.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "224.792 -24.357 149.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "253.31 33.7575 109.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "12.5365 255.282 122.271"; + rotation = "0 -1 0 9.16745"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "268.575 -73.7475 156.927"; + rotation = "0 0 -1 34.9504"; + scale = "0.724826 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "7.79674 258.369 124.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "252.784 110.06 150.609"; + rotation = "0 0 1 45.8367"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "3.64849 67.5518 104.952"; + rotation = "-0.933865 0.324319 -0.150707 52.9094"; + scale = "2 2 2"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "180.049 9.42249 159.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + Target = "-1"; + }; + new Item() { + position = "329.105 107.661 181.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + Target = "-1"; + }; + new AudioEmitter() { + position = "7.79674 258.369 125.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "4"; + maxDistance = "25"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "false"; + }; + new ParticleEmissionDummy(smoke) { + position = "13.2614 250.543 126.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + lockCount = "0"; + homingCount = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +package Patience +{ + + +function SiegeGame::missionLoadDone(%game) +{ + Parent::missionLoadDone(%game); + + Game.originalScale = nameToID("LavaPool").scale; + Game.powerIsUp = true; +} + +function SiegeGame::startMatch(%game) +{ + Parent::startMatch(%game); + AdjustWaterLevel(NameToID("LavaPool")); +} + +function Generator::onDisabled(%data, %obj, %prevState) +{ + %obj.decPowerCount(); + + if (%obj == nameToId("LavaGenerator")) + Game.PowerIsUp = false; + + Parent::onDisabled(%data, %obj, %prevState); +} + +function Generator::onEnabled(%data, %obj, %prevState) +{ + %obj.incPowerCount(); + + if (%obj == nameToId("LavaGenerator")) + Game.PowerIsUp = true; + + Parent::onEnabled(%data, %obj, %prevState); +} + +function SiegeGame::gameOver(%game) +{ + cancel(Game.PatienceSched); + exec("scripts/forceField.cs"); + Parent::gameOver(%game); + deactivatePackage(Patience); +} + +function SiegeGame::halftime(%game, %reason) +{ + cancel(Game.PatienceSched); + Game.PowerIsUp = true; + ReSizeWater(nameToID("LavaPool"), Game.originalScale); + + Parent::halftime(%game, %reason); +} + +function SiegeGame::startSecondHalf(%game) +{ + Parent::startSecondHalf(%game); + AdjustWaterLevel(NameToID("LavaPool")); +} + +// The following functions were taken from "Polar Dip", by [HvC]Scuba and [HvC]Dev. Much thanks, Scuba and Dev. + +function AdjustWaterLevel(%Water) +{ + // If the Object you specified to increase in size is not water, just + // note that in the console and log and quit + if (%Water.getType() != 16) + { + logEcho("Attempting to raise/lower water level on non-water object."); + return; + } + + %Water.Locked = true; + + Game.PatienceSched = Schedule(1000, 0, SizeWater, %Water); +} + +function ReSizeWater(%Water, %OriginalScale) +{ + %Water.Scale = %OriginalScale; + %Water.setTransform(%Water.getTransform()); +} + +function SizeWater(%Water) +{ + if (Game.powerIsUp) + AdjustWaterLevel(%Water); + else + { + %ScaleXY = getWords(%Water.Scale, 0, 1); + %ScaleZ = getWord(%Water.Scale, 2) - 0.13333; + + %Water.Scale = %ScaleXY @ " " @ %ScaleZ; + + // Just needed to cause a refresh + %Water.setTransform(%Water.getTransform()); + AdjustWaterLevel(%Water); + } +} + + +}; + +if (!$OFFLINE_NAV_BUILD) + activatePackage(Patience); diff --git a/public/base/@vl2/Patience.vl2/terrains/Patience.spn b/public/base/@vl2/Patience.vl2/terrains/Patience.spn new file mode 100644 index 00000000..1b87ab87 Binary files /dev/null and b/public/base/@vl2/Patience.vl2/terrains/Patience.spn differ diff --git a/public/base/@vl2/Patience.vl2/textures/gui/load_Patience.png b/public/base/@vl2/Patience.vl2/textures/gui/load_Patience.png new file mode 100644 index 00000000..877a29bb Binary files /dev/null and b/public/base/@vl2/Patience.vl2/textures/gui/load_Patience.png differ diff --git a/public/base/@vl2/Prismatic.vl2/missions/Prismatic.mis b/public/base/@vl2/Prismatic.vl2/missions/Prismatic.mis new file mode 100644 index 00000000..fe84f26e --- /dev/null +++ b/public/base/@vl2/Prismatic.vl2/missions/Prismatic.mis @@ -0,0 +1,2045 @@ +// DisplayName = Prismatic +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//I have not yet begun to fight! +// -- John Paul Jones +// -- Created by Propain +// -- Wookiees Of War +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//The Tower generator powers the tower forcefields +//The Base generator powers the forcefields for the main base +//Destroy all three generators in the Main base to capture +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "3"; + musicTrack = "volcanic"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-776 -536 1280 1296"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Gehenna.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "Gehenna.nav"; + position = "0 0 0 1"; + scale = "1 1 1"; + coverage = "0"; + locked = "true"; + YDimOverSize = "0"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-536 -1136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0007"; + cloudSpeed2 = "0.0009"; + cloudSpeed3 = "0.00013"; + visibleDistance = "479"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.330000 0.310000 1.000000"; + fogDistance = "165"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -1.96682e+09 -4.14299e+30"; + high_fogVolume2 = "-1 1.01123e-24 -40085"; + high_fogVolume3 = "-1 5.08123e-12 -5.39254e+06"; + cloudSpeed0 = "0.001000 0.001000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "62.5467 -3.48289 231.374"; + rotation = "0.0474864 -0.18804 0.981013 152.171"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-82.1428 419.745 101.918"; + rotation = "0.0805608 -0.134153 0.987681 118.654"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera(Camera) { + position = "-279.392 407.473 195.725"; + rotation = "0.0266189 -0.132441 0.990833 157.474"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera(Camera) { + position = "-477.646 83.1461 126.727"; + rotation = "-0.170335 -0.30253 0.937796 235.669"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "1"; + + new Turret(Team2TurretBaseLarge1) { + position = "69.3991 -114.665 210.426"; + rotation = "0 0 -1 38.9612"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + lastProjectile = "5351"; + damageTimeMS = "95814"; + locked = "true"; + Target = "33"; + originalBarrel = "PlasmaBarrelLarge"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3861"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "84.5648 -130.79 157.751"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + team = "2"; + }; + new StaticShape(Team2StationInventory1) { + position = "76.42 -113.651 203.429"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + locked = "true"; + Target = "35"; + Trigger = "3841"; + notReady = "1"; + team = "2"; + }; + new StaticShape(Team2StationInventory2) { + position = "66.4103 -121.816 203.498"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + locked = "true"; + Target = "36"; + Trigger = "3843"; + notReady = "1"; + team = "2"; + }; + new StaticShape(Team2StationInventory3) { + position = "72.556 -118.9 166.429"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "3744113"; + locked = "true"; + Target = "37"; + lastDamagedByTeam = "2"; + Trigger = "3845"; + lastDamagedBy = "3670"; + notReady = "1"; + team = "2"; + }; + new ForceFieldBare() { + position = "57.4981 -115.309 202.43"; + rotation = "0 0 -1 38.9611"; + scale = "18.7758 0.1 6.68555"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "38"; + team = "2"; + }; + new ForceFieldBare() { + position = "72.2359 -103.882 203.23"; + rotation = "0 0 1 50.9933"; + scale = "12.9804 0.1 5.78396"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "39"; + team = "2"; + }; + new ForceFieldBare() { + position = "65.6442 -125.371 203.295"; + rotation = "0 0 -1 38.9612"; + scale = "0.1 12.8082 5.73995"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "40"; + team = "2"; + }; + new InteriorInstance() { + position = "85.5163 -134.972 165.395"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 0.1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "81.7637 -130.325 165.395"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 0.1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "77.8525 -132.574 145.892"; + rotation = "-0.890874 -0.324609 -0.317762 96.2506"; + scale = "2.14383 1.67012 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "69.1885 -114.833 202.43"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new Item() { + position = "118.344 -39.615 169.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "152.925 -103.469 203.655"; + rotation = "0 0 -1 89.5636"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "41"; + team = "2"; + }; + new Turret(Team2SentryTurret1) { + position = "86.0739 -135.776 207.674"; + rotation = "0.426809 0.897811 -0.108486 203.463"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "6498"; + locked = "true"; + Target = "42"; + team = "2"; + }; + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "77.0252 -122.928 204.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "152.91 -103.456 194.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + }; + new SimGroup(team2) { + powerCount = "0"; + + new Item() { + position = "-671.174 25.181 84.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "2"; + }; + new SimGroup(Tower) { + powerCount = "1"; + + new InteriorInstance() { + position = "-571.101 19.9713 61.6143"; + rotation = "0 0 -1 85.3707"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape(base) { + position = "-563.06 19.4049 73.6045"; + rotation = "0 0 -1 85.3707"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "3593140"; + locked = "true"; + Target = "43"; + lastDamagedByTeam = "1"; + WayPoint = "4089"; + lastDamagedBy = "3764"; + team = "1"; + }; + new StaticShape(Team1StationInventory1) { + position = "-561.058 25.8866 61.7207"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "3567273"; + locked = "true"; + Target = "44"; + lastDamagedByTeam = "1"; + Trigger = "3896"; + lastDamagedBy = "3764"; + notReady = "1"; + team = "1"; + }; + new StaticShape(Team1StationInventory2) { + position = "-562.024 12.5407 61.7308"; + rotation = "0 0 1 182.774"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "3567273"; + locked = "true"; + Target = "45"; + lastDamagedByTeam = "2"; + Trigger = "3898"; + lastDamagedBy = "3810"; + notReady = "1"; + team = "1"; + }; + new ForceFieldBare() { + position = "121.72 319.978 92.3597"; + rotation = "0.195429 0.0166516 -0.980576 2.92171"; + scale = "8.26731 0.1 6.84252"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "46"; + team = "1"; + }; + new ForceFieldBare() { + position = "139.782 320.786 92.561"; + rotation = "0 0 -1 3.43771"; + scale = "8.25785 0.1 6.69571"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "47"; + team = "1"; + }; + new ForceFieldBare() { + position = "185.643 368.188 92.5949"; + rotation = "0 0 -1 3.43771"; + scale = "0.1 4.40452 6.6735"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "48"; + team = "1"; + }; + new ForceFieldBare() { + position = "184.313 385.836 92.5309"; + rotation = "0 0 -1 3.43771"; + scale = "0.1 4.46014 6.70207"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "49"; + team = "1"; + }; + new ForceFieldBare() { + position = "133.843 428.448 92.561"; + rotation = "0 0 -1 4.01071"; + scale = "4.60489 0.1 6.65802"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "50"; + team = "1"; + }; + new ForceFieldBare() { + position = "116.175 427.074 92.461"; + rotation = "0 0 -1 4.58367"; + scale = "4.48991 0.1 6.7886"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "51"; + team = "1"; + }; + new ForceFieldBare() { + position = "76.6311 378.337 92.5485"; + rotation = "0 0 -1 4.0109"; + scale = "0.1 4.36429 6.6932"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "52"; + team = "1"; + }; + new ForceFieldBare() { + position = "78.0942 360.587 92.3986"; + rotation = "0 0 -1 4.01129"; + scale = "0.1 4.42355 6.7742"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "53"; + team = "1"; + }; + new ForceFieldBare() { + position = "126.973 370.972 107.961"; + rotation = "0 0 -1 3.43862"; + scale = "8.63395 8.53119 0.1"; + dataBlock = "defaultNoTeamLavaLightField"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "54"; + team = "1"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-567.625 19.7342 115.339"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "55"; + team = "1"; + }; + new InteriorInstance() { + position = "-555.411 98.46 81.461"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-535.364 -58.7387 82.261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-671.126 25.0205 82.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new StaticShape(Tower) { + position = "-565.229 19.4923 85.1589"; + rotation = "0 0 -1 85.3707"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "119580"; + locked = "true"; + Target = "56"; + lastDamagedByTeam = "1"; + WayPoint = "4090"; + lastDamagedBy = "3822"; + team = "1"; + }; + new ForceFieldBare() { + position = "-557.605 14.7174 61.1135"; + rotation = "0 0 1 4.58384"; + scale = "0.1 8.17743 6.59537"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "57"; + team = "1"; + }; + new ForceFieldBare() { + position = "-563.951 24.2957 84.9252"; + rotation = "0 0 1 4.0111"; + scale = "5.33305 4.3971 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "58"; + team = "1"; + }; + new ForceFieldBare() { + position = "-564.985 10.2459 84.8331"; + rotation = "0 0 1 4.58418"; + scale = "5.22188 4.28829 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "59"; + team = "1"; + }; + }; + new SimGroup(base) { + powerCount = "0"; + + new SimGroup(Platform) { + powerCount = "1"; + + new SimGroup(EAST) { + powerCount = "2"; + + new SimGroup(NORTH) { + powerCount = "3"; + + new StaticShape(NORTH) { + position = "128.837 405.794 92.6177"; + rotation = "0 0 -1 6.8755"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + repairedBy = "3764"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "2344239"; + locked = "true"; + Target = "60"; + lastDamagedByTeam = "1"; + WayPoint = "4091"; + lastDamagedBy = "3764"; + team = "1"; + }; + new StaticShape(Team1SensorLargePulse2) { + position = "131.064 375.524 140.655"; + rotation = "0 0 -1 93.0017"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "61"; + team = "1"; + }; + new Item() { + position = "130.91 375.759 86.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "2"; + }; + new InteriorInstance() { + position = "131.022 375.463 76.6298"; + rotation = "0 0 -1 4.0111"; + scale = "1 1 1"; + interiorFile = "dbase4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "185.325 254.479 59.161"; + rotation = "0 0 1 114.019"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "159.269 196.024 59.161"; + rotation = "0 0 1 114.019"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "46.2828 255.636 59.761"; + rotation = "0 0 1 91.6732"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "48.1476 319.609 59.761"; + rotation = "0 0 1 91.6732"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "138.103 421.293 49.2102"; + rotation = "-0.491125 -0.834824 0.248728 10.8492"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "191.464 417.742 47.8571"; + rotation = "0.616535 0.762611 0.195726 19.8962"; + scale = "1 1 0.929552"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-248.217 327.335 180.854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "-244.175 323.135 171.755"; + rotation = "1 0 0 0"; + scale = "0.1 8.33219 9.44258"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "62"; + team = "1"; + }; + new ForceFieldBare() { + position = "-252.567 331.44 171.924"; + rotation = "1 0 0 0"; + scale = "8.49804 0.1 8.95662"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "63"; + team = "1"; + }; + new ForceFieldBare() { + position = "-252.317 323.097 172.059"; + rotation = "1 0 0 0"; + scale = "0.1 8.30907 9.06974"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "64"; + team = "1"; + }; + new ForceFieldBare() { + position = "-252.432 323.055 171.673"; + rotation = "1 0 0 0"; + scale = "8.42767 0.1 9.49389"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "65"; + team = "1"; + }; + }; + new StaticShape(EAST) { + position = "180.353 378.961 85.1551"; + rotation = "0 0 -1 94.538"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + repairedBy = "3764"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1897368"; + locked = "true"; + Target = "66"; + lastDamagedByTeam = "2"; + WayPoint = "4092"; + lastDamagedBy = "3861"; + team = "1"; + }; + new StaticShape(Team1StationInventory3) { + position = "149.881 360.479 83.6952"; + rotation = "0 0 1 129.488"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "3101496"; + locked = "true"; + Target = "67"; + lastDamagedByTeam = "2"; + Trigger = "3954"; + lastDamagedBy = "3862"; + notReady = "1"; + team = "1"; + }; + }; + new StaticShape(Platform) { + position = "131.436 373.671 96.6177"; + rotation = "0 0 1 175.325"; + scale = "1 1 1"; + nameTag = "Platform"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + repairedBy = "3764"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "2471345"; + locked = "true"; + Target = "68"; + lastDamagedByTeam = "1"; + WayPoint = "4093"; + lastDamagedBy = "3764"; + team = "1"; + }; + new StaticShape(Team1StationInventory4) { + position = "109.377 373.916 92.6952"; + rotation = "0 0 -1 94.538"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + locked = "true"; + Target = "69"; + Trigger = "3957"; + notReady = "1"; + team = "1"; + }; + new StaticShape(Team1StationInventory5) { + position = "129.646 395.507 92.6952"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + damageTimeMS = "2471345"; + locked = "true"; + Target = "70"; + lastDamagedByTeam = "1"; + Trigger = "3959"; + lastDamagedBy = "3764"; + notReady = "1"; + team = "1"; + }; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "130.595 372.672 125.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "55"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-565.734 18.3451 98.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new StaticShape(Switch) { + position = "-248.222 327.285 171.937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new WaterBlock() { + position = "32 -176 104"; + rotation = "1 0 0 0"; + scale = "128 192 60.1947"; + liquidType = "Lava"; + density = "0.4"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/sanctuary_water_2"; + surfaceOpacity = "0.6"; + envMapTexture = "LiquidTiles/oasis_emap_cloudsground"; + envMapIntensity = "0.1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + hidden = "false"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 -53.939"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "HotLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "45.7413 298.319 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "33.8775 476.222 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "157.424 496.789 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "0.0836792 381.294 56.9417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "121.975 362.152 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "-220.805 -168.409 61.7899"; + rotation = "0 0 1 36.6693"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "146.248 239.021 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "69.459 -57.0702 164.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "97.3279 -113.679 163.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "113.097 -70.8322 163.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "57.2455 -96.8951 162.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + new AudioEmitter() { + position = "114.043 -77.2696 164.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavamellow1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-364.125 -260.35 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-400.02 -307.144 57.6838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-306.298 -290.943 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-184.146 -323.668 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-191.541 -411.98 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-99.4573 -427.632 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-9.37299 -430.891 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "109.627 -439.494 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "216.808 -438.303 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "333.229 -339.579 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "272.889 -404.248 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "434.22 -94.4922 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "398.99 10.4169 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "357.667 108.201 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "253.956 210.274 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-533.394 -62.2201 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-615.885 -141.826 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-558.872 107.766 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-546.998 206.543 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-545.853 326.55 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-711.326 74.1025 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-799.277 199.875 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-30.6264 597.01 46.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-377.104 -231.845 56.453"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-554.835 -183.867 57.6533"; + rotation = "0.0783555 -0.114605 -0.990316 118.483"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-346.955 256.571 65.8007"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "68.6267 -56.8158 148.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SatchelBubbleEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "99.3334 -9.54071 149.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SatchelBubbleEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "111.287 -70.8708 149.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SatchelBubbleEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "96.6446 -113.09 148.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SatchelBubbleEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "58.4116 -96.4753 149.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SatchelBubbleEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "100.655 -6.99379 163.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + new WaterBlock() { + position = "32 -176 104"; + rotation = "1 0 0 0"; + scale = "128 192 60.1947"; + liquidType = "RiverWater"; + density = "0.4"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/sanctuary_water_2"; + surfaceOpacity = "0"; + envMapTexture = "LiquidTiles/oasis_emap_cloudsground"; + envMapIntensity = "0"; + removeWetEdges = "1"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + params1 = "0.63 -2.41 0.33 0.21"; + textureSize = "32 32"; + }; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + + new SimGroup(Addition1DSPlant16) { + powerCount = "0"; + + new TSStatic() { + position = "-128.284 -185.398 92.2261"; + rotation = "-0.292649 0.152343 0.944006 57.7486"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "25.3474 228.305 56.0699"; + rotation = "0.232142 0.21504 0.948614 97.3866"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "382.455 -153.494 60.5687"; + rotation = "0 0 1 104.281"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "265.258 -307.153 70.4047"; + rotation = "-0.164237 -0.0135418 0.986328 170.701"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-616.17 -22.5707 52.5562"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-605.503 300.994 51.7674"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "6.8905 414.429 52.9487"; + rotation = "0.14452 0.0365543 0.988827 184.709"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "350.32 536.867 58.3863"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "233.589 468.854 51.995"; + rotation = "0.585985 0.157013 -0.794964 37.2534"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "64.6874 520.467 50.42"; + rotation = "0 0 -1 29.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "143.191 369.199 108.623"; + rotation = "0 0 1 8.59438"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "139.879 380.68 108.45"; + rotation = "-0.00246452 -0.00476103 0.999986 83.7205"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "143.01 367.702 108.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "121.567 370.522 108.454"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-575.812 26.5285 61.1274"; + rotation = "-0.0487758 0.21812 -0.974702 25.8428"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-571.975 28.8722 61.429"; + rotation = "0 0 1 63.0254"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-568.314 30.5784 61.3258"; + rotation = "0 0 -1 28.6479"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-571.918 9.8683 59.9011"; + rotation = "0.0963929 -0.128667 0.986992 39.2789"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-577.128 13.8983 60.2589"; + rotation = "0.0872379 -0.0298811 0.995739 37.9655"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "404.925 353.522 62.1948"; + rotation = "0 0 -1 29.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-492.81 334.302 49.9869"; + rotation = "0.0372942 0.00999288 -0.999254 30.0212"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-589.602 54.0514 56.7813"; + rotation = "0 0 -1 114.798"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-89.8668 612.78 60.7648"; + rotation = "0.00128714 -0.189356 -0.981908 60.1236"; + scale = "0.8 0.8 0.78408"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3DSPlant18) { + powerCount = "0"; + + new TSStatic() { + position = "368.844 164.703 51.1463"; + rotation = "-0.320194 -0.225772 0.920056 126.791"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "295.118 -137.98 81.4841"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "98.8019 56.4712 207.62"; + rotation = "-0.214234 -0.279195 0.936031 78.6877"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 -180 173.313"; + rotation = "0 0 -1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 180 60.4468"; + rotation = "0 0 -1 7.00012"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4DSPlant19) { + powerCount = "0"; + + new TSStatic() { + position = "-188 -292 58.2156"; + rotation = "0 0 1 166"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "332 156 58.8593"; + rotation = "0 0 -1 29.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "229.591 262.609 50.1644"; + rotation = "0.263624 -0.152203 0.952542 237.617"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Prismatic.vl2/terrains/Prismatic.nav b/public/base/@vl2/Prismatic.vl2/terrains/Prismatic.nav new file mode 100644 index 00000000..ba10ab9e Binary files /dev/null and b/public/base/@vl2/Prismatic.vl2/terrains/Prismatic.nav differ diff --git a/public/base/@vl2/Prismatic.vl2/terrains/Prismatic.spn b/public/base/@vl2/Prismatic.vl2/terrains/Prismatic.spn new file mode 100644 index 00000000..958e49fb Binary files /dev/null and b/public/base/@vl2/Prismatic.vl2/terrains/Prismatic.spn differ diff --git a/public/base/@vl2/Prismatic.vl2/terrains/heightfield/Prismatic_heightfield.cs b/public/base/@vl2/Prismatic.vl2/terrains/heightfield/Prismatic_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/Prismatic.vl2/terrains/heightfield/Prismatic_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/Prismatic.vl2/textures/gui/LOAD_Prismatic.png b/public/base/@vl2/Prismatic.vl2/textures/gui/LOAD_Prismatic.png new file mode 100644 index 00000000..582804a2 Binary files /dev/null and b/public/base/@vl2/Prismatic.vl2/textures/gui/LOAD_Prismatic.png differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/anthem_pipebasemini.dif b/public/base/@vl2/S5maps.vl2/interiors/anthem_pipebasemini.dif new file mode 100644 index 00000000..7f57ee9d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/anthem_pipebasemini.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/anthem_pipebunker.dif b/public/base/@vl2/S5maps.vl2/interiors/anthem_pipebunker.dif new file mode 100644 index 00000000..5ce487fe Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/anthem_pipebunker.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/anthem_pipestand2.dif b/public/base/@vl2/S5maps.vl2/interiors/anthem_pipestand2.dif new file mode 100644 index 00000000..10f2479e Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/anthem_pipestand2.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/anthem_pitbase.dif b/public/base/@vl2/S5maps.vl2/interiors/anthem_pitbase.dif new file mode 100644 index 00000000..392e642e Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/anthem_pitbase.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/anthem_pitstand.dif b/public/base/@vl2/S5maps.vl2/interiors/anthem_pitstand.dif new file mode 100644 index 00000000..9039978f Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/anthem_pitstand.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/anthemblock.dif b/public/base/@vl2/S5maps.vl2/interiors/anthemblock.dif new file mode 100644 index 00000000..3b133dd6 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/anthemblock.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/ccb_be_tower1b_x2.dif b/public/base/@vl2/S5maps.vl2/interiors/ccb_be_tower1b_x2.dif new file mode 100644 index 00000000..bf90db4d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/ccb_be_tower1b_x2.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/centaur.dif b/public/base/@vl2/S5maps.vl2/interiors/centaur.dif new file mode 100644 index 00000000..4ad9ef84 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/centaur.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/centower.dif b/public/base/@vl2/S5maps.vl2/interiors/centower.dif new file mode 100644 index 00000000..23b673af Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/centower.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/damnationstand.dif b/public/base/@vl2/S5maps.vl2/interiors/damnationstand.dif new file mode 100644 index 00000000..5eb8dcad Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/damnationstand.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingbase01.dif b/public/base/@vl2/S5maps.vl2/interiors/flingbase01.dif new file mode 100644 index 00000000..a748a095 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingbase01.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingbase02.dif b/public/base/@vl2/S5maps.vl2/interiors/flingbase02.dif new file mode 100644 index 00000000..82724b82 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingbase02.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingstand01.dif b/public/base/@vl2/S5maps.vl2/interiors/flingstand01.dif new file mode 100644 index 00000000..421ceb78 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingstand01.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingteeth.dif b/public/base/@vl2/S5maps.vl2/interiors/flingteeth.dif new file mode 100644 index 00000000..39cdc710 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingteeth.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingtower01.dif b/public/base/@vl2/S5maps.vl2/interiors/flingtower01.dif new file mode 100644 index 00000000..05504991 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingtower01.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingtower02.dif b/public/base/@vl2/S5maps.vl2/interiors/flingtower02.dif new file mode 100644 index 00000000..d0e9cf4e Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingtower02.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/flingturretstand01.dif b/public/base/@vl2/S5maps.vl2/interiors/flingturretstand01.dif new file mode 100644 index 00000000..528c2876 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/flingturretstand01.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif b/public/base/@vl2/S5maps.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif new file mode 100644 index 00000000..474c2ef8 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_bunker.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_bunker.dif new file mode 100644 index 00000000..eace5138 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_bunker.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_mainbase.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_mainbase.dif new file mode 100644 index 00000000..bdbc9ab6 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_mainbase.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_newpillarstand.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_newpillarstand.dif new file mode 100644 index 00000000..4f978e05 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_newpillarstand.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_pillar.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_pillar.dif new file mode 100644 index 00000000..913c9486 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_pillar.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_plat.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_plat.dif new file mode 100644 index 00000000..fc0478e8 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_plat.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_plat2.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_plat2.dif new file mode 100644 index 00000000..5fea4853 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_plat2.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_podium.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_podium.dif new file mode 100644 index 00000000..d4e7ae09 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_podium.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_snipenest.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_snipenest.dif new file mode 100644 index 00000000..5045dfec Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_snipenest.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_turretbase.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_turretbase.dif new file mode 100644 index 00000000..b21e3c45 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_turretbase.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_derm_vechpad.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_vechpad.dif new file mode 100644 index 00000000..3287256d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_derm_vechpad.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_swd_flagstand.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_swd_flagstand.dif new file mode 100644 index 00000000..ab04456a Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_swd_flagstand.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/rst_swd_ship2.dif b/public/base/@vl2/S5maps.vl2/interiors/rst_swd_ship2.dif new file mode 100644 index 00000000..e6f2528f Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/rst_swd_ship2.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/s5_anthem_pipebase.dif b/public/base/@vl2/S5maps.vl2/interiors/s5_anthem_pipebase.dif new file mode 100644 index 00000000..5d57b764 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/s5_anthem_pipebase.dif differ diff --git a/public/base/@vl2/S5maps.vl2/interiors/s5_anthem_pipestand.dif b/public/base/@vl2/S5maps.vl2/interiors/s5_anthem_pipestand.dif new file mode 100644 index 00000000..10f2479e Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/interiors/s5_anthem_pipestand.dif differ diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Centaur.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Centaur.mis new file mode 100644 index 00000000..dc0632f1 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Centaur.mis @@ -0,0 +1,990 @@ +// DisplayName = S5-Centaur +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Courage is resistance to fear, mastery of fear- not absence of fear. +// -- Mark Twain +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Stations are self-powered +//Map by Anthem, relit by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "4"; + + new MissionArea(MissionArea) { + area = "-504 -504 1008 1008"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "S5_Centaur.ter"; + squareSize = "8"; + emptySquares = "153732 219524 219780 91768 92024 92280 225655 225911 226167 228990 229246 229502 232325 232581 232837 104070 104326 104582 238712 238968"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + YDimOverSize = "0"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + GraphFile = "Minotaur.nav"; + rotation = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.330000 0.330000 0.450000 1.000000"; + fogDistance = "350"; + fogColor = "0.400000 0.400000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -1.95957e+13 -4.00673e+15"; + high_fogVolume2 = "-1 1.12775e-06 8.30861e+10"; + high_fogVolume3 = "-1 -9.62437e-27 1.47753e+25"; + + cloudSpeed0 = "0.002000 0.003000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-168.888 -37.299 197.823"; + rotation = "0 0 1 142.667"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "160.888 29.299 197.823"; + rotation = "0 0 -1 37.333"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-86.918 -80.8783 95.5391"; + rotation = "0 0 1 122.613"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "78.918 72.8783 95.5391"; + rotation = "0 0 -1 57.387"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-13.3463 47.3116 90.5231"; + rotation = "0 0 1 172.07"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "100.315 -240.915 157.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + + providesPower = "1"; + powerCount = "1"; + + new Item() { + position = "-60 -108 94.0155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + className = "FlagObj"; + Target = "33"; + originalPosition = "-60 -108 94.0155 1 0 0 0"; + team = "1"; + WayPoint = "4335"; + Trigger = "4336"; + }; + new Item() { + position = "-60 -156 80.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "44.7181 -304.468 177.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "centower.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new WayPoint() { + position = "44.7181 -304.468 177.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Storm Tower"; + team = "1"; + }; + new StaticShape() { + position = "48.7181 -300.468 186.541"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "914206"; + Target = "34"; + Trigger = "4245"; + team = "1"; + lastDamagedByTeam = "1"; + wasDisabled = "1"; + notReady = "1"; + lastDamagedBy = "4680"; + }; + new StaticShape() { + position = "40.7181 -308.468 186.541"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "911230"; + Target = "35"; + Trigger = "4247"; + team = "1"; + lastDamagedByTeam = "1"; + wasDisabled = "1"; + notReady = "1"; + lastDamagedBy = "4680"; + }; + new StaticShape() { + position = "48.7181 -308.468 194.408"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + damageTimeMS = "911230"; + Target = "36"; + Trigger = "4249"; + team = "1"; + lastDamagedByTeam = "1"; + wasDisabled = "1"; + notReady = "1"; + lastDamagedBy = "4680"; + }; + new StaticShape() { + position = "40.7181 -300.468 194.408"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "911230"; + Target = "37"; + Trigger = "4251"; + team = "1"; + lastDamagedByTeam = "1"; + wasDisabled = "1"; + lastDamagedBy = "4680"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-108.315 232.915 157.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base1) { + + providesPower = "1"; + powerCount = "1"; + + new Item() { + position = "52 100 94.0006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + className = "FlagObj"; + Target = "38"; + originalPosition = "52 100 94.0006 1 0 0 0"; + team = "2"; + WayPoint = "4337"; + Trigger = "4338"; + searchSchedule = "1218"; + }; + new Item() { + position = "52 148 80.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-52.7181 296.468 177.603"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "centower.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new WayPoint() { + position = "-52.7181 296.468 177.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Inferno Tower"; + team = "2"; + }; + new StaticShape() { + position = "-56.7181 292.468 186.541"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "4262"; + team = "2"; + }; + new StaticShape() { + position = "-48.7181 300.468 186.541"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "40"; + Trigger = "4264"; + team = "2"; + notReady = "1"; + }; + new StaticShape() { + position = "-48.7181 292.468 194.408"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "4266"; + team = "2"; + }; + new StaticShape() { + position = "-56.7181 300.468 194.408"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "4268"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-4 -4 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "centaur.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "-4 106 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-6 106 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-2 106 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-4 -114 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-6 -114 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-2 -114 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-3 56 75.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-5 -64 75.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-142.118 180.768 165.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "134.118 -188.768 165.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "148.982 -47.1314 122.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-156.982 39.1314 122.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-52.7181 308.468 177.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "44.7181 -316.468 177.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-160.331 -86.9782 170.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "152.331 78.9782 170.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "80.2801 387.792 148.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-88.2801 -395.792 148.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + }; + }; + new SimGroup(environment) { + + powerCount = "0"; + + new Lightning() { + position = "-4 -4 116.811"; + rotation = "1 0 0 0"; + scale = "800 800 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "1"; + strikeWidth = "2.5"; + chanceToHitTarget = "0"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + }; + new TSStatic() { + position = "-163.499 -82.9662 167.143"; + rotation = "0 0 1 20.6265"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "155.499 74.9662 167.143"; + rotation = "0 0 1 200.626"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "134.231 -186.278 162.975"; + rotation = "0 0 -1 107.143"; + scale = "1.3 1.3 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-142.231 178.278 162.975"; + rotation = "-0 -0 1 72.857"; + scale = "1.3 1.3 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "327.938 -102.628 124.725"; + rotation = "0 0 1 68.182"; + scale = "1 1 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-335.938 94.628 124.725"; + rotation = "0 0 -1 111.818"; + scale = "1 1 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-88.7633 -398.483 146.624"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "80.7633 390.483 146.624"; + rotation = "0 0 -1 90.6186"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "204.089 -596.184 160.925"; + rotation = "0 0 -1 45.8366"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-212.089 584.184 160.925"; + rotation = "0 0 1 134.163"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-503.862 -82.2206 151.98"; + rotation = "0 0 -1 67.0361"; + scale = "1.2 1.2 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "495.862 74.2206 151.98"; + rotation = "-0 -0 1 112.964"; + scale = "1.2 1.2 0.8"; + shapeName = "borg16.dts"; + }; + new InteriorInstance() { + position = "-85.6655 446.373 85.4887"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "77.6655 -454.373 85.4887"; + rotation = "0 0 1 211.513"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "185.747 -272.772 137.214"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-193.747 264.772 137.214"; + rotation = "-0 -0 1 80.8783"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "366.561 59.92 110.515"; + rotation = "0 0 -1 42.3989"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-374.561 -67.92 110.515"; + rotation = "0 0 1 137.601"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-156.982 39.1314 94.1259"; + rotation = "0 0 1 95.6839"; + scale = "1 1 1"; + interiorFile = "xrockb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "148.982 -47.1314 94.1259"; + rotation = "0 0 -1 84.3161"; + scale = "1 1 1"; + interiorFile = "xrockb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-580.328 -329.635 84.1373"; + rotation = "0 0 -1 97.0124"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "572.328 321.635 84.1373"; + rotation = "-0 -0 1 82.9876"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "726.365 -27.2091 162.522"; + rotation = "0 0 -1 79.6411"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-734.365 19.2091 162.522"; + rotation = "-0 -0 1 100.359"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-632.583 601.274 142.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "624.583 -609.274 142.456"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "439.558 499.661 163.085"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-447.558 -507.661 163.085"; + rotation = "0 0 1 214.95"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "125.514 -239.458 156.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-133.514 231.458 156.979"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "42.9069 288.046 135.812"; + rotation = "0 -1 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-50.9069 -296.046 135.812"; + rotation = "0 1 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "203.729 -393.713 94.0521"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "-211.729 385.713 94.0521"; + rotation = "0 0 1 180"; + scale = "2 2 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "-185.116 -725.339 147.347"; + rotation = "0 0 1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "173.116 717.339 147.347"; + rotation = "0 0 1 232.139"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + }; + new WaterBlock() { + position = "-16 -16 -140.224"; + rotation = "1 0 0 0"; + scale = "32 32 10"; + liquidType = "Lava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "liquidTiles/Lava"; + surfaceOpacity = "1"; + envMapIntensity = "0"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + extent = "100 100 10"; + floodFill = "0"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Damnation.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Damnation.mis new file mode 100644 index 00000000..e061ef59 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Damnation.mis @@ -0,0 +1,1413 @@ +// DisplayName = S5-Damnation +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//By the flow of the inland river, +//Whence the fleets of iron have fled, +//Where the blades of the grave-grass quiver, +//Asleep are the ranks of the dead. +// -- Francis Miles Finch +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Lip removed from platform +//(Editing: z0dd, Techlogic, =Sabre=, Anthem) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + cdTrack = "2"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-512 -384 1040 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Damnation.ter"; + squareSize = "8"; + emptySquares = "95892 161683 293011 358802 359058 359314 228499 97684 241259 175979 372842 373098 307818 242539 177260"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "Damnation.nav"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.82169e-44 7.00649e-45"; + high_fogVolume2 = "-1 7.00649e-45 2.8026e-45"; + high_fogVolume3 = "-1 2.8026e-45 1.4013e-45"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-195.416 172.745 166.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-135.821 396.688 109.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-416.969 399.982 151.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new Item() { + position = "-313.935 363.608 87.848"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "33"; + team = "1"; + WayPoint = "4777"; + Trigger = "4778"; + isHome = "1"; + originalPosition = "-313.935 363.608 87.848 0 0 1 0.000690534"; + }; + new Item() { + position = "-120.695 380.206 89.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-138.098 404.8 99.296"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "34"; + team = "1"; + }; + new StaticShape() { + position = "-138.144 385.835 99.2963"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "-148.34 424.054 109.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "36"; + Trigger = "4644"; + team = "1"; + }; + new StaticShape() { + position = "-159.496 424.101 109.25"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Target = "37"; + Trigger = "4646"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-159.522 366.285 109.25"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "38"; + Trigger = "4648"; + team = "1"; + }; + new StaticShape() { + position = "-148.314 366.254 109.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Target = "39"; + Trigger = "4650"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-143.526 371.157 121.107"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "40"; + team = "1"; + }; + new Turret() { + position = "-145.05 419.314 121.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "41"; + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "-152.431 395.348 101.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-313.981 363.606 86.274"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5686"; + interiorFile = "damnationstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-419.536 406.735 149.85"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "42"; + Trigger = "4656"; + team = "1"; + }; + new InteriorInstance() { + position = "-194.149 161.526 156.521"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-196.748 158.992 172.52"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Forward Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "43"; + Trigger = "4659"; + team = "1"; + }; + new InteriorInstance() { + position = "-423.66 393.712 156.257"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-420.82 396.034 160.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-437.029 390.012 149.85"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "44"; + Trigger = "4663"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "453.235 -46.8356 151.323"; + rotation = "0 0 1 185.248"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "136.794 -23.7782 110.969"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "195.43 166.585 160.315"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new Item() { + position = "306.95 -17.226 87.8478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "45"; + team = "2"; + WayPoint = "4779"; + Trigger = "4780"; + isHome = "1"; + originalPosition = "306.95 -17.226 87.8478 1 0 0 0"; + }; + new Item() { + position = "132.695 -32.6061 89.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "150.241 -57.5069 99.31"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "46"; + team = "2"; + }; + new StaticShape() { + position = "150.315 -38.271 99.31"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "47"; + team = "2"; + }; + new StaticShape() { + position = "161.076 -76.8596 109.25"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "48"; + Trigger = "4676"; + team = "2"; + }; + new StaticShape() { + position = "171.918 -76.8919 109.25"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "49"; + Trigger = "4678"; + team = "2"; + }; + new StaticShape() { + position = "172.025 -19.1343 109.25"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "50"; + Trigger = "4680"; + team = "2"; + }; + new StaticShape() { + position = "160.783 -19.2409 109.25"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "51"; + Trigger = "4682"; + team = "2"; + }; + new StaticShape() { + position = "156.126 -23.5571 121.107"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "52"; + team = "2"; + }; + new Turret() { + position = "157.05 -72.5141 121.699"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + lastProjectile = "27377"; + Target = "53"; + team = "2"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "164.86 -48.2173 101.258"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "306.892 -17.224 86.2738"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5686"; + interiorFile = "damnationstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "431.627 -60.2621 148.36"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "54"; + Trigger = "4688"; + team = "2"; + }; + new InteriorInstance() { + position = "205.543 184.409 155.721"; + rotation = "0 0 1 45.928"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "208.101 187.045 171.71"; + rotation = "0 0 1 45.355"; + scale = "1 1 1"; + nameTag = "Forward Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "55"; + Trigger = "4691"; + team = "2"; + }; + new InteriorInstance() { + position = "435.757 -47.2228 154.857"; + rotation = "0 0 1 135.309"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "431.93 -49.3341 159.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "449.224 -43.2509 148.36"; + rotation = "0 0 1 45.355"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "56"; + Trigger = "4695"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new WaterBlock() { + position = "128 -168 38.688"; + rotation = "1 0 0 0"; + scale = "352 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "482.764 -239.173 130.388"; + rotation = "0 0 1 213"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-166.305 -217.455 144.032"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-446.5 659.5 137.838"; + rotation = "0 0 1 83"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant23) { + + powerCount = "0"; + }; + new SimGroup(Addition1BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "90 356 107.031"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-6 252 56.9375"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "197.15 53.8397 103.981"; + rotation = "0 0 1 143"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-182 68 91.5938"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-134 -44 103"; + rotation = "0 0 1 82"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-222 44 95.4531"; + rotation = "0 0 1 214"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-302 36 52.0781"; + rotation = "0 0 1 218"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "34 -60 93.9922"; + rotation = "0 0 -1 26.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-210.532 290.244 103.399"; + rotation = "-0.101786 -0.00522579 0.994793 33.1633"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90 -68 108.359"; + rotation = "-0.0754226 0.0162109 -0.99702 98.1695"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42 324 92"; + rotation = "-0.0129373 0.0304783 -0.999452 44.0219"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BESmTree17) { + + powerCount = "0"; + + new TSStatic() { + position = "90 -100 101.961"; + rotation = "0 0 1 9.99989"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-278 -132 67.9375"; + rotation = "0 0 1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-158 300 101.898"; + rotation = "0 0 1 121"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178 316 95.2343"; + rotation = "0 0 1 90.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "226 428 60.6719"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-318 68 67.289"; + rotation = "0 0 1 195"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-70.0692 211.948 107.303"; + rotation = "-0.0922343 -0.24279 -0.965684 116.799"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "82 12 105.42"; + rotation = "0.244446 0.1545 -0.957275 117.246"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1.95262 380.003 114.008"; + rotation = "0.116129 -0.050922 0.991928 141.291"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "154.094 508.059 109.449"; + rotation = "-0.235124 -0.169519 0.957068 186.701"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-61.9587 364.041 101.159"; + rotation = "0.0151215 0.192138 -0.981251 100.069"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "202.071 276 93.6709"; + rotation = "-0.179699 -0.0905798 0.979543 232.061"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "106.015 -155.985 105.366"; + rotation = "0.2135 -0.175995 0.96096 11.4439"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "386.041 556.084 127.204"; + rotation = "-0.223333 -0.156024 0.962174 123.854"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.95 540.099 115.855"; + rotation = "-0.112605 0.370342 -0.922045 96.6356"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-46 212 97.4671"; + rotation = "0.329494 -0.101911 0.938642 128.88"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "305.973 179.995 104.05"; + rotation = "-0.0183599 -0.250603 -0.967916 31.976"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-174 11.939 99.8785"; + rotation = "0.526422 0.131252 0.840031 33.0626"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.915 572.029 128.749"; + rotation = "-0.365142 0.472928 0.801879 45.298"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "154 20 105.75"; + rotation = "0 0 1 100"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "322.032 116.069 96.3918"; + rotation = "-0.176548 0.289402 -0.940785 70.2565"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-333.969 564.075 119.589"; + rotation = "-0.782066 0.191168 0.593151 29.9008"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-294.076 -19.9813 56.9705"; + rotation = "0.183774 -0.0833939 0.979425 159.423"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.9724 444.079 77.1451"; + rotation = "0.0181824 -0.22121 0.975057 151.694"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-70.0639 -99.9534 80.5491"; + rotation = "0.0323144 -0.290007 0.956479 87.544"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-382.087 459.994 117.834"; + rotation = "0.206925 -0.66769 0.715103 37.1165"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-398.047 -91.8929 131.969"; + rotation = "-0.823392 -0.169726 -0.541497 42.8632"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.0115 388.036 105.31"; + rotation = "-0.0678493 0.120824 -0.990353 86.5551"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-133.975 12.0047 104.683"; + rotation = "-0.0619199 -0.0127325 0.998 181.996"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-225.463 143.423 202.782"; + rotation = "0 0 1 117.639"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "96.8526 -104.743 165.021"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-441.34 213.013 172.936"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-438.012 383.79 169.698"; + rotation = "0.0338656 -0.0499505 0.998177 111.824"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "468.774 -25.0539 182.879"; + rotation = "0.104974 0.109172 -0.988464 92.9103"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "-472 232 38.688"; + rotation = "1 0 0 0"; + scale = "352 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "306.526 28.56 88.9729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "279.25 -111.373 89.1046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-284.259 454.007 99.9255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-311.535 314.074 100.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "-158.989 397.344 105.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-158.999 397.363 106.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-159 397.36 107.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.13 -50.2151 105.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "170.781 -44.8251 106.772"; + rotation = "0.772155 0.085904 0.629601 190.082"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.141 -50.2315 107.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.139 -50.2344 106.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-159.368 392.293 105.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-159.393 392.208 107.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-166.32 412.837 98.9555"; + rotation = "1 0 0 0"; + scale = "1 1.93677 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-166.296 378.045 97.3739"; + rotation = "1 0 0 0"; + scale = "1 1.93677 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-225.463 143.423 202.782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Drache.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Drache.mis new file mode 100644 index 00000000..2acc4a96 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Drache.mis @@ -0,0 +1,950 @@ +// DisplayName = S5-Drache +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The man who fights too long against dragons becomes a dragon himself. +// -- Friedrich Nietzsche +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//700 points to win +//Map by Anthem +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "volcanic"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "7"; + + new MissionArea(MissionArea) { + area = "-808 -1000 1600 2000"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.350000 0.350000 0.350000 1.000000"; + ambient = "0.400000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "S5_Drache.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + GraphFile = "Training2.nav"; + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.300000 0.100000 1.000000"; + fogDistance = "300"; + fogColor = "0.200000 0.100000 0.050000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.492206 -0.870479"; + high_fogVolume2 = "-1 0.0814211 -0.927986"; + high_fogVolume3 = "-1 0.781376 0.624061"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-16.5416 -468.106 95.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "85"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-21 -447.959 -22.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "15"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new StaticShape() { + position = "-34.5 -447.959 82.5348"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "33"; + Trigger = "4634"; + team = "1"; + inUse = "Down"; + }; + new Turret() { + position = "-21 -471.423 98.5387"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "34"; + team = "1"; + originalBarrel = "ELFBarrelLarge"; + }; + new InteriorInstance(InteriorInstance) { + position = "-21 -447.959 138.553"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "anthem_pitbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-21 -494.769 91.3385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pitstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-21 -447.959 82.8298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-19 -450.959 118.549"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4614"; + damageTimeMS = "79807"; + Target = "35"; + wasDisabled = "1"; + team = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-38.3 -447.959 98.5503"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "36"; + Trigger = "4641"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-3.7 -447.959 98.5503"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "37"; + Trigger = "4643"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-7.5 -447.959 82.5348"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "38"; + Trigger = "4645"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-21 -447.959 132.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "1"; + }; + new StaticShape() { + position = "-23 -444.959 118.549"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01638"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4614"; + damageTimeMS = "79807"; + Target = "47"; + wasDisabled = "1"; + team = "1"; + lastDamagedByTeam = "1"; + }; + }; + new Item() { + position = "-21 -494.769 91.0891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "40"; + team = "1"; + WayPoint = "4735"; + Trigger = "4736"; + originalPosition = "-21 -494.769 91.0891 1 0 0 0"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-16.5416 460.106 95.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "85"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-21 439.959 -22.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "15"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-21 486.769 91.3385"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "anthem_pitstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-21 439.959 138.553"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "anthem_pitbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-21 486.769 91.0987"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + searchSchedule = "19085"; + isHome = "1"; + Target = "41"; + team = "2"; + WayPoint = "4737"; + Trigger = "4738"; + originalPosition = "-21 486.769 91.0987 0 0 1 3.14159"; + }; + new Item() { + position = "-21 439.959 82.8298"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-34.5 439.959 82.5348"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "4660"; + team = "2"; + }; + new StaticShape() { + position = "-7.5 439.959 82.5348"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "4662"; + team = "2"; + }; + new StaticShape() { + position = "-3.7 439.959 98.5503"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "4664"; + team = "2"; + }; + new StaticShape() { + position = "-38.3 439.959 98.5503"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "4666"; + team = "2"; + }; + new Turret() { + position = "-21 463.423 98.5387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + Target = "46"; + team = "2"; + zappingSound = "0"; + originalBarrel = "ELFBarrelLarge"; + }; + new StaticShape() { + position = "-21 439.959 132.917"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4615"; + damageTimeMS = "1311518"; + Target = "48"; + team = "2"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-23 442.959 118.549"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01638"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4614"; + damageTimeMS = "79807"; + Target = "51"; + wasDisabled = "1"; + team = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-19 436.959 118.549"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01776"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4614"; + damageTimeMS = "79807"; + Target = "52"; + wasDisabled = "1"; + team = "1"; + lastDamagedByTeam = "1"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new WaterBlock() { + position = "-128 320 -120.661"; + rotation = "1 0 0 0"; + scale = "224 224 200"; + liquidType = "Lava"; + density = "1"; + viscosity = "25"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0"; + submergeTexture[0] = "special/lavadeath_1"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + textureSize = "32 32"; + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-21 542.603 93.5642"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-21 -550.603 93.5642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock() { + position = "-128 -592 -120.661"; + rotation = "1 0 0 0"; + scale = "224 224 200"; + liquidType = "Lava"; + density = "1"; + viscosity = "25"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0"; + submergeTexture[0] = "special/lavadeath_1"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + textureSize = "32 32"; + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + }; + new SimGroup(stuff) { + + powerCount = "0"; + + new TSStatic() { + position = "-68.8918 -593.381 111.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-68.8918 585.381 111.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-148.025 -417.785 117.058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-148.025 409.785 117.058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "29.3706 641.465 107.245"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "29.3706 -649.465 107.245"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "27.155 -203.93 127.763"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "27.155 195.93 127.763"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-81.5412 -837.295 111.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-81.5412 829.295 111.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-34.8761 -1075.61 103.989"; + rotation = "0 0 1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-34.8761 1067.61 103.989"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "63.4824 -1261.28 134.616"; + rotation = "0 0 1 65"; + scale = "0.8 0.8 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "63.4824 1253.28 134.616"; + rotation = "0 0 1 115"; + scale = "0.8 0.8 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-66.2448 -4 103.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "136.471 -537.329 159.131"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "136.471 529.329 159.131"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "159.02 -739.487 163.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "159.02 731.487 163.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "232.424 -4 150.353"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "200.374 -320.436 155.075"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "200.374 312.436 155.075"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-322.128 362.863 138.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-322.128 -370.863 138.657"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-259.669 213.761 160.723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-259.669 -221.761 160.723 129.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-384.616 -655.401 124.539"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-384.616 647.401 124.539"; + rotation = "0 0 -1 105"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-626.706 422.229 146.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-626.706 -430.229 146.842"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-382.867 -4 108.64"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-892.742 294.876 104.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-892.742 -302.876 104.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-467.903 944.888 117.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-467.903 -952.888 117.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-236.007 1308.83 169.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-236.007 -1316.83 169.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "335.786 -748.451 108.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "335.786 740.451 108.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "497.359 -844.785 144.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "497.359 838.785 144.029"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "592.056 -683.294 172.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "592.056 671.294 172.265"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "620.924 -380.016 143.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "620.924 372.016 143.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "548.115 -217.602 157.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "548.115 209.602 157.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "942.737 -4 165.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "399.468 468.283 120.457"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "399.468 -476.283 120.457"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "808.71 -969.25 114.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "808.71 967.25 114.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-612.184 653.358 145.085"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-612.184 -661.358 145.085"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "-66 -4 120"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "600"; + dropsPerMinute = "40"; + minDropAngle = "0"; + maxDropAngle = "35"; + startVelocity = "250"; + dropHeight = "1000"; + dropDir = "0 0 1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_HawkingHeat.mis b/public/base/@vl2/S5maps.vl2/missions/S5_HawkingHeat.mis new file mode 100644 index 00000000..5931da7b --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_HawkingHeat.mis @@ -0,0 +1,1122 @@ +// DisplayName = S5-Hawking Heat +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//There are two types of sufferers in this world. +//Those that suffer from a lack of life, +//And those that suffer from an overabundance of it. +// -- Louis Mackey (Waking Life) +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]700 points to win +//Each side has 2 bunkers, each powered by its respective gen. +//Sensor is self-powered. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "7"; + + new MissionArea(MissionArea) { + area = "-784 -880 1616 1792"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.580041 -0.435031 -0.688695"; + color = "0.800000 0.700000 0.650000 1.000000"; + ambient = "0.300000 0.150000 0.150000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S5_rst_hawkingheat.ter"; + squareSize = "8"; + emptySquares = "154811 155067 155323 155579 287387 287643 287899 236385 236641 172098 172354 238145 172865"; + + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + coverage = "0"; + locked = "true"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "Equinox.nav"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.625000 0.700000 0.775000 1.000000"; + fogVolume1 = "100 25 57"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -6.14964"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new InteriorInstance() { + position = "317.766 -316.34 90.4176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_newpillarstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(base1) { + + powerCount = "1"; + + new Turret() { + position = "478.019 -273.741 117.493"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "33"; + team = "1"; + originalBarrel = "ELFBarrelLarge"; + }; + new InteriorInstance(InteriorInstance) { + position = "477.227 -267.655 107.097"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_derm_bunker.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "469.687 -282.824 100.618"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "9333"; + team = "1"; + }; + new StaticShape() { + position = "469.687 -265.624 100.618"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "9335"; + team = "1"; + }; + new StaticShape() { + position = "496.851 -261.597 68.6721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "9337"; + team = "1"; + }; + new StaticShape() { + position = "496.851 -286.797 68.6721"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "9339"; + team = "1"; + }; + new StaticShape() { + position = "529.593 -274.125 80.66"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "1"; + }; + new Item() { + position = "513.259 -274.267 78.0769"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Turret() { + position = "477.351 -273.9 112.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + team = "1"; + }; + }; + new SimGroup(Base2) { + + powerCount = "1"; + + new Turret() { + position = "228.378 -234.312 117.365"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "40"; + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape() { + position = "237.323 -242.711 100.431"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "9346"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "220.123 -242.711 100.431"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "9348"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "216.144 -215.62 68.4165"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "9350"; + team = "1"; + }; + new StaticShape() { + position = "241.253 -215.413 68.5449"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "9352"; + team = "1"; + }; + new StaticShape() { + position = "228.669 -182.782 80.467"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "1"; + }; + new Turret() { + position = "228.541 -234.057 112.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "46"; + team = "1"; + }; + new Item() { + position = "228.726 -198.999 78.0983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "222.199 -235.077 106.969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_bunker.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new InteriorInstance() { + position = "317.432 -316.66 45.4527"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "317.399 -260.16 51.3612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "317.399 -370.36 51.3612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(selfPower) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "356.615 -427.66 120.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "1"; + }; + }; + new InteriorInstance() { + position = "356.655 -427.687 113.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "317.794 -316.384 92.4279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "48"; + team = "1"; + WayPoint = "9427"; + Trigger = "9428"; + originalPosition = "317.794 -316.384 92.4279 1 0 0 0"; + isHome = "1"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "106.597 -28.7244 57.7077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-147.14 -272.251 122.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "307.531 -316.658 59.0027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new SpawnSphere() { + position = "193.566 -318.038 67.7203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "466.966 -347.038 64.7203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new WayPoint() { + position = "471.051 -273.855 117.597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Dusk Bunker"; + team = "1"; + }; + new WayPoint() { + position = "228.451 -241.855 117.597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Dawn Bunker"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(selfPower) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "-364.615 419.896 122.373"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + team = "2"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-114.597 20.7244 58.9077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "138.14 257.651 128.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(Base2) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-230.199 228.077 104.369"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_bunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-245.264 235.756 97.9547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "9380"; + team = "2"; + }; + new StaticShape() { + position = "-228.064 235.756 97.9547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "9382"; + team = "2"; + }; + new StaticShape() { + position = "-224.155 208.498 65.8576"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + Trigger = "9384"; + team = "2"; + }; + new StaticShape() { + position = "-249.355 208.498 65.8576"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + Trigger = "9386"; + team = "2"; + }; + new StaticShape() { + position = "-236.65 175.724 77.8624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + team = "2"; + }; + new Item() { + position = "-236.699 192.179 75.3833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "-236.487 228.412 109.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "55"; + team = "2"; + }; + new Turret() { + position = "-236.378 226.312 114.765"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "56"; + lastDamagedBy = "4291"; + damageTimeMS = "121373"; + team = "2"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "6493"; + lastDamagedByTeam = "2"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-324.766 308.34 90.4176"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_newpillarstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(base1) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-484.227 260.655 109.897"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "rst_derm_bunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-476.686 258.608 103.459"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + Trigger = "9395"; + team = "2"; + }; + new StaticShape() { + position = "-476.686 275.808 103.459"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + Trigger = "9397"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-503.795 279.717 71.4278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + Trigger = "9399"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-503.795 254.517 71.4278"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + Trigger = "9401"; + team = "2"; + }; + new StaticShape() { + position = "-536.552 267.228 83.4704"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + lastDamagedBy = "4218"; + damageTimeMS = "151357"; + repairedBy = "4218"; + wasDisabled = "1"; + team = "2"; + lastDamagedByTeam = "2"; + }; + new Item() { + position = "-520.24 267.054 81.0354"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "-485.984 267.132 120.493"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "62"; + team = "2"; + originalBarrel = "ELFBarrelLarge"; + zappingSound = "0"; + deleteLastProjectile = "1"; + }; + new Turret() { + position = "-484.172 267.329 115.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "63"; + team = "2"; + lastProjectile = "7424"; + }; + }; + new InteriorInstance() { + position = "-364.655 420.402 114.507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-324.757 253.681 51.4086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-324.757 364.481 51.4086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-324.518 307.958 45.8057"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-314.916 308.162 59.3557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-324.791 308.296 92.4182"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "64"; + team = "2"; + WayPoint = "9429"; + Trigger = "9430"; + originalPosition = "-324.791 308.296 92.4182 0 0 1 1.5708"; + isHome = "1"; + className = "FlagObj"; + }; + new SpawnSphere() { + position = "-185.671 309.604 72.0197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-185.671 309.604 72.0197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + new WayPoint() { + position = "-236.979 234.616 115.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Dawn Bunker"; + team = "2"; + }; + new WayPoint() { + position = "-476.979 266.616 120.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Dusk Bunker"; + team = "2"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-136.81 307.775 127.52"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "94.9767 -317.18 127.72"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-6.83231 376.87 137.247"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-23.2668 -354.889 137.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup(environ) { + + new TSStatic() { + position = "-187.754 -408.022 102.923"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-152.839 -729.143 104.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "260.168 25.9275 114.041"; + rotation = "0 0 -1 111.154"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "693.455 -17.6783 119.281"; + rotation = "0 0 -1 110.672"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "218.954 -465.989 74.3143"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "506.155 33.6788 64.1108"; + rotation = "0 0 -1 84.2248"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "300.364 295.575 59.3234"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "179.754 400.022 102.923"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-701.455 9.67832 119.281"; + rotation = "0 0 1 69.3279"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-327.557 76.8335 73.762"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + shapeName = "borg16.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "7.76646 -187.503 58.9047"; + rotation = "-0.71705 -0.484829 -0.500779 86.2209"; + scale = "4 4 4"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "322.937 374.378 65.3216"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "335.557 -84.8335 73.762"; + rotation = "0 0 1 180"; + scale = "4 4 4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-268.168 -33.9275 114.041"; + rotation = "-0 -0 1 68.846"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-514.155 -41.6788 64.1108"; + rotation = "-0 -0 1 95.7752"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-308.364 -303.575 59.3234"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-226.954 457.989 74.3143"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "144.839 721.143 104.236"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "-16.144 182.065 58.7236"; + rotation = "-0.556501 0.598354 0.576437 161.752"; + scale = "4 4 4"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-330.937 -382.378 65.3216"; + rotation = "0 0 1 180"; + scale = "4 4 4"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Icedance.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Icedance.mis new file mode 100644 index 00000000..51e05ea7 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Icedance.mis @@ -0,0 +1,623 @@ +// DisplayName = S5-Icedance +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//anthem4admin +// -- the people of Goon Haven +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//All assets are self-powered +//800 points to win +//Map by Anthem +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-704 -704 1408 1408"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun(all) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.300000 0.300000 0.300000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sun(nonterrain) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0 0 -1"; + color = "0.000000 0.000000 0.000000 1.000000"; + ambient = "0.150000 0.150000 0.150000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S5_Icedance.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "Training1.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.480000 0.550000 0.000000"; + fogDistance = "200"; + fogColor = "0.400000 0.440000 0.475000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dusk.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.16091e-07 -4.24828e+36"; + high_fogVolume2 = "-1 -4.55492e+24 -2.18444e+27"; + high_fogVolume3 = "-1 -7.15273e+21 -7.0137"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "292.386 215.923 86.1148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "425.851 228.668 81.3041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "305.721 280.336 86.2647"; + rotation = "0 0 1 21.1994"; + scale = "1 1 1"; + interiorFile = "smisc_nef1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "292.537 215.953 70.6834"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + interiorFile = "sbrdg3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "373.376 297.216 104.906"; + rotation = "0 0 1 77.3493"; + scale = "1 1.075 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "290.97 198.041 75.8034"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "373.376 297.216 112.955"; + rotation = "0 0 1 77.3493"; + scale = "0.875 0.875 0.875"; + nameTag = "Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "292.938 220.536 85.1812"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + nameTag = "Bridge"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4702"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "292.136 211.371 85.1812"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + nameTag = "Bridge"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4704"; + team = "1"; + Target = "35"; + }; + new Item() { + position = "372.084 302.973 96.966"; + rotation = "0 0 1 167.349"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "376.825 297.991 105.848"; + rotation = "0 0 1 77.3493"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4707"; + team = "1"; + Target = "36"; + }; + new InteriorInstance(InteriorInstance) { + position = "376.882 298.199 105.785"; + rotation = "0 0 1 77.3493"; + scale = "0.5 0.3 0.015"; + interiorFile = "anthemblock.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "292.537 215.953 93.4834"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + nameTag = "Bridge"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "1"; + lastDamagedBy = "7887"; + lastDamagedByTeam = "1"; + Target = "37"; + lastProjectile = "8389"; + damageTimeMS = "524445"; + }; + new InteriorInstance(InteriorInstance) { + position = "376.882 298.199 105.785"; + rotation = "-0 -0 1 77.349"; + scale = "0.5 0.3 0.015"; + interiorFile = "anthemblock.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new Item() { + position = "305.721 280.336 88.2648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + team = "1"; + WayPoint = "4750"; + Trigger = "4751"; + originalPosition = "305.721 280.336 88.2648 1 0 0 0"; + Target = "38"; + className = "FlagObj"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-300.386 -223.923 86.1148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "-413.705 -259.585 72.7038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-313.721 -288.336 86.2647"; + rotation = "0 0 1 201.199"; + scale = "1 1 1"; + interiorFile = "smisc_nef1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-300.537 -223.953 70.6834"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + interiorFile = "sbrdg3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-300.136 -219.371 85.1812"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + nameTag = "Bridge"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4721"; + team = "2"; + Target = "39"; + }; + new Item() { + position = "-298.97 -206.041 75.8034"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Turret() { + position = "-300.537 -223.953 93.4834"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + nameTag = "Bridge"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + lastDamagedBy = "7887"; + lastDamagedByTeam = "1"; + Target = "40"; + lastProjectile = "8389"; + damageTimeMS = "524445"; + }; + new StaticShape() { + position = "-300.938 -228.536 85.1812"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + nameTag = "Bridge"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4725"; + team = "2"; + Target = "41"; + }; + new InteriorInstance(InteriorInstance) { + position = "-381.376 -305.216 104.906"; + rotation = "0 0 -1 102.651"; + scale = "1 1.075 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-381.376 -305.216 112.955"; + rotation = "0 0 -1 102.651"; + scale = "0.875 0.875 0.875"; + nameTag = "Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "42"; + }; + new Item() { + position = "-380.084 -310.973 96.966"; + rotation = "0 0 -1 12.651"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-384.882 -305.199 105.785"; + rotation = "0 0 -1 102.651"; + scale = "0.5 0.3 0.015"; + interiorFile = "anthemblock.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-384.825 -305.991 105.848"; + rotation = "0 0 -1 102.651"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4731"; + team = "2"; + Target = "43"; + }; + }; + new Item() { + position = "-313.721 -288.336 88.2653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + team = "2"; + WayPoint = "4752"; + Trigger = "4753"; + originalPosition = "-313.721 -288.336 88.2653 1 0 0 0"; + Target = "44"; + className = "FlagObj"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "167.422 141.157 87.6348"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-175.422 -149.157 87.6348"; + rotation = "0 0 1 230"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(stuff) { + + powerCount = "0"; + + new TSStatic() { + position = "265.9 499.063 102.824"; + rotation = "0 0 -1 21.7724"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "670.881 564.741 112.674"; + rotation = "0 0 -1 107.143"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-270.414 502.324 101.383"; + rotation = "0 0 1 80.787"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-627.865 160.858 104.907"; + rotation = "0 0 1 154.881"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-273.9 -507.063 102.824"; + rotation = "0 0 1 158.228"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-678.881 -572.741 112.674"; + rotation = "-0 -0 1 72.857"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "262.414 -510.324 101.383"; + rotation = "0 0 -1 99.213"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "619.865 -168.858 104.907"; + rotation = "0 0 -1 25.119"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Massive.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Massive.mis new file mode 100644 index 00000000..686a3278 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Massive.mis @@ -0,0 +1,4536 @@ +// DisplayName = S5-Massive +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//May you live all the days of your life. +// +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//8 Caps to Win +//Go Offense!!! +//Map by Fling (edited by Rooster128) +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_timeLimit = "25"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-1232 -1088 1504 1952"; + flightCeiling = "500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-414.2 0 256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S5_massive.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + locked = "true"; + scale = "1 1 1"; + GraphFile = "MissionBlank.nav"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "300"; + fogColor = "0.300000 0.510000 0.600000 1.000000"; + fogVolume1 = "150 110 135"; + fogVolume2 = "175 135 150"; + fogVolume3 = "200 150 200"; + materialList = "lush_ram.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.93705e+31 2.37594e-15"; + high_fogVolume2 = "-1 -16964.7 -4.91925e-08"; + high_fogVolume3 = "-1 3.35544e+07 0.000931699"; + + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-430.465 282.087 190.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-575.013 286.714 193.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-506.979 279.139 222.5"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "flingbase01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-520 360 214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingstand01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-569.8 330.4 208"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "flingturretstand01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-491.965 296.727 204.5"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01690"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + damageTimeMS = "1062746"; + Target = "33"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4063"; + team = "1"; + }; + new StaticShape() { + position = "-487.587 269.123 204.48"; + rotation = "0 0 1 90.0457"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "34"; + Trigger = "4239"; + team = "1"; + }; + new StaticShape() { + position = "-510.565 297.142 204.48"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "35"; + Trigger = "4241"; + team = "1"; + }; + new Turret() { + position = "-564.3 325.9 199.5"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "9374"; + damageTimeMS = "2598781"; + Target = "36"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4085"; + team = "1"; + }; + new Turret() { + position = "-519.2 307 207.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + wasDisabled = "1"; + lastProjectile = "9414"; + damageTimeMS = "1054940"; + Target = "37"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4063"; + team = "1"; + }; + new StaticShape() { + position = "-501.975 284.135 212.8"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2531837"; + Target = "38"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4085"; + team = "1"; + }; + new Item() { + position = "-528.99 266.157 200.5"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-512 360 204.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + className = "FlagObj"; + Target = "39"; + originalPosition = "-512 360 204.033 1 0 0 0"; + team = "1"; + WayPoint = "4762"; + Trigger = "4763"; + }; + new InteriorInstance(InteriorInstance) { + position = "-446.977 281.591 210"; + rotation = "-0.25075 -0.25055 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-446.965 296.592 210"; + rotation = "-0.25075 -0.25055 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-446.989 266.592 210"; + rotation = "-0.25075 -0.25055 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-447.001 251.591 210"; + rotation = "-0.25075 -0.25055 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-446.953 311.591 210"; + rotation = "-0.25075 -0.25055 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-548.178 230.666 209.656"; + rotation = "-0.186085 -0.0952509 0.977906 143.74"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-516.07 223.767 210"; + rotation = "-0.250393 -0.253111 0.934472 93.2628"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-531.069 223.605 210"; + rotation = "-0.250393 -0.253111 0.934472 93.2628"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-487.026 220.124 206.75"; + rotation = "-0.250551 0.25075 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-455.418 236.205 210.006"; + rotation = "-0.339553 -0.195454 -0.920055 59.2823"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-472.026 220.111 206.75"; + rotation = "-0.250551 0.25075 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new Turret() { + position = "-502.975 284.136 211.6"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "40"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-600.493 -494.788 194.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-431.539 -491.608 190.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new Item() { + position = "-518.147 -589.719 204.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "29909"; + isHome = "1"; + className = "FlagObj"; + Target = "41"; + originalPosition = "-518.147 -589.719 204.059 1 0 0 0"; + team = "2"; + WayPoint = "4764"; + Trigger = "4765"; + }; + new InteriorInstance(InteriorInstance) { + position = "-510 -590 214"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "flingstand01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-580.8 -570.2 208"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "flingturretstand01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-497.659 -507.585 204.5"; + rotation = "0 0 -1 91.7645"; + scale = "1 1 1"; + nameTag = "\x01690"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + damageTimeMS = "977823"; + Target = "42"; + lastDamagedByTeam = "1"; + repairedBy = "4063"; + lastDamagedBy = "4063"; + team = "2"; + }; + new StaticShape() { + position = "-494.287 -479.344 204.48"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + damageTimeMS = "972891"; + Target = "43"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4063"; + Trigger = "4273"; + team = "2"; + }; + new StaticShape() { + position = "-516.67 -508.27 204.48"; + rotation = "0 0 -1 91.7645"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "44"; + Trigger = "4275"; + team = "2"; + }; + new Turret() { + position = "-575.3 -565.7 199.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "22824"; + damageTimeMS = "2183902"; + Target = "45"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4111"; + team = "2"; + }; + new Turret() { + position = "-524.68 -518.297 207.55"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "22838"; + Target = "46"; + team = "2"; + }; + new StaticShape() { + position = "-508.396 -494.785 212.8"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "2"; + }; + new Item() { + position = "-535.073 -477.015 200.7"; + rotation = "0 0 1 88.2354"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-513.301 -497.937 222.5"; + rotation = "0 0 -1 91.7645"; + scale = "1 1 1"; + interiorFile = "flingbase02.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-520.419 -428.816 206.75"; + rotation = "0.25081 0.246824 0.936041 94.6998"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-535.417 -428.575 206.75"; + rotation = "0.25081 0.246824 0.936041 94.6998"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-552.268 -444.414 210"; + rotation = "-0.106711 0.188692 0.976221 126.718"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-452.138 -525.764 210"; + rotation = "-0.243055 -0.251057 -0.93696 95.5779"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-452.624 -510.772 210"; + rotation = "-0.243055 -0.251057 -0.93696 95.5779"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-453.109 -495.781 210"; + rotation = "-0.243055 -0.251057 -0.93696 95.5779"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-453.595 -480.789 210"; + rotation = "-0.243055 -0.251057 -0.93696 95.5779"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-454.081 -465.795 210"; + rotation = "-0.243055 -0.251057 -0.93696 95.5779"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-461.885 -441.447 210"; + rotation = "0.245855 -0.501906 -0.829244 41.6433"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-478.736 -433.788 210"; + rotation = "0.250171 -0.256359 -0.933646 92.5331"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-493.731 -433.421 210"; + rotation = "0.250171 -0.256359 -0.933646 92.5331"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-509.381 -494.815 211.6"; + rotation = "0 0 -1 91.7645"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "22852"; + Target = "48"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-504.221 -429.076 206.75"; + rotation = "0.25081 0.246824 0.936041 94.6998"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-500 -129 269.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingtower01.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-512.779 279.344 205"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-512.776 282.344 205"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-512.781 276.344 205"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-518.916 -493.312 205"; + rotation = "0 0 -1 91.6735"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-519.1 -487.312 205"; + rotation = "0 0 -1 91.6735"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-519.008 -490.313 205"; + rotation = "0 0 -1 91.7645"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-621.076 203.557 203.346"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-788.347 207.989 177.45"; + rotation = "0 0 1 126.624"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1248.27 -0.675245 174.666"; + rotation = "0 0 -1 26.3561"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-664.488 297.669 187.986"; + rotation = "0 0 1 80.7871"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-672.616 298.276 184.426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-371.865 9.84001 209.287"; + rotation = "0 0 1 154.699"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-628.289 -97.6635 208.38"; + rotation = "-0.0586376 0.0498931 0.997032 80.9553"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-391.565 -280.135 208.669"; + rotation = "0 0 1 115.165"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-669.646 -454.169 209.374"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-293.274 -706.473 150.891"; + rotation = "0 0 1 119.175"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-351.266 -523.265 202.306"; + rotation = "0 0 1 16.0428"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-350.55 -529.886 196.129"; + rotation = "-0.152803 0.142578 -0.977918 95.2405"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-645.782 -102.687 186.086"; + rotation = "0 0 1 204.155"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-646.33 -113.31 183.512"; + rotation = "0 0 1 177.044"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-638.56 -131.94 185.827"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-332.246 242.46 213.614"; + rotation = "0 0 1 49.8473"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-6.94343 160.077 179.975"; + rotation = "0 0 1 219.625"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-197.234 -129.5 220.51"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "193.463 -95.9363 222.397"; + rotation = "0 0 1 38.3881"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-3.67326 -474.296 181.044"; + rotation = "0 0 -1 67.609"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "150.145 -797.395 196.552"; + rotation = "0 0 -1 105.424"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-100.081 -981.985 177.381"; + rotation = "0 0 1 80.7871"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-579.963 -792.399 141.368"; + rotation = "0 0 -1 46.4096"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-752.299 -1040.17 164.332"; + rotation = "0 0 -1 24.0643"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1071.74 -978.481 191.225"; + rotation = "0 0 1 78.4952"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-852.471 -557.346 135.215"; + rotation = "0 0 -1 20.0534"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1386.84 -440.954 210.408"; + rotation = "0 0 1 38.9611"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1025.53 -175.045 179.614"; + rotation = "0 0 -1 79.0682"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-551.654 -153.901 206.277"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-558.757 -154.176 200.773"; + rotation = "-0.452115 0.887938 -0.0846088 23.8028"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-834.443 45.527 178.916"; + rotation = "0 0 1 44.6907"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1160.91 484.092 152.014"; + rotation = "0 0 -1 90.5273"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-762.19 551.694 175.524"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-415.375 660.123 135.316"; + rotation = "0 0 1 197.853"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-154.86 1001.85 186.862"; + rotation = "0 0 -1 59.5876"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-176.756 609.768 167.193"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "21.4202 747.66 197.1"; + rotation = "0 0 1 55.0039"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "208.317 414.202 144.156"; + rotation = "0 0 1 101.986"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-213.633 390.918 145.94"; + rotation = "0 0 1 226.501"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "474.916 156.272 179.314"; + rotation = "0 0 1 163.866"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-979.333 325.967 165.945"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-981.71 328.072 159.383"; + rotation = "0.0849173 0.572123 0.81576 35.1868"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-980.638 325.934 163.417"; + rotation = "0 -1 0 36.0964"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-896.92 536.835 151.334"; + rotation = "0 0 1 52.1392"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1088.58 750.857 191.417"; + rotation = "0 0 -1 37.2423"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1296.93 558.652 175.017"; + rotation = "0 0 -1 41.253"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-667.371 1060.39 182.548"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-556.95 760.166 188.744"; + rotation = "0 0 1 41.8259"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-490.974 477.44 157.321"; + rotation = "0 0 1 134.645"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-28.5716 540.228 186.8"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-207.448 260.57 167.681"; + rotation = "0 0 1 131.207"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-32.1632 -50.1833 168.603"; + rotation = "0 0 -1 41.253"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-139.742 -300.01 150.627"; + rotation = "0 0 -1 55.004"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "235.887 -481.066 174.682"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-119.548 -624.891 154.052"; + rotation = "0 0 1 211.604"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-155.033 -809.75 190.736"; + rotation = "0 0 -1 65.3172"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-294.581 -1218.29 176.771"; + rotation = "0 0 1 92.2462"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-484.57 -1072.69 124.532"; + rotation = "0 0 1 175.325"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-346.753 -833.789 120.408"; + rotation = "0 0 1 214.469"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-752.51 -780.934 173.776"; + rotation = "0 0 1 71.6197"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-906.456 -991.699 184.828"; + rotation = "0 0 1 41.2529"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1213.58 -692.516 134.066"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1131.36 -380.047 167.029"; + rotation = "0 0 1 89.9544"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1020.64 -701.2 178.068"; + rotation = "0 0 -1 34.9504"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1003.7 -336.382 198.516"; + rotation = "0 0 1 92.2462"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-774.811 -227.352 185.425"; + rotation = "0 0 -1 112.873"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-536.226 -14.8856 219.323"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-616.037 -244.214 199.933"; + rotation = "0 0 1 79.6411"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-298.094 -226.275 206.941"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-316.966 -108.734 206.749"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-484.243 -115.769 230.825"; + rotation = "0 0 -1 86.5166"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-380.129 387.364 158.772"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-294.796 601.2 128.251"; + rotation = "0 0 1 203.01"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-152.826 835.687 158.428"; + rotation = "0 0 -1 55.5769"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-626.549 492.048 132.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-863.971 761.113 190.013"; + rotation = "0 0 -1 73.9116"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-735.999 393.407 152.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-162.433 69.3906 155.841"; + rotation = "0 0 1 229.939"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-200.794 -500.855 164.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-204.294 -501.356 162.308"; + rotation = "0 -1 0 17.7618"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "141.869 -1041.33 187.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-75.5894 -879.181 150.301"; + rotation = "0 0 1 232.803"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-314.502 -992.784 178.632"; + rotation = "0 0 -1 55.004"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-534.096 -404.379 194.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-536.067 188.1 195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-433.778 317.616 190.021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-491.894 347.492 199.189"; + rotation = "0 -1 0 6.30264"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-341.772 210.649 210.938"; + rotation = "-1 0 0 12.6051"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-434.986 173.083 186.049"; + rotation = "-1 0 0 22.3454"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-487.09 226.531 196.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-581.41 169.458 189"; + rotation = "-1 0 0 7.44851"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-580.114 321.82 194.928"; + rotation = "0 1 0 4.01071"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-668.681 226.325 209.128"; + rotation = "0 -1 0 6.30264"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-520.052 432.328 170.804"; + rotation = "1 0 0 14.897"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-283.286 345.625 171.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-379.7 293.468 196.483"; + rotation = "0.441818 0.892623 0.089561 25.5893"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-673.411 474.362 129.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-499.348 526.673 152.972"; + rotation = "1 0 0 4.58367"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-302.535 461.558 152.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-371.697 607.746 121.076"; + rotation = "-1 0 0 8.02147"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-633.393 683.078 148.49"; + rotation = "-1 0 0 20.6265"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-855.352 504.343 112.703"; + rotation = "1 0 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-770.876 298.921 143.588"; + rotation = "0 1 0 16.0429"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-921.186 329.875 140.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-804.976 701.967 151.953"; + rotation = "-1 0 0 14.8969"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-975.541 668.424 155.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1064.84 832.152 192.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-790.767 817.476 182.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-491.36 825.015 177.438"; + rotation = "1 0 0 13.7511"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-110.193 830.818 176.905"; + rotation = "0 1 0 18.3347"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-287.064 822.8 183.295"; + rotation = "-1 0 0 17.7618"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-330.036 666.362 117.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-156.46 730.925 153.834"; + rotation = "-1 0 0 30.3668"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-224.816 492.914 138.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-208.857 348.217 166.833"; + rotation = "0.730954 -0.676218 -0.0918481 21.0534"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-72.1823 429.336 142.214"; + rotation = "0 -1 0 25.2101"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "132.021 373.382 156.401"; + rotation = "-1 0 0 11.4593"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-8.55909 323.048 192.111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-136.701 302.93 114.312"; + rotation = "0 -1 0 26.3561"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-243.949 238.08 178.194"; + rotation = "1 0 0 13.751"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-142.148 199.808 153.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "32.3409 188.388 186.084"; + rotation = "0 -1 0 5.72969"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "241.142 72.6851 162.763"; + rotation = "0 1 0 15.4699"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "323.069 238.922 214.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "350.167 -15.1855 211.585"; + rotation = "0 1 0 20.0536"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "201.669 -68.6739 223.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "74.6562 -100.015 167.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-133.805 -125.148 173.366"; + rotation = "0 -1 0 10.3133"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-295.927 -17.0892 209.115"; + rotation = "-0.634637 0.769326 0.0733066 17.0778"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-377.901 -2.90581 212.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-440.041 69.3778 195.888"; + rotation = "0 1 0 17.1888"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-428.749 -51.5582 178.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-299.701 -119.822 207.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-196.186 -110.326 220.899"; + rotation = "0 -1 0 32.6586"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-127.326 -191.582 177.561"; + rotation = "0.457811 -0.886872 0.0621827 17.4147"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-7.27497 -238.031 180.359"; + rotation = "1 0 0 40.68"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "154.724 -303.4 156.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "124.108 -428.42 153.838"; + rotation = "1 0 0 12.0321"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "311.485 -471.817 212.595"; + rotation = "0 1 0 17.7617"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "124.177 -610.306 157.263"; + rotation = "0.844919 0.530027 -0.0719916 18.2652"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-5.23818 -561.102 192.099"; + rotation = "-1 0 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-74.8702 -428.422 178.81"; + rotation = "0 1 0 27.502"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-133.137 -261.657 157.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-213.904 -402.973 166.393"; + rotation = "0 -1 0 26.9291"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-79.0789 -300.692 120.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-268.442 -279.656 162.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-363.127 -225.011 212.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-214.076 -66.7821 223.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-267.435 -192.55 211.285"; + rotation = "0 1 0 4.58367"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-386.425 -127.512 183.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-466.581 -227.308 183.933"; + rotation = "-0.363418 -0.930217 0.0512136 17.229"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-502.832 -118.286 233.217"; + rotation = "0 1 0 4.58367"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-601.247 -32.1342 209.304"; + rotation = "0 -1 0 7.44862"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-624.932 -129.099 212.058"; + rotation = "-1 0 0 18.9076"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-520.06 -176.712 222.134"; + rotation = "-1 0 0 12.6052"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-605.207 -234.88 207.552"; + rotation = "-0.723387 0.686993 0.0689293 15.7933"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-688.843 -198.31 176.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-685.668 -79.6185 158.765"; + rotation = "-0.747358 0.655398 0.109133 25.1211"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-789.507 -112.643 191.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-747.132 -2.21438 191.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-654.054 84.6796 160.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-758.884 130.088 183.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-768.524 219.453 178.425"; + rotation = "1 0 0 26.3561"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-666.605 257.402 213.872"; + rotation = "0.760982 0.640486 -0.103361 23.9464"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-867.827 85.8591 159.947"; + rotation = "1 0 0 15.4699"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-776.136 70.4895 158.34"; + rotation = "0 -1 0 14.324"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-675.13 134.808 186.887"; + rotation = "-1 0 0 26.3561"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-515.806 181.189 196.377"; + rotation = "-0.799632 -0.599409 0.0360078 8.59265"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-549.158 88.0026 172.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-568.987 7.48107 212.228"; + rotation = "1 0 0 31.5127"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-487.429 -26.9782 195.037"; + rotation = "0 -1 0 49.8473"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-520.687 47.625 189.468"; + rotation = "0.913914 -0.400056 0.0686723 21.2754"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-464.62 132.271 176.519"; + rotation = "0 1 0 20.0535"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-453.08 186.094 190.841"; + rotation = "-1 0 0 29.2209"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-417.773 260.301 189.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-479.488 215.127 194.314"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-466.534 307.407 196.717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-371.802 127.085 174.098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-300.191 79.5828 165.607"; + rotation = "1 0 0 27.502"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-290.996 145.959 165.038"; + rotation = "-0.722152 -0.673519 0.1577 35.9286"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-230.818 202.446 174.463"; + rotation = "-0.916625 -0.371019 -0.148807 13.2276"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-205.268 75.8361 150.771"; + rotation = "1 0 0 18.9077"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-169.215 -27.6183 183.853"; + rotation = "0 -1 0 18.9076"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-351.624 -62.9883 206.511"; + rotation = "-1 0 0 8.59457"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-105.97 -58.9202 175.011"; + rotation = "0.82221 -0.557267 -0.115867 28.383"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-83.1425 77.5141 120.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-55.8975 192.335 183.853"; + rotation = "0 1 0 17.7618"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-9.07119 71.1994 177.841"; + rotation = "0.850496 -0.521543 0.0681852 17.4782"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "127.811 -24.1487 178.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-60.1205 -146.483 169.722"; + rotation = "0 1 0 9.74043"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-337.552 -199.652 205.951"; + rotation = "0 -1 0 18.9076"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-339.277 -283.835 202.083"; + rotation = "-1 0 0 17.7618"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-420.981 -273.923 203.897"; + rotation = "0 1 0 20.0536"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-476.522 -130.947 228.017"; + rotation = "0 -1 0 30.9397"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-416.542 -210.798 183.587"; + rotation = "0.717299 0.690425 0.0937783 21.4449"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-522.61 -278.08 190.322"; + rotation = "-0.910094 -0.402028 -0.100516 30.7229"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-471.13 -322.649 181.884"; + rotation = "-0.962752 0.268275 0.0337101 14.8721"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-527.717 -356.845 179.623"; + rotation = "0.409111 -0.911561 0.041048 12.5625"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-605.457 -371.079 190.966"; + rotation = "0.847176 -0.519641 0.110757 28.2442"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-580.475 -306.192 167.925"; + rotation = "0 1 0 10.3133"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-668.731 -339.353 168.174"; + rotation = "0.947725 -0.318665 0.0164434 36.0537"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-655.303 -263.932 178.929"; + rotation = "-1 0 0 25.7831"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-729.221 -282.769 163.014"; + rotation = "-1 0 0 17.1888"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-749.155 -213.916 191.598"; + rotation = "0.0553205 -0.998456 0.00499233 10.3293"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-751.034 -114.208 186.49"; + rotation = "0 -1 0 10.8863"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-665.557 -10.6744 181.983"; + rotation = "-0.116561 0.993134 -0.00993169 9.80745"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-791.925 -48.8242 184.797"; + rotation = "0 1 0 14.897"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-865.39 -53.7337 181.149"; + rotation = "0.986315 -0.0585806 0.154115 9.75731"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-841.439 -119.37 177.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-814.563 -213.703 175.804"; + rotation = "0 1 0 13.751"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-885.317 -171.31 181.011"; + rotation = "-0.62238 0.757793 -0.19594 15.8349"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-890.327 -281.32 160.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-828.906 -272.893 182.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-926.591 -327.205 172.037"; + rotation = "0 -1 0 30.9397"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-962.421 -243.266 167.851"; + rotation = "0.739492 -0.672148 -0.0370054 8.51582"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-934.775 -159.602 172"; + rotation = "0 1 0 19.4806"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-975.845 -109.231 164.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-939.509 -22.7249 164.204"; + rotation = "-0.538408 0.838474 0.0841281 21.1125"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-884.689 25.6798 160.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1040.47 -59.0904 177.782"; + rotation = "0 1 0 37.2423"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1027.7 -188.705 182.92"; + rotation = "-1 0 0 11.4592"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1060.53 -331.676 199.622"; + rotation = "0.722351 0.687718 -0.0724769 16.6013"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-980.229 -379.998 186.383"; + rotation = "-0.749834 -0.62264 -0.22376 51.214"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1028.42 -447.661 197.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-835.118 -342.584 146.231"; + rotation = "-0.652202 0.73448 0.187543 42.7614"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-768.003 -354.775 181.468"; + rotation = "0 1 0 13.1782"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-858.392 -436.655 126.152"; + rotation = "1 0 0 33.8045"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-915.958 -429.332 149.57"; + rotation = "-0.289813 0.956734 0.025854 33.628"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-763.188 -443.755 180.155"; + rotation = "-0.317828 -0.944217 0.086253 13.9492"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-683.807 -401.254 189.106"; + rotation = "0.224103 0.971826 0.0730239 37.0722"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-622.602 -427.102 205.298"; + rotation = "0 -1 0 24.6372"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-655.913 -449.219 209.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-616.653 -531.707 189.844"; + rotation = "0 1 0 9.16737"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-584.592 -471.687 194.867"; + rotation = "-1 0 0 4.58384"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-555.188 -410.396 191.61"; + rotation = "0.5757 0.814709 0.0694175 16.8377"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-487.857 -428.882 196.042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-445.944 -385.772 180.592"; + rotation = "1 0 0 21.1995"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-367.414 -306.985 192.804"; + rotation = "-0.810152 -0.584572 -0.0439253 47.8429"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-394.527 -364.579 175.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-307.813 -382.24 171.247"; + rotation = "0.507438 -0.816843 0.274361 34.4643"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-341.341 -432.411 207.726"; + rotation = "0.90569 0.415063 -0.0863003 25.8589"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-405.305 -420.856 185.398"; + rotation = "0.871777 -0.0911113 0.481357 9.82805"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-440.11 -470.916 193.537"; + rotation = "0 -1 0 12.6052"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-513.694 -450.162 193.11"; + rotation = "0.09934 -0.099419 -0.990074 90.5258"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-399.526 -528.675 191.92"; + rotation = "0 1 0 17.7617"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-332.802 -485.625 213.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-383.42 -462.534 192.902"; + rotation = "0.471706 0.87314 0.122962 17.6842"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-271.03 -550.782 162.691"; + rotation = "0.933333 0.342443 -0.107809 37.2796"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-326.299 -593.284 168.606"; + rotation = "-1 0 0 34.9505"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-420.583 -588.276 181.771"; + rotation = "-0.979355 -0.189891 -0.0693157 31.5598"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-517.505 -623.122 188.724"; + rotation = "-1 0 0 25.7831"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-612.436 -581.163 184.355"; + rotation = "-1 0 0 35.5234"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-565.686 -567.395 196.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-513.82 -574.005 202.774"; + rotation = "1 0 0 13.1781"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-598.08 -636.291 151.909"; + rotation = "0.413576 -0.907264 0.0763288 21.1754"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-516.002 -693.248 162.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-434.7 -662.771 144.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-333.077 -686.822 147.063"; + rotation = "0 1 0 15.4699"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-210.197 -649.724 143.424"; + rotation = "-0.420444 -0.906302 0.0429262 24.5727"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-152.175 -404.432 146.076"; + rotation = "1 0 0 25.2102"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-136.26 -482.06 147.22"; + rotation = "-1 0 0 21.7724"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-231.853 -445.486 176.453"; + rotation = "0.619528 -0.777295 -0.109538 25.6297"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-219.355 -515.434 170.455"; + rotation = "0 -1 0 18.3347"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-72.7756 -546.877 152.899"; + rotation = "-0.0696703 0.997303 -0.023088 48.2438"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "15.1141 -417.989 185.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-135.131 -609.175 157.071"; + rotation = "1 0 0 10.8863"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-50.7136 -603.907 146.774"; + rotation = "-0.901655 -0.423836 -0.0859158 25.3412"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-81.4747 -704.407 150.175"; + rotation = "0.52346 0.851368 -0.0340729 8.74422"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "26.6004 -501.155 165.32"; + rotation = "-0.864629 -0.477139 -0.157336 14.3517"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-5.87716 -364.06 182.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "63.689 -663.979 141.892"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "124.079 -773.915 180.392"; + rotation = "0.598704 0.79074 0.127609 30.1709"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-6.52585 -729.171 180.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "13.5174 -790.286 191.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-72.6352 -855.448 142.828"; + rotation = "1 0 0 25.7831"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-126.571 -757.205 175.976"; + rotation = "0.83932 -0.538318 0.0758608 35.1719"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-70.1707 -780.056 140.858"; + rotation = "-1 0 0 7.44862"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-3.62179 -649.469 144.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-242.202 -576.912 169.722"; + rotation = "-1 0 0 16.6158"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-19.5229 -6.82326 180.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "107.307 112.657 120.608"; + rotation = "-0.195475 0.980513 -0.0196129 11.6854"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "61.6238 -7.71993 144.012"; + rotation = "1 0 0 28.075"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "159.303 60.2504 156.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "169.911 219.436 158.788"; + rotation = "0 1 0 20.0536"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "64.2836 269.958 157.947"; + rotation = "0.561761 -0.826073 -0.045037 37.0447"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-32.984 263.05 167.315"; + rotation = "0.816314 0.575524 -0.0490377 11.9178"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "25.5715 417.788 128.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "133.253 458.54 122.507"; + rotation = "0.513658 -0.857126 -0.0385967 10.0203"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-140.428 388.252 157.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1.47701 499.136 180.351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-116.94 668.203 126.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-211.805 697.551 129.998"; + rotation = "-0.432932 0.897778 0.0810189 23.5492"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-154.575 562.741 196.987"; + rotation = "-1 0 0 10.3133"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-53.7416 684.172 163.467"; + rotation = "-0.614305 0.782411 -0.10229 24.0291"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-24.5861 742.877 200.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "65.9977 829.668 180.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "165.172 827.735 160.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "160.716 733.478 152.862"; + rotation = "-0.865621 0.0200226 -0.5003 27.6657"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "180.615 590.757 179.739"; + rotation = "0.5573 -0.819034 0.136381 33.2709"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "69.0455 597.359 128.091"; + rotation = "-0.368791 -0.92784 -0.0557372 18.5033"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "15.9737 553.969 192.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-596.64 569.685 137.473"; + rotation = "0.399536 0.698488 0.593705 23.3149"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-663.151 569.553 100.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-756.229 581.896 164.538"; + rotation = "1 0 0 24.6372"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-754.145 459.16 124.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-888.897 471.985 154.529"; + rotation = "-0.794268 -0.604221 0.0636773 15.1164"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1020.84 545.597 196.571"; + rotation = "0.233688 -0.812305 0.53437 46.2217"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-906.078 612.457 105.23"; + rotation = "0 1 0 11.4592"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1029.93 320.669 201.233"; + rotation = "0 -1 0 29.7938"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-943.903 400.489 121.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-829.204 374.988 122.205"; + rotation = "1 0 0 18.3347"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-669.043 361.805 167.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-878.009 240.111 149.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-953.964 251.1 119.516"; + rotation = "0 -1 0 6.8755"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-943.282 129.231 181.613"; + rotation = "0.295185 -0.95472 -0.0370914 41.2543"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1051.99 108.579 201.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1160.23 38.9369 161.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1149.63 -80.2467 178.314"; + rotation = "0 -1 0 13.1781"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1091.37 -14.6874 159.119"; + rotation = "-0.963782 -0.256671 -0.0724194 32.6349"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1176.78 275.805 137.614"; + rotation = "0.649953 0.758607 -0.0455712 10.5614"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1119.49 407.245 121.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1024.72 474.31 188.505"; + rotation = "0 1 0 19.4806"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1008.91 697.38 187.523"; + rotation = "-1 0 0 5.15691"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-965.812 827.011 191.979"; + rotation = "-1 0 0 12.0322"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-806.867 605.045 119.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-581.32 658.779 141.375"; + rotation = "0 1 0 25.2102"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-503.778 756.225 177.808"; + rotation = "-0.810059 -0.581773 -0.0731028 17.6348"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-305.418 754.616 181.477"; + rotation = "-1 0 0 25.7832"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-281.113 634.375 128.368"; + rotation = "0.943588 0.203578 0.261146 22.244"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-335.715 566.347 132.609"; + rotation = "1 0 0 10.8863"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-391.877 395.737 160.187"; + rotation = "1 0 0 25.2102"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-436.057 462.093 147.809"; + rotation = "-1 0 0 5.72969"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-205.391 430.808 141.168"; + rotation = "0.454223 -0.887672 0.0756344 21.2488"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-234.724 280.047 171.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "159.156 -200.454 183.21"; + rotation = "0 1 0 14.897"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new Item() { + position = "-510.102 -134.916 263.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-501.984 -99.4832 263.4"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-497.904 -99.4734 263.4"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-499.968 -99.6876 263.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-278.692 -389.927 162.498"; + rotation = "0 0 -1 45.8366"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-630.026 -405.639 202.356"; + rotation = "0 0 -1 112.873"; + scale = "1.25 1.25 1.25"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-445.562 286.089 192.59"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-443.049 282.046 192.715"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-445.023 282.19 193.183"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "0"; + }; + new Item() { + position = "-445.093 282.268 195.233"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-443.01 285.219 193.251"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-449.361 -493.741 195.604"; + rotation = "0 0 1 87.6622"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-451.543 -490.999 196.986"; + rotation = "0 0 1 87.6622"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-451.469 -491.072 194.936"; + rotation = "0 0 1 87.6623"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-449.495 -490.718 194.468"; + rotation = "0 0 1 87.6623"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-451.863 -495.198 195.143"; + rotation = "0 0 1 87.6623"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-987.839 38.5749 179.641"; + rotation = "-0.676218 -0.730954 -0.0918481 21.0533"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-988.52 117.381 199.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-942.751 64.306 174.82"; + rotation = "-0.471079 -0.869281 -0.149784 22.015"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-930.789 -70.616 173.606"; + rotation = "0 1 0 15.4699"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-447.63 -713.597 149.933"; + rotation = "0 -1 0 9.16746"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-367.307 -743.996 117.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-334.904 -803.917 131.531"; + rotation = "-1 0 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-387.195 -823.362 118.866"; + rotation = "1 0 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-303.026 -645.237 131.984"; + rotation = "1 0 0 13.1782"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-304.966 -697.164 152.526"; + rotation = "0 1 0 10.3133"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-222.529 -725.674 139.089"; + rotation = "0 1 0 9.74035"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-152.535 -699.096 119.668"; + rotation = "0 1 0 10.3133"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-93.8869 -655.426 144.413"; + rotation = "0 -1 0 10.3133"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-173.113 -797.602 192.388"; + rotation = "0 1 0 37.2423"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-173.554 -858.398 163.293"; + rotation = "-0.722152 -0.673519 -0.1577 35.9286"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-219.636 -831.593 159.583"; + rotation = "0 1 0 34.9504"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-181.431 -924.612 137.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-158.076 -984.557 158.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-4.17991 -1104.3 184.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-79.7469 -1056.14 127.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-276.006 -992.203 186.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-419.99 -991.962 186.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-625.471 -984.469 183.241"; + rotation = "0 -1 0 12.0321"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-775.653 -1148.65 150.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-871.223 -991.697 197.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-985.033 -983.525 192.518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1035.27 -1078.46 182.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-903.024 -1166.44 155.585"; + rotation = "0 1 0 8.02147"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-815.352 -1228.24 179.345"; + rotation = "1 0 0 13.1781"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-845.376 -1084.98 132.362"; + rotation = "0.929158 -0.36303 0.0698178 23.3883"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1023.51 -879.396 181.622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-922.341 -821.236 115.112"; + rotation = "-1 0 0 24.0643"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-883.214 -780.63 149.005"; + rotation = "0 -1 0 28.648"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-819.07 -785.09 129.058"; + rotation = "0 1 0 40.107"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-831.447 -883.009 137.823"; + rotation = "1 0 0 14.897"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-918.554 -914.645 153.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-761.927 -921.102 149.395"; + rotation = "-1 0 0 14.324"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-737.102 -815.216 157.945"; + rotation = "0 -1 0 25.7832"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-708.602 -874.166 133.439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-777.789 -735.628 148.861"; + rotation = "1 0 0 26.3561"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-848.685 -631.599 117.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-943.242 -630.783 121.693"; + rotation = "0 -1 0 13.7511"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-873.308 -576.459 144.517"; + rotation = "0 -1 0 25.7831"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1025.81 -534.404 200.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-941.003 -536.952 137.29"; + rotation = "1 0 0 24.0643"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1171.88 -566.712 147.362"; + rotation = "0 1 0 12.6051"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-811.647 -546.086 119.439"; + rotation = "0 1 0 13.751"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-789.339 -472.896 160.017"; + rotation = "-1 0 0 36.0963"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-765.407 -537.798 144.018"; + rotation = "1 0 0 5.72983"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-703.478 -490.001 195.536"; + rotation = "-0.44131 0.887278 -0.134099 37.8096"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-697.359 -609.143 162.434"; + rotation = "-0.817221 0.569853 0.0861249 20.9557"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-668.84 -564.892 173.598"; + rotation = "-1 0 0 12.0321"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-721.801 -547.476 137.383"; + rotation = "0 1 0 13.1781"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-587.343 -697.259 152.186"; + rotation = "-0.264128 0.963716 -0.0385692 17.2323"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-635.633 -684.208 117.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-801.845 -651.031 134.439"; + rotation = "0 1 0 26.3561"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-738.861 -653.816 143.439"; + rotation = "-1 0 0 28.0749"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-799.05 -708.813 133.09"; + rotation = "0.0685251 0.916942 -0.393093 24.6962"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-880.173 -689.54 150.587"; + rotation = "0.843871 -0.521168 -0.127539 32.3436"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-858.285 -737.542 112.821"; + rotation = "-0.494537 -0.867592 0.0521181 13.8518"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-919.692 -735.012 150.073"; + rotation = "-0.627677 0.771982 -0.100328 31.8445"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-899.173 -622.626 133.651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-975.508 -703.721 142.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1028.99 -775.304 191.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1160.21 -772.653 151.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1121.38 -905.438 153.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1183.35 -990.497 197.2"; + rotation = "1 0 0 16.0429"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1319.93 -870.614 134.965"; + rotation = "1 0 0 17.7617"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1243.85 -959.138 162.207"; + rotation = "0.953165 0.090824 0.288492 36.556"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1199.96 -869.526 138.611"; + rotation = "1 0 0 20.0536"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1101.44 -488.586 119.548"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1119.85 -638.668 121.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1260.52 -622.03 136.67"; + rotation = "0 -1 0 36.6693"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1141.31 -840.449 104.112"; + rotation = "-0.390456 0.901593 -0.18621 14.6017"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-976.289 -847.756 141.72"; + rotation = "0 -1 0 37.8152"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-844.147 -479.798 148.277"; + rotation = "-1 0 0 22.9184"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-914.186 -498.498 130.246"; + rotation = "0 1 0 24.0643"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-877.332 -523.514 136.46"; + rotation = "0.418598 -0.906254 -0.0589896 17.6774"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-735.422 -397.49 175.866"; + rotation = "-1 0 0 20.0536"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-680.22 -756.143 117.432"; + rotation = "-1 0 0 11.4593"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-612.827 -801.502 129.271"; + rotation = "0 1 0 28.075"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-536.29 -742.135 145.768"; + rotation = "-0.623694 0.77557 0.0974543 22.7817"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-739.32 -699.335 124.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-652.524 221.15 209.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-655.333 224.015 208.509"; + rotation = "0.089538 -0.0869606 -0.99218 92.1228"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-654.381 222.128 210.092"; + rotation = "0.388821 -0.72027 -0.574482 86.4375"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-653.572 -442.575 211.149"; + rotation = "-0.377407 -0.874965 0.303314 78.9538"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-651.667 -441.376 209.768"; + rotation = "-0.72234 -0.683737 -0.103578 14.9585"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-654.586 -444.183 209.782"; + rotation = "-0.0926526 -0.0944491 0.991209 91.6061"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-526.483 266.487 200.18"; + rotation = "0 0 1 90.7096"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-533.076 -477.039 200.321"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-533.014 -481.868 199.599"; + rotation = "0 0 -1 91.6735"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-525.785 271.205 199.781"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-493.941 291.041 203.997"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-500.208 -501.533 204.423"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-500.025 -99.4967 260.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-510.012 -134.932 260.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new Item() { + position = "-511.811 -134.833 264.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-508.331 -134.817 264.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(obs1) { + position = "-360.222 -489.447 232.281"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(obs2) { + position = "-346.446 -113.983 293.3"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(obs3) { + position = "-347.126 284.207 243.108"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-503.026 220.137 206.75"; + rotation = "-0.250551 0.25075 -0.935066 93.7983"; + scale = "1 1 1"; + interiorFile = "flingteeth.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Mimicry.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Mimicry.mis new file mode 100644 index 00000000..9e566d17 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Mimicry.mis @@ -0,0 +1,1074 @@ +// DisplayName = S5-Mimicry +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The natives are superficially agreeable, +// but they go in for cannibalism, headhunting, +// infanticide, incest, avoidance and joking +// relationships, and biting lice in half with +// their teeth +// -- Margaret Mead +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//8 Caps to Win! +//Go Offense!! +//Map by Fling +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-768 -1408 1536 1104"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "375"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "200"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_night1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.94105e-41 6.95941e-41"; + high_fogVolume2 = "-1 2.01181 6.95955e-41"; + high_fogVolume3 = "-1 6.94147e-41 6.95941e-41"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Damnation.ter"; + squareSize = "8"; + emptySquares = "143168 143293 143424 143549 143680 143805"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "MissionBlank.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "570.815 -674.766 29.026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "139.677 -918.823 73.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + providesPower = "1"; + + new WayPoint() { + position = "496.764 -639.058 135.298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Alpha Bunker"; + team = "1"; + }; + new StaticShape() { + position = "470 -636 152.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + team = "1"; + }; + new Turret() { + position = "170 -851.5 106.696"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "5928"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "35"; + team = "1"; + }; + new Turret() { + position = "140.783 -914.734 99.0353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "36"; + team = "1"; + }; + new StaticShape() { + position = "145.383 -914.728 99.6344"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bravo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "4635"; + team = "1"; + }; + new StaticShape() { + position = "136.252 -914.728 99.634"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Bravo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "4637"; + team = "1"; + }; + new StaticShape() { + position = "489.303 -645.721 127.85"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Alpha"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "39"; + Trigger = "4639"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "489.303 -632.049 127.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Alpha"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "4641"; + team = "1"; + }; + new Item() { + position = "495.587 -670.652 130.494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "140.783 -924.838 98.2282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "389.918 -831.897 67.0006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "41"; + team = "1"; + WayPoint = "4760"; + Trigger = "4761"; + originalPosition = "389.918 -831.897 67.0006 1 0 0 0"; + }; + new WayPoint() { + position = "140.77 -913.959 99.1517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bravo Bunker"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-147.677 -918.823 73.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-578.815 -674.766 29.026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + providesPower = "1"; + + new Item() { + position = "-148.416 -924.73 97.8499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-501.486 -668.647 131.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "-148.416 -914.716 99.0896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "42"; + team = "2"; + }; + new Turret() { + position = "-178.578 -851.5 106.696"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "5966"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "43"; + team = "2"; + }; + new StaticShape() { + position = "-143.86 -914.7 99.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Charlie"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "4658"; + team = "2"; + }; + new StaticShape() { + position = "-153.053 -914.7 99.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Charlie"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "4660"; + team = "2"; + }; + new StaticShape() { + position = "-495.635 -631.992 127.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Delta"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "4662"; + team = "2"; + }; + new StaticShape() { + position = "-495.635 -645.629 127.85"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Delta"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "4664"; + team = "2"; + }; + new StaticShape() { + position = "-478 -636 152.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + team = "2"; + }; + new Item() { + position = "-398.03 -814.856 67.0046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "49"; + team = "2"; + WayPoint = "4762"; + Trigger = "4763"; + originalPosition = "-398.03 -814.856 67.0046 1 0 0 0"; + }; + new WayPoint() { + position = "-501.668 -638.188 135.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Delta Bunker"; + team = "2"; + }; + new WayPoint() { + position = "-148.465 -914.601 99.2268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Charlie Bunker"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new TSStatic() { + position = "-6.51677 -1165.42 141.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "338.461 -887.453 94.021"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-479.053 -924.27 108.222"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "159.59 -815.425 121.233"; + rotation = "-0.00411895 -0.0898778 0.995944 185.227"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-217.361 -851.136 118.457"; + rotation = "0.0321006 -0.0649208 0.997374 127.499"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new InteriorInstance() { + position = "499.707 -638.835 125.85"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "487.707 -638.835 135.707"; + rotation = "1 0 0 0"; + scale = "3 2.375 3"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "491.091 -616.445 112.549"; + rotation = "-0.637498 0.650103 -0.413476 122.896"; + scale = "2 2 2"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "384.237 -820.578 79"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "140.783 -907.24 96.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "170 -851.5 86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "470 -636 132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.87768 -543.497 131.003"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-494.107 -638.835 135.707"; + rotation = "0 0 1 180"; + scale = "3 2.375 3"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-506.107 -638.835 125.85"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-482.876 -616.038 123.177"; + rotation = "-0.274678 0.729806 -0.626047 170.621"; + scale = "2 2 2"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-506.867 -624.166 124.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-478 -636 132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-409.237 -820.578 79"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.416 -907.24 96.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-178.578 -851.5 86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-499.166 -674.229 129.662"; + rotation = "-0.0779974 0.394904 -0.915406 24.3512"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-500.526 -671.687 129.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "-501.608 -672.446 129.386"; + rotation = "0.0873358 0.321625 -0.942831 28.8597"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new TSStatic() { + position = "-157.001 -922.977 91.5918"; + rotation = "0 1 0 60.1606"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-156.589 -925.398 89.2609"; + rotation = "0.0689879 0.0995956 -0.992634 110.977"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-159.944 -922.894 89.1485"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "150.068 -922.785 89.6406"; + rotation = "0 -1 0 12.6051"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "149.822 -924.194 92.2489"; + rotation = "-3.15327e-08 1 -2.4513e-08 104.278"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "150.67 -923.84 89.3288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "490.01 -671.524 130.177"; + rotation = "0 -1 0 18.3346"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "491.555 -668.388 131.493"; + rotation = "0.178596 -0.505904 -0.843899 91.3529"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "493.289 -669.212 130.624"; + rotation = "0 1 0 93.3921"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "509.682 -673.358 126.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "497.973 -591.603 116.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "435.266 -664.425 123.663"; + rotation = "0 1 0 38.9611"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "496.152 -764.379 71.4466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "495.905 -866.796 76.1426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "385.103 -944.359 58.9713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "341.111 -852.396 67.9524"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "371.287 -753.882 56.2978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "635.07 -855.421 145.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "653.73 -632.747 95.0045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "592.539 -430.905 49.5865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "415.097 -435.474 63.6889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "161.235 -859.551 104.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "41.4654 -983.258 92.6549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108.895 -898.396 78.5091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-183.267 -952.544 77.5011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-195.533 -850.869 104.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-137.194 -633.96 124.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "5.21421 -528.308 142.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-374.434 -784.622 57.6352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-429.984 -890.034 72.7081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-475.938 -825.289 79.8134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-349.654 -560.482 69.0523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-475.159 -534.532 111.292"; + rotation = "1 0 0 20.0536"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-504.629 -600.621 117.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-526.146 -661.663 123.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-450.121 -634.826 139.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-306.106 -400.95 110.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-255.079 -632.123 65.5457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-292.954 -1001.82 58.5052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-495.54 -669.156 130.791"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-475.322 -571.915 124.327"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-461.283 -845.01 79.5294"; + rotation = "0 0 1 116.31"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-150.221 -785.196 88.8583"; + rotation = "0 0 -1 45.2636"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-159.653 -356.769 124.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-95.5827 -1064.24 120.544"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-444.951 -1091.85 127.984"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-682.329 -923.02 160.601"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-28.5356 -583.852 125.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "255.564 -978.33 60.0687"; + rotation = "0 0 -1 104.851"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "141.653 -633.988 115.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "521.042 -1047.2 119.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "670.363 -794.119 155.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "488.236 -667.056 129.308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "473.107 -539.826 113.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-4.79191 -885.552 135.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "399.426 -884.254 63.2981"; + rotation = "0 0 -1 48.1285"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "264.021 -441.626 105.482"; + rotation = "0 0 1 122.04"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "406.723 -69.1826 143.191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-5.18052 -36.5092 112.64"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-396.611 -147.14 118.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "108.316 -252.011 180.367"; + rotation = "0 0 -1 67.036"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "213.955 -715.296 67.662"; + rotation = "0 0 -1 69.3279"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Misadventure.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Misadventure.mis new file mode 100644 index 00000000..b2ddf110 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Misadventure.mis @@ -0,0 +1,2004 @@ +// DisplayName = S5-Misadventure +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The trick is to combine your waking rational abilities with the infinite possibilities of your dreams. +//Because, if you can do that, you can do anything. +// -- Guy Forsyth (Waking Life) +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Vehicle Map +//Generators and repair pack on bottom floor of underground base +//Tower Inventory Station is self-powered +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "badlands"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-672 -832 1440 1616"; + flightCeiling = "512"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "512 512 512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.852761 0 -0.522302"; + color = "1.000000 0.800000 0.750000 1.000000"; + ambient = "0.500000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "S5_rst_misadventure.ter"; + squareSize = "8"; + emptySquares = "82790 213870 83046 214126 83302 214382 217454 240782 241038 244110 113048 244366 113304 244622 113560"; + + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + locked = "true"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Misadventure.nav"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.550000 0.550000 0.750000 1.000000"; + fogDistance = "300"; + fogColor = "0.550000 0.500000 0.750000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "50 50 100"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "1.000000 0.000000 0.500000 1.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.23435e+21 -2.91408e-24"; + high_fogVolume2 = "-1 4.59694e-13 -2.90017e-31"; + high_fogVolume3 = "-1 2.08455e-11 2.87767e-21"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new Item() { + position = "-117.519 -291.765 84.528"; + rotation = "0 0 1 90.2637"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "18096"; + Trigger = "18097"; + originalPosition = "-117.519 -291.765 84.528 0 0 1 0.785398"; + Target = "33"; + isHome = "1"; + searchSchedule = "22270"; + className = "FlagObj"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new SimGroup(structure) { + + powerCount = "1"; + + new InteriorInstance() { + position = "105.963 -203 116.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-132.628 -367.62 81.6078"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-132.426 -363.374 98.0018"; + rotation = "-0.000216293 0.271547 0.962425 179.912"; + scale = "1 1 1"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-39.7679 -309.55 77.1536"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-113.089 -371.162 122.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-120.289 -371.162 122.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-144.689 -371.162 122.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-152.089 -371.162 122.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-113.636 -360.093 95.0578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-152.236 -360.093 95.0578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-120.5 -488.197 151.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-143.7 -488.197 151.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-143.9 -464.797 151.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-120.5 -464.797 151.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-117.573 -291.808 79.612"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-132.599 -476.362 78.8"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_mainbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new StaticShape() { + position = "-132.321 -520.957 87.0746"; + rotation = "0 0 -1 1.00014"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "1926975"; + repairedBy = "10638"; + wasDisabled = "1"; + team = "1"; + Target = "34"; + lastDamagedByTeam = "1"; + lastDamagedBy = "10638"; + }; + new Item() { + position = "-155.625 -372.956 96.6866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-142.19 -497.891 86.9951"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-141.299 -499.11 86.9951"; + rotation = "0 0 1 231.084"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new StaticShape() { + position = "-152.715 -456.095 99.5018"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17898"; + team = "1"; + Target = "35"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "-145.453 -496.499 88.6522"; + rotation = "0 0 1 221.735"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-145.277 -496.983 86.7374"; + rotation = "0 0 1 40.1071"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new Item() { + position = "-132.522 -445.17 86.9733"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "-132.575 -393.427 114.804"; + rotation = "1 0 0 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "36"; + }; + new InteriorInstance() { + position = "-137.2 -419.699 160.755"; + rotation = "0 0 1 157.563"; + scale = "1 1 1"; + interiorFile = "rst_derm_snipenest.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-291.538 -641.505 116.992"; + rotation = "0 0 1 203.801"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "Removed"; + stationRot = "0 0 1 203.801"; + team = "1"; + Target = "37"; + Ready = "1"; + station = "18110"; + stationPos = "-297.712 -655.095 121.992"; + BomberFlyer = "Removed"; + inUse = "Down"; + }; + new StaticShape() { + position = "-152.878 -496.463 99.4793"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17906"; + team = "1"; + Target = "38"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-112.382 -456.309 99.4698"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17908"; + team = "1"; + Target = "39"; + notReady = "1"; + inUse = "Down"; + }; + new TSStatic() { + position = "-99.5509 -476.358 97.8877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "1"; + }; + new Item() { + position = "-143.547 -403.004 222.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-173.223 -261.513 106.98"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "rst_derm_turretbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-172.848 -261.924 101.362"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "22511"; + damageTimeMS = "1582247"; + team = "1"; + Target = "40"; + lastDamagedByTeam = "1"; + lastDamagedBy = "14178"; + }; + new InteriorInstance() { + position = "-313.552 -567.107 144.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_turretbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-313.528 -567.495 139.015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "1"; + Target = "41"; + }; + new StaticShape() { + position = "-215.658 -476.164 119.589"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "686587"; + team = "1"; + Target = "42"; + lastDamagedByTeam = "1"; + lastDamagedBy = "9423"; + }; + new Item() { + position = "-115.747 -395.313 105.552"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-153.22 -463.012 86.9704"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-140.372 -447.186 97.9704"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-152.86 -463.896 88.7954"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-152.078 -465.27 86.9704"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new StaticShape() { + position = "-132.566 -395.943 105.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17922"; + team = "1"; + Target = "43"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "-153.13 -464.009 90.8588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new StaticShape() { + position = "-112.373 -496.75 99.3852"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17926"; + team = "1"; + Target = "44"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "-137.589 -501.532 98.0408"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-140.652 -444.097 97.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-139.652 -500.973 97.694"; + rotation = "0 0 -1 20.0535"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-139.652 -500.973 99.694"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-99.4959 -476.406 101.252"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-225.429 -466.432 105.804"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "-301.101 -662.071 119.998"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + interiorFile = "rst_derm_vechpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-208.718 -470.41 104.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-205.318 -470.41 106.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-204.318 -470.41 104.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-200.193 -481.631 104.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-200.205 -482.977 106.906"; + rotation = "0 0 1 73.9115"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-204.993 -482.231 104.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-200.193 -483.831 104.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-126.111 -502.245 97.7752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-126.111 -502.245 98.7752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-126.111 -502.245 99.7752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + }; + new SpawnSphere() { + position = "-247.057 -494.563 102.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-179.657 -331.963 94.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-115.777 -447.884 145.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "75"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SimGroup(selfPower) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "-136.73 -420.622 172.789"; + rotation = "0 0 1 158.709"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17952"; + team = "1"; + Target = "46"; + notReady = "1"; + inUse = "Down"; + }; + new Trigger() { + position = "-136.73 -420.622 172.789"; + rotation = "0 0 1 158.709"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + team = "1"; + station = "4280"; + disableObj = "4280"; + mainObj = "4280"; + }; + }; + new Item() { + position = "-226.089 -486.245 105.929"; + rotation = "0 0 1 90.5272"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new TSStatic() { + position = "89.551 467.358 96.2877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "-115.563 193 116.594"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "31.7679 301.55 77.1536"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "122.824 355.368 96.4927"; + rotation = "-0.999999 0.00117952 -0.000786731 35.5235"; + scale = "1 1 1"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "294.896 664.013 119.398"; + rotation = "0 0 1 204"; + scale = "1 1 1"; + interiorFile = "rst_derm_vechpad.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "122.428 358.62 81.0078"; + rotation = "0 0 -1 89.4727"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "162.799 252.698 106.58"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "rst_derm_turretbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "304.952 557.907 141.075"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_turretbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "133.2 406.099 158.355"; + rotation = "0 0 -1 23.563"; + scale = "1 1 1"; + interiorFile = "rst_derm_snipenest.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "122.399 467.362 77.3549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_mainbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "304.993 558.539 135.371"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + lastProjectile = "18753"; + team = "2"; + Target = "47"; + }; + new Turret() { + position = "162.303 253.051 100.876"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "27092"; + damageTimeMS = "156761"; + team = "2"; + Target = "48"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4346"; + }; + new StaticShape() { + position = "207.705 467.693 118.138"; + rotation = "0 0 -1 89.9547"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + }; + new InteriorInstance() { + position = "102.889 362.162 121.044"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "141.889 362.162 121.044"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "110.089 362.162 121.044"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "134.889 362.162 121.044"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "103.144 351.817 94.4578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "141.744 351.817 94.4578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "140.465 388.802 220.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "190.193 459.621 103.306"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "215.199 458.035 104.157"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "2"; + }; + new Item() { + position = "134.022 456.815 98.3866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "134.171 458.226 150.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "189.437 474.09 105.306"; + rotation = "0 0 1 209.794"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "110.458 479.115 150.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "187.002 460.408 103.306"; + rotation = "0 0 1 90.6186"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "134.058 479.115 150.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "192.793 473.021 103.306"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "134.058 455.515 150.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "110.458 455.515 150.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "188.593 475.021 103.306"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new Item() { + position = "105.402 386.172 104.005"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "188.793 459.621 105.306"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new Item() { + position = "216.116 477.569 104.505"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "285.391 642.521 116.382"; + rotation = "0 0 1 24"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "Removed"; + stationRot = "0 0 1 24.0643"; + team = "2"; + Target = "50"; + Ready = "1"; + station = "18113"; + stationPos = "292.032 657.076 121.392"; + BomberFlyer = "Removed"; + }; + new Item() { + position = "110.373 475.776 150.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "142.834 487.575 97.8096"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17995"; + team = "2"; + Target = "51"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "102.06 447.174 97.8096"; + rotation = "0 0 1 225.172"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17997"; + team = "2"; + Target = "52"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "142.669 447.253 97.9461"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17999"; + team = "2"; + Target = "53"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "101.871 487.95 97.9691"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "18001"; + team = "2"; + Target = "54"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "122.337 386.83 103.812"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "18003"; + team = "2"; + Target = "55"; + notReady = "1"; + inUse = "Down"; + }; + new TSStatic() { + position = "89.763 467.294 99.4524"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "2"; + }; + new Turret() { + position = "122.282 384.295 113.144"; + rotation = "-1 0 0 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "27072"; + team = "2"; + Target = "56"; + }; + new Item() { + position = "122.054 436.572 85.6733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "122.537 511.902 85.3371"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "813851"; + repairedBy = "8536"; + wasDisabled = "0"; + team = "2"; + Target = "57"; + lastDamagedByTeam = "2"; + lastDamagedBy = "8536"; + }; + new TSStatic() { + position = "130.346 431.077 96.3704"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new Item() { + position = "129.624 429.437 98.4182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "115.621 493.085 96.2941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + new TSStatic() { + position = "129.463 492.937 96.4132"; + rotation = "1 0 0 20.6265"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "130.463 492.937 96.4132"; + rotation = "1 0 0 20.6265"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "128.194 492.903 96.3226"; + rotation = "0.521427 -0.83951 0.152765 38.4763"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new Item() { + position = "128.911 491.849 96.3967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "134.734 488.219 85.365"; + rotation = "0 0 1 52.1391"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new Item() { + position = "134.088 489.282 87.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "136.784 485.043 85.4485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "134.17 446.358 85.247"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "134.17 446.358 87.247"; + rotation = "0 0 1 159.855"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "132.652 447.95 85.247"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new Item() { + position = "134.164 446.548 89.3065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + }; + new SpawnSphere() { + position = "97.508 426.986 136.155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "75"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "167.504 321.329 86.3538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "232.23 482.473 109.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new InteriorInstance(InteriorInstance) { + position = "98.773 285.408 78.012"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "rst_derm_plat.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "98.719 285.365 82.728"; + rotation = "0 0 1 179.736"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "18098"; + Trigger = "18099"; + originalPosition = "98.719 285.365 82.728 0 0 1 3.92699"; + Target = "59"; + isHome = "1"; + searchSchedule = "41516"; + className = "FlagObj"; + }; + new SimGroup(selfPower) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "132.762 407.054 170.389"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "18032"; + team = "2"; + Target = "60"; + notReady = "1"; + inUse = "Down"; + }; + new Trigger() { + position = "132.762 407.054 170.389"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + team = "2"; + station = "4322"; + disableObj = "4322"; + mainObj = "4322"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup() { + + powerCount = "0"; + }; + }; + }; + new SimGroup(Herbs) { + + powerCount = "0"; + + new TSStatic() { + position = "399.429 127.564 85.1569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "219.654 251.457 86.6016"; + rotation = "0 0 1 147.823"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-287.433 207.705 83.3181"; + rotation = "0 0 -1 68.7549"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-771.812 496.017 76.5223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-32.675 129.921 71.8309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "684.709 -110.892 148.281"; + rotation = "0 0 -1 51.5662"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "221.179 -456.873 104.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "371.29 -26.3288 114.503"; + rotation = "0 0 1 206.265"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "422.084 627.501 100.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "811.416 725.64 127.919"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1067.59 510.828 141.523"; + rotation = "0 -1 0 14.3239"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "655.648 248.041 124.221"; + rotation = "0 0 1 146.86"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "568.72 0.399774 151.252"; + rotation = "0.0825534 -0.233375 0.968876 40.1143"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "487.492 -509.057 91.2155"; + rotation = "0 0 -1 85.9437"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "277.594 -219.526 86.0354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "32.0492 -24.6879 151.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "17.7389 -138.184 71.3071"; + rotation = "0 0 1 229.939"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-245.602 -113.556 74.3303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-475.151 -606.464 96.2553"; + rotation = "0 0 -1 78.4952"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-496.473 -304.394 112.433"; + rotation = "0 0 1 188.503"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-222.846 -266.366 79.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-863.97 -510.532 148.182"; + rotation = "-0.0388838 -0.233517 -0.971575 19.4503"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-634.632 -886.285 174.473"; + rotation = "0 1 0 8.59429"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-492.919 -1085.13 192.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "53.437 -1042.48 114.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "409.455 -873.049 158.93"; + rotation = "0 0 1 147.433"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "686.722 -746.98 78.7836"; + rotation = "1 0 0 21.1994"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "584.136 -896.307 120.013"; + rotation = "0 0 1 125.66"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "520.225 -275.037 106.049"; + rotation = "-0.00999616 -0.0269654 0.999586 40.6954"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-535.987 28.1957 129.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-990.673 348.415 186.425"; + rotation = "0.361426 -0.0323264 0.93184 189.529"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-580.109 669.34 96.562"; + rotation = "0 1 0 33.2315"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-235.161 444.729 102.151"; + rotation = "0.232637 0.165466 0.958385 207.351"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "40.6545 653.229 159.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "547.003 855.795 185.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "250.481 893.787 104.791"; + rotation = "0.142263 0.306148 -0.941294 52.5481"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-503.92 968.806 186.152"; + rotation = "0 1 0 17.1887"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-840.117 115.725 187.982"; + rotation = "0.0096343 -0.0299941 0.999504 215.598"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-405.198 -134.079 85.2524"; + rotation = "0 -1 0 12.0321"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance() { + position = "-158.817 141.638 79.1728"; + rotation = "-1 0 0 87.6625"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "155.595 -147.141 78.4871"; + rotation = "-0.45722 -0.552831 0.696655 140.116"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-500.488 -307.258 117.796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-40.1808 -672.602 163.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "401.981 130.164 87.7089"; + rotation = "0.251647 0.770465 -0.585711 216.632"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "434.072 625.751 101.929"; + rotation = "0 -1 0 79.6411"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "129.304 722.292 151.486"; + rotation = "-1 0 0 80.2141"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-78.5669 299.23 73.9281"; + rotation = "-0.160616 0.434011 0.886475 157.161"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "387.263 -304.845 81.1803"; + rotation = "0 -1 0 85.9437"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "26.2692 -24.4188 156.203"; + rotation = "0 -1 0 62.4524"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera1) { + position = "-26.5618 374.51 199.79"; + rotation = "0.0678526 -0.138161 0.988083 128.229"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Camera(Camera2) { + position = "34.5618 -366.51 199.79"; + rotation = "0.202033 0.16602 -0.965205 80.8204"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Camera(Camera6) { + position = "-125.436 -483.663 103.23"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Camera(Camera5) { + position = "115.236 474.663 101.63"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + }; + new InteriorInstance() { + position = "53.0458 33.4059 150.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-71.2458 -42.0059 151.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Mordacity.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Mordacity.mis new file mode 100644 index 00000000..fcb4596b --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Mordacity.mis @@ -0,0 +1,820 @@ +// DisplayName = S5-Mordacity +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//A man that studieth revenge keeps his own wounds green. +// -- Francis Bacon +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Map by Anthem +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-952 -800 1600 1600"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "375"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.650000 0.650000 1.000000 0.000000"; + fogDistance = "200"; + fogColor = "0.650000 0.650000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.94105e-41 6.95941e-41"; + high_fogVolume2 = "-1 2.01181 6.95955e-41"; + high_fogVolume3 = "-1 6.94147e-41 6.95941e-41"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.350000 0.350000 0.350000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S5_Mordacity.ter"; + squareSize = "8"; + emptySquares = "82285 214124 214380 244076 244332 114029"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + rotation = "0 0 0 0"; + GraphFile = "MissionBlank.nav"; + scale = "1 1 1"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-187.073 -432.643 116.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-77.8583 -466.59 118.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "-19.08 -489.386 131.499"; + rotation = "0 0 1 99.3042"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-148.668 -481.827 114.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "s5_anthem_pipebase.dif"; + showTerrainInside = "1"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-237.661 -416.009 147.147"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-153.668 -485.327 114.754"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + inUse = "Down"; + notReady = "1"; + Trigger = "4681"; + team = "1"; + }; + new StaticShape() { + position = "-143.668 -485.327 114.749"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + inUse = "Down"; + notReady = "1"; + Trigger = "4683"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-109.434 -384.84 111.913"; + rotation = "0 0 1 155"; + scale = "1 1 1"; + interiorFile = "s5_anthem_pipestand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-19.08 -489.386 131.449"; + rotation = "0 0 1 99.3042"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + inUse = "Down"; + notReady = "1"; + Trigger = "4686"; + team = "1"; + }; + new StaticShape() { + position = "-237.661 -416.009 147.097"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + inUse = "Down"; + notReady = "1"; + Trigger = "4688"; + team = "1"; + }; + new Item() { + position = "-109.434 -384.84 113.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "37"; + isHome = "1"; + className = "FlagObj"; + originalPosition = "-109.434 -384.84 113.543 1 0 0 0"; + team = "1"; + WayPoint = "4768"; + Trigger = "4769"; + }; + new StaticShape() { + position = "-19.08 -489.386 136.499"; + rotation = "0 0 1 99.3042"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "1"; + }; + new StaticShape() { + position = "-237.661 -416.009 152.147"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "1"; + }; + new Turret() { + position = "-148.668 -464.427 122.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + Target = "40"; + team = "1"; + }; + new Item() { + position = "-148.668 -482.227 123.749"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-187.073 424.643 116.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-77.8583 458.59 118.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-237.661 408.009 147.147"; + rotation = "0 0 1 205.783"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-148.668 473.827 114.749"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "s5_anthem_pipebase.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-19.08 481.386 131.499"; + rotation = "0 0 1 80.6958"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-153.668 477.327 114.754"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "288601"; + Target = "41"; + lastDamagedBy = "4621"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + Trigger = "4704"; + team = "2"; + }; + new StaticShape() { + position = "-143.668 477.327 114.749"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "288601"; + Target = "42"; + lastDamagedBy = "4621"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + Trigger = "4706"; + team = "2"; + }; + new StaticShape() { + position = "-237.661 408.009 147.097"; + rotation = "0 0 1 205.783"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "4708"; + team = "2"; + }; + new Item() { + position = "-148.668 474.227 123.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-19.08 481.386 131.449"; + rotation = "0 0 1 80.6958"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "4711"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-109.434 376.84 111.913"; + rotation = "0 0 1 25"; + scale = "1 1 1"; + interiorFile = "s5_anthem_pipestand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-19.08 481.386 136.499"; + rotation = "0 0 1 80.6958"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "2"; + }; + new StaticShape() { + position = "-237.661 408.009 152.147"; + rotation = "0 0 1 205.783"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "2"; + }; + new Turret() { + position = "-148.668 456.427 122.733"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + damageTimeMS = "209213"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "47"; + lastDamagedBy = "6623"; + lastDamagedByTeam = "2"; + team = "2"; + lastProjectile = "7572"; + }; + new Item() { + position = "-109.434 376.84 113.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "48"; + isHome = "1"; + className = "FlagObj"; + originalPosition = "-109.434 376.84 113.543 1 0 0 0"; + team = "2"; + WayPoint = "4770"; + Trigger = "4771"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-108.394 -346.519 115.855"; + rotation = "0 0 1 200"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-108.394 334.519 115.855"; + rotation = "0 0 -1 20"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(stuff) { + + powerCount = "0"; + + new TSStatic() { + position = "-97.5197 -518.222 125.221"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-97.5197 510.222 125.221"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-267.108 -592.484 132.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-267.108 584.484 132.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-261.363 270.726 129.256"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-261.363 -278.726 129.256"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "140.249 382.341 129.915"; + rotation = "0 0 -1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "140.249 -390.341 129.915"; + rotation = "0 0 1 200"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "200.34 -541.967 147.937"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "200.34 533.967 147.937"; + rotation = "0 0 -1 105"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "105.042 -4 118.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-512.865 170.708 134.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-512.865 -178.708 134.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-788.125 329.652 152.331"; + rotation = "0 0 1 70"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-788.125 -337.652 152.331"; + rotation = "0 0 1 110"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-472.753 -422.558 134.631"; + rotation = "0 0 -1 55"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-472.753 414.558 134.211"; + rotation = "0 0 1 235"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-22.2094 -827.345 136.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-22.2094 819.345 136.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-631.79 -721.35 117.123"; + rotation = "0 0 1 15"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-631.79 713.35 117.123"; + rotation = "0 0 1 165"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "491.896 -131.977 137.89"; + rotation = "0 0 -1 20"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "491.896 123.977 137.89"; + rotation = "0 0 1 200"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "892.541 258.615 144.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "892.541 -266.615 144.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "659.096 -767.616 141.313"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "659.096 759.616 141.313"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "531.333 -545.829 124.133"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "531.333 537.829 124.133"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-1060.81 -318.395 144.111"; + rotation = "0 0 1 8.00005"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-1060.81 310.395 144.111"; + rotation = "0 0 1 172"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-312.463 -4 130.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "43.9978 202.333 132.976"; + rotation = "0 0 -1 45"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "43.9978 -210.333 132.976"; + rotation = "0 0 1 225"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-182.805 459.13 112.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-135.755 -332.689 95.8448"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-94.9327 457.861 115.32"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-94.9327 -465.861 115.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-150.457 551.187 125.511"; + rotation = "0 1 0 7.44851"; + scale = "1 1 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-150.457 -559.187 125.511"; + rotation = "0 1 0 7.44851"; + scale = "1 1 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-135.755 324.689 95.8448"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-182.805 -467.13 112.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Reynard.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Reynard.mis new file mode 100644 index 00000000..1c65a228 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Reynard.mis @@ -0,0 +1,3078 @@ +// DisplayName = S5-Reynard +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The universe seems neither benign nor hostile, merely indifferent. +// -- Carl Sagan + +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Flag outside. +//Go offense! +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "badlands"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-976 -976 1968 1968"; + flightCeiling = "512"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "512 512 512"; + rotation = "0.0730691 -0.212955 0.974326 146"; + scale = "1 1 1"; + direction = "0.613941 0 -0.789352"; + color = "0.500000 0.450000 0.700000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "S5_rst_reynard.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + coverage = "0"; + locked = "true"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "Slapdash.nav"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.550000 0.450000 0.450000 1.000000"; + fogDistance = "275"; + fogColor = "0.250000 0.220000 0.150000 1.000000"; + fogVolume1 = "75 0 62"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "1.000000 0.000000 0.500000 1.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.23435e+21 -2.91408e-24"; + high_fogVolume2 = "-1 4.59694e-13 -2.90017e-31"; + high_fogVolume3 = "-1 2.08455e-11 2.87767e-21"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera1) { + position = "-229.662 -415.003 115.872"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera2) { + position = "-355.336 -329.902 118.572"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera3) { + position = "-345.314 -344.126 115.527"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera4) { + position = "203.754 409.297 115.872"; + rotation = "0 0 1 136.455"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera5) { + position = "343.736 321.302 118.772"; + rotation = "-1.94091e-08 -0.257081 0.96639 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera6) { + position = "334.003 334.866 115.727"; + rotation = "0 0 1 212.659"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(ship) { + + powerCount = "1"; + + new Trigger() { + position = "345.031 279.18 93.021"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "4236"; + team = "1"; + disableObj = "4236"; + mainObj = "4236"; + }; + new AudioEmitter() { + position = "350.741 344.165 125.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "Universal_Base_1"; + description = "AudioDefaultLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "0.2"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + team = "1"; + }; + new StaticShape() { + position = "344.841 282.78 93.021"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "33"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17824"; + team = "1"; + lastDamagedByTeam = "1"; + inUse = "Down"; + notReady = "1"; + }; + new InteriorInstance() { + position = "320.455 267.452 80.4796"; + rotation = "0 1 0 35.5234"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 97.104"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "343.647 297.216 92.851"; + rotation = "0 0 -1 57.2958"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new Trigger() { + position = "353.989 278.602 109.926"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "4240"; + team = "1"; + disableObj = "4240"; + mainObj = "4240"; + }; + new StaticShape() { + position = "362.548 239.932 99.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "17830"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new Trigger() { + position = "362.548 239.932 99.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "4242"; + team = "1"; + disableObj = "4242"; + mainObj = "4242"; + }; + new StaticShape() { + position = "345.348 239.932 99.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "17833"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new Trigger() { + position = "345.348 239.932 99.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "4244"; + team = "1"; + disableObj = "4244"; + mainObj = "4244"; + }; + new StaticShape() { + position = "354.154 318.494 114.079"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "\x01613"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "9048"; + Target = "36"; + damageTimeMS = "648734"; + wasDisabled = "1"; + repairedBy = "9048"; + team = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "353.918 315.341 123.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + team = "1"; + }; + new Turret() { + position = "365.897 234.039 100.017"; + rotation = "0.707669 -0.000566825 0.706544 179.935"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "38"; + team = "1"; + originalBarrel = "AABarrelLarge"; + }; + new InteriorInstance(InteriorInstance) { + position = "354.005 299.329 101.977"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_swd_ship2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "353.996 315.342 112.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + team = "1"; + }; + new Turret() { + position = "342.106 234.039 100.159"; + rotation = "0.707107 0.000563203 -0.707107 179.935"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "40"; + team = "1"; + originalBarrel = "AABarrelLarge"; + lastProjectile = "17386"; + }; + new TSStatic() { + position = "353.339 304.79 110.007"; + rotation = "0 0 -1 17.7617"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new Item() { + position = "343.615 297.251 93.8226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new TSStatic() { + position = "353.944 223.51 92.9115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new StaticShape() { + position = "363.197 293.994 110.021"; + rotation = "0 0 1 180.963"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "41"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17845"; + team = "1"; + lastDamagedByTeam = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "345 294.3 110.021"; + rotation = "0 0 1 180.963"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "9048"; + Target = "42"; + damageTimeMS = "636057"; + wasDisabled = "1"; + Trigger = "17847"; + team = "1"; + lastDamagedByTeam = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "363.268 282.795 93.021"; + rotation = "0 0 1 179.817"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "43"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17849"; + team = "1"; + lastDamagedByTeam = "1"; + inUse = "Down"; + notReady = "1"; + }; + new TSStatic() { + position = "365.564 292.281 92.9041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 94.3041"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 95.7041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 98.5041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 99.9041"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 101.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "365.564 292.281 102.704"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 92.8481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 94.2481"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 95.6481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 97.0481"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 98.4481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 99.8481"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 101.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "342.528 292.268 102.648"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + }; + new Item() { + position = "261.271 279.346 76.3637"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "44"; + originalPosition = "261.271 279.346 76.3637 0 0 1 1.4"; + team = "1"; + WayPoint = "18226"; + Trigger = "18227"; + isHome = "1"; + className = "FlagObj"; + }; + new InteriorInstance(InteriorInstance) { + position = "232.84 278.549 73.0754"; + rotation = "0 0 1 33.2312"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "253.226 309.666 73.0754"; + rotation = "0 0 1 33.2312"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "286.183 288.074 73.0754"; + rotation = "0 0 1 33.2312"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "267.879 260.136 73.0754"; + rotation = "0 0 1 33.2312"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "261.284 279.33 51.0913"; + rotation = "0 0 1 33.2312"; + scale = "1 1 1"; + interiorFile = "rst_swd_flagstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SpawnSphere() { + position = "221.286 303.062 68.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "236.286 413.862 67.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "33"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "363.286 369.262 67.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "33"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new Item() { + position = "354.653 223.466 93.9803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "353.738 223.555 93.9107"; + rotation = "0 0 1 217.906"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(windows) { + + providesPower = "1"; + powerCount = "1"; + + new PhysicalZone() { + position = "351.772 215.829 94.4174"; + rotation = "1 0 0 0"; + scale = "4.50679 0.281343 11.8079"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4275"; + }; + new ForceFieldBare(window) { + position = "351.772 215.829 94.4174"; + rotation = "1 0 0 0"; + scale = "4.50679 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "0"; + }; + new PhysicalZone() { + position = "361.974 222.943 94.4174"; + rotation = "0 0 -1 64.1712"; + scale = "7.35227 0.281343 11.8079"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4273"; + }; + new ForceFieldBare(window) { + position = "361.974 222.943 94.4174"; + rotation = "0 0 -1 64.1712"; + scale = "7.35227 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "0"; + }; + new PhysicalZone() { + position = "357.399 217.175 94.4174"; + rotation = "0 0 -1 50.9932"; + scale = "3.33246 0.281343 11.8079"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4271"; + }; + new ForceFieldBare(window) { + position = "357.399 217.175 94.4174"; + rotation = "0 0 -1 50.9932"; + scale = "3.33246 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "0"; + }; + new PhysicalZone() { + position = "360.639 274.028 100.217"; + rotation = "0 0 1 89.9544"; + scale = "29.9806 0.281343 7.03382"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4269"; + }; + new ForceFieldBare(window) { + position = "360.639 274.028 100.217"; + rotation = "0 0 1 89.9544"; + scale = "29.9806 0.281343 7.03382"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + team = "0"; + }; + new PhysicalZone() { + position = "342.621 229.455 94.4174"; + rotation = "0 0 1 64.1713"; + scale = "7.10239 0.281343 11.8079"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4267"; + }; + new ForceFieldBare(window) { + position = "342.621 229.455 94.4174"; + rotation = "0 0 1 64.1713"; + scale = "7.10239 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + team = "0"; + }; + new PhysicalZone() { + position = "346.839 274.017 100.217"; + rotation = "0 0 1 89.9544"; + scale = "11.143 0.281343 7.03382"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4265"; + }; + new ForceFieldBare(window) { + position = "346.839 274.017 100.217"; + rotation = "0 0 1 89.9544"; + scale = "11.143 0.281343 7.03382"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + team = "0"; + }; + new PhysicalZone() { + position = "346.853 255.817 100.417"; + rotation = "0 0 1 89.9544"; + scale = "11.143 0.281343 7.03382"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4263"; + }; + new ForceFieldBare(window) { + position = "346.853 255.817 100.417"; + rotation = "0 0 1 89.9544"; + scale = "11.143 0.281343 7.03382"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + team = "0"; + }; + new PhysicalZone() { + position = "348.052 220.245 94.4174"; + rotation = "0 0 1 51.5662"; + scale = "4.50679 0.281343 11.8079"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + ffield = "4260"; + }; + new ForceFieldBare(window) { + position = "348.052 220.245 94.4174"; + rotation = "0 0 1 51.5662"; + scale = "4.50679 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-367.972 -224.629 94.2174"; + rotation = "1 0 0 0"; + scale = "4.50679 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-358.439 -282.617 100.017"; + rotation = "0 0 -1 90"; + scale = "11.143 0.281343 7.03382"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-358.439 -264.417 100.017"; + rotation = "0 0 -1 90"; + scale = "11.143 0.281343 7.03382"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "55"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-372.239 -282.628 100.617"; + rotation = "0 0 -1 90"; + scale = "29.9806 0.281343 7.03382"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "56"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-362.94 -225.117 94.2174"; + rotation = "0 0 1 52.7121"; + scale = "4.50679 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-371.633 -229.42 94.2174"; + rotation = "0 0 -1 50.9932"; + scale = "4.50679 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-357.948 -231.75 94.2174"; + rotation = "0 0 1 63.5983"; + scale = "7.18559 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + team = "0"; + }; + new ForceFieldBare(window) { + position = "-376.298 -238.209 94.2174"; + rotation = "0 0 -1 63.5983"; + scale = "6.84084 0.281343 11.8079"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + team = "0"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(ship) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-365.605 -307.929 101.777"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "rst_swd_ship2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-365.518 -323.941 123.488"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + team = "2"; + }; + new Turret() { + position = "-377.506 -242.413 99.8073"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "62"; + team = "2"; + originalBarrel = "AABarrelLarge"; + lastProjectile = "17129"; + }; + new StaticShape() { + position = "-365.754 -327.094 113.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01613"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "63"; + team = "2"; + }; + new AudioEmitter() { + position = "-362.341 -352.765 125.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "Universal_Base_1"; + description = "AudioDefaultLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "0.2"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + team = "2"; + }; + new StaticShape() { + position = "-356.439 -291.38 92.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "64"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17926"; + team = "2"; + lastDamagedByTeam = "1"; + }; + new TSStatic() { + position = "-355.047 -305.816 92.651"; + rotation = "0 0 1 122.704"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + new StaticShape() { + position = "-356.948 -248.532 99.708"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "65"; + Trigger = "17929"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-374.148 -248.532 99.708"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + Trigger = "17931"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new Item() { + position = "-355.015 -305.851 93.6227"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-365.544 -232.11 92.7115"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-364.939 -313.39 109.807"; + rotation = "0 0 1 162.238"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + new Turret() { + position = "-365.596 -323.942 112.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "67"; + team = "2"; + }; + new Turret() { + position = "-353.906 -242.413 99.8073"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "68"; + team = "2"; + originalBarrel = "AABarrelLarge"; + lastProjectile = "9656"; + }; + new StaticShape() { + position = "-374.663 -291.593 92.821"; + rotation = "0 0 -1 0.185575"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "69"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17938"; + team = "2"; + lastDamagedByTeam = "1"; + inUse = "Down"; + notReady = "1"; + }; + new TSStatic() { + position = "-354.285 -300.88 102.473"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 101.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 99.6729"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 98.2729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 96.8728"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 95.4728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 94.0728"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-354.285 -300.88 92.6729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 102.351"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 100.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 99.5506"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 98.1506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 96.7506"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 95.3506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 93.9506"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-376.895 -300.867 92.5506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new StaticShape() { + position = "-356.439 -302.38 109.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "70"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17956"; + team = "2"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-375.039 -302.38 109.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4218"; + Target = "71"; + damageTimeMS = "2534652"; + wasDisabled = "1"; + Trigger = "17958"; + team = "2"; + lastDamagedByTeam = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-238.447 -272.984 73.0754"; + rotation = "0 0 1 34.9501"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-272.918 -253.528 73.0754"; + rotation = "0 0 1 34.9501"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-292.052 -280.905 73.0754"; + rotation = "0 0 1 34.9501"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-258.774 -304.163 73.0754"; + rotation = "0 0 1 34.9501"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-375.321 -390.121 54.1662"; + rotation = "0.98761 0.154104 -0.0296372 22.0389"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + team = "2"; + }; + new Item() { + position = "-265.951 -284.123 76.3829"; + rotation = "0 0 -1 9.16737"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "72"; + searchSchedule = "10797"; + originalPosition = "-265.951 -284.123 76.3829 0 0 -1 0.160001"; + team = "2"; + WayPoint = "18228"; + Trigger = "18229"; + isHome = "1"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "-332.343 -259.609 80.3869"; + rotation = "0 -1 0 35.5234"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SpawnSphere() { + position = "-229.286 -311.062 67.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-244.286 -422.862 67.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "33"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-372.286 -377.262 67.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "33"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new Item() { + position = "-365.287 -232.164 93.7729"; + rotation = "0 0 -1 48.1285"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-366.197 -231.979 93.7868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + }; + new InteriorInstance() { + position = "-19.649 359.114 100.279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "68.6623 162.073 73.9398"; + rotation = "0 0 -1 67.609"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "279.65 31.5228 95.439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "447.013 258.93 88.3696"; + rotation = "0 0 -1 42.3989"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "208.034 543.98 119.697"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "464.5 65.6636 71.0789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "93.1298 512.664 78.1602"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-287.65 -39.5228 93.239"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "626.271 292.095 102.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + }; + new FileObject() { + }; + new FileObject() { + }; + new TSStatic() { + position = "366.268 384.117 54.8625"; + rotation = "0.862753 -0.471057 -0.183745 22.0987"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "-14.6643 -233.683 100.97"; + rotation = "0 0 1 138"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-76.6623 -170.073 74.1398"; + rotation = "-0 -0 1 116"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "12.449 -367.114 101.679"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-101.13 -520.664 76.9602"; + rotation = "0 0 1 126.715"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-216.034 -551.98 119.697"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-635.871 -300.095 108.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-455.013 -266.93 90.7696"; + rotation = "0 0 1 137.601"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-472.5 -73.6636 71.0789"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-266.063 -284.142 51.0913"; + rotation = "0 0 1 34.9501"; + scale = "1 1 1"; + interiorFile = "rst_swd_flagstand.dif"; + showTerrainInside = "0"; + }; + new AudioEmitter() { + position = "353.999 302.945 94.2823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "waterBreathBiodermSound"; + description = "CloseLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "0"; + maxDistance = "10"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-365.585 -310.89 98.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "waterBreathBiodermSound"; + description = "CloseLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "0"; + maxDistance = "10"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition10DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "-524 172 79.75"; + rotation = "0 0 1 82.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-316 292 103.266"; + rotation = "0 0 1 133"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-540 468 81.3749"; + rotation = "0 0 1 240"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-716 668 105.062"; + rotation = "0 0 1 197"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-484 172 75.875"; + rotation = "0 0 1 177"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-780 628 133.984"; + rotation = "0 0 -1 108"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-780 380 122.797"; + rotation = "0 0 1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-836 188 106.516"; + rotation = "0 0 1 50"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition11DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "12 -1132 80.6094"; + rotation = "0 0 -1 80.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-28 -780 85.4062"; + rotation = "0 0 1 2.99997"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-12 -676 95.4843"; + rotation = "0 0 -1 23.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-268 -1156 75.6875"; + rotation = "0 0 -1 56"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-308 -1092 77.3281"; + rotation = "0 0 1 70.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-20 -948 79.9688"; + rotation = "0 0 1 134"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-276 -596 86.5"; + rotation = "0 0 1 142"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-164 -1036 79.8281"; + rotation = "0 0 1 30"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition12DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "-804 -708 78.0469"; + rotation = "0 0 -1 1.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-628 -908 87.6406"; + rotation = "0 0 1 205"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-1140 -476 79.8438"; + rotation = "0 0 -1 35.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-804 -908 94.5469"; + rotation = "0 0 1 99.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-628 -868 80.4219"; + rotation = "0 0 -1 96.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-1060 -548 141.25"; + rotation = "0 0 -1 43.0002"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-700 -748 104.953"; + rotation = "0 0 1 43"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-1020 -916 121.047"; + rotation = "0 0 -1 14"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition13DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "540 -276 74.5782"; + rotation = "0 0 -1 28.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "636 -484 80.7343"; + rotation = "0 0 1 48"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "604 -452 88.9532"; + rotation = "0 0 -1 68.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "596 -708 79.0001"; + rotation = "0 0 -1 31.0002"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "716 -676 100.813"; + rotation = "0 0 -1 38"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "836 -276 124.453"; + rotation = "0 0 1 15"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "284 -284 109.516"; + rotation = "0 0 1 209"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "564 -772 80.5937"; + rotation = "0 0 1 166"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition14DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "860 780 75.0469"; + rotation = "0 0 1 199"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "708 748 101.5"; + rotation = "0 0 1 144"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "868 604 82.5625"; + rotation = "0 0 1 79.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "876 1012 83.6249"; + rotation = "0 0 1 233"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "540 684 95.7812"; + rotation = "0 0 1 106"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1004 876 116.328"; + rotation = "0 0 1 183"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "796 900 94.625"; + rotation = "0 0 1 115"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "708 1076 128.891"; + rotation = "0 0 1 66.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition15DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "140 860 98.969"; + rotation = "0 0 1 192"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "228 1116 83.6874"; + rotation = "0 0 1 131"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "108 812 99.484"; + rotation = "0 0 1 32"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-252 1116 82.3438"; + rotation = "0 0 -1 31.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-228 1116 84.5156"; + rotation = "0 0 1 18"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-4 1084 74.3907"; + rotation = "0 0 1 85.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "260 596 87.0313"; + rotation = "0 0 -1 103"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "204 772 83.0937"; + rotation = "0 0 -1 74.0004"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition16DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "236 -36 92.7968"; + rotation = "0 0 1 135"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-252 4 90.4062"; + rotation = "0 0 1 125"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-140 -220 69.4376"; + rotation = "0 0 1 215"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "60 100 61.9687"; + rotation = "0 0 1 112"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition17BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "-284 -548 79.6719"; + rotation = "0 0 1 87.0002"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-220 -396 59.9843"; + rotation = "0 0 1 55"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-204 -196 61.75"; + rotation = "0 0 1 104"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "36 -428 102.281"; + rotation = "0 0 1 221"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-364 -324 62.8594"; + rotation = "0 0 -1 116"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-212 -124 65.7032"; + rotation = "0 0 1 108"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-380 -420 51.6875"; + rotation = "0 0 1 193"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-188 -476 72.0781"; + rotation = "0 0 -1 93.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-404 -276 86.3281"; + rotation = "0 0 -1 35.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-116 -484 71.0781"; + rotation = "0 0 1 173"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-116 -324 73.0625"; + rotation = "0 0 1 229"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-100 -220 66.7344"; + rotation = "0 0 -1 4.00015"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-20 -556 94.2344"; + rotation = "0 0 -1 49.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-76 -620 90.2188"; + rotation = "0 0 1 208"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-308 -284 75.8594"; + rotation = "0 0 1 189"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-284 -444 75.5469"; + rotation = "0 0 1 219"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition18BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "-652 -204 88.6093"; + rotation = "0 0 1 17"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-548 -412 84.5313"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-204 -308 63.6094"; + rotation = "0 0 1 52"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-428 -476 61.2813"; + rotation = "0 0 1 96.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-372 -236 71.3437"; + rotation = "0 0 1 17"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-572 -284 78.4219"; + rotation = "0 0 1 34"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-348 -684 90.8281"; + rotation = "0 0 1 112"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-156 -588 118.109"; + rotation = "0 0 1 211"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-372 -436 53.2032"; + rotation = "0 0 1 134"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-268 -236 74.4531"; + rotation = "0 0 1 49"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-292 -300 71.0781"; + rotation = "0 0 1 1.9999"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-620 -436 126.672"; + rotation = "0 0 -1 41"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-236 -708 96.7032"; + rotation = "0 0 -1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-212 -724 119.234"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-636 -588 133.203"; + rotation = "0 0 -1 74.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-428 -428 52.5937"; + rotation = "0 0 1 84.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition19BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "-460 -428 58.9531"; + rotation = "0 0 1 19"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-596 -284 80.5156"; + rotation = "0 0 1 177"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-276 12 89.6875"; + rotation = "0 0 -1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-356 -60 70.3438"; + rotation = "0 0 1 30"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-404 -172 56.2813"; + rotation = "0 0 -1 81.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-220 -116 70.3282"; + rotation = "0 0 1 211"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-660 -220 82.4532"; + rotation = "0 0 1 45"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-532 -308 89.3438"; + rotation = "0 0 -1 55.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-172 -380 55.1718"; + rotation = "0 0 1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-476 -116 63.1719"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-508 -348 72.2812"; + rotation = "0 0 1 102"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-444 -68 77.5469"; + rotation = "0 0 -1 66.0002"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-292 -364 74.6249"; + rotation = "0 0 1 90.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-428 -52 84.5938"; + rotation = "0 0 1 61"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-292 -92 73.6094"; + rotation = "0 0 1 12"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-348 -428 57.7968"; + rotation = "0 0 1 144"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition20BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "-20 -164 79.2656"; + rotation = "0 0 -1 1.00014"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-44 -108 70.5313"; + rotation = "0 0 -1 35.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "100 116 72.2343"; + rotation = "0 0 1 144"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "20 -300 107.953"; + rotation = "0 0 -1 101"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-252 -252 73.4844"; + rotation = "0 0 -1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-76 -364 81.9531"; + rotation = "0 0 1 40"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "196 116 62.4531"; + rotation = "0 0 1 106"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-260 -172 90.4219"; + rotation = "0 0 -1 101"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-244 -20 95.0625"; + rotation = "0 0 1 56"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-164 -404 55.3437"; + rotation = "0 0 1 200"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-36 -316 85.8906"; + rotation = "0 0 1 85.9998"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-20 -252 106.594"; + rotation = "0 0 1 143"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-76 -180 76.0312"; + rotation = "0 0 -1 34.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "36 -12 95.8437"; + rotation = "0 0 1 85"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "180 20 97.625"; + rotation = "0 0 1 129"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-228 -316 62.4687"; + rotation = "0 0 -1 88"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition21BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "300 124 63.25"; + rotation = "0 0 -1 100"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "132 228 77.4375"; + rotation = "0 0 1 45"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "100 276 90.4844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "380 -100 144.328"; + rotation = "0 0 -1 64.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "76 -60 142.266"; + rotation = "0 0 1 73"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-28 84 90.0625"; + rotation = "0 0 -1 116"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "396 -4 91.3437"; + rotation = "0 0 -1 26.9998"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "212 220 73.9844"; + rotation = "0 0 1 224"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "236 -52 102.766"; + rotation = "0 0 -1 52.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "300 -84 99.9063"; + rotation = "0 0 1 215"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "220 244 76.3906"; + rotation = "0 0 -1 91"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "236 332 64.8906"; + rotation = "0 0 -1 47"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-12 20 90.0469"; + rotation = "0 0 -1 73.0006"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "236 12 95.9687"; + rotation = "0 0 1 46"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "292 420 66.75"; + rotation = "0 0 1 79.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-148 204 126.516"; + rotation = "0 0 1 73"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition22BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "188 180 60.4532"; + rotation = "0 0 1 116"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "684 -52 137.297"; + rotation = "0 0 -1 10.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "164 292 67.5938"; + rotation = "0 0 1 49"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "436 404 57.8437"; + rotation = "0 0 1 88.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "220 92 74.1718"; + rotation = "0 0 1 164"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "548 -140 89.8906"; + rotation = "0 0 -1 56"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "308 -36 84.5001"; + rotation = "0 0 1 149"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "292 260 73.0938"; + rotation = "0 0 1 186"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "660 364 87.375"; + rotation = "0 0 1 233"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "420 84 62.2187"; + rotation = "0 0 1 186"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "444 -4 89.4375"; + rotation = "0 0 -1 92.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "332 196 87.5313"; + rotation = "0 0 1 125"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "532 -140 94.7188"; + rotation = "0 0 1 42"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "388 372 50.8126"; + rotation = "0 0 -1 107"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "484 60 84.4376"; + rotation = "0 0 1 147"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "252 396 78.0938"; + rotation = "0 0 1 184"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition23BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "604 572 133.844"; + rotation = "0 0 -1 4.99997"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "372 748 132.609"; + rotation = "0 0 -1 79"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "468 156 72.4063"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "236 356 67.4999"; + rotation = "0 0 1 181"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "412 220 74.7813"; + rotation = "0 0 1 109"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "284 396 69.2812"; + rotation = "0 0 1 85"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "468 260 90.8437"; + rotation = "0 0 1 67.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "244 412 70.9844"; + rotation = "0 0 -1 83.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "548 644 93"; + rotation = "0 0 -1 44.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "132 588 126.641"; + rotation = "0 0 1 178"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "452 148 65.9844"; + rotation = "0 0 -1 38.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "612 628 131.906"; + rotation = "0 0 -1 41"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "244 700 87.125"; + rotation = "0 0 -1 26.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "532 556 134.484"; + rotation = "0 0 1 146"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "172 460 66.9218"; + rotation = "0 0 1 171"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "612 436 131.266"; + rotation = "0 0 1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition24BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "20 268 101.781"; + rotation = "0 0 1 240"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "332 428 60.5938"; + rotation = "0 0 1 44"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-164 244 139.469"; + rotation = "0 0 1 200"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "108 476 71.1406"; + rotation = "0 0 1 158"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "20 652 87.2188"; + rotation = "0 0 1 63.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "140 260 87.6875"; + rotation = "0 0 1 176"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "36 404 70.7188"; + rotation = "0 0 -1 14.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "100 444 59.9531"; + rotation = "0 0 1 176"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "140 324 57.5468"; + rotation = "0 0 -1 111"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "244 332 67.5469"; + rotation = "0 0 1 57"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "212 284 67.1875"; + rotation = "0 0 1 82"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "172 500 81"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "148 660 82.2969"; + rotation = "0 0 1 55"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-188 684 196.125"; + rotation = "0 0 -1 94"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "244 276 62.2656"; + rotation = "0 0 -1 84.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-28 660 93.0312"; + rotation = "0 0 1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition25BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "-292 -20 93.9374"; + rotation = "0 0 1 232"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-372 36 102.266"; + rotation = "0 0 -1 10.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-548 84 80.6094"; + rotation = "0 0 1 13"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-500 388 91.7188"; + rotation = "0 0 1 58.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-580 276 78.0938"; + rotation = "0 0 -1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-588 -60 157.375"; + rotation = "0 0 1 79"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-820 484 136.828"; + rotation = "0 0 1 230"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-276 28 90.2813"; + rotation = "0 0 1 203"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-372 116 151.391"; + rotation = "0 0 -1 76"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-532 380 88.7656"; + rotation = "0 0 1 213"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-764 260 121.937"; + rotation = "0 0 1 126"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-596 420 88.8125"; + rotation = "0 0 1 30"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-796 156 150.313"; + rotation = "0 0 1 209"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-540 236 74.6093"; + rotation = "0 0 1 144"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-540 -4 89.0781"; + rotation = "0 0 1 213"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-428 516 92.1407"; + rotation = "0 0 -1 8.99978"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition26BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "500 -340 91.4687"; + rotation = "0 0 1 158"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "308 -900 80.7812"; + rotation = "0 0 -1 44.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "644 -428 93.7031"; + rotation = "0 0 1 11"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "260 -684 175.703"; + rotation = "0 0 1 200"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "524 -668 77.0468"; + rotation = "0 0 1 128"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "404 -636 88.7343"; + rotation = "0 0 1 194"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "548 -564 80.4375"; + rotation = "0 0 1 199"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "780 -348 106.703"; + rotation = "0 0 1 79"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "676 -556 86.6093"; + rotation = "0 0 1 204"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "508 -404 89.5782"; + rotation = "0 0 -1 44.9999"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "756 -324 113.922"; + rotation = "0 0 1 140"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "812 -644 134.812"; + rotation = "0 0 1 15"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "356 -356 94.1251"; + rotation = "0 0 1 151"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "332 -668 138.266"; + rotation = "0 0 1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "340 -364 94.3125"; + rotation = "0 0 1 82"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "348 -508 91.8125"; + rotation = "0 0 1 115"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Sherman.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Sherman.mis new file mode 100644 index 00000000..db54f04d --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Sherman.mis @@ -0,0 +1,1586 @@ +// DisplayName = S5-Sherman +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//[19:38] <@Celios> [20:11:28] <@bubbletrout> Celios, could you make a penis joke? +//[19:38] <@Celios> I have never in my life blanked on a cock joke until you said that +//[19:38] <@Celios> I'm scouring my mind but can't come up with anything +//[19:38] <@Celios> it's terrifying +//[19:38] <@bubbletrout> ! +//[19:39] <@mf_wyze> celios plays tribes like he plays with dongs +//[19:39] <@mf_wyze> poorly +//---#bros +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Map by BubbleTrout +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "30"; + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-392 -1144 1680 2272"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S5_Sherman.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "320"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "MissionBlank.nav"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1224 -1216 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.300000 1.000000"; + fogDistance = "200"; + fogColor = "0.100000 0.100000 0.100000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "396.801 -564.526 115.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "4"; + + new InteriorInstance() { + position = "243.614 -449.295 160.592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "527.43 -487.811 118.213"; + rotation = "1 0 0 0"; + scale = "1 1 4"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "479.108 -640.758 134.721"; + rotation = "0 0 1 48.7014"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker2_x2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "501.616 -629.782 141.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new Turret() { + position = "535.897 -487.669 100.109"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "1"; + Target = "34"; + }; + new InteriorInstance() { + position = "397 -545 160.813"; + rotation = "1 0 0 0"; + scale = "2.5 2.5 7"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "259.794 -481.176 156.486"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "239.541 -481.549 156.535"; + rotation = "0 0 1 90.6642"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "249.655 -493.246 156.494"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4683"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "258.387 -472.702 149.126"; + rotation = "0 0 1 42.3992"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4685"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "240.399 -471.869 149.126"; + rotation = "0 0 -1 52.1388"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4687"; + team = "1"; + Target = "39"; + rotate = "1"; + }; + new Item() { + position = "249.321 -521.338 148.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "487.281 -610.402 122.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "506.479 -635.804 122.586"; + rotation = "0 0 1 138.083"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4691"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "480.107 -648.076 122.627"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4693"; + team = "1"; + Target = "41"; + }; + new StaticShape() { + position = "521.526 -612.07 130.926"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new StaticShape() { + position = "482.204 -647.147 130.926"; + rotation = "0 0 1 227.464"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "43"; + }; + }; + new Item() { + position = "419.581 -544.71 129.314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "4848"; + Trigger = "4849"; + Target = "44"; + originalPosition = "419.581 -544.71 129.314 1 0 0 0"; + className = "FlagObj"; + isHome = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "384.236 582.039 115.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "4"; + + new InteriorInstance() { + position = "242.816 452.249 160.288"; + rotation = "0 0 1 187.54"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "496.959 630.061 140.842"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "517.181 613.648 130.422"; + rotation = "0 0 1 128.342"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "476.314 646.911 130.422"; + rotation = "-0 0 -1 48.7014"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "518.431 611.724 122.123"; + rotation = "0 0 1 129.671"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4707"; + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "502.134 635.817 122.082"; + rotation = "0 0 1 38.9613"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4709"; + team = "2"; + Target = "49"; + }; + new Item() { + position = "480.096 612.835 121.857"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "246.611 524.418 148.361"; + rotation = "0 0 1 187.54"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "519.013 460.181 121.007"; + rotation = "1 0 0 0"; + scale = "1 1 4"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "248.965 474.206 148.822"; + rotation = "0 0 1 135.401"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4714"; + team = "2"; + Target = "50"; + rotate = "1"; + }; + new Turret() { + position = "527.48 460.323 102.903"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "55"; + }; + new StaticShape() { + position = "231.242 477.393 148.822"; + rotation = "0 0 1 229.939"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4717"; + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "242.594 496.613 156.19"; + rotation = "0 0 1 7.53976"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4719"; + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "251.086 483.69 156.231"; + rotation = "-0 0 -1 81.7961"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "53"; + }; + new StaticShape() { + position = "230.959 485.978 156.182"; + rotation = "0 0 1 97.5397"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + }; + new InteriorInstance() { + position = "365.878 585.851 161.309"; + rotation = "-0 0 -1 59.5876"; + scale = "2.5 2.5 7"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "511.364 609.578 134.217"; + rotation = "-0 0 -1 50.4203"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker2_x2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new Item() { + position = "377.307 604.77 129.812"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "4850"; + Trigger = "4851"; + Target = "56"; + originalPosition = "377.307 604.77 129.812 0 0 1 0.55"; + className = "FlagObj"; + isHome = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "241.486 485.108 187.496"; + rotation = "0 0 1 7.44841"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "262.355 500.719 147.558"; + rotation = "0 0 -1 92.8192"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "262.218 500.513 146.456"; + rotation = "0 0 1 231.657"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "262.618 500.83 146.456"; + rotation = "0 0 1 231.657"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "262.331 500.745 147.006"; + rotation = "0 0 -1 106.57"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "0"; + }; + new Item() { + position = "262.826 500.596 147.099"; + rotation = "0 0 -1 17.7616"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "263.139 500.87 146.446"; + rotation = "0 0 -1 92.8192"; + scale = "1 1 1"; + dataBlock = "FlareGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "262.003 501.276 146.463"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "261.795 501.556 146.463"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "269.919 -500.092 146.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlareGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "270.67 -498.784 146.742"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "270.38 -498.978 146.742"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "269.661 -499.766 147.378"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "269.834 -499.279 147.285"; + rotation = "0 0 -1 13.751"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "269.905 -499.57 146.735"; + rotation = "0 0 -1 35.5234"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "269.608 -499.155 146.735"; + rotation = "0 0 -1 35.5234"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "0"; + }; + new Item() { + position = "269.807 -499.302 147.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "249.431 -481.521 185.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "249.133 -455.414 157.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "249.817 -456.382 157.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "247.977 -456.382 157.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "239.696 460.238 157.385"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "238.45 459.389 157.351"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.864 460.419 157.385"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "1227.92 188.417 181.539"; + rotation = "0 0 1 26.3561"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1554.18 843.784 138.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1187.71 -182.572 190.764"; + rotation = "0 0 -1 68.182"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-41.2704 89.8171 118.728"; + rotation = "-0.999712 0.0187362 -0.0149969 77.3654"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "341.443 700.614 104.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-90.6623 767.146 142.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "241.221 -315.792 174.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "625.67 -283.235 125.278"; + rotation = "-1 0 0 107.326"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1047.78 750.115 158.418"; + rotation = "1 0 0 91.1003"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1217.82 391.44 163.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1295.66 -96.6288 175.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1164.09 -1026.76 83.0434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "961.607 -102.221 172.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "948.108 240.065 122.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1016.78 394.462 110.608"; + rotation = "1 0 0 53.2851"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "784.911 671.4 136.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "627.946 557.493 108.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "337.36 365.967 189.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "138.323 20.2747 85.7952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "873.606 995.613 153.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "373.133 1018.87 150.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "444.443 798.255 143.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "536.645 293.357 114.277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "809.263 86.5042 170.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "590.267 -331.036 120.401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "571.874 -238.628 102.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "377.648 -464.217 124.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "608.277 -691.616 174.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "469.018 -878.131 164.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "344.234 -862.984 144.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "115.181 -736.638 109.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "108.446 -634.349 121.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-97.6871 -689.858 128.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-178.147 -451.028 127.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-319.593 -332.944 121.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-124.556 -298.773 98.2866"; + rotation = "0 0 -1 23.4913"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-186.306 -1072.98 130.692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "62.6147 -1037.47 77.511"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "668.829 -761.739 185.988"; + rotation = "0 0 -1 60.7335"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "621.817 -793.866 173.522"; + rotation = "0 0 1 48.7014"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "669.317 -797.015 186.999"; + rotation = "0 0 1 24.0642"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "979.343 -439.67 116.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1DSPlant16) { + + powerCount = "0"; + + new TSStatic() { + position = "868 -148 142.937"; + rotation = "0 0 1 29"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "740 -228 128.812"; + rotation = "0 0 1 39"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "340 -244 139.109"; + rotation = "0 0 1 66.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "892 44 168.234"; + rotation = "0 0 1 94.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "476 124 97.312"; + rotation = "0 0 -1 93.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "804 -300 119.687"; + rotation = "0 0 -1 29.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "684 36 159.781"; + rotation = "0 0 1 194"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "700 -36 160.625"; + rotation = "0 0 1 134"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "708 52 162.469"; + rotation = "0 0 1 182"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "388 -204 125.891"; + rotation = "0 0 -1 32"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition2DSPlant17) { + + powerCount = "0"; + + new TSStatic() { + position = "476 -164 104.188"; + rotation = "-0.0155306 -0.163027 -0.986499 110.73"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "548 20 94"; + rotation = "0.106443 0.161735 0.981077 72.038"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "220 -20 113.766"; + rotation = "0.245801 -0.127056 -0.960957 41.4894"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "644 -4 145.156"; + rotation = "-0.15782 0.346305 0.924752 52.469"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "796 252 121.547"; + rotation = "0.0287748 -0.0225723 0.999331 172.005"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "540 -172 93.5938"; + rotation = "-0.439715 -0.140083 0.887146 40.2309"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "580 -300 114.734"; + rotation = "-0.05009 0.036911 0.998062 234.909"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "60 -220 72.5938"; + rotation = "-0.321842 -0.309604 0.894742 20.0767"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "636 -348 116.391"; + rotation = "-0.27741 0.020694 -0.960529 63.038"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "676 316 114.734"; + rotation = "0.00012372 -0.004937 0.999988 236"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition3DSPlant19) { + + powerCount = "0"; + + new TSStatic() { + position = "388 172 120.703"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "532 276 109.406"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "684 356 111.531"; + rotation = "0 0 1 141"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "820 -260 121.203"; + rotation = "0 0 1 204"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "636 -300 119.812"; + rotation = "0 0 -1 73.0006"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "748 364 113.937"; + rotation = "0 0 1 213"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "476 68 93.1875"; + rotation = "0 0 1 107"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "204 212 125.203"; + rotation = "0 0 1 162"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "484 276 109.125"; + rotation = "0 0 -1 22.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "268 -156 141.031"; + rotation = "0 0 -1 100"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + }; + new SimGroup(Addition4DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "708 4 157.156"; + rotation = "0 0 1 124"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "964 108 169.094"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "556 140 103.328"; + rotation = "0 0 -1 114"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "860 212 127.531"; + rotation = "0 0 -1 89.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "684 172 152.844"; + rotation = "0 0 1 129"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "988 188 133.391"; + rotation = "0 0 1 94"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "780 -12 176.375"; + rotation = "0 0 1 1.00014"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "580 348 112.172"; + rotation = "0 0 -1 40.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1044 -60 158.578"; + rotation = "0 0 1 169"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1332 -188 147.672"; + rotation = "0 0 1 45"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "354.16 747.037 177.72"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "600.862 -601.381 177.674"; + rotation = "0 0 -1 83.6518"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Sun(sun1) { + position = "789.267 -132.571 20.0987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "-0.492888 -0.563418 0.66304"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.800000 0.800000 0.800000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "297.23 -324.646 186.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "ash1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.500000 0.500000 0.500000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.1"; + minVelocity = "0.01"; + maxVelocity = "0.1"; + maxNumDrops = "2000"; + maxRadius = "1000"; + + team = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Silenus.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Silenus.mis new file mode 100644 index 00000000..78298413 --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Silenus.mis @@ -0,0 +1,1456 @@ +// DisplayName = S5-Silenus +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//We do not see things as they are. We see things as we are. +// -- Old Talmudic Saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Self-Powered Assets +//Small distance from flag to flag +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + musicTrack = "badlands"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-976 -976 1968 1968"; + flightCeiling = "512"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "512 512 512"; + rotation = "0.0730691 -0.212955 0.974326 146"; + scale = "1 1 1"; + direction = "0.613941 0 -0.789352"; + color = "0.700000 0.500000 0.100000 1.000000"; + ambient = "0.200000 0.150000 0.150000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "S5_rst_silenus.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + GraphFile = "Slapdash.nav"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.550000 0.450000 0.450000 1.000000"; + fogDistance = "300"; + fogColor = "0.550000 0.400000 0.250000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "50 50 100"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "1.000000 0.000000 0.500000 1.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.23435e+21 -2.91408e-24"; + high_fogVolume2 = "-1 4.59694e-13 -2.90017e-31"; + high_fogVolume3 = "-1 2.08455e-11 2.87767e-21"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera1) { + position = "-58.6143 160.468 176.691"; + rotation = "0.50731 -0.188062 0.840993 47.5752"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera2) { + position = "292.446 414.254 127.029"; + rotation = "0.0887006 0.10127 -0.990897 98.0899"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera3) { + position = "66.6143 -168.468 176.691"; + rotation = "-0.0839518 -0.207083 0.974715 223.123"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera2) { + position = "-300.446 -422.254 127.029"; + rotation = "0.131418 -0.0909935 0.987142 70.093"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + }; + new SimGroup(team1) { + + powerCount = "0"; + + new SimGroup(Tower) { + + powerCount = "0"; + + new SimGroup(structure) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "97.6221 228.2 83.4411"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "96.3139 236.972 -11.829"; + rotation = "-0 0 -1 46.9825"; + scale = "2.5 2.5 2.5"; + interiorFile = "xmisc5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "99.567 233.815 28.0351"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "99.4788 233.83 80.9289"; + rotation = "-0 0 -1 46.9825"; + scale = "4.27311 2.67594 0.324196"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "10.6501 316.742 -11.6192"; + rotation = "-0 0 -1 46.9825"; + scale = "2.5 2.5 2.5"; + interiorFile = "xmisc5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "7.76159 319.316 28.2449"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "7.67342 319.332 81.1386"; + rotation = "-0 0 -1 46.9825"; + scale = "4.27311 2.67594 0.324196"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "18.4198 309.637 84.2661"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "30.1181 298.721 84.2661"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "41.8165 287.806 84.2661"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "88.6098 244.144 84.2661"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "65.2131 265.975 84.2661"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "76.9115 255.059 84.2661"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "53.3421 276.89 52.0799"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "53.0579 276.717 81.6755"; + rotation = "-0 0 -1 46.9825"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "53.3219 277.065 54.8705"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1.44656"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "104.251 238.849 63.5606"; + rotation = "0 0 1 42.9718"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + }; + new TSStatic() { + position = "94.9807 228.898 63.5606"; + rotation = "0 0 1 42.9718"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + }; + new TSStatic() { + position = "99.6158 233.873 74.3606"; + rotation = "0 0 1 42.9718"; + scale = "2.78419 2.74467 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "105.174 236.471 83.4411"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "9.3916 325.554 83.4411"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "3.22686 314.375 63.5606"; + rotation = "0 0 1 42.9718"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + }; + new TSStatic() { + position = "12.3608 324.18 63.5606"; + rotation = "0 0 1 42.9718"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + }; + new TSStatic() { + position = "7.86197 319.35 74.3606"; + rotation = "0 0 1 42.9718"; + scale = "2.78419 2.74467 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "1.83956 317.283 83.4411"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(Objects) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "12.533 324.158 64.0427"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4265"; + team = "1"; + notReady = "1"; + Target = "33"; + inUse = "Down"; + }; + new StaticShape() { + position = "3.06755 314.38 64.0427"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4267"; + team = "1"; + notReady = "1"; + Target = "34"; + inUse = "Down"; + }; + new StaticShape() { + position = "104.462 239.077 63.9934"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4269"; + team = "1"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "4218"; + Target = "35"; + inUse = "Down"; + damageTimeMS = "797274"; + }; + new StaticShape() { + position = "94.5432 228.638 63.9934"; + rotation = "0 0 1 223.454"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4271"; + team = "1"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "4218"; + Target = "36"; + inUse = "Down"; + damageTimeMS = "797274"; + }; + new StaticShape() { + position = "53.2002 521.457 100.883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4273"; + team = "1"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "4218"; + Target = "37"; + inUse = "Down"; + damageTimeMS = "72057"; + }; + new StaticShape() { + position = "37.6002 521.457 100.883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4275"; + team = "1"; + notReady = "1"; + Target = "38"; + inUse = "Down"; + }; + new StaticShape() { + position = "217.133 277.706 104.17"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4277"; + team = "1"; + notReady = "1"; + Target = "39"; + inUse = "Down"; + }; + new StaticShape() { + position = "217.759 277.786 110.477"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "40"; + }; + new Turret() { + position = "123.072 377.442 87.3876"; + rotation = "0 0 1 220.771"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "41"; + }; + new Turret() { + position = "54.261 276.237 74.855"; + rotation = "0.359983 0.859312 0.363311 99.1752"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "42"; + }; + new Turret() { + position = "52.3785 277.645 74.8377"; + rotation = "0.677236 -0.272366 0.683497 210.205"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "43"; + }; + }; + }; + new InteriorInstance() { + position = "217.493 277.866 102.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "217.202 277.874 81.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "59.8352 513.518 100.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "31.2352 513.518 100.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "45.7 520.385 87.4724"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "45.3954 513.553 98.9413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "53.5059 277.011 83.8891"; + rotation = "0 0 -1 47.5555"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + stand = "4290"; + originalPosition = "53.5059 277.011 83.8891 0 0 -1 0.83"; + team = "1"; + WayPoint = "4393"; + Trigger = "4394"; + Target = "44"; + className = "FlagObj"; + isHome = "1"; + }; + new SpawnSphere() { + position = "116.913 352.294 63.7637"; + rotation = "0 0 -1 40.107"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "50"; + }; + new InteriorInstance() { + position = "122.538 376.922 93.0915"; + rotation = "0 0 1 220.771"; + scale = "1 1 1"; + interiorFile = "rst_derm_turretbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "237.615 229.263 99.9137"; + rotation = "0 0 1 52.1392"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "18.1454 331.55 56.791"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new SpawnSphere() { + position = "4.51624 203.979 53.7637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "50"; + }; + }; + new SimGroup(team2) { + + powerCount = "0"; + + new SimGroup(structure) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-15.4448 -327.331 81.1386"; + rotation = "0 0 1 134"; + scale = "4.27311 2.67594 0.324196"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-15.7616 -327.316 28.2449"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-107.567 -240.815 28.0351"; + rotation = "0 0 1 134"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-61.0579 -284.717 81.6755"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-73.2131 -273.975 84.2661"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-84.9113 -263.059 84.2661"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-96.6095 -252.143 84.2661"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-46.4534 -298.945 84.2661"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-34.9014 -309.724 84.2661"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-106.589 -235.41 83.4411"; + rotation = "0 0 1 222.399"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-105.359 -243.948 -11.829"; + rotation = "0 0 1 133.018"; + scale = "2.5 2.5 2.5"; + interiorFile = "xmisc5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-15.5751 -327.726 -11.829"; + rotation = "0 0 1 133.018"; + scale = "2.5 2.5 2.5"; + interiorFile = "xmisc5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-107.479 -240.83 80.9289"; + rotation = "0 0 1 133.018"; + scale = "4.27311 2.67594 0.324196"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-60.6249 -284.607 52.0799"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-60.476 -284.495 54.8705"; + rotation = "0 0 1 134.736"; + scale = "1 1 1.44656"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-112.291 -245.718 63.5606"; + rotation = "0 0 1 222.972"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-103.021 -235.767 63.5606"; + rotation = "0 0 1 222.972"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-107.479 -240.727 74.3606"; + rotation = "0 0 1 222.972"; + scale = "2.78419 2.74467 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-114.006 -243.533 83.4411"; + rotation = "0 0 1 222.399"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-106.589 -235.41 83.4411"; + rotation = "0 0 1 222.399"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-23.2032 -320.64 84.2661"; + rotation = "0 0 1 133.018"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-6.68409 -327.987 83.4411"; + rotation = "0 0 1 222.399"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-14.5059 -336.553 83.4411"; + rotation = "0 0 1 222.399"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-150.265 59.2788 115.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-498.257 -248.173 167.127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-39.1921 -631.859 141.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-53.7 -528.385 87.4724"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-53.3954 -521.553 98.9413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-225.202 -285.874 81.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-225.493 -285.866 102.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-39.2352 -521.518 100.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-67.8352 -521.518 100.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_podium.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-130.538 -384.922 93.0915"; + rotation = "0 0 1 40.771"; + scale = "1 1 1"; + interiorFile = "rst_derm_turretbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-10.9483 -322.369 63.5606"; + rotation = "0 0 1 224.691"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-20.6536 -332.18 63.5606"; + rotation = "0 0 1 224.691"; + scale = "3.24793 1.90614 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-15.862 -327.35 74.5606"; + rotation = "0 0 1 222.972"; + scale = "2.78419 2.74467 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + }; + }; + new SimGroup(Objects) { + + providesPower = "1"; + powerCount = "1"; + + new Turret() { + position = "-130.618 -384.834 87.3876"; + rotation = "0 0 1 40.771"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "-112.622 -245.975 63.9934"; + rotation = "0 0 1 223.545"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4335"; + team = "2"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "4218"; + Target = "46"; + inUse = "Down"; + damageTimeMS = "797274"; + }; + new StaticShape() { + position = "-102.574 -235.507 63.9934"; + rotation = "0 0 1 43.454"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4337"; + team = "2"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "4218"; + Target = "47"; + inUse = "Down"; + damageTimeMS = "797274"; + }; + new StaticShape() { + position = "-10.7632 -322.694 64.2427"; + rotation = "0 0 1 43.4537"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4339"; + team = "2"; + notReady = "1"; + Target = "48"; + inUse = "Down"; + }; + new StaticShape() { + position = "-20.6118 -332.34 64.0427"; + rotation = "0 0 1 222.399"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4341"; + team = "2"; + notReady = "1"; + Target = "49"; + inUse = "Down"; + }; + new StaticShape() { + position = "-225.759 -286 110.6"; + rotation = "0 0 -1 89.0456"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "-225.133 -285.706 103.97"; + rotation = "0 0 -1 89.0456"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4344"; + team = "2"; + notReady = "1"; + Target = "51"; + inUse = "Down"; + }; + new StaticShape() { + position = "-45.6002 -529.457 100.883"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4346"; + team = "2"; + notReady = "1"; + Target = "52"; + inUse = "Down"; + }; + new StaticShape() { + position = "-61.1996 -529.326 100.883"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4348"; + team = "2"; + notReady = "1"; + Target = "53"; + inUse = "Down"; + }; + new Turret() { + position = "-61.5378 -283.824 74.8616"; + rotation = "0.679154 -0.262545 0.685434 209.163"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "54"; + }; + new Turret() { + position = "-59.7301 -285.351 74.8783"; + rotation = "0.346168 0.870692 0.349374 98.4303"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "55"; + }; + new Item() { + position = "-240.587 -244.899 99.5137"; + rotation = "0 0 1 211.994"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-26.0481 -338.686 56.8098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + }; + new Item() { + position = "-61.4025 -284.969 83.8891"; + rotation = "0 0 1 132.445"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + stand = "4353"; + originalPosition = "-61.4025 -284.969 83.8891 0 0 1 2.3116"; + team = "2"; + WayPoint = "4395"; + Trigger = "4396"; + Target = "56"; + className = "FlagObj"; + isHome = "1"; + }; + new SpawnSphere() { + position = "-7.03983 -216.558 51.46"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "-121.367 -342.076 51.46"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "50"; + }; + }; + }; + new InteriorInstance() { + position = "490.257 239.773 167.127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "31.1921 623.859 141.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "143.265 -67.2788 115.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3BiodermPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "60 12 122.266"; + rotation = "0 0 1 208"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-124 60 126.859"; + rotation = "0 0 1 201"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-108 -60 87.6719"; + rotation = "0 0 -1 113"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-108 124 87.1563"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + }; + new SimGroup(Addition5BiodermPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "-12 356 68.0938"; + rotation = "0 0 -1 97"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "-108 172 68.2969"; + rotation = "0 0 1 9.00004"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "-68 68 119.719"; + rotation = "0 0 -1 10.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "-20 156 60"; + rotation = "0 0 1 45"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg3.dts"; + }; + }; + new SimGroup(Addition6BiodermPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "340 572 63.375"; + rotation = "0 0 1 116"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "396 300 123.391"; + rotation = "0 0 -1 11.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "436 308 138.297"; + rotation = "0 0 1 119"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "348 484 54.375"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + }; + new SimGroup(Addition8BiodermPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-300 -500 60.9063"; + rotation = "0 0 -1 117"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-220 -428 63.0782"; + rotation = "0 0 1 218"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-380 -460 66.5937"; + rotation = "0 0 1 226"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-260 -372 68.5625"; + rotation = "0 0 1 179"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + }; + new SimGroup(Addition9BiodermPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "12 -364 68.4844"; + rotation = "0 0 -1 65.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "-20 -148 54.8125"; + rotation = "0 0 1 42"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "-36 -188 50.6874"; + rotation = "0 0 -1 19.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "108 -308 101.187"; + rotation = "0 0 1 202"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg3.dts"; + }; + }; + }; + new SimGroup(environ) { + + powerCount = "0"; + + new TSStatic() { + position = "237.35 225.616 99.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new InteriorInstance() { + position = "233.412 230.205 99.8869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + }; + new TSStatic() { + position = "-238.465 -243.228 95.8612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new InteriorInstance() { + position = "-235.597 -247.38 97.8493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/missions/S5_Woodymyrk.mis b/public/base/@vl2/S5maps.vl2/missions/S5_Woodymyrk.mis new file mode 100644 index 00000000..8684b44a --- /dev/null +++ b/public/base/@vl2/S5maps.vl2/missions/S5_Woodymyrk.mis @@ -0,0 +1,1620 @@ +// DisplayName = S5-WoodyMyrk +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Be brave and dare with a holy boldness. +// -- Teresa of Avila +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Juno (Overhaul: =Sabre=, Bases: Akira, Editing: Celios, Anthem) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-936 -752 1376 1248"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "680 824 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.150000 0.150000 0.150000 1.000000"; + fogDistance = "210"; + fogColor = "0.150000 0.150000 0.150000 1.000000"; + fogVolume1 = "185 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "3 5 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 4.518e-38 0"; + high_fogVolume2 = "-1 0 4.3662e-38"; + high_fogVolume3 = "-1 0 4.2834e-38"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "WoodyMyrkSE.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -784 48"; + rotation = "1 0 0 0"; + scale = "2048 2048 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.3"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "WoodyMyrk_x2.nav"; + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-309.617 -141.533 149.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.300000 0.300000 0.200000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "2.25"; + maxVelocity = "5"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-406.412 -378.819 83.6265"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-463.071 -449.921 109.46"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "0"; + + new SimGroup(insidepowergroup) { + + powerCount = "1"; + + new StaticShape() { + position = "-408.06 -380.466 92.3745"; + rotation = "0 0 1 46.1007"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-408.167 -379.866 79.3961"; + rotation = "0 0 1 45.4817"; + scale = "1 1 1"; + interiorFile = "ccb_be_tower1b_x2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-412.861 -372.245 99.3665"; + rotation = "-0 0 -1 44.8993"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "8090"; + team = "1"; + Target = "34"; + locked = "true"; + }; + new Item() { + position = "-399.542 -385.792 90.9902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-412.829 -372.276 83.3791"; + rotation = "-0 0 -1 44.5643"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "8093"; + team = "1"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "-524.017 -286.236 143.703"; + rotation = "-0 0 -1 89.5183"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-458.815 -445.637 125.219"; + rotation = "0 0 1 225.482"; + scale = "1 1 1"; + interiorFile = "damnationstand.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-351.507 -430.595 116.495"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-400.255 -372.806 103.474"; + rotation = "0 0 1 45.6277"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "37"; + locked = "true"; + }; + new Turret() { + position = "-351.42 -431.211 126.486"; + rotation = "0 0 -1 0.118694"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + team = "1"; + Target = "38"; + locked = "true"; + }; + new InteriorInstance() { + position = "-188.202 -379.776 94.7042"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-188.185 -379.52 104.37"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "39"; + locked = "true"; + }; + new InteriorInstance() { + position = "-524.342 -286.094 133.758"; + rotation = "-0 0 -1 89.5183"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + }; + new Item() { + position = "-458.844 -445.626 126.219"; + rotation = "0 0 1 45.264"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "8218"; + Trigger = "8219"; + missionTypesList = "CTF"; + originalPosition = "-458.844 -445.626 126.219 0 0 1 0.790006"; + isHome = "1"; + className = "FlagObj"; + Target = "40"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-80.7175 98.2758 84.0814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-24.9426 169.892 109.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "0"; + + new SimGroup(insidepowergroup) { + + powerCount = "1"; + + new StaticShape() { + position = "-79.0835 99.9363 92.8294"; + rotation = "0 0 1 225.619"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "41"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-78.9715 99.3374 79.851"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "ccb_be_tower1b_x2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-74.2135 91.7564 99.8214"; + rotation = "0 0 1 134.619"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "8113"; + team = "2"; + Target = "42"; + locked = "true"; + }; + new Item() { + position = "-87.6455 105.191 91.4451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-74.2455 91.7868 83.834"; + rotation = "0 0 1 134.954"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "8116"; + team = "2"; + Target = "43"; + locked = "true"; + }; + new StaticShape() { + position = "37.3784 6.72501 144.358"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.1625 165.572 124.874"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "damnationstand.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-136.525 150.301 116.15"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-86.8235 92.2114 103.929"; + rotation = "0 0 1 225.146"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + locked = "true"; + }; + new Turret() { + position = "-136.625 151.056 126.143"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + originalBarrel = "AABarrelLarge"; + team = "2"; + Target = "46"; + locked = "true"; + }; + new InteriorInstance() { + position = "-299.589 99.6858 94.7591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-299.316 99.4298 104.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "47"; + locked = "true"; + }; + new InteriorInstance() { + position = "37.7036 6.58482 134.413"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + }; + new Item() { + position = "-29.1287 165.56 125.874"; + rotation = "0 0 1 45.2636"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "8220"; + Trigger = "8221"; + missionTypesList = "CTF"; + originalPosition = "-29.1287 165.56 125.874 0 0 1 0.789999"; + isHome = "1"; + className = "FlagObj"; + Target = "48"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-241.876 -133.863 152.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new Item() { + position = "-244.927 -139.636 149.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + ammoStore = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-240.044 -139.824 149.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-244.732 -144.717 149.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-249.594 -139.909 149.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-244.824 -134.913 149.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + locked = "true"; + }; + }; + }; + new SimGroup(AudioWater) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-612.898 -130.793 67.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-479.913 -153.42 68.1064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-356.271 -156.756 67.7973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-298.108 -160.461 68.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-181.594 -128.027 67.5438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "113.309 -142.126 67.9012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-41.5698 -107.325 67.6384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(C6) { + position = "-41.7903 215.592 137.846"; + rotation = "-0.0344463 -0.175644 0.983851 201.842"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(C6) { + position = "-522.813 -428.787 133.698"; + rotation = "0.238651 -0.18733 0.952866 78.9622"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + powerCount = "0"; + + new TSStatic() { + position = "-748.991 347.79 113.664"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-355.715 220.98 91.3762"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-83.0524 -398.617 72.471"; + rotation = "0 0 1 236.814"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-574.826 -236.289 121.024"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-485.447 -75.423 77.4482"; + rotation = "0 0 1 46.9825"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "104.556 206.401 93.196"; + rotation = "0 0 -1 9.74027"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-66.8796 255.957 97.243"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "182.558 155.464 117.609"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-409.314 -521.61 99.9692"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-320.043 -494.6 107.874"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.0107 33.1761 111.486"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.905 -205.066 69.3745"; + rotation = "0 0 1 44.1177"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-170.26 -500.492 88.063"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.9307 -575.825 130.757"; + rotation = "0 0 -1 28.0749"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-326.795 12.2121 76.6145"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.264 28.7926 98.7744"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-590.695 145.688 116.928"; + rotation = "0 0 -1 59.0147"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-219.474 126.151 76.1944"; + rotation = "0 0 1 85.3707"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-552.715 -378.275 117.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-597.939 -61.555 70.397"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.345 21.3247 77.545"; + rotation = "0 0 1 89.5638"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-497.318 -539.839 120.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-657.594 32.0365 105.083"; + rotation = "0 0 -1 116.883"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-57.2439 -284.831 77.5772"; + rotation = "0 0 -1 28.6479"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-472.887 -234.158 71.9412"; + rotation = "0 0 -1 0.570611"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-558.821 -488.136 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-406.637 121.473 72.1151"; + rotation = "0 0 1 6.8755"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-693.403 -426.368 118.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700.519 -82.4381 107.127"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276.551 77.2367 78.8214"; + rotation = "0 0 1 5.72956"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-223.312 -337.757 79.828"; + rotation = "0 0 -1 81.36"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-658.983 -196.758 111.803"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-360.938 -78.2364 71.9066"; + rotation = "0 0 1 2.29172"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-631.874 249.846 111.895"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.87 182.123 111.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-144.901 -244.551 77.8581"; + rotation = "0 0 -1 88.2355"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-175.043 -303.37 76.841"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "18.4847 331.652 98.4696"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100.882 -233.856 72.6848"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-25.8864 -39.4824 73.346"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-256.945 -58.2815 71.3196"; + rotation = "0 0 1 48.7014"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "247.47 -195.23 107.445"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.5046 -423.508 119.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-13.3515 -194.084 78.0712"; + rotation = "0 0 1 217.906"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "258.705 38.2569 95.177"; + rotation = "0 0 -1 82.5059"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-339.776 -285.403 78.6801"; + rotation = "0 0 -1 117.456"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-183.598 376.613 106.836"; + rotation = "0 0 -1 8.02137"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-249.398 -424.548 79.929"; + rotation = "0 0 1 33.2315"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244.93 0.0341033 74.3791"; + rotation = "0 0 1 41.253"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-286.46 249.985 94.468"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412.753 17.5893 75.8529"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-390.284 -240.15 71.9906"; + rotation = "0 0 1 19.4805"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.864 -32.1913 74.1314"; + rotation = "0 0 1 25.7831"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-766.357 -299.217 98.094"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4.75861 -380.649 101.492"; + rotation = "0 0 -1 68.182"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-424.393 316.241 115.653"; + rotation = "0 0 -1 16.0428"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(AudioCreatures) { + + powerCount = "0"; + + new AudioEmitter(Frog1) { + position = "-312.361 -130.772 70.7249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog2) { + position = "-440.974 -137.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog3) { + position = "-200.974 -126.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog4) { + position = "-102.174 -123.548 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog5) { + position = "33.5644 -149.685 71.8847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog6) { + position = "-554.211 -152.37 78.9209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird1) { + position = "106.398 -232.28 106.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Crickets) { + position = "-254.789 -4.9169 78.8753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird2) { + position = "-218.177 118.926 110.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird3) { + position = "-248.766 -423.11 114.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Eerie_Fog) { + position = "-313.707 -7.9654 88.1657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "300"; + maxDistance = "19200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird4) { + position = "-588.666 140.756 134.783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5-Icedance.ter b/public/base/@vl2/S5maps.vl2/terrains/S5-Icedance.ter new file mode 100644 index 00000000..7ea33ec8 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5-Icedance.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5-Mordacity.ter b/public/base/@vl2/S5maps.vl2/terrains/S5-Mordacity.ter new file mode 100644 index 00000000..16e655e2 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5-Mordacity.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5-massive.ter b/public/base/@vl2/S5maps.vl2/terrains/S5-massive.ter new file mode 100644 index 00000000..265a9f3d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5-massive.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Centaur.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Centaur.spn new file mode 100644 index 00000000..0cf33cec Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Centaur.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Centaur.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_Centaur.ter new file mode 100644 index 00000000..e2939000 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Centaur.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Damnation.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Damnation.spn new file mode 100644 index 00000000..1a55f2c5 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Damnation.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Drache.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Drache.spn new file mode 100644 index 00000000..3154916d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Drache.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Drache.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_Drache.ter new file mode 100644 index 00000000..f5a86002 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Drache.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_HawkingHeat.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_HawkingHeat.spn new file mode 100644 index 00000000..543aa659 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_HawkingHeat.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Icedance.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Icedance.spn new file mode 100644 index 00000000..dac01ae8 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Icedance.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Icedance.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_Icedance.ter new file mode 100644 index 00000000..7ea33ec8 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Icedance.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Massive.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Massive.spn new file mode 100644 index 00000000..570b772d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Massive.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Mimicry.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Mimicry.spn new file mode 100644 index 00000000..877da64d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Mimicry.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Misadventure.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Misadventure.spn new file mode 100644 index 00000000..e88f75e1 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Misadventure.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Mordacity.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Mordacity.spn new file mode 100644 index 00000000..b88e9a16 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Mordacity.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Mordacity.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_Mordacity.ter new file mode 100644 index 00000000..16e655e2 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Mordacity.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_PipeDream.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_PipeDream.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_PipeDream.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Reynard.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Reynard.spn new file mode 100644 index 00000000..1f2198ff Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Reynard.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Sherman.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Sherman.spn new file mode 100644 index 00000000..f8e9f298 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Sherman.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Sherman.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_Sherman.ter new file mode 100644 index 00000000..72238704 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Sherman.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_Silenus.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_Silenus.spn new file mode 100644 index 00000000..02adf0de Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_Silenus.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_WoodyMyrk.spn b/public/base/@vl2/S5maps.vl2/terrains/S5_WoodyMyrk.spn new file mode 100644 index 00000000..04429fff Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_WoodyMyrk.spn differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_massive.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_massive.ter new file mode 100644 index 00000000..265a9f3d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_massive.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_rst_hawkingheat.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_hawkingheat.ter new file mode 100644 index 00000000..419a030a Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_hawkingheat.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_rst_misadventure.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_misadventure.ter new file mode 100644 index 00000000..f25dd850 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_misadventure.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_rst_reynard.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_reynard.ter new file mode 100644 index 00000000..b60f1c29 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_reynard.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/S5_rst_silenus.ter b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_silenus.ter new file mode 100644 index 00000000..bb7f6562 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/S5_rst_silenus.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/WoodyMyrkSE.ter b/public/base/@vl2/S5maps.vl2/terrains/WoodyMyrkSE.ter new file mode 100644 index 00000000..d4951d2c Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/WoodyMyrkSE.ter differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_hawking.png b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_hawking.png new file mode 100644 index 00000000..5d67bcf8 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_hawking.png differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_hawkingheat.png b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_hawkingheat.png new file mode 100644 index 00000000..75dedbdb Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_hawkingheat.png differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_misadventure.png b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_misadventure.png new file mode 100644 index 00000000..b9822032 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_misadventure.png differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_reynard.png b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_reynard.png new file mode 100644 index 00000000..c10d08cf Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_reynard.png differ diff --git a/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_silenus.png b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_silenus.png new file mode 100644 index 00000000..f5753564 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/terrains/heightfield/RST_silenus.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Centaur.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Centaur.png new file mode 100644 index 00000000..fa3a4034 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Centaur.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Damnation.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Damnation.png new file mode 100644 index 00000000..b4482f33 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Damnation.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Drache.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Drache.png new file mode 100644 index 00000000..2efa4045 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Drache.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_HawkingHeat.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_HawkingHeat.png new file mode 100644 index 00000000..9ddc7a62 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_HawkingHeat.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Icedance.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Icedance.png new file mode 100644 index 00000000..00f45eb6 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Icedance.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Massive.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Massive.png new file mode 100644 index 00000000..beb8dba0 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Massive.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Mimicry.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Mimicry.png new file mode 100644 index 00000000..d6d6f659 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Mimicry.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Misadventure.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Misadventure.png new file mode 100644 index 00000000..d405ca2d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Misadventure.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Mordacity.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Mordacity.png new file mode 100644 index 00000000..f54f0ce3 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Mordacity.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Reynard.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Reynard.png new file mode 100644 index 00000000..7901ad83 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Reynard.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Sherman.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Sherman.png new file mode 100644 index 00000000..151e7f0f Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Sherman.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Silenus.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Silenus.png new file mode 100644 index 00000000..5cd5305d Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Silenus.png differ diff --git a/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Woodymyrk.png b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Woodymyrk.png new file mode 100644 index 00000000..831fe635 Binary files /dev/null and b/public/base/@vl2/S5maps.vl2/textures/gui/Load_S5_Woodymyrk.png differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacbase.dif b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacbase.dif new file mode 100644 index 00000000..3550036b Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacbase.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacbridge.dif b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacbridge.dif new file mode 100644 index 00000000..62b668aa Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacbridge.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacstand.dif b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacstand.dif new file mode 100644 index 00000000..265ef1f7 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacstand.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiactower.dif b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiactower.dif new file mode 100644 index 00000000..795be570 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiactower.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacturret.dif b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacturret.dif new file mode 100644 index 00000000..ac567734 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/anthem_cardiacturret.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingrock01.dif b/public/base/@vl2/S8maps.vl2/interiors/flingrock01.dif new file mode 100644 index 00000000..f5bd38c3 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingrock01.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingrockvent01.dif b/public/base/@vl2/S8maps.vl2/interiors/flingrockvent01.dif new file mode 100644 index 00000000..fce96d26 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingrockvent01.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingsilo03.dif b/public/base/@vl2/S8maps.vl2/interiors/flingsilo03.dif new file mode 100644 index 00000000..c77d511d Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingsilo03.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingsilo03b.dif b/public/base/@vl2/S8maps.vl2/interiors/flingsilo03b.dif new file mode 100644 index 00000000..83266100 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingsilo03b.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingstand02.dif b/public/base/@vl2/S8maps.vl2/interiors/flingstand02.dif new file mode 100644 index 00000000..069dfab3 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingstand02.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingtanktrap01.dif b/public/base/@vl2/S8maps.vl2/interiors/flingtanktrap01.dif new file mode 100644 index 00000000..9540a894 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingtanktrap01.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingvpad01.dif b/public/base/@vl2/S8maps.vl2/interiors/flingvpad01.dif new file mode 100644 index 00000000..13fbc6bd Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingvpad01.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/flingvpad01b.dif b/public/base/@vl2/S8maps.vl2/interiors/flingvpad01b.dif new file mode 100644 index 00000000..75729711 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/flingvpad01b.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_base.dif b/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_base.dif new file mode 100644 index 00000000..e7804368 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_base.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_bridge.dif b/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_bridge.dif new file mode 100644 index 00000000..93e198ea Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_bridge.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_bridge2.dif b/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_bridge2.dif new file mode 100644 index 00000000..1d411196 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/rst_dogma_bridge2.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/rst_spir_base3.dif b/public/base/@vl2/S8maps.vl2/interiors/rst_spir_base3.dif new file mode 100644 index 00000000..29d5fca7 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/rst_spir_base3.dif differ diff --git a/public/base/@vl2/S8maps.vl2/interiors/rst_spir_pillar.dif b/public/base/@vl2/S8maps.vl2/interiors/rst_spir_pillar.dif new file mode 100644 index 00000000..9468615b Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/interiors/rst_spir_pillar.dif differ diff --git a/public/base/@vl2/S8maps.vl2/missions/S8_Cardiac.mis b/public/base/@vl2/S8maps.vl2/missions/S8_Cardiac.mis new file mode 100644 index 00000000..fb37c7df --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/missions/S8_Cardiac.mis @@ -0,0 +1,1210 @@ +// DisplayName = S8-Cardiac +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//im the one that had sexual intercourse with his mother +// -- psycore +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Either generator powers all assets. +//Map by Anthem +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-904 -800 1808 1600"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.400000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Cardiac.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + YDimOverSize = "0"; + locked = "true"; + XDimOverSize = "0"; + GraphFile = "Desiccator.nav"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + coverage = "0"; + }; + new Sky(Sky) { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.450000 0.400000 1.000000"; + fogDistance = "200"; + fogColor = "0.800000 0.450000 0.400000 1.000000"; + fogVolume1 = "300 0 102"; + fogVolume2 = "6000 800 801"; + fogVolume3 = "0 0 0"; + materialList = "SOM_TR2_Armageddon.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 173.831879"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 187.134155"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 637.846008"; + high_visibleDistance = "-1"; + high_fogDistance = "1"; + high_fogVolume1 = "0 0 0"; + high_fogVolume2 = "-1 -2.79885e-14 -0.100265"; + high_fogVolume3 = "-1 -2.5989e+17 1.02849e+12"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "369.153 269.338 149.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "454.523 279.574 155.989"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "379.071 251.276 148.538"; + rotation = "0 0 -1 76.203"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacturret.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "379.631 251.477 148.538"; + rotation = "0 0 -1 119.213"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + Target = "33"; + team = "1"; + }; + new Item() { + position = "310.357 83.0277 158.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "430.987 141.342 95.8086"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "468.923 265.174 152.453"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "4722"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "440.123 293.974 152.453"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "4724"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new Item() { + position = "468.923 293.974 153.147"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "454.523 279.574 170.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + team = "1"; + }; + new Item() { + position = "440.14 265.168 153.147"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "443.923 268.974 155.953"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Indoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4654"; + damageTimeMS = "1288671"; + repairedBy = "4654"; + Target = "37"; + Trigger = "4729"; + team = "1"; + wasDisabled = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "465.123 268.974 155.953"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Indoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "9091"; + damageTimeMS = "527132"; + repairedBy = "4654"; + Target = "38"; + Trigger = "4731"; + team = "1"; + wasDisabled = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "454.523 294.574 155.958"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4695"; + damageTimeMS = "80890"; + repairedBy = "9091"; + Target = "39"; + team = "1"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "304.628 81.2454 133.343"; + rotation = "0 0 -1 107.28"; + scale = "1 1 1"; + interiorFile = "anthem_cardiactower.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "300.618 79.9978 142.34"; + rotation = "0 0 1 72.72"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4695"; + damageTimeMS = "65404"; + Target = "40"; + team = "1"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "299.853 79.7605 133.317"; + rotation = "0 0 -1 107.28"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4695"; + damageTimeMS = "96413"; + Target = "41"; + Trigger = "4736"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "299.853 79.7605 148.317"; + rotation = "0 0 -1 107.28"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "4738"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + }; + new SimGroup(ffs) { + + providesPower = "1"; + powerCount = "1"; + + new ForceFieldBare() { + position = "460.051 277.19 169.836"; + rotation = "0 -1 0 26.56"; + scale = "30.7387 5 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "30.7387 5 0.25"; + Target = "43"; + team = "1"; + pz = "4742"; + }; + new ForceFieldBare() { + position = "452.089 246.39 156"; + rotation = "-1 0 0 26.56"; + scale = "5 30.7387 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "5 30.7387 0.25"; + Target = "44"; + team = "1"; + pz = "4745"; + }; + new ForceFieldBare() { + position = "421.41 277.19 156.04"; + rotation = "0 1 0 26.56"; + scale = "30.7387 5 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "30.7387 5 0.25"; + Target = "45"; + team = "1"; + pz = "4747"; + }; + new ForceFieldBare() { + position = "310.712 76.5431 165.496"; + rotation = "0 0 -1 107.28"; + scale = "13 9 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "13 9 0.25"; + Target = "46"; + team = "1"; + pz = "4749"; + }; + }; + new Item() { + position = "430.987 141.342 95.8187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + originalPosition = "430.987 141.342 95.8187 1 0 0 0"; + className = "FlagObj"; + Target = "47"; + team = "1"; + WayPoint = "4849"; + Trigger = "4850"; + isHome = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-377.153 -277.338 149.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "-462.523 -287.574 155.989"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-387.631 -259.477 148.538"; + rotation = "-0 -0 1 60.787"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + Target = "48"; + team = "2"; + lastProjectile = "13520"; + }; + new StaticShape() { + position = "-462.523 -302.574 155.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "9091"; + soiledByEnemyRepair = "1"; + damageTimeMS = "736668"; + repairedBy = "9091"; + Target = "49"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new Item() { + position = "-318.357 -91.0277 158.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-438.987 -149.342 95.8086"; + rotation = "0 0 1 221.253"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-476.923 -273.174 152.453"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "4762"; + team = "2"; + }; + new StaticShape() { + position = "-462.523 -287.574 170.989"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "7904"; + damageTimeMS = "652221"; + Target = "51"; + team = "2"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-448.123 -301.974 152.453"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + Trigger = "4765"; + team = "2"; + }; + new Item() { + position = "-448.14 -273.168 153.147"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-476.923 -301.974 153.147"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-451.923 -276.974 155.953"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Indoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + Trigger = "4769"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-473.123 -276.974 155.953"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Indoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "9091"; + damageTimeMS = "592415"; + Target = "54"; + Trigger = "4771"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-387.071 -259.276 148.538"; + rotation = "-0 -0 1 103.797"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacturret.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-312.628 -89.2454 133.343"; + rotation = "-0 -0 1 72.72"; + scale = "1 1 1"; + interiorFile = "anthem_cardiactower.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-307.853 -87.7605 133.317"; + rotation = "-0 -0 1 72.72"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4695"; + damageTimeMS = "96413"; + Target = "55"; + Trigger = "4775"; + team = "2"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-308.618 -87.9978 142.34"; + rotation = "0 0 -1 107.28"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4695"; + damageTimeMS = "65404"; + Target = "56"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-307.853 -87.7605 148.317"; + rotation = "-0 -0 1 72.72"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + Trigger = "4778"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + }; + new SimGroup(ffs) { + + providesPower = "1"; + powerCount = "1"; + + new ForceFieldBare() { + position = "-464.713 -281.797 169.705"; + rotation = "1 0 0 26.56"; + scale = "5 30.7387 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "5 30.7387 0.25"; + Target = "58"; + team = "2"; + pz = "4782"; + }; + new ForceFieldBare() { + position = "-456.876 -289.999 169.774"; + rotation = "0 -1 0 26.56"; + scale = "30.7387 5 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "30.7387 5 0.25"; + Target = "59"; + team = "2"; + pz = "4784"; + }; + new ForceFieldBare() { + position = "-495.636 -289.999 156.04"; + rotation = "0 1 0 26.56"; + scale = "30.7387 5 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "30.7387 5 0.25"; + Target = "60"; + team = "2"; + pz = "4786"; + }; + new ForceFieldBare() { + position = "-306.416 -93.9717 165.496"; + rotation = "0 0 -1 107.28"; + scale = "13 9 0.25"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "13 9 0.25"; + Target = "61"; + team = "2"; + pz = "4788"; + }; + }; + new Item() { + position = "-438.987 -149.342 95.8284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + originalPosition = "-438.987 -149.342 95.8284 1 0 0 0"; + className = "FlagObj"; + Target = "62"; + team = "2"; + WayPoint = "4851"; + Trigger = "4852"; + searchSchedule = "429"; + isHome = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "278.098 313.673 165.947"; + rotation = "0 0 1 112.873"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-286.098 -321.673 165.947"; + rotation = "0 0 -1 67.127"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock() { + position = "-8 -368 -200.843"; + rotation = "1 0 0 0"; + scale = "384 544 300"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + extent = "100 100 10"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new WaterBlock() { + position = "-392 -168 -200.843"; + rotation = "1 0 0 0"; + scale = "416 544 300"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + extent = "100 100 10"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new WaterBlock() { + position = "376 104 -55.2139"; + rotation = "1 0 0 0"; + scale = "96 96 150"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + extent = "100 100 10"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new WaterBlock() { + position = "-472 -208 -55.2139"; + rotation = "1 0 0 0"; + scale = "96 96 150"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + extent = "100 100 10"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new SimGroup(stuff) { + + powerCount = "0"; + + new InteriorInstance() { + position = "422.388 114.189 92.3747"; + rotation = "0 0 1 74.4845"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "62.8077 430.748 98.7085"; + rotation = "0 0 -1 111.727"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "461.376 -449.941 141.935"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-469.376 441.941 141.935"; + rotation = "-0 -0 1 71.711"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-430.388 -122.189 92.3747"; + rotation = "0 0 -1 105.516"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-70.8077 -438.748 98.7085"; + rotation = "-0 -0 1 68.273"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "119.038 -133.2 100.579"; + rotation = "0 0 1 173.606"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-127.038 125.2 100.579"; + rotation = "0 0 -1 6.39405"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "424.029 106.639 96.1726"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.7"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-432.029 -114.639 96.1726"; + rotation = "0 0 1 180"; + scale = "0.9 0.9 0.7"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-571.086 -158.434 121.192"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "563.086 150.434 121.192"; + rotation = "-0 -0 1 102.651"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-471.72 444.048 141.053"; + rotation = "0 0 -1 6.8755"; + scale = "1.4 1.4 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "463.72 -452.048 141.053"; + rotation = "0 0 1 173.124"; + scale = "1.4 1.4 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "118.064 -133.966 98.2336"; + rotation = "0 0 1 13.751"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-126.064 125.966 98.2336"; + rotation = "0 0 1 193.751"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-316.397 -323.951 155.678"; + rotation = "0 0 -1 55.5769"; + scale = "1.2 1.2 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "117.582 -395.863 134.395"; + rotation = "0 0 -1 20.0537"; + scale = "1.6 1.6 1.4"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-125.582 387.863 134.395"; + rotation = "0 0 1 159.946"; + scale = "1.6 1.6 1.4"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "308.397 315.951 155.678"; + rotation = "0 0 1 124.423"; + scale = "1.2 1.2 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance() { + position = "-158.559 189.111 100.62"; + rotation = "-0.0149914 -0.032688 0.999353 49.3025"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "150.585 -197.141 100.621"; + rotation = "0.0149914 0.032688 0.999353 49.3025"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacbridge.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-70.4861 -154.29 126.068"; + rotation = "0 0 -1 68.808"; + scale = "1 1 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "62.4861 146.29 126.068"; + rotation = "-0 -0 1 111.192"; + scale = "1 1 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "309.622 -99.2791 149.862"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-317.622 91.2791 149.862"; + rotation = "0 0 1 210.367"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-29.8502 -695.001 140.865"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "21.8502 687.001 140.865"; + rotation = "0 0 1 136.455"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-420.743 803.266 127.79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "412.743 -811.266 127.79"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "649.544 -239.226 115.866"; + rotation = "0 0 -1 50.4203"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-657.544 231.226 115.866"; + rotation = "0 0 1 129.58"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-676.886 -423.465 131.841"; + rotation = "0 0 1 63.0254"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "668.886 415.465 131.841"; + rotation = "0 0 -1 116.975"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-334.316 -618.066 126.814"; + rotation = "0 0 -1 37.8152"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "326.316 610.066 126.814"; + rotation = "0 0 1 142.185"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "682.351 782.689 130.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-690.351 -790.689 130.475"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-1063.72 507.131 151.402"; + rotation = "0 0 -1 71.6197"; + scale = "1.5 1.5 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "1055.72 -515.131 151.402"; + rotation = "-0 -0 1 108.38"; + scale = "1.5 1.5 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-880.797 34.8831 143.676"; + rotation = "0 0 -1 63.0254"; + scale = "1.3 1.3 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "872.797 -42.8831 143.676"; + rotation = "-0 -0 1 116.975"; + scale = "1.3 1.3 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-979.64 -495.636 151.075"; + rotation = "0 0 1 69.3279"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "971.64 487.636 151.075"; + rotation = "0 0 -1 110.672"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-176.775 -890.178 122.351"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "168.775 882.178 122.351"; + rotation = "0 0 1 223.545"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S8maps.vl2/missions/S8_CentralDogma.mis b/public/base/@vl2/S8maps.vl2/missions/S8_CentralDogma.mis new file mode 100644 index 00000000..6693fded --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/missions/S8_CentralDogma.mis @@ -0,0 +1,2621 @@ +// DisplayName = S8-Central Dogma +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//[00:46] <+verve_> real men need no other glory than a map victory +// -- real talk +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//A Tribute to RenWerX. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "ice"; + useSpawnPoints = "1"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-992 -1008 2000 2016"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S8_rst_dogma.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 1.000000 0.000000 0.000000"; + fogDistance = "100"; + fogColor = "0.400000 0.400000 0.500000 1.000000"; + fogVolume1 = "32 0 49"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "0 0 0"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new Sun(Sun) { + position = "-897.324 -71.6496 155.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.850000 0.700000 1.000000"; + ambient = "0.600000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team1) { + + powerCount = "0"; + + new SimGroup(base) { + + powerCount = "1"; + + new StaticShape() { + position = "104.805 453.298 121.318"; + rotation = "0 0 1 237"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4235"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-44.2476 408.003 166.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + }; + new Turret() { + position = "114.382 496.594 133.418"; + rotation = "0 0 1 13"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "35"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new Turret() { + position = "10.1573 430.817 133.418"; + rotation = "0 0 -1 77"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "1"; + team = "1"; + Target = "36"; + damageTimeMS = "1810814"; + lastDamagedBy = "24380"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape() { + position = "34.6132 418.11 121.398"; + rotation = "0 0 1 56.7117"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "37"; + }; + new InteriorInstance() { + position = "-44.4156 408.036 157.094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "68.7634 423.325 117.322"; + rotation = "0 0 1 147.812"; + scale = "1 1 1"; + interiorFile = "rst_dogma_base.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "64.1308 460.794 135.585"; + rotation = "0 0 1 147.812"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "108.944 446.924 121.318"; + rotation = "0 0 1 237"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4244"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "49.5653 421.269 121.318"; + rotation = "0 0 1 12"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4246"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "43.172 401.772 121.318"; + rotation = "0 0 1 192"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4248"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "95.8284 410.469 118.176"; + rotation = "0 0 1 147.812"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationRot = "0 0 1 147.812"; + stationPos = "102.958 399.081 127.276"; + station = "4566"; + team = "1"; + Target = "41"; + Ready = "1"; + }; + }; + new Item() { + position = "34.6777 503.738 127.802"; + rotation = "0 0 1 147.812"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + team = "1"; + WayPoint = "4552"; + Trigger = "4553"; + Target = "42"; + originalPosition = "34.6777 503.738 127.802 0 0 1 2.57981"; + className = "FlagObj"; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Camera() { + position = "26.5696 479.473 123.974"; + rotation = "0 0 1 112.873"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "59.7458 493.528 123.374"; + rotation = "0 0 1 183.347"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "192.822 426.846 121.426"; + rotation = "0 0 -1 61.9707"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "191.464 432.895 121.426"; + rotation = "0 0 -1 102.651"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "61.5729 365.421 134.714"; + rotation = "0 0 1 0.773286"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "110.624 449.844 138.622"; + rotation = "0 0 -1 108.953"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "113.695 417.007 121.225"; + rotation = "0 0 1 57.387"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "121.793 443.423 122.025"; + rotation = "0 0 1 151.925"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "67.1562 392.157 127.225"; + rotation = "0 0 -1 43.636"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "-34.0873 395.392 162.048"; + rotation = "-0 -0 1 92.3375"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "186.785 505.12 149.325"; + rotation = "0 0 1 224.691"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "110.677 421.724 121.225"; + rotation = "0 0 1 57.387"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "117.911 441.352 122.025"; + rotation = "0 0 1 151.925"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "66.2645 357.357 134.714"; + rotation = "0 0 1 0.773286"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "53.7061 360.527 134.714"; + rotation = "0 0 1 0.773286"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "21.1633 428.527 134.822"; + rotation = "-0 -0 1 102.078"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "13.524 423.412 134.822"; + rotation = "0 0 1 102.078"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "72.8714 466.391 136.422"; + rotation = "0 0 -1 90.2958"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "55.4271 455.062 136.422"; + rotation = "0 0 -1 0.34264"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "95.851 481.314 134.622"; + rotation = "0 0 -1 90.2958"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "101.554 485.018 134.622"; + rotation = "0 0 -1 33"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "107.089 488.613 134.622"; + rotation = "0 0 1 1.3774"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Camera() { + position = "17.3002 539.257 149.953"; + rotation = "0 0 1 147.812"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + }; + new WayPoint() { + position = "37.6514 422.102 121.834"; + rotation = "0 0 -1 32.6586"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + }; + new SimGroup(team2) { + + powerCount = "0"; + + new SimGroup(base) { + + powerCount = "1"; + + new TSStatic() { + position = "-73.0637 -398.329 120.125"; + rotation = "0 0 -1 32.188"; + scale = "2 2 2"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-128.455 -450.35 114.725"; + rotation = "0 0 -1 32.188"; + scale = "2 2 2"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-120.366 -427.534 114.325"; + rotation = "0 0 1 57"; + scale = "2 2 2"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-54.9663 -514.742 139.801"; + rotation = "0 0 -1 32.188"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-122.399 -504.624 133.418"; + rotation = "0 0 1 193"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "43"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new Turret() { + position = "-18.1746 -438.847 133.418"; + rotation = "-0 -0 1 103"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "1"; + team = "2"; + Target = "44"; + damageTimeMS = "1810814"; + lastDamagedBy = "24380"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape() { + position = "36.2303 -416.033 166.725"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "-42.8068 -426.217 121.326"; + rotation = "0 0 1 238"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + new InteriorInstance(InteriorInstance) { + position = "36.3983 -416.066 157.094"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-76.7807 -431.355 117.322"; + rotation = "0 0 -1 32.188"; + scale = "1 1 1"; + interiorFile = "rst_dogma_base.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-72.1308 -468.794 135.585"; + rotation = "0 0 -1 32.188"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-57.5653 -429.269 121.318"; + rotation = "0 0 1 192"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4291"; + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "-51.172 -409.772 121.318"; + rotation = "0 0 1 12"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4293"; + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "-116.944 -454.924 121.318"; + rotation = "0 0 1 57"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4295"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "-112.914 -461.13 121.318"; + rotation = "0 0 1 57"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4297"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "-103.733 -418.612 118.22"; + rotation = "0 0 -1 32.188"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationRot = "0 0 -1 32.188"; + stationPos = "-110.958 -407.081 127.276"; + station = "4569"; + team = "2"; + Target = "51"; + Ready = "1"; + }; + }; + new Item() { + position = "-42.641 -511.648 127.821"; + rotation = "0 0 -1 32.188"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + team = "2"; + WayPoint = "4554"; + Trigger = "4555"; + Target = "52"; + originalPosition = "-42.641 -511.648 127.821 0 0 -1 0.561787"; + className = "FlagObj"; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Camera() { + position = "-34.5696 -487.473 123.374"; + rotation = "0 0 -1 67.127"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-69.5729 -373.421 134.714"; + rotation = "0 0 1 182.773"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-74.3798 -365.179 134.714"; + rotation = "0 0 1 182.773"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-61.5111 -368.205 134.714"; + rotation = "0 0 1 182.773"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-121.695 -425.007 121.225"; + rotation = "0 0 1 237.387"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-118.569 -429.893 121.225"; + rotation = "0 0 1 237.387"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-129.793 -451.423 122.025"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-125.381 -449.07 122.025"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-67.7458 -505.528 123.374"; + rotation = "0 0 1 3.34679"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-29.1633 -436.527 134.822"; + rotation = "0 0 -1 77.9223"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-21.4822 -431.217 134.822"; + rotation = "0 0 -1 77.9223"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-194.785 -513.12 149.325"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "26.0873 -403.392 162.048"; + rotation = "0 0 -1 87.6625"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-199.464 -440.895 121.426"; + rotation = "0 0 1 77.3493"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-191.881 -446.367 122.226"; + rotation = "0 0 1 28.0749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-75.1562 -400.157 127.225"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-118.624 -457.844 138.622"; + rotation = "0 0 1 71.0468"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-80.8714 -474.391 136.422"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-63.4271 -463.062 136.422"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-109.554 -493.018 134.622"; + rotation = "0 0 1 147"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-115.089 -496.613 134.622"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-106.851 -489.314 134.622"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new Camera() { + position = "-25.3002 -547.257 149.953"; + rotation = "0 0 -1 32.188"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + }; + new WayPoint() { + position = "-45.6473 -430.038 121.834"; + rotation = "0 0 -1 32.6586"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new TSStatic() { + position = "84.8775 475.703 134.646"; + rotation = "0 0 1 152.157"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "83.4413 474.772 133.246"; + rotation = "0 0 1 148.146"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "39.8568 394.137 133.204"; + rotation = "0 0 1 53.8581"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "-325.297 5.68175 122.853"; + rotation = "0 0 1 107"; + scale = "1 1 1"; + interiorFile = "rst_dogma_bridge2.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "100.078 388.565 127.353"; + rotation = "0 0 1 147.25"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new WaterBlock() { + position = "-1024 -1024 49"; + rotation = "1 0 0 0"; + scale = "2048 2048 1"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + params1 = "0.63 -2.41 0.33 0.21"; + params3 = "1.21 -0.61 0.13 -0.33"; + params0 = "0.32 -0.67 0.066 0.5"; + textureSize = "32 32"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + floodFill = "1"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new TSStatic() { + position = "96.7138 386.401 127.353"; + rotation = "0 0 1 147.25"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "86.3292 476.566 133.246"; + rotation = "0 0 1 148.146"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "317.297 -13.6818 122.853"; + rotation = "0 0 -1 73"; + scale = "1 1 1"; + interiorFile = "rst_dogma_bridge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "46.9663 506.742 139.801"; + rotation = "0 0 1 147.812"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "98.2277 387.375 128.753"; + rotation = "0 0 1 147.25"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "120.455 442.35 114.725"; + rotation = "0 0 1 147.812"; + scale = "2 2 2"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "112.366 419.534 114.325"; + rotation = "0 0 1 237.812"; + scale = "2 2 2"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "65.0637 390.329 120.125"; + rotation = "0 0 1 147.812"; + scale = "2 2 2"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-104.714 -394.401 127.353"; + rotation = "0 0 -1 32.75"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-91.4413 -482.772 133.246"; + rotation = "0 0 -1 32.854"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-94.1295 -484.508 133.246"; + rotation = "0 0 -1 32.854"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-92.2814 -483.314 134.646"; + rotation = "0 0 -1 32.854"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-107.405 -396.132 127.353"; + rotation = "0 0 -1 32.75"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-106.06 -395.267 128.753"; + rotation = "0 0 -1 32.75"; + scale = "1.5 1.5 1.5"; + shapeName = "stackable3s.dts"; + }; + new SimGroup(ObserverDroppoints) { + + powerCount = "0"; + + new Camera() { + position = "-98.2346 -189.151 199.615"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "90.2346 181.151 199.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-606.249 43.8617 180.787"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "598.249 -51.8617 180.787"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-56.7173 -413.982 124.268"; + rotation = "0 0 1 147.823"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "48.7173 405.982 124.268"; + rotation = "0 0 -1 32.177"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "231.832 -580.959 149.51"; + rotation = "0 0 -1 60.1606"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-239.832 578.959 149.51"; + rotation = "-0 -0 1 119.839"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition2BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-84 -812 158.725"; + rotation = "0.0743325 0.0748121 -0.994423 118.282"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-116 -700 158.397"; + rotation = "0.00881647 0.155496 0.987797 148.371"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-76 -748 154.444"; + rotation = "0.0815513 -0.0195681 0.996477 110.19"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-76 -812 159.803"; + rotation = "-0.363403 0.667206 0.650211 7.6831"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-60 -756 154.803"; + rotation = "0.12627 -0.0311783 -0.991506 76.4744"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -756 159.991"; + rotation = "-0.195381 -0.0986134 -0.975757 79.3787"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition3BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-364 -788 111.225"; + rotation = "0.566586 0.102398 0.817616 35.105"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-492 -628 138.678"; + rotation = "-0.0832313 0.150491 0.985102 86.8583"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-444 -612 148.569"; + rotation = "-0.279677 0.219657 -0.934629 89.8701"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-412 -700 122.803"; + rotation = "-0.323305 0.568681 -0.756357 48.9543"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-492 -596 133.678"; + rotation = "0.213189 0.0902206 -0.972836 63.4023"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 -636 151.053"; + rotation = "-0.228637 -0.139873 0.963411 60.8476"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition6BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-156 -172 141.553"; + rotation = "-0.559998 -0.662077 -0.498052 12.0132"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244 -284 153.616"; + rotation = "0.327721 0.0673805 0.942369 39.0956"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108 -268 134.85"; + rotation = "-0.147983 -0.279229 -0.948753 88.008"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-276 -228 117.819"; + rotation = "0.134478 -0.127654 0.98266 81.9914"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244 -164 136.928"; + rotation = "-0.220542 -0.00602765 0.975359 131.086"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 -212 136.866"; + rotation = "-0.0443697 0.0350701 0.998399 184.992"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition7BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "4 -220 125.022"; + rotation = "0.241811 0.0458004 -0.969242 91.7896"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "172 -204 118.85"; + rotation = "0.16699 0.103124 0.980551 208.459"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "44 -172 118.819"; + rotation = "0.00740826 0.151563 0.98842 175.058"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "156 -124 122.319"; + rotation = "-0.201689 -0.102102 -0.974113 83.4902"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "76 -52 129.272"; + rotation = "0.0597649 0.321413 0.945051 151.579"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "116 -100 116.881"; + rotation = "0.0692582 0.24292 0.967571 29.929"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition8BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "532 -180 139.537"; + rotation = "-0.109176 -0.0529291 0.992612 139.278"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 -172 134.381"; + rotation = "0.0549722 -0.0690169 0.9961 182.988"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "580 -76 145.491"; + rotation = "-0.28249 -0.00132084 -0.959269 95.3757"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "452 -76 137.756"; + rotation = "-0.737332 0.034783 -0.674635 37.7831"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "588 -116 143.381"; + rotation = "0.285595 0.0104179 0.958294 49.8397"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "452 -188 128.975"; + rotation = "-0.898713 0.344937 -0.270801 14.6963"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition9BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "692 -436 87.5844"; + rotation = "-0.513075 -0.385412 -0.76695 39.7596"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "660 -420 104.709"; + rotation = "-0.368246 -0.712582 0.597179 32.9002"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "724 -372 90.7562"; + rotation = "-0.163799 -0.15834 0.973703 75.4728"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "644 -484 116.944"; + rotation = "0.192216 -0.641125 0.742975 47.2418"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 -380 95.6469"; + rotation = "-0.274543 -0.190391 -0.942538 85.3696"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "604 -428 128.616"; + rotation = "-0.215673 -0.226814 -0.949758 94.9477"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition10BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "908 -692 117.912"; + rotation = "-0.142933 0.0902979 0.985605 224.416"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "812 -628 70.3501"; + rotation = "0.47092 0.141861 -0.870695 72.3846"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "916 -612 129.928"; + rotation = "-0.218787 -0.172376 0.960426 222.416"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "772 -564 65.6938"; + rotation = "-0.0171117 0.327855 -0.944573 66.9725"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "876 -564 109.85"; + rotation = "-0.351678 0.645394 0.678078 41.7535"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "844 -652 85.0375"; + rotation = "-0.0882654 0.041016 0.995252 134.196"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition11BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "716 -972 150.725"; + rotation = "0.461116 -0.207111 0.862831 58.9562"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "828 -964 131.303"; + rotation = "0.212181 -0.0846498 0.973557 134.113"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "724 -972 147.131"; + rotation = "-0.0511743 -0.308461 -0.94986 113.725"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "732 -972 144.709"; + rotation = "0.0971927 0.20504 0.973916 181.948"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "764 -948 138.209"; + rotation = "0.0608049 0.289248 0.955321 99.5915"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "668 -956 134.022"; + rotation = "-0.135838 0.273074 0.952354 83.7721"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition12BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "516 -1060 166.741"; + rotation = "-0.336697 0.0417849 0.940685 121.048"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "356 -1012 125.866"; + rotation = "-0.114014 -0.491198 0.863554 80.1505"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "516 -996 137.381"; + rotation = "0.110029 0.027636 0.993544 54.3008"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -1164 134.444"; + rotation = "0.500945 0.0344204 -0.864795 34.4301"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "468 -1020 145.834"; + rotation = "-0.0912592 0.00305042 0.995822 208.884"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "404 -1172 132.506"; + rotation = "-0.579695 -0.44158 -0.684808 46.7816"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition13BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-68 -748 153.834"; + rotation = "0.0982335 -0.110501 -0.989009 33.3462"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-28 -740 157.741"; + rotation = "-0.13982 0.0837238 -0.986631 40.4984"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-12 -836 148.928"; + rotation = "0.39237 -0.209794 0.895563 30.0136"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "44 -876 133.538"; + rotation = "0.12123 -0.139564 0.982764 123.831"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-84 -732 156.178"; + rotation = "-0.121013 -0.0221751 -0.992403 86.4358"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "4 -748 156.522"; + rotation = "0.141349 -0.0644356 0.987861 87.6993"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition14BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-636 -324 147.225"; + rotation = "-0.204309 -0.080065 0.975627 238.783"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-628 -244 154.475"; + rotation = "-0.206772 -0.0179566 0.978224 96.2551"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-732 -284 142.256"; + rotation = "0.35668 0.1797 -0.916781 75.7691"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-620 -276 154.631"; + rotation = "0.21712 0.170099 -0.96121 113.101"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-596 -204 159.288"; + rotation = "0.0696937 -0.111266 0.991344 59.4278"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-596 -292 165.006"; + rotation = "0.187152 0.175554 -0.966517 93.9485"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition15BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-420 188 131.35"; + rotation = "0.0794798 0.994596 -0.0668005 29.287"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-388 132 131.131"; + rotation = "-0.026286 0.106495 -0.993966 72.3302"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-396 92 131.866"; + rotation = "0.253805 0.153329 -0.955025 57.1883"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-476 180 129.662"; + rotation = "0.935142 -0.00294822 0.354261 16.8301"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-396 108 131.022"; + rotation = "-0.078116 0.0818841 0.993576 99.3647"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-404 92 130.084"; + rotation = "0.294732 0.128291 -0.946929 56.5676"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition16BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-164 244 122.584"; + rotation = "0.0476892 -0.134982 0.9897 137.403"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-156 124 95.9906"; + rotation = "0.0455521 0.180145 0.982585 39.6378"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-220 260 141.397"; + rotation = "0.191303 -0.291556 -0.937229 76.5838"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-188 212 125.397"; + rotation = "0.182115 -0.115601 0.976458 144.794"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-164 140 97.5219"; + rotation = "0.0770281 -0.212012 0.974227 232.799"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 284 126.006"; + rotation = "0.415043 0.706077 -0.573755 30.8639"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition17BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "4 108 123.538"; + rotation = "0.689802 0.277335 0.668774 26.6475"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-44 140 121.881"; + rotation = "0.91157 -0.405798 0.0660981 15.0425"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "20 108 126.975"; + rotation = "0.659306 0.684618 0.310828 28.4175"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "68 196 124.709"; + rotation = "-0.0981705 0.192151 0.976443 178.047"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-52 228 131.803"; + rotation = "0.0948163 -0.18364 0.97841 236.946"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 276 160.272"; + rotation = "-0.805771 -0.0908576 0.585216 38.3404"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition18BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "316 212 122.319"; + rotation = "-0.411116 -0.703804 -0.579348 27.2715"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "364 164 115.053"; + rotation = "0.338855 -0.389093 -0.856612 79.5678"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "404 220 92.6938"; + rotation = "-0.721882 -0.0980231 0.685039 30.2782"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 300 138.241"; + rotation = "-0.195811 0.223434 -0.954848 89.6455"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "300 132 119.459"; + rotation = "0.0259812 0.10114 0.994533 133.229"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "460 220 101.412"; + rotation = "-0.287156 -0.148595 0.946288 170.535"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition19BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "708 84 152.256"; + rotation = "0.0475759 -0.213612 0.975759 164.383"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "788 228 119.178"; + rotation = "0.125476 0.0514347 0.990762 159.189"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 76 151.131"; + rotation = "-0.269578 0.0530598 -0.961516 113.084"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "708 164 149.116"; + rotation = "0.779872 0.0717438 0.621814 34.7187"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "652 220 155.225"; + rotation = "0.0490571 -0.156242 -0.9865 64.7024"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "652 260 141.881"; + rotation = "0.0591163 0.133975 0.98922 183.957"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition20BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "692 532 92.475"; + rotation = "0.106977 0.285982 0.952245 225.95"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "812 476 79.1312"; + rotation = "-0.357554 0.0932758 0.929223 68.8684"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "820 604 109.756"; + rotation = "-0.240465 -0.0494045 0.9694 142.107"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "748 468 74.4281"; + rotation = "0.846091 -0.268465 0.460496 15.1314"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "796 548 72.1312"; + rotation = "-0.13579 -0.135765 0.981391 212.418"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 492 96.6781"; + rotation = "0.12116 0.0706207 0.990118 200.797"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition21BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "620 764 83.8187"; + rotation = "0.0797463 -0.194921 0.977572 117.162"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "564 692 103.709"; + rotation = "0.211909 0.102685 0.97188 222.877"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "492 788 107.178"; + rotation = "0.0432436 0.167235 0.984968 139.566"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "596 796 105.022"; + rotation = "0.107472 -0.296716 0.948899 140.933"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "516 740 112.038"; + rotation = "0.00450754 -0.0424463 -0.999089 25.0223"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "588 780 100.162"; + rotation = "0.066819 -0.28528 0.956112 127.079"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition22BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-4 676 152.788"; + rotation = "-0.0541879 0.318962 -0.946217 64.8325"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "60 724 154.803"; + rotation = "0.180276 0.125998 0.975513 51.0968"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-52 820 140.819"; + rotation = "0.212065 0.167769 -0.962747 49.6368"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "116 844 165.178"; + rotation = "-0.0623118 0.187041 -0.980374 113.049"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-52 676 145.616"; + rotation = "-0.27151 0.299452 -0.914664 88.0934"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "84 828 158.803"; + rotation = "-0.347574 -0.106156 -0.931624 45.8396"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition23BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-484 620 124.272"; + rotation = "0.0171576 0.252126 0.967542 191.613"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-516 588 139.256"; + rotation = "-0.0459352 0.348332 0.936245 145.212"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-452 540 149.944"; + rotation = "-0.0534579 -0.259463 0.964272 120.807"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-524 524 162.178"; + rotation = "0.102227 -0.0629596 -0.992767 47.305"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-500 492 154.428"; + rotation = "0.30981 0.129834 0.941892 224.543"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-436 468 111.928"; + rotation = "-0.0535689 -0.06553 0.996412 63.1841"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition24BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-876 452 113.209"; + rotation = "-0.142958 -0.303998 -0.941885 86.4153"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-692 452 87.1469"; + rotation = "-0.316479 0.517956 0.794709 45.665"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-756 292 123.788"; + rotation = "0.200451 -0.147171 -0.968587 69.7055"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-772 468 66.6781"; + rotation = "-0.503577 0.499785 -0.704716 21.1633"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-732 428 78.5531"; + rotation = "0.102629 0.241151 -0.965046 47.4847"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-892 380 134.303"; + rotation = "0.00726963 -0.664897 -0.7469 48.263"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition25BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-844 156 150.1"; + rotation = "0.13914 -0.113061 0.983797 35.5404"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-900 60 138.413"; + rotation = "-0.475105 -0.168531 0.863639 62.1596"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-884 84 147.037"; + rotation = "0.0961601 0.0887207 -0.991404 110.465"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-860 204 150.397"; + rotation = "0.0291079 -0.0620419 0.997649 180"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-836 100 137.788"; + rotation = "-0.114672 -0.973845 0.196155 29.9173"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-740 108 135.553"; + rotation = "-0.12396 0.00923091 0.992244 221.703"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition26BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-172 428 100.334"; + rotation = "-0.0012563 0.16832 0.985732 81.8144"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-268 380 92.2094"; + rotation = "0.35792 -0.642046 -0.67799 20.5301"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 444 95.6469"; + rotation = "0.59247 -0.0994003 -0.799437 27.3324"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 476 97.3813"; + rotation = "-0.0278237 0.202964 -0.978791 99.2145"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 396 99.6"; + rotation = "0.697762 0.249151 -0.671604 40.7344"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-172 324 125.537"; + rotation = "-0.0304226 -0.0912816 0.99536 83.2645"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition27BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "332 -356 85.5063"; + rotation = "0.403402 0.142853 -0.903803 55.6449"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 -380 134.475"; + rotation = "0.770421 0.637535 0 16.3809"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "284 -276 108.991"; + rotation = "-0.0663074 0.0376616 0.997088 112.155"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 -316 123.772"; + rotation = "-0.0718852 0.0763259 0.994488 210.837"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -404 107.428"; + rotation = "-0.225677 0.196276 0.954225 171.41"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "292 -364 93.6312"; + rotation = "0.236425 0.124565 -0.963632 23.8436"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + }; + }; + new SimGroup(environment) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-357.906 342.994 95.2476"; + rotation = "0 0 -1 110.581"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "316.189 -310.873 68.0454"; + rotation = "0 0 1 131.78"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "442.909 193.246 88.8385"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-450.909 -201.246 88.8385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-155.075 471.614 80.5241"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "147.075 -479.614 80.5241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-0.97368 -304.858 163.658"; + rotation = "0 0 -1 39.5341"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-388.4 -571.418 166.22"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-202.204 -458.822 120.109"; + rotation = "0 0 -1 118.212"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-36.4454 -690.164 155.66"; + rotation = "0 0 -1 118.602"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "642.383 -644.544 72.3489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-650.383 636.544 72.3489"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "28.4454 682.164 155.66"; + rotation = "-0 -0 1 61.398"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "194.204 450.822 120.109"; + rotation = "-0 -0 1 61.788"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "389.4 563.418 166.22"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-8.97368 296.858 163.658"; + rotation = "0 0 1 140.466"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-558.109 64.0763 152.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "550.109 -72.0763 152.77"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "98.0588 173.935 114.924"; + rotation = "0 0 1 239.679"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-106.059 -181.935 114.924"; + rotation = "0 0 1 59.679"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-223.059 72.158 94.7861"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "215.059 -80.158 94.7861"; + rotation = "0 0 1 147.914"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//////////////////////////////////////////////////////////////////////// +// New dual option spawn system for 2k+ mission area maps by ZOD +// For use with the Map Support system version 2.0 +// http://www.planettribes.com/syrinx/ +//////////////////////////////////////////////////////////////////////// +// +// Spawn Point method: +// First, place observer cameras in your SimGroup(spawnspheres) in the +// locations you want players to spawn. Make sure the bounding boxes are +// not touching anything like terrain, or players will fall through. +// +// Then add the following to your main MissionGroup: +// useSpawnPoints = "1"; +// This tells the code to use the new span points instead of new sphere code. +// Thats it, your done (DO NOT ATTEMPT TO MAKE A GRAPH!) +// +//////////////////////////////////////////////////////////////////////// +// +// Spawm Sphere method: +// Place spawn sphere markers as you would do for any normal map in your +// SimGroup(spawnspheres). Adjust the sphere radius as you normally would. +// Thats it, your done (DO NOT ATTEMPT TO MAKE A GRAPH!) +// +// The only design problem with this method is that you cannot make +// it more likely then not a player spawn indoors or outdoors. If +// you have two spheres, one indoor and one outdoor, it will randomly +// pick one of the spheres, there is no way to force one or the other +// to be used more often. +// +// There is also the possibility that a player will spawn in the wall +// of an interior, but they player will be able to get out. This is +// due to flaws in some interiors collision meshes. +// +//////////////////////////////////////////////////////////////////////// +// +// Basically if a spawn sphere graph does not exist, it uses one of these +// methods. This makes it totally backwards compatible. All the mapper +// has to do is NOT run a spawn graph and this code will automatically +// kick in. +// +//////////////////////////////////////////////////////////////////////// + +package alternateSpawn +{ + function DefaultGame::pickTeamSpawn(%game, %team) + { + // Switch to alternate spawn code if no graph exists + if (!navGraphExists()) + { + //error("No navigation graph is present. Using alternative spawn code."); + %spawnType = MissionGroup.useSpawnPoints; + %group = nameToID("MissionCleanup/TeamDrops" @ %team); + if (%group != -1) + { + %count = %group.getCount(); + if(%count != 0) + { + if(%spawnType) + { + for (%i = 0; %i < %count; %i++) + { + %index = mFloor(getRandom(1, (%count - 1))); + %obj = %group.getObject(%index); + InitContainerRadiusSearch( %obj.position, 2, $TypeMasks::PlayerObjectType ); + %test = containerSearchNext(); + if(!%test) + { + return %obj.getTransform(); + break; + } + } + } + else + { + for (%i = 0; %i < %count; %i++) + { + %index = mFloor(getRandom(1, (%count - 1))); + if(%index >= 2) + %obj = %group.getObject(%index); + else + %obj = %group.getObject(%i); + } + %index = -1; + for(%x=0; %x < %obj.spawnPosCount; %x++) + { + %index = mFloor(getRandom() * %obj.spawnPosCount); + %avoidThese = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType | + $TypeMasks::PlayerObjectType | $TypeMasks::TurretObjectType; + + InitContainerRadiusSearch(%obj.spawnPos[%index], 2, %avoidThese); + if(ContainerSearchNext() == 0) + break; + else + %index = -1; + } + if(%index >= 0) + return %obj.spawnPos[%index] @ " " @ getWords(%obj.getTransform(), 3, 6); + else + return -1; + } + } + else + return "0 0 400 1 0 0 0"; + } + else + return "0 0 400 1 0 0 0"; + } + else + { + for (%attempt = 0; %attempt < 20; %attempt++) + { + // finds a random spawn sphere + // selects inside/outside on this random sphere + // if the navgraph exists, then uses it to grab a random node as spawn + // location/rotation + %sphere = %game.selectSpawnSphere(%team); + if (%sphere == -1) + { + echo("No spawn spheres found for team " @ %team); + return -1; + } + %zone = %game.selectSpawnZone(%sphere); + %useIndoor = %zone; + %useOutdoor = !%zone; + if (%zone) + %area = "indoor"; + else + %area = "outdoor"; + + %radius = %sphere.radius; + %sphereTrans = %sphere.getTransform(); + %sphereCtr = getWord(%sphereTrans, 0) @ " " @ getWord(%sphereTrans, 1) @ " " @ getWord(%sphereTrans, 2); //don't need full transform here, just x, y, z + //echo("Selected Sphere is " @ %sphereCtr @ " with a radius of " @ %radius @ " meters. Selecting from " @ %area @ " zone."); + + %avoidThese = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType | + $TypeMasks::PlayerObjectType | $TypeMasks::TurretObjectType; + + for (%tries = 0; %tries < 10; %tries++) + { + %nodeIndex = navGraph.randNode(%sphereCtr, %radius, %useIndoor, %useOutdoor); + if (%nodeIndex >= 0) + { + %loc = navGraph.randNodeLoc(%nodeIndex); + %adjUp = VectorAdd(%loc, "0 0 1.0"); // don't go much below + if (ContainerBoxEmpty( %avoidThese, %adjUp, 2.0)) + break; + } + } + if (%nodeIndex >= 0) + { + %loc = navGraph.randNodeLoc(%nodeIndex); + if (%zone) + { + %trns = %loc @ " 0 0 1 0"; + %spawnLoc = whereToLook(%trns); + } + else + { + %rot = %game.selectSpawnFacing(%loc, %sphereCtr, %zone); + %spawnLoc = %loc @ %rot; + } + return %spawnLoc; + } + } + } + } + + function DefaultGame::missionLoadDone(%game) + { + Parent::missionLoadDone(%game); + + // Have to setup the spawnspheres here, for some reason ::onAdd is not automatically + // called by T2 for cameras and mission markers. I don't really like doing this but + // no choice right now. + + %spawnone = nameToID("MissionCleanup/TeamDrops1"); + for(%i = 0; %i < %spawnone.getCount(); %i++) + { + %obj = %spawnone.getObject(%i); + %obj.getDataBlock().onAdd(%obj); + } + %spawntwo = nameToID("MissionCleanup/TeamDrops2"); + for(%i = 0; %i < %spawntwo.getCount(); %i++) + { + %obj = %spawntwo.getObject(%i); + %obj.getDataBlock().onAdd(%obj); + } + } +}; + +activatepackage(alternateSpawn); + +function SpawnSphereMarker::onAdd(%this, %obj) +{ + // The radius is set by the mapper and placed in + // the mis file in new MissionMarker() as radius = "NUM"; + %radius = %obj.radius; + + for(%y = -1; %y < 1; %y += 0.25) + { + %xCount = 0; + for(%x = -1; %x < 1; %x += 0.25) + { + $DestSpawnPos[(%yCount * 8) + %xCount] = %x @ " " @ %y; + %xCount++; + } + %yCount++; + } + %count = -1; + for(%x = 0; %x < 64; %x++) // Can only ever have a max of 64 spawn locations. + { + %pPos = getWords(%obj.getTransform(), 0, 2); + %pPosX = getWord(%pPos, 0); + %pPosY = getWord(%pPos, 1); + %pPosZ = getWord(%pPos, 2); + + %posX = %pPosX + (getWord($DestSpawnPos[%x],0) * %radius); + %posY = %pPosY + (getWord($DestSpawnPos[%x],1) * %radius); + + %terrHeight = getTerrainHeight(%posX @ " " @ %posY); + + if(mAbs(%terrHeight - %pPosZ) < %radius ) + { + %mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::MoveableObjectType; + + InitContainerRadiusSearch(%posX @ " " @ %posY @ " " @ %terrHeight, 2, %mask); + if(ContainerSearchNext() == 0) + if(InventoryDeployable.checkDeployPos(%posX @ " " @ %posY @ " " @ %terrHeight)) + %obj.spawnPos[%count++] = %posX @ " " @ %posY @ " " @ %terrHeight; + } + } + %obj.spawnPosCount = %count; + //error("SPAWN COUNT FOR: " @ %obj.getDataBlock().getName() @ " IS: " @ %count @ " OF 64"); +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/public/base/@vl2/S8maps.vl2/missions/S8_Geothermal.mis b/public/base/@vl2/S8maps.vl2/missions/S8_Geothermal.mis new file mode 100644 index 00000000..87647685 --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/missions/S8_Geothermal.mis @@ -0,0 +1,2105 @@ +// DisplayName = S8-Geothermal +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Near surface magma allowed for +//the early colonization of this +//otherwise barren world. Of course, +//fusion enabled us to leave it. +// -- Star Wolf engineer +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//8 Caps to Win! +//Generators power everything, shrikes only!! +//May by Fling :D !!! +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-1008 -1008 2000 1648"; + flightCeiling = "500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Geothermal.ter"; + squareSize = "8"; + emptySquares = "286527 352189 417854 352444 352574 418236 418366 418492 353086 418748 353342 287934 158295 158375 158551 158631 158807 158887 297512 232148 428840 494546"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + GraphFile = "MissionBlank.nav"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + coverage = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + }; + new WaterBlock() { + position = "-112 16 66.342"; + rotation = "1 0 0 0"; + scale = "224 224 20"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "300"; + fogColor = "0.500000 0.610000 0.600000 1.000000"; + fogVolume1 = "175 90 110"; + fogVolume2 = "350 110 185"; + fogVolume3 = "0 0 0"; + materialList = "flingsky03.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.93705e+31 2.37594e-15"; + high_fogVolume2 = "-1 -16964.7 -4.91925e-08"; + high_fogVolume3 = "-1 3.35544e+07 0.000931699"; + + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-457.262 -140.641 105.405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-578.679 -333.072 125.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-645.372 -310.644 138.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-662.864 -162.454 102.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-721.317 -19.8942 117.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-505 -240 115"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "flingsilo03.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-505 -238 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Reactor"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4210"; + damageTimeMS = "648734"; + }; + new StaticShape() { + position = "-527.5 -240 108"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4232"; + team = "1"; + Target = "34"; + }; + new InteriorInstance(InteriorInstance) { + position = "-529.085 -214.3 106.221"; + rotation = "0.251209 -0.0096208 -0.967885 93.13"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-485.488 -266.932 108.183"; + rotation = "0 0 1 10.8863"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-476.319 -256.773 108"; + rotation = "1 0 0 2.8649"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-683.532 103.603 108.5"; + rotation = "0 0 1 173"; + scale = "1 1 1"; + interiorFile = "flingvpad01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-684.569 107.75 127.443"; + rotation = "0 0 -1 7.00001"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + hapcFlyer = "removed"; + ScoutVehicle = "Removed"; + Ready = "1"; + team = "1"; + Target = "35"; + station = "4475"; + BomberFlyer = "removed"; + mobileBaseVehicle = "Removed"; + AssaultVehicle = "Removed"; + }; + new InteriorInstance(InteriorInstance) { + position = "-320 -163.5 151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingtanktrap01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new HoverVehicle() { + position = "-319.613 -163.523 154.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AssaultVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + turretObject = "4240"; + selfPower = "1"; + team = "1"; + Target = "36"; + mountable = "1"; + respawn = "0"; + }; + new StaticShape() { + position = "-657.427 101.115 130.5"; + rotation = "0 0 1 83"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4242"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "-658.647 110.21 130.5"; + rotation = "0 0 1 83"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4244"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "-708.162 94.9576 130.5"; + rotation = "0 0 -1 97"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4246"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "-709.378 103.941 130.5"; + rotation = "0 0 -1 97"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4248"; + team = "1"; + Target = "41"; + }; + new Item() { + position = "-669.685 121.305 130.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-713.5 92.5 155.5"; + rotation = "0 0 -1 7.00001"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new StaticShape() { + position = "-685.676 120.164 141.001"; + rotation = "-0.808232 -0.0235578 -0.588393 17.8012"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-505 -262.4 108"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4253"; + team = "1"; + Target = "43"; + }; + new StaticShape() { + position = "-505 -217.6 108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4255"; + team = "1"; + Target = "44"; + }; + new StaticShape() { + position = "-482.6 -240.2 108"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4257"; + team = "1"; + Target = "45"; + }; + new StaticShape() { + position = "-314.5 -163.27 152"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4259"; + team = "1"; + Target = "46"; + }; + new Turret() { + position = "-481.5 -217.5 119.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "47"; + }; + new StaticShape() { + position = "-528 -263.2 119.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "48"; + }; + new Turret() { + position = "-490 -255 114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "49"; + }; + new Turret() { + position = "-520 -225 114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "50"; + }; + new StaticShape() { + position = "-521.134 -256.149 85.6"; + rotation = "0 0 1 222.865"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-488.754 -223.959 85.6"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-499 -259.5 81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-512 -219.5 81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-523.991 -239.749 80.1258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-485.735 -243.825 79.9721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-528.618 -235.414 79.9164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-528.845 -236.6 81.3106"; + rotation = "0 -1 0 68.7549"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + + new InteriorInstance(InteriorInstance) { + position = "-505 -240 115.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingstand02.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-505 -240 115.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + team = "1"; + WayPoint = "4461"; + Trigger = "4462"; + Target = "51"; + originalPosition = "-505 -240 115.603 1 0 0 0"; + className = "FlagObj"; + }; + new WayPoint() { + position = "-319.739 -164.148 151.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tank Trap"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + new WayPoint() { + position = "-686.16 120.818 130.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Vehicle Bay"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "662.864 -162.454 102.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "457.262 -140.641 105.405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "578.679 -333.072 125.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "721.317 -19.8942 117.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "645.372 -310.644 138.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new HoverVehicle() { + position = "319.874 -163.278 154.033"; + rotation = "0.843695 -0.215239 0.491784 0.420579"; + scale = "1 1 1"; + dataBlock = "AssaultVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + turretObject = "4289"; + selfPower = "1"; + team = "2"; + Target = "52"; + mountable = "1"; + respawn = "0"; + }; + new StaticShape() { + position = "505 -238 85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Reactor"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + lastDamagedByTeam = "1"; + repairedBy = "4210"; + lastDamagedBy = "4210"; + damageTimeMS = "635901"; + }; + new StaticShape() { + position = "527.5 -240.2 108"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4292"; + team = "2"; + Target = "55"; + }; + new StaticShape() { + position = "482.5 -240 108"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4294"; + team = "2"; + Target = "56"; + }; + new StaticShape() { + position = "505 -217.5 108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4296"; + team = "2"; + Target = "57"; + }; + new StaticShape() { + position = "505 -262.5 108"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4298"; + team = "2"; + Target = "58"; + }; + new Turret() { + position = "520 -225 114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "59"; + lastDamagedByTeam = "1"; + lastProjectile = "6002"; + lastDamagedBy = "4210"; + damageTimeMS = "614431"; + }; + new Turret() { + position = "490 -255 114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "60"; + lastProjectile = "5983"; + }; + new Turret() { + position = "481.5 -217.5 119.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "61"; + lastProjectile = "6120"; + }; + new StaticShape() { + position = "528 -263.2 119.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "62"; + }; + new Item() { + position = "499 -259.5 81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "485.735 -243.825 79.9721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "528.618 -235.414 79.9164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "523.991 -239.749 79.9258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "528.845 -236.6 81.3106"; + rotation = "0 1 0 68.7549"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + + new Item() { + position = "512 -219.5 81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "505 -240 115"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "flingsilo03b.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "476.935 -264.712 107.983"; + rotation = "0 0 1 38.9612"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "470.695 -253.316 108.5"; + rotation = "0.0251029 0.0177249 0.999528 108.887"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "524.607 -211.906 106.273"; + rotation = "0.790592 -0.61209 0.0176025 13.0394"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "320 -163.5 151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingtanktrap01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "683.24 101.221 108.5"; + rotation = "0 0 1 7.00001"; + scale = "1 1 1"; + interiorFile = "flingvpad01b.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "684.569 107.75 127.443"; + rotation = "0 0 1 7.00001"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + hapcFlyer = "removed"; + ScoutVehicle = "Removed"; + inUse = "Down"; + Ready = "1"; + team = "2"; + Target = "63"; + station = "4477"; + BomberFlyer = "removed"; + mobileBaseVehicle = "Removed"; + AssaultVehicle = "Removed"; + }; + new StaticShape() { + position = "709.5 104.5 130.5"; + rotation = "0 0 1 97"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4320"; + team = "2"; + Target = "64"; + }; + new StaticShape() { + position = "708.5 95.5 130.5"; + rotation = "0 0 1 97"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4322"; + team = "2"; + Target = "65"; + }; + new StaticShape() { + position = "657.75 101.75 130.5"; + rotation = "0 0 -1 83"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4324"; + team = "2"; + Target = "66"; + }; + new StaticShape() { + position = "658.75 110.75 130.5"; + rotation = "0 0 -1 83"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4326"; + team = "2"; + Target = "67"; + }; + new Item() { + position = "670.058 121.405 131"; + rotation = "0 0 1 7.00001"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "685.766 120.763 141"; + rotation = "-0.882467 0.053974 0.467268 14.9147"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "713.5 92.5 155.5"; + rotation = "0 0 1 7.00001"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "68"; + }; + new InteriorInstance(InteriorInstance) { + position = "505 -240 115.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingstand02.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "505 -239.981 115.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + team = "2"; + WayPoint = "4463"; + Trigger = "4464"; + Target = "69"; + originalPosition = "505 -239.981 115.603 1 0 0 0"; + className = "FlagObj"; + }; + new StaticShape() { + position = "488.754 -223.959 85.6"; + rotation = "0 0 -1 44.3158"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "520.993 -256.291 85.6"; + rotation = "0 0 1 134.687"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "314.5 -163.27 152"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4336"; + team = "2"; + Target = "70"; + }; + new WayPoint() { + position = "686.152 120.724 130.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Vehicle Bay"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new WayPoint() { + position = "319.211 -163.498 153.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tank Trap"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter(vent01audio) { + position = "-172.405 -589.083 161.771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "HAPCFlyerThrustSound"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.35"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(rockventaudio00) { + position = "98.663 162.824 136.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "HAPCFlyerThrustSound"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(rockvent) { + position = "-470.568 254.5 163.662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "HAPCFlyerThrustSound"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.75"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "14.8244 351.515 218.782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-553.869 -139.355 103.136"; + rotation = "-0.905307 0.419989 -0.0634752 18.9557"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-557.326 -234.482 105.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-442.256 -316.882 106.493"; + rotation = "0.831159 -0.552972 -0.0582764 14.4527"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-427.619 -159.995 112.17"; + rotation = "0 1 0 25.7831"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-291.626 15.4008 105.59"; + rotation = "1 0 0 8.02147"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-203.084 -206.25 116.989"; + rotation = "0 1 0 17.1888"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-299.505 -477.359 140.374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-602.124 -456.535 140.307"; + rotation = "1 0 0 11.4592"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-769.042 -263.78 126.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-840.237 100.055 141.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-648.106 200.357 147.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-371.474 -691.355 144.935"; + rotation = "1 0 0 4.58367"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-548.027 -923.639 126.135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-1.15253 -877.909 110.087"; + rotation = "-1 0 0 15.4699"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316.824 -754.25 139.392"; + rotation = "0 1 0 9.16737"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "722.645 -722.902 118.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "662.022 -405.898 152.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "444.414 -457.347 129.546"; + rotation = "1 0 0 4.01071"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "240.463 -442.011 138.208"; + rotation = "0.645342 -0.758848 -0.0876543 20.2959"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "216.437 -181.239 106.546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "90.7009 -23.5379 99.371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "237.103 64.1365 114.741"; + rotation = "0 -1 0 4.58384"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "452.435 -41.05 107.971"; + rotation = "-1 0 0 18.9076"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "433.168 -278.376 101.343"; + rotation = "0.530697 0.847545 -0.00530715 10.8074"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "616.282 -126.766 106.466"; + rotation = "-0.513658 0.852328 -0.0984521 10.0204"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "638.188 -308.558 138.74"; + rotation = "1 0 0 8.02147"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "302.848 -131.785 153.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "223.52 -271.505 74.4294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "523.34 -318.427 120.399"; + rotation = "1 0 0 19.4806"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "761.955 30.9359 118.811"; + rotation = "-0.640032 -0.768108 -0.0192067 4.47494"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "857.301 342.813 110.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "693.817 -231.134 119.296"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "301.474 -48.7032 126.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "404.294 -477.556 137.176"; + rotation = "-0.074854 -0.0449508 -0.996181 118.223"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "479.885 223.308 150.344"; + rotation = "0 0 -1 61.8794"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "441.219 -125.136 103.945"; + rotation = "0 0 -1 6.30215"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "653.162 -669.71 137.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "373.244 -859.78 129.767"; + rotation = "0 0 1 70.4738"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-15.5534 -982.511 133.24"; + rotation = "0 0 -1 49.8473"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-289.381 -742.568 133.007"; + rotation = "0 0 -1 41.8259"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-621.815 -769.281 140.381"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-399.396 -232.593 106.007"; + rotation = "-0.374156 -0.222456 0.900289 29.057"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-146.556 65.4752 107.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-645.172 208.721 147.365"; + rotation = "0 0 1 213.323"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-719.766 -135.972 98.0749"; + rotation = "0 0 -1 21.1994"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-684.017 -426.811 151.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-544.664 -128.333 106.212"; + rotation = "-0.0144515 0.0199966 -0.999696 108.306"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-935.287 333.391 113.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-969.753 30.0744 130.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-459.411 106.526 221.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-278.535 295.251 222.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-143.996 318.876 206.735"; + rotation = "0 -1 0 28.6479"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "164.537 372.112 232.128"; + rotation = "0 1 0 7.44851"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "258.578 202.516 195.699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "559.193 126.891 165.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "734.986 454.302 175.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "354.393 446.252 222.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "184.486 538.88 228.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-244.988 512.315 237.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-506.599 449.18 175.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-790.958 453.113 175.458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-746.928 187.337 199.773"; + rotation = "0.986326 -0.16362 -0.0197292 13.9399"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-649.646 27.6433 91.9404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-737.856 -62.7861 113.607"; + rotation = "-0.771043 0.634484 -0.0540614 12.612"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-142.696 -460.051 192.128"; + rotation = "0 1 0 20.6265"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "48.2869 -392.807 225.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "68.9067 -469.966 219.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "10.9933 -690.166 167.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-7.39224 -249.632 189.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-134.747 -662.677 164.378"; + rotation = "0 1 0 10.3133"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-23.0105 -521.495 213.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new InteriorInstance() { + position = "-693.219 172.841 180.328"; + rotation = "0.586523 -0.80273 -0.107777 31.9283"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "102.524 163.609 139.459"; + rotation = "-0.353927 0.907343 -0.226856 70.4766"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "100.323 153.727 125.732"; + rotation = "-0.589004 0.75774 -0.280898 64.3706"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-372.271 288.222 233.322"; + rotation = "0 -1 0 8.02147"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-389.005 -154.53 139.42"; + rotation = "0 1 0 26.9291"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-48.4216 -382.612 223.548"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flingrock01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "101.151 163.288 132.152"; + rotation = "-0.973099 0.176951 0.147537 68.4822"; + scale = "1 1 1"; + interiorFile = "flingrockvent01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-171.948 -591.8 159.344"; + rotation = "-0.799346 0.598949 -0.0480184 11.4548"; + scale = "1 1 1"; + interiorFile = "flingrockvent01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.948 252.482 162.519"; + rotation = "-0.580218 0.807589 0.105582 25.3962"; + scale = "1 1 1"; + interiorFile = "flingrockvent01.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy(Vent) { + position = "-471.252 255.022 163.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy(vent00) { + position = "97.6581 162.007 136.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy(vent01) { + position = "-172.033 -588.898 161.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new TSStatic() { + position = "-642.817 -151.96 107.528"; + rotation = "0 -1 0 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-645.078 -152.041 105.325"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new Item() { + position = "-638.5 -151 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-639 -155.5 107.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-639.5 -148.5 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-640.5 -149 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-637.5 -152 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-640.5 -155.5 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-639 -156.5 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-638.5 -153 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-639.5 -148 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "626.819 -160.855 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "625.612 -155.9 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "625.966 -152.383 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "627.506 -153.319 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "624.654 -156.941 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "627.776 -159.814 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "626.798 -160.355 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "626.008 -153.382 107.925"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "625.695 -157.898 107.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "632.224 -156.585 105.35"; + rotation = "0 0 -1 91.8558"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "629.968 -156.76 107.553"; + rotation = "-0.338188 -0.0070341 0.941052 177.757"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Observer01) { + position = "-488.126 -139.463 165"; + rotation = "-0.00145202 -0.124327 0.99224 181.328"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(observer02) { + position = "7.55038 254.039 235.984"; + rotation = "-2.55331e-08 -0.338197 0.941075 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Observer03) { + position = "490.208 -303.938 154.6"; + rotation = "0.999375 0.00959573 -0.0340095 31.5314"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Observer04) { + position = "700.864 121.545 140.849"; + rotation = "-0.00404914 -0.0199585 0.999793 202.932"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Observer05) { + position = "-694.126 114.916 142.021"; + rotation = "0.136574 -0.29748 0.944909 133.097"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Precipitation(Precipitation) { + position = "-81.1154 -86.5593 122.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "snow"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "1000"; + maxRadius = "125"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S8maps.vl2/missions/S8_Mountking.mis b/public/base/@vl2/S8maps.vl2/missions/S8_Mountking.mis new file mode 100644 index 00000000..8731ba3f --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/missions/S8_Mountking.mis @@ -0,0 +1,1085 @@ +// DisplayName = S8-Mountain King +// MissionTypes = CTF +//--- MISSION STRING BEGIN --- +//[CTF]700 points to win +//Map by dienasty (edited by Rooster128) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "badlands"; + cdTrack = "4"; + CTF_scoreLimit = "7"; + + new MissionArea(MissionArea) { + area = "-1024 -880 2096 1728"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "-0.620542 0.254541 -0.741712"; + color = "0.800000 0.670000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.520000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet2"; + terrainFile = "mountking.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "60"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + rotation = "0 0 0 0"; + GraphFile = "Fracas.nav"; + locked = "true"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.400000 0.000000"; + fogDistance = "300"; + fogColor = "0.900000 0.700000 0.500000 1.000000"; + fogVolume1 = "300 0 70"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 8.07628e-36 4.47806e-39"; + high_fogVolume2 = "-1 7.55508e+31 1.11531e-38"; + high_fogVolume3 = "-1 0 8.07747e-36"; + + locked = "true"; + cloudSpeed0 = "0.001000 0.001000"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-117.701 -4.20123 179.586"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "109.701 -3.79877 179.586"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "550.442 81.1617 101.388"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "793.233 -5.45987 205.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "40"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "550.442 -108.038 101.388"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new Item() { + position = "797.756 -4.66164 214.909"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "583.92 -11.603 126.908"; + rotation = "0 0 1 89.379"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "33"; + className = "FlagObj"; + isHome = "1"; + originalPosition = "583.92 -11.603 126.908 0 0 1 1.55996"; + team = "1"; + WayPoint = "18908"; + Trigger = "18909"; + }; + new InteriorInstance(InteriorInstance) { + position = "549.226 -273.73 205.376"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "797.819 -4.753 204.909"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new SimGroup(selfpowered) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape() { + position = "794.506 -1.1289 206.855"; + rotation = "-0 0 -1 42.972"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "34"; + inUse = "Down"; + notReady = "1"; + Trigger = "18822"; + team = "1"; + }; + new StaticShape() { + position = "801.159 -8.18399 206.888"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "35"; + inUse = "Down"; + notReady = "1"; + Trigger = "18824"; + team = "1"; + }; + new StaticShape() { + position = "554.151 259.377 248.58"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + team = "1"; + }; + new StaticShape() { + position = "549.285 -273.911 243.572"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + team = "1"; + }; + new Turret() { + position = "465.395 -13.2848 132.947"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "38"; + originalBarrel = "PlasmaBarrelLarge"; + team = "1"; + }; + new InteriorInstance() { + position = "464.961 -13.4508 107.188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "679.805 107.749 168.531"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "679.611 107.866 158.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "679.611 112.266 160.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "18833"; + team = "1"; + }; + new StaticShape() { + position = "679.611 103.066 160.631"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "18835"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "719.411 -158.134 157.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "719.238 -153.588 159.729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "18838"; + team = "1"; + }; + new StaticShape() { + position = "719.238 -162.988 159.729"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "18840"; + team = "1"; + }; + new Item() { + position = "719.544 -158.123 167.731"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "554.072 259.71 210.192"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new WayPoint() { + position = "679.805 107.749 160.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + new WayPoint() { + position = "797.756 -4.66164 207.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + new WayPoint() { + position = "719.544 -158.123 160.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-472.361 -8.3492 107.788"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-558.442 100.038 101.388"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "-558.442 -89.1617 101.388"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "-801.233 -2.54013 205.415"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "40"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-562.072 -267.71 210.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-557.226 265.73 205.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape() { + position = "-809.159 0.18399 206.888"; + rotation = "0 0 -1 43.063"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "43"; + inUse = "Down"; + notReady = "1"; + Trigger = "18856"; + team = "2"; + }; + new StaticShape() { + position = "-802.506 -6.8711 206.855"; + rotation = "0 0 1 137.028"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "44"; + inUse = "Down"; + notReady = "1"; + Trigger = "18858"; + team = "2"; + }; + new Turret() { + position = "-472.795 -8.5152 133.547"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "45"; + originalBarrel = "PlasmaBarrelLarge"; + team = "2"; + }; + new StaticShape() { + position = "-557.285 265.911 243.572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "2"; + }; + new StaticShape() { + position = "-562.151 -267.377 248.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-687.611 99.934 158.531"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-687.611 104.734 160.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + Trigger = "18864"; + team = "2"; + }; + new StaticShape() { + position = "-687.611 95.534 160.631"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + Trigger = "18866"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-727.611 -148.266 157.731"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-727.744 -148.277 167.731"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-727.438 -152.812 159.729"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "18870"; + team = "2"; + }; + new StaticShape() { + position = "-727.438 -143.412 159.729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "18872"; + team = "2"; + }; + new Item() { + position = "-687.805 100.051 168.531"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + }; + new Item() { + position = "-591.92 -12.197 126.708"; + rotation = "0 0 -1 90.6207"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "52"; + className = "FlagObj"; + isHome = "1"; + originalPosition = "-591.92 -12.197 126.708 0 0 -1 1.58163"; + team = "2"; + WayPoint = "18910"; + Trigger = "18911"; + }; + new InteriorInstance(InteriorInstance) { + position = "-805.819 -3.247 204.909"; + rotation = "0 0 1 226.982"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "-805.756 -3.33836 214.909"; + rotation = "0 0 1 226.982"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new WayPoint() { + position = "-727.744 -148.277 160.531"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new WayPoint() { + position = "-805.756 -3.33836 207.709"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new WayPoint() { + position = "-687.805 100.051 161.331"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-3.77883 -2.78578 155.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "-4.99816 -47.1089 195.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-0.776868 -48.0105 195.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-0.628182 41.8867 195.326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-5.57195 40.4684 196.081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-8.8858 41.7969 177.565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-8.7297 38.7021 177.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-8.8513 36.6425 177.968"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "1.46303 41.8481 177.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "0.710423 36.3346 177.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "1.27565 38.7851 177.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "1.45806 39.8611 177.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-3.55275 42.7594 177.857"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-3.72731 -48.4694 177.669"; + rotation = "0 0 1 83.0788"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-9.05267 -46.2003 177.315"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-9.00213 -45.1101 177.302"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-8.73831 -42.6091 177.505"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-8.8166 -48.1732 177.079"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "0.790183 -41.755 177.78"; + rotation = "0 0 -1 107.899"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "0.919295 -43.8141 177.392"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "1.44963 -46.8671 177.377"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + }; + new StaticShape() { + position = "583.92 -11.603 126.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-591.92 -12.197 126.508"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new SimGroup() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S8maps.vl2/missions/S8_Opus.mis b/public/base/@vl2/S8maps.vl2/missions/S8_Opus.mis new file mode 100644 index 00000000..b523e94c --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/missions/S8_Opus.mis @@ -0,0 +1,1031 @@ +// DisplayName = S8-Opus +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Never interrupt your enemy when he is making a mistake. +// -- Napoleon Bonaparte +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Bunch 'o bowls. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + cdTrack = "2"; + CTF_scoreLimit = "8"; + musicTrack = "ice"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-992 -1008 2000 2016"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0 0.472008 -0.881594"; + color = "0.930000 0.740000 0.670000 1.000000"; + ambient = "0.420000 0.320000 0.370000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "S8_rst_opus.ter"; + squareSize = "8"; + emptySquares = "284059 284315 305248 305504 305760"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + coverage = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + locked = "true"; + GraphFile = "Equinox.nav"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "1.000000 1.000000 1.000000 1.000000"; + fogDistance = "200"; + fogColor = "0.250000 0.370000 0.420000 0.100000"; + fogVolume1 = "200 0 44"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -6.14964"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new InteriorInstance() { + position = "-347.133 -157.725 42.4871"; + rotation = "0 0 1 48.1284"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-888.594 29.0907 29.9032"; + rotation = "0 0 -1 95.1109"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-349.562 189.894 49.4477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-180.759 192.978 71.3221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-94.141 357.568 49.6749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new StaticShape() { + position = "-214.892 276.039 55.8331"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4242"; + team = "2"; + Target = "33"; + }; + new StaticShape() { + position = "-230.139 271.895 55.8331"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4244"; + team = "2"; + Target = "34"; + }; + new StaticShape() { + position = "-230.139 271.895 67.8331"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4246"; + team = "2"; + Target = "35"; + }; + new StaticShape() { + position = "-214.892 276.039 67.8331"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4248"; + team = "2"; + Target = "36"; + }; + new StaticShape() { + position = "-234.625 318.374 55.8693"; + rotation = "0 0 -1 16"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "301823"; + team = "2"; + repairedBy = "4218"; + wasDisabled = "0"; + lastDamagedBy = "4218"; + lastDamagedByTeam = "1"; + Target = "37"; + }; + new InteriorInstance(InteriorInstance) { + position = "-336.756 329.167 139.277"; + rotation = "0 0 1 161.665"; + scale = "0.66 0.66 0.66"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-229.305 298.45 63.7916"; + rotation = "-0 0 -1 15.2058"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "6724"; + team = "2"; + Target = "38"; + }; + new InteriorInstance(InteriorInstance) { + position = "-181.328 198.963 71.6948"; + rotation = "1 0 0 0"; + scale = "0.66 0.66 0.66"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-181.265 199.557 85.3909"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "8112"; + team = "2"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "39"; + }; + new TSStatic() { + position = "-235.684 321.83 67.8829"; + rotation = "0 0 1 164.794"; + scale = "5 5 0.5"; + shapeName = "stackable4m.dts"; + + team = "2"; + }; + new Item() { + position = "-235.646 321.913 68.3513"; + rotation = "0 0 -1 15.2057"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-336.732 328.906 152.463"; + rotation = "0 0 1 161.665"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "40"; + }; + new InteriorInstance(InteriorInstance) { + position = "-232.415 310.313 91.881"; + rotation = "-0 0 -1 15.2058"; + scale = "1 1 1"; + interiorFile = "rst_spir_base3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new ForceFieldBare() { + position = "-240.797 306.289 78.4252"; + rotation = "-0 0 -1 15.2058"; + scale = "17.849 16.4043 0.440734"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "41"; + }; + new Turret() { + position = "-229.305 298.45 77.3916"; + rotation = "-0 0 -1 15.2058"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "6359"; + team = "2"; + Target = "42"; + }; + }; + new Item() { + position = "-224.487 281.483 79.6316"; + rotation = "0 0 -1 15.2058"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + WayPoint = "4352"; + Trigger = "4353"; + team = "2"; + originalPosition = "-224.487 281.483 79.6316 0 0 -1 0.265391"; + isHome = "1"; + Target = "43"; + }; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "224.415 -318.313 91.881"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + interiorFile = "rst_spir_base3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "206.735 -284.262 67.8331"; + rotation = "0 0 -1 15.206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + damageTimeMS = "173567"; + Trigger = "4268"; + team = "1"; + lastDamagedBy = "4218"; + lastDamagedByTeam = "1"; + Target = "44"; + }; + new StaticShape() { + position = "222.368 -280.013 67.8331"; + rotation = "0 0 -1 15.206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4270"; + team = "1"; + Target = "45"; + }; + new StaticShape() { + position = "222.368 -280.013 55.8331"; + rotation = "0 0 -1 15.206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4272"; + team = "1"; + Target = "46"; + }; + new StaticShape() { + position = "206.928 -284.21 55.8331"; + rotation = "0 0 -1 15.206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "4274"; + team = "1"; + Target = "47"; + }; + new InteriorInstance(InteriorInstance) { + position = "173.328 -206.963 71.6948"; + rotation = "1 0 0 0"; + scale = "0.66 0.66 0.66"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "173.265 -207.557 85.3909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "10500"; + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "48"; + }; + new TSStatic() { + position = "227.684 -329.83 67.8829"; + rotation = "0 0 1 164.794"; + scale = "5 5 0.5"; + shapeName = "stackable4m.dts"; + + team = "1"; + }; + new Item() { + position = "227.629 -329.982 68.3513"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "226.673 -326.361 55.8693"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "105565"; + team = "1"; + repairedBy = "4218"; + wasDisabled = "1"; + lastDamagedBy = "4218"; + lastDamagedByTeam = "1"; + Target = "49"; + }; + new InteriorInstance(InteriorInstance) { + position = "328.732 -336.906 139.277"; + rotation = "0 0 -1 18.335"; + scale = "0.66 0.66 0.66"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "221.498 -307.398 63.7916"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "50"; + }; + new StaticShape() { + position = "328.732 -336.906 152.463"; + rotation = "0 0 -1 18.335"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "51"; + }; + new Turret() { + position = "221.498 -307.398 77.3916"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + damageTimeMS = "173567"; + team = "1"; + lastDamagedBy = "4218"; + lastDamagedByTeam = "1"; + Target = "52"; + }; + new ForceFieldBare() { + position = "232.797 -314.289 78.4252"; + rotation = "0 0 1 164.794"; + scale = "17.849 16.4043 0.440734"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "53"; + }; + }; + new Item() { + position = "216.544 -289.352 79.6508"; + rotation = "0 0 1 164.794"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "1"; + WayPoint = "4354"; + Trigger = "4355"; + originalPosition = "216.544 -289.352 79.6508 0 0 1 2.8762"; + isHome = "1"; + Target = "54"; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "172.759 -200.978 71.3221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "341.562 -197.894 49.4477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "97.341 -365.568 49.6749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "0 0 -3.85"; + rotation = "0 0 1 35.5233"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "880.594 -37.0907 29.9032"; + rotation = "-0 -0 1 84.8891"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-51.0144 422.601 65.4567"; + rotation = "0 0 -1 55.004"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "339.133 149.725 42.4871"; + rotation = "0 0 1 228.128"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-347.133 -157.725 42.4871"; + rotation = "0 0 1 48.128"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "43.0144 -430.601 65.4567"; + rotation = "0 0 1 124.996"; + scale = "1 1 1"; + interiorFile = "rst_spir_pillar.dif"; + showTerrainInside = "0"; + }; + new SimGroup(randotrees) { + + powerCount = "0"; + + new TSStatic() { + position = "96.0315 -245.601 71.6339"; + rotation = "0 0 -1 51.5662"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "485.006 168.126 88.8385"; + rotation = "0 0 1 103.705"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "221.329 26.5984 83.4481"; + rotation = "0 0 1 178.19"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "460.797 -323.025 88.2278"; + rotation = "0 0 -1 54.431"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "998.46 -77.2905 37.8029"; + rotation = "0 0 1 113.446"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "634.495 485.009 28.7346"; + rotation = "0 0 -1 49.8473"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-337.835 -342.874 137.679"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "329.835 334.874 137.679"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-229.329 -34.5984 83.4481"; + rotation = "0 0 -1 81.8101"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-104.032 237.601 71.6339"; + rotation = "0 0 1 128.434"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-1006.46 69.2905 37.8029"; + rotation = "0 0 -1 66.554"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-642.495 -493.009 28.7346"; + rotation = "0 0 1 130.153"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "202.641 29.6245 86.8349"; + rotation = "0 0 -1 7.83853"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-210.641 -37.6245 86.8349"; + rotation = "0 0 1 172.161"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "428.221 -395.037 84.4335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-436.221 387.037 84.4335"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-144.668 7.00316 39.2606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "136.668 -15.0032 39.2606"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-124.44 113.818 69.4571"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "116.44 -121.818 69.4571"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "86.0798 -304.92 44.0669"; + rotation = "0 0 1 106.57"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "89.5303 -305.947 44.0669"; + rotation = "0 0 1 106.57"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "87.3281 -305.211 47.2669"; + rotation = "0 0 1 145.531"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "78.4157 -295.59 46.7593"; + rotation = "-0.137114 -0.315473 0.938976 49.6766"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "451.759 -322.499 87.7738"; + rotation = "-0.0591946 0.159681 0.985392 41.2327"; + scale = "4 4 4"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "241.572 -104.266 77.6414"; + rotation = "0 0 1 22.3451"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "5.44612 -89.4914 82.6926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-13.4461 81.4914 82.6926"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-249.572 96.266 77.6414"; + rotation = "0 0 1 202.345"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-459.783 316.499 87.9724"; + rotation = "-0.0599565 -0.0158986 0.998074 209.648"; + scale = "4 4 4"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "-97.5303 297.947 44.0669"; + rotation = "0 0 -1 73.43"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-101.556 299.145 44.0669"; + rotation = "0 0 -1 73.43"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-99.5032 298.921 47.0669"; + rotation = "0 0 1 26.2647"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-84.5284 293.984 46.4839"; + rotation = "0.0198129 0.141411 0.989753 68.064"; + scale = "3 3 3"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "226.227 705.608 8.54675"; + rotation = "0 0 1 151.925"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-234.227 -713.608 8.54675"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "66.1855 777.715 96.414"; + rotation = "0 0 -1 50.9932"; + scale = "2.5 2.5 2.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-76.1855 -785.715 96.414"; + rotation = "0 0 1 129.007"; + scale = "2.5 2.5 2.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "465.833 723.129 31.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-473.833 -731.129 31.673"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new InteriorInstance() { + position = "801.016 771.04 49.3723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-809.016 -779.04 49.3723"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1094.92 -495.934 46.9907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "1086.92 485.934 46.9907"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-1098.9 -496.119 42.8801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1090.9 488.119 42.8801"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new InteriorInstance() { + position = "353.011 -425.111 88.6787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-361.011 417.111 88.6787"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + }; + new TSStatic() { + position = "-493.006 -176.126 88.8385"; + rotation = "0 0 -1 76.295"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-468.797 315.025 88.2278"; + rotation = "0 0 1 125.569"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-168.973 110.083 119.279"; + rotation = "0 0 -1 17.1887"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "160.973 -118.083 119.279"; + rotation = "0 0 1 162.811"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S8maps.vl2/missions/S8_Zilch.mis b/public/base/@vl2/S8maps.vl2/missions/S8_Zilch.mis new file mode 100644 index 00000000..58bd3bc9 --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/missions/S8_Zilch.mis @@ -0,0 +1,1078 @@ +// DisplayName = S8-Zilch +// MissionTypes = CTF +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Bunkers are self-powered. +//Map by dienasty (edited by Rooster128) +//--- MISSION STRING END --- +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-952 -960 1952 1904"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.512126 0.512126 -0.689532"; + color = "0.800000 0.600000 0.700000 1.000000"; + ambient = "0.500000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "S8_zilch.ter"; + squareSize = "8"; + emptySquares = "141815 76536 76792 77048 210690 145411 182019 247810 119800 120056 120312 186103"; + + position = "-1024 -1024 0"; + hazeDistance = " 250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + GraphFile = "Invictus.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + YDimOverSize = "0"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.600000 1.000000"; + fogDistance = "100"; + fogColor = "0.550000 0.500000 0.550000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 609191954011538915000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 609191954011538915000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 609191954011538915000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.96557e+31 -1.32748e+29"; + high_fogVolume2 = "-1 -4.61244e-33 -0.700145"; + high_fogVolume3 = "-1 3.06622e+06 -2.45086e-31"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-73.7461 433.943 143.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "23.2539 359.343 131.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "7.4 423.594 159.093"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "11.0602 429.742 162.917"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + team = "1"; + }; + new Item() { + position = "11.061 429.846 177.324"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "2.8261 430.072 176.966"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "31716"; + team = "1"; + }; + new StaticShape() { + position = "14.9505 423.072 176.966"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "31718"; + team = "1"; + }; + new StaticShape() { + position = "21.6672 422.848 152.81"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "31720"; + team = "1"; + }; + new StaticShape() { + position = "-0.67623 435.748 152.81"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "31722"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-4 221.877 147.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-4 221.967 156.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "3493"; + Target = "38"; + team = "1"; + damageTimeMS = "246806"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-48.6339 371.778 141.865"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new Turret() { + position = "-48.5015 372.157 151.761"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + Target = "39"; + team = "1"; + }; + }; + new SimGroup(selfpowered) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-108.308 366.938 158.81"; + rotation = "0 0 -1 44.782"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-109.325 367.861 159.743"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "31730"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "92.325 364.92 165.881"; + rotation = "0 0 1 38.479"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "93.21 366 166.814"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "31733"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-8.60588 649.516 170.679"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-1.6 286.709 128.863"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "1.45317 292.652 125.582"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + Target = "42"; + isHome = "1"; + team = "1"; + WayPoint = "31805"; + Trigger = "31806"; + originalPosition = "1.45317 292.652 125.582 0 0 -1 1.5708"; + }; + }; + new SimGroup(team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "65.7461 -441.943 143.106"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-34.0541 -367.543 142.906"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new Trigger() { + position = "-10.8261 -438.072 177.166"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "10254"; + disableObj = "10254"; + mainObj = "10254"; + team = "2"; + }; + new StaticShape() { + position = "-22.9505 -431.072 176.966"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "31745"; + team = "2"; + }; + new StaticShape() { + position = "-10.8261 -438.072 176.966"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "31747"; + team = "2"; + }; + new Item() { + position = "-19.061 -437.846 177.324"; + rotation = "0 0 1 210"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-19.0602 -437.742 162.917"; + rotation = "0 0 1 210"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "2"; + }; + new Trigger() { + position = "-7.32377 -443.748 152.81"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "9701"; + disableObj = "9701"; + mainObj = "9701"; + team = "2"; + }; + new StaticShape() { + position = "-29.6672 -430.848 152.81"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "31752"; + team = "2"; + }; + new StaticShape() { + position = "-7.32377 -443.748 152.81"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "31754"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-15.4 -431.594 159.093"; + rotation = "0 0 1 210"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "40.5015 -380.157 151.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + originalBarrel = "PlasmaBarrelLarge"; + Target = "48"; + team = "2"; + lastProjectile = "34644"; + }; + new StaticShape() { + position = "-4 -229.967 156.903"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "3493"; + Target = "49"; + team = "2"; + damageTimeMS = "246806"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "40.6339 -379.778 141.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + }; + new SimGroup(selfpowered) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "101.325 -375.861 159.743"; + rotation = "0 0 -1 44.782"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "31761"; + team = "2"; + }; + new InteriorInstance() { + position = "100.308 -374.938 158.81"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-101.21 -374 166.814"; + rotation = "0 0 1 38.479"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "31764"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-100.325 -372.92 165.881"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-6.4 -294.709 128.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "0.605879 -657.516 170.679"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-9.45317 -300.652 125.582"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + Target = "52"; + isHome = "1"; + team = "2"; + WayPoint = "31807"; + Trigger = "31808"; + originalPosition = "-9.45317 -300.652 125.582 0 0 1 1.5708"; + }; + new InteriorInstance(InteriorInstance) { + position = "-4 -229.877 147.265"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "282.576 252.518 190.581"; + rotation = "0 0 -1 72.7656"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-290.576 -260.518 190.581"; + rotation = "0 0 1 107.234"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "303.096 0 163.622"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Random) { + + powerCount = "0"; + + new TSStatic() { + position = "-225.642 381.535 176.572"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-493.909 -3.74883 154.965"; + rotation = "0 0 -1 92.2462"; + scale = "2.87864 1 2.5192"; + shapeName = "borg12.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-170.86 -349.144 160.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-309.596 -546.822 176.642"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "171.199 -165.514 100.41"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "9.25128 83.6097 156.592"; + rotation = "0 0 1 26.3561"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "1.30603 -79.74 169.91"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-179.199 157.514 100.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "485.909 -5.4883 154.965"; + rotation = "-0 -0 1 87.7538"; + scale = "2.87864 1 2.5192"; + shapeName = "borg12.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "301.596 538.822 176.642"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "217.642 -389.535 176.572"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "124.205 -647.695 212.72"; + rotation = "0 0 1 19.9619"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "76.8922 -688.268 180.832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-84.8922 680.268 180.832"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-132.205 639.695 212.12"; + rotation = "0 0 1 199.962"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "67.7013 521.578 166.013"; + rotation = "0 0 1 101.986"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-107.97 474.062 163.166"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-75.7013 -529.578 166.013"; + rotation = "0 0 -1 78.0139"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "99.97 -482.062 163.166"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-312.907 527.85 192.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "304.907 -535.85 192.654"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "81.9176 -464.759 160.725"; + rotation = "0 0 1 44.1177"; + scale = "2 2 2"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-89.9176 456.759 160.725"; + rotation = "0 0 1 224.118"; + scale = "2 2 2"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-276.576 -358.711 146.232"; + rotation = "0 0 -1 98.5487"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "268.576 350.711 146.232"; + rotation = "-0 -0 1 81.4511"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "172.904 -169.589 98.627"; + rotation = "0 0 1 53.2849"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-180.904 161.589 98.627"; + rotation = "0 0 1 233.285"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition12BEPlant20) { + + new TSStatic() { + position = "-12 28 190.813"; + rotation = "0 0 1 34"; + scale = "0.8 0.8 0.8"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-196 -68 58.9844"; + rotation = "0 0 1 130"; + scale = "1.2 1.2 1.2"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-276 -388 172.125"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "276 -404 165.656"; + rotation = "0 0 -1 70.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-388 -188 133.5"; + rotation = "0 0 1 21"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "180 -428 172.547"; + rotation = "0 0 1 201"; + scale = "1.2 1.2 1.2"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "316 -172 184.672"; + rotation = "0 0 -1 116"; + scale = "0.8 0.8 0.8"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "236 -244 159.844"; + rotation = "0 0 -1 53"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-484 -212 221.406"; + rotation = "0 0 -1 78.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-228 -788 194.156"; + rotation = "0 0 -1 1.00014"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-204 -724 177.672"; + rotation = "0 0 1 194"; + scale = "1.4 1.4 1.4"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "500 -100 201.547"; + rotation = "0 0 -1 19.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "172 -700 178.281"; + rotation = "0 0 1 21"; + scale = "0.9 0.9 0.9"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-404 -444 146.734"; + rotation = "0 0 1 34"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "308 -116 206.078"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "20 -524 156.312"; + rotation = "0 0 1 73.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-116 -596 186.516"; + rotation = "0 0 1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "180 -668 194.469"; + rotation = "0 0 1 37"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-332 -180 168.781"; + rotation = "0 0 -1 104"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-292 -420 165.406"; + rotation = "0 0 1 189"; + scale = "1.1 1.1 1.1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "324 -308 172.437"; + rotation = "0 0 1 45"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-228 -484 187.391"; + rotation = "0 0 -1 19.9999"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-20 -52 182.969"; + rotation = "0 0 1 69.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "164 140 97.9375"; + rotation = "0 0 1 130"; + scale = "1.2 1.2 1.2"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-300 -452 179.438"; + rotation = "0 0 -1 112"; + scale = "1.1 1.1 1.1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "164 -196 104.484"; + rotation = "0 0 -1 28.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-332 -740 212.828"; + rotation = "0 0 -1 70.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "180 -316 155.016"; + rotation = "0 0 -1 71.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-396 -20 115.797"; + rotation = "0 0 1 209"; + scale = "1.1 1.1 1.1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "412 -196 153.5"; + rotation = "0 0 -1 38.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "516 -548 161.625"; + rotation = "0 0 1 35"; + scale = "1.1 1.1 1.1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "236 -452 178.578"; + rotation = "0 0 1 61"; + scale = "0.8 0.8 0.8"; + shapeName = "borg20.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/S8maps.vl2/terrains/Cardiac.ter b/public/base/@vl2/S8maps.vl2/terrains/Cardiac.ter new file mode 100644 index 00000000..033be82d Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/Cardiac.ter differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/Geothermal.ter b/public/base/@vl2/S8maps.vl2/terrains/Geothermal.ter new file mode 100644 index 00000000..32b3cd7a Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/Geothermal.ter differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_Geothermal.spn b/public/base/@vl2/S8maps.vl2/terrains/S8_Geothermal.spn new file mode 100644 index 00000000..4a51ab66 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_Geothermal.spn differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_Mountking.spn b/public/base/@vl2/S8maps.vl2/terrains/S8_Mountking.spn new file mode 100644 index 00000000..60c4b4b9 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_Mountking.spn differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_Opus.spn b/public/base/@vl2/S8maps.vl2/terrains/S8_Opus.spn new file mode 100644 index 00000000..987ef8cb Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_Opus.spn differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_Zilch.spn b/public/base/@vl2/S8maps.vl2/terrains/S8_Zilch.spn new file mode 100644 index 00000000..ea89b56d Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_Zilch.spn differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_rst_dogma.ter b/public/base/@vl2/S8maps.vl2/terrains/S8_rst_dogma.ter new file mode 100644 index 00000000..44838de0 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_rst_dogma.ter differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_rst_opus.ter b/public/base/@vl2/S8maps.vl2/terrains/S8_rst_opus.ter new file mode 100644 index 00000000..f72708d7 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_rst_opus.ter differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/S8_zilch.ter b/public/base/@vl2/S8maps.vl2/terrains/S8_zilch.ter new file mode 100644 index 00000000..534c4968 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/S8_zilch.ter differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/mountking.ter b/public/base/@vl2/S8maps.vl2/terrains/mountking.ter new file mode 100644 index 00000000..c0c37b22 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/mountking.ter differ diff --git a/public/base/@vl2/S8maps.vl2/terrains/s8_Cardiac.spn b/public/base/@vl2/S8maps.vl2/terrains/s8_Cardiac.spn new file mode 100644 index 00000000..b59058da Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/terrains/s8_Cardiac.spn differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/Nycto-comp3.png b/public/base/@vl2/S8maps.vl2/textures/fling1/Nycto-comp3.png new file mode 100644 index 00000000..4d488d15 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/Nycto-comp3.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/Nycto-computer.png b/public/base/@vl2/S8maps.vl2/textures/fling1/Nycto-computer.png new file mode 100644 index 00000000..93ac24a1 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/Nycto-computer.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/bd_ispe07.PNG b/public/base/@vl2/S8maps.vl2/textures/fling1/bd_ispe07.PNG new file mode 100644 index 00000000..25809a61 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/bd_ispe07.PNG differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/be_edoo02.PNG b/public/base/@vl2/S8maps.vl2/textures/fling1/be_edoo02.PNG new file mode 100644 index 00000000..5b4e8757 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/be_edoo02.PNG differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/be_icei01a.png b/public/base/@vl2/S8maps.vl2/textures/fling1/be_icei01a.png new file mode 100644 index 00000000..25f38723 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/be_icei01a.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/crudewarn.png b/public/base/@vl2/S8maps.vl2/textures/fling1/crudewarn.png new file mode 100644 index 00000000..3fa64401 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/crudewarn.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/dox_bluelite1.png b/public/base/@vl2/S8maps.vl2/textures/fling1/dox_bluelite1.png new file mode 100644 index 00000000..0d780676 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/dox_bluelite1.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/ds_NefBlue.png b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_NefBlue.png new file mode 100644 index 00000000..0cd22328 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_NefBlue.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/ds_NefBlue1.png b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_NefBlue1.png new file mode 100644 index 00000000..6366241d Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_NefBlue1.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/ds_Neffloor1.png b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_Neffloor1.png new file mode 100644 index 00000000..f5d3c3e4 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_Neffloor1.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/ds_ilig02.png b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_ilig02.png new file mode 100644 index 00000000..9b35cfe5 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_ilig02.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/ds_ilig04.png b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_ilig04.png new file mode 100644 index 00000000..28cb2ba4 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_ilig04.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/ds_jet03.png b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_jet03.png new file mode 100644 index 00000000..b79d02e6 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/ds_jet03.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/e6strimlight.png b/public/base/@vl2/S8maps.vl2/textures/fling1/e6strimlight.png new file mode 100644 index 00000000..4bd00232 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/e6strimlight.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/e8clangfloor.png b/public/base/@vl2/S8maps.vl2/textures/fling1/e8clangfloor.png new file mode 100644 index 00000000..c2ebb4d7 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/e8clangfloor.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/e8tinylight_000.png b/public/base/@vl2/S8maps.vl2/textures/fling1/e8tinylight_000.png new file mode 100644 index 00000000..b86282df Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/e8tinylight_000.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/fling1/null.png b/public/base/@vl2/S8maps.vl2/textures/fling1/null.png new file mode 100644 index 00000000..6dd1de13 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/fling1/null.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/emap_muddy.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/emap_muddy.png new file mode 100644 index 00000000..f0904c99 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/emap_muddy.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_BK.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_BK.png new file mode 100644 index 00000000..a50f1c43 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_BK.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_DN.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_DN.png new file mode 100644 index 00000000..cffbc9e2 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_DN.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_FR.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_FR.png new file mode 100644 index 00000000..6d324318 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_FR.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_LF.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_LF.png new file mode 100644 index 00000000..12fa59d8 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_LF.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_RT.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_RT.png new file mode 100644 index 00000000..705921ec Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_RT.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_UP.png b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_UP.png new file mode 100644 index 00000000..c2f927b3 Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/flingsky/flingsky03_UP.png differ diff --git a/public/base/@vl2/S8maps.vl2/textures/flingsky03.dml b/public/base/@vl2/S8maps.vl2/textures/flingsky03.dml new file mode 100644 index 00000000..232b4513 --- /dev/null +++ b/public/base/@vl2/S8maps.vl2/textures/flingsky03.dml @@ -0,0 +1,7 @@ +flingsky/flingsky03_FR.png +flingsky/flingsky03_RT.png +flingsky/flingsky03_BK.png +flingsky/flingsky03_LF.png +flingsky/flingsky03_UP.png +flingsky/flingsky03_DN.png +flingsky/emap_muddy \ No newline at end of file diff --git a/public/base/@vl2/S8maps.vl2/textures/rilrock/ril.darkrock.png b/public/base/@vl2/S8maps.vl2/textures/rilrock/ril.darkrock.png new file mode 100644 index 00000000..41ef9dfb Binary files /dev/null and b/public/base/@vl2/S8maps.vl2/textures/rilrock/ril.darkrock.png differ diff --git a/public/base/@vl2/SiegeofYmir.vl2/missions/SiegeofYmir.mis b/public/base/@vl2/SiegeofYmir.vl2/missions/SiegeofYmir.mis new file mode 100644 index 00000000..3c030287 --- /dev/null +++ b/public/base/@vl2/SiegeofYmir.vl2/missions/SiegeofYmir.mis @@ -0,0 +1,940 @@ +// DisplayName = Siege of Ymir Base +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Rely on others, and you may yet do better. +// -Anonymous +//Map by Durikkan +//Version 1.2, fixes by a tiny fishie +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Attackers can repair their bunker to assist in attacking +//When the Forcefield solar is destroyed, it severely weakens the defensive position (lots of FFs come down) +//When the forcefield generator is down, all access forcefields in the main base will fall +//When the 2 main generators are destroyed, the switch gen will fall. +//Capture the Switch to win the map +//--- MISSION STRING END --- + +function ForceFieldBareData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + + //%velo = 1; + //%grav = 0.1; + //%appl = "0 0 0"; + + if (%obj.custom $= "" || %obj.custom $= "0") + { + %velo = %obj.velocityMod; + %grav = %obj.gravityMod; + %appl = %obj.appliedForce; + } + else + return; // add physical zones unless the force field contains 'custom = "1";' + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + cdTrack = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "0 -168 640 1088"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "200"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "400 40 65"; + fogVolume2 = "900 65 250"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 75824315812260666200000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 949.521790"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 3940863705088.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.76574e+22 12.3922"; + high_fogVolume2 = "-1 1.77526e+28 1.84841e+31"; + high_fogVolume3 = "-1 7.02879e+22 4.51265e+27"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new TerrainBlock(terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Training4.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + position = "0 0 0 1"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "SiegeofYmir.nav"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnSpheres) { + powerCount = "0"; + + new SpawnSphere(MainSpawn) { + position = "310.222 833.91 108.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "65"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(BunkerSpawn) { + position = "532.436 104.526 80.8592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "35"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new InteriorInstance() { + position = "303.995 840.308 81.9632"; + rotation = "1 0 0 0"; + scale = "15.8501 3.53514 1.23215"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "322.183 843.317 102.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "286.649 851.467 109.081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(ObaseInv5) { + position = "315.974 854.109 104.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + notReady = "1"; + inUse = "Down"; + Trigger = "3993"; + team = "2"; + }; + new StaticShape(OBaseGen) { + position = "289.653 844.019 111.939"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + team = "2"; + }; + new StaticShape(OBaseInv1) { + position = "281.695 838.596 103.081"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + notReady = "1"; + inUse = "Down"; + Trigger = "3996"; + team = "2"; + }; + new StaticShape(ObaseInv2) { + position = "292.226 848.596 103.049"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + Trigger = "3998"; + team = "2"; + }; + new StaticShape(ObaseInv3) { + position = "329.096 853.375 104.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + Trigger = "4000"; + team = "2"; + }; + new StaticShape(ObaseInv4) { + position = "322.942 854.145 104.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + notReady = "1"; + inUse = "Down"; + Trigger = "4002"; + team = "2"; + }; + new ForceFieldBare(BaseBunkFF) { + position = "313.169 841.982 104.442"; + rotation = "1 0 0 0"; + scale = "18.027 0.227966 7.33224"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + team = "2"; + custom = "1"; + }; + new ForceFieldBare(BaseBaseFF1) { + position = "284.531 855.468 102.918"; + rotation = "1 0 0 0"; + scale = "4.2186 0.1 4.32841"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + team = "2"; + custom = "1"; + }; + new ForceFieldBare(BaseBaseFF2) { + position = "284.554 832.497 103.059"; + rotation = "1 0 0 0"; + scale = "4.2186 0.1 4.32841"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + team = "2"; + custom = "1"; + }; + new Turret(BaseBaseTur1) { + position = "266.512 814.61 101.625"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "42"; + lastDamagedBy = "4011"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "6702"; + damageTimeMS = "384407"; + lastDamagedByTeam = "2"; + team = "2"; + }; + new Turret(BaseBaseTur2) { + position = "322.259 836.095 112.592"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Secondary"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "43"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "6703"; + team = "2"; + }; + new WayPoint(OMainBaseWP) { + position = "303.409 846.12 100.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Offensive Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Offensive Base"; + team = "2"; + }; + }; + new SimGroup(Bunkers) { + powerCount = "0"; + + new InteriorInstance() { + position = "532.352 104.856 79.2146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new ForceFieldBare() { + position = "522.481 98.1753 81.0509"; + rotation = "1 0 0 0"; + scale = "19.0179 0.1 7.26408"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + team = "2"; + custom = "1"; + }; + new ForceFieldBare() { + position = "522.882 111.667 81.0738"; + rotation = "1 0 0 0"; + scale = "19.0179 0.1 7.26408"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + team = "2"; + custom = "1"; + }; + new StaticShape(BunkerGen) { + position = "527.484 105.493 81.0892"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + repairedBy = "3975"; + team = "2"; + }; + new StaticShape(BunkerInv) { + position = "538.612 105.424 81.1608"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + repairedBy = "3975"; + notReady = "1"; + inUse = "Down"; + Trigger = "4021"; + team = "2"; + }; + new WayPoint(OffBunkWP) { + position = "532.341 105.026 80.4926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Offensive Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Offensive Bunker"; + team = "2"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(SancFort) { + powerCount = "0"; + + new SimGroup(FFs) { + powerCount = "2"; + + new ForceFieldBare(MainGenFF2) { + position = "228.514 134.237 53.4087"; + rotation = "0 0 1 89.9544"; + scale = "0.1 11.4861 5.90247"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + team = "1"; + }; + new StaticShape(BaseFFGen1) { + position = "260.433 183.991 61.6471"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Primary Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "52"; + WayPoint = "4113"; + team = "1"; + }; + new ForceFieldBare(MainGenFF1) { + position = "278.77 134.121 53.8606"; + rotation = "0 0 1 89.9544"; + scale = "0.1 11.4861 5.53418"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + team = "1"; + }; + new ForceFieldBare(MainGenFF3) { + position = "234.125 134.08 67.3781"; + rotation = "0 0 1 89.9544"; + scale = "0.1 4.91206 4.64044"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + team = "1"; + }; + }; + new SimGroup(equip) { + powerCount = "2"; + + new InteriorInstance() { + position = "257.763 172.427 53.6562"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbase4cm.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret(FrontTurret) { + position = "259.385 195.612 63.1315"; + rotation = "-0 0 -1 0.0395647"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "53"; + lastDamagedBy = "3975"; + originalBarrel = "MissileBarrelLarge"; + lastProjectile = "5593"; + damageTimeMS = "147321"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape(BaseLargePulse) { + position = "278.912 187.923 80.2531"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + team = "1"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "255.5 130.875 53.984"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "55"; + WayPoint = "4114"; + team = "1"; + }; + new StaticShape(Team2GeneratorLarge3) { + position = "262.793 131.025 54.0067"; + rotation = "0 0 -1 90.0456"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "56"; + WayPoint = "4115"; + team = "1"; + }; + new ForceFieldBare(EndGenFF) { + position = "286.659 133.487 66.9014"; + rotation = "0 0 1 89.9544"; + scale = "5.18524 3.91476 5.34363"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + team = "1"; + }; + new StaticShape(GenInv1) { + position = "242.408 130.662 67.5944"; + rotation = "0 0 -1 90.1366"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + notReady = "1"; + inUse = "Down"; + Trigger = "4043"; + team = "1"; + }; + new StaticShape(GenInv2) { + position = "231.078 112.953 54.0859"; + rotation = "0 0 -1 90.1366"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "59"; + notReady = "1"; + inUse = "Down"; + Trigger = "4045"; + team = "1"; + }; + new StaticShape(GenInv3) { + position = "287.878 113.891 54.0901"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "60"; + Trigger = "4047"; + team = "1"; + }; + new StaticShape(FFGenInv1) { + position = "243.404 183.859 54.1051"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "61"; + notReady = "1"; + inUse = "Down"; + Trigger = "4049"; + team = "1"; + }; + new StaticShape(FFGenInv2) { + position = "275.194 183.643 54.1012"; + rotation = "0 0 -1 90.0456"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "62"; + notReady = "1"; + inUse = "Down"; + Trigger = "4051"; + team = "1"; + }; + new Turret(IndoorSentry) { + position = "238.982 187.228 76.6106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "entry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "63"; + lastDamagedBy = "3975"; + lastProjectile = "6311"; + damageTimeMS = "68743"; + lastDamagedByTeam = "2"; + team = "1"; + }; + new InteriorInstance() { + position = "152.18 326.279 106.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(AuxSens1) { + position = "152.436 326.872 107.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Northwest"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "64"; + team = "1"; + }; + new StaticShape(AuxSens2) { + position = "486.687 188.447 89.8179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "65"; + team = "1"; + }; + new InteriorInstance() { + position = "486.433 187.855 89.0349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "421.07 -72.3054 146.79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret(RocketTurret) { + position = "410.592 169.181 88.3405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Side"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "66"; + originalBarrel = "MissileBarrelLarge"; + lastProjectile = "6250"; + team = "1"; + }; + }; + new SimGroup(Stuff) { + powerCount = "0"; + + new Item(RepDef1) { + position = "234.441 187.115 75.5156"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item(RepDef2) { + position = "283.417 187.19 75.5122"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + }; + new StaticShape(Team2FlipFlop1) { + position = "289.655 131.096 67.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "67"; + team = "1"; + }; + new SimGroup(SolarFF) { + powerCount = "1"; + + new StaticShape(FFsolar1) { + position = "420.905 -78.3925 160.572"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Forward Forcefield"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "68"; + WayPoint = "4117"; + team = "1"; + }; + new ForceFieldBare(WindowFF2) { + position = "276.926 196.21 62.0799"; + rotation = "0 0 1 89.9544"; + scale = "0.140771 9.42908 3.27599"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "76"; + team = "1"; + }; + new ForceFieldBare(WindowFF1) { + position = "232.208 196.237 62.7146"; + rotation = "0 0 1 89.9544"; + scale = "0.1 9.7472 2.69256"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "74"; + team = "1"; + }; + new ForceFieldBare(MainGenFF1) { + position = "230.626 181.266 53.701"; + rotation = "0 0 1 89.9544"; + scale = "0.170526 6.26318 5.53418"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "73"; + team = "1"; + }; + new ForceFieldBare(MainGenFF2) { + position = "281.622 181.323 54.0392"; + rotation = "0 0 1 89.9544"; + scale = "0.1 6.26318 5.53418"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "75"; + team = "1"; + }; + }; + }; + new SimGroup(spawnSpheres) { + powerCount = "0"; + + new SpawnSphere(DefBase) { + position = "259.245 168.369 75.6808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(spawnSpheres) { + powerCount = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + }; + new SimGroup(Sounds) { + powerCount = "0"; + }; + new InteriorInstance() { + position = "410.771 170.411 72.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + }; + new SimGroup(RandomRocks) { + powerCount = "0"; + + new SimGroup(Addition4brock7) { + powerCount = "0"; + + new InteriorInstance() { + position = "165.815 249.477 50.3257"; + rotation = "0 0 1 106.62"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + }; + }; + new SimGroup(Observerdroppoints) { + powerCount = "0"; + + new Camera() { + position = "258.298 114.424 56.2813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "257.504 183.865 75.7855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup() { + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- + + +package SiegeOfYmirBase +{ +//begin SiegeOfYmirBase package ================================ + + +function SiegeGame::missionLoadDone(%game) +{ + nameToId("BunkerGen").setDamageLevel(2.5); + nameToId("BunkerInv").setDamageLevel(2.5); + + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + + Parent::missionLoadDone(%game); +} + +function SiegeGame::halftimeOver(%game) +{ + nameToId(BunkerGen).setDamageLevel(2.5); + nameToId(BunkerInv).setDamageLevel(2.5); + + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + exec("scripts/forceField.cs"); + Parent::gameOver(%game); + deactivatePackage(SiegeOfYmirBase); +} + +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + + if(%obj == nameToId("BunkerGen")) + { + nameToId("BunkerSpawn").sphereWeight = 75; + nameToId("MainSpawn").sphereWeight = 25; + } +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + if(%obj == nameToId("BunkerGen")) + { + nameToId("BunkerSpawn").sphereWeight = 0; + nameToId("MainSpawn").sphereWeight = 100; + } +} + +//end YmirBase package ================================ +}; + +activatePackage(SiegeOfYmirBase); diff --git a/public/base/@vl2/SiegeofYmir.vl2/terrains/SiegeofYmir.spn b/public/base/@vl2/SiegeofYmir.vl2/terrains/SiegeofYmir.spn new file mode 100644 index 00000000..7c6e786f Binary files /dev/null and b/public/base/@vl2/SiegeofYmir.vl2/terrains/SiegeofYmir.spn differ diff --git a/public/base/@vl2/SilentStorm.vl2/missions/SilentStorm.mis b/public/base/@vl2/SilentStorm.vl2/missions/SilentStorm.mis new file mode 100644 index 00000000..494e4948 --- /dev/null +++ b/public/base/@vl2/SilentStorm.vl2/missions/SilentStorm.mis @@ -0,0 +1,1595 @@ +// DisplayName = Silent Storm +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//As we neared the land, clouds of smoke could be seen hanging over it in the direction of the Fortress, & as we approached still nearer little black spots could occasionally be seen suddenly springing into the air, remaining stationary for a moment or two +// --Lt. William Jeffers, U.S. Civil War +//Map by MikL99 - Special Thanks to Verna and Jacen. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Disable the Force Field Generator to reveal Control Generator +//Disable the Control Generator to open Switch +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-736 -984 1552 1968"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "MyrkWood.ter"; + squareSize = "8"; + emptySquares = "490832 491088 98134"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "MissionBlank.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + locked = "true"; + conjoinBowlDev = "20"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "150"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "205.474 -194.401 122.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "25"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + new SpawnSphere() { + position = "-67.8061 -285.465 79.9312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "25"; + indoorWeight = "35"; + outdoorWeight = "65"; + locked = "true"; + }; + new SpawnSphere() { + position = "-329.317 13.6713 105.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + }; + new SimGroup(BunkerPower) { + powerCount = "1"; + + new InteriorInstance(Bunker) { + position = "32.2115 -234.697 79.0479"; + rotation = "0 0 1 92.2462"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(BunkerInvo) { + position = "35.8938 -235.268 80.9999"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "33"; + Trigger = "5237"; + notReady = "1"; + }; + new StaticShape(Solar) { + position = "34.3894 -234.836 89.6208"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + damageTimeMS = "5177203"; + lastDamagedBy = "45826"; + }; + }; + new SimGroup(FORCEFIELD) { + powerCount = "1"; + + new ForceFieldBare(FrontDoorFF2) { + position = "-61.2194 -264.208 75.2751"; + rotation = "1 0 0 0"; + scale = "0.514885 4.71054 6.13048"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "35"; + }; + new ForceFieldBare(FrontDoorFF1) { + position = "-75.624 -264.392 76.1578"; + rotation = "1 0 0 0"; + scale = "0.514885 4.71054 6.13048"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "36"; + }; + new StaticShape(ForceFieldGen) { + position = "200.998 -200.604 130.756"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "ForceField"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + needsObjectiveWaypoint = "1"; + Target = "37"; + WayPoint = "5457"; + }; + new InteriorInstance(FFTower) { + position = "203.385 -202.633 114.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare() { + position = "-93.2133 -274.672 100.233"; + rotation = "1 0 0 0"; + scale = "4.05648 0.214172 6.03369"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "38"; + }; + new ForceFieldBare() { + position = "-47.8033 -274.763 101.13"; + rotation = "1 0 0 0"; + scale = "4.78381 0.326996 5.23541"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "39"; + }; + new Turret(PlasmaTurret2) { + position = "193.567 -200.723 130.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + team = "1"; + lastProjectile = "53389"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "40"; + }; + new ForceFieldBare(FF02) { + position = "-47.3568 -291.679 101.103"; + rotation = "1 0 0 0"; + scale = "4.23186 0.151361 4.79781"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + }; + new ForceFieldBare(FF02) { + position = "-93.3568 -291.679 101.103"; + rotation = "1 0 0 0"; + scale = "4.23186 0.151361 4.79781"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "42"; + }; + }; + new Item() { + position = "-136.718 -257.483 76.7001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-137.641 -256.981 76.9838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new SimGroup(MainPower) { + powerCount = "1"; + + new InteriorInstance(base) { + position = "-68.1843 -283.122 88.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new StaticShape(LargeSensor2) { + position = "220.615 -270.06 118.874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "43"; + }; + new StaticShape() { + position = "-67.8726 -288.687 114.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "44"; + Trigger = "5262"; + notReady = "1"; + }; + new StaticShape(Switch) { + position = "-68.2729 -260.936 104.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "45"; + }; + new ForceFieldBare(SwitchFF1) { + position = "-74.6348 -267.794 105.132"; + rotation = "1 0 0 0"; + scale = "0.314756 12.9116 7.2344"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "46"; + }; + new ForceFieldBare(SwitchFF2) { + position = "-62.1844 -267.69 104.888"; + rotation = "1 0 0 0"; + scale = "0.314756 12.9116 7.2344"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "47"; + }; + new ForceFieldBare(SWitchFF3) { + position = "-71.9376 -252.756 104.719"; + rotation = "1 0 0 0"; + scale = "7.502 0.454117 7.36884"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + Target = "48"; + }; + new WayPoint(Switch) { + position = "-68.2215 -260.958 107.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Switch"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Switch"; + team = "1"; + locked = "true"; + }; + new InteriorInstance(TurretStand3) { + position = "-19.0257 -56.4656 108.6"; + rotation = "1 0 0 0"; + scale = "0.564388 0.586325 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance(LargeSensorstand2) { + position = "220.628 -270.717 98.708"; + rotation = "1 0 0 0"; + scale = "0.564388 0.586325 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "false"; + }; + new Turret(MissleTurret2) { + position = "-19.0009 -57.2206 129.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + team = "1"; + lastProjectile = "9131"; + originalBarrel = "MissileBarrelLarge"; + locked = "true"; + Target = "49"; + damageTimeMS = "1240191"; + lastDamagedBy = "5549"; + }; + new Turret(PlasmaTurret1) { + position = "-103.087 -143.584 74.7557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + team = "1"; + lastProjectile = "53231"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + Target = "50"; + damageTimeMS = "35096"; + lastDamagedBy = "5436"; + }; + new StaticShape(Control) { + position = "-67.9782 -261.004 93.6211"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + needsObjectiveWaypoint = "1"; + Target = "51"; + WayPoint = "5458"; + }; + new Turret() { + position = "-356.461 -14.2605 80.3197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "1"; + Target = "52"; + }; + }; + new SimGroup(EquipmentGen) { + powerCount = "1"; + + new StaticShape(equipment) { + position = "-356.348 -6.95456 74.361"; + rotation = "0 0 1 181.082"; + scale = "1 1 1"; + nameTag = "Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + needsObjectiveWaypoint = "1"; + Target = "53"; + WayPoint = "5459"; + }; + new StaticShape(BaseInventory3) { + position = "-79.1583 -294.632 76.4105"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "54"; + Trigger = "5280"; + }; + new StaticShape(BaseInventory2) { + position = "-57.395 -294.63 76.5524"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "55"; + Trigger = "5282"; + notReady = "1"; + }; + new InteriorInstance() { + position = "-355.64 -2.85427 69.4125"; + rotation = "0 0 -1 90"; + scale = "0.1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(BaseInventory4) { + position = "-84.8261 -275.986 76.5571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "56"; + Trigger = "5285"; + }; + new InteriorInstance() { + position = "-356.719 -12.6729 70.2513"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape(LargeSensor1) { + position = "-166.068 -164.511 88.3993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "57"; + damageTimeMS = "220758"; + lastDamagedBy = "5296"; + }; + new InteriorInstance(LargeSensorstand1) { + position = "-166.055 -165.168 68.2337"; + rotation = "1 0 0 0"; + scale = "0.564388 0.586325 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "false"; + }; + new StaticShape(BaseInventory1) { + position = "-51.2023 -275.47 76.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "58"; + Trigger = "5290"; + }; + new StaticShape() { + position = "-328.722 -19.4579 78.3436"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "59"; + Trigger = "5292"; + notReady = "1"; + }; + new StaticShape() { + position = "-384.537 -8.60628 78.3616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "60"; + Trigger = "5294"; + notReady = "1"; + }; + new TSStatic() { + position = "-384.958 -20.3108 78.2634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + team = "2"; + }; + new TSStatic() { + position = "-376.865 -7.43712 78.2012"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + team = "2"; + }; + new TSStatic() { + position = "-377.818 -19.1441 79.123"; + rotation = "0.143007 -0.143007 -0.979335 91.1959"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + team = "2"; + }; + new TSStatic() { + position = "-338.669 -8.10631 79.4484"; + rotation = "0 -1 0 32.6586"; + scale = "1.10177 1 1"; + shapeName = "stackable3m.dts"; + team = "2"; + }; + new TSStatic() { + position = "-336.905 -22.5077 79.9055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + team = "2"; + }; + new Item() { + position = "-336.664 -22.0294 80.4342"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "-326.841 -8.02671 78.1908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new StaticShape() { + position = "199.346 -200.573 112.375"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "61"; + Trigger = "5303"; + notReady = "1"; + }; + new StaticShape() { + position = "207.146 -200.573 112.375"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "62"; + Trigger = "5305"; + notReady = "1"; + }; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-10.9444 711.29 145.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new Turret(MissileTurret1) { + position = "32.4824 712.394 156.797"; + rotation = "-0.000562872 -0.706825 0.707388 180.065"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + team = "2"; + lastProjectile = "48788"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "1"; + Target = "63"; + }; + new StaticShape() { + position = "32.2445 716.937 169.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "64"; + }; + new ForceFieldBare() { + position = "28.1397 712.725 140.894"; + rotation = "1 0 0 0"; + scale = "8.3993 0.1 7.0815"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "65"; + }; + new StaticShape() { + position = "-79.781 703.483 140.333"; + rotation = "0 0 -1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + ready = "1"; + inUse = "Down"; + Target = "-1"; + station = "5315"; + }; + new InteriorInstance() { + position = "32.4561 718.923 147.107"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-93.0041 731.145 143.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + repairedBy = "5222"; + inUse = "Down"; + Target = "67"; + damageTimeMS = "1119379"; + Trigger = "5319"; + notReady = "1"; + lastDamagedBy = "5367"; + }; + new StaticShape() { + position = "-66.9051 730.682 143.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + inUse = "Down"; + Target = "68"; + damageTimeMS = "1131301"; + Trigger = "5321"; + notReady = "1"; + lastDamagedBy = "5293"; + }; + new StaticShape(MainPower) { + position = "32.1849 711.803 134.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "false"; + Target = "69"; + }; + new StaticShape() { + position = "36.4692 715.852 152.666"; + rotation = "0 0 1 130.634"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "70"; + Trigger = "5324"; + }; + new StaticShape() { + position = "36.4704 716.891 141.136"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "false"; + inUse = "Down"; + Target = "71"; + Trigger = "5326"; + notReady = "1"; + }; + new InteriorInstance() { + position = "-79.932 694.443 141.219"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "28.3569 716.839 141.13"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "false"; + inUse = "Down"; + Target = "72"; + Trigger = "5329"; + notReady = "1"; + }; + new ForceFieldBare(FF01) { + position = "28.2182 712.822 160.723"; + rotation = "1 0 0 0"; + scale = "8.24129 4.28516 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "73"; + }; + new InteriorInstance(TurretStand3) { + position = "-61.409 662.45 119.744"; + rotation = "-0 0 -1 0.573347"; + scale = "0.564388 0.586325 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "false"; + }; + new Turret(MissleTurret2) { + position = "-61.4401 663.122 140.731"; + rotation = "0 0 1 179.335"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + team = "2"; + lastProjectile = "48942"; + originalBarrel = "AABarrelLarge"; + locked = "false"; + Target = "74"; + damageTimeMS = "1157630"; + lastDamagedBy = "6957"; + }; + new InteriorInstance(TurretStand3) { + position = "-98.2539 662.471 119.607"; + rotation = "1 0 0 0"; + scale = "0.564388 0.586325 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "false"; + }; + new Turret(MissleTurret2) { + position = "-98.2782 663.142 140.594"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + team = "2"; + lastProjectile = "48943"; + originalBarrel = "AABarrelLarge"; + locked = "false"; + Target = "75"; + damageTimeMS = "1157630"; + lastDamagedBy = "6957"; + }; + new Item() { + position = "32.4709 713.959 148.599"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + locked = "false"; + Target = "-1"; + }; + new StaticShape() { + position = "28.5185 715.728 152.596"; + rotation = "0 0 1 220.771"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "76"; + Trigger = "5338"; + }; + new Turret() { + position = "-79.9463 734.382 145.134"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "77"; + }; + new Turret() { + position = "-79.8369 667.837 142.612"; + rotation = "1 0 0 160.038"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "78"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + + new TSStatic() { + position = "-228.427 -14.16 77.9372"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-300.178 31.7885 76.6484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-311.573 282.431 92.1685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-14.1564 238.064 91.1834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "252.236 374.215 116.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "381.411 492.355 128.172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "238.862 356.156 114.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "59.3429 641.559 130.974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-480.176 -282.609 75.6232"; + rotation = "1 0 0 0"; + scale = "1 1 2.66947"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-518.022 -255.881 75.663"; + rotation = "1 0 0 0"; + scale = "1 1 1.77012"; + shapeName = "borg19.dts"; + }; + new InteriorInstance(Rock) { + position = "6.67107 342.948 89.9224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic(Tree) { + position = "-200.408 118.26 78.6523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "402.169 -274.778 106.261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "512.93 -282.971 128.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "716.005 -77.1747 132.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "691.842 151.453 87.9021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "569.924 405.302 103.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-249.561 536.001 105.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-543.101 543.055 114.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-546.433 255.866 138.285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + }; + new TSStatic() { + position = "-572.544 98.2197 97.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg12.dts"; + }; + new TSStatic() { + position = "-606.145 -69.163 112.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-681.741 -372.636 87.7704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-552.413 -625.769 97.4039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-357.786 -664.13 102.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-52.4703 -749.488 115.357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "62.2636 -599.379 96.0401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-28.2598 -218.008 76.4974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-186.893 -240.531 67.4995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic(Tree) { + position = "-161.761 102.226 78.7597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic(Tree) { + position = "-196.591 84.5503 79.1261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic(Tree) { + position = "-170.89 69.4242 81.7818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic(Tree) { + position = "-115.026 82.0431 79.5814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic(Tree) { + position = "-131.773 111.432 78.1043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new InteriorInstance(Rock) { + position = "235.242 -27.3671 73.7312"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-128.139 48.6659 89.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-245.987 54.2761 81.2922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-246.334 40.3105 82.106"; + rotation = "1 0 0 0"; + scale = "1.51992 1.35694 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-251.399 48.3611 79.2822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-243.832 67.8996 78.9605"; + rotation = "0 0 1 100.268"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(RockWall) { + position = "-172.486 33.7997 63.0641"; + rotation = "0 0 1 89.3814"; + scale = "1 3.84531 1.31088"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-525.572 -209.181 76.9841"; + rotation = "1 0 0 0"; + scale = "1 1 2.87082"; + shapeName = "borg19.dts"; + }; + new InteriorInstance(Rock) { + position = "-239.824 84.0566 82.4203"; + rotation = "1 0 0 0"; + scale = "2.65324 1.58886 0.833243"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-241.407 29.2896 79.5025"; + rotation = "0 0 -1 62.4524"; + scale = "0.989901 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-251.129 65.2198 80.8505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-250.33 51.5673 80.8963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-245.464 48.7229 79.8804"; + rotation = "0 0 1 48.1284"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-161.045 92.5637 76.2619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-179.682 173.221 93.1376"; + rotation = "0.595889 -0.543931 0.590808 235.586"; + scale = "0.99 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-196.23 75.2109 77.2021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(Rock) { + position = "-246.2 78.8477 79.0594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic(Wreck) { + position = "-156.358 83.7727 76.7823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new TSStatic(Wreck) { + position = "-190.542 65.9233 80.0232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + }; + new TSStatic(Wreck) { + position = "-180.682 104.67 78.9615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + }; + new TSStatic() { + position = "-251.098 -255.667 82.9447"; + rotation = "1 0 0 0"; + scale = "1 1 1.47345"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-255.81 -209.872 81.8105"; + rotation = "1 0 0 0"; + scale = "1.62521 1.47014 1.90463"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-259.997 -238.694 82.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-267.304 -279.612 84.3711"; + rotation = "1 0 0 0"; + scale = "1 1 2.07106"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-284.458 -263.913 84.8801"; + rotation = "1 0 0 0"; + scale = "1 1 1.52195"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-294.587 -245.94 85.3319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-277.147 -221.557 83.9338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-318.519 -219.411 83.5058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-325.405 -237.639 84.9088"; + rotation = "1 0 0 0"; + scale = "1 1.13765 1.65943"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-319.5 -284.106 82.3096"; + rotation = "1 0 0 0"; + scale = "1 1 1.25037"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-338.44 -258.051 84.6766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-352.975 -203.841 78.6388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-371.487 -231.219 80.1382"; + rotation = "1 0 0 0"; + scale = "1 1 2.41049"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-382.643 -296.804 82.0151"; + rotation = "1 0 0 0"; + scale = "1 1 2.19297"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-400.666 -260.244 78.4677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new InteriorInstance() { + position = "-145.414 -258.333 72.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-437.292 -288.257 81.1361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-453.298 -243.331 79.1672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-440.204 -259.218 80.6812"; + rotation = "1 0 0 0"; + scale = "1 1 1.89494"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-426.422 -222.463 77.9455"; + rotation = "1 0 0 0"; + scale = "1 1 1.75906"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-476.083 -198.517 73.4334"; + rotation = "1 0 0 0"; + scale = "1 1 3.23859"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-483.012 -232.158 74.1566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new InteriorInstance() { + position = "-52.5767 -305.692 52.5482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy(Spark) { + position = "-183.093 99.7997 80.1829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "ELFSparksEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy(Smoke) { + position = "-191.138 68.4271 78.8343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new Item() { + position = "-67.9643 -274.489 84.4281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new ParticleEmissionDummy(Smoke) { + position = "-156.185 78.5338 80.5894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "VSmokeSpikeEmitter"; + velocity = "1"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-95.1046 -161.896 132.666"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "185.256 -93.3801 185.825"; + rotation = "0 0 1 204.155"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "12.3261 591.295 188.277"; + rotation = "0 0 -1 15.4698"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new WaterBlock(Water) { + position = "-688 -208 0"; + rotation = "1 0 0 0"; + scale = "800 160 67"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + locked = "true"; + }; + new Lightning() { + position = "-59.9745 1.4014 107.593"; + rotation = "1 0 0 0"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "10"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + }; + new InteriorInstance(BaseTurretStand1) { + position = "-102.991 -142.791 73.5894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-356.218 4.81007 74.6626"; + rotation = "0.590215 -0.590215 0.55072 237.685"; + scale = "0.16505 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Item() { + position = "-356.398 -37.4159 77.8881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/SilentStorm.vl2/terrains/SilentStorm.spn b/public/base/@vl2/SilentStorm.vl2/terrains/SilentStorm.spn new file mode 100644 index 00000000..1067de3a Binary files /dev/null and b/public/base/@vl2/SilentStorm.vl2/terrains/SilentStorm.spn differ diff --git a/public/base/@vl2/SilentStorm.vl2/textures/gui/Load_SilentStorm.png b/public/base/@vl2/SilentStorm.vl2/textures/gui/Load_SilentStorm.png new file mode 100644 index 00000000..6011dec6 Binary files /dev/null and b/public/base/@vl2/SilentStorm.vl2/textures/gui/Load_SilentStorm.png differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/LICENSE b/public/base/@vl2/SkiFreeGameType.vl2/LICENSE new file mode 100644 index 00000000..0003c71d --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/LICENSE @@ -0,0 +1,55 @@ +Red Shifter's License for Tribes 2 Works v1.4, updated 2021-03-07 + +Copyright (c) 2021 "Red Shifter" + +1. SUMMARY +The goal of this license is to +- Forbid commercial use of this work and its derivatives +- Forbid the solicitation of donations, except with permission +- Preserve derivative works and keep server admins from holding onto them +- Indemnify the creators of works, taking away all implications of liability and warranty + +2. PERSONAL USE +Blanket permission is granted to keep a copy of the work and use it for your own personal use. Personal use is defined as any use on a game server with +a maximum of 4 human players on it. + +Acceptance of this license is not required in order to play on a server using the work. Only to host the work on your own server. + +3. COMMERCIAL USE +Commercial use is explicitly prohibited. This includes, but is not limited to running a server for money, pay-to-play servers, etc. There are three +exceptions to this rule: + +- Server owners may solicit donations to continue running, as long as permission is received by the author of the work (and in cases of derivative +works, the creators of those works as well). Such permission can be revoked at any time by the author(s). +- Servers that run over a LAN, such as for a LAN party, may host this code as long as all hosted works and derivatives are publicly available. Such +servers cannot accept outside connections (such as from VPN, dark web, etc.) +- Server infrastructure providers (such as Branzone) are not part of commercial use, as long as it's the server operator (such as the person who paid +for said server) is the one who made the decision to include the work on the server. + +4. DERIVATIVE WORKS +In this license, a "derivative work" is any map, any code modification, any code addition with the explicit purpose of changing how the code works, etc. + +All derivative works are fine as long as such modifications are PUBLICLY AVAILABLE. It is EXPRESSLY PROHIBITED to run any derivative work on a server +without making it publicly available, such as through website, FTP, public GitHub, etc. Works in progress, test versions, etc. do not need to be +uploaded for public availability immediately. However, if said versions are requested and are still in active use on a server, it should be made +available as soon as convenient, such as within 24 hours of the request, and such files could be made available informally through Discord, etc. + +Derivative works are implied to use this license, even if the license is not included with it. Derivative works that fully replace the existing code +(such as a new version of the work not requiring the existing VL2) MUST include this license. Additional terms may be attached to the license, as long +as this license is unmodified and does not conflict with the terms of this license. In all cases, this license will be considered to take priority. + +Derivative works based on this work cannot use licenses that are more inclusive, such as MIT License, etc. + +You may not solicit donations, commissions, etc to create a derivative work based on something using this license. + +Derivative works must not contain morally reprehensible or illegal content. + +5. INDEMNIFICATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +6. TRICKERY CLAUSE +This is not an ironclad contract. I am not a lawyer. This license will be interpreted how I see fit. Malicious attempts to get around loopholes in +the license are considered a violatios of the license, and you immediately forfeit all rights to the work and its derivatives. \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/audio/voice/Training/Briefings/SkiFree.brief01.WAV b/public/base/@vl2/SkiFreeGameType.vl2/audio/voice/Training/Briefings/SkiFree.brief01.WAV new file mode 100644 index 00000000..bac00de5 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/audio/voice/Training/Briefings/SkiFree.brief01.WAV differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree.mis b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree.mis new file mode 100644 index 00000000..2d37af66 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree.mis @@ -0,0 +1,135 @@ +// DisplayName = SkiFree +// MissionTypes = SkiFree + +//--- MISSION QUOTE BEGIN --- +//If you french fry when you pizza, you're gonna have a bad time. +// -- Thumper +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Chooses a random terrain +//Sets up a random spawn point +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-1024 -1024 2048 2048"; + flightCeiling = "1000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "750"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.700000 0.900000 0.000000"; + fogDistance = "600"; + fogColor = "0.200000 0.700000 0.900000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "1024 512 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture3 = "special/LensFlare/flare02"; + texture0 = "special/sunFlare"; + texture1 = "special/sunFlare02"; + locked = "true"; + texture2 = "special/LensFlare/flare01"; + texture4 = "special/LensFlare/flare03"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + GraphFile = "SkiFree.nav"; + locked = "true"; + rotation = "0 0 0 0"; + coverage = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFreeZ_Championship_2021.mis b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFreeZ_Championship_2021.mis new file mode 100644 index 00000000..3984a882 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFreeZ_Championship_2021.mis @@ -0,0 +1,280 @@ +// MissionTypes = SinglePlayer +// DisplayName = SkiFree Tourney 2021 + +//--- MISSION BRIEFING BEGIN --- +//It's the 20th anniversary of Tribes 2. At least, the 20th anniversary of my account. +// +//The SkiFree Tourney 2021 is a Medium-difficulty daily generated on 2021-03-30, based on Version 1.04. +// +//Difficulty doesn't matter. +// +//Qualifying Time: 73.868 +// +//Hints: +//- Discjump twice before Gate 1 and try to hit 450kph +//- Ride that speed through Gate 5 if you can +//- Use the terrain to turn yourself towards Gate 6 +//- Carrying high speed through the last two gates is sketchy +//--- MISSION BRIEFING END --- + +// BriefingWAV = SkiFree 1 +// Bitmap = trn_skifree_2021 + +//--- MISSION STRING BEGIN --- +//SkiFree Tourney 2021 +//Qualifying Time: 73.868 +//Good luck! +//--- MISSION STRING END --- + +// PlanetName = SkiFree Tourney 2021 + +//--- MISSION BLURB BEGIN --- +//This isn't actually seen because SkiFree takes over the SinglePlayer thing +//Oh well, doesn't really matter +//--- MISSION BLURB END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + + cdTrack = "6"; + SkiFree_qualifierTime = "73.868"; + powerCount = "0"; + musicTrack = "lush"; + + + new MissionArea(MissionArea) { + area = "-1024 -1024 2048 2048"; + flightCeiling = "1000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "750"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.700000 0.900000 0.000000"; + fogDistance = "600"; + fogColor = "0.200000 0.700000 0.900000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new Sun() { + position = "1024 512 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + + texture2 = "special/LensFlare/flare01"; + texture3 = "special/LensFlare/flare02"; + locked = "true"; + texture4 = "special/LensFlare/flare03"; + texture0 = "special/sunFlare"; + texture1 = "special/sunFlare02"; + }; + new TerrainBlock(terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SkiFreeZ_Championship_2021.ter"; + squareSize = "8"; + + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + + YDimOverSize = "0"; + GraphFile = "SkiFree.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + locked = "true"; + + position = "0 0 0 1"; + coverage = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + }; + new InteriorInstance(SpawnPlatform) { + position = "218 -329 106.258"; + rotation = "0 0 1 152.943"; + scale = "3 3 3"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "954.49 47.1803 74.0685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "1"; + }; + new StaticShape() { + position = "1667.62 465.963 104.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "2"; + }; + new StaticShape() { + position = "2342.69 788.114 78.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "3"; + }; + new StaticShape() { + position = "2881.27 1144.82 118.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "4"; + }; + new StaticShape() { + position = "3598.22 1488.35 88.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "5"; + }; + new StaticShape() { + position = "4243.66 2065.73 77.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "6"; + }; + new StaticShape() { + position = "4297.5 2869.93 63.0078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "0"; + gateNum__ = "7"; + }; + new StaticShape() { + position = "4665.18 3599.52 86.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + + isFinish__ = "1"; + gateNum__ = "8"; + }; +}; +//--- OBJECT WRITE END --- + +// break out the terraformer to make the terrain +//Game.breakOutTerraformer(2, 17892); // demos don't work with this! +Game.terrain = "Tourney 2021"; \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree_Daily.mis b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree_Daily.mis new file mode 100644 index 00000000..e5b0dfc0 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree_Daily.mis @@ -0,0 +1,183 @@ +// MissionTypes = SinglePlayer +// DisplayName = SkiFree Daily Challenge + +//--- MISSION BRIEFING BEGIN --- +//The daily challenge of SkiFree. +// +//A new level will be generated every day. A completely random terrain that nobody has ever seen before, until now. +// +//Since the level will be the same regardless of who is playing, you can share times! Talk about how much better you are than everyone else! Forget about the time zone conversions and end up talking about the wrong map! Get banned from Discord for spamming this crap months after everyone else stops caring about it! +// +//Difficulty will determine how hard the terrain is. So it can really be thought of as a three-in-one challenge. Easy and Medium will just be varying levels of fBM Fractal, which makes some nice rolling hills. But the Hard terrain? You'll have to see it to believe it. +//--- MISSION BRIEFING END --- + +// BriefingWAV = SkiFree 1 +// Bitmap = trn_skifree_daily + +//--- MISSION STRING BEGIN --- +//The Daily +//--- MISSION STRING END --- + +// PlanetName = SkiFree Daily Challenge + +//--- MISSION BLURB BEGIN --- +//This isn't actually seen because SkiFree takes over the SinglePlayer thing +//Oh well, doesn't really matter +//--- MISSION BLURB END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-1024 -1024 2048 2048"; + flightCeiling = "1000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "750"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.700000 0.900000 0.000000"; + fogDistance = "600"; + fogColor = "0.200000 0.700000 0.900000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "1024 512 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture3 = "special/LensFlare/flare02"; + texture0 = "special/sunFlare"; + texture1 = "special/sunFlare02"; + locked = "true"; + texture2 = "special/LensFlare/flare01"; + texture4 = "special/LensFlare/flare03"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + GraphFile = "SkiFree.nav"; + locked = "true"; + rotation = "0 0 0 0"; + coverage = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- + +// break out the terraformer here +$SkiFreeRandomSeed = Game.getDailySeed(); +$SkiFreeRandomSeed *= $pref::trainingDifficulty; + +if( !Game.isAprilFools() ) { + + Game.breakOutTerraformer( + $pref::trainingDifficulty, + $SkiFreeRandomSeed + ); + + Game.terrain = Game.terrain SPC formatTimeString("yy-mm-dd"); +} +else { + // select the proper terrain + if( $pref::trainingDifficulty == 1 ) { + $TerrainTest = "FrozenFury"; + } + else if( $pref::trainingDifficulty == 2 ) { + $TerrainTest = "Confusco"; + } + else if( $pref::trainingDifficulty == 3 ) { + $TerrainTest = "TL_Skylight"; + } + + Game.generateTerrain(); + $TerrainTest = ""; + + Game.terrain = "April Fools '" @ formatTimeString("y"); + if( $pref::trainingDifficulty == 1 ) Game.terrain = Game.terrain SPC "Easy"; + if( $pref::trainingDifficulty == 2 ) Game.terrain = Game.terrain SPC "Medium"; + if( $pref::trainingDifficulty == 3 ) Game.terrain = Game.terrain SPC "Hard"; +} \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree_Randomizer.mis b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree_Randomizer.mis new file mode 100644 index 00000000..16395585 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/missions/SkiFree_Randomizer.mis @@ -0,0 +1,154 @@ +// MissionTypes = SinglePlayer +// DisplayName = SkiFree Randomizer + +//--- MISSION BRIEFING BEGIN --- +//The randomizer of SkiFree. +// +//This will generate completely random terrains that nobody has ever seen, and nobody will ever see again. +// +//Difficulty will determine how hard the terrain is. So it can really be thought of as a three-in-one challenge. Easy and Medium will just be varying levels of fBM Fractal, which makes some nice rolling hills. But the Hard terrain? You'll have to see it to believe it. +//--- MISSION BRIEFING END --- + +// BriefingWAV = SkiFree 1 +// Bitmap = trn_skifree_random + +//--- MISSION STRING BEGIN --- +//The Randomizer +//--- MISSION STRING END --- + +// PlanetName = SkiFree Randomizer + +//--- MISSION BLURB BEGIN --- +//This isn't actually seen because SkiFree takes over the SinglePlayer thing +//Oh well, doesn't really matter +//--- MISSION BLURB END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-1024 -1024 2048 2048"; + flightCeiling = "1000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "750"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.700000 0.900000 0.000000"; + fogDistance = "600"; + fogColor = "0.200000 0.700000 0.900000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "1024 512 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture3 = "special/LensFlare/flare02"; + texture0 = "special/sunFlare"; + texture1 = "special/sunFlare02"; + locked = "true"; + texture2 = "special/LensFlare/flare01"; + texture4 = "special/LensFlare/flare03"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + GraphFile = "SkiFree.nav"; + locked = "true"; + rotation = "0 0 0 0"; + coverage = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- + +// break out the terraformer here +Game.breakOutTerraformer( + $pref::trainingDifficulty +); + +Game.terrain = Game.terrain SPC "Randomizer"; \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/other/SkiFreeCreator.java b/public/base/@vl2/SkiFreeGameType.vl2/other/SkiFreeCreator.java new file mode 100644 index 00000000..79f3cc48 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/other/SkiFreeCreator.java @@ -0,0 +1,232 @@ +import java.io.File; +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.StandardOpenOption; +import java.text.SimpleDateFormat; +import java.util.LinkedList; +import java.util.List; + +/** + * Compile it yo damn self. + * @author Red Shifter + * + */ +public class SkiFreeCreator { + private static File inputFile; + private static File outputFile; + + private static List outputText = new LinkedList<>(); + private static int ERRORLEVEL = 0; + + public static void main(String[] args) { + if( args.length == 0 || args.length > 2 ) { + System.out.println("Parameters: inFile outFile"); + System.out.println("inFile should be the input CSV. Make sure it's saved as UTF-8."); + System.out.println("outFile (optional) should be the output CS (if not included, output is printed to console). That CS will be overwritten."); + System.exit(1); + } + inputFile = new File(args[0]); + if( !inputFile.exists() ) { + System.err.println("Input file doesn't exist."); + System.exit(1); + } + + if( args.length > 1 ) outputFile = new File(args[1]); + + try { + generate(args); + } + catch( Exception e ) { + e.printStackTrace(); + ERRORLEVEL = 1; + } + System.exit(ERRORLEVEL); + } + + private static void generate(String[] args) throws IOException { + println("// SkiFree Terrain List"); + println("// Input File Date: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(inputFile.lastModified())); + println(); + println("// A good terrain has the following qualities:"); + println("// - doesn't have a bunch of flat ground, even if it's right outside the mission bounds (high octane)"); + println("// - is not fucking gigantic (stripmine, a bunch of other TR2 terrains)"); + println("// - doesn't have a bunch of steep plateaus"); + println("// - is not Magnum (a map where the fastest route is to discjump off a bunch of flat ridges)"); + println("// use $TerrainTest to test a terrain locally"); + println(); + println("%i = -1; // %i++ is pre-increment for some reason; it's -1 so it can start at 0"); + println("%j = -1; // %j++ is pre-increment for some reason; it's -1 so it can start at 0"); + println(); + + List fileLines = Files.readAllLines(inputFile.toPath(), Charset.forName("UTF-8")); + List terrainList = new LinkedList<>(); + + for( String line : fileLines ) { + String[] split = line.split(","); + if( split.length == 0 ) continue; + if( !split[0].endsWith(".ter") ) continue; + + Terrain ter = new Terrain(split); + if( !ter.hasErrors ) + terrainList.add(ter); + else + ERRORLEVEL = 1; + } + + // if you don't want me at my new String[][] {}, you don't deserve me at my ______________ + for( String[] output : new String[][] { + {"ACCEPTED TERRAINS", ""}, + {"SUPERHARD (APRIL FOOLS)", "SUPERHARD"}, + {"REJECTED FOR DEADSTOPS", "DEADSTOP"}, + {"REJECTED FOR BEING UNSKIIABLE", "VARIANCE"}, + {"REJECTED FOR SOME OTHER REASON", "OVERRIDE"}, + {"DUPLICATES", "DUPLICATE"} + }) { + String listName = output[0]; + String rejectReason = output[1]; + + // count up how many there are + int count = 0; + for( Terrain ter : terrainList ) { + if( rejectReason.equals(ter.rejectReason) ) { + count++; + } + } + + println("// " + listName + " (" + count + ")"); + for( Terrain ter : terrainList ) { + if( rejectReason.equals(ter.rejectReason) ) { + println(ter.toString()); + } + } + + println(); + } + + println("$SkiFreeTerrainListMAX = %i;"); + println("$SkiFreeTerrainListSuperHardMAX = %j;"); + + writeFile(); + + if( outputFile != null ) { + if( ERRORLEVEL == 0 ) { + System.out.println("Task completed successfully"); + } + else { + System.out.println("Task completed with errors"); + } + } + else if( ERRORLEVEL == 1 ) { + System.out.println(""); + System.out.println("Script generated with errors. Please correct them."); + } + } + + private static void writeFile() throws IOException { + if( outputFile != null) { + Files.write(outputFile.toPath(), outputText, StandardOpenOption.TRUNCATE_EXISTING); + } + else { + for( String line : outputText ) { + System.out.println(line); + } + } + } + + private static void println() { + println(""); + } + + private static void println(String line) { + outputText.add(line); + } + + static class Terrain { + String terrainName; + String result; + String rejectReason; + String comment; + boolean hasErrors = false; + + public Terrain(String[] split) { + terrainName = split[0]; + result = split[4]; + + // validation + switch( result ) { + case "Accept": + if( "Yes".equals(split[1]) || "Yes".equals(split[2]) || "Yes".equals(split[3]) ) { + System.err.println(terrainName + " is Accept but has a rejection reason!"); + hasErrors = true; + } + break; + case "Reject": + case "Superhard": + if( !"Yes".equals(split[1]) && !"Yes".equals(split[2]) && !"Yes".equals(split[3]) ) { + System.err.println(terrainName + " is Reject but has no rejection reason!"); + hasErrors = true; + } + break; + case "Duplicate": + break; + case "": + default: + System.err.println(terrainName + " has unknown result " + result); + hasErrors = true; + break; + } + + if( "Superhard".equals(result) ) { + rejectReason = "SUPERHARD"; + } + else if( "Yes".equals(split[1]) ) { + rejectReason = "DEADSTOP"; + } + else if( "Yes".equals(split[2]) ) { + rejectReason = "VARIANCE"; + } + else if( "Yes".equals(split[3]) ) { + rejectReason = "OVERRIDE"; + } + else if ( "Duplicate".equals(result) ) { + rejectReason = "DUPLICATE"; + } + else { + rejectReason = ""; + } + + if( split.length > 5 ) { + comment = split[5]; + if( comment.startsWith("\"") ) { + comment = comment.substring(1, comment.length() - 1); + } + } + else { + comment = ""; + } + } + + @Override + public String toString() { + String value; + if( "Accept".equals(result) ) { + value = "$SkiFreeTerrainList[%i++] = \""; + } + else if( "SUPERHARD".equals(rejectReason) ) { + value = "$SkiFreeTerrainListSuperHard[%j++] = \""; + } + else { + value = "//$SkiFreeTerrainList[%i++] = \""; + } + + // automatically makes string builder on real versions of java, fuck you + return + value + + terrainName + + "\";" + + (!comment.isEmpty() ? (" // " + comment) : "") + ; + } + } +} diff --git a/public/base/@vl2/SkiFreeGameType.vl2/other/terrain list.csv b/public/base/@vl2/SkiFreeGameType.vl2/other/terrain list.csv new file mode 100644 index 00000000..e5ae15e8 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/other/terrain list.csv @@ -0,0 +1,236 @@ +TERRAIN,FLAT,VARIANCE,OVERRIDE,RESULT,REVIEW +Abominable.ter,Yes,Yes,,Reject, +AcidRain.ter,Yes,No,,Reject, +AgentsOfFortune.ter,Yes,Yes,,Reject, +Alcatraz.ter,Trace,No,,Accept,yeah. seems fine +Archipelago.ter,No,Yes,,Reject, +AshesToAshes.ter,Yes,Yes,,Reject, +Attrition.ter,Trace,No,,Accept, +BastardForge.ter,No,No,,Accept, +BeggarsRun.ter,Duplicate,Duplicate,,Duplicate, +Broadside_nef.ter,No,No,,Accept, +Bunkered.ter,No,Yes,,Reject, +Caldera.ter,No,No,,Accept, +Cardiac.ter,No,No,,Accept, +Casern_Cavite.ter,Yes,Yes,,Reject, +CCD.ter,Trace,No,,Accept, +CeleritySE.ter,Trace,No,,Accept,I was on the fence on this one +Chasmaclysmic.ter,Trace,Kinda,Yes,Reject,this level is really kinda boring if it spawns right (which it can not do) +Cinerarium.ter,Trace,No,,Accept, +cloak.ter,No,Yes,,Reject,the terrain is just too big for a fun race +CompUSA_Melee.ter,No,Yes,,Reject,the hill is causing too much grief and the rest of the map doesn’t have enough value to justify it +Confusco.ter,No,Yes,,Superhard,WAY too big. +Coppera.ter,No,No,,Accept,this seems fine. just gotta keep jumping over the mesas? plateaus? fjordr? Whatever +Crater71.ter,No,Yes,,Reject,this almost always generates something very unfun +Damnation.ter,Duplicate,Duplicate,,Duplicate, +DangerousCrossing_nef.ter,No,No,,Accept,this level is fine +DBS_Smoothed.ter,Trace,Yes,,Reject, +DeathBirdsFly.ter,Trace,No,,Accept, +DesertofDeath_nef.ter,No,No,,Accept, +Desiccator.ter,Duplicate,Duplicate,,Duplicate,Things clearly seem to be at 4 plateaus of height. which doesn't make for good skiing. +DMP_Pantheon.ter,Trace,Kinda,Yes,Reject,there isn't enough value to this map to risk deadstopping +DustToDust.ter,Yes,Yes,,Reject, +DX_Badlands.ter,Duplicate,Duplicate,,Duplicate, +DX_Desert.ter,Duplicate,Duplicate,,Duplicate, +DX_Ice.ter,Duplicate,Duplicate,,Duplicate, +EB_Hades.ter,No,Yes,,Reject,not only is it extreme but you kinda have trouble reading the terrain too +Embers.ter,Trace,No,,Accept, +Equinox.ter,Yes,No,,Reject, +Escalade.ter,No,Yes,,Reject, +Euro_Drifts_SE.ter,Trace,Yes,,Reject, +Euro4_Bleed.ter,Trace,No,,Accept, +Euro4_Dissention.ter,Trace,No,,Accept, +Euro4_FrozenHope.ter,No,No,,Accept,seems fine? +Extra_Badlands1.ter,Yes,Likely,,Reject, +Firestorm.ter,Yes,,,Reject, +Flashpoint.ter,Yes,,,Reject, +Fracas.ter,Yes,,,Reject, +FrozenFury.ter,No,Yes,,Superhard,even the parts inside mission bounds are unskiiable garbage +Gauntlet.ter,Yes,No,,Reject, +Gehenna.ter,Yes,,,Reject, +Geothermal.ter,Trace,Yes,,Reject,spawn is usually on the plateau. It can generate good starts and bad starts but it's usually a mess +GodsRift.ter,No,Yes,,Reject, +Gorgon.ter,No,No,,Accept, +Haven.ter,Yes,Kinda,,Reject, +Hildebrand.ter,No,No,,Accept, +HillKing.ter,No,Yes,,Reject, +Hillside.ter,Yes,Yes,,Superhard,accepted into april fools set (though it really shouldn’t be – too many deadstops) +HO_Badlands.ter,Yes,,,Reject, +HO_Desert.ter,Yes,,,Reject, +HO_Ice.ter,Yes,,,Reject, +HO_Lush.ter,Yes,,,Reject, +Hoth.ter,No,Yes,Yes,Reject,why would you name a terrain hoth if it isn't snowy +IceBound.ter,Yes,,,Reject, +icedagger.ter,No,No,,Accept, +IceGiant.ter,No,Yes,,Reject,terrain is kinda extreme +IceRidge_nef.ter,No,Yes,,Reject,canyons are just bad for this +Insalubria.ter,No,Yes,,Reject, +Invictus.ter,Yes,,,Reject, +JacobsLadder.ter,Trace,Yes,,Reject,hills are WAY too extreme +jaggedclaw.ter,No,No,,Accept, +Katabatic.ter,Duplicate,Duplicate,,Duplicate, +Lakefront.ter,Trace,Likely,Yes,Reject,just kinda hate this map tbh +LavaGods.ter,No,No,,Accept,this is fine +Magellan.ter,No,No,,Accept, +Magmatic.ter,Trace,No,,Accept,a bit on the hard side +MapAssets.ter,Yes,,,Reject, +Masada.ter,Yes,,,Reject,tiny dicked map +Minotaur.ter,No,Yes,,Reject, +mmd.ter,Yes,,,Reject, +MoonDance2.ter,Yes,No,,Reject,too many deadstop splotches +Moonwalk.ter,No,No,Yes,Reject,magnum-like terrain +mountking.ter,No,Yes,,Reject, +MyrkWood.ter,No,No,Yes,Reject,we don't need this when we have woodymyrk +norty.ter,No,Yes,,Reject,too extreme +Oasis.ter,No,No,,Accept, +Octane.ter,Yes,,,Reject, +Ocular.ter,No,No,,Accept, +Overreach.ter,Yes,Yes,,Reject, +Paranoia.ter,Trace,Kinda,Yes,Reject,this map is basically flat garbage with a few hills to get in your way +Pariah.ter,Trace,Yes,,Reject,these hills are too fucking steep +Pariah2.ter,Trace,Yes,,Reject,ditto +PhasmaDust.ter,Yes,,,Reject, +PlanetX2.ter,Trace,No,,Accept, +PuliVeivari.ter,No,Yes,,Reject, +Pyroclasm.ter,Yes,,,Reject, +Quagmire.ter,Yes,,,Reject, +Raindance_nef.ter,No,No,,Accept, +Ramparts.ter,No,Likely,Yes,Reject,biased against copyright violation map +RandomTer1.ter,No,No,,Accept, +RandomTer10.ter,No,No,,Accept, +RandomTer2.ter,No,No,,Accept, +RandomTer3.ter,No,Yes,,Reject,canyon fractal +RandomTer4.ter,No,No,,Accept, +RandomTer5.ter,No,No,,Accept, +RandomTer6.ter,No,No,,Accept, +RandomTer7.ter,No,No,,Accept, +RandomTer8.ter,No,No,,Accept, +RandomTer9.ter,No,No,,Accept,this canyon works somehow +Rasp.ter,Trace,Yes,,Reject, +Ravine.ter,Duplicate,Duplicate,,Duplicate, +RavineV.ter,Trace,Yes,,Reject, +Recalescence.ter,Yes,,,Reject, +Respite.ter,No,No,,Accept, +Reversion.ter,Yes,Kinda,,Reject, +Rimehold.ter,No,Yes,,Reject, +RiverDance.ter,Yes,,,Reject, +Rollercoaster_nef.ter,No,No,,Accept,unlike most canyon maps this actually turns out to be skiiable +rst_agroleon.ter,Trace,Kinda,Yes,Reject,the outer half of the terrain is too flat. and I deadstopped somewhere weird +rst_Astro.ter,No,No,,Accept, +rst_bittergorge.ter,No,No,,Accept, +rst_crumpie.ter,No,No,,Accept, +rst_dermcity.ter,No,No,Yes,Reject,whatever the fuck this is doesn't seem good for this +rst_FaceCrossing.ter,No,No,,Accept, +rst_isledebatalla.ter,Yes,,,Reject, +Rst_ScorchedEarth.ter,Trace,No,,Accept,it's fine +rst_SimpleFlagArena.ter,No,Yes,,Reject,literally squares +rst_spit.ter,No,No,,Accept,i got to gate 5 on a discless discjump launch run +Rush.ter,No,No,,Accept, +S5_Centaur.ter,No,No,,Accept, +S5_Drache.ter,No,No,,Accept, +S5_Icedance.ter,No,No,,Accept, +S5_massive.ter,Trace,No,,Accept,this is fine? I remember writing about deadstops but I don't see any? +S5_Mordacity.ter,No,No,,Accept, +S5_rst_hawkingheat.ter,Trace,Yes,,Reject, +S5_rst_misadventure.ter,No,No,,Accept, +S5_rst_reynard.ter,No,Yes,,Reject,this map is pushing the bounds of variance +S5_rst_silenus.ter,No,Yes,,Reject, +S5_Sherman.ter,No,No,,Accept, +S5-Icedance.ter,Duplicate,Duplicate,,Duplicate, +S5-massive.ter,Duplicate,Duplicate,,Duplicate, +S5-Mordacity.ter,Duplicate,Duplicate,,Duplicate, +S8_rst_dogma.ter,No,No,,Accept, +S8_rst_opus.ter,Trace,No,,Accept, +S8_zilch.ter,No,Yes,,Reject, +Sanctuary.ter,Trace,Yes,,Reject, +Sandstorm.ter,No,No,,Accept, +SC_Badlands.ter,Yes,,,Reject, +SC_Desert.ter,Yes,,,Reject, +SC_Ice.ter,Yes,,,Reject, +SC_Lush.ter,Yes,,,Reject, +SC_Night.ter,Yes,,,Reject, +SC_Normal.ter,Yes,,,Reject, +Scarabrae_nef.ter,Yes,,,Reject, +ShockRidge.ter,No,Yes,,Reject,not a fan of these canyon levels +Sirocco.ter,Yes,,,Reject, +SkinnyDip.ter,Trace,No,,Accept,really wanted to use one of the TR2 maps. This has a big scale but also nice hills +Slapdash.ter,Duplicate,Duplicate,,Duplicate, +Snowblind_nef.ter,Trace,Yes,,Reject,already knew this is a bad idea before I even started +SolsDescent.ter,Yes,,,Reject, +SpinCycle.ter,No,No,,Accept,this was borderline rejected +StarFallCTF2.ter,Trace,No,,Accept, +Starfallen.ter,Trace,No,,Accept, +Stonehenge_nef.ter,No,Yes,,Reject,kryand tried to tell me this was a skiiable terrain. so I put the flags in different places. he no longer believes it's a skiiable terrain +SubZero.ter,Duplicate,Duplicate,,Duplicate, +SunDried.ter,Yes,,,Reject, +Surreal.ter,Trace,Yes,,Reject, +Talus.ter,Trace,Yes,,Reject, +ThinIce.ter,Yes,,,Reject, +Titan.ter,Trace,Yes,,Reject,why did I even open this. probably not stupid enough as a terrain choice for april fools +TL_Drorck.ter,No,No,,Accept, +TL_Magnum.ter,No,No,Yes,Reject,the best route is “discjump and keep landing on the flat parts at the top” – this is not compelling gameplay +TL_MuddySwamp.ter,Yes,,,Reject, +TL_RoughLand.ter,No,No,,Accept,this is kinda a finicky terrain but it works +TL_Skylight.ter,Trace,Yes,,Superhard, +Tombstone.ter,No,No,,Accept, +Training1.ter,Yes,,,Reject, +Training2.ter,Yes,,,Reject, +Training3.ter,Yes,,,Reject, +Training4.ter,Yes,,,Reject, +Training5.ter,Trace,Likely,Yes,Reject,Terrain is WAY too dark and you can't tell features on it. +TreasureIsland.ter,Yes,,,Reject, +TWL_Crossfire.ter,Yes,,,Reject, +TWL-Abaddon.ter,No,Yes,,Reject, +TWL-BaNsHee.ter,Yes,,,Reject, +TWL-BeachBlitz.ter,Trace,No,,Accept, +TWL-BeggarsRun.ter,No,Yes,,Reject, +TWL-BlueMoon.ter,Duplicate,Duplicate,,Duplicate, +TWL-Boss.ter,No,No,,Accept,this level is acceptable +TWL-Chokepoint.ter,Trace,Yes,,Reject, +TWL-Cinereous.ter,Trace,No,,Accept, +TWL-Clusterfuct.ter,No,Yes,,Reject, +TWL-Curtilage.ter,Yes,,,Reject, +TWL-Damnation.ter,Trace,No,,Accept, +TWL-DeadlyBirdsSong.ter,Duplicate,Duplicate,,Duplicate,DBS_Smoothed.ter +TWL-Deserted.ter,Trace,No,,Accept, +TWL-Desiccator.ter,No,Yes,,Reject, +TWL-Drifts.ter,Trace,Likely,Yes,Reject,there's nothing really to this map outside the mission bounds +TWL-Euro_Feign.ter,No,Yes,,Reject,come on man +TWL-Frostclaw.ter,No,Yes,,Reject, +TWL-Frozen.ter,No,No,,Accept, +TWL-Harvester.ter,No,No,,Accept,why did I take this one +TWL-Horde.ter,Yes,,,Reject, +TWL-Katabatic.ter,Yes,Yes,,Superhard,oob still bad. this was accepted into april fools because you always need a katabatic joke somewhere +TWL-Neve.ter,Yes,,,Reject,it's trace amounts but they're in places you would probably do routes +TWL-NoShelter.ter,Yes,,,Reject, +TWL-Os_Iris.ter,Trace,No,,Accept, +TWL-Pandemonium.ter,No,No,,Accept, +TWL-Runenmacht.ter,Trace,Yes,,Reject,nah +TWL-Slapdash.ter,Yes,,,Reject,crapdash +TWL-SubZero.ter,No,Yes,,Reject, +TWL-WilderZone.ter,Trace,No,,Accept, +TWL-WoodyMyrk.ter,No,No,,Accept, +TWL2_Crevice.ter,No,No,,Accept, +TWL2_Frozenglory.ter,No,No,,Accept, +TWL2_Ruined.ter,Yes,No,,Reject,looks like a decent terrain but isn’t +Tyre.ter,Yes,Yes,,Reject, +UltimaThule.ter,Trace,Yes,,Reject, +Underhill.ter,Trace,Yes,,Reject, +Wasteland.ter,No,No,,Accept,whatever sure +WhiteDwarf.ter,Trace,Yes,,Reject, +Whiteout.ter,No,Yes,,Reject, +WoodyMyrkSE.ter,No,No,,Accept, +Xtra_AshenPowder.ter,Trace,No,Yes,Reject,can’t read that fucking terrain so i’m removing +Xtra_Bastage.ter,Trace,No,,Accept, +Xtra_Birthright.ter,No,Yes,,Reject, +Xtra_Crown.ter,Trace,Yes,,Reject, +Xtra_DesertedSE.ter,Trace,Yes,,Reject,This is a VERY jagged terrain. +Xtra_Helion.ter,Likely,No,Yes,Reject,this is just a really boring terrain +Xtra_SoupLadle.ter,No,No,,Accept, +Xtra_StarFall_T1.ter,Yes,,,Reject, +Xtra_Stripmine.ter,Yes,Yes,,Superhard, +Xtra_ThunderGiant.ter,Trace,No,,Accept,this map is garbage but it's fun to try to ski on it +Xtra_VanDamned.ter,No,No,,Accept, +Xtra_Voodoo.ter,No,Yes,,Reject, +Xtra_Xerxes.ter,Likely,Yes,,Reject, +Xtra_ziggurat.ter,Yes,,,Reject, diff --git a/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeAI.cs b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeAI.cs new file mode 100644 index 00000000..ac948b4b --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeAI.cs @@ -0,0 +1,647 @@ +// SkiFreeAI.cs +// no, not aiSkiFree.cs - that naming convention is stupid + +// level 1 - the bot will just be handled by the game +// level 2 - ski down hills, everything else the same (skiing doesn't work very well because bots are too afraid of fall damage) +// level 3 - don't be afraid of fall damage, ski down hills, jet up/over hills +// level 4 - don't ski down hills that are sloped to the side (to avoid going way off-course) + +// yeti - just wrecks your shit if you're not going fast enough + +function SkiFreeGame::addNamedBot(%game, %name) { + // why did i do this lol + return aiConnect(%name, 1, 1.00); + // TODO make more methods for rooster's stupid marbles parody +} + +function SkiFreeGame::addBots(%game) { + // please don't call this more than once + for( %i = 0; %i < ClientGroup.getCount(); %i++ ) { + %cl = ClientGroup.getObject(%i); + if( %cl.isAIControlled() ) return; + } + + // note: there's something fucky with this code so it should be BELOW the skill level seen in AIHasJoined method + aiConnect("Level 4", 1, 1.00); + aiConnect("Level 3", 1, 0.70); + aiConnect("Level 2", 1, 0.45); + aiConnect("Level 1", 1, 0.20); +} + +function SkiFreeGame::AIHasJoined(%game, %client) { + %skill = %client.getSkillLevel(); + if( %skill <= 0.25 ) { + %client.AI_skiFreeBotLevel = 1; + } + else if( %skill <= 0.50 ) { + %client.AI_skiFreeBotLevel = 2; + } + else if( %skill <= 0.75 ) { + %client.AI_skiFreeBotLevel = 3; + } + else { + %client.AI_skiFreeBotLevel = 4; + } + + if( %client.bestTime $= "" ) { + %client.bestTime = %game.trialDefaultTime; + } +} + +function SkiFreeGame::AIinit(%game) { + // keeps ai from spamming the console - no idea what else it does + AIInit(); +} + +function SkiFreeGame::onAIRespawn(%game, %client) { + // start a heartbeat + %player = %client.player; + %game.schedule(1000, AI_heartbeat, %client, %player); + + // give a vgcg (but reduce the amount of spam that comes out) + if( !$SkiFreeYetiSpawning && getSimTime() - 1000 >= %game.AI_lastGoodGame ) { + if( getRandom(0, ClientGroup.getCount()) < 3 ) { + schedule(100, 0, AIPlay3DSound, %client, "gbl.goodgame"); + %game.AI_lastGoodGame = getSimTime(); + } + } + + %player.schedule(0, use, TargetingLaser); // have you ever heard 16 bots all with disc launchers out? it's LOUD +} + +function SkiFreeGame::AI_heartbeat(%game, %client, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + // check what our current task is + if( !$missionRunning || !$MatchStarted ) { + // no task yet - check back later + %heartbeat = 1000; + } + else if( %client == $SkiFreeYeti ) { + // this is the yeti - do yeti things + %heartbeat = %game.AI_Yeti(%client, %player); + } + else if( %player.getControllingClient() != %player.client ) { + // we're possessed (probably for debugging purposes) - don't do anything weird + %heartbeat = 1000; + } + else if( !%player.AI_meantToLaunch ) { + %game.AI_mingle(%client, %player); + %heartbeat = 1000; + } + else if( %client.AI_skiFreeBotLevel <= 1 ) { + // level 1 is just "turn off the heartbeat and use the standard bot behavior" + // it already knows where it needs to go, t2 can handle that much + %heartbeat = -1; + } + else if( %client.AI_skiFreeBotLevel == 2 ) { + // level 2 is "ski down hills, otherwise let t2 handle it" + // weaknesses: + // - it uses jets to try and avoid fall damage because that's the default t2 behavior + // - it's really not much better than level 1 + %game.AI_playGameLevel2(%client, %player); + %heartbeat = 20; + } + else if( %client.AI_skiFreeBotLevel == 3 ) { + // level 3 is "ski down hills, jet over hills" + // weaknesses: + // - it doesn't see whether skiing down is actually a good idea or not + // - it doesn't understand what to do once it has the speed + // - sometimes it misses the downhill directly and lands on the next uphill + // - sometimes it overshoots the gate because it's going too fast + %game.AI_playGameLevel3(%client, %player); + %heartbeat = 20; + } + else if( %client.AI_skiFreeBotLevel == 4 ) { + // level 4 is level 3, except it doesn't ski off slopes that'll send the bot way off-course + %game.AI_playGameLevel4(%client, %player); + %heartbeat = 20; + } + + // continue calling heartbeat to see what we should be doing + if( %heartbeat <= 1000 && %heartbeat > 0 ) { + %game.schedule(%heartbeat, AI_heartbeat, %client, %player); + } + else if( %heartbeat > 1000 || %heartbeat == 0 ) { + // heartbeat isn't set correctly - throw an error + messageAll(0, 'AI heartbeat error. See console for details.~wfx/powered/station_denied.wav'); + error("Heartbeat error for cl=" @ %client @ " pl=" @ %player @ " heartbeat=" @ %heartbeat); + } +} + +function SkiFreeGame::AI_mingle(%game, %client, %player) { + // PRIORITY 1. if alone in the game for 5 beats (no non-AI players on team1) and none of the AI are in the field, start a run + %alone = true; + for( %i = 0; %i < ClientGroup.getCount(); %i++ ) { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() && %cl.team == 1 ) { + // player in game, don't go on your own + %alone = false; + break; + } + else if( %cl.isAIControlled() ) { + if( !isObject(%cl.player) ) { + // a bot is dead, so they're respawning + %alone = false; + break; + } + else if( %cl.player.launchTime !$= "" ) { + // a bot is still in the field, don't desync + %alone = false; + break; + } + } + } + if( %alone ) { + %player.AI_alone++; + if( %player.AI_alone >= 5 ) { + %game.AI_startRun(%client, %player); + return; + } + } + else { + %player.AI_alone = 0; + } + + // PRIORITY 2. if someone just jumped off the platform, start a run behind them + if( getSimTime() - 2000 < %game.lastLaunchTime ) { + %game.AI_startRun(%client, %player); + return; + } + + // PRIORITY 3. if a new (non-AI) player spawned, say hello + for( %i = 0; %i < ClientGroup.getCount(); %i++ ) { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() + && %cl.team == 1 + && isObject(%cl.player) + && !%cl.player.AI_sentGreeting + && isObject(%cl.player.client) + && %cl.player.getState() !$= "Dead" + ) { + %cl.player.AI_sentGreeting = true; // only one bot should greet the player + schedule(250, %client, "AIPlayAnimSound", %client, %cl.player.position, "gbl.hi", $AIAnimWave, $AIAnimWave, 0); + return; + } + } +} + +function SkiFreeGame::AI_startRun(%game, %client, %player) { + // start the run + %player.AI_meantToLaunch = 1; + %client.stepMove(GatePoint1.position, 5); + %player.use(Disc); + + // tell the other bots that it's time to go + %game.lastLaunchTime = getSimTime(); +} + +function SkiFreeGame::AI_crossedGate(%game, %client, %player) { + // is there anything else to do here + %client.stepMove(nameToID("GatePoint" @ %player.gate).position, 5); +} + +// in case some asshole knocks a bot off the platform +function SkiFreeGame::AI_resetPosition(%game, %client, %player) { + // what the fuck did you do to him?! + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + %player.setTransform(Game.pickPlayerSpawn(%client)); + %player.setVelocity("0 0 0"); + %player.setDamageLevel(0); + %player.resetThread = ""; + + // watch where you're shooting + schedule(100, 0, AIPlay3DSound, %client, "wrn.watchit"); +} + +function SkiFreeGame::getAverageBotTime(%game) { + %time = 0; + %count = 0; + for(%i = 0; %i < ClientGroup.getCount(); %i ++) { + %client = ClientGroup.getObject(%i); + if( %client.isAIControlled() ) { + if( %client.lastTime !$= "" ) { + %time += %client.lastTime; + %count++; + } + } + } + + echo(%time / %count); +} + +function SkiFreeGame::AI_playGameLevel2(%game, %client, %player) { + // return if we haven't launched yet - just do standard bot things up to that point + if( %player.launchTime $= "" ) return; + + // this is little more than "is the target point downhill? hold ski" bot + %objDir = VectorSub(%player.position, nameToID("GatePoint" @ %player.gate).position); + %objDir = VectorNormalize(getWords(%objDir, 0, 1) SPC "0"); + %objDir = VectorScale(%objDir, 2); + %x = getWord(%player.position, 0); + %y = getWord(%player.position, 1); + + %terrainHeight = %game.findHeight(%x SPC %y); + + %xslope = %x + getWord(%objDir, 0); + %yslope = %y + getWord(%objDir, 1); + %hslope = %game.findHeight(%xslope SPC %yslope); + %slope = %terrainHeight - %hslope; + + if( %slope < 0.02 ) { + // going downhill, try skiing? + %client.pressjump(); + %aiHandled = true; + } +} + +function SkiFreeGame::AI_playGameLevel3(%game, %client, %player) { + // return if we haven't launched yet - just do standard bot things up to that point + if( %player.launchTime $= "" ) return; + + // disable the bot's jets when i don't tell you to use them + if( %player.storedEnergy > 0 ) { + %player.setEnergyLevel(%player.getEnergyLevel() + %player.storedEnergy); + %player.storedEnergy = 0; + } + %fireJets = false; + + %aiHandled = false; + + // PRIORITY 1. check distance to gate - if we're very close, return from method (use default bot behavior) + %dist = VectorDist(%player.position, nameToID("GatePoint" @ %player.gate)); + %vel = %player.getVelocity(); + if( %dist < 100 ) { + return; + } + + %objDir = VectorSub(%player.position, nameToID("GatePoint" @ %player.gate).position); + %objDir = VectorNormalize(getWords(%objDir, 0, 1) SPC "0"); + %x = getWord(%player.position, 0); + %y = getWord(%player.position, 1); + %terrainHeight = %game.findHeight(%x SPC %y); + + // PRIORITY 2. check slope + // going down slope - hold jump + // going up slope - hit the jets, unless too high (if there's a mountain in front of you, there's no such thing as too high) + if( !%aiHandled ) { + %xslope = %x + getWord(%objDir, 0); + %yslope = %y + getWord(%objDir, 1); + %hslope = %game.findHeight(%xslope SPC %yslope); + %slope = %terrainHeight - %hslope; + + if( %slope < 0.02 ) { + // going down + %client.pressjump(); + %aiHandled = true; + } + else { + // going up + // make sure we aren't too high off the ground - 10m is plenty + if( getWord(%player.position,2) - %terrainHeight < 10 ) { + %fireJets = true; + %aiHandled = true; + } + else { + %hit = ContainerRayCast(%player.position, VectorScale(%objDir, 50) SPC getWord(%player.position,2) - 25, $TypeMasks::TerrainObjectType); + if( VectorDist(%player.position, getWords(%hit, 1, 3)) < 25 ) { + %fireJets = true; + %aiHandled = true; + } + } + } + } + + if( %fireJets ) { + %client.pressjump(); + %client.pressjet(); + } + else { + %player.storedEnergy = %player.getEnergyLevel(); + %player.setEnergyLevel(0); + } +} + +function SkiFreeGame::AI_playGameLevel4(%game, %client, %player) { + // return if we haven't launched yet - just do standard bot things up to that point + if( %player.launchTime $= "" ) return; + + // disable the bot's jets when i don't tell you to use them + if( %player.storedEnergy > 0 ) { + %player.setEnergyLevel(%player.getEnergyLevel() + %player.storedEnergy); + %player.storedEnergy = 0; + } + %fireJets = false; + + %aiHandled = false; + + // PRIORITY 1. check distance to gate - if we're very close, return from method (use default bot behavior) + // TODO check distance to gate - if we're going fast, check trajectory. if we're off, return from method (use default bot behavior) + %dist = VectorDist(%player.position, nameToID("GatePoint" @ %player.gate)); + %vel = %player.getVelocity(); + // TODO remove this shit and make it good + if( %dist < 100 ) { + return; + } + //%speed = VectorLen(%vel); + //if( %speed >= 70 ) { + // i have no idea how to do this shit + //} + + //%objDir = VectorNormalize(getWords(%vel,0,1) SPC "0"); + %objDir = VectorSub(%player.position, nameToID("GatePoint" @ %player.gate).position); + %objDir = VectorNormalize(getWords(%objDir, 0, 1) SPC "0"); + //%objDir = VectorScale(%objDir, 2); // why are we doing this? + %x = getWord(%player.position, 0); + %y = getWord(%player.position, 1); + %terrainHeight = %game.findHeight(%x SPC %y); + + // PRIORITY 2. check slope + // going down slope - hold jump + // going up slope - hit the jets, unless too high (if there's a mountain in front of you, there's no such thing as too high) + // TODO use parabolas + + if( !%aiHandled ) { + %xslope = %x + getWord(%objDir, 0); + %yslope = %y + getWord(%objDir, 1); + %hslope = %game.findHeight(%xslope SPC %yslope); + %slope = %terrainHeight - %hslope; + + // check perpendicular slope to make sure we're going to send ourselves off-course + %xhor1 = %x - getWord(%objDir, 1); + %yhor1 = %y + getWord(%objDir, 0); + %hor1slope = %game.findHeight(%xhor1 SPC %yhor1); + %xhor2 = %x + getWord(%objDir, 1); + %yhor2 = %y - getWord(%objDir, 0); + %hor2slope = %game.findHeight(%xhor2 SPC %yhor2); + %horislope = mAbs(%hor1slope - %hor2slope); + + if( %horislope < 0.5 && %slope < 0.02 ) { + // going down + %client.pressjump(); + %aiHandled = true; + } + else { + // going up + // make sure we aren't too high off the ground - 10m is plenty + // TODO we need to do a distance check + if( getWord(%player.position,2) - %terrainHeight < 10 ) { + %fireJets = true; + %aiHandled = true; + } + else { + %hit = ContainerRayCast(%player.position, VectorScale(%objDir, 50) SPC getWord(%player.position,2) - 25, $TypeMasks::TerrainObjectType); + if( VectorDist(%player.position, getWords(%hit, 1, 3)) < 25 ) { + %fireJets = true; + %aiHandled = true; + } + } + } + } + + if( %fireJets ) { + %client.pressjump(); + %client.pressjet(); + } + else { + %player.storedEnergy = %player.getEnergyLevel(); + %player.setEnergyLevel(0); + } +} + +// spawns the yeti (SINGLE PLAYER ONLY) +function SkiFreeGame::createYetiFor(%game, %player, %spawnPosition) { + if( !%game.isSinglePlayer() ) { + error("wtf you trying to pull? yeti doesn't spawn online!"); + return; + } + if( !isObject(%player) ) return; + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + if( isObject($SkiFreeYeti) ) return; + + %voice = "Derm"@getRandom(1,2); // do humans taste like chicken or fish? + %voicePitch = 1 - ((getRandom(20) - 10)/100); + + // it doesn't get the client id until it's too late for certain things, so we need to hack around it + $SkiFreeYetiSpawning = 1; + %lastMissionType = $currentMissionType; + $currentMissionType = "SinglePlayer"; // surpress yeti's join message + $SkiFreeYeti = aiConnect("Yeti", 0, 1.00, true, %voice, %voicePitch); + $SkiFreeYetiSpawning = ""; + $currentMissionType = %lastMissionType; + + $SkiFreeYeti.skin = getTaggedString("base"); + setTargetSkin( $SkiFreeYeti.target, 'base' ); + + $SkiFreeYeti.stalkClient = %player.client; + $SkiFreeYeti.stalkPlayer = %player; + $SkiFreeYeti.race = "Bioderm"; + $SkiFreeYeti.player.setArmor("Heavy"); + + if( %spawnPosition !$= "" ) { + $SkiFreeYeti.player.schedule(0, setTransform, %spawnPosition); + } +} + +function SkiFreeGame::AI_Yeti(%game, %client, %player) { + // always face the stalked player (if they still exist) + if( isObject(%client.stalkPlayer) ) { + %client.aimAt(%client.stalkPlayer.getWorldBoxCenter()); + } + + if( %player.AI_meantToLaunch == 0 ) { + // yeti only has one thing on his mind + %player.setInventory(ShockLance,1); + %player.setInventory(Disc, 0); + %player.schedule(0, use, Shocklance); + %player.AI_meantToLaunch = 1; + + // remove this shit and make the yeti fuck people up directly by doing a direct velocity check + //%client.clientDetected($SkiFreeYeti.stalkClient); + //%client.stepEngage($SkiFreeYeti.stalkClient); + + return 20; + } + else if( + %client.stalkClient.player != 0 + && %client.stalkClient.player != %client.stalkPlayer + ) { + // player respawned - yeti drops + %player.setCloaked(true); + %client.drop(); + + return -1; + } + else if( %client.throwTime > 600 ) { + // you've made your point, now go eat the idiot + %client.throwTime = 0; + return 20; + } + else if( %client.throwTime > 0 ) { + // throwing platform into the air + %x = getWord(SpawnPlatform.position, 0); + %y = getWord(SpawnPlatform.originalTransform, 1) + (%client.throwTime * %client.throwDir); + + // put the spawn platform in the air + %z = getWord(SpawnPlatform.originalTransform, 2); + + // make an arc + %arc = (-0.003 * mPow(%client.throwTime, 2)) + (1.3 * %client.throwTime); + %z += %arc; + + %spin = (%client.throwTime / 2) < 180 ? (%client.throwTime / 2) : 179; + + SpawnPlatform.position = %x SPC %y SPC %z; + SpawnPlatform.rotation = %client.throwDir SPC "0 0" SPC %spin; + SpawnPlatform.setTransform(SpawnPlatform.getTransform()); + %client.throwTime++; + return 10; + } + else if( %client.throwPlatform == 1 ) { + // fuck this platform + %client.throwDir = (getRandom(0, 100) % 2 == 0) ? 1 : -1; + %client.throwTime = 1; + %client.throwPlatform = 2; + return 20; + } + else if( %client.yetiDone ) { + // we're done, only task left is to despawn the yeti + return 100; + } + else if( %client.yetiTaunt ) { + // walk towards the corpse and taunt + %player.setVelocity("0 0 0"); + %client.yetiTaunt = 0; + %client.yetiDone = 0; + %client.stepMove(%client.stalkPlayer.position, 5); + schedule(1000, 0, AIPlay3DSound, %client, "gbl.obnoxious"); + return 100; + } + else if( !isObject(%client.stalkPlayer) || %client.stalkPlayer.getState() $= "Dead" ) { + // player is dead, fuck it + %player.setVelocity("0 0 0"); + %client.yetiDone = 1; + %client.stepMove(%client.stalkPlayer.position, 5); + return 100; + } + else if( %client.stunned ) { + // yeti has been stunned, stun them for a few seconds + %client.stunned = 0; + %client.stunRecover += (3000 / 20); + return 20; + } + else if( %client.stunRecover > 0 ) { + // wait out the stun time + %client.stunRecover--; + return 20; + } + else { + // workaround if we get deadstopped on the terrain + if( %player.lastPosition == %player.position ) { + %jetUp = 1; + } + + // accelerate towards the player at like 3000kph + %objDir = VectorSub(%client.stalkPlayer.position, %player.position); + %dist = VectorDist(%player.position, %client.stalkPlayer.position); + %objDir = VectorNormalize(%objDir); + + if( %dist > 300 ) { + // cheat to get the yeti within your range + %scale = %dist * 8.0; + } + else { + // set scale based on how far away the player is (yeti gets closer but never actually reaches you) + %scale = %dist * 5; + } + + if( %scale > 800 ) %scale = 800; // speed limit to keep the yeti from crashing t2 + + %objDir = VectorScale(%objDir, %scale); + if( %jetUp ) { + %objDir = getWords(%objDir, 0, 1) SPC (getWord(%objDir, 2) + 10); + } + %player.setVelocity(%objDir); + %player.lastPosition = %player.position; + + // increase the yeti's anger each second (if player is going less kph than yeti's anger, lance will hit) + if( %client.anger $= "" ) { + %client.anger = 190; + } + %client.angerTicks++; + if( %client.angerTicks >= 1000 / 20 ) { + %client.angerTicks = 0; + %client.anger++; + } + + // too close to the yeti - check if the player dies + if( %dist < 15 && getSimTime() - %client.zapTime >= 2500 ) { + // yeti uses his shocklance + %client.zapTime = getSimTime(); + %playerVelocity = VectorLen(%client.stalkPlayer.getVelocity()) * 3.6; + + if( %playerVelocity < %client.anger ) { + // yeti actually uses his shocklance (this can still miss for some reason) + %client.pressFire(); + + %client.fireAttempts++; + if( %client.fireAttempts == 3 ) { + // on yeti's third attempt, he automatically hits you - not going to leave this up to the AI + %player.playAudio(0, ShockLanceHitSound); + + %p = new ShockLanceProjectile() { + dataBlock = BasicShocker; + initialDirection = %player.getMuzzleVector($WeaponSlot); + initialPosition = %player.getMuzzlePoint($WeaponSlot); + sourceObject = %player; + sourceSlot = $WeaponSlot; + targetId = %client.stalkPlayer; + }; + MissionCleanup.add(%p); + + %client.stalkPlayer.getDataBlock().damageObject(%client.stalkPlayer, %p.sourceObject, %client.stalkPlayer.getWorldBoxCenter(), 100, $DamageType::ShockLance); + } + } + else { + // you're outside the yeti's speed range, so the attack misses. simulate a swing and a miss + %player.playAudio($WeaponSlot, ShockLanceDryFireSound); + %player.schedule(500, playAudio, 0, ShockLanceMissSound); + + %p = new ShockLanceProjectile() { + dataBlock = BasicShocker; + initialDirection = %player.getMuzzleVector($WeaponSlot); + initialPosition = %player.getMuzzlePoint($WeaponSlot); + sourceObject = %player; + sourceSlot = $WeaponSlot; + }; + MissionCleanup.add(%p); + } + } + + // check to see if the client is camping behind the spawn platform + if( %client.throwPlatform == 0 ) { + %distSpawn = VectorDist(%player.position, SpawnPlatform.position); + if( %distSpawn < 100 ) { + %client.rage++; + if( %client.rage >= 5000 / 20 ) { + // fuck this spawn platform, yeti is angry + if( SpawnPlatform.originalTransform $= "" ) { + SpawnPlatform.originalTransform = SpawnPlatform.getTransform(); + } + messageAll(0, '~wfx/vehicles/tank_mortar_fire.wav'); + %client.throwPlatform = 1; + } + } + else { + %client.rage = 0; + } + } + + return 20; + } +} + diff --git a/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeDatablock.cs b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeDatablock.cs new file mode 100644 index 00000000..c787562f --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeDatablock.cs @@ -0,0 +1,220 @@ +// SkiFreeDatablock.cs +// contains datablocks for SkiFree gametype + +// datablocks should only load once +if( !isObject(SkiFreeGateField) ) { + + // special gate - gives an ugly white complexion - they look weird when you aren't playing so i assume nobody will actually use them in maps... + datablock ForceFieldBareData(SkiFreeGateField) : defaultAllSlowFieldBare { + fadeMS = 1000; + baseTranslucency = 1.0; // if you were close enough to watch, it would look pretty cool, but you're not + powerOffTranslucency = 0.2; + powerOffColor = "1.0 1.0 1.0"; + + scrollSpeed = 1; + }; + + // decorative gates + datablock ForceFieldBareData(SkiFreeGateField1) : SkiFreeGateField { + powerOffColor = "1 0 0"; + }; + datablock ForceFieldBareData(SkiFreeGateField2) : SkiFreeGateField { + powerOffColor = "1 0.5 0"; + }; + datablock ForceFieldBareData(SkiFreeGateField3) : SkiFreeGateField { + powerOffColor = "1 1 0"; + }; + datablock ForceFieldBareData(SkiFreeGateField4) : SkiFreeGateField { + powerOffColor = "0 1 0"; + }; + datablock ForceFieldBareData(SkiFreeGateField5) : SkiFreeGateField { + powerOffColor = "0 0 1"; + }; + datablock ForceFieldBareData(SkiFreeGateField6) : SkiFreeGateField { + powerOffColor = "0.5 0 1"; + }; + datablock ForceFieldBareData(SkiFreeGateField7) : SkiFreeGateField { + powerOffColor = "1 0 1"; + }; + + // triggers needed for game + datablock TriggerData(SkiFreeTriggerSpawn) { + tickPeriodMS = 50; + }; + + datablock TriggerData(SkiFreeTriggerGate) { + tickPeriodMS = 50; + }; + + // you can't just summon an explosion; you need to blow something up. an overridden satchel charge will be blown up when i need an explosion + datablock ItemData(SatchelChargeDeadstop) : SatchelChargeThrown + { + explosion = VehicleBombExplosion; + underwaterExplosion = VehicleBombExplosion; + maxDamage = 0.1; + kickBackStrength = 0; + armDelay = 1; + computeCRC = false; + }; + + // SkiFreeSpawnPlatform just explodes into a platform (though i didn't use the actual object wired to explode, that would just be tacky) + datablock StaticShapeData(SkiFreeSpawnPlatform) { + catagory = "SkiFree Objects"; + className = "Spawn Platform"; + isInvincible = true; + needsNoPower = true; + alwaysAmbient = true; + shapeFile = "beacon.dts"; + }; + + datablock StaticShapeData(SkiFreeCustomGate) { + catagory = "SkiFree Objects"; + className = "Gate Marker"; + isInvincible = true; + needsNoPower = true; + alwaysAmbient = true; + shapeFile = "beacon.dts"; + }; + + datablock StaticShapeData(SkiFreeMapConverter) { + catagory = "SkiFree Objects"; + className = "Map Converter"; + isInvincible = true; + needsNoPower = true; + alwaysAmbient = true; + shapeFile = "beacon.dts"; + }; + +} + +function SkiFreeTriggerSpawn::onEnterTrigger(%this, %trigger, %player) { + if( !$missionRunning ) return; // this check is needed so it doesn't call this at end of mission + if( Game.class $= "SkiFreeGame" ) + Game.enterSpawnTrigger(%player); +} + +function SkiFreeTriggerSpawn::onTickTrigger(%this, %trigger) { + // who dat +} + +function SkiFreeTriggerSpawn::onLeaveTrigger(%this, %trigger, %player) { + if( !$missionRunning ) return; // this check is needed so it doesn't call this at end of mission + if( Game.class $= "SkiFreeGame" ) + Game.leaveSpawnTrigger(%player); +} + +function SkiFreeTriggerGate::onEnterTrigger(%this, %trigger, %player) { + if( !$missionRunning ) return; // this check is needed so it doesn't call this at end of mission + if( Game.class $= "SkiFreeGame" ) + Game.enterGateTrigger(%trigger, %player); +} + +function SkiFreeTriggerGate::onTickTrigger(%this, %trigger) { + // it's dat boi +} + +function SkiFreeTriggerGate::onLeaveTrigger(%this, %trigger, %player) { + // o shit wut up +} + +function SatchelChargeDeadstop::onCollision(%data,%obj,%col) { + // please don't try to pick up the exploding bomb, even if it's only decorative +} + +function SkiFreeSpawnPlatform::onAdd(%this, %obj) { + // come back when we know where this object is + %this.schedule(0, doAdd, %obj); +} + +function SkiFreeSpawnPlatform::doAdd(%this, %obj) { + // delete SpawnPlatform from MissionCleanup + if( isObject(SpawnPlatform) ) { + for( %i = 0; %i < MissionCleanup.getCount(); %i++ ) { + if( MissionCleanup.getObject(%i) == nameToID(SpawnPlatform) ) { + SpawnPlatform.delete(); + break; + } + } + } + + if( !isObject(SpawnPlatform) ) { + %spawnPlatform = new InteriorInstance("SpawnPlatform") { + position = %obj.position; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + MissionGroup.add(%spawnPlatform); + } + else { + messageAll(0, "~wfx/powered/station_denied.wav"); + } + + %obj.delete(); +} + +function SkiFreeCustomGate::onAdd(%this, %obj) { + Parent::onAdd(%this, %obj); + + %obj.target = ""; // we don't need a target + + if( %obj.gateNum__ $= "" ) { + // automatically add dynamic fields if they aren't there + if( %obj.gateNum__ $= "" ) %obj.gateNum__ = 0; + if( %obj.isFinish__ $= "" )%obj.isFinish__ = 0; + } +} + +function SkiFreeMapConverter::onAdd(%this, %obj) { + %convert = false; + // check spawnplatform - if it's not in missioncleanup, this is a misclick + if( isObject(SpawnPlatform) ) { + for( %i = 0; %i < MissionCleanup.getCount(); %i++ ) { + if( MissionCleanup.getObject(%i) == nameToID(SpawnPlatform) ) { + %convert = true; + break; + } + } + } + + if( !%convert ) { + messageAll(0, "~wfx/powered/station_denied.wav"); + } + else { + // move the spawn platform into MissionGroup + MissionGroup.add(SpawnPlatform); + + // go find the gates + for( %i = 1; %i < 420; %i++ ) { + %gate = nameToID("GatePoint" @ %i); + + if( !isObject(%gate) ) { + if( %i == 1 ) { + messageAll(0, "~wfx/powered/station_denied.wav"); + } + else { + %newObj.isFinish__ = "1"; + } + break; + } + + %gatePos = getWords(%gate.position, 0, 1) SPC (getWord(%gate.position,2) - 25); + + %newObj = new StaticShape() { + position = %gatePos; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SkiFreeCustomGate"; + lockCount = "0"; + homingCount = "0"; + + gateNum__ = %i; + isFinish__ = "0"; + }; + MissionGroup.add(%newObj); + } + } + + %obj.schedule(0, delete); +} \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeGame.cs b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeGame.cs new file mode 100644 index 00000000..31e976f3 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeGame.cs @@ -0,0 +1,2080 @@ +// DisplayName = SkiFree + +//--- GAME RULES BEGIN --- +//Ski through all the gates in order +//Use discjumps when needed +//Compete for the best time +//Happy 20th Anniversary to Tribes 2 +//Version 1.04 (2021-03-29) +//--- GAME RULES END --- + +$SkiFreeVersionString = "1.04"; + +// version 1.04 (2021-03-29) +// - fix issue with comparison numbers at the end of the run (floating point sucks) +// - fix issue with daily seed always generating the same set of gates in medium/hard modes (floating point still sucks) +// - add tourney 2021 map and add qualifier support +// - removed beacons because you can't see them anyway +// - removed Xtra_Ashen_Powder because i can't fucking read the terrain +// - added "prestige title" concept. currently only bots and i have a prestige title + +// version 1.03 (2021-03-25) +// - fixed issue where spawn platform was sometimes cutting into terrain (it was checked but it was just ignoring the result) +// - spin spawn platform to match up to the first gate +// - removed the SURVIVAL scoring system. game will always be TIME TRIAL +// - yeti fixes for yeeting, intereference, correct skin +// - added hilarious april fool joke modes + +// version 1.02 (2021-03-22) +// - show time instead of score in server query (escape menu is still wrong but i'm not fixing that shit) +// - added interference detection (discs that slow down players do not do anything) +// - added player-to-player discing toggle (turning it off makes it so discs do nothing to other players) + +// version 1.01 (2021-03-15) +// - added version number to the game rules +// - fixed observer displaying score instead of time at the end of map +// - added a sound for <= 60 seconds (and yes, i also added one for 69 seconds) +// - removed ctrl+k messages + +// version 1.00 (2021-03-14) +// - eat some pi + +// Created by Red Shifter +// Thanks to: +// - DarkTiger for the phase through players code +// - Rooster128 for testing and saying stupid shit on stream +// - A bunch of people on T2 Discord for testing +// SkiFree is dedicated to the memory of Zengato, who was always there to read any shitty gametype idea I had, regardless of how stupid it was. +// Happy 20th Anniversary to Tribes 2. One more year until this game is old enough to drink. + +// mapping instructions: +// +// step 1. make sure you add a terrainblock and it is named Terrain. this is how dynamix already did things... +// (one would be created if you didn't have one, but the SkiFree map already does that. no reason to make another) +// +// step 2. if you want to define where the spawnplatform is, grab it under shapes -> SkiFree Objects -> SkiFreeSpawnPlatform +// this generates the interior you need. don't rotate or resize it! +// (you'll need to restart the map for it to work) +// +// step 3. if you want to set up custom gate locations, grab it under shapes -> SkiFree Objects -> SkiFreeCustomGate +// place it on the ground where you want the gate to spawn - moving the waypoint into the air, etc is automatically handled +// there's a few properties you will want to define, and you need the underscore: +// - gateNum__ will be the gate number +// - isFinish__ will be the Finish Gate if the server is using Time Trial scoring. remember that it'll keep generating gates in Survival mode! + +// NOTES FOR LATER: +// +// vaporware racing mode (will probably be SkiRace instead of SkiFree, which means i need to unify this code when i get there) +// - starts out as SkiFree without scoring, but game turns into a race when 2+ players join the game. should allow player joins up until 5 seconds after race starts +// - normal races will have minimum of 4 gates, and increase by 1 for every 2 extra players, up to a maximum of 8 gates at 8+ players +// - elimination races (minimum 4 players) will have 1 gate per player up to the maximum of 8 gates. the last person to not have crossed each gate dies (if someone dies between gates, count that as the gate kill) +// - race timer will be gate x 20 seconds (with a 30 second timer to explode a player that fails to cross a gate every 30 seconds) +// - exploding deadstop does not kill you +// - gates should give you extra repair so you can discjump more +// - enemies you MA have their momentum cut in half +// - ambient crowd noise should exist +// --- gets louder if the first 2/3 players are close to each other +// --- collective gasp if first place loses more than 40% of speed inside a second (from a deadstop, flubbing the route, or getting MA'ed) +// --- cheering at the end + +if( $Host::SkiRacePhaseThroughPlayers $= "" ) { + $Host::SkiRacePhaseThroughPlayers = 0; +} +if( $Host::SkiRaceTimeTrialScoringSystem $= "" ) { + $Host::SkiRaceTimeTrialScoringSystem = 1; +} +if( $Host::SkiRaceAllowPvPDiscBoosting $= "" ) { + $Host::SkiRaceAllowPvPDiscBoosting = 1; +} +if( $Host::SkiRaceAprilFoolsDisabledYear $= "" ) { + $Host::SkiRaceAprilFoolsDisabledYear = 2020; +} + +exec("scripts/SkiFreeDatablock.cs"); +exec("scripts/SkiFreeOverrides.cs"); +exec("scripts/SkiFreeAI.cs"); +compile("scripts/SkiFreeTerrains.cs"); // compile for consistency's sake, not needed until it's time + +function SkiFreeGame::sendGameVoteMenu( %game, %client, %key ) { + DefaultGame::sendGameVoteMenu(%game, %client, %key); + + if(%client.isAdmin) { + messageClient( %client, 'MsgVoteItem', "", %key, 'VotePhaseThroughPlayers', "", + $Host::SkiRacePhaseThroughPlayers + ? 'SkiFree: Turn Player Phasing OFF' + : 'SkiFree: Turn Player Phasing ON' + ); + + // removed for lack of interest + //messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeScoringSystem', "", + // $Host::SkiRaceTimeTrialScoringSystem + // ? 'SkiFree: Change to SURVIVAL scoring (next map)' + // : 'SkiFree: Change to TIME TRIAL scoring (next map)' + //); + + // player-to-player disc + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteAllowPlayerDiscing', "", + $Host::SkiRaceAllowPvPDiscBoosting + ? 'SkiFree: Turn Player-to-Player Disc Boosting OFF' + : 'SkiFree: Turn Player-to-Player Disc Boosting ON' + ); + + // april fools + if( %game.isAprilFools($Host::SkiRaceAprilFoolsDisabledYear) ) { + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteToggleAprilFools', "", + 'SkiFree: Turn hilarious April Fools joke OFF (next map)' + ); + } + else if( %game.isAprilFools() && $Host::SkiRaceAprilFoolsDisabledYear <= formatTimeString("yy") ) { + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteToggleAprilFools', "", + 'SkiFree: Turn stupid April Fools joke ON (next map)' + ); + } + } +} + +function SkiFreeGame::checkSkiFreeVote(%game, %client, %typeName) { + if( %typeName $= "VotePhaseThroughPlayers" ) { + $Host::SkiRacePhaseThroughPlayers = !$Host::SkiRacePhaseThroughPlayers; + Game.phaseThroughPlayers($Host::SkiRacePhaseThroughPlayers); + + // TODO need to trap this event in skifree client script for best performance + if( $Host::SkiRacePhaseThroughPlayers ) { + messageAll('MsgAdminForce', '\c0%1 turned ON player phasing.', %client.name); + } + else { + messageAll('MsgAdminForce', '\c0%1 turned OFF player phasing.', %client.name); + } + } + else if( %typeName $= "VoteChangeScoringSystem" ) { + //$Host::SkiRaceTimeTrialScoringSystem = !$Host::SkiRaceTimeTrialScoringSystem; + // + //if( $Host::SkiRaceTimeTrialScoringSystem ) { + // messageAll('MsgAdminForce', '\c0%1 switched to TIME TRIAL scoring (next map).', %client.name); + //} + //else { + // messageAll('MsgAdminForce', '\c0%1 switched to SURVIVAL scoring (next map).', %client.name); + //} + + messageClient( %client, 0, 'Removed for lack of interest.' ); + } + else if( %typeName $= "VoteAllowPlayerDiscing" ) { + $Host::SkiRaceAllowPvPDiscBoosting = !$Host::SkiRaceAllowPvPDiscBoosting; + + if( $Host::SkiRaceAllowPvPDiscBoosting ) { + messageAll('MsgAdminForce', '\c0%1 turned ON player-to-player Disc Boosting.', %client.name); + } + else { + messageAll('MsgAdminForce', '\c0%1 turned OFF player-to-player Disc Boosting.', %client.name); + } + } + else if( %typeName $= "VoteToggleAprilFools" ) { + if( %game.isAprilFools($Host::SkiRaceAprilFoolsDisabledYear) ) { + messageAll('MsgAdminForce', '\c0%1 turned OFF the hilarious April Fools joke (next map).', %client.name); + $Host::SkiRaceAprilFoolsDisabledYear = formatTimeString("yy"); + } + else if( %game.isAprilFools() && $Host::SkiRaceAprilFoolsDisabledYear <= formatTimeString("yy") ) { + messageAll('MsgAdminForce', '\c0%1 turned ON the stupid April Fools joke (next map).', %client.name); + $Host::SkiRaceAprilFoolsDisabledYear = 0; + } + else if( !%game.isAprilFools() ) { + messageClient( %client, 0, 'The clock struck midnight, Cinderella.' ); + } + else { + messageClient( %client, 0, 'A mysterious force blocked this command.' ); + } + } +} + +function SkiFreeGame::checkDeadstop(%game, %targetObject, %oldVector) { + %newVector = %targetObject.getVelocity(); +// error("velocity " SPC %oldVector SPC ">" SPC %newVector); + %ox = mAbs(getWord(%oldVector,0)); %nx = mAbs(getWord(%newVector,0)); + %oy = mAbs(getWord(%oldVector,1)); %ny = mAbs(getWord(%newVector,1)); + %deadx = %nx <= 0.01 && %ox > 0.01; + %deady = %ny <= 0.01 && %oy > 0.01; + + %deadstop = false; + if( %deadx && %deady ) { + %deadstop = true; + } + else if( %deadx && %oy == %ny ) { + %deadstop = true; + } + else if( %deady && %ox == %nx ) { + %deadstop = true; + } + + if( %deadstop ) { + // violent deadstop? check around the perimeter! + %minh = 500; + %maxh = -100; + %h = %game.findHeight( getWords(%targetObject.position, 0, 1) ); + + if( mAbs(getWord(%targetObject.position, 2) - %h) > 0.01 ) { + // deadstops happen on the ground + return; + } + + for( %x = -1; %x <= 1; %x++ ) { + for( %y = -1; %y <= 1; %y++ ) { + %pos = (getWord(%targetObject.position, 0) + %x) SPC (getWord(%targetObject.position, 1) + %y); + %nh = %game.findHeight(%pos); + if( %minh > %h ) %minh = %h; + if( %maxh < %h ) %maxh = %h; + } + } + + if( %minh != %maxh ) { + //error("deadstop detected at" SPC %targetObject.position SPC "but variance is" SPC mAbs(%minh - %maxh) SPC "- no explosion"); + return; + } + // check the terrain height - should be close to 0 + + //error("deadstop detected at" SPC %targetObject.position SPC "- kill the run"); + + // what if, instead of exploding, we just go back to playing? just kidding! unless... + // it is possible, though unlikely, to cut out like 50% of deadstops (the ones that do damage) + // you would need to remove ground damage and schedule it to after the deadstop check + // so it is possible, but getting to 100% is definitely not going to be easy + //%targetObject.setVelocity(%oldVector); + //return; + + // if we made it out of here, explode the player for deadstopping + %targetObject.scriptKill($DamageType::Crash); + + %charge = new Item("lolDeadstop") { + dataBlock = SatchelChargeDeadstop; + rotation = "0 0 1 " @ (getRandom() * 360); + }; + MissionCleanup.add(%charge); + %charge.setTransform(%targetObject.getTransform()); + %charge.schedule(200, setDamageState, "Destroyed"); + %charge.schedule(200, blowup); + %charge.schedule(2000, delete); + } +} + +function SkiFreeGame::initGameVars(%game) { + // running tallies + %game.gate = 0; + + // player variables + %game.followTime = 5 * 1000; // if someone follows you off the spawn platform in this amount of time, give a message + + // always time trial for single player, otherwise use host setting + if( %game.isSinglePlayer() ) { + %game.timeTrial = 1; + } + else { + %game.timeTrial = $Host::SkiRaceTimeTrialScoringSystem; + } + + if( %game.timeTrial ) { + // scoring by time trial + %game.trialGates = 8; + %game.trialDefaultTime = 5 * 60; + %game.yetiSpawnTime = 200; // you're not done yet? get fucking going already + } + else { + // scoring by distance + %game.survivalLifeTime = 60 * 1000; // length of run + %game.survivalWarningTime = 10 * 1000; // amount of time remaining until warning + } + + // auto-generation variables + %game.firstGateMin = 800; + %game.firstGateMax = 1100; + %game.extraGateMin = 600; + %game.extraGateMax = 900; + %game.minGateAngle = 45 * (3.1415927 / 180); // should be up to 22.5 degrees offset from last gate + %game.angleIncrement = 15 * (3.1415927 / 180); + %game.maxGateAngle = 90 * (3.1415927 / 180); // should be up to 45.0 degrees offset from last gate +} + +function SkiFreeGame::setUpTeams(%game) { + %group = nameToID("MissionGroup/Teams"); + if(%group == -1) + return; + + // create a team0 if it does not exist + %team = nameToID("MissionGroup/Teams/team0"); + if(%team == -1) + { + %team = new SimGroup("team0"); + %group.add(%team); + } + + // 'team0' is not counted as a team here + %game.numTeams = 0; + while(%team != -1) + { + // create drop set and add all spawnsphere objects into it + %dropSet = new SimSet("TeamDrops" @ %game.numTeams); + MissionCleanup.add(%dropSet); + + %spawns = nameToID("MissionGroup/Teams/team" @ %game.numTeams @ "/SpawnSpheres"); + if(%spawns != -1) + { + %count = %spawns.getCount(); + for(%i = 0; %i < %count; %i++) + %dropSet.add(%spawns.getObject(%i)); + } + + // set the 'team' field for all the objects in this team + %team.setTeam(0); + + clearVehicleCount(%team+1); + // get next group + %team = nameToID("MissionGroup/Teams/team" @ %game.numTeams + 1); + if (%team != -1) + %game.numTeams++; + } + + // set the number of sensor groups (including team0) that are processed + setSensorGroupCount(10); + %game.numTeams = 1; + + // allow teams 1->31 to listen to each other (team 0 can only listen to self) + for(%i = 1; %i < 10; %i++) + setSensorGroupListenMask(%i, 0xfffffffe); +} + + +function SkiFreeGame::equip(%game, %player) { + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //%player.setArmor("Light"); + + %player.clearInventory(); + + %player.setInventory(EnergyPack, 1); + %player.setInventory(TargetingLaser, 1); +// %player.setInventory(Beacon, 3); // you can't see them anyway + + %player.setDamageLevel(0); + %player.setEnergyLevel(60); + %player.setInventory(FlareGrenade,5); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(RepairKit,1); + %player.weaponCount = 1; + %player.use("Disc"); +} + +function SkiFreeGame::pickPlayerSpawn(%game, %client, %respawn) { + if( isObject(SpawnPlatform) ) { + // hackaround if yeti yeeted the platform + if( SpawnPlatform.originalTransform !$= "" ) { + SpawnPlatform.setTransform(SpawnPlatform.originalTransform); + } + + %z = getWord(SpawnPlatform.position, 2) + 63.02; + + for( %i = 0; %i < 420; %i++ ) { + %loc = %game.spawnPosition[%i]; + if( %loc $= "" ) { + // game breaks down in other ways if we have this many people, lol + return %game.spawnPosition[%i] SPC "300"; + } + else { + %adjUp = VectorAdd(%game.spawnPosition[%i] SPC %z, "0 0 1.0"); + if( ContainerBoxEmpty( $TypeMasks::PlayerObjectType, %adjUp, 2.0) ) { + break; + } + } + } + + // point the player in the direction of gate 1 + %rot = %game.selectSpawnFacing(%loc, nameToID("GatePoint1").position, 0); + + return %loc SPC %z SPC %rot; + } + + return "0 0 300"; +} + +function SkiFreeGame::clientJoinTeam( %game, %client, %team, %respawn ) +{ + %game.assignClientTeam( %client ); + %game.spawnPlayer( %client, %respawn ); +} + +function SkiFreeGame::assignClientTeam(%game, %client) +{ + // let's not even do the stupid DM thing + // everyone drops to team 1 (except the yeti) + if( !$SkiFreeYetiSpawning ) { + %client.team = 1; + + // set player's skin pref here + setTargetSkin(%client.target, %client.skin); + + // Let everybody know you are no longer an observer: + messageAll( 'MsgClientJoinTeam', '\c1%1 has joined the race.', %client.name, "", %client, 1 ); + updateCanListenState( %client ); + } + else { + %client.team = 0; + } +} + +function SkiFreeGame::clientMissionDropReady(%game, %client) { + if( %client.hasSkiGameClient ) { + // TODO are we even going to make this? + } + else { + // invoke bounty to give player info (mostly score and terrain info) + messageClient(%client, 'MsgClientReady',"", BountyGame); + messageClient(%client, 'msgBountyTargetIs', "", %game.terrain); // terrain + if( %game.timeTrial ) { + messageClient(%client, 'MsgYourScoreIs', "", ''); + } + else { + messageClient(%client, 'MsgYourScoreIs', "", 0); + } + } + + %game.resetScore(%client); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function SkiFreeGame::createPlayer(%game, %client, %spawnLoc, %respawn) +{ + DefaultGame::createPlayer(%game, %client, %spawnLoc, %respawn); + %client.setSensorGroup(%client.team); +} + +function SkiFreeGame::resetScore(%game, %client) { + %client.score = 0; + %client.bestTime = %game.trialDefaultTime; + %client.lastTime = %game.trialDefaultTime; + %client.bestHandicap = ""; + %client.maxGates = 0; + + for( %i = 1; %i < 420; %i++ ) { + if( %client.gateTime[%i] $= "" ) break; + %client.gateTime[%i] = ""; + } + + %game.prestigeTitle(%client); +} + +// calculate how good a run it was +function SkiFreeGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation) { + %player = %clVictim.player; + + if( %damageType == $DamageType::Ground && %player.modGlass ) { + // explode tha player into tiny pieces and make them watch + %player.blowup(); + %player.schedule(0, setVelocity, "0 0 0"); + + // make the shattering louder by doing it multiple times, lol + for( %i = 0; %i < 2; %i++ ) messageClient(%clVictim, 0, '~wfx/Bonuses/horz_perppass3_glasssmash.wav'); + } + + // if we skipped a gate, don't bother + if( %damageType != $DamageType::ForceFieldPowerup ) { + if( !%game.timeTrial ) { + %game.calculateSurvivalScore(%clVictim, %player, %damageType); + } + } + + Parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation); +} + +function SkiFreeGame::calculateTimeTrialScore(%game, %client, %player) { + // finished a run + %time = (getSimTime() - %player.launchTime) / 1000; + %dot = strlen(strchr(%time, ".")); + if( %dot == 0 ) %time = %time @ ".000"; + else { + while( %dot < 4 ) { + %dot++; + %time = %time @ "0"; + } + } + + %client.lastTime = %time; + + if( %player.handicap $= "NONE" ) { + %handicap = ""; + } + else { + %handicap = "in a" SPC %player.handicap SPC "run "; + } + + %playerName = stripChars( getTaggedString( %client.name ), "\cp\co\c6\c7\c8\c9" ); + + // play a sound on the client based on how well they did + %qualified = + MissionGroup.SkiFree_qualifierTime $= "" + ? 1 + : %time < MissionGroup.SkiFree_qualifierTime; + + if( %time <= 60 && %qualified ) { + // are you fucking kidding (7.5 seconds per gate) + // also make it louder for effect (and echo-y?) + for( %i = 0; %i < 2; %i++ ) messageClient(%client, 0, '~wfx/misc/gamestart.wav'); + //%performance = "Are you fucking kidding me?!"; + } + else if( %time >= 69 && %time < 70 && %qualified ) { + // 69 seconds (nice) + messageClient(%client, 0, '~wfx/Bonuses/horz_straipass2_heist.wav'); + //%performance = "NICE"; + } + else if( %time <= 80 && %qualified ) { + // 10 seconds per gate + messageClient(%client, 0, '~wfx/misc/MA2.wav'); + //%performance = "A very good performance!"; + } + else if( %time <= 120 ) { + // 15 seconds per gate + messageClient(%client, 0, '~wfx/misc/MA1.wav'); + //%performance = "A good performance."; + } + else if( %time <= 160 ) { + // 20 seconds per gate + messageClient(%client, 0, '~wfx/misc/slapshot.wav'); + //%performance = "Try harder next time."; + } + else { + // llama lol + messageClient(%client, 0, '~wfx/bonuses/Nouns/llama.wav'); + //%performance = "You're a llama."; + } + + if( %client.bestTime != %game.trialDefaultTime ) { + if( %client.bestTime < %time ) { + %formatL = "(\c5+"; + %compare = mFloor((%time - %client.bestTime) * 1000)/1000; + } + else if( %client.bestTime > %time ) { + %formatL = "(\c3-"; + %compare = mFloor((%client.bestTime - %time) * 1000)/1000; + } + else { + %formatL = "(+"; + %compare = "0.000"; + } + + %timeCompare = " " @ %formatL @ %compare @ "\c2)"; + } + + // recalculate score so we know who the best player is + if( %client.bestTime > %time ) { + %client.bestTime = %time; + + %client.score = %game.trialDefaultTime - %time; + + %client.bestHandicap = + %player.handicap !$= "NONE" + ? %player.handicap + : ""; + + for( %i = 1; %i < 420; %i++ ) { + if( %player.curGateTime[%i] $= "" ) break; + %client.gateTime[%i] = %player.curGateTime[%i]; + } + + %game.recalcScore(%client); + + if( $TeamRank[0, count] > 1 ) { + %rankNumber = 0; + for( %i = 0; %i < $TeamRank[0, count]; %i++ ) { + if( $TeamRank[0, %i] == %client ) { + %rankNumber = %i + 1; + break; + } + } + + if( %rankNumber > 0 ) { + %rankPersonal = " You are now in" SPC %game.getWordForRank(%rankNumber) SPC "place."; + %gender = (%client.sex $= "Male" ? "He" : "She"); + %rankOthers = " " SPC %gender SPC "is now in" SPC %game.getWordForRank(%rankNumber) SPC "place."; + } + } + } + + + messageAllExcept(%client, -1, 0, '%1 finished the course %3in %2 seconds.%4', %playerName, %time, %handicap, %rankOthers); + messageClient(%client, 0, '\c2You finished the course %3in %2 seconds%5.%4', %playerName, %time, %handicap, %rankPersonal, %timeCompare); + + if( !%qualified ) { + %diff = %time - MissionGroup.SkiFree_qualifierTime; + if( %diff < 2 ) { + %comment = "You're so close..."; + } + else if( %diff < 5 ) { + %comment = "Just a little more..."; + } + else if( %diff < 10 ) { + %comment = "You're almost there!"; + } + else if( %diff < 15 ) { + %comment = "You can do it!"; + } + else if( %diff < 20 ) { + %comment = "That was a good try."; + } + else { + %comment = "If you dare..."; + } + messageClient(%client, 0, '\c3Try to beat %1! %2', MissionGroup.SkiFree_qualifierTime, %comment); + } + else if( MissionGroup.SkiFree_qualifierTime !$= "" ) { + messageClient(%client, 0, '\c3You have a qualifying time!'); + } +} + +function SkiFreeGame::calculateSurvivalScore(%game, %client, %player, %damageType) { + // make sure we started and that this is a valid run + if( %player.launchTime !$= "" && %player.gate > 1 ) { + // calculate score for the run v2 + %score = 0; + for( %i = 1; %i < %player.gate; %i++ ) { + %score += nameToID("GatePoint" @ %i).gateDistance; + //echo("dist after gate " SPC %i SPC %distance); + } + + // measure distance between the current point and the next point, then compare to player/next point + %nextGate = nameToID("GatePoint" @ %player.gate); + %nextPos = getWords(%nextGate.position, 0, 1) SPC "0"; + %playerPos = getWords(%player.position, 0, 1) SPC "0"; + + %progress = %nextGate.gateDistance - vectorDist(%nextPos, %playerPos); + if( %progress < 0 ) %progress = 0; + + %score += %progress; + %score = mFloor(%score * 10) / 10; + + %playerName = stripChars( getTaggedString( %client.name ), "\cp\co\c6\c7\c8\c9" ); + + if( %player.handicap $= "NONE" ) { + %handicap = ""; + } + else { + %handicap = %player.handicap @ " "; + } + + if( %damageType == $DamageType::NexusCamping ) { + // also need a sound for the client + if( %player.gate > 6 ) { + messageClient(%client, 0, '~wfx/misc/MA2.wav'); + } + else if( %player.gate > 4 ) { + messageClient(%client, 0, '~wfx/misc/MA1.wav'); + } + else if( %player.gate > 2 ) { + messageClient(%client, 0, '~wfx/misc/slapshot.wav'); + } + else { + messageClient(%client, 0, '~wfx/bonuses/Nouns/llama.wav'); + } + } + + if( %client.score != 0 ) { + if( %client.score < %score ) { + %formatL = "(\c3+"; + %compare = %score - %client.score; + } + else if( %client.score > %score ) { + %formatL = "(\c5-"; + %compare = %client.score - %score; + } + else { + %formatL = "(+"; + %compare = "0.0"; + } + %compare = mFloor(%compare * 10) / 10; + if( strpos(%compare, ".") == -1 ) %compare = %compare @ ".0"; + + %scoreCompare = %formatL @ %compare @ "\c2) "; + } + + // recalculate score so we know who the best player is + if( %client.score < %score ) { + %client.score = %score; + %client.maxGates = (%player.gate - 1); + + for( %i = 1; %i < 420; %i++ ) { + if( %player.curGateTime[%i] $= "" ) break; + %client.gateTime[%i] = %player.curGateTime[%i]; + } + + %game.recalcScore(%client); + + %client.bestHandicap = + %player.handicap !$= "NONE" + ? %player.handicap + : ""; + + if( $TeamRank[0, count] > 1 ) { + %rankNumber = 0; + for( %i = 0; %i < $TeamRank[0, count]; %i++ ) { + if( $TeamRank[0, %i] == %client ) { + %rankNumber = %i + 1; + break; + } + } + + if( %rankNumber > 0 ) { + %rankPersonal = " You are now in" SPC %game.getWordForRank(%rankNumber) SPC "place."; + %gender = (%client.sex $= "Male" ? "He" : "She"); + %rankOthers = " " SPC %gender SPC "is now in" SPC %game.getWordForRank(%rankNumber) SPC "place."; + } + } + } + + messageAllExcept(%client, -1, 0, '%1 did a %2m %5run (%3 gates).%4', %playerName, %score, %player.gate - 1, %rankOthers, %handicap); + messageClient(%client, 0, '\c2That %5run went %2m %6(%3 gates).%4', %playerName, %score, %player.gate - 1, %rankPersonal, %handicap, %scoreCompare); + } +} + +function SkiFreeGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) { + // no killing +} + +// need to do this to get the recalculations +function SkiFreeGame::recalcScore(%game, %client){ + if( %game.timeTrial ) { + if( %client.bestTime == %game.trialDefaultTime ) { + messageClient(%client, 'MsgYourScoreIs', "", ''); + } + else { + messageClient(%client, 'MsgYourScoreIs', "", %client.bestTime); + } + } + else { + messageClient(%client, 'MsgYourScoreIs', "", %client.score); + } + + %game.recalcTeamRanks(%client); + %game.checkScoreLimit(%client); +} + +function SkiFreeGame::timeLimitReached(%game) { + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function SkiFreeGame::scoreLimitReached(%game) { + // no score limit +} + +function SkiFreeGame::checkScoreLimit(%game) { + // no score limit +} + +function SkiFreeGame::gameOver(%game) { + //call the default + DefaultGame::gameOver(%game); + + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + cancel(%game.timeThread); + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + } + + // turn off phasing in case we're moving to a new gametype + %game.phaseThroughPlayers(false); +} + +function SkiFreeGame::enterMissionArea(%game, %playerData, %player) { + // do nothing +} + +function SkiFreeGame::leaveMissionArea(%game, %playerData, %player) { + // do nothing +} + +function SkiFreeGame::updateScoreHud(%game, %client, %tag) +{ + // Clear the header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // Send the subheader: + //messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYER\tRUNS (FULL)\tBEST'); + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYER\tBEST'); + + for (%index = 0; %index < $TeamRank[0, count]; %index++) + { + //get the client info + %cl = $TeamRank[0, %index]; + + %clStyle = %cl == %client ? "" : ""; + + if( %game.timeTrial ) { + if( %cl.bestTime != %game.trialDefaultTime ) { + %score = %cl.bestTime; + } + else { + %score = %game.trialDefaultTime @ ".000"; + } + + %scoreAddendum = ""; + } + else { + %score = mFloor(%cl.score) == %cl.score + ? %cl.score @ ".0" + : %cl.score; + + %scoreAddendum = " (" @ %cl.maxGates @ " gates)"; + } + + if( %cl.isAIControlled() && %cl.SkiFreeTitle $= "" ) { + %game.prestigeTitle(%cl); + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + // why am i using word wrap lol + messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4', %cl.name, %cl.SkiFreeTitle, %score, %scoreAddendum, %clStyle, %cl); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4', %cl.name, %cl.SkiFreeTitle, %score, %scoreAddendum, %clStyle, %cl); + } + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if( %cl == $SkiFreeYeti ) continue; // it's a secret to everybody + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if( %cl == $SkiFreeYeti ) continue; // it's a secret to everybody + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} + +function SkiFreeGame::missionLoadDone(%game) { + Parent::missionLoadDone(%game); + %game.generateLevel(); + + // change gate colors + %game.setSensorWaypointColors(); + + // see if phasing should be on or not + %game.phaseThroughPlayers($Host::SkiRacePhaseThroughPlayers); +} + +function SkiFreeGame::setSensorWaypointColors(%game) { + for( %group = 0; %group <= 1; %group++ ) { + setSensorGroupColor(%group, 1 << 1, "0 255 0 255"); // team1 should be green and be perceived as green + // the rest are for waypoint colors + setSensorGroupColor(%group, 1 << 2, "255 0 0 255"); + setSensorGroupColor(%group, 1 << 3, "255 128 0 255"); + setSensorGroupColor(%group, 1 << 4, "255 255 0 255"); + setSensorGroupColor(%group, 1 << 5, "0 255 0 255"); // yes we used this color twice. it'd be way too much work to not do that + setSensorGroupColor(%group, 1 << 6, "0 0 255 255"); + setSensorGroupColor(%group, 1 << 7, "128 0 255 255"); + setSensorGroupColor(%group, 1 << 8, "255 0 255 255"); + setSensorGroupColor(%group, 1 << 9, "255 255 255 255"); + } + + // focus assist + for( %group = 2; %group <= 9; %group++ ) { + setSensorGroupColor(%group, 1 << 1, "0 255 0 255"); // team1 should be green and be perceived as green + + for( %target = 2; %target <= 9; %target++ ) { + if( %group == %target ) { + // next gate always shows up green + setSensorGroupColor(%group, 1 << %target, "0 255 0 255"); + } + else if( %group == %target - 1 ) { + // gate after next always shows up red + setSensorGroupColor(%group, 1 << %target, "255 0 0 255"); + } + else { + // other gates should just not show up + setSensorGroupColor(%group, 1 << %target, "0 0 0 0"); + } + } + } + + // let team1 see each other (?) + setTargetAlwaysVisMask(1, 1 << 1); + setTargetFriendlyMask(1, 1 << 1); + + // make team1 show up to everyone (needed for focus assist) + setSensorGroupAlwaysVisMask(1, 0xffffffff); + setSensorGroupFriendlyMask(1, 0xffffffff); +} + +function SkiFreeGame::applyConcussion(%game, %player) {} +function SkiFreeGame::dropFlag(%game, %player) {} + +// make a spawn platform and calculate where the spawn points should be +function SkiFreeGame::addSpawnPlatform(%game, %position) { + // position should on the ground + + // best interior: bwall4.dif, scaled 3 3 3 (Z-scale will need fine tuning based on experience) + // it's about 30x30 in game units at the 3x3 scale. this is a perfect square and big enough to fit a lot of people on it. in fact, it might be TOO BIG + if( !isObject(SpawnPlatform) ) { + %spawnPlatform = new InteriorInstance("SpawnPlatform") { + position = %position; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + MissionCleanup.add(%spawnPlatform); + } + + // add other stuff directly + %waypointPosition = + getWord(%position, 0) + SPC getWord(%position, 1) + SPC (getWord(%position, 2) + 63); + + %waypointObj = new WayPoint("GatePoint0") { + position = %waypointPosition; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + team = 1; + name = "Starting Point"; + }; + MissionCleanup.add(%waypointObj); + + // add an observer camera pointed at the platform because why not + %cameraPosition = + (getWord(%position, 0) - 40) + SPC (getWord(%position, 1) + 40) + SPC (getWord(%position, 2) + 81); + + %cameraObj = new Camera("ObserverCameraLocation") { + position = %cameraPosition; + rotation = "0.0949807 -0.215256 0.971928 133.575"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + MissionCleanup.add(%cameraObj); + + // add a trigger to specify that a player's run has begun + %triggerPosition = (getWord(%position, 0) - 15) + SPC (getWord(%position, 1) + 15) + SPC (getWord(%position, 2) + 63); + + %triggerObj = new Trigger("SpawnTrigger") { + position = %triggerPosition; + rotation = "1 0 0 0"; + scale = "30 30 5"; + dataBlock = "SkiFreeTriggerSpawn"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0 0 0 1 0 0 -0 -1 -0 -0 -0 1"; + + gate = %gate; + }; + + MissionCleanup.add(%triggerObj); + + // build spawn platforms + %x = getWord(%position, 0); + %y = getWord(%position, 1); + %game.spawnPosition[0] = %x SPC %y; + + %i = 1; + %i = %game.createMoreSpawns(%x, %y, %i, 7.0); + %i = %game.createMoreSpawns(%x, %y, %i, 14.0); + %i = %game.createMoreSpawns(%x, %y, %i, 3.5); + %i = %game.createMoreSpawns(%x, %y, %i, 10.5); +} + +function SkiFreeGame::createMoreSpawns(%game, %ox, %oy, %i, %extent) { + for( %x = %ox - %extent; %x <= %ox + %extent; %x += 7 ) { + for( %y = %oy - %extent; %y <= %oy + %extent; %y += 7) { + //echo(%x SPC %y); + %game.spawnPosition[%i] = %x SPC %y; + %i++; + } + } + + return %i; +} + +function SkiFreeGame::addGate(%game, %gate, %position) { + // debugging + if( isObject(nameToID("GatePoint" @ %gate)) ) { + for( %i = %gate; %i < 420; %i++ ) { + if( !isObject(nameToID("GatePoint" @ %i)) ) break; + nameToId("GatePoint" @ %i).delete(); + nameToId("GateFF" @ %i).delete(); + nameToId("GateTrigger" @ %i).delete(); + } + } + + // waypoint should have +25 to Z so it's slightly off the ground + %waypointPosition = + getWord(%position, 0) + SPC getWord(%position, 1) + SPC (getWord(%position, 2) + 25); + + // get distance from last point + %distanceFromLastGate = + vectorDist( + getWords(%waypointPosition, 0, 1) SPC "0", + getWords(nameToID("GatePoint" @ (%gate - 1)).position, 0, 1) SPC "0" + ); + + // give out a number 2-9 (just repeat the gate colors) + %gateColor = ((%gate - 1) % 8) + 2; + + if( %game.timeTrial && %gate == %game.trialGates ) { + %gateName = "Finish Gate"; + } + else { + %gateName = "Gate " @ %gate; + } + + %waypointObj = new WayPoint("GatePoint" @ %gate) { + position = %waypointPosition; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + team = %gateColor; + name = %gateName; + + gateDistance = %distanceFromLastGate; + }; + + // subtract 12.5 from X and Y so it's centered + // also subtract 50 from Z + %gatePosition = + (getWord(%position, 0) - 12.5) + SPC (getWord(%position, 1) - 12.5) + SPC (getWord(%position, 2) - 50.0); + + // create the forcefield as our visual indicator + %gateType = "SkiFreeGateField" @ + (%gate <= 7 ? %gate : "") + ; + %gateObj = new ForceFieldBare("GateFF" @ %gate) { + position = %gatePosition; + rotation = "1 0 0 0"; + scale = "25 25 500"; + dataBlock = %gateType; + }; + + // trigger spawns with wrong Y coordinate and needs to be +25, don't ask me Y + %triggerPosition = + getWord(%gatePosition, 0) + SPC (getWord(%gatePosition, 1) + 25) + SPC getWord(%gatePosition, 2); + + // create the trigger that will actually process the player touching the gate + %triggerObj = new Trigger("GateTrigger" @ %gate) { + position = %triggerPosition; + rotation = "1 0 0 0"; + scale = "25 25 500"; + dataBlock = "SkiFreeTriggerGate"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0 0 0 1 0 0 -0 -1 -0 -0 -0 1"; + + gate = %gate; + }; + + MissionCleanup.add(%waypointObj); + + MissionCleanup.add(%gateObj); + %gateObj.open(); + + MissionCleanup.add(%triggerObj); +} + +function SkiFreeGame::pickObserverSpawn(%game, %client, %next) { + if( isObject(nameToID("ObserverCameraLocation")) ) { + return nameToId("ObserverCameraLocation"); + } + else { + DefaultGame::pickObserverSpawn(%game, %client, %next); + } +} + +function SkiFreeGame::leaveSpawnTrigger(%game, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + // make sure we didn't jump the gun already + if( %player.launchTime !$= "" ) return; + + // check if we're ai controlling ourselves and if we meant to launch + if( %player.client.isAIControlled() && !%player.AI_meantToLaunch && %player.getControllingClient() == %player.client ) { + // just set the player back on the platform + if( !isObject(%player.resetThread) ) { + %player.resetThread = Game.schedule(2000, AI_resetPosition, %player.client, %player); + } + return; + } + + // start the run for this player + %mod = ""; + + if( %player.getDamageLevel() >= 0.649 ) { + %player.modGlass = 1; + %mod = %mod @ "glass "; + + %player.setInventory(RepairKit, 0); + Game.schedule(1000, GlassModeAnticheat, %player); // in case we ate a repair kit at exactly the right time + } + else if( %player.getInventory("Disc") == 0 ) { + // check velocity + if( !%player.hasDiscjumped ) { + %mod = %mod @ "discless "; + } + else { + %mod = %mod @ "single discjump "; + } + } + + if( %player.getInventory("EnergyPack") == 0 ) { + %player.modHard = 1; + %mod = %mod @ "hard mode "; + } + + if( %mod !$= "" ) { + %player.handicap = getSubStr(%mod, 0, strlen(%mod) - 1); + } + else { + %player.handicap = "NONE"; + } + + %client = %player.client; + + if( %game.timeTrial ) { + %objective = "Ski through the gates in order until you get to the Finish Gate."; + + if( !Game.isSinglePlayer() ) { + %player.schedule(Game.trialDefaultTime * 1000, scriptKill, $DamageType::NexusCamping); + } + else { + if( %player.getInventory(FlareGrenade) == 0 ) { + // taunted the yeti + Game.createYetiFor(%player, nameToID("GatePoint" @ Game.trialGates).getTransform()); + } + else { + Game.schedule(Game.yetiSpawnTime * 1000, createYetiFor, %player, nameToID("GatePoint" @ Game.trialGates).getTransform()); + } + } + } + else { + %objective = "You have" SPC (Game.survivalLifeTime / 1000) SPC "seconds to go as far as you can."; + %player.schedule(Game.survivalLifeTime, scriptKill, $DamageType::NexusCamping); + Game.schedule(Game.survivalLifeTime - Game.survivalWarningTime, warningMessage, %player); + } + + messageClient(%client, 0, '\c2Your %1run has begun. %2~wfx/misc/target_waypoint.wav', %mod, %objective); + %player.launchTime = getSimTime(); + Game.lastLaunchTime = getSimTime(); + Game.setPlayerGate(%player, 1); + + // remove invincibility + %player.setInvincibleMode(0 ,0.00); + %player.setInvincible( false ); + + Game.checkFollowingPlayers(%player); + Game.schedule(Game.followTime, listFollowingPlayers, %player); +} + +function SkiFreeGame::setPlayerGate(%game, %player, %gate) { + %player.gate = %gate; + if( isObject(%player.client) ) { + %team = %gate + 1; + if( %team > 9 ) %team = 1; + %player.client.setSensorGroup(%team); + } +} + +function SkiFreeGame::enterSpawnTrigger(%game, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + // we jumped the gun + if( %player.launchTime !$= "" && !%player.noMulligans ) { + %player.noMulligans = true; + %client = %player.client; + messageClient(%client, 0, '\c2Hey, no mulligans! Your timer is still running!~wfx/packs/shield_hit.wav'); + } +} + +function SkiFreeGame::checkFollowingPlayers(%game, %player) { + %client = %player.client; + + for( %i = 0; %i < ClientGroup.getCount(); %i++ ) { + %clTarget = ClientGroup.getObject(%i); + if( %clTarget == %client ) continue; + %plTarget = %clTarget.player; + if( !isObject( %plTarget ) || %plTarget.launchTime $= "" ) continue; + + // get everyone that started a run within 5 seconds of you + if( %player.launchTime - %game.followTime <= %plTarget.launchTime ) { + // three different variables based on handicap + if( %plTarget.handicap $= "NONE" ) { + %plTarget.following++; + %plTarget.followName = %client.name; + } + else if( %plTarget.handicap $= %player.handicap ) { + %plTarget.followingMatch++; + %plTarget.followMatchName = %client.name; + } + else if( %plTarget.handicap !$= %player.handicap ) { + %plTarget.followingNoMatch++; + %plTarget.followNoMatchName = %client.name; + } + + if( %player.handicap $= "NONE" ) { + %player.following++; + %player.followName = %clTarget.name; + } + else if( %player.handicap $= %plTarget.handicap ) { + %player.followingMatch++; + %player.followMatchName = %clTarget.name; + } + else if( %player.handicap !$= %plTarget.handicap ) { + %player.followingNoMatch++; + %player.followNoMatchName = %clTarget.name; + } + } + } +} + +function SkiFreeGame::listFollowingPlayers(%game, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + %client = %player.client; + + if( %player.handicap $= "NONE" ) { + if( %player.following > 1 ) + messageClient(%client, 0, 'You are in a run with %1 other players.', %player.following); + else if( %player.following == 1 ) + messageClient(%client, 0, 'You are in a run with %1.', %player.followName); + } + else { + if( %player.followingMatch > 1 ) + messageClient(%client, 0, 'You are in a %2 run with %1 other players.', %player.followingMatch, %player.handicap); + else if( %player.followingMatch == 1 ) + messageClient(%client, 0, 'You are in a %2 run with %1.', %player.followMatchName, %player.handicap); + + if( %player.followingNoMatch > 1 ) + messageClient(%client, 0, '%1 players did not choose the same handicap.', %player.followingNoMatch); + else if( %player.followingNoMatch == 1 ) + messageClient(%client, 0, '%1 did not choose the same handicap as you.', %player.followNoMatchName); + + } +} + +function SkiFreeGame::GlassModeAntiCheat(%game, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + if( %player.getDamageLevel() < 0.649 ) { + %player.setDamageLevel(0.65); + Game.schedule(100, GlassModeAnticheat, %player); + } +} + + +function SkiFreeGame::enterGateTrigger(%game, %trigger, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + if( %player.client == $SkiFreeYeti ) return; + + if( %trigger.gate == %player.gate ) { + Game.setPlayerGate(%player, %player.gate + 1); + + if( %game.timeTrial && %trigger.gate == %game.trialGates ) { + // finish the game + %game.calculateTimeTrialScore(%player.client, %player); + if( !%game.isSinglePlayer() ) { + %player.schedule(3000, scriptKill, %player, 0); + } + else { + %game.createYetiFor(%player); + } + } + else { + // ready the next gate + if( !%player.modGlass ) %player.applyRepair(0.125); + %player.setInventory(DiscAmmo, 15); + + // get other variables + %timeMS = (getSimTime() - %player.launchTime) / 1000; + %timeMS = mFloor(%timeMS * 1000)/1000; + %kph = mFloor(VectorLen(setWord(%player.getVelocity(), 2, 0)) * 3.6); + + %bestTimeMS = %player.client.gateTime[%trigger.gate]; + + if( %bestTimeMS !$= "" ) { + if( %bestTimeMS < %timeMS ) { + %formatL = '(\c5+'; + %compare = mFloor((%timeMS - %bestTimeMS) * 1000)/1000 ; + } + else if( %bestTimeMS > %timeMS ) { + %formatL = '(\c3-'; + %compare = mFloor((%bestTimeMS - %timeMS) * 1000)/1000; + } + else { + %formatL = '(+'; + %compare = 0; + } + %formatR = '\c0)'; + } + + %player.curGateTime[%trigger.gate] = %timeMS; + + messageClient(%player.client, 0, '\c0Passed Gate %1 at %2 seconds (Speed: %3kph) %4%5%6~wfx/misc/target_waypoint.wav', %trigger.gate, %timeMS, %kph, %formatL, %compare, %formatR); + + // generate gate +2 if it doesn't exist + if( Game.gate == %player.gate ) { + Game.generateGate(%player.gate + 1); + } + + // deal with ai + if( %player.client.isAIControlled() ) { + %game.AI_crossedGate(%player.client, %player); + } + } + } + else if( %trigger.gate > %player.gate ) { + messageClient(%player.client, 0, '\c2GATE SKIP DETECTED!~wfx/misc/red_alert_short.wav'); + %player.scriptKill($DamageType::ForceFieldPowerup); + %player.setVelocity("0 0 0"); + %player.blowup(); + } +} + +function SkiFreeGame::warningMessage(%game, %player) { + if( !isObject(%player.client) ) return; + if( %player.getState() $= "Dead" ) return; + + messageClient(%player.client, 0, '\c2Only %1 seconds left!~wfx/misc/bounty_objrem1.wav', %game.survivalWarningTime / 1000); +} + +function SkiFreeGame::generateLevel(%game) { + // randomizer hack + if( $SkiFreeRandomSeed !$= "" ) { + %oldseed = getRandomSeed(); + setRandomSeed($SkiFreeRandomSeed); + for( %i = 0; %i < 420; %i++ ) getRandom(); // advance the seed + } + + // choose a terrain + if( !isObject(Terrain) ) { + %game.generateTerrain(); + } + + // generate a spawn platform + %game.generateSpawnPlatform(); + + // add the first gates + if( %game.timeTrial ) { + for( %i = 1; %i <= %game.trialGates || isObject( %game.iterateCustomGate(MissionGroup, %i) ); %i++ ) { + %game.generateGate(%i); + } + } + else { + // normally we would need to make more gates so we use the proper seeds, but the daily randomizer is enforced time trial anyway + for( %i = 1; %i <= 2 || isObject( %game.iterateCustomGate(MissionGroup, %i) ); %i++ ) { + %game.generateGate(%i); + } + } + + %game.spinSpawnPlatform(); + + if( %oldseed !$= "" ) { + setRandomSeed(%oldseed); + $SkiFreeRandomSeed = ""; + } +} + +function SkiFreeGame::generateSpawnPlatform(%game) { + // allow mappers to pre-define the spawn platform + if( isObject(SpawnPlatform) ) { + %game.addSpawnPlatform(SpawnPlatform.position); + } + else { + // grab 8 random points - the spawn must be at or above this (is this actually something we want? lol) + %max = -100; + for( %i = 0; %i < 8; %i++ ) { + %spawnPoint = getRandom(-1024,1024) SPC getRandom(-1024, 1024); + %height = %game.findHeight(%spawnPoint); + if( %height > %max ) { + %max = %height; + } + } + + //messageAll(0, "max:" SPC %max); + + for( %i = 0; %i < 420; %i++ ) { + // reduce the max at each iteration + %max -= 2; + + // grab a random point + %spawnPoint = getRandom(-1024,1024) SPC getRandom(-1024, 1024); + %height = %game.findHeight(%spawnPoint); + if( %height < %max ) { + //messageAll(0, "not high enough" SPC %height SPC "<" SPC %max); + continue; + } + + // check all 9 points around the spawn point and keep track of them - use lowest Z point so the tower is embedded in the ground + %maxZ = -100; + %z = 500; + for( %x = -1; %x <= 1; %x++ ) { + for( %y = -1; %y <= 1; %y++ ) { + %dayZ = %game.findHeight((getWord(%spawnPoint,0) + (%x * 15)) SPC (getWord(%spawnPoint,1) + (%y * 15))); + if( %z > %dayZ ) %z = %dayZ; + if( %maxZ < %dayZ ) %maxZ = %dayZ; + } + } + + // variance should be less than 50 - if it's more, reroll it. we don't want the terrain to intersect the spawn platform + //messageAll(0, "old variance=" @ (%maxZ - %z)); + if( %maxZ - %z >= 50 ) { + continue; + } + + break; + } + + %game.addSpawnPlatform(%spawnPoint SPC %z); + } +} + +function SkiFreeGame::generateGate(%game, %gate) { + if( %game.timeTrial && %gate > %game.trialGates ) { + return; + } + + // mapping mechanism for defining where each gate will be generated + %gateMarker = %game.iterateCustomGate(MissionGroup, %gate); + if( isObject(%gateMarker) ) { + // don't hide the marker if editor is open + if( !$TestCheats ) %gateMarker.hide(true); + + %position = %gateMarker.position; + + if( %game.timeTrial ) { + if( %gateMarker.isFinish__ ) { + %game.trialGates = %gate; + } + else if( %gateMarker.gateNum__ == %game.trialGates ) { + %game.trialGates++; + } + } + } + else if( %gate == 1 ) { + // angle should just be anywhere + %pivot = nameToID("GatePoint0").position; + %angle = getRandom(2 * 3.1415927 * 100000) / 100000; + %dist = getRandom(%game.firstGateMin, %game.firstGateMax); + + %x = getWord(%pivot, 0) + (mCos(%angle) * %dist); + %y = getWord(%pivot, 1) + (mSin(%angle) * %dist); + %z = %game.findHeight(%x SPC %y); + + %position = %x SPC %y SPC %z; + } + else { + %origin = nameToID("GatePoint" @ (%gate - 2)).position; + %pivot = nameToID("GatePoint" @ (%gate - 1)).position; + %angle = mAtan( + getWord(%pivot, 1) - getWord(%origin, 1), + getWord(%pivot, 0) - getWord(%origin, 0) + ); + + %modAngle = (%game.minGateAngle + (%game.angleIncrement * (%gate - 2))) / 2; + if( %modAngle > %game.maxGateAngle ) %modAngle = %game.maxGateAngle; + + %angle += (getRandom(-%modAngle * 100000, %modAngle * 100000) / 100000); + %dist = getRandom(%game.extraGateMin, %game.extraGateMax); + + %x = getWord(%pivot, 0) + (mCos(%angle) * %dist); + %y = getWord(%pivot, 1) + (mSin(%angle) * %dist); + %z = %game.findHeight(%x SPC %y); + + %position = %x SPC %y SPC %z; + } + //%viewableAngle = (%angle / (3.1415927/180)); + //while( %viewableAngle < 0 ) %viewableAngle += 360; + //echo("Gate" SPC %gate SPC "at" SPC %viewableAngle SPC "degrees"); + + %game.addGate(%gate, %position); + %game.gate = %gate; +} + +function SkiFreeGame::iterateCustomGate(%game, %simgroup, %gate) { + for( %i = 0; %i < %simgroup.getCount(); %i++ ) { + %obj = %simgroup.getObject(%i); + + if( %obj.getClassName() $= "SimGroup" && %obj != nameToId(MissionCleanup) ) { + %gateMarker = %game.iterateCustomGate(%obj, %gate); + if( isObject(%gateMarker) ) return %gateMarker; + } + else if( %obj.dataBlock $= "SkiFreeCustomGate" && %obj.gateNum__ == %gate ) { + return %obj; + } + } + + return 0; +} + +function SkiFreeGame::generateTerrain(%game) { + // clear this shit out just in case + deleteVariables("$SkiFreeTerrainList*"); + + %error = ""; + %valid = false; + if( $TerrainTest $= "" ) { + // pick a terrain from the list + exec("scripts/SkiFreeTerrains.cs"); + + if( $SkiFreeTerrainListMAX !$= "" ) { + if( !%game.isAprilFools($Host::SkiRaceAprilFoolsDisabledYear) ) { + %terrain = $SkiFreeTerrainList[getRandom($SkiFreeTerrainListMAX)]; + } + else { + %terrain = $SkiFreeTerrainListSuperHard[getRandom($SkiFreeTerrainListSuperHardMAX)]; + } + + if( isFile("terrains/" @ %terrain) ) { + %valid = true; + } + else { + %error = "Terrain file" SPC %terrain SPC "doesn't exist!"; + } + } + else { + %error = "SkiFreeTerrains.cs does not exist or did not correctly compile!"; + } + + // don't leave this shit laying around + deleteVariables("$SkiFreeTerrainList*"); + } + else { + %terrain = $TerrainTest; + if( strpos(%terrain, ".ter") == -1 ) %terrain = %terrain @ ".ter"; + + if( isFile("terrains/" @ %terrain) ) { + %valid = true; + } + else { + %error = "$TerrainTest file" SPC %terrain SPC "doesn't exist!"; + %valid = false; + } + } + + if( %valid ) { + messageAll(0, 'Using Terrain: %1', %terrain); + } + else { + messageAll(0, 'There was an error loading terrain %1 - %2', %terrain, %error); + %terrain = "SunDried.ter"; + } + + %terrainObj = new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = %terrain; + squareSize = "8"; + }; + MissionCleanup.add(%terrainObj); + + %game.terrain = getSubStr(%terrain, 0, strpos(%terrain, ".")); + messageAll('msgBountyTargetIs', "", %game.terrain); // terrain +} + +function SkiFreeGame::spinSpawnPlatform(%game) { + %pi = 3.1415927; // why isn't this just a global + + // calculate spin ratio + %gate = nameToID("GatePoint1").position; + %spawn = nameToID("GatePoint0").position; + %angle = mAtan( + getWord(%spawn, 1) - getWord(%gate, 1), + getWord(%spawn, 0) - getWord(%gate, 0) + ); + + // calculate variance points and make sure we didn't cut into terrain - if we did, just return from method and pretend it's a feature + %maxZ = -100; + %z = 500; + for( %x = -1; %x <= 1; %x++ ) { + for( %y = -1; %y <= 1; %y++ ) { + %tx = (getWord(SpawnPlatform.position, 0) + (%x * 15)) - getWord(SpawnPlatform.position, 0); + %ty = (getWord(SpawnPlatform.position, 1) + (%y * 15)) - getWord(SpawnPlatform.position, 1); + %ntx = (%tx * mCos(%angle)) - (%ty * mSin(%angle)); + %nty = (%tx * mSin(%angle)) + (%ty * mCos(%angle)); + %tx = %ntx + getWord(SpawnPlatform.position, 0); + %ty = %nty + getWord(SpawnPlatform.position, 1); + + %dayZ = %game.findHeight(%tx SPC %ty); + if( %z > %dayZ ) %z = %dayZ; + if( %maxZ < %dayZ ) %maxZ = %dayZ; + } + } + + // variance should be less than 60 - if it's more, return from method + //messageAll(0, "new variance=" @ (%maxZ - %z)); + if( %maxZ - %z >= 60 ) { + return; + } + + // spin the platform + SpawnPlatform.setTransform(SpawnPlatform.position SPC "0 0 1" SPC -%angle); // reverse the angle and use radians because ???? + + // spin the trigger + %tx = getWord(SpawnPlatform.position, 0); + %ty = getWord(SpawnPlatform.position, 1); + %diagonal = 21.2132034; // sqrt(15^2 + 15^2) + %tx += (mCos(%angle + (0.75 * %pi)) * %diagonal); // yes, this trigger is offset by 0.75 PI + %ty += (mSin(%angle + (0.75 * %pi)) * %diagonal); // yes, this trigger is offset by 0.75 PI + SpawnTrigger.setTransform( + %tx SPC %ty SPC getWord(SpawnTrigger.position, 2) SPC + "0 0 1" SPC -%angle + ); + + // spin the spawn points + for( %i = 0; %i < 420; %i++ ) { + if( %game.spawnPosition[%i] $= "" ) break; + %tx = getWord(%game.spawnPosition[%i], 0) - getWord(SpawnPlatform.position, 0); + %ty = getWord(%game.spawnPosition[%i], 1) - getWord(SpawnPlatform.position, 1); + + // what the fuck? + %ntx = (%tx * mCos(%angle)) - (%ty * mSin(%angle)); + %nty = (%tx * mSin(%angle)) + (%ty * mCos(%angle)); + + %tx = %ntx + getWord(SpawnPlatform.position, 0); + %ty = %nty + getWord(SpawnPlatform.position, 1); + + %game.spawnPosition[%i] = %tx SPC %ty; + } +} + +function SkiFreeGame::findHeight(%game, %location) { + %hit = ContainerRayCast(%location SPC "1000", %location SPC "-100", $TypeMasks::TerrainObjectType); + return getWord(%hit,3); +} + +function SkiFreeGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement) { + // ---------------------------------------------------------------------------------- + // z0dd - ZOD, 6/18/02. From Panama Jack, send the damageTypeText as the last varible + // in each death message so client knows what weapon it was that killed them. + + %victimGender = (%clVictim.sex $= "Male" ? 'he' : 'she'); + %victimName = %clVictim.name; + //error("DamageType = " @ %damageType @ ", implement = " @ %implement @ ", implement class = " @ %implement.getClassName() @ ", is controlled = " @ %implement.getControllingClient()); + + if(%damageType == $DamageType::ForceFieldPowerup) + { + messageAll('msgVehicleSpawnKill', '\c0%1 tried to skip a gate.', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by Gate Skip"); + } + else if( %damageType == $DamageType::Crash ) { + messageAll('msgVehicleSpawnKill', '\c0%1 deadstopped.', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by Deadstop"); + } + else if( %damageType == $DamageType::NexusCamping ) { + if( %game.timeTrial ) { + messageAll('msgVehicleSpawnKill', '\c0%1 ran out of time.', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + } + + // no message needed for a full run completed + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by End of Run"); + } + else if( %damageType == $DamageType::Ground && %clVictim.player.modGlass ) { + messageAll('msgSelfKill', '%1 shattered into a million pieces.', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed self ("@getTaggedString($DamageTypeText[%damageType])@")"); + } + else if( %damageType == $DamageType::Suicide ) { + // remove death message + //messageAll('msgSuicide', '', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") committed suicide (CTRL-K)"); + } + else { + Parent::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement); + } +} + +function SkiFreeGame::getWordForRank(%game, %rank) { + if( %rank == 1 ) return "first"; + else if( %rank == 2 ) return "second"; + else if( %rank == 3 ) return "third"; + else if( %rank <= 20 ) return %rank @ "th"; + else if( %rank % 10 == 1 ) return %rank @ "st"; + else if( %rank % 10 == 2 ) return %rank @ "nd"; + else if( %rank % 10 == 3 ) return %rank @ "rd"; + else return %rank @ "th"; // just type the number +} + +function SkiFreeGame::sendDebriefing( %game, %client ) +{ + // Mission result: + %winner = $TeamRank[0, 0]; + if ( %winner.score > 0 ) + messageClient( %client, 'MsgDebriefResult', "", '%1 wins!', $TeamRank[0, 0].name ); + else + messageClient( %client, 'MsgDebriefResult', "", 'Nobody wins.' ); + + // Player scores: + %count = $TeamRank[0, count]; + if( %game.timeTrial ) { + messageClient( %client, 'MsgDebriefAddLine', "", 'PLAYERBEST' ); + } + else { + messageClient( %client, 'MsgDebriefAddLine', "", 'PLAYERBESTGATES' ); + } + for ( %i = 0; %i < %count; %i++ ) { + %cl = $TeamRank[0, %i]; + if( %game.timeTrial ) { + if( %cl.bestTime == %game.trialDefaultTime ) + %bestTime = %game.trialDefaultTime @ ".000"; + else + %bestTime = %cl.bestTime; + + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %cl.name, %bestTime ); + } + else { + if ( %cl.score $= "" ) + %score = "0.0"; + else if( mFloor(%cl.score) == %cl.score ) + %score = %cl.score @ ".0"; + else + %score = %cl.score; + + if( %cl.maxGates $= "" ) + %gates = 0; + else + %gates = %cl.maxGates; + + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3', %cl.name, %score, %gates ); + } + } + + + //now go through an list all the observers: + %count = ClientGroup.getCount(); + %printedHeader = false; + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team <= 0) + { + //print the header only if we actually find an observer + if (!%printedHeader) + { + %printedHeader = true; + if( %game.timeTrial ) { + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSBEST'); + } + else { + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCORE'); + } + } + + if( %game.timeTrial ) { + if( %cl.bestTime == %game.trialDefaultTime ) + %bestTime = %game.trialDefaultTime @ ".000"; + else + %bestTime = %cl.bestTime; + + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %cl.name, %bestTime); + } + else { + //print out the client + if ( %cl.score $= "" ) + %score = "0.0"; + else if( mFloor(%cl.score) == %cl.score ) + %score = %cl.score @ ".0"; + else + %score = %cl.score; + + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %cl.name, %score); + } + } + } +} + +function SkiFreeGame::phaseThroughPlayers(%game, %active) { + // don't run unneeded mempatches! + if( !%active && !%game.phaseActive ) return; + + // don't do this in single player + if( %game.isSinglePlayer() ) return; + + %game.phaseActive = %active; + + // this code adds/removes the player mask from player collisions + // so players can phase right through each other if this is active + // thanks to DarkTiger for this code + %patch1 = %active ? "3CA1" : "3CE1"; + %patch2 = %active ? "1C21" : "1C61"; + %patch3 = %active ? "1C21" : "1C61"; + + memPatch("83FBF4", %patch1); + memPatch("79B40C", %patch2); + memPatch("83FBF8", %patch3); +} + +function SkiFreeGame::runEditorTasks(%game) { + %game.iterateRevealHiddenGates(MissionGroup); + // do we even have anything else to do? +} + +function SkiFreeGame::iterateRevealHiddenGates(%game, %simgroup) { + for( %i = 0; %i < %simgroup.getCount(); %i++ ) { + %obj = %simgroup.getObject(%i); + + if( %obj.getClassName() $= "SimGroup" && %obj != nameToId(MissionCleanup) ) { + %game.iterateRevealHiddenGates(%obj); + } + else if( %obj.dataBlock $= "SkiFreeCustomGate" ) { + %obj.hide(false); + } + } +} + +function SkiFreeGame::getDailySeed(%game) { + %d = formatTimeString("dd"); + %m = formatTimeString("mm"); + %y = formatTimeString("y"); + + return %d + (%m * 32) + (%y * 420); +} + +function SkiFreeGame::breakOutTerraformer(%game, %skill, %definedSeed) { + %seed = (%definedSeed $= "") + ? (getRandom() * 1999998) - 999999 + : %definedSeed; + + if(!isObject("terraformer")) new Terraformer("terraformer"); + + // stop putting me under the terrain goddamnit + %player = ClientGroup.getObject(0).player; + if( isObject(%player) ) { + %transform = %player.getTransform(); + %player.schedule(0, setTransform, %transform); + } + + %minHeight = 25; + %heightRange = 150; + + if( isObject(Terrain) ) { + Terrain.delete(); + } + + // change the terrain based on day of the week, so nobody gets confused when they're a day off (like being in Guam) + %dow = formatTimeString("D"); + if( %definedSeed !$= "" ) { + if( %dow $= "Sun" ) %terrain = "Gauntlet.ter"; + if( %dow $= "Mon" ) %terrain = "DangerousCrossing_nef.ter"; + if( %dow $= "Tue" ) %terrain = "Snowblind_nef.ter"; + if( %dow $= "Wed" ) %terrain = "DangerousCrossing_nef.ter"; + if( %dow $= "Thu" ) %terrain = "Gauntlet.ter"; + if( %dow $= "Fri" ) %terrain = "Snowblind_nef.ter"; + if( %dow $= "Sat" ) %terrain = "DangerousCrossing_nef.ter"; + } + else { + if( %dow $= "Sun" ) %terrain = "DangerousCrossing_nef.ter"; + if( %dow $= "Mon" ) %terrain = "Snowblind_nef.ter"; + if( %dow $= "Tue" ) %terrain = "Gauntlet.ter"; + if( %dow $= "Wed" ) %terrain = "Snowblind_nef.ter"; + if( %dow $= "Thu" ) %terrain = "DangerousCrossing_nef.ter"; + if( %dow $= "Fri" ) %terrain = "Gauntlet.ter"; + if( %dow $= "Sat" ) %terrain = "Snowblind_nef.ter"; + } + + if( %skill == 1 ) { + %terrainObj = new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = %terrain; + squareSize = "8"; + }; + terraformer.setTerrainInfo( 256, 8, %minHeight, %heightRange, 0.0 ); + terraformer.fBm( 0, 5, 0.5, 0.5, %seed ); + terraformer.setTerrain(0); + Game.terrain = "Easy"; + } + else if( %skill == 2 ) { + %terrainObj = new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = %terrain; + squareSize = "8"; + }; + terraformer.setTerrainInfo( 256, 8, %minHeight, %heightRange, 0.0 ); + terraformer.fBm( 0, 8, 0.5, 0.5, %seed ); + terraformer.setTerrain(0); + Game.terrain = "Medium"; + } + else if( %skill == 3 ) { + %terrainObj = new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Minotaur.ter"; + squareSize = "8"; + }; + terraformer.setTerrainInfo( 256, 8, %minHeight, %heightRange, 0.0 ); + terraformer.rigidMultiFractal( 0, 8, 0.5, 0.8, %seed ); + terraformer.turbulence( 0, 1, 0.8, 10 ); + terraformer.setTerrain(0); + Game.terrain = "Hard"; + } +} + +function SkiFreeGame::isSinglePlayer(%game) { + return $CurrentMission $= "SkiFree_Daily" + || $CurrentMission $= "SkiFree_Randomizer" + || $CurrentMission $= "SkiFreeZ_Championship_2021"; +} + +function SkiFreeGame::getServerStatusString(%game) +{ + if( %game.timeTrial ) { + // server status modifcation for time trial (show time instead of score) + %status = %game.numTeams; + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { + %score = isObject( $teamScore[%team] ) ? $teamScore[%team] : 0; + %teamStr = getTaggedString( %game.getTeamName(%team) ) TAB %score; + %status = %status NL %teamStr; + } + + %status = %status NL ClientGroup.getCount(); + for ( %i = 0; %i < ClientGroup.getCount(); %i++ ) { + %cl = ClientGroup.getObject( %i ); + %time = %cl.bestTime $= "" ? %game.trialDefaultTime : %cl.bestTime; + %playerStr = getTaggedString( %cl.name ) TAB getTaggedString( %game.getTeamName(%cl.team) ) TAB %time; + %status = %status NL %playerStr; + } + return( %status ); + } + else { + Parent::getServerStatusString(%game); + } +} + +function SkiFreeGame::checkInterference(%game, %targetObject, %sourceObject, %oldVector) { + // a player hit someone else with a disc + %illegalHit = 0; + + // if boosting is off, illegal hit. otherwise... + if( !$Host::SkiRaceAllowPvPDiscBoosting ) { + %illegalHit = 1; + + if( !%sourceObject.interfered && isObject(%sourceObject.client) ) { + messageClient(%sourceObject.client, 0, '\c2Disc Boosting is disabled. You cannot affect enemy momentum!~wfx/misc/red_alert_short.wav'); + %sourceObject.interfered = 1; + } + else { + messageClient(%sourceObject.client, 0, '~wfx/misc/red_alert_short.wav'); + } + } + else { + // check for intereference + %oldSpeed = VectorLen(%oldVector); + %curSpeed = VectorLen(%targetObject.getVelocity()); + if( %curSpeed < %oldSpeed ) { + // interference detected! + if( !%sourceObject.interfered && isObject(%sourceObject.client) ) { + messageClient(%sourceObject.client, 0, '\c2INTERFERENCE! Tried to reduce enemy velocity - enemy momentum not affected!~wfx/misc/whistle.wav'); + %sourceObject.interfered = 1; + } + else { + messageClient(%sourceObject.client, 0, '~wfx/misc/whistle.wav'); + } + + + %illegalHit = 1; + } + } + + if( %illegalHit ) { + %targetObject.setVelocity(%oldVector); + //%targetObject.schedule(0, setVelocity, %oldVector); + } +} + +// is it april 1, and is it after the year passed in? +function SkiFreeGame::isAprilFools(%game, %year) { + //if( $AprilFoolsTest ) return true; + + if( formatTimeString("m") != 4 ) return false; + if( formatTimeString("d") != 1 ) return false; + + // it's april 1st - check the year qualifier + if( %year $= "" ) return true; + return (formatTimeString("yy") > %year); +} + +function SkiFreeGame::prestigeTitle(%game, %client) { + %client.SkiFreeTitle = ""; + if( %client.AI_skiFreeBotLevel !$= "" ) { + %client.SkiFreeTitle = "Bot Level" SPC %client.AI_skiFreeBotLevel; + } + else { + //%client.SkiFreeTitle = "Tourney 2021 Champion"; + //%client.SkiFreeTitle = "Tourney 2021 Runner-up"; + //%client.SkiFreeTitle = "Tourney 2021 3rd Place"; + //%client.SkiFreeTitle = "Tourney 2021 4th Place"; + //%client.SkiFreeTitle = "Tourney 2021 5th Place"; + //%client.SkiFreeTitle = "Tourney 2021 Qualifier"; + //%client.SkiFreeTitle = "Tourney 2021 Participant"; + + switch( %client.guid ) { + case 2019153: // red shifter + %client.SkiFreeTitle = "SkiFree Lead Developer"; + } + } + + if( %client.SkiFreeTitle !$= "" ) { + %client.SkiFreeTitle = "" @ %client.SkiFreeTitle @ ""; + } +} \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeOverrides.cs b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeOverrides.cs new file mode 100644 index 00000000..8a1a3ee5 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeOverrides.cs @@ -0,0 +1,295 @@ +// SkiFreeOverrides.cs + +package SkiFreeGame { + +// players can only damage themselves. however they can apply impulse to others +function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC) { + //error("Armor::damageObject( "@%data@", "@%targetObject@", "@%sourceObject@", "@%position@", "@%amount@", "@%damageType@", "@%momVec@" )"); + %oldVector = %targetObject.getVelocity(); + %sourceClient = isObject(%sourceObject) ? %sourceObject.getOwnerClient() : 0; // don't hurt others + + if( isObject(%targetObject.client) && %targetObject.client == $SkiFreeYeti ) { + if( %damageType $= $DamageType::Disc ) { + // stun the yeti + $SkiFreeYeti.stunned = 1; + %amount = 0; + } + + if( %damageType != 0 ) { + // yeti don't take damage except from scriptkill + return; + } + } + + // absolutely devasate someone hit by teh yeti + if( %damageType == $DamageType::Shocklance ) { + %amount = 100; + %sourceClient.yetiTaunt = 1; + + %targetObject.blowup(); + %targetObject.setVelocity("0 0 0"); + + %yetiKill = 1; + } + + // why did i even write this shite + if( %damageType == $DamageType::Ground ) { + Game.schedule(0, checkDeadstop, %targetObject, %oldVector); + } + + // check interference + if( %damageType == $DamageType::Disc && %targetObject != %sourceObject ) { + Game.schedule(0, checkInterference, %targetObject, %sourceObject, %oldVector); + } + + // players cannot damage each other (except the yeti who can destroy everything in its path) + if( !%sourceClient || %targetObject == %sourceObject || %yetiKill ) { + // copy/pasta from classix 1.5.2, with modifications + + if(%targetObject.invincible || %targetObject.getState() $= "Dead") + return; + + //---------------------------------------------------------------- + // z0dd - ZOD, 6/09/02. Check to see if this vehicle is destroyed, + // if it is do no damage. Fixes vehicle ghosting bug. We do not + // check for isObject here, destroyed objects fail it even though + // they exist as objects, go figure. + if(%damageType == $DamageType::Impact) + if(%sourceObject.getDamageState() $= "Destroyed") + return; + + if (%targetObject.isMounted() && %targetObject.scriptKilled $= "") + { + %mount = %targetObject.getObjectMount(); + if(%mount.team == %targetObject.team) + { + %found = -1; + for (%i = 0; %i < %mount.getDataBlock().numMountPoints; %i++) + { + if (%mount.getMountNodeObject(%i) == %targetObject) + { + %found = %i; + break; + } + } + + if (%found != -1) + { + if (%mount.getDataBlock().isProtectedMountPoint[%found]) + { + // z0dd - ZOD, 5/07/04. Let players be damaged if gameplay changes in affect. + if(!$Host::ClassicLoadPlayerChanges) + { + %mount.getDataBlock().damageObject(%mount, %sourceObject, %position, %amount, %damageType); + return; + } + else + { + if(%damageType != $DamageType::Laser && %damageType != $DamageType::Bullet && %damageType != $DamageType::Blaster) + return; + } + } + } + } + } + + %targetClient = %targetObject.getOwnerClient(); + if(isObject(%mineSC)) + %sourceClient = %mineSC; + else + %sourceClient = isObject(%sourceObject) ? %sourceObject.getOwnerClient() : 0; + + %targetTeam = %targetClient.team; + + //if the source object is a player object, player's don't have sensor groups + // if it's a turret, get the sensor group of the target + // if its a vehicle (of any type) use the sensor group + if (%sourceClient) + %sourceTeam = %sourceClient.getSensorGroup(); + else if(%damageType == $DamageType::Suicide) + %sourceTeam = 0; + //-------------------------------------------------------------------------------------------------------------------- + // z0dd - ZOD, 4/8/02. Check to see if this turret has a valid owner, if not clear the variable. + else if(isObject(%sourceObject) && %sourceObject.getClassName() $= "Turret") + { + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + if(%sourceObject.owner !$="" && (%sourceObject.owner.team != %sourceObject.team || !isObject(%sourceObject.owner))) + { + %sourceObject.owner = ""; + } + } + //-------------------------------------------------------------------------------------------------------------------- + else if( isObject(%sourceObject) && + ( %sourceObject.getClassName() $= "FlyingVehicle" || %sourceObject.getClassName() $= "WheeledVehicle" || %sourceObject.getClassName() $= "HoverVehicle")) + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + else + { + if (isObject(%sourceObject) && %sourceObject.getTarget() >= 0 ) + { + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + } + else + { + %sourceTeam = -1; + } + } + + // if teamdamage is off, and both parties are on the same team + // (but are not the same person), apply no damage + if(!$teamDamage && (%targetClient != %sourceClient) && (%targetTeam == %sourceTeam)) + return; + + if(%targetObject.isShielded && %damageType != $DamageType::Blaster) + %amount = %data.checkShields(%targetObject, %position, %amount, %damageType); + + if(%amount == 0) + return; + + // Set the damage flash + %damageScale = %data.damageScale[%damageType]; + if(%damageScale !$= "") + %amount *= %damageScale; + + // if the damage of a discjump would kill, override + if( %damageType == $DamageType::Disc ) { + %targetObject.hasDiscjumped = 1; + if( %targetObject.getDamageLevel() + %amount > 0.66 ) { + if( %targetObject.launchTime $= "" ) { + %amount = (0.65 - %targetObject.getDamageLevel()); + if( %amount <= 0 ) return; + } + else { + if( %targetObject.safetyFeature $= "" ) { + %targetObject.safetyFeature = 1; + messageClient(%targetClient, 0, 'NOT ENOUGH HEALTH FOR DISCJUMP~wfx/misc/red_alert_short.wav'); + } + else { + messageClient(%targetClient, 0, '~wfx/misc/red_alert_short.wav'); + } + %targetObject.schedule(0, setVelocity, %oldVector); + return; + } + } + } + + %flash = %targetObject.getDamageFlash() + (%amount * 2); + if (%flash > 0.75) + %flash = 0.75; + + %previousDamage = %targetObject.getDamagePercent(); + %targetObject.setDamageFlash(%flash); + + %targetObject.applyDamage(%amount); + Game.onClientDamaged(%targetClient, %sourceClient, %damageType, %sourceObject); + + %targetClient.lastDamagedBy = %damagingClient; + %targetClient.lastDamaged = getSimTime(); + + //now call the "onKilled" method if the client was... you know... + if(%targetObject.getState() $= "Dead") + { + // where did this guy get it? + %damLoc = %targetObject.getDamageLocation(%position); + + // should this guy be blown apart? + if( %damageType == $DamageType::Explosion || + %damageType == $DamageType::TankMortar || + %damageType == $DamageType::Mortar || + %damageType == $DamageType::MortarTurret || + %damageType == $DamageType::BomberBombs || + %damageType == $DamageType::SatchelCharge || + %damageType == $DamageType::Missile ) + { + if( %previousDamage >= 0.35 ) // only if <= 35 percent damage remaining + { + %targetObject.setMomentumVector(%momVec); + %targetObject.blowup(); + } + } + + // this should be funny... + if( %damageType == $DamageType::VehicleSpawn ) + { + %targetObject.setMomentumVector("0 0 1"); + %targetObject.blowup(); + } + + // If we were killed, max out the flash + %targetObject.setDamageFlash(0.75); + + %damLoc = %targetObject.getDamageLocation(%position); + Game.onClientKilled(%targetClient, %sourceClient, %damageType, %sourceObject, %damLoc); + } + else if ( %amount > 0.1 ) + { + if( %targetObject.station $= "" && %targetObject.isCloaked() ) + { + %targetObject.setCloaked( false ); + %targetObject.reCloak = %targetObject.schedule( 500, "setCloaked", true ); + } + + playPain( %targetObject ); + } + } +} + +function ForceFieldBareData::onAdd(%data, %obj) { + // skip ForceFieldBareData::onAdd - keeps it from creating a physical zone + GameBaseData::onAdd(%data, %obj); + %obj.open(); +} + +// can't get items back after tossing them - this prevents cheating the handicap modes +function EnergyPack::onCollision(%data, %obj, %col) {} +function Disc::onCollision(%data, %obj, %col) {} +function DiscAmmo::onCollision(%data, %obj, %col) {} +function RepairKit::onCollision(%data, %obj, %col) {} +function ShockLance::onCollision(%data, %obj, %col) {} + +// no looting either +function Armor::onCollision(%this,%obj,%col,%forceVehicleNode) {} + +// turn the player to glass if they throw their repair kit away +function ShapeBase::throwItem(%this, %data) { + Parent::throwItem(%this, %data); + if( %data $= RepairKit && %this.launchTime $= "" ) { + // turn the player to glass + %this.setDamageLevel(0.65); + } +} + +// turn phasing on/off +function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote) { + Parent::serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote); + + if( %client.isAdmin ) { + Game.checkSkiFreeVote(%client, %typeName); + } +} + +// turn off phasing (this is a client method used for listen servers only - you do NOT want this to stay on) +function lobbyDisconnect() { + Game.phaseThroughPlayers(false); // make sure this is OFF + Parent::lobbyDisconnect(); +} + +// show the things +function toggleEditor(%make) { + if( %make ) Game.runEditorTasks(); + Parent::toggleEditor(%make); +} + +// surpress yeti's quit message ($SkiFreeYeti will be 0 outside single player) +function GameConnection::onDrop(%client, %reason) { + if( %client == $SkiFreeYeti ) { + %lastMissionType = $currentMissionType; + $currentMissionType = "SinglePlayer"; + Parent::onDrop(%client, %reason); + $currentMissionType = %lastMissionType; + } + else { + Parent::onDrop(%client, %reason); + } +} + +}; diff --git a/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeTerrains.cs b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeTerrains.cs new file mode 100644 index 00000000..4ac1f86d --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/scripts/SkiFreeTerrains.cs @@ -0,0 +1,262 @@ +// SkiFree Terrain List +// Input File Date: 2021-03-29 19:50:29 + +// A good terrain has the following qualities: +// - doesn't have a bunch of flat ground, even if it's right outside the mission bounds (high octane) +// - is not fucking gigantic (stripmine, a bunch of other TR2 terrains) +// - doesn't have a bunch of steep plateaus +// - is not Magnum (a map where the fastest route is to discjump off a bunch of flat ridges) +// use $TerrainTest to test a terrain locally + +%i = -1; // %i++ is pre-increment for some reason; it's -1 so it can start at 0 +%j = -1; // %j++ is pre-increment for some reason; it's -1 so it can start at 0 + +// ACCEPTED TERRAINS (82) +$SkiFreeTerrainList[%i++] = "Alcatraz.ter"; // yeah. seems fine +$SkiFreeTerrainList[%i++] = "Attrition.ter"; +$SkiFreeTerrainList[%i++] = "BastardForge.ter"; +$SkiFreeTerrainList[%i++] = "Broadside_nef.ter"; +$SkiFreeTerrainList[%i++] = "Caldera.ter"; +$SkiFreeTerrainList[%i++] = "Cardiac.ter"; +$SkiFreeTerrainList[%i++] = "CCD.ter"; +$SkiFreeTerrainList[%i++] = "CeleritySE.ter"; // I was on the fence on this one +$SkiFreeTerrainList[%i++] = "Cinerarium.ter"; +$SkiFreeTerrainList[%i++] = "Coppera.ter"; // this seems fine. just gotta keep jumping over the mesas? plateaus? fjordr? Whatever +$SkiFreeTerrainList[%i++] = "DangerousCrossing_nef.ter"; // this level is fine +$SkiFreeTerrainList[%i++] = "DeathBirdsFly.ter"; +$SkiFreeTerrainList[%i++] = "DesertofDeath_nef.ter"; +$SkiFreeTerrainList[%i++] = "Embers.ter"; +$SkiFreeTerrainList[%i++] = "Euro4_Bleed.ter"; +$SkiFreeTerrainList[%i++] = "Euro4_Dissention.ter"; +$SkiFreeTerrainList[%i++] = "Euro4_FrozenHope.ter"; // seems fine? +$SkiFreeTerrainList[%i++] = "Gorgon.ter"; +$SkiFreeTerrainList[%i++] = "Hildebrand.ter"; +$SkiFreeTerrainList[%i++] = "icedagger.ter"; +$SkiFreeTerrainList[%i++] = "jaggedclaw.ter"; +$SkiFreeTerrainList[%i++] = "LavaGods.ter"; // this is fine +$SkiFreeTerrainList[%i++] = "Magellan.ter"; +$SkiFreeTerrainList[%i++] = "Magmatic.ter"; // a bit on the hard side +$SkiFreeTerrainList[%i++] = "Oasis.ter"; +$SkiFreeTerrainList[%i++] = "Ocular.ter"; +$SkiFreeTerrainList[%i++] = "PlanetX2.ter"; +$SkiFreeTerrainList[%i++] = "Raindance_nef.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer1.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer10.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer2.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer4.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer5.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer6.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer7.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer8.ter"; +$SkiFreeTerrainList[%i++] = "RandomTer9.ter"; // this canyon works somehow +$SkiFreeTerrainList[%i++] = "Respite.ter"; +$SkiFreeTerrainList[%i++] = "Rollercoaster_nef.ter"; // unlike most canyon maps this actually turns out to be skiiable +$SkiFreeTerrainList[%i++] = "rst_Astro.ter"; +$SkiFreeTerrainList[%i++] = "rst_bittergorge.ter"; +$SkiFreeTerrainList[%i++] = "rst_crumpie.ter"; +$SkiFreeTerrainList[%i++] = "rst_FaceCrossing.ter"; +$SkiFreeTerrainList[%i++] = "Rst_ScorchedEarth.ter"; // it's fine +$SkiFreeTerrainList[%i++] = "rst_spit.ter"; // i got to gate 5 on a discless discjump launch run +$SkiFreeTerrainList[%i++] = "Rush.ter"; +$SkiFreeTerrainList[%i++] = "S5_Centaur.ter"; +$SkiFreeTerrainList[%i++] = "S5_Drache.ter"; +$SkiFreeTerrainList[%i++] = "S5_Icedance.ter"; +$SkiFreeTerrainList[%i++] = "S5_massive.ter"; // this is fine? I remember writing about deadstops but I don't see any? +$SkiFreeTerrainList[%i++] = "S5_Mordacity.ter"; +$SkiFreeTerrainList[%i++] = "S5_rst_misadventure.ter"; +$SkiFreeTerrainList[%i++] = "S5_Sherman.ter"; +$SkiFreeTerrainList[%i++] = "S8_rst_dogma.ter"; +$SkiFreeTerrainList[%i++] = "S8_rst_opus.ter"; +$SkiFreeTerrainList[%i++] = "Sandstorm.ter"; +$SkiFreeTerrainList[%i++] = "SkinnyDip.ter"; // really wanted to use one of the TR2 maps. This has a big scale but also nice hills +$SkiFreeTerrainList[%i++] = "SpinCycle.ter"; // this was borderline rejected +$SkiFreeTerrainList[%i++] = "StarFallCTF2.ter"; +$SkiFreeTerrainList[%i++] = "Starfallen.ter"; +$SkiFreeTerrainList[%i++] = "TL_Drorck.ter"; +$SkiFreeTerrainList[%i++] = "TL_RoughLand.ter"; // this is kinda a finicky terrain but it works +$SkiFreeTerrainList[%i++] = "Tombstone.ter"; +$SkiFreeTerrainList[%i++] = "TWL-BeachBlitz.ter"; +$SkiFreeTerrainList[%i++] = "TWL-Boss.ter"; // this level is acceptable +$SkiFreeTerrainList[%i++] = "TWL-Cinereous.ter"; +$SkiFreeTerrainList[%i++] = "TWL-Damnation.ter"; +$SkiFreeTerrainList[%i++] = "TWL-Deserted.ter"; +$SkiFreeTerrainList[%i++] = "TWL-Frozen.ter"; +$SkiFreeTerrainList[%i++] = "TWL-Harvester.ter"; // why did I take this one +$SkiFreeTerrainList[%i++] = "TWL-Os_Iris.ter"; +$SkiFreeTerrainList[%i++] = "TWL-Pandemonium.ter"; +$SkiFreeTerrainList[%i++] = "TWL-WilderZone.ter"; +$SkiFreeTerrainList[%i++] = "TWL-WoodyMyrk.ter"; +$SkiFreeTerrainList[%i++] = "TWL2_Crevice.ter"; +$SkiFreeTerrainList[%i++] = "TWL2_Frozenglory.ter"; +$SkiFreeTerrainList[%i++] = "Wasteland.ter"; // whatever sure +$SkiFreeTerrainList[%i++] = "WoodyMyrkSE.ter"; +$SkiFreeTerrainList[%i++] = "Xtra_Bastage.ter"; +$SkiFreeTerrainList[%i++] = "Xtra_SoupLadle.ter"; +$SkiFreeTerrainList[%i++] = "Xtra_ThunderGiant.ter"; // this map is garbage but it's fun to try to ski on it +$SkiFreeTerrainList[%i++] = "Xtra_VanDamned.ter"; + +// SUPERHARD (APRIL FOOLS) (6) +$SkiFreeTerrainListSuperHard[%j++] = "Confusco.ter"; // WAY too big. +$SkiFreeTerrainListSuperHard[%j++] = "FrozenFury.ter"; // even the parts inside mission bounds are unskiiable garbage +$SkiFreeTerrainListSuperHard[%j++] = "Hillside.ter"; // accepted into april fools set (though it really shouldn’t be – too many deadstops) +$SkiFreeTerrainListSuperHard[%j++] = "TL_Skylight.ter"; +$SkiFreeTerrainListSuperHard[%j++] = "TWL-Katabatic.ter"; // oob still bad. this was accepted into april fools because you always need a katabatic joke somewhere +$SkiFreeTerrainListSuperHard[%j++] = "Xtra_Stripmine.ter"; + +// REJECTED FOR DEADSTOPS (61) +//$SkiFreeTerrainList[%i++] = "Abominable.ter"; +//$SkiFreeTerrainList[%i++] = "AcidRain.ter"; +//$SkiFreeTerrainList[%i++] = "AgentsOfFortune.ter"; +//$SkiFreeTerrainList[%i++] = "AshesToAshes.ter"; +//$SkiFreeTerrainList[%i++] = "Casern_Cavite.ter"; +//$SkiFreeTerrainList[%i++] = "DustToDust.ter"; +//$SkiFreeTerrainList[%i++] = "Equinox.ter"; +//$SkiFreeTerrainList[%i++] = "Extra_Badlands1.ter"; +//$SkiFreeTerrainList[%i++] = "Firestorm.ter"; +//$SkiFreeTerrainList[%i++] = "Flashpoint.ter"; +//$SkiFreeTerrainList[%i++] = "Fracas.ter"; +//$SkiFreeTerrainList[%i++] = "Gauntlet.ter"; +//$SkiFreeTerrainList[%i++] = "Gehenna.ter"; +//$SkiFreeTerrainList[%i++] = "Haven.ter"; +//$SkiFreeTerrainList[%i++] = "HO_Badlands.ter"; +//$SkiFreeTerrainList[%i++] = "HO_Desert.ter"; +//$SkiFreeTerrainList[%i++] = "HO_Ice.ter"; +//$SkiFreeTerrainList[%i++] = "HO_Lush.ter"; +//$SkiFreeTerrainList[%i++] = "IceBound.ter"; +//$SkiFreeTerrainList[%i++] = "Invictus.ter"; +//$SkiFreeTerrainList[%i++] = "MapAssets.ter"; +//$SkiFreeTerrainList[%i++] = "Masada.ter"; // tiny dicked map +//$SkiFreeTerrainList[%i++] = "mmd.ter"; +//$SkiFreeTerrainList[%i++] = "MoonDance2.ter"; // too many deadstop splotches +//$SkiFreeTerrainList[%i++] = "Octane.ter"; +//$SkiFreeTerrainList[%i++] = "Overreach.ter"; +//$SkiFreeTerrainList[%i++] = "PhasmaDust.ter"; +//$SkiFreeTerrainList[%i++] = "Pyroclasm.ter"; +//$SkiFreeTerrainList[%i++] = "Quagmire.ter"; +//$SkiFreeTerrainList[%i++] = "Recalescence.ter"; +//$SkiFreeTerrainList[%i++] = "Reversion.ter"; +//$SkiFreeTerrainList[%i++] = "RiverDance.ter"; +//$SkiFreeTerrainList[%i++] = "rst_isledebatalla.ter"; +//$SkiFreeTerrainList[%i++] = "SC_Badlands.ter"; +//$SkiFreeTerrainList[%i++] = "SC_Desert.ter"; +//$SkiFreeTerrainList[%i++] = "SC_Ice.ter"; +//$SkiFreeTerrainList[%i++] = "SC_Lush.ter"; +//$SkiFreeTerrainList[%i++] = "SC_Night.ter"; +//$SkiFreeTerrainList[%i++] = "SC_Normal.ter"; +//$SkiFreeTerrainList[%i++] = "Scarabrae_nef.ter"; +//$SkiFreeTerrainList[%i++] = "Sirocco.ter"; +//$SkiFreeTerrainList[%i++] = "SolsDescent.ter"; +//$SkiFreeTerrainList[%i++] = "SunDried.ter"; +//$SkiFreeTerrainList[%i++] = "ThinIce.ter"; +//$SkiFreeTerrainList[%i++] = "TL_MuddySwamp.ter"; +//$SkiFreeTerrainList[%i++] = "Training1.ter"; +//$SkiFreeTerrainList[%i++] = "Training2.ter"; +//$SkiFreeTerrainList[%i++] = "Training3.ter"; +//$SkiFreeTerrainList[%i++] = "Training4.ter"; +//$SkiFreeTerrainList[%i++] = "TreasureIsland.ter"; +//$SkiFreeTerrainList[%i++] = "TWL_Crossfire.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-BaNsHee.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Curtilage.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Horde.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Neve.ter"; // it's trace amounts but they're in places you would probably do routes +//$SkiFreeTerrainList[%i++] = "TWL-NoShelter.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Slapdash.ter"; // crapdash +//$SkiFreeTerrainList[%i++] = "TWL2_Ruined.ter"; // looks like a decent terrain but isn’t +//$SkiFreeTerrainList[%i++] = "Tyre.ter"; +//$SkiFreeTerrainList[%i++] = "Xtra_StarFall_T1.ter"; +//$SkiFreeTerrainList[%i++] = "Xtra_ziggurat.ter"; + +// REJECTED FOR BEING UNSKIIABLE (57) +//$SkiFreeTerrainList[%i++] = "Archipelago.ter"; +//$SkiFreeTerrainList[%i++] = "Bunkered.ter"; +//$SkiFreeTerrainList[%i++] = "cloak.ter"; // the terrain is just too big for a fun race +//$SkiFreeTerrainList[%i++] = "CompUSA_Melee.ter"; // the hill is causing too much grief and the rest of the map doesn’t have enough value to justify it +//$SkiFreeTerrainList[%i++] = "Crater71.ter"; // this almost always generates something very unfun +//$SkiFreeTerrainList[%i++] = "DBS_Smoothed.ter"; +//$SkiFreeTerrainList[%i++] = "EB_Hades.ter"; // not only is it extreme but you kinda have trouble reading the terrain too +//$SkiFreeTerrainList[%i++] = "Escalade.ter"; +//$SkiFreeTerrainList[%i++] = "Euro_Drifts_SE.ter"; +//$SkiFreeTerrainList[%i++] = "Geothermal.ter"; // spawn is usually on the plateau. It can generate good starts and bad starts but it's usually a mess +//$SkiFreeTerrainList[%i++] = "GodsRift.ter"; +//$SkiFreeTerrainList[%i++] = "HillKing.ter"; +//$SkiFreeTerrainList[%i++] = "Hoth.ter"; // why would you name a terrain hoth if it isn't snowy +//$SkiFreeTerrainList[%i++] = "IceGiant.ter"; // terrain is kinda extreme +//$SkiFreeTerrainList[%i++] = "IceRidge_nef.ter"; // canyons are just bad for this +//$SkiFreeTerrainList[%i++] = "Insalubria.ter"; +//$SkiFreeTerrainList[%i++] = "JacobsLadder.ter"; // hills are WAY too extreme +//$SkiFreeTerrainList[%i++] = "Minotaur.ter"; +//$SkiFreeTerrainList[%i++] = "mountking.ter"; +//$SkiFreeTerrainList[%i++] = "norty.ter"; // too extreme +//$SkiFreeTerrainList[%i++] = "Pariah.ter"; // these hills are too fucking steep +//$SkiFreeTerrainList[%i++] = "Pariah2.ter"; // ditto +//$SkiFreeTerrainList[%i++] = "PuliVeivari.ter"; +//$SkiFreeTerrainList[%i++] = "RandomTer3.ter"; // canyon fractal +//$SkiFreeTerrainList[%i++] = "Rasp.ter"; +//$SkiFreeTerrainList[%i++] = "RavineV.ter"; +//$SkiFreeTerrainList[%i++] = "Rimehold.ter"; +//$SkiFreeTerrainList[%i++] = "rst_SimpleFlagArena.ter"; // literally squares +//$SkiFreeTerrainList[%i++] = "S5_rst_hawkingheat.ter"; +//$SkiFreeTerrainList[%i++] = "S5_rst_reynard.ter"; // this map is pushing the bounds of variance +//$SkiFreeTerrainList[%i++] = "S5_rst_silenus.ter"; +//$SkiFreeTerrainList[%i++] = "S8_zilch.ter"; +//$SkiFreeTerrainList[%i++] = "Sanctuary.ter"; +//$SkiFreeTerrainList[%i++] = "ShockRidge.ter"; // not a fan of these canyon levels +//$SkiFreeTerrainList[%i++] = "Snowblind_nef.ter"; // already knew this is a bad idea before I even started +//$SkiFreeTerrainList[%i++] = "Stonehenge_nef.ter"; // kryand tried to tell me this was a skiiable terrain. so I put the flags in different places. he no longer believes it's a skiiable terrain +//$SkiFreeTerrainList[%i++] = "Surreal.ter"; +//$SkiFreeTerrainList[%i++] = "Talus.ter"; +//$SkiFreeTerrainList[%i++] = "Titan.ter"; // why did I even open this. probably not stupid enough as a terrain choice for april fools +//$SkiFreeTerrainList[%i++] = "TWL-Abaddon.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-BeggarsRun.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Chokepoint.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Clusterfuct.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Desiccator.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Euro_Feign.ter"; // come on man +//$SkiFreeTerrainList[%i++] = "TWL-Frostclaw.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-Runenmacht.ter"; // nah +//$SkiFreeTerrainList[%i++] = "TWL-SubZero.ter"; +//$SkiFreeTerrainList[%i++] = "UltimaThule.ter"; +//$SkiFreeTerrainList[%i++] = "Underhill.ter"; +//$SkiFreeTerrainList[%i++] = "WhiteDwarf.ter"; +//$SkiFreeTerrainList[%i++] = "Whiteout.ter"; +//$SkiFreeTerrainList[%i++] = "Xtra_Birthright.ter"; +//$SkiFreeTerrainList[%i++] = "Xtra_Crown.ter"; +//$SkiFreeTerrainList[%i++] = "Xtra_DesertedSE.ter"; // This is a VERY jagged terrain. +//$SkiFreeTerrainList[%i++] = "Xtra_Voodoo.ter"; +//$SkiFreeTerrainList[%i++] = "Xtra_Xerxes.ter"; + +// REJECTED FOR SOME OTHER REASON (14) +//$SkiFreeTerrainList[%i++] = "Chasmaclysmic.ter"; // this level is really kinda boring if it spawns right (which it can not do) +//$SkiFreeTerrainList[%i++] = "DMP_Pantheon.ter"; // there isn't enough value to this map to risk deadstopping +//$SkiFreeTerrainList[%i++] = "Lakefront.ter"; // just kinda hate this map tbh +//$SkiFreeTerrainList[%i++] = "Moonwalk.ter"; // magnum-like terrain +//$SkiFreeTerrainList[%i++] = "MyrkWood.ter"; // we don't need this when we have woodymyrk +//$SkiFreeTerrainList[%i++] = "Paranoia.ter"; // this map is basically flat garbage with a few hills to get in your way +//$SkiFreeTerrainList[%i++] = "Ramparts.ter"; // biased against copyright violation map +//$SkiFreeTerrainList[%i++] = "rst_agroleon.ter"; // the outer half of the terrain is too flat. and I deadstopped somewhere weird +//$SkiFreeTerrainList[%i++] = "rst_dermcity.ter"; // whatever the fuck this is doesn't seem good for this +//$SkiFreeTerrainList[%i++] = "TL_Magnum.ter"; // the best route is “discjump and keep landing on the flat parts at the top” – this is not compelling gameplay +//$SkiFreeTerrainList[%i++] = "Training5.ter"; // Terrain is WAY too dark and you can't tell features on it. +//$SkiFreeTerrainList[%i++] = "TWL-Drifts.ter"; // there's nothing really to this map outside the mission bounds +//$SkiFreeTerrainList[%i++] = "Xtra_AshenPowder.ter"; // can’t read that fucking terrain so i’m removing +//$SkiFreeTerrainList[%i++] = "Xtra_Helion.ter"; // this is just a really boring terrain + +// DUPLICATES (15) +//$SkiFreeTerrainList[%i++] = "BeggarsRun.ter"; +//$SkiFreeTerrainList[%i++] = "Damnation.ter"; +//$SkiFreeTerrainList[%i++] = "Desiccator.ter"; // Things clearly seem to be at 4 plateaus of height. which doesn't make for good skiing. +//$SkiFreeTerrainList[%i++] = "DX_Badlands.ter"; +//$SkiFreeTerrainList[%i++] = "DX_Desert.ter"; +//$SkiFreeTerrainList[%i++] = "DX_Ice.ter"; +//$SkiFreeTerrainList[%i++] = "Katabatic.ter"; +//$SkiFreeTerrainList[%i++] = "Ravine.ter"; +//$SkiFreeTerrainList[%i++] = "S5-Icedance.ter"; +//$SkiFreeTerrainList[%i++] = "S5-massive.ter"; +//$SkiFreeTerrainList[%i++] = "S5-Mordacity.ter"; +//$SkiFreeTerrainList[%i++] = "Slapdash.ter"; +//$SkiFreeTerrainList[%i++] = "SubZero.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-BlueMoon.ter"; +//$SkiFreeTerrainList[%i++] = "TWL-DeadlyBirdsSong.ter"; // DBS_Smoothed.ter + +$SkiFreeTerrainListMAX = %i; +$SkiFreeTerrainListSuperHardMAX = %j; diff --git a/public/base/@vl2/SkiFreeGameType.vl2/scripts/autoexec/SkiFreeSinglePlayer.cs b/public/base/@vl2/SkiFreeGameType.vl2/scripts/autoexec/SkiFreeSinglePlayer.cs new file mode 100644 index 00000000..8f27f6c6 --- /dev/null +++ b/public/base/@vl2/SkiFreeGameType.vl2/scripts/autoexec/SkiFreeSinglePlayer.cs @@ -0,0 +1,102 @@ +package SkiFreeSinglePlayerShit { + +// special loading for skifree maps +function TrainingGui::startTraining( %this ) { + %file = getField( TrainingMissionList.getValue(), 1 ); + + if( %file $= "SkiFree_Daily" + || %file $= "SkiFree_Randomizer" + || %file $= "SkiFreeZ_Championship_2021" + ) { + MessagePopup( "STARTING MISSION", "Initializing, please wait..." ); + Canvas.repaint(); + cancelServerQuery(); + + $ServerName = "SkiFree - Single Player"; + + // setting $HostGameType to single player here keeps it off of the master server listing + $HostGameType = "SinglePlayer"; + CreateServer( %file, "SkiFree" ); + + %playerPref = $pref::Player[$pref::Player::Current]; + %playerName = getField( %playerPref, 0 ); + %playerRaceGender = getField( %playerPref, 1 ); + %playerSkin = getField( %playerPref, 2 ); + %playerVoice = getField( %playerPref, 3 ); + %playerVoicePitch = getField( %playerPref, 4 ); + localConnect( %playerName, %playerRaceGender, %playerSkin, %playerVoice, %playerVoicePitch ); + } + else { + Parent::startTraining( %this ); + } +} + +// change the skifree challenge menu into the standard single player dialog +function escapeFromGame() +{ + if( $CurrentMission $= "SkiFree_Daily" + || $CurrentMission $= "SkiFree_Randomizer" + || $CurrentMission $= "SkiFreeZ_Championship_2021" + ) { + Canvas.pushDialog( SinglePlayerEscapeDlg ); + } + else { + Parent::escapeFromGame(); + } +} + +// why would you put the i18n object ON THE FUCKING CLIENT OBJECT +function SinglePlayerEscapeDlg::leaveGame( %this ) +{ + if( $CurrentMission $= "SkiFree_Daily" ) { + %line = "Thank you for playing"; + + %client = ClientGroup.getObject(0); + if( %client.bestTime != Game.trialDefaultTime ) { + %line = %line @ ".\n\nDaily: " @ Game.terrain; + %line = %line @ "\nTime: " @ %client.bestTime; + %line = %line @ "\n\nVersion " @ $SkiFreeVersionString; + + if( %client.bestHandicap !$= "" ) { + %line = %line @ "\n" @ %client.bestHandicap; + } + } + else { + %line = %line @ "\nin The Daily."; + } + + Canvas.popDialog( SinglePlayerEscapeDlg ); + MessageBoxYesNo( "LEAVE GAME", %line, "forceFinish();", "$timeScale = 1;" ); + } + else if( $CurrentMission $= "SkiFree_Randomizer" ) { + Canvas.popDialog( SinglePlayerEscapeDlg ); + MessageBoxYesNo( "LEAVE GAME", "Are you sure? You'll never see this terrain again.", "forceFinish();", "$timeScale = 1;" ); + } + else if( $CurrentMission $= "SkiFreeZ_Championship_2021" ) { + %line = "Thank you for playing"; + + %client = ClientGroup.getObject(0); + if( %client.bestTime != Game.trialDefaultTime ) { + %line = %line @ ".\n\n" @ Game.terrain; + %line = %line @ "\nTime: " @ %client.bestTime; + %line = %line @ "\n\nVersion " @ $SkiFreeVersionString; + + if( %client.bestHandicap !$= "" ) { + %line = %line @ "\n" @ %client.bestHandicap; + } + } + else { + %line = %line @ "\nin the Championship."; + } + + Canvas.popDialog( SinglePlayerEscapeDlg ); + MessageBoxYesNo( "LEAVE GAME", %line, "forceFinish();", "$timeScale = 1;" ); + } + else { + Parent::leaveGame(%this); + } +} + + +}; +activatePackage(SkiFreeSinglePlayerShit); \ No newline at end of file diff --git a/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFree.nav b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFree.nav new file mode 100644 index 00000000..52669ee7 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFree.nav differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFree.spn b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFree.spn new file mode 100644 index 00000000..21155460 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFree.spn differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFreeZ_Championship_2021.spn b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFreeZ_Championship_2021.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFreeZ_Championship_2021.spn differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFreeZ_Championship_2021.ter b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFreeZ_Championship_2021.ter new file mode 100644 index 00000000..df3da6b6 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/terrains/SkiFreeZ_Championship_2021.ter differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_2021.png b/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_2021.png new file mode 100644 index 00000000..ab7255e2 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_2021.png differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_daily.png b/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_daily.png new file mode 100644 index 00000000..d65fd005 Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_daily.png differ diff --git a/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_random.png b/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_random.png new file mode 100644 index 00000000..b89e550f Binary files /dev/null and b/public/base/@vl2/SkiFreeGameType.vl2/textures/gui/trn_skifree_random.png differ diff --git a/public/base/@vl2/Solace.vl2/missions/Solace.mis b/public/base/@vl2/Solace.vl2/missions/Solace.mis new file mode 100644 index 00000000..6a60a868 --- /dev/null +++ b/public/base/@vl2/Solace.vl2/missions/Solace.mis @@ -0,0 +1,2303 @@ +// DisplayName = Solace +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//OBJECTIVES +//::Destroy forcefield gen to reveal Center and South gens. +//::Destroy North, Center, and South gens to access switch. +// +//CREDITS +//::Map by powdahound. Design help by *Fnord*][V][ike. +//::Testing by other Fnord, wow!, and the people on GeeZers siege. +// +//Please rate this map at tribes2maps.com +// +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +// powdahound's forcefield script start ******************************** +// loads the regular forcefields on mission change. +package Solace +{ + function SiegeGame::gameOver( %game ) + { + exec("scripts/forceField.cs"); + echo("---------- powda's Forcefields Deactivated"); + Parent::gameOver(%game); + deactivatePackage(Solace); + } +}; +activatePackage(Solace); + +echo("---------- powda's Forcefields Activated"); +// Team Only Light blue forcefield. Attackers' base. +datablock ForceFieldBareData(powdaTeamFieldBlue) +{ + fadeMS = 1000; + baseTranslucency = 0.9; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.2 0.2 0.25"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Scout_winshield.png"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 0; + umapping = 1.0; + vmapping = 0.15; +}; +// Team Only green forcefield. Defenders' base. +datablock ForceFieldBareData(powdaTeamFieldGreen) +{ + fadeMS = 1000; + baseTranslucency = 0.9; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.1 0.25 0.1"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Scout_winshield.png"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 0; + umapping = 1.0; + vmapping = 0.15; +}; +// No Team blue forcefield. Defenders' base (center gen and switch). +datablock ForceFieldBareData(powdaNoTeamField) +{ + fadeMS = 1000; + baseTranslucency = 0.9; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + // it's RGB (red green blue) + color = "0.1 0.15 0.26"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Scout_winshield.png"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 0; + umapping = 1.0; + vmapping = 0.15; +}; + +// This code is by Zear. Thanks man! +// Forcefields that you want to have normal physical properties add custom = "1"; +function ForceFieldBareData::onAdd(%data, %obj) +{ + //echo("---------- Entering ForceFieldBareData::onAdd"); + Parent::onAdd(%data, %obj); + + //%velo = 1; + //%grav = 0.1; + //%appl = "0 0 0"; + + if(%obj.custom $= "1") + { + %velo = %obj.velocityMod; + %grav = %obj.gravityMod; + %appl = %obj.appliedForce; + } + else + return; // DONT add any physical zones unless the force field contains 'custom = "1";' + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); +} +// Mission info begins. + +//--- OBJECT WRITE BEGIN --- + +new SimGroup(MissionGroup) { + musicTrack = "Ice"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-840 -1024 1728 2032"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.100000 0.100000 0.100000 1.000000"; + ambient = "0.400000 0.400000 0.420000 1.000000"; + locked = "true"; + scale = "1 1 1"; + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Rimehold.ter"; + squareSize = "8"; + emptySquares = "298618 364410 364666 364922 169333 169345 169589 169601 169845 169857 171387 433785 434041 434297 434553 434809 435065 435321 435577 435833 436089"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Solace.nav"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0006"; + cloudSpeed2 = "0.0005"; + cloudSpeed3 = "0.0004"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.350000 0.000000"; + fogDistance = "150"; + fogColor = "0.300000 0.300000 0.350000 1.000000"; + fogVolume1 = "2000 800 900"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "1 3 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-456.182 -40.302 198.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-461.026 -36.7949 142.75"; + rotation = "0 0 -1 92.2464"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new StaticShape(wow) { + position = "-452.477 -21.8773 202.743"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "wow!"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + Trigger = "3283"; + team = "2"; + }; + new StaticShape(villains) { + position = "-475.058 -46.1592 202.743"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Villains"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + Trigger = "3285"; + notReady = "1"; + team = "2"; + inUse = "Down"; + }; + new StaticShape(fnord) { + position = "-469.433 -51.7276 202.743"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "*Fnord*"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + Trigger = "3287"; + notReady = "1"; + team = "2"; + inUse = "Down"; + }; + new StaticShape(llama) { + position = "-446.974 -27.3087 202.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Llama"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + lastDamagedBy = "3267"; + Trigger = "3289"; + notReady = "1"; + team = "2"; + damageTimeMS = "93066"; + inUse = "Down"; + lastDamagedByTeam = "1"; + }; + new ForceFieldBare(fftop) { + position = "-465.091 -42.0894 223.507"; + rotation = "1 0 0 0"; + scale = "7.28995 6.41639 0.1"; + dataBlock = "powdaTeamFieldBlue"; + Target = "37"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(ff1) { + position = "-448.014 -55.743 204.26"; + rotation = "0 0 -1 92.2464"; + scale = "0.1 24.539 6.07202"; + dataBlock = "powdaTeamFieldBlue"; + Target = "38"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(ff1) { + position = "-449.358 -17.0447 204.182"; + rotation = "0 0 -1 92.2464"; + scale = "0.1 24.539 6.07202"; + dataBlock = "powdaTeamFieldBlue"; + Target = "39"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(ff1) { + position = "-442.117 -23.782 204.204"; + rotation = "0 0 1 177.754"; + scale = "0.1 24.539 6.07202"; + dataBlock = "powdaTeamFieldBlue"; + Target = "40"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(ff1) { + position = "-480.846 -25.1756 204.241"; + rotation = "0 0 1 177.754"; + scale = "0.1 24.539 6.07202"; + dataBlock = "powdaTeamFieldBlue"; + Target = "41"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(ffwad) { + position = "-465.09 -32.8755 202.269"; + rotation = "0 0 -1 92.2464"; + scale = "7.40982 7.35791 0.1"; + dataBlock = "powdaTeamFieldBlue"; + Target = "42"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(ffwad) { + position = "-449.4 -48.0344 202.269"; + rotation = "0 0 -1 92.2464"; + scale = "7.40982 7.35791 0.1"; + dataBlock = "powdaTeamFieldBlue"; + Target = "43"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-551.382 -6.26493 176.66"; + rotation = "0 0 -1 98.5487"; + scale = "3 3 3"; + shapeName = "dorg18.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-535.996 -42.2937 175.812"; + rotation = "0 0 -1 80.7871"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-488.166 -104.281 190.225"; + rotation = "0.17287 0.558843 0.811055 41.7539"; + scale = "1 1 1"; + interiorFile = "srockb.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-499.36 -113.527 203.998"; + rotation = "0 0 1 34.9506"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-486.833 29.8012 173.905"; + rotation = "0 0 1 61.3065"; + scale = "2 2 2.2"; + shapeName = "dorg16.dts"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-439.242 33.4019 180.675"; + rotation = "0 0 1 122.04"; + scale = "2 2 2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-450.822 131.998 150.144"; + rotation = "0 0 -1 87.6626"; + scale = "3 3 3"; + shapeName = "dorg19.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-464.59 -40.0361 193.574"; + rotation = "0 0 -1 73.9116"; + scale = "2 2 2"; + shapeName = "stackable1s.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-462.848 -40.3601 193.631"; + rotation = "0 0 -1 61.3066"; + scale = "2 2 2"; + shapeName = "stackable1s.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-463.661 -40.1282 194.592"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable1s.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-461.703 -41.0543 193.854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-425.097 135.027 161.206"; + rotation = "0 0 -1 27.5021"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-389.448 -47.7713 197.343"; + rotation = "0 0 -1 37.2424"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-444.64 -106.64 228.887"; + rotation = "0 0 -1 62.4525"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new Turret(dturret1) { + position = "-389.129 -48.2194 205.07"; + rotation = "0 0 -1 37.2424"; + scale = "1 1 1"; + nameTag = "The \"keeping the llamas on defense\""; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "44"; + locked = "true"; + team = "2"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape(dsensor) { + position = "-443.509 -104.759 236.376"; + rotation = "0 0 1 21.7727"; + scale = "1 1 1"; + nameTag = "Map by powdahound -"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + team = "2"; + typeTag = "hi"; + }; + new Item() { + position = "-462.67 -37.9938 194.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "1"; + }; + new Turret(dturret2) { + position = "-461.342 -36.5623 201.796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "I\'m not a"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "46"; + locked = "true"; + team = "2"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-33.1135 223.885 116.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + powerCount = "3"; + + new InteriorInstance() { + position = "-32.721 239.479 113.609"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "xbase2.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape(south_gen) { + position = "-30.8012 139.87 83.625"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "South"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + locked = "true"; + lastDamagedBy = "3277"; + team = "1"; + damageTimeMS = "1946908"; + needsobjectivewaypoint = "1"; + lastDamagedByTeam = "2"; + }; + new ForceFieldBare(switchff) { + position = "-38.7544 288.074 95.5454"; + rotation = "1 0 0 0"; + scale = "12.289 0.833466 6.1777"; + dataBlock = "powdaNoTeamField"; + Target = "48"; + locked = "true"; + team = "1"; + custom = "1"; + }; + new StaticShape(Switch) { + position = "-32.7285 282.902 95.5771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + team = "1"; + needsobjectivewaypoint = "1"; + }; + new SimGroup(invs) { + powerCount = "3"; + + new StaticShape() { + position = "-36.4292 138.753 103.598"; + rotation = "0 0 1 229.365"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + lastDamagedBy = "3277"; + Trigger = "3327"; + notReady = "1"; + team = "1"; + damageTimeMS = "1933558"; + inUse = "Down"; + lastDamagedByTeam = "2"; + }; + new StaticShape(warehouse) { + position = "-38.1636 194.113 71.5861"; + rotation = "0 0 1 224.026"; + scale = "1 1 1"; + nameTag = "Warehouse"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + locked = "true"; + Trigger = "3330"; + notReady = "1"; + team = "1"; + inUse = "Down"; + }; + new StaticShape(basement) { + position = "-36.6778 138.556 67.5776"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + Trigger = "3332"; + notReady = "1"; + team = "1"; + inUse = "Down"; + }; + new StaticShape(centergen) { + position = "-15.3271 212.79 99.0885"; + rotation = "0 0 1 41.2531"; + scale = "1 1 1"; + nameTag = "Center Gen"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + locked = "true"; + lastDamagedBy = "3277"; + Trigger = "3334"; + notReady = "1"; + team = "1"; + damageTimeMS = "1972343"; + inUse = "Down"; + lastDamagedByTeam = "2"; + }; + new Item() { + position = "-34.4852 284.241 74.2488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-20.8858 251.501 71.5572"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "Warehouse"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + locked = "true"; + Trigger = "3337"; + team = "1"; + }; + new StaticShape() { + position = "-44.5449 251.524 71.5899"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Warehouse"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + locked = "true"; + Trigger = "3339"; + team = "1"; + }; + new StaticShape() { + position = "-11.1431 289.916 103.555"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "Switch Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + locked = "true"; + Trigger = "3341"; + notReady = "1"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-46.0916 242.918 87.5729"; + rotation = "0 0 1 225.172"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + locked = "true"; + Trigger = "3343"; + team = "1"; + }; + new StaticShape() { + position = "-19.1617 242.931 87.5717"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + locked = "true"; + Trigger = "3345"; + team = "1"; + }; + new StaticShape() { + position = "-49.9222 212.744 99.0974"; + rotation = "0 0 -1 42.972"; + scale = "1 1 1"; + nameTag = "Center Gen"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "59"; + locked = "true"; + Trigger = "3347"; + team = "1"; + damageTimeMS = "1975999"; + }; + new StaticShape() { + position = "-52.7738 316.685 115.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "60"; + locked = "true"; + lastDamagedBy = "3267"; + Trigger = "3349"; + team = "1"; + damageTimeMS = "698458"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-12.7171 316.551 115.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "61"; + locked = "true"; + Trigger = "3351"; + team = "1"; + }; + }; + new StaticShape(center_gen) { + position = "-32.7784 187.487 99.1002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "62"; + locked = "true"; + lastDamagedBy = "3277"; + team = "1"; + damageTimeMS = "1965363"; + needsobjectivewaypoint = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape(north_gen) { + position = "-32.7135 328.928 87.6036"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "63"; + locked = "true"; + lastDamagedBy = "3277"; + team = "1"; + damageTimeMS = "1991669"; + needsobjectivewaypoint = "1"; + lastDamagedByTeam = "2"; + }; + }; + new SimGroup(FORCEFIELD) { + powerCount = "1"; + + new ForceFieldBare(southgenff) { + position = "-32.8029 135.026 83.3889"; + rotation = "1 0 0 0"; + scale = "4.10613 0.895761 5.79841"; + dataBlock = "powdaTeamFieldGreen"; + Target = "64"; + locked = "true"; + team = "1"; + custom = "1"; + }; + new ForceFieldBare(centergenff) { + position = "-35.7257 179.404 98.7804"; + rotation = "1 0 0 0"; + scale = "6.00739 12.13 4.82113"; + dataBlock = "powdaNoTeamField"; + Target = "65"; + locked = "true"; + team = "1"; + custom = "1"; + }; + new StaticShape() { + position = "-32.6872 222.353 88.9144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "66"; + locked = "true"; + team = "1"; + damageTimeMS = "1064604"; + needsobjectivewaypoint = "1"; + repairedBy = "3267"; + }; + new InteriorInstance() { + position = "-32.6869 220.277 84.8799"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + }; + new SimGroup(crates) { + powerCount = "0"; + + new TSStatic() { + position = "-14.3385 306.338 87.4927"; + rotation = "0 0 1 68.1821"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-15.8677 304.381 88.7906"; + rotation = "-0.0833531 0.874761 -0.477332 66.8138"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.1831 297.928 89.8198"; + rotation = "0.504902 0.699813 0.505307 109.988"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-25.7139 139.377 103.575"; + rotation = "0 0 -1 68.1821"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-26.1714 142.355 103.562"; + rotation = "0 0 -1 20.6266"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-25.492 140.308 105.391"; + rotation = "0 0 1 144.958"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-26.3509 120.391 67.4797"; + rotation = "0 0 -1 73.3387"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-36.7673 132.965 67.5438"; + rotation = "0 0 -1 15.47"; + scale = "1.3 1.3 1.3"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-33.3722 181.669 72.2731"; + rotation = "0.982989 0.131215 -0.128513 89.7915"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-32.9089 182.16 71.6004"; + rotation = "0 1 0 12.0323"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-32.9735 181.518 71.5701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-27.9374 173.143 71.5554"; + rotation = "0 0 -1 75.0575"; + scale = "0.7 0.7 0.7"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-25.8389 198.71 71.5454"; + rotation = "0 0 1 77.9223"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-25.8052 198.243 72.3511"; + rotation = "0 1 0 36.6694"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-24.3523 160.769 83.4252"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-28.5953 162.512 83.5211"; + rotation = "0 0 -1 45.8368"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-26.3369 166.895 84.7496"; + rotation = "-0.0283007 0.935205 0.352975 37.8158"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-26.5045 161.955 85.9298"; + rotation = "0 0 -1 45.8368"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-24.1271 165.415 83.5394"; + rotation = "0 0 1 98.5484"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable3m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.5329 162.913 86"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.5658 160.666 86"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.3498 165.255 86.1241"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.3455 167.558 86.0059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.272 170.092 86.0338"; + rotation = "0.16208 0.973376 -0.16208 91.546"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.368 175.855 85.4775"; + rotation = "0.425824 0.798341 -0.425824 102.797"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.2898 172.696 85.889"; + rotation = "0.231258 0.945008 -0.231258 93.2393"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.1238 178.988 83.4424"; + rotation = "0 0 -1 53.2852"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-42.329 177.177 83.5046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-39.5922 177.435 86.4837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-39.7533 177.925 86.4928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-40.0717 177.325 86.3293"; + rotation = "0 1 0 50.4204"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.1902 195.216 83.478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.2525 196.412 83.4067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.336 198.708 83.3216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.2737 197.512 83.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.4506 195.811 84.4438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.5129 197.007 84.3725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.5341 198.107 84.3588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-30.2959 197.354 85.2424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-32.7287 196.022 84.4214"; + rotation = "0.0255875 0.885066 -0.464761 49.2011"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-34.0462 197.387 83.5352"; + rotation = "0 0 -1 25.2103"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-34.7389 175.848 83.3933"; + rotation = "0 0 1 49.8475"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-31.8231 181.603 83.3918"; + rotation = "0 0 -1 112.3"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-39.5377 183.865 83.4957"; + rotation = "0 0 -1 17.7619"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-26.0631 178.471 83.505"; + rotation = "0 0 -1 15.47"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-25.4872 184.95 83.5624"; + rotation = "0 0 1 45.8367"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-34.8555 284.828 70.6984"; + rotation = "0 0 1 6.30351"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-32.371 284.131 71.4435"; + rotation = "0 0 1 12.0336"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-34.3251 282.835 70.6984"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-34.4773 284.208 72.2373"; + rotation = "0 0 -1 85.9437"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "-30.1608 129.449 166.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-32.5584 119.087 158.008"; + rotation = "0 0 1 29.221"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-33.5457 120.51 159.04"; + rotation = "0 -1 0 53.2853"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-26.3627 132.156 157.995"; + rotation = "0 0 1 27.5022"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-27.4121 116.948 166.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-52.0135 303.238 87.5276"; + rotation = "0 0 1 49.8475"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-51.5314 289.312 102.996"; + rotation = "1 0 0 0"; + scale = "1 1 2.37952"; + shapeName = "stackable2l.dts"; + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "-52.9216 291.491 103.458"; + rotation = "1 0 0 0"; + scale = "1 1 1.51056"; + shapeName = "stackable2l.dts"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "-54.9151 289.601 104.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new Precipitation(Precipitation) { + position = "-94.2962 377.085 140.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "snow"; + dataBlock = "Snow"; + percentage = "1"; + color1 = "0.900000 0.900000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "3"; + maxNumDrops = "2000"; + maxRadius = "100"; + locked = "true"; + }; + }; + new SimGroup(Random) { + powerCount = "0"; + + new InteriorInstance() { + position = "-25.1125 112.372 127.336"; + rotation = "0.402326 0.822355 0.402326 101.135"; + scale = "1 1 0.39898"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-14.8267 121.271 125.071"; + rotation = "0.270662 0.923842 0.270662 94.5337"; + scale = "1 1 0.39898"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-13.5426 129.168 123.146"; + rotation = "-0.0100017 0.9999 -0.0100005 90.0056"; + scale = "1 0.599713 0.390692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-16.1494 145.654 120.892"; + rotation = "0.681098 0.268725 0.681096 149.917"; + scale = "1 0.382273 0.344864"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-46.472 109.805 130.226"; + rotation = "-0.328324 0.885668 -0.328322 96.9394"; + scale = "1 0.862388 0.513136"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-49.492 142.516 125.495"; + rotation = "0.384775 0.838986 0.384775 100.008"; + scale = "1 0.599713 0.368038"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-75.7987 188.555 123.707"; + rotation = "0.579116 -0.573805 0.579114 239.695"; + scale = "1 1.03541 0.39898"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-73.9257 168.971 125.485"; + rotation = "0.274931 0.921318 0.274931 94.6901"; + scale = "0.214582 0.141896 0.157044"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-12.1076 135.236 120.83"; + rotation = "-0.362877 0.858279 -0.362875 98.7224"; + scale = "1 0.671467 0.577501"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-122.268 42.0862 154.18"; + rotation = "0 0 -1 9.74123"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-414.071 -90.215 197.884"; + rotation = "0 0 -1 37.8153"; + scale = "2 2 1.5"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-406.584 -73.7741 196.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-37.3825 143.014 127.2"; + rotation = "1 0 0 0"; + scale = "3.32234 0.131196 0.283408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-18.5914 410.023 116.748"; + rotation = "0 0 1 20.6267"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-3.14807 393.324 123.903"; + rotation = "0 0 -1 99.6946"; + scale = "1.4 1.2 1.2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-147.97 351.42 112.506"; + rotation = "0 0 1 41.826"; + scale = "3 3 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-134.937 395.629 106.002"; + rotation = "0 0 -1 84.2249"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-207.979 394.605 124.032"; + rotation = "0 0 1 105.424"; + scale = "3 3 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "33.9622 315.988 138.736"; + rotation = "-0.123409 0.142134 0.982124 82.9574"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-90.1223 435.992 180.787"; + rotation = "-1 0 0 13.7513"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-59.2389 471.95 169.585"; + rotation = "1 0 0 0"; + scale = "3 3 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "76.364 517.191 162.532"; + rotation = "0 0 1 234.522"; + scale = "3 3 3"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "96.7435 460.373 193.405"; + rotation = "-1 0 0 12.0326"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "99.3018 318.871 185.166"; + rotation = "0 0 1 108.862"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "68.7165 410.647 134.613"; + rotation = "0 0 -1 84.7978"; + scale = "1.5 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "224.036 372.781 176.825"; + rotation = "0 0 -1 92.2462"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "181.587 414.297 122.337"; + rotation = "0 0 1 57.8689"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "23.349 578.631 164.293"; + rotation = "0 0 1 28.0751"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-184.684 462.056 152.35"; + rotation = "1 0 0 0"; + scale = "3 3 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-218.517 257.014 137.616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-125.187 295.64 141.391"; + rotation = "0 0 1 68.755"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-132.255 271.41 144.381"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-247.683 298.635 137.594"; + rotation = "0 0 1 67.0361"; + scale = "3 3 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-298.726 324.028 155.826"; + rotation = "0 0 1 63.5984"; + scale = "1 0.99529 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-343.801 405.802 147.881"; + rotation = "0 0 1 96.2569"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-354.814 -237.329 176.741"; + rotation = "0 0 -1 13.7512"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-146.915 204.156 129.434"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-256.784 178.337 144.022"; + rotation = "0 0 1 55.577"; + scale = "3 3 2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-8.76076 214.847 115.535"; + rotation = "0 0 1 18.3348"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "72.9951 210.913 112.788"; + rotation = "0 0 1 84.2248"; + scale = "3 3 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "166.044 170.91 156.004"; + rotation = "0 0 1 59.0147"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "111.805 152.941 119.1"; + rotation = "0 0 -1 32.6587"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-143.428 129.19 112.006"; + rotation = "0 0 1 59.5871"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-164.351 133.233 118.941"; + rotation = "0 0 1 56.15"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-233.595 37.4318 134.822"; + rotation = "0 0 1 60.7336"; + scale = "3 3 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-307.124 -17.2259 150.904"; + rotation = "0 0 1 19.4807"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-218.134 93.9951 119.318"; + rotation = "0 0 -1 22.3455"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-101.219 -90.1064 177.055"; + rotation = "1 0 0 0"; + scale = "3 3 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-52.1603 36.2594 141.661"; + rotation = "0 0 1 46.4097"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "67.182 93.2505 154.52"; + rotation = "-0.16223 0.0763751 0.983793 118.852"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "54.3355 31.3064 152.548"; + rotation = "0 0 -1 49.2746"; + scale = "0.996571 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "49.1634 -105.736 141.611"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-337.796 105.498 149.993"; + rotation = "0 0 1 57.8689"; + scale = "3 3 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-357.286 25.2627 170.137"; + rotation = "0.152262 -0.16509 -0.974455 86.8499"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-195.753 -60.4427 132.082"; + rotation = "0 0 1 55.0041"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-321.255 -124.64 186.814"; + rotation = "0.140843 -0.147948 0.978915 94.038"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-629.328 -145.487 171.721"; + rotation = "0 0 1 37.8154"; + scale = "3 3 3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-378.177 286.669 129.804"; + rotation = "0 0 -1 67.6091"; + scale = "3 3 3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-318.156 234.463 160.827"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-513.809 237.891 162.453"; + rotation = "0 0 1 50.4204"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-504.072 324.63 161.465"; + rotation = "0 0 -1 40.6801"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-502.686 339.195 159.652"; + rotation = "0 0 -1 44.6908"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-614.605 121.365 134.416"; + rotation = "0 0 -1 75.6305"; + scale = "3 3 3"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-694.668 47.2237 135.446"; + rotation = "0 0 1 73.9116"; + scale = "3 3 3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-447.932 436.574 166.789"; + rotation = "0 0 -1 41.826"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-350.575 540.339 146.774"; + rotation = "-1 0 0 20.0537"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-283.844 464.481 181.055"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new Item() { + position = "-32.7227 243.438 104.25"; + rotation = "0 0 1 180.481"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "-423.18 -17.049 191.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-391.716 -41.9136 201.356"; + rotation = "0 0 1 3.43793"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-394.707 -43.6203 200.846"; + rotation = "0 0 1 1.72006"; + scale = "1.6 1.6 1.7"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-424.102 -17.7507 192.011"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg24.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60.7337 146.491 128.433"; + rotation = "1 0 0 0"; + scale = "2.1 2 2.5"; + shapeName = "sorg24.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-111.875 31.0939 162.891"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg23.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-113.995 30.8162 162.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-59.1013 367.908 107.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60.4126 365.193 107.64"; + rotation = "0 0 1 71.0468"; + scale = "2 2 2"; + shapeName = "sorg24.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-87.8586 439.992 183.082"; + rotation = "0 0 1 43.5451"; + scale = "3 3 3"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-203.002 96.9886 120.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-203.121 99.7562 119.614"; + rotation = "0 0 1 25.2103"; + scale = "1.5 1.6 1.4"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-213.265 370.717 134.158"; + rotation = "0 0 -1 20.6266"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-215.099 372.773 134.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "0.474697 389.551 126.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + locked = "true"; + }; + new TSStatic() { + position = "2.0253 389.053 125.936"; + rotation = "0 0 1 44.6908"; + scale = "2 2 2"; + shapeName = "sorg23.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60.4839 148.678 128.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-480.62 -230.183 199.224"; + rotation = "0 0 1 16.0432"; + scale = "1 1 1.16226"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-543.447 210.658 173.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(obs1) { + position = "-155.421 33.8202 202.339"; + rotation = "0.459562 -0.202477 0.864758 53.997"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + }; + new SimGroup(audio) { + powerCount = "0"; + + new AudioEmitter(YetiHowl) { + position = "-10.9481 -42.8411 112.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1280"; + maxDistance = "1280.01"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "5000"; + minLoopGap = "100000"; + maxLoopGap = "150000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Coldwind) { + position = "-10.9481 -42.8411 121.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1280"; + maxDistance = "1280.01"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(snowfall2) { + position = "-80.8059 179.941 149.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "5000"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(snowfall3) { + position = "15.2322 178.941 138.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "5000"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(snowfall1) { + position = "-30.4941 127.797 155.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "5000"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(icefall) { + position = "59.0321 407.402 157.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icefall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "110"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "5000"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(icecrack) { + position = "-218.688 258.24 152.02"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "35"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(icecrack) { + position = "-496.935 -91.8627 204.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "35"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(easter) { + powerCount = "1"; + + new TSStatic() { + position = "-480.632 -229.744 190.71"; + rotation = "0 0 1 24.0643"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-480.632 -229.746 193.921"; + rotation = "0 0 1 24.0643"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + locked = "true"; + }; + new StaticShape() { + position = "-480.723 -229.4 197.389"; + rotation = "0 0 -1 3.44066"; + scale = "0.429753 0.255569 0.206677"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "67"; + locked = "true"; + }; + new AudioEmitter(growl) { + position = "-480.91 -230.203 192.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/growl3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "15"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new ParticleEmissionDummy(hah) { + position = "-480.719 -229.83 198.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "MortarSmokeEmitter"; + velocity = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-480.975 -229.251 194.04"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + shapeName = "statue_lmale.dts"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/Solace.vl2/terrains/Solace.spn b/public/base/@vl2/Solace.vl2/terrains/Solace.spn new file mode 100644 index 00000000..f4e1e7cd Binary files /dev/null and b/public/base/@vl2/Solace.vl2/terrains/Solace.spn differ diff --git a/public/base/@vl2/Solace.vl2/terrains/heightfield/Solace_heightfield.cs b/public/base/@vl2/Solace.vl2/terrains/heightfield/Solace_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/Solace.vl2/terrains/heightfield/Solace_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/Solace.vl2/textures/gui/load_solace.png b/public/base/@vl2/Solace.vl2/textures/gui/load_solace.png new file mode 100644 index 00000000..80796697 Binary files /dev/null and b/public/base/@vl2/Solace.vl2/textures/gui/load_solace.png differ diff --git a/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.hmale.png b/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.hmale.png new file mode 100644 index 00000000..83fb1171 Binary files /dev/null and b/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.hmale.png differ diff --git a/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.lmale.png b/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.lmale.png new file mode 100644 index 00000000..223ed891 Binary files /dev/null and b/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.lmale.png differ diff --git a/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.mmale.png b/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.mmale.png new file mode 100644 index 00000000..2fd53489 Binary files /dev/null and b/public/base/@vl2/StormJason.vl2/textures/skins/StormJason.mmale.png differ diff --git a/public/base/@vl2/T2csri.vl2/loginScreens.cs b/public/base/@vl2/T2csri.vl2/loginScreens.cs new file mode 100644 index 00000000..96bcbdbd --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/loginScreens.cs @@ -0,0 +1,1139 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Krash & Electricutioner/Thyth +// Copyright 2008-2009 by Electricutioner/Thyth, and the Tribes 2 Community System Reengineering Intitiative + +// Login UIs and Account processing jumble. + +$LastLoginKey = $pref::LastLoginKey; +exec("scripts/commonDialogs.cs"); +exec("gui/MessageBoxDlg.gui"); +exec("t2csri/glue.cs"); + + // Begin UI replacements: + new GuiBitmapCtrl(TN_logo) + { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "top"; + bitmap = "TN_logo"; + position = "0 20"; + extent = "640 105"; + visible = true; + minExtent = "8 8"; + helpTag = "0"; + }; + new GuiControlProfile(noMoreModal) + { + modal = false; + }; + new GuiControlProfile (ShellTextCenterProfile) + { + fontType = "Univers Condensed"; + fontSize = 18; + fontColor = "66 229 244"; + justify = "center"; + autoSizeWidth = false; + autoSizeHeight = true; + Modal = false; + }; + new GuiControlProfile (ShellTextLeftProfile) + { + fontType = "Univers Condensed"; + fontSize = 18; + fontColor = "66 229 244"; + justify = "left"; + autoSizeWidth = false; + autoSizeHeight = true; + Modal = false; + }; + + new GuiControl(CreateAccountDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + open = "0"; + + new ShellPaneCtrl(TitleBar) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "70 36"; + extent = "500 408"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "Create Account - Step 1 of 3"; + noTitleBar = "0"; + + + new GuiControlProfile ("BrowserH1Profile") + { + fontType = "Univers Condensed Bold"; + fontSize = 28; + fontColor = "66 219 234"; + autoSizeWidth = false; + autoSizeHeight = true; + bitmapBase = "gui/shll"; + }; + new GuiBitmapCtrl(tn_EntropyBox) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "37 84"; + extent = "440 188"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMouseEventCtrl(tn_EntropyEvent) + { + profile = "DefaultProfile"; + position = "0 0"; + extent = "440 188"; + vertSizing = "top"; + horizSizing = "left"; + visible = "true"; + }; + }; + + new GuiMLTextCtrl(AccountInstructions) { + profile = "BrowserH1Profile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 34"; + extent = "390 14"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new GuiMLTextCtrl(AccountText) { + profile = "ShellMessageTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "26 74"; + extent = "445 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "-2"; + }; + new GuiTextCtrl(CN_keyName) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 128"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Key Details:"; + }; + new GuiMLTextCtrl(CA_keyName) { + profile = "ShellTextLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "141 128"; + extent = "200 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = ""; + }; + new GuiTextCtrl(CN_userName) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 174"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Account Name:"; + }; + new GuiTextCtrl(CN_chooPass) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 220"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Password:"; + }; + new GuiTextCtrl(CN_confPass) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 250"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Confirm Password:"; + }; + new ShellTextEditCtrl(CA_userName) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 166"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountLoginName"; + command = "CA_userName.validateWarriorName();"; + IRCName = true; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CA_chooPass) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 212"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountPassword"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CA_confPass) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 242"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountConfirmPassword"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellBitmapButton(CreateAccountPrevBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "72 351"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountDlg.nextBtn(1);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new GuiTextCtrl(CN_strength) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 288"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Strength:"; + maxLength = "255"; + }; + new ShellPopupMenu(CA_strength) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 280"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + text = "RSA-512"; + helpTag = "0"; + glowOffset = "9 9"; + maxLength = "255"; + longTextBuffer = "0"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellBitmapButton(CreateAccountGenBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "250 280"; + extent = "189 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountDlg.genBtn();"; + helpTag = "1"; + text = "GENERATE YOUR KEY"; + simpleStyle = "0"; + }; + new GuiMLTextCtrl(HintText) { + profile = "ShellTextCenterProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "125 255"; + extent = "445 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "1"; + lineSpacing = "-2"; + }; + new GuiTextCtrl(HintText2) { + profile = "ShellTextCenterProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "0 315"; + extent = "445 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Click the above button to proceed."; + maxLength = "255"; + }; + new ShellBitmapButton(CreateAccountNextBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "282 351"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountDlg.nextBtn();"; + helpTag = "0"; + text = "NEXT STEP"; + simpleStyle = "0"; + }; + }; + }; + + // Modified Login dlg + new GuiControl(LoginDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "72 143"; + extent = "495 194"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "LOGIN"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiTextCtrl(accnTxt) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 77"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Account:"; + maxLength = "255"; + }; + new ShellPopupMenu(LoginEditMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 69"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + text = "Select Account"; + helpTag = "0"; + glowOffset = "9 9"; + maxLength = "255"; + longTextBuffer = "0"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellTextEditCtrl(LoginEditBox) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 99"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$LoginName"; + altCommand = "newLoginProcess();"; + helpTag = "0"; + maxLength = "16"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 29"; + extent = "420 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Use the form below to log in with an existing key, retrieve a login key, or create"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 45"; + extent = "420 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "a new account on the server."; + maxLength = "255"; + }; + new GuiTextCtrl(passTxt) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 107"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Password:"; + maxLength = "255"; + }; + new GuiLoginPasswordCtrl(LoginPasswordBox) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 99"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$LoginPassword"; + altCommand = "newLoginProcess();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellToggleButton(rmbrPass) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 134"; + extent = "167 27"; + minExtent = "26 27"; + visible = "1"; + variable = "$pref::RememberPassword"; + helpTag = "0"; + text = "REMEMBER PASSWORD"; + maxLength = "255"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 69"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "newLoginProcess();"; + helpTag = "0"; + text = "LOG IN"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 99"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "newCreateAccount();"; + helpTag = "0"; + text = "CREATE NEW ACCOUNT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 129"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "quit();"; + accelerator = "escape"; + helpTag = "0"; + text = "QUIT"; + simpleStyle = "0"; + }; + }; + }; + + // Add these to the StartupGui to make sure everything gets cleaned up. + StartupGui.add(TN_logo); + StartupGui.add(ShellTextCenterProfile); + StartupGui.add(ShellTextLeftProfile); + StartupGui.add(noMoreModal); + // End UI replacements + + + +// Fill the drop-down list +function CA_strength::populate(%this) { + %this.add( "RSA-512", 0 ); + %this.add( "RSA-768", 1 ); + %this.add( "RSA-1024", 2 ); + %this.setSelected( 0 ); + %this.onSelect( 0, "RSA-512" ); +} +function CA_strength::onSelect( %this, %id, %text ) { + $keyStrength = %text; + %this.setText( %text ); + if (CreateAccountDlg.page != 2) return; + switch (%id) { + case 0: + %time = 2; + case 1: + %time = 3; + case 2: + %time = 7; + } + HintText2.setText("Your key could take up to "@%time@" minutes to create."); +} +function LoginEditMenu::populate(%this) { + %this.add( "Retrieve Account", 0 ); + + // LoginEditMenu.add( %name, %id ); + // Make sure to index keys to the number in the menu. 0 is used for key download. + // Use LoginEditMenu.size() for current length. + // + // When a new key is downloaded through t2csri_downloadAccount, try to have it use + // the setSelected/onSelect functions after adding to make the new field current and default + + // pull the list of accounts from the Ruby certificate store + rubyEval("tsEval '$accountList = \"' + certstore_listAccounts + '\";'"); + + %count = 0; + %accounts = getFieldCount($accountList); + for (%i = 0; %i < %accounts; %i++) + { + %this.add(getField($accountList, %i), %count++); + } + + if (%count < 1) %this.setActive(0); + %id = %this.findText( $LastLoginKey ); + if ( %id == -1 ) + %id = 0; + %text = %this.getTextById(%id); + %this.setSelected( %id ); + %this.onSelect( %id, %text ); + + // populate the game's alias selections for post-login + for (%i = 0; %i < %accounts; %i++) + { + %present = 0; + for (%j = 0; %j < $pref::Player::Count; %j++) + { + if (getField($pref::Player[%j], 0) $= getField($accountList, %i)) + %present = 1; + } + if (!%present) + { + $pref::Player[$pref::Player::Count] = getField($accountList, %i) @ "\tHuman Male\tbeagle\tMale1"; + $pref::Player::Count++; + } + } +} + +// Make sure everything is in the right place when an option is selected +function LoginEditMenu::onSelect( %this, %id, %text ) { + if (%id == 0) { + LoginPasswordBox.setPosition(118, 129); + passTxt.setPosition(37, 137); + accnTxt.setPosition(37, 107); + rmbrPass.setVisible(0); + LoginEditBox.setVisible(1); + } else { + LoginPasswordBox.setPosition(118, 99); + passTxt.setPosition(37, 107); + accnTxt.setPosition(37, 77); + rmbrPass.setVisible(1); + LoginEditBox.setVisible(0); + } + $LastLoginKey = %text; + %this.setText( %text ); +} +LoginEditMenu.populate(); +// Track the open state, and disable the next button unless ready to go. +function CreateAccountDlg::onWake( %this ) +{ + %this.open = true; + tn_EntropyBox.setBitmap("TN_entropy"); + CreateAccountDlg.bringToFront(tn_EntropyEvent); + // Check online status. + Authentication_checkAvail(); + // If it's online, set %this.online to true. + t2csri_checkOnlineStatusLoop(%this); +} +// this interfaces to the authentication interface script +function t2csri_checkOnlineStatusLoop(%this) +{ + // if no transaction to the authentication server is active... + if ($Authentication::Status::ActiveMode == 0) + { + %this.online = $Authentication::Status::Available; + CreateAccountNextBtn.setActive( false ); + updateNextButton(%this); + } + else + { + // otherwise, check again, as the transaction may still be in progress + schedule(128, 0, t2csri_checkOnlineStatusLoop, %this); + } +} + +function CreateAccountDlg::onSleep( %this ) +{ + %this.open = false; +} + +// All the account creation page junk is sent through here. +function CreateAccountDlg::nextBtn(%this,%reverse) { + CreateAccountNextBtn.setActive( false ); + %this.showFields[1] = false; + %this.showFields[2] = false; + %this.showFields[3] = false; + if(%reverse) %this.page--; + else %this.page++; + + %this.showFields[%this.page] = true; + switch (%this.page) { + case 1: + TitleBar.setText("Create Account - Step 1 of 3"); + CreateAccountPrevBtn.setValue(" CANCEL"); + CreateAccountNextBtn.setValue("NEXT STEP"); + %hintText = "Please wait as the server status is checked."; + HintText2.setText(%hintText); + %headtext = "Step One: Account Server Status"; + %body = "In order to create your account, the account server must be connectable. If it's offline, you won't be able to pass this step. \n\nIn step two, you will generate your unique key to ensure your account cannot be stolen.\n\nIn step three, you will choose your login information."; + AccountInstructions.setText(%headtext); + AccountText.setText(%body); + HintText.setVisible(1); + HintText.setPosition(125, 255); + HintText.setText(""); + + case 2: + TitleBar.setText("Create Account - Step 2 of 3"); + %headtext = "Step Two: "; + %body = ""; + AccountInstructions.setText(%headtext); + AccountText.setText(%body); + HintText.setVisible(1); + HintText.setPosition(120, 30); + HintText.setEntropyText(); + %keyText = $keyCreated ? "KEY GENERATED" : "GENERATE YOUR KEY"; + %active = (tn_EntropyEvent.finished && !$keyCreated) ? true : false; + if (!%active) HintText2.setText("Click the NEXT STEP button to proceed."); + CreateAccountGenBtn.setValue(%keyText); + CA_strength.setActive(%active); + CreateAccountGenBtn.setActive(%active); + CreateAccountPrevBtn.setValue("BACK"); + CreateAccountNextBtn.setValue("NEXT STEP"); + if (!CA_strength.size()) CA_strength.populate(); + logEntropy(); + + case 3: + TitleBar.setText("Create Account - Step 3 of 3"); + %headtext = "Step Three: Choose Your Account Details"; + %body = "Pick out your account details and confirm they are correct before registering your account. Don't forget your password."; + CA_keyName.setText("Strength: "@$keyStrength); + AccountInstructions.setText(%headtext); + AccountText.setText(%body); + HintText.setVisible(0); + CreateAccountGenBtn.setVisible(0); + CreateAccountPrevBtn.setValue("BACK"); + CreateAccountNextBtn.setValue("FINISH"); + HintText.setVisible(1); + HintText.setPosition(100, 290); + HintText.setText(""); + HintText2.setText("Fill out the above form to proceed."); + + + case 4: + // TODO: + // Send information to registration process: + // $CreateAccountLoginName + // $CreateAccountPassword + + LoginMessagePopup("PLEASE WAIT", "Registering Account with the Authentication Server..."); + t2csri_requestAccountSignature(%this); + + + default: + Canvas.popDialog( CreateAccountDlg ); + Canvas.pushDialog( LoginDlg ); + + } + CreateAccountGenBtn.setVisible(%this.showFields[2]); + CN_strength.setVisible(%this.showFields[2]); + CA_strength.setVisible(%this.showFields[2]); + tn_EntropyBox.setVisible(%this.showFields[2]); + CN_keyName.setVisible(%this.showFields[3]); + CA_keyName.setVisible(%this.showFields[3]); + CN_userName.setVisible(%this.showFields[3]); + CA_userName.setVisible(%this.showFields[3]); + CN_chooPass.setVisible(%this.showFields[3]); + CA_chooPass.setVisible(%this.showFields[3]); + CN_confPass.setVisible(%this.showFields[3]); + CA_confPass.setVisible(%this.showFields[3]); +} + +// ready to send the account to the server for processing, prepare it... +function t2csri_requestAccountSignature(%this) +{ + // pull the keys from the Ruby interpreter + rubyEval("tsEval '$e=\"' + $accountKey.e.to_s(16) + '\";'"); + rubyEval("tsEval '$n=\"' + $accountKey.n.to_s(16) + '\";'"); + rubyEval("tsEval '$d=\"' + $accountKey.d.to_s(16) + '\";'"); + $encryptedExponent = t2csri_encryptAccountKey($d, $CreateAccountPassword); + %authSHA = sha1sum("3.14159265" @ trim(strlwr($CreateAccountLoginName)) @ $CreateAccountPassword); + %reqsig = $CreateAccountLoginName @ "\t" @ $e @ "\t" @ $n @ "\t" @ $encryptedExponent @ "\t" @ %authSHA; + + // delete the variables + $e = ""; + $d = ""; + $n = ""; + + // (RC2) perform a signature operation on the fields from the name to the end + %requestSHA1 = sha1sum(%reqsig); + rubyEval("tsEval '$requestRSA=\"' + $accountKey.decrypt('" @ %requestSHA1 @ "'.to_i(16)).to_s(16) + '\";'"); + %reqsig = %reqsig @ "\t" @ $requestRSA; + + //echo("Request: " @ %reqsig); + $Authentication::Status::LastCert = ""; + Authentication_registerAccount(%reqsig); + schedule(512, 0, t2csri_completeAccountRequest, %this); +} + +function t2csri_completeAccountRequest(%this) +{ + // if no transaction to the authentication server is active... + if ($Authentication::Status::ActiveMode == 0) + { + popLoginMessage(); + if (strLen($Authentication::Status::LastCert) > 0) + { + // success + LoginMessagePopup("SUCCESS", "Account generated successfully. Storing account data to disk and logging in..."); + schedule(3000, 0, popLoginMessage); + schedule(3000, 0, LoginDone); + + // store the account data to file + %username = getField($Authentication::Status::LastCert, 0); + rubyEval("certstore_addAccount('" @ $Authentication::Status::LastCert @ "','" @ %username @ "\t" @ $encryptedExponent @ "')"); + // protect the key... now that we have succeeded + $LoginCertificate = $Authentication::Status::LastCert; + rubyEval("$accountKey.protect"); + } + else + { + // handle the error + if ($Authentication::Status::Signature $= "Server chose to reject account generation request.") + { + LoginMessagePopup("ERROR", "The Authentication Server understood your request, but chose not to fulfill it."); + } + else if ($Authentication::Status::Signature $= "Server rejected account name.") + { + LoginMessagePopup("ERROR", "The Authentication Server rejected your requested account name."); + } + else if ($Authentication::Status::Signature $= "Corrupt signature request rejected.") + { + LoginMessagePopup("ERROR", "The server detected a problem in your request and could not create an account."); + } + else if ($Authentication::Status::Signature $= "Unknown signature status code returned from server.") + { + LoginMessagePopup("ERROR", "The Authentication Server timed out while fulfilling your request."); + } + // go back to the account page + %this.nextBtn(1); + // schedule a "pop" of the error box we just put up + schedule(7000, 0, popLoginMessage); + } + } + else + { + // otherwise, check again, as the transaction may still be in progress + schedule(128, 0, t2csri_completeAccountRequest, %this); + } +} + +function HintText::setEntropyText( %this ) +{ + if (tn_EntropyEvent.finished) + { + %lines = "1. Select your key strength.\n2. Click the generate button."; + CreateAccountGenBtn.setActive(1); + CA_strength.setActive(1); + + } + else + { + if(tn_EntropyEvent.time $= "") + tn_EntropyEvent.time = 80; + %lines = (tn_EntropyEvent.hasMouse ? "":"") @ "1. Move your mouse inside the big box."; + %lines = %lines NL "2. Wiggle it around for "@mCeil(tn_EntropyEvent.time / 8)@" more seconds."; + } + HintText.setText(%lines); +} +function tn_EntropyEvent::onMouseEnter(%this, %mod, %pos, %count) +{ + if (tn_EntropyEvent.finished) + return; + tn_EntropyEvent.hasMouse = true; + HintText.setEntropyText(); +} +function tn_EntropyEvent::onMouseLeave(%this, %mod, %pos, %count) +{ + if (tn_EntropyEvent.finished) + return; + tn_EntropyEvent.hasMouse = false; + HintText.setEntropyText(); +} +function logEntropy() +{ + if (tn_EntropyEvent.finished) + return; + + // Ruby Invocation Happens Here... + // first call of this function... build the Mersenne Twister RNG in Ruby + if (!$rubyRNGCreated) + { + $rubyRNGCreated = 1; + rubyEval("$twister = MersenneTwister.new"); + rubyEval("$entropy = 0"); + } + + if ( CreateAccountDlg.page != 2 || !CreateAccountDlg.open ) + return; + if ( tn_EntropyEvent.lastPos $= canvas.getCursorPos() ) + { + schedule(128, 0, logEntropy); + return; + } + if ( tn_EntropyEvent.hasMouse ) + { + tn_EntropyEvent.lastPos = canvas.getCursorPos(); + tn_EntropyEvent.time--; + if (strstr( tn_EntropyEvent.time, 0) != -1) + { + %pos = canvas.getCursorPos(); + %bit = new GuiBitmapCtrl() { + profile = "noMoreModal"; + bitmap = "texticons/bullet_2"; + extent = "19 18"; + visible = true; + opacity = "0.25"; + minExtent = "19 18"; + helpTag = "0"; + wrap = true; + }; + tn_EntropyBox.add(%bit); + %bit.setPosition(getWord(%pos,0)-365,getWord(%pos,1)-320); + } + %entropy = strreplace(canvas.getCursorPos()," ",""); + // Ruby Invocation Happens Here... + // add the current screen coordinate to the entropy pool + rubyEval("$entropy = $entropy + " @ %entropy); + if ( tn_EntropyEvent.time == 0 ) + { + rubyEval("$entropy = $entropy + " @ getRealTime()); + //rubyEval("puts $entropy % 4294967296"); + rubyEval("$twister.seedgen($entropy % 4294967296)"); + tn_EntropyEvent.finished = true; + beginEntropyWait(); + } + else + schedule(128,0, logEntropy); + HintText.setEntropyText(); + } + else + schedule(128,0, logEntropy); +} + +// churn the RNG state for additional entropy +function beginEntropyWait() +{ + if (CreateAccountDlg.page != 2 || $keyCreated) + return; + if (isEventPending($entropyWait)) + { + cancel($entropyWait); + } + $entropyWait = schedule(256, 0, beginEntropyWait); + + rubyEval("$twister.randomnumber(160)"); +} + +// Warrior name check. Useful to keep entry valid. +function CA_userName::validateWarriorName( %this ) +{ + %name = %this.getValue(); + %test = strToPlayerName( %name ); + if ( %name !$= %test ) + %this.setText( %test ); +} + +// If the options aren't in, disable the button. +function updateNextButton() +{ + if ( !CreateAccountDlg.open ) + return; + + %done = true; + switch (CreateAccountDlg.page) + { + case 1: + if (!$RubyEnabled) + { + HintText.setText("Your game is not running the patched executable."); + HintText2.setText("Close the game and verify it is patched."); + %done = false; + } + else if ($AuthServer::Address $= "") + { + HintText.setText("The server address has not yet been retrieved."); + HintText2.setText("Close this page and try again in a moment."); + authConnect_findAuthServer(); + %done = false; + } + else if (!CreateAccountDlg.online) + { + if (CreateAccountDlg.online !$= "") + { + HintText.setText("The account server is OFFLINE or unreachable."); + HintText2.setText("Check your network connection and try again."); + } + %done = false; + } + else + { + HintText.setText("The account server is ONLINE and connectable."); + HintText2.setText("Click the NEXT STEP button to proceed."); + } + + case 2: + if (!$keyCreated) %done = false; + + case 3: + if (strlen($CreateAccountLoginName) < 4) + { + %done = false; + if (strlen($CreateAccountLoginName) > 0) + HintText.setText("Error: Your username must be at least 4 characters long."); + else + HintText.setText(""); + } + else if (strlen($CreateAccountPassword) < 6) + { + %done = false; + if (strlen($CreateAccountPassword) > 0) + HintText.setText("Error: Your password must be at least 6 characters long."); + else + HintText.setText(""); + } + else if (strcmp($CreateAccountPassword, $CreateAccountConfirmPassword)) + { + %done = false; + if (strlen($CreateAccountConfirmPassword) > 0) + HintText.setText("Error: Your password confirmation doesn't match."); + else + HintText.setText(""); + } + else + { + if ($CreateAccountLastEnteredUsername !$= $CreateAccountLoginName) + { + // client has typed in a new name... test suitability with the auth server + $CreateAccountLastEnteredUsername = $CreateAccountLoginName; + $Authentication::Status::Name = ""; + $NameSuitabilityMode = 1; + Authentication_checkName($CreateAccountLoginName); + t2csri_testNameSuitability(); + } + if ($NameSuitabilityMode) + { + HintText.setText(""); + %done = false; + } + if ($Authentication::Status::Name !$= "Name is available and acceptable.") + { + %status = ($Authentication::Status::Name $= "") ? "Checking name for availability..." : "Error:" SPC $Authentication::Status::Name; + HintText.setText(%status); + %done = false; + } + } + + } + CreateAccountNextBtn.setActive( %done ); + + schedule( 1000, 0, updateNextButton ); +} + +function t2csri_testNameSuitability() +{ + // if no transaction to the authentication server is active... + if ($Authentication::Status::ActiveMode == 0) + { + if ($Authentication::Status::Name !$= "Name is available and acceptable.") + %status = "Error: "; + else + %status = "Success: "; + HintText.setText(%status @ $Authentication::Status::Name); + $NameSuitabilityMode = 0; + } + else + { + // otherwise, check again, as the transaction may still be in progress + schedule(128, 0, t2csri_testNameSuitability); + } +} + +function CreateAccountDlg::genBtn(%this) +{ + LoginMessagePopup( "Creating your key...", "This can take a few minutes.\nDO NOT EXIT THE GAME\n" ); + schedule( 2000, 0, popLoginMessage ); + // Ruby Invocation Happens Here... + // Pass this through to the key generation function. + // $keyStrength + $keyStrength = getSubStr($keyStrength, 4, strlen($keyStrength)); + rubyEval("$accountKey = RSAKey.new"); + rubyEval("$accountKey.twister = $twister"); + cancel($entropyWait); + schedule(1024, 0, rubyEval, "$accountKey.generate(" @ $keyStrength @ ")"); + + // When done, have the following set: + $keyCreated = true; + CA_strength.setActive(!$keyCreated); + CreateAccountGenBtn.setActive(!$keyCreated); + CreateAccountGenBtn.setValue("KEY GENERATED"); + HintText2.setText("Click the NEXT STEP button to proceed."); + CreateAccountNextBtn.setActive(1); +} +function popLoginMessage() +{ + Canvas.popDialog( LoginMessagePopupDlg ); +} +function newCreateAccount() +{ + $CreateAccountLoginName = ""; + $CreateAccountPassword = ""; + $CreateAccountConfirmPassword = ""; + Canvas.pushDialog( CreateAccountDlg ); + Canvas.popDialog( LoginDlg ); + CreateAccountDlg.page = 0; + CreateAccountDlg.nextBtn(); +} +function newLoginProcess() +{ + if (!$RubyEnabled) + { + MessageBoxOK("LOGIN ERROR","Your game is not running the patched game executable.\n\nClose the game and verify the patch was run successfully."); + return; + } + if (LoginEditMenu.getSelected() == 0) + { + if ( strlen( $LoginName ) < 3 ) + return; + else + { + if ( LoginEditMenu.findText( $LoginName ) == -1 ) + MessageBoxYesNo("Connect Account","That account isn't stored locally, would you like to retrieve it from the account server?","t2csri_downloadAccount($LoginName, $LoginPassword);",""); + else + { + LoginMessagePopup( "PLEASE WAIT", "Logging in..." ); + schedule(128, 0, t2csri_doLogin, $LoginName, $LoginPassword); + } + } + } + else + { + if ( $pref::RememberPassword ) + LoginPasswordBox.savePassword(); + LoginMessagePopup( "PLEASE WAIT", "Logging in..." ); + schedule(128, 0, t2csri_doLogin, $LastLoginKey, $LoginPassword); + } +} + + +function t2csri_doLogin(%username, %password) +{ + //warn(%username SPC %password); + %status = t2csri_getAccount(%username, %password); + warn(%status); + if (%status $= "SUCCESS") + { + // continue login + $pref::LastLoginKey = $LastLoginKey; + export( "$pref::*", "prefs/ClientPrefs.cs", false); + Canvas.popDialog(LoginDlg); + schedule(128, 0, popLoginMessage); + schedule(128, 0, LoginDone); + + // set the active "alias" to the current username + for (%i = 0; %i < $pref::Player::Count; %i++) + { + if (getField($pref::Player[%i], 0) $= trim(%username)) + $pref::Player::Current = %i; + } + } + else if (%status $= "INVALID_PASSWORD") + { + // pop-up a dialog asking the player to try again + popLoginMessage(); + LoginMessagePopup( "INVALID PASSWORD", "The password you entered is not correct. Try again." ); + schedule(3000, 0, popLoginMessage); + } + else + { + popLoginMessage(); + LoginMessagePopup( "ERROR", "An unknown error occured. Status code: " @ %status); + schedule(3000, 0, popLoginMessage); + } +} diff --git a/public/base/@vl2/T2csri.vl2/loginScreens.cs.dso b/public/base/@vl2/T2csri.vl2/loginScreens.cs.dso new file mode 100644 index 00000000..f1f0b1ee Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/loginScreens.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_IRCfix.cs b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_IRCfix.cs new file mode 100644 index 00000000..7041553f --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_IRCfix.cs @@ -0,0 +1,190 @@ +$IRCClient::NickName = getField(wonGetAuthInfo(),0); +$IRCClient::NickName = strReplace($IRCClient::NickName," ","_"); +$IRCClient::NickName = stripChars($IRCClient::NickName,"~@#$!+%/|^{&*()<>"); + +package t2csri_ircfix { +function GetIRCServerList(%arg1) { + return "IP:irc.arloria.net:6667"; +} +function IRCClient::notify(%event) +{ + if (isObject(ServerConnection) && getSubStr(%event,0,9) $= "IDIRC_ERR") return; + Parent::notify(%event); +} +function IRCClient::away(%params) +{ + %me = $IRCClient::people.getObject(0); + %me.flags = %me.flags & ~$PERSON_AWAY; + if (strlen(%params)) + { + if ($IRCClient::awaytimeout) + { + cancel($IRCClient::awaytimeout); + $IRCClient::awaytimeout = 0; + } + IRCClient::send("AWAY :" @ %params); + } else IRCClient::send("AWAY"); +} +function IRCTCP::onDisconnect(%this) +{ + $IRCClient::state = IDIRC_DISCONNECTED; + IRCClient::reset(); + //IRCClient::notify(IDIRC_ERR_DROPPED); + parent::onDisconnect(%this); +} +function IRCClient::onVersion(%prefix,%params) +{ + nextToken(%prefix,prefix,"!"); + parent::onVersion(%prefix,%params); +} +function IRCTCP::onConnected(%this) +{ + IRCClient::newMessage("","IRCClient: Established TCP/IP connection"); + %me = $IRCClient::people.getObject(0); + %me.displayName = $IRCClient::NickName; + %me.setName(%me.displayName); + $IRCClient::tcp.schedule(500, "send", "NICK " @ $IRCClient::NickName @ "\r\n"); + $IRCClient::tcp.schedule(500, "send", "USER " @ $IRCClient::NickName @ " x x :" @ $IRCClient::NickName @ "\r\n"); + $IRCClient::tcp.schedule(2000, "send", "WHOIS " @ $IRCClient::NickName @ "\r\n"); + $IRCClient::state = IDIRC_CONNECTING_WAITING; +} +function IRCClient::relogin() +{ + if($IRCClient::state !$= IDIRC_CONNECTED) + IRCClient::connect(); + %me = $IRCClient::people.getObject(0); + %me.displayName = $IRCClient::NickName; + %me.setName(%me.displayName); + %me.tagged = %me.displayName; + IRCClient::correctNick(%me); + IRCClient::newMessage("","IRCClient: Reauthentication starting"); + $IRCClient::tcp.schedule(500, "send", "NICK " @ $IRCClient::NickName @ "\r\n"); + $IRCClient::tcp.schedule(500, "send", "USER " @ $IRCClient::NickName @ " x x :" @ $IRCClient::NickName @ "\r\n"); + $IRCClient::tcp.schedule(2000, "send", "WHOIS " @ $IRCClient::NickName @ "\r\n"); + $IRCClient::state = IDIRC_CONNECTING_WAITING; +} +function IRCClient::dispatch(%prefix,%command,%params) +{ + if (%command == 378) {IRCClient::onConFrom(%prefix,%params); return true;} + else parent::dispatch(%prefix,%command,%params); +} +function chatMemberPopup::add(%this,%name,%index) { + if (%index == 10 || %index == 11) return; + parent::add(%this,%name,%index); +} +function JoinChatDlg::onWake(%this) +{ + if ($IRCClient::state $= IDIRC_CONNECTING_WAITING) + MessageBoxOK("CONNECTING...","Waiting for IRC server to respond, please wait."); + else + parent::onWake(%this); +} +function ChatTabView::onSelect(%this,%obj,%name) +{ + parent::onSelect(%this,%obj,%name); + if (%name $= "welcome" && $IRCClient::channels.getObject(0) != %obj) + { + ChatPanel.setVisible(true); + WelcomePanel.setVisible(false); + ChatEditOptionsBtn.setVisible(false); + } +} +function IRCClient::onConFrom(%prefix,%params) +{ + //IP acquisition test... may remove + //Krash-T2 Krash-T2 :is connecting from *@24.108.153.184 24.108.153.184 + if ($IPv4::InetAddress $= "" && getWord(%params,0) $= $IRCClient::people.getObject(0).displayName) $IPv4::InetAddress = getWord(%params,getWordCount(%params)-1); +} +function IRCClient::onBadNick(%prefix,%params) +{ + $IRCClient::NickName = getField(wonGetAuthInfo(),0) @ "-"@getRandom(0,99); + $IRCClient::NickName = strReplace($IRCClient::NickName," ","_"); + IRCClient::relogin(); +} +function IRCClient::onNick(%prefix,%params) +{ + %person = IRCClient::findPerson2(%prefix,false); + if (%person) { + %person.displayName = %params; + %person.tagged = %params; + IRCClient::correctNick(%person); + ChatRoomMemberList_rebuild(); + } + parent::onNick(%prefix,%params); + +} +function IRCClient::newMessage(%channel,%message) +{ + //quick UE fix, rewrite later + for (%i = 0;%i < getWordCount(%message);%i++) { + %word = getWord(%message,%i); + %first = strstr(%word,"<"); + if (%first != -1) { + %word1 = getSubstr(%word,%first,strlen(%word)); + %second = strstr(%word1,">"); + if (%second == -1) + %message = stripChars(%message,"<>"); + } + } + parent::newMessage(%channel,%message); +} +function IRCClient::setIdentity(%p,%ident) +{ + parent::setIdentity(%p,%ident); + if(%p.getName() !$= %p.displayName) %p.setName(%p.displayName); + if(%p.untagged $= "")%p.untagged = %p.displayName; +} +function IRCClient::onMode(%prefix,%params) +{ + parent::onMode(%prefix,%params); + ChatRoomMemberList_rebuild(); +} +function IRCClient::onJoinServer(%mission,%server,%address,%mayprequire,%prequire) +{ + if(strstr(strlwr($IRCClient::currentChannel.getName(),"tribes")) == -1) return; + parent::onJoinServer(%mission,%server,%address,%mayprequire,%prequire); +} +function IRCClient::onNameReply(%prefix,%params) +{ + + %params = strreplace(%params,"~","@"); + %params = strreplace(%params,"&","@"); + %params = strreplace(%params,"*","@"); + %params = strreplace(%params,"%","@"); + %params = strreplace(%params,"^","@"); + parent::onNameReply(%prefix,%params); +} +function IRCClient::onPing(%prefix,%params) +{ + //echo(%prefix SPC %params); + if (!$PingStarted) { + $IRCClient::tcp.schedule(1000, "send", "PONG " @ %params @ "\r\n"); + $PingStarted = true; + } else $IRCClient::tcp.send("PONG " @ %params @ "\r\n"); + +} +function IRCClient::onPart(%prefix,%params) +{ + %params = firstWord(%params); + parent::onPart(%prefix,%params); + ChatRoomMemberList_rebuild(); +} +function IRCClient::notify(%event) +{ + if (%event $= IDIRC_CHANNEL_LIST) { + JoinChatList.clear(); + for (%i = 0; %i < $IRCClient::numChannels; %i++) + { + switch$ ( $IRCClient::channelNames[%i] ) { + case "#the_construct" or "#help" or "#welcome": %temp = 1; + default: %temp = 0; + } + if (strStr(strlwr($IRCClient::channelNames[%i]),"tribes") != -1) %temp = 1; + JoinChatList.addRow(%i, IRCClient::displayChannel( $IRCClient::channelNames[%i]) TAB $IRCClient::channelUsers[%i] TAB %temp ); + JoinChatList.setRowStyle( %i, %temp > 0 ); + } + JoinChatList.sort(); + JoinChatName.onCharInput(); + } else parent::notify(%event); +} +}; activatePackage(t2csri_ircfix); diff --git a/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_IRCfix.cs.dso b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_IRCfix.cs.dso new file mode 100644 index 00000000..3f66ea50 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_IRCfix.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_list.cs b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_list.cs new file mode 100644 index 00000000..2745b546 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_list.cs @@ -0,0 +1,456 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Krash +// Copyright 2008 by Krash and the Tribes 2 Community System Reengineering Intitiative + +// Master listing / Queries. + +if ($Host::TN::beat $= "") $Host::TN::beat = 3; //Time between beats in minutes. +if ($Host::TN::echo $= "") $Host::TN::echo = 1; //Enable the MS echoes. + + +function NewsGui::onWake( %this ) +{ + Canvas.pushDialog( LaunchToolbarDlg ); + %this.pane = "News"; + NM_TabView.setSelected( 1 ); +} +function NM_TabView::onAdd( %this ) +{ + %this.addSet( 1, "gui/shll_horztabbuttonB", "5 5 5", "50 50 0", "5 5 5" ); + %this.addTab(1,"NEWS",1); + %this.addTab(2,"FORUMS"); + %this.setTabActive(2,0); + %this.addTab(3,"DOWNLOADS"); + %this.setTabActive(3,0); +} +function NM_TabView::onSelect( %this, %id, %text ) +{ + NM_NewsPane.setVisible( %id == 1 ); + //NM_ForumPane.setVisible( %id == 2 ); + //NM_FilePane.setVisible( %id == 3 ); + NM_TabFrame.setAltColor( %id == 1 ); + + %ctrl = "NM_" @ NewsGui.pane @ "Pane"; + if ( isObject( %ctrl ) ) + %ctrl.onDeactivate(); + + switch ( %id ) + { + case 1: // News + NM_NewsPane.onActivate(); + } +} +function NM_NewsPane::onActivate(%this) { + NewsGui.pane = "News"; + +} +function NM_NewsPane::onDeactivate(%this) {} +function NewsGui::setKey(%this) {} +function LaunchNews() { +if (!isObject(NewsGui)){ +new GuiChunkedBitmapCtrl(NewsGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "12 13"; + extent = "620 423"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TRIBESNEXT"; + maxLength = "255"; + noTitleBar = "0"; + + + new ShellTabFrame(NM_TabFrame) { + profile = "ShellHorzTabFrameProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "22 54"; + extent = "576 351"; + minExtent = "26 254"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + isVertical = "0"; + useCloseButton = "0"; + edgeInset = "0"; + }; + new ShellTabGroupCtrl(NM_TabView) { + profile = "TabGroupProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "30 25"; + extent = "560 29"; + minExtent = "38 29"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + glowOffset = "7"; + tabSpacing = "2"; + maxTabWidth = "150"; + stretchToFit = "0"; + }; + new GuiControl(NM_NewsPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "586 423"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(NewsPanel) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 92"; + extent = "559 315"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "195 5"; + extent = "360 303"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 2"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 6"; + extent = "336 291"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(NewsText) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "362 2376"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "2 21"; + extent = "195 287"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "187 273"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(NewsHeadlines) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "187 180"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiTextCtrl() { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 6"; + extent = "72 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "HEADLINES:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + + }; + + + }; +}; +} else LaunchTabView.viewTab( "TRIBESNEXT", NewsGui, 0 ); +} +//================================================================ + +function queryTNServers(%filter,%mod,%maptype,%minplayers,%maxplayers,%maxBots,%flags) { + + %server = "master.tribesnext.com:80"; + if (!isObject(TNbite)) + %bite = new TCPObject(TNbite){}; + else %bite = TNbite; + %bite.mode = 0; + %filename = "/list"; + if (%filter) + %filename = "/list/"@%mod@"/"@%maptype@"/"@%minplayers@"/"@%maxplayers@"/"@%maxBots@"/"@%flags; + if (%filter $= "types") { + %filename = "/listtypes"; + %bite.mode = 2; + } else queryFavoriteServers(); // Filtering fix, since the old master query isn't used. + + %bite.get(%server, %filename); +} + +function queryMasterGameTypes(){ + clearGameTypes(); + clearMissionTypes(); + queryTNServers("types"); +} + +function queryMasterServer(%port, %flags, %rulesSet, %missionType, %minPlayers, %maxPlayers, %maxBots, %regionMask, %maxPing, %minCpu, %filtFlags, %buddy ) +{ + if (%flags !$= "") queryTNServers(1,%rulesSet,%missionType,%minplayers,%maxplayers,%maxBots,%filtFlags SPC %buddy); + else queryTNServers(); +} + +function TNbite::onLine(%this, %line) { + if (trim(%line) $= "") { + if (!%this.primed) %this.primed = true; + if (%this.mode != 5) return; + } + if (!%this.primed) return; + + if (%this.mode == 1) + switch (%line) { // heartbeats + case 0: if ($Host::TN::echo) echo(" - Server added to list."); + case 1: if ($Host::TN::echo) { echo(" - Your server could not be contacted."); + echo(" - Check your IP / port configuration."); } + case 2: if ($Host::TN::echo) echo(" - Heartbeat confirmed."); + } + else if (%this.mode == 2) //filter retrieval + switch (firstWord(%line)) { + case 0: addGameType( restWords(%line) ); + case 1: addMissionType( restWords(%line) ); + } + else if (%this.mode == 5) // news retrieval + NewsGui.addLine(%line); + else // and finally, the server list... + if ( strpos(%line,":") != -1 && strstr(%line,".") != -1) { + querySingleServer( %line ); + if (!%this.fnd) %this.fnd = true; + } +} + +function TNbite::onConnectFailed(%this) { + if ($Host::TN::echo) echo("-- Could not connect to master server."); +} + +function TNbite::onDNSFailed(%this) { + if ($Host::TN::echo) echo("-- Could not connect to DNS server."); +} + +function TNbite::onDisconnect(%this) { + if (!%this.fnd && %this.mode == 0) + if (!GMJ_Browser.rowCount()) + updateServerBrowserStatus( "No servers found.", 0 ); + %this.delete(); +} + +function TNbite::get(%this, %server, %query) +{ + %this.server = %server; + %this.query = %query; + %this.connect(%server); +} + +function TNbite::onConnected(%this) +{ + if (%this.query !$= "") { + %query = "GET " @ %this.query @ " HTTP/1.1\r\nHost: " @ %this.server @ "\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n\r\n"; + %this.send(%query); + } +} + +function NewsGui::addLine( %this, %line ) { + %this = NewsText; + if (firstWord(%line) $= "") { + %line = setWord(%line,0,""); + NewsHeadlines.addRow(%this.index,stripMLControlChars(%line)); + } + if (%line $= "#EOF") {NewsText.upToDate = true; NewsHeadlines.setSelectedRow(0); return;} + %text = %this.getText(); + %line = detag( %line ); + %text = (%text $= "") ? %line : %text NL %line; + %this.setText( %text ); +} + +function NewsText::update( %this, %online ) { + %this.setText(""); + NewsHeadlines.clear(); + %this.index = -1; + if (%online) { + %server = "www.tribesnext.com:80"; + if (!isObject(TNbite)) + %bite = new TCPObject(TNbite){}; + else %bite = TNbite; + %bite.mode = 5; + %filename = "/news"; + %bite.get(%server, %filename); + } +} +function NewsHeadlines::onSelect( %this, %id, %text ) +{ + NewsText.scrollToTag( %id ); +} +//================================================================ +package t2csri_webs { + +function CheckEmail( %bool ) { + if ($LaunchMode $= "Normal") return; // Do nothing for now + parent::CheckEmail( %bool ); +} + +function LaunchTabView::addLaunchTab( %this, %text, %gui, %makeInactive ) { + // disable currently unused tabs + if (%text $= "EMAIL" || %text $= "BROWSER") parent::addLaunchTab( %this, %text, %gui, 1 ); + else parent::addLaunchTab( %this, %text, %gui, %makeInactive ); +} +function LaunchToolbarMenu::add(%this,%id,%text) { + parent::add(%this,%id,%text); + if ($PlayingOnline && %text $= "BROWSER") { + LaunchToolbarMenu.add( 1, "TRAINING" ); + LaunchToolbarMenu.add( 2, "TRIBESNEXT" ); + } +} + +function OpenLaunchTabs( %gotoWarriorSetup ) { + parent::OpenLaunchTabs( %gotoWarriorSetup ); + if ($PlayingOnline && !TrainingGui.added) { + LaunchTabView.addLaunchTab( "TRAINING", TrainingGui ); + LaunchTabView.addLaunchTab( "TRIBESNEXT", NewsGui ); + LaunchNews(); + NewsText.update(1); + TrainingGui.added = true; + } +} + +function JoinSelectedGame() { + if (($IPv4::InetAddress $= "" || strstr($IPv4::InetAddress,".") == -1) && $PlayingOnline) { + messageBoxOK("IP ERROR","Your external address has not been set or is set incorrectly. \n\nAttempting to reset..."); + ipv4_getInetAddress(); + return; + } else parent::JoinSelectedGame(); +} +function ClientReceivedDataBlock(%index, %total) +{ + DB_LoadingProgress.setValue( %index / %total ); + parent::ClientReceivedDataBlock(%index, %total); +} + +function CreateServer(%mission, %missionType) { + parent::CreateServer(%mission, %missionType); + if (!isActivePackage(t2csri_server)) exec("t2csri/serverGlue.cs"); +} + +function StartHeartbeat() { + if ($playingOnline) { + if(isEventPending($TNBeat)) cancel($TNBeat); + %server = "master.tribesnext.com:80"; + if ($Host::BindAddress !$= "") + %path = "/add/" @ $Host::Port @"/"@ $Host::BindAddress; + else %path = "/add/" @ $Host::Port; + if (!isObject(TNbite)) + %bite = new TCPObject(TNbite){}; + else %bite = TNbite; + %bite.mode = 1; + %bite.get(%server, %path); + if ($Host::TN::echo) + echo("-- Sent heartbeat to TN Master. ("@%server@")"); + $TNBeat = schedule($Host::TN::beat*60000,0,"StartHeartBeat"); + } else parent::StartHeartbeat(); +} + +function StopHeartbeat() { + if ($playingOnline) { + if(isEventPending($TNBeat)) cancel($TNBeat); + } else parent::StartHeartbeat(); +} +//================================================================ +}; +if (!isActivePackage(t2csri_webs)) activatepackage (t2csri_webs); diff --git a/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_list.cs.dso b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_list.cs.dso new file mode 100644 index 00000000..f7a6af33 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_list.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_serv.cs b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_serv.cs new file mode 100644 index 00000000..4caa3f43 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_serv.cs @@ -0,0 +1,8 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 1.0 initialization and glue file (server side) + +schedule(0, 0, exec, "t2csri/serverglue.cs"); \ No newline at end of file diff --git a/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_serv.cs.dso b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_serv.cs.dso new file mode 100644 index 00000000..907ba199 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/scripts/autoexec/t2csri_serv.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/authconnect.cs b/public/base/@vl2/T2csri.vl2/t2csri/authconnect.cs new file mode 100644 index 00000000..ee254307 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/authconnect.cs @@ -0,0 +1,87 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Authentication Server Connector Version 1.0: 11/06/2008 + +function authConnect_findAuthServer() +{ + if ($AuthServer::Address !$= "") + return; + echo("Looking up Authentication Server..."); + if (isObject(AuthConnection)) + { + AuthConnection.disconnect(); + AuthConnection.delete(); + } + new TCPObject(AuthConnection); + + %data = "GET /auth HTTP/1.1\r\nHost: www.tribesnext.com\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n\r\n"; + AuthConnection.data = %data; + AuthConnection.connect("www.tribesnext.com:80"); + $AuthServer::Primed = 0; +} + +function AuthConnection::onLine(%this, %line) +{ + if (%line == 411) + return; + if (trim(%line) $= "") + { + $AuthServer::Primed = 1; + return; + } + + if ($AuthServer::Primed) + { + $AuthServer::Address = %line; + %this.disconnect(); + authConnect_verifyLookup(); + } +} + +function AuthConnection::onConnected(%this) +{ + %this.send(%this.data); +} + +function authConnect_verifyLookup() +{ + + if (getFieldCount($AuthServer::Address) != 2) + { + $AuthServer::Address = ""; + error("Authentication server lookup failed."); + return; + } + %address = getField($AuthServer::Address, 0); + %signature = getField($AuthServer::Address, 1); + + %sha1sum = sha1sum(%address); + %verifSum = t2csri_verify_auth_signature(%signature); + while (strlen(%verifSum) < 40) + %verifSum = "0" @ %verifSum; + if (%sha1sum !$= %verifSum) + { + // signature verification failed... someone has subverted the auth server lookup + error("Authentication server lookup returned an address with an invalid signature."); + error("Unable to contact the authentication server."); + $AuthServer::Address = ""; + return; + } + else + { + echo("Authentication server found at " @ %address @ ". Ready to authenticate."); + $AuthServer::Address = %address; + $AuthServer::Primed = ""; + } +} + +// perform signature verification to prove that the auth server has designated the +// provided address +function t2csri_verify_auth_signature(%sig) +{ + rubyEval("tsEval '$temp=\"' + t2csri_verify_auth_signature('" @ %sig @ "').to_s(16) + '\";'"); + return $temp; +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/authconnect.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/authconnect.cs.dso new file mode 100644 index 00000000..2813e4fa Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/authconnect.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/authinterface.cs b/public/base/@vl2/T2csri.vl2/t2csri/authinterface.cs new file mode 100644 index 00000000..8d456a06 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/authinterface.cs @@ -0,0 +1,238 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Authentication Server Interface Version 1.0: 12/29/2008 + +$Authentication::Mode::Available = 1; +$Authentication::Mode::Name = 2; +$Authentication::Mode::Recover = 3; +$Authentication::Mode::Sign = 4; + +$Authentication::Settings::Timeout = 30000; + +function AuthenticationInterface::onLine(%this, %line) +{ + //warn(%line); + if (isEventPending($Authentication::TransactionCompletionSchedule)) + cancel($Authentication::TransactionCompletionSchedule); + $Authentication::TransactionCompletionSchedule = schedule(700, 0, Authentication_transactionComplete); + + if ($Authentication::Status::ActiveMode != 0) + { + $Authentication::Buffer[$Authentication::Status::ActiveMode] = $Authentication::Buffer[$Authentication::Status::ActiveMode] @ "\n" @ %line; + } +} + +// connection complete... send the buffer +function AuthenticationInterface::onConnected(%this) +{ + %this.send(%this.data); +} + +function Authentication_transactionComplete() +{ + // terminate the connection + AuthenticationInterface.disconnect(); + + %buffer = trim($Authentication::Buffer[$Authentication::Status::ActiveMode]); + if ($Authentication::Status::ActiveMode == $Authentication::Mode::Available) + { + if (strlen(%buffer) > 0 && %buffer $= "AVAIL") + { + echo("Authentication: Server is available."); + $Authentication::Status::Available = 1; + } + else + { + error("Authentication: Server is not available."); + $Authentication::Status::Available = 0; + } + } + else if ($Authentication::Status::ActiveMode == $Authentication::Mode::Name) + { + if (%buffer $= "TOOSHORT") + { + $Authentication::Status::Name = "Requested name is too short."; + error("Authentication: " @ $Authentication::Status::Name); + + } + else if (%buffer $= "TOOLONG") + { + $Authentication::Status::Name = "Requested name is too long."; + error("Authentication: " @ $Authentication::Status::Name); + } + else if (%buffer $= "INVALID") + { + $Authentication::Status::Name = "Requested name is rejected."; + error("Authentication: " @ $Authentication::Status::Name); + } + else if (%buffer $= "TAKEN") + { + $Authentication::Status::Name = "Requested name is taken."; + error("Authentication: " @ $Authentication::Status::Name); + } + else if (%buffer $= "SUCCESS") + { + $Authentication::Status::Name = "Name is available and acceptable."; + echo("Authentication: " @ $Authentication::Status::Name); + } + else + { + // this shouldn't happen + $Authentication::Status::Name = "Unknown name status code returned from server."; + error("Authentication: " @ $Authentication::Status::Name); + } + } + else if ($Authentication::Status::ActiveMode == $Authentication::Mode::Recover) + { + if (%buffer $= "RECOVERERROR") + { + // this generic error happens if a malformed request is sent to the server + error("Authentication: Unknown credential recovery status code returned from server."); + } + else if (%buffer $= "NOTFOUND") + { + error("Authentication: No user with that name exists."); + } + else if (%buffer $= "INVALIDPASSWORD") + { + error("Authentication: Invalid password provided for that user."); + } + else if (getWord(%buffer, 0) $= "CERT:") + { + %cert = getSubStr(%buffer, 0, strstr(%buffer, "\n")); + %buffer = getSubStr(%buffer, strstr(%buffer, "\n") + 1, strlen(%buffer)); + %exp = getSubStr(%buffer, 0, (strstr(%buffer, "\n") == -1 ? strlen(%buffer) : strstr(%buffer, "\n"))); + + $Authentication::Status::LastCert = %cert; + $Authentication::Status::LastExp = %exp; + echo("Authentication: Successfully downloaded certificate and encrypted key."); + } + else + { + error("Authentication: Unknown recovery status code returned from server."); + } + } + else if ($Authentication::Status::ActiveMode == $Authentication::Mode::Sign) + { + if (%buffer $= "REJECTED") + { + // this is returned if the user created an account from this IP in the last week, or 5 accounts total + $Authentication::Status::Signature = "Server chose to reject account generation request."; + error("Authentication: " @ $Authentication::Status::Signature); + } + else if (%buffer $= "INVALIDNAME") + { + // name taken, or otherwise not allowed + $Authentication::Status::Signature = "Server rejected account name."; + error("Authentication: " @ $Authentication::Status::Signature); + } + else if (%buffer $= "SIGNERROR") + { + $Authentication::Status::Signature = "Corrupt signature request rejected."; + error("Authentication: " @ $Authentication::Status::Signature); + } + else if (strlen(%buffer) > 0 && getFieldCount(%buffer) > 4) + { + %cert = %buffer; + $Authentication::Status::LastCert = %cert; + $Authentication::Status::Signature = "Account generation successful."; + echo("Authentication: " @ $Authentication::Status::Signature); + } + else + { + $Authentication::Status::Signature = "Unknown signature status code returned from server."; + error("Authentication: " @ $Authentication::Status::Signature); + } + } + + // clear out the buffer + $Authentication::Buffer[$Authentication::Status::ActiveMode] = ""; + $Authentication::Status::ActiveMode = 0; +} + +// determine if the server is available +function Authentication_checkAvail() +{ + if ($Authentication::Status::ActiveMode != 0) + { + // already a request active, retry this one in 10 seconds + schedule(10000, 0, Authentication_checkAvail); + return; + } + + $Authentication::Status::ActiveMode = $Authentication::Mode::Available; + + if (isObject(AuthenticationInterface)) + AuthenticationInterface.delete(); + new TCPObject(AuthenticationInterface); + + AuthenticationInterface.data = "AVAIL\n"; + AuthenticationInterface.connect($AuthServer::Address); + $Authentication::TransactionCompletionSchedule = schedule($Authentication::Settings::Timeout, 0, Authentication_transactionComplete); +} + +// determine if the given name is acceptable/available +function Authentication_checkName(%name) +{ + if ($Authentication::Status::ActiveMode != 0) + { + // already a request active, retry this one in 10 seconds + schedule(10000, 0, Authentication_checkName, %name); + return; + } + + $Authentication::Status::ActiveMode = $Authentication::Mode::Name; + + if (isObject(AuthenticationInterface)) + AuthenticationInterface.delete(); + new TCPObject(AuthenticationInterface); + + AuthenticationInterface.data = "NAME\t" @ %name @ "\n"; + AuthenticationInterface.connect($AuthServer::Address); + $Authentication::TransactionCompletionSchedule = schedule($Authentication::Settings::Timeout, 0, Authentication_transactionComplete); +} + +// request a certificate and encrypted exponent from the authentication server +function Authentication_recoverAccount(%payload) +{ + if ($Authentication::Status::ActiveMode != 0) + { + // already a request active, retry this one in 10 seconds + schedule(10000, 0, Authentication_recoverAccount, %payload); + return; + } + + $Authentication::Status::ActiveMode = $Authentication::Mode::Recover; + + if (isObject(AuthenticationInterface)) + AuthenticationInterface.delete(); + new TCPObject(AuthenticationInterface); + + AuthenticationInterface.data = "RECOVER\t" @ %payload @ "\n"; + AuthenticationInterface.connect($AuthServer::Address); + $Authentication::TransactionCompletionSchedule = schedule($Authentication::Settings::Timeout, 0, Authentication_transactionComplete); +} + +// request a new account certificate +function Authentication_registerAccount(%payload) +{ + if ($Authentication::Status::ActiveMode != 0) + { + // already a request active, retry this one in 10 seconds + schedule(10000, 0, Authentication_registerAccount, %payload); + return; + } + + $Authentication::Status::ActiveMode = $Authentication::Mode::Sign; + + if (isObject(AuthenticationInterface)) + AuthenticationInterface.delete(); + new TCPObject(AuthenticationInterface); + + AuthenticationInterface.data = "SIGN\t" @ %payload @ "\n"; + AuthenticationInterface.connect($AuthServer::Address); + $Authentication::TransactionCompletionSchedule = schedule($Authentication::Settings::Timeout, 0, Authentication_transactionComplete); +} \ No newline at end of file diff --git a/public/base/@vl2/T2csri.vl2/t2csri/authinterface.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/authinterface.cs.dso new file mode 100644 index 00000000..e2a3b25b Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/authinterface.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/autoupdate.cs b/public/base/@vl2/T2csri.vl2/t2csri/autoupdate.cs new file mode 100644 index 00000000..fac7bd01 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/autoupdate.cs @@ -0,0 +1,111 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Bare Bones Auto Update System Version 1.0: 11/06/2008 + +function authConnect_findAutoUpdater() +{ + if ($AutoUpdater::Address !$= "") + return; + + if (isObject(AutoUpdateConnection)) + { + AutoUpdateConnection.disconnect(); + AutoUpdateConnection.delete(); + } + new TCPObject(AutoUpdateConnection); + + %data = "GET /update HTTP/1.1\r\nHost: www.tribesnext.com\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n\r\n"; + AutoUpdateConnection.connect("www.tribesnext.com:80"); + AutoUpdateConnection.schedule(1000, send, %data); +} + +function AutoUpdateConnection::onLine(%this, %line) +{ + if (!$AutoUpdater::UpdateFound) + { + $AutoUpdater::Address = %line; + %this.disconnect(); + autoUpdate_verifyLookup(); + } + else + { + if (isEventPending($AutoUpdate::LastLineSch)) + cancel($AutoUpdate::LastLineSch); + $AutoUpdate::LastLineSch = autoUpdate_applyUpdate(); + if ($AutoUpdate::UpdateStarted) + $AutoUpdate::Buffer = $AutoUpdate::Buffer @ "\n" @ %line; + else if (strlen(%line) == 0) + $AutoUpdate::UpdateStarted = 1; + } +} + +function autoUpdate_verifyLookup() +{ + if (getFieldCount($AutoUpdate::Address) != 2) + { + $AutoUpdater::Address = ""; + error("No valid update address found."); + return; + } + %address = getField($AutoUpdater::Address, 0); + %signature = getField($AutoUpdater::Address, 1); + + %sha1sum = sha1sum(%address); + if (%sha1sum !$= t2csri_verify_update_signature(%signature)) + { + // signature verification failed... someone has subverted the auth server lookup + error("Auto update lookup returned an address with an invalid signature."); + error("Unable to download update without a correct signature."); + $AutoUpdater::Address = ""; + return; + } + else + { + echo("New update found at " @ %address @ ". Ready to download."); + $AutoUpdater::Address = %address; + $AutoUpdater::UpdateFound = 1; + } +} + +// perform signature verification to prove that the update server has designated the +// provided URL for a download, we don't want people injecting arbitrary code into +// user installations +function t2csri_verify_update_signature(%sig) +{ + rubyEval("tsEval '$temp=\"' + t2csri_verify_update_signature('" @ %sig @ "') + '\";'"); + return $temp; +} + +function autoUpdate_performUpdate() +{ + if ($AutoUpdater::Address $= "") + return; + + if (isObject(AutoUpdateConnection)) + { + AutoUpdateConnection.disconnect(); + AutoUpdateConnection.delete(); + } + new TCPObject(AutoUpdateConnection); + + %host = getSubStr($AutoUpdater::Address, 0, strstr("/")); + %uri = getSubStr($AutoUpdater::Address, strlen(%host), strlen($AutoUpdater::Address)); + + %data = "GET " @ %uri @ " HTTP/1.1\nHost: " @ %host @ "\nUser-Agent: Tribes 2\nConnection: close\n\n"; + AutoUpdateConnection.connect(%host); + AutoUpdateConnection.schedule(1000, send, %data); +} + +function autoUpdate_applyUpdate() +{ + new FileObject(AutoUpdateFile); + AutoUpdateFile.openForWrite("autoUpdate.rb"); + AutoUpdateFile.writeline($AutoUpdate::Buffer); + AutoUpdateFile.close(); + AutoUpdateFile.delete(); + + rubyExec("autoUpdate.rb"); +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/bans.cs b/public/base/@vl2/T2csri.vl2/t2csri/bans.cs new file mode 100644 index 00000000..f2184169 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/bans.cs @@ -0,0 +1,93 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// IP and GUID ban list handling. +// These seem to be completely broken in engine, so... here is a script implementation. + +// Still works the same way as before... so scripts will function unmodified. +// BanList::add( %guid, %ipAddress, %seconds); +// If both GUID and IP address are specified, both types of entries are made on the banlist. + +// gets the current Unix Epoch time from Ruby -- in seconds +function currentEpochTime() +{ + rubyEval("tsEval '$temp=' + Time.now.to_i.to_s + ';'"); + return $temp; +} + +// compute the addition in Ruby, due to the Torque script precision problems for >1e6 values +function getEpochOffset(%seconds) +{ + rubyEval("tsEval '$temp=' + (Time.now.to_i + " @ %seconds @ ").to_s + ';'"); + return $temp; +} + +// bans are added to the $BanList::GUID and $BanList::IP hash maps as the Unix epoch time +// when the ban will expire +function BanList::add(%guid, %ipAddress, %seconds) +{ + if (%guid != 0) + { + // add GUID ban + $BanList::GUID[%guid] = getEpochOffset(%seconds); + } + if (getSubStr(%ipAddress, 0, 3) $= "IP:") + { + // add IP ban + %bareIP = getSubStr(%ipAddress, 3, strLen(%ipAddress)); + %bareIP = getSubStr(%bareIP, 0, strstr(%bareIP, ":")); + %bareIP = strReplace(%bareIP, ".", "_"); // variable access bug workaround + + $BanList::IP[%bareIP] = getEpochOffset(%seconds); + } + + // write out the updated bans to the file + export("$BanList*", "prefs/banlist.cs"); +} + +// returns boolean on whether the given client is IP banned or not +// true if banned, false if not banned +function banList_checkIP(%client) +{ + %ip = %client.getAddress(); + %ip = getSubStr(%ip, 3, strLen(%ip)); + %ip = getSubStr(%ip, 0, strstr(%ip, ":")); + %ip = strReplace(%ip, ".", "_"); + + %time = $BanList::IP[%ip]; + if (%time !$= "") + { + //%delta = %time - currentEpochTime(); + // T2 arithmetic fail again... doing subtraction in Ruby + rubyEval("tsEval '$temp=' + (" @ %time @ " - Time.now.to_i).to_s + ';'"); + %delta = $temp; + + if (%delta > 0) + return 1; + else + deleteVariables("$BanList::IP" @ %ip); + } + return 0; +} + +// returns boolean on whether the given GUID is banned or not +// true if banned, false if not banned +function banList_checkGUID(%guid) +{ + %time = $BanList::GUID[%guid]; + if (%time !$= "") + { + //%delta = %time - currentEpochTime(); + // T2 arithmetic fail again... doing subtraction in Ruby + rubyEval("tsEval '$temp=' + (" @ %time @ " - Time.now.to_i).to_s + ';'"); + %delta = $temp; + + if (%delta > 0) + return 1; + else + deleteVariables("$BanList::GUID" @ %guid); + } + return 0; +} \ No newline at end of file diff --git a/public/base/@vl2/T2csri.vl2/t2csri/bans.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/bans.cs.dso new file mode 100644 index 00000000..a08b69c1 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/bans.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/base64.cs b/public/base/@vl2/T2csri.vl2/t2csri/base64.cs new file mode 100644 index 00000000..d4f86b70 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/base64.cs @@ -0,0 +1,164 @@ +// Torque Script Base64 Utilities +// Written by Electricutioner +// 10:43 PM 7/13/2005 + +// Used under license by the Tribes 2 Community System Re-engineering Intitiative. +// License Granted: 10/31/2008 + +// necessary for the transfer of arbitrary binary data over ASCII connections +function Base64_Encode(%string) +{ + %encoded = ""; + for (%i = 0; %i < strLen(%string); %i += 3) + { + %binBlock = ""; + for (%j = 0; %j < 3; %j++) + { + %bin = DecToBin(strCmp(getSubStr(%string, %i + %j, 1), "")); + while (strLen(%bin) < 8 && strLen(%bin) != 0) + %bin = "0" @ %bin; + %binBlock = %binBlock @ %bin; + } + for (%j = 0; %j < 4; %j++) + { + %bin = getSubStr(%binBlock, 6 * %j, 6); + if (%bin !$= "") + { + while(strLen(%bin) < 6) + %bin = %bin @ "0"; + %encoded = %encoded @ $Base64Utils::Base64Chars[BinToDec(%bin)]; + } + else + %encoded = %encoded @ "="; + } + } + return %encoded; +} +function Base64_Decode(%string) +{ + %decoded = ""; + for (%i = 0; %i < strLen(%string); %i += 4) + { + %binBlock = ""; + for (%j = 0; %j < 4; %j++) + { + %bin = ""; + %val = Base64_ValToIndex(strCmp(getSubStr(%string, %i + %j, 1), "")); + if (%val != -1) + %bin = DecToBin(%val); + while (strLen(%bin) < 6 && %val != -1) + %bin = "0" @ %bin; + %binBlock = %binBlock @ %bin; + } + for (%j = 0; %j < 3; %j++) + { + %bin = getSubStr(%binBlock, 8 * %j, 8); + while(strLen(%bin) < 8 && strLen(%bin) != 0) + %bin = "0" @ %bin; + if (%bin !$= "") + %decoded = %decoded @ collapseEscape("\\x" @ DecToHex(BinToDec(%bin))); + } + } + + return %decoded; +} +// a few conditionals are better than a loop +function Base64_ValToIndex(%val) +{ + if (%val > 96 && %val < 123) + return %val - 71; + else if (%val > 64 && %val < 91) + return %val - 65; + else if (%val > 47 && %val < 58) + return %val + 4; + else if (%val == 43) + return 62; + else if (%val == 47) + return 63; + else if (%val == 61) + return -1; + else + return ""; +} + +//create the character array in a minimum of fuss +function Base64_CreateArray() +{ + for (%i = 0; %i < 26; %i++) + { + $Base64Utils::Base64Chars[%i] = collapseEscape("\\x" @ DecToHex(65 + %i)); + $Base64Utils::Base64Chars[%i + 26] = collapseEscape("\\x" @ DecToHex(97 + %i)); + + if (%i < 10) + $Base64Utils::Base64Chars[%i + 52] = %i; + } + $Base64Utils::Base64Chars[62] = "+"; + $Base64Utils::Base64Chars[63] = "/"; +} + +// these binary conversion functions are much better than older ones +// these can handle just about any size of input, unlike 8 bit like the previous ones +function DecToBin(%dec) +{ + %length = mCeil(mLog(%dec) / mLog(2)); + %bin = ""; + for (%i = 0; %i <= %length; %i++) + { + %test = mPow(2, %length - %i); + if (%dec >= %test) + { + %bin = %bin @ "1"; + %dec -= %test; + } + else if (%i > 0) + %bin = %bin @ "0"; + } + return %bin; +} +function BinToDec(%bin) +{ + %dec = 0; + for (%i = 0; %i < strLen(%bin); %i++) + %dec += getSubStr(%bin, %i, 1) * mPow(2, strLen(%bin) - %i - 1); + return %dec; +} + +//no length limit +function DecToHex(%dec) +{ + %bin = DecToBin(%dec); + while (strLen(%bin) % 4 != 0) + %bin = "0" @ %bin; + + for (%i = 0; %i < strLen(%bin); %i += 4) + { + %block = getSubStr(%bin, strLen(%bin) - %i - 4, 4); + %part = BinToDec(%block); + if (%part > 9) + { + switch (%part) + { + case 10: + %hex = "a" @ %hex; + case 11: + %hex = "b" @ %hex; + case 12: + %hex = "c" @ %hex; + case 13: + %hex = "d" @ %hex; + case 14: + %hex = "e" @ %hex; + case 15: + %hex = "f" @ %hex; + } + } + else + %hex = %part @ %hex; + } + if (strlen(%hex) == 0) + return "00"; + else + return %hex; +} + +Base64_CreateArray(); \ No newline at end of file diff --git a/public/base/@vl2/T2csri.vl2/t2csri/base64.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/base64.cs.dso new file mode 100644 index 00000000..12ea3084 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/base64.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/certstore.rb b/public/base/@vl2/T2csri.vl2/t2csri/certstore.rb new file mode 100644 index 00000000..24a85732 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/certstore.rb @@ -0,0 +1,43 @@ +# +# Tribes 2 Community System Reengineering Initiative +# Client Side Credential/Certificate Store +# Version 1.1 (2009/01/25) +# +# Written by Electricutioner/Thyth +# http://absolous.no-ip.com/ +# Copyright 2008 - 2009 +# +# Released under the terms of the GNU General Public License v3 or later. +# http://www.gnu.org/licenses/gpl.html +# Your use of this software is subject to the terms of that license. Use, modification, or distribution +# constitutes acceptance of these software terms. This license is the only manner by which you are permitted +# to use this software, thus rejection of the license terms prohibits your use of this software. +# +$accCerts = Hash.new +$accPrivateKeys = Hash.new + +def certstore_loadAccounts + IO.foreach('public.store') {|line| $accCerts[line.split("\t")[0].downcase] = line.rstrip.lstrip } + IO.foreach('private.store') {|line| $accPrivateKeys[line.split("\t")[0].downcase] = line.rstrip.lstrip } +end + +def certstore_addAccount(public, private) + $accCerts[public.split("\t")[0].downcase] = public + $accPrivateKeys[public.split("\t")[0].downcase] = private + + publicstore = File.new('public.store', 'a') + publicstore.seek(0, IO::SEEK_END) + publicstore.puts(public + "\r\n") + publicstore.close + + privatestore = File.new('private.store', 'a') + privatestore.seek(0, IO::SEEK_END) + privatestore.puts(private + "\r\n") + privatestore.close +end + +def certstore_listAccounts + list = String.new + $accCerts.each_key { |username| list = list.rstrip + "\t" + $accCerts[username].split("\t")[0].to_s } + return list.lstrip +end diff --git a/public/base/@vl2/T2csri.vl2/t2csri/clientSide.cs b/public/base/@vl2/T2csri.vl2/t2csri/clientSide.cs new file mode 100644 index 00000000..fe02cf8a --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/clientSide.cs @@ -0,0 +1,385 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 1.1: 03/14/2009 + +// load the clan support functions +exec("t2csri/clientSideClans.cs"); + +// initialize the SHA1 digester in Ruby +function t2csri_initDigester() +{ + $SHA1::Initialized = 1; + rubyEval("$sha1hasher = SHA1Pure.new"); +} + +// use Ruby to get the SHA1 hash of the string +function sha1sum(%string) +{ + if (!$SHA1::Initialized) + t2csri_initDigester(); + %string = strReplace(%string, "'", "\\'"); + rubyEval("$sha1hasher.prepare"); + rubyEval("$sha1hasher.append('" @ %string @ "')"); + rubyEval("tsEval '$temp=\"' + $sha1hasher.hexdigest + '\";'"); + %temp = $temp; + $temp = ""; + return %temp; +} + +// get the password encrypted private key for the following name +// assuming it is installed on the system +function t2csri_getEncryptedAccountKey(%name) +{ + return rubyGetValue("$accPrivateKeys['" @ strlwr(%name) @ "']"); +} + +// get the public certificate key for the following name +// assuming it is installed on the system +function t2csri_getAccountCertificate(%name) +{ + // check if the name exists + %found = 0; + for (%i = 0; %i < getFieldCount($accountList); %i++) + { + if (%name $= getField($accountList, %i)) + %found = 1; + } + + // this is a bit of a hack -- Ruby 1.9.0 has some problems getting the account on the first try + %value = ""; + if (%found) + { + while (strLen(%value) == 0) + { + %value = rubyGetValue("$accCerts['" @ strlwr(%name) @ "']"); + } + } + else + { + %value = rubyGetValue("$accCerts['" @ strlwr(%name) @ "']"); + } + return %value; +} + +// prevents a warning generated when leaving a server, and allows the yellow +// highlight selection on the warrior screen that indicates the active account +function WONGetAuthInfo() +{ + return getField($LoginCertificate, 0) @ "\t\t0\t" @ getField($LoginCertificate, 1) @ "\n"; +} + +// decrypt an RC4 encrypted account key +// also used for encryption on the plaintext when generating the account +function t2csri_decryptAccountKey(%account, %password, %nonce, %doingEncryption) +{ + %key = sha1sum(%password @ %nonce); + + // initiate RC4 stream state with key + %iterations = 256; + for (%i = 0; %i < %iterations; %i++) + { + %SArray[%i] = %i; + } + %j = 0; + for (%i = 0; %i < %iterations; %i++) + { + %j = (%j + %SArray[%i] + strCmp(getSubStr(%key, %i % strLen(%key), 1), "")) % %iterations; + + //swap(S[i],S[j]) + %temp = %SArray[%i]; + %SArray[%i] = %SArray[%j]; + %SArray[%j] = %temp; + } + + // discard 2048 bytes from the start of the stream to avoid the strongly biased first bytes + %seedI = 0; %seedJ = 0; + for (%i = 0; %i < 2048; %i++) + { + %seedI = (%seedI + 1) % 256; + %seedJ = (%seedJ + %SArray[%seedI]) % 256; + + %temp = %SArray[%seedI]; + %SArray[%seedI] = %SArray[%seedJ]; + %SArray[%seedJ] = %temp; + } + + // decrypt the account + %bytes = strlen(%account) / 2; + for (%i = 0; %i < %bytes; %i++) + { + %seedI = (%seedI + 1) % 256; + %seedJ = (%seedJ + %SArray[%seedI]) % 256; + + %temp = %SArray[%seedI]; + %SArray[%seedI] = %SArray[%seedJ]; + %SArray[%seedJ] = %temp; + + %schar = %SArray[(%SArray[%seedI] + %SArray[%seedJ]) % 256]; + %achar = strCmp(collapseEscape("\\x" @ getSubStr(%account, %i * 2, 2)), ""); + %byte = DecToHex(%schar ^ %achar); + if (strLen(%byte) < 2) + %byte = "0" @ %byte; + %out = %out @ %byte; + } + + // verify that the password is correct by checking with the nonce (SHA1 plaintext hash) + %hash = sha1sum(%out); + if (%hash $= %nonce || %doingEncryption) + return %out; + else + { + %out = getSubStr(%out, 0, strlen(%out) - 2); + // last 4-bit block was corrupted... try to fix it + for (%i = 0; %i < 16; %i++) + { + %chunk = getSubStr(DecToHex(%i), 1, 1); + %hash = sha1sum(%out @ %chunk); + if (%hash $= %nonce) + return %out @ %chunk; + } + // last 8-bit block was corrupted... try to fix it + for (%i = 0; %i < 256; %i++) + { + %chunk = DecToHex(%i); + %hash = sha1sum(%out @ %chunk); + if (%hash $= %nonce) + return %out @ %chunk; + } + + // looks like the password was still wrong + return ""; + } +} + +function t2csri_encryptAccountKey(%account, %password) +{ + %nonce = sha1sum(%account); + return %nonce @ ":" @ t2csri_decryptAccountKey(%account, %password, %nonce, 1); +} + +// this does the "login" process internally for accounts that exist +// it finds the cert, the private key, decrypts it, and sets up the +// RSA key data structures in the Ruby environment. +function t2csri_getAccount(%username, %password) +{ + $LoginUsername = %username; + $LoginCertificate = t2csri_getAccountCertificate(%username); + if ($LoginCertificate $= "") + { + return "NO_SUCH_ACCOUNT"; + } + + // split the certificate into its components + // username guid e n signature + %user = getField($LoginCertificate, 0); + %guid = getField($LoginCertificate, 1); + %e = getField($LoginCertificate, 2); + %n = getField($LoginCertificate, 3); + %sig = getField($LoginCertificate, 4); + + // nonce:encrypted + %encryptedKey = t2csri_getEncryptedAccountKey(%username); + %encryptedKey = getField(%encryptedKey, 1); // strip the username from the field + %nonce = getSubStr(%encryptedKey, 0, strstr(%encryptedKey, ":")); + %block = getSubStr(%encryptedKey, strLen(%nonce) + 1, strLen(%encryptedKey)); + %decryptedKey = t2csri_decryptAccountKey(%block, %password, %nonce); + if (%decryptedKey $= "") + { + return "INVALID_PASSWORD"; + } + + // we have the account, and the properly decrypted private key... interface with Ruby and + // insert the data... + rubyEval("$accountKey = RSAKey.new"); + rubyEval("$accountKey.e = '" @ %e @ "'.to_i(16)"); + rubyEval("$accountKey.n = '" @ %n @ "'.to_i(16)"); + rubyEval("$accountKey.d = '" @ %decryptedKey @ "'.to_i(16)"); + // protect the private exponent (d) from reading now. + // this will prevent scripts from stealing the private exponent, but still + // allows doing decryption using the player's account key + rubyEval("$accountKey.protect"); + + return "SUCCESS"; +} + +// this sends a request to the authentication server to retrieve an account that is +// not locally stored on the client machine. It does some fancy mangling on the +// password to prevent the authentication server from decrypting the password +function t2csri_downloadAccount(%username, %password) +{ + // clear out any previously downloaded account + $Authentication::Status::LastCert = ""; + $Authentication::Status::LastExp = ""; + + // bring up a UI to indicate account download is in progress + LoginMessagePopup("DOWNLOADING", "Downloading account credentials..."); + + // this hash is what the auth server stores -- it does not store the password + // in a recoverable manner + %authStored = sha1sum("3.14159265" @ strlwr(%username) @ %password); + //echo(%authStored); + + // get time in UTC, use it as a nonce to prevent replay attacks + rubyEval("tsEval '$temp=\"' + Time.new.getutc.to_s + '\";'"); + %utc = $temp; + $temp = ""; + //echo(%utc); + + // time/username nonce + %timeNonce = sha1sum(%utc @ strlwr(%username)); + //echo(%timeNonce); + + // combined hash + %requestHash = sha1sum(%authStored @ %timeNonce); + //echo(%requestHash); + + // sent to server: username utc requesthash + // server sends back: certificate and encrypted private exponent + Authentication_recoverAccount(%username @ "\t" @ %utc @ "\t" @ %requestHash); + t2csri_processDownloadCompletion(); +} + +function t2csri_processDownloadCompletion() +{ + if ($Authentication::Status::ActiveMode != 0) + { + schedule(128, 0, t2csri_processDownloadCompletion); + return; + } + else + { + if (strlen($Authentication::Status::LastCert) > 0) + { + popLoginMessage(); + LoginMessagePopup("SUCCESS", "Account credentials downloaded successfully."); + schedule(3000, 0, popLoginMessage); + + %cert = strreplace($Authentication::Status::LastCert, "'", "\\'"); + %exp = strreplace($Authentication::Status::LastExp, "'", "\\'"); + %cert = getSubStr(%cert, 6, strlen(%cert)); + %exp = getField(%cert, 0) @ "\t" @ getSubStr(%exp, 5, strlen(%exp)); + // add it to the store + rubyEval("certstore_addAccount('" @ %cert @ "','" @ %exp @ "')"); + + // refresh the UI + $LastLoginKey = $LoginName; + LoginEditMenu.clear(); + LoginEditMenu.populate(); + LoginEditMenu.setActive(1); + LoginEditMenu.setSelected(0); + LoginEditBox.clear(); + } + else + { + popLoginMessage(); + LoginMessagePopup("ERROR", "Credential download failed. Check your username/password."); + schedule(3000, 0, popLoginMessage); + } + } +} + +// gets a hex version of the game server's IP address +// used to prevent a replay attack as described by Rain +function t2csri_gameServerHexAddress() +{ + %ip = ServerConnection.getAddress(); + %ip = getSubStr(%ip, strstr(%ip, ":") + 1, strlen(%ip)); + %ip = getSubStr(%ip, 0, strstr(%ip, ":")); + %ip = strReplace(%ip, ".", " "); + + for (%i = 0; %i < getWordCount(%ip); %i++) + { + %byte = DecToHex(getWord(%ip, %i)); + if (strLen(%byte) < 2) + %byte = "0" @ %byte; + %hex = %hex @ %byte; + } + return %hex; +} + +// client side interface to communicate with the game server +function clientCmdt2csri_pokeClient(%version) +{ + echo("T2CSRI: Authenticating with connected game server."); + + // send the community certificate, assuming server is running later than 1.0 + if (getWord(%version, 1) > 1.0) + t2csri_sendCommunityCert(); + + $encryptedchallenge = ""; + + // send the certificate in 200 byte parts + for (%i = 0; %i < strlen($LoginCertificate); %i += 200) + { + commandToServer('t2csri_sendCertChunk', getSubStr($LoginCertificate, %i, 200)); + } + + // send a 64 bit challenge to the server to prevent replay attacks + rubyEval("tsEval '$loginchallenge=\"' + rand(18446744073709551615).to_s(16) + '\";'"); + // append what the client thinks the server IP address is, for anti-replay purposes + $loginchallenge = $loginchallenge @ t2csri_gameServerHexAddress(); + commandToServer('t2csri_sendChallenge', $loginchallenge); + + // at this point, server will validate the signature on the certificate then + // proceed to verifying the client has the private part of the key if valid + // or disconnecting them if invalid + // the only way the client can have a valid cert is if the auth server signed it +} + +function clientCmdt2csri_getChallengeChunk(%chunk) +{ + $encryptedchallenge = $encryptedchallenge @ %chunk; +} + +function clientCmdt2csri_decryptChallenge() +{ + // sanitize the challenge to make sure it contains nothing but hex characters. + // anything else means that the server is trying to hijack control of the interpreter + %challenge = strlwr($encryptedchallenge); + for (%i = 0; %i < strlen(%challenge); %i++) + { + %char = strcmp(getSubStr(%challenge, %i, 1), ""); + if ((%char < 48 || %char > 102) || (%char > 57 && %char < 97)) + { + schedule(1000, 0, MessageBoxOK, "REJECTED","Invalid characters in server challenge."); + disconnect(); + return; + } + } + + rubyEval("tsEval '$decryptedChallenge=\"' + $accountKey.decrypt('" @ %challenge @ "'.to_i(16)).to_s(16) + '\";'"); + + // verify that the client challenge is intact, and extract the server challenge + %replayedClientChallenge = getSubStr($decryptedChallenge, 0, strLen($loginchallenge)); + %serverChallenge = getSubStr($decryptedChallenge, strlen(%replayedClientChallenge), strLen($decryptedChallenge)); + if (%replayedClientChallenge !$= $loginchallenge) + { + schedule(1000, 0, MessageBoxOK, "REJECTED","Server sent back wrong client challenge."); + disconnect(); + return; + } + + // analyze the IP address the server thinks the client is connecting from for the purposes + // of preventing replay attacks + %clip = ipv4_hexBlockToIP(getSubStr(%serverChallenge, strLen(%serverChallenge) - 8, 8)); + if (!ipv4_reasonableConnection(ipv4_hexBlockToIP(t2csri_gameServerHexAddress()), %clip)) + { + schedule(1000, 0, MessageBoxOK, "REJECTED","Server sent back unreasonable IP challenge source. Possible replay attack attempt."); + disconnect(); + return; + } + + // send the server part of the challenge to prove client identity + // this is done on a schedule to prevent side-channel timing attacks on the client's + // private exponent -- different x requires different time for x^d, and d bits can be found + // if you are really resourceful... adding this schedule kills time accuracy and makes such + // a correlation attack very improbable + schedule(getRandom(128, 512), 0, commandToServer, 't2csri_challengeResponse', %serverChallenge); + + // at this point, server will verify that the challenge is equivalent to the one it sent encrypted + // to the client. the only way it can be equivalent is if the client has the private key they + // claim to have. normal T2 connection process continues from this point +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/clientSide.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/clientSide.cs.dso new file mode 100644 index 00000000..3843e336 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/clientSide.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/clientSideClans.cs b/public/base/@vl2/T2csri.vl2/t2csri/clientSideClans.cs new file mode 100644 index 00000000..26a90e9a --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/clientSideClans.cs @@ -0,0 +1,54 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 0.5: 2009-03-18 + +// A little bit of development theory: +// -The Apotheosis DLL contains 3 RSA public keys. One for authentication, one for updates, +// and one for delegation. The delegation key forms the root of the community system trust heirarchy. +// -The delegated-community-enhancement server issues time limited community certificates, which +// annotate the bare account certificates. The annotations include current name, current clan, current tag +// and current clan membership so that getAuthInfo() provides all relevant information. These certificates +// are time limited to enforce the "current" status of the annotations. +// -Since game servers don't communicate with centralized systems (except for listing), the client is +// responsible for providing a signed community certificate, and if prompted, the client is also +// responsible for providing the authoratatively signed certificate from the relevant DCE. Thus, the +// server will accumilate a small cache of valid DCE certificates. + +// DCE certificate format: +// DCEName DCENum IssuedEpoch ExpireEpoch 0 0 e n sig +// The two zeros are reserved for future use. +// Community certificate format: +// DCENum IssuedEpoch ExpireEpoch IssuedForGUID HexBlob Sig +// HexBlob format: +// (Follows same format as contents returned by getAuthInfo, but is hex encoded.) + +function clientCmdt2csri_requestUnknownDCECert(%dceNum) +{ + %cert = $T2CSRI::ClientDCESupport::DCECert[%dceNum]; + if (%cert $= "") + return; // we don't have it, so we can't send it + + %len = strlen(%cert); + for (%i = 0; %i < %len; %i += 200) + { + commandToServer('t2csri_getDCEChunk', getSubStr(%cert, %i, 200)); + } + commandToServer('t2csri_finishedDCE'); +} + +function t2csri_sendCommunityCert() +{ + %cert = $T2CSRI::CommunityCertificate; + if (%cert $= "") + return; // we don't have it, so we can't send it + + %len = strlen(%cert); + for (%i = 0; %i < %len; %i += 200) + { + commandToServer('t2csri_sendCommunityCertChunk', getSubStr(%cert, %i, 200)); + } + commandToServer('t2csri_comCertSendDone'); +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/clientSideClans.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/clientSideClans.cs.dso new file mode 100644 index 00000000..50f2eecf Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/clientSideClans.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/crypto.rb b/public/base/@vl2/T2csri.vl2/t2csri/crypto.rb new file mode 100644 index 00000000..4c5ed26a --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/crypto.rb @@ -0,0 +1,492 @@ +# +# Tribes 2 Community System Reengineering Initiative +# Assymetric Cryptography Identity Provisioning +# Version 1.0 +# +# Written by Electricutioner/Thyth +# http://absolous.no-ip.com/ +# Copyright 2008 +# +# Released under the terms of the GNU General Public License v3 or later. +# http://www.gnu.org/licenses/gpl.html +# Your use of this software is subject to the terms of that license. Use, modification, or distribution +# constitutes acceptance of these software terms. This license is the only manner by which you are permitted +# to use this software, thus rejection of the license terms prohibits your use of this software. +# + +# fast modular exponentiation -- the key to the RSA algorithm +# result = (b ^ e) % m +def rsa_mod_exp(b, e, m) + result = 1 + while (e > 0) + if ((e & 1) == 1) + result = (result * b) % m + end + e = e >> 1 + b = (b * b) % m + end + return result +end + +# RSA key class to keep things nice and organized +class RSAKey + # allow reading and writing the key values + attr_reader :e, :n, :twister, :strength + attr_writer :e, :d, :n, :twister + + # allow protecting the d value so it isn't stolen by evil scripts + # once a key is protected, it cannot be deprotected, but it can be used to decrypt + def protect + @protected = 1 + end + # attribute reader for d that returns nil if key protection is active + def d + if (@protected == 1) + return nil + else + return @d + end + end + + # encrypt a message with the public exponent (e) + # this could be construed as a misnomer, since this is used to verify authentication + # images from the authentication server, and to verify a client has both parts of the key they + # claim to have + def encrypt(message) + rsa_mod_exp(message, @e, @n) + end + + # decrypt a message with the private exponent (d), also usable for signing + # obviously, this will fail if the instance is only the public part of the key + def decrypt(message) + rsa_mod_exp(message, @d, @n) + end + + # generate a new random RSA key of the specified bitsize + # this generates keys that should be resistant to quick factorization techniques + def generate(bitsize) + p = 0 + q = 0 + @n = 100 + @strength = bitsize + + # test for some conditions that could produce insecure RSA keys + # p, q difference to see if Fermat factorization could be successful + # p - q must be greater than 2*(n ^ (1/4)) + while ((p - q).abs < (2 * Math.sqrt(Math.sqrt(@n)))) + p = createPrime(bitsize / 2, 150) + q = createPrime(bitsize / 2, 150) + @n = p * q + end + + totient = (p - 1) * (q - 1) + + # e must be coprime to the totient. we start at 3 and add 2 whenever coprime test fails + @e = 3 + coprimee = 0 + while (coprimee) + if (@e > 7) + # e over 7 has a large chance of not being coprime to the totient + generate(bitsize) + return + end + block = extendedEuclid(@e, totient, 0, 1, 1, 0) + if (block[0] > 1) + @e = @e + 2 + else + coprimee = nil + end + end + + # calculate the d value such that d * e = 1 mod totient + # this calculation is done in the coprime of e verification + @d = block[1] + while (@d < 0) + @d = @d + totient + end + + # verify that the generated key is a valid RSA key + 1.upto(10) do |i| + testVal = @twister.randomnumber(bitsize) % @n + if (decrypt(encrypt(testVal)) != testVal) + # key failed... generate a new one + generate(bitsize) + return + end + end + end + + # private methods that people shouldn't be poking without a good reason + private + # obtain gcd and return the "d" value that we want + def extendedEuclid(a, b, c, d, e, f) + if (b == 0) + block = Array.new(3, 0) + block[0] = a; # gcd(a, b) + block[1] = e; # coefficient of 'a' and the 'd' value we want + block[2] = f; # coefficient of 'b' + return block + else + return extendedEuclid(b, a % b, e - ((a / b) * c), f - ((a / b) * d), c, d); + end + end + + # create a prime number of the specified bitlength + # the number of tests specified will control how many miller-rabin primality tests are run + # this function will return a prime number with a high degree of confidence if sufficient + # tests are run + def createPrime(bitlen, tests) + # generate a random number of the specific bitlen + p = @twister.randomnumber(bitlen) + + # run the primality tests + testrun = 0 + while (testrun < tests) + if (prime?(p)) + testrun = testrun + 1 + else # not prime -- generate a new one + return createPrime(bitlen, tests) + end + end + return p + end + + # run a miller-rabin primality test on the given number + # returns true if the number is "probably" prime + def prime?(potential) + qandm = getqm(potential) + if (qandm[0] == -1) + return nil + end + + bval = @twister.randomnumber(@strength / 2) + mval = qandm[1] + + if (rsa_mod_exp(bval, mval, potential) == 1) + return 1 + end + j = 0 + while (j < qandm[0]) + if ((potential - 1) == rsa_mod_exp(bval, mval, potential)) + return 1 + end + mval = mval * 2 + j = j + 1 + end + return nil + end + + def getqm(p) + p = p - 1 + rt = Array.new(2, 0) + if (p & 1 != 0) + rt[0] = -1 + rt[1] = -1 + return rt + end + div = p / 2 + counter = 1 + while (div & 1 == 0) + counter = counter + 1 + div = div / 2 + end + rt[0] = counter + rt[1] = div + return rt + end +end + +# Mersenne Twister pseudo random number generator, modified for cryptographic security +# period length should be 20 * (2 ^ 19937 - 1) +class MersenneTwister + @index = 0 + + # build the internal storage array + def initialize + @mt = Array.new(624, 0) + end + + # initialize the generator from a seed, can be done repeatedly + def seedgen(seed) + @mt[0] = seed + 1.upto(623) do |i| + @mt[i] = 0xffffffff & (1812433243 * (@mt[i - 1] ^ (@mt[i - 1] >> 30)) + i) + end + generateNumbers + end + + # extract a number that does not give away the state of the generator, takes 37 elements from generator + # and applies SHA1 on it to get a 20 element number. this is repeated until the required length + # is reached, and truncated as necessary to bring it down to the requested bitlen + def randomnumber(bits) + bytes = bits / 8 + if (bits % 8 != 0) + bytes = bytes + 1 + end + + produced = 0 + output = 0 + stages = 0 + mask = 0 + + sha1hash = SHA1Pure.new + while (produced < bytes) + sha1hash.prepare + 1.upto(37) do |i| + sha1hash.append(extractNumber().to_s); + end + digest = sha1hash.hexdigest.to_i(16) + output = output | (digest << (160 * stages)) + produced = produced + 20 + stages = stages + 1 + end + + 0.upto(bits.to_i) do |i| + mask = (mask.to_i << 1) | 1 + end + return (output & mask) + end + + private + # extract a tempered pseudorandom number + def extractNumber() + if (@index == 0) + generateNumbers() + end + + y = @mt[@index.to_i] + y = y ^ (y >> 11) + y = y ^ ((y << 7) & 2636928640) + y = y ^ ((y << 15) & 4022730752) + y = y ^ (y >> 18) + y = y & 0xffffffff + + @index = (@index.to_i + 1) % 624 + return y + end + + # generate 624 untempered numbers for this generator's array + def generateNumbers() + 0.upto(623) do |i| + y = (@mt[i] & 0x80000000) + (@mt[(i + 1) % 624] & 0x7FFFFFFF) + @mt[i] = @mt[(i + 397) % 624] ^ (y >> 1) + if (y & 1 == 1) + @mt[i] = @mt[i] ^ 2567483615 + end + end + end +end + +# SHA1 in Pure Ruby +class SHA1Pure + + def initialize + prepare + end + + # prepare the hash digester for a new hash + def prepare + @state = Array.new(5, 0) + @block = Array.new(16, 0) + @blockIndex = 0 + @count = 0 + + @state[0] = 0x67452301 + @state[1] = 0xefcdab89 + @state[2] = 0x98badcfe + @state[3] = 0x10325476 + @state[4] = 0xc3d2e1f0 + end + + # append a string to the string being digested + def append(str) + str = str.to_s + str.each_byte {|c| update(c.to_i & 0xff)} + end + + # produce a hexidecimal digest string + def hexdigest + bits = Array.new(8, 0) + 0.upto(7) do |i| + bits[i] = (@count >> (((7 - i) * 8) & 0xff)) & 0xff + end + update(128) + while (@blockIndex != 56) + update(0) + end + 0.upto(7) do |i| + update(bits[i]) + end # this will accomplish a transform + + # output the digest + digest = "" + 0.upto(4) do |i| + chunk = @state[i].to_s(16) + while(chunk.length < 8) + chunk = "0" + chunk + end + digest = digest + chunk + end + prepare + return digest + end + + private + def rol(val, bits) + val = val.to_i + bits = bits.to_i + return (val << bits) | (val >> (32 - bits)) + end + + def blk0(i) + i = i.to_i + @block[i] = (rol(@block[i], 24) & 0xff00ff00) | (rol(@block[i], 8) & 0xff00ff) + @block[i] = @block[i] & 0xffffffff + return @block[i] + end + + def blk(i) + i = i.to_i + @block[i & 15] = rol(@block[(i + 13) & 15] ^ @block[(i + 8) & 15] ^ @block[(i + 2) & 15] ^ @block[i & 15], 1) + @block[i & 15] = @block[i & 15] & 0xffffffff + return @block[i & 15] + end + + def r0(data, v, w, x, y, z, i) + data[z] += ((data[w] & (data[x] ^ data[y])) ^ data[y]) + blk0(i) + 0x5a827999 + rol(data[v], 5) + data[z] = data[z] & 0xffffffff + data[w] = rol(data[w], 30) & 0xffffffff + end + + def r1(data, v, w, x, y, z, i) + data[z] += ((data[w] & (data[x] ^ data[y])) ^ data[y]) + blk(i) + 0x5a827999 + rol(data[v], 5) + data[z] = data[z] & 0xffffffff + data[w] = rol(data[w], 30) & 0xffffffff + end + + def r2(data, v, w, x, y, z, i) + data[z] += (data[w] ^ data[x] ^ data[y]) + blk(i) + 0x6ed9eba1 + rol(data[v], 5) + data[z] = data[z] & 0xffffffff + data[w] = rol(data[w], 30) & 0xffffffff + end + + def r3(data, v, w, x, y, z, i) + data[z] += (((data[w] | data[x]) & data[y]) | (data[w] & data[x])) + blk(i) + 0x8f1bbcdc + rol(data[v], 5) + data[z] = data[z] & 0xffffffff + data[w] = rol(data[w], 30) & 0xffffffff + end + + def r4(data, v, w, x, y, z, i) + data[z] += (data[w] ^ data[x] ^ data[y]) + blk(i) + 0xca62c1d6 + rol(data[v], 5) + data[z] = data[z] & 0xffffffff + data[w] = rol(data[w], 30) & 0xffffffff + end + + def transform + dd = Array.new(5, 0) + dd[0] = @state[0] + dd[1] = @state[1] + dd[2] = @state[2] + dd[3] = @state[3] + dd[4] = @state[4] + + r0(dd,0,1,2,3,4, 0) + r0(dd,4,0,1,2,3, 1) + r0(dd,3,4,0,1,2, 2) + r0(dd,2,3,4,0,1, 3) + r0(dd,1,2,3,4,0, 4) + r0(dd,0,1,2,3,4, 5) + r0(dd,4,0,1,2,3, 6) + r0(dd,3,4,0,1,2, 7) + r0(dd,2,3,4,0,1, 8) + r0(dd,1,2,3,4,0, 9) + r0(dd,0,1,2,3,4,10) + r0(dd,4,0,1,2,3,11) + r0(dd,3,4,0,1,2,12) + r0(dd,2,3,4,0,1,13) + r0(dd,1,2,3,4,0,14) + r0(dd,0,1,2,3,4,15) + r1(dd,4,0,1,2,3,16) + r1(dd,3,4,0,1,2,17) + r1(dd,2,3,4,0,1,18) + r1(dd,1,2,3,4,0,19) + r2(dd,0,1,2,3,4,20) + r2(dd,4,0,1,2,3,21) + r2(dd,3,4,0,1,2,22) + r2(dd,2,3,4,0,1,23) + r2(dd,1,2,3,4,0,24) + r2(dd,0,1,2,3,4,25) + r2(dd,4,0,1,2,3,26) + r2(dd,3,4,0,1,2,27) + r2(dd,2,3,4,0,1,28) + r2(dd,1,2,3,4,0,29) + r2(dd,0,1,2,3,4,30) + r2(dd,4,0,1,2,3,31) + r2(dd,3,4,0,1,2,32) + r2(dd,2,3,4,0,1,33) + r2(dd,1,2,3,4,0,34) + r2(dd,0,1,2,3,4,35) + r2(dd,4,0,1,2,3,36) + r2(dd,3,4,0,1,2,37) + r2(dd,2,3,4,0,1,38) + r2(dd,1,2,3,4,0,39) + r3(dd,0,1,2,3,4,40) + r3(dd,4,0,1,2,3,41) + r3(dd,3,4,0,1,2,42) + r3(dd,2,3,4,0,1,43) + r3(dd,1,2,3,4,0,44) + r3(dd,0,1,2,3,4,45) + r3(dd,4,0,1,2,3,46) + r3(dd,3,4,0,1,2,47) + r3(dd,2,3,4,0,1,48) + r3(dd,1,2,3,4,0,49) + r3(dd,0,1,2,3,4,50) + r3(dd,4,0,1,2,3,51) + r3(dd,3,4,0,1,2,52) + r3(dd,2,3,4,0,1,53) + r3(dd,1,2,3,4,0,54) + r3(dd,0,1,2,3,4,55) + r3(dd,4,0,1,2,3,56) + r3(dd,3,4,0,1,2,57) + r3(dd,2,3,4,0,1,58) + r3(dd,1,2,3,4,0,59) + r4(dd,0,1,2,3,4,60) + r4(dd,4,0,1,2,3,61) + r4(dd,3,4,0,1,2,62) + r4(dd,2,3,4,0,1,63) + r4(dd,1,2,3,4,0,64) + r4(dd,0,1,2,3,4,65) + r4(dd,4,0,1,2,3,66) + r4(dd,3,4,0,1,2,67) + r4(dd,2,3,4,0,1,68) + r4(dd,1,2,3,4,0,69) + r4(dd,0,1,2,3,4,70) + r4(dd,4,0,1,2,3,71) + r4(dd,3,4,0,1,2,72) + r4(dd,2,3,4,0,1,73) + r4(dd,1,2,3,4,0,74) + r4(dd,0,1,2,3,4,75) + r4(dd,4,0,1,2,3,76) + r4(dd,3,4,0,1,2,77) + r4(dd,2,3,4,0,1,78) + r4(dd,1,2,3,4,0,79) + + @state[0] = (@state[0] + dd[0]) & 0xffffffff + @state[1] = (@state[1] + dd[1]) & 0xffffffff + @state[2] = (@state[2] + dd[2]) & 0xffffffff + @state[3] = (@state[3] + dd[3]) & 0xffffffff + @state[4] = (@state[4] + dd[4]) & 0xffffffff + end + + def update(b) + mask = (8 * (@blockIndex & 3)) + @count = @count + 8 + @block[@blockIndex >> 2] = @block[@blockIndex >> 2] & ~(0xff << mask) + @block[@blockIndex >> 2] = @block[@blockIndex >> 2] | ((b & 0xff) << mask) + @blockIndex = @blockIndex + 1 + if (@blockIndex == 64) + transform + @blockIndex = 0 + end + end +end \ No newline at end of file diff --git a/public/base/@vl2/T2csri.vl2/t2csri/glue.cs b/public/base/@vl2/T2csri.vl2/t2csri/glue.cs new file mode 100644 index 00000000..432c6211 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/glue.cs @@ -0,0 +1,30 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 1.0 initialization and glue file + +// enable debugging console +//enableWinConsole(1); + +// load the torque script components +exec("t2csri/authconnect.cs"); +exec("t2csri/authinterface.cs"); +exec("t2csri/base64.cs"); +exec("t2csri/clientSide.cs"); +exec("t2csri/ipv4.cs"); +exec("t2csri/rubyUtils.cs"); + +// load the Ruby components +rubyExec("t2csri/crypto.rb"); +rubyExec("t2csri/certstore.rb"); + +rubyEval("certstore_loadAccounts"); +rubyEval("tsEval '$RubyEnabled=1;'"); + +// connect to the auth server via signed lookup +schedule(32, 0, authConnect_findAuthServer); + +// get the global IP for sanity testing purposes +schedule(32, 0, ipv4_getInetAddress); diff --git a/public/base/@vl2/T2csri.vl2/t2csri/glue.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/glue.cs.dso new file mode 100644 index 00000000..41c6fde0 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/glue.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/ipv4.cs b/public/base/@vl2/T2csri.vl2/t2csri/ipv4.cs new file mode 100644 index 00000000..184c47fc --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/ipv4.cs @@ -0,0 +1,106 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// IPv4 Utils Version 1.1 (03/26/2008) + +// Whatismyip spat this out for automation purposes: +// http://www.whatismyip.com/automation/n09230945.asp +// Hopefully it won't change. We only check for extern-ip once +// when the game launches, so there shouldn't be more than a +// couple of hundred hits per day from the entire T2 community. + +$IPv4::AutomationURL = "/whatismyip.php"; + +function ipv4_getInetAddress() +{ + if ($IPv4::InetAddress !$= "") + return; + + if (isObject(IPv4Connection)) + { + IPv4Connection.disconnect(); + IPv4Connection.delete(); + } + new TCPObject(IPv4Connection); + IPV4Connection.data = "GET " @ $IPv4::AutomationURL @ " HTTP/1.1\r\nHost: www.tribesnext.com\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n\r\n"; + IPv4Connection.connect("www.tribesnext.com:80"); +} + +function IPv4Connection::onConnected(%this) +{ + %this.send(%this.data); +} + +function IPv4Connection::onLine(%this, %line) +{ + if (%line $= "" || %line == 0) + return; + $IPv4::InetAddress = %line; + %this.disconnect(); +} + +// added for 1.1, schedule a new attempt if we're blank, until we have an address +function IPv4Connection::onDisconnect(%this) +{ + schedule(5000, 0, ipv4_getInetAddress); +} + +// used for the IP-nonce sanity check... +// source will claim that this computer is the destination. +// check to make sure the destination is reasonable +function ipv4_reasonableConnection(%source, %destination) +{ + if (%destination $= $IPv4::InetAddress) + { + // the destination claims to be us from the Internet. This is reasonable. + return 1; + } + else + { + // destination is different from the IPv4 Internet Address. We could be on a LAN. + if (getSubStr(%destination, 0, 2) $= "10") + { + // Class A LAN, check if the client is also on the same network + return (getSubStr(%source, 0, 2) $= "10"); + } + else if (getSubStr(%destination, 0, 3) $= "172" && getSubStr(%destination, 4, 2) > 15 && getSubStr(%destination, 4, 2) < 33) + { + // Class B LAN, check if the client is also on the same network + return (getSubStr(%source, 0, 3) $= "172" && getSubStr(%source, 4, 2) > 15 && getSubStr(%source, 4, 2) < 33); + } + else if (getSubStr(%destination, 0, 7) $= "192.168") + { + // Class C LAN, check if the client is also on the same network + return (getSubStr(%source, 0, 7) $= "192.168"); + } + else if (getSubStr(%destination, 0, 7) $= "169.254") + { + // Link-local addresses/Zeroconf network, check if client is from the same place + return (getSubStr(%source, 0, 7) $= "169.254"); + } + else if (%destination $= $Host::BindAddress) + { + // Or it could be the pref-based bind address. + return 1; + } + else + { + // looks like the destination address provided by the source is not reasonable + // this is likely an attempt at a client token replay attack + return 0; + } + } +} + + +// convert a (big endian) hex block into a numeric IP +function ipv4_hexBlockToIP(%hex) +{ + for (%i = 0; %i < 4; %i++) + { + %ip = %ip @ "." @ strcmp(collapseEscape("\\x" @ getSubStr(%hex, %i * 2, 2)), ""); + } + return getSubStr(%ip, 1, strlen(%ip) - 1); +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/ipv4.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/ipv4.cs.dso new file mode 100644 index 00000000..084f197e Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/ipv4.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/rubyUtils.cs b/public/base/@vl2/T2csri.vl2/t2csri/rubyUtils.cs new file mode 100644 index 00000000..60f9a483 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/rubyUtils.cs @@ -0,0 +1,31 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008-2009 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Ruby Interface Utilities Version 1.3 (01/27/2009) + +// loads a ruby script +function rubyExec(%script) +{ + echo("Loading Ruby script " @ %script @ "."); + new FileObject("RubyExecutor"); + RubyExecutor.openForRead(%script); + + while (!RubyExecutor.isEOF()) + { + %line = RubyExecutor.readLine(); + %buffer = %buffer @ "\n" @ %line; + } + rubyEval(%buffer); + RubyExecutor.close(); + RubyExecutor.delete(); +} + +// extracts a value from the Ruby interpreter environment +function rubyGetValue(%value) +{ + $temp = ""; + rubyEval("tsEval '$temp=\"' + " @ %value @ " + '\";'"); + return $temp; +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/rubyUtils.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/rubyUtils.cs.dso new file mode 100644 index 00000000..6b5c2644 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/rubyUtils.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/serverSide.cs b/public/base/@vl2/T2csri.vl2/t2csri/serverSide.cs new file mode 100644 index 00000000..990b41ee --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/serverSide.cs @@ -0,0 +1,301 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 1.2: 2009-02-16 +// Clan/Rename Certificate support is included in this version. + +// initialize the SHA1 digester in Ruby +function t2csri_initDigester() +{ + $SHA1::Initialized = 1; + rubyEval("$sha1hasher = SHA1Pure.new"); +} + +// use Ruby to get the SHA1 hash of the string +function sha1sum(%string) +{ + if (!$SHA1::Initialized) + t2csri_initDigester(); + %string = strReplace(%string, "'", "\\'"); + rubyEval("$sha1hasher.prepare"); + rubyEval("$sha1hasher.append('" @ %string @ "')"); + rubyEval("tsEval '$temp=\"' + $sha1hasher.hexdigest + '\";'"); + %temp = $temp; + $temp = ""; + return %temp; +} + +// verify with the auth server's RSA public key... hard coded in the executable +function t2csri_verify_auth_signature(%sig) +{ + rubyEval("tsEval '$temp=\"' + t2csri_verify_auth_signature('" @ %sig @ "').to_s(16) + '\";'"); + while (strLen($temp) < 40) + $temp = "0" @ $temp; + return $temp; +} + +// server sends the client a certificate in chunks, since they can be rather large +function serverCmdt2csri_sendCertChunk(%client, %chunk) +{ + if (%client.doneAuthenticating) + return; + + //echo("Client sent certificate chunk."); + %client.t2csri_cert = %client.t2csri_cert @ %chunk; + if (strlen(%client.t2csri_cert) > 20000) + { + %client.setDisconnectReason("Account certificate too long. Check your account key for corruption."); + %client.delete(); + } +} + +// gets a hex version of the client's IP address +// used to prevent a replay attack as described by Rain +function t2csri_gameClientHexAddress(%client) +{ + %ip = %client.getAddress(); + %ip = getSubStr(%ip, strstr(%ip, ":") + 1, strlen(%ip)); + %ip = getSubStr(%ip, 0, strstr(%ip, ":")); + %ip = strReplace(%ip, ".", " "); + + for (%i = 0; %i < getWordCount(%ip); %i++) + { + %byte = DecToHex(getWord(%ip, %i)); + if (strLen(%byte) < 2) + %byte = "0" @ %byte; + %hex = %hex @ %byte; + } + return %hex; +} + +// client is done sending their cert... verify it, and encrypt a challenge for the client +// challenge sent to client is %clientChallenge @ %serverChallenge. +function serverCmdt2csri_sendChallenge(%client, %clientChallenge) +{ + if (%client.doneAuthenticating) + return; + + //echo("Client requesting challenge. CC: " @ %clientChallenge); + //echo("Client's certificate: " @ %client.t2csri_cert); + // verify that the certificate the client sent is signed by the authentication server + %user = strReplace(getField(%client.t2csri_cert, 0), "\x27", "\\\x27"); + + %guid = getField(%client.t2csri_cert, 1); + // sanitize GUID + for (%i = 0; %i < strlen(%guid); %i++) + { + %char = strcmp(getSubStr(%guid, %i, 1), ""); + if (%char > 57 || %char < 48) + { + %client.setDisconnectReason("Invalid characters in client GUID."); + %client.delete(); + return; + } + } + + %e = getField(%client.t2csri_cert, 2); + %n = getField(%client.t2csri_cert, 3); + %sig = getField(%client.t2csri_cert, 4); + + // sanitize e, n, sig... all of which are just hex + %rsa_chunk = strlwr(%e @ %n @ %sig); + for (%i = 0; %i < strlen(%rsa_chunk); %i++) + { + %char = strcmp(getSubStr(%rsa_chunk, %i, 1), ""); + if ((%char < 48 || %char > 102) || (%char > 57 && %char < 97)) + { + %client.setDisconnectReason("Invalid characters in certificate RSA fields."); + %client.delete(); + return; + } + } + + // get a SHA1 sum + %sumStr = %user @ "\t" @ %guid @ "\t" @ %e @ "\t" @ %n; + %certSum = sha1sum(%sumStr); + %verifSum = t2csri_verify_auth_signature(%sig); + while (strLen(%verifSum) < 40) + %verifSum = "0" @ %verifSum; + //echo("Calc'd SHA1: " @ %certSum); + //echo("Signed SHA1: " @ %verifSum); + + // verify signature + if (%verifSum !$= %certSum) + { + // client supplied a bogus certificate that was never signed by the auth server + // abort their connection + %client.setDisconnectReason("Invalid account certificate."); + %client.delete(); + return; + } + + // process client challenge half + %client.t2csri_clientChallenge = %clientChallenge; + + // sanitize the challenge to make sure it contains nothing but hex characters. + // anything else means that the client is trying to hijack control of the interpreter + %clientChallenge = strlwr(%clientChallenge); + for (%i = 0; %i < strlen(%clientChallenge); %i++) + { + %char = strcmp(getSubStr(%clientChallenge, %i, 1), ""); + if ((%char < 48 || %char > 102) || (%char > 57 && %char < 97)) + { + %client.setDisconnectReason("Invalid characters in client challenge."); + %client.delete(); + return; + } + } + + // verify that the IP address the client thinks it is connecting to is the address this server + // is reasonable... take into account connections from the same private IP subnet (192.168.*.*, 10.*.*.*, etc) + %sanityIP = ipv4_hexBlockToIP(getSubStr(%clientChallenge, strLen(%clientChallenge) - 8, 8)); + %sourceIP = ipv4_hexBlockToIP(t2csri_gameClientHexAddress(%client)); + if (!ipv4_reasonableConnection(%sourceIP, %sanityIP)) + { + %client.setDisconnectReason("Potential man in the middle attack detected. Your client claims it connected to: " @ %sanityIP @ ", but the server does not consider this reasonable."); + %client.delete(); + return; + } + + // calculate a random 64-bit server side challenge + rubyEval("tsEval '$temp=\"' + rand(18446744073709551615).to_s(16) + '\";'"); + %client.t2csri_serverChallenge = $temp @ t2csri_gameClientHexAddress(%client); + + %fullChallenge = %client.t2csri_clientChallenge @ %client.t2csri_serverChallenge; + rubyEval("tsEval '$temp=\"' + rsa_mod_exp('" @ %fullChallenge @ "'.to_i(16), '" @ %e @ "'.to_i(16), '" @ %n @ "'.to_i(16)).to_s(16) + '\";'"); + + // send the challenge in 200 byte chunks + for (%i = 0; %i < strlen($temp); %i += 200) + { + commandToClient(%client, 't2csri_getChallengeChunk', getSubStr($temp, %i, 200)); + } + // tell the client we're done sending + commandToClient(%client, 't2csri_decryptChallenge'); + + // set up the "auth" info retrieved by cid.getAuthInfo() + %client.t2csri_authinfo = %user @ "\t\t0\t" @ %guid @ "\n0\n"; + + // clan support: check supplemental time limited certificate, if it was sent + %comCert = %client.t2csri_comCert; + if (strLen(%comCert) > 0) + { + // assuming there is a comCert, and we aren't running in bare mode + if (getField(%comCert, 3) $= %guid) + { + // GUID in the community cert matches that of the account cert + %client.t2csri_authinfo = %client.t2csri_comInfo; + } + else + { + // uh oh... someone's being naughty.. valid cert, but for a different player. kill them! + %client.setDisconnectReason("Community supplemental certificate doesn't match account certificate."); + %client.delete(); + return; + } + } +} + + +// verify the client's server challenge matches the one stored, if so, continue +// loading sequence +function serverCmdt2csri_challengeResponse(%client, %serverChallenge) +{ + if (%client.doneAuthenticating) + return; + + if (%client.t2csri_serverChallenge $= %serverChallenge) + { + // check to see if the client is GUID banned, now that we verified their certificate + if (banList_checkGUID(getField(%client.t2csri_authInfo, 3))) + { + %client.setDisconnectReason("You are not allowed to play on this server."); + %client.delete(); + return; + } + + // client checks out... continue loading sequence + %client.onConnect(%client.tname, %client.trgen, %client.tskin, %client.tvoic, %client.tvopi); + } + else + { + %client.setDisconnectReason("Invalid server challenge. Check your account key for corruption."); + %client.delete(); + } +} + +// delete a client if they spend more than 15 seconds authenticating +function t2csri_expireClient(%client) +{ + if (!isObject(%client)) + return; + %client.setDisconnectReason("This is a TribesNext server. You must install the TribesNext client to play. See www.tribesnext.com for info."); + %client.delete(); +} + +package t2csri_server +{ + // packaged to create the "pre-connection" authentication phase + function GameConnection::onConnect(%client, %name, %raceGender, %skin, %voice, %voicePitch) + { + if (%client.t2csri_serverChallenge $= "" && !%client.isAIControlled() && %client.getAddress() !$= "Local") + { + // check to see if the client is IP banned + if (banList_checkIP(%client)) + { + %client.setDisconnectReason("You are not allowed to play on this server."); + %client.delete(); + return; + } + + //echo("Client connected. Initializing pre-connection authentication phase..."); + // save these for later + %client.tname = %name; + %client.trgen = %raceGender; + %client.tskin = %skin; + %client.tvoic = %voice; + %client.tvopi = %voicePitch; + + // start the 15 second count down + %client.tterm = schedule(15000, 0, t2csri_expireClient, %client); + + commandToClient(%client, 't2csri_pokeClient', "T2CSRI 1.1 - 03/18/2009"); + return; + } + //echo("Client completed pre-authentication phase."); + + // continue connection process + if (isEventPending(%client.tterm)) + cancel(%client.tterm); + + Parent::onConnect(%client, %name, %raceGender, %skin, %voice, %voicePitch); + %client.doneAuthenticating = 1; + } + + // packaged to prevent game leaving messages for clients that are in the authentication phase + function GameConnection::onDrop(%client, %reason) + { + if (!isObject(%client) || !%client.doneAuthenticating) + return; + Parent::onDrop(%client, %reason); + } + + // packaged to pull info from the certificate, rather than some internal data structures + // format is kept consistent though: + // >Name ActiveClanTag Prepend(0)/Postpend(1)Tag guid + // >NumberOfClans + // >ClanName TagForClan Prepend(0)/Postpend(1)Tag clanid rank title + + // in this version, there is no clan support, so those fields are empty + // clan support will be implemented via delegation to a community server + function GameConnection::getAuthInfo(%client) + { + if (%client.getAddress() $= "Local" && %client.t2csri_authInfo $= "") + %client.t2csri_authInfo = WONGetAuthInfo(); + return %client.t2csri_authInfo; + } +}; + +if ($PlayingOnline) + activatePackage(t2csri_server); diff --git a/public/base/@vl2/T2csri.vl2/t2csri/serverSideClans.cs b/public/base/@vl2/T2csri.vl2/t2csri/serverSideClans.cs new file mode 100644 index 00000000..5041cdac --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/serverSideClans.cs @@ -0,0 +1,206 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 1.0: 2009-02-13 + +// A little bit of development theory: +// -The Apotheosis DLL contains 3 RSA public keys. One for authentication, one for updates, +// and one for delegation. The delegation key forms the root of the community system trust heirarchy. +// -The delegated-community-enhancement server issues time limited community certificates, which +// annotate the bare account certificates. The annotations include current name, current clan, current tag +// and current clan membership so that getAuthInfo() provides all relevant information. These certificates +// are time limited to enforce the "current" status of the annotations. +// -Since game servers don't communicate with centralized systems (except for listing), the client is +// responsible for providing a signed community certificate, and if prompted, the client is also +// responsible for providing the authoratatively signed certificate from the relevant DCE. Thus, the +// server will accumilate a small cache of valid DCE certificates. + +// DCE certificate format: +// DCEName DCENum IssuedEpoch ExpireEpoch 0 0 e n sig +// The two zeros are reserved for future use. +// Community certificate format: +// DCENum IssuedEpoch ExpireEpoch IssuedForGUID HexBlob Sig +// HexBlob format: +// (Follows same format as contents returned by getAuthInfo, but is hex encoded.) + +// verify with the delegation RSA public key... hard coded in the executable +function t2csri_verify_deleg_signature(%sig) +{ + %sig = strReplace(%sig, "\x27", "\\\x27"); + rubyEval("tsEval '$temp=\"' + t2csri_verify_deleg_signature('" @ %sig @ "').to_s(16) + '\";'"); + while (strLen($temp) < 40) + $temp = "0" @ $temp; + return $temp; +} + +// allow the client to send in an unknown DCE certificate +function serverCmdt2csri_getDCEChunk(%client, %chunk) +{ + // client can only send in one DCE + if (%client.t2csri_sentDCEDone) + return; + + %client.t2csri_activeDCE = %client.t2csri_activeDCE @ %chunk; + if (strlen(%client.t2csri_activeDCE) > 20000) + { + %client.setDisconnectReason("DCE certificate is too long."); + %client.delete(); + return; + } +} + +// client finished sending their DCE. validate it +function serverCmdt2csri_finishedDCE(%client) +{ + if (%client.t2csri_sentDCEDone) + return; + + %dce = %client.t2csri_activeDCE; + if (getFieldCount(%dce) != 9) + { + %client.setDisconnectReason("DCE certificate format is invalid."); + %client.delete(); + return; + } + %dceName = getField(%dce, 0); + %dceNum = getField(%dce, 1); + %dceIssued = getField(%dce, 2); + %dceExpire = getField(%dce, 3); + %dceE = getField(%dce, 6); + %dceN = getField(%dce, 7); + + // check to see if we already have this certificate + if ($T2CSRI::DCEE[%dceNum] !$= "") + { + // we already have the cert... set the client as done + %client.t2csri_sentDCEDone = 1; + %client.t2csri_activeDCE = ""; + return; + } + + %dceSig = getField(%dce, 8); + %sigSha = t2csri_verify_deleg_signature(%dceSig); + %sumStr = %dceName @ "\t" @ %dceNum @ "\t" @ %dceIssued @ "\t" @ %dceExpire @ "\t"; + %sumStr = %sumStr @ getField(%dce, 4) @ "\t" @ getField(%dce, 5) @ "\t" @ %dceE @ "\t" @ %dceN; + %calcSha = sha1sum(%sumStr); + + if (%sigSha !$= %calcSha) + { + echo(%sigSha); + warn(%calcSha); + %client.setDisconnectReason("DCE is not signed by authoritative root."); + %client.delete(); + return; + } + + // passed signature check... now check to see if it has expired/issued time has arrived + %currentTime = currentEpochTime(); + if (%currentTime < %dceIssued || %currentTime > %dceExpire) + { + %client.setDisconnectReason("DCE is not valid for the current time period."); + %client.delete(); + return; + } + + // passed time check... enter it into global data structure + $T2CSRI::DCEName[%dceNum] = %dceName; + $T2CSRI::DCEE[%dceNum] = %dceE; + $T2CSRI::DCEN[%dceNum] = %dceN; + + // client has successfully sent a DCE + %client.t2csri_sentDCEDone = 1; + %client.t2csri_activeDCE = ""; + + // client was pending on a certificate signature check, do that now that we have the DCE cert + if (%client.t2csri_pendingDCE) + { + %client.t2csri_pendingDCE = 0; + serverCmdt2csri_comCertSendDone(%client); + } +} + +// client sending community cert chunk +function serverCmdt2csri_sendCommunityCertChunk(%client, %chunk) +{ + // client can only send in one community cert + if (%client.t2csri_sentComCertDone) + return; + + %client.t2csri_comCert = %client.t2csri_comCert @ %chunk; + if (strlen(%client.t2csri_comCert) > 20000) + { + %client.setDisconnectReason("Community certificate is too long."); + %client.delete(); + return; + } +} + +// client has sent in a full community certificate... validate and parse it +function serverCmdt2csri_comCertSendDone(%client) +{ + if (%client.t2csri_sentComCertDone) + return; + + %comCert = %client.t2csri_comCert; + if (getFieldCount(%comCert) != 6) + { + %client.setDisconnectReason("Community certificate format is invalid."); + %client.delete(); + return; + } + + // parse + %dceNum = getField(%comCert, 0); + %issued = getField(%comCert, 1); + %expire = getField(%comCert, 2); + %guid = getField(%comCert, 3); + %blob = getField(%comCert, 4); + %sig = getField(%comCert, 5); + %sumStr = getFieldS(%comCert, 0, 4); + %calcSha = sha1Sum(%sumStr); + + // find the correct DCE + %e = $T2CSRI::DCEE[%dceNum]; + %n = $T2CSRI::DCEN[%dceNum]; + + // what if we don't have it? ask the client for a copy + if (%e $= "") + { + %client.t2csri_pendingDCE = 1; + commandToClient(%client, 't2csri_requestUnknownDCECert', %dceNum); + return; + } + + // get the signature SHA1 + rubyEval("tsEval '$temp = \"' + rsa_mod_exp('" @ %sig @ "'.to_i(16), '" @ %e @ "'.to_i(16), '" @ %n @ "'.to_i(16)).to_s(16) + '\";'"); + while (strlen($temp) < 40) + $temp = "0" @ $temp; + %sigSha = $temp; + + if (%sigSha !$= %calcSha) + { + %client.setDisconnectReason("Community cert is not signed by a known/valid DCE."); + %client.delete(); + return; + } + + // check expiration + %currentTime = currentEpochTime(); + if (%currentTime > %expire) + { + %client.setDisconnectReason("Community cert has expired. Get a fresh one from the DCE."); + %client.delete(); + return; + } + + // valid cert... set the field for processing in the auth-phase code + %len = strlen(%blob); + for (%i = 0; %i < %len; %i += 2) + { + %decoded = %decoded @ collapseEscape("\\x" @ getSubStr(%blob, %i, 2)); + } + %client.t2csri_comInfo = %decoded @ "\n"; + %client.t2csri_sentComCertDone = 1; +} \ No newline at end of file diff --git a/public/base/@vl2/T2csri.vl2/t2csri/serverSideClans.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/serverSideClans.cs.dso new file mode 100644 index 00000000..896dd5f1 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/serverSideClans.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/serverglue.cs b/public/base/@vl2/T2csri.vl2/t2csri/serverglue.cs new file mode 100644 index 00000000..5e7db087 --- /dev/null +++ b/public/base/@vl2/T2csri.vl2/t2csri/serverglue.cs @@ -0,0 +1,23 @@ +// Tribes 2 Unofficial Authentication System +// http://www.tribesnext.com/ +// Written by Electricutioner/Thyth +// Copyright 2008 by Electricutioner/Thyth and the Tribes 2 Community System Reengineering Intitiative + +// Version 1.0 initialization and glue file (server side) + +if (isObject(ServerGroup)) +{ + // load the Ruby utils and cryptography module + exec("t2csri/rubyUtils.cs"); + rubyExec("t2csri/crypto.rb"); + + // load the torque script components + exec("t2csri/serverSide.cs"); + exec("t2csri/serverSideClans.cs"); + exec("t2csri/bans.cs"); + exec("t2csri/ipv4.cs"); + exec("t2csri/base64.cs"); + + // get the global IP for sanity testing purposes + schedule(32, 0, ipv4_getInetAddress); +} diff --git a/public/base/@vl2/T2csri.vl2/t2csri/serverglue.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/serverglue.cs.dso new file mode 100644 index 00000000..5b9c5be0 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/serverglue.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/t2csri/serverside.cs.dso b/public/base/@vl2/T2csri.vl2/t2csri/serverside.cs.dso new file mode 100644 index 00000000..d72d0260 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/t2csri/serverside.cs.dso differ diff --git a/public/base/@vl2/T2csri.vl2/textures/TN_entropy.bm8 b/public/base/@vl2/T2csri.vl2/textures/TN_entropy.bm8 new file mode 100644 index 00000000..7b59ae00 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/textures/TN_entropy.bm8 differ diff --git a/public/base/@vl2/T2csri.vl2/textures/TN_entropy.png b/public/base/@vl2/T2csri.vl2/textures/TN_entropy.png new file mode 100644 index 00000000..aa08226b Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/textures/TN_entropy.png differ diff --git a/public/base/@vl2/T2csri.vl2/textures/TN_logo.bm8 b/public/base/@vl2/T2csri.vl2/textures/TN_logo.bm8 new file mode 100644 index 00000000..e8856417 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/textures/TN_logo.bm8 differ diff --git a/public/base/@vl2/T2csri.vl2/textures/texticons/TC_logo1.bm8 b/public/base/@vl2/T2csri.vl2/textures/texticons/TC_logo1.bm8 new file mode 100644 index 00000000..d61ba143 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/textures/texticons/TC_logo1.bm8 differ diff --git a/public/base/@vl2/T2csri.vl2/textures/texticons/TC_logo1.png b/public/base/@vl2/T2csri.vl2/textures/texticons/TC_logo1.png new file mode 100644 index 00000000..f789ab00 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/textures/texticons/TC_logo1.png differ diff --git a/public/base/@vl2/T2csri.vl2/textures/tn_logo.png b/public/base/@vl2/T2csri.vl2/textures/tn_logo.png new file mode 100644 index 00000000..0bb0aed2 Binary files /dev/null and b/public/base/@vl2/T2csri.vl2/textures/tn_logo.png differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/airplane.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/airplane.wav new file mode 100644 index 00000000..7aaa6db9 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/airplane.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/astronaut.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/astronaut.wav new file mode 100644 index 00000000..6c21f3b4 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/astronaut.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/atmosphere.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/atmosphere.wav new file mode 100644 index 00000000..cb0d46fc Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/atmosphere.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/balloon.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/balloon.wav new file mode 100644 index 00000000..26d1f9ad Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/balloon.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/bats.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/bats.wav new file mode 100644 index 00000000..6fdce2f4 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/bats.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/beeswarm.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/beeswarm.wav new file mode 100644 index 00000000..605f181d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/beeswarm.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/birdofprey.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/birdofprey.wav new file mode 100644 index 00000000..41d6f111 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/birdofprey.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/blimp.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/blimp.wav new file mode 100644 index 00000000..c5ec4e0e Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/blimp.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/bluejay.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/bluejay.wav new file mode 100644 index 00000000..449ca56c Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/bluejay.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/budgie.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/budgie.wav new file mode 100644 index 00000000..a7a9d146 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/budgie.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/butterfly.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/butterfly.wav new file mode 100644 index 00000000..59efc542 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/butterfly.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/camel.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/camel.wav new file mode 100644 index 00000000..d2f3f275 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/camel.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/captain.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/captain.wav new file mode 100644 index 00000000..af43fe55 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/captain.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cat.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cat.wav new file mode 100644 index 00000000..d6d55671 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cat.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cheetah.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cheetah.wav new file mode 100644 index 00000000..a3e49d13 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cheetah.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/chickadee.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/chickadee.wav new file mode 100644 index 00000000..57093ded Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/chickadee.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cloud.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cloud.wav new file mode 100644 index 00000000..e258cc8f Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cloud.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/colonel.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/colonel.wav new file mode 100644 index 00000000..ae54128d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/colonel.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/condor.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/condor.wav new file mode 100644 index 00000000..fd8a964e Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/condor.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cougar.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cougar.wav new file mode 100644 index 00000000..5ce3ddd4 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cougar.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cow.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cow.wav new file mode 100644 index 00000000..babaee91 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/cow.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/coyote.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/coyote.wav new file mode 100644 index 00000000..ac0acea7 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/coyote.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/crow.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/crow.wav new file mode 100644 index 00000000..14bd1523 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/crow.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dog.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dog.wav new file mode 100644 index 00000000..ccfc9153 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dog.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/donkey.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/donkey.wav new file mode 100644 index 00000000..6ce1961d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/donkey.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dove.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dove.wav new file mode 100644 index 00000000..fabf3668 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dove.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dragonfly.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dragonfly.wav new file mode 100644 index 00000000..df78929a Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/dragonfly.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/flamingo.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/flamingo.wav new file mode 100644 index 00000000..ee474357 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/flamingo.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/fly.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/fly.wav new file mode 100644 index 00000000..f7d61929 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/fly.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/general.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/general.wav new file mode 100644 index 00000000..1b132ae8 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/general.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/goldfinch.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/goldfinch.wav new file mode 100644 index 00000000..c1f66681 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/goldfinch.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/grasshopper.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/grasshopper.wav new file mode 100644 index 00000000..db0f1e21 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/grasshopper.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/helicopter.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/helicopter.wav new file mode 100644 index 00000000..f7956908 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/helicopter.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/hornet.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/hornet.wav new file mode 100644 index 00000000..508eaa62 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/hornet.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/horse.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/horse.wav new file mode 100644 index 00000000..0e602bdf Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/horse.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/hurricane.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/hurricane.wav new file mode 100644 index 00000000..a25dc46c Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/hurricane.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/iguana.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/iguana.wav new file mode 100644 index 00000000..b64e6c97 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/iguana.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/jaguar.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/jaguar.wav new file mode 100644 index 00000000..2a431330 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/jaguar.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/llama.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/llama.wav new file mode 100644 index 00000000..7cf77319 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/llama.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/major.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/major.wav new file mode 100644 index 00000000..b5486476 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/major.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/moon.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/moon.wav new file mode 100644 index 00000000..02572798 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/moon.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/msquito.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/msquito.wav new file mode 100644 index 00000000..4c911c6b Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/msquito.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/ostrich.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/ostrich.wav new file mode 100644 index 00000000..158629a9 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/ostrich.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/owl.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/owl.wav new file mode 100644 index 00000000..578ecc1f Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/owl.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/ozone.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/ozone.wav new file mode 100644 index 00000000..8b2e2539 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/ozone.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/parakeet.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/parakeet.wav new file mode 100644 index 00000000..337dd781 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/parakeet.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/pelican.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/pelican.wav new file mode 100644 index 00000000..14eec0eb Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/pelican.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/puppy.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/puppy.wav new file mode 100644 index 00000000..57f19a2d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/puppy.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/shark.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/shark.wav new file mode 100644 index 00000000..dc1c9020 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/shark.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/snake.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/snake.wav new file mode 100644 index 00000000..2ed5dfdc Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/snake.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special1.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special1.wav new file mode 100644 index 00000000..7d8f8a19 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special1.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special2.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special2.wav new file mode 100644 index 00000000..0e0016df Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special2.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special3.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special3.wav new file mode 100644 index 00000000..90b7613e Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/special3.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/swallow.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/swallow.wav new file mode 100644 index 00000000..af7b26e3 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/swallow.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/tiger.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/tiger.wav new file mode 100644 index 00000000..719f145c Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/tiger.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/tornado.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/tornado.wav new file mode 100644 index 00000000..38767885 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/tornado.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/turtle.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/turtle.wav new file mode 100644 index 00000000..42782ce1 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/turtle.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/warnipple.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/warnipple.wav new file mode 100644 index 00000000..62c44fff Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/warnipple.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/wasp.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/wasp.wav new file mode 100644 index 00000000..e5d87a94 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/wasp.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/wolf.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/wolf.wav new file mode 100644 index 00000000..98284778 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/wolf.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/zebra.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/zebra.wav new file mode 100644 index 00000000..6caea7e9 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/zebra.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/zeppellin.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/zeppellin.wav new file mode 100644 index 00000000..829de548 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/Nouns/zeppellin.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback1_prayer.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback1_prayer.wav new file mode 100644 index 00000000..9326e912 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback1_prayer.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback2_moyoyo.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback2_moyoyo.wav new file mode 100644 index 00000000..668a5d32 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback2_moyoyo.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback3_rocket.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback3_rocket.wav new file mode 100644 index 00000000..71f22b32 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_passback3_rocket.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass1_blast.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass1_blast.wav new file mode 100644 index 00000000..7fdd1623 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass1_blast.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass2_deepdish.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass2_deepdish.wav new file mode 100644 index 00000000..2e06e686 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass2_deepdish.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass3_bunnybump.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass3_bunnybump.wav new file mode 100644 index 00000000..657f5672 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_perppass3_bunnybump.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass1_yoyo.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass1_yoyo.wav new file mode 100644 index 00000000..9166e01a Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass1_yoyo.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass2_skydive.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass2_skydive.wav new file mode 100644 index 00000000..d6676d1d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass2_skydive.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass3_jolt.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass3_jolt.wav new file mode 100644 index 00000000..570ac3b5 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/down_straipass3_jolt.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level1-frozen.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level1-frozen.wav new file mode 100644 index 00000000..5dc16f47 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level1-frozen.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level2-shooting.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level2-shooting.wav new file mode 100644 index 00000000..5c5c377c Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level2-shooting.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level3-dangling.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level3-dangling.wav new file mode 100644 index 00000000..9c4ac7e3 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level3-dangling.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level4-blazing.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level4-blazing.wav new file mode 100644 index 00000000..b880fa3a Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level4-blazing.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level5-raining.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level5-raining.wav new file mode 100644 index 00000000..ec769bdf Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level5-raining.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level6-falling.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level6-falling.wav new file mode 100644 index 00000000..e65be46d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/high-level6-falling.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback1_jab.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback1_jab.wav new file mode 100644 index 00000000..e1029870 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback1_jab.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback2_backbreaker.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback2_backbreaker.wav new file mode 100644 index 00000000..63f48656 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback2_backbreaker.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback3_leetlob.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback3_leetlob.wav new file mode 100644 index 00000000..9588e777 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_passback3_leetlob.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass1_peeler.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass1_peeler.wav new file mode 100644 index 00000000..e143d608 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass1_peeler.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass2_blender.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass2_blender.wav new file mode 100644 index 00000000..c034ab95 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass2_blender.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass3_glasssmash.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass3_glasssmash.wav new file mode 100644 index 00000000..0fb6132a Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_perppass3_glasssmash.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass1_bullet.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass1_bullet.wav new file mode 100644 index 00000000..120c789d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass1_bullet.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass2_heist.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass2_heist.wav new file mode 100644 index 00000000..cc145971 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass2_heist.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass3_smackshot.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass3_smackshot.wav new file mode 100644 index 00000000..fb00b650 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/horz_straipass3_smackshot.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level1-sharp.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level1-sharp.wav new file mode 100644 index 00000000..6583d285 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level1-sharp.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level2-spitting.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level2-spitting.wav new file mode 100644 index 00000000..b3a651fc Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level2-spitting.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level3-whipped.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level3-whipped.wav new file mode 100644 index 00000000..a1920958 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level3-whipped.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level4-popping.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level4-popping.wav new file mode 100644 index 00000000..0150a20b Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level4-popping.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level5-bursting.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level5-bursting.wav new file mode 100644 index 00000000..276a4252 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/low-level5-bursting.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level1-modest.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level1-modest.wav new file mode 100644 index 00000000..eb821981 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level1-modest.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level2-ripped.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level2-ripped.wav new file mode 100644 index 00000000..e9efb824 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level2-ripped.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level3-shining.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level3-shining.wav new file mode 100644 index 00000000..70676d37 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level3-shining.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level4-slick.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level4-slick.wav new file mode 100644 index 00000000..856587cb Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level4-slick.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level5-sprinkling.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level5-sprinkling.wav new file mode 100644 index 00000000..d8c0f038 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level5-sprinkling.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level6-brilliant.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level6-brilliant.wav new file mode 100644 index 00000000..1546228f Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/med-level6-brilliant.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback1_bomb.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback1_bomb.wav new file mode 100644 index 00000000..effbe0f4 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback1_bomb.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback2_deliverance.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback2_deliverance.wav new file mode 100644 index 00000000..f379bd80 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback2_deliverance.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback3_crank.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback3_crank.wav new file mode 100644 index 00000000..0bcf3039 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_passback3_crank.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass1_fling.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass1_fling.wav new file mode 100644 index 00000000..30e5b4dd Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass1_fling.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass2_quark.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass2_quark.wav new file mode 100644 index 00000000..21365d0f Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass2_quark.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass3_juggletoss.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass3_juggletoss.wav new file mode 100644 index 00000000..82f7ee48 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_perppass3_juggletoss.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_straipass1_ascension.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_straipass1_ascension.wav new file mode 100644 index 00000000..9ccdc43a Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_straipass1_ascension.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_straipass2_elevator.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_straipass2_elevator.wav new file mode 100644 index 00000000..f5e9e470 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/upward_straipass2_elevator.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level1-suspended.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level1-suspended.wav new file mode 100644 index 00000000..25f97ed1 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level1-suspended.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level2-skeeting.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level2-skeeting.wav new file mode 100644 index 00000000..8ae4e03d Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level2-skeeting.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level3-hanging.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level3-hanging.wav new file mode 100644 index 00000000..facaa490 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level3-hanging.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level4-arcing.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level4-arcing.wav new file mode 100644 index 00000000..6fc3d1ae Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level4-arcing.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level5-pouring.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level5-pouring.wav new file mode 100644 index 00000000..c2872667 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level5-pouring.wav differ diff --git a/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level6-elite.wav b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level6-elite.wav new file mode 100644 index 00000000..a0fa94a4 Binary files /dev/null and b/public/base/@vl2/TR2final093-extras.vl2/audio/fx/Bonuses/wow-level6-elite.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/TRex.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/TRex.wav new file mode 100644 index 00000000..7d67bb33 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/TRex.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/evillaugh.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/evillaugh.wav new file mode 100644 index 00000000..f8161002 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/evillaugh.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/gadget3.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/gadget3.wav new file mode 100644 index 00000000..b95b4009 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/gadget3.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/mario-6notes.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/mario-6notes.wav new file mode 100644 index 00000000..ea842ece Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/mario-6notes.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq1.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq1.wav new file mode 100644 index 00000000..4c667917 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq1.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq2.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq2.wav new file mode 100644 index 00000000..d1c404c2 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq2.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq3.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq3.wav new file mode 100644 index 00000000..9bfd0ca8 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/Bonuses/qseq3.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/environment/seagull1.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/environment/seagull1.wav new file mode 100644 index 00000000..51cd39cd Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/environment/seagull1.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Cheer.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Cheer.wav new file mode 100644 index 00000000..68c1bf8d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Cheer.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Flag1.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Flag1.wav new file mode 100644 index 00000000..aff8dc63 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Flag1.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Flair.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Flair.wav new file mode 100644 index 00000000..befdbdf2 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/Flair.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA1.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA1.wav new file mode 100644 index 00000000..577bcf83 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA1.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA2.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA2.wav new file mode 100644 index 00000000..042cc291 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA2.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA3.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA3.wav new file mode 100644 index 00000000..57cf1e58 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/MA3.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/cannonshot.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/cannonshot.wav new file mode 100644 index 00000000..d9513d05 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/cannonshot.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/cannonstart.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/cannonstart.wav new file mode 100644 index 00000000..bc75b973 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/cannonstart.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/carscreech.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/carscreech.wav new file mode 100644 index 00000000..b87cadf1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/carscreech.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/coin.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/coin.wav new file mode 100644 index 00000000..19870c9f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/coin.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd-clap.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd-clap.wav new file mode 100644 index 00000000..f988c530 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd-clap.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd-dis2.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd-dis2.wav new file mode 100644 index 00000000..cb65540d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd-dis2.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd.wav new file mode 100644 index 00000000..1e97bd40 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd2.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd2.wav new file mode 100644 index 00000000..9bb4ff62 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd2.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd3.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd3.wav new file mode 100644 index 00000000..83f3d810 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowd3.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdfade.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdfade.wav new file mode 100644 index 00000000..f75a12ec Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdfade.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition1a.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition1a.wav new file mode 100644 index 00000000..1473aa6f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition1a.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition1b.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition1b.wav new file mode 100644 index 00000000..f1fbd5fd Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition1b.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition2a.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition2a.wav new file mode 100644 index 00000000..dd0e0967 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition2a.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition2b.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition2b.wav new file mode 100644 index 00000000..fbcf5526 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition2b.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition3a.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition3a.wav new file mode 100644 index 00000000..28b4a2da Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition3a.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition3b.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition3b.wav new file mode 100644 index 00000000..c16c592d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/crowdtransition3b.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagcapture.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagcapture.wav new file mode 100644 index 00000000..e5378b5a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagcapture.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagenemy.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagenemy.wav new file mode 100644 index 00000000..4dacdfa1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagenemy.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagflap.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagflap.wav new file mode 100644 index 00000000..e12e7d0b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagflap.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagfriend.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagfriend.wav new file mode 100644 index 00000000..89cfdd28 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagfriend.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagreturn.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagreturn.wav new file mode 100644 index 00000000..ff821f05 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagreturn.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagself.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagself.wav new file mode 100644 index 00000000..efbac9ed Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/flagself.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gameover.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gameover.wav new file mode 100644 index 00000000..726a49da Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gameover.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gamestart.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gamestart.wav new file mode 100644 index 00000000..796c4ae3 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gamestart.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/goal.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/goal.wav new file mode 100644 index 00000000..f2b57029 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/goal.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gridjump.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gridjump.wav new file mode 100644 index 00000000..267ba633 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/gridjump.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/launcher.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/launcher.wav new file mode 100644 index 00000000..e66245b1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/launcher.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/missed.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/missed.wav new file mode 100644 index 00000000..a03996ac Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/missed.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/red_alert_short.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/red_alert_short.wav new file mode 100644 index 00000000..cf899615 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/red_alert_short.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/rolechange.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/rolechange.wav new file mode 100644 index 00000000..a306c65d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/rolechange.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/slapshot.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/slapshot.wav new file mode 100644 index 00000000..54f1cf51 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/slapshot.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/whistle.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/whistle.wav new file mode 100644 index 00000000..c5cf3de4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/misc/whistle.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/audio/fx/weapons/TR2spinfusor_fire.wav b/public/base/@vl2/TR2final105-client.vl2/audio/fx/weapons/TR2spinfusor_fire.wav new file mode 100644 index 00000000..41313f0c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/audio/fx/weapons/TR2spinfusor_fire.wav differ diff --git a/public/base/@vl2/TR2final105-client.vl2/gui/TR2DebriefGui.gui b/public/base/@vl2/TR2final105-client.vl2/gui/TR2DebriefGui.gui new file mode 100644 index 00000000..88c0185c --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/gui/TR2DebriefGui.gui @@ -0,0 +1,324 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(DebriefGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl(DB_Pane) { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "28 13"; + extent = "584 459"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "1"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "relative"; + position = "56 300"; + extent = "528 160"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiProgressCtrl(DB_LoadingProgress) { + profile = "ShellProgressBarProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "5 125"; + extent = "300 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(DB_LoadingProgressTxt) { + profile = "ShellProgressBarTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 3"; + extent = "300 19"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "LOADING MISSION..."; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonNoTabProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "310 117"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "debriefDisconnect();"; + helpTag = "0"; + text = "DISCONNECT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonNoTabProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "416 117"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "debriefContinue();"; + accelerator = "escape"; + helpTag = "0"; + text = "CONTINUE"; + simpleStyle = "0"; + }; + new ShellScrollCtrl(DB_ChatScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "0 0"; + extent = "264 90"; + minExtent = "24 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "234 76"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMessageVectorCtrl(DB_ChatVector) { + profile = "GuiChatHudProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "510 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "10"; + allowedMatches[0] = "http"; + allowedMatches[1] = "t2server"; + matchColor = "0 0 255 255"; + maxColorIndex = "5"; + + matchColors0 = "0 0 255 255"; + matchColors1 = "255 0 0 255"; + }; + }; + }; + new ShellScrollCtrl(TR2_AwardsPane) { + profile = "NewScrollCtrlProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "264 0"; + extent = "264 120"; + minExtent = "24 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "240 106"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "0 0"; + extent = "640 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(DB_ResultPane) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "52 25"; + extent = "536 279"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(DebriefResultText) { + profile = "DebriefHeadlineTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 3"; + extent = "528 28"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + new ShellScrollCtrl(DB_ResultScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "2 30"; + extent = "536 247"; + minExtent = "24 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 4"; + extent = "528 239"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(DebriefText) { + profile = "DebriefTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "528 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(DB_ChatDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "0 0"; + extent = "300 236"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextEditCtrl(DB_ChatEntry) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "45 197"; + extent = "261 38"; + minExtent = "32 38"; + visible = "1"; + setFirstResponder = "0"; + altCommand = "DB_ChatEntry.sendChat();"; + escapeCommand = "DB_ChatEntry.onEscape();"; + helpTag = "0"; + historySize = "0"; + maxLength = "120"; + password = "0"; + glowOffset = "9 9"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/bmisc_-nef_flagstand1_x.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/bmisc_-nef_flagstand1_x.dif new file mode 100644 index 00000000..721f6c2d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/bmisc_-nef_flagstand1_x.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/bmisc_neftrstand1.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/bmisc_neftrstand1.dif new file mode 100644 index 00000000..f1acd8b5 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/bmisc_neftrstand1.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/cannon.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/cannon.dif new file mode 100644 index 00000000..e62b70b7 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/cannon.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/cannon2.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/cannon2.dif new file mode 100644 index 00000000..9a18a3a2 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/cannon2.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/cap.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/cap.dif new file mode 100644 index 00000000..c4e257a5 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/cap.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/doubleramp2.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/doubleramp2.dif new file mode 100644 index 00000000..a900c1ef Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/doubleramp2.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl1.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl1.dif new file mode 100644 index 00000000..022c6bf9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl1.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl2.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl2.dif new file mode 100644 index 00000000..122b542f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl2.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl3.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl3.dif new file mode 100644 index 00000000..c376efbe Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_bowl3.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/nef_ramp1.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_ramp1.dif new file mode 100644 index 00000000..e5c04c06 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/nef_ramp1.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/rail1.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/rail1.dif new file mode 100644 index 00000000..aa3b8b06 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/rail1.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/ramp1.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/ramp1.dif new file mode 100644 index 00000000..0f14c12d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/ramp1.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/singleramp.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/singleramp.dif new file mode 100644 index 00000000..0613f45a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/singleramp.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/spawnbase.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/spawnbase.dif new file mode 100644 index 00000000..cac26e51 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/spawnbase.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/spawnbase2.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/spawnbase2.dif new file mode 100644 index 00000000..b830fd44 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/spawnbase2.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/interiors/sphere.dif b/public/base/@vl2/TR2final105-client.vl2/interiors/sphere.dif new file mode 100644 index 00000000..a044a899 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/interiors/sphere.dif differ diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/Crater71.mis b/public/base/@vl2/TR2final105-client.vl2/missions/Crater71.mis new file mode 100644 index 00000000..7798ecf0 --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/Crater71.mis @@ -0,0 +1,958 @@ +// DisplayName = Crater 71 +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// Let's camp here for the night. +// -- Leader of Portano 4 expedition +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-368 -992 736 1968"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.510000 0.450000 1.000000"; + ambient = "0.600000 0.510000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Crater71.ter"; + squareSize = "8"; + + hazeDistance = "50"; + visibleDistance = "450"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Crater71.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "900"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "700"; + fogColor = "0.600000 0.525000 0.400000 1.000000"; + fogVolume1 = "90 0 70"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-438.856 589.228 448.879"; + rotation = "0 0 1 110.008"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "-445.543 604.479 448.842"; + rotation = "0 0 1 104.278"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "-450.829 581.875 448.842"; + rotation = "0 0 1 119.175"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "443.123 589.932 454.636"; + rotation = "0 0 -1 111.154"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "455.566 581.439 454.868"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "449.136 602.936 454.868"; + rotation = "0 0 -1 110.008"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "458.781 595.211 454.924"; + rotation = "0 0 -1 111.154"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "-456.126 595.353 450.136"; + rotation = "0 0 1 110.008"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-413.626 -579.249 441"; + rotation = "0 0 1 161.574"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "419.345 -583.555 441"; + rotation = "0 0 1 19.2979"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "-4.51836 869.556 342.603"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new WayPoint() { + position = "-4.16021 869.706 341.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + }; + new InteriorInstance() { + position = "-4.11332 855.313 331.932"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-4.79931 871.974 340.994"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "-4.54005 869.501 342.467"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "-4.30763 869.7 359.046"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "-23.4679 869.313 360.477"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "13.8867 869.918 340.933"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1084761"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "438.64 -590.629 449.136"; + rotation = "0 0 -1 71.6197"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "443.627 -606.209 448.904"; + rotation = "0 0 -1 76.7763"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "451.879 -583.959 448.904"; + rotation = "0 0 -1 69.3279"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-432.927 -585.053 449.043"; + rotation = "0 0 1 71.0468"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-444.879 -575.361 448.718"; + rotation = "0 0 1 69.9008"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-437.902 -597.806 449.118"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-448.153 -590.145 449.934"; + rotation = "0 0 1 71.0468"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "455.288 -595.751 450.093"; + rotation = "0 0 -1 71.6197"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "422.326 583.555 446.4"; + rotation = "-0 0 -1 18.3348"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-421.283 582.745 441"; + rotation = "0 0 1 199.389"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "-6.91801 -880.749 341.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + }; + new InteriorInstance() { + position = "-8.17201 -858.474 332.132"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-7.90201 -873.365 342.567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-7.61901 -875.782 340.758"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-7.87901 -872.91 342.431"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-8.11101 -873.109 358.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "11.049 -872.692 360.441"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-26.3052 -873.356 340.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1084761"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-128.877 -519.186 202.341"; + rotation = "0.955981 -0.124982 0.265479 52.4366"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "125.485 -511.103 199.196"; + rotation = "0.976737 0.0937294 -0.192871 55.5009"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-4.55093 -1.96848 83.9207"; + rotation = "0 0 -1 89.9544"; + scale = "2 2 2"; + interiorFile = "pmiscb.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "141.489 492.565 198.141"; + rotation = "-0.964508 0.254596 -0.070033 44.4368"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-112.873 490.488 189.72"; + rotation = "-0.950197 -0.299443 0.0863646 49.1598"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Trigger() { + position = "-124.884 501.908 192.29"; + rotation = "1 0 0 0"; + scale = "9.66067 8.18555 4.7914"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + }; + new Trigger() { + position = "128.056 506.011 196.68"; + rotation = "1 0 0 0"; + scale = "9.66067 8.18555 3.70617"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + }; + new Trigger() { + position = "112.027 -507.654 186.151"; + rotation = "1 0 0 0"; + scale = "9.66067 8.18555 4.7914"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + }; + new Trigger() { + position = "-140.871 -512.382 187.575"; + rotation = "1 0 0 0"; + scale = "9.66067 8.18555 4.7914"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-42.656 -794.536 194.889"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-58.193 -540.298 162.218"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-425.2 468.66 154.157"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-462.529 530.76 158.674"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "-1000 -1024 -1.36437"; + rotation = "1 0 0 0"; + scale = "2048 2048 69"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/riverdance_water_5"; + surfaceOpacity = "0.4"; + envMapTexture = "Nef_TR2_Red_7"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Obs) { + position = "-26.6267 38.7723 98.6051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Item() { + position = "-4.38678 -1.72418 133.38"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + className = "FlagObj"; + onGoal = "0"; + dropTime = "3919850"; + originalPosition = "-4.38678 -1.72418 133.367 1 0 0 0"; + WayPoint = "43667"; + inLiquid = "0"; + }; + new SimGroup(Poles) { + + powerCount = "0"; + + new StaticShape() { + position = "-365.401 974.105 335.966"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "365.731 972.091 338.528"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "343.533 339.954 341.453"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-351.791 343.612 341.631"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-350.725 -351.54 342.91"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-365.383 -990.014 338.958"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "366.379 -990.348 338.482"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "343.118 -348.805 342.189"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "377.919 -27.0879 242.132"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "374.921 18.7821 240.893"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-375.622 -22.271 240.344"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-376.071 8.4216 238.054"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-4.27769 978.037 311.226"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-4.4813 -995.206 315.182"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1391.44 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1391.44 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "1391.21 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "407.234 -579.18 473.586"; + rotation = "0.217889 0.150671 -0.964273 71.2903"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-402.933 -575.891 473.447"; + rotation = "0.209239 -0.150963 0.966141 73.5025"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "409.655 579.505 477.903"; + rotation = "0.117877 0.163107 -0.979541 109.41"; + scale = "1 1 1"; + dataBlock = "Billboard3"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-413.07 579.849 473.842"; + rotation = "0.128314 -0.17755 0.975711 109.621"; + scale = "1 1 1"; + dataBlock = "Billboard4"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/FrozenFury.mis b/public/base/@vl2/TR2final105-client.vl2/missions/FrozenFury.mis new file mode 100644 index 00000000..4d7031dd --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/FrozenFury.mis @@ -0,0 +1,971 @@ +// DisplayName = Frozen Fury +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// Burn them, freeze them, I don't care. Just get rid of them. +// -- Chentosh B'Tarn +//--- MISSION QUOTE END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-608 -720 1200 1408"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.650000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "FrozenFury.ter"; + squareSize = "8"; + + hazeDistance = "150"; + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "FrozenFury.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.1"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "900"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.490000 0.490000 0.490000 0.000000"; + fogDistance = "600"; + fogColor = "0.900000 0.900000 0.920000 1.000000"; + fogVolume1 = "2200 20 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "SOM_TR2_WinterBlue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "146.204 742.543 315.423"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "161.139 751.827 315.291"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "132.265 748.026 314.891"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "647.159 188.735 275.772"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "655.296 176.291 275.824"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "653.961 202.293 276.224"; + rotation = "0 0 -1 88.2355"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "665.038 189.327 276.304"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "145.842 760.562 316.342"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "454.18 513.791 211.203"; + rotation = "0 0 1 220.68"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new WayPoint() { + position = "454.462 513.333 209.814"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "445.095 502.669 200.732"; + rotation = "0 0 1 40.68"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "455.283 515.504 209.994"; + rotation = "0 0 1 40.68"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "454.04 513.425 211.067"; + rotation = "0.937647 -0.34759 -1.51937e-08 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "454.346 513.424 227.646"; + rotation = "0 0 1 220.68"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "439.564 525.62 229.077"; + rotation = "0.937647 -0.34759 -1.51937e-08 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "468.287 501.73 209.533"; + rotation = "0 0 1 220.68"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-239.783 -777.937 246.344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-254.118 -787.548 246.801"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-225.006 -781.765 246.201"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-662.859 -326.604 296.212"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-672.188 -312.997 295.531"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-668.812 -342.13 296.131"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-238.683 -794.214 246.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-679.443 -327.393 295.652"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "-484.971 -590.322 210.863"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-470.727 -573.363 201.332"; + rotation = "0 0 1 42.9718"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-480.767 -584.078 211.767"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-482.071 -585.893 210.358"; + rotation = "0 0 1 42.972"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-480.331 -583.932 211.631"; + rotation = "0.366273 0.930508 -1.60103e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-480.636 -583.919 227.81"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-467.035 -596.84 229.641"; + rotation = "0.366273 0.930508 -1.60103e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-494.117 -571.698 210.097"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "35.3436 -19.5359 362.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "-529.295 -647.359 295.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "526.219 619.708 320.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-396.22 550.591 173.689"; + rotation = "1 0 0 0"; + scale = "1.36918 1 1.72022"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-324.723 -343.172 142.718"; + rotation = "1 0 0 0"; + scale = "1.63113 1.43206 1.26227"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "352.365 -678.869 193.975"; + rotation = "1 0 0 0"; + scale = "1.40254 1 1.63235"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "550.685 -374.816 149.487"; + rotation = "1 0 0 0"; + scale = "1 1 1.29972"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "340.529 344.387 129.667"; + rotation = "1 0 0 0"; + scale = "1.33661 1.29548 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + }; + new WaterBlock() { + position = "-1024 -1024 -1.6"; + rotation = "1 0 0 0"; + scale = "2048 2048 69"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "terrain/watr-icyblue2"; + surfaceOpacity = "0.7"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new Item() { + position = "19.5362 -0.937595 323.839"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + dropTime = "0"; + originalPosition = "19.5362 -0.937595 323.834 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "39404"; + oneTimer = "0"; + lastMario = "0"; + locked = "true"; + }; + new SimGroup(RepairPatches) { + + powerCount = "0"; + }; + new WaterBlock(volcano) { + position = "-24 -48 200.874"; + rotation = "1 0 0 0"; + scale = "96 96 66.1432"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "0.75"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "1"; + submergeTexture[0] = "special/lavadeath_1"; + removeWetEdges = "1"; + }; + new InteriorInstance() { + position = "20.3 -1.26477 322.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "splat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "145.478 724.553 306.544"; + rotation = "0 0 -1 90"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "627.039 189.449 266.783"; + rotation = "1 0 0 0"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-238.973 -756.945 237.091"; + rotation = "0 0 1 90"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-642.537 -327.825 286.416"; + rotation = "0 0 1 180"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(Poles) { + + powerCount = "0"; + + new StaticShape() { + position = "595.725 692.465 270.25"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "598.037 408.839 211.657"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "285.652 696.503 247.35"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-35.1316 714.765 262.31"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-496.145 706.696 259.976"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "602.425 -53.181 200.612"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "522.979 -721.227 167.493"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "600.166 -661.433 157.655"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "604.653 -369.973 164.772"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "255.962 -728.312 235.788"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-70.069 -721.743 190.735"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-598.907 -720.073 314.071"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-473.723 -726.193 263.297"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-619.275 -544.384 219.875"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-637.541 -165.821 189.316"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-619.689 595.949 261.525"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-631.826 209.209 292.018"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1786.44 50.9121 385.12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1786.44 50.9121 145.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1786.21 49.8584 264.84"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "-238.452 -744.402 268.81"; + rotation = "1 0 0 20.6264"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-632.5 -327.774 319.192"; + rotation = "0.179307 -0.180965 0.967006 92.4489"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "145.124 711.955 338.26"; + rotation = "0.000122954 -0.15438 0.988012 179.91"; + scale = "1 1 1"; + dataBlock = "Billboard3"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "612.99 189.226 297.208"; + rotation = "0.176364 0.176223 -0.968422 91.7925"; + scale = "1 1 1"; + dataBlock = "Billboard4"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/GodsRift.mis b/public/base/@vl2/TR2final105-client.vl2/missions/GodsRift.mis new file mode 100644 index 00000000..0d68051d --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/GodsRift.mis @@ -0,0 +1,1053 @@ +// DisplayName = God's Rift +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// I defy you to master this canyon. +// -- Bjarn Tok, Director of Imperial Games +//--- MISSION QUOTE END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-296 -968 816 1872"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "562.2 -558 118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "0.500000 0.500000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "GodsRift.ter"; + squareSize = "8"; + + hazeDistance = "150"; + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "850"; + fogColor = "0.800000 0.800000 0.900000 1.000000"; + fogVolume1 = "1600 40 500"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "SOM_TR2_StonedBlue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "353.752 946.268 404.592"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "339.831 953.733 404.01"; + rotation = "0 0 1 194.233"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "366.784 948.269 403.81"; + rotation = "0 0 1 194.233"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "439.353 955.167 396.581"; + rotation = "0 0 1 191.941"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "454.624 960.377 395.77"; + rotation = "0 0 1 192.514"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "427.648 973.824 396.17"; + rotation = "0 0 1 195.952"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "356.238 962.572 403.454"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "442.938 973.685 395.843"; + rotation = "0 0 1 191.941"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "342.876 531.221 269.803"; + rotation = "0 0 1 208.075"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new WayPoint() { + position = "343.074 530.832 289.2"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + }; + new InteriorInstance() { + position = "336.259 518.381 259.332"; + rotation = "0 0 1 28.0749"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "343.335 533.001 268.794"; + rotation = "0 0 1 28.0749"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "342.642 530.83 269.667"; + rotation = "0.970137 -0.242556 -1.06025e-08 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "342.941 530.896 286.246"; + rotation = "0 0 1 208.075"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "325.853 539.572 287.677"; + rotation = "0.970137 -0.242556 -1.06025e-08 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "359.097 522.526 268.133"; + rotation = "0 0 1 208.075"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1084761"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-211.552 -996.037 371.959"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-225.262 -1003.31 370.87"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-196.136 -1001.98 371.47"; + rotation = "0 0 1 4.58349"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-116.561 -1005.11 358.395"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-130.771 -1009.41 358.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-102.675 -1009.29 358.418"; + rotation = "0 0 1 6.30239"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-116.547 -1015.99 358.465"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-211.002 -1007.54 371.693"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "-177.008 -582.033 290.4"; + rotation = "-0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + }; + new InteriorInstance() { + position = "-168.023 -569.408 260.732"; + rotation = "0 0 1 34.9505"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-176.611 -581.818 270.567"; + rotation = "0 0 1 34.9505"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-177.764 -583.961 268.758"; + rotation = "0 0 1 34.9505"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-176.331 -581.458 270.431"; + rotation = "0.300293 0.953847 -1.31262e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "2284059"; + lastDamagedBy = "9727"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-176.636 -581.488 286.81"; + rotation = "0 0 1 34.9505"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-160.692 -592.122 288.441"; + rotation = "0.300293 0.953847 -1.31262e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "-191.69 -571.268 268.897"; + rotation = "0 0 1 34.9505"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1084761"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-42.656 -794.536 194.889"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-58.193 -540.298 162.218"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-425.2 468.66 154.157"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-462.529 530.76 158.674"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "213.962 206.27 59.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Obs) { + position = "-26.6267 38.7723 98.6051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock() { + position = "-1024 -1024 -36.5"; + rotation = "1 0 0 0"; + scale = "2048 2048 69"; + liquidType = "Water"; + density = "1"; + viscosity = "15"; + waveMagnitude = "2"; + surfaceTexture = "terrain/seawaterfull2"; + surfaceOpacity = "0.7"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new Item() { + position = "89.8369 -45.771 352"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + dropperOrientation = "0.846573 0.235569 -0.477306"; + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + onGoal = "0"; + dropTime = "0"; + originalPosition = "89.8369 -45.771 352.009 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "27200"; + oneTimer = "0"; + lastMario = "0"; + inLiquid = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new Trigger() { + position = "371.567 86.2165 72.6745"; + rotation = "1 0 0 0"; + scale = "12 12 2"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + }; + new ScriptObject() { + class = "BonusData"; + + Bonus = "FlagBonus"; + categoryData1 = "17670"; + time = "2746431"; + categoryData3 = "17746"; + categoryData0 = "17653"; + maxCategoryDatas = "4"; + totalValue = "15"; + }; + new TSStatic() { + position = "153.692 -90.6292 45.2471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "225.155 -124.452 52.1032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new InteriorInstance() { + position = "347.454 925.393 394.134"; + rotation = "-0 0 -1 76.822"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "433.398 933.897 386.395"; + rotation = "-0 0 -1 76.822"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-115.264 -988.196 349.13"; + rotation = "0 0 1 92.2914"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-209.62 -979.148 362.267"; + rotation = "0 0 1 92.2914"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Poles) { + + powerCount = "0"; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1391.44 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1391.44 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "1391.21 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "430.897 924.618 419.066"; + rotation = "-0.0201071 -0.174073 0.984527 192.976"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "344.349 912.082 425.976"; + rotation = "-0.0189693 -0.164222 0.986241 192.998"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-114.99 -979.588 381.656"; + rotation = "0.993083 -0.0198654 0.115723 19.6136"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-209.205 -970.275 394.648"; + rotation = "0.99414 -0.0198856 0.106258 21.3215"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new InteriorInstance() { + position = "90 -44.6 350"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new InteriorInstance() { + position = "-70.1199 -62.5914 55.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + }; + new Trigger() { + position = "-84.0339 -48.672 52.641"; + rotation = "1 0 0 0"; + scale = "12 12 2"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "385.009 71.9832 80.3745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new FileObject() { + }; + new FileObject() { + }; + new StaticShape() { + position = "-285.985 -414.241 149.193"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "151.34 -623.598 158.4"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-144.349 -414.909 49.7614"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "113.336 -78.5596 158.858"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "184153"; + lastDamagedBy = "4020"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "177.816 430.695 52.0148"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "508.97 382.417 147.597"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "156.134 597.204 159.271"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "554.338 867.684 159.25"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "298.927 873.811 29.6963"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "371.918 887.934 32.5399"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-265.223 873.502 156.399"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-68.3732 863.867 34.2446"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-119.269 859.319 24.1601"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-340.755 399.462 155.146"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "556.824 186.822 156.354"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "566.45 -573.24 155.927"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "550.388 -936.991 156.627"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "361.641 -936.63 31.7223"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "293.244 -933.731 31.5129"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-96.9458 -933.893 32.7402"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-68.6683 -921.023 29.1553"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-302.744 -937.676 154.044"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-346.969 -304.505 153.036"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/Haven.mis b/public/base/@vl2/TR2final105-client.vl2/missions/Haven.mis new file mode 100644 index 00000000..5d4831df --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/Haven.mis @@ -0,0 +1,1052 @@ +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// The sands of time aren't yours for the taking. Have patience. +// -- Queen Azimuth +//--- MISSION QUOTE END --- +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-696 -952 1680 1856"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-767 -101.6 61.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "0.500000 0.500000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Haven.ter"; + squareSize = "8"; + + hazeDistance = "150"; + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Haven.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "900"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "800"; + fogColor = "0.800000 0.800000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Nef5.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "191.8 958 310"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "191 965.4 310"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "205 965 310"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "205 975 310"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "175 965 310"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "175 975 310"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "190 974.265 309.32"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "-646.579 870.525 193.403"; + rotation = "-0 0 -1 34.9505"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "487343"; + lastDamagedBy = "4011"; + lastDamagedByTeam = "2"; + team = "1"; + }; + new WayPoint() { + position = "-645.974 870.8 193"; + rotation = "-0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + }; + new StaticShape() { + position = "-631.303 881.313 191.733"; + rotation = "0 0 1 145.05"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1084761"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new StaticShape() { + position = "-648.194 872.346 192.194"; + rotation = "-0 0 -1 34.9505"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "487343"; + lastDamagedBy = "4011"; + lastDamagedByTeam = "2"; + team = "1"; + }; + new StaticShape() { + position = "-646.168 870.415 193.267"; + rotation = "0.953847 0.300293 1.31263e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "487343"; + lastDamagedBy = "4011"; + lastDamagedByTeam = "2"; + team = "1"; + }; + new StaticShape() { + position = "-646.092 870.711 209.846"; + rotation = "0 0 1 145.05"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "487343"; + lastDamagedBy = "4011"; + lastDamagedByTeam = "2"; + team = "1"; + }; + new StaticShape() { + position = "-661.574 859.417 211.277"; + rotation = "0.953847 0.300293 1.31263e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "487343"; + lastDamagedBy = "4011"; + lastDamagedByTeam = "2"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "178.6 -1009.8 310"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "175 -1018 310"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "190 -1004.4 309.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "190 -1011 309.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "205 -1010 310"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "205 -1020 310"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "190.226 -1020.44 309.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "911.651 -892.214 210.6"; + rotation = "0 0 1 40"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + }; + new StaticShape() { + position = "900.295 -906.979 209.097"; + rotation = "-0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1084761"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "913.032 -893.552 210.767"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "914.832 -894.877 209.758"; + rotation = "0 0 1 133.59"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "912.677 -893.325 210.631"; + rotation = "-0.394019 0.919102 1.72231e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "912.661 -893.631 227.21"; + rotation = "-0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + new StaticShape() { + position = "925.57 -879.466 228.641"; + rotation = "-0.394019 0.919102 1.72231e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1093178"; + lastDamagedBy = "4112"; + lastDamagedByTeam = "1"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-42.656 -794.536 194.889"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-58.193 -540.298 162.218"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-425.2 468.66 154.157"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-462.529 530.76 158.674"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "213.962 206.27 36.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-160.766 182.577 87.9758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Obs) { + position = "-26.6267 38.7723 98.6051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock() { + position = "-1024 -1024 -45"; + rotation = "1 0 0 0"; + scale = "2048 2048 69"; + liquidType = "Water"; + density = "1"; + viscosity = "15"; + waveMagnitude = "2"; + surfaceTexture = "terrain/wateregypt1"; + surfaceOpacity = "0.7"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new Item() { + position = "147.28 -3.32699 52.1057"; + rotation = "1 0 0 0"; + scale = "1.8 2 1.8"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + onGoal = "0"; + dropTime = "0"; + originalPosition = "147.28 -3.32699 52.1013 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "22923"; + oneTimer = "0"; + lastMario = "0"; + inLiquid = "0"; + }; + new SimGroup(RepairPatches) { + + powerCount = "0"; + + new Item() { + position = "249.969 171.954 40.8145"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "211.903 181.656 42.9829"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "158.756 235.687 39.7745"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-231.493 -264.84 88.477"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-248.002 -259.261 86.9506"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-251.53 -243.469 86.6905"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new Item() { + position = "265.574 -12.2526 42.2292"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "280.824 2.276 44.7997"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-20.718 65.3971 41.9581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new ScriptObject() { + class = "BonusData"; + + Bonus = "FlagBonus"; + categoryData1 = "17670"; + time = "2746431"; + categoryData3 = "17746"; + categoryData0 = "17653"; + maxCategoryDatas = "4"; + totalValue = "15"; + }; + new TSStatic() { + position = "153.692 -90.6292 45.2471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new InteriorInstance() { + position = "147.056 -3.23654 50.5964"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "117.587 -19.6412 37.4368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "248.635 -20.2887 32.6095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "440.453 -24.3926 23.8861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance() { + position = "902.666 -884.186 200.3"; + rotation = "0 0 1 133.59"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-638.167 859.208 182.2"; + rotation = "0 0 1 145"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "190 -990 300"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "190 945 300"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-713.437 937.958 156.854"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "320.101 1004.87 172.634"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-688.792 -75.5779 137.398"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-62.2852 -973.004 155.913"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "966.25 -945.661 175.781"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "986.491 46.036 147.422"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new WaterBlock(Water) { + position = "608 -648 8.5501"; + rotation = "1 0 0 0"; + scale = "160 160 40"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "terrain/wateregypt1"; + surfaceOpacity = "0.75"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new WaterBlock() { + position = "-592 472 23.2436"; + rotation = "1 0 0 0"; + scale = "192 192 30"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "terrain/wateregypt1"; + surfaceOpacity = "0.75"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "2087.04 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2087.04 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "2086.81 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "190.12 937.599 332.374"; + rotation = "-7.61051e-09 -0.174108 0.984727 180"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-706.291 493.616 144.733"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "190.005 -983.004 333.732"; + rotation = "1 0 0 18.3347"; + scale = "1 1 1"; + dataBlock = "Billboard3"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "990.69 -524.102 152.548"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Billboard4"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new StaticShape() { + position = "-458.324 690.324 68.6937"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-520.579 783.634 53.8577"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-300.71 812.894 49.692"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-617.757 473.907 68.338"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "752.185 -798.517 43.3429"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "644.46 -679.086 64.1933"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "839.983 -545.332 94.8004"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "485.882 -882.027 80.6586"; + rotation = "1 0 0 0"; + scale = "4 8 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/PhasmaDust.mis b/public/base/@vl2/TR2final105-client.vl2/missions/PhasmaDust.mis new file mode 100644 index 00000000..3eff00fa --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/PhasmaDust.mis @@ -0,0 +1,1868 @@ +// DisplayName = Phasma Dust +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// From the dust arose a land like no other. +// -- Unknown +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "4"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-648 -640 1280 1264"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.650000 0.650000 0.650000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "PhasmaDust.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "PhasmaDust.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-87.88 -700.815 191.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-168.263 -2.47 139.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-573.301 606.13 141.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "360.77 -363.742 158.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "50000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-212.09 -229.039 142.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-392.039 141.68 152.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "850"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "600"; + fogColor = "0.700000 0.550000 0.450000 1.000000"; + fogVolume1 = "50 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Nef_TR2_Red.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "717.437 254.082 312.647"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "724.38 241.869 312.985"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "724.765 265.691 312.385"; + rotation = "0 0 -1 91.6732"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "255.105 708.385 308.588"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "266.738 716.766 308.311"; + rotation = "0 0 1 173.789"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "241.234 717.204 308.511"; + rotation = "0 0 1 178.372"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "255.036 726.64 309.783"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "732.14 254.107 313.458"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "487.212 480.281 219.003"; + rotation = "0 0 1 224.118"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new WayPoint() { + position = "486.543 480.143 217.614"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "499.646 467.732 217.333"; + rotation = "0 0 1 224.118"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "488.276 481.782 217.394"; + rotation = "0 0 1 44.1177"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "486.128 480.26 218.867"; + rotation = "0.926799 -0.375559 -1.64162e-08 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "486.433 480.241 235.446"; + rotation = "0 0 1 224.118"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "472.409 493.302 236.877"; + rotation = "0.926799 -0.375559 -1.64162e-08 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-730.46 -279.741 311.238"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-742.178 -269.125 310.755"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-741.578 -290.646 310.755"; + rotation = "0 0 1 92.8192"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-263.42 -723.036 308.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-276.484 -731.865 308.369"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-252.02 -732.924 308.169"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-263.445 -741.59 309.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-747.272 -279.071 311.991"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "-488.875 -490.842 217.663"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + + locked = "true"; + }; + new StaticShape() { + position = "-497.174 -472.233 216.897"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-484.14 -485.083 218.567"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-485.499 -486.857 216.958"; + rotation = "0 0 1 44.691"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-484.045 -484.594 218.431"; + rotation = "0.380189 0.924909 -1.66185e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-484.066 -484.853 234.61"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-471.002 -497.753 236.441"; + rotation = "0.380189 0.924909 -1.66185e-08 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-552.575 -563.614 304.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "-21.3965 -19.5873 181.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "557.396 561.469 295.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Miskellany) { + + powerCount = "0"; + + new WaterBlock() { + position = "-1024 -1024 50.5442"; + rotation = "1 0 0 0"; + scale = "2048 2048 50"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.5"; + envMapTexture = "Nef_TR2_Red_7"; + envMapIntensity = "0.8"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new InteriorInstance() { + position = "-474.663 -474.991 207.601"; + rotation = "0 0 1 45.2637"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "-4.67686 -3.71122 126.737"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bmisc_neftrstand1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "476.443 471.519 207.814"; + rotation = "0 0 1 45.2637"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-308 212 126.663"; + rotation = "-0.0288701 -0.106638 -0.993879 67.3243"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "108 -4 131.147"; + rotation = "0.0527802 -0.200424 0.978286 98.2477"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108 460 128.053"; + rotation = "0.00841541 -0.00525852 0.999951 205.999"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "476 -628 126.959"; + rotation = "-0.128977 -0.0294312 -0.991211 62.4478"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 428 89.1312"; + rotation = "0.0534069 -0.131301 -0.989903 26.256"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "92 124 126.006"; + rotation = "0.279505 0.054494 0.958597 20.8453"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "516 -300 81.5219"; + rotation = "-0.249326 0.598802 -0.7611 26.0876"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 612 126.116"; + rotation = "-0.691117 0.719161 -0.0718707 13.8481"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 -636 124.912"; + rotation = "0.373119 -0.0184434 0.9276 18.3052"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "188 404 171.522"; + rotation = "-0.107602 0.426183 0.898215 46.2802"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-428 172 88.5844"; + rotation = "0.0409088 -0.0443218 0.998179 148.055"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "636 100 88.3344"; + rotation = "0.00117251 0.00767399 0.99997 229.999"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 -12 121.788"; + rotation = "0.123826 0.0758259 0.989403 212.669"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "68 -492 124.616"; + rotation = "-0.161054 0.076022 0.984013 159.328"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "404 132 143.662"; + rotation = "-0.853386 -0.0556745 0.518297 15.3675"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-556 12 125.756"; + rotation = "-0.0738814 -0.155187 -0.985119 87.8581"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 -364 89.4749"; + rotation = "-0.0966112 -0.161698 -0.9821 23.4077"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-124 -68 126.756"; + rotation = "0.713696 0.144716 -0.685343 21.7475"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "404 60 131.256"; + rotation = "-0.289625 -0.0845659 -0.953397 94.7294"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "324 -404 85.9438"; + rotation = "-0.0143662 -0.30189 -0.953235 46.9731"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 -20 122.397"; + rotation = "0.110063 0.0600408 0.992109 167.102"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "12 -516 121.053"; + rotation = "0.185949 -0.0547502 0.981033 167.245"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-604 -620 163.194"; + rotation = "-0.0134696 0.157387 0.987445 132.535"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-460 428 76.2094"; + rotation = "0.0510442 -0.00885906 0.998657 84.077"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "180 -28 122.272"; + rotation = "0.239723 0.00845155 -0.970805 93.6958"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "60 36 122.334"; + rotation = "-0.269049 0.347255 0.898347 51.6553"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-620 36 151.037"; + rotation = "-0.0322291 -0.19419 0.980434 205.508"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-316 -284 124.725"; + rotation = "0.0918455 -0.103039 0.990428 88.5507"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 12 92.3032"; + rotation = "0.170789 -0.0323746 0.984776 55.7232"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-60 460 121.35"; + rotation = "-0.0216206 0.0821046 0.996389 103.202"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-516 84 127.412"; + rotation = "0.0544444 0.107214 0.992744 84.4156"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "244 -388 88.85"; + rotation = "-0.101336 0.0932949 -0.990468 56.4562"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244.116 -516.243 142.285"; + rotation = "0.404994 -0.0182897 0.914136 49.8151"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-532 84 126.241"; + rotation = "-0.0389272 0.116593 0.992417 167.098"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "460 436 96.2093"; + rotation = "-0.0462173 -0.696233 -0.716326 42.3279"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-84 -588 91.475"; + rotation = "0.221303 0.129354 -0.966588 92.9458"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-4 148 113.506"; + rotation = "-0.0238021 -0.219406 -0.975343 96.4236"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "676 -356 126.506"; + rotation = "0.326261 -0.403444 0.854861 20.9929"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-532 -324 122.131"; + rotation = "-0.138397 -0.444546 0.885 55.5696"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "268 444 126.163"; + rotation = "0.0176165 0.0107375 0.999787 191.998"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 -348 167.303"; + rotation = "-0.019222 -0.1651 -0.986089 78.7861"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "612 -604 137.834"; + rotation = "0.656503 0.32175 0.682262 31.8051"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "468 124 125.397"; + rotation = "-0.459257 -0.235212 0.856597 18.6349"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 -484 124.803"; + rotation = "-0.055062 -0.125439 -0.990572 43.3716"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "332 100 166.866"; + rotation = "-0.00618149 0.0349144 0.999371 223.975"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-164 -524 127.975"; + rotation = "0.0980614 -0.014293 0.995078 190.946"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-28 244 102.163"; + rotation = "-0.0798797 0.171302 0.981975 190.803"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -500 126.663"; + rotation = "0.13552 -0.0775996 0.987731 154.308"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-556 652 136.756"; + rotation = "-0.209822 0.0774052 0.974671 137.993"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "556 -388 89.6719"; + rotation = "-0.025962 0.173263 0.984533 99.8814"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-420 612 127.844"; + rotation = "-0.00911759 0.00650348 0.999937 198.999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "212 524 142.766"; + rotation = "-0.0551393 -0.18764 0.980689 227.175"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-20 -596 126"; + rotation = "0.095294 -0.100016 0.990412 166.133"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-668 -4 125.938"; + rotation = "0.0624539 -0.149296 0.986818 189.869"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-524 -324 118.563"; + rotation = "-0.382581 -0.0294514 -0.923452 80.4656"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-292 68 107.891"; + rotation = "-0.0687312 -0.237117 0.969047 148.942"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 60 94.9688"; + rotation = "-0.0238034 0.0653992 0.997575 130.107"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "204 -380 92.6563"; + rotation = "-0.0787062 -0.279464 0.956925 75.4276"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-644 44 153.734"; + rotation = "0.0424859 0.274035 -0.960781 100.263"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "140 500 126.672"; + rotation = "-0.275667 0.0312591 -0.960745 45.6169"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-556 -436 88.2656"; + rotation = "-0.115635 -0.27786 -0.953636 72.576"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "12 -188 119.625"; + rotation = "0.507589 0.113638 -0.854073 46.1636"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "556 -556 124.516"; + rotation = "-0.00737578 0.0494796 0.998748 118.064"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "284 428 126.438"; + rotation = "-0.00124733 0.0897103 0.995967 197.928"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-548 -204 141.766"; + rotation = "0.478782 -0.0300797 0.877418 43.9571"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "204 -300 125.547"; + rotation = "-0.0120942 0.0470712 0.998818 187.991"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-444 460 76.5156"; + rotation = "-0.0610571 0.0419224 -0.997253 107.15"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-420 548 96.2499"; + rotation = "0.101538 -0.187441 0.977014 121.147"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "700 -452 124.969"; + rotation = "-0.118102 -0.0991255 -0.988042 90.6898"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-196 -380 169.063"; + rotation = "0.128092 0.0528472 0.990353 178.02"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-212 268 124.484"; + rotation = "0.0680798 -0.0611885 -0.995802 76.2338"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 -180 136.641"; + rotation = "-0.105805 0.0870213 0.990572 189.906"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-380 -636 127.625"; + rotation = "0.0117012 0.0370401 0.999245 90.0437"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-132 -596 88.0469"; + rotation = "0.00213373 0.0148258 -0.999888 39.0039"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "380 628 127.641"; + rotation = "-0.0031596 -0.0347619 0.999391 233.972"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 220 124.109"; + rotation = "-0.00912327 -0.0174919 -0.999805 74.0106"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 380 150.391"; + rotation = "-0.186993 0.0238938 0.982071 228.222"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "348 -76 94.0157"; + rotation = "-0.0475395 -0.197444 0.979161 48.903"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "124 -524 124.172"; + rotation = "0.00755201 -0.017815 0.999813 207.995"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-84 68 124.719"; + rotation = "0.0314271 0.136742 0.990108 202.778"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-684 -572 174.969"; + rotation = "0 0 1 174"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "212 60 124.078"; + rotation = "-0.0275287 -0.00142559 0.99962 34.0122"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "356 492 93.5937"; + rotation = "0.178035 0.00837225 0.983989 102.903"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "364 316 137.609"; + rotation = "-0.0255954 -0.211774 0.976983 160.452"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "428 -44 127.281"; + rotation = "0.050166 -0.0165477 -0.998604 78.0781"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 -508 127.484"; + rotation = "0.053113 -0.0089126 0.998549 185.991"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "364 -388 82.1407"; + rotation = "-0.105139 -0.0185393 0.994285 221.781"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "76 4 125.328"; + rotation = "-0.0757773 0.0422338 0.99623 146.121"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 460 115.281"; + rotation = "0.0313451 0.255257 0.966365 214.864"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-180 -172 134.578"; + rotation = "0.0248519 -0.0372901 0.998995 232.954"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "620 356 127.547"; + rotation = "0.0133971 0.0244084 -0.999612 87.0219"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "428 292 126.562"; + rotation = "-0.168555 -0.250632 -0.953296 41.7941"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 316 156.938"; + rotation = "0.053913 -0.61785 0.784445 43.7941"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "4 -180 114.391"; + rotation = "-0.088309 0.221443 0.971167 159.592"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-196 604 158.234"; + rotation = "0.270151 -0.285322 -0.919571 68.3946"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 -444 124.141"; + rotation = "0.041218 -0.0521668 -0.997787 52.1003"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-372 -588 125.344"; + rotation = "0.503915 0.0993458 -0.858021 44.8532"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-404 -668 126.016"; + rotation = "-0.620196 -0.695111 -0.363561 10.9735"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 -604 87.9844"; + rotation = "-0.00314127 0.000326477 0.999995 205"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-84 260 114.203"; + rotation = "0.548925 -0.767456 0.331198 26.7343"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "6.47423 628.356 106.55"; + rotation = "0.0310924 0.179694 -0.983231 47.7128"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "620 188 135.531"; + rotation = "-0.993884 -0.110432 0 11.9825"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-260 -412 124.547"; + rotation = "-0.0925473 0.108784 0.989748 59.5074"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 -36 127"; + rotation = "-0.0529674 -0.0479079 0.997446 216.912"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 532 121.422"; + rotation = "-0.605869 -0.29377 -0.739339 37.2717"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "380 308 133.031"; + rotation = "-0.0779193 -0.171388 0.982117 126.832"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 -284 123.281"; + rotation = "0.0874401 -0.136878 0.986721 90.7662"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 60 121.125"; + rotation = "-0.47529 0.335313 0.813428 43.548"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition3BELgTree16) { + + powerCount = "0"; + + new TSStatic() { + position = "-671.715 31.9627 138.238"; + rotation = "0 0 1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "0.284952 -208.037 115.966"; + rotation = "0 0 -1 16.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "32.285 -432.037 118.581"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-295.699 -128.023 160.932"; + rotation = "0 0 1 197"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-509.081 538.424 118.559"; + rotation = "0 0 -1 23.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "208.285 495.963 128.235"; + rotation = "0 0 1 15"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "144.285 -88.0373 118.112"; + rotation = "0 0 1 216"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "578.064 15.5351 124.993"; + rotation = "0 0 -1 68.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-63.715 543.963 118.503"; + rotation = "0 0 1 26"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "504.285 199.963 127.98"; + rotation = "0 0 1 171"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-455.715 -88.0373 115.331"; + rotation = "0 0 1 66.0002"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "448.285 -672.037 114.847"; + rotation = "0 0 1 43"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "264.285 -240.037 114.862"; + rotation = "0 0 1 100"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-125.723 131.281 122.986"; + rotation = "0 0 1 238"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-695.715 -448.037 118.456"; + rotation = "0 0 1 13"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "384.285 247.963 115.05"; + rotation = "0 0 -1 29"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-523.763 -607.019 122.201"; + rotation = "0 0 1 14"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "632.285 -648.037 115.972"; + rotation = "0 0 1 85.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-211.148 25.4193 116.57"; + rotation = "0 0 1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-239.715 -680.037 119.206"; + rotation = "0 0 1 189"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "152.285 -688.037 121.378"; + rotation = "0 0 -1 59.0003"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "8.28496 223.963 108.019"; + rotation = "0 0 -1 73.0006"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-703.715 -480.037 130.748"; + rotation = "0 0 1 3.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-295.715 247.963 115.659"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + }; + }; + new InteriorInstance() { + position = "-712.475 -279.797 303.132"; + rotation = "0 0 1 179.909"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-263.288 -702.735 300.166"; + rotation = "0 0 1 89.9546"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "694.573 254.292 303.909"; + rotation = "0 0 1 0.391671"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "254.684 686.401 300.308"; + rotation = "-0 0 -1 89.5637"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-4.59602 -3.57884 126.754"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + dropTime = "0"; + originalPosition = "-4.59602 -3.57884 126.762 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "18520"; + oneTimer = "0"; + lastMario = "0"; + locked = "true"; + }; + new SimGroup(Poles) { + + powerCount = "0"; + + new StaticShape() { + position = "-646.017 -637.343 178.255"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-638.089 92.8639 161.705"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "79.5606 -636.832 164.405"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-637.889 586.411 130.805"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-595.164 621.554 132.634"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-643.312 235.092 164.286"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-225.793 620.229 155.695"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-106.717 620.002 164.95"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "629.833 622.901 178.482"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "231.002 -637.28 160.448"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "567.326 -632.802 123.406"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "627.885 -589.228 123.883"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "627.882 -245.08 156.547"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "629.577 -91.8675 164.703"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "404.826 619.042 124.768"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "624.918 377.23 125.381"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-393.682 -635.682 125.931"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-642.954 -408.41 127.063"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1391.44 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1391.44 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1391.21 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "-698.907 -279.504 334.379"; + rotation = "0.191174 -0.185376 0.963892 90.3423"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-263.336 -688.577 330.408"; + rotation = "1 0 0 21.7724"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "683.718 253.88 337.119"; + rotation = "0.175242 0.185936 -0.966808 95.3205"; + scale = "1 1 1"; + dataBlock = "Billboard3"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "254.688 673.847 331.981"; + rotation = "0.00209205 -0.193766 0.981046 178.786"; + scale = "1 1 1"; + dataBlock = "Billboard4"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new ParticleEmissionDummy(GridjumpEffect) { + position = "634.829 -136.755 -48360.4 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "GridjumpEmitter"; + velocity = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/SkinnyDip.mis b/public/base/@vl2/TR2final105-client.vl2/missions/SkinnyDip.mis new file mode 100644 index 00000000..c8b3251e --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/SkinnyDip.mis @@ -0,0 +1,1001 @@ +// DisplayName = Skinny Dip +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// Let's all swim naked together. +// -- Purported Blood Eagle council member +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-688 -640 1360 1280"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "562.2 -558 118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "0.500000 0.500000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SkinnyDip.ter"; + squareSize = "8"; + + hazeDistance = "150"; + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "SkinnyDip.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "850"; + fogColor = "0.800000 0.800000 0.900000 1.000000"; + fogVolume1 = "1600 40 500"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "SOM_TR2_StonedBlue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-77.8007 688.198 292.592"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "-93.0565 692.293 292.01"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "-65.5686 693.118 291.81"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "24.7427 697.446 284.581"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "38.4235 706 283.77"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "9.51732 703.572 284.17"; + rotation = "0 0 1 182.774"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "24.3778 711.792 284.102"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "-79.1753 706.203 292.246"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "-6.91836 523.956 193.603"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new WayPoint() { + position = "-6.56021 523.706 192.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-6.71332 509.313 182.932"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-7.19931 526.174 192.394"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-6.94005 523.501 193.467"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-6.70763 523.7 210.046"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-25.8679 523.313 211.477"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "11.4867 523.918 191.933"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-88.0838 -672.101 279.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-101.263 -680.914 278.47"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-72.5459 -677.225 279.07"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "33.3732 -681.533 265.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "19.5386 -688.997 266.418"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "47.2056 -685.953 266.018"; + rotation = "0 0 1 4.01051"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "33.3866 -699.88 266.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-87.4058 -690.581 278.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "-33.7185 -538.012 203.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-34.7719 -515.737 193.532"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-34.7019 -530.628 203.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-34.4192 -533.045 202.558"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-34.6789 -530.173 203.831"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-34.9111 -530.372 220.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-15.7514 -529.955 221.841"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-53.1052 -530.619 202.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-26.8253 -589.819 298.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "129.177 8.26169 233.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "-24.4407 608.045 286.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "213.962 206.27 57.742"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-160.766 182.577 72.5758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "-1024 -1024 -26.4"; + rotation = "1 0 0 0"; + scale = "2048 2048 69"; + liquidType = "Water"; + density = "1"; + viscosity = "15"; + waveMagnitude = "2"; + surfaceTexture = "terrain/seawaterfull2"; + surfaceOpacity = "0.7"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + params1 = "0.63 -2.41 0.33 0.21"; + extent = "100 100 10"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new Item() { + position = "-0.1593 -4.44935 52.1025"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + dropTime = "0"; + originalPosition = "-0.145779 -4.44662 52.1028 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "13602"; + oneTimer = "0"; + lastMario = "0"; + locked = "true"; + }; + new SimGroup(RepairPatches) { + + powerCount = "0"; + + new Item() { + position = "249.969 171.954 49.0145"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "211.903 181.656 49.5829"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "158.756 235.687 76.1745"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-231.493 -264.84 86.877"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-248.002 -259.261 85.3506"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-251.53 -243.469 85.0905"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new Item() { + position = "268.807 -15.7956 46.4292"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "280.788 2.35345 46.7997"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "-25.318 65.3971 40.9581"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "false"; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "23.4737 665.772 307.066"; + rotation = "-7.61052e-09 -0.174108 0.984727 180"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-79.1612 652.769 313.976"; + rotation = "-7.1797e-09 -0.164252 0.986418 180"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "33.9226 -653.772 289.256"; + rotation = "1 0 0 19.4805"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-86.7683 -643.466 302.248"; + rotation = "1 0 0 21.1994"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new TSStatic() { + position = "153.692 -90.6292 43.4471"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "225.155 -124.452 52.1032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-79.173 666.438 282.134"; + rotation = "0 0 -1 90"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "23.7941 675.378 274.395"; + rotation = "0 0 -1 90"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "33.9929 -662.384 256.73"; + rotation = "0 0 1 90"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + }; + new InteriorInstance() { + position = "-86.828 -652.348 269.867"; + rotation = "0 0 1 90"; + scale = "1.4 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + + }; + new SimGroup(Poles) { + + powerCount = "0"; + + new StaticShape() { + position = "693.592 651.578 153.544"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "398.292 632.721 171.01"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-688.151 644.178 209.775"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-691.106 154.493 193.52"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-700.184 -315.569 173.38"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-690.4 -642.684 159.26"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "673.572 -642.231 213.976"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "667.043 -217.012 172.79"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "661.89 186.346 179.386"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-411.843 639.244 213.122"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "359.839 -651.405 202.25"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-387.418 -648.058 171.089"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1391.44 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1391.44 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1391.21 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/SolsDescent.mis b/public/base/@vl2/TR2final105-client.vl2/missions/SolsDescent.mis new file mode 100644 index 00000000..4fd0d290 --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/SolsDescent.mis @@ -0,0 +1,830 @@ +// DisplayName = Sol's Descent +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// With quiet brilliance, Sol lowered his fiery gaze. +// -- Descent of a King +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-456 -512 1040 976"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-967 -62.6 258.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "SolsDescent.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SolsDescent.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "950"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "850"; + fogColor = "0.800000 0.500000 0.300000 1.000000"; + fogVolume1 = "800 10 130"; + fogVolume2 = "1700 10 320"; + fogVolume3 = "0 0 0"; + materialList = "SOM_TR2_Armageddon.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 0.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -nan"; + high_fogVolume2 = "-1 -nan -nan"; + high_fogVolume3 = "-1 -nan -nan"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-506.683 505.566 345.713"; + rotation = "0 0 1 120.321"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "-522.493 478.42 345.354"; + rotation = "0 0 1 120.321"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "-507.75 487.941 345.132"; + rotation = "0 0 1 120.321"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "633.285 500.809 365.539"; + rotation = "0 0 1 222.881"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "610.227 522.144 365.18"; + rotation = "0 0 1 222.881"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "616.314 505.683 364.958"; + rotation = "0 0 1 222.881"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "true"; + }; + new Marker() { + position = "-521.105 497.594 345.105"; + rotation = "0 0 1 120.321"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + new Marker() { + position = "628.292 522.832 364.373"; + rotation = "0 0 1 222.881"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "3.48164 377.356 264.403"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new WayPoint() { + position = "3.83979 377.106 263.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "3.08668 362.913 253.732"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "3.60069 379.774 263.194"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "3.45995 376.901 264.267"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "3.69237 377.1 280.846"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-15.4679 376.713 282.277"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "21.8867 377.318 262.733"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-504.934 -545.863 353.818"; + rotation = "0 0 1 43.5447"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-481.544 -568.015 353.459"; + rotation = "0 0 1 43.5447"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "-487.73 -551.209 353.237"; + rotation = "0 0 1 43.5447"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "648.752 -532.235 333.636"; + rotation = "-0 0 -1 52.3212"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "629.596 -557.132 333.995"; + rotation = "-0 0 -1 52.3212"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "632.911 -539.789 333.414"; + rotation = "-0 0 -1 52.3212"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "true"; + }; + new Marker() { + position = "645.948 -550.295 333.474"; + rotation = "-0 0 -1 52.3212"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Marker() { + position = "-500.77 -567.577 353.007"; + rotation = "0 0 1 43.5447"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "116.282 -441.749 263.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + + locked = "true"; + }; + new InteriorInstance() { + position = "115.028 -419.874 253.332"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "115.298 -434.365 264.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "115.581 -436.582 263.558"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "115.321 -433.91 264.631"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "115.089 -434.109 281.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "133.849 -433.692 282.641"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "96.8948 -434.356 263.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-5.57133 438.778 313.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "39.7431 4.48951 240.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera() { + position = "127.357 -513.178 301.431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + }; + new WaterBlock() { + position = "-80 248 167.303"; + rotation = "1 0 0 0"; + scale = "192 192 26.3487"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/IslandWater02"; + surfaceOpacity = "1"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.75"; + removeWetEdges = "1"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new WaterBlock() { + position = "0 -472 167.151"; + rotation = "1 0 0 0"; + scale = "192 160 25.7003"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/IslandWater02"; + surfaceOpacity = "1"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.75"; + removeWetEdges = "1"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new SimGroup(Poles) { + + powerCount = "0"; + + new StaticShape() { + position = "-452.917 -148.017 218.985"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-452.18 113.524 216.417"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "575.293 86.1677 224.871"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "577.154 -153.078 221.654"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "345.165 -402.38 261.942"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-15.2043 -383.753 252.806"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "135.761 320.352 250.132"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-227.583 336.638 261.677"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-491.311 475.439 335.8"; + rotation = "0 0 1 216.761"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "603.774 492.362 353.675"; + rotation = "0 0 -1 50.9932"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "616.839 -526.062 324.24"; + rotation = "0 0 1 38.9612"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-474.281 -537.397 343.303"; + rotation = "0 0 1 131.39"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "64.0001 -33.8707 33.9119"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + dropTime = "0"; + originalPosition = "63.9999 -33.8878 33.9124 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "9352"; + oneTimer = "0"; + lastMario = "0"; + locked = "true"; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "-480.059 467.172 367.458"; + rotation = "0.0808226 -0.158797 0.983998 126.794"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "597.503 485.468 386.081"; + rotation = "-0.0650513 -0.17865 0.98176 219.342"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-464.938 -527.157 374.607"; + rotation = "0.443076 -0.169309 0.880351 46.9271"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "606.257 -516.907 355.642"; + rotation = "0.372319 0.175281 -0.911403 54.6367"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1391.44 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1391.44 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1391.21 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/missions/TreasureIsland.mis b/public/base/@vl2/TR2final105-client.vl2/missions/TreasureIsland.mis new file mode 100644 index 00000000..3d199d9f --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/missions/TreasureIsland.mis @@ -0,0 +1,1916 @@ +// DisplayName = Treasure Island +// MissionTypes = TR2 + +//--- MISSION QUOTE BEGIN --- +// X marks the spot. +// -- Ancient Tribal pirate +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-560 -656 1072 1344"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TreasureIsland.ter"; + squareSize = "8"; + + hazeDistance = "50"; + visibleDistance = "450"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "TreasureIsland.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "850"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "800"; + fogColor = "0.800000 0.800000 0.900000 1.000000"; + fogVolume1 = "1540 0 350"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Nef5.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "-604.835 714.686 322.143"; + rotation = "0 0 1 128.342"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "-602.565 728.465 321.453"; + rotation = "0 0 1 122.613"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "-615.061 708.113 322.253"; + rotation = "0 0 1 128.342"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "538.019 727.607 330.761"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "555.521 726.141 329.55"; + rotation = "0 0 1 219.443"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "530.793 741.297 330.35"; + rotation = "0 0 1 223.636"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "-616.693 723.941 321.945"; + rotation = "0 0 1 128.342"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + new Marker() { + position = "548.997 741.795 330.758"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "1"; + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal1) { + + powerCount = "0"; + + new StaticShape() { + position = "-58.1184 546.156 164.403"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "false"; + }; + new WayPoint() { + position = "-57.7602 545.906 163.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-58.5133 531.313 153.932"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-58.3993 547.774 163.394"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoldGoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-58.1401 545.701 164.267"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-57.9076 545.9 180.846"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-77.0679 545.513 182.277"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-39.7133 545.518 162.733"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GoldGoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + locked = "false"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new Marker() { + position = "552.163 -684.847 327.112"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "551.317 -701.77 326.2"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "564.405 -680.188 326.6"; + rotation = "0 0 -1 49.2743"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "-589.124 -689.511 326.224"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "-602.427 -686.584 325.801"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "-583.258 -702.484 326.001"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "565.569 -694.905 327.319"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + new Marker() { + position = "-602.335 -704.167 327.421"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(Goal2) { + + powerCount = "0"; + + new WayPoint() { + position = "0.0815047 -534.549 163.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Goal"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Goal"; + team = "2"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-0.658817 -512.526 154.732"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-0.901898 -527.365 164.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Goal"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-0.619198 -529.182 163.758"; + rotation = "1 0 0 0"; + scale = "1.1 1 1.1"; + dataBlock = "GoalBack"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-0.878899 -526.71 164.431"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-1.1111 -526.909 180.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalCrossbar"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "18.0486 -526.492 182.041"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-19.3052 -526.356 162.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GoalPost"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + locked = "false"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-396.81 251.43 84.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "347.933 -332.945 87.3275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-467.2 -304.033 77.9023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "416.878 221.563 73.0448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "34.1653 -23.3315 83.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "409.732 -37.2082 68.6304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-80.7199 -56.2988 88.5183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "147.398 -26.7255 89.2432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-194.074 -53.5834 84.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-439.985 93.8465 109.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-444.221 -35.7437 67.8987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-440.232 -154.318 73.8908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "360.31 -186.737 68.1389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/oceanwaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-11.0272 -486.489 81.4297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "70"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-366.883 -349.665 68.5294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "70"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-41.8988 506.619 67.3821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "70"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "315.764 274.054 88.516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "70"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "46.6422 122.878 305.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/seagull1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-120.805 -104.752 257.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/seagull1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-340.044 -442.953 402.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/seagull1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-295.849 302.958 329.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/seagull1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "160.593 -423.155 405.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/seagull1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "249.74 288.354 335.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/seagull1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "126.135 -207.433 155.742"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-168.766 182.577 146.776"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "430.624 -235.429 157.546"; + rotation = "0 0 1 51.5662"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-485.203 225.408 161.14"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-67.4071 611.556 224.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "false"; + }; + new Camera() { + position = "2.3521 -596.994 227.54"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "false"; + }; + new Camera() { + position = "-8.35488 -36.6744 194.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + }; + new WaterBlock() { + position = "-1000 -1024 17.2"; + rotation = "1 0 0 0"; + scale = "2048 2048 69"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "7"; + surfaceTexture = "LiquidTiles/riverdance_water_5"; + surfaceOpacity = "0.7"; + envMapTexture = "LiquidTiles/archipelago_emap_cloudsground"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + + textureSize = "32 32"; + floodFill = "1"; + extent = "100 100 10"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new Item() { + position = "-24.1356 3.93848 91.0745"; + rotation = "1 0 0 0"; + scale = "1.6 1.8 1.6"; + dataBlock = "TR2Flag1"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + + isHome = "1"; + Target = "33"; + lastKTS = "0"; + className = "FlagObj"; + dropTime = "0"; + originalPosition = "-24.062 3.85421 91.0838 1 0 0 0"; + oneTimerCount = "0"; + WayPoint = "4549"; + oneTimer = "0"; + lastMario = "0"; + locked = "true"; + }; + new SimGroup(RepairPatches) { + + powerCount = "0"; + + new Item() { + position = "310.893 144.263 121.74"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "324.753 154.714 127.891"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "338.81 166.19 133.493"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "365.405 234.14 87.2025"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "370.595 259.273 82.9458"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "363.055 285.108 83.1025"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-365.024 -243.397 130.443"; + rotation = "0 0 1 178.19"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-351.337 -231.483 125.051"; + rotation = "0 0 1 178.19"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-337.814 -220.599 119.106"; + rotation = "0 0 1 178.19"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-398.813 -311.736 90.34"; + rotation = "0 0 1 170.168"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-407.517 -337.798 83.4582"; + rotation = "0 0 1 170.168"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-401.304 -360.892 85.0423"; + rotation = "0 0 1 170.168"; + scale = "6 6 6"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-86.5335 -99.7108 158.444"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + new Item() { + position = "39.19 84.3986 146.927"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + new Item() { + position = "-3.9481 -490.403 76.9261"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + new Item() { + position = "-54.1899 501.319 73.7436"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + new Item() { + position = "-372.498 14.24 43.8449"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "337.769 -14.836 46.3092"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "-220.759 568.911 113.229"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "125.33 -559.212 120.772"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + new Item() { + position = "-193.205 -554.452 117.444"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + new Item() { + position = "134.055 554.024 108.409"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + locked = "false"; + }; + }; + new SimGroup(Toys) { + + powerCount = "0"; + + new Trigger() { + position = "-197.178 -549.471 117.678"; + rotation = "1 0 0 0"; + scale = "9.77524 14.2771 3.3481"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + locked = "false"; + }; + new Trigger() { + position = "119.743 -555.664 122.868"; + rotation = "1 0 0 0"; + scale = "9.77524 14.2771 3.3481"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + locked = "false"; + }; + new InteriorInstance() { + position = "142.139 544.855 107.047"; + rotation = "-0.996941 -0.0779328 0.00585591 61.5521"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Trigger() { + position = "129.73 555.493 109.74"; + rotation = "1 0 0 0"; + scale = "9.77524 14.2771 3.3481"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-210.638 563.549 114.848"; + rotation = "-0.943377 0.254421 -0.212862 65.8115"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Trigger() { + position = "-225.744 577.738 112.881"; + rotation = "1 0 0 0"; + scale = "9.77524 14.2771 3.3481"; + dataBlock = "cannonTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + locked = "false"; + }; + new SimGroup(ramp1) { + + powerCount = "0"; + + new PhysicalZone() { + position = "-85.9345 -91.2108 152.651"; + rotation = "0 0 1 28.075"; + scale = "6.34802 9.3033 1.05091"; + velocityMod = "1.08"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-84.6925 -96.5998 106.596"; + rotation = "0 0 1 37.2423"; + scale = "3.13149 3.18331 4.37902"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + }; + new SimGroup(Ramp2) { + + powerCount = "0"; + + new PhysicalZone() { + position = "35.6059 86.4548 145.125"; + rotation = "0 0 1 28.075"; + scale = "6.34802 9.3033 1.05091"; + velocityMod = "1.08"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + locked = "false"; + }; + new InteriorInstance() { + position = "36.8478 81.0658 97.4701"; + rotation = "0 0 1 217.242"; + scale = "3.13149 3.18331 4.37902"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + }; + new SimGroup(InvRamp1) { + + powerCount = "0"; + }; + new SimGroup(InvRamp2) { + + powerCount = "0"; + }; + new SimGroup(Launchers) { + + powerCount = "0"; + + new StaticShape() { + position = "400.422 -256.885 135.823"; + rotation = "0 1 0 33.2316"; + scale = "3 4.6 0.4"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "1542457"; + lastDamagedBy = "9579"; + lastDamagedByTeam = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-451.818 264.897 133.426"; + rotation = "0 -1 0 34.9504"; + scale = "3 4.6 0.4"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "450998"; + lastDamagedBy = "4312"; + lastDamagedByTeam = "1"; + locked = "false"; + }; + }; + new InteriorInstance() { + position = "-29.705 64.679 101.525"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 1"; + interiorFile = "singleramp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-20.0507 -62.9899 105.021"; + rotation = "0 0 1 180"; + scale = "0.5 0.5 1"; + interiorFile = "singleramp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "337.557 -21.2875 45.3037"; + rotation = "0 1 0 24.6372"; + scale = "0.5 0.5 1"; + interiorFile = "nef_bowl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-372.564 7.69537 43.531"; + rotation = "0 -1 0 15.4698"; + scale = "0.5 0.5 1"; + interiorFile = "nef_bowl1.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "134.577 -559.532 134.246"; + rotation = "0.967624 -0.165628 -0.190452 61.8094"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "false"; + }; + new InteriorInstance() { + position = "-185.761 -555.909 132.057"; + rotation = "0.984671 0.165278 -0.0557415 57.6974"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "false"; + }; + new InteriorInstance() { + position = "-587.911 701.439 313"; + rotation = "0 0 1 216.761"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "524.669 711.842 321.275"; + rotation = "0 0 -1 50.9932"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "537.026 -672.019 318.44"; + rotation = "0 0 1 38.9612"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-575.585 -674.841 318.503"; + rotation = "0 0 1 131.39"; + scale = "1.4 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new SimGroup(Billboards) { + + powerCount = "0"; + + new StaticShape() { + position = "516.902 702.699 353.592"; + rotation = "-0.0590722 -0.163966 0.984696 219.065"; + scale = "1 1 1"; + dataBlock = "Billboard1"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-578.864 694.38 345.432"; + rotation = "0.0730624 -0.149039 0.986128 128.4"; + scale = "1 1 1"; + dataBlock = "Billboard2"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "526.151 -662.135 350.402"; + rotation = "0.313741 0.128965 -0.94071 57.9223"; + scale = "1 1 1"; + dataBlock = "Billboard3"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-567.704 -665.811 351.068"; + rotation = "0.389522 -0.142187 0.909976 43.7155"; + scale = "1 1 1"; + dataBlock = "Billboard4"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + }; + new SimGroup(Poles) { + + powerCount = "0"; + + new StaticShape() { + position = "-464.656 669.727 196.675"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-515.528 72.9986 95.6222"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "457.754 81.3929 95.233"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "479.587 523.878 153.971"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "465.802 -58.148 93.8854"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-502.97 -72.9467 103.321"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-526.519 -493.47 153.027"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "420.505 -659.031 211.769"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-70.5716 689.278 169.242"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GoldPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "7.85169 -659.295 163.935"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(sphere) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1391.44 50.9121 362.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1391.44 50.9121 122.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1391.21 49.8584 242.04"; + rotation = "1 0 0 0"; + scale = "18.2666 33.4668 1"; + dataBlock = "Launcher"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TR2final105-client.vl2/scripts/TR2BonusHud.cs b/public/base/@vl2/TR2final105-client.vl2/scripts/TR2BonusHud.cs new file mode 100644 index 00000000..6b0b5d92 --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/scripts/TR2BonusHud.cs @@ -0,0 +1,166 @@ +new GuiControlProfile ("TR2BonusBigText") +{ + fontType = "Verdana Bold"; + fontSize = $TR2Pref::BonusHud::BonusFontSize; + fontColor = "255 255 51"; +}; + +new GuiControlProfile ("TR2BonusHUGEText") +{ + fontType = "Verdana Bold"; + fontSize = 36; + fontColor = "255 255 51"; +}; + +new GuiControlProfile ("TR2BonusPopupProfile") +{ + bitmapbase = "gui/hud_new_window"; +}; + +function createBonusHud() +{ + if( isObject(TR2BonusHud) ) + TR2BonusHud.delete(); + + new ShellFieldCtrl(TR2BonusHud) { + profile = "TR2BonusPopupProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "0 0"; + extent = "77 52"; + minExtent = "70 48"; + visible = "0"; + helpTag = "0"; + }; + + %profile[1] = "TR2BonusBigText"; + %profile[2] = "TR2BonusHUGEText"; + %sizing[1] = "bottom"; + %sizing[2] = "top"; + %pos[1] = 3; + %pos[2] = 17; + %size[1] = "77 22"; + %size[2] = "77 50"; + for( %i = 1; %i <= 2; %i++ ) + { + $TR2BonusText[%i] = new GuiMLTextCtrl() + { + profile = %profile[%i]; + horizSizing = "center"; + vertSizing = %sizing[%i]; + position = "0 " @ %pos[%i]; + extent = %size[%i]; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "256"; + }; + + TR2BonusHud.add($TR2BonusText[%i]); + } + $TR2BonusText[1].setText("JACKPOT"); +} + +function TR2BonusHud::dockToChat(%this) +{ + %x = getWord(outerChatHud.extent, 2); + %y = getWord(outerChatHud.position, 1); + %this.setPosition(%x, %y); +} + +function TR2BonusObject::flashText(%this, %count, %delay) +{ + for( %i = 0; %i < %count; %i++ ) + { + %isNewBonus = %i % 2; + %text = %isNewBonus ? $TR2Bonus::NewBonus : $TR2Bonus::OldBonus; + %extraDelay = %isNewBonus ? 0 : 250; + $TR2BonusText[2].schedule(%delay * %i + %extraDelay, "setText", %text); + } + $TR2BonusText[2].schedule(%delay * %count, "setText", $TR2Bonus::NewBonus); +} + +function TR2BonusObject::doBonus(%this, %text, %color) +{ + if( %color $= "" ) + %color = "ffffff"; + TR2BonusHud.setVisible(1); + $TR2Bonus::OldBonus = "" @ %this.currentBonus; + + $TR2Bonus::NewBonus = "" @ %text; + + // No flash if old score == new score + if( %text !$= %this.currentBonus || (%text $= %this.currentBonus && %color !$= %this.currentColor) ) + %this.flashText(5, 500); + + %this.currentBonus = %text; + %this.currentColor = %color; +} + +function handleNewBonus(%msgType, %msgString, %text, %color) +{ + if( $TR2Bonus::Gametype $= "TR2Game") + TR2BonusObject.doBonus(%text, %color); +} + +function updateBonusTitle(%msgType, %msgString, %newTitle) +{ + $TR2BonusText[1].setText(%newTitle); +} + +function captureGameType(%msgType, %msgString, %game) +{ + $TR2Bonus::Gametype = detag(%game); + if( detag(%game) $= "TR2Game" ) + TR2BonusHud.setVisible(1); + else + TR2BonusHud.setVisible(0); +} + +function setBonusHudState(%msgType, %msgString, %a, %b, %c) +{ + if( $TR2Bonus::Gametype $= "TR2Game" ) + TR2BonusHud.setVisible(1); + else + TR2BonusHud.setVisible(0); +} + +createBonusHud(); +PlayGui.add(TR2BonusHud); +$TR2BonusText[2].setText("0"); +if( !isObject(TR2BonusObject) ) +{ + new ScriptObject(TR2BonusObject) + { + class = TR2BonusObject; + currentBonus = 0; + }; +} + +//package TR2BonusHud +//{ +//function PlayGui::onWake(%this) +//{ +// if( $TRBonus::Gametype $= "TR2Game" ) +// TR2BonusHud.setVisible(1); +// else +// TR2BonusHud.setVisible(0); +// +// parent::onWake(%this); +//} +// +//function PlayGui::onSleep(%this) +//{ +// TR2BonusHud.setVisible(0); +// parent::onSleep(%this); +//} +//}; +//activatePackage(TR2BonusHud); + +addMessageCallback('MsgTR2Bonus', handleNewBonus); +addMessageCallback('MsgTR2BonusTitle', updateBonusTitle); +addMessageCallback('MsgClientReady', captureGameType); +addMessageCallback('MsgMissionStart', setBonusHudState); +addMessageCallback('MsgMissionEnd', setBonusHudState); \ No newline at end of file diff --git a/public/base/@vl2/TR2final105-client.vl2/scripts/TR2EventHud.cs b/public/base/@vl2/TR2final105-client.vl2/scripts/TR2EventHud.cs new file mode 100644 index 00000000..0b81aa2c --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/scripts/TR2EventHud.cs @@ -0,0 +1,363 @@ +// Complete Event Hud +// Resizes when adding new/deleting old messages +// Message to tell clients to add a line to the HUD is: +// 'MsgTR2Event' +// v0.9 +// As of 05-11-2002 + +// 07-09-2002 +// +// Redid HUD so that all GUI objects are defined in PlayGui.gui. +// Resulting script code to manipulate HUD is pretty ugly from a logical standpoint +// eg: that wouldn't work in C or C++ but you can do it in Tribes script.. + +// 05-13-2002 +// +// Adjusted spacing/size of the hud. text is a little closer together now +// Lengthened the "popup" effect and the duration of individual events in the hud +// + +// Usage: +// Server side: messageAll('MsgTR2Event', "", , , ); +// ALL color formatting is currently handled serverside. + +// Any message from the server matching that message type invokes a client side callback +// The client message callback calls: TR2EventHud.addEvent(, , ); +// TR2 GUI Profiles + +// KP: Added these to match team name colors to skin colors + +new GuiControlProfile ("GuiTextObjGoldLeftProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "204 204 0"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "left"; +}; + +new GuiControlProfile ("GuiTextObjGoldCenterProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "204 204 0"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "center"; +}; + +new GuiControlProfile ("GuiTextObjSilverLeftProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "170 170 170"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "left"; +}; + +new GuiControlProfile ("GuiTextObjSilverCenterProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "170 170 170"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "center"; +}; + + +new GuiControlProfile ("TR2TextProfile") +{ + fontType = "Univers"; + fontSize = 14; + fontColor = "255 250 250"; +}; + +new GuiControlProfile ("TR2BoldTextProfile") +{ + fontType = "Univers Bold"; + fontSize = 16; + fontColor = "160 160 255"; +}; + +new GuiControlProfile ("TR2LargeBoldTextProfile") +{ + fontType = "Univers Bold"; + fontSize = 30; + fontColor = "255 255 255"; +}; + +new GuiControlProfile ("TR2EventPopupProfile") +{ + bitmapbase = "gui/hud_new_window"; +}; + +function handleNewEvent(%msgType, %msgString, %name, %message, %value) +{ + if( objectiveHud.gameType $= "TR2Game") // prevent server-initiated popups in non-TR2 games + TR2EventHud.addEvent(%name, %message, %value); + else + return 0; +} + +function TR2EventHud::resize(%this, %bigger) +{ + %offset = 0; + if( %bigger > 0 ) + { + if( %this.lines < 4 ) + { + %this.lines++; + %offset = %this.size[%this.lines - 1] - %this.size[%this.lines]; + } + else + %this.lines = 4; + } + else if( %bigger < 0 ) + { + if( %this.lines > 0 ) + { + %this.lines--; + %offset = (%this.size[%this.lines + 1] - %this.size[%this.lines]); + } + else + %this.lines = 0; + } + else + { + // no change... + %offset = 0; + } + + if( $TR2Pref::EventHud::DockToChat ) + { + if( $TR2Pref::EventHud::ResizeUp ) + { + %posx = getWord(OuterChatHud.position, 0); + %posy = getWord(OuterChatHud.position, 1) + getWord(OuterChatHud.extent, 1) + 40 + %offset; + } + else + { + %posx = getWord(OuterChatHud.position, 0); + %posy = getWord(OuterChatHud.position, 1) + getWord(OuterChatHud.extent, 1) + 40; + } + } + else + { + if( $TR2Pref::EventHud::ResizeUp ) + { + %posx = getWord(TR2EventPopup.position, 0); + %posy = getWord(TR2EventPopup.position, 1) + %offset; + } + else + { + %posx = getWord(TR2EventPopup.position, 0); + %posy = getWord(TR2EventPopup.position, 1); + } + } + + %extentx = getWord(TR2EventPopup.extent, 0); + %extenty = %this.size[%this.lines]; + + TR2EventPopup.resize(%posx, %posy, %extentx, %extenty); +} + +function TR2EventHud::addEvent(%this, %player, %message, %value) +{ + %this.pushBack(); + + $TR2Event[1].player = %player; + $TR2Event[1].message = %message; + $TR2Event[1].value = %value; + + $TR2EventName.setText(%player); + $TR2EventText[1].setText(%message); + $TR2EventValue[1].setText(%value); + + %this.resize(1); + TR2EventPopup.setVisible(1); + // remove old events after %this.lineLife duration + %this.schedule(%this.lineLife, "removeEvent"); + +} + +function TR2EventHud::removeEvent(%this) +{ + // always remove last line... + %line = %this.lines; + + if( %line > 4 || %line < 0 ) + return; + + %this.resize(-1); + + $TR2Event[%line].player = ""; + $TR2Event[%line].message = ""; + $TR2Event[%line].value = ""; + + $TR2EventText[%line].setText(""); + $TR2EventValue[%line].setText(""); + + if( %line == 1 ) + { + $TR2EventName.setText(""); + } + + if( %this.lines == 0 ) + { + TR2EventPopup.setVisible(0); + } +} + +function TR2EventHud::pushBack(%this) // move old messages down the HUD +{ + for( %i = 4; %i > 0; %i-- ) + { + $TR2Event[%i].message = $TR2Event[(%i - 1)].message; + $TR2Event[%i].player = $TR2Event[(%i - 1)].player; + $TR2Event[%i].value = $TR2Event[(%i - 1)].value; + } + + $TR2EventName.setText($TR2Event[1].player); + + for( %j = 1; %j <= 4; %j++ ) + { + $TR2EventText[%j].setText($TR2Event[%j].message); + $TR2EventValue[%j].setText($TR2Event[%j].value); + } +} + +package TR2Event +{ + +function MainChatHud::nextChatHudLen(%this) +{ + if( $TR2Pref::EventHud::DockToChat ) + TR2EventPopup.setPosition(getWord(OuterChatHud.position, 0), getWord(OuterChatHud.position, 1) + getWord(OuterChatHud.extent, 1) + 40); + + parent::nextChatHudLen(%this); +} + +}; +activatePackage(TR2Event); + +addMessageCallback('MsgTR2Event', handleNewEvent); + +function createBonusPopup() +{ + if( isObject(TR2EventPopup) ) + TR2EventPopup.delete(); + new ShellFieldCtrl(TR2EventPopup) { + profile = "TR2EventPopupProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 400"; + extent = "315 34"; + minExtent = "220 34"; + visible = "0"; + helpTag = "0"; + }; + + for( %i = 1; %i <= 4; %i++ ) + { + %profile = %i == 1 ? "TR2BoldTextProfile" : "TR2TextProfile"; + %ypos = %i > 1 ? 16 * (%i-2) + 34 : 1; + %yext = 16; //%i == 1 ? 16 : 16; + $TR2EventText[%i] = new GuiMLTextCtrl() // GuiMLTextCtrl - ML = meta language..? kinda like html + { + profile = %profile; + horizSizing = "left"; + vertSizing = "bottom"; + position = "4 " @ %ypos; + extent = "276 " @ %yext; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "256"; + }; + TR2EventPopup.add($TR2EventText[%i]); + + $TR2EventValue[%i] = new GuiMLTextCtrl() // Sequence value field + { + profile = %profile; + horizSizing = "right"; + vertSizing = "bottom"; + position = getWord($TR2EventText[%i].extent, 0) + 5 SPC %ypos; + extent = "30 " @ %yext; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "5"; + }; + TR2EventPopup.add($TR2EventValue[%i]); + } + $TR2EventName = new GuiMLTextCtrl() + { + profile = "TR2BoldTextProfile"; // display the name... + horizSizing = "left"; + vertSizing = "bottom"; + position = "25 17"; + extent = "286 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "256"; + }; + TR2EventPopup.add($TR2EventName); +} + +function createEventHudObjects() +{ + if( isObject(TR2EventHud) ) + TR2EventHud.delete(); + new ScriptObject("TR2EventHud") + { + class = "TR2EventHud"; + lines = 0; + lifetime = 6000; // time after last popup that hud will disappear from screen + lineLife = 6000; // time before a event in the hud is removed + size[0] = 34; + size[1] = 34; + size[2] = 52; + size[3] = 70; + size[4] = 88; + }; +} + +function createEventStorage() +{ + for(%j = 1; %j <= 4; %j++ ) // storing the sequence data in a script object + { + if( isObject($TR2Event[%j]) ) + $TR2Event[%j].delete(); + $TR2Event[%j] = new ScriptObject() + { + player = ""; + message = ""; + value = ""; + }; + } +} + +createBonusPopup(); +PlayGui.add(TR2EventPopup); +createEventHudObjects(); +createEventStorage(); +TR2EventHud.resize(0); + diff --git a/public/base/@vl2/TR2final105-client.vl2/scripts/TR2FlagToss.cs b/public/base/@vl2/TR2final105-client.vl2/scripts/TR2FlagToss.cs new file mode 100644 index 00000000..3ebe4cdb --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/scripts/TR2FlagToss.cs @@ -0,0 +1,84 @@ +$TR2FGauge::Reset = 3000; // 3 seconds +$TR2FGauge::Duration = 1200; // 1.2 seconds +$TR2FGauge::Increase = 0.01; // 1% +$IHaveFlag = 0; + +new GuiControlProfile ("TR2StrengthBar") +{ + opaque = false; + fillColor = $TR2Pref::FlagToss::FillColor; + border = true; + borderColor = $TR2Pref::FlagToss::BorderColor; +}; + +function doFlagGauge(%val) +{ + if( %val && $IHaveFlag ) + { + TR2_ThrowStrength.setVisible(1); + TR2StrengthBar.border = true; + %level = TR2_ThrowStrength.getValue(); + if( %level < 1 ) + { + TR2_ThrowStrength.setValue(%level + $TR2FGauge::Increase); + $TR2FGaugeThread = schedule($TR2FGauge::Duration/100, 0, "doFlagGauge", 1); + } + if( !isEventPending($TR2FGauge::HideThread) ) + $TR2FGauge::HideThread = schedule($TR2FGauge::Reset, 0, "hideFlagGauge"); + } + else + { + if( isEventPending($TR2FGauge::HideThread) ) + cancel($TR2FGauge::HideThread); + hideFlagGauge(); + } +} + +function hideFlagGauge() +{ + if( isEventPending($TR2FGaugeThread) ) + cancel($TR2FGaugeThread); + $TR2FGaugeThread = 0; + TR2_ThrowStrength.setVisible(0); + TR2_ThrowStrength.setValue(0); + TR2StrengthBar.border = false; +} + +function flagTossHandleGrab(%msgType, %msgString, %name, %teamName, %team, %nameBase) +{ + if( strstr(%msgString, "You took the flag." ) >= 0 ) + $IHaveFlag = true; +} + +function flagTossHandleDrop(%msgType, %msgString, %teamName, %team) +{ + if( strstr( %msgString, "You dropped the flag." ) >= 0 ) + $IHaveFlag = false; +} + + +function createFlagTossGauge() +{ + if( !isObject(TR2_ThrowStrength) ) + { + new GuiProgressCtrl(TR2_ThrowStrength) { + profile = "TR2StrengthBar"; + horizSizing = "center"; + vertSizing = "relative"; + position = "340 280"; + extent = "100 7"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + } +} + + +createFlagTossGauge(); +PlayGui.add(TR2_ThrowStrength); + +addMessageCallback('MsgTR2FlagDropped', flagTossHandleDrop); +addMessageCallback('MsgTR2FlagTaken', flagTossHandleGrab); diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2flag.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2flag.dts new file mode 100644 index 00000000..1ebfa710 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2flag.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male.dts new file mode 100644 index 00000000..f81626bd Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_back.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_back.dsq new file mode 100644 index 00000000..35c681b7 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_back.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celdance.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celdance.dsq new file mode 100644 index 00000000..fb38d7a4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celdance.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celflex.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celflex.dsq new file mode 100644 index 00000000..d56bffaf Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celflex.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celjump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celjump.dsq new file mode 100644 index 00000000..8f38c5ba Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celjump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celsalute.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celsalute.dsq new file mode 100644 index 00000000..4372f76a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celsalute.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celtaunt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celtaunt.dsq new file mode 100644 index 00000000..1bba9975 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celtaunt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celwave.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celwave.dsq new file mode 100644 index 00000000..fb1fe73c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_celwave.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieback.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieback.dsq new file mode 100644 index 00000000..d1d8bf93 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieback.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diechest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diechest.dsq new file mode 100644 index 00000000..a6b95b28 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diechest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieforward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieforward.dsq new file mode 100644 index 00000000..4dce5e54 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieforward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diehead.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diehead.dsq new file mode 100644 index 00000000..35bb2850 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diehead.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieknees.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieknees.dsq new file mode 100644 index 00000000..1069e783 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieknees.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieleglf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieleglf.dsq new file mode 100644 index 00000000..c24d040e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieleglf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dielegrt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dielegrt.dsq new file mode 100644 index 00000000..6c736f07 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dielegrt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diesidelf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diesidelf.dsq new file mode 100644 index 00000000..ffb99e13 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diesidelf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diesidert.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diesidert.dsq new file mode 100644 index 00000000..7b4ed5dd Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diesidert.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieslump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieslump.dsq new file mode 100644 index 00000000..415a0cfb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_dieslump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diespin.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diespin.dsq new file mode 100644 index 00000000..87ea511f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_diespin.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_fall.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_fall.dsq new file mode 100644 index 00000000..0aa504b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_fall.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_forward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_forward.dsq new file mode 100644 index 00000000..e716d5c1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_forward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_jet.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_jet.dsq new file mode 100644 index 00000000..c34c2502 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_jet.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_jump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_jump.dsq new file mode 100644 index 00000000..ad40fa2b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_jump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_land.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_land.dsq new file mode 100644 index 00000000..ff21309e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_land.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_root.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_root.dsq new file mode 100644 index 00000000..a4446edf Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_root.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_side.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_side.dsq new file mode 100644 index 00000000..8c6adc1b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_side.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_ski.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_ski.dsq new file mode 100644 index 00000000..eee2cc1a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_ski.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_standjump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_standjump.dsq new file mode 100644 index 00000000..460edb32 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_standjump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_tauntbest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_tauntbest.dsq new file mode 100644 index 00000000..426d5d51 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_tauntbest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_tauntimp.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_tauntimp.dsq new file mode 100644 index 00000000..c1557412 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2heavy_male_tauntimp.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female.dts new file mode 100644 index 00000000..3a84f084 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_back.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_back.dsq new file mode 100644 index 00000000..dfcfa12f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_back.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celbow.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celbow.dsq new file mode 100644 index 00000000..c673a4ad Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celbow.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celdance.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celdance.dsq new file mode 100644 index 00000000..9710b9f0 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celdance.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celsalute.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celsalute.dsq new file mode 100644 index 00000000..3694e962 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celsalute.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celwave.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celwave.dsq new file mode 100644 index 00000000..6180974c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_celwave.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieback.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieback.dsq new file mode 100644 index 00000000..6529dbb8 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieback.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diechest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diechest.dsq new file mode 100644 index 00000000..c9cd1ffd Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diechest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieforward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieforward.dsq new file mode 100644 index 00000000..745551da Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieforward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diehead.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diehead.dsq new file mode 100644 index 00000000..a7c50e49 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diehead.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieknees.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieknees.dsq new file mode 100644 index 00000000..53fd1c64 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieknees.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieleglf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieleglf.dsq new file mode 100644 index 00000000..5f312014 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieleglf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dielegrt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dielegrt.dsq new file mode 100644 index 00000000..e151b313 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dielegrt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diesidelf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diesidelf.dsq new file mode 100644 index 00000000..5b196add Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diesidelf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diesidert.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diesidert.dsq new file mode 100644 index 00000000..9109d715 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diesidert.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieslump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieslump.dsq new file mode 100644 index 00000000..6f1225f6 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_dieslump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diespin.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diespin.dsq new file mode 100644 index 00000000..57970b2b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_diespin.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_fall.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_fall.dsq new file mode 100644 index 00000000..4c173bee Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_fall.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_forward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_forward.dsq new file mode 100644 index 00000000..9971dd63 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_forward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_jet.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_jet.dsq new file mode 100644 index 00000000..46daa8a9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_jet.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_jump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_jump.dsq new file mode 100644 index 00000000..2769f329 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_jump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_land.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_land.dsq new file mode 100644 index 00000000..a1f7c8fb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_land.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_root.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_root.dsq new file mode 100644 index 00000000..695fdcd1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_root.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_side.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_side.dsq new file mode 100644 index 00000000..f35ee220 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_side.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_ski.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_ski.dsq new file mode 100644 index 00000000..05703b1c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_ski.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_standjump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_standjump.dsq new file mode 100644 index 00000000..c1e1968e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_standjump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntbest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntbest.dsq new file mode 100644 index 00000000..455df51c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntbest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntbutt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntbutt.dsq new file mode 100644 index 00000000..6535dc2e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntbutt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntimp.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntimp.dsq new file mode 100644 index 00000000..cf49b531 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntimp.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntkiss.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntkiss.dsq new file mode 100644 index 00000000..00c34299 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_female_tauntkiss.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male.dts new file mode 100644 index 00000000..b4162431 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_back.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_back.dsq new file mode 100644 index 00000000..c8ce3072 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_back.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_fall.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_fall.dsq new file mode 100644 index 00000000..99a6b53c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_fall.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_forward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_forward.dsq new file mode 100644 index 00000000..e5e5c1c5 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_forward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_jet.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_jet.dsq new file mode 100644 index 00000000..d225dc18 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_jet.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_jump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_jump.dsq new file mode 100644 index 00000000..a4cdb75a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_jump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_land.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_land.dsq new file mode 100644 index 00000000..015e2231 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_land.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_root.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_root.dsq new file mode 100644 index 00000000..2d6719b2 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_root.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_side.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_side.dsq new file mode 100644 index 00000000..c07757d9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_side.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_ski.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_ski.dsq new file mode 100644 index 00000000..b6defceb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2light_male_ski.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female.dts new file mode 100644 index 00000000..d43c9e8f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_back.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_back.dsq new file mode 100644 index 00000000..a53e2620 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_back.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celbow.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celbow.dsq new file mode 100644 index 00000000..0cbe2c5c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celbow.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celdisco.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celdisco.dsq new file mode 100644 index 00000000..1e277734 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celdisco.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celsalute.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celsalute.dsq new file mode 100644 index 00000000..938bc9fb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celsalute.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celwave.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celwave.dsq new file mode 100644 index 00000000..df64dd67 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_celwave.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieback.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieback.dsq new file mode 100644 index 00000000..74eb2c11 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieback.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diechest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diechest.dsq new file mode 100644 index 00000000..6500ba92 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diechest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieforward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieforward.dsq new file mode 100644 index 00000000..eba2a232 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieforward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diehead.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diehead.dsq new file mode 100644 index 00000000..67e2890d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diehead.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieknees.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieknees.dsq new file mode 100644 index 00000000..803f29ab Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieknees.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieleglf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieleglf.dsq new file mode 100644 index 00000000..96995502 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieleglf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dielegrt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dielegrt.dsq new file mode 100644 index 00000000..afac25a4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dielegrt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diesidelf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diesidelf.dsq new file mode 100644 index 00000000..94f3ab77 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diesidelf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diesidert.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diesidert.dsq new file mode 100644 index 00000000..cc985781 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diesidert.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieslump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieslump.dsq new file mode 100644 index 00000000..c76794bb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_dieslump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diespin.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diespin.dsq new file mode 100644 index 00000000..82d68074 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_diespin.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_fall.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_fall.dsq new file mode 100644 index 00000000..ada42c87 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_fall.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_forward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_forward.dsq new file mode 100644 index 00000000..55afa5ca Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_forward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_jet.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_jet.dsq new file mode 100644 index 00000000..e18de0bb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_jet.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_jump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_jump.dsq new file mode 100644 index 00000000..8df76494 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_jump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_land.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_land.dsq new file mode 100644 index 00000000..6a402ec9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_land.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_root.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_root.dsq new file mode 100644 index 00000000..22660499 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_root.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_side.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_side.dsq new file mode 100644 index 00000000..3ac838cf Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_side.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_ski.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_ski.dsq new file mode 100644 index 00000000..a112c2d1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_ski.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_standjump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_standjump.dsq new file mode 100644 index 00000000..9128662b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_standjump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntbest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntbest.dsq new file mode 100644 index 00000000..28c5e957 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntbest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntbutt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntbutt.dsq new file mode 100644 index 00000000..632ff0ca Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntbutt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntimp.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntimp.dsq new file mode 100644 index 00000000..95c2de6d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntimp.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntkiss.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntkiss.dsq new file mode 100644 index 00000000..138878a6 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_female_tauntkiss.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male.dts new file mode 100644 index 00000000..5600bcb8 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_back.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_back.dsq new file mode 100644 index 00000000..1f98ae1e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_back.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celdance.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celdance.dsq new file mode 100644 index 00000000..5ebad8b1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celdance.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celflex.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celflex.dsq new file mode 100644 index 00000000..097e1a0e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celflex.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celrocky.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celrocky.dsq new file mode 100644 index 00000000..40428af6 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celrocky.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celsalute.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celsalute.dsq new file mode 100644 index 00000000..33ad8e56 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celsalute.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celtaunt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celtaunt.dsq new file mode 100644 index 00000000..8f57a0a9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celtaunt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celwave.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celwave.dsq new file mode 100644 index 00000000..a8044b70 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_celwave.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieback.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieback.dsq new file mode 100644 index 00000000..cbda6c3c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieback.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diechest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diechest.dsq new file mode 100644 index 00000000..59cb342a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diechest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieforward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieforward.dsq new file mode 100644 index 00000000..371fc3be Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieforward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diehead.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diehead.dsq new file mode 100644 index 00000000..5e3a28ef Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diehead.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieknees.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieknees.dsq new file mode 100644 index 00000000..2bc97690 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieknees.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieleglf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieleglf.dsq new file mode 100644 index 00000000..52052706 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieleglf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dielegrt.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dielegrt.dsq new file mode 100644 index 00000000..f06cf619 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dielegrt.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diesidelf.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diesidelf.dsq new file mode 100644 index 00000000..3f267f62 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diesidelf.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diesidert.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diesidert.dsq new file mode 100644 index 00000000..86c80e0b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diesidert.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieslump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieslump.dsq new file mode 100644 index 00000000..31e23635 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_dieslump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diespin.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diespin.dsq new file mode 100644 index 00000000..810d32a1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_diespin.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_fall.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_fall.dsq new file mode 100644 index 00000000..35a1acf6 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_fall.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_forward.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_forward.dsq new file mode 100644 index 00000000..1a1ac81b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_forward.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_jet.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_jet.dsq new file mode 100644 index 00000000..23035134 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_jet.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_jump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_jump.dsq new file mode 100644 index 00000000..aa588636 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_jump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_land.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_land.dsq new file mode 100644 index 00000000..3c51fd6b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_land.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_root.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_root.dsq new file mode 100644 index 00000000..f0443331 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_root.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_side.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_side.dsq new file mode 100644 index 00000000..7af5fc54 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_side.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_sitting.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_sitting.dsq new file mode 100644 index 00000000..0e87b094 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_sitting.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_ski.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_ski.dsq new file mode 100644 index 00000000..08e350fb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_ski.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_standjump.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_standjump.dsq new file mode 100644 index 00000000..0baeaa6a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_standjump.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_tauntbest.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_tauntbest.dsq new file mode 100644 index 00000000..8c755e86 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_tauntbest.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_tauntimp.dsq b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_tauntimp.dsq new file mode 100644 index 00000000..52df2f36 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2medium_male_tauntimp.dsq differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_chaingun.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_chaingun.dts new file mode 100644 index 00000000..2113ac40 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_chaingun.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_disc.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_disc.dts new file mode 100644 index 00000000..33a15109 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_disc.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_grenade_launcher.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_grenade_launcher.dts new file mode 100644 index 00000000..c98d7b23 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_grenade_launcher.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_mortar.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_mortar.dts new file mode 100644 index 00000000..e70aab50 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_mortar.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_shocklance.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_shocklance.dts new file mode 100644 index 00000000..0f314c9f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/TR2weapon_shocklance.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_1.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_1.dts new file mode 100644 index 00000000..5d363f24 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_1.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_2.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_2.dts new file mode 100644 index 00000000..5e4ea33f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_2.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_3.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_3.dts new file mode 100644 index 00000000..8ee4c0e0 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_3.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_4.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_4.dts new file mode 100644 index 00000000..8d66f696 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/billboard_4.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/goal_back.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_back.dts new file mode 100644 index 00000000..2c89c700 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_back.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/goal_panel.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_panel.dts new file mode 100644 index 00000000..5c1bc014 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_panel.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/goal_side.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_side.dts new file mode 100644 index 00000000..7a5f0e8d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_side.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/goal_top.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_top.dts new file mode 100644 index 00000000..cf6518de Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/goal_top.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_back.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_back.dts new file mode 100644 index 00000000..90dd0c9d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_back.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_side.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_side.dts new file mode 100644 index 00000000..6f03edac Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_side.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_top.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_top.dts new file mode 100644 index 00000000..b1cf90db Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/gold_goal_top.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/golden_pole.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/golden_pole.dts new file mode 100644 index 00000000..d5614516 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/golden_pole.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/shapes/silver_pole.dts b/public/base/@vl2/TR2final105-client.vl2/shapes/silver_pole.dts new file mode 100644 index 00000000..cc8eb562 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/shapes/silver_pole.dts differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/Crater71.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/Crater71.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/Crater71.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/Crater71.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/Crater71.ter new file mode 100644 index 00000000..0104d1f8 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/Crater71.ter differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/FrozenFury.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/FrozenFury.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/FrozenFury.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/FrozenFury.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/FrozenFury.ter new file mode 100644 index 00000000..9de907f9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/FrozenFury.ter differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/GodsRift.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/GodsRift.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/GodsRift.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/GodsRift.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/GodsRift.ter new file mode 100644 index 00000000..3d39a576 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/GodsRift.ter differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/Haven.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/Haven.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/Haven.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/Haven.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/Haven.ter new file mode 100644 index 00000000..f2fc0b3f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/Haven.ter differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/PhasmaDust.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/PhasmaDust.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/PhasmaDust.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/PhasmaDust.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/PhasmaDust.ter new file mode 100644 index 00000000..ca973525 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/PhasmaDust.ter differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/SkinnyDip.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/SkinnyDip.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/SkinnyDip.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/SkinnyDip.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/SkinnyDip.ter new file mode 100644 index 00000000..87a2d4ac Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/SkinnyDip.ter differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/SolsDescent.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/SolsDescent.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/SolsDescent.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/SolsDescent.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/SolsDescent.ter new file mode 100644 index 00000000..75910d44 --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/terrains/SolsDescent.ter @@ -0,0 +1,423 @@ +ttZZZZZZZZZZdnTOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@EEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@EE@@@@EEEEEEEEEJJJJOTTY^cYJJJJJJJJJJJJJJJJJJJJYTJJT^cYTJE@@@@@@@EJOJJEEEEEEE@@@@EEE@@@@@@@@@@@@@@@@@@@@@tZZZZZZZZZZZ_JJJJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@EE@EEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEJJOOTTTTY^^^TOEEEEEEEEEEEEEEEEEEETcc^^^YTOOOTTTOJE@@@@@@@@EEEE@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@Z@@@@@@@@@@@@@EEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@EE@@@EEEEEE@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@EE@@@@@EEEEJJJJJOOOOJEEEEEEEEEEEEEEEEEEEJTYYYYYYTTOTTTTOJJJOOOOJJJJJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JEEE@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@EEEEEEEEEEE@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEE@@@@@@@E@EEEEEEEEJJEE@@@@@@@@@@@@@@@EEJJJJJJJJJJEEJJJJEEEEJJEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEE@@@EEEE@@EEEEEEEEEEE@@@EEEEEE@EEE@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJJJJEEEEE@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@EEEEEEEEEEE@@EEEE@@@EEEE@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJEE@@EEEE@@EEEEEEEEEE@@@@@EEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEJJJJJJJJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@EE@@@@EEE@@@@EEE@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEE@@@@@@@@@@EEE@E@EEEEEEEEEEEEEEEEEEJJJJJOOOOOOJJJJJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@EE@@@@EEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@EJJEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@E@@@@@@@@@EEEEEEEEEEEEEEEEEEEEEEJJJJJJJJJJJOOOOJOOOOJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@EEE@@@EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@EEEEOccOJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJJJE@EEEJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJJJJJJEEJJJJJJJJJJJJJOJJEEEEEEEEEEEJJOOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@EEEEEEEEEEEEEJEEJJJJJEEJEEEEEE@@@@@@@@@@@@@@@@EEJJ^JJE@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@EJJJJE@@@@@@JYOJOTTOOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOJOOOJJJJOOOOOOOOOOOOOJE@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@EEEEEEEEEEEEJJJJEEJEE@@@@@@@@@@@@@@@@@@@@@EEEJTTJE@@@@@@@@@@@@@@@@@@@@@@@EEEJJJEE@@@@@@@@@@@@@@@@@@@@@@@EJT{OE@@@@OTOTTJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOTTTTTTTTTTTTTTTTTTTTOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@EEEJJJJE@@@@@@@@@@@@@@@@@@@@@@@@@JJ@@@@OcYJJJYYE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JOYYYYYYYYYYYYYYYYYYYOJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJE@Z@@@@@@@@@@@@@@@@@@@@@@@ETcJ@@@@EOTOE@@@EO^E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JT^ccccccccccccccc^TJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEE@@@@@@@@@@@@@@@@@@@@@@@@EJT^ccYTE@@@@@@@@@@@@@@ETTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OT^hhhhhhhhhhhhh^YO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@EE@@@@@@@@@@@@@@@@@@@@@@@@EJOOJJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJTYcYTJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJYYJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOOOOOOOOOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JTJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ET@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZZ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOYJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZZEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_iiJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^@@@@EJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^J@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JJE@@@@@@@@@@@@@@@@@@@@@OO@Ov1gv&@l]q]KbZZ6gb ^OOOOO&lq0!^@@@@O!^OOOO@@@@@@@@@@@@OO@@@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJE@@@@@@@@@@@@O  t'Auq +X < + + o q @ ! n6 Z G + ' nTP U U + +2 + + [ >C Z ^ * D  + D Txx^^:qWWWWW=[[[####AA'tO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJE@@@@@@@@@@O^E({ h +/ M &!r ! } $# p p p; e ] 0b|H=hS m   r ' ' ' 9 I s $  $ + + 7 T 7 ( + + + + + +p +< +" + Y ? ? % 4 Q v\BBnnTT(q=^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJJE@@@@@@@Ovq " V +  mmOL2#3j66#jo0J5gLLORlii55;!P8U;!!jjP66 + + + +mS9 p p V < " s Y > $ A + + + +V +" + s % BDTw@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@Jo + " LLIaaQf5OLL77QI77Li~Jl8gM3jP66PPjjjjPmS8U;!!j$m p " k T +< + T]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@*]& " + UO4K/``FFF,c/1{1f//IIIfKK14cI5Qg2iO5OOOiii55~llRM6mo +m < +V + Y n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c 9 p !!KI1Ke]eKwwCh}`,``F`,,}}If1hc/fL2iO5~QQQ7gL5R8UjSV k  V + n @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+T; SIzKCzzzzzzzN4}IK1hN4}}III///fffff2O~gO; +? W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ n 2/e . . . . .  . H b | | b  CF`zz`F,,F`zN}/I}cIfK1hhNNNNhhhh{N44444}c/fi7gU Y " +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  + U1 ! 2 ; H H .   . b !!+!! b }c},FI/}``If11cccI/ffKKfK114i5Um  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@I 9j4e       . b +!E!`!E!! H z/11K/1h4NI}cfK/}N4444c/////Icc}cOIcI/Ki8$ n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ >fze .   ru. b !!+!! b Kc4NN}7c1hhhhfcIf1f/Iccc}4````p7./fLR @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ lL . . >Y.mA | . K4fh}IIIc}cc4h1c}}}cc/}NK//Ic,}}\S 4zIR$s @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@w ;. .  eGmDa!- U  zcfNIfffI}N{1f1IffLfKKKKKfK> +/ a`KeK< +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ h.  ez+dGB`/Nc7fffff/}Nh4}/22}4{Nc7I}cdc/&cz1j +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4 zcS Q|Kh}IffffffcN4cLLcILiOif6!CIf}K. . cg9 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D Y !Kc1#pq@ffL22ffffLLLLfff7kNN}I/f2ffLif,_vpU. b . 1cM @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Lp /1Kz4fi52Lf/4h1fK11hcii2c}}c2lGaTzp>1 | H K/ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@q jI14c}05OiO~76 Q5ii2Lf}Nf/}cII1KfffKh4444/iiLc1cfi?3NmL| H 1< +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@q s $L1cO5OiOl#iU!:$5O2f/ccaI}NN444NNNNh4cLL}}KNdRjklV]S H fO @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W > +L1K5~~~~~5Q ^7``Lb15if/}}22LL2LQNNN4ffcNf4c1R&JD)#K H 1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Ws $ +gf`IIO~QQQQQQQQ~~~w}) Nl5i/Nf}ilQlOhhNL2fN1fc1147L2& gd1. H  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WY + `~QQ77QQ~l]y0'gl5i}cz4c}c1/QiN}2/}eFilL22h4eH b 7! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=Y IK1cQ77 +8::9(:ggLLLoOI`IIIKci~Ql~Qch24zz| b KI2gL}`b b Y @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=% Iil7%en}bH`d:7ggLLLLLLT5f1III~Q77g::54c7N`1H | 1z}27g2QI b 4gX? @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# }1}l7E;U3>\}s62gLL22222Ri41eIIIIf7g:  11N1e H eNcL7g2 1} b  + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# QKecQh,/*g\CJiiiii2L222y0O4KcccIQ::OK11Kf1K1e| }K{c7LiOO/4f b N @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ n Q4e ecil 9i[}{lVK62LL iO55555O224~5 ezcccKlLLg: 711KKK}4K. }Ii52Ih +!| N}O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 md4 c}5Q\ps<iO5ilTfKz}cc42:   Q7hK/fKz/fN}Ol25Lch. +!| 4Im@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  +974 eIc90YO5@TL}c``}}}/iOi QcN1I1{h/}cK{7L8!!5f}. +!| 4S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  +jee/I+t55aih/}4}c15i55i7c44N{N1K1hcIc}cQ8;66OH +!b 9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  + 6KKMiO555Oi5iiOik|'Oh}7 OOOic4/25OO7LjmjU7i1H +!H L8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ n + 1K2iO5OO22I}T747lig~Q58m6;Q1H ! c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@n + g}c1iOlR5Ol88Rl4c}}}i7ggg7cIc4ILLd7O5OS6;lKb ! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@n +p i5lR8lllllllTgcIc}}cLOOii/c}ciLLiiL25S6;~1/4eb OU @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@n +V 8zK7i5R;ollllRRllkNghkii;;5iLIIIIL2ff2ffiOiR8i2gL2L2586;2/4KINeb 5;p @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@np +" I5OR!;llRRRRR885%?il;;5O/N}cc}}cILOi222gL2chfc`eb !p @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TV + olO45Rj!lRRRR88yy7lRjP6PjjjiTl/aK1{4c/ggROO52j8oogf}zb !p @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(" + cRPP;88888LtI8R8j6OifKK114}IlRRl!ilRRl :l;!;65| 5!p @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Y Q/2l!j6Pn/1p8g6OOLl1fK11N}/O725l8Rl8P6limU!65O| !!O;p @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + >!}4Li8gjP6jA%DM5OiOLKfK11NcL28j#R;!!Ul8M;8ji41 +!!O;V @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ }4LiP6P![YCJzMmmSSm!l5Oi/KfK14}2OlU!!g!!;gj8!US7NK/ +!!5!V @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? cN1LiMj66PMFW ]jNMmS8888mjOi~OIh8;g!S8Sg!j66PjjmU$o~chfc +! < @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% T I1zKil!j66PdiR;Z [`Mm8igi2fcL2g66Pm8j!!66PSUj +R2}4 ! " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ SPIKQlP66Pn'ExQ|_.;.MS!i2~2iLOii;6PjSmmSSm!j +!LN1 !  n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@q +gIIljP66Pg [ g r%WgMS U228g;;jS88S6PSmSm$$;zK. +! f~P \@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W + L/KN:j666PMD+ " +$yg!oo8;Rluhl8SP6 88SmmoUUoSmSoSmPO1H +! K7  B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W + wFLj666jMgg3m K 5 o  *ggMjoUU8PP!;SmmS888SSoU;!;;UooU;;Uo;6mSmPPO4fIb E! eY B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t=p +p m7j666jggMu' H | = NGLgM!ooooUU;j666P!2F!jjj!U!!;UoU!!;o +SSmP!jihc4 +!E! N2 + (@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t=\< +" iciP66jMU;d x P  *u gMM6oUUUU;;;$ +shtjjj;Uooo!!!;;SSmj!87czK +!E! 5U @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t#( L@I5P66PU;!] ~ O ) P y bt7ggMM6;;;;;;;;jPPPPPP$p"!.\6P;o;jPPPj{iGc$9S;S~}H +!+!b P +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t# Y ;y:@1gl;P66Pj!;!<e v O v [ UZgMM!;;;;; +S9 o  o n - S>!o$ + + + +6j6Z. (PPjS99US82b !E!+!. ci" +q@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@t Y X@NAEsP666P!B T [ EggM!!;;;jp " B f X Q 9 2 _ < I m;o! + +: ]   t  +6j699SUmRL| +!`!+!S ? #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t ? h XAPhxjP666j!x y m  vhgg3m6!!P  X 8  l $ + + + +s + + + +m H ' Uo;$ | 1 - % \ 6  +PPm99SoRL E!`!!n @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@t % +n  $loy 8P666PjL ?  e 1+gMP +PP 9  @ + +F +  +} + +[ + T [ U>#Z k y  Z #6jj +99SolL/ E!`!  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. + a Af6;P6666PXw[ }  9;Zg!;$P  8  ] + +6 + 5    ; +  - f ^ 4$!;m \ g 1   L B $P6m99Solf/ E!E! I @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'v cN _vSOP66666j)Wf +0ghgMPjjp S  k P +9 +  wOO\y ) + +l + . w ;mdw q + + + + q w ~ + +99S +2L E!E! NMp @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH : *>{ e6666jgvtKgZZgM!; +jjmV 7 } | u +" +E G|pq +V   R H Eh;mRJ h ? + + + + +I e RS99m$!2L +!+!b " s qt@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EtAx 4  +C t y<P6PwQ3#ggggggM!m8 ~  b + + )2 +K   8  ih;SSI/ a P + + + + u  w dS99m6;LL !  cj t@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E  +b o rtA7gj6PGF_yGMMMMM36 +, ^  + z|{x 5   8 w uh;S9SmM@ x - + + F 4 S9SmPMLL| P< @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E4 +  7@oof66P'^riMMMM! mm +4 X  [ q ` R +8 i8-'=x L Y   $ 0 m k;S9SSS9 = Y P N b o S99Sj!6ggLb | 1fPp  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XW +C + +' s\l2l!P6jbt!!!!#SSm6!S Z  0 0 W E ;2B' o : E J C . ] |!Sk'/ k  j ^u9!9[;PgL}H |  ~P p +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JFcI + + g^gUj6Pj6!jS9SP } l E ^ v ] +U-vs 0 } w e ; P h!m9&F&=au  s u  n4+&7kZ@ +USjgL} . P +s+^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@oy +M=nm QFfgUPPjj6;m999SP; h _ &V8&C}0G\ + ` c 2 9 .Uom9FeF9  _ 4 4 e R5176t[u +oSL}eI}6 +F :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@]*h SZ1{}LL!SS666SS9SP _ y +8p-  + W G  ]UUjm9=L<$96 MmHH.1C:7kZ@m$omL}KfL69 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@qT= T 8chI2UUo8m8S99SP a Y  8~j35> + } mUUjm9!Q:?vsmmmgXOQF,1' 9m +omL}4NIST ++ @@@@@@@@@@@@@EOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OYO@@@@@@@] +3s m8gONh4l;mmmmm8S99S6 ^ P Y s % ; & +|TV"$|$H + +q  m;;jm9 3aMN+'fg\OE(/>//%9m +oSjg2}ccKiimn b ++ @@@@@@@@@@@@@OYYJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YYY@@@@@@@+C< +Y Lfc/fi78mU$oo; +S99mPj(Tv F 5 + 5 ) + )4fS M +T $ +9 +8M.,eFJ~l"8P2%9m +U8PL2}ccf4m 7 +O@@@@@@@@@@@EYJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OYO@@@@@@%s V 6lg2c}I8!Pmm +>jjjP$S9AT) 9SS& U k +d KQGp R2  k < mm9 ,&'cjqM"_rW>999Sm +;g22c{149n ~ d@@@@@@@@@@@JJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@X + 52/L5jPmSSmmSS9ayi  p p V V V V V <  E _ + >vqv8: +T $ " " "    " < < V p =QGDgQyWSm +!ggL}N; 9 fO@@@@@@@@@@@OYE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E,e +p p + oRQL6PmmmmmttZxJCas V < < "  X & J +f +P .(vx [F?F[! +x m + n $ k  " < V 9SSsv m$U8iNiOU8 +@@@@@@@@@@@@OYE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J +T SR52ii8$mnu~D-vC9Y) p V V V V <  > K + + UVxT?7?Txqq f +9 Y " " " < < < V V p <H\k[mmttmmmmm|q$;PLINNcO;S$" ' s @@@@@@@@@@@EYTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J&D4 + +LQOPSUmmuznV{]hN  ! q +( + fC[F?F[ x +T < S9 ]mmmmmmmmmmmm +USj/a{i5;8$" ' + n@@@@@@@@@@@JTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O*  hLQ5/ILOmomSSq[S@\@9y_hD;99m< Y o + Y q[T[q# + p +  PP$m999jq%mmSSmP6L/Qj< ' s   +O@@@@@@@@@@@OTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Eb 9 82II57g$mS999>WC:>UI!955EBG99S6j Z l + u-|K +Z ~ + 8 mj$S9999@;Q$Pjjj> +mmP!85OlP s^@@@@@@@@@@@@TO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JD 9 m4h{N}8 +m9 $ $VeS*LwZ;7P c  a y w +E T9'on +O 2   PS90wJ9S +;oo$;SR7NfK> < +  @@@@@@@@@@@@@YO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JS  ii}Kf14Oo +m;6R+`>;99999>aUG&4j 6 M +OZvH-! +!>VA F + G c   VPm99S8mmmmm;ol~/f; T ?  *  l@@@@@@@@@@@@@YO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Jg + 4/I/15 +mD[eGuTSmmmmS]UD&` e  5 +iN>:<:>Nz4 +O - c I  1 Pm999S8m8o;U2cKNO + O@@@@@@@@@@@@@^O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JO 5 + /I5mo$m;1H(*!CvmGfB'bo; b e W ' {WHLPPVX + I k = ) 3 RPm99SS66SS!gLIIOPP  + u @@@@@@@@@@@@@@EmJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJc! + g`z4Imo +m9 %04*9mgdB9m!U +   J 1 -iVfpFS + W X &  @ dPm999m!6jjPPUgf2<OiP + + bO@@@@@@@@@@@@@@JhJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EYNe + /zIKNc2gjSU +m;881/!9mm9K9m!o!P  +" -0| u +    ? lPS9Sj!jP6jUga(drj Y D 6 @@@@@@@@@@@@@@@OhE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JOI V + 674eF}c2gP8;SCJJ0 9mSBBS!;j  > X L n F0#q= + ? X6mSS#!!!!j6P!l2D^bV ? 0 ' /O@@@@@@@@@@@@@@TcE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Tb +p P` K}2g6!jS;8.!SV.$AbuS9SSSS9S;;j    , ` ~ o +J7C^W D S  z +mm!!;;;;!!!P66mp^SYOnas % D t ?@@@@@@@@@@@@@EYE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@h < PK. b . }LLgPmS9t I 9 X /fZSmS9S;!$ ( < H s W +n { ! R n S 7 m +!;;;;;;;;!!!!P6j57a6T O@@@@@@@@@@@@@OT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x " O b LL;6m99Smf u ; + G  +>`SS;o + <  R + 4/ +0 <  ? d  X " Sjj !;;;;;;;;;;!!!!!P6PQ,is,&T @@@@@@@@@@@@@@YO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^- < } | L2!$m99Sz + X J e 1 um;! +" Y +  ,qPSO} + + + 3 C o $ < SPj +;;;4zw3;;;;!!!!!j6666g-\]uD/qT tEEE@@@@@@@@@@@Y J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yccx Mb +!+! L2 +S99 f + + + + * m;UjSp W N +B +  kU  + + ' ; m > p mPPP!;L{ r=;;;;!!!!!j66666P@"D23af?:{n %  tJOJ@@@@@@@@@@J!cE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TYh +/ E!+! LloS99m1 n +g +: +< +S + + ~;< V e ++ + kPMFJ K + +9 S m $  jP$;!;4KyN^3;;;!!!!!P6666P~)M~n %  tOTO@@@@@@@@@@Y&]^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EY + E!+! LloS990`  ) + +  +K + + y i$UU V $  j + c 1 ! + +_ m + k m6P +P;;)wG(1!!!!!!jP666P1h:,? %  tOTO@@@@@@@@@@]XY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ET n !`!+! LRoS99mP5}?  y + 6 + + W$;o; "  Q < + + D + +j $ s mP!$m!;;6Dhsq !!!!j666Pj/Q ESPhj ?  tOTO@@@@@@@@@JNO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OC{  + S+!`!+!| LRmUS996fc B C + + ^ +!  + + +$!!m ;  Y & + + + + + +l c s  V P!;;!;;;ANNV\1 l!P666P< {RMc' Y  tJOJ@@@@@@@@@T O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{O +ic. +!E!!b 28SU99S  +N +; +s + + ?  P6$$ +>o!>9 . i A 6 + ; } 9m!;;UU!;;; _k6!VCp;!jP66P;!qP-p;Y #tEEEEE@@@@@@@JJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% Y Pb +!+! H }~S;S9$**5 b G  +* . YjPPPj!o;P6p Z + +6P!;Uooooo6;;,Xz @  5 v [hX/UP66PZ;L (#tEJTOJ@@@@@@@@YTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@d^ " + U5 E!+!  Kzc78!jmSS;; 4 4  ~ XVhoooU;jjMW+%8ZjjUoSP;;yMK O - ] <{Mj66Pi.9,\i" < +\=tJTO@@@@@@@@JE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Hj +< 2N E!+! 4chij!PmSS +o;8 j > . 2 g {V;!jjj`ajP66jo8!;~D   Ygj666j7mp p +=tJOTO@@@@@@@@@EJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  + e E! b If4OPPmSm6;oU,z!U888SmmS;!?zP!!;1rj J   x ~ MMj666jLFw +WEEOTO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  7K +! H 1OPmSomQ8?2:;;;USmS8 6PS8:TMklR;8888S;;,GI 6  R sGB,MP666j:NK/L +W@@JOJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@q P~f +! . Kz;$$mSV{~1oUUom888Smj;;g8]2Um8SSSS6ggM3Gx| [ #     `JgP66PjlIIg +q@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Zt +S !  1NL! +j!mSSmS8mmPUiiOLi2~2iMm8mmmPgggSk J &   ` 6 nQ6P66PlQKIPS @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + ! 4}2R +jUSP66!jmS6jP6852Lcf2igimmPgY;  J +4P66j!liKz1IT % @@@@@@@@@@@@@JTYOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +! cfhc~o$UmjjP66j!g888mjj666jRhIO~iOPgc"K ~HM(8gP66jMiL1Nc ? @@@@@@@@@@@JJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +!5!+! /KN7SU!8jg;!mmm !!~O2}41KfK/iO5g6PMqC'HRRRRR8;P6PiL4} @@@@@@@@@@@TE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +;O!+! 14ij8;M8lU!!;l!66M;U27LcN11KfKLOiO5PM,S[oSlllRj6Pjg8iL4}!> + @@@@@@@@@@@JT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +;O!!| O56!UmiPPjgU;g2di2/}N11Kf1lLOO6Pg8888`I$]yRP6j!l2/QY @@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +!5 | 56;!;l: lRRligR52I}411KKfiO666P8lllS)96hR8oPPRc " +(@@@@@@@@@@@@^J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +! b z}fgoo8j25OORgg8ll88l/c4{1Ka/lTijjjPjlcl)RUjR54Olo V +T@@@@@@@@@@@@JTJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +! b e`cfhc2Lg222ilRl2Ic}}cc}N/O5;;OO1{5aR!RO5I" p +n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +;5 b eNIK4/2;6852L2Lg2i8ROO5ff2ff2LIIIILi5U!;5>>RUR5i7Kz8V +n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ $UO b e4/1~;6S52LiiL2Occc/iiOOLc}}cIcgTO..2555ORl5ip +n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@' X! b Kl;6SO5O7d  I4cIc7ggg7i}}}c4lR88lO55555"|N|"OOOiiOlOi1c}g +n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@' c ! H 1Q;6m85Q~gil747T}I22Oi55555L3E3LOiiii5Oi2K1 +n @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@T 8LH +! H 1i7UjmjL7OO52/4ciOOO 7}hOliiOiO555OOOOOOiiiii555OiKK6 + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@T b +! H O66;8Qc}cIch1K1N{N44c7i55i51c}4}/hid'wi55OOOOOOiiAI/eej + @@@@@@@@@@@@@EOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@T 4| +! . }f58L7{Kc}/h{1I1NcQ iOi/}}}``c}L`Q[2O5OOOOOiiBJ&cIe 479 + @@@@@@@@@@@@@TT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@T I4| +! . hcL5Kfl2lO}Nf/zKf/Kh7Q   :24cc}zKfeo22OOiiiiiX<|(Q5}c 4dm9  @@@@@@@@@@@@@TT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O$} ;O}N| +!  hI2};I}. K4}KKK117 :gLLlKcccze 5`H 2Liiiiii2LL2222228{;l;*f_e e4Qn  @@@@@@@@@@@@@EOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C oNb f4/c&zL7c{K} | e1K1fK11KO::QIcccK4Od>m22L2L4wc +4CKQ #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ b }1S 2g7LcNeH  e1N11  :g7fIIIIe14i;;P2222LLg2RA,Gp'8} 4 [O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@z g4b IQmk2g72}z1| H 1`N7c45::g77Q~III1f5d+RLLLLggopPXV}NI p [@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ mb b `}L2IKb | zz42hcQ~lQ~icKIII`IOFYNgg:e}YVhWP6I.77LI v uO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7b H e4hHn2LliFe}/2}NiQ/1c}c4zc}i5\-~QQ77QQ~gLo7X}^ + Y W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOOOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@tn PH . 1j22L7411cf1Nf2LNhhOlQli}fN/i58~~~QQQQQQQQ~;7fg +$ s W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJOOJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@t 1H  KLF Jo)o&2gw1c4fNcff4NNNQL2LL22}}/fi5(!{}hRq5~~~~~5f<ND1L +> W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJOOOJEE@@@@@@@@@@@@@@@@@@@@@@@@@@O< OfH 12O6:[&2]asNK}}LLc4hNNNN444NN}Iacc/f2O57H8lOiO5Oi8+(1L$s O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJOJJEE@@@@@@@@@@@@@@@@@@@@@@@@@O! 1H | KT6kCLVYlifc1cLii/4444hKfffK1IIc}/fN}fL2ii5Q7~OiO5e7aD8Lj @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJJEE@@@@@@@@@@@@@@@@@@@@@@@@@@  O/KH |  1{M yJrl2c}}c2iich11Kf1h4/fL25if "z 4=@IM/ jO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@J f 6c1. b . jPM@WriLff2f/I}NNk7fffLLLLffff22Lff}}<1a7S%!Y D @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@leo ;c. . K}M P{tZ[iOiLIcLLc4NcffffffI}hf W<uczi4 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-? P1zcs>|)k}I7cN{4}22/}4hN}/fffff7cN/`D 0DG +ze . h @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@lU KeK`}m/fKKKKKfLffI1f1{N}IfffINfcz b | H 8e . . ; w@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yd n m/Y11/ad,cI//KN}/cc}}}c1h4cc}cIII}hf4K. | | . tZ<;". . - Ll @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  + +" j2K}$dY~JMT````4}cccI/f1fIcfhhhh1c7}NNNcKb !+!!! b . P@  . - { M d$ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O0 | + PmL51j!@"0lccI/////c4444N}/Kfc}IN4h1/K111/1H +!`!`!E!+! b .       8 ;P9I @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@gc` d + 2cfKKff/Iccc11K/`z`}/I`F}}1. | !+!! b .   . H H :   O ; + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@hn +  mm35;RD44444N{hhhhNNNNhh1KfIc}Ic``F,,,F`zz``z`]. b | b b H   . . . . em 9 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y V +T Q < mjR2 +2fffff///III}}4Nh1Kf/c}F``zz```F`zzKK`P  /!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ n i + 6g8[Lg7QQ7~~5Oi2Lf/ch1KIIc},N11CwwwK1zf +k n> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TQ V +  P!8M8RRd~5OiiiiO555Oi2LgQfI}4Nh1ff1K/c,,FF,}286 m@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S^: V + +9  k < S +P!;U8SmPPPPP6666P3MM8lig7~5OiOiL77II7LOi2fQ4NaaaJjh T ( +~ ^h @@@@@EJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E^1wp]: Y  +< +p + + + +' + $ Y Y s  " < V V p p 9S6PPj!!UP;RR;Uli5~~R8!PPP3gR5Od89 T " +[  o+J@@@EJYTTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@E^# #q  ::((B\ 6  % % % ?  +< +V +p +p + + + + +  5  + + + + +T I 9 ' ' X ! w e K R  0 o c0PKsIn-% >Y < e f >c| +6s g z +N +v  J@EOJOOYOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJEE@@@EYxtt''A   #[[[====WWqqSSS Y: N N  0 @ " hNhS8m y 8 + ` K K K < a + Z P t o Z _ z ( +i  Xqp<tJ@@@OYYOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJJE@@@@@@@@@@@@@@@@@@@@@@@@@OO@@@@OO@@@@@@@@@@@@OOOO^  O@@@@^!]XJJJOOY+]6ZtvKF6qbqg+{g,qqO@OO@@@@@@@@@@@@TYTOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J^^J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OsTOOJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JYOJJEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JTYOJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOOJEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEJOOTYY^^YTOJE@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TYT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEJJOT^chmYOEE@@@@@@@@@@@@@EEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^^@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJOT^chm^TJEE@@@@@@@@@@@@EEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJOOOOJEE@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JOJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEE@@@@@@@EEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJJJJJJJJJJJEEJJJJJJJJJJJJJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEJJJOOOOOOOJJJJJOOOOOOOOOOOOOJJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEJJJOOOOOOOTTOOOOTTTTTTTTTTTTTOOOJJJEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJOOOTTTTTTYYYTTYYYYYYYYYYYYYYTTTOOJJJEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJOOO{TYYYYYY^^YY^^^^^^^^^^^^^^YYYTTOOOJJJJJEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJOOOT{YYYYYY^^^^^^^cccccccc^^^YYYTTTOOOJJJJJJEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJOOOOTTYYYYY^^^^^^^^ccccccc^^^^YYYTTTOOOOJJJJEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJJOOOOTTYYYYY^^^^^^^^cccccccc^^^^YYYYTTTOOOOJJJEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEJJJOOOOTTTTYYYYYY^^^^^^^^^^^^^^^^^^^YYYYTTTTOOOOJJJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEJJJJJOOOTTTTTTTYYYYYYYYYYYYYYYYYYYYYTTTTTTOOOOJJJJEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEJJJJJOOOOOOOOOOTTTTTTTTTTTTTTTTTTTTTOOOOOOJJJJJJEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEJJJJJJJJJJJJOOOOOOOOOOOOOOOOOOOOOJJJJJJJJJEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEEEJJJJJJJJJJJJJJJJJJJJJJJJEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJJJJJEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJJJJJJEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOOOOOJJJEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOOOOOJJJJEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EqOOOOOJJEEEEEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOOOJJJEEEEEEEEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOOJJJEEEEEE@@EEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JOTOJEEE@@@@@@@@EEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOYOJEE@@@@@@@@@@@@@EEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ETc@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J{YTJEE@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JYOJE@@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JTYTOJE@@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOTOJEE@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EOOOJE@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EO@@@@J^^J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJT@@@JY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEEEEEEEEEEJJJJJJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJO@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJJJJJJJJJJJJJOOOOOOOJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEE@@@@@@@@@@@@@@@EEEEJJJJJOOOOOOOTTTTTTTTTTTYYYTE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JOE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEEJJJE@@@@EEEEEEEEEEEJJOOOTTTYYYYYYYYJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YTJE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEEEJJOOOOOTTTOJEEEEEEEEJJJEEJTTYYY^O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YOJE@@@@@@@@@@@@@@@EEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEEJJOOTYYYY^^OJEJJJJJJJJEEEJOT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y^OJEE@@@@@@@@@@@@@@EEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJJOTTY^OEEEJJJJJJEE@@@OT@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@E^^TJEE@@@@@@@@@@@@@@@EEEEJJJJEE@@@@@@EEEEEEEEEEEEEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJOTY^TE@@EEEEEEE@@@@@ETY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ETYJ@@@@@@@@@OJTJEOOJJJE@@@@@@@@@@@@@@@@EEEEJJJJJEEEEEEEJOOOOOOOOOOOOJJJEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJJOYYE@@@@@@@@@@@@@@@@E^T@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JYY@@@@@@@@Og{TTT@@@@EE@@@@@@@@@@@@@@@@@EEEEEJJJJJJEEEJJTTYYYYYYTTTTTOJJJEEEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJOTY^E@@@@@@@@@@@@@@@@@@OJ@@@@@@@@@@@@@@@@@@@@@JJ@@@@@@@@@@@@@@J @@@@@@@@qJTJ@@@@@@@@@@@@@@@@@@@@@@EEEEEEEEJJJJJJJJOTYYYYYYYTTTTTOJJJJJEEE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EEJOTYhE@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^ ?DIINS@@@@@@@@IBadlands.DirtYellowBadlands.RockCrackedBadlands.RockBrownBadlands.DirtYellowCrackede?33?e? ??3 ?~~? 3 3r3 33 3  IW d{  E 3?3d 3r I{ ?~ 3IW[[[[WI3W3IWId{{d [Ed{mE [Em [̾EmWտEdI{ѹxokiikoxEm3dչyk_WRPPRW_kyEmEm޿vdUJB=;;=BJUdvEmI{̭ydRC80+))+08CRdvEmW޾kUC5)!!)5CRdy3d [̭x_J8) )5CUkI{ [ĭkUB0)8J_xW [Ĥ{J8( !0BWo [WѱW0 ++=RkI{ֶ[+ );Pi3dֶ[));PiEmֶ[) $;PiEWֶ[)  +43:=BJUdv{ImEѹyk_WRPRW_kyd3mEѹxokikox{I3dĭdEտWmm[W3̾[ Ed{{dE ?33 3W3IW[[[WI3 ?3{I  3? 3 3 m {d? WI ?e  3?e ?~? 33?ee?333?er~ҥodftļλ\>[˹y&BACHԱs23/*62A*'W+9Ur}xvn{ҽ1-,IWRZEɸŤ΋HP=SFjoI/,̤~9.LET+p̠cP(fRcQTl5SH*;Y.TQT8v]NLUFY]SBm/'^jp@,>[mѪZ>&FwN2;0'Gѐ\FL3Ė7}nc6[0EV,7Q6FK1vJ3JR-{O~rr~פ~rr~vK&*Q`n}e~e?33?eU(oi;88/2_ns|I--_BOrrB8/Dgbxyrr0*Quu-Cr3r.,gwr3?~ת,R'1i~?3eMHa=Qoe??~{[:W[HvlwYr3ejIb̛Qr3:]~?̶vQe?33333?e̶vrrrrvߤrI~rrrrrr~㺛[NIߤrIf㺒rߤrI캒rTvNGOrf[:㺒r̛rR㺒rR캒r㺒rR:㶄캒rR;%v̛rR;%ߤr[;%FߤrvNFߤrIߤrGfvNya[;Tn̛rRSF캒r@Sv4CVߤrIrcn:1ߤrI[+{A:vNNv)TV[;Ir+v-̛rN.Nvd6춄[;[_4̛rNr,,춄[rAoS̛rrbg^vN;[AZ[.Nv=7̛rIrXHߤr)Irs>yIvNIrrO[IroX̛rIr^캒~rrr~Ir-㺛e?333?Nv캒r [x̛rR:Rr[; .;RrvN.?N[rߤrI)?vߤr~̛(춄f̛G춄[r0̛rd5[vA*vNrl2ߤrI)rx[KUߤrI)yH2ߤrIr,(ߤrI[PߤrI)rlvN-Rrt:.[;[<e̛rNvANn캒Ir̾4?\(;[@ONv94)Ir<)Ir{rsIrOorV>yRrr-[r++rvPr;r̳rNv[n;[Nv~S~RrIrrNv~rrr~Ee).;Rʤe?333?evr[NIIIN[r~re? ?~1㺛vrrrver~4̶x~??eɆ[1߶xr3 ?~`Rb53Nnr3 3rPW/ѦčO~?3rmCve*R^e?~ׯ9nJ/&e?1lKf+qA~?A:fl1*dr3g5wA}&6*n~nV3}DEdJ*7Gn{Q>O~rrrrr~qVjV*mETwD*ՙ@bPhSOr,{WQOxTou&PfA?N`foRBDn&(@;TӞdVD-.Bq@eːS;+0ʑtóufK'Oњ7fg}K@1Kf+LSpVe9[H8F:7/yd\LI9*j^3EB8R]UD1+JÕM=bĽ̲Űf>^jH)2I:13{,6X֞m(aml|3/D`^S6J_acU?1',+400CVcuz|sbkRkWõļ,Yn}}aPFA:B90Cduk='(3EL8.;4-'9ؼt*MOd}̽nJKקUPũs,KrtoG,A&&=^ҵh5FKB*(*(9Zo|a70sr-2ZV{5{ӎ1-2^;u{_7:ån6Ъm\9ƈ;H[0Wנi2F|V4*'-Tj3cuT:x.i+U׷e-nvgwK*\Z`ts]:h.3BUX+Itǭdrd\3hM6M͈I˴wtY*уIak'6{I})a^@ &d1+E Ow-a9Pkb-6J3B|ԭy: җ~U0 Tnu{,)D>=e?_|'-,?LP>rAZ05}VrE)q{_[MDp\N3(^W{2FOJln`29R+Z.Z/X)(5(Y)[[gJ[[({)([6[5[eG.((5NDS[̍[\7[[v45(7r%̍5(5(7X([[k,[[[[rL(5[[[(H,kH(5((̍5(R]5(*,([Y-[[<^[[D^(5(j,g|/\}1)+4-K6VlQ+0DTS*(5(6`A[[yy[[hD((Ns5̍5@((@*.[[(5(-7[[(5[[;K(5([[ZqL[([̍57((5[V}([u[[0zGI[(Kx)5̍5&K0((([[Noy[[V(5(:V_44̛R(r*_6v9\4.T5x.(_xT+A_]rXE3Br˰i>rzu-XJ,:qt S>e4O_Dg .maӍA ,v}ɇhjԐ8O bQ^ǷZ33NlO[[ro`F1FrK0(NO)8)e{9so>EuK|Q:>99&7w[H)g/M־êk4@+`7>Wd',:=(3n4m,;Kh4-dY]}ͳ|cp(8>g,=`mnl[i/=nhrY.Ff5=Lywz˹{@ZƬof;iub:Al\2LM9Noayv>75<˃Ȧh(`֝dXϺλrqy~stHkK*&&48;INF<+.:B8')5&-2&(55((55([[([[[[[((̍55̍55̍55̍55((̚[[(5[5̍[(([[  [[*379973*(555555( !3AMUZ[[ZUMA3! *@R`ltyzzytl`R@*.F[m||m[F. *F_tt_F.!@[t½t_F* 3RmǼt[@!!A`|ʼmR33Rmļʼ|`A;RrŕwmzǵlM*%;[ӑ^<2>dϽtU3  +.Nvϻs; ?r|­yZ7)IrԳj1 23?bįz[9)Irv=  =vįz[9)Irb>33 1kįz[9)Irՠ}? 1:ZyZ7)Irp2  6ftU3 %;[vy=  *XlM* +.IN[r_:.8 1\|`A%).;RrpcT4)1JomR3 +%;[Ӳ_TYmt[@! +.Nv½t_F* )Ir|m[F.   +.Nv|tl`R@**37973* +%;[tyzytl`UMA3! !3AMUZ[ZUMA3! )AMUZ[ZUMA3**@R`ltyzytl`R@**37973*.F[m||m[F.   *F_tt_F.!@[t½t_F* 3RmǼt[@!!A`|ʼmR33Rmʼ|`AA`|ǵlM**MlϽtU3 3Ut­yZ77Zyįz[99[zįz[99[z­yZ79[zϽtU3 7ZyǵlM* 3UtϽ|`A*MlǵmR3A`|ʼ|`A!3RmǼmR3!@[t½t[@! *F_tt_F* .F[m||m[F.  *@R`lrrzzrrl`R@**37973* !3A?33??33333! !3AMUZ[ZUMA3!   *@R`ltyzytl`I) .F[m|[;%.F_tvN. +.F_t¤rI( *F_tԨvN. +!@[t㶄[;%3Rm̛rR;.)) +A`|麒r[NI;% *Mlľ|q|ȺvrR:. 3Utŕwmd>3>b̶r[97Zy½^<2> 3>bįz[97Zyh8 >er}įz[9 3UtX90<2>eįz[9*Mlo9 >|­yZ7A`|_- 1mϽtU3 3Rmc4 ;uǵlM*!@[txP4,8Zʼ|`A *F_txb\hǼmR3.F_t½t[@!(555(.F_tt_F* [[.F[m||m[F.(5[[*@R`ltyzytl`R@*[( !3AMUZ[ZUMA3! [̍[*37973*([  5(5̍5(̍5[([[([5[([[[[[5((55555(tBadlands.DirtYellow\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1556355321\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000 +Badlands.RockCracked\t1002\nFractal Distortion\ttab_DistortMask\t1003\t1003\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1636189701\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1004\t1003\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.04615 0.11538 0.27692 \tslopeDistort\t1 +Badlands.RockBrown\t1005\nFractal Distortion\ttab_DistortMask\t1006\t1006\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1487102645\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Height\ttab_HeightMask\t1007\t1006\ttextureHeightFilter\t0.00000 0.00000 0.00000 0.00000 0.00769 0.16154 \theightDistort\t1General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t217\tgeneral_water\t0.0210526\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/proto2.png \ No newline at end of file diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/TreasureIsland.spn b/public/base/@vl2/TR2final105-client.vl2/terrains/TreasureIsland.spn new file mode 100644 index 00000000..20e207b4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/terrains/TreasureIsland.spn differ diff --git a/public/base/@vl2/TR2final105-client.vl2/terrains/TreasureIsland.ter b/public/base/@vl2/TR2final105-client.vl2/terrains/TreasureIsland.ter new file mode 100644 index 00000000..eb136c0a --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/terrains/TreasureIsland.ter @@ -0,0 +1,1517 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAn`8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPikCC/ v H H $  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H  / /  5 C j />Gni<Kr_)P4Gs= j ! ! / "  C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ V ~ ~ j / o o [ [ H : } 5 =Q$`G AUi}G Z%s= ~ / : 4 4 H [ o o H O 0 "  ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +  ~ ~ o H 4 [  /   / C ~ *y$8LLs`$y= V  4 4 4 4 ;  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U ~ *QQ C o 4 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C / o H 4 4 4 4 4 v X d "  ~ Q$LGod__ 6.*  'NNN]f +5 )2d ` . S#7u + *eyQ j  H H [ [ [ o o /  # j 0 C =y`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! ee j / 4 4 4 H [ H 4 t a M %  + + + + + + + + + + + + + + a t [ 0 v ~ *QeQys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + e V /  [ 4 [ o [ H H H t 9  + +z +> + + + + +  + +> +f + + +9 a [ C V ~ ~ j V j j **Qye=* =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U o o H t M  +z +> +  k D D D D k + +z + +% a [ C ~ 1AA ****==* j $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / /    [ 4 t 9 +z ++ + k D 0     0 W  +f + +9 4 [ / j **=eyQ=eyeQQQ= V  C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j C /     o 4 M + +> + + W D     D k  +z + +M H o / j *ey$L8ye V  C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j V C C C / / o H  M + +f ++ + k k W +f + +9 t H o / j SAd`L**e j / C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB ~ V C C C C C C [ 4 4 4 4 t  + + + + +R + + +  +> + + +% M H o / j 5 ;SLL8888LLLLL* j / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j V C C C C C C o H H H H a a a M % + + + + + + +% M a [  V j u(/888888888LLQ  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j L`LQ==ey ;V ~ V / / / / /  [ [ [ [ H t M 9 9 9 a t t [ V j N<JQ $LLLL8= H 5 8``s dQ +  W v!5N:! edKd  4 LLeQ=e+|c;V j V / o [ [ o N & H / V j C$L```LWd & H $y}P7$nJ W N]5N4k }< /$*Q=Qe =MM+ j j /  ( ( ( ! ! o [ H H 4 [ o  L N)$LL``L=  i 9 + + +t 4 j  =nU<#%[  b55]: + <nL ys3sQ==*=e$$y/ j / J J q E V C C V j  [ 4 4 [ ;b$$$j H +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% Q=8%G3y=*Qy88e V  J fP Qeye* j j C C  4 H [ { ::NudeQ [  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/Q`3GG3$Q=e8LL$y j / q &GyyL8= V  o P SQQeeeeQ V  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ /s3GG38QQ$Ls`Lk j O z:\wyeR3R>*j H 4 H [ < d ; 7 p *QQ** ~ a +> + p!5k R + +9 [ *n.rG k :pp:! + H V sGG3n?``*~ l`nnn3 5 a   + + +K f I *QQ* V  [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 `3G\)s>GOg 4i}}i. C    +M +- +F + + +z U y *== / 4 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `OnZ333G33$)Bn )wP)A3Ly j V V r  + + E + +  j  [ M + 550 > + +a V V ! 1 +:N]p]N: +  Ocvna--O w_rrrr_#w_ Y = Y + + n ( g J +  " V j ~ V  4 4 M z + I!5 > + +a  V / o M + !'N5]]]N: + F U'O$GiiG   %s``32ss$PUtQ [ ) ) Y + / %  + +  C C V C  o 4 4 o  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3}iAA.A4Z@ +22K 9R=q 3 $ H +   v +T 4 o H H o % R +  k f + + H [ + p!bb':55NN z +9 : AH Bi}iAA.  Z3$w?Kw)<P(-Krwine [ F g + %   + +h % o o H 4 [ V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uu G4    nG338UUc|OrC77An + o    g X + + [ 4 H C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ:GO<OOpi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > o 4 4 o  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Z  3g? +'_+m+ 9  N +j +H +Y + + +I  % [ o H H o V y* j ! o M +  INN f + a o  AZs 4UAUi} ($K!1P<#&@rG$ G s W ` } 2 FKF   H [ [ o / QL* H t + +W '::bvNN' + + +  .nnn.Uiii<PozT+w|~tc$wG8+z % F k H [ o  V e$s3G*~  f + ::::vpWk z +M 4  ksG Ai}iid(i5xk^Q$o7U\lO5x t8:" j % t 22f k [ o o  V $nA}Am + +0 5vN: + + C iii)3]cDw,>AJ[Ki$QVG98$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4U<)AGc3xnP8PUn`*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn o.aZ#F_A`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xAAAasnU)rP[ Z`Lsy ~ w |  (    3  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}dd}L`Gn* [ (  : [ j esj ~%/ + +bvv! + / C*%.#7_7KKPAZ'yVIJ 9 iosLL8`MA4eQ C o 4 4  : [ C esnVmM t  +bv:'v! +t [  j MUPQr_)iGOFFZEL M%sLL` 4$ j [ V + : [ / e$}r9 M b:Nv R ++ / Mid#r7Ui.    9vGW`3s`L` wd4n~  )  + +  V o  C een}Pr}= % b:N5 1 + o  `iPd$$$$$r)U}.}}}A/7_`DLssssss`8$L #rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MG_$$$<GGi AGphe$$Li<_)$ j V E  d V h 2 =`})lh\8#V + bNN] k R +9 w#)i AUU/7_q>~9$P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ i<r.G33GZ.}}.n V88$yeeeLPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.<_,,,(93A}iZlO==`}VV888$yQ===yLd#By=** / [ ! =*34SuL* t 1 +W vN'v5p +t )re*=xedx=QxUZ`$8LLLLL8Q*Q`wd$=* J > F *34|VUV + INvb!] + 4 rs !4H\4  >QeQ-U%s8y= =n4rrV$y j ^ | " { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA%s8XX= BrrKV$y j C  6  { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3Z8= V C C ~ adKK#Gty V C    * _ jy89RG +  j:v:'p +M  Y3%1J*%%xiV}yn%`yeeee<<<Q* ~ C  so.d3se j C   @ O?Q*93I$e   +D :v:'!0 +a 5 /Y3%b(PBs$%$e*qc C W DLG Vd t8= D  P P ^=2m%Nj % R + 5Nv:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y q 6 `K-3eT : +9 + I\v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 6 ((( =$Mg M + +k ]'v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  H / g / o ~ =s$Q j /  ) x \Y4f M + + pvN! R + +9 M a [ V QL` wC!-H~ QB//Qe ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ]b':]D  + +% o V ~ QM}*~PVH_<pey ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 INNI0 + + + t 4 o  ~ =Gj\eeQN>exQ==aB o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e ]N5N: z + + t H V ===*=e q*C[Ld)V d P * m k D D k  [ * j C /   }    _/: H  z + + p!N5Nb! f + + +9 H / QeeQQQeeL3VqQ=w}Q)))QeQ/ X w N A 3 6  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j Qeyyyyy`V}jsxB...Vxyye= t s 0 > 1 Y f i k :   n n [ j / [ H H 4 4 4 4 H H H o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C eeeyyyyeQeg@T@m +7W ~ j j j H : f P    Q Z ^ i . w # Q Q e y n 5 H H 5 o [ 4    & : O  v +   E m j / 4 9 + +k 5]v:]k + o   *Q$y`y= \ !   2 3 /   . 5 5 I Q F (   H [ [ [ H 4 t a t + +i  B ] +l H  / C C  + +W v]v:b5I~k > +%          / V =yyyeQ= j C  [ 4 4 4   5 X v n B Q i f ] 6  > G ( | I   % 9 M a t t a M 9 % % % % % % % 9 9 % % % % + + ++R  C +% M H [ H H M + 0 N''pvNbv!  + + 4 4 [ / C C C C /  o o H 4 t t a a a t y  C :      K + +k +R +R +f + + + + + + + + + + + + + + + + + + + + + + wSqiOphSw R +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5III!]D + + +9 a +  + +9 a t K J [ [ [ H   t t t t t M M 9 % %    % * 5 @ s ~ +  +F +' + +  ++ +> +R +f +f +f +z +f +f +f +f +z + + + + + +z +z +f +R +qk~Qg ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]I5]0 R + + +z +f +f +f + + + 9 M + < d  + t a M M M 9 9 9 9 M M M M 9 9 9 % % % %    " - Y 4 8 f A += + +  + ++ ++ ++ +> +R +f +f +f +R +f +f +f +f +f +R +R +f + WMM k W W W k k  k k  k D b:p::I0 W k + +R +f +R +R +R +R +z + + + J +$ 0mm J +%  + + + + + + + + 9 M M M a a a M M M M 9 9 > I K 6 % * @ S  ] + + +  + + + + +> +R +f +f +f +z +f +f +f +f +f +z +z +f + pmio k W W W W D 0    D D D 0 5b:pv::b!5]p 0 W  ++ +> +R +f +f +z + + + +} +  U + + + + + + + + + + + M a a t t t t a M M M M R W S ? , . 0 < q s z R +] + + +  + + + ++ +> ++ ++ ++ ++ +R +R +R +f +z + +z +f +f +f +z + + +z + qOnmLmnJY   k k k D  p5Np':Nb5pD  +> +f +f + + + +f zWfj] z +f +f +f +f +f +z + + + + + +% 9 M a a a 9 %     & "  + + + M O W d w k k Z + +Y +Q +F +' +C +> +> +R +f +f +f +f +f +f +f +f +f +f +z + + + + +z +z + + +z + clix k D  ]5v]v:'b5p k + ++ +R +f + +} m. f +f +f +f +f +f +f +f +z + + + + + % %  + + + + + + + + + + + + + V ] j b p x S - ' + + + + +b +k +z +z +z +z + + + + + + + + +z +z +z +z +z +z +f +R +R +z +f + WKQ. k D  ]5NpvvI k   +w Y +}i E f +z +z +z +z +f +f +f +f +z + + + + + + + +z +> ++ ++ ++ +b +H +E +D +B +a + + + O W Z R ^ r Q  +  + + + + + + + + + + + + + + + + + +z +z +f +f +f +R ++ ++ +R +f +f + |!R +> + + W 0 5vb'pvvIpppp 0 k  k   "FF"h f +z +z +z +z +z +f +f +f +f +z +z +z +z +f +R +R +> + + + + + +% + + + O K O E T g Q  % ) P ; 8 - + + + + + +% 9 9 % + + + + +z +f +f +f +R +> +> +f +z + + +C + +z +R ++ + k 0 pIvN:'pv:bI D W k k    0 E ii E z +z +z +z +z +z +f +f +f +f +f +f +f +R +> ++ + + + + + + + +& + + , J I 9 B O a ^ C D I N f _ T 5      % 9 M M M %  + + + + + + + + + + + + + +! +> +>F + + + +f +R +> ++ + W 0  ]II5!vNpv:'b50 D W W D 0  0 D W k k    }Z}. z +z +z +z +z +f +f +f +f +f +R +> +> +> ++ + + + +  + + +! +! +F + +' f _ O A 7 P b o x q d g j _ T 5   9 9 % 9 M M M M 9 % % % + + + + + + +  % 9 M M + 4 4 + + + + +z +f +f +> + +  W 0  I:p::v! W   k       +]"//"]f +z +z +z +z +z +f +f +f +f +f +R +R +> ++ ++ + + + + + + + +0 +, +( +: +P + +$ f f T 5 7 A i x y o j _ @ 5   9 9 9 M M M M M M M M M 9 9 M M a a t D + + + a M 9  + + + + + + +f + +k I55]5vpv:'vjW + +R +f +f +1 + + +  +> + Q"t  t"Q f +z +z +z +z + +z +z +z +z +z +z +z +z +f +f +R +R +R +> +> +> +> +W +\ +l + + +! t | s ~ _ T I > 9  : a o o o N &  t t a a t t M +> + p5!I]]5Npv:Nbv0 > + + ++ M 9 9 %  + + + + + + + + + xl6Eqe + + + + + + + + + + + + + + + + + + + + + + + + + + + `  Z m m m   4 [ C V V j j V C [ [ H H : : : & : [ [  + +I 5vb:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)? 4 + + % 9 M M a a a a a a a t t t t t a a a f q |  F p ` 1  R     % 4 l d w w w w o o o C ~ QQ j / / / / / / / / / ? l +  ]5vN'pv:'v + + +t [  a a M 9  z f ? + +  p + + + t t 4 H H H H H     +  4 r B ( C [ a C W  ^ z B B B i .x8`l&`*  ~  o + +k I:]v'5  + +9 4 o / )) w w w c A o o o o o o o o o o [ o   / /   X D D 0 0 D k    +  \ + F o ~ O?[||c"G3yeQQeyyyeeQ* C +> + D IbpvN5D  + + t H u zzz j j C / / / /   C ~ j 5 M 9 9 M ` H H ; - c *Ga}_4: A).t`yQ~ H +D + + " ']v:Np D  + + + ) ~ ~ V C V V C /  j q A v v  / C V  J QekPss>b<MH.MLeQQeeeQ C [ 9 + +f + Np:5] k R + +t D 0DDf u C /      [ [ [ [ o f  Y 6 "    O q  / C v *e )rJd"lA;/i8=** C a  +f + Np::!]0 R + +J ` EE|  z _ g { :  ?j`  '    / C V ~ e 2O3'{v"J#xi8Q ~ H M +z +  bpN5   + + 5 9MU i K [ H 4 H Y Y H  <  & a ?/e "jW/ D ' _    / / / V ~ *e)LLLL;&j^_#.M8= C [   z +  5b]v:NI0 + ]  uE| 9  m B &QQ*`ss* HW J \ w / / C C C / / C j Qc$L9"'$nd `8* V H t M M % +> + b]vNk + + K !4k!# p 0 f v # - d>sy#@pj  C j ~ j j V V C j j =y)8LLL5;HfR?My V a + +R + +  ']v']W + kggggF ;fii - ?}=5%snZqxa+ { 2  . ~ j-$8r&:q|TI\;DG$ N +z + 0 !]bb]k  + + fz M U " 2 g/AI+7GAUnJ q M s : 6 ^  h(cJ7%@a|}\(0yPi$e 4 t +   v5bv!q 1 + + YYE#e g "XZ.}U9e  f 2 T ^:**==B[93GGmF crg"J* *j 4 a + 0 !'5bNI  + V~\ >V m( w Ay"wG . ` V / C j $__seyeee<@gXMn#\ uK~(g%'}lFbv / 9 f + p'5b'v0  + + Cdh#> Ee y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 ]:]bN5 + n:>eVo   { QsZA<PU!u ZH)p .n$rzs]m|Z-DdXQ~ [ +  ]!b5N:0  +9 xMXU98R K    9 T e$}dw<4T& *Q +C/888$\)):Xxp4AA s`g|;=[V>DY=O1.e~ : + p5b5vN] + j  <c"LwUM8Q ~ /  j *e3.w)N1Q ZnLLLL8\c UU4 %2G& :' pBA N f + p5v'b'v f + e7Dw+wG38= o h  j *eGUV)vv8LLLL8\@--Q n UiiA9%%fu r' pB[Z$5 +  ]b5N:5 + `8ZKm< ` x  o o  QbWiw)}+D7$8888$$8sZ U}}UA oEpB + +k  p!:NNj0 > +a y iwr +Y^`7  e j   H H o B )|,})K)il7$$$$$LsU}iAA ..EEEXlXE1Ew  R + k  IvNbk z + C $)DAL%y ~ / o 4 A R [ B 1 V >y}<=)US,W$8$$L i}}}}AA.K<U : t + +  5bN' + 4j)+L7ZXu$ O H / 4 nmAP!r1s8L Ai}iii}iU.''_}i  ! % R + ]v':'  C7sR@g + 4 g 4 [ / (14BP%%L8`G.}}A.Rfzz+K}i V M z + 5b'v:' +t ZK urZ  [ .ZL81 GG`8`Znnnn}iB)__)w}/  H t + 5'v' +  Z7= nsFe. K (P [G``LL8v!iUn`8$LsZ.d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. 4 Y n|FF``9L$L`G}dPGG sL88LL`sss3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 $ = =.L$`9 ij8rj}tssLL8$$8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ 4 4 o j y8`ssL883 i)sOt($d4MsL$LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T [ H H 4 [ j y888``UP U}T#wAnsL"F"LGnGA)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu b C u b @ @ [ j y3VVE33GUPrm|Ogj#wUnSd% UU}}U Z V o + Nv:p5  + + * i}4Zy* j  | o [ H N [ j y3<nT%@5mD7A3 R9*Rsswdqqq=3s  H M f +W Ivv:: R +% j Zn3sQ V |  u 4 4 [ V e"2*!!*.qeXnw<v|mUG0yy sU<<}qqCnnZs  o + +'v::]D +M V L 3sL= ! o u H H H o C Q*!Z.F""#cn|EEW%.iiUUq3,'/GGG`  [ a  z + pv:5 z +9 o  W*y ~ H ? H [ [ [ ( B!*V|E#ch2G!X333n2ly a +D + :v5 + o o o o [  V Cyy= ! o 4 [ o o  Q z"LJ7ZC}nM-G9nWs_1s / [ t + +] NN':':NNNNNb]k ` +o 4 o o 4 ? + +9 / C H b ***o o P + + + + j ;SthgG$]s)43Z&DR_U5    4 !3#[s8y ! u + " O'N'bbv!I + [ M + +  +z + C j C  o 4 N 4 o  B +1 +  +l +@ ++++`9iw_x&v<V-$n sFSNN<Uii}}G!+t2p8V  + +W ]N'vI  0 + o 4  R + W 0  W + H u  . .  +( + V 9 " 9 f +, ! W yyee T|ZMLU<<<UU}}CO,,s$WzppLC + b:'v5  + + ++ +f + o + +   +M [ H o  C V V / + B } E +L  =etV$_ssss_K_899X)    Gi}UU=]`Q~ + bN'I +M t o / V + + ]5] z +o  4 4 [ / ~  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R7L +  bN'  +M }  C ~ H +1 +  5] +9 [  C  ; +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||NYs  + +W N:Nf + L>>eRe j H  R + D ]p +% t 4 / j ** _ W + > lH j +x /     / GAi}iAe===y$`;_,*vY33%s ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a [ / j *= + + * ' r +s 5 Gn  nnnZ%*= e3?5v^nKmu HeGG V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o ~ **==**  , + + J + + j L j  \ 8Ls9``s`*= V / j `j KRV'G]IgeGG= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a j =eeeeQ= + +' + l +  j W*R*yyC C V 1 Ibb~JaeG9`Q*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ QQs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \b;2e3$*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H ~ 8888v p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\%e=u HT= snU.ej M  !: 82V}$=  ~ t  + +M  ~ QL```L8_ W 3 o C  # 4 H H [   8 :pAUMy4ct6> }<w3 !:[  lh2V $$8 C j =y$8```L8)Kn V / C { A 4 o o o [ [ [ o   C 2mM4Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  Q$8LLL88O@K j g  ? w M +   + a 4 H [ [ [ [  / / / / / V <%%%4  4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ / W8LLLL888$888iJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H  C V V C C V 'NvveQuuu6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C  j 8LLLLLL$LL8BTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  C V V C C V ==QiXX2 $=  a * j j y KP V  k ]':] +q8)wUG= C / V y8`svX ~ / [ t % +z ++ + k W k  +R + + +M [ / C / / C j $$ 1yN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  C /yyy*XiC6X ~ / H a  ++ + W    0 D W  > + + +M H o / / / / C j ~ ~ t ):)::617  + + q +  W _V 9 k 5b / 21c2)B.G*e C / V QeQQQee= *evD j  o t 9 +z + + k D     0 0 W   +f + + M 4 o      C C C  e G61 F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j =QQ=** ~ **** ~ / o 4 a % +z + + u D D D W k k + +f + + 9 t 4 [ [ o o [ |  a6 j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* eyye= j j ~ j V V V j j V H a 9 + +R +E +I + +  ++ +R +f + + +% M a 4 4 [ o H . z6  B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQeyyQ* V / C C C C C ! o H t M % + + + + + + + + + + + + + 9 9 M t 4 H H H H 4  x `zG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiMLQ ~ V o o [ o [   H H H 4 4 H H H  Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL*8= V  o H 4 4 [  C j   j /  o [ [ [ [ H H H H 4 4 Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s`888e / o 4 H 4 H H =*ssRy/ ~ j j j V C [ 4 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n sLy j  H 4 H [ o o H H o  j eLnUiG s8e= C  H i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GL= ~ C H H [  / C /   C yL% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  o ! 5 H *=CQ> wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V  5 j Q>G.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ e8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN::::::::LushWorld.TR2GrassLightLushWorld.TR2RockMossyDesertWorld.SandGMD.GrassMixedפ~rr~~e?33?ee?3 ?ee? ?~e? 3r~? ?~~rrr~r3 3ee?er3 3r~?~r3 ?~r3r~? 3e~3re? ?~e??~e? ?ee?33?3?ee?33?e~rre?33333?er~~rr~ʤ~rrrrr~rrrre?~?r3r~~rrrr~r3?ee?3333?e~??~e? ?ee?3ee? ?~e??~~~? 3re? 3rrr3 3r~?~rr3 3r?e~~? 3rr~e?ee? ?~~?ee? ?er3?~e?3333?e~e~rrrr~e?ee?~e3r~r~?~e?3?e?~~? ?~ 3re3 3r3r~? 3r?~e3 3re~? ?~er3 3ee~? ?~?~~r~e?33?e3re?3?e~rr~3re? ?~3r~? 3r3rr3 3r?~~rr~r3 ?~ee?33?er3 3e3r~? ?~~? ?~?~r3 3re?3?ee~? 3r~r~e??er3 3r~??er3 ?~r ?e~? ?er3 3ee?3?e~? ?~~r~̤e3 3?eR)R~? ~))Rפ~rrrrrrr~rr~e?3?e))~e?3333333?33?e~re?33R))Rפ~rr~ʤ~rrrrrrrrrr~e?3  ?~~? ))R̤~e?33?ere?3333333333?e~? 3r~r3 ~~rrrrrr~פ~rrrrR))RR)Rפe333 ?e?3e?33 ??333333?e~e?33333?e~R))R))פ~ 3?3 3?e~rrrr~R))))~e  ?ee?3333?eR)))re?3 ???er~ʤ~rrr~)))?33 3 3?e~ʤ~rrrrrrre?333?e))) 3?33?erre?33333333 ?~))) 3333 3r))) 3 ?~)))3333?e?333 3 ?e)))Rrr~~rre?3333333333333 ??3 ?e))))ʤ~rrrrrrrrrrrrr~e?3333333?e~? 33???eR)))R))Rפ~rrrrrrr~e?3333?er~~rre?3?e))))R~rrrr~ʤ~rr 3?33~e?3?33?ere?333??3333?ee?3333?er~R))RR)) 3rrrʤ~re?3333333?e~rr~ʤ~rrr~~rrrr~~rrrr~̤R)) 3eʤ~rrrrrrr~R)R ?~̤ 3re3r~? ?er3 ?~r3 ~re3פe?3~re?~rrrr~~?~rr~e?3333?er3e?33?e~? ?~r3e? ?er3 3rr3~? ?~~? 3rr3r3 3re?3 ?~rr~r3 3r~e?33?er?33?e~? ?~פ~rr~r? ?~e? ?e~?3 3re?33?eer3 ?~~rr~~?r3 3er3 ~? ?~r3 e?3?er3 ~r~r3 r3 e3 ~?r3 r3 ~r3e?33~? ~rr~e3 e?33?e?~? ?er~ee?e3 33?e~?e?~? ?er3~?r3 ?~r3r3 r3 3rr3r3 ~r3 3r~?~?er3 3ree??~~? 3re?re? ?~~rre? ?e~e?33333?ee~rrrrr~rrr~~rrrr~פe?3333?err~~e? 333?e~e?3 3?eʤ~r~~??~~rre?3?er3re?333 ?e~?re? ?ee~~? ?~~er3 3rפ~r~r3 3rr3 3r~? ?~e3 3e~? ?~e?333 ?e~rre?3?e~r~rrr~ʤ~~~er~r~~?3~r ~~r~er~?3?e~?e~~3~e~~re~r ~~rrr~3r~?ee?~r~ʤee?~rrr~~rrrrrrʤ(55(([[[[[[[([̍5(5555((55((([[(55[[5̚[[[5̍5((5(5̍5(̚[(̍5[([([[[[[[[[[[(55[[5((55((55555((5555([[[[5(([5((5555(5[[[5[55([[(([[[[̚[[[([(((̍5[̍555̍5[((5(55̍5(5([[((̍5[[[[[((5555(([[[5([[([[[[[(5555([[((̚[̍5((̍5̍5([[[(̍5̍5̍5̍5([̍5(5(([[[[([5[5̚[((3[3[[3֭3(5555555(55(([[֭3([[[[[(55((5555555555([[[(5(3֭3([[5[[[((5(([((555555((55555([֭33[3[[̍[[([[([[(3֭3֭3([[(5555(3֭[([[[[3[[[5((555(3֍[((5555555[[[[55[[̍[֭[[[[5((55[[3֭֭3(5555555555555([[[[[[֭3(5555555([[5((55[[[[3֭3[(5555((55(̍[((55[[5[[[[5(3[[33[̚[5((5[[(55((555((5555((5555(3֭3((5555555(3[3̍5[̍[([5((55[(([[[([[([5[55(55555([(55555[(55[[(55(([[[(555([[5(([[([[[[5([[([[([5([5(55[5̍555[5̍5(([5̍5[[((̍5[[[5[((5((5[5[[(55[([[[[[[[[(55555((5555((5555([[55(([[([[(5([[(55[[(([[55[[(5[[[((([[5̍5([[5̍5(55((5555555(5̍5(([̚[(([[[[(55[[(5((5([[[[(([̍5(̍5[̍5((5̚[(5((([[[[[[[[[((55((̍5(55(5̍5[[5([[5̚[((((5̍5[[(̍5[[5̍5(5(5(([[[[[(5((5555((55([[[[[[[[(([[5̍5(((̍5(55(5̍5[([[5̍5[[[[((([[(([[(55(5̍5[[5([[5̚[(55((([[[[(5(1LushWorld.TR2GrassLight\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t361840053\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000 +LushWorld.TR2RockMossy\t1002\nFractal Distortion\ttab_DistortMask\t1003\t1003\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t268833755\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1004\t1003\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.03077 0.04615 0.10000 \tslopeDistort\t0 +DesertWorld.Sand\t1005\nFractal Distortion\ttab_DistortMask\t1006\t1006\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t267844087\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Water Level\ttab_WaterMask\t1007\t1006\twaterDistort\t0General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5.dml b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5.dml new file mode 100644 index 00000000..ce145ef5 --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5.dml @@ -0,0 +1,7 @@ +Nef5/Nef5_FR.png +Nef5/Nef5_RT.png +Nef5/Nef5_BK.png +Nef5/Nef5_LF.png +Nef5/Nef5_UP.png +Nef5/Nef5_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_BK.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_BK.png new file mode 100644 index 00000000..843b6973 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_BK.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_DN.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_DN.png new file mode 100644 index 00000000..8ba43975 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_DN.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_FR.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_FR.png new file mode 100644 index 00000000..7b5ec1cb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_FR.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_LF.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_LF.png new file mode 100644 index 00000000..42968c42 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_LF.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_RT.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_RT.png new file mode 100644 index 00000000..44e0f75c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_RT.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_UP.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_UP.png new file mode 100644 index 00000000..597cc2c1 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef5/Nef5_UP.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red.dml b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red.dml new file mode 100644 index 00000000..2e39f2cc --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red.dml @@ -0,0 +1,21 @@ +Nef_TR2_Red_1 +Nef_TR2_Red_2 +Nef_TR2_Red_3 +Nef_TR2_Red_4 +Nef_TR2_Red_5 +ice/skies/dark_bottom +Nef_TR2_Red_7 +Nef_TR2_Red_cloud1 + + + + + + + + + + + + + diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_1.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_1.png new file mode 100644 index 00000000..b902d977 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_2.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_2.png new file mode 100644 index 00000000..f634a2fa Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_2.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_3.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_3.png new file mode 100644 index 00000000..4fd7d87f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_3.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_4.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_4.png new file mode 100644 index 00000000..3d6eaf00 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_4.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_5.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_5.png new file mode 100644 index 00000000..715af9de Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_5.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_7.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_7.png new file mode 100644 index 00000000..51f17afe Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_7.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_Cloud1.png b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_Cloud1.png new file mode 100644 index 00000000..47481825 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/Nef_TR2_Red_Cloud1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet.dml b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet.dml new file mode 100644 index 00000000..d77d19bd --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet.dml @@ -0,0 +1,22 @@ +RedPlanet_1.png +RedPlanet_2.png +RedPlanet_3.png +RedPlanet_4.png +RedPlanet_5.png +ice/skies/dark_bottom +lush/skies/lush_day_emap +redplanet_cloud1 + + + + + + + + + + + + + + diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_1.png b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_1.png new file mode 100644 index 00000000..d7338239 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_2.png b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_2.png new file mode 100644 index 00000000..8f9274bb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_2.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_3.png b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_3.png new file mode 100644 index 00000000..36acc88d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_3.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_4.png b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_4.png new file mode 100644 index 00000000..9c07ecf4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_4.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_5.png b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_5.png new file mode 100644 index 00000000..14a55585 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_5.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_Cloud1.png b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_Cloud1.png new file mode 100644 index 00000000..1da38e1e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/RedPlanet_Cloud1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_Armageddon.dml b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_Armageddon.dml new file mode 100644 index 00000000..10bd31be --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_Armageddon.dml @@ -0,0 +1,18 @@ +armageddon/Armageddon_v5_FR +armageddon/Armageddon_v5_RT +armageddon/Armageddon_v5_BK +armageddon/Armageddon_v5_LF +armageddon/Armageddon_v5_UP +lava/skies/volcanic_starrynite_v5_DN +lava/skies/volcanic_starrynite_emap + + + + + + + + + + + diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_StonedBlue.dml b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_StonedBlue.dml new file mode 100644 index 00000000..05b947dd --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_StonedBlue.dml @@ -0,0 +1,18 @@ +StonedBlue/StonedBlue_v5_FR +StonedBlue/StonedBlue_v5_RT +StonedBlue/StonedBlue_v5_BK +StonedBlue/StonedBlue_v5_LF +StonedBlue/StonedBlue_v5_UP +lava/skies/volcanic_starrynite_v5_DN +lava/skies/volcanic_starrynite_emap + + + + + + + + + + + diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_WinterBlue.dml b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_WinterBlue.dml new file mode 100644 index 00000000..062179ea --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_TR2_WinterBlue.dml @@ -0,0 +1,18 @@ +SOM_WinterBlue/WinterBlue_v5_FR +SOM_WinterBlue/WinterBlue_v5_RT +SOM_WinterBlue/WinterBlue_v5_BK +SOM_WinterBlue/WinterBlue_v5_LF +SOM_WinterBlue/WinterBlue_v5_UP +lava/skies/volcanic_starrynite_v5_DN +lava/skies/volcanic_starrynite_emap + + + + + + + + + + + diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_BK.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_BK.bmp new file mode 100644 index 00000000..3d558d45 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_BK.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_FR.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_FR.bmp new file mode 100644 index 00000000..abb0a014 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_FR.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_LF.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_LF.bmp new file mode 100644 index 00000000..5fbf7487 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_LF.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_RT.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_RT.bmp new file mode 100644 index 00000000..ce36eb73 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_RT.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_UP.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_UP.bmp new file mode 100644 index 00000000..9ba4bbac Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/SOM_WinterBlue/WinterBlue_v5_UP.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_BK.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_BK.bmp new file mode 100644 index 00000000..bab76c09 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_BK.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_FR.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_FR.bmp new file mode 100644 index 00000000..e396f76c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_FR.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_LF.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_LF.bmp new file mode 100644 index 00000000..39561591 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_LF.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_RT.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_RT.bmp new file mode 100644 index 00000000..bbe562fb Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_RT.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_UP.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_UP.bmp new file mode 100644 index 00000000..8f831e84 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/StonedBlue/StonedBlue_v5_UP.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_1.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_1.png new file mode 100644 index 00000000..ac712f09 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_2.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_2.png new file mode 100644 index 00000000..84e11a9e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_2.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_3.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_3.png new file mode 100644 index 00000000..d7b5ef0d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_3.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_4.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_4.png new file mode 100644 index 00000000..2dbc46c4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_4.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_5.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_5.png new file mode 100644 index 00000000..3f1152ab Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_5.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_7.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_7.png new file mode 100644 index 00000000..2468b012 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_7.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Cloud1.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Cloud1.png new file mode 100644 index 00000000..5934d28c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Cloud1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Cloud2.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Cloud2.png new file mode 100644 index 00000000..4c00ee56 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Cloud2.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Nef.dml b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Nef.dml new file mode 100644 index 00000000..0b55b5da --- /dev/null +++ b/public/base/@vl2/TR2final105-client.vl2/textures/TR1_Nef.dml @@ -0,0 +1,23 @@ +TR1_1 +TR1_2 +TR1_3 +TR1_4 +TR1_5 +ice/skies/dark_bottom +TR1_7 +TR1_cloud1 +TR1_cloud2 + + + + + + + + + + + + + + diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR2-1.lmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR2-1.lmale.png new file mode 100644 index 00000000..7da24cc4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR2-1.lmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/TR2-2.lmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/TR2-2.lmale.png new file mode 100644 index 00000000..d1ecc92a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/TR2-2.lmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_BK.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_BK.bmp new file mode 100644 index 00000000..1cc41881 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_BK.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_FR.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_FR.bmp new file mode 100644 index 00000000..769e83f7 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_FR.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_LF.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_LF.bmp new file mode 100644 index 00000000..5effde91 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_LF.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_RT.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_RT.bmp new file mode 100644 index 00000000..40cacbc2 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_RT.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_RTR.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_RTR.bmp new file mode 100644 index 00000000..40cacbc2 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_RTR.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_UP.bmp b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_UP.bmp new file mode 100644 index 00000000..9876a60f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/armageddon/Armageddon_v5_UP.bmp differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/base.lmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/base.lmale.png new file mode 100644 index 00000000..0f3cfd39 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/base.lmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/commander/MiniIcons/TR2com_flag_grey.png b/public/base/@vl2/TR2final105-client.vl2/textures/commander/MiniIcons/TR2com_flag_grey.png new file mode 100644 index 00000000..256b7917 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/commander/MiniIcons/TR2com_flag_grey.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/flag_skinmap.png b/public/base/@vl2/TR2final105-client.vl2/textures/flag_skinmap.png new file mode 100644 index 00000000..0f4b1645 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/flag_skinmap.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/gui/TR2hud_playertriangle.png b/public/base/@vl2/TR2final105-client.vl2/textures/gui/TR2hud_playertriangle.png new file mode 100644 index 00000000..6e852b98 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/gui/TR2hud_playertriangle.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/gui/TR2hud_playertriangle_enemy.png b/public/base/@vl2/TR2final105-client.vl2/textures/gui/TR2hud_playertriangle_enemy.png new file mode 100644 index 00000000..312afa8a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/gui/TR2hud_playertriangle_enemy.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue.png b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue.png new file mode 100644 index 00000000..0cd22328 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue1.png b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue1.png new file mode 100644 index 00000000..120d72c4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue2.png b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue2.png new file mode 100644 index 00000000..d7682c63 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefBlue2.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefFloor6.png b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefFloor6.png new file mode 100644 index 00000000..c5a300ac Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefFloor6.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefWall1.png b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefWall1.png new file mode 100644 index 00000000..6fbfbfbd Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_NefWall1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_neflig01.png b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_neflig01.png new file mode 100644 index 00000000..aac03f4d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/lava/ds_neflig01.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.hmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.hmale.png new file mode 100644 index 00000000..56241c13 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.hmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.lfemale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.lfemale.png new file mode 100644 index 00000000..3749868e Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.lfemale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.mfemale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.mfemale.png new file mode 100644 index 00000000..22f0ff9a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.mfemale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.mmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.mmale.png new file mode 100644 index 00000000..13e3dd7d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-1.mmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.hmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.hmale.png new file mode 100644 index 00000000..34c64133 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.hmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.lfemale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.lfemale.png new file mode 100644 index 00000000..41aafe8f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.lfemale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.mfemale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.mfemale.png new file mode 100644 index 00000000..3537b9e9 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.mfemale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.mmale.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.mmale.png new file mode 100644 index 00000000..f474f200 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/TR2-2.mmale.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_1.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_1.png new file mode 100644 index 00000000..357ca90c Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_1.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_2.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_2.png new file mode 100644 index 00000000..e005ae4f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_2.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_3.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_3.png new file mode 100644 index 00000000..f343db7d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_3.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_4.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_4.png new file mode 100644 index 00000000..5f99573a Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/billboard_4.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_back.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_back.png new file mode 100644 index 00000000..54ed7819 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_back.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_panel.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_panel.png new file mode 100644 index 00000000..77edc9c4 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_panel.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_side.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_side.png new file mode 100644 index 00000000..5fc87605 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_side.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_top.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_top.png new file mode 100644 index 00000000..c3d11b9b Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goal_top.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_back.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_back.png new file mode 100644 index 00000000..a91a8b68 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_back.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_side.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_side.png new file mode 100644 index 00000000..e1ec7a1f Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_side.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_top.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_top.png new file mode 100644 index 00000000..3355d57d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_goal_top.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_post.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_post.png new file mode 100644 index 00000000..116ff317 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/gold_post.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/goldcube.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goldcube.png new file mode 100644 index 00000000..b8088332 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/goldcube.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/silver_post.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/silver_post.png new file mode 100644 index 00000000..1ba3a296 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/silver_post.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/silvercube.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/silvercube.png new file mode 100644 index 00000000..da13cf67 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/silvercube.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/skins/tr2_flag.png b/public/base/@vl2/TR2final105-client.vl2/textures/skins/tr2_flag.png new file mode 100644 index 00000000..d1f44f78 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/skins/tr2_flag.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/DesertWorld.TR2Sand.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/DesertWorld.TR2Sand.png new file mode 100644 index 00000000..4c2d2e44 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/DesertWorld.TR2Sand.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.DarkRock.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.DarkRock.png new file mode 100644 index 00000000..53c3b3a5 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.DarkRock.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.GrassMixed.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.GrassMixed.png new file mode 100644 index 00000000..84944844 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.GrassMixed.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.LightSand.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.LightSand.png new file mode 100644 index 00000000..8e6fd2f8 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/GMD.LightSand.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2DirtMossy.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2DirtMossy.png new file mode 100644 index 00000000..203fc606 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2DirtMossy.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassDark.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassDark.png new file mode 100644 index 00000000..d1cc2914 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassDark.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassLight.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassLight.png new file mode 100644 index 00000000..48686ebc Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassLight.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassMixed.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassMixed.png new file mode 100644 index 00000000..84944844 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2GrassMixed.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2RockLight.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2RockLight.png new file mode 100644 index 00000000..af2683e7 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2RockLight.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2RockMossy.png b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2RockMossy.png new file mode 100644 index 00000000..73216b36 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/LushWorld.TR2RockMossy.png differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/seawaterfull2.PNG b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/seawaterfull2.PNG new file mode 100644 index 00000000..ea744310 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/seawaterfull2.PNG differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/wateregypt1.PNG b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/wateregypt1.PNG new file mode 100644 index 00000000..745cb2b8 Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/wateregypt1.PNG differ diff --git a/public/base/@vl2/TR2final105-client.vl2/textures/terrain/watr-icyblue2.PNG b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/watr-icyblue2.PNG new file mode 100644 index 00000000..7dab651d Binary files /dev/null and b/public/base/@vl2/TR2final105-client.vl2/textures/terrain/watr-icyblue2.PNG differ diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2BonusCategories.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2BonusCategories.cs new file mode 100644 index 00000000..ca26473e --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2BonusCategories.cs @@ -0,0 +1,468 @@ +// BonusCategories + +// You can create CBonuses that arbitrarily combine any number of +// these categories. Pretty cool. +// Prefixes - tests a player's orientation relative to an object +// Noun - tests two players' heights and one player's speed +// Qualifier - tests an object's horizontal speed, vertical speed, and hangtime +// Description - very specific category for flag passes +// + +exec("scripts/TR2Prefixes.cs"); +exec("scripts/TR2Nouns.cs"); +exec("scripts/TR2Qualifiers.cs"); +exec("scripts/TR2Descriptions.cs"); +exec("scripts/TR2WeaponBonuses.cs"); + +function BonusCategory::performEffects(%this, %component, %obj) +{ + // DEBUG! Don't play dummy sounds + if (%component.sound $= "blah.wav") + return; + + serverPlay2d(%component.sound); + + // Particle effects +} + +function BonusCategory::createCategoryData(%this, %p0, %p1, %p2, %p3, %p4) +{ + // Add some dynamic info to the data before returning it. Save the parameter + // values for calculating variance. + %categoryData = %this.data.get(%p0, %p1, %p2, %p3, %p4); + %categoryData.numParameters = %this.dimensionality; + + for (%i=0; %i<%categoryData.numParameters; %i++) + %categoryData.parameter[%i] = %p[%i]; + + return %categoryData; +} + +// Nouns +new ScriptObject(Noun) +{ + class = Noun; + superclass = BonusCategory; + dimensionality = 3; + passerSpeedLevels = 4; + grabberSpeedLevels = 4; + grabberHeightLevels = 4; + passerSpeedThreshold[0] = 10; + passerSpeedThreshold[1] = 35; + passerSpeedThreshold[2] = 57; + passerSpeedThreshold[3] = 85; + grabberSpeedThreshold[0] = 10; + grabberSpeedThreshold[1] = 35; + grabberSpeedThreshold[2] = 57; + grabberSpeedThreshold[3] = 85; + grabberHeightThreshold[0] = 5; + grabberHeightThreshold[1] = 30; + grabberHeightThreshold[2] = 90; + grabberHeightThreshold[3] = 230; + soundDelay = 0; +}; + +// Nouns play in 3D +function Noun::performEffects(%this, %component, %obj) +{ + // DEBUG! Don't play dummy sounds + if (%component.sound $= "blah.wav") + return; + + serverPlay2d(%component.sound);//, %obj.getPosition()); +} + +function Noun::evaluateold(%this, %grabber, %flag) +{ + %passerSpeed = VectorLen(%flag.dropperVelocity); + %grabberSpeed = %grabber.getSpeed(); + %grabberHeight = %grabber.getHeight(); + + // Don't award a Noun bonus if the flag is on a goal + if (%flag.onGoal) + return; + + // Might be able to abstract these loops somehow + // Passer speed + for(%i=%this.passerSpeedLevels - 1; %i>0; %i--) + if (%passerSpeed >= %this.passerSpeedThreshold[%i]) + break; + + // Grabber speed + for(%j=%this.grabberSpeedLevels - 1; %j>0; %j--) + if (%grabberSpeed >= %this.grabberSpeedThreshold[%j]) + break; + + // Grabber height + for(%k=%this.grabberHeightLevels - 1; %k>0; %k--) + if (%grabberHeight >= %this.grabberHeightThreshold[%k]) + break; + + //echo("NOUN: passSpeed = " @ %passerSpeed @ " grabSpeed = " @ %grabberSpeed @ " grabHeight = " @ %grabberHeight); + //echo("NOUN: " SPC %i SPC %j SPC %k); + return %this.createCategoryData(%i, %j, %k); +} + +function Noun::evaluate(%this, %player1, %player2, %flag) +{ + if (%flag !$= "") + { + // Don't award a Noun bonus if the flag is on a goal + if (%flag.onGoal) + return %this.createCategoryData(0, 0, 0); + + // If the flag thinks it is airborn, yet it's not moving... + if (%flag.getHeight() > 7 && %flag.getSpeed() < 3) + return %this.createCategoryData(0, 0, 0); + + // Use a special Noun for water pickups + if (%flag.inLiquid) + return $WaterNoun; + + %player1Speed = VectorLen(%flag.dropperVelocity); + } + else + %player1Speed = %player1.getSpeed(); + + %player2Speed = %player2.getSpeed(); + %player2Height = %player2.getHeight(); + + // Might be able to abstract these loops somehow + // Passer speed + for(%i=%this.passerSpeedLevels - 1; %i>0; %i--) + if (%player1Speed >= %this.passerSpeedThreshold[%i]) + break; + + // Grabber speed + for(%j=%this.grabberSpeedLevels - 1; %j>0; %j--) + if (%player2Speed >= %this.grabberSpeedThreshold[%j]) + break; + + // Grabber height + for(%k=%this.grabberHeightLevels - 1; %k>0; %k--) + if (%player2Height >= %this.grabberHeightThreshold[%k]) + break; + + //echo("NOUN: passSpeed = " @ %passerSpeed @ " grabSpeed = " @ %grabberSpeed @ " grabHeight = " @ %grabberHeight); + //echo("NOUN: " SPC %i SPC %j SPC %k); + return %this.createCategoryData(%i, %j, %k); +} + +// Qualifiers +new ScriptObject(Qualifier) +{ + class = Qualifier; + superclass = BonusCategory; + dimensionality = 3; + horizontalFlagSpeedLevels = 2; + verticalFlagSpeedLevels = 3; + hangTimeLevels = 4; + horizontalFlagSpeedThreshold[0] = 10; + horizontalFlagSpeedThreshold[1] = 40; + verticalFlagSpeedThreshold[0] = 4; + verticalFlagSpeedThreshold[1] = 20; + verticalFlagSpeedThreshold[2] = 40; + hangTimeThreshold[0] = 500; + hangTimeThreshold[1] = 1200; + hangTimeThreshold[2] = 2500; + hangTimeThreshold[3] = 5000; + soundDelay = 0; +}; + +function Qualifier::evaluate(%this, %dropper, %grabber, %flag) +{ + %flagSpeed = %flag.getSpeed(); + if (%flag.inLiquid || %dropper $= "" || %flag.getSpeed() < 5) + return; + + %dropperSpeed = VectorLen(%flag.dropperVelocity); + + // Lock these down a bit + if (%grabber.getSpeed() < 13 && %dropperSpeed < 8) + return; + + //if (getSimTime() - %flag.dropTime <= 500) + // return; + + if (%flag.getHeight() < 7) + return; + + %flagVel = %flag.getVelocity(); + %horizontalFlagSpeed = VectorLen(setWord(%flagVel, 2, 0)); + %verticalFlagSpeed = mAbs(getWord(%flagVel, 2)); + + // Test to see if the pass was good enough...it must have a sufficient + // horizontal speed, and failing that, it must either be midair or have + // a sufficient downward speed. + if (%horizontalFlagSpeed < %this.horizontalFlagSpeedThreshold[0]) + if (%flag.getHeight() < 10) + if (%verticalFlagSpeed < %this.verticalFlagSpeedThreshold[0]) + return ""; + + + // Horizontal flag speed + for(%i=%this.horizontalFlagSpeedLevels - 1; %i>0; %i--) + if (%horizontalFlagSpeed >= %this.horizontalFlagSpeedThreshold[%i]) + break; + + // Vertical flag speed + for(%j=%this.verticalFlagSpeedLevels - 1; %j>0; %j--) + if (%verticalFlagSpeed >= %this.verticalFlagSpeedThreshold[%j]) + break; + + // Hangtime + %hangtime = getSimTime() - %flag.dropTime; + for(%k=%this.hangTimeLevels - 1; %k>0; %k--) + if (%hangTime >= %this.hangTimeThreshold[%k]) + break; + + //echo("QUALIFIER: horSpeed = " @ %horizontalFlagSpeed @ " verSpeed = " @ %verticalFlagSpeed @ " hang = " @ %hangtime); + //echo("QUALIFIER: " @ %i SPC %j SPC %k); + + return %this.createCategoryData(%i, %j, %k); +} + +// Descriptions +new ScriptObject(Description) +{ + class = Description; + superclass = BonusCategory; + dimensionality = 3; + soundDelay = 1000; +}; + +function Description::evaluate(%this, %dropper, %grabber, %flag) +{ + %flagVel = %flag.getVelocity(); + + // Return default description if the flag was dropped because the flag + // carrier died. + if (%dropper $= "" || %dropper.client.plyrDiedHoldingFlag + || %flag.inLiquid) + return $DefaultDescription; + + if (%grabber.getHeight() < 5 || %flag.getSpeed() < 5 || %flag.getHeight() < 5) + return $DefaultDescription; + + // Make sure the pass was good enough to warrant a full bonus description. + // If it wasn't a high pass with decent speed, check the hangtime; if there + // wasn't lots of hangtime, don't give this bonus + if (%flag.getHeight() < 30 || %flag.getSpeed() < 15) + if (getSimTime() - %flag.dropTime <= 1000) + return $DefaultDescription; + + %dropperSpeed = VectorLen(%flag.dropperVelocity); + // Don't give this bonus if they're both just standing/hovering around + if (%grabber.getSpeed() < 17 && %dropperSpeed < 12) + return $DefaultDescription; + + + // Determine passer's dominant direction (horizontal or vertical) at the + // time the flag was dropped. + %passerVertical = getWord(%flag.dropperVelocity, 2); + %passerHorizontal = VectorLen(setWord(%flag.dropperVelocity, 2, 0)); + %passerDir = 0; // Horizontal dominance + if ( mAbs(%passerVertical) >= %passerHorizontal) + { + // Now decide if the passer was travelling mostly up or mostly down + if (%passerVertical >= 0) + %passerDir = 1; // Upward dominance + else + %passerDir = 2; // Downward dominance + } + + //echo("DESCRIPTION: ver = " @ %passerVertical @ " hor = " @ %passerHorizontal); + + // Based on the dominant direction, use either the xy-plane or the xz-plane + // for comparisons. + if (%passerDir == 0) + { + // Horizontal: use xy-plane + %dropperOrientationN = setWord(VectorNormalize(%flag.dropperOrientation), 2, 0); + %dropperVelocityN = setWord(VectorNormalize(%flag.dropperVelocity), 2, 0); + } else { + // Vertical: use xz-plane + %dropperOrientationN = setWord(VectorNormalize(%flag.dropperOrientation), 1, 0); + %dropperVelocityN = setWord(VectorNormalize(%flag.dropperVelocity), 1, 0); + } + + // Determine passer's dominant orientation relative to velocity at the time + // the flag was dropped (forward pass, backward pass, or perpendicular pass). + %passDirectionDot = VectorDot(%dropperOrientationN, %dropperVelocityN); + %passDir = 0; // Forward pass + //echo("DESCRIPTION: passDirDot = " @ %passDirectionDot); + if (%passDirectionDot <= -0.42) + %passDir = 1; // Backward pass + else if (%passDirectionDot >= -0.29 && %passDirectionDot <= 0.29) + %passDir = 2; // Perpendicular pass + + // Do the same for the flag's dominant direction. + %flagVertical = mAbs(getWord(%flagVel, 2)); + %flagHorizontal = VectorLen(setWord(%flagVel, 2, 0)); + %flagDir = (%flagHorizontal >= %flagVertical) ? 0 : 1; + %grabberVel = %grabber.getVelocity(); + + if (%flagDir == 0) + { + %flagVelocityN = setWord(VectorNormalize(%flagVel), 2, 0); + %grabberVelN = setWord(VectorNormalize(%grabberVel), 2, 0); + } + else + { + %flagVelocityN = setWord(VectorNormalize(%flagVel), 1, 0); + %grabberVelN = setWord(VectorNormalize(%grabberVel), 1, 0); + } + + // Determine the flag's velocity relative to the grabber's velocity at the time + // the flag is grabbed, ie. now (into pass, with pass, perpendicular to pass). + %flagDirectionDot = VectorDot(%dropperOrientationN, %grabberVelN); + %flagDir = 0; // Default to travelling into the pass + //echo("DESCRIPTION: flagDirDot = " @ %flagDirectionDot); + if (%flagDirectionDot >= 0.7) + %flagDir = 1; // Travelling with the pass + else if (%flagDirectionDot >= -0.21 && %flagDirectionDot <= 0.21) + %flagDir = 2; // Travelling perpendicular to the pass + + //echo("DESCRIPTION:" + // @ " passerDir = " @ %passerDir + // @ " passDir = " @ %passDir + // @ " flagDir = " @ %flagDir); + + return %this.createCategoryData(%passerDir, %passDir, %flagDir); +} + +// Prefixs + +new ScriptObject(Prefix) +{ + class = Prefix; + superclass = BonusCategory; + dimensionality = 1; + grabberOrientationLevels = 3; + grabberOrientationThreshold[0] = -0.1; + grabberOrientationThreshold[1] = -0.5; + grabberOrientationThreshold[2] = -0.85; + soundDelay = 0; +}; + +function Prefix::evaluate(%this, %dropper, %grabber, %flag) +{ + // Determine if the grabber caught the flag backwards. Derive a + // relative position vector and calculate the dot product. + %flagPos = %flag.getPosition(); + %grabberPos = %grabber.getPosition(); + %grabberEye = %grabber.getEyeVector(); + + // If the flag is sliding around near the ground, only expect the grabber to + // be horizontally backwards...otherwise, he must be backwards in all dimensions. + if (%flag.getHeight() < 10 && getWord(%flag.getVelocity(), 2) < 17) + %flagPos = setWord(%flagPos, 2, getWord(%grabberPos, 2)); + + %relativePos = VectorNormalize(VectorSub(%flagPos, %grabberPos)); + %relativeDot = VectorDot(%relativePos, %grabberEye); + //echo("PREFIX TEST: reldot = " @ %relativeDot); + + // Should probably put this into a loop + if (%relativeDot <= %this.grabberOrientationThreshold[2]) + %grabberDir = 2; + else if (%relativeDot <= %this.grabberOrientationThreshold[1]) + %grabberDir = 1; + else if (%relativeDot <= %this.grabberOrientationThreshold[0]) + %grabberDir = 0; + else + return ""; + + //echo("Prefix: " @ %grabberDir); + return %this.createCategoryData(%grabberDir); +} + +// Weapon speed (speed of victim) +new ScriptObject(SpeedBonus) +{ + class = SpeedBonus; + superclass = BonusCategory; + dimensionality = 1; + SpeedLevels = 3; + SpeedThreshold[0] = 20; + SpeedThreshold[1] = 65; + SpeedThreshold[2] = 100; + soundDelay = 0; +}; + +function SpeedBonus::evaluate(%this, %notUsed, %victim) +{ + // A little trick to allow evaluation for either parameter + if (%victim $= "") + %victim = %notUsed; + + %victimSpeed = %victim.getSpeed(); + + if (%victimSpeed < %this.SpeedThreshold[0]) + return; + + // Victim speed + for(%i=%this.SpeedLevels - 1; %i>0; %i--) + if (%victimSpeed >= %this.SpeedThreshold[%i]) + break; + + //echo("SB: " SPC %i SPC "speed =" SPC %victimSpeed); + return %this.createCategoryData(%i); +} + +// Weapon height (height of victim) +new ScriptObject(HeightBonus) +{ + class = HeightBonus; + superclass = BonusCategory; + dimensionality = 1; + heightLevels = 3; + HeightThreshold[0] = 15; + HeightThreshold[1] = 40; + HeightThreshold[2] = 85; +}; + + +function HeightBonus::evaluate(%this, %notUsed, %victim) +{ + // A little trick to allow evaluation for either parameter + if (%victim $= "") + %victim = %notUsed; + + %victimHeight = %victim.getHeight(); + + if (%victimHeight < %this.HeightThreshold[0]) + return; + + // Victim height + for(%i=%this.HeightLevels - 1; %i>0; %i--) + if (%victimHeight >= %this.HeightThreshold[%i]) + break; + + //echo("HB: " SPC %i); + return %this.createCategoryData(%i); +} + +// Weapon type +new ScriptObject(WeaponTypeBonus) +{ + class = WeaponTypeBonus; + superclass = BonusCategory; + dimensionality = 1; +}; + + +function WeaponTypeBonus::evaluate(%this, %shooter, %victim, %damageType) +{ + // Determine shooter weapon type here + switch(%damageType) + { + case $DamageType::Disc: %i = 0; + case $DamageType::Grenade: %i = 1; + case $DamageType::Bullet: %i = 2; + } + + //echo("WTB: " SPC %i); + return %this.createCategoryData(%i); +} + + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2BonusSounds.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2BonusSounds.cs new file mode 100644 index 00000000..aa243dff --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2BonusSounds.cs @@ -0,0 +1,1083 @@ + +// Misc. +datablock AudioProfile(CrowdClapSound) +{ + volume = 1.0; + filename = "fx/misc/crowd-clap.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdDisappointment1Sound) +{ + volume = 1.0; + filename = "fx/misc/missed.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdCheer1Sound) +{ + volume = 1.0; + filename = "fx/misc/cheer.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdFlairSound) +{ + volume = 1.0; + filename = "fx/misc/flair.wav"; + description = Audio2D; +}; + +// Bonus sound profiles + +// Assorted +datablock AudioProfile(MarioSound) +{ + volume = 1.0; + filename = "fx/bonuses/mario-6notes.wav"; + description = Audio2D; +}; + +datablock AudioProfile(GameStartSound) +{ + volume = 1.0; + filename = "fx/misc/gamestart.wav"; + description = Audio2D; +}; + +datablock AudioProfile(GadgetSound) +{ + volume = 1.0; + filename = "fx/bonuses/gadget3.wav"; + description = Audio2D; +}; + +datablock AudioProfile(EvilLaughSound) +{ + volume = 1.0; + filename = "fx/bonuses/evillaugh.wav"; + description = AudioBigExplosion3D; +}; + +datablock AudioProfile(RoleChangeSound) +{ + volume = 1.0; + filename = "fx/misc/rolechange.wav"; + description = AudioExplosion3D; +}; + +//datablock AudioProfile(InterceptionFriendlySound) +//{ +// volume = 1.0; +// filename = "fx/misc/nexus_cap"; +// description = Audio2D; +//}; + +//datablock AudioProfile(InterceptionEnemySound) +//{ +// volume = 1.0; +// filename = "fx/misc/flag_taken.wav"; +// description = Audio2D; +//}; + +datablock AudioProfile(CarScreechSound) +{ + volume = 1.0; + filename = "fx/misc/carscreech.wav"; + description = AudioBigExplosion3D; +}; + +datablock AudioProfile(SlapshotSound) +{ + volume = 1.0; + filename = "fx/misc/slapshot.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CoinSound) +{ + volume = 1.0; + filename = "fx/misc/coin.wav"; + description = AudioBigExplosion3D; +}; + +datablock AudioProfile(MA1Sound) +{ + volume = 1.0; + filename = "fx/misc/MA1.wav"; + description = Audio2D; +}; + +datablock AudioProfile(MA2Sound) +{ + volume = 1.0; + filename = "fx/misc/MA2.wav"; + description = Audio2D; +}; + +datablock AudioProfile(MA3Sound) +{ + volume = 1.0; + filename = "fx/misc/MA3.wav"; + description = Audio2D; +}; + + +datablock AudioProfile(MonsterSound) +{ + volume = 1.0; + filename = "fx/Bonuses/TRex.wav"; + description = AudioBigExplosion3D; +}; + +datablock AudioProfile(CrowdLoop1Sound) +{ + volume = 1.0; + filename = "fx/misc/crowd.wav"; + description = AudioLooping2D; +}; + +datablock AudioProfile(CrowdLoop2Sound) +{ + volume = 1.0; + filename = "fx/misc/crowd2.wav"; + description = AudioLooping2D; +}; + +datablock AudioProfile(CrowdLoop3Sound) +{ + volume = 1.0; + filename = "fx/misc/crowd3.wav"; + description = AudioLooping2D; +}; + +datablock AudioProfile(CrowdTransition1aSound) +{ + volume = 1.0; + filename = "fx/misc/crowdtransition1a.wav"; + description = Audio2D; +}; +datablock AudioProfile(CrowdTransition1bSound) +{ + volume = 1.0; + filename = "fx/misc/crowdtransition1b.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdTransition2aSound) +{ + volume = 1.0; + filename = "fx/misc/crowdtransition2a.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdTransition2bSound) +{ + volume = 1.0; + filename = "fx/misc/crowdtransition2b.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdTransition3aSound) +{ + volume = 1.0; + filename = "fx/misc/crowdtransition3a.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdTransition3bSound) +{ + volume = 1.0; + filename = "fx/misc/crowdtransition3b.wav"; + description = Audio2D; +}; + +datablock AudioProfile(CrowdFadeSound) +{ + volume = 1.0; + filename = "fx/misc/crowdfade.wav"; + description = Audio2D; +}; + +$TR2::CrowdLoopTransitionUp[0] = CrowdTransition1aSound; +$TR2::CrowdLoop[0] = CrowdLoop1Sound; +$TR2::CrowdLoopTransitionDown[0] = CrowdTransition1bSound; +$TR2::CrowdLoopTransitionUp[1] = CrowdTransition2aSound; +$TR2::CrowdLoop[1] = CrowdLoop2Sound; +$TR2::CrowdLoopTransitionDown[1] = CrowdTransition2bSound; +$TR2::CrowdLoopTransitionUp[2] = CrowdTransition3aSound; +$TR2::CrowdLoop[2] = CrowdLoop3Sound; +$TR2::CrowdLoopTransitionDown[2] = CrowdTransition3bSound; +$TR2::NumCrowdLevels = 3; + + +// Creativity +datablock AudioProfile(Creativity1Sound) +{ + volume = 1.0; + filename = "fx/bonuses/qseq1.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Creativity2Sound) +{ + volume = 1.0; + filename = "fx/bonuses/qseq2.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Creativity3Sound) +{ + volume = 1.0; + filename = "fx/bonuses/qseq3.wav"; + description = Audio2D; +}; + + +// Nouns +datablock AudioProfile(NounDogSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/dog.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounHorseSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/horse.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounWolfSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/wolf.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounInsect1Sound) +{ + volume = 1.0; + filename = "fx/bonuses/insect1.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounInsect2Sound) +{ + volume = 1.0; + filename = "fx/bonuses/insect2.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounAstronautSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/astronaut.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounAtmosphereSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/atmosphere.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBalloonSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/balloon.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBatSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/bats.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBeeSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/beeswarm.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBirdOfPreySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/birdofprey.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBlimpSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/blimp.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBluejaySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/bluejay.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBudgieSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/budgie.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounButterlySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/butterfly.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCamelSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/camel.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCaptainSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/captain.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCatSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/cat.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCheetahSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/cheetah.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounChickadeeSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/chickadee.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCloudSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/cloud.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounColonelSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/colonel.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCondorSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/condor.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCougarSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/cougar.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCowSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/cow.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCoyoteSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/coyote.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounDonkeySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/donkey.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounDoveSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/dove.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounDragonflySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/dragonfly.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounFishSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/fish.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounFlamingoSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/flamingo.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounFlySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/fly.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounGeneralSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/general.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounGoldfinchSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/goldfinch.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounGrasshopperSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/grasshopper.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounHornetSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/hornet.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounHelicopterSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/helicopter.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounHurricaneSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/hurricane.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounIguanaSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/iguana.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounJaguarSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/jaguar.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounJetSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/airplane.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounLlamaSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/llama.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounMajorSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/major.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounMoonSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/moon.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounCrowSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/crow.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounMosquitoSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/msquito.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounOstrichSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/ostrich.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounOwlSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/Owl.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounOzoneSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/ozone.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounParakeetSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/parakeet.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounParrotSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/parrot.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounPelicanSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/pelican.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounPuppySound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/puppy.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounSharkSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/shark.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounSnakeSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/snake.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounSwallowSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/Swallow.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounTigerSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/tiger.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounTornadoSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/tornado.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounTurtleSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/turtle.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounWarnippleSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/warnipple.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounWaspSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/wasp.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounZebraSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/zebra.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounZeppellinSound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/zeppellin.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounSpecial1Sound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/Special1.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounSpecial2Sound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/Special2.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounSpecial3Sound) +{ + volume = 1.0; + filename = "fx/bonuses/Nouns/Special3.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounGrowlSound) +{ + volume = 1.0; + filename = "fx/environment/growl4.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounWindSound) +{ + volume = 1.0; + filename = "fx/environment/moaningwind1.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBird1Sound) +{ + volume = 1.0; + filename = "fx/environment/bird_echo1.wav"; + description = Audio2D; +}; + +datablock AudioProfile(NounBird2Sound) +{ + volume = 1.0; + filename = "fx/environment/bird_echo5.wav"; + description = Audio2D; +}; + + + + +// Qualifiers +datablock AudioProfile(Qualifier100Sound) +{ + volume = 1.0; + filename = "fx/bonuses/low-level1-sharp.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier010Sound) +{ + volume = 1.0; + filename = "fx/bonuses/low-level2-spitting.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier110Sound) +{ + volume = 1.0; + filename = "fx/bonuses/low-level3-whipped.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier020Sound) +{ + volume = 1.0; + filename = "fx/bonuses/low-level4-popping.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier120Sound) +{ + volume = 1.0; + filename = "fx/bonuses/low-level5-bursting.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier001Sound) +{ + volume = 1.0; + filename = "fx/bonuses/med-level1-modest.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier101Sound) +{ + volume = 1.0; + filename = "fx/bonuses/med-level2-ripped.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier011Sound) +{ + volume = 1.0; + filename = "fx/bonuses/med-level3-shining.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier111Sound) +{ + volume = 1.0; + filename = "fx/bonuses/med-level4-slick.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier021Sound) +{ + volume = 1.0; + filename = "fx/bonuses/med-level5-sprinkling"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier121Sound) +{ + volume = 1.0; + filename = "fx/bonuses/med-level6-brilliant.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier002Sound) +{ + volume = 1.0; + filename = "fx/bonuses/high-level1-frozen.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier102Sound) +{ + volume = 1.0; + filename = "fx/bonuses/high-level2-shooting.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier012Sound) +{ + volume = 1.0; + filename = "fx/bonuses/high-level3-dangling.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier112Sound) +{ + volume = 1.0; + filename = "fx/bonuses/high-level4-blazing.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier022Sound) +{ + volume = 1.0; + filename = "fx/bonuses/high-level5-raining.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier122Sound) +{ + volume = 1.0; + filename = "fx/bonuses/high-level6-falling.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier003Sound) +{ + volume = 1.0; + filename = "fx/bonuses/wow-level1-suspended.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier103Sound) +{ + volume = 1.0; + filename = "fx/bonuses/wow-level2-skeeting.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier013Sound) +{ + volume = 1.0; + filename = "fx/bonuses/wow-level3-hanging.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier113Sound) +{ + volume = 1.0; + filename = "fx/bonuses/wow-level4-arcing.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier023Sound) +{ + volume = 1.0; + filename = "fx/bonuses/wow-level5-pouring.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Qualifier123Sound) +{ + volume = 1.0; + filename = "fx/bonuses/wow-level6-elite.wav"; + description = Audio2D; +}; + + +// Descriptions +datablock AudioProfile(Description000Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_straipass1_bullet.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description001Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_straipass2_heist.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description002Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_straipass3_smackshot.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description010Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_passback1_jab.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description011Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_passback2_backbreaker.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description012Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_passback3_leetlob.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description020Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_perppass1_peeler.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description021Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_perppass2_blender.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description022Sound) +{ + volume = 1.0; + filename = "fx/bonuses/horz_perppass3_glasssmash.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description100Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_straipass1_ascension.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description101Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_straipass2_elevator.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description102Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_straipass3_rainbow.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description110Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_passback1_bomb.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description111Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_passback2_deliverance.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description112Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_passback3_crank.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description120Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_perppass1_fling.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description121Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_perppass2_quark.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description122Sound) +{ + volume = 1.0; + filename = "fx/bonuses/upward_perppass3_juggletoss.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description200Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_straipass1_yoyo.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description201Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_straipass2_skydive.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description202Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_straipass3_jolt.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description210Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_passback1_prayer.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description211Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_passback2_moyoyo.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description212Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_passback3_rocket.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description220Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_perppass1_blast.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description221Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_perppass2_deepdish.wav"; + description = Audio2D; +}; + +datablock AudioProfile(Description222Sound) +{ + volume = 1.0; + filename = "fx/bonuses/down_perppass3_bunnybump.wav"; + description = Audio2D; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Bonuses.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Bonuses.cs new file mode 100644 index 00000000..d334fa5e --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Bonuses.cs @@ -0,0 +1,464 @@ +// TR2 Bonuses +// This file execs the entire bonus infrastructure, and also contains all the +// evaluate() and award() functions for bonuses. +exec("scripts/TR2BonusSounds.cs"); +exec("scripts/TR2BonusCategories.cs"); +exec("scripts/TR2OtherBonuses.cs"); + +$TR2::teamColor[1] = ""; // Gold +$TR2::teamColor[2] = ""; // Silver + +function initializeBonuses() +{ + // Flag bonus + if (!isObject(FlagBonus)) + { + new ScriptObject(FlagBonus) + { + class = FlagBonus; + superclass = Bonus; + history = FlagBonusHistory; + }; + FlagBonus.addCategory(Prefix, $PrefixList); + FlagBonus.addCategory(Noun, $NounList); + FlagBonus.addCategory(Qualifier, $QualifierList); + FlagBonus.addCategory(Description, $DescriptionList); + //MissionCleanup.add(FlagBonus); + } + + // Weapon kill bonus + if (!isObject(WeaponBonus)) + { + new ScriptObject(WeaponBonus) + { + class = WeaponBonus; + superclass = Bonus; + instant = true; + history = ""; + }; + WeaponBonus.addCategory(HeightBonus, $WeaponHeightBonusList); + WeaponBonus.addCategory(SpeedBonus, $WeaponSpeedBonusList); + WeaponBonus.addCategory(WeaponTypeBonus, $WeaponTypeBonusList); + //MissionCleanup.add(WeaponBonus); + } + + // Go-go Gadget Bonus + if (!isObject(G4Bonus)) + { + new ScriptObject(G4Bonus) + { + class = G4Bonus; + superclass = Bonus; + history = ""; + }; + G4Bonus.addCategory(Noun, $NounList); + //MissionCleanup.add(G4Bonus); + } + + // Midair Bonus + if (!isObject(MidairBonus)) + { + new ScriptObject(MidairBonus) + { + class = MidairBonus; + superclass = Bonus; + history = ""; + }; + //MissionCleanup.add(MidairBonus); + } + + // Collision Bonus + if (!isObject(CollisionBonus)) + { + new ScriptObject(CollisionBonus) + { + class = CollisionBonus; + superclass = Bonus; + history = ""; + }; + //MissionCleanup.add(CollisionBonus); + } + + // Creativity Bonus + if (!isObject(CreativityBonus)) + { + new ScriptObject(CreativityBonus) + { + class = CreativityBonus; + superclass = Bonus; + instant = true; + lastVariance = 0; + lastVarianceLevel = 0; + varianceLevels = 4; + varianceThreshold[0] = 0; + varianceThreshold[1] = 17; + varianceThreshold[2] = 34; + varianceThreshold[3] = 51; + varianceValue[0] = 0; + varianceValue[1] = 25; + varianceValue[2] = 50; + varianceValue[3] = 75; + varianceSound[0] = ""; + varianceSound[1] = Creativity1Sound; + varianceSound[2] = Creativity2Sound; + varianceSound[3] = Creativity3Sound; + history = ""; + }; + //MissionCleanup.add(CreativityBonus); + } +} + +function Bonus::addCategory(%this, %newCategory, %data) +{ + if (%this.numCategories $= "") + %this.numCategories = 0; + + // A category can be used in multiple bonuses + %this.category[%this.numCategories] = %newCategory; + %this.category[%this.numCategories].data = %data; + %this.numCategories++; +} + +function Bonus::evaluate(%this, %obj1, %obj2, %obj3, %obj4, %obj5) +{ + // This is added to the bonus history and eventually deleted + %newBonusData = new ScriptObject() + { + class = BonusData; + }; + MissionCleanup.add(%newBonusData); + %newBonusData.initialize(%this); + + // Construct the bonus by iterating through categories + for (%i=0; %i<%this.numCategories; %i++) + { + %newCategoryData = %this.category[%i].evaluate(%obj1, %obj2, %obj3, %obj4); + if (%newCategoryData > 0) + { + %newBonusData.addCategoryData(%newCategoryData, %i); + + // Perform audiovisual effects + %delay = %this.category[%i].soundDelay; + %this.category[%i].schedule(%delay, "performEffects", %newCategoryData, %obj2); + } + } + + // Award the bonus + if (%newBonusData.getValue() != 0) + %this.award(%newBonusData, %obj1, %obj2, %obj3); + else + %newBonusData.delete(); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////// +// BonusData +// This class stores an instance of a dynamically constructed bonus. +function BonusData::initialize(%this, %bonus) +{ + %this.bonus = %bonus; + %this.time = GetSimTime(); + + %this.maxCategoryDatas = %bonus.numCategories; + for (%i=0; %i < %this.numCategoryDatas; %i++) + %this.categoryData[%i] = ""; + + %this.totalValue = 0; +} + +function BonusData::addCategoryData(%this, %newCategoryData, %index) +{ + // This little trick allows a BonusData instance to mirror its + // Bonus type...it allows a BonusData to have empty component + // slots. Empty slots are needed so that successive Bonuses "line up" + // for calculating variance. There's likely a better way to do this. + %this.categoryData[%index] = %newCategoryData; + %this.totalValue += %newCategoryData.value; +} + +function BonusData::getString(%this) +{ + %str = %this.categoryData[0].text; + + for (%i=1; %i < %this.maxCategoryDatas; %i++) + if (%this.categoryData[%i] !$= "") + %str = %str SPC %this.categoryData[%i].text; + + return %str; +} + +function BonusData::getValue(%this) +{ + return %this.totalValue; +} + +//////////////////////////////////////////////////////////////////////////////// +// Bonus history and variance +new ScriptObject(FlagBonusHistory) +{ + class = FlagBonusHistory; + superclass = BonusHistory; + bonusType = FlagBonus; + numBonuses = 0; + variance = 0; +}; + +function BonusHistory::initialize(%this) +{ + for (%i=0; %i<%this.numBonuses; %i++) + %this.bonus[%i].delete(); + + %this.numBonuses = 0; + %this.variance = 0; +} + +function BonusHistory::add(%this, %newBonus) +{ + %this.bonus[%this.numBonuses] = %newBonus; + %this.numBonuses++; + + // Calculate the new variance + return %this.calculateIncrementalVariance(); +} + + // An incremental way of calculating the creativity within a bonus +// history as new bonuses are added (incremental approach used for efficiency) +function BonusHistory::calculateIncrementalVariance(%this) +{ + if (%this.numBonuses <= 1) + return 0; + + %i = %this.numBonuses - 1; + for(%j=0; %j<%this.bonus[%i].maxCategoryDatas; %j++) + { + %categoryData = %this.bonus[%i].categoryData[%j]; + // Don't count empty component slots + if(%categoryData !$= "") + for(%k=0; %k<%categoryData.numParameters; %k++) + %this.variance += mAbs(%categoryData.parameter[%k] - + %this.bonus[%i-1].categoryData[%j].parameter[%k]); + } + + return %this.variance; +} + + +// An instantaneous way of calculating the creativity within a bonus +// history (inefficient and not intended to be used; for informational +// and debugging purposes only) +function BonusHistory::calculateVariance(%this) +{ + if (%this.numBonuses <= 1) + return 0; + + %this.variance = 0; + + for(%i=1; %i<%this.numBonuses; %i++) + for(%j=0; %j<%this.bonus[%i].maxCategoryDatas; %j++) + { + %categoryData = %this.bonus[%i].categoryData[%j]; + if (%categoryData !$= "") + for(%k=0; %k<%categoryData.numParameters; %k++) + %this.variance += abs(%categoryData.parameter[%k] - + %this.bonus[%i-1].categoryData[%j].parameter[%k]); + } + + return %this.variance; +} + +function BonusHistory::getVariance(%this) +{ + return %this.variance; +} + +function BonusHistory::getRecentRecipient(%this, %index) +{ + if (%index $= "") + %index = 0; + + return %this.bonus[%this.numBonuses-1-%index].recipient; +} + +function Bonus::award(%this, %bonusData, %player1, %player2, %action, %suffix, %extraval, %sound) +{ + // Handle instant bonuses (previously handled via subclassing) + if (%this.instant) + return %this.awardInstantBonus(%bonusData, %player1, %player2, %action, %suffix, %extraval, %sound); + + if (%bonusData !$= "") + %val = %bonusData.getValue(); + else + %val = 0; + + if (%extraval !$= "") + %val += %extraval; + + if (%val < 0) + %val = 0; + + // Send message to bonus display mechanism + if (%val > 0) + Game.updateCurrentBonusAmount(%val, %player1.team); + + if (%bonusData !$= "") + %text = %bonusData.getString(); + + if (%suffix !$= "") + %text = %text SPC %suffix; + + if (%player1.team != %player2.team) + %actionColor = ""; + else + %actionColor = ""; + + %player1Color = $TR2::teamColor[%player1.team]; + %player2Color = $TR2::teamColor[%player2.team]; + + %summary = %player1Color @ getTaggedString(%player1.client.name) + SPC %actionColor @ %action + SPC %player2Color @ getTaggedString(%player2.client.name); + + messageAll('MsgTR2Event', "", %summary, %text, %val); + + if (%this.history !$= "") + // Add to BonusHistory and calculate variance + %this.history.add(%bonusData); + else if (%bonusData !$= "") + // Otherwise just get rid of it + %bonusData.delete(); +} + +function Bonus::awardInstantBonus(%this, %bonusData, %player1, %player2, %action, %suffix, %extraVal, %sound) +{ + if (%bonusData !$= "") + %val = %bonusData.getValue(); + else + %val = 0; + + if (%extraVal !$= "") + %val += %extraVal; + + if (%val < 0) + %val = 0; + + if (%player2 !$= "") + %summary = getTaggedString(%player1.client.name) SPC %action SPC + getTaggedString(%player2.client.name); + //else if (%player1 !$= "") + // %summary = getTaggedString(%player1.client.name); + + // Send message to bonus display mechanism + %scoringTeam = %player1.client.team; + $teamScore[%scoringTeam] += %val; + messageAll('MsgTR2SetScore', "", %scoringTeam, $teamScore[%scoringTeam]); + + if (%bonusData !$= "") + %text = %bonusData.getString() SPC %suffix; + else + %text = %suffix; + + %scoringTeam = %player1.team; + %otherTeam = (%scoringTeam == 1) ? 2 : 1; + + //messageAll('MsgTR2Event', "", %summary, %text, %val); + messageTeam(%scoringTeam, 'MsgTR2InstantBonus', "\c4" @ %text SPC "\c3(+" @ %val @ ")"); + messageTeam(%otherTeam, 'MsgTR2InstantBonus', "\c4" @ %text SPC "\c3(+" @ %val @ ")"); + messageTeam(0, 'MsgTR2InstantBonus', "\c4" @ %text SPC "\c3(+" @ %val @ ")"); + + if (%sound !$= "") + serverPlay2D(%sound); + + if (%this.history !$= "") + // Add to BonusHistory and calculate variance + %this.history.add(%bonusData); + else if (%bonusData !$= "") + // Otherwise just get rid of it + %bonusData.delete(); +} + + +function FlagBonus::award(%this, %bonusData, %dropper, %grabber, %flag) +{ + // Hmm, should update this to use Parent:: + + // Calculate bonus value + %val = %bonusData.getValue(); + + // Sneaky workaround so that some bonuses still display even though + // they're worth nothing + if (%val < 0) + %val = 0; + + if (%val >= 20) + ServerPlay2D(CrowdCheerSound); + + if (!%flag.atHome && !%flag.onGoal && !%flag.dropperKilled) + { + if (%flag.dropper.team == %grabber.team) + { + %actionColor = ""; + %ppoints = mCeil(%val / 2); + %rpoints = mFloor(%val / 2); + %grabber.client.score += %rpoints; + %grabber.client.receivingScore += %rpoints; + %flag.dropper.client.score += %ppoints; + %flag.dropper.client.passingScore += %ppoints; + } else { + %actionColor = ""; + %grabber.client.score += %val; + %grabber.client.interceptingScore += %val; + %this.history.initialize(); + + // If grabber was a goalie, count this as a save + if (%grabber.client.currentRole $= Goalie) + %grabber.client.saves++; + } + + if (%flag.dropper.client !$= "") + { + %dropperColor = $TR2::teamColor[%dropper.team]; + %grabberColor = $TR2::teamColor[%grabber.team]; + %summary = %dropperColor @ getTaggedString(%dropper.client.name) + SPC %actionColor @ "to" + SPC %grabberColor @ getTaggedString(%grabber.client.name); + } + } else { + // Handle regular flag pickups + %summary = $TR2::teamColor[%grabber.team] @ getTaggedString(%grabber.client.name); + %this.history.initialize(); + } + + // Add to BonusHistory and calculate variance + %bonusData.recipient = %grabber; + %this.history.add(%bonusData); + + // Use variance to calculate creativity + %variance = %this.history.getVariance(); + CreativityBonus.evaluate(%variance, %grabber); + + // Send message to bonus display mechanism + // + Game.updateCurrentBonusAmount(%val, %grabber.team); + messageAll('MsgTR2Event', "", %summary, %bonusData.getString(), %val); +} + +function WeaponBonus::award(%this, %bonusData, %shooter, %victim) +{ + %shooter.client.fcHits++; + if (%bonusData.getValue() >= 5) + ServerPlay2D(MonsterSound); + Parent::award(%this, %bonusData, %shooter, %victim, "immobilized", "Hit \c2(" @ getTaggedString(%shooter.client.name) @ ")"); +} + +function G4Bonus::award(%this, %bonusData, %plAttacker, %plVictim, %damageType, %damageLoc, %val) +{ + Parent::award(%this, %bonusData, %plAttacker, %plVictim, "G4'd", + "Bionic Grab", %val); +} + +function CollisionBonus::award(%this, %bonusData, %plPasser, %plReceiver, %action, %desc, %val) +{ + Parent::award(%this, %bonusData, %plPasser, %plReceiver, %action, %desc, %val); +} + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Descriptions.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Descriptions.cs new file mode 100644 index 00000000..1b6614e5 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Descriptions.cs @@ -0,0 +1,248 @@ + +//////////////////////////////////////////////////////////////////////////////// +// Special DescriptionDatas +$DefaultDescription = new ScriptObject() { + text = "Grab"; + value = 0; + sound = "blah.wav"; + class = DescriptionData; + numParameters = 0; +}; + +$G4Description = new ScriptObject() { + text = "Go-go Gadget Grab"; + value = 5; + sound = "blah.wav"; + class = DescriptionData; + numParameters = 0; +}; + + +// DescriptionData components +// [Passer direction, pass direction, flag direction] + +$DescriptionList = new ScriptObject() { + class = DescriptionList; +}; + +function DescriptionList::get(%this, %a, %b, %c) +{ + return $DescriptionList[%a, %b, %c]; +} + +//////////////////////////////////////////////////////////////////////////////// +// Horizontal dominance (straight pass) +$DescriptionList[0,0,0] = new ScriptObject() { + text = "Bullet"; + value = 5; + sound = Description000Sound; + class = DescriptionData; +}; + + +$DescriptionList[0,0,1] = new ScriptObject() { + text = "Heist"; + value = 7; + sound = Description001Sound; + class = DescriptionData; +}; + +$DescriptionList[0,0,2] = new ScriptObject() { + text = "Smack Shot"; + value = 9; + sound = Description002Sound; + class = DescriptionData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Horizontal dominance (pass back) +$DescriptionList[0,1,0] = new ScriptObject() { + text = "Jab"; + value = 9; + sound = Description010Sound; + class = DescriptionData; +}; + + +$DescriptionList[0,1,1] = new ScriptObject() { + text = "Back Breaker"; + value = 11; + sound = Description011Sound; + class = DescriptionData; +}; + + +$DescriptionList[0,1,2] = new ScriptObject() { + text = "Leet Lob"; + value = 12; + sound = Description012Sound; + class = DescriptionData; +}; + + +//////////////////////////////////////////////////////////////////////////////// +// Horizontal dominance (perpendicular pass) +$DescriptionList[0,2,0] = new ScriptObject() { + text = "Peeler"; + value = 22; + sound = Description020Sound; + class = DescriptionData; +}; + +$DescriptionList[0,2,1] = new ScriptObject() { + text = "Blender"; + value = 25; + sound = Description021Sound; + class = DescriptionData; +}; + +$DescriptionList[0,2,2] = new ScriptObject() { + text = "Glass Smash"; + value = 28; + sound = Description022Sound; + class = DescriptionData; +}; + + +//////////////////////////////////////////////////////////////////////////////// +// Upward dominance (straight pass) +$DescriptionList[1,0,0] = new ScriptObject() { + text = "Ascension"; + value = 7; + sound = Description100Sound; + class = DescriptionData; +}; + +$DescriptionList[1,0,1] = new ScriptObject() { + text = "Elevator"; + value = 9; + sound = Description101Sound; + class = DescriptionData; +}; + + +$DescriptionList[1,0,2] = new ScriptObject() { + text = "Rainbow"; + value = 7; + sound = Description102Sound; + class = DescriptionData; +}; + + +//////////////////////////////////////////////////////////////////////////////// +// Upward dominance (pass back) +$DescriptionList[1,1,0] = new ScriptObject() { + text = "Bomb"; + value = 9; + sound = Description110Sound; + class = DescriptionData; +}; + +$DescriptionList[1,1,1] = new ScriptObject() { + text = "Deliverance"; + value = 11; + sound = Description111Sound; + class = DescriptionData; +}; + +$DescriptionList[1,1,2] = new ScriptObject() { + text = "Crank"; + value = 12; + sound = Description112Sound; + class = DescriptionData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Upward dominance (pass perpendicular) +$DescriptionList[1,2,0] = new ScriptObject() { + text = "Fling"; + value = 18; + sound = Description120Sound; + class = DescriptionData; +}; + +$DescriptionList[1,2,1] = new ScriptObject() { + text = "Quark"; + value = 20; + sound = Description121Sound; + class = DescriptionData; +}; + +$DescriptionList[1,2,2] = new ScriptObject() { + text = "Juggle Toss"; + value = 22; + sound = Description122Sound; + class = DescriptionData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Downward dominance (straight pass) +$DescriptionList[2,0,0] = new ScriptObject() { + text = "Yo-yo"; + value = 7; + sound = Description200Sound; + class = DescriptionData; +}; + +$DescriptionList[2,0,1] = new ScriptObject() { + text = "Skydive"; + value = 9; + sound = Description201Sound; + class = DescriptionData; +}; + + +$DescriptionList[2,0,2] = new ScriptObject() { + text = "Jolt"; + value = 11; + sound = Description202Sound; + class = DescriptionData; +}; + + +//////////////////////////////////////////////////////////////////////////////// +// Downward dominance (pass back) +$DescriptionList[2,1,0] = new ScriptObject() { + text = "Prayer"; + value = 10; + sound = Description210Sound; + class = DescriptionData; +}; + +$DescriptionList[2,1,1] = new ScriptObject() { + text = "Mo-yo-yo"; + value = 12; + sound = Description211Sound; + class = DescriptionData; +}; + +$DescriptionList[2,1,2] = new ScriptObject() { + text = "Rocket"; + value = 14; + sound = Description212Sound; + class = DescriptionData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Downward dominance (pass perpendicular) +$DescriptionList[2,2,0] = new ScriptObject() { + text = "Blast"; + value = 20; + sound = Description220Sound; + class = DescriptionData; +}; + +$DescriptionList[2,2,1] = new ScriptObject() { + text = "Deep Dish"; + value = 23; + sound = Description221Sound; + class = DescriptionData; +}; + +$DescriptionList[2,2,2] = new ScriptObject() { + text = "Bunny Bump"; + value = 25; + sound = Description222Sound; + class = DescriptionData; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Game.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Game.cs new file mode 100644 index 00000000..42c066e4 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Game.cs @@ -0,0 +1,3204 @@ +// DisplayName = Team Rabbit 2 + +//--- GAME RULES BEGIN --- +//Get the flag and throw it into the other team's goal +//You can only hold onto the flag for 15 seconds +//Passing the flag increases the size of the Jackpot +//Scoring a goal awards the Jackpot to your team! +//When your health reaches zero, you are knocked down +//Replenish your ammo by pressing your suicide button +//--- GAME RULES END --- + + + +// Team Rabbit 2 +// Created by Codality, Inc. +// www.codality.com +// ------------------------------- +// Michael "KineticPoet" Johnston - Designer, Lead Programmer, Maps +// Dan "daunt" Kolta - Physics design, Maps +// Scott "FSB-AO" Estabrook - Programmer +// John "CObbler" Carter - Bonus sound effects +// Buddy "sLaM" Pritchard - Sound effects +// Gregg "illy" Fellows - 3D models and skins +// Alan "Nefilim" Schwertel; - Maps +// Kenneth "SONOFMAN" Cook - Sky art + + +exec("scripts/TR2Packages.cs"); +exec("scripts/TR2Particles.cs"); +exec("scripts/TR2Physics.cs"); +exec("scripts/TR2Items.cs"); +exec("scripts/TR2Bonuses.cs"); +exec("scripts/TR2ObserverQueue.cs"); +exec("scripts/TR2Roles.cs"); + +$TR2::ThrownObject = "TR2Flag.dts"; +//$TR2::ThrownObject = "bioderm_light.dts"; // Derm tossing +//$TR2::ThrownObject = "TR2ball.dts"; // Ball + +$TR2::DisableDeath = true; +$TR2::EnableRoles = true; +$TR2::EnableCrowd = true; +$TR2::DelayAfterKnockdown = 1800; +$TR2::MinimumKnockdownDelay = 2300; +$TR2::MaximumKnockdownDelay = 7000; +$TR2::MinSpeedForFlagSmoke = 9; +$TR2::HotPotatoTime = 14000; +$TR2::selfPassTimeout = 6500; +$TR2::CrazyFlagLifetime = 15000; +$TR2::FlagUpdateTime = 70; +$TR2::PracticeMode = false; +$TR2::GoalRespawnDelay = 4; +$TR2::TimeSlice = 2000; +$TR2::PointsPerTimeSlice = 1; +$TR2::MinimumJackpot = 40; +$TR2::MaximumJackpot = 250; +$TR2::dynamicUpdateFrequency = 1000; +$TR2::GoalieInvincibilityTime = 5000; +$TR2::FriendlyKnockdownPenalty = 15; +$TR2::MaxFlagChargeTime = 3000; +$TR2::KnockdownTimeSlice = 500; +$TR2::FlagSmokeTimeSlice = 200; +$TR2::datablockRoleChangeDelay = 400; +$TR2::DelayBetweenTeamChanges = 1000; +$TR2::OneTimerGoalBonus = 50; +$TR2::CorpseTimeoutValue = 2000; + +$TR2::ObsZoomScale[0] = 1; +$TR2::ObsZoomScale[1] = 2; +$TR2::ObsZoomScale[2] = 4; +$TR2::ObsZoomScale[3] = 6; +$TR2::NumObsZoomLevels = 4; + +$TR2::CrowdLevelDistance[0] = 800; +$TR2::CrowdLevelDistance[1] = 400; +$TR2::CrowdLevelDistance[2] = 210; + +$DamageType::TouchedOwnGoal = 200; +$DamageType::Grid = 201; +$DamageType::RespawnAfterScoring = 202; +$DamageType::HotPotato = 203; +$DamageType::OOB = 204; + +$InvincibleTime = 3; +$TR2::validatingQueue = true; + +$TR2::JoinMotd = "Team Rabbit 2 (build 095)\n" @ + "Created by Codality, Inc.\nhttp://www.codality.com"; + + +function TR2Game::sendMotd(%game, %client) +{ + bottomPrint(%client, $TR2::JoinMotd, 5, 3); + %client.sentTR2Motd = true; +} + +function TR2Game::spawnPlayer( %game, %client, %respawn ) +{ + if( !isObject(%client) || %client.team <= 0 ) + return 0; + + %client.lastSpawnPoint = %game.pickPlayerSpawn( %client, false ); + %client.suicidePickRespawnTime = getSimTime() + 20000; + %game.createPlayer( %client, %client.lastSpawnPoint, %respawn ); + + if(!$MatchStarted && !$CountdownStarted) // server has not started anything yet + { + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + if( $Host::TournamentMode ) + { + %client.observerMode = "pregame"; + %client.notReady = true; + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); + checkTourneyMatchStart(); + } + %client.camera.mode = "pre-game"; + //schedule(1000, 0, "commandToClient", %client, 'setHudMode', 'Observer'); + schedule(1000, 0, "commandToClient", %client, 'displayHuds'); + } + else if(!$MatchStarted && $CountdownStarted) // server has started the countdown + { + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + if( $Host::TournamentMode ) + { + %client.observerMode = "pregame"; + } + %client.camera.mode = "pre-game"; + //schedule(1000, 0, "commandToClient", %client, 'setHudMode', 'Observer'); + schedule(1000, 0, "commandToClient", %client, 'displayHuds'); + } + else + { + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + commandToClient(%client, 'setHudMode', 'Standard'); // the game has already started + } +} + + +function TR2Game::initGameVars(%game) +{ + if (%game.oldCorpseTimeout $= "") + %game.oldCorpseTimeout = $CorpseTimeoutValue; + + $CorpseTimeoutValue = $TR2::CorpseTimeoutValue; + %game.TR2FlagSmoke = 0; + %game.addFlagTrail = ""; + %game.currentBonus = 0; + %game.updateCurrentBonusAmount(0, -1); + + %game.FLAG_RETURN_DELAY = 12 * 1000; //12 seconds + %game.fadeTimeMS = 2000; + %game.crowdLevel = -1; + %game.crowdLevelSlot = 0; + + %game.resetPlayerRoles(); +} + +function TR2Game::onClientLeaveGame(%game, %client) +{ + //remove them from the team rank arrays + %game.removeFromTeamRankArray(%client); + // First set to outer role (just to be safe) + %game.assignOuterMostRole(%client); + + // Then release client's role + %game.releaseRole(%client); + + if( isObject(%client.player)) + %client.player.scriptKill(0); + + if( %client.team > 0 ) // hes on a team... + { + %nextCl = getClientFromQueue(); + if( %nextCl != -1 ) + { + %game.assignClientTeam(%nextCl); + %game.spawnPlayer(%nextCl); + } + } + // just in case... + removeFromQueue(%client); + + //cancel a scheduled call... + cancel(%client.respawnTimer); + %client.respawnTimer = ""; + + logEcho(%client.nameBase@" (cl "@%client@") dropped"); +} + + // END package TR2Game + +//-------------------------------------------------------------------------- +// need to have this for the corporate maps which could not be fixed +function SimObject::clearFlagWaypoints(%this) +{ +} + +function WayPoint::clearFlagWaypoints(%this) +{ + logEcho("Removing flag waypoint: " @ %this); + if(%this.nameTag $= "Flag") + %this.delete(); +} + +function SimGroup::clearFlagWaypoints(%this) +{ + for(%i = %this.getCount() - 1; %i >= 0; %i--) + %this.getObject(%i).clearFlagWaypoints(); +} + +function TR2Game::AIInit() +{ +} + +function TR2Game::getTeamSkin(%game, %team) +{ + // TR2 experiment + switch (%team) + { + case 1: return 'TR2-1'; + case 2: return 'TR2-2'; + } + + if(isDemo() || $host::tournamentMode) + { + return $teamSkin[%team]; + } + + else + { + //error("TR2Game::getTeamSkin"); + if(!$host::useCustomSkins) + { +// %terrain = MissionGroup.musicTrack; +// //error("Terrain type is: " SPC %terrain); +// switch$(%terrain) +// { +// case "lush": +// if(%team == 1) +// %skin = 'beagle'; +// else if(%team == 2) +// %skin = 'dsword'; +// else %skin = 'base'; +// +// case "badlands": +// if(%team == 1) +// %skin = 'swolf'; +// else if(%team == 2) +// %skin = 'dsword'; +// else %skin = 'base'; +// +// case "ice": +// if(%team == 1) +// %skin = 'swolf'; +// else if(%team == 2) +// %skin = 'beagle'; +// else %skin = 'base'; +// +// case "desert": +// if(%team == 1) +// %skin = 'cotp'; +// else if(%team == 2) +// %skin = 'beagle'; +// else %skin = 'base'; +// +// case "Volcanic": +// if(%team == 1) +// %skin = 'dsword'; +// else if(%team == 2) +// %skin = 'cotp'; +// else %skin = 'base'; +// +// default: +// if(%team == 2) +// %skin = 'baseb'; +// else %skin = 'base'; +// } + } + else %skin = $teamSkin[%team]; + + //error("%skin = " SPC getTaggedString(%skin)); + return %skin; + } +} + +function TR2Game::getTeamName(%game, %team) +{ + if ( isDemo() || $host::tournamentMode) + return $TeamName[%team]; + + //error("TR2Game::getTeamName"); + if(!$host::useCustomSkins) + { + %terrain = MissionGroup.musicTrack; + //error("Terrain type is: " SPC %terrain); + switch$(%terrain) + { + case "lush": + if(%team == 1) + %name = 'Blood Eagle'; + else if(%team == 2) + %name = 'Diamond Sword'; + + case "badlands": + if(%team == 1) + %name = 'Starwolf'; + else if(%team == 2) + %name = 'Diamond Sword'; + + case "ice": + if(%team == 1) + %name = 'Starwolf'; + else if(%team == 2) + %name = 'Blood Eagle'; + + case "desert": + if(%team == 1) + %name = 'Phoenix'; + else if(%team == 2) + %name = 'Blood Eagle'; + + case "Volcanic": + if(%team == 1) + %name = 'Diamond Sword'; + else if(%team == 2) + %name = 'Phoenix'; + + default: + if(%team == 2) + %name = 'Inferno'; + else + %name = 'Storm'; + } + + if(%name $= "") + { + //error("No team Name ============================="); + %name = $teamName[%team]; + } + } + else + %name = $TeamName[%team]; + + //error("%name = " SPC getTaggedString(%name)); + return %name; +} + +//-------------------------------------------------------------------------- +function TR2Game::missionLoadDone(%game) +{ + //default version sets up teams - must be called first... + DefaultGame::missionLoadDone(%game); + + for(%i = 1; %i < (%game.numTeams + 1); %i++) + { + $teamScore[%i] = 0; + $teamScoreJackpot[%i] = 0; + $teamScoreCreativity[%i] = 0; + $teamScorePossession[%i] = 0; + } + + // AO: if there are more players on a team than open TR2 spots, we just switched from another game mode + // first 12 in the clientgroup get to play, rest spec. + %count = ClientGroup.getCount(); + %playing = 0; + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + if( %cl.team > 0 ) + %playing++; + } + + if( %playing > 12 ) + { + %idx = 0; + for( %j = 0; %j < %count; %j++ ) + { + %cl = ClientGroup.getObject(%i); + if( %idx < 12 ) + { + if( %cl.team != 0 ) + %idx++; + else + addToQueue(%cl); + } + else + { + if( %cl.team != 0 ) + %game.forceObserver(%cl, "teamsMaxed"); + else + addToQueue(%cl); + } + } + } + + + // KP: Reset accumulated score + $accumulatedScore = 0; + + // remove + MissionGroup.clearFlagWaypoints(); + + //reset some globals, just in case... + $dontScoreTimer[1] = false; + $dontScoreTimer[2] = false; + + // KP: Over-ride the sensor settings to remove alpha transparency + // update colors: + // - enemy teams are red + // - same team is green + // - team 0 is white + for(%i = 0; %i < 32; %i++) + { + %team = (1 << %i); + setSensorGroupColor(%i, %team, "0 255 0 -1"); + setSensorGroupColor(%i, ~%team, "255 0 0 -1"); + setSensorGroupColor(%i, 1, "255 255 255 -1"); + + // setup the team targets (alwyas friendly and visible to same team) + setTargetAlwaysVisMask(%i, %team); + setTargetFriendlyMask(%i, %team); + } + setSensorGroupAlwaysVisMask(1, 0xffffffff); + setSensorGroupFriendlyMask(1, 0xffffffff); + setSensorGroupAlwaysVisMask(2, 0xffffffff); + setSensorGroupFriendlyMask(2, 0xffffffff); + + // Init TR2 bonuses + initializeBonuses(); + + // Set gravity + setGravity($TR2::Gravity); + + // Locate goals + + for (%i=1; %i<=2; %i++) + { + %group = nameToID("MissionGroup/Teams/team" @ %i @ "/Goal" @ %i); + %count = %group.getCount(); + + for (%j=0; %j<%count; %j++) + { + %obj = %group.getObject(%j); + if (%obj.dataBlock $= "Goal") + { + $teamGoal[%i] = %obj; + $teamGoalPosition[%i] = $teamGoal[%i].getPosition(); + break; + } + } + } + + %sphereGroup = nameToID("MissionGroup/Sphere"); + %count = %sphereGroup.getCount(); + + for (%j=0; %j<%count; %j++) + { + %obj = %sphereGroup.getObject(%j); + if (%obj.interiorFile $= "sphere.dif") + { + $TR2::TheSphere = %obj; + break; + } + } + + // Make sure everyone's spawnBuilding flag is set + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl $= "" || %cl.player $= "") + continue; + + %cl.inSpawnBuilding = true; + } + + %bounds = MissionArea.area; + %boundsWest = firstWord(%bounds); + %boundsNorth = getWord(%bounds, 1); + // Hack to get a permanent dynamic object for playAudio() + //$AudioObject = new Player() + //{ + // datablock = TR2LightMaleHumanArmor; + //}; + + // Game threads + %game.dynamicUpdateThread = %game.schedule(0, "dynamicUpdate"); +} + +function TR2Game::startMatch(%game) +{ + //serverPlay2D(GameStartSound); + return Parent::startMatch(%game); +} + +function TR2Game::dynamicUpdate(%game) +{ + //echo("DYNAMIC: Start update"); + // Keep checking for flag and flag carrier oob because T2's enter/leave + // mission callbacks aren't reliable + //%game.keepFlagInBounds(true); + + // Only start the flag return timer if the flag is moving slowly + if ($TheFlag.getSpeed() < 8 && $TheFlag.carrier $= "") + { + if (($FlagReturnTimer[$TheFlag] $= "" || $FlagReturnTimer[$TheFlag] <= 0) && !$TheFlag.onGoal && !$TheFlag.isHome) + $FlagReturnTimer[$TheFlag] = Game.schedule(Game.FLAG_RETURN_DELAY - Game.fadeTimeMS, "flagReturnFade", $TheFlag); + } + + // Little trick to alternate between queue validation and role validation with + // each dynamic update tick + if ($TR2::validatingQueue) + validateQueue(); + else + %game.validateRoles(); + + $TR2::validatingQueue = !$TR2::validatingQueue; + + if ($TR2::enableRoles) + %game.updateRoles(); + + if ($TR2::EnableCrowd) + %game.evaluateCrowdLevel(); + + %game.dynamicUpdateThread = %game.schedule($TR2::dynamicUpdateFrequency, "dynamicUpdate"); + //echo("DYNAMIC: End update"); +} + +function TR2Game::keepFlagInBounds(%game, %firstTime) +{ + if (%firstTime && ($TheFlag.isOutOfBounds() || $TheFlag.carrier.OutOfBounds)) + // Double-check, just in case we caught a gridjump + %game.oobCheckThread = %game.schedule(500, "keepFlagInBounds", false); + else + { + cancel(%game.oobCheckThread); + if ($TheFlag.carrier.OutOfBounds) + $TheFlag.carrier.scriptKill($DamageType::suicide); + + if ($TheFlag.isOutOfBounds()) + { + cancel($FlagReturnTimer[$TheFlag]); + %game.flagReturn($TheFlag); + } + } +} + +function TR2Game::endMission(%game) +{ + if ($DefaultGravity !$= "") + setGravity($DefaultGravity); + + $CorpseTimeoutValue = %game.oldCorpseTimeout; + + cancel(%game.roleUpdateThread); + + // Try setting everyone's inSpawnBuilding flag to avoid weird death messages + // between missions + //%count = ClientGroup.getCount(); + //for (%i = 0; %i < %count; %i++) + //{ + // %cl = ClientGroup.getObject(%i); + // if (%cl $= "" || %cl.player $= "") + // continue; + + // %cl.inSpawnBuilding = true; + //} + %game.forceTeamRespawn(1); + %game.forceTeamRespawn(2); + + // End dynamic updates + cancel(%game.dynamicUpdateThread); + cancel(%game.addFlagTrail); + cancel(%game.pointsPerTimeSliceThread); + cancel(%game.roleValidationThread); + + %game.stopCrowd(); + + Parent::endMission(%game); +} + +function TR2Game::playerTouchFlag(%game, %player, %flag) +{ + //echo("playerTouchFlag() (client = " @ %player.client @ ")"); + %client = %player.client; + + if (%player.getState() $= "Dead") + return; + + %grabTime = getSimTime(); + %flagVel = %flag.getVelocity(); + %flagSpeed = %flag.getSpeed(); + + if (Game.goalJustScored || %client.OutOfBounds) + return; + + if (%flag.isOutOfBounds() || %player.inSpawnBuilding) + { + Game.flagReturn(%flag); + return; + } + + // TR2: Try to fix the infamous flag re-catch bug + //if (%player == %flag.dropper && %grabTime - %flag.dropTime <= 200) + //{ + // echo(" RE-CATCH BUG DETECTED!"); + //%flag.setVelocity(%flag.throwVelocity); + //return; + //} + + // TR2: don't allow players to re-grab + if (!$TR2::PracticeMode) + if (%player == %flag.dropper && (%grabTime - %flag.dropTime) <= $TR2::selfPassTimeout) // && %flag.oneTimer == 0) + { + messageClient(%client, 'MsgTR2SelfPass', '\c1You can\'t pass to yourself!'); + return; + } + + + if (%flag.carrier $= "") + { + // TR2: Check for one-timer catches, hee + //if (getSimTime() - %flag.oneTimer < 1500 && %flagSpeed > 3) + //{ + // %newVel = VectorAdd(%player.getVelocity(), VectorScale(%flagVel, 10)); + // %player.setVelocity(%newVel); + // echo(" ONE-TIMER ====== " @ %flagVel); + //} + + + // TR2: Temporary invulnerability for goalies + if (%player.client.currentRole $= Goalie) + { + %player.setInvincible(true); + %player.schedule($TR2::GoalieInvincibilityTime, "setInvincible", false); + } + + + // Carrier health update + cancel(%game.updateCarrierHealth); + game.UpdateCarrierHealth(%player); + + %chasingTeam = (%player.client.team == 1) ? 2 : 1; + + %client = %player.client; + %player.holdingFlag = %flag; //%player has this flag + %flag.carrier = %player; //this %flag is carried by %player + + %player.mountImage(TR2FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team)); + + %game.playerGotFlagTarget(%player); + //only cancel the return timer if the player is in bounds... + if (!%client.outOfBounds) + { + cancel($FlagReturnTimer[%flag]); + $FlagReturnTimer[%flag] = ""; + } + + %flag.hide(true); + %flag.startFade(0, 0, false); + %flag.isHome = false; + %flag.onGoal = false; + %flag.dropperKilled = false; + //if(%flag.stand) + // %flag.stand.getDataBlock().onFlagTaken(%flag.stand);//animate, if exterior stand + + $flagStatus[%flag.team] = %client.nameBase; + %teamName = %game.getTeamName(%flag.team); + setTargetSensorGroup(%flag.target, %player.team); + //~wfx/misc/flag_snatch.wav + //~wfx/misc/flag_taken.wav + if (!%player.flagThrowStart) + { + messageTeamExcept(%client, 'MsgTR2FlagTaken', '\c2Teammate %1 took the flag.~wfx/misc/Flagfriend.wav', %client.name, %teamName, %flag.team, %client.nameBase); + messageTeam(%chasingTeam, 'MsgTR2FlagTaken', '\c2%1 took the flag!~wfx/misc/Flagenemy.wav',%client.name, 0, %flag.team, %client.nameBase); + messageClient(%client, 'MsgTR2FlagTaken', '\c2You took the flag.~wfx/misc/Flagself.wav', %client.name, %teamName, %flag.team, %client.nameBase); + + if (%flag.dropper $= "") + messageTeam(0, 'MsgTR2FlagTaken', '\c4%1 took the flag.~wfx/misc/Flagself.wav', %client.name, %teamName, %flag.team, %client.nameBase); + else if (%flag.dropper.team != %player.team) + messageTeam(0, 'MsgTR2FlagTaken', '\c2%1 intercepted the flag!~wfx/misc/Flagenemy.wav', %client.name, %teamName, %flag.team, %client.nameBase); + else + messageTeam(0, 'MsgTR2FlagTaken', '\c3%1 caught the flag.~wfx/misc/Flagfriend.wav', %client.name, %teamName, %flag.team, %client.nameBase); + + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") took team "@%flag.team@" flag"); + } + + //call the AI function + //%game.AIplayerTouchEnemyFlag(%player, %flag); + + + //if the player is out of bounds, then in 3 seconds, it should be thrown back towards the in bounds area... + //if (%client.outOfBounds) + // %game.schedule(3000, "boundaryLoseFlag", %player); + + // TR2: Schedule new hot potato + if (%game.hotPotatoThread !$= "") + cancel(%game.hotPotatoThread); + if (!$TR2::PracticeMode) + { + %game.hotPotatoThread = %game.schedule($TR2::hotPotatoTime, "hotPotato", %player, true); + + // Schedule points-per-second + %game.pointsPerTimeSliceThread = %game.schedule($TR2::timeSlice, "awardPointsPerTimeSlice"); + } + + //%flag.oneTimer = 0; + + // Set observers to flag carrier + for( %i = 0; %i " @ VectorLen(%vel)); + + // Try updating its transform to force a client update + $TheFlag.setTransform($TheFlag.getTransform()); + $updateFlagThread = %game.schedule($TR2::FlagUpdateTime, "updateFlagTransform"); +} + +function TR2Game::playerDroppedFlag(%game, %player) +{ + //echo("playerDroppedFlag() (client = " @ %player.client @ ")"); + %client = %player.client; + %flag = %player.holdingFlag; + + // Cancel points per time slice + cancel(%game.pointsPerTimeSliceThread); + + %game.playerLostFlagTarget(%player); + + %player.holdingFlag = ""; //player isn't holding a flag anymore + %flag.carrier = ""; //flag isn't held anymore + $flagStatus[%flag.team] = ""; + setTargetSensorGroup(%flag.target, 3); + + // Carrier health update + cancel(%game.updateCarrierHealthThread); + messageAll('MsgTR2CarrierHealth', "", 0); + + %player.unMountImage($FlagSlot); + %flag.hide(false); //Does the throwItem function handle this? + + // TR2: Give the flag some extra oomph + //%flagVel = %flag.getVelocity(); + //%playerVel = %player.getVelocity(); + //%playerRot = %player.getEyeVector(); + //%playerVelxy = setWord(%playerVel, 2, 0); + //%playerVelxz = setWord(%playerVel, 1, 0); + //%playerVelyz = setWord(%playerVel, 0, 0); + //%playerRotxy = setWord(%playerRot, 2, 0); + //%playerRotxz = setWord(%playerRot, 1, 0); + //%playerRotyz = setWord(%playerRot, 0, 0); + //%dotxy = VectorDot(VectorNormalize(%playerVelxy), VectorNormalize(%playerRotxy)); + //%dotxz = VectorDot(VectorNormalize(%playerVelxz), VectorNormalize(%playerRotxz)); + //%dotyz = VectorDot(VectorNormalize(%playerVelyz), VectorNormalize(%playerRotyz)); + //echo(" *********VEL dot ROT (xy) = " @ %dotxy); + //echo(" *********VEL dot ROT (xz) = " @ %dotxz); + //echo(" *********VEL dot ROT (yz) = " @ %dotyz); + //%testDirection = VectorDot(VectorNormalize(%playerVel), VectorNormalize(%playerRot)); + //%playerVel = VectorScale(%playerVel, 80); + //%playerRot = VectorScale(%playerRot, 975); + //%flag.setTransform(VectorAdd(VectorNormalize(%playerRot), %player.getPosition())); + + //%newVel = VectorAdd(%newVel, %playerRot); + + // Don't apply the velocity impulse if the player is facing one direction + // but travelling in the other + //if (%testDirection > -0.85) + // %newVel = VectorAdd(%playerVel, %newVel); + + // apply the impulse to the flag object + //%flag.applyImpulse(%flag.getPosition(), %newVel); + //%player.getWorldBoxCenter() + %flag.dropper = %player; + %flag.dropperVelocity = %player.getVelocity(); + %flag.dropperOrientation = %player.getEyeVector(); + %flag.dropperHeight = %player.getHeight(); + %flag.dropperPosition = %player.getPosition(); + %flag.dropTime = getSimTime(); + + // Argh, remember actual name to prevent self-pass exploit + %flag.dropperName = %player.client.name; + + //%flag.setCollisionTimeout(%player); + + %teamName = %game.getTeamName(%flag.team); + %chasingTeam = (%player.client.team == 1) ? 2 : 1; + //~wfx/misc/flag_drop.wav + messageTeamExcept(%client, 'MsgTR2FlagDropped', '\c2Teammate %1 dropped the flag.~wfx/misc/flagflap.wav', %client.name, %teamName, %flag.team); + messageTeam(%chasingTeam, 'MsgTR2FlagDropped', '\c2The flag has been dropped by %1!~wfx/misc/flagflap.wav', %client.name, 0, %flag.team); + messageTeam(0, 'MsgTR2FlagDropped', '\c2%1 dropped the flag.~wfx/misc/flagflap.wav', %client.name, %teamName, %flag.team); + if(!%player.client.outOfBounds) + messageClient(%client, 'MsgTR2FlagDropped', '\c2You dropped the flag.~wfx/misc/flagflap.wav', 0, %teamName, %flag.team); + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") dropped team "@%flag.team@" flag"); + + // TR2: Cancel hot potato thread + cancel(%game.hotPotatoThread); + + + //if( %flag.getSpeed() <= $TR2::MinSpeedForFlagSmoke && $FlagReturnTimer[%flag] <= 0) + // $FlagReturnTimer[%flag] = %game.schedule(%game.FLAG_RETURN_DELAY - %game.fadeTimeMS, "flagReturnFade", %flag); + + + // Set observers + for( %i = 0; %i $teamScore[2]) + %winner = %game.getTeamName(1); + else if ($teamScore[2] > $teamScore[1]) + %winner = %game.getTeamName(2); + + //if (%winner $= 'Storm') + // messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" ); + //else if (%winner $= 'Inferno') + // messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" ); + //else if (%winner $= 'Starwolf') + // messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.swwin.wav" ); + //else if (%winner $= 'Blood Eagle') + // messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.bewin.wav" ); + //else if (%winner $= 'Diamond Sword') + // messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.dswin.wav" ); + //else if (%winner $= 'Phoenix') + // messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.pxwin.wav" ); + //else + messageAll('MsgGameOver', "Match has ended.~wfx/misc/gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + } + for(%j = 1; %j <= %game.numTeams; %j++) + $TeamScore[%j] = 0; + + $accumulatedScore = 0; +} + +function TR2Game::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) +{ + if (%game.goalJustScored) + return; + + //if(%clVictim.headshot && %damageType == $DamageType::Laser && %clVictim.team != %clAttacker.team) + //{ + + //} + + // Try to give a free self-inflicted wound when invincible + if (%clVictim.player.invincible && %clVictim == %clAttacker) + { + %clVictim.player.invincible = false; + return; + } + + //the DefaultGame will set some vars + DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); + + //if victim is carrying a flag and is not on the attackers team, mark the attacker as a threat for x seconds(for scoring purposes) + if ((%clVictim.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team)) + { + %clAttacker.dmgdFlagCarrier = true; + } + + if (!%clVictim.player.invincible) + G4Bonus.evaluate(%clAttacker.player, %clVictim.player, $TheFlag, %damageType, %damageLoc); + //$DamageBonus.evaluate(%clAttacker, %clVictim, %damageType, %damageLoc); + +} + +//////////////////////////////////////////////////////////////////////////////////////// +//function TR2Game::assignClientTeam(%game, %client, %respawn) +//{ +// DefaultGame::assignClientTeam(%game, %client, %respawn); +// // if player's team is not on top of objective hud, switch lines +// messageClient(%client, 'MsgCheckTeamLines', "", %client.team); +//} + +function TR2Game::updateCurrentBonusAmount(%this, %bonus, %team) +{ + %this.currentBonus += %bonus; + if (%this.currentBonus > $TR2::MaximumJackpot) + %this.currentBonus = $TR2::MaximumJackpot; + + // Don't color the Jackpot until it's big enough + if (%this.currentBonus < $TR2::MinimumJackpot) + %team = -1; + + %this.setBonus(%this.currentBonus, %team); + //for( %i = 0; %i < ClientGroup.getCount(); %i++ ) + //{ + // %cl = ClientGroup.getObject(%i); + // %flag = %cl.team == %team ? 1 : 0; + // messageClient(%cl, 'MsgTR2UpdateBonus', "", %this.currentBonus, %flag); + //} +} + +function TR2Game::setBonus(%game, %bonus, %team) +{ + if( %bonus $= "0" || %team == -1 ) + messageAll('MsgTR2Bonus', "", %bonus, $TR2::NeutralColor); + else + { + messageAllExcept(-1, %team, 'MsgTR2Bonus', "", %bonus, $TR2::RedColor); + messageTeam(%team, 'MsgTR2Bonus', "", %bonus, $TR2::GreenColor); + } +} + +function TR2Game::giveInstantBonus(%this, %team, %amount) +{ + $teamScore[%team] += %amount; + messageAll('MsgTR2SetScore', "", %team, $teamScore[%team]); +} + +function TR2Game::recalcScore(%game, %cl) +{ + +} + +function TR2Game::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + +} + + +function TR2Game::testCarrierKill(%game, %victimID, %killerID) +{ + %flag = %victimID.plyrDiedHoldingFlag; + return ((%flag !$= "") && (%flag.team == %killerID.team)); +} + + + +function TR2Game::resetDontScoreTimer(%game, %team) +{ + $dontScoreTimer[%team] = false; +} + +function TR2Game::checkScoreLimit(%game, %team) +{ + +} + +function TR2Game::clientMissionDropReady(%game, %client) +{ + // TR2 specific anti-non-vchat-wav-spam-thing... + if( getTaggedString(%client.voiceTag) $= "" ) + { + removeTaggedString(%client.voiceTag); + + %raceGender = %client.race SPC %client.sex; + switch$ ( %raceGender ) + { + case "Human Male": + %voice = "Male1"; + case "Human Female": + %voice = "Fem1"; + case "Bioderm": + %voice = "Derm1"; + default: + %voice = "Male1"; + } + %client.voiceTag = addTaggedString(%voice); + } + + %game.sendMotd(%client); + //error(%client @ " - " @ %client.nameBase @ " - Team: " @ %client.team @ " - Last: " @ %client.lastTeam); + if( %client.team <= 0 || %client.team $= "" ) + addToQueue(%client); + if( %client.tr2SpecMode $= "" ) + %client.tr2SpecMode = true; + if( %client.specOnly $= "" ) + %client.specOnly = false; + messageClient(%client, 'MsgClientReady',"", %game.class); + %game.resetScore(%client); + + %score1 = $Teams[1].score != 0 ? $Teams[1].score : 0; + %score2 = $Teams[2].score != 0 ? $Teams[2].score : 0; + + if( $TheFlag.isHome ) + { + %flagLoc = "Center"; + %carrierHealth = 0; + } + else if( $TheFlag.onGoal ) + { + %flagLoc = "On goal"; + %carrierHealth = 0; + } + else if( $TheFlag.carrier !$= "" ) + { + %flagLoc = $TheFlag.carrier.client.name; + %maxDamage = $TheFlag.carrier.getDatablock().maxDamage; + %health = ((%maxDamage - $TheFlag.carrier.getDamageLevel()) / %maxDamage) * 200; + %carrierHealth = mFloor(%health/10) * 5; + } + else + { + %flagLoc = "Dropped"; + %carrierHealth = 0; + } + + + %client.inSpawnBuilding = true; + + messageClient(%client, 'MsgTR2ObjInit', "", %game.getTeamName(1), %game.getTeamName(2), %score1, %score2, %flagLoc, %carrierHealth, %game.currentBonus ); + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + //synchronize the clock HUD + messageClient(%client, 'MsgSystemClock', "", 0, 0); + + %game.sendClientTeamList( %client ); + %game.setupClientHuds( %client ); + + %client.camera.setFlyMode(); + + %observer = false; + if( !$Host::TournamentMode ) + { + if( %client.camera.mode $= "observerFly" || %client.camera.mode $= "justJoined" || + %client.camera.mode $= "followFlag" || %client.camera.mode $= "observerFollow" ) + { + %observer = true; + %client.observerStartTime = getSimTime(); + commandToClient(%client, 'setHudMode', 'Observer'); + %client.setControlObject( %client.camera ); + } + + if( (%client.team <= 0 || %client.team $= "") && getActiveCount() < (6 * 2) ) + { + %observer = false; + %game.assignClientTeam(%client, 0); + %game.spawnPlayer(%client, 0); + } + + if( %observer ) + { + if( %client.tr2SpecMode == 1 ) + { + if( $TheFlag.carrier $= "" ) + Game.observeObject(%client, $TheFlag, 2); + else + Game.observeObject(%client, $TheFlag.carrier.client, 1); + } + else + %client.camera.getDataBlock().setMode( %client.camera, "ObserverFly" ); + } + } + else + { + // set all players into obs mode. setting the control object will handle further procedures... + if( %client.tr2SpecMode == 1 ) + { + if( $TheFlag.carrier $= "" ) + Game.observeObject(%client, $TheFlag, 2); + else + Game.observeObject(%client, $TheFlag.carrier.client, 1); + } + else + %client.camera.getDataBlock().setMode( %client.camera, "ObserverFly" ); + %client.setControlObject( %client.camera ); + messageAll( 'MsgClientJoinTeam', "",%client.name, $teamName[0], %client, 0 ); + %client.team = 0; + + if( !$MatchStarted && !$CountdownStarted) + { + if($TeamDamage) + %damMess = "ENABLED"; + else + %damMess = "DISABLED"; + + if( %game.numTeams > 1 && %client.lastTeam != 0 && %client.lastTeam !$= "" ) + BottomPrint(%client, "Server is Running in Tournament Mode.\nPick a Team\nTeam Damage is " @ %damMess, 0, 3 ); + } + else + { + BottomPrint( %client, "\nServer is Running in Tournament Mode", 0, 3 ); + } + } + + //make sure the objective HUD indicates your team on top and in green... + if (%client.team > 0) + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); + + // were ready to go. + %client.matchStartReady = true; + echo("TR2: Client" SPC %client SPC "is ready."); + + if ( isDemo() ) + { + if ( %client.demoJustJoined ) + { + %client.demoJustJoined = false; + centerPrint( %client, "Welcome to the Tribes 2 Demo." NL "You have been assigned the name \"" @ %client.nameBase @ "\"." NL "Press FIRE to join the game.", 0, 3 ); + } + } +} +function TR2Game::resetScore(%game, %client) +{ + %client.kills = 0; + %client.deaths = 0; + %client.suicides = 0; + %client.score = 0; + %client.midairDiscs = 0; + %client.kidneyThiefSteals = 0; + %client.goals = 0; + %client.assists = 0; + %client.saves = 0; + %client.hareHelpers = 0; + %client.receivingScore = 0; + %client.passingScore = 0; + %client.interceptingScore = 0; + %client.fcHits = 0; + + // Set outermost role + %game.assignOutermostRole(%client); + + for (%i=o; %i<$TR2::numRoles; %i++) + { + %role = $TR2::role[%i]; + %client.roleChangeTicks[%role] = 0; + } + // etc... +} + +function TR2Game::boundaryLoseFlag(%game, %player) +{ + // this is called when a player goes out of the mission area while holding + // the enemy flag. - make sure the player is still out of bounds + if (!%player.client.outOfBounds || !isObject(%player.holdingFlag)) + return; + + %client = %player.client; + %flag = %player.holdingFlag; + %flag.setVelocity("0 0 0"); + %flag.setTransform(%player.getWorldBoxCenter()); + %flag.setCollisionTimeout(%player); + + %game.playerDroppedFlag(%player); + + // now for the tricky part -- throwing the flag back into the mission area + // let's try throwing it back towards its "home" + %home = %flag.originalPosition; + %vecx = firstWord(%home) - firstWord(%player.getWorldBoxCenter()); + %vecy = getWord(%home, 1) - getWord(%player.getWorldBoxCenter(), 1); + %vecz = getWord(%home, 2) - getWord(%player.getWorldBoxCenter(), 2); + %vec = %vecx SPC %vecy SPC %vecz; + + // normalize the vector, scale it, and add an extra "upwards" component + %vecNorm = VectorNormalize(%vec); + %vec = VectorScale(%vecNorm, 1500); + %vec = vectorAdd(%vec, "0 0 500"); + + // apply the impulse to the flag object + %flag.applyImpulse(%player.getWorldBoxCenter(), %vec); + + //don't forget to send the message + messageClient(%player.client, 'MsgTR2FlagDropped', '\c1You have left the mission area and lost the flag.~wfx/misc/flag_drop.wav', 0, 0, %player.holdingFlag.team); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") lost flag (out of bounds)"); +} + +function TR2Game::dropFlag(%game, %player) +{ + if(%player.holdingFlag > 0) + { + if (!%player.client.outOfBounds) + %player.throwObject(%player.holdingFlag); + else + %game.boundaryLoseFlag(%player); + } +} + +function TR2Game::applyConcussion(%game, %player) +{ + %game.dropFlag( %player ); +} + + +function TR2Game::testKill(%game, %victimID, %killerID) +{ + return ((%killerID !=0) && (%victimID.team != %killerID.team)); +} + +function TR2Game::equip(%game, %player) +{ + %cl = %player.client; + for(%i =0; %i<$InventoryHudCount; %i++) + %cl.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %cl.clearBackpackIcon(); + + //%player.setArmor("Light"); + %player.setInventory(RepairKit,1); + %player.setInventory(TR2Disc,1); + %player.setInventory(TR2GrenadeLauncher,1); + %player.setInventory(TR2Chaingun, 1); + %player.weaponCount = 3; + + if (%cl.restockAmmo) + { + %player.setInventory(TR2ChaingunAmmo, 100); + %player.setInventory(TR2DiscAmmo, 15); + %player.setInventory(TR2GrenadeLauncherAmmo, 10); + %player.setInventory(Beacon, 3); + %player.setInventory(TR2Grenade,5); + } + else + %game.restockRememberedAmmo(%cl); + + %player.setInventory(TR2EnergyPack, 1); + + %targetingLaser = (%player.team == 1) ? TR2GoldTargetingLaser : TR2SilverTargetingLaser; + %player.setInventory(%targetingLaser, 1); + + %player.use("TR2Disc"); +} + +function TR2Game::playerSpawned(%game, %player) +{ + if( %player.client.respawnTimer) + cancel(%player.client.respawnTimer); + + %player.client.observerStartTime = ""; + %game.equip(%player); + + %player.client.spawnTime = getSimTime(); +} + +function TR2Game::rememberAmmo(%game, %client) +{ + %pl = %client.player; + %client.lastChaingunAmmo = %pl.invTR2ChaingunAmmo; + %client.lastDiscAmmo = %pl.invTR2DiscAmmo; + %client.lastGrenadeLauncherAmmo = %pl.invTR2GrenadeLauncherAmmo; + %client.lastGrenades = %pl.invTR2Grenade; + %client.lastBeacons = %pl.invBeacon; + + // Remember role items + for (%i=0; %i<$TR2::roleNumExtraItems[%client.currentRole]; %i++) + %client.lastRoleItemCount[%i] = %pl.extraRoleItemCount[%i]; +} + +function TR2Game::restockRememberedAmmo(%game, %client) +{ + %player = %client.player; + %player.setInventory(TR2ChaingunAmmo, %client.lastChaingunAmmo); + %player.setInventory(TR2DiscAmmo, %client.lastDiscAmmo); + %player.setInventory(TR2GrenadeLauncherAmmo, %client.lastGrenadeLauncherAmmo); + %player.setInventory(TR2Grenade,%client.lastGrenades); + %player.setInventory(Beacon, %client.lastBeacons); + + %game.equipRoleWeapons(%player.client); +} + +function TR2Game::penalty(%game, %player, %text, %amount) +{ + $teamScore[%player.team] -= %amount; + messageAll('MsgTR2SetScore', "", %player.team, $teamScore[%player.team]); + messageAll('MsgTR2Penalty', "\c3-" @ %amount SPC "\c1PENALTY: " @ %text @ " \c0(" @ getTaggedString(%player.client.name) @ ")~wfx/misc/whistle.wav"); +} + +function TR2Game::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation) +{ + //echo ("CLIENT KILLED (" @ %clVictim @ ")"); + %plVictim = %clVictim.player; + %plKiller = %clKiller.player; + %clVictim.plyrPointOfDeath = %plVictim.position; + %clVictim.plyrDiedHoldingFlag = %plVictim.holdingFlag; + %clVictim.waitRespawn = 1; + + cancel( %plVictim.reCloak ); + cancel(%clVictim.respawnTimer); + %clVictim.respawnTimer = %game.schedule(($Host::PlayerRespawnTimeout * 1000), "forceObserver", %clVictim, "spawnTimeout" ); + + // reset the alarm for out of bounds + if(%clVictim.outOfBounds) + messageClient(%clVictim, 'EnterMissionArea', ""); + + // TR2: Get rid of suicide delay + if (%damageType == $DamageType::suicide) + %respawnDelay = 2; + else + %respawnDelay = 2; + + // TR2: Teamkill penalty + if (%plVictim != %plKiller && %plVictim.team == %plKiller.team) + { + if (%plKiller.gogoKill) + %plKiller.gogoKill = false; + else + %game.schedule(1000, "penalty", %plKiller, "Friendly knockdown", $TR2::FriendlyKnockdownPenalty); + } + // TR2: Handle flag carrier kills + // Bonus evaluation + if (%plVictim == $TheFlag.carrier) + { + $TheFlag.dropperKilled = true; + + // Reset the bonus pot + //Game.currentBonus = 0; + //Game.updateCurrentBonusAmount(0, -1); + + if(%plVictim.team != %plKiller.team && %clKiller != 0) + WeaponBonus.evaluate(%plKiller, %plVictim, %damageType); + } + + %game.schedule(%respawnDelay*1000, "clearWaitRespawn", %clVictim); + // if victim had an undetonated satchel charge pack, get rid of it + if(%plVictim.thrownChargeId != 0) + if(!%plVictim.thrownChargeId.kaboom) + %plVictim.thrownChargeId.delete(); + + //if(%plVictim.inStation) + // commandToClient(%plVictim.client,'setStationKeys', false); + %clVictim.camera.mode = "playerDeath"; + + // reset who triggered this station and cancel outstanding armor switch thread + //if(%plVictim.station) + //{ + // %plVictim.station.triggeredBy = ""; + // %plVictim.station.getDataBlock().stationTriggered(%plVictim.station,0); + // if(%plVictim.armorSwitchSchedule) + // cancel(%plVictim.armorSwitchSchedule); + //} + + //%clVictim.inSpawnBuilding = false; + + if (!$TR2::DisableDeath) + %plVictim.inSpawnBuilding = true; + + if (%damageType == $DamageType::Suicide) + { + %clVictim.player.delayRoleChangeTime = 0; + %game.assignOutermostRole(%clVictim); + %clVictim.lastDeathSuicide = true; + %clVictim.suicideRespawnTime = getSimTime() + 1000; + %clVictim.forceRespawn = true; + %clVictim.inSpawnBuilding = true; + //%game.trySetRole(%plVictim, Offense); + } + + else if (%damageType == $DamageType::Lava) + { + %clVictim.forceRespawn = true; + %clVictim.inSpawnBuilding = true; + } + + // TR2: disable death + else if ($TR2::DisableDeath && !%clVictim.forceRespawn) + { + %clVictim.plyrTransformAtDeath = %plVictim.getTransform(); + %clVictim.knockedDown = true; + %clVictim.knockDownTime = getSimTime(); + %game.rememberAmmo(%clVictim); + + // Track body thread + // Delay this slightly so that the body's speed is guaranteed + // to be greater than 0 + %game.schedule($TR2::KnockdownTimeSlice, "trackKnockDown", %plVictim); + } + + //Close huds if player dies... + messageClient(%clVictim, 'CloseHud', "", 'inventoryScreen'); + messageClient(%clVictim, 'CloseHud', "", 'vehicleHud'); + commandToClient(%clVictim, 'setHudMode', 'Standard', "", 0); + + // $weaponslot from item.cs + %plVictim.setRepairRate(0); + %plVictim.setImageTrigger($WeaponSlot, false); + + playDeathAnimation(%plVictim, %damageLocation, %damageType); + playDeathCry(%plVictim); + + %victimName = %clVictim.name; + + // TR2: Force generic message for suicide-by-weapon + if ($TR2::DisableDeath && %clVictim == %clKiller) + %damageType = $DamageType::suicide; + + %game.displayDeathMessages(%clVictim, %clKiller, %damageType, %implement); + //%game.updateKillScores(%clVictim, %clKiller, %damageType, %implement); + + // toss whatever is being carried, '$flagslot' from item.cs + // MES - had to move this to after death message display because of Rabbit game type + // TR2: Only throw all items if death is enabled + //if (!$TR2::DisableDeath || %clVictim.forceRespawn) + //{ + // for(%index = 0 ; %index < 8; %index++) + // { + // %image = %plVictim.getMountedImage(%index); + // if(%image) + // { + // if(%index == $FlagSlot) + // %plVictim.throwObject(%plVictim.holdingFlag); + // else + // %plVictim.throw(%image.item); + // } + // } + //} + // TR2: Otherwise just throw the flag if applicable + //else + if(%plVictim == $TheFlag.carrier) + %plVictim.throwObject(%plVictim.holdingFlag); + + // target manager update + setTargetDataBlock(%clVictim.target, 0); + setTargetSensorData(%clVictim.target, 0); + + // clear the hud + %clVictim.SetWeaponsHudClearAll(); + %clVictim.SetInventoryHudClearAll(); + %clVictim.setAmmoHudCount(-1); + + // clear out weapons, inventory and pack huds + messageClient(%clVictim, 'msgDeploySensorOff', ""); //make sure the deploy hud gets shut off + messageClient(%clVictim, 'msgPackIconOff', ""); // clear the pack icon + + //clear the deployable HUD + %plVictim.client.deployPack = false; + cancel(%plVictim.deployCheckThread); + deactivateDeploySensor(%plVictim); + + //if the killer was an AI... + //if (isObject(%clKiller) && %clKiller.isAIControlled()) + // %game.onAIKilledClient(%clVictim, %clKiller, %damageType, %implement); + + + // reset control object on this player: also sets 'playgui' as content + serverCmdResetControlObject(%clVictim); + + // set control object to the camera + %clVictim.player = 0; + %transform = %plVictim.getTransform(); + + //note, AI's don't have a camera... + if (isObject(%clVictim.camera)) + { + %clVictim.camera.setTransform(%transform); + %obsx = getWord($TR2_playerObserveParameters, 0); + %obsy = getWord($TR2_playerObserveParameters, 1); + %obsz = getWord($TR2_playerObserveParameters, 2); + %clVictim.camera.setOrbitMode(%plVictim, %plVictim.getTransform(), %obsx, %obsy, %obsz); + //%clVictim.camera.setOrbitMode(%plVictim, %plVictim.getTransform(), 0.5, 4.5, 4.5); + %clVictim.setControlObject(%clVictim.camera); + } + + //hook in the AI specific code for when a client dies + //if (%clVictim.isAIControlled()) + //{ + // aiReleaseHumanControl(%clVictim.controlByHuman, %clVictim); + // %game.onAIKilled(%clVictim, %clKiller, %damageType, %implement); + //} + //else + // aiReleaseHumanControl(%clVictim, %clVictim.controlAI); + + //used to track corpses so the AI can get ammo, etc... + //AICorpseAdded(%plVictim); + + //if the death was a suicide, prevent respawning for 5 seconds... + %clVictim.lastDeathSuicide = false; +} + +function TR2Game::trackKnockDown(%this, %player) +{ + %client = %player.client; + %speed = %player.getSpeed(); + %time = getSimTime(); + + //echo(" (" @ %client @ ") Knockdown tracking"); + + if (%speed <= 0.1 && !%player.inCannon) + { + cancel(%client.knockDownThread); + + // Wait a bit longer + %client.suicideRespawnTime = %time + $TR2::delayAfterKnockdown; + + // Ensure the wait was at least a certain length of time + if (%client.suicideRespawnTime - %client.knockDownTime < $TR2::MinimumKnockdownDelay) + %client.suicideRespawnTime = %time + $TR2::MinimumKnockdownDelay; + + // Make the player spawn at his corpse's resting location + %client.plyrTransformAtDeath = %player.getTransform(); + + // Hmm...hack this to delete the corpse when the player presses the + // trigger (used in TR2Game::onObserverTrigger() + %client.playerToDelete = %player; + } + else if (%time - %client.knockDownTime > $TR2::MaximumKnockdownDelay) + { + cancel(%client.knockDownThread); + %this.forceRespawn(%client); + } + else + { + %client.suicideRespawnTime = %time + $TR2::knockdownTimeSlice; + %client.knockDownThread = %this.schedule($TR2::knockdownTimeSlice, "trackKnockDown", %player); + } +} + +function TR2Game::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement) +{ + %victimGender = (%clVictim.sex $= "Male" ? 'him' : 'her'); + %victimPoss = (%clVictim.sex $= "Male" ? 'his' : 'her'); + %killerGender = (%clKiller.sex $= "Male" ? 'him' : 'her'); + %killerPoss = (%clKiller.sex $= "Male" ? 'his' : 'her'); + %victimName = %clVictim.name; + %killerName = %clKiller.name; + //error("DamageType = " @ %damageType @ ", implement = " @ %implement @ ", implement class = " @ %implement.getClassName() @ ", is controlled = " @ %implement.getControllingClient()); + + if(%damageType == $DamageType::TouchedOwnGoal) + { + messageAll('msgTouchedOwnGoal', '\c0%1 respawns for touching %3 own goal.', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by own goal."); + } + else if(%damageType == $DamageType::Grid) + { + %message = $TR2::DisableDeath ? + '\c0%1 was knocked down by the Grid.' : + '\c0%1 was killed by the Grid.'; + messageAll('msgGrid', %message, %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by Grid."); + } + else if(%damageType == $DamageType::OOB) + { + %message = '\c0%1 was thrown outside the Grid.'; + messageAll('msgGrid', %message, %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed for OOB."); + } + else if(%damageType == $DamageType::respawnAfterScoring) + { + //messageClient(%clVictim, 'msgRespawnAfterScoring', '\c0Your team scored! Forcing respawn...', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") forced to respawn."); + } + else if(%damageType == $DamageType::Suicide) + { + %message = $TR2::DisableDeath ? + '\c1%1 knocks %2self out.' : + '\c1%1 is respawning...'; + messageAll('msgSuicide', %message, %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") is respawning."); + } + else if(%damageType == $DamageType::HotPotato) + { + // Could display a newbie message here + messageAll('msgHotPotato', '\c1%1 held onto the flag for too long!', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by hot potato."); + } + else if(%damageType == $DamageType::G4) + { + } + else if ($TR2::DisableDeath && %damageType != $DamageType::Ground && %damageType != $DamageType::Lava + && %clVictim.team != %clKiller.team) + + { + messageAll('msgTR2Knockdown', '\c0%4 knocks down %1.', %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType); + //logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") knocked down by " @c%clKiller.nameBase); + } + else + DefaultGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement); +} + +function TR2Game::createPlayer(%game, %client, %spawnLoc, %respawn) +{ + // do not allow a new player if there is one (not destroyed) on this client + if(isObject(%client.player) && (%client.player.getState() !$= "Dead")) + return; + + if (%client $= "" || %client <= 0) + { + error("Invalid client sent to createPlayer()"); + return; + } + + // clients and cameras can exist in team 0, but players should not + if(%client.team == 0) + error("Players should not be added to team0!"); + + // defaultplayerarmor is in 'players.cs' + if(%spawnLoc == -1) + %spawnLoc = "0 0 300 1 0 0 0"; + //else + // echo("Spawning player at " @ %spawnLoc); + + %armorType = $TR2::roleArmor[%client.currentRole]; + if (%armorType $= "") + %armorType = $DefaultPlayerArmor; + + // copied from player.cs + if (%client.race $= "Bioderm") + // No Bioderms. + %armor = "TR2" @ %armorType @ "Male" @ "Human" @ Armor; + else + %armor = "TR2" @ %armorType @ %client.sex @ %client.race @ Armor; + + %client.armor = %armor; + + // TR2 + %client.enableZones = false; + + %player = new Player() { + //dataBlock = $DefaultPlayerArmor; + //scale = "2 2 2"; + // TR2 + dataBlock = %armor; + }; + + if (%player == 0) + { + error("Unable to create new player in createPlayer()"); + return; + } + + %client.enableZones = true; + + if(%respawn) + { + %player.setInvincible(true); + //%player.setCloaked(true); + %player.setInvincibleMode($InvincibleTime,0.02); + //%player.respawnCloakThread = %player.schedule($InvincibleTime * 1000, "setRespawnCloakOff"); + %player.schedule($InvincibleTime * 1000, "setInvincible", false); + } + + %player.setTransform( %spawnLoc ); + MissionCleanup.add(%player); + + // setup some info + %player.setOwnerClient(%client); + %player.team = %client.team; + %client.outOfBounds = false; + %player.setEnergyLevel(60); + %client.player = %player; + %client.plyrDiedHoldingFlag = false; + + // TR2 + if (%client.knockedDown) + %client.restockAmmo = false; + else + %client.restockAmmo = true; + + %client.knockedDown = false; + %client.playerToDelete = ""; + %client.forceRespawn = false; + %player.inCannon = false; + + + + // updates client's target info for this player + %player.setTarget(%client.target); + setTargetDataBlock(%client.target, %player.getDatablock()); + setTargetSensorData(%client.target, PlayerSensor); + setTargetSensorGroup(%client.target, %client.team); + %client.setSensorGroup(%client.team); + + //make sure the player has been added to the team rank array... + %game.populateTeamRankArray(%client); + + %game.playerSpawned(%client.player); +} + +function TR2Game::enableZones(%this, %client) +{ + %client.enableZones = true; +} + +function TR2Game::forceRespawn(%this, %client) +{ + %player = %client.getControlObject(); + %client.suicideRespawnTime = 0; + %client.knockedDown = false; + %client.inSpawnBuilding = true; + %client.forceRespawn = true; + if (%player.mode $= "playerDeath") + %this.ObserverOnTrigger(%player, %player, 1, 1); + else + %player.scriptKill($DamageType::RespawnAfterScoring); +} + +function TR2Game::forceTeamRespawn(%this, %team) +{ + // If DisableDeath is active, temporarily ignore it + //%disableDeath = $TR2::DisableDeath; + + //$TR2::DisableDeath = false; + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %client = ClientGroup.getObject(%i); + if (%client.team == %team) + Game.forceRespawn(%client); + } +} + +function TR2Game::pickPlayerSpawn(%game, %client, %respawn) +{ + if (%client.knockedDown && !%client.forceRespawn) + return %client.plyrTransformAtDeath; + else + return Parent::pickPlayerSpawn(%game, %client, %respawn); +} + +datablock AudioProfile(GridjumpSound) +{ + volume = 1.0; + filename = "fx/misc/gridjump.wav"; + description = AudioClose3d; + preload = true; +}; + +function TR2Game::leaveMissionArea(%game, %playerData, %player) +{ + if (%player.client.outOfBounds) + { + %player.client.forceRespawn = true; + return; + } + + if (%player.client.inSpawnBuilding) + return; + //%player.client.inSpawnBuilding = false; + + // Cancel the delayed oob check in case this is a second gridjump + //cancel(%player.checkOOBthread); + //%player.checkOOBthread = ""; + + if (%player.client.forceRespawn) + return; + + %alreadyDead = (%player.getState() $= "Dead"); + + %oldVel = %player.getVelocity(); + %player.client.outOfBounds = true; + +// //messageClient(%player.client, 'LeaveMissionArea', '\c1You left the mission area.~wfx/misc/warning_beep.wav'); + + %player.bounceOffGrid(85); + + // Gridjump effect + %newEmitter = new ParticleEmissionDummy(GridjumpEffect) { + position = %player.getTransform(); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "GridjumpEmitter"; + velocity = "1"; + }; + //echo("EMITTER = " @ %newEmitter); + %newEmitter.schedule(%newEmitter.emitter.lifetimeMS, "delete"); + + %player.playAudio(0, GridjumpSound); + + if (!%alreadyDead) + { + %player.setDamageFlash(0.75); + %player.applyDamage(0.12); + if(%player.getState() $= "Dead") + Game.onClientKilled(%player.client, 0, $DamageType::Grid); + } + + // If the player is going too fast, blow him up + //if (%player.getSpeed() > $TR2_MaximumGridSpeed) + //{ + // %player.client.forceRespawn = true; + // if(!%alreadyDead) + // { + // cancel(%player.checkOOBthread); + // %player.applyDamage(1); + // //%player.blowup(); + // Game.onClientKilled(%player.client, 0, $DamageType::Grid); + // } + + // return; + //} + + // Double-check that the player didn't squeeze out + if (!%player.client.forceRespawn) + %player.checkOOBthread = %game.schedule(1000, "doubleCheckOOB", %player); +} + +function TR2Game::doubleCheckOOB(%this, %player) +{ + if (%player.client.outOfBounds && !%player.client.forceRespawn) + { + %player.client.forceRespawn = true; + if (%player.getState() !$= "Dead") + { + %player.applyDamage(1); + %player.client.inSpawnBuilding = true; + //%player.blowup(); + Game.onClientKilled(%player.client, 0, $DamageType::OOB); + } + } +} + +function TR2Game::enterMissionArea(%game, %playerData, %player) +{ +// if(%player.getState() $= "Dead") +// return; + + %player.client.outOfBounds = false; + + // TR2: Should probably find a better place for this + if (!%player.client.forceRespawn) + %player.client.inSpawnBuilding = false; + //messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); +} + + +//---------------------------------------------------------------------------- +// TR2Flag: +//---------------------------------------------------------------------------- +datablock ShapeBaseImageData(TR2FlagImage) +{ + shapeFile = $TR2::ThrownObject; + item = Flag; + mountPoint = 2; + offset = "0 0 0.1"; + + lightType = "PulsingLight"; + lightColor = "0.9 0.0 0.0 1.0"; + lightTime = "500"; + lightRadius = "18"; +}; + +// 1: red +// 2: blue +// 4: yellow +// 8: green +datablock ItemData(TR2Flag1) +{ + // Observer stuff + cameraDefaultFov = 90; + cameraMaxDist = 20; + cameraMaxFov = 120; + cameraMinDist = 5; + cameraMinFov = 5; + canControl = false; + canObserve = true; + + className = TR2Flag; + + shapefile = $TR2::ThrownObject; + mass = $TR2_FlagMass; + density = $TR2_FlagDensity; + elasticity = $TR2_FlagElasticity; + friction = $TR2_FlagFriction; + drag = 0.08;//0.2; // + maxdrag = 0.25;//0.4; + rotate = true; + + // These don't seem to have any effect + //pickupRadius = 10; + + isInvincible = true; + pickUpName = "a flag"; + computeCRC = true; + + lightType = "PulsingLight"; + lightColor = "0.9 0.2 0.2 1.0"; + lightTime = "250"; + lightRadius = "18"; + + category = "Objectives"; + cmdCategory = "Objectives"; + cmdIcon = CMDFlagIcon; + cmdMiniIconName = "commander/MiniIcons/com_flag_grey"; + targetTypeTag = 'Flag'; + + hudImageNameFriendly[1] = "commander/MiniIcons/TR2com_flag_grey"; + hudIMageNameEnemy[1] = "commander/MiniIcons/TR2com_flag_grey"; + hudRenderModulated[1] = true; + hudRenderAlways[1] = true; + hudRenderCenter[1] = true; + hudRenderDistance[1] = true; + hudRenderName[1] = false; + +// catagory = "Objectives"; +// shapefile = "flag.dts"; +// mass = 55; +// elasticity = 0.2; +// friction = 0.6; +// pickupRadius = 3; +// pickUpName = "a flag"; +// computeCRC = true; +// +// lightType = "PulsingLight"; +// lightColor = "0.5 0.5 0.5 1.0"; +// lightTime = "1000"; +// lightRadius = "3"; +// +// isInvincible = true; +// cmdCategory = "Objectives"; +// cmdIcon = CMDFlagIcon; +// cmdMiniIconName = "commander/MiniIcons/com_flag_grey"; +// targetTypeTag = 'Flag'; +}; + +datablock ItemData(TR2Flag2) : TR2Flag1 +{ + lightColor = "0.1 0.1 0.9 1.0"; + className = TR2FlagFake; + lightTime = "100"; + lightRadius = "5"; +}; + +datablock ItemData(TR2Flag4) : TR2Flag2 +{ + lightColor = "0.9 0.9 0.1 1.0"; +}; + +datablock ItemData(TR2Flag8) : TR2Flag2 +{ + lightColor = "0.1 0.9 0.1 1.0"; +}; + +// Used as an Audio object +datablock ItemData(TR2FlagTiny) : TR2Flag2 +{ + lightColor = "0.1 0.9 0.1 1.0"; + scale = "0.0001 0.0001 0.0001"; +}; + +function TR2Flag::onRemove(%data, %obj) +{ + // dont want target removed... +} + +function AddTR2FlagSmoke(%obj) +{ + // Sneak in an oob check + // TO-DO: Create a general post-throw flag thread + if (%obj.isOutOfBounds()) + if (%obj.getSpeed() < $TR2_MaximumGridSpeed) + %obj.bounceOffGrid(3); + else + Game.flagReturn(%obj, %obj.dropper); + + %scale = VectorLen(%obj.getVelocity()); + + if( %scale >= $TR2::MinSpeedForFlagSmoke || (%obj.getHeight() > 7 && !%obj.isHome && !%obj.onGoal) ) + { + %delay = 100 - %scale; + %x = getWord(%obj.position, 0); + %y = getWord(%obj.position, 1); + %z = getWord(%obj.position, 2) + 1.4; + + if( Game.TR2FlagSmoke < 20 ) + Game.TR2FlagSmoke++; + else + Game.TR2FlagSmoke = 0; + + if( isObject(Game.dropSmoke[Game.TR2FlagSmoke]) ) + { + Game.dropSmoke[Game.TR2FlagSmoke].delete(); + Game.dropSmoke[Game.TR2FlagSmoke] = ""; + } + + Game.dropSmoke[Game.TR2FlagSmoke] = new ParticleEmissionDummy() + { + //position = getWord(%client.player.position, 0) SPC getWord(%client.player.position, 1) SPC getWord(%client.player.position, 2) + 3; + position = %x SPC %y SPC %z; + rotation = "0 0 0 0"; + scale = "1 1 1"; + dataBlock = defaultEmissionDummy; + emitter = TR2FlagEmitter; + velocity = "1"; + }; + MissionCleanup.add(Game.dropSmoke[Game.TR2FlagSmoke]); + + Game.dropSmoke[Game.TR2FlagSmoke].schedule(1000, "delete"); + + Game.addFlagTrail = schedule($TR2::FlagSmokeTimeSlice, 0, "AddTR2FlagSmoke", %obj); + } + else + Game.TR2FlagSmoke = 0; +} + +function aodebug() +{ + for( %i = 0; %i <= 20; %i++ ) + { + %status = isObject(Game.dropSmoke[%i]) ? "exists" : "does NOT exist"; + echo( "*** Flag smoke " @ %i @ " " @ %status ); + } +} + +function TR2Flag::onThrow(%data,%obj,%src) +{ + Game.playerDroppedFlag(%src); + AddTR2FlagSmoke(%obj); +} + +function TR2Flag::onCollision(%data,%obj,%col) +{ + if (%col.getDataBlock().className $= Armor) + { + if (%col.isMounted()) + return; + + cancel(Game.addFlagTrail); + + // a player hit the flag + Game.playerTouchFlag(%col, %obj); + } + else if (%obj.onGoal || %obj.getSpeed() <= 0.1) + return; + + else if (%col.getDataBlock().className $= Goal) + { + Game.goalCollision(%obj, %col); + } + else if (%col.getDataBlock().className $= GoalPost || + %col.getDataBlock().className $= GoalCrossbar) + { + // Play some noise. =) + serverPlay2D(CrowdDisappointment1Sound); + } + +} + +function TR2Flag::objectiveInit(%this, %flag) +{ + if (!%flag.isTeamSkinned) + { + %pos = %flag.getTransform(); + %group = %flag.getGroup(); + } + %flag.originalPosition = %flag.getTransform(); + $flagPos[%flag.team] = %flag.originalPosition; + %flag.isHome = true; + %flag.carrier = ""; + %flag.grabber = ""; + //setTargetSkin(%flag.getTarget(), TR2Game::getTeamSkin(TR2Game, %flag.team)); + + // TR2: Make it red to everyone + setTargetSensorGroup(%flag.getTarget(), 3); + + setTargetAlwaysVisMask(%flag.getTarget(), 0x7); + setTargetRenderMask(%flag.getTarget(), getTargetRenderMask(%flag.getTarget()) | 0x2); + %flag.scopeWhenSensorVisible(true); + $flagStatus[%flag.team] = ""; + + // set the nametag on the target + //setTargetName(%flag.getTarget(), TR2Game::getTeamName(TR2Game, %flag.team)); + + // create a marker on this guy + %flag.waypoint = new MissionMarker() { + position = %flag.getTransform(); + dataBlock = "FlagMarker"; + }; + MissionCleanup.add(%flag.waypoint); + + // create a target for this (there is no MissionMarker::onAdd script call) + //%target = createTarget(%flag.waypoint, TR2Game::getTeamName( TR2Game, %flag.team), "", "", 'Base', %flag.team, 0); + //setTargetAlwaysVisMask(%target, 0xffffffff); + + //store the flag in an array + $TeamFlag[%flag.team] = %flag; + + // KP: Make our lives easier + $TheFlag = %flag; + $TheFlag.oneTimer = 0; + //setTargetRenderMask($TheFlag, getTargetRenderMask($TheFlag) | 0x4); + + $AIRabbitFlag = %flag; + + // TR2 + %flag.lastKTS = 0; + %flag.dropper = ""; + %flag.dropTime = 0; + %flag.lastMario = 0; + %flag.oneTimerCount = 0; + %flag.oneTimer = 0; +} + +function TR2Flag::resetOneTimerCount(%flag) +{ + %flag.oneTimerCount = 0; +} + +function TR2Flag1::onEnterLiquid(%data, %obj, %coverage, %type) +{ + if(%type > 3) // 1-3 are water, 4+ is lava and quicksand(?) + { + // //error("flag("@%obj@") is in liquid type" SPC %type); + game.schedule(3000, flagReturn, %obj); + } + %obj.inLiquid = true; + //$FlagReturnTimer[%obj] = Game.schedule(Game.FLAG_RETURN_DELAY - Game.fadeTimeMS + 2000, "flagReturnFade", %obj); + + + // Reset the drop time (for hangtime calculations) + %obj.dropTime = getSimTime(); +} + +function TR2Flag1::onLeaveLiquid(%data, %obj, %type) +{ + %obj.inLiquid = false; + //cancel($FlagReturnTimer[%obj]); +} + +function TR2Game::emitFlags(%game, %position, %count, %player, %ttl) // %obj = whatever object is being used as a focus for the flag spew + // %count = number of flags to spew +{ + if( %position $= "" ) + { + error("No position passed!"); + return 0; + } + if( %count <= 0 ) + { + error("Number of flags to spew must be greater than 0!"); + return 0; + } + + %flagArr[0] = TR2Flag8; + %flagArr[1] = TR2Flag2; + %flagArr[2] = TR2Flag4; + + while( %count > 0 ) + { + %index = mFloor(getRandom() * 3); + // throwDummyFlag(location, Datablock); + throwDummyFlag(%position, %flagArr[%index], %player, %ttl); + %count--; + } +} + +function throwDummyFlag(%position, %datablock, %player, %ttl) +{ + %client = %player.client; + + // create a flag and throw it + %droppedflag = new Item() { + position = %position; + rotation = "0 0 1 " @ (getRandom() * 360); + scale = "1 1 1"; + dataBlock = %datablock; + collideable = "0"; + static = "0"; + rotate = "1"; + team = "0"; + isFake = 1; + }; + MissionCleanup.add(%droppedflag); + + %vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom(); + %vec = VectorScale(%vec, 1000 + (getRandom() * 300)); + + // Add player's velocity + if (%player !$= "") + { + %droppedflag.setCollisionTimeout(%player); + %vec = vectorAdd(%vec, %player.getVelocity()); + } + + %droppedflag.applyImpulse(%pos, %vec); + + %deleteTime = (%ttl $= "") ? $TR2::CrazyFlagLifetime : %ttl; + %droppedFlag.die = schedule(%deleteTime, 0, "removeFlag", %droppedflag); +} + +function removeFlag(%flag) +{ + %flag.startFade(600, 0, true); + %flag.schedule(601, "delete"); +} + +function TR2FlagFake::onCollision(%data,%obj,%col) +{ + if (%obj.dying) + return; + + cancel(%obj.die); + %obj.startFade(400, 0, true); + %obj.dying = true; + %obj.schedule(401, "delete"); + + // Message player and award bonus point here + messageClient(%col.client, 'MsgTR2CrazyFlag', '\c2Crazy flag! (+3)'); + serverPlay3D(CoinSound, %col.getPosition()); + Game.giveInstantBonus(%col.client.team, 3); +} + +function TR2Game::goalCollision(%this, %obj, %colObj) +{ + if (%obj != $TheFlag) + return; + + if (Game.currentBonus < $TR2::MinimumJackpot && !$TR2::PracticeMode) + { + messageAll('MsgTR2JackpotMinimum', "\c3NO GOAL: Jackpot must be at least " + @ $TR2::MinimumJackpot @".~wfx/misc/red_alert_short.wav"); + return; + } + + // Check goalie crease + %throwDist = VectorLen(VectorSub(%obj.dropperPosition, %colobj.getPosition())); + if (%throwDist < $TR2::roleDistanceFromGoal[Goalie] - 14) + { + messageAll('MsgTR2GoalieCrease', "\c3NO GOAL: Throw was inside the goalie crease." + @".~wfx/misc/red_alert_short.wav"); + return; + } + + if (!$TheFlag.onGoal) + { + // Award points + %scoringTeam = (%colObj.team == 1) ? 2 : 1; + + $teamScore[%scoringTeam] += Game.currentBonus; + $teamScoreJackpot[%scoringTeam] += Game.currentBonus; + Game.currentBonus = 0; + Game.updateCurrentBonusAmount(0, -1); + messageAll('MsgTR2SetScore', "", %scoringTeam, $teamScore[%scoringTeam]); + + + // Respawn the flag on top of the goal + %newFlagPosition = %colobj.position; + %newz = getWord(%newFlagPosition, 2) + 80; + %newFlagPosition = setWord(%newFlagPosition, 2, %newz); + %obj.setVelocity("0 0 0"); + %obj.setTransform(%newFlagPosition @ "0 0 0"); + %obj.onGoal = true; + cancel($FlagReturnTimer[%obj]); + + // Allow some time for taunting + if (!$TR2::PracticeMode) + { + //%obj.hide(true); + Game.goalJustScored = true; + %this.schedule($TR2::goalRespawnDelay*1000, "resetTheField", %scoringTeam); + } + + // Inform players + %this.schedule(750, "afterGoal", %scoringTeam); + + %scoreMessage = $TR2::PracticeMode ? + '\c3Goal! (Practice Mode enabled)~wfx/misc/goal.wav' : + '\c3Your team scored!~wfx/misc/goal.wav'; + + %otherMessage = $TR2::PracticeMode ? + '\c3Goal! (Practice Mode enabled)~wfx/misc/goal.wav' : + '\c3You allowed the other team to score.~wfx/misc/goal.wav'; + + %obsMessage = '\c3Goal!~wfx/misc/goal.wav'; + + messageTeam(%colObj.team, 'msgTR2TeamScored', %otherMessage); + messageTeam(%scoringTeam, 'msgTR2TeamScored', %scoreMessage); + messageTeam(0, 'msgTR2TeamScore', %obsMessage); + + messageTeam(%colObj.team, 'MsgTR2FlagStatus', "", "On your goal"); + messageTeam(%scoringTeam, 'MsgTR2FlagStatus', "", "On their goal"); + messageTeam(0, 'MsgTR2FlagStatus', "", "On goal"); + + // Schedule some delayed messages (only if they didn't score on themselves) + if (%obj.dropper.team == %scoringTeam) + { + %goalScorer = %obj.dropper; + if ($TheFlag.oneTimer) + { + $teamScore[%scoringTeam] += $TR2::OneTimerGoalBonus; + messageAll('MsgTR2SetScore', "", %scoringTeam, $teamScore[%scoringTeam]); + %message ="\c1 One-timer goal (+" + @ $TR2::OneTimerGoalBonus @ ") scored by \c3" + @ getTaggedString(%goalScorer.client.name) @ "~wfx/misc/target_waypoint.wav"; + } + else + %message ="\c1 Goal scored by \c3" + @ getTaggedString(%goalScorer.client.name) @ "~wfx/misc/target_waypoint.wav"; + + + schedule(4000, 0, "messageAll", 'MsgTR2GoalScorer', %message); + %goalScorer.client.goals++; + + %firstAssist = FlagBonusHistory.getRecentRecipient(1); + %secondAssist = FlagBonusHistory.getRecentRecipient(2); + + if (%firstAssist !$= "" && %firstAssist.client.name !$= "" && %firstAssist != %goalScorer && %firstAssist.team == %goalScorer.team) + { + schedule(5000, 0, "messageAll", 'MsgTR2GoalAssist', "\c1 Assisted by \c3" + @ getTaggedString(%firstAssist.client.name) @ "~wfx/misc/target_waypoint.wav"); + %firstAssist.client.assists++; + } + + if (%secondAssist !$= "" && %secondAssist.client.name !$= "" && %secondAssist != %firstAssist && %secondAssist != %goalScorer && %secondAssist.team == %goalScorer.team) + { + schedule(6000, 0, "messageAll", 'MsgTR2GoalScorer', "\c1 Assisted by \c3" + @ getTaggedString(%secondAssist.client.name) @ "~wfx/misc/target_waypoint.wav"); + %secondAssist.client.assists++; + } + } + Game.flagReset(%obj); + } +} + +function TR2Game::afterGoal(%this, %scoringTeam) +{ + serverPlay2d(CrowdCheer1Sound); + + if (!$TR2::PracticeMode) + messageAll('MsgTR2RespawnWarning', "Forcing respawn in " + @ $TR2::goalRespawnDelay @ " seconds."); + + %this.schedule(1000, "afterGoal1", %scoringTeam); +} + +function TR2Game::afterGoal1(%this, %scoringTeam) +{ + serverPlay2d(CrowdFlairSound); +} + +function TR2Game::resetTheField(%this, %team) +{ + Game.goalJustScored = false; + messageAll('MsgTR2ForcedRespawn', "Respawning..."); + + // Force both teams to respawn + Game.forceTeamRespawn(%team); + //$TheFlag.hide(false); +} + +function TR2Game::sendGameVoteMenu( %game, %client, %key ) +{ + if( (($Host::TournamentMode && !MatchStarted) || !$Host::TournamentMode) && !$TR2::SpecLock && %client.queueSlot !$= "" && %client.queueSlot <= ((6 * 2) - getActiveCount()) ) + { + messageClient( %client, 'MsgVoteItem', "", %key, 'tr2JoinGame', 'Join the game', 'Join the game' ); + } + + if( %client.isAdmin && $TheFlag.carrier $= "" && (getSimTime() - $TheFlag.dropTime) >= 30000 ) + { + messageClient( %client, 'MsgVoteItem', "", %key, 'tr2ForceFlagReturn', 'Force the flag to return', 'Force the flag to return' ); + } + + DefaultGame::sendGameVoteMenu( %game, %client, %key ); + + if( %client.isAdmin ) + { + //if ( $TR2::DisableDeath ) + // messageClient( %client, 'MsgVoteItem', "", %key, 'ToggleDisableDeath', 'Enable Death', 'Enable Death' ); + //else + // messageClient( %client, 'MsgVoteItem', "", %key, 'ToggleDisableDeath', 'Disable Death', 'Disable Death' ); + + if ( $TR2::PracticeMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'TogglePracticeMode', 'Disable Practice Mode', 'Disable Practice Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'TogglePracticeMode', 'Enable Practice Mode', 'Enable Practice Mode' ); + + if ( $TR2::EnableRoles ) + messageClient( %client, 'MsgVoteItem', "", %key, 'ToggleRoles', 'Disable Player Roles', 'Disable Player Roles' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'ToggleRoles', 'Enable Player Roles', 'Enable Player Roles' ); + + if ( $TR2::EnableCrowd ) + messageClient( %client, 'MsgVoteItem', "", %key, 'ToggleCrowd', 'Disable Crowd', 'Disable Crowd' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'ToggleCrowd', 'Enable Crowd', 'Enable Crowd' ); + if( $TR2::SpecLock ) + messageClient( %client, 'MsgVoteItem', "", %key, 'toggleSpecLock', 'Unlock Spectators', 'Unlock Spectators' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'toggleSpecLock', 'Lock Spectators', 'Lock Spectators' ); + + } + if( %client.team == 0 ) + { + if( %client.queueSlot !$= "" ) + messageClient( %client, 'MsgVoteItem', "", %key, 'getQueuePos', 'Get your queue status', 'Get your queue status' ); + + if( !%client.specOnly) + messageClient( %client, 'MsgVoteItem', "", %key, 'toggleSpecOnly', 'Lock myself as a spectator', 'Lock myself as a spectator' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'toggleSpecOnly', 'Enter the queue to join the game.', 'Enter the queue to join the game.' ); + + if( !%client.tr2SpecMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'toggleSpecMode', 'Lock onto Flag/Carrier', 'Lock onto Flag/Carrier' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'toggleSpecMode', 'Free-flight Observer Mode', 'Free-flight Observer Mode' ); + } +} + +function TR2Game::clientChangeTeam(%game, %client, %team, %fromObs) +{ + %time = getSimTime(); + if (%time - %client.lastTeamChangeTime <= $TR2::delayBetweenTeamChanges) + return; + + %client.lastTeamChangeTime = %time; + + // Get rid of the corpse after changing teams + %client.forceRespawn = true; + %client.inSpawnBuilding = true; + + // First set to outer role (just to be safe) + %game.assignOuterMostRole(%client); + + // Then release client's role + %game.releaseRole(%client); + + + if( %fromObs ) + removeFromQueue(%client); + + return Parent::clientChangeTeam(%game, %client, %team, %fromObs); +} + +function TR2Game::sendDebriefing( %game, %client ) +{ + if ( %game.numTeams == 1 ) + { + // Mission result: + %winner = $TeamRank[0, 0]; + if ( %winner.score > 0 ) + messageClient( %client, 'MsgDebriefResult', "", '%1 wins!', $TeamRank[0, 0].name ); + else + messageClient( %client, 'MsgDebriefResult', "", 'Nobody wins.' ); + + // Player scores: + %count = $TeamRank[0, count]; + messageClient( %client, 'MsgDebriefAddLine', "", 'PLAYERSCOREKILLS' ); + for ( %i = 0; %i < %count; %i++ ) + { + %cl = $TeamRank[0, %i]; + if ( %cl.score $= "" ) + %score = 0; + else + %score = %cl.score; + if ( %cl.kills $= "" ) + %kills = 0; + else + %kills = %cl.kills; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3', %cl.name, %score, %kills ); + } + } + else + { + %topScore = ""; + %topCount = 0; + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + if ( %topScore $= "" || $TeamScore[%team] > %topScore ) + { + %topScore = $TeamScore[%team]; + %firstTeam = %team; + %topCount = 1; + } + else if ( $TeamScore[%team] == %topScore ) + { + %secondTeam = %team; + %topCount++; + } + } + + // Mission result: + if ( %topCount == 1 ) + messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); + else if ( %topCount == 2 ) + messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); + else + messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); + + // Team scores: + messageClient( %client, 'MsgDebriefAddLine', "", 'TEAMSCOREJackpotCreativityPossession' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + if ( $TeamScore[%team] $= "" ) + { + %score = 0; + %jscore = 0; + %cscore = 0; + %pscore = 0; + } + else + { + %score = $TeamScore[%team]; + %jscore = $TeamScoreJackpot[%team]; + %cscore = $TeamScoreCreativity[%team]; + %pscore = $TeamScorePossession[%team]; + } + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3 %4 %5', %game.getTeamName(%team), %score, %jscore, %cscore, %pscore ); + } + + // Player scores: + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMGOALSASSISTSSAVESPASSRECVINTCFC-HITS' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + %count[%team] = 0; + + %notDone = true; + while ( %notDone ) + { + // Get the highest remaining score: + %highScore = ""; + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + if ( %count[%team] < $TeamRank[%team, count] && ( %highScore $= "" || $TeamRank[%team, %count[%team]].score > %highScore ) ) + { + %highScore = $TeamRank[%team, %count[%team]].score; + %highTeam = %team; + } + } + + // Send the debrief line: + %cl = $TeamRank[%highTeam, %count[%highTeam]]; + %score = %cl.score $= "" ? 0 : %cl.passingScore + %cl.receivingScore + %cl.interceptingScore; + %kills = %cl.kills $= "" ? 0 : %cl.kills; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3 %4 %5 %6 %7 %8 %9', %cl.name, %game.getTeamName(%cl.team), %cl.goals, %cl.assists, %cl.saves, %cl.passingScore, %cl.receivingScore, %cl.interceptingScore, %cl.fcHits ); + + %count[%highTeam]++; + %notDone = false; + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + if ( %count[%team] < $TeamRank[%team, count] ) + { + %notDone = true; + break; + } + } + } + } + + //now go through an list all the observers: + %count = ClientGroup.getCount(); + %printedHeader = false; + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team <= 0) + { + //print the header only if we actually find an observer + if (!%printedHeader) + { + %printedHeader = true; + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCORE'); + } + + //print out the client + %score = %cl.score $= "" ? 0 : %cl.score; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %cl.name, %score); + } + } +} + +function TR2Game::updateScoreHud(%game, %client, %tag) +{ + if (Game.numTeams > 1) + { + // Send header: + messageClient( %client, 'SetScoreHudHeader', "", '\t%1%2\t%3%4', + %game.getTeamName(1), $TeamScore[1], %game.getTeamName(2), $TeamScore[2] ); + + // Send subheader: + messageClient( %client, 'SetScoreHudSubheader', "", '\tPLAYERS (%1)SCORE\tPLAYERS (%2)SCORE', + $TeamRank[1, count], $TeamRank[2, count] ); + + %index = 0; + while ( true ) + { + if ( %index >= $TeamRank[1, count]+2 && %index >= $TeamRank[2, count]+2 ) + break; + + //get the team1 client info + %team1Client = ""; + %team1ClientScore = ""; + %col1Style = ""; + if ( %index < $TeamRank[1, count] ) + { + %team1Client = $TeamRank[1, %index]; + %team1ClientScore = %team1Client.score $= "" ? 0 : %team1Client.score; + %col1Style = %team1Client == %client ? "" : ""; + %team1playersTotalScore += %team1Client.score; + } + else if( %index == $teamRank[1, count] && $teamRank[1, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team1ClientScore = "--------------"; + } + else if( %index == $teamRank[1, count]+1 && $teamRank[1, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team1ClientScore = %team1playersTotalScore != 0 ? %team1playersTotalScore : 0; + } + //get the team2 client info + %team2Client = ""; + %team2ClientScore = ""; + %col2Style = ""; + if ( %index < $TeamRank[2, count] ) + { + %team2Client = $TeamRank[2, %index]; + %team2ClientScore = %team2Client.score $= "" ? 0 : %team2Client.score; + %col2Style = %team2Client == %client ? "" : ""; + %team2playersTotalScore += %team2Client.score; + } + else if( %index == $teamRank[2, count] && $teamRank[2, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team2ClientScore = "--------------"; + } + else if( %index == $teamRank[2, count]+1 && $teamRank[2, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team2ClientScore = %team2playersTotalScore != 0 ? %team2playersTotalScore : 0; + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style, %team1Client, %team2Client ); + } + + %index++; + } + } + else + { + //tricky stuff here... use two columns if we have more than 15 clients... + %numClients = $TeamRank[0, count]; + if ( %numClients > $ScoreHudMaxVisible ) + %numColumns = 2; + + // Clear header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // Send header: + if (%numColumns == 2) + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYERSCORE\tPLAYERSCORE'); + else + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYERSCORE'); + + %countMax = %numClients; + if ( %countMax > ( 2 * $ScoreHudMaxVisible ) ) + { + if ( %countMax & 1 ) + %countMax++; + %countMax = %countMax / 2; + } + else if ( %countMax > $ScoreHudMaxVisible ) + %countMax = $ScoreHudMaxVisible; + + for ( %index = 0; %index < %countMax; %index++ ) + { + //get the client info + %col1Client = $TeamRank[0, %index]; + %col1ClientScore = %col1Client.score $= "" ? 0 : %col1Client.score; + %col1Style = %col1Client == %client ? "" : ""; + + //see if we have two columns + if ( %numColumns == 2 ) + { + %col2Client = ""; + %col2ClientScore = ""; + %col2Style = ""; + + //get the column 2 client info + %col2Index = %index + %countMax; + if ( %col2Index < %numClients ) + { + %col2Client = $TeamRank[0, %col2Index]; + %col2ClientScore = %col2Client.score $= "" ? 0 : %col2Client.score; + %col2Style = %col2Client == %client ? "" : ""; + } + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + if ( %numColumns == 2 ) + messageClient(%client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %col1Client.name, %col1ClientScore, %col2Client.name, %col2ClientScore, %col1Style, %col2Style ); + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%3%1%2', + %col1Client.name, %col1ClientScore, %col1Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + if ( %numColumns == 2 ) + messageClient(%client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %col1Client.name, %col1ClientScore, %col2Client.name, %col2ClientScore, %col1Style, %col2Style, %col1Client, %col2Client ); + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%3%1%2', + %col1Client.name, %col1ClientScore, %col1Style, %col1Client ); + } + } + + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} + +function TR2Game::selectSpawnMarker(%game, %team) +{ + if (%team <= 0) + return; + + %teamDropsGroup = "MissionCleanup/TeamDrops" @ %team; + + %group = nameToID(%teamDropsGroup); + if (%group != -1) + { + %count = %group.getCount(); + if (%count > 0) + { + for (%try =0; %try < 5; %try++) + { + %done = false; + %markerIndex = mFloor(getRandom() * %count); + %markerAttempts = 0; + while (%markerAttempts < %count) + { + %marker = %group.getObject(%markerIndex); + + // If nobody's at this spawn, use it + if (%marker > 0 && !%game.teammateNear(%team, %marker.getPosition())) + { + //echo("SPAWN FOUND for team " @ %team @ " (" @ %try @ " tries)"); + return %marker.getTransform(); + } + + // Otherwise, cycle through looking for the next available slot + %markerIndex++; + + // Handle circular increment + if (%markerIndex >= %count) + %markerIndex = 0; + + %markerAttempts++; + } + } + echo("**SPAWN ERROR: spawn not found."); + } + else + error("No spawn markers found in " @ %teamDropsGroup); + } + else + error(%teamDropsGroup @ " not found in selectSpawnMarker()."); + + return -1; +} + +function TR2Game::teammateNear(%game, %team, %position) +{ + %count = ClientGroup.getCount(); + + // Only check x,y (this means we can't have one spawn directly over another, + // but oh well...quick and dirty) + %position = setWord(%position, 2, 0); + + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl $= "" || %cl.player == 0 || %cl.player $= "") + continue; + + if (%cl.team == %team) + { + %plyrPos = %cl.player.getPosition(); + %plyrPos = setWord(%plyrPos, 2, 0); + %diff = VectorLen(VectorSub(%position, %plyrPos)); + if (%diff <= 1) + return true; + } + } + + return false; +} + +function TR2Game::pickTeamSpawn(%game, %team) +{ + // Oh-so simple + return %game.selectSpawnMarker(%team); +} + +function TR2Game::onClientEnterObserverMode( %game, %client ) +{ + clearBottomPrint(%client); +} + +function ServerPlayAudio(%slot, %profile) +{ + $TR2::audioSlot[%slot] = alxPlay(%profile, 0, 0, 0); +} + +function ServerStopAudio(%slot) +{ + alxStop($TR2::audioSlot[%slot]); +} + +function TR2Game::increaseCrowdLevel(%game) +{ + if (%game.crowdLevel+1 == $TR2::numCrowdLevels) + return; + + %game.crowdTransition(%game.crowdLevel+1); +} + +function TR2Game::decreaseCrowdLevel(%game) +{ + if (%game.crowdLevel == -1) + return; + + if (%game.crowdLevel == 0) + %game.stopCrowd(); + else + %game.crowdTransition(%game.crowdLevel-1); +} + +function TR2Game::stopCrowd(%game) +{ + //if (%game.crowdLevel == -1) + // return; + + ServerPlay2d($TR2::crowdLoopTransitionDown[%game.crowdLevel]); + //schedule(50, 0, "ServerStopAudio", %game.crowdLevel); + + // Stop all levels immediately + ServerStopAudio(0); + ServerStopAudio(1); + ServerStopAudio(2); + %game.crowdLevel = -1; +} + +function TR2Game::crowdTransition(%game, %level) +{ + if (%level == %game.crowdLevel) + return; + + //%newSlot = (%game.crowdLevelSlot == 2) ? 3 : 2; + + ServerPlay2d($TR2::crowdLoopTransitionUp[%level]); + schedule(4000, 0, "ServerPlay2d", $TR2::crowdLoopTransitionDown[%game.crowdLevel]); + + schedule(1200, 0, "ServerPlay2d", CrowdFadeSound); + schedule(3200, 0, "ServerPlay2d", CrowdFadeSound); + + schedule(4100, 0, "ServerStopAudio", %game.crowdLevel); + schedule(2850, 0, "ServerPlayAudio", %level, $TR2::CrowdLoop[%level]); + + %game.crowdLevel = %level; + //%game.crowdLevelSlot = %newSlot; +} + +function TR2Game::evaluateCrowdLevel(%game) +{ + if (%game.currentBonus < $TR2::minimumJackpot) + { + %game.stopCrowd(); + return; + } + + if ($TheFlag.carrier $= "") + { + %obj = $TheFlag; + %distance1 = VectorLen(VectorSub(%obj.getPosition(), $teamgoal[1].getPosition())); + %distance2 = VectorLen(VectorSub(%obj.getPosition(), $teamgoal[2].getPosition())); + %dist = (%distance1 > %distance2) ? %distance2 : %distance1; + } + else + { + %obj = $TheFlag.carrier; + %otherTeam = ($TheFlag.carrier.team == 1) ? 2 : 1; + %dist = VectorLen(VectorSub(%obj.getPosition(), $teamgoal[%otherTeam].getPosition())); + } + + for (%i=0; %i<$TR2::NumCrowdLevels; %i++) + { + if (%dist < $TR2::CrowdLevelDistance[%i]) + %newLevel = %i; + } + + if (%newLevel $= "") + { + %game.decreaseCrowdLevel(); + return; + } + else if (%newLevel == %game.crowdLevel) + return; + + if (%newLevel > %game.crowdLevel) + %game.increaseCrowdLevel(); + else + %game.decreaseCrowdLevel(); +} + +// Fun stuff! +function TR2Game::startSphere(%game) +{ + //%game.preSphereGravity = getGravity(); + setGravity(0); + %count = ClientGroup.getCount(); + + %position = $TR2::TheSphere.getPosition(); + %radius = 75; + + // Prevent all damage + %game.goalJustScored = true; + + if ($TheFlag.carrier !$= "") + $TheFlag.carrier.throwObject($TheFlag); + + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl $= "" || %cl.player == 0 || %cl.player $= "") + continue; + + + %addx = mFloor(getRandom() * %radius); + %addy = mFloor(getRandom() * %radius); + %addy = mFloor(getRandom() * %radius); + + %newx = getWord(%position, 0) + %addx; + %newy = getWord(%position, 1) + %addy; + %newz = getWord(%position, 2) + %addz; + %newPosition = %newx SPC %newy SPC %newz; + %cl.inSpawnBuilding = true; + + %cl.plyrTransformAtDeath = %newPosition; + %cl.player.setTransform(%newPosition); + } + + %game.emitFlags(%position, 40, "", 60000); +} + +function TR2Game::endSphere(%game) +{ + Game.goalJustScored = false; + setGravity($TR2::Gravity); + %game.forceTeamRespawn(1); + %game.forceTeamRespawn(2); +} + + + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Items.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Items.cs new file mode 100644 index 00000000..9baedf4b --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Items.cs @@ -0,0 +1,429 @@ +exec("scripts/weapons/TR2disc.cs"); +exec("scripts/weapons/TR2grenadeLauncher.cs"); +exec("scripts/weapons/TR2chaingun.cs"); +exec("scripts/weapons/TR2grenade.cs"); +exec("scripts/weapons/TR2targetingLaser.cs"); +exec("scripts/packs/TR2energypack.cs"); +exec("scripts/weapons/TR2shocklance.cs"); +exec("scripts/weapons/TR2mortar.cs"); + +datablock StaticShapeData(TR2DeployedBeacon) : StaticShapeDamageProfile +{ + shapeFile = "beacon.dts"; + explosion = DeployablesExplosion; + maxDamage = 0.45; + disabledLevel = 0.45; + destroyedLevel = 0.45; + targetNameTag = 'beacon'; + + deployedObject = true; + + dynamicType = $TypeMasks::SensorObjectType; + + debrisShapeName = "debris_generic_small.dts"; + debris = SmallShapeDebris; +}; + +datablock ItemData(RedNexus) +{ + catagory = "Objectives"; + shapefile = "nexus_effect.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + icon = "CMDNexusIcon"; + targetTypeTag = 'Nexus'; + + computeCRC = false; +}; + +datablock ItemData(YellowNexus) +{ + catagory = "Objectives"; + shapefile = "nexus_effect.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + icon = "CMDNexusIcon"; + targetTypeTag = 'Nexus'; + + computeCRC = false; +}; + +function serverCmdStartFlagThrowCount(%client, %data) +{ + %client.player.flagThrowStart = getSimTime(); +} + +function serverCmdEndFlagThrowCount(%client, %data) +{ + if(%client.player.flagThrowStart == 0) + return; + + %time = getSimTime(); + %result = %time - %client.player.flagThrowStart; + if( %result >= $TR2::MaxFlagChargeTime ) + { + %client.player.flagThrowStart = 0; + return; + } + + // throwStrength will be how many seconds the key was held + %throwStrength = (getSimTime() - %client.player.flagThrowStart) / 1000; + // trim the time to fit between 0.2 and 1.2 + if(%throwStrength > 1.2) + %throwStrength = 1.2; + else if(%throwStrength < 0.2) + %throwStrength = 0.2; + + %client.player.flagThrowStrength = %throwStrength; + + %client.player.flagThrowStart = 0; +} + +datablock AudioProfile(LauncherSound) +{ + volume = 1.0; + filename = "fx/misc/launcher.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock StaticShapeData(Launcher) +{ + catagory = "Objectives"; + className = "Launcher"; + isInvincible = true; + needsNoPower = true; + shapeFile = "stackable3m.dts"; + soundEffect = LauncherSound; + scale = "1 1 0.14"; +}; + +function Launcher::onCollision(%this, %obj, %col) +{ + //echo("LAUNCHER: " @ %col); + %newVel = %col.getVelocity(); + %normVel = VectorNormalize(%newVel); + %speed = %col.getSpeed(); + + // If the player walks on it, boost him upward + if (%speed < 30) + { + %newVel = %normVel; + %newVel = VectorScale(%newVel, 10); + %newVel = setWord(%newVel, 2, 72); + } + // If he has decent speed, give him a static boost + else if (%speed < 100) + { + %newVel = %normVel; + %newVel = VectorScale(%newVel, 100); + // Otherwise, give him a slightly scaled boost + } else + %newVel = VectorScale(%newVel, 1.05); + //%newVel = setWord(%newVel, 2, getWord(%newVel, 2) * -1); + //%col.applyImpulse(%col.getWorldBoxCenter(), VectorScale(%newVel, 200)); + %col.setVelocity(%newVel); + %obj.playAudio(0, %this.soundEffect); +} + +datablock TriggerData(cannonTrigger) +{ + tickPeriodMS = 1000; +}; + +datablock TriggerData(goalZoneTrigger) +{ + tickPeriodMS = 1000; +}; + +datablock TriggerData(defenseZoneTrigger) +{ + tickPeriodMS = 1000; +}; + +datablock AudioProfile(CannonShotSound) +{ + volume = 1.0; + filename = "fx/misc/cannonshot.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(CannonStartSound) +{ + volume = 1.0; + filename = "fx/misc/cannonstart.wav"; + description = AudioClose3d; + preload = true; +}; + +function cannonTrigger::onEnterTrigger(%this, %trigger, %obj) +{ + if (%obj.getState $= "Dead") + return; + + %client = %obj.client; + %obj.playAudio(0, CannonStartSound); + %obj.inCannon = true; + %obj.setInvincible(true); + %client.cannonThread = %this.schedule(500, "ShootCannon", %trigger, %obj); +} + +function cannonTrigger::onLeaveTrigger(%this, %trigger, %obj) +{ + %client = %obj.client; + %obj.setInvincible(false); + cancel(%client.cannonThread); +} + +function cannonTrigger::onTickTrigger(%this, %trigger) +{ +} + +function cannonTrigger::shootCannon(%this, %trigger, %obj) +{ + %obj.applyImpulse(%obj.getWorldBoxCenter(), "0 0 20000"); + %obj.setInvincible(false); + %obj.inCannon = false; + + %newEmitter = new ParticleEmissionDummy(CannonEffect) { + position = %trigger.position; + rotation = %trigger.rotation; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "CannonEmitter"; + velocity = "1"; + }; + + %obj.playAudio(0, CannonShotSound); + %newEmitter.schedule(%newEmitter.emitter.lifetimeMS, "delete"); +} + +function goalZoneTrigger::onEnterTrigger(%this, %trigger, %obj) +{ + if (!$TR2::EnableRoles || %trigger.team != %obj.team) + return; + + if (!%obj.client.enableZones) + return; + + + Game.trySetRole(%obj, Goalie); +} + +function goalZoneTrigger::onLeaveTrigger(%this, %trigger, %obj) +{ + if (!$TR2::EnableRoles) + return; + + if (!%obj.client.enableZones) + return; + + if (!Game.trySetRole(%obj, Defense)) + Game.trySetRole(%obj, Offense); +} + +function defenseZoneTrigger::onEnterTrigger(%this, %trigger, %obj) +{ + if (!$TR2::EnableRoles || %trigger.team != %obj.team) + return; + + if (!%obj.client.enableZones) + return; + + + Game.trySetRole(%obj, Defense); +} + +function defenseZoneTrigger::onLeaveTrigger(%this, %trigger, %obj) +{ + if (!$TR2::EnableRoles) + return; + + if (!%obj.client.enableZones) + return; + + if (!Game.trySetRole(%obj, Offense)) + error("TR2 role change error: couldn't change to Offense"); +} + +datablock StaticShapeData(Goal) +{ + className = "Goal"; + catagory = "Objectives"; + shapefile = "goal_panel.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(GoalPost) +{ + className = "GoalPost"; + catagory = "Objectives"; + shapefile = "goal_side.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(GoalCrossbar) +{ + className = "GoalCrossbar"; + catagory = "Objectives"; + shapefile = "goal_top.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(GoalBack) +{ + className = "GoalBack"; + catagory = "Objectives"; + shapefile = "goal_back.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(GoldGoalPost) +{ + className = "GoalPost"; + catagory = "Objectives"; + shapefile = "gold_goal_side.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(GoldGoalCrossbar) +{ + className = "GoalCrossbar"; + catagory = "Objectives"; + shapefile = "gold_goal_top.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(GoldGoalBack) +{ + className = "GoalBack"; + catagory = "Objectives"; + shapefile = "gold_goal_back.dts"; + isInvincible = true; + needsNoPower = true; +}; + + +datablock StaticShapeData(GoldPole) +{ + className = "GoldPole"; + catagory = "Objectives"; + shapefile = "golden_pole.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(SilverPole) +{ + className = "SilverPole"; + catagory = "Objectives"; + shapefile = "silver_pole.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(Billboard1) +{ + className = "Billboard"; + catagory = "Misc"; + shapefile = "billboard_1.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(Billboard2) +{ + className = "Billboard"; + catagory = "Misc"; + shapefile = "billboard_2.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(Billboard3) +{ + className = "Billboard"; + catagory = "Misc"; + shapefile = "billboard_3.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(Billboard4) +{ + className = "Billboard"; + catagory = "Misc"; + shapefile = "billboard_4.dts"; + isInvincible = true; + needsNoPower = true; +}; + + +function GoalCrossbar::onCollision(%this, %obj, %col) +{ + return; + if (%col.getClassName() !$= "Player") + return; + + if (getWord(%col.getPosition(), 2) > getWord(%obj.getPosition(), 2)) + { + // Ooo...the quick 1-2 punch to defeat a potential exploit + %this.nudgeObject(%obj, %col, 10); + %obj.schedule(100, "nudgeObject", %obj, %col, -70); + } +} + +function GoalCrossbar::nudgeObject(%this, %obj, %col, %vertNudge) +{ + %center = $TheFlag.originalPosition; + + // Determine if the object is on the front or back part of the crossbar + %colDist = VectorDist(%col.getPosition(), %center); + %goalDist = VectorDist(%obj.getPosition(), %center); + %nudgeDir = (%goalDist > %colDist) ? 1 : -1; + + // Nudge the player towards the center of the map + %nudgeVec = VectorNormalize($TheFlag.originalPosition); + %nudgeVec = VectorScale(%nudgeVec, %nudgeDir); + %nudgeVec = VectorScale(%nudgeVec, 40); + %nudgeVec = setWord(%nudgeVec, 2, %vertNudge); + + %col.setVelocity(%nudgeVec); +} + +datablock ForceFieldBareData(TR2defaultForceFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.80; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = true; + color = "0.0 0.55 0.99"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Nouns.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Nouns.cs new file mode 100644 index 00000000..6413f0ba --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Nouns.cs @@ -0,0 +1,494 @@ + + +datablock AudioProfile(TR2TestNounDataSound) +{ + volume = 2.0; + filename = "fx/bonuses/test-NounData-wildcat.wav"; + description = AudioBIGExplosion3d; + preload = true; +}; + +// NounData components +// [Passer speed, grabber speed, grabber height] + +$NounList = new ScriptObject() { + class = NounList; +}; + +function NounList::get(%this, %a, %b, %c) +{ + return $NounList[%a, %b, %c]; +} + +$WaterNoun = new ScriptObject() { + text = "Shark's"; + value = 2; + sound = NounSharkSound; + emitter = "Optional"; + class = NounData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Ground passes +$NounList[0,0,0] = new ScriptObject() { + text = "Llama's"; + value = -1; + sound = NounLlamaSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[1,0,0] = new ScriptObject() { + text = "Turtle's"; + value = 1; + sound = NounTurtleSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[2,0,0] = new ScriptObject() { + text = "Snake's"; + value = 2; + sound = NounSnakeSound; + class = NounData; +}; + +$NounList[3,0,0] = new ScriptObject() { + text = "Iguana's"; + value = 3; + sound = NounIguanaSound; + class = NounData; +}; + +$NounList[0,1,0] = new ScriptObject() { + text = "Puppy's"; + value = 2; + sound = NounPuppySound; + class = NounData; +}; + +$NounList[1,1,0] = new ScriptObject() { + text = "Dog's"; + value = 3; + sound = NounDogSound; + class = NounData; +}; + +$NounList[2,1,0] = new ScriptObject() { + text = "Coyote's"; + value = 4; + sound = NounCoyoteSound; + class = NounData; +}; + +$NounList[3,1,0] = new ScriptObject() { + text = "Wolf's"; + value = 4; + sound = NounWolfSound; + class = NounData; +}; + +$NounList[0,2,0] = new ScriptObject() { + text = "Donkey's"; + value = 2; + sound = NounDonkeySound; + class = NounData; +}; + +$NounList[1,2,0] = new ScriptObject() { + text = "Cow's"; + value = 3; + sound = NounCowSound; + class = NounData; +}; + +$NounList[2,2,0] = new ScriptObject() { + text = "Zebra's"; + value = 3; + sound = NounZebraSound; + class = NounData; +}; + +$NounList[3,2,0] = new ScriptObject() { + text = "Horse's"; + value = 4; + sound = NounHorseSound; + class = NounData; +}; + +$NounList[0,3,0] = new ScriptObject() { + text = "Tiger's"; + value = 3; + sound = NounTigerSound; + class = NounData; +}; + +$NounList[1,3,0] = new ScriptObject() { + text = "Jaguar's"; + value = 4; + sound = NounJaguarSound; + class = NounData; +}; + +$NounList[2,3,0] = new ScriptObject() { + text = "Cougar's"; + value = 5; + sound = NounCougarSound; + class = NounData; +}; + +$NounList[3,3,0] = new ScriptObject() { + text = "Cheetah's"; + value = 6; + sound = NounCheetahSound; + class = NounData; +}; + +/////////////////////////////////////////////////////////////////////////////// +// Low passes +$NounList[0,0,1] = new ScriptObject() { + text = "Helicopter's"; + value = 2; + sound = NounHelicopterSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[1,0,1] = new ScriptObject() { + text = "Grasshopper's"; + value = 3; + sound = NounGrasshopperSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[2,0,1] = new ScriptObject() { + text = "Crow's"; + value = 3; + sound = NounCrowSound; + class = NounData; +}; + +$NounList[3,0,1] = new ScriptObject() { + text = "Bee's"; + value = 4; + sound = NounBeeSound; + class = NounData; +}; + +$NounList[0,1,1] = new ScriptObject() { + text = "Dragonfly's"; + value = 3; + sound = NounDragonflySound; + class = NounData; +}; + +$NounList[1,1,1] = new ScriptObject() { + text = "Mosquito's"; + value = 4; + sound = NounMosquitoSound; + class = NounData; +}; + +$NounList[2,1,1] = new ScriptObject() { + text = "Fly's"; + value = 4; + sound = NounFlySound; + class = NounData; +}; + +$NounList[3,1,1] = new ScriptObject() { + text = "Parakeet's"; + value = 5; + sound = NounParakeetSound; + class = NounData; +}; + +$NounList[0,2,1] = new ScriptObject() { + text = "Budgie's"; + value = 3; + sound = NounBudgieSound; + class = NounData; +}; + +$NounList[1,2,1] = new ScriptObject() { + text = "Ostrich's"; + value = 4; + sound = NounOstrichSound; + class = NounData; +}; + +$NounList[2,2,1] = new ScriptObject() { + text = "Wasp's"; + value = 4; + sound = NounWaspSound; + class = NounData; +}; + +$NounList[3,2,1] = new ScriptObject() { + text = "Hornet's"; + value = 5; + sound = NounHornetSound; + class = NounData; +}; + +$NounList[0,3,1] = new ScriptObject() { + text = "Bat's"; + value = 4; + sound = NounBatSound; + class = NounData; +}; + +$NounList[1,3,1] = new ScriptObject() { + text = "Chickadee's"; + value = 5; + sound = NounChickadeeSound; + class = NounData; +}; + +$NounList[2,3,1] = new ScriptObject() { + text = "Warnipple's"; + value = 10; + sound = NounWarnippleSound; + class = NounData; +}; + +$NounList[3,3,1] = new ScriptObject() { + text = "Special's"; + value = 12; + sound = NounSpecial1Sound; + class = NounData; +}; + + +//////////////////////////////////////////////////////////////////////////////// +// Medium-high passes +$NounList[0,0,2] = new ScriptObject() { + text = "Captain's"; + value = 4; + sound = NounCaptainSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[1,0,2] = new ScriptObject() { + text = "Major's"; + value = 5; + sound = NounMajorSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[2,0,2] = new ScriptObject() { + text = "Colonel's"; + value = 6; + sound = NounColonelSound; + class = NounData; +}; + +$NounList[3,0,2] = new ScriptObject() { + text = "General's"; + value = 7; + sound = NounGeneralSound; + class = NounData; +}; + +$NounList[0,1,2] = new ScriptObject() { + text = "Hurricane's"; + value = 5; + sound = NounHurricaneSound; + class = NounData; +}; + +$NounList[1,1,2] = new ScriptObject() { + text = "Tornado's"; + value = 6; + sound = NounHurricaneSound; + class = NounData; +}; + +$NounList[2,1,2] = new ScriptObject() { + text = "Dove's"; + value = 6; + sound = NounDoveSound; + class = NounData; +}; + +$NounList[3,1,2] = new ScriptObject() { + text = "Flamingo's"; + value = 7; + sound = NounFlamingoSound; + class = NounData; +}; + +$NounList[0,2,2] = new ScriptObject() { + text = "Goldfinch's"; + value = 6; + sound = NounGoldfinchSound; + class = NounData; +}; + +$NounList[1,2,2] = new ScriptObject() { + text = "Owl's"; + value = 6; + sound = NounOwlSound; + class = NounData; +}; + +$NounList[2,2,2] = new ScriptObject() { + text = "Pelican's"; + value = 7; + sound = NounPelicanSound; + class = NounData; +}; + +$NounList[3,2,2] = new ScriptObject() { + text = "Jet's"; + value = 8; + sound = NounJetSound; + class = NounData; +}; + +$NounList[0,3,2] = new ScriptObject() { + text = "Bluejay's"; + value = 7; + sound = NounBluejaySound; + class = NounData; +}; + +$NounList[1,3,2] = new ScriptObject() { + text = "Swallow's"; + value = 7; + sound = NounSwallowSound; + class = NounData; +}; + +$NounList[2,3,2] = new ScriptObject() { + text = "Joop's"; + value = 14; + sound = NounSpecial2Sound; + class = NounData; +}; + +$NounList[3,3,2] = new ScriptObject() { + text = "Bluenose's"; + value = 16; + sound = NounSpecial3Sound; + class = NounData; +}; + +/////////////////////////////////////////////////////////////////////////////// +// High passes +$NounList[0,0,3] = new ScriptObject() { + text = "Astronaut's"; + value = 8; + sound = NounAstronautSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[1,0,3] = new ScriptObject() { + text = "Cloud's"; + value = 9; + sound = NounCloudSound; + emitter = "Optional"; + class = NounData; +}; + +$NounList[2,0,3] = new ScriptObject() { + text = "Atmosphere's"; + value = 10; + sound = NounAtmosphereSound; + class = NounData; +}; + +$NounList[3,0,3] = new ScriptObject() { + text = "Moon's"; + value = 10; + sound = NounMoonSound; + class = NounData; +}; + +$NounList[0,1,3] = new ScriptObject() { + text = "Ozone's"; + value = 9; + sound = NounOzoneSound; + class = NounData; +}; + +$NounList[1,1,3] = new ScriptObject() { + text = "Balloon's"; + value = 10; + sound = NounBalloonSound; + class = NounData; +}; + +$NounList[2,1,3] = new ScriptObject() { + text = "Blimp's"; + value = 11; + sound = NounBlimpSound; + class = NounData; +}; + +$NounList[3,1,3] = new ScriptObject() { + text = "Zeppellin's"; + value = 12; + sound = NounZeppellinSound; + class = NounData; +}; + +$NounList[0,2,3] = new ScriptObject() { + text = "Condor's"; + value = 11; + sound = NounCondorSound; + class = NounData; +}; + +$NounList[1,2,3] = new ScriptObject() { + text = "Eagle's"; + value = 12; + sound = NounBirdOfPreySound; + class = NounData; +}; + +$NounList[2,2,3] = new ScriptObject() { + text = "Hawk's"; + value = 13; + sound = NounBirdOfPreySound; + class = NounData; +}; + +$NounList[3,2,3] = new ScriptObject() { + text = "Orlando's"; + value = 18; + sound = NounSpecial1Sound; + class = NounData; +}; + +$NounList[0,3,3] = new ScriptObject() { + text = "Falcon's"; + value = 12; + sound = NounBirdOfPreySound; + class = NounData; +}; + +$NounList[1,3,3] = new ScriptObject() { + text = "Jack's"; + value = 16; + sound = NounSpecial2Sound; + class = NounData; +}; + +$NounList[2,3,3] = new ScriptObject() { + text = "Daunt's"; + value = 20; + sound = NounSpecial3Sound; + class = NounData; +}; + +$NounList[3,3,3] = new ScriptObject() { + text = "Natural's"; + value = 22; + sound = NounSpecial1Sound; + class = NounData; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2ObserverQueue.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2ObserverQueue.cs new file mode 100644 index 00000000..8634915b --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2ObserverQueue.cs @@ -0,0 +1,639 @@ +// updated ObserverQueue + +// Create queue container... +if( !isObject("ObserverQueue") ) +{ + new SimGroup("ObserverQueue"); + //ObserverQueue.setPersistent(1); // whats this do..? +} + +function validateQueue() +{ + if( !$TR2::SpecLock && !$Host::TournamentMode ) + { + %active = GetActiveCount(); + %count = 12 - %active; + for( %i = 0; %i < %count && ObserverQueue.getCount() > 0; %i++ ) + { + %cl = getClientFromQueue(); + if( isObject(%cl) ) + { + Game.assignClientTeam(%cl, $MatchStarted); + Game.spawnPlayer(%cl, $MatchStarted); + reindexQueue(); + } + } + } +} + + +function getActiveCount() +{ + %count = 0; + for( %i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if( %cl.team > 0 ) + %count++; + } + return %count; +} + +function addToQueue(%client) +{ + if( %client.team > 0 ) + return 0; + if( !isObject(%client) ) + return 0; + %unique = 1; + %count = ObserverQueue.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %node = ObserverQueue.getObject(%i); + if( %node.id == %client ) + { + %unique = 0; + } + } + reindexQueue(); + if( %unique == 1 ) + { + %node = new ScriptObject() + { + id = %client.getId(); + name = %client.nameBase; + }; + ObserverQueue.add(%node); + ObserverQueue.pushToBack(%node); + } + %client.allowedToJoinTeam = 1; + reindexQueue(); + messageQueue(); + return %unique; // 0 = client already added to queue, 1 = client successfully added +} + +function removeFromQueue(%client) +{ +// if( !isObject(%client) ) +// return 0; + // we shouldn't have duplicates in the queue, but why take a chance.. + %idx = 0; + %count = ObserverQueue.getCount(); + + + for( %i = 0; %i < %count; %i++ ) + { + %node = ObserverQueue.getObject(%i); + if( %node.id == %client.getId() ) + { + ObserverQueue.pushToBack(%node); + %node.delete(); + break; + } + } + reindexQueue(); + messageQueue(); +// schedule(100, 0, "reindexQueue"); +// schedule(101, 0, "messageQueue"); + return %idx; // 0 if client not found to remove +} + +function messageQueue() +{ + %total = reindexQueue(); + %count = ObserverQueue.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ObserverQueue.getObject(%i).id; + if( !%cl.specOnly ) + { + if( %cl.queueSlot == 1 ) + messageClient(%cl, 'MsgTR2QueuePos', '\c0You are currently \c1NEXT\c0 of \c1%2\c0 in the Observer Queue.~wfx/misc/bounty_objrem2.wav', %cl.queueSlot, %total); + else + messageClient(%cl, 'MsgTR2QueuePos', '\c0You are currently \c1%1\c0 of \c1%2\c0 in the Observer Queue.', %cl.queueSlot, %total); + } + } +} + +function messageQueueClient(%client) +{ + if( %client.team != 0 ) + { + messageClient(%client, 'MsgNotObserver', '\c0You are not currently in observer mode.~wfx/powered/station_denied.wav'); + return; + } + if( %client.specOnly ) + { + messageClient(%client, 'MsgSpecOnly', '\c0You are currently in individual spectator only mode.~wfx/powered/station_denied.wav'); + return; + } + + %total = reindexQueue(); + %pos = %client.queueSlot; + + if( %pos $= "" ) + return; + + if( %pos == 1 ) + messageClient(%client, 'MsgTR2QueuePos', '\c0You are currently \c1NEXT\c0 of \c1%2\c0 in the Observer Queue.!~wfx/misc/bounty_objrem2.wav', %pos, %total); + else + messageClient(%client, 'MsgTR2QueuePos', '\c0You are currently \c1%1\c0 of \c1%2\c0 in the Observer Queue.', %pos, %total); +} + +function reindexQueue() +{ + // reassigns client 'slots' in the queue + // returns the current number of assigned 'slots' + // only people who are actively in the queue (not spec locked) are counted. + + %slot = 0; + //%count = ObserverQueue.getCount(); + for( %i = 0; %i < ObserverQueue.getCount(); %i++ ) + { + %node = ObserverQueue.getObject(%i); + %client = %node.id; + if( !isObject(%client) ) + { + error("Client " @ %client @ " does not exist!! Removing from queue."); + if( isObject(%node) ) + { + ObserverQueue.pushToBack(%node); + %node.delete(); + } + } + else + { + if( %node.id.team > 0 ) + { + ObserverQueue.pushToBack(%node); + %node.delete(); + } + else if( !%client.specOnly ) + { + %slot++; + %client.queueSlot = %slot; + } + else + { + %client.queueSlot = ""; + } + } + } + return %slot; +} + +function getClientFromQueue() +{ + reindexQueue(); + %count = ObserverQueue.getCount(); + %client = -1; + for( %i = 0; %i < %count; %i++ ) + { + %cl = ObserverQueue.getObject(%i).id; + if( %cl.queueSlot == 1 ) + { + %client = %cl; + break; + } + } + return %client; +} + +function TR2Game::forceObserver(%game, %client, %reason) +{ + //make sure we have a valid client... + if (%client <= 0 || %client.team == 0) + return; + + // TR2 + // First set to outer role (just to be safe) + %game.assignOuterMostRole(%client); + + // Then release client's role + %game.releaseRole(%client); + + // Get rid of the corpse after the force + %client.forceRespawn = true; + %client.inSpawnBuilding = true; + + // first kill this player + if(%client.player) + %client.player.scriptKill(0); + + // TR2: Fix observer timeouts; for some reason %client.player is already 0 + // in that case, so scriptKill() won't get called + if (%client.playerToDelete !$= "") + { + %client.enableZones = false; + %client.playerToDelete.delete(); + } + + if( %client.respawnTimer ) + cancel(%client.respawnTimer); + + %client.respawnTimer = ""; + + // remove them from the team rank array + %game.removeFromTeamRankArray(%client); + + // place them in observer mode + %client.lastObserverSpawn = -1; + %client.observerStartTime = getSimTime(); + %adminForce = 0; + + switch$ ( %reason ) + { + case "playerChoose": + messageClient(%client, 'MsgClientJoinTeam', '\c2You have become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + echo(%client.nameBase@" (cl "@%client@") entered observer mode"); + %client.lastTeam = %client.team; + %client.specOnly = true; // this guy wants to sit out... + + case "AdminForce": + messageClient(%client, 'MsgClientJoinTeam', '\c2You have been forced into observer mode by the admin.', %client.name, %game.getTeamName(0), %client, 0 ); + echo(%client.nameBase@" (cl "@%client@") was forced into observer mode by admin"); + %client.lastTeam = %client.team; + %adminForce = 1; + + if($Host::TournamentMode) + { + if(!$matchStarted) + { + if(%client.camera.Mode $= "pickingTeam") + { + commandToClient( %client, 'processPickTeam'); + clearBottomPrint( %client ); + } + else + { + clearCenterPrint(%client); + %client.notReady = true; + } + } + } + + case "spawnTimeout": + messageClient(%client, 'MsgClientJoinTeam', '\c2You have been placed in observer mode due to delay in respawning.', %client.name, %game.getTeamName(0), %client, 0 ); + echo(%client.nameBase@" (cl "@%client@") was placed in observer mode due to spawn delay"); + // save the team the player was on - only if this was a delay in respawning + %client.lastTeam = %client.team; + %client.specOnly = true; // why force an afk player back into the game? + + case "specLockEnabled": + messageClient(%client, 'MsgClientJoinTeam', '\c2Spectator lock is enabled. You were automatically forced to observer.', %client.name, %game.getTeamName(0), %client, 0 ); + %client.lastTeam = %client.team; + + case "teamsMaxed": + messageClient(%client, 'MsgClientJoinTeam', '\c2Teams are at capacity. You were automatically forced to observer.', %client.name, %game.getTeamName(0), %client, 0 ); + %client.lastTeam = %client.team; + + case "gameForce": + messageClient(%client, 'MsgClientJoinTeam', '\c2You have become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + %client.lastTeam = %client.team; + } + + // switch client to team 0 (observer) + %client.team = 0; + %client.player.team = 0; + setTargetSensorGroup( %client.target, %client.team ); + %client.setSensorGroup( %client.team ); + + // set their control to the obs. cam + %client.setControlObject( %client.camera ); + commandToClient(%client, 'setHudMode', 'Observer'); + + // display the hud + //displayObserverHud(%client, 0); + updateObserverFlyHud(%client); + + + // message everyone about this event + if( !%adminForce ) + messageAllExcept(%client, -1, 'MsgClientJoinTeam', '\c2%1 has become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + else + messageAllExcept(%client, -1, 'MsgClientJoinTeam', '\c2The admin has forced %1 to become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + + updateCanListenState( %client ); + + // call the onEvent for this game type + %game.onClientEnterObserverMode(%client); //Bounty uses this to remove this client from others' hit lists + + if( !%client.tr2SpecMode ) + { + %client.camera.getDataBlock().setMode( %client.camera, "observerFly" ); + } + else + { + if( $TheFlag.carrier.client !$= "" ) + %game.observeObject(%client, $TheFlag.carrier.client, 1); + else + %game.observeObject(%client, $TheFlag, 2); + } + +// Queuing... + if( %reason !$= "specLockEnabled" && %reason !$= "teamsMaxed" && !$Host::TournamentMode ) + { + %vacant = ((6 * 2) - getActiveCount()); + %nextCl = getClientFromQueue(); + + if( isObject(%nextCl) && %vacant > 0 && %nextCl.queueSlot <= %vacant ) + { + %game.assignClientTeam(%nextCl, $MatchStarted ); + %game.spawnPlayer(%nextCl, $MatchStarted); + } + } + addToQueue(%client); + %client.allowedToJoinTeam = 1; +} + +function TR2Game::clientJoinTeam( %game, %client, %team, %fromObs ) +{ + //%game.assignClientTeam(%client, $MatchStarted); + if( (12 - getActiveCount()) > 0 || $Host::TournamentMode ) + { + %client.allowedToJoinTeam = 1; + + //first, remove the client from the team rank array + //the player will be added to the new team array as soon as he respawns... + %game.removeFromTeamRankArray(%client); + + %pl = %client.player; + if(isObject(%pl)) + { + if(%pl.isMounted()) + %pl.getDataBlock().doDismount(%pl); + %pl.scriptKill(0); + } + + // reset the client's targets and tasks only + clientResetTargets(%client, true); + + // give this client a new handle to disassociate ownership of deployed objects + if( %team $= "" && (%team > 0 && %team <= %game.numTeams)) + { + if( %client.team == 1 ) + %client.team = 2; + else + %client.team = 1; + } + else + %client.team = %team; + + // Set the client's skin: + if (!%client.isAIControlled()) + setTargetSkin( %client.target, %game.getTeamSkin(%client.team) ); + setTargetSensorGroup( %client.target, %client.team ); + %client.setSensorGroup( %client.team ); + + // Spawn the player: + %game.spawnPlayer(%client, $MatchStarted); + + if(%fromObs $= "" || !%fromObs) + { + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 switched to team %2.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You switched to team %2.', $client.name, %game.getTeamName(%client.team), %client, %client.team ); + } + else + { + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 joined team %2.', %client.name, %game.getTeamName(%client.team), %client, %team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You joined team %2.', $client.name, %game.getTeamName(%client.team), %client, %client.team ); + } + + updateCanListenState( %client ); + + // MES - switch objective hud lines when client switches teams + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); + logEcho(%client.nameBase@" (cl "@%client@") switched to team "@%client.team); + + + removeFromQueue(%client); + } + else + { + //error("Forced to observer: " @%client.nameBase @ " via JoinTeam"); + %game.forceObserver(%client, "gameForce"); + } +} +// if( %client.allowedToJoinTeam == 1 ) +// { +// DefaultGame::clientJoinTeam( %game, %client, %team, %respawn ); +// removeFromQueue(%client); +// } +// else +// { +// %game.forceObserver(%client, "gameForce"); +// } + + +function TR2Game::assignClientTeam(%game, %client, %respawn ) +{ + if( %client.team > 0 ) + return; + %size[0] = 0; + %size[1] = 0; + %size[2] = 0; + %leastTeam = 0; + for( %i = 0; %i < ClientGroup.getCount(); %i++ ) + { + %cl = ClientGroup.getObject(%i); + if( %cl != %client ) + %size[%cl.team]++; + } + %playing = %size[1] + %size[2]; + + if( %playing < (6 << 1) ) // HEH HEH + { + %game.removeFromTeamRankArray(%client); + %leastTeam = (%size[1] <= %size[2]) ? 1 : 2; + removeFromQueue(%client); + + %client.lastTeam = %client.team; + %client.team = %leastTeam; + + + // Assign the team skin: + if ( %client.isAIControlled() ) + { + if ( %leastTeam & 1 ) + { + %client.skin = addTaggedString( "basebot" ); + setTargetSkin( %client.target, 'basebot' ); + } + else + { + %client.skin = addTaggedString( "basebbot" ); + setTargetSkin( %client.target, 'basebbot' ); + } + } + else + setTargetSkin( %client.target, %game.getTeamSkin(%client.team) ); + + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 joined %2.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You joined the %2 team.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); + + updateCanListenState( %client ); + + clearBottomPrint(%client); // clear out the observer hud... + + echo(%client.nameBase@" (cl "@%client@") joined team "@%client.team); + //error("Assigned: " @%client.nameBase @ " to team: " @ %team @ " via AssignTeam"); + } + else + { + //error("Forced to observer: " @%client.nameBase @ " via AssignTeam"); + %game.forceObserver(%client, "teamsMaxed"); + } + // hes been checked for team join ability.. + %client.allowedToJoinTeam = 1; +} + +function TR2Game::ObserverOnTrigger(%game, %data, %obj, %trigger, %state) +{ + //trigger types: 0:fire 1:altTrigger 2:jump 3:jet 4:throw + if (!$missionRunning) + { + return false; + } + + %client = %obj.getControllingClient(); + + if (!isObject(%client)) + { + return false; + } + + // Knockdowns + // Moved up since players in the game should have a little priority over observers + // save a little execution time and effort : + if (%obj.mode $= "playerDeath") + { + if(!%client.waitRespawn && getSimTime() > %client.suicideRespawnTime) + { + commandToClient(%client, 'setHudMode', 'Standard'); + if (%client.playerToDelete !$= "") + { + %client.enableZones = false; + %client.playerToDelete.delete(); + } + + // Use current flymode rotation + %transform = %client.camera.getTransform(); + %oldTrans = %client.plyrTransformAtDeath; + %oldPos = getWord(%oldTrans, 0) SPC getWord(%oldTrans, 1) SPC getWord(%oldTrans, 2); + %newRot = getWord(%transform, 3) SPC getWord(%transform, 4) SPC getWord(%transform, 5) SPC getWord(%transform, 6); + %client.plyrTransformAtDeath = %oldPos SPC %newRot; + + Game.spawnPlayer( %client, true ); + %client.camera.setFlyMode(); + %client.setControlObject(%client.player); + } + return false; + } + + // Observer zoom + if( %obj.mode $= "followFlag" || %obj.mode $= "observerFollow" ) + { + if( %trigger == 3 ) + { + %client.obsZoomLevel++; + if (%client.obsZoomLevel >= $TR2::numObsZoomLevels) + %client.obsZoomLevel = 0; + + // Move the camera + %game.observeObject(%client, %client.observeTarget, %client.observeType); + + //%pos = %client.camera.getPosition(); + //%rot = %client.camera + return false; + } + else + return false; + } + + if( %obj.mode $= "observerFly" ) + { + // unfortunately, it seems that sometimes the "observer speed up" thing doesn't always happen... + if (%trigger == 0) + { + clearBottomPrint(%client); + return false; + } + //press JET + else if (%trigger == 3) + { + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + clearBottomPrint(%client); + return false; + } + //press JUMP + else if (%trigger == 2) + { + clearBottomPrint(%client); + return false; + } + } + + if( %obj.mode $= "pre-game" ) + { + return true; // use default action + } + + if( %obj.mode $= "justJoined" ) + { + if( !$TR2::SpecLock && !$Host::TournamentMode ) + { + if( %client.team <= 0 ) + { + if( getActiveCount() < ($TR2::DefaultTeamSize * 2) ) + { + %game.assignClientTeam(%client, 0); + %game.spawnPlayer(%client, 0); + } + else + { + %game.forceObserver(%client, "teamsMaxed"); + } + } + else if( %client.team >= 1 ) + { + %game.spawnPlayer(%client, 0); + } + + if( isObject(%client.player) ) // player was successfully created... + { + if(!$MatchStarted && !$CountdownStarted) + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + else if(!$MatchStarted && $CountdownStarted) + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + else + { + %client.camera.setFlyMode(); + commandToClient(%client, 'setHudMode', 'Standard'); + %client.setControlObject( %client.player ); + } + } + } + else + { + // kind of weak, but tourney mode *is* a form of spec lock :/ + %game.forceObserver(%client, "specLockEnabled"); + } + return false; + } + + // Queue + if( %trigger == 0 ) + { + if( %obj.mode !$= "playerDeath" ) + { + return false; + } + } + return true; +} + + + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2OtherBonuses.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2OtherBonuses.cs new file mode 100644 index 00000000..14d66a3e --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2OtherBonuses.cs @@ -0,0 +1,234 @@ +// Simple bonuses + +$TR2::midairLevel[0] = 10; +$TR2::midairLevel[1] = 25; + + +function FlagBonus::evaluate(%this, %passer, %receiver, %flag) +{ + if ($TheFlag.specialPass $= "" && !%flag.onGoal) + Parent::evaluate(%this, %passer, %receiver, %flag); + + $TheFlag.specialPass = ""; +} + +//function WeaponBonus::evaluate(%this, %shooter, %victim, %damageType) +//{ +//} + +//////////////////////////////////////////////////////////////////////////////// +// Damage bonus + + +function G4Bonus::evaluate(%this, %plAttacker, %plVictim, %flag, %damageType, %damageLoc) +{ + if (%plVictim !$= %flag.carrier && %plAttacker !$= %flag.carrier) + return; + + if (%plAttacker $= "" || %plVictim $= "" || %flag.carrier $= "") + return; + + // Lock this down a bit + if (%plVictim.getSpeed() < 3) + return; + + %clAttacker = %plAttacker.client; + %clVictim = %plVictim.client; + %victimHeight = %plVictim.getHeight(); + + if (%clVictim != %clAttacker && + %damageType == $DamageType::Disc && + %victimHeight > 13) + { + if (%plVictim.isAboveSomething(25)) + return; + + // MA effect + %newEmitter = new ParticleEmissionDummy(MidairDiscEffect) { + position = %plVictim.getTransform(); + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "defaultEmissionDummy"; + emitter = "MidairDiscEmitter"; + velocity = "1"; + }; + %newEmitter.schedule(%newEmitter.emitter.lifetimeMS, "delete"); + + if (%plVictim == %flag.carrier) + { + //Game.playerDroppedFlag(%flag.carrier); + $TheFlag.specialPass = "MA"; + %plVictim.throwObject(%plVictim.holdingFlag); + + if (%plVictim.team == %plAttacker.team) + { + // G4 + TR2Flag::onCollision("",%flag,%plAttacker); + //%plVictim.forceRespawn = true; + %plAttacker.gogoKill = true; + %plVictim.setDamageFlash(0.75); + %plVictim.applyDamage(1); + //%plVictim.blowup(); + //Game.onClientKilled(%clVictim, 0, $DamageType::G4); + serverPlay2D(GadgetSound); + } else { + // Crazy flags here + %numFlags = mFloor(%victimHeight / 7); + if (%numFlags > 40) + %numFlags = 40; + + Game.emitFlags(%plVictim.getWorldBoxCenter(), mFloor(%victimHeight / 5), %plVictim); + + if (%numFlags >= 30) + ServerPlay2D(MA3Sound); + else if (%numFlags >= 13) + ServerPlay2D(MA2Sound); + else if (%numFlags >= 3) + ServerPlay2D(MA1Sound); + + messageAll('msgTR2MA', '%1 MA\'s %2.', %clAttacker.name, %clVictim.name); + return; + } + } + // Otherwise, Rabid Rabbit + else { + ServerPlay3D(MonsterSound, %plAttacker.getPosition()); + %plVictim.setDamageFlash(0.75); + %plVictim.applyDamage(1); + } + } + else return; + + Parent::evaluate(%this, %plAttacker, %plVictim, "", %damageType, %damageLoc, 5); +} + +function MABonus::evaluate(%this, %clAttacker, %clVictim, %damageType, %damageLoc) +{ + // MA detection + %plAttacker = %clAttacker.Player; + %plVictim = %clVictim.Player; + %victimHeight = %plVictim.getHeight(); + if (%clVictim != %clAttacker && + %damageType == $DamageType::Disc && + %victimHeight > 10) + { + // MA effect + %newEmitter = new ParticleEmissionDummy(MidairDiscEffect) { + position = %player.getTransform(); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "MidairDiscEmitter"; + velocity = "1"; + }; + %newEmitter.schedule(%newEmitter.emitter.lifetimeMS, "delete"); + + if (%plVictim == $TheFlag.carrier && %plVictim.team != %plAttacker.team) + { + Game.playerDroppedFlag($TheFlag.carrier); + + // Crazy flags here + game.emitFlags(%plVictim, 10); + } + else if (%plAttacker == $TheFlag.carrier) + { + // Rabid Rabbit here + %plVictim.setDamageFlash(0.75); + %plVictim.applyDamage(1); + %plVictim.blowup(); + } + } +} + +function CollisionBonus::evaluate(%this, %obj, %col) +{ + %client = %obj.client; + if ($TheFlag.carrier.client == %client) + { + // Kidney Thief Steal + if (%client.team != %col.team) + { + if (getSimTime() - $TheFlag.lastKTS >= 3 * 1000) + { + $TheFlag.specialPass = "KTS"; + Game.playerDroppedFlag($TheFlag.carrier); + TR2Flag::onCollision("",$TheFlag,%col); + $TheFlag.lastKTS = getSimTime(); + %action = "ROBBED"; + %desc = "Kidney Thief Steal"; + %val = 5; + serverPlay3D(EvilLaughSound, %col.getPosition()); + } else return; + // Mario Grab + } else { + %carrierPos = %obj.getPosition(); + %collidedPos = %col.getPosition(); + %carrierz = getWord(%carrierPos, 2); + %collidez = getWord(%collidedPos, 2); + + // Inverse + //if (%carrierz > %collidez && %carrierz - %collidez > 2.5) + //{ + //%flagVel = $TheFlag.carrier.getVelocity(); + //Game.playerDroppedFlag($TheFlag.carrier); + //%flagx = firstWord(%flagVel) * 4; + //%flagy = getWord(%flagVel, 1) * 4; + //%flagz = getWord(%flagVel, 2); + //%flagz = %flagz + 1500; + //$TheFlag.applyImpulse($TheFlag.getPosition(), %flagx SPC %flagy SPC %flagz); + //} else + // Standard + if (%carrierz < %collidez && %collidez - %carrierz > 2.8 + && getSimTime() - $TheFlag.lastMario >= 4 * 1000) + { + $TheFlag.specialPass = "Mario"; + $TheFlag.lastMario = getSimTime(); + Game.playerDroppedFlag($TheFlag.carrier); + TR2Flag::onCollision("",$TheFlag,%col); + %action = "TROUNCED"; + %desc = "Plumber Butt"; + %val = 4; + serverPlay2D(MarioSound); + } else return; + } + } + else return; + + %this.award("", %col, %obj, %action, %desc, %val); +} + +function CreativityBonus::evaluate(%this, %variance, %player) +{ + if (%variance < %this.lastVariance) + { + %this.lastVariance = 0; + %this.lastVarianceLevel = 0; + return; + } + + if (%variance == %this.lastVariance) + return; + + %this.lastVariance = %variance; + + for(%i=%this.varianceLevels - 1; %i>0; %i--) + if (%variance >= %this.varianceThreshold[%i]) + break; + + if (%i < %this.lastVarianceLevel) + { + %this.lastVarianceLevel = 0; + return; + } + + if (%i == %this.lastVarianceLevel) + return; + + %this.lastVarianceLevel = %i; + + $teamScoreCreativity[%player.team] += %this.varianceValue[%i]; + + // Ugly..hmm + %this.schedule(1500, "award", "", %player, "", "", + "Level" SPC %i SPC "Creativity Bonus", %this.varianceValue[%i], %this.varianceSound[%i]); +} diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Packages.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Packages.cs new file mode 100644 index 00000000..828e827d --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Packages.cs @@ -0,0 +1,1030 @@ +package TR2Game { + +function Player::scriptKill(%player, %damageType) +{ + if (%damageType == $DamageType::suicide || + %damageType == $DamageType::RespawnAfterScoring || + %damageType == 0) + { + %player.client.forceRespawn = true; + %player.client.inSpawnBuilding = true; + %player.knockedDown = false; + } + + Parent::scriptKill(%player, %damageType); +} + +function Player::isAboveSomething(%player, %searchrange) +{ + // Borrow some deployment code to determine whether the player is + // above something. + %mask = $TypeMasks::InteriorObjectType | $TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType; + %eyeVec = "0 0 -1";//%player.getEyeVector(); + %eyeTrans = %player.getEyeTransform(); + // extract the position of the player's camera from the eye transform (first 3 words) + %eyePos = posFromTransform(%eyeTrans); + // normalize the eye vector + %nEyeVec = VectorNormalize(%eyeVec); + // scale (lengthen) the normalized eye vector according to the search range + %scEyeVec = VectorScale(%nEyeVec, %searchRange); + // add the scaled & normalized eye vector to the position of the camera + %eyeEnd = VectorAdd(%eyePos, %scEyeVec); + // see if anything gets hit + return containerRayCast(%eyePos, %eyeEnd, %mask, 0); +} + +function ShapeBase::hasAmmo( %this, %weapon ) +{ + switch$ ( %weapon ) + { + // TR2 + case TR2Disc: + return( %this.getInventory( TR2DiscAmmo ) > 0 ); + case TR2GrenadeLauncher: + return( %this.getInventory( TR2GrenadeLauncherAmmo ) > 0 ); + case TR2Chaingun: + return( %this.getInventory( TR2ChaingunAmmo ) > 0); + case TR2Mortar: + return( %this.getInventory( TR2MortarAmmo ) > 0 ); + case TR2Shocklance: + return( true ); + case TR2GoldTargetingLaser: + return( false ); + case TR2SilverTargetingLaser: + return( false ); + default: + return Parent::hasAmmo(%this, %weapon); + } +} + +function ShapeBase::clearInventory(%this) +{ + // TR2 + %this.setInventory(TR2Disc,0); + %this.setInventory(TR2GrenadeLauncher,0); + %this.setInventory(TR2Chaingun,0); + %this.setInventory(TR2Mortar,0); + %this.setInventory(TR2Shocklance,0); + %this.setInventory(TR2GoldTargetingLaser,0); + %this.setInventory(TR2SilverTargetingLaser,0); + %this.setInventory(TR2DiscAmmo,0); + %this.setInventory(TR2GrenadeLauncherAmmo,0); + %this.setInventory(TR2MortarAmmo, 0); + %this.setInventory(TR2ChaingunAmmo,0); + %this.setInventory(TR2Grenade,0); + + Parent::clearInventory(%this); +} + +function serverCmdUse(%client,%data) +{ + if( %data $= Disc ) + %client.getControlObject().use(TR2Disc); + else if( %data $= GrenadeLauncher ) + %client.getControlObject().use(TR2GrenadeLauncher); + else if( %data $= Chaingun ) + %client.getControlObject().use(TR2Chaingun); + else if( %data $= Shocklance ) + %client.getControlObject().use(TR2Shocklance); + else if( %data $= Grenade ) + %client.getControlObject().use(TR2Grenade); + else if( %data $= Mortar ) + %client.getControlObject().use(TR2Mortar); + else if( %data $= TargetingLaser ) + %client.getControlObject().use((%client.team == 1) ? TR2GoldTargetingLaser : TR2SilverTargetingLaser); + // etc... + else + %client.getControlObject().use(%data); +} + +function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote) +{ + parent::serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote); + + //if( %typeName $= "ToggleDisableDeath" && %client.isAdmin ) + // ToggleDisableDeath(%client); + + if ( %typeName $= "TogglePracticeMode" && %client.isAdmin ) + TogglePracticeMode(%client); + + if( %typeName $= "ToggleRoles" && %client.isAdmin ) + TogglePlayerRoles(%client); + + if( %typeName $= "ToggleCrowd" && %client.isAdmin ) + ToggleCrowd(%client); + + if( %typeName $= "getQueuePos" ) + { + messageQueueClient(%client); + } + if( %typeName $= "toggleSpecLock" && %client.isAdmin ) + { + toggleSpectatorLock(%client); + } + + if( %typeName $= "toggleSpecOnly" ) + toggleSpecOnly(%client); + + if( %typeName $= "toggleSpecMode" ) + toggleSpectatorMode(%client); + + if( %typeName $= "tr2JoinGame" ) + { + reindexQueue(); + if( !$TR2::SpecLock && %client.queueSlot !$= "" && %client.queueSlot <= ((6 * 2) - getActiveCount()) ) + { + Game.assignClientTeam(%client); + Game.spawnPlayer(%client, $MatchStarted); + } + } + if( %typeName $= "tr2ForceFlagReturn" ) + { + if( %client.isAdmin && $TheFlag.carrier $= "" && (getSimTime() - $TheFlag.dropTime) >= 30000 ) + { + messageAll('MsgAdminForce', '\c0%1 forced the flag to return to the stand.', %client.name); + Game.flagReturn($TheFlag, 0); + } + } +} + +function toggleSpectatorMode(%client) +{ + if( %client.team <= 0 ) + { + %client.tr2SpecMode = !%client.tr2SpecMode; + if( %client.tr2SpecMode ) + { + %target = $TheFlag.carrier $= "" ? $TheFlag : $TheFlag.carrier.client; + %type = $TheFlag.carrier $= "" ? 2 : 1; + Game.observeObject(%client, %target, %type); + } + else + { + if( %client.camera.mode !$= "observerFly" ) + %client.camera.getDataBlock().setMode(%client.camera, "observerFly"); + } + } +} + +function toggleSpectatorLock(%client) +{ + $TR2::SpecLock = !$TR2::SpecLock; + %status = $TR2::SpecLock ? "locked spectators in observer mode." : "enabled the spectator queue."; + messageAll('MsgAdminForce', '\c0%1 %2.', %client.name, %status); +} + +function toggleSpecOnly(%client) +{ + %time = getSimTime() - %client.specOnlyTime; + if( %time > 10000 ) + { + %client.specOnly = !%client.specOnly; + %status = %client.specOnly ? "You have locked yourself as a spectator." : "You have entered the queue."; + messageClient(%client, 'MsgAdminForce', '\c2%1', %status); + reindexQueue(); + messageQueueClient(%client); + %client.specOnlyTime = getSimTime(); + + %vacant = ((6 * 2) - getActiveCount()); + if( !%client.specOnly && %vacant > 0 && %client.queueSlot <= %vacant ) + { + Game.assignClientTeam(%client, 0); + Game.spawnPlayer(%client, 0); + } + } + else + messageClient(%client, 'MsgTR2Wait', '\c0You must wait %1 seconds before using this option again!~wfx/powered/station_denied.wav', mFloor((10000 - %time)/1000) ); +} + +function TogglePlayerRoles(%client) +{ + $TR2::EnableRoles = !$TR2::EnableRoles; + %status = $TR2::EnableRoles ? "enabled player roles." : "disabled player roles."; + messageAll('MsgAdminForce', '\c2%1 %2', %client.name, %status); +} + +function ToggleCrowd(%client) +{ + if ($TR2::EnableCrowd) + Game.stopCrowd(); + + $TR2::EnableCrowd = !$TR2::EnableCrowd; + %status = $TR2::EnableCrowd ? "enabled the crowd." : "disabled the crowd"; + messageAll('MsgAdminForce', '\c2%1 %2', %client.name, %status); +} + +function ToggleDisableDeath(%client) +{ + $TR2::DisableDeath = !$TR2::DisableDeath; + %status = $TR2::DisableDeath ? "disabled Death." : "enabled Death."; + messageAll('MsgAdminForce', '\c2%1 %2', %client.name, %status); + + // Reset all players' knockdown status + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %cl = ClientGroup.getObject(%i); + %cl.knockedDown = false; + cancel(%cl.knockdownThread); + } +} + +function TogglePracticeMode(%client) +{ + $TR2::PracticeMode = !$TR2::PracticeMode; + %status = $TR2::PracticeMode ? "enabled Practice Mode." : "disabled Practice Mode."; + messageAll('MsgAdminForce', '\c2%1 %2', %client.name, %status); +} + +function Flag::shouldApplyImpulse(%data, %obj) +{ + // TR2: Get rid of flag discing + return false; +} + +function TR2ShockLanceImage::onFire(%this, %obj, %slot) +{ + if( %obj.isCloaked() ) + { + if( %obj.respawnCloakThread !$= "" ) + { + Cancel(%obj.respawnCloakThread); + %obj.setCloaked( false ); + } + else + { + if( %obj.getEnergyLevel() > 20 ) + { + %obj.setCloaked( false ); + %obj.reCloak = %obj.schedule( 500, "setCloaked", true ); + } + } + } + + %muzzlePos = %obj.getMuzzlePoint(%slot); + %muzzleVec = %obj.getMuzzleVector(%slot); + + %endPos = VectorAdd(%muzzlePos, VectorScale(%muzzleVec, %this.projectile.extension)); + + %damageMasks = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType | + $TypeMasks::StationObjectType | $TypeMasks::GeneratorObjectType | + $TypeMasks::SensorObjectType | $TypeMasks::TurretObjectType; + + %everythingElseMask = $TypeMasks::TerrainObjectType | + $TypeMasks::InteriorObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::StaticObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::DamagableItemObjectType; + + // did I miss anything? players, vehicles, stations, gens, sensors, turrets + %hit = ContainerRayCast(%muzzlePos, %endPos, %damageMasks | %everythingElseMask, %obj); + + %noDisplay = true; + + if (%hit !$= "0") + { + %obj.setEnergyLevel(%obj.getEnergyLevel() - %this.hitEnergy); + + %hitobj = getWord(%hit, 0); + %hitpos = getWord(%hit, 1) @ " " @ getWord(%hit, 2) @ " " @ getWord(%hit, 3); + + if ( %hitObj.getType() & %damageMasks ) + { + // TR2: Don't allow friendly lances + if (%obj.team == %hitobj.team) + return; + + %hitobj.applyImpulse(%hitpos, VectorScale(%muzzleVec, %this.projectile.impulse)); + %obj.playAudio(0, ShockLanceHitSound); + + // This is truly lame, but we need the sourceobject property present... + %p = new ShockLanceProjectile() { + dataBlock = %this.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + targetId = %hit; + }; + MissionCleanup.add(%p); + + %damageMultiplier = 1.0; + + if(%hitObj.getDataBlock().getClassName() $= "PlayerData") + { + // Now we see if we hit from behind... + %forwardVec = %hitobj.getForwardVector(); + %objDir2D = getWord(%forwardVec, 0) @ " " @ getWord(%forwardVec,1) @ " " @ "0.0"; + %objPos = %hitObj.getPosition(); + %dif = VectorSub(%objPos, %muzzlePos); + %dif = getWord(%dif, 0) @ " " @ getWord(%dif, 1) @ " 0"; + %dif = VectorNormalize(%dif); + %dot = VectorDot(%dif, %objDir2D); + + // 120 Deg angle test... + // 1.05 == 60 degrees in radians + if (%dot >= mCos(1.05)) { + // Rear hit + %damageMultiplier = 3.0; + } + } + + %totalDamage = %this.Projectile.DirectDamage * %damageMultiplier; + %hitObj.getDataBlock().damageObject(%hitobj, %p.sourceObject, %hitpos, %totalDamage, $DamageType::ShockLance); + + %noDisplay = false; + } + } + + if( %noDisplay ) + { + // Miss + %obj.setEnergyLevel(%obj.getEnergyLevel() - %this.missEnergy); + %obj.playAudio(0, ShockLanceMissSound); + + %p = new ShockLanceProjectile() { + dataBlock = %this.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + }; + MissionCleanup.add(%p); + + } +} + + +function Armor::onCollision(%this,%obj,%col,%forceVehicleNode) +{ + // Don't allow corpse looting + %dataBlock = %col.getDataBlock(); + %className = %dataBlock.className; + if (%className $= "Armor") + if (%col.getState() $= "Dead") + return; + + Parent::onCollision(%this, %obj, %col, %forceVehicleNode); + + if (%obj.getState() $= "Dead") + return; + + %obj.delayRoleChangeTime = getSimTime(); + + %dataBlock = %col.getDataBlock(); + %className = %dataBlock.className; + %client = %obj.client; + if (%className $= "Armor") + { + if (%col.getState() $= "Dead" || %obj.invincible) + return; + + CollisionBonus.evaluate(%obj, %col); + } +} + +function Armor::onDisabled(%this, %obj, %state) +{ + Game.assignOutermostRole(%obj.client); + if (!$TR2::DisableDeath || %obj.client.forceRespawn) + Parent::onDisabled(%this, %obj, %state); +} + +function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC) +{ + //echo("Armor::damageObject() (targetClient = " @ getTaggedString(%targetObject.client.name) @ ")"); + //echo("Armor::damageObject() (sourceClient = " @ getTaggedString(%sourceObject.client.name) @ ")"); + //echo("Armor::damageObject() (sourceObj = " @ %sourceObject @ ")"); + + if (Game.goalJustScored) + return; + + //if (%sourceObject == 0) + //{ + //%targetObject.schedule(2, "setDataBlock", TR2HeavyMaleHumanArmor); + %targetObject.delayRoleChangeTime = getSimTime(); + //} + return Parent::DamageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC); +} + +function ShapeBase::getHeight(%this) +{ + %z = getWord(%this.getPosition(), 2); + return (%z - getTerrainHeight(%this.getPosition())); +} + +function ShapeBase::getSpeed(%this) +{ + return (VectorLen(%this.getVelocity())); +} + +function ShapeBase::isOutOfBounds(%this) +{ + %shapePos = %this.getPosition(); + %shapex = firstWord(%shapePos); + %shapey = getWord(%shapePos, 1); + %bounds = MissionArea.area; + %boundsWest = firstWord(%bounds); + %boundsNorth = getWord(%bounds, 1); + %boundsEast = %boundsWest + getWord(%bounds, 2); + %boundsSouth = %boundsNorth + getWord(%bounds, 3); + + return (%shapex < %boundsWest || %shapex > %boundsEast || + %shapey < %boundsNorth || %shapey > %boundsSouth); +} + +function ShapeBase::bounceOffGrid(%this, %bounceForce) +{ + if (%bounceForce $= "") + %bounceForce = 85; + + %oldVel = %this.getVelocity(); + %this.setVelocity("0 0 0"); + + %vecx = firstWord(%oldVel); + %vecy = getWord(%oldVel, 1); + %vecz = getWord(%oldVel, 2); + + %shapePos = %this.getPosition(); + %shapex = firstWord(%shapePos); + %shapey = getWord(%shapePos, 1); + %bounds = MissionArea.area; + %boundsWest = firstWord(%bounds); + %boundsNorth = getWord(%bounds, 1); + %boundsEast = %boundsWest + getWord(%bounds, 2); + %boundsSouth = %boundsNorth + getWord(%bounds, 3); + + // Two cases: 1) object is at E or W side; 2) object is at N or S side + if((%shapex <= %boundsWest) || (%shapex >= %boundsEast)) + %vecx = -%vecx; + else + %vecy = -%vecy; + + %vec = %vecx SPC %vecy SPC %vecz; + + // normalize the vector, scale it + //%vecNorm = VectorNormalize(%vec); + //%vec = VectorScale(%vecNorm, 100 * %bounceForce); + + // If the object's speed was pretty slow, give it a boost + %oldSpeed = VectorLen(%oldVel); + if (%oldSpeed < $TR2_MinimumGridBoost) + { + %vec = VectorNormalize(%vec); + %vec = VectorScale(%vec, $TR2_MinimumGridBoost); + } + else + %vec = VectorScale(%vec, $TR2_GridVelocityScale); + + // apply the impulse to the flag object + //%this.applyImpulse(%this.getWorldBoxCenter(), %vec); + %this.setVelocity(%vec); +} + +function Observer::setMode(%data, %obj, %mode, %targetObj) +{ + if(%mode $= "") + return; + + %client = %obj.getControllingClient(); + + %obsVector = $TR2_playerObserveParameters; + + if (%client > 0 && %client.obsZoomLevel !$= "") + %zoomLevel = %client.obsZoomLevel; + else + %zoomLevel = 0; + %obsVector = VectorScale(%obsVector, $TR2::ObsZoomScale[%zoomLevel]); + + %obsx = getWord(%obsVector, 0); + %obsy = getWord(%obsVector, 1); + %obsz = getWord(%obsVector, 2); + + switch$ (%mode) { + case "justJoined": + commandToClient(%client, 'setHudMode', 'Observer'); + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + + case "followFlag": + // Follow the dropped flag (hopefully) + %position = %targetObj.getPosition(); + %newTransform = %position SPC %client.lastObsRot; + %obj.setOrbitMode(%targetObj, %newTransform, %obsx, %obsy, %obsz); + //%obj.setOrbitMode(%targetObj, %targetObj.getTransform(), %obsx, %obsy, %obsz); + %obj.mode = %mode; + + + case "pre-game": + commandToClient(%client, 'setHudMode', 'Observer'); + %obj.setOrbitMode( %targetObj, %targetObj.getTransform(), %obsx, %obsy, %obsz); + + case "observerFollow": + // Observer attached to a moving object (assume player for now...) + %position = %targetObj.getPosition(); + %transform = %position SPC %client.lastObsRot; + + //%obj.setOrbitMode(%targetObj, %newTransform, %obsx, %obsy, %obsz); + //%transform = %targetObj.getTransform(); + + if( !%targetObj.isMounted() ) + %obj.setOrbitMode(%targetObj, %transform, %obsx, %obsy, %obsz); + else + { + %mount = %targetObj.getObjectMount(); + if( %mount.getDataBlock().observeParameters $= "" ) + %params = %transform; + else + %params = %mount.getDataBlock().observeParameters; + + %obj.setOrbitMode(%mount, %mount.getTransform(), getWord( %params, 0 ), getWord( %params, 1 ), getWord( %params, 2 )); + } + case "observerFly": + // Free-flying observer camera + commandToClient(%client, 'setHudMode', 'Observer'); + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + + case "observerStatic" or "observerStaticNoNext": + // Non-moving observer camera + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + + case "observerTimeout": + commandToClient(%client, 'setHudMode', 'Observer'); + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + } + %obj.mode = %mode; +} + +function ShapeBaseImageData::onFire(%data, %obj, %slot) +{ + //if (Game.goalJustScored) + // return; + + %data.lightStart = getSimTime(); + + // TR2: No need for cloak logic + //if( %obj.station $= "" && %obj.isCloaked() ) + //{ + // if( %obj.respawnCloakThread !$= "" ) + // { + // Cancel(%obj.respawnCloakThread); + // %obj.setCloaked( false ); + // %obj.respawnCloakThread = ""; + // } + // else + // { + // if( %obj.getEnergyLevel() > 20 ) + // { + // %obj.setCloaked( false ); + // %obj.reCloak = %obj.schedule( 500, "setCloaked", true ); + // } + // } + //} + + // TR2: Delay the disabling of invincibility to allow one free disc jump + if( %obj.client > 0 ) + { + %obj.setInvincibleMode(0 ,0.00); + %obj.schedule(200, "setInvincible", false ); // fire your weapon and your invincibility goes away. + } + + %vehicle = 0; + if(%data.usesEnergy) + { + if(%data.useMountEnergy) + { + %useEnergyObj = %obj.getObjectMount(); + if(!%useEnergyObj) + %useEnergyObj = %obj; + %energy = %useEnergyObj.getEnergyLevel(); + %vehicle = %useEnergyObj; + } + else + %energy = %obj.getEnergyLevel(); + + if(%data.useCapacitor && %data.usesEnergy) + { + if( %useEnergyObj.turretObject.getCapacitorLevel() < %data.minEnergy ) + { + return; + } + } + else if(%energy < %data.minEnergy) + return; + } + if(%data.projectileSpread) + { + %vector = %obj.getMuzzleVector(%slot); + %x = (getRandom() - 0.5) * 2 * 3.1415926 * %data.projectileSpread; + %y = (getRandom() - 0.5) * 2 * 3.1415926 * %data.projectileSpread; + %z = (getRandom() - 0.5) * 2 * 3.1415926 * %data.projectileSpread; + %mat = MatrixCreateFromEuler(%x @ " " @ %y @ " " @ %z); + %vector = MatrixMulVector(%mat, %vector); + + %p = new (%data.projectileType)() { + dataBlock = %data.projectile; + initialDirection = %vector; + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + vehicleObject = %vehicle; + }; + } + else + { + %p = new (%data.projectileType)() { + dataBlock = %data.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + vehicleObject = %vehicle; + }; + // echo("blah"); + } + + if (isObject(%obj.lastProjectile) && %obj.deleteLastProjectile) + %obj.lastProjectile.delete(); + + %obj.lastProjectile = %p; + %obj.deleteLastProjectile = %data.deleteLastProjectile; + MissionCleanup.add(%p); + + // AI hook + if(%obj.client) + %obj.client.projectile = %p; + + if(%data.usesEnergy) + { + if(%data.useMountEnergy) + { + if( %data.useCapacitor ) + { + %vehicle.turretObject.setCapacitorLevel( %vehicle.turretObject.getCapacitorLevel() - %data.fireEnergy ); + } + else + %useEnergyObj.setEnergyLevel(%energy - %data.fireEnergy); + } + else + %obj.setEnergyLevel(%energy - %data.fireEnergy); + } + else + %obj.decInventory(%data.ammo,1); + return %p; +} + +function updateScores() +{ + if ( !isObject( Game ) ) + return; + + %numTeams = Game.numTeams; + + // Initialize the team counts: + for ( %teamIndex = 0; %teamIndex <= %numTeams; %teamIndex++ ) + Game.teamCount[%teamIndex] = 0; + + %count = ClientGroup.getCount(); + for ( %clientIndex = 0; %clientIndex < %count; %clientIndex++ ) + { + %cl = ClientGroup.getObject( %clientIndex ); + %team = %cl.getSensorGroup(); + if ( %numTeams == 1 && %team != 0 ) + %team = 1; + Game.teamScores[%team, Game.teamCount[%team], 0] = %cl.name; + if ( %cl.score $= "" ) + Game.teamScores[%team, Game.teamCount[%team], 1] = 0; + else + Game.teamScores[%team, Game.teamCount[%team], 1] = %cl.passingScore + %cl.receivingScore; + Game.teamCount[%team]++; + } +} + +// Ugly, non-gametype specific code to deal with tourney mode :/ +function serverCmdClientPickedTeam( %client, %option ) +{ + if( Game.class $= "TR2Game" && %client.lastTeam <= 0 ) + { + Game.forceObserver( %client, "playerChoose" ); + return; + } + + switch(%option) + { + case 1: + if ( isObject(%client.player) ) + { + %client.player.scriptKill(0); + Game.clientChangeTeam(%client, %option, 0); + } + else + Game.clientJoinTeam( %client, %option, false ); + case 2: + if ( isObject(%client.player) ) + { + %client.player.scriptKill(0); + Game.clientChangeTeam(%client, %option, 0); + } + else + Game.clientJoinTeam( %client, %option, false ); + case 3: + if( !isObject(%client.player) ) + { + Game.assignClientTeam( %client, $MatchStarted ); + Game.spawnPlayer( %client, false ); + } + default: + if( isObject(%client.player) ) + { + %client.player.scriptKill(0); + ClearBottomPrint(%client); + } + Game.forceObserver( %client, "playerChoose" ); + %client.observerMode = "observer"; + %client.notReady = false; + return; + } + // End z0dd - ZOD + // ------------------------------------------------------------------------------------ + ClearBottomPrint(%client); + %client.observerMode = "pregame"; + %client.notReady = true; + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + commandToClient(%client, 'setHudMode', 'Observer'); + + + %client.setControlObject( %client.camera ); + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); +} + +function playerPickTeam( %client ) +{ + if( Game.class $= "TR2Game" ) + { + if( %client.lastTeam > 0 ) + schedule( 0, 0, "commandToClient", %client, 'pickTeamMenu', Game.getTeamName(1), Game.getTeamName(2)); + } + else + { + %numTeams = Game.numTeams; + if(%numTeams > 1) + { + %client.camera.mode = "PickingTeam"; + schedule( 0, 0, "commandToClient", %client, 'pickTeamMenu', Game.getTeamName(1), Game.getTeamName(2)); + } + else + { + Game.clientJoinTeam(%client, 0, 0); + %client.observerMode = "pregame"; + %client.notReady = true; + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); + %client.setControlObject( %client.camera ); + } + } +} + +function Beacon::onUse(%data, %obj) +{ + // look for 3 meters along player's viewpoint for interior or terrain + // TR2: increased + //%searchRange = 3.0; + %searchRange = 5.2; + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType; + // get the eye vector and eye transform of the player + %eyeVec = %obj.getEyeVector(); + %eyeTrans = %obj.getEyeTransform(); + // extract the position of the player's camera from the eye transform (first 3 words) + %eyePos = posFromTransform(%eyeTrans); + // normalize the eye vector + %nEyeVec = VectorNormalize(%eyeVec); + // scale (lengthen) the normalized eye vector according to the search range + %scEyeVec = VectorScale(%nEyeVec, %searchRange); + // add the scaled & normalized eye vector to the position of the camera + %eyeEnd = VectorAdd(%eyePos, %scEyeVec); + // see if anything gets hit + %searchResult = containerRayCast(%eyePos, %eyeEnd, %mask, 0); + if(!%searchResult ) + { + // no terrain/interior collision within search range + if(%obj.inv[%data.getName()] > 0) + messageClient(%obj.client, 'MsgBeaconNoSurface', '\c2Cannot place beacon. Too far from surface.'); + return 0; + } + else + { + %searchObj = GetWord(%searchResult, 0); + if(%searchObj.getType() & ($TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType) ) + { + // if there's already a beacon where player is aiming, switch its type + // otherwise, player can't deploy a beacon there + if(%searchObj.getDataBlock().getName() $= TR2DeployedBeacon) + switchBeaconType(%searchObj); + else + messageClient(%obj.client, 'MsgBeaconNoSurface', '\c2Cannot place beacon. Not a valid surface.'); + return 0; + } + else if(%obj.inv[%data.getName()] <= 0) + return 0; + } + // newly deployed beacons default to "target" type + //if($TeamDeployedCount[%obj.team, TargetBeacon] >= $TeamDeployableMax[TargetBeacon]) + //{ + // messageClient(%obj.client, 'MsgDeployFailed', '\c2Your team\'s control network has reached its capacity for this item.~wfx/misc/misc.error.wav'); + // return 0; + //} + %terrPt = posFromRaycast(%searchResult); + %terrNrm = normalFromRaycast(%searchResult); + + %intAngle = getTerrainAngle(%terrNrm); // getTerrainAngle() function found in staticShape.cs + %rotAxis = vectorNormalize(vectorCross(%terrNrm, "0 0 1")); + if (getWord(%terrNrm, 2) == 1 || getWord(%terrNrm, 2) == -1) + %rotAxis = vectorNormalize(vectorCross(%terrNrm, "0 1 0")); + %rotation = %rotAxis @ " " @ %intAngle; + + // TR2: T1-style beacon stop + %playerSpeed = %obj.getSpeed(); + if (%obj.isJetting) + %obj.setVelocity("0 0 " @ %playerSpeed * $TR2_beaconStopScale); + else + %obj.setVelocity("0 0 0"); + if (%playerSpeed > 17) + serverPlay3D(CarScreechSound, %obj.getPosition()); + + %obj.decInventory(%data, 1); + %depBeac = new BeaconObject() { + dataBlock = "DeployedBeacon"; + position = VectorAdd(%terrPt, VectorScale(%terrNrm, 0.05)); + rotation = %rotation; + }; + //$TeamDeployedCount[%obj.team, TargetBeacon]++; + + // TR2: Auto-delete beacon + %depBeac.startFade(2 * 1000, 0, true); + %depBeac.schedule(3 * 1000, "delete"); + + + %depBeac.playThread($AmbientThread, "ambient"); + %depBeac.team = %obj.team; + %depBeac.sourceObject = %obj; + + // give it a team target + %depBeac.setTarget(%depBeac.team); + MissionCleanup.add(%depBeac); +} + +function ShapeBase::throwObject(%this,%obj) +{ + //if the object is being thrown by a corpse, use a random vector + if (%this.getState() $= "Dead" && %obj.getDataBlock().getName() !$= "TR2Flag1" ) + { + %vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom(); + %vec = vectorScale(%vec, 10); + } + + // else Initial vel based on the dir the player is looking + else + { + %eye = %this.getEyeVector(); + %vec = vectorScale(%eye, 20); + } + + // Add player's velocity + %vec = vectorAdd(%vec, %this.getVelocity()); + %pos = getBoxCenter(%this.getWorldBox()); + + // Add a vertical component to give the item a better arc + %dot = vectorDot("0 0 1",%eye); + if (%dot < 0) + %dot = -%dot; + + + + //since flags have a huge mass (so when you shoot them, they don't bounce too far) + //we need to up the %vec so that you can still throw them... + if (%obj.getDataBlock().getName() $= "TR2Flag1") + { + // Add the throw strength, which ranges from 0.2 - 1.2 + // Make it range from 0 - 1 + //%addedStrength = %this.flagThrowStrength/1.25 - 0.2; + %addedStrength = %this.flagThrowStrength - 0.2; + %addedStrength *= $TR2_FlagThrowScale; + + %vec = vectorAdd(%vec,vectorScale("0 0 " @ $TR2_UpwardFlagThrust,1 - %dot)); + %flagVel = %this.getVelocity(); + %playerRot = %this.getEyeVector(); + %testDirection = VectorDot(VectorNormalize(%playerVel), VectorNormalize(%playerRot)); + //%flagVel = VectorScale(%flagVel, 50); + %playerVel = VectorNormalize(%this.getVelocity()); + if (%obj.oneTimer) + { + %playerVel = VectorScale(%playerVel, $TR2_PlayerVelocityAddedToFlagThrust / 1.3); + %addedStrength *= 1.1; + //%obj.oneTimer = 0; + } + else + %playerVel = VectorScale(%playerVel, $TR2_PlayerVelocityAddedToFlagThrust); + %playerRot = VectorScale(%playerRot, $TR2_ForwardFlagThrust * %addedStrength); + //%pos = VectorAdd(VectorNormalize(%playerRot), %this.getPosition()); + + %vec = VectorAdd(%vec, %playerVel); + %vec = VectorAdd(%vec, %playerRot); + + + // Don't apply the velocity impulse if the player is facing one direction + // but travelling in the other + //if (%testDirection > -0.85) + %newVel = VectorAdd(%playerVel, %newVel); + + // apply the impulse to the flag object + //%flag.applyImpulse(%flag.getPosition(), %newVel); + %vec = vectorScale(%vec, $TR2_GeneralFlagBoost); + //%vec = %newVel; + //echo("applying flag impulse: " @ %vec); + + // Remember the throw velocity in case T2's flag re-catch bug rears + // its ugly head, and we need to re-boost it + //%obj.throwVelocity = %vec; + + // Try adjust the flag to start further away from the player in order to + // bypass T2's re-catch bug + %extend = VectorScale(VectorNormalize(%this.getEyeVector()), 2); + %pos = VectorAdd(%extend, %pos); + + %this.throwStrength = 0; + } + + %obj.setTransform(%pos); + %obj.applyImpulse(%pos,%vec); + %obj.setCollisionTimeout(%this); + %data = %obj.getDatablock(); + %data.onThrow(%obj,%this); + + //call the AI hook + //AIThrowObject(%obj); +} + +// classic hoses this up. +// using the grenade throw from 24834 +function HandInventory::onUse(%data, %obj) +{ + // %obj = player %data = datablock of what's being thrown + if(Game.handInvOnUse(%data, %obj)) + { + //AI HOOK - If you change the %throwStren, tell Tinman!!! + //Or edit aiInventory.cs and search for: use(%grenadeType); + + %tossTimeout = getSimTime() - %obj.lastThrowTime[%data]; + if(%tossTimeout < $HandInvThrowTimeout) + return; + + %throwStren = %obj.throwStrength; + + %obj.decInventory(%data, 1); + %thrownItem = new Item() + { + dataBlock = %data.thrownItem; + sourceObject = %obj; + }; + MissionCleanup.add(%thrownItem); + + // throw it + %eye = %obj.getEyeVector(); + %vec = vectorScale(%eye, (%throwStren * 20.0)); + + // add a vertical component to give it a better arc + %dot = vectorDot("0 0 1", %eye); + if(%dot < 0) + %dot = -%dot; + %vec = vectorAdd(%vec, vectorScale("0 0 4", 1 - %dot)); + + // add player's velocity + %vec = vectorAdd(%vec, vectorScale(%obj.getVelocity(), 0.4)); + %pos = getBoxCenter(%obj.getWorldBox()); + + + %thrownItem.sourceObject = %obj; + %thrownItem.team = %obj.team; + %thrownItem.setTransform(%pos); + + %thrownItem.applyImpulse(%pos, %vec); + %thrownItem.setCollisionTimeout(%obj); + serverPlay3D(GrenadeThrowSound, %pos); + %obj.lastThrowTime[%data] = getSimTime(); + + %thrownItem.getDataBlock().onThrow(%thrownItem, %obj); + %obj.throwStrength = 0; + } +} + +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Particles.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Particles.cs new file mode 100644 index 00000000..00730a3d --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Particles.cs @@ -0,0 +1,202 @@ +datablock ParticleData(TR2FlagParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.8; + constantAcceleration = 0.3; + lifetimeMS = 5000; + lifetimeVarianceMS = 50; + textureName = "special/Smoke/bigSmoke"; // special/Smoke/bigSmoke special/droplet + colors[0] = "0.5 0.25 0 1"; + colors[1] = "0 0.25 0.5 1"; + sizes[0] = 0.80; + sizes[1] = 0.60; +}; + +datablock ParticleEmitterData(TR2FlagEmitter) +{ + ejectionPeriodMS = 75; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 5; + phiReferenceVel = 0; + phiVariance = 360; + lifetimeMS = 5000; + overrideAdvances = false; + particles = "TR2FlagParticle"; +}; + +datablock ParticleData(GridjumpParticle) +{ + dragCoefficient = 0; + gravityCoefficient = -0.017094; + inheritedVelFactor = 0.0176125; + constantAcceleration = -1.1129; + lifetimeMS = 258; + lifetimeVarianceMS = 60; + useInvAlpha = 1; + spinRandomMin = -200; + spinRandomMax = 200; + textureName = "special/Smoke/smoke_001"; + colors[0] = "0.000000 0.877165 0.000000 1.000000"; + colors[1] = "0.181102 0.981102 0.181102 1.000000"; + colors[2] = "0.000000 0.800000 0.000000 0.000000"; + colors[3] = "1.000000 1.000000 1.000000 1.000000"; + sizes[0] = 0.991882; + sizes[1] = 2.99091; + sizes[2] = 4.98993; + sizes[3] = 1; + times[0] = 0; + times[1] = 0.2; + times[2] = 1; + times[3] = 2; +}; + +datablock ParticleEmitterData(GridjumpEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 100.25; + velocityVariance = 0.25; + ejectionOffset = 0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = 0; + orientParticles= 0; + orientToNormal = 0; + orientOnVelocity = 1; + particles = "GridjumpParticle"; + lifetimeMS = 1000; +}; + +datablock ParticleData(MidairDiscParticle) +{ + dragCoefficient = 0; + gravityCoefficient = -0.017094; + inheritedVelFactor = 0.0176125; + constantAcceleration = -1.1129; + lifetimeMS = 2258; + lifetimeVarianceMS = 604; + useInvAlpha = 1; + spinRandomMin = -200; + spinRandomMax = 200; + textureName = "special/Smoke/smoke_001"; + colors[0] = "0.000000 0.077165 0.700000 1.000000"; + colors[1] = "0.181102 0.181102 0.781102 1.000000"; + colors[2] = "0.000000 0.000000 0.600000 0.000000"; + colors[3] = "1.000000 1.000000 1.000000 1.000000"; + sizes[0] = 0.991882; + sizes[1] = 2.99091; + sizes[2] = 4.98993; + sizes[3] = 1; + times[0] = 0; + times[1] = 0.2; + times[2] = 1; + times[3] = 2; +}; + +datablock ParticleEmitterData(MidairDiscEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 10.25; + velocityVariance = 0.25; + ejectionOffset = 0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = 0; + orientParticles= 0; + orientToNormal = 0; + orientOnVelocity = 1; + lifetimeMS = 1000; + particles = "MidairDiscParticle"; +}; + +datablock ParticleData(CannonParticle) +{ + dragCoefficient = 0; + gravityCoefficient = -0.017094; + inheritedVelFactor = 0.0176125; + constantAcceleration = -1.1129; + lifetimeMS = 258; + lifetimeVarianceMS = 60; + useInvAlpha = 1; + spinRandomMin = -200; + spinRandomMax = 200; + textureName = "special/Smoke/smoke_001"; + colors[0] = "0.000000 0.0 0.000000 1.000000"; + colors[1] = "0.181102 0.181102 0.181102 1.000000"; + colors[2] = "0.8000000 0.800000 0.800000 0.000000"; + colors[3] = "1.000000 1.000000 1.000000 1.000000"; + sizes[0] = 2.991882; + sizes[1] = 4.99091; + sizes[2] = 6.98993; + sizes[3] = 1; + times[0] = 0; + times[1] = 0.2; + times[2] = 1; + times[3] = 2; +}; + +datablock ParticleEmitterData(CannonEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 20.25; + velocityVariance = 0.5; + ejectionOffset = 0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = 0; + orientParticles= 0; + orientToNormal = 0; + orientOnVelocity = 1; + particles = "CannonParticle"; + lifetimeMS = 2500; +}; + +datablock ParticleData( RoleChangeParticle ) +{ + dragCoefficient = 0; + gravityCoefficient = -1.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 10.5; + sizes[1] = 30.2; + sizes[2] = 30.2; + times[0] = 0.0; + times[1] = 0.15; + times[2] = 0.2; +}; + +datablock ParticleEmitterData( RoleChangeEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 800; + particles = "RoleChangeParticle"; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Penalties.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Penalties.cs new file mode 100644 index 00000000..cbf4bd01 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Penalties.cs @@ -0,0 +1,7 @@ +// Penalties + +new ScriptObject(TeamkillPenalty) +{ +}; + + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Physics.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Physics.cs new file mode 100644 index 00000000..c556b61f --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Physics.cs @@ -0,0 +1,653 @@ +// Flag physics +$TR2_UpwardFlagThrust = 23; +$TR2_ForwardFlagThrust = 42.3; +$TR2_GeneralFlagBoost = 22.4; +$TR2_PlayerVelocityAddedToFlagThrust = 32; +$TR2_FlagFriction = 0.7;//0.7;//1.3; +$TR2_FlagMass = 30; +$TR2_FlagDensity = 0.25; +$TR2_FlagElasticity = 0.1;//0.2; + +// This controls the range of possible strengths +$TR2_FlagThrowScale = 3.0; + +$TR2::Gravity = -43;//-41; + +// Misc +$TR2_BeaconStopScale = 0.7; + +// Grid +$TR2_MinimumGridBoost = 80; +$TR2_GridVelocityScale = 1.15; +$TR2_MaximumGridSpeed = 310; + +// Player camera +$TR2_player3rdPersonDistance = 7; +$TR2_playerObserveParameters = "1.0 18.0 18.0"; + +// Player physics (light armor only) +$TR2_playerNoFrictionOnSki = true; +$TR2_playerMass = 130; +$TR2_playerDrag = 0.003;//0.2; // +$TR2_playerMaxdrag = 0.005;//0.4; +$TR2_playerDensity = 1.2;//10; +$TR2_playerRechargeRate = 0.251;//0.256; +$TR2_playerJetForce = 7030;//4000;//26.21 * 90; +$TR2_playerUnderwaterJetForce = 5800;//26.21 * 90 * 1.75; +$TR2_playerUnderwaterVertJetFactor = 1.0;//1.5; +$TR2_playerJetEnergyDrain = 0.81;//0.8; +$TR2_playerUnderwaterJetEnergyDrain = 0.5;//0.6; +$TR2_playerMinJetEnergy = 5;//1; +$TR2_playerMaxJetHorizontalPercentage = 0.8;//0.8; +$TR2_playerRunForce = 12500;//12400;//4500;//55.20 * 90; +$TR2_playerMaxForwardSpeed = 25;//16;//15; +$TR2_playerMaxBackwardSpeed = 23;//16;//13; +$TR2_playerMaxSideSpeed = 23;//16;//13; +$TR2_playerMaxUnderwaterForwardSpeed = 16; +$TR2_playerMaxUnderwaterBackwardSpeed = 15; +$TR2_playerMaxUnderwaterSideSpeed = 15; +$TR2_playerJumpForce = 1800;//8.3 * 90; +$TR2_playerRecoverDelay = 0;//9; +$TR2_playerRecoverRunForceScale = 2;//1.2; +$TR2_playerMinImpactSpeed = 75;//45; +$TR2_playerSpeedDamageScale = 0.001;//0.004; +$TR2_playerBoundingBox = "2.4 2.1 4.6";//"3 3 4.0";//"1.2 1.2 2.3"; +$TR2_playerRunSurfaceAngle = 90;//70; +$TR2_playerJumpSurfaceAngle = 90;//80; +$TR2_playerMinJumpSpeed = 600; +$TR2_playerMaxJumpSpeed = 700;//30; +$TR2_playerHorizMaxSpeed = 10000; +$TR2_playerHorizResistSpeed = 10000;//200;//445;//33 * 1.15; +$TR2_playerHorizResistFactor = 0.0;//0.15;//0.35; +$TR2_playerMaxJetForwardSpeed = 50;//57;//42;//30 * 1.5; +$TR2_playerUpMaxSpeed = 10000;//80; +$TR2_playerUpResistSpeed = 38;//200;//150;//25; +$TR2_playerUpResistFactor = 0.05;//0.15;//0.55;//0.30; + +// Unused +$TR2_ForwardHandGrenadeThrust = 0; + +$StaticTSObjects[$NumStaticTSObjects] = "PlayerArmors TR2LightMaleHumanArmorImage TR2light_male.dts"; +$NumStaticTSObjects++; +$StaticTSObjects[$NumStaticTSObjects] = "PlayerArmors TR2LightFemaleHumanArmorImage TR2light_female.dts"; +$NumStaticTSObjects++; + +exec("scripts/TR2light_male.cs"); +exec("scripts/TR2light_female.cs"); +exec("scripts/TR2medium_male.cs"); +exec("scripts/TR2medium_female.cs"); +exec("scripts/TR2heavy_male.cs"); + +datablock AudioProfile(TR2SkiAllSoftSound) +{ + filename = "fx/armor/TR2ski_soft.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock PlayerData(TR2LightMaleHumanArmor) : LightPlayerDamageProfile +{ + // KP: Use this to turn ski friction on and off + noFrictionOnSki = $TR2_playerNoFrictionOnSki; + + emap = true; + //offset = $TR2_playerOffset; + + className = Armor; + shapeFile = "TR2light_male.dts"; + cameraMaxDist = $TR2_player3rdPersonDistance; + computeCRC = false; + + canObserve = true; + cmdCategory = "Clients"; + cmdIcon = CMDPlayerIcon; + cmdMiniIconName = "commander/MiniIcons/TR2com_player_grey"; + //targetTypeTag = 'Flag'; + + hudImageNameFriendly[0] = "gui/TR2hud_playertriangle"; + hudImageNameEnemy[0] = "gui/TR2hud_playertriangle_enemy"; + hudRenderModulated[0] = true; + hudRenderAlways[0] = true; + hudRenderCenter[0] = false; + + hudImageNameFriendly[1] = "commander/MiniIcons/TR2com_flag_grey"; + hudImageNameEnemy[1] = "commander/MiniIcons/TR2com_flag_grey"; + hudRenderModulated[1] = true; + hudRenderAlways[1] = true; + hudRenderCenter[1] = true; + hudRenderDistance[1] = true; + + hudImageNameFriendly[2] = "commander/MiniIcons/TR2com_flag_grey"; + hudImageNameEnemy[2] = "commander/MiniIcons/TR2com_flag_grey"; + hudRenderModulated[2] = true; + hudRenderAlways[2] = true; + hudRenderCenter[2] = true; + hudRenderDistance[2] = true; + + cameraDefaultFov = 97.0; + cameraMinFov = 5.0; + cameraMaxFov = 120.0; + + debrisShapeName = "debris_player.dts"; + debris = playerDebris; + + aiAvoidThis = true; + + minLookAngle = -1.5;//-1.5; + maxLookAngle = 1.5;//1.5; + maxFreelookAngle = 3.5;//3.0; + + // KP: Mass affects all forces...very important + mass = $TR2_playerMass;//90; + + // KP: Drag affects movement through liquids + drag = $TR2_playerDrag; + maxdrag = $TR2_playerMaxDrag; + + // KP: Density affects water buoyancy...water skiing is back! + density = $TR2_playerDensity;//10; + + maxDamage = 0.62; + maxEnergy = 60;//60; + repairRate = 0.0033; + energyPerDamagePoint = 70.0; // shield energy required to block one point of damage + + // KP: How fast your jets will charge + rechargeRate = $TR2_playerRechargeRate; + + // KP: The force of your jets (critically important) + jetForce = $TR2_playerJetForce; + + underwaterJetForce = $TR2_playerUnderwaterJetForce; + underwaterVertJetFactor = $TR2_playerUnderwaterVertJetFactor; + + // KP: How quickly your energy drains + jetEnergyDrain = $TR2_playerJetEnergyDrain; + + underwaterJetEnergyDrain = $TR2_playerUnderwaterJetEnergyDrain; + + // KP: Minimum amount of energy you need in order to jet + minJetEnergy = $TR2_playerminJetEnergy; + + // KP: Percentage of jets applied to strafing + maxJetHorizontalPercentage = $TR2_playerMaxJetHorizontalPercentage; + + // KP: This seems to affect the speed at which you can come to a stop, but if + // it's too low, you slide all around the terrain. + runForce = $TR2_playerRunForce; + + runEnergyDrain = 0; + minRunEnergy = 0; + + // KP: These are your walking speeds + maxForwardSpeed = $TR2_playerMaxForwardSpeed; + maxBackwardSpeed = $TR2_playerMaxBackwardSpeed; + maxSideSpeed = $TR2_playerMaxSideSpeed; + + maxUnderwaterForwardSpeed = $TR2_playerMaxUnderwaterForwardSpeed; + maxUnderwaterBackwardSpeed = $TR2_playerMaxUnderwaterBackwardSpeed; + maxUnderwaterSideSpeed = $TR2_playerMaxUnderwaterSideSpeed; + + // KP: Your jump force + jumpForce = $TR2_playerJumpForce; + + jumpEnergyDrain = 0; + minJumpEnergy = 0; + jumpDelay = 0; + + // KP: Not 100% sure what this is...looking at Torque, it seems to affect + // your momentum when you land heavily on terrain + recoverDelay = $TR2_playerRecoverDelay; + recoverRunForceScale = $TR2_playerRecoverRunForceScale; + + // KP: This controls the damage that you take on impact (most important for + // inserting another degree of skill into skiing) + minImpactSpeed = $TR2_playerMinImpactSpeed; + speedDamageScale = $TR2_playerSpeedDamageScale; + + jetSound = ArmorJetSound; + wetJetSound = ArmorJetSound; + jetEmitter = HumanArmorJetEmitter; + jetEffect = HumanArmorJetEffect; + + boundingBox = $TR2_playerBoundingBox; + pickupRadius = 1.5;//0.75; + + // damage location details + boxNormalHeadPercentage = 0.83; + boxNormalTorsoPercentage = 0.49; + boxHeadLeftPercentage = 0; + boxHeadRightPercentage = 1; + boxHeadBackPercentage = 0; + boxHeadFrontPercentage = 1; + + //Foot Prints + decalData = LightMaleFootprint; + decalOffset = 0.25; + + footPuffEmitter = LightPuffEmitter; + footPuffNumParts = 15; + footPuffRadius = 0.25; + + dustEmitter = LiftoffDustEmitter; + + splash = PlayerSplash; + splashVelocity = 4.0; + splashAngle = 67.0; + splashFreqMod = 300.0; + splashVelEpsilon = 0.60; + bubbleEmitTime = 0.4; + splashEmitter[0] = PlayerFoamDropletsEmitter; + splashEmitter[1] = PlayerFoamEmitter; + splashEmitter[2] = PlayerBubbleEmitter; + mediumSplashSoundVelocity = 10.0; + hardSplashSoundVelocity = 20.0; + exitSplashSoundVelocity = 5.0; + + // Controls over slope of runnable/jumpable surfaces + // KP: This seems to control your "stickiness" to surfaces. Can affect the + // fluidity of skiing when friction is enabled. Best used in + // conjunction with runForce. + runSurfaceAngle = $TR2_playerRunSurfaceAngle; + jumpSurfaceAngle = $TR2_playerJumpSurfaceAngle; + + // KP: These don't seem to have an obvious effect, but might be useful + minJumpSpeed = $TR2_playerMinJumpSpeed; + maxJumpSpeed = $TR2_playerMaxJumpSpeed; + + // KP: Max speed settings including resistance. High resistSpeed seems to + // result in faster movement. resistFactor determines the magnitude of + // the resistance. + horizMaxSpeed = $TR2_playerHorizMaxSpeed; + horizResistSpeed = $TR2_playerHorizResistSpeed; + horizResistFactor = $TR2_playerHorizResistFactor; + + // KP: Limits how much your jets can affect your forward speed...very useful + // for balancing how much your speed can be increased by jets as opposed to + // pure skiing + maxJetForwardSpeed = $TR2_playerMaxJetForwardSpeed; + + // KP: Same as horizontal counterparts. Should be set so that players can't + // go too high. Must be careful not to make it feel too "floaty" + upMaxSpeed = $TR2_playerUpMaxSpeed; + upResistSpeed = $TR2_playerUpResistSpeed; + upResistFactor = $TR2_playerUpResistFactor; + + // heat inc'ers and dec'ers + heatDecayPerSec = 1.0 / 4.0; // takes 4 seconds to clear heat sig. + heatIncreasePerSec = 1.0 / 3.0; // takes 3.0 seconds of constant jet to get full heat sig. + + footstepSplashHeight = 0.35; + //Footstep Sounds + LFootSoftSound = LFootLightSoftSound; + RFootSoftSound = RFootLightSoftSound; + LFootHardSound = LFootLightHardSound; + RFootHardSound = RFootLightHardSound; + LFootMetalSound = LFootLightMetalSound; + RFootMetalSound = RFootLightMetalSound; + LFootSnowSound = LFootLightSnowSound; + RFootSnowSound = RFootLightSnowSound; + LFootShallowSound = LFootLightShallowSplashSound; + RFootShallowSound = RFootLightShallowSplashSound; + LFootWadingSound = LFootLightWadingSound; + RFootWadingSound = RFootLightWadingSound; + LFootUnderwaterSound = LFootLightUnderwaterSound; + RFootUnderwaterSound = RFootLightUnderwaterSound; + LFootBubblesSound = LFootLightBubblesSound; + RFootBubblesSound = RFootLightBubblesSound; + movingBubblesSound = ArmorMoveBubblesSound; + waterBreathSound = WaterBreathMaleSound; + + impactSoftSound = ImpactLightSoftSound; + impactHardSound = ImpactLightHardSound; + impactMetalSound = ImpactLightMetalSound; + impactSnowSound = ImpactLightSnowSound; + + skiSoftSound = "";//TR2SkiAllSoftSound; + skiHardSound = "";//SkiAllHardSound; + skiMetalSound = SkiAllMetalSound; + skiSnowSound = SkiAllSnowSound; + + impactWaterEasy = ImpactLightWaterEasySound; + impactWaterMedium = ImpactLightWaterMediumSound; + impactWaterHard = ImpactLightWaterHardSound; + + // KP: Removed the annoying shaking upon impact + groundImpactMinSpeed = 30.0;//10.0; + groundImpactShakeFreq = "4.0 4.0 4.0"; + groundImpactShakeAmp = "0.1 0.1 0.1";//"1.0 1.0 1.0"; + groundImpactShakeDuration = 0.05;//0.8; + groundImpactShakeFalloff = 2.0;//10.0; + + exitingWater = ExitingWaterLightSound; + + maxWeapons = 3; // Max number of different weapons the player can have + maxGrenades = 1; // Max number of different grenades the player can have + maxMines = 1; // Max number of different mines the player can have + + // Inventory restrictions + max[RepairKit] = 1; + max[Mine] = 3; + max[Grenade] = 5; + max[Blaster] = 1; + max[Plasma] = 1; + max[PlasmaAmmo] = 20; + max[Disc] = 1; + max[DiscAmmo] = 15; + max[SniperRifle] = 1; + max[GrenadeLauncher] = 1; + max[GrenadeLauncherAmmo]= 10; + max[Mortar] = 0; + max[MortarAmmo] = 0; + max[MissileLauncher] = 0; + max[MissileLauncherAmmo]= 0; + max[Chaingun] = 1; + max[ChaingunAmmo] = 100; + max[RepairGun] = 1; + max[CloakingPack] = 1; + max[SensorJammerPack] = 1; + max[EnergyPack] = 1; + max[RepairPack] = 1; + max[ShieldPack] = 1; + max[AmmoPack] = 1; + max[SatchelCharge] = 1; + max[MortarBarrelPack] = 0; + max[MissileBarrelPack] = 0; + max[AABarrelPack] = 0; + max[PlasmaBarrelPack] = 0; + max[ELFBarrelPack] = 0; + max[InventoryDeployable]= 0; + max[MotionSensorDeployable] = 1; + max[PulseSensorDeployable] = 1; + max[TurretOutdoorDeployable] = 0; + max[TurretIndoorDeployable] = 0; + max[FlashGrenade] = 5; + max[ConcussionGrenade] = 5; + max[FlareGrenade] = 5; + max[TargetingLaser] = 1; + max[ELFGun] = 1; + max[ShockLance] = 1; + max[CameraGrenade] = 2; + max[Beacon] = 3; + + // TR2 + max[TR2Disc] = 1; + max[TR2GrenadeLauncher] = 1; + max[TR2Chaingun] = 1; + max[TR2GoldTargetingLaser] = 1; + max[TR2SilverTargetingLaser] = 1; + max[TR2Grenade] = 5; + max[TR2DiscAmmo] = 15; + max[TR2GrenadeLauncherAmmo] = 10; + max[TR2ChaingunAmmo] = 100; + max[TR2EnergyPack] = 1; + + observeParameters = "1.0 12.0 12.0";//$TR2_playerObserveParameters;//"1.0 32.0 32.0";//"0.5 4.5 4.5"; + + shieldEffectScale = "0.7 0.7 1.0"; +}; + +datablock PlayerData(TR2LightFemaleHumanArmor) : TR2LightMaleHumanArmor +{ + shapeFile = "TR2light_female.dts"; + waterBreathSound = WaterBreathFemaleSound; + jetEffect = HumanMediumArmorJetEffect; +}; + +datablock ItemData(TR2DummyArmor)// : TR2LightMaleHumanArmor +{ + shapeFile = "statue_lmale.dts"; +}; + +datablock PlayerData(TR2MediumMaleHumanArmor) : TR2LightMaleHumanArmor +{ + emap = true; + + className = Armor; + shapeFile = "TR2medium_male.dts"; + maxDamage = 1.55;//1.1; + + jetSound = ArmorJetSound; + wetJetSound = ArmorWetJetSound; + + jetEmitter = HumanArmorJetEmitter; + jetEffect = HumanMediumArmorJetEffect; + + boundingBox = "2.9 2.3 5.2"; + boxHeadFrontPercentage = 1; + + //Foot Prints + decalData = MediumMaleFootprint; + decalOffset = 0.35; + + footPuffEmitter = LightPuffEmitter; + footPuffNumParts = 15; + footPuffRadius = 0.25; + + dustEmitter = LiftoffDustEmitter; + + splash = PlayerSplash; + splashVelocity = 4.0; + splashAngle = 67.0; + splashFreqMod = 300.0; + splashVelEpsilon = 0.60; + bubbleEmitTime = 0.4; + splashEmitter[0] = PlayerFoamDropletsEmitter; + splashEmitter[1] = PlayerFoamEmitter; + splashEmitter[2] = PlayerBubbleEmitter; + mediumSplashSoundVelocity = 10.0; + hardSplashSoundVelocity = 20.0; + exitSplashSoundVelocity = 5.0; + + footstepSplashHeight = 0.35; + //Footstep Sounds + LFootSoftSound = LFootMediumSoftSound; + RFootSoftSound = RFootMediumSoftSound; + LFootHardSound = LFootMediumHardSound; + RFootHardSound = RFootMediumHardSound; + LFootMetalSound = LFootMediumMetalSound; + RFootMetalSound = RFootMediumMetalSound; + LFootSnowSound = LFootMediumSnowSound; + RFootSnowSound = RFootMediumSnowSound; + LFootShallowSound = LFootMediumShallowSplashSound; + RFootShallowSound = RFootMediumShallowSplashSound; + LFootWadingSound = LFootMediumWadingSound; + RFootWadingSound = RFootMediumWadingSound; + LFootUnderwaterSound = LFootMediumUnderwaterSound; + RFootUnderwaterSound = RFootMediumUnderwaterSound; + LFootBubblesSound = LFootMediumBubblesSound; + RFootBubblesSound = RFootMediumBubblesSound; + movingBubblesSound = ArmorMoveBubblesSound; + waterBreathSound = WaterBreathMaleSound; + + impactSoftSound = ImpactMediumSoftSound; + impactHardSound = ImpactMediumHardSound; + impactMetalSound = ImpactMediumMetalSound; + impactSnowSound = ImpactMediumSnowSound; + + impactWaterEasy = ImpactMediumWaterEasySound; + impactWaterMedium = ImpactMediumWaterMediumSound; + impactWaterHard = ImpactMediumWaterHardSound; + + exitingWater = ExitingWaterMediumSound; + + maxWeapons = 4; // Max number of different weapons the player can have + maxGrenades = 1; // Max number of different grenades the player can have + maxMines = 1; // Max number of different mines the player can have + + // Inventory restrictions + max[RepairKit] = 1; + max[Mine] = 3; + max[Grenade] = 6; + max[Blaster] = 1; + max[Plasma] = 1; + max[PlasmaAmmo] = 40; + max[Disc] = 1; + max[DiscAmmo] = 15; + max[SniperRifle] = 0; + max[GrenadeLauncher] = 1; + max[GrenadeLauncherAmmo]= 12; + max[Mortar] = 0; + max[MortarAmmo] = 0; + max[MissileLauncher] = 1; + max[MissileLauncherAmmo]= 4; + max[Chaingun] = 1; + max[ChaingunAmmo] = 150; + max[RepairGun] = 1; + max[CloakingPack] = 0; + max[SensorJammerPack] = 1; + max[EnergyPack] = 1; + max[RepairPack] = 1; + max[ShieldPack] = 1; + max[AmmoPack] = 1; + max[SatchelCharge] = 1; + max[MortarBarrelPack] = 1; + max[MissileBarrelPack] = 1; + max[AABarrelPack] = 1; + max[PlasmaBarrelPack] = 1; + max[ELFBarrelPack] = 1; + max[InventoryDeployable]= 1; + max[MotionSensorDeployable] = 1; + max[PulseSensorDeployable] = 1; + max[TurretOutdoorDeployable] = 1; + max[TurretIndoorDeployable] = 1; + max[FlashGrenade] = 6; + max[ConcussionGrenade] = 6; + max[FlareGrenade] = 6; + max[TargetingLaser] = 1; + max[ELFGun] = 1; + max[ShockLance] = 1; + max[CameraGrenade] = 3; + max[Beacon] = 3; + + max[TR2Shocklance] = 1; + + shieldEffectScale = "0.7 0.7 1.0"; +}; + +datablock PlayerData(TR2MediumFemaleHumanArmor) : TR2MediumMaleHumanArmor +{ + shapeFile = "TR2medium_female.dts"; +}; + + +datablock PlayerData(TR2HeavyMaleHumanArmor) : TR2LightMaleHumanArmor +{ + emap = true; + + mass = 245; + jetForce = 14000; + jumpForce = 3500; + runForce = 22000; + + className = Armor; + shapeFile = "TR2heavy_male.dts"; + cameraMaxDist = 14; + + boundingBox = "6.2 6.2 9.0"; + maxDamage = 6.0;//1.32; + + // Give lots of energy to goalies + maxEnergy = 120;//60; + maxJetHorizontalPercentage = 1.0; + + //Foot Prints + decalData = HeavyMaleFootprint; + decalOffset = 0.4; + + footPuffEmitter = LightPuffEmitter; + footPuffNumParts = 15; + footPuffRadius = 0.25; + + dustEmitter = LiftoffDustEmitter; + + //Footstep Sounds + LFootSoftSound = LFootHeavySoftSound; + RFootSoftSound = RFootHeavySoftSound; + LFootHardSound = LFootHeavyHardSound; + RFootHardSound = RFootHeavyHardSound; + LFootMetalSound = LFootHeavyMetalSound; + RFootMetalSound = RFootHeavyMetalSound; + LFootSnowSound = LFootHeavySnowSound; + RFootSnowSound = RFootHeavySnowSound; + LFootShallowSound = LFootHeavyShallowSplashSound; + RFootShallowSound = RFootHeavyShallowSplashSound; + LFootWadingSound = LFootHeavyWadingSound; + RFootWadingSound = RFootHeavyWadingSound; + LFootUnderwaterSound = LFootHeavyUnderwaterSound; + RFootUnderwaterSound = RFootHeavyUnderwaterSound; + LFootBubblesSound = LFootHeavyBubblesSound; + RFootBubblesSound = RFootHeavyBubblesSound; + movingBubblesSound = ArmorMoveBubblesSound; + waterBreathSound = WaterBreathMaleSound; + + impactSoftSound = ImpactHeavySoftSound; + impactHardSound = ImpactHeavyHardSound; + impactMetalSound = ImpactHeavyMetalSound; + impactSnowSound = ImpactHeavySnowSound; + + impactWaterEasy = ImpactHeavyWaterEasySound; + impactWaterMedium = ImpactHeavyWaterMediumSound; + impactWaterHard = ImpactHeavyWaterHardSound; + + + maxWeapons = 5; // Max number of different weapons the player can have + maxGrenades = 1; // Max number of different grenades the player can have + maxMines = 1; // Max number of different mines the player can have + + // Inventory restrictions + max[RepairKit] = 1; + max[Mine] = 3; + max[Grenade] = 8; + max[Blaster] = 1; + max[Plasma] = 1; + max[PlasmaAmmo] = 50; + max[Disc] = 1; + max[DiscAmmo] = 15; + max[SniperRifle] = 0; + max[GrenadeLauncher] = 1; + max[GrenadeLauncherAmmo]= 15; + max[Mortar] = 1; + max[MortarAmmo] = 10; + max[MissileLauncher] = 1; + max[MissileLauncherAmmo]= 8; + max[Chaingun] = 1; + max[ChaingunAmmo] = 200; + max[RepairGun] = 1; + max[CloakingPack] = 0; + max[SensorJammerPack] = 1; + max[EnergyPack] = 1; + max[RepairPack] = 1; + max[ShieldPack] = 1; + max[AmmoPack] = 1; + max[SatchelCharge] = 1; + max[MortarBarrelPack] = 1; + max[MissileBarrelPack] = 1; + max[AABarrelPack] = 1; + max[PlasmaBarrelPack] = 1; + max[ELFBarrelPack] = 1; + max[InventoryDeployable]= 1; + max[MotionSensorDeployable] = 1; + max[PulseSensorDeployable] = 1; + max[TurretOutdoorDeployable] = 1; + max[TurretIndoorDeployable] = 1; + max[FlashGrenade] = 8; + max[ConcussionGrenade] = 8; + max[FlareGrenade] = 8; + max[TargetingLaser] = 1; + max[ELFGun] = 1; + max[ShockLance] = 1; + max[CameraGrenade] = 3; + max[Beacon] = 3; + + max[TR2Mortar] = 1; + max[TR2MortarAmmo] = 99; + max[TR2Shocklance] = 1; + + shieldEffectScale = "0.7 0.7 1.0"; +}; + +datablock PlayerData(TR2HeavyFemaleHumanArmor) : TR2HeavyMaleHumanArmor +{ + className = Armor; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Prefixes.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Prefixes.cs new file mode 100644 index 00000000..6fe6490c --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Prefixes.cs @@ -0,0 +1,44 @@ + +//datablock AudioProfile(TR2TestPrefixSound) +//{ +// filename = "fx/bonuses/test-Prefix-brilliance.wav"; +// description = AudioBIGExplosion3d; +// preload = true; +//}; + +$PrefixList = new ScriptObject() { + class = PrefixList; +}; + +function PrefixList::get(%this, %a) +{ + return $PrefixList[%a]; +} + +// Somewhat backwards +$PrefixList[0] = new ScriptObject() { + text = "Angled"; + value = 2; + sound = "blah.wav"; + emitter = "Optional"; + class = PrefixData; +}; + +// Nearly backwards +$PrefixList[1] = new ScriptObject() { + text = "Twisted"; + value = 5; + sound = "blah.wav"; + emitter = "Optional"; + class = PrefixData; +}; + +// Completely backwards +$PrefixList[2] = new ScriptObject() { + text = "Deranged"; + value = 8; + sound = "blah.wav"; + emitter = "Optional"; + class = PrefixData; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Qualifiers.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Qualifiers.cs new file mode 100644 index 00000000..15eebbc3 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Qualifiers.cs @@ -0,0 +1,221 @@ + + +//datablock AudioProfile(TR2TestQualifierDataSound) +//{ +// filename = "fx/bonuses/test-QualifierData-brilliance.wav"; +// description = AudioBIGExplosion3d; +// preload = true; +//}; + +// QualifierData components +// [Horizontal flag speed, Vertical flag speed, hangtime] + +$QualifierList = new ScriptObject() { + class = QualifierList; +}; + +function QualifierList::get(%this, %a, %b, %c) +{ + return $QualifierList[%a, %b, %c]; +} + +//////////////////////////////////////////////////////////////////////////////// +// No/low hangtime +$QualifierList[0,0,0] = ""; +//new ScriptObject() { +// text = "Dull"; +// value = 5; +// sound = "blah.wav"; +// emitter = "Optional"; +// class = QualifierData; +//}; + +$QualifierList[1,0,0] = new ScriptObject() { + text = "Sharp"; + value = 1; + sound = Qualifier100Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,1,0] = new ScriptObject() { + text = "Spitting"; + value = 1; + sound = Qualifier010Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,1,0] = new ScriptObject() { + text = "Whipped"; + value = 2; + sound = Qualifier110Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,2,0] = new ScriptObject() { + text = "Popping"; + value = 2; + sound = Qualifier020Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,2,0] = new ScriptObject() { + text = "Bursting"; + value = 3; + sound = Qualifier120Sound; + emitter = "Optional"; + class = QualifierData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Medium hangtime +$QualifierList[0,0,1] = new ScriptObject() { + text = "Modest"; + value = 3; + sound = Qualifier001Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,0,1] = new ScriptObject() { + text = "Ripped"; + value = 4; + sound = Qualifier101Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,1,1] = new ScriptObject() { + text = "Shining"; + value = 4; + sound = Qualifier011Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,1,1] = new ScriptObject() { + text = "Slick"; + value = 5; + sound = Qualifier111Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,2,1] = new ScriptObject() { + text = "Sprinkling"; + value = 5; + sound = Qualifier021Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,2,1] = new ScriptObject() { + text = "Brilliant"; + value = 6; + sound = Qualifier121Sound; + emitter = "Optional"; + class = QualifierData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// High hangtime +$QualifierList[0,0,2] = new ScriptObject() { + text = "Frozen"; + value = 7; + sound = Qualifier002Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,0,2] = new ScriptObject() { + text = "Shooting"; + value = 8; + sound = Qualifier102Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,1,2] = new ScriptObject() { + text = "Dangling"; + value = 9; + sound = Qualifier012Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,1,2] = new ScriptObject() { + text = "Blazing"; + value = 10; + sound = Qualifier112Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,2,2] = new ScriptObject() { + text = "Raining"; + value = 11; + sound = Qualifier022Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,2,2] = new ScriptObject() { + text = "Falling"; + value = 12; + sound = Qualifier122Sound; + emitter = "Optional"; + class = QualifierData; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Wow hangtime +$QualifierList[0,0,3] = new ScriptObject() { + text = "Suspended"; + value = 13; + sound = Qualifier003Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,0,3] = new ScriptObject() { + text = "Skeeting"; + value = 14; + sound = Qualifier103Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,1,3] = new ScriptObject() { + text = "Hanging"; + value = 15; + sound = Qualifier013Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,1,3] = new ScriptObject() { + text = "Arcing"; + value = 16; + sound = Qualifier113Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[0,2,3] = new ScriptObject() { + text = "Pouring"; + value = 17; + sound = Qualifier023Sound; + emitter = "Optional"; + class = QualifierData; +}; + +$QualifierList[1,2,3] = new ScriptObject() { + text = "Elite"; + value = 18; + sound = Qualifier123Sound; + emitter = "Optional"; + class = QualifierData; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Roles.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Roles.cs new file mode 100644 index 00000000..7c6a2a49 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2Roles.cs @@ -0,0 +1,317 @@ +// Roles +$TR2::role[0] = Goalie; +$TR2::role[1] = Defense; +$TR2::role[2] = Offense; +$TR2::numRoles = 3; + +// For some reason the above "strings" convert to all lowercase +$TR2::roleText[Goalie] = "Goalie"; +$TR2::roleText[Defense] = "Defense"; +$TR2::roleText[Offense] = "Offense"; + +$TR2::roleMax[Goalie] = 1; +$TR2::roleMax[Defense] = 2; +$TR2::roleMax[Offense] = 10; + +$TR2::roleArmor[Goalie] = Heavy; +$TR2::roleArmor[Defense] = Medium; +$TR2::roleArmor[Offense] = Light; + +// Roles are automated via concentric circles around goals +$TR2::roleDistanceFromGoal[Goalie] = 70; +$TR2::roleDistanceFromGoal[Defense] = 350; +$TR2::roleDistanceFromGoal[Offense] = 10000; + +// Number of ticks needed before changing to this role +$TR2::roleTicksNeeded[Goalie] = 0; +$TR2::roleTicksNeeded[Defense] = 0; +$TR2::roleTicksNeeded[Offense] = 0; + +// Extra items for roles +$TR2::roleExtraItem[Goalie0] = TR2Shocklance; +$TR2::roleExtraItemCount[Goalie0] = 1; +$TR2::roleExtraItem[Goalie1] = TR2Mortar; +$TR2::roleExtraItemCount[Goalie1] = 1; +$TR2::roleExtraItem[Goalie2] = TR2MortarAmmo; +$TR2::roleExtraItemCount[Goalie2] = 99; +$TR2::roleNumExtraItems[Goalie] = 3; + +$TR2::roleExtraItem[Defense0] = TR2Shocklance; +$TR2::roleExtraItemCount[Defense0] = 1; +$TR2::roleNumExtraItems[Defense] = 1; + +$TR2::roleNumExtraItems[Offense] = 0; + +function debugPrintRoles() +{ + echo("**********************************ROLE PRINT"); +} + +function TR2Game::resetPlayerRoles(%game) +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + %game.releaseRole(%cl); + } + + for (%i=0; %i<$TR2::numRoles; %i++) + %game.initRole($TR2::Role[%i]); +} + +function TR2Game::initRole(%game, %role) +{ + $numPlayers[%role @ 1] = 0; + $numPlayers[%role @ 2] = 0; +} + +function TR2Game::validateRoles(%game) +{ + // Recalculate role counts + %count = ClientGroup.getCount(); + for (%i = 0; %i<$TR2::numRoles; %i++) + { + %role = $TR2::role[%i]; + %newCount[1] = 0; + %newCount[2] = 0; + + for (%j = 0; %j<%count; %j++) + { + %cl = ClientGroup.getObject(%j); + if (%cl.currentRole $= %role) + %newCount[%cl.team]++; + } + $numPlayers[%role @ 1] = %newCount[1]; + $numPlayers[%role @ 2] = %newCount[2]; + } + + // Make sure that all players are in the armor they're supposed to be in + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (!isObject(%cl) || !isObject(%cl.player)) + continue; + + // If somehow the player is active, but has no role, set the outer role + if (%cl.currentRole $= "") + %game.assignOutermostRole(%cl); + + // If for some reason that wasn't possible, skip this player + if (%cl.currentRole $= "") + continue; + + %player = %cl.player; + %armor = "TR2" @ $TR2::roleArmor[%cl.currentRole] @ %cl.sex @ HumanArmor; + + // Swap armors if necessary + if (%player.getDataBlock().getName() !$= %armor) + { + // Don't allow an armor change if the player recently did something that requires + // datablock access, such as impacting the terrain. There is a T2 UE bug related + // to concurrent datablock access. + %time = getSimTime(); + if (%time - %player.delayRoleChangeTime <= $TR2::datablockRoleChangeDelay) + return false; + %damagePct = %player.getDamagePercent(); + %energyPct = %player.getEnergyPercent(); + %player.setDataBlock(%armor); + %player.setDamageLevel(%damagePct * %player.getDataBlock().maxDamage); + %player.setEnergyLevel(%energyPct * %player.getDataBlock().maxEnergy); + } + } +} + +function TR2Game::trySetRole(%game, %player, %role) +{ + // Check concentric circles + if (!isObject(%player)) + return false; + + // Don't allow an armor change if the player recently did something that requires + // datablock access, such as impacting the terrain. There is a T2 UE bug related + // to concurrent datablock access. + %time = getSimTime(); + if (%time - %player.delayRoleChangeTime <= $TR2::datablockRoleChangeDelay) + return false; + + %position = %player.getPosition(); + %distanceToGoal = VectorLen(VectorSub(%position, $teamGoalPosition[%player.team])); + + if (%distanceToGoal > $TR2::roleDistanceFromGoal[%role]) + { + %player.client.roleChangeTicks[%role] = 0; + return false; + } + + // See if a change is even necessary + if (%player.client.currentRole $= %role) + { + return true; + } + + // Make sure a spot is available + if ($numPlayers[%role @ %player.team] >= $TR2::roleMax[%role]) + { + //echo("****ROLES: No slots left for " @ %role); + return false; + } + // Make sure enough time has been spent in this zone + if (%player.client.roleChangeTicks[%role] < $TR2::roleTicksNeeded[%role]) + { + %player.client.roleChangeTicks[%role]++; + return false; + } + + %team = %player.team; + + + // Change roles + // First release the old role, if applicable + if (%player.client.currentRole !$= "") + { + //echo("TEAM " @ %player.team @ " ROLE CHANGE: " + // @ %player.client.currentRole + // @ "(" @ $numPlayers[%player.client.currentRole @ %team] @ ") " + // @ " to " + // @ %role + // @ "(" @ $numPlayers[%role @ %team] @ ")" + //); + $numPlayers[%player.client.currentRole @ %team]--; + + // Debug the decrement + if ($numPlayers[%player.client.currentRole @ %team] < 0) + { + echo("**ROLE CHANGE ERROR: negative role count"); + $numPlayers[%player.client.currentRole @ %team] = 0; + } + } + + // Now switch to the new role + $numPlayers[%role @ %team]++; + %newArmor = "TR2" @ $TR2::roleArmor[%role] @ %player.client.sex @ HumanArmor; + %player.client.roleChangeTicks[%role] = 0; + %player.setInvincible(false); + + // Swap armors if necessary + if (%player.getDataBlock().getName() !$= %newArmor) + { + %damagePct = %player.getDamagePercent(); + %energyPct = %player.getEnergyPercent(); + //echo(" ROLE: " @ %damagePct @ " damage"); + //echo(" ROLE: " @ %energyPct @ " energy"); + //echo(" ROLE: pre-armorSwitchSched = " @ %player.armorSwitchSchedule); + %player.setDataBlock(%newArmor); + //echo(" ROLE: post-armorSwitchSched = " @ %player.armorSwitchSchedule); + %player.setDamageLevel(%damagePct * %player.getDataBlock().maxDamage); + %player.setEnergyLevel(%energyPct * %player.getDataBlock().maxEnergy); + } + %player.client.currentRole = %role; + + // Equipment changes + %game.equipRoleWeapons(%player.client); + + messageClient(%player.client, 'TR2ArmorChange', "\c3ROLE CHANGE: \c4" @ $TR2::roleText[%role] @ "."); + serverPlay3D(RoleChangeSound, %player.getPosition()); + // Particle effect too? + //%newEmitter = new ParticleEmissionDummy(RoleChangeEffect) { + //position = %player.getTransform(); + //rotation = "1 0 0 0"; + //scale = "1 1 1"; + //dataBlock = "defaultEmissionDummy"; + //emitter = "RoleChangeEmitter"; + //velocity = "1"; + //}; + //%newEmitter.schedule(800, "delete"); + + return true; +} + +function TR2Game::updateRoles(%game) +{ + %count = ClientGroup.getCount(); + + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl $= "" || %cl.player == 0 || %cl.player $= "") + continue; + + %done = false; + for (%j = 0; %j < $TR2::numRoles && !%done; %j++) + { + if (%game.trySetRole(%cl.player, $TR2::role[%j])) + %done = true; + } + } +} + +function TR2Game::equipRoleWeapons(%game, %client) +{ + %player = %client.player; + + // Get rid of existing extra weapon + for (%i=0; %i<%client.extraRoleItems; %i++) + { + %item = %client.extraRoleItem[%i]; + + // If the player is using the item we're about to take away, equip + // the disc launcher + %equippedWeapon = %player.getMountedImage($WeaponSlot).item; + if (%equippedWeapon $= %item) + %player.use(TR2Disc); + + %player.setInventory(%item, 0); + } + + // Clear HUD + %client.setWeaponsHudItem(TR2Shocklance, 0, 0); + %client.setWeaponsHudItem(TR2Mortar, 0, 0); + + // Equip role items + %client.extraRoleItems = $TR2::roleNumExtraItems[%client.currentRole]; + for (%i=0; %i<%client.extraRoleItems; %i++) + { + %item = $TR2::roleExtraItem[%client.currentRole @ %i]; + %roleItemAmount = $TR2::roleExtraItemCount[%client.currentRole @ %i]; + + // Hmm, this actually works, but it remembers that you + // lose your mortar ammo after a role switch. Get rid of it + // for now since there's unlimited mortar ammo anyway. + //if (%client.restockAmmo || %roleItemAmount == 1) + %itemAmount = %roleItemAmount; + //else + // %itemAmount = %client.lastRoleItemCount[%i]; + %player.setInventory(%item, %itemAmount); + %client.extraRoleItem[%i] = %item; + %client.extraRoleItemCount[%i] = %itemAmount; + + // Re-equip, if necessary + if (%item $= %equippedWeapon) + %player.use(%item); + } + //echo(" ROLE: weapons equipped."); +} + +function TR2Game::releaseRole(%game, %client) +{ + if (%client.currentRole $= "") + return; + + //echo(" ROLE: client " @ %client @ " released " @ %client.currentRole); + + $numPlayers[%client.currentRole @ %client.team]--; + %client.currentRole = ""; +} + +function TR2Game::assignOutermostRole(%game, %client) +{ + //$role[%client.currentRole @ %client.team @ %i] = ""; + //$numPlayers[%client.currentRole @ %client.team]--; + //%client.currentRole = $TR2::role[$TR2::numRoles-1]; + //echo(" ROLE: assigning outermost"); + %outerRole = $TR2::role[$TR2::numRoles-1]; + if (%client.player > 0 && %client.currentRole !$= %outerRole) + %game.trySetRole(%client.player, %outerRole); +} + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2WeaponBonuses.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2WeaponBonuses.cs new file mode 100644 index 00000000..2eeceb67 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2WeaponBonuses.cs @@ -0,0 +1,104 @@ +// Weapon bonuses + + +// Weapon speed +$WeaponSpeedBonusList = new ScriptObject() { + class = WeaponSpeedBonusList; +}; + +function WeaponSpeedBonusList::get(%this, %a) +{ + return $WeaponSpeedBonusList[%a]; +} + +$WeaponSpeedBonusList[0] = new ScriptObject() { + text = "Kilo"; + value = 1; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +$WeaponSpeedBonusList[1] = new ScriptObject() { + text = "Mega"; + value = 3; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +$WeaponSpeedBonusList[2] = new ScriptObject() { + text = "Giga"; + value = 5; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +// Weapon height +$WeaponHeightBonusList = new ScriptObject() { + class = WeaponHeightBonusList; +}; + +function WeaponHeightBonusList::get(%this, %a) +{ + return $WeaponHeightBonusList[%a]; +} + +$WeaponHeightBonusList[0] = new ScriptObject() { + text = "Hovering"; + value = 1; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +$WeaponHeightBonusList[1] = new ScriptObject() { + text = "Towering"; + value = 3; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +$WeaponHeightBonusList[3] = new ScriptObject() { + text = "Nose-Bleeding"; + value = 5; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +// Weapon type +$WeaponTypeBonusList = new ScriptObject() { + class = WeaponTypeBonusList; +}; + +function WeaponTypeBonusList::get(%this, %a) +{ + return $WeaponTypeBonusList[%a]; +} + +$WeaponTypeBonusList[0] = new ScriptObject() { + text = "Disc"; + value = 3; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +$WeaponTypeBonusList[1] = new ScriptObject() { + text = "Grenade"; + value = 1; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; + +$WeaponTypeBonusList[2] = new ScriptObject() { + text = "Chain"; + value = 2; + sound = "blah.wav"; + emitter = "Optional"; + class = BonusComponent; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2heavy_male.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2heavy_male.cs new file mode 100644 index 00000000..0711e8b2 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2heavy_male.cs @@ -0,0 +1,41 @@ +datablock TSShapeConstructor(TR2HeavyMaleDts) +{ + baseShape = "TR2heavy_male.dts"; + sequence0 = "TR2heavy_male_root.dsq root"; + sequence1 = "TR2heavy_male_forward.dsq run"; + sequence2 = "TR2heavy_male_back.dsq back"; + sequence3 = "TR2heavy_male_side.dsq side"; + sequence4 = "heavy_male_lookde.dsq look"; + sequence5 = "heavy_male_head.dsq head"; + sequence6 = "TR2heavy_male_fall.dsq fall"; + sequence7 = "TR2heavy_male_jet.dsq jet"; + sequence8 = "TR2heavy_male_land.dsq land"; + sequence9 = "TR2heavy_male_jump.dsq jump"; + sequence10 = "heavy_male_recoilde.dsq light_recoil"; + sequence11 = "heavy_male_idlepda.dsq pda"; + sequence12 = "heavy_male_headside.dsq headside"; + sequence13 = "heavy_male_lookms.dsq lookms"; + sequence14 = "TR2heavy_male_diehead.dsq death1"; + sequence15 = "TR2heavy_male_diechest.dsq death2"; + sequence16 = "TR2heavy_male_dieback.dsq death3"; + sequence17 = "TR2heavy_male_diesidelf.dsq death4"; + sequence18 = "TR2heavy_male_diesidert.dsq death5"; + sequence19 = "TR2heavy_male_dieforward.dsq death6"; // heavy_male_dieleglf + sequence20 = "TR2heavy_male_diechest.dsq death7"; // heavy_male_dielegrt + sequence21 = "TR2heavy_male_dieslump.dsq death8"; + sequence22 = "TR2heavy_male_dieforward.dsq death9"; // heavy_male_dieknees + sequence23 = "TR2heavy_male_dieforward.dsq death10"; + sequence24 = "TR2heavy_male_diespin.dsq death11"; + sequence25 = "TR2heavy_male_celsalute.dsq cel1"; + sequence26 = "TR2heavy_male_celwave.dsq cel2"; + sequence27 = "TR2heavy_male_tauntbest.dsq cel3"; + sequence28 = "TR2heavy_male_tauntimp.dsq cel4"; + sequence29 = "TR2heavy_male_celdance.dsq cel5"; + sequence30 = "TR2heavy_male_celflex.dsq cel6"; + sequence31 = "TR2heavy_male_celtaunt.dsq cel7"; + sequence32 = "TR2heavy_male_celjump.dsq cel8"; + sequence33 = "TR2heavy_male_ski.dsq ski"; + sequence34 = "TR2heavy_male_standjump.dsq standjump"; + sequence35 = "heavy_male_looknw.dsq looknw"; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2light_female.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2light_female.cs new file mode 100644 index 00000000..2d4025e3 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2light_female.cs @@ -0,0 +1,43 @@ +datablock TSShapeConstructor(TR2LightFemaleDts) +{ + baseShape = "TR2light_female.dts"; + sequence0 = "TR2light_female_root.dsq root"; + sequence1 = "TR2light_female_forward.dsq run"; + sequence2 = "TR2light_female_back.dsq back"; + sequence3 = "TR2light_female_side.dsq side"; + sequence4 = "light_female_lookde.dsq look"; + sequence5 = "light_female_head.dsq head"; + sequence6 = "light_female_headside.dsq headside"; + sequence7 = "TR2light_female_fall.dsq fall"; + sequence8 = "TR2light_female_jet.dsq jet"; + sequence9 = "TR2light_female_land.dsq land"; + sequence10 = "TR2light_female_jump.dsq jump"; + sequence11 = "light_female_recoilde.dsq light_recoil"; + sequence12 = "light_female_scoutroot.dsq scoutroot"; + sequence13 = "light_female_looksn.dsq looksn"; + sequence14 = "light_female_lookms.dsq lookms"; + sequence15 = "light_female_sitting.dsq sitting"; + sequence16 = "light_female_idlepda.dsq pda"; + sequence17 = "TR2light_female_diehead.dsq death1"; + sequence18 = "TR2light_female_diechest.dsq death2"; + sequence19 = "TR2light_female_dieback.dsq death3"; + sequence20 = "TR2light_female_diesidelf.dsq death4"; + sequence21 = "TR2light_female_diesidert.dsq death5"; + sequence22 = "TR2light_female_dieleglf.dsq death6"; + sequence23 = "TR2light_female_dielegrt.dsq death7"; + sequence24 = "TR2light_female_dieslump.dsq death8"; + sequence25 = "TR2light_female_dieknees.dsq death9"; + sequence26 = "TR2light_female_dieforward.dsq death10"; + sequence27 = "TR2light_female_diespin.dsq death11"; + sequence28 = "TR2light_female_celsalute.dsq cel1"; + sequence29 = "TR2light_female_celwave.dsq cel2"; + sequence30 = "TR2light_female_tauntbest.dsq cel3"; + sequence31 = "TR2light_female_tauntimp.dsq cel4"; + sequence32 = "TR2light_female_celdance.dsq cel5"; + sequence33 = "TR2light_female_tauntkiss.dsq cel6"; + sequence34 = "TR2light_female_tauntbutt.dsq cel7"; + sequence35 = "TR2light_female_celbow.dsq cel8"; + sequence36 = "TR2light_female_ski.dsq ski"; + sequence37 = "TR2light_female_standjump.dsq standjump"; + sequence38 = "light_female_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2light_male.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2light_male.cs new file mode 100644 index 00000000..8d9073f1 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2light_male.cs @@ -0,0 +1,43 @@ +datablock TSShapeConstructor(TR2lightMaleDts) +{ + baseShape = "TR2light_male.dts"; + sequence0 = "TR2light_male_root.dsq root"; + sequence1 = "TR2light_male_forward.dsq run"; + sequence2 = "TR2light_male_back.dsq back"; + sequence3 = "TR2light_male_side.dsq side"; + sequence4 = "light_male_lookde.dsq look"; + sequence5 = "light_male_head.dsq head"; + sequence6 = "TR2light_male_fall.dsq fall"; + sequence7 = "TR2light_male_jet.dsq jet"; + sequence8 = "TR2light_male_land.dsq land"; + sequence9 = "TR2light_male_jump.dsq jump"; + sequence10 = "light_male_diehead.dsq death1"; + sequence11 = "light_male_diechest.dsq death2"; + sequence12 = "light_male_dieback.dsq death3"; + sequence13 = "light_male_diesidelf.dsq death4"; + sequence14 = "light_male_diesidert.dsq death5"; + sequence15 = "light_male_dieleglf.dsq death6"; + sequence16 = "light_male_dielegrt.dsq death7"; + sequence17 = "light_male_dieslump.dsq death8"; + sequence18 = "light_male_dieknees.dsq death9"; + sequence19 = "light_male_dieforward.dsq death10"; + sequence20 = "light_male_diespin.dsq death11"; + sequence21 = "light_male_idlepda.dsq pda"; + sequence22 = "light_male_looksn.dsq looksn"; + sequence23 = "light_male_lookms.dsq lookms"; + sequence24 = "light_male_scoutroot.dsq scoutroot"; + sequence25 = "light_male_headside.dsq headside"; + sequence26 = "light_male_recoilde.dsq light_recoil"; + sequence27 = "light_male_sitting.dsq sitting"; + sequence28 = "light_male_celsalute.dsq cel1"; + sequence29 = "light_male_celwave.dsq cel2"; + sequence30 = "light_male_tauntbest.dsq cel3"; + sequence31 = "light_male_tauntimp.dsq cel4"; + sequence32 = "light_male_celdisco.dsq cel5"; + sequence33 = "light_male_celflex.dsq cel6"; + sequence34 = "light_male_celtaunt.dsq cel7"; + sequence35 = "light_male_celrocky.dsq cel8"; + sequence36 = "TR2light_male_ski.dsq ski"; + sequence37 = "light_male_standjump.dsq standjump"; + sequence38 = "light_male_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2medium_female.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2medium_female.cs new file mode 100644 index 00000000..2a49761f --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2medium_female.cs @@ -0,0 +1,42 @@ +datablock TSShapeConstructor(TR2MediumFemaleDts) +{ + baseShape = "TR2medium_female.dts"; + sequence0 = "TR2medium_female_root.dsq root"; + sequence1 = "TR2medium_female_forward.dsq run"; + sequence2 = "TR2medium_female_back.dsq back"; + sequence3 = "TR2medium_female_side.dsq side"; + sequence4 = "medium_female_lookde.dsq look"; + sequence5 = "medium_female_head.dsq head"; + sequence6 = "medium_female_headside.dsq headside"; + sequence7 = "TR2medium_female_fall.dsq fall"; + sequence8 = "TR2medium_female_jet.dsq jet"; + sequence9 = "TR2medium_female_land.dsq land"; + sequence10 = "TR2medium_female_jump.dsq jump"; + sequence11 = "medium_female_recoilde.dsq light_recoil"; + sequence12 = "medium_female_looksn.dsq looksn"; + sequence13 = "medium_female_lookms.dsq lookms"; + sequence14 = "medium_female_sitting.dsq sitting"; + sequence15 = "medium_female_idlepda.dsq pda"; + sequence16 = "TR2medium_female_diehead.dsq death1"; + sequence17 = "TR2medium_female_diechest.dsq death2"; + sequence18 = "TR2medium_female_dieback.dsq death3"; + sequence19 = "TR2medium_female_diesidelf.dsq death4"; + sequence20 = "TR2medium_female_diesidert.dsq death5"; + sequence21 = "TR2medium_female_dieleglf.dsq death6"; + sequence22 = "TR2medium_female_dielegrt.dsq death7"; + sequence23 = "TR2medium_female_dieslump.dsq death8"; + sequence24 = "TR2medium_female_dieknees.dsq death9"; + sequence25 = "TR2medium_female_dieforward.dsq death10"; + sequence26 = "TR2medium_female_diespin.dsq death11"; + sequence27 = "TR2medium_female_celsalute.dsq cel1"; + sequence28 = "TR2medium_female_celwave.dsq cel2"; + sequence29 = "TR2medium_female_tauntbest.dsq cel3"; + sequence30 = "TR2medium_female_tauntimp.dsq cel4"; + sequence31 = "TR2medium_female_celdisco.dsq cel5"; + sequence32 = "TR2medium_female_tauntkiss.dsq cel6"; + sequence33 = "TR2medium_female_tauntbutt.dsq cel7"; + sequence34 = "TR2medium_female_celbow.dsq cel8"; + sequence35 = "TR2medium_female_ski.dsq ski"; + sequence36 = "TR2medium_female_standjump.dsq standjump"; + sequence37 = "medium_female_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/TR2medium_male.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2medium_male.cs new file mode 100644 index 00000000..7b18da4f --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/TR2medium_male.cs @@ -0,0 +1,43 @@ + +datablock TSShapeConstructor(TR2MediumMaleDts) +{ + baseShape = "TR2medium_male.dts"; + sequence0 = "TR2medium_male_root.dsq root"; + sequence1 = "TR2medium_male_forward.dsq run"; + sequence2 = "TR2medium_male_back.dsq back"; + sequence3 = "TR2medium_male_side.dsq side"; + sequence4 = "medium_male_lookde.dsq look"; + sequence5 = "medium_male_head.dsq head"; + sequence6 = "TR2medium_male_fall.dsq fall"; + sequence7 = "TR2medium_male_jet.dsq jet"; + sequence8 = "TR2medium_male_land.dsq land"; + sequence9 = "TR2medium_male_jump.dsq jump"; + sequence10 = "medium_male_recoilde.dsq light_recoil"; + sequence11 = "medium_male_headside.dsq headside"; + sequence12 = "medium_male_looksn.dsq looksn"; + sequence13 = "medium_male_lookms.dsq lookms"; + sequence14 = "TR2medium_male_sitting.dsq sitting"; + sequence15 = "TR2medium_male_diehead.dsq death1"; + sequence16 = "TR2medium_male_diechest.dsq death2"; + sequence17 = "TR2medium_male_dieback.dsq death3"; + sequence18 = "TR2medium_male_diesidelf.dsq death4"; + sequence19 = "TR2medium_male_diesidert.dsq death5"; + sequence20 = "TR2medium_male_dieleglf.dsq death6"; + sequence21 = "TR2medium_male_diechest.dsq death7"; // medium_male_dielegrt + sequence22 = "TR2medium_male_dieback.dsq death8"; + sequence23 = "TR2medium_male_dieknees.dsq death9"; + sequence24 = "TR2medium_male_dieforward.dsq death10"; + sequence25 = "TR2medium_male_diespin.dsq death11"; + sequence26 = "medium_male_idlepda.dsq pda"; + sequence27 = "TR2medium_male_celsalute.dsq cel1"; + sequence28 = "TR2medium_male_celwave.dsq cel2"; + sequence29 = "TR2medium_male_tauntbest.dsq cel3"; + sequence30 = "TR2medium_male_tauntimp.dsq cel4"; + sequence31 = "TR2medium_male_celdance.dsq cel5"; + sequence32 = "TR2medium_male_celflex.dsq cel6"; + sequence33 = "TR2medium_male_celtaunt.dsq cel7"; + sequence34 = "TR2medium_male_celrocky.dsq cel8"; + sequence35 = "TR2medium_male_ski.dsq ski"; + sequence36 = "TR2medium_male_standjump.dsq standjump"; + sequence37 = "medium_male_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/packs/TR2energypack.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/packs/TR2energypack.cs new file mode 100644 index 00000000..02975480 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/packs/TR2energypack.cs @@ -0,0 +1,75 @@ +// ------------------------------------------------------------------ +// ENERGY PACK +// can be used by any armor type +// does not have to be activated +// increases the user's energy recharge rate + +datablock ShapeBaseImageData(TR2EnergyPackImage) +{ + shapeFile = "pack_upgrade_energy.dts"; + item = TR2EnergyPack; + mountPoint = 1; + offset = "0 0 0"; + rechargeRateBoost = 0.11;//0.15; + + stateName[0] = "default"; + stateSequence[0] = "activation"; +}; + +datablock ItemData(TR2EnergyPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_energy.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "TR2EnergyPackImage"; + pickUpName = "an energy pack"; + + computeCRC = false; + +}; + +function TR2EnergyPackImage::onMount(%data, %obj, %node) +{ + %obj.setRechargeRate(%obj.getRechargeRate() + %data.rechargeRateBoost); + %obj.hasEnergyPack = true; // set for sniper check +} + +function TR2EnergyPackImage::onUnmount(%data, %obj, %node) +{ + %obj.setRechargeRate(%obj.getRechargeRate() - %data.rechargeRateBoost); + %obj.hasEnergyPack = ""; +} + +// KP: Tried adding these, but putting state transitions in +// the above datablock causes a UE. =( +function TR2EnergyPackImage::onActivate(%data, %obj, %slot) +{ + if (%obj.holdingFlag > 0) + { + %obj.flagThrowStrength = 1.5; + %obj.throwObject(%obj.holdingFlag); + } + //messageClient(%obj.client, 'MsgShieldPackOn', '\c2Shield pack on.'); + //%obj.isShielded = true; + //if ( !isDemo() ) + // commandToClient( %obj.client, 'setShieldIconOn' ); +} + +function TR2EnergyPackImage::onDeactivate(%data, %obj, %slot) +{ + //messageClient(%obj.client, 'MsgShieldPackOff', '\c2Shield pack off.'); + //%obj.setImageTrigger(%slot,false); + //%obj.isShielded = ""; + //if ( !isDemo() ) + // commandToClient( %obj.client, 'setShieldIconOff' ); +} + +function TR2EnergyPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2chaingun.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2chaingun.cs new file mode 100644 index 00000000..79f6b43a --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2chaingun.cs @@ -0,0 +1,676 @@ +//-------------------------------------- +// TR2Chaingun +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(TR2ChaingunSwitchEffect) +{ + effectname = "weapons/TR2Chaingun_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2ChaingunFireEffect) +{ + effectname = "weapons/TR2Chaingun_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2ChaingunSpinUpEffect) +{ + effectname = "weapons/TR2Chaingun_spinup"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2ChaingunSpinDownEffect) +{ + effectname = "weapons/TR2Chaingun_spindown"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2ChaingunDryFire) +{ + effectname = "weapons/TR2Chaingun_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(TR2ChaingunSwitchSound) +{ + filename = "fx/weapons/chaingun_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2ChaingunSwitchEffect; +}; + +datablock AudioProfile(TR2ChaingunFireSound) +{ + filename = "fx/weapons/chaingun_fire.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = TR2ChaingunFireEffect; +}; + +datablock AudioProfile(TR2ChaingunProjectile) +{ + filename = "fx/weapons/chaingun_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(TR2ChaingunImpact) +{ + filename = "fx/weapons/chaingun_impact.WAV"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(TR2ChaingunSpinDownSound) +{ + filename = "fx/weapons/chaingun_spindown.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2ChaingunSpinDownEffect; +}; + +datablock AudioProfile(TR2ChaingunSpinUpSound) +{ + filename = "fx/weapons/chaingun_spinup.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2ChaingunSpinUpEffect; +}; + +datablock AudioProfile(TR2ChaingunDryFireSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = TR2ChaingunDryFire; +}; + +datablock AudioProfile(ShrikeBlasterProjectileSound) +{ + filename = "fx/vehicles/shrike_blaster_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- + +datablock ParticleData( TR2ChaingunSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2ChaingunSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2ChaingunSplashParticle"; +}; + + +datablock SplashData(TR2ChaingunSplash) +{ + numSegments = 10; + ejectionFreq = 10; + ejectionAngle = 20; + ringLifetime = 0.4; + lifetimeMS = 400; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = TR2ChaingunSplashEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Particle Effects +//-------------------------------------- +datablock ParticleData(TR2ChaingunFireParticle) +{ + dragCoefficient = 2.75; + gravityCoefficient = 0.1; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 550; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 1.0"; + colors[1] = "0.46 0.36 0.26 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.20; +}; + +datablock ParticleEmitterData(TR2ChaingunFireEmitter) +{ + ejectionPeriodMS = 6; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 12; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvance = true; + particles = "TR2ChaingunFireParticle"; +}; + +//-------------------------------------------------------------------------- +// Explosions +//-------------------------------------- +datablock ParticleData(TR2ChaingunExplosionParticle1) +{ + dragCoefficient = 0.65; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 0.0625; + sizes[1] = 0.2; +}; + +datablock ParticleEmitterData(TR2ChaingunExplosionEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 0.75; + velocityVariance = 0.25; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2ChaingunExplosionParticle1"; +}; + + + + +datablock ParticleData(TR2ChaingunImpactSmokeParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.2; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "particleTest"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.7 0.7 0.7 0.4"; + colors[2] = "0.7 0.7 0.7 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2ChaingunImpactSmoke) +{ + ejectionPeriodMS = 8; + periodVarianceMS = 1; + ejectionVelocity = 1.0; + velocityVariance = 0.5; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "TR2ChaingunImpactSmokeParticle"; + lifetimeMS = 50; +}; + + +datablock ParticleData(TR2ChaingunSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/spark00"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 0.6; + sizes[1] = 0.2; + sizes[2] = 0.05; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(TR2ChaingunSparkEmitter) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2ChaingunSparks"; +}; + + +datablock ExplosionData(TR2ChaingunExplosion) +{ + soundProfile = TR2ChaingunImpact; + + emitter[0] = TR2ChaingunImpactSmoke; + emitter[1] = TR2ChaingunSparkEmitter; + + faceViewer = false; +}; + + +datablock ShockwaveData(ScoutTR2ChaingunHit) +{ + width = 0.5; + numSegments = 13; + numVertSegments = 1; + velocity = 0.5; + acceleration = 2.0; + lifetimeMS = 900; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + + texture[0] = "special/shockwave5"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.3 1.0 0.5"; + colors[2] = "0.0 0.0 1.0 0.0"; +}; + +datablock ParticleData(ScoutTR2ChaingunExplosionParticle1) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent4"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.3 1.0 1.0"; + colors[2] = "0.0 0.0 1.0 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(ScoutTR2ChaingunExplosionEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.5; + ejectionOffset = 0.0; + thetaMin = 80; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "ScoutTR2ChaingunExplosionParticle1"; +}; + +datablock ExplosionData(ScoutTR2ChaingunExplosion) +{ + soundProfile = blasterExpSound; + shockwave = ScoutTR2ChaingunHit; + emitter[0] = ScoutTR2ChaingunExplosionEmitter; +}; + + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- + + +datablock DebrisData( TR2ShellDebris ) +{ + shapeName = "weapon_chaingun_ammocasing.dts"; + + lifetime = 3.0; + + minSpinSpeed = 300.0; + maxSpinSpeed = 400.0; + + elasticity = 0.5; + friction = 0.2; + + numBounces = 3; + + fade = true; + staticOnMaxBounce = true; + snapOnMaxBounce = true; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock DecalData(TR2ChaingunDecal1) +{ + sizeX = 0.05; + sizeY = 0.05; + textureName = "special/bullethole1"; +}; +datablock DecalData(TR2ChaingunDecal2) : TR2ChaingunDecal1 +{ + textureName = "special/bullethole2"; +}; + +datablock DecalData(TR2ChaingunDecal3) : TR2ChaingunDecal1 +{ + textureName = "special/bullethole3"; +}; +datablock DecalData(TR2ChaingunDecal4) : TR2ChaingunDecal1 +{ + textureName = "special/bullethole4"; +}; +datablock DecalData(TR2ChaingunDecal5) : TR2ChaingunDecal1 +{ + textureName = "special/bullethole5"; +}; +datablock DecalData(TR2ChaingunDecal6) : TR2ChaingunDecal1 +{ + textureName = "special/bullethole6"; +}; + + +datablock TracerProjectileData(TR2ChaingunBullet) +{ + doDynamicClientHits = true; + + directDamage = 0.065; + directDamageType = $DamageType::Bullet; + explosion = "TR2ChaingunExplosion"; + splash = TR2ChaingunSplash; + + kickBackStrength = 0.0; + sound = TR2ChaingunProjectile; + + dryVelocity = 750.0; + wetVelocity = 280.0; + velInheritFactor = 1.0; + fizzleTimeMS = 3000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + tracerLength = 30.0;//15.0; + tracerAlpha = false; + tracerMinPixels = 6; + tracerColor = 211.0/255.0 @ " " @ 215.0/255.0 @ " " @ 120.0/255.0 @ " 0.75"; + //211.0/255.0 @ " " @ 215.0/255.0 @ " " @ 120.0/255.0 @ " 0.75"; + tracerTex[0] = "special/tracer00"; + tracerTex[1] = "special/tracercross"; + tracerWidth = 0.20;//0.10; + crossSize = 0.20; + crossViewAng = 0.990; + renderCross = true; + + decalData[0] = TR2ChaingunDecal1; + decalData[1] = TR2ChaingunDecal2; + decalData[2] = TR2ChaingunDecal3; + decalData[3] = TR2ChaingunDecal4; + decalData[4] = TR2ChaingunDecal5; + decalData[5] = TR2ChaingunDecal6; +}; + +//-------------------------------------------------------------------------- +// Scout Projectile +//-------------------------------------- +datablock TracerProjectileData(ScoutTR2ChaingunBullet) +{ + doDynamicClientHits = true; + + directDamage = 0.125; + explosion = "ScoutTR2ChaingunExplosion"; + splash = TR2ChaingunSplash; + + directDamageType = $DamageType::ShrikeBlaster; + kickBackStrength = 0.0; + + sound = ShrikeBlasterProjectileSound; + + dryVelocity = 400.0; + wetVelocity = 100.0; + velInheritFactor = 1.0; + fizzleTimeMS = 1000; + lifetimeMS = 1000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + tracerLength = 45.0; + tracerAlpha = false; + tracerMinPixels = 6; + tracerColor = "1.0 1.0 1.0 1.0"; + tracerTex[0] = "special/shrikeBolt"; + tracerTex[1] = "special/shrikeBoltCross"; + tracerWidth = 0.55; + crossSize = 0.99; + crossViewAng = 0.990; + renderCross = true; + +}; + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(TR2ChaingunAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_chaingun.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some chaingun ammo"; + + computeCRC = false; + +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ShapeBaseImageData(TR2ChaingunImage) +{ + className = WeaponImage; + shapeFile = "TR2weapon_chaingun.dts"; + item = TR2Chaingun; + ammo = TR2ChaingunAmmo; + projectile = TR2ChaingunBullet; + projectileType = TracerProjectile; + emap = true; + + casing = TR2ShellDebris; + shellExitDir = "1.0 0.3 1.0"; + shellExitOffset = "0.15 -0.56 -0.1"; + shellExitVariance = 18.0; + shellVelocity = 4.0; + + projectileSpread = 5.5 / 1000.0; + + //-------------------------------------- + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = TR2ChaingunSwitchSound; + stateAllowImageChange[0] = false; + // + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "Ready"; + stateTransitionOnNoAmmo[0] = "NoAmmo"; + + //-------------------------------------- + stateName[1] = "Ready"; + stateSpinThread[1] = Stop; + // + stateTransitionOnTriggerDown[1] = "Spinup"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + //-------------------------------------- + stateName[2] = "NoAmmo"; + stateTransitionOnAmmo[2] = "Ready"; + stateSpinThread[2] = Stop; + stateTransitionOnTriggerDown[2] = "DryFire"; + + //-------------------------------------- + stateName[3] = "Spinup"; + stateSpinThread[3] = SpinUp; + stateSound[3] = TR2ChaingunSpinupSound; + // + stateTimeoutValue[3] = 0.5; + stateWaitForTimeout[3] = false; + stateTransitionOnTimeout[3] = "Fire"; + stateTransitionOnTriggerUp[3] = "Spindown"; + + //-------------------------------------- + stateName[4] = "Fire"; + stateSequence[4] = "Fire"; + stateSequenceRandomFlash[4] = true; + stateSpinThread[4] = FullSpeed; + stateSound[4] = TR2ChaingunFireSound; + //stateRecoil[4] = LightRecoil; + stateAllowImageChange[4] = false; + stateScript[4] = "onFire"; + stateFire[4] = true; + stateEjectShell[4] = true; + // + stateTimeoutValue[4] = 0.15; + stateTransitionOnTimeout[4] = "Fire"; + stateTransitionOnTriggerUp[4] = "Spindown"; + stateTransitionOnNoAmmo[4] = "EmptySpindown"; + + //-------------------------------------- + stateName[5] = "Spindown"; + stateSound[5] = TR2ChaingunSpinDownSound; + stateSpinThread[5] = SpinDown; + // + stateTimeoutValue[5] = 0.4;//1.0; + stateWaitForTimeout[5] = false;//true; + stateTransitionOnTimeout[5] = "Ready"; + stateTransitionOnTriggerDown[5] = "Spinup"; + + //-------------------------------------- + stateName[6] = "EmptySpindown"; + stateSound[6] = TR2ChaingunSpinDownSound; + stateSpinThread[6] = SpinDown; + // + stateTimeoutValue[6] = 0.5; + stateTransitionOnTimeout[6] = "NoAmmo"; + + //-------------------------------------- + stateName[7] = "DryFire"; + stateSound[7] = TR2ChaingunDryFireSound; + stateTimeoutValue[7] = 0.5; + stateTransitionOnTimeout[7] = "NoAmmo"; +}; + +datablock ItemData(TR2Chaingun) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "TR2weapon_chaingun.dts"; + image = TR2ChaingunImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a chaingun"; + + computeCRC = true; + emap = true; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2disc.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2disc.cs new file mode 100644 index 00000000..06a8e03f --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2disc.cs @@ -0,0 +1,484 @@ +//-------------------------------------- +// TR2Disc launcher +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(TR2DiscFireEffect) +{ + effectname = "weapons/Tspinfusor_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2DiscSwitchEffect) +{ + effectname = "weapons/spinfusor_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2DiscDryFireEffect) +{ + effectname = "weapons/spinfusor_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2DiscIdleEffect) +{ + effectname = "weapons/spinfusor_idle"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2DiscReloadEffect) +{ + effectname = "weapons/spinfusor_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2DiscExpEffect) +{ + effectname = "explosions/grenade_explode"; + minDistance = 5; + maxDistance = 20; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(TR2DiscSwitchSound) +{ + filename = "fx/weapons/blaster_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2DiscSwitchEffect; +}; + +datablock AudioProfile(TR2DiscLoopSound) +{ + filename = "fx/weapons/spinfusor_idle.wav"; + description = ClosestLooping3d; + effect = TR2DiscIdleEffect; +}; + + +datablock AudioProfile(TR2DiscFireSound) +{ + filename = "fx/weapons/TR2spinfusor_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = TR2DiscFireEffect; +}; + +datablock AudioProfile(TR2DiscReloadSound) +{ + filename = "fx/weapons/spinfusor_reload.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2DiscReloadEffect; +}; + +datablock AudioProfile(TR2DiscExpSound) +{ + filename = "fx/weapons/spinfusor_impact.wav"; + description = AudioExplosion3d; + preload = true; + effect = TR2DiscExpEffect; +}; + +datablock AudioProfile(underwaterTR2DiscExpSound) +{ + filename = "fx/weapons/spinfusor_impact_UW.wav"; + description = AudioExplosion3d; + preload = true; + effect = TR2DiscExpEffect; +}; + +datablock AudioProfile(TR2DiscProjectileSound) +{ + filename = "fx/weapons/spinfusor_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(TR2DiscDryFireSound) +{ + filename = "fx/weapons/spinfusor_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = TR2DiscDryFireEffect; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock ParticleData(TR2DiscExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 750; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.3; + times[2] = 1.0; +}; +datablock ParticleEmitterData(TR2DiscExplosionBubbleEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 3.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2DiscExplosionBubbleParticle"; +}; + +datablock ExplosionData(UnderwaterTR2DiscExplosion) +{ + explosionShape = "Disc_explosion.dts"; + soundProfile = underwaterTR2DiscExpSound; + + faceViewer = true; + + sizes[0] = "1.3 1.3 1.3"; + sizes[1] = "0.75 0.75 0.75"; + sizes[2] = "0.4 0.4 0.4"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + emitter[0] = "TR2DiscExplosionBubbleEmitter"; + + shakeCamera = false;//true; + camShakeFreq = "10.0 11.0 10.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 10.0; +}; + +datablock ExplosionData(TR2DiscExplosion) +{ + explosionShape = "Disc_explosion.dts"; + soundProfile = TR2DiscExpSound; + + faceViewer = true; + explosionScale = "2.0 2.0 2.0";//"1 1 1"; + + shakeCamera = false;//true; + camShakeFreq = "10.0 11.0 10.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 10.0; + + sizes[0] = "2.5 2.5 2.5";//"1.0 1.0 1.0"; + sizes[1] = "2.5 2.5 2.5";//"1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData(TR2DiscMist) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2DiscMistEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "TR2DiscMist"; +}; + +datablock ParticleData( TR2DiscSplashParticle2 ) +{ + + dragCoeffiecient = 0.4; + gravityCoefficient = -0.03; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 600; + lifetimeVarianceMS = 300; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 1.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2DiscSplashEmitter2 ) +{ + ejectionPeriodMS = 25; + ejectionOffset = 0.2; + periodVarianceMS = 0; + ejectionVelocity = 2.25; + velocityVariance = 0.50; + thetaMin = 0.0; + thetaMax = 30.0; + lifetimeMS = 250; + + particles = "TR2DiscSplashParticle2"; +}; + + +datablock ParticleData( TR2DiscSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2DiscSplashEmitter ) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2DiscSplashParticle"; +}; + + +datablock SplashData(TR2DiscSplash) +{ + numSegments = 15; + ejectionFreq = 0.0001; + ejectionAngle = 45; + ringLifetime = 0.5; + lifetimeMS = 400; + velocity = 5.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = TR2DiscSplashEmitter; + emitter[1] = TR2DiscMistEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock LinearProjectileData(TR2DiscProjectile) +{ + projectileShapeName = "Disc.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 0.5;//0.35;//0.50; + damageRadius = 15;//11;//7.5; + radiusDamageType = $DamageType::Disc; + kickBackStrength = 6100;//1750; + + sound = TR2DiscProjectileSound; + explosion = "TR2DiscExplosion"; + underwaterExplosion = "UnderwaterTR2DiscExplosion"; + splash = TR2DiscSplash; + + dryVelocity = 130;//90; + wetVelocity = 120; + velInheritFactor = 0.7; + fizzleTimeMS = 5000; + lifetimeMS = 5000; + explodeOnDeath = true; + reflectOnWaterImpactAngle = 30.0;//15.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 5000; + + activateDelayMS = 100; + + hasLight = true; + lightRadius = 6.0; + lightColor = "0.175 0.175 1.0"; +}; + + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(TR2DiscAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_disc.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some spinfusor discs"; + computeCRC = false; +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- + +datablock ShapeBaseImageData(TR2DiscImage) +{ + className = WeaponImage; + shapeFile = "TR2weapon_disc.dts"; + item = TR2Disc; + ammo = TR2DiscAmmo; + offset = "0 -0.5 0"; + emap = true; + + projectileSpread = 0.0 / 1000.0; + + projectile = TR2DiscProjectile; + projectileType = LinearProjectile; + + // State Data + stateName[0] = "Preactivate"; + stateTransitionOnLoaded[0] = "Activate"; + stateTransitionOnNoAmmo[0] = "NoAmmo"; + + stateName[1] = "Activate"; + stateTransitionOnTimeout[1] = "Ready"; + stateTimeoutValue[1] = 0.5; + stateSequence[1] = "Activated"; + stateSound[1] = TR2DiscSwitchSound; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateSequence[2] = "TR2DiscSpin"; + stateSound[2] = TR2DiscLoopSound; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 1.25; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = TR2DiscFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 0.5; // 0.25 load, 0.25 spinup + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = TR2DiscReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = TR2DiscDryFireSound; + stateTimeoutValue[6] = 1.0; + stateTransitionOnTimeout[6] = "NoAmmo"; +}; + +datablock ItemData(TR2Disc) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "TR2weapon_disc.dts"; + image = TR2DiscImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a spinfusor"; + computeCRC = true; + emap = true; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2grenade.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2grenade.cs new file mode 100644 index 00000000..dab9b6d3 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2grenade.cs @@ -0,0 +1,380 @@ +// ------------------------------------------------------------------------ +// grenade (thrown by hand) script +// ------------------------------------------------------------------------ +datablock EffectProfile(TR2GrenadeThrowEffect) +{ + effectname = "weapons/grenade_throw"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2GrenadeSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(TR2GrenadeThrowSound) +{ + filename = "fx/weapons/throw_grenade.wav"; + description = AudioClose3D; + preload = true; + effect = GrenadeThrowEffect; +}; + +datablock AudioProfile(TR2GrenadeSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3D; + preload = true; + effect = GrenadeSwitchEffect; +}; + +//************************************************************************** +// Hand Grenade underwater fx +//************************************************************************** + + +//-------------------------------------------------------------------------- +// Underwater Hand Grenade Particle effects +//-------------------------------------------------------------------------- +datablock ParticleData(TR2HandGrenadeExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 750; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.75; + sizes[1] = 0.75; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; +datablock ParticleEmitterData(TR2HandGrenadeExplosionBubbleEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 2.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2HandGrenadeExplosionBubbleParticle"; +}; + +datablock ParticleData(UnderwaterTR2HandGrenadeExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; // rises slowly + inheritedVelFactor = 0.025; + + constantAcceleration = -1.0; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.4 0.4 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 3.0; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterTR2HandGrenadeExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 5.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 250; + + particles = "UnderwaterTR2HandGrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(UnderwaterTR2HandGrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/droplet"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.6 1.0 1.0"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.25; + sizes[2] = 0.25; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterTR2HandGrenadeSparkEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "UnderwaterTR2HandGrenadeSparks"; +}; + + + +datablock ExplosionData(UnderwaterTR2HandGrenadeSubExplosion1) +{ + offset = 1.0; + emitter[0] = UnderwaterTR2HandGrenadeExplosionSmokeEmitter; + emitter[1] = UnderwaterTR2HandGrenadeSparkEmitter; +}; + +datablock ExplosionData(UnderwaterTR2HandGrenadeSubExplosion2) +{ + offset = 1.0; + emitter[0] = UnderwaterTR2HandGrenadeExplosionSmokeEmitter; + emitter[1] = UnderwaterTR2HandGrenadeSparkEmitter; +}; + +datablock ExplosionData(UnderwaterTR2HandGrenadeExplosion) +{ + soundProfile = TR2GrenadeExplosionSound; + + emitter[0] = UnderwaterTR2HandGrenadeExplosionSmokeEmitter; + emitter[1] = UnderwaterTR2HandGrenadeSparkEmitter; + emitter[2] = TR2HandGrenadeExplosionBubbleEmitter; + + subExplosion[0] = UnderwaterTR2HandGrenadeSubExplosion1; + subExplosion[1] = UnderwaterTR2HandGrenadeSubExplosion2; + + shakeCamera = true; + camShakeFreq = "12.0 13.0 11.0"; + camShakeAmp = "35.0 35.0 35.0"; + camShakeDuration = 1.0; + camShakeRadius = 15.0; +}; + +//************************************************************************** +// Hand Grenade effects +//************************************************************************** + +//-------------------------------------------------------------------------- +// Grenade Particle effects +//-------------------------------------------------------------------------- + +datablock ParticleData(TR2HandGrenadeExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; // rises slowly + inheritedVelFactor = 0.025; + + constantAcceleration = -0.80; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "1.0 0.7 0.0 1.0"; + colors[1] = "0.2 0.2 0.2 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 4.0;//1.0; + sizes[1] = 12.0;//3.0; + sizes[2] = 20.0;//5.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(TR2HandGrenadeExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 10.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 250; + + particles = "TR2HandGrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(TR2HandGrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/bigSpark"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 3.0;//0.5; + sizes[1] = 1.5;//0.25; + sizes[2] = 1.0;//0.25; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(TR2HandGrenadeSparkEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 24;//18; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2HandGrenadeSparks"; +}; + + + + +//---------------------------------------------------- +// Explosion +//---------------------------------------------------- + +datablock ExplosionData(TR2HandGrenadeSubExplosion1) +{ + offset = 2.0; + emitter[0] = TR2HandGrenadeExplosionSmokeEmitter; + emitter[1] = TR2HandGrenadeSparkEmitter; +}; + +datablock ExplosionData(TR2HandGrenadeSubExplosion2) +{ + offset = 2.0; + emitter[0] = TR2HandGrenadeExplosionSmokeEmitter; + emitter[1] = TR2HandGrenadeSparkEmitter; +}; + +datablock ExplosionData(TR2HandGrenadeExplosion) +{ + soundProfile = TR2GrenadeExplosionSound; + + emitter[0] = TR2HandGrenadeExplosionSmokeEmitter; + emitter[1] = TR2HandGrenadeSparkEmitter; + + subExplosion[0] = TR2HandGrenadeSubExplosion1; + subExplosion[1] = TR2HandGrenadeSubExplosion2; + + shakeCamera = true; + camShakeFreq = "12.0 13.0 11.0"; + camShakeAmp = "35.0 35.0 35.0"; + camShakeDuration = 1.0; + camShakeRadius = 15.0; +}; + + + + +datablock ItemData(TR2GrenadeThrown) +{ + className = Weapon; + shapeFile = "grenade.dts"; + mass = 0.35;//0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + maxDamage = 0.5; + explosion = TR2HandGrenadeExplosion; + underwaterExplosion = UnderwaterTR2HandGrenadeExplosion; + indirectDamage = 0.4; + damageRadius = 22.0;//10.0; + radiusDamageType = $DamageType::Grenade; + kickBackStrength = 8000;//2000; + + computeCRC = false; + +}; + +datablock ItemData(TR2Grenade) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "grenade.dts"; + mass = 0.35;//0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + thrownItem = TR2GrenadeThrown; + pickUpName = "some grenades"; + isGrenade = true; + + computeCRC = false; + +}; + +function TR2GrenadeThrown::onThrow(%this, %gren) +{ + //AIGrenadeThrow(%gren); + %gren.detThread = schedule(2000, %gren, "detonateGrenade", %gren); +} + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2grenadeLauncher.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2grenadeLauncher.cs new file mode 100644 index 00000000..ecf47ab6 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2grenadeLauncher.cs @@ -0,0 +1,788 @@ +//-------------------------------------- +// TR2Grenade launcher +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(TR2GrenadeSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2GrenadeFireEffect) +{ + effectname = "weapons/grenadelauncher_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2GrenadeDryFireEffect) +{ + effectname = "weapons/grenadelauncher_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2GrenadeReloadEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2GrenadeExplosionEffect) +{ + effectname = "explosions/grenade_explode"; + minDistance = 10; + maxDistance = 35; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(TR2GrenadeSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2GrenadeSwitchEffect; +}; + +datablock AudioProfile(TR2GrenadeFireSound) +{ + filename = "fx/weapons/grenadelauncher_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = TR2GrenadeFireEffect; +}; + +datablock AudioProfile(TR2GrenadeProjectileSound) +{ + filename = "fx/weapons/grenadelauncher_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(TR2GrenadeReloadSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2GrenadeReloadEffect; +}; + +datablock AudioProfile(TR2GrenadeExplosionSound) +{ + filename = "fx/weapons/grenade_explode.wav"; + description = AudioExplosion3d; + preload = true; + effect = TR2GrenadeExplosionEffect; +}; + +datablock AudioProfile(UnderwaterTR2GrenadeExplosionSound) +{ + filename = "fx/weapons/grenade_explode_UW.wav"; + description = AudioExplosion3d; + preload = true; + effect = TR2GrenadeExplosionEffect; +}; + +datablock AudioProfile(TR2GrenadeDryFireSound) +{ + filename = "fx/weapons/grenadelauncher_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = TR2GrenadeDryFireEffect; +}; + +//---------------------------------------------------------------------------- +// Underwater fx +//---------------------------------------------------------------------------- +datablock ParticleData(TR2GrenadeExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; +datablock ParticleEmitterData(TR2GrenadeExplosionBubbleEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 3.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2GrenadeExplosionBubbleParticle"; +}; + +datablock ParticleData(UnderwaterTR2GrenadeDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = -1.1; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.6 0.6 1.0 0.5"; + colors[1] = "0.6 0.6 1.0 0.5"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 3.0; + sizes[1] = 3.0; + sizes[2] = 3.0; + times[0] = 0.0; + times[1] = 0.7; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(UnderwaterTR2GrenadeDustEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 15.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 70; + thetaMax = 70; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "UnderwaterTR2GrenadeDust"; +}; + + +datablock ParticleData(UnderwaterTR2GrenadeExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.25; // rises slowly + inheritedVelFactor = 0.025; + constantAcceleration = -1.1; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.1 0.1 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 1.0"; + colors[2] = "0.4 0.4 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 6.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterTR2GExplosionSmokeEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + + ejectionVelocity = 6.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 90.0; + + lifetimeMS = 250; + + particles = "UnderwaterTR2GrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(UnderwaterTR2GrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/underwaterSpark"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.6 1.0 1.0"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterTR2GrenadeSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "UnderwaterTR2GrenadeSparks"; +}; + +datablock ExplosionData(UnderwaterTR2GrenadeExplosion) +{ + soundProfile = UnderwaterTR2GrenadeExplosionSound; + + faceViewer = true; + explosionScale = "0.8 0.8 0.8"; + + emitter[0] = UnderwaterTR2GrenadeDustEmitter; + emitter[1] = UnderwaterTR2GExplosionSmokeEmitter; + emitter[2] = UnderwaterTR2GrenadeSparksEmitter; + emitter[3] = TR2GrenadeExplosionBubbleEmitter; + + shakeCamera = true; + camShakeFreq = "10.0 6.0 9.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 20.0; +}; + + +//---------------------------------------------------------------------------- +// Bubbles +//---------------------------------------------------------------------------- +datablock ParticleData(TR2GrenadeBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.4"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2GrenadeBubbleEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 0.1; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2GrenadeBubbleParticle"; +}; + +//---------------------------------------------------------------------------- +// Debris +//---------------------------------------------------------------------------- + +datablock ParticleData( TR2GDebrisSmokeParticle ) +{ + dragCoeffiecient = 1.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + + useInvAlpha = true; + + spinRandomMin = -60.0; + spinRandomMax = 60.0; + + colors[0] = "0.4 0.4 0.4 1.0"; + colors[1] = "0.3 0.3 0.3 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 0.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2GDebrisSmokeEmitter ) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 1; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.2; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "TR2GDebrisSmokeParticle"; +}; + + +datablock DebrisData( TR2GrenadeDebris ) +{ + emitters[0] = TR2GDebrisSmokeEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 0.3; + lifetimeVariance = 0.02; + + numBounces = 1; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- + +datablock ParticleData( TR2GrenadeSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2GrenadeSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "BlasterSplashParticle"; +}; + + +datablock SplashData(TR2GrenadeSplash) +{ + numSegments = 15; + ejectionFreq = 15; + ejectionAngle = 40; + ringLifetime = 0.35; + lifetimeMS = 300; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = BlasterSplashEmitter; + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 1.0"; + colors[3] = "0.7 0.8 1.0 1.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- +datablock ParticleData(TR2GrenadeSmokeParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.2; // rises slowly + inheritedVelFactor = 0.00; + + lifetimeMS = 700; // lasts 2 second + lifetimeVarianceMS = 150; // ...more or less + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -30.0; + spinRandomMax = 30.0; + + // TR2: white + colors[0] = "1.0 1.0 1.0 1.0"; + colors[1] = "0.95 0.95 0.95 1.0"; + colors[2] = "0.9 0.9 0.9 0.0"; + + sizes[0] = 0.7;//0.25; + sizes[1] = 2.4;//1.0; + sizes[2] = 7.0;//3.0; + + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2GrenadeSmokeEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 5; + + ejectionVelocity = 1.25; + velocityVariance = 0.50; + + thetaMin = 0.0; + thetaMax = 90.0; + + particles = "TR2GrenadeSmokeParticle"; +}; + + +datablock ParticleData(TR2GrenadeDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.3 0.3 0.3 0.5"; + colors[1] = "0.3 0.3 0.3 0.5"; + colors[2] = "0.3 0.3 0.3 0.0"; + sizes[0] = 7.0;//3.2; + sizes[1] = 10.0;//4.6; + sizes[2] = 11.0;//5.0; + times[0] = 0.0; + times[1] = 0.7; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2GrenadeDustEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 15.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "TR2GrenadeDust"; +}; + + +datablock ParticleData(TR2GrenadeExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.5; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + // TR2: Red/orange + colors[0] = "0.9 0.7 0.7 1.0"; + colors[1] = "0.8 0.4 0.2 1.0"; + colors[2] = "0.6 0.2 0.1 0.0"; + sizes[0] = 6.0;//2.0; + sizes[1] = 18.0;//6.0; + sizes[2] = 6.0;//2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2GExplosionSmokeEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + + ejectionVelocity = 6.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 90.0; + + lifetimeMS = 250; + + particles = "TR2GrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(TR2GrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/bigspark"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 9.0;//0.5; + sizes[1] = 9.0;//0.5; + sizes[2] = 12.0;//0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(TR2GrenadeSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2GrenadeSparks"; +}; + + + + +//---------------------------------------------------- +// Explosion +//---------------------------------------------------- +datablock ExplosionData(TR2GrenadeExplosion) +{ + soundProfile = TR2GrenadeExplosionSound; + + faceViewer = true; + explosionScale = "3.0 3.0 3.0";//"0.8 0.8 0.8"; + + debris = TR2GrenadeDebris; + debrisThetaMin = 10; + debrisThetaMax = 50; + debrisNum = 8; + debrisVelocity = 52.0;//26.0; + debrisVelocityVariance = 14.0;//7.0; + + emitter[0] = TR2GrenadeDustEmitter; + emitter[1] = TR2GExplosionSmokeEmitter; + emitter[2] = TR2GrenadeSparksEmitter; + + shakeCamera = true; + camShakeFreq = "10.0 6.0 9.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 20.0; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock GrenadeProjectileData(BasicTR2Grenade) +{ + projectileShapeName = "grenade_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 0.40; + damageRadius = 27;//20.0; + radiusDamageType = $DamageType::Grenade; + kickBackStrength = 7200;//1500; + bubbleEmitTime = 1.0; + + sound = TR2GrenadeProjectileSound; + explosion = "TR2GrenadeExplosion"; + underwaterExplosion = "UnderwaterTR2GrenadeExplosion"; + velInheritFactor = 0.62;//0.7;//0.5; + splash = TR2GrenadeSplash; + + baseEmitter = TR2GrenadeSmokeEmitter; + bubbleEmitter = TR2GrenadeBubbleEmitter; + + grenadeElasticity = 0.15;//0.25;//0.35; + grenadeFriction = 0.09;//0.2;//0.2; + armingDelayMS = 1000; + muzzleVelocity = 165;//78;//47.00; + drag = 0.09;//0.15;//0.1; + gravityMod = 2.75; +}; + + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(TR2GrenadeLauncherAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_grenade.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some grenade launcher ammo"; + + computeCRC = false; + emap = true; +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ItemData(TR2GrenadeLauncher) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "TR2weapon_grenade_launcher.dts"; + image = TR2GrenadeLauncherImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a grenade launcher"; + + computeCRC = true; + +}; + +datablock ShapeBaseImageData(TR2GrenadeLauncherImage) +{ + className = WeaponImage; + shapeFile = "TR2weapon_grenade_launcher.dts"; + item = TR2GrenadeLauncher; + ammo = TR2GrenadeLauncherAmmo; + offset = "0 0 0"; + emap = true; + + projectile = BasicTR2Grenade; + projectileType = GrenadeProjectile; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = TR2GrenadeSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.4; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = TR2GrenadeFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 0.5; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = TR2GrenadeReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = TR2GrenadeDryFireSound; + stateTimeoutValue[6] = 1.5; + stateTransitionOnTimeout[6] = "NoAmmo"; +}; diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2mortar.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2mortar.cs new file mode 100644 index 00000000..022283cc --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2mortar.cs @@ -0,0 +1,799 @@ +//-------------------------------------- +// Mortar +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(TR2MortarSwitchEffect) +{ + effectname = "weapons/mortar_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2MortarFireEffect) +{ + effectname = "weapons/mortar_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(TR2MortarReloadEffect) +{ + effectname = "weapons/mortar_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2MortarDryFireEffect) +{ + effectname = "weapons/mortar_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2MortarExplosionEffect) +{ + effectname = "explosions/explosion.xpl03"; + minDistance = 30; + maxDistance = 65; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(TR2MortarSwitchSound) +{ + filename = "fx/weapons/mortar_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2MortarSwitchEffect; +}; + +datablock AudioProfile(TR2MortarReloadSound) +{ + filename = "fx/weapons/mortar_reload.wav"; + description = AudioClosest3d; + preload = true; + effect = TR2MortarReloadEffect; +}; + +// DELETE IF NOT NEEDED +//datablock AudioProfile(TR2MortarIdleSound) +//{ +// filename = "fx/weapons/weapon.mortarIdle.wav"; +// description = ClosestLooping3d; +// preload = true; +//}; + +datablock AudioProfile(TR2MortarFireSound) +{ + filename = "fx/weapons/mortar_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = TR2MortarFireEffect; +}; + +datablock AudioProfile(TR2MortarProjectileSound) +{ + filename = "fx/weapons/mortar_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(TR2MortarExplosionSound) +{ + filename = "fx/weapons/mortar_explode.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = TR2MortarExplosionEffect; +}; + +datablock AudioProfile(UnderwaterTR2MortarExplosionSound) +{ + filename = "fx/weapons/mortar_explode_UW.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = TR2MortarExplosionEffect; +}; + +datablock AudioProfile(TR2MortarDryFireSound) +{ + filename = "fx/weapons/mortar_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = TR2MortarDryFireEffect; +}; + +//---------------------------------------------------------------------------- +// Bubbles +//---------------------------------------------------------------------------- +datablock ParticleData(TR2MortarBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.4"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.8; + sizes[1] = 0.8; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2MortarBubbleEmitter) +{ + ejectionPeriodMS = 9; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 0.1; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2MortarBubbleParticle"; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData( TR2MortarSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2MortarSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2MortarSplashParticle"; +}; + + +datablock SplashData(TR2MortarSplash) +{ + numSegments = 10; + ejectionFreq = 10; + ejectionAngle = 20; + ringLifetime = 0.4; + lifetimeMS = 400; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = TR2MortarSplashEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//--------------------------------------------------------------------------- +// Mortar Shockwaves +//--------------------------------------------------------------------------- +datablock ShockwaveData(UnderwaterTR2MortarShockwave) +{ + width = 6.0; + numSegments = 32; + numVertSegments = 6; + velocity = 10; + acceleration = 20.0; + lifetimeMS = 900; + height = 1.0; + verticalCurve = 0.5; + is2D = false; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.4 0.4 1.0 0.50"; + colors[1] = "0.4 0.4 1.0 0.25"; + colors[2] = "0.4 0.4 1.0 0.0"; + + mapToTerrain = true; + orientToNormal = false; + renderBottom = false; +}; + +datablock ShockwaveData(TR2MortarShockwave) +{ + width = 6.0; + numSegments = 32; + numVertSegments = 6; + velocity = 30; + acceleration = 20.0; + lifetimeMS = 500; + height = 1.0; + verticalCurve = 0.5; + is2D = false; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.4 1.0 0.4 0.50"; + colors[1] = "0.4 1.0 0.4 0.25"; + colors[2] = "0.4 1.0 0.4 0.0"; + + mapToTerrain = true; + orientToNormal = false; + renderBottom = false; +}; + + +//-------------------------------------------------------------------------- +// Mortar Explosion Particle effects +//-------------------------------------- +datablock ParticleData( TR2MortarCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + colors[0] = "0.7 1.0 0.7 1.0"; + colors[1] = "0.7 1.0 0.7 0.5"; + colors[2] = "0.7 1.0 0.7 0.0"; + sizes[0] = 8.0; + sizes[1] = 16.0; + sizes[2] = 18.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( TR2MortarCrescentEmitter ) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 0; + ejectionVelocity = 40; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "TR2MortarCrescentParticle"; +}; + + +datablock ParticleData(TR2MortarExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.30; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 500; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + textureName = "special/Smoke/bigSmoke"; + + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.4 0.4 0.4 0.5"; + colors[2] = "0.4 0.4 0.4 0.5"; + colors[3] = "0.4 0.4 0.4 0.0"; + sizes[0] = 25.0; + sizes[1] = 28.0; + sizes[2] = 40.0; + sizes[3] = 56.0; + times[0] = 0.0; + times[1] = 0.333; + times[2] = 0.666; + times[3] = 1.0; + + + +}; + +datablock ParticleEmitterData(TR2MortarExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionOffset = 8.0; + + + ejectionVelocity = 7.0;//3.25; + velocityVariance = 1.2; + + thetaMin = 0.0; + thetaMax = 90.0; + + lifetimeMS = 500; + + particles = "TR2MortarExplosionSmoke"; + +}; + +//--------------------------------------------------------------------------- +// Underwater Explosion +//--------------------------------------------------------------------------- +datablock ParticleData(TR2UnderwaterExplosionSparks) +{ + dragCoefficient = 0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/crescent3"; + colors[0] = "0.4 0.4 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 1.0"; + colors[2] = "0.4 0.4 1.0 0.0"; + sizes[0] = 3.5; + sizes[1] = 3.5; + sizes[2] = 3.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(TR2UnderwaterExplosionSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 17; + velocityVariance = 4; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "TR2UnderwaterExplosionSparks"; +}; + +datablock ParticleData(TR2MortarExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 2.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.8; + times[2] = 1.0; +}; +datablock ParticleEmitterData(TR2MortarExplosionBubbleEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 7.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TR2MortarExplosionBubbleParticle"; +}; + +datablock DebrisData( UnderwaterTR2MortarDebris ) +{ + emitters[0] = MortarExplosionBubbleEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 1.5; + lifetimeVariance = 0.2; + + numBounces = 1; +}; + +datablock ExplosionData(UnderwaterTR2MortarSubExplosion1) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + delayMS = 100; + offset = 3.0; + playSpeed = 1.5; + + sizes[0] = "3.25 3.25 3.25";//"0.75 0.75 0.75"; + sizes[1] = "2.5 2.5 2.5";//"1.0 1.0 1.0"; + sizes[2] = "1.5 1.5 1.5";//"0.5 0.5 0.5"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ExplosionData(UnderwaterTR2MortarSubExplosion2) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + delayMS = 50; + offset = 3.0; + playSpeed = 0.75; + + sizes[0] = "4.5 4.5 4.5";//"1.5 1.5 1.5"; + sizes[1] = "4.5 4.5 4.5";//"1.5 1.5 1.5"; + sizes[2] = "3.5 3.5 3.5";//"1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ExplosionData(UnderwaterTR2MortarSubExplosion3) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + delayMS = 0; + offset = 0.0; + playSpeed = 0.5; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "2.0 2.0 2.0"; + sizes[2] = "1.5 1.5 1.5"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ExplosionData(UnderwaterTR2MortarExplosion) +{ + soundProfile = UnderwaterTR2MortarExplosionSound; + + shockwave = UnderwaterTR2MortarShockwave; + shockwaveOnTerrain = true; + + subExplosion[0] = UnderwaterTR2MortarSubExplosion1; + subExplosion[1] = UnderwaterTR2MortarSubExplosion2; + subExplosion[2] = UnderwaterTR2MortarSubExplosion3; + + emitter[0] = TR2MortarExplosionBubbleEmitter; + emitter[1] = TR2UnderwaterExplosionSparksEmitter; + + shakeCamera = true; + camShakeFreq = "8.0 9.0 7.0"; + camShakeAmp = "100.0 100.0 100.0"; + camShakeDuration = 1.3; + camShakeRadius = 25.0; +}; + + +//--------------------------------------------------------------------------- +// Explosion +//--------------------------------------------------------------------------- + +datablock ExplosionData(TR2MortarSubExplosion1) +{ + explosionShape = "mortar_explosion.dts"; + faceViewer = true; + + delayMS = 100; + + offset = 5.0; + + playSpeed = 1.5; + + sizes[0] = "8.0 8.0 8.0";//"1.5 1.5 1.5"; + sizes[1] = "8.0 8.0 8.0";//"1.5 1.5 1.5"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(TR2MortarSubExplosion2) +{ + explosionShape = "mortar_explosion.dts"; + faceViewer = true; + + delayMS = 50; + + offset = 5.0; + + playSpeed = 1.0; + + sizes[0] = "12.0 12.0 12.0";//"3.0 3.0 3.0"; + sizes[1] = "12.0 12.0 12.0";//"3.0 3.0 3.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(TR2MortarSubExplosion3) +{ + explosionShape = "mortar_explosion.dts"; + faceViewer = true; + delayMS = 0; + offset = 0.0; + playSpeed = 0.7; + + sizes[0] = "24.0 24.0 24.0";//"3.0 3.0 3.0"; + sizes[1] = "48.0 48.0 48.0";//"6.0 6.0 6.0"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(TR2MortarExplosion) +{ + soundProfile = TR2MortarExplosionSound; + + shockwave = MortarShockwave; + shockwaveOnTerrain = true; + + subExplosion[0] = TR2MortarSubExplosion1; + subExplosion[1] = TR2MortarSubExplosion2; + subExplosion[2] = TR2MortarSubExplosion3; + + emitter[0] = TR2MortarExplosionSmokeEmitter; + emitter[1] = TR2MortarCrescentEmitter; + + shakeCamera = true; + camShakeFreq = "8.0 9.0 7.0"; + camShakeAmp = "100.0 100.0 100.0"; + camShakeDuration = 1.3; + camShakeRadius = 40.0;//25.0; +}; + +//--------------------------------------------------------------------------- +// Smoke particles +//--------------------------------------------------------------------------- +datablock ParticleData(TR2MortarSmokeParticle) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.3; // rises slowly + inheritedVelFactor = 0.125; + + lifetimeMS = 1200; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + animateTexture = false; + + textureName = "special/Smoke/bigSmoke"; + + colors[0] = "0.7 1.0 0.7 0.5"; + colors[1] = "0.3 0.7 0.3 0.8"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 4.0;//2.0; + sizes[1] = 8.0;//4.0; + sizes[2] = 17.0;//8.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + + +datablock ParticleEmitterData(TR2MortarSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 3; + + ejectionVelocity = 4.0;//2.25; + velocityVariance = 0.55; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "TR2MortarSmokeParticle"; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock GrenadeProjectileData(TR2MortarShot) +{ + projectileShapeName = "mortar_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 0.2; + damageRadius = 50.0; + radiusDamageType = $DamageType::Mortar; + kickBackStrength = 9500; + + explosion = "MortarExplosion"; + underwaterExplosion = "UnderwaterMortarExplosion"; + velInheritFactor = 0.5; + splash = TR2MortarSplash; + depthTolerance = 10.0; // depth at which it uses underwater explosion + + baseEmitter = TR2MortarSmokeEmitter; + bubbleEmitter = TR2MortarBubbleEmitter; + + grenadeElasticity = 0.15; + grenadeFriction = 0.4; + armingDelayMS = 1200;//2000; + muzzleVelocity = 120.0;//63.7; + drag = 0.1; + gravityMod = 1.5; + + sound = TR2MortarProjectileSound; + + hasLight = true; + lightRadius = 4; + lightColor = "0.05 0.2 0.05"; + + hasLightUnderwaterColor = true; + underWaterLightColor = "0.05 0.075 0.2"; + +}; + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(TR2MortarAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_mortar.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some mortar ammo"; + + computeCRC = false; + +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ItemData(TR2Mortar) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "TR2weapon_mortar.dts"; + image = TR2MortarImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a mortar gun"; + + computeCRC = true; + emap = true; +}; + +datablock ShapeBaseImageData(TR2MortarImage) +{ + className = WeaponImage; + shapeFile = "TR2weapon_mortar.dts"; + item = TR2Mortar; + ammo = TR2MortarAmmo; + offset = "0 0 0"; + emap = true; + + projectile = TR2MortarShot; + projectileType = GrenadeProjectile; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = TR2MortarSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + //stateSound[2] = MortarIdleSound; + + stateName[3] = "Fire"; + stateSequence[3] = "Recoil"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.8; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateSound[3] = TR2MortarFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 2.0; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = TR2MortarReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = TR2MortarDryFireSound; + stateTimeoutValue[6] = 1.5; + stateTransitionOnTimeout[6] = "NoAmmo"; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2shockLance.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2shockLance.cs new file mode 100644 index 00000000..7932236c --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2shockLance.cs @@ -0,0 +1,297 @@ +//-------------------------------------------------------------------------- +// Shock Lance +// +// +//-------------------------------------------------------------------------- + +datablock EffectProfile(TR2ShockLanceSwitchEffect) +{ + effectname = "weapons/shocklance_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2ShockLanceFireEffect) +{ + effectname = "weapons/shocklance_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2ShockLanceReloadEffect) +{ + effectname = "weapons/shocklance_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(TR2ShockLanceSwitchSound) +{ + filename = "fx/weapons/shocklance_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = ShockLanceSwitchEffect; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock AudioProfile(TR2ShockLanceHitSound) +{ + filename = "fx/weapons/shocklance_fire.WAV"; + description = AudioClose3d; + preload = true; + effect = TR2ShockLanceFireEffect; +}; + +datablock AudioProfile(TR2ShockLanceReloadSound) +{ + filename = "fx/weapons/shocklance_reload.WAV"; + description = AudioClosest3d; + preload = true; + effect = TR2ShockLanceReloadEffect; +}; + +datablock AudioProfile(TR2ShockLanceDryFireSound) +{ + filename = "fx/weapons/shocklance_dryfire.WAV"; + description = AudioClose3d; + preload = true; + effect = TR2ShockLanceReloadEffect; +}; + +datablock AudioProfile(TR2ShockLanceMissSound) +{ + filename = "fx/weapons/shocklance_miss.WAV"; + description = AudioExplosion3d; + preload = true; +}; + +//-------------------------------------------------------------------------- +// Particle data +//-------------------------------------------------------------------------- +datablock ParticleData(TR2ShockParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.0; + inheritedVelFactor = 0.0; + + lifetimeMS = 1000; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + numParts = 50; + + animateTexture = true; + framesPerSec = 26; + + animTexName[00] = "special/Explosion/exp_0002"; + animTexName[01] = "special/Explosion/exp_0004"; + animTexName[02] = "special/Explosion/exp_0006"; + animTexName[03] = "special/Explosion/exp_0008"; + animTexName[04] = "special/Explosion/exp_0010"; + animTexName[05] = "special/Explosion/exp_0012"; + animTexName[06] = "special/Explosion/exp_0014"; + animTexName[07] = "special/Explosion/exp_0016"; + animTexName[08] = "special/Explosion/exp_0018"; + animTexName[09] = "special/Explosion/exp_0020"; + animTexName[10] = "special/Explosion/exp_0022"; + animTexName[11] = "special/Explosion/exp_0024"; + animTexName[12] = "special/Explosion/exp_0026"; + animTexName[13] = "special/Explosion/exp_0028"; + animTexName[14] = "special/Explosion/exp_0030"; + animTexName[15] = "special/Explosion/exp_0032"; + animTexName[16] = "special/Explosion/exp_0034"; + animTexName[17] = "special/Explosion/exp_0036"; + animTexName[18] = "special/Explosion/exp_0038"; + animTexName[19] = "special/Explosion/exp_0040"; + animTexName[20] = "special/Explosion/exp_0042"; + animTexName[21] = "special/Explosion/exp_0044"; + animTexName[22] = "special/Explosion/exp_0046"; + animTexName[23] = "special/Explosion/exp_0048"; + animTexName[24] = "special/Explosion/exp_0050"; + animTexName[25] = "special/Explosion/exp_0052"; + + + colors[0] = "0.5 0.5 1.0 1.0"; + colors[1] = "0.5 0.5 1.0 0.5"; + colors[2] = "0.25 0.25 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TR2ShockParticleEmitter) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + + ejectionVelocity = 0.25; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 30.0; + + particles = "TR2ShockParticle"; +}; + +//-------------------------------------------------------------------------- +// Shockwave +//-------------------------------------------------------------------------- +datablock ShockwaveData( TR2ShocklanceHit ) +{ + width = 0.5; + numSegments = 20; + numVertSegments = 1; + velocity = 0.25; + acceleration = 1.0; + lifetimeMS = 600; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + + texture[0] = "special/shocklanceHit"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "1.0 1.0 1.0 1.0"; + colors[1] = "1.0 1.0 1.0 0.5"; + colors[2] = "1.0 1.0 1.0 0.0"; +}; + + +//-------------------------------------- +// Projectile +//-------------------------------------- +datablock ShockLanceProjectileData(TR2BasicShocker) +{ + directDamage = 0.1;//0.45; + radiusDamageType = $DamageType::ShockLance; + kickBackStrength = 12000; + velInheritFactor = 0; + sound = ""; + + zapDuration = 1.0; + impulse = 12000;//1800; + boltLength = 45;//14.0; + extension = 39;//14.0;//14.0; // script variable indicating distance you can shock people from + lightningFreq = 25.0; + lightningDensity = 3.0; + lightningAmp = 0.25; + lightningWidth = 0.05; + + shockwave = TR2ShocklanceHit; + + boltSpeed[0] = 2.0; + boltSpeed[1] = -0.5; + + texWrap[0] = 1.5; + texWrap[1] = 1.5; + + startWidth[0] = 0.3; + endWidth[0] = 0.6; + startWidth[1] = 0.3; + endWidth[1] = 0.6; + + texture[0] = "special/shockLightning01"; + texture[1] = "special/shockLightning02"; + texture[2] = "special/shockLightning03"; + texture[3] = "special/ELFBeam"; + + emitter[0] = TR2ShockParticleEmitter; +}; + + +//-------------------------------------- +// Rifle and item... +//-------------------------------------- +datablock ItemData(TR2ShockLance) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "TR2weapon_shocklance.dts"; + image = TR2ShockLanceImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a shocklance"; + + computeCRC = true; + emap = true; +}; + +datablock ShapeBaseImageData(TR2ShockLanceImage) +{ + classname = WeaponImage; + shapeFile = "TR2weapon_shocklance.dts"; + item = TR2ShockLance; + offset = "0 0 0"; + emap = true; + + projectile = TR2BasicShocker; + + usesEnergy = true; + missEnergy = 0; + hitEnergy = 15; + minEnergy = 15; // needs to change to be datablock's energy drain for a hit + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateSound[0] = TR2ShockLanceSwitchSound; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "CheckWet"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.5; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = TR2ShockLanceDryFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 2.0; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = TR2ShockLanceReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Ready"; + + stateName[6] = "DryFire"; + stateSound[6] = TR2ShockLanceDryFireSound; + stateTimeoutValue[6] = 1.0; + stateTransitionOnTimeout[6] = "Ready"; + + stateName[7] = "CheckWet"; + stateTransitionOnWet[7] = "DryFire"; + stateTransitionOnNotWet[7] = "Fire"; +}; + diff --git a/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2targetingLaser.cs b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2targetingLaser.cs new file mode 100644 index 00000000..b42d5503 --- /dev/null +++ b/public/base/@vl2/TR2final105-server.vl2/scripts/weapons/TR2targetingLaser.cs @@ -0,0 +1,218 @@ +//-------------------------------------------------------------------------- +// Targeting laser +// +//-------------------------------------------------------------------------- +datablock EffectProfile(TR2TargetingLaserSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TR2TargetingLaserPaintEffect) +{ + effectname = "weapons/targetinglaser_paint"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(TR2TargetingLaserSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = TargetingLaserSwitchEffect; +}; + +datablock AudioProfile(TR2TargetingLaserPaintSound) +{ + filename = "fx/weapons/targetinglaser_paint.wav"; + description = CloseLooping3d; + preload = true; + effect = TargetingLaserPaintEffect; +}; + + +//-------------------------------------- +// Projectile +//-------------------------------------- +datablock TargetProjectileData(TR2BasicGoldTargeter) +{ + directDamage = 0.0; + hasDamageRadius = false; + indirectDamage = 0.0; + damageRadius = 0.0; + velInheritFactor = 1.0; + + maxRifleRange = 1000; + beamColor = "0.8 0.8 0.0"; + + startBeamWidth = 0.80; + pulseBeamWidth = 0.55; + beamFlareAngle = 3.0; + minFlareSize = 0.0; + maxFlareSize = 400.0; + pulseSpeed = 6.0; + pulseLength = 0.150; + + textureName[0] = "special/nonlingradient"; + textureName[1] = "special/flare"; + textureName[2] = "special/pulse"; + textureName[3] = "special/expFlare"; + beacon = true; +}; + +datablock TargetProjectileData(TR2BasicSilverTargeter) +{ + directDamage = 0.0; + hasDamageRadius = false; + indirectDamage = 0.0; + damageRadius = 0.0; + velInheritFactor = 1.0; + + maxRifleRange = 1000; + beamColor = "0.56 0.56 0.56"; + + startBeamWidth = 0.80; + pulseBeamWidth = 0.55; + beamFlareAngle = 3.0; + minFlareSize = 0.0; + maxFlareSize = 400.0; + pulseSpeed = 6.0; + pulseLength = 0.150; + + textureName[0] = "special/nonlingradient"; + textureName[1] = "special/flare"; + textureName[2] = "special/pulse"; + textureName[3] = "special/expFlare"; + beacon = true; +}; + + +//-------------------------------------- +// Rifle and item... +//-------------------------------------- +datablock ItemData(TR2GoldTargetingLaser) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_targeting.dts"; + image = TR2GoldTargetingLaserImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a targeting laser rifle"; + + computeCRC = false; + +}; + +datablock ItemData(TR2SilverTargetingLaser) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_targeting.dts"; + image = TR2SilverTargetingLaserImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a targeting laser rifle"; + + computeCRC = false; + +}; + + +datablock ShapeBaseImageData(TR2GoldTargetingLaserImage) +{ + className = WeaponImage; + + shapeFile = "weapon_targeting.dts"; + item = TR2GoldTargetingLaser; + offset = "0 0 0"; + + projectile = TR2BasicGoldTargeter; + projectileType = TargetProjectile; + deleteLastProjectile = true; + + usesEnergy = true; + minEnergy = 1; + + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = TR2TargetingLaserSwitchSound; + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateTransitionOnAmmo[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateEnergyDrain[3] = 0; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateTransitionOnTriggerUp[3] = "Deconstruction"; + stateTransitionOnNoAmmo[3] = "Deconstruction"; + stateSound[3] = TR2TargetingLaserPaintSound; + + stateName[4] = "NoAmmo"; + stateTransitionOnAmmo[4] = "Ready"; + + stateName[5] = "Deconstruction"; + stateScript[5] = "deconstruct"; + stateTransitionOnTimeout[5] = "Ready"; +}; + +datablock ShapeBaseImageData(TR2SilverTargetingLaserImage) +{ + className = WeaponImage; + + shapeFile = "weapon_targeting.dts"; + item = TR2SilverTargetingLaser; + offset = "0 0 0"; + + projectile = TR2BasicSilverTargeter; + projectileType = TargetProjectile; + deleteLastProjectile = true; + + usesEnergy = true; + minEnergy = 1; + + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = TR2TargetingLaserSwitchSound; + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateTransitionOnAmmo[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateEnergyDrain[3] = 0; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateTransitionOnTriggerUp[3] = "Deconstruction"; + stateTransitionOnNoAmmo[3] = "Deconstruction"; + stateSound[3] = TR2TargetingLaserPaintSound; + + stateName[4] = "NoAmmo"; + stateTransitionOnAmmo[4] = "Ready"; + + stateName[5] = "Deconstruction"; + stateScript[5] = "deconstruct"; + stateTransitionOnTimeout[5] = "Ready"; +}; diff --git a/public/base/@vl2/TWL-MapPack.vl2/TWL-MapPack Readme.txt b/public/base/@vl2/TWL-MapPack.vl2/TWL-MapPack Readme.txt new file mode 100644 index 00000000..c03bb367 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/TWL-MapPack Readme.txt @@ -0,0 +1,118 @@ +Twl Map Pack Final + +Thanks for the patience...... +Any comments, bugs, or questions, Pm... Smaqaho, Flyguy in IRC (#Rapture and #Lagless respectively). + +Pack assembled by Flyguy@Flyguy.org + +Special thanks to Sabre, Validuz, KilMeister, Techlogic, JimBodkins, and anyone i forgot to mention that helped with the editing of maps. + +As you will read, there are ALOT of new maps. + +=================================== +MAPS. +=================================== + +Abaddon No changes. + +Banshee ***** NEW MAP + +BeachBlitz No changes. + +Beggars Run Aligned bridge deck and flag stand to eliminate deadstop. + Eliminated HOF damage through flagstand floor. + Slight terrain mod to eliminate terrain inside bases. + +BlueMoon Slight terrain contour to prevent flat terrain dead stop bug. + +Boss Changed crate by flag to be the same on both sides. + +Celerity ***** NEW MAP + +Choke Point ***** NEW MAP + +Cinereous ***** NEW MAP + +Clusterfuct ***** NEW MAP + +Cross Fire ***** NEW MAP + +Curtilage ***** NEW MAP + +Damnation Flag stand object removed to eliminate dead stop. + Slight terrain contour to prevent flat terrain dead stop bug. + +Dangerous Crossing No changes. + +Deadly Birds Song No changes. + +Desiccator Terrain edited for smoother skiing. + One FF gen removed, other moved to ground level. + +Drifts No changes. + +Feign Flag hut rotated 180 degrees to prevent spamming. + Solar panel removed. (invs are self powered) + +Frostclaw ***** NEW MAP + +Frozen ***** NEW MAP + +Harvester No changes. + +Horde ***** NEW MAP + +Katabatic No Changes.... this is kata x2 with fixed terrain + +Magmatic No Changes + +Minotaur Slight visible distance change to improve FPS. + +Neve ***** NEW MAP + +No Shelter No changes. + +OsIris ***** NEW MAP + +Pandemonium No changes. + +Quagmire No Changes. + +Raindance No changes. + +Ramparts No changes. + +Reversion OOB grid moved back on both sides for better escape on front side grabs. + Spawn spheres reduced from 3 to 1 big sphere in front of base. + Base sentry turret removed, center base turret removed. + +Rollercoaster Bridges aligned, slight fog change to improve FPS. + Veh pad removed and replaced with self powered inv. + +Runenmacht ***** NEW MAP + +Sandstorm No changes. + +Slapdash Slight terrain contour to prevent flat terrain dead stop bug. + Transparent, fast-pass force fields added to eliminate gen spam. + +Snowblind ***** NEW MAP (oldschool) + +Starfallen No changes. + +Stonehenge No changes. + +SubZero Slight terrain contour to prevent flat terrain dead stop bug. + +Surreal No changes. + +Titan No changes. + +Whitedwarf Back spawn sphere removed. + +WilderZone ***** NEW MAP + +WoodyMyrk No changes. + +===================================== + diff --git a/public/base/@vl2/TWL-MapPack.vl2/audio/fx/environment/IrisStaticSweep.wav b/public/base/@vl2/TWL-MapPack.vl2/audio/fx/environment/IrisStaticSweep.wav new file mode 100644 index 00000000..fc9082b9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/audio/fx/environment/IrisStaticSweep.wav differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salgenroom2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salgenroom2.dif new file mode 100644 index 00000000..124f0fb5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salgenroom2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salproj1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salproj1.dif new file mode 100644 index 00000000..710a33af Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salproj1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salturretsus1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salturretsus1.dif new file mode 100644 index 00000000..5127de29 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_salturretsus1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slblocks.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slblocks.dif new file mode 100644 index 00000000..d28d0de9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slblocks.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slinvstat.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slinvstat.dif new file mode 100644 index 00000000..c282a9ad Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slinvstat.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slremo2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slremo2.dif new file mode 100644 index 00000000..f837badb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slremo2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slsusbr1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slsusbr1.dif new file mode 100644 index 00000000..69e94253 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slsusbr1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slvehramp1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slvehramp1.dif new file mode 100644 index 00000000..dfe4340e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Euro_slvehramp1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/Vpad_Bunker.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/Vpad_Bunker.dif new file mode 100644 index 00000000..bcd9ad78 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/Vpad_Bunker.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_-nefvbase_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_-nefvbase_x.dif new file mode 100644 index 00000000..050e5d36 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_-nefvbase_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_-nefvbase_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_-nefvbase_x2.dif new file mode 100644 index 00000000..dfc4d67a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_-nefvbase_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_ccb1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_ccb1.dif new file mode 100644 index 00000000..1b706aa6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bbase_ccb1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_-nef_flagstand1_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_-nef_flagstand1_x.dif new file mode 100644 index 00000000..721f6c2d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_-nef_flagstand1_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_-nef_flagstand1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_-nef_flagstand1_x2.dif new file mode 100644 index 00000000..721f6c2d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_-nef_flagstand1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_neftrstand1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_neftrstand1.dif new file mode 100644 index 00000000..f1acd8b5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmisc_neftrstand1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bridge0_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bridge0_x2.dif new file mode 100644 index 00000000..1243e9b8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bridge0_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bunker1_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bunker1_x.dif new file mode 100644 index 00000000..b129f65c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bunker1_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bunker1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bunker1_x2.dif new file mode 100644 index 00000000..b129f65c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_bunker1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruina_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruina_x2.dif new file mode 100644 index 00000000..25467bee Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruina_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinb_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinb_x2.dif new file mode 100644 index 00000000..dc17e841 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinb_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinc_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinc_x2.dif new file mode 100644 index 00000000..9871df97 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinc_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruind_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruind_x2.dif new file mode 100644 index 00000000..22295403 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruind_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruine_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruine_x2.dif new file mode 100644 index 00000000..f44111e6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruine_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinf_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinf_x2.dif new file mode 100644 index 00000000..da99abe0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinf_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruing_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruing_x2.dif new file mode 100644 index 00000000..ebaa8904 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruing_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinh_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinh_x2.dif new file mode 100644 index 00000000..4d98cd8c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_ruinh_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower1_x2.dif new file mode 100644 index 00000000..d791ad63 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower2_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower2_x.dif new file mode 100644 index 00000000..f50392ed Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower2_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower2_x2.dif new file mode 100644 index 00000000..f50392ed Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/bmiscpan_tower2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_base1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_base1.dif new file mode 100644 index 00000000..3cf09b7c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_base1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_bridge2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_bridge2.dif new file mode 100644 index 00000000..5a88283c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_bridge2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_bridge3.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_bridge3.dif new file mode 100644 index 00000000..3c5bb4e7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_bridge3.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform.dif new file mode 100644 index 00000000..dd66956d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform_x.dif new file mode 100644 index 00000000..dd66956d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform_x2.dif new file mode 100644 index 00000000..dd66956d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/btf_turretplatform_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/ccb_be_tower1a_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/ccb_be_tower1a_x2.dif new file mode 100644 index 00000000..852ae20b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/ccb_be_tower1a_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/ccb_be_tower1b_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/ccb_be_tower1b_x2.dif new file mode 100644 index 00000000..bf90db4d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/ccb_be_tower1b_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase1_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase1_x.dif new file mode 100644 index 00000000..9c9c2799 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase1_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase1_x2.dif new file mode 100644 index 00000000..9c9c2799 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase2_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase2_x.dif new file mode 100644 index 00000000..4287894b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase2_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase2_x2.dif new file mode 100644 index 00000000..4287894b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dbase_-nefbase2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc1_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc1_x.dif new file mode 100644 index 00000000..2f4c3655 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc1_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc1_x2.dif new file mode 100644 index 00000000..2f4c3655 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc_-nefflagstand1_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc_-nefflagstand1_x.dif new file mode 100644 index 00000000..f455c09a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc_-nefflagstand1_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc_-nefflagstand1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc_-nefflagstand1_x2.dif new file mode 100644 index 00000000..f455c09a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dmisc_-nefflagstand1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_box_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_box_x2.dif new file mode 100644 index 00000000..3f477d05 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_box_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_bunkera_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_bunkera_x2.dif new file mode 100644 index 00000000..0c9e2011 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_bunkera_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_bunkerb_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_bunkerb_x2.dif new file mode 100644 index 00000000..9c55c171 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_bunkerb_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_droptop_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_droptop_x2.dif new file mode 100644 index 00000000..d275f652 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_droptop_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_fstand_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_fstand_x2.dif new file mode 100644 index 00000000..2e8701d4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_fstand_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_hangar_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_hangar_x2.dif new file mode 100644 index 00000000..8bc770b0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_hangar_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_platform_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_platform_x2.dif new file mode 100644 index 00000000..9bc80a69 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_platform_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_rig_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_rig_x2.dif new file mode 100644 index 00000000..44380240 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_rig_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_rustbox_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_rustbox_x2.dif new file mode 100644 index 00000000..18513191 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_rustbox_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_sandcastle_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_sandcastle_x2.dif new file mode 100644 index 00000000..3e447b3a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_sandcastle_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_slab_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_slab_x2.dif new file mode 100644 index 00000000..14cb3727 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_slab_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_spade_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_spade_x2.dif new file mode 100644 index 00000000..70667425 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_spade_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_steelsheet2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_steelsheet2_x2.dif new file mode 100644 index 00000000..34ee991a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_steelsheet2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_steelsheet_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_steelsheet_x2.dif new file mode 100644 index 00000000..9bc96ed2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/dox_bb_steelsheet_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_base.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_base.dif new file mode 100644 index 00000000..495a0235 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_base.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_bridge.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_bridge.dif new file mode 100644 index 00000000..afe04971 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_bridge.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_turret.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_turret.dif new file mode 100644 index 00000000..18c57ed2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/epicrates_turret.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/frostclawbase.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/frostclawbase.dif new file mode 100644 index 00000000..7af979a2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/frostclawbase.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/irisbase.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisbase.dif new file mode 100644 index 00000000..b06887ba Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisbase.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/irisinside.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisinside.dif new file mode 100644 index 00000000..e5a6d20d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisinside.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/irismonu.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/irismonu.dif new file mode 100644 index 00000000..16be4e2e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/irismonu.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruin2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruin2.dif new file mode 100644 index 00000000..db721288 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruin2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruin3.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruin3.dif new file mode 100644 index 00000000..123cdb15 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruin3.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruins1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruins1.dif new file mode 100644 index 00000000..68ebd11c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/irisruins1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/iristurbase.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/iristurbase.dif new file mode 100644 index 00000000..cc6e5bbd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/iristurbase.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousfs.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousfs.dif new file mode 100644 index 00000000..d27ac411 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousfs.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousinv.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousinv.dif new file mode 100644 index 00000000..3d10c2a1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousinv.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousplat1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousplat1.dif new file mode 100644 index 00000000..f2a6aba3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereousplat1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereoustt.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereoustt.dif new file mode 100644 index 00000000..ff611ceb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/kif_cinereoustt.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-base1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-base1.dif new file mode 100644 index 00000000..b9339b92 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-base1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-base2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-base2.dif new file mode 100644 index 00000000..df43ef92 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-base2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec1.dif new file mode 100644 index 00000000..f8c429b2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec2.dif new file mode 100644 index 00000000..f07e4a6a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec3.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec3.dif new file mode 100644 index 00000000..3a529ee2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec3.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec4.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec4.dif new file mode 100644 index 00000000..13d6639f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec4.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec5.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec5.dif new file mode 100644 index 00000000..b1b62543 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec5.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec6.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec6.dif new file mode 100644 index 00000000..1ec2725d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-ec6.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-stand1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-stand1.dif new file mode 100644 index 00000000..7a47a12a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-stand1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-tunnel-1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-tunnel-1.dif new file mode 100644 index 00000000..4e4d4c01 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/nycto-tunnel-1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rail1.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rail1.dif new file mode 100644 index 00000000..aa3b8b06 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rail1.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_bombscare_flagstand_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_bombscare_flagstand_x2.dif new file mode 100644 index 00000000..5275a089 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_bombscare_flagstand_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_flagstand1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_flagstand1_x2.dif new file mode 100644 index 00000000..ec41d68e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_flagstand1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_platform1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_platform1_x2.dif new file mode 100644 index 00000000..54ae7a7e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_platform1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_sensorbunker1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_sensorbunker1_x2.dif new file mode 100644 index 00000000..b9b6a89c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_sensorbunker1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_sensorbunker2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_sensorbunker2_x2.dif new file mode 100644 index 00000000..341a8662 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_sensorbunker2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_vpad_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_vpad_x2.dif new file mode 100644 index 00000000..11205df7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_ctm1_vpad_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bridge2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bridge2_x2.dif new file mode 100644 index 00000000..06dbac9f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bridge2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bridgebase1_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bridgebase1_x2.dif new file mode 100644 index 00000000..fbf0a8ef Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bridgebase1_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bunker2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bunker2_x2.dif new file mode 100644 index 00000000..3b992d6e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_bunker2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_platform2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_platform2_x2.dif new file mode 100644 index 00000000..8edbe3d8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_platform2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_platform3_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_platform3_x2.dif new file mode 100644 index 00000000..8edbe3d8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_platform3_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif new file mode 100644 index 00000000..474c2ef8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_vehiclepad_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_vehiclepad_x2.dif new file mode 100644 index 00000000..65469f36 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/rilke_whitedwarf_vehiclepad_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flagbase_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flagbase_x2.dif new file mode 100644 index 00000000..448c27ec Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flagbase_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flagbunker.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flagbunker.dif new file mode 100644 index 00000000..6967fbcf Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flagbunker.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flyingvehicle_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flyingvehicle_x2.dif new file mode 100644 index 00000000..57e459db Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flyingvehicle_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flyingvehiclebase.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flyingvehiclebase.dif new file mode 100644 index 00000000..e6b227eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_flyingvehiclebase.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_turretholder.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_turretholder.dif new file mode 100644 index 00000000..dd4c4a14 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tes_turretholder.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tbunker_x.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tbunker_x.dif new file mode 100644 index 00000000..a8c59445 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tbunker_x.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tbunker_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tbunker_x2.dif new file mode 100644 index 00000000..a8c59445 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tbunker_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tower_x2.dif b/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tower_x2.dif new file mode 100644 index 00000000..8039ef4d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/interiors/tri_tower_x2.dif differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Abaddon.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Abaddon.mis new file mode 100644 index 00000000..c2d77e7c --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Abaddon.mis @@ -0,0 +1,1290 @@ +// DisplayName = TWL-Abaddon +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Only the dead have seen the end of war. +// -- Plato +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Tower items are self powered +//Map by Nefilim (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "3"; + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "volcanic"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-928 -672 1632 1616"; + flightCeiling = "300"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1064 -1624 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1064 -1624 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.002"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.250000 0.050000 0.050000 1.000000"; + fogDistance = "250"; + fogColor = "0.250000 0.050000 0.050000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nefred1_x2.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -520175634523126950000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 5.95065e-37 1.9726e-39"; + high_fogVolume2 = "-1 2.8026e-45 2"; + high_fogVolume3 = "-1 0 1.93394e-37"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-609.67 236.468 134.494"; + rotation = "0.179393 -0.0669123 0.981499 41.6159"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-486.951 155.095 120.659"; + rotation = "0.0411435 -0.079847 0.995958 125.667"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "405.026 153.389 104.038"; + rotation = "-0.0495175 -0.109644 0.992737 228.297"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "503.587 -71.2162 114.217"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "TWL-Abaddon.ter"; + squareSize = "8"; + emptySquares = "358843 359099 359355 359611 237363 368691 368947 369203"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "Abaddon_x2.nav"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Environmental) { + + + new FireballAtmosphere(FireballAtmosphere) { + position = "-171.51 -466.755 131.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "900"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new WaterBlock() { + position = "-520 16 52.9367"; + rotation = "1 0 0 0"; + scale = "160 192 48.1326"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "358 110.279 90.2677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new WaterBlock() { + position = "256 -32 10.9158"; + rotation = "1 0 0 0"; + scale = "192 224 74.6192"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-450.285 123.756 102.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(Base0) { + + + new Turret() { + position = "-317.806 -36.3221 175.913"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-529.548 322.379 144.085"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-452.118 125.75 127.597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_-nefflagstand1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-601.66 265.789 170.252"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbase_-nefbase1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-603.694 265.849 174.237"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-598.48 265.773 161.767"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-609.645 274.77 154.245"; + rotation = "-0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-598.374 265.776 129.238"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-610.97 265.817 129.242"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-606.853 238.114 129.241"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-606.728 293.224 129.219"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-574.9 259.841 154.24"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-574.9 271.707 154.239"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-529.372 322.377 143.256"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "Removed"; + locked = "true"; + mobileBaseVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new Item() { + position = "-600.798 265.773 154.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-609.412 256.658 154.239"; + rotation = "0 0 1 224.381"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-318.331 -36.4011 165.929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-452.122 125.749 104.602"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new WayPoint() { + position = "-598.046 265.98 152.081"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new Turret() { + position = "-401.785 176.474 127.085"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Lava"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-402.31 176.395 117.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-265.148 -39.7589 193.939"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-582.621 282.785 165.363"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Tower1) { + + providesPower = "1"; + + new WayPoint() { + position = "-262.253 -38.5268 168.339"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new Turret() { + position = "-258.052 -38.7739 181.18"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Tower Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-259.705 -38.7663 182.127"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-259.651 -38.712 191.333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-262.531 -38.7157 200.105"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-262.253 -49.7268 209.139"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbase_-nefbase2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(Base1) { + + + new Turret() { + position = "223.84 275.121 161.056"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "421.312 -97.3651 128.648"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "Removed"; + locked = "true"; + mobileBaseVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new InteriorInstance() { + position = "366.583 121.131 115.576"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc_-nefflagstand1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "495.413 -41.654 152.572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_-nefbase1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "497.447 -41.581 156.553"; + rotation = "0 0 -1 86.7914"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "492.228 -41.6379 144.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "503.188 -50.3529 136.551"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "492.155 -41.6669 111.56"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "504.669 -41.682 111.562"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "500.297 -13.8489 111.536"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "500.485 -69.0848 111.543"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "468.674 -35.6899 136.556"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "468.654 -47.6829 136.559"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "421.488 -97.367 129.477"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "494.547 -41.7289 136.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "503.297 -32.71 136.558"; + rotation = "0 0 1 44.2324"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "224.499 275.2 151.05"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "366.57 121.154 92.5885"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new WayPoint() { + position = "493.334 -41.9159 133.745"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new Turret() { + position = "415.999 71.9485 104.832"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Lava"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "415.332 71.9584 94.846"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "473.845 -44.7369 137.757"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "168.501 354.147 178.374"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Tower2) { + + providesPower = "1"; + + new WayPoint() { + position = "152.235 352.215 167.118"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new StaticShape() { + position = "149.719 352.054 178.908"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "148.034 352.01 177.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "149.813 351.966 188.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "152.513 352.002 196.878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "152.235 363.015 205.918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_-nefbase2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team0) { + + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1DSPlant16) { + + + new TSStatic() { + position = "842.237 50.7315 149.511"; + rotation = "0 0 -1 28.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -284 109.281"; + rotation = "0 0 1 190"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -356 191.234"; + rotation = "0 0 -1 92.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "79.0777 639.791 127.9"; + rotation = "0 0 1 97.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "174.263 -928.073 184.872"; + rotation = "0 0 1 212"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-43.0768 -294.121 74.0316"; + rotation = "0 0 -1 44"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 668 181.297"; + rotation = "0 0 -1 104"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228.817 -166.465 190.184"; + rotation = "0 0 1 73.9998"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -596 185.953"; + rotation = "0 0 -1 73.0006"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 372 189.062"; + rotation = "0 0 1 178"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -588 159"; + rotation = "0 0 1 127"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 84 103.969"; + rotation = "0 0 1 73"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "87.6 124 174.828"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108.262 -942.887 107.303"; + rotation = "0 0 -1 50.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -348 173.75"; + rotation = "0 0 1 64"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -532 179.812"; + rotation = "0 0 1 120"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-586.218 454.287 162.534"; + rotation = "0 0 1 40"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-614.49 960.762 151.293"; + rotation = "0 0 1 214"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -260 109.875"; + rotation = "0 0 1 4.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -420 87.4688"; + rotation = "0 0 1 109"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.8788 711.215 139.158"; + rotation = "0 0 1 88.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2DSPlant18) { + + + new TSStatic() { + position = "147.422 814.119 160.977"; + rotation = "0 0 1 195"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 532 193.078"; + rotation = "0 0 -1 67.0005"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-634.967 627.992 159.423"; + rotation = "0 0 1 219"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-403.477 -835.109 116.92"; + rotation = "0 0 -1 112"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -588 64.1093"; + rotation = "0 0 -1 76"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-675.177 180.956 183.9"; + rotation = "0 0 1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "343.651 -0.0510037 112.744"; + rotation = "0 0 1 40"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -444 78.0312"; + rotation = "0 0 -1 89.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -596 175.234"; + rotation = "0 0 1 184"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "411.919 885.387 124.274"; + rotation = "0 0 1 123"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "845.691 -551.749 116.198"; + rotation = "0 0 1 39"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "553.134 150.765 189.431"; + rotation = "0 0 -1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -436 183.578"; + rotation = "0 0 1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-6.66698 376.951 102.316"; + rotation = "0 0 1 192"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -636 99.734"; + rotation = "0 0 1 229"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -164 90.625"; + rotation = "0 0 -1 90.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-345.493 28.7076 116.822"; + rotation = "0 0 1 214"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-106.089 -804.88 130.28"; + rotation = "0 0 1 38"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "157.423 402.272 161.127"; + rotation = "0 0 -1 72.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BaNsHee.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BaNsHee.mis new file mode 100644 index 00000000..2c04278f --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BaNsHee.mis @@ -0,0 +1,1254 @@ +// DisplayName = TWL-BaNsHee +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Look out for that tree! +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//7 caps to win +//Open Flag +//Map by Techlogic (base by Akira) +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "7"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-712 -520 1408 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "696 800 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.850000 0.900000 1.000000 1.000000"; + ambient = "0.300000 0.350000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture0 = "special/sunFlare"; + texture4 = "special/LensFlare/flare03"; + texture3 = "special/LensFlare/flare02"; + locked = "true"; + texture1 = "special/sunFlare02"; + texture2 = "special/LensFlare/flare01"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-BaNsHee.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Invictus.nav"; + locked = "true"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.200000 0.525000 0.625000 1.000000"; + fogVolume1 = "300 0 175"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_day_x2.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "604.37 -6.05141 133.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "613.122 -5.35221 172.086"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "bbase_ccb1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "609.042 -11.5991 174.968"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "609.308 0.384406 175.035"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "602.078 7.09987 175.065"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5474"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "601.893 -17.6678 175.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "5476"; + team = "1"; + notReady = "1"; + Target = "36"; + }; + new StaticShape() { + position = "601.585 0.0879231 166.135"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5478"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "601.519 -10.8799 166.065"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5480"; + team = "1"; + Target = "38"; + }; + new Turret() { + position = "611.719 -5.31971 195.983"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "39"; + }; + new Item() { + position = "612.567 -5.24075 184.181"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "622.995 -5.29783 183.162"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "40"; + }; + new InteriorInstance() { + position = "391.428 -60.6325 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "391.428 26.1675 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "142.367 -2.41368 167.484"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "41"; + }; + new InteriorInstance() { + position = "391.428 -36.6325 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "142.308 -2.4482 146.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "391.428 -84.6325 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "391.428 50.1675 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "391.428 74.1675 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "391.428 -5.23253 73.7771"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "598.53 7.06803 166.135"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5494"; + team = "1"; + Target = "42"; + }; + new StaticShape() { + position = "598.508 -17.6503 166.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "5496"; + team = "1"; + notReady = "1"; + Target = "43"; + }; + new Item() { + position = "391.467 -5.37573 73.7896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + isHome = "1"; + originalPosition = "391.467 -5.37573 73.7896 1 0 0 0"; + team = "1"; + WayPoint = "5617"; + Target = "44"; + }; + new WayPoint() { + position = "617.107 -5.45046 165.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-628.808 -3.37185 166.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-624.554 -3.1508 172.792"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbase_ccb1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-620.719 -9.0708 175.579"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "-620.779 2.86186 175.732"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "-613.451 -15.3682 175.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5508"; + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "-613.336 9.11163 175.757"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5510"; + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "-613.021 -8.6694 166.803"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5512"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "-612.897 2.48243 166.807"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5514"; + team = "2"; + Target = "50"; + }; + new Turret() { + position = "-623.121 -3.2254 196.688"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "51"; + }; + new Item() { + position = "-624.049 -3.2494 184.939"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Turret() { + position = "-634.326 -3.1181 183.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "52"; + }; + new InteriorInstance() { + position = "-406.516 -3.62487 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-406.487 -35.0741 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-406.487 -59.0741 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-406.487 -83.0741 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-149.426 -6.51672 146.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-406.507 27.8459 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-406.507 51.8459 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-406.507 75.8459 70.0234"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-149.379 -6.47811 167.484"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "53"; + }; + new Item() { + position = "-406.368 -3.74232 70.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + isHome = "1"; + originalPosition = "-406.368 -3.74232 70.024 1 0 0 0"; + team = "2"; + WayPoint = "5618"; + Target = "54"; + }; + new StaticShape() { + position = "-609.848 -15.6039 166.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5530"; + team = "2"; + Target = "55"; + }; + new StaticShape() { + position = "-609.864 9.33335 166.807"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5532"; + team = "2"; + Target = "56"; + }; + new WayPoint() { + position = "-628.501 -3.20097 166.229"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new AudioProfile(BountyBellSound) { + fileName = "fx/misc/bounty_bonus.wav"; + description = "AudioGui"; + Preload = "1"; + + team = "0"; + }; + new AudioProfile(QTKSound) { + fileName = "fx/misc/warning_beep.wav"; + description = "AudioGui"; + Preload = "1"; + + team = "0"; + }; + new AudioProfile(QDamageTone) { + fileName = "voice/training/any/any.careful.wav"; + description = "AudioGui"; + Preload = "1"; + + team = "0"; + }; + new AudioProfile(BountyBellSound) { + fileName = "fx/misc/bounty_bonus.wav"; + description = "AudioGui"; + Preload = "1"; + + team = "0"; + }; + new AudioProfile(QTKSound) { + fileName = "fx/misc/warning_beep.wav"; + description = "AudioGui"; + Preload = "1"; + + team = "0"; + }; + new AudioProfile(QDamageTone) { + fileName = "voice/training/any/any.careful.wav"; + description = "AudioGui"; + Preload = "1"; + + team = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter(b1) { + position = "-335.526 0.259167 69.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(b1) { + position = "-489.762 -9.70334 69.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(b1) { + position = "487.713 -18.9022 71.7177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(b1) { + position = "323.497 -4.63514 71.7177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-176.567 -190.481 48.7955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-425.327 -153.705 82.1712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-429.22 183.309 85.5868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-135.153 183.466 48.1955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-258.494 56.8364 68.7255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-260.803 -62.0889 67.1718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "200.254 -191.441 47.8444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "151.98 181.499 47.3955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "251.164 56.8583 68.3738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "254.9 -57.2592 66.2611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "417.084 -174.612 79.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "419.824 157.029 81.4824"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "658.911 -11.6184 158.413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-671.776 -4.41348 158.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-8.91923 -0.555447 50.9084"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + }; + new WayPoint() { + position = "-9.5885 -1.23343 64.4969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "BaNsHee\'s Tree"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "BaNsHee\'s Tree"; + team = "0"; + }; + new TSStatic() { + position = "556.525 -8.02606 159.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-576.446 -1.00461 160.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-640.866 131.062 67.6331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-624.028 -151.502 66.1594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-301.284 -289.036 49.4933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-306.206 277.779 48.0385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-109.279 319.382 72.2842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-89.0321 -379.157 77.8126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "369.725 -270.777 78.7577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "614.022 -139.863 69.7904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "643.285 108.441 79.6266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "286.765 359.503 100.721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "36.6378 442.313 89.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "71.9543 -402.373 77.307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "460.906 357.703 49.7214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "552.891 -313.935 51.7807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-533.513 -338.621 53.4708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-567.064 311.606 50.9044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-306.558 -109.298 76.8335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-302.806 87.236 77.0168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-157.826 -6.88362 157.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "160.075 -1.22907 155.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "258.902 -102.621 86.3308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "287.774 94.6927 78.6199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "551.065 -93.9179 143.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "561.932 87.1323 144.851"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-559.838 84.8795 143.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-570.152 -96.9738 144.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-5.06571 -61.0176 95.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-3.26131 52.7804 95.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-6.54896 163.4 82.5959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-4.10169 -171.319 82.3528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-338.229 414.208 89.6131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-298.781 -380.596 98.9781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "326.39 -423.208 89.8415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new StaticShape() { + position = "-12.9744 -2.5254 81.6944"; + rotation = "0 0 1 83.6518"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(a1) { + position = "-64.4239 -4.06346 73.763"; + rotation = "0 0 1 74.4845"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a2) { + position = "492.833 -8.78255 90.8824"; + rotation = "0 0 -1 91.6732"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a3) { + position = "528.305 -8.87049 188.449"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a4) { + position = "-495.596 -5.05784 86.9997"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a5) { + position = "-541.48 -4.90169 174.732"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock(w1) { + position = "-520 -112 -20.636"; + rotation = "1 0 0 0"; + scale = "224 224 90"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + floodFill = "1"; + extent = "100 100 10"; + }; + new WaterBlock(w1) { + position = "304 -120 -18.2823"; + rotation = "1 0 0 0"; + scale = "224 224 90"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params3 = "1.21 -0.61 0.13 -0.33"; + floodFill = "1"; + extent = "100 100 10"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BeachBlitz.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BeachBlitz.mis new file mode 100644 index 00000000..7a431b55 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BeachBlitz.mis @@ -0,0 +1,1297 @@ +// DisplayName = TWL-Beach Blitz +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//I've got a lovely bunch of coconuts, fiddle dee dee. +// -- Danny Kaye +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//All power sources linked +//Map by DOX (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-528 -736 1024 1408"; + flightCeiling = "300"; + flightCeilingRange = "30"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.596255 0.594949 -0.538995"; + color = "0.900000 0.880000 0.820000 1.000000"; + ambient = "0.550000 0.530000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/BB_det2"; + terrainFile = "TWL-BeachBlitz.ter"; + squareSize = "8"; + emptySquares = "154741 174724"; + + hazeDistance = "245"; + visibleDistance = "365"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "BeachBlitz.nav"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + }; + new WaterBlock() { + position = "-600 -1024 -52"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "3"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.5"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "0"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "360"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.520000 0.620000 0.700000 1.000000"; + fogDistance = "240"; + fogColor = "0.520000 0.620000 0.700000 1.000000"; + fogVolume1 = "50 0 148.5"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_beachblitz.dml"; + windVelocity = "0 0 0.5"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -14124837643317411800.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 210.438995"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0.000741039 2978.62"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(TeamPhoneix) { + + + new SimGroup(equipment) { + + + new StaticShape() { + position = "-301.374 -518.85 163.349"; + rotation = "0 0 -1 99.7342"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-281.055 -515.398 163.383"; + rotation = "-4.77245e-07 -4.81768e-07 1 80.7868"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "102.38 -538.213 153.838"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "102.377 -524.587 153.848"; + rotation = "0 0 -1 0.111906"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "118.91 -526.86 150"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + BomberFlyer = "removed"; + AssaultVehicle = "Removed"; + locked = "true"; + hapcFlyer = "removed"; + }; + new InteriorInstance() { + position = "118.919 -529.661 147.445"; + rotation = "0 0 -1 90"; + scale = "0.9 1 0.8"; + interiorFile = "dox_bb_hangar_x2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + }; + new StaticShape() { + position = "129.408 -530.2 170.331"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + nameTag = "Hangar"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "108.439 -530.4 170.331"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + nameTag = "Hangar"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "118.919 -529.661 152.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Hangar"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-73.7204 -285.799 199.241"; + rotation = "0 0 1 79.6415"; + scale = "1 1 1"; + interiorFile = "dox_bb_rig_x2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + }; + new StaticShape() { + position = "-298.685 -523.686 154.374"; + rotation = "-0 0 -1 70.4738"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-277.553 -514.769 154.572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-300.645 -513.355 154.374"; + rotation = "0 0 1 228.22"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-291.052 -517.095 152.885"; + rotation = "-0 0 -1 9.74027"; + scale = "0.75 0.75 0.6"; + interiorFile = "dox_bb_bunkera_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-291.052 -517.095 152"; + rotation = "-0 0 -1 9.74027"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new StaticShape() { + position = "-293.369 -515.587 154.401"; + rotation = "-0 0 -1 9.74027"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-77.0529 -268.026 216"; + rotation = "0 0 1 79.6415"; + scale = "1 1 1"; + interiorFile = "dox_bb_fstand_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-77.0617 -268.018 216.187"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new Turret() { + position = "-76.6241 -269.955 226.733"; + rotation = "-5.17614e-06 -5.94372e-10 -1 9.74051"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "118.838 -553.084 164.856"; + rotation = "-0.577504 -0.577044 0.577503 119.947"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "135.923 -536.86 154.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-60.3178 -273.974 216.234"; + rotation = "0 0 1 190.451"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-80.1556 -280.993 215.481"; + rotation = "0 0 1 80.3287"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "116.536 -530.535 131.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-47.8636 -396.659 204.386"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-291.232 -513.849 137.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(TeamBloodEagle) { + + + new SimGroup(equipment) { + + + new StaticShape() { + position = "270.441 489.638 167.487"; + rotation = "0 0 1 72.1536"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "250.872 483.14 168.019"; + rotation = "-3.56074e-07 4.10667e-07 -1 107.899"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-118.81 536.447 156.485"; + rotation = "0 0 1 3.34655"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-119.617 522.931 156.477"; + rotation = "0 0 1 183.234"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-136.001 526.076 152.68"; + rotation = "0 0 1 3.34655"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + BomberFlyer = "removed"; + AssaultVehicle = "Removed"; + locked = "true"; + hapcFlyer = "removed"; + }; + new InteriorInstance() { + position = "-135.846 528.873 150.089"; + rotation = "0 0 1 93.3464"; + scale = "0.9 1 0.8"; + interiorFile = "dox_bb_hangar_x2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + }; + new StaticShape() { + position = "-146.21 530.272 172.97"; + rotation = "0 0 1 185.248"; + scale = "1.5 1.5 1.5"; + nameTag = "Hangar"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-125.334 528.963 172.973"; + rotation = "0 0 1 184.102"; + scale = "1.5 1.5 1.5"; + nameTag = "Hangar"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "32.3857 343.363 203.477"; + rotation = "0 0 -1 109.044"; + scale = "1 1 1"; + interiorFile = "dox_bb_rig_x2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + }; + new WayPoint() { + position = "-135.846 528.873 154.289"; + rotation = "0 0 1 12.0321"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Hangar"; + + locked = "true"; + }; + new StaticShape() { + position = "266.921 493.99 159.007"; + rotation = "0 0 1 100.84"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "270.419 484.073 159.016"; + rotation = "0 0 1 39.5344"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "247.387 481.987 159.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "260.371 486.322 157.533"; + rotation = "0 0 1 161.574"; + scale = "0.75 0.75 0.6"; + interiorFile = "dox_bb_bunkerb_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "260.371 486.322 156"; + rotation = "0 0 1 161.574"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new InteriorInstance() { + position = "260.371 486.322 168.3"; + rotation = "0 0 1 116.31"; + scale = "0.75 0.75 0.6"; + interiorFile = "dox_bb_droptop_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "263.268 485.307 159.036"; + rotation = "0 0 1 161.574"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "38.4239 326.303 220.222"; + rotation = "0 0 -1 109.044"; + scale = "1 1 1"; + interiorFile = "dox_bb_fstand_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "38.4267 326.304 220.414"; + rotation = "0 0 1 159.282"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new Turret() { + position = "37.6373 328.11 230.967"; + rotation = "0 0 1 161.001"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-134.443 552.219 167.46"; + rotation = "0.57942 -0.578959 -0.573654 120.279"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-152.421 537.038 156.883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "20.8937 329.6 220.466"; + rotation = "0 0 -1 1.67066"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "39.5111 339.593 219.79"; + rotation = "0 0 -1 111.097"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-136.145 526.203 145.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-0.522179 437.579 181.947"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "259.129 486.846 142.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-336.492 -570.94 174.137"; + rotation = "0.25266 -0.108632 0.961437 48.1882"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "123.383 -605.43 167.137"; + rotation = "0.878304 0.053313 -0.47512 14.561"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-97.8189 -210.206 231.371"; + rotation = "0.0194535 -0.109786 0.993765 160.026"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "88.3327 339.946 233.946"; + rotation = "0.100694 0.137542 -0.985364 108.388"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "232.456 434.553 188.433"; + rotation = "0.779576 -0.123226 0.614065 28.8704"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-144.849 445.243 165.859"; + rotation = "0.420227 -0.0197946 0.907203 5.94459"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(AmbientSfx) { + + + new AudioEmitter() { + position = "-32.856 340.072 228.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "6.23691 -42.4188 184.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-467.443 -656.627 152.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "150"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-358.803 592.098 164.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "150"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "410.249 588.308 154.652"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "150"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "383.872 -604.102 151.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "150"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Crates_Wires) { + + + new InteriorInstance() { + position = "-83.678 568.785 154.858"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + interiorFile = "dox_bb_box_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "242.717 487.453 158.752"; + rotation = "0.256593 0.817564 0.515509 65.2586"; + scale = "0.75 0.75 0.6"; + interiorFile = "dox_bb_slab_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "371.856 20.9953 150.942"; + rotation = "-0.643171 0.137087 0.753351 31.5951"; + scale = "0.3 0.3 0.3"; + interiorFile = "dox_bb_spade_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "191.587 -562.087 152.852"; + rotation = "0 0 -1 65.3172"; + scale = "0.75 0.75 0.75"; + interiorFile = "dox_bb_rustbox_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-207.977 498.179 157.5"; + rotation = "0 0 -1 65.3172"; + scale = "0.75 0.75 0.75"; + interiorFile = "dox_bb_rustbox_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "63.4075 -573.559 152.778"; + rotation = "-0.209349 -0.101871 -0.97252 15.6311"; + scale = "0.8 0.8 0.8"; + interiorFile = "dox_bb_box_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "371.583 21.8656 151.051"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + interiorFile = "dox_bb_sandcastle_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "243.009 486.643 158.834"; + rotation = "0.282693 0.887928 0.362863 84.9096"; + scale = "0.75 0.75 0.6"; + interiorFile = "dox_bb_slab_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + + new TSStatic() { + position = "-403.338 -622.7 172.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292.388 -269.068 191.743"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-104.156 19.8716 175.472"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "256.218 -229.331 234.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "442.785 -204.138 162.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300.756 186.756 181.102"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.3317 416.315 228.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-217.932 387.92 168.552"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-278.451 46.1163 155.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-17.5105 -176.248 190.993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108.894 -355.485 183.118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12.1467 -649.366 173.453"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-224.054 -481.82 167.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-296.016 224.931 170.601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164.885 -107.225 175.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "401.423 -250.918 167.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "33.7316 -319.13 223.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60.7622 256.693 196.143"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-39.1389 450.798 179.099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "342.686 342.792 170.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20.5562 97.8503 164.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-178.391 319.837 176.458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-42.801 511.104 158.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "221.534 604.418 171.81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284.378 449.231 155.516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "88.8918 -192.97 176.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.189 -433.969 171.667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "258.747 -459.249 166.783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-203.666 -405.302 210.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-58.2942 348.851 222.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- +addMaterialMapping("lush/dox_grsteel3", "environment: special/chuteTexture 0.15"); +addMaterialMapping("lush/dox_grsteel3_f", "environment: special/chuteTexture 0.15"); +addMaterialMapping("lush/dox_grsteel3_b", "environment: special/chuteTexture 0.15"); +addMaterialMapping("lush/dox_grsteel4", "environment: special/chuteTexture 0.15"); +addMaterialMapping("lush/be_gr3streak", "environment: special/chuteTexture 0.25"); +addMaterialMapping("lush/be_gr4streak", "environment: special/chuteTexture 0.25"); diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BeggarsRun.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BeggarsRun.mis new file mode 100644 index 00000000..f21a63d4 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BeggarsRun.mis @@ -0,0 +1,2431 @@ +// DisplayName = TWL-Beggar's Run +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//My name is Ozymandias, king of kings: Look on my works, ye Mighty, and despair! +// -- Percy Bysshe Shelley +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Base/Deck components aligned +//Flag stand stop bug fixed +//Damage through flagstand floor eliminated +//Map by Dynamix (Editing: =Sabre=) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-184 -512 880 1024"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 1"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.800000 0.800000 0.800000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "TWL-BeggarsRun.ter"; + squareSize = "8"; + emptySquares = "87960 88216 88472 107946 108202 108458 108714"; + + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "BeggarsRun.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "275"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.330000 0.310000 0.000000"; + fogDistance = "225"; + fogColor = "0.257800 0.125000 0.097700 1.000000"; + fogVolume1 = "500 1 300"; + fogVolume2 = "1000 301 500"; + fogVolume3 = "17000 501 1000"; + materialList = "sky_desert_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.79042e+29 7.74816e+26"; + high_fogVolume2 = "-1 1.0901e+27 7.23135e+31"; + high_fogVolume3 = "-1 1.78604e+25 1.84649e+25"; + + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(equipment) { + + team = "1"; + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "268.519 321.652 109.275"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "410.344 326.799 109.275"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new SimGroup(Bridge) { + + team = "1"; + powerCount = "0"; + + new InteriorInstance() { + position = "289.741 322.473 110.525"; + rotation = "0 0 -1 2.29206"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "314.221 323.453 110.525"; + rotation = "0 0 -1 2.29206"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "314.488 315.453 127.493"; + rotation = "0 0 -1 2.29206"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "313.896 331.453 127.519"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "339.32 326.74 83.2754"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "364.64 324.906 110.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "389.118 325.926 110.525"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "364.99 316.91 127.818"; + rotation = "-0 0 -1 2.29206"; + scale = "1 1 1.0199"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "364.355 332.905 127.522"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "339.32 324.37 98.5526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "195.25 -333.991 90.8401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + lastDamagedBy = "2"; + }; + new InteriorInstance() { + position = "265.816 -336.254 101.682"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "220.339 -326.892 119.931"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "244.582 -335.587 102.932"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "220.093 -334.892 102.932"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "123.916 -332.064 101.682"; + rotation = "0 0 1 181.558"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "219.878 -342.897 119.928"; + rotation = "0 0 1 1.71869"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "145.157 -332.58 102.932"; + rotation = "0 0 1 1.53643"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "169.638 -333.261 102.932"; + rotation = "0 0 1 1.65654"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "169.369 -341.26 119.931"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "169.854 -325.261 119.931"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "194.79 -336.553 75.6822"; + rotation = "0 0 1 91.6735"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioEnvironment = "SmallRoom"; + + hidden = "false"; + locked = "true"; + team = "1"; + }; + new Item(Team1FLAG1) { + position = "339.418 324.28 112.281"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + locked = "true"; + team = "1"; + WayPoint = "6054"; + Trigger = "6055"; + Target = "33"; + originalPosition = "339.418 324.28 112.281 0 0 1 1.57"; + }; + }; + new SimGroup(spawnspheres) { + + team = "1"; + powerCount = "0"; + + new SpawnSphere() { + position = "339.35 324.16 115.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Powered) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team1StationInventory1) { + position = "340.33 300.505 84.7428"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "5823"; + team = "1"; + notReady = "1"; + Target = "34"; + lastDamagedBy = "2"; + }; + new StaticShape(Team1StationInventory2) { + position = "334.64 322.11 73.2452"; + rotation = "0 0 1 175.325"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "609939"; + locked = "true"; + inUse = "Down"; + Trigger = "5825"; + team = "1"; + notReady = "1"; + Target = "35"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3262"; + }; + new Turret(Team1SentryTurret1) { + position = "339.6 319.13 91.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + lastProjectile = "4341"; + Target = "36"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "268.417 321.24 126.474"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "37"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "410.182 326.957 127.248"; + rotation = "0 0 1 178.945"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + beingRepaired = "0"; + team = "1"; + Target = "38"; + lastDamagedBy = "2"; + }; + new StaticShape(Team1StationInventory3) { + position = "344.43 322.1 73.2412"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "632827"; + locked = "true"; + inUse = "Down"; + Trigger = "5830"; + team = "1"; + notReady = "1"; + Target = "39"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4510"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(equipment) { + + team = "2"; + powerCount = "0"; + + new TSStatic() { + position = "194.863 -334.054 104.191"; + rotation = "0 0 1 1.71915"; + scale = "1.00337 1.00751 0.981583"; + shapeName = "pmiscf.dts"; + + locked = "true"; + team = "2"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(Powered) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team2StationInventory1) { + position = "195.341 -310.005 77.1266"; + rotation = "-0 0 -1 3.43793"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "5837"; + team = "2"; + notReady = "1"; + Target = "40"; + lastDamagedBy = "2"; + }; + new StaticShape(Team2StationInventory2) { + position = "199.86 -331.839 65.6709"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "5839"; + team = "2"; + notReady = "1"; + Target = "41"; + lastDamagedBy = "2"; + }; + new Turret(Team2SentryTurret1) { + position = "195.12 -328.842 84.25"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + wasDisabled = "1"; + damageTimeMS = "2054512"; + locked = "true"; + team = "2"; + Target = "42"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4121"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "265.956 -336.478 118.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "43"; + lastDamagedBy = "4"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "123.921 -332.746 119.66"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamageLevel = "0.00600256"; + damageTimeMS = "3205375"; + locked = "true"; + beingRepaired = "0"; + team = "2"; + lastProjectile = "8778"; + Target = "44"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4216"; + }; + new StaticShape(Team2StationInventory3) { + position = "190 -331.557 65.6152"; + rotation = "0 0 -1 4.01031"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "5844"; + team = "2"; + notReady = "1"; + Target = "45"; + }; + }; + new Item(Team2FLAG1) { + position = "194.886 -334.046 104.675"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + locked = "true"; + searchSchedule = "20219"; + team = "2"; + WayPoint = "6056"; + Trigger = "6057"; + Target = "46"; + originalPosition = "194.886 -334.046 104.675 0 0 1 1.58"; + lastDamagedBy = "2"; + }; + new SimGroup(spawnspheres) { + + team = "2"; + powerCount = "0"; + + new SpawnSphere() { + position = "196.1 -334.008 108.651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "270.74 276.82 138.275"; + rotation = "0.374592 -0.14314 0.916074 45.285"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + }; + new Camera() { + position = "275.06 -288.464 123.053"; + rotation = "-0.044781 -0.0848124 0.99539 235.45"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition2PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "400.5 488.5 147.262"; + rotation = "0 0 -1 53"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "402.5 69.5 125.879"; + rotation = "0 0 1 109"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "38.5 87.5 94.3496"; + rotation = "0 0 1 228"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "406.5 71.5 126.098"; + rotation = "0 0 1 79"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "647.41 -335.728 142.572"; + rotation = "0 0 1 164"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "569.5 -159.5 103.869"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "175.5 -341.5 77.6371"; + rotation = "0 0 -1 60"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "120.265 -313.897 101.609"; + rotation = "0 0 1 239.743"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "16.5 129.5 114.414"; + rotation = "0 0 1 126"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.5 483.5 140.602"; + rotation = "0 0 -1 39"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "251.5 446.5 168.342"; + rotation = "0 0 1 143"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52.5 230.5 122.166"; + rotation = "0 0 1 32"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "81.5 147.5 106.621"; + rotation = "0 0 1 43"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "219.5 308.5 112.314"; + rotation = "0 0 1 185"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-32.5 56.5 125.018"; + rotation = "0 0 -1 84"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "374.5 -496.5 143.848"; + rotation = "0 0 1 194"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.5 -83.5 100.981"; + rotation = "0 0 1 178"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "371.5 -223.5 137.453"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "303.5 -99.5 104.674"; + rotation = "0 0 -1 84"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "320.5 -143.5 104.434"; + rotation = "0 0 -1 118"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "398.5 -222.5 134.643"; + rotation = "0 0 1 104"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2.5 -203.5 168.082"; + rotation = "0 0 1 134"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "582.5 297.5 82.7734"; + rotation = "0 0 1 148"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-11.5 154.5 103.125"; + rotation = "0 0 -1 117"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "125.5 35.5 131.393"; + rotation = "0 0 -1 14"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "45.5 -365.5 100.994"; + rotation = "0 0 1 199"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "613.5 291.5 86.0333"; + rotation = "0 0 -1 96"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "425.5 372.5 129.787"; + rotation = "0 0 1 120"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "475.5 505.5 140.721"; + rotation = "0 0 1 160"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "323.5 -149.5 104.781"; + rotation = "0 0 1 107"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "562.5 -191.5 110.494"; + rotation = "0 0 1 199"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "472.5 195.5 68.4883"; + rotation = "0 0 1 164"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "238.5 468.5 167.092"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "102.5 -478.5 158.01"; + rotation = "0 0 1 204"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "321.5 296.5 82.1738"; + rotation = "0 0 1 228"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "466.5 190.5 68.2911"; + rotation = "0 0 -1 64"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "408.5 -220.5 134.916"; + rotation = "0 0 1 149"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "395.5 67.5 125.393"; + rotation = "0 0 -1 43"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "182.5 -185.5 126.816"; + rotation = "0 0 -1 52"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "494.5 20.5 57.7872"; + rotation = "0 0 1 161"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "426.5 107.5 133.625"; + rotation = "0 0 1 110"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "367.5 88.5 117.498"; + rotation = "0 0 1 42"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "496.5 321.5 104.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "575.5 -102.5 109.787"; + rotation = "0 0 1 31"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "389.5 462.5 156.109"; + rotation = "0 0 1 161"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "95.5 -10.5 127.059"; + rotation = "0 0 1 19"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "465.5 -76.5 55.6347"; + rotation = "0 0 -1 102"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "192.5 0.5 94.8281"; + rotation = "0 0 1 75"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "386.5 -502.5 146.123"; + rotation = "0 0 -1 49"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-90.5 -473.5 147.154"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4.5 236.5 88.502"; + rotation = "0 0 1 232"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "387.18 -211.987 133.232"; + rotation = "0 0 -1 47"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "343.5 70.5 129.768"; + rotation = "0 0 1 82"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-74.5 320.5 135.129"; + rotation = "0 0 1 61"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "127.5 50.5 132.502"; + rotation = "0 0 -1 49"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "366.5 -210.5 137.406"; + rotation = "0 0 1 212"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1.5 -318.5 102.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "425.5 -193.5 143.537"; + rotation = "0 0 -1 16"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284.5 -150.5 117.463"; + rotation = "0 0 -1 55"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "485.5 324.5 103.363"; + rotation = "0 0 1 212"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-153.5 -371.5 125.875"; + rotation = "0 0 -1 57"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "611.5 -12.5 55.2383"; + rotation = "0 0 1 155"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "216.5 96.5 159.334"; + rotation = "0 0 1 69"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "26.5 -340.5 105.83"; + rotation = "0 0 1 137"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "88.5 143.5 105.146"; + rotation = "0 0 -1 16"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-154.5 260.5 120.029"; + rotation = "0 0 -1 39"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "137.28 434.04 160.932"; + rotation = "0 0 1 86"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "174.5 447.5 167.24"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "533.5 55.5 33.3339"; + rotation = "0 0 1 12"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "63.5 139.5 108.059"; + rotation = "0 0 -1 27"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1.5 206.5 86.5"; + rotation = "0 0 -1 26"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "471.93 -342.311 77.7402"; + rotation = "0 0 1 41"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "199.5 414.5 150.123"; + rotation = "0 0 1 162"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4.5 -305.5 101.287"; + rotation = "0 0 -1 108"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-17.5 441.5 104.076"; + rotation = "0 0 -1 64"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "334.5 19.5 113.311"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "133.5 -215.5 151.924"; + rotation = "0 0 1 195"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420.5 -167.5 144.531"; + rotation = "0 0 -1 62"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396.5 490.5 147.318"; + rotation = "0 0 -1 77"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "224.5 -66.5 82.8828"; + rotation = "0 0 1 196"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "471.5 189.5 68.8652"; + rotation = "0 0 1 110"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.5 433.5 123.51"; + rotation = "0 0 1 159"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "456.5 188.5 66.7773"; + rotation = "0 0 1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-157.5 -282.5 82.293"; + rotation = "0 0 1 134"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-80.5 333.5 134.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "77.5 -9.5 127.111"; + rotation = "0 0 1 147"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "131.07 251.2 87.1906"; + rotation = "0 0 -1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "286.5 445.5 165.945"; + rotation = "0 0 1 177"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364.5 -201.5 136.44"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-32.5 53.5 125.258"; + rotation = "0 0 1 37"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "256.79 30.26 128.86"; + rotation = "0 0 -1 96"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-67.5 200.5 126.871"; + rotation = "0 0 1 48"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "87.5 -14.5 127.633"; + rotation = "0 0 1 29"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "504.5 429.5 151.924"; + rotation = "0 0 -1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-98.5 306.5 138.477"; + rotation = "0 0 1 224"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.5 342.5 94.252"; + rotation = "0 0 1 234"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "226.5 -315.5 71.4258"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "129.5 -32.5 121.859"; + rotation = "0 0 1 231"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "479.5 238.5 65.4942"; + rotation = "0 0 1 54"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "368.5 290.5 86.3985"; + rotation = "0 0 1 188"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "381.5 -407.5 118.047"; + rotation = "0 0 -1 2.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "97.5 -483.5 157.568"; + rotation = "0 0 -1 105"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-151.5 -409.5 119.32"; + rotation = "0 0 1 37"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "463.5 -0.5 63.3809"; + rotation = "0 0 1 230"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-110.5 394.5 133.219"; + rotation = "0 0 1 236"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "424.5 -55.5 62.2324"; + rotation = "0 0 -1 14"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "418.98 -228.643 135.615"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "553.5 -245.5 110.973"; + rotation = "0 0 1 126"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "582.5 -179.5 112.295"; + rotation = "0 0 -1 22"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "370.5 155.5 158.994"; + rotation = "0 0 1 13"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236.5 456.5 166.736"; + rotation = "0 0 1 191"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108.5 207.5 96.4922"; + rotation = "0 0 1 21"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.5 -92.5 104.072"; + rotation = "0 0 1 146"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "445.5 506.5 136.215"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "507.5 434.5 151.754"; + rotation = "0 0 -1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "177.5 -181.5 126.498"; + rotation = "0 0 1 13"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "93.5 -14.5 127.402"; + rotation = "0 0 -1 40"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "281.5 323.5 99.7754"; + rotation = "0 0 1 122"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "331.5 -121.5 111.656"; + rotation = "0 0 1 138"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "43.5 188.5 100.904"; + rotation = "0 0 -1 99"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "434.5 456.5 131.643"; + rotation = "0 0 1 58"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.5 -61.5 121.941"; + rotation = "0 0 1 63"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156.5 442.5 169.703"; + rotation = "0 0 -1 52"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "569.5 299.5 84.2247"; + rotation = "0 0 1 161"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "295.5 440.5 164.758"; + rotation = "0 0 1 25"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "117.5 425.5 168.217"; + rotation = "0 0 -1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "195.5 412.5 150.771"; + rotation = "0 0 1 63"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "429.5 368.5 129.24"; + rotation = "0 0 -1 2.99997"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "10.5 133.5 113.729"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "469.5 193.5 68.379"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "579.5 56.5 21.2148"; + rotation = "0 0 1 115"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588.5 -147.5 96.9434"; + rotation = "0 0 1 144"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-6.5 -384.5 126.117"; + rotation = "0 0 1 178"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "375.5 -224.5 137.5"; + rotation = "0 0 -1 77"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "622.5 290.5 86.4785"; + rotation = "0 0 1 219"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "86.5 -11.5 127.398"; + rotation = "0 0 -1 86"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "397.5 492.5 146.986"; + rotation = "0 0 -1 28"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "560.5 -261.5 110.32"; + rotation = "0 0 -1 41"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "374.5 -264.5 138.41"; + rotation = "0 0 1 173"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "75.5 -9.5 127.244"; + rotation = "0 0 -1 89"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "121.5 -507.5 158.111"; + rotation = "0 0 -1 72"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124.5 340.5 64.2754"; + rotation = "0 0 1 72"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412.5 295.5 102.605"; + rotation = "0 0 1 208"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "94.5 146.5 105.236"; + rotation = "0 0 -1 57"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-13.5 -72.5 121.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-13.5 492.5 113.106"; + rotation = "0 0 -1 115"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "81.5 -13.5 127.453"; + rotation = "0 0 -1 108"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "238.5 466.5 166.998"; + rotation = "0 0 1 15"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "65.5 171.5 94.6719"; + rotation = "0 0 -1 42"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "101.5 -250.5 136.619"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-32.5 -484.5 133.072"; + rotation = "0 0 1 157"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "102.5 432.5 171.107"; + rotation = "0 0 1 66"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "109.5 209.5 96.5391"; + rotation = "0 0 1 33"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-157.5 454.5 113.834"; + rotation = "0 0 -1 31"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "427.5 -454.5 151.539"; + rotation = "0 0 1 191"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.5 175.5 108.867"; + rotation = "0 0 -1 83"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "104.5 210.5 96.914"; + rotation = "0 0 1 100"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "336.5 -115.5 112.166"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-22.5 367.5 106.81"; + rotation = "0 0 -1 56"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "394.5 -497.5 147.014"; + rotation = "0 0 1 78"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "29.5 -431.5 101.533"; + rotation = "0 0 -1 109"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "189.5 366.5 138.084"; + rotation = "0 0 -1 63"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332.5 27.5 112.646"; + rotation = "0 0 -1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "472.5 1.5 61.9219"; + rotation = "0 0 1 142"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "23.5 250.5 108.855"; + rotation = "0 0 1 9.00004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "559.5 -42.5 93.9122"; + rotation = "0 0 -1 42"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-101.5 -138.5 132.178"; + rotation = "0 0 1 9.00004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "670.5 -292.5 135.41"; + rotation = "0 0 -1 79"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "415.5 379.5 130.818"; + rotation = "0 0 -1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "47.5 236.5 120.93"; + rotation = "0 0 1 50"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-18.5 -74.5 120.953"; + rotation = "0 0 -1 29"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "458.5 186.5 66.7773"; + rotation = "0 0 1 105"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "112.5 -38.5 123.404"; + rotation = "0 0 1 46"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-10.5 205.5 86.0429"; + rotation = "0 0 1 67"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "381.5 503.5 143.854"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-155.5 183.5 145.895"; + rotation = "0 0 1 99"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "261.5 43.5 127.596"; + rotation = "0 0 -1 58"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20.5 -314.5 104.186"; + rotation = "0 0 1 26"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "467.5 257.5 65.8886"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-26.5 364.5 107.238"; + rotation = "0 0 1 198"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "453.83 -209.087 137.638"; + rotation = "0 0 1 134"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "480.5 323.5 103.883"; + rotation = "0 0 1 150"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(Sounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "296.26 434.72 167.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-137.773 44.11 63.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefault3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "126.6 328.39 64.5848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "100"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "583.6 -390.751 67.7803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "200"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "221.91 -429.571 189.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "298.69 -26.351 135.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "1600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2500"; + maxLoopGap = "12000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "476.52 192.85 75.4055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefault3d"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "200"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "340.476 297.748 84.2971"; + rotation = "0 0 1 176.471"; + scale = "1.29395 0.456635 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "195.624 -307.069 76.7961"; + rotation = "1 0 0 0"; + scale = "1.28967 0.5 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "189.699 -328.493 103.579"; + rotation = "0.583196 0.565957 0.582731 120.945"; + scale = "0.243905 1 0.680575"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "339.419 324.245 111.784"; + rotation = "-0 0 -1 2.29172"; + scale = "1.00337 1.00751 0.981583"; + shapeName = "pmiscf.dts"; + + locked = "true"; + team = "1"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "333.878 329.432 111.174"; + rotation = "0.569654 0.592909 0.569169 118.635"; + scale = "0.243905 1 0.680575"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BlueMoon.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BlueMoon.mis new file mode 100644 index 00000000..fb7d0fe1 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_BlueMoon.mis @@ -0,0 +1,2692 @@ +// DisplayName = TWL-Blue Moon +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Blue moon..., You saw me standing alone... +// -- Rodgers & Hart +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//600 points to win +//Map by teslatrooper (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_scoreLimit = "6"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-608 -1016 1232 1088"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.700000 0.800000 0.900000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + texture3 = "special/LensFlare/flare02"; + texture0 = "special/sunFlare"; + locked = "true"; + texture4 = "special/LensFlare/flare03"; + texture2 = "special/LensFlare/flare01"; + texture1 = "special/sunFlare02"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "TWL-BlueMoon.ter"; + squareSize = "8"; + emptySquares = "82352 148143 148399 151878 86456 348740 283318 545602 480181 611393 677045 742719 873908 742974 808628 743231 808884 677951 546999 481600 416185 350785 219835 219969 154556 89154"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + XDimOverSize = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + GraphFile = "BlueMoon_x2.nav"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "-1024 -1024 20"; + rotation = "1 0 0 0"; + scale = "2048 2048 95"; + liquidType = "Water"; + density = "1"; + viscosity = "8"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.9"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "363.239 -533.618 150.458"; + rotation = "0.683889 -0.11905 0.719807 27.1907"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-350.092 -518.418 152.299"; + rotation = "0.625521 0.146007 -0.766423 33.8766"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "502.351 -322.384 132.858"; + rotation = "0.82481 0.187608 -0.533377 46.1911"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-513.528 -321.279 127.428"; + rotation = "0.461097 -0.142285 0.875868 38.816"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.249971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "375"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.100000 0.650000 0.900000 1.000000"; + fogDistance = "200"; + fogColor = "0.100000 0.650000 0.900000 1.000000"; + fogVolume1 = "80 0 120"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "tesla.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "431.907 -492.155 151.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "455.46 -337.481 134.931"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + powerCount = "2"; + + new InteriorInstance() { + position = "393.692 -481.579 137.093"; + rotation = "0 0 1 90"; + scale = "0.6 0.6 0.5"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "428.991 -351.59 155.802"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + lastProjectile = "7843"; + locked = "true"; + team = "1"; + Target = "33"; + }; + new InteriorInstance() { + position = "330.72 -730.359 207.001"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "391.312 -491.176 143.085"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "6393"; + locked = "true"; + team = "1"; + Target = "34"; + }; + new InteriorInstance() { + position = "456.57 -337.568 132.972"; + rotation = "0 0 1 63.0253"; + scale = "1.49751 1.33002 1.42679"; + interiorFile = "tes_flyingvehicle_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "459.675 -335.359 130.689"; + rotation = "0 0 1 63.0253"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + BomberFlyer = "removed"; + team = "1"; + AssaultVehicle = "Removed"; + Ready = "1"; + Target = "35"; + station = "5964"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "494.217 -318.383 120.142"; + rotation = "0 0 1 63.5984"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "36"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "504.276 -313.277 120.104"; + rotation = "0 0 -1 116.494"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "37"; + }; + new StaticShape(Team1StationInventory3) { + position = "445.679 -310.339 135.829"; + rotation = "0 0 -1 29.2208"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5667"; + team = "1"; + Target = "38"; + }; + new StaticShape(Team1StationInventory4) { + position = "472.898 -363.747 135.814"; + rotation = "0 0 1 154.699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5669"; + team = "1"; + Target = "39"; + }; + new StaticShape(Team1StationInventory5) { + position = "502.854 -307.328 135.823"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5671"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "330.677 -730.334 216.974"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "41"; + }; + new InteriorInstance() { + position = "292.702 -204.86 194.572"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret(vehicleTurret) { + position = "494.471 -318.277 144.429"; + rotation = "0 0 1 152.98"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "42"; + }; + new Item() { + position = "372.953 -491.11 136.358"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + team = "1"; + WayPoint = "5950"; + Trigger = "5951"; + originalPosition = "372.953 -491.11 136.358 0 0 -1 1.5708"; + isHome = "1"; + Target = "43"; + }; + new StaticShape() { + position = "382.919 -481.545 130.082"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5678"; + team = "1"; + Target = "44"; + }; + new StaticShape() { + position = "383.055 -500.761 130.079"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5680"; + team = "1"; + Target = "45"; + }; + new StaticShape() { + position = "292.659 -204.835 204.545"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "46"; + }; + new StaticShape(Team1StationInventory5) { + position = "508.194 -318.085 135.824"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5683"; + team = "1"; + Target = "47"; + }; + new Item() { + position = "505.535 -312.709 136.633"; + rotation = "0 0 -1 26.3561"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "371.434 -491.007 130.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-423.206 -488.029 143.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-465.541 -336.836 134.984"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-383.87 -497.171 136.515"; + rotation = "0 0 -1 90"; + scale = "0.6 0.6 0.5"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-440.423 -353.525 155.621"; + rotation = "0 0 1 123.232"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "48"; + }; + new Turret(vehicleTurret) { + position = "-501.887 -313.186 144.253"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "-304.832 -206.926 214.416"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "50"; + }; + new InteriorInstance() { + position = "-466.352 -336.524 132.802"; + rotation = "0 0 -1 56.7229"; + scale = "1.49751 1.33002 1.42679"; + interiorFile = "tes_flyingvehicle_x2.dif"; + showTerrainInside = "1"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-340.019 -734.474 207.172"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "-511.078 -307.15 119.95"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "51"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "-501.693 -313.368 119.951"; + rotation = "0 0 -1 56.9055"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "52"; + }; + new StaticShape(Team2StationInventory3) { + position = "-515.565 -311.314 135.647"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5700"; + team = "2"; + Target = "53"; + }; + new StaticShape(Team2StationInventory4) { + position = "-484.593 -359.499 135.65"; + rotation = "0 0 1 209.312"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5702"; + team = "2"; + Target = "54"; + }; + new StaticShape(Team2StationInventory5) { + position = "-451.691 -309.357 135.652"; + rotation = "0 0 1 32.0857"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + locked = "true"; + Trigger = "5704"; + team = "2"; + Target = "55"; + }; + new StaticShape() { + position = "-469.561 -334.543 130.528"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + BomberFlyer = "removed"; + lastDamagedBy = "4151"; + lastDamagedByTeam = "2"; + team = "2"; + AssaultVehicle = "Removed"; + damageTimeMS = "608058"; + Ready = "1"; + Target = "56"; + station = "5967"; + }; + new StaticShape() { + position = "-373.312 -478.03 129.512"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5707"; + team = "2"; + Target = "57"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-381.504 -487.576 142.509"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "58"; + }; + new InteriorInstance() { + position = "-304.771 -206.969 204.443"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "-363.126 -487.631 135.784"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + team = "2"; + WayPoint = "5952"; + Trigger = "5953"; + originalPosition = "-363.126 -487.631 135.784 0 0 -1 1.5708"; + isHome = "1"; + Target = "59"; + }; + new StaticShape() { + position = "-373.215 -497.216 129.506"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5713"; + team = "2"; + Target = "60"; + }; + new StaticShape() { + position = "-340.098 -734.574 217.145"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "61"; + }; + new StaticShape(Team2StationInventory3) { + position = "-508.998 -301.35 135.652"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedBy = "4151"; + lastDamagedByTeam = "2"; + Trigger = "5716"; + team = "2"; + damageTimeMS = "597849"; + Target = "62"; + }; + new Item() { + position = "-512.244 -306.346 136.048"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-361.589 -487.625 129.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Sounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-68.1931 -46.8717 141.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "156.028 -329.285 124.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "180.148 -701.75 122.217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "758.804 -266.852 137.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + powerCount = "0"; + + new TSStatic() { + position = "-209.227 -237.423 124.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-341.605 -286.951 117.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-136.203 -360.439 128.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.923 -771.351 127.354"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-105.144 -727.862 127.843"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-481.604 -387.74 140.892"; + rotation = "0 1 0 10.8863"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-467.633 -106.111 128.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-376.959 -102.458 130.303"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-190.662 63.7627 122.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212.856 33.6912 125.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-402.314 214.412 124.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-394.733 184.749 120.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-5.02718 271.858 129.454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "199.589 -285.93 115.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "274.201 -409.438 127.706"; + rotation = "0.256921 0.890192 0.376231 1.96117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "89.2247 -727.427 128.127"; + rotation = "0 1 0 0.573347"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "119.722 -837.854 130.517"; + rotation = "-0.707051 0.150872 0.690881 0.811801"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "362.799 -127.452 125.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "474.324 -110.76 128.716"; + rotation = "0 -1 0 0.574711"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "763.394 -328.644 127.877"; + rotation = "-6.74649e-08 -1 -1.59408e-09 2.2924"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652.105 -393.47 128.485"; + rotation = "1 0 0 0.574711"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "808.699 -561.274 128.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "198.664 -53.49 177.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52.2271 573.888 115.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "609.016 517.587 127.564"; + rotation = "0 1 0 3.43771"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "550.781 558.622 126.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "456.475 514.711 127.977"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "392.53 216.353 122.11"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "219.851 -1245.58 128.472"; + rotation = "0.256921 0.890192 0.376231 1.96117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "23.9719 -194.861 193.222"; + rotation = "0.256921 0.890192 0.376231 1.96117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "654.421 -762.246 127.899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "278.979 -248.392 177.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380.341 -622.658 175.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-814.126 -565.479 127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "554.843 -338.77 169.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-500 -124 129.391"; + rotation = "0.0485409 0.0625445 0.996861 69.1686"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -892 131.297"; + rotation = "-0.126558 -0.126532 0.983856 30.4696"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 300 150.484"; + rotation = "-0.0181386 0.15585 0.987614 234.417"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 780 128.938"; + rotation = "0.00383079 -0.0117901 0.999923 126.003"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -1228 130.391"; + rotation = "-0.0856474 0.0879055 0.99244 44.3029"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -836 129.672"; + rotation = "-0.154217 -0.154376 0.975902 24.5748"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -1172 128.938"; + rotation = "0 0 -1 86.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 604 129.172"; + rotation = "-0.17092 -0.139318 -0.975385 39.9072"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 196 128.234"; + rotation = "0.060129 0.0306862 0.997719 156.053"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1140 -516 127.672"; + rotation = "-0.741385 0.163582 -0.650837 21.3672"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -1484 127.828"; + rotation = "0.105505 -0.0294167 0.993984 125.282"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -52 128.938"; + rotation = "0 0 1 164"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 132 129.078"; + rotation = "-0.0108991 0.00667898 0.999918 206.998"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 348 128.938"; + rotation = "0 0 1 78.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1052 -332 129.375"; + rotation = "-0.00133714 -0.0524785 0.998621 125.065"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -1188 162.688"; + rotation = "-0.0122163 -0.137729 -0.990395 103.538"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 36 129.312"; + rotation = "0.137278 0.0763933 0.987582 131.538"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -68 151.562"; + rotation = "-0.239829 0.0304544 -0.970337 107.651"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -1268 128.313"; + rotation = "0.048936 -0.0288255 0.998386 208.955"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -916 129.234"; + rotation = "0.00661055 0.122274 0.992474 51.3372"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -1052 128.938"; + rotation = "0 0 -1 91"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1012 -1364 130"; + rotation = "0.00345082 0.0660862 0.997808 219.919"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 660 128.938"; + rotation = "0 0 1 152"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -1516 128.938"; + rotation = "0 0 1 178"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -1556 117.922"; + rotation = "-0.085374 0.0626053 0.99438 166.078"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1044 708 128.938"; + rotation = "0 0 1 66.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -1012 188.453"; + rotation = "-0.10203 -0.067532 0.992486 67.3981"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -604 156.062"; + rotation = "-0.0871842 -0.0118511 0.996122 213.875"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -1036 128.938"; + rotation = "0.0118506 0.0154439 0.999811 194.997"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 348 128.938"; + rotation = "0 0 1 94"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -1220 138.891"; + rotation = "-0.0521815 -0.138773 0.988949 109.601"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -724 129.062"; + rotation = "0.155149 -0.208226 0.965697 6.21267"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1164 -492 130.062"; + rotation = "-0.11088 -0.0577494 0.992155 202.824"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 -1196 130.766"; + rotation = "-0.0192453 0.0868658 0.996034 204.903"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -1580 128.938"; + rotation = "0 0 1 157"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -1204 128.891"; + rotation = "-0.0111465 -0.0134898 0.999847 64.008"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 -860 128.938"; + rotation = "0 0 1 32"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 348 128.922"; + rotation = "-0.00199837 0.00164733 0.999997 101"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 164 127.516"; + rotation = "0.0174444 0.0848726 0.996239 139.142"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -1060 128.938"; + rotation = "0 0 1 180"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -244 128.938"; + rotation = "0 0 1 165"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-179.985 -611.987 127.261"; + rotation = "-0.0537396 -0.0897536 0.994513 215.815"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 556 128.938"; + rotation = "0 0 1 115"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -1268 128.938"; + rotation = "0.0103205 0.0033533 0.999941 126.003"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -1252 128.938"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1020 -1284 128.938"; + rotation = "0 0 -1 35.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -1476 128.891"; + rotation = "0.0219782 -0.0171867 0.999611 224.984"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1172 -1204 148.922"; + rotation = "-0.0484966 -0.261359 -0.964023 95.094"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-171.984 -611.987 128.364"; + rotation = "-0.0227601 -0.0531372 0.998328 235.921"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -1220 153.328"; + rotation = "-0.137825 0.0503654 0.989175 221.585"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 604 129.172"; + rotation = "-0.101788 -0.0229085 -0.994542 92.3132"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 300 153.781"; + rotation = "-0.10882 -0.0203852 -0.993852 89.3533"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 628 130.563"; + rotation = "-0.345893 0.0564502 -0.936574 47.716"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 460 128.938"; + rotation = "0 0 1 211"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -1252 129.25"; + rotation = "-0.0400327 -0.0501324 -0.99794 98.1173"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -844 128.828"; + rotation = "0.00995269 -0.00372117 0.999944 228.997"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 -124 128.797"; + rotation = "-0.0099142 -0.00877682 0.999912 148.003"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 252 128.938"; + rotation = "-0.00186534 0.00574089 -0.999982 54.0007"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -788 147.609"; + rotation = "-0.123377 -0.067223 0.99008 78.5594"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -364 126.297"; + rotation = "-0.18197 0.117565 0.976251 229.938"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1052 -764 128.609"; + rotation = "0.0148384 -0.0074624 0.999862 226.994"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -1204 128.938"; + rotation = "-0.0241352 0.0178177 -0.99955 36.015"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "772 420 142.75"; + rotation = "-0.351008 0.180651 -0.918781 62.206"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -348 121.031"; + rotation = "-0.608289 -0.267805 0.747171 31.7602"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -28 155.75"; + rotation = "0.201284 0.0083801 0.979497 143.708"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1140 -1100 92.0469"; + rotation = "-0.029587 0.00898181 0.999522 148.014"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 324 129.328"; + rotation = "0.0442976 0.0111296 0.998956 232.953"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -1460 128.938"; + rotation = "0 0 1 163"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -508 128.812"; + rotation = "-0.016069 0.009989 0.999821 123.008"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1132 740 128.953"; + rotation = "0.00210889 0.000110524 -0.999998 84.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -1428 129.344"; + rotation = "-0.0113823 -0.0391434 0.999169 167.011"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1044 -1332 128.938"; + rotation = "0 0 1 81.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1076 -1100 100.469"; + rotation = "0.220863 -0.397867 -0.890461 37.899"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -1492 128.859"; + rotation = "0.11413 -0.00319027 -0.993461 102.368"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 68 159.203"; + rotation = "0.0769961 -0.167973 0.98278 160.338"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -700 129.625"; + rotation = "-0.0825364 0.0351385 -0.995968 78.2265"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -1060 129.469"; + rotation = "0.0355159 0.0379948 0.998647 145.045"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -1284 128.938"; + rotation = "0 0 -1 7.00012"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 -76 146.156"; + rotation = "0.660524 -0.0122654 -0.750705 14.6182"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 -332 128.938"; + rotation = "-0.00148563 -0.0141348 -0.999899 102.005"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BEPlant25) { + + powerCount = "0"; + + new TSStatic() { + position = "-388 420 130.328"; + rotation = "0.0375678 -0.217006 -0.975447 49.0671"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -1044 140.594"; + rotation = "-0.0869524 -0.00314424 0.996208 122.184"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 884 129.203"; + rotation = "-0.0264524 -0.0715044 0.997089 36.0983"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -716 128.922"; + rotation = "-0.10419 0.0278695 0.994167 57.2816"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -196 128.938"; + rotation = "0 0 1 217"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -124 132.813"; + rotation = "-0.190593 -0.0589198 -0.979899 43.7996"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 212 131.547"; + rotation = "-0.0376043 0.156717 -0.986927 52.5968"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -340 128.219"; + rotation = "0.0985548 -0.0814225 0.991795 133.344"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 780 128.938"; + rotation = "0 0 -1 19.0001"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -476 199.359"; + rotation = "-0.00448796 0.236489 0.971624 23.6531"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 908 128.906"; + rotation = "0.0127901 -0.00439108 -0.999909 96.0054"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -316 130.125"; + rotation = "-0.103142 -0.0194187 -0.994477 63.2832"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1028 -964 143.25"; + rotation = "0.143893 -0.0036058 0.989587 214.657"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -468 197.578"; + rotation = "0.304052 0.432311 -0.848917 26.9547"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1204 364 128.938"; + rotation = "-0.0053494 -0.0180593 0.999823 236.991"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 492 128.938"; + rotation = "0 0 1 51"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -1500 128.938"; + rotation = "0 0 1 2.99997"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 564 128.563"; + rotation = "-0.0583908 0.07259 -0.995651 35.1435"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1244 -956 202.219"; + rotation = "-0.167558 0.105272 -0.980226 64.024"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 108 128.938"; + rotation = "0 0 1 172"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -1548 129.047"; + rotation = "-0.00149532 -0.0121783 -0.999925 104.004"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 860 128.938"; + rotation = "0 0 1 193"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 -980 128.938"; + rotation = "0.0146988 0.0338047 0.99932 222.973"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -124 128.828"; + rotation = "0.0854739 -0.053765 0.994889 155.124"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -1420 130.672"; + rotation = "-0.225184 0.147643 0.963065 50.6474"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -1364 121.891"; + rotation = "0.108622 -0.0334348 -0.993521 91.3719"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -116 129.328"; + rotation = "0.0510312 -0.0224916 0.998444 82.0883"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -324 129.437"; + rotation = "-0.0269422 -0.0438613 0.998674 151.037"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -964 128.453"; + rotation = "0.139118 -0.129293 0.981799 26.4652"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -1404 128.938"; + rotation = "0 0 1 35"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -564 136.422"; + rotation = "-0.0173016 -0.0485924 0.998669 220.95"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 12 133.734"; + rotation = "-0.706053 0.404111 -0.581535 12.0082"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -964 174.734"; + rotation = "0.00475466 0.0614321 -0.9981 65.0989"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 796 128.938"; + rotation = "0 0 1 2.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1316 -396 138.453"; + rotation = "0.0765034 -0.0149356 0.996957 197.946"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -260 128.938"; + rotation = "0.0188979 0.00132151 -0.999821 82.0099"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "988 276 132.344"; + rotation = "-0.0616291 0.012248 0.998024 95.1127"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1148 -324 128.938"; + rotation = "0 0 -1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "980 -1116 96.1718"; + rotation = "-0.128351 -0.0027423 -0.991725 82.4715"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 372 129.359"; + rotation = "-0.106653 0.0649329 -0.992174 111.42"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -588 129.738"; + rotation = "0 0 -1 70.0005"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -1660 154.781"; + rotation = "0.00579906 0.158184 0.987393 154.317"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 124 133.578"; + rotation = "-0.0136375 -0.148818 -0.988771 32.3445"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1196 884 107.578"; + rotation = "-0.140316 -0.0636431 0.988059 178.024"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -1148 128.938"; + rotation = "0 0 -1 22.9999"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 4 128.938"; + rotation = "0 0 1 102"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -700 153.844"; + rotation = "0.391356 -0.788004 0.475279 20.8604"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1084 -436 148.719"; + rotation = "0.0201284 0.0785243 0.996709 171.029"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1244 916 128.938"; + rotation = "0 0 -1 105"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 908 129.094"; + rotation = "0.0137202 0.0291458 0.999481 51.0231"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1116 508 128.938"; + rotation = "0 0 1 175"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -1620 145.266"; + rotation = "0.0723875 -0.108393 0.991469 98.4857"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -1460 129.203"; + rotation = "-0.0308053 0.0605401 0.99769 113.122"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 172 128.938"; + rotation = "0 0 1 119"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1188 -292 144.922"; + rotation = "-0.0539235 0.405522 0.912493 28.3967"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -516 129.703"; + rotation = "-0.0181977 -0.00617493 0.999815 187.998"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 -508 129.047"; + rotation = "0.000766589 0.0442075 0.999022 69.0523"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -372 100.953"; + rotation = "0.177486 0.10928 -0.978037 86.2685"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1140 492 129.75"; + rotation = "0.0234762 0.102339 0.994473 152.149"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 844 128.969"; + rotation = "-0.0249058 -0.00620259 0.999671 78.0186"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -100 132"; + rotation = "-0.0415494 0.135661 -0.989884 84.5795"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -1588 128.938"; + rotation = "0 0 -1 34.0002"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -1340 121.547"; + rotation = "-0.0758297 -0.130637 0.988526 223.543"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -564 129.516"; + rotation = "-0.170804 0.199175 -0.964964 34.1295"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 -724 128.938"; + rotation = "0 0 1 109"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 340 129.359"; + rotation = "0.208435 -0.165842 -0.963873 16.5917"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -1348 129.562"; + rotation = "0.0392104 -0.00638333 0.999211 192.99"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 -116 129.75"; + rotation = "0.0886166 -0.0656092 0.993903 180"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "716 -44 128.938"; + rotation = "0 0 -1 75.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 396 161.094"; + rotation = "0.103884 0.0921336 0.990313 190.894"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -156 128.391"; + rotation = "-0.0596429 0.00757268 0.998191 119.09"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1012 804 129.25"; + rotation = "0.0313908 0.0104947 0.999452 192.993"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -1140 128.938"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -740 128.938"; + rotation = "0 0 1 126"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1260 -188 128.938"; + rotation = "0 0 -1 67.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -324 129.437"; + rotation = "-0.955994 0.293385 4.47524e-05 5.71355"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -1564 128.938"; + rotation = "0.0172355 0.011408 -0.999786 23.0047"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -1060 128.938"; + rotation = "0 0 1 155"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 -1428 163.797"; + rotation = "-0.034425 -0.181075 0.982867 50.7628"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 -1124 130.625"; + rotation = "-0.13479 -0.0102515 -0.990821 112.489"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1260 -340 129.359"; + rotation = "-0.0185191 0.0471058 0.998718 100.072"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 532 128.938"; + rotation = "0 0 1 7.99996"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 380 129.141"; + rotation = "-0.0184867 -0.0414118 -0.998971 114.054"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1164 508 128.938"; + rotation = "0 0 -1 17.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -1460 128.938"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 828 129.891"; + rotation = "-0.276553 0.341678 -0.898206 25.5253"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 684 128.938"; + rotation = "0 0 -1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 324 131.984"; + rotation = "-0.0449591 -0.0120367 0.998916 192.986"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 564 128.625"; + rotation = "-0.7497 -0.201742 0.630278 12.6616"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -1548 128.938"; + rotation = "0 0 -1 8.99978"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1100 356 128.938"; + rotation = "0 0 -1 25.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 876 129.406"; + rotation = "0.0230656 0.00851335 0.999698 157.007"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -1492 128.781"; + rotation = "-0.0140266 -0.0043706 0.999892 158.002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -1060 133.859"; + rotation = "0.124131 0.0239822 0.991976 137.314"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -1652 162.375"; + rotation = "-0.0013718 -0.15457 0.987981 113.636"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -1172 128.938"; + rotation = "0 0 1 22"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 780 128.938"; + rotation = "0.0111204 -0.00058279 -0.999938 96.0037"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 812 132.094"; + rotation = "-0.353933 0.0584558 0.933442 47.8583"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1236 -1028 129.031"; + rotation = "-0.00515314 0.0168552 -0.999845 56.0075"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "772 -1228 129.328"; + rotation = "-0.0102243 0.056328 -0.99836 74.0903"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-506.494 -311.42 145.424"; + rotation = "0 0 1 33.8045"; + scale = "5.22372 22.5115 0.1"; + shapeName = "bmiscf.dts"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new TSStatic() { + position = "500.233 -317.516 145.448"; + rotation = "0 0 -1 26.3561"; + scale = "5.22372 22.5115 0.1"; + shapeName = "bmiscf.dts"; + }; + new SimGroup() { + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Boss.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Boss.mis new file mode 100644 index 00000000..6daa1a29 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Boss.mis @@ -0,0 +1,2102 @@ +// Displayname = TWL-Boss +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Heavy is the head that wears the crown. +// -- William Shakespeare +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Rilke (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-720 -576 1440 1328"; + flightCeiling = "375"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.380000 0.330000 0.330000 1.000000"; + ambient = "0.280000 0.230000 0.230000 0.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Boss.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "Boss_x2.nav"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-427.054 209.639 227.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-82.517 326.841 257.272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-428.584 -8.06258 260.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "75"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + providesPower = "1"; + + new Item() { + position = "-440.569 69.6098 269.592"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-438.728 22.2581 253.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + ammoStore = "10"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-434.909 144.251 271.511"; + rotation = "0 0 1 180"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-432.528 170.039 237.596"; + rotation = "0 0 -1 90.1369"; + scale = "1.29386 1.24447 1.10244"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-434.909 129.646 269.513"; + rotation = "0 0 1 180"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-434.91 116.18 267.511"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-434.913 65.4534 267.511"; + rotation = "1 0 0 0"; + scale = "1.23299 1.20799 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-434.908 90.8164 267.511"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-434.916 51.9914 269.511"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-434.917 37.3834 271.512"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-437.367 11.6084 237.594"; + rotation = "0 0 1 89.9544"; + scale = "1.29386 1.24447 1.10244"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-434.738 90.6588 267.523"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + team = "1"; + WayPoint = "6066"; + Trigger = "6067"; + originalPosition = "-434.738 90.6588 267.523 0 0 1 1.57"; + isHome = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-434.873 0.96099 271.483"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Weak Deck"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5890"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-434.897 11.4616 287.706"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Weak Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-434.865 22.2936 258.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Weak Central"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5893"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "-434.995 159.353 258.318"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Strong Central"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5895"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "-435.051 180.705 271.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Strong Deck"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5897"; + team = "1"; + Target = "38"; + }; + new Turret() { + position = "-434.905 15.5384 259.178"; + rotation = "-0.576737 0.577197 0.578116 239.947"; + scale = "1 1 1"; + nameTag = "Weak Entrance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "39"; + }; + new Turret() { + position = "-435.011 166.098 259.187"; + rotation = "-0.577044 -0.577504 0.577503 119.947"; + scale = "1 1 1"; + nameTag = "Strong Entrance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "40"; + }; + new TSStatic() { + position = "-440.57 69.5995 267.501"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-427.838 20.5223 252.068"; + rotation = "-0.94959 -0.185507 -0.252717 92.0957"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-429.261 178.69 252.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-428.452 164.525 252.047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-440.243 3.59829 251.778"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-427.649 18.4985 251.897"; + rotation = "0.0439675 -0.976397 0.211463 24.0428"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "-429.049 16.4427 252.784"; + rotation = "0.328555 -0.885593 -0.328294 96.899"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-428.27 17.1062 253.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-440.236 3.41128 254.347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-437.794 22.4658 251.786"; + rotation = "0 0 -1 10.3133"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-436.798 22.6131 253.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + ammoStore = "10"; + Target = "-1"; + }; + }; + new SimGroup(StormTower) { + + powerCount = "1"; + providesPower = "1"; + + new Item() { + position = "-46.7048 314.558 227.772"; + rotation = "0 0 -1 51.5662"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "-131.054 252.091 236.956"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "1"; + Target = "41"; + }; + new StaticShape() { + position = "-39.8937 316.743 219.589"; + rotation = "0 0 1 38.3882"; + scale = "1 1 1"; + nameTag = "Lower Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5915"; + team = "1"; + Target = "42"; + }; + new InteriorInstance() { + position = "-130.987 251.329 227.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-48.0666 308.395 232.811"; + rotation = "0 0 1 218.297"; + scale = "1 1 1"; + nameTag = "Central Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5918"; + team = "1"; + Target = "43"; + }; + new InteriorInstance() { + position = "-41.4668 310.412 226.5"; + rotation = "-0 0 -1 51.5662"; + scale = "1.24472 1.33371 1.14936"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret() { + position = "-44.8788 300.897 241.976"; + rotation = "-0.674288 0.738469 0.000537011 179.933"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "44"; + }; + new StaticShape() { + position = "-43.5491 312.133 252.42"; + rotation = "0 0 1 128.343"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "45"; + }; + new WayPoint() { + position = "-43.8727 311.708 218.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "59.5518 -133.918 253.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "420.838 194.514 255.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "75"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "421.532 -25.6148 233.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + providesPower = "1"; + + new TSStatic() { + position = "421.769 7.62751 252.026"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "429.434 162.08 254.042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + ammoStore = "10"; + Target = "-1"; + }; + new InteriorInstance() { + position = "427.321 147.367 271.76"; + rotation = "0 0 1 180"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "429.703 173.155 237.845"; + rotation = "0 0 -1 90.1369"; + scale = "1.29386 1.24447 1.10244"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "427.321 132.762 269.762"; + rotation = "0 0 1 180"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "427.321 119.296 267.76"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "427.317 68.5686 267.76"; + rotation = "1 0 0 0"; + scale = "1.23299 1.20799 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "427.322 93.9316 267.76"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "427.315 55.1067 269.76"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "427.314 40.4986 271.761"; + rotation = "1 0 0 0"; + scale = "1.23239 1.20799 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "424.863 14.7236 237.843"; + rotation = "0 0 1 89.9544"; + scale = "1.29386 1.24447 1.10244"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Turret() { + position = "427.062 169.227 259.362"; + rotation = "-0.577044 -0.577504 0.577503 119.947"; + scale = "1 1 1"; + nameTag = "Weak Entrance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "46"; + }; + new Turret() { + position = "427.508 18.6448 259.338"; + rotation = "0.577044 -0.577504 -0.577503 119.947"; + scale = "1 1 1"; + nameTag = "Strong Entrance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "47"; + }; + new Item() { + position = "427.504 93.7707 267.761"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + team = "2"; + WayPoint = "6068"; + Trigger = "6069"; + originalPosition = "427.504 93.7707 267.761 0 0 1 1.57"; + isHome = "1"; + Target = "48"; + }; + new StaticShape() { + position = "427.193 183.467 271.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Weak Deck"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5945"; + team = "2"; + Target = "49"; + }; + new Item() { + position = "420.938 167.181 252.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "427.236 162.738 258.573"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Weak Central"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5948"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "427.357 4.0702 271.734"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Strong Deck"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5950"; + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "427.355 25.3984 258.571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Strong Central"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5952"; + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "427.224 173.381 287.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Weak Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "53"; + }; + new Item() { + position = "431.325 162.492 254.048"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "421.643 7.53813 254.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "420.803 20.8376 252.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "432.45 181.141 254.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "433.012 115.193 269.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "433.011 115.183 267.658"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(InfernoTower) { + + powerCount = "1"; + providesPower = "1"; + + new Item() { + position = "35.8706 -122.236 234.173"; + rotation = "0 0 1 100.268"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "119.794 -56.8003 227.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "30.9188 -127.325 225.993"; + rotation = "0 0 1 189.649"; + scale = "1 1 1"; + nameTag = "Lower Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5964"; + team = "2"; + Target = "54"; + }; + new Turret() { + position = "119.846 -57.2741 236.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "55"; + }; + new StaticShape() { + position = "34.1595 -116.176 239.212"; + rotation = "0 0 1 10.131"; + scale = "1 1 1"; + nameTag = "Central Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5967"; + team = "2"; + Target = "56"; + }; + new InteriorInstance() { + position = "29.2958 -121.054 232.901"; + rotation = "0 0 1 100.268"; + scale = "1.24472 1.33371 1.14936"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Turret() { + position = "27.8825 -111.125 248.358"; + rotation = "0.531861 0.846832 0.000674405 179.951"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "57"; + }; + new StaticShape() { + position = "32.5418 -121.605 258.781"; + rotation = "0 0 -1 79.6411"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "58"; + }; + new WayPoint() { + position = "31.94 -121.629 225.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "2"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-435.62 167.087 259.332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "turret_3_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "25"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-131.573 252.91 240.459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "turret_2_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "119.477 -56.0892 237.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "turret_3_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "121.306 -57.4119 237.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "turret_2_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "28.5657 -109.963 249.537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "turret_3_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "25"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "426.841 169.797 259.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "turret_3_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "25"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.6102 81.4459 204.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "windloop2_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "197.398 10.9095 241.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "alienanimal7_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-150.972 -179.82 299.632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "alienanimal7_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "542.496 822.099 263.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "alienanimal7_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "297.742 -481.709 276.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "alienanimal7_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "579.545 145.973 223.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "alienanimal7_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "432.436 181.064 252.022"; + rotation = "0 0 1 238.35"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "430.584 162.128 252.03"; + rotation = "0 0 1 167.877"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-204.743 174.344 194.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "windloop2_x2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-93.878 65.8329 174.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "cpu_alarm_14.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.15"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-194.356 767.905 251.295"; + rotation = "-0.0410379 -0.000210224 0.999158 158.359"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-783.518 325.284 198.424"; + rotation = "-0.00467496 0.0861862 0.996268 75.8631"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-226.527 -661.989 168.125"; + rotation = "-0.0194242 -0.122727 -0.99225 41.5428"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "771.947 619.849 245.168"; + rotation = "-0.0618475 -0.0253269 0.997764 83.127"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "656.782 -597.092 153.734"; + rotation = "-0.0404127 -0.0144968 0.999078 149.962"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "26.3944 149.512 238.22"; + rotation = "-0.0783072 -0.386302 0.919042 24.8771"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-422.023 396.447 248.264"; + rotation = "-0.0371187 0.043041 0.998384 131.296"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 20 181.891"; + rotation = "-0.186668 -0.0169062 0.982278 51.8007"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324.783 96.7902 128.61"; + rotation = "0.0442865 0.0165392 0.998882 216.559"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 340 207.797"; + rotation = "0.145923 -0.262874 -0.953731 26.1722"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -196 136.375"; + rotation = "-0.192027 -0.00432317 0.98138 45.7666"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-142.392 -200.221 251.306"; + rotation = "-0.0277646 0.0111632 0.999552 196.078"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 572 85.8282"; + rotation = "0.0382287 0.00800372 0.999237 215.974"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -172 249"; + rotation = "0.00541171 -0.0559241 0.99842 149.046"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 20 192.328"; + rotation = "-0.000396821 -0.0632475 0.997998 174.012"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 204 103.109"; + rotation = "0.169989 0.0165431 0.985307 49.6431"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "478.951 521.782 127.45"; + rotation = "0.0267692 -0.0416162 -0.998775 78.8913"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-30.1031 61.1337 236.297"; + rotation = "0 0 1 89.3814"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "505.107 856.175 197.735"; + rotation = "0.00643561 -0.0155393 -0.999859 110.889"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "279.682 -329.835 161.401"; + rotation = "0.0574447 -0.0123107 0.998273 90.9262"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "194.098 428.734 192.101"; + rotation = "-0.0523646 0.067298 0.996358 85.6356"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -708 273.578"; + rotation = "0.0287709 -0.00447471 0.999576 222.983"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "462.955 353.429 252.47"; + rotation = "-0.0190566 -0.00583308 0.999801 226.805"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 836 113.609"; + rotation = "0.0297609 -0.113094 0.993138 199.865"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree16) { + + powerCount = "0"; + + new TSStatic() { + position = "-692 -548 177.797"; + rotation = "-0.0289158 0.141583 0.989504 172.084"; + scale = "2.3 2.3 2.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612.344 -365.657 211.085"; + rotation = "0.00737958 0.0166961 0.999833 176.374"; + scale = "2.7 2.7 2.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-255.025 74.8705 126.186"; + rotation = "0.0198718 0.0153718 0.999684 192.816"; + scale = "2.3 2.3 2.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-510.441 670.013 158.389"; + rotation = "0.00638489 0.0219802 0.999738 223.978"; + scale = "2.9 2.9 2.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -316 91.9531"; + rotation = "-0.115484 0.335139 -0.935064 35.1546"; + scale = "2.4 2.4 2.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 140 131.359"; + rotation = "-0.157911 -0.211248 -0.964592 40.3179"; + scale = "2.6 2.6 2.6"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "518.887 -549.827 241.229"; + rotation = "-0.0459433 -0.0846554 0.995351 94.6112"; + scale = "2.5 2.5 2.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-622.8 593.273 172.062"; + rotation = "0.0904483 0.0251353 -0.995584 45.9528"; + scale = "2.9 2.9 2.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "159.806 -607.341 227.42"; + rotation = "-0.0210608 0.0313618 0.999286 197.654"; + scale = "2.8 2.8 2.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-125.344 496.615 143.699"; + rotation = "0.012536 0.0288729 0.999505 152.249"; + scale = "2.8 2.8 2.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "641.81 254.633 170.946"; + rotation = "0.0989655 -0.0759571 0.992188 76.8622"; + scale = "2.4 2.4 2.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.192 543.44 91.9906"; + rotation = "0.0216451 -0.0240677 0.999476 104.744"; + scale = "2.9 2.9 2.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 684 219.609"; + rotation = "0.00235278 0.017085 -0.999851 93.0079"; + scale = "2.8 2.8 2.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 892 185.281"; + rotation = "-0.012726 -0.185856 0.982495 40.6549"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-719.87 7.78084 175.989"; + rotation = "0.000382904 0.029279 0.999571 200.846"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 788 231.578"; + rotation = "-0.0220856 -0.152335 0.988082 53.5506"; + scale = "2.3 2.3 2.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -396 78.4845"; + rotation = "-0.272309 -0.200788 0.941027 58.9356"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "602.506 661.15 132.758"; + rotation = "-0.0131149 0.0272392 0.999543 153.436"; + scale = "2.7 2.7 2.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-111.905 7.90334 186.542"; + rotation = "0.0116246 0.0223787 0.999682 85.0639"; + scale = "2.3 2.3 2.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-334.311 306.343 195.984"; + rotation = "-0.0189443 0.00726773 0.999794 179.743"; + scale = "2.6 2.6 2.6"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(camera5) { + position = "16.4025 -270.474 275.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(camera2) { + position = "-555.339 19.0645 316.366"; + rotation = "0.345368 -0.209378 0.914812 67.0648"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(camera3) { + position = "507.048 31.6669 307.223"; + rotation = "0.207917 0.112239 -0.971686 58.1094"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(camera4) { + position = "-5.75481 438.889 281.215"; + rotation = "0 0 1 189.649"; + scale = "1 1 0.901523"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Bridge) { + + powerCount = "0"; + + new TSStatic() { + position = "-15.5791 141.772 267.628"; + rotation = "0 -1 0 36.67"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2.7981 11.9113 265.668"; + rotation = "0 0 1 8.59457"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-0.620511 160.988 265.822"; + rotation = "0 0 1 6.87584"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "6.0955 51.5879 265.803"; + rotation = "0 0 -1 5.7301"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2.49429 178.384 268.642"; + rotation = "0 0 -1 0.125115"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.32377 98.4157 265.83"; + rotation = "0 0 -1 11.4593"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2.24278 178.419 265.659"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "5.43642 178.515 265.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.39158 198.386 265.832"; + rotation = "0 0 1 89.9544"; + scale = "2.00237 2.07436 1.94055"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.35968 158.341 265.832"; + rotation = "0 0 1 89.9544"; + scale = "2.00237 2.07436 1.94055"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.29628 78.248 265.831"; + rotation = "0 0 1 89.9544"; + scale = "2.00237 2.07436 1.94055"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.32818 118.295 265.831"; + rotation = "0 0 1 89.9544"; + scale = "2.00237 2.07436 1.94055"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.26438 38.2023 265.83"; + rotation = "0 0 1 89.9544"; + scale = "2.00237 2.07436 1.94055"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.23248 -1.84526 265.83"; + rotation = "0 0 1 89.9544"; + scale = "2.00237 2.07436 1.94055"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-2.37406 6.94515 265.653"; + rotation = "-0 0 -1 74.4845"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "26.0085 51.7037 242.252"; + rotation = "0.831176 -0.552997 0.057805 182.438"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "6.43027 51.4894 267.827"; + rotation = "0 0 -1 0.068528"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-5.99187 10.441 268.665"; + rotation = "0 0 1 8.4757"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-10.7139 13.2185 265.662"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.800000 0.450000 0.200000 1.000000"; + fogDistance = "400"; + fogColor = "0.800000 0.450000 0.200000 1.000000"; + fogVolume1 = "999 0 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0.95535 0.642258"; + high_fogVolume2 = "-1 0.116084 0.955306"; + high_fogVolume3 = "-1 0.546953 1.93082e-15"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Celerity.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Celerity.mis new file mode 100644 index 00000000..900aab81 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Celerity.mis @@ -0,0 +1,828 @@ +// DisplayName = TWL-Celerity +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Fuck running in tunnels on Mino...lets take it outside and see wtf is up! +// -- A PU asshat +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]10 flag captures to win +//No vehicle stations, cg whoring welcome +//Map by {FSC}Meanie (Editing: Flyguy) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_scoreLimit = "10"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-24 -576 704 1152"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Quagmire.ter"; + squareSize = "8"; + + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + GraphFile = "Quagmire.nav"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ob1) { + position = "214.199 229.318 115.584"; + rotation = "-0.0600548 -0.370251 0.926988 197.102"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new Camera(ob2) { + position = "340.971 -281.922 92.1687"; + rotation = "0.998898 -0.0149846 0.0444716 37.2805"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Ambience) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree16) { + + powerCount = "0"; + + new TSStatic() { + position = "289.5 21.5 101.754"; + rotation = "0 0 1 114"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "741.5 -185.5 140.773"; + rotation = "0 0 1 162.281"; + scale = "1.6 1.6 1.6"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-240.5 -485.5 53.9359"; + rotation = "0 0 1 155"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-368.5 468.5 51.75"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "473.61 9.02 52.8"; + rotation = "0 0 1 218.043"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "627.5 -555.5 86.2086"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-255.423 70.8 77.0898"; + rotation = "0 0 -1 113.434"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-337.376 -483.645 58.0524"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "200.5 -734.5 61.2833"; + rotation = "0 0 1 170"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-623.5 -115.5 86.4101"; + rotation = "0 0 1 182"; + scale = "0.7 0.7 0.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "-425.5 308.5 89.2988"; + rotation = "0 0 -1 117"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "517.5 -309.5 71.7355"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "278.68 -736.469 104.296"; + rotation = "0 0 1 9.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "198.5 486.5 57.0391"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "301.15 -636.277 97.3332"; + rotation = "0 0 1 58"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "623.5 -465.5 88.1801"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-477.5 81.5 108.047"; + rotation = "0 0 1 42"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-87.804 -385.058 54.3848"; + rotation = "0 0 -1 67"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-573.5 382.5 90.7579"; + rotation = "0 0 1 168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-475.5 268.5 107.35"; + rotation = "0 0 1 109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "19.5 453.5 108.816"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.77 -30.878 74.627"; + rotation = "0 0 -1 105.481"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-156.77 -168.705 65.8918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108.53 -142.656 64.7273"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-362.622 -17.61 82.6182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + }; + new SimGroup(Base0) { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "383.564 -339.341 86.8737"; + rotation = "0 0 1 152.589"; + scale = "1 1.33094 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "386.04 -344.363 103.058"; + rotation = "0 0 1 144.385"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Trigger = "8302"; + team = "1"; + notReady = "1"; + inUse = "Down"; + }; + new Turret() { + position = "388.935 -349.96 116.978"; + rotation = "0.00600494 0.00999965 -0.999932 118.033"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "34"; + team = "1"; + }; + new StaticShape() { + position = "380.567 -337.993 118.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + team = "1"; + }; + new InteriorInstance() { + position = "449.737 -180.573 87.225"; + rotation = "0 0 1 207.983"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "452.455 -184.392 81.295"; + rotation = "0 0 1 116.31"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "8307"; + team = "1"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "447.557 -184.962 88.8874"; + rotation = "0 0 1 205.119"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "448.573 -182.275 92.514"; + rotation = "0 0 1 25.783"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Main"; + + Target = "37"; + team = "1"; + }; + new InteriorInstance() { + position = "301.118 -290.285 75.8599"; + rotation = "0 0 1 30.9399"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "302.551 -288.002 77.0405"; + rotation = "0 0 1 23.4917"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "8312"; + team = "1"; + notReady = "1"; + inUse = "Down"; + }; + new Turret() { + position = "301.276 -290.093 84.056"; + rotation = "0 0 1 32.0858"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "39"; + team = "1"; + zappingSound = "0"; + }; + new InteriorInstance() { + position = "396.52 -246.466 68.6469"; + rotation = "0 0 -1 6.87584"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "396.033 -246.525 78.143"; + rotation = "0 0 -1 96.8298"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "40"; + team = "1"; + lastProjectile = "4180"; + }; + new SpawnSphere() { + position = "387.299 -221.187 67.2877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new StaticShape() { + position = "327.851 -253.534 66.3564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + FLAG = "8318"; + }; + new Item() { + position = "327.903 -253.513 66.9574"; + rotation = "0 0 1 24.6371"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "41"; + originalPosition = "327.903 -253.513 66.9574 0 0 1 0.429998"; + WayPoint = "8354"; + team = "1"; + Trigger = "8355"; + isHome = "1"; + stand = "8317"; + className = "FlagObj"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + }; + new SimGroup(Base1) { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "260.255 298.46 54.9828"; + rotation = "0 0 1 14.5062"; + scale = "1 1.33094 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "261.768 303.85 71.1671"; + rotation = "0 0 1 6.30239"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "8325"; + team = "2"; + }; + new Turret() { + position = "263.353 309.949 85.087"; + rotation = "0.00782817 -0.00999947 0.999919 103.892"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "43"; + team = "2"; + }; + new StaticShape() { + position = "261.584 295.454 86.908"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + team = "2"; + }; + new InteriorInstance() { + position = "267.786 144.91 88.258"; + rotation = "-0 0 -1 36.0966"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "262.981 144.139 82.2042"; + rotation = "0 0 1 231.084"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "8330"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new Item() { + position = "265.066 148.554 89.9966"; + rotation = "0 0 -1 36.0965"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "266.77 149.393 93.6232"; + rotation = "0 0 1 56.9052"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Main"; + + Target = "46"; + team = "2"; + }; + new InteriorInstance() { + position = "202.454 111.542 49.569"; + rotation = "-0 0 -1 32.6585"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "201.047 113.84 50.7496"; + rotation = "-0 0 -1 40.1065"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "8335"; + team = "2"; + }; + new Turret() { + position = "202.352 111.769 57.7651"; + rotation = "-0 0 -1 31.5125"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + damageTimeMS = "108958"; + Target = "48"; + lastDamagedBy = "5631"; + team = "2"; + zappingSound = "0"; + }; + new InteriorInstance() { + position = "203.68 279.184 52.5561"; + rotation = "0 0 -1 95.6842"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "203.728 278.696 62.0522"; + rotation = "0 0 1 174.362"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "49"; + team = "2"; + lastProjectile = "3680"; + }; + new SpawnSphere() { + position = "218.696 180.954 46.7969"; + rotation = "0 0 1 188.686"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new StaticShape() { + position = "207.796 213.207 49.7085"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + FLAG = "8341"; + }; + new Item() { + position = "207.823 213.095 50.3115"; + rotation = "0 0 1 203.583"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "50"; + originalPosition = "207.823 213.095 50.3115 0 0 1 3.55319"; + WayPoint = "8356"; + team = "2"; + Trigger = "8357"; + isHome = "1"; + stand = "8340"; + className = "FlagObj"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "95"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "300 60 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new Lightning() { + position = "-17.1993 -45.948 89.38"; + rotation = "0 0 -1 2.86544"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "20"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.7"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + }; + new Precipitation(Precipitation) { + position = "34.0844 -37.5399 86.6951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.800000 0.800000 0.800000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "2.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Chokepoint.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Chokepoint.mis new file mode 100644 index 00000000..73f31f3f --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Chokepoint.mis @@ -0,0 +1,1553 @@ +// DisplayName = TWL-Choke Point +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +// +// +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by =Sabre= +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CnH_timeLimit = "30"; + CTF_scoreLimit = "8"; + cdTrack = "6"; + musicTrack = "desert"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-616 -760 1232 1520"; + flightCeiling = "350"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.950000 0.600000 0.400000 1.000000"; + fogDistance = "300"; + fogColor = "0.990000 0.600000 0.300000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "675"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.300000 0.250000 0.200000 1.000000"; + ambient = "0.600000 0.550000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "TWL-Chokepoint.ter"; + squareSize = "8"; + emptySquares = "407401 276586 312977 444304"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + GraphFile = "Sandstorm.nav"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-145.962 -490.463 73.1666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-159.284 -620.51 89.9805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-138.23 -394.412 38.7703"; + rotation = "0 0 1 89.9544"; + scale = "2.5 2.5 2.5"; + interiorFile = "pmiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret() { + position = "-143.244 -541.248 86.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "33"; + team = "1"; + }; + new Turret() { + position = "-175.271 -541.265 86.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "34"; + team = "1"; + }; + new StaticShape() { + position = "-191.057 -614 90.9488"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "35"; + notReady = "1"; + Trigger = "14513"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-191.055 -626.505 90.9711"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "36"; + notReady = "1"; + Trigger = "14515"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-199.599 -639.096 91.0034"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + locked = "true"; + Target = "37"; + team = "1"; + }; + new StaticShape() { + position = "-159.31 -617.823 88.1537"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "38"; + team = "1"; + station = "14686"; + Ready = "1"; + }; + new StaticShape() { + position = "-191.047 -626.53 97.9248"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "39"; + Trigger = "14519"; + team = "1"; + }; + new StaticShape() { + position = "-191.073 -614.135 97.9301"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "40"; + Trigger = "14521"; + team = "1"; + }; + new Item() { + position = "-159.287 -652.869 91.9624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-138.473 -394.355 100.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + originalPosition = "-138.473 -394.355 100.568 1 0 0 0"; + locked = "true"; + Target = "42"; + team = "1"; + WayPoint = "14674"; + isHome = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "135.788 476.591 72.5513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new Item() { + position = "152.405 644.505 90.9773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "184.129 605.721 96.945"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "44"; + Trigger = "14533"; + team = "2"; + }; + new StaticShape() { + position = "184.123 618.116 96.9397"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "45"; + Trigger = "14535"; + team = "2"; + }; + new Item() { + position = "130.714 386.086 100.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + originalPosition = "130.714 386.086 100.758 1 0 0 0"; + locked = "true"; + Target = "46"; + team = "2"; + WayPoint = "14675"; + isHome = "1"; + }; + new StaticShape() { + position = "192.695 630.668 90.0183"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + locked = "true"; + Target = "47"; + team = "2"; + }; + new StaticShape() { + position = "184.131 618.091 89.986"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "48"; + Trigger = "14540"; + team = "2"; + }; + new StaticShape() { + position = "184.113 605.585 89.9637"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "49"; + notReady = "1"; + Trigger = "14542"; + team = "2"; + inUse = "Down"; + }; + new Turret() { + position = "168.162 532.877 85.992"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "6702"; + locked = "true"; + Target = "50"; + damageTimeMS = "211526"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4558"; + }; + new Turret() { + position = "136.185 532.91 85.992"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "6703"; + locked = "true"; + Target = "51"; + damageTimeMS = "211526"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4559"; + }; + new InteriorInstance() { + position = "152.35 612.147 88.9954"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "130.898 386.142 38.9503"; + rotation = "0 0 1 89.9544"; + scale = "2.5 2.5 2.5"; + interiorFile = "pmiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "152.424 609.709 87.1634"; + rotation = "0 0 1 0.391671"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "52"; + team = "2"; + station = "14689"; + Ready = "1"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "34.0545 181.449 165.457"; + rotation = "0.448761 -0.148737 0.881187 41.2253"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-107.165 -604.167 160.073"; + rotation = "0.961799 0.0588364 -0.267358 25.7756"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "237.925 602.581 178.429"; + rotation = "-0.0499169 -0.125421 0.990847 223.044"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-191.49 -179.295 160.511"; + rotation = "0.0194843 -0.166124 0.985912 166.808"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Sounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-590.736 -251.829 123.347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "980"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-679.055 30.6364 196.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "740"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "931.066 -126.924 177.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "740"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "683.22 -811.937 192.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "740"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-657.7 791.446 178.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "740"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition4PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "414.431 -196.402 79.869"; + rotation = "0 0 -1 35"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "87.3124 592.445 149.977"; + rotation = "0 0 1 75.0913"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "673.486 -66.4832 94.5043"; + rotation = "0 0 1 61.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612.798 281.632 165.35"; + rotation = "0 0 -1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-493.442 -442.548 71.116"; + rotation = "0 0 1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-633.77 -567.809 82.8563"; + rotation = "0 0 -1 17.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "719.731 166.887 112.477"; + rotation = "0 0 1 169"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "446.229 440.193 71.947"; + rotation = "0 0 1 135"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-103.631 -3.50226 68.253"; + rotation = "0 0 1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.666 93.8882 62.1375"; + rotation = "0 0 1 179.122"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "446.455 183.314 150.419"; + rotation = "0 0 -1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "601.812 245.719 115.594"; + rotation = "0 0 -1 111"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "554.628 149.043 158.681"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-617.77 496.193 128.45"; + rotation = "0 0 1 94"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "315.955 -598.549 147.997"; + rotation = "0 0 1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "110.229 -127.807 128.184"; + rotation = "0 0 1 15"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "267.959 -171.351 81.928"; + rotation = "0 0 1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.9801 -664.38 107.422"; + rotation = "0 0 1 61"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428.969 293.464 128.847"; + rotation = "0 0 -1 110"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-598.169 344.777 154.853"; + rotation = "0 0 1 239"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-98.3353 138.362 120.25"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420.837 -559.013 72.113"; + rotation = "0 0 -1 4.00015"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "0.407619 627.582 91.0781"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-553.77 616.194 88.622"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492.392 115.8 71.3"; + rotation = "0 0 -1 7.00012"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "134.294 24.0619 79.512"; + rotation = "0 0 -1 0.749645"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "470.802 579.204 87.0094"; + rotation = "0 0 -1 56"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-535.997 535.567 83.475"; + rotation = "0 0 -1 89.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-335.216 -370.468 74.131"; + rotation = "0 0 1 12"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "99.6119 520.703 80.791"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "337.752 347.944 76.537"; + rotation = "0 0 -1 32.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.0366 -472.633 82.344"; + rotation = "0 0 1 190.633"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-62.1272 268.983 82.187"; + rotation = "0 0 1 148"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "454.341 -266.745 97.2812"; + rotation = "0 0 1 24"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "725 223.2 143.134"; + rotation = "0 0 1 61"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "685 679.201 79.4031"; + rotation = "0 0 -1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-143.16 -627.072 149.344"; + rotation = "0 0 1 9.00004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "221.05 -489.757 134.697"; + rotation = "0 0 1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-273.323 559.534 117.122"; + rotation = "0 0 -1 22.9999"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "56.3492 -279.352 81.762"; + rotation = "0 0 -1 13.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-122.617 -550.031 88.381"; + rotation = "0 0 1 225"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-122.999 607.201 95.1781"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "701.833 -658.609 125.653"; + rotation = "0 0 1 48"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "253.817 585.539 156.509"; + rotation = "0 0 1 159"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-691.282 143.565 97.006"; + rotation = "0 0 1 57.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-266.999 711.201 122.009"; + rotation = "0 0 1 209"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52.6244 -22.2267 64.65"; + rotation = "0 0 1 111"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-209.869 3.46044 119.209"; + rotation = "0 0 1 237"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-390.177 325.437 139.228"; + rotation = "0 0 1 153"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-89.578 -599.844 149.862"; + rotation = "0 0 -1 105"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "186.683 -31.7715 118.319"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "629.438 500.785 107.794"; + rotation = "0 0 1 37"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620.969 -96.2211 81.5781"; + rotation = "0 0 1 44"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-322.999 287.2 156.741"; + rotation = "0 0 -1 58.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-101.668 715.303 108.234"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-16.3251 -412.035 138.528"; + rotation = "0 0 1 1.00014"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "578.085 -194.778 150.238"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "707.592 -341.857 81.381"; + rotation = "0 0 -1 7.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-467 -224.799 165.188"; + rotation = "0 0 -1 70.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "165 479.2 77.878"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-281.609 -209.711 89.128"; + rotation = "0 0 1 148.42"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "544.064 573.146 120.612"; + rotation = "0 0 1 191"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "29 703.201 78.9375"; + rotation = "0 0 1 108"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "509 231.2 138.584"; + rotation = "0 0 -1 97"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "693 87.2 93.3594"; + rotation = "0 0 1 190"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "229 399.2 161.878"; + rotation = "0 0 1 170"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "693 575.201 75.8906"; + rotation = "0 0 1 230"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-242.999 55.2 160.103"; + rotation = "0 0 1 100"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "399.063 -747.435 99.15"; + rotation = "0 0 1 162"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-258.817 -290.517 153.016"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-562.658 -42.1894 135.944"; + rotation = "0 0 -1 47.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-262.569 -831.532 105.291"; + rotation = "0 0 1 159"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-249.726 -437.475 157.681"; + rotation = "0 0 1 188"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-256.667 -604.617 155.997"; + rotation = "0 0 -1 118"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "707.203 -485.857 72.541"; + rotation = "0 0 1 146"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant2) { + + powerCount = "0"; + + new TSStatic() { + position = "725 407.2 109.684"; + rotation = "0 0 1 185"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "725.523 470.02 128.825"; + rotation = "0 0 -1 98.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196.806 -667.07 69.644"; + rotation = "0 0 -1 97"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-482.588 -93.9396 90.122"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "278.28 145.947 69.228"; + rotation = "0 0 1 12"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "217.975 227.677 74.491"; + rotation = "0 0 1 169"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-434.82 -639.675 58.778"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612.953 754.083 71.9563"; + rotation = "0 0 1 11"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420.616 630.546 57.55"; + rotation = "0 0 1 114"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4.51776 377.076 136.703"; + rotation = "0 0 -1 108.999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-310.62 -50.2196 56.959"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204.539 145.498 157.1"; + rotation = "0 0 -1 100"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-495.627 -347.792 131.266"; + rotation = "0 0 1 228"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-426.65 726.905 95.441"; + rotation = "0 0 1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-127.555 244.559 58.934"; + rotation = "0 0 -1 22.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-322.605 -126.558 61"; + rotation = "0 0 -1 100"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-664.699 -391.589 61.0531"; + rotation = "0 0 -1 2.9997"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "489.187 -679.891 95.581"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-550.774 -617.627 113.953"; + rotation = "0 0 1 144"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-417.238 -792.907 149.95"; + rotation = "0 0 -1 29.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-497.071 -719.981 87.056"; + rotation = "0 0 1 29"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-370.924 -480.614 73.941"; + rotation = "0 0 1 22"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "642.264 -621.459 77.597"; + rotation = "0 0 1 167"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364.688 -614.478 56.256"; + rotation = "0 0 1 57"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-557.212 -417.608 61.556"; + rotation = "0 0 1 76"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "693 215.2 140.453"; + rotation = "0 0 1 105"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "78.4321 -370.491 62.572"; + rotation = "0 0 1 15"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604.557 400.208 69.3875"; + rotation = "0 0 -1 7.00012"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-659 103.2 87.756"; + rotation = "0 0 1 40"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-402.76 -436.626 76.294"; + rotation = "0 0 -1 38"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "115 214.137 96.6286"; + rotation = "0 0 1 10.8863"; + scale = "1.09358 1 1.28179"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-121.16 -221.211 96.5732"; + rotation = "0 0 1 190.222"; + scale = "1.09358 1 1.28179"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Cinereous.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Cinereous.mis new file mode 100644 index 00000000..56169f57 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Cinereous.mis @@ -0,0 +1,1159 @@ +// DisplayName = TWL-Cinereous +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//By the rude bridge that arched the flood, +//Their flag to April's breeze unfurled, +//Here once the embattled farmers stood, +//And fired the shot heard round the world. +// --Ralph Waldo Emerson, Concord Hymm +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//8 caps to win. +//Invs are out in the open, No generators. +//Map by Killin is fun (Editing: Flyguy) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-520 -752 1040 1504"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1224 -1216 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.500000 0.500000 1.000000"; + ambient = "0.250000 0.250000 0.250000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "TWL-cinereous.ter"; + squareSize = "8"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + position = "0 0 0 1"; + coverage = "0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "cinereous.nav"; + locked = "true"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1224 -1216 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.300000 1.000000"; + fogDistance = "100"; + fogColor = "0.100000 0.100000 0.100000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "kif_lava_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-61.7009 -626.764 171.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "39.9849 -493.468 190.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereousfs.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "1"; + }; + new InteriorInstance() { + position = "-86.3642 -687.995 206.938"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-10.3699 -678.862 204.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "1"; + }; + new StaticShape() { + position = "-85.9743 -687.995 208.9"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3839"; + Target = "33"; + team = "1"; + }; + new StaticShape() { + position = "-10.7001 -678.862 206.2"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "1"; + Trigger = "3841"; + Target = "34"; + team = "1"; + }; + new InteriorInstance() { + position = "-7.38634 -470.695 181.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereoustt.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Turret() { + position = "-7.42769 -471.368 180.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + lastProjectile = "6766"; + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "-60.6762 -458.117 186.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + team = "1"; + }; + new Item() { + position = "-45.4241 -688.78 193.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "-47.8814 -686.284 193.623"; + rotation = "-0.00690574 0.994469 0.104805 172.502"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-41.1448 -690.844 195.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new Item() { + position = "39.9849 -493.468 194.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "39.9849 -493.468 194.947 1 0 0 0"; + className = "FlagObj"; + isHome = "1"; + WayPoint = "3977"; + Target = "37"; + team = "1"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "6.97103 619.55 175.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "38.7825 484.004 189.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereousfs.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "2"; + }; + new InteriorInstance() { + position = "-44.9439 676.829 212.906"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "2"; + }; + new InteriorInstance() { + position = "43.9395 688.174 215.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "2"; + }; + new StaticShape() { + position = "-44.4515 676.829 214.87"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "1"; + Trigger = "3858"; + Target = "38"; + team = "2"; + }; + new StaticShape() { + position = "43.6498 688.174 217.9"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + inUse = "Down"; + locked = "1"; + notReady = "1"; + Trigger = "3860"; + Target = "39"; + team = "2"; + }; + new InteriorInstance() { + position = "-5.33772 461.2 181.723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereoustt.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Turret() { + position = "-5.35175 461.908 181.619"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "40"; + team = "2"; + }; + new StaticShape() { + position = "-58.228 451.166 186.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + team = "2"; + }; + new Item() { + position = "-1.91533 678.735 201.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new InteriorInstance() { + position = "0.0160248 675.583 200.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-2.98709 681.515 200.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + new Item() { + position = "38.7825 484.004 193.966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "38.7825 484.004 193.966 1 0 0 0"; + className = "FlagObj"; + isHome = "1"; + WayPoint = "3978"; + Target = "42"; + team = "2"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new InteriorInstance() { + position = "-18.1699 -7.4158 191.578"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "kif_cinereousplat1.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new InteriorInstance() { + position = "-449.509 -288.38 112.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "-449.5 -288.572 112.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-493.276 -321.806 100.388"; + rotation = "0 0 1 49.2744"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "-493.136 -321.674 99.7005"; + rotation = "0 0 1 49.2744"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "-214.112 -147.909 145.258"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "-213.997 -147.756 144.571"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "-174.425 148 148.85"; + rotation = "-0 0 -1 79.6411"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "-174.615 148.026 148.163"; + rotation = "-0 0 -1 79.6411"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "186.215 475.422 141.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "186.206 475.614 140.899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "287.986 356.473 141.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "287.977 356.665 140.971"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "261.326 -47.9311 136.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "261.317 -47.7392 136.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "242.381 -440.789 137.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "242.372 -440.597 136.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "433.704 -551.629 131.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "433.695 -551.437 130.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "-669.474 -669.572 145.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new InteriorInstance() { + position = "-669.483 -669.38 144.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-4.08955 -7.3811 193.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + Target = "-1"; + }; + new Item() { + position = "-4.13786 -4.66982 193.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-4.13786 -10.0698 193.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new AudioEmitter() { + position = "-8.17806 -527.42 175.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-2.46663 -532.731 180.87"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "33.7221 -15.8025 201.41"; + rotation = "0.149407 0.118368 -0.981665 77.8106"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "20.9238 448.663 219.547"; + rotation = "0.691275 -0.129365 0.710917 29.4956"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "33.5072 637.959 231.292"; + rotation = "0.416072 0.102409 -0.903546 30.4761"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "14.6949 534.135 212.188"; + rotation = "0.0230199 -0.0898547 0.995689 151.38"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-36.0108 52.9189 228.392"; + rotation = "0.0552103 -0.251861 0.966187 156.083"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "29.6465 -434.976 223.861"; + rotation = "0.0214335 -0.223055 0.97457 169.3"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-22.9992 -628.818 233.301"; + rotation = "-0.0257354 -0.2035 0.978737 194.112"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(trees) { + powerCount = "0"; + + new TSStatic() { + position = "10.3393 590.233 185.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-5.55476 14.7666 189.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-20.1382 -37.4374 184.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "66.8742 -52.8512 171.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "159.292 -172.956 138.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-42.3367 -239.104 124.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-25.1337 -233.545 123.53"; + rotation = "0 0 1 93.3921"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-69.7221 -372.79 147.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-146.296 -390.784 158.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-401.988 -434.034 138.984"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-467.997 -397.608 133.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-549.928 -572.112 166.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-645.756 -769.512 130.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-617.096 -789.373 139.184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-613.96 -809.278 140.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-636.012 -814.934 139.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-634.398 -788.626 134.909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-430.696 -974.36 140.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-425.079 -991.448 141.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-441.483 -993.964 138.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-238.771 -1048.9 168.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-224.359 -1055.8 168.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-232.405 -1064.28 167.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "70.6615 -1025.87 130.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "62.4889 -1044.57 132.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "58.3966 -1026.65 131.817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "80.9017 -885.157 182.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-36.961 -730.912 160.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-23.2442 -579.396 176.188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-162.925 -529.092 146.308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "89.0615 -302.83 160.996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "52.4846 -478.229 186.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "300.451 -274.719 144.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "469.159 -171.743 165.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "743.541 -116.448 162.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "740.805 -135.848 163.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "727.586 -128.273 162.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "523.955 117.477 145.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "511.232 105.132 145.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "521.135 105.127 145.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "388.062 -22.2662 160.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "379.491 51.4589 163.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "287.055 161.004 149.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "38.9876 119.703 153.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-28.0342 250.583 121.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "82.0414 310.816 160.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "19.5667 402.976 160.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-54.1201 384.998 146.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "109.477 269.014 178.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "328.167 522.194 177.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "295.121 568.429 164.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-163.089 420.78 165.79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-321.904 48.9612 157.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-313.589 28.4195 156.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-305.847 52.2863 156.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "220.802 -4.81275 128.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-281.702 -265.697 147.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-249.093 -96.4643 137.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "115.008 424.912 154.773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "104.109 -431.066 155.751"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "90.3784 -653.845 161.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-2.10382 816.89 181.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-211.657 -361.506 197.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "336.668 -33.6358 176.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "288.981 207.44 168.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-120.71 704.744 177.312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-72.6541 -966.023 184.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "29.9676 475.804 189.206"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Clusterfuct.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Clusterfuct.mis new file mode 100644 index 00000000..93221c11 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Clusterfuct.mis @@ -0,0 +1,1495 @@ +// DisplayName = TWL-Clusterfuct +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//We're surrounded +// --Custer +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//10 caps to win +//Enemy base is on both sides of your flag +//Map design by Techlogic +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_scoreLimit = "10"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-536 -1088 1248 2160"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "696 800 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.850000 0.900000 1.000000 1.000000"; + ambient = "0.300000 0.350000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture2 = "special/LensFlare/flare01"; + texture3 = "special/LensFlare/flare02"; + texture4 = "special/LensFlare/flare03"; + texture0 = "special/sunFlare"; + texture1 = "special/sunFlare02"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Clusterfuct.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + GraphFile = "Training1.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "400"; + fogColor = "0.200000 0.525000 0.625000 1.000000"; + fogVolume1 = "300 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_day_x2.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-197.486 -310.496 91.1086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "61.0733 806.325 55.9294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "61.0238 806.776 53.1732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "52.3543 -316.707 70.1475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "52.3844 -316.673 72.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "52.3844 -316.673 72.156 1 0 0 0"; + Target = "33"; + className = "FlagObj"; + isHome = "1"; + team = "1"; + WayPoint = "5315"; + }; + new StaticShape() { + position = "54.6183 806.673 55.1477"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "34"; + inUse = "Down"; + Trigger = "5136"; + team = "1"; + }; + new StaticShape() { + position = "67.0173 806.712 55.1477"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "35"; + inUse = "Down"; + Trigger = "5138"; + team = "1"; + }; + new Turret() { + position = "52.5223 -317.094 80.1436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "36"; + team = "1"; + lastProjectile = "24271"; + }; + new StaticShape() { + position = "56.1637 807.394 36.5166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + hidden = "TRUE"; + team = "1"; + }; + new InteriorInstance() { + position = "-90.245 -297.898 94.0804"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "214.776 -406.748 85.0384"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-89.0448 -297.966 95.0452"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "38"; + inUse = "Down"; + Trigger = "5144"; + team = "1"; + }; + new StaticShape() { + position = "213.529 -406.674 86.0161"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "39"; + inUse = "Down"; + Trigger = "5146"; + team = "1"; + }; + new Turret() { + position = "216.503 -406.747 93.4345"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "40"; + team = "1"; + }; + new Turret() { + position = "-92.0293 -297.938 102.477"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "41"; + team = "1"; + }; + new Turret() { + position = "60.856 808.027 63.3693"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "42"; + team = "1"; + }; + new InteriorInstance() { + position = "55.359 -310.509 117.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "52.4455 -316.684 113.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + team = "1"; + }; + new InteriorInstance() { + position = "59.5097 1026.53 205.427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "56.3276 1020.48 201.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + team = "1"; + }; + new InteriorInstance() { + position = "-91.9685 -276.113 92.8666"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-89.6453 -306.094 95.1328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "213.878 -414.989 85.4433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new Item() { + position = "61.0016 818.547 55.2472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new WayPoint() { + position = "60.9632 806.825 55.1814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "bunker"; + team = "1"; + }; + new StaticShape() { + position = "213.543 -385.066 85.936"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "45"; + inUse = "Down"; + Trigger = "5160"; + team = "1"; + }; + new InteriorInstance() { + position = "214.79 -385.14 84.9583"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-90.7218 -276.19 93.8443"; + rotation = "-0 0 -1 89.7718"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "46"; + inUse = "Down"; + Trigger = "5163"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-191.879 298.55 92.8612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "80.0389 -830.288 55.1231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "45.4543 304.498 70.6975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "80.1277 -830.374 52.2032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "45.5175 304.584 72.6981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "45.5175 304.584 72.6981 1 0 0 0"; + Target = "47"; + className = "FlagObj"; + isHome = "1"; + team = "2"; + WayPoint = "5316"; + }; + new Turret() { + position = "44.9514 305.222 81.0936"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "2"; + Target = "48"; + damageTimeMS = "729765"; + lastDamagedBy = "9634"; + team = "2"; + lastProjectile = "24110"; + }; + new StaticShape() { + position = "76.7682 -836.007 35.9828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + hidden = "TRUE"; + team = "2"; + }; + new StaticShape() { + position = "73.5898 -830.268 54.1739"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "50"; + inUse = "Down"; + Trigger = "5176"; + team = "2"; + }; + new StaticShape() { + position = "86.3647 -830.327 54.1739"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "51"; + inUse = "Down"; + Trigger = "5178"; + team = "2"; + }; + new InteriorInstance() { + position = "-82.0773 291.065 94.0746"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "198.951 389.346 85.3461"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-83.7594 290.982 102.471"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "52"; + team = "2"; + lastProjectile = "24122"; + }; + new Turret() { + position = "200.78 389.307 93.7422"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "53"; + team = "2"; + lastProjectile = "24148"; + }; + new StaticShape() { + position = "-80.8758 291.038 95.0598"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "54"; + inUse = "Down"; + Trigger = "5184"; + team = "2"; + }; + new StaticShape() { + position = "197.751 389.457 86.3041"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "55"; + inUse = "Down"; + Trigger = "5186"; + team = "2"; + }; + new Turret() { + position = "80.2027 -831.495 62.5993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "56"; + team = "2"; + }; + new InteriorInstance() { + position = "48.256 310.561 117.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "45.256 304.504 114.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + team = "2"; + }; + new InteriorInstance() { + position = "57.1821 -1021.87 205.769"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "54.1727 -1027.92 202.213"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + team = "2"; + }; + new TSStatic() { + position = "198.769 397.452 85.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new Item() { + position = "198.888 397.373 87.4356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-81.8991 299.274 94.4958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new Item() { + position = "80.0561 -842.05 54.2911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new WayPoint() { + position = "80.1389 -830.191 54.1797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "bunker"; + team = "2"; + }; + new StaticShape() { + position = "-80.6881 269.76 95.4659"; + rotation = "-0 0 -1 89.7718"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "59"; + inUse = "Down"; + Trigger = "5198"; + team = "2"; + }; + new InteriorInstance() { + position = "-81.9349 269.836 94.4882"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "198.906 366.539 86.0763"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "60"; + inUse = "Down"; + Trigger = "5201"; + team = "2"; + }; + new InteriorInstance() { + position = "200.153 366.465 85.0986"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-82.0114 299.281 96.4958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-89.6291 -306.058 97.1328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "213.905 -415.048 87.4433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "1"; + + new StaticShape() { + position = "-397.693 2994.9 -559.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + hidden = "TRUE"; + team = "0"; + }; + new ForceFieldBare(ff1) { + position = "51.4534 813.32 53.6299"; + rotation = "1 0 0 0"; + scale = "19 0.3 9"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "62"; + team = "0"; + }; + new ForceFieldBare(ff2) { + position = "51.4534 799.72 53.6299"; + rotation = "1 0 0 0"; + scale = "19 0.3 9"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "63"; + team = "0"; + }; + new ForceFieldBare(ff1) { + position = "70.5023 -823.757 52.854"; + rotation = "1 0 0 0"; + scale = "19 0.3 9"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "64"; + team = "0"; + }; + new ForceFieldBare(ff1) { + position = "70.5927 -837.39 52.5485"; + rotation = "1 0 0 0"; + scale = "19 0.3 9"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "65"; + team = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "338.702 65.2587 117.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "134.518 98.9854 122.212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-149.231 100.429 119.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-325.091 21.7018 86.691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-345.93 241.999 61.0551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-277.297 428.92 77.8883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-138.222 570.369 120.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-226.923 702.508 105.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-134.518 867.364 79.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "234.325 859.258 65.1235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "238.683 1009.2 90.7092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "510.757 948.25 64.3416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "339.964 741.688 90.0376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "531.967 602.167 96.4798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "421.005 474.602 78.8892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "371.43 330.011 134.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "212.173 296.45 121.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "26.9915 167.733 88.2454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-364.778 602.55 132.486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-290.038 769.255 154.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-438.939 938.728 59.4882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-28.2844 607.624 107.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "118.699 823.263 54.8321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "274.574 458.397 109.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "397.993 -118.552 110.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "194.165 -151.822 104.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-106.83 -134.714 90.7358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-337.38 -242.914 62.6683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-451.75 -403.387 77.3283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-211.563 -417.36 73.2228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-141.414 -548.405 113.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-184.699 -727.813 102.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-417.396 -828.249 86.4671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-299.568 -945.177 59.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-121.182 -849.716 79.1415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-16.8996 -622.162 105.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "86.109 -562.733 135.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "332.27 -712.876 92.5421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "286.842 -965.424 76.3534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "522.011 -947.784 62.4057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "581.688 -796.025 102.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "572.443 -513.838 87.2272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "388.378 -499.33 88.2722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "374.72 -323.399 139.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "114.879 -409.365 92.2817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-72.5478 259.023 94.3119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "39.1024 474.487 128.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-341.83 -296.523 57.6754"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-291.368 -117.684 94.2198"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20.149 -637.476 104.707"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "185.13 -848.094 70.8906"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "472.913 -606.275 72.2589"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "526.415 -911.034 66.3419"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-2.9903 -788.675 60.3078"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-148.836 -968.987 86.0275"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-177.507 -741.036 104.95"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-137.83 -557.403 117.659"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "67.4001 -571.271 138.252"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "291.718 -348.227 104.093"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "378.783 -351.027 140.332"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "540.701 -158.076 87.579"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "421.601 -108.797 107.375"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "220.537 -60.7337 100.231"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-114.623 -188.364 78.5814"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-329.963 -279.954 56.8334"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-231.72 -391.091 72.1703"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-146.991 -539.461 115.343"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-356.811 8.29807 80.7444"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-336.097 265.452 57.4961"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-250.276 398.622 70.758"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-128.088 560.265 124.163"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-207.119 706.67 102.841"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108.939 851.175 82.5484"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-134.036 955.574 86.339"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-392.916 942.725 58.8579"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-9.31085 618.546 106.102"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "231.723 850.26 66.8313"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "212.323 1052 86.7577"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "108.254 828.074 55.4921"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-110.359 181.79 77.7085"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "22.1657 176.677 91.5341"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "186.232 27.7576 102.773"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "309.615 328.355 111.042"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "408.466 199.945 131.993"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "486.187 587.048 70.7439"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "409.706 485.478 80.9189"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-192.197 263.488 71.7107"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(a1) { + position = "56.9578 137.073 132.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a2) { + position = "51.7995 -154.911 136.244"; + rotation = "0 0 1 176.654"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a3) { + position = "53.202 919.184 118.038"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a4) { + position = "81.2475 -917.928 105.182"; + rotation = "0 0 1 0.755884"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Crossfire.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Crossfire.mis new file mode 100644 index 00000000..6258b54c --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Crossfire.mis @@ -0,0 +1,1668 @@ +// DisplayName = TWL-Cross Fire +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +// Save the strong, lose the weak +// Never turning the other cheek +// -- Stevie Ray Vaughn +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by =Sabre= +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-520 -904 1040 1808"; + flightCeiling = "350"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.610000 0.620000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL_Crossfire.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + GraphFile = "MissionBlank.nav"; + YDimOverSize = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.540000 0.660000 0.000000"; + fogDistance = "200"; + fogColor = "0.750000 0.760000 0.780000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky03.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.99805 -2.98023e-08"; + high_fogVolume2 = "-1 -7.99871e-10 0.0432373"; + high_fogVolume3 = "-1 -8.29498e-10 0.0448387"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-154.977 558.647 46.1486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new Item() { + position = "-126.197 547.026 65.5259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-198.694 508.787 28.9187"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmisc_neftrstand1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-120.794 541.747 54.7441"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-198.67 508.766 28.9194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + team = "1"; + WayPoint = "4687"; + originalPosition = "-198.67 508.766 28.9194 1 0 0 0"; + Target = "33"; + isHome = "1"; + }; + new Turret() { + position = "-123.366 544.357 86.2403"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + lastProjectile = "6470"; + team = "1"; + lastDamagedBy = "4529"; + lastDamagedByTeam = "1"; + Target = "34"; + damageTimeMS = "129372"; + }; + new Turret() { + position = "-255.514 564.646 61.1627"; + rotation = "0 0 1 38.9608"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + lastProjectile = "6558"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-128.112 538.546 72.6206"; + rotation = "0 0 1 223.636"; + scale = "1 1 1"; + nameTag = "Tower Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4532"; + team = "1"; + notReady = "1"; + Target = "36"; + }; + new StaticShape() { + position = "-117.732 549.229 72.6286"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + nameTag = "Tower Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4534"; + team = "1"; + notReady = "1"; + Target = "37"; + }; + new Turret() { + position = "-124.081 544.965 70.4415"; + rotation = "0.000635066 0.000397634 1 224.163"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "-126.085 546.609 58.6118"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "-134.657 536.808 48.2137"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + nameTag = "Tower Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4538"; + team = "1"; + notReady = "1"; + Target = "40"; + }; + new StaticShape() { + position = "-116.3 555.687 48.2217"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + nameTag = "Tower Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4540"; + team = "1"; + notReady = "1"; + Target = "41"; + }; + new InteriorInstance() { + position = "-133.793 722.96 34.1847"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-123.263 722.844 33.5499"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + team = "1"; + Ready = "1"; + Target = "42"; + station = "4699"; + }; + new InteriorInstance() { + position = "-151.767 617.319 56.8253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-151.827 617.381 66.7504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "43"; + }; + }; + new SimGroup(Bunker) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "-259.811 559.31 51.1666"; + rotation = "0 0 1 219.052"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-263.558 545.881 53.1558"; + rotation = "0 0 1 181.237"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4548"; + team = "1"; + notReady = "1"; + Target = "44"; + }; + new StaticShape() { + position = "-272.25 552.926 53.1385"; + rotation = "0 0 -1 103.132"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4550"; + team = "1"; + notReady = "1"; + Target = "45"; + }; + new Item() { + position = "-256.078 564.017 54.0282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "149.093 -567.847 44.8836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new MissionMarker() { + position = "192.053 -517.043 28.8981"; + rotation = "0 0 1 177.226"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "121.517 -558.765 65.5046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "112.05 -567.895 48.2004"; + rotation = "0 0 1 221.344"; + scale = "1 1 1"; + nameTag = "Tower Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4559"; + team = "2"; + notReady = "1"; + Target = "46"; + }; + new StaticShape() { + position = "129.472 -548.149 48.1924"; + rotation = "0 0 1 41.4355"; + scale = "1 1 1"; + nameTag = "Tower Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4561"; + team = "2"; + notReady = "1"; + Target = "47"; + }; + new StaticShape() { + position = "121.384 -558.354 58.5905"; + rotation = "0 0 1 131.39"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "48"; + }; + new Turret() { + position = "119.415 -556.9 70.4188"; + rotation = "-0.00108171 0.00163738 0.999998 41.3899"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "113.168 -561.375 72.6074"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + nameTag = "Tower Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4565"; + team = "2"; + notReady = "1"; + Target = "50"; + }; + new StaticShape() { + position = "123.019 -550.202 72.5994"; + rotation = "0 0 1 40.8625"; + scale = "1 1 1"; + nameTag = "Tower Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4567"; + team = "2"; + notReady = "1"; + Target = "51"; + }; + new Turret() { + position = "118.56 -556.236 86.219"; + rotation = "-0 0 -1 48.7016"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "52"; + }; + new Turret() { + position = "249.025 -570.365 61.1414"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + lastProjectile = "15547"; + team = "2"; + Target = "53"; + }; + new Item() { + position = "192.053 -517.043 28.8981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + team = "2"; + WayPoint = "4688"; + originalPosition = "192.053 -517.043 28.8981 1 0 0 0"; + Target = "54"; + isHome = "1"; + }; + new InteriorInstance() { + position = "115.865 -553.754 54.7228"; + rotation = "0 0 1 131.39"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "192.078 -517.063 28.8974"; + rotation = "0 0 1 87.2265"; + scale = "1 1 1"; + interiorFile = "bmisc_neftrstand1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "132.231 -723.053 34.1969"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "121.701 -722.954 33.5621"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + team = "2"; + Ready = "1"; + Target = "55"; + station = "4702"; + }; + new StaticShape() { + position = "143.941 -625.583 66.8956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "56"; + }; + new InteriorInstance() { + position = "144.001 -625.645 56.9705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + new SimGroup(Bunker) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "253.277 -564.992 51.1453"; + rotation = "0 0 1 38.5705"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "256.91 -551.533 53.1345"; + rotation = "0 0 1 0.755884"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4581"; + team = "2"; + notReady = "1"; + Target = "57"; + }; + new StaticShape() { + position = "265.662 -558.505 53.1172"; + rotation = "0 0 1 76.3855"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + Trigger = "4583"; + team = "2"; + notReady = "1"; + Target = "58"; + }; + new Item() { + position = "249.585 -569.731 54.0069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-422.114 29.783 120.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "960"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "29.78 -438.637 105.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-25.848 43.314 74.8709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "363.45 -88.91 119.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "960"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-13.14 481.54 121.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-292.203 496.65 89.1362"; + rotation = "0.298167 -0.132959 0.945208 50.5131"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-52.0275 487.194 107.172"; + rotation = "0.330547 0.159673 -0.930185 54.8867"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera() { + position = "328.089 -544.384 92.7598"; + rotation = "0.100908 0.133903 -0.985844 106.781"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera() { + position = "36.8688 -709.79 130.092"; + rotation = "0.50285 -0.261868 0.823752 64.6014"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition2BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "-39.3845 813.786 43.1312"; + rotation = "-0 0 -1 24.1811"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -596 58.6562"; + rotation = "0 0 1 97"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -180 80.7031"; + rotation = "0 0 -1 70.0005"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -28 59.2656"; + rotation = "0 0 -1 44.9999"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -468 39.9843"; + rotation = "0 0 1 9.99997"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-18.2735 479.809 88.6187"; + rotation = "0 0 -1 17.9998"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 196 31.8906"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -124 39.1563"; + rotation = "0 0 1 96.0002"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-249.065 326.935 27.3656"; + rotation = "0 0 1 57"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 100 80.7968"; + rotation = "0 0 1 117"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "304.634 -720.815 53.6188"; + rotation = "0 0 1 224"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -692 33.1562"; + rotation = "0 0 1 69.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -300 47.4218"; + rotation = "0 0 -1 16.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -148 36.5469"; + rotation = "0 0 1 236"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 492 90.5156"; + rotation = "0 0 1 58.9998"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-395.385 760.983 85.4"; + rotation = "-0 0 -1 24.1811"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244.421 -350.171 27.3156"; + rotation = "0 0 -1 73.0006"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 348 29.6406"; + rotation = "0 0 1 200"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-102.021 -731.612 75.8063"; + rotation = "0 0 1 72.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-245.19 -857.347 90.725"; + rotation = "0 0 -1 35"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 28 88.6407"; + rotation = "0 0 1 188"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "37.3288 -437.46 79.4219"; + rotation = "0 0 1 166"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 44 37.8906"; + rotation = "0 0 1 31"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 396 34.7969"; + rotation = "0 0 1 128"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 108 84.8438"; + rotation = "0 0 1 129"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-357.635 526.088 67.6157"; + rotation = "0 0 1 76"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 668 65.25"; + rotation = "0 0 1 84.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 84 47.4843"; + rotation = "0 0 -1 106"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -68 75.9843"; + rotation = "0 0 1 148"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -220 82.1719"; + rotation = "0 0 -1 19.9999"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -276 66.8906"; + rotation = "0 0 -1 46.0002"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "47.768 138.69 32.1468"; + rotation = "0 0 1 27"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -156 34.2969"; + rotation = "0 0 -1 35"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "176.871 790.873 63.6938"; + rotation = "0 0 1 92.8191"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "102.832 -854.831 54.3499"; + rotation = "0 0 1 212"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -84 87.9062"; + rotation = "0 0 1 46"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -412 68.5937"; + rotation = "0 0 1 140"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -364 40.6875"; + rotation = "0 0 1 160"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 236 86.4219"; + rotation = "0 0 1 141"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -124 42"; + rotation = "0 0 1 49"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 172 36.1094"; + rotation = "0 0 -1 107"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -268 76.7344"; + rotation = "0 0 -1 53"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 236 37.0156"; + rotation = "0 0 1 152"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-125.466 -117.974 25.3999"; + rotation = "0 0 1 91.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -476 70.7344"; + rotation = "0 0 -1 41"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 612 37.5312"; + rotation = "0 0 1 61"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-217.232 757.817 32.8532"; + rotation = "0 0 1 169.819"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 -604 83.9376"; + rotation = "0 0 1 78.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -628 48.7031"; + rotation = "0 0 -1 86.0004"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 348 39.5125"; + rotation = "0 0 -1 4.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "667.479 598.889 45.6851"; + rotation = "0 0 1 94.4813"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-480.892 -848.221 38.1132"; + rotation = "0 0 -1 118.518"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-32.3671 -38.9158 30.3819"; + rotation = "-0 0 -1 87.5185"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-201.997 -368.204 46.3976"; + rotation = "-0 0 -1 27.5182"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "143.259 302.045 45.5164"; + rotation = "0 0 1 127.482"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-449.068 -311.514 42.2039"; + rotation = "-0 0 -1 38.5183"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "249.678 386.393 61.7757"; + rotation = "-0 0 -1 39.5183"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-179.953 -220.139 32.1288"; + rotation = "0 0 1 207.482"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "147.413 567.655 48.6726"; + rotation = "0 0 1 134.482"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-303.924 -723.833 75.632"; + rotation = "0 0 -1 95.5181"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "37.6566 -102.057 60.0258"; + rotation = "-0 0 -1 50.5183"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-181.071 -558.273 47.3789"; + rotation = "-0 0 -1 51.5183"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "79.8445 35.5158 29.0726"; + rotation = "0 0 1 211.482"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-413.898 -512.058 75.2976"; + rotation = "0 0 1 239.481"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "39.7902 230.101 63.2038"; + rotation = "0 0 1 164.481"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "477.508 825.804 36.3382"; + rotation = "0 0 -1 110.518"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "162.724 -194.709 60.1383"; + rotation = "-0 0 -1 83.5181"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-217.165 -26.107 44.6476"; + rotation = "0 0 1 135.482"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "275.224 570.185 56.8382"; + rotation = "-0 0 -1 82.5183"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "287.797 25.0389 63.4986"; + rotation = "-0 0 -1 60.0791"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "174.814 88.9388 28.4509"; + rotation = "0 0 -1 103.561"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "414.364 -360.931 38.8916"; + rotation = "0 0 1 4.43893"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "343.876 -532.439 67.651"; + rotation = "0 0 1 76"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "263.877 -571.851 51.9754"; + rotation = "-0 0 -1 49.8473"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268.39 -565.93 51.9537"; + rotation = "0 0 1 125.661"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new Item() { + position = "263.192 -572.688 54.1869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "264.471 -571.149 54.1754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "267.942 -565.584 53.6411"; + rotation = "0 0 1 35.5235"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "268.706 -566.091 52.8563"; + rotation = "0 0 1 35.5235"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new TSStatic() { + position = "-270.377 565.959 52.0391"; + rotation = "0 0 1 132.927"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-275.013 560.109 52.2174"; + rotation = "-0 0 -1 53.2848"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new Item() { + position = "-269.653 566.763 54.2506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-271.005 565.288 54.2391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-274.572 559.755 53.9048"; + rotation = "0 0 1 216.578"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-275.326 560.275 53.12"; + rotation = "0 0 1 216.578"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Curtilage.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Curtilage.mis new file mode 100644 index 00000000..a309f213 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Curtilage.mis @@ -0,0 +1,1479 @@ +// DisplayName = TWL-Curtilage +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Wars have never hurt anybody except the people who die +// --Salvador Dali +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Semi-open flag +//6 caps to win +//Map design by Techlogic +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + powerCount = "0"; + musicTrack = "lush"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-1072 -848 1536 1536"; + flightCeiling = "300"; + flightCeilingRange = "0"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Curtilage.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "Training4.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.40707e-06 -2.95309e+24"; + high_fogVolume2 = "-1 -4.37387e+16 3.00553e-06"; + high_fogVolume3 = "-1 1.1165e+24 1.29397e-05"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "215.421 357.616 64.7049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "74.6636 439.228 70.7487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "48.2489 299.421 -33.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "151.237 407.949 73.27"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new InteriorInstance() { + position = "155.796 417.158 78.3914"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "150.157 406.487 72.7842"; + rotation = "0 0 -1 44.1178"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new SimSet(TrackerTeam_1) { + + team = "1"; + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + teamId = "1"; + isBot = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + chatMuted = "0"; + clientId = "9388"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + }; + }; + new StaticShape() { + position = "146.139 412.999 73.1008"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + }; + new Turret() { + position = "157.685 417.949 102.45"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "35"; + }; + new InteriorInstance() { + position = "204.234 200.468 50.1094"; + rotation = "0 0 -1 75.0575"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "145.138 411.528 72.7195"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new StaticShape() { + position = "212.433 198.182 49.2746"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + inUse = "Down"; + team = "1"; + Target = "36"; + station = "38180"; + }; + new StaticShape() { + position = "241.557 198.79 52.1342"; + rotation = "0 0 1 104.278"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "38000"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "237.656 183.372 52.1342"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "38002"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "147.716 420.02 103.342"; + rotation = "0 0 1 225.745"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38004"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "158.54 409.262 103.363"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38006"; + team = "1"; + Target = "40"; + }; + new InteriorInstance() { + position = "149.593 410.882 76.8446"; + rotation = "0 0 -1 44.6"; + scale = "0.2 0.2 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new ForceFieldBare(ffz) { + position = "144.611 406.233 66.8668"; + rotation = "0 0 1 45.8366"; + scale = "0.1 7 10"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "41"; + }; + new StaticShape() { + position = "155.841 417.15 131.438"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new InteriorInstance() { + position = "48.3838 299.32 50.8992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "157.392 320.869 99.4115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "157.05 321.603 107.39"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "1"; + Target = "43"; + }; + new StaticShape() { + position = "158.21 409.026 90.3438"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38016"; + team = "1"; + Target = "44"; + }; + new StaticShape() { + position = "147.608 419.764 90.3317"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "38018"; + team = "1"; + Target = "45"; + }; + new InteriorInstance() { + position = "-171.124 250.675 107.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-171.125 250.674 115.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "46"; + }; + new InteriorInstance() { + position = "19.6761 77.0832 117.79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "19.7709 77.061 125.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "47"; + }; + new SimGroup() { + + powerCount = "2"; + }; + new Item() { + position = "48.4211 299.41 89.9038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "1"; + WayPoint = "38168"; + isHome = "1"; + originalPosition = "48.4211 299.41 89.9038 1 0 0 0"; + Target = "48"; + }; + new SimSet(TrackerTeam_1) { + + team = "1"; + + new ScriptObject() { + + className = "PlayerRep"; + score = "0"; + canListen = "0"; + isAdmin = "1"; + teamId = "0"; + isBot = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + chatMuted = "0"; + clientId = "22531"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + guid = "386073"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + ping = "61"; + }; + }; + new SimSet(TrackerTeam_0) { + + team = "1"; + + new ScriptObject() { + + className = "PlayerRep"; + score = "0"; + canListen = "0"; + isAdmin = "1"; + teamId = "0"; + isBot = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + chatMuted = "0"; + clientId = "22531"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + guid = "386073"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + ping = "61"; + }; + }; + new WayPoint() { + position = "155.859 417.071 78.4184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-916.202 -523.419 113.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-758.313 -685.539 133.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-707.524 -484.009 -35.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-813.996 -578.561 115.375"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "-820.026 -588.998 121.111"; + rotation = "0 0 1 226.709"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-809.362 -583.616 115.375"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new StaticShape() { + position = "-810.385 -584.719 115.782"; + rotation = "0 0 1 226.318"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + }; + new InteriorInstance() { + position = "-839.442 -340.774 64.9156"; + rotation = "0 0 1 120.321"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-815.286 -580.008 115.782"; + rotation = "2.01528e-08 8.65852e-09 1 226.501"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "50"; + }; + new Turret() { + position = "-821.406 -590.411 145.15"; + rotation = "0 0 -1 42.5814"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "11159"; + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "-846.826 -337.122 63.8808"; + rotation = "-0 0 -1 59.5876"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + team = "2"; + Target = "52"; + station = "38182"; + }; + new StaticShape() { + position = "-875.381 -329.153 66.931"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38046"; + team = "2"; + Target = "53"; + }; + new StaticShape() { + position = "-867.297 -315.313 66.9131"; + rotation = "0 0 -1 59.5876"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38048"; + team = "2"; + Target = "54"; + }; + new ForceFieldBare(ffy) { + position = "-808.532 -578.007 109.325"; + rotation = "0 0 1 225.928"; + scale = "0.1 7 10"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "55"; + }; + new InteriorInstance() { + position = "-813.631 -582.914 119.225"; + rotation = "0 0 1 46.4096"; + scale = "0.2 0.2 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-819.965 -589.03 174.199"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "56"; + }; + new StaticShape() { + position = "-822.523 -581.003 146.1"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38054"; + team = "2"; + Target = "57"; + }; + new StaticShape() { + position = "-812.177 -591.924 146.134"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38056"; + team = "2"; + Target = "58"; + }; + new InteriorInstance() { + position = "-856.485 -478.395 131.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-856.579 -478.953 139.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "2"; + Target = "59"; + }; + new StaticShape() { + position = "-811.867 -591.633 133.059"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38060"; + team = "2"; + Target = "60"; + }; + new StaticShape() { + position = "-822.195 -580.574 133.059"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "38062"; + team = "2"; + Target = "61"; + }; + new InteriorInstance() { + position = "-493.201 -430.67 96.3635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-493.264 -430.618 104.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "62"; + }; + new InteriorInstance() { + position = "-657.455 -243.483 119.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-657.444 -243.536 126.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "63"; + }; + new InteriorInstance() { + position = "-707.435 -484.005 49.4629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-707.488 -483.951 88.4794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "2"; + WayPoint = "38169"; + isHome = "1"; + originalPosition = "-707.488 -483.951 88.4794 1 0 0 0"; + Target = "64"; + }; + new WayPoint() { + position = "-819.969 -588.958 121.225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + + new ForceFieldBare(ff1) { + position = "-710.89 -467.947 75.9081"; + rotation = "1 0 0 0"; + scale = "7 1 15"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "65"; + }; + new ForceFieldBare(ff2) { + position = "-710.888 -501.035 76.0711"; + rotation = "1 0 0 0"; + scale = "7 1 15"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "66"; + }; + new ForceFieldBare(ff3) { + position = "44.8982 315.583 77.2918"; + rotation = "1 0 0 0"; + scale = "7 1 15"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "67"; + }; + new StaticShape() { + position = "-681.744 -484.111 91.7342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new ForceFieldBare(ff4) { + position = "44.7948 282.274 76.4287"; + rotation = "1 0 0 0"; + scale = "7 1 16"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "68"; + }; + new StaticShape() { + position = "1990.96 -215.474 41.6188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "69"; + }; + new StaticShape() { + position = "48.1998 273.545 92.9342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "74.0631 299.208 92.9342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "22.3898 299.579 92.9342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "48.3069 325.148 92.9342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "-707.47 -458.073 91.7342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "-733.253 -483.879 91.5342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "-707.715 -509.888 91.5342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + }; + new ForceFieldBare(ffa) { + position = "144.786 409.428 72.8733"; + rotation = "0 0 -1 45.2637"; + scale = "3.5 2.5 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "70"; + }; + new ForceFieldBare(ffb) { + position = "150.274 408.588 72.9815"; + rotation = "0 0 1 135.218"; + scale = "3.5 2.5 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "71"; + }; + new ForceFieldBare(ffc) { + position = "-814.317 -580.808 115.525"; + rotation = "0 0 -1 42.9718"; + scale = "3.5 2.5 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "72"; + }; + new ForceFieldBare(ffd) { + position = "-809.672 -585.726 115.525"; + rotation = "0 0 -1 42.9719"; + scale = "3.5 2.5 0.1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "73"; + }; + }; + new Item() { + position = "155.745 417.068 79.456"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-819.872 -588.966 122.262"; + rotation = "0 0 -1 42.9718"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-74.9835 149.075 49.2863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-30.4441 -121.728 96.2901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-305.6 -316.715 58.2461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-307.852 -524.058 75.1065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-85.0904 -570.935 52.0744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-5.32178 -771.044 54.0455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "180.474 -773.211 52.2862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "241.912 -556.377 68.8627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "407.697 -483.955 98.276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "250.478 18.7341 50.6674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "107.46 4.73881 62.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "119.314 167.398 70.7242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "231.641 380.135 49.3455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "89.3612 533.812 82.8242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-94.2574 468.705 78.0723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-292.338 307.839 86.9422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-470.166 244.72 79.1656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-683.935 326.94 50.8417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-620.699 142.179 90.3443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-422.571 56.0205 51.1844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-270.874 124.197 78.9716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-165.194 327.702 90.2535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-208.956 -143.873 114.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-583.907 -81.0264 65.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-757.341 -275.855 49.0373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-1008.28 -275.235 53.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-906.903 -682.64 49.3955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-863.793 -544.003 103.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-647.315 -356.748 96.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-487.226 -287.824 101.732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-485.009 -143.762 90.374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-129.479 16.9577 87.5669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-125.221 253.985 110.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-364.568 188.14 93.8667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-363.847 43.8828 76.2499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-264.852 -143.584 88.7837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-160.505 -415.866 74.9126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-736.636 72.9883 104.718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-889.874 25.0384 106.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-820.178 -153.732 97.3138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "218.974 274.609 51.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "260.183 508.332 82.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-108.372 657.04 91.9735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-484.668 427.469 88.6013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-821.151 179.675 115.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-1002.69 -115.63 52.0933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-870.318 -407.047 69.7141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-933.562 -464.389 109.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-741.769 -776.259 112.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-629.33 -615.898 109.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-520.707 -407.191 79.9414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance() { + position = "438.232 679.714 100.666"; + rotation = "0 0 1 39.5341"; + scale = "6 3 3"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "400.353 655.005 95.261"; + rotation = "0 0 -1 76.7763"; + scale = "5 5 5"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "455.464 646.222 109.728"; + rotation = "1 0 0 0"; + scale = "3 1 5"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(a1) { + position = "-643.041 -411.904 126.909"; + rotation = "0 0 1 224.599"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a2) { + position = "-823.102 -592.33 116.653"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a3) { + position = "-17.6721 227.1 114.204"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a4) { + position = "159.04 420.486 74.0613"; + rotation = "0 0 1 230.902"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Damnation.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Damnation.mis new file mode 100644 index 00000000..bc2ef3d4 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Damnation.mis @@ -0,0 +1,1411 @@ +// DisplayName = TWL-Damnation +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//By the flow of the inland river, +//Whence the fleets of iron have fled, +//Where the blades of the grave-grass quiver, +//Asleep are the ranks of the dead. +// -- Francis Miles Finch +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Flat terrain countoured slightly - Flagstand removed +//(Editing: z0dd, Techlogic, =Sabre=) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-512 -384 1040 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Damnation.ter"; + squareSize = "8"; + emptySquares = "95892 161683 293011 358802 359058 359314 228499 97684 241259 175979 372842 373098 307818 242539 177260"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "Damnation.nav"; + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.82169e-44 7.00649e-45"; + high_fogVolume2 = "-1 7.00649e-45 2.8026e-45"; + high_fogVolume3 = "-1 2.8026e-45 1.4013e-45"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-195.416 172.745 166.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-135.821 396.688 109.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-416.969 399.982 151.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new Item() { + position = "-313.935 363.608 87.848"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "33"; + team = "1"; + WayPoint = "4664"; + Trigger = "4423"; + isHome = "1"; + originalPosition = "-313.935 363.608 88.348 0 0 1 0.000690534"; + }; + new Item() { + position = "-120.695 380.206 89.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-138.098 404.8 99.296"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "34"; + team = "1"; + }; + new StaticShape() { + position = "-138.144 385.835 99.2963"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "-148.34 424.054 109.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "36"; + Trigger = "4532"; + team = "1"; + }; + new StaticShape() { + position = "-159.496 424.101 109.25"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "37"; + inUse = "Down"; + Trigger = "4534"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-159.522 366.285 109.25"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "38"; + Trigger = "4536"; + team = "1"; + }; + new StaticShape() { + position = "-148.314 366.254 109.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "39"; + inUse = "Down"; + Trigger = "4538"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-143.526 371.157 121.107"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "40"; + team = "1"; + }; + new Turret() { + position = "-145.05 419.314 121.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "41"; + team = "1"; + }; + new InteriorInstance() { + position = "-152.431 395.348 101.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-313.981 363.606 86.674"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5686"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-419.536 406.735 149.85"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "42"; + Trigger = "4544"; + team = "1"; + }; + new InteriorInstance() { + position = "-194.149 161.526 156.521"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-196.748 158.992 172.52"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Forward Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "43"; + Trigger = "4547"; + team = "1"; + }; + new InteriorInstance() { + position = "-423.66 393.712 156.257"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-420.82 396.034 160.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-437.029 390.012 149.85"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "44"; + Trigger = "4551"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "453.235 -46.8356 151.323"; + rotation = "0 0 1 185.248"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "136.794 -23.7782 110.969"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + new SpawnSphere() { + position = "195.43 166.585 160.315"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new Item() { + position = "306.95 -17.226 87.8478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "45"; + team = "2"; + WayPoint = "4665"; + Trigger = "4425"; + isHome = "1"; + originalPosition = "306.95 -17.226 88.3478 1 0 0 0"; + }; + new Item() { + position = "132.695 -32.6061 89.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "150.241 -57.5069 99.31"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "46"; + team = "2"; + }; + new StaticShape() { + position = "150.315 -38.271 99.31"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "47"; + team = "2"; + }; + new StaticShape() { + position = "161.076 -76.8596 109.25"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "48"; + Trigger = "4564"; + team = "2"; + }; + new StaticShape() { + position = "171.918 -76.8919 109.25"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "49"; + Trigger = "4566"; + team = "2"; + }; + new StaticShape() { + position = "172.025 -19.1343 109.25"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "50"; + Trigger = "4568"; + team = "2"; + }; + new StaticShape() { + position = "160.783 -19.2409 109.25"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "51"; + Trigger = "4570"; + team = "2"; + }; + new StaticShape() { + position = "156.126 -23.5571 121.107"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "52"; + team = "2"; + }; + new Turret() { + position = "157.05 -72.5141 121.699"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "53"; + team = "2"; + lastProjectile = "27377"; + }; + new InteriorInstance() { + position = "164.86 -48.2173 101.258"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "306.892 -17.224 86.6738"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5686"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "431.627 -60.2621 148.36"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "54"; + Trigger = "4576"; + team = "2"; + }; + new InteriorInstance() { + position = "205.543 184.409 155.721"; + rotation = "0 0 1 45.928"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "208.101 187.045 171.71"; + rotation = "0 0 1 45.355"; + scale = "1 1 1"; + nameTag = "Forward Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "55"; + Trigger = "4579"; + team = "2"; + }; + new InteriorInstance() { + position = "435.757 -47.2228 154.857"; + rotation = "0 0 1 135.309"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "431.93 -49.3341 159.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "449.224 -43.2509 148.36"; + rotation = "0 0 1 45.355"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "56"; + Trigger = "4583"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new WaterBlock() { + position = "128 -168 38.688"; + rotation = "1 0 0 0"; + scale = "352 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "482.764 -239.173 130.388"; + rotation = "0 0 1 213"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-166.305 -217.455 144.032"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-446.5 659.5 137.838"; + rotation = "0 0 1 83"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant23) { + + powerCount = "0"; + }; + new SimGroup(Addition1BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "90 356 107.031"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-6 252 56.9375"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "197.15 53.8397 103.981"; + rotation = "0 0 1 143"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-182 68 91.5938"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-134 -44 103"; + rotation = "0 0 1 82"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-222 44 95.4531"; + rotation = "0 0 1 214"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-302 36 52.0781"; + rotation = "0 0 1 218"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "34 -60 93.9922"; + rotation = "0 0 -1 26.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-210.532 290.244 103.399"; + rotation = "-0.101786 -0.00522579 0.994793 33.1633"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90 -68 108.359"; + rotation = "-0.0754226 0.0162109 -0.99702 98.1695"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42 324 92"; + rotation = "-0.0129373 0.0304783 -0.999452 44.0219"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BESmTree17) { + + powerCount = "0"; + + new TSStatic() { + position = "90 -100 101.961"; + rotation = "0 0 1 9.99989"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-278 -132 67.9375"; + rotation = "0 0 1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-158 300 101.898"; + rotation = "0 0 1 121"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178 316 95.2343"; + rotation = "0 0 1 90.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "226 428 60.6719"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-318 68 67.289"; + rotation = "0 0 1 195"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-70.0692 211.948 107.303"; + rotation = "-0.0922343 -0.24279 -0.965684 116.799"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "82 12 105.42"; + rotation = "0.244446 0.1545 -0.957275 117.246"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1.95262 380.003 114.008"; + rotation = "0.116129 -0.050922 0.991928 141.291"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "154.094 508.059 109.449"; + rotation = "-0.235124 -0.169519 0.957068 186.701"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-61.9587 364.041 101.159"; + rotation = "0.0151215 0.192138 -0.981251 100.069"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "202.071 276 93.6709"; + rotation = "-0.179699 -0.0905798 0.979543 232.061"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "106.015 -155.985 105.366"; + rotation = "0.2135 -0.175995 0.96096 11.4439"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "386.041 556.084 127.204"; + rotation = "-0.223333 -0.156024 0.962174 123.854"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.95 540.099 115.855"; + rotation = "-0.112605 0.370342 -0.922045 96.6356"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-46 212 97.4671"; + rotation = "0.329494 -0.101911 0.938642 128.88"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "305.973 179.995 104.05"; + rotation = "-0.0183599 -0.250603 -0.967916 31.976"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-174 11.939 99.8785"; + rotation = "0.526422 0.131252 0.840031 33.0626"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.915 572.029 128.749"; + rotation = "-0.365142 0.472928 0.801879 45.298"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "154 20 105.75"; + rotation = "0 0 1 100"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "322.032 116.069 96.3918"; + rotation = "-0.176548 0.289402 -0.940785 70.2565"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-333.969 564.075 119.589"; + rotation = "-0.782066 0.191168 0.593151 29.9008"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-294.076 -19.9813 56.9705"; + rotation = "0.183774 -0.0833939 0.979425 159.423"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.9724 444.079 77.1451"; + rotation = "0.0181824 -0.22121 0.975057 151.694"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-70.0639 -99.9534 80.5491"; + rotation = "0.0323144 -0.290007 0.956479 87.544"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-382.087 459.994 117.834"; + rotation = "0.206925 -0.66769 0.715103 37.1165"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-398.047 -91.8929 131.969"; + rotation = "-0.823392 -0.169726 -0.541497 42.8632"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.0115 388.036 105.31"; + rotation = "-0.0678493 0.120824 -0.990353 86.5551"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-133.975 12.0047 104.683"; + rotation = "-0.0619199 -0.0127325 0.998 181.996"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-225.463 143.423 202.782"; + rotation = "0 0 1 117.639"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "96.8526 -104.743 165.021"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-441.34 213.013 172.936"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-438.012 383.79 169.698"; + rotation = "0.0338656 -0.0499505 0.998177 111.824"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "468.774 -25.0539 182.879"; + rotation = "0.104974 0.109172 -0.988464 92.9103"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "-472 232 38.688"; + rotation = "1 0 0 0"; + scale = "352 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "306.526 28.56 88.9729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "279.25 -111.373 89.1046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-284.259 454.007 99.9255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-311.535 314.074 100.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "-158.989 397.344 105.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-158.999 397.363 106.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-159 397.36 107.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.13 -50.2151 105.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "170.781 -44.8251 106.772"; + rotation = "0.772155 0.085904 0.629601 190.082"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.141 -50.2315 107.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.139 -50.2344 106.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-159.368 392.293 105.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-159.393 392.208 107.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-166.32 412.837 98.9555"; + rotation = "1 0 0 0"; + scale = "1 1.93677 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-166.296 378.045 97.3739"; + rotation = "1 0 0 0"; + scale = "1 1.93677 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-225.463 143.423 202.782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_DangerousCrossing.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_DangerousCrossing.mis new file mode 100644 index 00000000..adfb3632 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_DangerousCrossing.mis @@ -0,0 +1,2425 @@ +// DisplayName = TWL-Dangerous Crossing +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Two bases, each with one flag, separated by a large chasm. A lengthy bridge joins the two. A straight line may be the quickest route, but not necessarily the safest in this mission... +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-384 -664 896 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "DangerousCrossing_nef.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "DangerousCrossing_nef.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new SimGroup(AmbientSounds) { + + + new AudioEmitter() { + position = "8.18838 4.68738 21.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-356.385 -403.657 163.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "38.5419 -545.858 209.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "147.42 -235.426 24.8715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "282.537 70.4095 150.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "446.319 218.146 76.7411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "293.537 -585.99 145.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-46.7896 -697.315 127.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-315.663 -526.902 196.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-614.545 -154.511 75.0835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-443.971 -70.8698 206.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-361.413 351.811 29.2453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "76.8658 302.759 193.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "198.681 137.14 177.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "124.621 -26.4371 21.8651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "42.0874 -144.166 161.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-253.594 -291.801 85.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.700000 0.700000 1.000000"; + fogDistance = "220"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 516692326335925828000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-213.763 42.4989 101.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-212.909 47.193 104.206"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-220.725 49.3895 104.188"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-207.098 41.5278 104.191"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-201.34 52.5966 122.193"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-213.844 45.3733 134.919"; + rotation = "0 0 1 122.636"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-216.4 41.1339 122.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-213.942 45.4191 104.145"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-320.53 114.613 156.8"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-212.183 56.5697 110.699"; + rotation = "-0.691225 0.184918 0.698579 201.237"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-215.633 34.3095 110.696"; + rotation = "-0.254967 -0.934331 0.249032 93.1303"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-336.802 -144.615 167.106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-213.94 45.4191 104.736"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + stand = "3499"; + }; + new InteriorInstance() { + position = "-336.425 -144.611 159.646"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "287.008 -285.796 110.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "286.192 -283.443 110.772"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "291.983 -289.094 110.75"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "278.423 -281.269 110.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "272.554 -292.329 128.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "285.164 -285.389 141.728"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "287.707 -280.779 128.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "285.198 -285.128 110.662"; + rotation = "0 0 1 187.448"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "413.412 -242.385 142.884"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "286.978 -274.071 117.241"; + rotation = "-0.693965 0.178234 0.6976 202.037"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "283.438 -296.283 117.279"; + rotation = "-0.250155 -0.935079 0.251099 93.811"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "385.038 -529.131 185.553"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "285.15 -285.138 111.267"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + stand = "3519"; + }; + new InteriorInstance() { + position = "384.797 -529.162 178.084"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-149.728 -7.48875 75.9454"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-122.679 -24.5839 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-95.6376 -41.6678 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-41.5443 -75.84 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-68.5862 -58.7561 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-14.4983 -92.9357 75.9567"; + rotation = "0 0 1 212.292"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "226.216 -248.392 77.6008"; + rotation = "0 0 1 212.865"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "91.847 -161.597 77.5895"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "118.724 -178.961 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "145.593 -196.314 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "199.342 -231.026 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "172.472 -213.672 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "258.149 -323.371 127.864"; + rotation = "0.0804185 -0.0405322 0.995937 53.6854"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-237.544 -10.1634 124.612"; + rotation = "0.711689 0.0283453 -0.701923 6.49514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "428.643 -247.368 148.898"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-323.843 130.376 162.814"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition6BEPlant1) { + + + new TSStatic() { + position = "100 -108 63.2088"; + rotation = "0.0649977 -0.771458 0.632952 28.0974"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 28 114.787"; + rotation = "-0.0575092 -0.000833559 0.998345 176.007"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -620 112.443"; + rotation = "-0.0759765 -0.0920096 0.992855 92.41"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 204 156.209"; + rotation = "0.223112 0.885322 -0.407953 24.2087"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -604 141.756"; + rotation = "-0.28507 0.519497 -0.805517 31.9855"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 308 126.646"; + rotation = "0.0684581 -0.0694007 -0.995237 114.249"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -444 63.5525"; + rotation = "-0.220743 -0.021871 0.975087 66.317"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -260 146.99"; + rotation = "0.307339 0.117502 -0.944318 73.114"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -220 42.7087"; + rotation = "0.0203464 0.119769 0.992593 188.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -36 120.646"; + rotation = "0.17395 -0.461662 -0.869833 16.0694"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -284 30.0369"; + rotation = "-0.263913 -0.000143352 0.964546 59.7704"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -484 180.037"; + rotation = "-0.0170411 -0.00622175 0.999835 194.998"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -204 143.693"; + rotation = "0.0360948 0.0842524 -0.99579 75.2333"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -132 84.1462"; + rotation = "-0.153639 -0.412905 0.897722 50.6129"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 444 87.3807"; + rotation = "0.144086 0.120178 0.98224 85.0225"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -420 114.521"; + rotation = "0.135191 0.563483 -0.814991 21.9952"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -332 42.4431"; + rotation = "0.677626 0.385326 -0.626376 35.9885"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 268 70.9431"; + rotation = "-0.194155 0.143761 0.97038 67.5833"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 444 70.8494"; + rotation = "0.856966 0.0874315 0.507903 21.4696"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 404 62.7556"; + rotation = "0.807734 -0.566894 -0.161854 6.17334"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -508 73.5681"; + rotation = "0.552677 0.120966 -0.82457 53.3442"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 276 68.6463"; + rotation = "0.0950013 0.0396648 -0.994687 117.272"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 -684 122.912"; + rotation = "0.0250507 -0.0214751 -0.999455 81.0306"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 -684 142.24"; + rotation = "-0.0784497 -0.0347818 0.996311 224.85"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 332 126.334"; + rotation = "0.227652 -0.187506 -0.955519 68.4032"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 180 74.365"; + rotation = "0.659778 0.332645 -0.673825 14.7959"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -28 116.662"; + rotation = "0.690947 0.689839 -0.216133 18.3565"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -580 150.146"; + rotation = "-0.0807092 0.0398195 0.995942 204.901"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 348 73.8962"; + rotation = "0.142696 -0.074033 0.986994 147.406"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -444 112.834"; + rotation = "-0.0241944 0.1133 0.993266 211.796"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -116 64.4744"; + rotation = "0.058772 -0.886553 0.458879 32.0164"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -228 186.849"; + rotation = "0.00106694 -0.145371 0.989377 73.5862"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -44 121.068"; + rotation = "0.236998 -0.315957 0.918696 24.9741"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -572 135.193"; + rotation = "0.038202 -0.0873718 0.995443 106.252"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -516 149.365"; + rotation = "-0.0999448 -0.030307 0.994531 202.877"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -44 80.0369"; + rotation = "0.0350682 -0.130771 0.990792 116.475"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -84 75.0526"; + rotation = "0.878787 0.288441 -0.380177 30.9075"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 340 126.896"; + rotation = "0.0396606 0.108119 0.993347 84.3807"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -12 83.0838"; + rotation = "0.0454876 -0.0691338 0.99657 199.933"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -124 81.6931"; + rotation = "0.123135 0.012143 0.992316 128.347"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -12 104.803"; + rotation = "-0.140806 -0.194785 0.970687 46.2181"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -588 132.334"; + rotation = "-0.0974728 -0.0146329 0.995131 215.836"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 60 99.7088"; + rotation = "-0.362083 -0.182982 -0.91401 76.962"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -140 158.849"; + rotation = "0.236059 -0.0604871 0.969854 78.7141"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 292 105.693"; + rotation = "0.0590834 -0.210753 0.975752 227.947"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 116 70.365"; + rotation = "-0.312355 -0.243145 0.918322 58.047"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 188 129.302"; + rotation = "-0.15801 0.147838 -0.976308 115.249"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "411.948 395.955 112.198"; + rotation = "-0.0140795 0.0175718 0.999746 153.045"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -484 180.287"; + rotation = "-0.0160332 0.151453 0.988334 186.919"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -428 61.3025"; + rotation = "-0.0104187 0.117468 -0.993022 65.3642"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 44 61.2244"; + rotation = "-0.392814 0.720124 -0.571942 15.6695"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 52 133.646"; + rotation = "-0.0906699 -0.0368382 0.995199 170.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -148 38.1775"; + rotation = "-0.00667205 0.142121 0.989827 206.735"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -628 192.146"; + rotation = "0.378496 -0.0757718 -0.922496 64.0813"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -636 125.662"; + rotation = "0.0243316 -0.06889 0.997328 189.974"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 340 115.302"; + rotation = "0.133018 -0.0901527 0.987005 173.091"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -292 88.5681"; + rotation = "-0.120453 0.0740677 0.989952 155.243"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 404 108.224"; + rotation = "0.197539 0.184369 0.962801 216.683"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -588 126.115"; + rotation = "-0.00137666 -0.0625443 0.998041 161.037"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -12 86.4275"; + rotation = "-0.0132298 -0.415848 0.909338 38.2464"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -308 130.334"; + rotation = "-0.19745 -0.0630888 0.978281 103.228"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 204 137.021"; + rotation = "0.304035 -0.198052 -0.931847 39.5033"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -708 160.709"; + rotation = "0.111798 -0.122636 0.986135 65.7269"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -620 148.006"; + rotation = "-0.0602859 -0.139922 0.988326 46.486"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 180 151.474"; + rotation = "0.340127 -0.0467034 0.939219 28.6773"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -524 175.334"; + rotation = "-0.408782 -0.0968331 0.90748 68.0606"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -596 133.724"; + rotation = "-0.112205 -0.0231678 0.993415 160.129"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 196 124.412"; + rotation = "0.135563 0.201714 0.970018 183.88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -660 128.459"; + rotation = "-0.421982 -0.211707 0.881539 41.5693"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -228 24.3807"; + rotation = "-0.82623 0.563333 0 5.93774"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 108 73.3181"; + rotation = "-0.180919 0.322042 -0.929278 69.894"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -652 129.302"; + rotation = "0.0139274 -0.211624 0.977252 39.8371"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 348 128.49"; + rotation = "-0.0629431 0.817345 0.5727 13.9227"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -676 127.646"; + rotation = "-0.261621 -0.645745 0.717334 38.3324"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -204 137.881"; + rotation = "0.207953 -0.0497044 -0.976875 50.0197"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -124 90.8337"; + rotation = "-0.077915 0.139494 0.987153 135.521"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -644 146.24"; + rotation = "0.953275 -0.0986106 -0.285556 24.1793"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276.046 292.018 99.9354"; + rotation = "-0.235152 0.0159896 0.971827 213.095"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + + new TSStatic() { + position = "428 -204 138.141"; + rotation = "-0.0517957 0.129985 0.990162 82.5615"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 12 81.8749"; + rotation = "0.16692 0.154629 0.97377 23.6024"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -636 152.578"; + rotation = "0.250098 0.0299189 -0.967758 70.7631"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -4 14.7657"; + rotation = "0.0512118 0.0473908 0.997563 26.0614"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 332 74.3906"; + rotation = "0.163964 0.187618 -0.96846 97.8228"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -236 92.9844"; + rotation = "0.94297 -0.303754 0.136163 21.7716"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 4 104.594"; + rotation = "0.166376 -0.123337 0.978318 233.978"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 -516 146.562"; + rotation = "0.132295 0.430669 0.892761 39.9979"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -164 174.438"; + rotation = "0.348006 0.328669 0.877991 54.8636"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 324 112.5"; + rotation = "-0.189103 0.162724 -0.968381 103.794"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -220 44.4219"; + rotation = "0.0437489 0.100919 0.993932 172.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 204 125.141"; + rotation = "-0.18908 0.231612 0.954256 99.6545"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -476 138.906"; + rotation = "0.512619 0.101604 0.852583 38.3176"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -692 119.828"; + rotation = "0.0291689 -0.049656 0.99834 174.01"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -316 129.562"; + rotation = "0.304871 0.715363 -0.628737 22.1001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -676 165.062"; + rotation = "-0.136007 0.0204947 0.990496 148.289"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 60 71.9218"; + rotation = "0.0905301 -0.0345516 0.995294 229.793"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -580 175.953"; + rotation = "-0.217858 0.0938521 0.971458 122.411"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 180 133.531"; + rotation = "0.0150727 0.235793 0.971686 176.113"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -628 133.469"; + rotation = "-0.228744 0.0376733 0.972757 114.449"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 44 119.375"; + rotation = "0.147801 -0.170979 0.974126 222.967"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -276 71.9843"; + rotation = "0.228857 -0.0427114 0.972523 152.74"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 476 64.4531"; + rotation = "0.0684385 0.089631 -0.993621 108.349"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 244 81.7812"; + rotation = "-0.202217 0.0838836 0.975742 180.976"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 116 156.187"; + rotation = "-0.0392527 -0.114476 0.99265 165.109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -116 58.8281"; + rotation = "-0.315545 -0.61864 -0.719525 40.8501"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -588 144.187"; + rotation = "0.0710776 0.0363129 -0.99681 104.178"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 92 138.391"; + rotation = "-0.112981 -0.129721 0.985093 156.348"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 260 93.0937"; + rotation = "0.0718987 0.442044 0.894107 63.5943"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -84 80.6875"; + rotation = "0.0148553 0.40322 0.914983 52.9531"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -620 112.328"; + rotation = "-0.00614694 -0.0868628 0.996201 163.064"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 -596 126.297"; + rotation = "0.587796 -0.463155 0.663312 32.6659"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -596 124.984"; + rotation = "-0.0825852 -0.0565565 0.994978 92.288"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -220 140.797"; + rotation = "0.090145 0.509327 0.855839 17.4903"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -300 68.9687"; + rotation = "-0.111338 0.0929767 0.989424 115.551"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -556 165.016"; + rotation = "-0.0595715 0.218122 0.974102 135.071"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -268 132.531"; + rotation = "-0.0267231 -0.228723 0.973125 229.797"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -524 148.719"; + rotation = "0.0984676 -0.030729 -0.994666 48.228"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 460 65.3438"; + rotation = "0.271811 -0.210283 -0.939095 77.4891"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 116 146.953"; + rotation = "-0.169115 0.0695272 0.983141 93.9725"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -52 101.594"; + rotation = "-0.154379 -0.40628 -0.900613 61.114"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 212 135.766"; + rotation = "-0.00430558 0.103812 0.994588 228.765"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 412 100.141"; + rotation = "0.379395 -0.300514 -0.875072 45.1682"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -548 141.812"; + rotation = "-0.263269 -0.0114942 0.964654 97.0505"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -244 51.3438"; + rotation = "0.0925744 -0.185336 -0.978305 113.16"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 220 139.062"; + rotation = "-0.35419 -0.342382 0.870244 45.3932"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -244 134.031"; + rotation = "0.0990367 -0.180436 0.978588 166.297"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 92 109.406"; + rotation = "-0.122854 -0.0620922 0.99048 162.168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -644 195.813"; + rotation = "0.0535113 -0.144208 0.988099 84.6828"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -292 121.375"; + rotation = "-0.482034 -0.330282 -0.811515 17.2075"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 420 112.953"; + rotation = "-0.052882 0.252276 -0.966209 100.94"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -628 192"; + rotation = "0.0900206 -0.0851775 0.992291 204.813"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 348 110.625"; + rotation = "0.476862 0.305382 0.824224 34.8407"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -44 28.0781"; + rotation = "0.156808 -0.175611 0.971891 188.748"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -636 123.094"; + rotation = "0.0599661 0.0753877 0.99535 13.0602"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -172 39.0313"; + rotation = "-0.181911 0.0617697 -0.981373 107.033"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -516 184.5"; + rotation = "-0.0162673 -0.210839 -0.977385 114.201"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -612 121.734"; + rotation = "-0.106475 0.00900665 0.994275 78.3222"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 196 107.687"; + rotation = "-0.0602392 0.288904 0.955461 120.28"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -380 74.9219"; + rotation = "-0.000281585 0.0655801 0.997847 87.1234"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -4 117.984"; + rotation = "-0.0505519 -0.117772 0.991753 232.622"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -596 169.719"; + rotation = "-0.198817 0.139493 -0.970059 92.741"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 36 68.7031"; + rotation = "-0.00315121 -0.0272797 0.999623 195.995"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -340 105.109"; + rotation = "0.00803253 0.17534 0.984475 171.139"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -644 140.531"; + rotation = "-0.0230531 0.141275 0.989702 226.568"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -596 128.188"; + rotation = "0.143253 0.0577301 -0.988001 118.609"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -700 160.922"; + rotation = "0.0169235 -0.118472 0.992813 62.3653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -572 181.625"; + rotation = "-0.115498 -0.214731 0.96982 80.7286"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 348 128.375"; + rotation = "0.096637 0.173648 -0.980055 59.9944"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -100 76.625"; + rotation = "0.199411 0.187205 0.961868 76.1518"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -380 115.047"; + rotation = "-0.241633 0.437847 0.86597 42.2513"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -36 86"; + rotation = "0.163719 -0.0374673 0.985795 139.535"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -676 162.422"; + rotation = "0.256022 -0.213318 -0.94284 66.0437"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 4 56.6406"; + rotation = "-0.0275218 -0.128656 0.991307 237.576"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 292 110.375"; + rotation = "0.205863 0.125121 0.970549 46.2239"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 364 113.297"; + rotation = "-0.012868 0.145414 -0.989287 114.562"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 252 71.8281"; + rotation = "0.187878 -0.129221 -0.973655 108.457"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -292 69.0469"; + rotation = "0.44835 -0.394235 -0.802223 30.8965"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -500 174.531"; + rotation = "0.0953873 0.18184 0.978691 186.851"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -580 127.609"; + rotation = "-0.0757773 0.0968426 -0.992411 59.3751"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -228 118.953"; + rotation = "0.0890907 0.0969342 -0.991295 74.4822"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 292 131.188"; + rotation = "0.611397 0.621109 0.490324 26.1632"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 -468 190.313"; + rotation = "0.165017 0.115714 0.979479 216.291"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 436 112.953"; + rotation = "0.220907 -0.14792 0.964012 105.037"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 60 135.625"; + rotation = "-0.0920355 0.104929 0.990212 46.4068"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 460 82.1563"; + rotation = "-0.174637 -0.0881296 0.980681 156.45"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 324 110.094"; + rotation = "0.0852817 0.126122 0.988342 167.15"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -500 180.578"; + rotation = "0.645668 -0.170717 -0.744291 30.5766"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -612 150.812"; + rotation = "-0.0714194 0.191366 0.978917 126.981"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 444 72.3281"; + rotation = "0.0795805 0.202987 0.975942 122.188"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 -332 100.453"; + rotation = "-0.019764 0.213618 0.976717 132.995"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -548 131.656"; + rotation = "-0.186286 0.439465 -0.878731 42.7951"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -324 115.953"; + rotation = "0.0809679 -0.10851 0.990793 159.189"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 -508 181.484"; + rotation = "0.241137 0.0644392 -0.968349 118.63"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 476 82.7031"; + rotation = "0.221167 -0.194796 0.955583 77.5286"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 -644 123.75"; + rotation = "0.880254 -0.474503 0 7.67607"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -644 156.625"; + rotation = "0.0452375 0.063939 0.996928 156.071"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 -708 119.984"; + rotation = "-0.518523 0.312635 -0.79586 24.9848"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -700 137.109"; + rotation = "0.0785033 0.150158 0.98554 124.689"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -428 64.6718"; + rotation = "-0.690851 0.364949 -0.624129 31.5518"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_DeadlyBirdsSong.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_DeadlyBirdsSong.mis new file mode 100644 index 00000000..2c0afadb --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_DeadlyBirdsSong.mis @@ -0,0 +1,1014 @@ +// DisplayName = TWL-Deadly Birds Song +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Whatever you do will be insignificant but it is very important that you do it. +// -- Mahatma Gandhi +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by PeachSkin (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + CTF_timeLimit = "30"; + musicTrack = "lush"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-800 -464 1472 1088"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(4) { + position = "-312.553 -125.542 262.375"; + rotation = "0.030433 0.0189652 -0.999357 63.8936"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(3) { + position = "-172.603 -283.753 89.9341"; + rotation = "0.206604 -0.0463951 0.977324 25.8806"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(2) { + position = "164.845 294.547 249.027"; + rotation = "0.827057 0.0389725 -0.560765 9.60677"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(1) { + position = "293.294 184.905 92.2681"; + rotation = "-0.0378191 -0.121634 0.991854 214.279"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.525000 0.625000 1.000000"; + fogDistance = "400"; + fogColor = "0.200000 0.525000 0.625000 1.000000"; + fogVolume1 = "300 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_day_x2.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new Sun() { + position = "696 800 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.850000 0.900000 1.000000 1.000000"; + ambient = "0.300000 0.350000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture2 = "special/LensFlare/flare01"; + texture4 = "special/LensFlare/flare03"; + texture3 = "special/LensFlare/flare02"; + locked = "true"; + texture0 = "special/sunFlare"; + texture1 = "special/sunFlare02"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-DeadlyBirdsSong.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "500"; + locked = "true"; + visibleDistance = "1000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "DeadlyBirdsSong_x2.nav"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "160.018 390.852 222.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "70"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new Item() { + position = "275.225 161.85 90.0165"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new WayPoint() { + position = "160.841 308.826 239.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new SimGroup(Generator) { + + + new StaticShape() { + position = "164.605 311.51 241.197"; + rotation = "0 0 1 90.1837"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "164.844 306.207 244.204"; + rotation = "0 0 1 83.1362"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "154.393 322.315 238.116"; + rotation = "1 0 0 0"; + scale = "13.531 0.12486 7.75176"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "161.045 329.356 252.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "160.811 322.901 246.061"; + rotation = "0.57942 0.578959 -0.573654 239.721"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "275.003 109.409 75.2276"; + rotation = "0.743638 0.27567 -0.609104 62.65"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "276.453 107.588 70.5815"; + rotation = "0.753851 0.270913 -0.598594 61.958"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "160.937 290.181 244.201"; + rotation = "0 0 1 176.333"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "161.079 332.02 238.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "163.008 319.922 246.237"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "161.062 294.958 234.221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_tbunker_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "275.216 161.847 60"; + rotation = "0 0 1 21.1995"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "273.843 158.176 70.0709"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "275.255 161.819 70.0727"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "276.698 165.675 70.1346"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "277.823 160.849 70.1104"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "272.517 162.862 70.1179"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + + new AudioEmitter(wind) { + position = "40.06 -49.5685 140.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "150"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(birds) { + position = "-148.874 396.535 215.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new Item() { + position = "-155.663 -259.897 64.4291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-157.426 -259.068 64.1478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "275.943 168.038 64.0496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "274.99 168.555 64.4733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "140.498 378.513 231.024"; + rotation = "0 0 -1 30.3668"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "146.202 379.246 232.975"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new AudioEmitter(birds) { + position = "169.955 390.663 252.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "6000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new Item() { + position = "145.254 379.192 234.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "140.549 378.501 232.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-409.134 -102.034 255.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-407.08 -99.6412 254.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new AudioEmitter(birds) { + position = "345.036 55.9036 109.389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "-407.328 -99.0926 252.552"; + rotation = "0 0 -1 18.9076"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-409.144 -102.071 252.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-416.002 -97.4241 254.025"; + rotation = "0 -1 0 9.74051"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "177.576 -68.7709 88.7233"; + rotation = "-0.0403308 0.103501 0.993811 212.62"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "168.542 389.244 229.811"; + rotation = "0 0 1 35.5234"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-331.906 74.2449 224.109"; + rotation = "0 0 1 63.0253"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-102.484 -101.008 77.4288"; + rotation = "0 0 1 40.1071"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "194.506 -270.483 74.265"; + rotation = "0 0 1 15.4699"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "347.186 54.6803 90.7651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-432.892 -68.8218 251.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-366.582 -66.487 242.929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "153.717 -147.349 61.3225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "115.11 301.612 240.229"; + rotation = "0 1 0 206.838"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new AudioEmitter(birds) { + position = "-331.393 73.6216 245.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(birds) { + position = "-100.685 -99.288 97.4332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-405.599 -99.3186 241.132"; + rotation = "0 0 1 11.4593"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new WayPoint() { + position = "-325.357 -117.208 252.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + + locked = "true"; + }; + new Item() { + position = "-156.025 -252.904 90.0165"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new SimGroup(Generator) { + + + new StaticShape() { + position = "-323.149 -114.759 258.479"; + rotation = "0 0 1 4.58589"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-328.215 -113.682 255.484"; + rotation = "0 0 1 11.5742"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-338.2 -108.187 252.514"; + rotation = "0 0 1 102.559"; + scale = "13.531 0.12486 7.75176"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-346.502 -113.397 266.398"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-340.19 -114.862 260.35"; + rotation = "-0.114027 -0.98716 0.111858 91.8406"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-105.322 -234.51 56.8729"; + rotation = "0.373738 0.369724 -0.850661 98.6158"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-107.482 -234.483 61.6359"; + rotation = "0.366841 0.366549 -0.855026 98.8923"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-308.315 -122.069 258.489"; + rotation = "0 0 1 97.93"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-349.052 -112.862 253.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-337.014 -113.508 260.48"; + rotation = "0 0 1 10.1989"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-155.998 -252.921 60"; + rotation = "0 0 1 24.0643"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-312.922 -120.906 248.495"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + interiorFile = "tri_tbunker_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-155.969 -252.987 70.0987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-157.597 -256.539 70.0969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-154.297 -249.224 70.1606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-153.464 -254.109 70.1364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-158.64 -251.782 70.1439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Deserted.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Deserted.mis new file mode 100644 index 00000000..357de715 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Deserted.mis @@ -0,0 +1,1268 @@ +// DisplayName = TWL-Deserted +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Here is where I'm supposed to put a poetic and +//insightful quote by someone I will never meet +// --Techlogic +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Open Flag +//8 caps to win +//Map design by Techlogic +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + musicTrack = "lush"; + CTF_timeLimit = "30"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-568 -440 1136 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Deserted.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "200"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "MissionBlank.nav"; + locked = "true"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.049971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.0004"; + cloudSpeed3 = "0.0006"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "100"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 5.02928e+35 -6.44494e+19"; + high_fogVolume2 = "-1 6.54761e-14 3.87169e-36"; + high_fogVolume3 = "-1 2.54737e-08 6.27553e-27"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-416.577 -224.692 112.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-337.859 -63.8519 100.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-336.729 -211.758 131.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "-443.119 -161.025 116.344"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-337.883 -63.6508 102.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + isHome = "1"; + originalPosition = "-337.883 -63.6508 102.086 1 0 0 0"; + WayPoint = "12403"; + team = "1"; + Target = "33"; + }; + new InteriorInstance() { + position = "-336.768 -211.511 102.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-336.856 -211.379 73.4732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-337.74 -64.7266 110.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "1"; + lastProjectile = "24116"; + Target = "34"; + }; + new Turret() { + position = "-443.089 -160.907 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-347.55 -204.196 105.53"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + }; + new Turret() { + position = "-336.72 -211.709 131.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + lastProjectile = "19935"; + Target = "37"; + }; + new StaticShape() { + position = "-336.919 -211.527 137.298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "-336.831 -211.332 105.007"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12284"; + team = "1"; + Target = "39"; + }; + new VehicleBlocker() { + position = "-337.883 -63.6508 102.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "1"; + }; + new StaticShape() { + position = "-346.971 -219.915 105.432"; + rotation = "0 0 1 225.745"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12287"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "-326.783 -202.683 105.494"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "12289"; + team = "1"; + notReady = "1"; + Target = "41"; + }; + new StaticShape() { + position = "-326.133 -218.631 105.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new WayPoint() { + position = "-336.243 -211.127 93.3237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + }; + }; + new SimGroup(base1) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "-443.179 -162.427 117.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "12294"; + team = "1"; + notReady = "1"; + Target = "43"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "397.158 512.663 79.6718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new MissionMarker() { + position = "296.746 352.015 98.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Turret() { + position = "296.579 351.145 107.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "2"; + lastProjectile = "42122"; + Target = "44"; + }; + new VehicleBlocker() { + position = "296.746 352.015 98.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new Item() { + position = "296.746 352.015 98.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + isHome = "1"; + originalPosition = "296.746 352.015 98.6395 1 0 0 0"; + WayPoint = "12404"; + team = "2"; + Target = "45"; + }; + new VehicleBlocker() { + position = "296.746 352.015 98.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new InteriorInstance() { + position = "296.568 351.874 97.127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "298.353 499.773 75.1167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "299.086 499.681 132.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "308.916 492.729 107.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "308.366 508.424 107.174"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12310"; + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "298.786 499.804 106.774"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12312"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "287.785 506.963 107.297"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "288.494 491.196 107.174"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12315"; + team = "2"; + Target = "51"; + }; + new InteriorInstance() { + position = "298.608 499.841 104.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "403.202 426.14 116.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + lastProjectile = "28363"; + Target = "52"; + }; + new TSStatic() { + position = "298.934 499.695 132.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new StaticShape() { + position = "298.415 499.725 138.742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "3247037"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "39966"; + Target = "53"; + }; + new InteriorInstance() { + position = "403.229 427.303 108.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new WayPoint() { + position = "298.729 499.799 95.0809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + }; + }; + new SimGroup(base1) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "403.154 428.395 109.865"; + rotation = "0 0 1 174.752"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "12324"; + team = "2"; + notReady = "1"; + Target = "54"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new Item() { + position = "282.096 430.575 100.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "282.688 430.523 98.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new Item() { + position = "283.667 430.523 100.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "364.982 319.073 106.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "367.423 319.281 105.692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "366.111 319.385 105.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "366.222 319.362 103.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "411.43 428.26 107.148"; + rotation = "-5.96676e-08 -5.96201e-08 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new Item() { + position = "411.829 429.235 109.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-414.812 -32.0734 96.1774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-411.885 -32.3896 96.4188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-413.336 -32.1655 96.0414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-336.609 -211.219 123.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "298.386 500.012 125.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-451.317 -161.865 115.76"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new Item() { + position = "-451.506 -163.104 117.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-296.464 -168.607 106.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-295.283 -168.652 105.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + new Item() { + position = "-294.205 -168.695 107.021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-413.395 -32.1645 94.1414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter(yeti1) { + position = "60.4477 17.5478 102.426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + }; + new AudioEmitter(yeti3) { + position = "-364.071 559.277 122.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "4000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(yeti2) { + position = "423.368 -368.002 120.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3500"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-408.242 -270.76 117.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "388.524 565.34 109.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-238.074 -166.968 94.1655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-437.982 -106.126 103.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-417.644 -264.852 114.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-203.014 -348.409 62.1557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "367.862 337.763 103.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "251.785 429.668 103.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "242.797 569.54 102.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "395.796 562.705 103.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "659.186 37.7166 78.6893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "52.6653 865.569 111.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-640.621 810.402 98.5384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-403.42 370.631 81.2253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-295.734 873.622 106.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "479.442 9.3633 99.6266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-53.8022 803.369 102.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-345.535 562.826 113.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-114.781 613.947 103.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "525.079 -350.104 111.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "346.992 -550.358 98.1985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "262.545 74.358 113.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "304.751 -560.349 110.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "536.615 -312.663 90.5491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-11.2557 323.28 114.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(a1) { + position = "-339.483 -10.1773 117.465"; + rotation = "0 0 1 197.67"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a2) { + position = "-325.974 -201.218 110.137"; + rotation = "0 0 1 204.728"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a3) { + position = "315.122 286.384 116.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a4) { + position = "309.623 509.841 112.298"; + rotation = "0 0 1 209.703"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + isSmurf = "0"; + packetLoss = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "25559"; + isListening = "0"; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + isSmurf = "0"; + packetLoss = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + guid = "386073"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + ping = "0"; + score = "0"; + canListen = "0"; + isAdmin = "1"; + targetId = "32"; + teamId = "1"; + isBot = "0"; + chatMuted = "0"; + clientId = "11841"; + isListening = "0"; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + isSmurf = "0"; + packetLoss = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "25559"; + isListening = "0"; + }; + }; + new MissionMarker() { + position = "-337.883 -63.6508 102.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + isSmurf = "0"; + packetLoss = "0"; + name = "\x10\c7|i| \c6Techlogic\x11"; + guid = "386073"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + ping = "1"; + score = "0"; + canListen = "0"; + isAdmin = "1"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "14078"; + isListening = "0"; + }; + }; + new AudioProfile(QTKSound) { + fileName = "fx/misc/warning_beep.wav"; + description = "AudioGui"; + Preload = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Desiccator.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Desiccator.mis new file mode 100644 index 00000000..22321830 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Desiccator.mis @@ -0,0 +1,2036 @@ +// DisplayName = TWL-Desiccator +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//If survival were my most important goal I would be a mollusk, not a man. +// -- Phoenix Prime Renn Gistos yl-Harabec two days before his assassination, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//[CTF]Destroy force field generator to expose flag +//Low visibility makes sensors critical +//Slight "ski friendly" terrain modification +//Map by Dynamix (Editing: =Sabre=) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "5"; + musicTrack = "desert"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-544 -512 1456 1040"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "TWL-Desiccator.ter"; + squareSize = "8"; + emptySquares = "352974 306527"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant2) { + + powerCount = "0"; + + new TSStatic() { + position = "768.111 -23.2922 173.103"; + rotation = "-0.295901 0.722716 -0.624599 17.5275"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "417.291 216.835 85.2721"; + rotation = "0.255178 -0.619555 -0.742318 28.0373"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "728.214 119.54 130.47"; + rotation = "0.563682 0.40079 0.722239 28.7851"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-223.919 -448.018 79.7296"; + rotation = "-0.0479858 0.0411978 0.997998 123.096"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "527.595 240.055 82.793"; + rotation = "-0.0253531 0.439988 0.897646 24.4368"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "616.267 -121.333 171.944"; + rotation = "0.159859 0.117288 -0.980147 109.089"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "288.008 -368.005 126.2"; + rotation = "-0.0224353 0.0266647 0.999393 144.02"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "79.9883 -360.016 79.1692"; + rotation = "0.0341395 0.0048777 0.999405 90.034"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-48.0273 -399.955 117.834"; + rotation = "-0.112089 -0.270249 0.956243 74.4548"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "31.5653 -215.851 123.348"; + rotation = "-0.28954 -0.463409 -0.837508 30.8229"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "368.245 248.221 82.8319"; + rotation = "0.0557386 0.0204408 0.998236 136.071"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "304.063 359.928 124.365"; + rotation = "0.0441373 0.00773768 -0.998995 63.0512"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-40.0221 -15.9325 80.7271"; + rotation = "0.48298 0.103873 -0.869449 13.7853"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "608.8 39.418 120.149"; + rotation = "-0.212118 0.0761162 0.974275 238.588"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "736 135.993 127.019"; + rotation = "-0.0125533 0.0709939 0.997398 207.93"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "391.998 -344.047 174.439"; + rotation = "0.0639026 0.0355794 0.997322 64.1381"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "215.951 -399.864 85.9865"; + rotation = "-0.27506 -0.220292 0.935849 40.4002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "24 -48 125.819"; + rotation = "0.506036 -0.0399345 -0.861587 12.7535"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "288.023 495.997 126.282"; + rotation = "0.0268475 0.478997 0.877406 7.97514"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "559.981 360 78.4564"; + rotation = "-0.0117044 -0.00717245 -0.999906 117.005"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "535.969 327.978 81.1341"; + rotation = "0.029475 -0.173489 -0.984395 51.7037"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "311.745 -24.5785 155.48"; + rotation = "0.21688 -0.170863 0.961129 38.3888"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-112 -256 80.0063"; + rotation = "0.123258 0.0535395 -0.990929 64.4703"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-207.977 -8.03419 126.296"; + rotation = "-0.0344106 0.039214 0.998638 193.981"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "464.468 56.0607 81.4498"; + rotation = "-0.10204 -0.130133 -0.986232 91.7936"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "552 -168 125.519"; + rotation = "0.01703 0.0330607 0.999308 75.0386"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "456.061 -0.0338417 80.3501"; + rotation = "0.0838583 -0.0302465 0.996019 197.929"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-72.0222 255.958 125.483"; + rotation = "0.0324809 -0.0618773 -0.997555 69.1308"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "719.863 223.99 124.505"; + rotation = "0.036733 0.0194095 0.999137 226.964"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "48 328 126.706"; + rotation = "0.0309778 -0.0651789 0.997393 192.966"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "616.388 -248.309 170.039"; + rotation = "0.0868295 0.00147936 -0.996222 101.213"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "671.891 343.995 78.3663"; + rotation = "-0.0560538 -0.525561 -0.848907 19.9693"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "167.558 95.983 150.516"; + rotation = "0.182523 -0.365783 0.912627 214.633"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "767.87 368.035 78.0664"; + rotation = "0.0142451 -0.230612 0.972942 37.9563"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "159.99 23.9157 88.4395"; + rotation = "0.00596013 0.0230351 0.999717 165.004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "648.001 136.004 125.369"; + rotation = "-0.0186543 0.0189735 -0.999646 68.0187"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "135.999 367.926 126.208"; + rotation = "-0.0363399 0.062677 -0.997372 118.133"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "183.93 152.412 130.278"; + rotation = "0.253723 -0.00833352 -0.967241 23.7572"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "682.096 240.58 136.56"; + rotation = "0.153001 0.00393266 0.988218 152.317"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "400 -496 78.1438"; + rotation = "-0.531882 -0.310647 -0.787781 11.4098"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "719.987 -376.001 158.461"; + rotation = "-0.0649522 -0.0209373 0.997669 208.935"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "599.852 480.052 77.2144"; + rotation = "-0.0812358 -0.0730859 -0.994012 57.289"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "656.006 95.9945 125.65"; + rotation = "0.0083347 0.0451933 0.998944 69.0569"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-40.0097 239.965 125.145"; + rotation = "0.00594886 0.0172731 0.999833 173.001"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "464.18 72.0038 79.9398"; + rotation = "0.0919192 -0.080692 0.992492 95.4303"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "296 408 127.675"; + rotation = "-0.0231866 0.175944 -0.984127 93.9152"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-56.2336 -487.836 167.966"; + rotation = "-0.00294143 -0.0662612 0.997798 65.1143"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "272 456 125.769"; + rotation = "-0.0264261 0.00259755 0.999647 225.985"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-24.4797 -95.9075 170.496"; + rotation = "0.068431 -0.0757721 0.994774 106.288"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-79.9799 -183.953 124.752"; + rotation = "-0.0159015 -0.0278168 0.999487 167.007"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "-48 -272 82.2"; + rotation = "0 0 1 163"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "160 -312 78.9813"; + rotation = "0 0 -1 58.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "48 -136 170.319"; + rotation = "0 0 1 82.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "528 304 87.2437"; + rotation = "0 0 1 94.9998"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "296 -112 157.244"; + rotation = "0 0 1 205"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-195.998 360.14 123.988"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "648 440 68.6563"; + rotation = "0 0 -1 31.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "344 496 156.162"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-200 -56 125.625"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "488 192 77.875"; + rotation = "0 0 1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "16 -328 125.075"; + rotation = "0 0 1 39"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "336 376 129.819"; + rotation = "0 0 1 226"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "720 -384 158.506"; + rotation = "0 0 1 58.9997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-64 -160 127.131"; + rotation = "0 0 1 41"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "8 -48 126.081"; + rotation = "0 0 1 188"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "512 -288 76.8937"; + rotation = "0 0 -1 5.99979"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "768 344 78.125"; + rotation = "0 0 -1 29"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "632 24 130.35"; + rotation = "0 0 -1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "160 -16 88.7688"; + rotation = "0 0 1 134"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328 -200 130.25"; + rotation = "0 0 -1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "144 16 90.6438"; + rotation = "0 0 1 96.0002"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "488 464 75.075"; + rotation = "0 0 -1 102"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "232 216 125.8"; + rotation = "0 0 1 165"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "536 -392 125.663"; + rotation = "0 0 -1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Desiccator.nav"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.600000 0.600000 1.000000"; + fogDistance = "400"; + fogColor = "0.800000 0.600000 0.400000 1.000000"; + fogVolume1 = "150 0 500"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 173.831879"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 187.134155"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 637.846008"; + high_visibleDistance = "-1"; + high_fogDistance = "1"; + high_fogVolume1 = "0 0 0"; + high_fogVolume2 = "-1 50 1.7938e-41"; + high_fogVolume3 = "-1 0 7.19337e-22"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-259.499 -27.9938 133.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new StaticShape(Team1StationInventory1) { + position = "-271.458 -20.9746 143.7"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Target = "33"; + Trigger = "35521"; + team = "1"; + notReady = "1"; + }; + new WayPoint() { + position = "-252.301 362.986 131.894"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Force Field Generator"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Force Field Generator"; + team = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-267.494 -26.329 125.696"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new Item(Team1FLAG1) { + position = "-268.079 -26.5093 163.709"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + stand = "35532"; + Target = "34"; + team = "1"; + WayPoint = "35641"; + Trigger = "35642"; + originalPosition = "-268.079 -26.5093 163.709 0 0 1 1.5708"; + isHome = "1"; + }; + new Turret(Team1SentryTurret2) { + position = "-349.36 -122.453 187.701"; + rotation = "0 0 1 55.5769"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + Target = "35"; + team = "1"; + }; + new Item() { + position = "-340.802 -126.651 201.409"; + rotation = "1 0 0 0"; + scale = "1 1 1.0303"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "-349.613 -129.603 200.67"; + rotation = "-0 0 -1 34.3775"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "36"; + team = "1"; + }; + new StaticShape(Team1StationInventory2) { + position = "-353.853 -121.094 200.873"; + rotation = "0 0 1 187.93"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "37"; + Trigger = "35530"; + team = "1"; + }; + new InteriorInstance() { + position = "-237.968 16.3529 131.4"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-268.123 -26.4974 163.6"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + FLAG = "35524"; + locked = "true"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "-349.265 -122.249 172.62"; + rotation = "0 0 1 53.858"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-331.22 -140.381 200.314"; + rotation = "0 0 1 55.0039"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "38"; + team = "1"; + }; + new StaticShape() { + position = "-251.549 15.8776 131.1"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + mobileBaseVehicle = "Removed"; + locked = "true"; + Target = "39"; + station = "35655"; + team = "1"; + }; + new StaticShape(Team1StationInventory3) { + position = "-348.452 -117.503 200.709"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "40"; + Trigger = "35537"; + team = "1"; + }; + }; + new SimGroup(FFGens) { + + powerCount = "1"; + + new Item() { + position = "-227.803 363.086 159.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "-254.142 363.016 131.9"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "41"; + team = "1"; + }; + new SimGroup(ForceFieldH) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "-273.547 -17.3856 163.53"; + rotation = "0 0 1 90"; + scale = "0.502035 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "42"; + team = "1"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + new InteriorInstance() { + position = "-228.564 363.027 130.407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new SimGroup(ForcefieldE) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "-276.373 -32.4551 163.666"; + rotation = "1 0 0 0"; + scale = "0.498016 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "43"; + team = "1"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + new SimGroup(ForceFieldF) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "-259.145 -32.3896 163.633"; + rotation = "1 0 0 0"; + scale = "0.498154 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "44"; + team = "1"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + new SimGroup(ForceFieldG) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "-273.597 -34.6506 163.156"; + rotation = "0 0 1 90"; + scale = "0.498634 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "45"; + team = "1"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "678.046 82.7083 126.199"; + rotation = "0 0 1 177.044"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "625.397 208.252 174.162"; + rotation = "0 0 1 170.351"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "40"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + powerCount = "1"; + + new Item(Team2FLAG1) { + position = "687.38 85.09 163.294"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + stand = "35566"; + Target = "46"; + team = "2"; + WayPoint = "35643"; + Trigger = "35644"; + originalPosition = "687.38 85.09 163.294 0 0 1 1.5708"; + isHome = "1"; + }; + new InteriorInstance() { + position = "686.457 84.8348 125.291"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2StationInventory1) { + position = "690.544 79.3884 143.29"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Target = "47"; + Trigger = "35564"; + team = "2"; + notReady = "1"; + }; + new InteriorInstance() { + position = "623.913 209.075 169.669"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "687.395 85.1503 163.213"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + FLAG = "35560"; + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "630.925 184.648 197.449"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "48"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "622.254 201.902 197.715"; + rotation = "0 0 -1 24.0642"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "49"; + team = "2"; + }; + new Item() { + position = "631.451 203.229 198.458"; + rotation = "1 0 0 0"; + scale = "1 1 1.0303"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new Turret(Team2SentryTurret1) { + position = "623.783 208.891 184.75"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + Target = "50"; + team = "2"; + }; + new InteriorInstance() { + position = "691.614 35.2041 131.4"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2StationInventory2) { + position = "625.44 213.392 197.67"; + rotation = "0 0 1 105.424"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "51"; + Trigger = "35573"; + team = "2"; + }; + new StaticShape(Team2StationInventory3) { + position = "619.613 210.758 197.67"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "52"; + Trigger = "35575"; + team = "2"; + }; + new StaticShape() { + position = "701.907 35.0144 131.1"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + mobileBaseVehicle = "Removed"; + locked = "true"; + Target = "53"; + station = "35657"; + team = "2"; + }; + new WayPoint() { + position = "650.124 -237.157 171.546"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Force Field Generator"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Force Field Generator"; + team = "2"; + + locked = "true"; + }; + }; + new SimGroup(FFGens) { + + powerCount = "1"; + + new InteriorInstance() { + position = "626.391 -237.229 170.075"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "651.951 -237.155 171.57"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "54"; + team = "2"; + }; + new Item() { + position = "632.546 -237.517 199.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new SimGroup(ForceFieldA) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "694.819 78.7717 163.013"; + rotation = "1 0 0 0"; + scale = "0.551331 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "55"; + team = "2"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + new SimGroup(ForceFieldB) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "677.493 78.6921 162.902"; + rotation = "1 0 0 0"; + scale = "0.536683 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "56"; + team = "2"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + new SimGroup(ForceFieldC) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "680.335 93.3698 163.336"; + rotation = "1 0 0 0"; + scale = "12.1661 0.466393 16.4208"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "57"; + team = "2"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + new SimGroup(ForceFieldD) { + + powerCount = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "680.412 75.9156 163.048"; + rotation = "1 0 0 0"; + scale = "12.1661 0.535919 16.4208"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "58"; + team = "2"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + }; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "677.853 220.083 214.081"; + rotation = "0 0 1 214.859"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "724.202 84.2594 181.543"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "657.762 -273.766 197.603"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "268.639 -105.833 172.127"; + rotation = "0.00271684 -0.122932 0.992411 177.487"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-203.354 390.586 183.105"; + rotation = "-0.0561174 -0.178747 0.982293 214.278"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Environmental) { + + powerCount = "0"; + + new InteriorInstance() { + position = "516.575 -28.3364 121.6"; + rotation = "0 0 1 193.178"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "481.549 -20.0535 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "458.35 -14.7034 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "435.176 -9.27749 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "411.971 -3.83609 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-139.896 3.23059 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-118.748 -7.75861 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-97.6377 -18.749 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-76.5272 -29.7393 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-44.5953 -46.3633 122.955"; + rotation = "0 0 1 207.502"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "237.727 279.831 104.27"; + rotation = "-0.0169123 0.00999195 0.999807 67.4196"; + scale = "1.3159 0.865459 0.840546"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "572.87 -39.2623 137.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "267.465 213.832 140.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-247.952 -115.057 129.042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "189.879 20.4425 80.9642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "309.836 -315.076 134.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "161.141 -229.016 144.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "292.188 458.016 150.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "103.57 287.084 126.411"; + rotation = "0.117535 0.422326 -0.898791 18.589"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "270.634 -124.966 155.746"; + rotation = "-0.0817868 0.0746787 0.993848 85.15"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + locked = "true"; + }; + new AudioEmitter() { + position = "270.832 -127.45 165.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "102.07 285.16 129.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "1000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-0.1425 -135.063 176.048"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "45000"; + maxLoopGap = "90000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "214.111 -15.9139 145.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "75000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-52.5643 -275.652 107.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "83.44 163.931 88.9308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "511.435 95.4149 86.8687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "641.802 118.866 134.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-201.563 -1.4155 139.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "140.649 -127.001 163.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new InteriorInstance() { + position = "640.638 90.5208 126.668"; + rotation = "0 0 -1 22.9183"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "400.572 47.0657 128.687"; + rotation = "0 0 -1 26.929"; + scale = "1 1 1.22433"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-215.289 -75.4966 125.886"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-221.276 -67.9314 126.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Drifts.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Drifts.mis new file mode 100644 index 00000000..8d20c256 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Drifts.mis @@ -0,0 +1,1089 @@ +// Displayname = TWL-Drifts +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//History is the version of past events that people have decided to agree upon. +// -- Napoleon Bonaparte +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//No vehicle stations +//Map by powdahound (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + CTF_scoreLimit = "5"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "30"; + + new MissionArea(MissionArea) { + area = "-576 -584 1168 1168"; + flightCeiling = "500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.770000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Drifts.ter"; + squareSize = "8"; + + hazeDistance = "400"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "600"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "Drifts_x2.nav"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1224 -984 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.0003"; + cloudSpeed3 = "0.0004"; + visibleDistance = "425"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.450000 0.450000 0.600000 1.000000"; + fogDistance = "200"; + fogColor = "0.450000 0.450000 0.600000 1.000000"; + fogVolume1 = "600 100 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.45315e-42 2.20406e-39"; + high_fogVolume2 = "-1 1.66922e-36 3.67342e-40"; + high_fogVolume3 = "-1 2.29592e-39 9.36725e-39"; + + cloudSpeed0 = "6.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-13.5112 -373.874 227.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-11.6276 -366.785 228.223"; + rotation = "0 0 -1 0.752771"; + scale = "1 1 1"; + interiorFile = "dbunk5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-24.7761 -379.774 236.196"; + rotation = "0 0 1 178.945"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "29.5808 -232.629 282.246"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(sensor2) { + position = "29.6142 -230.701 286.731"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-3.75965 -369.824 236.196"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Maingen1) { + position = "0.940105 -374.231 222.211"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-11.4063 -374.822 222.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "-11.6255 -361.269 245.702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-24.1829 -377.461 222.19"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-11.5334 -374.758 248.001"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-11.5334 -374.784 247.716"; + rotation = "0 0 -1 0.688699"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-32.6491 375.797 190.199"; + rotation = "0 1 0 1.14602"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-30.3683 365.04 225.138"; + rotation = "0 0 1 170.924"; + scale = "1 1 1"; + interiorFile = "dbunk5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-93.2862 243.678 262.074"; + rotation = "-0.00353554 0.707102 0.707102 0.810836"; + scale = "0.5 0.5 0.5"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(MainGen3) { + position = "-43.9962 370.454 219.087"; + rotation = "0 0 -1 8.02118"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-19.5798 379.695 233.126"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-31.6015 372.859 219.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-38.6234 366.946 233.15"; + rotation = "0 0 1 124.904"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-29.523 359.593 242.619"; + rotation = "0 0 1 170.809"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape(sensor1) { + position = "-93.3581 241.736 266.555"; + rotation = "0 0 1 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-19.4443 377.539 219.122"; + rotation = "0 0 1 82.5059"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-31.4946 372.629 244.912"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-31.4946 372.599 244.627"; + rotation = "0 0 -1 10.3132"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new Precipitation(Precipitation) { + position = "11.3315 -64.9933 96.0366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "6"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new TSStatic() { + position = "113.95 121.396 213.38"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "397.156 132.243 221.642"; + rotation = "0 0 -1 37.2423"; + scale = "3 3 1.84368"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-336.036 -199.7 295.085"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-121.337 -56.6802 170.475"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "189.307 -79.0292 197.997"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.789 118.654 238.531"; + rotation = "0 0 1 70.4738"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-311.224 202.651 261.38"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-479.005 319.398 328.285"; + rotation = "0 0 1 89.3814"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-267.528 503.307 271.048"; + rotation = "0 0 1 113.446"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-96.7627 415.52 219.255"; + rotation = "0 0 -1 4.58367"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "194.347 446.355 277.392"; + rotation = "0 0 -1 90.5273"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.1311 349.216 217.007"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508.771 -93.2431 256.14"; + rotation = "0 0 -1 87.0896"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "575.932 502.379 229.168"; + rotation = "0 0 1 2.8649"; + scale = "1.2 1.2 4"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy(Fire) { + position = "574.241 503.178 273.058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "BeforeT5"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy(sparks) { + position = "574.405 503.185 273.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DebrisFireEmitter"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy(test) { + position = "574.25 503.421 273.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "FlareEmitter"; + velocity = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "573.038 502.422 265.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.3481 -42.8411 108.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1300"; + maxDistance = "1301"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.3481 -42.8411 108.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icefall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1300"; + maxDistance = "1301"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "600"; + minLoopGap = "50000"; + maxLoopGap = "100000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.3481 -41.8411 109.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "600"; + minLoopGap = "3000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + + new TSStatic() { + position = "219.657 -306.953 234.676"; + rotation = "0 0 1 81.9329"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "56.5662 -420.172 211.302"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-45.8699 -257.401 234.315"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-446.775 -17.4375 316.9"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-57.872 219.096 201.258"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "407.826 -419.864 265.509"; + rotation = "0 0 -1 63.0253"; + scale = "3 3 3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "96.9227 -89.4221 206.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-33.2806 99.9206 150.259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28.301 -35.0309 149.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228.424 -7.03546 228.049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-353.103 13.7403 307.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.171 285.158 294.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-386.272 448.983 310.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-213.262 702.685 238.507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420.547 592.752 226.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-397.715 708.784 234.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-85.4569 693.486 246.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "128.37 705 238.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "257.238 625.228 232.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.193 472.862 281.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "335.605 459.44 278.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "521.271 347.564 235.031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "537.448 248.919 253.471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "530.163 266.639 243.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "710.947 139.794 228.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "727.198 -18.3066 221.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "667.891 -91.1884 195.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700.029 -115.682 201.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "699.991 -81.6534 204.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "583.71 -219.322 219.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500.216 -446.381 285.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "371.427 -585.528 227.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-18.0593 -586.206 255.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-154.873 -651.16 255.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-338.851 -643.27 235.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-464.217 -693.824 256.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-503.847 -715.679 251.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540.745 -686.72 246.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-662.739 -551.661 221.546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716.994 -418.379 209.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-775.297 -283.191 218.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-637.662 -265.412 217.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-555.936 -149.5 229.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(observer2) { + position = "-41.041 365.555 255.64"; + rotation = "0.719815 -0.257871 0.644491 58.1358"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(observer2) { + position = "-33.0457 -380.539 256.755"; + rotation = "0.30384 -0.212017 0.928833 73.8319"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(observer2) { + position = "-26.0605 -380.799 228.644"; + rotation = "0.377195 -0.197968 0.904728 60.237"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(observer2) { + position = "-44.4802 365.906 230.347"; + rotation = "0.816184 -0.292395 0.498346 71.4226"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "29.5686 -232.614 278.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-93.2163 243.697 258.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Feign.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Feign.mis new file mode 100644 index 00000000..96532a8b --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Feign.mis @@ -0,0 +1,866 @@ +// DisplayName = TWL-Feign +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//With your hand on a hot stove, fifteen seconds can seem like fifteen minutes. Fifteen minutes can seem like fifteen seconds when you are with a pretty woman. That's the theory of relativity. +// -- Albert Einstein +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Mountain in between +//Map by Pretend (Editing: JimBodkins) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-816 -656 1344 1264"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.400000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Euro_Feign.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + GraphFile = "TWL-Euro_Feign.nav"; + YDimOverSize = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.220000 0.400000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.000000 0.050000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dusk.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -1.65442e-25 -1.03393e+31"; + high_fogVolume2 = "-1 -0.00011166 -4.05398e+26"; + high_fogVolume3 = "-1 -7.70034e-28 -3.23517e+12"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "226.872 218.055 77.7703"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "-199.571 232.863 123.509"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "30"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + powerCount = "2"; + + new InteriorInstance() { + position = "152.971 158.779 89.7588"; + rotation = "0 0 -1 37.2426"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "268.606 38.9625 150.441"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new Turret() { + position = "-197.594 157.264 141.466"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "165.057 281.229 109.312"; + rotation = "0 0 1 88.9133"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3532"; + Target = "35"; + }; + new StaticShape() { + position = "-195.806 181.607 123.77"; + rotation = "0 0 1 89.7718"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "36"; + }; + new InteriorInstance() { + position = "157.98 290.94 107.275"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "151.202 280.94 109.222"; + rotation = "0 0 -1 91.2828"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3536"; + Target = "37"; + }; + new StaticShape() { + position = "-197.69 151.896 121.715"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Trigger = "3538"; + Target = "38"; + }; + new InteriorInstance() { + position = "268.457 38.828 141.182"; + rotation = "0 0 -1 47.5558"; + scale = "0.736919 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-194.096 172.821 118.754"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Trigger = "3541"; + Target = "39"; + }; + }; + new Item() { + position = "164.912 162.829 77.7752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "1"; + WayPoint = "3615"; + Trigger = "3616"; + isHome = "1"; + Target = "40"; + originalPosition = "164.912 162.829 77.7752 1 0 0 0"; + }; + new Item() { + position = "157.904 297.38 109.623"; + rotation = "0 0 1 173.605"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-193.929 168.051 121.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-193.864 169.414 121.701"; + rotation = "0 0 -1 13.1783"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-192.366 168.465 121.736"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-478.867 -283.906 106.638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "70"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "-6.89012 -383.749 136.972"; + rotation = "0 0 -1 105.997"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "30"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + powerCount = "2"; + + new InteriorInstance() { + position = "-420.981 -273.364 108.055"; + rotation = "0 0 -1 28.6485"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-502.14 -156.999 149.272"; + rotation = "0 0 1 35.5236"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "41"; + }; + new StaticShape() { + position = "-25.0809 -337.295 140.416"; + rotation = "0 0 -1 104.461"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "-30.1221 -307.947 138.41"; + rotation = "0 0 -1 13.7533"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Trigger = "3557"; + Target = "43"; + }; + new InteriorInstance() { + position = "-424.442 -371.516 131.835"; + rotation = "0 0 1 8.5942"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-429.697 -360.709 133.874"; + rotation = "-0 0 -1 81.933"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "2"; + Trigger = "3560"; + Target = "44"; + }; + new StaticShape() { + position = "-416.087 -362.759 133.804"; + rotation = "0 0 1 99.8771"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "2"; + Trigger = "3562"; + Target = "45"; + }; + new Turret() { + position = "-28.7987 -313.126 158.27"; + rotation = "0 0 -1 13.1783"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "46"; + }; + new InteriorInstance() { + position = "-502.351 -157.16 140.013"; + rotation = "0 0 -1 55.0041"; + scale = "0.706159 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-28.6415 -329.172 135.4"; + rotation = "0 0 -1 13.7514"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "3566"; + Target = "47"; + }; + new InteriorInstance() { + position = "-28.9422 -312.538 128.372"; + rotation = "0 0 1 166.34"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1_x.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + new Item() { + position = "-408.553 -271.093 96.0714"; + rotation = "0 0 -1 42.3988"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "2"; + WayPoint = "3617"; + Trigger = "3618"; + isHome = "1"; + Target = "48"; + originalPosition = "-408.553 -271.093 96.0714 0 0 -1 0.739999"; + }; + new Item() { + position = "-425.464 -377.921 134.08"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-29.6195 -324.501 138.524"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "-31.5326 -324.923 138.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.1898 -325.915 138.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-291.341 -350.828 97.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "21.5818 280.142 73.5149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "142.887 112.296 85.3215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "175.144 280.079 107.227"; + rotation = "0 0 1 230.512"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-440.608 -360.202 134.376"; + rotation = "0.0150149 0.0050225 0.999875 180.083"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-474.575 25.3285 90.6866"; + rotation = "0 0 -1 3.43998"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-49.0347 -334.706 124.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-174.909 172.823 108.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "197.784 104.169 96.1827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "-367.089 -245.436 103.583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new InteriorInstance() { + position = "-165.677 242.419 113.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "200.156 -170.754 87.6593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-191.138 -271.386 94.1454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "56.5597 -120.984 113.047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "195.969 -174.216 87.4077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-469.935 31.8164 86.1665"; + rotation = "0 0 1 52.7123"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "18.0571 276.81 74.6614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-321.115 64.89 88.2739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "-321.104 62.6926 87.9034"; + rotation = "0 0 1 52.7123"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "179.842 -168.763 86.3594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-155.869 -413.506 117.144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-93.1473 148.169 83.8434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "1"; + }; + new TSStatic() { + position = "84.7227 -132.661 104.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-92.7365 -293.259 98.8376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-502.384 -241.24 105.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "1"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera2a) { + position = "-509.501 -314.795 153.483"; + rotation = "0.224242 -0.172846 0.959083 77.5769"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera(Camera1a) { + position = "243.574 256.6 123.165"; + rotation = "-0.0391671 -0.0698888 0.996786 238.377"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + }; + new WayPoint() { + position = "-23.5558 -335.942 141.556"; + rotation = "0 0 1 165.585"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + + locked = "false"; + }; + new WayPoint() { + position = "-197.597 180.762 125.245"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-197.6 156.659 111.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1_x.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimSet() { + + new ScriptObject() { + + voiceEnabled = "0"; + isSuperAdmin = "1"; + ping = "27"; + className = "PlayerRep"; + guid = "0"; + name = "\x10\c8JimBodkins\x11"; + packetLoss = "0"; + clientId = "10724"; + isListening = "0"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "2"; + isBot = "0"; + targetId = "32"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + }; + }; + new TSStatic() { + position = "-368.597 -234.838 103.402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "303.952 192.066 82.2142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Frostclaw.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Frostclaw.mis new file mode 100644 index 00000000..80267259 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Frostclaw.mis @@ -0,0 +1,1567 @@ +// DisplayName = TWL-Frostclaw +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Unwarmed by any sunset light +//The gray day darkened into night, +//A night made hoary with the swarm +//And whirl-dance of the blinding storm +// -- John Greenleaf Whittier +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//10 caps to win +//No Turrets, Generators, or Inventory Stations +//Energy and health packs are at main bases +//Various other weapons are strewn about the map +//Map by Killin is fun +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "10"; + musicTrack = "ice"; + cdTrack = "5"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-672 -520 1344 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-536 -392 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "TWL-Frostclaw.ter"; + squareSize = "8"; + emptySquares = "357964 358063 358220 358319 358476 358575 358732 358831 296525 296623 362316 362415 362572 362671 362828 362927"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + GraphFile = "frostclaw.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-536 -392 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.800000 0.800000 0.800000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "kif_iceday.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "336.86 -1.18799 75.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "455.752 -1.4042 75.7039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "387.723 0.9248 65.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "frostclawbase.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "1"; + }; + new SimGroup(Packs) { + powerCount = "1"; + + new Item() { + position = "451.675 28.9579 72.5055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.727 20.8871 71.5498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.746 12.8912 71.5498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.752 4.90191 71.5498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.794 -11.0414 71.5498"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.709 -3.01211 71.5498"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.721 -18.9487 71.5498"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "451.753 -26.9282 72.4388"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.655 28.9486 72.3984"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.707 20.8778 71.4427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.727 12.8819 71.4427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.732 4.89257 71.4427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.775 -11.0507 71.4427"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.689 -3.02145 71.4427"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.702 -18.958 71.4427"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "339.733 -26.9375 72.3317"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "332.843 -8.65435 73.3681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "332.843 -11.6544 73.3681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "332.843 -14.4544 73.3681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "332.747 17.177 73.2311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "332.747 14.177 73.2311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "332.747 11.377 73.2311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "458.736 -8.23307 73.0104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "458.736 -11.2331 73.0104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "458.736 -14.0331 73.0104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "458.841 15.9157 73.1683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "458.841 12.9156 73.1683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "458.841 10.1156 73.1683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + }; + }; + new Item() { + position = "395.699 0.925091 65.8995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "395.699 0.925091 65.9035 1 0 0 0"; + className = "FlagObj"; + WayPoint = "3888"; + isHome = "1"; + Target = "33"; + team = "1"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-457.663 -1.56006 75.2825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-330.703 1.07484 73.6785"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "-404.643 0.850464 66.4484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "frostclawbase.dif"; + showTerrainInside = "0"; + locked = "1"; + team = "2"; + }; + new SimGroup(Packs) { + powerCount = "1"; + + new Item() { + position = "-340.717 28.8302 73.5157"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.665 20.7594 72.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.646 12.7635 72.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.64 4.7742 72.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.683 -3.13982 72.56"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.598 -11.1691 72.56"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.671 -19.0764 72.56"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-340.639 -27.0559 73.449"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.709 28.8575 73.5465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.657 20.7867 72.5908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.638 12.7908 72.5908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.632 4.80148 72.5908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.59 -11.1418 72.5908"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.675 -3.11254 72.5908"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.663 -19.0491 72.5908"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-452.631 -27.0286 73.4798"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-459.674 13.5608 74.3156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.674 10.7608 74.3156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.674 16.5608 74.3156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.621 -8.86518 74.3008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.621 -11.8652 74.3008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.621 -14.6652 74.3008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-333.761 15.9268 74.1624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-333.761 12.9268 74.1624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-333.761 10.1268 74.1624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-333.433 -8.67471 74.8054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-333.433 -11.6747 74.8054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-333.433 -14.4747 74.8054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + }; + }; + new Item() { + position = "-396.643 0.850464 66.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "-396.643 0.850464 66.9609 1 0 0 0"; + className = "FlagObj"; + WayPoint = "3889"; + isHome = "1"; + Target = "34"; + team = "2"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + }; + new SimGroup(treesandrocks) { + powerCount = "0"; + + new InteriorInstance() { + position = "288.006 -114.51 136.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "418.253 297.086 194.249"; + rotation = "-1 0 0 116.883"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "441.165 280.698 201.884"; + rotation = "0.575883 0.696624 -0.427871 218.958"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "425.677 283.686 193.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-66.6167 333.162 120.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-74.5913 311.508 111.211"; + rotation = "0.464538 0.544328 0.698506 85.9444"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.57225 105.505 136.353"; + rotation = "0 0 -1 83.6518"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new InteriorInstance() { + position = "-20.7685 -357.232 122.332"; + rotation = "1 0 0 96.2569"; + scale = "1.57943 1.34181 2.40058"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.95836 -49.6022 130.114"; + rotation = "0 0 1 5.72956"; + scale = "2 2 2"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.3954 -416.504 171.421"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "192.73 418.086 206.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "479.872 -349.635 144.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "468.378 -351.722 145.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "462.659 -352.188 145.272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "469.398 -336.327 143.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "449.991 -105.393 128.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "453.986 -107.075 127.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "456.052 -109.171 129.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "452.632 -108.296 128.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "455.678 -105.706 129.307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "149.757 -219.157 159.653"; + rotation = "-1 0 0 17.1887"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "151.246 -231.661 153.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "151.901 -228.696 154.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "141.045 -227.903 157.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "160.895 -219.768 157.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "139.469 -226.379 158.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "140.788 -216.183 163.771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "144.335 -220.345 160.547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-207.322 -125.844 170.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-211.773 -129.822 170.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-209.718 -127.462 170.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-201.495 -124.84 170.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-218.201 -136.886 167.409"; + rotation = "-0.138432 -0.286576 0.948004 54.0022"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-216.253 -122.046 169.801"; + rotation = "0 0 1 71.0468"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "432.828 287.853 193.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "434.009 285.395 194.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "432.033 285.151 193.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "429.447 287.687 193.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "430.637 286.665 193.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "429.875 284.401 193.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new InteriorInstance() { + position = "-555.198 -194.309 239.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-587.811 461.773 176.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-205.188 792.947 198.26"; + rotation = "0 0 1 25.7831"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1013.71 -281.33 185.532"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "992.235 308.667 161.491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-323.587 -764.917 162.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "336.69 -606.468 90.3547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "189.577 805.549 201.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-188.987 -129.137 175.514"; + rotation = "-0.10746 -0.1042 -0.988734 88.8845"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-397.995 -5.44946 67.6142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-28.2386 30.9999 197.783"; + rotation = "0 0 1 158.136"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "174.147 -83.3727 207.366"; + rotation = "0 0 1 229.939"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "371.153 -241.599 259.442"; + rotation = "0.893781 -0.0536913 0.445278 15.3667"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "455.769 89.2063 156.565"; + rotation = "0.00905359 0.00999942 -0.999909 95.6891"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(weaponsandpacks) { + + new Item() { + position = "12.541 103.369 163.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "8.654 104.911 163.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "4.13861 104.544 162.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-72.2068 311.676 121.008"; + rotation = "0 0 1 69.9009"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-57.8114 330.983 124.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-70.4987 306.096 117.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-68.1362 305.859 117.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-66.3489 307.33 118.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-58.2468 334.821 124.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-55.7001 332.578 123.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-56.5448 334.192 124.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-67.5888 302.625 115.817"; + rotation = "-1 0 0 18.9075"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-57.3383 342.887 126"; + rotation = "-1 0 0 18.3346"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new Item() { + position = "20.5975 -53.8752 133.987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "12.7903 -62.9256 135.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "3.87828 -70.8238 137.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-18.274 -55.9226 133.257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-16.4321 -353.122 115.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-18.6885 -352.775 115.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new Item() { + position = "-8.27746 -65.6186 134.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Frozen.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Frozen.mis new file mode 100644 index 00000000..d8bf5a2d --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Frozen.mis @@ -0,0 +1,1386 @@ +// DisplayName = TWL-Frozen +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//I'm tired of looking for witty quotes to put here. +// --Techlogic +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//6 caps to win +//Medium Size Vehicle Map +//Solar panels power base forcefields +//Map design by Techlogic +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "5"; + musicTrack = "Ice"; + powerCount = "0"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-744 -976 1296 1856"; + flightCeiling = "200"; + flightCeilingRange = "0"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Frozen.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "UltimaThule.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.400000 0.500000 1.000000"; + fogDistance = "450"; + fogColor = "0.500000 0.650000 0.500000 1.000000"; + fogVolume1 = "350 0 165"; + fogVolume2 = "550 165 200"; + fogVolume3 = "900 200 235"; + materialList = "nef_Surreal1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.698405 0.312531"; + high_fogVolume2 = "-1 -0.463241 0.312531"; + high_fogVolume3 = "-1 -0.698405 5.2245e-08"; + + locked = "true"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-142.19 -600.613 18.0214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-107.405 -497.74 65.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_base1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-105.974 -493.745 53.4822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-109.051 -502.023 53.4822"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-95.5864 -484.478 53.6377"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22308"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-119.263 -511.097 53.5904"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22310"; + team = "1"; + Target = "36"; + }; + new InteriorInstance() { + position = "-104.344 -491.752 70.127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-146.244 -700.687 64.3704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-131.584 -737.336 66.3998"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22314"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "-160.982 -737.493 66.3998"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "22316"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "-146.232 -707.857 63.3356"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + inUse = "Down"; + team = "1"; + AssaultVehicle = "removed"; + Target = "39"; + mobileBaseVehicle = "removed"; + station = "22480"; + }; + new InteriorInstance() { + position = "-107.531 -497.995 53.3524"; + rotation = "1 0 0 0"; + scale = "0.4 0.4 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-107.551 -497.966 53.3524"; + rotation = "0 0 -1 89.9544"; + scale = "0.4 0.4 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-107.18 -497.632 66.8503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "1"; + WayPoint = "22468"; + isHome = "1"; + originalPosition = "-107.18 -497.632 66.8503 1 0 0 0"; + Target = "40"; + }; + new Turret() { + position = "-107.607 -448.146 102.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "1"; + Target = "41"; + }; + new InteriorInstance() { + position = "-107.711 -448.871 97.2415"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-305.953 -503.464 126.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-305.907 -504.849 129.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new InteriorInstance() { + position = "63.4208 -499.854 122.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "63.524 -501.095 126.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "43"; + }; + new Item() { + position = "-107.388 -429.712 65.7822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-146.355 -744.355 70.6041"; + rotation = "0 0 1 0.181308"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-146.262 -745.19 75.415"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "1"; + Target = "44"; + }; + }; + new SimGroup(base1) { + + powerCount = "2"; + + new ForceFieldBare(ff1) { + position = "-93.3473 -503.362 53.0781"; + rotation = "1 0 0 0"; + scale = "0.1 10 8"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "45"; + }; + new ForceFieldBare(ff1) { + position = "-121.642 -502.701 53.0788"; + rotation = "1 0 0 0"; + scale = "0.1 10 8"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "46"; + }; + new StaticShape() { + position = "-107.369 -523.704 51.458"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "1"; + Target = "47"; + }; + new StaticShape() { + position = "-107.269 -471.84 51.3517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "1"; + Target = "48"; + }; + }; + new SimGroup(Base2) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape() { + position = "-146.174 -555.94 65.6071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22341"; + team = "1"; + Target = "49"; + }; + new StaticShape() { + position = "-67.9625 -555.565 65.6071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22343"; + team = "1"; + Target = "50"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-134.37 582.041 15.1306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-107.35 478.381 64.2521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_base1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-105.989 481.778 52.222"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "-108.806 473.838 52.222"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "-119.046 465.048 52.2963"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22352"; + team = "2"; + Target = "53"; + }; + new InteriorInstance() { + position = "-104.287 484.372 68.9095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-151.982 701.753 65.6743"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22355"; + team = "2"; + Target = "54"; + }; + new StaticShape() { + position = "-181.784 700.59 65.6743"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22357"; + team = "2"; + Target = "55"; + }; + new StaticShape() { + position = "-165.395 671.255 62.6241"; + rotation = "0.0043627 8.72656e-05 -0.999991 2.29172"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + team = "2"; + AssaultVehicle = "removed"; + Target = "56"; + mobileBaseVehicle = "removed"; + station = "22482"; + }; + new StaticShape() { + position = "-95.598 491.766 52.2434"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22360"; + team = "2"; + Target = "57"; + }; + new InteriorInstance() { + position = "-107.364 477.818 52.047"; + rotation = "1 0 0 0"; + scale = "0.4 0.4 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-107.42 477.881 52.047"; + rotation = "0 0 -1 89.9544"; + scale = "0.4 0.4 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-107.152 478.343 65.6328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + team = "2"; + WayPoint = "22469"; + isHome = "1"; + originalPosition = "-107.152 478.343 65.6328 1 0 0 0"; + Target = "58"; + }; + new Turret() { + position = "-108.067 428.971 100.342"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "2"; + Target = "59"; + }; + new InteriorInstance() { + position = "63.7442 488.108 122.445"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "63.6553 489.51 126.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "60"; + }; + new InteriorInstance() { + position = "-314.211 478.321 125.161"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-314.302 479.861 128.811"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "61"; + }; + new Item() { + position = "-107.409 410.284 64.5472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-165.314 664.589 63.6589"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-167.204 708.16 70.0948"; + rotation = "0 0 1 177.226"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-167.263 708.862 74.916"; + rotation = "-0 0 -1 2.8649"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "2"; + Target = "62"; + }; + new InteriorInstance() { + position = "-107.989 429.787 95.4404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(base1) { + + powerCount = "2"; + + new StaticShape() { + position = "-107.348 504.701 51.0488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "2"; + Target = "63"; + }; + new ForceFieldBare(ff1) { + position = "-121.496 473.634 51.9843"; + rotation = "1 0 0 0"; + scale = "0.1 10 8"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "64"; + }; + new ForceFieldBare(ff1) { + position = "-93.1919 473.981 51.6647"; + rotation = "1 0 0 0"; + scale = "0.1 10 8"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "65"; + }; + new StaticShape() { + position = "-107.27 452.198 50.4995"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "2"; + Target = "66"; + }; + }; + new SimGroup(MISC) { + + powerCount = "0"; + }; + new SimGroup(Base2) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape() { + position = "-146.447 536.781 64.26"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22385"; + team = "2"; + Target = "67"; + }; + new StaticShape() { + position = "-69.0967 536.632 64.26"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "22387"; + team = "2"; + Target = "68"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-63.5002 86.2834 129.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-63.5068 -127.86 129.991"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "btf_bridge3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new ForceFieldBare(Bridge) { + position = "-69.5017 -133.968 128.981"; + rotation = "1 0 0 0"; + scale = "12 225 1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "69"; + }; + new InteriorInstance() { + position = "-63.5263 -20.7655 129.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_bridge2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "4025.02 -18.5097 -51.9143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "70"; + hidden = "TRUE"; + }; + new SimSet(TrackerTeam_0) { + + team = "0"; + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + name = "\x10\c7|i| \c6Techlogic\x11"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "18360"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "59"; + }; + }; + new SimSet(TrackerTeam_1) { + + team = "0"; + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + name = "\x10\c7|i| \c6Techlogic\x11"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "18360"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "59"; + }; + }; + new PhysicalZone(ffski) { + position = "-69.5017 90.032 129.241"; + rotation = "1 0 0 0"; + scale = "12 222 1"; + velocityMod = "1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + + team = "0"; + }; + new ForceFieldBare(ff1) { + position = "-107.454 473.17 51.5633"; + rotation = "1 0 0 0"; + scale = "0.1 9.5 5"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "71"; + }; + new ForceFieldBare(ff1) { + position = "-102.523 477.761 51.0999"; + rotation = "0 0 -1 89.9544"; + scale = "0.1 9.5 5"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "72"; + }; + new ForceFieldBare(ff1) { + position = "-107.595 -502.789 52.5316"; + rotation = "1 0 0 0"; + scale = "0.1 9.59 5"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "73"; + }; + new ForceFieldBare(ff1) { + position = "-102.687 -498.04 52.3714"; + rotation = "0 0 -1 89.9544"; + scale = "0.1 9.59 5"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "74"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new WaterBlock(Water) { + position = "-184 -168 -162.109"; + rotation = "1 0 0 0"; + scale = "256 256 250"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.5"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0"; + removeWetEdges = "1"; + + textureSize = "32 32"; + params1 = "0.63 -2.41 0.33 0.21"; + params3 = "1.21 -0.61 0.13 -0.33"; + params0 = "0.32 -0.67 0.066 0.5"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "1"; + extent = "100 100 10"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-220.658 -634.593 46.5373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-218.987 595.29 48.3071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-112.12 121.151 106.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.00536 -173.361 114.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-275.111 -22.2105 51.6887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "85.9997 1.19686 86.4936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-284.231 -409.393 69.6379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-169.626 -443.475 50.5827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-2.95555 -538.565 63.4349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-187.552 -784.072 62.041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-69.8612 -797.578 53.7683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-173.052 -792.612 58.8803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-48.7416 -285.781 119.276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-366.675 -272.953 109.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "251.78 -318.265 124.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "275.762 265.175 119.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "241.678 634.141 55.4277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-2.2112 505.573 57.1191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-175.4 785.713 57.1766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-284.252 399.696 68.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-43.6819 287.054 117.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "309.777 432.376 117.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-343.119 266.945 111.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new InteriorInstance() { + position = "123.085 410.713 58.0622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-544.758 595.974 58.6533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-657.915 113.681 46.7485"; + rotation = "0 0 -1 40.107"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "320.703 264.182 96.5774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "247.934 -660.577 48.7595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-461.815 -761.287 52.0661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-453.194 -366.423 118.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "28.273 -710.298 121.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.83927 660.314 118.123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-336.674 653.467 117.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "62.6062 -321.748 59.8796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-444.799 -136.838 57.5132"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(a1) { + position = "68.6674 -15.9224 159.487"; + rotation = "0 0 -1 72.7656"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a2) { + position = "-200.925 424.56 108.673"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a3) { + position = "-212.568 -451.455 110.736"; + rotation = "0 0 1 143.812"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(ff) { + + powerCount = "0"; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + name = "\x10\c7|i| \c6Techlogic\x11"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "48432"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + name = "\x10\c7|i| \c6Techlogic\x11"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "48432"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + name = "\x10\c7|i| \c6Techlogic\x11"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "48432"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + name = "\x10\c7|i| \c6Techlogic\x11"; + teamId = "0"; + isBot = "0"; + chatMuted = "0"; + clientId = "48432"; + isListening = "0"; + isSmurf = "0"; + packetLoss = "0"; + targetId = "32"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + guid = "386073"; + ping = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Harvester.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Harvester.mis new file mode 100644 index 00000000..2907e389 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Harvester.mis @@ -0,0 +1,1246 @@ +// DisplayName = TWL-Harvester +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//The fruits of victory are tumbling into our mouths too quickly. +// -- Emperor Hirohito +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]700 points to win +//Map by Nefilim (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "7"; + musicTrack = "lush"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-920 -784 1856 1552"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "423.845 294.167 109.266"; + rotation = "0.125023 0.0990501 -0.987197 77.4961"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "236.165 510.292 165.109"; + rotation = "0.124966 0.118774 -0.985026 87.9532"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-430.132 -291.87 104.374"; + rotation = "0.0113483 -0.0284868 0.99953 136.577"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-218.738 -540.935 163.041"; + rotation = "0 0 -1 33.2315"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "736 -272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.800000 0.500000 0.350000 1.000000"; + fogDistance = "200"; + fogColor = "0.800000 0.500000 0.350000 1.000000"; + fogVolume1 = "900 225 225"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_sset2_x2.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.650000 0.650000 0.650000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/Lushdet2"; + terrainFile = "TWL-Harvester.ter"; + squareSize = "8"; + emptySquares = "146289 146545 146801 147057 278365 147313 213086 147569 147825 279906 83555 83557 243865 179596 179852 179870 180108 180126 180364 180620 180876 181132"; + + visibleDistance = "1000"; + locked = "true"; + hazeDistance = "500"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + XDimOverSize = "0"; + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Harvester_x2.nav"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "210.644 504.507 163.718"; + rotation = "0 0 1 169.596"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "110"; + sphereWeight = "65"; + indoorWeight = "55"; + outdoorWeight = "45"; + + locked = "true"; + }; + new SpawnSphere() { + position = "94.2158 373.983 171.218"; + rotation = "0 0 1 169.596"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "35"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Item() { + position = "213.412 532.639 183.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "375.683 310.47 104.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "191.482 515.091 194.084"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbase_-nefvbase_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "387.633 306.501 92.1096"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "213.505 462.053 174.071"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "223.082 504.03 174.062"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "223.129 515.132 174.064"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "203.899 504.163 174.056"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "203.945 515.052 174.064"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "149.524 538.508 174.068"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "132.457 538.383 174.068"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "149.535 491.79 174.064"; + rotation = "0 0 -1 2.24932"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "132.478 491.659 174.064"; + rotation = "0 0 -1 0.185575"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "140.411 515.256 167.079"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "77.5059 450.334 171.922"; + rotation = "-0 0 -1 88.991"; + scale = "1 1 1"; + nameTag = "Garage"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "76.8678 450.2 161.961"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "256.61 501.651 206.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "193.377 509.614 160.084"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "233.557 509.579 160.082"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "227.451 449.08 195.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-135.348 435.125 195.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-135.315 435.078 205.283"; + rotation = "0 0 1 0.381548"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "206.999 304.035 134.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "207.021 304.603 144.209"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "177.014 498.749 175.706"; + rotation = "0 -1 0 46.9825"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178.349 495.863 174.07"; + rotation = "0 0 -1 4.58332"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178.298 493.489 174.073"; + rotation = "0 0 1 9.16763"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178.611 494.682 175.007"; + rotation = "0 0 1 95.1113"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Turret() { + position = "174.483 515.22 184.989"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "213.484 452.201 182.119"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "387.628 177.195 132.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "387.604 177.79 122.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-223.643 -481.546 162.936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "110"; + sphereWeight = "65"; + indoorWeight = "55"; + outdoorWeight = "45"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-85.557 -374.195 170.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "35"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Item() { + position = "-224.503 -543.634 182.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-202.545 -526.139 193.033"; + rotation = "-0 0 -1 89.9087"; + scale = "1 1 1"; + interiorFile = "bbase_-nefvbase_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-413.053 -306.38 106.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-189.613 -506.405 173.956"; + rotation = "-0 0 -1 84.7974"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-189.298 -505.213 173.022"; + rotation = "0 0 1 189.259"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-189.353 -507.587 173.019"; + rotation = "0 0 1 175.508"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188.023 -510.475 174.655"; + rotation = "-0.398609 0.000317523 0.917121 180.084"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new Turret() { + position = "-217.794 -315.58 143.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-217.726 -315.058 133.184"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "124.709 -437.604 206.129"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "124.554 -437.649 196.151"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-238.409 -460.07 194.646"; + rotation = "0 0 1 180.32"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-244.613 -520.538 159.031"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-204.48 -520.653 159.033"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-268.402 -512.45 205.065"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-82.653 -465.195 172.061"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Garage"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-185.539 -526.261 183.964"; + rotation = "-0.701498 -0.00433416 0.712658 180.443"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-151.355 -526.377 166.028"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-224.483 -473.038 173.014"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-143.587 -503.121 173.019"; + rotation = "0 0 1 178.073"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-214.922 -515.072 173.02"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-160.611 -503.053 173.012"; + rotation = "0 0 1 177.614"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-234.108 -515.027 173.018"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-143.582 -549.448 173.01"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-160.502 -549.431 173.014"; + rotation = "0 0 -1 1.26112"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-234.192 -526.13 173.013"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-214.998 -526.007 173.017"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-401.09 -310.358 94.0336"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-82.0354 -465.148 162.092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-224.443 -462.936 181.081"; + rotation = "0 0 -1 90.4128"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-401.061 -184.829 125.24"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-401.315 -184.031 135.184"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree18) { + + + new TSStatic() { + position = "-524 -580 138.656"; + rotation = "0 0 1 118"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 132 159.188"; + rotation = "0 0 1 167"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 196 120.297"; + rotation = "0 0 1 199"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 20 180.828"; + rotation = "0 0 1 56"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-393.262 189.385 113.641"; + rotation = "0 0 -1 63.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -276 138.875"; + rotation = "0 0 1 42"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -508 196.812"; + rotation = "0 0 1 67.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -260 122.547"; + rotation = "0 0 -1 117"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -332 132.594"; + rotation = "0 0 -1 8.99978"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 548 178.797"; + rotation = "0 0 1 115"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 588 202.766"; + rotation = "0 0 1 211"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 116 110.953"; + rotation = "0 0 -1 49.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -492 178.406"; + rotation = "0 0 1 191"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "410.31 -788.222 133.213"; + rotation = "0 0 1 137"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 228 117.875"; + rotation = "0 0 1 34"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -532 149.328"; + rotation = "0 0 1 127"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 556 219.656"; + rotation = "0 0 1 58.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -444 199.094"; + rotation = "0 0 -1 4.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 244 131.594"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 604 160.891"; + rotation = "0 0 1 97"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 204 142.609"; + rotation = "0 0 1 76.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -44 146.016"; + rotation = "0 0 1 226"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "634.273 -247.967 135.039"; + rotation = "0 0 1 41"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 484 187.844"; + rotation = "0 0 -1 90.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -124 110.719"; + rotation = "0 0 -1 19.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-695.767 44.5256 105.592"; + rotation = "0 0 1 137"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 204 85.75"; + rotation = "0 0 1 160"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -132 102.328"; + rotation = "0 0 1 91"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 100 115.563"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 252 135.297"; + rotation = "0 0 -1 111"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -124 110.563"; + rotation = "0 0 1 69.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 -588 161.797"; + rotation = "0 0 1 127"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -4 186.687"; + rotation = "0 0 1 199"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-410.203 307.445 62.0124"; + rotation = "0 0 -1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 268 130.703"; + rotation = "0 0 1 169"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 12 180.688"; + rotation = "0 0 1 147"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 356 175.234"; + rotation = "0 0 1 124"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -524 192.297"; + rotation = "0 0 1 206"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -76 162.625"; + rotation = "0 0 -1 78.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -524 167.812"; + rotation = "0 0 1 137"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292.72 -923.763 85.6983"; + rotation = "0 0 1 137"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "249.905 928.536 84.5538"; + rotation = "0 0 1 137"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "649.02 37.2358 105.369"; + rotation = "0 0 1 137"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Horde.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Horde.mis new file mode 100644 index 00000000..e35e93a8 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Horde.mis @@ -0,0 +1,1061 @@ +// DisplayName = TWL-Horde +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Awww, Dead again? +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//6 caps to win +//Large Vehicle Map with open flag +//Assets are self powered +//Map design by Techlogic +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + CTF_scoreLimit = "6"; + musicTrack = "Desert"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-512 -992 1040 1984"; + flightCeiling = "300"; + flightCeilingRange = "0"; + + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.650000 0.650000 0.650000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Horde.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + GraphFile = "Training2.nav"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "736 -272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.725000 0.550000 0.500000 1.000000"; + fogVolume1 = "900 225 225"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_sset2_x2.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-140.43 802.345 121.464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "90"; + }; + new SpawnSphere() { + position = "133.509 803.499 121.738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "90"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-5.05944 656.299 34.8092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-5.13352 656.26 97.8257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "-5.13352 656.26 97.8257 1 0 0 0"; + Target = "33"; + className = "FlagObj"; + isHome = "1"; + team = "1"; + WayPoint = "8386"; + }; + new InteriorInstance() { + position = "-4.2226 804.568 73.6914"; + rotation = "0 0 -1 90.3448"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-3.92245 793.414 102.708"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Ready = "1"; + station = "8398"; + team = "1"; + }; + new Turret() { + position = "-4.23097 816.799 125.618"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "-4.27601 806.686 113.7"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "36"; + inUse = "Down"; + Trigger = "8271"; + team = "1"; + }; + new StaticShape() { + position = "-5.07284 795.797 89.7019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + hidden = "1"; + team = "1"; + }; + new InteriorInstance() { + position = "-140.321 805.045 116.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "133.843 806.023 116.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "133.966 806.495 126.133"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "1"; + }; + new StaticShape() { + position = "-140.421 805.423 125.367"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "1"; + }; + new StaticShape() { + position = "-133.549 804.961 118.167"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "8278"; + team = "1"; + }; + new StaticShape() { + position = "-147.141 804.846 118.167"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "8280"; + team = "1"; + }; + new StaticShape() { + position = "140.581 805.929 118.904"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "8282"; + team = "1"; + }; + new StaticShape() { + position = "127.132 805.894 118.904"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "8284"; + team = "1"; + }; + new WayPoint() { + position = "133.769 805.751 118.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + }; + new WayPoint() { + position = "-140.339 804.958 118.066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + }; + }; + new SimGroup(base1) { + + powerCount = "0"; + + new ParticleEmissionDummy(a1) { + position = "-5.0666 616.194 142.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + new ParticleEmissionDummy(a1) { + position = "34.9141 656.185 142.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + new ParticleEmissionDummy(a1) { + position = "-5.10295 696.409 142.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + new ParticleEmissionDummy(a1) { + position = "-45.2098 656.198 142.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + new ParticleEmissionDummy(a1) { + position = "14.6569 814.733 137.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + new ParticleEmissionDummy(a1) { + position = "-23.2972 814.37 137.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-133.603 -805.397 122.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "90"; + }; + new SpawnSphere() { + position = "129.174 -804.038 119.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "90"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-2.74898 -664.18 35.0028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-2.65715 -664.326 98.0034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "-2.65715 -664.326 98.0034 1 0 0 0"; + Target = "44"; + className = "FlagObj"; + isHome = "1"; + team = "2"; + WayPoint = "8387"; + }; + new InteriorInstance() { + position = "-1.552 -808.735 73.5678"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-1.69945 -797.529 102.653"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Ready = "1"; + station = "8400"; + team = "2"; + }; + new Turret() { + position = "-1.50798 -820.758 125.314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "46"; + team = "2"; + }; + new InteriorInstance() { + position = "-132.839 -804.823 116.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "130.132 -803.702 116.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-126.113 -804.811 118.825"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "8308"; + team = "2"; + }; + new StaticShape() { + position = "-139.529 -804.828 118.825"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + Trigger = "8310"; + team = "2"; + }; + new StaticShape() { + position = "123.393 -803.752 118.04"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + Trigger = "8312"; + team = "2"; + }; + new StaticShape() { + position = "136.828 -803.686 118.062"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "8314"; + team = "2"; + }; + new StaticShape() { + position = "-1.60917 -811.012 113.572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "8316"; + team = "2"; + }; + new StaticShape() { + position = "-1.0757 -802.056 89.4518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + hidden = "1"; + team = "2"; + }; + new Item() { + position = "130.233 -815.354 118.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-132.84 -816.66 118.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-132.698 -804.625 126.402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + team = "2"; + }; + new StaticShape() { + position = "130.175 -803.932 125.43"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + team = "2"; + }; + new WayPoint() { + position = "-132.952 -804.969 118.702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + }; + new WayPoint() { + position = "130.034 -804.009 117.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + }; + }; + new SimGroup(base1) { + + powerCount = "0"; + + new ParticleEmissionDummy(a1) { + position = "-42.7328 -664.195 143.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "2"; + }; + new ParticleEmissionDummy(a1) { + position = "-2.64046 -704.174 143.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "2"; + }; + new ParticleEmissionDummy(a1) { + position = "37.3565 -664.131 143.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "2"; + }; + new ParticleEmissionDummy(a1) { + position = "-2.75839 -624.266 143.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "2"; + }; + new ParticleEmissionDummy(a1) { + position = "17.5651 -818.545 137.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "2"; + }; + new ParticleEmissionDummy(a1) { + position = "-20.3945 -818.891 137.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioProfile(QDamageTone) { + fileName = "voice/training/any/any.careful.wav"; + description = "AudioGui"; + Preload = "1"; + }; + new AudioProfile(BountyBellSound) { + fileName = "fx/misc/bounty_bonus.wav"; + description = "AudioGui"; + Preload = "1"; + }; + new AudioProfile(QTKSound) { + fileName = "fx/misc/warning_beep.wav"; + description = "AudioGui"; + Preload = "1"; + }; + new AudioProfile(QDamageTone) { + fileName = "voice/training/any/any.careful.wav"; + description = "AudioGui"; + Preload = "1"; + }; + new AudioProfile(BountyBellSound) { + fileName = "fx/misc/bounty_bonus.wav"; + description = "AudioGui"; + Preload = "1"; + }; + new AudioProfile(QTKSound) { + fileName = "fx/misc/warning_beep.wav"; + description = "AudioGui"; + Preload = "1"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "85.7603 783.081 112.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-97.3567 779.24 111.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-83.3932 -781.827 110.285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "80.249 -791.714 112.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "123.04 -582.252 122.767"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-81.2699 -512.489 117.574"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-243.277 -865.72 65.8696"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-73.0422 -940.774 71.9098"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "111.731 -928.234 70.3086"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "230.444 -872.593 65.6602"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "146.97 596.928 121.564"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-146.807 599.019 121.225"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "137.142 904.268 69.983"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "60.1308 925.456 72.5352"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-80.5542 925.422 71.6878"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-236.211 875.672 68.6913"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-102.717 320.407 75.4831"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "166.385 328.344 96.242"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "253.668 57.8323 73.0517"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-47.7365 -62.0726 72.8067"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "52.2478 -173.268 72.5832"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "193.249 -362.759 101.695"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-78.2295 -416.313 104.542"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-175.761 -102.177 77.229"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "43.5173 47.9985 72.6732"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-272.425 245.811 58.3076"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + }; + new InteriorInstance() { + position = "-15.2938 -494.75 69.4694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-17.4999 481.229 71.9089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-130.323 640.08 88.5441"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "123.691 -648.557 88.2824"; + rotation = "0 0 1 139.411"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-1.46291 -826.216 105.019"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1"; + shapeName = "xmiscf.dts"; + }; + new TSStatic() { + position = "-4.40466 821.758 105.029"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1"; + shapeName = "xmiscf.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(a1) { + position = "-15.7427 -552.997 141.639"; + rotation = "0 0 1 178.945"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(a2) { + position = "-16.017 545.634 139.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Item() { + position = "-140.4 817.111 118.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "133.884 818.098 119.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Katabatic.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Katabatic.mis new file mode 100644 index 00000000..2e179ab9 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Katabatic.mis @@ -0,0 +1,1954 @@ +// Displayname = TWL-Katabatic +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The huge downside to the Starwolf is the miserable planets you have to fight em on, most often some polar outhouse where your tail gets frostbite every time you pop your armor and you can't sneeze without snot freezing all over your face. +// -- Naj-Zero, Blood Eagle warrior +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Flat terrain changed to rolling hills +//Map by Dynamix (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + cdTrack = "5"; + CTF_scoreLimit = "8"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-896 -696 1504 1392"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "400"; + fogColor = "0.650000 0.650000 0.700000 1.000000"; + fogVolume1 = "450 0 100"; + fogVolume2 = "400 100 250"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 6.89829e-37"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "TWL-Katabatic.ter"; + squareSize = "8"; + emptySquares = "223146 747683 747939 748195 748451 355491 305974 437300 437556 372277 372533 307254 373046 373302 373558 373814 308534"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + coverage = "0"; + scale = "1 1 1"; + GraphFile = "Katabatic_x2.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-532.319 363.442 133.461"; + rotation = "0.373651 0.211465 -0.903143 64.1455"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "302.05 -118.698 128.256"; + rotation = "0.0300922 -0.173948 0.984295 160.673"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-621.713 358.134 66.6521"; + rotation = "0.0260524 -0.0256428 0.999332 89.1303"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "353.826 -191.859 77.993"; + rotation = "-0.0625075 -0.21946 0.973617 210.998"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "326.888 -168.521 74.8106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "90"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-257.527 -53.2192 145.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "110"; + + locked = "true"; + }; + }; + new SimGroup(MainBase1) { + + + new SimGroup(MainBase1Powered) { + + + new StaticShape(Team1GeneratorLarge1) { + position = "345.283 -197.479 71.0291"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "351.855 -197.491 71.0293"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SimGroup(MainBase1Misc) { + + + new StaticShape() { + position = "323.376 -173.543 96.0413"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item(Team1Flag1) { + position = "323.373 -173.553 96.6452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + stand = "4062"; + locked = "true"; + }; + }; + new SimGroup(MainBase1Buildings) { + + + new InteriorInstance() { + position = "347.539 -170.518 93.036"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + }; + new InteriorInstance() { + position = "251.987 -242.184 78.1013"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "179.548 -100.806 94.7401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(MainBase1Turrets) { + + + new Turret(Team1TurretBaseLarge1) { + position = "348.08 -178.761 113.037"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Rooftop"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "179.548 -101.496 96.3367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Mountainside"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + new SimGroup(MainBase1Stations) { + + + new StaticShape() { + position = "255.389 -248.02 77.8013"; + rotation = "0 0 1 149.542"; + scale = "1 1 1"; + nameTag = "Main Compound"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "287.981 -168.951 96.0435"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Front Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "336.286 -225.796 71.034"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "343.378 -225.667 71.0201"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "293.333 -181.491 80.0333"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Front Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "353.692 -165.466 80.0255"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Rear Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "357.551 -164.521 96.0313"; + rotation = "0 0 1 4.0109"; + scale = "1 1 1"; + nameTag = "Rear Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Crates) { + + + new TSStatic() { + position = "315.551 -117.489 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "315.595 -116.624 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "317.072 -117.501 71.0436"; + rotation = "0 0 1 79.6412"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "322.4 -116.698 71.0436"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "322.173 -114.708 71.0436"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "322.329 -115.683 71.0436"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "317.029 -128.833 73.0436"; + rotation = "0 0 -1 26.356"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "317.493 -126.298 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316.916 -128.571 71.0436"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "317.116 -130.887 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "304.731 -136.327 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "299.938 -129.952 71.0436"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "303.173 -123.185 71.0436"; + rotation = "0 0 1 16.6157"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "304.374 -123.679 72.0436"; + rotation = "0 0 1 5.72969"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "304.304 -123.653 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "303.057 -137.439 72.8627"; + rotation = "0 1 0 36.6693"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "298.045 -131.855 73.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "297.283 -129.947 73.0436"; + rotation = "0 0 -1 6.30252"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "297.295 -129.261 71.0436"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "298.004 -131.399 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "297.503 -133.503 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "330.048 -178.319 80.4267"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.048 -178.319 80.4267"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(BaseTower1) { + + providesPower = "1"; + + new Item() { + position = "158.815 -274.653 162.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "156.81 -269.568 160.868"; + rotation = "-0 0 -1 21.1994"; + scale = "1 1 1"; + nameTag = "Base Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "156.976 -270.011 97.8793"; + rotation = "0 0 1 68.7549"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Tower1) { + + + new WayPoint() { + position = "-257.527 -53.2192 193.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Tower"; + + locked = "true"; + }; + new SimGroup(Tower1Powered) { + + providesPower = "1"; + + new ForceFieldBare() { + position = "-257.732 -48.1132 169.993"; + rotation = "0 0 1 132.536"; + scale = "7.2989 7.30716 0.25"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-257.467 -53.2283 163.599"; + rotation = "0.915437 0.402461 -4.32963e-08 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "-265.055 -53.5008 163.629"; + rotation = "0 0 -1 92.4642"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory9) { + position = "-249.899 -52.8997 163.635"; + rotation = "0 0 1 87.5358"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-257.527 -53.2192 192.608"; + rotation = "-0 0 -1 47.4646"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-240.494 -70.229 158.626"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Tower1Goodies) { + + + new Item() { + position = "-283.299 -29.5826 188.78"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-231.644 -77.0427 188.808"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-228.56 -30.1645 188.659"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-232.472 -25.9589 188.548"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-257.595 -45.2241 164.399"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-254.144 -48.2657 170.636"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-252.775 -49.505 170.631"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-254.075 -49.4487 170.633"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-261.739 -57.7463 171.342"; + rotation = "0 0 1 42.5355"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-257.799 -45.7266 171.27"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-265.333 -53.6064 171.271"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-257.31 -60.9347 171.274"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-249.59 -53.0389 171.278"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-576.432 383.169 63.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "90"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "62.7873 286.995 163.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "110"; + + locked = "true"; + }; + }; + new SimGroup(MainBase2) { + + + new SimGroup(MainBase2Powered) { + + + new StaticShape(Team2GeneratorLarge1) { + position = "-602.321 356.05 64.5588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "-602.281 362.517 64.5386"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SimGroup(MainBase2Turrets) { + + + new Turret(Team2TurretBaseLarge1) { + position = "-453.284 355.91 97.4581"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Mountainside"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-583.195 359.367 106.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rooftop"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + }; + new SimGroup(MainBase2Stations) { + + + new StaticShape() { + position = "-610.208 541.337 77.054"; + rotation = "-0 0 -1 63.5982"; + scale = "1 1 1"; + nameTag = "Main Compound"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "-569.34 350.347 89.5408"; + rotation = "0 0 1 93.9653"; + scale = "1 1 1"; + nameTag = "Rear Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-570.288 354.206 73.535"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Rear Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-586.361 414.552 73.5428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-630.497 364.472 64.5296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "-630.632 371.564 64.5435"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "-573.832 420.026 89.5597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(MainBase2Misc) { + + + new StaticShape() { + position = "-578.317 384.578 89.5662"; + rotation = "0 0 -1 20.6264"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item(Team2Flag1) { + position = "-578.317 384.576 90.1702"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + stand = "4223"; + locked = "true"; + }; + }; + new SimGroup(MainBase2Buildings) { + + + new InteriorInstance() { + position = "-575.345 360.355 86.5455"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "sbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-605.436 538.968 77.354"; + rotation = "0 0 1 115.92"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-452.561 355.816 95.8588"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Crates2) { + + + new TSStatic() { + position = "-543.306 404.422 64.5492"; + rotation = "0 0 1 6.30239"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-543.35 404.168 66.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-531.013 392.492 64.5492"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.864 391.032 67.5492"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.975 389.238 64.5492"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.25 389.375 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.423 390.149 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.648 389.961 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.668 392.072 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.389 390.678 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.78 391.317 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.338 391.757 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.405 390.94 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.114 408.185 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.912 405.905 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.125 407.093 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.183 404.828 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.122 405.998 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.971 407.011 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.152 408.165 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.84 404.78 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-538.169 414.541 65.8296"; + rotation = "-0.292011 -0.289335 0.9116 95.8202"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-536.009 414.337 65.5611"; + rotation = "-0.244718 -0.242475 0.938786 94.1429"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532.99 407.074 66.5991"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532.351 409.13 66.5991"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-535.098 407.374 66.5991"; + rotation = "-0.0150097 0.999775 -0.0149977 89.9673"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-534.834 407.898 68.5937"; + rotation = "0 0 -1 19.4806"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-535.502 405.721 64.5492"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-541.393 392.492 64.5492"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-541.355 389.238 64.5492"; + rotation = "0 0 1 1.71869"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-541.244 391.032 67.5492"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "-583.178 377.846 73.9808"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-583.178 390.846 73.9808"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(BaseTower2) { + + providesPower = "1"; + + new Item() { + position = "-495.959 586.111 170.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory7) { + position = "-491.502 583.075 169.456"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + nameTag = "Base Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-494.498 585.022 106.448"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Tower2) { + + + new WayPoint() { + position = "62.7873 286.995 204.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Tower"; + + locked = "true"; + }; + new SimGroup(Tower2Powered) { + + providesPower = "1"; + + new StaticShape(Team2SensorLargePulse1) { + position = "62.7873 286.995 203.616"; + rotation = "0 0 1 135.309"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory8) { + position = "55.1522 287.045 174.673"; + rotation = "-0 0 -1 89.6907"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "70.3198 286.912 174.667"; + rotation = "0 0 1 90.3093"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "46.5972 304.809 169.664"; + rotation = "-0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "62.7273 287.007 174.637"; + rotation = "-0.380189 0.924909 1.66185e-08 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "62.7448 281.885 181.031"; + rotation = "-0 0 -1 44.6907"; + scale = "7.2989 7.30716 0.25"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Tower2Goodies) { + + + new Item() { + position = "54.8508 287.199 182.316"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "62.9433 294.712 182.312"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "70.6022 287.004 182.309"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "62.6966 279.498 182.308"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "67.2132 291.313 182.38"; + rotation = "0 0 1 225.309"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "59.1563 283.396 181.671"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "57.8614 283.515 181.669"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "59.168 282.211 181.674"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "62.4679 279.006 175.437"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "36.4425 260.979 199.586"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "32.7386 265.369 199.697"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "38.0866 312.043 199.846"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "87.3852 262.139 199.818"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(team0) { + + + new Item() { + position = "-578.437 414.33 74.6654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-578.34 354.518 74.6836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "293.561 -173.567 81.1559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "353.373 -173.518 81.1741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Landmarks) { + + + new InteriorInstance(SmallRock) { + position = "4.29272 -678.22 87.0344"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "604.674 288.347 95.0202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-694.001 688.419 81.4125"; + rotation = "0 0 1 68.7549"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-882.758 293.23 98.8326"; + rotation = "0 0 -1 25.2101"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-891.714 -286.207 88.3106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-221.53 190.742 77.4905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-209.718 191.939 80.2187"; + rotation = "-0.819622 -0.568812 -0.0683577 80.983"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-177.352 224.065 77.315"; + rotation = "-0.844132 -0.0752246 -0.530831 52.3752"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-179.65 235.545 77.0884"; + rotation = "0.960354 0.139691 0.24126 110.99"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-106.21 57.7174 78.575"; + rotation = "0.632488 0.637505 -0.439938 88.8149"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-107.599 41.1366 80.8043"; + rotation = "1 0 0 135.218"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-40.5405 106.833 78.0061"; + rotation = "-0.785982 0.317479 0.530508 101.895"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-53.613 125.786 84.5896"; + rotation = "-0.729593 -0.471499 -0.495362 81.0287"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-50.1881 105.939 76.4521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-58.092 116.907 76.9334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-93.3823 63.4909 76.8637"; + rotation = "1 0 0 205.874"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-191.544 230.281 76.4113"; + rotation = "0 1 0 17.7616"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-216.399 199.251 77.8031"; + rotation = "-0.00419048 -0.594692 -0.803943 94.5913"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-33.1756 122.498 78.0202"; + rotation = "-0.335772 0.927883 -0.162146 125.688"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new AudioEmitter() { + position = "289.762 209.214 173.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Magmatic.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Magmatic.mis new file mode 100644 index 00000000..ea5a77d7 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Magmatic.mis @@ -0,0 +1,1573 @@ +// DisplayName = TWL-Magmatic +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//War does not determine who is right - only who is left. +// -- Bertrand Russell +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 Points to win +//Map by Infamous Butcher (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "30"; + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-928 -472 1824 1136"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam2) { + position = "471.549 41.801 213.409"; + rotation = "0.653532 -0.148768 0.742135 34.1051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-481.927 48.1414 219.103"; + rotation = "0.496961 0.172933 -0.850367 44.5101"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "499.348 72.3803 157.799"; + rotation = "0.653532 -0.148769 0.742135 34.1051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-527.529 101.282 158.527"; + rotation = "0.0927942 -0.189657 0.977456 128.882"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Magmatic.ter"; + squareSize = "8"; + emptySquares = "231229 231358 231485 231614 231741 231870 232509 232638 232765 232894 233021 233150 303052 303308 303564 107212"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + GraphFile = "Magmatic.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.988200 0.235300 0.011800 0.000000"; + fogDistance = "280"; + fogColor = "0.913700 0.383000 0.071800 0.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "100 100 120"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0.533767 0.614598"; + high_fogVolume2 = "-1 0.634901 0.469548"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "600"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 -39.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-519.021 87.7069 192.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "400"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-585.276 205.316 180.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-611.857 264.36 175.944"; + rotation = "0 0 1 167.303"; + scale = "1 1 1"; + interiorFile = "infbutch_blackairinv13.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-506.111 113.814 189.769"; + rotation = "0 0 1 85.3707"; + scale = "1 1 1"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-645.815 -15.4902 218.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-486.699 189.988 205.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-521.422 91.9036 153.757"; + rotation = "0 0 -1 94.538"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-516.657 83.5363 153.758"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-636.663 -15.4643 214.423"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-478.313 190.037 201.124"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-607.8 265.599 175.478"; + rotation = "0 0 -1 102.742"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-533.611 118.392 180.761"; + rotation = "0 0 -1 5.15707"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-509.654 120.34 180.759"; + rotation = "0 0 -1 5.15707"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-519.133 87.7019 169.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-639.57 249.63 179.18"; + rotation = "0 0 1 166.158"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-643.231 265.742 179.181"; + rotation = "0 0 -1 12.2144"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-519.021 87.7069 192.778"; + rotation = "0 0 1 85.3707"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-504.494 56.9785 180.757"; + rotation = "0 0 1 174.179"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-528.468 55.0312 180.752"; + rotation = "0 0 1 174.752"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-531.138 106.097 160.761"; + rotation = "0 0 -1 45.2641"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-527.919 67.4952 160.758"; + rotation = "0 0 1 219.052"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-634.894 259.115 186.666"; + rotation = "0 0 1 77.3493"; + scale = "1 1 1"; + nameTag = "Vehicle"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-644.187 256.85 186.659"; + rotation = "0 0 1 77.3493"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-218.269 125.86 121.933"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-226.655 125.811 126.459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "506.691 86.238 192.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "400"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "575.863 208.943 190.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "607.561 263.985 176.017"; + rotation = "0 0 1 12.6053"; + scale = "1 1 1"; + interiorFile = "infbutch_blackairinv13.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "524.104 109.646 189.844"; + rotation = "0 0 1 95.6839"; + scale = "1 1 1"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "452.885 183.019 202.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "618.52 -13.1446 218.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "505.114 90.7997 153.818"; + rotation = "0 0 -1 84.2248"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "508.277 81.7249 153.852"; + rotation = "0 0 1 95.684"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "462.448 183.008 197.773"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "627.436 -13.1832 214.391"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "506.653 86.2632 169.111"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "506.691 86.238 192.845"; + rotation = "0 0 1 95.684"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "603.245 264.622 175.54"; + rotation = "0 0 1 102.559"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "497.88 119.065 180.832"; + rotation = "0 0 1 4.58384"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "521.805 116.702 180.835"; + rotation = "0 0 1 5.72969"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "515.507 53.4569 180.834"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "491.63 55.8045 180.833"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "518.985 104.6 160.836"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "630.338 258.974 186.738"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + nameTag = "Vehicle"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "638.937 265.428 179.237"; + rotation = "0 0 1 12.0322"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "635.306 249.305 179.232"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "515.345 66.0135 160.828"; + rotation = "0 0 1 147.25"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "639.968 256.999 186.723"; + rotation = "0 0 -1 76.9589"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "210.471 125.097 122.128"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "200.908 125.108 126.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition3DSPlant19) { + + + new TSStatic() { + position = "52 -108 140.828"; + rotation = "0 0 1 105"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 884 144.156"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 828 129.75"; + rotation = "0 0 1 72.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -596 75.4687"; + rotation = "0 0 -1 13.0002"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 156 172.875"; + rotation = "0 0 1 17"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 772 124.297"; + rotation = "0 0 -1 107"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "479.768 -639.041 123.456"; + rotation = "0 0 -1 99.0002"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "218.672 327.13 126.513"; + rotation = "0 0 -1 22.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 140 87.4062"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292.628 -558.85 127.006"; + rotation = "0 0 -1 31.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -428 124.922"; + rotation = "0 0 1 114"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -372 109.078"; + rotation = "0 0 -1 103"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.9212 1420.97 131.249"; + rotation = "0 0 1 37"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -292 179.266"; + rotation = "0 0 1 108"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -180 87.5"; + rotation = "0 0 -1 19.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 1060 178.656"; + rotation = "0 0 1 15"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1012 876 191.469"; + rotation = "0 0 -1 63.0001"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 540 67.5938"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -484 122.906"; + rotation = "0 0 -1 89.0004"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 212 84.9531"; + rotation = "0 0 1 97.9998"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -92 150.734"; + rotation = "0 0 -1 47.9999"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 940 184.172"; + rotation = "0 0 1 203"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -500 125.031"; + rotation = "0 0 1 233"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 916 178.578"; + rotation = "0 0 -1 25.0002"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900 1276 62.6094"; + rotation = "0 0 -1 4.00015"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-483.2 739.351 126.826"; + rotation = "0 0 -1 117"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -52 88.6876"; + rotation = "0 0 1 108"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -628 145.641"; + rotation = "0 0 1 128"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -236 89.8281"; + rotation = "0 0 1 144"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 660 123.687"; + rotation = "0 0 1 22"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 20 202.109"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -44 94.6875"; + rotation = "0 0 1 63.0001"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 -452 123.609"; + rotation = "0 0 -1 7.00012"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 12 123.937"; + rotation = "0 0 1 29"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 -348 121.312"; + rotation = "0 0 1 173"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 1004 125.016"; + rotation = "0 0 -1 62.0003"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 1172 125.375"; + rotation = "0 0 -1 85"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 -260 73"; + rotation = "0 0 1 134"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 852 177.328"; + rotation = "0 0 -1 117"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 420 125.781"; + rotation = "0 0 1 198"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -716 123.734"; + rotation = "0 0 -1 50"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 1236 128.859"; + rotation = "0 0 1 123"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4DSPlant17) { + + + new TSStatic() { + position = "-145.354 789.786 125.802"; + rotation = "-0.0120018 0.068937 0.997549 179.002"; + scale = "2.3 2.3 2.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 708 122.469"; + rotation = "0.18493 0.0928712 0.978354 236.943"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.915 -206.857 200.95"; + rotation = "-0.0301451 0.00599636 0.999528 221.292"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 -508 124.016"; + rotation = "0.00632633 0.0151339 0.999865 127.006"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "835.415 296.064 152.641"; + rotation = "0.0504179 0.0431004 0.997798 189.419"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -420 65.9219"; + rotation = "0.19231 -0.117866 0.97423 85.4899"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 -652 88.9844"; + rotation = "0.272673 0.168384 -0.947257 45.1595"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-135.363 440.241 152.305"; + rotation = "9.88246e-05 -0.0227224 0.999742 38.9694"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612.636 130.593 208.589"; + rotation = "0.0039299 -0.0155963 0.999871 203.909"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 604 66.125"; + rotation = "-0.115456 0.112319 0.986942 192.832"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-16.7327 1111.67 134.08"; + rotation = "-0.558128 0.568041 -0.604832 12.1939"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-72.1443 403.156 122.307"; + rotation = "-0.171362 0.0900697 0.981082 12.5534"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 276 115.031"; + rotation = "-0.0414129 -0.0583492 0.997437 168.03"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 924 125.219"; + rotation = "0.0406185 -0.0260443 -0.998835 116.06"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 324 164.687"; + rotation = "0.231983 0.043677 0.971739 94.6389"; + scale = "2.4 2.4 2.4"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 1284 128.687"; + rotation = "0.187237 0.174153 0.966754 104.88"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -476 123.203"; + rotation = "0.00502232 0.0545203 0.9985 227.936"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 1188 126.641"; + rotation = "0.267267 -0.176053 -0.947404 51.3778"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 1004 177.5"; + rotation = "0.00851682 -0.012392 -0.999887 21.0021"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 860 177.734"; + rotation = "-0.0105593 -0.0242057 0.999651 118.018"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.929 316.831 129.209"; + rotation = "-0.0635155 0.0272485 0.997609 77.1333"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -364 120.656"; + rotation = "0.287961 -0.060481 -0.95573 81.5565"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "215.327 400.331 128.523"; + rotation = "0.122185 -0.281456 -0.951763 26.8558"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "448.239 1170.82 181.539"; + rotation = "0.0209913 0.0293318 0.999349 111.24"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 908 178.031"; + rotation = "-0.0904346 0.0296596 -0.995461 32.1384"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 1140 179.281"; + rotation = "0.00456208 0.109631 0.993962 22.1303"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -556 124.125"; + rotation = "0.0582923 0.00203486 0.998298 183.993"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 900 178.594"; + rotation = "0.00402015 -0.00515764 0.999979 218.999"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 820 111.844"; + rotation = "0.0647424 0.0225898 0.997646 184.988"; + scale = "2.1 2.1 2.1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioBubbling) { + + + new AudioEmitter() { + position = "238.562 -247.204 77.5686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-102.723 207.676 74.2436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "121.164 208.004 68.5667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-228.298 -244.157 67.0027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "225.789 591.297 78.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "205.607 -91.1028 70.5774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "390.492 -423.663 79.6071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "226.749 1008.86 88.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-252.43 1053.56 88.8209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-880.136 600.957 91.7757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Minotaur.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Minotaur.mis new file mode 100644 index 00000000..e1ca4ed6 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Minotaur.mis @@ -0,0 +1,1071 @@ +// DisplayName = TWL-Minotaur +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//These humans are hard to catch off-guard. Rrrh, so be it! Well crush them the old-fashioned way -- brute force! +// -- from a Horde Maul tactical briefing +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//No vehicle stations +//Lightning strikes are hazardous +//Visible distance reduced slightly +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "4"; + powerCount = "0"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "10"; + musicTrack = "badlands"; + + new MissionArea(MissionArea) { + area = "-536 -648 880 592"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Minotaur.ter"; + squareSize = "8"; + emptySquares = "150887 151143 154232 154488"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Minotaur.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "460"; + useSkyTextures = "1"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "440"; + fogColor = "0.200000 0.200000 0.200000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + locked = "true"; + cloudSpeed0 = "0.002000 0.003000"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BiodermPlant20) { + + new TSStatic() { + position = "-288.533 -431.44 164.261"; + rotation = "-0.231532 -0.342845 0.910412 57.8562"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-502.5 -634.5 141.369"; + rotation = "0 0 1 155"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-65.5 -129.5 195.881"; + rotation = "0 0 1 143"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-202.5 -72.5 178.143"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60.9 -345.3 130.908"; + rotation = "0 0 1 214"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "30.5 -320.5 155.574"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-272.5 -218.5 175.229"; + rotation = "0 0 1 177"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-271.5 -276.5 178.355"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-109.9 -381.3 119.846"; + rotation = "0 0 1 131"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BiodermPlant21) { + + new TSStatic() { + position = "-203.9 -376.3 114.809"; + rotation = "0 0 1 64"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-315.5 -613.5 112.504"; + rotation = "0 0 -1 38"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "56.54 -160.408 133.985"; + rotation = "-0.53497 0.113711 0.837184 28.4922"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-187.5 -558.5 125.285"; + rotation = "0 0 -1 35"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "218.59 -106.552 162.667"; + rotation = "-0.183739 0.0475181 0.981826 208.495"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "20.5 -406.5 170.395"; + rotation = "0 0 1 182"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "279.4 -544.523 114.472"; + rotation = "-0.133371 -0.167671 -0.97678 104.308"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-447.552 -546.522 180.789"; + rotation = "0.119677 0.0243485 0.992514 157.168"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-233.9 -345.3 114.94"; + rotation = "0 0 -1 30"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "173.44 -101.693 153.868"; + rotation = "0.0902262 0.0597194 -0.994129 67.3109"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-218.516 -496.48 118.401"; + rotation = "0.0229954 -0.0649371 0.997624 141.086"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "163.44 -409.508 134.436"; + rotation = "0.144977 -0.128265 0.981086 84.0871"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition5BiodermPlant5) { + + new TSStatic() { + position = "-308.5 370.5 71.3633"; + rotation = "0 0 -1 24"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "200.5 348.5 124.172"; + rotation = "0 0 1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "210.5 159.5 148.172"; + rotation = "0 0 -1 69"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-497.5 -253.5 188.269"; + rotation = "0 0 -1 18"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-136.9 -343.3 134.092"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-16.5 -117.5 196.826"; + rotation = "0 0 1 192"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "365.5 165.5 182.314"; + rotation = "0 0 -1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-235.5 -73.5 183.48"; + rotation = "0 0 1 9.00004"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-411.5 -14.5 131.27"; + rotation = "0 0 1 89"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-671.5 -44.5 90.4648"; + rotation = "0 0 1 109"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1287.5 -641.5 67.1816"; + rotation = "0 0 1 150"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-994.5 337.5 153.178"; + rotation = "0 0 -1 9.00004"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition1BiodermPlant5) { + + new TSStatic() { + position = "-492.5 -632.5 140.287"; + rotation = "0 0 1 190"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-315.5 -365.5 189.799"; + rotation = "0 0 1 80"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-202.533 -438.675 112.898"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-214.5 -588.5 127.965"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.5 -497.5 119.875"; + rotation = "0 0 1 52"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "211.5 -527.5 85.5723"; + rotation = "0 0 -1 111"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "227.5 -210.5 176.242"; + rotation = "0 0 1 221"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-23.79 -325.171 129.2"; + rotation = "0 0 1 108.719"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-249.5 -488.5 127.779"; + rotation = "0 0 -1 58"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-230.9 -322.3 115.635"; + rotation = "0 0 1 128"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "123.5 -66.5 140.393"; + rotation = "0 0 1 123"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "192.5 -357.5 129.436"; + rotation = "0 0 1 25"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-477.5 -399.5 201.33"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "286.5 -388.5 148.145"; + rotation = "0 0 -1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-256.5 -203.5 172.551"; + rotation = "0 0 1 109"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-50.9 -330.3 129.731"; + rotation = "0 0 1 132"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-111.89 -307.59 138.857"; + rotation = "0 0 -1 21"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-362.5 -286.5 166.23"; + rotation = "0 0 1 176"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-161.5 -106.5 166.646"; + rotation = "0 0 -1 77"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-255.5 -446.5 165.297"; + rotation = "0 0 -1 100"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + }; + new InteriorInstance() { + position = "-120.224 -344.357 132.44"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + interiorFile = "xbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-313.4 -412.343 180.871"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(base0) { + providesPower = "1"; + + new InteriorInstance() { + position = "-276.868 -418.049 161.289"; + rotation = "0 0 1 102.559"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-276.983 -418.102 171.102"; + rotation = "0 0 1 101.414"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + damageTimeMS = "442641"; + Target = "33"; + }; + new StaticShape(Team1StationInventory1) { + position = "-267.864 -425.861 163.3"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + }; + new StaticShape(Team1StationInventory2) { + position = "-265.227 -414.831 163.3"; + rotation = "0 0 1 10.8863"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + }; + new Item(Team1flag1) { + position = "-195.896 -397.84 112.943"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + Target = "36"; + }; + new StaticShape() { + position = "-195.928 -397.829 112.941"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + damageTimeMS = "226371"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "-279.186 -426.668 163.189"; + rotation = "0 0 1 12.6051"; + scale = "0.590975 17.8124 6.11812"; + dataBlock = "defaultAllSlowFieldBare"; + locked = "true"; + Target = "37"; + }; + new Turret(Team1SentryTurret2) { + position = "-196.036 -405.017 112.9"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + lastProjectile = "4508"; + Target = "38"; + }; + new Turret() { + position = "-184.758 -400.271 145.37"; + rotation = "1 0 0 180.091"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + lastProjectile = "4418"; + Target = "39"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "96.96 -330.785 170.904"; + rotation = "0 0 1 182.383"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(base1) { + providesPower = "1"; + + new InteriorInstance() { + position = "65.43 -322.18 156.531"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "56.3092 -314.42 158.53"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "40"; + }; + new StaticShape(Team2StationInventory2) { + position = "53.72 -325.307 158.53"; + rotation = "0 0 1 191.55"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "41"; + }; + new ForceFieldBare() { + position = "63.1825 -330.806 158.456"; + rotation = "0 0 1 12.6051"; + scale = "0.590975 17.8124 6.11812"; + dataBlock = "defaultAllSlowFieldBare"; + locked = "true"; + Target = "42"; + }; + new Turret(Team2SentryTurret2) { + position = "-60.52 -301.763 134.4"; + rotation = "0 1 0 179.597"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "43"; + }; + new StaticShape() { + position = "-60.58 -294.86 134.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "-1"; + }; + new Item(Team2flag1) { + position = "-60.585 -294.863 134.443"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + Target = "44"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "64.93 -322.059 166.448"; + rotation = "0 0 -1 75.0575"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + damageTimeMS = "402636"; + Target = "45"; + }; + new Turret() { + position = "-48.424 -297 158.4"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "46"; + }; + }; + }; + new SimGroup(team0) { + + new Item() { + position = "-44.9582 -296.699 150.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-181.706 -399.805 137.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-177.318 -349.64 169.049"; + rotation = "0 0 1 202.254"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-88.48 -244.583 171.244"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-190.228 -398.372 123.246"; + rotation = "-0.212287 -0.394 0.894258 231.452"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-65.2935 -344.244 106.801"; + rotation = "0.501182 0.197279 -0.842554 50.0823"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-56.3801 -301.524 136.736"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Miskellany) { + + new Item() { + position = "-182.646 -350.256 71.742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-170.114 -279.918 89.7787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + }; + new SimGroup(Ambience) { + + new TSStatic() { + position = "-192.149 -406.215 97.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-191.283 -406.197 97.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.059 -405.772 97.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.888 -405.818 97.94"; + rotation = "0 0 1 34.3775"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-186.075 -404.85 98.22"; + rotation = "-0.749872 0.466646 0.46897 105.591"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.218 -395.064 97.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-196.071 -376.083 80.44"; + rotation = "0 0 1 29.2208"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-181.197 -376.661 80.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.302 -349.715 80.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-188.694 -341.84 80.4381"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-186.832 -342.888 81.4666"; + rotation = "-0.270226 -0.496461 0.824927 53.6613"; + scale = "0.99 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116.836 -344.537 92.2068"; + rotation = "0.258044 -0.253136 -0.932382 95.1051"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-49.794 -293.484 110.44"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-50.383 -302.596 110.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116.063 -290.914 111.989"; + rotation = "-0.551405 -0.385083 0.740043 119.688"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-114.213 -291.898 110.44"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "-201.38 -415.042 156.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-67.819 -311.53 92.6281"; + rotation = "0.063701 -0.978634 0.195492 36.8317"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-67.377 -305.708 91.3731"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-145.924 -301.798 88.44"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-170.54 -293.325 88.44"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-170.466 -289.313 88.44"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-78.867 -294.067 110.44"; + rotation = "0 0 -1 61.8794"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-93.441 -306.525 110.44"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-93.357 -301.557 110.44"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-93.414 -306.507 112.44"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-200.231 -392.278 114.714"; + rotation = "3.46431e-09 -1.05458e-08 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-63.0197 -347.938 96.44"; + rotation = "0 0 -1 21.7724"; + scale = "3 3 3"; + shapeName = "stackable5m.dts"; + locked = "true"; + }; + new Lightning() { + position = "-100.876 -342.565 174.976"; + rotation = "1 0 0 0"; + scale = "982.77 682.62 300"; + dataBlock = "DefaultStorm"; + strikesPerMinute = "6"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.95"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.300000 0.300000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Neve.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Neve.mis new file mode 100644 index 00000000..a02fa57c --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Neve.mis @@ -0,0 +1,2310 @@ +// DisplayName = TWL-Neve +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//It used to be a mining planet, until they sucked it dry. +//When they left they didn't even bother to to take their equipment, +//so watch where you're going! Try not to trash the gear... +//-- Commander Doz, Mission Briefing +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]8 caps to win +//Many Thanks to RenWerX, |D-C|, and the +//guys at Tribes2maps.com and Teamwarfare +//Map by Nycto +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "-1024 -1024 2080 2048"; + flightCeiling = "250"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "TWL-Neve.ter"; + squareSize = "8"; + emptySquares = "79778 81342 84881 85127 86411 86417 86423 87422 87953 88148 88675 89169 90196 90268 90721 95644 97966 99715 100311 101741 103478 107433 108454 108655 108693 108954 109481 109674 109690 111204 111210 111216 112746 114266 116663 117128 123754"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + GraphFile = "Neve.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.380000 0.400000 0.440000 1.000000"; + fogVolume1 = "175 0 90"; + fogVolume2 = "350 90 100"; + fogVolume3 = "500 100 110"; + materialList = "Nycto-sm.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-171.664 403.895 49.4468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "80"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + new SpawnSphere() { + position = "332.551 302.88 50.8314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "20"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new SimGroup(Flagbase) { + + powerCount = "2"; + + new InteriorInstance(MainBase) { + position = "-171.857 403.947 36.8468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-base1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new SimGroup(Turrets) { + + powerCount = "2"; + + new Turret(OutsideElf1) { + position = "-171.84 358.085 59.0829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + locked = "true"; + Target = "33"; + }; + new Turret(OutsideElf2) { + position = "-171.888 449.791 59.0829"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + locked = "true"; + Target = "34"; + }; + }; + new SimGroup(Inventories) { + + powerCount = "2"; + + new StaticShape(OutsideInv1) { + position = "-217.031 403.955 59.081"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4522"; + team = "1"; + locked = "true"; + Target = "35"; + }; + new StaticShape(OutsideInv2) { + position = "-126.671 403.935 59.081"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4524"; + team = "1"; + locked = "true"; + Target = "36"; + }; + new StaticShape(InsideInv1) { + position = "-165.504 391.032 35.3532"; + rotation = "0 0 1 160"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4526"; + team = "1"; + locked = "true"; + Target = "37"; + }; + new StaticShape(InsideInv2) { + position = "-158.927 397.584 35.3532"; + rotation = "0 0 1 110"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4528"; + team = "1"; + locked = "true"; + Target = "38"; + }; + }; + }; + new StaticShape(Generator1) { + position = "-178.255 403.958 27.3466"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + team = "1"; + locked = "true"; + Target = "39"; + }; + new StaticShape(Generator2) { + position = "-165.458 403.951 27.3366"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + team = "1"; + locked = "true"; + Target = "40"; + }; + new SimGroup(Sensors) { + + powerCount = "2"; + + new InteriorInstance(Stand1) { + position = "-170.279 276.719 94.089"; + rotation = "0 0 -1 61.8794"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape(MedSensor1) { + position = "-170.336 276.359 96.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "41"; + }; + new InteriorInstance(Stand2) { + position = "-171.166 605.071 158.676"; + rotation = "0 0 1 177.8"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape(MedSensor2) { + position = "-170.826 605.204 161.136"; + rotation = "0 0 1 239.679"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "42"; + }; + new StaticShape(MedSensor3) { + position = "-374.126 387.617 137.903"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "43"; + }; + new InteriorInstance(Stand3) { + position = "-373.967 387.798 135.443"; + rotation = "-0 0 -1 14.8969"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance(Stand4) { + position = "9.03139 390.919 164.878"; + rotation = "-0 0 -1 11.2767"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape(MedSensor4) { + position = "8.7166 390.735 167.338"; + rotation = "0 0 1 50.6023"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "44"; + }; + }; + new SimGroup(Remote_Base) { + + providesPower = "1"; + powerCount = "3"; + + new InteriorInstance(RemoteBase) { + position = "336.058 344.083 58.7314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-base2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape(RemoteInv1) { + position = "309.334 326.529 45.7136"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4543"; + team = "1"; + locked = "true"; + Target = "45"; + }; + new StaticShape(RemoteInv2) { + position = "309.135 305.715 45.7211"; + rotation = "0 0 1 202.254"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4545"; + team = "1"; + locked = "true"; + Target = "46"; + }; + new StaticShape() { + position = "332.394 316.036 56.3654"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationPos = "317.296 315.957 61.5955"; + mobileBaseVehicle = "Removed"; + station = "4733"; + team = "1"; + locked = "true"; + Target = "47"; + ready = "1"; + stationRot = "-0 0 -1 90"; + }; + new StaticShape(RemoteSensor) { + position = "311.841 316.059 67.1213"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "48"; + }; + new WayPoint(Remote_Base) { + position = "336.923 315.946 56.3996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Remote Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Base"; + team = "1"; + + locked = "true"; + }; + }; + }; + new StaticShape() { + position = "-171.873 403.914 58.3249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-171.874 403.912 58.6133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "-171.874 403.912 58.6133 1 0 0 0"; + team = "1"; + WayPoint = "4721"; + locked = "true"; + Target = "49"; + isHome = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "139.873 -372.139 54.6513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "80"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-351.373 -284.619 51.8967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "20"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new SimGroup(Flagbase) { + + powerCount = "2"; + + new InteriorInstance(MainBase) { + position = "140.043 -371.967 36.1813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-base1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new SimGroup(Turrets) { + + powerCount = "2"; + + new Turret(OutsideElf1) { + position = "140.06 -417.829 58.4174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "2"; + locked = "true"; + Target = "50"; + }; + new Turret(OutsideElf2) { + position = "140.012 -326.123 58.4174"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "2"; + locked = "true"; + Target = "51"; + }; + }; + new SimGroup(Inventories) { + + powerCount = "2"; + + new StaticShape(OutsideInv1) { + position = "94.869 -371.959 58.4155"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4564"; + team = "2"; + locked = "true"; + Target = "52"; + }; + new StaticShape(OutsideInv2) { + position = "185.229 -371.979 58.4155"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4566"; + team = "2"; + locked = "true"; + Target = "53"; + }; + new StaticShape(InsideInv1) { + position = "146.396 -384.882 34.6877"; + rotation = "0 0 1 160"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4568"; + team = "2"; + locked = "true"; + Target = "54"; + }; + new StaticShape(InsideInv2) { + position = "152.973 -378.33 34.6877"; + rotation = "0 0 1 110"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4570"; + team = "2"; + locked = "true"; + Target = "55"; + }; + }; + }; + new StaticShape(Generator1) { + position = "133.645 -371.956 26.6811"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + team = "2"; + locked = "true"; + Target = "56"; + }; + new StaticShape(Generator2) { + position = "146.442 -371.963 26.6711"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + team = "2"; + locked = "true"; + Target = "57"; + }; + new SimGroup(Sensors) { + + powerCount = "2"; + + new InteriorInstance(Stand1) { + position = "269.198 -252.942 100.283"; + rotation = "0 0 1 177.8"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape(MedSensor1) { + position = "269.538 -252.809 102.743"; + rotation = "0 0 1 239.679"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "58"; + }; + new InteriorInstance(Stand2) { + position = "32.583 -501.609 110.12"; + rotation = "0 0 1 59.0152"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape(MedSensor2) { + position = "32.303 -501.375 112.58"; + rotation = "0 0 1 120.894"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "59"; + }; + new InteriorInstance(Stand3) { + position = "306.952 -478.944 102.234"; + rotation = "0 0 1 206.448"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape(MedSensor3) { + position = "307.314 -478.991 104.694"; + rotation = "0 0 -1 91.6731"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "60"; + }; + new InteriorInstance(Stand4) { + position = "-62.7071 -246.114 113.707"; + rotation = "0 0 1 177.8"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape(MedSensor4) { + position = "-62.3671 -245.981 116.167"; + rotation = "0 0 1 239.679"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "61"; + }; + }; + new SimGroup(Remote_Base) { + + providesPower = "1"; + powerCount = "3"; + + new InteriorInstance() { + position = "-344.051 -255.858 70.4967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-base2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape(RemoteInv1) { + position = "-370.822 -273.162 57.4739"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4585"; + team = "2"; + locked = "true"; + Target = "62"; + }; + new StaticShape(RemoteInv2) { + position = "-371.021 -293.976 57.4814"; + rotation = "0 0 1 202.254"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4587"; + team = "2"; + locked = "true"; + Target = "63"; + }; + new StaticShape() { + position = "-347.742 -283.655 68.1257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationPos = "-362.86 -283.734 73.3558"; + mobileBaseVehicle = "Removed"; + station = "4735"; + team = "2"; + locked = "true"; + Target = "64"; + ready = "1"; + stationRot = "-0 0 -1 90"; + }; + new StaticShape(RemoteSensor) { + position = "-368.415 -283.602 78.8316"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "65"; + }; + new WayPoint() { + position = "-343.209 -283.729 67.5367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Remote Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Base"; + team = "2"; + + locked = "true"; + }; + }; + }; + new StaticShape() { + position = "140.051 -371.987 57.6193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "140.042 -371.958 57.9478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "140.042 -371.958 57.9478 1 0 0 0"; + team = "2"; + WayPoint = "4722"; + locked = "true"; + Target = "66"; + isHome = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new SimGroup(Tanks) { + + powerCount = "0"; + + new InteriorInstance(Tank1) { + position = "-240.808 335.341 81.6981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(Tank2) { + position = "324.427 -349.97 116.167"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank3) { + position = "-472.009 -362.199 54.2341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank4) { + position = "495.358 246.57 80.1597"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank5) { + position = "166.843 19.7098 107.831"; + rotation = "0 0 1 26.9291"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank6) { + position = "-384.181 -11.7693 93.1906"; + rotation = "0 0 -1 9.16737"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank7) { + position = "405.625 671.163 95.3375"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank8) { + position = "337.994 -743.096 63.6733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank9) { + position = "974.462 -258.673 83.6744"; + rotation = "0 0 -1 4.58367"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank10) { + position = "-752.78 738.016 92.3581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank11) { + position = "-922.587 72.8511 137.195"; + rotation = "0 0 1 9.74035"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank12) { + position = "-971.457 -625.674 235.771"; + rotation = "0 0 1 17.7617"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank13) { + position = "-534.058 -896.941 97.1962"; + rotation = "0 0 -1 8.59438"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank14) { + position = "-134.002 -384.695 170.565"; + rotation = "0 0 1 48.7014"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank15) { + position = "-44.8515 -5.04878 97.5768"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(tank16) { + position = "36.0439 301.443 110.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Sinks) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-300.06 500.025 59.6072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-132.187 324.032 45.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-148.088 107.906 71.0818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "59.9182 -411.985 46.1333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "228.019 -252.183 71.2463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "28.2011 44.1579 80.1557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "499.926 -531.962 72.2267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "211.973 332.322 56.7394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-172.067 795.856 83.7563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-587.998 163.92 42.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-244.085 -236.002 76.4398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "372.057 -12.126 44.0295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "700.145 59.9029 52.6731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "443.985 572.188 45.9477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "227.696 -83.9276 124.172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "275.872 -580.048 50.8664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "67.9675 588.403 74.6034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Tunnels) { + + powerCount = "0"; + + new InteriorInstance() { + position = "71.6081 343.073 90.8225"; + rotation = "0 0 1 98.5381"; + scale = "1 1 1"; + interiorFile = "nycto-tunnel-1.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-128.94 -322.295 102.781"; + rotation = "0 0 -1 79.4692"; + scale = "1 1 1"; + interiorFile = "nycto-tunnel-1.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + }; + new SimGroup(Pipes) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-15.1502 -270.568 88.3351"; + rotation = "0 0 -1 115.165"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-176.409 229.14 109.524"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-83.1291 411.025 110.393"; + rotation = "-0.284148 0.871428 -0.399842 67.1265"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-200.175 -524.473 139.442"; + rotation = "0.267191 0.648006 0.713231 65.7696"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "154.177 -743.28 58.8345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "85.0319 73.1587 110.8"; + rotation = "0 0 1 49.8473"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "138.829 -169.632 72.1181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-186.057 46.044 133.285"; + rotation = "0 0 1 163.866"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-493.316 -149.059 122.792"; + rotation = "-0.499748 -0.388318 -0.774249 44.346"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-565.892 -516.483 88.4178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-472.598 246.273 107.19"; + rotation = "0 0 1 30.3667"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "425.471 -281.225 141.702"; + rotation = "0 0 -1 44.1178"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "118.039 -495.035 146.6"; + rotation = "0.331514 -0.547609 -0.768259 88.5336"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "348.661 140.113 176.078"; + rotation = "0.950566 0.25452 -0.177889 72.6516"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "288.271 553.23 117.025"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "595.551 -55.1237 57.5806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "687.868 386.842 114.802"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "144.053 372.411 166.94"; + rotation = "0 -1 0 67.609"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-406.013 802.75 64.1499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-784.426 376.167 69.4321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-911.544 -147.56 56.4625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1002.59 -478.084 94.8496"; + rotation = "0 0 1 50.9933"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "613.007 -383.79 56.9574"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "722.815 -686.869 109.232"; + rotation = "-0.0588048 0.956763 -0.284861 60.8836"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-373.963 -857.829 76.3487"; + rotation = "0 0 -1 69.9008"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-862.835 -794.417 165.019"; + rotation = "-0.303319 -0.759413 0.575577 69.5162"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-293.391 -164.714 130.757"; + rotation = "0 0 1 36.0964"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "8.13099 -109.54 176.112"; + rotation = "0.250627 -0.884713 -0.393025 64.8221"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "37.0213 148.023 103.102"; + rotation = "0 0 -1 18.9076"; + scale = "1 1 1"; + interiorFile = "nycto-ec4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-337.872 421.801 115.284"; + rotation = "0 0 1 215.615"; + scale = "1 1 1"; + interiorFile = "nycto-ec3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-258.534 611.795 171.103"; + rotation = "-0.984379 0.170811 0.0426756 54.3302"; + scale = "1 1 1"; + interiorFile = "nycto-ec5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Items) { + + powerCount = "0"; + + new Item() { + position = "332.059 316.126 33.9553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-348.021 -283.852 45.6919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "262.756 -369.052 75.3989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "262.756 -369.052 79.5389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-236.776 490.622 91.3964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-236.776 490.622 87.2564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-stand1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(Nycto) { + + powerCount = "0"; + + new Item() { + position = "-1536 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1536 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1536 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1536 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1535 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1534 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1533 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1533 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1533 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1533 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1531 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1530 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1529 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1529 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1528 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1527 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1525 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1525 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1524 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1523 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1524 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1523 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1521 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1520 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1519 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1520 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1520 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1520 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1517 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1517 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1516 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1515 1676 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1516 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1515 1673 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1514 1675 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1514 1674 60"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-1525.13 1674.25 51.3874"; + rotation = "1 0 0 0"; + scale = "10.1565 5.1149 12.8556"; + shapeName = "bmiscf.dts"; + }; + }; + }; + new SimGroup(MiningDevices) { + + + new InteriorInstance() { + position = "343.058 -299.179 167.884"; + rotation = "-0.390448 0.857276 -0.335601 67.4767"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-51.7958 112.248 80.4317"; + rotation = "0.560499 0.50129 -0.659204 5.95065"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-641.987 -412.655 148.37"; + rotation = "-0.0819883 -0.521674 0.849196 96.641"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-433.379 583.757 132.2"; + rotation = "-0.307137 -0.425237 0.851376 38.3084"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-54.1906 491.567 117.201"; + rotation = "0.530884 -0.594361 -0.604067 54.0676"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.85 153.272 103.158"; + rotation = "0.780564 0.571501 0.253194 29.8293"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-58.5331 -593.482 176.908"; + rotation = "-0.231406 -0.856907 0.46061 39.214"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-356.09 -497.119 85.1906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-32.7979 -156.898 170.568"; + rotation = "-0.876103 0.192445 0.442051 72.5434"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-366.381 -96.9513 95.6295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "540.606 386.722 71.0704"; + rotation = "0.983853 0.1771 -0.025861 6.40555"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "260.233 -8.25613 95.0969"; + rotation = "0.565356 -0.796054 0.216035 51.2839"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "635.438 -160.238 73.6273"; + rotation = "0.849499 0.526107 -0.0395322 14.1436"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "251.455 636.476 186.195"; + rotation = "0.0395882 0.333272 0.941999 44.0401"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-707.768 240.196 69.2834"; + rotation = "0.110406 -0.272457 0.955813 45.9495"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-789.049 42.0338 103.514"; + rotation = "-0.930886 -0.362897 0.0419181 14.1468"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "273.971 203.157 80.1569"; + rotation = "-0.0349373 -0.0563499 0.9978 63.7114"; + scale = "1 1 1"; + interiorFile = "nycto-ec6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-163.392 268.835 99.1258"; + rotation = "0.690128 0.0902255 -0.718041 20.6382"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-178.475 394.831 31.7613"; + rotation = "0.155641 -0.0542615 0.986322 38.9336"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-233.72 458.355 99.7643"; + rotation = "0.0533473 -0.124263 0.990814 133.914"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "127.31 -361.442 40.1939"; + rotation = "0.0304395 -0.0797933 0.996347 138.378"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "152.348 -383.511 57.9369"; + rotation = "0.0710358 0.0296514 -0.997033 45.4339"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "216.482 -372.857 78.9898"; + rotation = "0.137796 0.133184 -0.981465 89.1215"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "0.800000 0.800000 0.800000 1.000000"; + color3 = "0.900000 0.900000 0.900000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.1"; + maxVelocity = "1"; + maxNumDrops = "500"; + maxRadius = "350"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- + + +addMaterialMapping("terrain/NyctoGlacier" , "sound: 0" , "color: 0.48 0.5 0.52 0.3 0.0"); +addMaterialMapping("terrain/NyctoSnow" , "sound: 0" , "color: 0.48 0.5 0.52 0.3 0.0"); +addMaterialMapping("terrain/NyctoRock2" , "sound: 0" , "color: 0.2 0.2 0.2 0.3 0.0"); +addMaterialMapping("terrain/NyctoRock" , "sound: 0" , "color: 0.2 0.2 0.2 0.3 0.0"); + + + diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_NoShelter.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_NoShelter.mis new file mode 100644 index 00000000..93a8f404 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_NoShelter.mis @@ -0,0 +1,845 @@ +// DisplayName = TWL-No Shelter +// MissionTypes = CTF DnD + +//--- MISSION QUOTE BEGIN --- +//No poor bastard ever won a war by dying for his country. He won it by making other bastards die for their country. +// -- George S. Patton +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by Nefilim (Editing: Unamed, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + cdTrack = "5"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1008 -656 2016 1344"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-1072 -1640 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "TWL-NoShelter.ter"; + squareSize = "8"; + emptySquares = "297179 362970 363226 297765 363482 363557 298203 363813 298533 102181 167719"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + GraphFile = "NoShelter_x2.nav"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1072 -1640 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudText[0] = "rawr"; + cloudHeightPer[0] = "0.05"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.00025"; + cloudSpeed2 = "0.003"; + cloudSpeed3 = "0.002"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.001000 1.000000"; + fogDistance = "250"; + fogColor = "0.000000 0.000000 0.001000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 7.98987e-39 4.77557e-39"; + high_fogVolume2 = "-1 1.2949e-38 1.1755e-38"; + high_fogVolume3 = "-1 2.93875e-39 2.93878e-39"; + + cloudSpeed0 = "0.000000 0.000300"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "420.702 29.7762 118.303"; + rotation = "0.153258 -0.154328 0.976061 91.7864"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-410.642 152.439 130.907"; + rotation = "0.190148 0.237832 -0.952512 105.419"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "744.401 96.883 88.1824"; + rotation = "0.951895 -0.0192477 0.305819 7.56568"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-711.92 79.9565 68.2387"; + rotation = "-0.000784206 -0.00777064 0.999969 191.525"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(team0) { + + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-714.4 111.981 100.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-711.765 59.7962 83.6477"; + rotation = "0 0 1 179.954"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-739.177 -10.4746 62.9632"; + rotation = "-0 0 -1 89.4726"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new InteriorInstance() { + position = "-724.769 -10.6141 63.2632"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(flagtower) { + + + new InteriorInstance() { + position = "-501.502 145.512 41.9467"; + rotation = "0 0 1 180.046"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-503.23 145.51 95.4553"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + }; + new StaticShape() { + position = "-266.417 127.797 150.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-266.45 127.897 126.691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-565.842 241.4 105.833"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-707.681 56.1243 61.6212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-715.584 108.017 62.642"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Item() { + position = "-715.796 54.0818 62.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-715.355 110.581 90.1291"; + rotation = "1 0.000397313 -0.000397736 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "-715.333 108.343 70.627"; + rotation = "-0 0 -1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-722.335 114.053 86.6271"; + rotation = "0 0 1 179.954"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-707.111 82.6017 63.6285"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-723.958 82.4172 63.632"; + rotation = "0 0 -1 90.0457"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-715.801 54.6242 70.1294"; + rotation = "0 0 1 178.006"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1generatorLarge2) { + position = "-723.749 56.0626 61.6432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-562.008 237.874 116.809"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new SimGroup() { + + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "738.66 87.72 134.973"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "740.48 135.95 104.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "744.06 87.72 84.173"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "744.02 85.16 111.86"; + rotation = "6.89103e-07 0.707107 -0.707107 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "744.01 87.428 91.9637"; + rotation = "0 0 1 177.479"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "751 81.75 107.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "735.698 113.15 84.9612"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "752.754 113.32 84.9687"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "744.48 141.068 91.4671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "744.475 141.653 83.6396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape(Team2generatorLarge1) { + position = "736.49 140.206 82.9845"; + rotation = "0 0 1 180.046"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2generatorLarge2) { + position = "752.461 140.151 82.9905"; + rotation = "0 0 1 180.046"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "220.782 135.843 156.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "702.161 -18.9921 83.3881"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "716.57 -19.0021 83.0881"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new SimGroup(Flagbase) { + + + new InteriorInstance() { + position = "535.51 33.49 42.3352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "537.534 33.481 95.8358"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + }; + new Turret() { + position = "532.408 144.493 100.467"; + rotation = "0 0 1 199.572"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "534.141 149.405 89.533"; + rotation = "0 0 1 199.572"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "220.749 135.913 132.622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Spires) { + + + new InteriorInstance() { + position = "-577.442 -1242.6 65.7656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "98.22 -758.474 45.2222"; + rotation = "0 0 1 55.0039"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "163.45 -263.27 72.7639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "594.25 -493.55 52.5541"; + rotation = "0 0 1 71.6197"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "38.73 -347.05 42.7072"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "34.13 -316.44 45.9614"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "59.23 -144.54 81.8605"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-429.38 -1181.14 74.2241"; + rotation = "0 0 1 56.1499"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-633.765 -1078.56 44.7925"; + rotation = "0 0 -1 29.2208"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-4.07 -1028.74 69.0179"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "111.34 -923.449 43.2556"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "90.76 -911.236 45.2606"; + rotation = "0.532221 0.790979 -0.301817 105.6"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-90.115 -765.758 50.5681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-91.522 -790.473 47.3502"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-99.42 -694.435 44.6093"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-80.6693 150.045 47.552"; + rotation = "0.0726768 0.83057 -0.552152 131.236"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-59.3812 160.977 45.547"; + rotation = "-0 0 -1 20.0536"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-243.526 387.695 48.728"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "239.547 437.986 46.5212"; + rotation = "-0 0 -1 55.004"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "217.616 426.503 49.7391"; + rotation = "0 0 1 239.106"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "574.827 313.069 47.6929"; + rotation = "0 0 1 56.1499"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-652.47 338.349 47.0951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new AudioEmitter() { + position = "241.762 -406.786 173.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_OsIris.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_OsIris.mis new file mode 100644 index 00000000..b1083780 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_OsIris.mis @@ -0,0 +1,2170 @@ +// DisplayName = TWL-Os Iris +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//O Osiris Nu, the Eye of Horus hath avenged thee. +//It hath cast down headlong all thine enemies for thee, +//and all thine enemies have been cast down headlong before thee. +// -- from "The Chapter of the Four Torches" in "The Book of the Dead" +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No Vehicles +//Map by Salieri +//--- MISSION STRING END --- +exec("particles/IrisHoverEmitter.cs"); +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-696 -544 1408 1104"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "600 -38 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.77249 0.391362 -0.500094"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Os_Iris.ter"; + squareSize = "8"; + emptySquares = "95560 95670 161351 95926 96072 96182 98131 98219 100168 100278 100424 100534 100680 100790"; + + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "MissionBlank.nav"; + YDimOverSize = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.300000 0.380000 0.200000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Iris_sky.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-405.674 -75.9755 127.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-420.744 -75.4163 105.281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-507.674 -72.3755 126.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-421.322 68.0513 104.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-406.326 67.9221 126.732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-507.674 78.8245 132.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + + new SimGroup(MainGens) { + + powerCount = "1"; + + new SimGroup(MainBase) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-409.405 -4.00493 140.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "irisbase.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-409.405 -4.00493 140.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "irisinside.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-294.489 -4.00493 120.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "iristurbase.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Details) { + + powerCount = "1"; + + new StaticShape(Honor1_1) { + position = "-405.005 -4.00493 158.793"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Honor1_2) { + position = "-404.805 -4.00493 158.793"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Strength1_1) { + position = "-400.024 67.9002 138.454"; + rotation = "-0.42908 0.42908 0.794846 103.041"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Strength1_2) { + position = "-400.024 -75.9498 138.454"; + rotation = "-0.42908 0.42908 0.794846 103.041"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity1_1) { + position = "-396.617 -75.9496 107.412"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity1_2) { + position = "-430.22 -75.9474 107.412"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity1_3) { + position = "-430.22 68.0326 107.412"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity1_4) { + position = "-396.617 68.0304 107.412"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "-404.479 -83.8271 126.723"; + rotation = "-0 0 -1 35.7063"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-409.457 -64.5919 126.781"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-408.387 -65.071 126.781"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-407.409 -65.8954 126.754"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-409.01 -65.358 126.781"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-426.714 -85.6716 104.644"; + rotation = "0 0 1 232.621"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-397.637 -75.9921 104.712"; + rotation = "-0 0 -1 89.5639"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-419.981 79.8809 126.807"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-429.081 67.9359 104.763"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-397.221 67.9887 104.764"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-405.404 59.748 126.779"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Flagbase) { + + powerCount = "1"; + + new Item() { + position = "-409.405 -4.00493 140.825"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "-409.405 -4.00493 140.825 0 0 1 1.5708"; + className = "FlagObj"; + isHome = "1"; + stand = "5632"; + team = "1"; + WayPoint = "5802"; + Target = "33"; + locked = "true"; + }; + new StaticShape() { + position = "-409.405 -4.00493 140.82"; + rotation = "0 0 -1 21.7724"; + scale = "0.1 0.1 0.1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + flag = "5630"; + Target = "-1"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-401.306 -9.03428 85.6874"; + rotation = "0 0 -1 55"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "5561"; + team = "1"; + damageTimeMS = "257658"; + Target = "34"; + locked = "true"; + }; + new SimGroup(Inventories) { + + powerCount = "1"; + + new StaticShape() { + position = "-408.287 -3.98182 165.396"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5636"; + team = "1"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "-394.81 67.9002 126.728"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5638"; + team = "1"; + Target = "36"; + locked = "true"; + }; + new StaticShape() { + position = "-401.342 76.0636 104.791"; + rotation = "0 0 1 49"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5640"; + team = "1"; + Target = "37"; + locked = "true"; + }; + new StaticShape() { + position = "-401.019 60.2973 104.791"; + rotation = "0 0 1 131"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5642"; + team = "1"; + Target = "38"; + locked = "true"; + }; + new StaticShape() { + position = "-394.81 -75.9498 126.728"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5644"; + team = "1"; + Target = "39"; + locked = "true"; + }; + new StaticShape() { + position = "-401.185 -67.996 104.791"; + rotation = "0 0 1 49"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5646"; + team = "1"; + Target = "40"; + locked = "true"; + }; + new StaticShape() { + position = "-401.229 -83.9743 104.791"; + rotation = "0 0 1 131"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5648"; + team = "1"; + Target = "41"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-400.986 0.721148 85.6874"; + rotation = "0 0 1 236"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "5510"; + lastDamagedByTeam = "1"; + lastDamagedBy = "5561"; + team = "1"; + damageTimeMS = "239732"; + Target = "42"; + locked = "true"; + }; + new SimGroup(MiscItems) { + + powerCount = "1"; + + new Item() { + position = "-437.154 -3.97905 85.975"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-419.986 79.8547 127.901"; + rotation = "0 0 -1 0.104678"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-404.58 -83.6589 128.831"; + rotation = "0 0 -1 35"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(Turrets) { + + powerCount = "1"; + + new Turret() { + position = "-293.789 -4.00493 120.001"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Flag Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + Target = "43"; + locked = "true"; + }; + new Turret() { + position = "-386.893 -4.00229 91.8258"; + rotation = "0 0.999876 0.0157251 8.0436"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "44"; + locked = "true"; + }; + }; + new SimGroup(Sensors) { + + powerCount = "1"; + + new StaticShape() { + position = "-409.459 -3.98836 173.598"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Eye"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "45"; + locked = "true"; + }; + }; + }; + new SimGroup(FFGens) { + + powerCount = "0"; + + new SimGroup(FFs) { + + powerCount = "0"; + }; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "397.307 68.0357 127.03"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "412.372 67.3497 105.281"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "499.273 63.5784 126.03"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "411.743 -76.1177 104.602"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "396.749 -75.8624 126.732"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "498.002 -87.6164 132.83"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + + new SimGroup(FFGens) { + + powerCount = "0"; + + new SimGroup(FFs) { + + powerCount = "0"; + }; + }; + new SimGroup(MainGens) { + + powerCount = "2"; + + new SimGroup(MainBase) { + + powerCount = "2"; + + new InteriorInstance() { + position = "401.3 -3.96249 140.793"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "irisbase.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "401.3 -3.96249 140.793"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "irisinside.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "286.017 -3.96249 120.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "iristurbase.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(Details) { + + powerCount = "2"; + + new StaticShape(Honor2_1) { + position = "396.725 -4.00493 158.793"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Honor2_2) { + position = "396.925 -4.00493 158.793"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Strength2_1) { + position = "391.9 -75.8468 138.454"; + rotation = "-0.428521 -0.429204 -0.795081 103.114"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Strength2_2) { + position = "391.9 68.0434 138.454"; + rotation = "-0.428521 -0.429204 -0.795081 103.114"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity2_1) { + position = "388.504 67.9975 107.412"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity2_2) { + position = "422.107 68.0487 107.412"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity2_3) { + position = "422.097 -75.9311 107.412"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Unity2_4) { + position = "388.494 -75.9824 107.412"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "396.546 75.8216 126.723"; + rotation = "0 0 1 144.385"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "401.493 56.5785 126.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "400.424 57.0593 126.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "401.048 57.3453 126.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "399.447 57.8853 126.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "418.784 77.6307 104.644"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "389.691 67.9975 104.712"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "389.046 -75.9824 104.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "420.906 -75.9802 104.763"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "397.242 -67.7548 126.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "411.787 -87.9107 126.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + locked = "true"; + }; + }; + new SimGroup(Flagbase) { + + powerCount = "2"; + + new Item() { + position = "401.3 -3.96249 140.825"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "401.3 -3.96249 140.825 0 0 1 1.5708"; + className = "FlagObj"; + isHome = "1"; + stand = "5704"; + WayPoint = "5803"; + team = "2"; + Target = "46"; + locked = "true"; + }; + new StaticShape() { + position = "401.3 -3.96245 140.82"; + rotation = "0 0 -1 21.7724"; + scale = "0.1 0.1 0.1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + flag = "5702"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(Inventories) { + + powerCount = "2"; + + new StaticShape() { + position = "400.121 -3.90303 165.396"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5707"; + team = "2"; + Target = "47"; + locked = "true"; + }; + new StaticShape() { + position = "386.758 -75.8063 126.728"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5709"; + team = "2"; + Target = "48"; + locked = "true"; + }; + new StaticShape() { + position = "393.303 -83.9594 104.791"; + rotation = "0 0 1 228.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5711"; + team = "2"; + Target = "49"; + locked = "true"; + }; + new StaticShape() { + position = "392.955 -68.1935 104.791"; + rotation = "-0 0 -1 49.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5713"; + team = "2"; + Target = "50"; + locked = "true"; + }; + new StaticShape() { + position = "386.529 68.0434 126.728"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5715"; + team = "2"; + Target = "51"; + locked = "true"; + }; + new StaticShape() { + position = "392.917 60.0999 104.791"; + rotation = "0 0 1 228.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5717"; + team = "2"; + Target = "52"; + locked = "true"; + }; + new StaticShape() { + position = "392.935 76.0782 104.791"; + rotation = "-0 0 -1 49.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5719"; + team = "2"; + Target = "53"; + locked = "true"; + }; + }; + new SimGroup(MiscItems) { + + powerCount = "2"; + + new Item() { + position = "428.936 -3.98162 85.975"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "411.769 -87.9425 127.901"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "396.498 75.8821 128.68"; + rotation = "0 0 -1 36.6"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + }; + new StaticShape() { + position = "393.206 1.13227 85.6874"; + rotation = "0 0 1 124.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + locked = "true"; + }; + new StaticShape() { + position = "392.901 -8.6235 85.6874"; + rotation = "0 0 1 55.9087"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "55"; + locked = "true"; + }; + new SimGroup(Turrets) { + + powerCount = "2"; + + new Turret() { + position = "286.017 -3.96249 120.001"; + rotation = "0 0 1 89.3358"; + scale = "1 1 1"; + nameTag = "Flag Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + zappingSound = "0"; + team = "2"; + Target = "56"; + locked = "true"; + }; + new Turret() { + position = "378.774 -3.97558 91.8214"; + rotation = "0.0499785 0.000290963 0.99875 179.337"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "57"; + locked = "true"; + }; + }; + new SimGroup(Sensors) { + + powerCount = "2"; + + new StaticShape() { + position = "401.318 -3.96049 173.598"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Eye"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "58"; + locked = "true"; + }; + }; + }; + }; + new SimSet(TrackerTeam_0) { + + team = "2"; + + new ScriptObject() { + + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + className = "PlayerRep"; + guid = "0"; + packetLoss = "0"; + name = "\x10\c8Salieri\x11"; + clientId = "10570"; + isListening = "0"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + targetId = "32"; + canListen = "0"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-4.78705 -3.96249 116.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "irismonu.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "21.5721 -52.3001 107.245"; + rotation = "-0.77699 0.614341 -0.137378 32.1119"; + scale = "1 1 1"; + interiorFile = "irisruins1.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-18.473 41.3316 104.682"; + rotation = "0.426713 0.892104 0.148548 42.6339"; + scale = "1 1 1"; + interiorFile = "irisruins1.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "76.4383 -9.40526 121.408"; + rotation = "0.0256367 -0.930404 0.365639 62.0286"; + scale = "1 1 1"; + interiorFile = "irisruin3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "71.5343 -0.896625 119.982"; + rotation = "0.465955 0.176658 0.866994 153.393"; + scale = "1 1 1"; + interiorFile = "irisruin3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "66.8241 -7.57254 117.458"; + rotation = "0.16828 0.978745 -0.117218 73.4432"; + scale = "1 1 1"; + interiorFile = "irisruin2.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-57.419 -25.7856 113.562"; + rotation = "-0.252519 -0.538585 0.803841 132.105"; + scale = "1 1 1"; + interiorFile = "irisruin3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-57.5348 2.29659 111.037"; + rotation = "0.819811 0.25878 0.510825 126.858"; + scale = "1 1 1"; + interiorFile = "irisruin3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-65.6359 -7.42713 116.996"; + rotation = "0.179695 -0.974772 0.132399 74.1691"; + scale = "1 1 1"; + interiorFile = "irisruin2.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter(Bird1_1) { + position = "-105.113 -94.1875 149.612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Bird3_1) { + position = "134.575 132.691 175.281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Wind) { + position = "3.63857 -7.65454 184.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.15"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Crickets) { + position = "-5.61423 -2.92623 129.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(River2_1) { + position = "-314.401 -2.79196 102.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Frog1_1) { + position = "-314.081 -3.02289 102.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Static_1) { + position = "286.017 -3.96249 111.983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/IrisStaticSweep.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "40"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "500"; + type = "EffectAudioType"; + }; + new AudioEmitter(Static_2) { + position = "-294.489 -4.00493 112.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/IrisStaticSweep.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "40"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "500"; + type = "EffectAudioType"; + }; + new AudioEmitter(Leaves_1) { + position = "-231.14 -88.2839 149.904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/leavesrustling.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(River2_2) { + position = "307.544 -6.51719 95.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Frog1_2) { + position = "307.864 -6.74812 95.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Leaves_2) { + position = "216.753 -93.1654 150.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/leavesrustling.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Bird1_2) { + position = "655.018 102.723 194.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Bird3_2) { + position = "-668.932 107.968 192.292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Bird3_3) { + position = "-98.2016 -489.095 151.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Bird1_3) { + position = "-7.74549 526.731 152.064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter(Leaves_3) { + position = "35.1761 342.965 141.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/leavesrustling.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Leaves_4) { + position = "26.9028 -359.932 141.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/leavesrustling.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-18.7742 -5.80733 166.616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-411.157 2.54895 204.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "399.572 -3.4571 189.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new SimGroup(Water) { + + powerCount = "0"; + + new WaterBlock(Water1) { + position = "-344 -64 81.898"; + rotation = "1 0 0 0"; + scale = "64 128 11.5"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0.1"; + surfaceTexture = "LiquidTiles/Riverdance_water_1"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + extent = "100 100 10"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + locked = "true"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + }; + new WaterBlock(water2) { + position = "272 -64 81.898"; + rotation = "1 0 0 0"; + scale = "64 128 11.5"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0.1"; + surfaceTexture = "LiquidTiles/Riverdance_water_1"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params1 = "0.63 -2.41 0.33 0.21"; + extent = "100 100 10"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + locked = "true"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + }; + }; + new SimGroup(MissionParticles) { + powerCount = "0"; + + new ParticleEmissionDummy() { + position = "286.017 -3.96249 111.983"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "IrisHoverEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-294.489 -4.00493 112.198"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "IrisHoverEmitter"; + velocity = "1"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(BESmTreegrp) { + + powerCount = "0"; + + new TSStatic() { + position = "-234.732 -90.5696 133.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-72.8089 148.841 147.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "216.885 -94.4717 135.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "26.5432 -359.325 125.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "36.4952 343.79 124.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(BELgTreegrp) { + + powerCount = "0"; + + new TSStatic() { + position = "135.971 134.28 159.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-101.925 -96.9945 135.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-7.38177 525.942 132.407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-97.6965 -488.184 135.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-670.893 106.25 177.909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "653.692 105.094 175.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(BEPlantgrp) { + + powerCount = "0"; + + new TSStatic() { + position = "-271.477 -54.3344 117.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "-236.69 78.9205 134.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-14.1008 -281.612 109.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg32.dts"; + }; + new TSStatic() { + position = "129.178 -160.887 157.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "200.829 106.798 140.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "152.664 176.885 153.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1.45952 279.608 110.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "-178.198 148.694 153.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-640.271 -153.96 161.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "-584.063 9.27257 112.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "645.226 -119.464 175.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "513.711 -62.9564 118.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + }; + new SimGroup(BERocks) { + + powerCount = "0"; + + new InteriorInstance() { + position = "22.4112 23.2528 107.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.0647 15.547 106.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.1861 -24.2778 104.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "20.8759 -28.5637 106.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Pandemonium.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Pandemonium.mis new file mode 100644 index 00000000..a91fc871 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Pandemonium.mis @@ -0,0 +1,2687 @@ +// DisplayName = TWL-Pandemonium +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Farewell happy fields, +//Where joy forever dwells: hail, horrors! +// -- John Milton +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Rilke (Assisted: Inf. Butcher, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "Pandemonium"; + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-592 -656 1216 1296"; + flightCeiling = "300"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.320000 0.300000 0.300000 1.000000"; + ambient = "0.220000 0.190000 0.220000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-Pandemonium.ter"; + squareSize = "8"; + emptySquares = "82056 87938 108162 113528 128668"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + GraphFile = "Pandemonium_x2.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "235.851 518.517 146.701"; + rotation = "1 0 0 0"; + scale = "1 0.989802 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "60"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "111.255 347.054 146.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "40"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new Turret(Team1TurretBaseLarge1) { + position = "193.401 406.564 150.122"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-50.1643 474.892 138.011"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "179.379 427.156 145.132"; + rotation = "0 0 -1 44.1178"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "29.9752 305.357 127.818"; + rotation = "0 1 0 0.0395647"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-511.314 -534.715 73.9126"; + rotation = "1 0 0 11.4592"; + scale = "4.01375 5.40638 3.64599"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28.0593 313.076 127.468"; + rotation = "0.399452 0.150772 0.904271 48.6948"; + scale = "1.1044 1.12671 1.10462"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new Item() { + position = "28.1038 313.507 128.592"; + rotation = "0 0 1 226.396"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "237.485 485.475 144.744"; + rotation = "0 0 1 180.482"; + scale = "1.49261 1 1.46574"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "193.399 405.988 148.132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "237.557 509.317 142.773"; + rotation = "1 0 0 0"; + scale = "1.38708 1.29462 1.30757"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "230.008 499.586 144.966"; + rotation = "0 1 0 20.6265"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new WayPoint() { + position = "236.483 499.532 127.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new StaticShape() { + position = "237.586 513.861 144.715"; + rotation = "1 0 0 0"; + scale = "1.51699 1 1.45781"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "341.555 495.173 123.349"; + rotation = "1 0 0 0"; + scale = "3.39924 3.89097 2.94208"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-301.309 -118.795 111.181"; + rotation = "0 -1 0 7.44851"; + scale = "2.19354 2.30055 1.67169"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "245.97 504.907 134.964"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-90.6135 212.266 153.824"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-90.6895 212.231 143.899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-59.8059 474.924 133.118"; + rotation = "0 0 -1 0.181308"; + scale = "1.20739 1.00869 1.10462"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "-59.7858 474.268 142.508"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge3) { + position = "20.3797 306.138 134.339"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "20.3719 306.784 124.95"; + rotation = "0 0 -1 0.181308"; + scale = "1.20739 1.00869 1.10462"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "20.3084 314.839 126.407"; + rotation = "1 0 0 0"; + scale = "1.19556 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "230.764 499.673 146.425"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "225.843 464.841 134.358"; + rotation = "0.0154857 -0.99987 -0.00453693 36.1008"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "29.613 307.844 127.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new Item() { + position = "10.2096 -324.836 75.1333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "225.092 489.929 134.412"; + rotation = "-0.0720841 0.994097 -0.0810903 46.7314"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new Item() { + position = "246.13 504.908 137.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-59.692 482.972 135.944"; + rotation = "1 0 0 0"; + scale = "1.22447 1 0.800666"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "244.375 499.639 146.425"; + rotation = "-1.3938e-09 4.19095e-09 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "222.644 465.395 133.065"; + rotation = "4.14559e-08 6.0536e-09 1 16.6157"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "247.322 544.168 122.009"; + rotation = "0.116581 0.0519558 0.991821 120.634"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-63.0047 482.353 135.986"; + rotation = "0 -1 0 0.574711"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "527.825 180.543 130.052"; + rotation = "-0.466781 0.866744 -0.175698 46.9479"; + scale = "1.48713 1.57723 1.67037"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-69.7267 475.269 136.461"; + rotation = "0.0200106 -0.0199947 0.9996 89.9773"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.1495 474.941 135.955"; + rotation = "-0.00499992 -0.0050039 0.999975 89.9558"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "573.665 492.046 114.257"; + rotation = "-0.44673 -0.894266 0.026836 7.68616"; + scale = "1.42675 2.14183 1.63508"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new Item() { + position = "-69.6637 474.259 138.691"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "25"; + locked = "true"; + }; + new TSStatic() { + position = "-67.8417 480.861 136.279"; + rotation = "0.0099962 -0.0269654 -0.999586 40.6955"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Item() { + position = "-67.3852 481.296 137.388"; + rotation = "0 0 -1 82.1155"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "-69.6756 476.301 138.689"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "25"; + locked = "true"; + }; + new Item() { + position = "-68.1571 480.568 137.387"; + rotation = "0 0 -1 82.1155"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "29.9841 305.346 129.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "29.6099 307.86 129.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item(Teamflag1) { + position = "-23.4429 354.351 110.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new TSStatic() { + position = "436.896 413.898 87.1716"; + rotation = "0.0216725 -0.0299885 0.999315 108.326"; + scale = "1.77891 2.3134 1.84846"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564.417 175.25 128.335"; + rotation = "0 0 1 60.1606"; + scale = "1.96878 1.94764 1.78365"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-179.355 -534.692 116.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "60"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-67.319 -388.946 126.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "40"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new WayPoint() { + position = "-178.563 -521.289 106.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new TSStatic() { + position = "-169.622 -526.74 108.523"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "-178.438 -535.211 118.352"; + rotation = "0 0 1 179.909"; + scale = "1.49533 1 1.45879"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-176.629 -457.771 107.541"; + rotation = "0 0 -1 50.9932"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item(Team2flag1) { + position = "71.9615 -392.47 74.0616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-178.329 -506.83 118.419"; + rotation = "1 0 0 0"; + scale = "1.50067 1 1.44406"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "204.664 -338.304 131.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "-186.476 -521.084 118.341"; + rotation = "0 1 0 16.6159"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-178.382 -511.448 116.313"; + rotation = "1 0 0 0"; + scale = "1.38841 1.29425 1.30371"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-176.937 -459.72 107.931"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-105.595 -429.474 109.191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-105.589 -429.996 111.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "204.715 -338.24 121.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "67.742 -506.843 81.9467"; + rotation = "0 0 1 179.909"; + scale = "1.20739 1.00869 1.10462"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "67.777 -506.19 91.3367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "19.7396 -322.289 79.1794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "19.7046 -322.942 69.7894"; + rotation = "0 0 1 179.909"; + scale = "1.20739 1.00869 1.10462"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "19.8048 -330.917 72.1487"; + rotation = "0 0 1 179.909"; + scale = "1.34641 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "11.7402 -328.317 73.0712"; + rotation = "-0.0348513 -0.0898547 0.995345 42.5795"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-163.404 -530.049 107.362"; + rotation = "0 -1 0 0.0395647"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "11.7858 -328.37 74.1112"; + rotation = "-0.0348513 -0.0898547 0.995345 42.5795"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-163.907 -530.058 105.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-185.12 -521.125 119.958"; + rotation = "-1.629e-08 -3.25963e-09 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "10.5003 -326.558 73.2907"; + rotation = "-1 0 0 0.0559529"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "10.1652 -324.826 73.1845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "-171.685 -521.141 119.952"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "11.8904 -328.396 75.4231"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "-162.101 -484.824 105.772"; + rotation = "-0.478424 0.0263399 0.877734 7.17843"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.0036 -507.619 85.4908"; + rotation = "0.00999933 0.0100073 0.9999 89.9601"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-167.954 -484.893 105.748"; + rotation = "-0.0399781 -0.0237362 0.998919 118.657"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "59.2874 -512.442 85.6264"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "59.369 -512.574 87.5681"; + rotation = "0.0591946 0.159681 0.985392 41.2327"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-177.243 -460.003 105.93"; + rotation = "0.608262 -0.793591 -0.0152097 12.2565"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-176.983 -457.769 105.446"; + rotation = "0.196902 -0.980417 0.0034283 11.6866"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new Item() { + position = "10.4978 -326.569 74.4907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "57.9354 -506.582 87.8963"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "58.0098 -508.335 87.8963"; + rotation = "0 0 1 86.5167"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "75.8698 -512.953 85.3035"; + rotation = "0.0249352 -0.0704909 -0.997201 39.0623"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Item() { + position = "75.4718 -513.225 86.5192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "76.3912 -512.548 86.5192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + locked = "true"; + }; + new TSStatic() { + position = "-51.7411 480.676 135.855"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Item() { + position = "-51.6222 480.594 137.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "63.6594 -514.913 86.772"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "63.6683 -514.921 85.6021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "77.464 -509.509 85.1635"; + rotation = "0 -1 0 1.1467"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new Item() { + position = "179.032 429.017 144.713"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "77.5547 -509.487 87.2641"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-62.9327 482.353 136.646"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "179.165 427.282 142.644"; + rotation = "0.0548574 0.134462 0.989399 90.128"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new Item() { + position = "77.266 -505.672 85.8624"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "77.3853 -505.751 84.8661"; + rotation = "0.0499367 1.98875e-05 0.998752 90.0975"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Item() { + position = "-169.723 -526.727 110.583"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter(rumbling_thunder) { + position = "-10.918 388.954 109.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "7000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird) { + position = "-70.2544 808.684 125.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "6000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird) { + position = "222.007 787.903 136.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(rumbling_thunder) { + position = "-24.6263 169.674 109.682"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "4000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new Lightning(lightning2) { + position = "-472.958 -87.0076 79.7052"; + rotation = "1 0 0 0"; + scale = "512 986.264 754.175"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "5"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "-353.029 414.446 137.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "251.478 557.792 120.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "74.6126 -831.457 128.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "-75.2992 -6.27166 117.981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new Lightning(Lightning) { + position = "537.356 -58.3591 103.076"; + rotation = "1 0 0 0"; + scale = "568.213 1135.69 877.404"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "5"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 10.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new AudioEmitter(Bird) { + position = "-175.927 338.149 146.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird) { + position = "22.6544 178.333 191.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "-216.288 119.634 121.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "-357.733 -947.954 84.8065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "343.315 -519.204 95.9768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "429.472 139.424 102.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + + new InteriorInstance() { + position = "-150.21 -394.374 94.118"; + rotation = "-0.587429 0.796405 -0.143754 70.1649"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "163.29 -561.976 133.088"; + rotation = "2.28179e-08 -3.35276e-08 1 89.9544"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-590.806 16.4119 115.983"; + rotation = "0 0 -1 69.9009"; + scale = "4.20801 8.21911 3.68416"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-232.819 -483.116 90.92"; + rotation = "-0.528155 0.770886 0.356072 72.0634"; + scale = "2.89145 2.96008 2.73704"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-352.447 466.706 136.99"; + rotation = "0 1 0 55.5769"; + scale = "3.42096 6.55745 4.0737"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "937.56 -7.15943 128.828"; + rotation = "0.484725 0.177376 0.856493 145.196"; + scale = "1.48252 1.66455 1.57242"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "552.807 -436.579 131.649"; + rotation = "1 0 0 0"; + scale = "2.31079 2.04737 3.36004"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic(burningtree) { + position = "166.513 3.53894 148.581"; + rotation = "-0.173098 0.0836161 0.981349 52.4162"; + scale = "1.51336 1.52435 1.46811"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(observer1) { + position = "7.94327 389.985 112.994"; + rotation = "0 0 1 218.87"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(observer2) { + position = "62.4807 -348.716 85.8392"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(Observer3) { + position = "244.217 487.542 148.142"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(Observer5) { + position = "-185.769 -533.977 121.05"; + rotation = "0 0 1 34.3775"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-23.4015 354.489 102.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "71.9949 -392.347 65.9985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-12.9009 113.092 168.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.490000 0.490000 0.490000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.4"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "75"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree18) { + + + new TSStatic() { + position = "-124 -636 119.312"; + rotation = "-0.345724 -0.424998 -0.836572 33.1921"; + scale = "3.2 3.2 3.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524 -652 135.609"; + rotation = "-0.0329579 -0.0372356 -0.998763 16.0197"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -100 88.8438"; + rotation = "-0.0466976 -0.00658103 0.998887 195.983"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -812 114.109"; + rotation = "-0.0900102 -0.121624 -0.988487 118.584"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 668 93.2812"; + rotation = "0.156316 0.056695 0.986079 171.125"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -100 68.4375"; + rotation = "0.40456 0.305299 0.862046 34.5335"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -972 89.8281"; + rotation = "-0.479831 -0.624393 -0.616357 8.10376"; + scale = "3.2 3.2 3.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 740 122.203"; + rotation = "-0.0456865 -0.102382 -0.993695 84.3605"; + scale = "3.5 3.5 3.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 68 95.8282"; + rotation = "0.194787 0.048671 -0.979637 43.8102"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 236 104.219"; + rotation = "0.191774 -0.105585 0.975743 230.9"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -772 76.7657"; + rotation = "0.0306094 -0.0675491 0.997246 141.099"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -836 110.859"; + rotation = "0.14135 0.198105 0.969935 48.2924"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 228 171.328"; + rotation = "0.134757 -0.00866689 0.990841 112.488"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 420 86.4532"; + rotation = "0.141103 0.059862 0.988183 100.67"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 300 110.313"; + rotation = "-0.0147863 -0.334413 0.942311 64.0195"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 556 82.75"; + rotation = "0.203544 -0.119416 0.971756 129.282"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 220 103.672"; + rotation = "-0.370899 0.0157838 -0.928539 23.6473"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 268 150.844"; + rotation = "0.0858521 0.0776932 0.993274 95.3849"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -868 115.516"; + rotation = "0.00557675 -0.0310571 0.999502 104.027"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 828 84.0938"; + rotation = "0.267631 -0.1468 0.952273 43.909"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -188 81.6094"; + rotation = "0.120877 0.0898672 0.988591 200.766"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -332 83.8594"; + rotation = "-0.213537 -0.12 -0.969537 75.7112"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -708 108.484"; + rotation = "-0.0615301 -0.191389 0.979584 146.655"; + scale = "3.1 3.1 3.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 644 98.516"; + rotation = "-0.139334 0.23296 0.962453 100.165"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 796 87.1094"; + rotation = "-0.111958 -0.48348 -0.868166 30.9158"; + scale = "3.5 3.5 3.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 348 94.1875"; + rotation = "0.0149936 0.173005 0.984807 153.395"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 52 83.3906"; + rotation = "0.128994 0.0206492 -0.99143 96.49"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -668 124.437"; + rotation = "-0.0215929 0.137942 0.990205 105.545"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -868 121.422"; + rotation = "0.21768 -0.00704742 0.975995 60.2007"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 -652 87.6406"; + rotation = "0.0723271 0.098294 -0.992526 103.418"; + scale = "3.4 3.4 3.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -844 88.0312"; + rotation = "-0.00406082 -0.042812 -0.999075 114.048"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -684 107.109"; + rotation = "-0.163656 -0.401975 -0.900907 21.0456"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 724 113.125"; + rotation = "-0.329302 0.381824 -0.86358 34.4756"; + scale = "3.5 3.5 3.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -956 88.8282"; + rotation = "0.0810348 0.0760558 0.993805 97.3535"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -940 118.406"; + rotation = "-0.0129818 -0.0805976 0.996662 210.901"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 172 112.891"; + rotation = "0.221128 0.0863192 0.971417 25.7115"; + scale = "3.1 3.1 3.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -252 76.4062"; + rotation = "0.0211759 -0.0834339 0.996288 76.2068"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 364 96.5"; + rotation = "0.149906 -0.34305 -0.927278 53.3936"; + scale = "3.4 3.4 3.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -268 87.7031"; + rotation = "0.0952366 0.115366 0.988747 151.313"; + scale = "3.5 3.5 3.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 148 108"; + rotation = "0.0145575 -0.00518715 0.999881 114.007"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 308 102.234"; + rotation = "-0.147438 -0.0832221 -0.985564 63.7444"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "138.214 -504.831 123.673"; + rotation = "0.00102029 0.0114824 0.999934 122.12"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 -324 76.3125"; + rotation = "-0.135898 0.144278 0.980161 197.649"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 76 89.0625"; + rotation = "-0.0818164 -0.228059 0.970204 110.631"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 756 114.594"; + rotation = "-0.0588748 -0.0529904 0.996858 213.899"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -652 136.047"; + rotation = "0.365944 -0.0387513 0.92983 28.9548"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 748 120.547"; + rotation = "0.00361771 0.0929783 0.995662 83.2474"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 284 99.203"; + rotation = "-0.114605 -0.0619735 -0.991476 118.432"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 -164 87.4219"; + rotation = "-0.00382498 0.195393 -0.980718 100.1"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 44 108.531"; + rotation = "-0.802214 -0.0665578 0.593315 25.0216"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 316 132.406"; + rotation = "-0.110339 0.061178 0.992009 110.431"; + scale = "3.4 3.4 3.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 788 73.1562"; + rotation = "-0.106807 0.0863217 0.990526 223.623"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 628 70.3281"; + rotation = "-0.93594 -0.157559 -0.314946 21.9806"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 708 79.9375"; + rotation = "0.00752461 -0.0323735 -0.999448 85.0316"; + scale = "3.1 3.1 3.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -380 114.391"; + rotation = "-0.0133422 -0.141749 -0.989813 49.4445"; + scale = "2.8 2.8 2.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -292 74.0937"; + rotation = "-0.59465 -0.155812 -0.788742 16.4395"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -788 121.5"; + rotation = "0.322382 0.0336824 0.94601 51.4435"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 -44 90.7812"; + rotation = "0.685204 0.128774 0.716877 27.6369"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -668 112.031"; + rotation = "-0.164017 -0.106063 0.980739 189.808"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 404 88.7501"; + rotation = "-0.291515 0.0249431 0.956241 37.5344"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 -428 117.094"; + rotation = "-0.039923 -0.0550471 -0.997685 96.132"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -948 76.6094"; + rotation = "-0.62779 -0.364363 -0.687837 23.0961"; + scale = "3.4 3.4 3.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 44 115.844"; + rotation = "-0.0883806 0.0446432 0.995086 98.2795"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 500 83.375"; + rotation = "-0.14899 0.27398 -0.950125 72.7783"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -20 74.875"; + rotation = "-0.1865 -0.038089 0.981716 230.183"; + scale = "2.9 2.9 2.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -476 103.703"; + rotation = "0.197118 0.000796302 0.980379 155.476"; + scale = "2.8 2.8 2.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -340 120.422"; + rotation = "-0.154544 0.108127 0.982051 24.4256"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -772 84.4844"; + rotation = "-0.0245657 -0.291722 0.956188 80.5218"; + scale = "3.5 3.5 3.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 644 126.094"; + rotation = "-0.150179 0.0739794 -0.985887 119.71"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -316 114.187"; + rotation = "-0.901603 -0.427913 -0.0632741 15.7075"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -812 134.803"; + rotation = "0.34264 0.0182476 -0.93929 36.0595"; + scale = "2.9 2.9 2.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "173.563 429.164 138.783"; + rotation = "0 0 1 14.8969"; + scale = "1.75 1.75 1.75"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "254.307 554.025 119.882"; + rotation = "0 0 -1 51.5662"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-178.204 339.308 100.551"; + rotation = "0 0 1 76.2034"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-104.865 264.56 136.823"; + rotation = "0 0 1 165.012"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-186.721 -458.559 103.277"; + rotation = "0 0 -1 75.0575"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-221.16 -597.029 106.352"; + rotation = "1 0 0 0"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-49.3581 539.757 139.975"; + rotation = "-0.294409 -0.0429911 -0.954712 17.3922"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree19) { + + + new TSStatic() { + position = "-28 748 89.5625"; + rotation = "0.161025 -0.0382987 0.986207 238.321"; + scale = "2.7 2.7 2.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 900 71.0625"; + rotation = "0.0270064 -0.189019 0.981602 112.983"; + scale = "3.6 3.6 3.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 20 130.188"; + rotation = "0.00759376 -0.0432962 0.999033 73.0527"; + scale = "3.1 3.1 3.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -60 93.6563"; + rotation = "-0.0819675 0.0634862 0.994611 186.962"; + scale = "2.9 2.9 2.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -276 115.547"; + rotation = "0.165999 0.131373 0.977336 173.158"; + scale = "3.1 3.1 3.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -108 74.2969"; + rotation = "-0.512061 0.643559 0.56888 27.7539"; + scale = "3.7 3.7 3.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 676 85.1875"; + rotation = "-0.552289 -0.675985 0.487874 26.2899"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 980 90.4687"; + rotation = "-0.0568488 0.0974098 0.993619 186.956"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 852 105.766"; + rotation = "0.966154 -0.0883017 -0.242384 28.325"; + scale = "2.7 2.7 2.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 -36 121"; + rotation = "0.73602 -0.539867 -0.408435 21.8129"; + scale = "4 4 4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -132 87.5781"; + rotation = "0.0517279 -0.00561913 0.998645 202.97"; + scale = "4 4 4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 668 105.062"; + rotation = "0.572771 0.0805027 -0.815753 33.9909"; + scale = "3.1 3.1 3.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -308 65.6875"; + rotation = "0.16909 -0.106051 0.979878 236.029"; + scale = "3.3 3.3 3.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 676 95.5312"; + rotation = "0.122318 -0.794949 0.594218 29.8496"; + scale = "3.2 3.2 3.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -228 72.1563"; + rotation = "-0.020808 -0.0123914 0.999707 216.989"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -156 113.672"; + rotation = "0.0519785 -0.01415 0.998548 65.0754"; + scale = "3.1 3.1 3.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "136.728 556.415 98.2511"; + rotation = "0 0 1 19.4805"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "39.8836 -555.863 83.0816"; + rotation = "1 0 0 0"; + scale = "3.2 3.2 3.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-208.898 -217.838 106.033"; + rotation = "0.825204 -0.561421 0.0620066 15.2464"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-171.969 -508.403 108.539"; + rotation = "0.0177183 -0.00499923 0.999831 31.5178"; + scale = "0.868572 0.84218 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "231.016 487.068 134.973"; + rotation = "2.62815e-08 -4.00904e-08 1 31.5127"; + scale = "0.868572 0.84218 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new SimGroup(Particle_Emitters) { + + + new TSStatic() { + position = "224.84 499.587 171.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy(Storm_Chimney_Smoke) { + position = "225.837 499.553 171.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "25.219 305.917 134.994"; + rotation = "0 0 1 89.9544"; + scale = "0.576772 0.654115 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "25.3622 305.926 135.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "-54.9933 473.907 143.162"; + rotation = "0 0 1 89.9544"; + scale = "0.576772 0.654115 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-55.1433 474.287 143.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "236.117 512.685 144.031"; + rotation = "-2.32831e-09 1.2795e-08 1 20.6265"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "163.727 3.60413 164.687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "AfterT5"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-165.036 -520.994 145.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "14.9078 -321.959 79.8333"; + rotation = "0 0 1 89.9544"; + scale = "0.576772 0.654115 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "14.9038 -321.703 80.1333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "62.9717 -505.829 91.9906"; + rotation = "0 0 1 89.9544"; + scale = "0.576772 0.654115 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "62.912 -506.101 92.2406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "-165.4 -521.069 144.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0"; + cloudSpeed2 = "0.0001"; + cloudSpeed3 = "0.0002"; + visibleDistance = "275"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.200000 0.200000 1.000000"; + fogDistance = "225"; + fogColor = "0.200000 0.200000 0.200000 1.000000"; + fogVolume1 = "200 0 150"; + fogVolume2 = "200 150 175"; + fogVolume3 = "200 175 210"; + materialList = "inf_butch_night13_x2.dml"; + windVelocity = "1 3 5"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 7.55508e+31 6.69753e+31"; + high_fogVolume2 = "-1 2.83887e+29 1.92058e+31"; + high_fogVolume3 = "-1 1.35559e-19 3.04603e+21"; + + locked = "true"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Quagmire.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Quagmire.mis new file mode 100644 index 00000000..5e35c858 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Quagmire.mis @@ -0,0 +1,1019 @@ +// DisplayName = TWL-Quagmire +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Bring your No-Fog, snipe if you can. +//I got a plascannon that says no one's immortal. +// -- Blood Eagle saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Changes: Open flag hut, added waypoints +//Map by Dynamix (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "6"; + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-584 -680 1280 1152"; + flightCeiling = "300"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Quagmire.ter"; + squareSize = "8"; + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + GraphFile = "Quagmire_x2.nav"; + position = "0 0 0 1"; + scale = "1 1 1"; + coverage = "0"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "384.678 -218.148 99.197"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-346.666 -150.339 102.181"; + rotation = "0.326169 0.0661178 -0.942996 24.2638"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "95"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "100 60 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 nan 0"; + high_fogVolume2 = "-1 0 nan"; + high_fogVolume3 = "-1 nan 0"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BELgTree16) { + + new TSStatic() { + position = "289.5 21.5 101.754"; + rotation = "0 0 1 114"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "741.5 -185.5 140.773"; + rotation = "0 0 1 162.281"; + scale = "1.6 1.6 1.6"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-240.5 -485.5 53.9359"; + rotation = "0 0 1 155"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-368.5 468.5 51.75"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "473.61 9.02 52.8"; + rotation = "0 0 1 218.043"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "627.5 -555.5 86.2086"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-255.423 70.8 77.0898"; + rotation = "0 0 -1 113.434"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + new TSStatic() { + position = "-337.376 -483.645 58.0524"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "200.5 -734.5 61.2833"; + rotation = "0 0 1 170"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-623.5 -115.5 86.4101"; + rotation = "0 0 1 182"; + scale = "0.7 0.7 0.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + + new TSStatic() { + position = "-425.5 308.5 89.2988"; + rotation = "0 0 -1 117"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "517.5 -309.5 71.7355"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree19) { + + new TSStatic() { + position = "278.68 -736.469 104.296"; + rotation = "0 0 1 9.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "198.5 486.5 57.0391"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "301.15 -636.277 97.3332"; + rotation = "0 0 1 58"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "623.5 -465.5 88.1801"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-477.5 81.5 108.047"; + rotation = "0 0 1 42"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-87.804 -385.058 54.3848"; + rotation = "0 0 -1 67"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-573.5 382.5 90.7579"; + rotation = "0 0 1 168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-475.5 268.5 107.35"; + rotation = "0 0 1 109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "19.5 453.5 108.816"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "42.77 -30.878 74.627"; + rotation = "0 0 -1 105.481"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-156.77 -168.705 65.8918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108.53 -142.656 64.7273"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-362.622 -17.61 82.6182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "283.89 -80.706 77.4959"; + rotation = "0 0 -1 107.143"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + new SpawnSphere() { + position = "461.8 -288.351 91.1848"; + rotation = "0 0 -1 82.5057"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + + new InteriorInstance() { + position = "420.556 -174.726 77.1"; + rotation = "0 0 1 67.0908"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "420.556 -174.726 79.2361"; + rotation = "0 0 1 68.8008"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "303.2 -59.322 84.3111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new InteriorInstance() { + position = "483.1 -299.94 101.715"; + rotation = "0 0 -1 55.004"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new InteriorInstance() { + position = "341.493 -179.539 78.7793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "340.693 -179.482 88.7657"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + locked = "true"; + }; + new Turret() { + position = "483.57 -294.958 133.163"; + rotation = "0 0 -1 55.0039"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape() { + position = "298.14 -64.992 87.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "308.302 -68.8173 87.1"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "303.02 -76.503 85.6266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + locked = "true"; + }; + new StaticShape() { + position = "298.55 -73.081 78.34"; + rotation = "0 0 -1 103.705"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "307.6 -60.28 78.34"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "479.93 -295.351 105.551"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-304.003 -471.93 48.6877"; + rotation = "-0.789212 0.230771 -0.569112 16.2411"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "471.04 -305.236 95.21"; + rotation = "0 0 1 216.188"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "484.26 -286.872 95.21"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "256.04 -572.266 49.8795"; + rotation = "-0.289456 -0.71011 -0.64184 12.7195"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "475.67 -304.231 120.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "71.63 -165.891 58.7187"; + rotation = "0.0205555 -0.179078 -0.98362 104.378"; + scale = "1 1 1"; + interiorFile = "btowra.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "420.556 -174.726 78.96"; + rotation = "0 0 -1 63.0253"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new WayPoint() { + position = "303.313 -66.3769 77.4651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new WayPoint() { + position = "479.219 -297.422 94.0928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-270.355 7.69 98.5595"; + rotation = "0 0 1 99.6947"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + new SpawnSphere() { + position = "-303.66 -254.044 118.116"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "35"; + outdoorWeight = "65"; + locked = "true"; + }; + }; + new SimGroup(Base1) { + + new InteriorInstance() { + position = "-388.74 -84.485 78"; + rotation = "0 0 -1 75.0575"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-316.541 -254.03 121.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new InteriorInstance() { + position = "-283.977 18.08 101.25"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new Turret() { + position = "-278.451 -103.223 73.0707"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + locked = "true"; + }; + new Item() { + position = "-388.74 -84.485 80.129"; + rotation = "0 0 -1 74.5303"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-278.659 -103.327 72.4981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "-283.899 13.04 132.7"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape() { + position = "-285.469 4.09 94.75"; + rotation = "0 0 1 213.323"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-271.412 24.96 94.75"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-311.49 -255.506 115.15"; + rotation = "0 0 1 71.6197"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-278.998 17.0024 105.046"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-321.251 -267.695 115.15"; + rotation = "0 0 -1 104.851"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-278.031 22.39 119.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-311.516 -263.542 123.95"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-321.679 -259.526 123.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-316.676 -251.633 122.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-388.74 -84.485 79.85"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new WayPoint() { + position = "-316.527 -262.258 114.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new WayPoint() { + position = "-280.064 15.536 93.6285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(Ambience) { + + new AudioEmitter() { + position = "52.04 -154.453 74.2276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "6400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "118.77 -562.63 80.2537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "70"; + maxDistance = "4480"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-313.514 -79.817 69.7519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "960"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "133.18 -435.037 197.702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-313.248 -479.486 69.4709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "363.45 -240.11 65.1431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "960"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "277.66 -10.46 112.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-364.275 -20.17 95.0531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "286.12 -50.147 121.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 45"; + rotation = "1 0 0 0"; + scale = "2048 2048 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.3"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Raindance.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Raindance.mis new file mode 100644 index 00000000..e4cd11f0 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Raindance.mis @@ -0,0 +1,1849 @@ +// DisplayName = TWL-Raindance +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Blood Eagle and Diamond Sword battle each other on the verdant world of Tawa Mangahela. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-648 -720 1120 1184"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.620000 0.620000 0.620000 1.000000"; + fogDistance = "200"; + fogColor = "0.620000 0.620000 0.620000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.0520022 1.07572e-38"; + high_fogVolume2 = "-1 1.83445e-36 8.40779e-44"; + high_fogVolume3 = "-1 0 3.48427e-38"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.700000 0.700000 0.720000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Raindance_nef.ter"; + squareSize = "8"; + emptySquares = "276863 277119 277375 277631 277887 278143 278399 367967 368223 368479 368735 368991 369247"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Raindance.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-313.762 190.224 112.585"; + rotation = "0.222803 -0.0924727 0.970468 46.3102"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-234.784 272.223 72.1135"; + rotation = "0 0 1 210.275"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "93.2428 -565.861 121.556"; + rotation = "0.39421 0.231819 -0.889302 66.95"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "16.3476 -557.825 66.3009"; + rotation = "0.505924 0.171368 -0.845384 43.6693"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-235.672 244.577 73.6269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Turret() { + position = "-259.391 225.314 93.5945"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-239.928 215.045 83.6287"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_nefRaindance.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-177.493 234.317 68.049"; + rotation = "-0 0 -1 10.9258"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationPos = "-178.842 267.801 73.457"; + mobileBaseVehicle = "removed"; + locked = "true"; + scoutVehicle = "removed"; + stationRot = "-0 0 -1 51.0328"; + AssaultVehicle = "removed"; + }; + new Turret() { + position = "-190.344 68.3119 90.2706"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-169.337 253.684 79.4547"; + rotation = "0 0 1 218.87"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-282.825 224.835 97.1105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "-183.332 -57.5192 104.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-270.823 221.122 96.0173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-195.361 -44.8382 114.14"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-291.831 240.582 101.598"; + rotation = "0 0 1 89.9544"; + scale = "0.75 0.75 0.75"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-178.335 55.6599 80.2917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-227.722 260.275 93.575"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-234.193 260.052 70.6156"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-253.732 260.04 70.6235"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-243.979 257.889 65.6114"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-243.966 260.026 59.6739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "8.53661 -527.292 83.4366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Turret() { + position = "-51.3953 -379.955 101.01"; + rotation = "-0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "71.4878 -574.717 91.8268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-93.5345 -503.893 58.5591"; + rotation = "0 0 1 146.638"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + stationPos = "-65.918 -560.705 67.429"; + mobileBaseVehicle = "removed"; + locked = "true"; + scoutVehicle = "removed"; + stationRot = "0 0 1 120.282"; + AssaultVehicle = "removed"; + }; + new Turret() { + position = "-59.722 -247.606 111.491"; + rotation = "0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-39.4036 -391.463 91.0257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-47.7372 -258.882 101.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "68.5554 -570.212 97.3837"; + rotation = "0 0 -1 90.1369"; + scale = "0.75 0.75 0.75"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "3.2147 -503.924 75.8292"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbase_nefRaindance.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "7.09407 -546.879 57.8318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-77.4066 -548.174 73.4105"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "11.0225 -97.5332 162.664"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "62.1504 250.697 131.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-325.088 -284.933 135.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "7.10766 -548.896 51.8305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "59.512 -554.48 92.8843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "22.2396 -513.957 85.8038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-9.9317 -541.123 85.7944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "16.8816 -548.906 62.8106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-2.60489 -548.883 62.809"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter() { + position = "-94.0017 -850.072 58.5574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-31.8275 -326.177 64.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-617.199 -239.103 66.0503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-590.519 65.6461 64.0405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-161.866 -103.053 102.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WaterBlock() { + position = "-312 -200 39.2351"; + rotation = "1 0 0 0"; + scale = "320 96 10"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.6"; + envMapIntensity = "0.15"; + removeWetEdges = "1"; + + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + locked = "true"; + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + seedPoints = "0 0 1 0 1 1 0 1"; + extent = "100 100 10"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "-277.966 -435.057 60.1094"; + rotation = "0 0 1 36"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -36 62.0781"; + rotation = "0 0 1 203"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 -796 95.2812"; + rotation = "0 0 1 102"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 212 96.4844"; + rotation = "0 0 -1 53.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -260 66.4062"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -756 95.25"; + rotation = "0 0 1 117"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 292 62.5313"; + rotation = "0 0 1 135"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -652 68.7187"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 284 68.0469"; + rotation = "0 0 1 234"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -836 68.7187"; + rotation = "0 0 -1 19.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -292 80.5469"; + rotation = "0 0 1 116"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 124 73.04"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -388 68.2344"; + rotation = "0 0 1 79.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -828 66.5937"; + rotation = "0 0 1 47"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.468 105.77 92.9515"; + rotation = "0 0 1 88.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 412 88.0468"; + rotation = "0 0 1 24"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -116 106.141"; + rotation = "0 0 -1 108.999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -268 85.9999"; + rotation = "0 0 1 220"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 260 71.3906"; + rotation = "0 0 1 208"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 252 65.0782"; + rotation = "0 0 -1 63.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -492 80.4062"; + rotation = "0 0 1 163"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -180 92.4375"; + rotation = "0 0 1 139"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -692 88.8438"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 492 95.9844"; + rotation = "0 0 -1 76"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 364 81"; + rotation = "0 0 1 231"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 4 63.5625"; + rotation = "0 0 1 94"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "95.4307 108.434 60.5625"; + rotation = "0 0 -1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 388 73.3125"; + rotation = "0 0 1 152"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + + + new TSStatic() { + position = "-134.719 -815.118 63.252"; + rotation = "0 0 -1 88"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-142.719 -1135.12 55.2363"; + rotation = "0 0 1 55"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-134.719 -1087.12 55.877"; + rotation = "0 0 1 148"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-374.719 0.881498 104.361"; + rotation = "0 0 -1 37.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "441.281 -95.1189 85.6426"; + rotation = "0 0 1 55"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-86.7193 -1103.12 54.7988"; + rotation = "0 0 -1 96.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "89.2807 -423.119 88.7363"; + rotation = "0 0 -1 62.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "273.281 -63.1185 64.1739"; + rotation = "0 0 1 173"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-590.719 -615.118 96.3296"; + rotation = "0 0 1 157"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-662.719 -55.1185 71.9863"; + rotation = "0 0 -1 101"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-718.719 -631.118 64.3145"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-486.719 -1127.12 58.8301"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + + new TSStatic() { + position = "500 356 64.8656"; + rotation = "-0.0863969 -0.168086 0.981979 76.0092"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -268 86.225"; + rotation = "0.035927 0.149434 0.988119 233.448"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 492 104.459"; + rotation = "0.610415 -0.707051 0.357034 5.59781"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 100 106.897"; + rotation = "0.123128 0.0713234 0.989824 173.071"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 492 93.2562"; + rotation = "-0.0297185 0.141701 0.989463 205.735"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 484 95.725"; + rotation = "0.124253 0.183605 0.975116 101.419"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -28 73.3657"; + rotation = "-0.0563602 -0.0167326 0.99827 218.938"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 76 73.0219"; + rotation = "-0.0110331 -0.0179624 0.999778 68.0118"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 140 65.725"; + rotation = "0.0317418 -0.0929866 0.995161 224.804"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -76 142.178"; + rotation = "0.0229277 0.0835464 0.99624 142.133"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -644 80.0688"; + rotation = "0.273047 0.28178 0.919807 62.1493"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -60 125.397"; + rotation = "-0.0886114 -0.0081249 0.996033 182.988"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -820 75.9125"; + rotation = "-0.103111 -0.168001 -0.980379 99.1225"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 540 61.4906"; + rotation = "0.0152328 -0.175772 0.984313 119.789"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 556 74.2094"; + rotation = "-0.07429 -0.147898 0.986208 103.774"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 364 83.5688"; + rotation = "0.101104 -0.133333 0.985901 233.345"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -724 100.772"; + rotation = "-0.0156117 -0.0991926 0.994946 189.95"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -660 114.6"; + rotation = "-0.757412 -0.13583 0.638652 27.8564"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -404 92.5375"; + rotation = "0.237677 -0.251274 -0.938281 33.9871"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 364 81.4594"; + rotation = "-0.395283 -0.219961 -0.891834 31.2387"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 276 66.6625"; + rotation = "-0.00738411 0.0289465 0.999554 185.997"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -708 99.6938"; + rotation = "0.10477 -0.206088 0.972908 218.999"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 172 83.8187"; + rotation = "0.282612 -0.37504 -0.882879 18.0896"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 124 63.475"; + rotation = "-0.0209755 0.036238 -0.999123 83.0502"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 508 86.9125"; + rotation = "-0.0627155 0.164155 0.984439 126.723"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 316 63.8969"; + rotation = "0.10763 -0.0756181 -0.991311 84.4975"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 332 86.1781"; + rotation = "-0.408876 0.102365 0.906831 58.6612"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 548 79.2718"; + rotation = "0.0877355 -0.428803 0.899128 18.8746"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -764 83.475"; + rotation = "-0.0478277 0.00937574 -0.998812 116.061"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -532 107.616"; + rotation = "-0.0566781 0.110427 0.992267 152.208"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -388 91.9437"; + rotation = "0.0720119 0.0430671 0.996474 176.014"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -172 66.9437"; + rotation = "0.0274156 0.0353099 0.999 234.953"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -196 80.9438"; + rotation = "-0.206466 0.136219 0.968925 79.7746"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -84 74.7406"; + rotation = "-0.162811 -0.400672 -0.90164 22.1304"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 84 80.9438"; + rotation = "0.0273091 0.0898082 0.995585 157.099"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 460 105.631"; + rotation = "0.85383 -0.26172 0.449974 19.8417"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 148 76.7719"; + rotation = "-0.206257 0.0429531 0.977555 144.757"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -404 99.3813"; + rotation = "0.0224171 0.227685 0.973477 63.368"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 164 68.0844"; + rotation = "-0.0567427 0.0333505 0.997832 121.107"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -4 101.694"; + rotation = "-0.0322081 -0.262311 -0.964446 106.004"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -732 100.975"; + rotation = "0.0335019 -0.0429117 0.998517 151.041"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 380 76.1"; + rotation = "0.227452 0.00165955 0.973788 88.5209"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 332 86.5218"; + rotation = "0.154768 -0.325919 0.932643 72.7742"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 484 61.2563"; + rotation = "-0.0532174 0.203986 -0.977526 78.2723"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -84 121.491"; + rotation = "-0.133283 -0.0393158 0.990298 119.487"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -180 64.975"; + rotation = "-0.0188448 -0.0823397 -0.996426 89.2055"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 196 82.6157"; + rotation = "0.181153 -0.0963597 0.978723 44.8627"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -556 80.0844"; + rotation = "-0.131119 -0.152171 0.979618 126.949"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + + new TSStatic() { + position = "-620 332 76.875"; + rotation = "0.591269 0.609696 -0.527894 15.0913"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -332 105.344"; + rotation = "0.0177793 -0.0173189 0.999692 207.992"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -548 79.4218"; + rotation = "-0.0852963 0.541379 0.836441 27.3418"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -612 79.0781"; + rotation = "0.00555317 -0.0124167 0.999907 185.999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 420 87.5938"; + rotation = "-0.0443865 -0.0308386 0.998538 73.0802"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -828 82.8438"; + rotation = "-0.164364 0.15407 0.974293 184.872"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 4 98.0312"; + rotation = "0.498696 -0.124769 -0.85775 35.8339"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.317 175.115 74.8374"; + rotation = "0.0427579 -0.114305 0.992525 71.4066"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 364 80.3281"; + rotation = "0.0657571 -0.128875 0.989478 83.602"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 340 82.4375"; + rotation = "-0.348658 0.0335607 0.936649 72.5399"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 508 73.7344"; + rotation = "0.501985 0.331609 0.798778 44.2702"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -748 75.1563"; + rotation = "0.219249 -0.310108 0.925075 47.1866"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 524 65.4063"; + rotation = "0.0599873 -0.06205 -0.996269 37.1293"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -68 76.5937"; + rotation = "-0.10362 -0.053566 0.993173 200.86"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 340 86.3437"; + rotation = "-0.404404 0.0903621 0.910106 45.738"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -636 94.7969"; + rotation = "-0.196128 0.102097 0.975249 158.532"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -420 80.9062"; + rotation = "0.234533 0.00399284 0.9721 122.38"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 316 63.9062"; + rotation = "0.240862 -0.0753057 -0.967633 58.5947"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -228 107.891"; + rotation = "0.109126 -0.269919 -0.956679 100.504"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 252 65.3594"; + rotation = "0.289164 -0.296601 0.910171 46.8047"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -604 70.375"; + rotation = "0.108604 0.0649957 0.991958 158.172"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -20 72.0781"; + rotation = "0.00747328 0.143196 0.989666 97.5901"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 404 78.7187"; + rotation = "-0.208825 -0.0441624 0.976955 107.28"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -500 61.2188"; + rotation = "0.0725287 0.0384296 0.996626 68.1797"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -300 94.2188"; + rotation = "-0.322118 0.0758487 0.943656 62.9188"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -36 111.391"; + rotation = "0.11136 0.21355 -0.970564 42.1358"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 540 74.7657"; + rotation = "0.16781 -0.180069 0.969234 151.856"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -668 76.9531"; + rotation = "-0.0370004 0.177256 0.983469 202.63"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 12 96.1406"; + rotation = "0.559003 -0.3 0.772991 38.2367"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 180 85.9219"; + rotation = "-0.118118 0.168661 0.978571 105.201"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 508 100.5"; + rotation = "0.118402 0.0646879 0.990856 140.337"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -52 75.7656"; + rotation = "-0.0773553 0.0647743 0.994897 59.2513"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -844 78.7031"; + rotation = "0.100218 0.153533 0.983048 173.119"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -356 65.2032"; + rotation = "0.122579 -0.0210566 0.992235 188.931"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -372 80.4375"; + rotation = "0.0181183 -0.045667 0.998792 166.017"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -660 94.8906"; + rotation = "-0.242141 -0.370672 0.896644 53.8846"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 404 80.1719"; + rotation = "-0.212759 -0.0462931 0.976007 98.3779"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 148 73.6406"; + rotation = "0.0834533 0.0133186 0.996423 177.011"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 276 68.3281"; + rotation = "0.0657403 -0.00755095 0.997808 124.104"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -428 72.4376"; + rotation = "0.253484 -0.021656 0.967097 122.629"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -740 104.484"; + rotation = "-0.179285 0.0904439 0.979631 136.813"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 468 84.5626"; + rotation = "0.0919778 0.0715853 0.993185 189.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -772 95.2812"; + rotation = "-0.0258297 -0.048833 -0.998473 81.0861"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -284 67.4687"; + rotation = "-0.0216012 -0.0389473 0.999008 122.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -348 86.1718"; + rotation = "0.026177 -0.154763 0.987605 115.646"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 452 108.594"; + rotation = "0.097528 0.257078 -0.961457 62.9887"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -212 78.8906"; + rotation = "0.0511634 0.110572 0.99255 191.911"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 60 86.8282"; + rotation = "0.0351253 0.175346 0.98388 125.759"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 148 79.6094"; + rotation = "0.216033 0.267481 -0.939033 74.4409"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -596 104.75"; + rotation = "-0.174474 -0.334786 0.926001 60.7702"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Ramparts.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Ramparts.mis new file mode 100644 index 00000000..888b3fe8 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Ramparts.mis @@ -0,0 +1,6010 @@ +// DisplayName = TWL-Ramparts +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//He who defends everything, defends nothing +// -- Frederick the Great +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by z0dd +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + DM_scoreLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "6"; + cdTrack = "6"; + DM_timeLimit = "25"; + Team_Hunters_timeLimit = "25"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-584 -640 1200 1280"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.620000 0.640000 0.742000 1.000000"; + fogDistance = "275"; + fogColor = "0.620000 0.640000 0.742000 1.000000"; + fogVolume1 = "300 0 145"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "1024 512 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.900000 0.900000 1.000000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture2 = "special/LensFlare/flare01"; + texture1 = "special/sunFlare02"; + texture4 = "special/LensFlare/flare03"; + locked = "true"; + texture0 = "special/sunFlare"; + texture3 = "special/LensFlare/flare02"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.1"; + maxVelocity = "0.5"; + maxNumDrops = "50"; + maxRadius = "125"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Ramparts.ter"; + squareSize = "8"; + emptySquares = "84092 543101 543357 543613 543869 1199480 1199736 1199992 1200248 1200504 1266295 1266551 1266807 546173 349822 371070 502397 1289079 1289335 1289591 1224311 1159032 1159288 1159544 1159800 635772 636028 636284 636540 112512"; + + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "475"; + visibleDistance = "1000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Damnation.nav"; + coverage = "0"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "-1024 -1024 -39.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 140"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/ice_water_ram"; + surfaceOpacity = "0.6"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team0) { + + new SimGroup(NexusBase) { + + providesPower = "1"; + + new InteriorInstance() { + position = "8.95336 12.8459 251.505"; + rotation = "0 0 1 22.3454"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "3.9051 8.48758 246.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + flashThreadDir = "1"; + locked = "true"; + missionTypesList = "TeamHunters"; + }; + new StaticShape() { + position = "3.9051 8.48758 254.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "TeamHunters"; + }; + new WayPoint() { + position = "3.9051 8.48758 246.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + + locked = "true"; + missionTypesList = "TeamHunters"; + }; + }; + new SimGroup(other) { + + + new Item() { + position = "3.88336 8.3759 248.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "4.06208 3.5121 248.326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "8.67057 8.49583 248.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "3.90638 13.28 248.308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "-0.908311 8.38792 248.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty CTF DM"; + }; + new Item() { + position = "-172.607 -173.972 235.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + new Item() { + position = "193.888 232.179 235.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + new WayPoint() { + position = "8.27005 -391.596 198.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + new WayPoint() { + position = "3.76113 390.904 197.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + missionTypesList = "Bounty DM TeamHunters"; + }; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "6.88711 -381.578 190.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "155"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "CTF DM DnD Bounty TeamHunters"; + }; + new SpawnSphere() { + position = "-302.04 185.653 115.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "175"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty TeamHunters"; + }; + new SpawnSphere() { + position = "3.7602 380.853 214.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "321.687 -164.978 115.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "175"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "6.88711 -341.578 215.079"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ram_base.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "109.822 -354.684 185.028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-96.0289 -354.642 184.996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-172.611 -174.592 257.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "-39.5626 -391.051 212.065"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-96.0355 -347.545 157.05"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.8761 -324.234 213.051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new InteriorInstance() { + position = "109.775 -347.545 157.05"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.88598 -391.511 206.114"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new Turret() { + position = "6.88708 -389.059 222.121"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "44.3832 -395.09 199.055"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "47.8986 -380.112 212.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-30.615 -395.104 199.054"; + rotation = "0 0 1 224.026"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "6.8691 -379.531 199.095"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new InteriorInstance() { + position = "-172.598 -173.95 215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_tower.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.88817 -444.136 286.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "6.88513 -435.1 254.061"; + rotation = "0 0 1 177.135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Other1) { + + + new Item() { + position = "6.88616 -397.323 212.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new TSStatic() { + position = "-52.0515 -396.3 214.063"; + rotation = "1 0 0 0"; + scale = "0.8 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "70.919 -389.58 217.626"; + rotation = "-0.707103 0.000563928 0.70711 180.064"; + scale = "1.85 1.4 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.5621 -396.463 211.891"; + rotation = "1 0 0 0"; + scale = "1.85 2 2.5"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "45.0087 -401.595 217.656"; + rotation = "0.577194 -0.577659 -0.577198 119.974"; + scale = "1.85 1.4 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "60.073 -389.147 212.039"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "58.5621 -382.683 211.891"; + rotation = "1 0 0 0"; + scale = "1.85 2 2.5"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.517 -379.013 218.411"; + rotation = "-0.951403 -0.217753 -0.217753 92.8532"; + scale = "1.2 1.2 1.2"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2958 -381.123 214.806"; + rotation = "0 0 1 184.675"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-48.5163 -380.397 211.991"; + rotation = "0 0 -1 89.9544"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52.0863 -380.394 211.991"; + rotation = "0 0 -1 89.9544"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-55.7063 -380.391 211.991"; + rotation = "0 0 -1 89.9544"; + scale = "1.4 1.4 1.4"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52.5591 -394.595 214.039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.4317 -399.411 212.048"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52.1317 -395.411 212.048"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "69.5625 -399.041 212.129"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "-28.1385 -377.754 200.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.9417 -385.611 212.038"; + rotation = "0 0 -1 36.0964"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "67.5825 -399.041 212.129"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.4585 -398.932 214.041"; + rotation = "0 0 1 17.7619"; + scale = "0.8 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-46.0858 -389.558 223.586"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "69.0525 -399.041 214.117"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.5652 -377.562 215.075"; + rotation = "-0.577197 -0.577657 0.577197 119.974"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new Item() { + position = "6.90154 -363.606 213.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-9.1378 -397.395 214.51"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "22.8122 -397.395 214.51"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "42.0063 -377.777 200.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-43.8707 -377.159 217.493"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.8827 -389.608 211.651"; + rotation = "1 0 0 0"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-57.5483 -389.535 217.65"; + rotation = "-0.577658 -0.577197 -0.577196 119.974"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "58.04 -390.12 212.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "3.7602 380.853 199.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "155"; + sphereWeight = "100"; + indoorWeight = "70"; + outdoorWeight = "30"; + + locked = "true"; + missionTypesList = "CTF DnD TeamHunters"; + }; + new SpawnSphere() { + position = "321.687 -164.978 115.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "175"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "TeamHunters"; + }; + }; + new SimGroup(Base2) { + + + new InteriorInstance() { + position = "3.7602 340.853 214.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_base.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-99.1747 353.949 184.219"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "106.676 353.877 184.187"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "50.08 390.326 211.256"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "106.683 346.82 156.241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "3.76144 390.786 205.305"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new Turret() { + position = "3.76126 388.325 221.316"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new Turret() { + position = "193.907 232.802 257.99"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new InteriorInstance() { + position = "-99.1276 346.82 156.241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-37.2512 379.437 211.263"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "3.77126 323.509 212.242"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "3.7782 378.806 198.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "41.2763 394.393 198.245"; + rotation = "0 0 1 44.026"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-33.7004 394.329 198.246"; + rotation = "-0 0 -1 45.355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "193.901 232.15 215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_tower.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "3.75135 443.382 285.249"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + missionTypesList = "CTF DnD"; + }; + new StaticShape() { + position = "3.79884 434.354 253.253"; + rotation = "0 0 -1 2.29206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Other2) { + + + new StaticShape() { + position = "-31.359 377.052 199.988"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-12.1649 396.67 213.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "19.7852 396.67 213.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "3.7598 362.823 212.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + missionTypesList = "CTF"; + }; + new TSStatic() { + position = "64.9381 376.404 216.684"; + rotation = "-3.16101e-08 0.707107 0.707107 180"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 218.15"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "50.7426 383.577 211.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-46.3054 390.813 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2354 390.813 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 220.9"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new Item() { + position = "3.76123 396.598 211.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-54.2571 399.379 222.763"; + rotation = "1 0 0 0"; + scale = "1 1 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "50.7473 383.577 217.18"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "55.6375 401.3 216.841"; + rotation = "-0.999999 0.000793801 0.00079238 89.9997"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "38.1318 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "38.7859 377.029 199.972"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-46.3054 386.833 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "59.6918 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-38.2471 399.379 222.773"; + rotation = "1 0 0 0"; + scale = "1 1 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "54.3018 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "65.0818 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "48.9118 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "43.5218 399.839 211.247"; + rotation = "0 0 1 180"; + scale = "1.37016 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "56.3322 400.867 216.171"; + rotation = "-1.31109e-09 -0.198669 0.980067 180"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "54.9722 400.867 216.171"; + rotation = "-1.28661e-09 -0.19867 0.980066 180"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallLightDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 212.65"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2854 386.833 222.162"; + rotation = "0 0 1 180"; + scale = "0.95 1.27 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.737 391.738 215.41"; + rotation = "0.707107 3.16101e-08 -0.707107 180"; + scale = "1.08 1.8 1.8"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.2217 380.755 215.307"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44.2417 380.75 215.307"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-56.2417 380.76 215.307"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.7617 380.758 219.287"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-47.5117 380.753 219.287"; + rotation = "-0.706825 0.707389 -3.08963e-08 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-46.2871 399.379 222.763"; + rotation = "1 0 0 0"; + scale = "1 1 0.6"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "56.7326 383.577 211.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "56.7373 383.577 217.18"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "6.493 -300.13 229.176"; + rotation = "0.00107929 -0.108611 0.994084 178.868"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "3.8975 304.037 225.233"; + rotation = "1 0 0 10.0841"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "4.49849 371.216 204.776"; + rotation = "1 0 0 25.6112"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "5.78468 -377.986 211.307"; + rotation = "0.563036 -0.439149 0.700099 96.1775"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambience) { + + + new AudioEmitter() { + position = "6.8 -426.053 274.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "4.2 423.847 275.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "448.16 86.202 99.2296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-6.59999 5.247 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "271.13 -552.775 81.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-445.177 -1169.08 88.6644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "65"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-439.611 866.64 77.4717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "582.127 507.822 78.4504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "55"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "3.98352 8.58236 251.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "124.4 5.247 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "262.4 29.847 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-148 -17.153 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-237.2 -84.953 94.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "60"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + + new TSStatic() { + position = "-232.381 413.69 200.382"; + rotation = "0 0 1 4.58367"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-422.531 275.734 187.294"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-520.768 161.183 187.076"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-350.662 5.07039 214.788"; + rotation = "0 0 1 139.229"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-675.74 86.5769 211.413"; + rotation = "0 0 -1 110.581"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "245.504 139.263 194.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "458.182 290.557 216.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "614.619 280.815 191.437"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12.0056 597.071 186.258"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "371.408 615.948 207.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "718.169 676.733 203.923"; + rotation = "0 0 -1 71.0468"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.478 -630.344 199.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "381.908 -685.817 204.881"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "669.109 -579.561 178.423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "440.751 -353.555 199.803"; + rotation = "0 0 1 93.3921"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "439.876 -93.8591 178.101"; + rotation = "0 0 -1 72.7656"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-473.095 -347.567 197.369"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-639.778 -322.889 212.849"; + rotation = "0 0 1 166.34"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-502.022 -705.687 206.775"; + rotation = "0 0 1 16.0428"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92.5287 -565.578 185.153"; + rotation = "0 0 1 72.7656"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-49.2183 -852.842 177.528"; + rotation = "0 0 1 56.7228"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "375.657 -978.114 178.389"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "10.9638 -1319.05 195.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-391.371 -1357.57 177.39"; + rotation = "0 0 -1 39.5341"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-805.023 -533.917 182.221"; + rotation = "0 0 1 179.909"; + scale = "1.43996 1.3508 1.24178"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1192.19 -377.722 168.749"; + rotation = "0 0 1 128.343"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1417.33 -443.317 178.158"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1563.36 -388.409 172.657"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1694.93 -733.829 195.982"; + rotation = "0 0 -1 97.9758"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1872.33 -484.223 175.671"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1997.6 -494.608 173.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2166.38 -631.343 199.934"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2337.86 -590.401 170.616"; + rotation = "0 0 1 230.512"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2096.12 -426.442 168.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1578.95 -665.397 188.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1477.06 -926.916 202.537"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1630.53 -1157.31 176.656"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2009.79 -779.918 181.108"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "943.611 -58.5417 169.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "847.802 -383.026 166.031"; + rotation = "0 0 1 209.885"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1147.81 -770.528 197.68"; + rotation = "0 0 1 8.59438"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1343.29 -713.391 199.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "927.231 -1232.57 173.836"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1144.12 -1553.77 187.515"; + rotation = "0 0 -1 102.559"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1086.63 -1624.85 173.123"; + rotation = "0 0 -1 63.0254"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1243.24 -1725.9 173.409"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "987.822 -1868.28 181.698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1026.18 -1958.29 200.138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "357.682 -1591.9 177.107"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "639.767 -1733.22 205.229"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "664.378 -2160.06 176.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "128.57 -2180.14 176.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.07 -2318.94 188.774"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-832.357 -2152.42 170.02"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1122.92 -1655.37 178.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-993.332 -944.176 211.197"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-8.72636 813.782 194.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "355.706 910.426 181.399"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260.941 1227.25 207.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.463 954.332 213.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-86.0942 1292.87 207.75"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-63.5561 1804.09 189.394"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "133.485 1908.59 176.312"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236.641 2237.27 181.3"; + rotation = "0 0 -1 105.997"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "770.777 613.937 194.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1109.55 469.863 177.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004.07 745.254 200.302"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1103.78 1035.28 169.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1589.93 1271.11 184.192"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1851.64 854.668 187.415"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2031.15 1080.76 175.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1557.15 1343.65 206.168"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1228.72 1597.71 196.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "651.706 1591.85 186.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-729.783 240.356 173.274"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036.73 108.639 200.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1091.17 767.917 197.213"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-989.362 1096.55 210.097"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1419.06 1089.09 178.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1598.37 772.614 170.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1692.19 913.067 181.39"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2047.75 679.619 222.201"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 1.25"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2055.81 1297.37 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-73.1415 80.7683 180.146"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-94.6082 3.88642 45.1564"; + rotation = "0 0 1 131.78"; + scale = "2 2 2"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "469.102 101.036 108.826"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "561.364 534.168 86.3165"; + rotation = "0 0 -1 85.9437"; + scale = "3 3 3"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-515.078 838.168 114.086"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BEPlant5) { + + + new TSStatic() { + position = "284.027 -316.061 163.104"; + rotation = "0.365545 0.366836 0.855458 48.3337"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636.931 -348.191 204.031"; + rotation = "-0.150934 -0.0129108 0.98846 88.665"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 940 131.859"; + rotation = "0.0550082 0.0949424 0.993962 221.768"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748.015 507.997 139.974"; + rotation = "0.0561782 0.668438 0.741643 14.7949"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -364 187.859"; + rotation = "-0.361298 -0.115718 -0.925242 20.504"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 460 176.859"; + rotation = "0.0542102 -0.272198 -0.960713 74.1969"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -532 204.078"; + rotation = "-0.147712 -0.0938945 0.984563 190.831"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -764 192.125"; + rotation = "0.00516997 0.0739326 -0.99725 98.1563"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 628 135.438"; + rotation = "0.0408932 -0.169716 0.984644 229.324"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 36 24.9531"; + rotation = "-0.269676 0.13612 0.953282 105.656"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "427.89 -220.117 143.139"; + rotation = "0.0619552 0.274076 0.95971 238.96"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804.008 764.009 159.872"; + rotation = "-0.0202508 -0.00782554 0.999764 124.012"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -28 57.4687"; + rotation = "0.0394268 0.0292926 0.998793 103.068"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916.037 580.028 158.744"; + rotation = "0.0881949 0.239411 -0.966904 116.735"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -508 176.484"; + rotation = "0.00621941 0.197088 0.980366 106.095"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 364 198.828"; + rotation = "0.446266 -0.234668 0.863584 42.3577"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 124 140.75"; + rotation = "-0.070834 -0.268008 0.960809 113.123"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-11.9248 -115.979 141.474"; + rotation = "-0.205795 -0.139099 0.968659 215.916"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -580 171.703"; + rotation = "-0.0978492 -0.0829689 0.991737 179.008"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 116 119.972"; + rotation = "-0.00355071 -0.252303 0.967642 209.071"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 516 175"; + rotation = "-0.580446 0.367627 0.72659 13.7319"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -204 187.141"; + rotation = "0.00503441 -0.0444955 0.998997 170.01"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 1004 160.391"; + rotation = "-0.150288 -0.927948 0.341065 20.3334"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508.112 -123.95 174.448"; + rotation = "-0.311651 -0.319516 -0.894865 44.2665"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -436 125.047"; + rotation = "0.023483 0.119617 0.992542 97.4256"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 -836 194.391"; + rotation = "-0.0951617 0.126707 0.987365 122.616"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 764 171.594"; + rotation = "-0.124463 0.156106 0.979867 110.098"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "835.982 707.962 149.476"; + rotation = "0.0529894 -0.161283 -0.985485 94.8352"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 52 153.328"; + rotation = "-0.266514 0.0603531 0.96194 232.222"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 764 138.484"; + rotation = "0.00342552 0.236216 0.971695 174.169"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 396 161.297"; + rotation = "-0.0808935 0.896771 0.435038 18.2629"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604.015 -84.0176 166.325"; + rotation = "0.67225 0.659511 0.336341 20.6129"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 708 108.047"; + rotation = "0.0943854 0.134504 0.986408 169.149"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "827.979 -627.973 106.588"; + rotation = "-0.0120436 -0.151248 0.988422 96.6616"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 900 152.625"; + rotation = "0.235324 0.425435 0.873858 51.8161"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 892 190.266"; + rotation = "-0.0884524 -0.945341 -0.313856 22.055"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -396 198.75"; + rotation = "-0.136437 0.32854 0.934583 57.1975"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836.005 595.993 175.123"; + rotation = "0.338545 0.491056 0.802653 42.8919"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "707.569 -763.658 197.577"; + rotation = "0.0930118 0.0182251 0.995498 157.101"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 852 177.266"; + rotation = "0.144392 -0.144479 0.978916 160.414"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 820 193.641"; + rotation = "-0.385475 0.919843 0.0727826 13.6746"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 92 10.6563"; + rotation = "-0.529832 -0.482222 0.697668 32.5152"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -836 154.969"; + rotation = "-0.263956 0.526429 -0.808208 46.1518"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 -116 139.5"; + rotation = "0.174101 -0.127983 0.976376 128.086"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "915.995 555.997 156.063"; + rotation = "0.0321739 -0.0133963 0.999393 69.0329"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 900 175.734"; + rotation = "0.0744085 0.159598 -0.984374 85.899"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 668 163.031"; + rotation = "-0.956617 0.0581531 -0.285487 27.5258"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 892 190.266"; + rotation = "0.181152 -0.0169495 0.983309 173.116"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 -380 183.547"; + rotation = "-0.314854 0.00931971 0.949094 67.7419"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 796 175.156"; + rotation = "-0.142379 0.115392 0.983063 119.852"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "924 228 198.016"; + rotation = "0.305899 0.193359 -0.932222 66.6379"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 332 188.641"; + rotation = "-0.092675 -0.0592874 -0.99393 116.313"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 196 159.766"; + rotation = "-0.0762525 -0.0205524 -0.996877 112.166"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -836 168.891"; + rotation = "0.170457 0.150713 0.973771 239.677"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 932 105.531"; + rotation = "0.996661 -0.00269066 0.0816053 24.1468"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "947.902 -236.162 136.719"; + rotation = "0.622314 -0.16336 0.765531 42.3067"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 580 177.859"; + rotation = "0.479502 0.87213 0.0973027 20.3401"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -444 155.188"; + rotation = "-0.235278 -0.00466604 0.971917 163.471"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -652 184.484"; + rotation = "0.0378159 -0.214099 0.97608 175.119"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "675.998 731.917 178.552"; + rotation = "0.206888 0.204754 0.956699 94.5317"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332.059 -308.114 193.415"; + rotation = "0.153729 0.143328 0.977663 141.807"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 452 187.297"; + rotation = "-0.138352 0.20395 0.969156 115.63"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 588 176.828"; + rotation = "-0.0239252 -0.163127 -0.986315 110.74"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.909 -844.112 155.278"; + rotation = "0.367127 -0.206884 0.906872 49.097"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 -468 155.719"; + rotation = "0.151926 -0.193199 0.969326 164.485"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 892 196.687"; + rotation = "0.383123 0.103668 -0.917862 61.2125"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "691.941 284.009 175.393"; + rotation = "0.149688 -0.2992 0.942376 74.2444"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 860 139.562"; + rotation = "-0.0941604 -0.0621122 0.993618 75.3549"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "875.978 724.031 132.308"; + rotation = "-0.19194 -0.00813542 -0.981373 66.9879"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252.078 -260.033 136.346"; + rotation = "0.439463 0.673234 -0.594667 33.0316"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -780 192.844"; + rotation = "0.84378 -0.536689 0 14.2735"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 852 195.484"; + rotation = "-0.0902029 0.0909247 0.991764 227.649"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 620 167.031"; + rotation = "0.421081 0.595052 0.684546 30.2989"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -556 164.453"; + rotation = "-0.1186 0.164894 -0.979155 42.8138"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-884 580 164.016"; + rotation = "0.0835349 0.228421 0.969972 199.411"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 564 174.063"; + rotation = "0.173362 -0.0210532 0.984633 219.433"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 524 177.281"; + rotation = "0.156483 0.0849425 0.984021 129.713"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-139.869 -763.906 191.864"; + rotation = "-0.256525 -0.00129298 0.966537 110.834"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 228 161.187"; + rotation = "-0.0470503 -0.0536856 0.997449 180.998"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "555.998 676.108 156.511"; + rotation = "-0.596915 0.191723 -0.77906 47.6888"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "979.994 547.973 126.566"; + rotation = "0.36846 0.0832736 0.925906 54.51"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 300 189.297"; + rotation = "-0.0724419 -0.463656 0.883049 48.0814"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452.101 -187.895 145.199"; + rotation = "-0.216198 -0.116089 0.969423 145.032"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -740 148.734"; + rotation = "0.124353 -0.0825917 0.988795 177.034"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -796 141.859"; + rotation = "-0.00223972 -0.134266 -0.990943 77.5086"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 1036 175.453"; + rotation = "-0.0454099 -0.136203 0.98964 224.579"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -732 193.531"; + rotation = "0.0199262 -0.222748 0.974672 114.346"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 380 188.25"; + rotation = "-0.129533 0.0790103 0.988422 168.138"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-851.973 -324.077 191.451"; + rotation = "0.0749821 0.166253 0.983228 92.9681"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 -492 138.141"; + rotation = "0.466857 0.0967109 0.879029 63.4052"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -460 172.766"; + rotation = "-0.239607 0.040582 0.970021 66.5903"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340.167 -483.746 136.352"; + rotation = "-0.23752 0.420975 -0.875423 38.5025"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 516 116.781"; + rotation = "0.222022 -0.132903 0.965941 103.935"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -860 167.391"; + rotation = "0.129512 0.101421 0.986377 206.645"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "899.991 -596.032 111.89"; + rotation = "0.00798749 0.171232 0.985198 204.641"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 796 175.703"; + rotation = "-0.346049 -0.258522 0.901896 64.2011"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -612 184.172"; + rotation = "0.2314 0.45824 -0.858179 19.7578"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 140 110.203"; + rotation = "-0.398288 0.0234063 -0.916962 62.3069"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -684 177.344"; + rotation = "-0.26746 0.0928662 0.959083 235.993"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "195.828 -267.721 133.048"; + rotation = "-0.288678 0.200853 -0.936121 79.6961"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 108 129.187"; + rotation = "0.0640422 -0.00494191 0.997935 213.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "691.846 556.293 125.862"; + rotation = "-0.671655 0.288895 0.682216 27.5643"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 708 153.469"; + rotation = "0.275762 -0.0109321 0.961164 58.9236"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 356 199.726"; + rotation = "-0.73356 -0.518291 0.439618 26.8919"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 -180 161.078"; + rotation = "-0.122837 0.0959172 0.987781 196.796"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -804 136.469"; + rotation = "-0.0670205 0.0197712 -0.997556 112.13"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -380 194.109"; + rotation = "0.201796 -0.178288 0.963064 229.344"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 620 133.625"; + rotation = "0.0102303 0.168219 0.985697 209.59"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -356 155.687"; + rotation = "0.232602 -0.222725 -0.946726 81.0838"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 548 115.422"; + rotation = "0.1003 -0.0380493 0.994229 153.15"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 292 175.984"; + rotation = "0.0706782 0.0425422 -0.996592 113.18"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 324 179.453"; + rotation = "-0.0206615 -0.115308 0.993115 45.2806"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 900 203.453"; + rotation = "-0.10616 -0.156396 0.981973 157.404"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 956 143.172"; + rotation = "-0.250163 -0.333991 -0.908773 58.5563"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.207 -885.384 164.891"; + rotation = "0.10438 -0.11813 0.987497 152.336"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 580 178.438"; + rotation = "0.184342 0.0969841 0.978065 144.74"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 572 122.703"; + rotation = "0.268325 0.00286751 0.963324 105.077"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "491.987 443.978 124.023"; + rotation = "0.0198771 0.153002 0.988026 224.514"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 532 89.7969"; + rotation = "-0.19678 0.163754 -0.966676 96.9313"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -788 190.75"; + rotation = "0.360473 -0.191 0.913005 63.5714"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 1036 172.234"; + rotation = "0.0972819 -0.0997671 0.990244 239.515"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 428 176.313"; + rotation = "-0.171578 -0.116341 0.978277 238.917"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 540 133.391"; + rotation = "-0.668564 -0.26589 -0.694496 28.4918"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -876 185.266"; + rotation = "-0.114712 -0.0662864 0.991185 125.414"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 -668 214.656"; + rotation = "0.0991127 0.175268 0.979519 200.579"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 284 161.438"; + rotation = "-0.907849 0.38004 -0.177141 22.3048"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 548 167.016"; + rotation = "0.0288876 -0.173552 0.984401 111.839"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -780 164.406"; + rotation = "-0.127927 -0.1801 -0.975294 41.9493"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476.001 -164.043 165.231"; + rotation = "0.638068 0.103984 0.762926 26.0273"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 324 206.391"; + rotation = "0.128385 0.149185 0.980439 202.562"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 412 176.188"; + rotation = "0.134118 -0.270855 -0.953231 53.1645"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 284 151.391"; + rotation = "0.00798218 0.306276 0.951909 84.8046"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -580 149.797"; + rotation = "0.0687864 0.276325 -0.9586 29.159"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -572 191.766"; + rotation = "0.117596 0.0967177 -0.98834 115.607"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 756 196.656"; + rotation = "-0.449705 -0.572601 0.685488 33.0617"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 548 115.422"; + rotation = "0.110219 0.0406086 0.993077 234.674"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788.048 739.949 158.584"; + rotation = "-0.0769909 0.0742345 0.994264 184.971"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 964 170.594"; + rotation = "-0.185458 0.144102 0.972029 162.495"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 700 147.953"; + rotation = "-0.0827661 -0.173261 0.981392 176.075"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 340 197.391"; + rotation = "-0.397106 -0.31856 0.860713 42.4864"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -708 110.828"; + rotation = "0.026357 -0.0469061 0.998551 222.943"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -500 191.391"; + rotation = "0.735438 0.677592 0 25.2989"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -708 200.406"; + rotation = "-0.00592685 -0.187646 0.982219 203.585"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -860 178.484"; + rotation = "-0.461644 -0.0616697 0.884919 23.6583"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -492 165.969"; + rotation = "0.0930763 -0.146048 0.984889 144.509"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-924 172 162.266"; + rotation = "0.0281596 0.144313 0.989131 66.5737"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -708 149.781"; + rotation = "-0.0189276 -0.463237 -0.886032 54.4378"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 100 135"; + rotation = "-0.112005 -0.180725 0.977135 204.446"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 412 175.328"; + rotation = "0.00767857 -0.295447 -0.955328 74.5068"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 356 146.437"; + rotation = "0.027488 0.11139 0.993397 118.335"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -716 178.156"; + rotation = "-0.141505 -0.091104 0.985736 84.8195"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "795.986 -571.938 127.633"; + rotation = "0.100535 -0.127152 0.986775 231.401"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 252 196.875"; + rotation = "-0.0180272 -0.0124431 0.99976 144.008"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 556 134.203"; + rotation = "0.0765866 -0.0556074 -0.995511 110.242"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "499.981 475.97 118.283"; + rotation = "0.103579 0.0282318 0.99422 97.3272"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.1202 -899.937 163.154"; + rotation = "-0.130951 -0.641434 0.755919 41.5468"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 764 121.719"; + rotation = "0.114738 0.0741956 0.990621 159.192"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-515.939 -195.967 165.822"; + rotation = "-0.185566 0.052312 0.981238 93.0838"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 772 158.219"; + rotation = "-0.77669 -0.599916 -0.191972 15.5336"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 836 120.062"; + rotation = "0.0712933 -0.376787 -0.923552 32.3577"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 740 134.437"; + rotation = "0.544482 -0.548881 -0.634246 37.055"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 860 125.594"; + rotation = "0.322933 -0.909406 0.262097 26.2708"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 748 188.406"; + rotation = "-0.89854 0.266625 0.348622 30.8802"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 900 105.984"; + rotation = "0.0443841 -0.110467 0.992888 202.841"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 1052 110.656"; + rotation = "0.220414 -0.0997704 0.97029 121.485"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -756 190.813"; + rotation = "-0.0456292 0.100958 0.993844 102.346"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 -884 205.828"; + rotation = "0.00505639 -0.10897 -0.994032 98.3396"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 -396 163.813"; + rotation = "-0.117193 -0.105305 0.98751 170.124"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 540 174.688"; + rotation = "0.156452 -0.237377 0.958736 51.8745"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644.252 147.737 162.418"; + rotation = "0.0471401 -0.00620604 0.998869 75.0626"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 900 176.953"; + rotation = "-0.20447 0.154659 0.966578 192.569"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 412 153.797"; + rotation = "0.848178 0.346115 -0.400998 29.3739"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 324 176.125"; + rotation = "0.149112 -0.105011 0.983229 137.657"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.9386 795.978 151.212"; + rotation = "0.370501 0.816558 -0.442675 22.3595"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 932 183.125"; + rotation = "0.0145452 0.318648 -0.947761 64.7476"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 532 90.6875"; + rotation = "0.100087 -0.17015 0.980322 182.941"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -868 134.781"; + rotation = "0.0688145 -0.20961 0.975361 86.4257"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -540 156.109"; + rotation = "-0.105449 0.0035632 0.994418 217.803"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -684 200.359"; + rotation = "-0.426908 0.717012 0.551039 32.0724"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 436 164.203"; + rotation = "-0.385514 0.0725446 -0.919846 69.4116"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 948 201.484"; + rotation = "0.37883 0.0516497 -0.924024 84.4849"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-355.897 -267.98 194.552"; + rotation = "0.0648346 0.529563 -0.845789 42.0295"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-924 -916 201.359"; + rotation = "-0.555614 -0.0753082 -0.828023 25.2332"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -396 150.328"; + rotation = "0.321065 0.295024 -0.899932 57.9747"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -60 179.859"; + rotation = "0.430664 0.384371 -0.816571 44.5636"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -628 175.734"; + rotation = "0.021175 0.524496 0.851149 15.2487"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "972 -756 191.453"; + rotation = "-0.0820835 0.278019 0.957062 111.36"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 452 155.344"; + rotation = "-0.13203 0.179281 0.974898 152.676"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 708 152.828"; + rotation = "0.0420136 0.144679 -0.988586 76.6388"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "803.981 340.106 173.391"; + rotation = "-0.307235 0.0624933 -0.94958 45.0601"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -668 211.125"; + rotation = "0.253305 -0.274298 -0.927684 64.8285"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -524 158.062"; + rotation = "-0.140448 0.0874433 -0.986219 119.693"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 676 142.078"; + rotation = "-0.282114 0.308386 -0.908466 57.5175"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -652 128.297"; + rotation = "0.0459587 -0.0614308 0.997053 120.146"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 268 172.609"; + rotation = "-0.0207371 0.213596 0.976702 222.086"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 524 191.109"; + rotation = "0.202322 -0.377291 -0.903724 57.7708"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 380 171.167"; + rotation = "-0.0792256 -0.120556 -0.98954 44.4201"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -756 186.859"; + rotation = "0.880857 -0.416398 -0.225174 30.3931"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -860 179.719"; + rotation = "0.0361861 0.0386996 0.998595 119.07"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 100 43.7657"; + rotation = "-0.134329 -0.135512 0.981627 52.842"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684.039 476.041 119.506"; + rotation = "-0.0774732 -0.176032 0.981331 219.31"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 492 130.359"; + rotation = "-0.0649561 -0.115674 0.991161 227.623"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -652 180.156"; + rotation = "-0.0559608 0.177963 0.982445 173.123"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -804 136.281"; + rotation = "-0.334981 0.054558 0.940644 25.4664"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628.044 -828.055 160.009"; + rotation = "-0.0845702 0.242064 0.966568 142.21"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -268 178.391"; + rotation = "0.0913364 -0.0319055 0.995309 183.981"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 468 83.6875"; + rotation = "-0.0048518 0.203123 0.979141 235.993"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -436 151.125"; + rotation = "-0.249556 0.172165 0.952933 95.7544"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "716 44 43.6719"; + rotation = "0.314337 -0.216699 -0.924248 66.0563"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 348 166.984"; + rotation = "0.346669 0.467344 0.813271 15.95"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 860 190.766"; + rotation = "0.0798817 -0.188646 0.978791 156.494"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 380 147.875"; + rotation = "-0.50571 -0.518853 0.689238 13.0284"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "779.998 787.941 158.382"; + rotation = "0.243835 -0.191568 -0.950708 74.775"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892 1004 125.594"; + rotation = "-0.00516495 -0.11783 0.99302 135.283"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 836 190.406"; + rotation = "0.00207823 0.0837836 0.996482 236.831"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636.212 -204.171 159.392"; + rotation = "-0.148311 0.198578 0.968799 199.388"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -372 198.844"; + rotation = "0.0527119 -0.108606 0.992686 187.942"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 236 141.812"; + rotation = "-0.0363092 -0.060834 0.997487 151.07"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 172 130.389"; + rotation = "0.807696 -0.0323292 -0.588712 31.7361"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 164 119.481"; + rotation = "0.0577884 0.125406 0.990421 126.445"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "803.94 724.05 164.356"; + rotation = "0.08193 -0.121641 0.989187 147.337"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -420 155.078"; + rotation = "-0.0754396 -0.698394 0.711727 41.2605"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 836 185.391"; + rotation = "-0.8228 0.3425 0.453535 13.1831"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 540 188.156"; + rotation = "0.0299619 -0.174803 0.984147 193.78"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "924.034 -148 154.604"; + rotation = "-0.0938241 -0.0466286 0.994496 233.744"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 628 172.203"; + rotation = "0.0492992 -0.105407 0.993206 74.3756"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 92 137.516"; + rotation = "0.838307 -0.383528 -0.387488 22.9614"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -660 181.406"; + rotation = "-0.488579 0.141474 -0.860974 57.9725"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 772 171.016"; + rotation = "-0.115396 0.00257147 0.993316 207.82"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 4 66.3906"; + rotation = "0.11896 -0.130115 0.984337 220.41"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 -564 169.797"; + rotation = "-0.371717 0.257574 0.891898 37.842"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -764 195.375"; + rotation = "-0.196515 -0.0863996 -0.976687 65.2215"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -396 171.469"; + rotation = "-0.0477611 0.0682993 -0.996521 81.1973"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 372 166.797"; + rotation = "0.192976 -0.337331 -0.921395 67.2538"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 660 160.078"; + rotation = "-0.601819 0.115082 -0.790297 22.6649"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-523.995 -276.067 167.402"; + rotation = "0.107329 0.221761 0.969176 120.557"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -500 150.234"; + rotation = "0.333797 -0.58315 -0.740618 33.329"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740.009 275.966 166.027"; + rotation = "0.0752195 0.107665 0.991338 80.4909"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 1012 210.125"; + rotation = "-0.00128625 -0.136263 -0.990672 113.494"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "675.968 739.956 174.886"; + rotation = "0.0583225 0.158074 0.985703 210.577"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 68 133.031"; + rotation = "0.0796434 -0.1711 0.982029 96.034"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 916 175.766"; + rotation = "-0.552179 0.0244976 0.833365 29.794"; + scale = "2.4 2.4 2.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -948 174.953"; + rotation = "0.232643 0.643931 -0.728855 39.0721"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 476 129.047"; + rotation = "-0.0360581 0.0670882 0.997095 99.1646"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 -820 177.094"; + rotation = "0.133449 -0.134124 0.981938 171.162"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 700 157.297"; + rotation = "-0.169535 -0.141766 0.975275 159.508"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -852 206.766"; + rotation = "0.941021 0.282943 0.185534 10.7492"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -836 204.609"; + rotation = "-0.0710702 0.105006 0.991929 179.008"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 412 195.225"; + rotation = "-0.544814 0.477229 0.689515 31.4872"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 -780 144.516"; + rotation = "-0.122475 0.23396 -0.964501 106.991"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "659.877 563.992 129.932"; + rotation = "0.164733 -0.175745 0.970555 80.6857"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-163.975 -572.031 198.138"; + rotation = "-0.0189722 0.271087 0.962368 114.023"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 684 148.016"; + rotation = "-0.201579 -0.00431652 0.979463 127.944"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 892 147.75"; + rotation = "-0.328718 0.253315 0.909822 48.9566"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 404 187.063"; + rotation = "0.0498553 -0.141819 0.988636 157.255"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 492 130.359"; + rotation = "-0.169827 0.0263399 0.985122 89.8587"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -612 202.719"; + rotation = "0.20495 0.0764723 -0.97578 96.3977"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 772 111.578"; + rotation = "0.308959 -0.0181853 0.950902 23.1061"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWShrub21) { + + + new TSStatic() { + position = "443.994 -155.977 150.769"; + rotation = "-0.163282 0.026046 -0.986236 49.6023"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 492 188.078"; + rotation = "0.107102 0.0285094 0.993839 74.3407"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 -876 205.656"; + rotation = "0.0344183 -0.0189669 0.999228 195.988"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -780 191.297"; + rotation = "-0.0201536 -0.0388988 -0.99904 94.0545"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 404 196.359"; + rotation = "0.0498665 0.00330784 -0.99875 87.0712"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "259.975 -236.021 130.38"; + rotation = "-0.0146737 -0.0634954 -0.997874 107.117"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "899.986 524.002 145.861"; + rotation = "0.0399734 -0.073488 0.996495 75.1944"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 380 146.062"; + rotation = "-0.0365288 -0.00823908 0.999299 186.995"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 916 124.266"; + rotation = "-0.126102 -0.0992841 -0.987036 43.5125"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540.007 -83.9752 131.523"; + rotation = "-0.0469886 -0.0329966 0.99835 101.093"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 764 112.062"; + rotation = "0.107011 -0.0141336 0.994157 33.1833"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524.021 -236.029 161.097"; + rotation = "0.0405553 0.0498175 0.997935 172.017"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "979.976 499.963 143.033"; + rotation = "0.815324 -0.579004 4.5659e-05 5.60018"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.004 843.971 145.397"; + rotation = "0.0765409 -0.0768709 -0.994099 73.3249"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 476 166.969"; + rotation = "0.0105447 -0.0792926 -0.996796 113.17"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460.002 -723.986 195.128"; + rotation = "-0.0413118 0.0496652 -0.997911 82.1186"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 628 164.922"; + rotation = "-0.00605635 0.0816851 0.99664 218.878"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 -380 146.375"; + rotation = "0.12814 0.276719 -0.952369 23.0716"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-836 292 177.047"; + rotation = "-0.211314 0.0922013 -0.97306 27.7189"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 212 166.141"; + rotation = "0.0979182 -0.0466536 0.9941 43.2317"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -892 183.609"; + rotation = "0.0143469 -0.0342093 0.999312 179.001"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 340 195.828"; + rotation = "0.0655468 0.0279172 -0.997459 7.01789"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 252 197"; + rotation = "-0.000922602 -0.0158674 0.999874 229.994"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740.007 523.999 139.467"; + rotation = "0.157367 0.908809 0.386395 5.17313"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "940 -780 196.281"; + rotation = "0.123766 0.335754 -0.933783 20.3203"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "611.983 596.002 144.325"; + rotation = "0.0255086 -0.0492351 0.998461 69.0826"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -924 197.781"; + rotation = "-0.0524078 -0.0211741 0.998401 134.066"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900 124 172.516"; + rotation = "0.0316311 0.0953792 0.994938 109.274"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "948 924 159.641"; + rotation = "0.0485464 0.00647402 0.9988 170.012"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652.004 164.005 161.893"; + rotation = "-0.0200584 -0.0077988 0.999768 115.012"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -732 195.797"; + rotation = "-0.0172241 -0.0409 0.999015 205.975"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 772 170.078"; + rotation = "-0.0471289 0.0377874 -0.998174 71.0989"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -812 136.469"; + rotation = "-0.0789285 0.0020123 0.996878 44.1246"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 204 150.125"; + rotation = "-0.0498729 0.0136701 0.998662 147.042"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 476 180.047"; + rotation = "-0.122655 0.183786 0.975284 28.6807"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -580 176.281"; + rotation = "-0.060748 0.0136534 0.99806 227.917"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 676 127.922"; + rotation = "0.0266066 0.0642023 0.997582 180.998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -484 176.344"; + rotation = "-0.1147 0.188085 0.975432 39.9056"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -812 136.031"; + rotation = "0.11731 0.0143302 0.992992 72.3841"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 772 143.266"; + rotation = "0.0144661 0.00538752 0.999881 184"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -900 139.516"; + rotation = "0.0782977 -0.0149742 0.996818 206.917"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892.318 -139.923 152.986"; + rotation = "0.0898643 -0.0182831 0.995786 67.2228"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "499.975 628.002 150.339"; + rotation = "-0.00248789 -0.603028 0.797716 10.0193"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -644 162.812"; + rotation = "-0.0711666 0.0345332 0.996867 205.922"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "883.145 -99.558 163.775"; + rotation = "-0.0598374 0.00702671 0.998183 211.945"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 708 172.516"; + rotation = "0.00178554 0.0819106 0.996638 115.175"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 844 72.7969"; + rotation = "-0.0694594 0.0195506 0.997393 70.1403"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620.026 612.019 145.99"; + rotation = "-0.0645675 0.0077903 0.997883 93.1217"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -740 195.594"; + rotation = "-0.0156209 0.00317413 0.999873 157.003"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 844 72.7969"; + rotation = "-0.0332393 -0.024848 0.999138 175.005"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -708 110.828"; + rotation = "0.014236 -0.0485819 0.998718 196.979"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -388 166.594"; + rotation = "0.575197 -0.212338 0.789976 15.1571"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 76 151.469"; + rotation = "0.134938 -0.098067 -0.985989 22.3049"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -852 179.156"; + rotation = "0.0750148 0.0198263 0.996985 98.1711"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -620 172.047"; + rotation = "-0.0485524 0.105793 0.993202 37.2358"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 908 148.234"; + rotation = "-0.0411825 -0.0122401 0.999077 204.977"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -500 144.062"; + rotation = "0.229694 -0.966722 -0.112644 8.86116"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412.01 532.004 158.388"; + rotation = "-0.11697 0.189438 0.974901 14.3567"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -884 205.406"; + rotation = "0.0730443 0.0242393 0.997034 82.1684"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -812 140.547"; + rotation = "0.047538 0.0255647 -0.998542 116.075"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "940 292 182.641"; + rotation = "-0.50635 -0.0545004 0.860604 11.6094"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 524 114.172"; + rotation = "0.076725 0.0285841 0.996642 217.882"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 516 135.141"; + rotation = "0.0371531 -0.0644382 0.99723 226.884"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204.043 -283.998 128.824"; + rotation = "0.067604 -0.00861556 0.997675 172.019"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 -780 196.219"; + rotation = "0.217506 0.037687 0.975331 31.745"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "683.98 139.996 157.055"; + rotation = "0.0858275 -0.170992 0.981527 33.5864"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-683.998 -220.023 110.807"; + rotation = "0.0805193 -0.0462857 -0.995678 72.2362"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -804 135.984"; + rotation = "-0.0814628 -0.0591013 0.994923 82.2888"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 668 157.016"; + rotation = "-0.0844503 0.0167281 0.996287 95.2118"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 876 197.938"; + rotation = "0.0461817 0.0716408 0.996361 215.877"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 492 183.25"; + rotation = "0.105042 0.0397347 -0.993674 62.3218"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 948 131.656"; + rotation = "-0.0695418 0.0138446 0.997483 116.129"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 52 167.875"; + rotation = "0.0125583 0.0127795 0.999839 181"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -580 164.25"; + rotation = "-0.0554457 -0.0437921 0.997501 129.111"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -588 164.406"; + rotation = "0.0759689 0.0158875 0.996984 116.155"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "979.997 492.004 143.386"; + rotation = "0.0157654 -0.0101923 0.999824 212.994"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -396 179.516"; + rotation = "-0.0791113 0.0724837 0.994227 95.3304"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748.023 804.006 156.636"; + rotation = "-0.0504621 -0.00207032 0.998724 155.031"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 284 186.781"; + rotation = "0.960259 0.0983862 0.261195 3.82713"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "275.791 371.891 171.254"; + rotation = "0.00623522 -0.0956904 -0.995392 80.2611"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 636 154.281"; + rotation = "0.0584696 -0.069662 -0.995856 100.234"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660.02 411.963 132.53"; + rotation = "-0.0311227 0.0723258 0.996895 169.034"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -748 195.625"; + rotation = "0.07983 -0.0411609 -0.995958 32.1231"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 652 154.688"; + rotation = "0.0391098 -0.0680084 0.996918 174.018"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "795.995 -667.985 115.528"; + rotation = "-0.486142 -0.154269 -0.860155 5.81152"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "980 132 192.797"; + rotation = "0.0415308 0.0709957 0.996612 124.161"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "411.985 476.008 151.794"; + rotation = "-0.347184 -0.557098 -0.754391 9.27046"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -476 153.141"; + rotation = "-0.0314594 -0.0211035 0.999282 85.0412"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 748 128.016"; + rotation = "0.35107 -0.3877 0.852314 8.20912"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -860 200.563"; + rotation = "-0.0745376 -0.0301324 0.996763 110.175"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 1004 161.391"; + rotation = "0.213267 0.185816 0.959161 30.1795"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308.016 -260.001 188.724"; + rotation = "-0.0279804 -0.0696185 -0.997181 54.1308"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "908 132 172.734"; + rotation = "-0.0668936 -0.0184197 0.99759 180"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 988 126.25"; + rotation = "0.0166001 -0.077994 0.996816 123.153"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "683.995 604.015 152.835"; + rotation = "-0.0656872 0.0330243 -0.997294 90.1555"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -500 144.062"; + rotation = "0.0780896 0.00390907 0.996939 158.066"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756.019 139.962 142.601"; + rotation = "0.0318949 0.0809784 0.996205 83.2158"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.0278 -91.9977 150.738"; + rotation = "0.0699905 -0.144834 0.986977 61.6588"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 988 110.437"; + rotation = "-0.143188 0.0528937 -0.988281 56.5618"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "619.991 188 148.573"; + rotation = "-0.0361992 -0.0791103 -0.996208 46.157"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -267.998 162.386"; + rotation = "-0.00514084 -0.0038679 0.999979 74.0009"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -596 184.109"; + rotation = "-0.0415966 -0.0709018 -0.996616 58.165"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 -580 149.266"; + rotation = "-0.02355 -0.00966591 0.999676 112.017"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 788 110.906"; + rotation = "-0.298351 -0.351987 -0.887182 9.01326"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 84 138.051"; + rotation = "0.00936263 0.0434949 0.99901 229.957"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124.008 732.021 154.634"; + rotation = "-0.0459374 -0.0847985 0.995339 81.9838"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 -660 189.031"; + rotation = "-0.340333 -0.156389 -0.927209 24.7519"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 652 158.484"; + rotation = "-0.00122895 0.0763187 -0.997083 58.1421"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 -860 200.766"; + rotation = "0.0448328 -0.0589811 0.997252 158.059"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 1052 118.969"; + rotation = "0.287858 0.31874 0.903074 15.4853"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -300 179.844"; + rotation = "-0.0536408 0.0130594 0.998475 169.017"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 468 180.453"; + rotation = "0.0152834 0.0864331 0.99614 231.826"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 596 178.531"; + rotation = "0.05468 -0.00952502 0.998459 199.97"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -820 182.828"; + rotation = "-0.0178974 -0.0509359 0.998542 158.031"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "691.975 811.989 155.322"; + rotation = "0.21822 -0.307914 0.92605 23.7088"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 204 150.469"; + rotation = "-0.0311332 -0.0237224 0.999234 107.042"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -668 190.641"; + rotation = "0.414414 -0.311012 -0.855297 12.8465"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -916 197.5"; + rotation = "-0.0374978 -0.0872534 -0.99548 99.2563"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 244 174.016"; + rotation = "0.0081642 0.11191 -0.993685 72.3457"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564.011 643.991 147.993"; + rotation = "-0.00408249 0.0566307 0.998387 86.0921"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "908 132 172.734"; + rotation = "-0.0878038 0.0583469 0.994428 82.3175"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892 132 171.953"; + rotation = "-0.0546167 -0.00550872 -0.998492 52.0684"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "580 -548 153.062"; + rotation = "-0.0544965 -0.0500205 0.99726 43.1073"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 388 159.781"; + rotation = "0.0092421 0.0600291 0.998154 145.061"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 596 170.953"; + rotation = "0.0445563 -0.0605215 -0.997172 88.1622"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 372 146.281"; + rotation = "-0.0713326 0.000814097 -0.997452 110.137"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 1012 121.156"; + rotation = "0.0646898 -0.0357617 0.997264 230.878"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -484 171.719"; + rotation = "-0.010376 -0.0639532 0.997899 229.908"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 964 125.125"; + rotation = "-0.00815307 -0.138246 0.990364 52.4385"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-91.9625 -747.987 208.028"; + rotation = "-0.0899702 0.104888 0.990406 44.385"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -924 202.703"; + rotation = "-0.0545475 -0.0298879 -0.998064 72.1056"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "900.039 -324.052 164.529"; + rotation = "-0.0392105 0.0588227 0.997498 173.017"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188.009 -236.012 129.67"; + rotation = "0.0472641 -0.0147687 -0.998773 109.066"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -364 187.078"; + rotation = "-0.052643 -0.0790062 0.995483 72.2471"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556.023 643.981 147.731"; + rotation = "-0.0102631 0.0408254 0.999114 231.96"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 740 143.828"; + rotation = "0.0135179 0.0998286 0.994913 86.2915"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 100 135.047"; + rotation = "0.999861 -0.0166956 0 6.793"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92.0141 -187.982 150.906"; + rotation = "-0.0979549 0.0134521 0.9951 62.2484"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460.019 -204.028 154.408"; + rotation = "0.0801422 0.0401518 0.995974 121.198"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 388 159.781"; + rotation = "0.13157 0.0782677 0.988212 44.4739"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 532 176.625"; + rotation = "-0.0228615 0.0149512 -0.999627 104.021"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -884 205.203"; + rotation = "-0.0257809 0.0147524 0.999559 204.989"; + scale = "1.8 1.8 1.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 892 105.047"; + rotation = "0.0228828 0.00925097 0.999695 228.987"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -460 143.734"; + rotation = "0.759486 -0.612282 -0.219752 9.08271"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 404 196.469"; + rotation = "-0.0196467 0.0122725 0.999732 88.0155"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 804 168.891"; + rotation = "-0.0302739 -0.0349811 0.998929 95.0611"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 700 173.719"; + rotation = "0.853622 0.215976 -0.474008 10.5252"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 92 151"; + rotation = "-0.0289143 -0.0969416 -0.99487 114.269"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-980 340 199.031"; + rotation = "0.109175 -0.0223825 -0.993771 89.3579"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 508 131.453"; + rotation = "-0.00249099 -0.0387766 0.999245 192.991"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -476 156.922"; + rotation = "0.0249805 -0.113926 -0.993175 49.297"; + scale = "1.9 1.9 1.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 -900 187.375"; + rotation = "0.0114203 0.0618335 0.998021 37.0684"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 148 134.874"; + rotation = "0.484958 -0.718682 0.49831 8.01727"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -380 196.406"; + rotation = "0.0596317 -0.0339644 0.997642 126.109"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -916 182.078"; + rotation = "0.00512739 0.0197697 0.999791 109.011"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.96983 -908.009 160.688"; + rotation = "-0.0647622 0.0337728 0.997329 158.057"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 788 154.922"; + rotation = "-0.00117666 0.0471426 0.998887 35.0366"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 764 174.188"; + rotation = "0.00375933 -0.0840562 -0.996454 79.1994"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -564 149.219"; + rotation = "0.0735987 0.0985281 0.992409 34.2449"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 -476 131.031"; + rotation = "0.0348377 0.0491313 0.998185 128.082"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -916 182.078"; + rotation = "0.0265484 -0.00763256 -0.999618 74.021"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 420 196.422"; + rotation = "0.0408354 -0.0335802 0.998601 219.948"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -476 131.266"; + rotation = "-0.0381369 -0.0052729 0.999259 69.0397"; + scale = "1.6 1.6 1.6"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 452 178.484"; + rotation = "0.0339857 0.0220893 0.999178 160.016"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 228 191.75"; + rotation = "0.0954765 -0.0068383 -0.995408 96.262"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "739.997 507.995 139.315"; + rotation = "0.0621482 0.0203017 0.99786 101.12"; + scale = "1.7 1.7 1.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 652 154.422"; + rotation = "-0.0673054 -0.00971656 0.997685 112.123"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "860 468 186.188"; + rotation = "0.449109 0.470379 -0.759635 13.14"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "563.999 -771.995 154.792"; + rotation = "-0.238824 -0.0716772 0.968414 8.26001"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -436 172.094"; + rotation = "-0.0471668 0.0220457 -0.998644 83.0772"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 636 164.656"; + rotation = "-0.0211426 -0.0418734 0.998899 219.959"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 948 101.938"; + rotation = "-0.0345058 0.00633427 0.999384 201.987"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -524 157.688"; + rotation = "-0.0565884 -0.354567 -0.933317 17.1269"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -412 171.453"; + rotation = "-0.0614355 -0.0602648 -0.99629 59.1825"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 444 186.359"; + rotation = "-0.000567542 -0.0546058 -0.998508 109.081"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 396 159.859"; + rotation = "0.022851 0.0879875 -0.995859 76.2303"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 980 150.188"; + rotation = "-0.0555748 0.075256 0.995614 50.1932"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 276 139.067"; + rotation = "-0.056171 -0.0942021 -0.993967 83.3441"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -364 189.516"; + rotation = "-0.0436913 0.0514312 0.99772 65.1183"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -460 197.141"; + rotation = "-0.136315 0.0895254 -0.986612 10.1351"; + scale = "2 2 2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 660 166"; + rotation = "-0.0626926 0.249271 -0.966402 24.8087"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 660 131.969"; + rotation = "0.887281 -0.461229 0 6.27849"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Reversion.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Reversion.mis new file mode 100644 index 00000000..2f4a3f17 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Reversion.mis @@ -0,0 +1,1503 @@ +// DisplayName = TWL-Reversion +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//A strange game. The only winning move is not to play. +// -- Joshua +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//Changes: larger play area, sentry and base turrets removed +//Map by Dynamix (Editing: z0dd, =Sabre=) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "5"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1120 -824 2320 1648"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sky(Sky) { + position = "120 32 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.300000 0.000000"; + fogDistance = "50"; + fogColor = "0.350000 0.350000 0.350000 1.000000"; + fogVolume1 = "150 0 54"; + fogVolume2 = "275 54 60"; + fogVolume3 = "1500 60 300"; + materialList = "lush_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -190776.046875"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -62109.015625"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.99805 -2.98023e-08"; + high_fogVolume2 = "-1 -7.99871e-10 0.0432373"; + high_fogVolume3 = "-1 -8.29498e-10 0.0448387"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000700"; + }; + new Lightning() { + position = "-24.2587 -1058.63 355.675"; + rotation = "1 0 0 0"; + scale = "2000 500 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "2"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new Sun() { + position = "120 32 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Reversion.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "Reversion.nav"; + conjoinBowlDev = "20"; + locked = "true"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "256 400 7.9047"; + rotation = "1 0 0 0"; + scale = "128 192 41.9265"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-634.978 400.975 101.021"; + rotation = "0.216845 0.168082 -0.961627 77.7415"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "868.179 -443.488 107.953"; + rotation = "0.207672 0.244491 -0.947152 102.365"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(teamS) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "202.257 611.607 75.7962"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new Item() { + position = "202 615.5 78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "0"; + }; + new Item() { + position = "199.087 614.785 78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "0"; + }; + new Item() { + position = "204.913 616.215 78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "0"; + }; + }; + new SimGroup(Team1) { + + powerCount = "2"; + + new SimGroup(spawnspheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "-588.751 417.231 49.9243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new StaticShape(Team1generatorLarge1) { + position = "-700.961 390.401 55.4845"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "33"; + team = "1"; + }; + new StaticShape(Team1generatorLarge2) { + position = "-700.99 447.595 55.4948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "45"; + team = "1"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-592.282 340.362 61.0431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + Target = "34"; + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "-592.231 348.482 50.72"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1StationInventory3) { + position = "-592.285 334.739 52.6749"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "35"; + Trigger = "5227"; + team = "1"; + }; + new Item() { + position = "-592.263 355.019 54.0272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "-700.2 419 50"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-687.038 418.579 74.5295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new Item(Team1flag1) { + position = "-701.246 419.048 86.0046"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "37"; + team = "1"; + WayPoint = "5433"; + Trigger = "5434"; + isHome = "1"; + originalPosition = "-701.246 419.048 86.0046 0 0 1 1.5708"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-606.274 417.202 57.1059"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "38"; + team = "1"; + }; + new StaticShape(Team1StationInventory4) { + position = "-701.066 412.142 92.0019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "39"; + Trigger = "5236"; + team = "1"; + }; + new StaticShape(Team1StationInventory5) { + position = "-701.021 425.866 91.9946"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "40"; + Trigger = "5238"; + team = "1"; + }; + new StaticShape(Team1StationInventory6) { + position = "-686.565 419.146 59.0018"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "41"; + Trigger = "5240"; + team = "1"; + }; + new StaticShape(Team1StationInventory7) { + position = "-703.347 439.114 77.9997"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "42"; + Trigger = "5242"; + team = "1"; + }; + new StaticShape(Team1StationInventory8) { + position = "-703.353 398.983 78.0001"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "43"; + Trigger = "5244"; + team = "1"; + }; + new InteriorInstance() { + position = "-750.979 426.27 49.1888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-750.979 415.27 48.8888"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5447"; + locked = "true"; + Target = "44"; + Ready = "1"; + team = "1"; + }; + new InteriorInstance() { + position = "-592.184 497.451 50.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret(Team1TurretBaseLarge3) { + position = "-592.44 505.708 60.8904"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + Target = "46"; + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape(Team1StationInventory11) { + position = "-592.181 511.183 52.3546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "47"; + Trigger = "5254"; + team = "1"; + }; + new Item() { + position = "-592.281 491.525 53.4856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "-606.179 417.306 47.1243"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "2"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "664.771 -470.031 52.3684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "669.996 -530.393 54.4676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new StaticShape(Team2generatorLarge1) { + position = "778.665 -437.938 57.8266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "48"; + team = "2"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "670.053 -544.552 61.6232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + Target = "49"; + team = "2"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "669.893 -536.999 51.1421"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + + locked = "false"; + team = "2"; + }; + new StaticShape(Team2StationInventory3) { + position = "670 -382.248 56.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "50"; + Trigger = "5300"; + team = "2"; + }; + new Item() { + position = "669.978 -402.728 57.2492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "669.911 -386.514 64.4732"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + Target = "51"; + team = "2"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "669.946 -396.031 54.1021"; + rotation = "0 0 -1 0.0791294"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "777.904 -466.537 52.3421"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "BigRoom"; + + locked = "true"; + team = "2"; + }; + new Item(Team2flag1) { + position = "778.95 -466.585 88.3467"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "53"; + team = "2"; + WayPoint = "5435"; + Trigger = "5436"; + isHome = "1"; + originalPosition = "778.95 -466.585 88.3467 0 0 1 1.5708"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "678.792 -470.131 58.7282"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "54"; + team = "2"; + }; + new StaticShape(Team2StationInventory4) { + position = "778.77 -459.679 94.3439"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "55"; + Trigger = "5310"; + team = "2"; + }; + new StaticShape(Team2StationInventory5) { + position = "778.725 -473.403 94.3366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "56"; + Trigger = "5312"; + team = "2"; + }; + new StaticShape(Team2StationInventory6) { + position = "764.269 -466.683 61.3439"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "57"; + Trigger = "5314"; + team = "2"; + }; + new StaticShape(Team2StationInventory7) { + position = "781.051 -486.651 80.3417"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "58"; + Trigger = "5316"; + team = "2"; + }; + new StaticShape(Team2StationInventory8) { + position = "781.057 -446.52 80.3421"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "59"; + Trigger = "5318"; + team = "2"; + }; + new Item() { + position = "764.742 -466.116 76.8715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new InteriorInstance() { + position = "827.282 -461.707 51.5309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "827.282 -472.707 51.2309"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5450"; + locked = "true"; + Target = "60"; + Ready = "1"; + team = "2"; + }; + new StaticShape(Team2generatorLarge2) { + position = "778.694 -495.132 57.8369"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "61"; + team = "2"; + }; + new InteriorInstance() { + position = "678.434 -470.156 48.8163"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2StationInventory11) { + position = "669.896 -550.771 53.0967"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "62"; + Trigger = "5360"; + team = "2"; + }; + }; + }; + new SimGroup(Organics) { + + powerCount = "0"; + + new TSStatic() { + position = "-133.533 -606.804 52.7506"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228.452 465.752 67.9757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "331.87 360.319 49.8039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "398.588 572.925 72.3492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-221.204 808.859 48.3257"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-179.775 810.668 45.3881"; + rotation = "0.885553 0.436657 0.158514 90.3092"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "239.768 -813.59 47.6653"; + rotation = "0.210642 -0.158738 0.964589 107.973"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "362.641 -814.344 55.4042"; + rotation = "0 0 1 61.3065"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-185.798 -676.856 63.8358"; + rotation = "0 0 1 116.31"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-63.3654 -675.879 70.0938"; + rotation = "0 0 -1 80.787"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-573.682 196.234 73.4702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468.42 316.98 68.4671"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-445 354 80.6467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-533.129 731.972 87.3182"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156.684 483.974 84.3727"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164.159 106.95 59.8089"; + rotation = "0 0 1 104.278"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-190 -166 87.4137"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "74.5247 -211.457 85.7287"; + rotation = "0 0 -1 41.8259"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "287.252 35.4062 69.0122"; + rotation = "0 0 1 62.4524"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "257.02 10.7366 71.046"; + rotation = "0 0 -1 41.8259"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "224.605 -224.631 70.2669"; + rotation = "0 0 1 26.929"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "566.293 -276.306 56.7236"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "507.776 -304.988 55.5671"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "777.547 -117.595 75.5863"; + rotation = "0 0 -1 64.1713"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "822.478 -632.831 50.0429"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "813.296 -664.078 49.8462"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new SimGroup(AudioWater) { + + powerCount = "0"; + + new AudioEmitter() { + position = "286.108 515.075 54.4287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioCreatures) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-130.021 -605.67 103.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-165.416 109.665 86.4439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "228.243 467.01 91.5886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-576.167 203.734 99.8476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Rocks) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-430.596 222.191 64.7917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-450.616 650.028 80.2129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-143.789 543.163 94.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-264.882 155.907 98.7295"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-393.68 -48.3251 61.5342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-412.603 -79.3307 57.9718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-374.921 -69.2389 61.3461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-640.634 -232.746 57.5357"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-194.801 -126.726 102.882"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "63.7042 97.6869 105.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "184.628 187.984 64.3413"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "181.954 260.956 52.5766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "411.273 81.0008 86.4959"; + rotation = "0.0889925 0.376956 0.921946 175.725"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "486.496 -158.734 49.5211"; + rotation = "0 0 1 226.501"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "539.964 -196.76 47.6935"; + rotation = "0 0 -1 115.92"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "635.944 -210.565 78.4084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "612.695 -12.5919 117.781"; + rotation = "0 0 1 192.696"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "825.664 240.799 56.1113"; + rotation = "-1 0 0 24.0642"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "382.643 412.75 71.9031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "442.715 408.565 70.6079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "447.739 584.203 93.1733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "170.048 579.017 72.7536"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "632.608 418.948 79.3764"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "798.723 256.967 67.4079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "734.044 33.8683 51.5069"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "978.701 -239.387 51.9367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "759.286 -312.77 70.0386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "586.058 -563.127 80.644"; + rotation = "0 0 -1 110.581"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "261.977 -750.887 50.0861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "192.303 -714.896 51.2411"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "274.925 -512.594 76.0684"; + rotation = "1 0 0 134.072"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-355.854 -192.013 82.2533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Rollercoaster.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Rollercoaster.mis new file mode 100644 index 00000000..1e18ff32 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Rollercoaster.mis @@ -0,0 +1,2757 @@ +// Displayname = TWL-Rollercoaster +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Phoenix and Blood Eagle face off amid the rolling hills of Deus Sanguinius. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Each solar panel only powers the force field below it +//Bridges aligned and vehicle pad removed +//Map by Nefilim (editing: z0dd, Validuz, KilMeister) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + musicTrack = "desert"; + powerCount = "0"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-784 -600 1536 1168"; + flightCeiling = "300"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.850000 0.700000 0.500000 1.000000"; + fogDistance = "150"; + fogColor = "0.850000 0.700000 0.500000 1.000000"; + fogVolume1 = "250 0 50"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_Red_1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.18357e+15 1.07461e-38"; + high_fogVolume2 = "-1 9.96204e-34 8.68805e-44"; + high_fogVolume3 = "-1 -2.85461e+30 -3.68131e+21"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "-20.4605 210.167 105.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Rollercoaster_nef.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "Rollercoaster.nav"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(Environmental) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-18.2958 -116.376 229.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-460.145 -134.229 162.599"; + rotation = "0.330856 -0.10756 0.937531 38.2488"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "447.779 -80.1148 161.479"; + rotation = "0.03637 0.0189569 -0.999159 55.0987"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "373.898 62.7728 162.403"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "373.701 -56.7943 165.49"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(BaseAlpha) { + + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "374.179 -53.7465 141.715"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "310.167 57.3562 141.715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new Turret() { + position = "423.056 2.71088 139.075"; + rotation = "-0 0 -1 89.806"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + Target = "33"; + locked = "true"; + }; + new InteriorInstance() { + position = "366.16 5.44465 140.714"; + rotation = "0 0 -1 90"; + scale = "0.76 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new Item() { + position = "374.161 -53.7628 145.139"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "75761"; + Trigger = "4430"; + Target = "34"; + locked = "true"; + originalPosition = "374.161 -53.7628 145.139 0 0 1 1.5708"; + isHome = "1"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "360.926 45.5066 157.358"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new Turret() { + position = "325.079 2.9693 146.107"; + rotation = "0 0 1 90.1943"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "356.375 57.1912 139.702"; + rotation = "0 0 -1 89.9885"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "75453"; + team = "1"; + Target = "36"; + locked = "true"; + }; + new StaticShape() { + position = "391.96 57.6478 139.697"; + rotation = "0 0 1 90.0117"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "75455"; + team = "1"; + Target = "37"; + locked = "true"; + }; + new StaticShape() { + position = "350.64 47.4759 156.682"; + rotation = "0 0 1 178.866"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "38"; + locked = "true"; + damageTimeMS = "1399993"; + lastDamagedBy = "5349"; + lastDamagedByTeam = "1"; + }; + new Item() { + position = "386.219 -35.7278 141.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "325.675 2.96029 145.127"; + rotation = "0 0 1 180.195"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "422.399 2.74517 138.118"; + rotation = "0 0 1 180.195"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "356.397 57.3857 157.349"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "75461"; + team = "1"; + Target = "39"; + notReady = "1"; + inUse = "Down"; + }; + new SimGroup() { + + powerCount = "1"; + }; + }; + new SimGroup(FF1) { + + powerCount = "1"; + + new StaticShape() { + position = "374.16 49.0714 150.693"; + rotation = "0 0 1 180.012"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "1"; + Target = "40"; + locked = "true"; + }; + new ForceFieldBare() { + position = "367.925 43.5983 141.501"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "41"; + locked = "true"; + }; + }; + new SimGroup(FF2) { + + powerCount = "1"; + + new StaticShape() { + position = "374.171 65.6996 150.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "1"; + Target = "42"; + locked = "true"; + }; + new ForceFieldBare() { + position = "368.092 70.5983 141.587"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "43"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-420.327 10.6313 158.214"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-409.701 -111.439 166.95"; + rotation = "-0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(BaseBeta) { + + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-418.04 -103.7 140.943"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new InteriorInstance() { + position = "-482.052 7.7057 140.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new Turret() { + position = "-370.714 -47.3684 143.613"; + rotation = "0 0 -1 90.3786"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "44"; + locked = "true"; + lastProjectile = "139682"; + }; + new InteriorInstance() { + position = "-404.401 19.652 156.584"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new Item() { + position = "-418.065 -103.415 144.43"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "75762"; + Trigger = "4432"; + Target = "45"; + locked = "true"; + originalPosition = "-418.065 -103.415 144.43 0 0 1 1.5708"; + isHome = "1"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "-426.049 -44.5 139.942"; + rotation = "0 0 -1 90"; + scale = "0.757 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new Turret() { + position = "-461.02 -45.9178 137.674"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + team = "2"; + Target = "46"; + locked = "true"; + zappingSound = "0"; + }; + new StaticShape() { + position = "-435.844 7.57602 138.93"; + rotation = "0 0 -1 89.8969"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "75486"; + team = "2"; + Target = "47"; + locked = "true"; + }; + new StaticShape() { + position = "-400.265 8.01878 138.928"; + rotation = "0 0 1 89.5302"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "75488"; + team = "2"; + Target = "48"; + locked = "true"; + }; + new StaticShape() { + position = "-394.587 -2.15364 155.909"; + rotation = "0 0 1 180.103"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + locked = "true"; + }; + new Item() { + position = "-406.064 -85.3489 141.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-371.348 -47.433 142.659"; + rotation = "0 0 -1 0.379491"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-460.314 -45.9553 136.701"; + rotation = "0 0 1 0.193827"; + scale = "0.5 0.5 0.5"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-400.068 7.75634 156.576"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "75494"; + team = "2"; + Target = "50"; + }; + }; + new SimGroup(FF1) { + + powerCount = "1"; + + new StaticShape() { + position = "-418.074 -0.609425 149.949"; + rotation = "0 0 1 179.53"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "2"; + Target = "51"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-424.329 -6.04853 140.725"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + locked = "true"; + }; + }; + new SimGroup(FF2) { + + powerCount = "1"; + + new StaticShape() { + position = "-418.069 16.0052 149.938"; + rotation = "0 0 1 0.0969133"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Force Field"; + + team = "2"; + Target = "53"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-424.219 20.9382 140.706"; + rotation = "1 0 0 0"; + scale = "12.2172 0.508308 6.28023"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new TSStatic() { + position = "-36.8678 279.714 158.426"; + rotation = "-0.056119 -0.208259 -0.976462 66.8782"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + team = "0"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-37.475 280.274 160.799"; + rotation = "-1 0 -0 18.9076"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-38.2965 284.212 160.42"; + rotation = "-0.0578937 0.0534773 0.996889 83.7813"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-39.9129 281.425 160.019"; + rotation = "0 0 -1 49.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-38.6964 278.626 159.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "1004 -516 145.937"; + rotation = "0.0813535 -0.0785159 0.993588 171.057"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -148 101.656"; + rotation = "0.311697 -0.326103 -0.89247 71.0405"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 380 92.7344"; + rotation = "-0.194258 -0.316846 -0.928371 93.2569"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -676 95.125"; + rotation = "-0.387969 -0.125284 -0.913118 43.4649"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 -268 119.281"; + rotation = "0.181726 -0.983349 0 29.0527"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -668 96.0937"; + rotation = "0.0112919 -0.0790997 0.996803 111.172"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 156 161.172"; + rotation = "-0.00307919 0.153731 0.988108 171.106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 604 90.2188"; + rotation = "0.0315852 -0.08066 0.996241 144.126"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 60 123.813"; + rotation = "0.131304 0.288396 -0.948466 117.716"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -596 121.375"; + rotation = "-0.0765363 -0.272387 0.959139 95.3837"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -580 87.0313"; + rotation = "0.165031 -0.416269 0.894139 66.7524"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -484 139.969"; + rotation = "-0.153266 0.092781 0.98382 177.049"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -116 87.2188"; + rotation = "0.0638358 0.149909 0.986637 215.55"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -204 120.719"; + rotation = "-0.378889 -0.42144 -0.823912 70.0412"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -468 110.672"; + rotation = "0.217227 0.346338 -0.912613 84.1807"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "820 508 112.953"; + rotation = "0.141451 -0.346722 0.927241 88.3175"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 380 103"; + rotation = "0.244411 -0.0979465 0.964712 174.211"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 540 141.828"; + rotation = "-0.0013539 0.829383 0.558678 38.3684"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -444 77.8125"; + rotation = "0.0938012 0.37804 -0.921025 92.712"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -60 146.75"; + rotation = "-0.107844 0.00104672 -0.994167 63.2986"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 460 119.766"; + rotation = "-0.152464 -0.219256 0.963681 230.349"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 20 122.797"; + rotation = "0.0728032 -0.0452682 0.996318 179.003"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 52 80.2188"; + rotation = "0.131862 -0.222276 0.966026 175.17"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 316 130.719"; + rotation = "0.148335 0.134327 0.979772 219.253"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004 148 158.25"; + rotation = "-0.000207881 0.179476 0.983762 122.792"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -476 146.437"; + rotation = "-0.00458805 -0.034984 0.999377 145.021"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 -428 114.969"; + rotation = "-0.178653 -0.0265647 0.983553 157.369"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 564 100.859"; + rotation = "0.253111 -0.0427919 0.96649 217.787"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "924 516 106.703"; + rotation = "-0.175343 -0.236321 0.955723 203.925"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 836 131.766"; + rotation = "0.0515078 0.101228 0.993529 197.885"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -164 99.4688"; + rotation = "-0.285682 -0.123261 0.950364 124.44"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 748 94.5469"; + rotation = "0.147691 -0.117122 0.982074 98.0273"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -132 142.344"; + rotation = "-0.0828813 -0.403672 0.911142 67.8468"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -300 167.125"; + rotation = "-0.138045 0.176557 0.974562 77.437"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 -748 129.531"; + rotation = "-0.541403 -0.593044 -0.595971 48.4172"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "996 -476 154.484"; + rotation = "-0.21116 -0.0636066 0.97538 123.203"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -140 160.531"; + rotation = "0.162399 0.238955 0.957354 232.98"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1020 -580 144.359"; + rotation = "-0.196053 0.424638 -0.883881 66.305"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 396 118.766"; + rotation = "0.806258 -0.527052 0.268633 36.0789"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -52 93.1719"; + rotation = "0.0940199 -0.101404 0.990393 138.369"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 12 121.875"; + rotation = "0.228356 0.397962 -0.888527 44.5515"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -556 131.531"; + rotation = "-0.218722 -0.374401 0.901102 25.446"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 12 118.766"; + rotation = "-0.194751 0.53935 0.819252 61.5339"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -308 106.859"; + rotation = "0.292684 -0.459113 0.83878 59.2496"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 524 126.953"; + rotation = "-0.0401656 -0.194588 0.980062 155.483"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 188 152.672"; + rotation = "0.458613 -0.563363 -0.687238 51.9203"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -388 101.141"; + rotation = "0.0652538 -0.518352 -0.852674 61.7219"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -300 118.531"; + rotation = "-0.394967 0.422286 0.81589 68.3837"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 60 123.734"; + rotation = "-0.102372 -0.34217 0.934045 108.741"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 516 104.812"; + rotation = "-0.14632 0.0784454 0.986122 110.75"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant2) { + + powerCount = "0"; + + new TSStatic() { + position = "340 -468 88"; + rotation = "-0.00121396 0.0808727 -0.996724 67.1736"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -540 111.625"; + rotation = "-0.0946764 0.0321433 0.994989 129.223"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -348 78.6094"; + rotation = "-0.288031 0.0237091 0.957328 38.53"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -628 137.297"; + rotation = "-0.387917 0.00944646 -0.921646 59.9623"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 148 98.5937"; + rotation = "0.014844 -0.0732408 0.997204 140.103"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 532 91.7657"; + rotation = "0.426852 0.566025 0.705276 23.9285"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 204 130.594"; + rotation = "-0.710396 -0.605126 0.35939 40.2378"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -444 113.797"; + rotation = "0.000474444 -0.282698 0.959209 68.198"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -756 110.781"; + rotation = "-0.376583 -0.698578 0.608419 41.5591"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 372 110.266"; + rotation = "-0.243902 0.0866709 0.965919 232.409"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -772 140.547"; + rotation = "0.0763546 -0.0340192 0.9965 121.172"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 316 121.844"; + rotation = "0.159272 -0.189792 -0.96882 119.59"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -156 111.156"; + rotation = "-0.34383 0.210241 0.915194 100.032"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 532 128.812"; + rotation = "-0.298465 0.634886 0.712628 55.3681"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -140 145.141"; + rotation = "0.403519 0.198271 -0.893231 91.4624"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -244 161.891"; + rotation = "0.844316 0.463871 -0.268241 32.7025"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -820 119.594"; + rotation = "0.257371 -0.593273 0.76275 54.6268"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -68 102.328"; + rotation = "0.691608 0.585159 -0.423399 25.6244"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 132 143.562"; + rotation = "0.191172 -0.0369631 0.98086 163.321"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -580 70.4063"; + rotation = "-0.0324804 0.102632 0.994189 192.925"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 652 157.141"; + rotation = "0.0295301 -0.242413 0.969724 101.73"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -516 98.5937"; + rotation = "0.305605 0.0320771 -0.951618 46.009"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -276 125.625"; + rotation = "-0.24419 0.149367 0.958155 213.62"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "908 -716 98.7187"; + rotation = "-0.466822 0.735664 -0.490791 24.1745"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 -132 80.8125"; + rotation = "-0.226151 -0.000477859 -0.974092 105.455"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 444 109.656"; + rotation = "-0.438399 -0.881718 0.174296 33.4703"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -308 138.063"; + rotation = "-0.0708854 0.202397 -0.976735 93.3475"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -892 89.0156"; + rotation = "-0.324871 -0.0821986 -0.942179 110.234"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -260 141.203"; + rotation = "0.205227 0.108849 -0.972643 87.5869"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "940 -492 137.688"; + rotation = "-0.118119 0.541351 -0.832459 54.0348"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -324 95.875"; + rotation = "0.126544 0.101378 0.986767 139.499"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 556 121.641"; + rotation = "-0.0245619 0.125433 -0.991798 109.445"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -308 106.172"; + rotation = "-0.099723 -0.409667 -0.906768 91.6039"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -420 146.609"; + rotation = "-0.0836621 0.0264369 0.996143 122.187"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 68 84.0468"; + rotation = "0.671877 0.736755 0.0759746 25.8782"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 532 91.5937"; + rotation = "0.222612 0.195961 0.95501 151.292"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "964 412 136.641"; + rotation = "0.628369 0.443054 0.639419 38.2441"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -204 131.797"; + rotation = "0.917314 0.398165 8.92581e-06 28.1123"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 508 133.391"; + rotation = "0.0104842 0.111397 0.993721 77.3516"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 388 133.984"; + rotation = "0.326207 -0.379363 0.865836 75.839"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "884 -316 97.7187"; + rotation = "-0.929058 0.366423 -0.050842 37.8954"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 -628 89.2657"; + rotation = "-0.361072 0.422016 0.831583 49.5567"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -244 121.172"; + rotation = "0.0415511 0.112329 -0.992802 106.397"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 516 108.422"; + rotation = "0.248039 0.302857 -0.920192 88.7546"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 -68 78.4375"; + rotation = "0.0344167 0.108543 -0.993496 53.2992"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -316 96.625"; + rotation = "-0.388268 -0.281115 0.877623 82.3283"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 -564 134.875"; + rotation = "0.141772 -0.328525 0.933794 99.8866"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -692 125.375"; + rotation = "-0.12931 -0.676247 0.725237 41.8528"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -116 103.875"; + rotation = "0.56003 0.315792 0.765926 38.5635"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -172 111.219"; + rotation = "-0.0121355 -0.0211897 0.999702 135.012"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "-116 308 99.1563"; + rotation = "0 0 1 13"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 252 141.469"; + rotation = "0 0 -1 56"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -660 170.656"; + rotation = "0 0 -1 5.99979"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "700 -348 128.938"; + rotation = "0 0 -1 117"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -820 92.5938"; + rotation = "0 0 -1 19.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 468 128.969"; + rotation = "0 0 -1 88"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 508 111.5"; + rotation = "0 0 -1 61.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 276 93.5"; + rotation = "0 0 -1 29.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -540 111.063"; + rotation = "0 0 -1 46.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -356 115.688"; + rotation = "0 0 1 57.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -684 155.047"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -700 108.219"; + rotation = "0 0 1 137"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -684 107.391"; + rotation = "0 0 -1 50"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -868 127.953"; + rotation = "0 0 -1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -660 113.016"; + rotation = "0 0 -1 74.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -36 141.312"; + rotation = "0 0 1 73.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -132 134.781"; + rotation = "0 0 -1 4.99997"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 -820 129.672"; + rotation = "0 0 1 85"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 180 102.266"; + rotation = "0 0 -1 95.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 220 129.984"; + rotation = "0 0 -1 84.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 508 95.5781"; + rotation = "0 0 1 205"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -540 145.641"; + rotation = "0 0 1 203"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 132 89.1406"; + rotation = "0 0 -1 34.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 572 106.359"; + rotation = "0 0 1 79"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1004 -68 124.375"; + rotation = "0 0 -1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -292 110.547"; + rotation = "0 0 1 38"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -532 104"; + rotation = "0 0 -1 4.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 60 125.703"; + rotation = "0 0 1 67"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -876 149.719"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -716 109.953"; + rotation = "0 0 -1 77.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -124 163.031"; + rotation = "0 0 1 133"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 260 145.313"; + rotation = "0 0 1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -380 146.469"; + rotation = "0 0 -1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 -668 83.375"; + rotation = "0 0 -1 58.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 164 140.125"; + rotation = "0 0 -1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -796 154.172"; + rotation = "0 0 1 168"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -884 128.828"; + rotation = "0 0 1 201"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -428 85.9219"; + rotation = "0 0 1 57.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 52 151.859"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 28 63.2657"; + rotation = "0 0 -1 10.9999"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -772 139.484"; + rotation = "0 0 -1 89.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 108 73.25"; + rotation = "0 0 1 228"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 20 118.063"; + rotation = "0 0 1 37"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 316 162.766"; + rotation = "0 0 -1 72.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -148 82.8281"; + rotation = "0 0 1 119"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 316 124.719"; + rotation = "0 0 1 55"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 436 112.953"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -796 81.5"; + rotation = "0 0 1 25"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -68 132.859"; + rotation = "0 0 1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 444 89.9688"; + rotation = "0 0 -1 35"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-308 380 102.581"; + rotation = "-0.129404 0.110733 0.98539 180"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 252 109.675"; + rotation = "-0.0544876 0.16902 0.984105 142.562"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 -364 139.534"; + rotation = "0.0765316 0.110548 0.99092 195.857"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -276 127.956"; + rotation = "-0.0483961 0.0795256 -0.995657 100.245"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 364 126.847"; + rotation = "0.192058 0.373278 -0.907622 64.9219"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 228 131.503"; + rotation = "-0.0489002 -0.172722 0.983756 229.285"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 20 92.2375"; + rotation = "0.153361 -0.0730392 0.985467 230.351"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -428 105.175"; + rotation = "-0.100295 -0.0878894 0.991068 134.368"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -100 93.3312"; + rotation = "0.199317 -0.622861 -0.756517 40.2642"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -708 105.597"; + rotation = "0.384484 -0.161978 -0.90881 36.1051"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -644 111.05"; + rotation = "-0.247884 -0.0476171 0.967619 146.068"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 204 131.034"; + rotation = "0.299991 0.487436 -0.820007 40.8951"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 404 89.3469"; + rotation = "-0.10865 -0.104336 0.988589 212.644"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 716 127.503"; + rotation = "-0.295127 -0.139308 -0.945248 92.2256"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -28 81.0969"; + rotation = "0.222477 0.294023 0.929545 42.7664"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -708 104.566"; + rotation = "0.0831744 -0.335746 -0.938273 86.6352"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 332 115.066"; + rotation = "0.115662 -0.156803 0.980834 50.8547"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -412 133.331"; + rotation = "-0.390799 -0.00853474 -0.920436 69.3771"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -268 159.597"; + rotation = "0.652064 0.0741321 -0.754531 32.7477"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 284 112.097"; + rotation = "-0.326722 -0.938004 -0.115764 17.1485"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -220 154.034"; + rotation = "-0.283482 -0.14293 -0.948266 94.0401"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 -340 128.909"; + rotation = "-0.10848 -0.0305429 0.993629 58.311"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 748 77.175"; + rotation = "0.0315306 -0.221631 -0.974621 77.433"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -668 113.534"; + rotation = "-0.0774722 -0.271359 0.959355 72.2494"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 620 75.7531"; + rotation = "0.0285519 -0.053448 0.998162 206.952"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -524 83.2375"; + rotation = "0.31102 -0.373192 -0.874068 50.7117"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 764 73.0031"; + rotation = "0.420286 -0.274182 -0.864976 45.6416"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 268 108.409"; + rotation = "0.0106175 0.0162113 0.999812 220.993"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -700 137.175"; + rotation = "-0.27842 0.0705651 0.957864 37.4752"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -636 132.05"; + rotation = "-0.4799 0.14603 0.865084 45.6363"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 772 89.7688"; + rotation = "-0.0773982 0.0379732 0.996277 144.125"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -460 122.972"; + rotation = "0.0530236 -0.0795734 0.995418 159.094"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 228 92.0188"; + rotation = "0.142227 0.358686 -0.922559 49.4151"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -148 133.769"; + rotation = "-0.349512 -0.790669 -0.502677 25.5418"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 -284 109.784"; + rotation = "-0.0963868 -0.820357 0.56367 33.0703"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -444 133.113"; + rotation = "0.162355 0.171903 0.971643 143.003"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -636 93.1125"; + rotation = "0.0417017 0.00421235 0.999121 127.04"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 -28 76.1594"; + rotation = "-0.190768 -0.101746 -0.976348 71.2943"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -780 80.6906"; + rotation = "-0.0588226 -0.142458 0.988051 106.661"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -820 122.409"; + rotation = "-0.229636 5.24702e-05 0.973277 140.987"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 628 78.2062"; + rotation = "0.150124 -0.0908989 0.98448 160.304"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -428 134.706"; + rotation = "-0.406209 -0.0747384 -0.910719 46.7798"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 276 97.3"; + rotation = "0.166048 0.798807 -0.578218 35.5446"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -772 113.753"; + rotation = "0.456167 0.86769 0.197549 24.9255"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "404 668 94.7844"; + rotation = "-0.0867122 0.129568 -0.987772 33.3857"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -284 133.737"; + rotation = "0.110566 0.0151173 0.993754 213.8"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -36 116.987"; + rotation = "0.191753 0.150146 0.96989 229.652"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 732 93.6281"; + rotation = "0.0833331 0.057244 0.994876 121.252"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -556 108.8"; + rotation = "-0.0430699 0.246659 -0.968145 92.8536"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 636 84.2688"; + rotation = "0.0436691 -0.291775 0.95549 60.2385"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "-284 -100 157.516"; + rotation = "0 0 1 40"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -68 91.9844"; + rotation = "0 0 1 173"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -76 98.7968"; + rotation = "0 0 -1 14.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 124 139.781"; + rotation = "0 0 1 85"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 436 88.8437"; + rotation = "0 0 1 37"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -44 77.0312"; + rotation = "0 0 1 236"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 348 113.828"; + rotation = "0 0 -1 93.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 252 135.922"; + rotation = "0 0 1 223"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 172 131.031"; + rotation = "0 0 1 190"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 148 111"; + rotation = "0 0 1 93.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 364 151.938"; + rotation = "0 0 1 156"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -12 87.3594"; + rotation = "0 0 -1 116"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 172 150.469"; + rotation = "0 0 -1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -236 122.906"; + rotation = "0 0 1 224"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 -52 144.875"; + rotation = "0 0 -1 4.00015"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 156 99.8438"; + rotation = "0 0 1 140"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 -116 128.672"; + rotation = "0 0 -1 37.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -44 73.6719"; + rotation = "0 0 -1 84.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 220 99.3282"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -164 127.453"; + rotation = "0 0 -1 78.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition8PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "692 332 108.094"; + rotation = "0 0 -1 89.0004"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "412 -124 106.234"; + rotation = "0 0 1 88.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 -308 89.9688"; + rotation = "0 0 -1 120"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 180 75.625"; + rotation = "0 0 1 135"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -84 142.734"; + rotation = "0 0 1 127"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 -156 158.422"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "844 340 82.9375"; + rotation = "0 0 1 4.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 -28 127.688"; + rotation = "0 0 1 233"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 316 136.828"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "916 116 120.781"; + rotation = "0 0 1 233"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -156 80.8281"; + rotation = "0 0 -1 52.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 244 92.4844"; + rotation = "0 0 1 132"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -244 97.1563"; + rotation = "0 0 1 207"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 228 129.5"; + rotation = "0 0 -1 70.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 236 135.781"; + rotation = "0 0 1 171"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -332 137.906"; + rotation = "0 0 1 104"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 12 74.4843"; + rotation = "0 0 -1 31.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 -236 96.9688"; + rotation = "0 0 1 133"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "972 -308 170.187"; + rotation = "0 0 1 210"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -332 145.328"; + rotation = "0 0 1 46"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new FileObject() { + }; + new SimGroup() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- +nametoid(team1vehiclestation).station.setTransform("357.822 57.4137 157.373 0 0 1 1.5708"); +nametoid(team1vehiclestation).station.trigger.setTransform("357.822 57.4137 157.373 0 0 1 1.5708"); +nametoid(team2vehiclestation).station.setTransform("-401.698 7.81527 156.566 0 0 -1 1.5708"); +nametoid(team2vehiclestation).station.trigger.setTransform("-401.698 7.81527 156.566 0 0 -1 1.5708"); +(nametoid(team1flag)+ 1).setTransform("0 0 0 0 0 0 0"); +(nametoid(team2flag)+ 1).setTransform("0 0 0 0 0 0 0"); diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Runenmacht.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Runenmacht.mis new file mode 100644 index 00000000..2b708a11 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Runenmacht.mis @@ -0,0 +1,1065 @@ +// Displayname = TWL-Runenmacht +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//(Runic Might) +// +//'The laws of honour say that I should kill you. +//I should carve the blood-eagle on your back...' +//Inghen - The Red Daughter (from The Blood Eagle by Gavin Chappell) + +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Dedicated defense network generator +//Map by =Sabre= +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "5"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "40"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-936 -960 1904 1920"; + flightCeiling = "350"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.400000 0.401000 0.402000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "TWL-Runenmacht.ter"; + squareSize = "8"; + emptySquares = "736825 737081 737337 737593 344633 344889 279609 279865 308924 309180 374971 375227 768693 768949 769205 769461"; + + visibleDistance = "900"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "Runenmacht.nav"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.350000 0.400000 0.450000 0.000000"; + fogDistance = "220"; + fogColor = "0.550000 0.600000 0.650000 1.000000"; + fogVolume1 = "120 0 67"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "xnight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.8026e-45 1.4013e-45"; + high_fogVolume2 = "-1 2.8026e-45 5.60519e-45"; + high_fogVolume3 = "-1 5.60519e-45 1.4013e-45"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.900000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.05"; + maxVelocity = "0.25"; + maxNumDrops = "2000"; + maxRadius = "250"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "513.198 525.601 153.725"; + rotation = "-0.051178 -0.123353 0.991042 224.703"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-568.681 -570.737 154.005"; + rotation = "0.282842 -0.119584 0.951683 47.9072"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-518.784 -479.939 119.468"; + rotation = "0 0 -1 44.1178"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-553.494 -473.94 85.9071"; + rotation = "1 0 0 0"; + scale = "0.696413 0.703306 0.695433"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + team = "1"; + hidden = "false"; + }; + new Item(Team1Flag1) { + position = "-438.251 -371.684 87.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + originalPosition = "-438.251 -371.684 87.875 1 0 0 0"; + team = "1"; + WayPoint = "4660"; + Target = "33"; + isHome = "1"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "-546.208 -474.813 84.5113"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedByTeam = "2"; + team = "1"; + damageTimeMS = "404377"; + Target = "44"; + lastDamagedBy = "4326"; + }; + new Item() { + position = "-329.711 -307.913 96.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new StaticShape(Team1StationInventory2) { + position = "-518.66 -520.109 84.504"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "1"; + Trigger = "4536"; + Target = "36"; + inUse = "Down"; + }; + new StaticShape(Team1StationInventory3) { + position = "-517.568 -499.502 84.5093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "1"; + Trigger = "4538"; + Target = "37"; + inUse = "Down"; + }; + new Item() { + position = "-527.01 -501.626 85.2864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-338.543 -293.849 103.104"; + rotation = "0 0 1 147.823"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + locked = "true"; + team = "1"; + station = "4672"; + Target = "43"; + inUse = "Down"; + }; + new InteriorInstance() { + position = "-438.237 -371.734 82.8696"; + rotation = "0 0 1 38.9612"; + scale = "1.08286 1.10462 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-541.179 -518.758 90.9634"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-344.026 -285.076 103.922"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-553.518 -473.681 110.747"; + rotation = "1 0 0 12.6052"; + scale = "1.07203 0.885428 0.9605"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1StationInventory4) { + position = "-560.886 -476.749 124.144"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "1"; + Trigger = "4547"; + Target = "38"; + inUse = "Down"; + }; + new StaticShape(Team1StationInventory5) { + position = "-546.103 -476.751 124.143"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "1"; + Trigger = "4549"; + Target = "39"; + inUse = "Down"; + }; + new StaticShape(Team1StationInventory6) { + position = "-553.668 -487.495 92.1464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "1"; + Trigger = "4551"; + Target = "40"; + inUse = "Down"; + }; + new StaticShape(Team1StationInventory7) { + position = "-536.765 -488.899 92.1495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "1"; + Trigger = "4553"; + Target = "41"; + inUse = "Down"; + }; + new InteriorInstance() { + position = "-547.878 -483.555 154.074"; + rotation = "0 -1 0 89.9544"; + scale = "0.353613 0.710269 0.710056"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-553.168 -482.034 84.0152"; + rotation = "1 0 0 0"; + scale = "2.2755 2.11795 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-499.175 -502.282 84.3062"; + rotation = "1 0 0 0"; + scale = "1.05006 1 0.886208"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Defenses) { + + powerCount = "1"; + + new StaticShape(Team1GeneratorLarge2) { + position = "-561.513 -474.811 84.5069"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Defense Network"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedByTeam = "2"; + team = "1"; + damageTimeMS = "404377"; + Target = "34"; + lastDamagedBy = "4326"; + repairedBy = "4326"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-267.04 -341.001 133.203"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Hillside"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + lastProjectile = "9192"; + locked = "true"; + team = "1"; + Target = "45"; + }; + new InteriorInstance(InteriorInstance) { + position = "-263.88 -337.806 122.269"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "-497.2 -497.984 91.4307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "8419"; + locked = "true"; + lastDamagedByTeam = "1"; + team = "1"; + damageTimeMS = "677717"; + Target = "46"; + lastDamagedBy = "7539"; + }; + new InteriorInstance() { + position = "-380.141 -627.966 207.173"; + rotation = "-0 0 -1 89.9544"; + scale = "1 0.895159 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-684.082 -363.87 209.429"; + rotation = "1 0 0 0"; + scale = "1 0.895159 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-684.166 -363.876 211.004"; + rotation = "0 0 1 89.9543"; + scale = "0.834347 0.92127 0.941386"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "47"; + }; + new StaticShape(Team1SensorLargePulse2) { + position = "-380.135 -628.05 208.748"; + rotation = "1 0 0 0"; + scale = "0.834347 0.92127 0.941386"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedByTeam = "2"; + team = "1"; + damageTimeMS = "263318"; + Target = "48"; + lastDamagedBy = "3608"; + }; + new Turret(Team1SentryTurret1) { + position = "-506.084 -511.905 91.5219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "6138"; + locked = "true"; + team = "1"; + Target = "49"; + }; + new Turret(Team1SentryTurret2) { + position = "-553.553 -470.378 134.793"; + rotation = "0.577504 -0.577043 -0.577504 119.947"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "6210"; + locked = "true"; + team = "1"; + Target = "50"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "463.068 441.85 119.333"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "388.741 340.703 82.247"; + rotation = "0 0 1 38.3883"; + scale = "1.08286 1.10462 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item(Team2Flag1) { + position = "388.722 340.785 87.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + originalPosition = "388.722 340.785 87.29 1 0 0 0"; + team = "2"; + WayPoint = "4661"; + Target = "51"; + isHome = "1"; + }; + new Item() { + position = "280.03 276.053 95.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "495.061 442.295 85.8775"; + rotation = "0 0 1 179.909"; + scale = "0.696413 0.703306 0.695433"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + team = "2"; + hidden = "false"; + }; + new InteriorInstance() { + position = "489.43 451.901 154.044"; + rotation = "-0.706825 -0.000563155 0.707388 179.935"; + scale = "0.353613 0.710269 0.710056"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new TSStatic() { + position = "494.722 450.389 83.9856"; + rotation = "0 0 1 179.909"; + scale = "2.2755 2.11795 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "440.697 470.55 84.2766"; + rotation = "0 0 1 179.909"; + scale = "1.05006 1 0.886208"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "495.086 442.036 110.717"; + rotation = "8.73619e-05 -0.109779 0.993956 179.909"; + scale = "1.07203 0.885428 0.9605"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "487.774 443.156 84.4818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedByTeam = "2"; + team = "2"; + damageTimeMS = "404377"; + Target = "53"; + lastDamagedBy = "4326"; + }; + new Item() { + position = "468.533 469.939 85.2569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape(Team2StationInventory2) { + position = "460.154 488.409 84.4744"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "2"; + Trigger = "4638"; + Target = "60"; + inUse = "Down"; + }; + new StaticShape(Team2StationInventory6) { + position = "495.214 455.85 92.1169"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "2"; + Trigger = "4623"; + Target = "56"; + inUse = "Down"; + }; + new StaticShape(Team2StationInventory7) { + position = "478.309 457.227 92.1199"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "2"; + Trigger = "4621"; + Target = "55"; + inUse = "Down"; + }; + new StaticShape(Team2StationInventory5) { + position = "487.666 445.094 124.113"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "2"; + Trigger = "4625"; + Target = "57"; + inUse = "Down"; + }; + new StaticShape(Team2StationInventory4) { + position = "502.449 445.116 124.114"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "2"; + Trigger = "4627"; + Target = "58"; + inUse = "Down"; + }; + new InteriorInstance() { + position = "294.448 253.254 102.34"; + rotation = "0 0 1 147.823"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "482.675 487.093 90.9339"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "288.951 260.619 101.522"; + rotation = "-0 0 -1 32.2684"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + locked = "true"; + lastDamagedByTeam = "2"; + team = "2"; + station = "4675"; + damageTimeMS = "156705"; + Target = "62"; + lastDamagedBy = "3600"; + inUse = "Down"; + }; + new StaticShape(Team2StationInventory3) { + position = "459.095 467.8 84.4798"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + team = "2"; + Trigger = "4636"; + Target = "59"; + inUse = "Down"; + }; + }; + new SimGroup(Defenses) { + + powerCount = "1"; + + new StaticShape(Team2GeneratorLarge2) { + position = "503.079 443.179 84.4773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Defense Network"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedByTeam = "2"; + team = "2"; + damageTimeMS = "404377"; + Target = "63"; + lastDamagedBy = "4326"; + repairedBy = "4326"; + }; + new InteriorInstance(InteriorInstance) { + position = "224.323 308.291 120.756"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "438.729 466.249 91.4012"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "8419"; + locked = "true"; + lastDamagedByTeam = "1"; + team = "2"; + damageTimeMS = "677717"; + Target = "52"; + lastDamagedBy = "7539"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "227.483 311.489 131.69"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Hillside"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + lastProjectile = "7171"; + locked = "true"; + team = "2"; + Target = "64"; + }; + new InteriorInstance() { + position = "324.018 595.988 207.457"; + rotation = "1 0 0 0"; + scale = "1 0.895159 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "323.934 595.982 209.032"; + rotation = "0 0 1 89.9543"; + scale = "0.834347 0.92127 0.941386"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + lastDamagedByTeam = "2"; + team = "2"; + damageTimeMS = "259700"; + Target = "65"; + lastDamagedBy = "3869"; + }; + new InteriorInstance() { + position = "636.011 339.947 208.843"; + rotation = "1 0 0 0"; + scale = "1 0.895159 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2SensorLargePulse2) { + position = "635.927 339.941 210.418"; + rotation = "0 0 1 89.9543"; + scale = "0.834347 0.92127 0.941386"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "66"; + }; + new Turret(Team2SentryTurret2) { + position = "495.126 438.733 134.763"; + rotation = "-0.576582 -0.577963 0.577506 119.947"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "6210"; + locked = "true"; + team = "2"; + Target = "67"; + }; + new Turret(Team2SentryTurret1) { + position = "447.591 480.185 91.4923"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "6138"; + locked = "true"; + team = "2"; + Target = "68"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new AudioEmitter() { + position = "-22.6234 -14.379 191.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-601.928 764.52 112.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "4000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "42000"; + maxLoopGap = "63000"; + type = "EffectAudioType"; + + locked = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Sandstorm.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Sandstorm.mis new file mode 100644 index 00000000..4608ca72 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Sandstorm.mis @@ -0,0 +1,1982 @@ +// DisplayName = TWL-Sandstorm +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//They defended the grains of sand in the desert to the last drop of their blood. +// -- Gamal Abdel Nasser +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by Nefilim (assisted: z0dd, CleverClothe) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "6"; + musicTrack = "desert"; + CnH_timeLimit = "30"; + + new MissionArea(MissionArea) { + area = "-1008 -1016 1520 1520"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.950000 0.600000 0.400000 1.000000"; + fogDistance = "300"; + fogColor = "0.950000 0.600000 0.400000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "675"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Sandstorm.ter"; + squareSize = "8"; + emptySquares = "72869 73125 73381 271022 271278 271534 271790 272046 76453 76709 76965 238876 238890 306722 372514 372770 373026"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "Sandstorm.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "325.083 -729.374 131.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "285.694 -732.269 96.2246"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "pbase_nef_vbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-125.923 -756.988 161.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.106 -693.825 136.206"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "316.949 -652.234 136.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "378.335 -731.912 103.016"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new StaticShape() { + position = "354.79 -710.213 108.212"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "354.927 -753.883 108.212"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "255.935 -732.395 90.232"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "323.326 -732.127 88.3848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "340.694 -791.111 106.182"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.336 -770.442 136.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "317.456 -811.874 136.213"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "340.339 -673.11 106.176"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "319.546 -673.014 136.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "320.035 -791.046 136.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-125.923 -756.988 167.883"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new WayPoint(base) { + position = "312.172 -730.256 139.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + + missionTypesList = "CTF CnH"; + locked = "true"; + }; + new StaticShape() { + position = "296.001 -791.286 156.694"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-125.923 -756.988 185.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new Turret() { + position = "-284.785 -801.664 197.465"; + rotation = "0 0 1 52.5295"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new InteriorInstance() { + position = "-284.412 -801.412 172.907"; + rotation = "0 0 1 233.012"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "289.731 -732.239 96.2649"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-125.863 -757.072 182.481"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new InteriorInstance() { + position = "-116.349 -574.385 172.991"; + rotation = "0 0 1 25.9917"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-116.132 -573.991 197.549"; + rotation = "0 0 1 205.509"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-729.894 319.945 134.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-752.707 -122.77 162.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-673.026 321.024 135.063"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-791.057 321.008 134.972"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-791.127 341.694 104.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-652.294 318.822 134.94"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-693.824 318.733 134.915"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-673.072 341.983 104.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-732.06 324.683 87.0198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-731.902 257.543 88.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-710.309 356.322 106.941"; + rotation = "0 0 1 135.401"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-753.975 356.21 106.939"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-732.255 379.807 101.737"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new StaticShape() { + position = "-811.839 318.427 134.94"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-770.328 318.551 134.944"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-731.977 287.106 94.9516"; + rotation = "0 0 -1 90.1357"; + scale = "1 1 1"; + interiorFile = "pbase_nef_vbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-752.707 -122.77 168.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + className = "FlagObj"; + }; + new WayPoint(base) { + position = "-730.542 308.006 138.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + + missionTypesList = "CTF CnH"; + locked = "true"; + }; + new StaticShape() { + position = "-673.233 297.316 155.421"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-792.537 -288.536 171.951"; + rotation = "0 0 1 237.205"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-792.928 -288.76 196.526"; + rotation = "0 0 1 56.7228"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-752.707 -122.77 185.814"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new Turret() { + position = "-732.017 291.159 94.9774"; + rotation = "0.585355 -0.573306 -0.573306 119.314"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-752.638 -122.958 182.698"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new Turret() { + position = "-574.469 -115.639 197.39"; + rotation = "0 0 -1 114.774"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + missionTypesList = "CTF DnD"; + locked = "true"; + }; + new InteriorInstance() { + position = "-574.889 -115.803 172.815"; + rotation = "0 0 1 65.7081"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + + new SimGroup(objective1) { + + + new WayPoint() { + position = "-287.825 -290.347 170.739"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-287.802 -290.327 170.769"; + rotation = "0 0 1 46.9826"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "Center Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-287.825 -290.347 179.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH"; + holoHeight = "10"; + locked = "true"; + }; + }; + new SimGroup(objective2) { + + + new WayPoint() { + position = "-125.923 -756.988 167.933"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "South East"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-125.923 -756.988 167.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "South East Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-125.923 -756.988 185.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH"; + holoHeight = "10"; + locked = "true"; + }; + }; + new SimGroup(objective3) { + + + new WayPoint() { + position = "-752.707 -122.77 167.99"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "North West"; + + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-752.707 -122.77 168.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + name = "North West Switch"; + locked = "true"; + }; + new StaticShape() { + position = "-752.707 -122.77 186.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH"; + holoHeight = "10"; + locked = "true"; + }; + }; + new Item() { + position = "411.335 -731.97 108.39"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-731.997 413.318 106.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new InteriorInstance() { + position = "-287.686 -287.517 170.743"; + rotation = "0 0 -1 42.8402"; + scale = "1 1 1"; + interiorFile = "pbunk4a_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-286.657 -291.583 170.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-287.825 -290.347 170.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + new Item() { + position = "-289.021 -289.019 170.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "CTF"; + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "285.369 -732.39 96.8689"; + rotation = "0.0927066 0.0943867 -0.99121 91.5347"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-122.595 -789.721 182.347"; + rotation = "0.819133 0.0410556 -0.572133 10.0131"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-757.791 272.125 97.5318"; + rotation = "0.0831619 -0.159585 0.983675 125.72"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-726.56 -197.096 197.468"; + rotation = "0.712183 0.123219 -0.691095 28.1104"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "-290.736 -293.429 200.547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-329.255 30.6364 118.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "237.066 -239.724 68.5392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-323.254 -281.981 176.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-198.934 -946.375 168.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "507.219 -752.937 192.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-663.095 450.046 178.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition4PhoenixPlant3) { + + + new TSStatic() { + position = "-82.7712 -651.007 127.469"; + rotation = "0 0 -1 35"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "205.229 -523.007 81.3043"; + rotation = "0 0 1 61.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1098.77 -155.007 165.75"; + rotation = "0 0 -1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1018.77 -907.007 144.516"; + rotation = "0 0 1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1106.77 -1035.01 75.6563"; + rotation = "0 0 -1 17.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "199.033 -518.72 79.6769"; + rotation = "0 0 1 169"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-26.7712 -27.0072 160.547"; + rotation = "0 0 1 135"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-642.771 -547.007 164.453"; + rotation = "0 0 1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-418.771 -523.007 90.9375"; + rotation = "0 0 1 79.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-58.7712 -315.007 122.219"; + rotation = "0 0 -1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "29.2288 -211.007 158.594"; + rotation = "0 0 -1 111"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "45.2288 -283.007 123.281"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1090.77 28.9928 153.25"; + rotation = "0 0 1 94"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-154.771 -1067.01 159.797"; + rotation = "0 0 1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-362.771 -595.007 87.9844"; + rotation = "0 0 1 15"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-202.771 -643.007 122.328"; + rotation = "0 0 1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-434.771 -1123.01 117.422"; + rotation = "0 0 1 61"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-42.7712 -123.007 170.047"; + rotation = "0 0 -1 110"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1098.77 -139.007 169.453"; + rotation = "0 0 1 239"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-586.771 -275.007 120.25"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-626.771 -867.007 176.313"; + rotation = "0 0 -1 4.00015"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-466.771 132.993 89.0781"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1026.77 148.993 131.422"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-994.771 -355.007 186.5"; + rotation = "0 0 -1 7.00012"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-338.771 -443.007 132.312"; + rotation = "0 0 1 119"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant6) { + + + new TSStatic() { + position = "28 116 83.6094"; + rotation = "0 0 -1 56"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 68 126.875"; + rotation = "0 0 -1 89.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -804 203.531"; + rotation = "0 0 1 12"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 44 109.391"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -60 174.937"; + rotation = "0 0 -1 32.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -940 173.344"; + rotation = "0 0 1 221"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -164 165.187"; + rotation = "0 0 1 148"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -796 83.2812"; + rotation = "0 0 1 24"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -244 60.7344"; + rotation = "0 0 1 61"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 212 81.2031"; + rotation = "0 0 -1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -1068 142.344"; + rotation = "0 0 1 9.00004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -940 166.297"; + rotation = "0 0 1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1012 -140 142.922"; + rotation = "0 0 -1 22.9999"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -836 179.562"; + rotation = "0 0 -1 13.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -1012 135.781"; + rotation = "0 0 1 225"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 140 86.5781"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -1116 123.453"; + rotation = "0 0 1 48"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 36 170.109"; + rotation = "0 0 1 159"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1164 -252 133.406"; + rotation = "0 0 1 57.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 244 119.609"; + rotation = "0 0 1 209"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -484 82.25"; + rotation = "0 0 1 111"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -548 167.609"; + rotation = "0 0 1 237"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 36 109.469"; + rotation = "0 0 -1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -1076 137.062"; + rotation = "0 0 -1 105"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -436 145.719"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 52 83.5937"; + rotation = "0 0 1 37"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -548 86.5781"; + rotation = "0 0 1 44"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -180 159.141"; + rotation = "0 0 -1 58.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 268 125.234"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -948 151.328"; + rotation = "0 0 1 1.00014"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -652 66.4375"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -876 103.781"; + rotation = "0 0 -1 7.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -692 178.188"; + rotation = "0 0 -1 70.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 12 112.078"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -652 183.328"; + rotation = "0 0 1 97.9998"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 92 88.8125"; + rotation = "0 0 1 191"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 236 78.9375"; + rotation = "0 0 1 108"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -236 156.984"; + rotation = "0 0 -1 97"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -380 76.3594"; + rotation = "0 0 1 190"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -68 124.078"; + rotation = "0 0 1 170"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 108 71.8906"; + rotation = "0 0 1 230"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -412 151.703"; + rotation = "0 0 1 100"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -1180 168.75"; + rotation = "0 0 1 162"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -748 175.016"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1020 -492 139.344"; + rotation = "0 0 -1 47.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -1132 118.891"; + rotation = "0 0 1 159"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -900 187.281"; + rotation = "0 0 1 188"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -1076 157.797"; + rotation = "0 0 -1 118"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -932 109.141"; + rotation = "0 0 1 146"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -148 157.828"; + rotation = "0 0 1 153"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant2) { + + + new TSStatic() { + position = "252 -60 85.4844"; + rotation = "0 0 1 185"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -4 82.625"; + rotation = "0 0 -1 98.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -1148 136.844"; + rotation = "0 0 -1 97"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 -540 136.922"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -252 162.828"; + rotation = "0 0 1 12"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -260 170.891"; + rotation = "0 0 1 169"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 -1108 112.578"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 244 78.1563"; + rotation = "0 0 1 11"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 252 90.75"; + rotation = "0 0 1 114"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -68 169.703"; + rotation = "0 0 -1 108.999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -596 193.359"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -292 168.5"; + rotation = "0 0 -1 100"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 -900 176.266"; + rotation = "0 0 1 228"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1068 260 114.641"; + rotation = "0 0 1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -276 124.734"; + rotation = "0 0 -1 22.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -604 187"; + rotation = "0 0 -1 100"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1172 -724 91.4531"; + rotation = "0 0 -1 2.9997"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -1164 164.781"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -1068 85.9531"; + rotation = "0 0 1 144"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 -1196 112.75"; + rotation = "0 0 -1 29.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-964 -1116 105.656"; + rotation = "0 0 1 29"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -948 180.141"; + rotation = "0 0 1 22"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -1116 133.797"; + rotation = "0 0 1 167"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 -1076 155.656"; + rotation = "0 0 1 57"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -916 145.156"; + rotation = "0 0 1 76"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -252 56.4531"; + rotation = "0 0 1 105"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -956 158.172"; + rotation = "0 0 1 15"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 -20 82.1875"; + rotation = "0 0 -1 7.00012"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1132 -364 137.156"; + rotation = "0 0 1 40"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 -924 180.094"; + rotation = "0 0 -1 38"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Slapdash.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Slapdash.mis new file mode 100644 index 00000000..5f504286 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Slapdash.mis @@ -0,0 +1,1438 @@ +// DisplayName = TWL-Slapdash +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Thunder is good, thunder is impressive; but it is lightning that does the work. +// -- Mark Twain +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Changes: Flat terrain contouring, Gen spam forcefields +//(Editing: =Sabre=, Forcefields: Powdahound) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- + +// powdahound's forcefield script start ******************************** +// loads the regular forcefields on mission change. +package MissionReset +{ + function CTFGame::gameOver( %game ) + { + exec("scripts/forceField.cs"); + echo("---------- powda's Forcefields Deactivated"); + Parent::gameOver(%game); + } +}; +activatePackage(MissionReset); + +echo("---------- powda's Forcefields Activated"); +// Team Only Light blue forcefield. Attackers' base. +datablock ForceFieldBareData(powdaTeamFieldBlue) +{ + fadeMS = 1000; + baseTranslucency = 0.9; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = true; + // it's RGB (red green blue) + color = "0.0 0.0 0.01"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/Scout_winshield.png"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 0; + umapping = 1.0; + vmapping = 0.15; +}; +// This code is by Zear. Thanks man! +// Forcefields that you want to have normal physical properties add custom = "1"; +function ForceFieldBareData::onAdd(%data, %obj) +{ + //echo("---------- Entering ForceFieldBareData::onAdd"); + Parent::onAdd(%data, %obj); + + //%velo = 1; + //%grav = 0.1; + //%appl = "0 0 0"; + + if(%obj.custom $= "1") + { + %velo = %obj.velocityMod; + %grav = %obj.gravityMod; + %appl = %obj.appliedForce; + } + else + return; // DONT add any physical zones unless the force field contains 'custom = "1";' + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = %velo; + gravityMod = %grav; + appliedForce = %appl; + ffield = %obj; + }; + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) + { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); +} +// Mission info begins. + +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "lush"; + CTF_scoreLimit = "6"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-848 -864 1264 1472"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "TWL-Slapdash.ter"; + squareSize = "8"; + emptySquares = "99875"; + + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + GraphFile = "Slapdash_x2.nav"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition4BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-19.85 -559.547 127.066"; + rotation = "0 0 1 79.8327"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "400.5 -277.5 128.938"; + rotation = "0 0 1 98"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-33.151 -55.869 128.41"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-169.314 -61.619 128.085"; + rotation = "0 0 -1 34.3775"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new SimGroup(Addition1BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-268 260 128.938"; + rotation = "0 0 1 82"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "139.72 -140.039 129.801"; + rotation = "-0.261677 0.145892 0.954065 108.572"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.99913 -19.9828 129.623"; + rotation = "-0.133613 -0.0501878 0.989762 47.4328"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644.07 28.5553 156.681"; + rotation = "0.143549 -0.119692 -0.982378 95.0154"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-331.983 396.008 121.639"; + rotation = "-0.0697646 0.13457 0.988445 34.1714"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-155.521 58.8628 128.389"; + rotation = "-0.0187012 0.400434 0.916135 169.825"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-307.96 412.019 133.184"; + rotation = "-0.058467 0.320978 0.94528 17.2018"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-499.889 -20.0572 153.25"; + rotation = "-0.243136 0.770611 0.589104 45.6895"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-315.982 211.995 129.192"; + rotation = "-0.0303782 0.00824476 0.999505 181.999"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-219.98 -277.209 124.807"; + rotation = "0.158811 0.344322 0.925322 133.719"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -100 128.988"; + rotation = "0 0 -1 82"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-213.481 350.19 163.911"; + rotation = "-0.313994 0.202659 0.927543 47.6557"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-219.991 -92.015 128.691"; + rotation = "-0.0056401 0.0148964 0.999873 162.002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540.059 -220.301 101.013"; + rotation = "0.0385352 0.118458 0.992211 166.108"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 -28 129.138"; + rotation = "0 0 -1 16.9999"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404.152 -196.23 166.017"; + rotation = "0.0433767 -0.259453 -0.964781 113.35"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148.557 28.0116 113.528"; + rotation = "-0.350128 -0.238874 -0.905732 101.175"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44.0539 459.914 151.872"; + rotation = "0.785524 0.367614 -0.497808 27.7109"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-27.9986 -132.004 129"; + rotation = "0.00904323 -0.00348301 -0.999953 79.0023"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 300 129.238"; + rotation = "0 0 1 107"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "51.8987 148.037 167.266"; + rotation = "0.29717 -0.10824 -0.94867 113.574"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -92 129.238"; + rotation = "0 0 -1 41"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-571.837 -12.3035 128.533"; + rotation = "-0.0669142 0.0941149 0.99331 214.481"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "67.9664 339.822 132.723"; + rotation = "0.185558 0.235852 0.953909 127.185"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-740.673 129.85 139.443"; + rotation = "0 0 1 235.095"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-537.901 -128.013 124.351"; + rotation = "0 0 -1 44.1178"; + scale = "1 1.07701 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new SimGroup(Addition1BESmTree17) { + + powerCount = "0"; + + new TSStatic() { + position = "-47.5 355.5 145.861"; + rotation = "0 0 1 35"; + scale = "0.7 0.7 0.7"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-552.5 -791.5 128.607"; + rotation = "0 0 1 202"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-382.5 -460.5 128.938"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "234.5 -939.5 139.34"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-567.439 -379.794 129.179"; + rotation = "0 0 1 33.8327"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "160.5 -879.5 128.938"; + rotation = "0 0 -1 119"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-353.375 -549.332 130.415"; + rotation = "0 0 1 67.0361"; + scale = "1 1.47973 0.940896"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-514.178 494.43 128.51"; + rotation = "0 0 -1 34.9504"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-482.358 465.83 128.431"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178.9 -576.324 127.147"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116.51 -312.701 128.69"; + rotation = "0 0 1 138.083"; + scale = "1.29596 1.34204 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new SimGroup(Addition2BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-563.5 563.5 128.232"; + rotation = "0 0 1 235"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404.5 -818.5 129.312"; + rotation = "0 0 1 233"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "157.5 501.5 127.142"; + rotation = "0 0 -1 17"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-893.5 544.5 128.938"; + rotation = "0 0 -1 82"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "365.5 -320.5 128.938"; + rotation = "0 0 1 216"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "280"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "100 100 120"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "10.1367 -731.459 134.475"; + rotation = "0 0 1 189.832"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + powerCount = "2"; + + new StaticShape(Team1generatorLarge1) { + position = "27.6414 -778.864 140.86"; + rotation = "0 0 -1 16.7982"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "33"; + }; + new Item(Team1flag1) { + position = "29.277 -517.911 130.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + stand = "9512"; + team = "1"; + WayPoint = "9570"; + Target = "34"; + originalPosition = "29.277 -517.911 130.923 1 0 0 0"; + isHome = "1"; + }; + new InteriorInstance() { + position = "21.95 -775.731 136.943"; + rotation = "0 0 1 162.147"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1StationInventory1) { + position = "35.77 -778.125 130.44"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "9504"; + team = "1"; + Target = "35"; + }; + new StaticShape(Team1StationInventory2) { + position = "12.37 -785.702 130.44"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "9506"; + team = "1"; + Target = "36"; + }; + new Item() { + position = "18.43 -779.075 155.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new StaticShape(Team1generatorLarge2) { + position = "18.9463 -781.466 140.86"; + rotation = "0 0 -1 16.7983"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "37"; + }; + new InteriorInstance() { + position = "-464.099 333.286 203.527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new TSStatic() { + position = "32.68 -687.926 128.545"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-249.275 -572.075 196.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "29.2396 -517.875 130.352"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + FLAG = "9500"; + locked = "true"; + team = "1"; + Target = "-1"; + }; + new StaticShape(Team1SensorMediumPulse2) { + position = "76.3604 -606.604 174.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "39"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "52.78 -622.969 164.796"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "1"; + Target = "40"; + }; + new InteriorInstance() { + position = "-504.863 530.014 126.638"; + rotation = "0 0 1 159.282"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret(Team1SentryTurret1) { + position = "21.69 -775.096 146.95"; + rotation = "0.593177 0.805072 0.000472372 179.927"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "41"; + }; + new Turret(Team1SentryTurret2) { + position = "24.73 -784.69 138.44"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "42"; + }; + new InteriorInstance() { + position = "53.76 -623.223 154.922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "96.1 -778.507 127.8"; + rotation = "0 0 1 171.314"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "43"; + station = "9582"; + Ready = "1"; + }; + new InteriorInstance() { + position = "29.1996 -517.92 120.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-249.291 -572.01 186.486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "76.7219 -606.373 164.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-158.771 300.759 177.416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-474.973 493.494 129.572"; + rotation = "0 0 1 221.344"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + powerCount = "2"; + + new StaticShape() { + position = "-305.606 280.563 130.665"; + rotation = "0 0 1 24.0642"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + FLAG = "9530"; + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-464.199 333.835 213.417"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "44"; + }; + new Item(Team2flag1) { + position = "-305.568 280.495 131.243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + stand = "9528"; + team = "2"; + WayPoint = "9571"; + Target = "45"; + originalPosition = "-305.568 280.495 131.243 1 0 0 0"; + isHome = "1"; + }; + new InteriorInstance() { + position = "-427.866 503.23 136.098"; + rotation = "0 0 1 32.0857"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + AudioEnvironment = "SmallRoom"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2StationInventory1) { + position = "-435.278 515.64 129.6"; + rotation = "0 0 -1 57.2958"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + name = "Tower Inventory Station"; + Trigger = "9534"; + team = "2"; + Target = "46"; + }; + new StaticShape(Team2StationInventory2) { + position = "-413.586 501.89 129.6"; + rotation = "0 0 1 122.04"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + name = "Tower Inventory Station"; + notReady = "1"; + Trigger = "9536"; + team = "2"; + Target = "47"; + }; + new StaticShape(Team2generatorLarge1) { + position = "-428.872 509.44 140.02"; + rotation = "0 0 1 212.567"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "48"; + }; + new StaticShape(Team2generatorLarge2) { + position = "-421.431 504.848 140.02"; + rotation = "0 0 1 207.411"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "49"; + }; + new Item() { + position = "-429.882 507.2 154.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-159.072 301.144 187.289"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "50"; + }; + new Turret(Team2SentryTurret1) { + position = "-428.099 502.77 146.04"; + rotation = "0.27559 0.961275 0.00120368 179.539"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + lastProjectile = "23154"; + team = "2"; + Target = "51"; + }; + new InteriorInstance() { + position = "95.5533 -772.914 128.1"; + rotation = "0 0 -1 9.16728"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-365.004 418.673 137.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-366.078 418.633 147.396"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "52"; + }; + new Turret(Team2SentryTurret2) { + position = "-422.954 511.39 137.65"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "53"; + }; + new StaticShape() { + position = "-507.135 536.098 126.338"; + rotation = "-0 0 -1 20.6265"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "54"; + station = "9585"; + Ready = "1"; + }; + new InteriorInstance() { + position = "-305.445 280.583 120.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "1"; + providesPower = "1"; + + new ForceFieldBare(FF) { + position = "-421.873 500.813 144.549"; + rotation = "-0.787697 -0.435449 -0.435796 103.501"; + scale = "6.9408 6.6683 0.330153"; + dataBlock = "powdaTeamFieldBlue"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + velocityMod = "1.02"; + gravityMod = "0"; + team = "0"; + appliedForce = "0 0 0"; + custom = ""; + Target = "55"; + }; + new ForceFieldBare(FF) { + position = "-432.676 507.86 144.533"; + rotation = "-0.787697 -0.435449 -0.435796 103.501"; + scale = "6.9408 6.6683 0.330153"; + dataBlock = "powdaTeamFieldBlue"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + velocityMod = "1.02"; + gravityMod = "0"; + team = "0"; + appliedForce = "0 0 0"; + custom = ""; + Target = "56"; + }; + new ForceFieldBare(FF) { + position = "30.3161 -781.398 145.318"; + rotation = "0.458606 0.628341 0.628385 229.331"; + scale = "6.9408 6.6683 0.330153"; + dataBlock = "powdaTeamFieldBlue"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + velocityMod = "1.02"; + gravityMod = "0"; + team = "0"; + appliedForce = "0 0 0"; + custom = ""; + Target = "57"; + }; + new ForceFieldBare(FF) { + position = "18.057 -785.375 145.301"; + rotation = "0.458606 0.628341 0.628385 229.331"; + scale = "6.9408 6.6683 0.330153"; + dataBlock = "powdaTeamFieldBlue"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + velocityMod = "1.02"; + gravityMod = "0"; + team = "0"; + appliedForce = "0 0 0"; + custom = ""; + Target = "58"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-284.322 234.876 143.687"; + rotation = "0 0 -1 27.5024"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-429.031 501.61 144.124"; + rotation = "0.382995 -0.105997 0.917649 33.5662"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "5.03505 -473.11 154.04"; + rotation = "0.0121175 -0.0998261 0.994931 166.227"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "21.1243 -773.98 140.546"; + rotation = "-0.0234655 0.149397 0.988499 162.349"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Miskellany) { + + powerCount = "0"; + + new InteriorInstance() { + position = "293.3 -393.442 128.618"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-741.056 50.94 127.615"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-87.88 -700.815 191.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-168.263 -2.47 139.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-573.301 606.13 141.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "360.77 -363.742 158.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "50000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-212.09 -229.039 142.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-392.039 141.68 152.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "405.613 599.739 128.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "405.92 599.28 131.892"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + + locked = "true"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Snowblind.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Snowblind.mis new file mode 100644 index 00000000..0d7d7321 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Snowblind.mis @@ -0,0 +1,1795 @@ +// DisplayName = TWL-Snowblind +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Starwolf and Blood Eagle battle each other in the inhospitable crags of the ice world of Ymir. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Bring on the oldschool, VGW! +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "ice"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-872 -720 1136 1408"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Snowblind_nef.ter"; + squareSize = "8"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Snowblind_nef.nav"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-784 -1568 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.650000 0.650000 0.650000 1.000000"; + fogDistance = "150"; + fogColor = "0.650000 0.650000 0.650000 1.000000"; + fogVolume1 = "1200 700 750"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.97693e-22 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-105.526 -528.75 157.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-511.958 -165.688 183.321"; + rotation = "0 0 1 30.3667"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-135.649 -508.649 172.548"; + rotation = "0 0 -1 116.31"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-394.163 -196.464 157.022"; + rotation = "0 0 1 65.3172"; + scale = "0.820721 0.861926 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-394.749 -196.814 180.562"; + rotation = "0 0 1 65.3172"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Item(Team1Flag1) { + position = "-134.825 -524.967 185.053"; + rotation = "0 0 1 155.454"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape(TeamStationInventory2) { + position = "-502.19 -167.26 188.991"; + rotation = "0 0 1 108.747"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-118.627 -511.363 173.113"; + rotation = "0 0 -1 26.8149"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(Team1SentryTurret2) { + position = "-143.853 -523.875 173.112"; + rotation = "0 0 1 153.162"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-139.943 -500.015 164.252"; + rotation = "0 0 1 154.308"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-131.667 -496.68 164.022"; + rotation = "0 0 1 18.1734"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-147.584 -504.595 164.034"; + rotation = "0 0 -1 70.8175"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-503.23 -150.278 195.014"; + rotation = "0 0 1 155.272"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(TeamSentryTurret1) { + position = "-527.871 -157.758 189.972"; + rotation = "-0.191309 0.981513 0.00569327 179.876"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(TeamSentryTurret2) { + position = "-514.932 -185.918 189.982"; + rotation = "-0.224766 0.974413 -0.000122859 179.91"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-509.867 -171.805 189.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape(TeamStationInventory1) { + position = "-505.419 -160.281 189.011"; + rotation = "0 0 1 19.3658"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-128.711 -506.488 187.067"; + rotation = "0 0 1 154.308"; + scale = "2.36971 1.51081 1.72998"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-507.634 -165.606 173.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new TSStatic() { + position = "-507.31 -165.376 188.509"; + rotation = "0 0 1 155.272"; + scale = "1.55594 2.06939 0.999146"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-380.365 388.966 166.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-175.451 -15.3906 211.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-377.156 399.796 178.055"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-234.398 -76.6145 213.344"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-235.04 -76.6579 189.804"; + rotation = "-0 0 -1 89.9544"; + scale = "0.67359 0.852687 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item(Team2Flag1) { + position = "-372.516 415.49 190.556"; + rotation = "0 0 -1 7.44841"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new StaticShape(Team2StationInventory1) { + position = "-367.294 391.992 169.553"; + rotation = "0 0 1 127.426"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-384.949 389.922 169.547"; + rotation = "0 0 1 218.365"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-375.986 390.174 169.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "-364.411 411.433 178.648"; + rotation = "0 0 -1 5.72969"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(Team2SentryTurret2) { + position = "-392.291 408.009 178.649"; + rotation = "0 0 1 173.697"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret(TeamSentryTurret4) { + position = "-157.205 -0.0562626 219.932"; + rotation = "0.999999 -3.16195e-07 0.00126472 180.648"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-182.748 -27.515 224.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(TeamStationInventory3) { + position = "-176.551 -19.3891 218.948"; + rotation = "0 0 1 226.386"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(TeamStationInventory4) { + position = "-176.567 -11.5958 218.954"; + rotation = "0 0 -1 42.9719"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-167.679 -10.6758 219.001"; + rotation = "0 0 -1 0.457995"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret(TeamSentryTurret3) { + position = "-157.215 -31.0096 219.927"; + rotation = "0.999993 0.00350054 0.00124378 180.649"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-384.146 400.262 192.642"; + rotation = "0 0 -1 6.8755"; + scale = "1.98016 1 1.64314"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.815 -15.5443 218.378"; + rotation = "1 0 0 0"; + scale = "1.55136 2.04513 1.17786"; + shapeName = "dmiscf.dts"; + + locked = "true"; + }; + }; + new WayPoint() { + position = "-173.231 -16.0412 205.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-134.473 -14.6164 224.74"; + rotation = "0 0 -1 92.4293"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-541.754 -180.261 200.164"; + rotation = "0 0 1 67.4259"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-386.426 415.909 196.001"; + rotation = "0.114653 -0.221635 0.968366 126.784"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-136.896 -528.185 190.861"; + rotation = "0.903448 -0.124602 0.410191 37.1683"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-290.248 -197.655 241.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1SWTree20) { + + + new TSStatic() { + position = "-188 52 181.006"; + rotation = "0 0 1 193"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 44 151.917"; + rotation = "0 0 1 17"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 4 148.297"; + rotation = "0 0 1 218"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -268 159.592"; + rotation = "0 0 1 137"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 300 254.162"; + rotation = "0 0 -1 64.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -644 161.226"; + rotation = "0 0 1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 332 54.255"; + rotation = "0 0 1 48"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -20 294.614"; + rotation = "0 0 1 2.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -604 162.666"; + rotation = "0 0 -1 104.896"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -604 106.753"; + rotation = "0 0 -1 89.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 324 38.7969"; + rotation = "0 0 1 139"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -324 134.402"; + rotation = "0 0 1 182.445"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -100 177.315"; + rotation = "0 0 1 31"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 172 152.724"; + rotation = "0 0 1 174.808"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 -436 63.8075"; + rotation = "0 0 -1 70.7763"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 308 260.058"; + rotation = "0 0 -1 37.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 28 73.1019"; + rotation = "0 0 1 46"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324.568 255.22 135.368"; + rotation = "0 0 1 79.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -28 139.334"; + rotation = "0 0 1 154"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -540 152.816"; + rotation = "0 0 1 123"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 20 173.859"; + rotation = "0 0 -1 13.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-398.503 -334.258 187.365"; + rotation = "0 0 1 18.1214"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 -316 73.5725"; + rotation = "0 0 1 206"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -420 116.394"; + rotation = "0 0 1 148"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 164 153.312"; + rotation = "0 0 -1 111"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -108 239.352"; + rotation = "0 0 -1 49.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 116 147.121"; + rotation = "0 0 1 162"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 -44 148.633"; + rotation = "0 0 1 96.0896"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "14.3268 -632.018 166.238"; + rotation = "0 0 1 113.577"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 268 255.307"; + rotation = "0 0 1 138.901"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWTree20) { + + + new TSStatic() { + position = "-36 -484 105.084"; + rotation = "0 0 -1 17.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 196 211.406"; + rotation = "0 0 -1 66.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -572 156.338"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 124 191.451"; + rotation = "0 0 1 152"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 20 175.693"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 -84 143.023"; + rotation = "0 0 -1 50.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 244 32.1006"; + rotation = "0 0 1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 332 50.8175"; + rotation = "0 0 -1 102"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 -356 58.9538"; + rotation = "0 0 1 6.06741"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-422.958 217.558 138.578"; + rotation = "0 0 1 192.63"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 212 133.484"; + rotation = "0 0 -1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.0441 -36.0398 213.016"; + rotation = "0 0 1 148"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -228 143.277"; + rotation = "0 0 1 120"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 164 154.679"; + rotation = "0 0 1 65.316"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -380 52.9976"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132.309 -156.951 305.354"; + rotation = "0 0 -1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-339.959 -292.469 202.338"; + rotation = "0 0 1 54"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 268 124.717"; + rotation = "0 0 1 122"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -412 82.6538"; + rotation = "0 0 1 88.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 100 177.029"; + rotation = "0 0 1 25"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -468 41.2725"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -500 106.251"; + rotation = "0 0 -1 79"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -548 151.027"; + rotation = "0 0 1 142"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -124 141.332"; + rotation = "0 0 -1 81.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -516 98.5613"; + rotation = "0 0 -1 79.3268"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 -156 129.207"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -484 140.822"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -620 171.805"; + rotation = "0 0 1 91.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -76 216.211"; + rotation = "0 0 1 22"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -140 160.314"; + rotation = "0 0 -1 65.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 148 29.8213"; + rotation = "0 0 -1 29.9998"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 324 207.788"; + rotation = "0 0 -1 56.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3SWShrub21) { + + + new TSStatic() { + position = "-508 -292 157.559"; + rotation = "0 0 -1 29.9998"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 196 197.293"; + rotation = "0 0 1 138"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -532 149.121"; + rotation = "0 0 1 51"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 308 49.1525"; + rotation = "0 0 1 117"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 44 70.8869"; + rotation = "0 0 1 156"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -364 183.231"; + rotation = "0 0 1 233"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -332 125.668"; + rotation = "0 0 -1 47.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -372 85.6681"; + rotation = "0 0 -1 10.9999"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 364 138.996"; + rotation = "0 0 -1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 260 122.637"; + rotation = "0 0 -1 7.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 -556 99.902"; + rotation = "0 0 1 93.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 108 32.1525"; + rotation = "0 0 1 76.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -508 155.527"; + rotation = "0 0 -1 77.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 396 74.0743"; + rotation = "0 0 1 14"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -452 130.715"; + rotation = "0 0 1 21"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 428 127.168"; + rotation = "0 0 1 229"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 -332 204.199"; + rotation = "0 0 -1 49.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 420 142.934"; + rotation = "0 0 -1 73.0006"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 180 120.309"; + rotation = "0 0 -1 70.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -380 52.9182"; + rotation = "0 0 1 170"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 196 118.731"; + rotation = "0 0 1 151"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 36 135.934"; + rotation = "0 0 1 212"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -156 137.996"; + rotation = "0 0 1 162"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 412 73.0588"; + rotation = "0 0 -1 56.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 -556 201.418"; + rotation = "0 0 1 180"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 172 150.633"; + rotation = "0 0 -1 17.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 316 37.6681"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 12 191.262"; + rotation = "0 0 -1 80.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -372 176.621"; + rotation = "0 0 -1 81.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 292 255.902"; + rotation = "0 0 1 87.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -148 229.043"; + rotation = "0 0 1 72.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 428 64.09"; + rotation = "0 0 -1 85"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 180 192.012"; + rotation = "0 0 -1 99.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 164 138.434"; + rotation = "0 0 1 66.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300 228 135.34"; + rotation = "0 0 1 36"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7SWShrub24) { + + + new TSStatic() { + position = "-348 -116 125.735"; + rotation = "0 0 1 131"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -28 133.657"; + rotation = "0 0 1 159"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 -292 183.891"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 388 266.141"; + rotation = "0 0 1 142"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -292 161.813"; + rotation = "0 0 1 156"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748 276 32.0631"; + rotation = "0 0 1 94.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 372 148.266"; + rotation = "0 0 -1 10.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -572 156.751"; + rotation = "0 0 1 224"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -364 121.813"; + rotation = "0 0 1 31"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 108 141.782"; + rotation = "0 0 1 230"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -268 217.235"; + rotation = "0 0 1 108"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 60 180.704"; + rotation = "0 0 -1 95.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 372 190.751"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -516 147.094"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 364 25.735"; + rotation = "0 0 1 179"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 -388 52.0944"; + rotation = "0 0 -1 29"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 316 41.3288"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 212 218.938"; + rotation = "0 0 -1 81.0002"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -484 143.594"; + rotation = "0 0 1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 60 178.657"; + rotation = "0 0 1 90.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -52 269.985"; + rotation = "0 0 -1 59.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 44 189.032"; + rotation = "0 0 1 36"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -356 56.1881"; + rotation = "0 0 -1 84.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -4 179.422"; + rotation = "0 0 -1 11.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 348 199.844"; + rotation = "0 0 -1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 132 140.657"; + rotation = "0 0 1 9.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -500 144.563"; + rotation = "0 0 -1 49.0002"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 132 172.688"; + rotation = "0 0 1 46"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 372 60.6257"; + rotation = "0 0 1 132"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 356 132.719"; + rotation = "0 0 1 16"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -580 158.688"; + rotation = "0 0 -1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5SWShrub23) { + + + new TSStatic() { + position = "-780 -364 63.775"; + rotation = "0 0 1 69.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 372 133.462"; + rotation = "0 0 1 125"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 12 138.369"; + rotation = "0 0 1 233"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 84 154.009"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 -388 50.5093"; + rotation = "0 0 -1 114"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 364 25.775"; + rotation = "0 0 1 31"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -20 134.103"; + rotation = "0 0 -1 93.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 388 49.8219"; + rotation = "0 0 -1 13.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 140 127.791"; + rotation = "0 0 -1 64.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 -276 163.072"; + rotation = "0 0 1 67"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -468 44.3219"; + rotation = "0 0 1 60.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 212 34.7438"; + rotation = "0 0 -1 32"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Starfallen.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Starfallen.mis new file mode 100644 index 00000000..20f4a43c --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Starfallen.mis @@ -0,0 +1,1436 @@ +// DisplayName = TWL-Starfallen +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Aim for the moon. If you miss, you may hit a star. +// -- W. Clement Stone +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by v5planet (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "6"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-920 -784 1856 1552"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(one) { + position = "-441.16 363.67 167.04"; + rotation = "-0.325641 0.155299 0.932652 54.165"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(two) { + position = "-544 101.6 179.55"; + rotation = "0.207883 -0.058654 0.976394 32.2354"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(three) { + position = "130.34 -556.052 182.539"; + rotation = "0.259111 -0.129994 0.95706 55.3272"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(four) { + position = "373.557 -443.812 167.23"; + rotation = "-0.310177 0.118526 0.943261 44.1065"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sun() { + position = "-361.911 369.705 299.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.250000 0.350000 0.350000 1.000000"; + ambient = "0.240000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "460"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.260000 0.410000 0.440000 1.000000"; + fogDistance = "420"; + fogColor = "0.260000 0.410000 0.440000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38"; + high_fogVolume2 = "-1 -1991.03 nan"; + high_fogVolume3 = "-1 7945.87 7.22445e-09"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/Lushdet2"; + terrainFile = "Starfallen.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "500"; + locked = "true"; + visibleDistance = "1000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "Harvester_x.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "227.338 -460.799 127.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "345.635 -471.361 172.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "345.635 -399.161 172.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "453.926 -419.36 148.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "366.723 -428.721 168.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "343.249 -243.777 160.377"; + rotation = "-0 0 -1 54.6135"; + scale = "0.781556 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "124.805 -579.028 117.639"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "404.563 -432.4 176.688"; + rotation = "0 0 1 81.36"; + scale = "6.05734 0.484094 4.31526"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "197.746 -508.77 150.035"; + rotation = "0 0 1 143.812"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new Turret() { + position = "394.91 -427.617 183.281"; + rotation = "-0 0 -1 9.16728"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "347.437 -434.83 185.478"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + interiorFile = "Starfallen.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "385.157 -439.697 165.703"; + rotation = "0 0 1 128.343"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "413.329 -424.882 160.361"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "124.833 -579.037 107.667"; + rotation = "0 0 1 180"; + scale = "0.75094 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "401.611 -435.968 174.457"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "426.089 -164.196 136.162"; + rotation = "0 0 1 207.984"; + scale = "1 1 1"; + nameTag = "Road"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "352.062 -411.877 168.443"; + rotation = "0 0 -1 98.158"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "425.809 -164.716 127.623"; + rotation = "0 0 1 28.4654"; + scale = "0.694222 0.873342 0.855632"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "358.689 -455.367 168.462"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "401.78 -414.418 176.603"; + rotation = "0 0 1 81.36"; + scale = "5.53473 0.58606 4.47809"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "343.155 -243.561 169.502"; + rotation = "-0 0 -1 48.884"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "383.026 -440.966 172.738"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "379.599 -418.352 172.746"; + rotation = "0 0 -1 98.731"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "219.244 -521.616 160.614"; + rotation = "0 0 -1 59.0146"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "398.939 -417.663 174.442"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "381.995 -418.995 165.726"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "371.264 -427.121 184.147"; + rotation = "0 0 1 81.36"; + scale = "8.08698 0.335684 7.4828"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "362.223 -432.59 192.395"; + rotation = "0 0 1 171.887"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "204.661 -507.08 150.387"; + rotation = "0 0 1 210.848"; + scale = "1 1 1"; + interiorFile = "flagbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "197.746 -508.77 150.639"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + stand = "3482"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "382.077 -408.937 183.59"; + rotation = "0 0 1 169.596"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "388.741 -449.067 183.581"; + rotation = "0 0 -1 9.74035"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "394.903 -427.626 184.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-463.4 336.8 173.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-463.989 224.261 129.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-391 336.8 173.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-427.309 452.801 160.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-427.642 358.57 168.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-427.433 339.02 185.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Starfallen.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-439.45 395.813 176.791"; + rotation = "1 0 0 0"; + scale = "5.53473 0.58606 4.47809"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-421.254 395.863 176.876"; + rotation = "1 0 0 0"; + scale = "6.05734 0.484094 4.31526"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-416.955 375.581 165.901"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-437.884 375.58 165.904"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-521.457 219.464 160.402"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-427.406 353.955 192.573"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-431.475 363.705 184.335"; + rotation = "1 0 0 0"; + scale = "8.08698 0.385589 7.4828"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-436.758 392.497 174.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-438.903 373.302 172.894"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-416 373.294 172.956"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-405.438 347.069 168.65"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-449.431 347.031 168.641"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-418.219 392.468 174.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-427.369 405.659 160.549"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-516.497 199.462 150.181"; + rotation = "0 0 1 61.8794"; + scale = "1 1 1"; + interiorFile = "flagbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-509.701 197.345 149.829"; + rotation = "-0 0 -1 5.15676"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-588.301 125.557 110.955"; + rotation = "0 0 -1 35.5234"; + scale = "0.75094 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-588.468 125.584 120.903"; + rotation = "0 0 1 144.958"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-427.433 387.058 183.469"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-149.024 399.179 124.61"; + rotation = "0 0 1 63.5983"; + scale = "0.694222 0.873342 0.855632"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-148.495 399.443 133.149"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + nameTag = "Road"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-229.146 338.4 158.764"; + rotation = "0 0 -1 5.72956"; + scale = "0.781556 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-229.103 338.424 168.729"; + rotation = "0 0 -1 6.30264"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-509.701 197.345 150.433"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "CTF"; + + stand = "3551"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-407.124 377.902 183.776"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-447.772 377.216 183.771"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-427.449 387.064 184.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-35.9202 -34.8907 216.742"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-32.0841 -31.6325 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-32.7563 -30.9705 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-36.357 -35.9548 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-37.0292 -35.2928 239.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "304.398 303.957 174.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/growl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "75"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "550.254 -433.469 108.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-34.0334 -33.2358 232.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-431.725 558.013 100.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-525.9 -285.447 107.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "86.6119 -168.256 102.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "557.102 7.36847 106.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-24.385 -869.465 107.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "94.3683 201.35 105.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new TSStatic() { + position = "-396.858 76.8633 122.342"; + rotation = "0.233516 -0.240564 0.942125 19.4504"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-586.455 -32.9101 127.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468.597 -47.1803 138.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-254.798 196.591 120.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.7517 311.548 103.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "102.468 47.0556 114.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "117.443 13.7092 112.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "278.676 -204.552 145.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "227.683 -386.255 147.172"; + rotation = "-0.831159 0.552972 0.0582764 14.4529"; + scale = "1.1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92.7454 -408.944 116.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-42.6203 -562.432 123.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "319.43 -658.189 150.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "11.6502 -368.213 126.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-143.679 -156.815 109.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.796 -164.209 124.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-174.39 -110.495 111.715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-4.3545 -200.973 114.542"; + rotation = "1 0 0 25.7831"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-98.6385 -49.5633 112.047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-467.374 296.251 162.64"; + rotation = "-0.986356 0.163961 -0.0147965 10.4552"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-571.141 365.995 201.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-657.298 241.223 101.259"; + rotation = "-0.732038 -0.679596 -0.0476496 10.9423"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-635.972 196.572 77.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg12.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-489.61 88.1994 106.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-489.248 89.7655 108.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "388.48 367.69 162.761"; + rotation = "-0.754927 0.653965 -0.0491395 11.3683"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "355.633 393.844 162.478"; + rotation = "-0.831978 0.554559 0.0166418 4.13147"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "300.444 303.211 169.382"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new WaterBlock() { + position = "-168 24 49.0147"; + rotation = "1 0 0 0"; + scale = "2048 2048 52.1746"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + textureSize = "32 32"; + params0 = "0.32 -0.67 0.066 0.5"; + params1 = "0.63 -2.41 0.33 0.21"; + seedPoints = "0 0 1 0 1 1 0 1"; + floodFill = "1"; + locked = "true"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Stonehenge.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Stonehenge.mis new file mode 100644 index 00000000..274ca3f2 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Stonehenge.mis @@ -0,0 +1,1548 @@ +// DisplayName = TWL-Stonehenge +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The Blood Eagle and Diamond Sword battle one another at close quarters. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-616 -800 720 1264"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.520000 0.520000 0.520000 1.000000"; + fogDistance = "100"; + fogColor = "0.520000 0.520000 0.520000 1.000000"; + fogVolume1 = "650 0 200"; + fogVolume2 = "800 200 300"; + fogVolume3 = "0 0 0"; + materialList = "lush_dusk.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 107 1.07457e-38"; + high_fogVolume2 = "-1 9.69184e-34 8.26766e-44"; + high_fogVolume3 = "-1 0 3.2509e-38"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.650000 0.680000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Sun() { + position = "-7.65436 29.3593 -34.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Stonehenge_nef.ter"; + squareSize = "8"; + emptySquares = "0"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Stonehenge_nef.nav"; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BEPlant1) { + + + new TSStatic() { + position = "-420 -452 212.6"; + rotation = "0.157802 0.0246718 0.987163 237.374"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -1196 145.334"; + rotation = "0.782248 0.0633289 0.61974 30.2214"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -324 83.6"; + rotation = "0.0349446 -0.227912 0.973054 216.068"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 436 196.819"; + rotation = "0.345433 -0.180589 -0.920904 74.4954"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -1284 210.397"; + rotation = "-0.0388496 -0.139125 0.989513 223.582"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -924 181.475"; + rotation = "0.74335 -0.0466178 0.667276 29.604"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -996 192.147"; + rotation = "0.234347 0.0919127 0.967798 196.46"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -1116 181.928"; + rotation = "0.427919 -0.178998 -0.885915 61.9431"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -564 242.834"; + rotation = "-0.0240997 0.234194 -0.971891 113.506"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -884 176.444"; + rotation = "0.155282 0.183932 -0.970596 81.6883"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -996 212.194"; + rotation = "-0.0341384 0.575948 -0.816773 27.9746"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -556 189.116"; + rotation = "-0.204638 -0.0226176 0.978576 74.19"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -652 243.428"; + rotation = "0.0125208 -0.180659 0.983466 51.7462"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -236 281.787"; + rotation = "-0.14061 0.169516 0.975445 226.95"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 276 270.038"; + rotation = "-0.24489 0.144667 -0.958697 35.3754"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -732 155.116"; + rotation = "0.163703 -0.0269342 0.986142 80.7882"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 340 297.647"; + rotation = "0.0229803 0.281771 -0.959206 118.125"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -572 240.116"; + rotation = "-0.647255 0.762274 9.93427e-06 25.3561"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 36 83.6781"; + rotation = "-0.13634 -0.069173 -0.988244 117.602"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 372 201.631"; + rotation = "0.150186 0.124972 0.980727 200.604"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -988 205.038"; + rotation = "0.0756881 0.274848 0.958504 34.3462"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -1188 174.678"; + rotation = "-0.0371732 0.117899 0.99233 125.36"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 100 164.303"; + rotation = "0.359859 -0.116815 -0.925665 33.3561"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 180 242.522"; + rotation = "0.237012 0.16286 0.957759 107.375"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1188 -68 171.553"; + rotation = "0.104403 -0.233341 0.966774 70.8182"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1228 -76 169.897"; + rotation = "-0.478329 0.00440113 -0.87817 47.2219"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -1076 181.397"; + rotation = "-0.151796 -0.281647 0.947435 62.7148"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -396 209.85"; + rotation = "0.0429078 0.00236508 -0.999076 71.0502"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 692 257.006"; + rotation = "0.2091 0.0977605 -0.972995 89.5676"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -508 198.163"; + rotation = "-0.0913206 -0.39729 0.913138 33.7876"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -900 193.741"; + rotation = "-0.172211 0.0575155 -0.98338 34.5409"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -1196 149.116"; + rotation = "0.105062 -0.414917 0.903773 58.8267"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -1140 197.553"; + rotation = "0.0219609 0.47998 0.877005 19.3419"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -812 174.991"; + rotation = "-0.0547983 -0.217969 0.974416 225.924"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 268 81.1312"; + rotation = "-0.109726 -0.0198273 0.993764 132.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -772 146.397"; + rotation = "-0.0719837 0.250632 0.965402 95.0126"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1220 -980 190.819"; + rotation = "-0.446217 -0.173871 0.877872 21.5849"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -636 173.069"; + rotation = "-0.011205 -0.207286 -0.978216 91.2618"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 -1180 241.897"; + rotation = "-0.0357533 0.157542 0.986865 154.33"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -1036 185.037"; + rotation = "0.108319 0.231114 0.966878 205.167"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1156 -396 162.522"; + rotation = "0.0808992 -0.0970829 -0.991983 96.4586"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -1156 110.522"; + rotation = "0.064278 -0.0175047 0.997778 68.1178"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 468 197.1"; + rotation = "-0.212503 -0.14336 0.966587 70.829"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 556 145.678"; + rotation = "-0.0384027 0.271171 0.961765 117.99"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 580 220.662"; + rotation = "0.325285 0.109337 -0.939274 72.3869"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 724 194.022"; + rotation = "0.0170151 -0.22349 0.974558 204.383"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 708 171.413"; + rotation = "-0.0574977 0.246303 0.967486 93.8912"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1212 732 286.131"; + rotation = "-0.178555 0.123535 0.976144 201.488"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1204 -564 230.241"; + rotation = "-0.12396 0.111479 0.986005 124.667"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 428 209.913"; + rotation = "-0.159414 -0.337539 0.927715 39.6653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant5) { + + + new TSStatic() { + position = "-348 -388 273.017"; + rotation = "0.459994 0.402652 -0.791376 34.9749"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-291.972 -83.9854 242.097"; + rotation = "-0.0750568 0.052783 0.995781 54.1962"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 132 262.549"; + rotation = "0.426287 -0.566626 0.705134 28.0791"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 44 176.455"; + rotation = "0.222412 0.0334733 -0.974378 84.4786"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -100 253.361"; + rotation = "0.171212 0.234462 0.956929 119.225"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 124 159.377"; + rotation = "0.15098 -0.0113431 0.988472 170.115"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -156 221.752"; + rotation = "-0.106907 -0.102573 0.988964 124.525"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -124 159.142"; + rotation = "-0.183267 0.779412 -0.599107 34.3794"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -52 207.767"; + rotation = "0.246928 0.241346 0.938498 61.1352"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -324 250.845"; + rotation = "-0.0223829 0.254575 0.966794 171.298"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -332 188.283"; + rotation = "0.115069 -0.0493373 0.992131 82.4486"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 4 187.095"; + rotation = "-0.265405 0.462726 0.84584 39.745"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 124 157.345"; + rotation = "-0.0112826 0.583423 -0.81209 37.7098"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 44 266.408"; + rotation = "0.0534719 -0.105452 0.992986 230.687"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -508 191.877"; + rotation = "0.179059 -0.110069 0.977662 168.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -28 257.674"; + rotation = "-0.133094 -0.0971992 0.986326 129.61"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -500 269.533"; + rotation = "0.0584764 0.119672 0.99109 141.321"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -564 196.845"; + rotation = "0.0170505 0.0575948 0.998194 78.1015"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300.046 -92.0244 243.399"; + rotation = "0.0926805 0.124321 0.987904 230.46"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -300 238.736"; + rotation = "0.0876534 0.327129 0.940906 63.0678"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 156 198.142"; + rotation = "-0.575448 -0.659234 0.484015 32.3829"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -340 215.033"; + rotation = "0.063571 -0.0971338 -0.993239 110.365"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 196 194.08"; + rotation = "0.132239 -0.159534 -0.978295 99.2431"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -308 226.861"; + rotation = "-0.309793 0.0750986 -0.947834 86.0554"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -420 228.439"; + rotation = "0.0405069 -0.166726 0.985171 89.8558"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -244 278.377"; + rotation = "0.0797222 0.220707 0.972077 213.103"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -484 206.861"; + rotation = "0.0369194 0.189577 0.981171 161.351"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -140 242.689"; + rotation = "-0.0286854 0.0562031 0.998007 101.112"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -100 220.002"; + rotation = "-0.124114 0.125319 0.984323 212.51"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -140 252.502"; + rotation = "0.0856221 -0.0194645 0.996137 129.172"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -196 268.533"; + rotation = "-0.193507 -0.273939 0.942079 55.7788"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 108 259.314"; + rotation = "0.122627 0.304065 -0.944726 92.2571"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -508 271.486"; + rotation = "0.600167 -0.0090163 -0.799824 17.4552"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -68 161.205"; + rotation = "0.553183 0.249892 -0.794697 23.7828"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 36 263.502"; + rotation = "-0.220423 -0.0972801 0.970541 114.567"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252.001 -331.995 231.669"; + rotation = "-0.143908 0.215514 0.965839 231.426"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -364 220.97"; + rotation = "-0.219444 -0.12916 0.967038 227.566"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -228 265.267"; + rotation = "-0.206568 -0.00898692 0.978391 85.2464"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -340 236.189"; + rotation = "0.516892 -0.122113 -0.847296 53.2197"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -468 217.564"; + rotation = "0.117218 -0.0287191 0.992691 226.694"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 116 160.127"; + rotation = "-0.0307647 -0.213538 -0.97645 102.337"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -12 227.955"; + rotation = "-0.25699 -0.12858 -0.957822 111.317"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -60 156.361"; + rotation = "0.214392 0.369106 0.904321 49.2191"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 132 245.002"; + rotation = "0.139914 -0.0565835 0.988546 80.6507"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -492 209.017"; + rotation = "0.294558 -0.0183747 0.955457 37.563"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -20 188.752"; + rotation = "0.0721596 0.263584 -0.961934 63.9811"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -476 205.127"; + rotation = "0.30191 0.355116 0.884728 43.6282"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -188 153.33"; + rotation = "0.109385 0.0182621 0.993832 224.75"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -20 260.689"; + rotation = "0.154024 -0.154196 0.975961 211.269"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 -204 265.314"; + rotation = "-0.0175707 0.274211 0.961509 125.844"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-231.046 157.459 275.245"; + rotation = "0 0 1 187.93"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-274.236 -377.613 289.89"; + rotation = "0.00939388 -0.0499769 0.998706 158.736"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-224.095 85.9978 273.514"; + rotation = "0.4669 0.0970781 -0.878966 26.6175"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-267.724 -455.853 291.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-263.277 -357.296 253.922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "70"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-265.751 -424.953 310.561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-370.762 -358.368 258.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-183.235 -434.272 270.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-266.116 -420.688 279.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-262.818 -351.176 256.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-201.872 -282.001 229.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-260.181 -418.707 303.296"; + rotation = "0 0 1 90"; + scale = "0.879995 0.88158 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-266.035 -424.608 287.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "-264.397 -386.671 293.818"; + rotation = "0 0 1 0.688699"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-179.383 -262.605 259.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-254.27 -396.95 284.819"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-253.737 -381.427 284.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-277.379 -396.827 284.815"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-270.778 -207.042 309.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "-266.031 -424.624 299.385"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-261.093 -375.111 285.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-235.209 56.2366 243.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "70"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-232.539 133.468 295.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-330.719 76.4078 284.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-152.112 123.088 255.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "10"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-184.84 -26.4323 213.682"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-235.691 58.2761 240.592"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-232.393 127.788 263.092"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-238.337 125.803 287.061"; + rotation = "0 0 -1 90"; + scale = "0.879995 0.88158 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-233.713 93.5954 277.582"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-232.377 131.943 271.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new Turret() { + position = "-174.458 -45.7712 243.673"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-244.136 104.027 268.564"; + rotation = "-0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-244.542 88.4934 268.586"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-221.1 103.754 268.576"; + rotation = "0 0 1 90.0456"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-271.387 -100.483 309.372"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "-232.564 131.798 283.137"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-237.398 82.2952 268.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-274.727 -111.78 269.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter() { + position = "-181.351 9.15497 201.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-259.975 -299.322 218.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-124.385 -298.592 189.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-643.034 -429.199 190.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Lightning() { + position = "-274.935 -143.111 353.049"; + rotation = "1 0 0 0"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "12"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-270.646 -148.906 353.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.9"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_SubZero.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_SubZero.mis new file mode 100644 index 00000000..1c167a54 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_SubZero.mis @@ -0,0 +1,1347 @@ +// DisplayName = TWL-Subzero +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Death comes to all, but great achievements build a monument which shall endure until the sun grows cold. +// -- Ralph Waldo Emerson +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]700 points to win +//No vehicle stations +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "5"; + musicTrack = "ice"; + CTF_scoreLimit = "7"; + + new MissionArea(MissionArea) { + area = "-600 -16 1296 736"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.650000 0.650000 0.700000 1.000000"; + fogDistance = "200"; + fogColor = "0.650000 0.650000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "750"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.000908453 -0.181195"; + high_fogVolume2 = "-1 7.50025e-05 -0.183703"; + high_fogVolume3 = "-1 0.000507861 -0.187695"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "TWL-SubZero.ter"; + squareSize = "8"; + emptySquares = "368822 434613 369232 434869 435023 435125 435279 435381 435535 370102 435791 239442 371638 437430 372048 437686 437840 437942 438096 372662 438352 438608 373328"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + GraphFile = "SubZero.nav"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "513.11 351.311 180.24"; + rotation = "0.101534 0.145745 -0.984098 111.133"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-426.222 392.024 181.256"; + rotation = "0.0415484 -0.097151 0.994402 133.922"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "451.048 303.29 131.657"; + rotation = "0.983095 -0.0118344 0.182714 7.53882"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-362.623 317.797 136.12"; + rotation = "0.992763 -0.0119508 0.119494 11.5052"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "451.175 323.362 160.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new Item() { + position = "451.175 323.362 160.254"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "344.747 391.266 165.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "451.158 323.371 153.727"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk_nef1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "345.388 391.297 191.217"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "442.433 379.478 153.71"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "443.22 374.652 137.723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "435.198 326.609 123.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "467.123 322.141 123.722"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "459.119 273.144 137.724"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "459.914 268.318 153.701"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "429.365 279.874 161.711"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "Door"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "468.934 281.673 137.709"; + rotation = "0 0 1 80.2143"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "467.428 276.249 137.704"; + rotation = "0 0 1 112.3"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "466.825 279.521 138.769"; + rotation = "-0.261891 0.0115846 0.965028 184.889"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468.834 281.739 139.54"; + rotation = "0 0 1 202.827"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436.146 363.685 137.69"; + rotation = "0 0 -1 24.6372"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "434.319 367.542 137.707"; + rotation = "0 0 -1 73.9116"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.204 370.66 137.712"; + rotation = "0 0 1 8.02137"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "435.275 370.655 138.703"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "433.965 370.618 138.692"; + rotation = "0 0 1 80.2141"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "433.958 370.689 137.701"; + rotation = "0 0 1 88.2355"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "451.168 323.361 159.641"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.807 279.892 171.722"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "457.586 367.898 171.698"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "Roof"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-363.059 339.721 164.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new Item() { + position = "-363.059 339.721 164.356"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-363.066 339.725 157.826"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk_nef1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-277.687 246.588 169.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-372.004 395.802 157.807"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-370.982 391.158 141.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-378.93 342.69 127.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-347.21 338.638 127.821"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-355.152 289.181 141.783"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-354.292 284.682 157.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-278.296 246.592 195.706"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "-346.043 299.73 141.808"; + rotation = "0 0 1 70.4741"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-346.609 294.13 141.803"; + rotation = "0 0 1 102.56"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-347.757 297.252 142.868"; + rotation = "-0.261894 -0.0106897 0.965037 175.489"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-346.152 299.779 143.639"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-377.175 380.502 141.787"; + rotation = "0 0 -1 24.6372"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.002 384.359 141.804"; + rotation = "0 0 -1 73.9116"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-378.117 387.477 141.809"; + rotation = "0 0 1 8.02137"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-378.046 387.472 142.8"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.356 387.435 142.789"; + rotation = "0 0 1 80.2141"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.363 387.506 141.798"; + rotation = "0 0 1 88.2355"; + scale = "2 2 2"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new Turret() { + position = "-341.539 384.116 165.804"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Door"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-363.056 339.715 163.749"; + rotation = "0 0 -1 21.7724"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-357.648 384.216 175.809"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-369.491 296.225 175.804"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Roof"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new Item() { + position = "451.109 272.866 137.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-363.098 289.235 142.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "451.182 374.865 138.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-363.012 391.245 142.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new SimGroup(MISC) { + + + new InteriorInstance() { + position = "212.526 566.549 97.946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-550.148 372.913 109.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "676.102 404.853 97.552"; + rotation = "0 0 1 138.083"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "169.466 380.318 82.2017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "40.0381 241.757 151.541"; + rotation = "0 0 -1 38.3882"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "-3.88782 219.531 177.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "42.2429 247.658 145.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/growl3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "643.878 401.838 109.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-496.892 386.757 107.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-263.51 -111.145 262.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "513.107 -64.0063 230.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1SWTree20) { + + + new TSStatic() { + position = "100 228 163.719"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 12 158.094"; + rotation = "0 0 -1 63.0001"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -100 136.75"; + rotation = "0 0 -1 17.9998"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -60 201.703"; + rotation = "0 0 1 76.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 292 161.047"; + rotation = "0 0 1 125"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 292 169.375"; + rotation = "0 0 1 192"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 268 166.156"; + rotation = "0 0 1 122"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 380 176.203"; + rotation = "0 0 1 72.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 228 179.797"; + rotation = "0 0 1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 588 239.172"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 572 233.469"; + rotation = "0 0 -1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 508 130.594"; + rotation = "0 0 1 99.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 212 129.234"; + rotation = "0 0 1 219"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 92 133.578"; + rotation = "0 0 -1 79"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 524 226.828"; + rotation = "0 0 1 211"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -52 134.828"; + rotation = "0 0 1 132"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "12 476 182.359"; + rotation = "0 0 1 125"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 564 164.313"; + rotation = "0 0 1 45"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -92 197.031"; + rotation = "0 0 1 73.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 572 164.281"; + rotation = "0 0 -1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 532 230.578"; + rotation = "0 0 1 215"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 588 165.687"; + rotation = "0 0 1 142"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 364 164.016"; + rotation = "0 0 -1 11.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 100 171.219"; + rotation = "0 0 -1 53.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 220 112.281"; + rotation = "0 0 -1 97"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2SWShrub21) { + + + new TSStatic() { + position = "-164 444 213.031"; + rotation = "0 0 -1 108.999"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 172 130.375"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 580 197.984"; + rotation = "0 0 1 229"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 564 187.828"; + rotation = "0 0 1 200"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -84 132.437"; + rotation = "0 0 1 167"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 356 157.969"; + rotation = "0 0 1 111"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 396 178.469"; + rotation = "0 0 1 193"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 316 166.703"; + rotation = "0 0 1 151"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 436 194.266"; + rotation = "0 0 -1 94"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -100 193.313"; + rotation = "0 0 1 2.99997"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -44 147.75"; + rotation = "0 0 1 183"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 292 149.766"; + rotation = "0 0 1 170"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -108 192.297"; + rotation = "0 0 1 58.9998"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 116 173.172"; + rotation = "0 0 1 127"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "36 580 195.203"; + rotation = "0 0 1 103"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 516 186.734"; + rotation = "0 0 1 47"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212 364 88.9531"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "116 276 164.281"; + rotation = "0 0 -1 47.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36 460 185"; + rotation = "0 0 -1 26.9998"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 580 195.047"; + rotation = "0 0 -1 90.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 132 173.984"; + rotation = "0 0 1 88.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 132 115.016"; + rotation = "0 0 1 81.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292 284 166.875"; + rotation = "0 0 1 223"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 20 155.531"; + rotation = "0 0 1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 596 189.766"; + rotation = "0 0 1 97"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Surreal.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Surreal.mis new file mode 100644 index 00000000..706be441 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Surreal.mis @@ -0,0 +1,1233 @@ +// DisplayName = TWL-Surreal +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Do not go gentle into that good night, +//Rage, rage against the dying of the light. +// -- Dylan Thomas +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by Nefilim (assisted: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + cdTrack = "3"; + musicTrack = "volcanic"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-584 -712 1312 1280"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new WaterBlock() { + position = "-576 224 228.142"; + rotation = "1 0 0 0"; + scale = "352 320 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0004"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "530"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.600000 0.750000 1.000000"; + fogDistance = "450"; + fogColor = "0.500000 0.600000 0.750000 1.000000"; + fogVolume1 = "300 0 200"; + fogVolume2 = "650 200 270"; + fogVolume3 = "900 270 350"; + materialList = "nef_Surreal1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -520175634523126950000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "775"; + high_fogDistance = "600"; + high_fogVolume1 = "-1 4.42539e-39 1.07618e-38"; + high_fogVolume2 = "-1 1.31225e-36 8.96831e-44"; + high_fogVolume3 = "-1 0 3.24613e-38"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "269.924 173.224 302.44"; + rotation = "0.458755 -0.137709 0.877827 37.7571"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-175.099 -277.416 319.813"; + rotation = "-0.138946 -0.267311 0.95354 232.73"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "Surreal.ter"; + squareSize = "8"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Surreal.nav"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(Base0) { + + providesPower = "1"; + + new StaticShape() { + position = "-350.234 -642.751 266"; + rotation = "0 0 1 159.283"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-487.095 -363.131 335.163"; + rotation = "0 0 -1 92.4284"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-365.272 -637.212 266.015"; + rotation = "0 0 1 227.464"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-356.906 -640.797 277.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-340.237 -621.493 280.009"; + rotation = "0 0 1 199.39"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-104.101 -237.966 184.966"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-104.101 -237.966 195.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "-104.53 -238.458 194.943"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-399.022 -454.723 354.462"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-399.022 -454.723 364.715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape() { + position = "-399.243 -454.766 364.369"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "-510.545 -361.751 321.154"; + rotation = "0 0 1 227.465"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-510.992 -345.733 321.169"; + rotation = "-0 0 -1 64.3544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-511.377 -353.543 333.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Turret() { + position = "-251.314 -161.828 255.017"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-250.856 -161.389 245.04"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-250.856 -161.389 255.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "24.4432 -361.599 192.947"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "24.9509 -361.212 182.97"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "24.9509 -361.212 193.223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new WayPoint() { + position = "-355.473 -633.747 265.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new WayPoint() { + position = "-505.69 -352.649 320.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-340.237 -621.493 280.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-487.095 -363.131 335.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-373.843 -471.966 318.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "353.089 471.24 335.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "582.987 350.215 287.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new SpawnSphere() { + position = "421.764 339.722 314.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + }; + new SimGroup(FlagControlled) { + + providesPower = "1"; + + new InteriorInstance() { + position = "319.218 219.168 243.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-247.027 -324.065 242.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Item() { + position = "-247.027 -324.065 242.661"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + cutPower = "1"; + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(Base1) { + + providesPower = "1"; + + new InteriorInstance() { + position = "582.987 350.215 287.992"; + rotation = "0 0 1 65.3173"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "353.089 471.24 335.614"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "232.335 98.4109 195.016"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape() { + position = "611.694 343.163 273.998"; + rotation = "0 0 1 93.3917"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "374.534 491.586 321.62"; + rotation = "0 0 1 36.0964"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "358.7 494.052 321.605"; + rotation = "-0 0 -1 32.0858"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "232.199 97.7854 185.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "232.199 97.7854 195.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape() { + position = "444.164 394.122 366.36"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "444.152 393.985 356.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "444.152 393.985 366.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape() { + position = "605.214 357.82 273.983"; + rotation = "0 0 1 25.2101"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "608.872 350.64 285.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new Item() { + position = "366.389 493.317 333.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "365.156 -14.9504 183.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "365.156 -14.9504 193.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "365.292 -14.325 193.074"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "151.158 239.968 242.944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "151.158 239.968 253.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Turret() { + position = "151.294 240.593 252.931"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new WayPoint() { + position = "602.1 346.968 273.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + new WayPoint() { + position = "365.995 486.171 320.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "353.089 471.24 335.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new SpawnSphere() { + position = "582.987 350.215 287.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + missionTypesList = "CTF"; + }; + new SpawnSphere() { + position = "422.764 332.922 322.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + missionTypesList = "CTF"; + }; + }; + new SimGroup(FlagControlled) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-251.046 -336.057 243.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "323.228 231.044 242.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new Item() { + position = "323.228 231.044 242.878"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + cutPower = "1"; + locked = "true"; + missionTypesList = "CTF"; + className = "FlagObj"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "551.325 -603.709 89.3798"; + rotation = "0.225704 0.622079 -0.749717 118.609"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new WaterBlock() { + position = "208 -792 -22.56"; + rotation = "1 0 0 0"; + scale = "576 608 109.257"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Sun() { + position = "-937.796 -1463.9 43.5189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new SimGroup(Ambience) { + + + new AudioEmitter() { + position = "-379.193 371.956 313.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "90"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "116.124 199.686 198.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "431.154 533.786 307.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "597.286 -619.588 117.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "110"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "209.369 -70.2714 153.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "860 -188 179.359"; + rotation = "0 0 -1 19.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "492 12 227.656"; + rotation = "0 0 1 160"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324 412 272.672"; + rotation = "0 0 -1 47.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 140 172.781"; + rotation = "0 0 -1 44.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -260 167.984"; + rotation = "0 0 1 236"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 164 180.766"; + rotation = "0 0 -1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -420 243.812"; + rotation = "0 0 1 32"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 -660 302.656"; + rotation = "0 0 1 73.9998"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 212 269.219"; + rotation = "0 0 1 232"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -388 174.469"; + rotation = "0 0 1 75.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 548 305.094"; + rotation = "0 0 -1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "852 -332 160.219"; + rotation = "0 0 1 150"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 652 319.156"; + rotation = "0 0 -1 19.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -276 184.109"; + rotation = "0 0 1 73"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "327.397 -819.01 164.56"; + rotation = "0 0 1 105"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(dead_trees) { + + + new TSStatic() { + position = "89.3093 -220.476 142.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "217 -258.223 134.558"; + rotation = "1 0 0 0"; + scale = "1.25704 1.87137 1.59168"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "272.307 -383.755 148.446"; + rotation = "1 0 0 13.7511"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "662.788 -499.977 86.8993"; + rotation = "-1 0 0 10.8863"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-195.166 290.888 375.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-377.897 203.666 396.499"; + rotation = "-1 0 0 21.1995"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Titan.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Titan.mis new file mode 100644 index 00000000..fcec6aaa --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_Titan.mis @@ -0,0 +1,2008 @@ +// DisplayName = TWL-Titan +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Where talent is a dwarf, self-esteem is a giant. +// -- J. Petit-Senn +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//No vehicle stations +//Map by z0dd (assisted: Akira, CleverClothe, Nefilim) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + powerCount = "0"; + CTF_scoreLimit = "6"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-704 -472 1504 1376"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.710000 0.710000 0.710000 1.000000"; + fogDistance = "350"; + fogColor = "0.710000 0.710000 0.710000 1.000000"; + fogVolume1 = "150 0 50"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 255.000000 128.000000 0.000000"; + fogVolumeColor2 = "0.000000 0.000000 0.000000 0.000000"; + fogVolumeColor3 = "0.000000 0.000000 0.000000 0.000000"; + high_visibleDistance = "575"; + high_fogDistance = "450"; + high_fogVolume1 = "250 0 75"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Titan.ter"; + squareSize = "8"; + emptySquares = "104569 104595 170324 104825 104851 104887 301651 105081 105107 236214 170836 105337 105363 236470"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + GraphFile = "Titan.nav"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "515.891 174.074 165.989"; + rotation = "0.236077 0.159882 -0.958491 70.4883"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-408.591 190.441 169.408"; + rotation = "0.305418 -0.251493 0.918407 83.7585"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "444.265 210.821 105.678"; + rotation = "0.209539 -0.155723 0.965321 75.183"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-341.202 210.797 104.387"; + rotation = "0.115987 0.0926002 -0.988925 77.8284"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-343.004 314.62 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-343.004 114.62 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + + new SimGroup(Tower_l) { + + + new StaticShape() { + position = "-342.882 312.624 173.124"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-350.782 312.63 158.242"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-335.198 312.611 146.33"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-342.935 302.619 152.561"; + rotation = "-1.13851e-08 -0.260461 0.965484 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-343.004 314.62 127.542"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-334.991 312.611 140.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(flag_base) { + + + new InteriorInstance() { + position = "-343.002 212.534 109.269"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bbase_ccb2a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-343.01 212.632 118.785"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(tower_r) { + + + new InteriorInstance() { + position = "-343.004 114.62 127.542"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-342.872 112.624 173.124"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-350.835 112.623 158.272"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-335.235 112.603 146.334"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-342.979 122.629 152.561"; + rotation = "0.999894 0.00379549 -0.0140676 30.1985"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "-335.001 112.618 140.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Walls) { + + + new InteriorInstance() { + position = "-295.259 229.97 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.258 220.722 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.258 188.726 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-326.257 164.485 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-335.505 164.485 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-367.502 164.485 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-351.502 260.968 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-319.505 260.969 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-391.748 195.485 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-391.748 204.719 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-391.748 236.717 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-360.748 260.967 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "-355.364 212.514 101.235"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "444.791 110.719 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "445.473 310.718 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base2) { + + + new SimGroup(flag_base) { + + + new InteriorInstance() { + position = "445.627 212.645 109.269"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bbase_ccb2a.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "445.627 212.708 118.764"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(Tower_l) { + + + new Item() { + position = "437.775 112.715 140.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "445.791 110.719 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "445.703 122.719 152.56"; + rotation = "0.999995 0.000796415 -0.0029516 30.1952"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "438.033 112.716 146.333"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "453.592 112.721 158.273"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.666 112.724 173.127"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Walls) { + + + new InteriorInstance() { + position = "463.45 164.4 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "494.449 188.647 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "494.446 220.644 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "494.446 229.892 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "470.197 260.892 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "438.198 260.891 114.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "428.953 260.891 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "397.953 236.641 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "397.953 204.642 114.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "397.953 195.401 114.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "422.201 164.401 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "454.201 164.4 114.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(tower_r) { + + + new Item() { + position = "437.466 312.708 140.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "445.461 302.711 152.56"; + rotation = "0.00119603 -0.260468 0.965482 179.492"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "437.728 312.723 146.343"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "453.254 312.728 158.279"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "445.337 312.719 173.128"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "445.473 310.718 127.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "457.951 212.646 101.228"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Neutral) { + + + new InteriorInstance() { + position = "30.596 212.62 15.039"; + rotation = "0 0 1 90"; + scale = "1 1.27 1"; + interiorFile = "t_bmisc_tunl_ccb1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "129.661 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "91.561 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "10.281 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "50.931 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-27.839 208.621 13.2237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "106.063 8.97301 170.272"; + rotation = "0 0 1 237.96"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "21.217 369.285 169.172"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "104.355 7.89803 171.492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "22.1189 369.722 170.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "-154.035 701.115 98.8816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "872.708 653.718 34.5472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "283.128 -467.935 36.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-265.314 -706.895 118.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-784.917 103.399 105.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "141.989 208.854 20.5929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "35.9821 209.314 19.9535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-49.2331 208.9 18.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition2BEPlant1) { + + + new TSStatic() { + position = "220 -476 19.4751"; + rotation = "-0.0619354 -0.469834 -0.880579 46.0111"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 364 84.6469"; + rotation = "0.107857 -0.166852 0.980065 158.428"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 36 60.2876"; + rotation = "-0.0420833 0.139405 -0.989341 109.579"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 28 59.6626"; + rotation = "0.010354 -0.011007 0.999886 187"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -28 87.2096"; + rotation = "0.137937 0.0032154 0.990436 100.542"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 268 21.1157"; + rotation = "-0.212585 0.0588196 -0.975371 43.9836"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 -220 41.1626"; + rotation = "0.0421622 0.108361 0.993217 152.183"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "876 -84 51.0221"; + rotation = "-0.218229 -0.0862698 0.972077 40.0324"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 612 107.225"; + rotation = "0.281003 0.111516 0.953206 78.6786"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -356 15.272"; + rotation = "0.101492 0.243842 -0.96449 37.2353"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 132 109.006"; + rotation = "-0.0822154 0.00890967 0.996575 86.1958"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -4 62.0845"; + rotation = "-0.0504487 0.093975 0.994296 123.274"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 892 58.9283"; + rotation = "0.103194 -0.142236 -0.984439 75.8694"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -540 109.663"; + rotation = "0.0655961 -0.0197932 0.99765 158.05"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 1068 81.022"; + rotation = "0.0117686 -0.045284 0.998905 175.006"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 108 112.569"; + rotation = "0.130642 0.0951836 0.98685 165.195"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 628 38.8657"; + rotation = "0.0679809 -0.116834 -0.990822 71.5005"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 108 6.25638"; + rotation = "-0.770669 -0.0888065 0.631017 15.7871"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -572 170.834"; + rotation = "-0.120277 0.100319 0.987659 149.364"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "636 -212 53.6939"; + rotation = "-0.00151716 0.0027444 0.999995 201"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 924 119.866"; + rotation = "0.0570432 0.0675137 0.996086 91.2246"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 -596 107.1"; + rotation = "-0.191423 -0.531619 0.825069 33.6286"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -428 77.4282"; + rotation = "-0.140459 -0.150112 -0.978641 116.116"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -668 52.4907"; + rotation = "-0.206892 -0.0125599 0.978283 116.135"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 508 130.194"; + rotation = "-0.04678 -0.195645 0.979558 111.108"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -36 37.2095"; + rotation = "-0.412201 -0.150072 0.898648 41.9298"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -628 21.772"; + rotation = "-0.135054 -0.334087 -0.932816 23.5419"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -588 172.584"; + rotation = "-0.186757 -0.0787747 0.979243 239.954"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268 1044 33.1782"; + rotation = "0.260129 -0.0787291 -0.962359 99.1761"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 188 16.022"; + rotation = "0.0742071 0.210448 0.974785 29.7173"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 1084 40.8813"; + rotation = "0.0197627 0.205347 -0.97849 63.1056"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 1020 37.9439"; + rotation = "-0.29285 0.621186 0.726889 29.9427"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 364 82.5377"; + rotation = "-0.0380199 0.0657915 0.997109 139.109"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 1036 67.4751"; + rotation = "-0.00469803 -0.00563678 0.999973 212.999"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -172 48.8345"; + rotation = "-0.0165448 0.0560557 0.998291 151.048"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -596 74.3032"; + rotation = "0.052264 -0.0828748 0.995189 121.237"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 788 107.506"; + rotation = "0.184802 0.0937937 -0.97829 87.2558"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 20 69.1782"; + rotation = "0.294869 0.143488 -0.944703 45.2693"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 1076 38.8657"; + rotation = "-0.0596132 0.113072 0.991797 195.871"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -484 102.256"; + rotation = "-0.0554243 -0.0758691 0.995576 156.103"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant5) { + + + new TSStatic() { + position = "-84 940 41.0626"; + rotation = "0.145161 0.224507 0.9636 47.5479"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 268 167.375"; + rotation = "-0.129944 0.0563715 -0.989918 69.5428"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 916 119.609"; + rotation = "0.00618828 -0.0134854 0.99989 182.999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "251.991 -148.008 16.5135"; + rotation = "-0.22446 0.143075 0.963923 34.1644"; + scale = "0.5 0.5 0.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 644 116.938"; + rotation = "0.0333969 -0.0728298 -0.996785 34.1035"; + scale = "2.7 2.7 2.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84.0365 -116.025 175.767"; + rotation = "0.169144 0.119248 -0.978351 41.8295"; + scale = "2.2 2.2 2.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 148 139.563"; + rotation = "0.0874888 0.0435482 0.995213 164.076"; + scale = "1.9 1.9 1.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 956 40.1563"; + rotation = "-0.0994176 0.024115 0.994754 199.898"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 60 167.25"; + rotation = "-0.023334 -0.00980043 0.99968 113.017"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 1044 36.3282"; + rotation = "-0.0997445 -0.00899458 0.994972 236.758"; + scale = "1.8 1.8 1.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 -332 115.359"; + rotation = "-0.00512002 0.362882 -0.931821 41.6162"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 604 164.156"; + rotation = "0.0307095 0.147618 0.988568 36.3891"; + scale = "2.6 2.6 2.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -180 47.6094"; + rotation = "0.0378594 -0.0507505 0.997994 123.096"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -452 42.3125"; + rotation = "-0.0276217 0.054789 0.998116 61.0945"; + scale = "2.7 2.7 2.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -212 38.9688"; + rotation = "0.209896 -0.0545199 -0.976202 31.7183"; + scale = "2.9 2.9 2.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -452 42.7187"; + rotation = "0.755597 -0.591989 -0.280398 7.124"; + scale = "2.5 2.5 2.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 436 24.0468"; + rotation = "-0.0825084 0.00717972 0.996565 166.048"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 388 59.3594"; + rotation = "0.0137753 0.012002 -0.999833 61.0085"; + scale = "2.1 2.1 2.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 636 116.219"; + rotation = "0.0408396 0.0148944 0.999055 149.028"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -452 88.6094"; + rotation = "0.458021 -0.367773 -0.809296 20.9256"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 628 116.516"; + rotation = "0.037596 0.00311729 0.999288 132.03"; + scale = "0.7 0.7 0.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -316 24.3438"; + rotation = "-0.0978413 -0.0225715 -0.994946 72.2763"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 500 156.188"; + rotation = "-0.170897 -0.00990428 -0.985239 86.8507"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 284 64.5469"; + rotation = "0.0375894 -0.0166852 0.999154 79.0475"; + scale = "2.3 2.3 2.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 532 132.172"; + rotation = "-0.626917 -0.721872 -0.293046 10.2116"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -196 99.9219"; + rotation = "-0.00282076 0.252238 -0.967661 58.5935"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 44 61.9062"; + rotation = "0.0651787 -0.105146 -0.992319 104.429"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -220 62.5782"; + rotation = "-0.112154 -0.0655775 0.991525 45.3459"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -364 14.1875"; + rotation = "-0.0478932 0.0595414 0.997076 70.1575"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 100 172.25"; + rotation = "-0.198685 0.0420952 -0.979159 46.8746"; + scale = "0.9 0.9 0.9"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 972 83.8594"; + rotation = "0.000216615 0.108577 0.994088 217.792"; + scale = "2 2 2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 924 78.1094"; + rotation = "0.0549848 -0.00244251 0.998484 89.0869"; + scale = "0.6 0.6 0.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 1092 39.2344"; + rotation = "-5.13069e-05 0.00588003 -0.999983 89.001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204.091 -67.9863 117.955"; + rotation = "0.100149 -0.11135 0.988722 101.637"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 1004 109.094"; + rotation = "-0.0816891 -0.0509707 -0.995354 109.252"; + scale = "0.8 0.8 0.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 1012 67.9688"; + rotation = "0.0753848 0.129974 0.988647 83.6497"; + scale = "3 3 3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -164 109.5"; + rotation = "0.0104555 0.0408091 -0.999112 74.049"; + scale = "2.8 2.8 2.8"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 852 31"; + rotation = "0.0961827 -0.0278696 0.994973 209.856"; + scale = "2.7 2.7 2.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 1132 14.8594"; + rotation = "-0.0465322 -0.0922325 -0.99465 72.2924"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 1028 109.235"; + rotation = "0.0530417 0.0242213 0.998299 226.929"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree16) { + + + new TSStatic() { + position = "580 380 56.0938"; + rotation = "0 0 1 192"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "860 652 23.6093"; + rotation = "0 0 -1 103"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -660 41.1875"; + rotation = "0 0 -1 49.0002"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 4 26.1593"; + rotation = "0 0 1 139"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -556 51.5156"; + rotation = "0 0 -1 100"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 740 106.75"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "50.4952 -216.25 177.953"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "948 -188 71.5781"; + rotation = "0 0 1 76.9998"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -52 147.969"; + rotation = "0 0 1 17"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "971.289 -47.278 109.375"; + rotation = "0 0 -1 53"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BELgTree19) { + + + new TSStatic() { + position = "-660 620 37.1719"; + rotation = "0 0 1 79"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 964 38.5469"; + rotation = "0 0 -1 41"; + scale = "0.5 0.5 0.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "828 -420 48.4688"; + rotation = "0 0 1 60.0001"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -652 35.4687"; + rotation = "0 0 1 33"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 388 58.3281"; + rotation = "0 0 -1 28.0002"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -220 30.7812"; + rotation = "0 0 1 148"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 52 58.875"; + rotation = "0 0 1 119"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -284 65.8125"; + rotation = "0 0 1 170"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 636 47.7031"; + rotation = "0 0 -1 34.0002"; + scale = "0.5 0.5 0.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "125.922 737.579 175.352"; + rotation = "0 0 1 85.9998"; + scale = "0.5 0.5 0.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6BELgTree18) { + + + new TSStatic() { + position = "-140 660 73.8281"; + rotation = "0 0 1 187"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 -300 22.2031"; + rotation = "0 0 1 197"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 116 88.8282"; + rotation = "0 0 1 198"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -484 10.75"; + rotation = "0 0 1 32"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -692 109.578"; + rotation = "0 0 1 178"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 940 91.6719"; + rotation = "0 0 1 200"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-634.719 -588.854 26.8091"; + rotation = "0 0 1 213"; + scale = "2.6 2.6 2.6"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "523.281 -65.1077 100.148"; + rotation = "0 0 -1 32"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WhiteDwarf.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WhiteDwarf.mis new file mode 100644 index 00000000..0a8eae6c --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WhiteDwarf.mis @@ -0,0 +1,1997 @@ +// DisplayName = TWL-White Dwarf +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Make it new. +// -- Ezra Pound +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Rilke (assisted: z0dd, Peachskin) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-952 -760 1904 1520"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.350000 0.650000 0.350000 1.000000"; + ambient = "0.350000 0.550000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "WhiteDwarf.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + YDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "WhiteDwarf.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new WaterBlock(Water) { + position = "-1024 -1024 28"; + rotation = "1 0 0 0"; + scale = "2048 2048 68.8133"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.6"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "0"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-46.2546 -195.958 122.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-352.093 -254.12 148.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new ForceFieldBare() { + position = "-346.392 -226.142 149.636"; + rotation = "1 0 0 0"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "33"; + team = "1"; + }; + new ForceFieldBare() { + position = "-357.407 -225.76 149.901"; + rotation = "1 0 0 0"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "34"; + team = "1"; + }; + new Item() { + position = "-350.78 -262.203 144.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-351.552 -197.895 150.549"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + Target = "35"; + team = "1"; + WayPoint = "4728"; + isHome = "1"; + originalPosition = "-351.552 -197.895 150.549 0 0 -1 0.0200017"; + }; + new StaticShape() { + position = "-338.4 -223.726 150.043"; + rotation = "0 0 1 0.176939"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "36"; + team = "1"; + }; + new InteriorInstance() { + position = "-357.542 -191.401 154.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-364.653 -223.089 150.08"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "37"; + team = "1"; + }; + new StaticShape() { + position = "-18.5101 -167.877 113.638"; + rotation = "0 0 1 60.7336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "38"; + Trigger = "4538"; + team = "1"; + }; + new StaticShape() { + position = "-37.6927 -147.328 113.635"; + rotation = "0 0 -1 29.221"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "39"; + Trigger = "4540"; + team = "1"; + }; + new Item() { + position = "-24.7431 -171.267 120.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new WayPoint() { + position = "-24.7045 -171.459 112.787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-24.6141 -171.345 133.11"; + rotation = "0 0 -1 28.0751"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "40"; + team = "1"; + }; + new StaticShape() { + position = "-351.57 -223.488 179.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "41"; + team = "1"; + }; + new StaticShape() { + position = "-312.138 -223.433 142.031"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "42"; + Trigger = "4546"; + team = "1"; + }; + new StaticShape() { + position = "-390.798 -223.466 142.033"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "43"; + Trigger = "4548"; + team = "1"; + }; + new StaticShape() { + position = "-360.135 -214.826 142.527"; + rotation = "0 0 -1 44.1177"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "44"; + Trigger = "4550"; + team = "1"; + }; + new StaticShape() { + position = "-342.948 -214.84 142.527"; + rotation = "0 0 1 43.5447"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "45"; + Trigger = "4552"; + team = "1"; + }; + new TSStatic() { + position = "-350.751 -262.114 141.998"; + rotation = "0 0 -1 31.5127"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-5.40675 -179.138 112.127"; + rotation = "0 0 1 50.9933"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "-18.9144 -195.446 125.649"; + rotation = "0 0 -1 28.6479"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-369.167 -110.043 97.4899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret() { + position = "-358.943 -93.5804 99.2295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + Target = "46"; + team = "1"; + }; + new Turret() { + position = "-46.2681 -101.174 129.611"; + rotation = "0 0 1 205.874"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "47"; + team = "1"; + }; + new InteriorInstance() { + position = "-29.893 -91.0596 127.871"; + rotation = "0 0 1 205.874"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-10.9054 -195.627 115.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-135.117 424.33 165.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "164.786 494.481 146.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new ForceFieldBare() { + position = "159.572 466.972 145.793"; + rotation = "0 0 1 179.909"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "48"; + team = "2"; + }; + new ForceFieldBare() { + position = "170.587 466.607 146.058"; + rotation = "0 0 1 179.909"; + scale = "0.739188 4.98072 6.72779"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "49"; + team = "2"; + }; + new StaticShape() { + position = "-162.11 403.852 154.895"; + rotation = "0 0 1 148.969"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "50"; + team = "2"; + }; + new InteriorInstance() { + position = "191.289 357.107 97.5989"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "-162.029 403.715 142.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "181.029 340.791 99.3385"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + Target = "51"; + team = "2"; + }; + new StaticShape() { + position = "-155.94 407.257 135.406"; + rotation = "0 0 1 60.7336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "52"; + Trigger = "4576"; + team = "2"; + }; + new InteriorInstance() { + position = "-155.506 379.743 147.424"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "165.068 503.742 139.276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "164.776 438.735 146.717"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + Target = "53"; + team = "2"; + WayPoint = "4729"; + isHome = "1"; + originalPosition = "164.776 438.735 146.717 0 0 1 3.12"; + }; + new StaticShape() { + position = "164.704 464.342 175.18"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "54"; + team = "2"; + }; + new TSStatic() { + position = "165.288 503.693 138.186"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + team = "2"; + }; + new WayPoint() { + position = "-161.952 403.719 134.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + + locked = "true"; + }; + new StaticShape() { + position = "156.084 455.684 138.683"; + rotation = "0 0 1 223.453"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "55"; + Trigger = "4585"; + team = "2"; + }; + new InteriorInstance() { + position = "170.777 432.249 150.201"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "173.362 455.686 138.686"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "56"; + Trigger = "4588"; + team = "2"; + }; + new StaticShape() { + position = "151.599 464.543 146.2"; + rotation = "0 0 1 180.086"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "57"; + team = "2"; + }; + new StaticShape() { + position = "204.014 464.297 138.19"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "58"; + Trigger = "4591"; + team = "2"; + }; + new StaticShape() { + position = "177.85 463.939 146.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "59"; + team = "2"; + }; + new StaticShape() { + position = "125.295 464.187 138.188"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "60"; + Trigger = "4594"; + team = "2"; + }; + new Turret() { + position = "-161.273 337.47 138.016"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + Target = "61"; + team = "2"; + }; + new InteriorInstance() { + position = "-175.53 324.438 136.277"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-148.26 380.073 135.4"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Target = "62"; + Trigger = "4598"; + team = "2"; + }; + new TSStatic() { + position = "-175.68 427.741 135.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "-180.516 410.658 134.789"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-180.843 410.73 132.725"; + rotation = "0 0 1 1.71824"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + team = "2"; + }; + new Item() { + position = "-175.66 427.717 137.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(flag1) { + position = "-395.316 -210.379 171.587"; + rotation = "0.205498 -0.131718 0.969753 66.9263"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(gens1) { + position = "-338.443 -221.974 153.458"; + rotation = "-0.0708538 -0.163486 0.983998 226.192"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(bunker1) { + position = "-25.2322 -179.371 120.355"; + rotation = "1 0 0 12.6051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(flag2) { + position = "99.9098 421.762 158.977"; + rotation = "0.0621169 -0.0647442 0.995967 92.6042"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(gens2) { + position = "151.442 463.048 148.102"; + rotation = "-0.0112378 0.00517737 0.999923 49.4753"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(bunker2) { + position = "-169.891 407.564 142.421"; + rotation = "0.0560294 -0.119403 0.991264 130.109"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-89.9105 116.362 96.0316"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.090000 0.220000 0.090000 1.000000"; + fogDistance = "400"; + fogColor = "0.090000 0.220000 0.090000 1.000000"; + fogVolume1 = "50 0 101"; + fogVolume2 = "750 101 225"; + fogVolume3 = "0 0 0"; + materialList = "muddy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -57501876.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -51974240.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000020"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 1.97348e-39"; + high_fogVolume2 = "-1 -2.87572e+38 -0.0730211"; + high_fogVolume3 = "-1 -0.000779272 -3.60032e-33"; + + locked = "true"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(audio) { + + powerCount = "0"; + + new AudioEmitter() { + position = "184.87 312.715 96.9171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "73.2824 355.595 95.4617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "63.776 120.7 100.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-84.2244 8.51138 98.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-157.921 -118.817 99.9795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-353.843 -66.377 99.5347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-261.771 181.643 98.5864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-104.109 253.302 96.3326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-234.45 189.109 94.4138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-253.81 -95.9385 97.5166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "232.405 251.588 116.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-10.9143 -195.684 113.608"; + rotation = "0 0 -1 55.0039"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-14.77 -194.934 113.594"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-5.38134 -179.015 111.013"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-9.48984 -176.501 110.588"; + rotation = "0 0 1 61.8794"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition13SWTree22) { + + powerCount = "0"; + + new TSStatic() { + position = "212 708 112.562"; + rotation = "0 0 1 219"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -572 126.672"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 796 112.422"; + rotation = "0 0 1 219"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -492 141.969"; + rotation = "0 0 -1 5.99979"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -548 176.719"; + rotation = "0 0 -1 14"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -220 124.891"; + rotation = "0 0 -1 100"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 140 139.531"; + rotation = "0 0 -1 71.0004"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -92 115.984"; + rotation = "0 0 -1 72.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -516 159.219"; + rotation = "0 0 -1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 116 149.891"; + rotation = "0 0 -1 115"; + scale = "0.6 0.6 0.6"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 164 147.328"; + rotation = "0 0 1 212"; + scale = "0.6 0.6 0.6"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 188 142.578"; + rotation = "0 0 1 66.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 -4 139.125"; + rotation = "0 0 -1 19.0001"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -532 143.734"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 428 117.922"; + rotation = "0 0 1 152"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 -452 130.875"; + rotation = "0 0 1 161"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 812 137.469"; + rotation = "0 0 1 70"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -340 139.891"; + rotation = "0 0 1 212"; + scale = "0.5 0.5 0.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 244 170.516"; + rotation = "0 0 -1 111"; + scale = "1.5 1.5 1.5"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292 540 129.078"; + rotation = "0 0 1 91.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 564 162.984"; + rotation = "0 0 1 154"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 212 145.203"; + rotation = "0 0 1 26"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 420 114.047"; + rotation = "0 0 -1 116"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -332 144.156"; + rotation = "0 0 1 137"; + scale = "0.7 0.7 0.7"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 812 136.703"; + rotation = "0 0 1 48"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 748 106.797"; + rotation = "0 0 -1 16.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -244 122.5"; + rotation = "0 0 -1 68.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 812 98.6093"; + rotation = "0 0 1 236"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 364 127.672"; + rotation = "0 0 -1 14"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition14DSPlant16) { + + powerCount = "0"; + + new TSStatic() { + position = "436 -212 129.016"; + rotation = "0 0 1 187"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 860 133.016"; + rotation = "0 0 -1 22.9999"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 292 142.609"; + rotation = "0 0 1 48"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-348 92 117.641"; + rotation = "0 0 1 70.9998"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 932 135.578"; + rotation = "0 0 -1 64.0005"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 756 97.422"; + rotation = "0 0 1 2.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 -668 116.781"; + rotation = "0 0 1 60.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "548 -308 108.484"; + rotation = "0 0 -1 86.0004"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -316 112.172"; + rotation = "0 0 1 103"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -188 141.016"; + rotation = "0 0 -1 69.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -588 144.094"; + rotation = "0 0 1 112"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -108 116.344"; + rotation = "0 0 1 181"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 196 136.156"; + rotation = "0 0 1 200"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 716 104.156"; + rotation = "0 0 -1 53"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276 -20 143.672"; + rotation = "0 0 -1 32"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 -436 114.891"; + rotation = "0 0 -1 70.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 268 124.984"; + rotation = "0 0 -1 38"; + scale = "1.7 1.7 1.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -476 125.484"; + rotation = "0 0 1 2.99997"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 164 143.141"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 108 102.422"; + rotation = "0 0 1 198"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-940 156 131.203"; + rotation = "0 0 -1 22.9999"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -52 132.016"; + rotation = "0 0 1 145"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -196 131.234"; + rotation = "0 0 -1 53.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 556 133.25"; + rotation = "0 0 1 174"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "252 -156 141.094"; + rotation = "0 0 1 224"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -492 114.078"; + rotation = "0 0 -1 86.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -116 94.5156"; + rotation = "0 0 1 220"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44.2101 2.90749 103.216"; + rotation = "0 0 1 113"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition15DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "412 756 128.812"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -52 82.3906"; + rotation = "0 0 -1 78.0002"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 876 108.156"; + rotation = "0 0 1 232"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28 940 156.313"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -388 142.359"; + rotation = "0 0 1 106"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-844 692 124.359"; + rotation = "0 0 -1 116"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 12 114.078"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-294.065 806.472 99.4218"; + rotation = "0 0 1 184"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -588 123.5"; + rotation = "0 0 1 202"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 596 171.438"; + rotation = "0 0 -1 4.99997"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 60 140.125"; + rotation = "0 0 1 178"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 716 113.453"; + rotation = "0 0 1 156"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -548 139.516"; + rotation = "0 0 1 149"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 316 112.094"; + rotation = "0 0 1 141"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 132 130.906"; + rotation = "0 0 1 84.0002"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164 -380 133.422"; + rotation = "0 0 1 179"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 764 104.109"; + rotation = "0 0 -1 118"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 132 113.297"; + rotation = "0 0 1 124"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 708 148.703"; + rotation = "0 0 1 151"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 268 163.344"; + rotation = "0 0 1 124"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 892 86.8282"; + rotation = "0 0 -1 17.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 812 118.991"; + rotation = "0 0 1 170"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 396 153.906"; + rotation = "0 0 1 235"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "724 796 114.516"; + rotation = "0 0 1 221"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -476 115.938"; + rotation = "0 0 1 203"; + scale = "0.6 0.6 0.6"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 796 156.719"; + rotation = "0 0 1 197"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 628 131.812"; + rotation = "0 0 -1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -388 107.922"; + rotation = "0 0 1 222"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -100 123.375"; + rotation = "0 0 -1 53.9998"; + scale = "0.5 0.5 0.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 -228 118.141"; + rotation = "0 0 1 47"; + scale = "1.8 1.8 1.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-196.836 360.964 123.57"; + rotation = "0 0 1 70"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "281.833 354.807 155.642"; + rotation = "0 0 1 132"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-67.9388 -159.785 110.101"; + rotation = "0 0 1 104"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-271.394 -137.416 114.577"; + rotation = "0 0 -1 59.0003"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-665.332 438.397 120.19"; + rotation = "0 0 1 23"; + scale = "1.9 1.9 1.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WilderZone.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WilderZone.mis new file mode 100644 index 00000000..350f2c28 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WilderZone.mis @@ -0,0 +1,1764 @@ +// DisplayName = TWL-WilderZone +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//There's one simple rule in war: Win and live, or lose and die. +//If the other tribes are too weak, we'll carve the blood eagle +//on their sorry carcasses and carry the remains as banners into battle. +// -- Brakus D'Vehne - Blood Eagle Talon Prime +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by =Sabre= +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "30"; + powerCount = "0"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-520 -520 1040 1040"; + flightCeiling = "250"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-18.9674 -29.8405 243.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.600000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-712 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.320000 0.460000 0.500000 0.000000"; + fogDistance = "320"; + fogColor = "0.300000 0.450000 0.450000 1.000000"; + fogVolume1 = "300 0 80"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 nan 0"; + high_fogVolume2 = "-1 0 nan"; + high_fogVolume3 = "-1 nan 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new WaterBlock() { + position = "-1024 -1024 42.4"; + rotation = "1 0 0 0"; + scale = "2048 2048 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.3"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL-WilderZone.ter"; + squareSize = "8"; + + visibleDistance = "600"; + hazeDistance = "500"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "WilderZone.nav"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera) { + position = "-24.1356 -8.39128 108.8"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera(Camera) { + position = "167.008 -502.707 185.289"; + rotation = "0.512648 0.166115 -0.842376 42.08"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera(Camera) { + position = "65.8163 463.576 174.192"; + rotation = "-0.102121 -0.245956 0.963886 223.623"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(MainBase1) { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "-210.802 377.479 110.095"; + rotation = "-0 0 -1 44.9087"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item(Team1FLAG1) { + position = "-39.3839 333.499 83.1473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + isHome = "1"; + WayPoint = "4457"; + team = "1"; + Trigger = "4458"; + originalPosition = "-39.3839 333.499 83.1473 1 0 0 0"; + Target = "33"; + }; + new InteriorInstance() { + position = "-42.7503 340.269 90.2779"; + rotation = "0 0 1 45.2637"; + scale = "0.6 0.6 0.6"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-186.008 247.985 123.209"; + rotation = "0 0 -1 0.172458"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "8329"; + locked = "true"; + team = "1"; + lastDamagedByTeam = "1"; + damageTimeMS = "287863"; + Target = "34"; + }; + new InteriorInstance() { + position = "-186.03 248.188 113.224"; + rotation = "1 0 0 0"; + scale = "1 1.54761 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-214.126 380.795 118.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Turret(Team1SentryTurret1) { + position = "-206.582 373.247 123.179"; + rotation = "0 0 1 225.091"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + wasDisabled = "1"; + lastDamagedBy = "4266"; + locked = "true"; + team = "1"; + lastDamagedByTeam = "2"; + lastprojectile = "6537"; + damageTimeMS = "235095"; + Target = "35"; + }; + new StaticShape(Team1StationInventory4) { + position = "-223.855 374.693 117.079"; + rotation = "0 0 1 4.67532"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4292"; + team = "1"; + notReady = "1"; + Target = "36"; + }; + new StaticShape(Team1StationInventory3) { + position = "-207.931 390.479 117.075"; + rotation = "0 0 -1 94.4925"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4294"; + team = "1"; + notReady = "1"; + Target = "37"; + }; + new StaticShape(Team1StationInventory2) { + position = "-220.232 368.019 110.079"; + rotation = "0 0 1 45.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4296"; + team = "1"; + notReady = "1"; + Target = "38"; + }; + new StaticShape(Team1StationInventory1) { + position = "-201.314 386.88 110.079"; + rotation = "0 0 1 225.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4298"; + team = "1"; + notReady = "1"; + Target = "39"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-201.603 368.268 124.081"; + rotation = "0 0 1 135.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + team = "1"; + lastprojectile = "6524"; + Target = "40"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "-214.057 380.699 110.102"; + rotation = "0 0 1 135.091"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + wasDisabled = "1"; + lastDamagedBy = "4266"; + locked = "true"; + team = "1"; + lastDamagedByTeam = "2"; + damageTimeMS = "247516"; + Target = "41"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "54.995 356.131 116.067"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + team = "1"; + Target = "42"; + }; + new WayPoint() { + position = "-201.602 368.224 108.465"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + + locked = "true"; + }; + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-200.034 367.595 112.733"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "75"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "55.1137 334.814 96.0624"; + rotation = "-0.101018 0.316963 0.943043 3.61983"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "25"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + }; + }; + new SimGroup(BaseTower1) { + + powerCount = "2"; + providesPower = "1"; + + new Item() { + position = "54.9123 352.431 88.3055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new StaticShape(Team1StationInventory5) { + position = "59.8253 355.487 101.107"; + rotation = "0 0 1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4309"; + team = "1"; + notReady = "1"; + Target = "43"; + }; + new InteriorInstance() { + position = "54.9178 357.701 81.3585"; + rotation = "0 0 1 180.091"; + scale = "1.1 1.1 1.2"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new WayPoint() { + position = "55.019 355.578 76.8928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(MainBase1) { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "164.942 -422.987 109.88"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new Item(Team2FLAG1) { + position = "-2.11605 -369.739 82.1264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + isHome = "1"; + WayPoint = "4459"; + team = "2"; + Trigger = "4460"; + originalPosition = "-2.11605 -369.739 82.1264 1 0 0 0"; + Target = "44"; + }; + new InteriorInstance() { + position = "-5.54994 -363.003 89.257"; + rotation = "0 0 1 44.6907"; + scale = "0.6 0.6 0.6"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "168.202 -426.201 109.887"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + nameTag = "Base"; + + wasDisabled = "1"; + lastDamagedBy = "4266"; + locked = "true"; + team = "2"; + lastDamagedByTeam = "1"; + damageTimeMS = "103959"; + Target = "45"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "155.728 -413.79 123.866"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + team = "2"; + lastprojectile = "8243"; + Target = "46"; + }; + new Turret() { + position = "-101.418 -394.123 116.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + team = "2"; + lastprojectile = "8244"; + Target = "47"; + }; + new InteriorInstance() { + position = "145.883 -288.045 112.937"; + rotation = "1 0 0 0"; + scale = "1 1.54761 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "145.926 -288.084 122.912"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "48"; + }; + new StaticShape(Team2StationInventory1) { + position = "155.469 -432.403 109.864"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "4324"; + team = "2"; + Target = "49"; + }; + new StaticShape(Team2StationInventory2) { + position = "174.364 -413.524 109.864"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4326"; + team = "2"; + notReady = "1"; + Target = "50"; + }; + new StaticShape(Team2StationInventory3) { + position = "162.092 -435.991 116.86"; + rotation = "0 0 1 85.4163"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4328"; + team = "2"; + notReady = "1"; + Target = "51"; + }; + new StaticShape(Team2StationInventory4) { + position = "177.991 -420.18 116.864"; + rotation = "0 0 1 184.584"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4330"; + team = "2"; + notReady = "1"; + Target = "52"; + }; + new Turret(Team2SentryTurret1) { + position = "160.716 -418.762 122.964"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + lastprojectile = "6729"; + Target = "53"; + }; + new Item() { + position = "168.271 -426.297 118.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new WayPoint() { + position = "155.725 -413.792 108.16"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + + locked = "true"; + }; + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "154.643 -413.083 112.668"; + rotation = "0 0 -1 44.1178"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "75"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-100.225 -372.341 96.8297"; + rotation = "-0.101018 0.316963 0.943043 3.61983"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "25"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + }; + }; + new SimGroup(BaseTower1) { + + powerCount = "2"; + providesPower = "1"; + + new Item() { + position = "-101.341 -390.423 88.6064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape(Team2StationInventory5) { + position = "-106.249 -393.486 101.408"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "true"; + Trigger = "4340"; + team = "2"; + notReady = "1"; + Target = "54"; + }; + new InteriorInstance() { + position = "-101.338 -395.693 81.6594"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.2"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new WayPoint() { + position = "-101.464 -393.464 77.2285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "2"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambience) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-32.6546 251.471 65.2661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-6.71826 -281.039 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-260.521 93.6874 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "231.813 -121.396 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree18) { + + powerCount = "0"; + + new TSStatic() { + position = "-105.916 639.629 74.625"; + rotation = "0 0 1 9.00004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "64.5637 534.214 95.4281"; + rotation = "0 0 1 97.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 -484 96.7125"; + rotation = "0 0 1 220"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-331.412 398.488 93.313"; + rotation = "0 0 1 51"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 -660 112.469"; + rotation = "0 0 1 60.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 236 130.403"; + rotation = "0 0 1 204"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2.69682 10.4494 72.6218"; + rotation = "0 0 -1 10.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 372 142.047"; + rotation = "0 0 1 18"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596 -668 74.9688"; + rotation = "0 0 1 137"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -164 75.5344"; + rotation = "0 0 1 106"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "364 -12 73.2719"; + rotation = "0 0 -1 95.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "300 684 105.081"; + rotation = "0 0 1 237"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68.365 -675.201 75.1"; + rotation = "0 0 1 61.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-337.425 -290.531 116.903"; + rotation = "0 0 -1 29"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-350.01 623.98 142.066"; + rotation = "0 0 -1 1.00014"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -380 142.163"; + rotation = "0 0 1 51"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "312.203 -326.729 100.909"; + rotation = "0 0 -1 1.00014"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition1BELgTree16) { + + powerCount = "0"; + + new TSStatic() { + position = "-737.051 -432.156 93.1562"; + rotation = "0 0 1 116"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 404 107.391"; + rotation = "0 0 1 57"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -204 111.975"; + rotation = "0 0 -1 93.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "732 20 68.3281"; + rotation = "0 0 -1 16.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree19) { + + powerCount = "0"; + + new TSStatic() { + position = "383.962 135.237 65.7188"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-376.134 -69.0148 88.7562"; + rotation = "0 0 1 109"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-145.965 -293.582 108.756"; + rotation = "0 0 -1 73.0006"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676.904 30.8688 82.5187"; + rotation = "0 0 -1 97"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-510.655 125.678 102.303"; + rotation = "0 0 1 152.886"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-432.92 -466.433 94.0343"; + rotation = "0 0 1 76"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-263.375 -8.23787 77.7031"; + rotation = "0 0 1 141"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372.967 -175.367 75.1781"; + rotation = "0 0 1 157"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-88.4563 441.094 98.3343"; + rotation = "0 0 1 64.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "349.612 -229.385 98.5375"; + rotation = "0 0 -1 92.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-370.229 161.236 90.1594"; + rotation = "0 0 1 162"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.9312 -508.064 67.1594"; + rotation = "0 0 -1 78.8545"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-335.05 298.062 106.778"; + rotation = "0 0 1 48"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-634.948 -175.768 70.2594"; + rotation = "0 0 1 15"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.887 -432.89 92.4"; + rotation = "0 0 -1 104"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-117.117 -111.727 118.841"; + rotation = "0 0 1 58.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60.9 300.408 89.5594"; + rotation = "0 0 1 78.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 -28 72.65"; + rotation = "0 0 1 152"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "153.345 46.8084 102.644"; + rotation = "0 0 1 138"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.794 206.764 104.569"; + rotation = "0 0 -1 16.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant20) { + + powerCount = "0"; + + new TSStatic() { + position = "-116.306 115.412 65.7459"; + rotation = "-0.299321 -0.129743 -0.94529 67.5364"; + scale = "3.2 3.2 3.2"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.569 -171.095 64.1502"; + rotation = "-0.145979 0.27162 0.951269 137.896"; + scale = "3.9 3.9 3.9"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "334.95 103.808 71.3347"; + rotation = "-0.025969 -0.000139477 0.999663 202.007"; + scale = "3.3 3.3 3.3"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-374.327 -129.056 70.0866"; + rotation = "-0.00453787 -0.0157979 0.999865 121.733"; + scale = "3.1 3.3 3.1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-27.9248 -2.38792 70.9867"; + rotation = "-0.113638 -0.0144307 -0.993417 63.6046"; + scale = "3.3 3.3 3.6018"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-192.285 -255.248 89.6826"; + rotation = "0.0705831 -0.0189649 0.997326 49.1676"; + scale = "3.2 3.10729 3.2"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-11.4664 45.885 66.9384"; + rotation = "-0.16376 0.986286 -0.0205774 20.9102"; + scale = "3.2 3.2 3.27382"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100.799 -114.161 64.0639"; + rotation = "-0.0191189 0.159482 0.987016 223.856"; + scale = "3.9 3.9 3.65222"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164.26 -32.2814 69.4702"; + rotation = "-0.133048 0.150484 -0.979619 88.0753"; + scale = "3.1 3.1 3.1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-419.909 -88.6371 78.2616"; + rotation = "-0.00232894 -0.569276 0.822143 12.1347"; + scale = "3.1 3.1 3.1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-368.439 -233.015 94.8636"; + rotation = "-0.0754509 0.0455333 0.996109 227.926"; + scale = "3.9 3.9 3.9"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "176.204 393.491 92.5529"; + rotation = "-0.0100743 0.0108486 0.99989 188.973"; + scale = "3 3 3"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-293.429 15.5632 71.4581"; + rotation = "-0.132847 0.0539384 -0.989668 37.4812"; + scale = "3.3 3.3 3.3"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "246.364 -18.0168 70.554"; + rotation = "0.0497473 0.0253328 0.998441 178.744"; + scale = "3.1 3.1 3.22674"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "133.233 161.792 95.6806"; + rotation = "0.0749194 0.0166093 0.997051 155.071"; + scale = "3.2 3.2 3.2"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-154.961 -19.1637 69.7687"; + rotation = "0 0 1 228"; + scale = "3.8 3.8 3.8"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164.627 -200.351 97.2041"; + rotation = "-0.0249782 0.0392076 -0.998919 65.0566"; + scale = "3.2 3.2 3.2"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "354.187 286.595 108.644"; + rotation = "0.0254677 -0.0399764 0.998876 115.058"; + scale = "3.9 3.9 3.9"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "91.2507 147.794 92.2612"; + rotation = "0.198062 0.7947 0.57378 31.7327"; + scale = "3 3.0201 3.06565"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92.9832 6.73844 66.9602"; + rotation = "0.0816256 0.343939 0.935437 207.959"; + scale = "3.3 3.3 3.3"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "104.264 -472.121 103.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "168.63 -392.497 108.075"; + rotation = "0 0 -1 59.5876"; + scale = "2 2 2"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new Item() { + position = "169.05 -391.738 110.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "168.225 -393.162 110.144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-214.545 347.777 110.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-215.4 346.372 110.361"; + rotation = "0 0 1 181.237"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new TSStatic() { + position = "-214.964 347.121 108.311"; + rotation = "0 0 1 121.65"; + scale = "2 2 2"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.753 381.818 108.351"; + rotation = "-0 0 -1 30.9398"; + scale = "2 2 2"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new Item() { + position = "135.418 -426.721 110.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "3"; + Target = "-1"; + }; + new Item() { + position = "-180.031 382.237 110.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "25"; + Target = "-1"; + }; + new Item() { + position = "133.95 -427.589 110.287"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + Target = "-1"; + }; + new TSStatic() { + position = "134.68 -427.183 108.182"; + rotation = "0 0 1 150.115"; + scale = "2 2 2"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new Item() { + position = "-181.483 381.331 110.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "3"; + Target = "-1"; + }; + new TSStatic() { + position = "-183.341 397.658 117.195"; + rotation = "1 0 0 0"; + scale = "3 3 3.31387"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.891 350.064 117.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196.273 373.826 110.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-215.092 391.543 110.077"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.178 392.402 110.064"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-215.035 392.464 111.063"; + rotation = "-0 0 -1 44.6907"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.177 391.549 111.076"; + rotation = "-0 0 -1 44.6907"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-206.501 362.803 110.103"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-207.539 362.827 110.098"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-206.91 363.81 110.11"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-229.092 364.453 110.054"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "49.9197 355.46 79.0006"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "183.098 -411.473 109.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "137.889 -443.117 116.878"; + rotation = "1 0 0 0"; + scale = "3 3 3.31387"; + shapeName = "stackable1s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "186.008 -394.601 117.898"; + rotation = "-0 0 -1 81.9329"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "184.771 -394.392 117.885"; + rotation = "-0 0 -1 81.9329"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "185.491 -393.923 116.886"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "185.283 -395.16 116.899"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "168.267 -436.927 109.868"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "161.528 -408.624 109.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "150.571 -418.721 109.889"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "149.942 -419.704 109.877"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "150.98 -419.728 109.882"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-96.5748 -393.528 79.2997"; + rotation = "0 0 1 89.9544"; + scale = "0.7 0.7 0.7"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WoodyMyrk.mis b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WoodyMyrk.mis new file mode 100644 index 00000000..593811b7 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/missions/TWL_WoodyMyrk.mis @@ -0,0 +1,1619 @@ +// DisplayName = TWL-WoodyMyrk +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Be brave and dare with a holy boldness. +// -- Teresa of Avila +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by: Juno, Unamed, z0dd +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-800 -600 1024 1024"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "680 824 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.150000 0.150000 0.150000 1.000000"; + fogDistance = "210"; + fogColor = "0.150000 0.150000 0.150000 1.000000"; + fogVolume1 = "185 0 150"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "3 5 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 4.518e-38 0"; + high_fogVolume2 = "-1 0 4.3662e-38"; + high_fogVolume3 = "-1 0 4.2834e-38"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "680 824 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "TWL-WoodyMyrk.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + GraphFile = "WoodyMyrk_x2.nav"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new WaterBlock(Water) { + position = "-688 -208 0"; + rotation = "1 0 0 0"; + scale = "800 160 67"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-309.617 -141.533 149.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.300000 0.300000 0.200000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "2.25"; + maxVelocity = "5"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Lightning(Lightning) { + position = "-332.051 -141.241 66.2895"; + rotation = "1 0 0 0"; + scale = "1024 1024 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "3"; + strikeWidth = "1"; + chanceToHitTarget = "0.5"; + strikeRadius = "10"; + boltStartRadius = "10"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-483.044 -380.987 88.999"; + rotation = "0 0 -1 51.5661"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-422.155 -313.251 85.3477"; + rotation = "0 0 1 42.9719"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "70"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new StaticShape() { + position = "-436.231 -325.757 91.6827"; + rotation = "0 0 1 136"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-477.136 -380.264 134.783"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "-439.226 -315.499 88.929"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-593.909 -342.731 111.798"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-202.234 -326.749 146.597"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-477.126 -380.242 134.017"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-440.506 -321.731 82.9551"; + rotation = "0 0 1 182.174"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-593.386 -342.242 121.766"; + rotation = "0 0 1 232.23"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-514.659 -328.388 104.116"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-440.051 -326.759 110.561"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-515.239 -328.719 114.118"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-202.124 -327.144 136.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-434.956 -327.154 82.9391"; + rotation = "0 0 -1 99.1019"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-430.845 -317.703 91.7159"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-441.199 -313.63 89.9584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-93.619 186.685 76.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "30"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-163.034 121.237 86.2475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "70"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new SimGroup(insidepowergroup) { + + + new StaticShape() { + position = "-154.416 136.245 91.1694"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-161.812 136.422 88.451"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-159.592 128.065 91.242"; + rotation = "0 0 1 224"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-149.976 132.334 82.463"; + rotation = "0 0 1 4.32024"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-155.431 137.587 82.459"; + rotation = "0 0 1 83.9612"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-67.1329 -3.10198 126.413"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-398.626 156.399 90.3591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-67.4581 -2.96176 136.39"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-104.09 184.897 128.523"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-89.7617 115.014 106.55"; + rotation = "0 0 1 60.1605"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-150.503 137.135 109.829"; + rotation = "0 0 1 224"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-89.2648 115.592 116.541"; + rotation = "0 0 -1 119.839"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-398.583 156.143 100.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-149.297 124.044 89.637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new Item() { + position = "-104.072 184.886 129.289"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + }; + new SimGroup(team0) { + + + new Item() { + position = "-287.29 -126.176 149.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-282.407 -126.364 149.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-287.095 -131.257 149.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-291.957 -126.449 149.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-287.187 -121.453 149.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioWater) { + + + new AudioEmitter() { + position = "-505.098 -144.393 75.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-443.713 -140.62 75.3064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-356.271 -140.956 74.3973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-269.508 -127.461 79.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-181.594 -114.427 79.3438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-96.0414 -118.626 82.6969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-41.5698 -136.325 76.8384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "39.9091 -142.126 76.7012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(C6) { + position = "-122.986 220.599 151.001"; + rotation = "-0.00416993 -0.137015 0.99056 183.454"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(C6) { + position = "-522.774 -356.606 160.252"; + rotation = "0.242169 -0.244624 0.93889 94.1872"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + + new TSStatic() { + position = "-478.404 182.929 105.464"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-355.715 220.98 84.9762"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.516 191.294 114.271"; + rotation = "0 0 1 236.814"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-574.826 -236.289 69.224"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-446.094 -92.3373 69.2482"; + rotation = "0 0 1 46.9825"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-65.686 -29.5787 123.276"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-50.054 143.355 103.043"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.5302 40.3737 105.209"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-419.175 -498.872 95.5692"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-359.993 -432.616 93.6737"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.0107 33.1761 83.686"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-229.935 -206.093 76.9745"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.241 -422.23 111.063"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-491.153 130.239 76.7565"; + rotation = "0 0 -1 28.0749"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-326.795 12.2121 74.4145"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-469.064 28.7926 75.5744"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-272.454 166.878 104.361"; + rotation = "0 0 1 201.864"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-289.844 120.453 74.7944"; + rotation = "0 0 1 85.3707"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-552.715 -378.275 115.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548.984 4.5035 106.197"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-407.067 -164.187 69.0597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-467.016 -438.246 113.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-657.594 32.0365 118.283"; + rotation = "0 0 -1 116.883"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-46.7129 -279.078 72.5772"; + rotation = "0 0 -1 28.6479"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-469.683 -202.709 73.1412"; + rotation = "0 0 1 97.9758"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-558.821 -488.136 130.284"; + rotation = "1 0 0 0"; + scale = "1 1 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-333.431 150.851 75.1151"; + rotation = "0 0 1 6.8755"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524.991 -395.29 112.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-654.719 -82.4381 97.7275"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276.551 77.2367 76.4214"; + rotation = "0 0 1 5.72956"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-279.617 -283.113 81.228"; + rotation = "0 0 -1 81.36"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-658.983 -186.558 68.0028"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-360.938 -78.2364 69.3066"; + rotation = "0 0 1 2.29172"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-631.874 249.846 101.495"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.87 182.123 106.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-153.852 -148.474 69.0581"; + rotation = "0 0 -1 88.2355"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-442.926 22.3572 77.7418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "18.4847 331.652 92.2696"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "37.576 -233.532 76.4848"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-7.2864 -18.4824 119.346"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-184.326 -59.4508 70.7196"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-366.947 -56.2186 72.5292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "65.7046 -454.908 103.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-13.3515 -194.084 75.0712"; + rotation = "0 0 1 217.906"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-0.2455 -89.633 123.377"; + rotation = "0 0 -1 82.5059"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340.427 -286.923 80.6801"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-233.165 153.747 111.236"; + rotation = "0 0 -1 8.02137"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-389.399 117.602 90.729"; + rotation = "0 0 1 33.2315"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-245.948 -2.85577 79.1791"; + rotation = "0 0 -1 4.01071"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-286.46 249.985 96.268"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-393.203 44.9129 74.6529"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-390.863 -241.458 77.5906"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.049 42.1379 79.7314"; + rotation = "0 0 1 25.7831"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-642.048 -423.526 94.894"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-48.3023 -221.269 74.4921"; + rotation = "0 0 -1 68.182"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-401.234 235.705 93.2531"; + rotation = "0 0 -1 16.0428"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-590.695 145.688 114.328"; + rotation = "0 0 -1 59.0147"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "143.744 -204.846 124.445"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-80.626 45.2866 123.745"; + rotation = "0 0 1 127.952"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "9.0666 110.759 101.996"; + rotation = "0 0 -1 9.74027"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter(Frog1) { + position = "-312.361 -130.772 70.7249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog2) { + position = "-440.974 -137.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog3) { + position = "-200.974 -126.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog4) { + position = "-102.174 -123.548 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog5) { + position = "33.5644 -149.685 71.8847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog6) { + position = "-554.211 -152.37 78.9209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird1) { + position = "-137.202 -35.8798 113.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(crickets) { + position = "-254.789 -4.9169 78.8753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird2) { + position = "-288.977 118.926 110.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird3) { + position = "-464.766 -25.1102 114.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Eerie_Fog) { + position = "-313.707 -7.9654 88.1657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "300"; + maxDistance = "19200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird4) { + position = "-464.866 108.756 106.983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(center) { + + + new InteriorInstance() { + position = "-284.239 -120.403 152.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Abaddon.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Abaddon.ter new file mode 100644 index 00000000..73e5e8f5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Abaddon.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BaNsHee.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BaNsHee.ter new file mode 100644 index 00000000..5eb41d2b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BaNsHee.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BeachBlitz.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BeachBlitz.ter new file mode 100644 index 00000000..c3b4ce25 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BeachBlitz.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BeggarsRun.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BeggarsRun.ter new file mode 100644 index 00000000..54f561cf Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BeggarsRun.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BlueMoon.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BlueMoon.ter new file mode 100644 index 00000000..7dcd1b44 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-BlueMoon.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Boss.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Boss.ter new file mode 100644 index 00000000..f88bfb50 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Boss.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Chokepoint.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Chokepoint.ter new file mode 100644 index 00000000..b651fa09 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Chokepoint.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Cinereous.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Cinereous.ter new file mode 100644 index 00000000..7b4ab63b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Cinereous.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Clusterfuct.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Clusterfuct.ter new file mode 100644 index 00000000..52b9bf4f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Clusterfuct.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Curtilage.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Curtilage.ter new file mode 100644 index 00000000..a64781f4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Curtilage.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Damnation.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Damnation.ter new file mode 100644 index 00000000..d6dcee5a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Damnation.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-DeadlyBirdsSong.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-DeadlyBirdsSong.ter new file mode 100644 index 00000000..94129da1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-DeadlyBirdsSong.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Deserted.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Deserted.ter new file mode 100644 index 00000000..7275334e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Deserted.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Desiccator.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Desiccator.ter new file mode 100644 index 00000000..89bc3c07 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Desiccator.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Drifts.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Drifts.ter new file mode 100644 index 00000000..c2867e37 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Drifts.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Euro_Feign.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Euro_Feign.ter new file mode 100644 index 00000000..1f6a30bc Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Euro_Feign.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Frostclaw.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Frostclaw.ter new file mode 100644 index 00000000..9d41f6c6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Frostclaw.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Frozen.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Frozen.ter new file mode 100644 index 00000000..79b696cc Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Frozen.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Harvester.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Harvester.ter new file mode 100644 index 00000000..a0a0a997 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Harvester.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Horde.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Horde.ter new file mode 100644 index 00000000..13319581 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Horde.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Katabatic.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Katabatic.ter new file mode 100644 index 00000000..f7ad6e80 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Katabatic.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Neve.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Neve.ter new file mode 100644 index 00000000..c25576c1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Neve.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-NoShelter.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-NoShelter.ter new file mode 100644 index 00000000..9c7168b3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-NoShelter.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Os_Iris.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Os_Iris.ter new file mode 100644 index 00000000..780bb9e1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Os_Iris.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Pandemonium.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Pandemonium.ter new file mode 100644 index 00000000..49d3ab3a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Pandemonium.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Runenmacht.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Runenmacht.ter new file mode 100644 index 00000000..ac537b46 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Runenmacht.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Slapdash.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Slapdash.ter new file mode 100644 index 00000000..6ca19a26 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-Slapdash.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-SubZero.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-SubZero.ter new file mode 100644 index 00000000..75ab8b44 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-SubZero.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-WilderZone.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-WilderZone.ter new file mode 100644 index 00000000..7291439d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-WilderZone.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-WoodyMyrk.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-WoodyMyrk.ter new file mode 100644 index 00000000..17873289 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL-WoodyMyrk.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Abaddon.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Abaddon.spn new file mode 100644 index 00000000..cf4f014e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Abaddon.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BaNsHee.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BaNsHee.spn new file mode 100644 index 00000000..fb1dda6f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BaNsHee.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BeachBlitz.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BeachBlitz.spn new file mode 100644 index 00000000..946d6733 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BeachBlitz.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BeggarsRun.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BeggarsRun.spn new file mode 100644 index 00000000..e319d4f5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BeggarsRun.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BlueMoon.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BlueMoon.spn new file mode 100644 index 00000000..8fb459b9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_BlueMoon.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Boss.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Boss.spn new file mode 100644 index 00000000..7c65c5e3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Boss.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Celerity.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Celerity.spn new file mode 100644 index 00000000..f89668ad Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Celerity.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Chokepoint.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Chokepoint.spn new file mode 100644 index 00000000..f4233fcc Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Chokepoint.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Cinereous.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Cinereous.spn new file mode 100644 index 00000000..a5272d5d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Cinereous.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Clusterfuct.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Clusterfuct.spn new file mode 100644 index 00000000..4c88ac4c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Clusterfuct.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Crossfire.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Crossfire.spn new file mode 100644 index 00000000..dc2c2278 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Crossfire.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Crossfire.ter b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Crossfire.ter new file mode 100644 index 00000000..dcff8860 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Crossfire.ter differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Curtilage.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Curtilage.spn new file mode 100644 index 00000000..cad4db2c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Curtilage.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Damnation.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Damnation.spn new file mode 100644 index 00000000..74020d97 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Damnation.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_DangerousCrossing.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_DangerousCrossing.spn new file mode 100644 index 00000000..3b450da9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_DangerousCrossing.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_DeadlyBirdsSong.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_DeadlyBirdsSong.spn new file mode 100644 index 00000000..d34f8812 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_DeadlyBirdsSong.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Deserted.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Deserted.spn new file mode 100644 index 00000000..6a1ef761 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Deserted.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Desiccator.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Desiccator.spn new file mode 100644 index 00000000..feb38ab0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Desiccator.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Drifts.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Drifts.spn new file mode 100644 index 00000000..40666281 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Drifts.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Feign.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Feign.spn new file mode 100644 index 00000000..47133da9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Feign.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Frostclaw.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Frostclaw.spn new file mode 100644 index 00000000..ef541468 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Frostclaw.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Frozen.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Frozen.spn new file mode 100644 index 00000000..177ed131 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Frozen.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Harvester.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Harvester.spn new file mode 100644 index 00000000..d78380ae Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Harvester.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Horde.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Horde.spn new file mode 100644 index 00000000..3ffc66bd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Horde.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Katabatic.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Katabatic.spn new file mode 100644 index 00000000..778fbf59 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Katabatic.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Magmatic.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Magmatic.spn new file mode 100644 index 00000000..b34e726a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Magmatic.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Minotaur.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Minotaur.spn new file mode 100644 index 00000000..231b11d5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Minotaur.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Neve.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Neve.spn new file mode 100644 index 00000000..3244027f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Neve.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_NoShelter.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_NoShelter.spn new file mode 100644 index 00000000..123102c0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_NoShelter.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_OsIris.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_OsIris.spn new file mode 100644 index 00000000..c9585c77 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_OsIris.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Pandemonium.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Pandemonium.spn new file mode 100644 index 00000000..c1cde243 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Pandemonium.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Quagmire.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Quagmire.spn new file mode 100644 index 00000000..46868771 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Quagmire.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Raindance.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Raindance.spn new file mode 100644 index 00000000..a090a9d2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Raindance.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Ramparts.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Ramparts.spn new file mode 100644 index 00000000..f4360298 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Ramparts.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Reversion.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Reversion.spn new file mode 100644 index 00000000..406c4ec7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Reversion.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Rollercoaster.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Rollercoaster.spn new file mode 100644 index 00000000..7d279ab3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Rollercoaster.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Runenmacht.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Runenmacht.spn new file mode 100644 index 00000000..adc5c703 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Runenmacht.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Sandstorm.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Sandstorm.spn new file mode 100644 index 00000000..1670c578 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Sandstorm.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Slapdash.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Slapdash.spn new file mode 100644 index 00000000..653d2cb9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Slapdash.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Snowblind.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Snowblind.spn new file mode 100644 index 00000000..48cff1b6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Snowblind.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Starfallen.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Starfallen.spn new file mode 100644 index 00000000..ea9b1f40 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Starfallen.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Stonehenge.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Stonehenge.spn new file mode 100644 index 00000000..7ae0e902 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Stonehenge.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_SubZero.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_SubZero.spn new file mode 100644 index 00000000..ccaf6b7e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_SubZero.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Surreal.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Surreal.spn new file mode 100644 index 00000000..7dac77c2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Surreal.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Titan.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Titan.spn new file mode 100644 index 00000000..83fdf82e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_Titan.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WhiteDwarf.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WhiteDwarf.spn new file mode 100644 index 00000000..60279a1b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WhiteDwarf.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WilderZone.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WilderZone.spn new file mode 100644 index 00000000..72ca0e8e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WilderZone.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WoodyMyrk.spn b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WoodyMyrk.spn new file mode 100644 index 00000000..473f0b92 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/terrains/TWL_WoodyMyrk.spn differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Details/bb_det2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Details/bb_det2.png new file mode 100644 index 00000000..103abaed Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Details/bb_det2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1.png new file mode 100644 index 00000000..927d9cd0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1b.png new file mode 100644 index 00000000..25f496b7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1c.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1c.png new file mode 100644 index 00000000..699d9c5b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_base1c.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_btrim01.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_btrim01.png new file mode 100644 index 00000000..5bffe8b6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_btrim01.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_btrim05.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_btrim05.png new file mode 100644 index 00000000..6a23b2d0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_btrim05.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_launchpad1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_launchpad1.png new file mode 100644 index 00000000..0b1af791 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_launchpad1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall1b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall1b.png new file mode 100644 index 00000000..b5aaba04 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall1b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall3.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall3.png new file mode 100644 index 00000000..1e04ddc3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall3.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall4.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall4.png new file mode 100644 index 00000000..75ab0087 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_mtlwall4.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlight_0000.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlight_0000.png new file mode 100644 index 00000000..1db85435 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlight_0000.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlightb.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlightb.png new file mode 100644 index 00000000..b2202782 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlightb.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlightb_0000.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlightb_0000.png new file mode 100644 index 00000000..b37802de Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8_rlightb_0000.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8basictrim2_bl.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8basictrim2_bl.png new file mode 100644 index 00000000..469ccfec Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8basictrim2_bl.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam01.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam01.png new file mode 100644 index 00000000..4a3668da Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam01.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam01b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam01b.png new file mode 100644 index 00000000..8e29fe58 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam01b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam02.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam02.png new file mode 100644 index 00000000..0126e7ae Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8beam02.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bgrate01.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bgrate01.png new file mode 100644 index 00000000..3f20422d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bgrate01.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bolttrim.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bolttrim.png new file mode 100644 index 00000000..683e84bb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bolttrim.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bolttrimb.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bolttrimb.png new file mode 100644 index 00000000..9f98e5bd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8bolttrimb.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor.png new file mode 100644 index 00000000..c2ebb4d7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor01.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor01.png new file mode 100644 index 00000000..6f5ece82 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor01.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor03.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor03.png new file mode 100644 index 00000000..48081ba0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor03.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor05c.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor05c.png new file mode 100644 index 00000000..207b9a26 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangfloor05c.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangwarnmix_.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangwarnmix_.png new file mode 100644 index 00000000..9d783e76 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8clangwarnmix_.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete01.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete01.png new file mode 100644 index 00000000..de3d7f86 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete01.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete01stair1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete01stair1.png new file mode 100644 index 00000000..99eb2fa1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete01stair1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03.png new file mode 100644 index 00000000..ce29c5eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03b.png new file mode 100644 index 00000000..4f4c1cf4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03c.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03c.png new file mode 100644 index 00000000..888595a7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03c.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03cc.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03cc.png new file mode 100644 index 00000000..15fbd711 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03cc.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03d.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03d.png new file mode 100644 index 00000000..049291c9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03d.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03fadedw.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03fadedw.png new file mode 100644 index 00000000..263c7a57 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8crete03fadedw.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretefloor02.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretefloor02.png new file mode 100644 index 00000000..80277f74 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretefloor02.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretefloor_ti.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretefloor_ti.png new file mode 100644 index 00000000..5bbf30b8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretefloor_ti.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretesmlltrim.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretesmlltrim.png new file mode 100644 index 00000000..3d6774fe Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8cretesmlltrim.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8lighttrim.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8lighttrim.png new file mode 100644 index 00000000..f26837fe Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8lighttrim.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8lighttrim_b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8lighttrim_b.png new file mode 100644 index 00000000..ec264115 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8lighttrim_b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8metal03c_blue.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8metal03c_blue.png new file mode 100644 index 00000000..ae6f5f1d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8metal03c_blue.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim.png new file mode 100644 index 00000000..3f0df770 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim1.png new file mode 100644 index 00000000..dc9ac585 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim1b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim1b.png new file mode 100644 index 00000000..d192cb40 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim1b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim2.png new file mode 100644 index 00000000..1b7d6d0d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8mtltrim2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8smlltrim1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8smlltrim1.png new file mode 100644 index 00000000..77c91dba Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8smlltrim1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8spawn01b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8spawn01b.png new file mode 100644 index 00000000..3c731ceb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8spawn01b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support02.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support02.png new file mode 100644 index 00000000..8396f83c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support02.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support02c.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support02c.png new file mode 100644 index 00000000..4658bd22 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support02c.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support04b_bl.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support04b_bl.png new file mode 100644 index 00000000..37ec5184 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support04b_bl.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support05.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support05.png new file mode 100644 index 00000000..3949dc9c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8support05.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8tinylight_000.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8tinylight_000.png new file mode 100644 index 00000000..b86282df Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8tinylight_000.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8tmtllight2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8tmtllight2.png new file mode 100644 index 00000000..cc12abc0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8tmtllight2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8trimlight_000.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8trimlight_000.png new file mode 100644 index 00000000..7e7ae524 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8trimlight_000.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning2.png new file mode 100644 index 00000000..0ac4a294 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning256.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning256.png new file mode 100644 index 00000000..f068e1c1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning256.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning2step.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning2step.png new file mode 100644 index 00000000..98b9026e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8warning2step.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8wrntrim.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8wrntrim.png new file mode 100644 index 00000000..063b74d1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8wrntrim.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8wrntrim2b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8wrntrim2b.png new file mode 100644 index 00000000..9442ef21 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/e8wrntrim2b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/null.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/null.png new file mode 100644 index 00000000..6dd1de13 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Evil8/null.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Iris_sky.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/Iris_sky.dml new file mode 100644 index 00000000..a9fab297 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/Iris_sky.dml @@ -0,0 +1,9 @@ +skies/Iris/Iris_FR +skies/Iris/Iris_RT +skies/iris/Iris_BK +skies/Iris/Iris_LF +skies/Iris/Iris_UP +skies/Iris/Iris_DN +desert/skies/desert_brown_emap + + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/industrial_oil.png b/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/industrial_oil.png new file mode 100644 index 00000000..dd12d474 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/industrial_oil.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/tes_water2.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/tes_water2.bm8 new file mode 100644 index 00000000..c7a43ad2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/tes_water2.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/tes_water2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/tes_water2.png new file mode 100644 index 00000000..055979ec Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/LiquidTiles/tes_water2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto-sm.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto-sm.dml new file mode 100644 index 00000000..b94dfb61 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto-sm.dml @@ -0,0 +1,8 @@ +Nycto/stormmtn_FR +Nycto/stormmtn_RT +Nycto/stormmtn_BK +Nycto/stormmtn_LF +Nycto/stormmtn_UP +Nycto/stormmtn_DN +Nycto/stormmtn_ENV + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_BK.png new file mode 100644 index 00000000..4e250512 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_DN.png new file mode 100644 index 00000000..b959bc20 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_ENV.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_ENV.png new file mode 100644 index 00000000..64021e3f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_ENV.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_FR.png new file mode 100644 index 00000000..52151de7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_LF.png new file mode 100644 index 00000000..5f496ee3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_RT.png new file mode 100644 index 00000000..06fc50dd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_UP.png new file mode 100644 index 00000000..121a2d49 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/Nycto/stormmtn_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Abaddon.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Abaddon.png new file mode 100644 index 00000000..1d74d928 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Abaddon.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BaNsHee.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BaNsHee.png new file mode 100644 index 00000000..cbd247a0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BaNsHee.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BeachBlitz.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BeachBlitz.png new file mode 100644 index 00000000..2f0b9c3e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BeachBlitz.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BeggarsRun.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BeggarsRun.png new file mode 100644 index 00000000..bc94c343 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BeggarsRun.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BlueMoon.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BlueMoon.png new file mode 100644 index 00000000..e36d665e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_BlueMoon.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Boss.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Boss.png new file mode 100644 index 00000000..ad42c9c6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Boss.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Celerity.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Celerity.png new file mode 100644 index 00000000..84c2c28a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Celerity.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Chokepoint.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Chokepoint.png new file mode 100644 index 00000000..e1ef935e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Chokepoint.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Cinereous.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Cinereous.png new file mode 100644 index 00000000..f75c4910 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Cinereous.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Clusterfuct.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Clusterfuct.png new file mode 100644 index 00000000..9ee829d0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Clusterfuct.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Crossfire.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Crossfire.png new file mode 100644 index 00000000..e71e1405 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Crossfire.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Curtilage.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Curtilage.png new file mode 100644 index 00000000..9cdacc1b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Curtilage.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Damnation.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Damnation.png new file mode 100644 index 00000000..9ec382ad Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Damnation.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_DangerousCrossing.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_DangerousCrossing.png new file mode 100644 index 00000000..ed1451eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_DangerousCrossing.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_DeadlyBirdsSong.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_DeadlyBirdsSong.png new file mode 100644 index 00000000..f651b11f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_DeadlyBirdsSong.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Deserted.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Deserted.png new file mode 100644 index 00000000..27c16f45 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Deserted.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Desiccator.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Desiccator.png new file mode 100644 index 00000000..5fadd702 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Desiccator.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Drifts.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Drifts.png new file mode 100644 index 00000000..6216f8c1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Drifts.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Feign.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Feign.png new file mode 100644 index 00000000..1701b057 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Feign.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Frostclaw.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Frostclaw.png new file mode 100644 index 00000000..0b0e7741 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Frostclaw.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Frozen.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Frozen.png new file mode 100644 index 00000000..5b19f25c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Frozen.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Harvester.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Harvester.png new file mode 100644 index 00000000..1cdc46d9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Harvester.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Horde.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Horde.png new file mode 100644 index 00000000..7cdcf76d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Horde.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Katabatic.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Katabatic.png new file mode 100644 index 00000000..08a29897 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Katabatic.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Magmatic.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Magmatic.png new file mode 100644 index 00000000..a257a6ac Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Magmatic.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Minotaur.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Minotaur.png new file mode 100644 index 00000000..09e5f1c2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Minotaur.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Neve.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Neve.png new file mode 100644 index 00000000..1084bd9b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Neve.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_NoShelter.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_NoShelter.png new file mode 100644 index 00000000..931e927b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_NoShelter.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_OsIris.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_OsIris.png new file mode 100644 index 00000000..333c6d38 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_OsIris.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Pandemonium.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Pandemonium.png new file mode 100644 index 00000000..315dbdb0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Pandemonium.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Quagmire.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Quagmire.png new file mode 100644 index 00000000..4c0cb36a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Quagmire.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Raindance.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Raindance.png new file mode 100644 index 00000000..e2516236 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Raindance.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Ramparts.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Ramparts.png new file mode 100644 index 00000000..d9879f3b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Ramparts.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Reversion.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Reversion.png new file mode 100644 index 00000000..683b69e2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Reversion.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Rollercoaster.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Rollercoaster.png new file mode 100644 index 00000000..5655ea9b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Rollercoaster.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Runenmacht.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Runenmacht.png new file mode 100644 index 00000000..35066871 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Runenmacht.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Sandstorm.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Sandstorm.png new file mode 100644 index 00000000..cebb886c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Sandstorm.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Slapdash.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Slapdash.png new file mode 100644 index 00000000..0408ab01 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Slapdash.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Snowblind.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Snowblind.png new file mode 100644 index 00000000..e3d9fa02 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Snowblind.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Starfallen.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Starfallen.png new file mode 100644 index 00000000..9e629154 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Starfallen.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Stonehenge.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Stonehenge.png new file mode 100644 index 00000000..5cd9e951 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Stonehenge.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_SubZero.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_SubZero.png new file mode 100644 index 00000000..ec431c31 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_SubZero.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Surreal.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Surreal.png new file mode 100644 index 00000000..ce787a0d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Surreal.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Titan.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Titan.png new file mode 100644 index 00000000..eb577aad Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_Titan.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WhiteDwarf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WhiteDwarf.png new file mode 100644 index 00000000..c4f18407 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WhiteDwarf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WilderZone.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WilderZone.png new file mode 100644 index 00000000..b95354e3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WilderZone.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WoodyMyrk.png b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WoodyMyrk.png new file mode 100644 index 00000000..bd50b358 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/gui/Load_TWL_WoodyMyrk.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_BK.png new file mode 100644 index 00000000..4deb7151 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_DN.png new file mode 100644 index 00000000..5635d8cd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_FR.png new file mode 100644 index 00000000..1fd83332 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_LF.png new file mode 100644 index 00000000..7a15c75b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_RT.png new file mode 100644 index 00000000..a4c89d9a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_UP.png new file mode 100644 index 00000000..611fd97a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ib/skies/inf_butch_night13_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_BK.png new file mode 100644 index 00000000..f571344e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_DN.png new file mode 100644 index 00000000..39d829e9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_FR.png new file mode 100644 index 00000000..2cd4786c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_LF.png new file mode 100644 index 00000000..7ed71b98 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_RT.png new file mode 100644 index 00000000..83d8b107 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_UP.png new file mode 100644 index 00000000..e24df199 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/ice/skies/kif_ice_day_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/inf_butch_night13_x2.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/inf_butch_night13_x2.dml new file mode 100644 index 00000000..b54a6149 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/inf_butch_night13_x2.dml @@ -0,0 +1,7 @@ +ib/skies/inf_butch_night13_FR +ib/skies/inf_butch_night13_RT +ib/skies/inf_butch_night13_BK +ib/skies/inf_butch_night13_LF +ib/skies/inf_butch_night13_UP +ib/skies/inf_butch_night13_DN +lush/skies/lush_day_emap \ No newline at end of file diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/kif_iceday.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/kif_iceday.dml new file mode 100644 index 00000000..aad24431 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/kif_iceday.dml @@ -0,0 +1,14 @@ +ice/skies/kif_ice_day_FR +ice/skies/kif_ice_day_RT +ice/skies/kif_ice_day_BK +ice/skies/kif_ice_day_LF +ice/skies/kif_ice_day_UP +ice/skies/kif_ice_day_DN +ice/skies/ice_blue_emap + + + + + + + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/kif_lava_starrynight.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/kif_lava_starrynight.dml new file mode 100644 index 00000000..6b671f77 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/kif_lava_starrynight.dml @@ -0,0 +1,16 @@ +lava/skies/kif_lava_starrynight_FR +lava/skies/kif_lava_starrynight_RT +lava/skies/kif_lava_starrynight_BK +lava/skies/kif_lava_starrynight_LF +lava/skies/kif_lava_starrynight_UP +lava/skies/kif_lava_starrynight_DN +lava/skies/volcanic_starrynite_emap + + + + + + + + + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-Plates.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-Plates.png new file mode 100644 index 00000000..9326e1d0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-Plates.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-Trim.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-Trim.png new file mode 100644 index 00000000..b550ffc0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-Trim.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-bboard.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-bboard.png new file mode 100644 index 00000000..5b80054a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-bboard.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-bboard2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-bboard2.png new file mode 100644 index 00000000..680a1c4a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-bboard2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp2.png new file mode 100644 index 00000000..93fddff3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp3.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp3.png new file mode 100644 index 00000000..4d488d15 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp3.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp4.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp4.png new file mode 100644 index 00000000..eee7f4a8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp4.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp7.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp7.png new file mode 100644 index 00000000..8566bd92 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-comp7.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-computer.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-computer.png new file mode 100644 index 00000000..93ac24a1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-computer.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-disp1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-disp1.png new file mode 100644 index 00000000..17a4aa17 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-disp1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-disp2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-disp2.png new file mode 100644 index 00000000..c3e6f909 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-disp2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-hitwall.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-hitwall.png new file mode 100644 index 00000000..d584e2ec Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-hitwall.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-hitwall2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-hitwall2.png new file mode 100644 index 00000000..6f226f8a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-hitwall2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-map.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-map.png new file mode 100644 index 00000000..f37dda8b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-map.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall.png new file mode 100644 index 00000000..14878cab Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall2.png new file mode 100644 index 00000000..912ade83 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall3.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall3.png new file mode 100644 index 00000000..fd9fa387 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall3.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall4.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall4.png new file mode 100644 index 00000000..63404399 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-mwall4.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-pipe.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-pipe.png new file mode 100644 index 00000000..c6c5bdd5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-pipe.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-plasma.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-plasma.png new file mode 100644 index 00000000..9baf796e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/Nycto-plasma.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/comp_screen_2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/comp_screen_2.png new file mode 100644 index 00000000..8947d2b1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/comp_screen_2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/grid_1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/grid_1.png new file mode 100644 index 00000000..2c672482 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/grid_1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/grid_rusty_1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/grid_rusty_1.png new file mode 100644 index 00000000..bf88d923 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/grid_rusty_1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_BK.png new file mode 100644 index 00000000..6aae30a1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_DN.png new file mode 100644 index 00000000..8c237262 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_FR.png new file mode 100644 index 00000000..428e2544 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_LF.png new file mode 100644 index 00000000..90be0c6d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_RT.png new file mode 100644 index 00000000..c3494b78 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_UP.png new file mode 100644 index 00000000..eb0bcb4a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/skies/kif_lava_starrynight_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_1.png new file mode 100644 index 00000000..22cb06e8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_paint.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_paint.png new file mode 100644 index 00000000..65d2e723 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_paint.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_rusty.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_rusty.png new file mode 100644 index 00000000..d6e1f9ea Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_rusty.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_rusty2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_rusty2.png new file mode 100644 index 00000000..896ac9f5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lava/techwall_rusty2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/BlueMoon.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/BlueMoon.png new file mode 100644 index 00000000..17b3c4eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/BlueMoon.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_COLLa.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_COLLa.png new file mode 100644 index 00000000..2a31d510 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_COLLa.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_COLLb.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_COLLb.png new file mode 100644 index 00000000..4b9514d8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_COLLb.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_ROOF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_ROOF.png new file mode 100644 index 00000000..def7c89c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_ROOF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_STONE.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_STONE.png new file mode 100644 index 00000000..a5d6f517 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Roman_STONE.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_BK.png new file mode 100644 index 00000000..0a60ba04 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_DN.png new file mode 100644 index 00000000..e3085e89 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_FR.png new file mode 100644 index 00000000..470d19eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_LF.png new file mode 100644 index 00000000..98fa7368 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_RT.png new file mode 100644 index 00000000..1ac926cd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_UP.png new file mode 100644 index 00000000..340a23e4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/BBday_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_BK_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_BK_x2.png new file mode 100644 index 00000000..c88b1fb1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_BK_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_DN_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_DN_x2.png new file mode 100644 index 00000000..c4cedd84 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_DN_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_FR_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_FR_x2.png new file mode 100644 index 00000000..12b2b38f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_FR_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_LF_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_LF_x2.png new file mode 100644 index 00000000..8ded1aea Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_LF_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_RT_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_RT_x2.png new file mode 100644 index 00000000..a8c13105 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_RT_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_UP_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_UP_x2.png new file mode 100644 index 00000000..4bd61b44 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/Skies/lush_01_day_v5_UP_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_red.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_red.png new file mode 100644 index 00000000..e5f62382 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_red.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_red2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_red2.png new file mode 100644 index 00000000..3c0edb39 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_red2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_sand.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_sand.png new file mode 100644 index 00000000..083b16bb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/bb_sand.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_elig02_nd.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_elig02_nd.png new file mode 100644 index 00000000..c33f27ed Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_elig02_nd.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_ewal03_hl.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_ewal03_hl.png new file mode 100644 index 00000000..6fea3eaa Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_ewal03_hl.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_ewal03acrk.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_ewal03acrk.png new file mode 100644 index 00000000..f7d548c7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_ewal03acrk.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_gr3streak.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_gr3streak.png new file mode 100644 index 00000000..ef389c3b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_gr3streak.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_gr4streak.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_gr4streak.png new file mode 100644 index 00000000..c859413d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/be_gr4streak.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_a.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_a.png new file mode 100644 index 00000000..222856f9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_a.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_b.png new file mode 100644 index 00000000..8a6347d7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_c.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_c.png new file mode 100644 index 00000000..c01f881a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/box_c.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_beam.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_beam.png new file mode 100644 index 00000000..9a617b67 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_beam.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_bluelite1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_bluelite1.png new file mode 100644 index 00000000..0d780676 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_bluelite1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_bluelite2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_bluelite2.png new file mode 100644 index 00000000..60a597dd Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_bluelite2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3.png new file mode 100644 index 00000000..25fb7027 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3_b.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3_b.png new file mode 100644 index 00000000..93cdc053 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3_b.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3_f.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3_f.png new file mode 100644 index 00000000..a55cc4c9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel3_f.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel4.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel4.png new file mode 100644 index 00000000..55cf3a2e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_grsteel4.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_pipe1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_pipe1.png new file mode 100644 index 00000000..272c600d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/dox_pipe1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/emap_beachblitz.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/emap_beachblitz.png new file mode 100644 index 00000000..a9395246 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/emap_beachblitz.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_blocks.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_blocks.bm8 new file mode 100644 index 00000000..f000d69d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_blocks.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_blocks.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_blocks.png new file mode 100644 index 00000000..d7b17120 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_blocks.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_plain.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_plain.bm8 new file mode 100644 index 00000000..52310a6d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_plain.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_plain.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_plain.png new file mode 100644 index 00000000..6f64428a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_plain.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_relief.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_relief.bm8 new file mode 100644 index 00000000..e73b66e6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_relief.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_relief.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_relief.png new file mode 100644 index 00000000..c8390982 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_relief.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim1.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim1.bm8 new file mode 100644 index 00000000..a9302a0d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim1.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim1.png new file mode 100644 index 00000000..b899d712 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim2.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim2.bm8 new file mode 100644 index 00000000..b586f002 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim2.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim2.png new file mode 100644 index 00000000..b40d7c08 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_trim2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_wall.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_wall.bm8 new file mode 100644 index 00000000..b6d66d20 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_wall.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_wall.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_wall.png new file mode 100644 index 00000000..54d3ff1c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/ir_wall.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/rustbox.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/rustbox.png new file mode 100644 index 00000000..85f136c1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/rustbox.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush/rustbox_logo.png b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/rustbox_logo.png new file mode 100644 index 00000000..edaa3ba3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/lush/rustbox_logo.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/lush_day_x2.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/lush_day_x2.dml new file mode 100644 index 00000000..1e65c240 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/lush_day_x2.dml @@ -0,0 +1,18 @@ +lush/skies/lush_01_day_v5_FR_x2 +lush/skies/lush_01_day_v5_RT_x2 +lush/skies/lush_01_day_v5_BK_x2 +lush/skies/lush_01_day_v5_LF_x2 +lush/skies/lush_01_day_v5_UP_x2 +lush/skies/lush_01_day_v5_DN_x2 +lava/skies/volcanic_starrynite_emap + + + + + + + + + + + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nef_sset2_x2.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/nef_sset2_x2.dml new file mode 100644 index 00000000..ca84ce73 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/nef_sset2_x2.dml @@ -0,0 +1,7 @@ +nefsset2_x2/skies/nef_sset2_FR.png +nefsset2_x2/skies/nef_sset2_RT.png +nefsset2_x2/skies/nef_sset2_BK.png +nefsset2_x2/skies/nef_sset2_LF.png +nefsset2_x2/skies/nef_sset2_UP.png +nefsset2_x2/skies/nef_sset2_DN.png +lush/skies/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_BK_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_BK_x2.png new file mode 100644 index 00000000..be52b6e5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_BK_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_CLOUD1_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_CLOUD1_x2.png new file mode 100644 index 00000000..20a5d288 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_CLOUD1_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_FR_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_FR_x2.png new file mode 100644 index 00000000..adb0c685 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_FR_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_LF_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_LF_x2.png new file mode 100644 index 00000000..7e042d96 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_LF_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_RT_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_RT_x2.png new file mode 100644 index 00000000..60778846 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_RT_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_UP_x2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_UP_x2.png new file mode 100644 index 00000000..c9501ed3 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1/red1_UP_x2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1_x2.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1_x2.dml new file mode 100644 index 00000000..19f93670 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/nefred1_x2.dml @@ -0,0 +1,9 @@ +nefred1/red1_FR_x2 +nefred1/red1_RT_x2 +nefred1/red1_BK_x2 +nefred1/red1_LF_x2 +nefred1/red1_UP_x2 +ice/skies/dark_bottom +lush/skies/lush_day_emap +nefred1/red1_CLOUD1_x2 + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_BK.png new file mode 100644 index 00000000..89b9d9ce Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_FR.png new file mode 100644 index 00000000..a6436f54 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_LF.png new file mode 100644 index 00000000..5f510fb5 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_RT.png new file mode 100644 index 00000000..6e6767cb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_UP.png new file mode 100644 index 00000000..1a8c8aae Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/nefsset2_x2/skies/nef_sset2_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_BK.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_BK.bm8 new file mode 100644 index 00000000..65872898 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_BK.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_BK.png new file mode 100644 index 00000000..7b137aaf Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_DN.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_DN.bm8 new file mode 100644 index 00000000..f2e0e869 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_DN.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_DN.png new file mode 100644 index 00000000..04bf062e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_FR.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_FR.bm8 new file mode 100644 index 00000000..22d486b2 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_FR.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_FR.png new file mode 100644 index 00000000..83232c74 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_LF.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_LF.bm8 new file mode 100644 index 00000000..368dad2c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_LF.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_LF.png new file mode 100644 index 00000000..7eba9ff4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_RT.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_RT.bm8 new file mode 100644 index 00000000..347bb13a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_RT.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_RT.png new file mode 100644 index 00000000..ed3cda47 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_UP.bm8 b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_UP.bm8 new file mode 100644 index 00000000..92d36de9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_UP.bm8 differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_UP.png new file mode 100644 index 00000000..548766db Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/Iris/Iris_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_BK.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_BK.png new file mode 100644 index 00000000..ce340575 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_BK.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_DN.png new file mode 100644 index 00000000..a7084fd0 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_FR.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_FR.png new file mode 100644 index 00000000..7fdb3a8b Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_FR.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_LF.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_LF.png new file mode 100644 index 00000000..cb55d95e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_LF.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_RT.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_RT.png new file mode 100644 index 00000000..a089cc65 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_RT.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_UP.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_UP.png new file mode 100644 index 00000000..deb3fd67 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skies/lush_02_dusk_UP.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bark.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bark.png new file mode 100644 index 00000000..efeebac1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bark.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bark2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bark2.png new file mode 100644 index 00000000..7d89dd9a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bark2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_beechleaf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_beechleaf.png new file mode 100644 index 00000000..58e85d98 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_beechleaf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bigleaf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bigleaf.png new file mode 100644 index 00000000..8812f745 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bigleaf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bush.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bush.png new file mode 100644 index 00000000..5e30e57a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_bush.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_jnigraleaf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_jnigraleaf.png new file mode 100644 index 00000000..94038b14 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_jnigraleaf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_palmleaf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_palmleaf.png new file mode 100644 index 00000000..6b694a1c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_palmleaf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_screen.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_screen.png new file mode 100644 index 00000000..309655d7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_screen.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_stripeleaf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_stripeleaf.png new file mode 100644 index 00000000..c41dacc6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_stripeleaf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree1_foliage2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree1_foliage2.png new file mode 100644 index 00000000..62d76e17 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree1_foliage2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree1_side.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree1_side.png new file mode 100644 index 00000000..4ddddcb4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree1_side.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree2_foliage2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree2_foliage2.png new file mode 100644 index 00000000..29314b97 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree2_foliage2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree2_side.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree2_side.png new file mode 100644 index 00000000..fcd7bc4a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_tree2_side.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_trunk.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_trunk.png new file mode 100644 index 00000000..3239dae1 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/bb_trunk.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/dox_stone.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/dox_stone.png new file mode 100644 index 00000000..df9cd39e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/dox_stone.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/skins/dox_wires.png b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/dox_wires.png new file mode 100644 index 00000000..f53e3f98 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/skins/dox_wires.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03.dml new file mode 100644 index 00000000..cf181182 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03.dml @@ -0,0 +1,9 @@ +sky03/ffront +sky03/fright +sky03/fback +sky03/fleft +sky03/fup +sky03/fdown +lush/skies/lush_day_emap +sky03/TR1_Cloud1.png +sky03/TR1_Cloud2.png \ No newline at end of file diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/TR1_Cloud1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/TR1_Cloud1.png new file mode 100644 index 00000000..5934d28c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/TR1_Cloud1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/TR1_Cloud2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/TR1_Cloud2.png new file mode 100644 index 00000000..4c00ee56 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/TR1_Cloud2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fback.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fback.png new file mode 100644 index 00000000..f5860de9 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fback.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fdown.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fdown.png new file mode 100644 index 00000000..26279774 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fdown.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/ffront.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/ffront.png new file mode 100644 index 00000000..f61610be Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/ffront.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fleft.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fleft.png new file mode 100644 index 00000000..16690966 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fleft.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fright.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fright.png new file mode 100644 index 00000000..df61a593 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fright.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fup.png b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fup.png new file mode 100644 index 00000000..24fcb794 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/sky03/fup.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/sky_beachblitz.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/sky_beachblitz.dml new file mode 100644 index 00000000..a71a6a9e --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/sky_beachblitz.dml @@ -0,0 +1,8 @@ +Lush/skies/BBday_fr +Lush/skies/BBday_rt +Lush/skies/BBday_bk +Lush/skies/BBday_lf +Lush/skies/BBday_up +Lush/skies/BBday_dn +Lush/emap_beachblitz + diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/TR1_Cloud1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/TR1_Cloud1.png new file mode 100644 index 00000000..5934d28c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/TR1_Cloud1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/TR1_Cloud2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/TR1_Cloud2.png new file mode 100644 index 00000000..4c00ee56 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/TR1_Cloud2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_bk.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_bk.png new file mode 100644 index 00000000..06d34648 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_bk.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_dn.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_dn.png new file mode 100644 index 00000000..950f8cf4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_dn.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_ft.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_ft.png new file mode 100644 index 00000000..06d34648 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_ft.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_lf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_lf.png new file mode 100644 index 00000000..06d34648 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_lf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_rt.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_rt.png new file mode 100644 index 00000000..06d34648 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_rt.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_up.png b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_up.png new file mode 100644 index 00000000..a2cc896e Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/space/xnight2_up.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/LegendsLightSand.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/LegendsLightSand.png new file mode 100644 index 00000000..8e6fd2f8 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/LegendsLightSand.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoGlacier.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoGlacier.png new file mode 100644 index 00000000..59a9269c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoGlacier.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoRock.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoRock.png new file mode 100644 index 00000000..5905339f Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoRock.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoRock2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoRock2.png new file mode 100644 index 00000000..9e883f49 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoRock2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoSnow.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoSnow.png new file mode 100644 index 00000000..54317890 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/NyctoSnow.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/RockLight.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/RockLight.png new file mode 100644 index 00000000..48bf9f7a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/RockLight.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/brown_Dirt02.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/brown_Dirt02.png new file mode 100644 index 00000000..163c56c7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/brown_Dirt02.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/green_GrassRock005.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/green_GrassRock005.png new file mode 100644 index 00000000..ac910460 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/green_GrassRock005.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/green_SnowyGrass001.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/green_SnowyGrass001.png new file mode 100644 index 00000000..936e067d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/green_SnowyGrass001.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/lushworld.beachsand.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/lushworld.beachsand.png new file mode 100644 index 00000000..91e6801c Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/lushworld.beachsand.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock0.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock0.png new file mode 100644 index 00000000..6b4154b4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock0.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock2tu.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock2tu.png new file mode 100644 index 00000000..34433e3d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock2tu.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock2tv.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock2tv.png new file mode 100644 index 00000000..73f0ab6a Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/mxrock2tv.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/rilk.shingledrock.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/rilk.shingledrock.png new file mode 100644 index 00000000..2c9489d6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/rilk.shingledrock.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/rilke.sand.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/rilke.sand.png new file mode 100644 index 00000000..40951188 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/rilke.sand.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_a0.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_a0.png new file mode 100644 index 00000000..3cfe0baf Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_a0.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_a2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_a2.png new file mode 100644 index 00000000..ff44ee42 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_a2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_grass001.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_grass001.png new file mode 100644 index 00000000..72e133de Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_grass001.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_rock_5.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_rock_5.png new file mode 100644 index 00000000..013e74d4 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/snow_rock_5.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_mystery1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_mystery1.png new file mode 100644 index 00000000..2b54e02d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_mystery1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_mystery2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_mystery2.png new file mode 100644 index 00000000..ecd0ae72 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_mystery2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_test.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_test.png new file mode 100644 index 00000000..70fb854d Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tes_test.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tropical1.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tropical1.png new file mode 100644 index 00000000..3fb385e6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/tropical1.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/ugly2.png b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/ugly2.png new file mode 100644 index 00000000..d6958218 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/terrain/ugly2.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla.dml new file mode 100644 index 00000000..b29f7285 --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla.dml @@ -0,0 +1,7 @@ +teslaski_v5_fr.png +teslaski_v5_rt.png +teslaski_v5_bk.png +teslaski_v5_lf.png +teslaski_v5_up.png +teslaski_v5_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_bk.png b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_bk.png new file mode 100644 index 00000000..5c4b56e6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_bk.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_dn.png b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_dn.png new file mode 100644 index 00000000..af401200 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_dn.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_fr.png b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_fr.png new file mode 100644 index 00000000..8031f2d7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_fr.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_lf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_lf.png new file mode 100644 index 00000000..a04b6a03 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_lf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_rt.png b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_rt.png new file mode 100644 index 00000000..375695eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_rt.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_up.png b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_up.png new file mode 100644 index 00000000..d5465aa6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/tesla/skies/teslaski_v5_up.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_DN.png b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_DN.png new file mode 100644 index 00000000..af401200 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_DN.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_bk.png b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_bk.png new file mode 100644 index 00000000..5c4b56e6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_bk.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_fr.png b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_fr.png new file mode 100644 index 00000000..8031f2d7 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_fr.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_lf.png b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_lf.png new file mode 100644 index 00000000..a04b6a03 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_lf.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_rt.png b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_rt.png new file mode 100644 index 00000000..375695eb Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_rt.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_up.png b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_up.png new file mode 100644 index 00000000..d5465aa6 Binary files /dev/null and b/public/base/@vl2/TWL-MapPack.vl2/textures/teslaski_v5_up.png differ diff --git a/public/base/@vl2/TWL-MapPack.vl2/textures/xnight.dml b/public/base/@vl2/TWL-MapPack.vl2/textures/xnight.dml new file mode 100644 index 00000000..4db1878e --- /dev/null +++ b/public/base/@vl2/TWL-MapPack.vl2/textures/xnight.dml @@ -0,0 +1,24 @@ +space/xnight2_ft +space/xnight2_rt +space/xnight2_bk +space/xnight2_lf +space/xnight2_up +ice/skies/dark_bottom +lush/skies/lush_day_emap +space/TR1_Cloud1.png +space/TR1_Cloud2.png + + + + + + + + + + + + + + + diff --git a/public/base/@vl2/TWL2-MapPack.vl2/TWL2-Map Pack Readme.txt b/public/base/@vl2/TWL2-MapPack.vl2/TWL2-Map Pack Readme.txt new file mode 100644 index 00000000..77b9d949 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/TWL2-Map Pack Readme.txt @@ -0,0 +1,58 @@ +======================== + TWL2 Map Pack +======================== +For any comments, questions or suggestions, feel free to contact Celios on irc.dynamix.com (#teamwarfare, #pond) + +Map Pack assembled by Celios (celios@teamwarfare.com) with many thanks to the original authors and those who helped with the testing. Special thanks to BaNsHee, j_thunders, Julius and the T2 Map Council for their help and suggestions. + +This is the final version (2.0) of the map pack and is both approved and required for competitive play across TeamWarfare ladders. There are 23 new maps included here - most have been modified pretty significantly, some have barely been touched. The original terrain, interior and other clientside files have had their names preserved wherever possible to improve compatibility with previous versions of the maps. Thanks for downloading, and enjoy! :] + +======================== + MAPS +======================== + +Bleed - Based on Europack 4 modifications. No major changes. + +Blue Moon - Removed flag turret. + +Canyon Crusade Deluxe - Changed several nametags to make the map more intuitive. + +Celerity - Based on SE pack modifications. Swapped out flagstand to avoid throwing cappers off course, moved repair pack out of the tower over to the side bunker, swapped out the missle turrets for plasma ones and repositioned the sentry turret and repair pack in the base to more practical locations. Also changed several nametags to make the map more intuitive. + +Cloak of Night - Darkened ambient lighting, added fog and tweaked some item placement. + +Crevice - Rear forcefield made all-pass and friction from all such forcefields removed. Also smoothed the terrain out considerably. + +Dissention - Based on Europack 4 modifications. Removed stand to prevent deadstops. + +Drifts - Based on SE pack modifications. Moved the 2nd floor invos inside more, moved base turret forward towards flag, got rid of the stuff in the middle of the map and removed the flagstand to prevent deadstops. + +Drorck - Based on TL pack modifications. Repositioned the midfield bunkers to make them more practical and moved the repair packs to between the base and the bunker. Also added some organics to allow teams to hide inventories more easily and changed several nametags to make the map more intuitive. + +Frozen Glory - Map completely overhauled. + +Frozen Hope - No major changes. + +Hildebrand - Changed several nametags to make the map more intuitive. + +Ice Dagger - Added inventory stations by the flag and removed the flag turret. + +Jagged Claw - Changed several nametags to make the map more intuitive. + +Magnum - Based on TL pack modifications. Extended mission area to allow front grabbing. + +Midnight Mayhem Deluxe - Removed front entrance turret, moved the flag outside and repositioned the repair pack to distribute play across the entire base. + +Muddy Swamp - Based on TL pack modifications. Added a repair pack on top of the base, reduced base sensor from large to medium, reduced water's density by two thirds and created a new flagstand which would not deadstop. + +Norty - Changed several nametags to make the map more intuitive. + +Ocular - Raised flagstand to make the underside accessible. + +Roughland - Based on TL pack modifications. Limited vehicles to just shrikes, replaced gens in the bunker with inventory stations, added a second spawnsphere and changed spawnsphere weights to 25% at bunker and 75% at tower. + +Ruined - Terrain modified to fit interiors better and removed stand to prevent deadstops. + +Skylight - Based on TL pack modifications. No major changes. + +Woody Myrk - Based on SE pack modifications. Changed flagstand back to TWL-Woody Myrk's dimensions. diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_Base.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_Base.dif new file mode 100644 index 00000000..9e0328a8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_Base.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_turret.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_turret.dif new file mode 100644 index 00000000..3a0f4550 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_turret.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_vpad.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_vpad.dif new file mode 100644 index 00000000..2a86257f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Bleed_vpad.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_dox_bb_bunkera_x2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_dox_bb_bunkera_x2.dif new file mode 100644 index 00000000..0c9e2011 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_dox_bb_bunkera_x2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_dox_bb_hangar_x2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_dox_bb_hangar_x2.dif new file mode 100644 index 00000000..8bc770b0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_dox_bb_hangar_x2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_rilke_whitedwarf_mainbase.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_rilke_whitedwarf_mainbase.dif new file mode 100644 index 00000000..a04a4f35 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_Dissention_rilke_whitedwarf_mainbase.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_base47.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_base47.dif new file mode 100644 index 00000000..a8d85f15 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_base47.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_flag6.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_flag6.dif new file mode 100644 index 00000000..81216b1a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_flag6.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_turret12.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_turret12.dif new file mode 100644 index 00000000..46508c84 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/Euro4_FrozenHope_inf_butch_fhope_turret12.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_bmiscpan_ruind.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_bmiscpan_ruind.dif new file mode 100644 index 00000000..22295403 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_bmiscpan_ruind.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_btowr9.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_btowr9.dif new file mode 100644 index 00000000..252d6ba2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_btowr9.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_drorck-base.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_drorck-base.dif new file mode 100644 index 00000000..712a8960 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_drorck-base.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumbase.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumbase.dif new file mode 100644 index 00000000..b9792f91 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumbase.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumflag.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumflag.dif new file mode 100644 index 00000000..7b4c6826 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumflag.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnummisc.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnummisc.dif new file mode 100644 index 00000000..45d279c9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnummisc.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumturret.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumturret.dif new file mode 100644 index 00000000..4535443f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumturret.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumvs.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumvs.dif new file mode 100644 index 00000000..6d0fd2f2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/TL_magnumvs.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/btowr_ccb1.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/btowr_ccb1.dif new file mode 100644 index 00000000..712a8960 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/btowr_ccb1.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccb_be_tower1b_x2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccb_be_tower1b_x2.dif new file mode 100644 index 00000000..bf90db4d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccb_be_tower1b_x2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccbase1.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccbase1.dif new file mode 100644 index 00000000..c1c370e2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccbase1.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccbase2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccbase2.dif new file mode 100644 index 00000000..201e523d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccbase2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccflagstand.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccflagstand.dif new file mode 100644 index 00000000..0e8a75f8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ccflagstand.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/cctower.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/cctower.dif new file mode 100644 index 00000000..69db1d7f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/cctower.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/conbase.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/conbase.dif new file mode 100644 index 00000000..7e5037ff Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/conbase.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/conspire.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/conspire.dif new file mode 100644 index 00000000..38567cda Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/conspire.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/dox_bb_fstand_x2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/dox_bb_fstand_x2.dif new file mode 100644 index 00000000..2e8701d4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/dox_bb_fstand_x2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/hbbunker.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/hbbunker.dif new file mode 100644 index 00000000..266e058b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/hbbunker.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/hbflagstand.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/hbflagstand.dif new file mode 100644 index 00000000..e43ebcd5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/hbflagstand.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/idbase.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/idbase.dif new file mode 100644 index 00000000..bf1f1d8c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/idbase.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/idhangar.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/idhangar.dif new file mode 100644 index 00000000..3fa8fcd4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/idhangar.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/idmiddle.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/idmiddle.dif new file mode 100644 index 00000000..62f618b7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/idmiddle.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2base1.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2base1.dif new file mode 100644 index 00000000..02caacb3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2base1.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2flag21.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2flag21.dif new file mode 100644 index 00000000..d6c37221 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2flag21.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2turret13.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2turret13.dif new file mode 100644 index 00000000..db7656e1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2turret13.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2turret9.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2turret9.dif new file mode 100644 index 00000000..ba29c114 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_fg2turret9.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_icebase51.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_icebase51.dif new file mode 100644 index 00000000..d846acbe Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_icebase51.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_iceturretbase9.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_iceturretbase9.dif new file mode 100644 index 00000000..deebee25 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_iceturretbase9.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_icevehicle11.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_icevehicle11.dif new file mode 100644 index 00000000..ac3bf47e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/inf_butch_icevehicle11.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/jagged_base3.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/jagged_base3.dif new file mode 100644 index 00000000..f9fbc162 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/jagged_base3.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/kif_skylightbase.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/kif_skylightbase.dif new file mode 100644 index 00000000..9abf8ae6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/kif_skylightbase.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/kif_skylightfs.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/kif_skylightfs.dif new file mode 100644 index 00000000..69992105 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/kif_skylightfs.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/magnum_vehicle_stop.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/magnum_vehicle_stop.dif new file mode 100644 index 00000000..c33bf89a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/magnum_vehicle_stop.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/mmbase.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/mmbase.dif new file mode 100644 index 00000000..66f5ae14 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/mmbase.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/mmbridge.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/mmbridge.dif new file mode 100644 index 00000000..61ca96c1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/mmbridge.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/muddyswampstand.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/muddyswampstand.dif new file mode 100644 index 00000000..2e400992 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/muddyswampstand.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/ocular-flagstand.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ocular-flagstand.dif new file mode 100644 index 00000000..122d8231 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/ocular-flagstand.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/peach_lush_bunker1.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/peach_lush_bunker1.dif new file mode 100644 index 00000000..c0fbea69 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/peach_lush_bunker1.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/tes_flagbase_x2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/tes_flagbase_x2.dif new file mode 100644 index 00000000..448c27ec Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/tes_flagbase_x2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/interiors/tes_flyingvehicle_x2.dif b/public/base/@vl2/TWL2-MapPack.vl2/interiors/tes_flyingvehicle_x2.dif new file mode 100644 index 00000000..57e459db Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/interiors/tes_flyingvehicle_x2.dif differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Bleed.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Bleed.mis new file mode 100644 index 00000000..5dd590da --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Bleed.mis @@ -0,0 +1,1974 @@ +// DisplayName = TWL2-Bleed +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Dont bleed out... +// -- F|ysa +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by F|ysa (Editing: The Driver, DeeVee) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1072 -1072 2112 2144"; + flightCeiling = "600"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Euro4_Bleed.ter"; + squareSize = "8"; + emptySquares = "221106 417969 483760 484016 484272 287921 307297 438624 504415 504671 504927 374112"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "Lakefront.nav"; + scale = "1 1 1"; + YDimOverSize = "0"; + coverage = "0"; + position = "0 0 0 1"; + locked = "true"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "1.000000 1.000000 1.000000 1.000000"; + fogDistance = "130"; + fogColor = "0.200000 0.200000 0.200000 0.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Euro4_Bleed.dml"; + windVelocity = "1 1 1"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "2.010000 2.010000 2.010000 10000.000000"; + fogVolumeColor2 = "1.000000 1.000000 1.000000 0.742938"; + fogVolumeColor3 = "0.000000 0.000000 0.000000 1.000000"; + high_visibleDistance = "250"; + high_fogDistance = "1"; + high_fogVolume1 = "1 0 2.77029e-34"; + high_fogVolume2 = "1 2.77038e-34 1"; + high_fogVolume3 = "1 0 1.62236e-07"; + + cloudSpeed0 = "0.900000 0.900000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(team0) { + + + new SimGroup(objective1) { + + + new StaticShape() { + position = "-107.39 18.837 213.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "West Island Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + new StaticShape() { + position = "-107.5 14.5 220.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + locked = "true"; + holoHeight = "10"; + }; + }; + new SimGroup(objective2) { + + + new StaticShape() { + position = "99.8033 9.66808 210.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + tCapThread = "4929"; + name = "East Island Switch"; + tHoldThread = "5597"; + missionTypesList = "CnH DnD"; + locked = "true"; + pCapThread = "4928"; + }; + new StaticShape() { + position = "100 14 218.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + locked = "true"; + holoHeight = "10"; + }; + }; + new SimGroup(objective3) { + + + new StaticShape() { + position = "469.469 0 226.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + locked = "true"; + holoHeight = "10"; + }; + new StaticShape() { + position = "469.469 0 217.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "East Shore Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + }; + new SimGroup(objective4) { + + + new StaticShape() { + position = "-469.469 0 226.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + missionTypesList = "CnH DnD"; + locked = "true"; + holoHeight = "10"; + }; + new StaticShape() { + position = "-469.469 0 217.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "West Shore Switch"; + missionTypesList = "CnH DnD"; + locked = "true"; + }; + }; + new Item() { + position = "409.242 -236.533 184.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-234.469 407.474 184.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-233.761 405.935 201.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-234.611 408.218 209.136"; + rotation = "0 0 -1 37.8152"; + scale = "0.418845 0.426072 0.314202"; + interiorFile = "Euro4_Bleed_Base.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-240.171 404.142 180.41"; + rotation = "0 0 1 52.1392"; + scale = "0.87573 0.85791 0.731026"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-229.2 412.534 180.321"; + rotation = "0 0 1 232.23"; + scale = "0.87573 0.85791 0.731026"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-234.28 408.615 197.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-261.245 411.46 192.489"; + rotation = "0 0 -1 86.5166"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-207.638 404.32 192.51"; + rotation = "0 0 1 97.9757"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-237.685 380.965 192.51"; + rotation = "0 0 1 189.832"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-231.2 434.633 192.486"; + rotation = "0 0 1 6.87596"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-229.964 411.641 198.554"; + rotation = "0 0 1 232.23"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-239.029 404.73 198.55"; + rotation = "0 0 1 50.9932"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-234.42 408.028 215.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "-243.913 318.956 229.37"; + rotation = "0 0 1 4.0109"; + scale = "0.163554 0.205096 0.223484"; + interiorFile = "Euro4_Bleed_turret.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-244.034 318.343 232.719"; + rotation = "0 0 1 4.0109"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-249.955 402.558 184.3"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-225.366 421.65 184.3"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-219.36 413.858 184.3"; + rotation = "0 0 1 144.386"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-243.932 394.751 184.3"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-368.908 471.863 188.869"; + rotation = "0 0 1 212.75"; + scale = "0.735987 0.738444 0.774919"; + interiorFile = "Euro4_Bleed_vpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-376.784 459.333 192.039"; + rotation = "0 0 1 212.75"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Ready = "1"; + }; + new InteriorInstance() { + position = "-142.798 453.487 206.393"; + rotation = "0 0 -1 39.5339"; + scale = "0.185583 0.167271 0.223484"; + interiorFile = "Euro4_Bleed_turret.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-142.767 453.51 209.649"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "409.511 -237.617 200.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "408.814 -236.138 208.926"; + rotation = "0 0 -1 37.8152"; + scale = "0.418845 0.426072 0.314202"; + interiorFile = "Euro4_Bleed_Base.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "403.23 -240.232 180.2"; + rotation = "0 0 1 52.1392"; + scale = "0.87573 0.85791 0.731026"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "414.201 -231.84 180.111"; + rotation = "0 0 1 232.23"; + scale = "0.87573 0.85791 0.731026"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "393.467 -241.727 184.122"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "409.121 -235.759 197.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "382.078 -232.948 192.279"; + rotation = "0 0 -1 86.5166"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "435.52 -240.019 192.3"; + rotation = "0 0 1 97.9757"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "405.651 -263.187 192.3"; + rotation = "0 0 1 189.832"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "412.18 -209.651 192.276"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "413.293 -232.725 198.344"; + rotation = "0 0 1 232.23"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "404.372 -239.644 198.34"; + rotation = "0 0 1 50.9932"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "487.108 -194.96 213.475"; + rotation = "-0 0 -1 15.4697"; + scale = "0.185583 0.167271 0.223484"; + interiorFile = "Euro4_Bleed_turret.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "418.195 -222.656 184.038"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "330.373 -265.261 237.709"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "399.616 -249.626 184.102"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "424.004 -230.505 184.098"; + rotation = "0 0 1 144.386"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "330.954 -265.016 234.188"; + rotation = "0 0 1 68.182"; + scale = "0.163554 0.205096 0.223484"; + interiorFile = "Euro4_Bleed_turret.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "455.798 -358.687 187.096"; + rotation = "0 0 -1 116.31"; + scale = "0.735987 0.738444 0.774919"; + interiorFile = "Euro4_Bleed_vpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "443.229 -364.57 190.266"; + rotation = "0 0 -1 116.31"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Ready = "1"; + }; + new StaticShape() { + position = "487.146 -194.952 216.731"; + rotation = "-0 0 -1 14.8969"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "408.953 -235.969 215.685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "474.255 -171.969 249.381"; + rotation = "-0.137341 -0.264117 0.954662 232.802"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-226.917 483.016 238.821"; + rotation = "-0.0127491 -0.183932 0.982856 187.795"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "381.282 342.202 227.318"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "353.738 347.211 228.161"; + rotation = "0 0 -1 80.2141"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SimGroup() { + + }; + }; + new SimGroup(Ambiance) { + + }; + new TSStatic() { + position = "771.936 -138.133 96.7381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "808.274 5.7279 113.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652.216 -220.698 123.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "938.424 163.799 147.54"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "802.724 935.922 102.021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "978.205 1036.58 134.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "377.167 1013.7 138.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new Sun() { + position = "-549.725 297.349 138.401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TSStatic() { + position = "162.643 92.2217 141.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "207.083 151.198 104.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "155.791 272.856 148.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-109.238 189.526 132.695"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-309.331 112.13 183.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-265.388 294.737 219.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-297.202 475.201 196.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-163.55 524.361 171.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "93.5089 467.364 82.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "181.885 551.563 94.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "306.105 567.036 171.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "304.631 460.142 169.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "317.697 189.289 133.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "363.139 9.44044 96.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "268.339 -28.8449 101.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "272.088 57.3167 88.5403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516.798 250.739 144.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-705.65 166.51 163.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-717.822 346.83 164.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-599.031 521.284 165.853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-435.084 445.699 216.459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-422.167 528.621 197.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-374.018 542.517 196.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284.719 331.447 231.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-162.358 487.838 199.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-103.556 516.97 156.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "29.3638 541.488 96.8104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "85.4057 641.256 157.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "106.083 672.196 158.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "136.665 636.47 153.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "94.7406 621.182 139.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "46.2954 653.982 155.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "16.2205 236.886 91.8415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-97.3939 274.723 141.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84.6299 193.282 127.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "113.501 261.421 128.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "80.6071 124.708 141.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "135.154 212.252 124.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "159.649 336.181 131.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228.497 321.473 126.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "291.25 488.189 169.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-29.6816 377.953 114.051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-119.226 372.748 153.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-194.813 177.616 157.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-351.144 144.285 172.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-275.426 8.2754 178.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg7.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-448.786 160.198 116.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg12.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-647.253 -24.7898 175.155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-678.844 30.2686 193.464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740.311 95.3581 191.898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-619.33 54.3896 135.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-592.468 137.429 149.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-669.924 291.741 120.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-531.124 348.025 146.184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-657.564 451.901 111.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "248.288 412.43 151.243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "179.092 202.793 101.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "277.919 230.778 118.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "277.344 131.733 148.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "234.996 99.663 126.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "406.071 222.583 136.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "40.5245 46.4394 140.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-82.5217 -251.064 139.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg12.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-65.3724 -103.055 133.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-95.7824 -213.99 140.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "109.233 -279.836 173.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "79.8701 -294.873 190.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "48.1192 -259.604 184.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "150.915 -295.898 185.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "164.786 -166.947 158.565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "656.991 137.508 157.448"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "623.266 89.702 141.107"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "637.747 47.4915 149.923"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "674.053 77.382 160.175"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "643.516 98.6496 159.174"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "544.843 156.597 80.554"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "438.365 -45.3505 148.123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "248.627 -207.807 194.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "448.178 -148.499 195.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "363.719 -327.915 211.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "826.348 -545.969 148.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "696.97 -662.891 156.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "525.081 -564.263 173.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "557.545 -577.136 150.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676.767 -372.584 147.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "846.93 -273.412 115.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "633.355 -176.558 149.427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484.815 -281.617 201.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "159.241 -336.103 170.184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-292.272 -178.824 136.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-377.137 -347.723 102.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492.87 -341.8 157.946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-549.691 -181.234 150.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-638.75 -301.898 181.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-293.872 -68.6798 163.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-246.9 17.0052 178.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-125.103 660.268 135.12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-287.501 721.938 125.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-366.712 844.374 120.498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-93.7778 935.253 117.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-233.632 876.098 112.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-658.647 719.314 144.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-705.939 552.866 141.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-784.257 514.073 189.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-342.852 634.706 153.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-504.373 821.148 139.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "603.947 1008.61 122.853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "296.316 737.396 121.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "343.917 900.523 121.81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "559.039 805.122 121.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476.456 975.197 117.975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "753.895 737.642 84.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "963.142 676.407 113.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new SimGroup() { + + }; + new InteriorInstance() { + position = "119.385 293.632 104.882"; + rotation = "0 0 1 222.49"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "304.288 127.032 112.026"; + rotation = "0 0 1 68.7549"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "213.255 83.0008 121.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "254.338 158.17 133.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "195.859 130.008 130.524"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "142.57 227.628 133.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "191.468 294.261 130.389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "99.4603 233.832 133.191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "54.1663 156.328 117.251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "763.267 279.751 120.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "910.419 395.406 128.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "843.98 609.32 118.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "706.66 427.305 127.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "789.656 489.297 129.066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "511.232 634.683 140.221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "574.501 520.486 120.172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-175.218 -452.407 95.1496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "231.941 -745.383 157.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "183.209 -552.261 160.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-15.5903 -591.407 125.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-225.573 -340.225 130.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-491.277 -69.4357 103.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "102.126 859.233 140.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-70.6731 740.569 97.4511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "106.172 1055.1 154.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76.4991 1063.27 159.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_BlueMoon.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_BlueMoon.mis new file mode 100644 index 00000000..48d73baf --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_BlueMoon.mis @@ -0,0 +1,2544 @@ +// DisplayName = TWL2-Blue Moon +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Blue moon..., You saw me standing alone... +// -- Rodgers & Hart +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by teslatrooper (Editing: z0dd, Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-608 -1016 1232 1088"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.700000 0.800000 0.900000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + texture4 = "special/LensFlare/flare03"; + texture0 = "special/sunFlare"; + texture2 = "special/LensFlare/flare01"; + texture3 = "special/LensFlare/flare02"; + locked = "true"; + texture1 = "special/sunFlare02"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "TWL-BlueMoon.ter"; + squareSize = "8"; + emptySquares = "82352 148143 148399 151878 86456 348740 283318 545602 480181 611393 677045 742719 873908 742974 808628 743231 808884 677951 546999 481600 416185 350785 219835 219969 154556 89154"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "BlueMoon_x2.nav"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new WaterBlock() { + position = "-1024 -1024 20"; + rotation = "1 0 0 0"; + scale = "2048 2048 95"; + liquidType = "Water"; + density = "1"; + viscosity = "8"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.9"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "363.239 -533.618 150.458"; + rotation = "0.683889 -0.11905 0.719807 27.1907"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-350.092 -518.418 152.299"; + rotation = "0.625521 0.146007 -0.766423 33.8766"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "502.351 -322.384 132.858"; + rotation = "0.82481 0.187608 -0.533377 46.1911"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-513.528 -321.279 127.428"; + rotation = "0.461097 -0.142285 0.875868 38.816"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.249971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "375"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.100000 0.650000 0.900000 1.000000"; + fogDistance = "200"; + fogColor = "0.100000 0.650000 0.900000 1.000000"; + fogVolume1 = "80 0 120"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "tesla.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "431.907 -492.155 151.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "455.46 -337.481 134.931"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + + new InteriorInstance() { + position = "393.692 -481.579 137.093"; + rotation = "0 0 1 90"; + scale = "0.6 0.6 0.5"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "428.991 -351.59 155.802"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "330.72 -730.359 207.001"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "456.57 -337.568 132.972"; + rotation = "0 0 1 63.0253"; + scale = "1.49751 1.33002 1.42679"; + interiorFile = "tes_flyingvehicle_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "459.675 -335.359 130.689"; + rotation = "0 0 1 63.0253"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + BomberFlyer = "removed"; + locked = "true"; + AssaultVehicle = "Removed"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "494.217 -318.383 120.142"; + rotation = "0 0 1 63.5984"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "504.276 -313.277 120.104"; + rotation = "0 0 -1 116.494"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "445.679 -310.339 135.829"; + rotation = "0 0 -1 29.2208"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "472.898 -363.747 135.814"; + rotation = "0 0 1 154.699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "502.854 -307.328 135.823"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "330.677 -730.334 216.974"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "292.702 -204.86 194.572"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(vehicleTurret) { + position = "494.471 -318.277 144.429"; + rotation = "0 0 1 152.98"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "372.953 -491.11 136.358"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new StaticShape() { + position = "382.919 -481.545 130.082"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "383.055 -500.761 130.079"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "292.659 -204.835 204.545"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "508.194 -318.085 135.824"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "505.535 -312.709 136.633"; + rotation = "0 0 -1 26.3561"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "371.434 -491.007 130.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-423.206 -488.029 143.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-465.541 -336.836 134.984"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-383.87 -497.171 136.515"; + rotation = "0 0 -1 90"; + scale = "0.6 0.6 0.5"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-440.423 -353.525 155.621"; + rotation = "0 0 1 123.232"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new Turret(vehicleTurret) { + position = "-501.887 -313.186 144.253"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-304.832 -206.926 214.416"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-466.352 -336.524 132.802"; + rotation = "0 0 -1 56.7229"; + scale = "1.49751 1.33002 1.42679"; + interiorFile = "tes_flyingvehicle_x2.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-340.019 -734.474 207.172"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "-511.078 -307.15 119.95"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "-501.693 -313.368 119.951"; + rotation = "0 0 -1 56.9055"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-515.565 -311.314 135.647"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-484.593 -359.499 135.65"; + rotation = "0 0 1 209.312"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "-451.691 -309.357 135.652"; + rotation = "0 0 1 32.0857"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-469.561 -334.543 130.528"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + BomberFlyer = "removed"; + locked = "true"; + AssaultVehicle = "Removed"; + }; + new StaticShape() { + position = "-373.312 -478.03 129.512"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-304.771 -206.969 204.443"; + rotation = "1 0 0 0"; + scale = "0.75 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-363.126 -487.631 135.784"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new StaticShape() { + position = "-373.215 -497.216 129.506"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-340.098 -734.574 217.145"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-508.998 -301.35 135.652"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-512.244 -306.346 136.048"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "-361.589 -487.625 129.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "-68.1931 -46.8717 141.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "156.028 -329.285 124.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "180.148 -701.75 122.217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "758.804 -266.852 137.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + + new TSStatic() { + position = "-209.227 -237.423 124.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-341.605 -286.951 117.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-136.203 -360.439 128.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.923 -771.351 127.354"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-105.144 -727.862 127.843"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-481.604 -387.74 140.892"; + rotation = "0 1 0 10.8863"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-467.633 -106.111 128.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-376.959 -102.458 130.303"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-190.662 63.7627 122.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212.856 33.6912 125.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-402.314 214.412 124.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-394.733 184.749 120.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-5.02718 271.858 129.454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "199.589 -285.93 115.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "274.201 -409.438 127.706"; + rotation = "0.256921 0.890192 0.376231 1.96117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "89.2247 -727.427 128.127"; + rotation = "0 1 0 0.573347"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "119.722 -837.854 130.517"; + rotation = "-0.707051 0.150872 0.690881 0.811801"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "362.799 -127.452 125.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "474.324 -110.76 128.716"; + rotation = "0 -1 0 0.574711"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "763.394 -328.644 127.877"; + rotation = "-6.74649e-08 -1 -1.59408e-09 2.2924"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652.105 -393.47 128.485"; + rotation = "1 0 0 0.574711"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "808.699 -561.274 128.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "198.664 -53.49 177.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52.2271 573.888 115.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "609.016 517.587 127.564"; + rotation = "0 1 0 3.43771"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "550.781 558.622 126.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "456.475 514.711 127.977"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "392.53 216.353 122.11"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "219.851 -1245.58 128.472"; + rotation = "0.256921 0.890192 0.376231 1.96117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "23.9719 -194.861 193.222"; + rotation = "0.256921 0.890192 0.376231 1.96117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "654.421 -762.246 127.899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "278.979 -248.392 177.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380.341 -622.658 175.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-814.126 -565.479 127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "554.843 -338.77 169.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(randomObjects) { + + + new SimGroup(Addition1BEPlant5) { + + + new TSStatic() { + position = "-500 -124 129.391"; + rotation = "0.0485409 0.0625445 0.996861 69.1686"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -892 131.297"; + rotation = "-0.126558 -0.126532 0.983856 30.4696"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "124 300 150.484"; + rotation = "-0.0181386 0.15585 0.987614 234.417"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 780 128.938"; + rotation = "0.00383079 -0.0117901 0.999923 126.003"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -1228 130.391"; + rotation = "-0.0856474 0.0879055 0.99244 44.3029"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 -836 129.672"; + rotation = "-0.154217 -0.154376 0.975902 24.5748"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -1172 128.938"; + rotation = "0 0 -1 86.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 604 129.172"; + rotation = "-0.17092 -0.139318 -0.975385 39.9072"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 196 128.234"; + rotation = "0.060129 0.0306862 0.997719 156.053"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1140 -516 127.672"; + rotation = "-0.741385 0.163582 -0.650837 21.3672"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -1484 127.828"; + rotation = "0.105505 -0.0294167 0.993984 125.282"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -52 128.938"; + rotation = "0 0 1 164"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-996 132 129.078"; + rotation = "-0.0108991 0.00667898 0.999918 206.998"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-812 348 128.938"; + rotation = "0 0 1 78.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1052 -332 129.375"; + rotation = "-0.00133714 -0.0524785 0.998621 125.065"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700 -1188 162.688"; + rotation = "-0.0122163 -0.137729 -0.990395 103.538"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 36 129.312"; + rotation = "0.137278 0.0763933 0.987582 131.538"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 -68 151.562"; + rotation = "-0.239829 0.0304544 -0.970337 107.651"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -1268 128.313"; + rotation = "0.048936 -0.0288255 0.998386 208.955"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 -916 129.234"; + rotation = "0.00661055 0.122274 0.992474 51.3372"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -1052 128.938"; + rotation = "0 0 -1 91"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1012 -1364 130"; + rotation = "0.00345082 0.0660862 0.997808 219.919"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 660 128.938"; + rotation = "0 0 1 152"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 -1516 128.938"; + rotation = "0 0 1 178"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -1556 117.922"; + rotation = "-0.085374 0.0626053 0.99438 166.078"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1044 708 128.938"; + rotation = "0 0 1 66.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 -1012 188.453"; + rotation = "-0.10203 -0.067532 0.992486 67.3981"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28 -604 156.062"; + rotation = "-0.0871842 -0.0118511 0.996122 213.875"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -1036 128.938"; + rotation = "0.0118506 0.0154439 0.999811 194.997"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 348 128.938"; + rotation = "0 0 1 94"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308 -1220 138.891"; + rotation = "-0.0521815 -0.138773 0.988948 109.601"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -724 129.062"; + rotation = "0.155149 -0.208226 0.965697 6.21267"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1164 -492 130.062"; + rotation = "-0.11088 -0.0577494 0.992155 202.824"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-268 -1196 130.766"; + rotation = "-0.0192453 0.0868658 0.996034 204.903"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -1580 128.938"; + rotation = "0 0 1 157"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -1204 128.891"; + rotation = "-0.0111465 -0.0134898 0.999847 64.008"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 -860 128.938"; + rotation = "0 0 1 32"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 348 128.922"; + rotation = "-0.00199837 0.00164733 0.999997 101"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 164 127.516"; + rotation = "0.0174444 0.0848726 0.996239 139.142"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "380 -1060 128.938"; + rotation = "0 0 1 180"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -244 128.938"; + rotation = "0 0 1 165"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-179.985 -611.987 127.261"; + rotation = "-0.0537396 -0.0897536 0.994513 215.815"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 556 128.938"; + rotation = "0 0 1 115"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244 -1268 128.938"; + rotation = "0.0103205 0.0033533 0.999941 126.003"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -1252 128.938"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1020 -1284 128.938"; + rotation = "0 0 -1 35.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 -1476 128.891"; + rotation = "0.0219782 -0.0171867 0.999611 224.984"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1172 -1204 148.922"; + rotation = "-0.0484966 -0.261359 -0.964023 95.094"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-171.984 -611.987 128.364"; + rotation = "-0.0227601 -0.0531372 0.998328 235.921"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -1220 153.328"; + rotation = "-0.137825 0.0503654 0.989175 221.585"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 604 129.172"; + rotation = "-0.101788 -0.0229085 -0.994542 92.3132"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 300 153.781"; + rotation = "-0.10882 -0.0203852 -0.993852 89.3533"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 628 130.563"; + rotation = "-0.345893 0.0564502 -0.936574 47.716"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 460 128.938"; + rotation = "0 0 1 211"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1036 -1252 129.25"; + rotation = "-0.0400327 -0.0501324 -0.99794 98.1173"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-708 -844 128.828"; + rotation = "0.00995269 -0.00372117 0.999943 228.997"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "788 -124 128.797"; + rotation = "-0.0099142 -0.00877682 0.999912 148.003"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 252 128.938"; + rotation = "-0.00186534 0.00574089 -0.999982 54.0007"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "372 -788 147.609"; + rotation = "-0.123377 -0.067223 0.99008 78.5594"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -364 126.297"; + rotation = "-0.18197 0.117565 0.976251 229.938"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1052 -764 128.609"; + rotation = "0.0148384 -0.0074624 0.999862 226.994"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -1204 128.938"; + rotation = "-0.0241352 0.0178177 -0.99955 36.015"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "772 420 142.75"; + rotation = "-0.351008 0.180651 -0.918781 62.206"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -348 121.031"; + rotation = "-0.608289 -0.267805 0.747171 31.7602"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -28 155.75"; + rotation = "0.201284 0.0083801 0.979497 143.708"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1140 -1100 92.0469"; + rotation = "-0.029587 0.00898181 0.999522 148.014"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 324 129.328"; + rotation = "0.0442976 0.0111296 0.998956 232.953"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "556 -1460 128.938"; + rotation = "0 0 1 163"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340 -508 128.812"; + rotation = "-0.016069 0.009989 0.999821 123.008"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1132 740 128.953"; + rotation = "0.00210889 0.000110524 -0.999998 84.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 -1428 129.344"; + rotation = "-0.0113823 -0.0391434 0.999169 167.011"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1044 -1332 128.938"; + rotation = "0 0 1 81.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1076 -1100 100.469"; + rotation = "0.220863 -0.397867 -0.890461 37.899"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -1492 128.859"; + rotation = "0.11413 -0.00319027 -0.993461 102.368"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 68 159.203"; + rotation = "0.0769961 -0.167973 0.98278 160.338"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 -700 129.625"; + rotation = "-0.0825364 0.0351385 -0.995968 78.2265"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -1060 129.469"; + rotation = "0.0355159 0.0379948 0.998647 145.045"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1028 -1284 128.938"; + rotation = "0 0 -1 7.00012"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868 -76 146.156"; + rotation = "0.660524 -0.0122654 -0.750705 14.6182"; + scale = "1.6 1.6 1.6"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "748 -332 128.938"; + rotation = "-0.00148563 -0.0141348 -0.999899 102.005"; + scale = "1.7 1.7 1.7"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BEPlant25) { + + + new TSStatic() { + position = "-388 420 130.328"; + rotation = "0.0375678 -0.217006 -0.975447 49.0671"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -1044 140.594"; + rotation = "-0.0869524 -0.00314424 0.996208 122.184"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 884 129.203"; + rotation = "-0.0264524 -0.0715044 0.997089 36.0983"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -716 128.922"; + rotation = "-0.10419 0.0278695 0.994167 57.2816"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -196 128.938"; + rotation = "0 0 1 217"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -124 132.813"; + rotation = "-0.190593 -0.0589198 -0.979899 43.7996"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 212 131.547"; + rotation = "-0.0376043 0.156717 -0.986927 52.5968"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -340 128.219"; + rotation = "0.0985548 -0.0814225 0.991795 133.344"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 780 128.938"; + rotation = "0 0 -1 19.0001"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508 -476 199.359"; + rotation = "-0.00448796 0.236489 0.971624 23.6531"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 908 128.906"; + rotation = "0.0127901 -0.00439108 -0.999909 96.0054"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -316 130.125"; + rotation = "-0.103142 -0.0194187 -0.994477 63.2832"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1028 -964 143.25"; + rotation = "0.143893 -0.0036058 0.989587 214.657"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500 -468 197.578"; + rotation = "0.304052 0.432311 -0.848917 26.9547"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1204 364 128.938"; + rotation = "-0.0053494 -0.0180593 0.999823 236.991"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396 492 128.938"; + rotation = "0 0 1 51"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -1500 128.938"; + rotation = "0 0 1 2.99997"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 564 128.563"; + rotation = "-0.0583908 0.07259 -0.995651 35.1435"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1244 -956 202.219"; + rotation = "-0.167558 0.105272 -0.980226 64.024"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "796 108 128.938"; + rotation = "0 0 1 172"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -1548 129.047"; + rotation = "-0.00149532 -0.0121783 -0.999925 104.004"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 860 128.938"; + rotation = "0 0 1 193"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 -980 128.938"; + rotation = "0.0146988 0.0338047 0.99932 222.973"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -124 128.828"; + rotation = "0.0854739 -0.053765 0.994889 155.124"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 -1420 130.672"; + rotation = "-0.225184 0.147643 0.963065 50.6474"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -1364 121.891"; + rotation = "0.108622 -0.0334348 -0.993521 91.3719"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -116 129.328"; + rotation = "0.0510312 -0.0224916 0.998444 82.0883"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -324 129.437"; + rotation = "-0.0269422 -0.0438613 0.998674 151.037"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540 -964 128.453"; + rotation = "0.139118 -0.129293 0.981799 26.4652"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -1404 128.938"; + rotation = "0 0 1 35"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-124 -564 136.422"; + rotation = "-0.0173016 -0.0485924 0.998669 220.95"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-500 12 133.734"; + rotation = "-0.706053 0.404111 -0.581535 12.0082"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -964 174.734"; + rotation = "0.00475466 0.0614321 -0.9981 65.0989"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 796 128.938"; + rotation = "0 0 1 2.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1316 -396 138.453"; + rotation = "0.0765034 -0.0149356 0.996957 197.946"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -260 128.938"; + rotation = "0.0188979 0.00132151 -0.999821 82.0099"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "988 276 132.344"; + rotation = "-0.0616291 0.012248 0.998024 95.1127"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1148 -324 128.938"; + rotation = "0 0 -1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "980 -1116 96.1718"; + rotation = "-0.128351 -0.0027423 -0.991725 82.4715"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 372 129.359"; + rotation = "-0.106653 0.0649329 -0.992174 111.42"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -588 129.738"; + rotation = "0 0 -1 70.0005"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -1660 154.781"; + rotation = "0.00579906 0.158184 0.987393 154.317"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 124 133.578"; + rotation = "-0.0136375 -0.148818 -0.988771 32.3445"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1196 884 107.578"; + rotation = "-0.140316 -0.0636431 0.988059 178.024"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-764 -1148 128.938"; + rotation = "0 0 -1 22.9999"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-556 4 128.938"; + rotation = "0 0 1 102"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-548 -700 153.844"; + rotation = "0.391356 -0.788004 0.475279 20.8604"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1084 -436 148.719"; + rotation = "0.0201284 0.0785243 0.996709 171.029"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1244 916 128.938"; + rotation = "0 0 -1 105"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 908 129.094"; + rotation = "0.0137202 0.0291458 0.999481 51.0231"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1116 508 128.938"; + rotation = "0 0 1 175"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -1620 145.266"; + rotation = "0.0723875 -0.108393 0.991469 98.4857"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 -1460 129.203"; + rotation = "-0.0308053 0.0605401 0.99769 113.122"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "932 172 128.938"; + rotation = "0 0 1 119"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1188 -292 144.922"; + rotation = "-0.0539235 0.405522 0.912493 28.3967"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -516 129.703"; + rotation = "-0.0181977 -0.00617493 0.999815 187.998"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-972 -508 129.047"; + rotation = "0.000766589 0.0442075 0.999022 69.0523"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1004 -372 100.953"; + rotation = "0.177486 0.10928 -0.978037 86.2685"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1140 492 129.75"; + rotation = "0.0234762 0.102339 0.994473 152.149"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 844 128.969"; + rotation = "-0.0249058 -0.00620259 0.999671 78.0186"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -100 132"; + rotation = "-0.0415494 0.135661 -0.989884 84.5795"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 -1588 128.938"; + rotation = "0 0 -1 34.0002"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 -1340 121.547"; + rotation = "-0.0758297 -0.130637 0.988526 223.543"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -564 129.516"; + rotation = "-0.170804 0.199175 -0.964964 34.1295"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-676 -724 128.938"; + rotation = "0 0 1 109"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 340 129.359"; + rotation = "0.208435 -0.165842 -0.963873 16.5917"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 -1348 129.562"; + rotation = "0.0392104 -0.00638333 0.999211 192.99"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 -116 129.75"; + rotation = "0.0886166 -0.0656092 0.993903 180"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "716 -44 128.938"; + rotation = "0 0 -1 75.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 396 161.094"; + rotation = "0.103884 0.0921336 0.990313 190.894"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-828 -156 128.391"; + rotation = "-0.0596429 0.00757268 0.998191 119.09"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1012 804 129.25"; + rotation = "0.0313908 0.0104947 0.999452 192.993"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -1140 128.938"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -740 128.938"; + rotation = "0 0 1 126"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1260 -188 128.938"; + rotation = "0 0 -1 67.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -324 129.437"; + rotation = "-0.955994 0.293385 4.47524e-05 5.71355"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -1564 128.938"; + rotation = "0.0172355 0.011408 -0.999786 23.0047"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -1060 128.938"; + rotation = "0 0 1 155"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "708 -1428 163.797"; + rotation = "-0.034425 -0.181075 0.982867 50.7628"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "740 -1124 130.625"; + rotation = "-0.13479 -0.0102515 -0.990821 112.489"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1260 -340 129.359"; + rotation = "-0.0185191 0.0471058 0.998718 100.072"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 532 128.938"; + rotation = "0 0 1 7.99996"; + scale = "1.7 1.7 1.7"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 380 129.141"; + rotation = "-0.0184867 -0.0414118 -0.998971 114.054"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1164 508 128.938"; + rotation = "0 0 -1 17.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "476 -1460 128.938"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 828 129.891"; + rotation = "-0.276553 0.341678 -0.898206 25.5253"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "596 684 128.938"; + rotation = "0 0 -1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 324 131.984"; + rotation = "-0.0449591 -0.0120367 0.998916 192.986"; + scale = "1.6 1.6 1.6"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532 564 128.625"; + rotation = "-0.7497 -0.201742 0.630278 12.6616"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-908 -1548 128.938"; + rotation = "0 0 -1 8.99978"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1100 356 128.938"; + rotation = "0 0 -1 25.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 876 129.406"; + rotation = "0.0230656 0.00851335 0.999698 157.007"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -1492 128.781"; + rotation = "-0.0140266 -0.0043706 0.999892 158.002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "764 -1060 133.859"; + rotation = "0.124131 0.0239822 0.991976 137.314"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -1652 162.375"; + rotation = "-0.0013718 -0.15457 0.987981 113.636"; + scale = "1.5 1.5 1.5"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 -1172 128.938"; + rotation = "0 0 1 22"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "332 780 128.938"; + rotation = "0.0111204 -0.00058279 -0.999938 96.0037"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 812 132.094"; + rotation = "-0.353933 0.0584558 0.933442 47.8583"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1236 -1028 129.031"; + rotation = "-0.00515314 0.0168552 -0.999845 56.0075"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "772 -1228 129.328"; + rotation = "-0.0102243 0.056328 -0.99836 74.0903"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-506.494 -311.42 145.424"; + rotation = "0 0 1 33.8045"; + scale = "5.22372 22.5115 0.1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "500.233 -317.516 145.448"; + rotation = "0 0 -1 26.3561"; + scale = "5.22372 22.5115 0.1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_CanyonCrusadeDeluxe.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_CanyonCrusadeDeluxe.mis new file mode 100644 index 00000000..da7ae301 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_CanyonCrusadeDeluxe.mis @@ -0,0 +1,819 @@ +// DisplayName = TWL2-Canyon Crusade Deluxe +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//i decided to take Chelsea and make a dream team :P +// -- Pythone +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by DeeVee (Textures: peachskin, Thanks: Narcot!c, ilys and Sabre, Editing: Celios) +//--- MISSION STRING END --- + +exec("scripts/ScaleForceFields.cs"); + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-672 -536 1136 976"; + flightCeiling = "350"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.710000 0.710000 0.710000 1.000000"; + fogDistance = "150"; + fogColor = "0.710000 0.710000 0.710000 1.000000"; + fogVolume1 = "150 0 50"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "canyon_crusade.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 255.000000 128.000000 0.000000"; + fogVolumeColor2 = "0.000000 0.000000 0.000000 0.000000"; + fogVolumeColor3 = "0.000000 0.000000 0.000000 0.000000"; + high_visibleDistance = "575"; + high_fogDistance = "450"; + high_fogVolume1 = "250 0 75"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "CCD.ter"; + squareSize = "8"; + emptySquares = "96907 97163 97371 97419 97627 97883 232519 232775 233031 233117 233287 233373 233629 233885"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "ccd.nav"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "10.2183 0.00491571 112.721"; + rotation = "0.236024 -0.154854 0.959329 68.7372"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-476.835 140.603 110.533"; + rotation = "0.0863476 -0.192652 0.977461 132.683"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "72.9779 68.6762 74.4894"; + rotation = "0.0596606 -0.0590982 0.996468 89.66"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-375.959 72.0003 78.2712"; + rotation = "0.0505586 -0.136024 0.989415 139.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-338.404 -45.08 61.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-367.154 152.27 65.892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new ForceFieldBare(baseff) { + position = "-448.388 108.126 63.1125"; + rotation = "-0 0 -1 0.573347"; + scale = "0.295763 6.72011 4.28754"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-450.181 111.474 70.3199"; + rotation = "-0 0 -1 89.9542"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + + new InteriorInstance() { + position = "-448.925 106.457 73.0675"; + rotation = "-0 0 -1 89.9542"; + scale = "1 1 1"; + interiorFile = "ccbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-444.7 107.938 76.9901"; + rotation = "0 0 1 95.6837"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-232.336 53.3677 69.3182"; + rotation = "1 0 0 0"; + scale = "1.26824 1.80997 1.2429"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-439.111 111.373 63.038"; + rotation = "0 0 1 91.1005"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-441.213 116.312 64.065"; + rotation = "0 0 -1 89.9541"; + scale = "0.6 0.56 0.76"; + nameTag = "Rear Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-441.042 106.615 66.0761"; + rotation = "-0.706826 0.707387 -0.000563023 179.935"; + scale = "0.6 0.5 0.7"; + nameTag = "Rear Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-341.82 68.0745 63.7217"; + rotation = "0 0 1 83.6515"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + zappingSound = "0"; + locked = "true"; + originalBarrel = "ELFBarrelLarge"; + }; + }; + new SimGroup(Base2) { + + + new InteriorInstance() { + position = "-303.005 -13.8972 70.4858"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "ccbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-281.64 -27.0899 51.4655"; + rotation = "0 0 1 1.71869"; + scale = "1 1 1"; + nameTag = "Front Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-287.626 -18.4131 51.4788"; + rotation = "0 0 1 89.9548"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-292.767 -32.0197 51.476"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-288.844 -12.8047 60.36"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-232.312 52.7546 81.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + }; + new Item() { + position = "-362.033 65.9024 63.2792"; + rotation = "0 0 -1 96.2569"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "178.491 154.969 57.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "157.673 -30.132 61.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new StaticShape() { + position = "250.388 127.713 68.7758"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare(baseff) { + position = "248.647 131.199 61.5375"; + rotation = "0 0 1 179.336"; + scale = "0.295763 6.72011 4.28754"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + + new InteriorInstance() { + position = "249.222 132.739 71.5375"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "ccbase1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "244.692 130.465 75.4601"; + rotation = "0 0 -1 91.2832"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "24.6279 36.2203 68.0691"; + rotation = "1 0 0 0"; + scale = "1.26824 1.80997 1.2429"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "239.732 127.605 61.508"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "241.34 122.902 62.5362"; + rotation = "0 0 1 89.9549"; + scale = "0.6 0.5 0.7"; + nameTag = "Rear Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "241.345 132.568 64.549"; + rotation = "0.706826 0.707388 0.000560162 179.934"; + scale = "0.6 0.5 0.7"; + nameTag = "Rear Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "135.488 65.4108 63.7118"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + zappingSound = "0"; + locked = "true"; + originalBarrel = "ELFBarrelLarge"; + }; + }; + new SimGroup(Base2) { + + + new InteriorInstance() { + position = "103.391 -43.0341 71.8243"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "ccbase2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "24.7999 35.9175 80.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape() { + position = "82.8131 -30.1093 52.81"; + rotation = "0 0 1 181.627"; + scale = "1 1 1"; + nameTag = "Front Bunker"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "93.3242 -24.5751 52.7905"; + rotation = "-0 0 -1 1.71915"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "87.7601 -38.8987 52.7958"; + rotation = "0 0 -1 93.3921"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "89.8936 -44.0714 61.68"; + rotation = "0 0 1 179.335"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "156.27 65.3285 63.3792"; + rotation = "0 0 -1 88.2355"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + searchSchedule = "52640"; + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Neutral) { + + + new TSStatic() { + position = "163.772 20.7016 61.6088"; + rotation = "0 0 1 84.7977"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-362.683 65.7825 69.9594"; + rotation = "0 0 -1 96.2569"; + scale = "1 1 1"; + interiorFile = "ccflagstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "156.543 65.0802 69.9594"; + rotation = "0 0 1 90.5269"; + scale = "1 1 1"; + interiorFile = "ccflagstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-401.808 8.80182 70.9777"; + rotation = "0 0 1 8.02127"; + scale = "1 1 1"; + interiorFile = "cctower.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "213.5 22.1645 70.4447"; + rotation = "0 0 1 17.1887"; + scale = "1 1 1"; + interiorFile = "cctower.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-371.271 8.88939 61.2075"; + rotation = "0 0 1 25.2101"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356.178 22.8024 61.7013"; + rotation = "0 0 1 41.2529"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-353.786 25.5586 61.7013"; + rotation = "0 0 1 41.2529"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-354.663 24.296 65.4329"; + rotation = "0 0 1 41.2529"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-349.858 7.98157 61.0089"; + rotation = "0 0 1 89.3814"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-384.342 103.64 61.1809"; + rotation = "0 0 1 83.0789"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-368.546 106.611 61.2909"; + rotation = "0 0 1 140.374"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-377.782 107.816 60.8975"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new Item() { + position = "-377.794 107.845 63.0525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "149.36 108.232 64.0625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "149.308 108.307 61.8875"; + rotation = "-0 0 -1 15.6524"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "157.953 111.439 62.5809"; + rotation = "0 0 1 118.42"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "142.682 105.26 61.7809"; + rotation = "0 0 1 17.5791"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "177.179 10.6183 61.9759"; + rotation = "0 0 1 193.66"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180.45 27.3079 66.1279"; + rotation = "0 0 1 68.7549"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "181.811 28.0231 62.3963"; + rotation = "0 0 1 68.7549"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "178.417 26.6829 62.3963"; + rotation = "0 0 1 68.7549"; + scale = "1.42825 1.80144 1.88454"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-362.008 65.8956 63.0719"; + rotation = "-0 0 -1 6.87562"; + scale = "1 1 1"; + interiorFile = "dox_bb_fstand_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "156.291 65.3329 63.1719"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + interiorFile = "dox_bb_fstand_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Celerity.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Celerity.mis new file mode 100644 index 00000000..b7fd38cc --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Celerity.mis @@ -0,0 +1,939 @@ +// DisplayName = TWL2-Celerity +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//It may be that the race is not always to the swift... but that is the way to bet. +// -- Damon Runyan +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//No vehicle stations +//Map by {FSC}Meanie (Overhaul: =Sabre=, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "10"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-96 -568 768 1280"; + flightCeiling = "350"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.300000 0.320000 0.300000 1.000000"; + ambient = "0.200000 0.250000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "CeleritySE.ter"; + squareSize = "8"; + emptySquares = "88997 112545"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "Quagmire.nav"; + coverage = "0"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(ob1) { + position = "167.993 223.144 119.8"; + rotation = "0.896193 -0.0640941 0.439011 18.5053"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(ob2) { + position = "158.048 -141.825 123.222"; + rotation = "0.104406 -0.182201 0.977702 121.481"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambience) { + + }; + new SimGroup(RandomOrganics) { + + + new SimGroup(Addition1BELgTree16) { + + + new TSStatic() { + position = "298.727 28.758 107.604"; + rotation = "0 0 1 114"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "741.5 -185.5 113.323"; + rotation = "0 0 1 162.281"; + scale = "1.6 1.6 1.6"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-240.5 -485.5 60.8859"; + rotation = "0 0 1 155"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-368.5 468.5 62.6"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "487.489 -9.26797 120.4"; + rotation = "0 0 1 218.043"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "627.5 -555.5 91.0586"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-255.423 70.8 83.0898"; + rotation = "0 0 -1 113.434"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "58.3958 160.692 124.932"; + rotation = "0 0 1 218.043"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "405.683 304.557 78.4655"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "639.882 269.992 93.6103"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "527.094 640.29 91.9717"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "191.433 849.398 67.4354"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-90.6304 839.915 101.045"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-203.829 351.795 108.01"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.536 -185.043 58.4142"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "619.259 459.081 65.916"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + + new TSStatic() { + position = "-337.376 -483.645 59.8024"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "198.364 -722.387 61.9833"; + rotation = "0 0 1 170"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-623.5 -115.5 91.6101"; + rotation = "0 0 1 182"; + scale = "0.7 0.7 0.7"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + + + new TSStatic() { + position = "-425.5 308.5 95.4988"; + rotation = "0 0 -1 117"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "527.911 -323.316 84.1855"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree19) { + + + new TSStatic() { + position = "278.68 -736.469 117.196"; + rotation = "0 0 1 9.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "157.652 457.373 84.5391"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "298.818 -637.734 109.933"; + rotation = "0 0 1 58"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "630.665 -433.668 82.8801"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508.749 109.637 91.297"; + rotation = "0 0 1 42"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-103.623 -395.453 61.6848"; + rotation = "0 0 -1 67"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-573.5 382.5 95.1579"; + rotation = "0 0 1 168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-475.5 268.5 116"; + rotation = "0 0 1 109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "19.5 453.5 89.166"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.77 -30.878 74.427"; + rotation = "0 0 -1 105.481"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "411.657 -303.183 84.0156"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-157.157 -171.549 63.7016"; + rotation = "0.983756 0.175873 -0.0359465 16.2772"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108.53 -142.656 66.1773"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-362.622 -17.61 86.7182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "452.745 -266.62 82.1616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "60"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "324.061 -344.922 93.4866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "40"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new StaticShape() { + position = "384.102 -340.452 125.849"; + rotation = "0 0 -1 26.3561"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "449.857 -180.171 88.8488"; + rotation = "0 0 1 234.339"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "450.749 -184.858 82.795"; + rotation = "0 0 1 144.385"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "370.741 -234.22 65.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "447.963 -181.509 94.314"; + rotation = "0 0 1 53.8578"; + scale = "1 1 1"; + nameTag = "Front Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + wasDisabled = "1"; + }; + new InteriorInstance() { + position = "298.933 -291.332 81.4599"; + rotation = "0 0 1 89.9545"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "299.678 -291.289 82.4405"; + rotation = "0 0 -1 90.1365"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "298.883 -291.332 89.906"; + rotation = "0 0 1 89.9545"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + zappingSound = "0"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "352.866 -166.695 87.8469"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.7"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "353.425 -166.71 94.845"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + zappingSound = "0"; + locked = "true"; + }; + new Item() { + position = "367.733 -240.207 62.5574"; + rotation = "0 0 -1 50.9934"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(BaseTower1) { + + providesPower = "1"; + + new Item() { + position = "378.812 -340.139 99.155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "383.564 -339.341 92.6737"; + rotation = "0 0 1 152.589"; + scale = "1 1.33094 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "386.129 -344.317 108.658"; + rotation = "0 0 1 152.406"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "387.266 -346.46 103.975"; + rotation = "0.645068 -0.396207 0.653382 221.967"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "299.552 -301.563 83.5329"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + new Item() { + position = "299.56 -301.583 85.5082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "113.512 423.702 84.9174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "40"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "240.926 495.561 92.6297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "40"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base1) { + + + new StaticShape() { + position = "180.807 491.266 125.108"; + rotation = "0 0 1 164.621"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "115.605 334.014 89.258"; + rotation = "0 0 1 57.8685"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "114.998 338.754 83.2042"; + rotation = "-0 0 -1 32.0857"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "203.192 398.215 65.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "117.559 335.263 94.7232"; + rotation = "0 0 1 237.96"; + scale = "1 1 1"; + nameTag = "Front Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + wasDisabled = "0"; + repairedBy = "4510"; + }; + new InteriorInstance() { + position = "269.031 444.129 81.569"; + rotation = "-0 0 -1 89.9547"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "268.337 444.138 82.5496"; + rotation = "0 0 1 89.9545"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "269.081 444.13 90.0151"; + rotation = "-0 0 -1 89.9546"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + deleteLastProjectile = "1"; + zappingSound = "0"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "215.161 319.557 87.7561"; + rotation = "0 0 1 179.518"; + scale = "0.6 0.6 0.7"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "214.751 319.594 94.7522"; + rotation = "0 0 1 89.5643"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + zappingSound = "0"; + locked = "true"; + }; + new Item() { + position = "200.388 391.965 62.6191"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(BaseTower1) { + + providesPower = "1"; + + new Item() { + position = "185.986 489.635 98.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "181.144 489.936 91.9328"; + rotation = "-0 0 -1 15.2886"; + scale = "1 1.33094 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "179.683 495.339 107.917"; + rotation = "-0 0 -1 15.5094"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "179.008 497.684 103.236"; + rotation = "0.527095 0.676922 0.513759 110.965"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + }; + new Item() { + position = "268.422 454.381 85.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "268.43 454.361 83.6987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.300000 0.300000 0.300000 0.000000"; + fogDistance = "195"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "500 0 95"; + fogVolume2 = "1000 95 150"; + fogVolume3 = "2000 150 300"; + materialList = "lush_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new Lightning() { + position = "-17.1993 -45.948 89.38"; + rotation = "0 0 -1 2.86544"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "1"; + strikeWidth = "1.5"; + chanceToHitTarget = "0.2"; + strikeRadius = "10"; + boltStartRadius = "15"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "34.0844 -37.5399 86.6951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.800000 0.800000 0.800000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "2.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_CloakOfNight.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_CloakOfNight.mis new file mode 100644 index 00000000..e6e9537a --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_CloakOfNight.mis @@ -0,0 +1,551 @@ +// DisplayName = TWL2-Cloak of Night +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Sex is like hacking. You get in, you get out, and you hope you didn't leave something behind that can be traced back to you. +// -- Unknown +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Sabre and DeeVee (Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + musicTrack = "ice"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "-672 -672 1424 1424"; + flightCeiling = "550"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-1072 -1640 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.300000 0.300000 0.300000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "cloak.ter"; + squareSize = "8"; + emptySquares = "151894 283221 349013 545875 611667 677459 546644 415829 285014 88664 307379 438706 570033 570289 570545 505265 374450 309171 243892"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "cloak.nav"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1072 -1640 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudText[0] = "rawr"; + cloudHeightPer[0] = "0.05"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.00025"; + cloudSpeed2 = "0.003"; + cloudSpeed3 = "0.002"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.100000 0.100000 0.100000 0.000000"; + fogDistance = "250"; + fogColor = "0.000000 0.000000 0.001000 1.000000"; + fogVolume1 = "500 0 250"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_cloak.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 7.98987e-39 4.77557e-39"; + high_fogVolume2 = "-1 1.2949e-38 1.1755e-38"; + high_fogVolume3 = "-1 2.93875e-39 2.93878e-39"; + + cloudSpeed0 = "0.000000 0.000300"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "2.57441 -77.8491 238.55"; + rotation = "0.887855 -0.1662 0.429059 47.1421"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "427.64 272.752 196.263"; + rotation = "0.99008 -0.0346316 0.13617 28.8127"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-456.09 -260.829 200.905"; + rotation = "0.124662 -0.2468 0.961015 128.214"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new InteriorInstance() { + position = "438.249 432.305 117.994"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + interiorFile = "conbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "412.001 402.814 129.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "407.751 417.949 111.852"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "426.644 398.194 111.835"; + rotation = "0 0 1 46.227"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "418.358 390.179 111.791"; + rotation = "0 0 1 174.179"; + scale = "1.2 1.2 1.2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "400.224 409.549 111.799"; + rotation = "0 0 -1 84.2248"; + scale = "1.2 1.2 1.2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "410.926 411.811 121.426"; + rotation = "0.359523 0.861096 0.359523 98.4991"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "426.428 449.777 118.69"; + rotation = "0 0 1 45.8367"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new SpawnSphere() { + position = "461.223 452.262 115.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new StaticShape() { + position = "415.389 407.267 144.662"; + rotation = "0 0 1 225.745"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "507.948 259.789 213.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "512.578 255.82 207.506"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "442.903 432.854 118.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new StaticShape() { + position = "-312.154 -323.455 141.985"; + rotation = "0 0 1 46.7997"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-357.828 -366.348 111.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new Turret() { + position = "-324.046 -365.844 116.013"; + rotation = "0 0 1 226.891"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + teamDamageStateOnZap = "0"; + zapSound = "0"; + deleteLastProjectile = "1"; + zappingSound = "0"; + locked = "true"; + wasDisabled = "1"; + }; + new Turret() { + position = "-307.808 -328.087 118.749"; + rotation = "0.676535 -0.289807 0.676987 212.324"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + wasDisabled = "1"; + }; + new StaticShape() { + position = "-296.766 -326.249 109.122"; + rotation = "0 0 1 91.1003"; + scale = "1.2 1.2 1.2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + wasDisabled = "1"; + }; + new StaticShape() { + position = "-314.737 -306.542 109.114"; + rotation = "0 0 1 0.963466"; + scale = "1.2 1.2 1.2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + wasDisabled = "1"; + }; + new StaticShape() { + position = "-323.241 -314.176 109.158"; + rotation = "0 0 1 227.282"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + wasDisabled = "1"; + }; + new StaticShape() { + position = "-304.658 -334.167 109.175"; + rotation = "0 0 1 226.318"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + wasDisabled = "1"; + }; + new Item() { + position = "-308.658 -319.028 126.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-335.471 -348.067 115.317"; + rotation = "0 0 1 46.9827"; + scale = "1 1 1"; + interiorFile = "conbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-439.444 -190.823 206.91"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-434.808 -194.784 212.914"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-340.282 -348.65 116.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Neutral) { + + + new InteriorInstance() { + position = "-27.1868 105.952 166.841"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + interiorFile = "conspire.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "125.276 119.551 157.335"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + interiorFile = "conspire.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-34.4988 -45.4257 157.542"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "conspire.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "117.634 -35.4912 170.535"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + interiorFile = "conspire.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-356.178 -334.324 115.909"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-357.663 -332.6 115.905"; + rotation = "0 0 -1 41.253"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356.842 -333.359 117.734"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "459.659 418.763 118.706"; + rotation = "0 0 -1 41.253"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460.48 418.004 120.535"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "461.144 417.039 118.71"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Crevice.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Crevice.mis new file mode 100644 index 00000000..87075baf --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Crevice.mis @@ -0,0 +1,579 @@ +// DisplayName = TWL2-Crevice +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//i once cross-dressed +//it looked tight ;] +// -- Phobia +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Partially closed flagstand +//Forcefields are frictionless +//Map by Adept (Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-728 -560 1376 1296"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "TWL2_Crevice.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "MissionBlank.nav"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.600000 0.600000 0.800000 0.000000"; + fogDistance = "150"; + fogColor = "0.750000 0.750000 0.750000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "ocular.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.29762e-38 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 3.29763e-38 4.39863e-38"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "5.61718 -314.716 81.6866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new Item() { + position = "6.20776 -296.081 79.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + searchSchedule = "16897"; + locked = "true"; + }; + new ForceFieldBare(rff) { + position = "25.2054 -307.756 95.778"; + rotation = "1 0 0 0"; + scale = "0.491346 24.1862 6.26093"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + quickPass = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "6.20622 -295.725 34.5279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ForceFieldBare(lff) { + position = "-13.2911 -307.751 95.819"; + rotation = "1 0 0 0"; + scale = "0.49381 24.1079 6.21169"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + quickPass = "1"; + locked = "true"; + }; + new ForceFieldBare(cff) { + position = "-5.83581 -276.722 95.808"; + rotation = "1 0 0 0"; + scale = "24.1099 0.495148 6.22198"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare(bff) { + position = "-5.8517 -315.222 95.742"; + rotation = "1 0 0 0"; + scale = "24.1406 0.495514 6.28783"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + quickPass = "1"; + locked = "true"; + }; + new StaticShape() { + position = "6.32257 -295.785 132.925"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "6.24057 -295.918 130.923"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "splat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "17.9123 -298.086 104.563"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-5.47155 -293.293 104.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "20.0749 -304.964 94.467"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "15.3562 -309.652 94.51"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-2.88691 -281.827 94.489"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-7.72556 -286.609 94.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.34627 -295.902 130.983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "6.30003 -295.742 95.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "5.20717 307.446 79.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance(InteriorInstance) { + position = "6.20622 288.325 34.3279"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "6.24057 288.325 130.723"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "splat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "6.20622 288.325 79.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + new ForceFieldBare(bff) { + position = "-5.89642 307.328 95.128"; + rotation = "1 0 0 0"; + scale = "24.2406 0.491302 6.70634"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + quickPass = "1"; + locked = "true"; + }; + new ForceFieldBare(cff) { + position = "-5.92494 268.83 95.572"; + rotation = "1 0 0 0"; + scale = "24.3542 0.492554 6.26203"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare(rff) { + position = "-13.2911 276.202 95.52"; + rotation = "1 0 0 0"; + scale = "0.496515 24.2028 6.31095"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + quickPass = "1"; + locked = "true"; + }; + new ForceFieldBare(lff) { + position = "24.9665 276.254 95.239"; + rotation = "1 0 0 0"; + scale = "0.73147 24.205 6.59248"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + quickPass = "1"; + locked = "true"; + }; + new StaticShape() { + position = "17.9123 285.925 104.316"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-5.48175 290.825 104.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "6.30003 288.481 95.471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "15.323 274.445 94.33"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "20.0773 279.211 94.33"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-7.69215 297.445 94.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-2.89885 302.203 94.33"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "6.29804 288.337 130.783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "6.2143 288.434 132.724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + }; + new SimGroup(RandomOrganics) { + + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(obs1) { + position = "-57.3423 -188.793 145.69"; + rotation = "0.0520745 -0.188 0.980788 149.603"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(obs2) { + position = "38.8409 204.843 136.312"; + rotation = "0.728947 0.132646 -0.671596 30.3207"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +package Cel_Crevice +{ + +function CTFGame::missionLoadDone(%game) +{ + Parent::missionLoadDone(%game); + + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup > 0) { + for(%i = 0; %i < %pzGroup.getCount(); %i++) { + %pz = %pzGroup.getObject(%i); + + if(%pz.ffield.quickPass == 1) { + %pz.delete(); + %i--; + } + } + } +} + +function CTFGame::gameOver(%game) +{ + Parent::gameOver(%game); + deactivatePackage(Cel_Crevice); +} + +}; +activatePackage(Cel_Crevice); diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Dissention.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Dissention.mis new file mode 100644 index 00000000..a61763e6 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Dissention.mis @@ -0,0 +1,1124 @@ +// DisplayName = TWL2-Dissention +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Life is wasted on the living. +// -- Douglas Adams +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]700 points to win +//Map by Doja (Editing: The Driver, DeeVee and Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "6"; + CTF_scoreLimit = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-664 -688 1328 1408"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.620000 0.640000 0.742000 1.000000"; + fogDistance = "250"; + fogColor = "0.000000 0.900000 0.900000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new Sun() { + position = "1024 512 1000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 1.000000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture1 = "special/sunFlare02"; + texture4 = "special/LensFlare/flare03"; + texture3 = "special/LensFlare/flare02"; + locked = "true"; + texture0 = "special/sunFlare"; + texture2 = "special/LensFlare/flare01"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Euro4_Dissention.ter"; + squareSize = "8"; + emptySquares = "84831 150623 151387 151394 86108 86114 88666 219993 351320 220505 171182 106418 106674 172718 107427 238754 304546 239266 108451"; + + visibleDistance = "1000"; + hazeDistance = "475"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "Damnation.nav"; + position = "0 0 0 1"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + XDimOverSize = "0"; + }; + new SimGroup(Teams) { + + + new SimGroup(team0) { + + + new TSStatic() { + position = "327.122 -468.331 94.5612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "635.833 -355.401 103.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-2.61446 -2.98437 77.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-426.819 194.067 60.3182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-441.169 213.073 59.3832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-409.027 216.384 61.8914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "27.5443 -0.109045 99.6368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4.40876 35.6633 88.5607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28.2896 13.3686 90.6622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-39.4823 -13.6279 89.8938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "144.766 -57.6976 61.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "239.891 -98.8388 88.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "224.27 -216.1 119.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "119.974 -239.522 98.9528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-107.312 -141.584 67.9856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60.5556 -379.251 92.0385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2.61655 -279.764 75.7352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "339.47 -294.132 81.6739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "402.749 -22.3358 74.2152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(ff) { + + providesPower = "1"; + + new ForceFieldBare(ff1) { + position = "381.197 248.244 123.392"; + rotation = "1 0 0 0"; + scale = "0.314728 8.3674 6.37461"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-291.58 -333.181 121.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "-304.577 -334.077 120.535"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-320.374 -336.617 120.545"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-336.174 -339.167 120.559"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-351.97 -341.707 120.559"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-377.724 -339.787 125.014"; + rotation = "0 0 -1 99.1217"; + scale = "2.01045 2.0211 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-364.467 -343.763 121.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "-300.1 -283.535 124.008"; + rotation = "0 0 1 89.9547"; + scale = "1 1 1"; + interiorFile = "Euro4_Dissention_dox_bb_bunkera_x2.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-306.784 -271.225 126.451"; + rotation = "0 0 1 30.3667"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-300.072 -280.319 127.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-300.065 -302.26 126.499"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-293.639 -271.292 126.47"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-278.797 -283.541 134.295"; + rotation = "0 0 -1 0.0395647"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-321.404 -283.477 134.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "-300.053 -296.823 141.359"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-300.122 -270.256 141.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-132.249 -347.094 76.0569"; + rotation = "0 0 1 154.881"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-130.196 -350.792 72.3865"; + rotation = "0 0 -1 114.592"; + scale = "1 1 1"; + interiorFile = "Euro4_Dissention_dox_bb_hangar_x2.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-263.575 -354.01 128.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Euro4_Dissention_rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-257.774 -396.233 124.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-257.928 -385.972 130.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-257.668 -425.853 116.395"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-248.579 -376.912 116.9"; + rotation = "0 0 1 44.1178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-300.431 -283.567 143.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-281.421 -376.631 115.726"; + rotation = "-0.0160792 0.996551 0.0814094 35.064"; + scale = "2.04634 1.75434 1.53514"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-235.925 -374.636 117.52"; + rotation = "0.15765 -0.0830286 0.983998 182.935"; + scale = "2.04634 1.75434 1.53514"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-247.769 -410.629 114.75"; + rotation = "-0.0223884 0.444791 -0.895355 104.958"; + scale = "2.04634 1.75434 1.53514"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-286.097 -376.703 112.973"; + rotation = "1 0 0 0"; + scale = "1.01198 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-264.062 -413.635 115.431"; + rotation = "-0.387099 -0.395234 0.833033 99.235"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-318.241 -288.617 126.936"; + rotation = "0.577044 -0.577503 -0.577504 119.947"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "-266.501 -376.882 116.9"; + rotation = "0 0 -1 45.2636"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Other1) { + + + new TSStatic() { + position = "-189.303 -245.132 115.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-342.707 -283.724 117.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-269.034 -214.606 129.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-278.599 -248.501 121.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-298.069 -233.774 121.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(ff) { + + providesPower = "1"; + + new ForceFieldBare(ff2) { + position = "-261.75 -390.307 124.216"; + rotation = "1 0 0 0"; + scale = "8.3912 0.221557 6.368"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "329.716 291.147 120.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base2) { + + + new InteriorInstance() { + position = "345.177 246.397 127.667"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "Euro4_Dissention_rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "387.405 252.165 123.629"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "287.713 316.017 127.569"; + rotation = "0.575728 -0.580126 -0.576186 119.722"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "279.233 316.054 127.725"; + rotation = "0.575728 -0.580126 -0.576186 119.722"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "280.145 280.936 127.715"; + rotation = "-0.706821 0.00297083 0.707387 180.341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "258.972 276.176 121.76"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "237.899 317.832 123.146"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "233.658 301.656 122.332"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "288.345 280.867 127.708"; + rotation = "-0.706821 0.00297083 0.707387 180.341"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "283.43 298.715 144.641"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "270.252 299.236 142.148"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "296.666 298.875 142.131"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "283.181 277.743 135.068"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "283.569 320.349 135.067"; + rotation = "-0 0 -1 89.6035"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "417.025 252.247 115.62"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "271.208 305.6 127.242"; + rotation = "0 0 1 236.631"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "377.143 252.019 129.699"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "302.126 298.939 127.271"; + rotation = "0 0 1 90.527"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "280.185 299.099 128.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Trigger() { + position = "417.025 252.247 115.62"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "9577"; + mainObj = "9577"; + locked = "true"; + }; + new StaticShape() { + position = "271.041 292.456 127.223"; + rotation = "-0 0 -1 59.1972"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "283.401 299.046 124.78"; + rotation = "0 0 1 0.391671"; + scale = "1 1 1"; + interiorFile = "Euro4_Dissention_dox_bb_bunkera_x2.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new Trigger() { + position = "397.93 136.058 79.3681"; + rotation = "0 0 1 76.3858"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.0000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.0100000"; + + disableObj = "9701"; + mainObj = "9572"; + locked = "true"; + }; + new TSStatic() { + position = "358.292 103.299 77.647"; + rotation = "-0 0 -1 78.4952"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "389.28 134.18 72.4876"; + rotation = "0 0 1 166.913"; + scale = "1 1 1"; + interiorFile = "Euro4_Dissention_dox_bb_hangar_x2.dif"; + showTerrainInside = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "385.247 132.906 76.158"; + rotation = "0 0 1 76.3858"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "330.144 308.206 118.467"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "335.477 323.292 118.477"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "340.802 338.384 118.491"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "346.133 353.468 118.491"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "360.148 375.16 122.946"; + rotation = "0 0 1 19.4805"; + scale = "2.01045 2.0211 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "368.091 261.376 116.125"; + rotation = "-0 0 -1 45.8366"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "350.624 365.755 119.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + new TSStatic() { + position = "367.784 228.533 114.951"; + rotation = "-0.298624 0.289371 -0.909444 92.4444"; + scale = "2.04634 1.75434 1.53514"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "368.047 243.453 116.125"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "365.825 274.031 116.745"; + rotation = "0.231238 0.0715936 0.970259 94.7542"; + scale = "2.04634 1.75434 1.53514"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "401.627 263.167 109.973"; + rotation = "0.29187 -0.199895 0.935336 186.316"; + scale = "3.16211 3.69938 3.55136"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "405.309 247.672 114.969"; + rotation = "0.00999545 -0.999524 -0.0291837 37.8319"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "367.852 223.857 112.198"; + rotation = "-0 0 -1 89.9544"; + scale = "1.01198 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(observer1) { + position = "-273.385 -259.831 155.06"; + rotation = "-0.0621191 -0.193392 0.979153 214.918"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(observ2) { + position = "345.717 226.351 134.791"; + rotation = "-0.141003 -0.0439274 -0.989034 34.9676"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "-318.234 -280.417 126.943"; + rotation = "0.577044 -0.577503 -0.577504 119.947"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-283.124 -279.238 126.953"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-283.097 -287.718 126.797"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Drifts.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Drifts.mis new file mode 100644 index 00000000..6724cb73 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Drifts.mis @@ -0,0 +1,967 @@ +// Displayname = TWL2-Drifts +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//History is the version of past events that people have decided to agree upon. +// -- Napoleon Bonaparte +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Round snowy hills for skiing +//Map by powdahound (Editing: Pretend, Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + musicTrack = "ice"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-576 -584 1168 1168"; + flightCeiling = "350"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + texture4 = "special/LensFlare/flare03"; + texture0 = "special/sunFlare"; + texture2 = "special/LensFlare/flare01"; + locked = "true"; + texture3 = "special/LensFlare/flare02"; + texture1 = "special/sunFlare02"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Euro_Drifts_SE.ter"; + squareSize = "8"; + + visibleDistance = "600"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "400"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "Euro_Drifts_SE.nav"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1224 -984 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.0003"; + cloudSpeed3 = "0.0004"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.450000 0.470000 0.000000"; + fogDistance = "250"; + fogColor = "0.650000 0.650000 0.750000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "blackdust.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.45315e-42 2.20406e-39"; + high_fogVolume2 = "-1 1.66922e-36 3.67342e-40"; + high_fogVolume3 = "-1 2.29592e-39 9.36725e-39"; + + cloudSpeed0 = "6.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "13.0888 -311.474 259.266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance() { + position = "-11.6276 -366.785 228.223"; + rotation = "0 0 -1 0.757952"; + scale = "1 1 1"; + interiorFile = "dbunk5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-7.09793 -379.462 247.736"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "29.5808 -232.629 282.246"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(sensor2) { + position = "29.6262 -230.746 286.533"; + rotation = "0 0 -1 6.87607"; + scale = "0.5 0.5 0.5"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-3.29401 -370.171 236.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(Maingen1) { + position = "0.931038 -373.811 222.171"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-11.4063 -374.822 223.63"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "9.35743 -369.08 260.222"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new SimGroup() { + + }; + new StaticShape() { + position = "-24.1829 -377.461 222.19"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-11.5284 -378.612 247.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-15.8507 -379.498 247.803"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-23.894 -379.571 236.196"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-11.7742 -359.709 246.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-23.0392 353.797 229.799"; + rotation = "0 1 0 1.14943"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance() { + position = "-30.3683 365.04 225.1"; + rotation = "0 0 1 170.924"; + scale = "1 1 1"; + interiorFile = "dbunk5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-93.2862 243.678 262.074"; + rotation = "-0.00353554 0.707102 0.707102 0.815649"; + scale = "0.5 0.5 0.5"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape(MainGen2) { + position = "-42.704 366.734 219.047"; + rotation = "0 0 1 170.924"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-28.061 378.271 244.61"; + rotation = "0 0 -1 9.16814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-31.6015 372.859 220.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-39.2168 367.245 233.15"; + rotation = "0 0 1 171.406"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-51.1855 364.399 257.1"; + rotation = "0 0 1 169.778"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new StaticShape(sensor1) { + position = "-93.3581 241.886 266.465"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-19.5623 377.523 219.122"; + rotation = "0 0 1 82.5059"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-32.2561 377.023 244.744"; + rotation = "0 0 1 3.43884"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-36.676 376.895 244.628"; + rotation = "0 0 -1 9.16823"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-19.9435 379.426 233.15"; + rotation = "0 0 -1 8.11207"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-29.3578 358.372 242.983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new Precipitation(Precipitation) { + position = "11.3315 -64.9933 96.0366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "snow"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "6"; + maxNumDrops = "2000"; + maxRadius = "125"; + + locked = "true"; + }; + new TSStatic() { + position = "113.95 121.396 213.38"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "397.156 132.243 221.642"; + rotation = "0 0 -1 37.2423"; + scale = "3 3 1.84368"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-336.036 -199.7 295.085"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-121.337 -56.6802 170.475"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "189.307 -79.0292 197.997"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.789 118.654 238.531"; + rotation = "0 0 1 70.4738"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-311.224 202.651 261.38"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.3481 -41.8411 109.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "600"; + minLoopGap = "3000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new TSStatic() { + position = "-267.528 503.307 271.048"; + rotation = "0 0 1 113.446"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-96.7627 415.52 219.255"; + rotation = "0 0 -1 4.58452"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "194.347 446.355 277.392"; + rotation = "0 0 -1 90.5273"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.1311 349.216 217.007"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "508.771 -93.2431 256.14"; + rotation = "0 0 -1 87.0896"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.3481 -42.8411 108.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1300"; + maxDistance = "1301"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.3481 -42.8411 108.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icefall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "1300"; + maxDistance = "1301"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "600"; + minLoopGap = "50000"; + maxLoopGap = "100000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + + new TSStatic() { + position = "219.657 -306.953 234.676"; + rotation = "0 0 1 81.9329"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "56.5662 -420.172 211.302"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-67.1144 -272.28 234.315"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-446.775 -17.4375 316.9"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-57.872 219.096 201.258"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-464.217 -693.824 256.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "96.9227 -89.4221 206.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-33.2806 99.9206 150.259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28.301 -35.0309 149.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228.424 -7.03546 228.049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-353.103 13.7403 307.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-232.171 285.158 294.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-386.272 448.983 310.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-338.851 -643.27 235.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-3.00082 -487.33 252.804"; + rotation = "0.999779 -0.0204275 -0.00499893 27.5081"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540.745 -686.72 246.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-85.4569 693.486 246.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "128.37 705 238.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "257.238 625.228 232.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.193 472.862 281.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "335.605 459.44 278.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "521.271 347.564 235.031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "537.448 248.919 253.471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "530.163 266.639 243.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "710.947 139.794 228.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-503.847 -715.679 251.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-555.936 -149.5 229.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(observer1) { + position = "52.6733 -213.807 292.185"; + rotation = "-0.0187939 -0.0749165 0.997013 208.085"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(observer2) { + position = "98.4536 319.807 260.9"; + rotation = "0.141184 0.152834 -0.978115 95.8007"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(obs3) { + position = "-41.0402 364.79 255.679"; + rotation = "0.571158 -0.214986 0.792187 50.8289"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(obs5) { + position = "-1.13753 -368.041 258.882"; + rotation = "-0.108282 -0.255363 0.960763 224.331"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "29.5046 -232.614 278.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-93.3743 243.697 258.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-15.6831 24.5108 140.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-15.5228 12.9149 140.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Drorck.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Drorck.mis new file mode 100644 index 00000000..53cd23a0 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Drorck.mis @@ -0,0 +1,1683 @@ +// DisplayName = TWL2-Drorck +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Rege Feinde regen sich im Regen. +// --Riffer from simply IQ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//Map by uthr (Tower: Akira, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_scoreLimit = "10"; + + new MissionArea(MissionArea) { + area = "-1232 -1000 2208 2176"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TL_Drorck.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + GraphFile = "TL_Drorck.nav"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 5.82708e-38 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-523.16 441.65 129.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-207.717 426.286 116.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance() { + position = "-450.285 520.365 156.903"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "TL_drorck-base.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-270.851 607.256 147.632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-480.607 435.484 122.229"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-270.598 607.289 148.274"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-459.449 524.38 174.013"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-441.066 516.329 173.945"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-481.387 435.667 132.153"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-460.985 524.1 157.977"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-439.691 516.586 157.962"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare(FFTeaam2) { + position = "-446.966 525.006 156.361"; + rotation = "1 0 0 0"; + scale = "0.5 7 8"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-367.014 391.778 96.0013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "-364.219 397.852 99.2427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-446.401 520.845 172.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "-361.07 488.091 115.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Outpost) { + + + new InteriorInstance() { + position = "-207.797 426.197 115.051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-207.911 430.826 116.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-207.907 426.281 125.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-207.65 426.296 116.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "353.299 58.9993 112.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "106.909 -129.476 134.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance(0) { + position = "363.166 -46.8943 160.369"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "TL_drorck-base.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + + locked = "true"; + }; + new InteriorInstance(0) { + position = "392.068 -150 170.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(0) { + position = "382.674 41.374 148.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "353.931 -42.7341 177.465"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + locked = "true"; + }; + new StaticShape() { + position = "372.455 -50.9755 177.468"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + locked = "true"; + }; + new StaticShape() { + position = "352.383 -43.2487 161.279"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "373.218 -50.4834 161.382"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "383.502 41.2403 158.635"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "392.224 -149.903 170.841"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "213.524 -35.9887 105.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "216.319 -29.9147 109.161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ForceFieldBare(FFTeaam2) { + position = "359.366 -58.1963 160.445"; + rotation = "1 0 0 0"; + scale = "0.5 7 8"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "359.586 -47.2135 176.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Item() { + position = "267.933 -78.0825 113.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(Outpost) { + + + new InteriorInstance() { + position = "106.91 -129.272 132.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "106.883 -124.828 134.205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "106.975 -129.661 143.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "106.79 -129.397 134.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new Item() { + position = "-142.432 282.073 116.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-140.934 265.672 115.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + locked = "true"; + }; + new Item() { + position = "-162.484 282.347 119.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + }; + new AudioEmitter() { + position = "-72.4837 160.413 104.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(Camera1) { + position = "106.539 -98.6114 198.988"; + rotation = "0 0 1 85"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(Camera2) { + position = "-206.416 368.404 222.103"; + rotation = "0 0 -1 55"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-148.946 309.109 115.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-502.729 -39.6088 142.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-10.2265 -21.4816 111.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "255.452 31.883 124.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Lightning(Lightning) { + position = "-73.2713 474.288 139.578"; + rotation = "1 0 0 0"; + scale = "5000 5000 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "5"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + + new SimGroup(Addition4BELgTree16) { + + + new TSStatic() { + position = "-524 556 130.362"; + rotation = "0 0 1 183"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 620 141.588"; + rotation = "0 0 1 122"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252 260 105.581"; + rotation = "0 0 1 150"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BELgTree18) { + + + new TSStatic() { + position = "-121.779 105.095 129.997"; + rotation = "0 0 -1 59.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "80.9693 673.704 100.863"; + rotation = "0 0 1 131"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition6BELgTree19) { + + + new TSStatic() { + position = "-337.174 67.7654 102.531"; + rotation = "0 0 1 207"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-228 452 119.259"; + rotation = "0 0 1 152"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 644 106.025"; + rotation = "0 0 1 187"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition7BESmTree17) { + + + new TSStatic() { + position = "-540.021 292.327 105.41"; + rotation = "0.0783266 -0.0978273 -0.992116 110.426"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-320.165 491.371 106.196"; + rotation = "-0.0482075 0.00687163 0.998814 202.661"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition8BELgTree16) { + + + new TSStatic() { + position = "364 20 145.637"; + rotation = "0 0 1 56"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "308 -124 115.213"; + rotation = "0 0 1 64"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "316 -204 119.003"; + rotation = "0 0 1 200"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition9BESmTree17) { + + + new TSStatic() { + position = "-209.035 -103.56 106.262"; + rotation = "-0.0227022 -0.0737441 0.997019 86.1706"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "253.003 324.949 123.534"; + rotation = "-0.177672 -0.182149 0.967086 49.441"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition10BELgTree18) { + + + new TSStatic() { + position = "274.735 37.3534 124.535"; + rotation = "0 0 -1 28.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132 164 111.928"; + rotation = "0 0 -1 10.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition11BELgTree19) { + + + new TSStatic() { + position = "4 -4 108.741"; + rotation = "0 0 1 50"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 148 114.756"; + rotation = "0 0 1 228"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition13BEPlant5) { + + + new TSStatic() { + position = "-988 548 117.641"; + rotation = "-0.131988 0.729627 0.670987 37.9739"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "804 -60 120.563"; + rotation = "0.387599 -0.250623 0.887105 60.8103"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 -684 88.5937"; + rotation = "0.0365866 0.170828 -0.984621 70.837"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 1140 117.141"; + rotation = "-0.121496 0.308959 0.943283 110.171"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 740 93.3906"; + rotation = "0.0451852 -0.00269188 0.998975 120.051"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 748 117.625"; + rotation = "-0.000707012 -0.303835 0.952724 107.663"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-652 1076 86.0781"; + rotation = "-0.128025 -0.0273318 0.991394 214.717"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 572 97.2656"; + rotation = "0.333782 -0.0845997 0.938846 90.6144"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 884 90.4062"; + rotation = "-0.494417 0.0966586 0.863834 74.92"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 636 112.219"; + rotation = "0.201886 0.32986 0.92219 62.0181"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 -228 128.859"; + rotation = "-0.335183 0.0205869 0.941928 82.3821"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316 1156 95.8906"; + rotation = "-0.221333 -0.226518 0.948526 238.386"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-52 372 153.016"; + rotation = "0.057424 0.281843 0.957741 93.4721"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -164 99.2969"; + rotation = "0.172421 0.514315 -0.84009 58.0664"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-380 300 82.9375"; + rotation = "0.365253 -0.346268 0.864111 40.0922"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 1012 113.109"; + rotation = "0.00970423 0.0104202 0.999899 113.005"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 444 121.906"; + rotation = "-0.216153 0.268411 -0.93874 28.6911"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-404 1092 71.6719"; + rotation = "0.12853 -0.0425325 -0.990793 113.487"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-436 -724 111.969"; + rotation = "0.45962 -0.184297 -0.868783 82.903"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -180 141.141"; + rotation = "0.0640484 0.163587 -0.984448 85.8951"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -244 106.813"; + rotation = "-0.15505 -0.153494 0.975909 192.69"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 924 95.5625"; + rotation = "0.149698 -0.499901 0.853047 59.5177"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "140 -348 98.8438"; + rotation = "0.238556 -0.156938 0.958364 237.913"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "996 1116 94.8281"; + rotation = "-0.0138871 0.0117581 0.999834 172.001"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -388 126.016"; + rotation = "-0.0513082 -0.300832 0.952296 126.29"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820 -724 109.297"; + rotation = "0.297202 0.0321751 -0.954272 57.2263"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "604 956 103.859"; + rotation = "-0.128206 -0.245301 -0.960932 81.2488"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 -700 75.3125"; + rotation = "-0.00359912 0.234076 0.972212 156.648"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "892 1116 106.031"; + rotation = "-0.0696021 -0.989952 -0.123087 24.0183"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-964 220 97.9844"; + rotation = "0.117139 0.106225 0.987418 238.38"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition14BEPlant5) { + + + new TSStatic() { + position = "332 -164 123.156"; + rotation = "-0.140096 -0.062954 0.988135 204.712"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 204 107.406"; + rotation = "-0.237841 -0.101764 -0.965958 119.737"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 84 131.969"; + rotation = "0.083189 -0.307771 -0.947817 96.061"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 52 102.297"; + rotation = "0.228058 -0.089463 -0.969529 111.657"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 668 106.813"; + rotation = "0.419357 -0.153148 0.89481 26.7252"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 228 134.781"; + rotation = "-0.100228 0.118154 0.987924 149.356"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-284 532 98.0156"; + rotation = "0.0599217 0.0834825 0.994706 184.974"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "460 116 115.875"; + rotation = "-0.119025 -0.587542 -0.800392 43.002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 484 117.031"; + rotation = "-0.185218 0.00761203 0.982668 215.416"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44 428 143.906"; + rotation = "0.281114 -0.16541 -0.945312 79.1461"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68 420 142.5"; + rotation = "0.0874062 -0.616204 -0.782722 39.0195"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 -92 110.375"; + rotation = "0.217001 0.168568 0.961507 227.324"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 172 117.234"; + rotation = "0.233586 0.0794976 0.969081 170.308"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116 -196 104.438"; + rotation = "-0.122439 -0.13188 0.983675 233.241"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 380 80.2188"; + rotation = "-0.57385 0.785395 -0.232056 25.4514"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68 -84 114.328"; + rotation = "0.44057 -0.450501 0.776497 21.7889"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 388 124.703"; + rotation = "-0.272019 0.513235 0.813999 57.3542"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180 -300 117.578"; + rotation = "0.00531639 -0.187538 0.982243 192.771"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "284 500 98.0156"; + rotation = "0.0653777 0.139582 0.98805 231.459"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 428 142.797"; + rotation = "0.382399 -0.0246393 0.923669 57.765"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 188 139.328"; + rotation = "0.0522694 0.291483 0.955147 32.3811"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 220 101.062"; + rotation = "0.385831 -0.0557819 0.920882 83.6674"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-188 644 140.266"; + rotation = "0.0611115 0.16999 0.983549 168.196"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-4 388 148.812"; + rotation = "0.0671877 0.0770526 0.994761 47.2206"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "196 -196 100.969"; + rotation = "0.334207 0.215258 0.917589 88.9167"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 452 90.1875"; + rotation = "-0.28355 0.107195 0.952947 98.7384"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 316 119.75"; + rotation = "-0.0525559 -0.0104613 -0.998563 114.075"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 596 150.453"; + rotation = "-0.26097 0.138337 -0.955383 84.5966"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412 -244 87.375"; + rotation = "0.289489 0.255439 -0.922468 83.5688"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148 180 86.375"; + rotation = "0.278846 0.341695 0.897491 58.1071"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition15BELgTree16) { + + + new TSStatic() { + position = "-1020 -252 124.669"; + rotation = "0 0 1 13"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 1004 104.653"; + rotation = "0 0 1 85"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 -804 117.006"; + rotation = "0 0 1 199"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-860 172 113.822"; + rotation = "0 0 1 82"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1316 1268 111.784"; + rotation = "0 0 1 94"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "663.699 -184.992 128.956"; + rotation = "0 0 1 37"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "915.469 79.0076 131.559"; + rotation = "0 0 1 218"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "148 340 110.716"; + rotation = "0 0 1 124"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "855.466 1021.01 106.328"; + rotation = "0 0 1 99.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -1060 108.869"; + rotation = "0 0 1 99.0002"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + + new TSStatic() { + position = "-9.76811 -469.871 141.506"; + rotation = "0 0 1 174"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -28 143.941"; + rotation = "0 0 1 183"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468 -860 121.95"; + rotation = "0 0 1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "195.968 -446.631 136.097"; + rotation = "0 0 1 164"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "539.635 -324.018 93.0977"; + rotation = "0 0 -1 56"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + + + new TSStatic() { + position = "-484 -436 119.328"; + rotation = "0 0 1 44"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84 -1052 113.388"; + rotation = "0 0 1 33"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -836 137.131"; + rotation = "0 0 1 11"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 -1068 120.691"; + rotation = "0 0 1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332.221 -580.135 137.935"; + rotation = "0 0 1 43"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree18) { + + + new TSStatic() { + position = "-380 1124 68.7407"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516 804 83.2126"; + rotation = "0 0 1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "156 1356 126.572"; + rotation = "0 0 -1 44"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 700 115.391"; + rotation = "0 0 1 149"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "228 988 102.728"; + rotation = "0 0 -1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition5BELgTree19) { + + + new TSStatic() { + position = "332 684 119.363"; + rotation = "0 0 1 73"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660.484 547.873 150.72"; + rotation = "0 0 -1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 1156 115.703"; + rotation = "0 0 -1 14.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "370.839 1052.78 116.009"; + rotation = "0 0 1 124"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "192.724 543.582 104.073"; + rotation = "0 0 -1 101"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_FrozenGlory.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_FrozenGlory.mis new file mode 100644 index 00000000..0bf03b5c --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_FrozenGlory.mis @@ -0,0 +1,641 @@ +// DisplayName = TWL2-Frozen Glory +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//There is more stupidity than hydrogen in the universe, and it has a longer shelf life. +// -- Frank Zappa + +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//Map by Infamous Butcher (Overhaul & Terrain: Celios) +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "ice"; + cdTrack = "5"; + CTF_scoreLimit = "10"; + + new MissionArea(MissionArea) { + area = "-816 -1128 1648 1232"; + flightCeiling = "500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.585932 0.450802 -0.673395"; + color = "0.450000 0.450000 0.450000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL2_Frozenglory.ter"; + squareSize = "8"; + emptySquares = "80705 146365 80961 81085"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "MissionBlank.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "430"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.650000 0.700000 0.800000 0.000000"; + fogDistance = "245"; + fogColor = "0.650000 0.700000 0.800000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "inf_butch_nov50.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.70039e-40 1.36318e-40"; + high_fogVolume2 = "-1 1.43493e-42 1.18382e-40"; + high_fogVolume3 = "-1 1.51026e-40 1.40623e-40"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + providesPower = "1"; + + new SpawnSphere() { + position = "332.421 -463.664 103.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance() { + position = "268.787 -536.978 163.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_iceturretbase9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "308.476 -479.541 157.634"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "inf_butch_icebase51.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(VPad) { + + + new InteriorInstance() { + position = "492.934 -515.538 100.78"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "inf_butch_icevehicle11.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "499.24 -524.895 90.24"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + locked = "true"; + Ready = "1"; + mobileBaseVehicle = "Removed"; + }; + new StaticShape() { + position = "499.425 -530.161 83.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "332.247 -455.424 161.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "332.467 -463.544 151.209"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "329.368 -466.394 141.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "268.787 -378.155 165.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_iceturretbase9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "335.587 -466.395 141.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "329.368 -460.594 141.437"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "332.76 -471.604 161.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "276.901 -386.164 158.313"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "348.592 -439.468 152.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "335.587 -460.595 141.437"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "277.472 -544.738 156.56"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + providesPower = "1"; + + new SpawnSphere() { + position = "-341.51 -463.523 103.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new StaticShape() { + position = "-338.366 -466.399 141.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-344.585 -466.398 141.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SimGroup(VPad) { + + + new InteriorInstance() { + position = "-513.666 -515.538 100.78"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "inf_butch_icevehicle11.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-507.36 -524.895 90.24"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + locked = "true"; + Ready = "1"; + mobileBaseVehicle = "Removed"; + }; + new StaticShape() { + position = "-507.175 -530.161 83.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "-344.585 -460.598 141.437"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-338.366 -460.599 141.437"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-365.487 -479.541 157.634"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "inf_butch_icebase51.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-341.753 -455.424 161.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-341.24 -471.604 161.6"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-357.408 -487.468 152.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-292.813 -536.978 163.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_iceturretbase9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-285.568 -545.136 156.56"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-292.813 -378.155 165.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_iceturretbase9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-284.735 -386.164 158.313"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-341.48 -463.544 151.209"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Sounds) { + + + new AudioEmitter(wind1) { + position = "332.455 -463.517 145.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "200"; + maxDistance = "2250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(wind2) { + position = "-341.451 -463.551 145.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "200"; + maxDistance = "2250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(wind3) { + position = "-3.31743 -463.551 120.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "200"; + maxDistance = "2250"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam3) { + position = "546.264 -566.095 104.411"; + rotation = "0.105778 0.0560085 -0.992811 56.1441"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam1) { + position = "272.206 -501.931 158.303"; + rotation = "0.117222 -0.0635316 0.991072 57.345"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-276.591 -501.199 160.177"; + rotation = "0.124948 0.0693277 -0.989738 58.5505"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam4) { + position = "-555.11 -563.485 106.325"; + rotation = "0.150795 -0.0872049 0.984711 60.8496"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_FrozenHope.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_FrozenHope.mis new file mode 100644 index 00000000..267ca296 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_FrozenHope.mis @@ -0,0 +1,1259 @@ +// DisplayName = TWL2-Frozen Hope +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//For death is no more than a turning of us over from time to eternity +// -- William Penn +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Infamous Butcher +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "5"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-864 -1152 1728 1600"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.881743 0.133876 -0.452334"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.250000 0.250000 0.250000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "Euro4_FrozenHope.ter"; + squareSize = "8"; + emptySquares = "218442 218547 218698 218803 218954 219059"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + YDimOverSize = "0"; + coverage = "0"; + GraphFile = "FrozenHope.nav"; + position = "0 0 0 1"; + locked = "true"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.550000 0.610000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Euro4_FrozenHope.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.88322e-37 4.27877e-38"; + high_fogVolume2 = "-1 1.71806e-36 4.28417e-38"; + high_fogVolume3 = "-1 2.01058e-37 4.28473e-38"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-491.039 -361.527 172.736"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-403.917 -315.757 224.736"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_base47.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-293.39 -187.244 140.556"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_flag6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-419.931 -314.464 187.775"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-419.889 -349.034 187.775"; + rotation = "1 -3.53975e-06 0.000446319 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-410.61 -323.621 190.712"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-429.221 -339.882 190.712"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-417.969 -321.5 162.216"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-421.845 -342.012 162.216"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-419.914 -331.752 217.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-434.017 -331.756 160.695"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-405.81 -331.76 160.695"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-128.751 -127.4 214.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_turret12.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-115.529 -140.044 206.678"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-429.524 -90.3891 224.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_turret12.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-416.896 -103.046 216.16"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-306.015 -199.865 132.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "488.477 -357.506 173.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "285.078 -212.559 140.556"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_flag6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "95.5058 -127.393 214.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_turret12.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "435.961 -316.436 224.736"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_base47.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "107.583 -139.982 206.678"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "419.939 -315.17 187.775"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "419.981 -349.726 187.775"; + rotation = "1 -3.53975e-06 0.000446319 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "421.919 -322.173 162.216"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "418.043 -342.685 162.216"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "405.858 -332.429 160.696"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "434.065 -332.433 160.696"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "419.964 -332.409 217.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "408.937 -104.367 216.16"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "396.273 -91.7103 224.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Euro4_FrozenHope_inf_butch_fhope_turret12.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "429.26 -324.302 190.712"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "410.668 -340.558 190.712"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "297.7 -199.935 132.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "-7.72217 415.535 289.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + + new InteriorInstance() { + position = "402.75 -52.6053 214.225"; + rotation = "0.266924 0.130326 0.954865 203.644"; + scale = "2.03328 2.59513 1.76276"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "413.278 -61.6709 213.491"; + rotation = "-0.736204 0.624646 0.260423 59.0457"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "439.874 -52.8892 222.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "468.615 -224.897 205.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "289.217 -531.761 150.43"; + rotation = "0 0 1 47.7379"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "4.67356 -277.154 231.586"; + rotation = "0.00432258 0.998978 0.0449844 169.034"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-1.79119 -286.249 228.383"; + rotation = "0 0 1 164.048"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-195.338 -12.8252 200.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-425.589 -475.42 208.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-418.388 -83.2361 211.498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-696.233 -235.655 242.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-118.297 -534.327 169.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-181.482 -618.529 124.823"; + rotation = "0 0 1 233.194"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-566.422 -252.699 238.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-224.465 -211.372 142.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "245.345 -331.459 117.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "326.077 -182.224 136.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "63.846 -36.6433 226.447"; + rotation = "0 0 -1 41.253"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-2.94547 321.923 122.982"; + rotation = "0 0 1 105.997"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.224 184.033 225.822"; + rotation = "0 0 -1 47.5554"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "136.701 -792.503 114.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-71.2796 -441.597 231.009"; + rotation = "0 0 1 148.969"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-257.142 -659.333 128.093"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "14.6812 -3.59359 249.318"; + rotation = "0 0 1 73.9116"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-336.287 211.241 208.42"; + rotation = "-0.0141265 -0.0822949 -0.996508 20.6972"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-334.26 244.242 211.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-426.999 445.179 239.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-19.5032 -949.689 203.93"; + rotation = "0 0 -1 21.7722"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-457.173 -632.811 237.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "323.027 -963.23 185.197"; + rotation = "0 0 -1 4.58315"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "400.424 -632.16 206.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-134.209 -839.279 127.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "734.744 -275.945 259.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "683.822 96.5913 152.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.583 255.049 226.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-317.325 -888.795 191.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "169.137 433.863 219.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "158.923 -1150.42 166.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "29.7298 -464.495 243.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "31.8113 -467.622 243.099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-297.623 -374.172 108.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "30.0698 -462.919 244.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-493.683 -378.473 168.699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-776.712 -454.167 190.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "387.438 -633.669 201.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "732.279 -802.313 78.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "779.613 -458.317 192.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "395.224 -321.738 171.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "495.191 250.896 259.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-493.04 -364.406 171.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "868.853 -10.5918 264.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-514.617 -1052.17 261.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-525.065 -52.1888 260.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-720.249 138.894 153.711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-763.392 -723.516 63.9062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-752.242 -1097.12 196.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2.51242 -674.974 180.974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "180.935 -544.387 119.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "569.013 -418.468 225.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-467.505 -696.676 242.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "111.443 -395.894 186.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "279.68 24.2291 215.09"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.1326 182.411 177.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-258.458 -1065.51 152.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4.65012 -772.045 178.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "443.496 -845.855 262.226"; + rotation = "0 0 -1 83.0789"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "206.469 -229.547 148.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-595.832 -425.157 224.612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.1117 -222.524 160.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "87.6144 -623.466 169.403"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-734.986 426.352 94.4768"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "244.064 -1271.77 172.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "457.095 -1302.19 230.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-23.3126 -1149.29 263.567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-235.521 -361.422 117.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "229.748 -906.125 149.161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-976.736 -238.025 142.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-690.88 -341.698 226.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388.848 -19.0844 216.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "963.064 -506.366 250.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "245.919 -675.202 127.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "566.24 -419.287 225.312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "5.57781 -454.09 257.248"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam1) { + position = "-230.602 -370.084 199.635"; + rotation = "0.198278 0.0880942 -0.976179 48.9442"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "209.083 -345.496 209.989"; + rotation = "0.189492 -0.102846 0.976481 58.1323"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam3) { + position = "409.923 -332.467 172.366"; + rotation = "0.211315 -0.208511 0.954918 91.8773"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam4) { + position = "-410.264 -331.744 171.431"; + rotation = "0.190374 0.190223 -0.963106 92.1077"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Hildebrand.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Hildebrand.mis new file mode 100644 index 00000000..e91ae4fb --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Hildebrand.mis @@ -0,0 +1,506 @@ +// DisplayName = TWL2-Hildebrand +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +// +// +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by DeeVee & Sabre (Editing: Celios) +//--- MISSION STRING END --- + +exec("scripts/ScaleForceFields.cs"); + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "desert"; + cdTrack = "6"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-768 -312 752 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Hildebrand.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "Tombstone.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "320"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "120"; + fogColor = "0.540000 0.520000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.99805 -2.98023e-08"; + high_fogVolume2 = "-1 -7.99871e-10 0.0432373"; + high_fogVolume3 = "-1 -8.29498e-10 0.0448387"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-186.082 -67.014 154.711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-505.098 -39.7317 126.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + providesPower = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-281.413 -51.7969 128.992"; + rotation = "0 0 1 62.4525"; + scale = "0.9 0.9 1"; + interiorFile = "hbbunker.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-412.868 -10.9357 108.058"; + rotation = "0 0 1 189.65"; + scale = "0.7 0.7 0.85"; + interiorFile = "hbflagstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-279.245 -55.4681 138.735"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-284.85 -44.7301 138.735"; + rotation = "-0 0 -1 27.5018"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-283.855 -46.3283 144.99"; + rotation = "-0 0 -1 27.5017"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-412.193 -19.5672 101.374"; + rotation = "0 0 1 98.5487"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new Item() { + position = "-282.059 -50.0969 129.886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(FF1) { + + + new StaticShape() { + position = "-272.794 -45.0701 141.118"; + rotation = "0.329509 0.548586 0.768425 229.552"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-295.71 -50.6299 128.897"; + rotation = "0 0 1 62.4525"; + scale = "11.7252 0.508308 7.21896"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(FF2) { + + + new StaticShape() { + position = "-291.482 -54.788 141.113"; + rotation = "-0.691248 0.419866 0.588123 91.8479"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-274.401 -39.3952 128.748"; + rotation = "0 0 1 62.4525"; + scale = "11.7252 0.508308 7.29115"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-368.872 538.491 123.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-672.391 537.28 167.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + providesPower = "1"; + + new Item() { + position = "-459.795 510.073 100.185"; + rotation = "0 0 1 75.0574"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-455.581 502.517 106.869"; + rotation = "0 0 -1 15.0787"; + scale = "0.7 0.7 0.85"; + interiorFile = "hbflagstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-577.854 542.925 122.435"; + rotation = "0 0 -1 116.493"; + scale = "0.9 0.9 1"; + interiorFile = "hbbunker.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-579.957 546.625 132.18"; + rotation = "-0 0 -1 26.538"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-574.552 535.8 132.18"; + rotation = "0 0 1 153.553"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-575.514 537.413 138.433"; + rotation = "0 0 1 153.553"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-577.255 541.206 123.327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + new SimGroup(FF1) { + + + new StaticShape() { + position = "-567.78 545.792 134.613"; + rotation = "0.338957 0.546639 0.765698 230.796"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-585.095 530.655 122.191"; + rotation = "0 0 -1 116.493"; + scale = "11.7252 0.508308 7.29115"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(FF2) { + + + new StaticShape() { + position = "-586.681 536.472 134.514"; + rotation = "-0.687787 0.421782 0.590804 92.1353"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-563.582 541.495 122.34"; + rotation = "0 0 -1 116.493"; + scale = "11.7252 0.508308 7.14749"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "558.841 -498.675 89.0972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wind_sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-545.817 522.562 155.609"; + rotation = "0.0864076 -0.196243 0.976741 133.458"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-443.011 24.617 135.84"; + rotation = "0.0607401 -0.101624 0.992967 118.623"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_IceDagger.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_IceDagger.mis new file mode 100644 index 00000000..908efdf5 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_IceDagger.mis @@ -0,0 +1,594 @@ +// DisplayName = TWL2-Ice Dagger +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//But this informs me I shall never die. +//The soul, secured in her existence, smiles +//at the drawn dagger, and defies its point. +// -- Joseph Addison +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Map by Sabre and DeeVee (Concept & Textures: DOX, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "ice"; + cdTrack = "5"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-192 -352 1152 1344"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.699924 0.699924 0.699924 1.000000"; + ambient = "0.299924 0.299924 0.299924 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "icedagger.ter"; + squareSize = "8"; + emptySquares = "293770 295818 314578 316882"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "icedagger.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.530000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky01.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.99805 -2.98023e-08"; + high_fogVolume2 = "-1 -7.99871e-10 0.0432373"; + high_fogVolume3 = "-1 -8.29498e-10 0.0448387"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "95.6191 -36.0008 130.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance() { + position = "76.9131 -44.6552 167.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "idbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "93.618 -32.9908 135.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "idhangar.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "94.8919 -0.865992 189.41"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "88.7467 6.53772 192.405"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "101.086 6.50878 192.387"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "89.2932 1.69715 231.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "94.8738 20.5801 221.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "94.9572 -10.7246 168.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "95.6227 -2.89994 128.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new StaticShape() { + position = "110.306 -2.95516 130.1"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "80.906 -2.95516 130.1"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "671.386 680.206 130.597"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance() { + position = "673.392 677.199 135.847"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "idhangar.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "690.078 688.891 167.913"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "idbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "671.435 647.106 128.804"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new Item() { + position = "672.088 654.931 169.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Turret() { + position = "672.222 623.627 222.385"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "677.772 642.518 231.888"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "665.988 637.688 192.881"; + rotation = "0 0 1 224.6"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "678.326 637.679 192.899"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "672.169 645.073 189.904"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "656.795 648.254 130.582"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "686.195 648.254 130.582"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + providesPower = "1"; + + new SimGroup(UplinkTower) { + + + new InteriorInstance() { + position = "445.993 293.919 292.789"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "idmiddle.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "447.394 297.967 286.704"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "Uplink Tower"; + locked = "true"; + }; + new Item() { + position = "426.798 297.848 287.333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "441.14 297.745 291.914"; + rotation = "0 0 1 87.4336"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + }; + new SimGroup(Rocks) { + + + new InteriorInstance(SmallRock) { + position = "512.512 202.388 233.515"; + rotation = "0.408561 -0.910496 -0.063839 19.4758"; + scale = "0.7 0.6 0.8"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "181.492 326.905 116.924"; + rotation = "0.258022 0.9603 0.106061 46.3466"; + scale = "0.7 0.6 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "549.875 585.917 180.557"; + rotation = "1 0 0 179.336"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "617.291 647.907 167.345"; + rotation = "0 1 0 163.866"; + scale = "0.6 0.6 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "565.317 580.04 176.314"; + rotation = "-0.426617 0.642973 -0.636068 226.656"; + scale = "0.6 0.6 0.8"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "248.425 81.1621 198.723"; + rotation = "0.00394841 0.997886 -0.0648648 183.522"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "231.961 87.2792 193.33"; + rotation = "0.42035 0.705511 -0.570579 129.424"; + scale = "0.6 0.5 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "52.5847 61.995 126.579"; + rotation = "1 0 0 0.0395647"; + scale = "0.5 0.5 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "488.762 -9.29491 147.779"; + rotation = "1 0 0 17.1888"; + scale = "0.7 0.7 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "568.193 491.788 214.118"; + rotation = "0.263065 -0.0865209 0.960891 37.7904"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "33.535 159.873 172.716"; + rotation = "-0.00251177 0.0167472 0.999857 162.943"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new AudioEmitter() { + position = "289.762 209.214 173.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_JaggedClaw.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_JaggedClaw.mis new file mode 100644 index 00000000..40090257 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_JaggedClaw.mis @@ -0,0 +1,482 @@ +// DisplayName = TWL2-Jagged Claw +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +// +// +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by John McClane & Sabre (Concept: DOX, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "desert"; + cdTrack = "6"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-696 -632 1280 1408"; + flightCeiling = "350"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.750000 0.600000 0.450000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "jagged.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -2.027344"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -2.027344"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -2.027344"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.99805 -2.98023e-08"; + high_fogVolume2 = "-1 -7.99871e-10 0.0432373"; + high_fogVolume3 = "-1 -8.29498e-10 0.0448387"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "jaggedclaw.ter"; + squareSize = "8"; + emptySquares = "88208 88461 88464 219791 220047 236147 236403 105588 105591 105844 219279 219535 236659 236915"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "DesertofDeath_nef.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(Environmental) { + + + new AudioEmitter() { + position = "-18.2958 -116.376 229.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "172.086 -241.492 203.037"; + rotation = "-0.0106232 -0.0204033 0.999735 234.996"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-130.785 159.687 202.766"; + rotation = "0.0897626 -0.0471935 0.994844 55.7115"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-91.6655 199.134 201.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance(InteriorInstance) { + position = "-11.1791 214.27 167.908"; + rotation = "0 0 -1 89.9544"; + scale = "0.83 0.813239 0.83"; + interiorFile = "jagged_base3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-91.7083 213.04 176.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "77.1682 215.012 195.296"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "82.3668 234.002 195.291"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-91.7436 231.282 210.281"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-96.5463 240.287 182.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-86.7935 240.294 182.842"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-91.688 217.245 201.212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new StaticShape() { + position = "77.0628 231.036 181.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "77.0463 221.463 181.175"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-101.934 224.545 183.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-91.6899 243.12 213.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "120.007 -299.795 201.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(base0) { + + + new InteriorInstance(InteriorInstance) { + position = "46.9823 -294.465 168.1"; + rotation = "0 0 1 89.9543"; + scale = "0.83 0.863097 0.83"; + interiorFile = "jagged_base3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "132.43 -293.102 176.398"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-46.7957 -295.362 195.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "-52.2364 -314.169 195.486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "132.502 -311.343 210.472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "137.618 -320.348 183.034"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "127.265 -320.369 183.037"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "143.328 -304.647 183.416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "132.433 -297.314 201.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new StaticShape() { + position = "-46.627 -311.385 181.376"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-46.6105 -301.812 181.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "132.433 -323.189 213.749"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Magnum.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Magnum.mis new file mode 100644 index 00000000..8644ce52 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Magnum.mis @@ -0,0 +1,878 @@ +// DisplayName = TWL2-Magnum +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Storm the FRONT! +// -- Someguy +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//Map by shalos (Editing: uthr, Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "10"; + + new MissionArea(MissionArea) { + area = "-576 -728 752 1472"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.420000 0.420000 0.420000 0.000000"; + fogDistance = "150"; + fogColor = "0.420000 0.420000 0.620000 1.000000"; + fogVolume1 = "300 0 71"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "TL_Magnum.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "500"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 5.45564e-34 7.24432e+22"; + high_fogVolume3 = "-1 1.07461e-38 0"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + + new TSStatic() { + position = "98.5514 -80.8753 104.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "66.9371 -72.3062 102.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.5464 -146.702 103.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "112.107 -118.516 103.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "72.3184 -136.701 103.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "49.0111 -105.576 104.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "101.11 -135.271 95.5692"; + rotation = "0.474824 0.520675 0.709535 95.2916"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "99.8275 -146.259 107.011"; + rotation = "0.431158 -0.252839 -0.866127 80.9962"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-33.3352 178.704 99.8404"; + rotation = "0 0 1 4.58367"; + scale = "1 1.3779 1.57235"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-1.05492 181.337 103.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-63.1962 1.65475 104.685"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-53.8268 -12.1395 104.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg7.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-59.5626 -25.4788 104.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-63.2148 -17.8789 103.85"; + rotation = "1 0 0 0"; + scale = "3.0916 3.96942 2.31934"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-5.05619 174.247 104.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg7.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "7.07018 188.751 104.652"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + }; + new Sun() { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "1.000000 1.000000 1.000000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "TL_Magnum.ter"; + squareSize = "8"; + emptySquares = "151386 174181"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "TL_Magnum.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Marker(obs1) { + position = "-45.1624 -38.3271 113.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + locked = "true"; + }; + new Marker(obs2) { + position = "-133.896 220.386 116.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + locked = "true"; + }; + new Marker(obs3) { + position = "-248.754 -465.459 134.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-167.973 290.566 108.852"; + rotation = "-1 0 0 3.43771"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-197.834 307.305 99.8684"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + interiorFile = "TL_magnumbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-91.6322 336.231 96.3927"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "TL_magnumflag.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-147.204 244.528 110.052"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "51.6245 328.246 106.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_magnumturret.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-216.713 345.025 87.0262"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-217.371 330.475 92.0758"; + rotation = "0 0 -1 119.931"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-220.041 335.224 92.052"; + rotation = "0 0 -1 119.931"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-210.471 340.757 92.0612"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-207.501 335.971 92.1167"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-228.167 340.272 92.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-163.816 296.198 100.529"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + locked = "true"; + }; + new Turret() { + position = "51.5859 330.828 114.125"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-209.413 327.945 97.6513"; + rotation = "0 0 1 230.512"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-147.385 243.544 104.028"; + rotation = "0 0 1 91.6732"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-206.979 323.903 111.355"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-164.14 307.212 101.693"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + interiorFile = "TL_magnumvs.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "43.7803 180.257 109.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-91.6634 336.252 118.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-252.914 -375.997 104.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-289.713 -369.694 99.8709"; + rotation = "0 0 1 199.389"; + scale = "1 1 1"; + interiorFile = "TL_magnumbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-208.18 -394.864 97.5641"; + rotation = "0 0 1 38.3882"; + scale = "1 1 1"; + interiorFile = "TL_magnumflag.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-259.012 -351.927 105.006"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-72.4245 -368.27 104.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_magnumturret.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-301.878 -409.136 86.7097"; + rotation = "0 0 1 100.841"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new StaticShape() { + position = "-294.441 -399.393 92.0899"; + rotation = "0 0 1 111.727"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new StaticShape() { + position = "-296.53 -404.693 92.1031"; + rotation = "0 0 1 114.591"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new StaticShape() { + position = "-306.574 -401.115 92.1751"; + rotation = "0 0 -1 69.5105"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new StaticShape() { + position = "-304.715 -396.023 92.1312"; + rotation = "0 0 -1 66.0728"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new Item() { + position = "-296.426 -413.391 94.2728"; + rotation = "0 0 -1 25.2101"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Turret() { + position = "-72.1997 -367.062 112.618"; + rotation = "0 0 -1 1.89995"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + wasDisabled = "0"; + repairedBy = "4318"; + locked = "true"; + }; + new Turret() { + position = "-259.226 -352.484 111.03"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new Turret() { + position = "-297.557 -392.466 97.7455"; + rotation = "0 0 1 110.581"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + wasDisabled = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-281.813 -418.889 101.504"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Ready = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-295.682 -388.085 111.624"; + rotation = "0 0 1 25.2101"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-292.864 -419.158 102.846"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "TL_magnumvs.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-114.433 -235.964 106.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + wasDisabled = "1"; + repairedBy = "4318"; + locked = "true"; + }; + new Item() { + position = "-208.156 -394.845 119.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter(magnum1) { + position = "83.7219 -112.123 106.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "100"; + type = "EffectAudioType"; + + locked = "true"; + }; + new FileObject() { + + locked = "true"; + }; + new FileObject() { + + locked = "true"; + }; + new AudioEmitter(magnum2) { + position = "-72.5368 -2.91135 104.849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rumblingthunder.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Vehiclestop) { + + + new InteriorInstance() { + position = "-211.569 322.319 107.662"; + rotation = "0 0 -1 119.748"; + scale = "1 1 1"; + interiorFile = "magnum_vehicle_stop.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-292.017 -389.834 107.639"; + rotation = "0 0 1 109.045"; + scale = "1 1 1"; + interiorFile = "magnum_vehicle_stop.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-202.44 -198.862 88.2898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "500"; + maxRadius = "150"; + + locked = "true"; + }; + new SimGroup(Neutral) { + + + new InteriorInstance() { + position = "-67.3745 -10.51 103.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_magnummisc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-114.886 -235.98 96.1889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "44.5504 180.173 99.8028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-89.0319 336.707 100.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-207.158 -393.761 105.918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_MidnightMayhemDeluxe.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_MidnightMayhemDeluxe.mis new file mode 100644 index 00000000..30413f1b --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_MidnightMayhemDeluxe.mis @@ -0,0 +1,445 @@ +// DisplayName = TWL2-Midnight Mayhem Deluxe +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Beyond the best, there is a Beeter +// -- Jedipred +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by DeeVee (Thanks: Sabre, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "desert"; + cdTrack = "6"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-768 -512 1280 1056"; + flightCeiling = "350"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "200"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "100"; + fogColor = "0.010000 0.010000 0.020000 1.000000"; + fogVolume1 = "100 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "mmd.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.94105e-41 6.95941e-41"; + high_fogVolume2 = "-1 2.01181 6.95955e-41"; + high_fogVolume3 = "-1 6.94147e-41 6.95941e-41"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.299900 0.299900 0.299900 1.000000"; + ambient = "0.099968 0.099967 0.100000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "mmd.ter"; + squareSize = "8"; + emptySquares = "162960 294286 163404 294542 294732 294798 163916 98383 295054 98459 295244 295310 164250 98882 295500 295566 98971 164674 295756 230287 99394 296012 230543 99660 99663 296334 230988 99985 296780 100428"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "mmd.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-430.178 106.005 134.412"; + rotation = "0.0863026 -0.265118 0.960346 145.28"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "156.222 102.534 131.35"; + rotation = "-0.118672 -0.243046 0.962728 230.354"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-396.857 -46.1353 88.542"; + rotation = "-0 0 -1 4.58367"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(BaseAlpha) { + + + new InteriorInstance() { + position = "-407.353 7.89692 79.1223"; + rotation = "-0 0 -1 89.9545"; + scale = "1 1 1"; + interiorFile = "mmbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-464.214 28.1797 68.8"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-486.129 20.7007 117.1"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-458.776 24.3835 90.12"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-344.467 -63.6624 79.1598"; + rotation = "0 0 1 89.1988"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-343.739 -63.7594 69.1637"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-458.61 33.5767 90.0965"; + rotation = "0 0 -1 92.2463"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-464.1 45.3733 61.82"; + rotation = "-0 0 -1 4.01071"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-464.504 10.5625 61.8746"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-391.424 27.9365 82.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "126.073 64.1629 82.342"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(BaseBeta) { + + + new InteriorInstance() { + position = "135.279 31.988 79.0644"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + interiorFile = "mmbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "192.453 11.9295 68.7239"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "214.184 19.0882 117.042"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "186.728 15.5834 90.0609"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "80.1473 96.0736 66.3275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "80.828 95.9644 76.3236"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new StaticShape() { + position = "186.648 6.46887 90.0738"; + rotation = "0 0 1 87.6625"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "192.199 -5.50432 61.8014"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "192.421 29.5337 61.81"; + rotation = "-0 0 -1 2.86462"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "119.614 11.9509 82.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + searchSchedule = "16488"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Neutral) { + + + new InteriorInstance() { + position = "-134.959 2.23089 79.8361"; + rotation = "0 0 1 93.9651"; + scale = "1.13787 1 1"; + interiorFile = "mmbridge.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-464.453 28.2355 59.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "192.425 11.991 59.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_MuddySwamp.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_MuddySwamp.mis new file mode 100644 index 00000000..0995e1c0 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_MuddySwamp.mis @@ -0,0 +1,924 @@ +// DisplayName = TWL2-Muddy Swamp +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//If you want to catch something, running after it isn't always the best way. +// -- Lois McMaster Bujold +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Don't fall into the swamp +//Map by Peachskin (Flagstand & Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-880 -440 1856 1152"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.300000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TL_MuddySwamp.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + GraphFile = "Equinox.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.001"; + cloudSpeed2 = "-0.003"; + cloudSpeed3 = "0.006"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "375"; + fogColor = "0.200000 0.300000 0.200000 1.000000"; + fogVolume1 = "20 0 58"; + fogVolume2 = "30 58 62"; + fogVolume3 = "300 62 130"; + materialList = "dark_green.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -nan"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 9.44157e-35 4.48416e-44"; + high_fogVolume2 = "-1 9.45563e-35 9.45395e-35"; + high_fogVolume3 = "-1 0 9.45563e-35"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "75.1682 158.808 136.933"; + rotation = "0.0271823 -0.069917 0.997182 137.619"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-261.347 341.492 131.622"; + rotation = "0 0 1 154.699"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "521.699 378.083 191.124"; + rotation = "-0.0491698 -0.25677 0.965221 200.944"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + + new SimGroup(team0) { + + }; + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-312.531 369.62 121.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "500"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-239.481 91.1094 62.0851"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "500"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new StaticShape() { + position = "-303.363 366.182 104.909"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-239.739 78.1014 109.615"; + rotation = "0 0 1 233.194"; + scale = "1 1 1"; + interiorFile = "peach_lush_bunker1.dif"; + showTerrainInside = "0"; + AudioProfile = "NounMoonSound"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-309.501 371.265 102.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-303.203 376.501 104.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-219.846 191.866 61.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "muddyswampstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-211.849 183.863 62.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + new StaticShape() { + position = "-247.695 92.6594 116.641"; + rotation = "0 0 1 54.431"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-246.894 90.5914 90.0671"; + rotation = "-0 0 -1 80.8557"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-236.821 97.9634 90.0671"; + rotation = "0 0 1 11.3905"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-236.502 100.837 83.0541"; + rotation = "0 0 1 14.2554"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-249.694 90.9214 83.0651"; + rotation = "-0 0 -1 75.6304"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-230.839 79.5384 82.5661"; + rotation = "0 0 1 143.24"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-291.145 171.79 62.6868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "576.802 70.6522 111.547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "500"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "504.055 255.025 70.9901"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "500"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new Item() { + position = "393.38 170.758 62.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "1"; + }; + new StaticShape() { + position = "564.319 71.8986 85.6624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "564.159 61.5798 85.6764"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "570.457 66.8157 83.6944"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "385.372 178.764 61.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "muddyswampstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "515.716 260.794 118.52"; + rotation = "0 0 1 115.738"; + scale = "1 1 1"; + interiorFile = "peach_lush_bunker1.dif"; + showTerrainInside = "0"; + AudioProfile = "NounMoonSound"; + + locked = "true"; + }; + new StaticShape() { + position = "506.467 247.022 125.546"; + rotation = "-0 0 -1 63.0253"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "507.932 248.686 98.9721"; + rotation = "0 0 1 161.688"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "496.746 254.225 98.9721"; + rotation = "0 0 -1 106.066"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "494.049 253.183 91.9591"; + rotation = "0 0 -1 103.201"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "508.931 246.049 91.9701"; + rotation = "0 0 1 166.913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "510.338 268.029 91.4711"; + rotation = "0 0 1 25.7837"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "415.974 232.268 66.7087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + + new SimGroup(Sounds) { + + + new AudioEmitter() { + position = "116.659 93.9778 125.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "5000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "239.654 404.275 111.407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "267.038 -11.9194 162.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-19.3087 364.129 73.9355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/bonuses/Nouns/snake.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "340.769 315.958 84.9434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/bonuses/Nouns/Swallow.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "141.409 -2.85446 193.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-156.886 9.18751 167.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-153.954 239.413 71.8138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "186.337 307.758 69.9305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "407.248 -82.0945 77.6875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Organics) { + + + new InteriorInstance() { + position = "121.059 92.1692 120.057"; + rotation = "-0.0247773 0.990887 0.1324 21.39"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "128.533 104.994 123.009"; + rotation = "-0.178128 0.901868 0.39358 53.2976"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "126.874 83.3308 121.234"; + rotation = "-0.178128 0.901868 0.39358 53.2976"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "103.925 86.7246 119.895"; + rotation = "-0.178128 0.901868 0.39358 53.2976"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "107.504 106.021 118.877"; + rotation = "0.588212 0.523641 0.616285 66.1512"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "108.805 360.023 67.5036"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-113.507 442.996 67.0282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "25.4175 167.374 89.6123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "47.8942 382.701 63.5731"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "86.1334 275.213 87.3746"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-368.033 186.951 85.4503"; + rotation = "0.06725 -0.274808 -0.959144 28.6262"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-116.25 326.902 75.209"; + rotation = "8.05521e-05 0.000345267 1 153.735"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.4539 202.68 85.4526"; + rotation = "1 0 0 4.01071"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "251.726 407.713 107.495"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "246.294 419.836 106.75"; + rotation = "0 0 -1 26.9291"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "345.858 293.623 72.44"; + rotation = "-0.0514474 0.35232 -0.934464 17.7631"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164.302 310.637 76.6518"; + rotation = "-0.29411 0.301151 -0.907087 18.5674"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-369.617 204.181 88.0842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.501 199.162 73.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + }; + new WaterBlock(Water) { + position = "-520 256 -41.6385"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.1"; + surfaceTexture = "LiquidTiles/industrial_oil"; + surfaceOpacity = "1"; + envMapTexture = "dark_greendark_green_UP"; + envMapIntensity = "0"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Norty.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Norty.mis new file mode 100644 index 00000000..53f78cef --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Norty.mis @@ -0,0 +1,2914 @@ +// DisplayName = TWL2-Norty +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//rwar! +//-- norty +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle station +//Bunkers and sensors are self-powered +//Map by norty (Assisted: KillerBagel, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-1024 -776 1712 1648"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.350000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + texture1 = "special/sunFlare02"; + texture3 = "special/LensFlare/flare02"; + texture4 = "special/LensFlare/flare03"; + texture0 = "special/sunFlare"; + locked = "true"; + texture2 = "special/LensFlare/flare01"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Training1.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "norty.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-240 1576 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "340"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "280"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.16091e-07 -4.24828e+36"; + high_fogVolume2 = "-1 -4.55492e+24 -2.18444e+27"; + high_fogVolume3 = "-1 -7.15273e+21 -7.0137"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new WaterBlock() { + position = "-200 736 11.088"; + rotation = "1 0 0 0"; + scale = "384 224 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-241.18 569.124 146.712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "31.4203 460.386 126.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "40"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-242.16 331.623 97.349"; + rotation = "0 0 -1 101.024"; + scale = "0.761805 0.86991 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-239.322 334.864 91.136"; + rotation = "-0 0 -1 9.35108"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-247.894 502.354 144.624"; + rotation = "0 0 1 168.632"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-251.578 531.859 163.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-264.796 544.441 172.599"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-243.926 548.757 172.518"; + rotation = "0 0 1 167.877"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-253.836 543.855 180.14"; + rotation = "0.510855 0.62074 0.594734 110.778"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-250.325 530.635 173.88"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-263.466 529.993 172.552"; + rotation = "0 0 1 207.984"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-240.166 528.533 172.593"; + rotation = "0 0 1 77.9222"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "-246.487 380.281 90.6632"; + rotation = "0 0 -1 1.16498"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + FLAG = "4640"; + locked = "true"; + }; + new InteriorInstance() { + position = "-83.1468 470.169 193.459"; + rotation = "0 0 1 42.9718"; + scale = "0.761805 0.86991 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(subBase) { + + providesPower = "1"; + + new StaticShape() { + position = "-83.2092 465.559 187.157"; + rotation = "0 0 1 222.49"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "59.3659 453.772 117.464"; + rotation = "0 0 1 140.557"; + scale = "1.97434 1.13528 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-451.599 535.219 178.384"; + rotation = "0 0 1 185.065"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "40.2702 434.325 117.463"; + rotation = "0 0 1 142.849"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-455.53 539.539 184.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "39.3405 440.26 125.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "45.4592 438.695 117.543"; + rotation = "0 0 1 135.973"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-244.064 389.71 79.7799"; + rotation = "0 0 -1 70.0831"; + scale = "1.10773 1.25097 1.86995"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-246.445 380.235 91.2706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + stand = "4623"; + locked = "true"; + }; + new WayPoint() { + position = "-252.797 536.952 162.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Storm Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Storm Base"; + team = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "43.1895 436.145 116.892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Storm Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Storm Bunker"; + team = "0"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-253.403 -579.451 150.627"; + rotation = "1 0 0 0"; + scale = "0.202511 1.59701 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "19.2448 -460.7 131.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "40"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-242.039 -509.742 143.39"; + rotation = "0 0 1 9.74204"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-249.117 -539.026 162.358"; + rotation = "0 0 1 14.324"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-262.517 -551.687 171.281"; + rotation = "0 0 1 9.16968"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-241.117 -555.402 171.138"; + rotation = "0 0 1 9.17002"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-237.6 -541.24 171.418"; + rotation = "0 0 1 51.5664"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-251.071 -550.768 178.824"; + rotation = "-0.527571 0.649886 -0.547099 115.13"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "-258.495 -530.517 171.411"; + rotation = "0 0 -1 37.2425"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-250.034 -537.283 172.708"; + rotation = "0 0 1 10.8868"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-240.203 -397.237 78.8799"; + rotation = "0 0 1 57.8689"; + scale = "1.12756 1.37197 1.77609"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-246.376 -389.415 89.2449"; + rotation = "0 0 1 33.8047"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-237.736 -350.266 89.382"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-233.749 -354.546 95.295"; + rotation = "0 0 1 178.946"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(subBase2) { + + providesPower = "1"; + + new StaticShape() { + position = "-80.4048 -474.95 188.883"; + rotation = "0 0 -1 46.9827"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-84.8703 -476.148 195.051"; + rotation = "0 0 -1 52.7124"; + scale = "0.874783 0.766741 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "39.9729 -450.138 125.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "46.2057 -448.676 117.364"; + rotation = "0 0 1 43.545"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "41.8034 -443.845 117.3"; + rotation = "0 0 1 41.2531"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "24.8697 -429.194 117.384"; + rotation = "0 0 1 46.9828"; + scale = "2.13481 1.11854 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-454.524 -530.878 184.687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-450.431 -534.815 178.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-246.202 -389.507 89.8433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + locked = "true"; + }; + new WayPoint() { + position = "-249.762 -543.01 160.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inferno Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Inferno Base"; + team = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "44.44 -445.837 116.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inferno Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Inferno Bunker"; + team = "0"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(RandomOrganics) { + + + new TSStatic() { + position = "201.72 -313.803 121.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.883 -140.358 131.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-454.338 139.559 124.253"; + rotation = "0 0 1 1.16094"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-408.259 535.364 163.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12.7271 197.36 102.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372.087 330.491 61.9159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-282.842 401.854 74.8429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-174.287 679.752 123.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.312 679.013 172.685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-597.436 80.9129 172.453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468.967 -161.191 117.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-169.903 -37.535 184.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.119 -13.1123 189.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-167.974 15.7316 190.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-73.4911 1.21258 163.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg34.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-82.1416 -276.152 96.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484.69 -554.413 175.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-308.753 -721.215 167.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636.5 -255.536 114.273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.539 -348.286 88.4559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-125.722 -577.553 127.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-136.887 -590.63 127.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg32.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.896 -41.4441 121.326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "350.007 128.85 136.349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "459.582 280.803 194.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "340.468 591.525 118.662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-221.521 609.126 175.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-316.673 556.93 138.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-623.999 536.776 145.067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-766.222 422.858 132.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-596.704 339.361 71.5806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-362.942 -4.56918 74.6448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-93.43 239.27 90.8379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "279.332 -213.496 164.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "267.808 -535.235 150.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "179.549 -693.021 154.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-162.847 495.88 115.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-183.579 510.951 119.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-128.148 591.384 126.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12.9739 533.311 165.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-306.419 374.567 67.7743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.06 258.574 61.2558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-383.043 95.6341 81.8659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-285.451 -78.3463 100.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-272.702 -249.462 65.0246"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-157.785 -518.314 114.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-153.214 -495.289 117.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.33 -584.944 121.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-81.6531 -738.839 89.0402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-2.79282 -691.692 95.0148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-295.74 -645.101 157.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-433.789 -689.939 91.8487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-610.71 -352.496 78.1265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-610.697 -140.026 148.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-808.486 -43.0654 177.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-896.147 -9.41104 146.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1044.33 -8.18904 176.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-647.19 6.54554 191.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-600.018 172.384 160.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-748.612 308.989 69.1552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-894.537 421.522 105.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-997.842 205.526 132.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-906.651 247.78 85.2425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-984.696 762.945 129.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-951.676 972.519 154.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-848.935 841.522 102.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-648.448 785.949 83.2306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-367.005 769.831 145.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-406.225 928.296 57.9474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356.463 -103.218 117.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "506.233 -169.852 89.1553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "465.229 -6.65621 84.7234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "496.074 98.959 115.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "279.013 339.118 104.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-337.223 -465.044 117.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-800.609 -580.879 187.259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1014.23 -772.096 122.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-875.644 -646.123 113.012"; + rotation = "0 1 0 74.4846"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-877.741 -269.605 87.6515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-847.168 -332.114 62.2726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-729.096 -310.51 71.5575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-824.716 655.758 152.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-846.766 543.863 186.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-747.51 524.689 116.429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-719.939 424.453 115.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-591.741 432.669 90.4915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.129 299.906 87.4836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-449.981 384.545 73.5786"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-416.406 499.565 149.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.198 670.313 88.3154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-507.073 766.335 68.8264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-242.877 834.28 118.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-214.772 704.819 99.0729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76.6773 766.461 55.8313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg7.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20.0572 801.755 55.6276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-115.367 679.954 113.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132.143 667.358 115.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-94.5116 625.914 116.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-85.3036 718.252 99.0483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-30.6266 913.375 110.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "37.5222 777.911 31.9771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "32.6859 804.92 22.6079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-165.426 -797.925 103.504"; + rotation = "0 0 1 204.728"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "68.3511 751.015 52.1038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-126.436 -576.783 120.494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "130.968 825.352 53.6816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-113.657 566.319 128.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-68.1335 484.957 181.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "167.715 611.374 147.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "171.966 629.922 145.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "342.931 705.109 82.7348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "463.341 674.785 101.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "570.415 509.284 88.9659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg7.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588.997 494.654 90.1884"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "325.234 408.374 127.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "282.571 211.712 168.351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "210.667 108.071 105.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "105.896 -6.99866 108.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "233.167 -115.191 102.497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "130.471 -236.468 66.8207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.915 -382.666 102.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "414.917 -503.624 75.0091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "630.423 -501.719 76.7728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "689.645 -409.019 99.1152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "521.982 -699.937 153.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "344.989 -765.316 90.9027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-151.584 -689.824 121.127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-62.6144 835.782 14.5088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-10.7177 -930.244 128.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "425.563 -907.347 93.9883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "149.847 809.558 61.7291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "30.0982 -997.486 179.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "363.8 -1036.34 110.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36.2766 -801.625 14.4429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "26.7628 -765.622 49.6178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100.629 -851.087 52.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-9.33031 819.458 27.8989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-85.4357 -657.751 114.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-470.228 -759.724 83.4079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-589.378 -747.205 82.8114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-729.699 -714.624 115.273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-714.517 -505.245 115.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-675.992 -346.143 87.5194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452.411 -333.489 85.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-301.944 -362.011 67.0989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-321.35 -175.573 83.5235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-495.212 -36.9723 120.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-273.267 133.073 91.0712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-174.831 34.6645 181.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-199.384 -884.22 113.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-321.004 -1016.73 97.7814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-315.36 -1250.32 154.691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-203.766 -1196.48 101.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-33.4474 -1184.51 46.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "153.298 -1215.79 67.5314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "225.955 -1270.11 111.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "342.228 -1174.63 117.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-137.424 -885.01 72.503"; + rotation = "0 0 1 193.842"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-3.33287 -816.3 18.9756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "86.6676 -300.671 73.4079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "17.9067 -75.7431 93.1007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-55.0621 242.623 99.2966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-320.598 147.277 88.0879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-399.148 -92.4053 85.4838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-575.625 -369.109 73.0952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-133.734 -882.988 70.6221"; + rotation = "1 0 0 14.325"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.726 366.628 74.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.384 366.317 74.8914"; + rotation = "1 0 0 0"; + scale = "1 1 2.16396"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-528.277 364.318 74.7097"; + rotation = "1 0 0 0"; + scale = "1 1.95752 1.86576"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-529.58 365.512 74.6506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.303 365.428 74.6906"; + rotation = "1 0 0 0"; + scale = "1 1.20201 1.7864"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-529.101 366.736 74.917"; + rotation = "1 0 0 0"; + scale = "1.25052 1.15945 1.56043"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-524.143 366.733 74.7477"; + rotation = "1 0 0 0"; + scale = "1 1.73446 1.71785"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.812 364.575 74.8871"; + rotation = "1 0 0 0"; + scale = "1 1 1.95002"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-526.661 363.123 74.8937"; + rotation = "1 0 0 0"; + scale = "1 1 1.69971"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.28 361.016 74.9273"; + rotation = "1 0 0 0"; + scale = "1 1.4751 1.58538"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.488 362.331 74.9294"; + rotation = "1 0 0 0"; + scale = "1 1 1.42564"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-529.814 363.211 74.8775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-529.657 361.944 74.9175"; + rotation = "1 0 0 0"; + scale = "1.168 1.31696 1.67491"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-534.169 364.053 74.4632"; + rotation = "1 0 0 0"; + scale = "1 1 2.1225"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532.645 363.7 74.5315"; + rotation = "1 0 0 0"; + scale = "1 1 2.02621"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532.032 361.361 74.7643"; + rotation = "1 0 0 0"; + scale = "1.16119 1 1.55913"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.224 358.236 75.1371"; + rotation = "1 0 0 0"; + scale = "1.12835 1.12582 1.25453"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-534.103 359.022 74.8582"; + rotation = "1 0 0 0"; + scale = "1 1 1.83044"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532.438 370.632 75.133"; + rotation = "1 0 0 0"; + scale = "1.15041 1 2.21624"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-532.67 367.108 74.7038"; + rotation = "1 0 0 0"; + scale = "1 1 1.88358"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.741 370.833 75.3584"; + rotation = "1 0 0 0"; + scale = "1.47473 1 1.61892"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-529.645 368.355 74.8952"; + rotation = "1 0 0 0"; + scale = "1.37244 1 1.83732"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-523.874 370.167 74.8926"; + rotation = "1 0 0 0"; + scale = "1 1 1.78665"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-527.038 368.657 75.0242"; + rotation = "1 0 0 0"; + scale = "1 1.52012 1.80656"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-523.013 361.01 74.7935"; + rotation = "1 0 0 0"; + scale = "1.11281 1.19179 1.89014"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-525.152 360.55 74.8597"; + rotation = "1 0 0 0"; + scale = "1.2494 1.27984 1.72569"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-521.101 359.326 74.8335"; + rotation = "1 0 0 0"; + scale = "1 1 2.20959"; + shapeName = "borg6.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-346.006 463.663 117.977"; + rotation = "0 0 1 19.4807"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-333.615 -464.821 116.294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "137.874 499.024 163.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "70.532 418.976 106.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "67.4515 -444.47 105.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "112.556 -156.814 115.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "97.4883 122.812 113.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-334.25 300.224 55.8956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-79.1815 777.039 72.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "199.709 753.76 130.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "598.38 831.7 96.527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "669.109 359.224 97.9513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "616.854 14.3311 134.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "475.064 -336.478 193.271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "571.18 -605.776 114.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-199.938 115.765 121.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-201.815 142.206 118.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-209.664 123.82 119.058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.098 105.112 126.191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180.568 136.195 122.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-181.323 -148.866 125.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-181.057 -125.359 123.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-206.193 -147.561 119.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-213.185 -122.977 122.135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-283.201 -421.163 77.4539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-224.791 -456.037 84.0433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-168.582 -448.589 101.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg32.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-246.53 -428.847 69.7752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-190.444 -378.825 90.8642"; + rotation = "-0.537632 0.743491 0.39771 41.4016"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-233.728 -373.743 77.8096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-743.287 -1.87191 188.272"; + rotation = "0 0 1 76.2034"; + scale = "1.80941 1 1"; + shapeName = "borg12.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-186.956 418.98 90.6394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-253.975 478.364 103.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-222.985 377.78 73.5167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-179.418 -27.8704 189.207"; + rotation = "1 0 0 0"; + scale = "0.775074 0.582067 1.16456"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-133.201 404.68 109.82"; + rotation = "0 0 1 151.261"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-115.686 -446.008 134.843"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-479.666 -292.683 92.1361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-284.603 -624.054 158.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "264.785 21.8937 120.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "46.2159 231.199 90.8368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-350.129 145.119 90.0718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-295.033 622.273 160.184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-138.631 549.664 115.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "0.108906 76.4973 99.461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "138.523 -496.42 164.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-215.484 -620.63 175.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-561.487 -440.212 95.1064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-319.4 -272.14 57.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-159.041 -20.383 187.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-423.672 298.507 87.9351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "65.7723 307.951 68.3163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-461.729 379.166 72.3453"; + rotation = "1 0 0 0"; + scale = "0.1 0.417168 0.635472"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam_1) { + position = "28.5369 -497.465 156.748"; + rotation = "0.985262 -0.0364743 0.167117 24.9811"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_2) { + position = "-84.1864 -460.105 196.749"; + rotation = "0.279206 0.237565 -0.93038 84.8877"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_3) { + position = "-252.045 -555.39 173.932"; + rotation = "-0.256832 0.0193038 0.966263 8.89628"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_4) { + position = "-251.238 -345.263 93.8628"; + rotation = "0 0 1 152.406"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_5) { + position = "-142.072 398.551 135.662"; + rotation = "0.123902 0.167879 -0.97799 108.357"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_6) { + position = "-246.188 380.763 93.0595"; + rotation = "-0.497933 0.146615 0.854732 38.0167"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_7) { + position = "21.4259 462.104 125.778"; + rotation = "0.0111462 -0.0299937 0.999488 139.247"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_8) { + position = "-239.727 532.26 176.113"; + rotation = "0 0 -1 57.2957"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_9) { + position = "-201.627 148.412 136.46"; + rotation = "0.66038 0.0562669 -0.74882 12.983"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam_10) { + position = "-195.277 -155.212 140.436"; + rotation = "-0.00331398 -0.0749293 0.997183 185.051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(WaterBlocks) { + + + new WaterBlock() { + position = "-208 -960 21.8013"; + rotation = "1 0 0 0"; + scale = "384 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new WaterBlock() { + position = "16 -352 20.5881"; + rotation = "1 0 0 0"; + scale = "224 160 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new WaterBlock() { + position = "-976 -440 19.0782"; + rotation = "1 0 0 0"; + scale = "192 224 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new WaterBlock() { + position = "-608 320 24.5447"; + rotation = "1 0 0 0"; + scale = "160 128 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + new WaterBlock() { + position = "352 432 31.9105"; + rotation = "1 0 0 0"; + scale = "192 192 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Ocular.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Ocular.mis new file mode 100644 index 00000000..1a39fb66 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Ocular.mis @@ -0,0 +1,992 @@ +// DisplayName = TWL2-Ocular +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//i need pornstar training +//so i dont blow my load early +// -- Koreth +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Open flagstand +//Very ski-able +//Map by Adept (Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "30"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-800 -952 1456 1728"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.850000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Ocular.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "320"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "MissionBlank.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0007"; + cloudSpeed2 = "0.0014"; + cloudSpeed3 = "0.0021"; + visibleDistance = "510"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.700000 0.900000 0.000000"; + fogDistance = "280"; + fogColor = "0.750000 0.750000 0.950000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "ocular.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.6002e-37 2.28182e-38"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 4.32419e-38 2.28181e-38"; + + locked = "true"; + cloudSpeed0 = "80.000000 30.000000"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-385.68 368.17 145.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "60"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-352.935 553.672 140.763"; + rotation = "0 0 1 10.8862"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "40"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "-305.734 456.124 112.827"; + rotation = "-0 0 -1 37.2423"; + scale = "1 1 1"; + interiorFile = "ocular-flagstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-305.786 456.126 116.347"; + rotation = "0 0 -1 35.5233"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "-372.49 357.448 145.332"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + interiorFile = "btowr_ccb1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-343.367 551.38 145.429"; + rotation = "0 0 1 162.902"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-383.547 364.863 169.237"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-361.159 349.869 169.309"; + rotation = "-0 0 -1 43.5448"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-342.019 546.893 148.781"; + rotation = "0 0 1 25.7831"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Generator"; + team = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-340.142 547.344 149.917"; + rotation = "0.593792 0.804564 0.00936488 180.14"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-308.994 450.18 178.673"; + rotation = "0 0 1 88.8089"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-344.932 556.339 159.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-346.848 548.198 139.415"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-338.676 550.722 139.415"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-383.06 361.147 146.311"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-361.856 353.79 146.31"; + rotation = "0 0 1 90.6186"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-372.311 357.258 153.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-361.86 353.773 162.314"; + rotation = "0 0 1 90.6186"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-383.126 361.126 162.31"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-372.57 357.589 152.37"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-245.539 368.969 114.916"; + rotation = "-0 0 -1 31.5127"; + scale = "0.4 0.4 0.4"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "-245.647 366.903 113.612"; + rotation = "0 0 1 148.578"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance(InteriorInstance) { + position = "-306.74 455.006 181.379"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "77.0317 -602.701 147.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "40"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-76.2896 -719.52 157.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "60"; + indoorWeight = "35"; + outdoorWeight = "65"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "2.7565 -625.726 129.195"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + interiorFile = "ocular-flagstand.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "83.4623 -588.404 150.056"; + rotation = "0 0 1 87.5712"; + scale = "1 1 1"; + interiorFile = "btowr_ccb1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-56.6063 -703.561 158.208"; + rotation = "-0 0 -1 9.16737"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-59.4076 -548.372 130.817"; + rotation = "-0 0 -1 39.5341"; + scale = "0.4 0.4 0.4"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "2.69173 -625.688 132.696"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + searchSchedule = "20587"; + locked = "true"; + }; + new StaticShape() { + position = "71.7783 -581.511 173.989"; + rotation = "0 0 1 133.889"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "95.1335 -595.272 173.974"; + rotation = "-0 0 -1 46.5921"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-59.2789 -699.149 162.738"; + rotation = "0.758357 -0.651832 -0.00316925 180.008"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-55.3546 -709.539 172.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new Item() { + position = "83.4944 -588.841 158.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "72.6526 -585.309 167.072"; + rotation = "0 0 -1 91.8102"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "94.2673 -591.463 166.994"; + rotation = "0 0 1 88.1898"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "83.5292 -588.137 157.066"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "94.2737 -591.465 151.022"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "72.6347 -585.261 151.086"; + rotation = "0 0 -1 91.8557"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "2.34963 -627.405 192.864"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-0.156115 -632.053 190.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-58.2981 -551.549 129.484"; + rotation = "-0 0 -1 39.5341"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + wasDisabled = "1"; + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new WayPoint() { + position = "-57.3044 -699.153 161.235"; + rotation = "0 0 1 16.0428"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Generator"; + team = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-61.2419 -702.201 152.176"; + rotation = "0 0 -1 98.7312"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-52.7915 -700.861 152.204"; + rotation = "0 0 1 80.787"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "338.503 1.03659 124.766"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "135.703 -91.2633 137.039"; + rotation = "-0.112355 0.970965 -0.211193 67.4265"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "129.723 -101.976 139.251"; + rotation = "0.437938 0.81269 0.384376 199.177"; + scale = "1.29085 1.26293 1.72135"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "135.52 -95.6135 138.301"; + rotation = "-0.560846 -0.604333 0.565892 63.7334"; + scale = "2.21646 2.94002 2.5479"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-415.326 -220.908 120.111"; + rotation = "-0.843313 0.232845 0.484362 107.655"; + scale = "1.26669 1.12185 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-407.812 -222.629 118.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-418.269 -213.085 117.463"; + rotation = "0 -1 0 36.0963"; + scale = "2.19742 2.66608 1.70035"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "90.9369 -60.1181 141.312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-326.553 -316.76 133.962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-36.3898 161.444 127.123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "24.3999 709.704 148.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "333.761 597.757 170.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "540.78 106.897 181.63"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "518.342 -537.204 154.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-165.75 -792.438 152.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-675.043 107.611 155.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-718.914 -447.388 139.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-424.178 318.819 167.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-622.403 897.733 137.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "206.693 -350.04 133.002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-336.453 -676.028 131.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-317.442 -282.289 139.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-314.152 725.823 145.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "276.859 291.962 138.571"; + rotation = "1 0 0 0"; + scale = "1.50817 1.86132 1.82435"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "296.387 255.876 140.164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "310.599 307.432 140.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-254.445 55.6582 135.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "94.2126 21.1432 171.909"; + rotation = "1 0 0 0"; + scale = "1.53271 1.97785 1.87562"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "62.257 56.3471 167.915"; + rotation = "1 0 0 0"; + scale = "1.88971 2.44862 2.33116"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "44.0924 25.3635 152.844"; + rotation = "1 0 0 0"; + scale = "0.762412 0.618099 0.691238"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-495.272 -91.9619 136.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "212.326 -676.743 149.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + + new TSStatic() { + position = "-199.749 472.602 96.1398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-370.439 476.011 103.774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-333.176 646.99 110.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "149.847 -654.381 126.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "26.916 -704.981 127.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-130.46 -695.088 140.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(cam1) { + position = "-24.1744 -461.408 188.479"; + rotation = "0.0111077 -0.129455 0.991523 170.274"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(cam2) { + position = "-175.46 335.241 177.644"; + rotation = "0.29161 0.156985 -0.943568 59.4125"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_RoughLand.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_RoughLand.mis new file mode 100644 index 00000000..bbb15667 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_RoughLand.mis @@ -0,0 +1,1237 @@ +// DisplayName = TWL2-Rough Land +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//With every raindrop falls an enemy. +// -- unknown warrior +//--- MISSION QUOTE END --- + + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Only Bombers and Havocs available +//Map by uthr (Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-968 -1032 1760 1872"; + flightCeiling = "300"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "6.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TL_RoughLand.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "MissionBlank.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.450000 0.500000 0.500000 0.000000"; + fogDistance = "450"; + fogColor = "0.450000 0.500000 0.500000 1.000000"; + fogVolume1 = "500 0 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "180.000000 80.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 1.50756e-33"; + high_fogVolume2 = "-1 1.2946e-33 1.10641e-33"; + high_fogVolume3 = "-1 1.2356e-33 1.13976e-33"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "435.296 -417.189 184.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "75"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "210.296 -178.189 101.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new Item() { + position = "363.202 -296.176 114.372"; + rotation = "0 0 1 100"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "205.398 -607.331 118.116"; + rotation = "0 0 1 9.99997"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "419.057 -444.549 157.206"; + rotation = "0 0 1 65"; + scale = "1.2 1.5 1"; + interiorFile = "TL_btowr9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance(Bunker) { + position = "210.551 -184.891 99.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "367.559 -282.684 113.237"; + rotation = "0 0 1 9.99997"; + scale = "1 1 1"; + interiorFile = "TL_bmiscpan_ruind.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ForceFieldBare(field1) { + position = "200.999 -186.134 100.83"; + rotation = "1 0 0 0"; + scale = "19 0.4 8"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "203.416 -618.345 117.681"; + rotation = "0 0 1 190"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + hapcFlyer = "removed"; + BomberFlyer = "removed"; + mobileBaseVehicle = "removed"; + locked = "true"; + Ready = "1"; + scoutVehicle = "removed"; + AssaultVehicle = "removed"; + }; + new StaticShape() { + position = "423.321 -438.785 173.23"; + rotation = "0 0 1 65"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "426.273 -445.006 173.221"; + rotation = "0 0 1 65"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "419.193 -444.647 190.531"; + rotation = "0 0 -1 115"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret(BunkTurr) { + position = "210.53 -185.869 109.626"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "255.353 -512.789 123.111"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "255.318 -512.08 133.099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-0.0767822 82.2865 192.18"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-1.47681 82.3198 200.67"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "4.26981 82.2399 193.5"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "439.814 -434.79 172.564"; + rotation = "0 0 1 65"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape(BunkInvo1) { + position = "204.171 -178.145 101.22"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(BunkInvo2) { + position = "216.971 -178.145 101.22"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-410.722 434.575 195.251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "75"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-179.577 210.859 99.7624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "50"; + outdoorWeight = "50"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new Item() { + position = "-290.78 370.483 117.633"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "-613.218 208.482 117.744"; + rotation = "0 0 1 82"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-466.781 424.889 177.282"; + rotation = "0 0 -1 65"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-445.569 414.983 162.006"; + rotation = "0 0 -1 65"; + scale = "1.2 1.5 1"; + interiorFile = "TL_btowr9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-452.927 414.58 177.967"; + rotation = "0 0 -1 65"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-450.176 420.626 178.002"; + rotation = "0 0 -1 65"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance(Bunker) { + position = "-186.233 210.696 97.7774"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-303.704 365.285 116.607"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + interiorFile = "TL_bmiscpan_ruind.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new ForceFieldBare(field) { + position = "-187.133 201.156 98.999"; + rotation = "1 0 0 0"; + scale = "0.2 19 8"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-624.4 206.93 116.709"; + rotation = "0 0 -1 98"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + hapcFlyer = "removed"; + BomberFlyer = "removed"; + mobileBaseVehicle = "removed"; + locked = "true"; + Ready = "1"; + scoutVehicle = "removed"; + AssaultVehicle = "removed"; + }; + new StaticShape() { + position = "-445.749 415.143 195.331"; + rotation = "-0 -0 1 115"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret(BunkTurr) { + position = "-186.835 210.732 108.247"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new Turret() { + position = "-512.634 255.755 133.313"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-513.413 255.76 123.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-334.15 -333.821 218.547"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-333.719 -333.709 226.927"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-338.181 -333.649 219.756"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new StaticShape(BunkInvo1) { + position = "-179.493 217.129 99.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape(BunkInvo2) { + position = "-179.483 204.328 99.865"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new FileObject() { + + locked = "true"; + }; + new FileObject() { + + locked = "true"; + }; + new TSStatic() { + position = "-143.965 -150.378 168.934"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-147.139 -148.096 171.987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + + locked = "true"; + }; + new WaterBlock(Wasser) { + position = "128 -688 94.998"; + rotation = "1 0 0 0"; + scale = "128 192 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0.35"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.15"; + removeWetEdges = "1"; + + seedPoints = "0 0 1 0 1 1 0 1"; + extent = "100 100 10"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + locked = "true"; + textureSize = "32 32"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new WaterBlock(Wasser) { + position = "-688 128 94.61"; + rotation = "1 0 0 0"; + scale = "192 128 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0.35"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.15"; + removeWetEdges = "1"; + + seedPoints = "0 0 1 0 1 1 0 1"; + extent = "100 100 10"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + locked = "true"; + textureSize = "32 32"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new TSStatic() { + position = "-399.504 455.464 160.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-185.559 236.031 98.8433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-396.268 236.731 87.1276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-611.759 257.92 120.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-666.192 -255.954 201.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-802.937 462.334 188.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "38.4132 238.434 235.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "418.082 475.761 205.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "438.923 1062.91 183.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620.044 136.843 210.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "499.338 -347.133 186.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "393.869 -529.425 180.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "256.737 -637.88 125.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100.124 -513.138 184.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "143.957 -83.6535 175.058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-245.466 -235.065 207.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444.225 -543.475 199.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-288.045 -772.876 199.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-516.841 -949.708 210.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-637.003 -758.88 241.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604.667 -487.633 198.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564.316 -134.516 216.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-509.296 103.477 182.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-100.151 145.022 172.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-262.91 -20.7428 163.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-476.816 -8.34875 195.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "10.7707 -481.586 202.044"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "264.276 -624.992 122.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "388.952 -366.868 144.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "243.236 -183.996 100.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "147.262 -97.4124 173.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "130.041 -84.0534 176.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "81.1365 189.628 205.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-298.342 523.981 199.883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-511.01 226.91 113.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2.85705 99.274 194.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-14.9996 81.2586 194.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-330.283 -317.278 212.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "434.506 -401.815 155.632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "420.386 -398.632 155.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-57.1493 -636.004 155.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "254.156 -396.676 84.4625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-33.2312 151.186 192.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-466.37 -252.596 224.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-724.652 409.054 133.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(Camera1) { + position = "-256.442 245.185 164.086"; + rotation = "0 0 -1 35"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(Camera1) { + position = "263.078 -251.278 168.639"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-351.515 259.793 66.4839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new SimGroup(AmbientSound) { + + + new AudioEmitter() { + position = "-96.1278 -289.92 346.796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-563.177 223.821 130.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "219.612 -527.809 114.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-37.9607 -177.875 111.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-87.7518 -134.763 186.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "2000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "80000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Ruined.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Ruined.mis new file mode 100644 index 00000000..7270f987 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Ruined.mis @@ -0,0 +1,2420 @@ +// DisplayName = TWL2-Ruined +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The man of power is ruined by power, the man of money by money, the submissive man by subservience, the pleasure seeker by pleasure. +// -- Hermann Hesse +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Weapons caches exist +//Map by Ubernator (Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "1432 -1768 896 1808"; + flightCeiling = "500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "575"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.550000 0.450000 0.200000 1.000000"; + fogDistance = "75"; + fogColor = "0.690000 0.590000 0.370000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 2.58218e-38 3.74775e-38"; + high_fogVolume3 = "-1 1.94544e-33 3.74318e-38"; + + locked = "true"; + }; + new Sun() { + position = "2000 1000 227.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.733001 0.629067 -0.258815"; + color = "1.000000 0.900000 0.700000 1.000000"; + ambient = "0.760000 0.700000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "1"; + lensFlareIntensity = "5"; + frontFlareSize = "350"; + backFlareSize = "450"; + flareColor = "1.000000 0.950000 0.800000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TWL2_Ruined.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Reversion.nav"; + coverage = "0"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team2) { + + + new SimGroup(flagArea) { + + + new InteriorInstance() { + position = "1787.96 -1233.67 45.0533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1822.96 -1268.67 49.9092"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1860.35 -1268.67 43.3768"; + rotation = "0 1 0 44.6908"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1667.81 -1154.5 70.3833"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1822.96 -1305.43 43.0109"; + rotation = "1 0 0 42.9719"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1785.58 -1268.67 43.0784"; + rotation = "0 -1 0 44.6907"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1753.67 -1199.22 54.0878"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1736.71 -1216.21 54.0878"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1770.63 -1182.24 54.0878"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1779.1 -1173.75 54.0878"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1728.23 -1224.7 54.0878"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1866.51 -1364.22 49.9836"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1917.38 -1313.26 49.9836"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1908.9 -1321.76 49.9836"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1874.98 -1355.72 49.9836"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1891.94 -1338.74 49.9836"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1753.62 -1338.51 48.5298"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1770.59 -1355.48 48.5298"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1736.65 -1321.54 48.5298"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1728.16 -1313.05 48.5298"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1779.08 -1363.96 48.5298"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1917.75 -1224.56 49.3498"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1866.83 -1173.65 49.3498"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1875.32 -1182.13 49.3498"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1909.26 -1216.08 49.3498"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1892.29 -1199.1 49.3498"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1857.96 -1233.67 45.0533"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "1822.99 -1268.72 53.0647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "1868.02 -1469.53 77.704"; + rotation = "-0.320821 0.533076 0.782882 30.8769"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1664.28 -1134.98 65.6292"; + rotation = "-0.094295 -0.108602 -0.989603 82.5263"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1997.39 -1321.06 59.5949"; + rotation = "-0.367739 0.154261 0.917045 48.494"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1809.65 -1450.86 54.4077"; + rotation = "0 0 -1 118.029"; + scale = "1.4 1.3 1.4"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1916.81 -1113.33 53.8229"; + rotation = "-0.859004 0.44043 0.261022 69.206"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1905.81 -1299.49 49.746"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1968.05 -1266.96 69.5777"; + rotation = "0 1 0 45.2637"; + scale = "1.8 1.8 1.8"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1964.74 -1154.17 57.208"; + rotation = "0.395455 -0.653903 0.645001 17.4469"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1851.93 -1214.42 50.4657"; + rotation = "1 0 0 126.051"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1639.67 -1225.38 56.8193"; + rotation = "-0.178129 0.249512 0.951848 73.7416"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1698.03 -1436.97 70.6227"; + rotation = "-0.125608 -0.773889 0.620741 34.5831"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1711.93 -1355.94 62.058"; + rotation = "0 1 0 40.68"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1822.96 -1231.83 42.7309"; + rotation = "-1 0 0 40.68"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1776.2 -1094.14 65.4138"; + rotation = "-0.210804 -0.460992 0.862002 38.1613"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1736.95 -1256.77 53.773"; + rotation = "-0.806033 0.571209 0.155016 37.2156"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1727.28 -988.42 72.1404"; + rotation = "-0.624482 0.730972 -0.27514 62.1584"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1797.79 -1331.5 50.0581"; + rotation = "0 1 0 31.5127"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1787.96 -1303.67 45.0533"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1857.96 -1303.67 45.0533"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "1855.82 -1605.79 87.509"; + rotation = "1 0 0 0"; + scale = "0.95 0.95 0.95"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1900.08 -1609.42 101.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "1900.07 -1606.42 107.176"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1913.07 -1602.88 95.28"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1887.07 -1602.92 95.28"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1896.17 -1604.9 105.655"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1904.59 -1604.89 105.655"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1907.39 -1606.4 119.655"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "1900.07 -1604.7 117.465"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "1900.07 -1602.9 103.305"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + nameTag = "Lower"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "1892.81 -1606.42 119.655"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1900.07 -1606.45 133.255"; + rotation = "-0 0 -1 0.0884693"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "1902.97 -1520.08 101.4"; + rotation = "-0 0 -1 0.137056"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1902.97 -1519.48 93.4"; + rotation = "0 0 -1 90"; + scale = "0.8 0.8 0.8"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1855.76 -1612.95 86.787"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "removed"; + ScoutFlyer = "removed"; + BomberFlyer = "removed"; + locked = "true"; + Ready = "1"; + scoutVehicle = "removed"; + }; + new StaticShape() { + position = "1870.69 -1639.84 89.4"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1840.93 -1639.82 89.4"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "1900.08 -1594.88 130.176"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + new SimGroup(spawnSpheres) { + + + new SpawnSphere() { + position = "1893.45 -1501.6 96.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "90"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "1900.08 -1609.42 101.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(Team1) { + + + new SimGroup(spawnSpheres) { + + + new SpawnSphere() { + position = "1852.4 -218.043 106.517"; + rotation = "0 0 1 218.297"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "90"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "1899.06 -144.815 92.341"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + + locked = "true"; + }; + }; + new SimGroup(flagArea) { + + + new InteriorInstance() { + position = "1939.84 -492.552 50.4059"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1898.91 -492.552 47.8283"; + rotation = "0 -1 0 46.4096"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1981.45 -492.552 46.808"; + rotation = "0 1 0 44.6908"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1870.55 -423.102 54.1845"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1939.84 -450.689 46.6362"; + rotation = "-1 0 0 45.2637"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1939.84 -533.263 46.4638"; + rotation = "1 0 0 42.9719"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1904.84 -457.552 49.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1974.84 -457.552 49.95"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1974.84 -527.552 49.95"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1904.84 -527.552 50.55"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1915.73 -557.578 50.6646"; + rotation = "0 1 0 31.5127"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2009.75 -355.918 62.0687"; + rotation = "-0.624482 0.730972 -0.27514 62.1584"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2244.25 -380.106 77.2111"; + rotation = "0 1 0 64.7442"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1842.21 -506.658 54.9666"; + rotation = "-0.806033 0.571209 0.155016 37.2156"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1937.01 -289.185 56.288"; + rotation = "-0.210804 -0.460992 0.862002 38.1613"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1922.31 -419.832 55.8339"; + rotation = "-0.864036 0.414073 0.286332 77.3417"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1840.92 -579.819 49.8354"; + rotation = "0 1 0 40.68"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1834.83 -657.633 57.8607"; + rotation = "0.14152 0.584705 0.798807 26.8349"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1899.31 -350.098 59.3033"; + rotation = "0.17881 0.620341 0.763678 95.5997"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1979.6 -435.414 58.1624"; + rotation = "1 0 0 126.051"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2091.29 -346.733 67.3339"; + rotation = "0.231637 -0.85309 0.467528 25.4087"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2051.12 -451.041 55.995"; + rotation = "1 0 0 0"; + scale = "1.8 1.8 1.8"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2013.2 -533.379 52.6427"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2020.85 -306.082 66.9596"; + rotation = "-0.859004 0.44043 0.261022 69.206"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1897.7 -663.799 54.3044"; + rotation = "1 0 0 0"; + scale = "1.4 1.3 1.4"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2104.46 -540.976 50.825"; + rotation = "-0.367739 0.154261 0.917045 48.494"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1766.64 -358.856 69.5943"; + rotation = "-0.094295 -0.108602 -0.989603 82.5263"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1977.22 -691.323 66.687"; + rotation = "-0.320821 0.533076 0.782882 30.8769"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "1939.87 -492.593 53.5614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "2009.17 -422.982 51.2465"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2026.14 -439.953 51.2465"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1992.2 -406.012 51.2465"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1983.71 -397.526 51.2465"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2034.63 -448.439 51.2465"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1895.96 -587.842 50.0265"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1845.04 -536.93 50.0265"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1853.53 -545.415 50.0265"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1887.47 -579.357 50.0265"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1870.5 -562.386 50.0265"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2008.82 -562.617 49.8803"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1991.86 -579.601 49.8803"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2025.78 -545.633 49.8803"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2034.26 -537.141 49.8803"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1983.39 -588.098 49.8803"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1845.11 -448.582 54.1845"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1895.98 -397.626 54.1845"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1887.51 -406.117 54.1845"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1853.59 -440.085 54.1845"; + rotation = "0 0 1 44.9544"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new InteriorInstance() { + position = "1899.68 -144.03 92.941"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1886.68 -150.55 86.445"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1912.68 -150.55 86.445"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1903.58 -148.548 96.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1895.16 -148.55 96.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1892.36 -147.038 110.82"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "1899.68 -148.75 108.63"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new Turret() { + position = "1899.68 -150.55 94.47"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Lower"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + }; + new StaticShape() { + position = "1906.94 -147.037 110.82"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1899.68 -146.994 124.42"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "1902.2 -222.189 128.165"; + rotation = "0 0 1 179.954"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1902.2 -222.788 120.165"; + rotation = "0 0 1 90"; + scale = "0.8 0.8 0.8"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "1899.68 -147.03 98.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1961.63 -72.9351 63.3523"; + rotation = "-0 0 -1 0.664405"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1931.88 -73.2599 63.3523"; + rotation = "-0 0 -1 0.664405"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "1947.12 -99.9753 60.7393"; + rotation = "-0 0 -1 0.664405"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + AssaultVehicle = "removed"; + ScoutFlyer = "removed"; + BomberFlyer = "removed"; + locked = "true"; + Ready = "1"; + scoutVehicle = "removed"; + }; + new InteriorInstance() { + position = "1947.14 -107.136 61.4613"; + rotation = "0 0 1 179.336"; + scale = "0.95 0.95 0.95"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "1899.68 -158.43 121.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(RandomOrganics) { + + + new TSStatic() { + position = "2293.39 -660.94 56.717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2243.54 -966.169 56.404"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1829.45 -717.383 81.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1770.39 -492.353 67.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1766.05 -517.766 63.251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1690.44 -1388.98 71.5119"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2088.56 -1257.25 83.1675"; + rotation = "0 0 1 26.929"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2084.04 -1288.11 80.6565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1682.32 -1680.99 79.9049"; + rotation = "0 0 1 28.0749"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2091.97 -1588.98 80.3228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2421.47 -1266.99 56.9832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2061.01 -845.689 90.8107"; + rotation = "0 0 1 53.858"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2073.77 -816.336 87.7061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1656 -982.583 58.466"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1955.72 -888.228 75.7382"; + rotation = "0 0 -1 86.1262"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2050.64 -838.821 87.7869"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2089.83 -823.328 88.1439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1899.81 -775.433 80.3635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1915.17 -837.79 82.2362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1977.2 -1085.88 50.8495"; + rotation = "0.00994521 0.994489 0.104371 10.9461"; + scale = "2 2 2"; + shapeName = "borg25.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2374.6 -308.925 90.4524"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2261.67 -395.44 82.0343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2160.62 -63.9382 119.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new Item() { + position = "2290.69 -953.382 58.446"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "2297.27 -953.767 58.446"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "2284.1 -952.998 58.446"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "2280.39 -1051.1 64.7181"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1473.07 -286.806 62.2592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1524.52 1.0944 86.2151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1520.75 -701.086 52.8806"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1492.88 -889.093 80.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1472.49 -1474.23 61.5925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1950.57 -23.3476 66.2746"; + rotation = "0 0 1 162.72"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2048.73 29.698 80.0923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2032.99 -1736.51 82.5433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1892.55 -1671.77 91.7674"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1446.07 -1721.6 50.7594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1455.72 -548.366 69.3873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(randomInteriors) { + + + new InteriorInstance() { + position = "2259.36 -693.717 42.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1747.3 -687.328 91.307"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "btowra.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1761.96 -649.335 89.047"; + rotation = "0 0 1 88.7171"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "1764.01 -652.264 93.708"; + rotation = "-0.456176 -0.753812 -0.472938 106.745"; + scale = "4 4 2"; + shapeName = "borg34.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1760.21 -658.667 96.514"; + rotation = "-0.504707 0.712082 0.488068 108.222"; + scale = "4 4 2"; + shapeName = "borg33.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1760.24 -647.537 93.5"; + rotation = "0.399062 0.653219 0.643471 134.961"; + scale = "3 3 2"; + shapeName = "borg33.dts"; + + locked = "true"; + }; + new Item() { + position = "1751.89 -687.261 96.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2291.05 -947.193 56.046"; + rotation = "0 0 1 93.3921"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "1751.77 -682.447 89.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1751.7 -683.144 104.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1749.28 -692.019 104.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1752.18 -692.195 89.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1749.37 -692.247 89.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1746.69 -692.354 89.664"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1749.37 -682.447 89.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "1746.97 -682.447 89.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2090.17 -1147.09 80.582"; + rotation = "0 0 -1 91.2371"; + scale = "1 1 1"; + interiorFile = "btowra.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2115.62 -1142.07 64.5878"; + rotation = "0.452878 0.00488997 0.891559 178.897"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "2090.61 -1151.97 78.555"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "10"; + }; + new Item() { + position = "2088.21 -1152.02 78.935"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "3"; + }; + new Item() { + position = "2090.67 -1142.06 78.939"; + rotation = "0 0 -1 91.2371"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "5"; + }; + new Item() { + position = "2087.99 -1142.22 78.939"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "25"; + }; + new Item() { + position = "2085.19 -1142.34 78.939"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "5"; + }; + new Item() { + position = "2088.09 -1142.45 93.668"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "2085.86 -1151.37 93.663"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "2085.81 -1152.07 78.559"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + ammoStore = "10"; + }; + new Item() { + position = "2085.58 -1147.26 85.335"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "2066.57 -1189.89 74.775"; + rotation = "-0.752393 0.448568 -0.482382 107.652"; + scale = "3 3 2"; + shapeName = "borg33.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2066.36 -1178.76 77.789"; + rotation = "0.621407 0.450595 0.64095 225.792"; + scale = "4 4 2"; + shapeName = "borg33.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "2062.7 -1185.24 74.983"; + rotation = "0.660018 -0.389743 -0.642243 225.408"; + scale = "4 4 2"; + shapeName = "borg34.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2064.81 -1188.12 70.322"; + rotation = "0 0 -1 92.5201"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(RandomRocks) { + + + new InteriorInstance() { + position = "2558.34 -650.089 81.826"; + rotation = "-0.902921 -0.103469 -0.417167 67.5026"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1723.43 -1110.49 77.6932"; + rotation = "-0.857807 0.279516 0.431321 74.1397"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1834.63 -286.699 72.948"; + rotation = "0 0 1 48.7014"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2259.44 -991.689 58.1127"; + rotation = "-0.538972 0.777764 0.323408 66.4908"; + scale = "2.3 2.3 2.3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2323.58 -934.558 55.9158"; + rotation = "-0.586336 0.102948 -0.8035 101.742"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1717.45 -692.122 87.714"; + rotation = "0 1 0 53.858"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "2173.42 -686.429 52.9744"; + rotation = "0 1 0 61.8794"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1770.89 -378.375 73.08"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1743.16 -1493.84 46.2775"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "2060.32 -261.672 170.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "2073.77 -816.336 110.306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/bonuses/Nouns/crow.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "4000"; + maxLoopGap = "7000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "1940.31 -485.379 48.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "120"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "1823.02 -1276.24 47.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "120"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "2086.12 -250.672 141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "35000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "2086.12 -243.672 141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "40000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "2086.12 -247.272 141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "36000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(1) { + position = "2094.52 -1131.95 113.627"; + rotation = "-0.0337597 -0.0610446 0.997564 237.77"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(2) { + position = "1722.55 -836.365 136.902"; + rotation = "0.0859943 -0.0942998 0.991823 95.7434"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "1730.6 -706.934 129.864"; + rotation = "0.138526 -0.0593859 0.988577 46.8883"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Skylight.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Skylight.mis new file mode 100644 index 00000000..c22ef8cb --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_Skylight.mis @@ -0,0 +1,630 @@ +// DisplayName = TWL2-Skylight +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The mountains, the forest, and the sea, render men savage; +//they develop the fierce, but yet do not destroy the human. +// -- Victor Hugo +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Flags are very close +//No Generators +//Map by Killing is Fun +//--- MISSION STRING END --- + +datablock ForceFieldBareData(whiteForceFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.20; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-496 -656 992 1312"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-6.36341 -480.836 190.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 -0.57735 -0.57735"; + color = "0.700000 0.600000 0.400000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "TL_Skylight.ter"; + squareSize = "8"; + emptySquares = "82813 83069 83325 476794 83837 84093 84349 112253 112509 112765 506234 113277 113533 113789"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "TL_Skylight.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-928 -1256 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.8"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "650"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.800000 0.600000 0.300000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "kif_lushsunset.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "5.72761 -459.178 190.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-20.0794 -459.697 187.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_skylightbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-29.2781 -468.931 155.85"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-10.769 -469.042 155.85"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-10.7815 -450.428 155.85"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-29.2796 -450.398 155.85"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-20.0794 -459.697 156.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-20.0794 -459.697 156.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "14.547 -331.104 128.597"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "kif_skylightfs.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Turret() { + position = "14.5466 -347.68 131.993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + }; + }; + new SimGroup(ffs) { + + providesPower = "1"; + + new ForceFieldBare() { + position = "-12.498 -462.608 187.084"; + rotation = "1 0 0 0"; + scale = "7.01362 5.55603 0.599518"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-23.3438 -474.337 187.083"; + rotation = "1 0 0 0"; + scale = "5.88641 6.95309 0.638977"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-34.6753 -462.417 187.113"; + rotation = "1 0 0 0"; + scale = "7.34385 5.55603 0.605515"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-23.4804 -462.832 190.015"; + rotation = "1 0 0 0"; + scale = "6.90465 6.25262 0.332977"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-23.1516 -451.922 187.085"; + rotation = "1 0 0 0"; + scale = "6.02382 6.91395 0.594315"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "14.5475 -331.105 127.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "32.4372 460.01 188.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + + new InteriorInstance() { + position = "-20.0762 460.217 185.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_skylightbase.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-10.8962 451.001 153.55"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-10.8666 469.499 153.55"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-29.5321 450.804 153.55"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-29.4684 469.536 153.55"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-20.0762 460.217 154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "-20.0762 460.217 154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "9.58471 329.444 126.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_skylightfs.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "9.58521 329.403 125.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + }; + new Turret() { + position = "9.56869 345.852 129.64"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + zappingSound = "0"; + locked = "true"; + deleteLastProjectile = "1"; + }; + }; + new SimGroup(ffs) { + + providesPower = "1"; + + new ForceFieldBare() { + position = "-22.8388 445.628 184.836"; + rotation = "1 0 0 0"; + scale = "5.78801 8.75192 0.664627"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-23.3053 457.051 187.694"; + rotation = "1 0 0 0"; + scale = "6.62284 6.56735 0.354034"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-34.8085 457.523 184.781"; + rotation = "1 0 0 0"; + scale = "6.94905 5.41379 0.61297"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-22.6258 467.74 184.653"; + rotation = "1 0 0 0"; + scale = "5.29116 7.07422 0.774765"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new ForceFieldBare() { + position = "-12.6242 457.585 184.817"; + rotation = "1 0 0 0"; + scale = "7.18211 5.37943 0.638245"; + dataBlock = "whiteForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter() { + position = "-44.6112 -335.735 133.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "-3.88055 304.004 142.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-73.4327 463.46 217.147"; + rotation = "0.209335 -0.213394 0.954276 93.7791"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-29.8655 460.9 160.885"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "63.581 428.202 203.707"; + rotation = "0.168571 0.166761 -0.971481 91.0391"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "48.3117 -298.677 181.053"; + rotation = "-0.0199456 -0.0848807 0.996191 206.35"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-17.0917 -418.755 242.053"; + rotation = "-0.0233858 -0.474902 0.879728 184.961"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-28.0007 468.022 163.335"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_WoodyMyrk.mis b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_WoodyMyrk.mis new file mode 100644 index 00000000..7d6072b4 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/missions/TWL2_WoodyMyrk.mis @@ -0,0 +1,1535 @@ +// DisplayName = TWL2-Woody Myrk +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Be brave and dare with a holy boldness. +// -- Teresa of Avila +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Juno (Overhaul: =Sabre=, Bases: Akira, Editing: Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-936 -752 1376 1248"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "680 824 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.150000 0.150000 0.150000 1.000000"; + fogDistance = "210"; + fogColor = "0.150000 0.150000 0.150000 1.000000"; + fogVolume1 = "185 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "3 5 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 4.518e-38 0"; + high_fogVolume2 = "-1 0 4.3662e-38"; + high_fogVolume3 = "-1 0 4.2834e-38"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "WoodyMyrkSE.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -784 48"; + rotation = "1 0 0 0"; + scale = "2048 2048 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.3"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "WoodyMyrk_x2.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Precipitation(Precipitation) { + position = "-309.617 -141.533 149.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.300000 0.300000 0.200000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "2.25"; + maxVelocity = "5"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-406.412 -378.819 83.6265"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-463.071 -449.921 109.46"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new SimGroup(insidepowergroup) { + + + new StaticShape() { + position = "-408.06 -380.466 92.3745"; + rotation = "0 0 1 46.1007"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-408.167 -379.866 79.3961"; + rotation = "0 0 1 45.4817"; + scale = "1 1 1"; + interiorFile = "ccb_be_tower1b_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-412.861 -372.245 99.3665"; + rotation = "-0 0 -1 44.8993"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-399.542 -385.792 90.9902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-412.829 -372.276 83.3791"; + rotation = "-0 0 -1 44.5643"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-524.017 -286.236 143.703"; + rotation = "-0 0 -1 89.5183"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-458.815 -445.637 125.468"; + rotation = "0 0 1 225.482"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-351.507 -430.595 116.495"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-400.255 -372.806 103.474"; + rotation = "0 0 1 45.6277"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-351.42 -431.211 126.486"; + rotation = "0 0 -1 0.118694"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-188.202 -379.776 94.7042"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-188.185 -379.52 104.37"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-524.342 -286.094 133.758"; + rotation = "-0 0 -1 89.5183"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-458.844 -445.626 126.219"; + rotation = "0 0 1 45.264"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + missionTypesList = "CTF"; + }; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-80.7175 98.2758 84.0814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-24.9426 169.892 109.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(base) { + + + new SimGroup(insidepowergroup) { + + + new StaticShape() { + position = "-79.0835 99.9363 92.8294"; + rotation = "0 0 1 225.619"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-78.9715 99.3374 79.851"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "ccb_be_tower1b_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-74.2135 91.7564 99.8214"; + rotation = "0 0 1 134.619"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-87.6455 105.191 91.4451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new StaticShape() { + position = "-74.2455 91.7868 83.834"; + rotation = "0 0 1 134.954"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "37.3784 6.72501 144.358"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-29.1625 165.572 125.323"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-136.525 150.301 116.15"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-86.8235 92.2114 103.929"; + rotation = "0 0 1 225.146"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Turret() { + position = "-136.625 151.056 126.143"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-299.589 99.6858 94.7591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-299.316 99.4298 104.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "37.7036 6.58482 134.413"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new Item() { + position = "-29.1287 165.56 125.874"; + rotation = "0 0 1 45.2636"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + missionTypesList = "CTF"; + }; + }; + }; + new SimGroup(team0) { + + + new InteriorInstance() { + position = "-241.876 -133.863 152.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new Item() { + position = "-244.927 -139.636 149.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + locked = "true"; + }; + new Item() { + position = "-240.044 -139.824 149.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-244.732 -144.717 149.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-249.594 -139.909 149.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + new Item() { + position = "-244.824 -134.913 149.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + }; + }; + }; + new SimGroup(AudioWater) { + + + new AudioEmitter() { + position = "-612.898 -130.793 67.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-479.913 -153.42 68.1064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-356.271 -156.756 67.7973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-298.108 -160.461 68.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-181.594 -128.027 67.5438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "113.309 -142.126 67.9012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-41.5698 -107.325 67.6384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera(C6) { + position = "-41.7903 215.592 137.846"; + rotation = "-0.0344463 -0.175644 0.983851 201.842"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(C6) { + position = "-522.813 -428.787 133.698"; + rotation = "0.238651 -0.18733 0.952866 78.9622"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Trees) { + + + new TSStatic() { + position = "-748.991 347.79 113.664"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-355.715 220.98 91.3762"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-83.0524 -398.617 72.471"; + rotation = "0 0 1 236.814"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-574.826 -236.289 121.024"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-485.447 -75.423 77.4482"; + rotation = "0 0 1 46.9825"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "104.556 206.401 93.196"; + rotation = "0 0 -1 9.74027"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-66.8796 255.957 97.243"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "182.558 155.464 117.609"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-409.314 -521.61 99.9692"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-320.043 -494.6 107.874"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.0107 33.1761 111.486"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-230.905 -205.066 69.3745"; + rotation = "0 0 1 44.1177"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-170.26 -500.492 88.063"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "41.9307 -575.825 130.757"; + rotation = "0 0 -1 28.0749"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-326.795 12.2121 76.6145"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-530.264 28.7926 98.7744"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-590.695 145.688 116.928"; + rotation = "0 0 -1 59.0147"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-219.474 126.151 76.1944"; + rotation = "0 0 1 85.3707"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-552.715 -378.275 117.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-597.939 -61.555 70.397"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-148.345 21.3247 77.545"; + rotation = "0 0 1 89.5638"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-497.318 -539.839 120.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-657.594 32.0365 105.083"; + rotation = "0 0 -1 116.883"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-57.2439 -284.831 77.5772"; + rotation = "0 0 -1 28.6479"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-472.887 -234.158 71.9412"; + rotation = "0 0 -1 0.570611"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-558.821 -488.136 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-406.637 121.473 72.1151"; + rotation = "0 0 1 6.8755"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-693.403 -426.368 118.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-700.519 -82.4381 107.127"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276.551 77.2367 78.8214"; + rotation = "0 0 1 5.72956"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-223.312 -337.757 79.828"; + rotation = "0 0 -1 81.36"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-658.983 -196.758 111.803"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-360.938 -78.2364 71.9066"; + rotation = "0 0 1 2.29172"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-631.874 249.846 111.895"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172.87 182.123 111.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-144.901 -244.551 77.8581"; + rotation = "0 0 -1 88.2355"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-175.043 -303.37 76.841"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "18.4847 331.652 98.4696"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100.882 -233.856 72.6848"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-25.8864 -39.4824 73.346"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-256.945 -58.2815 71.3196"; + rotation = "0 0 1 48.7014"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "247.47 -195.23 107.445"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "90.5046 -423.508 119.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-13.3515 -194.084 78.0712"; + rotation = "0 0 1 217.906"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "258.705 38.2569 95.177"; + rotation = "0 0 -1 82.5059"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-339.776 -285.403 78.6801"; + rotation = "0 0 -1 117.456"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-183.598 376.613 106.836"; + rotation = "0 0 -1 8.02137"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-249.398 -424.548 79.929"; + rotation = "0 0 1 33.2315"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244.93 0.0341033 74.3791"; + rotation = "0 0 1 41.253"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-286.46 249.985 94.468"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-412.753 17.5893 75.8529"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-390.284 -240.15 71.9906"; + rotation = "0 0 1 19.4805"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-99.864 -32.1913 74.1314"; + rotation = "0 0 1 25.7831"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-766.357 -299.217 98.094"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4.75861 -380.649 101.492"; + rotation = "0 0 -1 68.182"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-424.393 316.241 115.653"; + rotation = "0 0 -1 16.0428"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "true"; + }; + }; + new SimGroup(AudioCreatures) { + + + new AudioEmitter(Frog1) { + position = "-312.361 -130.772 70.7249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog2) { + position = "-440.974 -137.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog3) { + position = "-200.974 -126.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog4) { + position = "-102.174 -123.548 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog5) { + position = "33.5644 -149.685 71.8847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Frog6) { + position = "-554.211 -152.37 78.9209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird1) { + position = "106.398 -232.28 106.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Crickets) { + position = "-254.789 -4.9169 78.8753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird2) { + position = "-218.177 118.926 110.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird3) { + position = "-248.766 -423.11 114.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Eerie_Fog) { + position = "-313.707 -7.9654 88.1657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "300"; + maxDistance = "19200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter(Bird4) { + position = "-588.666 140.756 134.783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/CCD.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/CCD.ter new file mode 100644 index 00000000..5228f76c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/CCD.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/CeleritySE.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/CeleritySE.ter new file mode 100644 index 00000000..d75588d7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/CeleritySE.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_Bleed.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_Bleed.ter new file mode 100644 index 00000000..afc1f880 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_Bleed.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_Dissention.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_Dissention.ter new file mode 100644 index 00000000..8def8193 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_Dissention.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_FrozenHope.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_FrozenHope.ter new file mode 100644 index 00000000..b9b0fdbd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro4_FrozenHope.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro_Drifts_SE.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro_Drifts_SE.ter new file mode 100644 index 00000000..f86295f3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Euro_Drifts_SE.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/Hildebrand.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Hildebrand.ter new file mode 100644 index 00000000..ebe732dd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Hildebrand.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/Ocular.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Ocular.ter new file mode 100644 index 00000000..6dc751f9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/Ocular.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Drorck.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Drorck.ter new file mode 100644 index 00000000..0bb2ae55 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Drorck.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Magnum.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Magnum.ter new file mode 100644 index 00000000..9173f15e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Magnum.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_MuddySwamp.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_MuddySwamp.ter new file mode 100644 index 00000000..22670185 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_MuddySwamp.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_RoughLand.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_RoughLand.ter new file mode 100644 index 00000000..8585979c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_RoughLand.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Skylight.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Skylight.ter new file mode 100644 index 00000000..868b0070 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TL_Skylight.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL-BlueMoon.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL-BlueMoon.ter new file mode 100644 index 00000000..7dcd1b44 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL-BlueMoon.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Bleed.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Bleed.spn new file mode 100644 index 00000000..53981b9f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Bleed.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_BlueMoon.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_BlueMoon.spn new file mode 100644 index 00000000..279024e4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_BlueMoon.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_CanyonCrusadeDeluxe.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_CanyonCrusadeDeluxe.spn new file mode 100644 index 00000000..381b0f77 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_CanyonCrusadeDeluxe.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Celerity.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Celerity.spn new file mode 100644 index 00000000..b5945687 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Celerity.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_CloakOfNight.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_CloakOfNight.spn new file mode 100644 index 00000000..2c71668f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_CloakOfNight.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Crevice.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Crevice.spn new file mode 100644 index 00000000..84658601 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Crevice.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Crevice.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Crevice.ter new file mode 100644 index 00000000..0a97d70f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Crevice.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Dissention.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Dissention.spn new file mode 100644 index 00000000..0fed4821 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Dissention.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Drifts.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Drifts.spn new file mode 100644 index 00000000..02084b2a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Drifts.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Drorck.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Drorck.spn new file mode 100644 index 00000000..0529b640 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Drorck.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_FrozenGlory.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_FrozenGlory.spn new file mode 100644 index 00000000..91d9f510 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_FrozenGlory.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_FrozenHope.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_FrozenHope.spn new file mode 100644 index 00000000..0ba8011e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_FrozenHope.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Frozenglory.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Frozenglory.ter new file mode 100644 index 00000000..99d5701d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Frozenglory.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Hildebrand.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Hildebrand.spn new file mode 100644 index 00000000..f855adbe Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Hildebrand.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_IceDagger.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_IceDagger.spn new file mode 100644 index 00000000..02842f12 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_IceDagger.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_JaggedClaw.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_JaggedClaw.spn new file mode 100644 index 00000000..378f8ee1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_JaggedClaw.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Magnum.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Magnum.spn new file mode 100644 index 00000000..e90d279c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Magnum.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_MidnightMayhemDeluxe.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_MidnightMayhemDeluxe.spn new file mode 100644 index 00000000..b4a1cb71 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_MidnightMayhemDeluxe.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_MuddySwamp.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_MuddySwamp.spn new file mode 100644 index 00000000..e46e0bed Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_MuddySwamp.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Norty.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Norty.spn new file mode 100644 index 00000000..73f3e630 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Norty.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ocular.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ocular.spn new file mode 100644 index 00000000..5274c029 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ocular.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_RoughLand.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_RoughLand.spn new file mode 100644 index 00000000..dbd38323 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_RoughLand.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ruined.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ruined.spn new file mode 100644 index 00000000..3554f7fb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ruined.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ruined.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ruined.ter new file mode 100644 index 00000000..e1c389f3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Ruined.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Skylight.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Skylight.spn new file mode 100644 index 00000000..ee81d579 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_Skylight.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_WoodyMyrk.spn b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_WoodyMyrk.spn new file mode 100644 index 00000000..04429fff Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/TWL2_WoodyMyrk.spn differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/WoodyMyrkSE.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/WoodyMyrkSE.ter new file mode 100644 index 00000000..d4951d2c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/WoodyMyrkSE.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/cloak.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/cloak.ter new file mode 100644 index 00000000..cb7a790b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/cloak.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/icedagger.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/icedagger.ter new file mode 100644 index 00000000..337b2a6c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/icedagger.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/jaggedclaw.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/jaggedclaw.ter new file mode 100644 index 00000000..cdc52bf7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/jaggedclaw.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/mmd.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/mmd.ter new file mode 100644 index 00000000..d16ad6e8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/mmd.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/terrains/norty.ter b/public/base/@vl2/TWL2-MapPack.vl2/terrains/norty.ter new file mode 100644 index 00000000..475bcee5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/terrains/norty.ter differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Euro4_Bleed.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/Euro4_Bleed.dml new file mode 100644 index 00000000..ca4ba282 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/Euro4_Bleed.dml @@ -0,0 +1,7 @@ +skies/Euro4_Bleed_sysday_fr +skies/Euro4_Bleed_sysday_rt +skies/Euro4_Bleed_sysday_bk +skies/Euro4_Bleed_sysday_lf +skies/Euro4_Bleed_sysday_up +skies/Euro4_Bleed_sysday_dn +skies/Euro4_Bleed_emap diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Euro4_FrozenHope.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/Euro4_FrozenHope.dml new file mode 100644 index 00000000..81be326a --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/Euro4_FrozenHope.dml @@ -0,0 +1,7 @@ +skies/Euro4_FrozenHope_inf_butchlava2_FR.png +skies/Euro4_FrozenHope_inf_butchlava2_RT.png +skies/Euro4_FrozenHope_inf_butchlava2_BK.png +skies/Euro4_FrozenHope_inf_butchlava2_LF.png +skies/Euro4_FrozenHope_inf_butchlava2_UP.png +skies/Euro4_FrozenHope_inf_butchlava2_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1.png new file mode 100644 index 00000000..927d9cd0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1b.png new file mode 100644 index 00000000..25f496b7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1c.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1c.png new file mode 100644 index 00000000..699d9c5b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_base1c.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_btrim01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_btrim01.png new file mode 100644 index 00000000..5bffe8b6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_btrim01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_btrim05.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_btrim05.png new file mode 100644 index 00000000..6a23b2d0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8_btrim05.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam01.png new file mode 100644 index 00000000..4a3668da Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam01b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam01b.png new file mode 100644 index 00000000..8e29fe58 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam01b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam02.png new file mode 100644 index 00000000..0126e7ae Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8beam02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bgrate01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bgrate01.png new file mode 100644 index 00000000..3f20422d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bgrate01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bolttrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bolttrim.png new file mode 100644 index 00000000..683e84bb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bolttrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bolttrimb.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bolttrimb.png new file mode 100644 index 00000000..9f98e5bd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8bolttrimb.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8clangwarnmix_.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8clangwarnmix_.png new file mode 100644 index 00000000..9d783e76 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8clangwarnmix_.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete01.png new file mode 100644 index 00000000..de3d7f86 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete01stair1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete01stair1.png new file mode 100644 index 00000000..99eb2fa1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete01stair1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03.png new file mode 100644 index 00000000..ce29c5eb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03c.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03c.png new file mode 100644 index 00000000..888595a7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03c.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03cc.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03cc.png new file mode 100644 index 00000000..15fbd711 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03cc.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03fadedw.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03fadedw.png new file mode 100644 index 00000000..263c7a57 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8crete03fadedw.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretefloor02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretefloor02.png new file mode 100644 index 00000000..80277f74 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretefloor02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretefloor_ti.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretefloor_ti.png new file mode 100644 index 00000000..5bbf30b8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretefloor_ti.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretesmlltrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretesmlltrim.png new file mode 100644 index 00000000..3d6774fe Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8cretesmlltrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8lighttrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8lighttrim.png new file mode 100644 index 00000000..f26837fe Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8lighttrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8lighttrim_b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8lighttrim_b.png new file mode 100644 index 00000000..ec264115 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8lighttrim_b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim.png new file mode 100644 index 00000000..3f0df770 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim1.png new file mode 100644 index 00000000..dc9ac585 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim1b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim1b.png new file mode 100644 index 00000000..d192cb40 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim1b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim2.png new file mode 100644 index 00000000..1b7d6d0d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8mtltrim2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8smlltrim1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8smlltrim1.png new file mode 100644 index 00000000..77c91dba Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8smlltrim1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8support05.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8support05.png new file mode 100644 index 00000000..3949dc9c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8support05.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8tinylight_000.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8tinylight_000.png new file mode 100644 index 00000000..b86282df Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8tinylight_000.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8tmtllight2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8tmtllight2.png new file mode 100644 index 00000000..cc12abc0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8tmtllight2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8trimlight_000.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8trimlight_000.png new file mode 100644 index 00000000..7e7ae524 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8trimlight_000.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning2.png new file mode 100644 index 00000000..0ac4a294 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning256.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning256.png new file mode 100644 index 00000000..f068e1c1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning256.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning2step.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning2step.png new file mode 100644 index 00000000..98b9026e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8warning2step.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8wrntrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8wrntrim.png new file mode 100644 index 00000000..063b74d1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8wrntrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8wrntrim2b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8wrntrim2b.png new file mode 100644 index 00000000..9442ef21 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/e8wrntrim2b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/null.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/null.png new file mode 100644 index 00000000..6dd1de13 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/Evil8/null.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/TL_Magnum.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/TL_Magnum.dml new file mode 100644 index 00000000..a99977c3 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/TL_Magnum.dml @@ -0,0 +1,7 @@ +magsky/mag_FR.png +magsky/mag_RT.png +magsky/mag_BK.png +magsky/mag_LF.png +magsky/mag_UP.png +magsky/mag_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust.dml new file mode 100644 index 00000000..df145dff --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust.dml @@ -0,0 +1,9 @@ +blackdust/blackdust_FR +blackdust/blackdust_RT +blackdust/blackdust_BK +blackdust/blackdust_LF +blackdust/blackdust_UP +blackdust/blackdust_DN +lava/skies/volcanic_starrynite_emap +blackdust/blackdust_cloud1 +blackdust/blackdust_cloud2 diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_DN.png new file mode 100644 index 00000000..a0ee26f1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_bk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_bk.png new file mode 100644 index 00000000..f7bc144b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_bk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_cloud1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_cloud1.png new file mode 100644 index 00000000..595c1300 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_cloud1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_cloud2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_cloud2.png new file mode 100644 index 00000000..fb401fdb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_cloud2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_fr.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_fr.png new file mode 100644 index 00000000..bed8ceb5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_fr.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_lf.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_lf.png new file mode 100644 index 00000000..6f91cc5f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_lf.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_rt.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_rt.png new file mode 100644 index 00000000..67ca7eea Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_rt.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_up.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_up.png new file mode 100644 index 00000000..d934d06e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/blackdust/blackdust_up.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/canyon_crusade.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/canyon_crusade.dml new file mode 100644 index 00000000..3b0f887d --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/canyon_crusade.dml @@ -0,0 +1,7 @@ +skies/cc_sky_fr +skies/cc_sky_rt +skies/cc_sky_bk +skies/cc_sky_lf +skies/cc_sky_up +desert/skies/dd2 +lush/skies/lush_day_emap \ No newline at end of file diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green.dml new file mode 100644 index 00000000..6c1ac803 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green.dml @@ -0,0 +1,9 @@ +dark_green/dark_green_FR +dark_green/dark_green_RT +dark_green/dark_green_BK +dark_green/dark_green_LF +dark_green/dark_green_UP +dark_green/dark_green_DN +lush/skies/emap_dark_green +dark_green/dark_green_cloud1 +dark_green/dark_green_cloud2 diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_BK.png new file mode 100644 index 00000000..a1dd0025 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_DN.png new file mode 100644 index 00000000..2601f4cf Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_FR.png new file mode 100644 index 00000000..6b20f84a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_LF.png new file mode 100644 index 00000000..94b9fc44 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_RT.png new file mode 100644 index 00000000..ba93a1e0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_UP.png new file mode 100644 index 00000000..fd164b85 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_cloud1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_cloud1.png new file mode 100644 index 00000000..48487e95 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_cloud1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_cloud2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_cloud2.png new file mode 100644 index 00000000..30c6bef5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dark_green/dark_green_cloud2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/4circle_lite.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/4circle_lite.png new file mode 100644 index 00000000..d76a3f3a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/4circle_lite.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/antigrav.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/antigrav.png new file mode 100644 index 00000000..e13eec1d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/antigrav.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim1.png new file mode 100644 index 00000000..e6faeb71 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim2.png new file mode 100644 index 00000000..237d9ebc Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim3.png new file mode 100644 index 00000000..5e914968 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/bluetrim3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/carinternalwall.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/carinternalwall.png new file mode 100644 index 00000000..1d4b5852 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/carinternalwall.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/carrierwall4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/carrierwall4.png new file mode 100644 index 00000000..f2f7412f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/carrierwall4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/doorlogo2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/doorlogo2.png new file mode 100644 index 00000000..42edb0cb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/doorlogo2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_etechbor01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_etechbor01.png new file mode 100644 index 00000000..70b360ed Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_etechbor01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_etechbrdr2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_etechbrdr2.png new file mode 100644 index 00000000..01ec5139 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_etechbrdr2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ewall06.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ewall06.png new file mode 100644 index 00000000..1b883fa4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ewall06.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ewall07.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ewall07.png new file mode 100644 index 00000000..c0d3a0fb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ewall07.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_genfloor.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_genfloor.png new file mode 100644 index 00000000..6873aef4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_genfloor.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_genwall.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_genwall.png new file mode 100644 index 00000000..a8ff99f1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_genwall.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ilig04.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ilig04.png new file mode 100644 index 00000000..28cb2ba4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_ilig04.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_iwal01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_iwal01.png new file mode 100644 index 00000000..7682fae5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/ds_iwal01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/grate1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/grate1.png new file mode 100644 index 00000000..c4282184 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/grate1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/grate2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/grate2.png new file mode 100644 index 00000000..8b8d3729 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/grate2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/hangar_indoor1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/hangar_indoor1.png new file mode 100644 index 00000000..2ae43666 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/hangar_indoor1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/hangar_indoor3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/hangar_indoor3.png new file mode 100644 index 00000000..e289d8f2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/hangar_indoor3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/light_cold3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/light_cold3.png new file mode 100644 index 00000000..1d3adfb4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/light_cold3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/light_small2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/light_small2.png new file mode 100644 index 00000000..bd050cd3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/light_small2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/redstripe2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/redstripe2.png new file mode 100644 index 00000000..af59b5d1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/redstripe2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_smalllite.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_smalllite.png new file mode 100644 index 00000000..ccece168 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_smalllite.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite.png new file mode 100644 index 00000000..73f1d6f9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite3.png new file mode 100644 index 00000000..cb6a6110 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite4.png new file mode 100644 index 00000000..bfd53aa8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite5.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite5.png new file mode 100644 index 00000000..21fa3178 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rock_wall_lite5.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/roofbeam.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/roofbeam.png new file mode 100644 index 00000000..33cdf4c9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/roofbeam.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rway_middle.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rway_middle.png new file mode 100644 index 00000000..1beb429f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/rway_middle.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/sboxlogotop.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/sboxlogotop.png new file mode 100644 index 00000000..84dfbc00 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/sboxlogotop.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/slabgrill.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/slabgrill.png new file mode 100644 index 00000000..d2779f6b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/slabgrill.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/stripe2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/stripe2.png new file mode 100644 index 00000000..eee9ac6d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/stripe2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/striplite2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/striplite2.png new file mode 100644 index 00000000..c0915b32 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/striplite2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/striplite3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/striplite3.png new file mode 100644 index 00000000..cf20064f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/striplite3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/wall_2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/wall_2.png new file mode 100644 index 00000000..4da28398 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/wall_2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/wall_3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/wall_3.png new file mode 100644 index 00000000..eba3fc3c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/wall_3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/white_striplite.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/white_striplite.png new file mode 100644 index 00000000..24b9082a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/dox_textures/white_striplite.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/ancient3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/ancient3.png new file mode 100644 index 00000000..f0224a4f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/ancient3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/base1c.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/base1c.png new file mode 100644 index 00000000..1c35845a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/base1c.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/beam01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/beam01.png new file mode 100644 index 00000000..018fae30 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/beam01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/bolttrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/bolttrim.png new file mode 100644 index 00000000..9f425268 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/bolttrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cementwall6.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cementwall6.png new file mode 100644 index 00000000..ac6d597a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cementwall6.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cementwall8.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cementwall8.png new file mode 100644 index 00000000..46ee2b5d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cementwall8.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cretepillarc.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cretepillarc.png new file mode 100644 index 00000000..c6ea059f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/cretepillarc.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/crudewarn.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/crudewarn.png new file mode 100644 index 00000000..3fa64401 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/crudewarn.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/drkmtldpanelc.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/drkmtldpanelc.png new file mode 100644 index 00000000..f9dc120c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/drkmtldpanelc.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6cfloordented.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6cfloordented.png new file mode 100644 index 00000000..06ccd677 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6cfloordented.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6girdergrate.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6girdergrate.png new file mode 100644 index 00000000..e5685622 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6girdergrate.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6grate2flr.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6grate2flr.png new file mode 100644 index 00000000..5e71255d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6grate2flr.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6horzlight.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6horzlight.png new file mode 100644 index 00000000..bd73ca44 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6horzlight.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6smlgrtflr2bl.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6smlgrtflr2bl.png new file mode 100644 index 00000000..3ac09e24 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6smlgrtflr2bl.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6strimlight.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6strimlight.png new file mode 100644 index 00000000..4bd00232 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/e6strimlight.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/housewall.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/housewall.png new file mode 100644 index 00000000..7936f408 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/housewall.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/mtlsupgrt2light.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/mtlsupgrt2light.png new file mode 100644 index 00000000..14939c8b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/mtlsupgrt2light.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tfloor.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tfloor.png new file mode 100644 index 00000000..b7a1e349 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tfloor.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tlroddtilecln.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tlroddtilecln.png new file mode 100644 index 00000000..93084e93 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tlroddtilecln.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tmtllight.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tmtllight.png new file mode 100644 index 00000000..a5d7286c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/tmtllight.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/trimodd.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/trimodd.png new file mode 100644 index 00000000..0a181a8d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/trimodd.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/warning2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/warning2.png new file mode 100644 index 00000000..6fca0dac Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/evil/warning2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Bleed.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Bleed.png new file mode 100644 index 00000000..62344ca8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Bleed.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_BlueMoon.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_BlueMoon.png new file mode 100644 index 00000000..8b6e09af Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_BlueMoon.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_CanyonCrusadeDeluxe.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_CanyonCrusadeDeluxe.png new file mode 100644 index 00000000..2460c6ed Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_CanyonCrusadeDeluxe.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Celerity.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Celerity.png new file mode 100644 index 00000000..6d00836f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Celerity.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_CloakOfNight.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_CloakOfNight.png new file mode 100644 index 00000000..0fd513a6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_CloakOfNight.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Crevice.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Crevice.png new file mode 100644 index 00000000..1e5dc31a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Crevice.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Dissention.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Dissention.png new file mode 100644 index 00000000..91b98980 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Dissention.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Drifts.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Drifts.PNG new file mode 100644 index 00000000..d3d75c82 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Drifts.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Drorck.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Drorck.PNG new file mode 100644 index 00000000..a9558620 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Drorck.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_FrozenGlory.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_FrozenGlory.png new file mode 100644 index 00000000..e41543ec Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_FrozenGlory.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_FrozenHope.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_FrozenHope.png new file mode 100644 index 00000000..d69ad8a4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_FrozenHope.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Hildebrand.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Hildebrand.png new file mode 100644 index 00000000..1b4fd90e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Hildebrand.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_IceDagger.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_IceDagger.png new file mode 100644 index 00000000..cd08445c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_IceDagger.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_JaggedClaw.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_JaggedClaw.png new file mode 100644 index 00000000..156ab8e5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_JaggedClaw.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Magnum.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Magnum.PNG new file mode 100644 index 00000000..b61bb199 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Magnum.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_MidnightMayhemDeluxe.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_MidnightMayhemDeluxe.png new file mode 100644 index 00000000..efef7eec Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_MidnightMayhemDeluxe.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_MuddySwamp.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_MuddySwamp.png new file mode 100644 index 00000000..26b974d2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_MuddySwamp.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Norty.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Norty.PNG new file mode 100644 index 00000000..6633acb4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Norty.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Ocular.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Ocular.png new file mode 100644 index 00000000..71b853c3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Ocular.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_RoughLand.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_RoughLand.png new file mode 100644 index 00000000..3eb47d40 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_RoughLand.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Ruined.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Ruined.png new file mode 100644 index 00000000..9ebe4466 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Ruined.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Skylight.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Skylight.png new file mode 100644 index 00000000..5ad9535a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_Skylight.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_WoodyMyrk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_WoodyMyrk.png new file mode 100644 index 00000000..04819418 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/gui/Load_TWL2_WoodyMyrk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_ebor03.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_ebor03.PNG new file mode 100644 index 00000000..82de7c50 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_ebor03.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_espe03.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_espe03.PNG new file mode 100644 index 00000000..9047dd36 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_espe03.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_ibor6.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_ibor6.PNG new file mode 100644 index 00000000..ce07db61 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_ibor6.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_iceilig02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_iceilig02.png new file mode 100644 index 00000000..842ef5fb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/bd_iceilig02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_elig03.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_elig03.PNG new file mode 100644 index 00000000..4138c013 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_elig03.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_icei01a.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_icei01a.png new file mode 100644 index 00000000..25f38723 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_icei01a.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_itebor02a.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_itebor02a.PNG new file mode 100644 index 00000000..dd8b1085 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_itebor02a.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_itedoo01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_itedoo01.PNG new file mode 100644 index 00000000..12ce53bc Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_itedoo01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_iteflo01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_iteflo01.PNG new file mode 100644 index 00000000..d44c77dd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/be_iteflo01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_efloor1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_efloor1.png new file mode 100644 index 00000000..18677641 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_efloor1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ichute02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ichute02.png new file mode 100644 index 00000000..5df7ae11 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ichute02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iflo04.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iflo04.png new file mode 100644 index 00000000..f234ce4a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iflo04.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ihacei01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ihacei01.png new file mode 100644 index 00000000..cc1a951d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ihacei01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ilig02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ilig02.png new file mode 100644 index 00000000..9b35cfe5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ilig02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ilig03.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ilig03.png new file mode 100644 index 00000000..e77269e3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_ilig03.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco04a.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco04a.png new file mode 100644 index 00000000..03506cb7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco04a.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco05.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco05.png new file mode 100644 index 00000000..9fd40d10 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco05.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco06.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco06.png new file mode 100644 index 00000000..93721f18 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_iwaldeco06.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_techwall_2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_techwall_2.png new file mode 100644 index 00000000..683cc183 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_techwall_2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_techwall_3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_techwall_3.png new file mode 100644 index 00000000..5daead49 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/ds_techwall_3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_BK.png new file mode 100644 index 00000000..ed8ef50d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_FR.png new file mode 100644 index 00000000..a403d56a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_LF.png new file mode 100644 index 00000000..a403d56a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_RT.png new file mode 100644 index 00000000..c2008361 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_UP.png new file mode 100644 index 00000000..7e837db5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/ice/skies/starrynite_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50.dml new file mode 100644 index 00000000..0162044b --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50.dml @@ -0,0 +1,7 @@ +inf_butch_nov50_FR.png +inf_butch_nov50_RT.png +inf_butch_nov50_BK.png +inf_butch_nov50_LF.png +inf_butch_nov50_UP.png +inf_butch_nov50_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_BK.png new file mode 100644 index 00000000..35dc70f1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_DN.png new file mode 100644 index 00000000..d318407d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_FR.png new file mode 100644 index 00000000..0384c7fd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_LF.png new file mode 100644 index 00000000..b80e1b79 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_RT.png new file mode 100644 index 00000000..0313785a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_UP.png new file mode 100644 index 00000000..935a5ecf Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/inf_butch_nov50_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jagged.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/jagged.dml new file mode 100644 index 00000000..0ffa2efe --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/jagged.dml @@ -0,0 +1,7 @@ +jaggedclaw/chateau_ft.png +jaggedclaw/chateau_rt.png +jaggedclaw/chateau_bk.png +jaggedclaw/chateau_lf.png +jaggedclaw/chateau_up.png +jaggedclaw/chateau_dn.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_edoo02.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_edoo02.PNG new file mode 100644 index 00000000..5b4e8757 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_edoo02.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_elig02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_elig02.png new file mode 100644 index 00000000..11e18b67 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_elig02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_elig03.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_elig03.PNG new file mode 100644 index 00000000..4138c013 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_elig03.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_espec02.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_espec02.PNG new file mode 100644 index 00000000..291ef9db Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_espec02.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_ewal06.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_ewal06.PNG new file mode 100644 index 00000000..a756844f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_ewal06.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_icei01a.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_icei01a.png new file mode 100644 index 00000000..25f38723 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_icei01a.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_ihalig.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_ihalig.PNG new file mode 100644 index 00000000..f91e8f1b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_ihalig.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_iprflo01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_iprflo01.PNG new file mode 100644 index 00000000..96e7f49f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_iprflo01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itebor04.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itebor04.PNG new file mode 100644 index 00000000..c58e5ad3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itebor04.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itedoo01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itedoo01.PNG new file mode 100644 index 00000000..12ce53bc Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itedoo01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itelig01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itelig01.PNG new file mode 100644 index 00000000..49b43fe6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itelig01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itelig02.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itelig02.PNG new file mode 100644 index 00000000..899b475e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itelig02.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itewal01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itewal01.PNG new file mode 100644 index 00000000..01d09038 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itewal01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itewal04.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itewal04.png new file mode 100644 index 00000000..2af68be7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/be_itewal04.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_bk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_bk.png new file mode 100644 index 00000000..d3c9ab86 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_bk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_dn.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_dn.png new file mode 100644 index 00000000..c2a1c4fa Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_dn.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_ft.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_ft.png new file mode 100644 index 00000000..414542f0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_ft.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_lf.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_lf.png new file mode 100644 index 00000000..c05cd6d0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_lf.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_rt.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_rt.png new file mode 100644 index 00000000..3d8bade9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_rt.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_up.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_up.png new file mode 100644 index 00000000..e815723c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/chateau_up.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/deck1+.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/deck1+.png new file mode 100644 index 00000000..da1e356b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/deck1+.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefBlTrim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefBlTrim.png new file mode 100644 index 00000000..28488977 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefBlTrim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefBlue1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefBlue1.png new file mode 100644 index 00000000..6366241d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefBlue1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefWall1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefWall1.png new file mode 100644 index 00000000..70a7f714 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_NefWall1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_Neffloor1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_Neffloor1.png new file mode 100644 index 00000000..f5d3c3e4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_Neffloor1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_Neffloor5.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_Neffloor5.png new file mode 100644 index 00000000..6f134f26 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_Neffloor5.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_ilig03.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_ilig03.png new file mode 100644 index 00000000..e77269e3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/ds_ilig03.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/greylite2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/greylite2.png new file mode 100644 index 00000000..fbf1f791 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/greylite2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/gtext2a.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/gtext2a.png new file mode 100644 index 00000000..89cb17f7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/gtext2a.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/null.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/null.png new file mode 100644 index 00000000..6dd1de13 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/null.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/slabgrill.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/slabgrill.png new file mode 100644 index 00000000..966f0e83 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/slabgrill.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/tcement1a.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/tcement1a.png new file mode 100644 index 00000000..d62fe679 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/jaggedclaw/tcement1a.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/kif_lushsunset.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/kif_lushsunset.dml new file mode 100644 index 00000000..51b07a17 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/kif_lushsunset.dml @@ -0,0 +1,16 @@ +lush/skies/kif_lushsunset_FR +lush/skies/kif_lushsunset_RT +lush/skies/kif_lushsunset_BK +lush/skies/kif_lushsunset_LF +lush/skies/kif_lushsunset_UP +lush/skies/kif_lushsunset_DN +lush/skies/lush_day_emap + + + + + + + + + diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Euro4_Sinivalkoinen_TMa5tersMix_water_RefleX.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Euro4_Sinivalkoinen_TMa5tersMix_water_RefleX.png new file mode 100644 index 00000000..bc82fbe5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Euro4_Sinivalkoinen_TMa5tersMix_water_RefleX.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-Plates.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-Plates.png new file mode 100644 index 00000000..9326e1d0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-Plates.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-Trim.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-Trim.png new file mode 100644 index 00000000..b550ffc0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-Trim.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-bboard.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-bboard.png new file mode 100644 index 00000000..5b80054a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-bboard.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-bboard2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-bboard2.png new file mode 100644 index 00000000..680a1c4a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-bboard2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp2.png new file mode 100644 index 00000000..93fddff3 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp3.png new file mode 100644 index 00000000..4d488d15 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp4.png new file mode 100644 index 00000000..eee7f4a8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp7.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp7.png new file mode 100644 index 00000000..8566bd92 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-comp7.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-computer.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-computer.png new file mode 100644 index 00000000..93ac24a1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-computer.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-disp1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-disp1.png new file mode 100644 index 00000000..17a4aa17 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-disp1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-disp2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-disp2.png new file mode 100644 index 00000000..c3e6f909 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-disp2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-hitwall.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-hitwall.png new file mode 100644 index 00000000..d584e2ec Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-hitwall.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-hitwall2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-hitwall2.png new file mode 100644 index 00000000..6f226f8a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-hitwall2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-map.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-map.png new file mode 100644 index 00000000..f37dda8b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-map.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall.png new file mode 100644 index 00000000..14878cab Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall2.png new file mode 100644 index 00000000..912ade83 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall3.png new file mode 100644 index 00000000..fd9fa387 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall4.png new file mode 100644 index 00000000..63404399 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-mwall4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-pipe.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-pipe.png new file mode 100644 index 00000000..c6c5bdd5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-pipe.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-plasma.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-plasma.png new file mode 100644 index 00000000..9baf796e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Nycto-plasma.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy1.png new file mode 100644 index 00000000..dcd85bad Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy2.png new file mode 100644 index 00000000..4951fc9a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy3.png new file mode 100644 index 00000000..3e8f0d9e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy4.png new file mode 100644 index 00000000..4cb2d219 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy5.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy5.png new file mode 100644 index 00000000..a5f7b67d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy5.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy6.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy6.png new file mode 100644 index 00000000..64925a5c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy6.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy7.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy7.png new file mode 100644 index 00000000..88a0c85d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy7.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy8.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy8.png new file mode 100644 index 00000000..c48badb8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy8.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy9.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy9.png new file mode 100644 index 00000000..64143e3d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboy9.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb10.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb10.png new file mode 100644 index 00000000..0d31e4a0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb10.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb11.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb11.png new file mode 100644 index 00000000..b16c89f8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb11.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb12.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb12.png new file mode 100644 index 00000000..33aa8ba8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb12.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb13.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb13.png new file mode 100644 index 00000000..63d99d45 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb13.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb14.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb14.png new file mode 100644 index 00000000..50e7999c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb14.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb15.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb15.png new file mode 100644 index 00000000..e11987aa Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/Tma5t_Cowboyb15.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/bd_iflo03b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/bd_iflo03b.png new file mode 100644 index 00000000..8abb499b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/bd_iflo03b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/be_itelig01.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/be_itelig01.PNG new file mode 100644 index 00000000..49b43fe6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/be_itelig01.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/be_itewal02a.PNG b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/be_itewal02a.PNG new file mode 100644 index 00000000..33ebbd62 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/be_itewal02a.PNG differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/comp_screen_2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/comp_screen_2.png new file mode 100644 index 00000000..8947d2b1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/comp_screen_2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/grid_1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/grid_1.png new file mode 100644 index 00000000..2c672482 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/grid_1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/grid_rusty_1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/grid_rusty_1.png new file mode 100644 index 00000000..bf88d923 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/grid_rusty_1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/inf_light011.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/inf_light011.png new file mode 100644 index 00000000..91195388 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/inf_light011.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/inf_light09.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/inf_light09.png new file mode 100644 index 00000000..5c8eff83 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/inf_light09.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/sw_floorgrate.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/sw_floorgrate.png new file mode 100644 index 00000000..8d60345c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/sw_floorgrate.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/sw_ipipe02.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/sw_ipipe02.png new file mode 100644 index 00000000..97838b9a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/sw_ipipe02.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_1.png new file mode 100644 index 00000000..22cb06e8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_paint.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_paint.png new file mode 100644 index 00000000..65d2e723 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_paint.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_rusty.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_rusty.png new file mode 100644 index 00000000..d6e1f9ea Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_rusty.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_rusty2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_rusty2.png new file mode 100644 index 00000000..896ac9f5 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lava/techwall_rusty2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/liquidtiles/industrial_oil.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/liquidtiles/industrial_oil.png new file mode 100644 index 00000000..81fe881a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/liquidtiles/industrial_oil.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_red.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_red.png new file mode 100644 index 00000000..e5f62382 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_red.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_red2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_red2.png new file mode 100644 index 00000000..3c0edb39 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_red2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_sand.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_sand.png new file mode 100644 index 00000000..083b16bb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/bb_sand.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_elig02_nd.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_elig02_nd.png new file mode 100644 index 00000000..c33f27ed Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_elig02_nd.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_ewal03_hl.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_ewal03_hl.png new file mode 100644 index 00000000..6fea3eaa Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_ewal03_hl.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_ewal03acrk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_ewal03acrk.png new file mode 100644 index 00000000..f7d548c7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_ewal03acrk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_gr3streak.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_gr3streak.png new file mode 100644 index 00000000..ef389c3b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_gr3streak.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_gr4streak.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_gr4streak.png new file mode 100644 index 00000000..c859413d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/be_gr4streak.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_a.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_a.png new file mode 100644 index 00000000..222856f9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_a.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_b.png new file mode 100644 index 00000000..8a6347d7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_c.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_c.png new file mode 100644 index 00000000..c01f881a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/box_c.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_beam.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_beam.png new file mode 100644 index 00000000..9a617b67 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_beam.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_bluelite1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_bluelite1.png new file mode 100644 index 00000000..0d780676 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_bluelite1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_bluelite2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_bluelite2.png new file mode 100644 index 00000000..60a597dd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_bluelite2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3.png new file mode 100644 index 00000000..25fb7027 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3_b.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3_b.png new file mode 100644 index 00000000..93cdc053 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3_b.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3_f.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3_f.png new file mode 100644 index 00000000..a55cc4c9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel3_f.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel4.png new file mode 100644 index 00000000..55cf3a2e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_grsteel4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_pipe1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_pipe1.png new file mode 100644 index 00000000..272c600d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/dox_pipe1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/emap_beachblitz.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/emap_beachblitz.png new file mode 100644 index 00000000..a9395246 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/emap_beachblitz.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/emap_dark_green.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/emap_dark_green.png new file mode 100644 index 00000000..f0904c99 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/emap_dark_green.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_BK.png new file mode 100644 index 00000000..8b871715 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_DN.png new file mode 100644 index 00000000..950f8cf4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_FR.png new file mode 100644 index 00000000..6acec5c9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_LF.png new file mode 100644 index 00000000..21a7bb85 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_RT.png new file mode 100644 index 00000000..e18503b2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_UP.png new file mode 100644 index 00000000..d0bc5c52 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/skies/kif_lushsunset_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall1.png new file mode 100644 index 00000000..236eb263 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall2.png new file mode 100644 index 00000000..c7f6fce0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall3.png new file mode 100644 index 00000000..3eac0c65 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall4.png new file mode 100644 index 00000000..86c650be Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall5.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall5.png new file mode 100644 index 00000000..b1a02f13 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall5.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall7.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall7.png new file mode 100644 index 00000000..08e1b3fb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/lush/stone_wall7.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_BK.png new file mode 100644 index 00000000..d17c9a4c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_FR.png new file mode 100644 index 00000000..23b5cb42 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_LF.png new file mode 100644 index 00000000..d3bbd37b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_RT.png new file mode 100644 index 00000000..fcee15c4 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_UP.png new file mode 100644 index 00000000..ff0f78c7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/magsky/mag_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd.dml new file mode 100644 index 00000000..d26f96e1 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd.dml @@ -0,0 +1,18 @@ +mmd/mmd_FR +mmd/mmd_RT +mmd/mmd_BK +mmd/mmd_LF +mmd/mmd_UP +mmd/mmd_DN +lava/skies/volcanic_starrynite_emap + + + + + + + + + + + diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_BK.png new file mode 100644 index 00000000..6e971ab9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_DN.png new file mode 100644 index 00000000..de9c1831 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_FR.png new file mode 100644 index 00000000..2724c56a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_LF.png new file mode 100644 index 00000000..d155eb11 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_RT.png new file mode 100644 index 00000000..90e741ad Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_UP.png new file mode 100644 index 00000000..48958806 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/mmd/mmd_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/ocular.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/ocular.dml new file mode 100644 index 00000000..115b4876 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/ocular.dml @@ -0,0 +1,7 @@ +skies/ocular0 +skies/ocular90 +skies/ocular180 +skies/ocular270 +skies/oculartop +skies/blank_DN +skies/ocular_lush_day_emap \ No newline at end of file diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_emap.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_emap.png new file mode 100644 index 00000000..a9395246 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_emap.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_bk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_bk.png new file mode 100644 index 00000000..94edce99 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_bk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_dn.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_dn.png new file mode 100644 index 00000000..e3085e89 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_dn.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_fr.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_fr.png new file mode 100644 index 00000000..56d748a8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_fr.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_lf.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_lf.png new file mode 100644 index 00000000..ec1fb035 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_lf.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_rt.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_rt.png new file mode 100644 index 00000000..7a0cd95a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_rt.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_up.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_up.png new file mode 100644 index 00000000..43b12b4f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_Bleed_sysday_up.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_BK.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_BK.png new file mode 100644 index 00000000..b1511330 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_BK.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_DN.png new file mode 100644 index 00000000..8aba6b52 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_FR.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_FR.png new file mode 100644 index 00000000..1687fb4d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_FR.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_LF.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_LF.png new file mode 100644 index 00000000..455f87e1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_LF.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_RT.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_RT.png new file mode 100644 index 00000000..08162476 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_RT.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_UP.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_UP.png new file mode 100644 index 00000000..2ba8531c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/Euro4_FrozenHope_inf_butchlava2_UP.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/blank_DN.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/blank_DN.bm8 new file mode 100644 index 00000000..49d9602a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/blank_DN.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/blank_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/blank_DN.png new file mode 100644 index 00000000..21c73489 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/blank_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_bk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_bk.png new file mode 100644 index 00000000..22999112 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_bk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_fr.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_fr.png new file mode 100644 index 00000000..8800e3d2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_fr.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_lf.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_lf.png new file mode 100644 index 00000000..dc7a22a1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_lf.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_rt.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_rt.png new file mode 100644 index 00000000..316fa92e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_rt.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_up.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_up.png new file mode 100644 index 00000000..f83fd99c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/cc_sky_up.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular0.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular0.bm8 new file mode 100644 index 00000000..e170eee8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular0.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular0.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular0.png new file mode 100644 index 00000000..91878bdd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular0.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular180.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular180.bm8 new file mode 100644 index 00000000..a62b5dcb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular180.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular180.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular180.png new file mode 100644 index 00000000..554e7de2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular180.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular270.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular270.bm8 new file mode 100644 index 00000000..376eac48 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular270.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular270.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular270.png new file mode 100644 index 00000000..bd5cc5d0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular270.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular90.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular90.bm8 new file mode 100644 index 00000000..27122e85 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular90.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular90.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular90.png new file mode 100644 index 00000000..b15d2c6b Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular90.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular_lush_day_emap.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular_lush_day_emap.bm8 new file mode 100644 index 00000000..5e35942e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular_lush_day_emap.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular_lush_day_emap.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular_lush_day_emap.png new file mode 100644 index 00000000..440f4477 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/ocular_lush_day_emap.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/oculartop.bm8 b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/oculartop.bm8 new file mode 100644 index 00000000..abb100ea Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/oculartop.bm8 differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/oculartop.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/oculartop.png new file mode 100644 index 00000000..b1776c32 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/skies/oculartop.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01.dml new file mode 100644 index 00000000..132ab6d0 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01.dml @@ -0,0 +1,7 @@ +sky01/sfront +sky01/sright +sky01/sback +sky01/sleft +sky01/sup +sky01/sdown +desert/skies/desert_blue_emap diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sback.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sback.png new file mode 100644 index 00000000..c00babf1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sback.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sdown.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sdown.png new file mode 100644 index 00000000..e4951ab0 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sdown.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sfront.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sfront.png new file mode 100644 index 00000000..bdac479a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sfront.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sleft.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sleft.png new file mode 100644 index 00000000..cd693e0e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sleft.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sright.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sright.png new file mode 100644 index 00000000..f00cb12c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sright.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sup.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sup.png new file mode 100644 index 00000000..95d2b76e Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky01/sup.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/sky_ice_cloak.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky_ice_cloak.dml new file mode 100644 index 00000000..79d34e42 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/sky_ice_cloak.dml @@ -0,0 +1,9 @@ +ice/skies/starrynite_FR +ice/skies/starrynite_RT +ice/skies/starrynite_BK +ice/skies/starrynite_LF +ice/skies/starrynite_UP +ice/skies/starrynite_DN +ice/skies/ice_nite_emap +ice/skies/icecloud1 +ice/skies/icecloud3 diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.GrassLight.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.GrassLight.png new file mode 100644 index 00000000..80859a27 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.GrassLight.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.GrassMixed.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.GrassMixed.png new file mode 100644 index 00000000..d08604b1 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.GrassMixed.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.RockMossy.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.RockMossy.png new file mode 100644 index 00000000..cf372765 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.RockMossy.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.RockSmooth.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.RockSmooth.png new file mode 100644 index 00000000..87e0821c Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/Bleed.RockSmooth.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/abbbb.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/abbbb.png new file mode 100644 index 00000000..6243092a Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/abbbb.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/acccc.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/acccc.png new file mode 100644 index 00000000..05fd9f22 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/acccc.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/aeee.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/aeee.png new file mode 100644 index 00000000..ee81eadc Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/aeee.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/brown_Dirt05.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/brown_Dirt05.png new file mode 100644 index 00000000..dfe05aa9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/brown_Dirt05.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/brown_DirtRock01.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/brown_DirtRock01.png new file mode 100644 index 00000000..8ce6edf2 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/brown_DirtRock01.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_alien_crackedsand.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_alien_crackedsand.png new file mode 100644 index 00000000..a88b6a14 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_alien_crackedsand.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_alien_sand.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_alien_sand.png new file mode 100644 index 00000000..5bff50a8 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_alien_sand.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand1.png new file mode 100644 index 00000000..b87f3a25 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand2.png new file mode 100644 index 00000000..b87f3a25 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand3.png new file mode 100644 index 00000000..b87f3a25 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand4.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand4.png new file mode 100644 index 00000000..8736ff36 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/cc_sand4.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/greenrock21.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/greenrock21.png new file mode 100644 index 00000000..15d35afd Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/greenrock21.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-1.png new file mode 100644 index 00000000..a68ae930 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-2.png new file mode 100644 index 00000000..f9373c25 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-3.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-3.png new file mode 100644 index 00000000..4b55c1f9 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-3.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-5.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-5.png new file mode 100644 index 00000000..34c70a0f Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/mmd-5.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/rockwall.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/rockwall.png new file mode 100644 index 00000000..7a9aee56 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/rockwall.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/snow_a0.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/snow_a0.png new file mode 100644 index 00000000..3cfe0baf Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/snow_a0.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/snow_brownRock00.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/snow_brownRock00.png new file mode 100644 index 00000000..5c6282d7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/snow_brownRock00.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_mystery1.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_mystery1.png new file mode 100644 index 00000000..2b54e02d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_mystery1.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_mystery2.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_mystery2.png new file mode 100644 index 00000000..ecd0ae72 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_mystery2.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_test.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_test.png new file mode 100644 index 00000000..70fb854d Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/terrain/tes_test.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla.dml b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla.dml new file mode 100644 index 00000000..b29f7285 --- /dev/null +++ b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla.dml @@ -0,0 +1,7 @@ +teslaski_v5_fr.png +teslaski_v5_rt.png +teslaski_v5_bk.png +teslaski_v5_lf.png +teslaski_v5_up.png +teslaski_v5_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_bk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_bk.png new file mode 100644 index 00000000..5c4b56e6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_bk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_dn.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_dn.png new file mode 100644 index 00000000..af401200 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_dn.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_fr.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_fr.png new file mode 100644 index 00000000..8031f2d7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_fr.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_lf.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_lf.png new file mode 100644 index 00000000..a04b6a03 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_lf.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_rt.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_rt.png new file mode 100644 index 00000000..375695eb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_rt.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_up.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_up.png new file mode 100644 index 00000000..d5465aa6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/tesla/skies/teslaski_v5_up.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_DN.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_DN.png new file mode 100644 index 00000000..af401200 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_DN.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_bk.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_bk.png new file mode 100644 index 00000000..5c4b56e6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_bk.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_fr.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_fr.png new file mode 100644 index 00000000..8031f2d7 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_fr.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_lf.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_lf.png new file mode 100644 index 00000000..a04b6a03 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_lf.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_rt.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_rt.png new file mode 100644 index 00000000..375695eb Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_rt.png differ diff --git a/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_up.png b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_up.png new file mode 100644 index 00000000..d5465aa6 Binary files /dev/null and b/public/base/@vl2/TWL2-MapPack.vl2/textures/teslaski_v5_up.png differ diff --git a/public/base/@vl2/TridentLE.vl2/missions/TridentLE.mis b/public/base/@vl2/TridentLE.vl2/missions/TridentLE.mis new file mode 100644 index 00000000..e5bdf303 --- /dev/null +++ b/public/base/@vl2/TridentLE.vl2/missions/TridentLE.mis @@ -0,0 +1,1425 @@ +// DisplayName = Trident -League Edition- +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +// --Map revisions by Alingis +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Attackers must charge up the the fortified hills to the objective +//Attackers can restore the outlying bunkers, bring a repair pack +//Destroy generators in pits to disable forcefields in main base +// +//--- MISSION STRING END --- + +function ForceFieldBareData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-1000 -1008 1984 1984"; + flightCeiling = "1000"; + flightCeilingRange = "20"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -816 36.9714"; + rotation = "1 0 0 0"; + scale = "2048 2048 123.451"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "3"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.3"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.3"; + removeWetEdges = "0"; + hidden = "true"; + locked = "false"; + }; + new Sky(Sky) { + position = "728 -288 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.200000 0.525000 0.625000 1.000000"; + fogVolume1 = "100 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_day.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "false"; + high_fogDistance = "-1"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + cloudSpeed0 = "0.000150 0.000050"; + high_visibleDistance = "-1"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + }; + new Sun() { + direction = "0.22528 -0.904932 -0.361037"; + color = "0.850000 0.900000 1.000000 1.000000"; + ambient = "0.300000 0.350000 0.400000 1.000000"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + locked = "false"; + scale = "1 1 1"; + backFlareSize = "500"; + frontFlareSize = "10"; + texture0 = "special/sunFlare"; + texture4 = "special/LensFlare/flare03"; + texture2 = "special/LensFlare/flare01"; + position = "1024 512 0"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + texture3 = "special/LensFlare/flare02"; + texture1 = "special/sunFlare02"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Trident.ter"; + squareSize = "8"; + emptySquares = "82517 213844 279385 279390 934995 1000786 935506 935762 936017 936274 870995 805716 805972 740692 675412 479060 348245 282966 91510 103797"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "500"; + visibleDistance = "1000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + GraphFile = "Trident.nav"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-328.104 -461.154 256.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "135"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "false"; + }; + }; + new SimGroup(Switch) { + powerCount = "0"; + + new StaticShape() { + position = "-293.638 -428.775 300.648"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + WayPoint = "3520"; + team = "2"; + Target = "33"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(base) { + powerCount = "1"; + + new StaticShape() { + position = "-177.134 -481.482 253.288"; + rotation = "0 0 1 114.592"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3287"; + team = "2"; + Target = "34"; + }; + new StaticShape() { + position = "-299.965 -430.693 289.533"; + rotation = "-0.935113 -0.250563 -0.250563 93.841"; + scale = "1 1 1"; + nameTag = "Switch Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + notRepairable = "1"; + WayPoint = "3521"; + team = "2"; + Target = "35"; + needsObjectiveWaypoint = "1"; + }; + new Item() { + position = "-321.306 -444.876 301.172"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-277.472 -488.298 299.607"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3291"; + notReady = "1"; + team = "2"; + Target = "36"; + inUse = "Down"; + }; + new StaticShape() { + position = "-287.185 -471.573 299.592"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3293"; + team = "2"; + Target = "37"; + }; + new StaticShape() { + position = "-337.109 -385.02 299.668"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3295"; + notReady = "1"; + team = "2"; + Target = "38"; + inUse = "Down"; + }; + new StaticShape() { + position = "-331.366 -394.706 299.581"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3297"; + team = "2"; + Target = "39"; + }; + new InteriorInstance() { + position = "-244.785 -302.428 226.019"; + rotation = "0 0 1 208.557"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-171.288 -484.025 225.3"; + rotation = "0 0 -1 65.8901"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-169.39 -374.499 224.882"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-247.859 -308.011 253.955"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3302"; + team = "2"; + Target = "40"; + }; + new StaticShape() { + position = "-175.067 -377.403 252.873"; + rotation = "0 0 1 63.0254"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3304"; + team = "2"; + Target = "41"; + }; + new InteriorInstance() { + position = "-273.694 -417.255 302.6"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + interiorFile = "tri_base.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ForceFieldBare() { + position = "-289.849 -437.762 299.276"; + rotation = "0 0 -1 47.2918"; + scale = "6.92489 1 11.6439"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "-338.527 -411.595 286.634"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3310"; + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "-301.245 -476.321 286.591"; + rotation = "0 0 1 195"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3312"; + notReady = "1"; + team = "2"; + Target = "44"; + inUse = "Down"; + }; + new ForceFieldBare() { + position = "-299.349 -421.78 299.037"; + rotation = "0 0 -1 10.8863"; + scale = "6.88276 1 11.6439"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "45"; + }; + new ForceFieldBare() { + position = "-285.458 -420.487 299.251"; + rotation = "0 0 -1 81.36"; + scale = "1 6.54487 11.586"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + }; + new ForceFieldBare() { + position = "-283.151 -425.323 299.216"; + rotation = "0 0 -1 30.3667"; + scale = "1 4.34293 11.4823"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-284.65 -431.671 299.346"; + rotation = "0 0 1 21.7724"; + scale = "1 6.2426 11.586"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + }; + }; + new SimGroup(MidFieldBunkers) { + powerCount = "1"; + + new InteriorInstance() { + position = "-58.0349 -174.391 189.124"; + rotation = "0 0 1 205.21"; + scale = "1 1 1"; + interiorFile = "tri_wall5.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-76.3473 -213.64 208.561"; + rotation = "0.145459 0.699586 0.699586 196.552"; + scale = "1 1 1"; + nameTag = "Midfield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + notRepairable = "1"; + WayPoint = "3522"; + team = "2"; + Target = "49"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "-305.626 -437.596 299.239"; + rotation = "0 0 -1 30"; + scale = "3.8264 3.22585 1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "-60.7292 -180.101 217.384"; + rotation = "0 0 1 25.2101"; + scale = "1 1 1"; + nameTag = "Midfield"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3327"; + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "-34.3056 -218.648 217.068"; + rotation = "0 0 -1 64.7442"; + scale = "1 1 1"; + nameTag = "Midfield"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3329"; + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "-107.392 -184.453 217.061"; + rotation = "0 0 1 115.165"; + scale = "1 1 1"; + nameTag = "Midfield"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3331"; + team = "2"; + Target = "53"; + }; + new Item() { + position = "11.4806 -248.751 217.772"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-159.905 -167.755 217.831"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "-307.792 -443.989 287.2"; + rotation = "0 0 -1 30"; + scale = "0.873071 12.5099 6.53675"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "54"; + }; + }; + new SimGroup(courtyard) { + powerCount = "1"; + + new InteriorInstance() { + position = "-88.317 139.182 179.32"; + rotation = "0 0 1 5.00013"; + scale = "1 1 1"; + interiorFile = "tri_wall3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-84.34 171.433 180.574"; + rotation = "0 0 1 195"; + scale = "0.97 0.97 1"; + interiorFile = "tri_powerpit.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-84.4923 169.608 169.961"; + rotation = "0.0926914 0.704063 0.704063 190.591"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + notRepairable = "1"; + WayPoint = "3523"; + team = "2"; + Target = "55"; + needsObjectiveWaypoint = "1"; + }; + new ForceFieldBare() { + position = "-330.289 -431.405 299.5"; + rotation = "0 0 1 60"; + scale = "0.1 8.09447 8.18024"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "56"; + }; + new Turret() { + position = "-95.2936 272.503 206.133"; + rotation = "0.0910821 0.704168 -0.704168 169.591"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + damageTimeMS = "197555"; + team = "2"; + Target = "57"; + }; + new Turret() { + position = "-44.5589 259.737 195"; + rotation = "0.991764 -0.0905626 0.0905631 90.4736"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "58"; + }; + new Turret() { + position = "-50.6721 166.955 196.8"; + rotation = "0.829249 -0.395188 0.395186 100.666"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "59"; + }; + new Turret() { + position = "-145.379 283.051 195.019"; + rotation = "0.983106 -0.129428 0.129428 90.9762"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "60"; + }; + new Turret() { + position = "-121.576 173.191 196.843"; + rotation = "0.884757 0.329549 -0.329549 96.9977"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "61"; + lastProjectile = "5163"; + }; + new ForceFieldBare() { + position = "-108.158 276.142 162.908"; + rotation = "0 0 1 11.4591"; + scale = "25.2546 2.73832 39.2524"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "62"; + }; + new Turret() { + position = "-43.229 263.818 210.265"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "63"; + lastProjectile = "5504"; + }; + new StaticShape() { + position = "-98.858 134.078 186.424"; + rotation = "0 0 1 4.58384"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3351"; + team = "2"; + Target = "64"; + }; + new StaticShape() { + position = "-78.765 132.625 186.32"; + rotation = "0 0 1 4.58401"; + scale = "1 1 1"; + nameTag = "Courtyard"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3353"; + team = "2"; + Target = "65"; + }; + new ForceFieldBare() { + position = "-340.425 -421.793 299.472"; + rotation = "0 0 -1 30"; + scale = "12.1781 0.1 11.8085"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "66"; + }; + new ForceFieldBare() { + position = "-306.146 -472.949 299.409"; + rotation = "0 0 -1 30"; + scale = "8.21081 0.1 8.99772"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "67"; + }; + new ForceFieldBare() { + position = "-332.319 -428.296 286.45"; + rotation = "0 0 1 60"; + scale = "0.1 12.3945 8.55037"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "68"; + }; + new ForceFieldBare() { + position = "-312.511 -462.363 286.35"; + rotation = "0 0 -1 30"; + scale = "12.2712 0.1 9.11084"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "69"; + }; + new ForceFieldBare() { + position = "-314.221 -459.215 299.5"; + rotation = "0 0 -1 30"; + scale = "8.09431 0.1 8.21136"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "70"; + }; + }; + new SimGroup(FrontGate) { + powerCount = "0"; + + new InteriorInstance() { + position = "-94.4027 275.351 175.3"; + rotation = "0 0 1 193"; + scale = "1 1 1"; + interiorFile = "tri_gate.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "32.2656 211.834 175.254"; + rotation = "0 0 1 236.632"; + scale = "1 1 1"; + interiorFile = "tri_wall6.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere(EastBunkSpawn) { + position = "511.183 58.4799 183.246"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere(WestBunkSpawn) { + position = "-596.318 7.70742 239.966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "70"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-2.34988 690.842 167.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "60"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(east_bunker) { + powerCount = "0"; + + new ForceFieldBare(EastBunkTop) { + position = "435.157 13.9906 219.499"; + rotation = "-0 0 -1 30"; + scale = "4.78929 4.51088 1.17685"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "71"; + }; + new StaticShape(EastBunkGen) { + position = "456.749 30.6113 216.146"; + rotation = "-0.935113 -0.250563 -0.250563 93.841"; + scale = "1 1 1"; + nameTag = "Triton"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + team = "1"; + Target = "72"; + }; + new Turret(EastTurret) { + position = "436.922 17.4778 231.059"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + nameTag = "Triton"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + canBlow = "0"; + team = "1"; + Target = "73"; + }; + new StaticShape(EastInv1) { + position = "448.024 19.8874 211.084"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + nameTag = "First Triton"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3380"; + notReady = "1"; + team = "1"; + Target = "74"; + inUse = "Down"; + }; + new StaticShape(EastInv2) { + position = "452.415 22.2587 208.057"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + nameTag = "Second Triton"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3382"; + team = "1"; + Target = "75"; + }; + new ForceFieldBare(EastBunkForce1) { + position = "446.327 51.0174 199.046"; + rotation = "-0.437934 -0.117344 -0.891316 33.4639"; + scale = "13.6394 0.815819 14.4234"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "76"; + }; + new ForceFieldBare(EastBunkForce2) { + position = "470.896 8.43705 199.343"; + rotation = "0.437934 0.117344 -0.891316 33.4639"; + scale = "13.6422 0.643303 13.9721"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "77"; + }; + new InteriorInstance() { + position = "436.254 17.2541 201.08"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "tri_tbunker.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new SimGroup(west_bunker) { + powerCount = "0"; + + new InteriorInstance() { + position = "-553.018 -56.2446 251.274"; + rotation = "-0 0 -1 30"; + scale = "1 1 1"; + interiorFile = "tri_tbunker.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(WestBunkGen) { + position = "-566.495 -35.7855 266.383"; + rotation = "0.377964 0.654654 0.654654 221.41"; + scale = "1 1 1"; + nameTag = "Neriad"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + team = "1"; + Target = "78"; + }; + new Turret(WestTurret) { + position = "-553.361 -55.6126 281.25"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + nameTag = "Neriad"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + canBlow = "0"; + team = "1"; + Target = "79"; + }; + new StaticShape(WestInv1) { + position = "-555.771 -44.5106 261.26"; + rotation = "-0 0 -1 30"; + scale = "1 1 1"; + nameTag = "First Neriad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + canBlow = "0"; + Trigger = "3393"; + notReady = "1"; + team = "1"; + Target = "80"; + inUse = "Down"; + }; + new StaticShape(WestInv2) { + position = "-558.142 -40.1196 258.277"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + nameTag = "Second Neriad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + repairedBy = "3372"; + damageTimeMS = "15503"; + canBlow = "0"; + Trigger = "3395"; + team = "1"; + Target = "81"; + }; + new ForceFieldBare(WestBunkForce1) { + position = "-586.901 -46.2076 249.046"; + rotation = "0.0751465 0.130157 0.988642 239.435"; + scale = "13.6394 0.815819 14.4234"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "82"; + }; + new ForceFieldBare(WestBunkForce2) { + position = "-544.32 -21.6386 249.343"; + rotation = "-0.0751465 -0.130157 0.988642 239.435"; + scale = "13.6422 0.643303 13.9721"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "83"; + }; + new ForceFieldBare(WestBunkTop) { + position = "-549.874 -57.3776 269.499"; + rotation = "0 0 1 240"; + scale = "4.78929 4.51088 1.17685"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "84"; + }; + }; + new SimGroup(Team1Waypoints) { + powerCount = "0"; + + new WayPoint() { + position = "454.229 27.9384 218.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Triton Base"; + team = "1"; + }; + new WayPoint() { + position = "-563.641 -38.4382 269.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Neriad Base"; + team = "1"; + }; + new WayPoint() { + position = "12.7898 682.59 169.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Siren Base"; + team = "1"; + }; + }; + new SimGroup(StagingArea) { + providesPower = "1"; + powerCount = "0"; + + new TSStatic() { + position = "-3.2614 708.293 166.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + team = "1"; + }; + new TSStatic() { + position = "-15.643 723.569 166.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + team = "1"; + }; + new TSStatic() { + position = "-2.86019 679.803 167.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "25.6782 684.777 166.943"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "28.0273 686.641 166.945"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "23.3908 682.942 166.932"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "24.5993 683.913 168.934"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "26.9778 685.797 168.937"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-2.83306 679.834 169.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-22.7811 676.019 166.959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + team = "1"; + }; + new TSStatic() { + position = "28.4889 667.662 166.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + team = "1"; + }; + new StaticShape(STB) { + position = "22.6468 688.69 167.534"; + rotation = "0 0 1 141.566"; + scale = "1 1 1"; + nameTag = "Siren Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Trigger = "4299"; + Target = "85"; + }; + new TSStatic() { + position = "-19.6854 701.68 167.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new StaticShape(STA) { + position = "-15.1458 699.562 167.388"; + rotation = "0 0 1 239.724"; + scale = "1 1 1"; + nameTag = "Siren Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Trigger = "4303"; + Target = "86"; + }; + new InteriorInstance() { + position = "-16.7901 698.926 146.322"; + rotation = "0 0 1 149.724"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new TSStatic() { + position = "-18.5307 697.74 167.197"; + rotation = "0 0 1 239.679"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-21.2263 700.539 167.397"; + rotation = "0 0 -1 31.5129"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "29.9578 711.728 166.999"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "27.6087 709.864 166.997"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "25.9369 711.613 146.522"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new TSStatic() { + position = "28.9083 710.884 168.991"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "26.5298 709 168.988"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "25.3213 708.029 166.986"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "25.7896 715.499 167.497"; + rotation = "0 0 -1 38.9612"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "27.3203 714.328 167.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "27.3211 714.319 168.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "28.1011 714.959 168.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "28.0994 714.959 167.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "26.3222 713.635 168.478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "26.3259 713.636 167.517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "23.6449 713.161 167.6"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "22.7131 712.399 167.6"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "21.7206 711.561 167.6"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "22.2616 711.936 168.525"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "23.2541 712.774 168.525"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(AttackersBase) { + position = "32.1617 728.792 196.597"; + rotation = "-0.0855905 -0.246496 0.965357 217.062"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(DefendersBase) { + position = "-310.476 -442.158 348.416"; + rotation = "0.371281 -0.216528 0.902921 65.7165"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new InteriorInstance() { + position = "-177.004 -79.7269 194.891"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "tri_misc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.4067 -451.466 197.531"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "tri_misc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-312.939 -320.967 311.9"; + rotation = "0 0 1 12.605"; + scale = "1 1 1"; + interiorFile = "tri_tower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.0064 686.526 146.468"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "false"; + }; +}; +//--- OBJECT WRITE END --- + +package TridentLE +{ +// begin TridentLE package ================================ + + +function SiegeGame::missionLoadDone(%game) +{ + //Set Damage Levels for Team One objectives + + nameToId("EastBunkGen").setDamageLevel(2.5); + nameToId("EastTurret").setDamageLevel(2.5); + nameToId("EastInv1").setDamageLevel(2.5); + nameToId("EastInv2").setDamageLevel(2.5); + + nameToId("WestBunkGen").setDamageLevel(2.5); + nameToId("WestTurret").setDamageLevel(2.5); + nameToId("WestInv1").setDamageLevel(2.5); + nameToId("WestInv2").setDamageLevel(2.5); + + Parent::missionLoadDone(%game); +} + +function SiegeGame::gameOver(%game) +{ + exec("scripts/forceField.cs"); + Parent::gameOver(%game); + deactivatePackage(TridentLE); +} + +function SiegeGame::halftimeOver(%game) +{ + nameToId("EastBunkGen").setDamageLevel(2.5); + nameToId("EastTurret").setDamageLevel(2.5); + nameToId("EastInv1").setDamageLevel(2.5); + nameToId("EastInv2").setDamageLevel(2.5); + + nameToId("WestBunkGen").setDamageLevel(2.5); + nameToId("WestTurret").setDamageLevel(2.5); + nameToId("WestInv1").setDamageLevel(2.5); + nameToId("WestInv2").setDamageLevel(2.5); + + parent::halfTimeOver(%game); +} + +// we want to active some spawnSpheres if specific gens come online +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + + %attackersTeam = 1; + %neutralTeam = 0; + if(%obj == nameToId("EastBunkGen")) + { + %spawn = nameToId("EastBunkSpawn"); + Game.claimSpawn(%spawn, %attackersTeam, %neutralTeam); + } + else if(%obj == nameToId("WestBunkGen")) + { + %spawn = nameToId("WestBunkSpawn"); + Game.claimSpawn(%spawn, %attackersTeam, %neutralTeam); + } +} +// ...we want to deactivate the above set spawn spheres +// (revert them back to neutral actually) if the gen is disabled +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + %attackersTeam = 1; + %neutralTeam = 0; + if(%obj == nameToId("EastBunkGen") ) + { + %spawn = nameToId("EastBunkSpawn"); + Game.claimSpawn(%spawn, %neutralTeam, %attackersTeam); + } + else if(%obj == nameToId("WestBunkGen") ) + { + %spawn = nameToId("WestBunkSpawn"); + Game.claimSpawn(%spawn, %neutralTeam, %attackersTeam); + } +} + +function Station::onLosePowerDisabled(%data, %obj) +{ + Parent::onLosePowerDisabled(%data, %obj); + + if(%obj == nameToId("STA")) + schedule(1000, 0, repair, %obj); + else if(%obj == nameToId("STB")) + schedule(1000, 0, repair, %obj); +} + +function repair(%obj) +{ + %obj.setDamageLevel(0); +} + +//end TridentLE package ================================ +}; + +activatePackage(TridentLE); diff --git a/public/base/@vl2/TridentLE.vl2/terrains/TridentLE.spn b/public/base/@vl2/TridentLE.vl2/terrains/TridentLE.spn new file mode 100644 index 00000000..d10fe410 Binary files /dev/null and b/public/base/@vl2/TridentLE.vl2/terrains/TridentLE.spn differ diff --git a/public/base/@vl2/TridentLE.vl2/textures/gui/Load_TridentLE.png b/public/base/@vl2/TridentLE.vl2/textures/gui/Load_TridentLE.png new file mode 100644 index 00000000..780d0c70 Binary files /dev/null and b/public/base/@vl2/TridentLE.vl2/textures/gui/Load_TridentLE.png differ diff --git a/public/base/@vl2/UphillBattle.vl2/missions/UphillBattle.mis b/public/base/@vl2/UphillBattle.vl2/missions/UphillBattle.mis new file mode 100644 index 00000000..e708f71b --- /dev/null +++ b/public/base/@vl2/UphillBattle.vl2/missions/UphillBattle.mis @@ -0,0 +1,1924 @@ +// DisplayName = Uphill Battle +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//"It does not matter how slowly you go so long as you do not stop." -- Confucius +//-- Map by ???Unknown??? +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Offense must fight their way up a fortified mountain to reach the base at the top. +//As each generator goes down, it activates an Offensive bunker for that base along with a spawnsphere, thereby allowing the Offense to gain ground. +//Only the 2 Main Base Generators are repairable. +//Map by ???Unknown???. Thanks to Za'arok, Hundin666, and the people of the pond server, for help testing and useful input :). +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + powerCount = "0"; + Siege_timeLimit = "20"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "328 -616 624 848"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "150"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "75"; + fogColor = "0.650000 0.500000 0.300000 0.250000"; + fogVolume1 = "50 10 100"; + fogVolume2 = "200 100 105"; + fogVolume3 = "200 265 360"; + materialList = "Badlands_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 0.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.22439e-42 1.04486e-40"; + high_fogVolume2 = "-1 1.04845e-40 3.26643e-42"; + high_fogVolume3 = "-1 3.28324e-42 1.05581e-40"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.643953 0.643953 -0.413096"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.700000 0.700000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/DesertDet2"; + terrainFile = "Masada.ter"; + squareSize = "8"; + emptySquares = "87514 87770 222146 222402 288194 288450 223170"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "Masada.nav"; + coverage = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "555.823 -547.456 162.743"; + rotation = "0.450122 -0.146672 0.880839 40.602"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "675.713 -469.977 75.2489"; + rotation = "0.0282887 -0.159255 0.986832 160.115"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "529.998 -384.818 143.83"; + rotation = "0.243534 -0.0726737 0.967166 34.2945"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "536.102 -256.372 142.959"; + rotation = "0.922634 -0.0461702 0.382904 14.8916"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "544.401 -87.6829 192.932"; + rotation = "0.12374 -0.118792 0.985179 88.5177"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "722.756 -90.0466 304.312"; + rotation = "0.3041 -0.0428543 0.951676 16.846"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(OBaseSpawn) { + position = "688.145 -504.054 55.5338"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance() { + position = "687.248 -502.201 29.05"; + rotation = "0 0 1 127.197"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape(Obasestation4) { + position = "691.094 -510.31 50.9931"; + rotation = "0 0 1 126.051"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5267"; + notReady = "1"; + inUse = "Down"; + Target = "33"; + }; + new StaticShape(Obasestation3) { + position = "696.155 -503.357 50.9931"; + rotation = "0 0 1 126.051"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5269"; + notReady = "1"; + inUse = "Down"; + Target = "34"; + }; + new StaticShape(Obasestation2) { + position = "691.094 -510.31 58.4967"; + rotation = "0 0 1 126.051"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "2"; + Trigger = "5271"; + notReady = "1"; + inUse = "Down"; + Target = "35"; + lastDamagedBy = "5238"; + damageTimeMS = "116383"; + }; + new StaticShape(Obasestation1) { + position = "696.155 -503.357 58.5292"; + rotation = "0 0 1 126.051"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "2"; + Trigger = "5273"; + notReady = "1"; + inUse = "Down"; + Target = "36"; + lastDamagedBy = "5270"; + damageTimeMS = "117139"; + }; + new Turret(Obasesentry2) { + position = "675.946 -500.679 54.3294"; + rotation = "-0.820206 -0.402647 -0.40637 101.799"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "96543"; + UnksNoDamage = "1"; + team = "2"; + Target = "37"; + lastDamagedBy = "4993"; + damageTimeMS = "13471195"; + }; + new ForceFieldBare() { + position = "677.411 -500.168 50.9022"; + rotation = "0 0 -1 52.7121"; + scale = "8.60806 0.861944 6.66316"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "38"; + }; + new StaticShape(OBaseGen) { + position = "678.171 -490.891 -3.26543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "39"; + }; + new Turret(Obasesentry3) { + position = "682.852 -491.608 54.2128"; + rotation = "-0.820206 -0.402647 -0.40637 101.799"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "96544"; + UnksNoDamage = "1"; + team = "2"; + Target = "40"; + lastDamagedBy = "4993"; + damageTimeMS = "13471195"; + }; + new Turret(Obasesentry1) { + position = "679.331 -496.298 59.3687"; + rotation = "-0.820206 -0.402647 -0.40637 101.799"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "96545"; + UnksNoDamage = "1"; + team = "2"; + Target = "41"; + lastDamagedBy = "4993"; + damageTimeMS = "13471195"; + }; + new Item() { + position = "681.775 -498.095 59.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + }; + new SimGroup(1) { + + powerCount = "1"; + + new StaticShape() { + position = "564.306 -336.652 119.775"; + rotation = "0 0 1 20.0536"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5283"; + notReady = "1"; + inUse = "Down"; + Target = "42"; + }; + new StaticShape() { + position = "556.415 -333.772 119.778"; + rotation = "0 0 1 20.0536"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5285"; + notReady = "1"; + inUse = "Down"; + Target = "43"; + }; + new StaticShape() { + position = "564.312 -336.659 127.297"; + rotation = "0 0 1 20.0536"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "2"; + Trigger = "5287"; + Target = "44"; + lastDamagedBy = "15411"; + damageTimeMS = "7082785"; + }; + new StaticShape() { + position = "556.415 -333.772 127.296"; + rotation = "0 0 1 20.0536"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5289"; + notReady = "1"; + inUse = "Down"; + Target = "45"; + }; + new Turret(Ofoothillsentry1) { + position = "554.216 -351.865 128.11"; + rotation = "0.636535 0.43521 0.636722 132.898"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "1"; + UnksNoDamage = "1"; + team = "2"; + Target = "46"; + lastDamagedBy = "26193"; + damageTimeMS = "13229315"; + }; + new ForceFieldBare() { + position = "550.453 -350.23 119.69"; + rotation = "0 0 1 20.6265"; + scale = "8.21266 0.677112 6.71669"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "47"; + }; + new StaticShape(OFootHillGen) { + position = "565.825 -348.454 59.5271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "48"; + }; + new Turret(Ofoothillsentry2) { + position = "541.578 -351.128 120.816"; + rotation = "0.718547 0.492365 -0.49119 108.559"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "1"; + UnksNoDamage = "1"; + team = "2"; + Target = "49"; + lastDamagedBy = "26193"; + damageTimeMS = "13229101"; + }; + new Turret(Ofoothillsentry3) { + position = "564.118 -359.653 120.819"; + rotation = "-0.719097 -0.49118 -0.491571 108.69"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "1"; + UnksNoDamage = "1"; + team = "2"; + Target = "50"; + lastDamagedBy = "26193"; + damageTimeMS = "13229101"; + }; + new Item() { + position = "555.299 -349.199 129.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(2) { + + powerCount = "1"; + + new Turret(Ocanyonsentry1) { + position = "533.442 -190.933 119.635"; + rotation = "-0.577504 0.577044 -0.577503 119.947"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + UnksNoDamage = "1"; + team = "2"; + Target = "51"; + }; + new ForceFieldBare() { + position = "534.959 -192.991 114.832"; + rotation = "1 0 0 0"; + scale = "8.42987 0.983881 8.15639"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "549.988 -206.84 108.818"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "2"; + Trigger = "5302"; + repairedBy = "7116"; + notReady = "1"; + inUse = "Down"; + Target = "53"; + lastDamagedBy = "7116"; + damageTimeMS = "4513879"; + }; + new StaticShape() { + position = "550.024 -200.835 108.818"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "2"; + Trigger = "5304"; + Target = "54"; + lastDamagedBy = "7116"; + damageTimeMS = "1816326"; + }; + new StaticShape() { + position = "549.443 -204.413 114.832"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5306"; + notReady = "1"; + inUse = "Down"; + Target = "55"; + }; + new StaticShape() { + position = "549.437 -196.613 114.832"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5308"; + notReady = "1"; + inUse = "Down"; + Target = "56"; + }; + new StaticShape(OCanyonGen) { + position = "532.088 -203.415 96.8571"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + UnksNoDamage = "1"; + team = "2"; + Target = "57"; + lastDamagedBy = "4972"; + damageTimeMS = "1980387"; + }; + new ForceFieldBare() { + position = "548.016 -214.234 114.769"; + rotation = "1 0 0 0"; + scale = "4.09393 0.505325 8.2014"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "58"; + }; + new Turret(Ocanyonsentry2) { + position = "539.129 -191.769 125.193"; + rotation = "-0.577504 0.577044 -0.577503 119.947"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "101484"; + UnksNoDamage = "1"; + team = "2"; + Target = "59"; + }; + new Turret(Ocanyonsentry3) { + position = "544.606 -190.914 119.608"; + rotation = "-0.577504 0.577044 -0.577503 119.947"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "101386"; + UnksNoDamage = "1"; + team = "2"; + Target = "60"; + }; + new Item() { + position = "542.2 -195.584 110.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(3) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "594.02 -94.4841 181.751"; + rotation = "1 0 0 0"; + scale = "0.429895 4.20689 4.95616"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "61"; + }; + new StaticShape() { + position = "585.301 -89.9413 181.728"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "2"; + Trigger = "5319"; + repairedBy = "102591"; + notReady = "1"; + inUse = "Down"; + Target = "62"; + lastDamagedBy = "102591"; + damageTimeMS = "21344310"; + }; + new StaticShape() { + position = "585.36 -95.3805 181.728"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "2"; + Trigger = "5321"; + repairedBy = "102591"; + notReady = "1"; + inUse = "Down"; + Target = "63"; + lastDamagedBy = "102591"; + damageTimeMS = "21344310"; + }; + new Turret(Otowersentry1) { + position = "596.751 -100.774 181.704"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "117498"; + UnksNoDamage = "1"; + team = "2"; + Target = "64"; + lastDamagedBy = "4993"; + damageTimeMS = "15917606"; + }; + new StaticShape(OTowerGen) { + position = "580.921 -91.8945 109.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "65"; + }; + new StaticShape() { + position = "580.217 -92.4846 187.724"; + rotation = "0 0 -1 95.111"; + scale = "1 0.966293 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Trigger = "5325"; + notReady = "1"; + inUse = "Down"; + Target = "66"; + }; + new ForceFieldBare() { + position = "577.197 -96.4717 187.731"; + rotation = "0 0 -1 0.577428"; + scale = "10.5698 0.560654 4.36154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "67"; + }; + new ForceFieldBare() { + position = "577.197 -89.2717 187.731"; + rotation = "0 0 -1 0.577428"; + scale = "10.5698 0.560654 4.36154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "68"; + }; + new Turret(Otowersentry2) { + position = "588.884 -92.3406 190.782"; + rotation = "0 1 0 122.613"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "117474"; + UnksNoDamage = "1"; + team = "2"; + Target = "69"; + lastDamagedBy = "4993"; + damageTimeMS = "15917606"; + }; + new Turret(Otowersentry3) { + position = "596.454 -83.8893 181.763"; + rotation = "0 1 0 180.482"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "117499"; + UnksNoDamage = "1"; + team = "2"; + Target = "70"; + lastDamagedBy = "4993"; + damageTimeMS = "15917606"; + }; + new Item() { + position = "585.625 -92.4193 188.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(DBaseSpawn) { + position = "776.453 -20.0962 307.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "5"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(DTowerSpawn) { + position = "582.202 -90.7577 160.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "22"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(DCanyonSpawn) { + position = "538.706 -204.621 126.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "13"; + sphereWeight = "35"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(DFootHillSpawn) { + position = "557.555 -342.573 105.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "13"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(FootHill) { + + powerCount = "0"; + + new Turret(FootHillSentry) { + position = "555.466 -348.772 117.868"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + nameTag = "Foot Hill Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "6845"; + team = "1"; + Target = "71"; + lastDamagedBy = "5238"; + damageTimeMS = "193735"; + }; + new InteriorInstance() { + position = "562.291 -347.782 109.906"; + rotation = "0 0 -1 69.3279"; + scale = "3.75691 1.47093 0.813838"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(DFootHillGen) { + position = "560.353 -335.454 110.354"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + nameTag = "Foot Hill"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + notRepairable = "1"; + team = "1"; + WayPoint = "5456"; + repairedBy = "5042"; + Target = "72"; + lastDamagedBy = "5238"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "197987"; + }; + new ForceFieldBare() { + position = "545.125 -214.256 123.775"; + rotation = "1 0 0 0"; + scale = "0.163526 5.172 5.47419"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "73"; + }; + new ForceFieldBare() { + position = "532.776 -214.434 123.775"; + rotation = "1 0 0 0"; + scale = "0.231031 5.27481 5.47419"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "74"; + }; + new StaticShape(FootHillSensor) { + position = "556.168 -347.204 141.623"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + nameTag = "Foot Hill"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Target = "75"; + lastDamagedBy = "5238"; + damageTimeMS = "181843"; + }; + new ForceFieldBare() { + position = "552.821 -224.774 114.528"; + rotation = "1 0 0 0"; + scale = "0.975782 8.1727 8.45435"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "76"; + }; + new InteriorInstance() { + position = "558.624 -345.171 109.859"; + rotation = "-0.490531 0.716757 -0.495619 108.139"; + scale = "0.111809 0.459296 0.648249"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(foothillinv) { + position = "558.186 -341.352 110.286"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + nameTag = "Foot Hill"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Trigger = "5352"; + notReady = "1"; + inUse = "Down"; + Target = "77"; + lastDamagedBy = "5238"; + damageTimeMS = "195554"; + }; + new ForceFieldBare() { + position = "550.453 -350.23 119.69"; + rotation = "0 0 1 20.6265"; + scale = "8.21266 0.677112 6.71669"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "78"; + }; + new Turret(FootHillTurr) { + position = "531.092 -415.449 118.751"; + rotation = "-0.0250929 0.000234898 0.999685 22.5603"; + scale = "1 1 1"; + nameTag = "Foot Hill Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "2"; + lastProjectile = "94104"; + team = "1"; + Target = "79"; + lastDamagedBy = "5238"; + damageTimeMS = "188618"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "531.71 -414.255 117.108"; + rotation = "-0.601537 0.167951 0.78099 26.8618"; + scale = "0.537007 0.417199 0.688412"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new ForceFieldBare() { + position = "550.505 -212.38 96.6956"; + rotation = "1 0 0 0"; + scale = "3.20178 4.16559 3.46941"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "80"; + }; + new InteriorInstance() { + position = "557.665 -342.556 97.8231"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + interiorFile = "pbunk7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(canyon) { + + powerCount = "0"; + + new StaticShape() { + position = "539.225 -231.649 109.222"; + rotation = "0 0 1 179.909"; + scale = "2.51155 1 2.41687"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "2"; + Target = "-1"; + lastDamagedBy = "4993"; + damageTimeMS = "13904587"; + }; + new InteriorInstance() { + position = "532.581 -213.708 111.736"; + rotation = "-0.577044 0.577504 0.577503 119.947"; + scale = "0.158712 0.933755 0.971967"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "532.796 -204.976 122.938"; + rotation = "0 1 0 89.9544"; + scale = "0.233128 1.09768 0.779393"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(DCanyonGen) { + position = "552.363 -212.065 96.7603"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + nameTag = "Canyon"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + notRepairable = "1"; + team = "1"; + WayPoint = "5457"; + repairedBy = "5238"; + Target = "81"; + lastDamagedBy = "5238"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "253422"; + }; + new InteriorInstance() { + position = "550.551 -207.92 108.13"; + rotation = "0 0 1 89.9544"; + scale = "0.1 0.408233 0.780686"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "577.165 -196.981 118.562"; + rotation = "-0.101162 0.993607 -0.0501207 70.2464"; + scale = "1 1 0.944771"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "540.915 -167.011 148.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "527.732 -192.388 124.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "527.987 -208.88 123.227"; + rotation = "1 0 0 0"; + scale = "1.75972 1.28346 0.93908"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "552.003 -231.423 110.617"; + rotation = "0 1 0 89.9544"; + scale = "0.846758 1 0.290946"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new ForceFieldBare() { + position = "587.869 -94.4798 155.645"; + rotation = "1 0 0 0"; + scale = "0.542871 4.10249 7.42949"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "82"; + }; + new ForceFieldBare() { + position = "576.621 -94.622 155.733"; + rotation = "1 0 0 0"; + scale = "0.542871 4.10249 7.42949"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "83"; + }; + new StaticShape(canyoninv1) { + position = "549.945 -228.772 114.817"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Canyon"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Trigger = "5376"; + notReady = "1"; + inUse = "Down"; + Target = "84"; + lastDamagedBy = "4993"; + damageTimeMS = "13870905"; + }; + new StaticShape(canyoninv2) { + position = "539.051 -195.763 123.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Canyon"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Trigger = "5378"; + notReady = "1"; + inUse = "Down"; + Target = "85"; + lastDamagedBy = "4993"; + damageTimeMS = "13901038"; + }; + new Turret(CanyonSentry) { + position = "539.176 -221.981 130.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Canyon Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastDamagedByTeam = "2"; + lastProjectile = "34808"; + team = "1"; + Target = "86"; + lastDamagedBy = "4993"; + damageTimeMS = "13901038"; + }; + new ForceFieldBare() { + position = "577.777 -94.0045 181.622"; + rotation = "1 0 0 0"; + scale = "4.07782 3.20316 3.36369"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "87"; + }; + new InteriorInstance() { + position = "591.818 -238.793 156.951"; + rotation = "-0.0313745 -0.0815398 0.996176 226.459"; + scale = "0.537007 0.417199 0.688412"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret(CanyonTurr) { + position = "592.248 -238.54 159.014"; + rotation = "-0.10202 -0.215835 0.971086 227.001"; + scale = "1 1 1"; + nameTag = "Canyon Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "1"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "1"; + lastProjectile = "34615"; + team = "1"; + Target = "88"; + lastDamagedBy = "26193"; + damageTimeMS = "13274633"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new ForceFieldBare() { + position = "534.959 -192.991 114.832"; + rotation = "1 0 0 0"; + scale = "8.42987 0.983881 8.15639"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "89"; + }; + new ForceFieldBare() { + position = "548.016 -214.27 114.769"; + rotation = "1 0 0 0"; + scale = "4.09393 0.54126 8.2014"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "90"; + }; + new InteriorInstance() { + position = "540.054 -207.72 111.857"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(Tower) { + + powerCount = "0"; + + new ForceFieldBare() { + position = "577.269 -96.3849 187.731"; + rotation = "0 0 -1 0.577428"; + scale = "10.5698 0.474204 4.36154"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "91"; + }; + new ForceFieldBare() { + position = "577.197 -89.2717 187.731"; + rotation = "0 0 -1 0.577428"; + scale = "10.5698 0.560654 4.36154"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "92"; + }; + new ForceFieldBare() { + position = "767.526 -24.4288 291.021"; + rotation = "0 0 1 44.1178"; + scale = "6.19727 0.635041 13.1713"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "93"; + }; + new ForceFieldBare() { + position = "594.02 -94.4841 181.751"; + rotation = "1 0 0 0"; + scale = "0.429895 4.20689 4.95616"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "94"; + }; + new StaticShape(DTowerGen) { + position = "578.697 -92.5869 181.757"; + rotation = "0 0 -1 89.9544"; + scale = "1 0.910369 1"; + nameTag = "Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + notRepairable = "1"; + team = "1"; + WayPoint = "5458"; + Target = "95"; + lastDamagedBy = "5238"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "438970"; + }; + new StaticShape(towerinv) { + position = "582.41 -90.9401 169.756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Trigger = "5400"; + notReady = "1"; + inUse = "Down"; + Target = "96"; + lastDamagedBy = "4993"; + damageTimeMS = "13951562"; + }; + new Turret(TowerSentry) { + position = "582.617 -92.6147 168.79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + zapSound = "0"; + lastDamagedByTeam = "2"; + lastProjectile = "101058"; + team = "1"; + Target = "97"; + lastDamagedBy = "5238"; + teamDamageStateOnZap = "1"; + damageTimeMS = "382172"; + }; + new StaticShape(TowerSensor) { + position = "560.686 -97.5372 181.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Target = "98"; + lastDamagedBy = "5238"; + damageTimeMS = "340753"; + }; + new InteriorInstance() { + position = "581.833 -150.371 178.928"; + rotation = "0.709854 0.270622 -0.650286 38.412"; + scale = "0.537007 0.417199 0.688412"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret(TowerTurr) { + position = "581.512 -150.274 181.025"; + rotation = "0.861458 0.259488 -0.436528 50.0897"; + scale = "1 1 1"; + nameTag = "Tower Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + zapSound = "0"; + lastDamagedByTeam = "2"; + lastProjectile = "101050"; + team = "1"; + Target = "99"; + lastDamagedBy = "5238"; + teamDamageStateOnZap = "1"; + damageTimeMS = "365557"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "582.507 -92.499 153.782"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "2"; + + new InteriorInstance() { + position = "775.89 -20.3084 290.135"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + new StaticShape(Switch) { + position = "783.2 -20.726 321.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "1"; + WayPoint = "5459"; + Target = "100"; + lastDamagedBy = "4993"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "16273404"; + }; + new StaticShape(DMainGen1) { + position = "771.312 -16.5657 299.53"; + rotation = "0 0 1 133.499"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5460"; + Target = "101"; + lastDamagedBy = "4993"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "15749013"; + }; + new StaticShape(DMainGen2) { + position = "779.486 -25.0703 299.549"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5461"; + Target = "102"; + lastDamagedBy = "4993"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "15751177"; + }; + new ForceFieldBare() { + position = "783.402 -24.0955 322.021"; + rotation = "0 0 -1 45.8366"; + scale = "4.58739 5.01415 4.22498"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "103"; + }; + new ForceFieldBare() { + position = "780.432 -30.2807 309.089"; + rotation = "0 0 -1 45.8366"; + scale = "6.11421 0.82989 5.08286"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "104"; + }; + new ForceFieldBare() { + position = "766.228 -16.6293 309.078"; + rotation = "0 0 -1 45.8366"; + scale = "6.11421 0.82989 5.08286"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "105"; + }; + new StaticShape(maininv1) { + position = "780.114 -25.5814 291.076"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Trigger = "5418"; + notReady = "1"; + inUse = "Down"; + Target = "106"; + lastDamagedBy = "4993"; + damageTimeMS = "15748905"; + }; + new StaticShape(maininv2) { + position = "770.477 -16.1573 291.091"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + Trigger = "5420"; + notReady = "1"; + inUse = "Down"; + Target = "107"; + lastDamagedBy = "4993"; + damageTimeMS = "15748905"; + }; + new Item() { + position = "779.501 -16.646 300.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new Turret(MountainTop) { + position = "707.279 -55.6908 287.655"; + rotation = "-0.0405918 -0.115992 0.99242 219.125"; + scale = "1 1 1"; + nameTag = "Mountain Top Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "1"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "2"; + lastProjectile = "36158"; + team = "1"; + Target = "108"; + lastDamagedBy = "4993"; + damageTimeMS = "14024418"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape(MountainTopSensor) { + position = "775.682 -20.8927 333.927"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + nameTag = "Mountain Top"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "1"; + Target = "109"; + lastDamagedBy = "4993"; + damageTimeMS = "15973783"; + }; + new InteriorInstance() { + position = "706.611 -56.3162 285.739"; + rotation = "0.0196774 0.0202105 0.999602 217.795"; + scale = "0.537007 0.417199 0.688412"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(EntranceFF) { + + powerCount = "0"; + + new InteriorInstance() { + position = "725.497 -338.473 103.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "709.503 -339.31 96.1014"; + rotation = "-0.00500407 -0.999971 0.0057963 89.9558"; + scale = "1.6258 0.168303 0.879214"; + shapeName = "pmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "709.52 -337.673 96.1"; + rotation = "-0.00500407 -0.999971 0.0057963 89.9558"; + scale = "1.6258 0.165838 0.879214"; + shapeName = "pmiscf.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "718.36 -327.005 114.977"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "718.375 -346.005 114.977"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape(entranceffgen) { + position = "723.91 -338.49 93.2339"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Entrance FF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + team = "1"; + WayPoint = "5462"; + Target = "110"; + lastDamagedBy = "5238"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "156568"; + }; + new ForceFieldBare() { + position = "548.675 -353.608 101.732"; + rotation = "0 0 1 20.6265"; + scale = "8.74924 1 6.12533"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "111"; + }; + new SimGroup() { + + powerCount = "0"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(OFootHillSpawn) { + position = "557.566 -343.59 130.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "18"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(OTowerSpawn) { + position = "597.947 -93.1927 184.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere(OCanyonSpawn) { + position = "546.082 -203.105 111.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- + +package UphillBattle +{ + + +function SiegeGame::missionLoadDone(%game) +{ + nameToId("OFootHillGen").setDamageLevel(2.5); + nameToId("OCanyonGen").setDamageLevel(2.5); + nameToId("OTowerGen").setDamageLevel(2.5); + + Parent::missionLoadDone(%game); +} + +function Generator::onDisabled(%data, %obj) +{ + Parent::onDisabled(%data, %obj); + + %DFootHillGen = nameToId("DFootHillGen"); + %DCanyonGen = nameToId("DCanyonGen"); + %DTowerGen = nameToId("DTowerGen"); + + %OFootHillGen = nameToId("OFootHillGen"); + %OCanyonGen = nameToId("OCanyonGen"); + %OTowerGen = nameToId("OTowerGen"); + + switch (%obj) + { + case %DFootHillGen: + %OFootHillGen.setDamageState(Enabled); + %DFootHillGen.notRepairable = 1; + %DFootHillGen.setRepairRate(0); + bunkSpawnChange(foothill, base); + + case %DCanyonGen: + %OCanyonGen.setDamageState(Enabled); + %DCanyonGen.notRepairable = 1; + %DCanyonGen.setRepairRate(0); + bunkSpawnChange(canyon, foothill); + + case %DTowerGen: + %OTowerGen.setDamageState(Enabled); + %DTowerGen.notRepairable = 1; + %DTowerGen.setRepairRate(0); + bunkSpawnChange(tower, canyon); + } +} + +function GeneratorLarge::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) return; + else Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +function TurretData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (%targetObject.UnksNoDamage) return; + else Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +function bunkSpawnChange(%bunk1, %bunk2) +{ + %DSpawn = "D" @ %bunk1 @ "Spawn"; + %OSpawn1 = "O" @ %bunk1 @ "Spawn"; + %OSpawn2 = "O" @ %bunk2 @ "Spawn"; + + spawnSwitch(%DSpawn, 2, off); + spawnSwitch(%OSpawn1, 1, on); + spawnSwitch(%Ospawn2, 1, off); +} + +function spawnSwitch(%name, %team, %action) +{ //I made this function simply because it's easier for me to remember :D + switch$ (%action) + { + case "on": + Game.claimSpawn(nameToId(%name), %team, 0); + + case "off": + Game.claimSpawn(nameToId(%name), 0, %team); + } +} + +function SiegeGame::halftimeOver(%game) +{ + nameToId("OFootHillGen").setDamageLevel(2.5); + nameToId("OCanyonGen").setDamageLevel(2.5); + nameToId("OTowerGen").setDamageLevel(2.5); + + nameToId("DFootHillGen").notRepairable = 0; + nameToId("DCanyonGen").notRepairable = 0; + nameToId("DCanyonGen").notRepairable = 0; + + spawnSwitch(DFootHillSpawn, 2, on); + spawnSwitch(DCanyonSpawn, 2, on); + spawnSwitch(DTowerSpawn, 2, on); + spawnSwitch(OBaseSpawn, 1, on); + spawnSwitch(OFootHillSpawn, 1, off); + spawnSwitch(OCanyonSpawn, 1, off); + spawnSwitch(OTowerSpawn, 1, off); + + Parent::halftimeOver(%game); +} + +function SiegeGame::gameOver(%game) +{ + Parent::gameOver(%game); + deactivatePackage(UphillBattle); +} + + +}; + +activatePackage(UphillBattle); diff --git a/public/base/@vl2/UphillBattle.vl2/terrains/UphillBattle.spn b/public/base/@vl2/UphillBattle.vl2/terrains/UphillBattle.spn new file mode 100644 index 00000000..2f8cbcc0 Binary files /dev/null and b/public/base/@vl2/UphillBattle.vl2/terrains/UphillBattle.spn differ diff --git a/public/base/@vl2/UphillBattle.vl2/textures/gui/Load_UphillBattle.png b/public/base/@vl2/UphillBattle.vl2/textures/gui/Load_UphillBattle.png new file mode 100644 index 00000000..323affbe Binary files /dev/null and b/public/base/@vl2/UphillBattle.vl2/textures/gui/Load_UphillBattle.png differ diff --git a/public/base/@vl2/VulcansHammer.vl2/missions/VulcansHammer.mis b/public/base/@vl2/VulcansHammer.vl2/missions/VulcansHammer.mis new file mode 100644 index 00000000..2173188e --- /dev/null +++ b/public/base/@vl2/VulcansHammer.vl2/missions/VulcansHammer.mis @@ -0,0 +1,1221 @@ +// DisplayName = Vulcan's Hammer +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Silenced as the gavel fell +//Now as echoes do they dwell +//Bide time 'til tis burned +// -- the poet Jessler, 2573 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Attackers charge down the volcano to +// the Defense bases +//East and West power forcefields to +// Center tower, which houses Switch +// --- Map by Golarth the Bold +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "volcanic"; + cdTrack = "3"; + + new MissionArea(MissionArea) { + area = "-56 -648 864 928"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "200"; + fogColor = "0.900000 0.350000 0.050000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -520175634523126950000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.29319e-34 8.40779e-44"; + high_fogVolume2 = "-1 -0.0885582 -0.0486225"; + high_fogVolume3 = "-1 -0.02913 -0.156251"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "EB_Hades.ter"; + squareSize = "8"; + emptySquares = "290205 290461 290717 290973 291229 291485 291741"; + + visibleDistance = "1500"; + hazeDistance = "300"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + rotation = "0 0 0 0"; + scale = "1 1 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "Vulcanshammer.nav"; + locked = "true"; + XDimOverSize = "0"; + }; + new SimGroup(Environmental) { + + powerCount = "0"; + + new FireballAtmosphere(FireballAtmosphere) { + position = "-38.2 -70 143.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "1000"; + dropsPerMinute = "20"; + minDropAngle = "0"; + maxDropAngle = "40"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new WaterBlock() { + position = "-344 -512 75.386"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "535.712 27.0028 299.348"; + rotation = "0 -1 0 5.15676"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "555.796 9.31142 291.908"; + rotation = "0.0947919 0.0517475 0.994151 47.777"; + scale = "0.850956 0.811789 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "535.524 28.4985 299.234"; + rotation = "-0.0199944 -0.0218971 -0.99956 84.8229"; + scale = "1.17869 1.32644 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "522.106 52.2873 291.832"; + rotation = "0.460365 -0.130684 -0.878058 71.7978"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new ParticleEmissionDummy() { + position = "521.606 53.014 292.508"; + rotation = "-0 0 -1 61.8794"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "GrenadeSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "535.137 28.6117 300.29"; + rotation = "-0 -1 0 32.6586"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "GrenadeSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "535.862 27.2242 300.453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "GrenadeSmokeEmitter"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "555.992 9.55884 293.056"; + rotation = "0.999631 0.0267083 0.0049982 21.2071"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "GrenadeSmokeEmitter"; + velocity = "1"; + }; + new AudioEmitter() { + position = "531.03 30.7685 300.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "audio/fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "1000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "395.138 -191.621 160.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "382.613 -222.515 167.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "145"; + maxDistance = "9280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "621.646 136.282 270.054"; + rotation = "-0 0 -1 51.5663"; + scale = "1 1 1"; + interiorFile = "dbrdg2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "608.286 119.498 294.493"; + rotation = "0.213116 0.611157 0.762279 209.813"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "568.494 31.5629 282.381"; + rotation = "0.419423 0.0960549 0.902695 160.441"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4293"; + Target = "33"; + lastProjectile = "7468"; + originalBarrel = "PlasmaBarrelLarge"; + damageTimeMS = "355836"; + team = "2"; + }; + new InteriorInstance() { + position = "531.709 58.7426 271.011"; + rotation = "0.885041 -0.401041 0.236365 60.1469"; + scale = "0.496432 0.554485 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "571.815 73.4967 281.973"; + rotation = "0.262776 0.755957 -0.599564 156.367"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4289"; + Target = "34"; + lastProjectile = "11938"; + originalBarrel = "PlasmaBarrelLarge"; + damageTimeMS = "322644"; + team = "2"; + }; + new InteriorInstance() { + position = "561.838 28.0791 275.931"; + rotation = "0.26512 0.395057 0.879569 239.485"; + scale = "0.495364 0.573591 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "536.672 65.58 276.05"; + rotation = "0.211849 -0.651339 -0.728613 91.0901"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedByTeam = "1"; + lastDamagedBy = "6936"; + Target = "35"; + lastProjectile = "11941"; + originalBarrel = "PlasmaBarrelLarge"; + damageTimeMS = "1359343"; + team = "2"; + }; + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "640.308 159.988 241.978"; + rotation = "0 0 -1 0.0395647"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "125"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "632.769 149.985 315.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new StaticShape() { + position = "622.478 136.988 288.044"; + rotation = "0 0 1 38.3882"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + inUse = "Down"; + notReady = "1"; + Trigger = "4271"; + team = "2"; + }; + new InteriorInstance() { + position = "641.986 161.875 268.94"; + rotation = "0 0 1 218.479"; + scale = "1 0.79481 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "636.945 155.968 300"; + rotation = "0 0 1 217.906"; + scale = "1 0.837573 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "564.425 64.5403 266.395"; + rotation = "0.111563 -0.233932 -0.965831 52.558"; + scale = "2.01896 1 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "641.263 179.979 270.901"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "4276"; + team = "2"; + }; + new StaticShape() { + position = "659.947 164.961 270.896"; + rotation = "0 0 1 76.7763"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "4278"; + team = "2"; + }; + new StaticShape() { + position = "650.508 149.861 270.919"; + rotation = "0 0 1 127.197"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "4280"; + team = "2"; + }; + new StaticShape() { + position = "628.126 167.265 270.919"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "4282"; + team = "2"; + }; + new StaticShape() { + position = "625.88 164.061 301.936"; + rotation = "0 0 -1 52.1392"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "4284"; + team = "2"; + }; + new StaticShape() { + position = "648.131 146.876 301.968"; + rotation = "0 0 1 125.478"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "4286"; + team = "2"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere(TowerSpawn) { + position = "383.256 -256.662 227.127"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "248.968 -119.403 195.536"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "603.511 -372.268 212.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Switch) { + + powerCount = "1"; + + new StaticShape() { + position = "384.839 -251.904 243.44"; + rotation = "0 0 1 193.269"; + scale = "0.75 0.75 0.75"; + nameTag = "Switch"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "43"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1136860"; + team = "1"; + WayPoint = "4389"; + }; + new ForceFieldBare() { + position = "389.591 -249.821 213.645"; + rotation = "-0 0 -1 76.7763"; + scale = "0.1 8.72056 8.95967"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + custom = "1"; + team = "1"; + }; + new ForceFieldBare() { + position = "380.889 -266.422 175.86"; + rotation = "-0.0641745 0.397665 -0.915284 19.9988"; + scale = "0.1 15.9327 12.5384"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "1"; + }; + new ForceFieldBare() { + position = "382.089 -266.722 175.988"; + rotation = "-0.165452 -0.068979 -0.983803 45.9321"; + scale = "15.9939 0.1 12.3985"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "1"; + }; + new ForceFieldBare() { + position = "393.623 -254.405 176.189"; + rotation = "0.15153 -0.191265 -0.969771 78.4942"; + scale = "0.1 18.0632 12.5055"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "1"; + }; + new StaticShape() { + position = "383.51 -257.575 173.12"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + nameTag = "The"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + new ForceFieldBare() { + position = "393.305 -256.286 177.875"; + rotation = "0.146849 -0.185356 -0.971637 78.3863"; + scale = "2.42703 0.1 8.19702"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + team = "1"; + }; + new ForceFieldBare() { + position = "375.621 -252.087 177.995"; + rotation = "0.156192 -0.197149 -0.967851 78.6055"; + scale = "2.33969 0.1 7.87005"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + team = "1"; + }; + new InteriorInstance() { + position = "382.776 -260.735 222.39"; + rotation = "0.993303 -0.115537 0.000793471 180.011"; + scale = "1 1 1.44835"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "382.758 -260.735 231.479"; + rotation = "0 0 1 193.269"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "392.024 -221.441 229.407"; + rotation = "0 0 1 193.269"; + scale = "1 1 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "355.94 -191.495 229.414"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "417.21 -205.894 229.408"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "376.365 -196.299 229.396"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "396.813 -201.104 229.396"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "437.669 -210.726 229.414"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "429.445 -245.784 229.412"; + rotation = "0 0 1 13.178"; + scale = "1 2.87726 1"; + interiorFile = "xbrdg2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "347.721 -226.552 229.422"; + rotation = "0 0 1 13.178"; + scale = "1 2.87726 1"; + interiorFile = "xbrdg2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "421.263 -280.838 229.41"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "339.458 -261.555 229.412"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "xbrdg7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(EAST) { + + powerCount = "1"; + + new StaticShape() { + position = "596.166 -371.2 223.664"; + rotation = "0 0 1 98.5487"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "51"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "963957"; + team = "1"; + WayPoint = "4391"; + }; + new ForceFieldBare() { + position = "393.238 -256.123 254.567"; + rotation = "-0 0 -1 76.7763"; + scale = "5.25529 18.2848 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "1"; + }; + new ForceFieldBare() { + position = "389.689 -249.135 231.362"; + rotation = "-0 0 -1 76.7763"; + scale = "0.1 8.53827 6.2448"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + team = "1"; + }; + new InteriorInstance(eastbase) { + position = "604.087 -372.397 183.232"; + rotation = "0 0 1 188.686"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + new StaticShape() { + position = "604.874 -366.199 200.222"; + rotation = "0 0 1 184.675"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + Trigger = "4328"; + team = "1"; + }; + new StaticShape() { + position = "603.12 -378.586 200.203"; + rotation = "0 0 1 9.16737"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "55"; + Trigger = "4330"; + team = "1"; + }; + new StaticShape() { + position = "583.323 -369.502 250.614"; + rotation = "0 0 1 8.59448"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "56"; + team = "1"; + }; + }; + new SimGroup(west) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "393.238 -256.123 254.567"; + rotation = "-0 0 -1 76.7763"; + scale = "5.25529 18.2848 0.1"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + team = "1"; + }; + new ForceFieldBare() { + position = "389.689 -249.135 231.362"; + rotation = "-0 0 -1 76.7763"; + scale = "0.1 8.53827 6.2448"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + team = "1"; + }; + new StaticShape() { + position = "246.793 -99.8544 189.008"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "59"; + needsObjectiveWaypoint = "1"; + damageTimeMS = "1077879"; + team = "1"; + WayPoint = "4392"; + }; + new InteriorInstance(Westbase) { + position = "300.609 -129.049 204.033"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + new StaticShape() { + position = "248.673 -99.1705 208.031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "60"; + damageTimeMS = "1069565"; + Trigger = "4340"; + team = "1"; + }; + new StaticShape() { + position = "257.683 -98.4689 223.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + team = "1"; + }; + new StaticShape() { + position = "257.879 -134.469 188.028"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "62"; + damageTimeMS = "1086739"; + Trigger = "4343"; + team = "1"; + }; + }; + new SimGroup(equipment) { + + powerCount = "2"; + + new StaticShape() { + position = "613.448 -373.175 179.867"; + rotation = "-0.107339 -0.19563 -0.974786 45.0462"; + scale = "1 1 1"; + nameTag = "Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "63"; + team = "1"; + }; + new StaticShape() { + position = "383.7 -257.242 285.469"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "64"; + damageTimeMS = "236511"; + team = "1"; + }; + new StaticShape() { + position = "380.637 -269.873 187.62"; + rotation = "0.993286 -0.115537 0.00575834 180.077"; + scale = "1 1 1"; + nameTag = "Equipment"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "65"; + needsObjectiveWaypoint = "0"; + damageTimeMS = "1148485"; + team = "1"; + WayPoint = "6795"; + }; + new StaticShape() { + position = "378.194 -250.045 210.782"; + rotation = "-0 0 -1 76.7763"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + Trigger = "4349"; + team = "1"; + }; + new StaticShape() { + position = "387.761 -260.048 193.402"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "67"; + damageTimeMS = "1200628"; + Trigger = "4351"; + team = "1"; + }; + new Turret() { + position = "383.51 -257.963 188.373"; + rotation = "0.993395 -0.114746 -0.000793526 179.989"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "68"; + originalBarrel = "ELFBarrelLarge"; + damageTimeMS = "1170021"; + zappingSound = "0"; + team = "1"; + deleteLastProjectile = "1"; + }; + new StaticShape() { + position = "391.544 -252.452 231.489"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "69"; + damageTimeMS = "1133304"; + Trigger = "4354"; + team = "1"; + }; + new StaticShape() { + position = "378.474 -249.522 231.463"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "2"; + lastDamagedBy = "4236"; + Target = "70"; + damageTimeMS = "1127227"; + Trigger = "4356"; + team = "1"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "316.64 -198.201 221.704"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "361.32 -218.833 175.677"; + rotation = "-0.0153602 0.0599569 0.998083 151.314"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "552.798 -291.68 218.73"; + rotation = "0 0 1 146.677"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "532.072 -14.8299 313.374"; + rotation = "0.219893 -0.0584963 0.973769 30.5593"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new TSStatic() { + position = "598.687 -359.719 186.922"; + rotation = "-0.418861 -0.756968 0.501553 95.5288"; + scale = "1.82628 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "611.174 -367.116 180.555"; + rotation = "0.0272158 -0.294455 0.955278 44.3154"; + scale = "1.51226 1.70233 1.87033"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "606.822 -381.33 181.811"; + rotation = "0.40991 0.612212 0.676144 89.439"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "605.02 -381.162 181.924"; + rotation = "0.0933313 0.926425 0.364726 71.7461"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "606.82 -362.206 179.202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "605.343 -364.545 181.386"; + rotation = "-1 0 0 30.9397"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "592.77 -370.788 180.191"; + rotation = "-0.0149984 -0.0117803 0.999818 103.715"; + scale = "2.04259 1 1.0201"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "602.323 -382.9 179.426"; + rotation = "-1 0 0 9.16737"; + scale = "1 1.45945 1.30361"; + shapeName = "stackable2l.dts"; + }; + }; + new Item() { + position = "396.796 -201.002 225.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "626.316 142.143 280.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/VulcansHammer.vl2/terrains/VulcansHammer.spn b/public/base/@vl2/VulcansHammer.vl2/terrains/VulcansHammer.spn new file mode 100644 index 00000000..4d0b4836 Binary files /dev/null and b/public/base/@vl2/VulcansHammer.vl2/terrains/VulcansHammer.spn differ diff --git a/public/base/@vl2/VulcansHammer.vl2/textures/gui/load_VulcansHammer.png b/public/base/@vl2/VulcansHammer.vl2/textures/gui/load_VulcansHammer.png new file mode 100644 index 00000000..39294a1e Binary files /dev/null and b/public/base/@vl2/VulcansHammer.vl2/textures/gui/load_VulcansHammer.png differ diff --git a/public/base/@vl2/atroposthereturn.vl2/missions/Atropos2.mis b/public/base/@vl2/atroposthereturn.vl2/missions/Atropos2.mis new file mode 100644 index 00000000..b2acaa16 --- /dev/null +++ b/public/base/@vl2/atroposthereturn.vl2/missions/Atropos2.mis @@ -0,0 +1,1252 @@ +// DisplayName = Atropos, The Return +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//The seals that hold back night shall weaken, +//& in the heart of winter shall winter's heart be born amid +//the wailing of lamentations and gnashing of teeth, for winter's +//heart shall ride a black horse, & the name of it is death. +// -- The Kataethon Cycle, Robert Jordan -- +//Map By: Silvers_Revenge +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Destroy the mountain base to access the main subterrainean base +//Game Play is much the same as the original Atropos with added twists. +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-512 -384 1600 1808"; + flightCeiling = "1000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.150000 0.150000 0.150000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "IceBound.ter"; + squareSize = "8"; + emptySquares = "225623 291414 226135 180102 311428 311684 115333"; + + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Atropos2.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.200000 0.200000 0.200000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "ice_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.11574e+24 3.58732e-43"; + high_fogVolume2 = "-1 1.80603e+28 4.48489e+21"; + high_fogVolume3 = "-1 1.70145e+25 2.65628e+20"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new FileObject() { + }; + new FileObject() { + }; + new SimGroup() { + + powerCount = "0"; + }; + new AudioEmitter() { + position = "0 0 58.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "980.6 -177.238 80.7901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-326.15 -50.9872 65.8071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "80"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-274.429 -112.277 84.8066"; + rotation = "0 0 1 106.57"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-253.866 4.67772 90.8811"; + rotation = "0 0 1 78.4952"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-260.68 3.08447 89.8651"; + rotation = "0 0 -1 100.268"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Ready = "1"; + team = "2"; + station = "4199"; + }; + new StaticShape() { + position = "-273.517 -116.814 63.3594"; + rotation = "0 0 -1 72.7656"; + scale = "3.39905 1.27611 2.63347"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + team = "2"; + }; + new StaticShape() { + position = "-295.529 -118.751 64.8154"; + rotation = "0 0 1 196.134"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "35"; + damageTimeMS = "789374"; + lastDamagedByTeam = "2"; + Trigger = "4059"; + team = "2"; + }; + new StaticShape() { + position = "-302.904 -116.235 64.916"; + rotation = "0 0 1 196.134"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "36"; + damageTimeMS = "777183"; + lastDamagedByTeam = "2"; + Trigger = "4061"; + team = "2"; + }; + new InteriorInstance() { + position = "491.747 692.432 86.9187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "277.512 887.335 86.9187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "1025.6 -165.793 53.3938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "944.226 -165.991 72.6"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "954.356 -166.072 71.584"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Ready = "1"; + team = "2"; + station = "4201"; + }; + new StaticShape() { + position = "-330.942 -96.5611 95.9022"; + rotation = "0 0 -1 73.9116"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "4069"; + team = "2"; + }; + new ForceFieldBare(genshield) { + position = "-274.646 -120.736 62.6243"; + rotation = "0 0 1 16.6158"; + scale = "5.86844 8.59024 8.57878"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "2"; + }; + new StaticShape() { + position = "-328.654 -107.9 71.848"; + rotation = "0 0 -1 71.6197"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "40"; + damageTimeMS = "812764"; + lastDamagedByTeam = "2"; + Trigger = "4074"; + team = "2"; + }; + new StaticShape() { + position = "-292.731 13.2726 92.9153"; + rotation = "0 0 -1 59.0147"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "41"; + damageTimeMS = "836311"; + lastDamagedByTeam = "2"; + Trigger = "4076"; + team = "2"; + }; + new StaticShape() { + position = "-286.311 -18.5285 92.9153"; + rotation = "0 0 1 211.604"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + lastDamagedBy = "4035"; + inUse = "Down"; + Target = "42"; + damageTimeMS = "845237"; + lastDamagedByTeam = "2"; + Trigger = "4078"; + team = "2"; + }; + new Item() { + position = "-280.222 -0.770869 83.3676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "971.362 -166.288 65.2373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "980.858 -149.931 74.6342"; + rotation = "0 0 1 41.2529"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "4082"; + team = "2"; + }; + new StaticShape() { + position = "980.538 -182.661 74.6342"; + rotation = "0 0 1 132.926"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "4084"; + team = "2"; + }; + new StaticShape() { + position = "1034.96 -179.196 113.377"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "4086"; + team = "2"; + }; + new StaticShape() { + position = "1016.2 -152.803 113.439"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "4088"; + team = "2"; + }; + new StaticShape() { + position = "492.547 692.788 78.1633"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "4090"; + team = "2"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "257.033 687.873 258.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "74.3335 626.246 22.8427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "70"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SimGroup(defense) { + + powerCount = "1"; + + new InteriorInstance() { + position = "251.946 691.442 226.228"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "250.984 659.837 231.344"; + rotation = "0 0 1 48.1284"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "48"; + damageTimeMS = "372055"; + lastDamagedByTeam = "2"; + WayPoint = "4193"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + new Turret() { + position = "97.0993 693.171 55.1609"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "49"; + team = "1"; + }; + new InteriorInstance() { + position = "-59.8442 496.629 56"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "45.6967 384.148 56"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "46.1561 384.819 81.9969"; + rotation = "0 0 1 201.291"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "50"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "14346"; + team = "1"; + }; + new Turret() { + position = "-59.7517 496.847 81.9899"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastDamagedBy = "4104"; + Target = "51"; + damageTimeMS = "280121"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "6179"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new Turret() { + position = "266.299 672.629 259.196"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "52"; + team = "1"; + }; + }; + new SimGroup(MISC) { + + powerCount = "0"; + + new InteriorInstance() { + position = "110.134 744.177 87.2298"; + rotation = "0 0 1 22.9183"; + scale = "1 1 0.641704"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "103.116 740.725 81.2741"; + rotation = "0 0 -1 68.182"; + scale = "0.250435 1.55999 0.111583"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "107.765 758.187 81.3109"; + rotation = "0 0 -1 68.182"; + scale = "0.250435 1.55999 0.111583"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "82.647 755.694 82.5038"; + rotation = "0 0 1 22.9184"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "83.8158 684.913 26.8379"; + rotation = "0 0 1 112.3"; + scale = "0.454632 0.654269 0.590438"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "81.5807 664.759 31.4247"; + rotation = "0.00999248 0.0383332 0.999215 29.2429"; + scale = "0.408665 1.59341 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "53.5613 668.251 26.8602"; + rotation = "0 0 -1 67.609"; + scale = "0.440548 0.560465 0.604301"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "5.71431 272.199 45.4984"; + rotation = "0 0 1 20.0535"; + scale = "3.88208 3.28011 3.27985"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(SwitchFF) { + + powerCount = "1"; + + new StaticShape() { + position = "23.6885 650.267 38.6491"; + rotation = "0 0 1 112.3"; + scale = "1 1 1"; + nameTag = "SwitchFF"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "53"; + damageTimeMS = "537751"; + lastDamagedByTeam = "2"; + WayPoint = "4194"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + new ForceFieldBare(SwitchFF) { + position = "104.251 741.265 78.1388"; + rotation = "0 0 1 22.3453"; + scale = "4.69089 17.4349 8.75617"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + WayPoint = "4199"; + team = "1"; + }; + }; + new SimGroup(equipment) { + + powerCount = "1"; + + new StaticShape() { + position = "38.4244 700.662 15.5925"; + rotation = "0 0 -1 68.7549"; + scale = "1 1 1"; + nameTag = "Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "55"; + damageTimeMS = "557308"; + lastDamagedByTeam = "2"; + WayPoint = "4195"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + new StaticShape() { + position = "50.917 511.789 96.1642"; + rotation = "0 0 1 22.3454"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "56"; + damageTimeMS = "506941"; + lastDamagedByTeam = "2"; + team = "1"; + }; + new StaticShape() { + position = "265.604 664.218 231.294"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "57"; + damageTimeMS = "383741"; + lastDamagedByTeam = "2"; + Trigger = "4122"; + team = "1"; + }; + new StaticShape() { + position = "267.202 680.353 231.205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "58"; + damageTimeMS = "377531"; + lastDamagedByTeam = "2"; + Trigger = "4124"; + team = "1"; + }; + new StaticShape() { + position = "242.544 660.901 247.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + lastDamagedBy = "4035"; + inUse = "Down"; + Target = "59"; + damageTimeMS = "460700"; + lastDamagedByTeam = "2"; + Trigger = "4126"; + team = "1"; + }; + new StaticShape() { + position = "282.177 693.424 247.271"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Target = "60"; + Trigger = "4128"; + team = "1"; + }; + new StaticShape() { + position = "15.6802 656.102 17.7155"; + rotation = "0 0 1 108.289"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Target = "61"; + Trigger = "4130"; + team = "1"; + }; + new StaticShape() { + position = "11.1054 644.827 17.612"; + rotation = "0 0 1 104.278"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Target = "62"; + Trigger = "4132"; + team = "1"; + }; + new StaticShape() { + position = "5.94136 633.895 43.7414"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "63"; + Trigger = "4134"; + team = "1"; + }; + new StaticShape() { + position = "117.166 635.135 43.7487"; + rotation = "0 0 -1 110.008"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "64"; + Trigger = "4136"; + team = "1"; + }; + new StaticShape() { + position = "108.579 711.324 17.5843"; + rotation = "0 0 1 65.3172"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "65"; + damageTimeMS = "602170"; + lastDamagedByTeam = "2"; + Trigger = "4138"; + team = "1"; + }; + new Item() { + position = "56.837 700.461 19.3872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "60.8636 513.83 88.8764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "108.709 697.566 48.2629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "105.303 697.144 48.0015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "33.6101 721.148 15.7289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "34.141 671.401 43.3539"; + rotation = "1 0 0 0"; + scale = "1 1 2.41918"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "39.6003 672.228 43.3372"; + rotation = "0 0 -1 47.5555"; + scale = "1.45837 1 4.6958"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "266.781 672.476 260.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + team = "1"; + }; + new InteriorInstance() { + position = "61.1223 641.289 14.1391"; + rotation = "0 0 1 112.3"; + scale = "1 1 1"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + }; + new SimGroup(Forcefields) { + + powerCount = "2"; + + new ForceFieldBare(door1) { + position = "42.9026 507.885 79.3617"; + rotation = "0 0 1 22.9183"; + scale = "12.6881 1 7.45378"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "67"; + team = "1"; + }; + new ForceFieldBare(door2) { + position = "69.0193 568.242 46.9361"; + rotation = "0 0 1 22.3454"; + scale = "10.3624 1 7.40908"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "68"; + team = "1"; + }; + new ForceFieldBare(door3) { + position = "43.4768 569.733 46.98"; + rotation = "0 0 1 22.9183"; + scale = "10.5976 1 7.3856"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "69"; + team = "1"; + }; + new ForceFieldBare(door4) { + position = "13.9391 673.475 17.4591"; + rotation = "0 0 1 20.6265"; + scale = "8.8272 1 9.30697"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "70"; + team = "1"; + }; + new ForceFieldBare(door5) { + position = "120.422 631.688 17.5255"; + rotation = "0 0 1 22.3454"; + scale = "1 9.09852 9.23263"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "71"; + team = "1"; + }; + new ForceFieldBare(door6) { + position = "38.303 664.548 17.5631"; + rotation = "0 0 1 22.9184"; + scale = "5.60515 1 7.28794"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "72"; + team = "1"; + }; + new ForceFieldBare(door7) { + position = "130.897 651.841 17.3884"; + rotation = "0 0 1 22.3454"; + scale = "1 9.93474 9.41814"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "73"; + team = "1"; + }; + new ForceFieldBare(door8) { + position = "68.1835 686.261 46.9838"; + rotation = "0 0 1 21.7724"; + scale = "8.38656 1 8.36115"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "74"; + team = "1"; + }; + new StaticShape() { + position = "289.083 644.741 255.681"; + rotation = "0 0 -1 40.1071"; + scale = "1 1 1"; + nameTag = "MainFF1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "75"; + damageTimeMS = "483999"; + lastDamagedByTeam = "2"; + WayPoint = "4196"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + new StaticShape() { + position = "244.217 699.281 255.669"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + nameTag = "MainFF2"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4035"; + Target = "76"; + damageTimeMS = "472572"; + lastDamagedByTeam = "2"; + WayPoint = "4197"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new StaticShape() { + position = "109.818 747.811 79.1635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + Target = "77"; + WayPoint = "4198"; + needsObjectiveWaypoint = "1"; + team = "1"; + }; + new Item() { + position = "293.008 694.29 256.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "239.461 649.831 256.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Precipitation(Precipitation) { + position = "41.1 121.701 80.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "snow"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "75"; + + team = "0"; + }; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new TSStatic() { + position = "62.3351 426.298 78.1188"; + rotation = "1 0 0 0"; + scale = "4.17198 3.29739 5.83353"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-125.94 494.461 71.5912"; + rotation = "0 -1 0 14.324"; + scale = "5.2451 3.77314 5.71519"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "6.76218 102.766 78.7853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new InteriorInstance() { + position = "174.851 573.773 204.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "230.985 668.893 228.229"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "310.724 745.866 255.252"; + rotation = "1 0 0 0"; + scale = "2.3186 2.39306 3.0365"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "999.808 -31.901 78.1188"; + rotation = "1 0 0 0"; + scale = "2.2842 2.22403 3.24347"; + shapeName = "sorg20.dts"; + }; + new InteriorInstance() { + position = "758.84 -335.659 61.9484"; + rotation = "0 0 -1 29.2209"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "171.26 741.119 217.913"; + rotation = "0 0 1 87.0896"; + scale = "1.4874 1.01878 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/atroposthereturn.vl2/terrains/Atropos2.nav b/public/base/@vl2/atroposthereturn.vl2/terrains/Atropos2.nav new file mode 100644 index 00000000..61d7d774 Binary files /dev/null and b/public/base/@vl2/atroposthereturn.vl2/terrains/Atropos2.nav differ diff --git a/public/base/@vl2/atroposthereturn.vl2/terrains/Atropos2.spn b/public/base/@vl2/atroposthereturn.vl2/terrains/Atropos2.spn new file mode 100644 index 00000000..2b07d582 Binary files /dev/null and b/public/base/@vl2/atroposthereturn.vl2/terrains/Atropos2.spn differ diff --git a/public/base/@vl2/atroposthereturn.vl2/textures/gui/LOAD_Atropos2.png b/public/base/@vl2/atroposthereturn.vl2/textures/gui/LOAD_Atropos2.png new file mode 100644 index 00000000..0fe3334d Binary files /dev/null and b/public/base/@vl2/atroposthereturn.vl2/textures/gui/LOAD_Atropos2.png differ diff --git a/public/base/@vl2/audio.vl2/audio/T2Intro.wav b/public/base/@vl2/audio.vl2/audio/T2Intro.wav new file mode 100644 index 00000000..99edceb1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/T2Intro.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/breath_bio_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/breath_bio_uw.wav new file mode 100644 index 00000000..17b7d79c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/breath_bio_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/breath_fem_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/breath_fem_uw.wav new file mode 100644 index 00000000..135d1bb9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/breath_fem_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/breath_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/breath_uw.wav new file mode 100644 index 00000000..b6dfae66 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/breath_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/bubbletrail.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/bubbletrail.wav new file mode 100644 index 00000000..838a522f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/bubbletrail.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/bubbletrail2.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/bubbletrail2.wav new file mode 100644 index 00000000..8371c8ab Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/bubbletrail2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_bigsplash.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_bigsplash.wav new file mode 100644 index 00000000..3c8ce657 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_bigsplash.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_exit.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_exit.wav new file mode 100644 index 00000000..f2621b69 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_exit.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_exit2.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_exit2.wav new file mode 100644 index 00000000..aa26a742 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_exit2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_medsplash.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_medsplash.wav new file mode 100644 index 00000000..c4722620 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_medsplash.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_smallsplash.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_smallsplash.wav new file mode 100644 index 00000000..50403601 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_smallsplash.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_smallsplash2.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_smallsplash2.wav new file mode 100644 index 00000000..f1136cee Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/general_water_smallsplash2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_hard.wav new file mode 100644 index 00000000..36099efd Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_metal.wav new file mode 100644 index 00000000..8f673b86 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_snow.wav new file mode 100644 index 00000000..a8c0d20b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_soft.wav new file mode 100644 index 00000000..0663d105 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_uw.wav new file mode 100644 index 00000000..afc6d0df Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_water.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_water.wav new file mode 100644 index 00000000..b8389c98 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_LF_water.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_hard.wav new file mode 100644 index 00000000..6b1a49ec Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_metal.wav new file mode 100644 index 00000000..8b6c955c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_snow.wav new file mode 100644 index 00000000..c81f4bce Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_soft.wav new file mode 100644 index 00000000..67269cb2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_uw.wav new file mode 100644 index 00000000..1d850a91 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_water.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_water.wav new file mode 100644 index 00000000..2187e634 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_RF_water.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_hard.wav new file mode 100644 index 00000000..2cafc165 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_snow.wav new file mode 100644 index 00000000..b44c09e6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_soft.wav new file mode 100644 index 00000000..9473a0eb Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/heavy_land_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_bubbles.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_bubbles.wav new file mode 100644 index 00000000..82724502 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_bubbles.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_hard.wav new file mode 100644 index 00000000..febe8ac7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_metal.wav new file mode 100644 index 00000000..76ce2cf6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_snow.wav new file mode 100644 index 00000000..5aecdce8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_soft.wav new file mode 100644 index 00000000..34770a6b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_uw.wav new file mode 100644 index 00000000..8bd6200b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_wade.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_wade.wav new file mode 100644 index 00000000..cfa1a549 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_wade.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_water.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_water.wav new file mode 100644 index 00000000..a63e01cb Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_LF_water.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_bubbles.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_bubbles.wav new file mode 100644 index 00000000..8c8587aa Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_bubbles.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_hard.wav new file mode 100644 index 00000000..78aa9177 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_metal.wav new file mode 100644 index 00000000..0ab045bb Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_snow.wav new file mode 100644 index 00000000..66925071 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_soft.wav new file mode 100644 index 00000000..35b78c57 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_uw.wav new file mode 100644 index 00000000..363ec5df Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_wade.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_wade.wav new file mode 100644 index 00000000..141fb971 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_wade.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_water.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_water.wav new file mode 100644 index 00000000..9815f851 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_RF_water.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_hard.wav new file mode 100644 index 00000000..f4b31837 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_metal.wav new file mode 100644 index 00000000..4b0121e1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_snow.wav new file mode 100644 index 00000000..0a1a598f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_soft.wav new file mode 100644 index 00000000..5f270f66 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/light_land_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_hard.wav new file mode 100644 index 00000000..14107524 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_metal.wav new file mode 100644 index 00000000..28840a3d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_snow.wav new file mode 100644 index 00000000..c91d84a6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_soft.wav new file mode 100644 index 00000000..cf5fad34 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_uw.wav new file mode 100644 index 00000000..9bcc35f9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_water.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_water.wav new file mode 100644 index 00000000..8f75733a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_LF_water.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_hard.wav new file mode 100644 index 00000000..bb7b2347 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_metal.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_metal.wav new file mode 100644 index 00000000..9627ac0b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_metal.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_snow.wav new file mode 100644 index 00000000..552c5717 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_soft.wav new file mode 100644 index 00000000..fadc533c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_uw.wav new file mode 100644 index 00000000..19275b0a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_water.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_water.wav new file mode 100644 index 00000000..5b5662d8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_RF_water.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_hard.wav new file mode 100644 index 00000000..1d32c7db Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_snow.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_snow.wav new file mode 100644 index 00000000..1610859f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_snow.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_soft.wav new file mode 100644 index 00000000..9511a203 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/med_land_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/ski_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/ski_soft.wav new file mode 100644 index 00000000..dd4228f3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/ski_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/thrust.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/thrust.wav new file mode 100644 index 00000000..81203058 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/thrust.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/armor/thrust_uw.wav b/public/base/@vl2/audio.vl2/audio/fx/armor/thrust_uw.wav new file mode 100644 index 00000000..91a25511 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/armor/thrust_uw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/base_1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/base_1.wav new file mode 100644 index 00000000..5203488a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/base_1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/base_2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/base_2.wav new file mode 100644 index 00000000..b2c2f251 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/base_2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/base_3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/base_3.wav new file mode 100644 index 00000000..25110f5f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/base_3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/base_pulse_1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/base_pulse_1.wav new file mode 100644 index 00000000..b56e8ef4 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/base_pulse_1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/base_pulse_2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/base_pulse_2.wav new file mode 100644 index 00000000..37493379 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/base_pulse_2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo1.wav new file mode 100644 index 00000000..8edd4240 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo2.wav new file mode 100644 index 00000000..339bd03e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo3.wav new file mode 100644 index 00000000..ae55d60d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo4.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo4.wav new file mode 100644 index 00000000..149a1166 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo5.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo5.wav new file mode 100644 index 00000000..94fabb92 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bird_echo5.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bubbles1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bubbles1.wav new file mode 100644 index 00000000..af9ce62d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bubbles1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/bubbles2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/bubbles2.wav new file mode 100644 index 00000000..6d54e1fd Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/bubbles2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/coldwind1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/coldwind1.wav new file mode 100644 index 00000000..86bd5638 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/coldwind1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/crickets.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/crickets.wav new file mode 100644 index 00000000..f51dfa01 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/crickets.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/crickets_drygrass.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/crickets_drygrass.wav new file mode 100644 index 00000000..f362818e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/crickets_drygrass.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody1.WAV b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody1.WAV new file mode 100644 index 00000000..89700288 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody1.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody2.WAV b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody2.WAV new file mode 100644 index 00000000..2ca0da7d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody2.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody3.WAV b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody3.WAV new file mode 100644 index 00000000..2cd2052b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody3.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody4.WAV b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody4.WAV new file mode 100644 index 00000000..7baabf71 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/ctmelody4.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/desertowl.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/desertowl.wav new file mode 100644 index 00000000..eb93e275 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/desertowl.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/drywind.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/drywind.wav new file mode 100644 index 00000000..0a57c107 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/drywind.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/drywind2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/drywind2.wav new file mode 100644 index 00000000..0f977ab7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/drywind2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/fly_swarm.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/fly_swarm.wav new file mode 100644 index 00000000..9331e45b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/fly_swarm.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/fog.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/fog.wav new file mode 100644 index 00000000..f78444f3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/fog.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/frog1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/frog1.wav new file mode 100644 index 00000000..fdd4f467 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/frog1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/frog2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/frog2.wav new file mode 100644 index 00000000..9d88e809 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/frog2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/gravel1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/gravel1.wav new file mode 100644 index 00000000..8335f4da Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/gravel1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/gravel2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/gravel2.wav new file mode 100644 index 00000000..2fb58c4f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/gravel2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/gravel3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/gravel3.wav new file mode 100644 index 00000000..c4caa6a7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/gravel3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/growl1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/growl1.wav new file mode 100644 index 00000000..4d70f8cf Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/growl1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/growl2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/growl2.wav new file mode 100644 index 00000000..2cb8406a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/growl2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/growl3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/growl3.wav new file mode 100644 index 00000000..e004203c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/growl3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/growl4.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/growl4.wav new file mode 100644 index 00000000..bc7a3688 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/growl4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/growl5.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/growl5.wav new file mode 100644 index 00000000..a67b4e30 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/growl5.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind1.wav new file mode 100644 index 00000000..748d9320 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind2.wav new file mode 100644 index 00000000..1f436c1f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind3.wav new file mode 100644 index 00000000..f8ad8215 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/howlingwind3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/icecrack1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/icecrack1.wav new file mode 100644 index 00000000..8beeeafe Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/icecrack1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/icecrack2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/icecrack2.wav new file mode 100644 index 00000000..650b24b3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/icecrack2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/icefall1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/icefall1.wav new file mode 100644 index 00000000..742de8ac Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/icefall1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/icefall2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/icefall2.wav new file mode 100644 index 00000000..3f2a9772 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/icefall2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/icefall3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/icefall3.wav new file mode 100644 index 00000000..a9112fff Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/icefall3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lakewaves.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lakewaves.wav new file mode 100644 index 00000000..a006af43 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lakewaves.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lakewaves2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lakewaves2.wav new file mode 100644 index 00000000..4b7d4c2e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lakewaves2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop1.wav new file mode 100644 index 00000000..02faee2f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop2.wav new file mode 100644 index 00000000..679daab9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop3.wav new file mode 100644 index 00000000..b6ac6bae Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop4.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop4.wav new file mode 100644 index 00000000..c3ee364e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop5.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop5.wav new file mode 100644 index 00000000..a1aa15d6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop5.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop6.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop6.wav new file mode 100644 index 00000000..495d6482 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop6.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop7.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop7.wav new file mode 100644 index 00000000..2f956225 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavabloop7.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavahiss.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavahiss.wav new file mode 100644 index 00000000..046518a1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavahiss.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavahostile.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavahostile.wav new file mode 100644 index 00000000..c8dd404e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavahostile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/lavamellow1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/lavamellow1.wav new file mode 100644 index 00000000..24dab1b0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/lavamellow1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/leavesrustling.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/leavesrustling.wav new file mode 100644 index 00000000..5c5d7e1f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/leavesrustling.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/moaningwind1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/moaningwind1.wav new file mode 100644 index 00000000..a2233087 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/moaningwind1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/oceanwaves.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/oceanwaves.wav new file mode 100644 index 00000000..eb907252 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/oceanwaves.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_hard_1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_hard_1.wav new file mode 100644 index 00000000..c8adbd15 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_hard_1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_hard_2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_hard_2.wav new file mode 100644 index 00000000..d349d2ec Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_hard_2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_light_1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_light_1.wav new file mode 100644 index 00000000..8123a222 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_light_1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_light_2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_light_2.wav new file mode 100644 index 00000000..0c478f40 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_light_2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_1.wav new file mode 100644 index 00000000..3d932b28 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_2.wav new file mode 100644 index 00000000..241d6d68 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_3.wav new file mode 100644 index 00000000..bafc0b75 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rain_medium_3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/river1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/river1.wav new file mode 100644 index 00000000..939a5941 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/river1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/river2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/river2.wav new file mode 100644 index 00000000..bf4064be Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/river2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/river3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/river3.wav new file mode 100644 index 00000000..425e8e40 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/river3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rockslide1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rockslide1.wav new file mode 100644 index 00000000..f5c76fd3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rockslide1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rockslide2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rockslide2.wav new file mode 100644 index 00000000..358a4711 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rockslide2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/rumblingthunder.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/rumblingthunder.wav new file mode 100644 index 00000000..d29e7e18 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/rumblingthunder.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/sandpatter1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/sandpatter1.wav new file mode 100644 index 00000000..77ce886c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/sandpatter1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/sandpatter2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/sandpatter2.wav new file mode 100644 index 00000000..d1717916 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/sandpatter2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/sandstorm.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/sandstorm.wav new file mode 100644 index 00000000..9d56e6f2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/sandstorm.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/sandstorm2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/sandstorm2.wav new file mode 100644 index 00000000..aa63ca09 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/sandstorm2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall1.wav new file mode 100644 index 00000000..13a432ac Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall2.wav new file mode 100644 index 00000000..ae615d86 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall3.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall3.wav new file mode 100644 index 00000000..d949d67a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall4.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall4.wav new file mode 100644 index 00000000..39f23aaf Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/snowfall4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/snowstorm1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/snowstorm1.wav new file mode 100644 index 00000000..c3fd9a3c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/snowstorm1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/snowstorm2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/snowstorm2.wav new file mode 100644 index 00000000..9fa9964e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/snowstorm2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/wetwind.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/wetwind.wav new file mode 100644 index 00000000..3c421f1e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/wetwind.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/wind_sandstorm.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/wind_sandstorm.wav new file mode 100644 index 00000000..75c52c2f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/wind_sandstorm.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/yeti_howl1.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/yeti_howl1.wav new file mode 100644 index 00000000..9fcbf600 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/yeti_howl1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/environment/yeti_howl2.wav b/public/base/@vl2/audio.vl2/audio/fx/environment/yeti_howl2.wav new file mode 100644 index 00000000..84c3b3a9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/environment/yeti_howl2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/deployables_explosion.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/deployables_explosion.wav new file mode 100644 index 00000000..dd0b106b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/deployables_explosion.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl03.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl03.wav new file mode 100644 index 00000000..bd0e05b8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl03.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl10.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl10.wav new file mode 100644 index 00000000..9ee93ba8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl10.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl23.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl23.wav new file mode 100644 index 00000000..964b7645 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl23.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl27.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl27.wav new file mode 100644 index 00000000..8b637175 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/explosion.xpl27.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/grenade_flash_explode.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/grenade_flash_explode.wav new file mode 100644 index 00000000..a6d2ee34 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/grenade_flash_explode.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/explosions/vehicle_explosion.wav b/public/base/@vl2/audio.vl2/audio/fx/explosions/vehicle_explosion.wav new file mode 100644 index 00000000..7697bc73 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/explosions/vehicle_explosion.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/SHIELDH1.WAV b/public/base/@vl2/audio.vl2/audio/fx/misc/SHIELDH1.WAV new file mode 100644 index 00000000..a9c0c739 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/SHIELDH1.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/Siege_Switching.WAV b/public/base/@vl2/audio.vl2/audio/fx/misc/Siege_Switching.WAV new file mode 100644 index 00000000..63957ca3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/Siege_Switching.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/Yardsale.WAV b/public/base/@vl2/audio.vl2/audio/fx/misc/Yardsale.WAV new file mode 100644 index 00000000..0e05231d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/Yardsale.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_bonus.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_bonus.wav new file mode 100644 index 00000000..e076e9d9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_bonus.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_completed.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_completed.wav new file mode 100644 index 00000000..af6ee256 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_completed.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_objrem1.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_objrem1.wav new file mode 100644 index 00000000..08398885 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_objrem1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_objrem2.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_objrem2.wav new file mode 100644 index 00000000..0f933857 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/bounty_objrem2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/diagnostic_beep.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/diagnostic_beep.wav new file mode 100644 index 00000000..84a816ca Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/diagnostic_beep.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/diagnostic_on.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/diagnostic_on.wav new file mode 100644 index 00000000..0fd274ce Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/diagnostic_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/downloading.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/downloading.wav new file mode 100644 index 00000000..75d75b98 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/downloading.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_capture.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_capture.wav new file mode 100644 index 00000000..021ac39e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_capture.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_drop.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_drop.wav new file mode 100644 index 00000000..4bf060df Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_drop.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_lost.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_lost.wav new file mode 100644 index 00000000..5bbebab3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_lost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_mined_female.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_mined_female.wav new file mode 100644 index 00000000..0f88790c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_mined_female.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_mined_male.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_mined_male.wav new file mode 100644 index 00000000..f4744f2d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_mined_male.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_return.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_return.wav new file mode 100644 index 00000000..cf0d2b87 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_return.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_snatch.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_snatch.wav new file mode 100644 index 00000000..b1382ee0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_snatch.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flag_taken.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_taken.wav new file mode 100644 index 00000000..fed4e146 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flag_taken.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flipflop_lost.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flipflop_lost.wav new file mode 100644 index 00000000..fed4e146 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flipflop_lost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/flipflop_taken.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/flipflop_taken.wav new file mode 100644 index 00000000..259ccd67 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/flipflop_taken.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/health_patch.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/health_patch.wav new file mode 100644 index 00000000..f17b0346 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/health_patch.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/heartbeat.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/heartbeat.wav new file mode 100644 index 00000000..7dc27856 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/heartbeat.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_1.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_1.wav new file mode 100644 index 00000000..fb8f55df Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_10.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_10.wav new file mode 100644 index 00000000..87ca036a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_10.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_15.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_15.wav new file mode 100644 index 00000000..bd02cec2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_15.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_2.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_2.wav new file mode 100644 index 00000000..1d6ad365 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_3.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_3.wav new file mode 100644 index 00000000..794d02b4 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_30.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_30.wav new file mode 100644 index 00000000..73e87d23 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_30.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_4.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_4.wav new file mode 100644 index 00000000..a36bb760 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_5.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_5.wav new file mode 100644 index 00000000..aa23a712 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_5.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_60.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_60.wav new file mode 100644 index 00000000..8c491ad5 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_60.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_flag_snatch.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_flag_snatch.wav new file mode 100644 index 00000000..77b67b8f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_flag_snatch.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_greed.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_greed.wav new file mode 100644 index 00000000..9073a1ec Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_greed.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_horde.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_horde.wav new file mode 100644 index 00000000..04cd499b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/hunters_horde.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/lightning_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/lightning_impact.wav new file mode 100644 index 00000000..61730fdf Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/lightning_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/mine.deploy.WAV b/public/base/@vl2/audio.vl2/audio/fx/misc/mine.deploy.WAV new file mode 100644 index 00000000..d9d49dca Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/mine.deploy.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/misc.error.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/misc.error.wav new file mode 100644 index 00000000..2e1fde67 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/misc.error.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/nexus_cap.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/nexus_cap.wav new file mode 100644 index 00000000..a2123ab7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/nexus_cap.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/nexus_idle.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/nexus_idle.wav new file mode 100644 index 00000000..20291f5d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/nexus_idle.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/red_alert.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/red_alert.wav new file mode 100644 index 00000000..8e2be269 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/red_alert.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/static.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/static.wav new file mode 100644 index 00000000..7658ce75 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/static.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/switch_taken.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/switch_taken.wav new file mode 100644 index 00000000..6f33e3a3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/switch_taken.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/target_waypoint.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/target_waypoint.wav new file mode 100644 index 00000000..7e915b9f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/target_waypoint.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/vote_fails.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/vote_fails.wav new file mode 100644 index 00000000..9fced02d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/vote_fails.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/vote_initiated.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/vote_initiated.wav new file mode 100644 index 00000000..9888a4d4 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/vote_initiated.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/vote_passes.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/vote_passes.wav new file mode 100644 index 00000000..18ce655b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/vote_passes.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/misc/warning_beep.wav b/public/base/@vl2/audio.vl2/audio/fx/misc/warning_beep.wav new file mode 100644 index 00000000..ecd59c21 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/misc/warning_beep.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/cloak_on.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/cloak_on.wav new file mode 100644 index 00000000..7ed205a9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/cloak_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/inventory_deploy.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/inventory_deploy.wav new file mode 100644 index 00000000..00ec7050 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/inventory_deploy.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/packs.pickupPack.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/packs.pickupPack.wav new file mode 100644 index 00000000..cdc9dfaf Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/packs.pickupPack.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/packs.repairPackOn.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/packs.repairPackOn.wav new file mode 100644 index 00000000..431cca0b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/packs.repairPackOn.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/packs.throwPack.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/packs.throwPack.wav new file mode 100644 index 00000000..e3570209 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/packs.throwPack.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/repair_use.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/repair_use.wav new file mode 100644 index 00000000..66408c1e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/repair_use.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/satchel_pack_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/satchel_pack_activate.wav new file mode 100644 index 00000000..c13c4192 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/satchel_pack_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/satchel_pack_detonate.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/satchel_pack_detonate.wav new file mode 100644 index 00000000..2f0fe962 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/satchel_pack_detonate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/sensorjammerpack_on.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/sensorjammerpack_on.wav new file mode 100644 index 00000000..c8c6335f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/sensorjammerpack_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/shield_hit.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/shield_hit.wav new file mode 100644 index 00000000..c209bf01 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/shield_hit.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/shield_on.WAV b/public/base/@vl2/audio.vl2/audio/fx/packs/shield_on.WAV new file mode 100644 index 00000000..d3d4d0a5 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/shield_on.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/packs/turret_place.wav b/public/base/@vl2/audio.vl2/audio/fx/packs/turret_place.wav new file mode 100644 index 00000000..e668e2bd Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/packs/turret_place.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_loop.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_loop.wav new file mode 100644 index 00000000..6cdff355 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_loop.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_off.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_off.wav new file mode 100644 index 00000000..ec6653ba Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_off.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_on.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_on.wav new file mode 100644 index 00000000..aa9a0470 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/base_power_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/dep_inv_station.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/dep_inv_station.wav new file mode 100644 index 00000000..8ed88e13 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/dep_inv_station.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/generator_hum.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/generator_hum.wav new file mode 100644 index 00000000..9a3ff270 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/generator_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_appear.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_appear.wav new file mode 100644 index 00000000..d70dcc3c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_appear.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_off.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_off.wav new file mode 100644 index 00000000..fcdd6393 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_off.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_on.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_on.wav new file mode 100644 index 00000000..e24723b0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/inv_pad_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/motion_sensor_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/motion_sensor_activate.wav new file mode 100644 index 00000000..02fefe75 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/motion_sensor_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/nexus_deny.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/nexus_deny.wav new file mode 100644 index 00000000..c09c8ee3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/nexus_deny.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/sensor_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/sensor_activate.wav new file mode 100644 index 00000000..942f5a91 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/sensor_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/sensor_hum.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/sensor_hum.wav new file mode 100644 index 00000000..b5684f40 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/sensor_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/station_denied.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/station_denied.wav new file mode 100644 index 00000000..93400611 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/station_denied.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/station_hum.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/station_hum.wav new file mode 100644 index 00000000..9b5b2209 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/station_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_aa_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_aa_activate.wav new file mode 100644 index 00000000..c06aa27f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_aa_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_aa_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_aa_fire.wav new file mode 100644 index 00000000..f45e9549 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_aa_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_activate.wav new file mode 100644 index 00000000..57be0bee Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_idle.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_idle.wav new file mode 100644 index 00000000..e447a490 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_idle.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_reload.wav new file mode 100644 index 00000000..2b76455e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_heavy_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_indoor_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_indoor_fire.wav new file mode 100644 index 00000000..17075507 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_indoor_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_activate.wav new file mode 100644 index 00000000..943ecc53 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_idle.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_idle.wav new file mode 100644 index 00000000..fd07e44c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_idle.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_reload.wav new file mode 100644 index 00000000..df93d420 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_light_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_missile_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_missile_activate.wav new file mode 100644 index 00000000..47eacc80 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_missile_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_missile_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_missile_fire.wav new file mode 100644 index 00000000..49fc86f6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_missile_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_mortar_explode.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_mortar_explode.wav new file mode 100644 index 00000000..061b0c43 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_mortar_explode.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_mortar_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_mortar_fire.wav new file mode 100644 index 00000000..10d95bbe Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_mortar_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_outdoor_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_outdoor_fire.wav new file mode 100644 index 00000000..c137234a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_outdoor_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_plasma_explode.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_plasma_explode.wav new file mode 100644 index 00000000..36e7eac1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_plasma_explode.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_plasma_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_plasma_fire.wav new file mode 100644 index 00000000..7cfa5295 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_plasma_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_activate.wav new file mode 100644 index 00000000..ffe72249 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_fire.wav new file mode 100644 index 00000000..297c0920 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_impact.wav new file mode 100644 index 00000000..14e2b2c9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/turret_sentry_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_pad_on.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_pad_on.wav new file mode 100644 index 00000000..1a723cac Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_pad_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_off.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_off.wav new file mode 100644 index 00000000..03a667a1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_off.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_on.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_on.wav new file mode 100644 index 00000000..3bc6b10f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_on2.wav b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_on2.wav new file mode 100644 index 00000000..14786ea3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/powered/vehicle_screen_on2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_close_lid.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_close_lid.wav new file mode 100644 index 00000000..43f8d42a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_close_lid.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy.wav new file mode 100644 index 00000000..182c8554 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy_station.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy_station.wav new file mode 100644 index 00000000..30c038f7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy_station.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy_turret.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy_turret.wav new file mode 100644 index 00000000..b3173f7b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_deploy_turret.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_undeploy_turret.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_undeploy_turret.wav new file mode 100644 index 00000000..18dbdfe6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_undeploy_turret.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_undeploy_turret2.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_undeploy_turret2.wav new file mode 100644 index 00000000..18dbdfe6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/MPB_undeploy_turret2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_dryfire.wav new file mode 100644 index 00000000..bf2b6809 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_impact.wav new file mode 100644 index 00000000..1ac46a16 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_projectile.wav new file mode 100644 index 00000000..1ce98d03 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_reload.wav new file mode 100644 index 00000000..7a0d0768 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_bomb_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_boost.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_boost.wav new file mode 100644 index 00000000..b3302aa3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_boost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_engine.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_engine.wav new file mode 100644 index 00000000..498dc5d2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_engine.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_activate.wav new file mode 100644 index 00000000..7f7d4ec9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_dryfire.wav new file mode 100644 index 00000000..4e3d55cd Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_fire.wav new file mode 100644 index 00000000..a4d90202 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_reload.wav new file mode 100644 index 00000000..37d86bb3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/bomber_turret_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/cockpit_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/cockpit_activate.wav new file mode 100644 index 00000000..f4393cef Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/cockpit_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_grav_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_grav_soft.wav new file mode 100644 index 00000000..161ac3ed Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_grav_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_ground_vehicle.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_ground_vehicle.wav new file mode 100644 index 00000000..e730a6d2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_ground_vehicle.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_hard.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_hard.wav new file mode 100644 index 00000000..3aaec4c0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_hard.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_soft.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_soft.wav new file mode 100644 index 00000000..421959f5 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/crash_soft.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/htransport_boost.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/htransport_boost.wav new file mode 100644 index 00000000..94fcba19 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/htransport_boost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/htransport_thrust.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/htransport_thrust.wav new file mode 100644 index 00000000..6d9ac067 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/htransport_thrust.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/inventory_pad_appear.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/inventory_pad_appear.wav new file mode 100644 index 00000000..86352846 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/inventory_pad_appear.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/inventory_pad_on.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/inventory_pad_on.wav new file mode 100644 index 00000000..46748e16 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/inventory_pad_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/mount.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mount.wav new file mode 100644 index 00000000..cf6319f2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mount.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/mount_dis.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mount_dis.wav new file mode 100644 index 00000000..b602f556 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mount_dis.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_boost.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_boost.wav new file mode 100644 index 00000000..8f5e8f56 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_boost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_inv_station.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_inv_station.wav new file mode 100644 index 00000000..2b072a31 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_inv_station.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_thrust.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_thrust.wav new file mode 100644 index 00000000..245ccc5e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/mpb_thrust.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_boost.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_boost.wav new file mode 100644 index 00000000..413ffb00 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_boost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_engine.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_engine.wav new file mode 100644 index 00000000..35bc4575 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_engine.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_skid.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_skid.wav new file mode 100644 index 00000000..337b11c7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/outrider_skid.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster.wav new file mode 100644 index 00000000..3c9c2b38 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster_projectile.wav new file mode 100644 index 00000000..e278d0a8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster_projectile_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster_projectile_impact.wav new file mode 100644 index 00000000..c3971e02 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_blaster_projectile_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_boost.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_boost.wav new file mode 100644 index 00000000..170e3348 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_boost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_engine.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_engine.wav new file mode 100644 index 00000000..2d6b75b2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/shrike_engine.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_activate.wav new file mode 100644 index 00000000..7008d32f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_boost.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_boost.wav new file mode 100644 index 00000000..9a6930c1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_boost.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_chaingun.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_chaingun.wav new file mode 100644 index 00000000..51804ffc Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_chaingun.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_engine.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_engine.wav new file mode 100644 index 00000000..916fed41 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_engine.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_mortar_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_mortar_fire.wav new file mode 100644 index 00000000..8e842739 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_mortar_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_skid.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_skid.wav new file mode 100644 index 00000000..b42c6783 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/tank_skid.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/wake_shrike_n_tank.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/wake_shrike_n_tank.wav new file mode 100644 index 00000000..ffca1ea6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/wake_shrike_n_tank.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/vehicles/wake_wildcat.wav b/public/base/@vl2/audio.vl2/audio/fx/vehicles/wake_wildcat.wav new file mode 100644 index 00000000..82150dfc Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/vehicles/wake_wildcat.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_fire.wav new file mode 100644 index 00000000..dc83a98a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_hit.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_hit.wav new file mode 100644 index 00000000..87b3a25b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_hit.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_underwater.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_underwater.wav new file mode 100644 index 00000000..bb67372a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/ELF_underwater.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_activate.wav new file mode 100644 index 00000000..ce5802b2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_fire.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_fire.WAV new file mode 100644 index 00000000..eaf20a6d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_fire.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_impact.wav new file mode 100644 index 00000000..1050cdf8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_projectile.wav new file mode 100644 index 00000000..de7f4be0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/blaster_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard1.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard1.wav new file mode 100644 index 00000000..568f672f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard2.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard2.wav new file mode 100644 index 00000000..e40eb379 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard3.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard3.wav new file mode 100644 index 00000000..8614868e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard4.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard4.wav new file mode 100644 index 00000000..94449019 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_hard4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal1.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal1.wav new file mode 100644 index 00000000..120c789d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal2.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal2.wav new file mode 100644 index 00000000..a7f038e0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal3.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal3.wav new file mode 100644 index 00000000..64ceecd6 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal4.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal4.wav new file mode 100644 index 00000000..e677cc47 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_metal4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft1.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft1.wav new file mode 100644 index 00000000..8ca62f45 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft2.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft2.wav new file mode 100644 index 00000000..57f09ae0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft3.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft3.wav new file mode 100644 index 00000000..ab059526 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft4.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft4.wav new file mode 100644 index 00000000..e1e8a651 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_soft4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water1.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water1.wav new file mode 100644 index 00000000..e0eeadf3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water1.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water2.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water2.wav new file mode 100644 index 00000000..3ac4bb40 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water2.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water3.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water3.wav new file mode 100644 index 00000000..69d94eac Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water3.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water4.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water4.wav new file mode 100644 index 00000000..b01c1105 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/cg_water4.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_activate.wav new file mode 100644 index 00000000..09d9bb0b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_dryfire.wav new file mode 100644 index 00000000..a903f5cd Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_fire.wav new file mode 100644 index 00000000..6e3f80de Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_impact.wav new file mode 100644 index 00000000..e6ad9ab2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_off.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_off.wav new file mode 100644 index 00000000..ba6b1e69 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_off.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_projectile.wav new file mode 100644 index 00000000..2c240fe7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_spindown.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_spindown.wav new file mode 100644 index 00000000..7282c24e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_spindown.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_spinup.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_spinup.wav new file mode 100644 index 00000000..5355dcf2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_spinup.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_start.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_start.wav new file mode 100644 index 00000000..e1170e62 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/chaingun_start.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/generic_switch.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/generic_switch.wav new file mode 100644 index 00000000..300b37ce Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/generic_switch.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_camera_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_camera_activate.wav new file mode 100644 index 00000000..50e12be7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_camera_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_camera_attach.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_camera_attach.wav new file mode 100644 index 00000000..0dfc24e0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_camera_attach.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_explode.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_explode.wav new file mode 100644 index 00000000..76c8e026 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_explode.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_explode_UW.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_explode_UW.wav new file mode 100644 index 00000000..5fa2892e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_explode_UW.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_flash_explode.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_flash_explode.wav new file mode 100644 index 00000000..93641d70 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_flash_explode.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_switch.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_switch.wav new file mode 100644 index 00000000..1d74abfd Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_switch.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_throw.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_throw.wav new file mode 100644 index 00000000..9c4c649b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenade_throw.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_activate.wav new file mode 100644 index 00000000..3ed59368 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_dryfire.wav new file mode 100644 index 00000000..901d7acb Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_fire.wav new file mode 100644 index 00000000..5db5906d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_projectile.wav new file mode 100644 index 00000000..061860c3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_reload.wav new file mode 100644 index 00000000..dfcc318c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/grenadelauncher_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_deploy.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_deploy.wav new file mode 100644 index 00000000..ef73b6a5 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_deploy.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_detonate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_detonate.wav new file mode 100644 index 00000000..bc150b40 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_detonate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_detonate_UW.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_detonate_UW.wav new file mode 100644 index 00000000..97fc68db Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_detonate_UW.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_switch.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_switch.wav new file mode 100644 index 00000000..34f522f8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mine_switch.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_fire.wav new file mode 100644 index 00000000..fd4f6431 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_firer_lock.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_firer_lock.wav new file mode 100644 index 00000000..57741097 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_firer_lock.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_firer_search.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_firer_search.wav new file mode 100644 index 00000000..8a8c7abe Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_firer_search.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_launcher_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_launcher_activate.wav new file mode 100644 index 00000000..ad9a313a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_launcher_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_launcher_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_launcher_dryfire.wav new file mode 100644 index 00000000..beb5d056 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_launcher_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_projectile.wav new file mode 100644 index 00000000..30ad74f8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_target_inbound.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_target_inbound.wav new file mode 100644 index 00000000..33d2329c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_target_inbound.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_target_lock.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_target_lock.wav new file mode 100644 index 00000000..d5772472 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/missile_target_lock.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_activate.wav new file mode 100644 index 00000000..57cd7164 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_dryfire.wav new file mode 100644 index 00000000..05ee3628 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_explode.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_explode.wav new file mode 100644 index 00000000..88636731 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_explode.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_explode_UW.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_explode_UW.wav new file mode 100644 index 00000000..72610424 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_explode_UW.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_fire.wav new file mode 100644 index 00000000..e8b6b6b8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_projectile.wav new file mode 100644 index 00000000..1868f15b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_reload.wav new file mode 100644 index 00000000..a42ed8e3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/mortar_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_dryfire.wav new file mode 100644 index 00000000..46599575 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_fizzle.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_fizzle.wav new file mode 100644 index 00000000..22e3ec2b Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_fizzle.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_activate.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_activate.WAV new file mode 100644 index 00000000..d13be230 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_activate.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_fire.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_fire.WAV new file mode 100644 index 00000000..02aa8c11 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_fire.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_idle.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_idle.WAV new file mode 100644 index 00000000..ca87a9c5 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_idle.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile.WAV new file mode 100644 index 00000000..c12cd91e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile_die.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile_die.WAV new file mode 100644 index 00000000..ad2b455e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile_die.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile_hit.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile_hit.WAV new file mode 100644 index 00000000..fe72437d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_projectile_hit.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_reload.WAV b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_reload.WAV new file mode 100644 index 00000000..dca5e9be Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/plasma_rifle_reload.WAV differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_activate.wav new file mode 100644 index 00000000..c3c3ee6a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_dryfire.wav new file mode 100644 index 00000000..a9824c6f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_fire.wav new file mode 100644 index 00000000..3c7e3fb2 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_miss.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_miss.wav new file mode 100644 index 00000000..2e19a417 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_miss.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_reload.wav new file mode 100644 index 00000000..0b7540e7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/shocklance_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_activate.wav new file mode 100644 index 00000000..c169ad45 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_fire.wav new file mode 100644 index 00000000..3571044e Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_impact.wav new file mode 100644 index 00000000..44320bb9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_miss.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_miss.wav new file mode 100644 index 00000000..46812ae9 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_miss.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_underwater.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_underwater.wav new file mode 100644 index 00000000..b9e312ae Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/sniper_underwater.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_activate.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_activate.wav new file mode 100644 index 00000000..3b7905e0 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_activate.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_dryfire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_dryfire.wav new file mode 100644 index 00000000..2b42998a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_dryfire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_fire.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_fire.wav new file mode 100644 index 00000000..075dcbd7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_fire.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_idle.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_idle.wav new file mode 100644 index 00000000..60e640f7 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_idle.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_impact.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_impact.wav new file mode 100644 index 00000000..db68f9c1 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_impact.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_impact_UW.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_impact_UW.wav new file mode 100644 index 00000000..27708361 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_impact_UW.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_projectile.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_projectile.wav new file mode 100644 index 00000000..f43f8f67 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_projectile.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_reload.sfk b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_reload.sfk new file mode 100644 index 00000000..a4ea783a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_reload.sfk differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_reload.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_reload.wav new file mode 100644 index 00000000..037d0436 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/spinfusor_reload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/targetinglaser_paint.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/targetinglaser_paint.wav new file mode 100644 index 00000000..96a12f20 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/targetinglaser_paint.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/temp.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/temp.wav new file mode 100644 index 00000000..29743974 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/temp.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/throw_grenade.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/throw_grenade.wav new file mode 100644 index 00000000..c8396305 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/throw_grenade.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/throw_mine.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/throw_mine.wav new file mode 100644 index 00000000..5b039783 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/throw_mine.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/fx/weapons/weapon.missilereload.wav b/public/base/@vl2/audio.vl2/audio/fx/weapons/weapon.missilereload.wav new file mode 100644 index 00000000..89e173de Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/fx/weapons/weapon.missilereload.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/buttonDown.wav b/public/base/@vl2/audio.vl2/audio/gui/buttonDown.wav new file mode 100644 index 00000000..0e74bc5f Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/buttonDown.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/buttonOver.wav b/public/base/@vl2/audio.vl2/audio/gui/buttonOver.wav new file mode 100644 index 00000000..0a0e2f7c Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/buttonOver.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/command_hum.wav b/public/base/@vl2/audio.vl2/audio/gui/command_hum.wav new file mode 100644 index 00000000..5eae1f4d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/command_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/command_off.wav b/public/base/@vl2/audio.vl2/audio/gui/command_off.wav new file mode 100644 index 00000000..1e990970 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/command_off.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/command_on.wav b/public/base/@vl2/audio.vl2/audio/gui/command_on.wav new file mode 100644 index 00000000..df3ade45 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/command_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/inventory_hum.wav b/public/base/@vl2/audio.vl2/audio/gui/inventory_hum.wav new file mode 100644 index 00000000..807ecee3 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/inventory_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/inventory_off.wav b/public/base/@vl2/audio.vl2/audio/gui/inventory_off.wav new file mode 100644 index 00000000..cecfef90 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/inventory_off.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/inventory_on.wav b/public/base/@vl2/audio.vl2/audio/gui/inventory_on.wav new file mode 100644 index 00000000..102d7e62 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/inventory_on.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/launchMenuOpen.wav b/public/base/@vl2/audio.vl2/audio/gui/launchMenuOpen.wav new file mode 100644 index 00000000..6208b911 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/launchMenuOpen.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/launchMenuOver.wav b/public/base/@vl2/audio.vl2/audio/gui/launchMenuOver.wav new file mode 100644 index 00000000..791a120a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/launchMenuOver.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/loading_hum.wav b/public/base/@vl2/audio.vl2/audio/gui/loading_hum.wav new file mode 100644 index 00000000..72660758 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/loading_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/objective_notification.wav b/public/base/@vl2/audio.vl2/audio/gui/objective_notification.wav new file mode 100644 index 00000000..7460e2f5 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/objective_notification.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/shell_hum.wav b/public/base/@vl2/audio.vl2/audio/gui/shell_hum.wav new file mode 100644 index 00000000..46dc6535 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/shell_hum.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/vote_nopass.wav b/public/base/@vl2/audio.vl2/audio/gui/vote_nopass.wav new file mode 100644 index 00000000..c316145a Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/vote_nopass.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/vote_pass.wav b/public/base/@vl2/audio.vl2/audio/gui/vote_pass.wav new file mode 100644 index 00000000..c55c6d4d Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/vote_pass.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/youvegotmail.wav b/public/base/@vl2/audio.vl2/audio/gui/youvegotmail.wav new file mode 100644 index 00000000..23af6f60 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/youvegotmail.wav differ diff --git a/public/base/@vl2/audio.vl2/audio/gui/youvegotmail2.WAV b/public/base/@vl2/audio.vl2/audio/gui/youvegotmail2.WAV new file mode 100644 index 00000000..aed532b8 Binary files /dev/null and b/public/base/@vl2/audio.vl2/audio/gui/youvegotmail2.WAV differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_1wal03c.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_1wal03c.png new file mode 100644 index 00000000..fa885c5d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_1wal03c.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol01.png new file mode 100644 index 00000000..8f16b76b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol01a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol01a.png new file mode 100644 index 00000000..c0f4f64c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol01a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol02.png new file mode 100644 index 00000000..028a74a4 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eCol02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor01.png new file mode 100644 index 00000000..41adf8de Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor02.png new file mode 100644 index 00000000..d1c70e23 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor03.png new file mode 100644 index 00000000..8da05306 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor04.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor04.png new file mode 100644 index 00000000..e3bc0c89 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor04.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor05.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor05.png new file mode 100644 index 00000000..3238080c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ebor05.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo1a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo1a.png new file mode 100644 index 00000000..2eda05ca Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo1a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo1b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo1b.png new file mode 100644 index 00000000..3e11c2a7 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo1b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo2a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo2a.png new file mode 100644 index 00000000..44fd376f Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo2a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo2b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo2b.png new file mode 100644 index 00000000..dfca208b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo2b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3a.png new file mode 100644 index 00000000..ee8d28b2 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3b.png new file mode 100644 index 00000000..dcf68715 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3d.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3d.png new file mode 100644 index 00000000..28494485 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo3d.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo4a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo4a.png new file mode 100644 index 00000000..f9dca801 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo4a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo4b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo4b.png new file mode 100644 index 00000000..9c29af99 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ecombo4b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_edoo01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_edoo01.png new file mode 100644 index 00000000..cc35efe0 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_edoo01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_edoo02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_edoo02.png new file mode 100644 index 00000000..07e26eab Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_edoo02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eflo01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eflo01.png new file mode 100644 index 00000000..c1882a7a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eflo01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig02.png new file mode 100644 index 00000000..290e4d64 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig02a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig02a.png new file mode 100644 index 00000000..1df62bee Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig02a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig03.png new file mode 100644 index 00000000..15a3919b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig03a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig03a.png new file mode 100644 index 00000000..1f23d808 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_elig03a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe01.png new file mode 100644 index 00000000..f89bc704 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe02.png new file mode 100644 index 00000000..20a09a65 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe03.png new file mode 100644 index 00000000..7cbb617b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_espe03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain1a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain1a.png new file mode 100644 index 00000000..facd2b6c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain1a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain2a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain2a.png new file mode 100644 index 00000000..e922d741 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain2a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain3a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain3a.png new file mode 100644 index 00000000..8fa70977 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain3a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain3b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain3b.png new file mode 100644 index 00000000..c39502e8 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain3b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain4a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain4a.png new file mode 100644 index 00000000..b4728dbe Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain4a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain5a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain5a.png new file mode 100644 index 00000000..321d120d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_eterrain5a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal02.png new file mode 100644 index 00000000..d7935831 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal03c.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal03c.png new file mode 100644 index 00000000..30bd9adf Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal03c.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal04.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal04.png new file mode 100644 index 00000000..bef30d34 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal04.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal05.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal05.png new file mode 100644 index 00000000..5318a891 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal05.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal06a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal06a.png new file mode 100644 index 00000000..b1e0761d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal06a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal07.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal07.png new file mode 100644 index 00000000..039eac6e Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal07.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal08.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal08.png new file mode 100644 index 00000000..d04c58bc Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal08.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal09.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal09.png new file mode 100644 index 00000000..a6332690 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal09.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal10.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal10.png new file mode 100644 index 00000000..0b81f3ce Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal10.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal11.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal11.png new file mode 100644 index 00000000..579011ef Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal11.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal13.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal13.png new file mode 100644 index 00000000..dc65f12e Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal13.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal13A.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal13A.png new file mode 100644 index 00000000..09bc4013 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal13A.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal14.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal14.png new file mode 100644 index 00000000..a0a4e14a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal14.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal15.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal15.png new file mode 100644 index 00000000..a7aa2394 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal15.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal16.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal16.png new file mode 100644 index 00000000..e4e801ce Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ewal16.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iCol01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iCol01.png new file mode 100644 index 00000000..7d9225d7 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iCol01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iCol02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iCol02.png new file mode 100644 index 00000000..44a8ab1a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iCol02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor01.png new file mode 100644 index 00000000..81cd2905 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor02.png new file mode 100644 index 00000000..af4ef5b3 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor03.png new file mode 100644 index 00000000..22190b3c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor04.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor04.png new file mode 100644 index 00000000..c9a282e5 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor04.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor05.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor05.png new file mode 100644 index 00000000..a35ed5ec Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor05.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor10.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor10.png new file mode 100644 index 00000000..7a414956 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor10.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor6.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor6.png new file mode 100644 index 00000000..1b2978cd Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor6.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor7.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor7.png new file mode 100644 index 00000000..a682a26a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor7.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor8.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor8.png new file mode 100644 index 00000000..b9b250c2 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor8.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor9.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor9.png new file mode 100644 index 00000000..584ec4d7 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ibor9.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei01.png new file mode 100644 index 00000000..a9edb82a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei02.png new file mode 100644 index 00000000..b765d8bb Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei02a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei02a.png new file mode 100644 index 00000000..838ae95d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei02a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei03.png new file mode 100644 index 00000000..1735ba15 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icei03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig01.png new file mode 100644 index 00000000..98e902bd Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig02.png new file mode 100644 index 00000000..4a592596 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig03.png new file mode 100644 index 00000000..2b52750e Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iceilig03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ichute01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ichute01.png new file mode 100644 index 00000000..eae59af6 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ichute01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ichute02a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ichute02a.png new file mode 100644 index 00000000..c62fae1c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ichute02a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_icoligolA.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icoligolA.png new file mode 100644 index 00000000..025e478b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icoligolA.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_icomp01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icomp01.png new file mode 100644 index 00000000..db7877e7 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_icomp01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_idoo03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_idoo03.png new file mode 100644 index 00000000..039a161e Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_idoo03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo01.png new file mode 100644 index 00000000..811d805f Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo02.png new file mode 100644 index 00000000..303da920 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo03b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo03b.png new file mode 100644 index 00000000..df2c94c0 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iflo03b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ifunctec01a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ifunctec01a.png new file mode 100644 index 00000000..ec02ce81 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ifunctec01a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ifunctec02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ifunctec02.png new file mode 100644 index 00000000..3815b48c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ifunctec02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ilig01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ilig01.png new file mode 100644 index 00000000..185fc73a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ilig01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ilig01a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ilig01a.png new file mode 100644 index 00000000..a44d6ad0 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ilig01a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe01.png new file mode 100644 index 00000000..030fe2db Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe03.png new file mode 100644 index 00000000..d65fa021 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe04.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe04.png new file mode 100644 index 00000000..56cec99f Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe04.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe06.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe06.png new file mode 100644 index 00000000..3ffa270d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe06.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe07.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe07.png new file mode 100644 index 00000000..7fb1cb21 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe07.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe07a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe07a.png new file mode 100644 index 00000000..c4f6b7aa Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_ispe07a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itebor01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itebor01.png new file mode 100644 index 00000000..12e345c8 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itebor01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec01.png new file mode 100644 index 00000000..fbe5c953 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec01a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec01a.png new file mode 100644 index 00000000..7dfd2ded Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec01a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec02.png new file mode 100644 index 00000000..0aba4fa0 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec03.png new file mode 100644 index 00000000..2b58326a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec05.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec05.png new file mode 100644 index 00000000..5ed095bd Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec05.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec06a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec06a.png new file mode 100644 index 00000000..17dec8ac Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itec06a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01.png new file mode 100644 index 00000000..0a8fb620 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01b.png new file mode 100644 index 00000000..4e679c49 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01c.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01c.png new file mode 100644 index 00000000..08872e80 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01c.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01e.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01e.png new file mode 100644 index 00000000..e9c26587 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_itewal01e.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal01b.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal01b.png new file mode 100644 index 00000000..02471ab2 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal01b.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal01e.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal01e.png new file mode 100644 index 00000000..e08d3fe6 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal01e.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal02.png new file mode 100644 index 00000000..6ddfe31e Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal03.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal03.png new file mode 100644 index 00000000..4455c0d5 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal03.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal03c.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal03c.png new file mode 100644 index 00000000..507969af Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal03c.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal16.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal16.png new file mode 100644 index 00000000..e4e801ce Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_iwal16.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_screen.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_screen.png new file mode 100644 index 00000000..87dd71b2 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_screen.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh01a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh01a.png new file mode 100644 index 00000000..963f24e4 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh01a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh02.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh02.png new file mode 100644 index 00000000..a05bc4f6 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh02.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh02a.png b/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh02a.png new file mode 100644 index 00000000..918d371d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/bd_thresh02a.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_BK.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_BK.bm8 new file mode 100644 index 00000000..9fc426e4 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_BK.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_BK.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_BK.png new file mode 100644 index 00000000..045f653e Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_BK.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_DN.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_DN.bm8 new file mode 100644 index 00000000..d042322b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_DN.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_DN.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_DN.png new file mode 100644 index 00000000..708d934d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_DN.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_FR.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_FR.bm8 new file mode 100644 index 00000000..a34071bf Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_FR.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_FR.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_FR.png new file mode 100644 index 00000000..77505ef4 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_FR.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_LF.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_LF.bm8 new file mode 100644 index 00000000..1566df2d Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_LF.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_LF.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_LF.png new file mode 100644 index 00000000..5e5edfaf Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_LF.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_RT.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_RT.bm8 new file mode 100644 index 00000000..fc59bc46 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_RT.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_RT.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_RT.png new file mode 100644 index 00000000..cddcbb9c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_RT.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_UP.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_UP.bm8 new file mode 100644 index 00000000..10131802 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_UP.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_UP.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_UP.png new file mode 100644 index 00000000..71636009 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/badlandday_UP.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud1.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud1.bm8 new file mode 100644 index 00000000..154614c3 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud1.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud1.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud1.png new file mode 100644 index 00000000..f1045174 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud1.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud2.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud2.bm8 new file mode 100644 index 00000000..8b08edf3 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud2.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud2.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud2.png new file mode 100644 index 00000000..6e650622 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud2.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud_emap.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud_emap.bm8 new file mode 100644 index 00000000..9c4fc7e3 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud_emap.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud_emap.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud_emap.png new file mode 100644 index 00000000..4e68fb2a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_day_cloud_emap.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_nite_starry_emap.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_nite_starry_emap.bm8 new file mode 100644 index 00000000..4046a3ed Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_nite_starry_emap.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_nite_starry_emap.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_nite_starry_emap.png new file mode 100644 index 00000000..f0d9ebc9 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/bd_nite_starry_emap.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_BK.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_BK.bm8 new file mode 100644 index 00000000..bd0f499b Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_BK.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_BK.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_BK.png new file mode 100644 index 00000000..88fb0239 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_BK.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_DN.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_DN.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_DN.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_DN.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_DN.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_FR.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_FR.bm8 new file mode 100644 index 00000000..e1935a86 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_FR.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_FR.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_FR.png new file mode 100644 index 00000000..632ba0d0 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_FR.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_LF.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_LF.bm8 new file mode 100644 index 00000000..8075689f Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_LF.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_LF.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_LF.png new file mode 100644 index 00000000..24b8e93c Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_LF.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_RT.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_RT.bm8 new file mode 100644 index 00000000..54420c06 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_RT.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_RT.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_RT.png new file mode 100644 index 00000000..d62f75ab Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_RT.png differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_UP.bm8 b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_UP.bm8 new file mode 100644 index 00000000..a544d9ba Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_UP.bm8 differ diff --git a/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_UP.png b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_UP.png new file mode 100644 index 00000000..ecbe4ba5 Binary files /dev/null and b/public/base/@vl2/badlands.vl2/textures/badlands/skies/starrynite_v2_UP.png differ diff --git a/public/base/@vl2/base.vl2/EULA.txt b/public/base/@vl2/base.vl2/EULA.txt new file mode 100644 index 00000000..1fd0e0e8 --- /dev/null +++ b/public/base/@vl2/base.vl2/EULA.txt @@ -0,0 +1,28 @@ +YOU SHOULD CAREFULLY READ THE FOLLOWING END USER LICENSE AGREEMENT BEFORE INSTALLING THIS SOFTWARE PROGRAM. BY INSTALLING OR OTHERWISE USING THE SOFTWARE PROGRAM, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, PROMPTLY RETURN THE UNUSED SOFTWARE PROGRAM TO THE PLACE OF PURCHASE OR CONTACT SIERRA ON-LINE, INC. CUSTOMER SERVICE AT (425) 746-5771 FOR A FULL REFUND OF THE PURCHASE PRICE WITHIN 30 DAYS OF THE ORIGINAL PURCHASE. + +This software program (the Program), any printed materials, any on-line or electronic documentation, and any and all copies and derivative works of such software program (including materials created with a so called level editor, if included) and materials are the copyrighted work of Sierra On-Line, Inc., a division of Havas Interactive, Inc. and/or its wholly owned subsidiaries, or its suppliers. All rights reserved, except as expressly stated herein. All use of the Program is governed by the terms of this End User License Agreement provided below ("License Agreement"). The Program is solely for use by end users according to the terms of the License Agreement. Any use, reproduction or redistribution of the Program not in accordance with the terms of the License Agreement is expressly prohibited. +END USER LICENSE AGREEMENT + + 1. Limited Use License. Sierra On-Line, Inc. (Sierra ) hereby grants, and by installing the Program you thereby accept, a limited, non-exclusive license and right to install and use one (1) copy of the Program for your use on either a home, business or portable computer. In addition, the Program has a multi-player capability that allows users to utilize the Program over the Internet via Sierras online game network Sierra.com. Use of the Program over Sierra.com is subject to your acceptance of Sierra.coms Terms of Use Agreement. Sierra On-Line, Inc. reserves the right to update, modify or change the Sierra.com Terms of Use Agreement at any time. The Program may also contain a Level Editor (the Editor) that allows you to create custom levels or other materials for your personal use in connection with the Program (New Materials). All use of the Editor or any New Materials is subject to this License Agreement. The Program is licensed, not sold. Your license confers no title or ownership in the Program. + 2. Ownership. All title, ownership rights and intellectual property rights in and to the Program and any and all copies thereof (including but not limited to any titles, computer code, themes, objects, characters, character names, stories, dialog, catch phrases, locations, concepts, artwork, animations, sounds, musical compositions, audio-visual effects, methods of operation, moral rights, any related documentation, and applets incorporated into the Program) are owned by Sierra On-Line, Inc. or its licensors. The Program is protected by the copyright laws of the United States, international copyright treaties and conventions and other laws. All rights are reserved. The Program contains certain licensed materials and Sierra s licensors may protect their rights in the event of any violation of this Agreement. +3. Responsibilities of End User. + A. Subject to the Grant of License hereinabove, you may not, in whole or in part, copy, photocopy, reproduce, translate, reverse engineer, derive source code, modify, disassemble, decompile, create derivative works based on the Program, or remove any proprietary notices or labels on the Program without the prior consent, in writing, of Sierra. + B. The Program is licensed to you as a single product. Its component parts may not be separated for use on more than one computer. + C. You are entitled to use the Program for your own use, but you are not entitled to: +(i) sell, grant a security interest in or transfer reproductions of the Program to other parties in any way, nor to rent, lease or license the Program to others without the prior written consent of Sierra. +(ii) exploit the Program or any of its parts for any commercial purpose including, but not limited to, use at a cyber caf, computer gaming center or any other location-based site. Sierra may offer a separate Site License Agreement to permit you to make the Program available for commercial use; contact Sierra for details; + +(iii) host or provide matchmaking services for the Program or emulate or redirect the communication protocols used by Sierra in the network feature of the Program, through protocol emulation, tunneling, modifying or adding components to the Program, use of a utility program or any other techniques now known or hereafter developed, for any purpose including, but not limited to network play over the Internet, network play utilizing commercial or non-commercial gaming networks or as part of content aggregation networks without the prior written consent of Sierra ; +(iv) create or maintain, under any circumstance, more than one simultaneous connection to Sierra.com. All such connections to Sierra.com, whether created by the Program or by other tools and utilities, may only be made through methods and means expressly approved by Sierra On-Line, Inc. Under no circumstances may you connect, or create tools that allow you to connect to Sierra.coms private binary interface or interfaces other than those explicitly provided by Sierra On-Line, Inc. for public use. + 4. Program Transfer. You may permanently transfer all of your rights under this License Agreement, provided the recipient agrees to the terms of this License Agreement and you agree to remove the Program from your home or portable computer. + 5. Termination. This License Agreement is effective until terminated. You may terminate the License Agreement at any time by destroying the Program. Sierra may, at its discretion, terminate this License Agreement in the event that you fail to comply with the terms and conditions contained herein. In such event, you must immediately destroy the Program. + 6. Export Controls. The Program may not be re-exported, downloaded or otherwise exported into (or to a national or resident of) any country to which the U.S. has embargoed goods, or to anyone on the U.S. Treasury Departments list of Specially Designated Nationals or the U.S. Commerce Departments Table of Denial Orders. By installing the Program, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list. + 7. Limited Warranty. Sierra expressly disclaims any warranty for the Program, Editor and Manual(s). The Program, Editor and Manual(s) are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, or noninfringement. The entire risk arising out of use or performance of the Program and Manual(s) remains with the User, however Sierra warrants up to and including 90 days from the date of your purchase of the Program that the media containing the Program shall be free from defects in material and workmanship. In the event that the media proves to be defective during that time period, and upon presentation to Sierra of proof of purchase of the defective Program, Sierra will at its option 1) correct any defect, 2) provide you with a product of equal or lesser value, or 3) refund your money. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental damages, so the above limitations may not apply to you. + + 8. Limitation of Liability. NEITHER SIERRA, HAVAS INTERACTIVE, INC., ITS PARENT, SUBSIDIARIES OR AFFILIATES SHALL BE LIABLE IN ANY WAY FOR LOSS OR DAMAGE OF ANY KIND RESULTING FROM THE USE OF THE PROGRAM OR USE OF SIERRA ON-LINE, INC.S ONLINE GAME NETWORK, SIERRA.COM INCLUDING, BUT NOT LIMITED TO, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. SIERRA FURTHER DISCLAIMS ALL WARRANTIES WITH REGARD TO YEAR 2000 COMPLIANCE OF THE SOFTWARE. SPECIFICALLY, SIERRA MAKES NO WARRANTIES THAT THE PERFORMANCE OR FUNCTIONALITY OF THE PROGRAM WILL NOT BE AFFECTED BY DATES PRIOR TO, DURING OR AFTER THE YEAR 2000, OR THAT THE PROGRAM WILL BE CAPABLE OF CORRECTLY PROCESSING, PROVIDING, AND/OR RECEIVING DATE INFORMATION WITHIN AND BETWEEN CENTURIES, INCLUDING THE PROPER EXCHANGE OF DATE INFORMATION BETWEEN PRODUCTS OR APPLICATIONS. ANY WARRANTY AGAINST INFRINGEMENT THAT MAY BE PROVIDED IN SECTION 2-312(3) OF THE UNIFORM COMMERCIAL CODE AND/OR IN ANY OTHER COMPARABLE STATE STATUTE IS EXPRESSLY DISCLAIMED. FURTHER, Sierra On-Line, Inc. SHALL NOT BE LIABLE IN ANY WAY FOR THE LOSS OR DAMAGE TO PLAYER CHARACTERS, ACCOUNTS, STATISTICS OR USER PROFILE INFORMATION STORED ON SIERRA.COM. I UNDERSTAND AND ACKNOWLEDGE THAT SIERRA ON-LINE, INC. CANNOT AND WILL NOT BE RESPONSIBLE FOR ANY INTURUPTIONS OF SERVICE ON SIERRA.COM INCLUDING, BUT NOT LIMITED TO ISP DISRUPTIONS, SOFTWARE OR HARDWARE FAILURES OR ANY OTHER EVENT WHICH MAY RESULT IN A LOSS OF DATA OR DISRUPTION OF SERVICE. Some states do not allow the exclusion or limitation of incidental or consequential damages, or allow limitations on how long an implied warranty lasts, so the above limitations may not apply. + + 9. Equitable Remedies. You hereby agree that Sierra would be irreparably damaged if the terms of this License Agreement were not specifically enforced, and therefore you agree that Sierra shall be entitled, without bond, other security, or proof of damages, to appropriate equitable remedies with respect to breaches of this License Agreement, in addition to such other remedies as Sierra may otherwise have available to it under applicable laws. In the event any litigation is brought by either party in connection with this License Agreement, the prevailing party in such litigation shall be entitled to recover from the other party all the costs, attorneys fees and other expenses incurred by such prevailing party in the litigation. +10. Limitations on License. Nothing in this License Agreement shall preclude you from making or authorizing the making of another copy or adaptation of the Program provided, however, that (1) such new copy or adaptation is created as an essential step in your utilization of the Program in accordance with the terms of this License Agreement and for NO OTHER PURPOSE; or (2) such new copy or adaptation is for archival purposes ONLY and all archival copies are destroyed in the event of your Transfer of the Program, the Termination of this Agreement or other circumstances under which your continued use of the Program ceases to be rightful. + + 11. Miscellaneous. This License Agreement shall be deemed to have been made and executed in the State of California and any dispute arising hereunder shall be resolved in accordance with the law of California. You agree that any claim asserted in any legal proceeding by one of the parties against the other shall be commenced and maintained in any state or federal court located in the State of California, County of Los Angeles, having subject matter jurisdiction with respect to the dispute between the parties. This License Agreement may be amended, altered or modified only by an instrument in writing, specifying such amendment, alteration or modification, executed by both parties. In the event that any provision of this License Agreement shall be held by a court or other tribunal of competent jurisdiction to be unenforceable, such provision will be enforced to the maximum extent permissible and the remaining portions of this License Agreement shall remain in full force and effect. This License Agreement constitutes and contains the entire agreement between the parties with respect to the subject matter hereof and supersedes any prior oral or written agreements. +I hereby acknowledge that I have read and understand the foregoing License Agreement and agree that the action of installing the Program is an acknowledgment of my agreement to be bound by the terms and conditions of the License Agreement contained herein. I also acknowledge and agree that this License Agreement is the complete and exclusive statement of the agreement between Sierra and I and that the License Agreement supersedes any prior or contemporaneous agreement, either oral or written, and any other communications between Sierra and myself. \ No newline at end of file diff --git a/public/base/@vl2/base.vl2/UKEULA.txt b/public/base/@vl2/base.vl2/UKEULA.txt new file mode 100644 index 00000000..cdbdef07 --- /dev/null +++ b/public/base/@vl2/base.vl2/UKEULA.txt @@ -0,0 +1,109 @@ + +YOU SHOULD CAREFULLY READ THE FOLLOWING END USER LICENSE AGREEMENT BEFORE INSTALLING THIS SOFTWARE PROGRAM. + +This software program, any printed materials, any on-line or electronic documentation, and any and all copies and derivative works of such software program and materials (the "Program") are the copyrighted work of Sierra On-line Inc., its subsidiaries, licensors and/or its suppliers. +All use of the Program is governed by the terms of the End User License Agreement which is provided below ("License"). +The Program is solely for use by end users according to the terms of the License. +Any use, reproduction or redistribution of the Program not in accordance with the terms of the License is expressly prohibited. + + +END USER LICENSE AGREEMENT + +1. Limited Use License. +Sierra On-line Inc. ("the Licensor") hereby grants, and by installing the Program you thereby accept, a limited, non-exclusive license and right to install and use one (1) copy of the Program for your use on either a home or portable computer. You may not network the Program or otherwise install it or use it on more than one computer at a time, except if expressly authorised otherwise in the applicable documentation which you should refer to if : +(a) The Program contains a Level Editor ("Editor") that allows you to create custom levels or other materials for your personal use in connection with the Program ("New Materials"). +(b) The Program has a multi-player capability +The Program is licensed not sold. Your license confers no title or ownership in the Program. + +2. Ownership. +All title, ownership rights and intellectual property rights in and to the Program and any and all copies thereof (including but not limited to any titles, computer code, themes, objects, characters, character names, stories, dialog, catch phrases, locations, concepts, artwork, animations, sounds, musical compositions, audio-visual effects, methods of operation, moral rights, any related documentation, and "applets" incorporated into the Program) are owned by the Licensor or its licensors. +The Program is protected by the English copyright laws , international copyright treaties and conventions and any other applicable laws. All rights are reserved. The Program may contain certain licensed materials and the Licensor's licensors may act to protect their rights in the event of any violation of this Agreement. + +3. Responsibilities of End User. + +A. Subject to the Grant of License herein above, you may not, in whole or in part, copy, photocopy, reproduce, translate, reverse engineer, derive source code, modify, disassemble, decompile, create derivative works based on the Program, or remove any proprietary notices or labels on the Program without the prior consent, in writing, of the Licensor. + +B. The Program is licensed to you as a single product. Its component parts may not be separated for use on more than one computer. + +C. You are entitled to use the Program for your own use, but you are not be entitled to: +(i) sell, grant a security interest in or transfer reproductions of the Program to other parties in any way, nor to rent, lease or license the Program to others without the Licensor prior written consent ; +(ii) publish and/or distribute the computer images, sound, files, fonts, graphics, clipart, animations, photographs, databases or other content of the Program (including without limitation, for resale printed materials for your personal or business use (e.g., flyers and brochures) and on your personal and business website); +use any of the computer images related to identifiable individuals or entities in a manner which suggests their association with or endorsement of any product or services ; + +(iii) exploit the Program or any of its parts, computer images, sound files, fonts, graphics, clipart, animations, photographs, databases or other content in the Program, for any commercial purpose including, but not limited to, use at a cyber caf, computer gaming centre or any other location-based site. + +(iv) host or provide matchmaking services for the Program or emulate or redirect the communication protocols used by the Licensor in the network feature of the Program, through protocol emulation, tunnelling, modifying or adding components to the Program, use of a utility program or any other techniques now known or hereafter developed, +for any purpose including, but not limited to network play over the Internet, network play utilising commercial or non-commercial gaming networks or as part of content aggregation networks without the Licensor prior written consent . + +4. Program Transfer. +You may permanently transfer all of your rights under this License, provided the recipient agrees to the terms of this License and you agree to remove the Program from you home or portable computer. + +5. Termination. +This License is effective until terminated. You may terminate the License at any time by destroying the Program and any New Material. The Licensor may, at its discretion, terminate this License in the event that you fail to comply with the terms and conditions contained herein. In such event, you must immediately destroy the Program and any New Material. + +6. Export Controls. +The Program may not be re-exported, download or otherwise exported into (or to a national or resident of) any country to which the U.S. has embargoed goods, or anyone on the U.S. Treasury Department's list of Specially Designated National or the U.S. Treasury Department's Table of Denial Orders. By installing the Program, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list. + +7. Limited Warranty. +THE LICENSOR EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE PROGRAM, EDITOR, AND MANUAL(S). THE PROGRAM, EDITOR AND MANUAL(S) ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THE LICENSOR FURTHER DISCLAIMS ALL WARRANTIES WITH REGARD TO YEAR 2000 COMPLIANCE OF THE SOFTWARE. SPECIFICALLY, THE LICENSOR MAKES NO WARRANTIES THAT THE PERFORMANCE OR FUNCTIONALITY OF THE PROGRAM WILL NOT BE AFFECTED BY DATES PRIOR TO, DURING OR AFTER THE YEAR 2000, OR THAT THE PROGRAM WILL BE CAPABLE OF CORRECTLY PROCESSING, PROVIDING, AND/OR RECEIVING DATE INFORMATION WITHIN AND BETWEEN CENTURIES, INCLUDING THE PROPER EXCHANGE OF DATE INFORMATION BETWEEN PRODUCTS OR APPLICATIONS ANY WARRANTY AGAINST INFRINGEMENT THAT MAY BE PROVIDED IN SECTION 2-312(3) OF THE UNIFORM COMMERCIAL CODE AND/OR IN ANY DISCLAIMED. +The entire risk arising out of use or performance of the Program, Editor and Manual(s) remains with you , +However the Licensor warrants that the media containing the Program shall be free from defects in material and workmanship under normal use and services and the Program will perform substantially in accordance with the accompanying written materials, for a period of ninety (90) days from the date of your purchase of the Program +In the event that the media proves to be defective during that time period, and upon presentation to the Licensor of proof of purchase of the defective Program, the Licensor will at its option 1) correct any defect, 2) provide you with a product of equal value, or 3) refund your money. +Some states/jurisdiction do not allow limitation on duration of an implied warranty, so the above limitation may not apply to you. + +In case you would like to exchange the product or refund you money, notably if the product is defective, please refer to the "Technical Support Policy" herein included. + +8. Limitation of Liability. +NEITHER THE LICENSOR , ITS PARENT, SUBSIDIARIES, AFFILIATES OR LICENSORS SHALL BE LIABLE IN ANY WAY FOR LOSS OR DAMAGE OF ANY KIND RESULTING FROM THE USE OF THE PROGRAM OR EDITOR +INCLUDING, BUT NOT LIMITED TO, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. + +Some countries do not allow the exclusion or limitation of incidental or consequential damages, or allow limitations on how long an implied warranty lasts, so above limitations or exclusion may not apply to you. + +9. Equitable Remedies. +You hereby agree that the Licensor would be irreparably damaged if the terms of this License were not specifically enforced, and therefore you agree that the Licensor shall be entitled, without bond, other security, or proof of damages, to appropriate equitable remedies with respect to breaches of this License, in addition to such other remedies as the Licensor may otherwise have available to it under applicable laws. + +10. Miscellaneous. +The License shall be deemed to have been made and executed in England, and any dispute arising hereunder shall be resolved in accordance with the English law. This License may be amended, altered or modified only by an instrument in writing, specifying such amendment, alteration or modification, executed by both parties. +In the event that any provision of this License shall be held by a court or other tribunal of competent jurisdiction to be unenforceable, such provision will be enforced to the maximum extent permissible and the remaining portions of this License shall remain in full force and effect. + +The terms and conditions of a paper printed licence eventually accompanying the Program prevail on any terms and condition of a license eventually included in the Program and that could appear on screen. + +You hereby acknowledge that you have read and understand the foregoing License and agree that the action of installing the Program is an acknowledgement of your agreement to be bound by the terms and conditions of the License contained herein. You also acknowledge and agree that this License is the complete and exclusive statement of the agreement between the Licensor and you and that the License supersedes any prior or contemporaneous agreement, either oral or written, and any other communications between the Licensor and you including any inconsistent written license agreement or on-line help accompanying the Program. + + +TECHNICAL SUPPORT POLICY + + +Attention : The technical support will only be available for private use complying with the terms of the End User License Agreement attached to the Product and to which you have agreed. Consequently, the technical support will not, in any case, be available for commercial or professional use of the Product. + + +Exchange Procedure for faulty CD-Rom, DVD-Rom or floppy disks + +If during the 90 days period following your purchase of the product, you notice that the CD-Rom, DVD-Rom or floppy disk is defective or scratched, the technical support will be able to exchange the Product free of charge, if you: + +* send the faulty CD-Rom, DVD-Rom or floppy disk back to the address indicated in the manual +* send a dated proof of purchase of the defective product (e.g. purchase ticket) + +Please, do not forget to join in your letter, your name, address and a phone number where it is possible to reach you during the day. + +After this 90 days period, if you want to exchange the CD-Rom, DVD-Rom or floppy disk (from a defective or scratched material only), thank you for sending back to the address indicated in the manual, the said CD-Rom, DVD-Rom or floppy disk and to join to your letter a 6-00 cheque for each defective material established to HAVAS INTERACTIVE UK Ltd. + +Please address your letters to the Technical Support * + +Exchange Procedure for the manuals + +If you have lost or torn your manual or documentation associated to the product, the technical support will be able to send you new ones, under the following conditions: +Thank you for sending to the technical support a copy of the floppy disk #1, the CD-Rom or DVD-Rom and to join a 6-00 cheque established to Havas Interactive UK Ltd. with your letter. + +Please, do not forget to join in your letter, your name, address and a phone number where it is possible to reach you during the day. + + +The technical support's address and phone number are indicated in the manual. + +* We recommend that you send a letter by registered mail. +The Technical Support won't be responsible for any loss or damage caused by the mail delivery services. +Any shipping charge will be at your own expense + + + + diff --git a/public/base/@vl2/base.vl2/console_end.cs b/public/base/@vl2/base.vl2/console_end.cs new file mode 100644 index 00000000..70a606d5 --- /dev/null +++ b/public/base/@vl2/base.vl2/console_end.cs @@ -0,0 +1,662 @@ +if ( $pref::Shell::lastBackground > 4 ) + $pref::Shell::lastBackground = 0; +else + $pref::Shell::lastBackground++; + +// load default controls: +exec("scripts/controlDefaults.cs"); + +// override with control settings +if ( $pref::Input::ActiveConfig !$= "" ) + exec( "prefs/" @ $pref::Input::ActiveConfig @ ".cs", false, true ); + +// --------------------------------------------------------------------------------- +// z0dd - ZOD, 5/8/02. Moved here so scripters can use the message callback feature. +// message.cs is loaded so autoexec can add new message callbacks +exec("scripts/message.cs"); + +//exec any user created .cs files found in scripts/autoexec (order is that returned by the OS) +function loadCustomScripts() +{ + %path = "scripts/autoexec/*.cs"; + for( %file = findFirstFile( %path ); %file !$= ""; %file = findNextFile( %path ) ) + exec( %file ); +} +loadCustomScripts(); + +// override settings from autoexec.cs +exec("autoexec.cs"); +$LoginName = ""; + $LoginPassword = ""; + +//TINMAN hack to add a command line option for starting a bot match... +if ($CmdLineBotCount !$= "") +{ + $Host::BotCount = $CmdLineBotCount; +} + +// message.cs is loaded so autoexec can add new message callbacks +// z0dd - ZOD, 5/8/02. Moved so scripters can use the message callback feature. +//exec("scripts/message.cs"); + +//function to be called when the game exits +function onExit() +{ + if ( !isDemo() && isObject($IRCClient.tcp) ) + IRCClient::quit(); + + echo("exporting pref::* to ClientPrefs.cs"); + export("$pref::*", "prefs/ClientPrefs.cs", False); + BanList::Export("prefs/banlist.cs"); + if ( $PlayingOnline ) + savePlayerDatabase(); +} + + +//-------------------------------------------------------------------------- + +exec("scripts/LaunchLanGui.cs"); +exec("scripts/GameGui.cs"); +exec("scripts/ChooseFilterDlg.cs"); +exec("scripts/TrainingGui.cs"); +exec("scripts/webstuff.cs"); +exec("scripts/webemail.cs"); +exec("scripts/webbrowser.cs"); +exec("scripts/webtest.cs"); +exec("scripts/weblinks.cs"); +exec("scripts/OptionsDlg.cs"); +exec("scripts/EditChatMenuGui.cs"); +exec("scripts/scoreList.cs"); +exec("scripts/LobbyGui.cs"); +exec("scripts/DebriefGui.cs"); +exec("scripts/commonDialogs.cs"); +exec("scripts/client.cs"); +exec("scripts/server.cs"); +exec("scripts/hud.cs"); +exec("scripts/objectiveHud.cs"); +exec("scripts/vehicles/clientVehicleHud.cs"); +exec("scripts/inventoryHud.cs"); +exec("scripts/chatMenuHud.cs"); +exec("scripts/scoreScreen.cs"); +exec("scripts/loadingGui.cs"); +exec("scripts/helpGuiText.cs"); +exec("scripts/voiceChat.cs"); +exec("scripts/clientTasks.cs"); +exec("scripts/targetManager.cs"); +exec("scripts/gameCanvas.cs"); +exec("scripts/centerPrint.cs"); +exec("scripts/CreditsGui.cs"); +if (isDemo()) + exec("scripts/DemoEndGui.cs"); +exec("scripts/ChatGui.cs"); + +// see if the mission and type are valid +// if they are they will be assigned into $Host::Map and $Host::MissionType +if($mission !$= "" && $missionType !$= "") + validateMissionAndType($mission, $missionType); + +if($LaunchMode $= "DedicatedServer") +{ + enableWinConsole(true); + $Host::Dedicated = true; + $HostGameType = "Online"; + $ServerName = $Host::GameName; + setNetPort($Host::Port); + CreateServer($Host::Map, $Host::MissionType); + return; +} +else if($LaunchMode $= "Console") +{ + enableWinConsole(true); + $Host::Dedicated = true; + return; +} +else if($LaunchMode $= "NavBuild") +{ + enableWinConsole(true); + $Host::Dedicated = true; + $ServerName = $Host::GameName; + $Host::MissionType = $missionType; + $Host::Map = $Mission; + setNetPort($Host::Port); + CreateServer($Mission, $missionType); + return; +} +else if($LaunchMode $= "SpnBuild") +{ + enableWinConsole(true); + $Host::Dedicated = true; + $ServerName = $Host::GameName; + $Host::MissionType = $missionType; + $Host::Map = $Mission; + setNetPort($Host::Port); + CreateServer($Mission, $missionType); + return; +} + +function recordMovie(%movieName, %fps) +{ + $timeAdvance = 1000 / %fps; + $screenGrabThread = schedule("movieGrabScreen(" @ %movieName @ ", 0);", $timeAdvance); +} + +function movieGrabScreen(%movieName, %frameNumber) +{ + if(%frameNumber < 10) + %frameNumber = "0" @ %frameNumber; + if(%frameNumber < 100) + %frameNumber = "0" @ %frameNumber; + if(%frameNumber < 1000) + %frameNumber = "0" @ %frameNumber; + if(%frameNumber < 10000) + %frameNumber = "0" @ %frameNumber; + screenshot(%movieName @ %frameNumber @ ".png"); + $screenGrabThread = schedule("movieGrabScreen(" @ %movieName @ "," @ %frameNumber + 1 @ ");", $timeAdvance); +} + +function stopMovie() +{ + cancel($screenGrabThread); +} + +function loadGui(%gui) +{ + exec("gui/" @ %gui @ ".gui"); +} + +exec("scripts/clientAudio.cs"); +exec("gui/guiProfiles.cs"); +exec("scripts/recordings.cs"); + +// tool guis +loadGui("GuiEditorGui"); +loadGui("consoleDlg"); +loadGui("InspectDlg"); +loadGui("CommonLoadDlg"); +loadGui("CommonSaveDlg"); +loadGui("FrameOverlayGui"); +loadGui("TribeAdminMemberDlg"); +loadGui("TSShowGui"); +loadGui("TSShowLoadDlg"); +loadGui("TSShowMiscDlg"); +loadGui("TSShowThreadControlDlg"); +loadGui("TSShowEditScale"); +loadGui("TSShowLightDlg"); +loadGui("TSShowTransitionDlg"); +loadGui("TSShowTranDurEditDlg"); +loadGui("TSShowDetailControlDlg"); + +// debugger GUI's +function Debugger() +{ + if(!$DebuggerLoaded) + { + loadGui("debuggerGui"); + loadGui("DebuggerBreakConditionDlg"); + loadGui("DebuggerConnectDlg"); + loadGui("DebuggerEditWatchDlg"); + loadGui("DebuggerWatchDlg"); + loadGui("DebuggerFindDlg"); + exec("scripts/debuggerGui.cs"); + $DebuggerLoaded = true; + } + Canvas.setContent(DebuggerGui); +} + +// test GUIs +loadGui("GuiTestGui"); + +// common shell dialogs: +loadGui("MessageBoxDlg"); +loadGui("MessagePopupDlg"); +loadGui("ShellLoadFileDlg"); +loadGui("ShellSaveFileDlg"); + +// menus +loadGui("AddressDlg"); +loadGui("GenDialog"); +loadGui("LaunchGui"); +loadGui("LaunchToolbarDlg"); +loadGui("GameGui"); +loadGui("ChooseFilterDlg"); +loadGui("ServerInfoDlg"); +loadGui("EnterIPDlg"); +loadGui("FindServerDlg"); +loadGui("AdvancedHostDlg"); +loadGui("NewWarriorDlg"); +loadGui("JoinChatDlg"); +loadGui("ChannelKeyDlg"); +loadGui("ChatOptionsDlg"); +loadGui("ChannelOptionsDlg"); +loadGui("ChannelBanDlg"); +loadGui("FilterEditDlg"); +loadGui("PasswordDlg"); +loadGui("OptionsDlg"); +loadGui("DriverInfoDlg"); +loadGui("RemapDlg"); +loadGui("MouseConfigDlg"); +loadGui("JoystickConfigDlg"); +loadGui("EditChatMenuGui"); +loadGui("EditChatMenuDlg"); +loadGui("EditChatCommandDlg"); +loadGui("ChatGui"); +loadGui("EmailGui"); +loadGui("EmailBlockDlg"); +loadGui("EmailComposeDlg"); +loadGui("TribeAndWarriorBrowserGui"); +loadGui("TribePropertiesDlg"); +loadGui("WarriorPropertiesDlg"); +loadGui("BrowserSearchDlg"); +loadGui("BrowserEditInfoDlg"); +loadGui("CreateTribeDlg"); +loadGui("RecordingsDlg"); +loadGui("DemoLoadProgressDlg"); +loadGui("DemoRenameFileDlg"); +loadGui("DemoPlaybackDlg"); +loadGui("TrainingGui"); +loadGui("SinglePlayerEscapeDlg"); +loadGui("LobbyGui"); +loadGui("DebriefGui"); +loadGui("CreditsGui"); +if (isDemo()) + loadGui("DemoEndGui"); +loadGui("MoveThreadDlg"); +loadGui("NewMissionGui"); +loadGui("ChatDlg"); +loadGui("PlayGui"); +loadGui("PanoramaGui"); +loadGui("LoadingGui"); +loadGui("TestGui"); + +// HUD GUI's: +loadGui("HUDDlgs"); + +// TR2 Huds +exec("prefs/TR2HudPrefs.cs"); +exec("scripts/TR2BonusHud.cs"); +exec("scripts/TR2EventHud.cs"); +exec("scripts/TR2FlagToss.cs"); + +// terraformer GUI's +loadGui("helpTextGui"); + +// + +loadGui("InteriorPreviewGui"); +loadGui("InteriorDebug"); +exec("scripts/editor.cs"); +loadGui("SceneLightingGui"); +loadGui("InspectAddFieldDlg"); + +loadGui("PickTeamDlg"); + +loadGui("DetailSetDlg"); + +loadGui("IHVTest"); + +// Load material properties +echo("Load Material Properties:"); +//exec("textures/badlands/badlandsPropMap.cs"); +//exec("textures/desert/desertPropMap.cs"); +//exec("textures/ice/icePropMap.cs"); +//exec("textures/lava/lavaPropMap.cs"); +//exec("textures/lush/lushPropMap.cs"); +exec("scripts/badlandsPropMap.cs"); +exec("scripts/desertPropMap.cs"); +exec("scripts/icePropMap.cs"); +exec("scripts/lavaPropMap.cs"); +exec("scripts/lushPropMap.cs"); + +// commander map +exec("scripts/commanderProfiles.cs"); +exec("scripts/commanderMap.cs"); +exec("scripts/commanderMapHelpText.cs"); + +loadGui(CommanderMapGui); +loadGui(cmdMapHelpText); +loadGui(TaskHudDlg); + + +function frameCounter() +{ + return " FPS: " @ $fps::real @ + " mspf: " @ 1000 / $fps::real; +} + +function terrMetrics() +{ + return frameCounter() @ + " L0: " @ $T2::levelZeroCount @ + " FMC: " @ $T2::fullMipCount @ + " DTC: " @ $T2::dynamicTextureCount @ + " UNU: " @ $T2::unusedTextureCount @ + " STC: " @ $T2::staticTextureCount @ + " DTSU: " @ $T2::textureSpaceUsed @ + " STSU: " @ $T2::staticTSU @ + " FRB: " @ $T2::FogRejections; +} + +function triMetrics() +{ + return frameCounter() @ + " TC: " @ $OpenGL::triCount0 + $OpenGL::triCount1 + $OpenGL::triCount2 + $OpenGL::triCount3 @ + " PC: " @ $OpenGL::primCount0 + $OpenGL::primCount1 + $OpenGL::primCount2 + $OpenGL::primCount3 @ + " T_T: " @ $OpenGL::triCount1 @ + " T_P: " @ $OpenGL::primCount1 @ + " I_T: " @ $OpenGL::triCount2 @ + " I_P: " @ $OpenGL::primCount2 @ + " TS_T: " @ $OpenGL::triCount3 @ + " TS_P: " @ $OpenGL::primCount3 @ + " ?_T: " @ $OpenGL::triCount0 @ + " ?_P: " @ $OpenGL::primCount0; +} + +function interiorMetrics() +{ + return frameCounter() @ + " NTL: " @ $Video::numTexelsLoaded @ + " TRP: " @ $Video::texResidentPercentage @ + " INP: " @ $Metrics::Interior::numPrimitives @ + " INT: " @ $Matrics::Interior::numTexturesUsed @ + " INO: " @ $Metrics::Interior::numInteriors; +} + +function textureMetrics() +{ + return frameCounter() @ + " NTL: " @ $Video::numTexelsLoaded @ + " TRP: " @ $Video::texResidentPercentage @ + " TCM: " @ $Video::textureCacheMisses; +} + +function waterMetrics() +{ + return frameCounter() @ + " Tri#: " @ $T2::waterTriCount @ + " Pnt#: " @ $T2::waterPointCount @ + " Hz#: " @ $T2::waterHazePointCount; +} + +function timeMetrics() +{ + return frameCounter() @ " Time: " @ getSimTime() @ " Mod: " @ getSimTime() % 32; +} + +function vehicleMetrics() +{ + return frameCounter() @ + " R: " @ $Vehicle::retryCount @ + " C: " @ $Vehicle::searchCount @ + " P: " @ $Vehicle::polyCount @ + " V: " @ $Vehicle::vertexCount; +} + +function audioMetrics() +{ + return frameCounter() @ + " OH: " @ $Audio::numOpenHandles @ + " OLH: " @ $Audio::numOpenLoopingHandles @ + " OVH: " @ $Audio::numOpenVoiceHandles @ + " AS: " @ $Audio::numActiveStreams @ + " NAS: " @ $Audio::numNullActiveStreams @ + " LAS: " @ $Audio::numActiveLoopingStreams @ + " VAS: " @ $Audio::numActiveVoiceStreams @ + " LS: " @ $Audio::numLoopingStreams @ + " ILS: " @ $Audio::numInactiveLoopingStreams @ + " CLS: " @ $Audio::numCulledLoopingStreams @ + " MEM: " @ $Audio::memUsage @ + " DYN: " @ $Audio::dynamicMemUsage @ + " / " @ $Audio::dynamicMemSize @ + " CNT: " @ $Audio::dynamicBufferCount @ + " / " @ $Audio::bufferCount; +} + +function DebugMetrics() +{ + return frameCounter() @ + " NTL: " @ $Video::numTexelsLoaded @ + " TRP: " @ $Video::texResidentPercentage @ + " NP: " @ $Metrics::numPrimitives @ + " NT: " @ $Metrics::numTexturesUsed @ + " NO: " @ $Metrics::numObjectsRendered; +} + +function showMapperMetrics( %expr ) +{ + GLEnableMetrics( %expr ); + + if( Canvas.getContent() != PlayGui.getId() ) + metricsIMain.setVisible( %expr ); + else + metricsMain.setVisible( %expr ); +} + +function showTerr() +{ + show("terrMetrics()"); +} + +function showTri() +{ + GLEnableMetrics(true); + show("triMetrics()"); +} + +function showTime() +{ + show("timeMetrics()"); +} + +function showWater() +{ + show("waterMetrics()"); +} + +function showTexture() +{ + show("textureMetrics()"); +} + +function showInterior() +{ + $fps::virtual = 0; + $Interior::numPolys = 0; + $Interior::numTextures = 0; + $Interior::numTexels = 0; + $Interior::numLightmaps = 0; + $Interior::numLumels = 0; + show("interiorMetrics()"); +} + +function showVehicle() +{ + show("vehicleMetrics()"); +} + +function showAudio() +{ + show("audioMetrics()"); +} + +function showDebug() +{ + show("DebugMetrics()"); +} + + +function show(%expr) +{ + if(%expr $= "") + { + GLEnableMetrics(false); + Canvas.popDialog(FrameOverlayGui); + } + else + { + Canvas.pushDialog(FrameOverlayGui, 1000); + TextOverlayControl.setValue(%expr); + } +} +//showInterior(); + +// check the launch mode: + +Canvas.setCursor("DefaultCursor"); + +function dumpFile(%fileName) +{ + %file = new FileObject(); + if(%file.openForRead(%fileName)) + { + while(!%file.isEOF()) + echo(%file.readLine()); + } + %file.delete(); +} + +function doScreenShot(%val) +{ + $pref::interior::showdetailmaps = false; + if(!%val) + screenShot("screen" @ $screenshotnum++ @ ".png"); +} + +// set up the movement action map +GlobalActionMap.bind(keyboard, "print", doScreenShot); +GlobalActionMap.bindCmd(keyboard, "alt enter", "", "toggleFullScreen();"); + +// Get the joystick binding functions: +exec( "scripts/joystickBind.cs" ); + +function clientCMDgetManagerID(%client) +{ + $client = %client; +} +// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // + +function abs(%val) +{ + if (%val < 0) + return %val * -1; + else + return %val; +} + +//############################################################################## +//CreateServer(testmission); +//LocalConnect(UberBob); +//############################################################################## + +function ServerConnectionAccepted() +{ + if ( !isDemo() ) + { + %info = GMJ_Browser.getServerInfoString(); + %desc = "joined a" SPC getField(%info,4) @ " game (" @ getField(%info,3) @ ") on the \"" @ getField(%info,0) @ "\" server."; + + IRCClient::onJoinGame($JoinGameAddress,%desc); + + if ( !$pref::Net::CheckEmail ) + CancelEmailCheck(); + + // if($pref::Net::DisconnectChat) + // IRCClient::quit(); + } + + checkGotLoadInfo(); +} + +function LocalConnectionAccepted() +{ + if ( !isDemo() ) + { + %desc = $pref::IRCClient::hostmsg; + + IRCClient::onJoinGame("", %desc); + + if ( !$pref::Net::CheckEmail ) + CancelEmailCheck(); + + // if($pref::Net::DisconnectChat) + // IRCClient::quit(); //this is screwed up right now ^^ + } + + checkGotLoadInfo(); +} + +function checkGotLoadInfo() +{ + if ( LoadingGui.gotLoadInfo ) + Canvas.setContent( LoadingGui ); + else + LoadingGui.checkSchedule = schedule( 500, 0, checkGotLoadInfo ); +} + +function cancelLoadInfoCheck() +{ + if ( LoadingGui.checkSchedule ) + { + cancel( LoadingGui.checkSchedule ); + LoadingGui.checkSchedule = ""; + } +} + +function DispatchLaunchMode() +{ + switch$($LaunchMode) + { + case "InteriorView": + if ( isFile( "missions/interiorTest.mis" ) ) + { + $InteriorArgument = $TestObjectFileName; + $extension = fileExt( $TestObjectFileName ); + if ( stricmp( $extension, ".dif\"" ) == 0 ) + { + // Have to adjust for quotes: + $TestObjectFileName = getSubStr( $TestObjectFileName, + 1, strlen( $TestObjectFileName ) - 2 ); + } + + if ( getSubStr( $TestObjectFileName, strlen( $TestObjectFileName ) - 6, 1 ) $= "_" ) + { + // Strip the detail part off... + $TestObjectFileName = getSubStr( $TestObjectFileName, 0, strlen( $TestObjectFileName ) - 6 ) @ ".dif"; + } + + echo( $TestObjectFileName @ " is the file loaded" ); + + $ServerName = $Host::GameName; + $Host::TimeLimit = 60; + CreateServer( "interiorTest", "InteriorTest" ); + localConnect( "TestGuy" ); + } + else + MessageBoxOK( "FILE NOT FOUND", "You do not have the interior test mission in your mission folder.\nTalk to Brad or Tom to get it.", "quit();" ); + case "Connect": + OnlineLogIn(); + setNetPort(0); + JoinGame($JoinGameAddress); + case "HostGame": + $ServerName = $Host::GameName; + $Host::MissionType = $MissionType; + $Host::Map = $Mission; + CreateServer($Mission, $MissionType); + localConnect(); + case "Normal": + OnlineLogIn(); + case "Offline": + PlayOffline(); + case "TSShow": + startShow(); + case "SceneLight": + CreateServer($Mission); + localConnect(); + case "Demo": + LoopDemos(); + } +} + +// if($LaunchMode !$= "Demo") +// VerifyCDCheck(DispatchLaunchMode); +// else + DispatchLaunchMode(); diff --git a/public/base/@vl2/base.vl2/effects/Armor.ifr b/public/base/@vl2/base.vl2/effects/Armor.ifr new file mode 100644 index 00000000..7d06390c Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/Armor.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/explosions.ifr b/public/base/@vl2/base.vl2/effects/explosions.ifr new file mode 100644 index 00000000..5a2c3665 Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/explosions.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/gui.ifr b/public/base/@vl2/base.vl2/effects/gui.ifr new file mode 100644 index 00000000..613dea6c Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/gui.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/misc.ifr b/public/base/@vl2/base.vl2/effects/misc.ifr new file mode 100644 index 00000000..9a4ec57e Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/misc.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/packs.ifr b/public/base/@vl2/base.vl2/effects/packs.ifr new file mode 100644 index 00000000..d9d938c3 Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/packs.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/powered.ifr b/public/base/@vl2/base.vl2/effects/powered.ifr new file mode 100644 index 00000000..374eae46 Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/powered.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/vehicles.ifr b/public/base/@vl2/base.vl2/effects/vehicles.ifr new file mode 100644 index 00000000..dee73255 Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/vehicles.ifr differ diff --git a/public/base/@vl2/base.vl2/effects/weapons.ifr b/public/base/@vl2/base.vl2/effects/weapons.ifr new file mode 100644 index 00000000..7cf78239 Binary files /dev/null and b/public/base/@vl2/base.vl2/effects/weapons.ifr differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_10.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_10.gft new file mode 100644 index 00000000..c2972ccf Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_10.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_12.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_12.gft new file mode 100644 index 00000000..f1671f84 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_13.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_13.gft new file mode 100644 index 00000000..f1671f84 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_13.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_14.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_14.gft new file mode 100644 index 00000000..484ba1bd Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_16.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_16.gft new file mode 100644 index 00000000..8235129d Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_18.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_18.gft new file mode 100644 index 00000000..b277fec3 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_24.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_24.gft new file mode 100644 index 00000000..f0dfe4d7 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_24.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial Bold_32.gft b/public/base/@vl2/base.vl2/fonts/Arial Bold_32.gft new file mode 100644 index 00000000..12319697 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial Bold_32.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial_12.gft b/public/base/@vl2/base.vl2/fonts/Arial_12.gft new file mode 100644 index 00000000..ebf885b1 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial_13.gft b/public/base/@vl2/base.vl2/fonts/Arial_13.gft new file mode 100644 index 00000000..94131e60 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial_13.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial_14.gft b/public/base/@vl2/base.vl2/fonts/Arial_14.gft new file mode 100644 index 00000000..fdda2889 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial_16.gft b/public/base/@vl2/base.vl2/fonts/Arial_16.gft new file mode 100644 index 00000000..90069297 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial_18.gft b/public/base/@vl2/base.vl2/fonts/Arial_18.gft new file mode 100644 index 00000000..6c2042c7 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Arial_20.gft b/public/base/@vl2/base.vl2/fonts/Arial_20.gft new file mode 100644 index 00000000..f006d21b Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Arial_20.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Lucida Console_12.gft b/public/base/@vl2/base.vl2/fonts/Lucida Console_12.gft new file mode 100644 index 00000000..838c377f Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Lucida Console_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Sui Generis_14.gft b/public/base/@vl2/base.vl2/fonts/Sui Generis_14.gft new file mode 100644 index 00000000..364bc337 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Sui Generis_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Sui Generis_20.gft b/public/base/@vl2/base.vl2/fonts/Sui Generis_20.gft new file mode 100644 index 00000000..0fbd21dd Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Sui Generis_20.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Sui Generis_22.gft b/public/base/@vl2/base.vl2/fonts/Sui Generis_22.gft new file mode 100644 index 00000000..67803198 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Sui Generis_22.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Bold_16.gft b/public/base/@vl2/base.vl2/fonts/Univers Bold_16.gft new file mode 100644 index 00000000..946922f7 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Bold_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Bold_18.gft b/public/base/@vl2/base.vl2/fonts/Univers Bold_18.gft new file mode 100644 index 00000000..b11acc3b Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Bold_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed Bold_20.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed Bold_20.gft new file mode 100644 index 00000000..45806b12 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed Bold_20.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed_10.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed_10.gft new file mode 100644 index 00000000..28446898 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed_10.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed_12.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed_12.gft new file mode 100644 index 00000000..ebf885b1 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed_14.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed_14.gft new file mode 100644 index 00000000..777a97b9 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed_18.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed_18.gft new file mode 100644 index 00000000..71a72c85 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed_20.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed_20.gft new file mode 100644 index 00000000..d039fcf0 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed_20.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers Condensed_22.gft b/public/base/@vl2/base.vl2/fonts/Univers Condensed_22.gft new file mode 100644 index 00000000..d1b2f8c3 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers Condensed_22.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers condensed bold_28.gft b/public/base/@vl2/base.vl2/fonts/Univers condensed bold_28.gft new file mode 100644 index 00000000..6f060c20 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers condensed bold_28.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers condensed_28.gft b/public/base/@vl2/base.vl2/fonts/Univers condensed_28.gft new file mode 100644 index 00000000..419f49e7 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers condensed_28.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers condensed_30.gft b/public/base/@vl2/base.vl2/fonts/Univers condensed_30.gft new file mode 100644 index 00000000..ebd729e8 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers condensed_30.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers italic_16.gft b/public/base/@vl2/base.vl2/fonts/Univers italic_16.gft new file mode 100644 index 00000000..466a5029 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers italic_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers italic_18.gft b/public/base/@vl2/base.vl2/fonts/Univers italic_18.gft new file mode 100644 index 00000000..01ab3543 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers italic_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers_12.gft b/public/base/@vl2/base.vl2/fonts/Univers_12.gft new file mode 100644 index 00000000..ebf885b1 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers_14.gft b/public/base/@vl2/base.vl2/fonts/Univers_14.gft new file mode 100644 index 00000000..a6672cff Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers_16.gft b/public/base/@vl2/base.vl2/fonts/Univers_16.gft new file mode 100644 index 00000000..8f3dcb1d Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers_18.gft b/public/base/@vl2/base.vl2/fonts/Univers_18.gft new file mode 100644 index 00000000..fd935e07 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Univers_22.gft b/public/base/@vl2/base.vl2/fonts/Univers_22.gft new file mode 100644 index 00000000..cc5320b0 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Univers_22.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Bold_12.gft b/public/base/@vl2/base.vl2/fonts/Verdana Bold_12.gft new file mode 100644 index 00000000..f79ff858 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Bold_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Bold_13.gft b/public/base/@vl2/base.vl2/fonts/Verdana Bold_13.gft new file mode 100644 index 00000000..11f7d966 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Bold_13.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Bold_14.gft b/public/base/@vl2/base.vl2/fonts/Verdana Bold_14.gft new file mode 100644 index 00000000..f2417f76 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Bold_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Bold_16.gft b/public/base/@vl2/base.vl2/fonts/Verdana Bold_16.gft new file mode 100644 index 00000000..8cf11ad4 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Bold_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Bold_24.gft b/public/base/@vl2/base.vl2/fonts/Verdana Bold_24.gft new file mode 100644 index 00000000..0da669a4 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Bold_24.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Bold_36.gft b/public/base/@vl2/base.vl2/fonts/Verdana Bold_36.gft new file mode 100644 index 00000000..218f5b14 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Bold_36.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Italic_12.gft b/public/base/@vl2/base.vl2/fonts/Verdana Italic_12.gft new file mode 100644 index 00000000..914d7423 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Italic_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Italic_13.gft b/public/base/@vl2/base.vl2/fonts/Verdana Italic_13.gft new file mode 100644 index 00000000..539b496c Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Italic_13.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Italic_14.gft b/public/base/@vl2/base.vl2/fonts/Verdana Italic_14.gft new file mode 100644 index 00000000..52a79704 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Italic_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana Italic_16.gft b/public/base/@vl2/base.vl2/fonts/Verdana Italic_16.gft new file mode 100644 index 00000000..0ca7d385 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana Italic_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana_10.gft b/public/base/@vl2/base.vl2/fonts/Verdana_10.gft new file mode 100644 index 00000000..ebd3eb5c Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana_10.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana_12.gft b/public/base/@vl2/base.vl2/fonts/Verdana_12.gft new file mode 100644 index 00000000..3497145a Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana_12.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana_13.gft b/public/base/@vl2/base.vl2/fonts/Verdana_13.gft new file mode 100644 index 00000000..fa7b5aa9 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana_13.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana_14.gft b/public/base/@vl2/base.vl2/fonts/Verdana_14.gft new file mode 100644 index 00000000..4bfa04cd Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana_14.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana_16.gft b/public/base/@vl2/base.vl2/fonts/Verdana_16.gft new file mode 100644 index 00000000..ca6162f8 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana_16.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/Verdana_18.gft b/public/base/@vl2/base.vl2/fonts/Verdana_18.gft new file mode 100644 index 00000000..59ef89a5 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/Verdana_18.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/arial bold_20.gft b/public/base/@vl2/base.vl2/fonts/arial bold_20.gft new file mode 100644 index 00000000..c92aff4c Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/arial bold_20.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/arial bold_50.gft b/public/base/@vl2/base.vl2/fonts/arial bold_50.gft new file mode 100644 index 00000000..e2d54307 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/arial bold_50.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/times_24.gft b/public/base/@vl2/base.vl2/fonts/times_24.gft new file mode 100644 index 00000000..7c7db505 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/times_24.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/times_36.gft b/public/base/@vl2/base.vl2/fonts/times_36.gft new file mode 100644 index 00000000..a33981b9 Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/times_36.gft differ diff --git a/public/base/@vl2/base.vl2/fonts/univers condensed_16.gft b/public/base/@vl2/base.vl2/fonts/univers condensed_16.gft new file mode 100644 index 00000000..c5b3b35a Binary files /dev/null and b/public/base/@vl2/base.vl2/fonts/univers condensed_16.gft differ diff --git a/public/base/@vl2/brainfreeze.vl2/missions/BrainFreeze.mis b/public/base/@vl2/brainfreeze.vl2/missions/BrainFreeze.mis new file mode 100644 index 00000000..78ab261c --- /dev/null +++ b/public/base/@vl2/brainfreeze.vl2/missions/BrainFreeze.mis @@ -0,0 +1,2072 @@ +// MissionTypes = Siege +// DisplayName = Brain Freeze + +//--- MISSION QUOTE BEGIN --- +//Protect the base and prepare to fight +//Or you will see defeat in sight +//Protect the Gens and prepare to frag +//Just hope and pray you dont get Lag +// -- Made by Kamikaze Taco and helped by Kamikaze_Raptor +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Switch located in central building +//Destroy Gens at NE and SW towers to expose gen that takes down switch's forcefields +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Team_Hunters_timeLimit = "25"; + musicTrack = "ice"; + powerCount = "0"; + Hunters_timeLimit = "25"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "-512 -488 1040 1104"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.000000 0.000000 0.000000 0.000000"; + ambient = "0.600000 0.600000 0.620000 1.000000"; + position = "-1024 -1024 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Rimehold.ter"; + squareSize = "8"; + emptySquares = "101741 101997 102253 495740 495996 496252 234636 234892 169612"; + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + coverage = "0"; + position = "0 0 0 1"; + locked = "true"; + XDimOverSize = "0"; + GraphFile = "Rimehold.nav"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-904 -1136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "0"; + fogColor = "236.000000 236.000000 236.000000 10.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-40.5663 176.976 163.964"; + rotation = "0.0650407 -0.109546 0.991852 119.013"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "352.159 495.235 197.681"; + rotation = "0.212034 -0.102424 0.97188 52.8577"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "331.01 -336.067 152.204"; + rotation = "0.124262 -0.211694 0.969404 120.718"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-451.506 478.656 167.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "388.387 -348.611 126.97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + }; + new SimGroup(Base0) { + powerCount = "0"; + + new SimGroup(NorthWest) { + powerCount = "1"; + + new InteriorInstance() { + position = "-400.034 403.323 171.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape(TeamStationInventory1) { + position = "-401.767 404.91 163.035"; + rotation = "-6.55535e-10 -6.55535e-10 -1 45.2637"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + lastDamagedBy = "3966"; + Target = "33"; + Trigger = "3958"; + inUse = "Down"; + damageTimeMS = "185768"; + lastDamagedByTeam = "1"; + notReady = "1"; + team = "2"; + }; + new Turret(TeamTurretBaseLarge1) { + position = "-400.723 402.986 180.849"; + rotation = "0 0 1 92.2462"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + Target = "34"; + originalBarrel = "MortarBarrelLarge"; + team = "2"; + }; + new Item() { + position = "-399.807 402.156 172.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "-416.524 491.461 142.303"; + rotation = "0 0 1 131.207"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-430.606 503.231 141.493"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + Target = "-1"; + inUse = "Down"; + station = "3963"; + team = "2"; + }; + new StaticShape() { + position = "-387.024 407.894 147.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + team = "2"; + }; + }; + }; + new SimGroup(SouthEast) { + powerCount = "1"; + + new StaticShape() { + position = "419.406 -335.182 108.701"; + rotation = "0 0 1 141.521"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + Target = "-1"; + station = "3968"; + team = "2"; + }; + new InteriorInstance() { + position = "407.778 -320.983 109.511"; + rotation = "-0 0 -1 37.9981"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Item() { + position = "365.166 -367.787 140.139"; + rotation = "0 0 1 228.61"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "1"; + }; + new Turret(TeamTurretBaseLarge2) { + position = "365.149 -369.023 148.057"; + rotation = "-0 0 -1 39.1436"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + Target = "38"; + originalBarrel = "MortarBarrelLarge"; + team = "2"; + }; + new StaticShape(TeamStationInventory2) { + position = "364.396 -371.079 130.243"; + rotation = "-1.26124e-10 3.33867e-10 1 183.346"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + lastDamagedBy = "3945"; + Target = "39"; + Trigger = "3974"; + damageTimeMS = "214129"; + lastDamagedByTeam = "2"; + team = "2"; + }; + new InteriorInstance() { + position = "364.441 -368.729 139.12"; + rotation = "0 0 1 228.61"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-388.635 407.931 150.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + team = "2"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "-401.767 404.91 164.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory1"; + targetClientId = "-1"; + targetObjectId = "3957"; + location = "-401.767 404.91 164.6"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-401.767 404.91 164.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory1"; + targetClientId = "-1"; + targetObjectId = "3957"; + location = "-401.767 404.91 164.6"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-400.002 403.182 182.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3959"; + location = "-400.002 403.182 182.553"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "-400.002 403.182 182.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3959"; + location = "-400.002 403.182 182.553"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "364.525 -368.611 149.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3972"; + location = "364.525 -368.611 149.761"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "364.525 -368.611 149.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3972"; + location = "364.525 -368.611 149.761"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "364.396 -371.079 131.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory2"; + targetClientId = "-1"; + targetObjectId = "3973"; + location = "364.396 -371.079 131.809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "364.396 -371.079 131.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory2"; + targetClientId = "-1"; + targetObjectId = "3973"; + location = "364.396 -371.079 131.809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-5.13562 166.476 141.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "4006"; + location = "-5.13562 166.476 141.844"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-5.13562 166.476 141.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "4006"; + location = "-5.13562 166.476 141.844"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-5.56669 168.363 145.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "4007"; + location = "-5.56669 168.363 145.291"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-5.1501 163.825 153.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team1FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "4009"; + location = "-5.1501 163.825 153.579"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-5.1501 163.825 153.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team1FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team1FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "4009"; + location = "-5.1501 163.825 153.579"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-4.7322 154.247 153.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "4018"; + location = "-4.7322 154.247 153.19"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-313.165 -434.113 145.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "4028"; + location = "-313.165 -434.113 145.878"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-385.385 -423.637 141.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "4031"; + location = "-385.385 -423.637 141.816"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-385.385 -423.637 141.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "4031"; + location = "-385.385 -423.637 141.816"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-386.842 -426.4 151.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "4032"; + location = "-386.842 -426.4 151.035"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "369.45 532.842 179.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "4038"; + location = "369.45 532.842 179.319"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "373.526 535.128 170.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1GeneratorLarge3"; + targetClientId = "-1"; + targetObjectId = "4040"; + location = "373.526 535.128 170.743"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "373.526 535.128 170.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1GeneratorLarge3"; + targetClientId = "-1"; + targetObjectId = "4040"; + location = "373.526 535.128 170.743"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "459.684 525.602 179.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "4045"; + location = "459.684 525.602 179.341"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "422.263 526.945 174.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "34"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + new SpawnSphere() { + position = "-340.91 -426.632 153.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "34"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + }; + new SimGroup(Base1) { + powerCount = "0"; + + new SimGroup(SwitchFF) { + powerCount = "1"; + + new StaticShape(Team1GeneratorLarge1) { + position = "-3.17971 166.41 140.401"; + rotation = "0 0 1 99.6947"; + scale = "1 1 1"; + nameTag = "Flag Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "41"; + WayPoint = "4102"; + team = "1"; + }; + new Turret(Team1SentryTurret1) { + position = "-5.5366 168.694 145.285"; + rotation = "1 0 0 91.1003"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "42"; + lastProjectile = "6212"; + team = "1"; + }; + new Item() { + position = "-4.8521 136.648 162.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new StaticShape(Team1FlipFlop1) { + position = "-5.1501 163.825 151.312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + Projector = "0"; + team = "1"; + }; + new PhysicalZone() { + position = "-12.1341 157.892 152.1"; + rotation = "1 0 0 0"; + scale = "0.101 12.0312 6.90755"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -0.0000000 1.0000000 -0.0000000 -1.0000000 -0.0000000"; + ffield = "4000"; + team = "2"; + }; + new ForceFieldBare() { + position = "-12.1341 157.892 152.1"; + rotation = "1 0 0 0"; + scale = "0.101 12.0312 6.90755"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + team = "1"; + }; + new PhysicalZone() { + position = "1.5134 157.745 152.264"; + rotation = "1 0 0 0"; + scale = "0.1 12.2384 6.71625"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -0.0000000 1.0000000 -0.0000000 -1.0000000 -0.0000000"; + ffield = "3998"; + team = "2"; + }; + new ForceFieldBare() { + position = "1.5134 157.745 152.264"; + rotation = "1 0 0 0"; + scale = "0.1 12.2384 6.71625"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + team = "1"; + }; + new Trigger() { + position = "-4.7322 154.247 151.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -0.0000000 2.3000000 -0.0000000 -1.5000000 -0.0000000"; + disableObj = "3996"; + mainObj = "3996"; + station = "3996"; + team = "2"; + }; + new StaticShape(Team1StationInventory1) { + position = "-4.7322 154.247 151.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + Trigger = "4019"; + inUse = "Down"; + notReady = "1"; + team = "1"; + }; + new PhysicalZone() { + position = "-7.9124 172.592 152.075"; + rotation = "1 0 0 0"; + scale = "5.60775 0.156817 6.77126"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -0.0000000 1.0000000 -0.0000000 -1.0000000 -0.0000000"; + ffield = "3994"; + team = "2"; + }; + new ForceFieldBare() { + position = "-7.9124 172.592 152.075"; + rotation = "1 0 0 0"; + scale = "5.60775 0.156817 6.77126"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + team = "1"; + }; + new InteriorInstance() { + position = "-5.08791 142.355 135.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "1"; + team = "2"; + }; + new Turret() { + position = "-4.54966 168.939 161.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "56"; + }; + new StaticShape() { + position = "-5.21971 138.597 171.984"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + }; + }; + new SimGroup(SouthWest) { + powerCount = "1"; + + new InteriorInstance() { + position = "-313.526 -433.236 153.313"; + rotation = "0 0 1 200.535"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Item() { + position = "-312.117 -432.797 156.489"; + rotation = "0 0 1 200.535"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new Trigger() { + position = "-313.165 -434.113 144.312"; + rotation = "0 0 1 200.535"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "3984"; + mainObj = "3984"; + station = "3984"; + team = "2"; + }; + new StaticShape(Team1StationInventory2) { + position = "-313.165 -434.113 144.312"; + rotation = "0 0 1 200.535"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + Trigger = "4029"; + inUse = "Down"; + notReady = "1"; + team = "1"; + }; + new Trigger() { + position = "-313.165 -434.113 144.312"; + rotation = "0 0 1 200.535"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -0.0000000 2.3000000 -0.0000000 -1.5000000 -0.0000000"; + disableObj = "3560"; + mainObj = "3560"; + station = "3560"; + team = "2"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "-385.65 -421.342 141.056"; + rotation = "-1 0 -0 18.3347"; + scale = "1 1 1"; + nameTag = "South West"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + Target = "49"; + WayPoint = "4103"; + team = "1"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-386.618 -426.56 149.195"; + rotation = "-1 0 -0 17.7618"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "50"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + }; + new InteriorInstance() { + position = "-385.59 -415.318 140.142"; + rotation = "-1 0 -0 16.6157"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "1"; + team = "2"; + }; + new ForceFieldBare() { + position = "-7.1587 153.656 140.364"; + rotation = "1 0 0 0"; + scale = "4.14571 0.1 5.85179"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + team = "1"; + }; + new PhysicalZone() { + position = "-7.1587 153.656 140.364"; + rotation = "1 0 0 0"; + scale = "4.14571 0.1 5.85179"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "3974"; + team = "2"; + }; + new StaticShape() { + position = "-313.056 -433.304 162.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + }; + }; + new SimGroup(NorthEast) { + powerCount = "1"; + + new Turret(Team1TurretBaseLarge2) { + position = "370.106 532.597 177.595"; + rotation = "-0.729759 0.677936 0.0886309 21.8595"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "52"; + originalBarrel = "MissileBarrelLarge"; + team = "1"; + }; + new Item() { + position = "459.164 524.002 189.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + new StaticShape(Team1GeneratorLarge3) { + position = "373.631 537.404 169.894"; + rotation = "-0.741521 0.665695 0.0836477 22.281"; + scale = "1 1 1"; + nameTag = "North East"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + repairedBy = "3940"; + lastDamagedBy = "3940"; + needsObjectiveWaypoint = "1"; + Target = "53"; + WayPoint = "4104"; + damageTimeMS = "82038"; + lastDamagedByTeam = "1"; + team = "1"; + }; + new InteriorInstance() { + position = "374.177 543.385 168.852"; + rotation = "-0.704102 0.703151 0.09909 21.0376"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "1"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "5973"; + mainObj = "5973"; + station = "5973"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "5003"; + mainObj = "5003"; + station = "5003"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -0.0000000 2.3000000 -0.0000000 -1.5000000 -0.0000000"; + disableObj = "3965"; + mainObj = "3965"; + station = "3965"; + team = "2"; + }; + new StaticShape(Team1StationInventory3) { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + Trigger = "4046"; + inUse = "Down"; + team = "1"; + notReady = "1"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -0.0000000 2.3000000 -0.0000000 -1.5000000 -0.0000000"; + disableObj = "5052"; + mainObj = "5052"; + station = "5052"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -0.0000000 2.3000000 -0.0000000 -1.5000000 -0.0000000"; + disableObj = "3587"; + mainObj = "3587"; + station = "3587"; + team = "2"; + }; + new InteriorInstance() { + position = "459.624 524.385 186.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "5666"; + mainObj = "5666"; + station = "5666"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "5637"; + mainObj = "5637"; + station = "5637"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "5593"; + mainObj = "5593"; + station = "5593"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "5569"; + mainObj = "5569"; + station = "5569"; + team = "2"; + }; + new Trigger() { + position = "459.684 525.602 177.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + disableObj = "3514"; + mainObj = "3514"; + station = "3514"; + team = "2"; + }; + new ForceFieldBare() { + position = "-7.19071 152.391 139.896"; + rotation = "1 0 0 0"; + scale = "4.14571 0.1 5.85179"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + team = "1"; + }; + new PhysicalZone() { + position = "-7.19071 152.391 139.896"; + rotation = "1 0 0 0"; + scale = "4.14571 0.1 5.85179"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "3974"; + team = "2"; + }; + new StaticShape() { + position = "459.628 524.534 195.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "59"; + }; + }; + new WayPoint() { + position = "-5.24888 163.668 152.601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Control Switch"; + team = "1"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "-401.767 404.91 164.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory1"; + targetClientId = "-1"; + targetObjectId = "3957"; + location = "-401.767 404.91 164.6"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-401.767 404.91 164.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory1"; + targetClientId = "-1"; + targetObjectId = "3957"; + location = "-401.767 404.91 164.6"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-400.002 403.182 182.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3959"; + location = "-400.002 403.182 182.553"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOMortarObject) { + position = "-400.002 403.182 182.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3959"; + location = "-400.002 403.182 182.553"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "364.525 -368.611 149.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3972"; + location = "364.525 -368.611 149.761"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOMortarObject) { + position = "364.525 -368.611 149.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "TeamTurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3972"; + location = "364.525 -368.611 149.761"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "364.396 -371.079 131.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory2"; + targetClientId = "-1"; + targetObjectId = "3973"; + location = "364.396 -371.079 131.809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "364.396 -371.079 131.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory2"; + targetClientId = "-1"; + targetObjectId = "3973"; + location = "364.396 -371.079 131.809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-5.13562 166.476 141.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "4006"; + location = "-5.13562 166.476 141.844"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-5.56669 168.363 145.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "4007"; + location = "-5.56669 168.363 145.291"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIODefendLocation) { + position = "-5.1501 163.825 153.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team1FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "4009"; + location = "-5.1501 163.825 153.579"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "-5.1501 163.825 153.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team1FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team1FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "4009"; + location = "-5.1501 163.825 153.579"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-4.7322 154.247 153.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "4018"; + location = "-4.7322 154.247 153.19"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-313.165 -434.113 145.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "4028"; + location = "-313.165 -434.113 145.878"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-385.385 -423.637 141.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "4031"; + location = "-385.385 -423.637 141.816"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOMortarObject) { + position = "-386.842 -426.4 151.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "4032"; + location = "-386.842 -426.4 151.035"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOMortarObject) { + position = "369.45 532.842 179.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "4038"; + location = "369.45 532.842 179.319"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "373.526 535.128 170.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1GeneratorLarge3"; + targetClientId = "-1"; + targetObjectId = "4040"; + location = "373.526 535.128 170.743"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "459.684 525.602 179.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "4045"; + location = "459.684 525.602 179.341"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new InteriorInstance() { + position = "-120.189 283.025 148.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "-72.3863 217.965 161.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup() { + powerCount = "0"; + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/brainfreeze.vl2/terrains/BrainFreeze.nav b/public/base/@vl2/brainfreeze.vl2/terrains/BrainFreeze.nav new file mode 100644 index 00000000..cf641ef2 Binary files /dev/null and b/public/base/@vl2/brainfreeze.vl2/terrains/BrainFreeze.nav differ diff --git a/public/base/@vl2/brainfreeze.vl2/terrains/BrainFreeze.spn b/public/base/@vl2/brainfreeze.vl2/terrains/BrainFreeze.spn new file mode 100644 index 00000000..61b3a7f2 Binary files /dev/null and b/public/base/@vl2/brainfreeze.vl2/terrains/BrainFreeze.spn differ diff --git a/public/base/@vl2/brokendreams_2.vl2/missions/Broken_Dreams.mis b/public/base/@vl2/brokendreams_2.vl2/missions/Broken_Dreams.mis new file mode 100644 index 00000000..2738e90a --- /dev/null +++ b/public/base/@vl2/brokendreams_2.vl2/missions/Broken_Dreams.mis @@ -0,0 +1,6521 @@ +// DisplayName = Broken Dreams +// MissionTypes = Hunters TeamHunters Bounty DM CTF CnH Rabbit Siege + +//--- MISSION QUOTE BEGIN --- +//We used to dream about going back. +//Finding out the dream is a nightmare... I wouldn't wish that on my worst enemy. +//Except the ones behind the destruction. +// Who did this to our home? +// -- Unknown StarWolf soldier +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]5000 points to win. +//[CnH]Inferno has one less objective than shown. Will not affect gameplay. +//[CTF]500 points to win. +//[CTF]Destroy ForceField Generators to ease flag capture. +//[DM Hunters TeamHunters Rabbit Bounty]Some Inventory Stations are not accessable. +//[Siege]Attackers must repair their base first. +//[Siege]After that, disable generators in waypointed order. +//[Hunters]Flags tend to pool in the low areas of the map. +//[Hunters]Nexus is in center of mission area. +//[Rabbit]Flag is in center of mission area. +//[Rabbit]Ignore redunant flag markers to either side of center. +//[DM]20 kills to win. +//[DM Rabbit Hunters Bounty]Can't use some Inventory Stations. Check Command Circuit. +//Caches aid rearming, and contain the disallowed Mortar. +//--- MISSION STRING END --- + +//Ban the Mortar from the map +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +//CleverClothe gets the thanks here.. I peeked at his .MIS file. +//I knew how to ban the whole gamut of weapons using a loop.. +//But I didn't know how to do individual items. +$InvBanList[$CurrentMissionType, "Mortar"] = 1; +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+= + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "1"; + DM_scoreLimit = "20"; + CTF_scoreLimit = "5"; + powerCount = "0"; + CnH_scoreLimit = "5000"; + + new MissionArea(MissionArea) { + area = "-712 -872 1152 1136"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new SimGroup(Ambience) { + powerCount = "0"; + + new SimGroup(Sounds) { + powerCount = "0"; + + new AudioEmitter(GlobalWind) { + position = "-602.896 -239.553 353.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Howl1) { + position = "-599.172 -563.776 229.389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.01"; + isLooping = "1"; + is3D = "1"; + minDistance = "325"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(BodyGrowl) { + position = "-204.052 195.76 79.3673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/growl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "5.5"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "35000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Wind) { + position = "-509.95 215.856 189.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Wind) { + position = "110.094 213.839 190.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "125"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Wind) { + position = "321.584 -660.995 173.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "175"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Wind) { + position = "-429.39 -693.895 175.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "250"; + maxDistance = "400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Howl2) { + position = "129.503 -416.421 243.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.75"; + isLooping = "1"; + is3D = "1"; + minDistance = "175"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "25000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Howl3) { + position = "-285.119 -135.516 169.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.7"; + isLooping = "1"; + is3D = "1"; + minDistance = "225"; + maxDistance = "600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(BaseWhispering) { + position = "-353.998 -531.987 82.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "55"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(BaseWhispering) { + position = "247.875 -102.36 60.6315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "55"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(Visuals) { + powerCount = "0"; + + new StaticShape() { + position = "-205.218 195.633 77.2942"; + rotation = "-0.880251 -0.473507 -0.0308214 8.4585"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "-217.282 198.707 75.2559"; + rotation = "-0.103225 -0.0769917 0.991674 207.259"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + locked = "true"; + }; + new StaticShape() { + position = "-415.926 -239.176 76.4968"; + rotation = "-0.606255 0.793591 -0.0516562 12.2565"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "280.889 -69.3907 79.7966"; + rotation = "-0.954372 0.297667 -0.0238643 9.60375"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "283.714 -69.9407 85.3629"; + rotation = "0.408561 -0.063839 -0.910496 19.4757"; + scale = "0.791847 0.639489 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "281.68 -413.824 74.7247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + locked = "true"; + }; + new StaticShape() { + position = "282.289 -424.228 76.8741"; + rotation = "-0.00505715 0.999187 -0.0399888 165.596"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "283.688 -410.111 76.3208"; + rotation = "0.299238 0.0604536 0.952262 176.758"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "279.441 -420.077 76.6224"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "288.297 -415.759 76.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "47.9585 83.3087 71.6181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-393.469 -336.572 76.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-504.882 -163.061 59.756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-601.023 24.9781 66.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-423.034 146.844 42.0959"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-205.093 215.541 53.6597"; + rotation = "0 1 0 5.15661"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-63.2283 88.1122 51.1427"; + rotation = "0.540003 -0.840811 0.0378621 9.53365"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-8.1747 217.033 170.039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "103.354 157.473 142.584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "161.868 54.7893 98.6659"; + rotation = "-1 0 0 5.72983"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "79.0551 -148.162 140.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-2.31753 -346.413 134.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "38.2932 -414.617 191.527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "118.036 -604.14 107.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "128.227 -627.018 94.5042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "269.002 -701.459 192.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "372.013 -735.786 182.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-87.218 -735.2 158.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-524.169 -524.458 189.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-323.254 -483.525 98.1876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-147.002 -469.847 74.2065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-281.67 -332.749 76.2628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-137.825 -250.618 67.6876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-18.8406 -124.518 70.225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-614.742 -224.879 355.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.630000 0.690000 0.630000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.1"; + maxVelocity = "0.6"; + maxNumDrops = "350"; + maxRadius = "200"; + locked = "true"; + }; + }; + new SimGroup(lighting) { + powerCount = "0"; + + new Lightning(AmbientStorm) { + position = "3.83264 -252.181 466.997"; + rotation = "1 0 0 0"; + scale = "1823.68 2008.97 389.301"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "1"; + strikeWidth = "5"; + chanceToHitTarget = "0.95"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "0.900000 0.900000 0.900000 1.000000"; + fadeColor = "0.000000 0.000000 0.000000 1.000000"; + useFog = "0"; + locked = "true"; + }; + new Lightning(MissionStorm) { + position = "-117.768 -387.028 431.014"; + rotation = "1 0 0 0"; + scale = "894.371 1065 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "3"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.95"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; + }; + }; + new Sky(Sky) { + position = "312 368 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0003"; + cloudSpeed2 = "0.0005"; + cloudSpeed3 = "0.0007"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.165000 0.190000 0.220000 0.000000"; + fogDistance = "600"; + fogColor = "0.220000 0.227000 0.220000 1.000000"; + fogVolume1 = "40 0 90"; + fogVolume2 = "60 90 130"; + fogVolume3 = "170 130 150"; + materialList = "ice_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 1.35096e-34"; + high_fogVolume2 = "-1 2.15908e-34 2.46109e-38"; + high_fogVolume3 = "-1 2.73253e-43 3.91291e-38"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "312 368 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "-0.909657 0.0101994 -0.415234"; + color = "0.200000 0.213500 0.205000 1.000000"; + ambient = "0.120000 0.125000 0.110000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "Katabatic.ter"; + squareSize = "8"; + emptySquares = "277586 343378 212563 212819 225436 356763 422555 422811 357532"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "Katabatic.nav"; + rotation = "0 0 0 0"; + position = "0 0 0 1"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(ObserverMiddle) { + position = "-218.654 -338.884 278.185"; + rotation = "-0.0772654 -0.704712 0.705274 188.843"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Rabbit Hunters TeamHunters Bounty CnH DM"; + locked = "true"; + }; + new Camera(ObserverT2B0) { + position = "-266.4 5.10799 249.639"; + rotation = "-0.0190859 -0.174076 0.984547 192.322"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF Siege CnH"; + locked = "true"; + }; + new Camera(ObserverT1B0) { + position = "69.4721 -644.981 195.515"; + rotation = "0.287628 0.154312 -0.945229 59.1573"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF Siege CnH"; + locked = "true"; + }; + new Camera(ObserverT2B1) { + position = "230.381 -74.2914 116.361"; + rotation = "0.0600414 -0.294987 0.953613 158.031"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Siege"; + locked = "true"; + }; + new Camera(ObserverT1B1) { + position = "-337.842 -485.655 117.418"; + rotation = "0.060042 -0.294987 0.953613 158.031"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Siege"; + locked = "true"; + }; + new Camera(ObserverCnHLow) { + position = "233.714 -467.55 156.495"; + rotation = "0.348073 -0.179109 0.920199 58.4275"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + new Camera(ObserverCnHHigh) { + position = "-240.158 -654.107 290.144"; + rotation = "0.060042 -0.294987 0.953613 158.031"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere(Team1SS) { + position = "27.9231 -609.602 136.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + missionTypesList = "CTF TeamHunters Bounty"; + locked = "true"; + }; + new SpawnSphere() { + position = "36.0494 -278.331 169.782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "60"; + indoorWeight = "100"; + outdoorWeight = "100"; + missionTypesList = "Hunters TeamHunters Rabbit DM CnH Bounty"; + locked = "true"; + }; + new SpawnSphere() { + position = "-265.059 -340.457 82.6582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "80"; + indoorWeight = "100"; + outdoorWeight = "100"; + missionTypesList = "Hunters TeamHunters Rabbit CnH DM Bounty CnH"; + locked = "true"; + }; + new SpawnSphere(SiegeAttackersStart) { + position = "-521.392 -522.401 194.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "1"; + indoorWeight = "100"; + outdoorWeight = "100"; + missionTypesList = "Hunters TeamHunters Rabbit DM CnH Bounty Siege"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new SimGroup(Structures) { + powerCount = "1"; + + new InteriorInstance(Team1MainBase) { + position = "29.9556 -613.612 78.0921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new SimGroup(BaseCollar) { + powerCount = "1"; + + new InteriorInstance() { + position = "10.624 -613.636 118.945"; + rotation = "0 0 1 179.908"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "49.1958 -613.672 118.967"; + rotation = "0 0 1 179.908"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "29.9068 -594.368 118.958"; + rotation = "0 0 -1 90.1376"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "29.8904 -632.91 118.949"; + rotation = "0 0 -1 90.1376"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-241.47 -183.383 166.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-241.565 -183.128 159.278"; + rotation = "1 0 0 0"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + }; + new StaticShape(MainGenerator1) { + position = "17.6221 -603.334 148.06"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + missionTypesList = "CTF Siege"; + Target = "33"; + team = "1"; + locked = "true"; + repairedBy = "34206"; + }; + new SimGroup(Assets) { + powerCount = "1"; + + new StaticShape(Team1StationInventory1) { + position = "41.1853 -625.087 148.069"; + rotation = "0 0 1 119.748"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + Trigger = "12002"; + Target = "34"; + team = "1"; + locked = "true"; + repairedBy = "4356"; + }; + new StaticShape(Team1StationInventory2) { + position = "18.4435 -625.06 148.095"; + rotation = "0 0 1 220.589"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + Trigger = "12004"; + Target = "35"; + team = "1"; + locked = "true"; + repairedBy = "4334"; + }; + new Turret(BaseTurret1) { + position = "-26.7287 -615.575 142.012"; + rotation = "-0 0 -1 66.6454"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + name = "Main"; + missionTypesList = "CTF Siege"; + Target = "36"; + team = "1"; + lastProjectile = "9039"; + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape(MainSensor) { + position = "-41.2967 -468.463 143.32"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + missionTypesList = "CTF Siege"; + Target = "37"; + team = "1"; + locked = "true"; + }; + new Item(SiegeRepairPack) { + position = "29.556 -717.879 140.565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + missionTypesList = "Siege"; + Target = "-1"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(FlagGroup) { + powerCount = "1"; + + new StaticShape(FlagStand) { + position = "30.1702 -613.603 138.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + Target = "-1"; + team = "1"; + locked = "true"; + }; + new Item(ActualFlag) { + position = "30.1804 -613.523 138.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + WayPoint = "12432"; + missionTypesList = "CTF"; + originalPosition = "30.1804 -613.523 138.385 1 0 0 0"; + Target = "38"; + team = "1"; + isHome = "1"; + locked = "true"; + className = "FlagObj"; + }; + }; + }; + new SimGroup(Waypoints) { + powerCount = "0"; + + new WayPoint(Team1Base1) { + position = "-348.567 -529.092 85.6127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "ForceField Base"; + team = "1"; + missionTypesList = "CTF TeamHunters"; + locked = "true"; + }; + }; + new SimGroup(MiddleTurrets) { + providesPower = "1"; + powerCount = "1"; + + new Turret(CenterTurret1) { + position = "-203.539 -439.057 89.9086"; + rotation = "1 0 0 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + name = "Center"; + missionTypesList = "CTF"; + Target = "39"; + team = "1"; + locked = "true"; + }; + new Turret(CenterTurret2) { + position = "-199.712 -435.425 90.0277"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + name = "Center"; + missionTypesList = "CTF"; + Target = "40"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "-359.522 -581.17 57.7161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1Base1Gen"; + targetClientId = "-1"; + targetObjectId = "4517"; + location = "-359.522 -581.17 57.7161"; + weightLevel1 = "5200"; + weightLevel2 = "3600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + equipment = "RepairPack"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "4674"; + team = "1"; + isInvalid = "0"; + gameType = "Siege CTF"; + }; + new AIObjective(AIOAttackObject) { + position = "238.03 -88.4069 56.2966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "SecondSiegeGen"; + targetClientId = "-1"; + targetObjectId = "4676"; + location = "238.03 -88.4069 56.2966"; + weightLevel1 = "4400"; + weightLevel2 = "3300"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + clientLevel2 = "4334"; + team = "1"; + clientLevel1 = "4346"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIOTouchObject) { + position = "-239.966 -350.477 228.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "RabbitFlag"; + targetClientId = "-1"; + targetObjectId = "4690"; + location = "-239.966 -350.477 228.366"; + weightLevel1 = "6850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "4557"; + team = "1"; + isInvalid = "0"; + gameType = "Rabbit"; + }; + new AIObjective(AIOTouchObject) { + position = "-239.966 -350.477 228.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "RabbitFlag"; + targetClientId = "-1"; + targetObjectId = "4690"; + location = "-239.966 -350.477 228.366"; + weightLevel1 = "6000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "4557"; + team = "1"; + isInvalid = "0"; + gameType = "Rabbit"; + }; + new AIObjective(AIOTouchObject) { + position = "-239.966 -350.477 228.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "RabbitFlag"; + targetClientId = "-1"; + targetObjectId = "4690"; + location = "-239.966 -350.477 228.366"; + weightLevel1 = "6001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "4557"; + team = "1"; + isInvalid = "0"; + gameType = "Rabbit"; + }; + new AIObjective(AIOMortarObject) { + position = "-241.188 -183.122 169.886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "BaseTurret"; + targetClientId = "-1"; + targetObjectId = "12116"; + location = "-241.188 -183.122 169.886"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackObject) { + position = "254.378 -85.0003 56.8008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2FFGen"; + targetClientId = "-1"; + targetObjectId = "12218"; + location = "254.378 -85.0003 56.8008"; + weightLevel1 = "4000"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-273.374 -54.3823 194.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the SiegeFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "SiegeFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4631"; + location = "-273.374 -54.3823 194.417"; + weightLevel1 = "2200"; + weightLevel2 = "2000"; + weightLevel3 = "1500"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + clientLevel1 = "4350"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIOTouchObject) { + position = "-273.374 -54.3823 194.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the SiegeFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "SiegeFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4631"; + location = "-273.374 -54.3823 194.417"; + weightLevel1 = "2200"; + weightLevel2 = "2000"; + weightLevel3 = "1500"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + clientLevel1 = "4358"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIOTouchObject) { + position = "-273.374 -54.3823 194.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the SiegeFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "SiegeFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4631"; + location = "-273.374 -54.3823 194.417"; + weightLevel1 = "2200"; + weightLevel2 = "2000"; + weightLevel3 = "1500"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyShieldDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + clientLevel1 = "4362"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIORepairObject) { + position = "17.3543 -601.395 149.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "MainGenerator1"; + targetClientId = "-1"; + targetObjectId = "8529"; + location = "17.3543 -601.395 149.503"; + weightLevel1 = "5200"; + weightLevel2 = "3600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + chat = "ChatSelfRepair"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF Siege"; + }; + new AIObjective(AIODefendLocation) { + position = "17.3543 -613.195 149.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "MainGenerator"; + targetClientId = "-1"; + targetObjectId = "12122"; + location = "17.3543 -613.195 149.503"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIODefendLocation) { + position = "30.1804 -613.523 139.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "30.1804 -613.523 139.617"; + weightLevel1 = "1800"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "30.1804 -613.523 139.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "30.1804 -613.523 139.617"; + weightLevel1 = "6001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "18.4435 -625.06 149.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "12003"; + location = "18.4435 -625.06 149.661"; + weightLevel1 = "3100"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + chat = "ChatSelfRepair"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-27.4724 -615.498 143.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "BaseTurret"; + targetClientId = "-1"; + targetObjectId = "4579"; + location = "-27.4724 -615.498 143.716"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "4524"; + team = "1"; + isInvalid = "0"; + gameType = "CTF Siege"; + }; + new AIObjective(AIORepairObject) { + position = "-344.446 -548.842 61.6162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1FFGen"; + targetClientId = "-1"; + targetObjectId = "12069"; + location = "-344.446 -548.842 61.6162"; + weightLevel1 = "5200"; + weightLevel2 = "4600"; + weightLevel3 = "200"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackObject) { + position = "-351.879 -566.087 73.7466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "12106"; + location = "-351.879 -566.087 73.7466"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-344.603 -578.178 56.7963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "12107"; + location = "-344.603 -578.178 56.7963"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-344.446 -548.842 61.6162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1FFGen"; + targetClientId = "-1"; + targetObjectId = "12069"; + location = "-344.446 -548.842 61.6162"; + weightLevel1 = "3100"; + weightLevel2 = "1800"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackPlayer) { + position = "30.1804 -613.523 139.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "30.1804 -613.523 139.617"; + weightLevel1 = "4800"; + weightLevel2 = "4800"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "273.239 -418.92 88.1692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the LowFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "LowFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4712"; + location = "273.239 -418.92 88.1692"; + weightLevel1 = "3850"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIODefendLocation) { + position = "30.2078 -613.501 125.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Base2FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4696"; + location = "30.2078 -613.501 125.364"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-216.877 -691.348 270.323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the HighFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "HighFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4707"; + location = "-216.877 -691.348 270.323"; + weightLevel1 = "3850"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "30.2078 -613.501 125.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Base2FlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "Base2FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4696"; + location = "30.2078 -613.501 125.364"; + weightLevel1 = "3850"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-239.985 -350.472 228.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the CenterFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "CenterFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4703"; + location = "-239.985 -350.472 228.57"; + weightLevel1 = "3850"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIODefendLocation) { + position = "-239.985 -350.472 228.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "CenterFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4703"; + location = "-239.985 -350.472 228.57"; + weightLevel1 = "3900"; + weightLevel2 = "500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-264.699 -56.7215 179.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Base1FlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "Base1FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4700"; + location = "-264.699 -56.7215 179.499"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIODefendLocation) { + position = "-264.699 -56.7215 179.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Base1FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4700"; + location = "-264.699 -56.7215 179.499"; + weightLevel1 = "3900"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-264.945 -57.1073 192.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "-264.945 -57.1073 192.86"; + weightLevel1 = "6001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-264.945 -57.1073 192.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "-264.945 -57.1073 192.86"; + weightLevel1 = "6000"; + weightLevel2 = "4000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-264.945 -57.1073 192.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "-264.945 -57.1073 192.86"; + weightLevel1 = "6850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "1"; + isInvalid = "0"; + gameType = "CTF"; + }; + new SimGroup(MyObjectiveSet) { + clientLevel1 = "4352"; + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "18.5956 -602.438 159.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend Base with Sniper"; + targetObject = "Team2MainBase"; + targetClientId = "-1"; + targetObjectId = "12128"; + location = "18.5956 -602.438 159.586"; + weightLevel1 = "3000"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "SniperRifle"; + buyEquipmentSet = "LightEnergySniper"; + chat = "ChatSelfDefend"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-275.207 -44.7128 148.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack as Assasian"; + targetObject = "Team1MainBase"; + targetClientId = "-1"; + targetObjectId = "11991"; + location = "-275.207 -44.7128 148.735"; + weightLevel1 = "3000"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "CloakPack ShockLance"; + desiredEquipment = "CloackPack ShockLance Chaingun ChaingunAmmo Blaster TargetingLaser RepairKit FlashGrenade Mine"; + chat = "ChatSelfAttack"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "11.4284 -521.701 118.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "11.4284 -521.701 118.924"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "39.112 -598.444 138.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "39.112 -598.444 138.673"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-58.6283 -562.069 80.5566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-58.6283 -562.069 80.5566"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-279.65 -478.853 103.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-279.65 -478.853 103.038"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-344.571 -530.402 85.5795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-344.571 -530.402 85.5795"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-391.467 -552.798 86.8993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-391.467 -552.798 86.8993"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12050"; + missionTypesList = "CTF"; + team = "1"; + isInvalid = "0"; + }; + }; + new AIObjective(AIOAttackObject) { + position = "-216.319 -691.775 270.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "FirstSiegeGen"; + targetClientId = "-1"; + targetObjectId = "4744"; + location = "-216.319 -691.775 270.645"; + weightLevel1 = "4400"; + weightLevel2 = "2300"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "MediumEnergySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + clientLevel2 = "4338"; + team = "1"; + clientLevel1 = "4354"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIORepairObject) { + position = "41.1853 -625.087 149.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "12001"; + location = "41.1853 -625.087 149.635"; + weightLevel1 = "3100"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + chat = "ChatSelfRepair"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "1"; + isInvalid = "0"; + }; + }; + new SimGroup(SeigeWaypoints) { + powerCount = "0"; + + new WayPoint(OmegaMark) { + position = "-271.593 -55.6229 215.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Omega - Capture Base"; + team = "1"; + missionTypesList = "Siege"; + locked = "true"; + }; + new WayPoint(StagingPoint) { + position = "-520.254 -521.643 194.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Omicron - Staging Point"; + team = "1"; + missionTypesList = "Siege"; + locked = "true"; + }; + new WayPoint(GammaMark) { + position = "237.899 -88.622 56.1972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Gamma - Destroy Generator"; + team = "1"; + missionTypesList = "Siege"; + locked = "true"; + }; + new WayPoint(AlphaMark) { + position = "17.4962 -601.252 149.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Alpha - Repair Base"; + team = "1"; + missionTypesList = "Siege"; + locked = "true"; + }; + new WayPoint(BetaMark) { + position = "-216.203 -691.324 270.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Beta - Destroy Generator"; + team = "1"; + missionTypesList = "Siege"; + locked = "true"; + }; + }; + new SimGroup(Base1) { + powerCount = "0"; + + new SimGroup(Forcefields) { + powerCount = "1"; + + new StaticShape(Team1FFGen) { + position = "-344.065 -550.717 60.1154"; + rotation = "0.000462156 -0.0150019 0.999887 176.471"; + scale = "1 1 1"; + nameTag = "ForceField"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + wasDisabled = "0"; + name = "ForceField"; + missionTypesList = "CTF"; + Target = "41"; + team = "1"; + locked = "true"; + repairedBy = "4340"; + }; + new ForceFieldBare() { + position = "41.8885 -634.574 139.9"; + rotation = "-0.000115087 0.144493 0.989506 179.91"; + scale = "24.1282 0.1 6.04818"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + team = "1"; + locked = "true"; + }; + new ForceFieldBare() { + position = "50.9119 -625.604 140.052"; + rotation = "0.156968 0.157343 -0.974989 91.5879"; + scale = "24.1282 0.1 6.57484"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + team = "1"; + locked = "true"; + }; + new ForceFieldBare() { + position = "8.83143 -601.499 140.075"; + rotation = "0.157456 -0.157331 0.974913 91.41"; + scale = "24.1282 0.1 6.62236"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + team = "1"; + locked = "true"; + }; + new ForceFieldBare(MoonroofFF) { + position = "24.0893 -617.397 159.88"; + rotation = "1 0 0 0"; + scale = "7.66683 8.98676 0.210138"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF TeamHunters"; + Target = "45"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Structures) { + powerCount = "0"; + + new InteriorInstance(Outpost) { + position = "-346.893 -575.688 77.8044"; + rotation = "0.0363941 -0.0488804 0.998141 176.117"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new SimGroup(Wreckage) { + powerCount = "0"; + + new InteriorInstance() { + position = "-345.936 -553.127 64.3658"; + rotation = "-0.101718 -0.056336 0.993217 215.395"; + scale = "0.233635 0.542386 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-363.128 -517.446 87.7246"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-344.723 -544.445 59.2448"; + rotation = "0.0199978 0.000616051 0.9998 176.472"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-362.915 -548.56 60.6842"; + rotation = "0.0256032 0.109742 0.99363 206.103"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-353.761 -527.867 63.0891"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-357.301 -542.383 60.9484"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-354.9 -547.236 67.8951"; + rotation = "0 0 1 176.471"; + scale = "0.681088 0.403698 0.496752"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-352.634 -536.649 69.8225"; + rotation = "0 0 1 176.471"; + scale = "0.681088 0.403698 0.496752"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-358.369 -574.66 56.6466"; + rotation = "0.0211066 -0.685136 0.72811 177.43"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-359.162 -569.884 57.3251"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-357.009 -517.324 80.499"; + rotation = "0 0 -1 95.2935"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-358.27 -515.255 79.7368"; + rotation = "0 0 -1 95.2935"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-356.025 -515.96 82.3585"; + rotation = "-0.476341 0.879046 -0.0194442 175.89"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-361.379 -535.846 85.1455"; + rotation = "-0.189462 -0.209592 0.959258 86.6002"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-298.401 -532.457 91.3696"; + rotation = "0 0 1 151.261"; + scale = "1.30309 1.36672 1.16977"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-338.235 -517.49 91.6595"; + rotation = "-0.302241 0.0098171 0.953181 215.944"; + scale = "0.233635 0.36212 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-341.62 -527.107 84.6845"; + rotation = "-0.180702 0.983407 -0.0160231 30.6193"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-348.99 -524.013 94.6151"; + rotation = "0.147889 -0.0555318 0.987444 132.318"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-355.895 -525.893 94.035"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-350.846 -537.166 92.9487"; + rotation = "0.015305 -0.496822 0.867718 176.938"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-350.754 -529.579 94.1857"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-322.235 -517.217 90.456"; + rotation = "-0.910748 0.216509 0.351656 114.295"; + scale = "1 0.93047 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-358.162 -518.224 88.51"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + }; + }; + new SimGroup(Assets) { + powerCount = "1"; + + new Turret(Team1SentryTurret1) { + position = "-351.883 -566.097 74.0788"; + rotation = "-0.0536261 0.0628311 -0.996582 93.8158"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + name = "Outpost"; + Target = "46"; + team = "1"; + lastProjectile = "27036"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-344.721 -578.044 55.2406"; + rotation = "0.0363425 -0.0439023 0.998375 176.554"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost"; + Trigger = "12108"; + Target = "47"; + team = "1"; + locked = "true"; + }; + new StaticShape(Team1Base1Gen) { + position = "-359.966 -579.264 56.2728"; + rotation = "0 0 -1 5.33893"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost"; + missionTypesList = "Siege CTF"; + Target = "48"; + team = "1"; + locked = "true"; + repairedBy = "4334"; + }; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere(Team1SS) { + position = "-266.626 -63.8799 186.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + missionTypesList = "CTF TeamHunters Siege"; + locked = "true"; + }; + new SpawnSphere() { + position = "-22.8612 -17.107 91.2397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "80"; + indoorWeight = "100"; + outdoorWeight = "100"; + missionTypesList = "Hunters TeamHunters Rabbit CnH"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new SimGroup(Assets) { + powerCount = "1"; + + new Turret(BaseTurret) { + position = "-241.42 -182.411 168.182"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + damageTimeMS = "1391218"; + name = "Main"; + missionTypesList = "CTF Siege"; + Target = "49"; + team = "2"; + lastProjectile = "14135"; + lastDamagedByTeam = "2"; + locked = "true"; + lastDamagedBy = "12116"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape(Team2StationInventory3) { + position = "-253.437 -50.8006 202.113"; + rotation = "0 0 1 69.3277"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + Trigger = "12118"; + Target = "50"; + team = "2"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "-283.309 -63.8181 202.135"; + rotation = "0 0 -1 114.201"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + Trigger = "12120"; + Target = "51"; + team = "2"; + locked = "true"; + }; + new StaticShape(MainSensor) { + position = "-216.43 -256.005 121.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "1494171"; + name = "Main"; + missionTypesList = "CTF"; + Target = "52"; + team = "2"; + lastDamagedByTeam = "2"; + locked = "true"; + lastDamagedBy = "11913"; + }; + }; + new StaticShape(MainGenerator) { + position = "-276.114 -43.2517 202.1"; + rotation = "0 0 1 205.119"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Main"; + missionTypesList = "CTF"; + Target = "53"; + team = "2"; + locked = "true"; + }; + new SimGroup(FlagGroup) { + powerCount = "1"; + + new Item(ActualFlag) { + position = "-268.603 -57.2096 193.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "1"; + WayPoint = "12433"; + missionTypesList = "CTF"; + originalPosition = "-268.603 -57.2096 193.047 1 0 0 0"; + Target = "54"; + team = "2"; + isHome = "1"; + locked = "true"; + className = "FlagObj"; + }; + new StaticShape(FlagStand) { + position = "-268.63 -57.2692 192.767"; + rotation = "0 0 1 76.2034"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + Target = "-1"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(Structures) { + powerCount = "1"; + + new InteriorInstance(Team2MainBase) { + position = "-268.513 -57.2419 132.145"; + rotation = "0 0 1 21.1994"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new SimGroup(BaseCollar) { + powerCount = "1"; + + new InteriorInstance() { + position = "-261.594 -39.5066 173.166"; + rotation = "0 0 1 111.153"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-275.429 -75.2523 173.129"; + rotation = "0 0 1 111.153"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-286.47 -50.3371 173.156"; + rotation = "0 0 1 201.107"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-251.461 -63.8776 173.156"; + rotation = "0 0 1 201.107"; + scale = "1.33947 0.601782 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(TurretTower) { + powerCount = "1"; + + new InteriorInstance() { + position = "-27.2456 -615.187 76.51"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 2.17227"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.5962 -615.133 140.688"; + rotation = "0 0 1 114.019"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.3246 -615.15 133.108"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.3036 -615.144 125.211"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.3214 -615.139 117.35"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.3361 -615.128 109.509"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.3115 -615.143 101.617"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-27.2744 -615.135 93.7794"; + rotation = "0 0 1 114.019"; + scale = "1.1025 1.15207 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + }; + }; + new StaticShape(SiegeFlipFlop) { + position = "-268.574 -56.9823 192.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Command Base"; + missionTypesList = "Siege"; + Target = "55"; + team = "2"; + Projector = "0"; + needsobjective = "1"; + locked = "true"; + }; + }; + new SimGroup(Waypoints) { + powerCount = "0"; + + new WayPoint(Team2Base1) { + position = "239.988 -111.125 80.3622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "ForceField Base"; + team = "2"; + missionTypesList = "CTF TeamHunters"; + locked = "true"; + }; + }; + new SimGroup(MiddleTurrets) { + providesPower = "1"; + powerCount = "1"; + + new Turret(MiddleTurret3) { + position = "-207.626 -435.271 89.8624"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + missionTypesList = "CTF"; + main = "Center"; + Target = "56"; + team = "2"; + lastProjectile = "14013"; + locked = "true"; + }; + new Turret(MiddleTurret4) { + position = "-203.398 -431.114 89.9637"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + nameTag = "Center"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + name = "Center"; + missionTypesList = "CTF"; + Target = "57"; + team = "2"; + lastProjectile = "14038"; + locked = "true"; + }; + }; + new SimGroup(SiegeTower) { + powerCount = "0"; + + new ForceFieldBare() { + position = "-221.517 -696.23 269.154"; + rotation = "0 0 1 89.9544"; + scale = "1.97726 11.9772 9.01979"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-223.451 -698.2 269.115"; + rotation = "1 0 0 0"; + scale = "1.97726 11.9772 9.01979"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "59"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-211.47 -696.21 269.157"; + rotation = "1 0 0 0"; + scale = "1.97726 11.9772 9.01979"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "60"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-223.451 -684.227 269.112"; + rotation = "0 0 1 89.9544"; + scale = "1.97726 11.9772 9.01979"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "61"; + team = "2"; + locked = "true"; + }; + new SimGroup(SiegeTowerFF) { + powerCount = "0"; + + new ForceFieldBare() { + position = "230.404 -115.074 87.576"; + rotation = "0 1 0 93.3923"; + scale = "5.73405 10.9223 0.686375"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "62"; + team = "2"; + }; + new ForceFieldBare() { + position = "254.707 -114.991 91.8553"; + rotation = "-0.024704 0.99878 -0.0427509 136.411"; + scale = "5.68928 11.1827 0.686375"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "63"; + team = "2"; + }; + new ForceFieldBare() { + position = "222.678 -115.393 78.4403"; + rotation = "0 1 0 6.30252"; + scale = "1 9.16759 7.99828"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "64"; + team = "2"; + locked = "true"; + }; + new StaticShape(FirstSiegeGen) { + position = "-216.407 -689.439 268.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Beta"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + wasDisabled = "1"; + name = "Beta"; + missionTypesList = "Siege"; + Target = "65"; + team = "2"; + locked = "true"; + }; + }; + new StaticShape(NeededGen) { + position = "-204.488 -679.883 286.249"; + rotation = "1 0 0 0"; + scale = "0.289398 0.23397 0.173922"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + wasDisabled = "1"; + missionTypesList = "nothing"; + Target = "66"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "240.079 -60.4126 51.5266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "12227"; + location = "240.079 -60.4126 51.5266"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-253.437 -50.8006 203.679"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "12117"; + location = "-253.437 -50.8006 203.679"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-283.309 -63.8181 203.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "12119"; + location = "-283.309 -63.8181 203.701"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "246.597 -72.9283 68.4769"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "12230"; + location = "246.597 -72.9283 68.4769"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "238.03 -88.4069 56.2966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "SecondSiegeGen"; + targetClientId = "-1"; + targetObjectId = "4676"; + location = "238.03 -88.4069 56.2966"; + weightLevel1 = "4100"; + weightLevel2 = "3100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + clientLevel2 = "4348"; + team = "2"; + clientLevel1 = "4336"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIODefendLocation) { + position = "-273.374 -54.3823 194.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "SiegeFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4631"; + location = "-273.374 -54.3823 194.417"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + clientLevel2 = "4332"; + team = "2"; + clientLevel1 = "4340"; + isInvalid = "0"; + clientLevel3 = "4360"; + gameType = "Siege"; + }; + new AIObjective(AIOTouchObject) { + position = "-268.574 -56.9823 194.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the SiegeFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "SiegeFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4631"; + location = "-268.574 -56.9823 194.417"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "Siege"; + }; + new AIObjective(AIODefendLocation) { + position = "30.2078 -613.501 125.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Base2FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4696"; + location = "30.2078 -613.501 125.364"; + weightLevel1 = "3900"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "30.2078 -613.501 125.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Base2FlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "Base2FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4696"; + location = "30.2078 -613.501 125.364"; + weightLevel1 = "3850"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIODefendLocation) { + position = "-268.499 -56.7215 179.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Base1FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4700"; + location = "-268.499 -56.7215 179.499"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-268.499 -56.7215 179.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Base1FlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "Base1FlipFlop"; + targetClientId = "-1"; + targetObjectId = "4700"; + location = "-268.499 -56.7215 179.499"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIODefendLocation) { + position = "-239.985 -350.472 228.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "CenterFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4703"; + location = "-239.985 -350.472 228.57"; + weightLevel1 = "3900"; + weightLevel2 = "500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-239.985 -350.472 228.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the CenterFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "CenterFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4703"; + location = "-239.985 -350.472 228.57"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "273.239 -418.92 88.1692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the LowFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "LowFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4712"; + location = "273.239 -418.92 88.1692"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOTouchObject) { + position = "-216.877 -691.348 270.323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the HighFlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "HighFlipFlop"; + targetClientId = "-1"; + targetObjectId = "4707"; + location = "-216.877 -691.348 270.323"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CnH"; + }; + new AIObjective(AIOMortarObject) { + position = "-27.4724 -615.498 143.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "BaseTurret"; + targetClientId = "-1"; + targetObjectId = "12116"; + location = "-27.4724 -615.498 143.716"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "30.1804 -613.523 139.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "30.1804 -613.523 139.617"; + weightLevel1 = "6850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "30.1804 -613.523 139.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "30.1804 -613.523 139.617"; + weightLevel1 = "6000"; + weightLevel2 = "4000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "30.1794 -613.557 139.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "30.1794 -613.557 139.617"; + weightLevel1 = "6001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-268.603 -57.2096 194.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "-268.603 -57.2096 194.282"; + weightLevel1 = "6001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-268.603 -57.2096 194.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "-268.603 -57.2096 194.282"; + weightLevel1 = "4800"; + weightLevel2 = "4800"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIODefendLocation) { + position = "-268.603 -66.4096 194.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "ActualFlag"; + targetClientId = "-1"; + targetObjectId = "12124"; + location = "-268.603 -66.4096 194.282"; + weightLevel1 = "1500"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "-241.188 -183.122 169.886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "BaseTurret"; + targetClientId = "-1"; + targetObjectId = "12116"; + location = "-241.188 -183.122 169.886"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackObject) { + position = "-344.446 -548.842 61.6162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1FFGen"; + targetClientId = "-1"; + targetObjectId = "12069"; + location = "-344.446 -548.842 61.6162"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "-275.531 -41.3837 203.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "MainGenerator"; + targetClientId = "-1"; + targetObjectId = "12122"; + location = "-275.531 -41.3837 203.543"; + weightLevel1 = "5200"; + weightLevel2 = "3600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIODefendLocation) { + position = "-279.331 -55.1837 203.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "MainGenerator"; + targetClientId = "-1"; + targetObjectId = "12122"; + location = "-279.331 -55.1837 203.543"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "254.378 -85.0003 56.8008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2FFGen"; + targetClientId = "-1"; + targetObjectId = "12218"; + location = "254.378 -85.0003 56.8008"; + weightLevel1 = "5200"; + weightLevel2 = "3600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIODefendLocation) { + position = "254.378 -85.0003 56.8008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2FFGen"; + targetClientId = "-1"; + targetObjectId = "12218"; + location = "254.378 -85.0003 56.8008"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "2"; + isInvalid = "0"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "255.612 -60.29 52.4464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2Base1Gen"; + targetClientId = "-1"; + targetObjectId = "4628"; + location = "255.612 -60.29 52.4464"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "4674"; + team = "2"; + isInvalid = "0"; + gameType = "CTF Siege"; + }; + new AIObjective(AIORepairObject) { + position = "-351.879 -566.087 73.7466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "12106"; + location = "-351.879 -566.087 73.7466"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF Siege TeamHunters"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-344.603 -578.178 56.7963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "12107"; + location = "-344.603 -578.178 56.7963"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + missionTypesList = "CTF"; + team = "2"; + isInvalid = "0"; + }; + new SimGroup(MyObjectiveSet) { + clientLevel2 = "4356"; + clientLevel1 = "4338"; + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "28.0244 -599.532 81.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack as Assasian"; + targetObject = "Team1MainBase"; + targetClientId = "-1"; + targetObjectId = "11991"; + location = "28.0244 -599.532 81.3"; + weightLevel1 = "3000"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "CloakPack ShockLance"; + desiredEquipment = "CloackPack ShockLance Chaingun ChaingunAmmo Blaster TargetingLaser RepairKit FlashGrenade Mine"; + chat = "ChatSelfAttack"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-262.843 -71.2986 213.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend Base with Sniper"; + targetObject = "Team2MainBase"; + targetClientId = "-1"; + targetObjectId = "12128"; + location = "-262.843 -71.2986 213.697"; + weightLevel1 = "3000"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "SniperRifle"; + buyEquipmentSet = "LightEnergySniper"; + chat = "ChatSelfDefend"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-277.5 -48.8699 192.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-277.5 -48.8699 192.766"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-261.608 -76.5666 146.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-261.608 -76.5666 146.036"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-241.671 -354.895 162.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-241.671 -354.895 162.053"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-212.903 -688.217 269.453"; + rotation = "0 0 1 236.059"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-212.903 -688.217 269.453"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "231.955 -129.119 81.8659"; + rotation = "0 0 -1 88.2355"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "231.955 -129.119 81.8659"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "208.435 -68.3352 78.3877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "208.435 -68.3352 78.3877"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "235.754 -105.835 80.0736"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "235.754 -105.835 80.0736"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + chat = "ChatSelfSetupD"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "12199"; + missionTypesList = "CTF Siege"; + team = "2"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Base1) { + powerCount = "0"; + + new SimGroup(Forcefields) { + powerCount = "0"; + + new SimGroup(NonSiegeForceFields) { + powerCount = "1"; + + new ForceFieldBare() { + position = "-253.382 -76.036 193.837"; + rotation = "0.226073 0.155193 -0.961668 71.0415"; + scale = "24.1282 0.1 6.34628"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "67"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-283.737 -38.4938 194.036"; + rotation = "0.108536 -0.158377 0.981395 112.154"; + scale = "24.1282 0.1 6.04818"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "68"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-272.454 -34.0788 193.536"; + rotation = "-0.611143 0.114369 0.783214 26.8764"; + scale = "24.1282 0.1 6.04818"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "69"; + team = "2"; + locked = "true"; + }; + new StaticShape(Team2FFGen) { + position = "254.113 -83.1054 55.3"; + rotation = "1 0 0 1.71915"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + wasDisabled = "0"; + name = "ForceField"; + missionTypesList = "CTF"; + Target = "70"; + team = "2"; + locked = "true"; + repairedBy = "4334"; + }; + new ForceFieldBare(MoonroofFF) { + position = "-275.434 -59.0419 213.96"; + rotation = "0 0 1 21.1994"; + scale = "7.66683 8.98676 0.210138"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF TeamHunters"; + Target = "71"; + team = "2"; + locked = "true"; + }; + }; + new StaticShape(SecondSiegeGen) { + position = "237.765 -86.512 54.7958"; + rotation = "1 0 0 1.71915"; + scale = "1 1 1"; + nameTag = "Gamma"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + wasDisabled = "1"; + name = "Forcefield"; + missionTypesList = "Siege"; + notRepairable = "1"; + Target = "72"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare(SiegeFF) { + position = "-282.983 -64.22 191.18"; + rotation = "0 0 1 21.1994"; + scale = "22.134 22.9774 0.955475"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "73"; + team = "2"; + locked = "true"; + }; + new ForceFieldBare(SiegeFF2) { + position = "-287.45 -71.9911 194.119"; + rotation = "0.641197 -0.122258 0.757575 28.2541"; + scale = "24.1282 0.1 6.04818"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "74"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(Assets) { + powerCount = "1"; + + new StaticShape(Team2StationInventory2) { + position = "240.188 -60.5533 49.9709"; + rotation = "0.789525 0.613604 0.0118438 6.53193"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost"; + Trigger = "12228"; + Target = "75"; + team = "2"; + locked = "true"; + }; + new StaticShape(Team2Base1Gen) { + position = "256.315 -62.1165 51.0031"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost"; + missionTypesList = "CTF Siege"; + Target = "76"; + team = "2"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "246.601 -72.9185 68.8091"; + rotation = "0.0664943 0.0533028 0.996362 90.1178"; + scale = "1 1 1"; + nameTag = "Outpost"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + name = "Outpost"; + Target = "77"; + team = "2"; + lastProjectile = "25765"; + locked = "true"; + }; + }; + new SimGroup(Structures) { + powerCount = "0"; + + new InteriorInstance(Outpost) { + position = "242.211 -63.038 72.5347"; + rotation = "0.819009 0.571458 -0.0515706 6.99296"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new SimGroup(Wreckage) { + powerCount = "0"; + + new InteriorInstance() { + position = "239.201 -93.5538 59.4869"; + rotation = "0.144362 -0.280714 0.948873 41.0882"; + scale = "0.233635 0.542386 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "240.372 -83.7628 53.9356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "238.122 -94.0885 53.9751"; + rotation = "0 1 0 2.29172"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "248.835 -90.1353 55.1155"; + rotation = "-0.381463 0.101477 0.918797 32.2948"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "249.506 -97.1604 56.0194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "245.15 -96.3407 57.0587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "244.651 -82.9288 62.6254"; + rotation = "1 0 0 0"; + scale = "0.681088 0.403698 0.496752"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "251.318 -102.356 64.5528"; + rotation = "1 0 0 0"; + scale = "0.681088 0.403698 0.496752"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "253.602 -64.7709 51.3769"; + rotation = "1 0 0 86.5166"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "244.7 -69.5869 52.0555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "252.564 -117.465 76.1093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "254.741 -116.401 75.3471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "253.832 -118.571 77.9688"; + rotation = "0.32874 0.944325 0.0134188 175.585"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "254.217 -103.696 79.8758"; + rotation = "0.190489 -0.183163 -0.964451 94.3166"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "250.622 -110.74 78.195"; + rotation = "0.48637 -0.868316 -0.0973189 56.9394"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "229.987 -120.592 86.3898"; + rotation = "-0.0410913 -0.648662 0.759966 52.534"; + scale = "0.233635 0.36212 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "233.856 -114.786 79.7382"; + rotation = "0.261086 0.0397069 0.964499 182.919"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "241.123 -114.744 89.3454"; + rotation = "0.136316 0.331624 -0.933511 47.5308"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "241.144 -112.861 88.7653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "237.943 -104.679 87.8106"; + rotation = "1 0 0 59.5876"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "252.267 -109.297 90.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "219.4 -115.495 80.9948"; + rotation = "0.216142 0.799006 0.561134 216.357"; + scale = "1 0.93047 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "249.922 -121.086 83.2403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "191.15 -103.202 86.0999"; + rotation = "0 0 -1 25.2101"; + scale = "1.30309 1.36672 1.16977"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "254.83 -122.169 82.4549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + }; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere(SiegeSpawnSphere) { + position = "258.831 -62.595 83.1099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "Siege"; + locked = "true"; + }; + }; + new SimGroup(AltGametypes) { + powerCount = "0"; + + new SimGroup(RabbitGroup) { + powerCount = "0"; + + new StaticShape() { + position = "-239.998 -350.519 226.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Rabbit"; + Target = "-1"; + team = "0"; + locked = "true"; + }; + new Item(RabbitFlag) { + position = "-239.966 -350.477 226.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + WayPoint = "12435"; + missionTypesList = "Rabbit"; + originalPosition = "-239.966 -350.477 226.82 1 0 0 0"; + Target = "78"; + team = "0"; + isHome = "1"; + locked = "true"; + }; + }; + new SimGroup(HuntersGroup) { + powerCount = "0"; + + new Item(HuntersNexus) { + position = "-240.355 -350.428 227.346"; + rotation = "1 0 0 0"; + scale = "1 1 0.739774"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + flashThreadDir = "1"; + missionTypesList = "Hunters TeamHunters"; + Target = "79"; + team = "0"; + locked = "true"; + }; + new StaticShape(HuntersNexus2) { + position = "-240.369 -350.317 224.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus_Effect"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + Target = "-1"; + team = "0"; + locked = "true"; + }; + new StaticShape(HuntersNexusCap) { + position = "-240.051 -350.404 232.922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + Target = "-1"; + team = "0"; + locked = "true"; + }; + new StaticShape(HuntersNexusBase) { + position = "-240.451 -350.284 226.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + Target = "-1"; + team = "0"; + locked = "true"; + }; + new WayPoint(NexusWaypoint) { + position = "-240.326 -350.367 228.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + }; + new SimGroup(CnH) { + powerCount = "0"; + + new SimGroup(Base2Group) { + powerCount = "0"; + + new StaticShape(Base2Projector) { + position = "35.2288 -610.292 158.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + Target = "-1"; + holo = "0"; + team = "0"; + locked = "true"; + }; + new StaticShape(Base2FlipFlop) { + position = "30.2078 -613.501 123.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Base 2"; + missionTypesList = "CnH"; + Target = "80"; + team = "0"; + Projector = "12275"; + locked = "true"; + }; + new WayPoint() { + position = "30.2104 -613.557 124.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base2"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(Base1Group) { + powerCount = "0"; + + new StaticShape(Base1Projector) { + position = "-262.018 -55.9125 212.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + Target = "-1"; + holo = "0"; + team = "0"; + locked = "true"; + }; + new StaticShape(Base1FlipFlop) { + position = "-268.499 -56.7215 177.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Base 1"; + missionTypesList = "CnH"; + Target = "81"; + team = "0"; + Projector = "12279"; + locked = "true"; + }; + new WayPoint() { + position = "-268.557 -56.7214 180.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base 1"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(CenterGroup) { + powerCount = "0"; + + new StaticShape(CenterFlipFlop) { + position = "-239.985 -350.472 226.303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "The Center"; + missionTypesList = "CnH"; + Target = "82"; + team = "0"; + Projector = "12284"; + locked = "true"; + }; + new StaticShape(CenterProjector) { + position = "-242.284 -347.263 226.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + Target = "-1"; + holo = "0"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-239.892 -350.113 228.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(HighGroup) { + powerCount = "0"; + + new StaticShape(HighFlipFlop) { + position = "-216.877 -691.348 268.056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "the High Tower"; + missionTypesList = "CnH"; + Target = "83"; + team = "0"; + Projector = "12288"; + locked = "true"; + }; + new StaticShape(HighProjector) { + position = "-216.676 -691.639 286.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + Target = "-1"; + holo = "0"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-216.863 -691.305 270.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "High Tower"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(LowGroup) { + powerCount = "0"; + + new StaticShape(LowProjector) { + position = "135.254 -421.913 263.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + Target = "-1"; + holo = "0"; + team = "0"; + locked = "true"; + }; + new StaticShape(LowFlipFlop) { + position = "273.239 -418.92 85.9024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "the Low Tower"; + missionTypesList = "CnH"; + Target = "84"; + team = "0"; + Projector = "12291"; + locked = "true"; + }; + new WayPoint() { + position = "273.036 -418.884 88.2857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Low Tower"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIOTouchObject) { + position = "-239.966 -350.477 228.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "RabbitFlag"; + targetClientId = "-1"; + targetObjectId = "8923"; + location = "-239.966 -350.477 228.366"; + weightLevel1 = "6001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "0"; + gameType = "Rabbit"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-239.966 -350.477 228.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "RabbitFlag"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "0 0 0"; + weightLevel1 = "4800"; + weightLevel2 = "4800"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + team = "0"; + gameType = "Rabbit"; + }; + }; + new SimGroup(Structures) { + powerCount = "0"; + + new InteriorInstance(CenterBlock) { + position = "-203.642 -435.138 85.7534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "0"; + locked = "true"; + }; + new InteriorInstance(CenterBlock) { + position = "-203.734 -435.316 76.5285"; + rotation = "1 0 0 0"; + scale = "0.508497 0.414108 1.22956"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "0"; + locked = "true"; + }; + new InteriorInstance(RabbitHuntersPlat) { + position = "-240.253 -350.65 224.811"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + interiorFile = "xplat1.dif"; + showTerrainInside = "0"; + missionTypesList = "Rabbit Hunters TeamHunters"; + team = "0"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(Bridges) { + providesPower = "1"; + powerCount = "1"; + + new SimGroup(Bridge2) { + powerCount = "1"; + + new InteriorInstance() { + position = "315.149 -192.658 125.578"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "217.565 -211.507 125.545"; + rotation = "0 0 1 79.0682"; + scale = "1 1.3884 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "379.104 -180.26 125.561"; + rotation = "0 0 1 79.0682"; + scale = "1 0.574412 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge4) { + powerCount = "1"; + + new InteriorInstance() { + position = "-11.0043 -717.773 76.2585"; + rotation = "1 0 0 0"; + scale = "2.0847 2.09574 5.45977"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-10.9391 -717.602 135.115"; + rotation = "0 0 1 89.9544"; + scale = "0.971145 1.2246 1"; + interiorFile = "sbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "82.421 -717.457 99.2131"; + rotation = "1 0 0 0"; + scale = "1.68799 2.09574 2.57092"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "82.3788 -717.528 135.116"; + rotation = "0 0 1 89.9544"; + scale = "0.971145 1 1"; + interiorFile = "sbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "166.828 -717.893 133.747"; + rotation = "0 0 1 90.5273"; + scale = "0.972455 1 1.27415"; + interiorFile = "sbrdg3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "29.9904 -675.072 135.09"; + rotation = "1 0 0 0"; + scale = "1 0.98715 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge13) { + powerCount = "1"; + + new InteriorInstance() { + position = "-178.652 108.211 133.191"; + rotation = "0 0 1 229.183"; + scale = "1 1.10471 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-112.452 165.387 133.158"; + rotation = "0 0 1 229.183"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-71.2561 200.993 133.186"; + rotation = "0 0 1 229.183"; + scale = "1 0.311903 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge1) { + powerCount = "1"; + + new InteriorInstance() { + position = "252.424 137.343 209.988"; + rotation = "0 0 1 14.8969"; + scale = "1 0.778667 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "149.791 -253.488 210.034"; + rotation = "0 0 1 14.3239"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "170.085 -173.968 210.039"; + rotation = "0 0 1 14.3239"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "191.053 -93.6264 210.011"; + rotation = "0 0 1 14.8969"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "212.409 -13.3432 210.044"; + rotation = "0 0 1 14.8969"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "233.709 66.8984 210.027"; + rotation = "0 0 1 14.8969"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "127.645 -340.221 210.001"; + rotation = "0 0 1 14.3239"; + scale = "1 1.15336 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge5) { + powerCount = "1"; + + new InteriorInstance() { + position = "-33.7752 -449.65 154.736"; + rotation = "0 0 1 30.9396"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-76.4208 -520.881 154.753"; + rotation = "0 0 1 30.9396"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-119.742 -592.306 154.74"; + rotation = "0 0 1 31.5126"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-163.168 -663.138 154.768"; + rotation = "0 0 1 31.5126"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge3) { + powerCount = "1"; + + new InteriorInstance() { + position = "195.239 -487.6 95.8968"; + rotation = "0 0 1 65.3172"; + scale = "1.68799 3.18541 2.57092"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "194.9 -487.539 134.72"; + rotation = "0 0 1 154.699"; + scale = "0.983499 1 1.27415"; + interiorFile = "sbrdg3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "227.036 -556.344 136.13"; + rotation = "0 0 1 155.272"; + scale = "1 0.762218 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "257.184 -621.767 136.153"; + rotation = "0 0 1 155.272"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge12) { + powerCount = "1"; + + new InteriorInstance() { + position = "-382.541 71.4891 155.339"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-434.881 136.003 155.306"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-478.524 189.766 155.334"; + rotation = "0 0 1 140.948"; + scale = "1 0.664215 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge7) { + powerCount = "1"; + + new InteriorInstance() { + position = "-247.313 -218.322 156.503"; + rotation = "0 0 1 177.617"; + scale = "1 0.740917 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-244.282 -290.727 156.475"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-240.827 -373.731 156.508"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-237.33 -456.678 156.491"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-234.275 -529.501 156.452"; + rotation = "0 0 1 177.617"; + scale = "1 0.778667 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-190.251 -357.391 156.343"; + rotation = "0 0 -1 90.7102"; + scale = "1 1.3121 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-93.937 -356.622 156.41"; + rotation = "0 0 -1 90.1372"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-10.716 -356.405 156.438"; + rotation = "0 0 -1 90.1372"; + scale = "1 0.996916 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge6) { + powerCount = "1"; + + new InteriorInstance() { + position = "58.3175 -381.551 208.88"; + rotation = "0 0 1 57.8687"; + scale = "1 0.778667 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-3.39411 -420.338 208.919"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-73.6747 -464.531 208.936"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-144.025 -508.716 208.903"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-214.599 -553.063 208.931"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge14) { + powerCount = "1"; + + new InteriorInstance() { + position = "-618.069 -600.115 233.374"; + rotation = "0 0 1 106.57"; + scale = "1 0.793788 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-546.745 -621.336 233.407"; + rotation = "0 0 1 106.57"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-468.081 -644.731 233.412"; + rotation = "0 0 1 106.57"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-388.673 -668.891 233.384"; + rotation = "0 0 1 107.143"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-309.288 -693.377 233.417"; + rotation = "0 0 1 107.143"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-219.15 -721.135 233.4"; + rotation = "0 0 1 107.143"; + scale = "1 1.26894 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Towers) { + powerCount = "0"; + + new SimGroup(Underground) { + powerCount = "0"; + + new InteriorInstance() { + position = "-39.6416 -25.4541 97.6058"; + rotation = "0.706996 0.706996 -0.0176786 4.05129"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "261.6 -74.571 87.9013"; + rotation = "1 0 0 6.30252"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "272.726 -416.56 95.0372"; + rotation = "0.739491 0.672148 -0.0370054 8.51572"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-109.635 -547.354 90.1012"; + rotation = "1 0 0 6.30252"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-203.619 196.746 83.2631"; + rotation = "-0.993148 0.0871335 0.0778794 7.46196"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.156 -242.67 90.875"; + rotation = "1 0 0 16.0428"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Aboveground) { + powerCount = "0"; + + new InteriorInstance() { + position = "13.7812 -315.43 187.629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "340.983 -652.327 140.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-498.438 219.099 137.819"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "69.9097 212.472 157.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "257.765 172.916 255.302"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "421.286 -154.539 166.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "102.083 -204.767 202.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "135.177 -422.462 255.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-469.715 -486.593 204.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-216.456 -691.265 277.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Armaments) { + powerCount = "0"; + + new Item() { + position = "-207.345 197.091 77.3484"; + rotation = "0 0 -1 26.929"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-492.555 222.878 191.458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-503.915 212.195 191.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-504.624 227.229 191.632"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-503.621 226.25 191.626"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-503.435 226.069 191.626"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-497.504 218.079 200.803"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "72.0033 220.067 210.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "72.0054 212.922 210.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "71.9085 204.743 210.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "260.566 176.16 246.499"; + rotation = "0 0 1 230.329"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "254.758 172.155 246.405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "421.11 -154.606 157.709"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "341.022 -652.108 193.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "341.02 -644.963 193.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "340.925 -660.287 193.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-214.294 -691.644 269.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-217.562 -689.039 268.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + ammoStore = "10"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-217.162 -689.039 268.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + ammoStore = "10"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-470.626 -483.814 195.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-472.187 -484.018 194.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-471.469 -483.661 195.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-472.089 -483.661 194.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-469.131 -483.535 195.351"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-36.2743 -28.4248 88.8895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "102.407 -204.653 193.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "13.6955 -315.133 178.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-415.239 -242.049 77.1152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-414.388 -241.631 77.4499"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item(MortarGun) { + position = "-414.568 -240.274 77.1168"; + rotation = "0 0 1 233.949"; + scale = "1 1 1"; + dataBlock = "Mortar"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-39.926 -24.0671 88.4986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-39.9872 -27.4283 88.6666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-36.2743 -28.4248 88.9695"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-106.648 -546.303 81.0544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretIndoorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-113.096 -546.869 81.0199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretOutdoorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-113.002 -551.525 81.5587"; + rotation = "0 0 1 49.2744"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-106.935 -548.525 81.2678"; + rotation = "0 0 -1 88.4182"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item(MortarGun) { + position = "278.017 -413.207 76.8515"; + rotation = "0 0 -1 34.3778"; + scale = "1 1 1"; + dataBlock = "Mortar"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "278.25 -414.26 76.9846"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "277.399 -414.677 76.6499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-106.913 -551.166 81.7049"; + rotation = "0 0 -1 40.107"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-109.981 -545.41 80.796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "188.886 -491.15 141.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "351.126 -652.299 193.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "330.628 -651.431 193.693"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "58.0175 211.142 211.112"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "81.3297 213.035 210.804"; + rotation = "0 0 1 91.6732"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-406.074 -244.004 81.8162"; + rotation = "0 0 -1 29.2208"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+=<>=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +//////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+=<>=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +package Broken_Dreams{ + + +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + + if(%obj == nameToId("MainGenerator1") ) + { + NameToID("NeededGen").setDamageLevel(2.5); + NameToID("Team1FFGen").setDamageLevel(0); + } +} + +//From TRIDENT.MIS +//Thanks to CleverClothe for pointing it out + +// ...we want to deactivate the above set spawn spheres +// (revert them to attackers) if the gen is disabled +// (and it won't be being repaired, either) + function Generator::onDisabled(%data, %obj) + { + Parent::onDisabled(%data, %obj); + + %attackersTeam = 1; + %neutralTeam = 0; + if(%obj == nameToId("SecondSiegeGen") ) + { + %spawn = nameToId("SiegeSpawnSphere"); + Game.claimSpawn(%spawn, %attackersTeam, %neutralTeam); + } + } + +//Cleanup work +//Wohoo! I did *this* on my own + function Game::gameOver( %game ) + { + $InvBanList[$CurrentMissionType, "Mortar"] = ""; + Game.claimSpawn(NameToID("SiegeSpawnSphere"), 0, 1); + Parent::gameOver( %game ); + } +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+=<>=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +//////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+=<>=+=+=+=+=+=+=+=+=+=+=+=+=+=+= + +//MAJOR thanks to Dev and Alingis for these pieces following.. +//Yes, I'm stupid for needing help on such a small thing, but +//the thanks goes out, nonetheless. +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+= + + function DestroyOnStart() + { + + if ($missionRunning == false) + { + schedule(500, 0, DestroyOnStart); + return; + } + + if ($CurrentMissionType !$= "CTF") + { +//Mission is NOT Capture the Flag type + nameToID(Team1Base1Gen).setDamageLevel(2.5); + nameToID(Team2Base1Gen).setDamageLevel(2.5); + + if ($CurrentMissionType $= "Siege") + { +//Mission is Siege type + nameToID(Team2Base1Gen).setDamageLevel(0); + nameToID(Team2FFGen).setDamageLevel(2.5); + + nameToID(MainGenerator1).setDamageLevel(2.5); + nameToID(Team1StationInventory1).setDamageLevel(2.5); + nameToID(Team1StationInventory2).setDamageLevel(2.5); + nameToID(BaseTurret1).setDamageLevel(2.5); + nameToID(Team1FFGen).setDamageLevel(2.5); + nameToID(Team1Base1Gen).setDamageLevel(2.5); + }else{ +//Mission is not CTF OR Siege + nameToID(SecondSiegeGen).setDamageLevel(2.5); + nameToID(FirstSiegeGen).setDamageLevel(2.5); + nameToID(NeededGen).setDamageLevel(2.5); + } + }else{ +//Mission is CTF + nameToID(SecondSiegeGen).setDamageLevel(2.5); + nameToID(FirstSiegeGen).setDamageLevel(2.5); + nameToID(NeededGen).setDamageLevel(2.5); + } + } +//Yes, yes.. not the best way to do code. Sorry.. but it works. On to the next piece! + +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +//Below code came from TRIDENT.MIS +//Halftime! Blow everything up again. +function SiegeGame::halftimeOver( %game ) +{ + // drop all players into mission + %game.dropPlayers(); + + //setup the AI for the second half + %game.aiHalfTime(); + + // start the mission again (release players) + %game.halfTimeCountDown( $Host::warmupTime ); + + //redo the objective waypoints + %game.findObjectiveWaypoints(); + nameToID(Team2Base1Gen).setDamageLevel(0); + nameToID(Team2FFGen).setDamageLevel(2.5); + + nameToID(MainGenerator1).setDamageLevel(2.5); + nameToID(Team1StationInventory1).setDamageLevel(2.5); + nameToID(Team1StationInventory2).setDamageLevel(2.5); + nameToID(BaseTurret1).setDamageLevel(2.5); + nameToID(Team1FFGen).setDamageLevel(2.5); + nameToID(Team1Base1Gen).setDamageLevel(2.5); +} +}; +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +activatePackage(Broken_Dreams); +DestroyOnStart(); +//=+=+=+=+=+=+=+=+=+=+=+=+=+=+= diff --git a/public/base/@vl2/brokendreams_2.vl2/terrains/Broken_Dreams.nav b/public/base/@vl2/brokendreams_2.vl2/terrains/Broken_Dreams.nav new file mode 100644 index 00000000..fc12fb80 Binary files /dev/null and b/public/base/@vl2/brokendreams_2.vl2/terrains/Broken_Dreams.nav differ diff --git a/public/base/@vl2/brokendreams_2.vl2/terrains/Broken_Dreams.spn b/public/base/@vl2/brokendreams_2.vl2/terrains/Broken_Dreams.spn new file mode 100644 index 00000000..7439083c Binary files /dev/null and b/public/base/@vl2/brokendreams_2.vl2/terrains/Broken_Dreams.spn differ diff --git a/public/base/@vl2/brokendreams_2.vl2/textures/gui/load_broken_dreams.png b/public/base/@vl2/brokendreams_2.vl2/textures/gui/load_broken_dreams.png new file mode 100644 index 00000000..472c71e6 Binary files /dev/null and b/public/base/@vl2/brokendreams_2.vl2/textures/gui/load_broken_dreams.png differ diff --git a/public/base/@vl2/centaur.vl2/Dopplegangers.txt b/public/base/@vl2/centaur.vl2/Dopplegangers.txt new file mode 100644 index 00000000..bbb62a00 --- /dev/null +++ b/public/base/@vl2/centaur.vl2/Dopplegangers.txt @@ -0,0 +1,19 @@ + +This file was packed using Emo1313's map zipping utility for Tribes2. +Please visit Dopplegangers.com @ www.dopplegangers.com for all your Tribes file needs. +Thank you. + + + +This file contains: + ====================================== + Centaur.mis. + Centaur.ter. + Centaur.spn. + Centaur.nav. + Centaur_heightfield.cs. + Centaur_texture.cs. + LOAD_Centaur.png. + + ====================================== + \ No newline at end of file diff --git a/public/base/@vl2/centaur.vl2/missions/Centaur.mis b/public/base/@vl2/centaur.vl2/missions/Centaur.mis new file mode 100644 index 00000000..13482819 --- /dev/null +++ b/public/base/@vl2/centaur.vl2/missions/Centaur.mis @@ -0,0 +1,2461 @@ +// DisplayName = Centaur +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//And with a horrible sound they charged us. Never have I seen a beast with such fury. +// -- Unknown Soldier on the Assault of Mares Peak. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege] Defensive Team has Vehicle Pad +//[Siege] Generators must be systematically destroyed to reach the Control Switch. +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "5"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1032 -1024 2048 2064"; + flightCeiling = "500"; + flightCeilingRange = "20"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + terrainFile = "Centaur.ter"; + squareSize = "8"; + emptySquares = "92799 93311 161902 103280 169076 169328"; + locked = "1"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.420000 0.420000 0.420000 0.000000"; + fogDistance = "250"; + fogColor = "0.420000 0.420000 0.420000 1.000000"; + fogVolume1 = "300 0 71"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(MainBase) { + powerCount = "0"; + + new InteriorInstance() { + position = "-53.9423 -96.2045 316.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase9.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new StaticShape(Team2FlipFlop1) { + position = "-28.4851 -83.7669 301.561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "3539"; + }; + new SimGroup(Generator) { + powerCount = "1"; + + new ForceFieldBare() { + position = "-32.0699 -90.2398 301.221"; + rotation = "1 0 0 30.3668"; + scale = "6.39051 0.408657 9.01548"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "-54.1333 -102.466 308.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Control Forcefield Generator"; + scoreValue = "3"; + team = "1"; + ObjectiveCompleted = "0"; + Target = "35"; + number = "2"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "3540"; + }; + new StaticShape(Team2StationInventory1) { + position = "-15.5204 -96.3216 326.617"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + locked = "true"; + Trigger = "3340"; + }; + new StaticShape(Team2StationInventory2) { + position = "-15.5204 -96.3216 318.617"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + locked = "true"; + Trigger = "3342"; + }; + new StaticShape(Team2StationInventory3) { + position = "-38.7194 -96.5351 301.617"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + locked = "true"; + Trigger = "3344"; + }; + new StaticShape(Team2StationInventory4) { + position = "-12.2876 -163.974 318.705"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + locked = "true"; + Trigger = "3346"; + }; + new StaticShape(Team2StationInventory5) { + position = "-87.8075 -87.1865 318.617"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "40"; + locked = "true"; + Trigger = "3348"; + }; + new StaticShape(Team2StationInventory6) { + position = "-66.4375 -127.992 317.217"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + locked = "true"; + Trigger = "3350"; + }; + new StaticShape(Team2StationInventory7) { + position = "-121.788 -36.4441 334.621"; + rotation = "0 0 -1 45.8367"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "42"; + locked = "true"; + Trigger = "3352"; + }; + new StaticShape(Team2StationInventory8) { + position = "-88.0854 -56.9878 326.617"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "43"; + locked = "true"; + Trigger = "3354"; + }; + new StaticShape(Team2SensorLargePulse2) { + position = "-158.175 -60.2041 354.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "44"; + locked = "true"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "-3.81156 -164.062 354.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "45"; + locked = "true"; + }; + }; + }; + new SimGroup(Bunker2) { + powerCount = "0"; + + new InteriorInstance() { + position = "-69.606 -113.95 347.426"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new SimGroup(Generator) { + powerCount = "1"; + + new StaticShape(Team2GeneratorLarge2) { + position = "-71.932 -114.457 363.53"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Entry ForceField"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Entry ForceField Generator"; + scoreValue = "2"; + team = "1"; + ObjectiveCompleted = "0"; + Target = "46"; + number = "1"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "3541"; + }; + new StaticShape(Team2SensorLargePulse3) { + position = "-70.683 -114.154 380.223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "47"; + locked = "true"; + }; + new ForceFieldBare() { + position = "1.57985 -176.59 342.48"; + rotation = "1 0 0 0"; + scale = "0.25649 24.7654 6.21859"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "48"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-9.82015 -176.59 342.48"; + rotation = "1 0 0 0"; + scale = "0.25649 24.7654 6.21859"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "49"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-9.5843 -152.31 342.598"; + rotation = "1 0 0 0"; + scale = "11.1711 0.5 6.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "50"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-9.5843 -176.6 342.398"; + rotation = "1 0 0 0"; + scale = "11.1711 0.5 6.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "51"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-143.533 -64.365 342.513"; + rotation = "1 0 0 0"; + scale = "0.272742 8.29043 6.24421"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "52"; + locked = "true"; + }; + }; + }; + new SimGroup(TheWall) { + powerCount = "0"; + + new InteriorInstance() { + position = "-156.846 -2.92967 321.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "1.67042 -8.60786 328.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-158.217 -137.707 328.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-121.71 -293.773 310.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "40.2806 -145.424 319.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-58.6655 -56.9462 332.451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(AASupport) { + powerCount = "2"; + + new Turret(Team2TurretBaseLarge1) { + position = "1.42291 -8.85537 349.53"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + lastProjectile = "3959"; + Target = "53"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-156.247 -3.13013 342.818"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + lastProjectile = "3957"; + Target = "54"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "-158.013 -137.132 349.247"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + lastProjectile = "5279"; + Target = "55"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge4) { + position = "-58.772 -57.7165 353.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + lastProjectile = "3952"; + Target = "56"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge5) { + position = "39.2206 -145.589 340.398"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + Target = "57"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge6) { + position = "-122.06 -292.751 331.341"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + Target = "58"; + locked = "true"; + }; + new InteriorInstance() { + position = "-102.574 163.97 320.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge3) { + position = "-106.208 172.163 309.083"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "AA Support"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "AA Support"; + scoreValue = "1"; + team = "1"; + lastDamagedBy = "3320"; + ObjectiveCompleted = "0"; + repairedBy = "3320"; + damageTimeMS = "381532"; + Target = "59"; + number = "0"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "3542"; + }; + new StaticShape(Team2GeneratorLarge4) { + position = "-106.756 155.442 309.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "AA Support"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "AA Support"; + scoreValue = "1"; + team = "1"; + ObjectiveCompleted = "0"; + repairedBy = "3320"; + damageTimeMS = "374942"; + Target = "60"; + number = "0"; + locked = "true"; + needsObjectiveWaypoint = "1"; + WayPoint = "3543"; + }; + new InteriorInstance() { + position = "-234.438 -213.396 302.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge7) { + position = "-234.234 -212.821 323.844"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + team = "1"; + Target = "61"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-64.853 -115.997 350.278"; + rotation = "1 0 0 0"; + scale = "0.21837 4.08526 4.7688"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "62"; + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "-109.417 164.185 324.536"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "63"; + locked = "true"; + Trigger = "3394"; + }; + new StaticShape(Team2StationInventory10) { + position = "-89.752 176.248 318.486"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "64"; + locked = "true"; + Trigger = "3396"; + }; + new StaticShape(Team2StationInventory11) { + position = "-89.7714 151.848 318.486"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "65"; + locked = "true"; + Trigger = "3398"; + }; + }; + new SimGroup(SpawnSpheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-96.1039 161.366 324.637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + new SpawnSphere() { + position = "-87.2881 -110.711 344.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + }; + new SimGroup(Bunker1) { + powerCount = "1"; + + new InteriorInstance() { + position = "-47.8556 3.94886 357.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new StaticShape(Team2SolarPanel1) { + position = "-58.1314 -3.30762 379.551"; + rotation = "0 0 1 126.624"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "66"; + locked = "true"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-38.2751 -3.63049 379.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "67"; + locked = "true"; + }; + new StaticShape(Team2StationInventory12) { + position = "-52.347 -3.52158 360.455"; + rotation = "0 0 -1 89.9544"; + scale = "0.9 0.9 0.9"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "68"; + locked = "true"; + Trigger = "3407"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "-38.2751 -3.63049 382.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3405"; + location = "-38.2751 -3.63049 382.074"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-57.874 -3.49893 380.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the SolarPanel"; + targetObject = "Team2SolarPanel1"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-57.874 -3.49893 380.446"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-57.874 -3.49893 380.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SolarPanel"; + targetObject = "Team2SolarPanel1"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-57.874 -3.49893 380.446"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-89.7714 151.848 320.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3397"; + location = "-89.7714 151.848 320.052"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-52.347 -3.52158 361.864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-52.347 -3.52158 361.864"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-28.4851 -83.7669 303.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team2FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3333"; + location = "-28.4851 -83.7669 303.828"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-28.4851 -83.7669 303.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team2FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team2FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3333"; + location = "-28.4851 -83.7669 303.828"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-53.8686 -104.405 310.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3338"; + location = "-53.8686 -104.405 310.037"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-53.8686 -104.405 310.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3338"; + location = "-53.8686 -104.405 310.037"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-15.5204 -96.3216 328.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3339"; + location = "-15.5204 -96.3216 328.183"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-15.5204 -96.3216 320.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3341"; + location = "-15.5204 -96.3216 320.183"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-38.7194 -96.5351 303.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3343"; + location = "-38.7194 -96.5351 303.183"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-12.2876 -163.974 320.271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3345"; + location = "-12.2876 -163.974 320.271"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-87.8075 -87.1865 320.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3347"; + location = "-87.8075 -87.1865 320.183"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-66.4375 -127.992 318.783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3349"; + location = "-66.4375 -127.992 318.783"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-121.788 -36.4441 336.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3351"; + location = "-121.788 -36.4441 336.187"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-88.0854 -56.9878 328.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3353"; + location = "-88.0854 -56.9878 328.183"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-158.175 -60.186 358.785"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team2SensorLargePulse2"; + targetClientId = "-1"; + targetObjectId = "3355"; + location = "-158.175 -60.186 358.785"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-3.81156 -164.044 358.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3356"; + location = "-3.81156 -164.044 358.684"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-73.871 -114.722 364.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3360"; + location = "-73.871 -114.722 364.973"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-73.871 -114.722 364.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3360"; + location = "-73.871 -114.722 364.973"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-70.683 -114.136 384.498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team2SensorLargePulse3"; + targetClientId = "-1"; + targetObjectId = "3361"; + location = "-70.683 -114.136 384.498"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "1.73849 -8.17759 351.234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "1.73849 -8.17759 351.234"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-156.908 -2.78054 344.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3381"; + location = "-156.908 -2.78054 344.522"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-158.724 -137.363 350.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3382"; + location = "-158.724 -137.363 350.951"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-58.996 -57.0032 355.128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3383"; + location = "-58.996 -57.0032 355.128"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "39.9337 -145.364 342.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3384"; + location = "39.9337 -145.364 342.102"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-121.837 -293.465 333.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3385"; + location = "-121.837 -293.465 333.045"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-106.47 174.102 310.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2GeneratorLarge3"; + targetClientId = "-1"; + targetObjectId = "3387"; + location = "-106.47 174.102 310.526"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-106.47 174.102 310.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2GeneratorLarge3"; + targetClientId = "-1"; + targetObjectId = "3387"; + location = "-106.47 174.102 310.526"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-106.491 153.503 310.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2GeneratorLarge4"; + targetClientId = "-1"; + targetObjectId = "3388"; + location = "-106.491 153.503 310.526"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-106.491 153.503 310.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2GeneratorLarge4"; + targetClientId = "-1"; + targetObjectId = "3388"; + location = "-106.491 153.503 310.526"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-234.945 -213.052 325.548"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge7"; + targetClientId = "-1"; + targetObjectId = "3390"; + location = "-234.945 -213.052 325.548"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-109.417 164.185 326.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3393"; + location = "-109.417 164.185 326.102"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-89.752 176.248 320.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3395"; + location = "-89.752 176.248 320.052"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-149.915 -72.4097 346.6"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-149.915 -72.4097 346.6"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-65.8803 -113.31 366.984"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-65.8803 -113.31 366.984"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-10.2601 -165.015 346.577"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-10.2601 -165.015 346.577"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-103.223 112.588 324.629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-103.223 112.588 324.629"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-84.7395 220.778 334.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-84.7395 220.778 334.325"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-30.4337 -112.267 347.462"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-30.4337 -112.267 347.462"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-62.5527 -197.754 339.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-62.5527 -197.754 339.341"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-91.9905 163.627 327.775"; + rotation = "-0.336412 0.336144 0.879678 97.28"; + scale = "1 1 0.9996"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-91.9905 163.627 327.775"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team1) { + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "-477.388 689.616 95.0765"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-431.619 766.242 103.132"; + rotation = "0 0 1 219.625"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new SimGroup(SpawnSpheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-458.832 753.128 123.234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-489.63 699.213 94.8765"; + rotation = "0 0 -1 52.1387"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3458"; + scoutVehicle = "removed"; + AssaultVehicle = "removed"; + team = "2"; + inUse = "Down"; + Target = "-1"; + mobileBaseVehicle = "removed"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-435.634 761.683 113.139"; + rotation = "0 0 1 216.188"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "70"; + locked = "true"; + Trigger = "3461"; + }; + new StaticShape(Team1StationInventory2) { + position = "-445.789 769.385 97.0598"; + rotation = "0 0 -1 49.8474"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "71"; + locked = "true"; + Trigger = "3463"; + }; + new StaticShape(Team1StationInventory3) { + position = "-425.856 752.756 96.6883"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "72"; + locked = "true"; + Trigger = "3465"; + }; + new StaticShape(Team1StationInventory4) { + position = "-435.565 761.661 120.995"; + rotation = "0 0 1 220.198"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "73"; + locked = "true"; + Trigger = "3467"; + }; + new StaticShape(Team1StationInventory5) { + position = "-435.189 762.126 106.939"; + rotation = "0 0 1 37.2426"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "74"; + locked = "true"; + Trigger = "3469"; + }; + new SimGroup(AIObjectives) { + powerCount = "1"; + + new AIObjective(AIOAttackObject) { + position = "-106.47 174.102 310.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2GeneratorLarge3"; + targetClientId = "-1"; + targetObjectId = "3387"; + location = "-106.47 174.102 310.526"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-73.871 -114.722 364.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3360"; + location = "-73.871 -114.722 364.973"; + weightLevel1 = "4100"; + weightLevel2 = "3100"; + weightLevel3 = "1600"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-53.8686 -104.405 310.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3338"; + location = "-53.8686 -104.405 310.037"; + weightLevel1 = "5100"; + weightLevel2 = "4100"; + weightLevel3 = "3100"; + weightLevel4 = "1600"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-28.4851 -83.7669 303.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team2FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team2FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3333"; + location = "-28.4851 -83.7669 303.828"; + weightLevel1 = "6100"; + weightLevel2 = "5100"; + weightLevel3 = "4100"; + weightLevel4 = "3100"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-106.491 153.503 310.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2GeneratorLarge4"; + targetClientId = "-1"; + targetObjectId = "3388"; + location = "-106.491 153.503 310.526"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-28.4851 -83.7669 303.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team2FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3333"; + location = "-28.4851 -83.7669 303.828"; + weightLevel1 = "5900"; + weightLevel2 = "4000"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(SpawnSpheres) { + powerCount = "0"; + }; + new Item() { + position = "-433.691 764.11 134.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new WaterBlock() { + position = "-1024 -1024 -19.6"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "OceanWater"; + density = "0.75"; + viscosity = "10"; + waveMagnitude = "1"; + surfaceTexture = "liquidtiles/islandwater01"; + surfaceOpacity = "0.6"; + envMapTexture = "liquidtiles/islandwater01"; + envMapIntensity = "0.25"; + removeWetEdges = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + seedPoints = "0 0 1 0 1 1 0 1"; + floodFill = "1"; + extent = "100 100 10"; + textureSize = "32 32"; + locked = "true"; + params3 = "1.21 -0.61 0.13 -0.33"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "Centaur.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + locked = "true"; + position = "0 0 0 1"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(cam1) { + position = "-386.599 652.707 105.352"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + new Camera(cam2) { + position = "-156.621 213.985 342.729"; + rotation = "0 0 1 146.677"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + new Camera(cam3) { + position = "69.9455 -158.292 350.881"; + rotation = "0 0 -1 69.3279"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + new Camera(cam4) { + position = "-182.571 20.8369 368.555"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(environment) { + powerCount = "0"; + + new TSStatic() { + position = "-506.552 494.965 191.181"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-544.909 645.677 98.961"; + rotation = "0 0 1 71.0468"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-382.86 787.314 105.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-383.461 862.439 105.729"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-268.303 734.487 136.782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new InteriorInstance() { + position = "-271.92 -384.054 140.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-324.167 23.2616 187.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-233.65 186.701 84.5198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-204.963 187.133 125.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-178.325 421.326 191.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-151.162 462.825 116.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-147.335 483.349 113.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "81.8715 420.068 191.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-190.442 421.041 188.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-121.115 415.01 267.023"; + rotation = "1 0 0 5.15676"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-23.7188 232.043 344.733"; + rotation = "0 0 1 50.9932"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "43.7018 107.359 340.298"; + rotation = "0 0 -1 75.6304"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-110.026 45.0004 333.794"; + rotation = "0 0 1 8.59438"; + scale = "2 2 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-43.0307 -254.053 327.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-253.33 -304.456 277.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-151.644 208.047 260.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-319.06 56.1899 203.711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-313.821 -164.286 252.488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + locked = "true"; + }; + new TSStatic() { + position = "47.1544 -311.99 262.18"; + rotation = "0 0 -1 63.5983"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "135.769 -162.594 239.533"; + rotation = "0 0 -1 34.3775"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "101.25 190.552 253.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "104.466 364.141 231.365"; + rotation = "0.0544589 -0.136347 -0.989163 43.9766"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-39.4332 415.484 214.148"; + rotation = "0.0648631 -0.316009 -0.946536 37.9451"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-162.68 616.163 88.4461"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/centaur.vl2/readme.txt b/public/base/@vl2/centaur.vl2/readme.txt new file mode 100644 index 00000000..d9244e73 --- /dev/null +++ b/public/base/@vl2/centaur.vl2/readme.txt @@ -0,0 +1,43 @@ +================================================================================ +* Tribes 2 LEVEL INFORMATION * +-------------------------------------------------------------------------------- +TITLE : Centaur +FILENAME : Centaur.zip +.zip CONTENTS : Files to play this level +AUTHOR : Stuart "Vovin" Presley +e-Mail : stuart_presley@hotmail.com +HOMEPAGE : http://www.vovin.com +DATE : 05/09/2001 +GAME PLAY TYPE : Siege + +-------------------------------------------------------------------------------- +* LEVEL DESCRIPTION * +-------------------------------------------------------------------------------- +Centaur is a siege level on a lush mountain island. The Offensive team has +access to a vehical pad which will be one key to taking the island. The +defensive team must use their height to an advantage. Maintaining the AA Support +will be a vital role in defending the base. + +Bots: The bot support is a little odd. For some reason, the map may crash if +you enable bot support. To work around this issue. Load the map without bots +enabled and then reload yet again, this time with bots enabled. + +If any one knows the cause of this error please fill free to contact me. +-------------------------------------------------------------------------------- + + +* Installation * +-------------------------------------------------------------------------------- +Unzip into your tribes2\gamedata\base directory +-------------------------------------------------------------------------------- + + +* COPYRIGHT/PERMISSIONS * +-------------------------------------------------------------------------------- +Authors MAY use this file to create alternate missions. Please give credit where +it is due. + +You MAY NOT include this file in any magazine or on any CD without my consent. +This file MAY be placed on any web site as long as the zip contents are not +changed. +-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/public/base/@vl2/centaur.vl2/terrains/Centaur.nav b/public/base/@vl2/centaur.vl2/terrains/Centaur.nav new file mode 100644 index 00000000..24685fe5 Binary files /dev/null and b/public/base/@vl2/centaur.vl2/terrains/Centaur.nav differ diff --git a/public/base/@vl2/centaur.vl2/terrains/Centaur.spn b/public/base/@vl2/centaur.vl2/terrains/Centaur.spn new file mode 100644 index 00000000..33c5a31e Binary files /dev/null and b/public/base/@vl2/centaur.vl2/terrains/Centaur.spn differ diff --git a/public/base/@vl2/centaur.vl2/terrains/Centaur.ter b/public/base/@vl2/centaur.vl2/terrains/Centaur.ter new file mode 100644 index 00000000..8db8814f Binary files /dev/null and b/public/base/@vl2/centaur.vl2/terrains/Centaur.ter differ diff --git a/public/base/@vl2/centaur.vl2/terrains/heightfield/Centaur_heightfield.cs b/public/base/@vl2/centaur.vl2/terrains/heightfield/Centaur_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/centaur.vl2/terrains/heightfield/Centaur_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/centaur.vl2/terrains/texture/Centaur_texture.cs b/public/base/@vl2/centaur.vl2/terrains/texture/Centaur_texture.cs new file mode 100644 index 00000000..9fa0c3d4 --- /dev/null +++ b/public/base/@vl2/centaur.vl2/terrains/texture/Centaur_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("LushWorld.RockLight\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t688453925\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.03077 0.13846 0.26154 0.36154 0.42308 0.44615 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.Lakebed\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t1787271413\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Water Level\ttab_WaterMask\t1005\t1004\twaterDistort\t0"); +Texture::addMaterial("LushWorld.DirtMossy\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1997695663\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.03077 0.07692 0.14615 0.13846 0.11538 0.06154 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.GrassMixed\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t957487229\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.35385 0.21538 0.12308 0.08462 0.06923 0.06154 0.04615 0.03077 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/centaur.vl2/textures/gui/LOAD_Centaur.png b/public/base/@vl2/centaur.vl2/textures/gui/LOAD_Centaur.png new file mode 100644 index 00000000..0cce643f Binary files /dev/null and b/public/base/@vl2/centaur.vl2/textures/gui/LOAD_Centaur.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ecombo1a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ecombo1a.png new file mode 100644 index 00000000..27aa9bcb Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ecombo1a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ecombo1b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ecombo1b.png new file mode 100644 index 00000000..b29f6154 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ecombo1b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_eport01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_eport01.png new file mode 100644 index 00000000..f14dfcd7 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_eport01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_eport01c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_eport01c.png new file mode 100644 index 00000000..449d8442 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_eport01c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_espec01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_espec01.png new file mode 100644 index 00000000..1e535fb5 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_espec01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_espec02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_espec02.png new file mode 100644 index 00000000..05883833 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_espec02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_espec02BASE.png b/public/base/@vl2/desert.vl2/textures/desert/cp_espec02BASE.png new file mode 100644 index 00000000..4554009f Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_espec02BASE.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_espec02CAP.png b/public/base/@vl2/desert.vl2/textures/desert/cp_espec02CAP.png new file mode 100644 index 00000000..500f1a85 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_espec02CAP.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_espec03.png b/public/base/@vl2/desert.vl2/textures/desert/cp_espec03.png new file mode 100644 index 00000000..cc6e64c1 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_espec03.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_etec01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_etec01.png new file mode 100644 index 00000000..53856b99 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_etec01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_etec02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_etec02.png new file mode 100644 index 00000000..7ffdcf9a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_etec02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01.png new file mode 100644 index 00000000..836798d7 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01a.png new file mode 100644 index 00000000..97c9e397 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01b.png new file mode 100644 index 00000000..c460d04e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01c.png new file mode 100644 index 00000000..e3e3a52e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01d.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01d.png new file mode 100644 index 00000000..fef8c98e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01d.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01e.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01e.png new file mode 100644 index 00000000..df5a76f0 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01e.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01f.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01f.png new file mode 100644 index 00000000..5e6348a3 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ewal01f.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ibor01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor01.png new file mode 100644 index 00000000..463c4647 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ibor01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor01a.png new file mode 100644 index 00000000..a165ad30 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ibor02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor02.png new file mode 100644 index 00000000..e127073a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ibor02a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor02a.png new file mode 100644 index 00000000..2c3171eb Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor02a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ibor03.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor03.png new file mode 100644 index 00000000..e07b0a3c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ibor03.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ichute01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ichute01.png new file mode 100644 index 00000000..cb3a6384 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ichute01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ichute02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ichute02.png new file mode 100644 index 00000000..3e9af212 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ichute02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icoldeco01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icoldeco01.png new file mode 100644 index 00000000..b4ba3aca Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icoldeco01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icoldeco01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icoldeco01a.png new file mode 100644 index 00000000..062eb126 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icoldeco01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icoligolA.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icoligolA.png new file mode 100644 index 00000000..025e478b Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icoligolA.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01b.png new file mode 100644 index 00000000..0eec2375 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01c.png new file mode 100644 index 00000000..f2a1bfe0 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01e.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01e.png new file mode 100644 index 00000000..2b819ab5 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01e.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01f.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01f.png new file mode 100644 index 00000000..8fb61b2f Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01f.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01g.png b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01g.png new file mode 100644 index 00000000..8c4b6c85 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_icomp01g.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_idoo01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_idoo01.png new file mode 100644 index 00000000..8adaf276 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_idoo01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iflo01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo01.png new file mode 100644 index 00000000..7bee9e0e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iflo01d.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo01d.png new file mode 100644 index 00000000..f7dbd326 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo01d.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02.png new file mode 100644 index 00000000..b5fc4d48 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02a.png new file mode 100644 index 00000000..49d1e83b Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02b.png new file mode 100644 index 00000000..63c47f64 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02c.png new file mode 100644 index 00000000..62fb96b8 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iflo02c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig01.png new file mode 100644 index 00000000..0c83a715 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig01a.png new file mode 100644 index 00000000..1d487cfb Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02.png new file mode 100644 index 00000000..0db3e612 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02a.png new file mode 100644 index 00000000..9ac3f9ea Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02b.png new file mode 100644 index 00000000..408f3854 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02c.png new file mode 100644 index 00000000..ab68af2c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig02c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig05a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig05a.png new file mode 100644 index 00000000..5ec6e086 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig05a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ilig05b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig05b.png new file mode 100644 index 00000000..6aacda10 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ilig05b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispec01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec01.png new file mode 100644 index 00000000..79d4f736 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispec01CAP.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec01CAP.png new file mode 100644 index 00000000..21f1ddb5 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec01CAP.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispec02CAP.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec02CAP.png new file mode 100644 index 00000000..f9dfab96 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec02CAP.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispec02b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec02b.png new file mode 100644 index 00000000..179cceab Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispec02b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01.png new file mode 100644 index 00000000..606338fb Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01a.png new file mode 100644 index 00000000..06cde0e1 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01d.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01d.png new file mode 100644 index 00000000..56cecc4a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01d.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01f.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01f.png new file mode 100644 index 00000000..eaccd7b9 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01f.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01g.png b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01g.png new file mode 100644 index 00000000..a99be101 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_ispecbase01g.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istair01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istair01.png new file mode 100644 index 00000000..4dbe218b Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istair01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01.png new file mode 100644 index 00000000..476c536c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01c.png new file mode 100644 index 00000000..90a82003 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01d.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01d.png new file mode 100644 index 00000000..1226e4e3 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01d.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01e.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01e.png new file mode 100644 index 00000000..302c8382 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01e.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01f.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01f.png new file mode 100644 index 00000000..5fa1ab27 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01f.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01g.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01g.png new file mode 100644 index 00000000..4dc10a29 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01g.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01h.png b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01h.png new file mode 100644 index 00000000..04851619 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_istrface01h.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itec01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itec01.png new file mode 100644 index 00000000..275c5fa9 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itec01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itec01c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itec01c.png new file mode 100644 index 00000000..855941a0 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itec01c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itec02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itec02.png new file mode 100644 index 00000000..89c049b2 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itec02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itec03a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itec03a.png new file mode 100644 index 00000000..74c1af7c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itec03a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itec03b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itec03b.png new file mode 100644 index 00000000..5cecea47 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itec03b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01.png new file mode 100644 index 00000000..50d590b9 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01a.png new file mode 100644 index 00000000..d22c4bc8 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01b.png new file mode 100644 index 00000000..ca02fb0c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_itecwal01b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02b.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02b.png new file mode 100644 index 00000000..958cfe37 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02d.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02d.png new file mode 100644 index 00000000..87a996cd Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02d.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02f.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02f.png new file mode 100644 index 00000000..6d8b6ec6 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02f.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02g.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02g.png new file mode 100644 index 00000000..aa40ff31 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iwal02g.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iwalbase02.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iwalbase02.png new file mode 100644 index 00000000..0865c4d8 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iwalbase02.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_iwalbase02a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_iwalbase02a.png new file mode 100644 index 00000000..8c1cc57b Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_iwalbase02a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_sand.png b/public/base/@vl2/desert.vl2/textures/desert/cp_sand.png new file mode 100644 index 00000000..dd55884c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_sand.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_screen.png b/public/base/@vl2/desert.vl2/textures/desert/cp_screen.png new file mode 100644 index 00000000..81ce8135 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_screen.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_scrnbrdr01a.png b/public/base/@vl2/desert.vl2/textures/desert/cp_scrnbrdr01a.png new file mode 100644 index 00000000..f037942c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_scrnbrdr01a.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_scrnbrdr01c.png b/public/base/@vl2/desert.vl2/textures/desert/cp_scrnbrdr01c.png new file mode 100644 index 00000000..49646241 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_scrnbrdr01c.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_thresh01OFF.png b/public/base/@vl2/desert.vl2/textures/desert/cp_thresh01OFF.png new file mode 100644 index 00000000..0b3fe546 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_thresh01OFF.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/cp_thresh01ON.png b/public/base/@vl2/desert.vl2/textures/desert/cp_thresh01ON.png new file mode 100644 index 00000000..6b843aac Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/cp_thresh01ON.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_b.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_b.bm8 new file mode 100644 index 00000000..6de749e8 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_b.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_b.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_b.png new file mode 100644 index 00000000..83771f88 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_b.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_d.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_d.bm8 new file mode 100644 index 00000000..83261aca Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_d.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_d.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_d.png new file mode 100644 index 00000000..3653e1b0 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_d.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_f.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_f.bm8 new file mode 100644 index 00000000..c9a326ca Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_f.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_f.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_f.png new file mode 100644 index 00000000..149495c4 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_f.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_l.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_l.bm8 new file mode 100644 index 00000000..5935b053 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_l.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_l.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_l.png new file mode 100644 index 00000000..c93adf02 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_l.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_r.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_r.bm8 new file mode 100644 index 00000000..29f0def4 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_r.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_r.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_r.png new file mode 100644 index 00000000..1fb05a24 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_r.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_t.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_t.bm8 new file mode 100644 index 00000000..83420e02 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_t.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_t.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_t.png new file mode 100644 index 00000000..bdc40bba Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_N_t.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move1.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move1.bm8 new file mode 100644 index 00000000..3d8040a5 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move1.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move1.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move1.png new file mode 100644 index 00000000..b7d4015e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move1.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move2.bm8 new file mode 100644 index 00000000..c23e8628 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move2.png new file mode 100644 index 00000000..c4df915c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move3.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move3.bm8 new file mode 100644 index 00000000..9e13e28d Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move3.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move3.png b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move3.png new file mode 100644 index 00000000..ffbae64e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/d_n_move3.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/db2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/db2.bm8 new file mode 100644 index 00000000..0333651e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/db2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/db2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/db2.png new file mode 100644 index 00000000..5e54e388 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/db2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dd2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/dd2.bm8 new file mode 100644 index 00000000..d7e9136c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dd2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dd2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/dd2.png new file mode 100644 index 00000000..de4d347a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dd2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desert_blue_emap.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_blue_emap.bm8 new file mode 100644 index 00000000..ff016e42 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_blue_emap.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desert_blue_emap.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_blue_emap.png new file mode 100644 index 00000000..f0904c99 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_blue_emap.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desert_brown_emap.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_brown_emap.bm8 new file mode 100644 index 00000000..3def74fd Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_brown_emap.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desert_brown_emap.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_brown_emap.png new file mode 100644 index 00000000..0810316f Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_brown_emap.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desert_starrynite_emap.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_starrynite_emap.bm8 new file mode 100644 index 00000000..4f7c070c Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_starrynite_emap.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desert_starrynite_emap.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_starrynite_emap.png new file mode 100644 index 00000000..a469cef7 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desert_starrynite_emap.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove1.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove1.bm8 new file mode 100644 index 00000000..84eb901d Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove1.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove1.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove1.png new file mode 100644 index 00000000..a83b982e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove1.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove2.bm8 new file mode 100644 index 00000000..028086f8 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove2.png new file mode 100644 index 00000000..c2493972 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove3.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove3.bm8 new file mode 100644 index 00000000..8875618f Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove3.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove3.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove3.png new file mode 100644 index 00000000..2d56d57f Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove3.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove4.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove4.bm8 new file mode 100644 index 00000000..223e467d Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove4.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove4.png b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove4.png new file mode 100644 index 00000000..2a8abdbe Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/desertmove4.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/df2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/df2.bm8 new file mode 100644 index 00000000..b2afa545 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/df2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/df2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/df2.png new file mode 100644 index 00000000..4b1c6b17 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/df2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dl2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/dl2.bm8 new file mode 100644 index 00000000..aedbd420 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dl2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dl2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/dl2.png new file mode 100644 index 00000000..8ccacc3b Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dl2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dr2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/dr2.bm8 new file mode 100644 index 00000000..a89977f1 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dr2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dr2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/dr2.png new file mode 100644 index 00000000..e7466891 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dr2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dt2.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/dt2.bm8 new file mode 100644 index 00000000..46a5ea71 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dt2.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/dt2.png b/public/base/@vl2/desert.vl2/textures/desert/skies/dt2.png new file mode 100644 index 00000000..605c2d73 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/dt2.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_BK.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_BK.bm8 new file mode 100644 index 00000000..9e18f0e9 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_BK.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_BK.png b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_BK.png new file mode 100644 index 00000000..0095ee5e Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_BK.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_DN.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_DN.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_DN.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_DN.png b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_DN.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_FR.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_FR.bm8 new file mode 100644 index 00000000..4394e727 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_FR.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_FR.png b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_FR.png new file mode 100644 index 00000000..8806a331 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_FR.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_LF.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_LF.bm8 new file mode 100644 index 00000000..0a8027cb Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_LF.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_LF.png b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_LF.png new file mode 100644 index 00000000..e2ce363a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_LF.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_RT.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_RT.bm8 new file mode 100644 index 00000000..342b3a25 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_RT.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_RT.png b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_RT.png new file mode 100644 index 00000000..ad0b54fe Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_RT.png differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_UP.bm8 b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_UP.bm8 new file mode 100644 index 00000000..78bebc8a Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_UP.bm8 differ diff --git a/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_UP.png b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_UP.png new file mode 100644 index 00000000..9ca7fc32 Binary files /dev/null and b/public/base/@vl2/desert.vl2/textures/desert/skies/starrynite_v3_UP.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/rockSnow2.png b/public/base/@vl2/ice.vl2/textures/ice/rockSnow2.png new file mode 100644 index 00000000..3eb4f706 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/rockSnow2.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/rockblue5.png b/public/base/@vl2/ice.vl2/textures/ice/rockblue5.png new file mode 100644 index 00000000..54bb69e6 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/rockblue5.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_b.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_b.bm8 new file mode 100644 index 00000000..9ce5ca2a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_b.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_b.png b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_b.png new file mode 100644 index 00000000..9b10fbd3 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_bottom.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_bottom.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_bottom.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_bottom.png b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_bottom.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_bottom.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_f.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_f.bm8 new file mode 100644 index 00000000..f7dc4955 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_f.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_f.png b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_f.png new file mode 100644 index 00000000..ccc16cf8 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_f.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_l.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_l.bm8 new file mode 100644 index 00000000..d2109254 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_l.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_l.png b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_l.png new file mode 100644 index 00000000..a1fef28c Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_l.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_r.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_r.bm8 new file mode 100644 index 00000000..d6b97ad1 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_r.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_r.png b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_r.png new file mode 100644 index 00000000..a613b7d6 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_r.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_t.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_t.bm8 new file mode 100644 index 00000000..1e37ac5f Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_t.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/dark_t.png b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_t.png new file mode 100644 index 00000000..2919745e Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/dark_t.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/ice_blue_emap.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_blue_emap.bm8 new file mode 100644 index 00000000..d46775f5 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_blue_emap.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/ice_blue_emap.png b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_blue_emap.png new file mode 100644 index 00000000..013079bb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_blue_emap.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/ice_nite_emap.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_nite_emap.bm8 new file mode 100644 index 00000000..ef9a4da1 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_nite_emap.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/ice_nite_emap.png b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_nite_emap.png new file mode 100644 index 00000000..13dd4bf2 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/ice_nite_emap.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud1.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud1.bm8 new file mode 100644 index 00000000..5972a69d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud1.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud1.png b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud1.png new file mode 100644 index 00000000..9a6eb1e6 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud1.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud2.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud2.bm8 new file mode 100644 index 00000000..783ac736 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud2.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud2.png b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud2.png new file mode 100644 index 00000000..8f183a95 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud2.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud3.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud3.bm8 new file mode 100644 index 00000000..f82626bb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud3.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud3.png b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud3.png new file mode 100644 index 00000000..ef09ee95 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/icecloud3.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_BK.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_BK.bm8 new file mode 100644 index 00000000..13d7604e Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_BK.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_BK.png b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_BK.png new file mode 100644 index 00000000..ed8ef50d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_BK.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_DN.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_DN.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_DN.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_DN.png b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_DN.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_FR.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_FR.bm8 new file mode 100644 index 00000000..421f6282 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_FR.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_FR.png b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_FR.png new file mode 100644 index 00000000..a403d56a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_FR.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_LF.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_LF.bm8 new file mode 100644 index 00000000..421f6282 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_LF.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_LF.png b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_LF.png new file mode 100644 index 00000000..a403d56a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_LF.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_RT.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_RT.bm8 new file mode 100644 index 00000000..53df8bcf Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_RT.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_RT.png b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_RT.png new file mode 100644 index 00000000..c2008361 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_RT.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_UP.bm8 b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_UP.bm8 new file mode 100644 index 00000000..fc4e51ab Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_UP.bm8 differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_UP.png b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_UP.png new file mode 100644 index 00000000..7e837db5 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/skies/starrynite_v1_UP.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/snowrock.png b/public/base/@vl2/ice.vl2/textures/ice/snowrock.png new file mode 100644 index 00000000..16a95e8d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/snowrock.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/snowrock2.png b/public/base/@vl2/ice.vl2/textures/ice/snowrock2.png new file mode 100644 index 00000000..9976f80a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/snowrock2.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ebor01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ebor01.png new file mode 100644 index 00000000..6c6a4646 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ebor01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01.png new file mode 100644 index 00000000..6a650292 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01a.png new file mode 100644 index 00000000..680d9728 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01b.png new file mode 100644 index 00000000..c37ac92d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01c.png new file mode 100644 index 00000000..0cfcfc76 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap01c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ecap02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap02.png new file mode 100644 index 00000000..a5c15c5b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ecap02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_edoor01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor01.png new file mode 100644 index 00000000..9adcf231 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_edoor02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor02.png new file mode 100644 index 00000000..16cb93f5 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_edoor03.png b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor03.png new file mode 100644 index 00000000..6f65d37c Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor03.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_edoor04.png b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor04.png new file mode 100644 index 00000000..2efe91fe Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_edoor04.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01.png new file mode 100644 index 00000000..d2a2fb44 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01a.png new file mode 100644 index 00000000..3246aa7d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01b.png new file mode 100644 index 00000000..db2ff600 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01c.png new file mode 100644 index 00000000..ffa539f5 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_eflo01c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_elig01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_elig01.png new file mode 100644 index 00000000..b9e5c6a8 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_elig01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_elig02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_elig02.png new file mode 100644 index 00000000..e972dd05 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_elig02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_espec01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_espec01.png new file mode 100644 index 00000000..01683ab9 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_espec01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_espec02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_espec02.png new file mode 100644 index 00000000..c47669a9 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_espec02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_espec03.png b/public/base/@vl2/ice.vl2/textures/ice/sw_espec03.png new file mode 100644 index 00000000..6fb522ad Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_espec03.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01.png new file mode 100644 index 00000000..aa886c19 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01a.png new file mode 100644 index 00000000..3dd8bb40 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01b.png new file mode 100644 index 00000000..330a089b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01c.png new file mode 100644 index 00000000..d38f4d2a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01d.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01d.png new file mode 100644 index 00000000..31b8aaca Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal01d.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal02.png new file mode 100644 index 00000000..51e2e342 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal02a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal02a.png new file mode 100644 index 00000000..02d99a06 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal02a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal03.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal03.png new file mode 100644 index 00000000..e0beaf71 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal03.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal03a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal03a.png new file mode 100644 index 00000000..056fbaaf Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal03a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal04.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal04.png new file mode 100644 index 00000000..f173f199 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal04.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06.png new file mode 100644 index 00000000..9e091faa Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06b.png new file mode 100644 index 00000000..f843a8e9 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06c.png new file mode 100644 index 00000000..dfc801f2 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06d.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06d.png new file mode 100644 index 00000000..b21e52db Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ewal06d.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_floorgrate.png b/public/base/@vl2/ice.vl2/textures/ice/sw_floorgrate.png new file mode 100644 index 00000000..395aef59 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_floorgrate.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_floorthresh.png b/public/base/@vl2/ice.vl2/textures/ice/sw_floorthresh.png new file mode 100644 index 00000000..be9f5450 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_floorthresh.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ibor01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ibor01.png new file mode 100644 index 00000000..d3fd9606 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ibor01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ibor01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ibor01a.png new file mode 100644 index 00000000..50ee7462 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ibor01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01.png new file mode 100644 index 00000000..83e9939f Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01a.png new file mode 100644 index 00000000..907c98c7 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01b.png new file mode 100644 index 00000000..5eab7eb1 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02.png new file mode 100644 index 00000000..57a0d5cb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02a.png new file mode 100644 index 00000000..108e09e6 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02b.png new file mode 100644 index 00000000..c34f945c Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iborlig02b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icei01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icei01.png new file mode 100644 index 00000000..bc0ecd34 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icei01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icei01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icei01a.png new file mode 100644 index 00000000..625dcbd1 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icei01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icei02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icei02.png new file mode 100644 index 00000000..b4ca6dce Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icei02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icei02a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icei02a.png new file mode 100644 index 00000000..0524ea72 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icei02a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ichute01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ichute01.png new file mode 100644 index 00000000..0eb15dc3 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ichute01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ichute02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ichute02.png new file mode 100644 index 00000000..25378066 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ichute02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icol01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icol01.png new file mode 100644 index 00000000..161e8491 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icol01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icol01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icol01a.png new file mode 100644 index 00000000..02b4b3da Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icol01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icolBASE.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icolBASE.png new file mode 100644 index 00000000..56b9b4b1 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icolBASE.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icolCAP01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icolCAP01.png new file mode 100644 index 00000000..43f2fe4c Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icolCAP01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icolCAP02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icolCAP02.png new file mode 100644 index 00000000..2cfc825e Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icolCAP02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icolSPEC01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icolSPEC01.png new file mode 100644 index 00000000..0783a8e3 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icolSPEC01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icolSPEC02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icolSPEC02.png new file mode 100644 index 00000000..211a4bc9 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icolSPEC02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_icoligolA.png b/public/base/@vl2/ice.vl2/textures/ice/sw_icoligolA.png new file mode 100644 index 00000000..025e478b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_icoligolA.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01.png new file mode 100644 index 00000000..78a6e91d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01a.png new file mode 100644 index 00000000..4d72b287 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01b.png new file mode 100644 index 00000000..3748a44f Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01c.png new file mode 100644 index 00000000..aa845145 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ifloor01c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ilig01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig01.png new file mode 100644 index 00000000..ae47902b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ilig02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig02.png new file mode 100644 index 00000000..acb343b0 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ilig03.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig03.png new file mode 100644 index 00000000..5d719658 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig03.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ilig04.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig04.png new file mode 100644 index 00000000..90ba760b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ilig04.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe01.png new file mode 100644 index 00000000..6cfb23c3 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe01a.png new file mode 100644 index 00000000..d6613f91 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe02.png new file mode 100644 index 00000000..e3ac872d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ipipe02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01.png new file mode 100644 index 00000000..a405d77f Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01agl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01agl.png new file mode 100644 index 00000000..06b1ad8a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01agl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01gl.png new file mode 100644 index 00000000..0ddb3e64 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec01gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02.png new file mode 100644 index 00000000..19eb9082 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02agl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02agl.png new file mode 100644 index 00000000..68909bcb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02agl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02gl.png new file mode 100644 index 00000000..9fb016fa Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec02gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec03.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec03.png new file mode 100644 index 00000000..e8845a19 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec03.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_ispec03glue.png b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec03glue.png new file mode 100644 index 00000000..82d7e085 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_ispec03glue.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01.png new file mode 100644 index 00000000..7be3e315 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01Snow.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01Snow.png new file mode 100644 index 00000000..6f5923fb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01Snow.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01_4BSb.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01_4BSb.png new file mode 100644 index 00000000..8f29e99b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01_4BSb.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01_4BSgl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01_4BSgl.png new file mode 100644 index 00000000..1338a5d4 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01_4BSgl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01gl.png new file mode 100644 index 00000000..c1e22cac Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal01gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal02.png new file mode 100644 index 00000000..ddf2244e Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal02Snow.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal02Snow.png new file mode 100644 index 00000000..b2fee1a4 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal02Snow.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03.png new file mode 100644 index 00000000..0fe71da8 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal035BSEb.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal035BSEb.png new file mode 100644 index 00000000..6fd7ebbf Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal035BSEb.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal035BSEgl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal035BSEgl.png new file mode 100644 index 00000000..f0573345 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal035BSEgl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03Snow.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03Snow.png new file mode 100644 index 00000000..e179c09e Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03Snow.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03gl.png new file mode 100644 index 00000000..9ad9f550 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal03gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal04.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal04.png new file mode 100644 index 00000000..8270d3e7 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal04.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal04gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal04gl.png new file mode 100644 index 00000000..57b5c5e1 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal04gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal05.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal05.png new file mode 100644 index 00000000..d7fe91b7 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal05.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwal05gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal05gl.png new file mode 100644 index 00000000..95c2e40d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwal05gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP01agl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP01agl.png new file mode 100644 index 00000000..3fbeef94 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP01agl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP01gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP01gl.png new file mode 100644 index 00000000..0c6f6eff Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP01gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP02agl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP02agl.png new file mode 100644 index 00000000..6dec67fb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP02agl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP02gl.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP02gl.png new file mode 100644 index 00000000..4a734e5b Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalCAP02gl.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01.png new file mode 100644 index 00000000..d51c0859 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01b.png new file mode 100644 index 00000000..6e255f0a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01c.png new file mode 100644 index 00000000..4b80875a Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01d.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01d.png new file mode 100644 index 00000000..2c51441c Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap01d.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02.png new file mode 100644 index 00000000..94a219e0 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02b.png new file mode 100644 index 00000000..8898eddb Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02c.png new file mode 100644 index 00000000..2901c30c Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02d.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02d.png new file mode 100644 index 00000000..90f4bc42 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalcap02d.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_iwalsubcap.png b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalsubcap.png new file mode 100644 index 00000000..da08e01d Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_iwalsubcap.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_screen.png b/public/base/@vl2/ice.vl2/textures/ice/sw_screen.png new file mode 100644 index 00000000..f322d10f Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_screen.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01.png b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01.png new file mode 100644 index 00000000..3c1fada2 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01a.png b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01a.png new file mode 100644 index 00000000..03fb2634 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01a.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01b.png b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01b.png new file mode 100644 index 00000000..cdd03103 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01b.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01c.png b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01c.png new file mode 100644 index 00000000..836150f0 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_scrnbrdr01c.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_thresh01OFF.png b/public/base/@vl2/ice.vl2/textures/ice/sw_thresh01OFF.png new file mode 100644 index 00000000..c3745dca Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_thresh01OFF.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_thresh01ON.png b/public/base/@vl2/ice.vl2/textures/ice/sw_thresh01ON.png new file mode 100644 index 00000000..d17dbba3 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_thresh01ON.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_threshSIDE.png b/public/base/@vl2/ice.vl2/textures/ice/sw_threshSIDE.png new file mode 100644 index 00000000..19018a97 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_threshSIDE.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/sw_threshgrate.png b/public/base/@vl2/ice.vl2/textures/ice/sw_threshgrate.png new file mode 100644 index 00000000..7839513e Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/sw_threshgrate.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/xsnowrock3.png b/public/base/@vl2/ice.vl2/textures/ice/xsnowrock3.png new file mode 100644 index 00000000..b0938995 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/xsnowrock3.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice/xsnowrock4.png b/public/base/@vl2/ice.vl2/textures/ice/xsnowrock4.png new file mode 100644 index 00000000..519c48f5 Binary files /dev/null and b/public/base/@vl2/ice.vl2/textures/ice/xsnowrock4.png differ diff --git a/public/base/@vl2/ice.vl2/textures/ice_dark.dml b/public/base/@vl2/ice.vl2/textures/ice_dark.dml new file mode 100644 index 00000000..1f6f33c5 --- /dev/null +++ b/public/base/@vl2/ice.vl2/textures/ice_dark.dml @@ -0,0 +1,20 @@ +ice/skies/dark_f +ice/skies/dark_r +ice/skies/dark_b +ice/skies/dark_l +ice/skies/dark_t +ice/skies/dark_bottom +ice/skies/ice_nite_emap +ice/skies/icecloud1 +ice/skies/icecloud2 +ice/skies/icecloud3 + + + + + + + + + + diff --git a/public/base/@vl2/interiors.vl2/interiors/bbase1.dif b/public/base/@vl2/interiors.vl2/interiors/bbase1.dif new file mode 100644 index 00000000..3467c4e4 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbase1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbase4cm.dif b/public/base/@vl2/interiors.vl2/interiors/bbase4cm.dif new file mode 100644 index 00000000..0985bc4e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbase4cm.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbase6.dif b/public/base/@vl2/interiors.vl2/interiors/bbase6.dif new file mode 100644 index 00000000..03908ed5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbase6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbase7.dif b/public/base/@vl2/interiors.vl2/interiors/bbase7.dif new file mode 100644 index 00000000..6a6dc957 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbase7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbase9.dif b/public/base/@vl2/interiors.vl2/interiors/bbase9.dif new file mode 100644 index 00000000..0a8c522f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbase9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg0.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg0.dif new file mode 100644 index 00000000..48e64f41 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg0.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg1.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg1.dif new file mode 100644 index 00000000..60d3df10 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg2.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg2.dif new file mode 100644 index 00000000..a81f269d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg3.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg3.dif new file mode 100644 index 00000000..2c56b323 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg4.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg4.dif new file mode 100644 index 00000000..1fe7f4b1 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg5.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg5.dif new file mode 100644 index 00000000..5fbdf52c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg6.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg6.dif new file mode 100644 index 00000000..215f7d16 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg7.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg7.dif new file mode 100644 index 00000000..39196adc Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg8.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg8.dif new file mode 100644 index 00000000..8a42a751 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdg9.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdg9.dif new file mode 100644 index 00000000..21c383ff Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdg9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdga.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdga.dif new file mode 100644 index 00000000..02cac007 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdga.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdgb.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdgb.dif new file mode 100644 index 00000000..34d98604 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdgb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdgn.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdgn.dif new file mode 100644 index 00000000..5777fedf Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdgn.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbrdgo.dif b/public/base/@vl2/interiors.vl2/interiors/bbrdgo.dif new file mode 100644 index 00000000..2f6882b0 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbrdgo.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunk1.dif b/public/base/@vl2/interiors.vl2/interiors/bbunk1.dif new file mode 100644 index 00000000..329b982a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunk1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunk2.dif b/public/base/@vl2/interiors.vl2/interiors/bbunk2.dif new file mode 100644 index 00000000..9946be3a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunk2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunk5.dif b/public/base/@vl2/interiors.vl2/interiors/bbunk5.dif new file mode 100644 index 00000000..a2e1eb7a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunk5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunk7.dif b/public/base/@vl2/interiors.vl2/interiors/bbunk7.dif new file mode 100644 index 00000000..5e4414d7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunk7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunk8.dif b/public/base/@vl2/interiors.vl2/interiors/bbunk8.dif new file mode 100644 index 00000000..eebfcbe1 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunk8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunk9.dif b/public/base/@vl2/interiors.vl2/interiors/bbunk9.dif new file mode 100644 index 00000000..996c4c8f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunk9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunkb.dif b/public/base/@vl2/interiors.vl2/interiors/bbunkb.dif new file mode 100644 index 00000000..02d0222c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunkb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunkc.dif b/public/base/@vl2/interiors.vl2/interiors/bbunkc.dif new file mode 100644 index 00000000..b9d430e2 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunkc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bbunkd.dif b/public/base/@vl2/interiors.vl2/interiors/bbunkd.dif new file mode 100644 index 00000000..309ad395 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bbunkd.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc1.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc1.dif new file mode 100644 index 00000000..39aa674a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc2.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc2.dif new file mode 100644 index 00000000..12115043 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc3.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc3.dif new file mode 100644 index 00000000..c79dc425 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc4.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc4.dif new file mode 100644 index 00000000..14534923 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc5.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc5.dif new file mode 100644 index 00000000..fec51d1d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc6.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc6.dif new file mode 100644 index 00000000..da2c1223 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc7.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc7.dif new file mode 100644 index 00000000..7b59b41a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc8.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc8.dif new file mode 100644 index 00000000..4528c914 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bmisc9.dif b/public/base/@vl2/interiors.vl2/interiors/bmisc9.dif new file mode 100644 index 00000000..7ac8fe98 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bmisc9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bplat1.dif b/public/base/@vl2/interiors.vl2/interiors/bplat1.dif new file mode 100644 index 00000000..ef5189e5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bplat1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bplat2.dif b/public/base/@vl2/interiors.vl2/interiors/bplat2.dif new file mode 100644 index 00000000..f47dc58d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bplat2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bplat3.dif b/public/base/@vl2/interiors.vl2/interiors/bplat3.dif new file mode 100644 index 00000000..22c64bf7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bplat3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bplat4.dif b/public/base/@vl2/interiors.vl2/interiors/bplat4.dif new file mode 100644 index 00000000..b6684249 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bplat4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bplat6.dif b/public/base/@vl2/interiors.vl2/interiors/bplat6.dif new file mode 100644 index 00000000..8796b09a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bplat6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bpower1.dif b/public/base/@vl2/interiors.vl2/interiors/bpower1.dif new file mode 100644 index 00000000..25843bab Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bpower1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/brock6.dif b/public/base/@vl2/interiors.vl2/interiors/brock6.dif new file mode 100644 index 00000000..91d0c9aa Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/brock6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/brock7.dif b/public/base/@vl2/interiors.vl2/interiors/brock7.dif new file mode 100644 index 00000000..74a9b560 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/brock7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/brock8.dif b/public/base/@vl2/interiors.vl2/interiors/brock8.dif new file mode 100644 index 00000000..95cb45ee Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/brock8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/brocka.dif b/public/base/@vl2/interiors.vl2/interiors/brocka.dif new file mode 100644 index 00000000..56802dc7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/brocka.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/brockc.dif b/public/base/@vl2/interiors.vl2/interiors/brockc.dif new file mode 100644 index 00000000..69199a9c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/brockc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bspir1.dif b/public/base/@vl2/interiors.vl2/interiors/bspir1.dif new file mode 100644 index 00000000..723ee583 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bspir1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bspir2.dif b/public/base/@vl2/interiors.vl2/interiors/bspir2.dif new file mode 100644 index 00000000..93ad7642 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bspir2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bspir3.dif b/public/base/@vl2/interiors.vl2/interiors/bspir3.dif new file mode 100644 index 00000000..5570395e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bspir3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bspir4.dif b/public/base/@vl2/interiors.vl2/interiors/bspir4.dif new file mode 100644 index 00000000..ddf8c299 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bspir4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bspir5.dif b/public/base/@vl2/interiors.vl2/interiors/bspir5.dif new file mode 100644 index 00000000..3dd87acc Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bspir5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/btowr2.dif b/public/base/@vl2/interiors.vl2/interiors/btowr2.dif new file mode 100644 index 00000000..10c26f6c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/btowr2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/btowr5.dif b/public/base/@vl2/interiors.vl2/interiors/btowr5.dif new file mode 100644 index 00000000..ef55b51f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/btowr5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/btowr6.dif b/public/base/@vl2/interiors.vl2/interiors/btowr6.dif new file mode 100644 index 00000000..0e6e6218 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/btowr6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/btowr8.dif b/public/base/@vl2/interiors.vl2/interiors/btowr8.dif new file mode 100644 index 00000000..6b45eac4 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/btowr8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/btowra.dif b/public/base/@vl2/interiors.vl2/interiors/btowra.dif new file mode 100644 index 00000000..57b96702 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/btowra.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bvpad.dif b/public/base/@vl2/interiors.vl2/interiors/bvpad.dif new file mode 100644 index 00000000..943d3158 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bvpad.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bwall1.dif b/public/base/@vl2/interiors.vl2/interiors/bwall1.dif new file mode 100644 index 00000000..335bda9a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bwall1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bwall2.dif b/public/base/@vl2/interiors.vl2/interiors/bwall2.dif new file mode 100644 index 00000000..b5613e75 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bwall2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bwall3.dif b/public/base/@vl2/interiors.vl2/interiors/bwall3.dif new file mode 100644 index 00000000..ef83ca86 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bwall3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/bwall4.dif b/public/base/@vl2/interiors.vl2/interiors/bwall4.dif new file mode 100644 index 00000000..0c2d5e1d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/bwall4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbase2.dif b/public/base/@vl2/interiors.vl2/interiors/dbase2.dif new file mode 100644 index 00000000..44d31860 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbase2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbase3.dif b/public/base/@vl2/interiors.vl2/interiors/dbase3.dif new file mode 100644 index 00000000..f09275b8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbase3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbase4.dif b/public/base/@vl2/interiors.vl2/interiors/dbase4.dif new file mode 100644 index 00000000..ba68faaa Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbase4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg1.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg1.dif new file mode 100644 index 00000000..ba6920f5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg10.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg10.dif new file mode 100644 index 00000000..11722d1b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg10.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg11.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg11.dif new file mode 100644 index 00000000..b129448d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg11.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg2.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg2.dif new file mode 100644 index 00000000..04080788 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg3.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg3.dif new file mode 100644 index 00000000..b5843177 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg3a.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg3a.dif new file mode 100644 index 00000000..4c640218 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg3a.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg4.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg4.dif new file mode 100644 index 00000000..2b55db22 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg5.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg5.dif new file mode 100644 index 00000000..40d2f076 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg6.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg6.dif new file mode 100644 index 00000000..d61f2422 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg7.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg7.dif new file mode 100644 index 00000000..3718710b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg7a.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg7a.dif new file mode 100644 index 00000000..5e032fbe Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg7a.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg8.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg8.dif new file mode 100644 index 00000000..2bcc90a3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg9.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg9.dif new file mode 100644 index 00000000..0812e9d5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbrdg9a.dif b/public/base/@vl2/interiors.vl2/interiors/dbrdg9a.dif new file mode 100644 index 00000000..fae30168 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbrdg9a.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbunk5.dif b/public/base/@vl2/interiors.vl2/interiors/dbunk5.dif new file mode 100644 index 00000000..0c5c33b2 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbunk5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dbunk6.dif b/public/base/@vl2/interiors.vl2/interiors/dbunk6.dif new file mode 100644 index 00000000..4295907f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dbunk6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dmisc1.dif b/public/base/@vl2/interiors.vl2/interiors/dmisc1.dif new file mode 100644 index 00000000..2f4c3655 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dmisc1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dplat1.dif b/public/base/@vl2/interiors.vl2/interiors/dplat1.dif new file mode 100644 index 00000000..9c69ac7f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dplat1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dplat2.dif b/public/base/@vl2/interiors.vl2/interiors/dplat2.dif new file mode 100644 index 00000000..3b9b86fe Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dplat2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dplat3.dif b/public/base/@vl2/interiors.vl2/interiors/dplat3.dif new file mode 100644 index 00000000..429f87e5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dplat3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dpole1.dif b/public/base/@vl2/interiors.vl2/interiors/dpole1.dif new file mode 100644 index 00000000..9a5bf0db Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dpole1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/drock6.dif b/public/base/@vl2/interiors.vl2/interiors/drock6.dif new file mode 100644 index 00000000..c56e3386 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/drock6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/drock7.dif b/public/base/@vl2/interiors.vl2/interiors/drock7.dif new file mode 100644 index 00000000..7839a6f5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/drock7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/drock8.dif b/public/base/@vl2/interiors.vl2/interiors/drock8.dif new file mode 100644 index 00000000..823909e2 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/drock8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/drocka.dif b/public/base/@vl2/interiors.vl2/interiors/drocka.dif new file mode 100644 index 00000000..9739fc25 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/drocka.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dspir1.dif b/public/base/@vl2/interiors.vl2/interiors/dspir1.dif new file mode 100644 index 00000000..ca25bc70 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dspir1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dspir2.dif b/public/base/@vl2/interiors.vl2/interiors/dspir2.dif new file mode 100644 index 00000000..28684d6c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dspir2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dspir3.dif b/public/base/@vl2/interiors.vl2/interiors/dspir3.dif new file mode 100644 index 00000000..681fc0f5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dspir3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dspir4.dif b/public/base/@vl2/interiors.vl2/interiors/dspir4.dif new file mode 100644 index 00000000..e744d277 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dspir4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dspir5.dif b/public/base/@vl2/interiors.vl2/interiors/dspir5.dif new file mode 100644 index 00000000..0508aa8e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dspir5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dtowr1.dif b/public/base/@vl2/interiors.vl2/interiors/dtowr1.dif new file mode 100644 index 00000000..2f53a8dd Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dtowr1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dtowr2.dif b/public/base/@vl2/interiors.vl2/interiors/dtowr2.dif new file mode 100644 index 00000000..d0c48d99 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dtowr2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dtowr4.dif b/public/base/@vl2/interiors.vl2/interiors/dtowr4.dif new file mode 100644 index 00000000..c8fd27ed Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dtowr4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dvent.dif b/public/base/@vl2/interiors.vl2/interiors/dvent.dif new file mode 100644 index 00000000..c92d2723 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dvent.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dvpad.dif b/public/base/@vl2/interiors.vl2/interiors/dvpad.dif new file mode 100644 index 00000000..37064e5d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dvpad.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dvpad1.dif b/public/base/@vl2/interiors.vl2/interiors/dvpad1.dif new file mode 100644 index 00000000..58a1d013 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dvpad1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/dwall1.dif b/public/base/@vl2/interiors.vl2/interiors/dwall1.dif new file mode 100644 index 00000000..3e93b966 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/dwall1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbase3.dif b/public/base/@vl2/interiors.vl2/interiors/pbase3.dif new file mode 100644 index 00000000..4a0cd162 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbase3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdg0.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdg0.dif new file mode 100644 index 00000000..1bc3ff1f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdg0.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdg1.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdg1.dif new file mode 100644 index 00000000..4a74248d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdg1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdg2.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdg2.dif new file mode 100644 index 00000000..d134ba2e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdg2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdg3.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdg3.dif new file mode 100644 index 00000000..b8d048ae Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdg3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdg4.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdg4.dif new file mode 100644 index 00000000..7aa94a67 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdg4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdgn.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdgn.dif new file mode 100644 index 00000000..72cb3ef5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdgn.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdgo.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdgo.dif new file mode 100644 index 00000000..05f875fd Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdgo.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbrdgp.dif b/public/base/@vl2/interiors.vl2/interiors/pbrdgp.dif new file mode 100644 index 00000000..f0f2af71 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbrdgp.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk1.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk1.dif new file mode 100644 index 00000000..ae13e0e4 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk2.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk2.dif new file mode 100644 index 00000000..4aad0611 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk3.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk3.dif new file mode 100644 index 00000000..3d3cb02f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk5.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk5.dif new file mode 100644 index 00000000..58cb0f6d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk6.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk6.dif new file mode 100644 index 00000000..bc16d936 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk7.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk7.dif new file mode 100644 index 00000000..b76bda7c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pbunk8.dif b/public/base/@vl2/interiors.vl2/interiors/pbunk8.dif new file mode 100644 index 00000000..bcda089b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pbunk8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmisc1.dif b/public/base/@vl2/interiors.vl2/interiors/pmisc1.dif new file mode 100644 index 00000000..29e6edf0 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmisc1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmisc2.dif b/public/base/@vl2/interiors.vl2/interiors/pmisc2.dif new file mode 100644 index 00000000..52418ae6 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmisc2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmisc3.dif b/public/base/@vl2/interiors.vl2/interiors/pmisc3.dif new file mode 100644 index 00000000..291da406 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmisc3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmisc4.dif b/public/base/@vl2/interiors.vl2/interiors/pmisc4.dif new file mode 100644 index 00000000..893e5b47 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmisc4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmisc5.dif b/public/base/@vl2/interiors.vl2/interiors/pmisc5.dif new file mode 100644 index 00000000..ce7aaef0 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmisc5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmisca.dif b/public/base/@vl2/interiors.vl2/interiors/pmisca.dif new file mode 100644 index 00000000..ae657889 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmisca.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmiscb.dif b/public/base/@vl2/interiors.vl2/interiors/pmiscb.dif new file mode 100644 index 00000000..d56a734f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmiscb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pmiscc.dif b/public/base/@vl2/interiors.vl2/interiors/pmiscc.dif new file mode 100644 index 00000000..eae0d59d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pmiscc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pplat1.dif b/public/base/@vl2/interiors.vl2/interiors/pplat1.dif new file mode 100644 index 00000000..c52504cc Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pplat1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pplat2.dif b/public/base/@vl2/interiors.vl2/interiors/pplat2.dif new file mode 100644 index 00000000..abae3f84 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pplat2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pplat3.dif b/public/base/@vl2/interiors.vl2/interiors/pplat3.dif new file mode 100644 index 00000000..8d941dd5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pplat3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pplat4.dif b/public/base/@vl2/interiors.vl2/interiors/pplat4.dif new file mode 100644 index 00000000..7b054077 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pplat4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pplat5.dif b/public/base/@vl2/interiors.vl2/interiors/pplat5.dif new file mode 100644 index 00000000..a7116cac Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pplat5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/prock6.dif b/public/base/@vl2/interiors.vl2/interiors/prock6.dif new file mode 100644 index 00000000..e6ca81e3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/prock6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/prock7.dif b/public/base/@vl2/interiors.vl2/interiors/prock7.dif new file mode 100644 index 00000000..0aa14f6f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/prock7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/prock8.dif b/public/base/@vl2/interiors.vl2/interiors/prock8.dif new file mode 100644 index 00000000..6f2dbb89 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/prock8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/procka.dif b/public/base/@vl2/interiors.vl2/interiors/procka.dif new file mode 100644 index 00000000..37c9d8b6 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/procka.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/prockb.dif b/public/base/@vl2/interiors.vl2/interiors/prockb.dif new file mode 100644 index 00000000..19fec81c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/prockb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/prockc.dif b/public/base/@vl2/interiors.vl2/interiors/prockc.dif new file mode 100644 index 00000000..de5ffa4e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/prockc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pspir1.dif b/public/base/@vl2/interiors.vl2/interiors/pspir1.dif new file mode 100644 index 00000000..3ec19321 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pspir1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pspir2.dif b/public/base/@vl2/interiors.vl2/interiors/pspir2.dif new file mode 100644 index 00000000..cbff61df Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pspir2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pspir3.dif b/public/base/@vl2/interiors.vl2/interiors/pspir3.dif new file mode 100644 index 00000000..5f1ffdcc Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pspir3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pspir4.dif b/public/base/@vl2/interiors.vl2/interiors/pspir4.dif new file mode 100644 index 00000000..e090aee9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pspir4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pspir5.dif b/public/base/@vl2/interiors.vl2/interiors/pspir5.dif new file mode 100644 index 00000000..6a9204c7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pspir5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/ptowr1.dif b/public/base/@vl2/interiors.vl2/interiors/ptowr1.dif new file mode 100644 index 00000000..ab5e205a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/ptowr1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/ptowr2.dif b/public/base/@vl2/interiors.vl2/interiors/ptowr2.dif new file mode 100644 index 00000000..7b44f86a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/ptowr2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/ptowr4.dif b/public/base/@vl2/interiors.vl2/interiors/ptowr4.dif new file mode 100644 index 00000000..0f768812 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/ptowr4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/ptowr5.dif b/public/base/@vl2/interiors.vl2/interiors/ptowr5.dif new file mode 100644 index 00000000..4b018eda Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/ptowr5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/ptowr7.dif b/public/base/@vl2/interiors.vl2/interiors/ptowr7.dif new file mode 100644 index 00000000..92595959 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/ptowr7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pvbay1.dif b/public/base/@vl2/interiors.vl2/interiors/pvbay1.dif new file mode 100644 index 00000000..b7d88ddf Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pvbay1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pvpad.dif b/public/base/@vl2/interiors.vl2/interiors/pvpad.dif new file mode 100644 index 00000000..58201b60 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pvpad.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/pwall1.dif b/public/base/@vl2/interiors.vl2/interiors/pwall1.dif new file mode 100644 index 00000000..b2faa2c4 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/pwall1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbase1.dif b/public/base/@vl2/interiors.vl2/interiors/sbase1.dif new file mode 100644 index 00000000..26f6b159 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbase1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbase3.dif b/public/base/@vl2/interiors.vl2/interiors/sbase3.dif new file mode 100644 index 00000000..145769ab Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbase3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbase5.dif b/public/base/@vl2/interiors.vl2/interiors/sbase5.dif new file mode 100644 index 00000000..44c832f0 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbase5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg1.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg1.dif new file mode 100644 index 00000000..58b2cf80 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg2.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg2.dif new file mode 100644 index 00000000..7c992ac7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg3.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg3.dif new file mode 100644 index 00000000..ca147a69 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg4.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg4.dif new file mode 100644 index 00000000..c971de98 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg5.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg5.dif new file mode 100644 index 00000000..e05d06dd Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg6.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg6.dif new file mode 100644 index 00000000..83c06c04 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdg7.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdg7.dif new file mode 100644 index 00000000..e18b2a3f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdg7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdgn.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdgn.dif new file mode 100644 index 00000000..bc42f0dd Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdgn.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbrdgo.dif b/public/base/@vl2/interiors.vl2/interiors/sbrdgo.dif new file mode 100644 index 00000000..9788bb2a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbrdgo.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbunk2.dif b/public/base/@vl2/interiors.vl2/interiors/sbunk2.dif new file mode 100644 index 00000000..2f90fb4d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbunk2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sbunk9.dif b/public/base/@vl2/interiors.vl2/interiors/sbunk9.dif new file mode 100644 index 00000000..03b31439 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sbunk9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smisc1.dif b/public/base/@vl2/interiors.vl2/interiors/smisc1.dif new file mode 100644 index 00000000..cf3ba1cb Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smisc1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smisc3.dif b/public/base/@vl2/interiors.vl2/interiors/smisc3.dif new file mode 100644 index 00000000..32ed7a75 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smisc3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smisc4.dif b/public/base/@vl2/interiors.vl2/interiors/smisc4.dif new file mode 100644 index 00000000..33a2725a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smisc4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smisc5.dif b/public/base/@vl2/interiors.vl2/interiors/smisc5.dif new file mode 100644 index 00000000..14e8a7ed Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smisc5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smisca.dif b/public/base/@vl2/interiors.vl2/interiors/smisca.dif new file mode 100644 index 00000000..c0efe962 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smisca.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smiscb.dif b/public/base/@vl2/interiors.vl2/interiors/smiscb.dif new file mode 100644 index 00000000..e1768322 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smiscb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/smiscc.dif b/public/base/@vl2/interiors.vl2/interiors/smiscc.dif new file mode 100644 index 00000000..7644f12e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/smiscc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/splat1.dif b/public/base/@vl2/interiors.vl2/interiors/splat1.dif new file mode 100644 index 00000000..26ca6438 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/splat1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/splat3.dif b/public/base/@vl2/interiors.vl2/interiors/splat3.dif new file mode 100644 index 00000000..0a89691c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/splat3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/splat7.dif b/public/base/@vl2/interiors.vl2/interiors/splat7.dif new file mode 100644 index 00000000..4cf6f1d3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/splat7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/srock6.dif b/public/base/@vl2/interiors.vl2/interiors/srock6.dif new file mode 100644 index 00000000..bb158f1a Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/srock6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/srock7.dif b/public/base/@vl2/interiors.vl2/interiors/srock7.dif new file mode 100644 index 00000000..d3bba436 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/srock7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/srock8.dif b/public/base/@vl2/interiors.vl2/interiors/srock8.dif new file mode 100644 index 00000000..37097153 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/srock8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/srocka.dif b/public/base/@vl2/interiors.vl2/interiors/srocka.dif new file mode 100644 index 00000000..ad9bab84 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/srocka.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/srockb.dif b/public/base/@vl2/interiors.vl2/interiors/srockb.dif new file mode 100644 index 00000000..4bc173f9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/srockb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/srockc.dif b/public/base/@vl2/interiors.vl2/interiors/srockc.dif new file mode 100644 index 00000000..957948a5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/srockc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sspir1.dif b/public/base/@vl2/interiors.vl2/interiors/sspir1.dif new file mode 100644 index 00000000..06cb1952 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sspir1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sspir2.dif b/public/base/@vl2/interiors.vl2/interiors/sspir2.dif new file mode 100644 index 00000000..3e1aa2d2 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sspir2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sspir3.dif b/public/base/@vl2/interiors.vl2/interiors/sspir3.dif new file mode 100644 index 00000000..ac42a4f9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sspir3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/sspir4.dif b/public/base/@vl2/interiors.vl2/interiors/sspir4.dif new file mode 100644 index 00000000..f96401a3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/sspir4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/stowr1.dif b/public/base/@vl2/interiors.vl2/interiors/stowr1.dif new file mode 100644 index 00000000..f2a8a2f9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/stowr1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/stowr3.dif b/public/base/@vl2/interiors.vl2/interiors/stowr3.dif new file mode 100644 index 00000000..c1c16c3f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/stowr3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/stowr4.dif b/public/base/@vl2/interiors.vl2/interiors/stowr4.dif new file mode 100644 index 00000000..e11ad96f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/stowr4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/stowr6.dif b/public/base/@vl2/interiors.vl2/interiors/stowr6.dif new file mode 100644 index 00000000..bae29551 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/stowr6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/svpad.dif b/public/base/@vl2/interiors.vl2/interiors/svpad.dif new file mode 100644 index 00000000..d6d54627 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/svpad.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/swall1.dif b/public/base/@vl2/interiors.vl2/interiors/swall1.dif new file mode 100644 index 00000000..b937dbcc Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/swall1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbase1.dif b/public/base/@vl2/interiors.vl2/interiors/xbase1.dif new file mode 100644 index 00000000..3359ec82 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbase1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbase2.dif b/public/base/@vl2/interiors.vl2/interiors/xbase2.dif new file mode 100644 index 00000000..9ab738cb Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbase2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg0.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg0.dif new file mode 100644 index 00000000..888544c3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg0.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg1.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg1.dif new file mode 100644 index 00000000..1afaed3c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg10.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg10.dif new file mode 100644 index 00000000..b071e3c4 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg10.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg2.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg2.dif new file mode 100644 index 00000000..e28de3a8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg3.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg3.dif new file mode 100644 index 00000000..23e1cfc7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg4.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg4.dif new file mode 100644 index 00000000..37f8fab4 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg5.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg5.dif new file mode 100644 index 00000000..3a0566fb Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg6.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg6.dif new file mode 100644 index 00000000..7e8bc9bf Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg7.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg7.dif new file mode 100644 index 00000000..54ac3111 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg8.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg8.dif new file mode 100644 index 00000000..aa83da9d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdg9.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdg9.dif new file mode 100644 index 00000000..cdd7a6a9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdg9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdga.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdga.dif new file mode 100644 index 00000000..385af948 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdga.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdgb.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdgb.dif new file mode 100644 index 00000000..55fc1526 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdgb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdgn.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdgn.dif new file mode 100644 index 00000000..68c849ae Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdgn.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbrdgo.dif b/public/base/@vl2/interiors.vl2/interiors/xbrdgo.dif new file mode 100644 index 00000000..5fffa4d5 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbrdgo.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbunk1.dif b/public/base/@vl2/interiors.vl2/interiors/xbunk1.dif new file mode 100644 index 00000000..738333e7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbunk1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbunk2.dif b/public/base/@vl2/interiors.vl2/interiors/xbunk2.dif new file mode 100644 index 00000000..c63dcac8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbunk2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbunk5.dif b/public/base/@vl2/interiors.vl2/interiors/xbunk5.dif new file mode 100644 index 00000000..1008183c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbunk5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbunk6.dif b/public/base/@vl2/interiors.vl2/interiors/xbunk6.dif new file mode 100644 index 00000000..138c84c3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbunk6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbunk9.dif b/public/base/@vl2/interiors.vl2/interiors/xbunk9.dif new file mode 100644 index 00000000..0869b7c8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbunk9.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xbunkb.dif b/public/base/@vl2/interiors.vl2/interiors/xbunkb.dif new file mode 100644 index 00000000..6535c1f9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xbunkb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmisc1.dif b/public/base/@vl2/interiors.vl2/interiors/xmisc1.dif new file mode 100644 index 00000000..5d8550c2 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmisc1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmisc2.dif b/public/base/@vl2/interiors.vl2/interiors/xmisc2.dif new file mode 100644 index 00000000..42bf4d3b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmisc2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmisc3.dif b/public/base/@vl2/interiors.vl2/interiors/xmisc3.dif new file mode 100644 index 00000000..4237aff8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmisc3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmisc4.dif b/public/base/@vl2/interiors.vl2/interiors/xmisc4.dif new file mode 100644 index 00000000..700a71df Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmisc4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmisc5.dif b/public/base/@vl2/interiors.vl2/interiors/xmisc5.dif new file mode 100644 index 00000000..15c28a56 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmisc5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmisca.dif b/public/base/@vl2/interiors.vl2/interiors/xmisca.dif new file mode 100644 index 00000000..87f4d08c Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmisca.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmiscb.dif b/public/base/@vl2/interiors.vl2/interiors/xmiscb.dif new file mode 100644 index 00000000..e35ba632 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmiscb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xmiscc.dif b/public/base/@vl2/interiors.vl2/interiors/xmiscc.dif new file mode 100644 index 00000000..2ee61ef7 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xmiscc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xplat1.dif b/public/base/@vl2/interiors.vl2/interiors/xplat1.dif new file mode 100644 index 00000000..39f3dede Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xplat1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xplat2.dif b/public/base/@vl2/interiors.vl2/interiors/xplat2.dif new file mode 100644 index 00000000..d1853857 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xplat2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xplat3.dif b/public/base/@vl2/interiors.vl2/interiors/xplat3.dif new file mode 100644 index 00000000..f7a136d9 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xplat3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xrock6.dif b/public/base/@vl2/interiors.vl2/interiors/xrock6.dif new file mode 100644 index 00000000..4c7fb78f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xrock6.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xrock7.dif b/public/base/@vl2/interiors.vl2/interiors/xrock7.dif new file mode 100644 index 00000000..7a1acff0 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xrock7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xrock8.dif b/public/base/@vl2/interiors.vl2/interiors/xrock8.dif new file mode 100644 index 00000000..4f16f683 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xrock8.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xrocka.dif b/public/base/@vl2/interiors.vl2/interiors/xrocka.dif new file mode 100644 index 00000000..df4d9f2b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xrocka.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xrockb.dif b/public/base/@vl2/interiors.vl2/interiors/xrockb.dif new file mode 100644 index 00000000..e001eace Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xrockb.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xrockc.dif b/public/base/@vl2/interiors.vl2/interiors/xrockc.dif new file mode 100644 index 00000000..a1c9d37f Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xrockc.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xspir1.dif b/public/base/@vl2/interiors.vl2/interiors/xspir1.dif new file mode 100644 index 00000000..b5c16a9e Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xspir1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xspir2.dif b/public/base/@vl2/interiors.vl2/interiors/xspir2.dif new file mode 100644 index 00000000..cda078b3 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xspir2.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xspir3.dif b/public/base/@vl2/interiors.vl2/interiors/xspir3.dif new file mode 100644 index 00000000..d1b9d17d Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xspir3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xspir5.dif b/public/base/@vl2/interiors.vl2/interiors/xspir5.dif new file mode 100644 index 00000000..de24798b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xspir5.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xtowr1.dif b/public/base/@vl2/interiors.vl2/interiors/xtowr1.dif new file mode 100644 index 00000000..14d06ad8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xtowr1.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xtowr3.dif b/public/base/@vl2/interiors.vl2/interiors/xtowr3.dif new file mode 100644 index 00000000..ee8fe588 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xtowr3.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xtowr4.dif b/public/base/@vl2/interiors.vl2/interiors/xtowr4.dif new file mode 100644 index 00000000..2baaea99 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xtowr4.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xtowr7.dif b/public/base/@vl2/interiors.vl2/interiors/xtowr7.dif new file mode 100644 index 00000000..3f2c3f7b Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xtowr7.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xvpad.dif b/public/base/@vl2/interiors.vl2/interiors/xvpad.dif new file mode 100644 index 00000000..97d66dd8 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xvpad.dif differ diff --git a/public/base/@vl2/interiors.vl2/interiors/xwall1.dif b/public/base/@vl2/interiors.vl2/interiors/xwall1.dif new file mode 100644 index 00000000..bbb76ac1 Binary files /dev/null and b/public/base/@vl2/interiors.vl2/interiors/xwall1.dif differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_Thresh01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_Thresh01.png new file mode 100644 index 00000000..365fb5c4 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_Thresh01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_alarm.png b/public/base/@vl2/lava.vl2/textures/lava/ds_alarm.png new file mode 100644 index 00000000..236eedb2 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_alarm.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_efloor1.png b/public/base/@vl2/lava.vl2/textures/lava/ds_efloor1.png new file mode 100644 index 00000000..db78a8a5 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_efloor1.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_elig01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_elig01.png new file mode 100644 index 00000000..5d858ffc Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_elig01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_elig02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_elig02.png new file mode 100644 index 00000000..404ed60c Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_elig02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_elig03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_elig03.png new file mode 100644 index 00000000..e7e5321a Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_elig03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_etechbor01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_etechbor01.png new file mode 100644 index 00000000..d1d36dc9 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_etechbor01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_etechbrdr2.png b/public/base/@vl2/lava.vl2/textures/lava/ds_etechbrdr2.png new file mode 100644 index 00000000..63a56b73 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_etechbrdr2.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_etrans.png b/public/base/@vl2/lava.vl2/textures/lava/ds_etrans.png new file mode 100644 index 00000000..871f9a22 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_etrans.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_etrans01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_etrans01.png new file mode 100644 index 00000000..33005cde Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_etrans01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01.png new file mode 100644 index 00000000..1aa5a516 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01BASE.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01BASE.png new file mode 100644 index 00000000..29af9bbb Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01BASE.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01a.png new file mode 100644 index 00000000..7f340827 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal01a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewal02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal02.png new file mode 100644 index 00000000..16179b82 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewal02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco01.png new file mode 100644 index 00000000..effcadf5 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco06.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco06.png new file mode 100644 index 00000000..1c67cbfd Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco06.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco07.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco07.png new file mode 100644 index 00000000..c8f58be1 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco07.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco08.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco08.png new file mode 100644 index 00000000..e5027e59 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco08.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco09.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco09.png new file mode 100644 index 00000000..ef734c5b Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewaldeco09.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewall03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall03.png new file mode 100644 index 00000000..94077777 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewall04.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall04.png new file mode 100644 index 00000000..33605b34 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall04.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewall05.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall05.png new file mode 100644 index 00000000..134cb051 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall05.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewall06.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall06.png new file mode 100644 index 00000000..26b89de1 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall06.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ewall07.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall07.png new file mode 100644 index 00000000..f6f835fb Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ewall07.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_floorgrate1.png b/public/base/@vl2/lava.vl2/textures/lava/ds_floorgrate1.png new file mode 100644 index 00000000..7351547e Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_floorgrate1.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_genfloor.png b/public/base/@vl2/lava.vl2/textures/lava/ds_genfloor.png new file mode 100644 index 00000000..955118c5 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_genfloor.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_genwall.png b/public/base/@vl2/lava.vl2/textures/lava/ds_genwall.png new file mode 100644 index 00000000..132c720f Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_genwall.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_girder.png b/public/base/@vl2/lava.vl2/textures/lava/ds_girder.png new file mode 100644 index 00000000..ef2a3ec1 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_girder.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ibor01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor01.png new file mode 100644 index 00000000..4c7feb41 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ibor01a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor01a.png new file mode 100644 index 00000000..99e44859 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor01a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ibor02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor02.png new file mode 100644 index 00000000..f13b4f29 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ibor02a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor02a.png new file mode 100644 index 00000000..d20229b1 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor02a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ibor03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor03.png new file mode 100644 index 00000000..b9770b0b Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ibor04.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor04.png new file mode 100644 index 00000000..c33b94f3 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ibor04.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_icei01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_icei01.png new file mode 100644 index 00000000..9283efa1 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_icei01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iceilig01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iceilig01.png new file mode 100644 index 00000000..e32d0f22 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iceilig01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ichute01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ichute01.png new file mode 100644 index 00000000..9b7c5507 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ichute01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ichute02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ichute02.png new file mode 100644 index 00000000..ed4b4cbb Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ichute02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iflo01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo01.png new file mode 100644 index 00000000..f5698326 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iflo02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo02.png new file mode 100644 index 00000000..c833267a Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iflo03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo03.png new file mode 100644 index 00000000..a6c80173 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iflo04.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo04.png new file mode 100644 index 00000000..3f4b0560 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iflo04.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ifloLig01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ifloLig01.png new file mode 100644 index 00000000..5aaf32fc Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ifloLig01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ifloLig02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ifloLig02.png new file mode 100644 index 00000000..879e399c Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ifloLig02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ihacei01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ihacei01.png new file mode 100644 index 00000000..7d00e4fb Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ihacei01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ihaceilig01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ihaceilig01.png new file mode 100644 index 00000000..069749ac Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ihaceilig01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilavlight.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilavlight.png new file mode 100644 index 00000000..74796e9b Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilavlight.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilig01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig01.png new file mode 100644 index 00000000..49517f3a Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilig02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig02.png new file mode 100644 index 00000000..48ddeabd Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilig03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig03.png new file mode 100644 index 00000000..14ee24d2 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilig04.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig04.png new file mode 100644 index 00000000..d7cf9628 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig04.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilig05.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig05.png new file mode 100644 index 00000000..86a99261 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig05.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_ilig06.png b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig06.png new file mode 100644 index 00000000..73133ea9 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_ilig06.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwal01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwal01.png new file mode 100644 index 00000000..5dbceb8c Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwal01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwal01a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwal01a.png new file mode 100644 index 00000000..cdb1b297 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwal01a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco01.png new file mode 100644 index 00000000..fe98ddea Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco01a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco01a.png new file mode 100644 index 00000000..f5bf370c Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco01a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco02.png new file mode 100644 index 00000000..8456f9a7 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco02a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco02a.png new file mode 100644 index 00000000..7b4a2893 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco02a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco03.png new file mode 100644 index 00000000..f0722812 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco03a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco03a.png new file mode 100644 index 00000000..3f89f833 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco03a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco04.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco04.png new file mode 100644 index 00000000..656e14bd Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco04.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco04a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco04a.png new file mode 100644 index 00000000..5c9153d0 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco04a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco05.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco05.png new file mode 100644 index 00000000..37854f13 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco05.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco05a.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco05a.png new file mode 100644 index 00000000..729d9175 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco05a.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco06.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco06.png new file mode 100644 index 00000000..a056d2b8 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco06.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco07.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco07.png new file mode 100644 index 00000000..51f4051e Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco07.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco08.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco08.png new file mode 100644 index 00000000..f41ab524 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco08.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco09.png b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco09.png new file mode 100644 index 00000000..9b0782a2 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_iwaldeco09.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_jet01.png b/public/base/@vl2/lava.vl2/textures/lava/ds_jet01.png new file mode 100644 index 00000000..5338d340 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_jet01.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_jet02.png b/public/base/@vl2/lava.vl2/textures/lava/ds_jet02.png new file mode 100644 index 00000000..96438d19 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_jet02.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_jet03.png b/public/base/@vl2/lava.vl2/textures/lava/ds_jet03.png new file mode 100644 index 00000000..48171ed6 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_jet03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_mlatched.png b/public/base/@vl2/lava.vl2/textures/lava/ds_mlatched.png new file mode 100644 index 00000000..c92a2699 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_mlatched.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_mriveted2.png b/public/base/@vl2/lava.vl2/textures/lava/ds_mriveted2.png new file mode 100644 index 00000000..2b1993cd Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_mriveted2.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_obsidian.png b/public/base/@vl2/lava.vl2/textures/lava/ds_obsidian.png new file mode 100644 index 00000000..c597b86f Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_obsidian.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_screen.png b/public/base/@vl2/lava.vl2/textures/lava/ds_screen.png new file mode 100644 index 00000000..ed3b87d0 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_screen.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_techborder1.png b/public/base/@vl2/lava.vl2/textures/lava/ds_techborder1.png new file mode 100644 index 00000000..757e6d37 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_techborder1.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_techborder2.png b/public/base/@vl2/lava.vl2/textures/lava/ds_techborder2.png new file mode 100644 index 00000000..05a3883f Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_techborder2.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_1.png b/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_1.png new file mode 100644 index 00000000..9aa8bdf3 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_1.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_2.png b/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_2.png new file mode 100644 index 00000000..9b4fd800 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_2.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_3.png b/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_3.png new file mode 100644 index 00000000..5dd07c34 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_techwall_3.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_06.png b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_06.png new file mode 100644 index 00000000..12ecca6d Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_06.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_07.png b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_07.png new file mode 100644 index 00000000..4738f223 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_07.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_08.png b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_08.png new file mode 100644 index 00000000..efdeafb9 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_08.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_09.png b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_09.png new file mode 100644 index 00000000..8a1280e0 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/ds_walldeco_09.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/lavadirt04.png b/public/base/@vl2/lava.vl2/textures/lava/lavadirt04.png new file mode 100644 index 00000000..631542c1 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/lavadirt04.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/lavarock03.png b/public/base/@vl2/lava.vl2/textures/lava/lavarock03.png new file mode 100644 index 00000000..506a46f0 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/lavarock03.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/lava_starrynite_emap.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/lava_starrynite_emap.bm8 new file mode 100644 index 00000000..3010e7cf Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/lava_starrynite_emap.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/lava_starrynite_emap.png b/public/base/@vl2/lava.vl2/textures/lava/skies/lava_starrynite_emap.png new file mode 100644 index 00000000..68dd81d8 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/lava_starrynite_emap.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_BK.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_BK.bm8 new file mode 100644 index 00000000..b61bfb10 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_BK.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_BK.png b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_BK.png new file mode 100644 index 00000000..f85e5634 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_BK.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_DN.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_DN.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_DN.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_DN.png b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_DN.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_FR.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_FR.bm8 new file mode 100644 index 00000000..2bc137dd Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_FR.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_FR.png b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_FR.png new file mode 100644 index 00000000..9148356e Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_FR.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_LF.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_LF.bm8 new file mode 100644 index 00000000..636e4eac Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_LF.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_LF.png b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_LF.png new file mode 100644 index 00000000..7847ee5d Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_LF.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_RT.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_RT.bm8 new file mode 100644 index 00000000..3ccdac26 Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_RT.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_RT.png b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_RT.png new file mode 100644 index 00000000..5503af7b Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_RT.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_UP.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_UP.bm8 new file mode 100644 index 00000000..7ee2a50a Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_UP.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_UP.png b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_UP.png new file mode 100644 index 00000000..4a3a3eca Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/starrynite_v5_UP.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/volcanic_starrynite_emap.bm8 b/public/base/@vl2/lava.vl2/textures/lava/skies/volcanic_starrynite_emap.bm8 new file mode 100644 index 00000000..7028fb9a Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/volcanic_starrynite_emap.bm8 differ diff --git a/public/base/@vl2/lava.vl2/textures/lava/skies/volcanic_starrynite_emap.png b/public/base/@vl2/lava.vl2/textures/lava/skies/volcanic_starrynite_emap.png new file mode 100644 index 00000000..c2be863c Binary files /dev/null and b/public/base/@vl2/lava.vl2/textures/lava/skies/volcanic_starrynite_emap.png differ diff --git a/public/base/@vl2/lava.vl2/textures/lava_dark.dml b/public/base/@vl2/lava.vl2/textures/lava_dark.dml new file mode 100644 index 00000000..544f1c4a --- /dev/null +++ b/public/base/@vl2/lava.vl2/textures/lava_dark.dml @@ -0,0 +1,20 @@ +ice/skies/dark_f +ice/skies/dark_r +ice/skies/dark_b +ice/skies/dark_l +ice/skies/dark_t +ice/skies/dark_bottom +lava/skies/volcanic_starrynite_emap +ice/skies/icecloud1 +ice/skies/icecloud2 +ice/skies/icecloud3 + + + + + + + + + + diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_Edoo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_Edoo01.png new file mode 100644 index 00000000..024bd91f Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_Edoo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ebor01b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ebor01b.png new file mode 100644 index 00000000..d8355f2b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ebor01b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ebor01d.png b/public/base/@vl2/lush.vl2/textures/lush/be_ebor01d.png new file mode 100644 index 00000000..5007b129 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ebor01d.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ebor01e.png b/public/base/@vl2/lush.vl2/textures/lush/be_ebor01e.png new file mode 100644 index 00000000..e65f1d82 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ebor01e.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ebor02.png b/public/base/@vl2/lush.vl2/textures/lush/be_ebor02.png new file mode 100644 index 00000000..5657b6dd Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ebor02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ebor03.png b/public/base/@vl2/lush.vl2/textures/lush/be_ebor03.png new file mode 100644 index 00000000..be4121d7 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ebor03.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ebor04a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ebor04a.png new file mode 100644 index 00000000..3b338843 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ebor04a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ecombo02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ecombo02a.png new file mode 100644 index 00000000..cc6813a1 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ecombo02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_edoo02.png b/public/base/@vl2/lush.vl2/textures/lush/be_edoo02.png new file mode 100644 index 00000000..df3c3a75 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_edoo02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_edoo03.png b/public/base/@vl2/lush.vl2/textures/lush/be_edoo03.png new file mode 100644 index 00000000..2d4cd35a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_edoo03.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eflo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_eflo01.png new file mode 100644 index 00000000..d7faf614 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eflo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eflo02.png b/public/base/@vl2/lush.vl2/textures/lush/be_eflo02.png new file mode 100644 index 00000000..354fd2b6 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eflo02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_elig01.png b/public/base/@vl2/lush.vl2/textures/lush/be_elig01.png new file mode 100644 index 00000000..390a3426 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_elig01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_elig02.png b/public/base/@vl2/lush.vl2/textures/lush/be_elig02.png new file mode 100644 index 00000000..5092a308 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_elig02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_elig03.png b/public/base/@vl2/lush.vl2/textures/lush/be_elig03.png new file mode 100644 index 00000000..2898b4b3 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_elig03.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_epipe01.png b/public/base/@vl2/lush.vl2/textures/lush/be_epipe01.png new file mode 100644 index 00000000..8601f50b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_epipe01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eport01.png b/public/base/@vl2/lush.vl2/textures/lush/be_eport01.png new file mode 100644 index 00000000..8a3d27fa Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eport01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eport01e.png b/public/base/@vl2/lush.vl2/textures/lush/be_eport01e.png new file mode 100644 index 00000000..66f13ba7 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eport01e.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eport02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_eport02a.png new file mode 100644 index 00000000..96fbfd76 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eport02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eport02b.png b/public/base/@vl2/lush.vl2/textures/lush/be_eport02b.png new file mode 100644 index 00000000..ef5b8560 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eport02b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec01.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec01.png new file mode 100644 index 00000000..f3f621ca Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec02.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec02.png new file mode 100644 index 00000000..a2a08fd4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec03.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec03.png new file mode 100644 index 00000000..b5c84c08 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec03.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec03a.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec03a.png new file mode 100644 index 00000000..803f617e Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec03a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec03b.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec03b.png new file mode 100644 index 00000000..68ae85cf Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec03b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec04.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec04.png new file mode 100644 index 00000000..2e96e56e Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec04.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec05.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec05.png new file mode 100644 index 00000000..04147197 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec05.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec05b.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec05b.png new file mode 100644 index 00000000..da96c2d4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec05b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec06a.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec06a.png new file mode 100644 index 00000000..837631a9 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec06a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec07.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec07.png new file mode 100644 index 00000000..afcb724b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec07.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec08.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec08.png new file mode 100644 index 00000000..27b59649 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec08.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_espec09.png b/public/base/@vl2/lush.vl2/textures/lush/be_espec09.png new file mode 100644 index 00000000..58a76a0a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_espec09.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_etec.png b/public/base/@vl2/lush.vl2/textures/lush/be_etec.png new file mode 100644 index 00000000..6bfcd2f1 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_etec.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02.png b/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02.png new file mode 100644 index 00000000..19e1e0ef Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02a.png new file mode 100644 index 00000000..db1fb107 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02b.png b/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02b.png new file mode 100644 index 00000000..40530573 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_eterrain02b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal01b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal01b.png new file mode 100644 index 00000000..9341f851 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal01b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal02b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal02b.png new file mode 100644 index 00000000..2da3cf3d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal02b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal03a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal03a.png new file mode 100644 index 00000000..217c4d1c Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal03a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal04a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal04a.png new file mode 100644 index 00000000..fc66420b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal04a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal05.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal05.png new file mode 100644 index 00000000..ca665d2c Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal05.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal05a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal05a.png new file mode 100644 index 00000000..0df1c376 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal05a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal05d.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal05d.png new file mode 100644 index 00000000..6f901550 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal05d.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal06.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal06.png new file mode 100644 index 00000000..92146c23 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal06.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal07.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal07.png new file mode 100644 index 00000000..67dfac5e Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal07.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal08.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal08.png new file mode 100644 index 00000000..2a1e494a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal08.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal09b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal09b.png new file mode 100644 index 00000000..2f3dbca0 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal09b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal11b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal11b.png new file mode 100644 index 00000000..823b108b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal11b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal11d.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal11d.png new file mode 100644 index 00000000..c4686a8b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal11d.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewal12b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewal12b.png new file mode 100644 index 00000000..e738f1f9 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewal12b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ewall10.png b/public/base/@vl2/lush.vl2/textures/lush/be_ewall10.png new file mode 100644 index 00000000..5fd515d9 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ewall10.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iColBase01.png b/public/base/@vl2/lush.vl2/textures/lush/be_iColBase01.png new file mode 100644 index 00000000..039a07bb Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iColBase01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iColTop.png b/public/base/@vl2/lush.vl2/textures/lush/be_iColTop.png new file mode 100644 index 00000000..068eea74 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iColTop.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iGeneric.png b/public/base/@vl2/lush.vl2/textures/lush/be_iGeneric.png new file mode 100644 index 00000000..9b377bb8 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iGeneric.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iGenericDark.png b/public/base/@vl2/lush.vl2/textures/lush/be_iGenericDark.png new file mode 100644 index 00000000..79d7a175 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iGenericDark.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei01.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei01.png new file mode 100644 index 00000000..d13e57e1 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei01a.png new file mode 100644 index 00000000..83a3d5f0 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei01b.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei01b.png new file mode 100644 index 00000000..1eeeeac6 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei01b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei01c.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei01c.png new file mode 100644 index 00000000..c1a1981b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei01c.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei02.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei02.png new file mode 100644 index 00000000..dcb82750 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei03.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei03.png new file mode 100644 index 00000000..d6c34855 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei03.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei03b.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei03b.png new file mode 100644 index 00000000..82bcb906 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei03b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icei04.png b/public/base/@vl2/lush.vl2/textures/lush/be_icei04.png new file mode 100644 index 00000000..52d2ed7e Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icei04.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ichute01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ichute01.png new file mode 100644 index 00000000..07ac97bf Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ichute01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ichute02.png b/public/base/@vl2/lush.vl2/textures/lush/be_ichute02.png new file mode 100644 index 00000000..90df1d3d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ichute02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icobor1.png b/public/base/@vl2/lush.vl2/textures/lush/be_icobor1.png new file mode 100644 index 00000000..b7e67af7 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icobor1.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icobor1a.png b/public/base/@vl2/lush.vl2/textures/lush/be_icobor1a.png new file mode 100644 index 00000000..0013cc98 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icobor1a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icocei.png b/public/base/@vl2/lush.vl2/textures/lush/be_icocei.png new file mode 100644 index 00000000..884b3254 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icocei.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icolig.png b/public/base/@vl2/lush.vl2/textures/lush/be_icolig.png new file mode 100644 index 00000000..6e2e4fe0 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icolig.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icolig01.png b/public/base/@vl2/lush.vl2/textures/lush/be_icolig01.png new file mode 100644 index 00000000..cfcadd6c Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icolig01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icoligolA.png b/public/base/@vl2/lush.vl2/textures/lush/be_icoligolA.png new file mode 100644 index 00000000..025e478b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icoligolA.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icomp01.png b/public/base/@vl2/lush.vl2/textures/lush/be_icomp01.png new file mode 100644 index 00000000..51ee9bd0 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icomp01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icomp01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_icomp01a.png new file mode 100644 index 00000000..749d0640 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icomp01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icowal02.png b/public/base/@vl2/lush.vl2/textures/lush/be_icowal02.png new file mode 100644 index 00000000..0ae4f6ee Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icowal02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icowal02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_icowal02a.png new file mode 100644 index 00000000..c9f2d76b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icowal02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_icowal02b.png b/public/base/@vl2/lush.vl2/textures/lush/be_icowal02b.png new file mode 100644 index 00000000..4075bea6 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_icowal02b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iflo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_iflo01.png new file mode 100644 index 00000000..d7c9ad63 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iflo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iflo01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_iflo01a.png new file mode 100644 index 00000000..6b3f45bf Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iflo01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ifloWet.png b/public/base/@vl2/lush.vl2/textures/lush/be_ifloWet.png new file mode 100644 index 00000000..54792e24 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ifloWet.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ifunctec01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ifunctec01.png new file mode 100644 index 00000000..24fedfde Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ifunctec01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ifunctec01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ifunctec01a.png new file mode 100644 index 00000000..8cec375d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ifunctec01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihadoo.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihadoo.png new file mode 100644 index 00000000..7f142ed8 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihadoo.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihaflo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihaflo01.png new file mode 100644 index 00000000..32133026 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihaflo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihalig.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihalig.png new file mode 100644 index 00000000..4d2457f0 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihalig.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihaspe01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihaspe01.png new file mode 100644 index 00000000..fe5a4626 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihaspe01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal01.png new file mode 100644 index 00000000..cf6dc5c9 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal02.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal02.png new file mode 100644 index 00000000..2914f2b8 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04.png new file mode 100644 index 00000000..04f41d8a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04a.png new file mode 100644 index 00000000..e225c24a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04b.png new file mode 100644 index 00000000..1afa4437 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04d.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04d.png new file mode 100644 index 00000000..cff8b794 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal04d.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05a.png new file mode 100644 index 00000000..71fc84c5 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05b.png new file mode 100644 index 00000000..5617be6b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05c.png b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05c.png new file mode 100644 index 00000000..e5ba5066 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ihawal05c.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01.png new file mode 100644 index 00000000..c63c79f2 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01_iwal.png b/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01_iwal.png new file mode 100644 index 00000000..4ac4021f Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01_iwal.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01b.png new file mode 100644 index 00000000..b658e159 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ipipe01b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iprflo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_iprflo01.png new file mode 100644 index 00000000..0659a368 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iprflo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iprwal01.png b/public/base/@vl2/lush.vl2/textures/lush/be_iprwal01.png new file mode 100644 index 00000000..5ae182c2 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iprwal01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ispec01.png b/public/base/@vl2/lush.vl2/textures/lush/be_ispec01.png new file mode 100644 index 00000000..a6581232 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ispec01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ispec01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_ispec01a.png new file mode 100644 index 00000000..a6b74c6f Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ispec01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_ispec01b.png b/public/base/@vl2/lush.vl2/textures/lush/be_ispec01b.png new file mode 100644 index 00000000..4d29ce91 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_ispec01b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itebor01.png b/public/base/@vl2/lush.vl2/textures/lush/be_itebor01.png new file mode 100644 index 00000000..bff6a148 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itebor01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itebor02.png b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02.png new file mode 100644 index 00000000..2f2906e9 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itebor02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02a.png new file mode 100644 index 00000000..2a474b11 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itebor02b.png b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02b.png new file mode 100644 index 00000000..f08bb022 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itebor02c.png b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02c.png new file mode 100644 index 00000000..7d7a7133 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itebor02c.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itebor04.png b/public/base/@vl2/lush.vl2/textures/lush/be_itebor04.png new file mode 100644 index 00000000..ad1b2ce9 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itebor04.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itec01.png b/public/base/@vl2/lush.vl2/textures/lush/be_itec01.png new file mode 100644 index 00000000..04e7335f Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itec01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itec01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_itec01a.png new file mode 100644 index 00000000..1cdb4024 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itec01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itec01c.png b/public/base/@vl2/lush.vl2/textures/lush/be_itec01c.png new file mode 100644 index 00000000..d4e3f584 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itec01c.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itecei01.png b/public/base/@vl2/lush.vl2/textures/lush/be_itecei01.png new file mode 100644 index 00000000..77467105 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itecei01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itecei02.png b/public/base/@vl2/lush.vl2/textures/lush/be_itecei02.png new file mode 100644 index 00000000..369c0d7a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itecei02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itedoo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_itedoo01.png new file mode 100644 index 00000000..3cea9fe6 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itedoo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iteflo01.png b/public/base/@vl2/lush.vl2/textures/lush/be_iteflo01.png new file mode 100644 index 00000000..35656406 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iteflo01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_iteflo02.png b/public/base/@vl2/lush.vl2/textures/lush/be_iteflo02.png new file mode 100644 index 00000000..e98096ee Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_iteflo02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itelig01.png b/public/base/@vl2/lush.vl2/textures/lush/be_itelig01.png new file mode 100644 index 00000000..1774bd94 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itelig01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itelig02.png b/public/base/@vl2/lush.vl2/textures/lush/be_itelig02.png new file mode 100644 index 00000000..bfabdac7 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itelig02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itewal01.png b/public/base/@vl2/lush.vl2/textures/lush/be_itewal01.png new file mode 100644 index 00000000..34f77f98 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itewal01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itewal02.png b/public/base/@vl2/lush.vl2/textures/lush/be_itewal02.png new file mode 100644 index 00000000..376bfeaa Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itewal02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itewal02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_itewal02a.png new file mode 100644 index 00000000..e2bc519e Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itewal02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itewal03.png b/public/base/@vl2/lush.vl2/textures/lush/be_itewal03.png new file mode 100644 index 00000000..a0dea80d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itewal03.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_itewal04.png b/public/base/@vl2/lush.vl2/textures/lush/be_itewal04.png new file mode 100644 index 00000000..ba0c03a1 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_itewal04.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_screen.png b/public/base/@vl2/lush.vl2/textures/lush/be_screen.png new file mode 100644 index 00000000..c2e41eaa Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_screen.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_thresh01.png b/public/base/@vl2/lush.vl2/textures/lush/be_thresh01.png new file mode 100644 index 00000000..ba9088b8 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_thresh01.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_thresh01a.png b/public/base/@vl2/lush.vl2/textures/lush/be_thresh01a.png new file mode 100644 index 00000000..d8929154 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_thresh01a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_thresh02.png b/public/base/@vl2/lush.vl2/textures/lush/be_thresh02.png new file mode 100644 index 00000000..13983ce4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_thresh02.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/be_thresh02a.png b/public/base/@vl2/lush.vl2/textures/lush/be_thresh02a.png new file mode 100644 index 00000000..503a84e3 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/be_thresh02a.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_b.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_b.bm8 new file mode 100644 index 00000000..a8d39066 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_b.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_b.png b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_b.png new file mode 100644 index 00000000..ed7661ad Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_b.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_bottom.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_bottom.bm8 new file mode 100644 index 00000000..96883038 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_bottom.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_bottom.png b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_bottom.png new file mode 100644 index 00000000..2f02ef75 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_bottom.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_f.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_f.bm8 new file mode 100644 index 00000000..94da95b2 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_f.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_f.png b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_f.png new file mode 100644 index 00000000..9a23a2c4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_f.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_l.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_l.bm8 new file mode 100644 index 00000000..0ca6b5b4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_l.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_l.png b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_l.png new file mode 100644 index 00000000..1fa0c036 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_l.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_r.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_r.bm8 new file mode 100644 index 00000000..6566a2d4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_r.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_r.png b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_r.png new file mode 100644 index 00000000..def79254 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_r.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_t.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_t.bm8 new file mode 100644 index 00000000..59194b3f Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_t.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/L4_t.png b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_t.png new file mode 100644 index 00000000..550db800 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/L4_t.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lush_day_emap.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_day_emap.bm8 new file mode 100644 index 00000000..a8d537fc Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_day_emap.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lush_day_emap.png b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_day_emap.png new file mode 100644 index 00000000..946318b8 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_day_emap.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lush_nite_emap.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_nite_emap.bm8 new file mode 100644 index 00000000..f1c3accc Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_nite_emap.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lush_nite_emap.png b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_nite_emap.png new file mode 100644 index 00000000..cce42192 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lush_nite_emap.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud1.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud1.bm8 new file mode 100644 index 00000000..feb4de1a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud1.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud1.png b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud1.png new file mode 100644 index 00000000..4f9f2640 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud1.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud3.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud3.bm8 new file mode 100644 index 00000000..d77a039b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud3.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud3.png b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud3.png new file mode 100644 index 00000000..9a171df5 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud3.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud4.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud4.bm8 new file mode 100644 index 00000000..815b4d52 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud4.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud4.png b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud4.png new file mode 100644 index 00000000..beff474d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/lushcloud4.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_BK.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_BK.bm8 new file mode 100644 index 00000000..1ae487a1 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_BK.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_BK.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_BK.png new file mode 100644 index 00000000..388b5be5 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_BK.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_DN.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_DN.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_DN.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_DN.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_DN.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_FR.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_FR.bm8 new file mode 100644 index 00000000..3aa7f444 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_FR.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_FR.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_FR.png new file mode 100644 index 00000000..c9f9dca5 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_FR.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_LF.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_LF.bm8 new file mode 100644 index 00000000..83d055de Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_LF.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_LF.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_LF.png new file mode 100644 index 00000000..e747be1d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_LF.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_RT.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_RT.bm8 new file mode 100644 index 00000000..8eda0c2f Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_RT.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_RT.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_RT.png new file mode 100644 index 00000000..264cf673 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_RT.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_UP.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_UP.bm8 new file mode 100644 index 00000000..78bebc8a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_UP.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_UP.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_UP.png new file mode 100644 index 00000000..9ca7fc32 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v4_UP.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_BK.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_BK.bm8 new file mode 100644 index 00000000..9dfc46f7 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_BK.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_BK.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_BK.png new file mode 100644 index 00000000..e9c2bd9d Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_BK.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_DN.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_DN.bm8 new file mode 100644 index 00000000..a621f978 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_DN.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_DN.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_DN.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_FR.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_FR.bm8 new file mode 100644 index 00000000..4f99cd1b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_FR.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_FR.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_FR.png new file mode 100644 index 00000000..040b5fe4 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_FR.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_LF.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_LF.bm8 new file mode 100644 index 00000000..9882fde6 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_LF.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_LF.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_LF.png new file mode 100644 index 00000000..1eefdb74 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_LF.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_RT.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_RT.bm8 new file mode 100644 index 00000000..991355bc Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_RT.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_RT.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_RT.png new file mode 100644 index 00000000..5257df88 Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_RT.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_UP.bm8 b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_UP.bm8 new file mode 100644 index 00000000..7ee2a50a Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_UP.bm8 differ diff --git a/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_UP.png b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_UP.png new file mode 100644 index 00000000..5b01f88b Binary files /dev/null and b/public/base/@vl2/lush.vl2/textures/lush/skies/starrynite_v6_UP.png differ diff --git a/public/base/@vl2/lush.vl2/textures/lush_dark.dml b/public/base/@vl2/lush.vl2/textures/lush_dark.dml new file mode 100644 index 00000000..f31c01a9 --- /dev/null +++ b/public/base/@vl2/lush.vl2/textures/lush_dark.dml @@ -0,0 +1,20 @@ +ice/skies/dark_f +ice/skies/dark_r +ice/skies/dark_b +ice/skies/dark_l +ice/skies/dark_t +ice/skies/dark_bottom +lush/skies/lush_day_emap +ice/skies/icecloud1 +ice/skies/icecloud2 +ice/skies/icecloud3 + + + + + + + + + + diff --git a/public/base/@vl2/missions.vl2/missions/Abominable.mis b/public/base/@vl2/missions.vl2/missions/Abominable.mis new file mode 100644 index 00000000..d3a60e3c --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Abominable.mis @@ -0,0 +1,2184 @@ +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//I returned, and saw under the sun that the race is not to the swift, nor the battle to the strong. +// -- Ecclesiastes 9:11 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]5 towers, each with a control switch +//[CnH]Inventory stations available only in SW, NE and Center strongholds +//[CnH]No vehicle stations +//[CnH]6000 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CnH_timeLimit = "25"; + cdTrack = "5"; + musicTrack = "ice"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-600 -808 992 1632"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + scale = "1 1 1"; + locked = "true"; + position = "-800 -1272 0"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "Abominable.ter"; + squareSize = "8"; + emptySquares = "272205 337997 338253 338509 338765 379020 379276 379532 379788 380044"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + YDimOverSize = "0"; + locked = "true"; + GraphFile = "Abominable.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-7 5 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "60"; + fogColor = "0.300000 0.300000 0.300000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "0.2 0.3 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Precipitation(Precipitation) { + position = "-7 5 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-250.532 -28.1269 324.446"; + rotation = "0 0 1 91.6732"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-390.444 355.562 282.257"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "27.4937 -414.298 259.053"; + rotation = "0 0 -1 29.2208"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "110.969 622.584 76.7643"; + rotation = "0 0 1 169.023"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-348.818 -661.477 227.675"; + rotation = "-0.0687343 -0.207967 0.975718 215.747"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-218.097 -655.998 181.778"; + rotation = "0 0 -1 80.2141"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new SimGroup(Tower5) { + powerCount = "0"; + + new AIObjective(AIOTouchObject) { + position = "-391.639 -689.494 211.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop5"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop5"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-391.639 -689.494 211.654"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3394"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-391.639 -689.494 211.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0flipflop5"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-391.639 -689.494 211.654"; + weightLevel1 = "4900"; + weightLevel2 = "2900"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3394"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-389.162 -685.697 203.984"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-389.162 -685.697 203.984"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3394"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-387.657 -700.997 209.393"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-393.239 -700.595 209.593"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3394"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-390.81 -704.636 186.451"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-390.81 -704.636 186.451"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3394"; + isInvalid = "0"; + team = "1"; + }; + }; + new SimGroup(Tower3) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-161.64 -23.2113 296.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-161.64 -23.2113 296.991"; + weightLevel1 = "4750"; + weightLevel2 = "2750"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3400"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-161.64 -23.2113 296.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-161.64 -23.2113 296.991"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3400"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-170.462 -13.963 295.049"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-170.462 -13.963 295.049"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3400"; + isInvalid = "0"; + team = "1"; + }; + }; + new AIObjective(AIORepairObject) { + position = "-400.782 -678.349 202.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-400.782 -678.349 202.8"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-400.786 -743.235 177.141"; + rotation = "0.934206 0.0373881 -0.354769 12.8727"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3487"; + location = "-400.786 -743.235 177.141"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-213.61 40.0348 274.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3453"; + location = "-213.61 40.0348 274.617"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-181.193 -45.5791 277.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-181.193 -45.5791 277.315"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-377.992 -689.852 207.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret3"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "-377.992 -689.852 207.84"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-158.359 -20.7588 315.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team0SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3458"; + location = "-158.359 -20.7588 315.022"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "120.531 595.532 61.3005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "120.531 595.532 61.3005"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "107.036 595.662 57.4869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "107.036 595.662 57.4869"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "23.5983 -395.053 240.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop4"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3478"; + location = "23.5983 -395.053 240.566"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "130.099 589.492 36.2003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3464"; + location = "130.099 589.492 36.2003"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "130.102 648.963 26.1874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3465"; + location = "130.102 648.963 26.1874"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-366.433 349.044 279.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3473"; + location = "-366.433 349.044 279.604"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "129.399 584.373 52.4464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3467"; + location = "129.399 584.373 52.4464"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "141.736 342.935 94.4046"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new SimGroup(Tower3) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-161.64 -23.2113 296.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-161.64 -23.2113 296.991"; + weightLevel1 = "4750"; + weightLevel2 = "2750"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3421"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "-161.64 -23.2113 296.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-161.64 -23.2113 296.991"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3421"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-154.08 -29.4053 295.085"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-154.08 -29.4053 295.085"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3421"; + isInvalid = "0"; + team = "2"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "-391.639 -689.494 211.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop5"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop5"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-391.639 -689.494 211.654"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-400.786 -743.235 177.141"; + rotation = "0.934206 0.0373881 -0.354769 12.8727"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3487"; + location = "-400.786 -743.235 177.141"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-213.61 40.0348 274.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3453"; + location = "-213.61 40.0348 274.617"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new SimGroup(Tower1) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "120.531 595.532 61.3005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "120.531 595.532 61.3005"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3428"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "120.531 595.532 61.3005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "120.531 595.532 61.3005"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3428"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "118.059 590.475 53.3606"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "118.059 590.475 53.3606"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3428"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "123.533 584.182 59.2442"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "123.533 584.182 59.2442"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3428"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "124.983 610.647 36.895"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "124.983 610.647 36.895"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3428"; + isInvalid = "0"; + team = "2"; + }; + }; + new AIObjective(AIORepairObject) { + position = "107.036 595.662 57.4869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "107.036 595.662 57.4869"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "130.099 589.492 36.2003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3464"; + location = "130.099 589.492 36.2003"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "23.5983 -395.053 240.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop4"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3478"; + location = "23.5983 -395.053 240.566"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "130.102 648.963 26.1874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3465"; + location = "130.102 648.963 26.1874"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "-366.433 349.044 279.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3473"; + location = "-366.433 349.044 279.604"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "129.399 584.373 52.4464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3467"; + location = "129.399 584.373 52.4464"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-181.193 -45.5791 277.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-181.193 -45.5791 277.315"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-401.019 -683.641 186.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "-401.019 -683.641 186.553"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-400.782 -678.349 202.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-400.782 -678.349 202.8"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-377.992 -689.852 207.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret3"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "-377.992 -689.852 207.84"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-158.359 -20.7588 315.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team0SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3458"; + location = "-158.359 -20.7588 315.022"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + powerCount = "0"; + + new SimGroup(Towers) { + powerCount = "0"; + + new SimGroup(CentralTower) { + powerCount = "1"; + + new InteriorInstance() { + position = "-162.978 -21.8106 241.224"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape(Team0flipflop3) { + position = "-161.64 -23.2113 294.724"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Projector = "3454"; + name = "Center Tower"; + team = "0"; + Target = "33"; + }; + new StaticShape(Team0StationInventory1) { + position = "-163.264 -21.4939 304.23"; + rotation = "0 0 -1 45.2636"; + scale = "1 1 1"; + nameTag = "Ctr. Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3451"; + locked = "true"; + team = "0"; + Target = "34"; + }; + new InteriorInstance() { + position = "-208.975 36.6553 261.907"; + rotation = "0 0 -1 51.5662"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new Turret(Team0TurretBaseLarge1) { + position = "-212.918 39.7529 272.913"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + lastProjectile = "3951"; + team = "0"; + Target = "35"; + }; + new StaticShape() { + position = "-164.566 -26.1453 312.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-181.348 -45.1196 272.111"; + rotation = "0 0 1 17.1887"; + scale = "1 1 2.28969"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new Turret(Team0TurretBaseLarge2) { + position = "-181.202 -44.8315 275.611"; + rotation = "0 0 1 196.707"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + lastProjectile = "3921"; + team = "0"; + damageTimeMS = "770705"; + Target = "36"; + }; + new StaticShape(Team0generatorLarge1) { + position = "-169.883 -31.5901 -296.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Ctr. Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + Target = "37"; + }; + new StaticShape(Team0SensorMediumPulse1) { + position = "-158.359 -20.7588 312.502"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + nameTag = "Ctr. Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + Target = "38"; + }; + new WayPoint() { + position = "-161.6 -23.2 294.7"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center Tower"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(NETower) { + powerCount = "1"; + + new InteriorInstance() { + position = "118.473 643.445 47.8483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_2"; + locked = "true"; + team = "0"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop1) { + position = "120.531 595.532 58.8337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Projector = "3470"; + name = "NE Holdfast"; + team = "0"; + Target = "39"; + }; + new Turret(Team0SentryTurret2) { + position = "107.066 595.662 57.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "false"; + team = "0"; + Target = "40"; + }; + new StaticShape(Team0generatorLarge2) { + position = "129.834 591.431 34.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Holdfast"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + Target = "41"; + }; + new StaticShape(Team0StationInventory2) { + position = "130.462 649.096 25.825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Holdfast"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3466"; + locked = "false"; + team = "0"; + Target = "42"; + }; + new StaticShape(Team0StationInventory3) { + position = "129.399 584.373 50.8806"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "NE Holdfast"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3468"; + locked = "true"; + team = "0"; + Target = "43"; + }; + new WayPoint() { + position = "120.936 595.731 59.6705"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NE Holdfast"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "116.463 595.156 67.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(NWTower) { + powerCount = "0"; + + new InteriorInstance() { + position = "-366.454 349.007 286.226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape(Team0flipflop2) { + position = "-366.433 349.044 277.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Projector = "3476"; + name = "NW Outpost"; + team = "0"; + Target = "44"; + }; + new WayPoint() { + position = "-366.485 348.997 277.3"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NW Outpost"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "-369.308 346.147 277.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-366.51 344.833 295.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(SETower) { + powerCount = "0"; + + new StaticShape(Team0flipflop4) { + position = "23.5917 -395.062 238.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + Projector = "3481"; + name = "SE Outpost"; + team = "0"; + Target = "45"; + }; + new WayPoint() { + position = "23.0428 -395.374 238.543"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SE Outpost"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "20.6751 -397.497 239.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "23.6405 -390.683 256.234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(SWTower) { + powerCount = "1"; + + new InteriorInstance() { + position = "-389.505 -737.616 198.201"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_2"; + locked = "true"; + team = "0"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "-387.637 -689.558 218.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + team = "0"; + Target = "-1"; + }; + new Turret(Team0SentryTurret3) { + position = "-378.082 -689.873 208.25"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + name = "SW Sentry"; + team = "0"; + Target = "46"; + }; + new StaticShape(Team0generatorLarge3) { + position = "-400.723 -685.512 185.17"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "SW Holdfast"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + team = "0"; + Target = "47"; + }; + new StaticShape(Team0StationInventory4) { + position = "-401.372 -743.023 176.18"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "SW Holdfast"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3488"; + locked = "false"; + team = "0"; + Target = "48"; + }; + new StaticShape(Team0StationInventory5) { + position = "-400.782 -678.349 201.234"; + rotation = "0 0 -1 89.9546"; + scale = "1 1 1"; + nameTag = "SW Holdfast"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3490"; + locked = "true"; + team = "0"; + Target = "49"; + }; + new WayPoint() { + position = "-391.892 -689.898 210.023"; + rotation = "0 0 1 180.091"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SW Holdfast"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "23.5804 -395.084 247.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape(Team0flipflop5) { + position = "-391.658 -689.443 209.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Projector = "3484"; + name = "SW Holdfast"; + team = "0"; + Target = "50"; + }; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new AudioEmitter() { + position = "-373.953 249.267 289.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "144.789 -205.873 223.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "90000"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-400.245 -700.86 209.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-398.046 -701.039 209.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-395.778 -701.012 209.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-402.194 -702.324 185.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-399.394 -711.816 178.2"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "127.939 584.718 58.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "false"; + }; + new TSStatic() { + position = "131.917 608.565 36.2812"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "114.064 618.356 27.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "-172.226 1.5731 214.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "90000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-382.503 294.96 230.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "40000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-243.602 418.998 208.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "40000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-4.0336 398.055 173.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "50000"; + maxLoopGap = "100000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "147.112 -175.402 196.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "80000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-53.5541 -648.86 189.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-430.373 -487.692 220.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "40000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-176.563 -130.659 182.02"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "-181.248 -40.0703 275.725"; + rotation = "1 0 0 0"; + scale = "1.86326 1.99497 1.3283"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-175.444 -42.2114 275.164"; + rotation = "0 0 -1 6.8755"; + scale = "1.38638 1.22864 1.49185"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/AgentsOfFortune.mis b/public/base/@vl2/missions.vl2/missions/AgentsOfFortune.mis new file mode 100644 index 00000000..0dc17002 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/AgentsOfFortune.mis @@ -0,0 +1,949 @@ +// DisplayName = Agents of Fortune +// MissionTypes = DM Hunters TeamHunters + +//--- MISSION QUOTE BEGIN --- +//I am of the Chainless. I am Strong. I show no mercy. +//--BioDerm battle chant +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters TeamHunters]Nexus located atop central tower +//Three satellite towers around central tower +//Inventory stations in all towers +//Ideal for combined indoor/outdoor tactics +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + DM_timeLimit = "25"; + DM_scoreLimit = "25"; + musicTrack = "badlands"; + powerCount = "0"; + Hunters_timeLimit = "25"; + cdTrack = "4"; + Team_Hunters_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-160 -88 512 512"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "600 0 190"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Badlands_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet2"; + terrainFile = "AgentsOfFortune.ter"; + squareSize = "8"; + emptySquares = "227741 227997 228253 167567 233359 102521 233615 233847 234103 173209 239000 239256"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + GraphFile = "AgentsOfFortune.nav"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + locked = "true"; + YDimOverSize = "0"; + XDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "170.145 354.633 306.299"; + rotation = "0 0 1 163.866"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-67.104 229.883 260.502"; + rotation = "0 0 1 131.78"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "291.408 -23.0707 255.214"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "120.543 125.555 178.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "225"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "Hunters TeamHunters DM"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "206.155 290.506 238.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "5763"; + location = "206.155 290.506 238.077"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "199.076 306.979 274.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "5765"; + location = "199.076 306.979 274.076"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "-54.5328 142.977 234.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "5767"; + location = "-54.5328 142.977 234.564"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "-61.6912 133.365 198.742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "5769"; + location = "-61.6912 133.365 198.742"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "132.621 170.206 141.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "5771"; + location = "132.621 170.206 141.512"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "242.229 -55.9849 184.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "5773"; + location = "242.229 -55.9849 184.697"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "132.35 81.4307 123.601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "5775"; + location = "132.35 81.4307 123.601"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "249.2 -47.0356 220.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "5777"; + location = "249.2 -47.0356 220.655"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "132.247 133.472 42.4322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory9"; + targetClientId = "-1"; + targetObjectId = "5779"; + location = "132.247 133.472 42.4322"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "132.537 114.232 42.4282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory10"; + targetClientId = "-1"; + targetObjectId = "5781"; + location = "132.537 114.232 42.4282"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + gameType = "all"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "120.543 125.555 178.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "225"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "TeamHunters"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(base) { + providesPower = "1"; + + new InteriorInstance() { + position = "131.064 125.94 99.8275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-61.9873 145.333 208.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "203.206 303.487 247.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team1StationInventory1) { + position = "203.105 290.287 236.41"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "33"; + }; + new StaticShape(Team1StationInventory2) { + position = "196.076 306.979 272.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + }; + new StaticShape(Team1StationInventory3) { + position = "-54.7328 141.777 233.01"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + }; + new StaticShape(Team1StationInventory4) { + position = "-61.8912 132.165 197.01"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "36"; + }; + new StaticShape(Team1StationInventory5) { + position = "131.421 170.206 139.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower Pod"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "37"; + }; + new StaticShape(Team1StationInventory6) { + position = "242.042 -53.8823 182.9"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "38"; + }; + new StaticShape(Team1StationInventory7) { + position = "131.15 81.4307 121.83"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Tower Pod"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "39"; + }; + new StaticShape(Team1StationInventory8) { + position = "249.4 -44.2356 218.9"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "40"; + }; + new StaticShape(Team1StationInventory9) { + position = "131.047 133.472 40.825"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "41"; + }; + new StaticShape(Team1StationInventory10) { + position = "131.293 114.234 40.825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "42"; + }; + new InteriorInstance() { + position = "242.199 -41.2332 193.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item(Nexus) { + position = "130.989 125.937 160.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + flashThreadDir = "1"; + locked = "true"; + Target = "43"; + }; + new StaticShape() { + position = "130.989 125.937 168.77"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new StaticShape() { + position = "130.989 125.937 162.77"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new WayPoint() { + position = "130.623 125.532 162.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new WayPoint() { + position = "130.623 125.532 163.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "0"; + missionTypesList = "DM"; + locked = "true"; + }; + }; + }; + new Trigger(NexusTrigger) { + position = "109.972 143.602 158.388"; + rotation = "1 0 0 0"; + scale = "41.3963 35.6001 19.8193"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition5BiodermPlant5) { + + new TSStatic() { + position = "269.5 -33.5 187.748"; + rotation = "0 0 -1 117"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-66.7 98.3 237.568"; + rotation = "0 0 1 74"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "127.3 48.5 104.318"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "217.5 -76.5 185.248"; + rotation = "0 0 1 109"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "171.5 36.5 100.758"; + rotation = "0 0 1 87"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "91.5 255.5 144.691"; + rotation = "0 0 -1 14"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "15.5 331.5 164.602"; + rotation = "0 0 1 40"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84.5 302.5 166.824"; + rotation = "0 0 1 161"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(ambient) { + + new TSStatic() { + position = "210.085 300.266 272.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-49.4168 127.762 206.625"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "211.16 307.578 235.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "211.231 305.472 235.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "211.22 306.873 237.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-69.6678 140.759 233.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "240.722 -35.9278 218.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "244.634 -36.3998 219.808"; + rotation = "0 -1 0 26.929"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "126.808 126.436 39.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "138.379 123.541 39.78"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "193.42 301.247 223.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-26.7892 123.893 171.066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "135.696 -116.796 193.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "35000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "115.988 73.94 124.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rumblingthunder.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "144.27 135.398 91.4467"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "120.09 112.324 92.418"; + rotation = "0 0 1 114.019"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "147.149 57.6019 101.492"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "123.13 112.087 92.7805"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "191.714 295.494 247.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "85.2228 126.233 56.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "176.956 125.898 56.3"; + rotation = "0 0 1 16.0428"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Alcatraz.mis b/public/base/@vl2/missions.vl2/missions/Alcatraz.mis new file mode 100644 index 00000000..5329dffa --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Alcatraz.mis @@ -0,0 +1,2843 @@ +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Cattle die, kindred die, +//Every man is mortal. +//But I know one thing that never dies, +//The glory of the great deed. +// -- The Havamal +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Capture the fortified island base by touching the control switch located at its heart +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + cdTrack = "6"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-568 -672 1120 1120"; + flightCeiling = "600"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "936 -456 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + high_visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "130"; + high_fogDistance = "200"; + fogColor = "0.450000 0.500000 0.500000 1.000000"; + high_fogVolume1 = "50 0 245"; + high_fogVolume2 = "75 245 258"; + fogVolume1 = "40 0 258"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Alcatraz.ter"; + squareSize = "8"; + emptySquares = "93307 93309 93536 93563 93565 97673"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "Alcatraz.nav"; + locked = "true"; + position = "0 0 0 1"; + }; + new WaterBlock() { + position = "-1016 -1024 7.51567"; + rotation = "1 0 0 0"; + scale = "2048 2048 250"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/IslandWater02"; + surfaceOpacity = "0.9"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.15"; + removeWetEdges = "0"; + locked = "true"; + audioEnvironment = Underwater; + }; + new AudioEmitter() { + position = "788.243 -120.742 93.2821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "149.231 -327.319 298.101"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "166.195 79.4023 296.271"; + rotation = "0 0 1 229.939"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-248.275 -8.03743 364.746"; + rotation = "0.00480495 -0.0199984 0.999788 152.985"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "363.733 -542.571 297.504"; + rotation = "-0.0130689 -0.257059 0.966307 185.625"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "366.306 -659.199 281.463"; + rotation = "0 0 -1 6.8755"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(team0) { + }; + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "349.552 -587.696 268.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new FlyingVehicle() { + position = "454.673 -633.206 265.516"; + rotation = "0 0 -1 55.0039"; + scale = "1 1 1"; + dataBlock = "hapcFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + resetPos = "1"; + mountable = "1"; + selfPower = "1"; + respawnTime = "10000"; + respawn = "1"; + locked = "true"; + Marker = "3824"; + }; + new StaticShape() { + position = "343.922 -585.564 259.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Staging Area"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "333.771 -591.645 259.716"; + rotation = "-0 0 -1 34.3775"; + scale = "1 1 1"; + nameTag = "Staging Area"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new TSStatic() { + position = "333.809 -591.692 259.231"; + rotation = "-0 0 -1 34.3775"; + scale = "1.46976 1.81219 1"; + shapeName = "bmiscf.dts"; + locked = "false"; + }; + new WheeledVehicle() { + position = "349.418 -568.114 261.608"; + rotation = "-0.0238584 -0.0159644 -0.999588 49.6378"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "1"; + mountable = "0"; + resetPos = "1"; + locked = "true"; + selfPower = "1"; + deployed = "1"; + immobilized = "1"; + selfPower = "1"; + respawnTime = "10000"; + respawn = "1"; + }; + new TSStatic() { + position = "404.232 -632.478 256.071"; + rotation = "-0.848432 -0.187958 -0.494808 61.6042"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "383.436 -584.135 254.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "383.216 -581.786 263.365"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + new StaticShape() { + position = "383.302 -585.342 262.513"; + rotation = "0 0 -1 114.683"; + scale = "1 1 1"; + nameTag = "Staging Area"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new TSStatic() { + position = "343.927 -585.625 259.412"; + rotation = "1 0 0 0"; + scale = "1.46976 1.81219 1"; + shapeName = "bmiscf.dts"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "59.4014 -115.417 280.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "38.5879 -146.386 283.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-18.9036 -59.74 324.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-58.4719 -254.701 288.492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(IslandBase) { + + new StaticShape(Obj) { + position = "40.0495 -103.975 291.518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new InteriorInstance(base) { + position = "40 -104 277.557"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbase9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new TSStatic(Plug) { + position = "66.0336 -62.8706 290.539"; + rotation = "-1 0 0 90"; + scale = "2.03887 2.02471 1"; + shapeName = "bmiscf.dts"; + locked = "true"; + }; + new StaticShape(Gen1) { + position = "54.8393 -98.2081 269.568"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new StaticShape(Gen2) { + position = "54.715 -110.291 269.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new ForceFieldBare(NoPassGateway) { + position = "12.963 -108.133 277.45"; + rotation = "1 0 0 0"; + scale = "0.25 8.25 6.25"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(equipment) { + + new StaticShape() { + position = "66.0121 -96.3675 279.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Switch Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "64.8147 -66.3488 296.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Switch Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "52.4417 -137.636 262.563"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Arch Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "52.5893 -119.354 262.567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Arch Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "39.8723 -142.359 287.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Split Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "54.0053 -128.993 263.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-251.985 -147.959 290.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(BackDoorFFPower) { + + new ForceFieldBare(BDFF1) { + position = "70.546 -67.4763 287.531"; + rotation = "1 0 0 0"; + scale = "1 1 6.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(BDFF2) { + position = "70.5441 -69.5 287.531"; + rotation = "1 0 0 0"; + scale = "1 1 6.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(BDFF3) { + position = "70.546 -65.4836 287.531"; + rotation = "1 0 0 0"; + scale = "1 1 6.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(BDFF3) { + position = "70.5441 -71.5 287.531"; + rotation = "1 0 0 0"; + scale = "1 1 6.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "44.7599 -99.497 282.8"; + rotation = "0 0 1 90"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "44.7699 -99.497 281.792"; + rotation = "0 0 1 90"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "35.5007 -109.265 282.822"; + rotation = "1 0 0 0"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "35.4969 -99.2543 282.822"; + rotation = "1 0 0 0"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "35.4969 -99.2443 281.814"; + rotation = "1 0 0 0"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "35.2556 -108.499 282.809"; + rotation = "0 0 -1 90"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "35.5007 -109.255 281.814"; + rotation = "1 0 0 0"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(PitBar) { + position = "35.2456 -108.499 281.801"; + rotation = "0 0 -1 90"; + scale = "9 0.5 0.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(BackDoorGen) { + position = "-27.9528 -133.32 279.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(IslandBaseTurrets) { + + new StaticShape(Solar) { + position = "-254.248 -147.975 296.15"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + nameTag = "Turret Power"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + }; + new Turret() { + position = "43.9628 -135.192 283.92"; + rotation = "0.707107 -3.09086e-08 -0.707107 180"; + scale = "1 1 1"; + nameTag = "Hallway"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret() { + position = "36.0018 -135.192 283.92"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + nameTag = "Hallway"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret() { + position = "39.9025 -140.001 293.029"; + rotation = "0.57735 -0.57735 -0.57735 120"; + scale = "1 1 1"; + nameTag = "Split Room"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret(WestBase) { + position = "-162.429 -155.581 333.901"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(EastBase) { + position = "58.9339 -44.1643 345.785"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(ForestStructures) { + + new InteriorInstance() { + position = "-254 -148 287.64"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "6.49918 -214.356 288.578"; + rotation = "-0 0 -1 71.0468"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-85.5753 -252.647 276"; + rotation = "-0 0 -1 26.3561"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-73.1529 -279.972 276"; + rotation = "0 0 -1 116.356"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-80.2479 -263.399 276"; + rotation = "0 0 -1 116.356"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-57.0239 -271.981 276"; + rotation = "0 0 -1 116.356"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-12.1128 -207.955 288.578"; + rotation = "-0 0 -1 71.0468"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-30.3864 -201.689 288.578"; + rotation = "-0 0 -1 71.0468"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "87.2278 89.1079 269.882"; + rotation = "-0 0 -1 71.0468"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "68.6158 95.5089 269.882"; + rotation = "-0 0 -1 71.0468"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "50.3422 101.775 269.882"; + rotation = "-0 0 -1 71.0468"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-163.125 -155.59 332.082"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "59.5768 -44.1561 343.731"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition2belgtree18) { + }; + new SimGroup(Addition2belgtree18) { + + new TSStatic() { + position = "132 -644 256.891"; + rotation = "0 0 -1 64.0005"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "252 516 260.359"; + rotation = "0 0 1 137"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-340 -772 282.25"; + rotation = "0 0 1 231"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-76 788 254.375"; + rotation = "0 0 1 58.9998"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-740 -372 264.547"; + rotation = "0 0 1 103"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-604 -452 255.828"; + rotation = "0 0 1 60.0001"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "412 324 273.766"; + rotation = "0 0 1 122"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-660 92 261.422"; + rotation = "0 0 -1 1.00014"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "532 -164 263.687"; + rotation = "0 0 -1 49.0002"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "756 -356 261.578"; + rotation = "0 0 1 51"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 620 253.641"; + rotation = "0 0 1 24"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-772 84 259.328"; + rotation = "0 0 1 229"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-676 -252 252.172"; + rotation = "0 0 1 105"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "764 588 255.875"; + rotation = "0 0 1 235"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "620 -404 278.609"; + rotation = "0 0 -1 87.0002"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "228 668 254.547"; + rotation = "0 0 -1 35.9998"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-484 628 269.484"; + rotation = "0 0 -1 1.9999"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "484 -20 254.672"; + rotation = "0 0 -1 53.9998"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-636 -500 252.828"; + rotation = "0 0 1 226"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-780 -164 264.438"; + rotation = "0 0 -1 1.9999"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "724 308 278.766"; + rotation = "0 0 -1 44.9999"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-556 284 261.609"; + rotation = "0 0 1 12"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "788 -420 265.203"; + rotation = "0 0 1 195"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-676 172 260.594"; + rotation = "0 0 1 195"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-372 740 274.438"; + rotation = "0 0 -1 50.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-180 -612 269.891"; + rotation = "0 0 -1 64.0005"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-684 -676 255.219"; + rotation = "0 0 1 234"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "284 -380 265.172"; + rotation = "0 0 1 93.0002"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "404 -492 278.719"; + rotation = "0 0 -1 23.9998"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "348 -124 265.422"; + rotation = "0 0 1 232"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "716 92 266.625"; + rotation = "0 0 1 200"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "580 -108 270.516"; + rotation = "0 0 1 112"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -276 269.625"; + rotation = "0 0 -1 100"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "540 92 259.047"; + rotation = "0 0 1 201"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "612 -372 272.875"; + rotation = "0 0 1 177"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 492 262.641"; + rotation = "0 0 -1 28.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "4 -260 271.734"; + rotation = "0 0 1 21"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "20 668 265.203"; + rotation = "0 0 1 227"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "788 -28 253.438"; + rotation = "0 0 -1 112"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "700 164 254.828"; + rotation = "0 0 -1 22.9999"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 -732 256.547"; + rotation = "0 0 1 56"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "748 -676 269.266"; + rotation = "0 0 1 85"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "380 -148 260.875"; + rotation = "0 0 1 146"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "188 -540 270.656"; + rotation = "0 0 1 67"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "668 -716 278.328"; + rotation = "0 0 1 55"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "740 -596 267.047"; + rotation = "0 0 1 154"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-564 -284 260.875"; + rotation = "0 0 1 121"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3belgtree19) { + + new TSStatic() { + position = "-612 396 265.828"; + rotation = "0 0 1 131"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "268 548 268.875"; + rotation = "0 0 1 27"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-724 -4 259.734"; + rotation = "0 0 -1 35.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "404 -68 254.312"; + rotation = "0 0 1 128"; + scale = "2.3 2.3 2.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "692 -364 264.391"; + rotation = "0 0 1 100"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "724 -572 261.578"; + rotation = "0 0 1 93.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60 452 265.188"; + rotation = "0 0 1 96.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 -244 258.781"; + rotation = "0 0 1 223"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-12 -284 267.516"; + rotation = "0 0 1 72.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "692 764 287.328"; + rotation = "0 0 -1 62.0003"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "244 628 257.531"; + rotation = "0 0 1 34"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-300 -788 284.859"; + rotation = "0 0 -1 73.0006"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "500 -284 263.281"; + rotation = "0 0 1 212"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "588 676 305.266"; + rotation = "0 0 1 179"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "780 452 254.109"; + rotation = "0 0 1 53"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 340 306.5"; + rotation = "0 0 1 75.0002"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-732 -12 259.484"; + rotation = "0 0 1 230"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 468 268.797"; + rotation = "0 0 1 117"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -772 260.422"; + rotation = "0 0 -1 41"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-580 220 256.062"; + rotation = "1 0 0 0"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-204 -596 275.25"; + rotation = "0 0 1 149"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-452 292 276.75"; + rotation = "0 0 -1 120"; + scale = "2.4 2.4 2.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-484 372 267.344"; + rotation = "0 0 -1 108.999"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "724 -212 255.797"; + rotation = "0 0 1 119"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 -292 268"; + rotation = "0 0 1 122"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "500 524 266.719"; + rotation = "0 0 1 204"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "756 -340 259.094"; + rotation = "0 0 -1 19.0001"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-724 -740 270.797"; + rotation = "0 0 -1 7.00012"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "724 -452 258.25"; + rotation = "0 0 1 27"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "452 284 270.625"; + rotation = "0 0 -1 29.9998"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 -124 254.375"; + rotation = "0 0 -1 22.0002"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "476 268 265.812"; + rotation = "0 0 -1 75.0002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "564 -444 296.703"; + rotation = "0 0 -1 56.9999"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "452 -564 273.594"; + rotation = "0 0 1 188"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "484 20 258.531"; + rotation = "0 0 1 204"; + scale = "1.9 1.9 1.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "668 -260 264.859"; + rotation = "0 0 -1 108"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-36 -748 260.672"; + rotation = "0 0 1 20"; + scale = "2.3 2.3 2.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-508 380 265.359"; + rotation = "0 0 1 33"; + scale = "2.4 2.4 2.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "516 452 285.5"; + rotation = "0 0 1 123"; + scale = "2.3 2.3 2.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "804 492 259.266"; + rotation = "0 0 1 56"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "468 308 273.75"; + rotation = "0 0 -1 88"; + scale = "2.4 2.4 2.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-636 -556 258.453"; + rotation = "0 0 1 156"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "468 -380 281.188"; + rotation = "0 0 1 58.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3belgtree19) { + }; + new SimGroup(Addition5belgtree18) { + + new TSStatic() { + position = "-12 -20 299.312"; + rotation = "0 0 1 29"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 -12 304.953"; + rotation = "0 0 -1 114"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition6belgtree19) { + + new TSStatic() { + position = "-108 -116 334.781"; + rotation = "0 0 1 19"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 68 268.781"; + rotation = "0 0 1 130"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "232.058 -440.612 271.503"; + rotation = "0 0 1 119.733"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new SimGroup(Addition8belgtree18) { + + new TSStatic() { + position = "-140 -148 326.328"; + rotation = "0 0 -1 107"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100 92 277.594"; + rotation = "0 0 1 45"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -60 321.187"; + rotation = "0 0 -1 26.9998"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition9belgtree19) { + + new TSStatic() { + position = "76 124 268.656"; + rotation = "0 0 -1 86.0004"; + scale = "2.4 2.4 2.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 76 287.391"; + rotation = "0 0 -1 71.0004"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "167.523 -30.6645 266.869"; + rotation = "0 0 -1 11.4339"; + scale = "2.4 2.4 2.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new SimGroup(Addition11belgtree18) { + + new TSStatic() { + position = "-460 580 270.422"; + rotation = "0 0 1 226"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "516 -364 273.953"; + rotation = "0 0 1 146"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-468 124 264.547"; + rotation = "0 0 1 153"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-468 -684 262.172"; + rotation = "0 0 1 61.9998"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-460 180 265.844"; + rotation = "0 0 -1 53.9998"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-604 -636 256.406"; + rotation = "0 0 1 123"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "644 -580 281.219"; + rotation = "0 0 1 202"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "580 492 264.203"; + rotation = "0 0 -1 115"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "308 372 285.844"; + rotation = "0 0 -1 82"; + scale = "1.9 1.9 1.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "596 188 264.672"; + rotation = "0 0 1 225"; + scale = "2.4 2.4 2.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "612 692 304.422"; + rotation = "0 0 1 104"; + scale = "2.1 2.1 2.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "332 732 264.609"; + rotation = "0 0 -1 66.0002"; + scale = "1.8 1.8 1.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "596 220 263.547"; + rotation = "0 0 1 195"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-676 -204 259.203"; + rotation = "0 0 -1 10.9999"; + scale = "2.3 2.3 2.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition12belgtree19) { + + new TSStatic() { + position = "444 -308 262.031"; + rotation = "0 0 -1 23.9998"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 388 313.656"; + rotation = "0 0 -1 100"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-732 -84 260.516"; + rotation = "0 0 1 135"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "644 -524 278.781"; + rotation = "0 0 1 24"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-660 -740 260.594"; + rotation = "0 0 -1 26"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "652 -220 262.219"; + rotation = "0 0 1 212"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "268 -596 260.594"; + rotation = "0 0 1 218"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "372 -740 264.609"; + rotation = "0 0 1 73"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-596 -140 258.828"; + rotation = "0 0 1 204"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "324 -268 273.203"; + rotation = "0 0 -1 114"; + scale = "2.4 2.4 2.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "788 60 253.422"; + rotation = "0 0 -1 72.0002"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "444 164 294.5"; + rotation = "0 0 -1 1.00014"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "652 636 285.797"; + rotation = "0 0 -1 4.00015"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "128.657 11.5492 282.349"; + rotation = "0 0 -1 63.0001"; + scale = "2.4 2.4 2.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + }; + new SimGroup(BrokenBridge) { + + new InteriorInstance() { + position = "-219.516 -219.062 267.48"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-222.223 -234.832 267.48"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-224.93 -250.601 267.48"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-275.28 -543.92 279.828"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-272.573 -528.151 279.828"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-269.866 -512.381 279.828"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-268.225 -490.815 248.206"; + rotation = "0.881489 -0.442872 0.163836 38.4401"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-267.949 -477.602 239.186"; + rotation = "0.881489 -0.442872 0.163836 38.4401"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-267.674 -464.39 230.166"; + rotation = "0.881489 -0.442872 0.163836 38.4401"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-228.055 -415.366 204.847"; + rotation = "-0.070018 0.994586 0.0767802 159.677"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-229.861 -399.713 207.63"; + rotation = "-0.0650487 0.994992 0.0758883 159.634"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-231.445 -384.022 210.333"; + rotation = "-0.0650487 0.994992 0.0758883 159.634"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-228.807 -358.871 214.764"; + rotation = "-0.175468 0.982798 -0.0576163 44.2908"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-230.235 -343.026 216.467"; + rotation = "-0.175468 0.982798 -0.0576163 44.2908"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-231.663 -327.181 218.17"; + rotation = "-0.175468 0.982798 -0.0576163 44.2908"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-231.146 -307.336 245.867"; + rotation = "-0.568953 0.81974 -0.0657195 16.0415"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-231.737 -291.547 248.389"; + rotation = "-0.568953 0.81974 -0.0657195 16.0415"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-232.318 -275.751 250.871"; + rotation = "-0.568953 0.81974 -0.0657195 16.0415"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-255.303 -432.326 211.876"; + rotation = "1 0 0 34.3775"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-255.388 -450.375 220.58"; + rotation = "0.905039 -0.36844 0.212502 21.1703"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-285.97 -546.97 276.292"; + rotation = "0 0 -1 81.36"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-266.802 -550.925 276.292"; + rotation = "0 0 -1 81.36"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-228.678 -212.179 265.453"; + rotation = "0 0 -1 81.36"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(WaterSounds) { + + new AudioEmitter() { + position = "231.44 -325.633 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "201.971 -422.632 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "115.871 -511.306 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "84.8745 -603.836 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-20.9008 -686.76 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-85.1647 -612.693 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-191.403 -542.97 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-334.453 -480.642 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-496.348 -452.204 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-478.977 -271.207 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-459.884 -130.357 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-398.473 61.6097 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-358.988 202.107 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-217.235 234.927 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-175.189 366.753 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-146.077 524.117 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-25.1115 372.458 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "134.257 271.034 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "119.627 195.697 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "207.561 94.9201 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "235.095 -24.2143 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "186.309 -115.834 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "135.067 -236.408 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "46.8996 -326.224 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-80.8344 -332.597 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-199.054 -287.005 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-309.705 -216.972 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-275.188 -53.7313 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-201.857 78.5232 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-125.689 178.607 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "5.70642 159.753 258.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(Bridge2) { + + new InteriorInstance() { + position = "449.612 -703.738 260.153"; + rotation = "-0 0 -1 32.6586"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "440.978 -690.267 260.153"; + rotation = "-0 0 -1 32.6586"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "432.462 -676.982 258.382"; + rotation = "0.350878 0.102799 -0.930762 34.9449"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "424.036 -663.836 254.891"; + rotation = "0.350878 0.102799 -0.930762 34.9449"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "415.61 -650.69 251.399"; + rotation = "0.350878 0.102799 -0.930762 34.9449"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "407.301 -637.727 251.242"; + rotation = "-0.336828 -0.0986828 -0.936381 34.7479"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "398.207 -623.539 259.836"; + rotation = "-0 0 -1 32.6586"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(WaterContents) { + + new InteriorInstance() { + position = "273.853 -55.6765 265.887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "174.365 -273.544 219.674"; + rotation = "0 0 1 215.042"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "177.727 -406.903 225.724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "31.0689 -383.308 198.447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-47.119 -503.749 190.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-60.3946 -450.437 186.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "18.9722 288.983 218.34"; + rotation = "0 0 1 27.502"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "309.48 71.0828 206.015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "201.641 143.726 218.886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-336.1 -445.993 216.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-399.025 -397.772 200.12"; + rotation = "0 0 1 81.933"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-379.172 -290.013 205.57"; + rotation = "0 0 -1 64.7442"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-354.292 -262.179 204.821"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-417.304 -249.43 216.325"; + rotation = "0 0 -1 60.1606"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-388.6 -150.142 204.804"; + rotation = "0 0 1 109.435"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-439.764 -106.827 214.647"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-373.657 -48.6897 196.657"; + rotation = "0 0 1 107.143"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-302.29 2.71976 201.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-317.085 79.2965 200.241"; + rotation = "0 0 1 107.716"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-212.911 143.3 223.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-120.908 281.172 196.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-106.481 267.853 196.695"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Archipelago.mis b/public/base/@vl2/missions.vl2/missions/Archipelago.mis new file mode 100644 index 00000000..306dc3a5 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Archipelago.mis @@ -0,0 +1,1640 @@ +// MissionTypes = CTF +// DisplayName = Archipelago + +//--- MISSION QUOTE BEGIN --- +//Take the high ground. Burn the valleys. Scatter your enemies' ashes across the waters afterwards. +// -- attributed to Great Eagle Alexandre Konovalev, 3925 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//Four structures per side: main base, flag tower, two sensor towers +//Low visibility; skiing near impossible +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + CTF_timeLimit = "25"; + cdTrack = "2"; + CTF_scoreLimit = "5"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-520 -792 1040 1600"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + position = "-536 -1240 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Archipelago.ter"; + squareSize = "8"; + emptySquares = "403592 600455 535175 142216 142219 76686 76937 76941 142729 142733 339594 87934 96876 100765 109437 315497 577895 578151 578407"; + locked = "true"; + visibleDistance = "500"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "Archipelago.nav"; + locked = "true"; + XDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + YDimOverSize = "0"; + }; + new WaterBlock() { + position = "-1024 -1024 -39.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "4"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + locked = "true"; + audioEnvironment = Underwater; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "250"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "50 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.08230 0.235200 0.549000 1.0"; + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(Objects) { + + new SimGroup(OneMain) { + + new StaticShape() { + position = "-141.479 662.59 218.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + }; + new StaticShape() { + position = "-297.688 583.514 168.1"; + rotation = "0 0 1 9.99997"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new StaticShape() { + position = "-19.153 349.516 233.041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Forward"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "-157.301 652.342 253.59"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + }; + new StaticShape() { + position = "-177.195 652.642 253.59"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + }; + new InteriorInstance() { + position = "71.9497 419.117 163.6"; + rotation = "0 0 1 217.724"; + scale = "1 1 1"; + interiorFile = "bbrdga.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "81.4297 431.39 163.6"; + rotation = "0 0 1 217.724"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "91.2088 444.025 163.6"; + rotation = "0 0 1 217.724"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-19.14 346.9 232.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-167.159 659.969 217.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new StaticShape() { + position = "-193.171 662.696 218.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + }; + new StaticShape() { + position = "-54.0086 637.324 197.93"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Flag Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + locked = "true"; + }; + new InteriorInstance() { + position = "-66.588 630.79 204.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item() { + position = "-66.4878 624.459 228.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + Target = "40"; + locked = "true"; + }; + new InteriorInstance() { + position = "-297.751 577.366 168.4"; + rotation = "0 0 1 190"; + scale = "1 0.755516 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "-19.3771 345.613 240.702"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Forward"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "41"; + locked = "true"; + }; + }; + new SimGroup(OneWest) { + providesPower = "1"; + + new StaticShape() { + position = "-445.835 542.294 215.15"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + locked = "true"; + }; + new InteriorInstance() { + position = "-447.172 543.329 199.14"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "-448.098 544.367 232.716"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + locked = "true"; + }; + }; + new SimGroup(OneEast) { + providesPower = "1"; + + new StaticShape() { + position = "278.747 613.8 224.151"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + nameTag = "East Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + }; + new InteriorInstance() { + position = "283.964 619.197 190.45"; + rotation = "0 0 -1 54.431"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item() { + position = "287.049 623.05 196.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "285.011 618.023 206.45"; + rotation = "0 0 1 126.051"; + scale = "1 1 1"; + nameTag = "East Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + }; + }; + }; + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-165.475 639.521 257.763"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "60"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + new SpawnSphere() { + position = "-428.833 534.025 207.187"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "20"; + indoorWeight = "70"; + outdoorWeight = "30"; + locked = "true"; + }; + new SpawnSphere() { + position = "284.44 614.618 210.439"; + rotation = "0 0 1 189.259"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "20"; + indoorWeight = "60"; + outdoorWeight = "40"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-66.5359 624.467 228.276"; + rotation = "0 0 -1 66.4631"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new SimGroup(Crates) { + + new TSStatic() { + position = "-182.041 670.482 230.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-153.29 671.133 230.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-61.2452 638.383 214.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-170.301 672.621 218.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-165.303 672.686 218.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-170.301 672.671 220.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "107.788 -697.586 250.02"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "79.0895 -697.887 250.02"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "23.0473 -535.847 211.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "13.1609 -535.331 211.426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "91.0325 -699.649 238.02"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "96.1204 -699.709 240.02"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(Stuff) { + + new SimGroup(TwoWest) { + providesPower = "1"; + + new InteriorInstance() { + position = "-286.31 -451.03 227.38"; + rotation = "0 0 1 158.71"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "-278.446 -448.882 260.269"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + locked = "true"; + }; + new StaticShape() { + position = "-285.022 -454.327 243.4"; + rotation = "0 0 1 159.282"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + locked = "true"; + }; + new Item() { + position = "-283.324 -447.687 234.937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(TwoEast) { + providesPower = "1"; + + new InteriorInstance() { + position = "348.69 -411.4 241.31"; + rotation = "0 0 1 93.3922"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "352.306 -411.627 257.31"; + rotation = "0 0 1 93.9651"; + scale = "1 1 1"; + nameTag = "East Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + locked = "true"; + }; + new StaticShape() { + position = "349.651 -412.018 274.857"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + nameTag = "East Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + }; + new Item() { + position = "346.872 -415.327 248.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-443.288 544.979 205.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(TwoMain) { + + new InteriorInstance() { + position = "92.88 -687.47 237.02"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-12 -323 203.12"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "-11.886 -321.84 211.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Forward"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + Target = "50"; + locked = "true"; + }; + new StaticShape() { + position = "-12.0407 -326.018 204.1"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Forward"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + locked = "true"; + }; + new StaticShape() { + position = "118.821 -686.543 238.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + }; + new StaticShape() { + position = "66.7621 -686.399 238.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + locked = "true"; + }; + new StaticShape() { + position = "6.23562 -534.537 194.95"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Flag Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + locked = "true"; + }; + new InteriorInstance() { + position = "17.768 -528.009 201.444"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "152.547 -458.643 164.3"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new StaticShape() { + position = "82.7444 -680.048 273.02"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + locked = "true"; + }; + new StaticShape() { + position = "102.891 -679.832 273.02"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + locked = "true"; + }; + new InteriorInstance() { + position = "152.595 -452.351 164.6"; + rotation = "1 0 0 0"; + scale = "1 0.755516 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-10.2898 -450.283 165.343"; + rotation = "-0 0 -1 12.605"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-6.78883 -465.88 165.343"; + rotation = "-0 0 -1 12.605"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new Item() { + position = "17.8433 -521.698 225.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + Target = "58"; + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "99.6132 -669.518 256.483"; + rotation = "0 0 -1 91.6732"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "60"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + new SpawnSphere() { + position = "-271.241 -432.981 250.672"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "20"; + indoorWeight = "70"; + outdoorWeight = "30"; + locked = "true"; + }; + new SpawnSphere() { + position = "356.944 -404.645 262.174"; + rotation = "0 0 1 189.259"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "20"; + indoorWeight = "60"; + outdoorWeight = "40"; + locked = "true"; + }; + }; + new StaticShape() { + position = "17.823 -521.729 225.417"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-164.639 652.11 276.245"; + rotation = "0 0 1 174.179"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "355.392 -374.108 289.319"; + rotation = "0 0 1 211.031"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "213.255 488.603 221.244"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-6.6665 -303.04 232.248"; + rotation = "0 0 1 203.4"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Environmental) { + + new InteriorInstance() { + position = "-154.891 -43.33 249.141"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-155.184 -45.05 250.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-155.111 -41.5 250.135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "234.97 76.62 193.192"; + rotation = "0 0 1 90.0456"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "380.967 165.71 163.458"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new Item() { + position = "235.069 78.41 194.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "235.068 74.79 194.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "2.553 -4.01 220.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-2.549 -4.18 223.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "7.402 -4.0601 223.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "2.528 -9.3 223.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "2.597 1.58 223.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "101.015 456.685 163.6"; + rotation = "0 0 1 217.724"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "209.559 -139.91 235.286"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-200.754 9.8101 228.326"; + rotation = "0 0 -1 49.2744"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-13.7762 -434.665 165.343"; + rotation = "-0 0 -1 12.605"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-17.2722 -419.049 165.343"; + rotation = "-0 0 -1 12.605"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-20.7592 -403.437 165.343"; + rotation = "-0 0 -1 12.605"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-24.1442 -388.309 165.343"; + rotation = "-0 0 -1 12.605"; + scale = "1 1 1"; + interiorFile = "bbrdga.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-140.017 -23.5572 213.03"; + rotation = "-0.063568 0.205498 -0.976591 35.1513"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-22.602 -14.47 220.572"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "45.749 -3.91 204.804"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "227.556 528.52 176.57"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-138.409 610.36 212.881"; + rotation = "0 0 1 50.4203"; + scale = "1 1 0.9603"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BEPlant1) { + + new TSStatic() { + position = "-241 -199 193.283"; + rotation = "-0.0542544 -0.199028 0.978491 115.134"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "215 329 183.724"; + rotation = "-0.147643 0.0594824 0.98725 186.911"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "7 249 166.521"; + rotation = "-0.203036 -0.167768 0.964692 118.82"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-9 345 233.795"; + rotation = "-0.109097 0.0226797 -0.993772 116.321"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "126 -495 109.163"; + rotation = "-0.0549627 -0.07482 0.995681 155.105"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-265 -351 157.033"; + rotation = "0.770858 0.586973 0.247468 35.2843"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-264.8 -31 181.068"; + rotation = "-0.219107 -0.118027 0.968536 177.094"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "287 -135 204.658"; + rotation = "0.0976782 -0.152117 -0.983524 97.9437"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "495 -255 196.775"; + rotation = "0.436955 0.670805 0.599242 39.0601"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + new TSStatic() { + position = "407.219 -455.165 212.409"; + rotation = "-0.203065 -0.129817 0.970522 154.742"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "239.219 -63.1649 255.714"; + rotation = "0.653417 0.640918 -0.402828 29.2462"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-296.781 -271.165 201.042"; + rotation = "-0.0500304 -0.261748 0.963839 181.928"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-264.781 272.835 157.003"; + rotation = "0.561034 -0.0497987 -0.826293 44.0897"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "199.219 320.835 179.48"; + rotation = "0.0803559 -0.176469 0.981021 223.243"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "311.219 -183.165 173.249"; + rotation = "-0.995943 -0.0840936 -0.032034 30.4815"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-32.7809 -495.165 170.671"; + rotation = "-0.084007 0.357062 0.930295 102.075"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "495.219 -351.165 218.281"; + rotation = "0.255359 0.120499 0.959308 137.629"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "255.219 -191.165 221.46"; + rotation = "0.253789 -0.918787 0.302361 19.6667"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-64.7809 -463.165 153.499"; + rotation = "0.0142854 -0.167181 0.985823 231.358"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(AmbientSounds) { + + new AudioEmitter() { + position = "82.4799 485.372 184.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "61.6892 13.9721 224.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-120.093 -5.3815 280.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "57.1165 -236.008 170.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "211.971 -138.511 249.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "136.054 348.542 168.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-400.221 592.224 167.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-259.283 -106.685 161.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-60.1574 -272.541 242.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "255.111 577.416 163.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "382.261 176.691 172.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-248.668 -417.85 179.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "305.116 -375.013 190.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-21.4999 620.747 216.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "1.0622 -445.354 168.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "140.348 -630.719 234.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-241.067 269.031 194.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new TSStatic() { + position = "96.107 -699.669 238.02"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "603.313 961.995 178.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + locked = "true"; + }; + new TSStatic() { + position = "603.253 961.559 181.33"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + locked = "true"; + }; +}; + +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/AshesToAshes.mis b/public/base/@vl2/missions.vl2/missions/AshesToAshes.mis new file mode 100644 index 00000000..99718f23 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/AshesToAshes.mis @@ -0,0 +1,1032 @@ +// DisplayName = Ashes to Ashes +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//The Hordes come straight at you and give no quarter. Fine. We like that. +// -- Lykaios Jade, Leut-Prime of the Blood Eagle +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]Five towers, each with a control switch +//[CnH]Vehicle stations at NW and SE towers +//[CnH]Poor visibility; skiing very difficult +//[CnH]6000 points needed to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CnH_timeLimit = "25"; + powerCount = "0"; + cdTrack = "4"; + musicTrack = "badlands"; + + new MissionArea(MissionArea) { + area = "-472 -840 1152 1152"; + flightCeiling = "350"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + position = "-1024 -1024 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "AshesToAshes.ter"; + squareSize = "8"; + emptySquares = "250"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "60"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + GraphFile = "AshesToAshes.nav"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "650"; + useSkyTextures = "0"; + SkySolidColor = "0.700000 0.700000 0.700000 1.000000"; + fogDistance = "290"; + fogColor = "0.540000 0.340000 0.150000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000500 0.005000"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "142.26 -133.251 391.776"; + rotation = "0.00375349 -0.104806 0.994486 175.92"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-120.566 124.78 182.645"; + rotation = "0 0 1 167.877"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "586.7 212.94 207.692"; + rotation = "0 0 1 146.677"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "405.34 -583.41 206.67"; + rotation = "0 0 1 100.841"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-366.632 -679.139 249.169"; + rotation = "0 0 -1 50.9932"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "511.32 175.87 177.02"; + rotation = "0 0 1 182.774"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-347.364 -678.07 150.443"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "90"; + locked = "true"; + }; + }; + }; + new SimGroup(Team0) { + + new SimGroup(Towers) { + + new SimGroup(Tower1) { + + new InteriorInstance() { + position = "486.83 199.12 171.421"; + rotation = "0 0 -1 115.347"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "545.25 141.2 139.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "545.03 141.07 162.058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + Projector = "3309"; + name = "NE Tower"; + }; + new Item() { + position = "545.09 141.25 141.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "473.05 197.93 173.42"; + rotation = "0 0 -1 68.182"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + }; + new StaticShape() { + position = "477.33 189.12 173.42"; + rotation = "0 0 1 198.999"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "504.94 206.34 -178.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + }; + new WayPoint() { + position = "544.32 141.57 154.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NE Tower"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "542.04 142.91 168.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Tower2) { + + new InteriorInstance() { + position = "394.99 -660.411 142.682"; + rotation = "0 0 -1 61.8794"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "394.92 -660.453 183.097"; + rotation = "0 0 1 24.0642"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + Projector = "3317"; + name = "SE Tower"; + }; + new StaticShape() { + position = "405.399 -641.917 210.055"; + rotation = "0 0 -1 20.6265"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + }; + new Item() { + position = "404.07 -665.679 160.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "405.97 -664.669 135.73"; + rotation = "0 0 1 26.929"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + locked = "true"; + }; + new WayPoint() { + position = "394.17 -659.811 176.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SE Tower"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "412.45 -627.79 207.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + holo = "0"; + }; + new StaticShape() { + position = "389.47 -671.308 135.68"; + rotation = "0 0 1 208.739"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + }; + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "460.52 -653.29 146.212"; + rotation = "0 0 1 236.059"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + }; + new StaticShape() { + position = "536.53 -606.269 135.745"; + rotation = "0 0 1 159.855"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + mobileBaseVehicle = "Removed"; + Target = "-1"; + locked = "true"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + }; + new SimGroup(Tower3) { + + new InteriorInstance() { + position = "128.78 -257.206 257.604"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 1"; + interiorFile = "xtowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new StaticShape() { + position = "129.01 -257.276 246.325"; + rotation = "0 0 1 35.5234"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + tHoldThread = "763"; + Target = "42"; + locked = "true"; + tCapThread = "722"; + Projector = "3336"; + pCapThread = "721"; + name = "Center Tower"; + }; + new StaticShape() { + position = "107.37 -274.354 383.839"; + rotation = "0 0 1 220.589"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + locked = "true"; + }; + new StaticShape() { + position = "151.88 -238.686 383.979"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + }; + new Turret() { + position = "111.34 -233.865 384.548"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "45"; + locked = "true"; + }; + new Turret() { + position = "146.24 -280.521 384.444"; + rotation = "0 0 1 132.926"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + Target = "46"; + locked = "true"; + }; + new WayPoint() { + position = "127.995 -256.781 246.416"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center Tower"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "153.42 -267.387 262.175"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + locked = "true"; + }; + new Item() { + position = "140.8 -282.345 305.721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "106.05 -244.939 249.65"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + nameTag = "Center Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + locked = "true"; + }; + new StaticShape() { + position = "156.93 -272.21 384.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Tower4) { + + new InteriorInstance() { + position = "-198.924 103.03 139.199"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "-198.981 103.15 179.64"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + nameTag = "NW Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + Projector = "3350"; + name = "NW Tower"; + }; + new StaticShape() { + position = "-187.745 96.81 132.244"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + nameTag = "NW Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + }; + new StaticShape() { + position = "-191.508 112.65 132.189"; + rotation = "0 0 1 36.0963"; + scale = "1 1 1"; + nameTag = "NW Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + locked = "true"; + }; + new WayPoint() { + position = "-197.816 101.65 171.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NW Tower"; + team = "0"; + locked = "true"; + }; + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-206.562 186.76 149.844"; + rotation = "0 0 1 67.4269"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-186.116 120.402 206.37"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + nameTag = "NW Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + }; + new StaticShape() { + position = "-202.771 250.203 136.231"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + mobileBaseVehicle = "Removed"; + Target = "-1"; + locked = "true"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + }; + new StaticShape() { + position = "-220.559 74.11 204.098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + holo = "0"; + }; + new Item() { + position = "-206.601 109.067 132.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(Tower5) { + + new InteriorInstance() { + position = "-340.505 -626.031 140.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-340.696 -626.27 142.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-340.55 -625.974 163.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + locked = "true"; + Projector = "3363"; + name = "SW Tower"; + }; + new InteriorInstance() { + position = "-383.118 -550.636 224.872"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-378.34 -537.606 226.87"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + locked = "true"; + }; + new StaticShape() { + position = "-371.029 -543.879 226.87"; + rotation = "0 0 1 84.7977"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + locked = "true"; + }; + new StaticShape() { + position = "-383.347 -553.735 -227.612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + locked = "true"; + }; + new WayPoint() { + position = "-340.588 -626.405 156.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SW Tower"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-343.586 -624.252 169.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + holo = "0"; + }; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + new TSStatic() { + position = "117.58 -238.795 249.6"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148.04 -245.973 224.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "141.45 -277.382 306.013"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "141.52 -277.394 307.984"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "557.93 -627.444 139.56"; + rotation = "0 0 -1 8.59438"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "510.898 -613.494 134.406"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "165.84 -110.591 213.492"; + rotation = "-0.039176 -0.0465394 0.998148 188.826"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "160.85 -111.776 224.048"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-17.81 179.42 42.6608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-124.418 -348.042 86.4691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "325.55 -505.906 82.0727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "437.89 -144.478 72.6345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "495.83 -21.6 49.6312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-36.6284 0.267834 135.713"; + rotation = "-0.20964 -0.0268453 0.97741 93.3165"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "133.16 -184.515 222.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rumblingthunder.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "165.701 -112.93 217.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + emitter = "MissileLauncherExhaustEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "164.827 -107.653 217.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + emitter = "MissileLauncherExhaustEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-39.1257 1.28316 137.843"; + rotation = "0.140141 0.802486 0.57998 5.07797"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + emitter = "MissileLauncherExhaustEmitter"; + velocity = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-214.647 237.04 136.521"; + rotation = "0 0 1 116.883"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-210.888 229.245 139.026"; + rotation = "-0.214083 0.149626 0.965288 228.967"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-182.088 276.252 136.165"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/BeggarsRun.mis b/public/base/@vl2/missions.vl2/missions/BeggarsRun.mis new file mode 100644 index 00000000..b798df03 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/BeggarsRun.mis @@ -0,0 +1,3371 @@ +// DisplayName = Beggar's Run +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//My name is Ozymandias, king of kings: Look on my works, ye Mighty, and despair! +// -- Percy Bysshe Shelley +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "desert"; + CTF_scoreLimit = "8"; + cdTrack = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-184 -512 880 1024"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.800000 0.800000 0.800000 1.000000"; + scale = "3 3 3"; + position = "-1024 -1024 1"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "BeggarsRun.ter"; + squareSize = "8"; + emptySquares = "87960 88216 88472 107946 108202 108458"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "BeggarsRun.nav"; + position = "0 0 0 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "275"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.330000 0.310000 0.000000"; + fogDistance = "225"; + fogColor = "0.257800 0.125000 0.097700 1.000000"; + fogVolume1 = "500 1 300"; + fogVolume2 = "1000 301 500"; + fogVolume3 = "17000 501 1000"; + materialList = "sky_desert_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(equipment) { + powerCount = "0"; + team = "1"; + + new InteriorInstance() { + position = "268.63 322.34 109.277"; + rotation = "0 0 1 178.945"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "410.24 326.77 109.277"; + rotation = "-0 0 -1 1.71869"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new SimGroup(Bridge) { + powerCount = "0"; + team = "1"; + + new InteriorInstance() { + position = "289.83 322.82 110.526"; + rotation = "-0 0 -1 1.71915"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "314.29 323.45 110.53"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "314.55 315.45 127.216"; + rotation = "-0 0 -1 3.43793"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "314.02 331.62 127.509"; + rotation = "0 0 1 178.372"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new InteriorInstance() { + position = "339.32 326.74 83.2754"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + team = "1"; + audioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "364.62 325.1 110.527"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "389.06 326 110.526"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "364.98 316.94 127.506"; + rotation = "-0 0 -1 2.86462"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "364.25 333.11 127.213"; + rotation = "0 0 1 175.898"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new Item() { + position = "339.32 324.37 98.5526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "195.25 -333.991 90.8401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + lastDamagedBy = "2"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "265.57 -336.254 101.669"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "220.2 -326.713 119.796"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "244.37 -335.59 102.923"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "220 -334.892 102.935"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "124.6 -331.831 101.674"; + rotation = "0 0 1 186.212"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "219.75 -343.089 119.877"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "145.23 -332.323 102.937"; + rotation = "0 0 1 2.10924"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "169.69 -333.211 102.954"; + rotation = "0 0 1 2.10924"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "169.49 -341.22 119.634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "169.87 -325.042 119.934"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + }; + new InteriorInstance() { + position = "194.79 -336.553 75.6822"; + rotation = "0 0 1 91.6735"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + team = "1"; + Hidden = "false"; + audioEnvironment = SmallRoom; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + team = "1"; + + new SpawnSphere() { + position = "339.35 324.16 115.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + team = "1"; + }; + }; + new SimGroup(Powered) { + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team1StationInventory1) { + position = "340.33 300.505 84.7428"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3361"; + lastDamagedBy = "2"; + notReady = "1"; + inUse = "Down"; + team = "1"; + Target = "33"; + }; + new StaticShape(Team1StationInventory2) { + position = "334.64 322.11 73.2452"; + rotation = "0 0 1 175.325"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3363"; + lastDamagedBy = "3262"; + lastDamagedByTeam = "2"; + notReady = "1"; + inUse = "Down"; + team = "1"; + Target = "34"; + damageTimeMS = "609939"; + }; + new Turret(Team1SentryTurret1) { + position = "339.6 319.13 91.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "4341"; + team = "1"; + Target = "35"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "268.52 321.93 126.471"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "410.08 326.93 127.09"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + nameTag = "Deck"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + lastDamagedBy = "2"; + team = "1"; + beingRepaired = "0"; + Target = "37"; + }; + new StaticShape(Team1StationInventory3) { + position = "344.43 322.1 73.2412"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3368"; + lastDamagedBy = "3262"; + lastDamagedByTeam = "2"; + notReady = "1"; + inUse = "Down"; + team = "1"; + Target = "38"; + damageTimeMS = "609939"; + }; + }; + new StaticShape() { + position = "339.421 324.26 111.533"; + rotation = "0 0 1 111.154"; + scale = "1.2 1.2 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Flag = "3402"; + team = "1"; + Target = "-1"; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "340.28 300.51 86.3095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3360"; + location = "340.28 302.91 86.3095"; + weightLevel1 = "3200"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3372"; + }; + new AIObjective(AIORepairObject) { + position = "344.43 322.1 74.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3367"; + location = "344.43 322.1 74.807"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3372"; + }; + new AIObjective(AIORepairObject) { + position = "268.52 321.912 130.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team1SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3365"; + location = "268.52 321.912 130.746"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3372"; + }; + new AIObjective(AIORepairObject) { + position = "410.086 326.269 128.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3366"; + location = "410.086 326.269 128.842"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3372"; + }; + new AIObjective(AIORepairObject) { + position = "339.37 319.13 91.4889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3364"; + location = "339.37 319.13 91.4889"; + weightLevel1 = "3150"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3372"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIOAttackObject) { + position = "195.15 -328.842 83.9189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3413"; + location = "195.15 -328.842 83.9189"; + weightLevel1 = "3000"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3378"; + }; + new AIObjective(AIOAttackObject) { + position = "190 -331.557 67.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "190 -331.557 67.181"; + weightLevel1 = "2800"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3378"; + }; + new AIObjective(AIOAttackObject) { + position = "195.34 -310.655 78.5924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3409"; + location = "195.34 -312.655 78.7924"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3378"; + }; + new AIObjective(AIOAttackObject) { + position = "199.86 -331.839 67.2367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3411"; + location = "199.86 -331.839 67.2367"; + weightLevel1 = "2800"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3378"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "194.794 -334.071 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3418"; + location = "194.794 -334.071 105.684"; + weightLevel1 = "5000"; + weightLevel2 = "4000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Light EnergyPack"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "339.32 324.31 113.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "339.32 324.31 113.367"; + weightLevel1 = "5500"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "194.794 -334.071 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3418"; + location = "194.794 -334.071 105.684"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "194.794 -334.071 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3418"; + location = "194.794 -334.071 105.684"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "339.32 324.31 113.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "339.32 324.31 113.367"; + weightLevel1 = "4500"; + weightLevel2 = "2900"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "339.32 324.31 113.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "339.32 324.31 113.367"; + weightLevel1 = "5000"; + weightLevel2 = "4900"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Light EnergyPack"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "1"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIOMortarObject) { + position = "124.623 -331.855 121.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3415"; + location = "124.623 -331.855 121.329"; + weightLevel1 = "1400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3389"; + }; + new AIObjective(AIOMortarObject) { + position = "265.71 -336.46 122.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3414"; + location = "265.71 -336.46 122.84"; + weightLevel1 = "1400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3389"; + }; + new AIObjective(AIOMortarObject) { + position = "195.194 -328.642 83.8323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3413"; + location = "195.194 -328.642 83.8323"; + weightLevel1 = "1400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3389"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODeployEquipment) { + position = "339.125 327.176 84.8452"; + rotation = "0.999861 -0.0158799 -0.00499935 34.955"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "339.125 327.176 84.8452"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "312.932 319.991 83.346"; + rotation = "0.157346 0.186506 -0.969772 101.423"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "312.932 319.991 83.346"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "382.59 312.615 76.5718"; + rotation = "0.136985 -0.25944 0.955995 126.434"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "382.59 312.615 76.5718"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "404.4 322.359 116.744"; + rotation = "0.000923478 0.159318 0.987227 180.656"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "404.4 322.359 116.744"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "275.416 318.113 117.877"; + rotation = "-0.0016297 0.281157 0.95966 179.363"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "275.416 318.113 117.877"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "344.874 272.482 87.7901"; + rotation = "-0.00126231 -0.300293 0.953846 180.459"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "344.874 272.482 87.7901"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "339.472 327.612 112.317"; + rotation = "1 -3.12854e-09 1.39905e-08 25.2101"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "339.472 327.612 112.317"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3393"; + }; + }; + }; + new TSStatic() { + position = "339.415 324.192 111.509"; + rotation = "-0.00018806 -0.0100025 0.99995 178.19"; + scale = "1.34259 1.43114 0.25"; + shapeName = "pmiscf.dts"; + lockCount = "0"; + team = "1"; + homingCount = "0"; + }; + new Item(Team1flag1) { + position = "339.398 324.266 112.124"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "339.342 324.298 112.124 0 0 1 1.57"; + stand = "3370"; + isHome = "1"; + team = "1"; + Target = "39"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(equipment) { + powerCount = "0"; + team = "2"; + + new TSStatic() { + position = "194.826 -334.303 104.002"; + rotation = "0 0 1 1.71915"; + scale = "1.34858 1.54002 0.25"; + shapeName = "pmiscf.dts"; + lockCount = "0"; + team = "2"; + homingCount = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; + }; + new StaticShape() { + position = "194.811 -334.054 103.85"; + rotation = "0 0 1 24.6372"; + scale = "1.2 1.2 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + lastDamagedBy = "3262"; + lastDamagedByTeam = "2"; + Flag = "3418"; + team = "2"; + Target = "-1"; + damageTimeMS = "132041"; + }; + new SimGroup(Powered) { + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team2StationInventory1) { + position = "195.341 -310.005 77.1266"; + rotation = "-0 0 -1 3.43793"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3410"; + lastDamagedBy = "2"; + notReady = "1"; + inUse = "Down"; + team = "2"; + Target = "40"; + }; + new StaticShape(Team2StationInventory2) { + position = "199.86 -331.839 65.6709"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3412"; + lastDamagedBy = "2"; + notReady = "1"; + inUse = "Down"; + team = "2"; + Target = "41"; + }; + new Turret(Team2SentryTurret1) { + position = "195.12 -328.842 84.25"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + team = "2"; + Target = "42"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "265.71 -336.478 118.565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + lastDamagedBy = "4"; + team = "2"; + Target = "43"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "124.55 -332.512 119.577"; + rotation = "0 0 1 6.30264"; + scale = "1 1 1"; + nameTag = "Deck"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + lastDamagedBy = "2"; + team = "2"; + beingRepaired = "0"; + Target = "44"; + lastDamageLevel = "0.00600256"; + }; + new StaticShape(Team2StationInventory3) { + position = "190 -331.557 65.6152"; + rotation = "0 0 -1 4.01031"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Trigger = "3417"; + notReady = "1"; + inUse = "Down"; + team = "2"; + Target = "45"; + }; + }; + new Item(Team2flag1) { + position = "194.885 -334.116 104.455"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + lastDamagedBy = "2"; + originalPosition = "194.821 -334.084 104.458 0 0 1 1.58"; + stand = "3407"; + isHome = "1"; + team = "2"; + Target = "46"; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + team = "2"; + + new SpawnSphere() { + position = "196.1 -334.008 108.651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + team = "2"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "190 -331.557 67.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "190 -331.557 67.181"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + new AIObjective(AIORepairObject) { + position = "124.623 -331.855 121.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3415"; + location = "124.623 -331.855 121.329"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + new AIObjective(AIORepairObject) { + position = "265.71 -336.46 122.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3414"; + location = "265.71 -336.46 122.84"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + new AIObjective(AIORepairObject) { + position = "195.15 -328.842 83.9189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3413"; + location = "195.15 -328.842 83.9189"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + new AIObjective(AIORepairObject) { + position = "199.86 -331.839 67.2367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3411"; + location = "199.86 -331.839 67.2367"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + new AIObjective(AIORepairObject) { + position = "195.34 -310.655 78.5924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3409"; + location = "195.34 -312.655 78.7924"; + weightLevel1 = "3200"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + new AIObjective(AIORepairObject) { + position = "190.012 -331.49 66.8865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "190.012 -331.49 66.8865"; + weightLevel1 = "2900"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3423"; + }; + }; + new AIObjective(AIODefendLocation) { + position = "194.794 -334.071 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3418"; + location = "194.794 -334.071 105.684"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "194.794 -334.071 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3418"; + location = "194.794 -334.071 105.684"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOAttackPlayer) { + position = "194.794 -334.071 105.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3418"; + location = "194.794 -334.071 105.684"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Light EnergyPack"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "2"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIOMortarObject) { + position = "410.086 326.269 128.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3366"; + location = "410.086 326.269 128.842"; + weightLevel1 = "1400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3434"; + }; + new AIObjective(AIOMortarObject) { + position = "268.52 321.912 130.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team1SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3365"; + location = "268.52 321.912 130.746"; + weightLevel1 = "1400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3434"; + }; + new AIObjective(AIOMortarObject) { + position = "339.29 318.907 90.7533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3364"; + location = "339.29 318.907 90.7533"; + weightLevel1 = "1400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3434"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIOAttackObject) { + position = "344.43 322.1 74.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3367"; + location = "344.43 322.1 74.807"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3438"; + }; + new AIObjective(AIOAttackObject) { + position = "334.64 322.11 74.811"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3362"; + location = "334.64 322.11 74.811"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3438"; + }; + new AIObjective(AIOAttackObject) { + position = "340.28 300.51 86.3095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3360"; + location = "340.28 302.91 86.3095"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "HEAVY"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3438"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "339.32 324.31 113.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "339.32 324.31 113.367"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Light EnergyPack"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "339.32 324.31 113.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "339.32 324.31 113.367"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "339.32 324.31 113.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "339.32 324.31 113.367"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + isInvalid = "0"; + team = "2"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODeployEquipment) { + position = "131.273 -328.176 110.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "131.273 -328.176 110.396"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3445"; + }; + new AIObjective(AIODeployEquipment) { + position = "259.215 -331.478 110.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "259.215 -331.478 110.575"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3445"; + }; + new AIObjective(AIODeployEquipment) { + position = "194.806 -337.372 77.1364"; + rotation = "-0.0151665 -0.342858 0.939265 184.758"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "194.806 -337.372 77.1364"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3445"; + }; + new AIObjective(AIODeployEquipment) { + position = "161.114 -340.921 79.7848"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "161.114 -340.921 79.7848"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3445"; + }; + new AIObjective(AIODeployEquipment) { + position = "241.63 -320.782 76.3423"; + rotation = "-0.0147104 0.0144228 0.999788 93.4046"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "241.63 -320.782 76.3423"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3445"; + }; + new AIObjective(AIODeployEquipment) { + position = "194.855 -337.922 72.7187"; + rotation = "-0.00180948 -0.430457 0.902609 180.435"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "194.855 -337.922 72.7187"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3445"; + }; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "270.74 276.82 138.275"; + rotation = "0.374592 -0.14314 0.916074 45.285"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + new Camera() { + position = "275.06 -288.464 123.053"; + rotation = "-0.044781 -0.0848124 0.99539 235.45"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + + new SimGroup(Addition2PhoenixPlant1) { + powerCount = "0"; + + new TSStatic() { + position = "400.5 488.5 147.262"; + rotation = "0 0 -1 53"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "402.5 69.5 125.879"; + rotation = "0 0 1 109"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "38.5 87.5 94.3496"; + rotation = "0 0 1 228"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "406.5 71.5 126.098"; + rotation = "0 0 1 79"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "647.41 -335.728 142.572"; + rotation = "0 0 1 164"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "569.5 -159.5 103.869"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "175.5 -341.5 78.0371"; + rotation = "0 0 -1 60"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "122.5 -313.5 101.609"; + rotation = "0 0 -1 110"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "16.5 129.5 114.414"; + rotation = "0 0 1 126"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "435.5 483.5 140.602"; + rotation = "0 0 -1 39"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "251.5 446.5 168.342"; + rotation = "0 0 1 143"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "52.5 230.5 122.166"; + rotation = "0 0 1 32"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "81.5 147.5 106.621"; + rotation = "0 0 1 43"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "219.5 308.5 112.314"; + rotation = "0 0 1 185"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-32.5 56.5 125.018"; + rotation = "0 0 -1 84"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "374.5 -496.5 143.848"; + rotation = "0 0 1 194"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "328.5 -83.5 100.981"; + rotation = "0 0 1 178"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "371.5 -223.5 137.453"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "303.5 -99.5 104.674"; + rotation = "0 0 -1 84"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "320.5 -143.5 104.434"; + rotation = "0 0 -1 118"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "398.5 -222.5 134.643"; + rotation = "0 0 1 104"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "2.5 -203.5 168.082"; + rotation = "0 0 1 134"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "582.5 297.5 82.7734"; + rotation = "0 0 1 148"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-11.5 154.5 103.125"; + rotation = "0 0 -1 117"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "125.5 35.5 131.393"; + rotation = "0 0 -1 14"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "45.5 -365.5 100.994"; + rotation = "0 0 1 199"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "613.5 291.5 86.0333"; + rotation = "0 0 -1 96"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "425.5 372.5 129.787"; + rotation = "0 0 1 120"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "475.5 505.5 140.721"; + rotation = "0 0 1 160"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "323.5 -149.5 104.781"; + rotation = "0 0 1 107"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "562.5 -191.5 110.494"; + rotation = "0 0 1 199"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "472.5 195.5 68.4883"; + rotation = "0 0 1 164"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "238.5 468.5 167.092"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "102.5 -478.5 158.01"; + rotation = "0 0 1 204"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "321.5 296.5 82.1738"; + rotation = "0 0 1 228"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "466.5 190.5 68.2911"; + rotation = "0 0 -1 64"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "408.5 -220.5 134.916"; + rotation = "0 0 1 149"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "395.5 67.5 125.393"; + rotation = "0 0 -1 43"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "182.5 -185.5 126.816"; + rotation = "0 0 -1 52"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "494.5 20.5 57.7872"; + rotation = "0 0 1 161"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "426.5 107.5 133.625"; + rotation = "0 0 1 110"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "367.5 88.5 117.498"; + rotation = "0 0 1 42"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "496.5 321.5 104.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "575.5 -102.5 109.787"; + rotation = "0 0 1 31"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "389.5 462.5 156.109"; + rotation = "0 0 1 161"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "95.5 -10.5 127.059"; + rotation = "0 0 1 19"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "465.5 -76.5 55.6347"; + rotation = "0 0 -1 102"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "192.5 0.5 94.8281"; + rotation = "0 0 1 75"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "386.5 -502.5 146.123"; + rotation = "0 0 -1 49"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-90.5 -473.5 147.154"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-4.5 236.5 88.502"; + rotation = "0 0 1 232"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "387.18 -211.987 133.232"; + rotation = "0 0 -1 47"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "343.5 70.5 129.768"; + rotation = "0 0 1 82"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-74.5 320.5 135.129"; + rotation = "0 0 1 61"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "127.5 50.5 132.502"; + rotation = "0 0 -1 49"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "366.5 -210.5 137.406"; + rotation = "0 0 1 212"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1.5 -318.5 102.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "425.5 -193.5 143.537"; + rotation = "0 0 -1 16"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "284.5 -150.5 117.463"; + rotation = "0 0 -1 55"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "485.5 324.5 103.363"; + rotation = "0 0 1 212"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-153.5 -371.5 125.875"; + rotation = "0 0 -1 57"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "611.5 -12.5 55.2383"; + rotation = "0 0 1 155"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "216.5 96.5 159.334"; + rotation = "0 0 1 69"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "26.5 -340.5 105.83"; + rotation = "0 0 1 137"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "88.5 143.5 105.146"; + rotation = "0 0 -1 16"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-154.5 260.5 120.029"; + rotation = "0 0 -1 39"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "137.28 434.04 160.932"; + rotation = "0 0 1 86"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "174.5 447.5 167.24"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "533.5 55.5 33.3339"; + rotation = "0 0 1 12"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "63.5 139.5 108.059"; + rotation = "0 0 -1 27"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-1.5 206.5 86.5"; + rotation = "0 0 -1 26"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "471.93 -342.311 77.7402"; + rotation = "0 0 1 41"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "199.5 414.5 150.123"; + rotation = "0 0 1 162"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-4.5 -305.5 101.287"; + rotation = "0 0 -1 108"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-17.5 441.5 104.076"; + rotation = "0 0 -1 64"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "334.5 19.5 113.311"; + rotation = "0 0 -1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "133.5 -215.5 151.924"; + rotation = "0 0 1 195"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "420.5 -167.5 144.531"; + rotation = "0 0 -1 62"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "396.5 490.5 147.318"; + rotation = "0 0 -1 77"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "224.5 -66.5 82.8828"; + rotation = "0 0 1 196"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "471.5 189.5 68.8652"; + rotation = "0 0 1 110"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-115.5 433.5 123.51"; + rotation = "0 0 1 159"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "456.5 188.5 66.7773"; + rotation = "0 0 1 114"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-157.5 -282.5 82.293"; + rotation = "0 0 1 134"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-80.5 333.5 134.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "77.5 -9.5 127.111"; + rotation = "0 0 1 147"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "131.07 251.2 87.1906"; + rotation = "0 0 -1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "286.5 445.5 165.945"; + rotation = "0 0 1 177"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "364.5 -201.5 136.44"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-32.5 53.5 125.258"; + rotation = "0 0 1 37"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "256.79 30.26 128.86"; + rotation = "0 0 -1 96"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-67.5 200.5 126.871"; + rotation = "0 0 1 48"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "87.5 -14.5 127.633"; + rotation = "0 0 1 29"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "504.5 429.5 151.924"; + rotation = "0 0 -1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-98.5 306.5 138.477"; + rotation = "0 0 1 224"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-172.5 342.5 94.252"; + rotation = "0 0 1 234"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "226.5 -315.5 71.4258"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "129.5 -32.5 121.859"; + rotation = "0 0 1 231"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "479.5 238.5 65.4942"; + rotation = "0 0 1 54"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "368.5 290.5 86.3985"; + rotation = "0 0 1 188"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "381.5 -407.5 118.047"; + rotation = "0 0 -1 2.99997"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "97.5 -483.5 157.568"; + rotation = "0 0 -1 105"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-151.5 -409.5 119.32"; + rotation = "0 0 1 37"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "463.5 -0.5 63.3809"; + rotation = "0 0 1 230"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-110.5 394.5 133.219"; + rotation = "0 0 1 236"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "424.5 -55.5 62.2324"; + rotation = "0 0 -1 14"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "418.98 -228.643 135.615"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "553.5 -245.5 110.973"; + rotation = "0 0 1 126"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "582.5 -179.5 112.295"; + rotation = "0 0 -1 22"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "370.5 155.5 158.994"; + rotation = "0 0 1 13"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "236.5 456.5 166.736"; + rotation = "0 0 1 191"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "108.5 207.5 96.4922"; + rotation = "0 0 1 21"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "563.5 -92.5 104.072"; + rotation = "0 0 1 146"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "445.5 506.5 136.215"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "507.5 434.5 151.754"; + rotation = "0 0 -1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "177.5 -181.5 126.498"; + rotation = "0 0 1 13"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "93.5 -14.5 127.402"; + rotation = "0 0 -1 40"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "281.5 323.5 99.7754"; + rotation = "0 0 1 122"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "331.5 -121.5 111.656"; + rotation = "0 0 1 138"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "43.5 188.5 100.904"; + rotation = "0 0 -1 99"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "434.5 456.5 131.643"; + rotation = "0 0 1 58"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-3.5 -61.5 121.941"; + rotation = "0 0 1 63"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "156.5 442.5 169.703"; + rotation = "0 0 -1 52"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "569.5 299.5 84.2247"; + rotation = "0 0 1 161"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "295.5 440.5 164.758"; + rotation = "0 0 1 25"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "117.5 425.5 168.217"; + rotation = "0 0 -1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "195.5 412.5 150.771"; + rotation = "0 0 1 63"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "429.5 368.5 129.24"; + rotation = "0 0 -1 2.99997"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "10.5 133.5 113.729"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "469.5 193.5 68.379"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "579.5 56.5 21.2148"; + rotation = "0 0 1 115"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "588.5 -147.5 96.9434"; + rotation = "0 0 1 144"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-6.5 -384.5 126.117"; + rotation = "0 0 1 178"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition4PhoenixPlant3) { + powerCount = "0"; + + new TSStatic() { + position = "375.5 -224.5 137.5"; + rotation = "0 0 -1 77"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "622.5 290.5 86.4785"; + rotation = "0 0 1 219"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "86.5 -11.5 127.398"; + rotation = "0 0 -1 86"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "397.5 492.5 146.986"; + rotation = "0 0 -1 28"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "560.5 -261.5 110.32"; + rotation = "0 0 -1 41"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "374.5 -264.5 138.41"; + rotation = "0 0 1 173"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "75.5 -9.5 127.244"; + rotation = "0 0 -1 89"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "121.5 -507.5 158.111"; + rotation = "0 0 -1 72"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "124.5 340.5 64.2754"; + rotation = "0 0 1 72"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "412.5 295.5 102.605"; + rotation = "0 0 1 208"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "94.5 146.5 105.236"; + rotation = "0 0 -1 57"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-13.5 -72.5 121.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-13.5 492.5 113.106"; + rotation = "0 0 -1 115"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "81.5 -13.5 127.453"; + rotation = "0 0 -1 108"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "238.5 466.5 166.998"; + rotation = "0 0 1 15"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "65.5 171.5 94.6719"; + rotation = "0 0 -1 42"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "101.5 -250.5 136.619"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-32.5 -484.5 133.072"; + rotation = "0 0 1 157"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "102.5 432.5 171.107"; + rotation = "0 0 1 66"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "109.5 209.5 96.5391"; + rotation = "0 0 1 33"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-157.5 454.5 113.834"; + rotation = "0 0 -1 31"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "427.5 -454.5 151.539"; + rotation = "0 0 1 191"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-38.5 175.5 108.867"; + rotation = "0 0 -1 83"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "104.5 210.5 96.914"; + rotation = "0 0 1 100"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "336.5 -115.5 112.166"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-22.5 367.5 106.81"; + rotation = "0 0 -1 56"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "394.5 -497.5 147.014"; + rotation = "0 0 1 78"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "29.5 -431.5 101.533"; + rotation = "0 0 -1 109"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "189.5 366.5 138.084"; + rotation = "0 0 -1 63"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "332.5 27.5 112.646"; + rotation = "0 0 -1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "472.5 1.5 61.9219"; + rotation = "0 0 1 142"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "23.5 250.5 108.855"; + rotation = "0 0 1 9.00004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "559.5 -42.5 93.9122"; + rotation = "0 0 -1 42"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-101.5 -138.5 132.178"; + rotation = "0 0 1 9.00004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "670.5 -292.5 135.41"; + rotation = "0 0 -1 79"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "415.5 379.5 130.818"; + rotation = "0 0 -1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "47.5 236.5 120.93"; + rotation = "0 0 1 50"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-18.5 -74.5 120.953"; + rotation = "0 0 -1 29"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "458.5 186.5 66.7773"; + rotation = "0 0 1 105"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "112.5 -38.5 123.404"; + rotation = "0 0 1 46"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-10.5 205.5 86.0429"; + rotation = "0 0 1 67"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "381.5 503.5 143.854"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-155.5 183.5 145.895"; + rotation = "0 0 1 99"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "261.5 43.5 127.596"; + rotation = "0 0 -1 58"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "20.5 -314.5 104.186"; + rotation = "0 0 1 26"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "467.5 257.5 65.8886"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-26.5 364.5 107.238"; + rotation = "0 0 1 198"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "453.83 -209.087 137.638"; + rotation = "0 0 1 134"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "480.5 323.5 103.883"; + rotation = "0 0 1 150"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + }; + }; + }; + new SimGroup(Sounds) { + powerCount = "0"; + + new AudioEmitter() { + position = "296.26 434.72 167.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-137.773 44.11 63.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefault3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "126.6 328.39 64.5848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "100"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "583.6 -390.751 67.7803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "200"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "221.91 -429.571 189.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "298.69 -26.351 135.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "25"; + maxDistance = "1600"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2500"; + maxLoopGap = "12000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "476.52 192.85 75.4055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefault3d"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "200"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + }; + }; + new TSStatic() { + position = "340.476 297.748 84.2971"; + rotation = "0 0 1 176.471"; + scale = "1.29395 0.456635 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "195.624 -307.069 76.7961"; + rotation = "1 0 0 0"; + scale = "1.28967 0.5 1"; + shapeName = "stackable3l.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Caldera.mis b/public/base/@vl2/missions.vl2/missions/Caldera.mis new file mode 100644 index 00000000..99992a35 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Caldera.mis @@ -0,0 +1,596 @@ +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Ride your horse along the edge of a sword; hide yourself in the middle of flames. +// -- Diamond Sword saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Attackers must destroy both generators on floating base +//[Siege]Vehicle station available to attackers +//[Siege]Multiple entrances to base +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "3"; + musicTrack = "volcanic"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-272 -1040 944 1424"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Caldera.ter"; + squareSize = "8"; + emptySquares = "250"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Caldera.nav"; + YDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + }; + new WaterBlock() { + position = "112 -96 63.1568"; + rotation = "1 0 0 0"; + scale = "256 192 57.0092"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.106000 0.125000 0.235000 0.000000"; + fogDistance = "300"; + fogColor = "0.850000 0.380000 0.100000 1.000000"; + fogVolume1 = "300 0 150"; + fogVolume2 = "2000 150 320"; + fogVolume3 = "0 0 0"; + materialList = "lava_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000000"; + cloudSpeed0 = "0.001000 0.001000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-15.8675 5.46975 176.772"; + rotation = "0 0 1 77.9223"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "204.902 -49.1799 234.709"; + rotation = "0.575524 -0.0490377 0.816313 11.9177"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "251.494 -22.4737 293.284"; + rotation = "0.582189 0.145561 -0.799917 34.7144"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + providesPower = "1"; + + new SimGroup(WBase) { + + new StaticShape() { + position = "182.635 -663.221 201.981"; + rotation = "0 0 1 53.2853"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Item() { + position = "182.91 -670.25 161.338"; + rotation = "0 0 -1 35.5234"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + new StaticShape() { + position = "174.38 -662.242 148.233"; + rotation = "-0 0 -1 68.3647"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape() { + position = "182.895 -671.827 148.257"; + rotation = "0 0 1 171.888"; + scale = "1 1 1"; + nameTag = "West Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape() { + position = "107.962 -783.923 128.392"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + scoutVehicle = "Removed"; + AssaultVehicle = "Removed"; + station = "6133"; + mobileBaseVehicle = "Removed"; + Ready = "1"; + locked = "false"; + }; + new InteriorInstance() { + position = "185.736 -660.835 148.274"; + rotation = "0 0 1 49.0922"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_2"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.165 -784.013 128.692"; + rotation = "0 0 1 63.0253"; + scale = "1 0.972192 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new ForceFieldBare() { + position = "173.382 -664.951 171.147"; + rotation = "-0 0 -1 40.107"; + scale = "5.1479 4.14776 0.526289"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new ForceFieldBare() { + position = "182.534 -675.611 171.208"; + rotation = "-0 0 -1 40.107"; + scale = "5.1479 4.14776 0.526289"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new ForceFieldBare() { + position = "173.62 -665.758 148.255"; + rotation = "0 0 1 138.839"; + scale = "1.60793 8.34049 7.7216"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Turret() { + position = "193.967 -654.239 172.167"; + rotation = "0 0 1 49.8474"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "false"; + }; + new Turret() { + position = "191.694 -655.574 161.289"; + rotation = "-0.352138 0.885271 -0.3038 97.4256"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + }; + new Turret() { + position = "182.469 -676.21 161.049"; + rotation = "0.586525 0.534893 0.608176 120.529"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + }; + new Turret() { + position = "170.108 -661.95 161.017"; + rotation = "0.710775 -0.0552493 0.701247 182.267"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + }; + }; + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "192.592 -658.116 154.557"; + rotation = "-0 0 -1 67.2184"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "false"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "212.69 21.44 235.853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(baseGroup) { + + new SimGroup(TacticalPower) { + + new StaticShape(SENSOR) { + position = "210.92 24.27 295.821"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(EquipGen) { + position = "211.031 12.9246 239.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Equipment Generator"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new StaticShape(Inv1) { + position = "211.282 32.0482 258.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(Inv2) { + position = "223.136 -31.279 213.66"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Turret(BaseTur) { + position = "210.96 -39.23 219.656"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Entrance"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Inv3) { + position = "260.336 19.2504 219.66"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new SimGroup(PrimaryPower) { + + new StaticShape(ControlPoint) { + position = "210.948 6.3532 249.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control Point"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "false"; + }; + new ForceFieldBare() { + position = "214.472 4.35818 249.655"; + rotation = "1 0 0 0"; + scale = "0.386444 4.32832 7.57281"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "207.032 4.35818 249.655"; + rotation = "1 0 0 0"; + scale = "0.386444 4.32832 7.57281"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "207.413 8.6955 249.655"; + rotation = "0 0 1 90"; + scale = "0.386444 7.06983 7.57281"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(ShieldGen) { + position = "174.821 19.469 219.67"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "Shield Generator"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new InteriorInstance(base) { + position = "210.961 -2.7616 219.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + }; + new StaticShape(Inv5) { + position = "215.27 -7.64356 228.68"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(Inv4) { + position = "206.631 -7.77728 228.68"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(Inv6) { + position = "198.896 -31.279 213.66"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + }; + new Item(RP1) { + position = "211.16 42.98 252.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item(RP2) { + position = "249.253 19.1488 221.256"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item(RP3) { + position = "190.864 13.5372 215.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new AudioEmitter() { + position = "206.17 3.7 104.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "85"; + maxDistance = "5440"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new SimGroup(Ambients) { + + new TSStatic() { + position = "179.92 19.1 228.7"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "242.21 34.57 230.27"; + rotation = "0.578959 0.573655 0.57942 120.279"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "216.5 17.85 273.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "206.72 20.32 273.68"; + rotation = "0 0 1 67.036"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "242.12 35.7 230.27"; + rotation = "0.578959 0.573655 0.57942 120.279"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "180.2 16.8967 228.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "242.23 36.81 230.27"; + rotation = "0.578959 0.573655 0.57942 120.279"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + }; + new SimGroup() { + }; + new SimGroup() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Casern_Cavite.mis b/public/base/@vl2/missions.vl2/missions/Casern_Cavite.mis new file mode 100644 index 00000000..fef14d91 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Casern_Cavite.mis @@ -0,0 +1,1379 @@ +// DisplayName = Casern Cavite +// MissionTypes = Hunters Bounty DM + +//--- MISSION QUOTE BEGIN --- +//Fly down, Death, call me: I have become a lost name. +// -- Muriel Rukeyser +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters TeamHunters]Nexus located in heart of massive central building +//[DM Bounty]Mission follows standard Rules of Engagement +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "badlands"; + powerCount = "0"; + cdTrack = "4"; + + new MissionArea(MissionArea) { + area = "-320 -256 624 688"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "40 -768 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + SkySolidColor = "0.39 0.39 0.39 0.000000"; + fogDistance = "200"; + fogColor = "0.330000 0.320000 0.300000 1.000000"; + fogVolume1 = "700 200 250"; + fogVolume2 = "600 250 300"; + fogVolume3 = "0 0 0"; + materialList = "Badlands_l4.dml"; + windVelocity = "1 -0.5 0"; + windEffectPrecipitation = "1"; + locked = "true"; + cloudSpeed0 = "0.000600 0.000100"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + locked = "true"; + position = "40 -768 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Casern_Cavite.ter"; + squareSize = "8"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new Precipitation(Precipitation) { + position = "-1 1 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + percentage = "1"; + color1 = "0.420000 0.450000 0.480000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + new Lightning() { + position = "-8 88 250"; + rotation = "1 0 0 0"; + scale = "624 688 500"; + dataBlock = "DefaultStorm"; + strikesPerMinute = "5"; + strikeWidth = "2.5"; + chanceToHitTarget = "100"; + strikeRadius = "50"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + XDimOverSize = "0"; + GraphFile = "Casern_Cavite.nav"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-136.183 131.119 61.0027"; + rotation = "0.0199945 -0.0349859 0.999188 120.544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "60.5796 210.778 160.73"; + rotation = "-0.0117436 -0.0499757 0.998681 206.414"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "1.4164 82.645 152.147"; + rotation = "-0.15909 -0.35701 0.920453 224.604"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-160.141 156.11 64.6322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-6.804 270.34 58.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "182.59 57.592 99.3112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "15"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "1.4374 -36.218 44.2737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-17.3725 63.961 200.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "117.927 -3.57393 79.9199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "9.6277 89.221 154.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "5523"; + location = "9.6277 89.221 154.03"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "9.6277 89.221 154.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "5523"; + location = "9.6277 89.221 154.03"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "26.3559 64.063 154.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "5525"; + location = "26.3559 64.063 154.05"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "26.3559 64.063 154.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "5525"; + location = "26.3559 64.063 154.05"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-15.0121 107.359 154.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "5527"; + location = "-15.0121 107.359 154.054"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-15.0121 107.359 154.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "5527"; + location = "-15.0121 107.359 154.054"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-42.2812 92.164 60.0488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "5530"; + location = "-42.2812 92.164 60.0488"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-42.2812 92.164 60.0488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "5530"; + location = "-42.2812 92.164 60.0488"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "9.514 38.666 87.5445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "5533"; + location = "9.514 38.666 87.5445"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "9.514 38.666 87.5445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "5533"; + location = "9.514 38.666 87.5445"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-40.7326 38.868 154.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "5547"; + location = "-40.7326 38.868 154.072"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-40.7326 38.868 154.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "5547"; + location = "-40.7326 38.868 154.072"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "178.133 50.3628 86.7958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "5551"; + location = "178.133 50.3628 86.7958"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "178.133 50.3628 86.7958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "5551"; + location = "178.133 50.3628 86.7958"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + + new Item() { + position = "-50.825 93.755 59.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-15.853 63.799 91.4854"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "xtowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-104 96 52.7925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-104 111.5 52.7881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdga.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-104 80.5 52.7925"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xbrdga.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "147.5 62 87.2684"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "148.5 110 89.4904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "184.5 50.5 83.2666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "42.0921 154.319 133.494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-50.825 90.755 59.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "9.6277 89.221 152.464"; + rotation = "0 0 1 226.891"; + scale = "1 1 1"; + nameTag = "SouthEast Balcony"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "26.3559 64.063 152.484"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Upper Entry"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "-15.0121 107.359 152.488"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Upper Entry"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "-42.2812 92.164 58.483"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + nameTag = "Lower Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "9.514 38.666 85.9787"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + nameTag = "NorthEast Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-33.1564 42.788 51.4893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-35.3291 44.857 51.4893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-37.5018 46.925 51.4893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "1.257 85.155 51.4772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "3.3017 82.96 51.4772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "5.3466 80.765 51.4772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "5.7508 46.802 51.4973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "3.6833 44.628 51.4973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "1.6172 42.454 51.4973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-16.0137 50.098 157.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-16.0137 53.098 157.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-16.0137 56.098 157.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-40.7326 38.868 152.506"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + nameTag = "NorthWest Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-53.4695 14.417 117.035"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-50.825 87.755 59.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory7) { + position = "178.133 50.3628 85.23"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Trigger(NexusTrigger) { + position = "-42.9354 89.5608 79.7589"; + rotation = "1 0 0 0"; + scale = "53.8668 53.3831 18.8736"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Item(Nexus) { + position = "-16.2213 63.951 80.5541"; + rotation = "1 0 0 0"; + scale = "1 1 0.66"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + flashThreadDir = "1"; + missionTypesList = "Hunters"; + }; + new StaticShape() { + position = "-16.2213 63.951 80.2341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new StaticShape() { + position = "-16.2213 63.951 85.7641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + }; + }; + new WayPoint() { + position = "-15.9843 63.986 75.7918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new WayPoint() { + position = "-15.9843 63.986 75.7918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "0"; + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new AIObjective(AIORepairObject) { + position = "9.6277 89.221 154.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "5523"; + location = "9.6277 89.221 154.03"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "9.6277 89.221 154.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "5523"; + location = "9.6277 89.221 154.03"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "26.3559 64.063 154.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "5525"; + location = "26.3559 64.063 154.05"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "26.3559 64.063 154.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "5525"; + location = "26.3559 64.063 154.05"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-15.0121 107.359 154.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "5527"; + location = "-15.0121 107.359 154.054"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-15.0121 107.359 154.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "5527"; + location = "-15.0121 107.359 154.054"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-42.2812 92.164 60.0488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "5530"; + location = "-42.2812 92.164 60.0488"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-42.2812 92.164 60.0488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "5530"; + location = "-42.2812 92.164 60.0488"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "9.514 38.666 87.5445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "5533"; + location = "9.514 38.666 87.5445"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "9.514 38.666 87.5445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "5533"; + location = "9.514 38.666 87.5445"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-40.7326 38.868 154.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "5547"; + location = "-40.7326 38.868 154.072"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-40.7326 38.868 154.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "5547"; + location = "-40.7326 38.868 154.072"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "178.133 50.3628 86.7958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "5551"; + location = "178.133 50.3628 86.7958"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "178.133 50.3628 86.7958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "5551"; + location = "178.133 50.3628 86.7958"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AudioEmitter() { + position = "-52.2482 170.965 70.3341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Damnation.mis b/public/base/@vl2/missions.vl2/missions/Damnation.mis new file mode 100644 index 00000000..6c053b3e --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Damnation.mis @@ -0,0 +1,1199 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//By the flow of the inland river, +//Whence the fleets of iron have fled, +//Where the blades of the grave-grass quiver, +//Asleep are the ranks of the dead. +// -- Francis Miles Finch +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Balanced mission (both sides identical) +//No vehicle stations +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "6"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-512 -384 1040 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + position = "-1216 -848 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Damnation.ter"; + squareSize = "8"; + emptySquares = "95892 161683 293011 358802 359058 359314 228499 97684 241259 175979 372842 373098 307818 242539 177260"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + GraphFile = "Damnation.nav"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-195.416 172.745 166.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + new SpawnSphere() { + position = "-135.821 396.688 109.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + new SpawnSphere() { + position = "-416.969 399.982 151.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + + new Item() { + position = "-313.995 363.658 87.863"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + Target = "33"; + locked = "true"; + }; + new Item() { + position = "-120.695 380.206 89.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-138.098 404.8 99.296"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + }; + new StaticShape() { + position = "-138.144 385.835 99.2963"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "-148.34 424.054 109.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + }; + new StaticShape() { + position = "-159.496 424.101 109.25"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + }; + new StaticShape() { + position = "-159.522 366.285 109.25"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + }; + new StaticShape() { + position = "-148.314 366.254 109.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + locked = "true"; + }; + new StaticShape() { + position = "-143.526 371.157 121.107"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + }; + new Turret() { + position = "-145.05 419.314 121.8"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "41"; + locked = "true"; + }; + new InteriorInstance() { + position = "-152.431 395.348 101.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-313.981 363.606 86.674"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5686"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-313.964 363.622 87.8387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-194.149 161.526 156.521"; + rotation = "0 0 1 225.928"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "-196.748 158.992 172.52"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Forward Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + locked = "true"; + }; + new InteriorInstance() { + position = "-423.66 393.712 156.257"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item() { + position = "-420.82 396.034 160.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-437.029 390.012 149.85"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + locked = "true"; + }; + new StaticShape() { + position = "-419.536 406.735 149.85"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "453.235 -46.8356 151.323"; + rotation = "0 0 1 185.248"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + new SpawnSphere() { + position = "136.794 -23.7782 110.969"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "70"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + new SpawnSphere() { + position = "195.43 166.585 160.315"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "15"; + indoorWeight = "75"; + outdoorWeight = "25"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + + new Item() { + position = "306.8 -17.171 87.8528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + Target = "45"; + locked = "true"; + }; + new Item() { + position = "132.695 -32.6061 89.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "150.241 -57.5069 99.31"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + locked = "true"; + }; + new StaticShape() { + position = "150.315 -38.271 99.31"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + locked = "true"; + }; + new StaticShape() { + position = "161.076 -76.8596 109.25"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + locked = "true"; + }; + new StaticShape() { + position = "171.918 -76.8919 109.25"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + }; + new StaticShape() { + position = "172.025 -19.1343 109.25"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + }; + new StaticShape() { + position = "160.783 -19.2409 109.25"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + locked = "true"; + }; + new StaticShape() { + position = "156.126 -23.5571 121.107"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + }; + new Turret() { + position = "157.05 -72.5141 121.699"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hydroplant"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "53"; + locked = "true"; + }; + new InteriorInstance() { + position = "164.86 -48.2173 101.258"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "306.892 -17.224 86.6738"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5686"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "306.807 -17.171 87.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "205.543 184.409 155.721"; + rotation = "0 0 1 45.928"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "208.101 187.045 171.71"; + rotation = "0 0 1 45.355"; + scale = "1 1 1"; + nameTag = "Forward Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + locked = "true"; + }; + new InteriorInstance() { + position = "435.757 -47.2228 154.857"; + rotation = "0 0 1 135.309"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item() { + position = "431.93 -49.3341 159.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "449.224 -43.2509 148.36"; + rotation = "0 0 1 45.355"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + locked = "true"; + }; + new StaticShape() { + position = "431.627 -60.2621 148.36"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + nameTag = "Rear Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new WaterBlock() { + position = "128 -168 38.688"; + rotation = "1 0 0 0"; + scale = "352 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + locked = "true"; + audioEnvironment = Underwater; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BELgTree19) { + + new TSStatic() { + position = "482.764 -239.173 130.388"; + rotation = "0 0 1 213"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-166.305 -217.455 144.032"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-446.5 659.5 137.838"; + rotation = "0 0 1 83"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3BEPlant23) { + }; + new SimGroup(Addition1BELgTree19) { + + new TSStatic() { + position = "90 356 107.031"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-6 252 56.9375"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "197.15 53.8397 103.981"; + rotation = "0 0 1 143"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-182 68 91.5938"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-134 -44 103"; + rotation = "0 0 1 82"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-222 44 95.4531"; + rotation = "0 0 1 214"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-302 36 52.0781"; + rotation = "0 0 1 218"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "34 -60 93.9922"; + rotation = "0 0 -1 26.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + new TSStatic() { + position = "-210.532 290.244 103.399"; + rotation = "-0.101786 -0.00522579 0.994793 33.1633"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "90 -68 108.359"; + rotation = "-0.0754226 0.0162109 -0.99702 98.1695"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "42 324 92"; + rotation = "-0.0129373 0.0304783 -0.999452 44.0219"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3BESmTree17) { + + new TSStatic() { + position = "90 -100 101.961"; + rotation = "0 0 1 9.99989"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-278 -132 67.9375"; + rotation = "0 0 1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-158 300 101.898"; + rotation = "0 0 1 121"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "178 316 95.2343"; + rotation = "0 0 1 90.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "226 428 60.6719"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-318 68 67.289"; + rotation = "0 0 1 195"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + new TSStatic() { + position = "-70.0692 211.948 107.303"; + rotation = "-0.0922343 -0.24279 -0.965684 116.799"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "82 12 105.42"; + rotation = "0.244446 0.1545 -0.957275 117.246"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "1.95262 380.003 114.008"; + rotation = "0.116129 -0.050922 0.991928 141.291"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "154.094 508.059 109.449"; + rotation = "-0.235124 -0.169519 0.957068 186.701"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-61.9587 364.041 101.159"; + rotation = "0.0151215 0.192138 -0.981251 100.069"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "202.071 276 93.6709"; + rotation = "-0.179699 -0.0905798 0.979543 232.061"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "105.992 -156.008 104.767"; + rotation = "0.2135 -0.175995 0.96096 11.4439"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "386.041 556.084 127.204"; + rotation = "-0.223333 -0.156024 0.962174 123.854"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-285.95 540.099 115.855"; + rotation = "-0.112605 0.370342 -0.922045 96.6356"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-46 212 97.4671"; + rotation = "0.329494 -0.101911 0.938642 128.88"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "305.973 179.995 104.05"; + rotation = "-0.0183599 -0.250603 -0.967916 31.976"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-174 11.939 99.8785"; + rotation = "0.526422 0.131252 0.840031 33.0626"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-285.915 572.029 128.749"; + rotation = "-0.365142 0.472928 0.801879 45.298"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "154 20 105.35"; + rotation = "0 0 1 100"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "322.032 116.069 96.3918"; + rotation = "-0.176548 0.289402 -0.940785 70.2565"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-333.969 564.075 119.589"; + rotation = "-0.782066 0.191168 0.593151 29.9008"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-294.076 -19.9813 56.9705"; + rotation = "0.183774 -0.0833939 0.979425 159.423"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "41.9724 444.079 77.1451"; + rotation = "0.0181824 -0.22121 0.975057 151.694"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-70.0639 -99.9534 80.5491"; + rotation = "0.0323144 -0.290007 0.956479 87.544"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-382.087 459.994 117.834"; + rotation = "0.206925 -0.66769 0.715103 37.1165"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-398.047 -91.8929 131.969"; + rotation = "-0.823392 -0.169726 -0.541497 42.8632"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "42.0115 388.036 105.31"; + rotation = "-0.0678493 0.120824 -0.990353 86.5551"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-133.975 12.0047 104.683"; + rotation = "-0.0619199 -0.0127325 0.998 181.996"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition5BEPlant5) { + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-225.463 143.423 202.782"; + rotation = "0 0 1 117.639"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "96.8526 -104.743 165.021"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-441.34 213.013 172.936"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-438.012 383.79 169.698"; + rotation = "0.0338656 -0.0499505 0.998177 111.824"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "468.774 -25.0539 182.879"; + rotation = "0.104974 0.109172 -0.988464 92.9103"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new WaterBlock() { + position = "-472 232 38.688"; + rotation = "1 0 0 0"; + scale = "352 288 50"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + locked = "true"; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "306.526 28.56 88.9729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "279.25 -111.373 89.1046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-284.259 454.007 99.9255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-311.535 314.074 100.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-158.989 397.344 105.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-158.999 397.363 106.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-159 397.36 107.26"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "171.13 -50.2151 105.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "170.781 -44.8251 106.772"; + rotation = "0.772155 0.085904 0.629601 190.082"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "171.141 -50.2315 107.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "171.139 -50.2344 106.148"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-159.368 392.293 105.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-159.393 392.208 107.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-166.32 412.837 98.9555"; + rotation = "1 0 0 0"; + scale = "1 1.93677 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-166.296 378.045 97.3739"; + rotation = "1 0 0 0"; + scale = "1 1.93677 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "-225.463 143.423 202.782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/DeathBirdsFly.mis b/public/base/@vl2/missions.vl2/missions/DeathBirdsFly.mis new file mode 100644 index 00000000..385c2055 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/DeathBirdsFly.mis @@ -0,0 +1,2833 @@ +// DisplayName = Death Birds Fly +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//A darkness infects the wilderzone, one that only fire can cleanse. Our fire. +// -- Anton Malderi, anointed Phoenix Prime, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "6"; + musicTrack = "desert"; + CTF_scoreLimit = "5"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-720 -760 1504 1648"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + high_visibleDistance = "700"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.630000 0.000000"; + fogDistance = "400"; + high_fogDistance = "675"; + fogColor = "0.600000 0.500000 0.430000 1.000000"; + fogVolume1 = "100 0 53"; + fogVolume2 = "300 53 58"; + fogVolume3 = "1000 58 200"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + materialList = "sky_desert_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "2 3 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DeathBirdsFly.ter"; + squareSize = "8"; + emptySquares = "342721 342977 343233 152643 152899 153155 87875 170139 170395 170651 380734 380990 381246 381502"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "DeathBirdsFly.nav"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-527.397 621.85 107.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "183.019 175.645 56.4546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "40"; + locked = "true"; + }; + }; + new SimGroup(base0) { + + new Item(Team1flag1) { + position = "-506.606 646.498 120.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + WayPoint = "3761"; + }; + new Item() { + position = "-490.618 647.564 105.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-495.487 635.807 104.966"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Floor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-502.227 635.802 104.958"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Floor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-515.296 660.197 92.9678"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-524.242 640.783 92.9628"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "-513.987 640.815 92.9608"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-480.651 649.681 94.9747"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge2) { + position = "-480.648 657.044 94.9747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-502.604 645.427 107.965"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new StaticShape() { + position = "-506.612 646.525 119.97"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-428.308 619.603 128.289"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "-428.319 619.686 110.287"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-526 417 143"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-537 417 142.7"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + station = "3406"; + Ready = "1"; + }; + new StaticShape() { + position = "-506.488 646.406 127.573"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + }; + new SimGroup(tower0) { + providesPower = "1"; + + new InteriorInstance() { + position = "223.562 208.534 60.3968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new WayPoint() { + position = "224.29 207.998 103.266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "0"; + locked = "false"; + }; + new StaticShape(Team1StationInventory6) { + position = "230.211 207.792 61.4004"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "North Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "216.923 207.855 61.3983"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "North Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "223.526 203.349 88.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "135.18 216.983 63.1777"; + rotation = "0 0 1 75.0117"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + station = "3418"; + Ready = "1"; + }; + new InteriorInstance() { + position = "124.378 214.2 63.4777"; + rotation = "0 0 -1 104.897"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "546.135 -546.356 126.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-451.936 -300.216 97.9411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "40"; + locked = "true"; + }; + }; + new SimGroup(base1) { + + new Item(Team2flag1) { + position = "540.002 -546.071 100.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + WayPoint = "3762"; + }; + new StaticShape() { + position = "540.008 -546.098 99.9622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "531.923 -323.951 123.134"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "543.078 -324.021 122.834"; + rotation = "0 0 1 89.8174"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + station = "3431"; + Ready = "1"; + }; + new StaticShape(Team2StationInventory5) { + position = "528.883 -535.38 84.9584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Floor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "524.014 -547.136 85.5614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "475.096 -482.842 98.2954"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "475.085 -482.759 116.297"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "536 -545 87.9573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new StaticShape(Team2generatorLarge1) { + position = "514.059 -556.669 74.9267"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge2) { + position = "514.065 -549.299 74.9267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "547.382 -540.388 72.9535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "557.638 -540.356 72.9552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "548.692 -559.77 72.9606"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "535.622 -535.374 84.9502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Floor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "539.767 -545.925 107.556"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + }; + new SimGroup(tower1) { + providesPower = "1"; + + new StaticShape() { + position = "-358.216 -306.594 65.1496"; + rotation = "0 0 -1 85.0259"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + station = "3452"; + Ready = "1"; + }; + new InteriorInstance() { + position = "-479.917 -344.538 62"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "-347.162 -308.107 65.4496"; + rotation = "0 0 1 97.3572"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "-473.291 -343.893 62.9974"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-479.659 -344.132 104.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "0"; + locked = "false"; + }; + new Item() { + position = "-480.226 -339.136 89.6273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory8) { + position = "-486.637 -343.77 62.9983"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "449.688 -339.065 174.366"; + rotation = "0.041603 -0.0838848 0.995607 127.442"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-616.094 717.924 192.88"; + rotation = "0.0301391 -0.0798784 0.996349 138.794"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-378.626 -348.22 69.4172"; + rotation = "0 0 -1 62.4524"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "95.434 259.06 71.5224"; + rotation = "0 0 1 124.332"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "558.841 -498.675 89.0972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wind_sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AIObjective(AIOTouchObject) { + position = "539.989 -546.071 101.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "5686"; + location = "539.989 -546.071 101.859"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition3PhoenixPlant5) { + + new TSStatic() { + position = "644 -836 156.867"; + rotation = "0.0745279 0.0397071 0.996428 213.885"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-964 -788 101.523"; + rotation = "-0.235427 0.943001 -0.235208 12.7041"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-3.99997 -68 53.6956"; + rotation = "-0.0367427 0.133682 0.990343 122.47"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-556 -740 118.383"; + rotation = "-0.681833 0.194945 -0.705053 25.3213"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1060 -636 81.8832"; + rotation = "0.0212981 0.168178 0.985527 56.6953"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-540 524 127.898"; + rotation = "0.689873 -0.175214 -0.702407 18.4273"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "804 -444 83.4612"; + rotation = "0.0929788 0.00686342 0.995644 202.903"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-572 -764 112.383"; + rotation = "-0.712216 -0.394945 -0.580316 23.8931"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 580 57.8988"; + rotation = "-0.159691 -0.216791 0.963068 48.5971"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-732 -932 62.7894"; + rotation = "-0.138513 0.175061 0.974766 62.2886"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-892 892 57.6332"; + rotation = "-0.0598778 0.186168 0.980692 145.636"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-788 -396 133.633"; + rotation = "0.02784 0.00896549 0.999572 148.013"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-372 844 105.93"; + rotation = "-0.135916 0.0896295 0.986658 128.604"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-780 -948 56.5237"; + rotation = "-0.0284231 0.131778 0.990872 85.5237"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-556 468 129.945"; + rotation = "0.82823 -0.420651 -0.370253 8.09021"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "524 804 135.07"; + rotation = "-0.205803 0.138465 0.968748 43.2316"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 764 49.4144"; + rotation = "-0.0162494 -0.00759878 0.999839 87.0093"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-940 -564 59.0394"; + rotation = "0.0523393 0.173086 0.983515 128.746"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "844 -876 53.3675"; + rotation = "0.326827 -0.158131 0.931761 57.3433"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "788 -372 64.6488"; + rotation = "-0.206068 -0.965504 0.159178 18.6838"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-996 -980 51.1644"; + rotation = "-0.0104134 0.745268 -0.666684 8.98915"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "412 500 101.352"; + rotation = "0.014062 0.370566 0.9287 59.5847"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 -100 65.2269"; + rotation = "-0.0136947 -0.210947 0.977402 54.0531"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "860 84 84.0238"; + rotation = "0.0129196 0.133992 -0.990898 98.5183"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-204 420 49.5706"; + rotation = "-0.0108871 0.00473386 0.99993 222.997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-172 844 51.0238"; + rotation = "-0.0567132 -0.154102 -0.986426 94.7804"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "836 84 78.5081"; + rotation = "-0.0251515 -0.0211934 0.999459 126.025"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-748 308 126.055"; + rotation = "0.659675 -0.0799556 0.747286 18.6615"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "916 -548 52.8207"; + rotation = "0.2883 0.681323 0.672816 16.2889"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "868 -84 54.7581"; + rotation = "-0.0790959 -0.151942 0.985219 35.4923"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-740 764 109.711"; + rotation = "-0.0635948 -0.0498327 0.996731 172.026"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1052 -996 52.4457"; + rotation = "0.0991415 -0.00882239 0.995034 149.147"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "628 -884 161.945"; + rotation = "0.247699 -0.00984149 -0.968787 46.299"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-708 -380 127.43"; + rotation = "-0.155523 0.0825773 0.984375 163.262"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-764 636 143.086"; + rotation = "-0.0714981 -0.0214063 0.997211 202.938"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "60 -1004 50.9613"; + rotation = "-0.0268216 -0.0383637 0.998904 206.971"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "396 -28 133.164"; + rotation = "-0.143646 -0.105078 0.984035 53.74"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1036 -836 74.102"; + rotation = "-0.330311 0.626448 -0.706015 29.4178"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-492 4 93.2737"; + rotation = "0.159753 0.487352 0.858468 43.711"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-412 -100 130.117"; + rotation = "-0.349889 0.0533014 -0.935274 52.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-964 -372 49.305"; + rotation = "-0.00906716 0.00940224 -0.999915 39.0029"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1084 556 49.7269"; + rotation = "-0.0285437 -0.167803 -0.985407 33.4614"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "852 -340 55.9925"; + rotation = "0.0802635 -0.113823 0.990254 157.218"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "892 -1020 67.4457"; + rotation = "0.0259104 -0.289589 0.9568 49.908"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1028 -276 55.3988"; + rotation = "0.0560468 0.0341411 0.997844 160.043"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 -532 144.727"; + rotation = "0.0688545 0.0869445 0.993831 122.3"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-996 -988 51.18"; + rotation = "0.101628 0.112738 -0.988414 56.5554"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1028 -724 113.93"; + rotation = "-0.00410956 0.0124663 0.999914 151.002"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "164 284 61.1488"; + rotation = "-0.365352 0.388144 0.846086 44.2892"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-284 252 50.5707"; + rotation = "-0.050581 -0.0357469 0.99808 118.097"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-404 508 137.523"; + rotation = "-0.0232242 0.126332 0.991716 63.4258"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-236 188 58.8831"; + rotation = "0.22117 0.222671 0.949474 27.333"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "300 212 98.1176"; + rotation = "0.0798642 0.0203019 0.996599 104.189"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1012 -36 49.5706"; + rotation = "-0.0511683 0.0199034 0.998492 113.08"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1068 564 50.4457"; + rotation = "-0.121377 -0.014697 0.992498 174.045"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-788 52 136.867"; + rotation = "-0.0469196 0.0168431 0.998757 98.0704"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "620 -964 160.523"; + rotation = "-0.0914147 0.49066 0.866543 28.7012"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1068 884 49.8831"; + rotation = "0.0234288 -0.0074355 0.999698 118.016"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "236 -748 85.4456"; + rotation = "0.0930028 0.172695 0.980575 139.732"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-36 -948 50.6488"; + rotation = "-0.101336 -0.107859 -0.988988 86.6335"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-756 -452 131.273"; + rotation = "0.148178 0.16441 0.975199 74.3808"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 332 96.6332"; + rotation = "-0.0651773 -0.228191 -0.971432 45.1656"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1004 -260 50.3363"; + rotation = "0.094915 0.0241627 0.995192 168.057"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "292 -908 105.633"; + rotation = "-0.00209454 -0.0173916 0.999847 198.997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-860 -572 51.5706"; + rotation = "0.0121897 -0.0156492 0.999803 189.999"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-956 -556 58.4144"; + rotation = "0.436999 -0.107852 0.892973 41.0818"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "300 500 92.68"; + rotation = "-0.0655348 -0.225806 -0.971965 100.605"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-316 -836 130.227"; + rotation = "0.0117254 -0.025729 0.9996 139.015"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "276 -908 104.601"; + rotation = "-0.00878129 0.0838015 0.996444 97.2029"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "908 -972 61.9143"; + rotation = "0.112234 -0.0309089 0.993201 123.327"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "124 244 50.7738"; + rotation = "0.0349479 -0.0235618 0.999111 124.042"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-364 -52 151.789"; + rotation = "-0.139481 -0.139261 0.980383 236.053"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "652 -132 118.398"; + rotation = "-0.101145 -0.160008 0.98192 47.7693"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-972 -196 50.8988"; + rotation = "-0.0347638 -0.0438825 -0.998432 109.085"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-3.99997 -164 56.3519"; + rotation = "-0.0552982 -0.0127666 0.998388 116.083"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "828 -44 55.2113"; + rotation = "0.562167 0.354367 0.747257 29.1618"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-476 500 152.836"; + rotation = "-0.0872303 0.0428545 -0.995266 108.258"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "564 68 130.601"; + rotation = "-0.226484 0.104469 0.968396 57.5387"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-108 908 49.3987"; + rotation = "0.00972533 -0.00732355 0.999926 93.0042"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-212 876 71.6488"; + rotation = "0.0575923 -0.437508 0.897368 16.6925"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "500 -644 130.383"; + rotation = "0.192013 -0.0812406 0.978024 237.915"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "500 844 135.586"; + rotation = "-0.279582 -0.0521521 0.958704 65.1734"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 -140 73.4769"; + rotation = "0.426306 -0.166473 -0.889129 45.6142"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "740 -484 113.242"; + rotation = "-0.255401 -0.844284 0.47112 14.7939"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "844 -284 56.5237"; + rotation = "0.00995499 0.02013 0.999748 224.99"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "348 -964 101.352"; + rotation = "0.141933 -0.157114 0.977328 190.752"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "132 964 51.6644"; + rotation = "-0.00433659 -0.0140204 0.999892 212.996"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-996 -484 57.8832"; + rotation = "-0.112733 0.0468628 0.99252 118.379"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "4.00003 972 50.1801"; + rotation = "0.58517 0.0216631 -0.810621 14.7751"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 -188 62.0707"; + rotation = "0.0372945 0.0716824 0.99673 119.164"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-948 -356 50.7425"; + rotation = "0.0374193 -0.108555 0.993386 125.311"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-892 -100 51.3988"; + rotation = "-0.0759097 -0.101135 0.991973 139.302"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1004 -140 57.8207"; + rotation = "-0.0158505 -0.2445 -0.96952 106.706"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-940 -524 54.3987"; + rotation = "0.0338301 0.18729 -0.981722 117.938"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "900 -796 49.68"; + rotation = "-0.0521868 0.0605177 -0.996802 56.1523"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-388 52 91.9613"; + rotation = "0.116087 -0.00583792 0.993222 123.326"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "596 52 137.961"; + rotation = "0.815326 -0.320371 0.482292 24.5882"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-212 -756 77.1176"; + rotation = "0.883736 0.186894 -0.429048 18.5134"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "348 -260 131.601"; + rotation = "-0.128357 0.150007 0.980317 23.4492"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-404 564 138.055"; + rotation = "-0.628889 0.261052 -0.732359 34.9937"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "452 -228 130.523"; + rotation = "0.264649 0.226689 0.937322 41.3929"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-44 -204 51.6956"; + rotation = "0.346244 -0.100232 -0.932775 38.41"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1020 828 49.3206"; + rotation = "0.00465448 -0.000778902 0.999989 71.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60 484 51.4456"; + rotation = "0.0809657 0.07997 -0.993504 116.335"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "340 -276 132.305"; + rotation = "0.0859983 -0.105932 -0.990648 55.4425"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -1004 49.5862"; + rotation = "0.0703342 -0.0271782 0.997153 101.16"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-684 620 130.445"; + rotation = "-0.271682 0.132334 -0.953245 27.2288"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-900 68 108.773"; + rotation = "0.146183 0.299647 -0.942784 71.1631"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1068 -564 51.4144"; + rotation = "-0.00776704 0.00571117 0.999954 105.003"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-748 -220 134.352"; + rotation = "-0.0576748 -0.126826 0.990247 202.782"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-340 140 58.8363"; + rotation = "0.378943 -0.616883 0.689825 24.4485"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-260 -940 69.2738"; + rotation = "0.0792318 0.149777 0.98554 93.8333"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "364 -900 126.68"; + rotation = "0.98782 0.008527 -0.15537 12.8196"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-900 -468 72.5863"; + rotation = "-0.152378 -0.0189886 0.98814 62.6048"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "652 -404 96.0394"; + rotation = "0.141598 0.0502224 0.988649 193.842"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-692 -476 127.07"; + rotation = "-0.0573118 -0.0299229 0.997908 160.041"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1068 -508 60.2582"; + rotation = "-0.19483 0.0257425 0.980499 180"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "884 860 58.4144"; + rotation = "0.0764556 0.0284284 0.996668 227.858"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 572 56.68"; + rotation = "0.0244473 -0.0579761 0.998019 133.083"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-12 804 89.3363"; + rotation = "0.0394408 0.0258496 0.998888 186.992"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-172 -876 63.3519"; + rotation = "-0.0326881 -0.184314 0.982324 236.147"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-380 844 103.508"; + rotation = "-0.127639 0.00686493 0.991797 172.066"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-948 884 49.7112"; + rotation = "0.0268786 0.00475613 0.999627 171.003"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "356 -764 84.6175"; + rotation = "0.0441811 0.168498 -0.984711 26.3896"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "300 628 56.7269"; + rotation = "0.13098 -0.122017 0.983848 135.656"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-108 764 50.3051"; + rotation = "0.00145888 -0.105248 0.994445 235.736"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "836 -764 50.8832"; + rotation = "0.0373536 -0.128211 -0.991043 27.2347"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-948 -444 60.4457"; + rotation = "-0.0430939 0.151675 -0.987491 49.5468"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "380 -732 98.1488"; + rotation = "-0.198208 -0.0959858 0.975449 130.098"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "516 980 136.539"; + rotation = "0.13049 -0.0476897 0.990302 103.544"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 -780 77.2738"; + rotation = "-0.0671478 0.0782348 -0.994671 63.2729"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "340 468 87.4925"; + rotation = "0.00538551 -0.222801 0.974849 60.2591"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "204 364 88.9769"; + rotation = "-0.120301 0.083074 0.989255 35.3565"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "780 -332 76.4613"; + rotation = "-0.473142 -0.385722 -0.792057 20.1236"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "628 -844 159.898"; + rotation = "-0.109521 -0.131271 0.985278 51.6635"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "468 -924 112.32"; + rotation = "-0.150019 -0.00188534 0.988681 151.315"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-612 -212 123.57"; + rotation = "-0.22347 -0.628476 -0.745037 26.6302"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "796 4 50.1332"; + rotation = "0.0384125 0.0169451 0.999118 183.997"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "820 -476 77.805"; + rotation = "0.15972 -0.0821867 0.983735 136.649"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-628 188 154.352"; + rotation = "0.106647 -0.0848651 0.990669 216.678"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1068 -156 54.7581"; + rotation = "-0.0320113 0.0675172 0.997204 67.1478"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-492 -772 145.164"; + rotation = "-0.0294465 0.316218 0.948229 40.9565"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-564 -132 128.633"; + rotation = "-0.114183 -0.374254 0.92027 50.58"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "180 908 77.4457"; + rotation = "0.257622 0.350936 0.900264 23.2661"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-748 172 159.461"; + rotation = "0.17771 0.115518 0.977279 232.942"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant2) { + + new TSStatic() { + position = "-140 -932 56.7406"; + rotation = "0.0178646 -0.0136576 0.999747 111.014"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "452 -916 110.553"; + rotation = "0.0103014 0.169097 -0.985546 45.5928"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "764 772 98.3187"; + rotation = "0.131763 0.154481 0.97917 233.031"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 436 95.4906"; + rotation = "0.284392 0.938231 0.19709 15.1363"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-396 -556 135.491"; + rotation = "-0.00614223 -0.245046 -0.969492 59.5177"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "524 -228 123.803"; + rotation = "0.0144852 0.0271992 0.999525 187.996"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-692 -676 125.381"; + rotation = "0.0858385 0.172237 0.981308 31.5613"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-884 -228 83.475"; + rotation = "0.263919 -0.00832806 0.964509 63.843"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1012 92 50.475"; + rotation = "0.0732539 -0.0143858 -0.99721 55.1315"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 -348 65.3188"; + rotation = "-0.00607984 0.250719 -0.968041 42.236"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 -780 89.4907"; + rotation = "0.192077 -0.031088 -0.980887 88.1042"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "140 356 102.444"; + rotation = "-0.00427419 -0.148209 0.988947 176.044"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-396 -708 107.272"; + rotation = "-0.299956 0.4755 -0.826998 13.2823"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1084 548 50.5843"; + rotation = "-0.0478507 -0.0664432 -0.996642 78.1887"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1092 836 53.7719"; + rotation = "0.602997 0.00245216 -0.79774 10.019"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "324 500 86.9907"; + rotation = "0.0579544 0.141382 0.988257 217.585"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "364 -1020 103.725"; + rotation = "0.265373 0.299469 0.916458 59.1951"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1124 652 51.2875"; + rotation = "0.194602 -0.149324 0.96945 15.4671"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-916 636 88.6156"; + rotation = "-0.48603 0.195799 0.851726 33.7807"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1108 564 54.0531"; + rotation = "0.0347828 0.00768924 0.999365 185.996"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "828 -404 56.4125"; + rotation = "0.0945017 0.106505 0.989811 199.8"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156 -932 58.1313"; + rotation = "0.0332659 0.0867295 0.995676 179.005"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-996 796 54.4594"; + rotation = "0.122629 0.0906422 0.988305 101.661"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-644 -196 111.35"; + rotation = "-0.101308 0.0579498 0.993166 239.66"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "556 -1012 131.584"; + rotation = "-0.0725622 -0.00297709 -0.997359 114.138"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "460 556 102.538"; + rotation = "0.48111 -0.0956917 -0.871422 40.8969"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1100 -940 52.7093"; + rotation = "0.0538739 0.132732 0.989687 143.356"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "660 -172 106.6"; + rotation = "0.419429 0.100587 0.902198 9.97101"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "276 -932 107.725"; + rotation = "0.105189 0.0846745 0.990841 190.9"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-820 92 128.553"; + rotation = "0.0626438 0.0832849 0.994555 164.086"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "188 52 103.272"; + rotation = "0.300429 -0.586704 0.752011 25.0909"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "476 -348 118.319"; + rotation = "0.261912 0.130821 0.956184 40.6438"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1020 908 50.4437"; + rotation = "-0.0139156 -0.0106922 0.999846 226.994"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-484 -716 131.553"; + rotation = "0.00240858 -0.00691939 0.999973 100.002"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-892 644 87.5688"; + rotation = "-0.271748 -0.530415 0.803002 24.7694"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-420 812 100.381"; + rotation = "0.386965 0.167667 -0.906723 37.2666"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "292 316 92.8031"; + rotation = "-0.137907 -0.144232 0.979887 101.144"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-676 -660 123.631"; + rotation = "0.345184 0.0612453 -0.936535 44.5751"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "516 116 129.725"; + rotation = "-0.0605037 0.592709 -0.803141 33.2852"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "604 -52 123.022"; + rotation = "0.348633 -0.0841428 -0.933475 45.7581"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-740 492 105.6"; + rotation = "-0.0936906 0.218306 0.971372 78.6265"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "820 -660 60.4594"; + rotation = "0.0499274 -0.293477 0.954661 72.517"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "836 -28 53.1781"; + rotation = "-0.0722752 0.054789 0.995879 225.83"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "188 284 70.2563"; + rotation = "0.120264 0.12921 -0.984297 65.8248"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1052 68 51.6781"; + rotation = "0.205676 -0.964817 0.163785 12.1664"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "796 -948 89.2718"; + rotation = "0.199744 0.0274002 0.979465 93.1876"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 -788 77.7875"; + rotation = "-0.075209 -0.0475235 0.996035 182.988"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "428 -332 114.787"; + rotation = "-0.0367213 -0.0233555 0.999053 65.0491"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1100 668 50.1156"; + rotation = "-0.0024609 0.00236934 0.999994 129"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-612 588 123.366"; + rotation = "0.0135817 -0.0645708 0.997821 229.904"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-940 780 56.6938"; + rotation = "-0.098263 0.168179 0.980847 149.566"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108 252 53.1468"; + rotation = "-0.0255553 -0.0613663 0.997788 102.125"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-100 -988 50.7093"; + rotation = "-0.0128268 0.0517545 0.998577 190.985"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-388 44 93.4437"; + rotation = "0.172796 -0.0139831 0.984858 111.814"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-916 180 119.569"; + rotation = "-0.0125683 0.205488 0.978579 98.2296"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-852 92 127.631"; + rotation = "0.558492 0.436342 -0.705473 19.7463"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "164 724 85.4281"; + rotation = "0.00109192 -0.150556 -0.988601 117.584"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "180 44 103.319"; + rotation = "-0.122264 0.193428 -0.973467 71.4548"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 132 66.6937"; + rotation = "-0.127767 -0.0250743 0.991487 228.631"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "540 964 139.131"; + rotation = "-0.0943725 0.0827174 0.992095 157.177"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-924 -164 50.1468"; + rotation = "0.00832717 6.84116e-05 0.999965 208.999"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1004 956 51.0219"; + rotation = "0.0319499 0.0679404 0.997178 32.0859"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-916 -476 70.3657"; + rotation = "0.033429 0.0837431 0.995926 111.219"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1020 -516 55.0375"; + rotation = "-0.0166584 -0.111319 0.993645 68.339"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1020 932 50.4281"; + rotation = "-0.0136751 -0.00315694 0.999902 205.998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-548 -1004 94.4282"; + rotation = "0.901146 -0.108542 0.419707 7.14025"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "836 -372 53.9281"; + rotation = "0.0693136 -0.110541 0.991452 107.47"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-708 -68 123.178"; + rotation = "0.580886 0.0552522 0.812108 35.3284"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "572 -164 112.381"; + rotation = "-0.0451369 0.183785 0.98193 147.565"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "204 620 100.35"; + rotation = "0.118546 -0.0126136 0.992868 199.86"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 796 70.9594"; + rotation = "-0.0690173 -0.35367 0.932821 68.6621"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 -364 54.35"; + rotation = "0.0144462 -0.0669306 -0.997653 80.1327"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1028 -996 50.2875"; + rotation = "-0.014349 -0.0276308 -0.999515 106.026"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-892 716 107.975"; + rotation = "-0.185783 0.533146 -0.825373 35.9708"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "820 -412 60.3031"; + rotation = "0.204226 0.0628572 0.976904 126.089"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "324 -828 92.0375"; + rotation = "-0.051054 0.0751895 0.995861 172.033"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "514.557 -512.94 87.7958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new SimGroup(Addition1PhoenixPlant6) { + + new TSStatic() { + position = "852 916 59.5625"; + rotation = "0 0 1 195"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 -116 65.1249"; + rotation = "0 0 1 85.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 -332 64.9999"; + rotation = "0 0 -1 100"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-76 740 50.5312"; + rotation = "0 0 -1 23.9998"; + scale = "1.9 1.9 1.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "268 692 66.9218"; + rotation = "0 0 1 212"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "892 -212 57.3281"; + rotation = "0 0 1 143"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 -292 54.9531"; + rotation = "0 0 1 97"; + scale = "1.6 1.6 1.6"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-276 276 51.0782"; + rotation = "0 0 1 124"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "884 -764 51.1563"; + rotation = "0 0 1 162"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "916 -396 50.0156"; + rotation = "0 0 -1 55.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "828 20 51.7344"; + rotation = "0 0 -1 67.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-20 -124 53.8906"; + rotation = "0 0 -1 38.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-68 -260 57.9844"; + rotation = "0 0 -1 31.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 820 52.2344"; + rotation = "0 0 1 97"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "892 -764 51.875"; + rotation = "0 0 -1 53.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 756 50.1718"; + rotation = "0 0 1 24"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "60 -300 58.6094"; + rotation = "0 0 1 40"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "852 -764 50.2187"; + rotation = "0 0 1 41"; + scale = "1.6 1.6 1.6"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "84 -412 50.3437"; + rotation = "0 0 1 130"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-412 -364 57.4375"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 804 61.625"; + rotation = "0 0 1 55"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108 -708 65.5"; + rotation = "0 0 -1 7.99996"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "876 -452 50.4531"; + rotation = "0 0 1 189"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-132 796 52.9999"; + rotation = "0 0 1 58.9998"; + scale = "1.7 1.7 1.7"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "836 -300 59.375"; + rotation = "0 0 1 218"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "860 -284 55.5626"; + rotation = "0 0 -1 56.9999"; + scale = "1.6 1.6 1.6"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-20 204 51.7969"; + rotation = "0 0 1 67.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "924 884 54.5312"; + rotation = "0 0 1 124"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "164 -444 54.8281"; + rotation = "0 0 1 126"; + scale = "1.6 1.6 1.6"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "212 -444 58.4532"; + rotation = "0 0 -1 38.9999"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "876 -116 51.7969"; + rotation = "0 0 1 163"; + scale = "1.8 1.8 1.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "300 692 66.7344"; + rotation = "0 0 1 189"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "900 -460 50.4843"; + rotation = "0 0 1 170"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 -236 50.3281"; + rotation = "0 0 1 234"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "900 884 58.1875"; + rotation = "0 0 1 69.0002"; + scale = "1.7 1.7 1.7"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "772 60 55.6875"; + rotation = "0 0 1 203"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-100 916 50.6874"; + rotation = "0 0 -1 59.0003"; + scale = "1.7 1.7 1.7"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "908 876 56.2032"; + rotation = "0 0 -1 78.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "804 -380 60.75"; + rotation = "0 0 1 64"; + scale = "2 2 2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "836 -740 52.9062"; + rotation = "0 0 1 228"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -348 50.5"; + rotation = "0 0 -1 29"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 -356 64.7187"; + rotation = "0 0 -1 93.0002"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "544.165 -104.014 113.454"; + rotation = "0.370127 0.925901 0.0755866 113.646"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-490.503 705.088 113.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new SimGroup(Addition2PhoenixPlant3) { + + new TSStatic() { + position = "-44 -52 50.0468"; + rotation = "0 0 -1 111"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-164 508 50.5312"; + rotation = "0 0 -1 77.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 -260 50.6093"; + rotation = "0 0 1 48"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-4 -36 56.8281"; + rotation = "0 0 -1 10.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-180 444 50.0468"; + rotation = "0 0 -1 4.99997"; + scale = "0.5 0.5 0.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "84 -396 50.0937"; + rotation = "0 0 -1 84.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 868 51.1563"; + rotation = "0 0 -1 29"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "876 -100 52.9062"; + rotation = "0 0 1 7.00001"; + scale = "0.6 0.6 0.6"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-228 340 50.4375"; + rotation = "0 0 -1 105"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-76 956 52.375"; + rotation = "0 0 1 53"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-455.248 552.981 120.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-475.714 601.664 104.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + }; + new AIObjective(AIODefendLocation) { + position = "-506.594 646.498 121.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "5601"; + location = "-506.594 646.498 121.867"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-506.594 646.498 121.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "2 3 0"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "-506.594 646.498 121.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "5601"; + location = "-506.594 646.498 121.867"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIODefendLocation) { + position = "539.989 -546.071 101.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "5686"; + location = "539.989 -546.071 101.859"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOAttackPlayer) { + position = "539.989 -546.071 101.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "2 3 0"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Desiccator.mis b/public/base/@vl2/missions.vl2/missions/Desiccator.mis new file mode 100644 index 00000000..cdb767e0 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Desiccator.mis @@ -0,0 +1,1764 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//If survival were my most important goal I would be a mollusk, not a man. +// -- Phoenix Prime Renn Gistos yl-Harabec two days before his assassination, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//[CTF]Destroy force field generators to expose flag +//Low visibility makes sensors critical +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + cdTrack = "6"; + musicTrack = "desert"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "5"; + + new MissionArea(MissionArea) { + area = "-544 -512 1456 1040"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + position = "72 -1152 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Desiccator.ter"; + squareSize = "8"; + emptySquares = "352974 306527"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1PhoenixPlant2) { + + new TSStatic() { + position = "767.881 -23.4133 174.172"; + rotation = "-0.295901 0.722716 -0.624599 17.5275"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "416 216 80.725"; + rotation = "0.255178 -0.619555 -0.742318 28.0373"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "728.029 119.939 131.693"; + rotation = "0.563682 0.40079 0.722239 28.7851"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-224 -448 80.475"; + rotation = "-0.0479858 0.0411978 0.997998 123.096"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "528 240 80.6313"; + rotation = "-0.0253531 0.439988 0.897646 24.4368"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "616.41 -121.332 171.517"; + rotation = "0.159859 0.117288 -0.980147 109.089"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "288 -368 126.35"; + rotation = "-0.0224353 0.0266647 0.999393 144.02"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "80 -360 79.5687"; + rotation = "0.0341395 0.0048777 0.999405 90.034"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-48 -400 117.975"; + rotation = "-0.112089 -0.270249 0.956243 74.4548"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "32.2174 -216.075 125.647"; + rotation = "-0.28954 -0.463409 -0.837508 30.8229"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "368 248 79.8501"; + rotation = "0.0557386 0.0204408 0.998236 136.071"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "304 360 126.413"; + rotation = "0.0441373 0.00773768 -0.998995 63.0512"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-40 -16 80.1313"; + rotation = "0.48298 0.103873 -0.869449 13.7853"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "608.476 39.8 121.349"; + rotation = "-0.212118 0.0761162 0.974275 238.588"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "736 136 127.069"; + rotation = "-0.0125533 0.0709939 0.997398 207.93"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "392 -344 175.037"; + rotation = "0.0639026 0.0355794 0.997322 64.1381"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "216 -400 86.5687"; + rotation = "-0.27506 -0.220292 0.935849 40.4002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "24 -48 125.819"; + rotation = "0.506036 -0.0399345 -0.861587 12.7535"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "288 496 126.631"; + rotation = "0.0268475 0.478997 0.877406 7.97514"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "560 360 79.2562"; + rotation = "-0.0117044 -0.00717245 -0.999906 117.005"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "536 328 81.3812"; + rotation = "0.029475 -0.173489 -0.984395 51.7037"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "312.047 -24.3801 157.447"; + rotation = "0.21688 -0.170863 0.961129 38.3888"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-112 -256 80.0063"; + rotation = "0.123258 0.0535395 -0.990929 64.4703"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-208 -8 126.694"; + rotation = "-0.0344106 0.039214 0.998638 193.981"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "464 56 79.5062"; + rotation = "-0.10204 -0.130133 -0.986232 91.7936"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + new TSStatic() { + position = "552 -168 125.519"; + rotation = "0.01703 0.0330607 0.999308 75.0386"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "456 0 79.9563"; + rotation = "0.0838583 -0.0302465 0.996019 197.929"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-72 256 126.081"; + rotation = "0.0324809 -0.0618773 -0.997555 69.1308"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "720 224 126.3"; + rotation = "0.036733 0.0194095 0.999137 226.964"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "48 328 126.706"; + rotation = "0.0309778 -0.0651789 0.997393 192.966"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "616 -248 173.706"; + rotation = "0.0868295 0.00147936 -0.996222 101.213"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "672 344 78.9562"; + rotation = "-0.0560538 -0.525561 -0.848907 19.9693"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "168 96 156.019"; + rotation = "-0.0179104 0.0409786 0.999 204.976"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "768 368 78.9562"; + rotation = "0.0142451 -0.230612 0.972942 37.9563"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "160 24 90.2375"; + rotation = "0.00596013 0.0230351 0.999717 165.004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "648 136 125.519"; + rotation = "-0.0186543 0.0189735 -0.999646 68.0187"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "136 368 125.613"; + rotation = "-0.0363399 0.062677 -0.997372 118.133"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "184 152 126.3"; + rotation = "0.253723 -0.00833352 -0.967241 23.7572"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "680 240 129.487"; + rotation = "0.153001 0.00393266 0.988218 152.317"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "400 -496 78.1438"; + rotation = "-0.531882 -0.310647 -0.787781 11.4098"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "720 -376 158.362"; + rotation = "-0.0649522 -0.0209373 0.997669 208.935"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "600 480 78.7062"; + rotation = "-0.0812358 -0.0730859 -0.994012 57.289"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "656 96 125.8"; + rotation = "0.00833469 0.0451933 0.998943 69.0569"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-40 240 126.144"; + rotation = "0.00594886 0.0172731 0.999833 173.001"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "464 72 78.9562"; + rotation = "0.0919192 -0.080692 0.992492 95.4303"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "296 408 127.675"; + rotation = "-0.0231866 0.175944 -0.984127 93.9152"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-56 -488 171.956"; + rotation = "-0.00294143 -0.0662612 0.997798 65.1143"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "272 456 125.769"; + rotation = "-0.0264261 0.00259755 0.999647 225.985"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-24 -96 173.456"; + rotation = "0.068431 -0.0757721 0.994774 106.288"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-80 -184 125.55"; + rotation = "-0.0159015 -0.0278168 0.999487 167.007"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant6) { + + new TSStatic() { + position = "-48 -272 81"; + rotation = "0 0 1 163"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "160 -312 79.7813"; + rotation = "0 0 -1 58.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "48 -136 174.119"; + rotation = "0 0 1 82.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "528 304 88.1937"; + rotation = "0 0 1 94.9998"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "296 -112 159.044"; + rotation = "0 0 1 205"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-192 360 126.188"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "648 440 72.4063"; + rotation = "0 0 -1 31.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "344 496 158.312"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-200 -56 126.225"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "488 192 79.125"; + rotation = "0 0 1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "16 -328 125.875"; + rotation = "0 0 1 39"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "336 376 127.719"; + rotation = "0 0 1 226"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "720 -384 159.706"; + rotation = "0 0 1 58.9997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-64 -160 127.531"; + rotation = "0 0 1 41"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "8 -48 125.381"; + rotation = "0 0 1 188"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "512 -288 79.0937"; + rotation = "0 0 -1 5.99979"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "768 344 79.125"; + rotation = "0 0 -1 29"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "632 24 131.1"; + rotation = "0 0 -1 41"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "160 -16 89.9688"; + rotation = "0 0 1 134"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "328 -200 130.25"; + rotation = "0 0 -1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "144 16 87.8438"; + rotation = "0 0 1 96.0002"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "488 464 79.125"; + rotation = "0 0 -1 102"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "232 216 126.05"; + rotation = "0 0 1 165"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "536 -392 125.813"; + rotation = "0 0 -1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + }; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Desiccator.nav"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "0"; + SkySolidColor = "0.700000 0.600000 0.600000 1.000000"; + fogDistance = "200"; + high_fogDistance = "1"; + fogColor = "0.800000 0.600000 0.400000 1.000000"; + fogVolume1 = "150 0 500"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + high_fogVolume1 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 173.831879"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 187.134155"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 637.846008"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-259.499 -27.9938 133.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(base0) { + + new StaticShape(Team1StationInventory1) { + position = "-271.458 -20.9746 143.7"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + nameTag = "Flag Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + }; + new WayPoint() { + position = "-233.401 362.886 120.044"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Force Field Gens"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Force Field Gens"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-267.494 -26.329 125.696"; + rotation = "0 0 -1 90.0913"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item(Team1flag1) { + position = "-268.079 -26.5093 163.709"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + Target = "34"; + locked = "true"; + stand = "3379"; + }; + new Turret(Team1SentryTurret2) { + position = "-349.36 -122.453 187.701"; + rotation = "0 0 1 55.5769"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "35"; + locked = "true"; + }; + new Item() { + position = "-340.802 -126.651 201.409"; + rotation = "1 0 0 0"; + scale = "1 1 1.0303"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-349.613 -129.603 200.67"; + rotation = "-0 0 -1 34.3775"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-353.853 -121.094 200.873"; + rotation = "0 0 1 187.93"; + scale = "1 1 1"; + nameTag = "Tac. Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + }; + new InteriorInstance() { + position = "-237.968 16.3529 131.4"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-268.123 -26.4974 163.6"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + Flag = "3371"; + }; + new InteriorInstance() { + position = "-349.265 -122.249 172.62"; + rotation = "0 0 1 53.858"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-331.22 -140.381 200.314"; + rotation = "0 0 1 55.0039"; + scale = "1 1 1"; + nameTag = "Tactical"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + }; + new StaticShape() { + position = "-251.549 15.8776 131.1"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new StaticShape(Team1StationInventory3) { + position = "-348.452 -117.503 200.709"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + nameTag = "Tac. Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + }; + }; + new SimGroup(FFGens) { + + new Item() { + position = "-227.803 363.086 159.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge2) { + position = "-231.905 368.706 120.45"; + rotation = "0 0 1 90.0913"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge3) { + position = "-231.594 357.344 120.45"; + rotation = "0 0 1 90.0913"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + locked = "true"; + }; + new InteriorInstance() { + position = "-228.564 363.027 130.407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new SimGroup(ForcefieldE) { + + new ForceFieldBare(FORCEFIELD) { + position = "-276.373 -32.4551 163.666"; + rotation = "1 0 0 0"; + scale = "0.498016 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "43"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(ForceFieldF) { + + new ForceFieldBare(FORCEFIELD) { + position = "-259.145 -32.3896 163.633"; + rotation = "1 0 0 0"; + scale = "0.498154 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "44"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(ForceFieldG) { + + new ForceFieldBare(FORCEFIELD) { + position = "-273.597 -34.6506 163.156"; + rotation = "0 0 1 90"; + scale = "0.498634 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "45"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(ForceFieldH) { + + new ForceFieldBare(FORCEFIELD) { + position = "-273.547 -17.3856 163.53"; + rotation = "0 0 1 90"; + scale = "0.502035 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "46"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "678.046 82.7083 126.199"; + rotation = "0 0 1 177.044"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "60"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + new SpawnSphere() { + position = "625.397 208.252 174.162"; + rotation = "0 0 1 170.351"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "40"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(base1) { + + new Item(Team2flag1) { + position = "687.38 85.09 163.294"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + Target = "47"; + locked = "true"; + stand = "3416"; + }; + new InteriorInstance() { + position = "686.457 84.8348 125.291"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team2StationInventory1) { + position = "690.544 79.3884 143.29"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Flag Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + locked = "true"; + }; + new InteriorInstance() { + position = "623.913 209.075 169.669"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "687.395 85.1503 163.213"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + Flag = "3410"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "630.925 184.648 197.449"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + nameTag = "Tactical"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge1) { + position = "622.254 201.902 197.715"; + rotation = "0 0 -1 24.0642"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + }; + new Item() { + position = "631.451 203.229 198.458"; + rotation = "1 0 0 0"; + scale = "1 1 1.0303"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "623.783 208.891 184.75"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + Target = "51"; + locked = "true"; + }; + new InteriorInstance() { + position = "691.614 35.2041 131.4"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "625.44 213.392 197.67"; + rotation = "0 0 1 105.424"; + scale = "1 1 1"; + nameTag = "Tac. Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "619.613 210.758 197.67"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + nameTag = "Tac. Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + locked = "true"; + }; + new StaticShape() { + position = "701.907 35.0144 131.1"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + mobileBaseVehicle = "Removed"; + }; + new WayPoint() { + position = "630.424 -237.057 159.646"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Force Field Gens"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Force Field Gens"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(FFGens) { + + new InteriorInstance() { + position = "626.391 -237.229 170.075"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team2generatorLarge2) { + position = "629.774 -231.537 160.12"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge3) { + position = "629.733 -242.916 160.12"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + locked = "true"; + }; + new SimGroup(ForceFieldA) { + + new ForceFieldBare(FORCEFIELD) { + position = "694.819 78.7717 163.013"; + rotation = "1 0 0 0"; + scale = "0.551331 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "57"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(ForceFieldB) { + + new ForceFieldBare(FORCEFIELD) { + position = "677.493 78.6921 162.902"; + rotation = "1 0 0 0"; + scale = "0.536683 12.2104 16.7912"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "58"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(ForceFieldC) { + + new ForceFieldBare(FORCEFIELD) { + position = "680.335 93.3698 163.336"; + rotation = "1 0 0 0"; + scale = "12.1661 0.466393 16.4208"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "59"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(ForceFieldD) { + + new ForceFieldBare(FORCEFIELD) { + position = "680.412 75.9156 163.048"; + rotation = "1 0 0 0"; + scale = "12.1661 0.535919 16.4208"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "60"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new Item() { + position = "632.546 -237.517 199.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "677.853 220.083 214.081"; + rotation = "0 0 1 214.859"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "724.202 84.2594 181.543"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "657.762 -273.766 197.603"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "268.639 -105.833 172.127"; + rotation = "0.00271684 -0.122932 0.992411 177.487"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-203.354 390.586 183.105"; + rotation = "-0.0561174 -0.178747 0.982293 214.278"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Environmental) { + + new InteriorInstance() { + position = "516.575 -28.3364 121.6"; + rotation = "0 0 1 193.178"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "481.549 -20.0535 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "458.35 -14.7034 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "435.176 -9.27749 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "411.971 -3.83609 121.6"; + rotation = "0 0 1 13.178"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-139.896 3.23059 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-118.748 -7.75861 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-97.6377 -18.749 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-76.5272 -29.7393 122.955"; + rotation = "0 0 1 27.5019"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-44.5953 -46.3633 122.955"; + rotation = "0 0 1 207.502"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "237.727 279.831 104.27"; + rotation = "-0.0169123 0.00999195 0.999807 67.4196"; + scale = "1.3159 0.865459 0.840546"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "572.87 -39.2623 137.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "267.465 213.832 140.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-247.952 -115.057 129.042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "189.879 20.4425 80.9642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "309.836 -315.076 134.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "161.141 -229.016 144.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "292.188 458.016 150.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "103.57 287.084 126.411"; + rotation = "0.117535 0.422326 -0.898791 18.589"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + locked = "true"; + }; + new TSStatic() { + position = "270.396 -124.988 157.328"; + rotation = "-0.0817868 0.0746787 0.993848 85.15"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "270.832 -127.45 165.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "102.07 285.16 129.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "500"; + maxLoopGap = "1000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-0.1425 -135.063 176.048"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "45000"; + maxLoopGap = "90000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "214.111 -15.9139 145.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "75000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-52.5643 -275.652 107.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "83.44 163.931 88.9308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "511.435 95.4149 86.8687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "641.802 118.866 134.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-201.563 -1.4155 139.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "140.649 -127.001 163.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "640.638 90.5208 126.668"; + rotation = "0 0 -1 22.9183"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "400.572 47.0657 126.887"; + rotation = "0 0 -1 26.929"; + scale = "1 1 1.22433"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-215.289 -75.4966 125.886"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-221.276 -67.9314 126.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/DustToDust.mis b/public/base/@vl2/missions.vl2/missions/DustToDust.mis new file mode 100644 index 00000000..2af59719 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/DustToDust.mis @@ -0,0 +1,2322 @@ +// DisplayName = Dust to Dust +// MissionTypes = CTF Hunters TeamHunters + +//--- MISSION QUOTE BEGIN --- +//Behold a pale horse: and his name that sat upon him was Death, and Hell followed with him. +// -- Revelations 6:8 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//[Hunters TeamHunters]Nexus is on a floating platform located near center of map +//No inventory or vehicle stations, but hidden weapons caches exist +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Team_Hunters_timeLimit = "25"; + CTF_timeLimit = "25"; + Hunters_timeLimit = "25"; + musicTrack = "desert"; + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-224 -352 768 960"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + high_visibleDistance = "800"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "150"; + high_fogDistance = "200"; + fogColor = "0.800000 0.700000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Desert_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DustToDust.ter"; + squareSize = "8"; + emptySquares = "297105"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "DustToDust.nav"; + XDimOverSize = "0"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(PhoenixPlants) { + }; + new SimGroup(Addition1PhoenixPlant2) { + + new TSStatic() { + position = "-52 212 165.991"; + rotation = "0.555486 0.0755775 -0.828084 25.2314"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 332 164.725"; + rotation = "0.00874655 0.0030876 0.999957 182"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 364 142.584"; + rotation = "0.0154594 -0.305191 -0.952166 62.4616"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "76 364 141.725"; + rotation = "0.0538253 -0.112649 0.992176 62.398"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 76 164.506"; + rotation = "0.00115466 0.0463927 0.998923 165.016"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "140 -12 134.397"; + rotation = "0.0901597 -0.126035 0.98792 136.482"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "380 212 99.475"; + rotation = "0.233721 0.0653238 -0.970107 61.5173"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "84 260 143.709"; + rotation = "0.314044 0.395261 0.863218 40.1304"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "124 404 207.866"; + rotation = "0.0109823 0.00998997 0.99989 207.997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 236 74.3187"; + rotation = "-0.130356 -0.0298546 -0.991018 107.494"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-44 148 206.975"; + rotation = "-0.0403175 -0.0226006 0.998931 145.035"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "260 -36 189.444"; + rotation = "-0.255386 -0.460509 0.850123 44.0991"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "268 324 207.709"; + rotation = "-0.0478957 -0.214365 -0.975579 49.0613"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "204 124 98.7562"; + rotation = "0.187404 -0.365132 -0.911898 26.2416"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "380 60 208.428"; + rotation = "0.13613 -0.0722834 0.988051 194.823"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-68 12 206.225"; + rotation = "-0.00524723 0.162628 0.986674 202.702"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 364 164.991"; + rotation = "-0.0168121 -0.00950094 0.999813 190.998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "396 -92 207.381"; + rotation = "-0.0921044 0.00458803 -0.995739 91.2441"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 388 105.147"; + rotation = "0.0735273 0.0583496 0.995585 75.2454"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "252 84 123.913"; + rotation = "0.13841 -0.0469015 0.989264 82.6131"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 -68 297.116"; + rotation = "0.177175 -0.0832767 0.98065 134.8"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 252 208.662"; + rotation = "0.134246 -0.0213168 0.990719 226.611"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -12 165.006"; + rotation = "0.0095948 -0.0147274 0.999846 192.999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-20 140 207.709"; + rotation = "0.0205006 0.000786498 -0.99979 96.0129"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "220 -92 196.241"; + rotation = "0.638185 0.516404 -0.571006 29.3343"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant3) { + + new TSStatic() { + position = "140 36 104.844"; + rotation = "0 0 1 99.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "404 412 131.125"; + rotation = "0 0 -1 69.0002"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "412 28 168.781"; + rotation = "0 0 1 55"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 -36 263.406"; + rotation = "0 0 1 184"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 260 143.234"; + rotation = "0 0 1 209"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "444 60 164.875"; + rotation = "0 0 -1 81.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "212 284 242.844"; + rotation = "0 0 1 173"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-20 372 144.547"; + rotation = "0 0 1 94.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 148 207.984"; + rotation = "0 0 -1 93.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "308 84 183.578"; + rotation = "0 0 -1 47"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "236 -68 184.484"; + rotation = "0 0 1 1.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "364 68 218.562"; + rotation = "0 0 1 167"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "388 140 138.906"; + rotation = "0 0 -1 87.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "364 372 128.469"; + rotation = "0 0 -1 58.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "204 -156 205.688"; + rotation = "0 0 -1 14"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 124 165.547"; + rotation = "0 0 1 205"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "196 -140 203.484"; + rotation = "0 0 1 150"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "236 -36 196.891"; + rotation = "0 0 -1 9.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "420 212 80.9844"; + rotation = "0 0 1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "420 204 83.8281"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "428 20 164.703"; + rotation = "0 0 1 226"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 -116 236.266"; + rotation = "0 0 1 58.9997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "124 12 104.5"; + rotation = "0 0 1 33"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60 68 207.766"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 364 145.641"; + rotation = "0 0 1 4.99997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant5) { + + new TSStatic() { + position = "84 -28 104.425"; + rotation = "-0.0153781 -0.0675128 -0.9976 41.0904"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "244 20 192.394"; + rotation = "-0.0113304 0.200553 -0.979617 80.1602"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 332 164.144"; + rotation = "-0.0124627 0.0199102 0.999724 238.986"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "212 -28 199.269"; + rotation = "-0.132875 -0.0468762 0.990024 57.4832"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "260 -180 248.05"; + rotation = "-0.132625 -0.0422838 0.990264 164.154"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "4 332 165.206"; + rotation = "0.193255 -0.0370055 -0.98045 46.8195"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-100 172 206.769"; + rotation = "0.00974765 -0.0147755 -0.999843 59.0078"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 340 146.066"; + rotation = "-0.696069 -0.706503 0.127834 15.5507"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 260 76.6125"; + rotation = "0.182445 -0.0181341 0.983049 225.299"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "12 364 164.753"; + rotation = "0.0802312 -0.245441 0.966086 12.418"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 140 208.097"; + rotation = "-0.0102027 0.0535133 0.998515 209.958"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "260 20 191.862"; + rotation = "-0.0798726 0.00634792 -0.996785 27.0836"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -164 200.441"; + rotation = "-0.23192 0.160175 0.959457 70.2149"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-100 420 104.503"; + rotation = "0.0374299 -0.0260001 0.998961 132.044"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -164 209.112"; + rotation = "-0.355016 0.158063 0.921401 45.2341"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "172 36 100.425"; + rotation = "0.0578894 -0.0728881 0.995659 177.013"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "444 -100 142.55"; + rotation = "-0.0130851 -0.00599911 0.999896 212.996"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "252 20 192.816"; + rotation = "-0.319616 -0.00932571 -0.947501 37.8558"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "60 212 164.706"; + rotation = "0.0110939 -0.0125618 0.99986 225.994"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 -28 293.05"; + rotation = "0.40792 -0.0928579 0.908283 21.9726"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 132 209.659"; + rotation = "0.528817 0.0422397 0.847684 40.8057"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "20 52 164.784"; + rotation = "-0.00390784 -0.0241498 -0.999701 116.015"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-68 404 104.847"; + rotation = "-0.105629 0.136117 0.985045 46.6242"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "412 84 164.769"; + rotation = "0.0673681 0.0445128 0.996735 126.151"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "116 412 207.925"; + rotation = "-0.0758278 0.0324637 -0.996592 53.1564"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant6) { + + new TSStatic() { + position = "444 276 79.9063"; + rotation = "0 0 1 4.99997"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 324 148.031"; + rotation = "0 0 1 158"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "444 228 72.5782"; + rotation = "0 0 1 234"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 284 207.594"; + rotation = "0 0 1 128"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "228 260 241.984"; + rotation = "0 0 1 108"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "388 -20 204.656"; + rotation = "0 0 1 207"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 196 164.922"; + rotation = "0 0 1 85"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "420 28 168.234"; + rotation = "0 0 1 165"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 20 151.094"; + rotation = "0 0 1 3.99996"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "348 380 129.953"; + rotation = "0 0 1 13"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-76 12 207.125"; + rotation = "0 0 1 73"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "76 260 142.234"; + rotation = "0 0 1 205"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "5.52935 365.94 164.772"; + rotation = "0 0 1 211"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "20 164 207.828"; + rotation = "0 0 -1 2.9997"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "228 148 121.094"; + rotation = "0 0 -1 108"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "436 268 79.8125"; + rotation = "0 0 1 67"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "60 188 167.516"; + rotation = "0 0 1 191"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 -172 206.937"; + rotation = "0 0 -1 77.0004"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-12 140 208.625"; + rotation = "0 0 -1 8.99978"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "404 -36 206.172"; + rotation = "0 0 -1 22.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "420 372 156.422"; + rotation = "0 0 1 220"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 124 78.3906"; + rotation = "0 0 1 69.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156 412 132.484"; + rotation = "0 0 1 170"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "212 316 244.156"; + rotation = "0 0 1 214"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "164.102 449.891 262.661"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "13.1107 480.375 294.888"; + rotation = "0.00800593 -0.019998 0.999768 136.373"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "68.1902 -18.1193 338.344"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-69.6816 -245.738 277.632"; + rotation = "0 0 -1 78.4952"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-26.0085 -177.073 208.551"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 0.831263"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + missionTypesList = "CTF TeamHunters"; + locked = "true"; + }; + new SpawnSphere() { + position = "120.837 68.9882 106.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "300"; + sphereWeight = "10000"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "Hunters"; + locked = "true"; + }; + }; + new SimGroup(BaseAlpha) { + providesPower = "1"; + + new InteriorInstance() { + position = "-38.0196 -191.093 205.811"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item(Team1flag1) { + position = "-38.2426 -191.302 221.824"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "CTF"; + locked = "true"; + Target = "33"; + }; + new InteriorInstance() { + position = "-85.3805 -77.2785 289.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "109.633 -134.158 263.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Short Range"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF TeamHunters"; + locked = "true"; + Target = "34"; + }; + new StaticShape() { + position = "-38.2325 -191.339 221.82"; + rotation = "0 0 -1 6.30264"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-38.1307 -190.886 208.68"; + rotation = "0 0 1 36.0963"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Turret() { + position = "-37.9605 -190.634 232.822"; + rotation = "0 0 1 38.9612"; + scale = "1 1 1"; + nameTag = "Flag Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + missionTypesList = "CTF"; + locked = "false"; + Target = "35"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIODefendLocation) { + position = "-38.0136 -191.427 222.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-38.0136 -191.427 222.997"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "LightShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-38.0136 -191.427 222.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-38.0136 -191.427 222.997"; + weightLevel1 = "4900"; + weightLevel2 = "4050"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-38.0136 -191.427 222.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-38.0136 -191.427 222.997"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "109.633 -134.158 265.738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Sensor"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3434"; + location = "109.633 -134.158 265.738"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "111.196 444.487 222.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3452"; + location = "111.196 444.487 222.76"; + weightLevel1 = "3850"; + weightLevel2 = "3500"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "111.196 444.487 222.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3452"; + location = "111.196 444.487 222.76"; + weightLevel1 = "5000"; + weightLevel2 = "4000"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "111.196 444.487 222.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3452"; + location = "111.196 444.487 222.76"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "65.4032 401.61 226.846"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "10000"; + indoorWeight = "15"; + outdoorWeight = "85"; + missionTypesList = "CTF TeamHunters"; + locked = "true"; + }; + }; + new SimGroup(BaseBeta) { + providesPower = "1"; + + new InteriorInstance() { + position = "21.9315 457.999 253.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "111.285 444.69 205.856"; + rotation = "0 0 1 49.2744"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item(Team2flag1) { + position = "111.245 444.67 221.86"; + rotation = "0 0 -1 41.253"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "CTF"; + locked = "true"; + Target = "36"; + }; + new InteriorInstance() { + position = "-34.1357 -81.1869 258.452"; + rotation = "-0.109772 -0.0992301 -0.988991 84.8562"; + scale = "1 1 1"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "173.368 304.061 262.722"; + rotation = "0 0 1 219.052"; + scale = "1 1 1"; + nameTag = "Short Range"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF TeamHunters"; + locked = "true"; + Target = "37"; + }; + new InteriorInstance() { + position = "36.595 431.508 216.453"; + rotation = "-0.751694 0.0527047 -0.657403 12.1756"; + scale = "1 1 1"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "111.237 444.655 221.881"; + rotation = "0 0 1 4.01071"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "111.514 444.754 208.239"; + rotation = "0 0 1 48.1285"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Turret() { + position = "111.036 444.654 232.902"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + nameTag = "Flag Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + missionTypesList = "CTF"; + locked = "true"; + Target = "38"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOTouchObject) { + position = "-38.0136 -191.427 222.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-38.0136 -191.427 222.997"; + weightLevel1 = "3850"; + weightLevel2 = "3500"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-38.0136 -191.427 222.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-38.0136 -191.427 222.997"; + weightLevel1 = "5000"; + weightLevel2 = "3000"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "-38.0136 -191.427 222.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-38.0136 -191.427 222.997"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIODefendLocation) { + position = "111.196 444.487 222.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3452"; + location = "111.196 444.487 222.76"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "LightShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOAttackPlayer) { + position = "111.196 444.487 222.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3452"; + location = "111.196 444.487 222.76"; + weightLevel1 = "4900"; + weightLevel2 = "4050"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIOTouchObject) { + position = "111.196 444.487 222.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3452"; + location = "111.196 444.487 222.76"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + gameType = "CTF"; + }; + new AIObjective(AIORepairObject) { + position = "173.368 304.061 265.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Sensor"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3454"; + location = "173.368 304.061 265.242"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(Environmental) { + + new AudioEmitter() { + position = "-18.2958 -116.376 229.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new Item() { + position = "207.302 -43.8472 197.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "166.423 66.7967 100.985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new Item() { + position = "160.305 73.1715 98.508"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "160.581 61.0167 98.624"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "164.016 67.1527 115.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "161.466 67.2267 116.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "166.421 67.3099 116.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "387.348 -27.5316 204.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "385.984 -25.3373 204.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "388.676 -29.4172 204.188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-104.507 210.521 230.655"; + rotation = "0 0 -1 72.1927"; + scale = "1 1 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-99.8315 208.811 233.22"; + rotation = "0 0 1 17.7617"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "210.078 -39.6732 198.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "23.1143 54.4361 165.472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "22.6423 52.4263 164.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "23.6197 57.8064 164.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "234.862 358.509 210.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "161.944 -226.435 134.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "208.45 -41.8507 198.429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-44.0787 -193.047 234.082"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-48.1303 -189.773 233.8"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "110.208 445.992 234.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "113.104 450.946 234.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "105.42 444.13 234.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "101.803 447.856 233.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-37.1135 -185.498 234.082"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-39.1201 -190.162 234.082"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + Target = "-1"; + }; + }; + new SimGroup(HuntersObjects) { + + new Item() { + position = "112.938 442.963 234.292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "120.337 440.394 233.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "114.365 435.248 234.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "110.105 443.612 222.52"; + rotation = "0 0 -1 40.107"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "112.071 441.062 222.047"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "107.874 445.802 221.948"; + rotation = "0 0 1 50.9932"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-28.6192 -193.164 233.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-33.7005 -199.502 233.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-36.0712 -192.515 233.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-38.8779 -187.613 221.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-34.363 -191.147 221.68"; + rotation = "0 0 1 4.01071"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-39.3877 -193.222 222.599"; + rotation = "0 0 -1 55.5769"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-38.6043 -192.035 240.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "110.693 444.009 240.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Blaster"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + }; + new Item() { + position = "163.286 74.9837 130.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new SimGroup(theNexus) { + + new Item() { + position = "124.511 44.2983 167.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "39"; + flashThreadDir = "1"; + }; + new StaticShape() { + position = "124.511 44.2983 167.388"; + rotation = "0 0 1 8.02137"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new StaticShape() { + position = "124.511 44.2983 175.348"; + rotation = "0 0 1 8.02137"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "124.506 44.2707 166.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new InteriorInstance() { + position = "124.506 44.27 175.794"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new WayPoint() { + position = "124.373 43.7972 161.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new StaticShape() { + position = "124.511 44.298 168.548"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new StaticShape() { + position = "124.511 44.298 174.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + Target = "-1"; + }; + new Trigger(NexusTrigger) { + position = "116.413 51.5895 165.14"; + rotation = "1 0 0 0"; + scale = "15.1222 14.655 15.9954"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + }; + new Item() { + position = "-28.5885 329.658 165.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-19.9492 335.571 165.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-23.9776 332.615 166.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "163.206 58.6794 130.041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "63.1218 203.274 165.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "151.632 -113.812 231.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "66.2104 199.39 165.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "64.9191 201.156 165.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "201.623 243.102 207.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "21.8887 127.292 208.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "19.7383 127.62 208.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "24.1576 127.522 208.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Equinox.mis b/public/base/@vl2/missions.vl2/missions/Equinox.mis new file mode 100644 index 00000000..27049121 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Equinox.mis @@ -0,0 +1,2248 @@ +// MissionTypes = CnH DM + +//--- MISSION QUOTE BEGIN --- +//Gentle rains, come wash my sins away, cleanse me of these memories. +// -- Great Eagle Alexandre Konavalev, 3940 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Four towers, one at each corner of map +//[CnH]Each tower has a control switch +//[CnH]4800 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + DM_timeLimit = "25"; + musicTrack = "lush"; + cdTrack = "2"; + CnH_timeLimit = "25"; + DM_scoreLimit = "16"; + + new MissionArea(MissionArea) { + area = "-480 -480 1040 1152"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "-832 -1272 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Equinox.ter"; + squareSize = "8"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + GraphFile = "Equinox.nav"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "375"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "300 50 100"; + fogVolume2 = "350 100 170"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -nan"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "75.1682 158.808 136.933"; + rotation = "0.0271823 -0.069917 0.997182 137.619"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-212.984 448.855 92.0225"; + rotation = "0 0 1 154.699"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "403.809 377.135 110.141"; + rotation = "-0.0491699 -0.25677 0.965221 200.944"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "298.72 -246.869 102.851"; + rotation = "0.0285852 -0.039973 0.998792 108.928"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-62.1428 -368.961 91.7874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team0) { + powerCount = "0"; + + new SimGroup(Towers) { + powerCount = "0"; + + new SimGroup(Tower1) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-202.351 433.802 74.8672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + team = "0"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop1) { + position = "-202.397 426.928 88.8532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NW Stronghold"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + number = "0"; + name = "NW Stronghold"; + missionTypesList = "CnH"; + Projector = "3299"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "-198.372 436.956 80.365"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "NW Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + team = "0"; + locked = "false"; + Trigger = "3294"; + }; + new StaticShape(Team0StationInventory2) { + position = "-206.68 436.629 80.365"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "NW Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + team = "0"; + locked = "true"; + Trigger = "3296"; + }; + new Item() { + position = "-202.452 438.44 76.4406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NW Stronghold"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-202.047 432.615 80.9093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NW Stronghold"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-202.399 435.794 97.3382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + holo = "0"; + missionTypesList = "CnH"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower2) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "398.856 364.063 44.7872"; + rotation = "0 0 1 36.6693"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + team = "0"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop2) { + position = "406.409 361.085 75.5221"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + number = "1"; + name = "NE Stronghold"; + missionTypesList = "CnH"; + Projector = "3308"; + missionListTypes = "CnH"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "395.167 369.591 63.55"; + rotation = "0 0 1 127.197"; + scale = "1 1 1"; + nameTag = "NE Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + team = "0"; + locked = "true"; + Trigger = "3304"; + }; + new StaticShape(Team0StationInventory4) { + position = "402.316 359.441 57.62"; + rotation = "0 0 1 217.724"; + scale = "1 1 1"; + nameTag = "NE Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + team = "0"; + locked = "true"; + Trigger = "3306"; + }; + new WayPoint() { + position = "405.125 361.724 66.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NE Stronghold"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "399.689 366.189 90.4933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + holo = "0"; + missionTypesList = "CnH"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower3) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "330.779 -261.455 73.5873"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "332.492 -259.527 102.414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + holo = "0"; + missionTypesList = "CnH"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "335.204 -262.955 71.585"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + nameTag = "SE Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + team = "0"; + locked = "true"; + Trigger = "3313"; + }; + new StaticShape(Team0flipflop3) { + position = "328.656 -256.267 71.5"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + number = "2"; + name = "SE Stronghold"; + missionTypesList = "CnH"; + Projector = "3311"; + missionListTypes = "CnH"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "330.318 -257.911 81.3871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SE Stronghold"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower4) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-67.1011 -328.438 67.7471"; + rotation = "0 0 1 152.589"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + team = "0"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop4) { + position = "-63.9736 -334.333 77.7"; + rotation = "0 0 -1 27.5019"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + number = "3"; + name = "SW Stronghold"; + missionTypesList = "CnH"; + Projector = "3325"; + missionListTypes = "CnH"; + team = "0"; + locked = "false"; + }; + new StaticShape(Team0StationInventory7) { + position = "-71.9901 -334.708 85.61"; + rotation = "0 0 -1 119.175"; + scale = "1 1 1"; + nameTag = "SW Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + team = "0"; + locked = "true"; + Trigger = "3320"; + }; + new StaticShape(Team0StationInventory8) { + position = "-59.6764 -327.717 85.61"; + rotation = "0 0 1 62.4524"; + scale = "1 1 1"; + nameTag = "SW Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + team = "0"; + locked = "true"; + Trigger = "3322"; + }; + new Item() { + position = "-67.0775 -329.341 62.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-64.7515 -333.165 50.9552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SW Stronghold"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-65.6336 -330.935 99.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + holo = "0"; + missionTypesList = "CnH"; + team = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "82.0476 87.4112 112.526"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "125"; + sphereWeight = "500"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIOTouchObject) { + position = "-202.397 426.928 90.4869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-202.397 426.928 90.4869"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-198.372 436.956 82.0292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3293"; + location = "-198.372 436.956 82.0292"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-206.68 436.629 82.0071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3295"; + location = "-206.68 436.629 82.0071"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "406.409 361.085 77.1558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3302"; + location = "406.409 361.085 77.1558"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "395.167 369.591 65.1158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3303"; + location = "395.167 369.591 65.1158"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "402.316 359.441 59.217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3305"; + location = "402.316 359.441 59.217"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-59.6764 -327.717 87.3327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3321"; + location = "-59.6764 -327.717 87.3327"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "335.204 -262.955 73.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3312"; + location = "335.204 -262.955 73.268"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "328.674 -256.375 72.6995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3314"; + location = "328.674 -256.375 72.6995"; + weightLevel1 = "3950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-63.9721 -334.343 79.4384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "-63.9721 -334.343 79.4384"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-63.9721 -334.343 79.4384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop4"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "-63.9721 -334.343 79.4384"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-71.9901 -334.708 87.2402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3319"; + location = "-71.9901 -334.708 87.2402"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "406.409 361.085 77.1558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3302"; + location = "406.409 361.085 77.1558"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3343"; + }; + new AIObjective(AIODeployEquipment) { + position = "385.823 344.538 50.5291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "385.823 344.538 50.5291"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3343"; + }; + new AIObjective(AIODeployEquipment) { + position = "400.703 409.258 50.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "400.703 409.258 50.8"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3343"; + }; + new AIObjective(AIODeployEquipment) { + position = "397.609 363.834 60.6696"; + rotation = "0 0 1 222.308"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "397.609 363.834 60.6696"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3343"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-202.397 426.928 90.4869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-202.397 426.928 90.4869"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3348"; + }; + new AIObjective(AIODeployEquipment) { + position = "-213.463 474.2 69.5414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-213.463 474.2 69.5414"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3348"; + }; + new AIObjective(AIODeployEquipment) { + position = "-194.915 410.934 69.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-194.915 410.934 69.07"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3348"; + }; + new AIObjective(AIODeployEquipment) { + position = "-196.452 436.083 69.2254"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-196.452 436.083 69.2254"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3348"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-63.9721 -334.343 79.4384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "-63.9721 -334.343 79.4384"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3353"; + }; + new AIObjective(AIODeployEquipment) { + position = "-38.8711 -340.989 68.0242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-38.8711 -340.989 68.0242"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3353"; + }; + new AIObjective(AIODeployEquipment) { + position = "-98.2266 -361.98 66.3655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-98.2266 -361.98 66.3655"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3353"; + }; + new AIObjective(AIODeployEquipment) { + position = "-67.1821 -328.063 78.2324"; + rotation = "0 0 -1 21.7724"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-67.1821 -328.063 78.2324"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3353"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "328.674 -256.375 72.6995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3314"; + location = "328.674 -256.375 72.6995"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3358"; + }; + new AIObjective(AIODeployEquipment) { + position = "379.247 -277.93 69.7168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "379.247 -277.93 69.7168"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3358"; + }; + new AIObjective(AIODeployEquipment) { + position = "335.588 -230.334 73.8635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "335.588 -230.334 73.8635"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "1"; + group = "3358"; + }; + new AIObjective(AIODeployEquipment) { + position = "333.331 -256.922 90.2415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "333.331 -256.922 90.2415"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "1"; + group = "3358"; + }; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "72.1296 90.013 110.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "125"; + sphereWeight = "500"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIOTouchObject) { + position = "-202.397 426.928 90.4869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-202.397 426.928 90.4869"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-198.372 436.956 82.0292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3293"; + location = "-198.372 436.956 82.0292"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-206.68 436.629 82.0071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3295"; + location = "-206.68 436.629 82.0071"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "406.409 361.085 77.1558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3302"; + location = "406.409 361.085 77.1558"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "395.167 369.591 65.1158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3303"; + location = "395.167 369.591 65.1158"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "402.316 359.441 59.217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3305"; + location = "402.316 359.441 59.217"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-59.6764 -327.717 87.3327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3321"; + location = "-59.6764 -327.717 87.3327"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "335.204 -262.955 73.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3312"; + location = "335.204 -262.955 73.268"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "328.674 -256.375 72.6995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3314"; + location = "328.674 -256.375 72.6995"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "-63.9721 -334.343 79.4384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop4"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "-63.9721 -334.343 79.4384"; + weightLevel1 = "3950"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-71.9901 -334.708 87.2402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3319"; + location = "-71.9901 -334.708 87.2402"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "406.409 361.085 77.1558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3302"; + location = "406.409 361.085 77.1558"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3378"; + }; + new AIObjective(AIODeployEquipment) { + position = "385.823 344.538 50.5291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "385.823 344.538 50.5291"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3378"; + }; + new AIObjective(AIODeployEquipment) { + position = "400.703 409.258 50.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "400.703 409.258 50.8"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3378"; + }; + new AIObjective(AIODeployEquipment) { + position = "397.531 363.855 60.6663"; + rotation = "0 0 1 222.308"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "397.531 363.855 60.6663"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3378"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-202.397 426.928 90.4869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-202.397 426.928 90.4869"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3383"; + }; + new AIObjective(AIODeployEquipment) { + position = "-213.463 474.2 69.5414"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-213.463 474.2 69.5414"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3383"; + }; + new AIObjective(AIODeployEquipment) { + position = "-194.915 410.934 69.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-194.915 410.934 69.07"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3383"; + }; + new AIObjective(AIODeployEquipment) { + position = "-196.672 435.882 69.7214"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-196.672 435.882 69.7214"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3383"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-63.9721 -334.343 79.4384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop4"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "-63.9721 -334.343 79.4384"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3388"; + }; + new AIObjective(AIODeployEquipment) { + position = "-38.8711 -340.989 68.0242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-38.8711 -340.989 68.0242"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3388"; + }; + new AIObjective(AIODeployEquipment) { + position = "-98.2266 -361.98 66.3655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-98.2266 -361.98 66.3655"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3388"; + }; + new AIObjective(AIODeployEquipment) { + position = "-67.0291 -327.63 77.9927"; + rotation = "0 0 -1 21.7724"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-67.0291 -327.63 77.9927"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3388"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "328.674 -256.375 72.6995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3314"; + location = "328.674 -256.375 72.6995"; + weightLevel1 = "3450"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "379.247 -277.93 69.7168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "379.247 -277.93 69.7168"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "335.588 -230.334 73.8635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "335.588 -230.334 73.8635"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + team = "2"; + group = "3393"; + }; + new AIObjective(AIODeployEquipment) { + position = "328.481 -260.225 90.4923"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "328.481 -260.225 90.4923"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + team = "2"; + group = "3393"; + }; + }; + }; + }; + }; + new SimGroup(Environmental) { + powerCount = "0"; + + new Item() { + position = "121.897 92.8568 121.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "121.059 92.1692 120.057"; + rotation = "-0.0247773 0.990887 0.1324 21.39"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "61.9596 188.997 89.1805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new AudioEmitter() { + position = "116.659 93.9778 125.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "239.654 404.275 111.407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "422.654 -234.613 116.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "128.533 104.994 123.009"; + rotation = "-0.178128 0.901868 0.39358 53.2976"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "126.874 83.3308 121.234"; + rotation = "-0.178128 0.901868 0.39358 53.2976"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "103.925 86.7246 119.895"; + rotation = "-0.178128 0.901868 0.39358 53.2976"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.504 106.021 118.877"; + rotation = "0.588212 0.523641 0.616285 66.1512"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Escalade.mis b/public/base/@vl2/missions.vl2/missions/Escalade.mis new file mode 100644 index 00000000..52f02210 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Escalade.mis @@ -0,0 +1,1357 @@ +// MissionTypes = TeamHunters Hunters DM Rabbit Bounty + +//--- MISSION QUOTE BEGIN --- +//The flying bullet down the Pass, +//That whistles clear: "All flesh is grass." +// -- Rudyard Kipling +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters TeamHunters]Nexus is a floating platform near center of map +//[Rabbit]Flag is on a floating platform near the center of the map +//[DM Bounty]Mission follows standard Rules of Engagement +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-184 -504 1152 928"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "40 -768 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "150"; + fogColor = "0.420000 0.420000 0.420000 1.000000"; + fogVolume1 = "400 0 80"; + fogVolume2 = "500 80 90"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000400 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + position = "40 -768 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Escalade.ter"; + squareSize = "8"; + emptySquares = "89025 154817 155073 89787 89800 155841"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + GraphFile = "Escalade.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "650.229 15.1818 168.403"; + rotation = "0.0077088 -0.188853 0.981975 175.409"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "233.25 235.761 114.524"; + rotation = "-0.035439 0.0898221 0.995327 137.12"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "113.307 -41.3487 99.462"; + rotation = "-0.0264942 -0.0149942 -0.999537 59.0374"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "545.828 -290.898 51.73"; + rotation = "-0.0166108 -0.0299914 0.999412 237.931"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "578.036 -193.947 158.692"; + rotation = "-0.448716 -0.151194 -0.880792 41.8688"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(team0) { + providesPower = "1"; + + new Trigger(NexusTrigger) { + position = "386.283 94.606 140.931"; + rotation = "1 0 0 0"; + scale = "20 20 35.856"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new Item() { + position = "396.285 84.5895 146.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + flashThreadDir = "1"; + locked = "true"; + }; + new StaticShape() { + position = "396.285 84.5895 146.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new StaticShape() { + position = "396.285 84.5895 154.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new Item() { + position = "396.285 84.5895 148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "Rabbit"; + locked = "true"; + }; + new WayPoint() { + position = "396.285 84.5895 148.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new WayPoint() { + position = "396.285 84.5895 148.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Mission Center"; + team = "0"; + missionTypesList = "DM Bounty"; + locked = "true"; + }; + new SimGroup(Tower1) { + + new InteriorInstance() { + position = "435.054 -44.3967 250.972"; + rotation = "-0 0 -1 33.2315"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "451.421 -31.2098 263.802"; + rotation = "0 0 1 56.7685"; + scale = "1 1 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "468.986 -19.7013 263.802"; + rotation = "0 0 1 236.768"; + scale = "1 1 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "428.596 -46.1826 269.777"; + rotation = "0 0 1 56.7685"; + scale = "1 1 1"; + nameTag = "Pinnacle "; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "442.397 -42.1644 263.847"; + rotation = "-0 0 -1 33.2315"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "441.387 -42.4676 263.847"; + rotation = "-0 0 -1 33.2315"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "442.118 -42.2912 264.897"; + rotation = "-0 0 -1 16.6158"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "442.237 -42.2914 265.947"; + rotation = "-0 0 -1 21.1995"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "440.387 -42.826 263.847"; + rotation = "-0 0 -1 33.2315"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "440.933 -42.6923 264.897"; + rotation = "-0 0 -1 33.2315"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "430.431 -45.1315 282.749"; + rotation = "0 0 1 56.1498"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "430.953 -44.7843 281.734"; + rotation = "0 0 1 56.1498"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "430.048 -45.3862 281.725"; + rotation = "0 0 1 56.1498"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + }; + new SimGroup(Tower2) { + + new InteriorInstance() { + position = "280.823 118.804 106.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "276.55 111.339 109.719"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "RockPile"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower3) { + + new InteriorInstance() { + position = "723.208 -74.4544 95.1575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "723.228 -68.7276 99.0275"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Bridge Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "730.431 -71.3893 113.022"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bridge Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "732.287 4.90254 78.1969"; + rotation = "0 0 1 81.933"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "735.062 -14.7455 78.1969"; + rotation = "0 0 1 81.933"; + scale = "1 1 1"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "737.878 -34.5463 78.1969"; + rotation = "0 0 1 81.933"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "726.691 -72.6874 91.1457"; + rotation = "-0.128558 -0.983334 0.128558 90.9629"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "716.685 -64.8448 91.1927"; + rotation = "0.250563 -0.935113 0.250563 93.841"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + }; + new SimGroup(Tower4) { + + new InteriorInstance() { + position = "528 -264 55.9096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = BigRoom; + }; + new StaticShape() { + position = "514.363 -263.962 44.4053"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Supply Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "541.656 -264.016 44.4066"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Supply Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "568.847 -318.524 46.4049"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Supply Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "516.223 -283.103 44.4025"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "515.165 -283.063 44.4025"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "526.061 -293.425 45.4357"; + rotation = "0 1 0 48.1284"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "530.696 -240.961 60.4578"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "517.338 -283.085 44.4025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "515.542 -283.133 45.4428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "532.932 -240.958 60.4578"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "530.747 -241.163 58.4078"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "532.983 -241.159 58.4078"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "541.167 -307.516 44.4025"; + rotation = "-0 0 -1 16.0428"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "540.398 -304.381 44.4025"; + rotation = "-0 0 -1 16.0428"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "539.649 -301.209 44.4025"; + rotation = "-0 0 -1 16.0428"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "541.213 -306.551 47.4025"; + rotation = "0 0 -1 25.7832"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "539.773 -302.092 47.4025"; + rotation = "0 0 -1 14.897"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "520.786 -298.234 44.3939"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "519.116 -301.246 44.3939"; + rotation = "0 0 1 29.2208"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "517.431 -303.999 44.3939"; + rotation = "0 0 1 29.2208"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "518.529 -301.951 47.3939"; + rotation = "0 0 1 93.392"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + }; + new SimGroup(HealthPad5) { + + new AudioEmitter() { + position = "736.228 84.5717 114.717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/thrust_uw.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new Item() { + position = "735.228 82.5717 120.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "735.228 86.5717 120.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "738.228 84.5717 120.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "736.228 84.5717 120.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "739.228 90.5717 122.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(HealthPad4) { + + new AudioEmitter() { + position = "516.446 204.49 110.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/thrust_uw.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new Item() { + position = "515.446 202.49 115.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "515.446 206.49 115.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "518.446 204.49 115.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "516.446 204.49 115.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "519.446 210.49 118.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(HealthPad3) { + + new AudioEmitter() { + position = "305.157 263.909 100.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/thrust_uw.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new Item() { + position = "304.157 261.909 105.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "304.157 265.909 105.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "307.157 263.909 105.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "305.157 263.909 105.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "308.157 269.909 108.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(HealthPad1) { + + new InteriorInstance() { + position = "383.036 -269.225 173.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "380.036 -275.225 171.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "382.036 -275.225 171.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "379.036 -273.225 171.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "379.036 -277.225 171.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "380.036 -275.225 165.745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/thrust_uw.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(Tower5) { + + new InteriorInstance() { + position = "30.8856 4.16997 107.243"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + audioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "36.5001 4.18328 111.115"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "33.92 11.3762 125.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(HealthPad2) { + + new AudioEmitter() { + position = "78.7715 156.022 117.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/thrust_uw.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new Item() { + position = "77.7715 154.022 122.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "77.7715 158.022 122.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "80.7715 156.022 122.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "78.7715 156.022 122.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "81.7715 162.022 125.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "172.968 92.7825 62.3745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "452.639 217.51 69.9594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "679.978 12.8538 54.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "796.445 1.97045 63.6692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "150"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "563.157 -284.949 62.5985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "172.968 92.7825 62.3745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "452.639 217.51 69.9594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "679.978 12.8538 54.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "796.445 1.97045 63.6692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "563.157 -284.949 62.5985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new InteriorInstance() { + position = "476.294 -49.779 222.938"; + rotation = "0 0 1 118.602"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "399.128 90.5043 149.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "396.085 84.5895 142.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/armor/thrust_uw.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new SimGroup(Environmental) { + + new InteriorInstance() { + position = "763.785 -55.3552 96.4762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "491.934 -327.482 68.363"; + rotation = "0 0 -1 77.9223"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "478.946 -133.639 106.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "592.575 46.1623 125.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "182.143 207.594 74.8187"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "144.998 48.3066 67.5383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "12.8101 -125.73 141.655"; + rotation = "0 0 1 56.1498"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "167.407 -283.042 174.129"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "266.965 -384.194 84.278"; + rotation = "0 0 1 211.604"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "475.994 305.509 150.58"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "847.143 37.8342 111.179"; + rotation = "0 0 -1 25.21"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "736.171 -360.369 110.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "282.873 73.6419 98.5829"; + rotation = "-1 0 0 55.5769"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "278.067 80.6823 94.1152"; + rotation = "-1 0 0 95.6839"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "269.748 77.7101 94.2848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "280.474 76.4743 99.7524"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "424.809 117.98 92.8088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Firestorm.mis b/public/base/@vl2/missions.vl2/missions/Firestorm.mis new file mode 100644 index 00000000..fada425b --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Firestorm.mis @@ -0,0 +1,604 @@ +// MissionTypes = CnH CTF + +//--- MISSION QUOTE BEGIN --- +//Do not go gentle into that good night, +//Rage, rage against the dying of the light. +// -- Dylan Thomas +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//[CnH]Single control point on center island +//No vehicle stations +//[CnH]1200 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "3"; + musicTrack = "volcanic"; + CTF_timeLimit = "25"; + powerCount = "0"; + CnH_timeLimit = "25"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-384 -368 768 752"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + locked = "true"; + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1024 -1584 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "300"; + fogColor = "0.850000 0.380000 0.100000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -520175634523126950000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "-56.4248 -18.6941 132.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "145"; + maxDistance = "9280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "-52.6933 -37.0834 115.979"; + rotation = "-1 0 0 39.5341"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-43.883 12.5616 125.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + new AudioEmitter() { + position = "-43.9 12.2 125.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "-44.17 12.3603 124.608"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-52.6355 -37.296 116.881"; + rotation = "-1 0 0 44.1177"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + emitter = "LightDamageSmoke"; + velocity = "1"; + locked = "true"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "Firestorm.ter"; + squareSize = "8"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + GraphFile = "Firestorm.nav"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "-232 -184 13.106"; + rotation = "1 0 0 0"; + scale = "352 320 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + locked = "true"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(Base0) { + providesPower = "1"; + + new SimGroup(Flag0) { + + new StaticShape() { + position = "-249.699 -47.7852 185.053"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + Target = "-1"; + locked = "true"; + Flag = "3287"; + }; + new Item(Team1flag1) { + position = "-249.674 -47.7808 185.133"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "CTF"; + Target = "33"; + locked = "true"; + stand = "3286"; + }; + }; + new InteriorInstance() { + position = "-284.575 -47.8885 185.12"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-288.37 -53.8372 186.12"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-288.366 -41.9357 186.12"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + }; + new Item() { + position = "-289.454 -47.6801 149.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new SimGroup(FFOne) { + + new ForceFieldBare() { + position = "-290.6 -38.3014 186.214"; + rotation = "1 0 0 0"; + scale = "12.529 0.310146 5.40663"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "36"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(FFTwo) { + + new ForceFieldBare() { + position = "-290.657 -57.8683 186.214"; + rotation = "1 0 0 0"; + scale = "12.529 0.310146 5.40663"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "37"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(FFThree) { + + new ForceFieldBare() { + position = "-277.467 -56.9089 184.35"; + rotation = "1 0 0 0"; + scale = "0.320709 18.3436 7.28"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "38"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new WayPoint() { + position = "-279.409 -48.7504 186.702"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-311.68 -51.0028 128.635"; + rotation = "0.00157728 -0.996885 -0.0788537 2.29888"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(Base1) { + providesPower = "1"; + + new SimGroup(Flag1) { + + new StaticShape() { + position = "133.469 47.7797 183.43"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CTF"; + Target = "-1"; + locked = "true"; + Flag = "3312"; + }; + new Item(Team2Flag1) { + position = "133.494 47.7836 183.52"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "CTF"; + Target = "39"; + locked = "true"; + stand = "3311"; + }; + }; + new InteriorInstance() { + position = "168.65 47.6 183.507"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "172.597 53.681 184.505"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "172.509 41.5849 184.505"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + locked = "true"; + }; + new SimGroup(FFFour) { + + new ForceFieldBare() { + position = "161.206 38.489 182.731"; + rotation = "1 0 0 0"; + scale = "0.401444 18.1854 7.28"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "42"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(FFFive) { + + new ForceFieldBare() { + position = "161.965 37.6155 184.526"; + rotation = "1 0 0 0"; + scale = "12.7687 0.409168 5.47897"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "43"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(FFSix) { + + new ForceFieldBare() { + position = "162.071 57.1006 184.528"; + rotation = "1 0 0 0"; + scale = "12.7604 0.344791 5.47897"; + dataBlock = "defaultTeamSlowFieldBare"; + Target = "44"; + locked = "true"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new Item() { + position = "173.42 47.5205 148.002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new WayPoint() { + position = "167.353 46.5529 182.938"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "189.708 27.874 124.606"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new WayPoint() { + position = "-53.4 -2.3 124"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Island"; + team = "0"; + missionTypesList = "CnH"; + locked = "true"; + }; + new StaticShape() { + position = "-53.4 -2.3 120.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "CnH"; + Target = "-1"; + locked = "true"; + holoHeight = "25"; + holo = "0"; + }; + new StaticShape(Teamflipflop1) { + position = "-53.4 -2.3 125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "The Island"; + Projector = "3395"; + missionTypesList = "CnH"; + Target = "45"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-260.613 -19.77 152.515"; + rotation = "0 0 1 76.7763"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "122.65 -5.97 198.668"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-34.241 92.78 144.126"; + rotation = "0 0 1 188.503"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Environmental) { + + new InteriorInstance() { + position = "-56.5164 81.707 120.356"; + rotation = "0 0 -1 89.9544"; + scale = "1.84135 1.2 1.2"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-129.991 -172.113 123.471"; + rotation = "0.456374 0.0805439 0.886135 57.2886"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + locked = "true"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "-38.2 -70 143.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + dropRadius = "900"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + locked = "true"; + }; + new InteriorInstance() { + position = "-4.46887 154.451 124.694"; + rotation = "0 0 1 16.0429"; + scale = "1 1.59448 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Flashpoint.mis b/public/base/@vl2/missions.vl2/missions/Flashpoint.mis new file mode 100644 index 00000000..5ba8975d --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Flashpoint.mis @@ -0,0 +1,1036 @@ +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//Think of Buddha, but kill mosquitoes. +// -- Diamond Sword saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]Five towers, central one floating +//Vehicle stations at NE and SW Towers; no inventory stations at NW and SE Towers +//[CnH]6000 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + CnH_timeLimit = "25"; + musicTrack = "volcanic"; + cdTrack = "3"; + + new MissionArea(MissionArea) { + area = "-600 -448 1072 1168"; + flightCeiling = "250"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet2"; + terrainFile = "Flashpoint.ter"; + squareSize = "8"; + emptySquares = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + GraphFile = "Flashpoint.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + high_visibleDistance = "400"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.450000 0.300000 0.250000 1.000000"; + fogDistance = "100"; + high_fogDistance = "125"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Lava) { + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-144.453 107.26 193.576"; + rotation = "0 0 1 138.083"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "217.64 357.63 90.674"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-292.622 369.46 154.035"; + rotation = "0 0 -1 96.8299"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-383.189 -374.247 74.4834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "154.88 -194.027 104.909"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "243.53 124.7 63.4594"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-472.34 16.42 65.8698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(Team0) { + + new SimGroup(Tower1) { + + new InteriorInstance() { + position = "-96.616 23.1 134.914"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbase4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team0SensorLargePulse1) { + position = "-95.385 22.91 198.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0flipflop1) { + position = "-96.424 22.75 154.87"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Center Stronghold"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge1) { + position = "-96.483 24.4 144.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "-108.308 36.24 150.91"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "-84.896 35.94 150.91"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "-85.0396 6.74148 150.91"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "-108.16 6.04599 150.91"; + rotation = "0 0 1 223.454"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-97.422 23.02 145.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center Stronghold"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-161.533 -52.577 121.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-164.029 87.16 123.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-36.516 78.04 120.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-36.062 -52.307 120.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-98.521 22.97 198.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-91.995 69.78 143.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-95.036 69.69 143.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-91.983 69.77 144.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-95.026 69.67 144.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-95.0141 69.6222 145.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-51.877 20.39 143.41"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-139.405 20.91 143.5"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-139.386 22.94 143.5"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-139.429 21.54 144.5"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-139.29 19.35 143.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-139.458 21.4 145.5"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + locked = "true"; + }; + }; + new SimGroup(Tower2) { + providesPower = "1"; + + new InteriorInstance() { + position = "-418.586 -257.393 51.0152"; + rotation = "0 0 1 40.68"; + scale = "1.0013 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + }; + new StaticShape() { + position = "-419.728 -259.963 104.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-422.852 -262.799 60.7275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SW Tower"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team0flipflop2) { + position = "-420.595 -260.839 74.4713"; + rotation = "0 0 1 10.3133"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "SW Tower"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "-418.747 -268.598 51.01"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-428.509 -260.285 51.01"; + rotation = "0 0 -1 80.2141"; + scale = "1 1 1"; + nameTag = "SW Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-419.082 -267.934 63.6074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(ffield) { + + new ForceFieldBare() { + position = "-430.249 -264.465 50.8655"; + rotation = "0.0399823 0.0187772 0.999024 129.73"; + scale = "1 8.27421 6.59044"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + }; + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-379.525 -261.749 61.3482"; + rotation = "0 0 -1 22.9183"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-365.258 -306.643 54"; + rotation = "0 0 1 222.881"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3539"; + locked = "true"; + }; + new InteriorInstance() { + position = "-360.619 -301.783 54.3"; + rotation = "0 0 1 42.81"; + scale = "1 1 1"; + interiorFile = "dvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower3) { + + new InteriorInstance() { + position = "-357.386 370.528 134.942"; + rotation = "0 0 1 141.521"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team0flipflop3) { + position = "-337.389 345.568 134.87"; + rotation = "5.54288e-10 -1.03756e-10 1 51.5662"; + scale = "1 1 1"; + nameTag = "NW Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "NW Tower"; + locked = "true"; + }; + new Item() { + position = "-365.086 370.138 136.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-355.384 377.838 136.133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-359.351 362.718 136.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-349.025 370.068 136.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-360.292 370.958 136.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-356.369 373.848 136.243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-352.965 365.238 135.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge1) { + position = "-386.617 348.088 134.88"; + rotation = "0 0 1 141.521"; + scale = "1 1 1"; + nameTag = "Northwest"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge2) { + position = "-329.886 392.428 134.88"; + rotation = "0 0 1 142.666"; + scale = "1 1 1"; + nameTag = "Northwest"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge3) { + position = "-361.528 375.688 98.9663"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + nameTag = "NW Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-336.85 345.738 126.718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NW Tower"; + team = "0"; + locked = "true"; + }; + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-361.05 349.818 86.4837"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-356.874 369.568 143.12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower4) { + providesPower = "1"; + + new WayPoint() { + position = "296.07 422.78 60.9598"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "NE Tower"; + team = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "253.42 422.94 63.5805"; + rotation = "0 0 1 156.99"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new StaticShape() { + position = "294.26 421.44 105.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "227.909 456.691 53.8"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3564"; + locked = "true"; + }; + new InteriorInstance() { + position = "291.32 418.51 51.4475"; + rotation = "0 0 1 220.589"; + scale = "1.0013 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + }; + new SimGroup(ffield) { + + new ForceFieldBare() { + position = "297.1 431.59 51.5273"; + rotation = "0 0 1 130.677"; + scale = "1 8.27421 6.59044"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + locked = "true"; + }; + }; + new Item() { + position = "302.49 421.51 64.2975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory7) { + position = "302.37 421.55 51.44"; + rotation = "0 0 1 99.6946"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory8) { + position = "292.69 429.9 51.44"; + rotation = "-0 0 -1 7.05828"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0flipflop4) { + position = "294.49 422.1 74.9036"; + rotation = "0 0 1 190.222"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "NE Tower"; + locked = "true"; + }; + new InteriorInstance() { + position = "220.089 447.663 54.1"; + rotation = "0 0 1 222.97"; + scale = "1 1 1"; + interiorFile = "dvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower5) { + + new StaticShape(Team0flipflop5) { + position = "227.97 -181.064 133.36"; + rotation = "-1.08129e-12 -2.54446e-10 1 210.848"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "SE Tower"; + locked = "true"; + }; + new InteriorInstance() { + position = "255.51 -197.336 133.459"; + rotation = "-0 0 -1 59.1967"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "262.57 -194.247 134.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "256.22 -204.881 134.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "254.59 -189.328 134.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "247.53 -199.863 134.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "258.38 -196.71 134.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "256.03 -198.897 134.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "249.5 -193.952 134.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge3) { + position = "274.91 -166.006 133.42"; + rotation = "-0 0 -1 59.1967"; + scale = "1 1 1"; + nameTag = "Southeast"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge4) { + position = "237.53 -227.548 133.42"; + rotation = "-0 0 -1 58.0518"; + scale = "1 1 1"; + nameTag = "Southeast"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge5) { + position = "261.21 -200.697 97.4837"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + nameTag = "SE Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "228.61 -182.463 125.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "SE Tower"; + team = "0"; + locked = "true"; + }; + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "250.35 -183.411 98.9368"; + rotation = "0 0 1 186.784"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new StaticShape() { + position = "254.72 -196.373 141.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "-243.602 -14.58 50.3803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rumblingthunder.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new WaterBlock() { + position = "-200 -136 34.9178"; + rotation = "1 0 0 0"; + scale = "160 160 9.27051"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + locked = "false"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Fracas.mis b/public/base/@vl2/missions.vl2/missions/Fracas.mis new file mode 100644 index 00000000..dca0306d --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Fracas.mis @@ -0,0 +1,657 @@ +// MissionTypes = Hunters DM +// DisplayName = Fracas + +//--- MISSION QUOTE BEGIN --- +//A thousand worlds shall be rent with fire, and even the Immortals shall tremble. +// -- The Fenecian Prophecy, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters]Nexus is located atop center tower +//Hidden weapon caches can be found in addition to inventory stations +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "4"; + DM_timeLimit = "25"; + powerCount = "0"; + musicTrack = "badlands"; + Hunters_timeLimit = "25"; + DM_scoreLimit = "35"; + + new MissionArea(MissionArea) { + area = "-672 -8 656 832"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + position = "-1024 -1024 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet2"; + terrainFile = "Fracas.ter"; + squareSize = "8"; + emptySquares = "304722 436049 436305 436561 436817 437073 371794 437585 437841 438097 438353 438609 438865 439121 373841 308562 178509 178521 178765 178777 114259 245586 376913 246098"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "60"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "Fracas.nav"; + }; + new SimGroup(BaseItems) { + + new InteriorInstance() { + position = "-353 403.88 57.103"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "xbase2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + }; + new Item() { + position = "-360.86 74.72 145.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-361.446 76.38 165.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-359.62 77.29 125.897"; + rotation = "0 0 -1 66.4631"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-362.963 361 40.2874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-342.921 361.09 39.5867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Trigger(NexusTrigger) { + position = "-375.375 531.501 117.54"; + rotation = "1 0 0 0"; + scale = "42.8074 38.259 27.2131"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Item() { + position = "-411.8 577.28 180.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-412.384 577.24 177.628"; + rotation = "0 0 -1 45.2636"; + scale = "1 1 1"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-354.953 515.87 117.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new WayPoint() { + position = "-354.953 515.87 117.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Stronghold"; + team = "0"; + locked = "true"; + missionTypesList = "DM"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "350"; + fogColor = "0.900000 0.700000 0.500000 1.000000"; + fogVolume1 = "120 100 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.001000 0.001000"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-398.089 549.2 169.347"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-314.557 264.42 122.593"; + rotation = "0 0 -1 15.4698"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-343.698 457.75 53.1268"; + rotation = "0 0 1 175.898"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-352.099 402.705 36.1195"; + rotation = "0 0 1 180.482"; + scale = "1 1 0.887068"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-366.087 443.905 50.1832"; + rotation = "0.114121 -0.0397281 0.992672 38.6506"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-352.832 504.358 20.0556"; + rotation = "-0.00759312 -0.0848953 0.996361 190.185"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + providesPower = "1"; + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-351.764 404.28 80.2002"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "160"; + sphereWeight = "100"; + indoorWeight = "65"; + outdoorWeight = "35"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + }; + }; + new SimGroup(team0) { + + new SimGroup(AIObjectives) { + }; + }; + new StaticShape() { + position = "-352.84 454.239 42.605"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "33"; + }; + new StaticShape() { + position = "-340.288 510.131 11.105"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + }; + new StaticShape() { + position = "-347.276 514.106 101.61"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + }; + new StaticShape() { + position = "-293.885 463.911 81.1"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "36"; + }; + new StaticShape() { + position = "-356.287 350.896 31.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "37"; + }; + new Item(Nexus) { + position = "-355.472 513.94 125.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + flashThreadDir = "1"; + locked = "true"; + missionTypesList = "Hunters"; + Target = "38"; + }; + }; + new SimGroup(Ambiance) { + + new TSStatic() { + position = "-309.457 287.51 58.8317"; + rotation = "-0.273478 -0.961685 0.0192892 74.0213"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-361.169 319.13 65.1"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-336.526 334.973 59.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-331.166 329.89 59.1368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-331.982 329.87 61.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-370.334 349.35 59.1814"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-376.047 402.12 47.1708"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-340.807 410.82 47.1133"; + rotation = "0 0 -1 23.4912"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-367.748 419.5 31.1066"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-390.637 85.43 130.14"; + rotation = "0 1 0 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "-438.696 678.97 238.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "45000"; + maxLoopGap = "90000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-97.966 463.1 156.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "34000"; + maxLoopGap = "66000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-278.391 22.41 204.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-39.82 373.21 122.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-367.347 528.206 65.4362"; + rotation = "-0.157476 -0.0524344 0.98613 135.494"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-375.934 512.892 65.7323"; + rotation = "0 0 -1 89.5637"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-335.297 509.785 66.9075"; + rotation = "0.57511 0.581353 0.575568 119.617"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-375.391 514.331 66.6247"; + rotation = "-0.0210077 0.999777 0.00210784 90.5401"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-375.242 517.746 64.4774"; + rotation = "-0.00261531 -0.0680204 -0.99768 88.2906"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-304.838 559.706 69.4229"; + rotation = "-0.0545916 -0.11748 0.991574 50.2189"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new StaticShape() { + position = "-355.479 513.94 125.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + Target = "-1"; + }; + new StaticShape() { + position = "-355.479 513.94 133.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + Target = "-1"; + }; + new TSStatic() { + position = "-381.568 367.53 47.0343"; + rotation = "0.0149336 0.0747557 0.99709 90.2762"; + scale = "2.96362 2.42373 3.00128"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-375.949 407.023 47.17"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-376.017 404.179 49.17"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-376.139 406.377 51.17"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new Lightning() { + position = "-326.556 397.364 234.911"; + rotation = "1 0 0 0"; + scale = "868.945 957.948 445.077"; + dataBlock = "DefaultStorm"; + strikesPerMinute = "9"; + strikeWidth = "5"; + chanceToHitTarget = "0.95"; + strikeRadius = "27"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; + new TSStatic() { + position = "-658.249 792.016 170.221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-658.276 792.143 173.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-376.306 407.68 49.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Gauntlet.mis b/public/base/@vl2/missions.vl2/missions/Gauntlet.mis new file mode 100644 index 00000000..957bafa9 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Gauntlet.mis @@ -0,0 +1,2830 @@ +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Fire only burns the faithless. +// -- Harbingers of Phoenix saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Each tower contains a generator powering defenders' main forcefield +//[Siege]Destroy all generators to kill defender forcefields +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-608 -952 1088 1136"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + high_visibleDistance = "700"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.540000 0.540000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.006211"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -848678150027357624000000000000000.000000"; + cloudSpeed0 = "0.000150 0.000050"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Gauntlet.ter"; + squareSize = "8"; + emptySquares = "333158 292507 292748 97431 229270 229526 229782"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + coverage = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Gauntlet.nav"; + locked = "true"; + position = "0 0 0 1"; + }; + new InteriorInstance() { + position = "140.209 -171.275 86.7623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "115.802 30.4655 112.07"; + rotation = "0.00747397 -0.0299947 0.999522 152.029"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "251.943 -193.277 100.176"; + rotation = "0.41746 0.113291 -0.901605 33.5035"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "187.316 -4.9771 68.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(BunkerPowered) { + + new SimGroup(Bunker4) { + + new InteriorInstance() { + position = "126.327 -67.9183 66.2762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team2StationInventory4) { + position = "102.56 -67.973 67.7742"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(MainBaseFFields) { + + new SimGroup(field2) { + + new ForceFieldBare(forceField2) { + position = "183.972 -29.2255 61.25"; + rotation = "1 0 0 0"; + scale = "8.5 0.1 9.25"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + triggerCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + }; + }; + new StaticShape(Team2generatorLarge3) { + position = "220.274 -75.7459 47.4929"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge4) { + position = "122.055 -68.2083 63.2656"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new SimGroup(Bunker3) { + + new StaticShape(Team2StationInventory3) { + position = "239.766 -76.1451 52.0015"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "216 -76 50.5035"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + }; + new SimGroup(MainPowered) { + + new Turret(Team2TurretBaseLarge1) { + position = "139.716 -171.299 91.382"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base Compound"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "188.092 -14.516 58.4005"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new SimGroup(field3) { + + new ForceFieldBare() { + position = "186.07 25.4553 43.3492"; + rotation = "1 0 0 0"; + scale = "4.08823 4.10441 0.879177"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + }; + new StaticShape(Team2StationInventory11) { + position = "170.409 52.475 50.3957"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(Team2StationInventory6) { + position = "170.384 52.3336 44.394"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(Team2StationInventory7) { + position = "170.374 40.6936 44.394"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Turret(Team2SentryTurret1) { + position = "205.45 5.4293 37.7286"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + nameTag = "Control Switch"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "170.399 40.835 50.3957"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + }; + new StaticShape(Team0flipflop1) { + position = "188.098 11.7635 32.4013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new SimGroup(RepairTasks1) { + + new AIObjective(AIODefendLocation) { + position = "120.118 -68.4877 64.7175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "120.118 -68.4877 64.7175"; + weightLevel1 = "3150"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3517"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "222.213 -75.4827 48.9448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "222.213 -75.4827 48.9448"; + weightLevel1 = "3150"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3517"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "222.213 -75.4827 48.9448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "222.213 -75.4827 48.9448"; + weightLevel1 = "3200"; + weightLevel2 = "3200"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3517"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "120.118 -68.4877 64.7175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "120.118 -68.4877 64.7175"; + weightLevel1 = "3200"; + weightLevel2 = "3200"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3517"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "140.377 -171.298 93.1335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "140.377 -171.298 93.1335"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3517"; + isInvalid = "0"; + }; + }; + new SimGroup(RepairTasks1) { + }; + new SimGroup(Deploys1) { + + new AIObjective(AIODeployEquipment) { + position = "171.31 13.6183 43.4307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "171.31 13.6183 43.4307"; + weightLevel1 = "3950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "HeavyInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "183.404 -1.49377 47.0762"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "183.404 -1.49377 47.0762"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "168.124 6.92058 47.4296"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "168.124 6.92058 47.4296"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "197.073 8.52547 47.8614"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "197.073 8.52547 47.8614"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "184.625 -2.27708 47.1274"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "184.625 -2.27708 47.1274"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "189.948 1.71902 43.9461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the Back Entrance"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "189.948 1.71902 43.9461"; + weightLevel1 = "3900"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "197.963 -3.68499 47.3984"; + rotation = "0 0 1 163.293"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "197.963 -3.68499 47.3984"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3525"; + isInvalid = "0"; + }; + }; + new SimGroup(Deploys2) { + + new AIObjective(AIODeployEquipment) { + position = "202.116 29.1566 47.5414"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "202.116 29.1566 47.5414"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3533"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "193.085 36.2397 39.5804"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "193.085 36.2397 39.5804"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3533"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "198.968 25.0571 44.9767"; + rotation = "0 0 1 158.709"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "198.968 25.0571 44.9767"; + weightLevel1 = "3900"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3533"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "182 32.5327 43.5125"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "182 32.5327 43.5125"; + weightLevel1 = "3930"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "HeavyIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3533"; + isInvalid = "0"; + }; + }; + new AIObjective(AIODefendLocation) { + position = "188.274 -33.6952 82.9537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the Compound"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "188.274 -33.6952 82.9537"; + weightLevel1 = "3200"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "SniperRifle"; + buyEquipmentSet = "LightSniperChain"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team1) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-178.548 -871.097 60.7946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-179.97 -895.918 52.4711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team1StationInventory1) { + position = "-158.307 -904.742 53.4643"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-158.292 -887.634 53.4643"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-211.544 -899.383 53.478"; + rotation = "0 0 -1 90.0457"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-211.54 -904.383 53.478"; + rotation = "0 0 -1 90.0457"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "-212.134 -889.955 60.475"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-180.158 -892.599 51.2"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + station = "3554"; + Ready = "1"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "-211.554 -886.811 53.499"; + rotation = "0 0 -1 90.0456"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "-211.55 -891.81 53.499"; + rotation = "0 0 -1 90.0456"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "-212.166 -901.905 60.4711"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory9) { + position = "-158.52 -887.57 62.5032"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory10) { + position = "-158.448 -904.27 62.4728"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOTouchObject) { + position = "188.098 11.7635 34.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3515"; + location = "188.098 11.7635 34.035"; + weightLevel1 = "4630"; + weightLevel2 = "3100"; + weightLevel3 = "1500"; + weightLevel4 = "1000"; + offense = "1"; + defense = "0"; + desiredEquipment = "Mortar"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "120.118 -68.4877 64.7175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "120.118 -68.4877 64.7175"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumEnergySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "205.42 5.76036 37.7286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3509"; + location = "205.42 5.76036 37.7286"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "222.213 -75.4827 48.9448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "222.213 -75.4827 48.9448"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "140.377 -171.298 93.1335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "140.377 -171.298 93.1335"; + weightLevel1 = "3200"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + new ForceFieldBare() { + position = "-192.321 -851.036 62.8612"; + rotation = "1 0 0 0"; + scale = "0.25 5.25616 5.72361"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-193.811 -844.216 62.8997"; + rotation = "0 0 -1 90"; + scale = "0.25 6.20879 5.72361"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret() { + position = "-193.426 -814.655 49.4552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Item() { + position = "-204.795 -895.854 61.1125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-179.877 -928.572 54.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + new SimGroup(team0) { + + new Item() { + position = "187.979 -26.4072 83.9425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + new Item() { + position = "188.039 56.7323 46.0782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1PhoenixPlant5) { + + new TSStatic() { + position = "292 -188 70.8625"; + rotation = "0.0998371 -0.2011 -0.97447 62.304"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "324 -84 96.2063"; + rotation = "0.0281555 -0.0141936 0.999503 114.026"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "124 -84 66.2375"; + rotation = "-0.000971651 0.00290395 0.999995 127"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "84 20 98.6438"; + rotation = "0.153927 0.152375 0.976262 221.087"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "268 -108 67.7688"; + rotation = "-0.0398282 -0.0134269 0.999116 200.982"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "188 -60 51.8"; + rotation = "-0.891358 0.0717711 -0.447583 17.7592"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "124 20 69.6906"; + rotation = "-0.0169087 0.0448565 0.99885 213.963"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100 -180 75.0344"; + rotation = "0.0589137 0.30882 0.949294 67.731"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "172 -228 60.0499"; + rotation = "0 0 1 43"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "212 -108 63.6438"; + rotation = "-0.00155468 -0.140709 0.99005 82.5678"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100 -172 74.4249"; + rotation = "-0.156881 0.33053 0.930665 60.5192"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "132 -116 52.2687"; + rotation = "0.185001 0.0463582 0.981644 92.0611"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "76 -108 78.3781"; + rotation = "-0.0674586 -0.103245 -0.992366 27.1998"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 -100 50.5813"; + rotation = "-0.0636886 0.14365 0.987577 33.3922"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "220 -220 60.1907"; + rotation = "0.0517505 0.0054553 0.998645 52.0612"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 -156 78.425"; + rotation = "-0.0156173 -0.0182861 -0.999711 81.0163"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "276 -244 77.9875"; + rotation = "0.0684632 0.049103 -0.996445 58.1736"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 -124 51.0032"; + rotation = "0.0596954 0.0457621 0.997167 117.145"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "116 12 70.4719"; + rotation = "0.172433 -0.0154705 -0.9849 30.4386"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -252 98.0031"; + rotation = "-0.0171627 -0.0480015 0.9987 176.005"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108 -36 70.6906"; + rotation = "-0.0157814 0.0520015 -0.998522 114.078"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "84 -260 79.4563"; + rotation = "-0.047025 -0.26649 -0.96269 45.5341"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "284 -124 68.3938"; + rotation = "0.00808342 0.00420796 -0.999958 35.0013"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "316 -228 79.1593"; + rotation = "-0.0380264 -0.0316612 0.998775 217.957"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "132 -52 68.175"; + rotation = "-0.202426 -0.0437711 -0.978319 99.242"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + new TSStatic() { + position = "28 -460 84.5344"; + rotation = "0.00795359 0.0410383 0.999126 141.031"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "172 -588 73.3469"; + rotation = "-0.113528 0.00818609 -0.993501 119.326"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "28 -420 81.8782"; + rotation = "0.0207971 0.180618 0.983333 62.8535"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "76 -508 87.2375"; + rotation = "0.0439526 -0.0118088 -0.998964 116.054"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "220 -652 77.1126"; + rotation = "-0.0656082 0.161938 0.984618 216.469"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 -404 84.5344"; + rotation = "0.0252465 -0.202135 -0.979032 110.144"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108 -652 79.05"; + rotation = "-0.0131997 0.0357865 0.999272 121.036"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "140 -492 79.9407"; + rotation = "0.169617 -0.128554 0.97709 91.3277"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "140 -508 80.3313"; + rotation = "0.131918 0.0391182 0.990489 219.649"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "212 -564 64.55"; + rotation = "0.0295791 0.100114 0.994536 193.924"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "36 -676 60.6438"; + rotation = "0.118952 0.026937 -0.992535 62.3797"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "172 -516 78.2062"; + rotation = "0.0232338 0.0199145 0.999532 166.007"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-36 -652 78.4562"; + rotation = "0.0286029 -0.00196964 0.999589 208.989"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 -500 87.0344"; + rotation = "-0.0201866 -0.00743785 0.999769 214.993"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-4 -468 85.425"; + rotation = "0.0545957 0.095142 0.993965 165.089"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "164 -636 76.3781"; + rotation = "0.577329 -0.767825 0.277734 21.3719"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "164 -556 79.2374"; + rotation = "-0.1498 0.0162232 -0.988583 119.574"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100 -652 78.7375"; + rotation = "0.0026733 0.00513537 0.999983 215"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 -500 78.4875"; + rotation = "-0.010753 -0.0165199 -0.999806 103.01"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 -684 63.175"; + rotation = "0.208134 0.0158923 -0.977971 96.2701"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-12 -476 85.2063"; + rotation = "0.126304 0.111119 -0.985748 117.73"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 -668 80.4875"; + rotation = "-0.220279 -0.150556 -0.963748 31.0747"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "124 -412 79.3468"; + rotation = "-0.108687 -0.183135 -0.977061 116.199"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant5) { + + new TSStatic() { + position = "-148 -860 76.4093"; + rotation = "0.121658 0.196623 0.972902 84.5645"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-204 -884 78.6281"; + rotation = "0.0092082 0.00670618 0.999935 109.003"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-196 -652 80.9094"; + rotation = "0.777848 0.0750633 -0.623954 25.3874"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-108 -884 75.9094"; + rotation = "0.0238808 -0.163055 0.986328 61.6921"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 -844 74.9875"; + rotation = "-0.102074 0.226865 0.968562 81.8068"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-244 -684 59.9874"; + rotation = "0.280537 -0.180795 0.942662 20.1327"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -636 78.675"; + rotation = "0.027194 -0.0153368 0.999512 68.0256"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-316 -876 71.7687"; + rotation = "-0.154958 0.125853 -0.979872 56.9714"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-236 -868 78.3469"; + rotation = "-0.0104277 0.00238257 0.999943 227.998"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60 -868 68.5188"; + rotation = "0.0129671 -0.00170595 0.999914 190.999"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-188 -732 58.1125"; + rotation = "-0.00200073 -0.113879 0.993493 179.006"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-292 -804 68.4094"; + rotation = "-0.00486267 0.00286434 0.999984 29.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92 -916 93.8313"; + rotation = "0.0411618 -0.221057 0.974392 18.465"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-244 -844 77.9719"; + rotation = "0.0170943 -0.0341689 0.99927 164.011"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60 -876 68.425"; + rotation = "0.00786619 0.000625129 0.999969 46.0012"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 -724 59.9406"; + rotation = "-0.00397822 -0.00731573 0.999965 151.001"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-108 -724 59.9093"; + rotation = "0.00102535 -0.000973021 0.999999 183"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116 -756 59.8937"; + rotation = "-1.75963e-05 -0.00201596 0.999998 88.9998"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-252 -804 76.8624"; + rotation = "0.425565 0.276366 -0.861694 27.7132"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-244 -772 55.1593"; + rotation = "-0.336767 0.0341253 -0.940969 56.8701"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-308 -932 78.9562"; + rotation = "0.0052408 -0.0422508 0.999093 159.018"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-220 -692 64.4406"; + rotation = "0.183213 0.17966 -0.966517 68.8082"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-276 -916 78.7062"; + rotation = "0.00446302 0.00713144 0.999965 187"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant1) { + + new TSStatic() { + position = "-36 -596 80.2969"; + rotation = "0 0 1 64"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-132 -676 68.625"; + rotation = "0 0 1 1.9999"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 -724 59.6875"; + rotation = "0 0 1 228"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "20 -788 79.1406"; + rotation = "0 0 -1 116"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -612 79.3125"; + rotation = "0 0 1 72.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-164 -524 105.328"; + rotation = "0 0 1 88"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "12 -644 76.4375"; + rotation = "0 0 1 235"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-12 -548 83.4844"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-132 -700 64.8281"; + rotation = "0 0 -1 116"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-172 -508 106"; + rotation = "0 0 1 181"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156 -556 103.625"; + rotation = "0 0 1 38"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 -636 80.8125"; + rotation = "0 0 1 57"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "60 -684 67.5626"; + rotation = "0 0 1 163"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-188 -708 61.8437"; + rotation = "0 0 -1 111"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "36 -716 62"; + rotation = "0 0 1 42"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -628 78.7812"; + rotation = "0 0 1 170"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "36 -548 85.7656"; + rotation = "0 0 -1 119"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100 -596 78.6875"; + rotation = "0 0 1 32"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60 -796 78.0781"; + rotation = "0 0 -1 55.0003"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-164 -756 56.9844"; + rotation = "0 0 1 169"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 -524 104.328"; + rotation = "0 0 -1 84.9994"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 -660 79.4843"; + rotation = "0 0 -1 76"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-124 -764 60.1562"; + rotation = "0 0 1 201"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-28 -756 50.9375"; + rotation = "0 0 1 183"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 -788 56.1407"; + rotation = "0 0 1 9.99989"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition5PhoenixPlant1) { + + new TSStatic() { + position = "148 -388 68.0938"; + rotation = "0 0 1 26"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "276 -548 68.4063"; + rotation = "0 0 1 122"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "172 -380 65.5782"; + rotation = "0 0 -1 80.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "372 -508 103.609"; + rotation = "0 0 1 7.00001"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "364 -620 79.8907"; + rotation = "0 0 -1 41.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "364 -428 104.156"; + rotation = "0 0 1 227"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "188 -468 62.9844"; + rotation = "0 0 1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "348 -500 103.484"; + rotation = "0 0 1 73"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "356 -500 103.719"; + rotation = "0 0 -1 26"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108 -460 86.4062"; + rotation = "0 0 -1 113"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "132 -436 81.1094"; + rotation = "0 0 1 13"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "396 -484 103.344"; + rotation = "0 0 1 210"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "220 -444 58.4844"; + rotation = "0 0 1 167"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "372 -668 102.063"; + rotation = "0 0 1 99.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "332 -404 100.266"; + rotation = "0 0 -1 73.0006"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "380 -420 104.203"; + rotation = "0 0 -1 17.9997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "284 -468 68.875"; + rotation = "0 0 1 42"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156 -508 78.8125"; + rotation = "0 0 -1 101"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "276 -532 68.2813"; + rotation = "0 0 1 102"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "284 -588 74.7499"; + rotation = "0 0 -1 44"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "116 -468 85.0625"; + rotation = "0 0 -1 17.9997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "300 -564 69.4687"; + rotation = "0 0 -1 23.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "244 -580 64.2344"; + rotation = "0 0 1 200"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "284 -476 68.7031"; + rotation = "0 0 1 178"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 -380 68.625"; + rotation = "0 0 1 54"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + }; + new AudioEmitter() { + position = "91.1828 -52.9183 96.3989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new SimGroup(RandomRocks) { + + new SimGroup(Addition11prock6) { + + new InteriorInstance() { + position = "-456.552 -49.2896 97.5817"; + rotation = "0.999405 0.00308934 -0.0343471 194.339"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "211.448 -760.29 99.2678"; + rotation = "0.487786 0.872775 0.0181121 176.461"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "149.448 -792.29 77.3624"; + rotation = "0.0671984 -0.748146 0.660122 90.9385"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-340.552 -708.29 94.3125"; + rotation = "0.451074 0.892276 0.01938 176.551"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "334.448 -133.29 73.3529"; + rotation = "0.998899 0.0281986 -0.0374927 194.235"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-250.552 -159.29 76.5653"; + rotation = "0 0 1 1.95478"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "282.448 -720.29 79.2079"; + rotation = "0.987324 0.12894 0.092552 182.25"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-82.5519 -21.2896 87.0741"; + rotation = "0.241298 0.380846 -0.892598 88.6893"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-387.552 -164.29 77.2676"; + rotation = "0 0 1 5.09628"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-125.552 -506.29 110"; + rotation = "0.45691 0.889306 0.0191825 176.536"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "237.448 -147.29 50.3496"; + rotation = "0.0878005 -0.726043 0.682021 92.7212"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-378.552 -153.29 69.5872"; + rotation = "0.985532 0.142165 0.0922829 182.391"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-450.552 -78.2896 87.2364"; + rotation = "0.987363 0.128639 0.0925579 182.246"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-81.5519 -410.29 60.1477"; + rotation = "0.998417 0.0371215 0.0422619 82.6801"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-136.552 -266.29 77.8565"; + rotation = "0.999295 0.0122217 -0.0354937 194.302"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-117.552 -235.29 84.5016"; + rotation = "0.988318 0.120964 0.0927062 182.164"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-344.552 -669.29 94.4819"; + rotation = "0.998971 0.0259166 -0.0372077 194.245"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "100.448 -19.2896 78.8727"; + rotation = "0.997037 0.0507641 0.0577935 82.7586"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-351.552 -657.29 94.3174"; + rotation = "0.243956 0.371016 -0.896009 90.4219"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-135.552 -140.29 85.5828"; + rotation = "0 0 1 4.48543"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-122.552 -16.2896 77.9119"; + rotation = "0.999231 0.0258784 0.0294618 82.6337"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-414.552 -299.29 78.4887"; + rotation = "0.474567 0.880023 0.0185756 176.493"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-406.552 -296.29 78.4307"; + rotation = "0.991162 0.0944265 0.093175 181.879"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-380.552 -325.29 78.3212"; + rotation = "0 0 1 0.125115"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-251.552 -634.29 78.3551"; + rotation = "0.241567 0.37986 -0.892945 88.8599"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-400.552 -313.29 77.6385"; + rotation = "0 0 1 2.82749"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "267.448 -430.29 63.5298"; + rotation = "0 0 1 0.697732"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-203.552 -294.29 67.7361"; + rotation = "0.990395 0.102275 0.0930434 181.963"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-364.552 -204.29 78.752"; + rotation = "0 0 1 1.13435"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-210.552 -124.29 62.8916"; + rotation = "0.999846 0.0115742 0.0131769 82.5987"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-212.552 -186.29 77.9168"; + rotation = "0 0 1 0.489388"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-198.552 -711.29 60.6723"; + rotation = "0.9883 0.121115 0.0927033 182.166"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-125.552 -299.29 75.4698"; + rotation = "0.23974 0.386541 -0.890568 87.7089"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "92.4481 -157.29 68.757"; + rotation = "0.24164 0.379592 -0.89304 88.907"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-329.552 -289.29 79.3838"; + rotation = "0.239915 0.385904 -0.890797 87.8178"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-217.552 -777.29 54.1338"; + rotation = "0 0 1 1.51849"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-87.5519 -770.29 74.637"; + rotation = "0.458805 0.888331 0.019118 176.532"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-47.5519 -589.29 92.5941"; + rotation = "0.986389 0.136006 0.0924103 182.325"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-208.552 -143.29 76.1957"; + rotation = "0.0744806 -0.740525 0.667889 91.5495"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-311.552 -73.2896 87.2428"; + rotation = "0.986225 0.137208 0.0923858 182.339"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-350.552 -554.29 68.9049"; + rotation = "0.989957 0.106498 0.0929701 182.009"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "103.448 -412.29 83.1059"; + rotation = "0.480589 0.876754 0.0183654 176.478"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "141.448 -198.29 72.3953"; + rotation = "0.990241 0.103783 0.0930174 181.979"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "110.448 -691.29 77.7967"; + rotation = "0.998689 0.0337811 0.0384589 82.6646"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-6.55191 -520.29 85.4549"; + rotation = "0.998827 0.0319582 0.0363835 82.6566"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "1.44809 -512.29 86.7425"; + rotation = "0 0 1 2.14676"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "252.448 -218.29 54.1096"; + rotation = "0.9851 0.145167 0.0922194 182.424"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "162.448 -178.29 68.7364"; + rotation = "0.999529 0.0202503 0.0230545 82.6171"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-177.552 -18.2896 80.2377"; + rotation = "0 0 1 2.94971"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Addition12prock7) { + + new InteriorInstance() { + position = "-377.552 -582.29 68.7767"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-38.5519 -19.2896 82.5194"; + rotation = "0.448761 0.89344 0.0194579 176.556"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "10.4481 -477.29 86.5378"; + rotation = "0.999431 -0.00589175 -0.0332167 194.373"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-110.552 -612.29 78.95"; + rotation = "0.998701 0.0336292 0.038286 82.6641"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-254.552 -497.29 78.2141"; + rotation = "0.998686 0.0341305 -0.0382327 194.209"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-461.552 -572.29 60.0226"; + rotation = "0 0 1 2.37359"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-102.552 -407.29 62.9771"; + rotation = "0.470405 0.882252 0.0187199 176.503"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-278.552 -683.29 70.6124"; + rotation = "0.473896 0.880384 0.0185989 176.494"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "128.448 -364.29 70.9036"; + rotation = "0.0714821 -0.743687 0.664695 91.2956"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-61.5519 -154.29 104.038"; + rotation = "0.99756 0.0460697 0.0524491 82.7288"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-148.552 -108.29 83.2921"; + rotation = "0.999775 0.0140102 0.0159502 82.6028"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-387.552 -778.29 69.9393"; + rotation = "0.999215 0.0164829 -0.0360277 194.284"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-41.5519 -262.29 95.5278"; + rotation = "0 0 1 5.55019"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-312.552 -602.29 72.9251"; + rotation = "0.999428 -0.00147729 -0.0337726 194.356"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "191.448 -461.29 60.8619"; + rotation = "0.495612 0.868361 0.0178339 176.443"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-183.552 -447.29 78.8497"; + rotation = "0 0 1 4.46812"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-154.552 -503.29 107.967"; + rotation = "0.997463 0.0469787 0.053484 82.7345"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-391.552 -358.29 78.7483"; + rotation = "0.448897 0.893372 0.0194533 176.556"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "25.4481 -474.29 86.1089"; + rotation = "0 0 1 3.49058"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "0.44809 -435.29 80.1545"; + rotation = "0.459753 0.887842 0.0190857 176.529"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "11.4481 -5.28961 78.8053"; + rotation = "0.0689809 -0.746299 0.662026 91.0863"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "198.448 -502.29 60.1611"; + rotation = "0.989812 0.107855 0.0929462 182.023"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "217.448 -432.29 59.9942"; + rotation = "0.998105 0.0406118 0.0462354 82.6979"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-182.552 -490.29 98.6802"; + rotation = "0 0 1 6.16103"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-396.552 -88.2896 86.9834"; + rotation = "0.989861 0.107403 0.0929542 182.018"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-136.552 -154.29 81.7752"; + rotation = "0.243839 0.371453 -0.89586 90.3434"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "328.448 -8.28961 88.044"; + rotation = "0.239238 0.388368 -0.889908 87.398"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-184.552 -183.29 78.8473"; + rotation = "0 0 1 4.39818"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-168.552 -591.29 79.7512"; + rotation = "0.988835 0.116597 0.092788 182.117"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-153.552 -360.29 78.4604"; + rotation = "0.999271 0.0135914 -0.0356654 194.296"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-316.552 -412.29 101.304"; + rotation = "0.452976 0.891313 0.0193158 176.546"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-115.552 -606.29 79.7615"; + rotation = "0.0752005 -0.73976 0.668655 91.6113"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "79.4481 -384.29 76.7114"; + rotation = "0 0 1 5.23602"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "206.448 -550.29 62.2843"; + rotation = "0.241347 0.380667 -0.892661 88.7202"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-211.552 -154.29 77.1515"; + rotation = "0.0837208 -0.730555 0.677702 92.3545"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-421.552 -456.29 80.9903"; + rotation = "0.242509 0.376386 -0.89416 89.4669"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "257.448 -544.29 58.5275"; + rotation = "0.998605 0.0348441 0.0396691 82.6692"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-321.552 -74.2896 87.1754"; + rotation = "0.485257 0.874182 0.0182014 176.468"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-270.552 -290.29 86.1055"; + rotation = "0.988006 0.123523 0.0926574 182.191"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "181.448 -362.29 70.8082"; + rotation = "0.0943561 -0.718645 0.688946 93.3245"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-274.552 -651.29 78.1645"; + rotation = "0.998519 0.0359071 0.0408793 82.6744"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-36.5519 -796.29 74.767"; + rotation = "0.23969 0.386724 -0.890502 87.6775"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-195.552 -347.29 60.1562"; + rotation = "0.999377 0.0232929 0.0265183 82.6257"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-166.552 -747.29 57.9329"; + rotation = "0.0951297 -0.71776 0.689762 93.3968"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.552 -504.29 68.4224"; + rotation = "0 0 1 3.94438"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-195.552 -410.29 78.5788"; + rotation = "0.489115 0.872032 0.018065 176.458"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-457.552 -354.29 65.1509"; + rotation = "0.985934 0.139311 0.0923424 182.361"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "257.448 -117.29 68.2561"; + rotation = "0.999414 0.00171936 -0.0341748 194.344"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "150.448 -82.2896 55.1644"; + rotation = "0 0 1 3.8747"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Gehenna.mis b/public/base/@vl2/missions.vl2/missions/Gehenna.mis new file mode 100644 index 00000000..e794050a --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Gehenna.mis @@ -0,0 +1,1321 @@ +// MissionTypes = Hunters TeamHunters + +//--- MISSION QUOTE BEGIN --- +//Be patient and the enemy shall consume himself. +// -- Diamond Sword saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters TeamHunters]Nexus located over a caldera atop the central mountain +//Five towers with inventory stations +//Map is large; placing sensors helps you find 'prey' +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Hunters_timeLimit = "25"; + cdTrack = "3"; + musicTrack = "volcanic"; + Team_Hunters_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-432 -656 992 1200"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Gehenna.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + scale = "1 1 1"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + GraphFile = "Gehenna.nav"; + }; + new Sky(Sky) { + position = "-536 -1136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.330000 0.310000 1.000000"; + fogDistance = "200"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + cloudSpeed0 = "0.001000 0.001000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "63.0383 -4.39411 233.976"; + rotation = "0.0721507 -0.188367 0.979445 138.872"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-84.5914 421.049 91.8946"; + rotation = "0 0 1 105.997"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "130.246 -468.535 82"; + rotation = "0 0 -1 66.6458"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "263.084 -4.95393 156.603"; + rotation = "0.256543 -0.0627804 0.964492 28.474"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "295.144 371.862 61.7032"; + rotation = "0 0 1 130.061"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "TeamHunters"; + locked = "true"; + }; + new SpawnSphere() { + position = "-187.403 234.596 75.6892"; + rotation = "0 0 -1 6.87539"; + scale = "1 1 0.809626"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "TeamHunters"; + locked = "true"; + }; + new SpawnSphere() { + position = "476.171 261.308 125.662"; + rotation = "0 0 1 130.061"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new SpawnSphere() { + position = "260.282 -209.274 112.446"; + rotation = "0 0 1 130.061"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new SpawnSphere() { + position = "-214.629 -99.2604 91.5018"; + rotation = "0 0 1 130.061"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "Hunters"; + locked = "true"; + }; + }; + }; + new SimGroup(team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-302.462 -459.008 101.225"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "TeamHunters"; + locked = "true"; + }; + new SpawnSphere() { + position = "277.523 -563.635 61.3461"; + rotation = "0 0 -1 118.602"; + scale = "1 1 1.0302"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + missionTypesList = "TeamHunters"; + locked = "true"; + }; + }; + }; + new InteriorInstance() { + position = "89.8795 -58.7261 205.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new InteriorInstance() { + position = "108.28 -28.7261 185.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new InteriorInstance() { + position = "105.28 -88.7261 185.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new InteriorInstance() { + position = "59.8795 -58.7261 185.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new Item(Nexus) { + position = "89.7978 -58.6047 205.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + flashThreadDir = "1"; + }; + new WayPoint() { + position = "89.5709 -58.3712 207.01"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "The Nexus"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Nexus"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new Trigger(NexusTrigger) { + position = "79.4439 -49.5435 192.34"; + rotation = "1 0 0 0"; + scale = "20.8041 18.1619 27.2131"; + dataBlock = "gameTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -0.0000000 1.0000000 -0.0000000 -1.0000000 -0.0000000"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new SimGroup(team0) { + providesPower = "1"; + + new ForceFieldBare(FORCEFIELD) { + position = "226.007 -10.4838 140.044"; + rotation = "1 0 0 0"; + scale = "9.55232 8.42736 1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(FORCEFIELD) { + position = "-90.0292 -116.684 183.242"; + rotation = "1 0 0 0"; + scale = "9.55232 8.42736 1"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "317.046 178.658 63.1775"; + rotation = "0 0 1 236.632"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + }; + new InteriorInstance() { + position = "403.563 -193.869 62.0471"; + rotation = "0 0 -1 67.2186"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + }; + new InteriorInstance() { + position = "60.3802 -471.803 62.1601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + }; + new InteriorInstance() { + position = "-321.842 -219.391 63.4496"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + }; + new InteriorInstance() { + position = "-22.2284 433.339 62.9738"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + }; + new StaticShape() { + position = "328.76 178.09 75.2046"; + rotation = "0 0 1 146.677"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "341.11 184.407 -975.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "328.19 176.965 63.1608"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new StaticShape() { + position = "409.846 -203.678 74.0342"; + rotation = "0 0 1 202.254"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "411.481 -188.392 62.19"; + rotation = "1 0 0 23.4913"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new StaticShape() { + position = "53.7353 -481.29 74.3159"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "54.0822 -481.966 62.1909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new StaticShape() { + position = "-318.013 -208.534 75.4921"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-23.2358 444.902 75.027"; + rotation = "0 0 1 48.1285"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-30.7756 433.268 62.9963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "89.8302 -58.6331 214.41"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + }; + new StaticShape() { + position = "89.798 -58.6039 207.694"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "89.798 -58.604 213.681"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + new WaterBlock() { + position = "32 -176 104"; + rotation = "1 0 0 0"; + scale = "128 192 60.1947"; + liquidType = "HotLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 -53.939"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "HotLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "255.071 -6.39306 145.357"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + }; + new Item() { + position = "252.194 -0.407294 153.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "250.147 -0.328957 146.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "250.024 -12.6038 146.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "249.957 -6.38556 146.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-104.619 -112.469 189.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-104.696 -106.251 189.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-104.799 -118.526 189.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-106.847 -118.451 196.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-109.733 -112.469 188.244"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + }; + new Item() { + position = "-77.5577 -112.477 174.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "114.043 -77.2696 164.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-364.125 -260.35 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-400.02 -307.144 57.6838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-306.298 -290.943 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-184.146 -323.668 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-191.541 -411.98 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-99.4573 -427.632 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-9.37299 -430.891 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "109.627 -439.494 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "216.808 -438.303 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "333.229 -339.579 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "272.889 -404.248 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "434.22 -94.4922 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "398.99 10.4169 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "357.667 108.201 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "253.956 210.274 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "146.248 239.021 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "45.7413 298.319 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "33.8775 476.222 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "0.0836792 381.294 56.9417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "121.975 362.152 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "157.424 496.789 56.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "376.411 -249.19 64.9593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-221.213 -168.032 63.135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "375.548 -249.364 63.0611"; + rotation = "0.0997732 -0.306194 0.946726 37.9855"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-220.805 -168.409 61.7899"; + rotation = "0 0 1 36.6693"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1DSPlant16) { + + new TSStatic() { + position = "-128.284 -185.398 92.2261"; + rotation = "-0.292649 0.152343 0.944006 57.7486"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "25.3474 228.305 56.0699"; + rotation = "0.232142 0.21504 0.948614 97.3866"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "382.455 -153.494 60.5687"; + rotation = "0 0 1 104.281"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "265.258 -307.153 70.4047"; + rotation = "-0.164237 -0.0135418 0.986328 170.701"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "11.7206 -312.004 135.541"; + rotation = "-0.123841 0.115483 -0.985559 94.8309"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3DSPlant18) { + + new TSStatic() { + position = "368.844 164.703 51.1463"; + rotation = "-0.320194 -0.225772 0.920056 126.791"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "295.118 -137.98 81.4841"; + rotation = "0.0934351 -0.158621 0.982909 119.86"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "98.8019 56.4712 207.62"; + rotation = "-0.214234 -0.279195 0.936031 78.6877"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 -180 173.313"; + rotation = "0 0 -1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 180 60.4468"; + rotation = "0 0 -1 7.00012"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4DSPlant19) { + + new TSStatic() { + position = "-188 -292 58.2156"; + rotation = "0 0 1 166"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "332 156 58.8593"; + rotation = "0 0 -1 29.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "229.591 262.609 50.1644"; + rotation = "0.263624 -0.152203 0.952542 237.617"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + locked = "true"; + }; + }; + }; + new Lightning() { + position = "76.2095 -63.7231 368.643"; + rotation = "1 0 0 0"; + scale = "1057.22 1334.77 375.171"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "15"; + strikeWidth = "5"; + chanceToHitTarget = "0.9"; + strikeRadius = "30"; + boltStartRadius = "20"; + color = "0.900000 0.300000 0.300000 1.000000"; + fadeColor = "0.300000 0.100000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/IceBound.mis b/public/base/@vl2/missions.vl2/missions/IceBound.mis new file mode 100644 index 00000000..f5dc13cc --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/IceBound.mis @@ -0,0 +1,2672 @@ +// DisplayName = Icebound +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Give them great meals of beef and iron and steel, they will eat like wolves and fight like devils. +// -- William Shakespeare, Henry V +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Defenders' power provided by generators located deep within one of their bases +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "5"; + powerCount = "0"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-608 -720 1216 1440"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + high_visibleDistance = "750"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "100"; + high_fogDistance = "50"; + fogColor = "0.500000 0.500000 0.570000 1.000000"; + fogVolume1 = "600 0 250"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + high_fogVolume1 = "750 0 100"; + high_fogVolume2 = "700 100 250"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 4216686175807421430000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -6202843637937751620000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000500 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "IceBound.ter"; + squareSize = "8"; + emptySquares = "294993 426320 426576 426832 427088 361808 299197 1020338 1020594 1020850 1021106 1021362 431794 300978 301234 301490 172737 304064 304320 435646 435902 1025973 1026229 1026485 1026741 306101 633787"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + position = "0 0 0 1"; + locked = "true"; + conjoinBowlDev = "20"; + GraphFile = "IceBound.nav"; + }; + new WaterBlock(Water) { + position = "-184 -584 -0"; + rotation = "1 0 0 0"; + scale = "608 608 72"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.5"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0"; + removeWetEdges = "1"; + locked = "true"; + AudioEnvironment = Underwater; + }; + new WaterBlock(Water) { + position = "-504 40 0"; + rotation = "1 0 0 0"; + scale = "608 704 72"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.5"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0"; + removeWetEdges = "1"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-229.216 3.484 106.421"; + rotation = "0.00961484 0.00999937 -0.999904 92.2517"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "394.718 369.08 163.069"; + rotation = "0.0446758 -0.134456 0.989912 143.586"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "582.693 174.337 102.248"; + rotation = "0.113058 0.0595796 -0.9918 55.9669"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "472.482 240.071 82.2774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "417.78 204 70.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "528 282.6 70.5"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team2generatorLarge1) { + position = "444.673 214.235 47.5003"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Compound"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge2) { + position = "444.673 206.305 47.5003"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Compound"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "412.455 189.482 168.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Compound"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(switchBase) { + + new StaticShape(Team0flipflop1) { + position = "511.344 288.616 45.4942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new ForceFieldBare() { + position = "506.928 283.603 45.4741"; + rotation = "1 0 0 0"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "506.957 293.483 45.4312"; + rotation = "1 0 0 0"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "526.277 344.6 47.5"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "C-Base Dais"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "531 344.6 47.5"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "C-Base Dais"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "479.648 320.84 68.4988"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Upper C-Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "474.356 348.195 68.499"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Upper C-Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "540.355 332.247 68.4993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Upper C-Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "447.413 298.446 57.4893"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "C-Base Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory7) { + position = "442.69 298.446 57.4893"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "C-Base Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "528.109 297.832 137.156"; + rotation = "1 0 0 67.6547"; + scale = "1 1 1"; + nameTag = "C-Base Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new ForceFieldBare() { + position = "494.884 266.619 45.4373"; + rotation = "0 0 1 90"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "486.871 266.749 45.3442"; + rotation = "0 0 1 90"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "444.852 308.478 57.2996"; + rotation = "1 0 0 0"; + scale = "10.3921 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "456.89 303.16 57.4493"; + rotation = "0 0 1 90"; + scale = "10.3921 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "469.857 306.496 45.4256"; + rotation = "1 0 0 0"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "469.95 290.4 45.4912"; + rotation = "1 0 0 0"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "521.875 329.437 45.4572"; + rotation = "1 0 0 0"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "521.953 323.459 45.3926"; + rotation = "1 0 0 0"; + scale = "9.25262 0.15 10.154"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + }; + new Turret(Team2TurretBaseLarge1) { + position = "499.156 171.6 78.3776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "P-Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new ForceFieldBare() { + position = "522.937 288.549 167.523"; + rotation = "1 0 0 0"; + scale = "6.1 4.1 0.9"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new Item() { + position = "503.051 304.553 89.2088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "442.851 182.274 89.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(powerBase) { + + new StaticShape(Team2StationInventory8) { + position = "467.715 137.356 68.5196"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Upper P-Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "469.292 168.643 68.4932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Upper P-Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory10) { + position = "420.5 138.352 47.4961"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "P-Base Dais"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory11) { + position = "410.136 145.956 47.4885"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "P-Base Dias"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory12) { + position = "429.426 200.872 125.502"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "P-Base Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory13) { + position = "406.125 201.072 125.497"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "P-Base Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory14) { + position = "428.343 190.36 68.4942"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "P-Base Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory15) { + position = "428.297 205.646 68.4966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "P-Base Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory16) { + position = "441.893 183.632 79.4993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "P-Base Mid"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "446.536 314.891 78.4985"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "C-Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + originalBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "534.516 298.511 168.487"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "C-Base Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + originalBarrel = "AABarrelLarge"; + locked = "true"; + }; + }; + new ForceFieldBare() { + position = "489.335 138.004 70.3142"; + rotation = "1 0 0 0"; + scale = "21 0.15 6.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "435.755 348.34 70.2864"; + rotation = "1 0 0 0"; + scale = "21 0.15 6.5"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "462.072 348.219 80.3008"; + rotation = "1 0 0 0"; + scale = "30.1 0.15 4.36464"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "454.019 138.189 80.2309"; + rotation = "1 0 0 0"; + scale = "30.1 0.15 4.36464"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "460.738 311.622 79.8614"; + rotation = "1 0 0 0"; + scale = "30.1 0.15 4.36464"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "454.767 174.786 80.0512"; + rotation = "1 0 0 0"; + scale = "30.1 0.15 4.36464"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new ForceFieldBare() { + position = "521.945 276.582 125.464"; + rotation = "1 0 0 0"; + scale = "12.3108 0.15 12.0284"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + color = "0.500000 0.500000 1.000000 1.000000"; + locked = "true"; + }; + new Turret(Team2SentryTurret2) { + position = "429.961 330.024 86.676"; + rotation = "-3.09086e-08 0.707107 -0.707107 180"; + scale = "1 1 1"; + nameTag = "C-Base Entry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "-320.461 -106.486 100.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3611"; + location = "-320.461 -106.486 100.301"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "429.991 330.355 86.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3566"; + location = "429.991 330.355 86.676"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "534.516 297.85 170.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3551"; + location = "534.516 297.85 170.239"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-306.646 -112.327 100.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3617"; + location = "-306.646 -112.327 100.301"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-370.385 30.385 122.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3620"; + location = "-370.385 30.385 122.871"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-363.523 24.39 106.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3622"; + location = "-363.523 24.39 106.865"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-363.976 -29.636 106.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-363.976 -29.636 106.377"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-364.003 -29.4751 98.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3626"; + location = "-364.003 -29.4751 98.293"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "444.214 214.241 49.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "444.214 214.241 49.005"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "444.214 214.241 49.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "444.214 214.241 49.005"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "444.214 206.311 49.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "444.214 206.311 49.005"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "444.214 206.311 49.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "444.214 206.311 49.005"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "410.675 189.5 172.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3487"; + location = "410.675 189.5 172.735"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "511.344 288.616 47.1279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "511.344 288.616 47.1279"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "511.344 288.616 47.1279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "511.344 288.616 47.1279"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "526.277 344.6 49.0658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "526.277 344.6 49.0658"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "531 344.6 49.0658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3497"; + location = "531 344.6 49.0658"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "479.648 320.84 70.0646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "479.648 320.84 70.0646"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "474.356 348.195 70.0648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "474.356 348.195 70.0648"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "540.355 332.247 70.0651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3503"; + location = "540.355 332.247 70.0651"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "447.413 298.446 59.0551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3505"; + location = "447.413 298.446 59.0551"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "442.69 298.446 59.0551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3507"; + location = "442.69 298.446 59.0551"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "528.079 297.526 137.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3509"; + location = "528.079 297.526 137.03"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "497.376 172.261 80.1291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3526"; + location = "497.376 172.261 80.1291"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "465.935 137.356 70.0854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3532"; + location = "465.935 137.356 70.0854"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "467.512 168.643 70.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3534"; + location = "467.512 168.643 70.059"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "418.72 138.352 49.0619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "418.72 138.352 49.0619"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "408.356 145.956 49.0543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3538"; + location = "408.356 145.956 49.0543"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "427.646 200.872 127.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3540"; + location = "427.646 200.872 127.068"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "404.345 201.072 127.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory13"; + targetClientId = "-1"; + targetObjectId = "3542"; + location = "404.345 201.072 127.063"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "426.563 190.36 70.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory14"; + targetClientId = "-1"; + targetObjectId = "3544"; + location = "426.563 190.36 70.06"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "426.517 205.646 70.0624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory15"; + targetClientId = "-1"; + targetObjectId = "3546"; + location = "426.517 205.646 70.0624"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "440.113 183.632 81.0651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory16"; + targetClientId = "-1"; + targetObjectId = "3548"; + location = "440.113 183.632 81.0651"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "446.537 314.23 80.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3550"; + location = "446.537 314.23 80.25"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-358.5 21.85 110.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "10"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-296.969 -76.629 96.7425"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-297.708 -79.548 96.4425"; + rotation = "0 0 1 202.918"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3609"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-318.619 -107.265 98.7353"; + rotation = "0 0 1 202.918"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new ForceFieldBare() { + position = "-372.466 18.7023 132.29"; + rotation = "0 -1 0 43.5448"; + scale = "0.25 10.3585 4.39531"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-341.118 19.8695 121.119"; + rotation = "1 0 0 0"; + scale = "0.25 8.52603 7.28607"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-304.067 -113.417 98.7353"; + rotation = "0 0 1 202.918"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-360 -24 118.307"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team1StationInventory5) { + position = "-370.385 30.385 121.305"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Upper Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "-363.523 24.39 105.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Lower Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "-363.976 -29.636 104.811"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Generator Area"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-364.009 -28.154 96.7883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "-320.461 -106.486 100.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3611"; + location = "-320.461 -106.486 100.301"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "429.991 330.355 86.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team2SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3566"; + location = "429.991 330.355 86.676"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "534.516 297.85 170.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3551"; + location = "534.516 297.85 170.239"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-306.646 -112.327 100.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3617"; + location = "-306.646 -112.327 100.301"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-370.385 30.385 122.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3620"; + location = "-370.385 30.385 122.871"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-363.523 24.39 106.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3622"; + location = "-363.523 24.39 106.865"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-363.976 -29.636 106.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-363.976 -29.636 106.377"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-364.003 -29.4751 98.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3626"; + location = "-364.003 -29.4751 98.293"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-364.003 -29.4751 98.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3626"; + location = "-364.003 -29.4751 98.293"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "444.214 214.241 49.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "444.214 214.241 49.005"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "444.214 206.311 49.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "444.214 206.311 49.005"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "410.675 189.5 172.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3487"; + location = "410.675 189.5 172.735"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "511.344 288.616 47.1279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "511.344 288.616 47.1279"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "511.344 288.616 47.1279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "511.344 288.616 47.1279"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "526.277 344.6 49.0658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "526.277 344.6 49.0658"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "531 344.6 49.0658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3497"; + location = "531 344.6 49.0658"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "479.648 320.84 70.0646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "479.648 320.84 70.0646"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "474.356 348.195 70.0648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "474.356 348.195 70.0648"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "540.355 332.247 70.0651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3503"; + location = "540.355 332.247 70.0651"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "447.413 298.446 59.0551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3505"; + location = "447.413 298.446 59.0551"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "442.69 298.446 59.0551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3507"; + location = "442.69 298.446 59.0551"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "528.079 297.526 137.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3509"; + location = "528.079 297.526 137.03"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "497.376 172.261 80.1291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3526"; + location = "497.376 172.261 80.1291"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "465.935 137.356 70.0854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3532"; + location = "465.935 137.356 70.0854"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "467.512 168.643 70.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3534"; + location = "467.512 168.643 70.059"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "418.72 138.352 49.0619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "418.72 138.352 49.0619"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "408.356 145.956 49.0543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3538"; + location = "408.356 145.956 49.0543"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "427.646 200.872 127.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3540"; + location = "427.646 200.872 127.068"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "404.345 201.072 127.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory13"; + targetClientId = "-1"; + targetObjectId = "3542"; + location = "404.345 201.072 127.063"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "426.563 190.36 70.06"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory14"; + targetClientId = "-1"; + targetObjectId = "3544"; + location = "426.563 190.36 70.06"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "426.517 205.646 70.0624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory15"; + targetClientId = "-1"; + targetObjectId = "3546"; + location = "426.517 205.646 70.0624"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "440.113 183.632 81.0651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory16"; + targetClientId = "-1"; + targetObjectId = "3548"; + location = "440.113 183.632 81.0651"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "446.537 314.23 80.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3550"; + location = "446.537 314.23 80.25"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(team0) { + + new Item() { + position = "437.825 236.089 50.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(sounds) { + + new AudioEmitter() { + position = "440.355 -120.372 204.374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-44.599 721.208 152.389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-172.436 579.932 48.2502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-116.994 39.404 42.2907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-228.276 4.721 121.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Insalubria.mis b/public/base/@vl2/missions.vl2/missions/Insalubria.mis new file mode 100644 index 00000000..73189498 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Insalubria.mis @@ -0,0 +1,4065 @@ +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//I will inhabit their nightmares. +// -- Blood Eagle Sirdar-Prime Fury, on the Hordes. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]4 color-coded towers in mission area +//[CnH]4800 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "4"; + powerCount = "0"; + musicTrack = "badlands"; + + new MissionArea(MissionArea) { + area = "-576 -1000 1488 1600"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "40 -768 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + high_visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "225"; + high_fogDistance = "250"; + fogColor = "0.480000 0.480000 0.450000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.002702"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 306394995426410077000000000000000.000000"; + cloudSpeed0 = "0.000100 0.000500"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "40 -768 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Insalubria.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "Insalubria.nav"; + coverage = "0"; + scale = "1 1 1"; + position = "0 0 0 1"; + locked = "true"; + conjoinBowlDev = "20"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "609.593 434.296 106.128"; + rotation = "0.0192438 -0.237659 0.971158 171.007"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-393.055 -752.648 133.879"; + rotation = "0.325191 -0.113206 0.938848 40.6892"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "407.562 -338.582 92.2044"; + rotation = "-0.0133336 -0.0848902 0.996301 197.788"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "91.1322 -269.839 85.7978"; + rotation = "0.116465 0.0347547 -0.992587 33.4659"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "272.503 -45.4171 86"; + rotation = "-0.00322867 -0.104807 0.994487 183.51"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(team0) { + + new SimGroup(Red) { + providesPower = "1"; + + new StaticShape(Team0StationInventory1) { + position = "248.708 -201.192 61.4732"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Red Rath"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "257.234 -201.181 61.4703"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Red Rath"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0FlipFlop1) { + position = "252.953 -201.187 52.8987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Red Rath"; + locked = "true"; + }; + new InteriorInstance() { + position = "252.955 -193.723 58.6693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "238.88 -162.983 48.2803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new WayPoint() { + position = "252.953 -201.187 52.8987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Red Rath"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "169 -165.97 52.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "169 -130.245 52.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge1) { + position = "169.542 -130.272 62.2786"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Red Rath West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge2) { + position = "169.644 -165.996 62.2785"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Red Rath West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Item() { + position = "252.872 -190.886 60.0404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "287.503 -95.9769 62.4361"; + rotation = "0 0 1 130.634"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "249.017 -62.9506 62.4361"; + rotation = "0 0 1 130.634"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge3) { + position = "287.184 -96.3964 72.4171"; + rotation = "0 0 1 40.1074"; + scale = "1 1 1"; + nameTag = "Red Rath NE"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge4) { + position = "248.556 -63.4222 72.4258"; + rotation = "0 0 1 40.1074"; + scale = "1 1 1"; + nameTag = "Red Rath NE"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape() { + position = "239.043 -163.006 58.1067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holoHeight = "15"; + }; + }; + new SimGroup(Green) { + providesPower = "1"; + + new Item() { + position = "168.568 -482.564 59.2949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new WayPoint() { + position = "175.109 -490.523 52.1532"; + rotation = "-0 0 -1 38.9611"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Green Garrison"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "170.417 -484.718 57.9238"; + rotation = "-0 0 -1 38.9611"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0FlipFlop2) { + position = "175.109 -490.523 52.1532"; + rotation = "-0 0 -1 38.9611"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Green Garrison"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "171.811 -493.196 60.7277"; + rotation = "0 0 1 231.039"; + scale = "1 1 1"; + nameTag = "Grn Garrison"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "178.434 -487.826 60.7248"; + rotation = "0 0 1 51.0388"; + scale = "1 1 1"; + nameTag = "Grn Garrison"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "234.257 -469.498 54.2444"; + rotation = "0 0 1 157.563"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "247.891 -502.519 54.2444"; + rotation = "0 0 1 157.563"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge5) { + position = "233.651 -469.72 64.2329"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + nameTag = "Grn Garrison NE"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge6) { + position = "247.38 -502.701 64.233"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + nameTag = "Grn Garrison NE"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new TSStatic() { + position = "206.736 -495.646 50.2432"; + rotation = "0 0 1 40.1071"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "162.972 -594.499 57.8994"; + rotation = "-0 0 -1 58.6246"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "132.472 -575.899 57.8994"; + rotation = "-0 0 -1 58.6246"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge7) { + position = "163.331 -593.962 67.8879"; + rotation = "0 0 1 211.421"; + scale = "1 1 1"; + nameTag = "Grn Garrison SW"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge8) { + position = "132.777 -575.45 67.888"; + rotation = "0 0 1 211.421"; + scale = "1 1 1"; + nameTag = "Grn Garrison SW"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape() { + position = "178.207 -518.084 59.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holoHeight = "15"; + }; + new InteriorInstance() { + position = "178.044 -518.061 49.4416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "204.34 -491.758 50.1361"; + rotation = "0 0 -1 7.44841"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "206.542 -491.768 52.1632"; + rotation = "-0.0143679 -0.287119 0.957787 5.98175"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "208.539 -493.058 50.0603"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + }; + new SimGroup(Orange) { + providesPower = "1"; + + new WayPoint() { + position = "-12.6712 -67.8323 51.6512"; + rotation = "0 0 1 48.7015"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Orange Outwork"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "6.11508 -89.987 46.7575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-7.06244 -62.9074 57.4218"; + rotation = "0 0 1 48.7015"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0FlipFlop3) { + position = "-12.6712 -67.8323 51.6512"; + rotation = "0 0 1 48.7015"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Orange Outwork"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge9) { + position = "1.07743 -174.961 62.5418"; + rotation = "0 0 1 127.379"; + scale = "1 1 1"; + nameTag = "Or Outwork SE"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "-15.4765 -64.646 60.2257"; + rotation = "-0 0 -1 41.2985"; + scale = "1 1 1"; + nameTag = "Or Outwork"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge10) { + position = "22.6612 -146.495 62.5417"; + rotation = "0 0 1 127.379"; + scale = "1 1 1"; + nameTag = "Or Outwork SE"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-9.84089 -71.0445 60.2228"; + rotation = "0 0 1 138.701"; + scale = "1 1 1"; + nameTag = "Or Outwork"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-4.98564 -60.9721 58.7929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-83.3104 -161.911 50.3657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-83.3104 -126.186 50.3657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge11) { + position = "-82.6664 -161.937 60.3543"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Or Outwork West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge12) { + position = "-82.7684 -126.213 60.3544"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Or Outwork West"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "23.1576 -146.906 52.5532"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "1.49195 -175.312 52.5532"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "6.27808 -90.01 56.5839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holoHeight = "15"; + }; + }; + new SimGroup(Blue) { + providesPower = "1"; + + new WayPoint() { + position = "427.113 -510.85 71.7485"; + rotation = "-0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Blue Bastion"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "415.822 -477.415 58.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "425.632 -503.534 77.5191"; + rotation = "-0 0 -1 11.4591"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0FlipFlop4) { + position = "427.113 -510.85 71.7485"; + rotation = "-0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Blue Bastion"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge13) { + position = "426.033 -387.755 63.229"; + rotation = "-0 0 -1 42.9719"; + scale = "1 1 1"; + nameTag = "Blue Bastion NW"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team0StationInventory7) { + position = "422.953 -511.698 80.3229"; + rotation = "0 0 -1 101.459"; + scale = "1 1 1"; + nameTag = "Blue Bastion"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge14) { + position = "399.983 -412.201 63.2289"; + rotation = "-0 0 -1 42.9719"; + scale = "1 1 1"; + nameTag = "Blue Bastion NW"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team0StationInventory8) { + position = "431.308 -509.993 80.32"; + rotation = "0 0 1 78.5407"; + scale = "1 1 1"; + nameTag = "Blue Bastion"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "424.987 -500.77 78.8901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "399.563 -411.712 53.2404"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "425.683 -387.34 53.2404"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "390.317 -510.938 64.3444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "308.384 -576.176 96.5369"; + rotation = "0 0 -1 13.1781"; + scale = "1 2.30461 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "415.985 -477.438 67.9034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holoHeight = "15"; + }; + new TSStatic() { + position = "386.145 -508.677 64.0332"; + rotation = "0 0 1 84.7977"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "388.99 -508.442 65.7017"; + rotation = "0 -1 0 34.3775"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + }; + }; + new SimGroup(Team2) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-241.053 -637.641 96.7366"; + rotation = "0 0 -1 105.997"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(BaseTower) { + + new StaticShape(Team2StationInventory1) { + position = "-242.217 -629.712 105.247"; + rotation = "0 0 1 13.7968"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-245.831 -643.968 105.247"; + rotation = "0 0 1 193.797"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-246.815 -636.119 91.7366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-241.053 -637.641 87.3725"; + rotation = "-0 0 -1 76.2034"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new WayPoint() { + position = "-241.053 -637.641 87.3725"; + rotation = "-0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-244.248 -623.301 80.8621"; + rotation = "0 0 1 13.7968"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-249.463 -647.336 91.8761"; + rotation = "-0 0 -1 76.2034"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-250.544 -648.84 80.8665"; + rotation = "0 0 1 193.797"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-243.993 -625.152 91.877"; + rotation = "-0 0 -1 76.2034"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + }; + new StaticShape(Team2StationInventory5) { + position = "-276.47 -665.066 71.7275"; + rotation = "0 0 1 45.0456"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "-276.572 -696.35 71.7225"; + rotation = "0 0 1 135.046"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-312.123 -680.678 69.734"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-301.123 -680.678 69.434"; + rotation = "0 0 1 90.0456"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3593"; + locked = "true"; + }; + new TSStatic() { + position = "-309.748 -699.02 50.8605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-311.001 -702.826 50.6828"; + rotation = "0 0 1 12.605"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-310.746 -701.306 53.7872"; + rotation = "-1 0 0 4.58367"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-316.723 -696.208 51.5006"; + rotation = "-0.179593 -0.0526939 0.982329 58.6496"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-172.26 -658.017 122.553"; + rotation = "0 0 1 127.197"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "-172.542 -658.462 132.528"; + rotation = "0 0 1 37.1966"; + scale = "1 1 1"; + nameTag = "Hilltop"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new SimGroup(grp5) { + + new AIObjective(AIORepairObject) { + position = "431.308 -509.993 81.8858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3558"; + location = "431.308 -509.993 81.8858"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "399.533 -411.717 64.9804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge14"; + targetClientId = "-1"; + targetObjectId = "3557"; + location = "399.533 -411.717 64.9804"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "425.583 -387.271 64.9805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge13"; + targetClientId = "-1"; + targetObjectId = "3554"; + location = "425.583 -387.271 64.9805"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "427.113 -510.85 73.3822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop4"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop4"; + targetClientId = "-1"; + targetObjectId = "3553"; + location = "427.113 -510.85 73.3822"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "427.113 -510.85 73.3822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop4"; + targetClientId = "-1"; + targetObjectId = "3553"; + location = "427.113 -510.85 73.3822"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "424.775 -522.63 77.2396"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "424.775 -522.63 77.2396"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "419.195 -508.656 75.996"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "419.195 -508.656 75.996"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "430.571 -510.085 79.7152"; + rotation = "-1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "430.571 -510.085 79.7152"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "418.972 -484.437 65.1499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "418.972 -484.437 65.1499"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "408.322 -532.494 65.9261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "408.322 -532.494 65.9261"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3602"; + isInvalid = "0"; + }; + }; + new SimGroup(grp8) { + + new AIObjective(AIODeployEquipment) { + position = "203.001 -494.735 50.207"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "203.001 -494.735 50.207"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "141.181 -472.359 52.0886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "141.181 -472.359 52.0886"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "177.281 -499.591 69.8078"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "177.281 -499.591 69.8078"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "180.268 -486.555 55.789"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "180.268 -486.555 55.789"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "164.503 -484.759 57.8043"; + rotation = "0 0 -1 36.0963"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "164.503 -484.759 57.8043"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "132.432 -576.014 69.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge8"; + targetClientId = "-1"; + targetObjectId = "3521"; + location = "132.432 -576.014 69.6395"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "162.986 -594.526 69.6394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge7"; + targetClientId = "-1"; + targetObjectId = "3520"; + location = "162.986 -594.526 69.6394"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "247.991 -502.449 65.9845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3516"; + location = "247.991 -502.449 65.9845"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "234.262 -469.468 65.9844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3515"; + location = "234.262 -469.468 65.9844"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "178.434 -487.826 62.2906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3511"; + location = "178.434 -487.826 62.2906"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "175.109 -490.523 53.7869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop2"; + targetClientId = "-1"; + targetObjectId = "3508"; + location = "175.109 -490.523 53.7869"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "175.109 -490.523 53.7869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop2"; + targetClientId = "-1"; + targetObjectId = "3508"; + location = "175.109 -490.523 53.7869"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + isInvalid = "0"; + }; + }; + new AIObjective(AIORepairObject) { + position = "-250.544 -648.84 82.4323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3584"; + location = "-250.544 -648.84 82.4323"; + weightLevel1 = "2850"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new SimGroup(grp6) { + + new AIObjective(AIODeployEquipment) { + position = "259.454 -201.161 58.777"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "259.454 -201.161 58.777"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "246.45 -201.167 58.5704"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "246.45 -201.167 58.5704"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "257.856 -187.451 68.6284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "257.856 -187.451 68.6284"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "257.845 -214.86 68.6444"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "257.845 -214.86 68.6444"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "224.096 -201.396 52.5064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "224.096 -201.396 52.5064"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "242.26 -150.912 51.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "242.26 -150.912 51.821"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "248.982 -62.9168 74.1773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3502"; + location = "248.982 -62.9168 74.1773"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "287.61 -95.891 74.1686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "287.61 -95.891 74.1686"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "168.983 -165.995 64.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3497"; + location = "168.983 -165.995 64.03"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "168.881 -130.271 64.0301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3496"; + location = "168.881 -130.271 64.0301"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "252.953 -201.187 54.5324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "252.953 -201.187 54.5324"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "252.953 -201.187 54.5324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "252.953 -201.187 54.5324"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "257.234 -201.181 63.0361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3488"; + location = "257.234 -201.181 63.0361"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3627"; + isInvalid = "0"; + }; + }; + new SimGroup(grp7) { + + new AIObjective(AIODeployEquipment) { + position = "-18.3528 -79.1443 54.6532"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-18.3528 -79.1443 54.6532"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-7.02179 -56.3843 53.4228"; + rotation = "0 0 1 232.803"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-7.02179 -56.3843 53.4228"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "10.8613 -85.727 51.4821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "10.8613 -85.727 51.4821"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-83.4293 -126.212 62.1059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge12"; + targetClientId = "-1"; + targetObjectId = "3543"; + location = "-83.4293 -126.212 62.1059"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-83.3273 -161.936 62.1058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge11"; + targetClientId = "-1"; + targetObjectId = "3542"; + location = "-83.3273 -161.936 62.1058"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-9.84089 -71.0445 61.7886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3537"; + location = "-9.84089 -71.0445 61.7886"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "23.1863 -146.896 64.2932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge10"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "23.1863 -146.896 64.2932"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "1.60257 -175.362 64.2933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge9"; + targetClientId = "-1"; + targetObjectId = "3533"; + location = "1.60257 -175.362 64.2933"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-12.6712 -67.8323 53.2849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop3"; + targetClientId = "-1"; + targetObjectId = "3532"; + location = "-12.6712 -67.8323 53.2849"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-12.6712 -67.8323 53.2849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop3"; + targetClientId = "-1"; + targetObjectId = "3532"; + location = "-12.6712 -67.8323 53.2849"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3641"; + isInvalid = "0"; + }; + }; + }; + }; + new SimGroup(Team1) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "602.375 332.008 84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge) { + + new InteriorInstance() { + position = "724.218 142.836 52.1419"; + rotation = "0 0 1 38.9612"; + scale = "1 1 1"; + interiorFile = "bbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "704.412 118.343 52.1419"; + rotation = "0 0 1 38.9612"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "714.472 130.784 52.1419"; + rotation = "0 0 1 38.9612"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "694.665 106.29 52.1419"; + rotation = "0 0 1 218.961"; + scale = "1 1 1"; + interiorFile = "bbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "529.834 284.514 155.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "669.774 344.343 60.1714"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "654.134 379.984 58.1779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "654.134 368.984 57.8779"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3665"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "638.49 344.42 60.1664"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(BaseTower) { + + new InteriorInstance() { + position = "602.375 332.008 74.6359"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new WayPoint() { + position = "602.375 332.008 74.6359"; + rotation = "-0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "595.373 342.765 79.1395"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "615.191 331.393 79.1404"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "610.318 330.942 92.5107"; + rotation = "0 0 1 119.794"; + scale = "1 1 1"; + nameTag = "Main Base Top"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "597.61 338.345 92.5103"; + rotation = "-0 0 -1 60.2062"; + scale = "1 1 1"; + nameTag = "Main Base Top"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "594.225 344.218 68.1299"; + rotation = "-0 0 -1 60.2062"; + scale = "1 1 1"; + nameTag = "Main Base Bottom"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "617.04 331.128 68.1255"; + rotation = "0 0 1 119.794"; + scale = "1 1 1"; + nameTag = "Main Base Bottom"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "605.426 337.128 79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + new Turret(Team1TurretBaseLarge3) { + position = "530.359 284.558 165.909"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Hilltop"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new SimGroup(grp1) { + + new AIObjective(AIOTouchObject) { + position = "427.113 -510.85 73.3822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop4"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop4"; + targetClientId = "-1"; + targetObjectId = "3553"; + location = "427.113 -510.85 73.3822"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "431.308 -509.993 81.8858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3558"; + location = "431.308 -509.993 81.8858"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "425.583 -387.271 64.9805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge13"; + targetClientId = "-1"; + targetObjectId = "3554"; + location = "425.583 -387.271 64.9805"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "399.533 -411.717 64.9804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge14"; + targetClientId = "-1"; + targetObjectId = "3557"; + location = "399.533 -411.717 64.9804"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "427.113 -510.85 73.3822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop4"; + targetClientId = "-1"; + targetObjectId = "3553"; + location = "427.113 -510.85 73.3822"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "424.775 -522.63 77.2396"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "424.775 -522.63 77.2396"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "419.195 -508.656 75.996"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "419.195 -508.656 75.996"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "430.571 -510.085 79.7152"; + rotation = "-1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "430.571 -510.085 79.7152"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "418.972 -484.437 65.1499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "418.972 -484.437 65.1499"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "408.322 -532.494 65.9261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "408.322 -532.494 65.9261"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3685"; + isInvalid = "0"; + }; + }; + new AIObjective(AIORepairObject) { + position = "594.225 344.218 69.6957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3678"; + location = "594.225 344.218 69.6957"; + weightLevel1 = "2850"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new SimGroup(grp4) { + + new AIObjective(AIORepairObject) { + position = "234.262 -469.468 65.9844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3515"; + location = "234.262 -469.468 65.9844"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "132.432 -576.014 69.6395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge8"; + targetClientId = "-1"; + targetObjectId = "3521"; + location = "132.432 -576.014 69.6395"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "175.109 -490.523 53.7869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop2"; + targetClientId = "-1"; + targetObjectId = "3508"; + location = "175.109 -490.523 53.7869"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "162.986 -594.526 69.6394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge7"; + targetClientId = "-1"; + targetObjectId = "3520"; + location = "162.986 -594.526 69.6394"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "178.434 -487.826 62.2906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3511"; + location = "178.434 -487.826 62.2906"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "247.991 -502.449 65.9845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3516"; + location = "247.991 -502.449 65.9845"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "175.109 -490.523 53.7869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop2"; + targetClientId = "-1"; + targetObjectId = "3508"; + location = "175.109 -490.523 53.7869"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "203.001 -494.735 50.207"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "203.001 -494.735 50.207"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "141.181 -472.359 52.0886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "141.181 -472.359 52.0886"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "177.281 -499.591 69.8078"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "177.281 -499.591 69.8078"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "180.268 -486.555 55.789"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "180.268 -486.555 55.789"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "164.503 -484.759 57.8043"; + rotation = "0 0 -1 36.0963"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "164.503 -484.759 57.8043"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3697"; + isInvalid = "0"; + }; + }; + new SimGroup(grp2) { + + new AIObjective(AIORepairObject) { + position = "168.881 -130.271 64.0301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3496"; + location = "168.881 -130.271 64.0301"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "248.982 -62.9168 74.1773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3502"; + location = "248.982 -62.9168 74.1773"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "252.953 -201.187 54.5324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "252.953 -201.187 54.5324"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "287.61 -95.891 74.1686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "287.61 -95.891 74.1686"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "257.234 -201.181 63.0361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3488"; + location = "257.234 -201.181 63.0361"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "168.983 -165.995 64.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3497"; + location = "168.983 -165.995 64.03"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "252.953 -201.187 54.5324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "252.953 -201.187 54.5324"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "259.454 -201.161 58.777"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "259.454 -201.161 58.777"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "246.45 -201.167 58.5704"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "246.45 -201.167 58.5704"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "257.856 -187.451 68.6284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "257.856 -187.451 68.6284"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "257.845 -214.86 68.6444"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "257.845 -214.86 68.6444"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "224.096 -201.396 52.5064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "224.096 -201.396 52.5064"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "242.26 -150.912 51.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "242.26 -150.912 51.821"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3710"; + isInvalid = "0"; + }; + }; + new SimGroup(grp3) { + + new AIObjective(AIOTouchObject) { + position = "-12.6712 -67.8323 53.2849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0FlipFlop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0FlipFlop3"; + targetClientId = "-1"; + targetObjectId = "3532"; + location = "-12.6712 -67.8323 53.2849"; + weightLevel1 = "4150"; + weightLevel2 = "4150"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-83.4293 -126.212 62.1059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge12"; + targetClientId = "-1"; + targetObjectId = "3543"; + location = "-83.4293 -126.212 62.1059"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-12.6712 -67.8323 53.2849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team0FlipFlop3"; + targetClientId = "-1"; + targetObjectId = "3532"; + location = "-12.6712 -67.8323 53.2849"; + weightLevel1 = "3500"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-83.3273 -161.936 62.1058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge11"; + targetClientId = "-1"; + targetObjectId = "3542"; + location = "-83.3273 -161.936 62.1058"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "23.1863 -146.896 64.2932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge10"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "23.1863 -146.896 64.2932"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-9.84089 -71.0445 61.7886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3537"; + location = "-9.84089 -71.0445 61.7886"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "1.60257 -175.362 64.2933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge9"; + targetClientId = "-1"; + targetObjectId = "3533"; + location = "1.60257 -175.362 64.2933"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-18.3528 -79.1443 54.6532"; + rotation = "0 0 1 46.9825"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-18.3528 -79.1443 54.6532"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-7.02179 -56.3843 53.4228"; + rotation = "0 0 1 232.803"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-7.02179 -56.3843 53.4228"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "10.8613 -85.727 51.4821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "10.8613 -85.727 51.4821"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3724"; + isInvalid = "0"; + }; + }; + }; + }; + }; + new SimGroup(Organics) { + + new TSStatic() { + position = "331.394 -166.376 85.3343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "380.847 -227.055 121.446"; + rotation = "0 0 -1 68.7549"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "404.57 -233.1 123.697"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-77.7768 -517.893 121.383"; + rotation = "1 0 0 48.1285"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "506.919 210.068 100.406"; + rotation = "0 0 -1 33.2315"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "284.678 177.619 193.319"; + rotation = "0 0 -1 60.1606"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-69.3906 -553.209 148.263"; + rotation = "0.899673 -0.431983 0.0630802 18.4384"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-312.225 -800.358 55.3381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-228.482 90.2813 177.037"; + rotation = "0 1 0 163.293"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "132.489 -77.2851 107.348"; + rotation = "0 0 1 223.636"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "169.083 -44.438 135.77"; + rotation = "-0.247779 -0.0725931 -0.966093 33.7407"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "288.415 63.3826 134.697"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-114.126 -516.117 132.651"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-78.9978 -515.732 121.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-70.467 -526.377 124.313"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-74.2521 -514.761 122.269"; + rotation = "0.917121 0.21346 0.336636 118.929"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(audio) { + + new AudioEmitter() { + position = "718.245 132.672 47.3284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-77.4584 -516.809 122.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "158.574 -636.323 79.6718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "97.1055 -307.332 106.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "287.425 168.234 195.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "292.013 -390.663 63.0693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "150.45 -700.822 148.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-407.398 -165.161 156.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "715.699 -77.0752 156.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Invictus.mis b/public/base/@vl2/missions.vl2/missions/Invictus.mis new file mode 100644 index 00000000..4276dd58 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Invictus.mis @@ -0,0 +1,889 @@ +// MissionTypes = DM + +//--- MISSION QUOTE BEGIN --- +//I am the master of my fate, +//I am the captain of my soul. +// -- William Ernest Henley +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//No inventory stations +//Weapons bunkers scattered across the map +//Low visibility +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + cdTrack = "2"; + DM_scoreLimit = "20"; + powerCount = "0"; + DM_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-808 -432 944 768"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-832 -1272 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Invictus.ter"; + squareSize = "8"; + emptySquares = "94061"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + XDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "Invictus.nav"; + YDimOverSize = "0"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "270"; + useSkyTextures = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "235"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "120 0 80"; + fogVolume2 = "120 80 135"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 609191954011538915000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 609191954011538915000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 609191954011538915000000000.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "64.1682 182.408 115.133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-140.384 24.121 170.134"; + rotation = "0 0 1 105.997"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-129.307 -149.639 179.678"; + rotation = "0.495806 0.108272 -0.861658 28.4428"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-447.245 -257.636 126.822"; + rotation = "0.579717 0.141866 -0.802373 33.9225"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-239.27 21.3511 111.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "300"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + }; + }; + new SimGroup(team0) { + + new SimGroup(AIObjectives) { + }; + }; + new WayPoint() { + position = "-160.99 5.062 147.458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Weapons Bunker"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Towers) { + + new SimGroup(Stuff) { + + new InteriorInstance() { + position = "-312.249 -79.5131 80.2446"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-317.385 -91.3008 83.6052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-306.792 -92.0084 83.4849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-312.606 -91.6935 83.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new TSStatic() { + position = "-323.724 -54.6317 77.9097"; + rotation = "0 0 1 43.5448"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-298.483 -64.1389 80.5062"; + rotation = "0 0 1 155.272"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-149 -131 162.421"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-149.009 -134.312 163.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-170.151 9.7961 157.234"; + rotation = "0 0 1 28.0749"; + scale = "1 0.647508 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-173.223 11.381 159.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-156.015 2.4484 160.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-164.351 6.8827 159.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-166.031 3.6834 159.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-162.474 10.1829 159.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-461.241 -238.26 111.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-460.737 -238.508 113.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-456.023 -237.997 113.272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-465.757 -238.526 113.307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-419.569 122.606 85.1019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-426.09 122.479 87.5639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-412.646 125.283 87.1254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-412.317 120.013 87.0978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-418.585 111.931 88.2777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-419.762 132.721 87.6662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-425.88 -53.065 50.1181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-428.777 -55.275 50.7253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-430.966 -56.6262 50.2027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-626.852 -256.424 50.5736"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-620.967 -260.188 50.5674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-571.122 -109.471 143.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-568.992 -106.314 145.413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-10.6274 -178.623 49.0708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-14.4155 -178.5 51.8049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-641.735 192.397 62.7898"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-641.794 175.781 65.5091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new StaticShape() { + position = "-484.421 83.1763 -1213.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "33"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BELgTree19) { + + new TSStatic() { + position = "-269.471 216.664 49.9516"; + rotation = "0 0 1 237"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-142.614 171.356 49.2"; + rotation = "0 0 -1 28"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-493.614 246.356 87.8804"; + rotation = "0 0 -1 3.99996"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-762.614 268.356 52.6207"; + rotation = "0 0 1 101"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-701.614 -378.644 56.1719"; + rotation = "0 0 -1 59"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "99.548 -21.477 154.18"; + rotation = "0 0 -1 56"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-215.614 59.3559 88.4722"; + rotation = "0 0 1 36"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "17.3863 278.356 85.7625"; + rotation = "0 0 1 138"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-198.614 184.356 51.5179"; + rotation = "0 0 1 71"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-604.614 214.356 66.675"; + rotation = "0 0 1 42"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-237.794 79.021 87.7793"; + rotation = "0 0 1 233"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-583.614 305.356 51.791"; + rotation = "0 0 1 84"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "102.386 -313.644 89.6996"; + rotation = "0 0 1 48"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-711.614 -249.644 50"; + rotation = "0 0 1 95"; + scale = "0.7 0.7 0.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-412.614 75.3559 84.709"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-538.614 275.356 73.8926"; + rotation = "0 0 -1 9.00004"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-484.614 -409.644 58.1226"; + rotation = "0 0 1 129"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-700.105 245.7 49.2"; + rotation = "0 0 1 215"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "128.386 221.356 92.1934"; + rotation = "0 0 1 45"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BESmTree17) { + + new TSStatic() { + position = "-131.806 -123.811 164.001"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "51.4496 245.28 88.6547"; + rotation = "0 0 -1 31"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "49.3863 224.356 85.2851"; + rotation = "0 0 -1 53"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-626.16 190.826 63.475"; + rotation = "0 0 1 141"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "73.3863 -259.644 103.383"; + rotation = "0 0 -1 13"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-559.614 324.356 53.4668"; + rotation = "0 0 1 171"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-449.614 91.3559 85.484"; + rotation = "0 0 1 92"; + scale = "1.6 1.6 1.6"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-248.614 254.356 50.1281"; + rotation = "0 0 1 7.00001"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-145.614 220.356 56.1266"; + rotation = "0 0 -1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-101.62 198.322 49.8"; + rotation = "0 0 1 191"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-380.625 70.3445 89.7098"; + rotation = "0 0 1 110"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "125.404 -357.728 89.9676"; + rotation = "0 0 1 227"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-695.534 -85.6855 96.364"; + rotation = "0 0 1 114"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-297.614 -402.644 78.9765"; + rotation = "0 0 1 129"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "8.3863 219.356 89.911"; + rotation = "0 0 1 113"; + scale = "1.6 1.6 1.6"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-363.951 -112.602 85.6117"; + rotation = "0 0 1 36"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "75.3863 -332.644 86.0589"; + rotation = "0 0 -1 96"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-151.617 -334.559 74.9421"; + rotation = "0 0 -1 98"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-643.614 -189.644 73.1219"; + rotation = "0 0 1 32"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + new Precipitation(Precipitation) { + position = "-377.901 -153.118 89.5079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/JacobsLadder.mis b/public/base/@vl2/missions.vl2/missions/JacobsLadder.mis new file mode 100644 index 00000000..3480386b --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/JacobsLadder.mis @@ -0,0 +1,1662 @@ +// DisplayName = Jacob's Ladder +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//In Flanders fields the poppies blow +//Between the crosses, row on row. +// -- John McCrae +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]5 different control towers +//[CnH]6000 points to win +//[DM]This mission follows standard ruleset +//Very rugged terrain +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-640 -968 960 864"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "-1304 -1032 0"; + }; + new Sky(Sky) { + position = "-1304 -1032 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "575"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "450 0 200"; + fogVolume2 = "350 200 260"; + fogVolume3 = "450 260 275"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.500000 0.500000 0.500000 1.000000"; + fogVolumeColor2 = "0.500000 0.500000 0.500000 1.000000"; + fogVolumeColor3 = "0.500000 0.500000 0.500000 1.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "JacobsLadder.ter"; + squareSize = "8"; + emptySquares = "75846"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "59"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + locked = "true"; + conjoinBowlDev = "20"; + GraphFile = "JacobsLadder.nav"; + position = "0 0 0 1"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-255.46 -585.96 266.458"; + rotation = "-0.1685 0.103309 0.980273 64.0473"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-143.128 -380.321 152.023"; + rotation = "0 0 -1 4.58367"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "250.925 -718.148 200.391"; + rotation = "0.0263612 0.0349807 -0.99904 106.05"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-271.154 -918.539 207.493"; + rotation = "0.206645 0.141374 -0.968148 70.4935"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-435.507 -729.12 193.889"; + rotation = "0.213759 0.107241 -0.970982 54.6494"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(team0) { + providesPower = "1"; + + new SimGroup(Bunker1) { + + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-183.509 -546.319 278.518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new WayPoint() { + position = "-193.721 -532.228 273.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 1"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-193.721 -532.228 273.75"; + rotation = "0 0 -1 5.15661"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 1"; + locked = "true"; + }; + new StaticShape() { + position = "-193.721 -532.228 282.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-173.304 -560.73 280.191"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "-193.703 -532.218 271.638"; + rotation = "0 0 -1 4.58349"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-190.102 -559.693 274.213"; + rotation = "0 0 -1 55.004"; + scale = "1 1 1"; + nameTag = "Bunker 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-170.921 -564.535 274.201"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + nameTag = "Bunker 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-180.693 -561.813 283.598"; + rotation = "0 0 -1 9.74027"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + new SimGroup(Bunker2) { + + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-153.924 -203.428 192.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-163.41 -320.252 123.423"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 2"; + locked = "true"; + }; + new WayPoint() { + position = "-163.41 -320.252 123.423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 2"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-163.41 -320.252 131.792"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-161.065 -317.429 121.411"; + rotation = "0 0 1 219.625"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-153.806 -211.875 183.791"; + rotation = "0 0 1 236.241"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-142.368 -266.897 158.067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "-142.317 -267.446 168.113"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Bunker 2"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MortarBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "-88.4642 -262.258 174.685"; + rotation = "0 0 -1 108.862"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-89.6907 -262.759 184.638"; + rotation = "0 0 -1 108.862"; + scale = "1 1 1"; + nameTag = "Bunker 2"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-165.055 -219.847 185.788"; + rotation = "0 0 1 236.241"; + scale = "1 1 1"; + nameTag = "Bunker 2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret() { + position = "-151.407 -210.344 192.829"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + nameTag = "Bunker 2"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new TSStatic() { + position = "-154.151 -214.455 185.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-154.002 -214.491 187.789"; + rotation = "0 0 -1 17.1887"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156.513 -214.382 187.772"; + rotation = "0 0 1 59.5876"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156.572 -214.241 185.772"; + rotation = "0 0 1 53.858"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-155.417 -211.752 187.783"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-155.566 -211.716 185.783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-157.692 -209.815 187.777"; + rotation = "-0 0 -1 16.6157"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-157.841 -209.778 185.777"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-158.445 -212.391 185.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new Item() { + position = "-158.453 -212.39 187.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + new SimGroup(Bunker3) { + + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "89.2885 -707.037 179.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + locked = "true"; + }; + }; + new StaticShape() { + position = "169.283 -783.29 192.488"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 3"; + locked = "true"; + }; + new WayPoint() { + position = "169.283 -783.29 192.488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker 3"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 3"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "169.283 -783.29 200.853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + }; + new Turret() { + position = "169.168 -783.367 199.29"; + rotation = "0 0 1 154.699"; + scale = "1 1 1"; + nameTag = "Bunker 3"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new InteriorInstance() { + position = "169.291 -783.135 190.499"; + rotation = "0 0 -1 26.9291"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "110.799 -768.964 186.895"; + rotation = "-0.00999906 -0.0124922 -0.999872 77.3564"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "126.408 -772.468 186.583"; + rotation = "-0.00999906 -0.0124922 -0.999872 77.3564"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "142.016 -775.972 186.271"; + rotation = "-0.00999906 -0.0124922 -0.999872 77.3564"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "78.5247 -721.577 178.35"; + rotation = "0 0 1 54.431"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "76.9091 -713.73 196.21"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + nameTag = "Bunker 3"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "91.4479 -728.406 171.837"; + rotation = "0 0 1 144.385"; + scale = "1 1 1"; + nameTag = "Bunker 3"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "83.2909 -717.976 182.569"; + rotation = "0 0 -1 35.5234"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new TSStatic() { + position = "79.5685 -711.099 171.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "63.8329 -773.817 199.626"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "65.4573 -772.728 209.62"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bunker 3"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + }; + new SimGroup(Bunker4) { + + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-515.379 -703.256 181.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-491.238 -700.295 167.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 4"; + locked = "true"; + }; + new WayPoint() { + position = "-491.238 -700.295 167.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker 4"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 4"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-456.649 -699.996 178.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-523.621 -705.548 165.318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-491.256 -700.296 166.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-459 -700 170.226"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-517.482 -705.385 167.296"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bunker 4"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-529.867 -705.385 167.296"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Bunker 4"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-460.039 -700.003 171.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret() { + position = "-461.188 -699.983 178.786"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Bunker 4"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + new StaticShape() { + position = "-523.621 -705.548 175.781"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Bunker5) { + + new SimGroup(Spawns) { + + new SpawnSphere() { + position = "-368.867 -889.175 121.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-367 -883 171.024"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 5"; + locked = "true"; + }; + new WayPoint() { + position = "-367 -883 171.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker 5"; + team = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-380.701 -892.771 174.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + holo = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-367 -883 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-354.798 -900.091 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-345.502 -913.113 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-336.205 -926.135 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-326.909 -939.157 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-379.202 -865.908 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-388.498 -852.886 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-397.795 -839.864 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.091 -826.842 171.026"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-367 -883 114.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-314.001 -936.832 163.368"; + rotation = "0 0 1 54.4766"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-438.938 -831.358 183.522"; + rotation = "0 0 1 146.723"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret() { + position = "-437.533 -830.578 193.495"; + rotation = "0 0 1 56.7228"; + scale = "1 1 1"; + nameTag = "Bunker 5"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret() { + position = "-314.783 -935.428 173.361"; + rotation = "-0 0 -1 35.5234"; + scale = "1 1 1"; + nameTag = "Bunker 5"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape() { + position = "-367 -876.6 124.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker 5"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-366.872 -869.164 116.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bunker 5"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-374.692 -876.88 116.065"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-374.457 -879.228 116.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-374.618 -878.996 118.065"; + rotation = "0 0 1 21.1994"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new Item() { + position = "-374.64 -876.834 118.228"; + rotation = "0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Team1) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-507.42 -367.458 105.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "1"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-506.866 -387.566 104.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-506.866 -382.398 106.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-506.566 -392.787 106.575"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-501.653 -387.566 106.575"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-512.075 -387.566 106.575"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "163.414 -480.151 149.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "1"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "162.079 -424.059 143.033"; + rotation = "0 0 1 35.5234"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "157.84 -421.033 145.014"; + rotation = "-0 0 -1 54.4766"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "166.322 -427.088 145.014"; + rotation = "0 0 1 125.523"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "159.29 -428.483 145.014"; + rotation = "0 0 1 215.523"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "165.082 -419.853 145.014"; + rotation = "0 0 1 35.5234"; + scale = "1 1 1"; + nameTag = "Fallback"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(PlacedOrganics) { + + new InteriorInstance() { + position = "-146.953 -329.979 121.553"; + rotation = "-0.728379 0.282512 -0.62422 63.71"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-315.231 -871.395 141.068"; + rotation = "0.0380742 -0.727499 -0.685051 77.0459"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "233.396 -728.042 85.2098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-196.289 -558.576 272.776"; + rotation = "1 0 0 0"; + scale = "1 1 1.5"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "98.991 -772.624 188.622"; + rotation = "1 0 0 0"; + scale = "1 1 1.5"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "201.968 -437.797 142.885"; + rotation = "1 0 0 0"; + scale = "1 1 1.5"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-502.483 -372.578 105.103"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.7"; + shapeName = "borg5.dts"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BeLgTree16) { + + new TSStatic() { + position = "-23.2341 -698.265 138.44"; + rotation = "0 0 1 18.1847"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-48.2217 -838.057 168.685"; + rotation = "0 0 -1 14.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-282.464 -973.992 161.16"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-615.273 -76.4236 146.667"; + rotation = "0 0 1 23"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-539.657 -200.892 203.783"; + rotation = "0 0 -1 87.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-96.3513 -12.0294 127.53"; + rotation = "0 0 1 221"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-587.531 -156.802 201.114"; + rotation = "0 0 1 194"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-6.83932 -250.847 209.445"; + rotation = "0 0 1 11"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-284.102 -624.359 195.461"; + rotation = "0 0 1 230"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "11.6642 -698.227 130.384"; + rotation = "0 0 1 70"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-425.681 -911.43 138.266"; + rotation = "0 0 1 38"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "139.758 -271.113 121.951"; + rotation = "0 0 -1 19.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-52.7239 -855.117 163.7"; + rotation = "0 0 1 75.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-36.5216 -695.324 133.942"; + rotation = "0 0 -1 92.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-382.752 -867.567 113.213"; + rotation = "0 0 1 47.8969"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-109.061 -26.7387 119.742"; + rotation = "0 0 1 64"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-148 -4 124.469"; + rotation = "0 0 1 178"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "158.932 -455.029 143.385"; + rotation = "0 0 1 110"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-479.275 -369.427 104.244"; + rotation = "0 0 1 60.0001"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "172.208 -491.348 141.793"; + rotation = "0 0 1 176"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100 -988 229.67"; + rotation = "0 0 -1 50"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BeLgTree18) { + + new TSStatic() { + position = "-99.8126 -35.3917 122.591"; + rotation = "0 0 -1 43.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-123.151 -3.00305 113.106"; + rotation = "0 0 1 152"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84 -828 172.998"; + rotation = "0 0 1 175"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-164 -20 124.902"; + rotation = "0 0 -1 22.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-268 -580 216.734"; + rotation = "0 0 1 197"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "11.2961 -998.431 173.826"; + rotation = "0 0 -1 13.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-676 -844 183.606"; + rotation = "0 0 1 172"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-223.74 -615.058 219.137"; + rotation = "0 0 -1 100"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-149.406 5.10184 125.131"; + rotation = "0 0 1 154"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-515.857 -847.032 155.459"; + rotation = "0 0 -1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-542.348 -655.745 192.753"; + rotation = "0 0 1 129"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-395.665 -686.799 137.783"; + rotation = "0 0 1 240"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-189.408 -325.779 119.96"; + rotation = "0 0 1 155"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "134.459 -284.24 120.899"; + rotation = "0 0 -1 8.99978"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "151.275 -496.337 144.05"; + rotation = "0 0 1 225"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "100.634 -971.586 225.651"; + rotation = "0 0 1 178"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-128.055 -30.0459 116.861"; + rotation = "0 0 -1 74.0004"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-494.269 -845.008 154.97"; + rotation = "0 0 1 125"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-568.023 -487.138 145.875"; + rotation = "0 0 1 160"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "193.818 -429.073 141.403"; + rotation = "0 0 1 66.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-604.076 -69.9467 147.623"; + rotation = "0 0 -1 67.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-64.4365 -824.315 174.42"; + rotation = "0 0 1 164"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3BeLgTree19) { + + new TSStatic() { + position = "33.4144 -30.4185 174.393"; + rotation = "0 0 1 42"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-78.1095 -847.329 172.452"; + rotation = "0 0 1 129"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-150.943 -400.194 88.5937"; + rotation = "0 0 -1 119"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-85.8633 -804.721 171.846"; + rotation = "0 0 1 106"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25.0246 -708.171 135.62"; + rotation = "0 0 1 111"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-55.9703 -704.062 130.842"; + rotation = "0 0 1 57.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "135.241 -706.619 170.9"; + rotation = "0 0 1 144"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-540.109 -376.977 103.311"; + rotation = "0 0 -1 41.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-63.5733 -265.908 195.421"; + rotation = "0 0 1 106"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-605.768 -56.5627 145.203"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-212 -412 142.641"; + rotation = "0 0 1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-430.248 -807.521 175.867"; + rotation = "0 0 1 201.854"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-410.209 -677.624 135.462"; + rotation = "0 0 -1 65.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4BeSmTree17) { + + new TSStatic() { + position = "-535.281 -400.931 104.998"; + rotation = "0.187972 -0.101567 -0.976909 47.9868"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "123.938 -988.124 226.159"; + rotation = "-0.119501 -0.0981362 0.987972 71.6564"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-428 -68 149.78"; + rotation = "0.0973462 -0.0602896 -0.993423 77.3688"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-274.572 -395.272 121.891"; + rotation = "-0.0642398 -0.0814766 0.994603 136.215"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-562.465 -71.893 144.716"; + rotation = "0.100231 -0.0740989 0.992201 132.332"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-386.049 -892.476 114.319"; + rotation = "0.132363 0.0701232 0.988718 44.4535"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-504.255 -855.738 155.627"; + rotation = "0.0726313 0.133547 0.988377 58.5694"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-401.178 -693.239 135.623"; + rotation = "-0.0990133 0.281555 -0.954423 38.6388"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-301.155 -976.512 160.532"; + rotation = "-0.0473325 -0.0455559 0.99784 184.989"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-390.07 -878.203 112.553"; + rotation = "0.0374912 0.0834348 0.995808 46.1734"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-510.262 -343.354 102.364"; + rotation = "0 0 1 20"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-144.623 -185.957 183.535"; + rotation = "0 0 1 161"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-136.586 -227.269 183.281"; + rotation = "0.244939 -0.211123 0.946273 38.9465"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-15.9535 -432.55 172.777"; + rotation = "0 0 -1 73.0006"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "282.1 -138.242 212.452"; + rotation = "0 0 -1 39.4447"; + scale = "0.8 0.8 0.8"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-166.69 -948.818 151.131"; + rotation = "-0.0866092 -0.114763 0.98961 220.609"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Katabatic.mis b/public/base/@vl2/missions.vl2/missions/Katabatic.mis new file mode 100644 index 00000000..e8c7fe86 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Katabatic.mis @@ -0,0 +1,4446 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The huge downside to the Starwolf is the miserable planets you have to fight em on, most often some polar outhouse where your tail gets frostbite every time you pop your armor and you can't sneeze without snot freezing all over your face. +// -- Naj-Zero, Blood Eagle warrior +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + cdTrack = "5"; + CTF_scoreLimit = "8"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-896 -696 1504 1392"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "400"; + fogColor = "0.650000 0.650000 0.700000 1.000000"; + fogVolume1 = "450 0 100"; + fogVolume2 = "400 100 250"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + }; + new Precipitation(Precipitation) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "Katabatic.ter"; + squareSize = "8"; + emptySquares = "223146 747683 747939 748195 748451 355491 305974 437300 437556 372277 372533 307254 373046 373302 373558 373814 308534"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + position = "0 0 0 1"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + GraphFile = "Katabatic.nav"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-482.862 327.444 163.649"; + rotation = "0.373651 0.211465 -0.903143 64.1455"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "247.14 -70.3646 152.739"; + rotation = "0.0387592 -0.173977 0.983987 155.271"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "119.074 79.2511 158.051"; + rotation = "0.0802951 0.069717 -0.99433 82.2557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-231.546 357.086 109.491"; + rotation = "0.0207373 -0.0549604 0.998273 138.721"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "326.888 -168.521 74.8106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "90"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-257.527 -53.2192 145.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "110"; + locked = "true"; + }; + }; + new SimGroup(MainBase1) { + + + new SimGroup(MainBase1Powered) { + + new StaticShape(Team1GeneratorLarge1) { + position = "345.283 -197.479 71.0291"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "351.855 -197.491 71.0293"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(MainBase1Misc) { + + new StaticShape() { + position = "323.376 -173.543 96.0413"; + rotation = "0 0 -1 22.3453"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Flag = "3304"; + locked = "true"; + }; + new Item(Team1Flag1) { + position = "323.373 -173.553 96.6452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + stand = "3303"; + }; + }; + new SimGroup(MainBase1Buildings) { + + new InteriorInstance() { + position = "347.539 -170.518 93.036"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "251.987 -242.184 78.1013"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "179.548 -100.806 94.7401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(MainBase1Turrets) { + + new Turret(Team1TurretBaseLarge1) { + position = "348.08 -178.761 113.037"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Rooftop"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "179.548 -101.496 96.3367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Mountainside"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + }; + new SimGroup(MainBase1Stations) { + + new StaticShape() { + position = "255.389 -248.02 77.8013"; + rotation = "0 0 1 149.542"; + scale = "1 1 1"; + nameTag = "Main Compound"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "287.981 -168.951 96.0435"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Front Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "336.286 -225.796 71.034"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "343.378 -225.667 71.0201"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "293.333 -181.491 80.0333"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Front Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "353.692 -165.466 80.0255"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Rear Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "357.551 -164.521 96.0313"; + rotation = "0 0 1 4.0109"; + scale = "1 1 1"; + nameTag = "Rear Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Crates) { + + new TSStatic() { + position = "315.551 -117.489 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "315.595 -116.624 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "317.072 -117.501 71.0436"; + rotation = "0 0 1 79.6412"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "322.4 -116.698 71.0436"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "322.173 -114.708 71.0436"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "322.329 -115.683 71.0436"; + rotation = "-0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "317.029 -128.833 73.0436"; + rotation = "0 0 -1 26.356"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "317.493 -126.298 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "316.916 -128.571 71.0436"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "317.116 -130.887 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "304.731 -136.327 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "299.938 -129.952 71.0436"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "303.173 -123.185 71.0436"; + rotation = "0 0 1 16.6157"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "304.374 -123.679 72.0436"; + rotation = "0 0 1 5.72969"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "304.304 -123.653 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "303.057 -137.439 72.8627"; + rotation = "0 1 0 36.6693"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "298.045 -131.855 73.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "297.283 -129.947 73.0436"; + rotation = "0 0 -1 6.30252"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "297.295 -129.261 71.0436"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "298.004 -131.399 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "297.503 -133.503 71.0436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + }; + new StaticShape() { + position = "330.048 -178.319 80.4267"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "317.048 -178.319 80.4267"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(BaseTower1) { + providesPower = "1"; + + new Item() { + position = "158.815 -274.653 162.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "156.81 -269.568 160.868"; + rotation = "-0 0 -1 21.1994"; + scale = "1 1 1"; + nameTag = "Base Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "156.976 -270.011 97.8793"; + rotation = "0 0 1 68.7549"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower1) { + + new WayPoint() { + position = "-257.527 -53.2192 193.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Tower"; + team = "0"; + locked = "true"; + }; + new SimGroup(Tower1Powered) { + providesPower = "1"; + + new ForceFieldBare() { + position = "-257.732 -48.1132 169.993"; + rotation = "0 0 1 132.536"; + scale = "7.2989 7.30716 0.25"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-257.467 -53.2283 163.599"; + rotation = "0.915437 0.402461 -4.32963e-08 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "-265.055 -53.5008 163.629"; + rotation = "0 0 -1 92.4642"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory9) { + position = "-249.899 -52.8997 163.635"; + rotation = "0 0 1 87.5358"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "-257.527 -53.2192 192.608"; + rotation = "-0 0 -1 47.4646"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-240.494 -70.229 158.626"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower1Goodies) { + + new Item() { + position = "-283.299 -29.5826 188.78"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-231.644 -77.0427 188.808"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-228.56 -30.1645 188.659"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-232.472 -25.9589 188.548"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-257.595 -45.2241 164.399"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-254.144 -48.2657 170.636"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-252.775 -49.505 170.631"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-254.075 -49.4487 170.633"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-261.739 -57.7463 171.342"; + rotation = "0 0 1 42.5355"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-257.799 -45.7266 171.27"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-265.333 -53.6064 171.271"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-257.31 -60.9347 171.274"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-249.59 -53.0389 171.278"; + rotation = "0 0 1 132.536"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "-573.832 420.026 91.1255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3465"; + location = "-573.832 420.026 91.1255"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-578.317 384.576 91.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3469"; + location = "-578.317 384.576 91.4003"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOAttackObject) { + position = "-630.632 371.564 66.1093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "-630.632 371.564 66.1093"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-586.361 414.552 75.1086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3459"; + location = "-586.361 414.552 75.1086"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-569.34 350.347 91.1066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-569.34 350.347 91.1066"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-578.317 384.576 91.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3469"; + location = "-578.317 384.576 91.4003"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "-578.317 384.576 91.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3469"; + location = "-578.317 384.576 91.4003"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "347.419 -178.761 114.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3310"; + location = "347.419 -178.761 114.789"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "179.548 -100.835 98.0882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3311"; + location = "179.548 -100.835 98.0882"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "287.981 -168.951 97.6093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3316"; + location = "287.981 -168.951 97.6093"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "336.286 -225.796 72.5998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "336.286 -225.796 72.5998"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "343.378 -225.667 72.5859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3320"; + location = "343.378 -225.667 72.5859"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "293.333 -181.491 81.5991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3322"; + location = "293.333 -181.491 81.5991"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "353.692 -165.466 81.5913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3324"; + location = "353.692 -165.466 81.5913"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "357.551 -164.521 97.5971"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3326"; + location = "357.551 -164.521 97.5971"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "156.391 -268.486 162.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3354"; + location = "156.391 -268.486 162.434"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-257.487 -53.2505 163.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3363"; + location = "-257.487 -53.2505 163.93"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-265.055 -53.5008 165.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3364"; + location = "-265.055 -53.5008 165.195"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-249.899 -52.8997 165.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3366"; + location = "-249.899 -52.8997 165.201"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-257.54 -53.2069 197.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team1SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3368"; + location = "-257.54 -53.2069 197.438"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-607.058 353.566 66.0435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-607.058 353.566 66.0435"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-607.076 365.048 66.0433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-607.076 365.048 66.0433"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "-452.623 355.91 99.2096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-452.623 355.91 99.2096"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "-583.195 360.028 108.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3450"; + location = "-583.195 360.028 108.291"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "343.344 -197.744 72.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3300"; + location = "343.344 -197.744 72.481"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "343.344 -197.744 72.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3300"; + location = "343.344 -197.744 72.481"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "353.794 -197.226 72.4812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3301"; + location = "353.794 -197.226 72.4812"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "353.794 -197.226 72.4812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3301"; + location = "353.794 -197.226 72.4812"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "326.11 -168.458 96.2014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "326.11 -168.458 96.2014"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOAttackPlayer) { + position = "323.373 -173.553 97.8754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "323.373 -173.553 97.8754"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "323.373 -173.553 97.8754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "323.373 -173.553 97.8754"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOAttackObject) { + position = "-570.288 354.206 75.1008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3457"; + location = "-570.288 354.206 75.1008"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-630.497 364.472 66.0954"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3461"; + location = "-630.497 364.472 66.0954"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-491.502 583.075 171.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3510"; + location = "-491.502 583.075 171.022"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "62.8001 286.982 208.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3516"; + location = "62.8001 286.982 208.476"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "55.1522 287.045 176.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3517"; + location = "55.1522 287.045 176.239"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "70.3198 286.912 176.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3519"; + location = "70.3198 286.912 176.233"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "62.7487 287.028 174.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3522"; + location = "62.7487 287.028 174.968"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new SimGroup(FlagTurretGroup) { + + new AIObjective(AIODeployEquipment) { + position = "313.976 -188.069 96.0868"; + rotation = "0 0 -1 94.538"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "313.976 -188.069 96.0868"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + new AIObjective(AIODeployEquipment) { + position = "333.515 -193.216 96.1523"; + rotation = "0 0 -1 51.5662"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "333.515 -193.216 96.1523"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + new AIObjective(AIODeployEquipment) { + position = "321.422 -197.247 93.9055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "321.422 -197.247 93.9055"; + weightLevel1 = "4300"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + new AIObjective(AIODeployEquipment) { + position = "340.538 -194.395 100.463"; + rotation = "0.00733701 0.366091 0.93055 175.877"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "340.538 -194.395 100.463"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + new AIObjective(AIODeployEquipment) { + position = "356.831 -192.654 100.11"; + rotation = "-0.186085 0.382415 0.905059 146.767"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "356.831 -192.654 100.11"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + new AIObjective(AIODeployEquipment) { + position = "306.974 -152.703 99.9126"; + rotation = "-0.990201 0.0594835 0.126351 50.8564"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "306.974 -152.703 99.9126"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + new AIObjective(AIODeployEquipment) { + position = "291.661 -152.699 99.9622"; + rotation = "-0.914078 -0.179262 -0.363766 49.3988"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "291.661 -152.699 99.9622"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3423"; + }; + }; + new SimGroup(GeneratorDeployGroup) { + + new AIObjective(AIODeployEquipment) { + position = "355.367 -214.153 74.3503"; + rotation = "-0.365902 0.340873 0.86598 94.181"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "355.367 -214.153 74.3503"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + new AIObjective(AIODeployEquipment) { + position = "331.658 -192.204 74.4017"; + rotation = "-0.389146 -0.40068 -0.82947 102.291"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "331.658 -192.204 74.4017"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + new AIObjective(AIODeployEquipment) { + position = "353.3 -175.369 83.473"; + rotation = "-0.353753 0.364238 0.861504 100.161"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "353.3 -175.369 83.473"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + new AIObjective(AIODeployEquipment) { + position = "312.707 -183.465 84.5697"; + rotation = "-0.0259665 0.366149 0.930194 172.452"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "312.707 -183.465 84.5697"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + new AIObjective(AIODeployEquipment) { + position = "317.572 -177.07 71.1776"; + rotation = "0 0 -1 97.4028"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "317.572 -177.07 71.1776"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + new AIObjective(AIODeployEquipment) { + position = "334.514 -143.911 71.1987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "334.514 -143.911 71.1987"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + new AIObjective(AIODeployEquipment) { + position = "312.022 -173.633 89.2464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "312.022 -173.633 89.2464"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3431"; + }; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-576.432 383.169 63.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "90"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "62.7873 286.995 163.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "110"; + locked = "true"; + }; + }; + new SimGroup(MainBase2) { + + + new SimGroup(MainBase2Powered) { + + new StaticShape(Team2GeneratorLarge1) { + position = "-602.321 356.05 64.5588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "-602.281 362.517 64.5386"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(MainBase2Turrets) { + + new Turret(Team2TurretBaseLarge1) { + position = "-453.284 355.91 97.4581"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Mountainside"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-583.195 359.367 106.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Rooftop"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + }; + new SimGroup(MainBase2Stations) { + + new StaticShape() { + position = "-610.208 541.337 77.054"; + rotation = "-0 0 -1 63.5982"; + scale = "1 1 1"; + nameTag = "Main Compound"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "-569.34 350.347 89.5408"; + rotation = "0 0 1 93.9653"; + scale = "1 1 1"; + nameTag = "Rear Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-570.288 354.206 73.535"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Rear Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-586.361 414.552 73.5428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-630.497 364.472 64.5296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "-630.632 371.564 64.5435"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Generator Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "-573.832 420.026 89.5597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Front Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(MainBase2Misc) { + + new StaticShape() { + position = "-578.317 384.578 89.5662"; + rotation = "0 0 -1 20.6264"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + Flag = "3469"; + locked = "true"; + }; + new Item(Team2Flag1) { + position = "-578.317 384.576 90.1702"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + stand = "3468"; + }; + }; + new SimGroup(MainBase2Buildings) { + + new InteriorInstance() { + position = "-575.345 360.355 86.5455"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "sbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "-605.436 538.968 77.354"; + rotation = "0 0 1 115.92"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-452.561 355.816 95.8588"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Crates2) { + + new TSStatic() { + position = "-543.306 404.422 64.5492"; + rotation = "0 0 1 6.30239"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-543.35 404.168 66.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-531.013 392.492 64.5492"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-530.864 391.032 67.5492"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-530.975 389.238 64.5492"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.25 389.375 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.423 390.149 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-526.648 389.961 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-526.668 392.072 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-526.389 390.678 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-526.78 391.317 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.338 391.757 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.405 390.94 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-528.114 408.185 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.912 405.905 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-528.125 407.093 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-528.183 404.828 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-528.122 405.998 65.5892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.971 407.011 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-528.152 408.165 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-527.84 404.78 64.5492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-538.169 414.541 65.8296"; + rotation = "-0.292011 -0.289335 0.9116 95.8202"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-536.009 414.337 65.5611"; + rotation = "-0.244718 -0.242475 0.938786 94.1429"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-532.99 407.074 66.5991"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-532.351 409.13 66.5991"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-535.098 407.374 66.5991"; + rotation = "-0.0150097 0.999775 -0.0149977 89.9673"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-534.834 407.898 68.5937"; + rotation = "0 0 -1 19.4806"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-535.502 405.721 64.5492"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-541.393 392.492 64.5492"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-541.355 389.238 64.5492"; + rotation = "0 0 1 1.71869"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-541.244 391.032 67.5492"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + }; + new StaticShape() { + position = "-583.178 377.846 73.9808"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-583.178 390.846 73.9808"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(BaseTower2) { + providesPower = "1"; + + new Item() { + position = "-495.959 586.111 170.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory7) { + position = "-491.502 583.075 169.456"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + nameTag = "Base Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-494.498 585.022 106.448"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Tower2) { + + new WayPoint() { + position = "62.7873 286.995 204.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Remote Tower"; + team = "0"; + locked = "true"; + }; + new SimGroup(Tower2Powered) { + providesPower = "1"; + + new StaticShape(Team2SensorLargePulse1) { + position = "62.7873 286.995 203.616"; + rotation = "0 0 1 135.309"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory8) { + position = "55.1522 287.045 174.673"; + rotation = "-0 0 -1 89.6907"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "70.3198 286.912 174.667"; + rotation = "0 0 1 90.3093"; + scale = "1 1 1"; + nameTag = "Remote Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "46.5972 304.809 169.664"; + rotation = "-0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "62.7273 287.007 174.637"; + rotation = "-0.380189 0.924909 1.66185e-08 180"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new ForceFieldBare() { + position = "62.7448 281.885 181.031"; + rotation = "-0 0 -1 44.6907"; + scale = "7.2989 7.30716 0.25"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + }; + }; + new SimGroup(Tower2Goodies) { + + new Item() { + position = "54.8508 287.199 182.316"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "62.9433 294.712 182.312"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "70.6022 287.004 182.309"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "62.6966 279.498 182.308"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "67.2132 291.313 182.38"; + rotation = "0 0 1 225.309"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "59.1563 283.396 181.671"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "57.8614 283.515 181.669"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "59.168 282.211 181.674"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "62.4679 279.006 175.437"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "36.4425 260.979 199.586"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "32.7386 265.369 199.697"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "38.0866 312.043 199.846"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "87.3852 262.139 199.818"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "342.82 -202.246 72.5338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3300"; + location = "342.82 -202.246 72.5338"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "354.302 -202.237 72.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3301"; + location = "354.302 -202.237 72.534"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "323.373 -173.553 97.8754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "323.373 -173.553 97.8754"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "323.373 -173.553 97.8754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "323.373 -173.553 97.8754"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "323.373 -173.553 97.8754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "323.373 -173.553 97.8754"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOMortarObject) { + position = "347.419 -178.761 114.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3310"; + location = "347.419 -178.761 114.789"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "179.548 -100.835 98.0882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3311"; + location = "179.548 -100.835 98.0882"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "287.981 -168.951 97.6093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3316"; + location = "287.981 -168.951 97.6093"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "336.286 -225.796 72.5998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3318"; + location = "336.286 -225.796 72.5998"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "343.378 -225.667 72.5859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3320"; + location = "343.378 -225.667 72.5859"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "293.333 -181.491 81.5991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3322"; + location = "293.333 -181.491 81.5991"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "353.692 -165.466 81.5913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3324"; + location = "353.692 -165.466 81.5913"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "357.551 -164.521 97.5971"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3326"; + location = "357.551 -164.521 97.5971"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "156.391 -268.486 162.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3354"; + location = "156.391 -268.486 162.434"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-257.487 -53.2505 163.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3363"; + location = "-257.487 -53.2505 163.93"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-265.055 -53.5008 165.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3364"; + location = "-265.055 -53.5008 165.195"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOAttackObject) { + position = "-249.899 -52.8997 165.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3366"; + location = "-249.899 -52.8997 165.201"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIOMortarObject) { + position = "-257.54 -53.2069 197.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team1SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3368"; + location = "-257.54 -53.2069 197.438"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-607.058 353.566 66.0435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-607.058 353.566 66.0435"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-607.058 353.566 66.0435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-607.058 353.566 66.0435"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-607.076 365.048 66.0433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-607.076 365.048 66.0433"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-607.076 365.048 66.0433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-607.076 365.048 66.0433"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-452.623 355.91 99.2096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-452.623 355.91 99.2096"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-583.195 360.028 108.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3450"; + location = "-583.195 360.028 108.291"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-569.34 350.347 91.1066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-569.34 350.347 91.1066"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-570.288 354.206 75.1008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3457"; + location = "-570.288 354.206 75.1008"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-586.361 414.552 75.1086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3459"; + location = "-586.361 414.552 75.1086"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-630.497 364.472 66.0954"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3461"; + location = "-630.497 364.472 66.0954"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-630.632 371.564 66.1093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "-630.632 371.564 66.1093"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-573.832 420.026 91.1255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3465"; + location = "-573.832 420.026 91.1255"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIODefendLocation) { + position = "-578.317 384.576 91.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3469"; + location = "-578.317 384.576 91.4003"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-578.317 384.576 91.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3469"; + location = "-578.317 384.576 91.4003"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "-578.317 384.576 91.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3469"; + location = "-578.317 384.576 91.4003"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "-491.502 583.075 171.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3510"; + location = "-491.502 583.075 171.022"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "62.8001 286.982 208.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorLargePulse"; + targetObject = "Team2SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3516"; + location = "62.8001 286.982 208.476"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "55.1522 287.045 176.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3517"; + location = "55.1522 287.045 176.239"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "70.3198 286.912 176.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3519"; + location = "70.3198 286.912 176.233"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new AIObjective(AIORepairObject) { + position = "62.7487 287.028 174.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3522"; + location = "62.7487 287.028 174.968"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + }; + new SimGroup(FlagDeployGroup) { + + new AIObjective(AIODeployEquipment) { + position = "-596.83 375.163 89.6071"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-596.83 375.163 89.6071"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-592.479 395.278 89.6249"; + rotation = "0 0 1 176.654"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-592.479 395.278 89.6249"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-601.751 387.421 87.4799"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-601.751 387.421 87.4799"; + weightLevel1 = "4300"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-561.407 396.633 97.7165"; + rotation = "0 0 1 190.977"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-561.407 396.633 97.7165"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-566.533 376.387 93.4969"; + rotation = "0.0223656 0.412218 0.910811 185.658"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-566.533 376.387 93.4969"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-598.71 368.707 92.9963"; + rotation = "-0.673461 -0.304797 -0.673461 67.8043"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-598.71 368.707 92.9963"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-584.193 346.648 93.0864"; + rotation = "0.024806 0.457198 0.889019 185.523"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-584.193 346.648 93.0864"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + new AIObjective(AIODeployEquipment) { + position = "-558.275 399.839 92.9017"; + rotation = "-0.146935 0.407846 0.90115 144.027"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-558.275 399.839 92.9017"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3578"; + }; + }; + new SimGroup(GeneratorDeployGroup) { + + new AIObjective(AIODeployEquipment) { + position = "-576.502 414.036 77.1237"; + rotation = "-0.944961 0.220876 0.241376 50.6474"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-576.502 414.036 77.1237"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-634.912 399.957 64.7697"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-634.912 399.957 64.7697"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-548.794 373.184 64.6807"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-548.794 373.184 64.6807"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-512.68 385.535 69.3916"; + rotation = "0.994098 0.0752542 0.0781392 226.074"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-512.68 385.535 69.3916"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-547.938 403.674 64.668"; + rotation = "0 0 1 193.842"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-547.938 403.674 64.668"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-548.863 390.261 67.9052"; + rotation = "-1 0 0 48.7014"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-548.863 390.261 67.9052"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-576.42 378.846 67.7643"; + rotation = "-0.353753 0.364238 0.861504 100.161"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-576.42 378.846 67.7643"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + new AIObjective(AIODeployEquipment) { + position = "-621.213 353.494 68.0578"; + rotation = "-0.457589 -0.426288 -0.780315 100.1"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-621.213 353.494 68.0578"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3587"; + }; + }; + }; + }; + new SimGroup(team0) { + + new Item() { + position = "-578.437 414.33 74.6654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-578.34 354.518 74.6836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "293.561 -173.567 81.1559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "353.373 -173.518 81.1741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(Landmarks) { + + new InteriorInstance(SmallRock) { + position = "4.29272 -678.22 87.0344"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "604.674 288.347 95.0202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-694.001 688.419 81.4125"; + rotation = "0 0 1 68.7549"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-882.758 293.23 98.8326"; + rotation = "0 0 -1 25.2101"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-891.714 -286.207 88.3106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-221.53 190.742 77.4905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-209.718 191.939 80.2187"; + rotation = "-0.819622 -0.568812 -0.0683577 80.983"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-177.352 224.065 77.315"; + rotation = "-0.844132 -0.0752246 -0.530831 52.3752"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-179.65 235.545 77.0884"; + rotation = "0.960354 0.139691 0.24126 110.99"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-106.21 57.7174 78.575"; + rotation = "0.632488 0.637505 -0.439938 88.8149"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-107.599 41.1366 80.8043"; + rotation = "1 0 0 135.218"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-40.5405 106.833 78.0061"; + rotation = "-0.785982 0.317479 0.530508 101.895"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-53.613 125.786 84.5896"; + rotation = "-0.729593 -0.471499 -0.495362 81.0287"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-50.1881 105.939 76.4521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-58.092 116.907 76.9334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-93.3823 63.4909 76.8637"; + rotation = "1 0 0 205.874"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-191.544 230.281 76.4113"; + rotation = "0 1 0 17.7616"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-216.399 199.251 77.8031"; + rotation = "-0.00419048 -0.594692 -0.803943 94.5913"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-33.1756 122.498 78.0202"; + rotation = "-0.335772 0.927883 -0.162146 125.688"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "289.762 209.214 173.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Masada.mis b/public/base/@vl2/missions.vl2/missions/Masada.mis new file mode 100644 index 00000000..10a9a850 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Masada.mis @@ -0,0 +1,1306 @@ +// MissionTypes = Siege +// DisplayName = Masada + +//--- MISSION QUOTE BEGIN --- +//Mortality weighs heavily on me like unwilling sleep, and each imagined pinnacle and steep of godlike hardship tells me I must die. +// -- John Keats +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Defenders - high ground but few resources +//[Siege]Attackers - poor position but good resources +//[Siege]Attackers have vehicle station +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + cdTrack = "6"; + Siege_timeLimit = "20"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-288 -1032 736 1232"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "630"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "305"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.22439e-42 1.04486e-40"; + high_fogVolume2 = "-1 1.04845e-40 3.26643e-42"; + high_fogVolume3 = "-1 3.28324e-42 1.05581e-40"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.643953 0.643953 -0.413096"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "Masada.ter"; + squareSize = "8"; + emptySquares = "293756 294012 294268 294524 294780 295036"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + YDimOverSize = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Masada.nav"; + coverage = "0"; + scale = "1 1 1"; + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1PhoenixPlant2) { + + new TSStatic() { + position = "118.5 386.5 213.604"; + rotation = "0 0 -1 78"; + scale = "1.5 1.5 1.5"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "140.5 94.5 219.982"; + rotation = "0 0 -1 1.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-321.5 107.5 110.939"; + rotation = "0 0 -1 101"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "156.5 -111.5 109.758"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-70.5 -364.5 56.7207"; + rotation = "0 0 1 158"; + scale = "1.6 1.6 1.6"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-71.5 163.5 153.738"; + rotation = "0 0 1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "275.5 -428.5 70.6367"; + rotation = "1 0 0 0"; + scale = "1.6 1.6 1.6"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-335.5 306.5 222.141"; + rotation = "0 0 -1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-69.5 -66.5 268.201"; + rotation = "0 0 1 163"; + scale = "1.6 1.6 1.6"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-299.5 -425.5 284.137"; + rotation = "0 0 1 40"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "205.5 -294.5 158.496"; + rotation = "0 0 -1 107"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-286.5 -49.5 104.34"; + rotation = "0 0 -1 117"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-44.5 -431.5 61.1484"; + rotation = "0 0 1 204"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "407.5 209.5 99.4277"; + rotation = "0 0 1 218"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-409.5 329.5 153.207"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2PhoenixPlant3) { + + new TSStatic() { + position = "106.5 454.5 223.049"; + rotation = "0 0 1 180"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "90.5 -386.5 54.5996"; + rotation = "0 0 -1 14"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-266.5 385.5 283.426"; + rotation = "0 0 -1 50"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-406.5 285.5 152.908"; + rotation = "0 0 1 211"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "413.5 40.5 58.7071"; + rotation = "0 0 -1 45"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "194.5 373.5 246.525"; + rotation = "0 0 1 25"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "337.5 359.5 127.373"; + rotation = "0 0 1 30"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "221.5 -148.5 176.709"; + rotation = "0 0 1 47"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-20.5 235.5 107.375"; + rotation = "0 0 1 6.00005"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-390.5 -56.5 146.266"; + rotation = "0 0 -1 89"; + scale = "1.6 1.6 1.6"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "4.5 -420.5 56.834"; + rotation = "0 0 1 100"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "155.5 -235.5 176.275"; + rotation = "0 0 -1 52"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "347.5 -261.5 166.576"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "33.5 373.5 104.133"; + rotation = "0 0 1 197"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3PhoenixPlant5) { + + new TSStatic() { + position = "263.5 -242.5 176.404"; + rotation = "0 0 1 118"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-358.5 -157.5 112.832"; + rotation = "0 0 1 60"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "395.5 289.5 179.865"; + rotation = "0 0 -1 47"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156.5 257.5 214.682"; + rotation = "0 0 1 206"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-49.5 -436.5 61.123"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-84.5 220.5 132.353"; + rotation = "0 0 1 186"; + scale = "1.2 1.2 1.2"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "405.5 40.5 60.1874"; + rotation = "0 0 1 71"; + scale = "1.6 1.6 1.6"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "25.5 -178.5 172.76"; + rotation = "0 0 -1 117"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-282.5 -300.5 280.658"; + rotation = "0 0 1 235"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "74.5 -355.5 56.8535"; + rotation = "0 0 1 152"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "353.5 68.5 55.8282"; + rotation = "0 0 1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "229.5 -162.5 177.508"; + rotation = "0 0 -1 34"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "248.5 -219.5 198.689"; + rotation = "0 0 1 86"; + scale = "1.1 1.1 1.1"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-225.5 286.5 282.639"; + rotation = "0 0 1 212"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-70.5 -56.5 270.82"; + rotation = "0 0 1 164"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant6) { + + new TSStatic() { + position = "-399.5 -396.5 211.094"; + rotation = "0 0 -1 87"; + scale = "1.5 1.5 1.5"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-249.5 -385.5 285.008"; + rotation = "0 0 1 131"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-280.5 -46.5 101.158"; + rotation = "0 0 1 112"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-314.5 -244.5 285.412"; + rotation = "0 0 1 123"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-287.5 228.5 262.816"; + rotation = "0 0 -1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "328.5 150.5 66.334"; + rotation = "0 0 -1 34"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60.5 -212.5 106.299"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "0.5 -121.5 218.785"; + rotation = "0 0 1 192"; + scale = "1.4 1.4 1.4"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "403.5 208.5 97.416"; + rotation = "0 0 1 97"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-14.5 -325.5 56.1426"; + rotation = "0 0 1 127"; + scale = "0.7 0.7 0.7"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-240.5 -371.5 286.293"; + rotation = "0 0 1 133"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95.4986 -506.276 49.7484"; + rotation = "0 0 -1 96.0671"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "325.5 352.5 124.748"; + rotation = "0 0 1 8.00005"; + scale = "1.3 1.3 1.3"; + shapeName = "porg6.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "39.5108 50.7112 285.104"; + rotation = "0 0 -1 5.15676"; + scale = "1 1 1.0507"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "8.737 -0.5 285.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "8.3238 55.5653 284.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-37.7247 1.7271 284.938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new SimGroup(Addition5PhoenixPlant1) { + + new TSStatic() { + position = "-791.5 823.5 175.647"; + rotation = "0 0 1 204"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "454.5 -438.5 81.4082"; + rotation = "0 0 1 78"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "534.5 535.5 167.596"; + rotation = "0 0 -1 45"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "64.5 729.5 50.0937"; + rotation = "0 0 1 180"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-442.5 -532.5 175.75"; + rotation = "0 0 -1 93"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "601.5 -73.5 166.547"; + rotation = "0 0 -1 68"; + scale = "1.5 1.5 1.5"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "345.5 72.5 54.5156"; + rotation = "0 0 1 46"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-289.5 -381.5 284.309"; + rotation = "0 0 1 184"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.5 -200.5 79.5351"; + rotation = "0 0 -1 93"; + scale = "0.7 0.7 0.7"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-505.5 -84.5 218.471"; + rotation = "0 0 -1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-241.5 -42.5 104.811"; + rotation = "0 0 1 120"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-433.5 -348.5 199.502"; + rotation = "0 0 1 134"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-306.5 -586.5 208.242"; + rotation = "0 0 -1 49"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "583.5 -79.5 156.969"; + rotation = "0 0 1 12"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "852.5 -205.5 75.9668"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-20.6626 102.72 305.189"; + rotation = "0 0 1 167.486"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "22.3738 -45.7446 306.076"; + rotation = "0 0 -1 19.4805"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "376.02 -108.567 267.124"; + rotation = "0 0 -1 64.7442"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-283.207 46.3119 182.125"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-64.3049 -727.041 59.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(Bases) { + + new SimGroup(EBase) { + + new InteriorInstance() { + position = "-86.4581 -738.743 51.364"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge2) { + position = "-91.842 -737.388 64.2786"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + nameTag = "Assault Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-85.8368 -732.493 52.332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Assault Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-85.5846 -744.923 52.323"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Assault Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "-80.8688 -743.703 78.363"; + rotation = "0 0 1 141.612"; + scale = "1 1 1"; + nameTag = "Assault Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret() { + position = "-70.5915 -641.255 66.7685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "5500"; + locked = "true"; + }; + new Turret() { + position = "94.6284 -683.26 60.4525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + originalBarrel = "PlasmaBarrelLarge"; + lastProjectile = "5502"; + locked = "true"; + }; + new InteriorInstance() { + position = "12.7877 -799.755 51.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "11.8017 -808.337 51.2"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + AssaultVehicle = "Removed"; + mobileBaseVehicle = "Removed"; + locked = "true"; + }; + new StaticShape(vehicleInv) { + position = "29.1819 -836.211 53.4798"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Vehicle Pad Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-3.39839 -835.722 54.8973"; + rotation = "0 0 1 222.49"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-90.1333 -743.609 80.1698"; + rotation = "0 0 1 220.016"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new ForceFieldBare(MainDoorway) { + position = "-78.3599 -741.795 52.3462"; + rotation = "1 0 0 0"; + scale = "0.785063 6.26642 13.9218"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(LeftUpper) { + position = "-88.4751 -749.073 70.3451"; + rotation = "1 0 0 0"; + scale = "6.01818 0.799927 4.8826"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare(RightUpper) { + position = "-88.4683 -729.359 70.3148"; + rotation = "1 0 0 0"; + scale = "6.01818 0.799927 4.8826"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-70.5266 -646.285 55.9439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "94.3072 -688.319 49.6392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Roof) { + position = "-84.0401 -738.78 95.2623"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + originalBarrel = "MissileBarrelLarge"; + lastProjectile = "6634"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(defense) { + + new InteriorInstance() { + position = "-15.5504 -20.6638 284.652"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + interiorFile = "pbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new InteriorInstance() { + position = "15.194 77.3314 282.413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + AudioEnvironment = "SmallRoom"; + locked = "true"; + }; + new Item() { + position = "15.3102 70.229 312.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge1) { + position = "-8.11399 -42.8063 271.588"; + rotation = "0 0 1 90.5272"; + scale = "1 1 1"; + nameTag = "Holdfast"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + name = "Bunker"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge2) { + position = "-6.7802 -43.0255 271.588"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Holdfast"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + name = "Bunker"; + locked = "true"; + }; + new Item() { + position = "-14.7471 -32.7903 282.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "15.2334 84.7637 311.929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2SensorLargePulse1) { + position = "-56.1232 -88.395 305.148"; + rotation = "0 0 -1 57.8687"; + scale = "1 1 1"; + nameTag = "Main Sensor"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-18.2612 -29.9575 296.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-18.8244 -32.2674 282.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-14.5991 -29.9928 296.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "8.8965 70.9295 304.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "22.4336 70.5298 305.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge3) { + position = "16.7948 82.6214 294.968"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + name = "Tower"; + locked = "true"; + }; + new Item() { + position = "-11.0846 -30.0616 297.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2FlipFlop1) { + position = "-15.3318 -0.0208392 269.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + needsObjectiveWaypoint = "1"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-15.6484 -12.6499 269.508"; + rotation = "1 0 0 0"; + scale = "7.42997 0.968412 11.2878"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-10.9234 -17.1259 291.099"; + rotation = "-0 0 -1 42.9718"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + new SpawnSphere() { + position = "14.7427 74.1882 307.053"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "9.8136 30.4218 291.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "142.648 57.3514 208.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "282.723 -80.4861 195.344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-217.778 29.7983 140.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-40.0386 -55.3559 208.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "62.9439 119.138 226.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "128"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-63.0371 -93.4292 300.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/desertowl.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-285.871 -411.232 284.689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-285.696 -410.927 287.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Minotaur.mis b/public/base/@vl2/missions.vl2/missions/Minotaur.mis new file mode 100644 index 00000000..a3d91dae --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Minotaur.mis @@ -0,0 +1,1855 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//These humans are hard to catch off-guard. Rrrh, so be it! Well crush them the old-fashioned way -- brute force! +// -- from a Horde Maul tactical briefing +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//No vehicle stations +//Lightning strikes are hazardous +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "4"; + powerCount = "0"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "10"; + musicTrack = "badlands"; + + new MissionArea(MissionArea) { + area = "-536 -648 880 592"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Minotaur.ter"; + squareSize = "8"; + emptySquares = "150887 151143 154232 154488"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Minotaur.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "750"; + useSkyTextures = "1"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "600"; + fogColor = "0.200000 0.200000 0.200000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + locked = "true"; + cloudSpeed0 = "0.002000 0.003000"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BiodermPlant20) { + + new TSStatic() { + position = "-288.533 -431.44 164.261"; + rotation = "-0.231532 -0.342845 0.910412 57.8562"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-502.5 -634.5 141.369"; + rotation = "0 0 1 155"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-65.5 -129.5 195.881"; + rotation = "0 0 1 143"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-202.5 -72.5 178.143"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-60.9 -345.3 130.908"; + rotation = "0 0 1 214"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "30.5 -320.5 155.574"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-272.5 -218.5 175.229"; + rotation = "0 0 1 177"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-271.5 -276.5 178.355"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-109.9 -381.3 119.846"; + rotation = "0 0 1 131"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg20.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BiodermPlant21) { + + new TSStatic() { + position = "-203.9 -376.3 114.809"; + rotation = "0 0 1 64"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-315.5 -613.5 112.504"; + rotation = "0 0 -1 38"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "56.54 -160.408 133.985"; + rotation = "-0.53497 0.113711 0.837184 28.4922"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-187.5 -558.5 125.285"; + rotation = "0 0 -1 35"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "218.59 -106.552 162.667"; + rotation = "-0.183739 0.0475181 0.981826 208.495"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "20.5 -406.5 170.395"; + rotation = "0 0 1 182"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "279.4 -544.523 114.472"; + rotation = "-0.133371 -0.167671 -0.97678 104.308"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-447.552 -546.522 180.789"; + rotation = "0.119677 0.0243485 0.992514 157.168"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-233.9 -345.3 114.94"; + rotation = "0 0 -1 30"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "173.44 -101.693 153.868"; + rotation = "0.0902262 0.0597194 -0.994129 67.3109"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-218.516 -496.48 118.401"; + rotation = "0.0229954 -0.0649371 0.997624 141.086"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + new TSStatic() { + position = "163.44 -409.508 134.436"; + rotation = "0.144977 -0.128265 0.981086 84.0871"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition5BiodermPlant5) { + + new TSStatic() { + position = "-308.5 370.5 71.3633"; + rotation = "0 0 -1 24"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "200.5 348.5 124.172"; + rotation = "0 0 1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "210.5 159.5 148.172"; + rotation = "0 0 -1 69"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-497.5 -253.5 188.269"; + rotation = "0 0 -1 18"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-136.9 -343.3 134.092"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-16.5 -117.5 196.826"; + rotation = "0 0 1 192"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "365.5 165.5 182.314"; + rotation = "0 0 -1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-235.5 -73.5 183.48"; + rotation = "0 0 1 9.00004"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-411.5 -14.5 131.27"; + rotation = "0 0 1 89"; + scale = "1.5 1.5 1.5"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-671.5 -44.5 90.4648"; + rotation = "0 0 1 109"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1287.5 -641.5 67.1816"; + rotation = "0 0 1 150"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-994.5 337.5 153.178"; + rotation = "0 0 -1 9.00004"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition1BiodermPlant5) { + + new TSStatic() { + position = "-492.5 -632.5 140.287"; + rotation = "0 0 1 190"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-315.5 -365.5 189.799"; + rotation = "0 0 1 80"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-202.533 -438.675 112.898"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-214.5 -588.5 127.965"; + rotation = "0 0 1 174"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.5 -497.5 119.875"; + rotation = "0 0 1 52"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "211.5 -527.5 85.5723"; + rotation = "0 0 -1 111"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "227.5 -210.5 176.242"; + rotation = "0 0 1 221"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-23.79 -325.171 129.2"; + rotation = "0 0 1 108.719"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-249.5 -488.5 127.779"; + rotation = "0 0 -1 58"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-230.9 -322.3 115.635"; + rotation = "0 0 1 128"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "123.5 -66.5 140.393"; + rotation = "0 0 1 123"; + scale = "0.7 0.7 0.7"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "192.5 -357.5 129.436"; + rotation = "0 0 1 25"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-477.5 -399.5 201.33"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "286.5 -388.5 148.145"; + rotation = "0 0 -1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-256.5 -203.5 172.551"; + rotation = "0 0 1 109"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-50.9 -330.3 129.731"; + rotation = "0 0 1 132"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-111.89 -307.59 138.857"; + rotation = "0 0 -1 21"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-362.5 -286.5 166.23"; + rotation = "0 0 1 176"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-161.5 -106.5 166.646"; + rotation = "0 0 -1 77"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-255.5 -446.5 165.297"; + rotation = "0 0 -1 100"; + scale = "1.6 1.6 1.6"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + }; + new InteriorInstance() { + position = "-120.224 -344.357 132.44"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + interiorFile = "xbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-313.4 -412.343 180.871"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(base0) { + providesPower = "1"; + + new InteriorInstance() { + position = "-276.868 -418.049 161.289"; + rotation = "0 0 1 102.559"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-276.983 -418.102 171.102"; + rotation = "0 0 1 101.414"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + damageTimeMS = "442641"; + Target = "33"; + }; + new StaticShape(Team1StationInventory1) { + position = "-267.864 -425.861 163.3"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + }; + new StaticShape(Team1StationInventory2) { + position = "-265.227 -414.831 163.3"; + rotation = "0 0 1 10.8863"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + }; + new Item(Team1flag1) { + position = "-195.896 -397.84 112.943"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + Target = "36"; + }; + new StaticShape() { + position = "-195.928 -397.829 112.941"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + damageTimeMS = "226371"; + Target = "-1"; + }; + new ForceFieldBare() { + position = "-279.186 -426.668 163.189"; + rotation = "0 0 1 12.6051"; + scale = "0.590975 17.8124 6.11812"; + dataBlock = "defaultAllSlowFieldBare"; + locked = "true"; + Target = "37"; + }; + new Turret(Team1SentryTurret2) { + position = "-196.036 -405.017 112.9"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + lastProjectile = "4508"; + Target = "38"; + }; + new Turret() { + position = "-184.758 -400.271 145.37"; + rotation = "1 0 0 180.091"; + scale = "1 1 1"; + nameTag = "Upper"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + lastProjectile = "4418"; + Target = "39"; + }; + }; + new SimGroup(AIObjectives) { + + new SimGroup(Objectivesset) { + + new AIObjective(AIORepairObject) { + position = "-185.142 -400.303 146.42"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-185.142 -400.303 146.42"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-195.636 -405.217 113.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3609"; + location = "-195.636 -405.217 113.315"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3613"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + }; + new AIObjective(AIODefendLocation) { + position = "-195.748 -398.082 113.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3604"; + location = "-195.748 -398.082 113.862"; + weightLevel1 = "4900"; + weightLevel2 = "2500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-195.762 -398.077 113.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3604"; + location = "-195.762 -398.077 113.862"; + weightLevel1 = "4800"; + weightLevel2 = "3500"; + weightLevel3 = "2500"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-195.755 -398.098 113.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3604"; + location = "-195.755 -398.098 113.862"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-60.0476 -295.245 135.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "-60.0476 -295.245 135.25"; + weightLevel1 = "4950"; + weightLevel2 = "3000"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-60.0476 -295.245 135.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "-60.0476 -295.245 135.25"; + weightLevel1 = "5000"; + weightLevel2 = "4000"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-60.0476 -295.245 135.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "-60.0476 -295.245 135.25"; + weightLevel1 = "5001"; + weightLevel2 = "2100"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new SimGroup(Objectivesset) { + + new AIObjective(AIODeployEquipment) { + position = "-180.82 -378.108 71.0553"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-180.82 -378.108 71.0553"; + weightLevel1 = "4851"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3622"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-197.491 -379.272 81.6177"; + rotation = "0 0 1 30.3667"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-197.491 -379.272 81.6177"; + weightLevel1 = "4850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3622"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-191.299 -403.046 98.8793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-191.299 -403.046 98.8793"; + weightLevel1 = "4850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3622"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-196.044 -404.78 146.256"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-196.044 -404.78 146.256"; + weightLevel1 = "4850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3622"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-175.708 -345.677 81.4567"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-175.708 -345.677 81.4567"; + weightLevel1 = "4850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3622"; + isInvalid = "0"; + }; + }; + new AIObjective(AIORepairObject) { + position = "-265.032 -414.943 164.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-265.032 -414.943 164.865"; + weightLevel1 = "2500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "0"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "96.96 -330.785 170.904"; + rotation = "0 0 1 182.383"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + new SimGroup(base1) { + providesPower = "1"; + + new InteriorInstance() { + position = "65.43 -322.18 156.531"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "56.3092 -314.42 158.53"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "40"; + }; + new StaticShape(Team2StationInventory2) { + position = "53.72 -325.307 158.53"; + rotation = "0 0 1 191.55"; + scale = "1 1 1"; + nameTag = "Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "41"; + }; + new ForceFieldBare() { + position = "63.1825 -330.806 158.456"; + rotation = "0 0 1 12.6051"; + scale = "0.590975 17.8124 6.11812"; + dataBlock = "defaultAllSlowFieldBare"; + locked = "true"; + Target = "42"; + }; + new Turret(Team2SentryTurret2) { + position = "-60.52 -301.763 134.4"; + rotation = "0 1 0 179.597"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "43"; + }; + new StaticShape() { + position = "-60.58 -294.86 134.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "-1"; + }; + new Item(Team2flag1) { + position = "-60.585 -294.863 134.443"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + Target = "44"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "64.93 -322.059 166.448"; + rotation = "0 0 -1 75.0575"; + scale = "1 1 1"; + nameTag = "Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + damageTimeMS = "402636"; + Target = "45"; + }; + new Turret() { + position = "-48.424 -297 158.4"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "46"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOTouchObject) { + position = "-196.145 -398.078 113.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3604"; + location = "-196.145 -398.078 113.262"; + weightLevel1 = "4950"; + weightLevel2 = "3000"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-195.731 -398.054 113.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3604"; + location = "-195.731 -398.054 113.862"; + weightLevel1 = "5000"; + weightLevel2 = "4000"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-195.782 -398.085 113.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3604"; + location = "-195.782 -398.085 113.862"; + weightLevel1 = "5001"; + weightLevel2 = "2100"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new SimGroup(Objectivesset) { + + new AIObjective(AIORepairObject) { + position = "-48.6926 -296.853 158.72"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-48.6926 -296.853 158.72"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3650"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-60.118 -301.963 134.72"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3640"; + location = "-60.118 -301.963 134.72"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3650"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + }; + new AIObjective(AIODefendLocation) { + position = "-60.0476 -295.245 135.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "-60.0476 -295.245 135.25"; + weightLevel1 = "4900"; + weightLevel2 = "2700"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-60.0476 -295.245 135.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "-60.0476 -295.245 135.25"; + weightLevel1 = "4800"; + weightLevel2 = "3500"; + weightLevel3 = "2500"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-60.0476 -295.245 135.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "-60.0476 -295.245 135.25"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "2000"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new SimGroup(Objectivesset) { + + new AIObjective(AIODeployEquipment) { + position = "-90.6133 -307.127 111.441"; + rotation = "0.00199991 -0.00505712 0.999985 226.318"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-90.6133 -307.127 111.441"; + weightLevel1 = "4951"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3656"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-95.6809 -287.182 111.292"; + rotation = "7.48526e-06 -3.45767e-06 -1 46.9826"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-95.6809 -287.182 111.292"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3656"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-52.7295 -292.894 110.984"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-52.7295 -292.894 110.984"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3656"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-59.6 -300.12 159.346"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-59.6 -300.12 159.346"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3656"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-115.603 -297.079 122.983"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-115.603 -297.079 122.983"; + weightLevel1 = "4950"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3656"; + isInvalid = "0"; + }; + }; + new AIObjective(AIORepairObject) { + position = "56.286 -314.39 159.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "56.286 -314.39 159.913"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "0"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(team0) { + + new Item() { + position = "-44.9582 -296.699 150.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-181.706 -399.805 137.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-177.318 -349.64 169.049"; + rotation = "0 0 1 202.254"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-88.48 -244.583 171.244"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-190.228 -398.372 123.246"; + rotation = "-0.212287 -0.394 0.894258 231.452"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-65.2935 -344.244 106.801"; + rotation = "0.501182 0.197279 -0.842554 50.0823"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-56.3801 -301.524 136.736"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Miskellany) { + + new Item() { + position = "-182.646 -350.256 71.742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-170.114 -279.918 89.7787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + }; + new SimGroup(Ambience) { + + new TSStatic() { + position = "-192.149 -406.215 97.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-191.283 -406.197 97.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.059 -405.772 97.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.888 -405.818 97.94"; + rotation = "0 0 1 34.3775"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-186.075 -404.85 98.22"; + rotation = "-0.749872 0.466646 0.46897 105.591"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185.218 -395.064 97.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-196.071 -376.083 80.44"; + rotation = "0 0 1 29.2208"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-181.197 -376.661 80.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.302 -349.715 80.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-188.694 -341.84 80.4381"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-186.832 -342.888 81.4666"; + rotation = "-0.270226 -0.496461 0.824927 53.6613"; + scale = "0.99 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116.836 -344.537 92.2068"; + rotation = "0.258044 -0.253136 -0.932382 95.1051"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-49.794 -293.484 110.44"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-50.383 -302.596 110.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-116.063 -290.914 111.989"; + rotation = "-0.551405 -0.385083 0.740043 119.688"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-114.213 -291.898 110.44"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "-201.38 -415.042 156.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "-67.819 -311.53 92.6281"; + rotation = "0.063701 -0.978634 0.195492 36.8317"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-67.377 -305.708 91.3731"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-145.924 -301.798 88.44"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-170.54 -293.325 88.44"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-170.466 -289.313 88.44"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-78.867 -294.067 110.44"; + rotation = "0 0 -1 61.8794"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-93.441 -306.525 110.44"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-93.357 -301.557 110.44"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-93.414 -306.507 112.44"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-200.231 -392.278 114.714"; + rotation = "3.46431e-09 -1.05458e-08 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-63.0197 -347.938 96.44"; + rotation = "0 0 -1 21.7724"; + scale = "3 3 3"; + shapeName = "stackable5m.dts"; + locked = "true"; + }; + new Lightning() { + position = "-100.876 -342.565 174.976"; + rotation = "1 0 0 0"; + scale = "982.77 682.62 300"; + dataBlock = "DefaultStorm"; + strikesPerMinute = "6"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.95"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.300000 0.300000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/MyrkWood.mis b/public/base/@vl2/missions.vl2/missions/MyrkWood.mis new file mode 100644 index 00000000..2b6dda10 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/MyrkWood.mis @@ -0,0 +1,1953 @@ +// DisplayName = Myrkwood +// MissionTypes = Hunters DM Rabbit + +//--- MISSION QUOTE BEGIN --- +//He dropped to his knees, and death was a mist about him. +// -- Homer, The Iliad +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters]Nexus is inside a small structure near center of map +//Visibility severely limited +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-528 -184 464 368"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "680 824 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "150"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "50"; + fogColor = "0.150000 0.150000 0.150000 1.000000"; + fogVolume1 = "100 0 450"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + position = "680 824 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "MyrkWood.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + locked = "true"; + scale = "1 1 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + GraphFile = "Myrkwood.nav"; + }; + new WaterBlock(Water) { + position = "-688 -208 0"; + rotation = "1 0 0 0"; + scale = "800 160 67"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.4"; + removeWetEdges = "1"; + locked = "true"; + AudioEnvironment = Underwater; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-331.208 9.361 95.4242"; + rotation = "0.0340704 -0.159226 0.986654 156.158"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-321.814 -126.555 86.5132"; + rotation = "1 0 0 9.16737"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-314 -7.5 103.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + + new InteriorInstance() { + position = "-452.496 91.6867 75.5001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-320.397 -7.5 75.6299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-142.67 4.7761 81.6749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-328.273 124.019 77.4224"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-162.589 113.516 79.2286"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-314.529 -7.57016 77.6354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Trigger(NexusTrigger) { + position = "-344.667 20.5914 75.9335"; + rotation = "1 0 0 0"; + scale = "60 60 20"; + dataBlock = "gameTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -0.0000000 1.0000000 -0.0000000 -1.0000000 -0.0000000"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Item() { + position = "-314.529 -7.57016 76.1623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + missionTypesList = "Hunters"; + flashThreadDir = "1"; + }; + new StaticShape() { + position = "-314.529 -7.57016 84.1054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new WayPoint() { + position = "-314 -7.5 78.7254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new WayPoint() { + position = "-314 -7.5 78.7254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Mission Center"; + team = "0"; + locked = "true"; + missionTypesList = "DM"; + }; + new Item(Teamflag1) { + position = "-314 -7.5 77.6741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + carrier = "0"; + missionTypesList = "Rabbit"; + }; + new StaticShape() { + position = "-142.591 4.5794 83.167"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "East bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(TeamStationInventory1) { + position = "-447.764 86.9858 77.4992"; + rotation = "-0.00499997 -0.00211865 0.999985 134.073"; + scale = "1 1 1"; + nameTag = "NW Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(TeamStationInventory2) { + position = "-457.151 96.345 77.4924"; + rotation = "0 0 -1 41.8259"; + scale = "1 1 1"; + nameTag = "NW Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(TeamStationInventory3) { + position = "-321.479 119.418 79.421"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + nameTag = "North bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(TeamStationInventory5) { + position = "-159.989 118.456 81.226"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + nameTag = "NE Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(TeamStationInventory4) { + position = "-165.174 108.532 81.2265"; + rotation = "0 0 1 208.739"; + scale = "1 1 1"; + nameTag = "NE Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Organics) { + + new TSStatic() { + position = "-478.404 182.929 105.464"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-447.935 -73.6998 74.2662"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-433.863 -80.7691 69.3847"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-418.544 -62.1353 72.5431"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-446.094 -92.3373 69.2482"; + rotation = "0 0 1 46.9825"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-65.686 -29.5787 123.276"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-318.98 65.6104 76.3744"; + rotation = "0 0 1 41.2529"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "false"; + }; + new TSStatic() { + position = "-3.5302 40.3737 105.209"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-132.316 96.881 75.8713"; + rotation = "0 0 1 82.5059"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-101.326 -76.1011 69.8174"; + rotation = "0 0 -1 4.01071"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-198.879 114.477 79.8738"; + rotation = "-0.0762667 -0.298685 0.951299 30.0497"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-262.677 107.028 79.4741"; + rotation = "0 0 -1 55.5769"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-336.358 37.8844 76.1395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-491.153 130.239 76.7565"; + rotation = "0 0 -1 28.0749"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-326.795 12.2121 74.4145"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-469.064 28.7926 75.5744"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-272.454 166.878 104.361"; + rotation = "0 0 1 201.864"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-289.844 120.453 74.7944"; + rotation = "0 0 1 85.3707"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-178.425 68.0898 78.8081"; + rotation = "0 0 1 4.58367"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-166.313 146.862 79.317"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-407.067 -164.187 69.0597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-246.312 50.6312 80.1539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-190.597 -188.859 75.0842"; + rotation = "0 0 -1 44.1177"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-294.797 -54.4529 73.0346"; + rotation = "0 0 -1 51.5662"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-125.714 25.7259 80.7404"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-134.872 -39.7799 71.6557"; + rotation = "0 0 -1 84.2248"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-333.431 150.851 75.1151"; + rotation = "0 0 1 6.8755"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-396.163 161.873 89.0533"; + rotation = "0 0 -1 99.1217"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-321.881 35.7059 75.3399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-276.551 77.2367 76.4214"; + rotation = "0 0 1 5.72956"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-466.434 -26.5853 75.3814"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-358.513 -36.881 75.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-360.938 -78.2364 69.3066"; + rotation = "0 0 1 2.29172"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-241.275 -52.1734 73.3893"; + rotation = "0 0 1 61.3065"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-440.571 75.2409 74.6431"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-192.319 96.715 78.2198"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-362.951 18.2381 75.8574"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-400.461 85.7012 77.1569"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-190.337 17.9785 78.5922"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-281.603 -31.5809 76.488"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-184.326 -59.4508 70.7196"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-366.947 -56.2186 72.5292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-328.766 -97.4357 65.5958"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-176.17 45.8146 82.4821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-0.2455 -89.633 123.377"; + rotation = "0 0 -1 82.5059"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-391.627 13.1573 75.0138"; + rotation = "0 0 -1 4.01071"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-343.237 108.208 77.4368"; + rotation = "0 0 -1 116.31"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-389.399 117.602 90.729"; + rotation = "0 0 1 33.2315"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-245.948 -2.85577 79.1791"; + rotation = "0 0 -1 4.01071"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + locked = "false"; + }; + new TSStatic() { + position = "-360.249 -197.182 78.9132"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-393.203 44.9129 74.6529"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-56.7124 -167.401 71.3088"; + rotation = "0 0 -1 100.268"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-232.049 42.1379 79.7314"; + rotation = "0 0 1 25.7831"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-165.873 94.9849 78.6566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-161.821 -33.4263 74.012"; + rotation = "0 0 -1 18.9076"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-401.234 235.705 93.2531"; + rotation = "0 0 -1 16.0428"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-204.083 44.0345 80.8086"; + rotation = "0 0 -1 38.3882"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-76.9543 68.4643 118.259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-64.4174 1.7842 126.145"; + rotation = "0 0 1 127.952"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "9.0666 110.759 101.996"; + rotation = "0 0 -1 9.74027"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "18.4847 331.652 92.2696"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-67.0733 41.2139 125.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-233.165 153.747 111.236"; + rotation = "0 0 -1 8.02137"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-521.834 71.9963 100.255"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-352.212 4.745 76.9591"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-533.716 -75.7519 116.151"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-657.594 32.0365 118.283"; + rotation = "0 0 -1 116.883"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-590.695 145.688 114.328"; + rotation = "0 0 -1 59.0147"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-534.861 246.949 136.055"; + rotation = "0 0 1 202.437"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-587.709 204.911 120.095"; + rotation = "0 0 1 1.71915"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-498.558 311.28 115.858"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-236.623 -163.727 70.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-286.46 249.985 96.268"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-153.852 -148.474 69.0581"; + rotation = "0 0 -1 88.2355"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-90.6857 -203.101 72.7709"; + rotation = "0 0 1 233.376"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "37.576 -233.532 76.4848"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-13.3515 -194.084 75.0712"; + rotation = "0 0 1 217.906"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-46.7129 -279.078 72.5772"; + rotation = "0 0 -1 28.6479"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-390.863 -241.458 77.5906"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-473.717 -292.328 77.3098"; + rotation = "0 0 -1 105.424"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-219.261 -40.4285 75.5622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-658.983 -186.558 68.0028"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-548.984 4.5035 106.197"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-299.978 17.6454 75.1239"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-283.772 100.292 78.2563"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-442.926 22.3572 77.7418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-355.715 220.98 84.9762"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-232.516 191.294 114.271"; + rotation = "0 0 1 236.814"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-172.87 182.123 106.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-50.054 143.355 103.043"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-7.2864 -18.4824 119.346"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-48.3023 -221.269 74.4921"; + rotation = "0 0 -1 68.182"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-229.935 -206.093 76.9745"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-279.617 -283.113 81.228"; + rotation = "0 0 -1 81.36"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-313.166 -182.639 74.8101"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-340.427 -286.923 80.6801"; + rotation = "0 0 -1 65.3172"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-448.353 -269.762 78.624"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-469.683 -202.709 75.3412"; + rotation = "0 0 1 97.9758"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-654.719 -82.4381 97.7275"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-362.955 -5.7265 76.3938"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-205.946 -21.1204 76.4421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new SimGroup(plants) { + }; + new TSStatic() { + position = "-241 -68.4743 74.1749"; + rotation = "0 0 -1 97.4028"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-354.118 66.2093 76.5801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-429.181 79.9388 76.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-398.771 -75.7218 71.6629"; + rotation = "0 0 1 232.23"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-162.587 -209.1 75.7355"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-108.706 -172.448 73.1982"; + rotation = "0 0 -1 52.1391"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + }; + new SimGroup(AudioCreatures) { + + new AudioEmitter(Frog1) { + position = "-312.361 -130.772 70.7249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Frog2) { + position = "-440.974 -137.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Frog3) { + position = "-200.974 -126.948 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Frog4) { + position = "-102.174 -123.548 72.9539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Frog5) { + position = "33.5644 -149.685 71.8847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Frog6) { + position = "-554.211 -152.37 78.9209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Bird1) { + position = "-123.276 28.4301 116.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Crickets) { + position = "-254.789 -4.9169 78.8753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Bird2) { + position = "-288.977 118.926 110.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Bird3) { + position = "-464.766 -25.1102 114.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Eerie_Fog) { + position = "-313.707 -7.9654 88.1657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "300"; + maxDistance = "19200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter(Bird4) { + position = "-464.866 108.756 106.983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(AudioWater) { + + new AudioEmitter() { + position = "-505.098 -144.393 75.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-443.713 -140.62 75.3064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-356.271 -140.956 74.3973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-269.508 -127.461 79.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-181.594 -114.427 79.3438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-96.0414 -118.626 82.6969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-41.5698 -136.325 76.8384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "39.9091 -142.126 76.7012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AIObjective(AIODefendLocation) { + position = "-314 -7.5 79.3174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Teamflag1"; + targetClientId = "-1"; + targetObjectId = "5516"; + location = "-314 -7.5 79.3174"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "Rabbit"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-314 -7.5 79.3174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Teamflag1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-1 -4 0"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "Rabbit"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-314 -7.5 79.3174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Teamflag1"; + targetClientId = "-1"; + targetObjectId = "5516"; + location = "-314 -7.5 79.3174"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "Rabbit"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-447.775 86.9745 79.0649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory1"; + targetClientId = "-1"; + targetObjectId = "5518"; + location = "-447.775 86.9745 79.0649"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-447.775 86.9745 79.0649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory1"; + targetClientId = "-1"; + targetObjectId = "5518"; + location = "-447.775 86.9745 79.0649"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-457.151 96.345 79.0582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory2"; + targetClientId = "-1"; + targetObjectId = "5520"; + location = "-457.151 96.345 79.0582"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-457.151 96.345 79.0582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory2"; + targetClientId = "-1"; + targetObjectId = "5520"; + location = "-457.151 96.345 79.0582"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-321.479 119.418 80.9868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory3"; + targetClientId = "-1"; + targetObjectId = "5522"; + location = "-321.479 119.418 80.9868"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-321.479 119.418 80.9868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory3"; + targetClientId = "-1"; + targetObjectId = "5522"; + location = "-321.479 119.418 80.9868"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-165.174 108.532 82.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory4"; + targetClientId = "-1"; + targetObjectId = "5525"; + location = "-165.174 108.532 82.7923"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-165.174 108.532 82.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory4"; + targetClientId = "-1"; + targetObjectId = "5525"; + location = "-165.174 108.532 82.7923"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-159.989 118.456 82.7918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "TeamStationInventory5"; + targetClientId = "-1"; + targetObjectId = "5527"; + location = "-159.989 118.456 82.7918"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-159.989 118.456 82.7918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "TeamStationInventory5"; + targetClientId = "-1"; + targetObjectId = "5527"; + location = "-159.989 118.456 82.7918"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-188.172 43.5596 50.1089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "TeamgeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "5529"; + location = "-188.172 43.5596 50.1089"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-188.172 43.5596 50.1089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "TeamgeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "5529"; + location = "-188.172 43.5596 50.1089"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-188.172 43.5596 50.1089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "TeamgeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "5529"; + location = "-188.172 43.5596 50.1089"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Oasis.mis b/public/base/@vl2/missions.vl2/missions/Oasis.mis new file mode 100644 index 00000000..ec1f8903 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Oasis.mis @@ -0,0 +1,827 @@ +// MissionTypes = DM + +//--- MISSION QUOTE BEGIN --- +//As a lion fights a boar in wild combat over a little spring of water, both wanting to drink there, so did these tribes battle in their pride. +// -- from The Book of Phoenix, 3870 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Inventory stations available in all towers +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + DM_scoreLimit = "25"; + cdTrack = "6"; + musicTrack = "desert"; + DM_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-400 -360 752 752"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + position = "-1680 -1880 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Oasis.ter"; + squareSize = "8"; + emptySquares = "359010"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + coverage = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + locked = "true"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "Oasis.nav"; + }; + new Sky(Sky) { + position = "-1680 -1880 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "275"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "120 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new WaterBlock() { + position = "-128 -96 90"; + rotation = "1 0 0 0"; + scale = "128 96 12"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + locked = "true"; + AudioEnvironment = Underwater; + }; + new SimGroup(environment) { + + new TSStatic() { + position = "-46.068 -90.5109 114.357"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-117.452 -39.1965 105.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg34.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-97.266 -33.5638 105.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg33.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-122.789 -30.4939 104.096"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-52.1118 -103.14 180.539"; + rotation = "0.363528 0.0766801 -0.928422 25.6001"; + scale = "1 1 0.930191"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-186.237 59.4353 205.297"; + rotation = "0.15534 -0.287211 0.945188 125.847"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-178.244 -55.5781 115.216"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-43.2597 -178.425 205.963"; + rotation = "0.558326 0.148527 -0.816218 36.1036"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team0) { + + new SimGroup(Base0) { + + new StaticShape() { + position = "-202.863 -44.7028 122.075"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "West Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-207.1 -40.064 97.59"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1"; + nameTag = "West Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-202.509 -44.8018 107.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "-102.796 21.1962 139.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "-58.1054 -111.149 132.645"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new Item() { + position = "-209.9 -44.7356 105.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-208.747 -50.5824 97.59"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "West Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-70.6533 -106.666 126.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "South Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-101.038 26.3027 142.92"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "North Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-115.116 27.4632 132.54"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "North Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-90.4074 27.4432 132.54"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "North Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-60.196 -115.78 126.66"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "South Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-64.0443 -106.333 135.48"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "South Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-70.435 -46.3061 116.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "180"; + sphereWeight = "100"; + indoorWeight = "10"; + outdoorWeight = "90"; + locked = "true"; + }; + }; + new WayPoint() { + position = "-112 -96 110.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Oasis"; + team = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition4BEPlant1) { + + new TSStatic() { + position = "-105 -82 103.342"; + rotation = "0.462131 -0.253345 0.849854 46.3684"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25 -2 121.987"; + rotation = "-0.0144114 0.0336269 0.999331 141.024"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-105 -106 123.459"; + rotation = "-0.108457 0.315024 0.942866 200.771"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-140.51 16.8311 131.494"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-49.5967 -116.738 125.795"; + rotation = "0 1 0 7.44851"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-94.8663 35.5787 131.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new SimGroup(Addition5PhoenixPlant1) { + + new TSStatic() { + position = "-41 206 179.164"; + rotation = "0 0 1 6.00018"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-265 134 115.195"; + rotation = "0 0 1 149"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "63 118 180.078"; + rotation = "0 0 -1 109"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "87 70 167.875"; + rotation = "0 0 -1 69.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-201 -98 127.793"; + rotation = "0 0 1 192"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-145 -34 106.539"; + rotation = "0 0 1 7.00012"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-137 150 168.086"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185 -34 104.965"; + rotation = "0 0 1 236"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "47 110 181.051"; + rotation = "0 0 1 110"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-129 126 170.215"; + rotation = "0 0 1 39"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95 214 146.312"; + rotation = "0 0 -1 105"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-57 118 163.344"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-201 -26 110.246"; + rotation = "0 0 1 36"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-241 6 113.391"; + rotation = "0 0 1 99.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95 110 169.32"; + rotation = "0 0 -1 96.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-105 174 174.695"; + rotation = "0 0 -1 20.9998"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-169 -130 120.356"; + rotation = "0 0 -1 118"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-113 54 132.18"; + rotation = "0 0 -1 59.0003"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant2) { + + new TSStatic() { + position = "-137 102 168.824"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185 206 150.68"; + rotation = "0 0 -1 86.0004"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-257 -2 108.727"; + rotation = "0 0 1 236"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-265 38 137.941"; + rotation = "0 0 -1 104"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1 94 165.027"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "23 -58 130.398"; + rotation = "0 0 1 32"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-169 -138 122.379"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "23 214 155.297"; + rotation = "0 0 1 7.00012"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-97 102 151.262"; + rotation = "0 0 1 34"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-41 -178 177.32"; + rotation = "0 0 1 139"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25 134 158.785"; + rotation = "0 0 1 79"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-257 -186 180.27"; + rotation = "0 0 1 96.0002"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "103 -186 196.887"; + rotation = "0 0 1 70.9998"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "71 174 182.895"; + rotation = "0 0 1 192"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-17 166 166.719"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "71 102 175.273"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95 -170 187.805"; + rotation = "0 0 1 113"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25 70 142"; + rotation = "0 0 1 239"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition1BELgTree18) { + + new TSStatic() { + position = "-97.206 -50.249 101.355"; + rotation = "0 0 1 58.9997"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-32.5498 3.139 117.762"; + rotation = "0 0 1 57.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "-60.3481 -42.8411 108.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-121.581 -30.8508 119.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "3"; + maxDistance = "192"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-293.673 -11.7674 116.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-106.738 165.746 185.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "154.36 64.0897 179.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "23.604 -178.446 194.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-210.922 -185.037 192.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Overreach.mis b/public/base/@vl2/missions.vl2/missions/Overreach.mis new file mode 100644 index 00000000..6cfc8d15 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Overreach.mis @@ -0,0 +1,8177 @@ +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//Let your plans be dark and impenetrable as the night, and when you move, fall like a thunderbolt. +// -- Sun-Tzu, The Art of War +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]3 control towers +//[CnH]3600 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + cdTrack = "5"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-880 -840 1728 1712"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Overreach.ter"; + squareSize = "8"; + emptySquares = "270891 271147 271403 271659 271915 316897 382688 382944 383200 317921"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + coverage = "0"; + GraphFile = "Overreach.nav"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + high_visibleDistance = "700"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.100000 0.100000 0.100000 0.000000"; + fogDistance = "0"; + fogColor = "0.100000 0.100000 0.150000 1.000000"; + fogVolume1 = "450 0 200"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + high_fogVolume1 = "800 200 225"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000300"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-540.959 -742.604 140.945"; + rotation = "0.109108 0.059606 -0.992241 57.6721"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "309.61 -480.82 122.211"; + rotation = "0.367584 -0.106179 0.923909 34.7233"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-338.673 156.59 157.07"; + rotation = "0.227082 -0.240941 0.9436 96.7049"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-601.87 577.61 134.837"; + rotation = "-0.017592 -0.208428 0.97788 189.437"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "788.93 627.97 144.168"; + rotation = "0.636002 0.130428 -0.760585 30.1794"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team0) { + + new SimGroup(Dawn) { + + new InteriorInstance() { + position = "-618.08 499.14 64.9186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop1) { + position = "-619.073 475.12 69.9208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dawn Hold"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Dawn Hold"; + locked = "true"; + }; + new StaticShape() { + position = "-619.467 474.36 98.7565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "-589.436 475.18 76.9189"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Dawn Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "-619.014 445.49 76.9208"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dawn Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "-648.73 475.17 76.9135"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Dawn Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "-619.356 504.79 76.9161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dawn Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-624.307 470.2 85.4279"; + rotation = "1 0 0 0"; + scale = "10 10 0.25"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "-646.31 481.51 85.9256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dawn Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-646.224 468.75 85.9232"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dawn Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory7) { + position = "-592.029 481.52 85.9151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dawn Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory8) { + position = "-591.904 468.76 85.9151"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dawn Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory9) { + position = "-619.027 438.49 94.4168"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dawn Hold Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory10) { + position = "-619.067 511.78 94.4177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dawn Hold Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge1) { + position = "-599.188 475.18 69.9148"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Dawn Hold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge2) { + position = "-639.001 475.05 69.9122"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Dawn Hold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-619.096 453.13 70.0896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0SentryTurret1) { + position = "-619.069 498.64 73.6869"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + nameTag = "Dawn Hold"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Item() { + position = "-618.072 497.13 70.2068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-620.133 497.15 70.2068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-619.069 496.57 70.2068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge1) { + position = "-605.855 488.07 85.9196"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Dawn Hold"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge2) { + position = "-632.261 462.18 85.9204"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Dawn Hold"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + new WayPoint() { + position = "-619.073 475.12 69.9208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Dawn Hold"; + team = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-619.073 475.12 79.9208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(Day) { + + new InteriorInstance() { + position = "-172.391 170.7 63.8093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop2) { + position = "-173.384 146.68 68.8115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Day Hold"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Day Hold"; + locked = "true"; + }; + new WayPoint() { + position = "-173.384 146.68 68.8115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Day Hold"; + team = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-173.384 146.68 78.8115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new StaticShape() { + position = "-173.778 145.92 97.6471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory11) { + position = "-143.747 146.74 75.8096"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Day Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory12) { + position = "-173.325 117.05 75.8115"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Day Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory13) { + position = "-203.041 146.73 75.8042"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Day Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory14) { + position = "-173.667 176.35 75.8068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Day Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-178.207 141.517 84.0331"; + rotation = "1 0 0 0"; + scale = "10 10 0.25"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory15) { + position = "-200.621 153.07 84.8162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Day Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory16) { + position = "-200.535 140.31 84.8138"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Day Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory17) { + position = "-146.34 153.08 84.8057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Day Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory18) { + position = "-146.215 140.32 84.8057"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Day Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory19) { + position = "-173.338 110.05 93.3074"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Day Hold Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory20) { + position = "-173.378 183.34 93.3083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Day Hold Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge3) { + position = "-153.499 146.74 68.8055"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Day Hold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge4) { + position = "-193.312 146.61 68.8029"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Day Hold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-173.407 124.69 68.9803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0SentryTurret2) { + position = "-173.38 170.2 72.5776"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + nameTag = "Day Hold"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Item() { + position = "-172.383 168.69 69.0975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-174.444 168.71 69.0975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-173.38 168.13 69.0975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge3) { + position = "-160.166 159.63 84.8102"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Day Hold"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge4) { + position = "-186.572 133.74 84.811"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Day Hold"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + }; + new SimGroup(Dusk) { + + new InteriorInstance() { + position = "379.52 -367.048 65.2361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop3) { + position = "378.53 -391.068 70.2383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dusk Hold"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Dusk Hold"; + locked = "true"; + }; + new WayPoint() { + position = "378.53 -391.068 70.2383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Dusk Hold"; + team = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "378.53 -391.068 80.2383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new StaticShape() { + position = "378.14 -391.828 99.0739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory21) { + position = "408.17 -391.008 77.2364"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Dusk Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory22) { + position = "378.59 -420.698 77.2383"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dusk Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory23) { + position = "348.87 -391.018 77.231"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Dusk Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory24) { + position = "378.25 -361.398 77.2336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dusk Hold Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "373.981 -396.182 85.6969"; + rotation = "1 0 0 0"; + scale = "10 10 0.25"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory25) { + position = "351.29 -384.678 86.243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dusk Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory26) { + position = "351.38 -397.438 86.2406"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dusk Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory27) { + position = "405.57 -384.668 86.2325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dusk Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory28) { + position = "405.7 -397.428 86.2325"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dusk Hold Wing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory29) { + position = "378.57 -427.698 94.7342"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Dusk Hold Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory30) { + position = "378.53 -354.408 94.7351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Dusk Hold Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge5) { + position = "398.41 -391.008 70.2323"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Dusk Hold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge6) { + position = "358.6 -391.138 70.2297"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Dusk Hold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "378.51 -413.058 70.4071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0SentryTurret3) { + position = "378.53 -367.548 74.0044"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + nameTag = "Dusk Hold"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Item() { + position = "379.53 -369.058 70.5243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "377.47 -369.038 70.5243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "378.53 -369.618 70.5781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge5) { + position = "391.75 -378.118 86.237"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Dusk Hold"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + new Turret(Team0TurretBaseLarge6) { + position = "365.34 -404.008 86.2378"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Dusk Hold"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + locked = "true"; + }; + }; + new SimGroup(repHut1) { + + new Item() { + position = "-16.91 -537.657 52.3465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-20.93 -537.622 52.3296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-20.84 -541.537 52.3586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-16.88 -541.493 52.3523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-18.89 -539.552 51.7931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-18.93 -539.564 60.5732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(repHut2) { + + new Item() { + position = "-261.765 565.9 51.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-264.764 568.58 51.8231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-267.278 565.57 51.8521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-264.272 563 51.8458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-264.503 565.78 51.2866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-264.541 565.8 60.0667"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(repHut3) { + + new Item() { + position = "-453.924 -86.13 109.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-457.944 -86.095 109.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-457.854 -90.01 109.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-453.894 -89.966 109.568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-455.904 -88.025 109.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-455.944 -88.037 117.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(repHut4) { + + new Item() { + position = "420.18 89.28 87.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "416.16 89.32 87.0291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "416.25 85.4 87.0581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "420.21 85.45 87.0518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "418.2 87.39 86.4926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "418.16 87.37 95.2727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(rephut5) { + + new Item() { + position = "-432.595 144.51 94.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-436.615 144.55 94.6331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-436.525 140.63 94.6621"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-432.565 140.68 94.6558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-434.575 142.62 94.0966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-434.615 142.6 102.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + }; + }; + new SimGroup(team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-664.223 -734.181 128.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-635.345 -649.356 70.7518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-616 -736 98.3256"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new WayPoint() { + position = "-664.223 -734.181 118.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-612.346 -739.801 84.8357"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-633.942 -740.034 85.7768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-610.674 -740.008 76.8263"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Generator"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-638.631 -748.135 78.3219"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-638.802 -731.37 78.3264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-670.347 -746.526 101.323"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Balcony"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "-664.382 -739.53 85.3289"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-666.788 -739.549 101.607"; + rotation = "0.57735 0.57735 -0.57735 120"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new StaticShape() { + position = "-635.496 -663.764 70.4518"; + rotation = "0 0 1 180.573"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3557"; + locked = "true"; + }; + new Item() { + position = "-643.686 -687.438 73.4978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIODefendLocation) { + position = "-619.073 475.12 71.5545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-619.073 475.12 71.5545"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-619.073 475.12 71.5545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-619.073 475.12 71.5545"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-589.436 475.18 78.4847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3393"; + location = "-589.436 475.18 78.4847"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-589.436 475.18 78.4847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3393"; + location = "-589.436 475.18 78.4847"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.014 445.49 78.4866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3395"; + location = "-619.014 445.49 78.4866"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.014 445.49 78.4866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3395"; + location = "-619.014 445.49 78.4866"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-648.73 475.17 78.4793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3397"; + location = "-648.73 475.17 78.4793"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-648.73 475.17 78.4793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3397"; + location = "-648.73 475.17 78.4793"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.356 504.79 78.4819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3399"; + location = "-619.356 504.79 78.4819"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.356 504.79 78.4819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3399"; + location = "-619.356 504.79 78.4819"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-646.31 481.51 87.4914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-646.31 481.51 87.4914"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-646.31 481.51 87.4914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-646.31 481.51 87.4914"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-646.224 468.75 87.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-646.224 468.75 87.489"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-646.224 468.75 87.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-646.224 468.75 87.489"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-592.029 481.52 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3408"; + location = "-592.029 481.52 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-592.029 481.52 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3408"; + location = "-592.029 481.52 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-591.904 468.76 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3410"; + location = "-591.904 468.76 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-591.904 468.76 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3410"; + location = "-591.904 468.76 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.027 438.49 95.9826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3412"; + location = "-619.027 438.49 95.9826"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.027 438.49 95.9826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3412"; + location = "-619.027 438.49 95.9826"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.067 511.78 95.9835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3414"; + location = "-619.067 511.78 95.9835"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.067 511.78 95.9835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3414"; + location = "-619.067 511.78 95.9835"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-597.867 475.19 71.4195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-597.867 475.19 71.4195"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-597.867 475.19 71.4195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-597.867 475.19 71.4195"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-597.867 475.19 71.4195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-597.867 475.19 71.4195"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-640.322 475.04 71.4169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3417"; + location = "-640.322 475.04 71.4169"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-640.322 475.04 71.4169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3417"; + location = "-640.322 475.04 71.4169"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-640.322 475.04 71.4169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3417"; + location = "-640.322 475.04 71.4169"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.069 498.32 73.6869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3419"; + location = "-619.069 498.32 73.6869"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-619.069 498.32 73.6869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team0SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3419"; + location = "-619.069 498.32 73.6869"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-605.388 488.54 87.6711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3423"; + location = "-605.388 488.54 87.6711"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-605.388 488.54 87.6711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3423"; + location = "-605.388 488.54 87.6711"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-632.728 461.71 87.6719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3424"; + location = "-632.728 461.71 87.6719"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-632.728 461.71 87.6719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3424"; + location = "-632.728 461.71 87.6719"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-173.384 146.68 70.4452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3429"; + location = "-173.384 146.68 70.4452"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-173.384 146.68 70.4452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3429"; + location = "-173.384 146.68 70.4452"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-143.747 146.74 77.3754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3433"; + location = "-143.747 146.74 77.3754"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-143.747 146.74 77.3754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3433"; + location = "-143.747 146.74 77.3754"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.325 117.05 77.3773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3435"; + location = "-173.325 117.05 77.3773"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.325 117.05 77.3773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3435"; + location = "-173.325 117.05 77.3773"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-203.041 146.73 77.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory13"; + targetClientId = "-1"; + targetObjectId = "3437"; + location = "-203.041 146.73 77.37"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-203.041 146.73 77.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory13"; + targetClientId = "-1"; + targetObjectId = "3437"; + location = "-203.041 146.73 77.37"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.667 176.35 77.3726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory14"; + targetClientId = "-1"; + targetObjectId = "3439"; + location = "-173.667 176.35 77.3726"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.667 176.35 77.3726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory14"; + targetClientId = "-1"; + targetObjectId = "3439"; + location = "-173.667 176.35 77.3726"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-200.621 153.07 86.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory15"; + targetClientId = "-1"; + targetObjectId = "3443"; + location = "-200.621 153.07 86.382"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-200.621 153.07 86.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory15"; + targetClientId = "-1"; + targetObjectId = "3443"; + location = "-200.621 153.07 86.382"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-200.535 140.31 86.3796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory16"; + targetClientId = "-1"; + targetObjectId = "3445"; + location = "-200.535 140.31 86.3796"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-200.535 140.31 86.3796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory16"; + targetClientId = "-1"; + targetObjectId = "3445"; + location = "-200.535 140.31 86.3796"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-146.34 153.08 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory17"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-146.34 153.08 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-146.34 153.08 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory17"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-146.34 153.08 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-146.215 140.32 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory18"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-146.215 140.32 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-146.215 140.32 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory18"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-146.215 140.32 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.338 110.05 94.8732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory19"; + targetClientId = "-1"; + targetObjectId = "3451"; + location = "-173.338 110.05 94.8732"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.338 110.05 94.8732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory19"; + targetClientId = "-1"; + targetObjectId = "3451"; + location = "-173.338 110.05 94.8732"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.378 183.34 94.8741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory20"; + targetClientId = "-1"; + targetObjectId = "3453"; + location = "-173.378 183.34 94.8741"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.378 183.34 94.8741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory20"; + targetClientId = "-1"; + targetObjectId = "3453"; + location = "-173.378 183.34 94.8741"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-152.178 146.75 70.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-152.178 146.75 70.3102"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-152.178 146.75 70.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-152.178 146.75 70.3102"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-152.178 146.75 70.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-152.178 146.75 70.3102"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-194.633 146.6 70.3076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-194.633 146.6 70.3076"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-194.633 146.6 70.3076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-194.633 146.6 70.3076"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-194.633 146.6 70.3076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-194.633 146.6 70.3076"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.38 169.88 72.5776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3458"; + location = "-173.38 169.88 72.5776"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-173.38 169.88 72.5776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team0SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3458"; + location = "-173.38 169.88 72.5776"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-159.699 160.1 86.5617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "-159.699 160.1 86.5617"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-159.699 160.1 86.5617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "-159.699 160.1 86.5617"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-187.039 133.27 86.5625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "-187.039 133.27 86.5625"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-187.039 133.27 86.5625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "-187.039 133.27 86.5625"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "378.53 -391.068 71.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3466"; + location = "378.53 -391.068 71.872"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "378.53 -391.068 71.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3466"; + location = "378.53 -391.068 71.872"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "408.17 -391.008 78.8022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory21"; + targetClientId = "-1"; + targetObjectId = "3470"; + location = "408.17 -391.008 78.8022"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "408.17 -391.008 78.8022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory21"; + targetClientId = "-1"; + targetObjectId = "3470"; + location = "408.17 -391.008 78.8022"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.59 -420.698 78.8041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory22"; + targetClientId = "-1"; + targetObjectId = "3472"; + location = "378.59 -420.698 78.8041"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.59 -420.698 78.8041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory22"; + targetClientId = "-1"; + targetObjectId = "3472"; + location = "378.59 -420.698 78.8041"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "348.87 -391.018 78.7968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory23"; + targetClientId = "-1"; + targetObjectId = "3474"; + location = "348.87 -391.018 78.7968"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "348.87 -391.018 78.7968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory23"; + targetClientId = "-1"; + targetObjectId = "3474"; + location = "348.87 -391.018 78.7968"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.25 -361.398 78.7994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory24"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "378.25 -361.398 78.7994"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.25 -361.398 78.7994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory24"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "378.25 -361.398 78.7994"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "351.29 -384.678 87.8088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory25"; + targetClientId = "-1"; + targetObjectId = "3480"; + location = "351.29 -384.678 87.8088"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "351.29 -384.678 87.8088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory25"; + targetClientId = "-1"; + targetObjectId = "3480"; + location = "351.29 -384.678 87.8088"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "351.38 -397.438 87.8064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory26"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "351.38 -397.438 87.8064"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "351.38 -397.438 87.8064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory26"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "351.38 -397.438 87.8064"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "405.57 -384.668 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory27"; + targetClientId = "-1"; + targetObjectId = "3484"; + location = "405.57 -384.668 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "405.57 -384.668 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory27"; + targetClientId = "-1"; + targetObjectId = "3484"; + location = "405.57 -384.668 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "405.7 -397.428 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory28"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "405.7 -397.428 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "405.7 -397.428 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory28"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "405.7 -397.428 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.57 -427.698 96.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory29"; + targetClientId = "-1"; + targetObjectId = "3488"; + location = "378.57 -427.698 96.3"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.57 -427.698 96.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory29"; + targetClientId = "-1"; + targetObjectId = "3488"; + location = "378.57 -427.698 96.3"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.53 -354.408 96.3009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory30"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "378.53 -354.408 96.3009"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.53 -354.408 96.3009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory30"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "378.53 -354.408 96.3009"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "399.73 -391.002 71.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge5"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "399.73 -391.002 71.737"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "399.73 -391.002 71.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge5"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "399.73 -391.002 71.737"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "399.73 -391.002 71.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge5"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "399.73 -391.002 71.737"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "357.28 -391.144 71.7344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge6"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "357.28 -391.144 71.7344"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "357.28 -391.144 71.7344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge6"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "357.28 -391.144 71.7344"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "357.28 -391.144 71.7344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge6"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "357.28 -391.144 71.7344"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.53 -367.868 74.0044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret3"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "378.53 -367.868 74.0044"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "378.53 -367.868 74.0044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team0SentryTurret3"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "378.53 -367.868 74.0044"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "392.22 -377.651 87.9885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "392.22 -377.651 87.9885"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "392.22 -377.651 87.9885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "392.22 -377.651 87.9885"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "364.87 -404.475 87.9893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "364.87 -404.475 87.9893"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "364.87 -404.475 87.9893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "364.87 -404.475 87.9893"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-611.025 -739.796 86.3404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3543"; + location = "-611.025 -739.796 86.3404"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-611.025 -739.796 86.3404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3543"; + location = "-611.025 -739.796 86.3404"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-610.674 -740.008 78.3921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3545"; + location = "-610.674 -740.008 78.3921"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-638.631 -748.135 79.8877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-638.631 -748.135 79.8877"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-638.802 -731.37 79.8922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3549"; + location = "-638.802 -731.37 79.8922"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-670.347 -746.526 102.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3551"; + location = "-670.347 -746.526 102.889"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-664.382 -739.53 86.8947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3553"; + location = "-664.382 -739.53 86.8947"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-666.438 -739.549 101.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3555"; + location = "-666.438 -739.549 101.607"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "792.02 701.51 108.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3686"; + location = "792.02 701.51 108.26"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "792.01 703.57 93.5475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3687"; + location = "792.01 703.57 93.5475"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "799 697.6 109.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3689"; + location = "799 697.6 109.542"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "783.85 729.15 86.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3691"; + location = "783.85 729.15 86.545"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "800.61 729.32 86.5405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3693"; + location = "800.61 729.32 86.5405"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "792.48 757.27 85.0449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3695"; + location = "792.48 757.27 85.0449"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "792.28 756.92 92.9932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3698"; + location = "792.28 756.92 92.9932"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-619.073 475.12 71.5545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-619.073 475.12 71.5545"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-173.384 146.68 70.4452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3429"; + location = "-173.384 146.68 70.4452"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "378.53 -391.068 71.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3466"; + location = "378.53 -391.068 71.872"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "786.66 703.72 134.973"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "788.48 751.95 104.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new WayPoint() { + position = "786.66 703.72 124.973"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "792.02 701.16 108.26"; + rotation = "6.89103e-07 0.707107 -0.707107 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "792.01 703.57 91.9817"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Landing"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "799 697.6 107.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Balcony"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "783.85 729.15 84.9792"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "800.61 729.32 84.9747"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Basement"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "792.48 757.27 83.4791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Generator"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "792.51 734.01 92.4296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge1) { + position = "792.28 755.6 91.4885"; + rotation = "0 0 1 180.046"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "788.22 591.25 87.9341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "750.06 599.21 85.1881"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "764.47 599.2 84.8881"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + Ready = "1"; + station = "3702"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIODefendLocation) { + position = "-619.073 475.12 71.5545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-619.073 475.12 71.5545"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-619.073 475.12 71.5545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop1"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-619.073 475.12 71.5545"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-589.436 475.18 78.4847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3393"; + location = "-589.436 475.18 78.4847"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-589.436 475.18 78.4847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3393"; + location = "-589.436 475.18 78.4847"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.014 445.49 78.4866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3395"; + location = "-619.014 445.49 78.4866"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.014 445.49 78.4866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3395"; + location = "-619.014 445.49 78.4866"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-648.73 475.17 78.4793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3397"; + location = "-648.73 475.17 78.4793"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-648.73 475.17 78.4793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3397"; + location = "-648.73 475.17 78.4793"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.356 504.79 78.4819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3399"; + location = "-619.356 504.79 78.4819"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.356 504.79 78.4819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3399"; + location = "-619.356 504.79 78.4819"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-646.31 481.51 87.4914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-646.31 481.51 87.4914"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-646.31 481.51 87.4914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-646.31 481.51 87.4914"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-646.224 468.75 87.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-646.224 468.75 87.489"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-646.224 468.75 87.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-646.224 468.75 87.489"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-592.029 481.52 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3408"; + location = "-592.029 481.52 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-592.029 481.52 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3408"; + location = "-592.029 481.52 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-591.904 468.76 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3410"; + location = "-591.904 468.76 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-591.904 468.76 87.4809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3410"; + location = "-591.904 468.76 87.4809"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.027 438.49 95.9826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3412"; + location = "-619.027 438.49 95.9826"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.027 438.49 95.9826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3412"; + location = "-619.027 438.49 95.9826"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.067 511.78 95.9835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3414"; + location = "-619.067 511.78 95.9835"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-619.067 511.78 95.9835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3414"; + location = "-619.067 511.78 95.9835"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-597.867 475.19 71.4195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-597.867 475.19 71.4195"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-597.867 475.19 71.4195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-597.867 475.19 71.4195"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-597.867 475.19 71.4195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-597.867 475.19 71.4195"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-640.322 475.04 71.4169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3417"; + location = "-640.322 475.04 71.4169"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-640.322 475.04 71.4169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3417"; + location = "-640.322 475.04 71.4169"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-640.322 475.04 71.4169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3417"; + location = "-640.322 475.04 71.4169"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-619.069 498.32 73.6869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3419"; + location = "-619.069 498.32 73.6869"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-619.069 498.32 73.6869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team0SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3419"; + location = "-619.069 498.32 73.6869"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-605.388 488.54 87.6711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3423"; + location = "-605.388 488.54 87.6711"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-605.388 488.54 87.6711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3423"; + location = "-605.388 488.54 87.6711"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-632.728 461.71 87.6719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3424"; + location = "-632.728 461.71 87.6719"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-632.728 461.71 87.6719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3424"; + location = "-632.728 461.71 87.6719"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-173.384 146.68 70.4452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3429"; + location = "-173.384 146.68 70.4452"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-173.384 146.68 70.4452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop2"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3429"; + location = "-173.384 146.68 70.4452"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-143.747 146.74 77.3754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3433"; + location = "-143.747 146.74 77.3754"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-143.747 146.74 77.3754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3433"; + location = "-143.747 146.74 77.3754"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.325 117.05 77.3773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3435"; + location = "-173.325 117.05 77.3773"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.325 117.05 77.3773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory12"; + targetClientId = "-1"; + targetObjectId = "3435"; + location = "-173.325 117.05 77.3773"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-203.041 146.73 77.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory13"; + targetClientId = "-1"; + targetObjectId = "3437"; + location = "-203.041 146.73 77.37"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-203.041 146.73 77.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory13"; + targetClientId = "-1"; + targetObjectId = "3437"; + location = "-203.041 146.73 77.37"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.667 176.35 77.3726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory14"; + targetClientId = "-1"; + targetObjectId = "3439"; + location = "-173.667 176.35 77.3726"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.667 176.35 77.3726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory14"; + targetClientId = "-1"; + targetObjectId = "3439"; + location = "-173.667 176.35 77.3726"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-200.621 153.07 86.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory15"; + targetClientId = "-1"; + targetObjectId = "3443"; + location = "-200.621 153.07 86.382"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-200.621 153.07 86.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory15"; + targetClientId = "-1"; + targetObjectId = "3443"; + location = "-200.621 153.07 86.382"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-200.535 140.31 86.3796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory16"; + targetClientId = "-1"; + targetObjectId = "3445"; + location = "-200.535 140.31 86.3796"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-200.535 140.31 86.3796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory16"; + targetClientId = "-1"; + targetObjectId = "3445"; + location = "-200.535 140.31 86.3796"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-146.34 153.08 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory17"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-146.34 153.08 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-146.34 153.08 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory17"; + targetClientId = "-1"; + targetObjectId = "3447"; + location = "-146.34 153.08 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-146.215 140.32 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory18"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-146.215 140.32 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-146.215 140.32 86.3715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory18"; + targetClientId = "-1"; + targetObjectId = "3449"; + location = "-146.215 140.32 86.3715"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.338 110.05 94.8732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory19"; + targetClientId = "-1"; + targetObjectId = "3451"; + location = "-173.338 110.05 94.8732"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.338 110.05 94.8732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory19"; + targetClientId = "-1"; + targetObjectId = "3451"; + location = "-173.338 110.05 94.8732"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.378 183.34 94.8741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory20"; + targetClientId = "-1"; + targetObjectId = "3453"; + location = "-173.378 183.34 94.8741"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-173.378 183.34 94.8741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory20"; + targetClientId = "-1"; + targetObjectId = "3453"; + location = "-173.378 183.34 94.8741"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-152.178 146.75 70.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-152.178 146.75 70.3102"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-152.178 146.75 70.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-152.178 146.75 70.3102"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-152.178 146.75 70.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3455"; + location = "-152.178 146.75 70.3102"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-194.633 146.6 70.3076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-194.633 146.6 70.3076"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-194.633 146.6 70.3076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-194.633 146.6 70.3076"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-194.633 146.6 70.3076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3456"; + location = "-194.633 146.6 70.3076"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-173.38 169.88 72.5776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3458"; + location = "-173.38 169.88 72.5776"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-173.38 169.88 72.5776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team0SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3458"; + location = "-173.38 169.88 72.5776"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-159.699 160.1 86.5617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "-159.699 160.1 86.5617"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-159.699 160.1 86.5617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3462"; + location = "-159.699 160.1 86.5617"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-187.039 133.27 86.5625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "-187.039 133.27 86.5625"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-187.039 133.27 86.5625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3463"; + location = "-187.039 133.27 86.5625"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "378.53 -391.068 71.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3466"; + location = "378.53 -391.068 71.872"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "378.53 -391.068 71.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team0flipflop3"; + mode = "TouchFlipFlop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3466"; + location = "378.53 -391.068 71.872"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "408.17 -391.008 78.8022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory21"; + targetClientId = "-1"; + targetObjectId = "3470"; + location = "408.17 -391.008 78.8022"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "408.17 -391.008 78.8022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory21"; + targetClientId = "-1"; + targetObjectId = "3470"; + location = "408.17 -391.008 78.8022"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.59 -420.698 78.8041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory22"; + targetClientId = "-1"; + targetObjectId = "3472"; + location = "378.59 -420.698 78.8041"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.59 -420.698 78.8041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory22"; + targetClientId = "-1"; + targetObjectId = "3472"; + location = "378.59 -420.698 78.8041"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "348.87 -391.018 78.7968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory23"; + targetClientId = "-1"; + targetObjectId = "3474"; + location = "348.87 -391.018 78.7968"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "348.87 -391.018 78.7968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory23"; + targetClientId = "-1"; + targetObjectId = "3474"; + location = "348.87 -391.018 78.7968"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.25 -361.398 78.7994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory24"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "378.25 -361.398 78.7994"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.25 -361.398 78.7994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory24"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "378.25 -361.398 78.7994"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "351.29 -384.678 87.8088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory25"; + targetClientId = "-1"; + targetObjectId = "3480"; + location = "351.29 -384.678 87.8088"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "351.29 -384.678 87.8088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory25"; + targetClientId = "-1"; + targetObjectId = "3480"; + location = "351.29 -384.678 87.8088"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "351.38 -397.438 87.8064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory26"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "351.38 -397.438 87.8064"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "351.38 -397.438 87.8064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory26"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "351.38 -397.438 87.8064"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "405.57 -384.668 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory27"; + targetClientId = "-1"; + targetObjectId = "3484"; + location = "405.57 -384.668 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "405.57 -384.668 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory27"; + targetClientId = "-1"; + targetObjectId = "3484"; + location = "405.57 -384.668 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "405.7 -397.428 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory28"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "405.7 -397.428 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "405.7 -397.428 87.7983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory28"; + targetClientId = "-1"; + targetObjectId = "3486"; + location = "405.7 -397.428 87.7983"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.57 -427.698 96.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory29"; + targetClientId = "-1"; + targetObjectId = "3488"; + location = "378.57 -427.698 96.3"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.57 -427.698 96.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory29"; + targetClientId = "-1"; + targetObjectId = "3488"; + location = "378.57 -427.698 96.3"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.53 -354.408 96.3009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team0StationInventory30"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "378.53 -354.408 96.3009"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "378.53 -354.408 96.3009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team0StationInventory30"; + targetClientId = "-1"; + targetObjectId = "3490"; + location = "378.53 -354.408 96.3009"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "399.73 -391.002 71.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge5"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "399.73 -391.002 71.737"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "399.73 -391.002 71.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge5"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "399.73 -391.002 71.737"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "399.73 -391.002 71.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge5"; + targetClientId = "-1"; + targetObjectId = "3492"; + location = "399.73 -391.002 71.737"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "357.28 -391.144 71.7344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team0generatorLarge6"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "357.28 -391.144 71.7344"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "357.28 -391.144 71.7344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team0generatorLarge6"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "357.28 -391.144 71.7344"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "357.28 -391.144 71.7344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team0generatorLarge6"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "357.28 -391.144 71.7344"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "378.53 -367.868 74.0044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team0SentryTurret3"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "378.53 -367.868 74.0044"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "378.53 -367.868 74.0044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team0SentryTurret3"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "378.53 -367.868 74.0044"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "392.22 -377.651 87.9885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "392.22 -377.651 87.9885"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "392.22 -377.651 87.9885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "392.22 -377.651 87.9885"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "364.87 -404.475 87.9893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "364.87 -404.475 87.9893"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "364.87 -404.475 87.9893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team0TurretBaseLarge6"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "364.87 -404.475 87.9893"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-611.025 -739.796 86.3404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3543"; + location = "-611.025 -739.796 86.3404"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-610.674 -740.008 78.3921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3545"; + location = "-610.674 -740.008 78.3921"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-638.631 -748.135 79.8877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-638.631 -748.135 79.8877"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-638.802 -731.37 79.8922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3549"; + location = "-638.802 -731.37 79.8922"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-670.347 -746.526 102.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3551"; + location = "-670.347 -746.526 102.889"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-664.382 -739.53 86.8947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3553"; + location = "-664.382 -739.53 86.8947"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-666.438 -739.549 101.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3555"; + location = "-666.438 -739.549 101.607"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "792.02 701.51 108.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3686"; + location = "792.02 701.51 108.26"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "792.01 703.57 93.5475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3687"; + location = "792.01 703.57 93.5475"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "799 697.6 109.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3689"; + location = "799 697.6 109.542"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "783.85 729.15 86.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3691"; + location = "783.85 729.15 86.545"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "800.61 729.32 86.5405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3693"; + location = "800.61 729.32 86.5405"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "792.48 757.27 85.0449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3695"; + location = "792.48 757.27 85.0449"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "792.28 756.92 92.9932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3698"; + location = "792.28 756.92 92.9932"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "792.28 756.92 92.9932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3698"; + location = "792.28 756.92 92.9932"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-619.073 475.12 71.5545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop1"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-619.073 475.12 71.5545"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-173.384 146.68 70.4452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop2"; + targetClientId = "-1"; + targetObjectId = "3429"; + location = "-173.384 146.68 70.4452"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "378.53 -391.068 71.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "Team0flipflop3"; + targetClientId = "-1"; + targetObjectId = "3466"; + location = "378.53 -391.068 71.872"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + }; + new SimGroup(Spires) { + + new InteriorInstance() { + position = "159.34 -307.449 43.2556"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-43.522 -174.473 47.3502"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "138.76 -295.236 45.2606"; + rotation = "0.532221 0.790979 -0.301817 105.6"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "642.25 122.45 52.5541"; + rotation = "0 0 1 71.6197"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "86.73 268.95 42.7072"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-51.42 -78.435 44.6093"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.23 471.46 81.8605"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "289.762 209.214 173.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Pyroclasm.mis b/public/base/@vl2/missions.vl2/missions/Pyroclasm.mis new file mode 100644 index 00000000..13ea37f3 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Pyroclasm.mis @@ -0,0 +1,753 @@ +// MissionTypes = DM + +//--- MISSION QUOTE BEGIN --- +//For my confession they burned me with fire and found that I was for endurance made. +// -- The Arabian Nights +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Inventory stations available in both towers +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + DM_scoreLimit = "20"; + musicTrack = "volcanic"; + DM_timeLimit = "25"; + powerCount = "0"; + cdTrack = "3"; + + new MissionArea(MissionArea) { + area = "-624 -184 768 784"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Pyroclasm.ter"; + squareSize = "8"; + emptySquares = "250"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "Pyroclasm.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + SkySolidColor = "0.365000 0.330000 0.310000 1.000000"; + fogDistance = "75"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 17752555020136093100000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.001000 0.001000"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-292.101 305.1 273.176"; + rotation = "0 0 1 138.083"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-133.375 255.69 162.262"; + rotation = "0 0 1 238.533"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-347.859 144.2 164.274"; + rotation = "-0.425334 0.210731 0.880161 58.7509"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-262.913 201.07 112.918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "190"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(Towers) { + + new SimGroup(Tower1) { + providesPower = "1"; + + new InteriorInstance() { + position = "-244.264 220.93 224.914"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbase4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-183.71 145.54 164.943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-244.77 238.72 222.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new StaticShape() { + position = "-255.985 234.127 240.91"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "33"; + }; + new StaticShape() { + position = "-232.296 234.311 240.91"; + rotation = "0 0 1 41.253"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + }; + new StaticShape() { + position = "-232.421 203.555 240.91"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + }; + new StaticShape() { + position = "-256.217 203.486 240.91"; + rotation = "0 0 1 223.454"; + scale = "1 1 1"; + nameTag = "Ctr. Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "36"; + }; + new WayPoint() { + position = "-245.07 220.86 235.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Center Tower"; + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-309.181 145.27 185.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-311.298 284.53 205.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-184.164 275.88 140.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-309.308 161.09 187.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-303.365 160.99 187.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-315.141 161.42 187.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-311.528 282.86 208.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-311.451 287.18 207.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-178.687 292.37 143.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-188.824 292.25 143.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-183.975 291.97 143.478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-183.9 276.41 143.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-183.792 142.21 167.683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-184.044 147.68 167.712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-309.069 142.21 187.769"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-244.826 220.78 290.261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-243.848 221.58 275.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-243.865 217.48 275.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-243.77 225.43 275.281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new Item() { + position = "-244.411 202.32 222.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "39.62 344.85 78.2101"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + }; + new StaticShape() { + position = "50.81 343.87 90.21"; + rotation = "0 0 1 154.126"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "37"; + }; + new StaticShape() { + position = "51.14 343.34 78.21"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "38"; + }; + new StaticShape() { + position = "-452.475 20.12 79.05"; + rotation = "-0 0 -1 32.2679"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "39"; + }; + new StaticShape() { + position = "-452.103 19.62 91.05"; + rotation = "-0 0 -1 30.5489"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "40"; + }; + new InteriorInstance() { + position = "-440.871 19.55 79.053"; + rotation = "0 0 1 58.4421"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + }; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + new TSStatic() { + position = "-239.796 269.418 233.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-242.825 269.431 233.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-239.798 269.415 234.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-242.841 269.442 234.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-242.85 269.527 235.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-199.677 219.79 233.373"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-243.945 176.97 235.52"; + rotation = "0 0 1 186.785"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-245.999 176.86 233.429"; + rotation = "0 0 1 91.6733"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-243.806 176.94 234.523"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-242.408 176.85 233.523"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-244.437 176.93 233.523"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new AudioEmitter() { + position = "-513.517 226.51 179.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "45000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-163.821 543.99 217.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "45000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "255.1 161.44 242.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "45000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "26.53 -163.211 151.691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/rockslide2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "15000"; + maxLoopGap = "45000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-239.883 272.25 95.0244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-244.046 190.464 228.981"; + rotation = "1 0 0 179.518"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlasmaExplosionEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-244.113 259.999 228.942"; + rotation = "1 0 0 179.518"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "PlasmaExplosionEmitter"; + velocity = "1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Quagmire.mis b/public/base/@vl2/missions.vl2/missions/Quagmire.mis new file mode 100644 index 00000000..b5b99cc9 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Quagmire.mis @@ -0,0 +1,1078 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//I got a plascannon that says no one's immortal. +// -- Blood Eagle saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//No vehicle stations +//Water can be used to tactical advantage +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-584 -680 1280 1152"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Quagmire.ter"; + squareSize = "8"; + locked = "true"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + coverage = "0"; + rotation = "0 0 0 0"; + GraphFile = "Quagmire.nav"; + scale = "1 1 1"; + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "286.12 -50.147 121.143"; + rotation = "-0.00663717 0.00410242 0.99997 63.4418"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "492.59 -288.397 129.129"; + rotation = "0 0 -1 59.0145"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-343.65 -279.784 146.457"; + rotation = "0 0 -1 72.7656"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "384.678 -218.148 99.197"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "94.6108 -117.385 88.4598"; + rotation = "0 0 1 218.297"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-346.666 -150.339 102.181"; + rotation = "0.326169 0.0661178 -0.942996 24.2638"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "95"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "100 60 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -5639490784253845060000000000.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + + new SimGroup(Addition1BELgTree16) { + powerCount = "0"; + + new TSStatic() { + position = "289.5 21.5 101.754"; + rotation = "0 0 1 114"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "741.5 -185.5 140.773"; + rotation = "0 0 1 162.281"; + scale = "1.6 1.6 1.6"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-240.5 -485.5 53.9359"; + rotation = "0 0 1 155"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-368.5 468.5 51.75"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "473.61 9.02 52.8"; + rotation = "0 0 1 218.043"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "627.5 -555.5 86.2086"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-255.423 70.8 77.0898"; + rotation = "0 0 -1 113.434"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition2BELgTree18) { + powerCount = "0"; + + new TSStatic() { + position = "-337.376 -483.645 58.0524"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "200.5 -734.5 61.2833"; + rotation = "0 0 1 170"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-623.5 -115.5 86.4101"; + rotation = "0 0 1 182"; + scale = "0.7 0.7 0.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition3BELgTree19) { + powerCount = "0"; + + new TSStatic() { + position = "-425.5 308.5 89.2988"; + rotation = "0 0 -1 117"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "517.5 -309.5 71.7355"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4BELgTree19) { + powerCount = "0"; + + new TSStatic() { + position = "278.68 -736.469 104.296"; + rotation = "0 0 1 9.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "198.5 486.5 57.0391"; + rotation = "0 0 1 123"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "301.15 -636.277 97.3332"; + rotation = "0 0 1 58"; + scale = "1.6 1.6 1.6"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "623.5 -465.5 88.1801"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-477.5 81.5 108.047"; + rotation = "0 0 1 42"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-87.804 -385.058 54.3848"; + rotation = "0 0 -1 67"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-573.5 382.5 90.7579"; + rotation = "0 0 1 168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-475.5 268.5 107.35"; + rotation = "0 0 1 109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "19.5 453.5 108.816"; + rotation = "0 0 1 20"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "42.77 -30.878 74.627"; + rotation = "0 0 -1 105.481"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-156.77 -168.705 65.8918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + locked = "true"; + }; + new TSStatic() { + position = "108.53 -142.656 64.7273"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-362.622 -17.61 82.6182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "283.89 -80.706 77.4959"; + rotation = "0 0 -1 107.143"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + new SpawnSphere() { + position = "461.8 -288.351 91.1848"; + rotation = "0 0 -1 82.5057"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + powerCount = "3"; + + new InteriorInstance() { + position = "415.61 -176.382 77.5472"; + rotation = "0 0 1 67.0908"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new Item() { + position = "424.89 -172.8 79.5605"; + rotation = "0 0 1 68.8008"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "424.89 -172.8 79.5605 0 0 1 1.2008"; + team = "1"; + Target = "33"; + isHome = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "303.2 -59.322 84.3111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "483.1 -299.94 101.715"; + rotation = "0 0 -1 55.004"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "341.493 -179.539 78.7793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new Turret() { + position = "340.693 -179.482 88.7657"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + team = "1"; + Target = "34"; + locked = "true"; + }; + new Turret() { + position = "483.57 -294.958 133.163"; + rotation = "0 0 -1 55.0039"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + team = "1"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "298.14 -64.992 87.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + locked = "true"; + damageTimeMS = "331888"; + }; + new StaticShape() { + position = "308.302 -68.8173 87.1"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + locked = "true"; + }; + new Item() { + position = "303.02 -76.503 85.6266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "298.55 -73.081 78.34"; + rotation = "0 0 -1 103.705"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + locked = "true"; + Trigger = "3335"; + }; + new StaticShape() { + position = "307.6 -60.28 78.34"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + locked = "true"; + Trigger = "3337"; + }; + new StaticShape() { + position = "479.93 -295.351 105.551"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "40"; + locked = "true"; + }; + new InteriorInstance() { + position = "-304.003 -471.93 48.6877"; + rotation = "-0.789212 0.230771 -0.569112 16.2411"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "471.04 -305.236 95.21"; + rotation = "0 0 1 216.188"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + locked = "true"; + Trigger = "3341"; + }; + new StaticShape() { + position = "484.26 -286.872 95.21"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "42"; + locked = "true"; + Trigger = "3343"; + }; + new InteriorInstance() { + position = "256.04 -572.266 49.8795"; + rotation = "-0.289456 -0.71011 -0.64184 12.7195"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new Item() { + position = "475.67 -304.231 120.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "71.63 -165.891 58.7187"; + rotation = "0.0205555 -0.179078 -0.98362 104.378"; + scale = "1 1 1"; + interiorFile = "btowra.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "424.88 -172.791 79.58"; + rotation = "0 0 -1 63.0253"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + locked = "false"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-270.355 7.69 98.5595"; + rotation = "0 0 1 99.6947"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "30"; + outdoorWeight = "70"; + locked = "true"; + }; + new SpawnSphere() { + position = "-303.66 -254.044 118.116"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "35"; + outdoorWeight = "65"; + locked = "true"; + }; + }; + new SimGroup(Base1) { + powerCount = "3"; + + new InteriorInstance() { + position = "-388.74 -84.485 78.444"; + rotation = "0 0 -1 75.0575"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-316.541 -254.03 121.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance() { + position = "-283.977 18.08 101.25"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new Turret() { + position = "-278.451 -103.223 73.0707"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + team = "2"; + Target = "43"; + locked = "true"; + }; + new Item() { + position = "-398.223 -81.567 80.4573"; + rotation = "0 0 -1 74.5303"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + originalPosition = "-398.223 -81.567 80.4573 0 0 -1 1.3008"; + team = "2"; + Target = "44"; + isHome = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-278.659 -103.327 72.4981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new Turret() { + position = "-283.899 13.04 132.7"; + rotation = "0 0 1 121.467"; + scale = "1 1 1"; + nameTag = "Point Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + team = "2"; + Target = "45"; + locked = "true"; + }; + new StaticShape() { + position = "-285.469 4.09 94.75"; + rotation = "0 0 1 213.323"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + locked = "true"; + Trigger = "3362"; + }; + new StaticShape() { + position = "-271.412 24.96 94.75"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + locked = "true"; + Trigger = "3364"; + }; + new StaticShape() { + position = "-311.49 -255.506 115.15"; + rotation = "0 0 1 71.6197"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + locked = "true"; + Trigger = "3366"; + }; + new StaticShape() { + position = "-278.998 17.0024 105.046"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "49"; + locked = "true"; + }; + new StaticShape() { + position = "-321.251 -267.695 115.15"; + rotation = "0 0 -1 104.851"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "50"; + locked = "true"; + Trigger = "3369"; + }; + new Item() { + position = "-278.031 22.39 119.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-311.516 -263.542 123.95"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "51"; + locked = "true"; + }; + new StaticShape() { + position = "-321.679 -259.526 123.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "52"; + locked = "true"; + }; + new Item() { + position = "-316.676 -251.633 122.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-398.177 -81.628 80.45"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(Ambience) { + powerCount = "0"; + + new AudioEmitter() { + position = "52.04 -154.453 74.2276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "6400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "118.77 -562.63 80.2537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "70"; + maxDistance = "4480"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-313.514 -79.817 69.7519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "960"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "133.18 -435.037 197.702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-313.248 -479.486 69.4709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "363.45 -240.11 65.1431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "960"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "277.66 -10.46 112.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-364.275 -20.17 95.0531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new Precipitation(Precipitation) { + position = "286.12 -50.147 121.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 45"; + rotation = "1 0 0 0"; + scale = "2048 2048 20"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.3"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + locked = "true"; + AudioEnvironment = Underwater; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Rasp.mis b/public/base/@vl2/missions.vl2/missions/Rasp.mis new file mode 100644 index 00000000..949adddf --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Rasp.mis @@ -0,0 +1,1018 @@ +// MissionTypes = Hunters Bounty DM + +//--- MISSION QUOTE BEGIN --- +//If the red slayer thinks he slays +//Or if the slain thinks he is slain +//They know not well the subtle ways I keep. +// -- Ralph Waldo Emerson +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters]Nexus is inside underground building +//[DM Bounty]Mission follows standard Rules of Engagement +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-744 -680 336 304"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "40 760 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed[0] = "0.000000 0.000400"; + cloudSpeed[1] = "0.000201 0.000101"; + cloudSpeed[2] = "0.000201 0.000000"; + visibleDistance = "550"; + useSkyTextures = "1"; + SkySolidColor = "0.365 0.39 0.42 0.000000"; + fogDistance = "250"; + fogColor = "0.630000 0.550000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "40 760 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "Rasp.ter"; + squareSize = "8"; + emptySquares = "148783 214574 83507 214830 83763"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + graphFile = "Rasp.nav"; + conjoinAngleDev = "45"; + conjoinBowlDev = "20"; + coverage = "0"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + YDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + XDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-605.649 -381.017 135.806"; + rotation = "0.00475689 -0.0714684 0.997432 172.404"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-646.16 -493.429 106.12"; + rotation = "0.00842225 -0.0492278 0.998752 160.607"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-453.807 -608.172 140.086"; + rotation = "0.615879 0.0848723 -0.783256 19.9571"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-601.644 -447.713 58.4272"; + rotation = "-0.0205845 -0.039813 0.998995 234.634"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-653.242 -543.124 53.6599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-604.294 -495.748 53.3903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "7"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-604.133 -538.666 51.8405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-603.642 -451.062 51.5472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-634.352 -450.327 50.9198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-642.676 -441.126 82.2364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-595.774 -455.836 91.2699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-533.324 -581.494 176.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-467.243 -477.134 94.3372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-635.232 -497.43 99.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "75"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-649.802 -497.234 99.4563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "75"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + + new StaticShape() { + position = "-642.231 -524.622 98.1385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Trigger(NexusTrigger) { + position = "-674.803 -517.527 97.6378"; + rotation = "1 0 0 0"; + scale = "63.2641 13.054 10"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Item() { + position = "-642.231 -524.622 97.8378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + flashThreadDir = "1"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new StaticShape() { + position = "-642.231 -524.622 105.738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new InteriorInstance() { + position = "-637.461 -603.222 91.8477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "-631.353 -497.437 110.12"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "-653.419 -497.457 110.127"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "-638.757 -602.834 93.8429"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Outdoor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "-642.402 -530.031 110.134"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Hidden Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-642.231 -524.622 97.8378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + missionTypesList = "DM Bounty"; + }; + new StaticShape(Team0StationInventory5) { + position = "-642.397 -466.703 110.135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Hidden Chute Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-642.231 -524.622 97.8378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new InteriorInstance() { + position = "-485.706 -537.291 109.598"; + rotation = "0 0 1 213.323"; + scale = "1 1 1"; + interiorFile = "pbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-488.775 -538.235 112.4"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-485.829 -537.668 112.4"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-482.883 -537.102 112.4"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-486.585 -533.74 112.4"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-485.074 -541.596 112.4"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-626.866 -539.664 54.7461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-634.602 -469.342 54.8148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-602.667 -517.253 54.7262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-601.99 -469.39 54.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-642.35 -488 80.4508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-639.35 -488 80.4508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-645.35 -488 80.4508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(NonTeamSpecific) { + + new SimGroup(wall1) { + + new InteriorInstance() { + position = "-407.365 -613.784 113.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -597.784 113.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -605.784 113.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -589.784 105.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -597.784 105.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -605.784 105.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -613.784 105.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-407.365 -589.784 113.059"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Wall2) { + + new InteriorInstance() { + position = "-575.309 -376.022 119.733"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-567.309 -376.022 119.733"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-575.309 -376.022 111.733"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-567.309 -376.022 111.733"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-599.047 -375.997 119.779"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-591.047 -375.997 119.779"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-583.047 -375.997 119.779"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-599.047 -375.997 111.779"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-591.047 -375.997 111.779"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-583.047 -375.997 111.779"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(RocksnSpires) { + + new InteriorInstance() { + position = "-612.707 -591.116 82.7529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-738.499 -420.457 97.1362"; + rotation = "0 0 -1 99.6947"; + scale = "2 2 2"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-639.746 -326.645 99.5683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-672.411 -541.702 127.961"; + rotation = "0 0 1 49.2744"; + scale = "2 2 2"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-527.369 -456.063 97.6523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-642.636 -497.369 70.1328"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-466.02 -475.281 93.6964"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + interiorFile = "procka.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-538.154 -677.157 97.0699"; + rotation = "0.0161614 0.00499932 0.999857 34.3821"; + scale = "2.31472 2.56187 1.48225"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-525.91 -591.148 84.1504"; + rotation = "0 0 1 140.948"; + scale = "2 2 2"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-290.588 -542.833 79.1119"; + rotation = "0 0 1 119.175"; + scale = "2 2 2"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "49.6789 -653.188 79.3742"; + rotation = "0 0 1 49.2744"; + scale = "2 2 2"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-942.232 -109.657 120.495"; + rotation = "0 0 1 42.3988"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-687.838 -363.362 100.693"; + rotation = "0.612838 -0.499456 0.612351 233.117"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1PhoenixPlant1) { + + new TSStatic() { + position = "-787 -522 133.407"; + rotation = "0 0 1 185"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-451 -730 133.446"; + rotation = "0 0 1 55"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-747 -378 88.1485"; + rotation = "0 0 1 82"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-795 -354 87.3867"; + rotation = "0 0 -1 2.9997"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-707 -698 179.883"; + rotation = "0 0 1 160"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-715 -498 133.45"; + rotation = "0 0 1 220"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-795 -362 87.3906"; + rotation = "0 0 1 169"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-803 -546 134.7"; + rotation = "0 0 -1 43.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-611 -634 133.356"; + rotation = "0 0 1 182"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-604.176 -426.144 97.4486"; + rotation = "0.149432 0.00913964 0.98873 173.079"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-651 -394 89.3438"; + rotation = "0 0 1 125"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-419 -410 133.032"; + rotation = "0 0 1 166"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-787 -634 183.024"; + rotation = "0 0 1 58.9997"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-795 -682 183.684"; + rotation = "0 0 1 182"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-707 -538 133.899"; + rotation = "0 0 -1 82"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-747 -650 183.2"; + rotation = "0 0 -1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-707 -482 133.579"; + rotation = "0 0 1 168"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-675 -690 182.668"; + rotation = "0 0 -1 118"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-683 -450 103.215"; + rotation = "0 0 -1 17.9997"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-723 -602 133.473"; + rotation = "0 0 1 225"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-419 -354 136.043"; + rotation = "0 0 -1 19.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-483 -738 133.559"; + rotation = "0 0 1 46"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-403 -650 133.54"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-731 -562 133.543"; + rotation = "0 0 1 11"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-571 -490 104.25"; + rotation = "0 0 1 222"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-523 -370 133.918"; + rotation = "0 0 1 28"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-403 -642 133.622"; + rotation = "0 0 -1 41"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-419 -682 130.86"; + rotation = "0 0 1 214"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Recalescence.mis b/public/base/@vl2/missions.vl2/missions/Recalescence.mis new file mode 100644 index 00000000..59f553fe --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Recalescence.mis @@ -0,0 +1,4430 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//And the fierce thunders roar me their music +//And the winds shriek through the clouds mad, opposing +//And through all the riven skies God's swords clash. +// -- Ezra Pound +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]300 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + Retrieve_scoreLimit = "5"; + musicTrack = "volcanic"; + cdTrack = "3"; + CTF_scoreLimit = "3"; + + new MissionArea(MissionArea) { + area = "-776 -672 1552 1344"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + high_visibleDistance = "700"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.800000 0.360000 0.200000 0.000000"; + fogDistance = "50"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "80 0 90"; + fogVolume2 = "300 90 150"; + fogVolume3 = "0 0 0"; + high_fogVolume1 = "750 215 235"; + high_fogVolume2 = "700 235 245"; + high_fogVolume3 = "750 245 255"; + materialList = "lava_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1.000000"; + locked = "true"; + cloudSpeed0 = "0.000300 0.000300"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "680 -352 0"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "600"; + dropsPerMinute = "10"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Recalescence.ter"; + squareSize = "8"; + emptySquares = "86853 86856 87109 87112 153926 154182 154438 154694 287045 287301 303285 303541 173749 174005 174261 174517 306869 307125"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + GraphFile = "Recalescence.nav"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "342.91 463.815 185.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "583.478 328.233 211.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "570.078 326.716 196.589"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(Base0) { + + new InteriorInstance() { + position = "423.854 319.99 127.821"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbase2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new Item() { + position = "434.058 319.732 223.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge2) { + position = "359.354 245.61 124.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge3) { + position = "359.242 258.425 124.801"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "424.043 238.629 139.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "South Platform"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "424.027 406.629 139.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "449.34 407.561 124.818"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "North Pillar Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "398.53 231.306 124.819"; + rotation = "-0 0 -1 45"; + scale = "1 1 1"; + nameTag = "South Pillar Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "432.19 249.026 211.819"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "South Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "447.508 248.974 211.821"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "South Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory9) { + position = "446.479 390.965 211.82"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "North Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory10) { + position = "431.192 390.989 211.821"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "North Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory11) { + position = "415.203 319.995 222.814"; + rotation = "-0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Rooftop"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "439.862 320.02 214.487"; + rotation = "0.0103966 -0.999892 0.0103973 90.0062"; + scale = "1 1 1"; + nameTag = "Main Entrance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Item() { + position = "423.839 319.992 117.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "442.906 322.948 117.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "442.906 319.948 117.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "442.906 316.948 117.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item(Team1flag1) { + position = "423.866 319.988 151.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + missionTypesList = "CTF"; + WayPoint = "3748"; + }; + new StaticShape() { + position = "580.177 326.571 196.289"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + mobileBaseVehicle = "Removed"; + Ready = "1"; + scoutVehicle = "Removed"; + station = "3503"; + AssaultVehicle = "Removed"; + }; + new InteriorInstance() { + position = "341.359 395.747 206.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "341.789 395.84 216.312"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Compound"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge3) { + position = "538.761 266.044 247.277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "538.668 266.474 237.275"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "417.671 293.072 135.847"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "430.111 293.072 135.847"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-448.091 -269.207 128.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-441.607 -205.283 122.823"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-448.097 -322.783 128.194"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-441.743 -385.722 123.598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-435.567 -322.783 128.194"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-468.642 -289.749 136.22"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-468.642 -302.259 136.2"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-447.647 -254.18 134.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-436.018 -336.796 134.846"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "417.619 346.783 136.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "430.099 346.783 136.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "423.859 409.699 132.682"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "429.663 360.772 142.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "438.658 375.204 180.258"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "423.714 229.273 132.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "429.671 278.21 142.791"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "439.763 264.779 180.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "418.001 278.21 142.791"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "417.993 360.772 142.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "450.646 313.703 144.229"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "450.646 326.173 144.229"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "322.009 121.424 140.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "322.009 121.424 140.677"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "322.009 121.424 140.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "322.009 121.424 140.677"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "315.703 118.345 128.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "315.703 118.345 128.733"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "328.065 124.544 128.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "328.065 124.544 128.737"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "325.515 114.332 183.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "325.515 114.332 183.071"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "359.36 244.289 126.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3475"; + location = "359.36 244.289 126.324"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "359.36 244.289 126.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3475"; + location = "359.36 244.289 126.324"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "359.236 259.746 126.306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "359.236 259.746 126.306"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "359.236 259.746 126.306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "359.236 259.746 126.306"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "424.043 238.629 141.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3477"; + location = "424.043 238.629 141.386"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "424.027 406.629 141.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3479"; + location = "424.027 406.629 141.386"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "449.34 407.561 126.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3481"; + location = "449.34 407.561 126.384"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "398.53 231.306 126.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3483"; + location = "398.53 231.306 126.385"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "432.19 249.026 213.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "432.19 249.026 213.385"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "447.508 248.974 213.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3487"; + location = "447.508 248.974 213.387"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "446.479 390.965 213.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "446.479 390.965 213.386"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "431.192 390.989 213.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "431.192 390.989 213.387"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "415.203 319.995 224.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "415.203 319.995 224.38"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "439.542 319.994 215.717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "439.542 319.994 215.717"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "423.866 319.988 153.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "423.866 319.988 153.469"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackPlayer) { + position = "423.866 319.988 153.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "423.866 319.988 153.469"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "423.866 319.988 153.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "423.866 319.988 153.469"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "341.261 395.84 218.213"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3506"; + location = "341.261 395.84 218.213"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "538.761 266.572 249.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3507"; + location = "538.761 266.572 249.178"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "564.197 -457.839 143.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3534"; + location = "564.197 -457.839 143.392"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "531.44 -472.082 23.5592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "531.44 -472.082 23.5592"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "531.44 -472.082 23.5592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "531.44 -472.082 23.5592"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-125.832 288.14 163.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3537"; + location = "-125.832 288.14 163.907"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-217.825 -376.141 162.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-217.825 -376.141 162.961"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-215.134 -382.623 151.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-215.134 -382.623 151.017"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-220.571 -369.907 151.021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-220.571 -369.907 151.021"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-210.533 -373.073 205.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-210.533 -373.073 205.355"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-377.356 -220.299 118.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3599"; + location = "-377.356 -220.299 118.301"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-377.232 -235.756 118.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3600"; + location = "-377.232 -235.756 118.283"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-442.039 -214.639 133.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3601"; + location = "-442.039 -214.639 133.363"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-442.023 -382.639 133.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3603"; + location = "-442.023 -382.639 133.363"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-467.336 -383.571 118.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3605"; + location = "-467.336 -383.571 118.361"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-416.526 -207.316 118.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3607"; + location = "-416.526 -207.316 118.362"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-450.186 -225.036 205.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3609"; + location = "-450.186 -225.036 205.362"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-465.504 -224.984 205.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3611"; + location = "-465.504 -224.984 205.364"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-464.475 -366.975 205.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3613"; + location = "-464.475 -366.975 205.363"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-449.188 -366.999 205.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3615"; + location = "-449.188 -366.999 205.364"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-433.199 -296.005 216.357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3617"; + location = "-433.199 -296.005 216.357"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-457.538 -296.004 207.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3619"; + location = "-457.538 -296.004 207.694"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-441.862 -295.998 145.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-441.862 -295.998 145.446"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-441.862 -295.998 145.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-441.862 -295.998 145.446"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-441.862 -295.998 145.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-441.862 -295.998 145.446"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-366.164 -407.872 221.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3630"; + location = "-366.164 -407.872 221.397"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-521.981 -366.913 216.864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3632"; + location = "-521.981 -366.913 216.864"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "408.605 -506.112 132.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "408.605 -506.112 132.412"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "508.732 -497.768 31.2799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "508.732 -497.768 31.2799"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-483.736 281.906 213.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3645"; + location = "-483.736 281.906 213.98"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-432.055 -486.089 175.021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-534.877 -306.228 208.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-542.922 -297.713 182.4"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(Base1) { + + new InteriorInstance() { + position = "-441.85 -296 119.798"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbase2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team2generatorLarge2) { + position = "-377.35 -221.62 116.796"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge3) { + position = "-377.238 -234.435 116.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-442.039 -214.639 131.797"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "North Platform"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-442.023 -382.639 131.797"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "South Platform"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "-467.336 -383.571 116.795"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "South Pillar Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "-416.526 -207.316 116.796"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "North Pillar Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory7) { + position = "-450.186 -225.036 203.796"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "North Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory8) { + position = "-465.504 -224.984 203.798"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "North Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory9) { + position = "-464.475 -366.975 203.797"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "South Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory10) { + position = "-449.188 -366.999 203.798"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "South Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory11) { + position = "-433.199 -296.005 214.791"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Rooftop"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "-457.858 -296.034 206.464"; + rotation = "-0.707087 -0.0073527 0.707088 180.843"; + scale = "1 1 1"; + nameTag = "Main Entrance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Item() { + position = "-441.835 -296.002 109.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-460.902 -298.958 109.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-460.902 -295.958 109.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-460.902 -292.958 109.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item(Team2flag1) { + position = "-441.862 -295.998 143.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + missionTypesList = "CTF"; + WayPoint = "3749"; + }; + new Item() { + position = "-452.054 -295.742 215.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-542.853 -290.947 182.1"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + mobileBaseVehicle = "Removed"; + Ready = "1"; + scoutVehicle = "Removed"; + station = "3628"; + AssaultVehicle = "Removed"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-365.636 -407.872 219.496"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Compound"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "-366.066 -407.965 209.494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "-521.981 -367.441 214.963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "-522.074 -367.011 204.961"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-435.591 -269.207 128.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-457.092 -351.214 172.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-457.783 -240.782 172.233"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-435.987 -254.18 134.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-447.677 -336.792 134.846"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "322.009 121.424 140.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "322.009 121.424 140.677"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "315.703 118.345 128.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "315.703 118.345 128.733"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "328.065 124.544 128.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "328.065 124.544 128.737"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "325.515 114.332 183.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "325.515 114.332 183.071"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "359.36 244.289 126.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3475"; + location = "359.36 244.289 126.324"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "359.236 259.746 126.306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3476"; + location = "359.236 259.746 126.306"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "424.043 238.629 141.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3477"; + location = "424.043 238.629 141.386"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "424.027 406.629 141.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3479"; + location = "424.027 406.629 141.386"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "449.34 407.561 126.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3481"; + location = "449.34 407.561 126.384"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "398.53 231.306 126.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3483"; + location = "398.53 231.306 126.385"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "432.19 249.026 213.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3485"; + location = "432.19 249.026 213.385"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "447.508 248.974 213.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3487"; + location = "447.508 248.974 213.387"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "446.479 390.965 213.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "446.479 390.965 213.386"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "431.192 390.989 213.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "431.192 390.989 213.387"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "415.203 319.995 224.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "415.203 319.995 224.38"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "439.542 319.994 215.717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SentryTurret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "439.542 319.994 215.717"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "423.866 319.988 153.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "423.866 319.988 153.469"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "423.866 319.988 153.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "423.866 319.988 153.469"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "423.866 319.988 153.469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "423.866 319.988 153.469"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "341.261 395.84 218.213"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3506"; + location = "341.261 395.84 218.213"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "538.761 266.572 249.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3507"; + location = "538.761 266.572 249.178"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "564.197 -457.839 143.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3534"; + location = "564.197 -457.839 143.392"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "531.44 -472.082 23.5592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "531.44 -472.082 23.5592"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "-125.832 288.14 163.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3537"; + location = "-125.832 288.14 163.907"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-217.825 -376.141 162.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-217.825 -376.141 162.961"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-217.825 -376.141 162.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-217.825 -376.141 162.961"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-215.134 -382.623 151.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-215.134 -382.623 151.017"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-220.571 -369.907 151.021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-220.571 -369.907 151.021"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-210.533 -373.073 205.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-210.533 -373.073 205.355"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-377.356 -220.299 118.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3599"; + location = "-377.356 -220.299 118.301"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-377.356 -220.299 118.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3599"; + location = "-377.356 -220.299 118.301"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-377.232 -235.756 118.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3600"; + location = "-377.232 -235.756 118.283"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-377.232 -235.756 118.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3600"; + location = "-377.232 -235.756 118.283"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-442.039 -214.639 133.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3601"; + location = "-442.039 -214.639 133.363"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-442.023 -382.639 133.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3603"; + location = "-442.023 -382.639 133.363"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-467.336 -383.571 118.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3605"; + location = "-467.336 -383.571 118.361"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-416.526 -207.316 118.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3607"; + location = "-416.526 -207.316 118.362"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-450.186 -225.036 205.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3609"; + location = "-450.186 -225.036 205.362"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-465.504 -224.984 205.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3611"; + location = "-465.504 -224.984 205.364"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-464.475 -366.975 205.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory9"; + targetClientId = "-1"; + targetObjectId = "3613"; + location = "-464.475 -366.975 205.363"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-449.188 -366.999 205.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory10"; + targetClientId = "-1"; + targetObjectId = "3615"; + location = "-449.188 -366.999 205.364"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-433.199 -296.005 216.357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3617"; + location = "-433.199 -296.005 216.357"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-457.538 -296.004 207.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SentryTurret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3619"; + location = "-457.538 -296.004 207.694"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-441.862 -295.998 145.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-441.862 -295.998 145.446"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-441.862 -295.998 145.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-441.862 -295.998 145.446"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-441.862 -295.998 145.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3624"; + location = "-441.862 -295.998 145.446"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-366.164 -407.872 221.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3630"; + location = "-366.164 -407.872 221.397"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-521.981 -366.913 216.864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3632"; + location = "-521.981 -366.913 216.864"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "408.605 -506.112 132.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge4"; + targetClientId = "-1"; + targetObjectId = "3642"; + location = "408.605 -506.112 132.412"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "508.732 -497.768 31.2799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "508.732 -497.768 31.2799"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "508.732 -497.768 31.2799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "508.732 -497.768 31.2799"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-483.736 281.906 213.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge5"; + targetClientId = "-1"; + targetObjectId = "3645"; + location = "-483.736 281.906 213.98"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team0) { + + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-67.5707 -314.903 222.032"; + rotation = "0.034307 0.0349722 -0.998799 91.1691"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "21.7433 33.4874 179.322"; + rotation = "0.0231395 -0.0149954 0.99962 65.91"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "558.209 -2.8835 205.361"; + rotation = "0.0135575 0.0199968 -0.999708 111.742"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-271.311 57.2777 161.655"; + rotation = "0.0182628 -0.0549631 0.998321 143.297"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge1) { + + new InteriorInstance() { + position = "380.819 22.5013 104.757"; + rotation = "-0.0488905 -0.0648766 0.996695 106.179"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "363.181 -38.5013 96.7812"; + rotation = "-0.0488905 -0.0648766 0.996695 106.179"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge2) { + + new InteriorInstance() { + position = "-126.603 -169.439 101.94"; + rotation = "0.0947935 -0.0966317 -0.990796 57.3507"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-161.397 -222.561 109.916"; + rotation = "0.0947935 -0.0966317 -0.990796 57.3507"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "788.243 -120.742 93.2821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new SimGroup(AudioBubbling) { + + new AudioEmitter() { + position = "-127.271 -599.191 73.8282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-0.1303 -379.435 82.0205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "157.388 -327.829 79.6444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-78.2492 -230.919 76.0957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-167.821 -165.86 68.4118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-341.266 -11.3738 94.1502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-482.129 113.983 67.6711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-141.102 10.5968 55.5102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "50.562 143.443 71.5025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "180.524 88.5898 82.5195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "270.612 38.3664 81.4305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "359.701 -41.4356 78.8128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "415.911 7.8789 77.0379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "527.198 -5.8731 76.6843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "677.579 3.7397 75.6718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "779.934 -76.4898 81.8745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "664.153 -199.782 72.5073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "695.044 -307.339 76.7616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "503.624 -202.354 71.3533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "404.98 -350.207 76.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "236.584 -422.991 74.9242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "257.65 -611.217 79.5614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "99.294 34.1552 66.3693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "416.214 -61.4063 71.6195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "5"; + maxDistance = "320"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Respite.mis b/public/base/@vl2/missions.vl2/missions/Respite.mis new file mode 100644 index 00000000..26e5ad4d --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Respite.mis @@ -0,0 +1,1359 @@ +// MissionTypes = Siege +// DisplayName = Respite + +//--- MISSION QUOTE BEGIN --- +//Let all the Tribes of Man bear witness: the Phoenix rises at last to claim its own. +// -- Anton Malderi yl-Harabec, first anointed Phoenix Prime of the Harbingers, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Inventory stations available to both teams +//Attacking team must kill north and south generators to reach control switch +//Placing turrets critical for defenders +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Siege_timeLimit = "20"; + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-608 -440 1040 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + position = "-1680 -1880 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Respite.ter"; + squareSize = "8"; + emptySquares = "359010"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Respite.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + scale = "1 1 1"; + locked = "true"; + XDimOverSize = "0"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-428.893 446.853 123.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "90"; + outdoorWeight = "10"; + locked = "true"; + }; + }; + new SimGroup(Base1) { + providesPower = "1"; + + new ForceFieldBare() { + position = "-420.839 433.798 126.019"; + rotation = "1 0 0 0"; + scale = "0.772095 6.3679 5.62782"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-440.609 434.035 125.961"; + rotation = "1 0 0 0"; + scale = "1 6.3679 5.62782"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-433.416 444.271 108"; + rotation = "1 0 0 0"; + scale = "6.1382 0.587158 13.1878"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-430.353 436.067 107.119"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "-424.242 436.76 108.1"; + rotation = "0 0 1 89.564"; + scale = "1 1 1"; + nameTag = "Assault"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "-436.838 436.903 108.1"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Assault"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-436.606 441.699 134.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret() { + position = "-427.346 437.755 151.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new Turret() { + position = "-433.407 435.186 151.05"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + originalBarrel = "PlasmaBarrelLarge"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "-61.3335 -115.982 128.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "4479"; + location = "-61.3335 -115.982 128.367"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-66.0305 -111.598 137.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "4478"; + location = "-66.0305 -111.598 137.022"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-69.5116 -106.377 128.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "4481"; + location = "-69.5116 -106.377 128.364"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-202.729 -45.0803 99.9606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the Team2FlipFlop1"; + mode = "TouchFlipFlop"; + targetObject = "Team2FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "4466"; + location = "-202.729 -45.0803 99.9606"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-103.341 25.4572 144.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "4469"; + location = "-103.341 25.4572 144.392"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-115.004 27.3879 134.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "4470"; + location = "-115.004 27.3879 134.436"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-90.4107 27.457 134.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "4472"; + location = "-90.4107 27.457 134.412"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-114.601 -61.0651 119.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + + new SimGroup(ObjAlpha) { + providesPower = "1"; + + new InteriorInstance() { + position = "-202.509 -44.8018 107.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new Item() { + position = "-209.9 -44.7356 105.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2FlipFlop1) { + position = "-202.729 -45.0803 97.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + needsObjectiveWaypoint = "1"; + }; + }; + new SimGroup(ObjBeta) { + + new InteriorInstance() { + position = "-102.692 20.9235 139.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team2generatorLarge2) { + position = "-101.402 26.1234 142.949"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "South Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "South Bunker Generator"; + locked = "true"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(Team2StationInventory1) { + position = "-115.004 27.3879 132.533"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "South Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-90.2866 27.4388 132.533"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "South Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-211.684 -46.9191 97.4984"; + rotation = "1 0 0 0"; + scale = "1 4.49667 6.22947"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(ObjLambda) { + + new InteriorInstance() { + position = "-58.1054 -111.149 132.645"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team2generatorLarge3) { + position = "-63.8819 -111.35 135.4"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "North Stronghold"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + name = "North Bunker Generator"; + locked = "true"; + needsObjectiveWaypoint = "1"; + }; + new StaticShape(Team2StationInventory3) { + position = "-61.3169 -115.977 126.67"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "North Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-69.6014 -106.278 126.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new ForceFieldBare() { + position = "-216.511 -47.0479 97.4596"; + rotation = "1 0 0 0"; + scale = "0.985513 4.37129 6.19709"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "-66.0305 -111.598 137.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "4478"; + location = "-66.0305 -111.598 137.022"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-61.3335 -115.982 128.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "4479"; + location = "-61.3335 -115.982 128.367"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-69.5116 -106.377 128.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "4481"; + location = "-69.5116 -106.377 128.364"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-202.729 -45.0803 99.9606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "Team2FlipFlop1"; + targetClientId = "-1"; + targetObjectId = "4466"; + location = "-202.729 -45.0803 99.9606"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-103.341 25.4572 144.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "4469"; + location = "-103.341 25.4572 144.392"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-103.341 25.4572 144.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "4469"; + location = "-103.341 25.4572 144.392"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-115.004 27.3879 134.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "4470"; + location = "-115.004 27.3879 134.436"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-90.4107 27.457 134.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "4472"; + location = "-90.4107 27.457 134.412"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(AIObjectives) { + }; + }; + }; + new Sky(Sky) { + position = "-1680 -1880 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + high_visibleDistance = "900"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "275"; + high_fogDistance = "600"; + fogColor = "0.400000 0.400000 0.400000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + high_fogVolume1 = "120 0 100"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000001 0.000001"; + }; + new WaterBlock() { + position = "-128 -96 90"; + rotation = "1 0 0 0"; + scale = "128 96 12"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + locked = "true"; + }; + new SimGroup(environment) { + + new TSStatic() { + position = "-46.068 -90.5109 114.357"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-97.287 -33.6868 104.639"; + rotation = "1 0 0 10.8863"; + scale = "1 1 1"; + shapeName = "borg33.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-122.789 -30.4939 104.096"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-31.5635 30.7804 157.928"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-216.173 -87.9387 163.853"; + rotation = "0 0 1 77.9223"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-439.903 452.289 162.532"; + rotation = "0.0166045 -0.0499723 0.998613 143.287"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-23.3748 -88.6262 138.51"; + rotation = "0 0 -1 111.154"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-219.645 -61.8336 143.463"; + rotation = "0 0 1 59.5876"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition4BEPlant1) { + + new TSStatic() { + position = "-105 -82 103.342"; + rotation = "0.462131 -0.253345 0.849854 46.3684"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25 -2 121.987"; + rotation = "-0.0144114 0.0336269 0.999331 141.024"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-105 -106 123.459"; + rotation = "-0.108457 0.315024 0.942866 200.771"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-140.51 16.8311 131.494"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-49.5967 -116.738 125.795"; + rotation = "0 1 0 7.44841"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-94.8663 35.5787 131.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new SimGroup(Addition5PhoenixPlant1) { + + new TSStatic() { + position = "-113 46 132.148"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-265 134 115.195"; + rotation = "0 0 1 149"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "63 118 180.078"; + rotation = "0 0 -1 109"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "87 70 167.875"; + rotation = "0 0 -1 69.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-201 -98 127.793"; + rotation = "0 0 1 192"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-145 -34 106.539"; + rotation = "0 0 1 7.00001"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-137 150 168.086"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185 -34 104.965"; + rotation = "0 0 1 236"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "47 110 181.051"; + rotation = "0 0 1 110"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-129 126 170.215"; + rotation = "0 0 1 39"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95 214 146.312"; + rotation = "0 0 -1 105"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-57 118 163.344"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-201 -26 110.246"; + rotation = "0 0 1 36"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-241 6 113.391"; + rotation = "0 0 1 99.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95 110 169.32"; + rotation = "0 0 -1 96.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-105 174 174.695"; + rotation = "0 0 -1 20.9998"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-169 -130 120.356"; + rotation = "0 0 -1 118"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-113 54 132.18"; + rotation = "0 0 -1 59.0003"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-41 206 179.164"; + rotation = "0 0 1 6.00005"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition6PhoenixPlant2) { + + new TSStatic() { + position = "-137 102 168.824"; + rotation = "0 0 1 50"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-185 206 150.68"; + rotation = "0 0 -1 86.0004"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-257 -2 108.727"; + rotation = "0 0 1 236"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-265 38 137.941"; + rotation = "0 0 -1 104"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1 94 165.027"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "23 -58 130.398"; + rotation = "0 0 1 32"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-169 -138 122.379"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "23 214 155.297"; + rotation = "0 0 1 7.00001"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-97 102 151.262"; + rotation = "0 0 1 34"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-41 -178 177.32"; + rotation = "0 0 1 139"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25 134 158.785"; + rotation = "0 0 1 79"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-257 -186 180.27"; + rotation = "0 0 1 96.0002"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "103 -186 196.887"; + rotation = "0 0 1 70.9998"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "71 174 182.895"; + rotation = "0 0 1 192"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-17 166 166.719"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "71 102 175.273"; + rotation = "0 0 -1 50"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "95 -170 187.805"; + rotation = "0 0 1 113"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-121 30 131.816"; + rotation = "0 0 1 196"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-25 70 142"; + rotation = "0 0 1 239"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition1BELgTree18) { + + new TSStatic() { + position = "-97.206 -50.249 101.355"; + rotation = "0 0 1 58.9997"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-32.5498 3.139 117.762"; + rotation = "0 0 1 57.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "-60.3481 -42.8411 108.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-121.581 -30.8508 119.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "3"; + maxDistance = "192"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-293.673 -11.7674 116.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-106.738 165.746 185.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "154.36 64.0897 179.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "23.604 -178.446 194.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-210.922 -185.037 192.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Reversion.mis b/public/base/@vl2/missions.vl2/missions/Reversion.mis new file mode 100644 index 00000000..e2e5a963 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Reversion.mis @@ -0,0 +1,3542 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//By the edge of those wilds warriors had charged +//But now the year and the generals were gone +//And the grass grew in the armors hollow on the hills. +// -- The Graymere Annals, 3704 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + powerCount = "0"; + musicTrack = "lush"; + CTF_scoreLimit = "5"; + + new MissionArea(MissionArea) { + area = "-944 -824 1872 1648"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "120 32 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "650"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.300000 0.000000"; + fogDistance = "50"; + fogColor = "0.350000 0.350000 0.350000 1.000000"; + fogVolume1 = "150 0 54"; + fogVolume2 = "275 54 60"; + fogVolume3 = "1500 60 300"; + materialList = "lush_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -190776.046875"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -62109.015625"; + cloudSpeed0 = "0.000000 0.000700"; + locked = "true"; + }; + new Lightning() { + position = "-24.2587 -1058.63 355.675"; + rotation = "1 0 0 0"; + scale = "2000 500 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "2"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "120 32 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Reversion.ter"; + squareSize = "8"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "Reversion.nav"; + scale = "1 1 1"; + coverage = "0"; + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + }; + new WaterBlock() { + position = "256 400 7.9047"; + rotation = "1 0 0 0"; + scale = "128 192 41.9265"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + locked = "true"; + AudioEnvironment = Underwater; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-620.438 283.257 142.023"; + rotation = "0.932418 0.0841451 -0.351448 28.8022"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-729.703 556.37 124.251"; + rotation = "0.0266336 -0.099798 0.994651 150.268"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "578.294 -468.308 149.149"; + rotation = "0.219564 -0.212904 0.952084 91.0485"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "729.464 -296.748 95.9682"; + rotation = "-0.00123095 -0.0249974 0.999687 185.637"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(teamS) { + + new SimGroup(Team0) { + + new InteriorInstance() { + position = "202.257 611.607 75.7962"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "202 615.5 78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "199.087 614.785 78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "204.913 616.215 78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + }; + }; + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-592.055 343.334 69.4735"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-592.219 494.489 70.6153"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-749.741 424.635 57.6114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new StaticShape(Team1generatorLarge1) { + position = "-700.961 390.401 55.4845"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(tower0b) { + + new Turret(Team1TurretBaseLarge1) { + position = "-592.282 340.362 61.0431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "false"; + }; + new InteriorInstance() { + position = "-592.231 348.482 50.72"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-592.285 334.739 52.6749"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Item() { + position = "-592.263 355.019 54.0272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + }; + new SimGroup(base0) { + + new InteriorInstance() { + position = "-700.2 419 50"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new Turret(Team1TurretBaseLarge2) { + position = "-668.312 418.661 64.9914"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Forward"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Item(Team1flag1) { + position = "-701.246 419.048 86.0046"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + WayPoint = "3725"; + locked = "true"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-606.274 417.202 57.1059"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-701.066 412.142 92.0019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Breezeway"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "-701.021 425.866 91.9946"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Breezeway"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "-686.565 419.146 59.0018"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Main Floor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "-703.347 439.114 77.9997"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Ramp"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "-703.353 398.983 78.0001"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Ramp"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-687.038 418.579 74.5295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "-684.2 418.951 55.5301"; + rotation = "0.57735 -0.57735 0.57735 120"; + scale = "1 1 1"; + nameTag = "Indoor Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret(Team1SentryTurret2) { + position = "-716.193 419.3 55.5031"; + rotation = "0.57735 0.57735 -0.57735 120"; + scale = "1 1 1"; + nameTag = "Indoor Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + }; + new SimGroup(veh0) { + + new InteriorInstance() { + position = "-750.979 426.27 49.1888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-750.979 415.27 48.8888"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + station = "3520"; + Ready = "1"; + locked = "true"; + }; + }; + new StaticShape(Team1generatorLarge2) { + position = "-700.99 447.595 55.4948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(tower0a) { + + new InteriorInstance() { + position = "-592.184 497.451 50.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge3) { + position = "-592.44 505.708 60.8904"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "North Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "false"; + }; + new StaticShape(Team1StationInventory11) { + position = "-592.181 511.183 52.3546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Item() { + position = "-592.281 491.525 53.4856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "-700.967 391.722 56.9892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "-700.967 391.722 56.9892"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-700.967 391.722 56.9892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "-700.967 391.722 56.9892"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "793.577 -466.837 57.8452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3602"; + location = "793.577 -466.837 57.8452"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "778.688 -493.811 59.3416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3607"; + location = "778.688 -493.811 59.3416"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-592.14 333.943 53.4407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "-592.14 333.943 53.4407"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-592.296 340.33 61.4925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "-592.296 340.33 61.4925"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-667.784 418.661 66.8927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "-667.784 418.661 66.8927"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-701.246 419.048 87.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-701.246 419.048 87.644"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-701.246 419.048 87.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-701.246 419.048 87.644"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-701.246 419.048 87.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-701.246 419.048 87.644"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-604.474 413.718 54.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Sensor"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3503"; + location = "-604.474 413.718 54.912"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-701.066 412.142 93.5677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3504"; + location = "-701.066 412.142 93.5677"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-701.021 425.866 93.5604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3506"; + location = "-701.021 425.866 93.5604"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-686.565 419.146 60.5676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3508"; + location = "-686.565 419.146 60.5676"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-703.347 439.114 79.5655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3510"; + location = "-703.347 439.114 79.5655"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-703.353 398.983 79.5659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3512"; + location = "-703.353 398.983 79.5659"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-684.52 418.951 55.5301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3515"; + location = "-684.52 418.951 55.5301"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-715.873 419.3 55.5031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3516"; + location = "-715.873 419.3 55.5031"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-700.984 446.274 56.9995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3522"; + location = "-700.984 446.274 56.9995"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-700.984 446.274 56.9995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3522"; + location = "-700.984 446.274 56.9995"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "669.907 -552.045 53.3825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3650"; + location = "669.907 -552.045 53.3825"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "669.939 -543.963 62.6336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3653"; + location = "669.939 -543.963 62.6336"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-592.203 494.508 63.4404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3526"; + location = "-592.203 494.508 63.4404"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-592.235 505.626 59.8916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3525"; + location = "-592.235 505.626 59.8916"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "778.671 -439.259 59.3313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3575"; + location = "778.671 -439.259 59.3313"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "762.224 -466.488 57.8722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3601"; + location = "762.224 -466.488 57.8722"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "781.057 -446.52 81.9079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3598"; + location = "781.057 -446.52 81.9079"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "669.844 -382.28 56.9828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3580"; + location = "669.844 -382.28 56.9828"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "670 -386.267 65.0345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3583"; + location = "670 -386.267 65.0345"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "745.488 -466.198 69.2348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3586"; + location = "745.488 -466.198 69.2348"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "778.95 -466.585 89.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3587"; + location = "778.95 -466.585 89.986"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "778.95 -466.585 89.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3587"; + location = "778.95 -466.585 89.986"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "778.95 -466.585 89.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3587"; + location = "778.95 -466.585 89.986"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "678.245 -470.091 60.854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy Sensor"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3589"; + location = "678.245 -470.091 60.854"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "778.77 -459.679 95.9097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3590"; + location = "778.77 -459.679 95.9097"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "778.725 -473.403 95.9024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3592"; + location = "778.725 -473.403 95.9024"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "764.269 -466.683 62.9097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3594"; + location = "764.269 -466.683 62.9097"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "781.051 -486.651 81.9075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3596"; + location = "781.051 -486.651 81.9075"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + }; + new InteriorInstance() { + position = "-606.179 417.306 47.1243"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + new SpawnSphere() { + position = "669.77 -390.883 71.8156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "669.934 -542.037 72.9574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "828.52 -463.342 59.9535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge1) { + position = "778.665 -437.938 57.8266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge3) { + position = "670.053 -544.552 61.6232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "false"; + }; + new InteriorInstance() { + position = "669.893 -536.999 51.1421"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "false"; + }; + new StaticShape(Team2StationInventory3) { + position = "670 -382.248 56.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Item() { + position = "669.978 -402.728 57.2492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "669.911 -386.514 64.4732"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "North Tower"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "false"; + }; + new InteriorInstance() { + position = "669.946 -396.031 54.1021"; + rotation = "0 0 -1 0.0791294"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + }; + new InteriorInstance() { + position = "777.904 -466.537 52.3421"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new Turret(Team2TurretBaseLarge2) { + position = "746.016 -466.198 67.3335"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Forward"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Item(Team2flag1) { + position = "778.95 -466.585 88.3467"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + WayPoint = "3726"; + locked = "true"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "678.792 -470.131 58.7282"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "778.77 -459.679 94.3439"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Breezeway"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "778.725 -473.403 94.3366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Breezeway"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "764.269 -466.683 61.3439"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Main Floor"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory7) { + position = "781.051 -486.651 80.3417"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Ramp"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory8) { + position = "781.057 -446.52 80.3421"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Ramp"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "764.742 -466.116 76.8715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret(Team2SentryTurret1) { + position = "761.904 -466.488 57.8722"; + rotation = "0.57735 0.577351 -0.57735 120"; + scale = "1 1 1"; + nameTag = "Indoor Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret(Team2SentryTurret2) { + position = "793.897 -466.837 57.8452"; + rotation = "-0.57735 0.577351 -0.57735 240"; + scale = "1 1 1"; + nameTag = "Indoor Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new InteriorInstance() { + position = "827.282 -461.707 51.5309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "827.282 -472.707 51.2309"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + station = "3605"; + Ready = "1"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge2) { + position = "778.694 -495.132 57.8369"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "-700.967 391.722 56.9892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3491"; + location = "-700.967 391.722 56.9892"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "778.688 -493.811 59.3416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3607"; + location = "778.688 -493.811 59.3416"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "778.688 -493.811 59.3416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3607"; + location = "778.688 -493.811 59.3416"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-592.14 333.943 53.4407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "-592.14 333.943 53.4407"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-592.296 340.33 61.4925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "-592.296 340.33 61.4925"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-667.784 418.661 66.8927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3500"; + location = "-667.784 418.661 66.8927"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-701.246 419.048 87.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-701.246 419.048 87.644"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-701.246 419.048 87.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-701.246 419.048 87.644"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-701.246 419.048 87.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-701.246 419.048 87.644"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-604.474 413.718 54.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy Sensor"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3503"; + location = "-604.474 413.718 54.912"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-701.066 412.142 93.5677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3504"; + location = "-701.066 412.142 93.5677"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-701.021 425.866 93.5604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3506"; + location = "-701.021 425.866 93.5604"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-686.565 419.146 60.5676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3508"; + location = "-686.565 419.146 60.5676"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-703.347 439.114 79.5655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3510"; + location = "-703.347 439.114 79.5655"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-703.353 398.983 79.5659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3512"; + location = "-703.353 398.983 79.5659"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-684.52 418.951 55.5301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3515"; + location = "-684.52 418.951 55.5301"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-715.873 419.3 55.5031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3516"; + location = "-715.873 419.3 55.5031"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-700.984 446.274 56.9995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3522"; + location = "-700.984 446.274 56.9995"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "669.907 -552.045 53.3825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3650"; + location = "669.907 -552.045 53.3825"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "669.939 -543.963 62.6336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3653"; + location = "669.939 -543.963 62.6336"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-592.203 494.508 63.4404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory11"; + targetClientId = "-1"; + targetObjectId = "3526"; + location = "-592.203 494.508 63.4404"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-592.235 505.626 59.8916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1TurretBaseLarge3"; + targetClientId = "-1"; + targetObjectId = "3525"; + location = "-592.235 505.626 59.8916"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "778.671 -439.259 59.3313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3575"; + location = "778.671 -439.259 59.3313"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "778.671 -439.259 59.3313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3575"; + location = "778.671 -439.259 59.3313"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "793.577 -466.837 57.8452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2SentryTurret2"; + targetClientId = "-1"; + targetObjectId = "3602"; + location = "793.577 -466.837 57.8452"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "762.224 -466.488 57.8722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2SentryTurret1"; + targetClientId = "-1"; + targetObjectId = "3601"; + location = "762.224 -466.488 57.8722"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "669.844 -382.28 56.5828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3580"; + location = "669.844 -382.28 56.5828"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "670 -386.267 65.0345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3583"; + location = "670 -386.267 65.0345"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "745.488 -466.198 69.2348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3586"; + location = "745.488 -466.198 69.2348"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "778.95 -466.585 89.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3587"; + location = "778.95 -466.585 89.986"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "778.95 -466.585 89.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3587"; + location = "778.95 -466.585 89.986"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "778.95 -466.585 89.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3587"; + location = "778.95 -466.585 89.986"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "678.245 -470.091 60.854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Sensor"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3589"; + location = "678.245 -470.091 60.854"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "778.77 -459.679 95.9097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3590"; + location = "778.77 -459.679 95.9097"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "778.725 -473.403 95.9024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3592"; + location = "778.725 -473.403 95.9024"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "764.269 -466.683 62.9097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3594"; + location = "764.269 -466.683 62.9097"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "781.051 -486.651 81.9075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3596"; + location = "781.051 -486.651 81.9075"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "781.057 -446.52 81.9079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3598"; + location = "781.057 -446.52 81.9079"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "all"; + isInvalid = "0"; + issuingClientId = "-1"; + }; + }; + new InteriorInstance() { + position = "678.434 -470.156 48.8163"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory11) { + position = "669.896 -550.771 53.0967"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new Item() { + position = "669.996 -530.393 54.4676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "false"; + }; + }; + }; + new SimGroup(Organics) { + + new TSStatic() { + position = "-133.533 -606.804 52.7506"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "228.452 465.752 67.9757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "331.87 360.319 49.8039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "398.588 572.925 72.3492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-221.204 808.859 48.3257"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-179.775 810.668 45.3881"; + rotation = "0.885553 0.436657 0.158514 90.3092"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "239.768 -813.59 47.6653"; + rotation = "0.210642 -0.158738 0.964589 107.973"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "362.641 -814.344 55.4042"; + rotation = "0 0 1 61.3065"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-185.798 -676.856 63.8358"; + rotation = "0 0 1 116.31"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-63.3654 -675.879 70.0938"; + rotation = "0 0 -1 80.787"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-573.682 196.234 73.4702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-468.42 316.98 68.4671"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-445 354 80.6467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-533.129 731.972 87.3182"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-156.684 483.974 84.3727"; + rotation = "0 0 1 34.9504"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-164.159 106.95 59.8089"; + rotation = "0 0 1 104.278"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-190 -166 87.4137"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "74.5247 -211.457 85.7287"; + rotation = "0 0 -1 41.8259"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "287.252 35.4062 69.0122"; + rotation = "0 0 1 62.4524"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "257.02 10.7366 71.046"; + rotation = "0 0 -1 41.8259"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "224.605 -224.631 70.2669"; + rotation = "0 0 1 26.929"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "566.293 -276.306 56.7236"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "507.776 -304.988 55.5671"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "777.547 -117.595 75.5863"; + rotation = "0 0 -1 64.1713"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "822.478 -632.831 50.0429"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "813.296 -664.078 49.8462"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new SimGroup(AudioWater) { + + new AudioEmitter() { + position = "286.108 515.075 54.4287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "1"; + minDistance = "15"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + }; + new SimGroup(AudioCreatures) { + + new AudioEmitter() { + position = "-130.021 -605.67 103.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-165.416 109.665 86.4439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "228.243 467.01 91.5886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-576.167 203.734 99.8476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(Rocks) { + + new InteriorInstance() { + position = "-430.596 222.191 64.7917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-450.616 650.028 80.2129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-143.789 543.163 94.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-264.882 155.907 98.7295"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-393.68 -48.3251 61.5342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-412.603 -79.3307 57.9718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-374.921 -69.2389 61.3461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-640.634 -232.746 57.5357"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-194.801 -126.726 102.882"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "63.7042 97.6869 105.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "184.628 187.984 64.3413"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "181.954 260.956 52.5766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "411.273 81.0008 86.4959"; + rotation = "0.0889925 0.376956 0.921946 175.725"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "486.496 -158.734 49.5211"; + rotation = "0 0 1 226.501"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "539.964 -196.76 47.6935"; + rotation = "0 0 -1 115.92"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "635.944 -210.565 78.4084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "612.695 -12.5919 117.781"; + rotation = "0 0 1 192.696"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "825.664 240.799 56.1113"; + rotation = "-1 0 0 24.0642"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "382.643 412.75 71.9031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "442.715 408.565 70.6079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "447.739 584.203 93.1733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "170.048 579.017 72.7536"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "632.608 418.948 79.3764"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "798.723 256.967 67.4079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "734.044 33.8683 51.5069"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "978.701 -239.387 51.9367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "759.286 -312.77 70.0386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "586.058 -563.127 80.644"; + rotation = "0 0 -1 110.581"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "261.977 -750.887 50.0861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "192.303 -714.896 51.2411"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "274.925 -512.594 76.0684"; + rotation = "1 0 0 134.072"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-355.854 -192.013 82.2533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Rimehold.mis b/public/base/@vl2/missions.vl2/missions/Rimehold.mis new file mode 100644 index 00000000..f3d5d98e --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Rimehold.mis @@ -0,0 +1,481 @@ +// MissionTypes = Hunters TeamHunters + +//--- MISSION QUOTE BEGIN --- +//Forget the Blood Eagle! The Hordes killed a half million of us at Ymir. That's a lot of kin to avenge, so lock and load. This is going to take awhile. +// -- Jarek Redmoon, Ur-Shaman of the Starwolf, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters TeamHunters]Nexus located in center of underground Great Hall +//Inventory stations located at corner towers +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "5"; + powerCount = "0"; + musicTrack = "ice"; + Team_Hunters_timeLimit = "25"; + Hunters_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-440 -312 848 880"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.620000 1.000000"; + locked = "true"; + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Rimehold.ter"; + squareSize = "8"; + emptySquares = "101741 101997 102253 299658 430985 431241 431497 366217"; + hazeDistance = "250"; + locked = "true"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + YDimOverSize = "0"; + GraphFile = "Rimehold.nav"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-904 -1136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "0"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-20.1378 130.534 175.57"; + rotation = "0 0 -1 95.2935"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-98.5621 203.831 198.799"; + rotation = "0.0328029 -0.0599317 0.997663 122.726"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-17.4677 159.05 77.7879"; + rotation = "0 0 1 195.952"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "163.16 -235.163 216.951"; + rotation = "0.305024 0.0666097 -0.950012 25.8909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-277.015 272.671 178.033"; + rotation = "0.0190453 -0.0299901 0.999369 115.197"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-0.966477 -50.0832 112.711"; + rotation = "0 0 -1 84.7978"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "120"; + locked = "true"; + }; + new SpawnSphere() { + position = "-34.2901 125.288 201.689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "300"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-87.5583 365.17 126.118"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "120"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(Stuff) { + powerCount = "1"; + + new InteriorInstance() { + position = "-277.883 464.884 214.117"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape() { + position = "31.9146 91.7929 -97.0133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "33"; + team = "0"; + }; + new InteriorInstance() { + position = "223.424 372.998 217.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape() { + position = "223.429 374.166 208.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "34"; + team = "0"; + Trigger = "3346"; + }; + new StaticShape() { + position = "157.765 -195.042 204.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + team = "0"; + Trigger = "3348"; + }; + new InteriorInstance() { + position = "157.83 -196.214 213.451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape() { + position = "-264.666 -196.208 217.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "36"; + team = "0"; + Trigger = "3351"; + }; + new InteriorInstance() { + position = "-264.726 -197.424 226.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + new StaticShape() { + position = "-276.719 464.838 205.12"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "37"; + team = "0"; + Trigger = "3354"; + }; + new InteriorInstance() { + position = "-29.8911 124.026 57.2013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + AudioEnvironment = BigRoom; + }; + new Item(Nexus) { + position = "-23.8753 84.0586 81.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "38"; + team = "0"; + flashThreadDir = "1"; + }; + new Trigger(NexusTrigger) { + position = "-33.4285 100.14 55.34"; + rotation = "1 0 0 0"; + scale = "19.5116 30 38.3776"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + locked = "true"; + team = "0"; + missionTypesList = "Hunters TeamHunters"; + }; + new WayPoint() { + position = "-23.8712 84.0586 81.555"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 0.1"; + nameTag = "The Nexus"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Nexus"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "-37.617 208.163 174.667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "0"; + }; + new InteriorInstance() { + position = "-39.6396 208.086 110.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "0"; + }; + }; + new WayPoint() { + position = "94.4419 164.733 129.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "East Nexus Entrance"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "East Nexus Entrance"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-144.489 118.269 122.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "West Nexus Entrance"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "West Nexus Entrance"; + team = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new Precipitation(Precipitation) { + position = "-72.3863 217.965 161.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + locked = "true"; + }; + new AudioEmitter() { + position = "-72.3863 217.965 161.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "-249.18 222.364 161.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-55.7404 39.1725 136.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-23.8753 84.0586 89.6089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-120.189 283.025 148.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-23.8753 84.0586 81.6897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/RiverDance.mis b/public/base/@vl2/missions.vl2/missions/RiverDance.mis new file mode 100644 index 00000000..102545be --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/RiverDance.mis @@ -0,0 +1,2279 @@ +// DisplayName = Riverdance +// MissionTypes = CTF Bounty + +//--- MISSION QUOTE BEGIN --- +//Storm'd at with shot and shell, +//Boldly they rode and well, +//Into the jaws of Death, +//Into the mouth of Hell. +// -- Alfred Lord Tennyson +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//[Bounty]Mission follows standard Rules of Engagement +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_scoreLimit = "5"; + + new MissionArea(MissionArea) { + area = "-696 -784 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "425"; + high_visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.420000 0.420000 0.420000 0.000000"; + fogDistance = "200"; + high_fogDistance = "300"; + fogColor = "0.420000 0.420000 0.420000 1.000000"; + fogVolume1 = "300 0 71"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.400000 0.450000 0.480000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "RiverDance.ter"; + squareSize = "8"; + emptySquares = "340042 340298 406089 144204 95350 439128 439384 439640"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "RiverDance.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + }; + new WaterBlock(Water) { + position = "-688 -1008 0"; + rotation = "1 0 0 0"; + scale = "768 1152 71.4642"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.1"; + removeWetEdges = "1"; + locked = "true"; + AudioEnvironment = Underwater; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-351.944 -540.814 193.161"; + rotation = "0 0 1 230.329"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-297.193 -128.662 207.328"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-237.93 336.553 119.233"; + rotation = "0 0 -1 41.8259"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-390.8 -557.509 168.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-412 -623.726 185.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-251.998 -243.486 142.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-251.963 -244.032 144.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Riverbank"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + missionTypesList = "CTF"; + }; + new InteriorInstance() { + position = "-365.211 -492.095 168.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "-365.829 -492.138 174.446"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + nameTag = "Main Compound"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + missionTypesList = "CTF"; + }; + new Item(Team1flag1) { + position = "-412.024 -599.725 201.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + WayPoint = "3751"; + missionTypesList = "CTF"; + }; + new StaticShape(Team1StationInventory1) { + position = "-394.37 -611.982 198.302"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + nameTag = "Catwalk"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-429.661 -612.071 198.304"; + rotation = "-0 0 -1 41.4353"; + scale = "1 1 1"; + nameTag = "Catwalk"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + damageTimeMS = "625904"; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "-299.605 422.457 127.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "-299.605 422.457 127.665"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-300.034 394.008 117.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-300.034 394.008 117.408"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack CloakPack ShieldPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + }; + new SimGroup(Repairs) { + + new AIObjective(AIORepairObject) { + position = "-365.168 -492.133 176.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3481"; + location = "-365.168 -492.133 176.198"; + weightLevel1 = "3100"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3504"; + }; + new AIObjective(AIORepairObject) { + position = "-394.871 -616.062 175.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3497"; + location = "-394.871 -616.062 175.117"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3504"; + }; + new AIObjective(AIORepairObject) { + position = "-412.4 -628.202 212.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "-412.4 -628.202 212.99"; + weightLevel1 = "3200"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3504"; + }; + }; + new SimGroup(defense) { + + new AIObjective(AIODefendLocation) { + position = "-412.024 -603.635 202.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "-412.024 -603.635 202.733"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ElfGun Chaingun SNiperRifle"; + buyEquipmentSet = "LightEnergyELF"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3508"; + }; + new AIObjective(AIODefendLocation) { + position = "-411.97 -616.652 212.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "-411.97 -616.652 212.99"; + weightLevel1 = "3300"; + weightLevel2 = "3100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack ChainGun PlasmaRifle"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3508"; + }; + }; + new SimGroup(General) { + + new AIObjective(AIOAttackPlayer) { + position = "-412.024 -599.725 202.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "-412.024 -599.725 202.733"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack ElfGun Chaingun SniperRifle"; + buyEquipmentSet = "LightEnergyELF"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3511"; + }; + new AIObjective(AIOTouchObject) { + position = "-412.024 -599.725 202.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "-412.024 -599.725 202.733"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3511"; + }; + new AIObjective(AIOTouchObject) { + position = "-300.034 393.988 117.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-300.034 393.988 117.408"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3511"; + }; + new AIObjective(AIOTouchObject) { + position = "-300.034 393.988 117.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-300.034 393.988 117.408"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3511"; + }; + }; + new SimGroup(deploy) { + + new AIObjective(AIODeployEquipment) { + position = "-412.176 -612.638 177.741"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-412.176 -612.638 177.741"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3516"; + }; + new AIObjective(AIODeployEquipment) { + position = "-406.908 -605.832 177.24"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-406.908 -605.832 177.24"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3516"; + }; + new AIObjective(AIODeployEquipment) { + position = "-417.083 -599.713 177.11"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-417.083 -599.713 177.11"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3516"; + }; + new AIObjective(AIODeployEquipment) { + position = "-412.022 -597.007 177.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-412.022 -597.007 177.7"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3516"; + }; + }; + new SimGroup(Deploy2) { + + new AIObjective(AIODeployEquipment) { + position = "-402.859 -628.897 211.545"; + rotation = "-4.29061e-10 9.08218e-12 1 221.735"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-402.859 -628.897 211.545"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3521"; + }; + new AIObjective(AIODeployEquipment) { + position = "-430.505 -608.004 211.541"; + rotation = "0 0 1 49.8473"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-430.505 -608.004 211.541"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3521"; + }; + new AIObjective(AIODeployEquipment) { + position = "-393.424 -607.945 211.545"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-393.424 -607.945 211.545"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3521"; + }; + new AIObjective(AIODeployEquipment) { + position = "-404.684 -607.996 211.548"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-404.684 -607.996 211.548"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3521"; + }; + new AIObjective(AIODeployEquipment) { + position = "-419.29 -607.974 211.546"; + rotation = "0 0 -1 50.9933"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-419.29 -607.974 211.546"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3521"; + }; + }; + }; + new StaticShape(Team1StationInventory3) { + position = "-401.466 -635.237 173.541"; + rotation = "0 0 -1 90.1374"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "-422.358 -635.228 173.543"; + rotation = "0 0 1 89.954"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-412.132 -630.141 211.538"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "-428.772 -616.093 173.546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "-394.871 -616.062 173.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-333.627 342.531 87.7581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-300.013 417.95 100.227"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOTouchObject) { + position = "-412.024 -599.725 202.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "-412.024 -599.725 202.733"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "-412.4 -628.202 212.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3493"; + location = "-412.4 -628.202 212.99"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + }; + new SimGroup(defense) { + + new AIObjective(AIODefendLocation) { + position = "-300.034 397.828 117.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-300.034 397.828 117.408"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ElfGun Chaingun SNiperRifle"; + buyEquipmentSet = "LightEnergyELF"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3557"; + }; + new AIObjective(AIODefendLocation) { + position = "-299.605 410.777 127.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "-299.605 410.777 127.665"; + weightLevel1 = "3300"; + weightLevel2 = "3100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack ChainGun PlasmaRifle"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3557"; + }; + }; + new SimGroup(Repairs) { + + new AIObjective(AIORepairObject) { + position = "-366.129 346.4 89.3581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3535"; + location = "-366.129 346.4 89.3581"; + weightLevel1 = "3100"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3560"; + }; + new AIObjective(AIORepairObject) { + position = "-299.605 422.457 127.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3536"; + location = "-299.605 422.457 127.665"; + weightLevel1 = "3200"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3560"; + }; + new AIObjective(AIORepairObject) { + position = "-316.999 410.359 89.7856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3551"; + location = "-316.999 410.359 89.7856"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3560"; + }; + }; + new SimGroup(General) { + + new AIObjective(AIOTouchObject) { + position = "-300.034 393.988 117.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-300.034 393.988 117.408"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3564"; + }; + new AIObjective(AIOTouchObject) { + position = "-412.024 -599.725 202.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "-412.024 -599.725 202.733"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3564"; + }; + new AIObjective(AIOTouchObject) { + position = "-412.024 -599.725 202.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3482"; + location = "-412.024 -599.725 202.733"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3564"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-300.034 393.988 117.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3547"; + location = "-300.034 393.988 117.408"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack ElfGun Chaingun SniperRifle"; + buyEquipmentSet = "LightEnergyELF"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + gameType = "CTF"; + isInvalid = "0"; + group = "3564"; + }; + }; + new SimGroup(Deploy3) { + + new AIObjective(AIODeployEquipment) { + position = "-302.831 405.963 92.2903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-302.831 405.963 92.2903"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3569"; + }; + new AIObjective(AIODeployEquipment) { + position = "-305.109 394.148 91.9202"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-305.109 394.148 91.9202"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3569"; + }; + new AIObjective(AIODeployEquipment) { + position = "-298.529 406.948 92.4119"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-298.529 406.948 92.4119"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3569"; + }; + new AIObjective(AIODeployEquipment) { + position = "-296.632 391.429 91.8408"; + rotation = "0 0 1 159.855"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-296.632 391.429 91.8408"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3569"; + }; + }; + new SimGroup(Deploy4) { + + new AIObjective(AIODeployEquipment) { + position = "-290.837 422.998 126.231"; + rotation = "0 0 -1 38.9611"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-290.837 422.998 126.231"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3574"; + }; + new AIObjective(AIODeployEquipment) { + position = "-281.537 402.167 126.265"; + rotation = "0 0 1 228.792"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-281.537 402.167 126.265"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3574"; + }; + new AIObjective(AIODeployEquipment) { + position = "-318.617 402.265 126.233"; + rotation = "2.19218e-09 -6.50844e-10 1 135.219"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-318.617 402.265 126.233"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3574"; + }; + new AIObjective(AIODeployEquipment) { + position = "-307.326 402.176 126.206"; + rotation = "0.00499996 -0.00251341 0.999984 233.375"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-307.326 402.176 126.206"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3574"; + }; + new AIObjective(AIODeployEquipment) { + position = "-292.703 402.233 126.209"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-292.703 402.233 126.209"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + isInvalid = "0"; + group = "3574"; + }; + }; + }; + new InteriorInstance() { + position = "-366.114 346.526 81.8562"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-368.855 -17.7987 144.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-368.816 -17.3134 146.065"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Riverbank"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + missionTypesList = "CTF"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-366.13 347.061 87.6066"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Main Compound"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + missionTypesList = "CTF"; + }; + new StaticShape(Team2generatorLarge1) { + position = "-299.87 424.396 126.213"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "-289.48 429.505 88.2248"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-310.508 429.397 88.2255"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Rear"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-283.274 410.286 88.2195"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-282.37 406.297 112.979"; + rotation = "0 0 1 138.656"; + scale = "1 1 1"; + nameTag = "Catwalk"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "-317.519 406.405 112.977"; + rotation = "0 0 1 225.355"; + scale = "1 1 1"; + nameTag = "Catwalk"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item(Team2flag1) { + position = "-300.034 393.988 116.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + WayPoint = "3752"; + missionTypesList = "CTF"; + }; + new StaticShape(Team2StationInventory7) { + position = "-316.999 410.359 88.2198"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(team0) { + + new InteriorInstance() { + position = "-254.396 -86.9783 109.648"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-264.794 -98.8338 112.355"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-275.192 -110.689 115.062"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-285.59 -122.545 117.769"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-295.988 -134.4 120.476"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-306.387 -146.256 123.182"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-316.785 -158.111 125.889"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-327.183 -169.967 128.596"; + rotation = "0.220023 -0.0828172 0.971973 42.3385"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-77.0947 -91.2849 277.314"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new Item() { + position = "-300.065 408.89 95.3845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-412.001 -614.569 180.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(AudioCreatures) { + + new AudioEmitter() { + position = "-94.0017 -850.072 58.5574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-31.8275 -326.177 64.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-617.199 -239.103 66.0503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-590.519 65.6461 64.0405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(AudioWater) { + + new AudioEmitter() { + position = "-3.409 -899.704 6.7194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "6400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-162.75 -854.68 21.2708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "6400"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-193.143 -576.66 21.7311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-200.348 -715.484 30.2868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-118.657 -471.908 16.0065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-116.215 -311.324 19.8767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-215.316 -192.442 16.6968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-328.211 -99.5332 15.4853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-502.77 -70.5871 26.3138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-605.967 -182.555 18.3957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-573.833 7.4946 36.1315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition12belgtree19) { + + new TSStatic() { + position = "98.3823 174.606 102.781"; + rotation = "0 0 1 11"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-540 380 107.904"; + rotation = "0 0 -1 16.9999"; + scale = "2.4 2.4 2.4"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "137.649 22.9043 77.5"; + rotation = "0 0 1 200"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-270.929 272.967 82.6457"; + rotation = "0 0 -1 59.0003"; + scale = "1.7 1.7 1.7"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-612 324 113.188"; + rotation = "0 0 1 56"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition8belgtree18) { + + new TSStatic() { + position = "124 -332 128.102"; + rotation = "0 0 1 7.00001"; + scale = "2.9 2.9 2.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-430.584 -411.965 191.665"; + rotation = "0 0 1 87.0002"; + scale = "2.9 2.9 2.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-316 -252 137.672"; + rotation = "0 0 1 108"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-564 -436 137.484"; + rotation = "0 0 1 35"; + scale = "2.5 2.5 2.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-812 -356 116.344"; + rotation = "0 0 -1 16.0002"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition9belgtree19) { + + new TSStatic() { + position = "-668 -452 142.781"; + rotation = "0 0 1 192"; + scale = "2.1 2.1 2.1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-186.347 -382.468 105.563"; + rotation = "0 0 1 78.0002"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-716 -564 98.46"; + rotation = "0 0 1 224"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-12 -532 90.8437"; + rotation = "0 0 1 6.00005"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "92 -580 129.266"; + rotation = "0 0 1 161"; + scale = "2.3 2.3 2.3"; + shapeName = "borg19.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition11belgtree18) { + + new TSStatic() { + position = "-396.769 857.43 61.6791"; + rotation = "0 0 -1 96.0002"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-812 172 79.7188"; + rotation = "0 0 -1 99.0002"; + scale = "2.2 2.2 2.2"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-585.251 -96.8789 73.2344"; + rotation = "0 0 -1 90.0002"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-812 316 101.078"; + rotation = "0 0 -1 16.0002"; + scale = "2.7 2.7 2.7"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-92.4422 154.282 80.4789"; + rotation = "0 0 1 107"; + scale = "2.9 2.9 2.9"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-490.094 -275.639 151.905"; + rotation = "0 0 1 29"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-503.04 598.339 117.499"; + rotation = "0 0 1 189"; + scale = "3 3 3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(RandomRocks) { + + new SimGroup(Addition3brock8) { + + new InteriorInstance() { + position = "0.506165 -884.237 51.7016"; + rotation = "0 0 1 1.04753"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-584.494 -155.237 53.2229"; + rotation = "0.996747 0.053185 0.0605497 82.7752"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-488.494 -266.237 158.407"; + rotation = "0 0 1 2.53065"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Addition4brock8) { + + new InteriorInstance() { + position = "-553.436 368.836 104.071"; + rotation = "0.998967 0.0260688 -0.0372268 194.244"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-630.436 108.836 83.7527"; + rotation = "0.999904 0.00913793 0.0104033 82.5959"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new TSStatic() { + position = "-322.778 38.3542 135.572"; + rotation = "0 0 -1 119"; + scale = "2.2 2.2 2.2"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-443.73 129.656 123.107"; + rotation = "0 0 1 186.047"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-1001.92 92.9566 74.7078"; + rotation = "0 0 1 173"; + scale = "2.2 2.2 2.2"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-97.2999 -962.344 72.5074"; + rotation = "0 0 1 157"; + scale = "2.5 2.5 2.5"; + shapeName = "borg19.dts"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- + +Game.cdtrack = 2; diff --git a/public/base/@vl2/missions.vl2/missions/Sanctuary.mis b/public/base/@vl2/missions.vl2/missions/Sanctuary.mis new file mode 100644 index 00000000..e7452f18 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Sanctuary.mis @@ -0,0 +1,2771 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Butchers is an apt title for them, but they shed blood without purpose. God shall abandon them. +// -- Firelord Anton Malderi on the Blood Eagle, 3937 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//Remotely located repair packs could bolster opposition +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "5"; + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-976 -928 1360 1424"; + flightCeiling = "400"; + flightCeilingRange = "20"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.106000 0.125000 0.235000 0.000000"; + fogDistance = "250"; + fogColor = "0.170000 0.170000 0.170000 1.000000"; + fogVolume1 = "80 1 72"; + fogVolume2 = "250 73 250"; + fogVolume3 = "8000 251 500"; + materialList = "lush_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 844439074249547710000.000000"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Sanctuary.ter"; + squareSize = "8"; + hazeDistance = "250"; + visibleDistance = "500"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "Sanctuary.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-278.52 439.75 287.383"; + rotation = "0.00588202 -0.164249 0.986401 175.954"; + scale = "1 1 1"; + dataBlock = "Observer"; + }; + new Camera() { + position = "-451.588 -797.72 304.322"; + rotation = "0.788746 0.15624 -0.594533 36.8541"; + scale = "1 1 1"; + dataBlock = "Observer"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(equipment) { + powerCount = "2"; + team = "1"; + + new InteriorInstance() { + position = "-459.363 -723.638 210.051"; + rotation = "0 0 1 198.243"; + scale = "0.993914 1 1"; + interiorFile = "bbase4cm.dif"; + showTerrainInside = "0"; + team = "1"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team1StationInventory3) { + position = "-453.7 -754.041 224.031"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + nameTag = "South"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + new StaticShape() { + position = "-502.671 -876.777 214.391"; + rotation = "0 0 1 204.546"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + }; + new StaticShape(Team1generatorLarge1) { + position = "-501.955 -707.453 210.551"; + rotation = "0 0 -1 73.1303"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "GeneratorLarge"; + team = "1"; + }; + new StaticShape(Team1generatorLarge2) { + position = "-504.421 -714.945 210.601"; + rotation = "0 0 -1 69.51"; + scale = "1 1 1"; + nameTag = "Secondary"; + dataBlock = "GeneratorLarge"; + team = "1"; + }; + new StaticShape(Team1StationInventory1) { + position = "-494.116 -696.271 224.015"; + rotation = "0 0 1 109.435"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + team = "1"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-456.583 -644.825 240.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Hill"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + team = "1"; + lastDamagedBy = "2"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-437.596 -732.065 219.427"; + rotation = "0 0 1 108.862"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + Target = "39"; + team = "1"; + lastDamagedBy = "2"; + }; + new StaticShape(Team1StationInventory4) { + position = "-437.07 -705.56 224.026"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "StationInventory"; + team = "1"; + }; + new StaticShape(Team1StationInventory2) { + position = "-507.886 -739.704 224.011"; + rotation = "0 0 1 110.008"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + }; + new Item(Team1flag1) { + position = "-474.023 -719.821 210.321"; + rotation = "0 0 1 105.424"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + team = "1"; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + team = "1"; + + new SpawnSphere() { + position = "-470.529 -720.7 222.858"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "60"; + indoorWeight = "100"; + outdoorWeight = "100"; + team = "1"; + }; + }; + new StaticShape() { + position = "-474.023 -719.821 210.036"; + rotation = "0 0 1 197.098"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new AIObjective(AIODefendLocation) { + position = "-474.023 -719.821 211.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-474.023 -719.821 211.396"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-247.801 359.1 231.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-247.801 359.1 231.027"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "1"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-474.023 -719.821 211.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-474.023 -719.821 211.396"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "1"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "-437.07 -705.56 225.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3442"; + location = "-437.07 -705.56 225.542"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-507.848 -888.782 218.615"; + rotation = "0.756941 -0.0669726 0.650042 39.5001"; + scale = "0.688174 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + targetObject = "3338"; + targetClientId = "-1"; + targetObjectId = "3338"; + location = "-507.848 -888.782 218.615"; + weightLevel1 = "2800"; + weightLevel2 = "1300"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "0"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-456.853 -645.33 241.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3440"; + location = "-456.853 -645.33 241.988"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-507.886 -739.704 225.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3444"; + location = "-507.886 -739.704 225.577"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-436.971 -732.279 221.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3441"; + location = "-436.971 -732.279 221.179"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-494.116 -696.271 225.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3438"; + location = "-494.116 -696.271 225.581"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-502.348 -715.515 212.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3437"; + location = "-502.348 -715.515 212.106"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIORepairObject) { + position = "-499.986 -708.052 212.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3436"; + location = "-499.986 -708.052 212.106"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "-474.023 -719.821 211.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-474.023 -719.821 211.396"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "1"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIOMortarObject) { + position = "-264.016 323.747 240.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-264.016 323.747 240.862"; + weightLevel1 = "2000"; + weightLevel2 = "500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "-247.801 359.1 231.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-247.801 359.1 231.027"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "1"; + }; + new AIObjective(AIOTouchObject) { + position = "-247.801 359.1 231.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-247.801 359.1 231.027"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "1"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODeployEquipment) { + position = "-447.187 -711.476 213.605"; + rotation = "-0.0184623 -0.0429773 0.998905 102.861"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-447.187 -711.476 213.605"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-474.239 -742.851 209.887"; + rotation = "0.912291 -0.170726 0.37226 53.3786"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-474.239 -742.851 209.887"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-497.48 -732.153 210.575"; + rotation = "0.0157831 -0.0335904 0.999311 199.616"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-497.48 -732.153 210.575"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-440.479 -742.831 207.704"; + rotation = "0.262895 0.201127 -0.943628 75.2692"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-440.479 -742.831 207.704"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-515.632 -694.151 227.08"; + rotation = "-0.0555792 0.0226218 -0.998198 75.0999"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-515.632 -694.151 227.08"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-505.845 -710.363 216.589"; + rotation = "-0.382601 0.502456 0.775341 118.885"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-505.845 -710.363 216.589"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-497.703 -837.699 207.382"; + rotation = "0.207319 -0.389497 0.897391 119.097"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-497.703 -837.699 207.382"; + weightLevel1 = "4200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-451.199 -764.566 206.77"; + rotation = "0.337304 -0.340423 0.877689 97.9764"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-451.199 -764.566 206.77"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-476.869 -677.982 208.006"; + rotation = "0.167961 -0.401968 0.900117 138.776"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-476.869 -677.982 208.006"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-494.788 -819.781 208.068"; + rotation = "0.152573 -0.254071 0.955076 120.328"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-494.788 -819.781 208.068"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + new AIObjective(AIODeployEquipment) { + position = "-393.951 -705.015 202.712"; + rotation = "0.666496 -0.188051 0.721401 42.7221"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-393.951 -705.015 202.712"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Misc) { + powerCount = "0"; + + new Item() { + position = "-214.067 -569.617 167.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-214.043 -569.517 156.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-193.539 284.568 245.397"; + rotation = "0 0 -1 36.0963"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-385.412 363.196 217.717"; + rotation = "0 0 1 105.424"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-456.783 -645.234 230.259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-496.286 -864.422 214.798"; + rotation = "0 0 1 24.0643"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new Item(Team2flag1) { + position = "-247.801 359.1 229.95"; + rotation = "0 0 1 26.929"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + team = "2"; + }; + new SimGroup(equipment) { + powerCount = "2"; + team = "2"; + + new InteriorInstance() { + position = "-252.497 345.01 229.685"; + rotation = "0 0 -1 64.7442"; + scale = "1 1.15763 1"; + interiorFile = "bbase4cm.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team2StationInventory4) { + position = "-287.53 344.9 243.663"; + rotation = "0 0 -1 73.9115"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape(Team2generatorLarge1) { + position = "-230.591 385.206 230.183"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + nameTag = "Main "; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape(Team2generatorLarge2) { + position = "-239.076 389.165 230.15"; + rotation = "0 0 1 24.0642"; + scale = "1 1 1"; + nameTag = "Secondary "; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape(Team2StationInventory1) { + position = "-265.773 396.705 243.645"; + rotation = "0 0 1 204.155"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape(Team2StationInventory2) { + position = "-218.873 375.39 243.619"; + rotation = "0 0 1 206.838"; + scale = "1 1 1"; + nameTag = "Main"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-263.724 324.34 239.11"; + rotation = "0 0 1 206.265"; + scale = "1 1 1"; + nameTag = "Base "; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + team = "2"; + }; + new StaticShape(Team2StationInventory3) { + position = "-233.647 319.35 243.666"; + rotation = "0 0 1 113.055"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape() { + position = "-396.14 366.643 217.31"; + rotation = "0 0 -1 74.4845"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-193.466 284.61 255.349"; + rotation = "0 0 1 143.422"; + scale = "1 1 1"; + nameTag = "Hill"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + team = "2"; + + new SpawnSphere() { + position = "-247.065 363.69 246.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "60"; + indoorWeight = "35"; + outdoorWeight = "65"; + team = "2"; + }; + }; + new StaticShape() { + position = "-247.801 359.1 229.667"; + rotation = "-0 0 -1 65.3172"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + }; + new SimGroup(AIObjectives) { + powerCount = "0"; + + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIORepairObject) { + position = "-231.594 383.504 232.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3495"; + location = "-231.594 383.504 232.288"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-193.604 284.699 256.824"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3507"; + location = "-193.604 284.699 256.824"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-264.016 323.747 240.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3501"; + location = "-264.016 323.747 240.862"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-233.647 319.35 245.232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3502"; + location = "-233.647 319.35 245.232"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-218.873 375.39 245.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3499"; + location = "-218.873 375.39 245.185"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-267.233 397.36 245.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3497"; + location = "-267.233 397.36 245.211"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIORepairObject) { + position = "-239.849 387.061 232.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3496"; + location = "-239.849 387.061 232.305"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "-247.801 359.1 231.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-247.801 359.1 231.027"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "2"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-247.801 359.1 231.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-247.801 359.1 231.027"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "2"; + }; + new AIObjective(AIODefendLocation) { + position = "-247.801 359.1 231.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3489"; + location = "-247.801 359.1 231.027"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "-474.023 -719.821 211.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-474.023 -719.821 211.396"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "2"; + }; + new AIObjective(AIOTouchObject) { + position = "-474.023 -719.821 211.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-474.023 -719.821 211.396"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "2"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-474.023 -719.821 211.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3446"; + location = "-474.023 -719.821 211.396"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + gameType = "all"; + team = "2"; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIOAttackObject) { + position = "-437.07 -705.56 225.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3442"; + location = "-437.07 -705.56 225.542"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-453.7 -754.041 225.597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3431"; + location = "-453.7 -754.041 225.597"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOMortarObject) { + position = "-456.853 -645.33 241.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorMediumPulse"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3440"; + location = "-456.853 -645.33 241.988"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-507.886 -739.704 225.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3444"; + location = "-507.886 -739.704 225.577"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOMortarObject) { + position = "-436.971 -732.279 221.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3441"; + location = "-436.971 -732.279 221.179"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-494.116 -696.271 225.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3438"; + location = "-494.116 -696.271 225.581"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-502.348 -715.515 212.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3437"; + location = "-502.348 -715.515 212.106"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIOAttackObject) { + position = "-499.986 -708.052 212.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3436"; + location = "-499.986 -708.052 212.106"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + }; + new SimGroup(ObjectiveSet) { + powerCount = "0"; + + new AIObjective(AIODeployEquipment) { + position = "-233.404 388.693 236.131"; + rotation = "0.161307 0.477472 0.863713 212.534"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-233.404 388.693 236.131"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-215.632 397.329 245.636"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-215.632 397.329 245.636"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-240.717 331.198 231.463"; + rotation = "0 0 1 207.593"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-240.717 331.198 231.463"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-262.064 380.295 231.471"; + rotation = "0 0 -1 70.4738"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-262.064 380.295 231.471"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-221.915 355.943 229.474"; + rotation = "0.328649 0.201496 -0.922707 67.2052"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-221.915 355.943 229.474"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-371.217 381.015 211.884"; + rotation = "-0.244113 -0.395755 0.885317 232.748"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-371.217 381.015 211.884"; + weightLevel1 = "4300"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-349.309 372.086 215.176"; + rotation = "0.272888 -0.260697 0.92605 102.992"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-349.309 372.086 215.176"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-296.869 343.826 226.745"; + rotation = "-0.0642784 -0.332797 0.940805 200.598"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-296.869 343.826 226.745"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-236.536 296.638 228.111"; + rotation = "0.368861 0.357673 -0.857911 96.9986"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-236.536 296.638 228.111"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-193.084 342.457 229.783"; + rotation = "0.676699 -0.2901 0.676699 64.7098"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-193.084 342.457 229.783"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + new AIObjective(AIODeployEquipment) { + position = "-265.167 414.943 227.734"; + rotation = "0.808363 -0.193541 0.55596 46.5982"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-265.167 414.943 227.734"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + team = "2"; + }; + }; + }; + new SimGroup(Misc) { + powerCount = "0"; + + new InteriorInstance() { + position = "-191.665 49.0313 133.271"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new Item() { + position = "-191.922 49.0127 144.047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + team = "2"; + }; + }; + }; + }; + new SimGroup(Misc) { + powerCount = "0"; + }; + new SimGroup(Bridge) { + powerCount = "0"; + + new InteriorInstance() { + position = "-811.825 -37.563 105.583"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-832.485 -61.61 105.583"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-842.772 -73.551 105.583"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-822.073 -49.487 105.583"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-801.424 -25.417 105.593"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-853.063 -85.564 105.584"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Water) { + powerCount = "0"; + + new WaterBlock() { + position = "-920 -792 19.2205"; + rotation = "1 0 0 0"; + scale = "192 160 60"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-120 344 30.339"; + rotation = "1 0 0 0"; + scale = "288 224 60"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-104 -120 16.3623"; + rotation = "1 0 0 0"; + scale = "288 224 70"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-448 -80 36.8361"; + rotation = "1 0 0 0"; + scale = "224 192 50"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-704 -600 -0.359596"; + rotation = "1 0 0 0"; + scale = "288 224 80"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-920 -80 35"; + rotation = "1 0 0 0"; + scale = "128 160 50"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1.5"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-16 -440 69"; + rotation = "1 0 0 0"; + scale = "128 128 30"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-440 -280 67.038"; + rotation = "1 0 0 0"; + scale = "96 128 50"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "104 -192 67.033"; + rotation = "1 0 0 0"; + scale = "128 96 40"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1.5"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-680 120 81.7432"; + rotation = "1 0 0 0"; + scale = "128 96 21.2156"; + liquidType = "Water"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1.5"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.5"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + }; + new SimGroup(Sounds) { + powerCount = "0"; + + new AudioEmitter() { + position = "-816.585 -720.936 98.0073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "200"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-537.65 -478.5 107.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "110"; + maxDistance = "7040"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "42.13 -409.455 111.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "12000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "290.9 -709.964 127.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-416.208 -233.275 131.498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "12000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-359.701 15.76 112.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "120"; + maxDistance = "7680"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-10.56 -15.81 115.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "4800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "5000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "172.83 -151.844 127.849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "4800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "12000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-877.421 -326.179 212.333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets_drygrass.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "75"; + maxDistance = "4800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-846.934 13.79 103.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "12000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-556.935 401.14 181.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "5120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "3000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-3.01 424.87 146.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "70"; + maxDistance = "4480"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "3000"; + maxLoopGap = "8000"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-266.062 -664.522 283.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "AudioDefaultLooping3d"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "50"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(environment) { + powerCount = "0"; + + new TSStatic() { + position = "-356.984 297.923 205.766"; + rotation = "0 0 -1 4.58367"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-337.829 401.987 215.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-136.153 182.457 157.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-160.946 161.792 161.837"; + rotation = "0 0 -1 57.2958"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance() { + position = "-151.803 185.288 164.016"; + rotation = "-0.437731 -0.798273 -0.413705 100.274"; + scale = "2 2 2"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-726.653 66.1344 125.058"; + rotation = "0 1 0 12.6051"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-176.035 39.5488 137.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-185.247 43.2137 137.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-177.154 225.845 186.456"; + rotation = "-0.765608 -0.284088 -0.577182 39.2068"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-314.439 -65.7355 111.627"; + rotation = "0.673202 0.387047 -0.630075 80.4197"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-306.667 -49.9362 107.124"; + rotation = "0.412403 0.606569 -0.679704 84.4769"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-272.18 -109.564 126.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-268.36 -99.5525 127.717"; + rotation = "-0.789554 0.103769 0.604844 18.2917"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-887.976 -99.5106 108.43"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-480.798 -344.793 100.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-495.754 -398.464 82.4863"; + rotation = "-0.936757 0.259938 -0.234347 26.5857"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-485.235 -337.563 101.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new InteriorInstance() { + position = "-345.417 -483.38 101.064"; + rotation = "-0.568319 0.756803 0.322897 77.6136"; + scale = "3 3 3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-304.939 -553.958 168.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-243.02 -554.156 161.365"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-230.182 -561.588 161.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-156.243 -734.06 161.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-162.219 -739.959 161.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-156.893 -743.493 161.249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-167.917 -745.641 160.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-304.289 -754.599 158.465"; + rotation = "-0.963412 -0.232199 -0.13387 7.71271"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-372.553 -728.457 182.794"; + rotation = "0 0 -1 47.5555"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-425.313 -709.42 207.271"; + rotation = "-0.535151 -0.809595 0.241182 11.8975"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-540.938 -660.461 200.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new InteriorInstance() { + position = "-733.574 -566.981 157.906"; + rotation = "0.239803 0.825081 -0.511601 115.336"; + scale = "1 1 0.994154"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-718.624 -574.904 157.404"; + rotation = "-0.452581 -0.875133 0.171208 6.35954"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-900.296 -545.501 159.384"; + rotation = "0.0049999 -0.00593609 0.99997 80.2158"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-895.107 -554.128 159.618"; + rotation = "-0.0185749 0.347858 -0.937363 10.2299"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-917.252 -436.756 205.641"; + rotation = "-0.478552 -0.682273 0.552712 32.0623"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-806.48 -336.4 142.821"; + rotation = "0.276427 -0.127534 -0.952535 22.457"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-808.421 -311.927 140.655"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-654.064 -305.894 158.1"; + rotation = "0 0 1 50.9932"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-659.498 -363.31 161.807"; + rotation = "0.425364 0.734243 0.529106 24.4137"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-611.287 -247.584 149.731"; + rotation = "0.427544 -0.893612 -0.136617 9.03878"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-802.665 -115.662 125.412"; + rotation = "0.00177874 0.999367 -0.0355454 29.7968"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Sirocco.mis b/public/base/@vl2/missions.vl2/missions/Sirocco.mis new file mode 100644 index 00000000..6724642a --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Sirocco.mis @@ -0,0 +1,1016 @@ +// MissionTypes = CnH + +//--- MISSION QUOTE BEGIN --- +//All in a hot and copper sky, the bloody sun, at noon. +// -- Samuel Taylor Coleridge +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CnH]6 different control towers +//[CnH]Mirrored Mission (both sides of map identical) +//[CnH]7200 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-512 -712 1024 1424"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + position = "-1024 -1200 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1024 -1200 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "700"; + high_visibleDistance = "900"; + useSkyTextures = "0"; + SkySolidColor = "1.000000 0.450000 0.000000 0.000000"; + fogDistance = "250"; + high_fogDistance = "350"; + fogColor = "0.600000 0.300000 0.000000 1.000000"; + fogVolume1 = "250 0 75"; + fogVolume2 = "600 75 120"; + fogVolume3 = "2000 120 200"; + high_fogVolume1 = "0 0 0"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + materialList = "sky_desert_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Sirocco.ter"; + squareSize = "8"; + emptySquares = "90283 90539 90795 91051 105387 105643 105899 106155 106411"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "Sirocco.nav"; + scale = "1 1 1"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition3PhoenixPlant6) { + + new TSStatic() { + position = "-144.5 540.5 78.8164"; + rotation = "0 0 1 156"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + locked = "true"; + }; + new TSStatic() { + position = "91.5 371.5 50.041"; + rotation = "0 0 1 90"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition4PhoenixPlant5) { + + new TSStatic() { + position = "-68.5 418.5 78.7989"; + rotation = "0 0 1 235"; + scale = "1.5 1.5 1.5"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "262.5 85.5 78.709"; + rotation = "0 0 1 233"; + scale = "1.4 1.4 1.4"; + shapeName = "porg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-99.5 614.5 78.7324"; + rotation = "0 0 1 98"; + scale = "1.3 1.3 1.3"; + shapeName = "porg5.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition7PhoenixPlant1) { + + new TSStatic() { + position = "-206.5 -302.5 78.9004"; + rotation = "0 0 -1 24"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "575.5 -281.5 78.8535"; + rotation = "0 0 -1 69"; + scale = "1.6 1.6 1.6"; + shapeName = "porg1.dts"; + locked = "true"; + }; + }; + new SimGroup(Addition8PhoenixPlant3) { + + new TSStatic() { + position = "470.5 -577.5 79.1093"; + rotation = "0 0 -1 67"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "139.5 -345.5 51.1289"; + rotation = "0 0 1 75"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "481.5 -131.5 78.8985"; + rotation = "0 0 1 146"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-197.5 -88.5 60.1797"; + rotation = "0 0 -1 80"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-288.5 92.5 78.4531"; + rotation = "0 0 1 41"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-600.5 -387.5 68.7461"; + rotation = "0 0 -1 59"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-432.5 184.5 78.9062"; + rotation = "0 0 1 179"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-618.5 -505.5 78.836"; + rotation = "0 0 1 57"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-82.5 -645.5 78.8145"; + rotation = "0 0 1 216"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-216.5 -282.5 79.0195"; + rotation = "0 0 1 35"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-344.5 -118.5 78.7695"; + rotation = "0 0 1 174"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "578.5 43.5 86.7305"; + rotation = "0 0 1 147"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "477.5 352.5 60.1074"; + rotation = "0 0 -1 87"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "72.5 -505.5 104.025"; + rotation = "0 0 -1 83"; + scale = "1.5 1.5 1.5"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-426.5 73.5 78.836"; + rotation = "0 0 -1 98"; + scale = "0.7 0.7 0.7"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-290.5 -187.5 60.1289"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + locked = "true"; + }; + new TSStatic() { + position = "503.5 74.5 78.7324"; + rotation = "0 0 1 59"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-390.288 326.558 144.956"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-301.758 -267.281 142.737"; + rotation = "0 0 1 192.514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "58.9505 -422.989 151.154"; + rotation = "0 0 1 161.574"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "307.897 -260.652 124.93"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "392.99 185.767 124.79"; + rotation = "0 0 1 235.668"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "75.87 515.998 128.111"; + rotation = "0 0 1 192.514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "29.1927 -174.193 59.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "180"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "29.1927 -174.193 59.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "180"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(Towers) { + + new SimGroup(Stronghold1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "25.0196 -517.314 116.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "25.0196 -517.314 106.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0SensorLargePulse1) { + position = "24.9351 -517.135 149.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Stronghold 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge1) { + position = "17.3378 -521.063 136.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Stronghold 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge2) { + position = "32.592 -520.93 136.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Stronghold 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "31.7266 -510.814 136.157"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Stronghold 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "18.3417 -511.183 136.152"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Stronghold 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0flipflop1) { + position = "25.0163 -509.149 119.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Stronghold 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Stronghold 1"; + }; + new WayPoint() { + position = "25.0163 -509.149 119.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Stronghold 1"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "34.0024 -517.047 111.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "19.0736 -511.316 157.561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Outpost1) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "349.211 -218.432 107.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "349.211 -218.432 97.0458"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop2) { + position = "349.119 -221.074 87.0265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Outpost 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Outpost 1"; + }; + new WayPoint() { + position = "349.119 -221.074 87.0265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost 1"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "349.359 -217.842 126.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "348.99 -220.978 136.936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Tower1) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-349.174 291.454 103.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-349.174 291.454 93.0105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop3) { + position = "-354.653 290.212 111.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Tower_1"; + }; + new WayPoint() { + position = "-354.653 290.212 111.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower 1"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "-354.455 287.594 99.5027"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Tower 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-354.397 296.878 111.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-349.598 291.866 149.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Stronghold2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "72.9052 508.449 112.494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "72.9052 508.449 102.494"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbunk7.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0SensorLargePulse2) { + position = "72.965 507.561 146.408"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Stronghold 2"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge5) { + position = "66.2145 511.625 131.997"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Stronghold 2"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0generatorLarge6) { + position = "80.4877 511.823 132"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Stronghold 2"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "78.9219 501.954 131.981"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + nameTag = "Stronghold 2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "66.6812 502.287 131.975"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "Stronghold 2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0flipflop4) { + position = "72.9019 500.284 114.996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Stronghold 2"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Stronghold 2"; + }; + new WayPoint() { + position = "72.9019 500.284 114.996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Stronghold 2"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "81.888 508.182 107.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "66.9055 502.441 153.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Outpost2) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "349.211 218.432 107.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "349.211 218.432 97.0458"; + rotation = "-0 -0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop5) { + position = "349.119 221.074 87.0341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Outpost 2"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Outpost 2"; + }; + new WayPoint() { + position = "349.119 221.074 87.0341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost 2"; + team = "0"; + locked = "true"; + }; + new Item() { + position = "349.359 217.842 126.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "349.243 220.985 136.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holo = "0"; + }; + }; + new SimGroup(Tower2) { + providesPower = "1"; + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-348.458 -304.824 102.632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-348.458 -304.824 92.6319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team0flipflop6) { + position = "-342.303 -302.994 110.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower 2"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Tower 2"; + }; + new WayPoint() { + position = "-342.303 -302.994 110.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower 2"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-353.849 -300.446 99.1291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Tower 2"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-343.481 -310.248 111.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-349.772 -304.791 149.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + holo = "0"; + }; + }; + }; + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(Spires) { + + new InteriorInstance() { + position = "-308.283 -4.9731 97.3154"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-228.669 -627.489 81.4123"; + rotation = "0 0 1 69.9008"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "168.51 -358.376 53.8925"; + rotation = "0 0 1 1.14465"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "502.565 -155.993 71.2782"; + rotation = "0 0 1 187.54"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "104.71 -4.7591 67.8742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "137.598 -3.2641 69.9934"; + rotation = "0 0 -1 8.5942"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-282.875 442.784 90.4216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Slapdash.mis b/public/base/@vl2/missions.vl2/missions/Slapdash.mis new file mode 100644 index 00000000..92561ac4 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Slapdash.mis @@ -0,0 +1,1119 @@ +// MissionTypes = CTF +// DisplayName = Slapdash + +//--- MISSION QUOTE BEGIN --- +//Thunder is good, thunder is impressive; but it is lightning that does the work. +// -- Mark Twain +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]400 points to win +//[CTF]Flag located outside base +//Vehicle-centric mission +//High visibility +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "lush"; + CTF_scoreLimit = "4"; + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-848 -864 1264 1472"; + flightCeiling = "240"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun(Sun) { + direction = "0.622506 0.622506 -0.474313"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + scale = "1 1 1"; + locked = "true"; + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + + lensFlareScale = 0.7; // size of lens flare circles + lensFlareIntensity = 1.0; // translucency of lens flare + frontFlareSize = 300.0; // size of sun flare + backFlareSize = 450.0; // size of background sun flare + flareColor = "1.0 1.0 1.0 1.0"; + + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Slapdash.ter"; + squareSize = "8"; + emptySquares = "94579 99875"; + locked = "true"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + GraphFile = "Slapdash.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition4BELgTree18) { + + new TSStatic() { + position = "-19.85 -559.547 127.066"; + rotation = "0 0 1 79.8327"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "400.5 -277.5 128.938"; + rotation = "0 0 1 98"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-33.151 -55.869 128.41"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-169.314 -61.619 128.085"; + rotation = "0 0 -1 34.3775"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new SimGroup(Addition1BEPlant1) { + + new TSStatic() { + position = "-268 260 129.288"; + rotation = "0 0 1 82"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "140 -140 129.272"; + rotation = "-0.261677 0.145892 0.954065 108.572"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-4 -20 129.772"; + rotation = "-0.133613 -0.0501878 0.989762 47.4328"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-644 28 154.709"; + rotation = "0.143549 -0.119692 -0.982378 95.0154"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-332 396 121.788"; + rotation = "0.108807 0.0797487 0.990859 34.2954"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-155.685 59.4242 128.933"; + rotation = "-0.0783751 0.394846 0.915398 166.862"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-308 412 133.881"; + rotation = "-0.243443 -0.261637 0.93396 17.1152"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-500.097 -20.0703 153.531"; + rotation = "-0.162675 0.762419 0.626302 44.8742"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-316 212 129.491"; + rotation = "-0.0303782 0.00824476 0.999505 181.999"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-220 -276 126.459"; + rotation = "0.130888 0.298129 0.945509 132.415"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-132 -100 129.288"; + rotation = "0 0 -1 82"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-213.687 350.079 164.349"; + rotation = "-0.455246 0.4015 0.794701 55.0589"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-220 -92 129.241"; + rotation = "-0.0056401 0.0148964 0.999873 162.002"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-540 -220 102.225"; + rotation = "0.0385352 0.118458 0.992211 166.108"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-36 -28 129.288"; + rotation = "0 0 -1 16.9999"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-404 -196 166.491"; + rotation = "-0.00931408 -0.336025 -0.941807 113.194"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "148 28 112.459"; + rotation = "-0.257195 -0.216438 -0.94181 100.395"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "44 460 152.1"; + rotation = "0.785524 0.367614 -0.497808 27.7109"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-27.9992 -132.002 129.15"; + rotation = "0.00904323 -0.00348301 -0.999953 79.0023"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-300 300 129.288"; + rotation = "0 0 1 107"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "52 148 167.147"; + rotation = "0.320545 -0.0696586 -0.944669 114.99"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-140 -92 129.288"; + rotation = "0 0 -1 41"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-572 -12 129.678"; + rotation = "-0.15546 0.121266 0.980371 213.369"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + locked = "true"; + }; + new TSStatic() { + position = "68 340 133.022"; + rotation = "0.185558 0.235852 0.953909 127.185"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-740.673 129.85 139.443"; + rotation = "0 0 1 235.095"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-538.483 -131.363 127.001"; + rotation = "0 0 -1 44.1178"; + scale = "1 1.07701 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new SimGroup(Addition1BESmTree17) { + + new TSStatic() { + position = "-47.5 355.5 129.361"; + rotation = "0 0 1 35"; + scale = "0.7 0.7 0.7"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-552.5 -791.5 128.607"; + rotation = "0 0 1 202"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-382.5 -460.5 128.938"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "234.5 -939.5 129.09"; + rotation = "0 0 1 110"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-567.439 -379.794 129.179"; + rotation = "0 0 1 33.8327"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "160.5 -879.5 128.938"; + rotation = "0 0 -1 119"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + locked = "true"; + }; + }; + new TSStatic() { + position = "-353.375 -549.332 130.415"; + rotation = "0 0 1 67.0361"; + scale = "1 1.47973 0.940896"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-514.178 494.43 128.51"; + rotation = "0 0 -1 34.9504"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-482.358 465.83 128.431"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "178.9 -576.324 127.147"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "116.51 -312.701 128.69"; + rotation = "0 0 1 138.083"; + scale = "1.29596 1.34204 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new SimGroup(Addition2BELgTree18) { + + new TSStatic() { + position = "-563.5 563.5 128.232"; + rotation = "0 0 1 235"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-404.5 -818.5 129.312"; + rotation = "0 0 1 233"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "157.5 501.5 128.992"; + rotation = "0 0 -1 17"; + scale = "1.6 1.6 1.6"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-893.5 544.5 128.938"; + rotation = "0 0 -1 82"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "365.5 -320.5 128.938"; + rotation = "0 0 1 216"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + locked = "true"; + }; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "280"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "100 100 120"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "10.1367 -731.459 134.475"; + rotation = "0 0 1 189.832"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(base0) { + + new StaticShape(Team1generatorLarge1) { + position = "27.6414 -778.864 140.86"; + rotation = "0 0 -1 16.7982"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "33"; + }; + new Item(Team1flag1) { + position = "29.2496 -517.863 130.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + stand = "6303"; + Target = "34"; + }; + new InteriorInstance() { + position = "21.95 -775.731 136.943"; + rotation = "0 0 1 162.147"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team1StationInventory1) { + position = "35.77 -778.125 130.44"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + nameTag = "Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "35"; + }; + new StaticShape(Team1StationInventory2) { + position = "12.37 -785.702 130.44"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + nameTag = "Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "36"; + }; + new Item() { + position = "18.43 -779.075 155.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new StaticShape(Team1generatorLarge2) { + position = "18.9463 -781.466 140.86"; + rotation = "0 0 -1 16.7983"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "37"; + }; + new InteriorInstance() { + position = "-464.099 333.286 201.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "32.68 -687.926 128.145"; + rotation = "0 0 1 64.1713"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-249.275 -572.075 196.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "38"; + }; + new StaticShape() { + position = "29.2396 -517.875 130.752"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + flag = "6292"; + Target = "-1"; + }; + new StaticShape(Team1SensorMediumPulse2) { + position = "76.3604 -606.604 171.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "39"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "52.78 -622.969 164.796"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Guardian"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + Target = "40"; + }; + new InteriorInstance() { + position = "-504.863 530.014 126.638"; + rotation = "0 0 1 159.282"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1SentryTurret1) { + position = "21.69 -775.096 146.95"; + rotation = "0.593177 0.805072 0.000472372 179.927"; + scale = "1 1 1"; + nameTag = "Upper Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "41"; + }; + new Turret(Team1SentryTurret2) { + position = "24.73 -784.69 138.44"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + nameTag = "Lower Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "42"; + }; + new InteriorInstance() { + position = "53.76 -623.223 154.922"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "96.1 -778.507 127.8"; + rotation = "0 0 1 171.314"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "29.1996 -517.92 120.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-249.291 -572.01 186.486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "76.7219 -606.373 161.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-158.771 300.759 174.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-474.973 493.494 129.572"; + rotation = "0 0 1 221.344"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(base1) { + + new StaticShape() { + position = "-305.606 280.563 130.665"; + rotation = "0 0 1 24.0642"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + flag = "6324"; + Target = "-1"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-464.199 333.835 211.667"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "West"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "44"; + }; + new Item(Team2flag1) { + position = "-305.521 280.633 130.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + stand = "6322"; + Target = "45"; + }; + new InteriorInstance() { + position = "-427.866 503.23 136.098"; + rotation = "0 0 1 32.0857"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(Team2StationInventory1) { + position = "-435.278 515.64 129.6"; + rotation = "0 0 -1 57.2958"; + scale = "1 1 1"; + nameTag = "Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Tower Inventory Station"; + Target = "46"; + }; + new StaticShape(Team2StationInventory2) { + position = "-413.586 501.89 129.6"; + rotation = "0 0 1 122.04"; + scale = "1 1 1"; + nameTag = "Stronghold"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Tower Inventory Station"; + Target = "47"; + }; + new StaticShape(Team2generatorLarge1) { + position = "-428.872 509.44 140.02"; + rotation = "0 0 1 212.567"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "48"; + }; + new StaticShape(Team2generatorLarge2) { + position = "-421.431 504.848 140.02"; + rotation = "0 0 1 207.411"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "49"; + }; + new Item() { + position = "-429.882 507.2 154.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-159.072 301.144 184.739"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "East"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "50"; + }; + new Turret(Team2SentryTurret1) { + position = "-428.099 502.77 146.04"; + rotation = "0.27559 0.961275 0.00120368 179.539"; + scale = "1 1 1"; + nameTag = "Upper Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "51"; + }; + new InteriorInstance() { + position = "95.5533 -772.914 128.1"; + rotation = "0 0 -1 9.16728"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-365.004 418.673 137.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-366.078 418.633 147.396"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Guardian"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + Target = "52"; + }; + new Turret(Team2SentryTurret2) { + position = "-422.954 511.39 137.65"; + rotation = "0 0 -1 56.7228"; + scale = "1 1 1"; + nameTag = "Lower Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + Target = "53"; + }; + new StaticShape() { + position = "-507.135 536.098 126.338"; + rotation = "-0 0 -1 20.6265"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-305.445 280.583 120.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-42.656 -794.536 194.889"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-58.193 -540.298 162.218"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-425.2 468.66 154.157"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-462.529 530.76 158.674"; + rotation = "0 0 1 123.186"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Miskellany) { + + new InteriorInstance() { + position = "293.3 -393.442 128.618"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-99.074 -115 126.206"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-741.056 50.94 127.615"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + + new AudioEmitter() { + position = "-87.88 -700.815 191.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-168.263 -2.47 139.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-573.301 606.13 141.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "360.77 -363.742 158.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "50000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-212.09 -229.039 142.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-392.039 141.68 152.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "405.613 599.739 128.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + locked = "true"; + }; + new TSStatic() { + position = "405.92 599.28 131.892"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/SunDried.mis b/public/base/@vl2/missions.vl2/missions/SunDried.mis new file mode 100644 index 00000000..8c376eef --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/SunDried.mis @@ -0,0 +1,1117 @@ +// DisplayName = Sun Dried +// MissionTypes = Hunters Bounty DM Rabbit + +//--- MISSION QUOTE BEGIN --- +//With a burning spear and a horse of air to the wilderness I wander. +// -- from 'Tom O'Bedlam's Song,' Anon. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters]Nexus is atop center tower +//[Rabbit]Flag platform is atop center tower +//[DM Bounty]Mission follows standard Rules of Engagement +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "6"; + musicTrack = "desert"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-768 64 1024 800"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.550000 0.450000 0.380000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "SunDried.ter"; + squareSize = "8"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + GraphFile = "SunDried.nav"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0 1"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-190.054 402.516 134.059"; + rotation = "0 0 1 121.942"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-591.86 507.222 118.24"; + rotation = "-0.0675751 -0.168796 0.983332 222.976"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-205.317 672.457 113.525"; + rotation = "0.919055 -0.0935562 0.382865 29.7787"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "107.001 155.043 84.8555"; + rotation = "0.317652 0.108804 -0.941944 39.9662"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-657.613 448.578 105.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-198.926 767.473 106.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "89.9495 186.211 110.572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-219.73 412.686 148.973"; + rotation = "-0 0 -1 82.1154"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "150"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + + new InteriorInstance() { + position = "109.864 449.038 117.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-531.228 141.792 119.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-198.269 767.314 49.4307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-657.156 448.654 48.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "89.53 185.821 53.7832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-507.451 836.499 107.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-363.513 213.64 73.8112"; + rotation = "0.105914 0.766908 0.632957 194.625"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-138.357 589.646 60.8018"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "83.7679 192.52 83.2818"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "SE Bunker Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "95.9562 193.255 83.2872"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "SE Bunker Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "83.7438 192.587 75.7831"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "SE Bunker Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "95.2651 192.587 75.7793"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "SE Bunker Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "-651.447 455.365 77.964"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "West Bunker Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-662.845 455.335 77.9613"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "West Bunker Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "-651.45 455.455 70.4685"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "West Bunker Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-662.895 455.361 70.4601"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "West Bunker Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory9) { + position = "-192.597 774.015 78.9253"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "North Bunker Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory10) { + position = "-203.947 773.986 78.9275"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "North Bunker Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory9) { + position = "-192.576 774.028 71.4276"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "North Bunker Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory10) { + position = "-204.062 774.049 71.4359"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "North Bunker Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Trigger(NexusTrigger) { + position = "-258.297 452.027 82.064"; + rotation = "1 0 0 0"; + scale = "80 80 80"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + missionTypesList = "Hunters TeamHunters"; + locked = "true"; + }; + new InteriorInstance() { + position = "-328.184 502.073 42.1114"; + rotation = "0.64833 0.759915 -0.0468717 104.509"; + scale = "3 3 3"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-513.5 835.534 111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-501.5 835.534 111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-507.5 842.534 111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-507.5 830.534 111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-531.118 135.761 123.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-531.118 147.761 123.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-525.118 140.761 123.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-537.118 140.761 123.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "110.029 443.01 120.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "110.029 455.01 120.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "116.029 448.01 120.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "104.029 448.01 120.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-218.297 412.027 120.057"; + rotation = "-0 0 -1 82.1154"; + scale = "1 1 1"; + interiorFile = "pplat1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-218.297 412.027 122.012"; + rotation = "0 0 1 8.02137"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new StaticShape() { + position = "-218.297 412.027 122.057"; + rotation = "0 0 1 8.02137"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new StaticShape() { + position = "-218.297 412.027 130.012"; + rotation = "0 0 1 8.02137"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new WayPoint() { + position = "-218.297 412.027 122.064"; + rotation = "-0 0 -1 82.1154"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new WayPoint() { + position = "-218.297 412.027 122.064"; + rotation = "-0 0 -1 82.1154"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Mission Center"; + team = "0"; + missionTypesList = "DM Bounty"; + locked = "true"; + }; + new Item(Team0flag1) { + position = "-218.297 412.027 122.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + missionTypesList = "Rabbit"; + locked = "true"; + }; + }; + }; + new InteriorInstance() { + position = "-348.024 748.713 81.7243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-577.965 240.315 82.0099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(RandomRocks) { + + new SimGroup(Addition1prock6) { + + new InteriorInstance(SmallRock) { + position = "-93.8033 303.628 83.5842"; + rotation = "0.984991 0.145917 0.0922034 182.432"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-747.803 589.628 99.5202"; + rotation = "0.988282 0.121265 0.0927005 182.167"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-9.80328 261.628 73.7824"; + rotation = "0 0 1 1.92003"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-731.803 454.628 84.7368"; + rotation = "0.0737592 -0.741289 0.667121 91.4882"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "52.1967 589.628 70.7921"; + rotation = "0 0 1 5.23602"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "118.197 547.628 87.7468"; + rotation = "0.243106 0.374176 -0.894926 89.8593"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-659.803 407.628 65.5203"; + rotation = "0 0 1 1.08208"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "118.197 486.628 106.541"; + rotation = "0 0 1 2.583"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "116.197 538.628 87.9292"; + rotation = "0.458129 0.88868 0.019141 176.533"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "117.197 659.628 83.4012"; + rotation = "0 0 1 3.01947"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-173.803 918.628 101.344"; + rotation = "0.0819133 -0.732532 0.675786 92.1946"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-332.803 688.628 87.8587"; + rotation = "0.0823159 -0.732093 0.676213 92.2302"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-69.8033 911.628 104.285"; + rotation = "0.999508 0.0207068 0.0235741 82.6183"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-95.8033 451.628 94.6557"; + rotation = "0 0 1 3.70004"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "33.1967 504.628 81.9941"; + rotation = "0.998816 0.0306324 -0.0377965 194.225"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-244.803 553.628 83.8193"; + rotation = "0 0 1 1.29178"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-33.8033 528.628 83.7467"; + rotation = "0.990757 0.0986532 0.0931048 181.924"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-601.803 896.628 101.156"; + rotation = "0.243059 0.374352 -0.894865 89.8278"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "225.197 905.628 99.9014"; + rotation = "0 0 1 0.611656"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "38.1967 286.628 78.685"; + rotation = "0.998543 0.0376283 -0.0386684 194.194"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "138.197 73.6284 96.3749"; + rotation = "0.241518 0.380039 -0.892883 88.8291"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "37.1967 756.628 90.9971"; + rotation = "0.466772 0.884177 0.0188452 176.512"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-522.803 468.628 87.6694"; + rotation = "0.99939 0.0049159 -0.0345766 194.331"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "168.197 785.628 86.5531"; + rotation = "0.0700253 -0.745212 0.663141 91.1737"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-738.803 758.628 85.061"; + rotation = "0.08502 -0.729125 0.679079 92.4702"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "56.1967 -7.37158 103.219"; + rotation = "0 0 1 2.07708"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-498.803 -23.3716 101.313"; + rotation = "0.999072 0.0224173 -0.0367704 194.26"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-136.803 801.628 85.6176"; + rotation = "0.0904589 -0.723065 0.684832 92.9636"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-125.803 56.6284 110.201"; + rotation = "0.999254 0.0145045 -0.0357798 194.292"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-692.803 625.628 85.3489"; + rotation = "0 0 1 6.16103"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Addition2prock7) { + + new InteriorInstance(SmallRock) { + position = "-679.803 6.62842 101.344"; + rotation = "0.242076 0.377986 -0.893603 89.1878"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-507.803 173.628 87.6393"; + rotation = "0.989333 0.112227 0.0928681 182.07"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-413.803 628.628 75.2727"; + rotation = "0.469867 0.882538 0.0187385 176.504"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "141.197 777.628 83.9062"; + rotation = "0.494023 0.869265 0.0178906 176.446"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-437.803 868.628 100.505"; + rotation = "0.999099 0.0280069 0.0318852 82.6411"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-686.803 940.628 102.372"; + rotation = "0 0 1 5.88183"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "189.197 411.628 101.333"; + rotation = "0.999948 0.00670135 0.00762931 82.593"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-730.803 282.628 104.955"; + rotation = "0.987246 0.129542 0.0925401 182.256"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "63.1967 234.628 77.3064"; + rotation = "0 0 1 0.0884693"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-8.80328 34.6284 101.344"; + rotation = "0 0 1 2.02441"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-243.803 239.628 70.1262"; + rotation = "0.459753 0.887842 0.0190857 176.529"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-134.803 -8.37158 101.161"; + rotation = "0.999101 0.0213523 -0.0366372 194.264"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-292.803 690.628 83.8688"; + rotation = "0.24592 0.363658 -0.898486 91.753"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-575.803 -10.3716 101.29"; + rotation = "0.989061 0.114638 0.0928241 182.096"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-229.803 865.628 101.288"; + rotation = "0.999425 -0.00787068 -0.0329672 194.381"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "135.197 249.628 83.7685"; + rotation = "0.987031 0.131196 0.0925073 182.274"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-165.803 843.628 101.224"; + rotation = "0.999275 0.025118 0.0285961 82.6314"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "9.19672 523.628 83.9016"; + rotation = "0 0 1 1.72777"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-342.803 935.628 101.173"; + rotation = "0.489514 0.871809 0.0180509 176.457"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "14.1967 926.628 101.344"; + rotation = "0.987801 0.125179 0.0926255 182.209"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-383.803 434.628 83.9062"; + rotation = "0.245211 0.366324 -0.897596 91.267"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-638.803 267.628 83.9062"; + rotation = "0.999039 0.028919 0.0329235 82.6445"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-72.8033 881.628 101.909"; + rotation = "0.472286 0.881248 0.0186548 176.499"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-492.803 39.6284 101.344"; + rotation = "0.46448 0.885381 0.018924 176.517"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-685.803 592.628 91.6676"; + rotation = "0.459482 0.887982 0.0190949 176.53"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-214.803 793.628 76.2821"; + rotation = "0.999877 0.010356 0.0117901 82.597"; + scale = "1.5 1.5 1.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "99.1967 864.628 101.323"; + rotation = "0.99709 0.0503099 0.0572765 82.7557"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-331.803 117.628 99.9051"; + rotation = "0.999393 0.00461145 -0.0345384 194.332"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "-423.803 825.628 92.6656"; + rotation = "0 0 1 4.66006"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SmallRock) { + position = "209.197 741.628 94.7785"; + rotation = "0.10068 -0.711332 0.695608 93.925"; + scale = "0.5 0.5 0.5"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Talus.mis b/public/base/@vl2/missions.vl2/missions/Talus.mis new file mode 100644 index 00000000..5aa9a2de --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Talus.mis @@ -0,0 +1,732 @@ +// MissionTypes = Hunters Bounty DM + +//--- MISSION QUOTE BEGIN --- +//The sword shall be drawn too late, the eagle shall bathe in its own blood, the wolf will fall into its shadow, and the phoenix shall with two heads devour its children. +// -- The Fenecian Prophecy, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters]Nexus is in small bunker under bridge +//[DM Bounty]Mission follows standard Rules of Engagement +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "4"; + powerCount = "0"; + musicTrack = "badlands"; + + new MissionArea(MissionArea) { + area = "-192 -336 560 576"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "-680 -680 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed[0] = "0.000700 0.000000"; + cloudSpeed[1] = "0.000501 0.000701"; + cloudSpeed[2] = "0.000001 0.000300"; + visibleDistance = "600"; + useSkyTextures = "1"; + SkySolidColor = "0.19 0.235 0.21 0.000000"; + fogDistance = "100"; + fogColor = "0.430000 0.420000 0.400000 1.000000"; + fogVolume1 = "700 150 200"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "-680 -680 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Talus.ter"; + squareSize = "8"; + emptySquares = "684435 684691 684947 685203 685459 685715 685971 686227"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + graphFile = "Talus.nav"; + conjoinAngleDev = "50"; + conjoinBowlDev = "20"; + coverage = "0"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "44.637 142.07 114.542"; + rotation = "0.0639949 -0.22751 0.971671 149.427"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "257.713 -17.652 82.2047"; + rotation = "0.181561 0.176054 -0.967492 90.1287"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "175.957 -87.613 40.7467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-76.36 98.425 74.3441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + + new Trigger(NexusTrigger) { + position = "59.5378 42.4244 12.2764"; + rotation = "1 0 0 0"; + scale = "60 60 20"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new StaticShape() { + position = "86.372 11.309 15.689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new Item() { + position = "86.372 11.309 14.2159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + missionTypesList = "Hunters"; + locked = "true"; + flashThreadDir = "1"; + }; + new StaticShape() { + position = "86.372 11.309 21.3891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new WayPoint() { + position = "86.332 11.529 13.9235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + missionTypesList = "Hunters"; + locked = "true"; + }; + new WayPoint() { + position = "86.332 11.529 13.9235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Mission Center"; + team = "0"; + missionTypesList = "DM"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "169.082 -86.234 43.6613"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Upper Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "190.711 -87.804 35.6577"; + rotation = "0 0 1 1.1467"; + scale = "1 1 1"; + nameTag = "Mid Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "190.759 -83.001 35.6581"; + rotation = "0 0 1 181.237"; + scale = "1 1 1"; + nameTag = "Mid Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "207.339 -105.495 8.6439"; + rotation = "0 0 1 181.237"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "208.09 -69.172 8.6465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "200.503 -69.055 26.6731"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + nameTag = "South Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory7) { + position = "201.063 -105.071 26.6602"; + rotation = "0 0 1 48.1284"; + scale = "1 1 1"; + nameTag = "North Loft"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory8) { + position = "204.396 -86.75 -24.3412"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + nameTag = "Core"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "181.441 -89.644 25.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "181.461 -86.357 25.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "178.236 -86.285 25.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "181.561 -82.992 25.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "184.759 -86.508 25.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-81.225 105.436 56.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-84.283 94.172 56.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-70.669 89.964 56.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-68.458 102.444 56.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "6.5572 -151.284 92.9612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "3.7202 -150.31 92.9612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "0.8832 -149.336 92.9612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "216.737 -238.742 91.4766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "213.9 -237.768 91.4766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "211.063 -236.794 91.4766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "193.968 131.996 108.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "191.131 132.97 108.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "188.294 133.944 108.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory9) { + position = "-67.562 102.765 79.7716"; + rotation = "0 0 1 63.0253"; + scale = "1 1 1"; + nameTag = "Upper Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory10) { + position = "-84.75 93.986 79.7656"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + nameTag = "Upper Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory11) { + position = "-65.652 103.378 32.2586"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + nameTag = "Lower Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory12) { + position = "-86.402 92.85 32.2743"; + rotation = "0 0 -1 116.883"; + scale = "1 1 1"; + nameTag = "Lower Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(Buildings) { + + new InteriorInstance() { + position = "-76.198 98.426 39.2783"; + rotation = "0 0 -1 26.929"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + }; + new InteriorInstance() { + position = "194.748 -86.584 19.6725"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "86.332 11.529 13.6735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "193.192 132.182 106.415"; + rotation = "0 0 -1 71.6197"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "5.994 -151.072 90.7623"; + rotation = "0 0 -1 71.6197"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "215.996 -238.314 89.0566"; + rotation = "0 0 -1 71.6197"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Bridge1) { + + new InteriorInstance() { + position = "124.884 55.8962 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "114.214 43.9734 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "103.544 32.0506 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "92.8738 20.1278 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "82.2039 8.205 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "71.5341 -3.7178 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "60.8641 -15.6406 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "50.1942 -27.5634 64.8005"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "39.5243 -39.4861 64.8005"; + rotation = "0 0 1 221.826"; + scale = "1 1 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Organics) { + + new TSStatic() { + position = "45.305 -182.118 109.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "226.613 -30.409 43.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "160.681 11.384 21.7222"; + rotation = "0 0 1 100.268"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "169.341 7.967 24.8251"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + new TSStatic() { + position = "262.182 -140.721 30.6938"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "79.9776 -62.0504 21.1463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/ThinIce.mis b/public/base/@vl2/missions.vl2/missions/ThinIce.mis new file mode 100644 index 00000000..4d7c9053 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/ThinIce.mis @@ -0,0 +1,4397 @@ +// DisplayName = Thin Ice +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Silent as the mouths of the dead. +// -- Starwolf saying +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "5"; + musicTrack = "ice"; + cdTrack = "5"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-688 -1008 1408 1984"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "264 -8 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "575"; + fogColor = "0.500000 0.500000 0.570000 1.000000"; + fogVolume1 = "5 0 70"; + fogVolume2 = "800 175 250"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 7648147490786239160000000.000000"; + cloudSpeed0 = "0.000250 0.000050"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + position = "264 -8 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "ThinIce.ter"; + squareSize = "8"; + emptySquares = "535384 666712 535896 536152 119972 316835 317091 317347 317603 317859 318115 318371 318627"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new WaterBlock(Water) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "2048 2048 70.5"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.1"; + removeWetEdges = "0"; + locked = "true"; + AudioEnvironment = Underwater; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "ThinIce.nav"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "227.226 706.748 170.128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(mainPowered) { + + new InteriorInstance() { + position = "421.645 787.752 186.432"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "425.866 790.854 186.132"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + mobileBaseVehicle = "Removed"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + locked = "true"; + }; + new Item(Team1flag1) { + position = "296.029 718.738 131.452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "296.008 673.733 127.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team1StationInventory1) { + position = "308.001 684.065 127.448"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Lower Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "284.057 684.061 127.437"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Lower Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge1) { + position = "289.766 712.331 131.447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1generatorLarge2) { + position = "302.147 712.314 131.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "302.378 711.092 147.444"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base Midlevel"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory4) { + position = "289.644 711.066 147.452"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base Midlevel"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory5) { + position = "296.008 725.081 147.445"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base Central"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory6) { + position = "412.608 765.293 188.426"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + nameTag = "Main Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory7) { + position = "397.533 785.579 188.428"; + rotation = "0 0 1 233.376"; + scale = "1 1 1"; + nameTag = "Main Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "296.008 727.209 159.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base Upper"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "295.835 675.121 145.44"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base Entrance"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team1StationInventory8) { + position = "296.008 725.081 131.451"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base Primary"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "401.492 677.619 233.749"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(forcefieldGroup) { + + new ForceFieldBare() { + position = "304.027 747.633 155.4"; + rotation = "0 0 1 179.954"; + scale = "6.73058 0.15 3.34155"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new ForceFieldBare() { + position = "294.62 747.633 155.4"; + rotation = "0 0 1 179.954"; + scale = "6.73058 0.15 3.34155"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new ForceFieldBare() { + position = "317.017 716.802 146.408"; + rotation = "0 0 1 90"; + scale = "21.5 0.15 6.5"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new ForceFieldBare() { + position = "274.758 716.879 146.438"; + rotation = "0 0 1 90"; + scale = "21.5 0.15 6.5"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new StaticShape(Team1generatorLarge3) { + position = "295.981 735.314 154.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new Item() { + position = "296.012 710.237 146.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "401.492 677.619 225.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(AuxVehPad0) { + + new StaticShape(Team1generatorLarge4) { + position = "464.434 558.022 167.577"; + rotation = "-0 0 -1 19.4805"; + scale = "1 1 1"; + nameTag = "Aux Vehicle Pad"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "464.856 556.908 176.575"; + rotation = "0 0 -1 109.435"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "520.093 480.492 81.3057"; + rotation = "0 0 1 213.185"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "526.114 489.697 81.0057"; + rotation = "0 0 1 33.1853"; + scale = "1 1 1"; + nameTag = "Aux"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "541.022 512.489 84.1202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "526.342 519.88 83.3091"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + nameTag = "Aux Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIODefendLocation) { + position = "293.951 724.905 133.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3288"; + location = "293.951 724.905 133.342"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOAttackPlayer) { + position = "293.951 724.905 133.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3288"; + location = "293.951 724.905 133.342"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "293.951 724.905 133.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3288"; + location = "293.951 724.905 133.342"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOAttackObject) { + position = "305.993 690.332 129.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3290"; + location = "305.993 690.332 129.014"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "282.049 690.328 129.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "282.049 690.328 129.003"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "287.764 717.277 132.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3294"; + location = "287.764 717.277 132.952"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "287.764 717.277 132.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3294"; + location = "287.764 717.277 132.952"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "300.145 717.26 132.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3295"; + location = "300.145 717.26 132.949"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "300.145 717.26 132.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3295"; + location = "300.145 717.26 132.949"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "300.37 717.359 149.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3296"; + location = "300.37 717.359 149.01"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "287.636 717.333 149.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3298"; + location = "287.636 717.333 149.018"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "294 731.348 149.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3300"; + location = "294 731.348 149.011"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "412.608 765.293 189.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3302"; + location = "412.608 765.293 189.992"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "397.533 785.579 189.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "397.533 785.579 189.994"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "294 734.004 161.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3306"; + location = "294 734.004 161.336"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "293.548 680.86 147.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3307"; + location = "293.548 680.86 147.341"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "294 731.348 133.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "294 731.348 133.017"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "401.492 677.619 236.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3310"; + location = "401.492 677.619 236.269"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "293.979 740.26 155.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3321"; + location = "293.979 740.26 155.942"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "293.979 740.26 155.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3321"; + location = "293.979 740.26 155.942"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-534.468 461.68 84.3938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team1generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3326"; + location = "-534.468 461.68 84.3938"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-534.468 461.68 84.3938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team1generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3326"; + location = "-534.468 461.68 84.3938"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOTouchObject) { + position = "-298.089 -658.892 124.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "-298.089 -658.892 124.476"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "-298.089 -658.892 124.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "-298.089 -658.892 124.476"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "-298.089 -658.892 124.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "-298.089 -658.892 124.476"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "-263.506 -646.878 120.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3386"; + location = "-263.506 -646.878 120.148"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-263.521 -670.821 120.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3388"; + location = "-263.521 -670.821 120.137"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-290.466 -665.085 124.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3390"; + location = "-290.466 -665.085 124.086"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-290.439 -652.704 124.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-290.439 -652.704 124.083"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-290.538 -652.479 140.144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3392"; + location = "-290.538 -652.479 140.144"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-290.522 -665.213 140.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3394"; + location = "-290.522 -665.213 140.152"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-304.532 -658.838 140.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3396"; + location = "-304.532 -658.838 140.145"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-324.571 -805.236 128.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3398"; + location = "-324.571 -805.236 128.762"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-304.285 -790.161 128.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3400"; + location = "-304.285 -790.161 128.764"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-307.187 -658.836 152.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "-307.187 -658.836 152.47"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-254.044 -659.331 138.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3403"; + location = "-254.044 -659.331 138.475"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-304.532 -658.838 124.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-304.532 -658.838 124.151"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "-239.622 -763.912 234.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorMediumPulse"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-239.622 -763.912 234.678"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-313.444 -658.852 147.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-313.444 -658.852 147.076"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "345.486 -689.162 87.5538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3426"; + location = "345.486 -689.162 87.5538"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-336.223 -685.61 137.098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(mainPowered) { + + new Item(Team2flag1) { + position = "-294.712 -663.941 122.75"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-249.757 -664.008 118.747"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbase1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new InteriorInstance() { + position = "-302.112 -814.273 125.202"; + rotation = "-0 0 -1 36.624"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-298.739 -818.936 124.902"; + rotation = "-0 0 -1 36.624"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + mobileBaseVehicle = "Removed"; + AssaultVehicle = "Removed"; + scoutVehicle = "Removed"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "-260.079 -652.007 118.746"; + rotation = "0 0 1 89.9547"; + scale = "1 1 1"; + nameTag = "Lower Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "-260.094 -675.95 118.735"; + rotation = "0 0 1 89.9547"; + scale = "1 1 1"; + nameTag = "Lower Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge1) { + position = "-288.36 -670.219 122.745"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge2) { + position = "-288.333 -657.838 122.742"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "-287.111 -657.608 138.742"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + nameTag = "Base Midlevel"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory4) { + position = "-287.095 -670.342 138.75"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + nameTag = "Base Midlevel"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory5) { + position = "-301.105 -663.967 138.743"; + rotation = "0 0 1 89.9547"; + scale = "1 1 1"; + nameTag = "Base Central"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory6) { + position = "-324.571 -805.236 127.196"; + rotation = "-0 0 -1 36.624"; + scale = "1 1 1"; + nameTag = "Base Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory7) { + position = "-304.285 -790.161 127.198"; + rotation = "-0 0 -1 36.624"; + scale = "1 1 1"; + nameTag = "Base Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "-303.232 -663.965 150.733"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base Upper"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "-251.145 -664.09 136.738"; + rotation = "0 0 1 89.9547"; + scale = "1 1 1"; + nameTag = "Base Entrance"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team2StationInventory8) { + position = "-301.105 -663.967 122.749"; + rotation = "0 0 1 90.0456"; + scale = "1 1 1"; + nameTag = "Base Primary"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-239.622 -763.912 232.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(forcefieldGroup) { + + new ForceFieldBare() { + position = "-323.339 -655.795 146.664"; + rotation = "0 0 1 90"; + scale = "6.73058 0.15 3.34155"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new ForceFieldBare() { + position = "-323.333 -665.322 146.664"; + rotation = "0 0 1 90"; + scale = "6.73058 0.15 3.34155"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new ForceFieldBare() { + position = "-292.809 -642.964 137.706"; + rotation = "1 0 0 0"; + scale = "21.5 0.15 6.5"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new ForceFieldBare() { + position = "-292.92 -685.224 137.736"; + rotation = "1 0 0 0"; + scale = "21.5 0.15 6.5"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + color = "0.000000 0.000000 0.200000 1.000000"; + }; + new StaticShape(Team2generatorLarge3) { + position = "-311.338 -663.986 145.735"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new Item() { + position = "-286.261 -663.974 138.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-239.622 -763.912 224.103"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(AuxVehPad) { + + new InteriorInstance() { + position = "33.359 -659.809 112.427"; + rotation = "0 0 1 84.2701"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "19.3336 -661.103 112.127"; + rotation = "0 0 -1 95.7304"; + scale = "1 1 1"; + nameTag = "Aux"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-50.1791 -684.242 189.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Team2generatorLarge4) { + position = "-48.9881 -684.214 180.541"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Aux Vehicle Pad"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-4.55446 -663.525 115.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape() { + position = "-4.43608 -647.114 114.43"; + rotation = "0 0 -1 50.9932"; + scale = "1 1 1"; + nameTag = "Aux Vehicle Pad"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOTouchObject) { + position = "293.951 724.905 133.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3288"; + location = "293.951 724.905 133.342"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "293.951 724.905 133.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3288"; + location = "293.951 724.905 133.342"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "293.951 724.905 133.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1flag1"; + targetClientId = "-1"; + targetObjectId = "3288"; + location = "293.951 724.905 133.342"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIORepairObject) { + position = "305.993 690.332 129.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3290"; + location = "305.993 690.332 129.014"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "282.049 690.328 129.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "282.049 690.328 129.003"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "287.764 717.277 132.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3294"; + location = "287.764 717.277 132.952"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "300.145 717.26 132.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3295"; + location = "300.145 717.26 132.949"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "300.37 717.359 149.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3296"; + location = "300.37 717.359 149.01"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "287.636 717.333 149.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3298"; + location = "287.636 717.333 149.018"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "294 731.348 149.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3300"; + location = "294 731.348 149.011"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "412.608 765.293 189.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3302"; + location = "412.608 765.293 189.992"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "397.533 785.579 189.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3304"; + location = "397.533 785.579 189.994"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "294 734.004 161.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3306"; + location = "294 734.004 161.336"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "293.548 680.86 147.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3307"; + location = "293.548 680.86 147.341"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "294 731.348 133.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "294 731.348 133.017"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOMortarObject) { + position = "401.492 677.619 236.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorMediumPulse"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3310"; + location = "401.492 677.619 236.269"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "293.979 740.26 155.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3321"; + location = "293.979 740.26 155.942"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-534.468 461.68 84.3938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the generatorLarge"; + targetObject = "Team1generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3326"; + location = "-534.468 461.68 84.3938"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-298.089 -658.892 124.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "-298.089 -658.892 124.476"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-298.089 -658.892 124.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "-298.089 -658.892 124.476"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOTouchObject) { + position = "-298.089 -658.892 124.476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2flag1"; + targetClientId = "-1"; + targetObjectId = "3380"; + location = "-298.089 -658.892 124.476"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + gameType = "all"; + }; + new AIObjective(AIOAttackObject) { + position = "-263.506 -646.878 120.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3386"; + location = "-263.506 -646.878 120.148"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-263.521 -670.821 120.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3388"; + location = "-263.521 -670.821 120.137"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-290.466 -665.085 124.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3390"; + location = "-290.466 -665.085 124.086"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-290.466 -665.085 124.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3390"; + location = "-290.466 -665.085 124.086"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-290.439 -652.704 124.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-290.439 -652.704 124.083"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-290.439 -652.704 124.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge2"; + targetClientId = "-1"; + targetObjectId = "3391"; + location = "-290.439 -652.704 124.083"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-290.538 -652.479 140.144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3392"; + location = "-290.538 -652.479 140.144"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-290.522 -665.213 140.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory4"; + targetClientId = "-1"; + targetObjectId = "3394"; + location = "-290.522 -665.213 140.152"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-304.532 -658.838 140.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory5"; + targetClientId = "-1"; + targetObjectId = "3396"; + location = "-304.532 -658.838 140.145"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-324.571 -805.236 128.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory6"; + targetClientId = "-1"; + targetObjectId = "3398"; + location = "-324.571 -805.236 128.762"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-304.285 -790.161 128.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory7"; + targetClientId = "-1"; + targetObjectId = "3400"; + location = "-304.285 -790.161 128.764"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-307.187 -658.836 152.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "-307.187 -658.836 152.47"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-254.044 -659.331 138.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3403"; + location = "-254.044 -659.331 138.475"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIOAttackObject) { + position = "-304.532 -658.838 124.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team2StationInventory8"; + targetClientId = "-1"; + targetObjectId = "3404"; + location = "-304.532 -658.838 124.151"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-239.622 -763.912 234.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the SensorMediumPulse"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3406"; + location = "-239.622 -763.912 234.678"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "-313.444 -658.852 147.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-313.444 -658.852 147.076"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "-313.444 -658.852 147.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge3"; + targetClientId = "-1"; + targetObjectId = "3416"; + location = "-313.444 -658.852 147.076"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIORepairObject) { + position = "345.486 -689.162 87.5538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generatorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3426"; + location = "345.486 -689.162 87.5538"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + new AIObjective(AIODefendLocation) { + position = "345.486 -689.162 87.5538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generatorLarge"; + targetObject = "Team2generatorLarge4"; + targetClientId = "-1"; + targetObjectId = "3426"; + location = "345.486 -689.162 87.5538"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(AIObjectives) { + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-155.322 -616.974 188.339"; + rotation = "-0.0788399 -0.144043 0.986426 236.73"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-566.136 -223.173 143.419"; + rotation = "0.068876 -0.0398944 0.996827 60.3186"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "340.277 -37.8727 118.314"; + rotation = "0.0791522 0.024919 -0.996551 35.064"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "370.9 583.087 191.983"; + rotation = "0.302936 0.0903999 -0.948714 34.9214"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(bridge1) { + + new InteriorInstance() { + position = "-76.996 -145.355 58.1014"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-160.785 -151.297 58.1014"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-244.575 -157.239 58.1014"; + rotation = "0 0 1 85.9437"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(brdige2) { + + new InteriorInstance() { + position = "333.746 282.804 72.508"; + rotation = "0 0 1 21.1995"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "303.37 204.489 72.508"; + rotation = "0 0 1 21.1995"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "272.994 126.173 72.508"; + rotation = "0 0 1 21.1995"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "242.619 47.8568 72.508"; + rotation = "0 0 1 21.1995"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(AudioWater) { + + new AudioEmitter() { + position = "601.21 335.606 68.5284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-589.426 824.95 83.8392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-524.186 756.618 86.1711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-451.897 671.275 80.4897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-310.484 484.207 77.9826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-190.234 408.99 83.9741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-62.0273 335.789 77.5297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "22.2814 332.258 81.1332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "132.166 339.487 80.4969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "254.92 361.952 83.2938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "162.013 284.636 82.3461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "222.601 204.07 77.3374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "308.59 128.358 80.6357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "354.373 53.7217 86.938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "186.736 113.014 78.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "112.543 31.6621 81.7584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-27.3073 -9.6724 76.5363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-94.7851 -80.8653 78.9953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-135.925 -181.996 67.7771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-167.692 -252.255 76.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-93.5191 -325.6 85.2911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-2.9425 -381.725 75.7156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "107.042 -498.123 76.3871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "411.612 -903.5 83.1638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "312.552 -862.514 74.3032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "188.964 -903.69 75.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-37.8193 -1020.19 73.1935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-279.767 -971.146 76.1991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-539.107 -263.886 80.9785"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-423.731 30.0758 65.9006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-307.155 -3.895 70.3028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-225.375 -82.9053 80.7942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-117.29 -68.6357 71.1176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(AudioIce) { + + new AudioEmitter() { + position = "51.4797 -443.162 48.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "197.786 -581.538 35.7268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "273.821 -817.129 60.4446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "565.467 -402.402 49.6072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "477.927 -132.986 36.8269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "98.8 203.689 60.2986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "245.374 295.257 62.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-367.904 502.825 46.3583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-518.856 828.165 53.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-581.811 228.514 53.9287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-321.679 -62.4149 45.0066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "52.2378 50.7429 53.2836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "227.982 425.181 45.5979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "301.512 268.466 57.2814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "526.708 371.224 54.8098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "394.709 2.0176 53.2124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-172.45 16.6238 48.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-450.622 -141.327 50.0381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(AudioSnow) { + + new AudioEmitter() { + position = "-310.343 -540.858 207.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-613 -642.324 94.3295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-468.426 -580.771 68.7285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-53.0981 -747.782 144.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "91.476 -686.229 118.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "246.868 -403.456 124.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "391.442 -341.903 98.7208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "572.262 602.371 199.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "716.836 663.924 173.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "160.286 840.671 192.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "304.86 902.223 167.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-98.2552 669.264 181.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "46.3188 730.817 155.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowfall1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-86.0234 -626.579 135.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Tombstone.mis b/public/base/@vl2/missions.vl2/missions/Tombstone.mis new file mode 100644 index 00000000..b46893bd --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Tombstone.mis @@ -0,0 +1,2213 @@ +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Let me rest. O, my people, let me rest, for I have bled for you. +// -- Manfred Gregor yl-Harabec, last words, 3802 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "6"; + CTF_scoreLimit = "5"; + powerCount = "0"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-640 -576 1248 1280"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + locked = "true"; + position = "-980 -793 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Tombstone.ter"; + squareSize = "8"; + emptySquares = "346704 346960 347216 347472 347728 287641 305735 374682 374938 375194 375450 375706"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + locked = "true"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Tombstone.nav"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "0"; + SkySolidColor = "0.690000 0.620000 0.550000 0.000000"; + fogDistance = "75"; + fogColor = "0.590000 0.520000 0.450000 1.000000"; + fogVolume1 = "400 300 325"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + locked = "true"; + cloudSpeed0 = "0.000050 0.000050"; + }; + new SimGroup(ObserverDropPoints) { + new Camera(ODP1) { + position = "211.873 -381.834 217.636"; + rotation = "0.999673 -0.00146427 0.025526 6.5684"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "1"; + }; + new Camera(ODP2) { + position = "-28.7603 -76.9109 85.8217"; + rotation = "0.527807 -0.0636426 0.846977 16.2049"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "1"; + }; + new Camera(ODP3) { + position = "-470.718 251.278 227.398"; + rotation = "0.201232 -0.0969256 0.974736 52.5921"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "1"; + }; + }; + new SimGroup(Environmental) { + + new InteriorInstance() { + position = "-7.65 -2.9369 53.7824"; + rotation = "0 0 -1 15.4698"; + scale = "1 1 1"; + interiorFile = "ptowr2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-466.784 345.534 183.969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "25"; + outdoorWeight = "75"; + locked = "true"; + }; + new SpawnSphere() { + position = "-340.45 -410.932 161.956"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + }; + new SimGroup(Base0) { + + new InteriorInstance() { + position = "-453.121 340.533 179.776"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new StaticShape() { + position = "-450.816 340.977 169.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-363.986 -401.484 155.401"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new WayPoint() { + position = "-363.986 -401.484 155.401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + }; + new StaticShape(Team1GeneratorLarge1) { + position = "-373.589 -423.221 129.438"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1GeneratorLarge2) { + position = "-354.321 -423.404 129.444"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory1) { + position = "-347.882 -474.997 147.45"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main Base Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory2) { + position = "-347.655 -475.114 141.418"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + nameTag = "Main Base Center"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1StationInventory3) { + position = "-347.673 -475.076 135.39"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Main Base Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item() { + position = "-370.789 -411.751 189.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Turret() { + position = "-370.433 -388.478 163.2"; + rotation = "-0.580854 0.581317 0.569806 239.389"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret() { + position = "-357.82 -388.478 163.2"; + rotation = "-0.580854 0.581317 0.569806 239.389"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new StaticShape(Team1SensorMediumPulse1) { + position = "-450.586 340.067 219.751"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + nameTag = "Flag Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-381.407 283.977 205.245"; + rotation = "0 0 1 26.356"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "-379.246 288.422 216.234"; + rotation = "0 0 1 26.356"; + scale = "1 1 1"; + nameTag = "Flag Base Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "-505.373 382.062 191.791"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge2) { + position = "-500.73 382.101 202.754"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Flag Base Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new Item(Team1Flag1) { + position = "-450.736 341.002 170.055"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIODefendLocation) { + position = "-448.962 345.821 169.969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "-448.962 345.821 169.969"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet LightShieldSet HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOAttackPlayer) { + position = "-450.824 341.037 169.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "-450.824 341.037 169.746"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOTouchObject) { + position = "-450.824 341.037 169.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "-450.824 341.037 169.746"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new SimGroup(RepairGroup1) { + + new AIObjective(AIORepairObject) { + position = "-374.229 -423.221 129.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-374.229 -423.221 129.438"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3313"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "-354.961 -423.404 129.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3293"; + location = "-354.961 -423.404 129.444"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3313"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "-348.523 -475.597 147.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3294"; + location = "-348.523 -475.597 147.503"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3313"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "-348.3 -475.514 141.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3296"; + location = "-348.3 -475.514 141.818"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3313"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "-348.239 -475.61 135.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3298"; + location = "-348.239 -475.61 135.59"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3313"; + gameType = "All"; + }; + }; + new SimGroup(DefendGroup1) { + + new AIObjective(AIODefendLocation) { + position = "-354.965 -422.083 130.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3293"; + location = "-354.965 -422.083 130.949"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3319"; + gameType = "All"; + }; + new AIObjective(AIODefendLocation) { + position = "-374.233 -421.9 130.943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-374.233 -421.9 130.943"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3319"; + gameType = "All"; + }; + new AIObjective(AIODeployEquipment) { + position = "-371.584 -435.195 132.854"; + rotation = "0 0 1 189.076"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-371.584 -435.195 132.854"; + weightLevel1 = "3500"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + group = "3319"; + }; + }; + new SimGroup(RepairGroup2) { + + new AIObjective(AIORepairObject) { + position = "-450.586 340.067 219.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Sensor"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3303"; + location = "-450.586 340.067 219.751"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3323"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "-379.246 288.422 216.724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3305"; + location = "-379.246 288.422 216.724"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3323"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "-500.73 382.101 203.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3307"; + location = "-500.73 382.101 203.291"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3323"; + gameType = "All"; + }; + }; + new AIObjective(AIOTouchObject) { + position = "230.744 -227.148 151.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3352"; + location = "230.744 -227.148 151.072"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOTouchObject) { + position = "230.744 -227.148 151.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3352"; + location = "230.744 -227.148 151.072"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOTouchObject) { + position = "230.744 -227.148 151.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3352"; + location = "230.744 -227.148 151.072"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new SimGroup(AttackGroup) { + + new AIObjective(AIOAttackObject) { + position = "218.526 475.962 151.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3358"; + location = "218.526 475.962 151.463"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3330"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "237.794 475.749 151.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3359"; + location = "237.794 475.749 151.457"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3330"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "210.72 526.044 158.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory station"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3365"; + location = "210.72 526.044 158.053"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3330"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory station"; + targetObject = "Team3StationInventory1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "0 0 0"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3330"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory station"; + targetObject = "Team4StationInventory1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "0 0 0"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3330"; + gameType = "All"; + }; + }; + new SimGroup(MortarObjectGroup) { + + new AIObjective(AIOMortarObject) { + position = "289.413 -148.675 202.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3362"; + location = "289.413 -148.675 202.069"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3336"; + gameType = "All"; + }; + new AIObjective(AIOMortarObject) { + position = "139.131 -297.241 191.431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3364"; + location = "139.131 -297.241 191.431"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3336"; + gameType = "All"; + }; + new AIObjective(AIOMortarObject) { + position = "228.64 -226.654 201.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy Sensor"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3351"; + location = "228.64 -226.654 201.286"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3336"; + gameType = "All"; + }; + }; + new SimGroup(DeployTurretGroup) { + + new AIObjective(AIODeployEquipment) { + position = "-456.995 340.007 180.933"; + rotation = "0 0 1 90.0913"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy inventory near the flag."; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-456.995 340.007 180.933"; + weightLevel1 = "3100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + chat = "ChatTaskSetupRemote"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "3"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3340"; + gameType = "All"; + }; + new AIObjective(AIODeployEquipment) { + position = "-441.144 350.771 179.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy an outdoor turret."; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-441.144 350.771 179.59"; + weightLevel1 = "3000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3340"; + gameType = "All"; + }; + new AIObjective(AIODeployEquipment) { + position = "-454.961 335.702 171.965"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor turret at the flag."; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-454.961 335.702 171.965"; + weightLevel1 = "3000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "0"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3340"; + gameType = "All"; + }; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "216.361 -243.583 170.356"; + rotation = "0 0 1 214.469"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "20"; + outdoorWeight = "80"; + locked = "true"; + }; + new SpawnSphere() { + position = "204.478 427.721 181.059"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "50"; + indoorWeight = "40"; + outdoorWeight = "60"; + locked = "true"; + }; + }; + new SimGroup(Base1) { + + new InteriorInstance() { + position = "293.929 -150.358 190.876"; + rotation = "0 0 -1 69.9008"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape() { + position = "230.739 -227.177 151.094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "230.263 -226.937 201.042"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Flag Base"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Item(Team2Flag1) { + position = "230.744 -227.148 151.486"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "0"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "233.041 -226.648 161.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new Turret() { + position = "221.813 436.197 185.219"; + rotation = "0.581478 0.58009 -0.570421 239.285"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Turret() { + position = "234.422 436.192 185.219"; + rotation = "0.581478 0.58009 -0.570421 239.285"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + locked = "true"; + }; + new Item() { + position = "234.816 459.483 211.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge1) { + position = "218.366 471.162 151.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2GeneratorLarge2) { + position = "237.634 470.949 151.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "227.997 449.227 177.42"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "pbunk3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new WayPoint() { + position = "227.997 449.227 177.42"; + rotation = "0 0 -1 9.74027"; + scale = "0.1 0.1 0.1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge1) { + position = "289.413 -148.675 201.864"; + rotation = "0 0 -1 69.3279"; + scale = "1 1 1"; + nameTag = "Flag Base Front"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + locked = "true"; + }; + new InteriorInstance() { + position = "135.208 -300.208 180.441"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Turret(Team2TurretBaseLarge2) { + position = "139.131 -297.241 191.431"; + rotation = "0 0 1 53.2851"; + scale = "1 1 1"; + nameTag = "Flag Base Rear"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + locked = "true"; + }; + new StaticShape(Team2StationInventory1) { + position = "210.56 521.244 157.416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Base Lower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory2) { + position = "210.536 522.388 163.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Base Center"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team2StationInventory3) { + position = "210.495 522.654 169.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Main Base Upper"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOTouchObject) { + position = "-450.824 341.037 169.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the enemy flag"; + mode = "FlagGrab"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "-450.824 341.037 169.746"; + weightLevel1 = "3850"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOTouchObject) { + position = "-450.824 341.037 169.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the flag!"; + mode = "FlagCapture"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "-450.824 341.037 169.746"; + weightLevel1 = "5000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOTouchObject) { + position = "-450.824 341.037 169.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Grab the dropped enemy flag"; + mode = "FlagDropped"; + targetObject = "Team1Flag1"; + targetClientId = "-1"; + targetObjectId = "3308"; + location = "-450.824 341.037 169.746"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new SimGroup(AttackGroup) { + + new AIObjective(AIOAttackObject) { + position = "-374.229 -423.221 129.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team1GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3292"; + location = "-374.229 -423.221 129.438"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3375"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "-354.961 -423.404 129.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy generator"; + targetObject = "Team1GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3293"; + location = "-354.961 -423.404 129.444"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "MediumShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3375"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "-348.523 -475.597 147.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3294"; + location = "-348.523 -475.597 147.503"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3375"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "-348.3 -475.514 141.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3296"; + location = "-348.3 -475.514 141.818"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3375"; + gameType = "All"; + }; + new AIObjective(AIOAttackObject) { + position = "-348.239 -475.61 135.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the enemy inventory"; + targetObject = "Team1StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3298"; + location = "-348.239 -475.61 135.59"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3375"; + gameType = "All"; + }; + }; + new SimGroup(MortarGroup) { + + new AIObjective(AIOMortarObject) { + position = "-450.586 340.067 219.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy Sensor"; + targetObject = "Team1SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3303"; + location = "-450.586 340.067 219.751"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3381"; + gameType = "All"; + }; + new AIObjective(AIOMortarObject) { + position = "-379.246 288.422 216.724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3305"; + location = "-379.246 288.422 216.724"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3381"; + gameType = "All"; + }; + new AIObjective(AIOMortarObject) { + position = "-500.73 382.101 203.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the enemy turret"; + targetObject = "Team1TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3307"; + location = "-500.73 382.101 203.291"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3381"; + gameType = "All"; + }; + }; + new SimGroup(RepairGroup1) { + + new AIObjective(AIORepairObject) { + position = "228.64 -226.654 201.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Sensor"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = "3351"; + location = "228.64 -226.654 201.286"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3385"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "289.413 -148.675 202.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3362"; + location = "289.413 -148.675 202.069"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3385"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "139.131 -297.241 192.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the turret"; + targetObject = "Team2TurretBaseLarge2"; + targetClientId = "-1"; + targetObjectId = "3364"; + location = "139.131 -297.241 192.231"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "LightRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3385"; + gameType = "All"; + }; + }; + new AIObjective(AIODefendLocation) { + position = "230.744 -227.148 151.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend our flag"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3352"; + location = "230.744 -227.148 151.072"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumShieldSet LightShieldSet HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOAttackPlayer) { + position = "230.744 -227.148 151.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3352"; + location = "230.744 -227.148 151.072"; + weightLevel1 = "4800"; + weightLevel2 = "3000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new AIObjective(AIOTouchObject) { + position = "230.744 -227.148 151.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Return our flag"; + mode = "FlagDropped"; + targetObject = "Team2Flag1"; + targetClientId = "-1"; + targetObjectId = "3352"; + location = "230.744 -227.148 151.072"; + weightLevel1 = "5001"; + weightLevel2 = "4100"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "1"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + gameType = "All"; + }; + new SimGroup(RepairGroup2) { + + new AIObjective(AIORepairObject) { + position = "218.526 475.962 151.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3358"; + location = "218.526 475.962 151.463"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3392"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "237.794 475.749 151.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the generator"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3359"; + location = "237.794 475.749 151.457"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3392"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "210.72 526.044 158.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3365"; + location = "210.72 526.044 158.053"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3392"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "210.696 527.188 163.899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3367"; + location = "210.696 527.188 163.899"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3392"; + gameType = "All"; + }; + new AIObjective(AIORepairObject) { + position = "210.655 527.454 170.041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the inventory station"; + targetObject = "Team2StationInventory3"; + targetClientId = "-1"; + targetObjectId = "3369"; + location = "210.655 527.454 170.041"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3392"; + gameType = "All"; + }; + }; + new SimGroup(DefendGroup) { + + new AIObjective(AIODefendLocation) { + position = "218.528 474.641 152.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team2GeneratorLarge1"; + targetClientId = "-1"; + targetObjectId = "3358"; + location = "218.528 474.641 152.968"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3398"; + gameType = "All"; + }; + new AIObjective(AIODefendLocation) { + position = "237.796 474.428 152.962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the generator"; + targetObject = "Team2GeneratorLarge2"; + targetClientId = "-1"; + targetObjectId = "3359"; + location = "237.796 474.428 152.962"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "RepairPack Plasma PlasmaAmmo"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + radius = "0"; + group = "3398"; + gameType = "All"; + }; + }; + new SimGroup(DeployGroup) { + + new AIObjective(AIODeployEquipment) { + position = "207.759 -226.696 162.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy an inventory station near the flag."; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "207.759 -226.696 162.69"; + weightLevel1 = "3100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3401"; + gameType = "All"; + }; + new AIObjective(AIODeployEquipment) { + position = "216.424 -216.406 160.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy a turret near the flag"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "216.424 -216.406 160.581"; + weightLevel1 = "3000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3401"; + gameType = "All"; + }; + new AIObjective(AIODeployEquipment) { + position = "234.747 -221.818 153.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy an indoor turret near the flag."; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "234.747 -221.818 153.325"; + weightLevel1 = "3000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "1"; + issuingClientId = "-1"; + group = "3401"; + gameType = "all"; + }; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new Camera() { + position = "231.273 -186.079 195.577"; + rotation = "0 0 1 196.134"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-466.119 399.062 213.772"; + rotation = "0 0 1 154.126"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new AudioEmitter() { + position = "29.6484 -76.2233 99.9808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Training1.mis b/public/base/@vl2/missions.vl2/missions/Training1.mis new file mode 100644 index 00000000..b6f0a612 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Training1.mis @@ -0,0 +1,2765 @@ +// MissionTypes = SinglePlayer +// DisplayName = Newblood + +//--- MISSION BRIEFING BEGIN --- +//Alright, newblood. I'm Strike Colonel Akanruth. Here's the situation: After six years of bloody effort, we've finally got the BioDerms on the ropes, but we're all exhausted. Manpower is short. That's why we're calling up inexperienced warriors like you. +// +//Your first mission should be easy enough. Scan for Derm activity over the Hanakush Lowlands. Your code name's Lone Wolf. +// +//You shouldn't hit any combat in this mission, so you'll go out in Scout gear. Charybdis was a Blood Eagle world before the Derms got here. If you run across any B-E, keep it civil. Remember, the enemy of my enemy is my friend. +// +//Lieutenant Kenzie will coordinate your movements over your Command Circuit. Follow her instructions. She's a veteran who knows her stuff. +// +//This region of Charybdis has a lush climate. Keep the bugs out of your armor if you can. +// +//That's it. Dismissed. +//--- MISSION BRIEFING END --- + +// BriefingWAV = T1 6 +// Bitmap = trn_1charybdis + +//--- MISSION STRING BEGIN --- +//OBJECTIVES: +//Use bomber to survey enemy territory +//Obey Lieutenant Kenzie's orders +//TRAINING: +//Heads Up Display +//Basic combat and vehicle use +//Practice jetting and skiing +//--- MISSION STRING END --- + +// PlanetName = Charybdis, 3947 CE + +//--- MISSION BLURB BEGIN --- +//In 3941, the BioDerm Hordes crushed the Starwolf tribe at the star system of Ymir. Six years later, the tribal alliance called the Pact begins a crucial offensive. You are of the Pact, a Starwolf newblood. Remember Ymir. Avenge your people. +//--- MISSION BLURB END --- + + +//scriptlet +//we have to jump through a lot of hoops to get those dead bodies in training1 +function deadArmor::onAdd(%this, %obj) +{ + %skin = (%obj.trainingSkin == 1 ? 'swolf' : 'beagle'); + //echo("skin = " SPC %skin); + createTarget(%obj, 'Dead Body', %skin, "", 'deadArmor', 0); +} + +function deadArmor::onRemove(%this, %obj) +{ + //echo("singleplayerGame -- deadArmor::onRemove"); + freeTarget(%obj.getTarget()); +} + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-448 -1408 2304 2208"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "100"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Training1.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Training1.nav"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Camera(hoverBikeDP) { + position = "629.407 -58.6929 124.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup(Teams) { + + new SimGroup(Team2) { + + new SimGroup(DropPoints) { + + new Camera(enemy0) { + position = "472.802 349.922 204.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy1) { + position = "551.142 790.21 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy2) { + position = "738.109 5.1693 152.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy3) { + position = "988.221 -326.252 86.2044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy4) { + position = "917.043 -476.293 102.216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy5) { + position = "977.56 -584.56 107.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy6) { + position = "980.365 -777.838 97.7195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy7) { + position = "472.356 345.155 200.883"; + rotation = "0 0 -1 75.6304"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera(enemy8) { + position = "564.903 791.638 107.929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(enemy9) { + position = "589.296 806.741 111.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(enemy10) { + position = "575.32 -29.8525 138.276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(enemy11) { + position = "827.178 406.124 195.466"; + rotation = "0 0 1 183.919"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(enemy12) { + position = "-721.719 296.493 83.3617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(enemy13) { + position = "882.259 49.6576 147.146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + }; + new SimGroup(Team1) { + providesPower = "1"; + + new SimGroup(DropPoints) { + + new Camera() { + position = "1301.77 -832.202 88.3109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "1255.36 -826.299 79.1645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(DP) { + position = "-262.22 528.825 148.641"; + rotation = "0 0 1 174.696"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup(Respawns) { + + new Camera() { + position = "-311.987 532.198 155.274"; + rotation = "0 0 1 150.115"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-293.826 391.612 75.1421"; + rotation = "0 0 1 96.2569"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "483.448 364.206 225.265"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "635.748 -42.3523 127.123"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "476.731 363.919 232.695"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance(Tower) { + position = "478.373 363.933 210.21"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + threshold2 = "60"; + threshold1 = "330"; + AudioEnvironment = SmallRoom; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(RandomRocks) { + + new SimGroup(Addition2brock6) { + + new InteriorInstance() { + position = "-211.225 415.883 78.0187"; + rotation = "0.0859163 -0.728135 0.680028 92.551"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-247.225 413.883 69.4588"; + rotation = "0.0903608 -0.723175 0.684728 92.9544"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-249.142 384.741 73.6875"; + rotation = "0.999508 0.0207068 0.0235741 82.6183"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Addition3brock6) { + + new InteriorInstance() { + position = "-361.859 580.372 133.844"; + rotation = "0.0749949 -0.739978 0.668437 91.5936"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-327.859 553.372 138.108"; + rotation = "0 0 1 3.17638"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-338.859 543.372 141.73"; + rotation = "0 0 1 6.1087"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Addition4brock6) { + + new InteriorInstance() { + position = "614.302 -90.5742 134.156"; + rotation = "0.999363 0.00750352 -0.0349017 194.321"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "623.302 -78.5742 127.591"; + rotation = "0.985035 0.145617 0.0922095 182.429"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "621.302 -52.5742 122.494"; + rotation = "0.496802 0.867682 0.0177913 176.44"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Addition5brock6) { + + new InteriorInstance() { + position = "854.237 -299.5 51.5671"; + rotation = "0.990727 0.0989551 0.0930998 181.927"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "844.237 -312.5 50.7056"; + rotation = "0 0 1 5.44537"; + scale = "0.5 0.5 0.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "855.237 -281.5 51.8106"; + rotation = "0 0 1 1.30923"; + scale = "1.5 1.5 1.5"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + }; + }; + new SimGroup(Goodies) { + + new Item() { + position = "474.634 364.471 216.897"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-289.395 388.467 76.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "479.087 360.808 224.938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "475.639 368.891 224.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "475.428 360.075 205.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-284.144 392.475 76.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-289.826 398.197 76.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "473.838 358.562 224.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "480.085 363.933 224.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "474.75 368.018 205.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "478.415 368.123 205.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-307.816 375.393 71.9373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-310.012 376.784 72.4285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-298.878 367.65 72.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BEPlant1) { + + new TSStatic() { + position = "12 44 103.084"; + rotation = "0.187078 -0.299834 -0.935469 91.8214"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "12 28 112.272"; + rotation = "0.673747 -0.00405274 0.738951 46.2144"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-12 -60 115.006"; + rotation = "0.222631 0.00381878 0.974895 201.461"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-44 -12 158.381"; + rotation = "0.296084 -0.0550443 0.953575 213.468"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "44 20 116.163"; + rotation = "0.0927419 0.0384151 -0.994949 45.2054"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "12 -12 110.944"; + rotation = "-0.125633 -0.322398 0.93823 94.648"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 4 115.459"; + rotation = "-0.325118 -0.266284 0.907409 15.4122"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "28 -36 103.991"; + rotation = "-0.104028 -0.1201 0.987296 217.551"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-60 -12 164.709"; + rotation = "0.0580189 -0.15164 0.986732 104.741"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-28 -60 120.725"; + rotation = "0.0577292 -0.221813 0.973379 141.962"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant1) { + + new TSStatic() { + position = "-212 388 75.4125"; + rotation = "-0.206499 0.0467321 0.97733 186.842"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 444 88.4125"; + rotation = "-0.574363 0.322049 0.75259 32.8274"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 388 73.9906"; + rotation = "0.148682 -0.256464 -0.95505 66.3921"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-276 356 78.7875"; + rotation = "-0.140865 0.079089 0.986865 160.257"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 436 77.725"; + rotation = "0.166724 -0.218018 0.961598 224.408"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 372 74.2094"; + rotation = "-0.207835 0.156096 0.965629 73.9162"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-228 436 80.4438"; + rotation = "-0.287258 0.463175 -0.838422 54.8233"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 356 91.7093"; + rotation = "0.201291 0.712453 0.67223 42.085"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 420 79.5531"; + rotation = "-0.61971 0.490923 0.612335 36.7589"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition3BELgTree16) { + + new TSStatic() { + position = "-316 268 55.3594"; + rotation = "0 0 1 97.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-276 236 66.9844"; + rotation = "0 0 1 183"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-28 316 81.6407"; + rotation = "0 0 -1 38"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-412 364 69.0468"; + rotation = "0 0 1 79.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-148 244 78.6875"; + rotation = "0 0 1 116"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-68 300 89.1407"; + rotation = "0 0 1 192"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-236 540 147.953"; + rotation = "0 0 1 37"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-92 292 91.3282"; + rotation = "0 0 1 67"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-52 300 86.4375"; + rotation = "0 0 1 12"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-76 260 95.8438"; + rotation = "0 0 1 9.00004"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-276 364 74.8594"; + rotation = "0 0 1 231"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-420 236 87.4531"; + rotation = "0 0 1 81.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-140 580 123.656"; + rotation = "0 0 -1 88"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-292 572 141.844"; + rotation = "0 0 1 46"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-140 540 112.297"; + rotation = "0 0 1 123"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + }; + new SimGroup(Addition1BESmTree17) { + + new TSStatic() { + position = "140 -228 165.828"; + rotation = "0.285418 0.403782 0.869193 24.074"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-268 -100 140.031"; + rotation = "-0.0727138 0.0455015 0.996314 146.118"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "292 -172 96.375"; + rotation = "-0.437468 0.474769 -0.763686 29.8352"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "84 84 105.656"; + rotation = "-0.154012 -0.0638678 0.986003 239.303"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-172 28 185.844"; + rotation = "0.13083 -0.102316 -0.986111 65.7286"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-308 60 92.1562"; + rotation = "-0.6199 0.346496 0.704035 21.1836"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-76 -4 162.375"; + rotation = "0.0636308 -0.172424 -0.982965 109.928"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-356 12 77.4531"; + rotation = "-0.160854 0.0557614 0.985402 186.898"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-124 228 82.5781"; + rotation = "0.00475492 0.193705 -0.981048 83.0869"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "364 -284 77.0157"; + rotation = "0.0643768 0.238911 -0.968905 59.5481"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-340 20 82.375"; + rotation = "-0.0214268 0.428443 0.903315 30.8605"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "300 -116 111.453"; + rotation = "0.265667 0.740693 -0.617086 19.3317"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "324 -108 114.109"; + rotation = "0.0390719 0.0270788 0.998869 134.046"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-388 -388 100.922"; + rotation = "0.278494 0.331909 0.901264 24.3416"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "348 -412 76.1093"; + rotation = "-0.0417168 0.0484254 0.997955 222.92"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "300 84 104.672"; + rotation = "-0.184826 -0.0124876 -0.982692 74.9641"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-372 -548 99.172"; + rotation = "0.0555475 0.0330002 0.997911 229.908"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-196 -508 110.563"; + rotation = "-0.142972 0.0412338 0.988867 214.634"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "340 236 165.906"; + rotation = "-0.0987353 0.15622 0.982775 86.9933"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "380 -308 77.75"; + rotation = "0.157783 -0.115876 0.980651 69.0414"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + new TSStatic() { + position = "-308 364 65.6094"; + rotation = "0 0 -1 69.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-260 340 82.5312"; + rotation = "0 0 1 195"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "236 -60 105.828"; + rotation = "0 0 1 176"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "76 100 104.641"; + rotation = "0 0 -1 92.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "260 -60 103.438"; + rotation = "0 0 -1 94"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-244 276 65.7344"; + rotation = "0 0 1 6.00005"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-36 -188 64.8282"; + rotation = "0 0 -1 120"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "188 380 84"; + rotation = "0 0 1 35"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-364 300 58.6406"; + rotation = "0 0 1 215"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-76 -300 120.156"; + rotation = "0 0 1 75.0002"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "84 28 111.031"; + rotation = "0 0 1 47"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-276 244 65"; + rotation = "0 0 1 130"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "300 -244 97.797"; + rotation = "0 0 1 152"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "364 36 124.031"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-340 156 87.4531"; + rotation = "0 0 1 104"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "92 276 67.375"; + rotation = "0 0 1 39"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-4 228 101.828"; + rotation = "0 0 -1 87.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "92 340 71.3125"; + rotation = "0 0 1 76.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-300 276 58.1875"; + rotation = "0 0 1 57.9999"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-188 452 92.2656"; + rotation = "0 0 -1 81.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition1BESmTree17) { + + new TSStatic() { + position = "500 -316 96.6875"; + rotation = "0.0189433 -0.0920088 0.995578 210.869"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "820 -412 60.8594"; + rotation = "0.151268 0.0290211 0.988067 97.6825"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "876 -276 51.7187"; + rotation = "-0.0767067 0.461516 -0.883809 20.3196"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "652 244 85.625"; + rotation = "0.307312 -0.398951 0.863943 32.1955"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "708 -276 72.7656"; + rotation = "0.265436 -0.176198 0.947891 59.6082"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "836 -308 47.8438"; + rotation = "0.0204826 -0.0196076 0.999598 140.015"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "604 4 141.703"; + rotation = "-0.107106 -0.00849662 0.994211 233.731"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1172 -12 145.812"; + rotation = "-0.169217 0.00416148 0.98557 91.8325"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1020 -204 127.797"; + rotation = "-0.0211118 0.743291 0.668635 20.8112"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1108 44 107.75"; + rotation = "-0.0451934 0.160773 0.985956 44.5658"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "644 -348 115.234"; + rotation = "0.737692 0.0137925 -0.674997 20.6192"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "844 140 163.828"; + rotation = "-0.155668 -0.0493325 0.986577 83.7687"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1092 76 116.188"; + rotation = "-0.140404 -0.0943009 -0.985593 74.8008"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "940 -180 84.4688"; + rotation = "-0.0699772 0.0254908 0.997223 103.155"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "596 76 133.891"; + rotation = "-0.145307 -0.0467364 0.988282 129.523"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1036 188 136.187"; + rotation = "0.0143986 -0.126977 0.991801 89.4714"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "708 -60 140.547"; + rotation = "-0.214297 -0.107879 0.970793 63.5095"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "980 -316 79.7969"; + rotation = "-0.524424 0.50887 -0.682665 23.2662"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "532 52 118.094"; + rotation = "0.236918 0.0674468 -0.969186 70.6835"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + new TSStatic() { + position = "428 188 135.5"; + rotation = "0 0 1 49"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "844 -212 55.6563"; + rotation = "0 0 -1 82"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "588 292 116.109"; + rotation = "0 0 1 144"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "964 12 184.766"; + rotation = "0 0 1 134"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "844 -244 54.0469"; + rotation = "0 0 -1 16.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "700 244 81.3907"; + rotation = "0 0 1 9.99989"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1060 -220 118.953"; + rotation = "0 0 1 228"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1204 316 61.4843"; + rotation = "0 0 1 177"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1132 284 74.4219"; + rotation = "0 0 -1 23.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "556 -12 129.312"; + rotation = "0 0 -1 111"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "412 -44 68.4531"; + rotation = "0 0 1 7.00001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "860 292 155.844"; + rotation = "0 0 -1 10.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1036 -180 124.484"; + rotation = "0 0 1 88.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "588 -52 129.75"; + rotation = "0 0 -1 67.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "468 -372 66.0937"; + rotation = "0 0 1 128"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "860 116 166.922"; + rotation = "0 0 1 11"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "716 252 82.9531"; + rotation = "0 0 1 11"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1180 -444 145.719"; + rotation = "0 0 1 4.99997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "876 -380 52.9063"; + rotation = "0 0 1 46"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition3BEPlant5) { + + new TSStatic() { + position = "588 156 102.809"; + rotation = "-0.193563 0.0259592 0.980744 181.962"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "492 140 100.575"; + rotation = "0.146029 0.137793 0.979637 117.055"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "588 140 108.325"; + rotation = "-0.318993 0.168786 0.932606 227.962"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 220 119.778"; + rotation = "-0.542672 -0.517663 -0.661462 28.3949"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 196 107.903"; + rotation = "-0.575099 -0.240159 0.782039 51.104"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "492 196 112.762"; + rotation = "0.253778 -0.1873 0.948955 203.761"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "604 156 105.887"; + rotation = "-0.0326261 0.0389834 0.998707 225.946"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "564 236 114.544"; + rotation = "0.208184 -0.0821455 0.974634 115.338"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "492 148 99.2617"; + rotation = "-0.0149542 -0.224199 -0.974429 58.2532"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 44 129.95"; + rotation = "-0.0753689 0.145225 0.986524 67.7173"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "628 188 107.028"; + rotation = "-0.124681 -0.107766 -0.986327 72.7519"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "580 108 129.606"; + rotation = "-0.160092 0.296592 0.94149 163.037"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 188 105.919"; + rotation = "-0.0916734 -0.212707 0.972806 188.756"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "636 236 95.4966"; + rotation = "0.296211 -0.0940407 0.950482 86.9005"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "652 132 111.966"; + rotation = "0.114039 0.329162 0.937362 63.2603"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "596 108 134.653"; + rotation = "-0.131211 0.224869 0.965514 229.455"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "660 60 143.575"; + rotation = "-0.0366527 -0.205783 0.977911 82.2664"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "676 92 133.559"; + rotation = "-0.143912 0.101845 0.984336 208.565"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "484 124 107.887"; + rotation = "0.0688712 0.267605 0.961064 116.062"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 188 102.95"; + rotation = "-0.141141 -0.288261 0.947093 135.236"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + new TSStatic() { + position = "196 124 106.788"; + rotation = "-0.0194762 0.0360942 0.999159 185.995"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "324 132 137.709"; + rotation = "-0.824061 0.269725 0.498169 40.8144"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "404 148 129.272"; + rotation = "-0.453514 0.0103151 -0.89119 57.3823"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "148 164 106.272"; + rotation = "0.346131 0.139353 0.927779 82.2303"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "388 52 119.178"; + rotation = "0.299604 0.0496035 0.952773 96.7594"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "452 220 146.162"; + rotation = "-0.155184 -0.275246 0.948766 94.0103"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 324 104.084"; + rotation = "-0.256999 0.966412 0 31.3768"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "380 100 118.959"; + rotation = "0.252843 -0.0682316 0.965098 206.091"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "252 140 124.506"; + rotation = "-0.290357 -0.0857175 0.953072 149.43"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "172 364 93.2094"; + rotation = "0.0544781 0.166186 0.984588 180.985"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "156 180 97.1313"; + rotation = "0.735189 0.316481 0.599448 35.9322"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "452 212 143.413"; + rotation = "-0.292077 -0.0147327 -0.956281 70.3941"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "476 324 193.725"; + rotation = "-0.46624 -0.0634 0.882384 21.4771"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "428 164 133.319"; + rotation = "-0.0128469 -0.219879 0.975443 155.595"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "388 252 165.584"; + rotation = "0.0979139 -0.392969 0.914324 89.1213"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "388 164 134.662"; + rotation = "0.136418 -0.0673901 0.988357 100.66"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 148 121.663"; + rotation = "-0.487287 0.0647607 -0.870837 83.7945"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "236 340 114.647"; + rotation = "-0.0104936 0.224169 0.974494 182.924"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "324 164 150.147"; + rotation = "-0.547013 0.782764 -0.296745 23.293"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "268 116 123.741"; + rotation = "-0.479476 0.578886 -0.65954 35.7259"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition5BEPlant1) { + + new TSStatic() { + position = "1364 -852 77.2562"; + rotation = "-0.768939 0.365446 -0.524579 33.6006"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1196 -836 64.3031"; + rotation = "0.210641 0.146051 -0.966592 61.7001"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1244 -780 86.6625"; + rotation = "-0.115374 -0.141325 0.983217 175.084"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1308 -876 75.1782"; + rotation = "0.228708 -0.120099 0.966058 183.864"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1132 -892 65.725"; + rotation = "-0.12685 0.170462 0.977165 141.825"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1244 -924 102.069"; + rotation = "-0.110985 0.0519229 0.992465 144.254"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1180 -868 69.0688"; + rotation = "0.0109543 0.159993 0.987057 149.382"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1204 -644 98.9593"; + rotation = "0.110772 -0.25673 0.960114 237.022"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1396 -940 87.4594"; + rotation = "-0.266377 0.35014 0.898023 69.6625"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1292 -620 110.038"; + rotation = "-0.054907 0.139267 0.988732 202.747"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1060 -644 119.631"; + rotation = "-0.492076 0.214682 -0.843666 61.1638"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1316 -708 100.069"; + rotation = "-0.195611 0.0941593 0.976151 203.444"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1172 -788 55.9126"; + rotation = "0.0333406 0.00956025 0.999398 122.029"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1076 -700 95.6469"; + rotation = "-0.0505172 -0.443439 -0.89488 14.5118"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1260 -828 77.9125"; + rotation = "0.0225397 0.0724205 0.997119 129.128"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1076 -860 65.7719"; + rotation = "0.133628 -0.137519 0.981444 105.039"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1316 -836 87.85"; + rotation = "-0.09518 -0.0525785 0.994071 108.324"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1132 -908 71.2563"; + rotation = "0.00708622 0.347095 0.937803 103.601"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1156 -916 80.3344"; + rotation = "-0.0730995 0.138384 0.987677 220.536"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1060 -564 127.616"; + rotation = "0.0985932 0.092788 0.990793 200.811"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition6BELgTree18) { + + new TSStatic() { + position = "1340 -876 63.3125"; + rotation = "0 0 1 232"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1348 -524 77.4063"; + rotation = "0 0 1 201"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1244 -972 92.5"; + rotation = "0 0 1 195"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1004 -932 71.3281"; + rotation = "0 0 1 121"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1044 -852 70.5938"; + rotation = "0 0 -1 96.0002"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1172 -804 54.0625"; + rotation = "0 0 1 138"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1164 -852 60.6406"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1060 -716 94.75"; + rotation = "0 0 -1 73.0006"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1260 -612 106.578"; + rotation = "0 0 -1 82"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1036 -836 72.0157"; + rotation = "0 0 -1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1268 -948 95.7499"; + rotation = "0 0 1 113"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1244 -932 98.625"; + rotation = "0 0 1 9.99989"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1252 -716 85.6875"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1316 -524 79.6719"; + rotation = "0 0 1 207"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1324 -644 109.062"; + rotation = "0 0 1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1132 -452 157.297"; + rotation = "0 0 1 180"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "980 -924 78.2031"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1004 -716 103.766"; + rotation = "0 0 1 72.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1020 -740 98.406"; + rotation = "0 0 1 127"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1204 -724 66.0312"; + rotation = "0 0 1 149"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition1BESmTree17) { + + new TSStatic() { + position = "516 -852 114.203"; + rotation = "0.0226453 0.0115586 0.999677 203.992"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "412 -636 137.328"; + rotation = "-0.054195 -0.05415 0.997061 181.994"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "516 -852 114.203"; + rotation = "-0.0128273 -0.0480088 -0.998765 60.0615"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "444 -756 96.0001"; + rotation = "-0.0616775 -0.117932 0.991104 215.7"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "340 -772 79.5938"; + rotation = "-0.214777 0.964319 0.154792 6.45366"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "604 -844 157.766"; + rotation = "-0.0445501 -0.0465846 0.99792 184.99"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "628 -644 187.891"; + rotation = "0.19108 -0.0345838 -0.980965 98.0915"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "372 -764 83.5781"; + rotation = "0.126305 0.0603915 -0.990151 87.5658"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "588 -844 156.516"; + rotation = "-0.124319 -0.119349 0.985038 104.836"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "412 -900 119.953"; + rotation = "-0.0628523 -0.0476702 0.996884 210.907"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "428 -540 160.078"; + rotation = "-0.106477 0.0229367 0.994051 223.763"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "468 -652 141.938"; + rotation = "0.209904 -0.0580286 -0.975998 73.3289"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "404 -892 119.344"; + rotation = "0.0258563 0.208098 -0.977766 83.2771"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "476 -500 153.453"; + rotation = "0.770847 -0.137338 -0.62204 20.7593"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "284 -532 90.2187"; + rotation = "-0.835172 0.10902 0.539075 20.2546"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "300 -860 106.953"; + rotation = "0.0300008 0.141884 0.989429 78.5967"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "468 -724 105.984"; + rotation = "-0.231502 0.313655 -0.920884 48.4362"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "436 -780 93.1406"; + rotation = "-0.0166021 0.0320587 0.999348 205.983"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "276 -876 111.875"; + rotation = "0.10672 0.12651 0.986208 236.335"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "380 -740 84.4219"; + rotation = "-0.126943 0.171214 0.977022 55.0849"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "460 -564 163.094"; + rotation = "-0.00537145 0.279877 -0.960021 67.1369"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "468 -868 119.641"; + rotation = "-0.275798 -0.0223686 -0.960955 45.6079"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "580 -812 159.172"; + rotation = "0.11136 -0.181869 0.976997 71.2576"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "292 -644 101.859"; + rotation = "-0.154484 -0.000180158 0.987995 176.048"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "340 -876 123.937"; + rotation = "0.00543177 0.0324584 0.999458 184.997"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "356 -644 117.328"; + rotation = "-0.0709721 -0.0117515 0.997409 157.058"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "444 -540 160.797"; + rotation = "0.0687445 0.0224915 0.997381 82.149"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "516 -852 114.203"; + rotation = "0.0261136 -0.00134998 0.999658 144.011"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "580 -796 159.547"; + rotation = "0.0555007 0.0996695 0.993472 234.693"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "452 -532 160.047"; + rotation = "0.0187232 0.0595054 0.998052 143.067"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "452 -572 159.516"; + rotation = "-0.107753 -0.142268 0.983946 143.555"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "572 -772 157.203"; + rotation = "0.085667 0.0576616 0.994654 176.021"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "348 -788 81.5782"; + rotation = "-0.119645 0.050421 0.991536 217.701"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "380 -740 84.4219"; + rotation = "-0.152944 0.359364 0.920579 29.2333"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "268 -564 82.4531"; + rotation = "-0.0958363 0.325672 -0.940613 33.9076"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "460 -540 162.266"; + rotation = "-0.131657 0.0740015 0.988529 198.786"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(Addition2BELgTree18) { + + new TSStatic() { + position = "332 -932 118.766"; + rotation = "0 0 -1 53.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "188 -604 87.5781"; + rotation = "0 0 1 159"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "12 -844 121.125"; + rotation = "0 0 1 233"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-36 -468 135.203"; + rotation = "0 0 1 76"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "108 -892 102.594"; + rotation = "0 0 1 53"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "476 -652 142.578"; + rotation = "0 0 1 208"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "444 -524 160.156"; + rotation = "0 0 1 17"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-28 -468 136"; + rotation = "0 0 1 121"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "228 -452 115.188"; + rotation = "0 0 1 36"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "164 -564 91.9688"; + rotation = "0 0 -1 44.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "76 -412 131.828"; + rotation = "0 0 -1 1.00014"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "260 -892 118.438"; + rotation = "0 0 1 150"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "452 -556 162.062"; + rotation = "0 0 1 20"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "156 -604 84.5781"; + rotation = "0 0 1 93.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "340 -780 79.5"; + rotation = "0 0 -1 10.9999"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "284 -676 104.078"; + rotation = "0 0 1 109"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "212 -748 102.672"; + rotation = "0 0 1 180"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "44 -708 86.1249"; + rotation = "0 0 1 177"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "324 -436 77.3281"; + rotation = "0 0 -1 35"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "228 -532 103.313"; + rotation = "0 0 1 174"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + }; + new TSStatic() { + position = "590.041 -542.501 248.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new SimGroup(Addition3BELgTree18) { + + new TSStatic() { + position = "612 676 187.797"; + rotation = "0 0 1 236"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "596 684 188.609"; + rotation = "0 0 1 222"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition4BELgTree18) { + + new TSStatic() { + position = "484 548 68.625"; + rotation = "0 0 1 75.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "532 524 84.0782"; + rotation = "0 0 1 161"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition5BELgTree18) { + + new TSStatic() { + position = "268 668 97.359"; + rotation = "0 0 1 60.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "60 588 135.438"; + rotation = "0 0 1 218"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "44 780 52.0312"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "316 604 115.359"; + rotation = "0 0 1 1.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "124 820 54.7031"; + rotation = "0 0 1 21"; + scale = "1.1 1.1 1.1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "84 556 133.891"; + rotation = "0 0 -1 38"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "76 572 133.078"; + rotation = "0 0 -1 34.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "236 588 125.078"; + rotation = "0 0 1 57"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "332 668 98.781"; + rotation = "0 0 1 130"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "332 740 90.7656"; + rotation = "0 0 1 85.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "276 812 99.359"; + rotation = "0 0 1 42"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "300 692 100.281"; + rotation = "0 0 1 32"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition6BESmTree17) { + + new TSStatic() { + position = "316 764 90.3593"; + rotation = "-0.269346 0.0747762 0.960136 9.37201"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "284 796 100.625"; + rotation = "-0.109174 -0.268087 0.957189 30.2388"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "92 788 52.4374"; + rotation = "-0.00226441 0.0373222 0.999301 211.979"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "236 596 124.828"; + rotation = "0.0374212 -0.125582 -0.991377 48.3697"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "92 604 130.219"; + rotation = "0.130424 -0.533966 0.835386 29.7251"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "236 580 125.891"; + rotation = "0.988853 -0.0859407 0.121593 8.21026"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "204 844 64"; + rotation = "0.075034 -0.0658218 0.995006 117.256"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "324 724 93.625"; + rotation = "0.177271 -0.147427 0.973057 84.5554"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "68 692 85.2812"; + rotation = "0.197225 0.181032 0.963499 72.0145"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "324 588 114.719"; + rotation = "-0.0913719 -0.0166197 0.995678 143.149"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "124 812 54.3437"; + rotation = "-0.139173 -0.0205308 0.990055 195.843"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "332 772 93.0156"; + rotation = "-0.630648 0.457846 -0.626626 22.1727"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(Addition7BESmTree17) { + + new TSStatic() { + position = "724 500 100.312"; + rotation = "-0.474947 0.55988 -0.67894 10.2955"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "692 644 172.547"; + rotation = "-0.120142 -0.104658 0.987225 130.562"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "788 604 183.453"; + rotation = "-0.381454 0.132918 0.914782 46.594"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "748 620 177.734"; + rotation = "-0.133731 0.0451644 0.989988 126.465"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "700 636 170.906"; + rotation = "-0.28187 -0.0991843 0.954312 63.3697"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "796 676 167.984"; + rotation = "-0.114769 0.0364394 0.992724 166.101"; + scale = "1.5 1.5 1.5"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(Addition8BESmTree17) { + + new TSStatic() { + position = "612 492 82.4219"; + rotation = "0.15131 -0.0330094 0.987935 175.06"; + scale = "1.4 1.4 1.4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "652 428 79.7656"; + rotation = "0.122244 -0.16474 -0.978732 87.229"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + }; + }; + }; + new SimGroup(NotSoRandomOrganics) { + + new InteriorInstance() { + position = "-234.377 399.56 72.0484"; + rotation = "1 0 0 139.229"; + scale = "1.18518 1.63312 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-359.655 570.11 126.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-361.343 564.269 130.504"; + rotation = "1 0 0 50.4203"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-351.76 562.309 125.975"; + rotation = "0.769297 0.578037 -0.272129 62.9301"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new StaticShape(SWDeadMed) { + position = "-332.993 471.436 122.37"; + rotation = "-0.294439 -0.309888 0.904033 47.0646"; + scale = "1 1 0.99"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + trainingSkin = 1; + }; + new StaticShape(MedDeadBody) { + position = "477.477 360.201 204.267"; + rotation = "0 0 1 82.5059"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(SWDeadLt) { + position = "-205.392 473.86 97.7869"; + rotation = "-0.94867 0.262068 0.177046 24.3075"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + trainingSkin = 1; + }; + new StaticShape(LightDeadBody) { + position = "474.167 360.154 215.68"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-32.6219 242.339 102.947"; + rotation = "0 0 -1 115.92"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "93.7696 300.472 66.6777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "363.768 249.524 170.509"; + rotation = "0 0 1 218.479"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "976.562 -614.672 90.2773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + }; + new StaticShape(HeavyDeadBody) { + position = "476.153 360.368 232.658"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + }; + new WheeledVehicle(MPB) { + position = "1273.71 -818.372 79.5295"; + rotation = "0.12202 0.0215281 -0.992294 60.694"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + respawn = "0"; + selfPower = "1"; + mountable = "1"; + }; + }; + new SimGroup(Water) { + + new WaterBlock() { + position = "-16 -80 71.5051"; + rotation = "1 0 0 0"; + scale = "128 128 6.3387"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "6"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/GreenWater"; + surfaceOpacity = "0.7"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.9"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-8 48 95.5"; + rotation = "1 0 0 0"; + scale = "64 64 3.71365"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "6"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.7"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.9"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + new WaterBlock() { + position = "-272 376 72"; + rotation = "1 0 0 0"; + scale = "64 64 1"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "6"; + waveMagnitude = "0.1"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.7"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.9"; + removeWetEdges = "1"; + AudioEnvironment = Underwater; + }; + }; + new SimGroup(Sounds) { + + new AudioEmitter(Frog1) { + position = "-222.356 401.06 75.6289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Cricket1) { + position = "-59.9835 298.318 95.3758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Frog2) { + position = "534.092 163.88 102.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Cricket1) { + position = "377.544 386.028 124.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Cricket1) { + position = "818.623 -238.858 63.6823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Cricket1) { + position = "1211.31 -579.262 126.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Cricket1) { + position = "1058.83 -419.898 124.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(bird) { + position = "-260.284 339.991 112.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "2"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new Camera(introFlyerDP) { + position = "400 -1000 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup(FlightPath) { + + new Camera(1) { + position = "400 -800 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(2) { + position = "400 -650 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(3) { + position = "400 -350 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(4) { + position = "400 -245 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(5) { + position = "400 45 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new Camera(MissileGuySpot) { + position = "250.052 -348.706 132.918"; + rotation = "0 0 -1 43.1546"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(MissileCamera) { + position = "246.608 -349.915 134.29"; + rotation = "0 0 1 39.6094"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; +}; +//--- OBJECT WRITE END --- + +exec("scripts/training1.cs"); diff --git a/public/base/@vl2/missions.vl2/missions/Training2.mis b/public/base/@vl2/missions.vl2/missions/Training2.mis new file mode 100644 index 00000000..92ee3d1b --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Training2.mis @@ -0,0 +1,1541 @@ +// MissionTypes = SinglePlayer +// DisplayName = Warrior + +//--- MISSION BRIEFING BEGIN --- +//Welcome, warrior. Glad to see you survived Charybdis. This planet is Sehrganda Prime. It's about as different from Charybdis as you can imagine: a desert world once held by the Phoenix. +// +//The Hordes have been fortifying a string of the old Children of Phoenix bases in the Sunblast March, one of the key approaches to the fertile Darath valleys. We need the food those valleys can produce. +// +//Your mission is to sweep through a series of these towers and deny them to the Derm reavers. +// +//The loadout will be Assault armor and missile launchers. In addition, your armor carries a targeted digital virus to assist you in taking control of these bases. The Derms still use tribal equipment, so you shouldn't encounter any technical problems. +// +//You'll be paired with another warrior, warnom of Dogkiller. Work with him. Lieutenant Kenzie will be running the Command Circuit again. She remembers you from Charybdis. +// +//OK, that is all. Dismissed. +//--- MISSION BRIEFING END --- + +// BriefingWAV = T2 6 +// Bitmap = trn_2sehrganda + +//--- MISSION STRING BEGIN --- +//OBJECTIVES: +//Capture a series of enemy towers +//Destroy enemy defenses +//TRAINING: +//Basic teamwork +//Control Switches and Inventory Stations +//Shield and repair packs +//--- MISSION STRING END --- + +// PlanetName = Sehrganda Prime, 3947 CE +//--- MISSION BLURB BEGIN --- +//The Pact needs the agricultural resources of Sehrganda Prime. Soldiers fight on their stomachs, and without food, tribal warriors will be easy meat for Horde reavers. It is dawn. Soon, the desert sun will turn this land into an inferno. Better get moving. +//--- MISSION BLURB END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-256 -928 1376 1472"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed[0] = "0.000100 0.000000"; + cloudSpeed[1] = "0.000300 0.000000"; + cloudSpeed[2] = "0.000500 0.000000"; + visibleDistance = "400"; + useSkyTextures = "1"; + SkySolidColor = "0.365 0.33 0.31 0.000000"; + fogDistance = "0"; + fogColor = "0.237250 0.127450 0.127450 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_brown.dml"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Training2.ter"; + squareSize = "8"; + emptySquares = "94076"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + GraphFile = "Training2.nav"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(DropPoints) { + + new Camera() { + position = "17.8468 418.138 74.959"; + rotation = "0 0 1 190.222"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "14.194 425.182 74.881"; + rotation = "0 0 1 188.503"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup(Respawns) { + + new Camera() { + position = "13.5138 419.899 85.2662"; + rotation = "0 0 1 188.503"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-48.6691 -83.1481 130.63"; + rotation = "0 0 1 136.364"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "332.557 -243.321 100.568"; + rotation = "0 0 1 152.98"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "661.485 -572.045 132.189"; + rotation = "0 0 1 122.04"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIOAttackObject) { + position = "793.159 -648.806 138.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Inventory_Beta"; + targetClientId = "-1"; + targetObjectId = "3237"; + location = "793.159 -648.806 138.528"; + weightLevel1 = "2900"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "786.235 -659.018 138.622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Inventory_Alpha"; + targetClientId = "-1"; + targetObjectId = "3235"; + location = "786.235 -659.018 138.622"; + weightLevel1 = "2900"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "788.001 -646.949 164.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the GeneratorLarge"; + targetObject = "Generator3"; + targetClientId = "-1"; + targetObjectId = "3234"; + location = "788.001 -646.949 164.29"; + weightLevel1 = "3100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "797.596 -652.19 164.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the EasternFortification"; + mode = "TouchFlipFlop"; + targetObject = "EasternFortification"; + targetClientId = "-1"; + targetObjectId = "3240"; + location = "797.596 -652.19 164.558"; + weightLevel1 = "0"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "791.311 -655.22 156.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FlipFlop"; + targetObject = "EasternFortification"; + targetClientId = "-1"; + targetObjectId = "3240"; + location = "791.311 -655.22 156.159"; + weightLevel1 = "2600"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "793.159 -648.806 138.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Inventory_Beta"; + targetClientId = "-1"; + targetObjectId = "3237"; + location = "793.159 -648.806 138.528"; + weightLevel1 = "2900"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "786.235 -659.018 138.622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Inventory_Alpha"; + targetClientId = "-1"; + targetObjectId = "3235"; + location = "786.235 -659.018 138.622"; + weightLevel1 = "2900"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "788.001 -646.949 164.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "Generator3"; + targetClientId = "-1"; + targetObjectId = "3234"; + location = "788.001 -646.949 164.29"; + weightLevel1 = "3200"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(DropPoints) { + + new Camera(enemy0) { + position = "-15.6292 -111.517 134.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "0"; + }; + new Camera(enemy1) { + position = "-23.5924 -110.297 133.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "2"; + specialObjectives = "0"; + }; + new Camera(enemy2) { + position = "384.576 -288.5 103.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "1"; + }; + new Camera(enemy3) { + position = "386.071 -313.524 101.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "1"; + }; + new Camera(enemy4) { + position = "803.084 -633.443 131.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + SkillLevel = "0.0"; + }; + new Camera(enemy5) { + position = "767.054 -680.544 131.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + new Camera(enemy6) { + position = "14.5448 -117.655 132.537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "3"; + specialObjectives = "0"; + }; + new Camera(enemy7) { + position = "790.273 -653.841 174.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + specialObjectives = "2"; + }; + new Camera(enemy8) { + position = "-40.4121 -111.547 131.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "3"; + specialObjectives = "0"; + }; + new Camera(enemy9) { + position = "371.903 -301.672 122.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "3"; + specialObjectives = "1"; + }; + new Camera(enemy10) { + position = "791.311 -655.22 156.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + specialObjectives = "2"; + }; + new SimGroup(Respawns) { + + new Camera(DP) { + position = "702.985 -1031.52 99.2586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + new Camera(DP) { + position = "694.16 -1039.71 102.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + new Camera(DP) { + position = "1271.87 -389.877 109.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + new Camera(DP) { + position = "696.954 -1056.33 101.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + new Camera(DP) { + position = "705.779 -1048.14 98.5557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + new Camera(DP) { + position = "1223.52 -748.852 101.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + equipment = "1"; + specialObjectives = "2"; + }; + }; + }; + new SimGroup(Base1) { + + new InteriorInstance(base) { + position = "-8.8043 -131.828 129.698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + locked = "true"; + threshold1 = "240"; + threshold2 = "190"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance(SensorPlatform) { + position = "-164.017 126.239 97.5715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new StaticShape(InitialPulseSensor) { + position = "-163.766 126.011 98.5562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Generator) { + position = "-32.3984 -131.857 131.591"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new Item() { + position = "-8.0567 -132.091 131.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new StaticShape(CommandSwitch) { + position = "-8.8262 -131.779 119.756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Small Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "North Base Command Switch"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-11.5761 -131.662 169.684"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new Item() { + position = "-13.9581 -132.162 145.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-11.2665 -132.092 145.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "-8.4602 -132.143 145.079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + }; + new SimGroup(Base2) { + + new InteriorInstance(Bridge) { + position = "342.613 -282.075 95.0938"; + rotation = "0 0 1 197.28"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(base) { + position = "380.262 -298.625 98.9719"; + rotation = "0 0 -1 94.538"; + scale = "1 1 1"; + interiorFile = "ptowr7.dif"; + showTerrainInside = "0"; + locked = "true"; + threshold1 = "300"; + threshold2 = "250"; + AudioEnvironment = SmallRoom; + }; + new InteriorInstance(TurretPlatform) { + position = "274.154 -351.326 97.6447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(Sensor) { + position = "380.565 -301.198 131.4"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Generator) { + position = "380.411 -300.914 111.738"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new Turret(Turret_Beta) { + position = "274.785 -351.226 102.094"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + }; + new Item() { + position = "374.41 -305.57 121.133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "387.02 -296.774 120.929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "387.213 -300.396 121.02"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "387.206 -304.933 120.699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "373.503 -298.246 121.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "373.173 -302.462 121.786"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + }; + new SimGroup(Base3) { + + new InteriorInstance(SensorPlatform) { + position = "556.244 -411.004 129.382"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(base) { + position = "790.141 -654.339 135.951"; + rotation = "0 0 1 123.368"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + locked = "true"; + threshold1 = "370"; + threshold2 = "150"; + AudioEnvironment = SmallRoom; + }; + new StaticShape(MidwaySensor) { + position = "556.144 -411.448 130.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Generator3) { + position = "787.127 -648.7 162.838"; + rotation = "0 0 1 214.286"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Inventory_Alpha) { + position = "786.235 -659.018 137.056"; + rotation = "0 0 1 213.14"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Inventory_Beta) { + position = "793.159 -648.806 136.962"; + rotation = "7.20629e-10 2.9093e-10 1 32.6586"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new Turret(TurtleTurret) { + position = "792.748 -656.036 144.234"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + }; + new StaticShape(EasternFortification) { + position = "797.596 -652.19 162.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Eastern Fortification"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "CommandSwitch"; + }; + new Item(RP) { + position = "794.083 -657.044 146.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "783.628 -655.481 163.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1PhoenixPlant2) { + + new TSStatic() { + position = "204 44 106.006"; + rotation = "0.138981 -0.193169 0.971272 78.6321"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "228 60 98.3187"; + rotation = "0.035547 -0.0761718 0.996461 22.0762"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-116 180 71.8187"; + rotation = "-0.130654 0.00927947 -0.991385 108.471"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "12 -188 129.631"; + rotation = "-0.00253782 -0.00781055 0.999966 144.001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "28 -196 129.475"; + rotation = "0.0388878 -0.0470259 0.998136 206.951"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-52 156 69.0062"; + rotation = "0.062246 0.0136081 0.997968 90.1165"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-76 -180 129.537"; + rotation = "0 0 1 162"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-36 -180 129.537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-100 -132 129.584"; + rotation = "-0.0032046 -0.00947315 -0.99995 60.0024"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-92 -156 129.537"; + rotation = "0 0 -1 63.0001"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + }; + new SimGroup(Addition2PhoenixPlant2) { + + new TSStatic() { + position = "28 604 70.6157"; + rotation = "-0.484867 -0.431141 -0.760934 15.7281"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-116 276 68.8188"; + rotation = "-0.0326546 0.000847525 0.999466 238.974"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-36 228 98.2094"; + rotation = "0.0275813 -0.0339577 0.999043 74.0525"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-156 340 97.9125"; + rotation = "0.0170423 0.0222057 0.999608 225.984"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "172 300 98.0687"; + rotation = "0.00154715 -0.0155108 0.999879 145.004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-76 540 129.959"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-84 524 129.991"; + rotation = "0.00825498 -0.000221404 0.999966 204.999"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-4 612 70.0532"; + rotation = "0.384825 -0.503595 0.773499 9.04225"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "196 436 68.6469"; + rotation = "0.0175645 0.00169155 0.999844 190.998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-76 252 95.8187"; + rotation = "0.082311 -0.0360514 0.995954 218.854"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + }; + new SimGroup(Addition3PhoenixPlant22) { + + new TSStatic() { + position = "156 4 98.1094"; + rotation = "0 0 -1 64.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "36 -116 129.531"; + rotation = "0 0 1 239"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "300 -348 97.125"; + rotation = "0 0 1 191"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "204 4 97.9375"; + rotation = "0 0 -1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "132 -4 67.2343"; + rotation = "0 0 1 141"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "244 -212 98.4843"; + rotation = "0 0 1 184"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "148 -124 67.8125"; + rotation = "0 0 1 198"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "364 -60 68.3594"; + rotation = "0 0 -1 69.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "100 -116 97.125"; + rotation = "0 0 1 227"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "236 -244 68.4531"; + rotation = "0 0 1 194"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + }; + }; + new SimGroup(Addition4PhoenixPlant22) { + + new TSStatic() { + position = "300 -484 97.9375"; + rotation = "0 0 -1 102"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "612 -188 98.5937"; + rotation = "0 0 -1 101"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "588 -236 98.0469"; + rotation = "0 0 -1 58.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "460 -156 98.3437"; + rotation = "0 0 1 39"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "500 -460 97.2031"; + rotation = "0 0 -1 16.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "500 -444 99.2344"; + rotation = "0 0 1 205"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "388 -316 97.9844"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "428 -556 72.4844"; + rotation = "0 0 1 37"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "612 -252 97.8594"; + rotation = "0 0 1 165"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "356 -500 68.9219"; + rotation = "0 0 -1 68.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "porg22.dts"; + }; + }; + new SimGroup(Addition5PhoenixPlant2) { + + new TSStatic() { + position = "324 -196 68.0688"; + rotation = "0.0268162 -0.0773757 -0.996641 118.17"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "428 -404 68.3969"; + rotation = "-0.0703382 -0.0340642 0.996941 150.087"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "468 -508 69.1156"; + rotation = "0.106185 0.238209 -0.965392 23.8013"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "532 -180 98.8187"; + rotation = "0.0190327 -0.0151093 0.999705 152.008"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "588 -532 98.3031"; + rotation = "-0.1528 0.205046 -0.966751 9.30792"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "428 -532 68.4438"; + rotation = "-0.0344495 0.0169882 0.999262 208.979"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "684 -476 98.0844"; + rotation = "0.0244148 -0.0674537 -0.997424 81.1458"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "540 -180 98.6468"; + rotation = "-0.0126604 0.0104385 -0.999865 105.008"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "324 -516 98.1625"; + rotation = "0.0998934 -0.0617606 -0.99308 29.1935"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "668 -180 98.2718"; + rotation = "0.00214308 -0.00552806 -0.999982 115.001"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + }; + new SimGroup(Addition6PhoenixPlant2) { + + new TSStatic() { + position = "852 -828 68.5375"; + rotation = "0.0530827 -0.0082523 -0.998556 100.081"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "748 -580 129.6"; + rotation = "0 0 1 64.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "812 -452 69.4593"; + rotation = "0.0330953 -0.0674867 0.997171 153.073"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "756 -620 129.616"; + rotation = "-0.00977169 0.00346036 0.999946 141.001"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "612 -508 129.912"; + rotation = "0.00205919 -0.0262369 0.999654 163.006"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "828 -580 96.9594"; + rotation = "0.230068 0.124104 0.965229 68.8793"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "868 -644 129.631"; + rotation = "-0.0093644 -0.0085996 -0.999919 58.0039"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "876 -468 68.8656"; + rotation = "-0.0481711 0.0610819 0.99697 83.1723"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "876 -652 129.787"; + rotation = "-0.00488244 0.0260161 0.99965 95.0201"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "836 -804 69.3812"; + rotation = "-0.0502539 0.329154 0.942938 7.4225"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + }; + new SimGroup(Addition7PhoenixPlant22) { + + new TSStatic() { + position = "612 -452 97.6719"; + rotation = "0 0 -1 88"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "740 -436 70.9844"; + rotation = "0 0 1 30"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "668 -564 129.547"; + rotation = "0 0 1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "780 -676 129.516"; + rotation = "0 0 -1 118"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "788 -612 129.703"; + rotation = "0 0 1 210"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "812 -644 129.437"; + rotation = "0 0 1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "868 -668 129.5"; + rotation = "0 0 1 112"; + scale = "1.2 1.2 1.2"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "620 -732 97.5781"; + rotation = "0 0 1 33"; + scale = "0.8 0.8 0.8"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "580 -468 98.4843"; + rotation = "0 0 -1 105"; + scale = "1.3 1.3 1.3"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "708 -748 69.2656"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "porg22.dts"; + }; + }; + }; + new SimGroup(ambient) { + + new AudioEmitter(WindSound) { + position = "34.8209 374.954 100.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(flies1) { + position = "-76.1559 166.457 71.3035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "60"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(flies2) { + position = "170.379 -338.465 61.9534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fly_swarm.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "60"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter1) { + position = "333.702 -161.571 72.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter2) { + position = "640.679 -507.778 104.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1. wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter3) { + position = "5.48026 2.36356 61.6817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter4) { + position = "-119.613 -406.784 72.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter5) { + position = "335.214 -315.084 70.6655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter6) { + position = "-139.133 -126.389 109.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter7) { + position = "904.258 -618.315 111.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + new AudioEmitter(sandPatter8) { + position = "682.178 -796.078 98.592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandpatter1.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +exec("scripts/training2.cs"); diff --git a/public/base/@vl2/missions.vl2/missions/Training3.mis b/public/base/@vl2/missions.vl2/missions/Training3.mis new file mode 100644 index 00000000..380593ca --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Training3.mis @@ -0,0 +1,1835 @@ +// MissionTypes = SinglePlayer +// DisplayName = Ranger + +//--- MISSION BRIEFING BEGIN --- +//Captain Kenzie says good things about you, Lone Wolf. We chose you for this mission based on the glowing reports she submitted after the Sehrganda Prime offensive. +// +//After six and a half years, we're back on Ymir. This was our world once, warrior. Before the Hordes slaughtered us. Can you hear the ghosts in the wind? I can. +// +//Alright, here's what you need to know: one of our former bases in the Icefell Range contains critical data in its computer. The Hordes don't know about it, but they guard that base heavily. We need to liberate that data, and I can't tell you why, but it's vital to the war. +// +//Your assignment is to infiltrate the base and reach the command switch. When you touch it and implant the control virus, the base computer will transmit that data to us in a compressed signal burst. +// +//You'll go in with a stealth configuration: Scout armor and cloaking pack. The objective is deep in enemy territory, so we've provided a Shrike for transportation. Take care of it. If it's destroyed, you're finished. +// +//Once you've triggered the data burst, get out. That's all. Good luck. +//--- MISSION BRIEFING END --- + +// BriefingWAV = T3 6 +// Bitmap = trn_3ymir + +//--- MISSION STRING BEGIN --- +//OBJECTIVES: +//Pilot Shrike to enemy base +//Destroy shield generator +//Implant digital virus +//TRAINING: +//Piloting and aerial evasion +//Cloaking pack and base infiltration +//Neutralizing shields +//--- MISSION STRING END --- + +// PlanetName = Ymir, 3947 CE +//--- MISSION BLURB BEGIN --- +//Ymir. Located near the Imperial border, it is a world of salt-rimed mountains and frozen seas. Before the Hordes, it was a Starwolf world. Your home. Now it is a graveyard, and the ghosts of your past cry out for vengeance. +//--- MISSION BLURB END --- + +// Scriptlet +switch($pref::trainingDifficulty){ + case 2: %range = 250; + case 3: %range = 400; + default: %range = 150; +} +error("Effective Turret Range is:" SPC %range); + +datablock SensorData(TrainingLongDetectTurretBaseSensorObj) : TurretBaseSensorObj +{ + detectRadius = %range; +}; + +datablock TurretData(TrainingLongDetectTurret) : TurretBaseLarge +{ + sensorData = TrainingLongDetectTurretBaseSensorObj; + sensorRadius = TrainingLongDetectTurretBaseSensorObj.detectRadius; +}; + +datablock TurretImageData(LongAttackAABarrelLarge) : AABarrelLarge +{ + attackRadius = %range; +}; + +// End Scriptlet + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-512 56 560 608"; + flightCeiling = "350"; + flightCeilingRange = "50"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "200"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.002000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Training3.ter"; + squareSize = "8"; + emptySquares = "1090906 1091162 1091418 1091674 1091930 1092186 568154 437338 437594 437850"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "72"; + cullDensity = "0.1"; + customArea = "-700 -100 900 900"; + coverage = "0"; + GraphFile = "Training3.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + position = "0 0 0 1"; + }; + new SimGroup(Sounds) { + + new AudioEmitter(SnowStormAudio) { + position = "76.5773 198.129 161.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new FlyingVehicle(Ride) { + position = "-4013.44 2518.69 213.855"; + rotation = "0 0 1 151.475"; + scale = "1 1 1"; + dataBlock = "ScoutFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + nextWeaponFire = "2"; + selfPower = "1"; + mountable = "1"; + }; + new SimGroup(DropPoints) { + + new Camera(PlayerDropPoint) { + position = "-4001.6 2505.01 212.961"; + rotation = "0 0 -1 39.7174"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup(respawns) { + + new Camera(PlayerDropPoint) { + position = "-4001.6 2505.01 212.961"; + rotation = "0 0 -1 39.7174"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-153.052 280.829 209.347"; + rotation = "0 0 -1 59.5876"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(DropPoints) { + + new Camera() { + position = "-235.648 314.818 178.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera() { + position = "-241.133 314.76 178.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera() { + position = "-246.241 314.415 177.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera() { + position = "-237.479 321.437 176.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera() { + position = "-241.85 321.633 176.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + new Camera() { + position = "-249.402 322.509 178.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + SkillLevel = "0"; + }; + }; + new SimGroup(BaseEquipment) { + + new StaticShape(Inventory1) { + position = "-188.988 317.911 198.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new Item(RPA) { + position = "-294.152 365.55 210.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "BaseRepair"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new StaticShape(FF) { + position = "-282.658 303.848 177.273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Icefell Range Base"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + name = "Icefell Range Base"; + }; + new StaticShape(Inventory2) { + position = "-228.227 299.385 198.268"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new Item(RPB) { + position = "-290.02 317.262 199.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "RepairBase"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new StaticShape(BaseGen) { + position = "-267.538 366.522 198.264"; + rotation = "-5.43881e-10 -5.22997e-12 1 179.336"; + scale = "1 1 1"; + nameTag = "Main Base Power"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance(MainBase) { + position = "-278.161 366.323 200.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(PitInventory) { + position = "-187.186 353.598 187.307"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + nameTag = "Pit Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new Turret(BackEnterSentry) { + position = "-180.397 333.804 216.278"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + }; + }; + new SimGroup(SensorNetGroup) { + + new InteriorInstance() { + position = "-43.1349 -544.735 323.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse1) { + position = "-43.1249 -545.017 332.314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-812.259 260.211 239.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-567.833 810.849 231.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "173.403 314.181 289.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "173.33 313.131 298.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Team2SensorMediumPulse3) { + position = "-812.326 260.044 248.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Team2SensorMediumPulse4) { + position = "-567.828 810.294 241.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(sensorNetGen) { + position = "-278.4 308.488 187.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sensor Power"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-3445.25 2111.69 302.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-3445.18 2112.74 293.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-2173.34 2264.2 283.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-2173.27 2265.25 274.632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-2293.33 1319.24 298.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-2293.26 1320.29 289.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-1383.82 829.65 280.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-1383.75 830.7 271.351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-2910.83 718.499 245.302"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-2910.76 719.549 236.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-2936.09 1343.24 330.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-2936.02 1344.29 321.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-1873.16 312.09 302.874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-1873.09 313.14 293.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-1187.35 1527.94 288.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-1187.28 1528.99 278.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(Team2SensorMediumPulse2) { + position = "-2935.86 -1.23096 270.229"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance() { + position = "-2935.78 -0.180976 261.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(TurretDefenses) { + + new StaticShape(AATurretGen) { + position = "-267.711 354.064 198.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "AntiAircraft Turret Power"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3349.1 2517.45 234.155"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3349.63 2517.38 260.233"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new Turret(AADefenseTurret) { + position = "-3622.24 2127.38 205.299"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3621.71 2127.45 179.221"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3576.78 1631.16 256.434"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3576.25 1631.23 230.356"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3668.77 1165.57 247.692"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3669.3 1165.5 273.77"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3234.15 1532.58 234.171"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3234.68 1532.51 260.25"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3103.71 1943.79 252.701"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3104.24 1943.72 278.779"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2610.91 2246.41 219.861"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2611.44 2246.34 245.939"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2159.75 1983.3 282.145"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2160.28 1983.23 308.223"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1698.7 2080.86 242.957"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1699.23 2080.79 269.035"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2030.84 2504.33 245.144"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2031.37 2504.26 271.222"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new Turret(AADefenseTurret) { + position = "-2089.87 1504.58 305.657"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2089.34 1504.65 279.579"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2341.63 1087.95 245.045"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2341.1 1088.02 218.967"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2775.83 972.91 274.215"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2775.3 972.98 248.137"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3365.76 943.355 238.893"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3365.23 943.425 212.815"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3119.93 785.248 201.854"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3119.4 785.318 175.776"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3966.9 671.47 221.159"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3966.37 671.54 195.081"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-3924.86 310.697 272.862"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-3924.33 310.767 246.784"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1907.2 1247.26 260.009"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1906.67 1247.33 233.931"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2637.77 1382.97 205.406"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2637.24 1383.04 179.328"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2384.89 579.487 301.086"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2384.36 579.557 275.008"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2791.09 666.781 303.685"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2790.56 666.851 277.607"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2151.5 -63.1723 308.913"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2150.97 -63.1022 282.835"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1528.48 1631.8 256.752"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1527.95 1631.87 230.674"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1621.15 1154.18 273.708"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1620.62 1154.25 247.63"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1320.34 943.652 238.95"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1319.81 943.722 212.872"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1492.76 495.482 214.537"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1492.23 495.552 188.459"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1914.56 668.429 219.126"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1914.03 668.499 195.048"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2027.06 457.261 272.483"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2026.53 457.331 246.405"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-2603.75 198.023 246.868"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-2603.22 198.093 220.79"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1712.6 -125.767 302.531"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1712.07 -125.697 276.453"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1061.06 -104.149 277.923"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1060.53 -104.079 251.845"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-743.747 664.876 304.165"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-743.217 664.947 278.087"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-360.155 910.456 247.369"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-359.625 910.526 221.291"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-1399.21 1397.3 255.843"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-1398.68 1397.37 229.765"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "40.2422 463.441 254.447"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "40.7723 463.511 228.369"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-126.279 -83.08 297.376"; + rotation = "0 0 1 221.735"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-126.58 -83.5219 271.298"; + rotation = "0 0 1 221.735"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-621.788 103.78 215.865"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-621.258 103.85 189.787"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-42.0873 1502.99 305.468"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-41.5573 1503.06 279.39"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-416.258 1704.29 271.704"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-415.728 1704.36 245.626"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new Turret(AADefenseTurret) { + position = "-895.84 1340.35 303.369"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrainingLongDetectTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "LongAttackAABarrelLarge"; + }; + new InteriorInstance(SpikedTurretPlatform) { + position = "-895.31 1340.42 277.291"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Prison) { + + new ForceFieldBare(Shield) { + position = "-281.349 319.209 175.191"; + rotation = "1 0 0 0"; + scale = "9.18317 0.2 10.9174"; + nameTag = "Prison"; + dataBlock = "defaultTeamSlowFieldBare"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + new StaticShape(PrisonGen) { + position = "-250.545 370.018 177.201"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Forcefield Power"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "-188.988 317.911 199.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Station Inventory1"; + targetObject = "Inventory1"; + targetClientId = "-1"; + targetObjectId = "4401"; + location = "-188.988 317.911 199.871"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-277.293 314.923 176.507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the flipflop"; + targetObject = "FF"; + targetClientId = "-1"; + targetObjectId = "4404"; + location = "-277.293 314.923 176.507"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOTouchObject) { + position = "-282.658 303.848 178.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Capture the FF"; + mode = "TouchFlipFlop"; + targetObject = "FF"; + targetClientId = "-1"; + targetObjectId = "4404"; + location = "-282.658 303.848 178.907"; + weightLevel1 = "4200"; + weightLevel2 = "4200"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "LIGHT"; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-278.135 306.949 188.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the sensorNetGen"; + targetObject = "sensorNetGen"; + targetClientId = "-1"; + targetObjectId = "4422"; + location = "-278.135 306.949 188.641"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-267.825 368.458 199.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the BaseGen"; + targetObject = "BaseGen"; + targetClientId = "-1"; + targetObjectId = "4408"; + location = "-267.825 368.458 199.716"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-289.579 358.93 199.916"; + rotation = "0 0 1 139.411"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the upstairs generatorS"; + targetObject = "BaseGen"; + targetClientId = "-1"; + targetObjectId = "4408"; + location = "-289.579 358.93 199.916"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-255.042 385.99 176.653"; + rotation = "0 0 1 203.973"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the PrisonGen"; + targetObject = "PrisonGen"; + targetClientId = "-1"; + targetObjectId = "4527"; + location = "-255.042 385.99 176.653"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-248.607 370.487 178.853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the PrisonGen"; + targetObject = "PrisonGen"; + targetClientId = "-1"; + targetObjectId = "4527"; + location = "-248.607 370.487 178.853"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-267.446 352.125 199.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the AATurretGen"; + targetObject = "AATurretGen"; + targetClientId = "-1"; + targetObjectId = "4442"; + location = "-267.446 352.125 199.799"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-278.803 317.805 188.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the sensorNetGen"; + targetObject = "sensorNetGen"; + targetClientId = "-1"; + targetObjectId = "4422"; + location = "-278.803 317.805 188.641"; + weightLevel1 = "3200"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "LightShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-254.386 333.301 210.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend Chute"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-254.386 333.301 210.776"; + weightLevel1 = "3150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "0"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new SimGroup(Deployment) { + + new AIObjective(AIODeployEquipment) { + position = "-289.513 345.671 277.281"; + rotation = "0 0 1 221.344"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-289.513 345.671 277.281"; + weightLevel1 = "4100"; + weightLevel2 = "3770"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4540"; + }; + new AIObjective(AIODeployEquipment) { + position = "-278.753 362.48 255.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-278.753 362.48 255.923"; + weightLevel1 = "4100"; + weightLevel2 = "3770"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4540"; + }; + new AIObjective(AIODeployEquipment) { + position = "-267.558 378.071 176.158"; + rotation = "0 0 1 165.194"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-267.558 378.071 176.158"; + weightLevel1 = "4100"; + weightLevel2 = "3770"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4540"; + }; + new AIObjective(AIODeployEquipment) { + position = "-196.592 314.099 199.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-196.592 314.099 199.082"; + weightLevel1 = "4100"; + weightLevel2 = "3770"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4540"; + }; + new AIObjective(AIODeployEquipment) { + position = "-277.563 336.008 210.079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-277.563 336.008 210.079"; + weightLevel1 = "4100"; + weightLevel2 = "3770"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4540"; + }; + }; + new SimGroup(MedDeploy) { + + new AIObjective(AIODeployEquipment) { + position = "-196.342 304.56 200.388"; + rotation = "0.00104231 8.21109e-07 0.999999 179.348"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy door motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-196.342 304.56 200.388"; + weightLevel1 = "2800"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4546"; + }; + new AIObjective(AIODeployEquipment) { + position = "-226.633 319.949 233.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-226.633 319.949 233.33"; + weightLevel1 = "2800"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4546"; + }; + new AIObjective(AIODeployEquipment) { + position = "-307.638 352.106 200.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy outdoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-307.638 352.106 200.479"; + weightLevel1 = "2800"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4546"; + }; + new AIObjective(AIODeployEquipment) { + position = "-281.838 380.106 177.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy basement motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-281.838 380.106 177.385"; + weightLevel1 = "2800"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4546"; + }; + new AIObjective(AIODeployEquipment) { + position = "-286.104 358.239 199.251"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-286.104 358.239 199.251"; + weightLevel1 = "2800"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4546"; + }; + new AIObjective(AIODeployEquipment) { + position = "-274.223 301.05 177.916"; + rotation = "0 0 1 129.488"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-274.223 301.05 177.916"; + weightLevel1 = "2800"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + group = "4546"; + }; + }; + }; + new SimGroup(TeamDrops) { + + new SpawnSphere() { + position = "-237.548 329.033 226.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +exec("scripts/training3.cs"); diff --git a/public/base/@vl2/missions.vl2/missions/Training4.mis b/public/base/@vl2/missions.vl2/missions/Training4.mis new file mode 100644 index 00000000..b06d235e --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Training4.mis @@ -0,0 +1,1109 @@ +// MissionTypes = SinglePlayer +// DisplayName = Sergeant + +//--- MISSION BRIEFING BEGIN --- +//Welcome, Sergeant. We have another tricky assignment for you. Captain Kenzie requested you lead the field operation, and I'm sure you're the right man for the mission. +// +//Ever since we landed on Bloodjewel, the Hordes have stayed one step ahead of us. They've used the old Blood Eagle bases and bunkers to resupply and keep their reavers combat-ready, even though they've been on the move constantly. +// +//There's a large Derm force moving through the Nagakhun Mountains. We think they're headed for a high-altitude base to pick up inventory for an assault on Menabar Holdfast and the starport located there. +// +//Your job is to take a team in and hold the base until we can divert a larger force to reinforce you. We're stretched thin right now locking down the southern hemisphere, so I'm afraid you won't have much to work with. +// +//We're sending you in with Juggernaut armor, but you can switch loadouts once you hit the base. The base may be damaged, so be ready to make repairs. +// +//Watch the high altitude if you pop your suit. Air's pretty thin up there. Dismissed. +//--- MISSION BRIEFING END --- + +// BriefingWAV = T4 6 +// Bitmap = trn_4bloodjewel + +//--- MISSION STRING BEGIN --- +//OBJECTIVES: +//Prepare base defense +//Repel enemy assault +//Coordinate/command base defense +//TRAINING: +//Command Circuit +//Base defense +//Turret and equipment deployment +//--- MISSION STRING END --- + +// PlanetName = Bloodjewel, 3949 CE +//--- MISSION BLURB BEGIN --- +//The Pact has won Bloodjewel after a bloody battle. Now BioDerm survivors seek to escape and reinforce the Kepler system, where Pact and Horde forces are mired in combat. Your job: Cut off the escape route. Contain the Derms. Then finish them. +//--- MISSION BLURB END --- + +//scriptlet +echo(%initialBarrel = ($pref::trainingDifficulty < 2 ? "PlasmaBarrelLarge" : "AABarrelLarge")); + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "0 0 672 576"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "900"; + useSkyTextures = "1"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "900"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "400 40 65"; + fogVolume2 = "900 65 250"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Training4.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Training4.nav"; + coverage = "0"; + position = "0 0 0 1"; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(DropPoints) { + + new Camera() { + position = "577.776 432.542 85.5609"; + rotation = "0 0 -1 89.5644"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "590.478 432.08 87.6649"; + rotation = "0 0 -1 90.7104"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "585.466 425.069 84.7949"; + rotation = "0 0 -1 97.0129"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "575.066 425.069 84.7949"; + rotation = "0 0 -1 97.0129"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "580.266 416.881 85.6649"; + rotation = "0 0 -1 90.7104"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "567.376 432.542 85.5609"; + rotation = "0 0 -1 89.5644"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "585.466 400.069 84.7949"; + rotation = "0 0 -1 97.0129"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "569.508 420.621 85.6649"; + rotation = "0 0 -1 90.7104"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "577.776 407.542 85.5609"; + rotation = "0 0 -1 89.5644"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new InteriorInstance(SensorTower1) { + position = "47.7826 143.791 144.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance(SensorTower2) { + position = "485.669 447.5 116.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(StrongHold) { + + new Item() { + position = "368.782 293.976 63.3423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new SimGroup(ForceFieldPower) { + + new ForceFieldBare(GenForceField) { + position = "367.066 291.499 72.1728"; + rotation = "0 0 -1 8.59448"; + scale = "0.2 4.05507 5.8207"; + dataBlock = "defaultTeamSlowFieldBare"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + new StaticShape(Team1generatorLarge1) { + position = "383.872 295.13 93.18"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + nameTag = "Forcefield"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(BasePower) { + + new InteriorInstance(base) { + position = "377.319 294.829 67.1425"; + rotation = "0 0 -1 97.4028"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_Pulse_1"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(Team1SensorLargePulse1) { + position = "47.9218 143.781 145.73"; + rotation = "0 0 -1 117.066"; + scale = "1 1 1"; + nameTag = "Tycho"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team1SensorLargePulse2) { + position = "485.692 447.481 117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Gabriel"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(Team1TurretBaseLarge1) { + position = "348.044 291.16 93.2164"; + rotation = "0 0 -1 98.7312"; + scale = "1 1 1"; + nameTag = "Deck Defense"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = %initialBarrel; + }; + new StaticShape(Team1StationInventory1) { + position = "387.215 309.333 55.3125"; + rotation = "0 0 1 173.033"; + scale = "1 1 1"; + nameTag = "Alpha"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(BaseGen) { + position = "354.834 292.01 72.3366"; + rotation = "1.76637e-09 -7.32103e-11 1 83.6518"; + scale = "1 1 1"; + nameTag = "Primary"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Team1StationInventory2) { + position = "390.662 283.578 55.1062"; + rotation = "0 0 -1 6.48525"; + scale = "1 1 1"; + nameTag = "Bravo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + }; + }; + new SimGroup(spawnSpheres) { + + new SpawnSphere() { + position = "388.842 296.322 53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIORepairObject) { + position = "381.979 294.634 94.6233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the FFGen"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3274"; + location = "381.979 294.634 94.6233"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "390.662 283.578 56.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3283"; + location = "390.662 283.578 56.672"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "360.961 292.121 73.7799"; + rotation = "0 0 1 76.7763"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the MainGen"; + targetObject = "BaseGen"; + targetClientId = "-1"; + targetObjectId = "3282"; + location = "352.936 291.533 73.7799"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "347.373 290.83 94.9203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3279"; + location = "347.373 290.83 94.9203"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "387.215 309.333 56.8783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3280"; + location = "387.215 309.333 56.8783"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "352.936 291.533 73.7799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the Main Gen"; + targetObject = "BaseGen"; + targetClientId = "-1"; + targetObjectId = "3282"; + location = "352.936 291.533 73.7799"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new SimGroup(FFGenGuard) { + new AIObjective(AIODeployEquipment) { + position = "372.883 309.582 93.6366"; + rotation = "0 0 -1 42.57"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Upstairs Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "372.883 309.582 93.6366"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "HeavyInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "375.786 293.82 94.6233"; + rotation = "0 0 -1 98.7312"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the FFGen"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3274"; + location = "375.786 293.82 94.6233"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(DropPoints) { + + new Camera() { + position = "17.1155 -199.002 119.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "149.348 -178.421 120.616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "372.082 -116.878 140.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "716.005 -161.642 158.447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "1032.85 264.772 139.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "1054.52 1029.11 65.1272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "1038.72 1040.84 59.3357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "1099.44 1107.25 59.7691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "463.932 1294.07 61.8738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "42.1104 997.543 63.8177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-287.513 761.042 74.5641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-505.899 517.419 57.2017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-505.018 531.174 55.2137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-466.152 -1.8818 68.1284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-42.6528 -505.846 62.2715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(AIObjectives) { + + new SimGroup(GenAttack) { + new AIObjective(AIOAttackObject) { + position = "381.979 294.634 94.6233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the FFGen"; + targetObject = "Team1generatorLarge1"; + targetClientId = "-1"; + targetObjectId = "3274"; + location = "381.979 294.634 94.6233"; + weightLevel1 = "3400"; + weightLevel2 = "2000"; + weightLevel3 = "1500"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "352.936 291.533 73.7799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the MainGen"; + targetObject = "BaseGen"; + targetClientId = "-1"; + targetObjectId = "3282"; + location = "352.936 291.533 73.7799"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + }; + new AIObjective(AIOMortarObject) { + position = "47.9056 143.773 150.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team1SensorLargePulse1"; + targetClientId = "-1"; + targetObjectId = "3277"; + location = "47.9056 143.773 150.005"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "485.692 447.499 121.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the SensorLargePulse"; + targetObject = "Team1SensorLargePulse2"; + targetClientId = "-1"; + targetObjectId = "3278"; + location = "485.692 447.499 121.275"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOMortarObject) { + position = "347.373 290.83 94.9203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Mortar the TurretBaseLarge"; + targetObject = "Team1TurretBaseLarge1"; + targetClientId = "-1"; + targetObjectId = "3279"; + location = "347.373 290.83 94.9203"; + weightLevel1 = "3400"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "387.215 309.333 56.8783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory1"; + targetClientId = "-1"; + targetObjectId = "3280"; + location = "387.215 309.333 56.8783"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIOAttackObject) { + position = "390.662 283.578 56.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Attack the StationInventory"; + targetObject = "Team1StationInventory2"; + targetClientId = "-1"; + targetObjectId = "3283"; + location = "390.662 283.578 56.672"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "357.692 291.869 56.0051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Offensive Entry D"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "357.692 291.869 57.0051"; + weightLevel1 = "1000"; + weightLevel2 = "800"; + weightLevel3 = "400"; + weightLevel4 = "100"; + offense = "0"; + defense = "0"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + }; + }; + }; + new SimGroup(Sounds) { + + new AudioEmitter(Wind) { + position = "34.2619 29.2381 137.226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition7belgtree16) { + + new TSStatic() { + position = "484 532 47"; + rotation = "0 0 -1 62.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "508 604 77.0938"; + rotation = "0 0 1 26"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "500 612 79.4532"; + rotation = "0 0 -1 29.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "556 500 47"; + rotation = "0 0 1 140"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "500 516 47"; + rotation = "0 0 -1 115"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + }; + new SimGroup(Addition6BELgTree19) { + + new TSStatic() { + position = "316 52 59.8594"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "200.009 250.632 47"; + rotation = "0 0 1 16"; + scale = "0.9 0.9 0.9"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "252 132 47"; + rotation = "0 0 1 46"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "228 28 47.4687"; + rotation = "0 0 1 220"; + scale = "1.1 1.1 1.1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "212 52 56.8437"; + rotation = "0 0 1 190"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + }; + }; + new SimGroup(Addition3BELgTree18) { + + new TSStatic() { + position = "540 308 69.875"; + rotation = "0 0 1 55"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "596.064 419.958 82.9219"; + rotation = "0 0 -1 11.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "308 76 56.125"; + rotation = "0 0 1 114"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "556 180 72.8594"; + rotation = "0 0 1 3.99996"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "628 412 88.7188"; + rotation = "0 0 1 189"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "156 532 87.0938"; + rotation = "0 0 1 70"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "444 188 81.4688"; + rotation = "0 0 1 153"; + scale = "0.9 0.9 0.9"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "284 324 54.5625"; + rotation = "0 0 1 67.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "508 372 73.0781"; + rotation = "0 0 1 204"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "588 180 70.3906"; + rotation = "0 0 1 235"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "364 356 53.5156"; + rotation = "0 0 1 3.99996"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "164 588 100.875"; + rotation = "0 0 1 229"; + scale = "1.5 1.5 1.5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "588 348 71.6406"; + rotation = "0 0 1 134"; + scale = "0.8 0.8 0.8"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "196 188 47"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "220 220 47"; + rotation = "0 0 1 111"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "357.282 217.362 57.8862"; + rotation = "0 0 1 44"; + scale = "1.60141 1.57006 1.93285"; + shapeName = "borg18.dts"; + }; + }; + new SimGroup(Addition5BELgTree19) { + + new TSStatic() { + position = "12 244 48.2032"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "4 316 47.7813"; + rotation = "0 0 1 164"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "76 268 47"; + rotation = "0 0 1 132"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "36 308 47"; + rotation = "0 0 1 67.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "28 308 47"; + rotation = "0 0 1 28"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + }; + }; + new SimGroup(RandomRocks) { + + new SimGroup(Addition4brock7) { + + new InteriorInstance() { + position = "165.815 249.477 50.3257"; + rotation = "0 0 1 106.62"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "180.264 163.324 50"; + rotation = "0 0 1 4.74728"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +exec("scripts/training4.cs"); diff --git a/public/base/@vl2/missions.vl2/missions/Training5.mis b/public/base/@vl2/missions.vl2/missions/Training5.mis new file mode 100644 index 00000000..431de988 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Training5.mis @@ -0,0 +1,3856 @@ +// MissionTypes = SinglePlayer +// DisplayName = Lieutenant + +//--- MISSION BRIEFING BEGIN --- +//Lieutenant. Thank you for volunteering on such short notice. Captain Kenzie will be working with you again. I'll tell you straight out: this may be a suicide mission. +// +//The Hordes took Shi-Draconis Alpha from the Diamond Sword two years ago. One particular base turned out to be a strategic network center with highly advanced strategic communications and computer assets. It now coordinates Horde operations on this continent. +// +//This base must be destroyed and soon, but it's well-protected. The Sworders immunized the base itself from any control virus, but the Kenshin have informed me that there is a way to destroy it. +// +//One of the towers on the base periphery contains a forcefield switch that's not immune to viral control conversion. Punch a hole in their sensor net, and seize the tower. After you hit the switch, you will be able to enter the main base. +// +//We'll equip you with a pack-mounted satchel charge. If you deploy it at the right location in the heart of the base, the explosion will cause a chain reaction and rupture the antimatter reactors the Sworders used for this base. +// +//Captain Kenzie will guide you in via the CC. May the Great Wolf be with you. Dismissed. +//--- MISSION BRIEFING END --- + +// BriefingWAV = T5 6 +// Bitmap = trn_5draconis + +//--- MISSION STRING BEGIN --- +//OBJECTIVES: +//Evade/Destroy defensive perimeter +//Penetrate enemy base +//Destroy key enemy generator +//TRAINING: +//Hostile Environment +//Satchel charge +//Base Assault +//--- MISSION STRING END --- + +// PlanetName = Shi-Draconis Alpha, 3950 CE +//--- MISSION BLURB BEGIN --- +//A harsh, barely habitable world, Shi-Draconis Alpha holds the key to Pact victory. Its capture would utterly divide the Hordes, but the planet is heavily fortified and well defended. The light at the end of the tunnel may be the onrushing blaze of plasma. +//--- MISSION BLURB END --- + +//scriptlet +echo("InitialBarrel =" SPC %initialBarrel = (%skill < 3 ? "MissileBarrelLarge" : "PlasmaBarrelLarge")); + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-760 -688 1664 1472"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "1 1 1 1"; + ambient = "0.7 0.7 0.7 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Training5.ter"; + squareSize = "8"; + emptySquares = "217661 217676 86852 152390 87108 152646 218429 218444"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "67"; + cullDensity = "0.3"; + customArea = "-776 -560 480 496"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "Training5.nav"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "692 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + SkySolidColor = "0.300000 0.100000 0.000000 0.800000"; + fogDistance = "250"; + fogColor = "0.300000 0.100000 0.000000 0.800000"; + fogVolume1 = "100 0 85"; + fogVolume2 = "600 85 270"; + fogVolume3 = "0 0 0"; + materialList = "sky_lava_starrynight.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + }; + new WaterBlock(Lava) { + position = "-224 -264 93.1568"; + rotation = "1 0 0 0"; + scale = "768 608 27.0092"; + liquidType = "Lava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "lava/skies/lava_starrynite_emap"; + envMapIntensity = "0.2"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + locked = "true"; + }; + new SimGroup(Environment) { + + new ParticleEmissionDummy(LavaSmoke) { + position = "-462.4 -366.791 5.12867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "BeforeT5"; + //emitter = "AfterT5"; + velocity = "1"; + }; + new AudioEmitter(SmokeSound) { + position = "-462.61 -365.42 4.67642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahiss.wav"; + useProfileDescription = "0"; + outsideAmbient = "0"; + volume = "0.8"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "120"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Outside1) { + position = "266.262 824.24 137.226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavamellow1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(Outside2) { + position = "266.262 824.24 137.226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "4000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + }; + new StaticShape(Genhonor) { + position = "-431.785 -366.853 38.3577"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(Genstrength) { + position = "-463.154 -398.109 38.4185"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(GenUnity) { + position = "-494.404 -366.856 38.1826"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(DoorHonor) { + position = "-378.978 -350.28 115"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(DoorUnity) { + position = "-547.33 -352.238 115"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(DoorStrength) { + position = "-462.751 -380.033 115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(WallHonor) { + position = "-372.568 -366.947 20.2877"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(WallUnity) { + position = "-552.788 -366.854 20.8502"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(WallStrength) { + position = "-463.23 -399.018 35.4212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(DropPoints) { + + new Camera(DP) { + position = "770.993 537.509 207.952"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new SimGroup(respawns) { + + new Camera(DP) { + position = "770.993 537.509 207.952"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(InsideTower) { + position = "100.907 -4.53543 165.659"; + rotation = "0 0 1 114.592"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(OutsideBase) { + position = "-475.223 -534.282 132.657"; + rotation = "0 0 -1 3.62027"; + scale = "1 1 0.867851"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(GenRoom) { + position = "-501.5 -366.1 46.1"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + }; + new SimGroup(base) { + + new StaticShape(station2) { + position = "785.587 532.538 206.108"; + rotation = "0.00499991 0.00471232 0.999976 93.3935"; + scale = "1 1 1"; + nameTag = "Tower Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(Station1) { + position = "786.326 543.704 206.114"; + rotation = "0 0 1 93.3922"; + scale = "1 1 1"; + nameTag = "Tower Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new StaticShape(TowerPower) { + position = "789.671 538.05 169.13"; + rotation = "0 0 1 92.6372"; + scale = "1 1 1"; + nameTag = "South Tower"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "false"; + }; + new InteriorInstance(DSTower) { + position = "782.299 538.347 205.138"; + rotation = "-0 0 -1 86.6992"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_1"; + locked = "false"; + AudioEnvironment = SmallRoom; + }; + }; + }; + new SimGroup(Team2) { + + new SimGroup(BasePower) { + + new SimGroup(Base) { + + new InteriorInstance(DBase2) { + position = "-463.118 -366.83 17.0706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase2.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_3"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new StaticShape(ObjectiveGen1) { + position = "-460.757 -348.913 6.0481"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Secondary Reactor"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new StaticShape(InventoryStation5) { + position = "-387.192 -440.08 14.1387"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(InventoryStation1) { + position = "-387.019 -421.21 14.1507"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(InventoryStation2) { + position = "-402.649 -440.174 14.1592"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(InventoryStation3) { + position = "-402.755 -421.308 14.112"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(BaseGen2) { + position = "-380.672 -366.624 29.0406"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base Backup"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape(FloatingBaseSensor) { + position = "-504.6 -203.122 156.504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Perimeter"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + }; + new InteriorInstance(BaseSensorPlat) { + position = "-504.631 -203.509 154.979"; + rotation = "1 0 0 0"; + scale = "0.662015 0.662282 0.732005"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(DropPoints) { + + new Camera() { + position = "-390.643 -425.938 15.3678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-389.287 -417.396 15.1161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-399.645 -416.71 15.2977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-399.232 -425.664 15.3133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-398.902 -436.664 15.4581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-461.288 -354.792 9.6386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-399.739 -443.424 15.6241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-389.042 -443.689 15.4032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-391.394 -455.189 15.8333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-390.343 -437.128 15.1037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-400.524 -455.134 16.3358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-452.943 -366.557 9.8478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-469.313 -371.778 9.4379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-460.183 -371.833 8.9354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-468.528 -360.068 8.7262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-462.093 -370.777 8.5503"; + rotation = "1 0 0 0"; + scale = "1 0.762032 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new Item(InvRoomRepairPack) { + position = "-403.617 -449.228 16.0153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item(SatchelChargePack) { + position = "-463.131 -366.848 41.3416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new SimGroup(Perifery) { + + new InteriorInstance() { + position = "-672.476 -378.377 93.2107"; + rotation = "0 0 -1 91.8558"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(PeriferyGen) { + position = "-547.707 -367.013 29.0564"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Perifery Equipment"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new Turret(Turret3) { + position = "-482.32 -249.952 111.06"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "-481.857 -249.119 101.34"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new Turret(Turret3) { + position = "-257.301 -388.932 93.0956"; + rotation = "0 0 1 127.587"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + }; + new InteriorInstance() { + position = "-256.927 -389.808 83.3756"; + rotation = "-0 0 -1 52.3217"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new Turret(Turret3) { + position = "-673.322 -377.939 102.931"; + rotation = "0 0 1 88.0532"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + }; + }; + new SimGroup(Tower) { + providesPower = "1"; + + new InteriorInstance(Tower) { + position = "107.397 -14.4281 164.61"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item(TowerRepairPack) { + position = "107.617 -9.57776 165.464"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(TowerSwitch) { + position = "107.407 -14.1891 188.049"; + rotation = "0 0 1 45.2638"; + scale = "1 1 1"; + nameTag = "Base subsidiary control tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Base subsidiary control tower"; + }; + new StaticShape(TowerInventory1) { + position = "102.324 -11.5951 176.64"; + rotation = "-0 0 -1 47.7382"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(TowerInventory2) { + position = "112.463 -11.569 176.623"; + rotation = "0 0 1 45.2638"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(DownStairsSentry) { + position = "107.632 -15.4517 172.654"; + rotation = "0 0 1 86.5165"; + scale = "1 1 1"; + nameTag = "Tower Enterance"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "4633"; + locked = "true"; + }; + new Turret(UpstairsTurret) { + position = "107.434 -11.6831 198.601"; + rotation = "0 0 1 80.7869"; + scale = "1 1 1"; + nameTag = "Switch Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + lastProjectile = "4642"; + locked = "true"; + }; + new StaticShape(TowerSensor) { + position = "107.265 -10.7643 218.535"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Lava Rig"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Turret(SWTowerTurret) { + position = "51.473 -62.791 162.565"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "SW Rig"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = %initialBarrel; + }; + new Turret(SETowerTurret) { + position = "163.318 -62.732 162.585"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "SE Rig"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + }; + new Turret(NETowerTurret) { + position = "163.387 46.947 162.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Rig"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = %initialBarrel; + }; + new Turret(NWTowerTurret) { + position = "51.4 47.253 162.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NW Rig"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + }; + }; + new SimGroup(BaseForceFields) { + + new StaticShape(ObjectiveGen2) { + position = "-465.911 -348.919 6.0157"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Primary Reactor"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare(CenterEnteranceFF) { + position = "-471.214 -379.6 99.8223"; + rotation = "1 0 0 0"; + scale = "16.6319 0.452235 9.31077"; + dataBlock = "defaultTeamSlowFieldBare"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + new ForceFieldBare(WestEnteranceFF) { + position = "-546.997 -359.996 99.1512"; + rotation = "1 0 0 0"; + scale = "0.912282 16.3236 11.119"; + dataBlock = "defaultTeamSlowFieldBare"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + new ForceFieldBare(EastEnteranceFF) { + position = "-379.979 -359.074 100.923"; + rotation = "1 0 0 0"; + scale = "0.782673 16.3247 10.9793"; + dataBlock = "defaultTeamSlowFieldBare"; + color = "0.500000 0.500000 1.000000 1.000000"; + }; + }; + new SimGroup(AIObjectives) { + + new AIObjective(AIODeployEquipment) { + position = "-479.062 -367.337 21.3635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-479.062 -367.337 21.3635"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-367.611 -366.89 16.8839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "ObjectiveGen1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "-367.611 -366.89 16.8839"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-382.611 -366.89 30.4839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "TowerGen"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-382.611 -366.89 30.4839"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-461.025 -346.974 7.49139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "ObjectiveGen1"; + targetClientId = "-1"; + targetObjectId = "3402"; + location = "-461.025 -346.974 7.49139"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-463.225 -357.774 7.49139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-463.225 -357.774 7.49139"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-462.372 -382.448 21.1798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy pulse sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-462.372 -382.448 21.1798"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "PulseSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-387.019 -421.21 15.7165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "InventoryStation1"; + targetClientId = "-1"; + targetObjectId = "3405"; + location = "-387.019 -421.21 15.7165"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-402.649 -440.174 15.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the StationInventory"; + targetObject = "InventoryStation2"; + targetClientId = "-1"; + targetObjectId = "3407"; + location = "-402.649 -440.174 15.725"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-490.107 -372.685 25.3669"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-490.107 -372.685 25.3669"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-462.954 -385.163 6.10047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-462.954 -385.163 6.10047"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIORepairObject) { + position = "-549.646 -367.279 30.4997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Repair the GeneratorLarge"; + targetObject = "PeriferyGen"; + targetClientId = "-1"; + targetObjectId = "3435"; + location = "-549.646 -367.279 30.4997"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-558.046 -367.279 16.0997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the GeneratorLarge"; + targetObject = "PeriferyGen"; + targetClientId = "-1"; + targetObjectId = "3435"; + location = "-558.046 -367.279 16.0997"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-396.058 -351.012 66.1431"; + rotation = "0.109109 0.110293 -0.987892 90.0794"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-396.058 -351.012 66.1431"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-359.233 -344.498 32.309"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-359.233 -344.498 32.309"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-458.041 -345.615 17.4045"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-458.041 -345.615 17.4045"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-469.273 -321.868 17.5096"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-469.273 -321.868 17.5096"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-390.207 -454.757 14.2401"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-390.207 -454.757 14.2401"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-565.962 -344.63 32.8972"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-565.962 -344.63 32.8972"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-531.068 -352.243 66.2605"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-531.068 -352.243 66.2605"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-518.12 -351.861 71.379"; + rotation = "0 0 1 92.8192"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-518.12 -351.861 71.379"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-462.959 -326.072 29.2657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-462.959 -326.072 29.2657"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-469.537 -365.779 65.2127"; + rotation = "0 0 -1 48.8839"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-469.537 -365.779 65.2127"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-463.43 -350.819 67.7238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-463.43 -350.819 67.7238"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-477.939 -356.131 68.3545"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-477.939 -356.131 68.3545"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-572.803 -393.295 14.4543"; + rotation = "0 0 1 222.881"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy Inventory Station"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-572.803 -393.295 14.4543"; + weightLevel1 = "4150"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-361.325 -424.302 15.967"; + rotation = "-0.00499968 0.0109016 -0.999928 49.2775"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-361.325 -424.302 15.967"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-358.956 -366.803 33.8362"; + rotation = "0 0 -1 90.7098"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-358.956 -366.803 33.8362"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-497.28 -366.325 29.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy indoor Turret"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-497.28 -366.325 29.5"; + weightLevel1 = "4100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODeployEquipment) { + position = "-566.104 -367.131 32.6526"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Deploy motion sensor"; + targetObject = "-1"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-566.104 -367.131 32.6526"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "MotionSensorDeployable"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-462.433 -369.193 101.949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the Strength Foyer"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-462.433 -369.193 101.949"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "100"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-393.367 -350.053 102.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the Honor foyer"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-393.367 -350.053 102.502"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "100"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + new AIObjective(AIODefendLocation) { + position = "-536.365 -349.456 101.97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AIObjectiveMarker"; + lockCount = "0"; + homingCount = "0"; + description = "Defend the unity foyer"; + targetClientId = "-1"; + targetObjectId = "-1"; + location = "-536.365 -349.456 101.97"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "100"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + isInvalid = "0"; + }; + }; + new SimGroup(LavaBridges) { + + new InteriorInstance() { + position = "107.398 -7.70099 161.612"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + interiorFile = "dbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.383 -31.701 161.612"; + rotation = "0 0 -1 90"; + scale = "2 2 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.377 15.9 161.612"; + rotation = "0 0 1 90"; + scale = "2 2 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "83.403 -7.67801 161.612"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "131.364 -7.702 161.612"; + rotation = "0 0 1 180"; + scale = "2 2 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "51.42 -7.67899 164.359"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + interiorFile = "dbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.38 47.897 164.359"; + rotation = "0 0 1 90"; + scale = "2 2 1"; + interiorFile = "dbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.382 -63.694 164.359"; + rotation = "0 0 1 90"; + scale = "2 2 1"; + interiorFile = "dbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "163.362 -7.698 164.359"; + rotation = "0 0 1 180"; + scale = "2 2 1"; + interiorFile = "dbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.382 -63.694 164.359"; + rotation = "0 0 1 90"; + scale = "2 2 1"; + interiorFile = "dbrdg9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "163.364 -47.697 161.608"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.366 -63.6898 164.359"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg9a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.379 47.8998 164.359"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg9a.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "147.372 -63.701 161.608"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.376 31.901 161.608"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "147.387 47.897 161.608"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.4084 48.1443 164.359"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg9a.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "51.398 32.214 161.608"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "67.365 48.143 161.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "51.364 -47.734 161.608"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.3834 -63.6902 164.359"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbrdg9a.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "67.378 -63.705 161.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new SimGroup(FFBridges) { + + new SimGroup(CatwalkFFs) { + + new ForceFieldBare() { + position = "71.293 44.475 161.61"; + rotation = "1 0 0 0"; + scale = "24.126 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new ForceFieldBare() { + position = "119.376 44.161 161.61"; + rotation = "1 0 0 0"; + scale = "24.0507 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new ForceFieldBare() { + position = "119.389 -67.489 161.61"; + rotation = "1 0 0 0"; + scale = "24.0182 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new ForceFieldBare() { + position = "159.57 27.902 161.61"; + rotation = "0 0 1 90"; + scale = "23.6238 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new ForceFieldBare() { + position = "159.57 -19.69 161.61"; + rotation = "0 0 1 90"; + scale = "24.0246 7.54321 0.654541"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new StaticShape(CatwalkFFGen) { + position = "296.902 281.478 82.1046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "All your base..."; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "47.57 28.212 161.61"; + rotation = "0 0 1 90"; + scale = "23.9272 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new ForceFieldBare() { + position = "47.57 -19.676 161.61"; + rotation = "0 0 1 90"; + scale = "24.0593 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + new ForceFieldBare() { + position = "71.358 -67.489 161.61"; + rotation = "1 0 0 0"; + scale = "24.0928 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + }; + new SimGroup(DrawBridges) { + + new SimGroup(WestBridge) { + + new StaticShape(WestBridgeGen) { + position = "288.492 280.587 82.0062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "...belong..."; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "39.406 -3.879 161.61"; + rotation = "0 0 1 180"; + scale = "236.773 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + }; + new SimGroup(NorthBridge) { + + new StaticShape(NorthBridgeGen) { + position = "292.178 280.66 82.0062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "...are..."; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "103.62 282.64 161.61"; + rotation = "0 0 1 90"; + scale = "222.776 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + }; + new SimGroup(SouthBridge) { + + new StaticShape(SouthBridgeGen) { + position = "284.537 280.408 82.0062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "...to..."; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "103.594 -75.687 161.61"; + rotation = "0 0 1 90"; + scale = "168.54 7.54321 1"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + }; + new SimGroup(EastBridge) { + + new StaticShape(EastBridgeGen) { + position = "280.367 280.27 82.0062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "...us!"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + }; + new ForceFieldBare() { + position = "440.421 -3.96201 161.954"; + rotation = "0 0 1 180"; + scale = "265.064 7.54321 0.654541"; + dataBlock = "defaultNoTeamLavaLightField"; + }; + }; + }; + }; + new InteriorInstance() { + position = "107.31 -260.168 161.61"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-233.356 -7.69101 161.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.318 -280.154 161.61"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-213.37 -7.668 161.61"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "476.391 -7.707 161.608"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "456.405 -7.763 161.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-207.261 -7.55701 162.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-207.261 -7.55701 142.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.439 292.602 161.63"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "450.286 -7.789 162.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "450.286 -7.789 142.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.235 -254.11 142.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.235 -254.11 162.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.984 -7.55801 161.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.984 -7.55801 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.984 -7.55801 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.394 -65.561 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.394 -65.561 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.394 -65.561 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.14 -63.648 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.14 -63.648 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.14 -63.648 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.379 48.853 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.379 48.853 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.379 48.853 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "49.864 -7.771 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "49.864 -7.771 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "49.864 -7.771 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.415 -63.978 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.415 -63.978 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.415 -63.978 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "165.039 -7.49799 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "165.039 -7.49799 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "165.039 -7.49799 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.423 48.406 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.423 48.406 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "163.423 48.406 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.386 49.616 121.09"; + rotation = "1 0 0 0"; + scale = "1 1 1.05589"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.386 49.616 141.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.386 49.616 161.534"; + rotation = "1 0 0 0"; + scale = "1 1 1.0262"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "107.382 298.632 161.61"; + rotation = "0 0 -1 90.0456"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "107.343 318.618 161.61"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(TeamDrops) { + + new SpawnSphere(respawnSphere) { + position = "-445.99 -376.448 66.8051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "140"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "50"; + }; + }; + }; + new SimGroup(team0) { + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1DSPlant16) { + + new TSStatic() { + position = "-348 -196 106.781"; + rotation = "0 0 1 167"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-636 -532 150.656"; + rotation = "0 0 1 230"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-428 -260 111.188"; + rotation = "0 0 1 114"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-412 -164 111.656"; + rotation = "0 0 -1 119"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-364 -164 103.953"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-292 -188 128.547"; + rotation = "0 0 1 184"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-492 -548 122.672"; + rotation = "0 0 -1 75.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-276 -468 111.969"; + rotation = "0 0 -1 58.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-500 -556 123.344"; + rotation = "0 0 1 61"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-604 -292 115.953"; + rotation = "0 0 1 52"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-636 -188 157.312"; + rotation = "0 0 1 103"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-316 -260 122.5"; + rotation = "0 0 1 58.9998"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-572 -284 131.266"; + rotation = "0 0 -1 55.0003"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-636 -492 158.203"; + rotation = "0 0 1 3.99996"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-636 -540 152.703"; + rotation = "0 0 1 219"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-444 -540 129.828"; + rotation = "0 0 -1 19.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-588 -556 106.531"; + rotation = "0 0 -1 92.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-292 -188 128.547"; + rotation = "0 0 1 202"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-620 -252 148.969"; + rotation = "0 0 1 38"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-276 -180 125.922"; + rotation = "0 0 1 43"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-660 -236 138.141"; + rotation = "0 0 1 224"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-556 -196 130.344"; + rotation = "0 0 -1 78.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-564 -228 136.031"; + rotation = "0 0 1 228"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-356 -204 105.172"; + rotation = "0 0 1 19"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-444 -476 96.5469"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-380 -188 101.297"; + rotation = "0 0 1 48"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-276 -420 95.9688"; + rotation = "0 0 1 15"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-292 -540 126.203"; + rotation = "0 0 -1 112"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-428 -260 111.188"; + rotation = "0 0 -1 13.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-580 -556 104.781"; + rotation = "0 0 1 147"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-508 -548 122.984"; + rotation = "0 0 1 60.0001"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-276 -188 124.547"; + rotation = "0 0 1 76.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-284 -484 110.828"; + rotation = "0 0 -1 35"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-412 -172 113.031"; + rotation = "0 0 -1 16.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-412 -172 113.031"; + rotation = "0 0 -1 50.9998"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-436 -244 112.297"; + rotation = "0 0 1 78.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-644 -228 141.891"; + rotation = "0 0 1 97.9998"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-524 -164 147.094"; + rotation = "0 0 1 142"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-292 -492 109.156"; + rotation = "0 0 1 53"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-620 -228 151.547"; + rotation = "0 0 -1 92.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition2DSPlant17) { + + new TSStatic() { + position = "-500 -548 123.25"; + rotation = "-0.0619038 0.012427 0.998005 146.064"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-564 -236 137.688"; + rotation = "0.101053 0.144122 0.984387 70.8497"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-444 -548 127.344"; + rotation = "-0.830265 -0.530269 0.17168 17.3446"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-492 -524 123.797"; + rotation = "0.477358 -0.532224 -0.69919 26.9199"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-636 -500 157.062"; + rotation = "-0.749737 0.399268 -0.527712 16.9644"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-412 -164 111.656"; + rotation = "0.0543937 0.0547673 -0.997016 88.1707"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-316 -412 79.5"; + rotation = "0.00755817 -0.103259 0.994626 63.2758"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-444 -196 126.422"; + rotation = "0.175219 -0.324668 -0.929456 39.597"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition3DSPlant17) { + + new TSStatic() { + position = "12 -412 104.844"; + rotation = "-0.0503551 -0.018623 0.998558 143.05"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-20 -412 106.25"; + rotation = "0.0761431 -0.110215 -0.990987 88.5186"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-12 -468 142.812"; + rotation = "0.137513 0.111945 0.984154 97.9076"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-84 -452 145.703"; + rotation = "0.0935228 0.120898 0.98825 234.447"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-68 -492 131.578"; + rotation = "-0.0355517 -0.0468571 0.998269 78.0976"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-12 -412 106.219"; + rotation = "0.0821308 -0.000199039 0.996622 84.1932"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-4 -412 105.5"; + rotation = "0.0670501 -0.0130461 0.997664 88.134"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-68 -492 131.578"; + rotation = "-0.495608 -0.154473 0.854699 8.18628"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-68 -476 133.109"; + rotation = "-0.00379916 0.163641 -0.986513 80.767"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-76 -484 132.672"; + rotation = "0.108004 0.0352753 0.993524 194.904"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition4DSPlant19) { + + new TSStatic() { + position = "172 -332 146.234"; + rotation = "0 0 1 16"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "172 -348 148.938"; + rotation = "0 0 -1 73.0006"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "172 -348 148.938"; + rotation = "0 0 1 69.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "140 -452 147.734"; + rotation = "0 0 1 111"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-4 -412 105.5"; + rotation = "0 0 1 70.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "212 -332 153.156"; + rotation = "0 0 1 104"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "84 -308 164.703"; + rotation = "0 0 1 3.99996"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "204 -380 156.266"; + rotation = "0 0 1 17"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "196 -372 157.594"; + rotation = "0 0 -1 11.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-12 -476 143.562"; + rotation = "0 0 -1 37.0002"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + }; + new SimGroup(Addition5DSPlant19) { + + new TSStatic() { + position = "-364 28 166"; + rotation = "0 0 -1 60.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-420 -100 94.5312"; + rotation = "0 0 1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-292 -172 129.5"; + rotation = "0 0 1 138"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-204 196 132.141"; + rotation = "0 0 -1 50.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-364 -172 103.875"; + rotation = "0 0 1 39"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + }; + new SimGroup(Addition6DSPlant16) { + + new TSStatic() { + position = "-524 -212 146.031"; + rotation = "0 0 1 38"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-500 -76 105.25"; + rotation = "0 0 1 126"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition11DSPlant16) { + + new TSStatic() { + position = "892 476 173.172"; + rotation = "0 0 1 209"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "964 356 99.141"; + rotation = "0 0 -1 97"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "948 812 136.375"; + rotation = "0 0 -1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "964 156 94.0313"; + rotation = "0 0 1 97"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1148 572 136.016"; + rotation = "0 0 1 118"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "812 420 116.266"; + rotation = "0 0 1 141"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "548 900 161.422"; + rotation = "0 0 -1 50.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "756 612 151.969"; + rotation = "0 0 1 233"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1140 788 162.828"; + rotation = "0 0 -1 73.0006"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1028 484 164"; + rotation = "0 0 1 234"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1044 484 161.5"; + rotation = "0 0 -1 2.9997"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "812 268 89.9687"; + rotation = "0 0 1 238"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "956 812 136.484"; + rotation = "0 0 1 35"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "476 364 194.453"; + rotation = "0 0 1 177"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "604 916 149.047"; + rotation = "0 0 -1 4.00015"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "812 748 130.172"; + rotation = "0 0 1 24"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "732 212 76.3593"; + rotation = "0 0 1 51"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1100 508 149.781"; + rotation = "0 0 -1 29.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "676 764 169.812"; + rotation = "0 0 -1 80.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1092 876 185.672"; + rotation = "0 0 1 217"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "428 548 211.094"; + rotation = "0 0 1 121"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "932 524 173.125"; + rotation = "0 0 -1 71.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "996 180 97.219"; + rotation = "0 0 1 44"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "636 892 140.578"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "708 252 95.1562"; + rotation = "0 0 1 66.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "420 676 178.266"; + rotation = "0 0 -1 29"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "956 868 153.906"; + rotation = "0 0 1 67.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "908 524 173"; + rotation = "0 0 1 205"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "868 156 94.3594"; + rotation = "0 0 1 117"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "460 516 183.859"; + rotation = "0 0 1 230"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "604 916 149.047"; + rotation = "0 0 -1 119"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1012 804 150.625"; + rotation = "0 0 -1 37.0002"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "980 756 116.422"; + rotation = "0 0 1 28"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "788 668 117.719"; + rotation = "0 0 1 17"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1012 348 117.969"; + rotation = "0 0 1 217"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "964 700 155.375"; + rotation = "0 0 -1 61.0005"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "756 252 86.9531"; + rotation = "0 0 -1 77.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1148 380 70.6719"; + rotation = "0 0 1 22"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "428 644 178.656"; + rotation = "0 0 1 161"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1180 644 160.187"; + rotation = "0 0 1 215"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "908 300 68.1719"; + rotation = "0 0 -1 58.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "924 524 173.031"; + rotation = "0 0 1 69.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "692 364 123.922"; + rotation = "0 0 -1 53.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "1156 796 167.719"; + rotation = "0 0 -1 92.0004"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "524 788 196.734"; + rotation = "0 0 1 141"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + }; + }; + new SimGroup(Addition12DSPlant17) { + + new TSStatic() { + position = "596 604 155.219"; + rotation = "-0.252214 0.0568745 0.965999 52.557"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "676 780 168.969"; + rotation = "0.0644755 0.0918072 -0.993687 79.3563"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1180 428 100.875"; + rotation = "-0.13555 -0.0513793 0.989437 205.735"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "796 884 150.734"; + rotation = "0.214537 0.335293 -0.917362 31.4878"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1052 516 172.5"; + rotation = "0.0326082 -0.0612456 0.99759 96.1377"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "700 444 95.7187"; + rotation = "0.0236739 -0.00272442 0.999716 130.013"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "444 364 181.766"; + rotation = "0.182467 -0.00253999 -0.983209 95.9659"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "748 388 124.922"; + rotation = "0.145242 0.0220224 0.989151 227.537"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "684 508 115.016"; + rotation = "0.107873 -0.0904691 0.99004 144.336"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1012 812 150.656"; + rotation = "-0.436177 -0.113977 -0.892614 22.3487"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "764 268 90.5625"; + rotation = "-0.151402 -0.00972159 0.988424 127.531"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "972 220 99.687"; + rotation = "-0.0666638 0.167378 0.983636 83.9389"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "948 908 112.328"; + rotation = "-0.0115508 -0.143244 0.98962 84.5949"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1164 772 170.828"; + rotation = "-0.0696701 0.0635217 0.995546 107.245"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1140 788 162.828"; + rotation = "-0.138555 0.0419806 0.989465 124.501"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "668 484 117.547"; + rotation = "-0.112626 -0.107037 0.987855 147.379"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1068 468 173.547"; + rotation = "-0.0739407 0.066415 0.995049 182.985"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "572 548 163.734"; + rotation = "0.0235022 -0.0760124 0.99683 188.971"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "932 748 132.016"; + rotation = "0.0157534 0.0466812 -0.998786 97.0689"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "556 636 146.938"; + rotation = "0.00172912 -0.183868 0.982949 61.8651"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "700 380 127.609"; + rotation = "-0.575477 -0.32338 0.751166 26.4206"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "388 844 163.953"; + rotation = "0.0485287 0.0029749 0.998817 109.064"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "812 748 130.172"; + rotation = "-0.121092 0.110974 -0.986418 41.5167"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "932 628 129.078"; + rotation = "0.0144005 -0.0381498 0.999168 167.011"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "964 708 155.375"; + rotation = "-0.0136492 0.313518 -0.949484 37.7824"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "580 604 156.922"; + rotation = "-0.450827 -0.23556 -0.860969 37.971"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "668 484 117.547"; + rotation = "-0.121311 -0.101946 0.987366 140.466"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "764 492 156.484"; + rotation = "0.117335 -0.0381243 0.99236 54.3563"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "588 924 147.562"; + rotation = "0.204729 0.174863 -0.963073 58.8262"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "436 724 168.313"; + rotation = "0.0454692 0.134065 0.989929 209.711"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "908 756 125.5"; + rotation = "0.0625492 -0.146797 0.987187 145.422"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "980 820 135.922"; + rotation = "0.127602 -0.10248 0.986517 223.463"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "748 268 88.3906"; + rotation = "-0.0133015 -0.0530759 0.998502 115.078"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "428 644 178.656"; + rotation = "-0.100363 0.105261 0.989367 146.341"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1044 468 164.875"; + rotation = "0.0348411 0.150912 -0.987933 116.624"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1180 572 127.766"; + rotation = "-0.0265204 -0.163439 -0.986197 116.714"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "980 812 135.953"; + rotation = "0.0360907 0.0983098 0.994501 179.006"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "756 228 77.6875"; + rotation = "-0.0980146 0.223292 -0.969811 77.7097"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1124 772 160.703"; + rotation = "-0.0907992 -0.261222 0.960999 65.0491"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "628 884 140.391"; + rotation = "-0.894358 -0.309023 0.323463 12.3235"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "692 140 113.016"; + rotation = "0.0792873 -0.0294701 0.996416 157.08"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "916 220 72.7969"; + rotation = "0.00019495 0.0903265 0.995912 109.222"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "804 700 108.672"; + rotation = "0.583341 0.0169456 0.81205 28.1309"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1044 252 125.531"; + rotation = "0.00811237 -0.0415602 0.999103 139.034"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "556 900 159.969"; + rotation = "0.137374 -0.210933 0.967799 61.6371"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "908 228 72.875"; + rotation = "-0.0695661 0.115309 -0.990891 115.474"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition13DSPlant18) { + + new TSStatic() { + position = "972 156 95.4218"; + rotation = "0 0 -1 74.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1116 868 181.031"; + rotation = "0 0 1 58.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "428 372 177.891"; + rotation = "0 0 1 79"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "676 388 126.625"; + rotation = "0 0 -1 58.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "828 764 134.531"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "924 508 173.453"; + rotation = "0 0 -1 14.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1100 812 157.953"; + rotation = "0 0 1 1.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "404 388 158.766"; + rotation = "0 0 1 205"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "556 884 168.078"; + rotation = "0 0 1 99.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "484 484 178.281"; + rotation = "0 0 -1 81.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1116 676 142.453"; + rotation = "0 0 1 221"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "676 836 154.063"; + rotation = "0 0 -1 107"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "452 492 179"; + rotation = "0 0 -1 90.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1068 860 172.672"; + rotation = "0 0 -1 104"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "684 268 90.8593"; + rotation = "0 0 1 160"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "788 308 109.531"; + rotation = "0 0 1 39"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1012 804 150.625"; + rotation = "0 0 -1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "980 204 104.016"; + rotation = "0 0 1 44"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "924 244 77.6875"; + rotation = "0 0 1 122"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1020 652 182.672"; + rotation = "0 0 1 18"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "620 204 143.344"; + rotation = "0 0 1 12"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "924 516 173.063"; + rotation = "0 0 1 214"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "492 308 158.859"; + rotation = "0 0 1 143"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1084 652 152.109"; + rotation = "0 0 1 28"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "620 212 144.453"; + rotation = "0 0 1 156"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1108 524 155.203"; + rotation = "0 0 1 28"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "844 452 125.641"; + rotation = "0 0 1 136"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "532 428 180.125"; + rotation = "0 0 -1 10.9999"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "684 388 127.75"; + rotation = "0 0 1 109"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "692 276 90.8124"; + rotation = "0 0 1 20"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1068 820 175.313"; + rotation = "0 0 1 66.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "860 156 94.125"; + rotation = "0 0 -1 107"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "540 428 178.094"; + rotation = "0 0 -1 100"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "940 708 139.703"; + rotation = "0 0 1 60.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "924 252 78.1406"; + rotation = "0 0 1 165"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "772 260 90.8437"; + rotation = "0 0 -1 50.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "692 156 112.984"; + rotation = "0 0 1 148"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1100 860 183.859"; + rotation = "0 0 1 49"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1108 628 148.562"; + rotation = "0 0 1 94.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "972 812 136.266"; + rotation = "0 0 1 229"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "972 220 99.687"; + rotation = "0 0 1 222"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "1036 756 151.047"; + rotation = "0 0 1 29"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "596 772 152.672"; + rotation = "0 0 1 235"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "836 452 126.141"; + rotation = "0 0 1 64"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "436 732 167.469"; + rotation = "0 0 1 7.99996"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "988 284 116.016"; + rotation = "0 0 1 57.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "500 756 195.719"; + rotation = "0 0 1 172"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "644 492 118.75"; + rotation = "0 0 1 20"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition14DSPlant19) { + + new TSStatic() { + position = "756 212 76.8125"; + rotation = "0 0 1 208"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "676 764 169.812"; + rotation = "0 0 -1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1108 748 157.578"; + rotation = "0 0 1 140"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "572 564 167.922"; + rotation = "0 0 -1 97"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "828 452 126.687"; + rotation = "0 0 1 185"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "460 900 128.109"; + rotation = "0 0 1 51"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "892 876 171.438"; + rotation = "0 0 -1 44"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1180 860 197.953"; + rotation = "0 0 1 236"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1100 524 154.406"; + rotation = "0 0 1 236"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "604 164 171.953"; + rotation = "0 0 -1 93.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "780 308 112.078"; + rotation = "0 0 -1 76"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "812 276 91.4532"; + rotation = "0 0 1 49"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "740 892 162.078"; + rotation = "0 0 1 90.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1028 484 164"; + rotation = "0 0 -1 95.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "452 604 159.688"; + rotation = "0 0 1 153"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "676 876 157.391"; + rotation = "0 0 -1 5.99979"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "572 804 158.656"; + rotation = "0 0 1 204"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "804 692 111.109"; + rotation = "0 0 1 239"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "556 540 157.937"; + rotation = "0 0 -1 112"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1124 868 180.422"; + rotation = "0 0 -1 38.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "748 276 89.7344"; + rotation = "0 0 1 198"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "844 236 116.266"; + rotation = "0 0 1 169"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "668 532 112.703"; + rotation = "0 0 1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1124 772 160.703"; + rotation = "0 0 -1 46.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "572 716 204.594"; + rotation = "0 0 -1 32.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "820 460 127.109"; + rotation = "0 0 1 150"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "980 220 100.625"; + rotation = "0 0 1 24"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "772 708 109.203"; + rotation = "0 0 -1 53.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "388 812 156.672"; + rotation = "0 0 -1 23.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "588 932 148.109"; + rotation = "0 0 -1 4.00015"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "956 588 160.734"; + rotation = "0 0 1 152"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "908 436 151.469"; + rotation = "0 0 1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1004 316 118.219"; + rotation = "0 0 -1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "540 420 178.047"; + rotation = "0 0 -1 32"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "564 212 171.297"; + rotation = "0 0 -1 65.0004"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "596 700 209.375"; + rotation = "0 0 1 1.9999"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "580 932 147"; + rotation = "0 0 1 235"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "572 804 158.656"; + rotation = "0 0 1 128"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "812 900 150.344"; + rotation = "0 0 1 119"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "828 428 120.375"; + rotation = "0 0 1 162"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "604 852 130.406"; + rotation = "0 0 1 224"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "1172 860 197.391"; + rotation = "0 0 1 150"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "668 516 115.172"; + rotation = "0 0 1 67"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "428 380 178.078"; + rotation = "0 0 -1 72.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg19.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +exec("scripts/training5.cs"); diff --git a/public/base/@vl2/missions.vl2/missions/UltimaThule.mis b/public/base/@vl2/missions.vl2/missions/UltimaThule.mis new file mode 100644 index 00000000..0aff962b --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/UltimaThule.mis @@ -0,0 +1,813 @@ +// DisplayName = Ultima Thule +// MissionTypes = Siege + +//--- MISSION QUOTE BEGIN --- +//Appear at points the enemy must hasten to defend; march swiftly to places where you are not expected. +// -- Sun-Tzu, The Art of War +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Siege]Attackers must destroy forcefield generators to access defending base +//Stealth is key to this mission +//No vehicle stations +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "ice"; + Siege_timeLimit = "20"; + cdTrack = "5"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-536 -784 1040 1264"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + position = "-1024 -1024 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "UltimaThule.ter"; + squareSize = "8"; + emptySquares = "220030 220286 358520 358776 359032 359288 294008 235933 236189 367516 433307 302492"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "UltimaThule.nav"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + coverage = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-17.75 -170.391 105.793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(base) { + powerCount = "3"; + + new InteriorInstance() { + position = "-7.62 -171.5 47.6491"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + AudioEnvironment = BigRoom; + }; + new StaticShape() { + position = "41.78 -224.046 45.55"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "South"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Sorth Entrance Generator"; + Target = "33"; + team = "1"; + needsObjectiveWaypoint = true; + }; + new StaticShape() { + position = "40.62 -127.18 51.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "East Generator"; + Target = "34"; + team = "1"; + needsObjectiveWaypoint = true; + }; + new Turret() { + position = "-1.6 -288.306 120.594"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "South"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + lastProjectile = "4747"; + locked = "true"; + originalBarrel = "MissileBarrelLarge"; + Target = "35"; + team = "1"; + }; + new Turret() { + position = "-47.944 -49.71 130.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "North"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + lastProjectile = "4741"; + locked = "true"; + originalBarrel = "MissileBarrelLarge"; + Target = "36"; + team = "1"; + }; + new StaticShape() { + position = "29.2665 -147.266 77.15"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Great Hall"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Trigger = "3336"; + Target = "37"; + team = "1"; + }; + new StaticShape() { + position = "29.14 -184.838 77.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Great Hall"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Trigger = "3338"; + Target = "38"; + team = "1"; + }; + new Item() { + position = "-50.698 -185.06 77.4285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "2.82 -194.077 126.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Long Range"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "39"; + team = "1"; + }; + new InteriorInstance() { + position = "2.92 -194.397 103.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "42.33 -162.045 48.5718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "40.8585 -215.877 45.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "South Entrance"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Trigger = "3344"; + Target = "40"; + team = "1"; + }; + new StaticShape() { + position = "29.7229 -165.563 72.1"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Great Hall"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "Great Hall Generator"; + Target = "41"; + team = "1"; + needsObjectiveWaypoint = true; + }; + new StaticShape() { + position = "31.6522 -165.653 51.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Control"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "42"; + team = "1"; + needsObjectiveWaypoint = true; + }; + new ForceFieldBare() { + position = "25.7162 -158.946 50.9885"; + rotation = "1 0 0 0"; + scale = "10.7955 1 8.81866"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + Target = "43"; + team = "1"; + }; + new ForceFieldBare() { + position = "24.9871 -171.971 50.6676"; + rotation = "1 0 0 0"; + scale = "1 13.0754 9.26102"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + Target = "44"; + team = "1"; + }; + new ForceFieldBare() { + position = "26.2857 -173.158 50.9898"; + rotation = "1 0 0 0"; + scale = "10.7955 1 8.81866"; + dataBlock = "defaultForceFieldBare"; + locked = "true"; + Target = "45"; + team = "1"; + }; + new TSStatic() { + position = "-63.6461 -63.51 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-55.1833 -63.5947 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-57.9987 -63.4812 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-46.7185 -63.4731 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-44.1589 -63.4965 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-49.5346 -63.4763 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-52.308 -63.4494 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-60.868 -63.5004 115.67"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-64.6154 -60.488 113.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6651 -55.7284 113.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.7217 -50.7434 113.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6682 -45.8125 113.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.8208 -37.1847 113.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6817 -41.6522 113.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6981 -39.6572 115.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.644 -44.8315 115.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.706 -49.1668 115.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6571 -53.6174 115.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6351 -58.2494 115.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6484 -41.5186 117.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6448 -48.1693 117.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.4692 -55.5371 117.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-64.6119 -44.74 119.16"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + }; + new SimGroup(OuterFFGens) { + powerCount = "2"; + + new SimGroup(FFBeta) { + powerCount = "2"; + + new ForceFieldBare() { + position = "-52.954 -62.074 96.9079"; + rotation = "1 0 0 0"; + scale = "10.2257 1 7.86202"; + dataBlock = "defaultTeamSlowFieldBare"; + locked = "true"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + Target = "46"; + team = "1"; + }; + }; + new StaticShape() { + position = "246.04 275.45 134.33"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "NE Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "NE Force Field Generator #1"; + Target = "47"; + team = "1"; + needsObjectiveWaypoint = true; + }; + new StaticShape() { + position = "243.46 232.45 166.9"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "NE Force Field"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + name = "NE Force Field Generator #2"; + Target = "48"; + team = "1"; + needsObjectiveWaypoint = true; + }; + new InteriorInstance() { + position = "240.91 269.69 155.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + team = "2"; + AudioEnvironment = SmallRoom; + }; + new SimGroup(FFAlpha) { + powerCount = "2"; + + new ForceFieldBare() { + position = "-5.52 -284.655 95.5815"; + rotation = "1 0 0 0"; + scale = "8.15845 1 6.08793"; + dataBlock = "defaultTeamSlowFieldBare"; + locked = "true"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + Target = "49"; + team = "1"; + }; + new ForceFieldBare() { + position = "-33.6013 -45.677 96.4871"; + rotation = "0 0 1 89.9544"; + scale = "10.2257 1 7.86202"; + dataBlock = "defaultTeamSlowFieldBare"; + locked = "true"; + color = "0.500000 0.500000 1.000000 1.000000"; + triggerCount = "0"; + Target = "50"; + team = "1"; + }; + }; + new Item() { + position = "250.45 216.71 144.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "375.86 -124.438 295.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + new SimGroup(base) { + providesPower = "1"; + powerCount = "2"; + + new StaticShape() { + position = "373.914 -91.7462 304.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "East Assault"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Trigger = "3376"; + Target = "51"; + team = "2"; + }; + new Item() { + position = "374.745 -99.3849 314.344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + Target = "-1"; + team = "1"; + }; + new InteriorInstance() { + position = "372.511 -99.2266 250.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "378.385 -108.783 304.178"; + rotation = "0 -1 0 11.459"; + scale = "0.1 18.5835 8.93002"; + dataBlock = "defaultTeamSlowFieldBare"; + locked = "true"; + Target = "52"; + team = "2"; + }; + new ForceFieldBare() { + position = "369.634 -108.648 304.36"; + rotation = "0 1 0 13.7511"; + scale = "0.1 18.5835 8.93002"; + dataBlock = "defaultTeamSlowFieldBare"; + locked = "true"; + Target = "53"; + team = "2"; + }; + new StaticShape() { + position = "373.933 -106.692 304.2"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "East Assault"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Trigger = "3384"; + Target = "54"; + team = "2"; + }; + new StaticShape() { + position = "375.031 -101.505 -305.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + Target = "55"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "350"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "ice_dark.dml"; + windVelocity = "0.8 0.7 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + locked = "true"; + cloudSpeed0 = "0.000300 0.0003"; + }; + new Precipitation(Precipitation) { + position = "-123.6 -162.6 124.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "125"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "57.01 -329.326 163.148"; + rotation = "0.448717 0.195026 -0.872134 52.979"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-42.184 -12.29 123.267"; + rotation = "0 0 1 111.727"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-27.8365 -162.051 76.7347"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "1.24824 -278.291 99.3577"; + rotation = "0 0 1 228.61"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-14.1716 -188.073 127.677"; + rotation = "0 0 1 93.9651"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-50.311 -44.814 106.787"; + rotation = "0.0836944 -0.168589 0.982127 128.015"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new AudioEmitter() { + position = "-67.162 -108.482 130.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "-156.267 -279.118 203.606"; + rotation = "0 1 0 31.5126"; + scale = "1.71005 1.75318 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "120.774 -131.439 210.165"; + rotation = "0 0 -1 48.7014"; + scale = "2.29851 1.90265 1.70877"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "119.703 -306.184 167.608"; + rotation = "0 0 1 12.0321"; + scale = "1.16378 1.58153 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-82.6378 -543.135 242.058"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1.20488"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-22.4503 71.5691 153.838"; + rotation = "1 0 0 0"; + scale = "1.0139 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Underhill.mis b/public/base/@vl2/missions.vl2/missions/Underhill.mis new file mode 100644 index 00000000..60e19088 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Underhill.mis @@ -0,0 +1,971 @@ +// MissionTypes = Hunters Bounty DM + +//--- MISSION QUOTE BEGIN --- +//Humans are always treacherous. Their lies make them weak. The weak are our prey. +// -- Rog Gedharhk Blood-Drinker, Horde Maul reaver +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Hunters]Nexus located on outer catwalk +//Inventory stations located both inside and outside main bunker +//Ideal for combined indoor/outdoor tactics +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + musicTrack = "badlands"; + powerCount = "0"; + cdTrack = "4"; + + new MissionArea(MissionArea) { + area = "-672 -848 928 1104"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed[0] = "0.000500 0.000030"; + cloudSpeed[1] = "0.000120 0.000001"; + cloudSpeed[2] = "0.000205 0.000002"; + visibleDistance = "400"; + useSkyTextures = "1"; + SkySolidColor = "0.39 0.39 0.39 0.000000"; + fogDistance = "25"; + fogColor = "0.500000 0.450000 0.400000 1.000000"; + fogVolume1 = "800 125 150"; + fogVolume2 = "700 150 250"; + fogVolume3 = "0 0 0"; + materialList = "Badlands_l4.dml"; + locked = "true"; + }; + new Sun() { + direction = "0.444193 0.595505 -0.669378"; + color = "0.650000 0.650000 0.650000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet2"; + terrainFile = "Underhill.ter"; + squareSize = "8"; + emptySquares = "417378 483170 417890 418146 92255 355683 355939 356195 356451"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + graphFile = "Underhill.nav"; + conjoinAngleDev = "65"; + conjoinBowlDev = "20"; + coverage = "0"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0 1"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-302.673 -262.509 103.127"; + rotation = "0.234806 -0.111358 0.965643 52.314"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-305.01 -92.4793 106.915"; + rotation = "0.0915308 -0.22217 0.970702 136.406"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-211.746 -200.835 67.2206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-414.339 -308.088 54.4288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "15"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + new SpawnSphere() { + position = "-209.827 -249.58 103.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "25"; + locked = "true"; + }; + new SpawnSphere() { + position = "-211.649 -137.731 101.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "25"; + locked = "true"; + }; + new SpawnSphere() { + position = "-284.785 -188.423 99.8876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + + new InteriorInstance() { + position = "-177.197 -198.697 95.8141"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-342.425 -243.952 16.8096"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-174.268 -200.789 95.8883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-176.399 -198.678 95.8883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-178.53 -196.567 95.8883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.183 -182.927 52.2084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.183 -179.927 52.2084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.183 -176.927 52.2084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-180.942 -198.872 52.1732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-180.942 -195.872 52.1732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-180.942 -192.872 52.1732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-259.036 -202.043 56.9523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-259.036 -199.043 56.9523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-259.036 -196.043 56.9523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.256 -176.715 64.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.256 -179.715 64.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.256 -182.715 64.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.52 -193.117 64.0374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.52 -196.117 64.0374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-181.52 -199.117 64.0374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-199.082 -157.872 64.2012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-196.083 -157.814 64.2012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-193.083 -157.756 64.2012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-209.125 -157.53 64.1894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-212.124 -157.563 64.1894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-215.124 -157.595 64.1894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-225.071 -157.407 64.3146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-228.07 -157.439 64.3146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-231.07 -157.472 64.3146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory1) { + position = "-211.828 -169.646 39.6343"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Alcove"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory2) { + position = "-242.561 -228.348 64.626"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + nameTag = "Catwalk"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory3) { + position = "-179.643 -218.372 39.6354"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Fallen Crate"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory4) { + position = "-212.007 -241.022 63.6065"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Crate Room"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory5) { + position = "-253.321 -191.161 75.6358"; + rotation = "0 0 1 129.488"; + scale = "1 1 1"; + nameTag = "Attic"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new StaticShape(Team0StationInventory6) { + position = "-332.496 -252.522 18.8065"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + nameTag = "Outdoor Bunker"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-212 -182 63.6354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "0"; + locked = "true"; + missionTypesList = "Bounty DM"; + }; + new WayPoint() { + position = "-289.894 -198.584 84.9911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Nexus"; + team = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new StaticShape() { + position = "-289.894 -198.584 88.1585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Trigger(NexusTrigger) { + position = "-299.871 -181.252 87.8578"; + rotation = "1 0 0 0"; + scale = "20.2352 35.4944 19.4353"; + dataBlock = "gameTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new Item() { + position = "-289.894 -198.584 87.8578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + flashThreadDir = "1"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new StaticShape() { + position = "-289.894 -198.584 95.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + missionTypesList = "Hunters"; + }; + new InteriorInstance() { + position = "-212 -208 65.6382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbase1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + locked = "true"; + AudioEnvironment = BigRoom; + }; + new TSStatic() { + position = "-207.892 -225.915 63.64"; + rotation = "0 0 -1 0.571981"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-216.834 -223.537 63.64"; + rotation = "0 0 -1 8.02127"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-210.692 -226.349 63.64"; + rotation = "0 0 1 10.8863"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-207.613 -223.304 63.64"; + rotation = "0 0 1 4.0109"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-209.807 -223.338 63.64"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-213.178 -226.282 63.64"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-214.634 -224.964 63.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-211.976 -223.637 63.64"; + rotation = "0 0 1 182.774"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-212.355 -225.056 63.64"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-207.758 -224.69 63.64"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-214.242 -223.556 63.64"; + rotation = "0 0 1 8.59429"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-215.426 -226.327 63.64"; + rotation = "0 0 1 6.87539"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-209.934 -224.832 63.64"; + rotation = "0 0 -1 4.01071"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-210.875 -225.901 64.64"; + rotation = "0 0 1 15.4698"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-213.035 -224.716 64.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-215.317 -223.728 64.64"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-209.491 -223.597 64.64"; + rotation = "0 0 1 7.44841"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-207.339 -223.844 64.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-208.155 -227.053 64.199"; + rotation = "-0.286038 0.251278 -0.924685 101.825"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-207.48 -225.149 64.64"; + rotation = "0 0 -1 9.16737"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-215.33 -225.761 64.64"; + rotation = "0 0 -1 42.9718"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-209.701 -224.887 64.64"; + rotation = "0 0 1 4.01071"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.456 -222.098 40.6651"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.578 -222.685 42.6651"; + rotation = "-0.9991 -0.0300059 -0.029982 90.006"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-179.344 -227.834 41.7126"; + rotation = "0.939366 -0.342898 -0.00342922 181.162"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + locked = "true"; + }; + }; + }; + new SimGroup(Bridge) { + + new InteriorInstance() { + position = "-253 -113.79 88.1429"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-268.818 -113.79 88.1429"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -113.79 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -134.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -150.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -166.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -182.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -198.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -214.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -230.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.818 -251.75 88.1429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-268.818 -251.75 88.1429"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-263.295 -251.54 56.6414"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-289.671 -198.757 58.1372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-247.454 -113.85 56.569"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-212.109 -208.421 120.699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/missions/Whiteout.mis b/public/base/@vl2/missions.vl2/missions/Whiteout.mis new file mode 100644 index 00000000..467f5862 --- /dev/null +++ b/public/base/@vl2/missions.vl2/missions/Whiteout.mis @@ -0,0 +1,613 @@ +// MissionTypes = DM Bounty + +//--- MISSION QUOTE BEGIN --- +//Let 'em come. We'll leave their frozen bodies scattered from here to the gates of Dark. +// -- Darvis M'Klannin, Starwolf Great Sergeant, 3941 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//No inventory stations; hidden weapon caches +//5 towers, including central "spider" bunker +//Good visibility +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "5"; + musicTrack = "ice"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-512 -296 784 816"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.620000 1.000000"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Whiteout.ter"; + squareSize = "8"; + emptySquares = "302934 303190 303446 303702 303958"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + graphFile = "Whiteout.nav"; + conjoinAngleDev = "55"; + conjoinBowlDev = "20"; + coverage = "0"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + scale = "1 1 1"; + position = "0 0 0 1"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed[0] = "0.000000 0.000000"; + cloudSpeed[1] = "0.000001 0.000001"; + cloudSpeed[2] = "0.000001 0.000001"; + visibleDistance = "600"; + useSkyTextures = "1"; + SkySolidColor = "0.365 0.39 0.42 0.000000"; + fogDistance = "0"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "19.11 -193.232 197.106"; + rotation = "0 0 1 27.502"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-332.602 -125.808 260.419"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-328.306 368.57 166.892"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "251 151.14 176.573"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-54.949 125.93 175.116"; + rotation = "0 0 -1 84.7977"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + + new SimGroup(Team1) { + + new SimGroup(spawnspheres) { + + new SpawnSphere() { + position = "-125.577 130.04 116.667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "300"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + locked = "true"; + }; + }; + }; + new SimGroup(team0) { + + new SimGroup(Stuff) { + + new InteriorInstance() { + position = "37.03 -152.774 123.396"; + rotation = "0 0 1 47.5555"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "38.09 -153.994 187.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "36.94 -152.966 177.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "32.19 -147.172 177.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "42.35 -158.339 177.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-129.073 130.98 113.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-140.93 142.6 183.365"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-117.119 143 183.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-116.939 118.98 183.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-141.032 118.99 183.182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-138.733 140.45 173.59"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-118.894 121.09 173.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-138.311 115.58 173.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-138.276 131.76 158.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-119.978 131.65 158.898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-129.209 139.5 158.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-129.033 121.34 158.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-358.427 -90.397 262.498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-358.857 -90.312 254.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-355.931 -92.644 253.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-361.412 -87.635 253.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-271.875 268.56 123.77"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + locked = "true"; + AudioEnvironment = SmallRoom; + }; + new Item() { + position = "-266.535 264.41 110.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-266.411 262.56 102.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-266.133 267.02 103.464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "-324.828 257.39 112.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "229.52 179.79 108.87"; + rotation = "0 0 1 49.8473"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "231.92 178.69 173.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "224.24 173.89 163.143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "236.18 183.6 163.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "231.51 178.83 163.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Disc"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "221.97 188.68 163.529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new Item() { + position = "237.51 170.71 163.918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + locked = "true"; + }; + new WayPoint() { + position = "228.41 174.98 157.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost 1"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-116.118 128.56 174.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Overlook"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-305.137 265.34 118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost 3"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "-354.718 -85.735 244.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost 4"; + team = "0"; + locked = "true"; + }; + new WayPoint() { + position = "27.04 -146.046 183.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost 2"; + team = "0"; + locked = "true"; + }; + }; + }; + }; + new AudioEmitter() { + position = "25.89 -143.312 147.898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + filename = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/missions.vl2/terrains/Abominable.nav b/public/base/@vl2/missions.vl2/terrains/Abominable.nav new file mode 100644 index 00000000..9e5217bf Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Abominable.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Abominable.spn b/public/base/@vl2/missions.vl2/terrains/Abominable.spn new file mode 100644 index 00000000..540b7260 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Abominable.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Abominable.ter b/public/base/@vl2/missions.vl2/terrains/Abominable.ter new file mode 100644 index 00000000..545900e6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Abominable.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.nav b/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.nav new file mode 100644 index 00000000..c57d7392 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.spn b/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.spn new file mode 100644 index 00000000..a55cd891 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.ter b/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.ter new file mode 100644 index 00000000..7bde1a7f Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/AgentsOfFortune.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Alcatraz.spn b/public/base/@vl2/missions.vl2/terrains/Alcatraz.spn new file mode 100644 index 00000000..dbeb1ccf Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Alcatraz.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Alcatraz.ter b/public/base/@vl2/missions.vl2/terrains/Alcatraz.ter new file mode 100644 index 00000000..4e733ee1 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Alcatraz.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Archipelago.spn b/public/base/@vl2/missions.vl2/terrains/Archipelago.spn new file mode 100644 index 00000000..38fe51a3 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Archipelago.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Archipelago.ter b/public/base/@vl2/missions.vl2/terrains/Archipelago.ter new file mode 100644 index 00000000..e15bf5ab Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Archipelago.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/AshesToAshes.spn b/public/base/@vl2/missions.vl2/terrains/AshesToAshes.spn new file mode 100644 index 00000000..ce388bc1 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/AshesToAshes.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/AshesToAshes.ter b/public/base/@vl2/missions.vl2/terrains/AshesToAshes.ter new file mode 100644 index 00000000..a494b85f Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/AshesToAshes.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/BeggarsRun.nav b/public/base/@vl2/missions.vl2/terrains/BeggarsRun.nav new file mode 100644 index 00000000..cb88b89c Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/BeggarsRun.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/BeggarsRun.spn b/public/base/@vl2/missions.vl2/terrains/BeggarsRun.spn new file mode 100644 index 00000000..d478b10d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/BeggarsRun.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/BeggarsRun.ter b/public/base/@vl2/missions.vl2/terrains/BeggarsRun.ter new file mode 100644 index 00000000..013acd5d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/BeggarsRun.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Caldera.spn b/public/base/@vl2/missions.vl2/terrains/Caldera.spn new file mode 100644 index 00000000..20e910e7 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Caldera.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Caldera.ter b/public/base/@vl2/missions.vl2/terrains/Caldera.ter new file mode 100644 index 00000000..d554efd9 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Caldera.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.nav b/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.nav new file mode 100644 index 00000000..8d1a1ecb Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.spn b/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.spn new file mode 100644 index 00000000..a8e61a6a Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.ter b/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.ter new file mode 100644 index 00000000..b943931d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Casern_Cavite.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/CompUSA_Melee.spn b/public/base/@vl2/missions.vl2/terrains/CompUSA_Melee.spn new file mode 100644 index 00000000..d91e4ba6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/CompUSA_Melee.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/CompUSA_Melee.ter b/public/base/@vl2/missions.vl2/terrains/CompUSA_Melee.ter new file mode 100644 index 00000000..79612143 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/CompUSA_Melee.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Damnation.spn b/public/base/@vl2/missions.vl2/terrains/Damnation.spn new file mode 100644 index 00000000..74020d97 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Damnation.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Damnation.ter b/public/base/@vl2/missions.vl2/terrains/Damnation.ter new file mode 100644 index 00000000..84d28988 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Damnation.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/DeathBirdsFly.spn b/public/base/@vl2/missions.vl2/terrains/DeathBirdsFly.spn new file mode 100644 index 00000000..b2318c74 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/DeathBirdsFly.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/DeathBirdsFly.ter b/public/base/@vl2/missions.vl2/terrains/DeathBirdsFly.ter new file mode 100644 index 00000000..f27e888c Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/DeathBirdsFly.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Desiccator.spn b/public/base/@vl2/missions.vl2/terrains/Desiccator.spn new file mode 100644 index 00000000..feb38ab0 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Desiccator.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Desiccator.ter b/public/base/@vl2/missions.vl2/terrains/Desiccator.ter new file mode 100644 index 00000000..6243a710 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Desiccator.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/DustToDust.nav b/public/base/@vl2/missions.vl2/terrains/DustToDust.nav new file mode 100644 index 00000000..71ebee8d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/DustToDust.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/DustToDust.spn b/public/base/@vl2/missions.vl2/terrains/DustToDust.spn new file mode 100644 index 00000000..b850663a Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/DustToDust.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/DustToDust.ter b/public/base/@vl2/missions.vl2/terrains/DustToDust.ter new file mode 100644 index 00000000..cbd289bd Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/DustToDust.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/EB_Hades.spn b/public/base/@vl2/missions.vl2/terrains/EB_Hades.spn new file mode 100644 index 00000000..b2455a54 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/EB_Hades.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/EB_Hades.ter b/public/base/@vl2/missions.vl2/terrains/EB_Hades.ter new file mode 100644 index 00000000..3a0cebc5 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/EB_Hades.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Equinox.nav b/public/base/@vl2/missions.vl2/terrains/Equinox.nav new file mode 100644 index 00000000..f6058306 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Equinox.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Equinox.spn b/public/base/@vl2/missions.vl2/terrains/Equinox.spn new file mode 100644 index 00000000..0e88f1e5 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Equinox.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Equinox.ter b/public/base/@vl2/missions.vl2/terrains/Equinox.ter new file mode 100644 index 00000000..ddb070b6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Equinox.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Escalade.nav b/public/base/@vl2/missions.vl2/terrains/Escalade.nav new file mode 100644 index 00000000..9fdbed5f Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Escalade.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Escalade.spn b/public/base/@vl2/missions.vl2/terrains/Escalade.spn new file mode 100644 index 00000000..0f48dd1d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Escalade.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Escalade.ter b/public/base/@vl2/missions.vl2/terrains/Escalade.ter new file mode 100644 index 00000000..b6f51ef9 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Escalade.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Extra_Badlands1.ter b/public/base/@vl2/missions.vl2/terrains/Extra_Badlands1.ter new file mode 100644 index 00000000..d96222ec Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Extra_Badlands1.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Firestorm.spn b/public/base/@vl2/missions.vl2/terrains/Firestorm.spn new file mode 100644 index 00000000..654cdf69 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Firestorm.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Firestorm.ter b/public/base/@vl2/missions.vl2/terrains/Firestorm.ter new file mode 100644 index 00000000..de6adb84 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Firestorm.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/FlashPoint.spn b/public/base/@vl2/missions.vl2/terrains/FlashPoint.spn new file mode 100644 index 00000000..d0e558b0 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/FlashPoint.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Flashpoint.ter b/public/base/@vl2/missions.vl2/terrains/Flashpoint.ter new file mode 100644 index 00000000..f6f17153 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Flashpoint.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Fracas.nav b/public/base/@vl2/missions.vl2/terrains/Fracas.nav new file mode 100644 index 00000000..b1febaf9 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Fracas.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Fracas.spn b/public/base/@vl2/missions.vl2/terrains/Fracas.spn new file mode 100644 index 00000000..879a0527 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Fracas.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Fracas.ter b/public/base/@vl2/missions.vl2/terrains/Fracas.ter new file mode 100644 index 00000000..8f6b5773 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Fracas.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Gauntlet.nav b/public/base/@vl2/missions.vl2/terrains/Gauntlet.nav new file mode 100644 index 00000000..d145caee Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Gauntlet.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Gauntlet.spn b/public/base/@vl2/missions.vl2/terrains/Gauntlet.spn new file mode 100644 index 00000000..505c11f2 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Gauntlet.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Gauntlet.ter b/public/base/@vl2/missions.vl2/terrains/Gauntlet.ter new file mode 100644 index 00000000..d78231e6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Gauntlet.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Gehenna.spn b/public/base/@vl2/missions.vl2/terrains/Gehenna.spn new file mode 100644 index 00000000..f8ff4cf0 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Gehenna.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Gehenna.ter b/public/base/@vl2/missions.vl2/terrains/Gehenna.ter new file mode 100644 index 00000000..f5e373e9 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Gehenna.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/IceBound.spn b/public/base/@vl2/missions.vl2/terrains/IceBound.spn new file mode 100644 index 00000000..16cd9ff2 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/IceBound.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/IceBound.ter b/public/base/@vl2/missions.vl2/terrains/IceBound.ter new file mode 100644 index 00000000..668ea22a Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/IceBound.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Insalubria.nav b/public/base/@vl2/missions.vl2/terrains/Insalubria.nav new file mode 100644 index 00000000..5fbc86e3 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Insalubria.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Insalubria.spn b/public/base/@vl2/missions.vl2/terrains/Insalubria.spn new file mode 100644 index 00000000..4d067e35 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Insalubria.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Insalubria.ter b/public/base/@vl2/missions.vl2/terrains/Insalubria.ter new file mode 100644 index 00000000..094ed3e2 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Insalubria.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Invictus.nav b/public/base/@vl2/missions.vl2/terrains/Invictus.nav new file mode 100644 index 00000000..8d681c94 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Invictus.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Invictus.spn b/public/base/@vl2/missions.vl2/terrains/Invictus.spn new file mode 100644 index 00000000..74ac3173 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Invictus.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Invictus.ter b/public/base/@vl2/missions.vl2/terrains/Invictus.ter new file mode 100644 index 00000000..bd20e812 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Invictus.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/JacobsLadder.spn b/public/base/@vl2/missions.vl2/terrains/JacobsLadder.spn new file mode 100644 index 00000000..481e237f Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/JacobsLadder.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/JacobsLadder.ter b/public/base/@vl2/missions.vl2/terrains/JacobsLadder.ter new file mode 100644 index 00000000..293f71f6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/JacobsLadder.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Katabatic.nav b/public/base/@vl2/missions.vl2/terrains/Katabatic.nav new file mode 100644 index 00000000..cf6b1f07 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Katabatic.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Katabatic.spn b/public/base/@vl2/missions.vl2/terrains/Katabatic.spn new file mode 100644 index 00000000..f23c9685 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Katabatic.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Katabatic.ter b/public/base/@vl2/missions.vl2/terrains/Katabatic.ter new file mode 100644 index 00000000..7dd41152 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Katabatic.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Masada.spn b/public/base/@vl2/missions.vl2/terrains/Masada.spn new file mode 100644 index 00000000..501931cc Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Masada.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Masada.ter b/public/base/@vl2/missions.vl2/terrains/Masada.ter new file mode 100644 index 00000000..3e823238 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Masada.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Minotaur.nav b/public/base/@vl2/missions.vl2/terrains/Minotaur.nav new file mode 100644 index 00000000..db259d21 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Minotaur.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Minotaur.spn b/public/base/@vl2/missions.vl2/terrains/Minotaur.spn new file mode 100644 index 00000000..231b11d5 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Minotaur.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Minotaur.ter b/public/base/@vl2/missions.vl2/terrains/Minotaur.ter new file mode 100644 index 00000000..cfa852cd Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Minotaur.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/MyrkWood.spn b/public/base/@vl2/missions.vl2/terrains/MyrkWood.spn new file mode 100644 index 00000000..3a65f968 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/MyrkWood.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/MyrkWood.ter b/public/base/@vl2/missions.vl2/terrains/MyrkWood.ter new file mode 100644 index 00000000..6febeed2 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/MyrkWood.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Oasis.spn b/public/base/@vl2/missions.vl2/terrains/Oasis.spn new file mode 100644 index 00000000..963ef289 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Oasis.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Oasis.ter b/public/base/@vl2/missions.vl2/terrains/Oasis.ter new file mode 100644 index 00000000..8151010e Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Oasis.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Overreach.spn b/public/base/@vl2/missions.vl2/terrains/Overreach.spn new file mode 100644 index 00000000..6a7da49d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Overreach.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Overreach.ter b/public/base/@vl2/missions.vl2/terrains/Overreach.ter new file mode 100644 index 00000000..931aa265 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Overreach.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Pyroclasm.spn b/public/base/@vl2/missions.vl2/terrains/Pyroclasm.spn new file mode 100644 index 00000000..fd61b7e1 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Pyroclasm.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Pyroclasm.ter b/public/base/@vl2/missions.vl2/terrains/Pyroclasm.ter new file mode 100644 index 00000000..41ef055d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Pyroclasm.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Quagmire.spn b/public/base/@vl2/missions.vl2/terrains/Quagmire.spn new file mode 100644 index 00000000..8bec68c4 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Quagmire.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Quagmire.ter b/public/base/@vl2/missions.vl2/terrains/Quagmire.ter new file mode 100644 index 00000000..803c3c20 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Quagmire.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Rasp.spn b/public/base/@vl2/missions.vl2/terrains/Rasp.spn new file mode 100644 index 00000000..b9e93e3d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Rasp.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Rasp.ter b/public/base/@vl2/missions.vl2/terrains/Rasp.ter new file mode 100644 index 00000000..75da69a7 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Rasp.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Recalescence.spn b/public/base/@vl2/missions.vl2/terrains/Recalescence.spn new file mode 100644 index 00000000..39d3d12d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Recalescence.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Recalescence.ter b/public/base/@vl2/missions.vl2/terrains/Recalescence.ter new file mode 100644 index 00000000..ef358ec4 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Recalescence.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Respite.nav b/public/base/@vl2/missions.vl2/terrains/Respite.nav new file mode 100644 index 00000000..4afc4ece Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Respite.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Respite.spn b/public/base/@vl2/missions.vl2/terrains/Respite.spn new file mode 100644 index 00000000..de3552e6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Respite.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Respite.ter b/public/base/@vl2/missions.vl2/terrains/Respite.ter new file mode 100644 index 00000000..c53f4093 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Respite.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Reversion.spn b/public/base/@vl2/missions.vl2/terrains/Reversion.spn new file mode 100644 index 00000000..de28b418 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Reversion.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Reversion.ter b/public/base/@vl2/missions.vl2/terrains/Reversion.ter new file mode 100644 index 00000000..9df72cfd Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Reversion.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Rimehold.spn b/public/base/@vl2/missions.vl2/terrains/Rimehold.spn new file mode 100644 index 00000000..c3045b4d Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Rimehold.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Rimehold.ter b/public/base/@vl2/missions.vl2/terrains/Rimehold.ter new file mode 100644 index 00000000..7b861596 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Rimehold.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/RiverDance.nav b/public/base/@vl2/missions.vl2/terrains/RiverDance.nav new file mode 100644 index 00000000..669f9bb3 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/RiverDance.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/RiverDance.spn b/public/base/@vl2/missions.vl2/terrains/RiverDance.spn new file mode 100644 index 00000000..dfc11637 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/RiverDance.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/RiverDance.ter b/public/base/@vl2/missions.vl2/terrains/RiverDance.ter new file mode 100644 index 00000000..08c0a4ba Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/RiverDance.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Sanctuary.nav b/public/base/@vl2/missions.vl2/terrains/Sanctuary.nav new file mode 100644 index 00000000..550184b6 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Sanctuary.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Sanctuary.spn b/public/base/@vl2/missions.vl2/terrains/Sanctuary.spn new file mode 100644 index 00000000..c054e084 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Sanctuary.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Sanctuary.ter b/public/base/@vl2/missions.vl2/terrains/Sanctuary.ter new file mode 100644 index 00000000..83b02e76 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Sanctuary.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Sirocco.spn b/public/base/@vl2/missions.vl2/terrains/Sirocco.spn new file mode 100644 index 00000000..9b8ab528 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Sirocco.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Sirocco.ter b/public/base/@vl2/missions.vl2/terrains/Sirocco.ter new file mode 100644 index 00000000..9e4b5247 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Sirocco.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/SlapDash.spn b/public/base/@vl2/missions.vl2/terrains/SlapDash.spn new file mode 100644 index 00000000..e9048823 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/SlapDash.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Slapdash.ter b/public/base/@vl2/missions.vl2/terrains/Slapdash.ter new file mode 100644 index 00000000..6277b3e1 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Slapdash.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/SunDried.nav b/public/base/@vl2/missions.vl2/terrains/SunDried.nav new file mode 100644 index 00000000..f1cbb52c Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/SunDried.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/SunDried.spn b/public/base/@vl2/missions.vl2/terrains/SunDried.spn new file mode 100644 index 00000000..bf55cb92 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/SunDried.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/SunDried.ter b/public/base/@vl2/missions.vl2/terrains/SunDried.ter new file mode 100644 index 00000000..fd334872 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/SunDried.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Talus.nav b/public/base/@vl2/missions.vl2/terrains/Talus.nav new file mode 100644 index 00000000..199ac045 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Talus.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Talus.spn b/public/base/@vl2/missions.vl2/terrains/Talus.spn new file mode 100644 index 00000000..69135899 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Talus.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Talus.ter b/public/base/@vl2/missions.vl2/terrains/Talus.ter new file mode 100644 index 00000000..7157d250 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Talus.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/ThinIce.spn b/public/base/@vl2/missions.vl2/terrains/ThinIce.spn new file mode 100644 index 00000000..2ad17dfc Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/ThinIce.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/ThinIce.ter b/public/base/@vl2/missions.vl2/terrains/ThinIce.ter new file mode 100644 index 00000000..213ac378 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/ThinIce.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Tombstone.nav b/public/base/@vl2/missions.vl2/terrains/Tombstone.nav new file mode 100644 index 00000000..4e998265 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Tombstone.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Tombstone.spn b/public/base/@vl2/missions.vl2/terrains/Tombstone.spn new file mode 100644 index 00000000..2dac5f62 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Tombstone.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Tombstone.ter b/public/base/@vl2/missions.vl2/terrains/Tombstone.ter new file mode 100644 index 00000000..bc111f66 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Tombstone.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training1.nav b/public/base/@vl2/missions.vl2/terrains/Training1.nav new file mode 100644 index 00000000..237275a7 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training1.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training1.ter b/public/base/@vl2/missions.vl2/terrains/Training1.ter new file mode 100644 index 00000000..8022a6e4 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training1.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training2.nav b/public/base/@vl2/missions.vl2/terrains/Training2.nav new file mode 100644 index 00000000..cd1753fa Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training2.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training2.ter b/public/base/@vl2/missions.vl2/terrains/Training2.ter new file mode 100644 index 00000000..7858f556 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training2.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training3.nav b/public/base/@vl2/missions.vl2/terrains/Training3.nav new file mode 100644 index 00000000..9291b186 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training3.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training3.ter b/public/base/@vl2/missions.vl2/terrains/Training3.ter new file mode 100644 index 00000000..fc72f573 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training3.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training4.nav b/public/base/@vl2/missions.vl2/terrains/Training4.nav new file mode 100644 index 00000000..63df0ca5 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training4.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training4.ter b/public/base/@vl2/missions.vl2/terrains/Training4.ter new file mode 100644 index 00000000..cb26ea81 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training4.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training5.nav b/public/base/@vl2/missions.vl2/terrains/Training5.nav new file mode 100644 index 00000000..0ccb4d7c Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training5.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Training5.ter b/public/base/@vl2/missions.vl2/terrains/Training5.ter new file mode 100644 index 00000000..3f8a0a85 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Training5.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/UltimaThule.spn b/public/base/@vl2/missions.vl2/terrains/UltimaThule.spn new file mode 100644 index 00000000..a60b8857 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/UltimaThule.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/UltimaThule.ter b/public/base/@vl2/missions.vl2/terrains/UltimaThule.ter new file mode 100644 index 00000000..f654227a Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/UltimaThule.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Underhill.nav b/public/base/@vl2/missions.vl2/terrains/Underhill.nav new file mode 100644 index 00000000..f6f00b1b Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Underhill.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Underhill.spn b/public/base/@vl2/missions.vl2/terrains/Underhill.spn new file mode 100644 index 00000000..76b96949 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Underhill.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Underhill.ter b/public/base/@vl2/missions.vl2/terrains/Underhill.ter new file mode 100644 index 00000000..1c6acab1 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Underhill.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/Whiteout.nav b/public/base/@vl2/missions.vl2/terrains/Whiteout.nav new file mode 100644 index 00000000..c6d5e975 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Whiteout.nav differ diff --git a/public/base/@vl2/missions.vl2/terrains/Whiteout.spn b/public/base/@vl2/missions.vl2/terrains/Whiteout.spn new file mode 100644 index 00000000..b17f95bb Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Whiteout.spn differ diff --git a/public/base/@vl2/missions.vl2/terrains/Whiteout.ter b/public/base/@vl2/missions.vl2/terrains/Whiteout.ter new file mode 100644 index 00000000..bdd6ea25 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/Whiteout.ter differ diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/CTF.Katabatic_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/CTF.Katabatic_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/CTF.Katabatic_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/CTF.RiverDance_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/CTF.RiverDance_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/CTF.RiverDance_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/DeathBirdsFly_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/DeathBirdsFly_heightfield.cs new file mode 100644 index 00000000..df2558b8 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/DeathBirdsFly_heightfield.cs @@ -0,0 +1,5 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t140\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t1025006377"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.05263 0.10526 0.15789 0.21053 0.33077 0.31579 0.36842 0.42105 0.47368 0.59231 0.57895 0.63158 0.68421 0.73684 0.78947 0.84211 0.96154 0.94737 1.00000 "); +Heightfield::add("Canyon Fractal\ttab_Canyon\tcanyon_freq\t2\tcanyon_factor\t0.500\tcanyon_seed\t870190349"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Fall_To_Glory_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Fall_To_Glory_heightfield.cs new file mode 100644 index 00000000..4013c7be --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Fall_To_Glory_heightfield.cs @@ -0,0 +1,6 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t75\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t1019060589"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.97692 0.82308 0.65385 0.50000 0.34615 0.17692 0.00000 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t2058759635"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMax"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.00000 0.33333 0.44444 0.55556 0.66667 0.77778 0.88889 1.00000 "); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Badlands_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Badlands_heightfield.cs new file mode 100644 index 00000000..103910e9 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Badlands_heightfield.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t200\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t10\trmf_rough\t0.000\trmf_detail\tVery Low\trmf_seed\t776891661"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.99231 1.00000 1.00000 0.99231 0.15385 0.00000 0.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tLow\trmf_seed\t1181481653"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t3\tblend_option\tMultiply"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t1181481653"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.578947\tblend_srcB\t5\tblend_option\t"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Desert_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Desert_heightfield.cs new file mode 100644 index 00000000..406117d8 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Desert_heightfield.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t200\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t8\trmf_rough\t0.000\trmf_detail\tVery Low\trmf_seed\t170285085"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.43077 0.00000 0.00769 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t3\tfbm_rough\t0.000\tfBm_detail\tVery Low\tfBm_seed\t1553690877"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t3\tblend_option\tMultiply"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t90817593"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t5\tblend_option\tadd"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Lush_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Lush_heightfield.cs new file mode 100644 index 00000000..1e10c58e --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Lush_heightfield.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t100\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.990\tfBm_detail\tVery High\tfBm_seed\t346845957"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.01538 0.03846 0.07692 0.11538 0.16154 0.20769 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t8\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t2128136741"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.99231 0.96154 1.00000 0.94615 0.20000 0.00000 0.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 0.83077 0.66154 0.50000 0.33846 0.16923 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Snow2_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Snow2_heightfield.cs new file mode 100644 index 00000000..6f5f1d06 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Snow2_heightfield.cs @@ -0,0 +1,11 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t225\tgeneral_water\t0.0842105\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tLow\trmf_seed\t1468280105"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 1.00000 0.80769 0.34615 0.00000 0.00000 0.00000 0.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.73846 0.41538 0.15385 0.06154 0.05385 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t7\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t31289227"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.878947\tblend_srcB\t3\tblend_option\tAdd"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.850\tridgesmooth_iter\t1"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t1468280105"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.99231 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t7\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Snow_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Snow_heightfield.cs new file mode 100644 index 00000000..07ea78e6 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Home.Snow_heightfield.cs @@ -0,0 +1,8 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t225\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tHigh\trmf_seed\t1298135813"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 1.00000 1.00000 0.79231 0.31538 0.00000 0.00000 0.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.73846 0.41538 0.15385 0.00000 0.00000 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t7\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t159547841"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.878947\tblend_srcB\t3\tblend_option\tAdd"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.850\tridgesmooth_iter\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Burnout_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Burnout_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Burnout_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Casern_Cavite_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Casern_Cavite_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Casern_Cavite_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Chaopia_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Chaopia_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Chaopia_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Intaglio_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Intaglio_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Intaglio_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.MyrkWood_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.MyrkWood_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.MyrkWood_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Rasp_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Rasp_heightfield.cs new file mode 100644 index 00000000..9e4193ea --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.Rasp_heightfield.cs @@ -0,0 +1,3 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t150\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t816160549"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.35385 0.35385 0.35385 0.34615 0.31538 0.31538 0.31538 0.30769 0.21538 0.20000 0.19231 0.11538 0.09231 0.08462 0.00769 0.01538 "); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.SunDried_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.SunDried_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Hunters.SunDried_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush.cs new file mode 100644 index 00000000..26dfbd0b --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0.257895"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t862821085"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t356749711"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t1\tblend_option\tMax"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.21538 0.26923 0.45385 0.63077 0.80000 1.00000 "); +Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t8"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1.00000 0.76154 0.15385 0.08462 0.01538 0.02308 0.46923 \tsinus_seed\t593540521"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.326316\tblend_srcB\t5\tblend_option\tadd"); +Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.800\twatersmooth_iter\t8"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush1.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush1.cs new file mode 100644 index 00000000..6e0cb52f --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush1.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0.257895"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t258865285"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t1997022699"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t1\tblend_option\tMax"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.21538 0.26923 0.45385 0.63077 0.80000 1.00000 "); +Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t8"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1.00000 0.76154 0.15385 0.08462 0.01538 0.02308 0.46923 \tsinus_seed\t593540521"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.326316\tblend_srcB\t5\tblend_option\tadd"); +Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.800\twatersmooth_iter\t8"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush2.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush2.cs new file mode 100644 index 00000000..496d050a --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush2.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0.336842"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t2023216993"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t682699217"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t1\tblend_option\tMax"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.21538 0.26923 0.45385 0.63077 0.80000 1.00000 "); +Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t8"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1.00000 0.76154 0.15385 0.08462 0.01538 0.02308 0.46923 \tsinus_seed\t593540521"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.326316\tblend_srcB\t5\tblend_option\tadd"); +Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.800\twatersmooth_iter\t8"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush3.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush3.cs new file mode 100644 index 00000000..a0c4968b --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush3.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0.178947"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t8\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t1936266765"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t35907461"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t1\tblend_option\tMax"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.21538 0.26923 0.45385 0.63077 0.80000 1.00000 "); +Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t8"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1.00000 0.76154 0.15385 0.08462 0.01538 0.02308 0.46923 \tsinus_seed\t593540521"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.326316\tblend_srcB\t5\tblend_option\tadd"); +Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.800\twatersmooth_iter\t8"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush4.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush4.cs new file mode 100644 index 00000000..c9a24d79 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush4.cs @@ -0,0 +1,9 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0.326316"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t1333931533"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t865596269"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t1\tblend_option\tMax"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.21538 0.26923 0.45385 0.63077 0.80000 1.00000 "); +Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t8"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1.00000 0.76154 0.15385 0.08462 0.01538 0.02308 0.46923 \tsinus_seed\t593540521"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.326316\tblend_srcB\t5\tblend_option\tadd"); +Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.800\twatersmooth_iter\t8"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush5.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush5.cs new file mode 100644 index 00000000..4e268bfa --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush5.cs @@ -0,0 +1,13 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tVery Low\tfBm_seed\t1745881757"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.00000 0.36923 1.00000 1.00000 1.00000 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t6\tfbm_rough\t0.000\tfBm_detail\tVery Low\tfBm_seed\t1845833893"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.16667 0.20769 0.50000 0.56154 1.00000 1.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.589474\tblend_srcB\t2wwwwwwwwwwwwwww\tblend_option\tMax"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t6\tfbm_rough\t0.000\tfBm_detail\tVery Low\tfBm_seed\t1764638701"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.17692 0.20769 0.25385 0.75385 0.83333 0.83846 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.426316\tblend_srcB\t5\tblend_option\tMax"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t10\tfbm_rough\t0.000\tfBm_detail\tLow\tfBm_seed\t44051101"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.29231 0.33333 0.61538 0.66667 0.99231 1.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.405263\tblend_srcB\t8\tblend_option\tadd"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.850\tridgesmooth_iter\t12"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Lush8.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush8.cs new file mode 100644 index 00000000..0c416178 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Lush8.cs @@ -0,0 +1,8 @@ +Heightfield::add("\t"); +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t300\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tLow\trmf_seed\t1405652629"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t0.63846 0.66154 0.35385 0.41538 0.32308 0.11538 0.16923 \tsinus_seed\t2016338147"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.521053\tblend_srcB\t2\tblend_option\tMax"); +Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t0.39231 0.26923 0.21538 0.13846 0.08462 0.00000 0.00000 \tsinus_seed\t27323861"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.452632\tblend_srcB\t4\tblend_option\tMax"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.850\tridgesmooth_iter\t6"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Mark1_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Mark1_heightfield.cs new file mode 100644 index 00000000..4035291f --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Mark1_heightfield.cs @@ -0,0 +1,5 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t125\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t5\trmf_rough\t0.000\trmf_detail\tHigh\trmf_seed\t1392979437"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t15\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t737731415"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.08462 0.46154 0.68462 0.73846 0.77692 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t1\tblend_option\t"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/MyrkWoodMask.png b/public/base/@vl2/missions.vl2/terrains/heightfield/MyrkWoodMask.png new file mode 100644 index 00000000..b20eddeb Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/heightfield/MyrkWoodMask.png differ diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/MyrkWoodStream.png b/public/base/@vl2/missions.vl2/terrains/heightfield/MyrkWoodStream.png new file mode 100644 index 00000000..4f11fce4 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/heightfield/MyrkWoodStream.png differ diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/NewLava1_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/NewLava1_heightfield.cs new file mode 100644 index 00000000..56231be4 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/NewLava1_heightfield.cs @@ -0,0 +1,8 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t210\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t1298135813"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 1.00000 1.00000 0.79231 0.43846 0.02308 0.00000 0.31538 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.73846 0.41538 0.15385 0.00000 0.00000 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t7\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t159547841"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.60\tridgesmooth_iter\t1"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.878947\tblend_srcB\t3\tblend_option\tAdd"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Overreach_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Overreach_heightfield.cs new file mode 100644 index 00000000..ba67a96a --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Overreach_heightfield.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t180\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tHigh\trmf_seed\t1396069269"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.01538 0.01538 0.03846 0.13846 0.16154 0.22308 0.28462 0.32308 0.35385 0.46923 0.51538 0.54615 0.63077 0.79231 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t5\trmf_rough\t0.000\trmf_detail\t\trmf_seed\t2048795645"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.98462 0.88462 0.75385 0.64615 0.53846 0.48462 0.33846 0.29231 0.24615 0.17692 0.06154 0.01538 0.01538 0.01538 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.600\tridgesmooth_iter\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Reversion_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Reversion_heightfield.cs new file mode 100644 index 00000000..e48d3bb4 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Reversion_heightfield.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t125\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tHigh\trmf_seed\t565683215"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.01538 0.01538 0.03846 0.13846 0.16154 0.22308 0.28462 0.32308 0.35385 0.46923 0.51538 0.54615 0.63077 0.79231 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t5\trmf_rough\t0.000\trmf_detail\tHigh\trmf_seed\t721142701"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.98462 0.88462 0.75385 0.64615 0.53846 0.48462 0.33846 0.29231 0.24615 0.17692 0.06154 0.01538 0.01538 0.01538 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.600\tridgesmooth_iter\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Roads.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Roads.cs new file mode 100644 index 00000000..d04dab08 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Roads.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t200\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t9\trmf_rough\t0.000\trmf_detail\tVery Low\trmf_seed\t645190603"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.59231 0.59231 0.59231 0.59231 0.59231 0.59231 0.59231 0.53846 0.09231 0.00000 0.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t11\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t69297613"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.715789\tblend_srcB\t3\tblend_option\t"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Siege.Gauntlet_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Siege.Gauntlet_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Siege.Gauntlet_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Siege.IceBound_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Siege.IceBound_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Siege.IceBound_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/SinglePlayer.Skiing_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/SinglePlayer.Skiing_heightfield.cs new file mode 100644 index 00000000..d5aaec35 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/SinglePlayer.Skiing_heightfield.cs @@ -0,0 +1,5 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t200\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t7\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t1136027117"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t136868653"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.205263\tblend_srcB\t1\tblend_option\tadd"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.05385 0.17692 0.33077 0.53846 0.74615 1.00000 "); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Sounds.Mission1_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Sounds.Mission1_heightfield.cs new file mode 100644 index 00000000..0d6cfbca --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Sounds.Mission1_heightfield.cs @@ -0,0 +1 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/SunDriedMask.png b/public/base/@vl2/missions.vl2/terrains/heightfield/SunDriedMask.png new file mode 100644 index 00000000..d4f1b371 Binary files /dev/null and b/public/base/@vl2/missions.vl2/terrains/heightfield/SunDriedMask.png differ diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/ThinIce_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/ThinIce_heightfield.cs new file mode 100644 index 00000000..de3a95c5 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/ThinIce_heightfield.cs @@ -0,0 +1,12 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t210\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t1298135813"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 1.00000 0.95385 0.63846 0.11538 0.00000 0.00000 0.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.84615 0.56154 0.25385 0.00000 0.00000 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t5\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t159547841"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.600\tridgesmooth_iter\t1"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.878947\tblend_srcB\t3\tblend_option\tAdd"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t3\trmf_rough\t0.000\trmf_detail\tVery High\trmf_seed\t1298135813"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99231 1.00000 "); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t7\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands1_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands1_heightfield.cs new file mode 100644 index 00000000..e27ca11c --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands1_heightfield.cs @@ -0,0 +1,6 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t250\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t10\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t1546771905"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.10526 0.11538 0.20000 0.20769 0.32308 0.35385 0.42105 0.43077 0.52308 0.57895 0.59231 0.68421 0.73684 0.78947 0.79231 0.89474 0.90769 0.93846 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t1296838845"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.99231 1.00000 1.00000 0.77692 0.26154 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands2_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands2_heightfield.cs new file mode 100644 index 00000000..d37164fc --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands2_heightfield.cs @@ -0,0 +1,6 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t275\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t8\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t577576349"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.07692 0.09231 0.20000 0.20769 0.32308 0.35385 0.42105 0.43077 0.52308 0.57895 0.59231 0.68421 0.73684 0.78947 0.79231 0.89474 0.90769 0.93846 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t647969045"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.99231 1.00000 1.00000 0.77692 0.26154 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands3_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands3_heightfield.cs new file mode 100644 index 00000000..e054b0e1 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands3_heightfield.cs @@ -0,0 +1,6 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t250\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t1722431131"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.10526 0.11538 0.20000 0.20769 0.32308 0.35385 0.42105 0.43077 0.52308 0.57895 0.59231 0.68421 0.73684 0.78947 0.79231 0.89474 0.90769 0.93846 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t5\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t1296838845"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.99231 1.00000 1.00000 0.77692 0.26154 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\t"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands4_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands4_heightfield.cs new file mode 100644 index 00000000..5e12006a --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Badlands4_heightfield.cs @@ -0,0 +1,6 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t250\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t1722431131"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.10526 0.11538 0.20000 0.20769 0.32308 0.35385 0.42105 0.43077 0.52308 0.57895 0.59231 0.68421 0.73684 0.78947 0.79231 0.89474 0.90769 0.93846 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t4\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t1982915875"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.99231 1.00000 1.00000 0.77692 0.26154 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert1_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert1_heightfield.cs new file mode 100644 index 00000000..7b98887f --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert1_heightfield.cs @@ -0,0 +1,3 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t125\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t5\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t1774202283"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.31538 0.31538 0.31538 0.31538 0.31538 0.31538 0.31538 0.30769 0.21538 0.20000 0.19231 0.10769 0.09231 0.08462 0.03077 0.02308 "); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert2_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert2_heightfield.cs new file mode 100644 index 00000000..4cf71a8f --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert2_heightfield.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t60\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t11\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t1298293709"); +Heightfield::add("Filter\ttab_Filter\tfilter\t1.00000 0.98462 1.00000 1.00000 0.60769 0.54615 0.54545 0.47692 0.00000 0.00000 0.00000 0.00000 "); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t11\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t1526447261"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.99231 1.00000 0.99231 0.99231 0.50769 0.45455 0.44615 0.39231 0.00000 0.00000 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.689474\tblend_srcB\t2\tblend_option\tMin"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.09091 0.18182 0.27273 0.36364 0.45455 0.54545 0.63636 0.80000 0.81818 1.00000 1.00000 "); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert5_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert5_heightfield.cs new file mode 100644 index 00000000..879b55c8 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Desert5_heightfield.cs @@ -0,0 +1,5 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t70\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tHigh\tfBm_seed\t478066413"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.00769 0.44615 0.50000 0.55385 1.00000 1.00000 1.00000 "); +Heightfield::add("Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/LandBridges.png"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Lush1_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Lush1_heightfield.cs new file mode 100644 index 00000000..265a9454 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Lush1_heightfield.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t275\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t805898165"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.05385 0.13846 0.16154 0.22308 0.28462 0.32308 0.35385 0.46923 0.51538 0.54615 0.63077 0.79231 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t2059474115"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.98462 0.88462 0.75385 0.64615 0.53846 0.48462 0.40769 0.33846 0.24615 0.17692 0.11538 0.00000 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.850\tridgesmooth_iter\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Lush2_heightfield.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Lush2_heightfield.cs new file mode 100644 index 00000000..91c7ef13 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/Working.Lush2_heightfield.cs @@ -0,0 +1,7 @@ +Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t225\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0"); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t565683215"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.00000 0.05385 0.13846 0.16154 0.22308 0.28462 0.32308 0.35385 0.46923 0.51538 0.54615 0.63077 0.79231 "); +Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t5\trmf_rough\t0.000\trmf_detail\tHigh\trmf_seed\t2064306989"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.98462 0.88462 0.75385 0.64615 0.53846 0.48462 0.33846 0.29231 0.24615 0.17692 0.06923 0.00000 0.00000 0.00000 "); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tMultiply"); +Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.850\tridgesmooth_iter\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/heightfield/desert.cs b/public/base/@vl2/missions.vl2/terrains/heightfield/desert.cs new file mode 100644 index 00000000..7d94f4e8 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/heightfield/desert.cs @@ -0,0 +1,8 @@ +Heightfield::add("\t"); +Heightfield::add("General\tTab_general\tgeneral_min_height\t0\tgeneral_scale\t175\tgeneral_water\t0.273684\tgeneral_centerx\t879.301\tgeneral_centery\t641.805"); +Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t6\tfbm_rough\t0.000\tfBm_detail\tVery Low\tfBm_seed\t915321697"); +Heightfield::add("Canyon Fractal\ttab_Canyon\tcanyon_freq\t4\tcanyon_factor\t0.500\tcanyon_seed\t919506399"); +Heightfield::add("Turbulence\ttab_Turbulence\tturbulence_factor\t0.4\tturbulence_radius\t40"); +Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.5\tblend_srcB\t2\tblend_option\tSubtract"); +Heightfield::add("Filter\ttab_Filter\tfilter\t0.00000 0.10000 0.41538 0.50000 0.95385 1.00000 1.00000 "); +Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.500\twatersmooth_iter\t2"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/DeathBirdsFly_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/DeathBirdsFly_texture.cs new file mode 100644 index 00000000..d06d61ea --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/DeathBirdsFly_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("DesertWorld.SandOrange\t1016\nFractal Distortion\ttab_DistortMask\t1017\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1356487715\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1018\t1017\ttextureSlopeFilter\t0.17692 0.05385 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("DesertWorld.RockFractured\t1019\nFractal Distortion\ttab_DistortMask\t1020\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1592783709\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1021\t1020\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.04615 0.13077 0.23077 \tslopeDistort\t1"); +Texture::addMaterial("DesertWorld.SandBurnt\t1022\nFractal Distortion\ttab_DistortMask\t1023\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t592046387\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1024\t1023\ttextureSlopeFilter\t0.00000 0.00000 0.08462 0.07692 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("DesertWorld.SandOxidized\t1025\nFractal Distortion\ttab_DistortMask\t1026\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t787833239\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1027\t1026\ttextureSlopeFilter\t0.00000 0.00000 0.03846 0.00000 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/Mark1_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/Mark1_texture.cs new file mode 100644 index 00000000..5624bbae --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/Mark1_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.LushWorld.RockMossy\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t358359485\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.17692 0.46923 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassDark\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t455405997\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.27692 0.08462 0.00769 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassLight\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t67651845\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.18462 0.01538 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.DirtMossy\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t55297705\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.00000 0.03077 0.16923 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewDesert1_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewDesert1_texture.cs new file mode 100644 index 00000000..36d0a27d --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewDesert1_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.DesertWorld.SandOrange\t1001\nFractal Distortion\ttab_DistortMask\t1002\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1447235009\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1003\t1002\ttextureSlopeFilter\t0.18462 0.16154 0.11538 0.08462 0.03846 0.00000 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.Sand\t1004\nFractal Distortion\ttab_DistortMask\t1005\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t597161109\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1006\t1005\ttextureSlopeFilter\t0.22308 0.22308 0.20000 0.17692 0.14615 0.10769 0.07692 0.03846 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.RockSmooth\t1010\nFractal Distortion\ttab_DistortMask\t1011\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t158632477\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1012\t1011\ttextureSlopeFilter\t0.00000 0.00000 0.00769 0.05385 0.12308 0.16923 0.12308 0.06923 0.02308 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.RockFractured\t1013\nFractal Distortion\ttab_DistortMask\t1014\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t2025573557\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1015\t1014\ttextureSlopeFilter\t0.00000 0.00000 0.04615 0.06154 0.09231 0.11538 0.13077 0.16923 0.23077 0.35385 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewDesert2_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewDesert2_texture.cs new file mode 100644 index 00000000..698cb7cd --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewDesert2_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.DesertWorld.SandOrange\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1447235009\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.24615 0.16154 0.11538 0.08462 0.03846 0.00000 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.Sand\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t597161109\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.20000 0.22308 0.20000 0.17692 0.14615 0.10769 0.08462 0.06923 0.03077 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.RockSmooth\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t158632477\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.00769 0.05385 0.12308 0.16923 0.12308 0.06923 0.03846 0.03846 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.RockFractured\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t2025573557\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.01538 0.06923 0.06154 0.09231 0.11538 0.13077 0.16923 0.23077 0.35385 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewDesert3_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewDesert3_texture.cs new file mode 100644 index 00000000..df7c9203 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewDesert3_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.DesertWorld.SandOrange\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1447235009\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.15385 0.13077 0.10769 0.08462 0.06154 0.01538 0.00769 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.Sand\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t597161109\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.20000 0.22308 0.20000 0.17692 0.14615 0.10769 0.08462 0.06923 0.03077 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.RockSmooth\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t158632477\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.06154 0.05385 0.12308 0.16923 0.13846 0.12308 0.20000 0.32308 \tslopeDistort\t1"); +Texture::addMaterial("terrain.DesertWorld.RockFractured\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t2025573557\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.01538 0.06923 0.06154 0.09231 0.11538 0.13077 0.16923 0.23077 0.35385 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewLava1_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewLava1_texture.cs new file mode 100644 index 00000000..5fe3fd07 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewLava1_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("LavaWorld.Crust\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t939722797\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.03077 0.06923 0.20000 0.26923 0.29231 0.31538 \tslopeDistort\t1"); +Texture::addMaterial("LavaWorld.LavaRockHot\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t1984410581\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.44615 0.31538 0.11538 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("LavaWorld.MuddyAsh\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1677429813\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.28462 0.27692 0.23077 0.17692 0.12308 0.05385 0.02308 0.00000 0.00000 \tslopeDistort\t0\nPlace by Height\ttab_HeightMask\t1009\t1007\ttextureHeightFilter\t0.00000 0.08462 1.00000 0.99231 1.00000 0.99231 1.00000 1.00000 1.00000 \theightDistort\t1"); +Texture::addMaterial("IceWorld.RockBlue\t1010\nFractal Distortion\ttab_DistortMask\t1011\t1011\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t939722797\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1012\t1011\ttextureSlopeFilter\t0.00000 0.02308 0.11538 0.20769 0.31538 0.34615 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewLava2_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewLava2_texture.cs new file mode 100644 index 00000000..a64cbda0 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewLava2_texture.cs @@ -0,0 +1,3 @@ +Texture::addMaterial("IceWorld.RockBlue\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t367331293\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.01538 0.06923 0.13846 0.19231 0.30000 0.36923 0.43077 0.43077 0.43077 0.43077 \tslopeDistort\t0"); +Texture::addMaterial("LavaWorld.LavaRockHot\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1212156373\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.36154 0.18462 0.13077 0.07692 0.06923 0.05385 0.03846 0.03077 0.00000 0.00000 0.00000 \tslopeDistort\t0\nPlace by Height\ttab_HeightMask\t1017\t1004\ttextureHeightFilter\t0.99231 1.00000 1.00000 0.00000 0.00000 0.00000 \theightDistort\t1"); +Texture::addMaterial("LavaWorld.MuddyAsh\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t491343453\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t1.00000 0.99231 0.96154 0.83846 0.46923 0.29231 0.19231 0.11538 0.06154 0.02308 0.00000 \tslopeDistort\t0\nPlace by Height\ttab_HeightMask\t1009\t1007\ttextureHeightFilter\t0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.99231 1.00000 1.00000 \theightDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewLush1_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewLush1_texture.cs new file mode 100644 index 00000000..a2cbb4ee --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewLush1_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.LushWorld.DirtMossy\t1016\nFractal Distortion\ttab_DistortMask\t1017\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1807707773\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1018\t1017\ttextureSlopeFilter\t0.06923 0.01538 0.00000 0.00000 0.00000 0.03077 0.08462 0.16154 0.30000 0.46154 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassLight\t1019\nFractal Distortion\ttab_DistortMask\t1020\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t919743021\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1021\t1020\ttextureSlopeFilter\t0.00000 0.00000 0.00769 0.02308 0.03846 0.08462 0.16154 0.07692 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassMixed\t1022\nFractal Distortion\ttab_DistortMask\t1023\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1222040773\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1024\t1023\ttextureSlopeFilter\t0.02308 0.10000 0.13846 0.12308 0.09231 0.04615 0.02308 0.00769 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.RockMossy\t1025\nFractal Distortion\ttab_DistortMask\t1026\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t419083197\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1027\t1026\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.20769 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewLush2_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewLush2_texture.cs new file mode 100644 index 00000000..9c4f4946 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewLush2_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.LushWorld.DirtMossy\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1807707773\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.22308 0.10769 0.03077 0.00000 0.00000 0.05385 0.10000 0.19231 0.30000 0.46154 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassLight\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t919743021\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.02308 0.00000 0.00769 0.00000 0.00000 0.03077 0.05385 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassMixed\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1222040773\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.02308 0.10000 0.13846 0.12308 0.09231 0.04615 0.00769 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.RockMossy\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t419083197\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.33077 0.14615 0.06154 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewLush3_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewLush3_texture.cs new file mode 100644 index 00000000..3ceec4c8 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewLush3_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("LushWorld.RockLight\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t688453925\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.03077 0.13846 0.26154 0.36154 0.42308 0.44615 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.Lakebed\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1787271413\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.08462 0.13846 0.05385 0.01538 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.DirtMossy\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1997695663\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.03077 0.07692 0.14615 0.13846 0.11538 0.06154 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.GrassMixed\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t957487229\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.35385 0.21538 0.12308 0.08462 0.06923 0.06154 0.04615 0.03077 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewSnow1_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewSnow1_texture.cs new file mode 100644 index 00000000..5f78d1a5 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewSnow1_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.IceWorld.Snow\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1609567325\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.15385 0.07692 0.16154 0.40000 0.40769 0.24615 0.14615 0.06154 0.01538 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.RockBlue\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t855719813\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.03846 0.17692 0.29231 0.33846 0.35385 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.SnowRock\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t978097909\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.17692 0.18462 0.03846 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.Ice\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1120595385\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.06923 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewSnow2_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewSnow2_texture.cs new file mode 100644 index 00000000..4dc487cc --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewSnow2_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.IceWorld.RockBlue\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t855719813\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.13846 0.35385 0.05385 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.Snow\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1609567325\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.03846 0.07692 0.16154 0.40000 0.40769 0.27692 0.19231 0.10000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.Ice\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1120595385\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.00000 0.05385 0.00000 0.00000 0.00000 0.10000 0.25385 0.39231 0.41538 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.SnowRock\t1016\nFractal Distortion\ttab_DistortMask\t1017\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1600554621\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1018\t1017\ttextureSlopeFilter\t0.00000 0.00000 0.03077 0.11538 0.16154 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewSnow3_textures.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewSnow3_textures.cs new file mode 100644 index 00000000..a88a5979 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewSnow3_textures.cs @@ -0,0 +1,3 @@ +Texture::addMaterial("IceWorld.Snow\t1013\nFractal Distortion\ttab_DistortMask\t1014\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t517777861\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1015\t1014\ttextureSlopeFilter\t0.03077 0.26923 0.31538 0.05385 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("IceWorld.SnowRock\t1016\nFractal Distortion\ttab_DistortMask\t1017\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1564994747\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1018\t1017\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.06923 0.26154 0.38462 \tslopeDistort\t1"); +Texture::addMaterial("IceWorld.Ice\t1019\nFractal Distortion\ttab_DistortMask\t1020\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t587900981\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1021\t1020\ttextureSlopeFilter\t0.23846 0.13846 0.03077 0.00000 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/NewSnowyGrass_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/NewSnowyGrass_texture.cs new file mode 100644 index 00000000..26da1057 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/NewSnowyGrass_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("Badlands.RockChipped\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t531153865\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Height\ttab_HeightMask\t1002\t1001\ttextureHeightFilter\t0.00000 0.06154 0.08462 0.08462 0.08462 0.08462 \theightDistort\t0\nPlace by Slope\ttab_SlopeMask\t1003\t1001\ttextureSlopeFilter\t0.00000 0.00000 0.40000 0.60000 0.80000 1.00000 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.DirtMossy\t1004\nFractal Distortion\ttab_DistortMask\t1005\t1005\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t531153865\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Height\ttab_HeightMask\t1006\t1005\ttextureHeightFilter\t0.00000 0.12308 0.07692 0.08462 0.08462 0.08462 \theightDistort\t0\nPlace by Slope\ttab_SlopeMask\t1007\t1005\ttextureSlopeFilter\t0.00000 0.10000 0.40000 0.60000 0.80000 1.00000 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.GrassMixed\t1008\nFractal Distortion\ttab_DistortMask\t1009\t1009\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1825534471\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Height\ttab_HeightMask\t1010\t1009\ttextureHeightFilter\t0.10000 0.08462 0.04615 0.02308 0.00000 0.00000 \theightDistort\t0\nPlace by Slope\ttab_SlopeMask\t1011\t1009\ttextureSlopeFilter\t0.13846 0.15385 0.12308 0.00000 0.00769 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("IceWorld.Snow\t1012\nFractal Distortion\ttab_DistortMask\t1013\t1013\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1987423133\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Height\ttab_HeightMask\t1014\t1013\ttextureHeightFilter\t0.00000 0.00000 0.41538 0.58462 0.60000 0.59231 \theightDistort\t0\nPlace by Slope\ttab_SlopeMask\t1015\t1013\ttextureSlopeFilter\t0.18462 0.18462 0.01538 0.00000 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/Overreach_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/Overreach_texture.cs new file mode 100644 index 00000000..cafa3eac --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/Overreach_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("terrain.IceWorld.RockBlue\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t855719813\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.40769 0.46923 0.48462 0.50769 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.Snow\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1609567325\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.32308 0.29231 0.20769 0.15385 0.09231 0.04615 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.IceWorld.SnowRock\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1600554621\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.04615 0.30000 0.60769 0.11538 0.03846 \tslopeDistort\t1"); +Texture::addMaterial("IceWorld.SnowIce\t1013\nFractal Distortion\ttab_DistortMask\t1014\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t635984589\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1015\t1014\ttextureSlopeFilter\t0.13846 0.09231 0.04615 0.00000 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/Reversion_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/Reversion_texture.cs new file mode 100644 index 00000000..361e9f82 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/Reversion_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("LushWorld.GrassDark\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t747095639\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.23846 0.23846 0.13846 0.00000 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.DirtMossy\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1245509823\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.16154 0.05385 0.03077 0.02308 0.02308 0.09231 0.23846 0.33077 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.RockMossy\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1047414797\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.13077 0.57692 \tslopeDistort\t1"); +Texture::addMaterial("LushWorld.GrassMixed\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t975009757\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.00000 0.06923 0.08462 0.00000 0.00000 \tslopeDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/Sounds.Mission1_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/Sounds.Mission1_texture.cs new file mode 100644 index 00000000..11cdaa8f --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/Sounds.Mission1_texture.cs @@ -0,0 +1,5 @@ +Texture::addMaterial("terrain.LushWorld.GrassMixed\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1058310159\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.00000 0.20000 0.40000 0.41538 0.26154 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.GrassLight\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1934927913\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.08462 0.19231 0.28462 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.RockMossy\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1575156427\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.03077 0.00000 0.22308 0.84615 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.DirtMossy\t1009\nFractal Distortion\ttab_DistortMask\t1010\t1010\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t158808901\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1011\t1010\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.03077 0.14615 0.56154 \tslopeDistort\t1"); +Texture::addMaterial("terrain.LushWorld.Lakebed\t1012\nFractal Distortion\ttab_DistortMask\t1013\t1013\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t579979781\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Water Level\ttab_WaterMask\t1014\t1013\twaterDistort\t1"); diff --git a/public/base/@vl2/missions.vl2/terrains/texture/ThinIce_texture.cs b/public/base/@vl2/missions.vl2/terrains/texture/ThinIce_texture.cs new file mode 100644 index 00000000..40d13187 --- /dev/null +++ b/public/base/@vl2/missions.vl2/terrains/texture/ThinIce_texture.cs @@ -0,0 +1,4 @@ +Texture::addMaterial("IceWorld.Snow\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t517777861\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.20769 0.37692 0.36923 0.04615 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("IceWorld.SnowRock\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1564994747\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.00000 0.00000 0.03077 0.20769 0.16154 0.03846 \tslopeDistort\t1\nPlace by Height\ttab_HeightMask\t1006\t1004\ttextureHeightFilter\t0.00000 0.08462 1.00000 1.00000 1.00000 1.00000 \theightDistort\t1"); +Texture::addMaterial("IceWorld.Ice\t1007\nFractal Distortion\ttab_DistortMask\t1008\t1008\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t587900981\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1009\t1008\ttextureSlopeFilter\t0.28462 0.07692 0.02308 0.00769 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t1"); +Texture::addMaterial("IceWorld.RockBlue\t1015\nFractal Distortion\ttab_DistortMask\t1016\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t14908261\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1017\t1016\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.05385 0.33077 \tslopeDistort\t1\nPlace by Height\ttab_HeightMask\t1018\t1016\ttextureHeightFilter\t0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 \theightDistort\t1"); diff --git a/public/base/@vl2/scripts.vl2/gui/AIEButtonBarDlg.gui b/public/base/@vl2/scripts.vl2/gui/AIEButtonBarDlg.gui new file mode 100644 index 00000000..510f783f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AIEButtonBarDlg.gui @@ -0,0 +1,517 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AIEButtonBarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 30"; + extent = "120 420"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl(ExteriorCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 23"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + command = "ExteriorCheckBox.updateCheckBox();"; + helpTag = "0"; + text = "Draw Ext"; + }; + new GuiCheckBoxCtrl(InteriorCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 47"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + command = "InteriorCheckBox.updateCheckBox();"; + helpTag = "0"; + text = "Draw Int"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 6"; + extent = "73 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Visual Options:"; + }; + new GuiCheckBoxCtrl(JetConnectionsCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 73"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + command = "JetConnectionsCheckBox.updateCheckBox();"; + helpTag = "0"; + text = "Draw Jet"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 201"; + extent = "100 29"; + minExtent = "8 8"; + visible = "1"; + command = "makeJettableGraph(Nav);"; + helpTag = "0"; + text = "Bot Graph"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 169"; + extent = "100 29"; + minExtent = "8 8"; + visible = "1"; + command = "makeJettableGraph(Spawn);"; + helpTag = "0"; + text = "Spawn Graph"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 233"; + extent = "100 29"; + minExtent = "8 8"; + visible = "1"; + command = "AIEButtonBarDlg.createLOSXref();"; + helpTag = "0"; + text = "Build LOS"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 265"; + extent = "100 29"; + minExtent = "8 8"; + visible = "1"; + command = "navGraph.saveGraph();"; + helpTag = "0"; + text = "Save"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 151"; + extent = "56 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Graph Build"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 315"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "AI Objectives"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 331"; + extent = "100 29"; + minExtent = "8 8"; + visible = "1"; + command = "AICreateObjectives();"; + helpTag = "0"; + text = "Build Objectives"; + }; + new GuiPopUpMenuCtrl(ObjectiveList) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 368"; + extent = "101 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "New Objective"; + maxPopupHeight = "200"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 395"; + extent = "100 29"; + minExtent = "8 8"; + visible = "1"; + command = "AISaveMissionObjectives();"; + helpTag = "0"; + text = "Save"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 102"; + extent = "73 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Camera speed:"; + }; + new GuiSliderCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 121"; + extent = "80 20"; + minExtent = "80 20"; + visible = "1"; + variable = "value"; + command = "$Camera::movementSpeed = $ThisControl.getValue();"; + helpTag = "0"; + range = "0.000000 200.000000"; + ticks = "10"; + value = "20"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function makeUnbridgedGraph() +{ + GraphCurrentOperation.setValue("Generating interior nodes..."); + Canvas.repaint(); + navGraph::generateInterior(); + dataProgress(); + + GraphCurrentOperation.setValue("Remaking graph..."); + Canvas.repaint(); + remakeTheGraph(); + dataProgress(); +} + +function makeJettableGraph(%NAVorSPAWN) +{ + AIworking(true); + + $NavGraph::operations = 7; + $NavGraph::operationsDone = 0; + + navGraph.setGenMode(%NAVorSPAWN); + navGraph::exteriorInspect(); + dataProgress(); + makeUnbridgedGraph(); + + GraphCurrentOperation.setValue("Beginning slow bridge finding pass"); + Canvas.repaint(); + + navGraph.assemble(); + + navGraph.cullIslands(); + remakeTheGraph(); + navGraph.pushBridges(); + navGraph.makeTables(); + dataProgress(); + + AIworking(false); +} + +//------------------------------------------------------------------------------ + +function AIEButtonBarDlg::getPrefs(%this) +{ +} + +//------------------------------------------------------------------------------ + +function AIEbuttonBarDlg::setPrefs(%this) +{ +} + +//------------------------------------------------------------------------------ + +function AIEButtonBarDlg::init(%this) +{ + InteriorCheckBox.setValue($pref::NavGraph::drawIndoor); + ExteriorCheckBox.setValue($pref::NavGraph::drawOutdoor); + + if(!$pref::NavGraph::drawIndoor) + JetConnectionsCheckBox.visible = false; + + JetConnectionsCheckBox.setValue($pref::NavGraph::drawJetEdges); + + ObjectiveList.clear(); + ObjectiveList.setText("New Objective"); + ObjectiveList.add("Deploy Outdoor Turret", 1); + ObjectiveList.add("Deploy Indoor Turret", 2); + ObjectiveList.add("Deploy Inventory", 3); + ObjectiveList.add("Touch FlipFlop", 4); + ObjectiveList.add("Mortar Target", 5); + ObjectiveList.add("Repair Equipment", 6); + ObjectiveList.add("Attack Target", 7); + ObjectiveList.add("Defend Location", 8); + objectiveList.add("New Group", 9); + + //ObjectivesList.sort(); +} + +//------------------------------------------------------------------------------ + +function AIEButtonBarDlg::onSleep(%this) +{ +} + +//------------------------------------------------------------------------------ + +function AIEButtonBarDlg::onWake(%this) +{ +} + +//------------------------------------------------------------------------------ + +function dataProgress() +{ + $NavGraph::operationsDone++; + %percent = $NavGraph::operationsDone / $NavGraph::operations; + GraphBuildProgress.setValue(%percent); + Canvas.repaint(); +} + +//------------------------------------------------------------------------------ + +function remakeTheGraph() +{ + GraphCurrentOperation.setValue("making graph..."); + Canvas.repaint(); + navGraph.makeGraph(); + dataProgress(); +} + +//------------------------------------------------------------------------------ + +function AIEButtonBarDlg::createLOSXref() +{ + AIworking(true); + GraphCurrentOperation.setValue("Making LOS CrossRef Table..."); + GraphBuildProgress.setValue(0); + + if(2.player) + navGraph.prepLOS(2.player.getTransform()); + else + navGraph.prepLOS("0 0 0"); + + while(navGraph.makeLOS()) + { + GraphBuildProgress.setValue($graphProcessPercent); + Canvas.repaint(); + } + GraphBuildProgress.setValue(100); + Canvas.repaint(); + AIworking(false); +} + +function ExteriorCheckBox::updateCheckBox() +{ + $pref::NavGraph::drawOutdoor = !$pref::NavGraph::drawOutdoor; +} + +function InteriorCheckBox::updateCheckBox() +{ + $pref::NavGraph::drawIndoor = !$pref::NavGraph::drawIndoor; + + if(!$pref::NavGraph::drawIndoor) + JetConnectionsCheckBox.visible = false; + else + jetConnectionsCheckBox.visible = true; +} + +function JetConnectionsCheckBox::updateCheckBox() +{ + $pref::NavGraph::drawJetEdges = !$pref::NavGraph::drawJetEdges; +} + +function AISaveMissionObjectives() +{ + // once we have created all objecitves, save out the mis file + if(!isObject(MissionGroup)) + { + error("No mission exists!"); + return; + } + + // check for read-only + %file = "base/missions/" @ $MissionName; + if(!isWriteableFileName(%file)) + { + error("Mission file '" @ %file @ "' is not writeable."); + return; + } + + // ok, were good to save. + missionGroup.save("missions/" @ $MissionName); +} + +function AIObjectivesLock(%lock) +{ + %numTeams = nameToId("MissionGroup/Teams").getCount(); + + for(%j = 0; %j < %numTeams; %j++) + { + %objGroup = nameToId("MissionGroup/Teams/team" @ %j @ "/AIObjectives"); + if(%objGroup == -1) + continue; + + %objCount = %objGroup.getCount(); + + for(%i = 0; %i < %objCount; %i++) + { + %obj = %objGroup.getObject(%i); + %obj.locked = %lock; + } + } + + // save + AISaveMissionObjectives(); +} + +function addNewObjective(%type) +{ + if($AIEditor::inspectTeam == 1) + %team = 1; + else if($AIEditor::inspectTeam == 2) + %team = 2; + else + %team = 1; + + %tGroup = nameToId("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); + + if(%tGroup < 1) + return; + + if($InstantGroup $= "MissionGroup") + $InstantGroup = %tGroup; + + switch$(%type) + { + case "Defend Location": + %objective = new AIObjective(AIODefendLocation) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Repair Equipment": + %objective = new AIObjective(AIORepairObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Deploy Outdoor Turret": + %Objective = new AIObjective(AIODeployEquipment) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 4100; + weightLevel2 = 0; + description = "Deploy outdoor Turret"; + offense = false; + defense = true; + targetObjectId = -1; + targetObject = -1; + targetClientId = -1; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + }; + case "Deploy Indoor Turret": + %Objective = new AIObjective(AIODeployEquipment) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 4100; + weightLevel2 = 0; + description = "Deploy indoor Turret"; + offense = false; + defense = true; + targetObjectId = -1; + targetObject = -1; + targetClientId = -1; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + }; + case "Attack Target": + %objective = new AIObjective(AIOAttackObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Touch FlipFlop": + %objective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Mortar Target": + %objective = new AIObjective(AIOMortarObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Deploy Inventory": + %Objective = new AIObjective(AIODeployEquipment) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 4100; + weightLevel2 = 0; + description = "Deploy Inventory Station"; + offense = false; + defense = true; + targetObjectId = -1; + targetObject = -1; + targetClientId = -1; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + }; + case "New Group": + %set = new SimGroup("ObjectiveSet"); + %tGroup.add(%set); + return; + default: + error("no defined type."); + return; + } + + $InstantGroup.add(%objective); + aiEdit.clearSelection(); + aiEdit.selectObject(%objective); + aiEdit.dropSelection(); + %objective.location = %objective.getWorldBoxCenter(); + Inspector.inspect(%objective); + InspectorNameEdit.setValue(%objective.getName()); +} + +function ObjectiveList::onSelect(%this, %id, %text) +{ + addNewObjective(%text); + ObjectiveList.setText("New Objective"); +} diff --git a/public/base/@vl2/scripts.vl2/gui/AIEFrameSetDlg.gui b/public/base/@vl2/scripts.vl2/gui/AIEFrameSetDlg.gui new file mode 100644 index 00000000..160435f3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AIEFrameSetDlg.gui @@ -0,0 +1,162 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AIEFrameSetDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + activeToolCount = "0"; + + new GuiFrameSetCtrl(AIEFrameSet) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "120 30"; + extent = "520 420"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + columns = "0"; + rows = "0"; + borderWidth = "4"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + + new GuiControl(AIEFrame) { + profile = "EditTSControlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "520 420"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + borderWidth = "2"; + + }; + new GuiFrameSetCtrl(AIEToolFrameSet) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "520 420"; + extent = "20 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + columns = "0"; + borderWidth = "3"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function AIEFrameSetDlg::getPrefs(%this) +{ +} + +function AIEFrameSetDlg::setPrefs(%this) +{ +} + +function AIEFrameSetDlg::onWake(%this) +{ + $AIEdit = true; + AIEditorMap.push(); + aiEdit.clearIgnoreList(); + aiEdit.ignoreObjClass(AIObjective); + aiEdit.toggleIgnoreList = true; + aiEdit.renderNav = true; +} + +function AIEFrameSetDlg::onSleep(%this) +{ + $AIEdit = false; + AIEditorMap.pop(); + EditorTree.open("MissionGroup"); +} + +function AIEFrameSetDlg::init(%this) +{ + AIEFrame.add(aiEdit); + %this.resetFrames(); +} + +function AIEFrameSetDlg::update(%this) +{ + // check the frame to see if it is visible + if(AIEToolFrameSet.getCount()) + { + %res = getResolution(); + + //90 = width of button bar + %width = getWord(%res, 0) - 90; + + if(AIEFrameSet.getColumnOffset(1) > %width - editor.minToolFrameWidth) + AIEFrameSet.setColumnOffset(1, %width - editor.minToolFrameWidth); + } +} + +function AIEFrameSetDlg::resetFrames(%this) +{ + %tools = AIEToolFrameSet; + while(%tools.getRowCount() > %tools.getCount()) + %tools.removeRow(); + while(%tools.getRowCount() < %tools.getCount()) + %tools.addRow(); + + %offset = 400; + + // update the frame view + %frameSet = AIEFrameSet; + if(!%tools.getCount() && (%frameSet.getColumnCount() > 1)) + { + %Offset = %frameSet.getColumnOffset(1); + %frameSet.removeColumn(); + } + if(%tools.getCount() && (%frameSet.getColumnCount() == 1)) + { + %frameSet.addColumn(); + %frameSet.setColumnOffset(1, %offset); + } + + //if(%tools.getCount()) + //%this.toolPaneOffset = AIEFrameSet.getColumnOffset(1); + %this.activeToolCount = %tools.getCount(); +} + +function AIEFrameSetDlg::addTool(%this, %tool) +{ + %group = nameToId("MissionGroup/Teams/team" @ $AIEditor::inspectTeam @ "/AIObjectives"); + + if(%group == -1) + return false; + + if($AIEditor::inspectTeam == 1) + EditorTree.open("MissionGroup/Teams/team1/AIObjectives"); + else + EditorTree.open("MissionGroup/Teams/team2/AIObjectives"); + + AIEToolFrameSet.add(%tool); + %this.resetFrames(); + return true; +} + +function AIEFrameSetDlg::removeTool(%this, %tool) +{ + AIEToolFrameSet.remove(%tool); + %this.resetFrames(); +} + diff --git a/public/base/@vl2/scripts.vl2/gui/AIEStatusbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/AIEStatusbarDlg.gui new file mode 100644 index 00000000..b3d420da --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AIEStatusbarDlg.gui @@ -0,0 +1,83 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AIEStatusBarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "0 450"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 8"; + extent = "39 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Mission:"; + }; + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "49 6"; + extent = "188 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl(AIEMissionNameText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 2"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function AIEStatusBarDlg::init(%this) +{ + %this.update(); +} + +function AIEStatusBarDlg::update(%this) +{ + if($MissionName $= "") + AIEMissionNameText.setValue(""); + else + AIEMissionNameText.setValue($MissionName); +} diff --git a/public/base/@vl2/scripts.vl2/gui/AIEWorkingDlg.gui b/public/base/@vl2/scripts.vl2/gui/AIEWorkingDlg.gui new file mode 100644 index 00000000..a9363833 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AIEWorkingDlg.gui @@ -0,0 +1,66 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AIEWorkingDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl() { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "234 5"; + extent = "400 130"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellLargeLabelProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 10"; + extent = "378 40"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Building Graph ..."; + }; + new GuiProgressCtrl(GraphBuildProgress) { + profile = "ShellProgressBarProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "29 50"; + extent = "342 31"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + setValue = "0"; + }; + new GuiTextCtrl(GraphCurrentOperation) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 96"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/AIEditorGui.gui b/public/base/@vl2/scripts.vl2/gui/AIEditorGui.gui new file mode 100644 index 00000000..5d1222bb --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AIEditorGui.gui @@ -0,0 +1,46 @@ + +new WorldEditor(aiEdit) +{ + profile = ""; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "520 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; +}; + +//------------------------------------------------------------------------------ + +function AIworking(%working) +{ + if(%working) + { + Canvas.pushDialog(AIEWorkingDlg); + GraphBuildProgress.setValue(0.0); + } + else + Canvas.popDialog(AIEWorkingDlg); + + Canvas.repaint(); +} + +new ActionMap(AIEditorMap); +//AIEditorMap.bindCmd(keyboard, "space", "aiEdit.nextMode();", ""); + +AIEditorMap.bindCmd(keyboard, "ctrl c", "aiEdit.copySelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl x", "aiEdit.copySelection();aiEdit.deleteSelection();", ""); +AIEditorMap.bindCmd(keyboard, "delete", "aiEdit.copySelection();aiEdit.deleteSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl v", "aiEdit.pasteSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl h", "aiEdit.hideSelection(true);", ""); +AIEditorMap.bindCmd(keyboard, "alt h", "aiEdit.hideSelection(false);", ""); +AIEditorMap.bindCmd(keyboard, "i", "Canvas.pushDialog(interiorDebugDialog);", ""); +AIEditorMap.bindCmd(keyboard, "ctrl d", "aiEdit.dropSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl q", "aiEdit.dropCameraToSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl m", "aiEdit.moveSelectionInPlace();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl r", "aiEdit.resetTransforms();", ""); +AIEditorMap.bindCmd(keyboard, "space", "aiEdit.nextMode();", ""); + + diff --git a/public/base/@vl2/scripts.vl2/gui/AIEditorToolBar.gui b/public/base/@vl2/scripts.vl2/gui/AIEditorToolBar.gui new file mode 100644 index 00000000..facfbb6d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AIEditorToolBar.gui @@ -0,0 +1,90 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AIEditorToolBar) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl(AIEditorObjectivesTree1CheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "290 5"; + extent = "114 20"; + minExtent = "8 8"; + visible = "1"; + command = "AIEditorObjectivesTree1CheckBox.setTreeGui(1);"; + helpTag = "0"; + text = "Objectives Team 1"; + }; + new GuiCheckBoxCtrl(AIEditorObjectivesTree2CheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "405 5"; + extent = "114 20"; + minExtent = "8 8"; + visible = "1"; + command = "AIEditorObjectivesTree2CheckBox.setTreeGui(2);"; + helpTag = "0"; + text = "Objectives Team 2"; + }; + new GuiCheckBoxCtrl(AIEditorObjectivesInspectorCheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "520 5"; + extent = "114 20"; + minExtent = "8 8"; + visible = "1"; + command = "if($ThisControl.getValue()) AIEFrameSetDlg.addTool(EditorToolInspectorGui); else AIEFrameSetDlg.removeTool(EditorToolInspectorGui);"; + helpTag = "0"; + text = "Objectives Inspector"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function AIEditorToolBar::init(%this) +{ +} + +function AIEditorObjectivesTree1CheckBox::setTreeGui(%this, %team) +{ + $AIEditor::inspectTeam = %team; + AIEditorObjectivesTree2CheckBox.setValue(false); + + if($ThisControl.getValue()) + %isSet = AIEFrameSetDlg.addTool(EditorToolTreeViewGui); + else + %isSet = AIEFrameSetDlg.removeTool(EditorToolTreeViewGui); + + $ThisControl.setValue(%isSet); +} + +function AIEditorObjectivesTree2CheckBox::setTreeGui(%this, %team) +{ + $AIEditor::inspectTeam = %team; + AIEditorObjectivesTree1CheckBox.setValue(false); + + if($ThisControl.getValue()) + %isSet = AIEFrameSetDlg.addTool(EditorToolTreeViewGui); + else + %isSet = AIEFrameSetDlg.removeTool(EditorToolTreeViewGui); + + $ThisControl.setValue(%isSet); +} diff --git a/public/base/@vl2/scripts.vl2/gui/AddressDlg.gui b/public/base/@vl2/scripts.vl2/gui/AddressDlg.gui new file mode 100644 index 00000000..c6b56311 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AddressDlg.gui @@ -0,0 +1,338 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AddressDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lbstate = "buddylist"; + msg = "Request Processed"; + lbline = "6"; + DestList = "1"; + key = "28"; + state = "noprocess"; + lbcount = "6"; + blstate = "DONE"; + useVariable = "0"; + doRefresh = "1"; + SrcList = "2"; + err = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "79 68"; + extent = "481 344"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "LIST CONTROL"; + noTitleBar = "0"; + + new ShellBitmapButton(LC_CCListBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "219 178"; + extent = "75 38"; + minExtent = "32 38"; + visible = "1"; + command = "AddressDlg.AddCC();"; + helpTag = "0"; + text = "DEL"; + simpleStyle = "0"; + direction = "1"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 115"; + extent = "183 178"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "159 164"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(LC_BigList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "159 8"; + minExtent = "8 8"; + visible = "1"; + variable = "$LCBigList"; + command = "AddressDlg.onClick(\"BIGLIST\");"; + altCommand = "AddressDlg.onDblClick(0);"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(LC_ToListBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "219 38"; + extent = "75 38"; + minExtent = "32 38"; + visible = "1"; + command = "AddressDlg.AddTo();"; + helpTag = "0"; + text = "DEL"; + simpleStyle = "0"; + direction = "1"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "284 40"; + extent = "168 119"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "144 105"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(LC_ToList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "144 8"; + minExtent = "8 8"; + visible = "1"; + variable = "$LCToList"; + command = "AddressDlg.onClick(\"TOLIST\");"; + altCommand = "AddressDlg.onDblClick(1);"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + direction = "1"; + }; + }; + }; + new ShellBitmapButton(LC_BuddyListBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 288"; + extent = "194 38"; + minExtent = "32 38"; + visible = "1"; + command = "AddressDlg.AddBuddyList();"; + helpTag = "0"; + text = "ADD TO BUDDYLIST"; + simpleStyle = "0"; + direction = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "284 175"; + extent = "168 118"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "144 104"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(LC_CCList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "144 8"; + minExtent = "8 8"; + visible = "1"; + variable = "$LCCCList"; + command = "AddressDlg.OnClick(\"CCLIST\");"; + altCommand = "AddressDlg.onDblClick(2);"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(LC_OKBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "368 288"; + extent = "89 38"; + minExtent = "32 38"; + visible = "1"; + command = "AddressDlg.OK();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "288 29"; + extent = "40 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TO List:"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "288 163"; + extent = "41 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "CC List:"; + }; + new ShellBitmapButton(LC_CancelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "278 288"; + extent = "89 38"; + minExtent = "32 38"; + visible = "1"; + command = "AddressDlg.Cancel();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellPopupMenu(LC_ListBox) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 76"; + extent = "193 36"; + minExtent = "49 36"; + visible = "1"; + command = "AddressDlg.onClick(\"LISTBOX\");"; + helpTag = "0"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellTextEditCtrl(LC_Search) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 38"; + extent = "158 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$LCSearch"; + command = "AddressDlg.onClick(\"SEARCHBOX\");"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 29"; + extent = "38 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Search:"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 68"; + extent = "22 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "List:"; + }; + new ShellBitmapButton(LC_GoSearchBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "167 38"; + extent = "53 38"; + minExtent = "32 38"; + visible = "1"; + command = "AddressDlg.GoSearch();"; + helpTag = "0"; + text = "GO"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/AdvancedHostDlg.gui b/public/base/@vl2/scripts.vl2/gui/AdvancedHostDlg.gui new file mode 100644 index 00000000..5040ecf4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/AdvancedHostDlg.gui @@ -0,0 +1,561 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(AdvancedHostDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "50 30"; + extent = "540 420"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ADVANCED HOST OPTIONS"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 40"; + extent = "40 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Port:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellTextEditCtrl(AH_HostPort) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "67 32"; + extent = "98 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "8"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 40"; + extent = "64 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Time Limit:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellTextEditCtrl(AH_TimeLimit) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "226 32"; + extent = "68 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "3"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "292 40"; + extent = "41 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Minutes"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "40 70"; + extent = "110 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Admin Password:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellTextEditCtrl(AH_AdminPassword) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "146 62"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "16"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellRadioButton(AH_HiFPSRdo) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "358 37"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "HIGH FRAME RATE"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "0"; + }; + new ShellRadioButton(AH_HiVisibilityRdo) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "358 67"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "HIGH VISIBILITY"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "0"; + }; + new ShellToggleButton(AH_DedicatedTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 106"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DEDICATED"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(AH_PureServerTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "195 106"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "PURE SERVER"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(AH_TeamDamageTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "358 106"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TEAM DAMAGE ON"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(AH_TournamentTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 136"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TOURNAMENT MODE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(AH_AdminVoteTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "195 136"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ALLOW ADMIN VOTES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(AH_AllowSmurfTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "358 136"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ALLOW ALIASES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 174"; + extent = "114 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Vote Pass Percentage:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(AH_VotePassText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "198 175"; + extent = "29 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "60%"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(AH_VotePassSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "89 189"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "AH_VotePassText.update();"; + helpTag = "0"; + range = "50.000000 100.000000"; + ticks = "51"; + value = "70"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 214"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Vote Time:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(AH_VoteTimeText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 215"; + extent = "69 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "20 seconds"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(AH_VoteTimeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "89 229"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "AH_VoteTimeText.update();"; + helpTag = "0"; + range = "10.000000 60.000000"; + ticks = "51"; + value = "20"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "277 175"; + extent = "93 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Observer Timeout:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(AH_RespawnText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "375 176"; + extent = "69 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "30 seconds"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(AH_RespawnSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "287 190"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "AH_RespawnText.update();"; + helpTag = "0"; + range = "10.000000 60.000000"; + ticks = "51"; + value = "45"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "277 215"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Warmup Time:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(AH_WarmupText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "354 216"; + extent = "69 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "30 seconds"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(AH_WarmupSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "287 230"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "AH_WarmupText.update();"; + helpTag = "0"; + range = "0.000000 30.000000"; + ticks = "31"; + value = "20"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "143 262"; + extent = "58 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Server Info:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "140 275"; + extent = "260 85"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "230 71"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextEditCtrl(AH_ServerInfo) { + profile = "ShellMessageTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "230 71"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "95 365"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog( AdvancedHostDlg );"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "317 365"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "AdvancedHostDlg.Accept();"; + helpTag = "0"; + text = "SAVE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/BrowserEditInfoDlg.gui b/public/base/@vl2/scripts.vl2/gui/BrowserEditInfoDlg.gui new file mode 100644 index 00000000..f5e85ae8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/BrowserEditInfoDlg.gui @@ -0,0 +1,96 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(BrowserEditInfoDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "70 80"; + extent = "500 320"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "EDIT DESCRIPTION"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "81 265"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.pendingChanges = \"\";WarriorPropertiesDlg.pendingChanges = \"\";Canvas.popDialog(BrowserEditInfoDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "25 34"; + extent = "449 233"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "419 219"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextEditCtrl(EditDescriptionText) { + profile = "ShellMessageTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "419 219"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "3600"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "291 265"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "EditDescriptionApply();"; + helpTag = "0"; + text = "APPLY"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/BrowserSearchDlg.gui b/public/base/@vl2/scripts.vl2/gui/BrowserSearchDlg.gui new file mode 100644 index 00000000..d2c1117c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/BrowserSearchDlg.gui @@ -0,0 +1,147 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(BrowserSearchDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(BrowserSearchPane) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 61"; + extent = "399 358"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 46"; + extent = "44 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Search:"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 93"; + extent = "226 187"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "202 173"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(BrowserSearchMatchList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "202 8"; + minExtent = "8 8"; + visible = "1"; + altCommand = "BrowserSearchDone();"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + }; + }; + }; + new ShellBitmapButton(BSearchOKBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "201 288"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + command = "BrowserSearchDone();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "172 80"; + extent = "47 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Matches:"; + }; + new ShellTextEditCtrl(Search_EditField) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "139 33"; + extent = "133 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$BrowserSearchField"; + altCommand = "BrowserStartSearch();"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 288"; + extent = "116 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(BrowserSearchDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "262 33"; + extent = "51 38"; + minExtent = "32 38"; + visible = "1"; + command = "BrowserStartSearch();"; + helpTag = "0"; + text = "GO"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/CenterPrint.gui b/public/base/@vl2/scripts.vl2/gui/CenterPrint.gui new file mode 100644 index 00000000..f94046e9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CenterPrint.gui @@ -0,0 +1,26 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(CenterPrintDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "638 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(CenterPrintText) { + profile = "ShellProgressBarTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "300 240"; + extent = "640 128"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "6"; + }; +}; + + +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ChannelBanDlg.gui b/public/base/@vl2/scripts.vl2/gui/ChannelBanDlg.gui new file mode 100644 index 00000000..b0e7bd16 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChannelBanDlg.gui @@ -0,0 +1,107 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChannelBanDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(ChannelBanPane) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "154 65"; + extent = "332 346"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "EDIT BAN LIST"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 28"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Warrior Name:"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "22 42"; + extent = "287 248"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "279 234"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellChatMemberList(ChannelBanList) { + profile = "ShellChatMemberListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "263 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0 169"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(ChannelBanRemoveBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "32 291"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "ChannelRemoveBan();"; + helpTag = "0"; + text = "REMOVE BAN"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "169 291"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ChannelBanDlg);"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ChannelKeyDlg.gui b/public/base/@vl2/scripts.vl2/gui/ChannelKeyDlg.gui new file mode 100644 index 00000000..b12e17c4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChannelKeyDlg.gui @@ -0,0 +1,111 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChannelKeyDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 160"; + extent = "400 159"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "CHANNEL PASSWORD"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "34 40"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Channel:"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "119 38"; + extent = "221 24"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(KeyChannelName) { + profile = "ShellStaticTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "8 3"; + extent = "205 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "34 70"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Password:"; + }; + new ShellTextEditCtrl(EditChannelKey) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "110 62"; + extent = "238 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + password = "1"; + glowOffset = "9 9"; + altCommand = "keyChannelJoin();"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "48 104"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ChannelKeyDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "224 104"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "KeyChannelJoin();"; + helpTag = "0"; + text = "JOIN"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ChannelOptionsDlg.gui b/public/base/@vl2/scripts.vl2/gui/ChannelOptionsDlg.gui new file mode 100644 index 00000000..de0f6782 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChannelOptionsDlg.gui @@ -0,0 +1,224 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChannelOptionsDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "75 102"; + extent = "490 276"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "CHANNEL OPTIONS"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 38"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Channel:"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "91 36"; + extent = "218 24"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(EditChannelName) { + profile = "ShellStaticTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "8 3"; + extent = "202 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 68"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Topic:"; + }; + new ShellTextEditCtrl(EditChannelTopic) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "81 60"; + extent = "362 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "64"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellToggleButton(ButtonChannelInvite) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 106"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$EditChannelInvite"; + command = "ToggleChannelInvite();"; + helpTag = "0"; + text = "INVITE ONLY"; + }; + new ShellToggleButton(ButtonChannelModerate) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "277 106"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$EditChannelModerate"; + helpTag = "0"; + text = "MODERATE"; + }; + new ShellToggleButton(ButtonChannelLimit) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 148"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$EditChannelLimit"; + command = "ToggleChannelLimit();"; + helpTag = "0"; + text = "LIMIT MEMBERS"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "201 151"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Max:"; + }; + new ShellTextEditCtrl(EditChannelMaxMembers) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "256 143"; + extent = "99 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "5"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellToggleButton(ButtonChannelKey) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 178"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$EditChannelKey"; + command = "ToggleChannelKey();"; + helpTag = "0"; + text = "REQUIRE PASSWORD"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "201 181"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Password:"; + }; + new ShellTextEditCtrl(EditChannelPassword) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "256 173"; + extent = "198 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "315 30"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.pushDialog(ChannelBanDlg);"; + helpTag = "0"; + text = "BAN LIST"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "78 221"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CancelChannelOptions();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(ButtonChannelAccept) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "284 221"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "AcceptChannelOptions();"; + helpTag = "0"; + text = "ACCEPT"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ChatDlg.gui b/public/base/@vl2/scripts.vl2/gui/ChatDlg.gui new file mode 100644 index 00000000..43b46971 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChatDlg.gui @@ -0,0 +1,138 @@ +new GuiControl(MainChatHud) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + modal = "1"; + bypassHideCursor = "1"; + setFirstResponder = "0"; + + new GuiNoMouseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "0 0"; + extent = "300 300"; + minExtent = "8 8"; + visible = "1"; + + new HudHorzCtrl(mainVoteHud) { + profile = "HudVoteBackProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "8 75"; + extent = "256 5"; + minExtent = "2 2"; + visible = "0"; + + new GuiVoteCtrl(voteHud) { + profile = "ShellProgressBarProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "6 2"; + extent = "244 3"; + minExtent = "2 2"; + visible = "1"; + }; + + new GuiBitmapCtrl(passHash) + { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "151 -1"; + extent = "5 10"; + minExtent = "1 1"; + visible = "1"; + bitmap = "gui/voteMeterPassBar"; + }; + }; + + new ShellFieldCtrl(OuterChatHud) + { + profile = "GuiChatBackProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "8 8"; + extent = "256 72"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + + new GuiBitmapCtrl(chatPageDown) + { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "250 50"; + extent = "13 13"; + minExtent = "8 8"; + visible = "0"; + bitmap = "gui/hud_chatPageDown"; + }; + + new GuiScrollCtrl(ChatScrollHud) + { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 4"; + extent = "252 64"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "0"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 4"; + extent = "252 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMessageVectorCtrl(ChatHud) + { + profile = "GuiChatHudProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 4"; + extent = "252 64"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + lineSpacing = "0"; + lineContinuedIndex = "10"; + allowedMatches[0] = "http"; + allowedMatches[1] = "t2server"; + matchColors[0] = "0 0 255 255"; + matchColors[1] = "255 0 0 255"; + matchColors[2] = "0 0 255 255"; + matchColors[3] = "0 0 255 255"; + matchColors[4] = "0 0 255 255"; + matchColors[5] = "0 0 255 255"; + matchColors[6] = "0 0 255 255"; + matchColors[7] = "0 0 255 255"; + matchColors[8] = "0 0 255 255"; + matchColors[9] = "0 0 255 255"; + matchColors[10] = "0 0 255 255"; + matchColors[11] = "0 0 255 255"; + matchColors[12] = "0 0 255 255"; + matchColors[13] = "0 0 255 255"; + matchColors[14] = "0 0 255 255"; + matchColors[15] = "0 0 255 255"; + maxColorIndex = 5; + }; + }; + }; + }; + }; +}; diff --git a/public/base/@vl2/scripts.vl2/gui/ChatGui.gui b/public/base/@vl2/scripts.vl2/gui/ChatGui.gui new file mode 100644 index 00000000..c67ea786 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChatGui.gui @@ -0,0 +1,419 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(ChatGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl(ChatChannelPane) { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "12 13"; + extent = "620 423"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellTabFrame(ChatTabFrame) { + profile = "ShellHorzTabFrameProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "22 54"; + extent = "576 351"; + minExtent = "26 254"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + isVertical = "0"; + useCloseButton = "0"; + edgeInset = "0"; + + new GuiBubbleTextCtrl(ChatChannelTopic) { + profile = "ShellTopicTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "59 14"; + extent = "328 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "This is a sample chat topic"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 14"; + extent = "38 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TOPIC:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(ChatOpenPaneBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "444 5"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ChatTabView.openNewPane();"; + helpTag = "0"; + text = "CHANNELS"; + simpleStyle = "0"; + }; + new ShellBitmapButton(ChatClosePaneBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "529 5"; + extent = "43 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ChatTabView.closeCurrentPane();"; + accelerator = "x"; + helpTag = "0"; + text = "X"; + simpleStyle = "0"; + }; + }; + new ShellFieldCtrl(WelcomePanel) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 92"; + extent = "559 315"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "195 5"; + extent = "360 303"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 2"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 6"; + extent = "336 291"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(WelcomeText) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "362 2376"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "2 21"; + extent = "195 287"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "187 273"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(WelcomeHeadlines) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "187 180"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiTextCtrl() { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 6"; + extent = "72 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CONTENTS:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new ShellFieldCtrl(ChatPanel) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 92"; + extent = "559 315"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextEditCtrl(ChatMessageEntry) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "-2 279"; + extent = "392 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "ChatSendText();"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "1"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellScrollCtrl(MemberScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "383 1"; + extent = "175 311"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 2"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 6"; + extent = "151 299"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellChatMemberList(ChatRoomMemberList) { + profile = "ShellChatMemberListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "151 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "ChatPrivate();"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellScrollCtrl(ChatGuiScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 2"; + extent = "381 282"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "2 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "6 7"; + extent = "353 268"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiChannelVectorCtrl(ChatGuiMessageVector) { + profile = "GuiChannelVectorProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "357 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "5"; + allowedMatches[0] = "http"; + matchColor = "4 235 105 255"; + maxColorIndex = "9"; + }; + }; + }; + }; + new ShellTabGroupCtrl(ChatTabView) { + profile = "TabGroupProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "30 25"; + extent = "560 29"; + minExtent = "38 29"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + glowOffset = "7"; + tabSpacing = "2"; + maxTabWidth = "150"; + stretchToFit = "0"; + }; + new ShellBitmapButton(ChatEditChannelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 -5"; + extent = "128 38"; + minExtent = "32 38"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EditChannelOptions();"; + helpTag = "0"; + text = "CHANNEL OPTIONS"; + simpleStyle = "0"; + }; + new ShellBitmapButton(ChatEditOptionsBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 -5"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EditChatOptions();"; + helpTag = "0"; + text = "CHAT OPTIONS"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ChatOptionsDlg.gui b/public/base/@vl2/scripts.vl2/gui/ChatOptionsDlg.gui new file mode 100644 index 00000000..c059f025 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChatOptionsDlg.gui @@ -0,0 +1,191 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChatOptionsDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "75 102"; + extent = "490 276"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "CHAT OPTIONS"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellToggleButton(ButtonChatShowJoin) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "270 57"; + extent = "177 30"; + minExtent = "26 27"; + visible = "1"; + variable = ""; + command = "ChatHideJoinMessage();"; + helpTag = "0"; + text = "Hide \"Join Server\" Messages"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 146"; + extent = "88 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Away Message:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(EditChatAwayMessage) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 138"; + extent = "366 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + maxLength = "64"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + variable = "$tempAwayMsg"; + }; + new ShellToggleButton(ButtonChatHighlight) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 32"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + variable = ""; + command = "ToggleChatHiglight();"; + helpTag = "0"; + text = "Highlight text with my nick"; + maxLength = "255"; + }; + new ShellToggleButton(ButtonChatChannelHighlight) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 57"; + extent = "150 30"; + minExtent = "26 27"; + visible = "1"; + variable = ""; + command = "ToggleChatHiglightChannel();"; + helpTag = "0"; + text = "Highlight Channel"; + maxLength = "255"; + }; + new ShellToggleButton(ButtonChatNameLinkToggle) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "270 32"; + extent = "176 30"; + minExtent = "26 27"; + visible = "1"; + variable = ""; + command = "ToggleChatLinkedNicks();"; + helpTag = "0"; + text = "Names are not links"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 174"; + extent = "88 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Kick Message:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(EditChatKickMessage) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 166"; + extent = "366 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + maxLength = "64"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + variable = "$tempKickmsg"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 200"; + extent = "88 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Ban Message:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(EditChatBanMessage) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 194"; + extent = "366 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + maxLength = "64"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + variable = "$tempBanmsg"; + }; + new ShellBitmapButton(ButtonChatOptionsAccept) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "284 221"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "AcceptChatOptions();"; + helpTag = "0"; + text = "ACCEPT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "78 221"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CancelChatOptions();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ChooseFilterDlg.gui b/public/base/@vl2/scripts.vl2/gui/ChooseFilterDlg.gui new file mode 100644 index 00000000..aa4b6ebf --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ChooseFilterDlg.gui @@ -0,0 +1,148 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChooseFilterDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "95 78"; + extent = "450 324"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "CHANGE FILTER"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "44 32"; + extent = "98 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "CHOOSE A FILTER:"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "39 49"; + extent = "218 220"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "188 206"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(CF_FilterList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "188 8"; + minExtent = "8 8"; + visible = "1"; + altCommand = "ChooseFilterDlg.editFilter();"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(CF_NewFilterBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "280 46"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "ChooseFilterDlg.newFilter();"; + helpTag = "0"; + text = "NEW FILTER"; + simpleStyle = "0"; + }; + new ShellBitmapButton(CF_EditFilterBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "280 76"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "ChooseFilterDlg.editFilter();"; + helpTag = "0"; + text = "EDIT FILTER"; + simpleStyle = "0"; + }; + new ShellBitmapButton(CF_DeleteFilterBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "280 106"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "ChooseFilterDlg.deleteFilter();"; + helpTag = "0"; + text = "DELETE FILTER"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "65 269"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ChooseFilterDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(CF_GoBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "257 269"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "ChooseFilterDlg.go();"; + helpTag = "0"; + text = "GO!"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/CommanderChatDlg.gui b/public/base/@vl2/scripts.vl2/gui/CommanderChatDlg.gui new file mode 100644 index 00000000..27ad40db --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CommanderChatDlg.gui @@ -0,0 +1,81 @@ +//--- OBJECT WRITE BEGIN --- +new GuiCommanderNoFocusCtrl(CommanderChatDlg) +{ + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new HudFancyCtrl() + { + profile = "GuiChatBackProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "60 0"; + extent = "330 80"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiScrollCtrl() + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 4"; + extent = "320 70"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "0"; + + new GuiMessageVectorCtrl(CommanderChatHud) + { + profile = "GuiChatHudProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 4"; + extent = "320 70"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "5"; + allowedMatches[0] = "http"; + allowedMatches[1] = "t2server"; + matchColors[0] = "0 0 255 255"; + matchColors[1] = "255 0 0 255"; + matchColors[2] = "0 0 255 255"; + matchColors[3] = "0 0 255 255"; + matchColors[4] = "0 0 255 255"; + matchColors[5] = "0 0 255 255"; + matchColors[6] = "0 0 255 255"; + matchColors[7] = "0 0 255 255"; + matchColors[8] = "0 0 255 255"; + matchColors[9] = "0 0 255 255"; + matchColors[10] = "0 0 255 255"; + matchColors[11] = "0 0 255 255"; + matchColors[12] = "0 0 255 255"; + matchColors[13] = "0 0 255 255"; + matchColors[14] = "0 0 255 255"; + matchColors[15] = "0 0 255 255"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/CommanderMapGui.gui b/public/base/@vl2/scripts.vl2/gui/CommanderMapGui.gui new file mode 100644 index 00000000..3b0a4fa1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CommanderMapGui.gui @@ -0,0 +1,284 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(CommanderMapGui) +{ + profile = "CommanderGuiProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + visible = "1"; + + new GuiCommanderMap(CommanderMap) + { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "475 480"; + + // field data + defaultCursor = DefaultCursor; + arrowCursor = CMDCursorArrow; + handCursor = CMDCursorHandOpen; + moveCursor = CMDCursorHandClosed; + zoomCursor = CMDCursorZoom; + addCursor = CMDCursorSelectAdd; + removeCursor = CMDCursorSelectRemove; + mouseSelectRectColor = "255 255 0 255"; + cameraOffset = 10; + cameraVelocity = 500; + defaultIconName = CMDDefaultIcon; + waypintIconName = CMDWaypointIcon; + assignedTaskIconName = CMDAssignedTaskIcon; + potentialTaskIconName = CMDPotentialTaskIcon; + sensorSphereFrameAlpha = 75; + sensorSphereFillAlpha = 30; + renderMissionArea = true; + missionAreaFillColor = "60 60 60 80"; + missionAreaFrameColor = "128 0 0 255"; + renderText = true; + textOffset = 2; + hilightedObjectColor = "234 154 4 200"; + selectedObjectColor = "2 247 248 200"; + playerMarkerAngle = 30; + playerMarkerOffset = 8; + playerMarkerLen = 8; + playerMarkerColor = "0 255 0 200"; + minIconSize = 20; + maxIconSize = 64; + iconProjLen = "20.0"; + minDistanceScale = "0.02"; + maxDistanceScale = "0.05"; + enableEdgeMarkers = true; + edgeMarkerSize = 32; + renderSensors = false; + }; + + new ShellScrollCtrl(CommanderTreeContainer) + { + profile = "NewScrollCtrlProfile"; + horizSizing = "left"; + vertSizing = "height"; + vScrollBar = "alwaysOn"; + hScrollBar = "alwaysOff"; + position = "471 -4"; + extent = "173 458"; + + new GuiScrollContentCtrl() + { + profile = "CommanderScrollContentProfile"; + horizSizing = "left"; + vertSizing = "height"; + + new GuiCommanderTree(CommanderTree) + { + profile = "CommanderTreeProfile"; + position = "0 0"; + extent = "150 459"; + horizSizing = "left"; + vertSizing = "height"; + visible = "true"; + + // field data + backdropBitmapName = "commander/gui/cmd_gradient"; + headerFontType = "Arial Bold"; + entryFontType = "Arial"; + clientNoneFontType = "Arial"; + headerFontSize = 14; + entryFontSize = 13; + clientNoneFontSize = 13; + entryIconOffset = "2 1"; + entryTextOffset = "20 3"; + headerBitmapName = "commander/gui/cmd_columnheadbar"; + headerTextOffset = "10 4"; + clientNoneText = "None Selected"; + headerHeight = 20; + entryHeight = 20; + entryHilightColor = "44 168 219 100"; + entrySelectColor = "255 0 0 100"; + categoryOpenTime = 250; + damageColors = "0 255 0 20 255 255 0 70 255 0 0 100"; + objectControlRect = "128 2 16 16"; + objectControlBitmapName = "commander/gui/cmd_control_checkbox"; + }; + }; + }; + + // boob-tube + new GuiCommanderTV(CommanderTV) + { + profile = "CommanderButtonBackdropProfile"; + position = "475 300"; + extent = "165 150"; + visible = "false"; + vertSizing = "top"; + horizSizing = "left"; + frameBitmap = "commander/gui/cmd_tv_frame"; + staticBitmap = "commander/gui/cmd_tv_static"; + open = false; + target = -1; + + new GuiMouseEventCtrl(CommanderTVScreen) + { + profile = "DefaultProfile"; + position = "0 0"; + extent = "165 150"; + vertSizing = "top"; + horizSizing = "left"; + visible = "true"; + }; + }; + + // return to game + new GuiControl() + { + profile = "CommanderButtonBackdropProfile"; + position = "475 450"; + extent = "165 31"; + horizSizing = "left"; + vertSizing = "top"; + + new ShellBitmapButton() + { + profile = "CommanderButtonProfile"; + opaque = "true"; + horizSizing = "left"; + vertSizing = "top"; + visible = "1"; + position = "-6 -2"; + extent = "177 31"; + command = "CommanderMapGui.close();"; + text = "RETURN TO GAME"; + + }; + }; + + // top button bar + new GuiControl() + { + profile = "DefaultProfile"; + position = "437 -4"; + extent = "44 228"; + horizSizing = "left"; + vertSizing = "bottom"; + visible = "true"; + + new GuiCommanderMapCheckbox(CMDPlayersButton) + { + profile = "CommanderButtonProfile"; + position = "0 0"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_players"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDTacticalButton) + { + profile = "CommanderButtonProfile"; + position = "0 31"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_tactical"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDDeployedTacticalButton) + { + profile = "CommanderButtonProfile"; + position = "0 62"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_tactical_D"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDMiscButton) + { + profile = "CommanderButtonProfile"; + position = "0 93"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_misc"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDDeployedMiscButton) + { + profile = "CommanderButtonProfile"; + position = "0 124"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_misc_D"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDWaypointsButton) + { + profile = "CommanderButtonProfile"; + position = "0 155"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_waypoints"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDObjectivesButton) + { + profile = "CommanderButtonProfile"; + position = "0 186"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_objectives"; + mouseRegion = "7 7 31 31"; + }; + }; + + // bottom button bar + new GuiControl() + { + profile = "DefaultProfile"; + position = "437 286"; + extent = "44 199"; + horizSizing = "left"; + vertSizing = "top"; + visible = "true"; + + new GuiCommanderMapCheckbox(CMDShowSensorsButton) + { + profile = "CommanderButtonProfile"; + position = "0 0"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_sensor"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDMoveSelectButton) + { + profile = "CommanderButtonProfile"; + position = "0 31"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_moveselect"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDZoomButton) + { + profile = "CommanderButtonProfile"; + position = "0 62"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_zoom"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapButton(CMDCenterButton) + { + profile = "CommanderButtonProfile"; + position = "0 93"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_center"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDTextButton) + { + profile = "CommanderButtonProfile"; + position = "0 124"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_text"; + mouseRegion = "7 7 31 31"; + }; + new GuiCommanderMapCheckbox(CMDCameraButton) + { + profile = "CommanderButtonProfile"; + position = "0 155"; + extent = "44 44"; + bitmap = "commander/gui/cmd_icon_camera"; + mouseRegion = "7 7 31 31"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/CommonLoadDlg.gui b/public/base/@vl2/scripts.vl2/gui/CommonLoadDlg.gui new file mode 100644 index 00000000..e949b8d3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CommonLoadDlg.gui @@ -0,0 +1,143 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(loadFileDialog) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "205 148"; + extent = "360 242"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "LOAD FILE"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(loadFileDialog);"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 24"; + extent = "281 212"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "261 210"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(loadFileList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "eval($loadFileCommand); Canvas.popDialog(loadFileDialog);"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0"; + noDuplicates = "false"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "291 181"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "eval($loadFileCommand); Canvas.popDialog(loadFileDialog);"; + helpTag = "0"; + text = "LOAD"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "291 205"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(loadFileDialog);"; + helpTag = "0"; + text = "CANCEL"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +function fillFileList(%filespec, %ctrl, %hidePath) +{ + %ctrl.clear(); + %i = 0; + %f = 0; + for(%fld = getField(%filespec, 0); %fld !$= ""; %fld = getField(%filespec, %f++)) + { + for(%file = findFirstFile(%fld); %file !$= ""; %file = findNextFile(%fld)) + { + if(%hidePath) + %ctrl.addRow(%i++, fileBase(%file) TAB %file); + else + %ctrl.addRow(%i++, %file TAB %file); + } + } + %ctrl.sort(0); +} + +//------------------------------------------------------------------------------ +// ex: getLoadFilename("stuff\*.*", loadStuff); +// -- calls 'loadStuff(%filename)' on dblclick or ok +//------------------------------------------------------------------------------ +function getLoadFilename(%filespec, %callback, %hidePath) +{ + $loadFileCommand = "if(loadFileList.getSelectedId() >= 0)" @ %callback @ "(getField(loadFileList.getValue(), 1));"; + Canvas.pushDialog(loadFileDialog, 99); + fillFileList(%filespec, loadFileList, %hidePath); +} + diff --git a/public/base/@vl2/scripts.vl2/gui/CommonSaveDlg.gui b/public/base/@vl2/scripts.vl2/gui/CommonSaveDlg.gui new file mode 100644 index 00000000..465887bf --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CommonSaveDlg.gui @@ -0,0 +1,143 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(saveFileDialog) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "217 140"; + extent = "280 264"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "SAVE FILE"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(saveFileDialog);"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 24"; + extent = "196 212"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "176 210"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(saveFileList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "eval($saveFileCommand); Canvas.popDialog(saveFileDialog);"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0"; + noDuplicates = "false"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "209 181"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "eval($saveFileCommand); Canvas.popDialog(saveFileDialog);"; + helpTag = "0"; + text = "SAVE"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "209 205"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(saveFileDialog);"; + helpTag = "0"; + text = "CANCEL"; + }; + new GuiTextEditCtrl(saveNameEdit) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 240"; + extent = "196 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + historySize = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +function saveFileList::onSelect(%this, %id) +{ + saveNameEdit.setValue(%this.getValue()); +} + +//------------------------------------------------------------------------------ +// ex: getSaveFilename("stuff\*.*", saveStuff); +// -- calls 'saveStuff(%filename)' on dblclick or ok +//------------------------------------------------------------------------------ +function getSaveFilename(%filespec, %callback, %currentFile) +{ + saveNameEdit.setValue(%currentFile); + $saveFileCommand = "if(saveNameEdit.getValue() !$= \"\")" @ %callback @ "(saveNameEdit.getValue());"; + Canvas.pushDialog(saveFileDialog, 99); + fillFileList(%filespec, saveFileList); +} diff --git a/public/base/@vl2/scripts.vl2/gui/CompTestGui.gui b/public/base/@vl2/scripts.vl2/gui/CompTestGui.gui new file mode 100644 index 00000000..56e90617 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CompTestGui.gui @@ -0,0 +1,211 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(CompTestGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "620 460"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "alwaysOn"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "618 440"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new CompTest(compObj) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "65536 460"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 20"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.setContent(MainMenuGui);"; + helpTag = "0"; + text = "Main Menu"; + }; + new GuiButtonCtrl(histoToggle) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 40"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "toggleHisto();"; + helpTag = "0"; + text = "Normal"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 20"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compTestOpenFile();"; + helpTag = "0"; + text = "Open File"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 40"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compTestSaveFile();"; + helpTag = "0"; + text = "Save File"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "244 20"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compObj.buildRep(baseline);$CompTestType = baseline;"; + helpTag = "0"; + text = "Baseline"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "348 20"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compObj.buildRep(hilbert);$CompTestType = hilbert;"; + helpTag = "0"; + text = "Hilbert"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "452 20"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compObj.buildRep(delta);$CompTestType = delta;"; + helpTag = "0"; + text = "Delta"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "452 40"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compObj.buildRep(delta2);$CompTestType = delta2;"; + helpTag = "0"; + text = "Delta2"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "452 60"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "compObj.buildRep(delta3);$CompTestType = delta3;"; + helpTag = "0"; + text = "Delta3"; + }; +}; +//--- OBJECT WRITE END --- + +function compTest() +{ + $CompTestShift = 0; + $CompTestHisto = 0; + $CompTestSaveHiLo = 0; + $CompTestFile = "heights.out"; + $CompTestType = "baseline"; + Canvas.setContent(CompTestGui); + compObj.buildRep($CompTestType); +} + + +function toggleHisto() +{ + if($CompTestHisto) + { + histoToggle.setValue(Normal); + $CompTestHisto = 0; + } + else + { + histoToggle.setValue(Histo); + $CompTestHisto = 1; + } + compObj.buildRep($CompTestType); +} + diff --git a/public/base/@vl2/scripts.vl2/gui/ConsoleDlg.gui b/public/base/@vl2/scripts.vl2/gui/ConsoleDlg.gui new file mode 100644 index 00000000..ce2150e4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ConsoleDlg.gui @@ -0,0 +1,78 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ConsoleDlg) { + profile = "GuiDefaultProfile"; + + new GuiWindowCtrl() + { + profile = "GuiWindowProfile"; + position = "0 0"; + extent = "640 370"; + text = "Console"; + + new GuiScrollCtrl() + { + profile = "GuiButtonProfile"; + position = "0 0"; + extent = "640 350"; + hScrollBar = "alwaysOn"; + vScrollBar = "alwaysOn"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiScrollContentCtrl("testScrollContentCtrl") + { + profile = "GuiButtonProfile"; + + new GuiConsole("testArrayCtrl") + { + profile = "GuiConsoleProfile"; + position = "0 0"; + }; + }; + }; + + new GuiConsoleEditCtrl("ConsoleEntry") + { + profile = "GuiTextEditProfile"; + position = "0 350"; + extent = "640 20"; + historySize = 20; + altCommand = "ConsoleEntry::eval();"; + horizSizing = "width"; + vertSizing = "top"; + }; + }; +}; +//--- OBJECT WRITE END --- + +$ConsoleActive = false; + +function ConsoleEntry::eval() +{ + %text = ConsoleEntry.getValue(); + echo("==>" @ %text); + eval(%text); + ConsoleEntry.setValue(""); +} + +function ToggleConsole(%make) +{ + if (%make) + { + if ($ConsoleActive) + { + Canvas.popDialog(ConsoleDlg); + $ConsoleActive = false; + if ( $enableDirectInput ) + activateKeyboard(); + } + else + { + Canvas.pushDialog(ConsoleDlg, 99); + $ConsoleActive = true; + deactivateKeyboard(); + } + } +} + + diff --git a/public/base/@vl2/scripts.vl2/gui/CreateAccountDlg.gui b/public/base/@vl2/scripts.vl2/gui/CreateAccountDlg.gui new file mode 100644 index 00000000..f1782923 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CreateAccountDlg.gui @@ -0,0 +1,317 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(CreateAccountDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + open = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "70 36"; + extent = "500 408"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "ACCOUNT INFORMATION"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 35"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Login Name:"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 110"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Password:"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 140"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Confirm Password:"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 170"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "CD Key:"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 218"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Email:"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "174 289"; + extent = "134 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "We are COPPA compliant."; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "73 305"; + extent = "351 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "If you are under 13, you are not allowed to create a Tribes 2 account."; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 64"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Warrior Name:"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 27"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountLoginName"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 56"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountWarriorName"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "0"; + glowOffset = "9 9"; + IRCName = true; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 102"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountPassword"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 132"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountConfirmPassword"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CreateAccountCDKey1) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 162"; + extent = "72 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountCDKey1.process();"; + helpTag = "0"; + historySize = "0"; + maxLength = "4"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CreateAccountCDKey2) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "191 162"; + extent = "72 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountCDKey2.process();"; + helpTag = "0"; + historySize = "0"; + maxLength = "4"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CreateAccountCDKey3) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "251 162"; + extent = "72 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountCDKey3.process();"; + helpTag = "0"; + historySize = "0"; + maxLength = "4"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CreateAccountCDKey4) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "311 162"; + extent = "72 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountCDKey4.process();"; + helpTag = "0"; + historySize = "0"; + maxLength = "4"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(CreateAccountCDKey5) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "371 162"; + extent = "72 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountCDKey5.process();"; + helpTag = "0"; + historySize = "0"; + maxLength = "4"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 209"; + extent = "269 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateAccountEmail"; + helpTag = "0"; + historySize = "0"; + maxLength = "128"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 244"; + extent = "366 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$CreateAccountSendInfo"; + helpTag = "0"; + text = "SEND ME INFORMATION ABOUT TRIBES 2 AND OTHER PRODUCTS"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "148 325"; + extent = "201 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$CreateAccountAgeGood"; + helpTag = "0"; + text = "I AM AT LEAST 13 YEARS OF AGE"; + }; + new ShellBitmapButton(CreateAccountSubmitBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "282 351"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountDlg.onSubmit();"; + helpTag = "0"; + text = "SUBMIT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "72 351"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccountDlg.onCancel();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/CreateTribeDlg.gui b/public/base/@vl2/scripts.vl2/gui/CreateTribeDlg.gui new file mode 100644 index 00000000..72c9ac56 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CreateTribeDlg.gui @@ -0,0 +1,226 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(CreateTribeDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "70 36"; + extent = "500 408"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "CREATE TRIBE"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 38"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Tribe Name:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 68"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Tribe Tag:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 128"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Description:"; + maxLength = "255"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 30"; + extent = "260 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateTribeName"; + helpTag = "0"; + maxLength = "24"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + IRCName = true; + }; + new ShellTextEditCtrl(CT_TagText) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 60"; + extent = "107 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$CreateTribeTag"; + command = "updateTribeTagPreview();"; + helpTag = "0"; + maxLength = "8"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + IRCName = true; + }; + new ShellToggleButton(rbAppendTag) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "189 64"; + extent = "146 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$CreateTribeAppend"; + command = "updateTribeTagPreview();"; + helpTag = "0"; + text = "APPEND TRIBE TAG"; + maxLength = "255"; + }; + new ShellToggleButton(rbRecruiting) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "308 95"; + extent = "162 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$CreateTribeRecruiting"; + helpTag = "0"; + text = "RECRUITING"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 98"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Preview:"; + maxLength = "255"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 97"; + extent = "192 22"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(CT_PreviewText) { + profile = "ShellAltTextCenterProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "3 2"; + extent = "186 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "26 143"; + extent = "448 208"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "418 194"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextEditCtrl(CreateTribeDescription) { + profile = "ShellMessageTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "418 194"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "3600"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "81 354"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateTribeDlg.Cancel();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(CreateTribeBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "291 354"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateTribeDlg.CreateTribe();"; + helpTag = "0"; + text = "CREATE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/CreditsGui.gui b/public/base/@vl2/scripts.vl2/gui/CreditsGui.gui new file mode 100644 index 00000000..e4e0f054 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/CreditsGui.gui @@ -0,0 +1,75 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(CreditsGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + hideCursor = "1"; + qLineCount = "0"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "28 13"; + extent = "584 459"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + noTitleBar = "1"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "height"; + position = "26 34"; + extent = "312 402"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(CREDITS_Text) { + profile = "ShellLoadTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "312 1"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + }; + new GuiControl() { + profile = "ShellLoadFrameProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "349 8"; + extent = "212 428"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl(CREDITS_Pic) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "210 426"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "gui/loading"; + useVariable = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DebriefGui.gui b/public/base/@vl2/scripts.vl2/gui/DebriefGui.gui new file mode 100644 index 00000000..74c0d91c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebriefGui.gui @@ -0,0 +1,253 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(DebriefGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl(DB_Pane) { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "28 13"; + extent = "584 459"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + noTitleBar = "1"; + }; + new GuiProgressCtrl(DB_LoadingProgress) { + profile = "ShellProgressBarProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "67 423"; + extent = "300 25"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(DB_LoadingProgressTxt) { + profile = "ShellProgressBarTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 3"; + extent = "300 19"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "LOADING MISSION..."; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "0 0"; + extent = "300 236"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellScrollCtrl(DB_ChatScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "50 18"; + extent = "251 184"; + minExtent = "24 24"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "221 170"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMessageVectorCtrl(DB_ChatVector) { + profile = "GuiChatHudProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "221 170"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "10"; + allowedMatches[0] = "http"; + allowedMatches[1] = "t2server"; + matchColor = "0 0 255 255"; + maxColorIndex = "5"; + matchColors1 = "255 0 0 255"; + matchColors0 = "0 0 255 255"; + }; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "height"; + position = "300 15"; + extent = "340 405"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellFieldCtrl(DB_ResultPane) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 7"; + extent = "280 392"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(DebriefResultText) { + profile = "DebriefHeadlineTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 3"; + extent = "272 28"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + new ShellScrollCtrl(DB_ResultScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "2 58"; + extent = "276 332"; + minExtent = "24 24"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "262 318"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(DebriefText) { + profile = "DebriefTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "262 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + }; + }; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonNoTabProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "372 417"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + setFirstResponder = "0"; + command = "debriefDisconnect();"; + helpTag = "0"; + text = "DISCONNECT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonNoTabProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "478 417"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + setFirstResponder = "0"; + command = "debriefContinue();"; + accelerator = "escape"; + helpTag = "0"; + text = "CONTINUE"; + simpleStyle = "0"; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(DB_ChatDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "0 0"; + extent = "300 236"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextEditCtrl(DB_ChatEntry) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "45 197"; + extent = "261 38"; + minExtent = "32 38"; + visible = "1"; + setFirstResponder = "0"; + altCommand = "DB_ChatEntry.sendChat();"; + escapeCommand = "DB_ChatEntry.onEscape();"; + helpTag = "0"; + historySize = "0"; + maxLength = "120"; + password = "0"; + glowOffset = "9 9"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/DebuggerBreakConditionDlg.gui b/public/base/@vl2/scripts.vl2/gui/DebuggerBreakConditionDlg.gui new file mode 100644 index 00000000..85ae1d27 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebuggerBreakConditionDlg.gui @@ -0,0 +1,145 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DebuggerBreakConditionDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "220 146"; + extent = "200 188"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Set the break condition"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "False"; + canClose = "False"; + canMinimize = "False"; + canMaximize = "False"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 28"; + extent = "121 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Enter the break condition:"; + }; + new GuiTextEditCtrl(BreakCondition) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 44"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "DbgBreakConditionSet();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 68"; + extent = "57 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Pass Count:"; + }; + new GuiTextEditCtrl(BreakPassCount) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 84"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + historySize = "0"; + returnTab = "true"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 108"; + extent = "27 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Clear:"; + }; + new GuiTextEditCtrl(BreakClear) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 124"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + historySize = "0"; + returnTab = "true"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 156"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgBreakConditionSet();"; + helpTag = "0"; + text = "Set"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 156"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(DebuggerBreakConditionDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DebuggerConnectDlg.gui b/public/base/@vl2/scripts.vl2/gui/DebuggerConnectDlg.gui new file mode 100644 index 00000000..c3e1a8d6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebuggerConnectDlg.gui @@ -0,0 +1,148 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DebuggerConnectDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "220 146"; + extent = "200 188"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Connect to server:"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "False"; + canClose = "False"; + canMinimize = "False"; + canMaximize = "False"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 28"; + extent = "55 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "IP Address:"; + }; + new GuiTextEditCtrl(DebuggerConnectAddress) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 44"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + variable = "$pref::DBGConnectAddress"; + helpTag = "0"; + historySize = "0"; + returnTab = "true"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 68"; + extent = "21 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Port:"; + }; + new GuiTextEditCtrl(DebuggerConnectPort) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 84"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + variable = "$pref::DBGConnectPort"; + helpTag = "0"; + historySize = "0"; + returnTab = "true"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 108"; + extent = "52 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Password:"; + }; + new GuiTextEditCtrl(DebuggerConnectPassword) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 124"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + variable = "$pref::DBGConnectPassword"; + helpTag = "0"; + historySize = "0"; + returnTab = "true"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 156"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgConnect();"; + helpTag = "0"; + text = "Open"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 156"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(DebuggerConnectDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DebuggerEditWatchDlg.gui b/public/base/@vl2/scripts.vl2/gui/DebuggerEditWatchDlg.gui new file mode 100644 index 00000000..ab348ff3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebuggerEditWatchDlg.gui @@ -0,0 +1,93 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DebuggerEditWatchDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "220 180"; + extent = "200 108"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Edit a Variable"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "False"; + canClose = "False"; + canMinimize = "False"; + canMaximize = "False"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 28"; + extent = "99 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Enter the new value:"; + }; + new GuiTextEditCtrl(EditWatchDialogValue) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 44"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "DbgWatchDialogEdit();"; + helpTag = "0"; + historySize = "0"; + fontHL = "14 253 Arial"; + font = "14 244 Arial"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 80"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgWatchDialogEdit();"; + helpTag = "0"; + text = "Edit"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 80"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(DebuggerEditWatchDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DebuggerFindDlg.gui b/public/base/@vl2/scripts.vl2/gui/DebuggerFindDlg.gui new file mode 100644 index 00000000..fafd221f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebuggerFindDlg.gui @@ -0,0 +1,93 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DebuggerFindDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "220 180"; + extent = "200 108"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "File Search"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "False"; + canClose = "False"; + canMinimize = "False"; + canMaximize = "False"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 28"; + extent = "99 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Search for:"; + }; + new GuiTextEditCtrl(DebuggerFindStringText) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 44"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "DbgFileViewFind();"; + helpTag = "0"; + historySize = "0"; + fontHL = "14 253 Arial"; + font = "14 244 Arial"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 80"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgFileViewFind();"; + helpTag = "0"; + text = "Find"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 80"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(DebuggerFindDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DebuggerGui.gui b/public/base/@vl2/scripts.vl2/gui/DebuggerGui.gui new file mode 100644 index 00000000..f7cbfa73 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebuggerGui.gui @@ -0,0 +1,641 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DebuggerGui) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.pushDialog(DebuggerConnectDlg, 80);"; + helpTag = "0"; + text = "Connect"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "72 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.pushDialog(OpenFileDialog, 80);"; + helpTag = "0"; + text = "File"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "72 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "dbgStepIn();"; + accelerator = "f7"; + helpTag = "0"; + text = "Step In"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "136 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "dbgStepOver();"; + accelerator = "f8"; + helpTag = "0"; + text = "Step Over"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "200 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "dbgStepOut();"; + accelerator = "f6"; + helpTag = "0"; + text = "Step Out"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "264 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "dbgContinue();"; + accelerator = "f9"; + helpTag = "0"; + text = "Run"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "328 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.pushDialog(DebuggerFindDlg, 80);"; + helpTag = "0"; + text = "Find"; + }; + new GuiTextCtrl(DebuggerCursorWatch) { + profile = "GuiTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "398 4"; + extent = "126 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = ""; + justify = "left"; + }; + new GuiTextCtrl(DebuggerStatus) { + profile = "GuiTextProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "532 4"; + extent = "60 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "NOT CONNECTED"; + justify = "right"; + }; + new GuiFrameSetCtrl(DebuggerRootFrame) { + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "640 456"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + columns = "0 486"; + rows = "0"; + borderWidth = "4"; + borderColor = "0.000000, 0.000000, 0.000000, 0.000000"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + + new GuiFrameSetCtrl(DebuggerLeftFrame) { + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "482 456"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + columns = "0"; + rows = "0 350"; + borderWidth = "4"; + borderColor = "0.000000, 0.000000, 0.000000, 0.000000"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "482 346"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 4"; + extent = "47 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Open File:"; + }; + new GuiPopUpMenuCtrl(DebuggerFilePopup) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 4"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + maxPopupHeight = "200"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "482 321"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "462 301"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new DbgFileView(DebuggerFileView) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 -433"; + extent = "509 3904"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + }; + }; + }; + }; + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 350"; + extent = "482 106"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.pushDialog(DebuggerWatchDlg, 80);"; + helpTag = "0"; + text = "Add"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "72 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.pushDialog(DebuggerEditWatchDlg, 80);"; + helpTag = "0"; + text = "Edit"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "136 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgDeleteSelectedWatch();"; + helpTag = "0"; + text = "Delete"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "200 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DebuggerWatchView.clear();"; + helpTag = "0"; + text = "Clear"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "264 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgRefreshWatches();"; + helpTag = "0"; + text = "Refresh"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "481 80"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "479 60"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(DebuggerWatchView) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 8"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0 200"; + }; + }; + }; + }; + }; + new GuiFrameSetCtrl(DebuggerRightFrame) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "486 0"; + extent = "154 456"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + columns = "0"; + rows = "0 150 350"; + borderWidth = "4"; + borderColor = "0.000000, 0.000000, 0.000000, 0.000000"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "154 146"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "152 126"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(DebuggerCallStack) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 8"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "-1 -1 0"; + }; + }; + }; + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 150"; + extent = "154 196"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.pushDialog(DebuggerBreakConditionDlg, 80);"; + helpTag = "0"; + text = "Condition"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgDeleteSelectedBreak();"; + helpTag = "0"; + text = "Delete"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "132 4"; + extent = "56 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DebuggerBreakPoints.clearBreaks();"; + helpTag = "0"; + text = "Clear"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "153 171"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "151 151"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(DebuggerBreakPoints) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "182 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "16 56 156"; + }; + }; + }; + }; + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 350"; + extent = "154 106"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "153 80"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "151 78"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(DebuggerConsoleView) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "62 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0"; + }; + }; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "15 83"; + extent = "9 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "%"; + }; + new GuiTextEditCtrl(DbgConsoleEntry) { + profile = "GuiTextEditProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "29 83"; + extent = "120 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "DbgConsoleEntryReturn();"; + helpTag = "0"; + historySize = "32"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DebuggerWatchDlg.gui b/public/base/@vl2/scripts.vl2/gui/DebuggerWatchDlg.gui new file mode 100644 index 00000000..4ade0079 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DebuggerWatchDlg.gui @@ -0,0 +1,92 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DebuggerWatchDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "220 180"; + extent = "200 108"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Add a Watch Expression:"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "False"; + canClose = "False"; + canMinimize = "False"; + canMaximize = "False"; + minSize = "50 50"; + opaque = "true"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 28"; + extent = "88 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Enter the Variable:"; + }; + new GuiTextEditCtrl(WatchDialogExpression) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 44"; + extent = "160 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "DbgWatchDialogAdd();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 80"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DbgWatchDialogAdd();"; + helpTag = "0"; + text = "Add"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 80"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(DebuggerWatchDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DemoLoadProgressDlg.gui b/public/base/@vl2/scripts.vl2/gui/DemoLoadProgressDlg.gui new file mode 100644 index 00000000..0c2f8c2d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DemoLoadProgressDlg.gui @@ -0,0 +1,45 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DemoLoadProgressDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "178 189"; + extent = "300 107"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Loading..."; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiProgressCtrl(DemoLoadProgressCtrl) { + profile = "ShellProgressBarProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 43"; + extent = "209 30"; + minExtent = "32 15"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + glowOffset = "9 9"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DemoPlaybackDlg.gui b/public/base/@vl2/scripts.vl2/gui/DemoPlaybackDlg.gui new file mode 100644 index 00000000..29d9c834 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DemoPlaybackDlg.gui @@ -0,0 +1,100 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DemoPlaybackDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "1"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl() { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "210 8"; + extent = "217 82"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiProgressCtrl() { + profile = "ShellProgressBarProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 34"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$DemoPlaybackProgress"; + helpTag = "0"; + + new GuiTextCtrl(DemoPlayback_CurTime) { + profile = "ShellProgressBarTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 2"; + extent = "200 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 59"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "00:00"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(DemoPlayback_EndTime) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "142 59"; + extent = "64 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(DemoPlayback_StatusText) { + profile = "ShellTextCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "77 10"; + extent = "64 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/DemoRenameFileDlg.gui b/public/base/@vl2/scripts.vl2/gui/DemoRenameFileDlg.gui new file mode 100644 index 00000000..57c4bf00 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DemoRenameFileDlg.gui @@ -0,0 +1,97 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DemoRenameFileDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 186"; + extent = "300 146"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Rename File..."; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellTextEditCtrl(DemoRenameFile_Edit) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "71 39"; + extent = "209 39"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 47"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Filename:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 82"; + extent = "124 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + command = "Canvas.popDialog(DemoRenameFileDlg); doDemoFileRename();"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "154 82"; + extent = "124 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + command = "Canvas.popDialog(DemoRenameFileDlg);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/DetailSetDlg.gui b/public/base/@vl2/scripts.vl2/gui/DetailSetDlg.gui new file mode 100644 index 00000000..0d7fe799 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DetailSetDlg.gui @@ -0,0 +1,868 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DetailSetDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 -1"; + extent = "129 281"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Detail Settings"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "DetailSetDgl::onCleanup(true);"; + + new GuiPopUpMenuCtrl(DetailMenu) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 21"; + extent = "91 21"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Detail Options"; + maxPopupHeight = "200"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 197"; + extent = "32 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DetailAdjustTabs(Low);"; + helpTag = "0"; + text = "Low"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 197"; + extent = "30 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DetailAdjustTabs(Medium);"; + helpTag = "0"; + text = "Med"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 198"; + extent = "35 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DetailAdjustTabs(High);"; + helpTag = "0"; + text = "High"; + }; + new GuiScrollCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 43"; + extent = "112 151"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "True"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "110 149"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiControl(Sky_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "False"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 5"; + extent = "84 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Sky Settings:"; + }; + new GuiTextEditSliderCtrl(Sky_Slider) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 38"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "Sky::DetailSliders(\"Sky_Slider\");"; + helpTag = "0"; + text = "1"; + historySize = "0"; + format = "%1.0f"; + range = "1 99"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 23"; + extent = "37 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Sphere:"; + }; + new GuiTextEditSliderCtrl(Cloud_Slider) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 75"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "3"; + historySize = "0"; + format = "%1.0f"; + range = "0 3"; + increment = "1"; + command = "Sky::DetailSliders(\"Cloud_Slider\");"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 60"; + extent = "29 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Cloud Layers:"; + }; + }; + new GuiControl(Texture_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "False"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 5"; + extent = "99 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Texture Settings"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 23"; + extent = "39 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Texture:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 38"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 60"; + extent = "75 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Interior Texture:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 75"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + }; + new GuiControl(Terrain_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "False"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 5"; + extent = "97 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Terrain Settings"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 23"; + extent = "36 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Terrain:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 38"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 60"; + extent = "64 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Screen Error:"; + }; + new GuiTextEditSliderCtrl(DetailScreenError) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 75"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "$screenerror = DetailScreenError.getValue();"; + helpTag = "0"; + text = "3"; + historySize = "0"; + format = "%1.0f"; + range = "0 10"; + increment = "1"; + }; + }; + new GuiControl(Shape_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "False"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 5"; + extent = "89 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Shape Settings"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 23"; + extent = "63 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Static Shape:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 38"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 60"; + extent = "66 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Player Shape:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 75"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + }; + new GuiControl(Damage_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-1 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 7"; + extent = "103 66"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Damage Settings"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 26"; + extent = "70 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Damage Detail:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 41"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 63"; + extent = "64 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Damage Skin:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 78"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + }; + new GuiControl(Decal_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "False"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 6"; + extent = "84 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Decal Settings"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 23"; + extent = "29 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Decal:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 38"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 60"; + extent = "57 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Smoke Trail:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 75"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + }; + new GuiControl(Lighting_Tab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "112 151"; + minExtent = "8 8"; + visible = "False"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 4"; + extent = "101 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Lighting Settings"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 23"; + extent = "57 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Interior light:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 38"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 60"; + extent = "69 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Dynamic Light:"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 75"; + extent = "74 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 1"; + increment = "1"; + }; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 255"; + extent = "63 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "DetailSetDgl::onCleanup(true);"; + helpTag = "0"; + text = "Close"; + }; + new GuiRadioCtrl(RadioOutline) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 217"; + extent = "55 19"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "displayMode(True);"; + helpTag = "0"; + text = "OutLine"; + groupNum = "1"; + }; + new GuiRadioCtrl(RadioTexture) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "66 216"; + extent = "55 19"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "displayMode(False);"; + helpTag = "0"; + text = "Texture"; + groupNum = "1"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function DetailSetDialog() +{ + showTabs(); + $currentTab = ""; + $currentSelected = ""; + DetailMenu.clear(); + DetailMenu.add("Sky",0); + DetailMenu.add("Texture",1); + DetailMenu.add("Terrain",2); + DetailMenu.add("Lighting",3); + DetailMenu.add("Decal",4); + DetailMenu.add("Shape",5); + DetailMenu.add("Damage",6); + DetailMenu.setText("Detail Options"); + RadioTexture.setValue(true); + Canvas.pushDialog(DetailSetDlg,99); +} + +function DetailMenu::onSelect(%this, %row) +{ + %label = %this.getValue(); + $currentTab = %label; + %this.setText("Detail Options"); + DetailSetDgl::onCleanup(); + showTabs(%label); +} + +function showTabs(%tab) +{ + %tab = %tab @ "_Tab"; + GameCtrl.setvisible(false); + Sky_Tab.setvisible(false); + Texture_Tab.setvisible(false); + Terrain_Tab.setvisible(false); + Shape_Tab.setvisible(false); + Damage_Tab.setvisible(false); + Decal_Tab.setvisible(false); + Lighting_Tab.setvisible(false); + %tab.setvisible(true); +} + +function displayMode(%bool) +{ + echo("CurrentTab: ",$currentTab); + echo("CurrentSelected: ",$currentSelected); + echo("BOOL: ",%bool); + if($currentTab $= "Sky") + { + if($currentSelected $= "Sky") + { + echo("went in here: ",%bool); + $pref::SkyOutline = %bool; + } + else + { + $pref::CloudOutline = %bool; + } + } + else if ($currentTab $= "Terrain") + DetailScreenError.setValue($screenerror); +} + +function DetailSetDgl::onCleanup(%close) +{ + $pref::SkyOutline = false; + $pref::CloudOutline = false; + $pref::CloudsOn = true; + RadioTexture.setValue(true); + if(%close == true) + Canvas.popDialog(DetailSetDlg); +} + +function Sky::detailSliders(%slider) +{ + if(%slider $= "Sky_Slider") + { + $pref::sphereDetail = %slider.getValue(); + $pref::CloudsOn = false; + $currentSelected = "Sky"; + if($pref::SkyOutline) + RadioOutline.setValue(true); + else + RadioTexture.setValue(true); + } + else if(%slider $= "Cloud_Slider") + { + $pref::NumCloudLayers = %slider.getValue(); + $pref::CloudsOn = true; + $currentSelected = "Cloud"; + if($pref::CloudOutline) + RadioOutline.setValue(true); + else + RadioTexture.setValue(true); + } +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/DriverInfoDlg.gui b/public/base/@vl2/scripts.vl2/gui/DriverInfoDlg.gui new file mode 100644 index 00000000..38f1c523 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/DriverInfoDlg.gui @@ -0,0 +1,77 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(DriverInfoDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "DRIVER INFO"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "27 35"; + extent = "346 209"; + minExtent = "24 52"; + childMargin = "4 2"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "322 201"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(DriverInfoText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "313 420"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "136 245"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(DriverInfoDlg);"; + accelerator = "space"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EULADlg.gui b/public/base/@vl2/scripts.vl2/gui/EULADlg.gui new file mode 100644 index 00000000..79f34e0b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EULADlg.gui @@ -0,0 +1,2 @@ +//--- OBJECT WRITE BEGIN --- +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EditChatCommandDlg.gui b/public/base/@vl2/scripts.vl2/gui/EditChatCommandDlg.gui new file mode 100644 index 00000000..1cc2905e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditChatCommandDlg.gui @@ -0,0 +1,177 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditChatCommandDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "150 110"; + extent = "340 260"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "EDIT ITEM"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 42"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Key:"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 34"; + extent = "49 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$ECI::key"; + helpTag = "0"; + historySize = "0"; + maxLength = "1"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 80"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Menu text:"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 72"; + extent = "208 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$ECI::text"; + helpTag = "0"; + historySize = "0"; + maxLength = "25"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 119"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Command:"; + }; + new ShellPopupMenu(EditChatCommandList) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 110"; + extent = "209 36"; + minExtent = "49 36"; + visible = "1"; + helpTag = "0"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 158"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Message:"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "106 159"; + extent = "191 36"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(EditChatCommandMessage) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 1"; + extent = "187 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + }; + new ShellBitmapButton(ChatCommandTestBtn) { + profile = "SoundTestButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 175"; + extent = "24 24"; + minExtent = "24 24"; + visible = "1"; + command = "testChatCommand($ECI::command);"; + helpTag = "0"; + simpleStyle = "1"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "180 205"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "eval($ECI::OKCommand);"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 205"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog( EditChatCommandDlg );"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EditChatMenuDlg.gui b/public/base/@vl2/scripts.vl2/gui/EditChatMenuDlg.gui new file mode 100644 index 00000000..310efff5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditChatMenuDlg.gui @@ -0,0 +1,106 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditChatMenuDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "150 156"; + extent = "340 167"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "EDIT MENU"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 42"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Key:"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 34"; + extent = "50 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$ECI::key"; + helpTag = "0"; + historySize = "0"; + maxLength = "1"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 80"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Menu text:"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 72"; + extent = "208 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$ECI::text"; + helpTag = "0"; + historySize = "0"; + maxLength = "25"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "180 112"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "eval($ECI::OKCommand);"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 112"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog( EditChatMenuDlg );"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/EditChatMenuGui.gui b/public/base/@vl2/scripts.vl2/gui/EditChatMenuGui.gui new file mode 100644 index 00000000..cc900e41 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditChatMenuGui.gui @@ -0,0 +1,159 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditChatMenuGui) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "20 55"; + extent = "600 370"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "EDIT CHAT MENU"; + noTitleBar = "0"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "25 32"; + extent = "408 315"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "384 307"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiChatMenuTreeCtrl(chatMenuGuiTree) { + profile = "ShellTreeViewProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "431 372"; + minExtent = "8 8"; + visible = "1"; + altCommand = "editSelectedChatMenuItem();"; + helpTag = "0"; + tabSize = "16"; + imagesBitmap = "gui/shll_treeView.png"; + numImages = "13"; + textOffset = "2"; + fullRowSelect = "0"; + itemHeight = "15"; + altFontColor = "6 215 245 255"; + altFontColorHL = "6 215 245 255"; + altFontColorSE = "25 56 68 255"; + dirty = "0"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "445 29"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "newChatMenu();"; + helpTag = "0"; + text = "CLEAR"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "445 67"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "resetChatMenu();"; + helpTag = "0"; + text = "RESET"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "445 105"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "saveChatMenu();"; + helpTag = "0"; + text = "SAVE"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "445 315"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "leaveChatMenuEditor();"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChatMenuItemActionDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new ShellPopupMenu(ChatMenuItemActionPopup) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + visible = "1"; + command = "ChatMenuItemActionPopup.reset();"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + maxPopupHeight = "200"; + noButtonStyle = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EditorGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorGui.gui new file mode 100644 index 00000000..02de5df7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorGui.gui @@ -0,0 +1,3374 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditorGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + currentEditor = "World Editor Inspector"; + saveAs = "0"; + + new EditManager() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new WorldEditor(EWorldEditor) { + profile = "MissionEditorProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 22"; + extent = "640 458"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + renderMissionArea = "1"; + missionAreaFillColor = "255 0 0 20"; + missionAreaFrameColor = "255 0 0 128"; + consoleFrameColor = "255 0 0 255"; + consoleFillColor = "0 0 0 0"; + consoleSphereLevel = "1"; + consoleCircleSegments = "32"; + consoleLineWidth = "1"; + isDirty = "0"; + planarMovement = "1"; + undoLimit = "40"; + dropType = "screenCenter"; + projectDistance = "2000"; + boundingBoxCollision = "1"; + renderPlane = "1"; + renderPlaneHashes = "1"; + gridColor = "255 255 255 20"; + planeDim = "500"; + gridSize = "10 10 10"; + renderPopupBackground = "1"; + popupBackgroundColor = "100 100 100 255"; + popupTextColor = "255 255 0 255"; + objectTextColor = "255 255 255 255"; + objectsUseBoxCenter = "1"; + axisGizmoMaxScreenLen = "200"; + axisGizmoActive = "1"; + mouseMoveScale = "0.2"; + mouseRotateScale = "0.01"; + mouseScaleScale = "0.01"; + minScaleFactor = "0.1"; + maxScaleFactor = "4000"; + objSelectColor = "255 0 0 255"; + objMouseOverSelectColor = "0 0 255 255"; + objMouseOverColor = "0 255 0 255"; + showMousePopupInfo = "1"; + dragRectColor = "255 255 0 255"; + renderObjText = "1"; + renderObjHandle = "1"; + objTextFormat = "$id$: $name$"; + faceSelectColor = "0 0 100 100"; + renderSelectionBox = "1"; + selectionBoxColor = "255 255 0 255"; + selectionLocked = "0"; + snapToGrid = "0"; + snapRotations = "0"; + rotationSnap = "15"; + toggleIgnoreList = "0"; + renderNav = "0"; + selectHandle = "gui/Editor_SelectHandle.png"; + defaultHandle = "gui/Editor_DefaultHandle.png"; + lockedHandle = "gui/Editor_LockedHandle.png"; + numEditModes = "3"; + editMode2 = "scale"; + editMode0 = "move"; + editMode1 = "rotate"; + + new GuiControl(EWMissionArea) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "380 0"; + extent = "260 280"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(AE_MainBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "260 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableEditing = $ThisControl.getValue();"; + helpTag = "0"; + text = "Edit Area"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.centerWorld();"; + helpTag = "0"; + text = "Center"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "126 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableMirroring = true;AE_MainBar.setVisible(0);AE_MirrorBar.setVisible(1);"; + helpTag = "0"; + text = "Mirror"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl(AE_MirrorBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "260 22"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 3"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + command = "if(AreaEditor.mirrorIndex == 0) AreaEditor.mirrorIndex = 7; else AreaEditor.mirrorIndex--;"; + helpTag = "0"; + text = "<--"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "39 3"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + command = "if(AreaEditor.mirrorIndex == 7) AreaEditor.mirrorIndex = 0; else AreaEditor.mirrorIndex++;"; + helpTag = "0"; + text = "-->"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableMirroring = false;ETerrainEditor.mirrorTerrain(AreaEditor.mirrorIndex);AreaEditor.updateTerrain();AE_MirrorBar.setVisible(0);AE_MainBar.setVisible(1);"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "143 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableMirroring = false;AE_MirrorBar.setVisible(0);AE_MainBar.setVisible(1);"; + helpTag = "0"; + text = "Cancel"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new MissionAreaEditor(AreaEditor) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 22"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + wrap = "0"; + squareBitmap = "1"; + enableEditing = "0"; + renderCamera = "1"; + handleFrameColor = "255 255 255 255"; + handleFillColor = "0 0 0 255"; + defaultObjectColor = "0 255 0 100"; + waterObjectColor = "0 0 255 100"; + missionBoundsColor = "255 0 0 255"; + cameraColor = "255 0 0 255"; + enableMirroring = "0"; + mirrorIndex = "0"; + mirrorLineColor = "255 0 255 255"; + mirrorArrowColor = "255 0 255 128"; + }; + new GuiTextCtrl(AreaEditingText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "7 258"; + extent = "151 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + }; + new GuiFrameSetCtrl(EWFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 0"; + extent = "270 458"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + columns = "0"; + rows = "0 321"; + borderWidth = "4"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + fudgeFactor = "0"; + + new GuiControl(EWTreePane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 317"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 317"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiTreeView(EditorTree) { + profile = "GuiTreeViewProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "2 2"; + extent = "640 11"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + allowMultipleSelections = "1"; + recurseSets = "1"; + }; + }; + }; + new GuiControl(EWCreatorInspectorPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 321"; + extent = "270 137"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiScrollCtrl(EWCreatorPane) { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 137"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new CreatorTree(Creator) { + profile = "GuiTreeViewProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "93 44"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + new GuiControl(EWInspectorPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 137"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "270 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "40 20"; + minExtent = "8 8"; + visible = "1"; + command = "EWorldEditor.isDirty = true;inspector.apply(InspectorNameEdit.getValue());"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditCtrl(InspectorNameEdit) { + profile = "GuiTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "44 2"; + extent = "160 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "270 113"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiInspector(Inspector) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "2 2"; + extent = "248 74"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + editControlOffset = "5"; + entryHeight = "16"; + textExtent = "80"; + entrySpacing = "2"; + maxMenuExtent = "80"; + }; + }; + }; + }; + }; + }; + new TerrainEditor(ETerrainEditor) { + profile = "MissionEditorProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 22"; + extent = "640 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + renderMissionArea = "1"; + missionAreaFillColor = "255 0 0 20"; + missionAreaFrameColor = "255 0 0 128"; + consoleFrameColor = "255 0 0 255"; + consoleFillColor = "0 0 0 0"; + consoleSphereLevel = "1"; + consoleCircleSegments = "32"; + consoleLineWidth = "1"; + isDirty = "1"; + renderBorder = "1"; + borderHeight = "10"; + borderFillColor = "0 255 0 20"; + borderFrameColor = "0 255 0 128"; + borderLineMode = "0"; + selectionHidden = "1"; + enableSoftBrushes = "1"; + renderVertexSelection = "1"; + processUsesBrush = "0"; + adjustHeightVal = "10"; + setHeightVal = "100"; + scaleVal = "1"; + smoothFactor = "0.1"; + materialGroup = "0"; + softSelectRadius = "50"; + softSelectFilter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + softSelectDefaultFilter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + adjustHeightMouseScale = "0.1"; + currentMode = "paint"; + softSelecting = "1"; + brushSize = "9"; + currentAction = "brushAdjustHeight"; + + new GuiControl(EHeightField) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(HeightfieldTabParent) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 0"; + extent = "270 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "1"; + willFirstRespond = "1"; + + new GuiControl(tab_fBm) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "100 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "fBm Fractal Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 35"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(fbm_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "1 24"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 60"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 136"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + command = "fBm_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 110"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(fBm_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 110"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(fbm_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 60"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "128 85"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Detail:"; + maxLength = "255"; + }; + new GuiPopUpMenuCtrl(fbm_detail) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 85"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + }; + new GuiControl(tab_RMF) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "125 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Rigid MultiFractal Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 35"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 137"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "rmf_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 60"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(rmf_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "1 16"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 111"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed"; + maxLength = "255"; + }; + new GuiTextEditCtrl(rmf_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 110"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(rmf_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 60"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "128 85"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Detail:"; + maxLength = "255"; + }; + new GuiPopUpMenuCtrl(rmf_detail) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 85"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + }; + new GuiControl(tab_Canyon) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "118 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Canyon Fractal Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 61"; + extent = "34 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Chaos:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(canyon_freq) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "4 10"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 35"; + extent = "95 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Canyon Frequency:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 114"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "canyon_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "88 89"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(canyon_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 89"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(canyon_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 62"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_Smooth) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "95 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Smoothing Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Agressiveness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(smooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(smooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_SmoothWater) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "154 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Water Area Smoothing Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Agressiveness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(watersmooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(watersmooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_SmoothRidge) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "152 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Ridge Area Smoothing Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Agressiveness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(Ridgesmooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(Ridgesmooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_Filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "101 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Height Filter Settings:"; + maxLength = "255"; + }; + new GuiFilterCtrl(filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 29"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.130770 0.161540 0.223080 0.369230 0.507690 1.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "154 84"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Result"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 167"; + extent = "23 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Input"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 160"; + extent = "16 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "min"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 160"; + extent = "20 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "max"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "150 142"; + extent = "16 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "min"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "150 28"; + extent = "20 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "max"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "189 139"; + extent = "61 18"; + minExtent = "8 8"; + visible = "1"; + variable = "filter.controlPoints"; + command = "filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "187 118"; + extent = "66 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points"; + maxLength = "255"; + }; + }; + new GuiControl(tab_Turbulence) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "99 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Turbulence Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 34"; + extent = "91 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Turbulence Factor:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(turbulence_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 61"; + extent = "81 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Radius of Effect:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(turbulence_radius) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 61"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "1 40"; + increment = "1"; + }; + }; + new GuiControl(tab_Thermal) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "122 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Thermal Erosion Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 91"; + extent = "80 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Material Loss %:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 63"; + extent = "139 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Erosion Slope (degrees):"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(thermal_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 36"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 50"; + increment = "1"; + }; + new GuiTextEditSliderCtrl(thermal_slope) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%2.1f"; + range = "0 89"; + increment = "0.1"; + }; + new GuiTextEditSliderCtrl(thermal_cons) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 90"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%2.1f"; + range = "0 100"; + increment = "0.1"; + }; + }; + new GuiControl(tab_Hydraulic) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "259 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "129 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hydraulic Erosion Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 34"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiFilterCtrl(hydraulic_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 57"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextEditSliderCtrl(hydraulic_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 50"; + increment = "1"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 161"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "hydraulic_filter.controlPoints"; + command = "hydraulic_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 141"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_Sinus) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "259 199"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "72 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Sinus Settings:"; + maxLength = "255"; + }; + new GuiFilterCtrl(sinus_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 64"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.176920 0.833330 0.876920 0.238460 0.215380 0.166660 0.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 32"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(sinus_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "174 32"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 66"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "sinus_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "178 171"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "sinus_filter.controlPoints"; + command = "sinus_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 150"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_terrainFile) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 2"; + extent = "53 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TerrainFile:"; + maxLength = "255"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 20"; + extent = "262 180"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiTextListCtrl(terrainFile_textList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "240 8"; + minExtent = "8 8"; + visible = "1"; + command = "terrainFile_terrFileText.setValue(\"terrains/\" @ terrainFile_textList.getRowTextById(terrainFile_textList.getSelectedId()));Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + new GuiTextCtrl(terrainFile_terrFileText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 2"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + }; + new GuiControl(tab_General) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "General Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 53"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Height Range:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(general_scale) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 52"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "5 500"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 53"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "meters"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "29 93"; + extent = "74 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Water Level %:"; + maxLength = "255"; + }; + new GuiSliderCtrl(general_water) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 113"; + extent = "200 30"; + minExtent = "8 8"; + visible = "1"; + variable = "value"; + command = "general_water_meters.setValue(general_water.getValue()*general_scale.getValue()+general_min_height.getValue() @ \" meters\");Heightfield::saveTab();Heightfield::preview();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0"; + }; + new GuiTextCtrl(general_water_meters) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 93"; + extent = "42 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0 meters"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 158"; + extent = "135 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::center();"; + helpTag = "0"; + text = "Center on Camera"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl(general_centerx) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "8 18"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(general_centery) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "8 18"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 28"; + extent = "89 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Terrain Height:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(general_min_height) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 27"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 500"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 28"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "meters"; + maxLength = "255"; + }; + }; + new GuiControl(tab_Bitmap) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "76 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Bitmap settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 43"; + extent = "45 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Filename:"; + maxLength = "255"; + }; + new GuiTextCtrl(bitmap_name) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 43"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiButtonCtrl(bitmap_choose) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 65"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::setBitmap();"; + helpTag = "0"; + text = "Choose..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl(tab_Blend) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(blend_option) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 118"; + extent = "82 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "Add"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Blend settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 31"; + extent = "34 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Factor:"; + maxLength = "255"; + }; + new GuiSliderCtrl(blend_factor) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "49 29"; + extent = "200 30"; + minExtent = "8 8"; + visible = "1"; + variable = "value"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0.584211"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 64"; + extent = "49 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Source A:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 156"; + extent = "205 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "result = (A*factor) operation (B*(1-factor))"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 91"; + extent = "48 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Source B:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(blend_srcB) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 89"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "1"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl(blend_srcA) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 65"; + extent = "92 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Previous Operation"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 118"; + extent = "50 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Operation:"; + maxLength = "255"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 250"; + extent = "275 210"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Heightfield_options) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Options"; + maxLength = "255"; + maxPopupHeight = "200"; + setText = "false"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::onDelete();"; + helpTag = "0"; + text = "Delete"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 27"; + extent = "261 176"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + childMargin = "0 0"; + + new GuiTextListCtrl(Heightfield_operation) { + profile = "GuiTextListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "257 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "98 229"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::apply();"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiTerrPreviewCtrl(HeightfieldPreview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "4 198"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + new GuiControl(ETexture) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 458"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTerrPreviewCtrl(TexturePreview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "4 198"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new GuiControl(TextureTabParent) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 0"; + extent = "270 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + childMargin = "0 0"; + constantThumbHeight = "1"; + willFirstRespond = "1"; + + new GuiControl(tab_DistortMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 1"; + extent = "261 202"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "126 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Fractal Distortion Settings:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 97"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + command = "dmask_seed.setValue(terraFormer.generateSeed());Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditCtrl(dmask_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 71"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(dmask_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 47"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextEditSliderCtrl(dmask_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 23"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "3 36"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 23"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "103 47"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "91 71"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiFilterCtrl(dmask_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 96"; + extent = "143 93"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 165"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "dmask_filter.controlPoints"; + command = "dmask_filter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 147"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_FractalMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 202"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "106 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Fractal Mask Settings:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 96"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + command = "fBmmask_seed.setValue(terraFormer.generateSeed());Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditCtrl(fBmmask_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 70"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(fbmmask_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 46"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextEditSliderCtrl(fbmmask_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 22"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "3 36"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "92 22"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 46"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 70"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiFilterCtrl(fBmmask_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 94"; + extent = "147 98"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166670 0.333330 0.500000 0.666670 0.833330 1.000000"; + }; + new GuiCheckBoxCtrl(fBmDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 122"; + extent = "82 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 174"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "fBmmask_filter.controlPoints"; + command = "fBmmask_filter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 155"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_HeightMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "103 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Height Mask Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 26"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Filter:"; + maxLength = "255"; + }; + new GuiFilterCtrl(TextureHeightFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 26"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "6"; + filter = "0.000000 0.200000 0.400000 0.600000 0.800000 1.000000"; + }; + new GuiCheckBoxCtrl(heightDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 134"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "TextureHeightFilter.controlPoints"; + command = "TextureHeightFilter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 115"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_SlopeMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "100 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Slope Mask Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 26"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Filter:"; + maxLength = "255"; + }; + new GuiFilterCtrl(TextureSlopeFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 27"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiCheckBoxCtrl(slopeDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "44 166"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 134"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "TextureSlopeFilter.controlPoints"; + command = "TextureSlopeFilter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 115"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_WaterMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "131 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Water Level Mask Settings:"; + maxLength = "255"; + }; + new GuiCheckBoxCtrl(waterDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "371 249"; + extent = "267 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 27"; + extent = "261 65"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + childMargin = "0 0"; + + new GuiTextListCtrl(Texture_material) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "257 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::deleteMaterial();"; + helpTag = "0"; + text = "Delete"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 3"; + extent = "78 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::addMaterialTexture();"; + helpTag = "0"; + text = "Add Material..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 349"; + extent = "270 112"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Texture_operation_menu) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Options"; + maxLength = "255"; + maxPopupHeight = "200"; + setText = "false"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::deleteOperation();"; + helpTag = "0"; + text = "Delete"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 27"; + extent = "261 77"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + childMargin = "0 0"; + + new GuiTextListCtrl(Texture_operation) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "257 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "456 219"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::applyMaterials();"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiTextCtrl(TESelectionInfo) { + profile = "EditorTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "254 430"; + extent = "159 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TEMouseBrushInfo) { + profile = "EditorTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "6 430"; + extent = "182 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TESelectionInfo1) { + profile = "EditorTextProfileWhite"; + horizSizing = "right"; + vertSizing = "top"; + position = "255 431"; + extent = "159 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TEMouseBrushInfo1) { + profile = "EditorTextProfileWhite"; + horizSizing = "right"; + vertSizing = "top"; + position = "7 431"; + extent = "182 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiControl(EPainter) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "409 0"; + extent = "231 446"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(ETerrainMaterialBitmap0) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 24"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText0) { + profile = "PainterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 5"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange0) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 125"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(0);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint0) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 6"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(0);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap1) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 170"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText1) { + profile = "PainterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 151"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange1) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 271"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(1);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint1) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 152"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(1);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap2) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 312"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText2) { + profile = "PainterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 293"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange2) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 413"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(2);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint2) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 294"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(2);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 24"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText3) { + profile = "PainterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 5"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange3) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 125"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(3);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint3) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 6"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(3);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap4) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 170"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText4) { + profile = "PainterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 151"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange4) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 271"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(4);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint4) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 152"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(4);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap5) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 311"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText5) { + profile = "PainterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 292"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange5) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 412"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(5);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint5) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 293"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(5);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + }; + }; + new GuiMenuBar(EditorMenuBar) { + profile = "GuiMenuBarProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/EditorSaveMissionDlg.gui b/public/base/@vl2/scripts.vl2/gui/EditorSaveMissionDlg.gui new file mode 100644 index 00000000..d281b277 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorSaveMissionDlg.gui @@ -0,0 +1,336 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditorSaveMissionDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 81"; + extent = "333 313"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Save Mission..."; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + + new GuiControl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 50"; + extent = "317 226"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiMediumBoldTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "249 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Select the files which you wish to save:"; + }; + new GuiCheckBoxCtrl(SaveMissionCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 32"; + extent = "132 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Mission File"; + }; + new GuiTextCtrl(SaveMissionText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 56"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiTextCtrl(SaveTerrainText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 102"; + extent = "56 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiCheckBoxCtrl(SaveTerrainCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 77"; + extent = "132 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Terrain"; + }; + new GuiCheckBoxCtrl(SaveHeightFieldScriptCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 122"; + extent = "132 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Heightfield Script"; + }; + new GuiTextCtrl(SaveHeightFieldScriptText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 148"; + extent = "162 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiTextCtrl(SaveTextureScriptText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 194"; + extent = "132 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiCheckBoxCtrl(SaveTerrainScriptCheckBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 167"; + extent = "132 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Texture Script"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "158 284"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "EditorSaveMissionDlg.doSave();Canvas.popDialog(EditorSaveMissionDlg);"; + helpTag = "0"; + text = "OK"; + }; + new GuiTextEditCtrl(MissionNameTextEdit) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 26"; + extent = "238 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + altCommand = "EditorSaveMissionDlg.missionName = $ThisControl.getValue();EditorSaveMissionDlg.updateTextFields();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 284"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.popDialog(EditorSaveMissionDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 28"; + extent = "66 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Mission Name"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function EditorSaveMissionDlg::updateTextFields(%this) +{ + SaveMissionText.setValue("missions/" @ %this.missionName @ ".mis"); + SaveTerrainText.setValue("terrains/" @ %this.missionName @ ".ter"); + SaveTextureScriptText.setValue("terrains/texture/" @ %this.missionName @ "_texture.cs"); + SaveHeightFieldScriptText.setValue("terrains/heightfield/" @ %this.missionName @ "_heightfield.cs"); +} + +function EditorSaveMissionDlg::onWake(%this) +{ + %this.missionName = fileBase($MissionName); + + // + MissionNameTextEdit.setValue(%this.missionName); + %this.updateTextFields(); + + // set all to be saved + if(%this.initialized != true) + { + SaveMissionCheckBox.setValue(1); + SaveTerrainCheckBox.setValue(1); + SaveTerrainScriptCheckBox.setValue(1); + SaveHeightFieldScriptCheckBox.setValue(1); + + %this.initialized = true; + } +} + +function EditorSaveMissionDlg::doSave(%this) +{ + // + if(!isObject(MissionGroup)) + { + error("No mission exists to save!"); + return; + } + + // check the files for write access + //--------------------------------- + if(SaveMissionCheckBox.getValue()) + { + %file = "base/missions/" @ %this.missionName @ ".mis"; + if(!isWriteableFileName(%file)) + { + error("Mission file '" @ %file @ "' is not writeable."); + return; + } + } + + if(SaveTerrainCheckBox.getValue()) + { + %file = "base/terrains/" @ %this.missionName @ ".ter"; + if(!isWriteableFileName(%file)) + { + error("Terrain file '" @ %file @ "' is not writeable."); + return; + } + } + + if(SaveTerrainScriptCheckBox.getValue()) + { + %file = "base/terrains/texture/" @ %this.missionName @ "_texture.cs"; + if(!isWriteableFileName(%file)) + { + error("Terrain texture script file '" @ %file @ "' is not writeable."); + return; + } + } + + if(SaveHeightFieldScriptCheckBox.getValue()) + { + %file = "base/terrains/heightfield/" @ %this.missionName @ "_heightfield.cs"; + if(!isWriteableFileName(%file)) + { + error("Terrain heightfield script file '" @ %file @ "' is not writeable."); + return; + } + } + + // Now, save out the files... + //--------------------------------- + if(SaveMissionCheckBox.getValue()) + { + // rename the terrainFile field in the TerrainBlock obj + if(SaveTerrainCheckBox.getValue()) + if(isObject(terrain)) + terrain.terrainFile = %this.missionName @ ".ter"; + + // + missionGroup.save("missions/" @ %this.missionName @ ".mis"); + $MissionName = %this.missionName @ ".mis"; + } + + // requires that the terrain object be named 'terrain' + if(SaveTerrainCheckBox.getValue()) + if(isObject(terrain)) + terrain.save(%this.missionName @ ".ter"); + else + warn(" Failed to save TerrainObject (no object exists)"); + + // + if(SaveTerrainScriptCheckBox.getValue()) + if(Texture_material.rowCount()) + Texture::save(%this.missionName @ "_texture.cs"); + else + warn(" Failed to save Terrain Script file. Nothing to save."); + + // + if(SaveHeightFieldScriptCheckBox.getValue()) + if(Heightfield_operation.rowCount()) + HeightField::doSaveHeightfield(%this.missionName @ "_heightfield.cs"); + else + warn(" Failed to save HeightField Script file. Nothing to save."); +} diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolBarGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolBarGui.gui new file mode 100644 index 00000000..1f20db47 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolBarGui.gui @@ -0,0 +1,71 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditorToolBarGui) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Editor.close();"; + helpTag = "0"; + text = "Back"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "452 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.setContent(TerraformerGui);"; + helpTag = "0"; + text = "Terraformer"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "370 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Editor.setView(TerrainEditorView);"; + helpTag = "0"; + text = "Terrain Editor"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "288 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Editor.setView(WorldEditorView);"; + helpTag = "0"; + text = "World Editor"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolCreatorGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolCreatorGui.gui new file mode 100644 index 00000000..98893f14 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolCreatorGui.gui @@ -0,0 +1,322 @@ +//--- OBJECT WRITE BEGIN --- + +new GuiScrollCtrl(EditorToolCreatorGui) +{ + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "allwaysOn"; + hScrollBar = "dynamic"; + + new GuiScrollContentCtrl() + { + profile = "GuiScrollContentProfile"; + + new CreatorTree(Creator) + { + profile = "GuiTreeViewProfile"; + }; + }; +}; + +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function Creator::init(%this) +{ + %this.clear(); + +// %this.currentSel = -1; +// %this.currentRoot = -1; +// %this.currentObj = -1; + + $InstantGroup = "MissionGroup"; + + // *** INTERIORS + %base = %this.addGroup(0, "Interiors"); + %misc = %this.addGroup(%base, "Misc."); + + // + %shapeGroup[0] = "Blood Eagle - Lush"; + %shapeGroup[1] = "Diamond Sword - Volcanic"; + %shapeGroup[2] = "Star Wolf - Ice"; + %shapeGroup[3] = "Children of the Phoenix - Desert"; + %shapeGroup[4] = "Bioderm - Badlands"; + + %groupShort[0] = "b"; + %groupShort[1] = "d"; + %groupShort[2] = "s"; + %groupShort[3] = "p"; + %groupShort[4] = "x"; + + // + %shapeType[0] = "Towers"; + %shapeType[1] = "Bunkers"; + %shapeType[2] = "Base"; + %shapeType[3] = "Platform"; + %shapeType[4] = "Bridge"; + %shapeType[5] = "Wall"; + %shapeType[6] = "Unique"; + %shapeType[7] = "Power"; + %shapeType[8] = "Misc."; + %shapeType[9] = "Vehicle"; + %shapeType[10] = "Rocks"; + + %typeShort[0] = "towr"; + %typeShort[1] = "bunk"; + %typeShort[2] = "base"; + %typeShort[3] = "plat"; + %typeShort[4] = "brdg"; + %typeShort[5] = "wall"; + %typeShort[6] = "uniq"; + %typeShort[7] = "powr"; + %typeShort[8] = "misc"; + %typeShort[9] = "vbay"; + %typeShort[10] = "rock"; + + // create the groups + %grpCount = 0; + for(%i = 0; %shapeGroup[%i] !$= ""; %i++) + { + %parent = Creator.addGroup(%base, %shapeGroup[%i]); + for(%j = 0; %shapeType[%j] !$= ""; %j++) + { + %group[%grpCount] = %this.addGroup(%parent, %shapeType[%j]); + %grpCount++; + } + } + + // walk all the interiors and add them to the correct group + %file = findFirstFile("interiors/*.dif"); + while(%file !$= "") + { + %file = fileBase(%file); + + %grpCount = 0; + %added = false; + for(%i = 0; !%added && %shapeGroup[%i] !$= ""; %i++) + { + for(%j = 0; %shapeType[%j] !$= ""; %j++) + { + if(%this.fileNameMatch(%groupShort[%i], %typeShort[%j], %file)) + { + %this.addItem(%group[%grpCount], %file, "createInterior(" @ "\"" @ %file @ ".dif\"" @ ");"); + %added = true; + } + %grpCount++; + } + } + + // throw it in the 'misc' directory + if(!%added) + %this.addItem(%misc, %file, "createInterior(" @ "\"" @ %file @ ".dif\"" @ ");"); + + %file = findNextFile("interiors/*.dif"); + } + + // *** SHAPES - add in all the shapes now... + %base = %this.addGroup(0, "Shapes"); + %dataGroup = "DataBlockGroup"; + + for(%i = 0; %i < %dataGroup.getCount(); %i++) + { + %obj = %dataGroup.getObject(%i); + if(%obj.catagory !$= "" || %obj.catagory != 0) + { + %grp = %this.addGroup(%base, %obj.catagory); + %this.addItem(%grp, %obj.getName(), %obj.getClassName() @ "::create(" @ %obj.getName() @ ");"); + } + } + + // Statics + %staticBase = %this.addGroup(0, "Static Objects"); + for (%i = 0; %i < $NumStaticTSObjects; %i++) { + echo("This: " SPC $StaticTSObjects[%i]); + echo(getWord($StaticTSObjects[%i], 2)); + + %grp = %this.addGroup(%staticBase, getWord($StaticTSObjects[%i], 0)); + echo("TSStatic::create(" @ getWord($StaticTSObjects[%i], 2) @");"); + %this.addItem(%grp, getWord($StaticTSObjects[%i], 1), "TSStatic::create(\"" @ getWord($StaticTSObjects[%i], 2) @"\");"); + } + + + // *** OBJECTS - do the objects now... + %objGroup[0] = "Environment"; + %objGroup[1] = "Mission"; + %objGroup[2] = "System"; + %objGroup[3] = "AI"; + + %Environment_Item[0] = "Sky"; + %Environment_Item[1] = "Sun"; + %Environment_Item[2] = "Lightning"; + %Environment_Item[3] = "Water"; + %Environment_Item[4] = "Terrain"; + %Environment_Item[5] = "AudioEmitter"; + %Environment_Item[6] = "Precipitation"; + %Environment_Item[7] = "ParticleEmitter"; + + %Mission_Item[0] = "MissionArea"; + %Mission_Item[1] = "GameType"; + %Mission_Item[2] = "Marker"; + %Mission_Item[3] = "Forcefield"; + %Mission_Item[4] = "Trigger"; + %Mission_Item[5] = "PhysicalZone"; + %Mission_Item[6] = "Camera"; + + %System_Item[0] = "SimGroup"; + + %AI_Item[0] = "Objective"; + //%AI_Item[1] = "NavigationGraph"; + + // objects group + %base = %this.addGroup(0, "Objects"); + + // create 'em + for(%i = 0; %objGroup[%i] !$= ""; %i++) + { + %grp = %this.addGroup(%base, %objGroup[%i]); + + %groupTag = "%" @ %objGroup[%i] @ "_Item"; + + %done = false; + for(%j = 0; !%done; %j++) + { + eval("%itemTag = " @ %groupTag @ %j @ ";"); + if(%itemTag $= "") + %done = true; + else + %this.addItem(%grp, %itemTag, "ObjectBuilderGui.build" @ %itemTag @ "();"); + } + } +} + +function createInterior(%name) +{ + %obj = new InteriorInstance() + { + position = "0 0 0"; + rotation = "0 0 0"; + interiorFile = %name; + }; + + return(%obj); +} + +function Creator::onAction(%this) +{ +// %this.currentSel = -1; +// %this.currentRoot = -1; +// %this.currentObj = -1; + + %sel = %this.getSelected(); + if(%sel == -1 || %this.isGroup(%sel) || !$MissionRunning) + return; + + // the value is the callback function.. + if(%this.getValue(%sel) $= "") + return; + + %this.currentSel = %sel; + %this.currentRoot = %this.getRootGroup(%sel); + + %this.create(%sel); +} + +function Creator::create(%this, %sel) +{ + // create the obj and add to the instant group + %obj = eval(%this.getValue(%sel)); + + if(%obj == -1 || %obj == 0) + return; + +// %this.currentObj = %obj; + + $InstantGroup.add(%obj); + + // drop it from the editor - only SceneObjects can be selected... + wEditor.clearSelection(); + wEditor.selectObject(%obj); + wEditor.dropSelection(); +} + +//function Creator::getRootGroup(%sel) +//{ +// if(%sel == -1 || %sel == 0) +// return(-1); +// +// %parent = %this.getParent(%sel); +// while(%parent != 0 || %parent != -1) +// { +// %sel = %parent; +// %parent = %this.getParent(%sel); +// } +// +// return(%sel); +//} +// +//function Creator::getLastItem(%rootGroup) +//{ +// %traverse = %rootGroup + 1; +// while(%this.getRootGroup(%traverse) == %rootGroup) +// %traverse++; +// return(%traverse - 1); +//} +// +//function Creator::createNext(%this) +//{ +// if(%this.currentSel == -1 || %this.currentRoot == -1 || %this.currentObj == -1) +// return; +// +// %sel = %this.currentSel; +// %this.currentSel++; +// +// while(%this.currentSel != %sel) +// { +// if(%this.getRootGroup(%this.currentSel) != %this.currentRoot) +// %this.currentSel = %this.currentRoot + 1; +// +// if(%this.isGroup(%this.currentSel)) +// %this.currentSel++; +// else +// %sel = %this.currentSel; +// } +// +// // +// %this.currentObj.delete(); +// %this.create(%sel); +//} +// +//function Creator::createPrevious(%this) +//{ +// if(%this.currentSel == -1 || %this.currentGroup == -1 || %this.currentObj == -1) +// return; +// +// %sel = %this.currentSel; +// %this.currentSel--; +// +// while(%this.currentSel != %sel) +// { +// if(%this.getRootGroup(%this.currentSel) != %this.currentRoot) +// %this.currentSel = getLastItem(%this.currentRoot); +// +// if(%this.isGroup(%this.currentSel)) +// %this.currentSel--; +// else +// %sel = %this.currentSel; +// } +// +// // +// %this.currentObj.delete(); +// %this.create(%sel); +//} + + + + + + + diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolInspectorGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolInspectorGui.gui new file mode 100644 index 00000000..d1abd039 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolInspectorGui.gui @@ -0,0 +1,59 @@ +//--- OBJECT WRITE BEGIN --- + +new GuiControl(EditorToolInspectorGui) +{ + profile = "GuiButtonProfile"; + position = "0 0"; + extent = "200 200"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiButtonCtrl() + { + profile = "GuiButtonProfile"; + position = "2 2"; + extent = "40 20"; + text = "Apply"; + command = "inspector.apply(InspectorNameEdit.getValue());"; + }; + + new GuiTextEditCtrl(InspectorNameEdit) + { + profile = "GuiTextEditProfile"; + position = "44 2"; + extent = "160 20"; + text = ""; + horizSizing = "width"; + vertSizing = "bottom"; + }; + + new GuiScrollCtrl() + { + profile = "GuiScrollCtrlProfile"; + vScrollBar = "alwaysOn"; + hScrollBar = "dynamic"; + vertSizing = "height"; + horizSizing = "width"; + position = "0 24"; + + new GuiScrollContentCtrl() + { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiInspector(Inspector) + { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + }; + }; + }; +}; + +//--- OBJECT WRITE END --- + +function Inspector::init() +{ +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolMissionAreaGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolMissionAreaGui.gui new file mode 100644 index 00000000..482328b9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolMissionAreaGui.gui @@ -0,0 +1,195 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(editortoolmissionareagui) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl(AE_MainBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "AreaEditor.enableEditing"; + command = "AreaEditor.enableEditing = $ThisControl.getValue();"; + helpTag = "0"; + text = "Edit Area"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 2"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "AreaEditor.centerWorld();"; + helpTag = "0"; + text = "Center"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 2"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "AreaEditor.enableMirroring = true;AE_MainBar.setVisible(0);AE_MirrorBar.setVisible(1);"; + helpTag = "0"; + text = "Mirror"; + }; + }; + new GuiControl(AE_MirrorBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 20"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if(AreaEditor.mirrorIndex == 0) AreaEditor.mirrorIndex = 7; else AreaEditor.mirrorIndex--;"; + helpTag = "0"; + text = "<--"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 1"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if(AreaEditor.mirrorIndex == 7) AreaEditor.mirrorIndex = 0; else AreaEditor.mirrorIndex++;"; + helpTag = "0"; + text = "-->"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "78 1"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "AreaEditor.enableMirroring = false;tEditor.mirrorTerrain(AreaEditor.mirrorIndex);AreaEditor.updateTerrain();AE_MirrorBar.setVisible(0);AE_MainBar.setVisible(1);"; + helpTag = "0"; + text = "Apply"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "141 1"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "AreaEditor.enableMirroring = false;AE_MirrorBar.setVisible(0);AE_MainBar.setVisible(1);"; + helpTag = "0"; + text = "Cancel"; + }; + }; + new MissionAreaEditor(AreaEditor) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 20"; + extent = "640 440"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + wrap = "0"; + squareBitmap = "1"; + enableEditing = "0"; + renderCamera = "1"; + handleFrameColor = "255 255 255 255"; + handleFillColor = "0 0 0 255"; + defaultObjectColor = "0 255 0 100"; + waterObjectColor = "0 0 255 100"; + missionBoundsColor = "255 0 0 255"; + cameraColor = "255 0 0 255"; + enableMirroring = "0"; + mirrorIndex = "0"; + mirrorLineColor = "255 0 255 255"; + mirrorArrowColor = "255 0 255 128"; + }; + new GuiTextCtrl(AreaEditingText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "5 460"; + extent = "640 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function AreaEditor::init(%this) +{ +} + +function AreaEditor::onUpdate(%this, %area) +{ + AreaEditingText.setValue( "X: " @ getWord(%area,0) @ " Y: " @ getWord(%area,1) @ " W: " @ getWord(%area,2) @ " H: " @ getWord(%area,3)); +} + +function AreaEditor::onWorldOffset(%this, %offset) +{ +} diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolThumbnailGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolThumbnailGui.gui new file mode 100644 index 00000000..a8ca4439 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolThumbnailGui.gui @@ -0,0 +1,30 @@ +//--- OBJECT WRITE BEGIN --- + +new GuiScrollCtrl(ThumbnailView) +{ + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "allwaysOn"; + hScrollBar = "dynamic"; + + new GuiScrollContentCtrl() + { + profile = "GuiScrollContentProfile"; + + new GuiBitmapCtrl(ThumbnailPreview) + { + profile = "GuiScrollContentProfile"; + }; + }; +}; + +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function ThumbnailPreview::init(%this) +{ +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolTreeViewGui.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolTreeViewGui.gui new file mode 100644 index 00000000..e7a6cc63 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolTreeViewGui.gui @@ -0,0 +1,108 @@ +//--- OBJECT WRITE BEGIN --- + +new GuiScrollCtrl(EditorToolTreeViewGui) +{ + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "alwaysOn"; + hScrollBar = "dynamic"; + position = "0 0"; + extent = "200 400"; + + new GuiScrollContentCtrl() + { + profile = "GuiScrollContentProfile"; + +// new GuiTreeViewCtrl(EditorTree) + new GuiTreeView(EditorTree) + { + profile = "GuiTreeViewProfile"; + position = "0 0"; + extent = "300 300"; + horizSizing = "width"; + allowMultipleSelections = "true"; + recurseSets = "true"; + }; + }; +}; + +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function EditorTree::init(%this) +{ + %this.open(MissionGroup); + + // context menu + new GuiControl(ETContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiPopUpMenuCtrl(ETContextPopup) + { + profile = "GuiButtonProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + command = "canvas.popDialog(ETContextPopupDlg);"; + }; + }; + ETContextPopup.setVisible(false); +} + +function EditorTree::onInspect(%this, %obj) +{ + Inspector.inspect(%obj); + InspectorNameEdit.setValue(%obj.getName()); +} + +function EditorTree::onSelect(%this, %obj) +{ + if($AIEdit) + aiEdit.selectObject(%obj); + else + wEditor.selectObject(%obj); + +} + +function EditorTree::onUnselect(%this, %obj) +{ + if($AIEdit) + aiEdit.unselectObject(%obj); + else + wEditor.unselectObject(%obj); +} + +function EditorTree::onContextMenu(%this, %mousePos, %obj) +{ + ETContextPopup.position = %mousePos; + ETContextPopup.clear(); + ETContextPopup.add("Delete", 0); + + canvas.pushDialog(ETContextPopupDlg); + ETContextPopup.forceOnAction(); + + %this.contextObj = %obj; +} + +function ETContextPopup::onSelect(%this, %index, %value) +{ + switch(%index) + { + case 0: + EditorTree.contextObj.delete(); + } +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/EditorToolbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/EditorToolbarDlg.gui new file mode 100644 index 00000000..aa1777f1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EditorToolbarDlg.gui @@ -0,0 +1,85 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditorToolbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "editor.close();"; + helpTag = "0"; + text = "Back"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 4"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Editor.setEditor(WorldEditor);"; + helpTag = "0"; + text = "World Editor"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "207 4"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Editor.setEditor(TerrainEditor);"; + helpTag = "0"; + text = "Terrain Editor"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "291 4"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Editor.setEditor(Terraformer);"; + helpTag = "0"; + text = "Terraformer"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "375 4"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Editor.setEditor(AIEditor);"; + helpTag = "0"; + text = "AI Editor"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EmailBlockDlg.gui b/public/base/@vl2/scripts.vl2/gui/EmailBlockDlg.gui new file mode 100644 index 00000000..8ad48edb --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EmailBlockDlg.gui @@ -0,0 +1,118 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EmailBlockDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "154 64"; + extent = "332 320"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "EDIT BLOCK LIST"; + noTitleBar = "0"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "32 265"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "EmailBlockRemove();"; + helpTag = "0"; + text = "REMOVE BLOCK"; + simpleStyle = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "22 42"; + extent = "287 222"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "279 208"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(EmailBlockList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "263 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0 169"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 28"; + extent = "45 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Sender:"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "169 265"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(EmailBlockDlg);"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 28"; + extent = "103 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "# Blocked Emails:"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EmailComposeDlg.gui b/public/base/@vl2/scripts.vl2/gui/EmailComposeDlg.gui new file mode 100644 index 00000000..ae624416 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EmailComposeDlg.gui @@ -0,0 +1,218 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EMailComposeDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + state = "done"; + key = "6"; + + new ShellWindowCtrl(EmailComposeWindow) { + profile = "ShellWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "77 37"; + extent = "500 408"; + minExtent = "386 230"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPOSE EMAIL"; + maxLength = "255"; + frameBase = "gui/window"; + borderWidth = "2"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + closeCommand = "EmailComposeDlg.Cancel();"; + + new ShellTextEditCtrl(Email_TOEdit) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "51 30"; + extent = "443 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + maxLength = "2001"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(Email_CCEdit) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "51 56"; + extent = "443 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + maxLength = "2001"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellTextEditCtrl(EMail_Subject) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "51 82"; + extent = "443 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$EmailSubject"; + helpTag = "0"; + maxLength = "48"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "11 117"; + extent = "478 250"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "448 236"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextEditCtrl(EmailBodyText) { + profile = "ShellMessageTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "448 236"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "3600"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "96 368"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailComposeDlg.Cancel();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "306 368"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EMailComposeDlg.SendMail();"; + helpTag = "0"; + text = "SEND"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 91"; + extent = "47 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Subject:"; + maxLength = "255"; + }; + new ShellBitmapButton(ToButton) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 30"; + extent = "50 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "LaunchAddressDlg();"; + helpTag = "0"; + text = "TO:"; + simpleStyle = "0"; + }; + new ShellBitmapButton(CCButton) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 56"; + extent = "50 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "LaunchAddressDlg();"; + helpTag = "0"; + text = "CC:"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EmailGui.gui b/public/base/@vl2/scripts.vl2/gui/EmailGui.gui new file mode 100644 index 00000000..b837be87 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EmailGui.gui @@ -0,0 +1,394 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(EmailGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "12 13"; + extent = "620 423"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "EMAIL"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellBitmapButton(EM_BlockEditBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "324 42"; + extent = "90 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailEditBlocks();"; + helpTag = "0"; + text = "BLOCK LIST"; + simpleStyle = "0"; + }; + new ShellBitmapButton(EM_AddBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "427 29"; + extent = "93 38"; + minExtent = "32 38"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailBlockSender();"; + helpTag = "0"; + text = "TRACK SENDER"; + simpleStyle = "0"; + }; + new ShellBitmapButton(EM_DeleteBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "275 42"; + extent = "65 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailMessageDelete();"; + accelerator = "delete"; + helpTag = "0"; + text = "DELETE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(EM_ForwardBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "216 42"; + extent = "75 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailMessageForward();"; + helpTag = "0"; + text = "FORWARD"; + simpleStyle = "0"; + }; + new ShellBitmapButton(EM_ReplyToAllBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "152 42"; + extent = "80 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailMessageReplyAll();"; + helpTag = "0"; + text = "REPLY ALL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(EM_ReplyBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 42"; + extent = "60 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailMessageReply();"; + helpTag = "0"; + text = "REPLY"; + simpleStyle = "0"; + }; + new ShellBitmapButton(em_NewMailbtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "71 42"; + extent = "53 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailMessageNew();"; + helpTag = "0"; + text = "NEW"; + simpleStyle = "0"; + }; + new GuiFrameSetCtrl(EM_Frame) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "18 70"; + extent = "583 334"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + columns = "0"; + rows = "0 146"; + borderWidth = "4"; + borderColor = "5 199 145 255"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + fudgeFactor = "4"; + + new ShellFancyArrayScrollCtrl(EM_BrowserPane) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "583 142"; + minExtent = "8 72"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl() { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "583 126"; + minExtent = "8 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new VirtualScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "559 118"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "8 59"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + }; + new GuiEmailBrowser(EM_Browser) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "563 138"; + minExtent = "8 20"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + startScrollRegion = "4 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "19"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "1"; + noSelect = "0"; + iconBase = "gui/email"; + unreadFontType = "Univers Bold"; + unreadFontSize = "16"; + unreadFontColor = "6 245 215 255"; + headerGlowOffset = "4"; + }; + }; + new ShellScrollCtrl(EM_MessagePane) { + profile = "NewScrollCtrlProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "0 146"; + extent = "583 188"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "553 174"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(EMailInboxBodyText) { + profile = "ShellMessageTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "551 248"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + }; + new ShellBitmapButton(EM_BuddyEditBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "504 29"; + extent = "100 38"; + minExtent = "32 38"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailEditBuddys();"; + helpTag = "0"; + text = "TRACKING LIST"; + simpleStyle = "0"; + }; + new ShellBitmapButton(EM_BlockBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "398 42"; + extent = "105 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailBlockSender();"; + helpTag = "0"; + text = "BLOCK SENDER"; + simpleStyle = "0"; + }; + new ShellBitmapButton(em_GetMailBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 42"; + extent = "75 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GetEmailBtnClick();"; + helpTag = "0"; + text = "GET MAIL"; + simpleStyle = "0"; + }; + new ShellRadioButton(rbInbox) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 24"; + extent = "101 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EMailGui.ButtonClick(0);"; + helpTag = "0"; + text = "INBOX"; + maxLength = "255"; + groupNum = "0"; + }; + new ShellRadioButton(rbSendItems) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "222 24"; + extent = "110 30"; + minExtent = "26 27"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "SENT MAIL"; + maxLength = "255"; + groupNum = "0"; + }; + new ShellRadioButton(rbDeleted) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "113 24"; + extent = "112 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EmailGui.buttonClick(1);"; + helpTag = "0"; + text = "DELETED MAIL"; + maxLength = "255"; + groupNum = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/EnterIPDlg.gui b/public/base/@vl2/scripts.vl2/gui/EnterIPDlg.gui new file mode 100644 index 00000000..745d1b5f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/EnterIPDlg.gui @@ -0,0 +1,81 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EnterIPDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "155 175"; + extent = "330 130"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENTER IP ADDRESS"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellTextEditCtrl(IPEntry) { + profile = "NewTextEditProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "28 35"; + extent = "273 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "EnterIPDlg.onDone();"; + helpTag = "0"; + maxLength = "24"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "43 75"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog( EnterIPDlg );"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "187 75"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "EnterIPDlg.onDone();"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/FilterEditDlg.gui b/public/base/@vl2/scripts.vl2/gui/FilterEditDlg.gui new file mode 100644 index 00000000..d1055a09 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/FilterEditDlg.gui @@ -0,0 +1,533 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(FilterEditDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "22 37"; + extent = "600 390"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "EDIT GAME FILTER"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "48 40"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Filter Name:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(FilterEditName) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 32"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "New Filter"; + maxLength = "16"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 78"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Rules Set:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 108"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Game Type:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "239 78"; + extent = "106 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Min Player Count:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "239 108"; + extent = "106 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Max Player Count:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "42 244"; + extent = "82 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Server Location:"; + maxLength = "255"; + }; + new ShellPopupMenu(FilterEditGameType) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "83 69"; + extent = "160 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Any"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellTextEditCtrl(FilterEditMinPlayers) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "341 70"; + extent = "80 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "0"; + maxLength = "3"; + validate = "FilterEditDlg.setMinPlayers();"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "422 78"; + extent = "84 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Max Bot Count:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(FilterEditMaxBots) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "502 70"; + extent = "80 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "16"; + maxLength = "3"; + validate = "FilterEditDlg.setMaxBots();"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellPopupMenu(FilterEditMissionType) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "83 99"; + extent = "160 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Any"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellTextEditCtrl(FilterEditMaxPlayers) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "341 100"; + extent = "80 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "255"; + maxLength = "3"; + validate = "FilterEditDlg.setMaxPlayers();"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "422 108"; + extent = "84 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Min CPU Speed:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(FilterEditMinCPU) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "502 100"; + extent = "80 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "0"; + maxLength = "4"; + validate = "FilterEditDlg.setMinCPU();"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellToggleButton(FilterEditUsePingTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 145"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "FILTER BY MAX PING"; + maxLength = "255"; + }; + new ShellTextEditCtrl(FilterEditMaxPing) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "207 140"; + extent = "80 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "0"; + maxLength = "3"; + validate = "FilterEditDlg.setMaxPing();"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellToggleButton(FilterEditDedicatedTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "396 145"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DEDICATED"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditTDOnTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 175"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TEAM DAMAGE ON"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditWindowsTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 177"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WINDOWS ONLY"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditNoPwdTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "396 175"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "NOT PASSWORDED"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditTDOffTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 205"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TEAM DAMAGE OFF"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLinuxTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 205"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "LINUX ONLY"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditCurVersionTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "396 205"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CURRENT VERSION"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLocMask0) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 266"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FilterEditDlg.checkRegionMasks( 0 );"; + helpTag = "0"; + text = "NORTH AMERICA EAST"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLocMask2) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 266"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FilterEditDlg.checkRegionMasks( 2 );"; + helpTag = "0"; + text = "SOUTH AMERICA"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLocMask3) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "396 266"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FilterEditDlg.checkRegionMasks( 3 );"; + helpTag = "0"; + text = "AUSTRALIA"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLocMask1) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 294"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FilterEditDlg.checkRegionMasks( 1 );"; + helpTag = "0"; + text = "NORTH AMERICA WEST"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLocMask5) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 294"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FilterEditDlg.checkRegionMasks( 5 );"; + helpTag = "0"; + text = "EUROPE"; + maxLength = "255"; + }; + new ShellToggleButton(FilterEditLocMask4) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "396 294"; + extent = "165 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FilterEditDlg.checkRegionMasks( 4 );"; + helpTag = "0"; + text = "ASIA"; + maxLength = "255"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "83 335"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog(FilterEditDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "396 335"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ChooseFilterDlg.saveFilter();"; + helpTag = "0"; + text = "SAVE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/FindServerDlg.gui b/public/base/@vl2/scripts.vl2/gui/FindServerDlg.gui new file mode 100644 index 00000000..85aeb94e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/FindServerDlg.gui @@ -0,0 +1,111 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(FindServerDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "155 156"; + extent = "330 167"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "FIND SERVER"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 45"; + extent = "75 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Find Text:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(FS_SearchPattern) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "91 36"; + extent = "205 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FS_SearchPattern.validate();"; + altCommand = "FindServerDlg::onGo();"; + helpTag = "0"; + maxLength = "24"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "85 76"; + extent = "160 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::ServerBrowser::IgnoreCase"; + helpTag = "0"; + text = "IGNORE CASE"; + maxLength = "255"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "43 112"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog( FindServerDlg );"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(FS_GoBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "187 112"; + extent = "100 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "FindServerDlg.onGo();"; + helpTag = "0"; + text = "GO"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/FrameOverlayGui.gui b/public/base/@vl2/scripts.vl2/gui/FrameOverlayGui.gui new file mode 100644 index 00000000..cd7412df --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/FrameOverlayGui.gui @@ -0,0 +1,29 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(FrameOverlayGui) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "false"; + helpTag = "0"; + bypassHideCursor = "1"; + + new GuiConsoleTextCtrl(TextOverlayControl) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 5"; + extent = "15 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + expression = "10"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/GameGui.gui b/public/base/@vl2/scripts.vl2/gui/GameGui.gui new file mode 100644 index 00000000..48f4815d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/GameGui.gui @@ -0,0 +1,1131 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(GameGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl(GM_Frame) { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "12 13"; + extent = "620 423"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "GAME"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellTabFrame(GM_TabFrame) { + profile = "ShellHorzTabFrameProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "22 54"; + extent = "576 254"; + minExtent = "26 254"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + isVertical = "0"; + useCloseButton = "0"; + edgeInset = "0"; + }; + new ShellTabGroupCtrl(GM_TabView) { + profile = "TabGroupProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "30 25"; + extent = "560 29"; + minExtent = "38 29"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + glowOffset = "7"; + tabSpacing = "2"; + maxTabWidth = "150"; + stretchToFit = "0"; + }; + new GuiControl(GM_JoinPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 62"; + extent = "558 345"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "BrowserFilterLabelProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "48 26"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "FILTER:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "56 3"; + extent = "104 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(GMJ_FilterText) { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "67 26"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "All Servers"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new GuiTextCtrl(GMJ_StatusText) { + profile = "BrowserStatusTextProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "162 3"; + extent = "190 26"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Status Text..."; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiProgressCtrl(GMJ_ProgressBar) { + profile = "BrowserProgressProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "355 5"; + extent = "154 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + new ShellBitmapButton(GMJ_StopBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "504 -4"; + extent = "59 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "stopServerQuery();"; + accelerator = "escape"; + helpTag = "0"; + text = "STOP"; + simpleStyle = "0"; + }; + new ShellFancyArrayScrollCtrl() { + profile = "ShellServerBrowserProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 25"; + extent = "558 286"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fixedHorizontal = "0"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl() { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "194 16"; + extent = "364 270"; + minExtent = "8 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOn"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new VirtualScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "340 246"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "840 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + }; + new GuiServerBrowser(GMJ_Browser) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "538 265"; + minExtent = "8 20"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "Canvas.pushDialog(ServerInfoDlg);"; + helpTag = "0"; + startScrollRegion = "1 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "19"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "1"; + noSelect = "0"; + iconBase = "gui/shll_icon"; + }; + }; + new ShellBitmapButton(GMJ_FilterBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "38 306"; + extent = "110 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.pushDialog(ChooseFilterDlg);"; + helpTag = "0"; + text = "CHANGE FILTER"; + simpleStyle = "0"; + }; + new ShellBitmapButton(GMJ_RefreshListBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "140 306"; + extent = "110 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GMJ_Browser.runQuery();"; + helpTag = "0"; + text = "REFRESH LIST"; + simpleStyle = "0"; + }; + new ShellBitmapButton(GMJ_RefreshServerBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "242 306"; + extent = "110 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GMJ_Browser.refreshSelectedServer();"; + helpTag = "0"; + text = "REFRESH SERVER"; + simpleStyle = "0"; + }; + new ShellBitmapButton(GMJ_InfoBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "344 306"; + extent = "110 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.pushDialog(ServerInfoDlg);"; + helpTag = "0"; + text = "SERVER INFO"; + simpleStyle = "0"; + }; + new ShellBitmapButton(GMJ_JoinBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "446 306"; + extent = "110 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "JoinSelectedGame();"; + helpTag = "0"; + text = "JOIN GAME"; + simpleStyle = "0"; + }; + }; + new GuiControl(GM_HostPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 62"; + extent = "558 345"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 16"; + extent = "558 312"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "34 13"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Game Type:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(GMH_MissionType) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 4"; + extent = "165 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "GAME TYPE"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 40"; + extent = "75 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Mission Name:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "31 54"; + extent = "218 251"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 2"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 6"; + extent = "210 239"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(GMH_MissionList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "210 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "tryToStartHostedGame();"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "266 4"; + extent = "270 268"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 8"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Server Name:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 0"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$Host::GameName"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "24"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 38"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Password:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 30"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$Host::Password"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "16"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 68"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Max Players:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellTextEditCtrl(GMH_MaxPlayersTE) { + profile = "NewTextEditNumericProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 60"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$Host::MaxPlayers"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "3"; + validate = "validateMaxPlayers();"; + historySize = "0"; + password = "0"; + IRCName = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new ShellBitmapButton(GMH_AdvancedBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 96"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.pushDialog(AdvancedHostDlg);"; + helpTag = "0"; + text = "ADVANCED OPTIONS"; + simpleStyle = "0"; + }; + new ShellToggleButton(GMH_BotsEnabledTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "88 132"; + extent = "167 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$Host::BotsEnabled"; + helpTag = "0"; + text = "ENABLE BOTS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiControl(GMH_EnableBotsGroup) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "1 157"; + extent = "270 105"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "11 5"; + extent = "90 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Number of Bots:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(GMH_BotCountText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "107 6"; + extent = "16 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "(0)"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(GMH_MinCombatantSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 20"; + extent = "185 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "setMinCombatants();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "15"; + value = "0.27"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(GMH_BotDiffText) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 45"; + extent = "90 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Bot Difficulty:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(GMH_BotMinText) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 63"; + extent = "42 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Min:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(GMH_BotMinSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 60"; + extent = "185 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateMinBotDifficulty();"; + helpTag = "0"; + range = "0.000000 0.990000"; + ticks = "1000"; + value = "0.99"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(GMH_BotMaxText) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 86"; + extent = "42 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Max:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(GMH_BotMaxSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 83"; + extent = "185 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateMaxBotDifficulty();"; + helpTag = "0"; + range = "0.000000 0.990000"; + ticks = "1000"; + value = "0.99"; + usePlusMinus = "1"; + }; + }; + }; + new ShellBitmapButton(GMH_StartGameBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "350 273"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "StartHostedGame();"; + helpTag = "0"; + text = "START GAME"; + simpleStyle = "0"; + }; + }; + }; + new GuiControl(GM_WarriorPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 62"; + extent = "558 345"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 12"; + extent = "74 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Warrior:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(GMW_WarriorPopup) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 3"; + extent = "200 38"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Warrior"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "center"; + position = "290 15"; + extent = "257 322"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellBitmapButton(GMW_PlayerPageBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "94 4"; + extent = "152 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GM_WarriorPane.gotoPlayerPage();"; + helpTag = "0"; + text = "JUMP TO PLAYER PAGE"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "18 55"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Race/Gender:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(GMW_RaceGenderPopup) { + profile = "ShellPopupProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "95 46"; + extent = "152 38"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Race/Gender"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "18 92"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Show:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(GMW_SkinPrefPopup) { + profile = "ShellPopupProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "95 83"; + extent = "152 38"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "All Skins"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "18 129"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Skin:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(GMW_SkinPopup) { + profile = "ShellPopupProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "95 120"; + extent = "152 38"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Skin"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "18 166"; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Voice:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(GMW_VoicePopup) { + profile = "ShellPopupProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "95 157"; + extent = "152 38"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Voice"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + voiceIndex = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "114 198"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Test Voice:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(GMW_VoiceTestBtn) { + profile = "SoundTestButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "214 195"; + extent = "24 24"; + minExtent = "24 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GMW_VoicePopup.test();"; + helpTag = "0"; + simpleStyle = "1"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "94 236"; + extent = "152 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GM_WarriorPane.createNewAlias();"; + helpTag = "0"; + text = "NEW ALIAS"; + simpleStyle = "0"; + }; + new ShellBitmapButton(GMW_DeleteWarriorBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "94 273"; + extent = "152 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GM_WarriorPane.deleteWarrior();"; + helpTag = "0"; + text = "DELETE ALIAS"; + simpleStyle = "0"; + }; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "25 41"; + extent = "261 296"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiPlayerView(GMW_PlayerModel) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "259 294"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + new ShellRadioButton(GMW_LightRdo) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 209"; + extent = "80 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GMW_PlayerModel.update();"; + helpTag = "0"; + text = "LIGHT"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(GMW_MediumRdo) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 239"; + extent = "80 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GMW_PlayerModel.update();"; + helpTag = "0"; + text = "MEDIUM"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(GMW_HeavyRdo) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 269"; + extent = "80 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "GMW_PlayerModel.update();"; + helpTag = "0"; + text = "HEAVY"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "1"; + }; + }; + }; + new GuiTextCtrl(GM_VersionText) { + profile = "VersionTextProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "396 4"; + extent = "160 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/GenDialog.gui b/public/base/@vl2/scripts.vl2/gui/GenDialog.gui new file mode 100644 index 00000000..07437310 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/GenDialog.gui @@ -0,0 +1,121 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(GenDialog) { + profile = "ShellWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellDlgFrame() { + profile = "ShellDlgProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "161 168"; + extent = "317 143"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "LOCK TOPIC"; + maxLength = "255"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "169 99"; + extent = "79 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.PopDIalog(\"GenDialog\");"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "233 99"; + extent = "79 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TopicsPopupMenu.ExecuteLock();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 53"; + extent = "298 52"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "274 44"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextEditCtrl(LockTopicReason) { + profile = "ShellMessageTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "274 44"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "80"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + new GuiTextCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 40"; + extent = "286 17"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "REASON"; + maxLength = "255"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/GuiEditorGui.gui b/public/base/@vl2/scripts.vl2/gui/GuiEditorGui.gui new file mode 100644 index 00000000..5eb4fe54 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/GuiEditorGui.gui @@ -0,0 +1,435 @@ +//---------------------------------------------------------------- + +new GuiControlProfile (HotPinkProfile) +{ + opaque = true; + fillColor = "255 128 128"; + border = true; + borderColor = "255 128 128"; + fontType = "Arial"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControl(GuiEditorGui) { + profile = GuiDefaultProfile; + position = "0 0"; + extent = "800 600"; + + new GuiControl() // pink background + { + profile = HotPinkProfile; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + }; + new GuiControl(GuiEditorContent) + { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + }; + new GuiEditCtrl(GuiEditor) + { + profile = "GuiTextEditProfile"; // so it's tabable + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + }; + new GuiFrameSetCtrl() + { + position = "640 0"; + extent = "160 600"; + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + columns = "0"; + rows = "0 300"; + + new GuiScrollCtrl() // tree view + { + profile = "GuiScrollCtrlProfile"; + position = "0 0"; + extent = "160 300"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "alwaysOn"; + hScrollBar = "dynamic"; + + new GuiScrollContentCtrl() + { + profile = "GuiScrollContentProfile"; + + new GuiTreeView (GuiEditorTreeView) + { + profile = "GuiTreeViewProfile"; + position = "0 0"; + horizSizing = "width"; + }; + }; + }; + new GuiControl() { // inspector + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "160 300"; + + new GuiButtonCtrl () { + profile = "GuiButtonProfile"; + position = "4, 4"; + extent = "40 16"; + font = "12 252 Arial"; + fontHL = "12 253 Arial"; + text = "APPLY"; + command = "GuiEditorInspectApply();"; + fillColor = "249"; + borderColor = "249"; + selectBorderColor = "255"; + }; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + position = "52 4"; + extent = "30 16"; + font = "12 244 Arial"; + text = "Name:"; + }; + + new GuiTextEditCtrl (GuiEditorInspectName) { + profile = "GuiTextEditProfile"; + position = "84 3"; + extent = "72 18"; + text = ""; + horizSizing = "width"; + vertSizing = "bottom"; + }; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + position = "0 24"; + extent = "160 276"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "alwaysOn"; + hScrollBar = "alwaysOff"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + extent = "140 274"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiInspector (GuiEditorInspectFields) { + profile = "GuiDefaultProfile"; + position = "0 0"; + extent = "140 0"; + horizSizing = "width"; + vertSizing = "bottom"; + }; + }; + }; + }; + }; + // toolbar + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 480"; + extent = "640 120"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "4 24"; + extent = "70 16"; + text = "Align Left"; + command = "GuiEditor.Justify(0);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "80 24"; + extent = "70 16"; + text = "Align Right"; + command = "GuiEditor.Justify(2);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "156 24"; + extent = "70 16"; + text = "Center Horiz"; + command = "GuiEditor.Justify(1);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "232 24"; + extent = "70 16"; + text = "Align Top"; + command = "GuiEditor.Justify(3);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "308 24"; + extent = "70 16"; + text = "Align Bottom"; + command = "GuiEditor.Justify(4);"; + }; + new GuiControlListPopup(GuiEditorClassPopup) + { + profile = "GuiButtonProfile"; + position = "382 24"; + extent = "180 16"; + }; + new GuiPopUpMenuCtrl(GuiEditorContentList) + { + profile = "GuiButtonProfile"; + position = "382 44"; + extent = "180 16"; + }; + new GuiButtonCtrl () { + profile = "GuiButtonProfile"; + position = "570 24"; + extent = "60 16"; + text = "New..."; + command = "GuiEditorStartCreate();"; + }; + new GuiButtonCtrl () { + profile = "GuiButtonProfile"; + position = "570 44"; + extent = "60 16"; + text = "Save"; + command = "GuiEditorSaveGui();"; + }; + new GuiButtonCtrl ("GuiEditorButtonToggle") { + profile = "GuiButtonProfile"; + position = "4 44"; + extent = "70 16"; + text = "Stop Edit"; + command = "GuiEdit();"; + }; + + new GuiButtonCtrl () { + profile = "GuiButtonProfile"; + position = "80 44"; + extent = "70 16"; + text = "Space Vert"; + command = "GuiEditor.Justify(5);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "156 44"; + extent = "70 16"; + text = "Space Horiz"; + command = "GuiEditor.Justify(6);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "232 44"; + extent = "70 16"; + text = "Bring Front"; + command = "GuiEditor.BringToFront();"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "308 44"; + extent = "70 16"; + text = "Send Back"; + command = "GuiEditor.PushToBack();"; + }; + }; +}; + +new GuiControl(NewGuiDialog) +{ + profile = "GuiDialogProfile"; + position = "0 0"; + extent = "640 480"; + + new GuiWindowCtrl() + { + profile = "GuiWindowProfile"; + position = "220 146"; + extent = "200 188"; + text = "Create new GUI"; + canMove = "false"; + canClose = "false"; + canMinimize = "false"; + canMaximize = "false"; + horizSizing = "center"; + vertSizing = "center"; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 28"; + text = "GUI Name:"; + }; + new GuiTextEditCtrl(NewGuiDialogName) + { + profile = "GuiTextEditProfile"; + position = "20 44"; + extent = "160 20"; + }; + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 68"; + text = "Class:"; + }; + new GuiControlListPopup(NewGuiDialogClass) + { + profile = "GuiTextEditProfile"; + position = "20 84"; + extent = "160 20"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "56 156"; + extent = "40 16"; + text = "Create"; + command = "GuiEditorCreate();"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "104 156"; + extent = "40 16"; + text = "Cancel"; + command = "Canvas.popDialog(NewGuiDialog);"; + }; + }; +}; + +function GuiEditorStartCreate() +{ + NewGuiDialogClass.setText("GuiControl"); + NewGuiDialogClass.sort(); + NewGuiDialogName.setValue("NewGui"); + Canvas.pushDialog(NewGuiDialog); +} + +function GuiEditorCreate() +{ + %name = NewGuiDialogName.getValue(); + %class = NewGuiDialogClass.getText(); + Canvas.popDialog(NewGuiDialog); + %obj = eval("return new " @ %class @ "(" @ %name @ ");"); + GuiEditorOpen(%obj); +} + +function GuiEditorSaveGui() +{ + %obj = GuiEditorContent.getObject(0); + if(%obj == -1 || %obj.getName() $= "") + return; + %obj.save("gui/" @ %obj.getName() @ ".gui"); +} + +function GuiEdit(%val) +{ + if(%val != 0) + return; + + %content = Canvas.getContent(); + + if(%content == GuiEditorGui.getId()) + { + //GlobalActionMap.bind(mouse, button1, mouselook); + + %obj = GuiEditorContent.getObject(0); + if(%obj != -1) + { + GuiGroup.add(%obj); + Canvas.setContent(%obj); + } + } + else + { + //GlobalActionMap.unbind(mouse, button1); + GuiEditorOpen(%content); + } +} + +function GuiEditorOpen(%content) +{ + Canvas.setContent(GuiEditorGui); + while((%obj = GuiEditorContent.getObject(0)) != -1) + GuiGroup.add(%obj); // get rid of anything being edited + + %i = 0; + GuiEditorContentList.clear(); + while((%obj = GuiGroup.getObject(%i)) != -1) + { + if(%obj.getName() !$= Canvas) + { + if(%obj.getName() $= "") + %name = "(unnamed) - " @ %obj; + else + %name = %obj.getName() @ " - " @ %obj; + + GuiEditorContentList.add(%name, %obj); + } + %i++; + } + GuiEditorContent.add(%content); + GuiEditorContentList.sort(); + GuiEditorClassPopup.sort(); + + if(%content.getName() $= "") + %name = "(unnamed) - " @ %content; + else + %name = %content.getName() @ " - " @ %content; + + GuiEditorContentList.setText(%name); + GuiEditorClassPopup.setText("New Control"); + GuiEditor.setRoot(%content); + %content.resize(0,0,640,480); + GuiEditorTreeView.open(%content); +} + +function GuiEditorContentList::onSelect(%this, %id) +{ + GuiEditorOpen(%id); +} + +function GuiEditorClassPopup::onSelect(%this, %id) +{ + %class = %this.getText(); + %obj = eval("return new " @ %class @ "();"); + GuiEditor.addNewCtrl(%obj); + GuiEditorClassPopup.setText("New Control"); +} + +function GuiEditorTreeView::onSelect(%this, %obj) +{ + GuiEditorInspectFields.inspect(%obj); + GuiEditorInspectName.setValue(%obj.getName()); + GuiEditor.select(%obj); +} + +function GuiEditorInspectApply() +{ + GuiEditorInspectFields.apply(GuiEditorInspectName.getValue()); +} + +function GuiEditor::onSelect(%this, %ctrl) +{ + GuiEditorInspectFields.inspect(%ctrl); + GuiEditorInspectName.setValue(%ctrl.getName()); +} + +if (!isDemo()) + GlobalActionMap.bind(keyboard, "alt f1", GuiEdit); diff --git a/public/base/@vl2/scripts.vl2/gui/GuiTestGui.gui b/public/base/@vl2/scripts.vl2/gui/GuiTestGui.gui new file mode 100644 index 00000000..6744c3d5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/GuiTestGui.gui @@ -0,0 +1,496 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(GuiTestGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 440"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "canvas.setContent(TestGui);"; + helpTag = "0"; + text = "BACK"; + }; + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 7"; + extent = "622 430"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "GuiWindowCtrl test"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 40"; + extent = "74 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "GuiTextCtrl test"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 80"; + extent = "200 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "GuiTextEditCtrl test"; + historySize = "5"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 120"; + extent = "120 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "GuiButtonCtrl test"; + }; + new GuiRadioCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 160"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "$TestRadio = 1;"; + helpTag = "0"; + text = "GuiRadioCtrl1 test"; + groupNum = "1"; + }; + new GuiRadioCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 190"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "$TestRadio = 2;"; + helpTag = "0"; + text = "GuiRadioCtrl2 test"; + groupNum = "1"; + }; + new GuiRadioCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 220"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "$TestRadio = 3;"; + helpTag = "0"; + text = "GuiRadioCtrl3 test"; + groupNum = "1"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 270"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "CheckBoxCtrl1 test"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 300"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "CheckBoxCtrl2 test"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 330"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "CheckBoxCtrl3 test"; + }; + new GuiPopUpMenuCtrl(Menu1) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 35"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Menu1"; + maxPopupHeight = "200"; + }; + new GuiPopUpMenuCtrl(Menu2) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "360 35"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Menu2"; + maxPopupHeight = "200"; + }; + new GuiPopUpMenuCtrl(Menu3) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 375"; + extent = "125 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Menu3"; + maxPopupHeight = "200"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 133"; + extent = "104 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "50"; + historySize = "0"; + maxLength = "255"; + format = "%3.2f"; + range = "0 100"; + increment = "1"; + }; + new GuiScrollCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 160"; + extent = "200 200"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOn"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + + new GuiScrollContentCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "180 180"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiArrayCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "400 400"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; + }; + new GuiScrollCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "371 252"; + extent = "238 170"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "236 168"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiMLTextEditCtrl() { + profile = "GuiBigTextProfileWhite"; + horizSizing = "width"; + vertSizing = "top"; + position = "0 0"; + extent = "208 23"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + lineSpacing = "0"; + }; + }; + }; + new GuiScrollCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "376 61"; + extent = "239 188"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "237 186"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiMessageVectorCtrl(GMVControl) { + profile = "GuiBigTextProfileWhite"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "215 35"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "5"; + allowedMatches[0] = "http"; + allowedMatches[1] = "t2server"; + matchColor = "0 0 1 1"; + textColors1 = "1 0 0 1"; + textColors5 = "1 0 1 1"; + textColors9 = "0 0.5 0 1"; + textColors2 = "0 1 0 1"; + textColors6 = "0 1 1 1"; + textColors3 = "0 0 1 1"; + textColors7 = "1 1 1 1"; + textColors0 = "0 0 0 1"; + textColors4 = "1 1 0 1"; + textColors8 = "0.5 0 0 1"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- +Menu1.add(TestData0, 0); +Menu1.add(TestData1, 1); +Menu1.add(TestData2, 2); +Menu1.add(TestData3, 3); +Menu1.add(TestData4, 4); +Menu1.add(TestData5, 5); +Menu1.add(TestData6, 6); +Menu1.add(TestData7, 7); +Menu1.add(TestData8, 8); +Menu1.add(TestData9, 9); +Menu1.add(TestData10,10); +Menu1.add(TestData11,11); +Menu1.add(TestData12,12); +Menu1.add(TestData13,13); +Menu1.add(TestData14,14); +Menu1.add(TestData15,15); +Menu1.add(TestData16,16); +Menu1.add(TestData17,17); +Menu1.add(TestData18,18); +Menu1.add(TestData19,19); +Menu1.add(TestData20,20); +Menu1.add(TestData21,21); +Menu1.add(TestData22,22); +Menu1.add(TestData23,23); +Menu1.add(TestData24,24); +Menu1.add(TestData25,25); +Menu1.add(TestData26,26); +Menu1.add(TestData27,27); +Menu1.add(TestData28,28); +Menu1.add(TestData29,29); +Menu1.add(TestData30,30); +Menu1.add(TestData31,31); +Menu1.add(TestData32,32); +Menu1.add(TestData33,33); +Menu1.add(TestData34,34); +Menu1.add(TestData35,35); +Menu1.add(TestData36,36); +Menu1.add(TestData37,37); +Menu1.add(TestData38,38); +Menu1.add(TestData39,39); +Menu1.add(TestData40,40); +Menu1.add(TestData41,41); +Menu1.add(TestData42,42); +Menu1.add(TestData43,43); +Menu1.add(TestData44,44); +Menu1.add(TestData45,45); + +Menu2.add(TestData1, 0); +Menu2.add(TestData2, 1); +Menu2.add(TestData3, 2); +Menu2.add(TestData4, 3); +Menu2.add(TestData5, 4); +Menu2.add(TestData6, 5); +Menu2.add(TestData7, 6); + +Menu3.add(TestData0, 0); +Menu3.add(TestData1, 1); +Menu3.add(TestData2, 2); +Menu3.add(TestData3, 3); +Menu3.add(TestData4, 4); +Menu3.add(TestData5, 5); +Menu3.add(TestData6, 6); +Menu3.add(TestData7, 7); +Menu3.add(TestData8, 8); +Menu3.add(TestData9, 9); +Menu3.add(TestData10,10); +Menu3.add(TestData11,11); +Menu3.add(TestData12,12); +Menu3.add(TestData13,13); +Menu3.add(TestData14,14); +Menu3.add(TestData15,15); +Menu3.add(TestData16,16); +Menu3.add(TestData17,17); +Menu3.add(TestData18,18); +Menu3.add(TestData19,19); +Menu3.add(TestData20,20); +Menu3.add(TestData21,21); +Menu3.add(TestData22,22); +Menu3.add(TestData23,23); +Menu3.add(TestData24,24); +Menu3.add(TestData25,25); +Menu3.add(TestData26,26); +Menu3.add(TestData27,27); +Menu3.add(TestData28,28); +Menu3.add(TestData29,29); +Menu3.add(TestData30,30); +Menu3.add(TestData31,31); +Menu3.add(TestData32,32); +Menu3.add(TestData33,33); +Menu3.add(TestData34,34); +Menu3.add(TestData35,35); +Menu3.add(TestData36,36); +Menu3.add(TestData37,37); +Menu3.add(TestData38,38); +Menu3.add(TestData39,39); +Menu3.add(TestData40,40); +Menu3.add(TestData41,41); +Menu3.add(TestData42,42); +Menu3.add(TestData43,43); +Menu3.add(TestData44,44); +Menu3.add(TestData45,45); + +$mvid1 = new MessageVector(); +$mvid1.pushBackLine("a URL: http://www.test.com/other not part of the url", 0); +$mvid1.pushBackLine("a server: t2server://5assedmonkey.com:8080/", 0); +$mvid1.pushBackLine("a server: http://t2server://malformed/", 0); +$mvid1.pushBackLine("a http://small server", 0); + +$mvid2 = new MessageVector(); +$mvid2.pushBackLine(" This is a completely separate text vector", 0); +$mvid2.pushBackLine("It contains no URLS, only two servers, t2server://5assedmonkey.com:28000/ and t2server://5assedmonkey.com:28001/", 0); +$mvid2.pushBackLine("It does contain a malformed URL: http://t2server://malformed/", 0); +$mvid2.pushBackLine("That URL should show up in http blue. The tribes server url should be in tribes server red.", 0); + +function GMVControl::urlClickCallback(%this, %url) +{ + echo("Overridden click callback"); + Parent::urlClickCallback(%this, %url); +} diff --git a/public/base/@vl2/scripts.vl2/gui/HUDDlgs.gui b/public/base/@vl2/scripts.vl2/gui/HUDDlgs.gui new file mode 100644 index 00000000..70b6f0f4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/HUDDlgs.gui @@ -0,0 +1,369 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(InventoryScreen) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "45 12"; + extent = "550 443"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "INVENTORY"; + noTitleBar = "0"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "205 388"; + extent = "140 38"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + command = "InventoryScreen.onDone();"; + text = "DONE"; + }; + new ShellFieldCtrl(INV_Root) { + profile = "GuiChatBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "29 36"; + extent = "492 351"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellTabFrame() { + profile = "ShellTabFrameProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "207 9"; + extent = "254 333"; + minExtent = "254 26"; + visible = "1"; + helpTag = "0"; + isVertical = "1"; + useCloseButton = "0"; + edgeInset = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(vehicleHud) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "53 67"; + extent = "542 328"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "VEHICLE STATION"; + noTitleBar = "0"; + + new ShellFieldCtrl(VIN_Root) { + profile = "GuiChatBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "29 36"; + extent = "484 236"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellTabFrame() { + profile = "ShellTabFrameProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "206 9"; + extent = "254 217"; + minExtent = "254 26"; + visible = "1"; + helpTag = "0"; + isVertical = "1"; + useCloseButton = "0"; + edgeInset = "0"; + }; + new HudBitmapCtrl(VIN_Picture) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "215 19"; + extent = "256 158"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 1.000000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + autoCenter = "0"; + autoResize = "1"; + flipVertical = "0"; + flipHorizontal = "0"; + }; + new ShellFieldCtrl() { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "220 183"; + extent = "133 29"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(VIN_RemainingText) { + profile = "ShellMediumTextCenterProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "8 5"; + extent = "117 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "3 Remaining"; + }; + }; + new ShellBitmapButton(VIN_BuyBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "356 180"; + extent = "124 38"; + minExtent = "32 38"; + visible = "1"; + command = "VehicleHud.onBuy();"; + helpTag = "0"; + text = "BUY"; + simpleStyle = "0"; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "201 273"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + command = "VehicleHud.onCancel();"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(ScoreScreen) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(ScoreParent) { + profile = "ShellPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 0"; + extent = "640 480"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "SCORE"; + noTitleBar = "0"; + + new ShellFieldCtrl(ScoreHeaderField) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 32"; + extent = "594 36"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(ScoreHeaderText) { + profile = "ScoreHeaderTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "586 28"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + }; + new ShellFieldCtrl(ScoreField) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 72"; + extent = "594 386"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(ScoreSubheaderText) { + profile = "ScoreSubheaderTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "586 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + new ShellScrollCtrl(ScoreScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "1 26"; + extent = "592 358"; + minExtent = "24 24"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "578 344"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(ScoreContent) { + profile = "GuiScrollContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "586 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageHud) +{ + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + bypassHideCursor = "1"; + + new ShellFieldCtrl(MessageHud_Frame) + { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "120 375"; + extent = "356 24"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(MessageHud_Text) + { + profile = "GuiMessageEditHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 5"; + extent = "10 22"; + minExtent = "8 8"; + visible = "1"; + }; + + new GuiTextEditCtrl(MessageHud_Edit) + { + profile = "GuiMessageEditHudProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 5"; + extent = "10 22"; + minExtent = "8 8"; + visible = "1"; + altCommand = "$ThisControl.eval();"; + escapeCommand = "MessageHud_Edit.onEscape();"; + historySize = "5"; + maxLength = "120"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(ChatMenuHudDlg) +{ + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + bypassHideCursor = "1"; + + new ShellFieldCtrl(ChatMenuHud) + { + profile = "GuiVMenuProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "8 209"; + extent = "143 0"; + minExtent = "8 8"; + visible = "1"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/HelpDlg.gui b/public/base/@vl2/scripts.vl2/gui/HelpDlg.gui new file mode 100644 index 00000000..00922e21 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/HelpDlg.gui @@ -0,0 +1,94 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(HelpDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "75 36"; + extent = "483 393"; + minExtent = "300 200"; + visible = "1"; + helpTag = "0"; + text = "Help"; + maxLength = "255"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(HelpDlg);"; + + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "8 26"; + extent = "132 356"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiTextListCtrl(HelpFileList) { + profile = "GuiTextListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "130 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "146 26"; + extent = "328 356"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiMLTextCtrl(HelpText) { + profile = "GuiMLTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "1 1"; + extent = "310 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/IHVTest.gui b/public/base/@vl2/scripts.vl2/gui/IHVTest.gui new file mode 100644 index 00000000..b26825d0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/IHVTest.gui @@ -0,0 +1,259 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(IHVTest) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "34 52"; + extent = "209 318"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "1"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "189 316"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextListCtrl(RecordingsList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "52 80"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "34 379"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "quit();"; + helpTag = "0"; + text = "Exit"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "143 379"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "IHVStartSelectedDemo();"; + helpTag = "0"; + text = "Start Demo"; + }; + new GuiTextCtrl() { + profile = "GuiBigTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 5"; + extent = "268 40"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "IHV Test Recordings"; + }; + new GuiCheckBoxCtrl(ArbMultitexture) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "290 52"; + extent = "235 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "$pref::OpenGL::disableARBMultitexture"; + helpTag = "0"; + text = "Disable ARB_multitexture"; + }; + new GuiCheckBoxCtrl(FogCoord) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "290 80"; + extent = "235 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "$pref::OpenGL::disableEXTFogCoord"; + helpTag = "0"; + text = "Disable EXT_fog_coord"; + }; + new GuiCheckBoxCtrl(TexEnvCombine) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "290 108"; + extent = "235 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "$pref::OpenGL::disableEXTTexEnvCombine"; + helpTag = "0"; + text = "Disable EXT_texture_env_combine"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "290 211"; + extent = "235 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "toggleFullscreen();"; + helpTag = "0"; + text = "Toggle Fullscreen"; + }; + new GuiCheckBoxCtrl(CVArray) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "290 136"; + extent = "235 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "$pref::OpenGL::disableEXTCompiledVertexArray"; + helpTag = "0"; + text = "Disable EXT_compiled_vertex_array"; + }; + new GuiCheckBoxCtrl(timedemo) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "290 239"; + extent = "235 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Timedemo style playback"; + }; + new GuiTextCtrl(DemoStats) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "245 286"; + extent = "325 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Last Demo: None"; + }; +}; +//--- OBJECT WRITE END --- + +function IHVTest::onWake(%gui) +{ + RecordingsList.clear(); + %search = "recordings/*.rec"; + %ct = 0; + for(%file = findFirstFile(%search); %file !$= ""; %file = findNextFile(%search)) + { + %fileName = fileBase(%file); + RecordingsList.addRow(%ct++, %fileName); + } + RecordingsList.sort(0); +} + +function IHVStartSelectedDemo() +{ + %sel = RecordingsList.getSelectedId(); + %file = RecordingsList.getRowTextById(%sel); + Canvas.setContent(PlayGui); + $TSControl::FrameCount = 0; + + playDemo("recordings/" @ %file @ ".rec"); +} + +function TexEnvCombine::onAction() +{ + $pref::OpenGL::disableEXTTexEnvCombine = !$pref::OpenGL::disableEXTTexEnvCombine; +} + +function FogCoord::onAction() +{ + $pref::OpenGL::disableEXTFogCoord = !$pref::OpenGL::disableEXTFogCoord; +} + +function CVArray::onAction() +{ + $pref::OpenGL::disableEXTCompiledVertexArray = !$pref::OpenGL::disableEXTCompiledVertexArray; +} + +function ARBMultitexture::onAction() +{ + $pref::OpenGL::disableARBMultitexture = !$pref::OpenGL::disableARBMultitexture; +} + +function timedemo::onAction() +{ + echo("here"); + + if ($timeAdvance == 0) { + $timeAdvance = 30; + } else { + $timeAdvance = 0; + } +} + +function resetDemoStats() +{ + %mspf = $Demo::playbackTime / $TSControl::frameCount; + %fps = 1000 / %mspf; + + DemoStats.setValue("Last Demo: " @ $TSControl::frameCount @ " frames, " @ %fps @ " fps (" @ %mspf @ " mspf)"); +} diff --git a/public/base/@vl2/scripts.vl2/gui/ImmSplashDlg.gui b/public/base/@vl2/scripts.vl2/gui/ImmSplashDlg.gui new file mode 100644 index 00000000..82fa1168 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ImmSplashDlg.gui @@ -0,0 +1,36 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ImmSplashDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiModelessDialogProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "40 150"; + extent = "540 168"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "540 168"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "gui/ImmersionLogo.png"; + wrap = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/InspectAddFieldDlg.gui b/public/base/@vl2/scripts.vl2/gui/InspectAddFieldDlg.gui new file mode 100644 index 00000000..64b61c96 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/InspectAddFieldDlg.gui @@ -0,0 +1,103 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(InspectAddFieldDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "209 177"; + extent = "221 125"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Add dynamic field..."; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(InspectAddFieldDlg);"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 32"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Name:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 58"; + extent = "31 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Value:"; + }; + new GuiTextEditCtrl(InspectAddFieldValue) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "62 58"; + extent = "146 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + }; + new GuiTextEditCtrl(InspectAddFieldName) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "62 32"; + extent = "146 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 88"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "OK"; + command = "canvas.popDialog(InspectAddFieldDlg);InspectAddFieldDlg.doAction();"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 88"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "CANCEL"; + command = "canvas.popDialog(InspectAddFieldDlg);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/InspectDlg.gui b/public/base/@vl2/scripts.vl2/gui/InspectDlg.gui new file mode 100644 index 00000000..42da1dcb --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/InspectDlg.gui @@ -0,0 +1,238 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(InspectDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "False"; + helpTag = "0"; + + new GuiWindowCtrl(InspectTitle) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 20"; + extent = "200 400"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(InspectDlg);"; + font = "12 244 Arial"; + selectfillColor = "253"; + fillColor = "250"; + opaque = "true"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 24"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "InspectApply();"; + helpTag = "0"; + text = "APPLY"; + selectBorderColor = "255"; + borderColor = "249"; + fillColor = "249"; + fontHL = "12 253 Arial"; + font = "12 252 Arial"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 24"; + extent = "29 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Name:"; + font = "12 244 Arial"; + }; + new GuiTextEditCtrl(InspectObjectName) { + profile = "GuiTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "98 23"; + extent = "72 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + historySize = "0"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "8 44"; + extent = "184 348"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "164 346"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiInspector(InspectFields) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "184 8"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + }; + }; + }; + }; + new GuiWindowCtrl(InspectTreeTitle) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "232 20"; + extent = "200 400"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "TREE VIEW"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(InspectDlg);"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "8 24"; + extent = "184 368"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "164 366"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTreeView(InspectTreeView) { + profile = "GuiTreeViewProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +function Inspect(%obj) +{ + Canvas.popDialog("InspectDlg"); + Canvas.pushDialog("InspectDlg", 30); + + InspectFields.inspect(%obj); + InspectObjectName.setValue(%obj.getName()); + InspectTitle.setValue(%obj.getId() @ ": " @ %obj.getName()); +} + +function InspectApply() +{ + InspectFields.apply(InspectObjectName.getValue()); +} + +function InspectTreeView::onSelect(%this, %obj) +{ + Inspect(%obj); +} + +function Tree(%obj) +{ + Canvas.popDialog("InspectDlg"); + Canvas.pushDialog("InspectDlg", 20); + InspectTreeView.open(%obj); +} + +function GuiInspector::addDynamicField(%this, %obj) +{ + InspectAddFieldDlg.object = %obj; + InspectAddFieldDlg.inspector = %this; + InspectAddFieldName.setValue(""); + InspectAddFieldValue.setValue(""); + Canvas.pushDialog(InspectAddFieldDlg, 99); +} + +function InspectAddFieldDlg::doAction(%this) +{ + if(InspectAddFieldName.getValue() $= "" || InspectAddFieldValue.getValue() $= "") + return; + eval(%this.object @ "." @ firstWord(InspectAddFieldName.getValue()) @ " = " @ InspectAddFieldValue.getValue() @ ";"); + %this.inspector.inspect(%this.object); +} + + diff --git a/public/base/@vl2/scripts.vl2/gui/InteriorDebug.gui b/public/base/@vl2/scripts.vl2/gui/InteriorDebug.gui new file mode 100644 index 00000000..eb9cb1e2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/InteriorDebug.gui @@ -0,0 +1,155 @@ +new GuiControl(interiorDebugDialog) { + + profile = "GuiDialogProfile"; + + new GuiWindowCtrl() + { + profile = GuiWindowProfile; + position = "25 25"; + extent = "240 200"; + text = "Interior Debug Options"; + closeCommand = "Canvas.popDialog(interiorDebugDialog);"; + + + new GuiTextCtrl() { + profile = "GuiCenterTextProfile"; + position = "20 25"; + extent = "200 20"; + text = "Render Mode:"; + }; + new GuiPopUpMenuCtrl(InteriorRenderMode) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 45"; + extent = "200 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Options"; + maxPopupHeight = "200"; + setText = "false"; + }; + + new GuiTextCtrl() { + profile = "GuiCenterTextProfile"; + position = "20 73"; + extent = "200 20"; + text = "Options:"; + }; + new GuiButtonCtrl(InteriorAlarmMode) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 93"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "false"; + modal = "True"; + helpTag = "0"; + text = "Toggle Alarm Mode"; + }; + + new GuiCheckBoxCtrl(InteriorFocusDebugModes) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 115"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "false"; + modal = "True"; + helpTag = "0"; + text = "Focus Debug Modes"; + }; + + new GuiCheckBoxCtrl(InteriorDontRestrict) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 137"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "false"; + modal = "True"; + helpTag = "0"; + text = "Don't Restrict outside"; + }; + }; +}; + +$InteriorRenderModes[0] = "Normal"; +$InteriorRenderModes[1] = "Render as Lines"; +$InteriorRenderModes[2] = "Show Detail Polys"; +$InteriorRenderModes[3] = "Show Ambiguous Polys"; +$InteriorRenderModes[4] = "Show Orphaned Polys"; +$InteriorRenderModes[5] = "Show Lightmap"; +$InteriorRenderModes[6] = "Show Only Textures"; +$InteriorRenderModes[7] = "Show Portal Zones"; +$InteriorRenderModes[8] = "Show Ambient lit Surfaces"; +$InteriorRenderModes[9] = "[* Show Collision Fans *]"; +$InteriorRenderModes[10] = "[* Show Triangle Strips *]"; +$InteriorRenderModes[11] = "[* Show Null Surfaces *]"; +$InteriorRenderModes[12] = "[* Show Large Textures *]"; +$InteriorRenderModes[13] = "[* Show Hull Surfaces *]"; +$InteriorRenderModes[14] = "[* Show Vehicle Hull Surfaces *]"; +$InteriorRenderModes[15] = "[* Show vertex colors *]"; +$InteriorRenderModes[16] = "[* Show detail level *]"; +$NumInteriorRenderModes = 17; + +for ($i = 0; $i < $NumInteriorRenderModes; $i++) { + InteriorRenderMode.add($InteriorRenderModes[$i], $i); +} +InteriorRenderMode.setText($InteriorRenderModes[0]); + +function InteriorRenderMode::onSelect(%object, %idNum) +{ + %name = %object.getValue(); + + %renderMode = 0; + for (%i = 0; %i < $NumInteriorRenderModes; %i++) { + if (%name $= $InteriorRenderModes[%i]) { + %renderMode = %i; + break; + } + } + setInteriorRenderMode(%renderMode); + if(%renderMode == 1) // line mode + $T2::renderoutline = true; + else + $T2::renderoutline = false; +} + +$InteriorPreviewGuiAlarmMode = "off"; +function InteriorAlarmMode::onAction() +{ + if ($InteriorPreviewGuiAlarmMode $= "on") + $InteriorPreviewGuiAlarmMode = "off"; + else + $InteriorPreviewGuiAlarmMode = "on"; + + TestObject.setAlarmMode($InteriorPreviewGuiAlarmMode); +} + +function InteriorFocusDebugModes::onAction() +{ + setInteriorFocusedDebug(InteriorFocusDebugModes.getValue()); +} + +function InteriorDontRestrict::onAction() +{ + $Interior::DontRestrictOutside = InteriorDontRestrict.getValue(); +} + +function interiorDebugDialog::onWake( %this ) +{ +} + +function interiorDebugDialog::onSleep( %this ) +{ +} diff --git a/public/base/@vl2/scripts.vl2/gui/InteriorPreviewGui.gui b/public/base/@vl2/scripts.vl2/gui/InteriorPreviewGui.gui new file mode 100644 index 00000000..185ca9e1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/InteriorPreviewGui.gui @@ -0,0 +1,296 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(interiorPreviewGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GameTSCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + beaconBaseTextureName = "gui/beacon_base"; + beaconTargetTextureName = "gui/crosshairs"; + beaconTargetPeriod = "4000"; + beaconsVisible = "1"; + enemyBeaconLineBeginColor = "0.000000 1.000000 0.000000 0.200000"; + enemyBeaconLineEndColor = "0.000000 1.000000 0.000000 0.800000"; + vehicleBeaconLineBeginColor = "1.000000 0.000000 0.000000 0.200000"; + vehicleBeaconLineEndColor = "1.000000 0.000000 0.000000 0.800000"; + friendBeaconLineBeginColor = "1.000000 1.000000 0.000000 0.200000"; + friendBeaconLineEndColor = "1.000000 1.000000 0.000000 0.800000"; + beaconLineWidth = "2.5"; + beaconTextYOffset = "14"; + showAlternateTarget = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "22 438"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + command = "quit();"; + helpTag = "0"; + text = "Exit"; + }; + new ShellFieldCtrl(metricsIMain) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "10 160"; + extent = "242 275"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(title) { + profile = "CenterPrintTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "63 7"; + extent = "110 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Mapper Metrics"; + longTextBuffer = "0"; + maxLength = "255"; + lineSpacing = "2"; + maxChars = "-1"; + allowColorChars = "0"; + }; + new GuiTextCtrl(ThreeSpacePolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 148"; + extent = "85 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TS Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(InteriorPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 118"; + extent = "98 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Interior Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TerrainPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 88"; + extent = "99 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Terrain Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TotalPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 226"; + extent = "101 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Scene Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(WaterPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 178"; + extent = "127 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Water Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(FrameRateText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 40"; + extent = "87 26"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Frame Rate: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiConsoleVariableCtrl(frameRate) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 40"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$FPS::Real"; + }; + new GuiConsoleVariableCtrl(ThreeSpacePolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 148"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount3"; + }; + new GuiConsoleVariableCtrl(InteriorPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 118"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount2"; + }; + new GuiConsoleVariableCtrl(TerrainPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 88"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount1"; + }; + new GuiConsoleVariableCtrl(TotalPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 226"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount"; + }; + new GuiConsoleVariableCtrl(WaterPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 179"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$Water::triCount"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function toggleMouse() +{ + if(Canvas.isCursorOn()) + CursorOff(); + else + CursorOn(); +} + +function interiorDebug(%val) +{ + if ( !%val ) + Canvas.pushDialog( interiorDebugDialog ); +} + +function InteriorPreviewGui::onWake(%this) +{ + GlobalActionMap.bindcmd( keyboard, "tab", "", "toggleMouse();" ); + GlobalActionMap.bindcmd( keyboard, "f9", "", "interiorDebug();" ); + GlobalActionMap.bindcmd( keyboard, escape, "", "quit();" ); + + if ( isObject( previewMap ) ) + { + previewMap.pop(); + previewMap.delete(); + } + new ActionMap( previewMap ); + previewMap.bind( keyboard, w, moveforward ); + previewMap.bind( keyboard, s, movebackward ); + previewMap.bind( keyboard, a, moveleft ); + previewMap.bind( keyboard, d, moveright ); + previewMap.bind( keyboard, e, moveup ); + previewMap.bind( keyboard, c, movedown ); + previewMap.bindCmd( keyboard, k, "cycleDebugRenderMode();", "" ); + previewMap.copyBind( moveMap, yaw ); + previewMap.copyBind( moveMap, pitch ); + previewMap.push(); +} + +function InteriorPreviewGui::onSleep(%this) +{ + previewMap.pop(); + previewMap.delete(); + + GlobalActionMap.unbind(keyboard, "tab"); + GlobalActionMap.unbind(keyboard, "f9"); + lockMouse(false); +} + diff --git a/public/base/@vl2/scripts.vl2/gui/JoinChatDlg.gui b/public/base/@vl2/scripts.vl2/gui/JoinChatDlg.gui new file mode 100644 index 00000000..5ccf3895 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/JoinChatDlg.gui @@ -0,0 +1,198 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(JoinChatDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(JoinChatPane) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 60"; + extent = "400 360"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHOOSE CHAT CHANNEL"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellFancyArrayScrollCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "48 39"; + extent = "304 227"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "304 211"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new VirtualScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "280 203"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "288 9616"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + }; + new ShellFancyTextList(JoinChatList) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "284 223"; + minExtent = "8 20"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "JoinChatDlg.join();"; + helpTag = "0"; + startScrollRegion = "0 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "19"; + headerFontSize = "0"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "0"; + noSelect = "0"; + allowColorChars = "0"; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "48 305"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog(JoinChatDlg); LaunchTabView.viewTab(\"CHAT\",ChatGui,0);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "67 269"; + extent = "272 36"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextEditCtrl(JoinChatName) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "48 0"; + extent = "223 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "JoinChatName.onCharInput();"; + altCommand = "JoinChatDlg.join();"; + helpTag = "0"; + maxLength = "24"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + deniedSound = "InputDeniedSound"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 8"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Channel:"; + maxLength = "255"; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "228 305"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "JoinChatDlg.join();"; + helpTag = "0"; + text = "JOIN CHAT"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/JoystickConfigDlg.gui b/public/base/@vl2/scripts.vl2/gui/JoystickConfigDlg.gui new file mode 100644 index 00000000..b60fbba9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/JoystickConfigDlg.gui @@ -0,0 +1,227 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(JoystickConfigDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + pane = "0"; + + new ShellPaneCtrl(JoystickConfigFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "95 50"; + extent = "450 380"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CONFIGURE JOYSTICK"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "155 325"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog(JoystickConfigDlg);"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + new ShellTabFrame() { + profile = "ShellTabFrameProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "129 37"; + extent = "254 283"; + minExtent = "254 26"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + isVertical = "1"; + useCloseButton = "0"; + edgeInset = "0"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "140 47"; + extent = "278 263"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 48"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Action:"; + maxLength = "255"; + }; + new ShellPopupMenu(JoyAxisActionMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 39"; + extent = "200 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 80"; + extent = "57 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Sensitivity:"; + maxLength = "255"; + }; + new GuiTextCtrl(JoySensText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 80"; + extent = "28 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "(0.5)"; + maxLength = "255"; + }; + new ShellSliderCtrl(JoyAxisSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "57 95"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "JoySensText.update();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.5"; + usePlusMinus = "1"; + }; + new ShellToggleButton(InvertJoyAxisTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 167"; + extent = "127 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVERT"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 120"; + extent = "57 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Dead Zone:"; + maxLength = "255"; + }; + new GuiTextCtrl(DeadZoneText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 120"; + extent = "28 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "(0.5)"; + maxLength = "255"; + }; + new ShellSliderCtrl(DeadZoneSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "57 135"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "DeadZoneText.update();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "100"; + value = "0.5"; + usePlusMinus = "1"; + }; + //new ShellToggleButton(JoyAxisRelativeTgl) { + // profile = "ShellRadioProfile"; + // horizSizing = "right"; + // vertSizing = "bottom"; + // position = "75 197"; + // extent = "127 30"; + // minExtent = "26 27"; + // visible = "1"; + // hideCursor = "0"; + // bypassHideCursor = "0"; + // helpTag = "0"; + // text = "RELATIVE"; + // maxLength = "255"; + //}; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/LaunchGui.gui b/public/base/@vl2/scripts.vl2/gui/LaunchGui.gui new file mode 100644 index 00000000..ee22640a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/LaunchGui.gui @@ -0,0 +1,14 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(LaunchGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/LaunchToolbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/LaunchToolbarDlg.gui new file mode 100644 index 00000000..5f77cd2e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/LaunchToolbarDlg.gui @@ -0,0 +1,76 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(LaunchToolbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + ctrlCount = "0"; + + new GuiControl(LaunchToolbarPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "-2 436"; + extent = "644 44"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new ShellLaunchMenu(LaunchToolbarMenu) { + profile = "LaunchMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 0"; + extent = "115 56"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "LAUNCH"; + maxPopupHeight = "200"; + buttonFontType = "Sui Generis"; + buttonFontSize = "14"; + }; + + new ShellTabGroupCtrl(LaunchTabView) { + profile = "LaunchTabProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "120 11"; + extent = "520 29"; + minExtent = "38 29"; + visible = "1"; + helpTag = "0"; + glowOffset = "0"; + tabSpacing = "1"; + maxTabWidth = "160"; + stretchToFit = "0"; + }; + }; + new ShellBitmapButton(LaunchToolbarCloseButton) { + profile = "CloseButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "583 13"; + extent = "33 26"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + command = "LaunchTabView.closeCurrentTab();"; + text = ""; + simpleStyle = "1"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/LoadingGui.gui b/public/base/@vl2/scripts.vl2/gui/LoadingGui.gui new file mode 100644 index 00000000..72f46b2b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/LoadingGui.gui @@ -0,0 +1,161 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(LoadingGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + qLineCount = "0"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "28 13"; + extent = "584 459"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + noTitleBar = "1"; + + new GuiProgressCtrl(LoadingProgress) { + profile = "ShellProgressBarProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "81 410"; + extent = "262 25"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(LoadingProgressTxt) { + profile = "ShellProgressBarTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 3"; + extent = "262 19"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "LOADING MISSION"; + maxLength = "255"; + }; + }; + new GuiTextCtrl(LOAD_MapName) { + profile = "ShellSubHeaderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 6"; + extent = "90 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Map Name"; + maxLength = "255"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "26 34"; + extent = "312 165"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(LOAD_MapText) { + profile = "ShellLoadTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "312 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiTextCtrl(LOAD_MissionType) { + profile = "ShellSubHeaderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 207"; + extent = "115 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Mission Type"; + maxLength = "255"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "26 235"; + extent = "312 165"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(LOAD_GameText) { + profile = "ShellLoadTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "312 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiControl() { + profile = "ShellLoadFrameProfile"; + horizSizing = "relative"; + vertSizing = "relative"; + position = "349 8"; + extent = "212 428"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl(LOAD_MapPic) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "210 426"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "gui/loading.png"; + useVariable = "0"; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonNoTabProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "14 404"; + extent = "70 38"; + minExtent = "32 38"; + visible = "1"; + command = "Disconnect();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/LobbyGui.gui b/public/base/@vl2/scripts.vl2/gui/LobbyGui.gui new file mode 100644 index 00000000..947553ce --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/LobbyGui.gui @@ -0,0 +1,347 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(LobbyGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "20 20"; + extent = "600 440"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "LOBBY"; + noTitleBar = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "23 36"; + extent = "276 140"; + minExtent = "16 18"; + visible = "1"; + + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 0"; + extent = "268 27"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(LobbyServerName) { + profile = "ShellLargeLabelProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "3 2"; + extent = "262 26"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = ""; + }; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 28"; + extent = "276 111"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 7"; + extent = "262 97"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(LobbyStatusText) { + profile = "ShellTextArrayProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "242 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + }; + }; + }; + new ShellFancyArrayScrollCtrl() { + profile = "ShellServerBrowserProfile"; + horizSizing = "relative"; + vertSizing = "height"; + position = "23 175"; + extent = "275 209"; + minExtent = "24 72"; + visible = "1"; + helpTag = "0"; + fixedHorizontal = "0"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl() { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "275 193"; + minExtent = "8 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOn"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new VirtualScrollContentCtrl() { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "251 169"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "8 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + }; + new ShellFancyTextList(LobbyPlayerList) { + profile = "LobbyPlayerListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "255 188"; + minExtent = "8 20"; + visible = "1"; + helpTag = "0"; + startScrollRegion = "3 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "19"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "0"; + noSelect = "1"; + }; + }; + new GuiControl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "298 32"; + extent = "275 143"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "275 143"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "261 129"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(LobbyVoteMenu) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 8"; + minExtent = "8 8"; + visible = "1"; + altCommand = "lobbyVote();"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(LobbyCancelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "178 1"; + extent = "80 38"; + minExtent = "32 38"; + visible = "0"; + command = "LobbyVoteMenu.reset();"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; + new ShellScrollCtrl(LobbyMessageScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "relative"; + vertSizing = "height"; + position = "298 174"; + extent = "275 178"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 7"; + extent = "245 164"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMessageVectorCtrl(LobbyMessageVector) { + profile = "GuiChatHudProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "245 12"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "10"; + matchColor = "0 0 255 255"; + maxColorIndex = 5; + }; + }; + }; + new ShellTextEditCtrl(LobbyChatEnter) { + profile = "NewTextEditProfile"; + horizSizing = "relative"; + vertSizing = "top"; + position = "293 350"; + extent = "285 38"; + minExtent = "32 38"; + visible = "1"; + altCommand = "LobbyChatEnter.send();"; + escapeCommand = "LobbyChatEnter.onEscape();"; + helpTag = "0"; + historySize = "0"; + maxLength = "120"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "195 385"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.pushDialog(OptionsDlg);"; + helpTag = "0"; + text = "SETTINGS"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "315 385"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "lobbyDisconnect();"; + helpTag = "0"; + text = "LEAVE GAME"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "435 385"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "lobbyReturnToGame();"; + accelerator = "escape"; + helpTag = "0"; + text = "RETURN TO GAME"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/LoginDlg.gui b/public/base/@vl2/scripts.vl2/gui/LoginDlg.gui new file mode 100644 index 00000000..b4053557 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/LoginDlg.gui @@ -0,0 +1,162 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(LoginDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "72 143"; + extent = "495 194"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "LOGIN"; + maxLength = "255"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 47"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Account Name:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(LoginEditBox) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 39"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$LoginName"; + altCommand = "LoginProcess();"; + helpTag = "0"; + maxLength = "16"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 77"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Password:"; + maxLength = "255"; + }; + new GuiLoginPasswordCtrl(LoginPasswordBox) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 69"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$LoginPassword"; + altCommand = "LoginProcess();"; + helpTag = "0"; + maxLength = "16"; + historySize = "0"; + password = "1"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 39"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "LoginProcess(false);"; + helpTag = "0"; + text = "LOG IN"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 69"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "CreateAccount();"; + helpTag = "0"; + text = "CREATE NEW ACCOUNT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 99"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "LoginProcess(true);"; + helpTag = "0"; + text = "EDIT ACCOUNT"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "300 129"; + extent = "147 38"; + minExtent = "32 38"; + visible = "1"; + command = "quit();"; + accelerator = "escape"; + helpTag = "0"; + text = "QUIT"; + simpleStyle = "0"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 104"; + extent = "167 27"; + minExtent = "26 27"; + visible = "1"; + variable = "$pref::RememberPassword"; + helpTag = "0"; + text = "REMEMBER PASSWORD"; + maxLength = "255"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 129"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + command = "PasswordProcess(true);"; + helpTag = "0"; + text = "EMAIL ME MY PASSWORD"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/LoginMessageBoxDlg.gui b/public/base/@vl2/scripts.vl2/gui/LoginMessageBoxDlg.gui new file mode 100644 index 00000000..215cd704 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/LoginMessageBoxDlg.gui @@ -0,0 +1,48 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(LoginMessageBoxDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(LoginMessageBoxFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 137"; + extent = "300 206"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(LoginMessageBoxText) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 39"; + extent = "236 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellBitmapButton(LoginMessageBoxButton) { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "70 140"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "LoginMessageBoxButtonProcess();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/MessageBoxDlg.gui b/public/base/@vl2/scripts.vl2/gui/MessageBoxDlg.gui new file mode 100644 index 00000000..42c3c103 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/MessageBoxDlg.gui @@ -0,0 +1,183 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageBoxOKDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(MBOKFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 137"; + extent = "300 206"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(MBOKText) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 39"; + extent = "236 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellBitmapButton(MBOKButton) { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "90 151"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(MessageBoxOKDlg);"; + accelerator = "return"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageBoxYesNoDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(MBYesNoFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 137"; + extent = "300 206"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(MBYesNoText) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 39"; + extent = "236 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellBitmapButton(MBYesNoButtonYes) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 151"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(MessageBoxYesNoDlg);"; + accelerator = "enter"; + helpTag = "0"; + text = "YES"; + simpleStyle = "0"; + }; + new ShellBitmapButton(MBYesNoButtonNo) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "154 151"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(MessageBoxYesNoDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "NO"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageBoxOKCancelDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(MBOKCancelFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 137"; + extent = "300 206"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(MBOKCancelText) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 39"; + extent = "236 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellBitmapButton(MBOKCancelButtonOK) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "154 151"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(MessageBoxOKCancelDlg);"; + accelerator = "return"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new ShellBitmapButton(MBOKCancelButtonCancel) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 151"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(MessageBoxOKCancelDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/MessagePopupDlg.gui b/public/base/@vl2/scripts.vl2/gui/MessagePopupDlg.gui new file mode 100644 index 00000000..401d2bed --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/MessagePopupDlg.gui @@ -0,0 +1,35 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessagePopupDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(MessagePopFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "165 194"; + extent = "310 108"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(MessagePopText) { + profile = "ShellMediumTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 40"; + extent = "247 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/MouseConfigDlg.gui b/public/base/@vl2/scripts.vl2/gui/MouseConfigDlg.gui new file mode 100644 index 00000000..41f1149c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/MouseConfigDlg.gui @@ -0,0 +1,178 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MouseConfigDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "125 104"; + extent = "390 271"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "CONFIGURE MOUSE"; + noTitleBar = "0"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "50 216"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(MouseConfigDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "220 216"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "MouseConfigDlg::onOK();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 36"; + extent = "94 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "X-Axis Sensitivity:"; + }; + new GuiTextCtrl(MouseXText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 36"; + extent = "28 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "(0.5)"; + }; + new ShellSliderCtrl(MouseXSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "96 51"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + variable = "value"; + altCommand = "MouseXSlider.sync();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.480769"; + usePlusMinus = "1"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "247 73"; + extent = "71 30"; + minExtent = "26 27"; + visible = "1"; + variable = "$pref::Input::LinkMouseSensitivity"; + helpTag = "0"; + text = "LINK"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 85"; + extent = "93 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Y-Axis Sensitivity:"; + }; + new GuiTextCtrl(MouseYText) { + profile = "ShellAltTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "184 85"; + extent = "28 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "(0.5)"; + }; + new ShellSliderCtrl(MouseYSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "96 100"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + variable = "value"; + altCommand = "MouseYSlider.sync();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.480769"; + usePlusMinus = "1"; + }; + new ShellToggleButton(InvertMouseTgl) { + profile = "ShellRadioProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "125 138"; + extent = "140 30"; + minExtent = "26 27"; + visible = "1"; + helpTag = "0"; + text = "INVERT Y-AXIS"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 183"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Mouse Wheel:"; + }; + new ShellPopupMenu(MouseZActionMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "144 174"; + extent = "180 36"; + minExtent = "49 36"; + visible = "1"; + helpTag = "0"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/MoveThreadDlg.gui b/public/base/@vl2/scripts.vl2/gui/MoveThreadDlg.gui new file mode 100644 index 00000000..d2782ee3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/MoveThreadDlg.gui @@ -0,0 +1,93 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MoveThreadDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(MoveThreadDlgPane) { + profile = "ShellPaneProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 155"; + extent = "277 125"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "MOVE THREAD"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellPopupMenu(MoveToForumList) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "17 43"; + extent = "247 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 35"; + extent = "225 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select New Forum:"; + maxLength = "255"; + }; + new ShellBitmapButton(mtdOKbtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "201 72"; + extent = "65 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TopicsPopupMenu.ExecuteMove();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new ShellBitmapButton(mtdCancelbtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "142 72"; + extent = "75 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.PopDIalog(\"MoveThreadDlg\");"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/NewMissionGui.gui b/public/base/@vl2/scripts.vl2/gui/NewMissionGui.gui new file mode 100644 index 00000000..ac6196a7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/NewMissionGui.gui @@ -0,0 +1,290 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(NewMissionGui) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 83"; + extent = "228 276"; + minExtent = "100 100"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "CREATE NEW MISSION"; + resizeWidth = "False"; + resizeHeight = "False"; + canMove = "True"; + canClose = "True"; + canMinimize = "False"; + canMaximize = "False"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(NewMissionGui);"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 30"; + extent = "68 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Mission Name:"; + }; + new GuiTextEditCtrl(MissionNameEdit) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "82 30"; + extent = "120 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + historySize = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 239"; + extent = "80 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "CreateMission();Canvas.popDialog(NewMissionGui);"; + helpTag = "0"; + text = "OK"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "121 239"; + extent = "80 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(NewMissionGui);"; + helpTag = "0"; + text = "CANCEL"; + }; + new GuiControl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 110"; + extent = "198 114"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 40"; + extent = "145 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "MISSION TYPE OPTIONS HERE"; + }; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 55"; + extent = "64 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Base Terrain:"; + }; + new GuiPopUpMenuCtrl(TerrainFileMenu) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "82 55"; + extent = "120 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + maxPopupHeight = "200"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 88"; + extent = "26 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Type:"; + }; + new GuiPopUpMenuCtrl(MissionTypeMenu) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "59 86"; + extent = "120 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + maxPopupHeight = "200"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function CreateMission() +{ + if($MissionRunning) + return; + + %missionName = MissionNameEdit.getValue() @ ".mis"; + if(%missionName $= "") + return; + + echo("--- Creating mission: " @ %missionName); + + // do the terrain + %terrainName = MissionNameEdit.getValue() @ ".ter"; + %baseTerrain = TerrainFileMenu.getValue() @ ".ter"; + %graphName = MissionNameEdit.getValue() @ ".nav"; + + %obj = new TerrainBlock(BaseTerrain) + { + position = "0 0 0 1"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + terrainFile = %baseTerrain; + squareSize = "8"; + visibleDistance = "1200"; + hazeDistance = "250"; + emptySquares = "250"; + }; + + if(%obj == -1) + { + echo("!!! Failed to create base terrain: " @ %baseTerrain); + return; + } + + BaseTerrain.save(%terrainName); + BaseTerrain.delete(); + + rebuildModPaths(); + + // create a mission... + new SimGroup(MissionGroup) + { + new MissionArea(MissionArea) + { + area = "512 512 1024 1024"; + }; + + new Sun() + { + position = "0 0 0 1"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + direction = "0.5 0.5 -0.5"; + ambient = "0.2 0.2 0.2 1.0"; + color = "0.6 0.6 0.6 1.0"; + }; + + new TerrainBlock(Terrain) + { + position = "0 0 0 1"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + terrainFile = %terrainName; + squareSize = "8"; + visibleDistance = "1200"; + hazeDistance = "250"; + emptySquares = "250"; + }; + + new NavigationGraph(NavGraph) + { + position = "0 0 0 1"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + GraphFile = %graphName; + }; + }; + + MissionGroup.save("missions/" @ %missionName); + MissionGroup.delete(); + + // create a server and connect + setNetPort($Host::Port); + $ServerName = $Host::GameName; + CreateServer(%missionName); + localConnect(); + Canvas.setContent(PlayGui); +} + +function NewMissionGui::onWake(%this) +{ + // + $NewMissionName = "NewMission"; + + MissionNameEdit.setValue("NewMission"); + + // fill the terrain list... + TerrainFileMenu.clear(); + + %spec = "terrains/*.ter"; + %count = 0; + + for(%file = findFirstFile(%spec); %file !$= ""; %file = findNextFile(%spec)) + { + TerrainFileMenu.add(fileBase(%file), %count); + %count++; + } + TerrainFileMenu.setSelected(0); + + // fill the mission types.. bunk for now + MissionTypeMenu.clear(); + MissionTypeMenu.add("Capture the Flag", 0); + MissionTypeMenu.add("Defend and Destroy", 1); + MissionTypeMenu.add("Find and Retrieve", 2); + MissionTypeMenu.add("Death Match", 3); + MissionTypeMenu.add("Rabbit", 4); + MissionTypeMenu.add("Football", 5); + MissionTypeMenu.add("Flag Hunters", 6); + MissionTypeMenu.setSelected(0); +} diff --git a/public/base/@vl2/scripts.vl2/gui/NewWarriorDlg.gui b/public/base/@vl2/scripts.vl2/gui/NewWarriorDlg.gui new file mode 100644 index 00000000..d29d8272 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/NewWarriorDlg.gui @@ -0,0 +1,80 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(NewWarriorDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "155 167"; + extent = "330 145"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "NEW WARRIOR"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 52"; + extent = "81 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Name:"; + }; + new ShellTextEditCtrl(NW_NameEdit) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 44"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + command = "NW_NameEdit.checkValidPlayerName();"; + altCommand = "NW_NameEdit.processEnter();"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton(NW_DoneBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "182 90"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + command = "NewWarriorDlg.createPlayer();"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(NW_CancelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 90"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(NewWarriorDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/OptionsDlg.gui b/public/base/@vl2/scripts.vl2/gui/OptionsDlg.gui new file mode 100644 index 00000000..7efc3054 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/OptionsDlg.gui @@ -0,0 +1,2669 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(OptionsDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + pane = "VIDEO"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "20 30"; + extent = "600 420"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "SETTINGS"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "34 362"; + extent = "82 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog(OptionsDlg);"; + helpTag = "0"; + text = "DONE"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_VideoTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 46"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Video);"; + helpTag = "0"; + text = "VIDEO"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_GraphicsTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 76"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Graphics);"; + helpTag = "0"; + text = "GRAPHICS"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_TexturesTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 106"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Textures);"; + helpTag = "0"; + text = "TEXTURES"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_SoundTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 136"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Sound);"; + helpTag = "0"; + text = "SOUND"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_VoiceTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 166"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Voice);"; + helpTag = "0"; + text = "VOICE"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_ControlsTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 196"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Controls);"; + helpTag = "0"; + text = "CONTROLS"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_NetworkTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 226"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Network);"; + helpTag = "0"; + text = "NETWORK"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabButton(OP_GameTab) { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 256"; + extent = "108 38"; + minExtent = "48 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.setPane(Game);"; + helpTag = "0"; + text = "GAME"; + longTextBuffer = "0"; + maxLength = "255"; + simpleStyle = "0"; + }; + new ShellTabFrame() { + profile = "ShellTabFrameProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 31"; + extent = "254 368"; + minExtent = "254 26"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + isVertical = "1"; + useCloseButton = "0"; + edgeInset = "0"; + }; + new ShellFieldCtrl(OP_VideoPane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 16"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Video Driver:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_VideoDriverMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 7"; + extent = "140 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Driver"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 54"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Resolution:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_ResMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 45"; + extent = "140 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Resolution"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 92"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Bit Depth:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_BPPMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 83"; + extent = "140 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Default"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellToggleButton(OP_FullScreenTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "102 125"; + extent = "127 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "FULL SCREEN"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(OP_ApplyBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "275 176"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OptionsDlg.applyGraphicChanges();"; + helpTag = "0"; + text = "APPLY CHANGES"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "275 8"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.pushDialog(DriverInfoDlg);"; + helpTag = "0"; + text = "DRIVER INFO"; + simpleStyle = "0"; + }; + new ShellToggleButton(OP_VSyncTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "133 243"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DISABLE VERTICAL SYNC"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new ShellFieldCtrl(OP_GraphicsPane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 6"; + extent = "97 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Gamma Correction:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_GammaSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 21"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateGammaCorrection();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.385965"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 6"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Terrain Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_TerrainSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 21"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + command = "updateTerrainDetail();"; + helpTag = "0"; + range = "0.000000 25.000000"; + ticks = "26"; + value = "23"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 44"; + extent = "67 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Shape Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_ShapeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 59"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "19"; + value = "1"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 44"; + extent = "77 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Shadow Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_ShadowSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 59"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.596491"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 82"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Interior Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_InteriorDetailSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 97"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.300000 1.000000"; + ticks = "1000"; + value = "0.950877"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 82"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Visible Distance:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_VisibleDistanceSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 97"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.600000 1.000000"; + ticks = "400"; + value = "1"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 120"; + extent = "84 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Particle Density:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_ParticleDensitySlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 135"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 3.000000"; + ticks = "1000"; + value = "3"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(OP_DynamicLightText) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 120"; + extent = "160 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Dynamic Light Visible Distance:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_DynamicLightText_Disabled) { + profile = "DisabledTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 120"; + extent = "160 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Dynamic Light Visible Distance:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_DynamicLightSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 135"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 100.000000"; + ticks = "100"; + value = "92.1053"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 168"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Sky Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_SkyDetailMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "146 159"; + extent = "200 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Default"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 198"; + extent = "114 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "First Person Draw:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_PlayerRenderMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "146 189"; + extent = "200 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Default"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 226"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::precipitationOn"; + helpTag = "0"; + text = "PRECIPITATION"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 226"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Interior::DynamicLights"; + command = "updateDynamicLightSliderState();"; + helpTag = "0"; + text = "DYNAMIC INTERIOR LIGHTS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 256"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::decalsOn"; + helpTag = "0"; + text = "DECALS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 256"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Terrain::dynamicLights"; + command = "updateDynamicLightSliderState();"; + helpTag = "0"; + text = "DYNAMIC TERRAIN LIGHTS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 286"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Terrain::enableDetails"; + helpTag = "0"; + text = "TERRAIN DETAILS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(OP_IntTexturedFogTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 286"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INTERIOR TEXTURED FOG"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 316"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::useOldShieldEffect"; + helpTag = "0"; + text = "HI-RES SHIELD EFFECTS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(OP_VertexLightTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 316"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "VERTEX LIGHTING"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new ShellFieldCtrl(OP_TexturesPane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 16"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Texture Quality:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_TexQualityMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "134 7"; + extent = "140 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Default"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 85"; + extent = "114 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Terrain Texture Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_TerrainTexSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 100"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 6.000000"; + ticks = "7"; + value = "5"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 85"; + extent = "109 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Shape Texture Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_ShapeTexSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 100"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "6"; + value = "1"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 123"; + extent = "119 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Building Texture Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_BuildingTexSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 138"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "6"; + value = "0.8"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 123"; + extent = "97 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Sky Texture Detail:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_SkyTexSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 138"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "6"; + value = "0.8"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(OP_CompressLabel) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "17 46"; + extent = "120 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Texture Compression:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_CompressLabel_Disabled) { + profile = "DisabledTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 46"; + extent = "135 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Texture Compression:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_CompressMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "134 37"; + extent = "140 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "None"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl(OP_AnisotropyLabel) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 179"; + extent = "58 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Anisotropy:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_AnisotropyLabel_Disabled) { + profile = "DisabledTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 179"; + extent = "58 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Anisotropy:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_AnisotropySlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 194"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0"; + usePlusMinus = "1"; + }; + new ShellToggleButton(OP_EnvMapTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 180"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::environmentMaps"; + helpTag = "0"; + text = "ENVIRONMENT MAPS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(OP_IntEnvMapTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 210"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Interior::ShowEnvironmentMaps"; + helpTag = "0"; + text = "INTERIOR ENV. MAPS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(OP_HiResSkinTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 250"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "HI-RES PLAYER SKINS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new ShellFieldCtrl(OP_SoundPane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 16"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "3D Provider:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_AudioProviderMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 7"; + extent = "268 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Provider"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellBitmapButton(OP_AudioResetProvider) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "339 7"; + extent = "79 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RESET"; + simpleStyle = "0"; + }; + new ShellToggleButton(OP_AudioEnvironmentTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "249 42"; + extent = "160 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Audio::environmentEnabled"; + helpTag = "0"; + text = "ENVIRONMENT ENABLED"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 46"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Speakers:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_AudioSpeakerMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 37"; + extent = "169 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Speaker"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 97"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Frequency:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_AudioFrequencyMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 88"; + extent = "169 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Frequency"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 127"; + extent = "72 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Bit Rate:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_AudioBitRateMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 118"; + extent = "100 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Bit Rate"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "221 127"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Channels:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_AudioChannelsMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "278 118"; + extent = "100 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select # Channels"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 177"; + extent = "79 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Master Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_MasterVolumeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 192"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateMasterVolume();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.894737"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 177"; + extent = "79 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Effects Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_EffectsVolumeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 192"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.938596"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 215"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Gui Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_GuiVolumeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 230"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateGuiVolume();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.692982"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 215"; + extent = "97 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Voice Bind Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_VoiceBindVolumeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 230"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.824561"; + usePlusMinus = "1"; + }; + new ShellToggleButton(OP_MusicTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 266"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Audio::musicEnabled"; + helpTag = "0"; + text = "MP3 MUSIC"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_MusicVolumeLabel) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 257"; + extent = "74 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Music Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_MusicVolumeLabel_Disabled) { + profile = "DisabledTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 253"; + extent = "74 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Music Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_MusicVolumeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 268"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateMusicVolume();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "0.859649"; + usePlusMinus = "1"; + }; + }; + new ShellFieldCtrl(OP_VoicePane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellToggleButton(OP_MicrophoneEnabledTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 13"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Audio::enableVoiceCapture"; + helpTag = "0"; + text = "MICROPHONE ENABLED"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(OP_RecordTestBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "232 8"; + extent = "173 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "alxCaptureStart(true);"; + helpTag = "0"; + text = "TEST RECORD"; + simpleStyle = "0"; + }; + new GuiTextCtrl(OP_MicVolumeLabel) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 43"; + extent = "102 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Microphone Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_MicVolumeLabel_Disabled) { + profile = "DisabledTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 43"; + extent = "102 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Microphone Volume:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_MicrophoneVolumeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 58"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "1000"; + value = "1"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(OP_InputBoostLabel) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 43"; + extent = "123 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Microphone Input Boost:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_InputBoostLabel_Disabled) { + profile = "DisabledTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 43"; + extent = "123 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Microphone Input Boost:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_InputBoostPercentTxt) { + profile = "ShellTextCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "271 61"; + extent = "110 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "100%"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_InputBoostSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 58"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + altCommand = "updateInputBoost();"; + helpTag = "0"; + range = "1.000000 5.000000"; + ticks = "5000"; + value = "3.70175"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(OP_VoiceListenLabel) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 96"; + extent = "140 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Voice Listen Codec(s):"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_VoiceListenMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "183 87"; + extent = "129 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Quality"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl(OP_VoiceSendLabel) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 126"; + extent = "140 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Voice Send Codec:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_VoiceSendMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "183 117"; + extent = "129 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Quality"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl(OP_VoiceListenLabel_Disabled) { + profile = "DisabledTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 96"; + extent = "140 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Voice Listen Quality:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_VoiceSendLabel_Disabled) { + profile = "DisabledTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 126"; + extent = "140 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Voice Send Quality:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(OP_VoiceCodecInfo) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 159"; + extent = "395 140"; + minExtent = "8 140"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new ShellFieldCtrl(OP_ControlsPane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + group = "Main"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "2 31"; + extent = "290 283"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 2"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 6"; + extent = "266 271"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(OP_RemapList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "266 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "OP_RemapList.doRemap();"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "2 150"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "292 8"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "restoreDefaultMappings();"; + helpTag = "0"; + text = "RESTORE DEFAULTS"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "292 38"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ShellGetLoadFilename( \"LOAD CONTROL CONFIG\", \"prefs/*.cs\", \"isMapFile\", \"loadMapFile\" );"; + helpTag = "0"; + text = "LOAD"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "292 68"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ShellGetSaveFilename( \"SAVE CONTROL CONFIG\", \"prefs/*.cs\", \"isMapFile\", \"saveMapFile\", $pref::Input::ActiveConfig );"; + helpTag = "0"; + text = "SAVE AS"; + simpleStyle = "0"; + }; + new ShellToggleButton(OP_MouseTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "296 116"; + extent = "126 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Input::MouseEnabled"; + helpTag = "0"; + text = "DINPUT MOUSE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(OP_ConfigureMouseBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "292 146"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.pushDialog(MouseConfigDlg);"; + helpTag = "0"; + text = "CONFIGURE MOUSE"; + simpleStyle = "0"; + }; + new ShellToggleButton(OP_JoystickTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "296 194"; + extent = "126 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENABLE JOYSTICK"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(OP_ConfigureJoystickBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "292 224"; + extent = "140 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.pushDialog(JoystickConfigDlg);"; + helpTag = "0"; + text = "CONFIGURE JOYSTICK"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "32 317"; + extent = "124 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Toggle Console Key:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "161 316"; + extent = "128 23"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiButtonCtrl(OP_ConsoleKeyBtn) { + profile = "ShellActiveTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "3 3"; + extent = "122 17"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "OP_ConsoleKeyBtn.doRemap();"; + helpTag = "0"; + text = "grave"; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 9"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Control Group:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_ControlGroupMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 0"; + extent = "180 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Control Group"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + }; + new ShellFieldCtrl(OP_NetworkPane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 16"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Presets:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_NetworkPresetsMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "73 8"; + extent = "151 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Preset"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + updateSettings = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 52"; + extent = "65 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Packet Rate:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_PacketRateSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 67"; + extent = "170 24"; + minExtent = "12 24"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "2.000000 32.000000"; + ticks = "31"; + value = "32"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 52"; + extent = "62 22"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Packet Size:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_PacketSizeSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 67"; + extent = "170 24"; + minExtent = "12 24"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "100.000000 450.000000"; + ticks = "36"; + value = "450"; + usePlusMinus = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 47"; + extent = "99 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Client Update Rate:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_UpdateRateSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 62"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + command = "updateNetworkSettings();"; + helpTag = "0"; + range = "8.000000 32.000000"; + ticks = "25"; + value = "32"; + usePlusMinus = "1"; + }; + new GuiTextCtrl(OP_MasterServerTxt) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 222"; + extent = "200 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Display on Master Server:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_MasterServerMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "208 214"; + extent = "180 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Display Option"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "67 253"; + extent = "144 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Server Location:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_RegionMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "208 244"; + extent = "180 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Region"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellToggleButton(OP_CheckEmailTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 283"; + extent = "190 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Net::CheckEmail"; + helpTag = "0"; + text = "CHECK EMAIL WHILE PLAYING"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(OP_ChatDisconnectTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 311"; + extent = "190 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Net::DisconnectChat"; + helpTag = "0"; + text = "DISCONNECT FROM CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "183 100"; + extent = "227 103"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new HudNetDisplay(OP_NetworkDisplayHud) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 1"; + extent = "223 101"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + historySize = "100"; + updatePeriod = "50"; + renderField[0] = "1"; + renderField[1] = "1"; + renderField[2] = "0"; + renderField[3] = "1"; + renderField[4] = "0"; + renderField[5] = "1"; + fieldColors[0] = "0 220 0 255"; + fieldColors[1] = "220 0 0 255"; + fieldColors[2] = "220 220 220 255"; + fieldColors[3] = "120 120 120 255"; + fieldColors[4] = "0 190 240 255"; + fieldColors[5] = "0 120 170 255"; + lowerBound[0] = "0"; + lowerBound[1] = "0"; + lowerBound[2] = "0"; + lowerBound[3] = "0"; + lowerBound[4] = "0"; + lowerBound[5] = "0"; + upperBound[0] = "500"; + upperBound[1] = "100"; + upperBound[2] = "32"; + upperBound[3] = "4096"; + upperBound[4] = "32"; + upperBound[5] = "4096"; + infoCallback = "1"; + renderGraph = "1"; + }; + }; + new ShellFieldCtrl(OP_NetworkDisplayTextFrame) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 100"; + extent = "149 103"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + new ShellFieldCtrl(OP_GamePane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 42"; + extent = "437 346"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 8"; + extent = "65 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Zoom Speed:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellSliderCtrl(OP_ZoomSpeedSlider) { + profile = "ShellSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 23"; + extent = "170 24"; + minExtent = "12 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "value"; + helpTag = "0"; + range = "0.000000 500.000000"; + ticks = "501"; + value = "500"; + usePlusMinus = "1"; + }; + new ShellBitmapButton(OP_EditChatMenuBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "237 11"; + extent = "173 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog( OptionsDlg ); Canvas.pushDialog(EditChatMenuGui);"; + helpTag = "0"; + text = "EDIT CHAT MENU"; + simpleStyle = "0"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 64"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::toggleVehicleView"; + helpTag = "0"; + text = "3RD PERSON VEHICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 64"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::SkipIntro"; + helpTag = "0"; + text = "SKIP INTRO"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 94"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Vehicle::InvertYAxis"; + command = "toggleInvertYAxis();"; + helpTag = "0"; + text = "INVERT VEHICLE Y-AXIS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(OP_ForceFeedbackTgl) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 94"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$Pref::useImmersion"; + command = "toggleImmersion();"; + helpTag = "0"; + text = "ENABLE FORCE FEEDBACK"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 124"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::Vehicle::pilotTeleport"; + command = "toggleVehicleTeleportPref();"; + helpTag = "0"; + text = "TELEPORT TO VEHICLES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 124"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::usePrefSkins"; + helpTag = "0"; + text = "SHOW PERSONAL SKINS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 154"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::enableBadWordFilter"; + helpTag = "0"; + text = "ENABLE BAD WORD FILTER"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 154"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::RenderOOBGrid"; + helpTag = "0"; + text = "SHOW OUT OF BOUNDS GRID"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(OP_LaunchScreenTxt) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 233"; + extent = "100 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Launch Screen:"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellPopupMenu(OP_LaunchScreenMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "176 224"; + extent = "180 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Select Screen"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellToggleButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 185"; + extent = "170 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::ignoreTeamRepairMessages"; + helpTag = "0"; + text = "IGNORE REPAIR MESSAGES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/PanoramaGui.gui b/public/base/@vl2/scripts.vl2/gui/PanoramaGui.gui new file mode 100644 index 00000000..a3c883b7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/PanoramaGui.gui @@ -0,0 +1,15 @@ +//--- OBJECT WRITE BEGIN --- +new GameTSCtrl(PanoramaGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/PasswordDlg.gui b/public/base/@vl2/scripts.vl2/gui/PasswordDlg.gui new file mode 100644 index 00000000..2bfa4f7b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/PasswordDlg.gui @@ -0,0 +1,80 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(PasswordDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "147 142"; + extent = "345 172"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "PASSWORD"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "54 42"; + extent = "236 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "This server requires a password."; + }; + new ShellTextEditCtrl() { + profile = "NewTextEditProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "78 68"; + extent = "180 38"; + minExtent = "32 38"; + visible = "1"; + variable = "$JoinGamePassword"; + altCommand = "PasswordDlg.accept();"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 117"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(PasswordDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "190 117"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "PasswordDlg.accept();"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/PickTeamDlg.gui b/public/base/@vl2/scripts.vl2/gui/PickTeamDlg.gui new file mode 100644 index 00000000..b7300ce3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/PickTeamDlg.gui @@ -0,0 +1,74 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(PickTeamDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + mouseOn = "1"; + + new ShellPaneCtrl(PickTeamFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "220 115"; + extent = "250 250"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + noTitleBar = "0"; + + new ShellBitmapButton("PickTeamAButton") { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "158 60"; + extent = "120 60"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = ""; + command = "clientCmdprocessPickTeam(1);"; + }; + new ShellBitmapButton("PickTeamBButton") { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "158 95"; + extent = "120 60"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = ""; + command = "clientCmdprocessPickTeam(2);"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "158 130"; + extent = "120 60"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Observer"; + command = "clientCmdprocessPickTeam(4);"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "158 165"; + extent = "120 60"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Automatic"; + command = "clientCmdprocessPickTeam(3);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/PlayGui.gui b/public/base/@vl2/scripts.vl2/gui/PlayGui.gui new file mode 100644 index 00000000..dfa1f185 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/PlayGui.gui @@ -0,0 +1,5892 @@ +//--- OBJECT WRITE BEGIN --- +new GameTSCtrl(PlayGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "1"; + bypassHideCursor = "0"; + helpTag = "0"; + beaconBaseTextureName = "gui/beacon_base"; + beaconTargetTextureName = "gui/crosshairs"; + beaconTargetPeriod = "4000"; + beaconsVisible = "1"; + enemyBeaconLineBeginColor = "0.000000 1.000000 0.000000 0.200000"; + enemyBeaconLineEndColor = "0.000000 1.000000 0.000000 0.800000"; + vehicleBeaconLineBeginColor = "1.000000 0.000000 0.000000 0.200000"; + vehicleBeaconLineEndColor = "1.000000 0.000000 0.000000 0.800000"; + friendBeaconLineBeginColor = "1.000000 1.000000 0.000000 0.200000"; + friendBeaconLineEndColor = "1.000000 1.000000 0.000000 0.800000"; + beaconLineWidth = "2.5"; + beaconTextYOffset = "14"; + showAlternateTarget = "0"; + frinedBeaconLineEndColor = "1 1 0 0.8"; + + new HudScoreCtrl(objectiveHud) { + profile = "HudScoreProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "8 437"; + extent = "245 37"; + minExtent = "16 37"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + verticalInset = "3 0"; + horizontalInset = "2 2"; + teamScore2 = "4967"; + teamName1 = "4964"; + flagLabel2 = "4969"; + teamScore1 = "4966"; + flagLocation2 = "4971"; + flagLocation1 = "4970"; + teamName2 = "4965"; + flagLabel1 = "4968"; + + new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "65 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 3"; + extent = "20 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 3"; + extent = "30 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "FLAG"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "135 3"; + extent = "105 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "65 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 19"; + extent = "20 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 19"; + extent = "30 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "FLAG"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "135 19"; + extent = "105 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new HudBitmapCtrl(hudClusterBack) { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "444 8"; + extent = "188 81"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + bitmap = "gui/hud_new_cog"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + + new HudBitmapCtrl(hudCompassBack) { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "109 2"; + extent = "77 77"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + bitmap = "gui/hud_new_compass"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + }; + new GuiControl(compassHud) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "107 2"; + extent = "81 77"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + opacity = "1.0"; + + new HudCompass(compass) { + profile = "clockProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "0 0"; + extent = "81 77"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + textColor = "0 255 0 255"; + }; + }; + new HudPulsingBitmap(sensorHudBack) { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "134 26"; + extent = "27 29"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + bitmap = "gui/hud_new_ping"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + color = "3 255 110 255"; + pulse = "0"; + pulseRate = "1000"; + }; + new HudPulsingBitmap(sensorHud) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "134 26"; + extent = "27 29"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + bitmap = "gui/hud_new_ping"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + color = "255 255 255 255"; + pulse = "1"; + pulseRate = "1000"; + jam = "0"; + pingColor = "255 22 22"; + ping = "0"; + jamColor = "253 255 2"; + }; + new HudEnergy(energyHud) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "8 23"; + extent = "93 5"; + minExtent = "93 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.8"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "0 0 93 10"; + displayMounted = "0"; + pulseRate = "500"; + pulseThreshold = "0.3"; + verticalFill = "0"; + value = "0"; + }; + new HudDamage(damageHud) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "8 5"; + extent = "93 8"; + minExtent = "93 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.000000 1.000000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 0.000000"; + opacity = "0.8"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "0 0 93 10"; + displayMounted = "0"; + pulseRate = "500"; + pulseThreshold = "0.3"; + verticalFill = "0"; + value = "0"; + }; + new HudHeat(HeatHud) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "8 30"; + extent = "93 3"; + minExtent = "93 3"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "1.000000 0.000000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.8"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "0 0 100 10"; + displayMounted = "0"; + pulseRate = "500"; + pulseThreshold = "0.3"; + verticalFill = "0"; + value = "0"; + heatWarning = "0.6"; + }; + }; + new HudClock(clockHUD) { + profile = "clockProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "559 38"; + extent = "65 23"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + bitmap = "gui/hud_mistimer"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "0 2 65 15"; + }; + new ShellFieldCtrl(NetGraphHudFrame) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "266 8"; + extent = "176 50"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new HudNetDisplay(NetGraphHud) { + profile = "HudScoreProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "1 1"; + extent = "174 48"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + historySize = "100"; + updatePeriod = "50"; + renderField[0] = "1"; + renderField[1] = "1"; + renderField[2] = "0"; + renderField[3] = "1"; + renderField[4] = "0"; + renderField[5] = "1"; + fieldColors[0] = "0 220 0 255"; + fieldColors[1] = "220 0 0 255"; + fieldColors[2] = "220 220 220 255"; + fieldColors[3] = "120 120 120 255"; + fieldColors[4] = "0 190 240 255"; + fieldColors[5] = "0 120 170 255"; + lowerBound[0] = "0"; + lowerBound[1] = "0"; + lowerBound[2] = "0"; + lowerBound[3] = "0"; + lowerBound[4] = "0"; + lowerBound[5] = "0"; + upperBound[0] = "500"; + upperBound[1] = "100"; + upperBound[2] = "32"; + upperBound[3] = "4096"; + upperBound[4] = "32"; + upperBound[5] = "4096"; + infoCallback = "0"; + renderGraph = "1"; + }; + }; + new GuiControl(NetBarHudFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "290 0"; + extent = "129 68"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new HudNetDisplay(NetBarHud) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "1 1"; + extent = "174 48"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + historySize = "2"; + updatePeriod = "50"; + renderField[0] = "1"; + renderField[1] = "1"; + renderField[2] = "1"; + renderField[3] = "1"; + renderField[4] = "1"; + renderField[5] = "1"; + fieldColors[0] = "0 220 0 255"; + fieldColors[1] = "220 0 0 255"; + fieldColors[2] = "220 220 220 255"; + fieldColors[3] = "120 120 120 255"; + fieldColors[4] = "0 190 240 255"; + fieldColors[5] = "0 120 170 255"; + lowerBound[0] = "0"; + lowerBound[1] = "0"; + lowerBound[2] = "0"; + lowerBound[3] = "0"; + lowerBound[4] = "0"; + lowerBound[5] = "0"; + upperBound[0] = "500"; + upperBound[1] = "100"; + upperBound[2] = "32"; + upperBound[3] = "4096"; + upperBound[4] = "32"; + upperBound[5] = "4096"; + infoCallback = "1"; + renderGraph = "0"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 27"; + extent = "120 18"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new HudBarBaseCtrl(NetBarHudSendBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "120 18"; + minExtent = "120 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.000000 0.800000 0.000000 1.000000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.6"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "2 2 116 15"; + displayMounted = "0"; + pulseRate = "500"; + pulseThreshold = "0.3"; + verticalFill = "0"; + value = "0.868807"; + }; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 46"; + extent = "120 18"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new HudBarBaseCtrl(NetBarHudReceiveBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "120 18"; + minExtent = "120 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.000000 0.800000 0.000000 1.000000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.6"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "2 2 116 15"; + displayMounted = "0"; + pulseRate = "500"; + pulseThreshold = "0.3"; + verticalFill = "0"; + value = "0.911488"; + }; + }; + new GuiTextCtrl(NetBarHudPingText) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 9"; + extent = "35 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "0ms"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(NetBarHudPacketLossText) { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "76 9"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "0%"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new GuiControl(retCenterHud) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "192 112"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + wrap = "0"; + + new HudCrosshair(reticleHud) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 112"; + extent = "32 32"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.5"; + bitmap = "gui/ret_blaster"; + autoCenter = "1"; + autoResize = "1"; + flipVertical = "0"; + flipHorizontal = "0"; + }; + new GuiTextCtrl(ammoHud) { + profile = "GuiAmmoHudProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "75 150"; + extent = "80 20"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new HudPulsingBitmap(deploySensor) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 90"; + extent = "75 75"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.5"; + bitmap = "gui/hud_ping"; + autoCenter = "1"; + autoResize = "1"; + flipVertical = "0"; + flipHorizontal = "0"; + color = "0 0 0 0"; + pulse = "0"; + pulseRate = "1000"; + }; + new HudCrosshair(reticleFrameHud) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "96 96"; + extent = "64 64"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.5"; + bitmap = "gui/hud_retrng"; + autoCenter = "1"; + autoResize = "1"; + flipVertical = "0"; + flipHorizontal = "0"; + }; + }; + new HudInventory(inventoryHud) { + profile = "GuiHudCounterProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "486 434"; + extent = "116 38"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + ammoOffset = "6 24"; + backGroundOffset = "0 0"; + highLightOffset = "0 0"; + iconOffset = "1 1"; + backGroundSpace = "2"; + }; + new GuiBitmapCtrl(backpackFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "457 434"; + extent = "27 38"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + bitmap = "gui/hud_new_panel"; + wrap = "0"; + + new GuiBitmapCtrl(backpackIcon) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "0 3"; + extent = "25 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + wrap = "0"; + }; + new GuiTextCtrl(backpackText) { + profile = "GuiPackTextProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "1 24"; + extent = "25 16"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new HudWeapons(weaponsHud) { + profile = "GuiHudCounterProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "604 194"; + extent = "32 160"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.9"; + ammoOffset = "6 24"; + backGroundOffset = "0 0"; + highLightOffset = "0 0"; + iconOffset = "1 1"; + backGroundSpace = "2"; + }; + new HudNavDisplay(navHud) { + profile = "GuiHudNavProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.5"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + renderXYProjection = "0"; + renderEdgeMarkers = "1"; + markerHitRadius = "2"; + markerAngle = "30"; + markerLen = "20"; + defaultMarkerColor = "0 255 220 220"; + acquireScreenRadius = "75"; + playerEyeZOffset = "0.4"; + damageRectSize = "50 12"; + infoOffset = "24 24"; + minProjectSize = "10"; + acquireBoxCheckDistance = "50"; + targetLockedFrameColor = "255 0 0 255"; + damageFrameColor = "255 255 255 255"; + minMarkerScale = "0.5"; + markerScaleDistance = "1000"; + markerImageNames[0] = "small_triangle"; + markerImageNames[1] = "small_square"; + markerImageNames[2] = "small_diamond"; + markerImageNames[3] = "small_cross"; + markerImageNames[4] = "small_circle"; + markerTextEdgeOffset = "2"; + renderMarkerText = "1"; + protectedStatics = "0"; + enemyBeaconColor = "0 255 0 255"; + friendBeaconColor = "255 255 0 255"; + vehicleBeaconColor = "0 255 0 255"; + imageOffset = "2"; + missileMarker1 = "gui/RET_missile_marker"; + missileMarker2 = "gui/RET_missile_marker_red"; + missileFlash1 = "gui/RET_missile_horizflash_red"; + missileFlash2 = "gui/RET_missile_vertflash_red"; + LOSMarkerUpdate = "250"; + }; + new GuiDashBoardCtrl(dashboardHud) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "0 360"; + extent = "640 120"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + wrap = "0"; + + new HudVehicleWeapon(vWeaponsBox) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "180 25"; + extent = "70 40"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "0.8"; + ammoOffset = "10 30"; + backGroundOffset = "5 4"; + highLightOffset = "0 0"; + iconOffset = "7 4"; + backGroundSpace = "8"; + }; + }; + new ShellFieldCtrl(voiceCommHud) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 92"; + extent = "160 70"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(vcRecordingHud) { + profile = "GuiRecordingHudProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "0 0"; + extent = "160 20"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Recording"; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new GuiTextCtrl(controlObjectText) { + profile = "ShellBigTextProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "130 440"; + extent = "380 26"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Press \'\c2Escape\cr\' to return to game."; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellFieldCtrl(centerPrintDlg) { + profile = "GuiChatBackProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "45 230"; + extent = "550 20"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(CenterPrintText) { + profile = "CenterPrintTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 0"; + extent = "546 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new ShellFieldCtrl(bottomPrintDlg) { + profile = "GuiChatBackProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "45 375"; + extent = "550 56"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(BottomPrintText) { + profile = "CenterPrintTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 0"; + extent = "546 36"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudZoom(ZoomHud) { + profile = "ZoomHudProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "8 8"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + }; + new ShellFieldCtrl(metricsMain) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "10 160"; + extent = "242 275"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(title) { + profile = "CenterPrintTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "63 7"; + extent = "110 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Mapper Metrics"; + longTextBuffer = "0"; + maxLength = "255"; + lineSpacing = "2"; + maxChars = "-1"; + allowColorChars = "0"; + }; + new GuiTextCtrl(ThreeSpacePolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 148"; + extent = "85 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TS Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(InteriorPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 118"; + extent = "98 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Interior Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TerrainPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 88"; + extent = "99 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Terrain Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TotalPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 226"; + extent = "101 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Scene Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(WaterPolysText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 178"; + extent = "127 20"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Water Polys: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(FrameRateText) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 40"; + extent = "87 26"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Frame Rate: "; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiConsoleVariableCtrl(frameRate) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 40"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$FPS::Real"; + }; + new GuiConsoleVariableCtrl(ThreeSpacePolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 148"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount3"; + }; + new GuiConsoleVariableCtrl(InteriorPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 118"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount2"; + }; + new GuiConsoleVariableCtrl(TerrainPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 88"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount1"; + }; + new GuiConsoleVariableCtrl(TotalPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 226"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$OpenGL::triCount"; + }; + new GuiConsoleVariableCtrl(WaterPolys) { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 179"; + extent = "70 25"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + expression = "$Water::triCount"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new GuiControl(helpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "66 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "OBJECTIVES"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "31 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "CHAT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "43 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "ENERGY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "55 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMPASS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "1"; + }; + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "48 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "DAMAGE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "44 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "RETICLE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "62 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "INVENTORY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "54 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "WEAPONS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 16"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "1"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + minExtent = "5 5"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1"; + flip = "0"; + }; + }; + new ShellPaneCtrl(siegeHalftimeHud) { + profile = "ShellPaneProfile"; + horizSizing = "relative"; + vertSizing = "height"; + position = "296 4"; + extent = "340 472"; + minExtent = "48 92"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "HALFTIME"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellFieldCtrl() { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "261 4"; + extent = "54 18"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new HudClock(SiegeHalftimeClock) { + profile = "SiegeHalftimeClockProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "-6 -3"; + extent = "65 23"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fillColor = "0.250000 0.250000 0.250000 0.250000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + opacity = "1.0"; + bitmap = "gui/hud_mistimer.png"; + autoCenter = "0"; + autoResize = "0"; + flipVertical = "0"; + flipHorizontal = "0"; + subRegion = "0 2 65 15"; + }; + }; + new ShellFieldCtrl(SiegeHalftimeHeader) { + profile = "GuiChatBackProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "21 32"; + extent = "298 24"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + new GuiMLTextCtrl(SiegeHalftimeHeaderText) { + profile = "DebriefHeadlineTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "25 35"; + extent = "290 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "255"; + deniedSound = "InputDeniedSound"; + }; + new ShellScrollCtrl(SiegeHalftimeScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "18 130"; + extent = "304 323"; + minExtent = "24 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/hud_new_window"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 7"; + extent = "290 309"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(SiegeHalftimeText) { + profile = "DebriefTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "274 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/RecordingsDlg.gui b/public/base/@vl2/scripts.vl2/gui/RecordingsDlg.gui new file mode 100644 index 00000000..255a8df6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/RecordingsDlg.gui @@ -0,0 +1,140 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(RecordingsDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "60 61"; + extent = "530 360"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "SELECT RECORDING"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellFancyArrayScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "center"; + vertSizing = "height"; + position = "23 37"; + extent = "484 266"; + minExtent = "32 32"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new ShellFancyTextList(RecordingsDlgList) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "464 262"; + minExtent = "8 20"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + startScrollRegion = "3 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "19"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "1"; + noSelect = "0"; + allowColorChars = "1"; + altCommand = "startSelectedDemo();"; + }; + }; + new ShellBitmapButton(PR_CancelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "386 304"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "Canvas.popDialog(RecordingsDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(PR_StartDemoBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "16 304"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "StartSelectedDemo();"; + helpTag = "0"; + text = "PLAY"; + simpleStyle = "0"; + }; + new ShellBitmapButton(PR_DeleteDemoBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "134 304"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "DeleteSelectedDemo();"; + helpTag = "0"; + text = "DELETE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(PR_RenameDemoBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "252 304"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "RenameSelectedDemo();"; + helpTag = "0"; + text = "RENAME"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/RemapDlg.gui b/public/base/@vl2/scripts.vl2/gui/RemapDlg.gui new file mode 100644 index 00000000..6a640f4f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/RemapDlg.gui @@ -0,0 +1,48 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(RemapDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "1"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(RemapFrame) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "71 172"; + extent = "498 126"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "REMAP"; + + new GuiMLTextCtrl(RemapText) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "49 47"; + extent = "400 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new GuiInputCtrl(RemapInputCtrl) { + profile = "GuiInputCtrlProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ServerInfoDlg.gui b/public/base/@vl2/scripts.vl2/gui/ServerInfoDlg.gui new file mode 100644 index 00000000..ff8e527d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ServerInfoDlg.gui @@ -0,0 +1,146 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ServerInfoDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellWindowCtrl(SI_Window) { + profile = "ShellWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 105"; + extent = "350 270"; + minExtent = "200 200"; + visible = "1"; + helpTag = "0"; + text = "INFO"; + frameBase = "gui/window"; + borderWidth = "2"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + closeCommand = "Canvas.popDialog(ServerInfoDlg);"; + + new GuiFrameSetCtrl(SI_Frame) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "7 32"; + extent = "336 202"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + columns = "0"; + rows = "0 130"; + borderWidth = "4"; + borderColor = "25 68 56 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + fudgeFactor = "4"; + + new ShellScrollCtrl(SI_InfoScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "336 96"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 7"; + extent = "306 88"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(SI_InfoWindow) { + profile = "ShellAltTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "306 52"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + }; + }; + }; + new ShellScrollCtrl(SI_ContentScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 100"; + extent = "336 162"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 7"; + extent = "306 174"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(SI_ContentWindow) { + profile = "InfoWindowProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "306 52"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + }; + }; + }; + }; + new ShellBitmapButton(SI_RefreshBtn) { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "105 230"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "SI_RefreshBtn.setActive(false); GMJ_Browser.refreshSelectedServer();"; + helpTag = "0"; + text = "REFRESH"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ShellLoadFileDlg.gui b/public/base/@vl2/scripts.vl2/gui/ShellLoadFileDlg.gui new file mode 100644 index 00000000..7fbde8f2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ShellLoadFileDlg.gui @@ -0,0 +1,98 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ShellLoadFileDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(LOAD_Title) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "135 95"; + extent = "370 290"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "LOAD FILE"; + noTitleBar = "0"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "47 33"; + extent = "276 200"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "262 186"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(LOAD_FileList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "268 8"; + minExtent = "8 8"; + visible = "1"; + altCommand = "Canvas.popDialog(ShellLoadFileDlg);"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0 275"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "38 235"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ShellLoadFileDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(LOAD_LoadBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "204 235"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ShellLoadFileDlg);"; + helpTag = "0"; + text = "LOAD"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/ShellSaveFileDlg.gui b/public/base/@vl2/scripts.vl2/gui/ShellSaveFileDlg.gui new file mode 100644 index 00000000..ba926b50 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/ShellSaveFileDlg.gui @@ -0,0 +1,125 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ShellSaveFileDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(SAVE_Title) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "135 95"; + extent = "370 290"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "SAVE FILE"; + noTitleBar = "0"; + + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "61 208"; + extent = "60 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "File Name:"; + }; + new ShellTextEditCtrl(SAVE_FileName) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 200"; + extent = "184 38"; + minExtent = "32 38"; + visible = "1"; + command = "SAVE_FileName.checkValid();"; + altCommand = "Canvas.popDialog(ShellSaveFileDlg);"; + helpTag = "0"; + historySize = "0"; + maxLength = "32"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "38 235"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ShellSaveFileDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(SAVE_SaveBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "204 235"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(ShellSaveFileDlg);"; + helpTag = "0"; + text = "SAVE"; + simpleStyle = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "47 33"; + extent = "276 169"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "262 155"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(SAVE_FileList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "268 8"; + minExtent = "8 8"; + visible = "1"; + altCommand = "SAVE_FileList.onDoubleClick();"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0 275"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/SinglePlayerEscapeDlg.gui b/public/base/@vl2/scripts.vl2/gui/SinglePlayerEscapeDlg.gui new file mode 100644 index 00000000..4eb3252d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/SinglePlayerEscapeDlg.gui @@ -0,0 +1,66 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(SinglePlayerEscapeDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "226 151"; + extent = "188 178"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "PAUSE"; + noTitleBar = "0"; + + new ShellBitmapButton(SinglePlayerEscLeaveBtn) { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "30 31"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "SinglePlayerEscapeDlg.leaveGame();"; + helpTag = "0"; + text = "LEAVE GAME"; + simpleStyle = "0"; + }; + new ShellBitmapButton(SinglePlayerEscSettingsBtn) { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "30 66"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "SinglePlayerEscapeDlg.gotoSettings();"; + helpTag = "0"; + text = "SETTINGS"; + simpleStyle = "0"; + }; + new ShellBitmapButton(SinglePlayerEscReturnBtn) { + profile = "ShellButtonProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "30 123"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + command = "SinglePlayerEscapeDlg.returnToGame();"; + accelerator = "escape"; + helpTag = "0"; + text = "RESUME GAME"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowDetailControlDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowDetailControlDlg.gui new file mode 100644 index 00000000..353ee59a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowDetailControlDlg.gui @@ -0,0 +1,133 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowDetailControlDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "False"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "195 259"; + extent = "220 140"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Detail Control"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(TSShowDetailControlDlg);"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 28"; + extent = "27 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "showToggleDetail();"; + helpTag = "0"; + text = "==>"; + }; + new GuiTextCtrl(showDetailInfoText1) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 89"; + extent = "184 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Slider Sets Detail"; + FONT = "12 244 Arial"; + justify = "center"; + }; + new GuiTextCtrl(showDetailInfoText2) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 112"; + extent = "184 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Slider Sets Detail"; + FONT = "12 244 Arial"; + justify = "center"; + }; + new GuiTextCtrl(showDetailText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 30"; + extent = "80 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Slider Sets Detail"; + FONT = "12 244 Arial"; + justify = "center"; + }; + new GuiSliderCtrl(showDetailSlider) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 57"; + extent = "153 23"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0"; + tab = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- + +$showAutoDetail = false; + +function showToggleDetail() +{ + if ($showAutoDetail) + { + showDetailText.setValue("Slider Sets Detail Level"); + showSetDetailSlider(); + $showAutoDetail = false; + } + else + { + showDetailText.setValue("Auto Detail Using Distance"); + $showAutoDetail = true; + } + +} + + diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowEditScale.gui b/public/base/@vl2/scripts.vl2/gui/TSShowEditScale.gui new file mode 100644 index 00000000..8695ee79 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowEditScale.gui @@ -0,0 +1,40 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowEditScale) +{ + profile = "GuiDefaultProfile"; + + new GuiWindowCtrl() + { + profile = "GuiWindowProfile"; + position = "100 100"; + extent = "180 100"; + text = "Edit Scale"; + + new GuiTextEditCtrl(showScale) + { + profile = "GuiTextEditProfile"; + position = "80 20"; + extent = "50 20"; + altCommand = "showSetScale(threadList.getValue(),showScale.getValue()); Canvas.popDialog(TSShowEditScale);"; + }; + + new GuiButtonCtrl () + { + profile = "GuiButtonProfile"; + position = "20 50"; + extent = "60 20"; + text = "Ok"; + command = "showSetScale(threadList.getValue(),showScale.getValue()); Canvas.popDialog(TSShowEditScale);"; + }; + + new GuiButtonCtrl () + { + profile = "GuiButtonProfile"; + position = "110 50"; + extent = "60 20"; + text = "Cancel"; + command = "Canvas.popDialog(TSShowEditScale);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowGui.gui b/public/base/@vl2/scripts.vl2/gui/TSShowGui.gui new file mode 100644 index 00000000..50da4e16 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowGui.gui @@ -0,0 +1,253 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowGui) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new ShowTSCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "800 600"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 271"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "showSetFileList(\"base/shapes\",\"dts\",\"showShapeLoad(showFileList.getValue());\"); Canvas.pushDialog(TSShowLoadDlg,99);"; + helpTag = "0"; + text = "Load Shape"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 301"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "showSetFileList(\"base/shapes\",\"dsq\",\"showSequenceLoad(showFileList.getValue());\"); Canvas.pushDialog(TSShowLoadDlg,99);"; + helpTag = "0"; + text = "Load Sequence"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 361"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(TSShowDetailControlDlg,99);"; + helpTag = "0"; + text = "Detail Control"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 390"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(TSShowLightDlg,99);"; + helpTag = "0"; + text = "Lighting"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 420"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(TSShowMiscDlg,99);"; + helpTag = "0"; + text = "Misc"; + }; + new GuiButtonCtrl(showExitButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 450"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "showPopAll(); showMoveMap.pop(); quit();"; + helpTag = "0"; + text = "Quit"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 331"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(TSShowThreadControlDlg,99); showUpdateThreadControl();"; + helpTag = "0"; + text = "Thread control"; + }; +}; +//--- OBJECT WRITE END --- + +$showMission = "emptyMission"; + +function showPopAll() +{ + Canvas.popDialog(TSShowThreadControlDlg); + Canvas.popDialog(TSShowTransitionDlg); + Canvas.popDialog(TSShowLoadDialog); + Canvas.popDialog(TSShowLightDlg); + Canvas.popDialog(TSShowMiscDialog); + Canvas.popDialog(TShowEditScale); + Canvas.popDialog(TSShowDetailControlDlg); +} + +function startShow() +{ + + $ServerName = "show"; + CreateServer("emptyMission", "ctf"); + localConnect(); + Canvas.setContent(TSShowGui); + +// if (!$missionRunning) +// { +// DestroyServer(); +// $missionSequence = 0; +// new SimGroup( ServerGroup); +// loadMission($showMission, true); +// localConnect(); +// } +// +// allowConnections(false); +} + +function showSetSpeed(%speed) +{ + if(%speed) + $showMovementSpeed = %speed; +} + +function showMoveleft(%val) +{ + $showLeftAction = %val; +} + +function showMoveright(%val) +{ + $showRightAction = %val; +} + +function showMoveforward(%val) +{ + $showForwardAction = %val; +} + +function showMovebackward(%val) +{ + $showBackwardAction = %val; +} + +function showMoveup(%val) +{ + $showUpAction = %val; +} + +function showMovedown(%val) +{ + $showDownAction = %val; +} + +function showYaw(%val) +{ + $showYaw += %val * 0.01; +} + +function showPitch(%val) +{ + $showPitch += %val * 0.01; +} + +function toggleMouse() +{ + if(Canvas.isCursorOn()) + CursorOff(); + else + CursorOn(); +} + +function TSShowGui::onWake(%this) +{ + if ( !Canvas.isCursorOn() ) + CursorOn(); + GlobalActionMap.bindcmd(keyboard, "tab", "", "toggleMouse();"); + showMoveMap.push(); +} + +function TSShowGui::onSleep(%this) +{ + GlobalActionMap.unbind(keyboard, "tab"); + showMoveMap.pop(); + lockMouse(false); + CursorOn(); +} + +new ActionMap(showMoveMap); +showMoveMap.bind(keyboard, a, showMoveleft); +showMoveMap.bind(keyboard, d, showMoveright); +showMoveMap.bind(keyboard, w, showMoveforward); +showMoveMap.bind(keyboard, s, showMovebackward); +showMoveMap.bind(keyboard, e, showMoveup); +showMoveMap.bind(keyboard, c, showMovedown); +showMoveMap.bind(keyboard, z, showTurnLeft); +showMoveMap.bind(keyboard, x, showTurnRight); + +showMoveMap.bind(keyboard, 1, S, 0.10, showSetSpeed); +showMoveMap.bind(keyboard, 2, S, 0.25, showSetSpeed); +showMoveMap.bind(keyboard, 3, S, 0.50, showSetSpeed); +showMoveMap.bind(keyboard, 4, S, 1.00, showSetSpeed); +showMoveMap.bind(keyboard, 5, S, 1.50, showSetSpeed); +showMoveMap.bind(keyboard, 6, S, 2.00, showSetSpeed); +showMoveMap.bind(keyboard, 7, S, 3.00, showSetSpeed); +showMoveMap.bind(keyboard, 8, S, 5.00, showSetSpeed); +showMoveMap.bind(keyboard, 9, S, 10.00, showSetSpeed); +showMoveMap.bind(keyboard, 0, S, 20.00, showSetSpeed); + +showMoveMap.bind(mouse, xaxis, showYaw); +showMoveMap.bind(mouse, yaxis, showPitch); + diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowLightDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowLightDlg.gui new file mode 100644 index 00000000..db80b5db --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowLightDlg.gui @@ -0,0 +1,181 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl (TSShowLightDlg) +{ + profile = "DialogProfile"; + modal = false; + + new GuiWindowCtrl() + { + profile = "GuiWindowProfile"; + closeCommand = "Canvas.popDialog(TSShowLightDlg);"; + position = "20 20"; + extent = "150 400"; + text = "Light Control"; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 30"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Environment mapping:"; + }; + + new GuiSliderCtrl( "emapAlpha") + { + profile = "GuiSliderProfile"; + position = "20 50"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.0; + ticks = 5; + }; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 70"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Ambient Red:"; + }; + + new GuiSliderCtrl( "ambR") + { + profile = "GuiSliderProfile"; + position = "20 90"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.5; + ticks = 5; + }; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 110"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Ambient Green:"; + }; + + new GuiSliderCtrl( "ambG") + { + profile = "GuiSliderProfile"; + position = "20 130"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.5; + ticks = 5; + }; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 150"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Ambient Blue:"; + }; + + new GuiSliderCtrl( "ambB") + { + profile = "GuiSliderProfile"; + position = "20 170"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.5; + ticks = 5; + }; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 190"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Directional Red:"; + }; + + new GuiSliderCtrl( "diffR") + { + profile = "GuiSliderProfile"; + position = "20 210"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.5; + ticks = 5; + }; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 230"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Directional Green:"; + }; + + new GuiSliderCtrl( "diffG") + { + profile = "GuiSliderProfile"; + position = "20 250"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.5; + ticks = 5; + }; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 270"; + extent = "50 16"; + font = "12 244 Arial"; + justify = "center"; + text = "Directional Blue:"; + }; + + new GuiSliderCtrl( "diffB") + { + profile = "GuiSliderProfile"; + position = "20 290"; + extent = "100 20"; + tab = "true"; + range = "0.0 1.0"; + value = 0.5; + ticks = 5; + }; + + new GuiButtonCtrl () + { + profile = "GuiButtonProfile"; + position = "40 330"; + extent = "60 20"; + text = "Set Direction"; + command = "showSetLightDirection();"; + }; + + new GuiButtonCtrl () + { + profile = "GuiButtonProfile"; + position = "40 360"; + extent = "60 20"; + text = "OK"; + command = "Canvas.popDialog(TSShowLightDlg);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowLoadDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowLoadDlg.gui new file mode 100644 index 00000000..b0434489 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowLoadDlg.gui @@ -0,0 +1,112 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowLoadDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 100"; + extent = "180 240"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Load"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(TSShowLoadDlg);"; + + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 35"; + extent = "140 160"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "120 158"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(showFileList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "eval($showFileCommand); Canvas.popDialog(TSShowLoadDlg);"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0"; + noDuplicates = "false"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 205"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "eval($showFileCommand); Canvas.popDialog(TSShowLoadDlg);"; + helpTag = "0"; + text = "Load"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 205"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(TSShowLoadDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowMiscDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowMiscDlg.gui new file mode 100644 index 00000000..36a7416d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowMiscDlg.gui @@ -0,0 +1,121 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowMiscDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "False"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "140 220"; + extent = "190 240"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Misc"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(TSShowMiscDlg);"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 30"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showToggleRoot();"; + helpTag = "0"; + text = "Toggle Animate Ground"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 65"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showToggleStick();"; + helpTag = "0"; + text = "Toggle Stick To Ground"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 100"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showSetKeyboard(true); showSetCamera(true);"; + helpTag = "0"; + text = "Keyboard Controls Shape"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 135"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showSetKeyboard(false);"; + helpTag = "0"; + text = "Keyboard Controls Camera"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 170"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showSetCamera(true); showSetKeyboard(false);"; + helpTag = "0"; + text = "Camera Orbits Shape"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 205"; + extent = "150 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showSetCamera(false); showSetKeyboard(false);"; + helpTag = "0"; + text = "Camera Moves Freely"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowThreadControlDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowThreadControlDlg.gui new file mode 100644 index 00000000..c779ece6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowThreadControlDlg.gui @@ -0,0 +1,288 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowThreadControlDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "False"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "451 403"; + extent = "327 187"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Thread Control"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(TSShowThreadControlDlg);"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 30"; + extent = "42 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Threads:"; + FONT = "12 244 Arial"; + justify = "center"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 50"; + extent = "50 100"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "30 98"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(threadList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "50 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showUpdateThreadControl();"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0"; + noDuplicates = "false"; + }; + }; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 30"; + extent = "57 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Sequences:"; + FONT = "12 244 Arial"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 50"; + extent = "150 100"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + text = "Sequences:"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "130 80"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiTextListCtrl(sequenceList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "150 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showSelectSequence();"; + altCommand = "showSelectSequence();"; + helpTag = "0"; + enumerate = "False"; + resizeCell = "True"; + columns = "0"; + noDuplicates = "false"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 27"; + extent = "84 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showPlay(threadList.getValue());"; + helpTag = "0"; + text = "Play"; + }; + new GuiTextCtrl(showScaleValue) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "133 162"; + extent = "8 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + FONT = "12 244 Arial"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 47"; + extent = "84 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showStop(threadList.getValue());"; + helpTag = "0"; + text = "Stop"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 79"; + extent = "84 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "Canvas.pushDialog(TSShowTransitionDlg,199);"; + helpTag = "0"; + text = "Transition..."; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 110"; + extent = "84 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showNewThread();"; + helpTag = "0"; + text = "New Thread"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 129"; + extent = "84 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showDeleteThread(threadList.getValue());"; + helpTag = "0"; + text = "Delete Thread"; + }; + new GuiSliderCtrl(threadPosition) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 160"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0"; + tab = "true"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 161"; + extent = "84 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "showScale.setText(\"\"); Canvas.pushDialog(TSShowEditScale,199);"; + helpTag = "0"; + text = "Edit Scale"; + }; + new GuiTextCtrl(transitionSignal) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 162"; + extent = "8 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowTranDurEditDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowTranDurEditDlg.gui new file mode 100644 index 00000000..135373fa --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowTranDurEditDlg.gui @@ -0,0 +1,78 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowTranDurEditDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "260 425"; + extent = "181 87"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Edit Transition Duration"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + + new GuiTextEditCtrl(showTransitionDuration) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 25"; + extent = "50 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + altCommand = "$showTransitionDuration = showTransitionDuration.getValue(); transitionDurationText.setValue($showTransitionDuration); Canvas.popDialog(TSShowTranDurEditDlg);"; + helpTag = "0"; + historySize = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 27"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "$showTransitionDuration = showTransitionDuration.getValue(); transitionDurationText.setValue($showTransitionDuration); Canvas.popDialog(TSShowTranDurEditDlg);"; + helpTag = "0"; + text = "Ok"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 54"; + extent = "60 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "Canvas.popDialog(TSShowTranDurEditDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TSShowTransitionDlg.gui b/public/base/@vl2/scripts.vl2/gui/TSShowTransitionDlg.gui new file mode 100644 index 00000000..dfcbeefd --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TSShowTransitionDlg.gui @@ -0,0 +1,228 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TSShowTransitionDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "False"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 378"; + extent = "249 195"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Transition Control"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(TSShowTransitionDlg);"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 28"; + extent = "27 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "showToggleTransition();"; + helpTag = "0"; + text = "==>"; + }; + new GuiTextCtrl(showTransitionToText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 30"; + extent = "67 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Set Sequence"; + justify = "center"; + FONT = "12 244 Arial"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 56"; + extent = "27 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "showToggleTransitionPos();"; + helpTag = "0"; + text = "==>"; + }; + new GuiTextCtrl(showTransitionPosText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 58"; + extent = "147 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Transition To Synched Position"; + justify = "center"; + FONT = "12 244 Arial"; + }; + new GuiSliderCtrl(transitionPosition) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 125"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + variable = "value"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0"; + tab = "true"; + }; + new GuiTextCtrl(transitionDurationText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "132 170"; + extent = "14 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "0.2"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "15 159"; + extent = "85 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "Canvas.pushDialog(TSShowTranDurEditDlg);"; + helpTag = "0"; + text = "Edit Duration"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "119 152"; + extent = "42 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + text = "Duration:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 87"; + extent = "27 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "showToggleTransitionTargetPlay();"; + helpTag = "0"; + text = "==>"; + }; + new GuiTextCtrl(showTransitionTargetPlayText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 89"; + extent = "190 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Target sequence plays during transition"; + FONT = "12 244 Arial"; + justify = "center"; + }; + }; +}; +//--- OBJECT WRITE END --- + +$showTransition = false; +$showTransitionSynched = true; +$showTransitionDuration = 0.2; +$showTransitionTargetPlay = true; + +function showToggleTransitionTargetPlay() +{ + if ($showTransitionTargetPlay) + { + showTransitionTargetPlayText.setValue("Target sequence pauses during transition"); + $showTransitionTargetPlay = false; + } + else + { + showTransitionTargetPlayText.setValue("Target sequence plays during transition"); + $showTransitionTargetPlay = true; + } +} + +function showToggleTransition() +{ + if ($showTransition) + { + showTransitionToText.setValue("Set Sequence"); + $showTransition=false; + } + else + { + showTransitionToText.setValue("Transition To Sequence"); + $showTransition=true; + } +} + +function showToggleTransitionPos() +{ + if ($showTransitionSynched) + { + showTransitionPosText.setValue("Transition to Slider Position"); + $showTransitionSynched=false; + } + else + { + showTransitionPosText.setValue("Transition To Synched Position"); + $showTransitionSynched=true; + } +} diff --git a/public/base/@vl2/scripts.vl2/gui/TaskHudDlg.gui b/public/base/@vl2/scripts.vl2/gui/TaskHudDlg.gui new file mode 100644 index 00000000..96672eed --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TaskHudDlg.gui @@ -0,0 +1,84 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TaskHudDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bypassHideCursor = "1"; + + new ShellFieldCtrl() { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "8 230"; + extent = "380 204"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "TaskHudBox"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "378 19"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + + new GuiTextCtrl() { + profile = "TaskHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 2"; + extent = "60 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Issued By"; + }; + + new GuiTextCtrl() { + profile = "TaskHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "164 2"; + extent = "80 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Description"; + }; + + new GuiControl() + { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 20"; + extent = "377 200"; + + new GuiTextListCtrl(TaskList) { + profile = "TaskHudProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "377 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "2 160"; + fitParentWidth = "1"; + clipColumnText = "1"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TerraformerFullScreenGui.gui b/public/base/@vl2/scripts.vl2/gui/TerraformerFullScreenGui.gui new file mode 100644 index 00000000..74308acf --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerraformerFullScreenGui.gui @@ -0,0 +1,29 @@ +//--- OBJECT WRITE BEGIN --- +new GameTSCtrl(TerraformerFullscreenGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 541"; + extent = "100 20"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + command = "quit();"; + helpTag = "0"; + text = "Exit"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TerraformerGui.gui b/public/base/@vl2/scripts.vl2/gui/TerraformerGui.gui new file mode 100644 index 00000000..c3b7ee9e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerraformerGui.gui @@ -0,0 +1,95 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerraformerGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; +}; + +new GuiControl(TerraformerToolbarBackgroundGui) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; +}; + +//--- OBJECT WRITE END --- + +function TerraformerGui::getPrefs(%this) +{ + %this.currentView = getPrefSetting($pref::Terraformer::currentView, "HeightfieldView"); +} + +function TerraformerGui::setPrefs(%this) +{ + $pref::Terraformer::currentView = %this.currentView; +} + +function TerraformerGui::init(%this) +{ + %this.getPrefs(); + + // + if(!isObject("terraformer")) + { + echo("making a terraformer"); + new Terraformer("terraformer"); + $SelectedOperation = -1; + $NextOperationId = 1; + $HeightfieldDirtyRow = -1; + } + + TerraformerHeightfieldGui.init(); + TerraformerTextureGui.init(); +} + +function TerraformerGui::onWake(%this) +{ + if(!isObject("editor")) + %this.init(); + + %this.setView(%this.currentView); +} + +function TerraformerGui::onSleep(%this) +{ + %this.setPrefs(); +} + +function TerraformerGui::setView(%this, %view) +{ + // clear + while(%this.getCount()) + %this.remove(%this.getObject(0)); + + // + switch$(%view) + { + case "HeightfieldView": + %this.add(TerraformerHeightfieldGui); + TerraformerHeightfieldGui.refresh(); + + case "TextureView": + %this.add(TerraformerTextureGui); + TerraformerTextureGui.refresh(); + + default: + error("TerraformerGui::setView: invalid view '" @ %view @ "'"); + return; + } + + %this.add(TerraformerToolbarBackgroundGui); + %this.currentView = %view; +} diff --git a/public/base/@vl2/scripts.vl2/gui/TerraformerHeightfieldGui.gui b/public/base/@vl2/scripts.vl2/gui/TerraformerHeightfieldGui.gui new file mode 100644 index 00000000..6bc92dad --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerraformerHeightfieldGui.gui @@ -0,0 +1,2815 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerraformerHeightfieldGui) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiFrameSetCtrl(HeightfieldhRootFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 30"; + extent = "640 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0 279 374"; + rows = "0"; + borderWidth = "4"; + borderColor = "0 76 248 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiFrameSetCtrl(HeightfieldLeftFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "0 0"; + extent = "275 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0 250"; + borderWidth = "4"; + borderColor = "0 4 248 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "275 246"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiBigTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "21 -2"; + extent = "232 40"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Heightfield Editor"; + }; + new GuiScrollCtrl(HeightfieldTabParent) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 35"; + extent = "266 205"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "1"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "264 203"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl(tab_fBm) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "100 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "fBm Fractal Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 35"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + }; + new GuiTextEditSliderCtrl(fbm_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "1 24"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 60"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Roughness:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 136"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "fBm_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 110"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Random Seed:"; + }; + new GuiTextEditCtrl(fBm_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 110"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + historySize = "5"; + }; + new GuiTextEditSliderCtrl(fbm_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 60"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "128 85"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Detail:"; + }; + new GuiPopUpMenuCtrl(fbm_detail) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 85"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxPopupHeight = "200"; + }; + }; + new GuiControl(tab_RMF) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "125 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Rigid MultiFractal Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 35"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 137"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "rmf_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 60"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Roughness:"; + }; + new GuiTextEditSliderCtrl(rmf_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "1 16"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 111"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Random Seed"; + }; + new GuiTextEditCtrl(rmf_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 110"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + historySize = "5"; + }; + new GuiTextEditSliderCtrl(rmf_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 60"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "128 85"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Detail:"; + }; + new GuiPopUpMenuCtrl(rmf_detail) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 85"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxPopupHeight = "200"; + }; + }; + new GuiControl(tab_Canyon) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "118 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Canyon Fractal Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 61"; + extent = "34 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Chaos:"; + }; + new GuiTextEditSliderCtrl(canyon_freq) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "4 10"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 35"; + extent = "95 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Canyon Frequency:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 114"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "canyon_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "88 89"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Random Seed:"; + }; + new GuiTextEditCtrl(canyon_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 89"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + historySize = "5"; + }; + new GuiTextEditSliderCtrl(canyon_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 62"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_Smooth) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "95 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Smoothing Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Agressiveness:"; + }; + new GuiTextEditSliderCtrl(smooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Iterations:"; + }; + new GuiTextEditSliderCtrl(smooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_SmoothWater) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "154 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Water Area Smoothing Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Agressiveness:"; + }; + new GuiTextEditSliderCtrl(watersmooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Iterations:"; + }; + new GuiTextEditSliderCtrl(watersmooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_SmoothRidge) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "152 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Ridge Area Smoothing Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Agressiveness:"; + }; + new GuiTextEditSliderCtrl(Ridgesmooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Iterations:"; + }; + new GuiTextEditSliderCtrl(Ridgesmooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_Filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "101 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Height Filter Settings:"; + }; + new GuiFilterCtrl(filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 29"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "154 84"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Result"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 167"; + extent = "23 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Input"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 160"; + extent = "16 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "min"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 160"; + extent = "20 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "max"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "150 142"; + extent = "16 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "min"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "150 28"; + extent = "20 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "max"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "189 139"; + extent = "61 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "filter.controlPoints"; + command = "filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + historySize = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "187 118"; + extent = "66 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Control Points"; + }; + }; + new GuiControl(tab_Turbulence) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "99 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Turbulence Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 34"; + extent = "91 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Turbulence Factor:"; + }; + new GuiTextEditSliderCtrl(turbulence_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 61"; + extent = "81 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Radius of Effect:"; + }; + new GuiTextEditSliderCtrl(turbulence_radius) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 61"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "1 40"; + increment = "1"; + }; + }; + new GuiControl(tab_Thermal) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "122 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Thermal Erosion Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Iterations:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 91"; + extent = "80 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Material Loss %:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 63"; + extent = "139 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Min Erosion Slope (degrees):"; + }; + new GuiTextEditSliderCtrl(thermal_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 36"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 50"; + increment = "1"; + }; + new GuiTextEditSliderCtrl(thermal_slope) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%2.1f"; + range = "0 89"; + increment = "0.1"; + }; + new GuiTextEditSliderCtrl(thermal_cons) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 90"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%2.1f"; + range = "0 100"; + increment = "0.1"; + }; + }; + new GuiControl(tab_Hydraulic) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "259 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "129 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Hydraulic Erosion Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 34"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Iterations:"; + }; + new GuiFilterCtrl(hydraulic_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 57"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextEditSliderCtrl(hydraulic_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 50"; + increment = "1"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 161"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "hydraulic_filter.controlPoints"; + command = "hydraulic_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + historySize = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 141"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Control Points:"; + }; + }; + new GuiControl(tab_Sinus) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "259 199"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "72 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Sinus Settings:"; + }; + new GuiFilterCtrl(sinus_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 64"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.176920 0.833330 0.876920 0.238460 0.215380 0.166660 0.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 32"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Random Seed:"; + }; + new GuiTextEditCtrl(sinus_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "174 32"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + historySize = "5"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 66"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "sinus_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "178 171"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "sinus_filter.controlPoints"; + command = "sinus_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + historySize = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 150"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Control Points:"; + }; + }; + new GuiControl(tab_terrainFile) { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 2"; + extent = "53 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "TerrainFile:"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 20"; + extent = "262 180"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + + new GuiScrollContentCtrl() { + profile = "GuiScrollContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "242 178"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextListCtrl(terrainFile_textList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "terrainFile_terrFileText.setValue(\"terrains/\" @ terrainFile_textList.getRowTextById(terrainFile_textList.getSelectedId()));Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + }; + }; + }; + new GuiTextCtrl(terrainFile_terrFileText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 2"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; + new GuiControl(tab_General) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "General Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 53"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Height Range:"; + }; + new GuiTextEditSliderCtrl(general_scale) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 52"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "5 500"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 53"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "meters"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "29 93"; + extent = "74 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Water Level %:"; + }; + new GuiSliderCtrl(general_water) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 113"; + extent = "200 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "value"; + command = "general_water_meters.setValue(general_water.getValue()*general_scale.getValue()+general_min_height.getValue() @ \" meters\");Heightfield::saveTab();Heightfield::preview();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0"; + }; + new GuiTextCtrl(general_water_meters) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 93"; + extent = "42 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "0 meters"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 158"; + extent = "135 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::center();"; + helpTag = "0"; + text = "Center on Camera"; + }; + new GuiTextCtrl(general_centerx) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "8 18"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + }; + new GuiTextCtrl(general_centery) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "8 18"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 28"; + extent = "89 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Min Terrain Height:"; + }; + new GuiTextEditSliderCtrl(general_min_height) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 27"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + format = "%1.0f"; + range = "0 500"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 28"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "meters"; + }; + }; + new GuiControl(tab_Bitmap) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "76 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Bitmap settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 43"; + extent = "45 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Filename:"; + }; + new GuiTextCtrl(bitmap_name) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 43"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiButtonCtrl(bitmap_choose) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 65"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Heightfield::setBitmap();"; + helpTag = "0"; + text = "Choose..."; + }; + }; + new GuiControl(tab_Blend) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(blend_option) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 118"; + extent = "82 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "Add"; + maxPopupHeight = "200"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Blend settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 31"; + extent = "34 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Factor:"; + }; + new GuiSliderCtrl(blend_factor) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "49 29"; + extent = "200 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "value"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0.4"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 64"; + extent = "49 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Source A:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 156"; + extent = "205 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "result = (A*factor) operation (B*(1-factor))"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 91"; + extent = "48 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Source B:"; + }; + new GuiTextEditCtrl(blend_srcB) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 89"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "1"; + historySize = "5"; + }; + new GuiTextCtrl(blend_srcA) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 65"; + extent = "92 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Previous Operation"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 118"; + extent = "50 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Operation:"; + }; + }; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 250"; + extent = "275 200"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Heightfield_options) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Options"; + maxPopupHeight = "200"; + setText = "false"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::onDelete();"; + helpTag = "0"; + text = "Delete"; + }; + new GuiScrollCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 27"; + extent = "266 166"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + + new GuiScrollContentCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "264 164"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextListCtrl(Heightfield_operation) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "12 16"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + }; + }; + }; + }; + }; + new GuiFrameSetCtrl(HeightfieldCenterFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "279 0"; + extent = "91 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0"; + borderWidth = "4"; + borderColor = "0 4 248 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "91 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "4 2"; + extent = "82 445"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 27"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load(Lush);"; + helpTag = "0"; + text = "Lush"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 52"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load(Swamp);"; + helpTag = "0"; + text = "Swamp"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 77"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load(BadLands);"; + helpTag = "0"; + text = "BadLands"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 102"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load(Ice);"; + helpTag = "0"; + text = "Ice"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 127"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load(Desert);"; + helpTag = "0"; + text = "Desert"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 152"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load(Lava);"; + helpTag = "0"; + text = "Lava"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 400"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::saveTab();TerraformerGui.setView(TextureView);"; + helpTag = "0"; + text = "Texture"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 275"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::apply();"; + helpTag = "0"; + text = "Apply"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 332"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::save();"; + helpTag = "0"; + text = "Save"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 309"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Heightfield::load();"; + helpTag = "0"; + text = "Load"; + }; + new GuiButtonCtrl(ExportHeightfield) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 355"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Export"; + }; + }; + }; + }; + new GuiFrameSetCtrl(HeightfieldRightFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "374 0"; + extent = "266 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0 266"; + borderWidth = "2"; + borderColor = "0 4 248 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "266 264"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTerrPreviewCtrl(HeightfieldPreview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 266"; + extent = "266 184"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GameTSCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 4"; + extent = "255 174"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +function tab_Blend::reset(%this) +{ + blend_option.clear(); + blend_option.add("Add", 0); + blend_option.add("Subtract", 1); + blend_option.add("Max", 2); + blend_option.add("Min", 3); + blend_option.add("Multiply", 4); +} + +function tab_fBm::reset(%this) +{ + fBm_detail.clear(); + fBm_detail.add("Very Low", 0); + fBm_detail.add("Low", 1); + fBm_detail.add("Normal", 2); + fBm_detail.add("High", 3); + fBm_detail.add("Very High", 4); +} + +function tab_RMF::reset(%this) +{ + rmf_detail.clear(); + rmf_detail.add("Very Low", 0); + rmf_detail.add("Low", 1); + rmf_detail.add("Normal", 2); + rmf_detail.add("High", 3); + rmf_detail.add("Very High", 4); +} + +function tab_terrainFile::reset(%this) +{ + // update tab controls.. + terrainFile_textList.clear(); + + %filespec = "terrains/*.ter"; + for(%file = findFirstFile(%filespec); %file !$= ""; %file = findNextFile(%filespec)) + terrainFile_textList.addRow(%i++, fileBase(%file) @ fileExt(%file)); +} + +//-------------------------------------- + +function Heightfield::resetTabs() +{ + tab_terrainFile.reset(); + tab_fbm.reset(); + tab_rmf.reset(); +// tab_canyon.reset(); +// tab_smooth.reset(); +// tab_smoothWater.reset(); +// tab_smoothRidge.reset(); +// tab_filter.reset(); +// tab_turbulence.reset(); +// tab_thermal.reset(); +// tab_hydraulic.reset(); +// tab_general.reset(); +// tab_bitmap.reset(); + tab_blend.reset(); +// tab_sinus.reset(); +} + +//-------------------------------------- +function TerraformerHeightfieldGui::init(%this) +{ + Heightfield_options.clear(); + Heightfield_options.setText("Operation"); + Heightfield_options.add("fBm Fractal",0); + Heightfield_options.add("Rigid MultiFractal",1); + Heightfield_options.add("Canyon Fractal",2); + Heightfield_options.add("Sinus",3); + Heightfield_options.add("Bitmap",4); + Heightfield_options.add("Turbulence",5); + Heightfield_options.add("Smoothing",6); + Heightfield_options.add("Smooth Water",7); + Heightfield_options.add("Smooth Ridges/Valleys", 8); + Heightfield_options.add("Filter",9); + Heightfield_options.add("Thermal Erosion",10); + Heightfield_options.add("Hydraulic Erosion",11); + Heightfield_options.add("Blend",12); + Heightfield_options.add("Terrain File",13); + + Heightfield::resetTabs(); + %this.refresh(); +} + +function TerraformerHeightfieldGui::refresh(%this) +{ + if (Heightfield_operation.rowCount() == 0) + { + Heightfield_operation.clear(); + %id1 = Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); + Heightfield_operation.setSelectedById(%id1); + } + + Heightfield::resetTabs(); + Heightfield::preview(); +} + +//-------------------------------------- +function Heightfield_options::onSelect(%this, %_id, %text) +{ + Heightfield_options.setText("Operation"); + %id = -1; + + %rowCount = Heightfield_operation.rowCount(); + + // FORMAT + // item name + // tab name + // control name + // control value + switch$(%text) + { + case "Terrain File": + %id = HeightField::add("Terrain File\ttab_terrainFile\tterrainFile_terrFileText\tterrains/terr1.ter\tterrainFile_textList\tterr1.ter"); + + case "fBm Fractal": + %id = Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t" @ terraformer.generateSeed()); + + case "Rigid MultiFractal": + %id = Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t" @ terraformer.generateSeed()); + + case "Canyon Fractal": + %id = Heightfield::add("Canyon Fractal\ttab_Canyon\tcanyon_freq\t5\tcanyon_factor\t0.500\tcanyon_seed\t" @ terraformer.generateSeed()); + + case "Sinus": + %id = Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1 0.83333 0.6666 0.5 0.33333 0.16666 0\tsinus_seed\t" @ terraformer.generateSeed()); + + case "Bitmap": + %id = Heightfield::add("Bitmap\ttab_Bitmap\tbitmap_name\t"); + Heightfield::setBitmap(); + } + + + if (Heightfield_operation.rowCount() >= 1) + { + switch$(%text) + { + case "Smoothing": + %id = Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t0"); + + case "Smooth Water": + %id = Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.500\twatersmooth_iter\t0"); + + case "Smooth Ridges/Valleys": + %id = Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.8500\tridgesmooth_iter\t1"); + + case "Filter": + %id = Heightfield::add("Filter\ttab_Filter\tfilter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1"); + + case "Turbulence": + %id = Heightfield::add("Turbulence\ttab_Turbulence\tturbulence_factor\t0.250\tturbulence_radius\t10"); + + case "Thermal Erosion": + %id = Heightfield::add("Thermal Erosion\ttab_Thermal\tthermal_slope\t30\tthermal_cons\t80.0\tthermal_iter\t0"); + + case "Hydraulic Erosion": + %id = Heightfield::add("Hydraulic Erosion\ttab_Hydraulic\thydraulic_iter\t0\thydraulic_filter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1"); + } + } + + if (Heightfield_operation.rowCount() >= 2) + { + if("Blend" $= %text) + %id = Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.500\tblend_srcB\t" @ %rowCount-2 @"\tblend_option\tadd"); + } + + + // select it + if (%id != -1) + Heightfield_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Heightfield::eval(%id) +{ + if (%id == -1) + return; + + %data = restWords(Heightfield_operation.getRowTextById(%id)); + %label = getField(%data,0); + %row = Heightfield_operation.getRowNumById(%id); + + echo("Heightfield::eval:" @ %row @ " " @ %label ); + + switch$(%label) + { + case "General": + if (Terrain.squareSize>0) %size = Terrain.squareSize; + else %size = 8; + terraformer.setTerrainInfo( 256, %size, getField(%data,3), getField(%data,5), getField(%data,7) ); + terraformer.setShift( getField(%data,9), getField(%data,11) ); + terraformer.terrainData(%row); + + case "Terrain File": + terraformer.terrainFile(%row, getField(%data,3)); + + case "fBm Fractal": + terraformer.fBm( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) ); + + case "Sinus": + terraformer.sinus( %row, getField(%data,3), getField(%data,5) ); + + case "Rigid MultiFractal": + terraformer.rigidMultiFractal( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) ); + + case "Canyon Fractal": + terraformer.canyon( %row, getField(%data,3), getField(%data,5), getField(%data,7) ); + + case "Smoothing": + terraformer.smooth( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Smooth Water": + terraformer.smoothWater( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Smooth Ridges/Valleys": + terraformer.smoothRidges( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Filter": + terraformer.filter( %row-1, %row, getField(%data,3) ); + + case "Turbulence": + terraformer.turbulence( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Thermal Erosion": + terraformer.erodeThermal( %row-1, %row, getField(%data,3), getField(%data,5),getField(%data,7) ); + + case "Hydraulic Erosion": + terraformer.erodeHydraulic( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Bitmap": + terraformer.loadGreyscale(%row, getField(%data,3)); + + case "Blend": + %rowCount = Heightfield_operation.rowCount(); + if(%rowCount > 2) + { + %a = Heightfield_operation.getRowNumById(%id)-1; + %b = getField(%data, 5); + echo("Blend: " @ %data); + echo("Blend: " @ getField(%data,3) @ " " @ getField(%data,7)); + if(%a < %rowCount || %a > 0 || %b < %rowCount || %b > 0 ) + terraformer.blend(%a, %b, %row, getField(%data,3), getField(%data,7) ); + else + echo("Heightfield Editor: Blend parameters out of range."); + } + } + +} + +//-------------------------------------- +function Heightfield::add(%entry) +{ + Heightfield::saveTab(); + Heightfield::hideTab(); + + %id = $NextOperationId++; + if ($selectedOperation != -1) + { + %row = Heightfield_operation.getRowNumById($selectedOperation) + 1; + %entry = %row @ " " @ %entry; + Heightfield_operation.addRow(%id, %entry, %row); // insert + + // adjust row numbers + for(%i = %row+1; %i < Heightfield_operation.rowCount(); %i++) + { + %id = Heightfield_operation.getRowId(%i); + %text = Heightfield_operation.getRowTextById(%id); + %text = setWord(%text, 0, %i); + Heightfield_operation.setRowById(%id, %text); + } + } + else + { + %entry = Heightfield_operation.rowCount() @ " " @ %entry; + Heightfield_operation.addRow(%id, %entry); // add to end + } + + %row = Heightfield_operation.getRowNumById(%id); + if (%row <= $HeightfieldDirtyRow) + $HeightfieldDirtyRow = %row; + return %id; +} + + +//-------------------------------------- +function Heightfield::onDelete(%id) +{ + if (%id $= "") + %id = $selectedOperation; + + %row = Heightfield_operation.getRowNumById(%id); + + // don't delete the first entry + if (%row == 0) + return; + + Heightfield_operation.removeRow(%row); + + // adjust row numbers + for(%i = %row; %i < Heightfield_operation.rowCount(); %i++) + { + %id2 = Heightfield_operation.getRowId(%i); + %text = Heightfield_operation.getRowTextById(%id2); + %text = setWord(%text, 0, %i); + Heightfield_operation.setRowById(%id2, %text); + } + + // adjust the Dirty Row position + if ($HeightfieldDirtyRow >= %row) + $HeightfieldDirtyRow = %row; + + // find the next row to select + %rowCount = Heightfield_operation.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedOperation) + $selectedOperation = -1; + + %id = Heightfield_operation.getRowId(%row); + Heightfield_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Heightfield_operation::onSelect(%this, %id, %text) +{ + Heightfield::saveTab(); + Heightfield::hideTab(); + + $selectedOperation = %id; + Heightfield::restoreTab($selectedOperation); + Heightfield::showTab($selectedOperation); + Heightfield::preview($selectedOperation); +} + + +//-------------------------------------- +function Heightfield::restoreTab(%id) +{ + if (%id == -1) + return; + + Heightfield::hideTab(); + + %data = restWords(Heightfield_operation.getRowTextById(%id)); + + %fieldCount = getFieldCount(%data); + for (%field=2; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %obj.setValue( getField(%data, %field+1) ); + } +} + + +//-------------------------------------- +function Heightfield::saveTab() +{ + if ($selectedOperation == -1) + return; + + %data = Heightfield_operation.getRowTextById($selectedOperation); + + %rowNum = getWord(%data, 0); + %data = restWords(%data); + %newdata = getField(%data,0) @ "\t" @ getField(%data,1); + + %fieldCount = getFieldCount(%data); + for (%field=2; %field < %fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue(); + } + // keep track of the top-most dirty operation + // so we know who to evaluate later + if (%data !$= %newdata) + { + %row = Heightfield_operation.getRowNumById($selectedOperation); + if (%row <= $HeightfieldDirtyRow && %row > 0) + $HeightfieldDirtyRow = %row; + } + + Heightfield_operation.setRowById($selectedOperation, %rowNum @ " " @ %newdata); +} + + +//-------------------------------------- +function Heightfield::preview(%id) +{ + %rowCount = Heightfield_operation.rowCount(); + if (%id $= "") + %id = Heightfield_operation.getRowId(%rowCount-1); + + %row = Heightfield_operation.getRowNumById(%id); + + Heightfield::refresh(%row); + terraformer.previewScaled(HeightfieldPreview, %row); +} + + +//-------------------------------------- +function Heightfield::refresh(%last) +{ + if (%last $= "") + %last = Heightfield_operation.rowCount()-1; + + // always update the general info + Heightfield::eval(Heightfield_operation.getRowId(0)); + + for( 0; $HeightfieldDirtyRow<=%last; $HeightfieldDirtyRow++) + { + %id = Heightfield_operation.getRowId($HeightfieldDirtyRow); + Heightfield::eval(%id); + } +} + + +//-------------------------------------- +function Heightfield::apply(%id) +{ + %rowCount = Heightfield_operation.rowCount(); + if (%rowCount < 1) + return; + if (%id $= "") + %id = Heightfield_operation.getRowId(%rowCount-1); + + %row = Heightfield_operation.getRowNumById(%id); + + HeightfieldPreview.setRoot(); + Heightfield::refresh(%row); + terraformer.setTerrain(%row); + + terraformer.setCameraPosition(0,0,0); +} + +//-------------------------------------- +$TerraformerSaveRegister = 0; +function Heightfield::saveBitmap(%name) +{ + if(%name $= "") + getSaveFilename("terrains/heightfield/*png", "Heightfield::doSaveBitmap"); + else + Heightfield::doSaveBitmap(%name); +} + +function Heightfield::doSaveBitmap(%name) +{ + terraformer.saveGreyscale($TerraformerSaveRegister, %name); +} + +//-------------------------------------- +function Heightfield::save(%name) +{ + Heightfield::saveTab(); + if(%name $= "") + getSaveFilename("terrains/heightfield/*cs", "Heightfield::doSaveHeightfield"); + else + Heightfield::doSaveHeightfield(%name); +} + + +//-------------------------------------- +function Heightfield::doSaveHeightfield(%name) +{ + %name = fileBase(%name); + if (%name $= "") + return; + + new fileObject("saveFile"); + saveFile.openForWrite("terrains/heightfield/" @ %name @ ".cs"); + + // loop through each operation and save it to disk + %rowCount = Heightfield_operation.rowCount(); + for(%row = 0; %row < %rowCount; %row++) + { + %data = restWords(Heightfield_operation.getRowText(%row)); + %data = "Heightfield::add(\"" @ expandEscape(%data) @ "\");"; + saveFile.writeLine(%data); + } + saveFile.close(); + saveFile.delete(); +} + + +//-------------------------------------- +function Heightfield::load(%name) +{ + if(%name $= "") + getLoadFilename("terrains/heightfield/*.cs", "Heightfield::doLoadHeightfield"); + else + Heightfield::doLoadHeightfield(%name); +} + + +//-------------------------------------- +function Heightfield::doLoadHeightfield(%name) +{ + %name = fileBase(%name); + if (%name $= "") + return; + + %name = "terrains/heightfield/" @ %name @ ".cs"; + Heightfield_operation.clear(); + $selectedOperation = -1; + $HeightfieldDirtyRow = -1; + + // zero out all shifting + terraformer.setCameraPosition(0,0); + HeightfieldPreview.reset(); + + exec(%name); + if (Heightfield_operation.rowCount() == 0) + { + // if there was a problem executing the script restore + // the operations list to a known state + Heightfield_operation.clear(); + Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); + } + %data = restWords(Heightfield_operation.getRowText(0)); + %x = getField(%data,7); + %y = getField(%data,9); + HeightfieldPreview.setOrigin(%x, %y); + Heightfield_operation.setSelectedById(Heightfield_operation.getRowId(0)); + terraformer.setCameraPosition(%x,%y); +} + + +//-------------------------------------- +function Heightfield::setBitmap() +{ + getLoadFilename("terrains/heightfield/*.png", "Heightfield::doSetBitmap"); +} + +//-------------------------------------- +function Heightfield::doSetBitmap(%name) +{ + %name = fileBase(%name); + if (%name !$= "") + %name = "terrains/heightfield/" @ %name @ ".png"; + bitmap_name.setValue(%name); + Heightfield::saveTab(); + Heightfield::preview($selectedOperation); +} + + +//-------------------------------------- +function Heightfield::hideTab() +{ + tab_terrainFile.setVisible(false); + tab_fbm.setvisible(false); + tab_rmf.setvisible(false); + tab_canyon.setvisible(false); + tab_smooth.setvisible(false); + tab_smoothWater.setvisible(false); + tab_smoothRidge.setvisible(false); + tab_filter.setvisible(false); + tab_turbulence.setvisible(false); + tab_thermal.setvisible(false); + tab_hydraulic.setvisible(false); + tab_general.setvisible(false); + tab_bitmap.setvisible(false); + tab_blend.setvisible(false); + tab_sinus.setvisible(false); +} + + +//-------------------------------------- +function Heightfield::showTab(%id) +{ + Heightfield::hideTab(); + %data = restWords(Heightfield_operation.getRowTextById(%id)); + %tab = getField(%data,1); + echo("Tab data: " @ %data @ " tab: " @ %tab); + %tab.setVisible(true); +} + + +//-------------------------------------- +function Heightfield::center() +{ + %camera = terraformer.getCameraPosition(); + %x = getWord(%camera, 0); + %y = getWord(%camera, 1); + + HeightfieldPreview.setOrigin(%x, %y); + + %origin = HeightfieldPreview.getOrigin(); + %x = getWord(%origin, 0); + %y = getWord(%origin, 1); + + %root = HeightfieldPreview.getRoot(); + %x += getWord(%root, 0); + %y += getWord(%root, 1); + + general_centerx.setValue(%x); + general_centery.setValue(%y); + Heightfield::saveTab(); +} + +function ExportHeightfield::onAction() +{ + error("Time to export the heightfield..."); + if (Heightfield_operation.getSelectedId() != -1) { + $TerraformerSaveRegister = getWord(Heightfield_operation.getValue(), 0); + Heightfield::saveBitmap(""); + } +} diff --git a/public/base/@vl2/scripts.vl2/gui/TerraformerTextureGui.gui b/public/base/@vl2/scripts.vl2/gui/TerraformerTextureGui.gui new file mode 100644 index 00000000..091dd5f5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerraformerTextureGui.gui @@ -0,0 +1,1855 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerraformerTextureGui) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiFrameSetCtrl(TextureRootFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 30"; + extent = "640 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0 279 374"; + rows = "0"; + borderWidth = "4"; + borderColor = "0 52 56 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiFrameSetCtrl(TextureLeftFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "0 0"; + extent = "275 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0 250 350"; + borderWidth = "4"; + borderColor = "0 52 56 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "275 246"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiBigTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "44 -2"; + extent = "186 40"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Texture Editor"; + }; + new GuiScrollCtrl(TextureTabParent) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 35"; + extent = "266 205"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "264 203"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl(tab_DistortMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 202"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "126 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Fractal Distortion Settings:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 97"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "dmask_seed.setValue(terraFormer.generateSeed());Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "New Seed"; + }; + new GuiTextEditCtrl(dmask_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 71"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + historySize = "5"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(dmask_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 47"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextEditSliderCtrl(dmask_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 23"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%1.0f"; + range = "3 36"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 23"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "103 47"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Roughness:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "91 71"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Random Seed:"; + }; + new GuiFilterCtrl(dmask_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 96"; + extent = "143 93"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 165"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "dmask_filter.controlPoints"; + command = "dmask_filter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 147"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Control Points:"; + }; + }; + new GuiControl(tab_FractalMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 202"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "106 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Fractal Mask Settings:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 96"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "fBmmask_seed.setValue(terraFormer.generateSeed());Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "New Seed"; + }; + new GuiTextEditCtrl(fBmmask_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 70"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + historySize = "5"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(fbmmask_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 46"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextEditSliderCtrl(fbmmask_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 22"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%1.0f"; + range = "3 36"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "92 22"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 46"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Roughness:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 70"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Random Seed:"; + }; + new GuiFilterCtrl(fBmmask_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 94"; + extent = "147 98"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166670 0.333330 0.500000 0.666670 0.833330 1.000000"; + }; + new GuiCheckBoxCtrl(fBmDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 122"; + extent = "82 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Distortion"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 174"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "fBmmask_filter.controlPoints"; + command = "fBmmask_filter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 155"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Control Points:"; + }; + }; + new GuiControl(tab_HeightMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "103 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Height Mask Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 26"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Filter:"; + }; + new GuiFilterCtrl(TextureHeightFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 26"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "6"; + filter = "0.000000 0.200000 0.400000 0.600000 0.800000 1.000000"; + }; + new GuiCheckBoxCtrl(heightDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 134"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "TextureHeightFilter.controlPoints"; + command = "TextureHeightFilter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 115"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Control Points:"; + }; + }; + new GuiControl(tab_SlopeMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "100 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Slope Mask Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 26"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Filter:"; + }; + new GuiFilterCtrl(TextureSlopeFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 27"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiCheckBoxCtrl(slopeDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "44 166"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 134"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "TextureSlopeFilter.controlPoints"; + command = "TextureSlopeFilter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 115"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Control Points:"; + }; + }; + new GuiControl(tab_WaterMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "131 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Water Level Mask Settings:"; + }; + new GuiCheckBoxCtrl(waterDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + }; + }; + new GuiControl(tab_ShorelineMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "131 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Shoreline Mask Settings:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 46"; + extent = "10 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Tolerance (meters):"; + }; + new GuiTextEditSliderCtrl(shorelineTolerance) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 46"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + format = "%3.1f"; + range = "0 100"; + increment = "1.0"; + }; + new GuiCheckBoxCtrl(shorelineDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + }; + }; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 250"; + extent = "275 96"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Texture_material_menu) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Options"; + maxPopupHeight = "200"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::deleteMaterial();"; + helpTag = "0"; + text = "Delete"; + }; + new GuiScrollCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "5 27"; + extent = "266 65"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + + new GuiScrollContentCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "264 63"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextListCtrl(Texture_material) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "9 8"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + }; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 350"; + extent = "275 100"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Texture_operation_menu) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Options"; + maxPopupHeight = "200"; + setText = "false"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::deleteOperation();"; + helpTag = "0"; + text = "Delete"; + }; + new GuiScrollCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 27"; + extent = "266 65"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + + new GuiScrollContentCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 1"; + extent = "264 63"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextListCtrl(Texture_operation) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 1"; + extent = "9 8"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + }; + }; + }; + }; + }; + new GuiFrameSetCtrl(TextureCenterFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "279 0"; + extent = "91 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0"; + borderWidth = "4"; + borderColor = "0 52 56 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "91 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "4 2"; + extent = "82 445"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 27"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load(Lush);"; + helpTag = "0"; + text = "Lush"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 52"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load(Swamp);"; + helpTag = "0"; + text = "Swamp"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 77"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load(BadLands);"; + helpTag = "0"; + text = "BadLands"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 102"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load(Ice);"; + helpTag = "0"; + text = "Ice"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 127"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load(Desert);"; + helpTag = "0"; + text = "Desert"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 152"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load(Lava);"; + helpTag = "0"; + text = "Lava"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 400"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "TerraformerGui.setView(HeightfieldView);"; + helpTag = "0"; + text = "Heightfield"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 275"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::applyMaterials();"; + helpTag = "0"; + text = "Apply"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 332"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::save();"; + helpTag = "0"; + text = "Save"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 309"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Texture::load();"; + helpTag = "0"; + text = "Load"; + }; + new GuiCheckBoxCtrl(doTestBmp) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 216"; + extent = "74 21"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "test bmp"; + command = "$terrainTestBmp = $ThisControl.getValue();"; + }; + }; + }; + }; + new GuiFrameSetCtrl(TextureRightFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "374 0"; + extent = "266 450"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0 266"; + borderWidth = "2"; + borderColor = "0 52 56 255"; + borderEnable = "alwaysOff"; + borderMovable = "alwaysOff"; + autoBalance = "0"; + + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "266 264"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTerrPreviewCtrl(TexturePreview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 266"; + extent = "266 184"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GameTSCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 4"; + extent = "255 204"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +$nextTextureId = 1; +$nextTextureRegister = 1000; +$selectedMaterial = -1; +$selectedTextureOperation = -1; + + +//-------------------------------------- +function TerraformerTextureGui::init(%this) +{ + Texture_material_menu.clear(); + Texture_material_menu.setText("Materials"); + %index = 0; + %search = "textures/terrain/*.png"; + for(%file = findFirstFile(%search); %file !$= ""; %file = findNextFile(%search)) + { + %file = fileBase(%file); + Texture_material_menu.add(%file, %index++); + } + Texture_material_menu.sort(); + + Texture_operation_menu.clear(); + Texture_operation_menu.setText("Placement Operations"); + Texture_operation_menu.add("Place by Fractal", 1); + Texture_operation_menu.add("Place by Height", 2); + Texture_operation_menu.add("Place by Slope", 3); + Texture_operation_menu.add("Place by Water Level", 4); + Texture_operation_menu.add("Place by Shoreline", 5); + + %this.refresh(); +} + +function TerraformerTextureGui::refresh(%this) +{ + $HeightfieldSrcRegister = Heightfield_operation.rowCount()-1; + + // sync up the preview windows + TexturePreview.setValue(HeightfieldPreview.getValue()); + + if (Texture_material.rowCount() == 0) + { + Texture_operation.clear(); + $nextTextureRegister = 1000; + } + else + { + // it's difficult to tell if the heightfield was modified so + // just in case flag all dependent operations as dirty. + %rowCount = Texture_material.rowCount(); + for (%row = 0; %row < %rowCount; %row++) + { + %data = Texture_material.getRowText(%row); + %entry= getRecord(%data,0); + %reg = getField(%entry,1); + $dirtyTexture[ %reg ] = true; + + %opCount = getRecordCount(%data); + for (%op = 2; %op < %opCount; %op++) + { + %entry= getRecord(%data,%op); + %label= getField(%entry,0); + if (%label !$= "Place by Fractal" && %label !$= "Fractal Distortion") + { + %reg = getField(%entry,2); + $dirtyTexture[ %reg ] = true; + } + } + } + Texture::previewMaterial(); + } +} + + +//-------------------------------------- +function Texture_material_menu::onSelect(%this, %id, %text) +{ + %this.setText("Materials"); + + // FORMAT + // material name + // register + // operation + // name + // tab name + // register + // distortion register + // {field,value}, ... + // operation + // ... + Texture::saveMaterial(); + Texture::hideTab(); + %id = Texture::addMaterial(%text @ "\t" @ $nextTextureRegister++); + + if (%id != -1) + { + Texture_material.setSelectedById(%id); + Texture::addOperation("Fractal Distortion\ttab_DistortMask\t" @ $nextTextureRegister++ @ "\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t" @ terraFormer.generateSeed() @ "\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000"); + } +} + + +//-------------------------------------- +function Texture_material::onSelect(%this, %id, %text) +{ + Texture::saveMaterial(); + if (%id != $selectedMaterial) + { + $selectedTextureOperation = -1; + Texture_operation.clear(); + + Texture::hideTab(); + Texture::restoreMaterial(%id); + } + + Texture::previewMaterial(%id); + $selectedMaterial = %id; + $selectedTextureOperation = -1; + Texture_operation.clearSelection(); +} + + +//-------------------------------------- +function Texture_operation_menu::onSelect(%this, %id, %text) +{ + %this.setText("Placement Operations"); + %id = -1; + + if ($selectedMaterial == -1) + return; + + %dreg = getField(Texture_operation.getRowText(0),2); + + switch$ (%text) + { + case "Place by Fractal": + %id = Texture::addOperation("Place by Fractal\ttab_FractalMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t" @ terraFormer.generateSeed() @ "\tfbmmask_filter\t0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000\tfBmDistort\ttrue"); + + case "Place by Height": + %id = Texture::addOperation("Place by Height\ttab_HeightMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\ttextureHeightFilter\t0 0.2 0.4 0.6 0.8 1.0\theightDistort\ttrue"); + + case "Place by Slope": + %id = Texture::addOperation("Place by Slope\ttab_SlopeMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\ttextureSlopeFilter\t0 0.2 0.4 0.6 0.8 1.0\tslopeDistort\ttrue"); + + case "Place by Water Level": + %id = Texture::addOperation("Place by Water Level\ttab_WaterMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\twaterDistort\ttrue"); + + case "Place by Shoreline": + %id = Texture::addOperation("Place by Shoreline\ttab_ShorelineMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\tshorelineTolerance\t10\tshorelineDistort\ttrue"); + } + + // select it + Texture::hideTab(); + if (%id != -1) + Texture_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Texture_operation::onSelect(%this, %id, %text) +{ + Texture::saveOperation(); + if (%id !$= $selectedTextureOperation) + { + Texture::hideTab(); + Texture::restoreOperation(%id); + Texture::showTab(%id); + } + + Texture::previewOperation(%id); + $selectedTextureOperation = %id; +} + + +//-------------------------------------- +function Texture::deleteMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %row = Texture_material.getRowNumById(%id); + + Texture_material.removeRow(%row); + + // find the next row to select + %rowCount = Texture_material.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedMaterial) + $selectedMaterial = -1; + + Texture_operation.clear(); + %id = Texture_material.getRowId(%row); + Texture_material.setSelectedById(%id); +} + + +//-------------------------------------- +function Texture::deleteOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %row = Texture_operation.getRowNumById(%id); + + // don't delete the first entry + if (%row == 0) + return; + + Texture_operation.removeRow(%row); + + // find the next row to select + %rowCount = Texture_operation.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedTextureOperation) + $selectedTextureOperation = -1; + + %id = Texture_operation.getRowId(%row); + Texture_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Texture::applyMaterials() +{ + Texture::saveMaterial(); + %count = Texture_material.rowCount(); + if (%count > 0) + { + %data = getRecord(Texture_material.getRowText(0),0); + %mat_list = getField( %data, 0); + %reg_list = getField( %data, 1); + Texture::evalMaterial(Texture_material.getRowId(0)); + + for (%i=1; %i<%count; %i++) + { + Texture::evalMaterial(Texture_material.getRowId(%i)); + %data = getRecord(Texture_material.getRowText(%i),0); + %mat_list = %mat_list @ " " @ getField( %data, 0); + %reg_list = %reg_list @ " " @ getField( %data, 1); + } + terraformer.setMaterials(%reg_list, %mat_list); + } +} + + +//-------------------------------------- +function Texture::previewMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %data = Texture_material.getRowTextById(%id); + %row = Texture_material.getRowNumById(%id); + %reg = getField(getRecord(%data,0),1); + + Texture::evalMaterial(%id); + + terraformer.preview(TexturePreview, %reg); +} + + +//-------------------------------------- +function Texture::evalMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %data = Texture_material.getRowTextbyId(%id); + %reg = getField(getRecord(%data,0), 1); + + // make sure all operation on this material are up to date + // and accumulate register data for each + %opCount = getRecordCount(%data); + if (%opCount >= 2) // record0=material record1=fractal + { + %entry = getRecord(%data, 1); + Texture::evalOperationData(%entry, 1); + for (%op=2; %op<%opCount; %op++) + { + %entry = getRecord(%data, %op); + %reg_list = %reg_list @ getField(%entry, 2) @ " "; + Texture::evalOperationData(%entry, %op); + } + // merge the masks in to the dst reg + terraformer.mergeMasks(%reg_list, %reg); + } +} + + +//-------------------------------------- +function Texture::evalOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + %row = Texture_operation.getRowNumById(%id); + + if (%row != 0) + Texture::evalOperation( Texture_operation.getRowId(0) ); + + Texture::evalOperationData(%data, %row); +} + + +//-------------------------------------- +function Texture::evalOperationData(%data, %row) +{ + %label = getField(%data, 0); + %reg = getField(%data, 2); + %dreg = getField(%data, 3); + %id = Texture_material.getRowId(%row); + + if ( $dirtyTexture[%reg] == false ) + { + return; + } + + switch$ (%label) + { + case "Fractal Distortion": + terraformer.maskFBm( %reg, getField(%data,5), getField(%data,7), getField(%data,9), getField(%data,11), false, 0 ); + + case "Place by Fractal": + terraformer.maskFBm( %reg, getField(%data,5), getField(%data,7), getField(%data,9), getField(%data,11), getField(%data,13), %dreg ); + + case "Place by Height": + terraformer.maskHeight( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data,7), %dreg ); + + case "Place by Slope": + terraformer.maskSlope( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data,7), %dreg ); + + case "Place by Water Level": + terraformer.maskWater( $HeightfieldSrcRegister, %reg, getField(%data,5), %dreg ); + + case "Place by Shoreline": + terraformer.maskShoreline( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data, 7), %dreg ); + } + + + $dirtyTexture[%reg] = false; +} + + + +//-------------------------------------- +function Texture::previewOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %row = Texture_operation.getRowNumById(%id); + %data = Texture_operation.getRowText(%row); + %reg = getField(%data,2); + + Texture::evalOperation(%id); + terraformer.preview(TexturePreview, %reg); +} + + + +//-------------------------------------- +function Texture::restoreMaterial(%id) +{ + if (%id == -1) + return; + + %data = Texture_material.getRowTextById(%id); + + Texture_operation.clear(); + %recordCount = getRecordCount(%data); + for (%record=1; %record<%recordCount; %record++) + { + %entry = getRecord(%data, %record); + Texture_operation.addRow($nextTextureId++, %entry); + } +} + + +//-------------------------------------- +function Texture::saveMaterial() +{ + %id = $selectedMaterial; + if (%id == -1) + return; + + Texture::SaveOperation(); + %data = Texture_Material.getRowTextById(%id); + %newData = getRecord(%data,0); + + %rowCount = Texture_Operation.rowCount(); + for (%row=0; %row<%rowCount; %row++) + %newdata = %newdata @ "\n" @ Texture_Operation.getRowText(%row); + + Texture_Material.setRowById(%id, %newdata); +} + + +//-------------------------------------- +function Texture::restoreOperation(%id) +{ + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + + %fieldCount = getFieldCount(%data); + for (%field=4; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %obj.setValue( getField(%data, %field+1) ); + } +} + + +//-------------------------------------- +function Texture::saveOperation() +{ + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + %newData = getField(%data,0) @ "\t" @ getField(%data,1) @ "\t" @ getField(%data,2) @ "\t" @ getField(%data,3); + + // go through each object and update its value + %fieldCount = getFieldCount(%data); + for (%field=4; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue(); + } + + %dirty = (%data !$= %newdata); + %reg = getField(%data, 2); + $dirtyTexture[%reg] = %dirty; + + Texture_operation.setRowById(%id, %newdata); + + // mark the material register as dirty too + if (%dirty == true) + { + %data = Texture_Material.getRowTextById($selectedMaterial); + %reg = getField(getRecord(%data,0), 1); + $dirtyTexture[ %reg ] = true; + } + + // if row is zero the fractal mask was modified + // mark everything else in the list as dirty + %row = Texture_material.getRowNumById(%id); + if (%row == 0) + { + %rowCount = Texture_operation.rowCount(); + for (%r=1; %r<%rowCount; %r++) + { + %data = Texture_operation.getRowText(%r); + $dirtyTexture[ getField(%data,2) ] = true; + } + } +} + + +//-------------------------------------- +function Texture::addMaterial(%entry) +{ + %id = $nextTextureId++; + Texture_material.addRow(%id, %entry); + + %reg = getField(%entry, 1); + $dirtyTexture[%reg] = true; + + return %id; +} + +//-------------------------------------- +function Texture::addOperation(%entry) +{ + // Assumes: operation is being added to selected material + + %id = $nextTextureId++; + Texture_operation.addRow(%id, %entry); + + %reg = getField(%entry, 2); + $dirtyTexture[%reg] = true; + + return %id; +} + + +//-------------------------------------- +function Texture::save(%name) +{ + Texture::saveMaterial(); + if(%name $= "") + getSaveFilename("terrains/texture/*cs", "Texture::doSaveTexture"); + else + Texture::doSaveTexture(%name); +} + + +//-------------------------------------- +function Texture::doSaveTexture(%name) +{ + %name = fileBase(%name); + if (%name $= "") + return; + + new fileObject("saveFile"); + saveFile.openForWrite("terrains/texture/" @ %name @ ".cs"); + + // loop through each operation and save it to disk + %rowCount = Texture_material.rowCount(); + for(%row = 0; %row < %rowCount; %row++) + { + %data = Texture_material.getRowText(%row); + %data = "Texture::addMaterial(\"" @ expandEscape(%data) @ "\");"; + saveFile.writeLine(%data); + } + saveFile.close(); + saveFile.delete(); +} + + +//-------------------------------------- +function Texture::load(%name) +{ + if(%name $= "") + getLoadFilename("terrains/texture/*cs", "Texture::doLoadTexture"); + else + Texture::doLoadTexture(%name); +} + +//-------------------------------------- +function Texture::doLoadTexture(%name) +{ + %name = fileBase(%name); + if (%name $= "") + return; + + %name = "terrains/texture/" @ %name @ ".cs"; + Texture_material.clear(); + Texture_operation.clear(); + $selectedMaterial = -1; + $selectedTextureOperation = -1; + if ( !exec(%name) ) + { + // if there was a problem executing the script restore + // the operations list to a known state + Texture_material.clear(); + Texture_operation.clear(); + } + else + { + // initialize dirty register array + // patch up register usage + // ...and deterime what the next register should be. + $nextTextureRegister = 1000; + %rowCount = Texture_material.rowCount(); + for (%row = 0; %row < %rowCount; %row++) + { + $dirtyTexture[ $nextTextureRegister ] = true; + %data = Texture_material.getRowText(%row); + %rec = getRecord(%data, 0); + %rec = setField(%rec, 1, $nextTextureRegister); + %data = setRecord(%data, 0, %rec); + $nextTextureRegister++; + + %opCount = getRecordCount(%data); + for (%op = 1; %op < %opCount; %op++) + { + if (%op == 1) + %frac_reg = $nextTextureRegister; + $dirtyTexture[ $nextTextureRegister ] = true; + %rec = getRecord(%data,%op); + %rec = setField(%rec, 2, $nextTextureRegister); + %rec = setField(%rec, 3, %frac_reg); + %data = setRecord(%data, %op, %rec); + $nextTextureRegister++; + } + %id = Texture_material.getRowId(%row); + Texture_material.setRowById(%id, %data); + } + + $selectedMaterial = -1; + Texture_material.setSelectedById(Texture_material.getRowId(0)); + } +} + + + +//-------------------------------------- +function Texture::hideTab() +{ + tab_DistortMask.setVisible(false); + tab_FractalMask.setVisible(false); + tab_HeightMask.setVisible(false); + tab_SlopeMask.setVisible(false); + tab_waterMask.setVisible(false); + tab_shorelineMask.setVisible(false); +} + + +//-------------------------------------- +function Texture::showTab(%id) +{ + Texture::hideTab(); + %data = Texture_operation.getRowTextById(%id); + %tab = getField(%data,1); + %tab.setVisible(true); +} + + diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorButtonbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorButtonbarDlg.gui new file mode 100644 index 00000000..acf3f71f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorButtonbarDlg.gui @@ -0,0 +1,434 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(terraineditorbuttonbardlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 30"; + extent = "90 449"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 4"; + extent = "84 119"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 38"; + extent = "32 32"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.undo();"; + helpTag = "0"; + text = "Undo"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 3"; + extent = "32 32"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(EditorSaveMissionDlg);"; + helpTag = "0"; + text = "Save"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "43 38"; + extent = "32 32"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.redo();"; + helpTag = "0"; + text = "Redo"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 94"; + extent = "60 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.resetSelWeights(true);"; + helpTag = "0"; + text = "Reset Sel"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 72"; + extent = "60 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.clearSelection();"; + helpTag = "0"; + text = "Clear Sel"; + }; + new GuiButtonCtrl(TELoadTerrainButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "43 3"; + extent = "32 32"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Load"; + }; + }; + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 125"; + extent = "84 185"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiRadioCtrl(TELowerHeightActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 22"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(lowerHeight);"; + helpTag = "0"; + text = "Lower"; + groupNum = "0"; + }; + new GuiRadioCtrl(TERaiseHeightActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(raiseHeight);"; + helpTag = "0"; + text = "Raise"; + groupNum = "0"; + }; + new GuiRadioCtrl(TESetHeightActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 42"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(setHeight);"; + helpTag = "0"; + text = "Set Height"; + groupNum = "0"; + }; + new GuiRadioCtrl(TESetEmptyActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 62"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(setEmpty);"; + helpTag = "0"; + text = "Set Empty"; + groupNum = "0"; + }; + new GuiRadioCtrl(TEClearEmptyActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 82"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(clearEmpty);"; + helpTag = "0"; + text = "Clear Empty"; + groupNum = "0"; + }; + new GuiRadioCtrl(TEFlattenHeightActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 102"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(flattenHeight);"; + helpTag = "0"; + text = "Flatten"; + groupNum = "0"; + }; + new GuiRadioCtrl(TESmoothHeightActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 122"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(smoothHeight);"; + helpTag = "0"; + text = "Smooth"; + groupNum = "0"; + }; + new GuiRadioCtrl(TESetMaterialActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 142"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(setMaterialGroup);"; + helpTag = "0"; + text = "Set Material"; + groupNum = "0"; + }; + new GuiRadioCtrl(TEAdjustHeightActionRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 162"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.processActionRadio(brushAdjustHeight);"; + helpTag = "0"; + text = "Adjust Height"; + groupNum = "0"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 312"; + extent = "75 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(TerrainEditorValuesSettingsGui, 99);"; + helpTag = "0"; + text = "Settings..."; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 334"; + extent = "75 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(TerrainEditorTextureSelectGui, 99);"; + helpTag = "0"; + text = "Material..."; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 356"; + extent = "75 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.clearModifiedFlags();"; + helpTag = "0"; + text = "Clear Modified"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 405"; + extent = "73 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Camera speed:"; + }; + new GuiSliderCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 420"; + extent = "80 20"; + minExtent = "80 20"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "value"; + command = "$Camera::movementSpeed = $ThisControl.getValue();"; + helpTag = "0"; + range = "5.000000 200.000000"; + ticks = "10"; + value = "149.857"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 378"; + extent = "75 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "tEditor.swapInLoneMaterial(\"terrain.outline\");"; + helpTag = "0"; + text = "Swap Outline"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function TerrainEditorButtonBarDlg::init(%this) +{ +} + +//------------------------------------------------------------------------------ + +function TerrainEditor::processActionRadio(%this, %name) +{ + %this.currentAction = %name; + + switch$(%this.currentMode) + { + case "select": + %this.processAction(%name); + case "paint": + %this.setAction(%name); + if(%this.processUsesBrush) + %this.processAction(%name); + case "adjust": + %this.processAction(%name); + } + + // + switch$(%this.currentAction) + { + case "setEmpty": + %this.renderVertexSelection = false; + case "clearEmpty": + %this.renderVertexSelection = false; + case "setMaterialGroup": + %this.renderVertexSelection = false; + default: + %this.renderVertexSelection = true; + } +} + +//------------------------------------------------------------------------------ + +function TELoadTerrainButton::onAction(%this) +{ + getLoadFilename("terrains/*.ter", %this @ ".gotFileName"); +} + +function TELoadTerrainButton::gotFileName(%this, %name) +{ + // + %pos = "0 0 0"; + %squareSize = "8"; + %visibleDistance = "1200"; + + // delete current + if(isObject(terrain)) + { + %pos = terrain.position; + %squareSize = terrain.squareSize; + %visibleDistance = terrain.visibleDistance; + + terrain.delete(); + } + + // create new + new TerrainBlock(terrain) + { + position = %pos; + terrainFile = %name; + squareSize = %squareSize; + visibleDistance = %visibleDistance; + }; + + tEditor.attachTerrain(); +} diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorExtraToolbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorExtraToolbarDlg.gui new file mode 100644 index 00000000..859f7255 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorExtraToolbarDlg.gui @@ -0,0 +1,232 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorExtraToolbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "90 30"; + extent = "550 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 3"; + extent = "249 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiRadioCtrl(TEPaintModeRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Paint"; + groupNum = "0"; + }; + new GuiRadioCtrl(TESelectModeRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Select"; + groupNum = "0"; + }; + new GuiRadioCtrl(TEAdjustModeRadio) { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 2"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Adjust Sel"; + groupNum = "0"; + }; + }; + new GuiPopUpMenuCtrl(TEBrushSizeMenu) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "424 6"; + extent = "80 20"; + minExtent = "80 20"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Brush Size"; + maxPopupHeight = "200"; + }; + new GuiPopUpMenuCtrl(TEBrushTypeMenu) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "341 6"; + extent = "80 20"; + minExtent = "80 20"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Brush Type"; + maxPopupHeight = "200"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "255 5"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Soft Brush"; + variable = "tEditor.enableSoftBrushes"; + command = "tEditor.enableSoftBrushes = $ThisControl.getValue();"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function TerrainEditorExtraToolbarDlg::init(%this) +{ + %this.updateCurrentMode(); + %this.updateCurrentAction(); + + %this.initMenus(); +} + +function TerrainEditorExtraToolbarDlg::initMenus(%this) +{ + // + TEBrushTypeMenu.clear(); + TEBrushTypeMenu.add("Box Brush", 0); + TEBrushTypeMenu.add("Circle Brush", 1); + TEBrushTypeMenu.setText("Brush Type"); + + // + TEBrushSizeMenu.clear(); + TEBrushSizeMenu.setText("Brush Size"); + for(%i = 0; %i < 6; %i++) + TEBrushSizeMenu.add("Level " @ %i, %i); +} + +//------------------------------------------------------------------------------ + +function TEBrushSizeMenu::onSelect(%this, %id, %text) +{ + %this.setText("Brush Size"); + tEditor.setBrushSize(1 << %id, 1 << %id); +} + +function TEBrushTypeMenu::onSelect(%this, %id, %text) +{ + %this.setText("Brush Type"); + switch(%id) + { + case 0: + tEditor.setBrushType(box); + case 1: + tEditor.setBrushType(ellipse); + } +} + +//------------------------------------------------------------------------------ + +function TESelectModeRadio::onAction(%this) +{ + tEditor.currentMode = "select"; + tEditor.selectionHidden = false; + tEditor.setAction("select"); +} + +function TEAdjustModeRadio::onAction(%this) +{ + tEditor.currentMode = "adjust"; + tEditor.selectionHidden = false; + tEditor.setAction("adjustHeight"); +} + +function TEPaintModeRadio::onAction(%this) +{ + tEditor.currentMode = "paint"; + tEditor.selectionHidden = true; + tEditor.setAction(tEditor.currentAction); +} + +//------------------------------------------------------------------------------ + +function TerrainEditorExtraToolbarDlg::updateCurrentMode(%this) +{ + switch$(tEditor.currentMode) + { + case "select": + TESelectModeRadio.setValue(1); + case "adjust": + TEAdjustModeRadio.setValue(1); + case "paint": + TEPaintModeRadio.setValue(1); + } +} + +function TerrainEditorExtraToolbarDlg::updateCurrentAction(%this) +{ + switch$(tEditor.currentAction) + { + case "raiseHeight": + TERaiseHeightActionRadio.setValue(1); + case "lowerHeight": + TELowerHeightActionRadio.setValue(1); + case "setHeight": + TESetHeightActionRadio.setValue(1); + case "setEmpty": + TESetEmptyActionRadio.setValue(1); + case "clearEmpty": + TEClearEmptyActionRadio.setValue(1); + case "flattenHeight": + TEFlattenHeightActionRadio.setValue(1); + case "smoothHeight": + TESmoothHeightActionRadio.setValue(1); + case "setMaterialGroup": + TESetMaterialActionRadio.setValue(1); + case "brushAdjustHeight": + TEAdjustHeightActionRadio.setValue(1); + } +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorFramesetDlg.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorFramesetDlg.gui new file mode 100644 index 00000000..f664fa76 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorFramesetDlg.gui @@ -0,0 +1,187 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorFrameSetDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiFrameSetCtrl(TerrainEditorFrameSet) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "90 60"; + extent = "550 390"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + columns = "0 420"; + rows = "0"; + borderWidth = "4"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + + new GuiControl(TerrainEditorFrame) { + profile = "EditTSControlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "420 390"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + borderWidth = "2"; + }; + new GuiFrameSetCtrl(TerrainEditorToolFrameSet) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "420 0"; + extent = "130 390"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0"; + borderWidth = "2"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function TerrainEditorFrameSetDlg::getPrefs(%this) +{ + %toolPaneOffset = getPrefSetting($Pref::TerrainEditor::toolPaneOffset, 420); + %toolCount = getPrefSetting($Pref::TerrainEditor::activeToolCount, 0); + + // set the tools + for(%i = 0; %i < %toolCount; %i++) + { + if($pref::TerrainEditor::activeTool[%i] $= "") + return; + + %this.addTool(getWord($pref::TerrainEditor::activeTool[%i], 0)); + %offsets[%i] = getWord($pref::TerrainEditor::activeTool[%i], 1); + } + + for(%i = 0; %i < %toolCount; %i++) + TerrainEditorToolFrameSet.setRowOffset(%i, %offsets[%i]); + + if(%toolCount) + TerrainEditorFrameSet.setColumnOffset(1, %toolPaneOffset); +} + +function TerrainEditorFrameSetDlg::setPrefs(%this) +{ + // + if(TerrainEditorFrameSet.getColumnCount() > 1) + $pref::TerrainEditor::toolPaneOffset = TerrainEditorFrameSet.getColumnOffset(1); + else + $pref::TerrainEditor::toolPaneOffset = %this.toolPaneOffset; + $pref::TerrainEditor::activeToolCount = %this.activeToolCount; + + %tools = TerrainEditorToolFrameSet; + + for(%i = 0; %i < %this.activeToolCount; %i++) + { + %obj = %tools.getObject(%i); + %offset = %tools.getRowOffset(%i); + %val = %obj.getName() @ " " @ %offset; + + $pref::TerrainEditor::activeTool[%i] = %val; + } +} + +function TerrainEditorFrameSetDlg::init(%this) +{ + TerrainEditorFrame.add(tEditor); + %this.resetFrames(); + %this.getPrefs(); +} + +function TerrainEditorFrameSetDlg::onWake(%this) +{ + TerrainEditorMap.push(); + %this.getPrefs(); +} + +function TerrainEditorFrameSetDlg::onSleep(%this) +{ + TerrainEditorMap.pop(); + %this.setPrefs(); +} + +function TerrainEditorFrameSetDlg::resetFrames(%this) +{ + // update the tool pane + %tools = TerrainEditorToolFrameSet; + while(%tools.getRowCount() > %tools.getCount()) + %tools.removeRow(); + while(%tools.getRowCount() < %tools.getCount()) + %tools.addRow(); + + // update the frame view + %frameSet = TerrainEditorFrameSet; + if(!%tools.getCount() && (%frameSet.getColumnCount() > 1)) + { + %frameSet.toolPaneOffset = %frameSet.getColumnOffset(1); + %frameSet.removeColumn(); + } + if(%tools.getCount() && (%frameSet.getColumnCount() == 1)) + { + %frameSet.addColumn(); + %frameSet.setColumnOffset(1, %frameSet.toolPaneOffset); + } + + if(%tools.getCount()) + %this.toolPaneOffset = TerrainEditorFrameSet.getColumnOffset(1); + %this.activeToolCount = %tools.getCount(); +} + +function TerrainEditorFrameSetDlg::addTool(%this, %tool) +{ + TerrainEditorToolFrameSet.add(%tool); + %this.resetFrames(); +} + +function TerrainEditorFrameSetDlg::removeTool(%this, %tool) +{ + TerrainEditorToolFrameSet.remove(%tool); + %this.resetFrames(); +} + +function TerrainEditorFrameSetDlg::update(%this) +{ + // check the frame to see if it is visible + if(TerrainEditorToolFrameSet.getCount()) + { + %res = getResolution(); + + // 90 = width of button bar + %width = getWord(%res, 0) - 90; + + if(TerrainEditorFrameSet.getColumnOffset(1) > %width - editor.minToolFrameWidth) + TerrainEditorFrameSet.setColumnOffset(1, %width - editor.minToolFrameWidth); + } +} diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorGui.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorGui.gui new file mode 100644 index 00000000..71d45447 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorGui.gui @@ -0,0 +1,110 @@ +//--- OBJECT WRITE BEGIN --- + +new TerrainEditor(tEditor) +{ + profile = ""; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "420 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; +}; + +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function TerrainEditor::getPrefs(%this) +{ + // persist these... + %this.softSelecting = 1; + %this.currentAction = "raiseHeight"; + %this.currentMode = "select"; +} + +function TerrainEditor::setPrefs(%this) +{ +} + +function TerrainEditor::init(%this) +{ + %this.getPrefs(); + tEditor.attachTerrain(); +} + +function TerrainEditor::onGuiUpdate(%this, %text) +{ + TerrainEditorStatusBarDlg.update(%text); + TerrainEditorFrameSetDlg.update(); +} + +function TerrainEditor::offsetBrush(%this, %x, %y) +{ + %curPos = %this.getBrushPos(); + %this.setBrushPos(getWord(%curPos, 0) + %x, getWord(%curPos, 1) + %y); +} + +function TerrainEditor::swapInLoneMaterial(%this, %name) +{ + // swapped? + if(%this.baseMaterialsSwapped $= "true") + { + %this.baseMaterialsSwapped = "false"; + tEditor.popBaseMaterialInfo(); + } + else + { + %this.baseMaterialsSwapped = "true"; + %this.pushBaseMaterialInfo(); + %this.setLoneBaseMaterial(%name); + } + + // + flushTextureCache(); +} + +//------------------------------------------------------------------------------ +// keys +new ActionMap(TerrainEditorMap); + +TerrainEditorMap.bindCmd(keyboard, "ctrl z", "tEditor.undo();", ""); +TerrainEditorMap.bindCmd(keyboard, "ctrl y", "tEditor.redo();", ""); + +TerrainEditorMap.bindCmd(keyboard, "left", "tEditor.offsetBrush(-1, 0);", ""); +TerrainEditorMap.bindCmd(keyboard, "right", "tEditor.offsetBrush(1, 0);", ""); +TerrainEditorMap.bindCmd(keyboard, "up", "tEditor.offsetBrush(0, 1);", ""); +TerrainEditorMap.bindCmd(keyboard, "down", "tEditor.offsetBrush(0, -1);", ""); + +TerrainEditorMap.bindCmd(keyboard, "1", "TERaiseHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "2", "TELowerHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "3", "TESetHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "4", "TESetEmptyActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "5", "TEClearEmptyActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "6", "TEFlattenHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "7", "TESmoothHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "8", "TESetMaterialActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "9", "TEAdjustHeightActionRadio.setValue(1);", ""); + +TerrainEditorMap.bindCmd(keyboard, "shift 1", "tEditor.processUsesBrush = true;TERaiseHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 2", "tEditor.processUsesBrush = true;TELowerHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 3", "tEditor.processUsesBrush = true;TESetHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 4", "tEditor.processUsesBrush = true;TESetEmptyActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 5", "tEditor.processUsesBrush = true;TEClearEmptyActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 6", "tEditor.processUsesBrush = true;TEFlattenHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 7", "tEditor.processUsesBrush = true;TESmoothHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 8", "tEditor.processUsesBrush = true;TESetMaterialActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 9", "tEditor.processUsesBrush = true;TEAdjustHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); + +TerrainEditorMap.bindCmd(keyboard, "h", "TESelectModeRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "j", "TEPaintModeRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "k", "TEAdjustModeRadio.setValue(1);", ""); + +TerrainEditorMap.bindCmd(keyboard, "o", "Canvas.pushDialog(TerrainEditorValuesSettingsGui, 99);", ""); +TerrainEditorMap.bindCmd(keyboard, "m", "Canvas.pushDialog(TerrainEditorTextureSelectGui, 99);", ""); + +TerrainEditorMap.bindCmd(keyboard, "backspace", "tEditor.clearSelection();", ""); diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorStatusbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorStatusbarDlg.gui new file mode 100644 index 00000000..fc02f9a6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorStatusbarDlg.gui @@ -0,0 +1,68 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorStatusbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "0 450"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl(TEMouseBrushInfo) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 6"; + extent = "85 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiTextCtrl(TESelectionInfo) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "209 7"; + extent = "65 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function TerrainEditorStatusbarDlg::init(%this) +{ + TEMouseBrushInfo.setValue("Mouse Brush Info"); + TESelectionInfo.setValue("Selection Info"); +} + +function TerrainEditorStatusbarDlg::update(%this, %info) +{ + TEMouseBrushInfo.setValue(" (Mouse Brush) #: " @ getWord(%info, 0) @ " avg: " @ getWord(%info, 1)); + TESelectionInfo.setValue(" (Selection) #: " @ getWord(%info, 2) @ " avg: " @ getWord(%info, 3)); +} diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorTextureSelectGui.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorTextureSelectGui.gui new file mode 100644 index 00000000..a8487889 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorTextureSelectGui.gui @@ -0,0 +1,157 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorTextureSelectGui) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "134 84"; + extent = "217 286"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Texture group selection"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "1"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(TerrainEditorTextureSelectGui);"; + + new GuiControl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 50"; + extent = "200 200"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(TerrainTextureBitmapCtrl) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "200 200"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + wrap = "0"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "113 257"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "setGroupIndex(TextureSelectionSlider.getValue());Canvas.popDialog(TerrainEditorTextureSelectGui);"; + helpTag = "0"; + text = "Ok"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 257"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.popDialog(TerrainEditorTextureSelectGui);"; + helpTag = "0"; + text = "Cancel"; + }; + new GuiSliderCtrl(TextureSelectionSlider) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 24"; + extent = "200 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "value"; + command = "setTextureBitmap($ThisControl.getValue());"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "0"; + value = "0"; + tab = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function TerrainTextureBitmapCtrl::onAction(%this) +{ + // dummy to remove console spam +} + +function TerrainEditorTextureSelectGui::onWake(%this) +{ + %numTextures = tEditor.getNumTextures(); + if(%numTextures == 0) + return; + + if(tEditor.materialGroup < 0 || tEditor.materialGroup > %numTextures) + tEditor.materialGroup = 0; + + TextureSelectionSlider.ticks = %numTextures - 1; + TextureSelectionSlider.range = "0 " @ %numTextures; + TextureSelectionSlider.setValue(tEditor.materialGroup + 0.5); + + TerrainTextureBitmapCtrl.setBitmap(tEditor.getTextureName(tEditor.materialGroup)); +} + +function setGroupIndex(%val) +{ + %numTextures = tEditor.getNumTextures(); + if(%val < 0 || (%val > %numTextures)) + return; + + %group = mFloor(%val); + if(%group == %numTextures) + %group--; + + tEditor.materialGroup = %group; +} + +function setTextureBitmap(%val) +{ + %numTextures = tEditor.getNumTextures(); + if(%val < 0 || (%val > %numTextures)) + return; + + %idx = mFloor(%val); + if(%idx == %numTextures) + %idx--; + + TerrainTextureBitmapCtrl.setBitmap(tEditor.getTextureName(%idx)); +} + diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorToolbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorToolbarDlg.gui new file mode 100644 index 00000000..2a410a58 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorToolbarDlg.gui @@ -0,0 +1,47 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorToolbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiCheckBoxCtrl(TerrainEditorMissionAreaCheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "541 4"; + extent = "93 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if($ThisControl.getValue()) TerrainEditorFrameSetDlg.addTool(EditorToolMissionAreaGui); else TerrainEditorFrameSetDlg.removeTool(EditorToolMissionAreaGui);"; + helpTag = "0"; + text = "Mission Area"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function TerrainEditorToolbarDlg::init(%this) +{ + TerrainEditorMissionAreaCheckBox.setValue(TerrainEditorToolFrameSet.isMember(EditorToolMissionAreaGui)); +} diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorVSettingsGui.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorVSettingsGui.gui new file mode 100644 index 00000000..a4cfa5c3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorVSettingsGui.gui @@ -0,0 +1,272 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorValuesSettingsGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "117 113"; + extent = "408 247"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Terrain Action Values"; + maxLength = "255"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDIalog(TerrainEditorValuesSettingsGui);"; + + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "198 27"; + extent = "203 115"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 12"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.adjustHeightVal"; + command = "ETerrainEditor.adjustHeightVal = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 37"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.setHeightVal"; + command = "ETerrainEditor.setHeightVal = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 62"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.scaleVal"; + command = "ETerrainEditor.scaleVal = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 87"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.smoothFactor"; + command = "ETerrainEditor.smoothFactor = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 12"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Adjust Height"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 37"; + extent = "49 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Set Height"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 62"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Scale Height"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 87"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Smooth Factor"; + maxLength = "255"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "218 205"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDIalog(TerrainEditorValuesSettingsGui);"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 27"; + extent = "188 212"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiFilterCtrl(TESoftSelectFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 22"; + extent = "155 162"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + controlPoints = "7"; + filter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 4"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Soft Selection"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 189"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 26"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "1"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 190"; + extent = "45 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = ""; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 187"; + extent = "50 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.softSelectRadius"; + command = "ETerrainEditor.softSelectRadius = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiButtonCtrl(TESettingsApplyButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "307 205"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/TerrainEditorValuesSettingsGui.gui b/public/base/@vl2/scripts.vl2/gui/TerrainEditorValuesSettingsGui.gui new file mode 100644 index 00000000..d809b25f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TerrainEditorValuesSettingsGui.gui @@ -0,0 +1,300 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorValuesSettingsGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 113"; + extent = "408 247"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Terrain Action Values"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "1"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDIalog(TerrainEditorValuesSettingsGui);"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "197 25"; + extent = "203 115"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 12"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "tEditor.adjustHeightVal"; + command = "tEditor.adjustHeightVal = $ThisControl.getValue();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 37"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "tEditor.setHeightVal"; + command = "tEditor.setHeightVal = $ThisControl.getValue();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 62"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "tEditor.scaleVal"; + command = "tEditor.scaleVal = $ThisControl.getValue();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 87"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "tEditor.smoothFactor"; + command = "tEditor.smoothFactor = $ThisControl.getValue();"; + helpTag = "0"; + historySize = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 12"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Adjust Height"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 37"; + extent = "49 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Set Height"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 62"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Scale Height"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 87"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Smooth Factor"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "218 205"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.popDIalog(TerrainEditorValuesSettingsGui);"; + helpTag = "0"; + text = "OK"; + }; + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 25"; + extent = "188 212"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiFilterCtrl(TESoftSelectFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 22"; + extent = "155 162"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + controlPoints = "7"; + filter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 4"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Soft Selection"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 189"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 26"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 190"; + extent = "45 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = ""; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 187"; + extent = "50 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "tEditor.softSelectRadius"; + command = "tEditor.softSelectRadius = $ThisControl.getValue();"; + helpTag = "0"; + historySize = "0"; + }; + }; + new GuiButtonCtrl(TESettingsApplyButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "307 205"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Apply"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function TerrainEditorSettingsGui::onWake(%this) +{ + TESoftSelectFilter.setValue(tEditor.softSelectFilter); +} + +function TerrainEditorSettingsGui::onSleep(%this) +{ + tEditor.softSelectFilter = TESoftSelectFilter.getValue(); +} + +function TESettingsApplyButton::onAction(%this) +{ + tEditor.softSelectFilter = TESoftSelectFilter.getValue(); + tEditor.resetSelWeights(true); + tEditor.processAction("softSelect"); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/TestGui.gui b/public/base/@vl2/scripts.vl2/gui/TestGui.gui new file mode 100644 index 00000000..67052bac --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TestGui.gui @@ -0,0 +1,111 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TestGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "86 239"; + extent = "171 194"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiBigTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 13"; + extent = "53 40"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + text = "Test"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 85"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.setContent(GuiTestGui);"; + helpTag = "0"; + text = "GUI Test"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 59"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "startShow();"; + helpTag = "0"; + text = "TS Show"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "70 7"; + extent = "94 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "1"; + modal = "1"; + command = "Canvas.setContent(LaunchGui);"; + helpTag = "0"; + text = "Back to Launch"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 163"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(NewMissionGui, 99);"; + helpTag = "0"; + text = "Create Mission"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "32 137"; + extent = "100 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.setContent(EditChatMenuGui);"; + helpTag = "0"; + text = "Edit Chat Menu"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TrainingGui.gui b/public/base/@vl2/scripts.vl2/gui/TrainingGui.gui new file mode 100644 index 00000000..79f2c1c7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TrainingGui.gui @@ -0,0 +1,262 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(TrainingGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "12 13"; + extent = "620 423"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "TRAINING"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellFieldCtrl(TrainingPicFrame) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 186"; + extent = "175 175"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiBitmapCtrl(TrainingPic) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "2 3"; + extent = "169 169"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + wrap = "0"; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "236 377"; + extent = "74 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Difficulty:"; + maxLength = "255"; + }; + new ShellPopupMenu(TrainingDifficultyMenu) { + profile = "ShellPopupProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "307 368"; + extent = "137 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 31"; + extent = "183 146"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 7"; + extent = "169 132"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(TrainingMissionList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "169 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + enumerate = "1"; + resizeCell = "1"; + columns = "0 200"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellToggleButton(TrainingPlayTgl) { + profile = "ShellRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "448 27"; + extent = "140 30"; + minExtent = "26 27"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$pref::TrainingPlayBriefing"; + helpTag = "0"; + text = "Play Briefing"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "444 31"; + extent = "122 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Play Briefing:"; + maxLength = "255"; + }; + new ShellBitmapButton(TrainingPlayBtn) { + profile = "SoundTestButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "568 28"; + extent = "24 24"; + minExtent = "24 24"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TrainingGui.toggleBriefing();"; + helpTag = "0"; + simpleStyle = "1"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "219 31"; + extent = "99 22"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "MISSION BRIEFING"; + maxLength = "255"; + }; + new ShellScrollCtrl(TrainingBriefingScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "214 50"; + extent = "378 318"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "3 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 7"; + extent = "348 304"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(TrainingBriefingText) { + profile = "ShellLoadTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "348 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "469 368"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TrainingGui.startTraining();"; + helpTag = "0"; + text = "START"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TribeAdminMemberDlg.gui b/public/base/@vl2/scripts.vl2/gui/TribeAdminMemberDlg.gui new file mode 100644 index 00000000..abe2f15a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TribeAdminMemberDlg.gui @@ -0,0 +1,153 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TribeAdminMemberDlg) { + profile = "DlgBackProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + vTribe = "T2 ADMINISTRATION"; + vPerm = "4"; + vPlayer = "QIX"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "167 110"; + extent = "306 260"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "MEMBER PROFILE"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellTextEditCtrl(E_Title) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "42 45"; + extent = "221 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + maxLength = "16"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl(t_whois) { + profile = "ShellTopicTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "53 34"; + extent = "197 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "WARRIOR TITLE"; + maxLength = "255"; + }; + new ShellRadioButton(tb_sysAdmin) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 83"; + extent = "205 30"; + minExtent = "26 27"; + visible = "1"; + command = "TAM_onAction(4);"; + helpTag = "0"; + text = " RANK 4: Tribe Admin 1"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(tb_tribeController) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 103"; + extent = "205 30"; + minExtent = "26 27"; + visible = "1"; + command = "TAM_onAction(3);"; + helpTag = "0"; + text = " RANK 3: Tribe Admin 2"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(tb_tribeAdmin) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 123"; + extent = "205 30"; + minExtent = "26 27"; + visible = "1"; + command = "TAM_onAction(2);"; + helpTag = "0"; + text = " RANK 2: Tribe Admin 3"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(tb_tribeMember) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 143"; + extent = "205 30"; + minExtent = "26 27"; + visible = "1"; + command = "TAM_onAction(1);"; + helpTag = "0"; + text = " RANK 1: Tribe Member"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(tb_onProbation) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 163"; + extent = "205 30"; + minExtent = "26 27"; + visible = "1"; + command = "TAM_onAction(0);"; + helpTag = "0"; + text = "RANK 0: On Probation"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellBitmapButton(b_Cancel) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "43 195"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + command = "Canvas.popDialog(TribeAdminMemberDlg);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + new ShellBitmapButton(b_Update) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "141 195"; + extent = "121 38"; + minExtent = "32 38"; + visible = "1"; + command = "SetMemberProfile();"; + helpTag = "0"; + text = "UPDATE"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TribeAndWarriorBrowserGui.gui b/public/base/@vl2/scripts.vl2/gui/TribeAndWarriorBrowserGui.gui new file mode 100644 index 00000000..575f2d10 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TribeAndWarriorBrowserGui.gui @@ -0,0 +1,697 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(TribeAndWarriorBrowserGui) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + variable = "$ShellBackground"; + helpTag = "0"; + useVariable = "1"; + + new ShellPaneCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "12 13"; + extent = "620 423"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "COMMUNITY BROWSER"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellTabFrame(TWBTabFrame) { + profile = "ShellHorzTabFrameProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "22 54"; + extent = "576 254"; + minExtent = "26 254"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + isVertical = "0"; + useCloseButton = "0"; + edgeInset = "0"; + }; + new ShellTabGroupCtrl(TWBTabView) { + profile = "TabGroupProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "30 25"; + extent = "560 29"; + minExtent = "38 29"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + glowOffset = "7"; + tabSpacing = "2"; + maxTabWidth = "150"; + stretchToFit = "0"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "33 63"; + extent = "554 303"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl(TribePane) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "3 27"; + extent = "550 272"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "237 20"; + extent = "310 250"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellScrollCtrl(TWBScroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "2 6"; + extent = "306 242"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "5 5"; + fieldBase = " "; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "9 9"; + extent = "272 224"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(TWBText) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "272 262"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + }; + new ShellFieldCtrl() { + profile = "ShellPaneProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "3 3"; + extent = "234 267"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl(TeamPix) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 2"; + extent = "228 150"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + bitmap = "texticons/twb/twb_Lineup.jpg"; + useVariable = "0"; + wrap = "0"; + }; + new ShellFancyArrayScrollCtrl(ML1) { + profile = "ShellServerBrowserProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "-2 151"; + extent = "237 118"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl(ML2) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "237 102"; + minExtent = "8 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + + new VirtualScrollContentCtrl(ML3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "213 88"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiControl(ML4) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "8 392"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + }; + new ShellFancyTextList(MemberList) { + profile = "ShellBrowserListProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "217 114"; + minExtent = "8 20"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "TribePane.RosterDblClick();"; + helpTag = "0"; + startScrollRegion = "3 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "15"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "1"; + noSelect = "0"; + allowColorChars = "1"; + }; + }; + }; + new ShellRadioButton(TW_Admin) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "486 -2"; + extent = "63 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TribePane.ButtonClick(4);"; + helpTag = "0"; + text = "ADMIN"; + maxLength = "255"; + groupNum = "4"; + }; + new ShellRadioButton(TL_Invites) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "423 -2"; + extent = "66 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TribePane.ButtonClick(3);"; + helpTag = "0"; + text = "INVITES"; + maxLength = "255"; + groupNum = "5"; + }; + new ShellRadioButton(TL_Profile) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "233 -2"; + extent = "65 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TribePane.ButtonClick(0);"; + helpTag = "0"; + text = "PROFILE"; + maxLength = "255"; + groupNum = "4"; + }; + new ShellRadioButton(TL_Roster) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "295 -2"; + extent = "65 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TribePane.ButtonClick(1);"; + helpTag = "0"; + text = "ROSTER"; + maxLength = "255"; + groupNum = "5"; + }; + new ShellRadioButton(TL_News) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "357 -2"; + extent = "69 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TribePane.ButtonClick(2);"; + helpTag = "0"; + text = "OPTIONS"; + maxLength = "255"; + groupNum = "4"; + }; + }; + new ShellFieldCtrl(PlayerPane) { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "3 27"; + extent = "550 272"; + minExtent = "16 18"; + visible = "0"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "237 20"; + extent = "310 250"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellScrollCtrl(W_Scroll) { + profile = "NewScrollCtrlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "2 2"; + extent = "306 246"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + fieldBase = " "; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 4"; + extent = "298 238"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(W_Text) { + profile = "NewTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "286 100"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "3 3"; + extent = "234 267"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl(PlayerPix) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 3"; + extent = "228 150"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + bitmap = "texticons/twb/twb_Laserrifle.jpg"; + useVariable = "0"; + wrap = "0"; + }; + new ShellFancyArrayScrollCtrl(W_ML1) { + profile = "ShellServerBrowserProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "-2 151"; + extent = "237 116"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl(W_ML2) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "237 100"; + minExtent = "8 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + + new VirtualScrollContentCtrl(W_ML3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "213 86"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiControl(W_ML4) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "8 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + }; + }; + new ShellFancyTextList(W_MemberList) { + profile = "ShellBrowserListProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "217 112"; + minExtent = "8 20"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + altCommand = "PlayerPane.DblClick();"; + helpTag = "0"; + startScrollRegion = "3 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "15"; + headerFontSize = "0"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "0"; + noSelect = "0"; + allowColorChars = "1"; + }; + }; + }; + new ShellRadioButton(W_Admin) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "495 -2"; + extent = "64 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "PlayerPane.ButtonClick(5);"; + helpTag = "0"; + text = "ADMIN"; + maxLength = "255"; + groupNum = "4"; + }; + new ShellRadioButton(W_BuddyList) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "420 -2"; + extent = "78 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "PlayerPane.ButtonClick(3);"; + helpTag = "0"; + text = "BUDDYLIST"; + maxLength = "255"; + groupNum = "5"; + }; + new ShellRadioButton(W_Profile) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "233 -2"; + extent = "67 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "PlayerPane.ButtonClick(0);"; + helpTag = "0"; + text = "PROFILE"; + maxLength = "255"; + groupNum = "4"; + }; + new ShellRadioButton(W_History) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "296 -2"; + extent = "69 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "PlayerPane.ButtonClick(1);"; + helpTag = "0"; + text = "HISTORY"; + maxLength = "255"; + groupNum = "4"; + }; + new ShellRadioButton(W_Tribes) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "361 -2"; + extent = "62 27"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "PlayerPane.ButtonClick(2);"; + helpTag = "0"; + text = "TRIBES"; + maxLength = "255"; + groupNum = "5"; + }; + }; + new GuiTextCtrl(twbTitle) { + profile = "ShellBigTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "7 5"; + extent = "8 26"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "EAST [DEV]"; + maxLength = "255"; + }; + }; + new ShellBitmapButton(TWBClosePaneBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "552 60"; + extent = "43 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "TWBTabView.closeCurrentPane();"; + accelerator = "escape"; + helpTag = "0"; + text = "X"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "221 368"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "CreateTribe();"; + helpTag = "0"; + text = "CREATE TRIBE"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "341 368"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "SearchTribes();"; + helpTag = "0"; + text = "TRIBE SEARCH"; + simpleStyle = "0"; + }; + new ShellBitmapButton() { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "461 368"; + extent = "128 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "SearchWarriors();"; + helpTag = "0"; + text = "WARRIOR SEARCH"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/TribePropertiesDlg.gui b/public/base/@vl2/scripts.vl2/gui/TribePropertiesDlg.gui new file mode 100644 index 00000000..e6e369f6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/TribePropertiesDlg.gui @@ -0,0 +1,787 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(TribePropertiesDlg) { + profile = "DlgBackProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + useVariable = "0"; + + new ShellDlgFrame() { + profile = "ShellDlgProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "116 63"; + extent = "408 354"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TRIBE PROPERTIES"; + maxLength = "255"; + + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 35"; + extent = "385 25"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellBitmapButton(TP_ProfileBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-7 -6"; + extent = "79 38"; + minExtent = "32 38"; + visible = "1"; + command = "GraphicsControl.setVisible(0);SecurityControl.setVisible(0);ProfileControl.setVisible(1);"; + helpTag = "0"; + text = "PROFILE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(TP_GraphicsBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 -6"; + extent = "81 38"; + minExtent = "32 38"; + visible = "1"; + command = "ProfileControl.setVisible(0);SecurityControl.setVisible(0);GraphicsControl.setVisible(1);TribePropertiesDlg.LoadGfxPane();"; + helpTag = "0"; + text = "GFX"; + simpleStyle = "0"; + }; + new ShellBitmapButton(TP_SecurityBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "119 -6"; + extent = "81 38"; + minExtent = "32 38"; + visible = "0"; + command = "GraphicsControl.setVisible(0);ProfileControl.setVisible(0);SecurityControl.setVisible(1);"; + helpTag = "0"; + text = "SECURITY"; + simpleStyle = "0"; + }; + }; + new ShellFieldCtrl(SecurityControl) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 63"; + extent = "385 235"; + minExtent = "16 18"; + visible = "0"; + helpTag = "0"; + + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 16"; + extent = "248 216"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 4"; + extent = "224 208"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellTextList(TP_ActionsList) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "224 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 4"; + extent = "58 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "ACTIONS"; + maxLength = "255"; + }; + new ShellRadioButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "246 27"; + extent = "132 30"; + minExtent = "26 27"; + visible = "1"; + helpTag = "0"; + text = "Admin 3 [4]"; + maxLength = "255"; + groupNum = "7"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "252 18"; + extent = "135 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Required Access Level"; + maxLength = "255"; + }; + new ShellRadioButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "246 44"; + extent = "132 30"; + minExtent = "26 27"; + visible = "1"; + helpTag = "0"; + text = "Admin 2 [3]"; + maxLength = "255"; + groupNum = "7"; + }; + new ShellRadioButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "246 61"; + extent = "132 30"; + minExtent = "26 27"; + visible = "1"; + helpTag = "0"; + text = "Admin 1 [2]"; + maxLength = "255"; + groupNum = "7"; + }; + new ShellRadioButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "246 78"; + extent = "132 30"; + minExtent = "26 27"; + visible = "1"; + helpTag = "0"; + text = "Member [1]"; + maxLength = "255"; + groupNum = "7"; + }; + new ShellRadioButton() { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "246 95"; + extent = "132 30"; + minExtent = "26 27"; + visible = "1"; + helpTag = "0"; + text = "Public [0] "; + maxLength = "255"; + groupNum = "7"; + }; + new ShellBitmapButton(TP_UpdateSecurityBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 115"; + extent = "146 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.ClearDescription();"; + helpTag = "0"; + text = "UPDATE"; + simpleStyle = "0"; + }; + }; + new ShellBitmapButton(TP_OKBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "308 310"; + extent = "91 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.Close();"; + helpTag = "0"; + text = "CLOSE"; + simpleStyle = "0"; + }; + new ShellFieldCtrl(ProfileControl) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 63"; + extent = "385 249"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellBitmapButton(TP_DisbandTribeBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-1 70"; + extent = "103 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.DisbandTribe();"; + helpTag = "0"; + text = "AUTHORIZE"; + simpleStyle = "0"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 120"; + extent = "373 123"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 3"; + extent = "73 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "DESCRIPTION"; + maxLength = "255"; + }; + new ShellBitmapButton(TP_EditDescBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-2 17"; + extent = "94 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.EditDescription();"; + helpTag = "0"; + text = "EDIT"; + simpleStyle = "0"; + }; + new ShellBitmapButton(TP_ClearDescBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-2 41"; + extent = "94 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.ClearDescription();"; + helpTag = "0"; + text = "CLEAR"; + simpleStyle = "0"; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 1"; + extent = "284 119"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "10 5"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "14 9"; + extent = "240 101"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(TP_TribeDescription) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "relative"; + position = "0 0"; + extent = "249 28"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "-1"; + }; + }; + }; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 7"; + extent = "282 110"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 11"; + extent = "100 67"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 3"; + extent = "58 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TRIBE TAG"; + maxLength = "255"; + }; + new ShellRadioButton(TP_PrePendFlagBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 19"; + extent = "94 30"; + minExtent = "26 27"; + visible = "1"; + command = "TribePropertiesDlg.ToggleAppending();"; + helpTag = "0"; + text = "PREPEND TAG"; + maxLength = "255"; + groupNum = "8"; + }; + new ShellRadioButton(TP_AppendFlagBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "1 39"; + extent = "94 30"; + minExtent = "26 27"; + visible = "1"; + command = "TribePropertiesDlg.ToggleAppending();"; + helpTag = "0"; + text = "APPEND TAG"; + maxLength = "255"; + groupNum = "8"; + }; + }; + new ShellTextEditCtrl(TP_NewTag) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "167 24"; + extent = "115 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.RefreshTag();"; + helpTag = "0"; + maxLength = "9"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "116 9"; + extent = "56 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "CURRENT:"; + maxLength = "255"; + }; + new GuiTextCtrl(TP_CurrentTag) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 11"; + extent = "99 14"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TAG"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "119 32"; + extent = "53 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "NEW TAG:"; + maxLength = "255"; + }; + new GuiTextCtrl(TP_PreviewTag) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 59"; + extent = "101 15"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TAG"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 56"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "PREVIEW:"; + maxLength = "255"; + }; + new ShellBitmapButton(TP_TribeTagBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-2 75"; + extent = "285 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.ChangeTag();"; + helpTag = "0"; + text = "UPDATE TAG TEXT"; + simpleStyle = "0"; + }; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 58"; + extent = "85 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "DISBAND TRIBE"; + maxLength = "255"; + }; + new GuiTextCtrl(TP_RecruitingLabel) { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 8"; + extent = "67 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "RECRUITING"; + maxLength = "255"; + }; + new ShellRadioButton(TP_RecruitFlagBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 24"; + extent = "45 30"; + minExtent = "26 27"; + visible = "1"; + command = "TribePropertiesDlg.ChangeRecruiting();"; + helpTag = "0"; + text = "YES"; + maxLength = "255"; + groupNum = "7"; + }; + new ShellRadioButton(TP_RecruitFlagNoBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "49 24"; + extent = "40 30"; + minExtent = "26 27"; + visible = "1"; + command = "TribePropertiesDlg.ChangeRecruiting();"; + helpTag = "0"; + text = "NO"; + maxLength = "255"; + groupNum = "7"; + }; + }; + new ShellFieldCtrl(GraphicsControl) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 65"; + extent = "385 246"; + minExtent = "16 18"; + visible = "0"; + helpTag = "0"; + + new ShellBitmapButton(TP_SubmitGraphicBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "229 198"; + extent = "158 38"; + minExtent = "32 38"; + visible = "0"; + helpTag = "0"; + text = "FIND NEW GRAPHIC"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "BrowserProgressProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 8"; + extent = "125 17"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Current Tribe Graphic:"; + maxLength = "255"; + }; + new ShellBitmapButton(TP_SubmitGraphicBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "229 173"; + extent = "158 38"; + minExtent = "32 38"; + visible = "1"; + command = "TribePropertiesDlg.SetTribeGraphic();"; + helpTag = "0"; + text = "USE SELECTED GRAPHIC"; + simpleStyle = "0"; + }; + new GuiBitmapCtrl(TribeGraphic) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 24"; + extent = "228 150"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "texticons/twb/twb_Laserrifle.jpg"; + wrap = "0"; + }; + new ShellFancyArrayScrollCtrl(ML1) { + profile = "ShellServerBrowserProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "233 21"; + extent = "149 156"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl(ML2) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "149 140"; + minExtent = "8 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + + new VirtualScrollContentCtrl(ML3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "125 126"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(ML4) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "8 962"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + }; + new ShellFancyTextList(TribeGraphicsList) { + profile = "ShellBrowserListProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "129 152"; + minExtent = "8 20"; + visible = "1"; + command = "TribeGraphicsList.onSelect();"; + helpTag = "0"; + startScrollRegion = "1 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "15"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "1"; + noSelect = "0"; + }; + }; + new GuiTextCtrl() { + profile = "BrowserProgressProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 177"; + extent = "230 19"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "-------------- Graphic Requirements --------------"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 190"; + extent = "102 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Max Dimensions:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 203"; + extent = "58 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Max Size:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "77 216"; + extent = "46 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Format:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 203"; + extent = "20 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "28k"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 216"; + extent = "27 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "JPEG"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 190"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "228w x 150h"; + maxLength = "255"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/WarriorPropertiesDlg.gui b/public/base/@vl2/scripts.vl2/gui/WarriorPropertiesDlg.gui new file mode 100644 index 00000000..0ef9cc2f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WarriorPropertiesDlg.gui @@ -0,0 +1,517 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(WarriorPropertiesDlg) { + profile = "DlgBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + useVariable = "0"; + + new ShellDlgFrame(WarriorPropertiesMain) { + profile = "ShellDlgProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "116 69"; + extent = "408 342"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "WARRIOR PROPERTIES"; + maxLength = "255"; + + new ShellFieldCtrl(W_ProfilePane) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 63"; + extent = "385 239"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellBitmapButton(WP_EditDescriptionBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 103"; + extent = "95 38"; + minExtent = "32 38"; + visible = "1"; + command = "WarriorPropertiesDlg.editDescription();"; + helpTag = "0"; + text = "EDIT"; + simpleStyle = "0"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "180 4"; + extent = "201 77"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 14"; + extent = "25 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "URL:"; + maxLength = "255"; + }; + new ShellTextEditCtrl(UrlEdit) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "27 6"; + extent = "178 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + text = "www.tribes2.com"; + maxLength = "255"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + }; + new ShellBitmapButton(WP_ChangeUrl) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-2 40"; + extent = "206 38"; + minExtent = "32 38"; + visible = "1"; + command = "WarriorPropertiesDlg.UpdateUrl();"; + helpTag = "0"; + text = "CHANGE HOME ADDRESS"; + simpleStyle = "0"; + }; + }; + new ShellBitmapButton(WP_ClearDescriptionBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 128"; + extent = "95 38"; + minExtent = "32 38"; + visible = "1"; + command = "WarriorPropertiesDlg.clearDescription();"; + helpTag = "0"; + text = "CLEAR"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 88"; + extent = "76 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "DESCRIPTION:"; + maxLength = "255"; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 3"; + extent = "175 78"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 4"; + extent = "35 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "NAME:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "ShellTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 24"; + extent = "27 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "NEW:"; + maxLength = "255"; + }; + new ShellBitmapButton(WP_ChangeNameBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-2 42"; + extent = "179 38"; + minExtent = "32 38"; + visible = "1"; + command = "WarriorPropertiesDlg.ChangePlayerName();"; + helpTag = "0"; + text = "CHANGE NAME"; + simpleStyle = "0"; + }; + new ShellTextEditCtrl(NewNameEdit) { + profile = "NewTextEditProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "39 16"; + extent = "138 38"; + minExtent = "32 38"; + visible = "1"; + helpTag = "0"; + maxLength = "16"; + historySize = "0"; + password = "0"; + glowOffset = "9 9"; + IRCName = true; + }; + new GuiTextCtrl(wp_currentname) { + profile = "BrowserProgressProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "51 6"; + extent = "113 17"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "EAST"; + maxLength = "20"; + }; + }; + new ShellScrollCtrl() { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 88"; + extent = "295 147"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "10 5"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "14 9"; + extent = "251 129"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(WP_WarriorDescription) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "relative"; + position = "0 0"; + extent = "249 28"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "1"; + maxChars = "-1"; + }; + }; + }; + }; + new ShellFieldCtrl() { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 34"; + extent = "385 28"; + minExtent = "16 18"; + visible = "1"; + helpTag = "0"; + + new ShellBitmapButton(WP_ProfileBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-6 -5"; + extent = "105 38"; + minExtent = "32 38"; + visible = "1"; + command = "W_GraphicsControl.setVisible(0);W_ProfilePane.setVisible(1);"; + helpTag = "0"; + text = "PROFILE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(WP_GFXBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "82 -5"; + extent = "105 38"; + minExtent = "32 38"; + visible = "1"; + command = "W_ProfilePane.setVisible(0);W_GraphicsControl.setVisible(1);WarriorPropertiesDlg.LoadGfxPane();"; + helpTag = "0"; + text = "GFX"; + simpleStyle = "0"; + }; + }; + new ShellBitmapButton(W_OKBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "312 298"; + extent = "91 38"; + minExtent = "32 38"; + visible = "1"; + command = "WarriorPropertiesDlg.Close();"; + helpTag = "0"; + text = "CLOSE"; + simpleStyle = "0"; + }; + new ShellFieldCtrl(W_GraphicsControl) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 63"; + extent = "385 239"; + minExtent = "16 18"; + visible = "0"; + helpTag = "0"; + + new ShellBitmapButton(TP_SubmitGraphicBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "229 198"; + extent = "158 38"; + minExtent = "32 38"; + visible = "0"; + helpTag = "0"; + text = "FIND NEW GRAPHIC"; + simpleStyle = "0"; + }; + new GuiTextCtrl() { + profile = "BrowserProgressProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 8"; + extent = "125 17"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Current Graphic:"; + maxLength = "255"; + }; + new ShellBitmapButton(WP_SubmitGraphicBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "229 173"; + extent = "158 38"; + minExtent = "32 38"; + visible = "1"; + command = "WarriorPropertiesDlg.SetPlayerGraphic();"; + helpTag = "0"; + text = "USE SELECTED GRAPHIC"; + simpleStyle = "0"; + }; + new GuiBitmapCtrl(PlayerGraphic) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 24"; + extent = "228 150"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "texticons/twb/twb_Missilelauncher.jpg"; + wrap = "0"; + }; + new GuiTextCtrl() { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 190"; + extent = "70 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "228w x 150h"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "BrowserProgressProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 177"; + extent = "230 19"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "-------------- Graphic Requirements --------------"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 190"; + extent = "102 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Max Dimensions:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 203"; + extent = "58 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Max Size:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "77 216"; + extent = "46 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Format:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 203"; + extent = "20 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "28k"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "BrowserFilterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "131 216"; + extent = "27 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "JPEG"; + maxLength = "255"; + }; + new ShellFancyArrayScrollCtrl(WL1) { + profile = "ShellServerBrowserProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "233 21"; + extent = "149 156"; + minExtent = "24 52"; + visible = "1"; + helpTag = "0"; + fixedHorizontal = "1"; + vertSpacerBitmap = "gui/shll_vertspacer"; + horzSpacerBitmap = "gui/shll_horzspacer"; + + new VirtualScrollCtrl(WL2) { + profile = "ShellServerBrowserProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 16"; + extent = "149 140"; + minExtent = "8 52"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + + new VirtualScrollContentCtrl(WL3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "125 126"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(WL4) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 -212"; + extent = "8 962"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + }; + new ShellFancyTextList(WarriorGraphicsList) { + profile = "ShellBrowserListProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "129 152"; + minExtent = "8 20"; + visible = "1"; + command = "WarriorGraphicsList.onSelect();"; + helpTag = "0"; + startScrollRegion = "1 0"; + headerBitmap = "gui/server_tabs"; + sortArrowBitmap = "gui/shll_sortarrow"; + fieldBase = "gui/shll_field"; + barBase = "gui/shll_bar"; + glowOffset = "4"; + rowHeight = "15"; + headerFontType = "Univers Condensed"; + headerFontSize = "16"; + headerFontColor = "8 19 6 255"; + headerFontColorHL = "25 68 56 255"; + separatorColor = "192 192 192 255"; + drawSeparators = "0"; + headerSort = "1"; + allowReposition = "1"; + noSelect = "0"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/gui/WorldEditorButtonbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/WorldEditorButtonbarDlg.gui new file mode 100644 index 00000000..c97f8aee --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WorldEditorButtonbarDlg.gui @@ -0,0 +1,299 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(WorldEditorButtonbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiChunkedBitmapCtrl() { + profile = "EditorContentProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 30"; + extent = "90 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 97"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.copySelection();"; + helpTag = "0"; + text = "Copy"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 97"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.pasteSelection();"; + helpTag = "0"; + text = "Paste"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 132"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.copySelection();wEditor.deleteSelection();"; + helpTag = "0"; + text = "Cut"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 132"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.deleteSelection();"; + helpTag = "0"; + text = "Delete"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 167"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.undo();"; + helpTag = "0"; + text = "Undo"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 167"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.redo();"; + helpTag = "0"; + text = "Redo"; + }; + new GuiTextCtrl() { + profile = "GuiMediumBoldTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 8"; + extent = "80 20"; + minExtent = "80 20"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "File / Edit"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 61"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.import();"; + helpTag = "0"; + text = "Import"; + }; + new GuiPopUpMenuCtrl(DropTypeMenu) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 250"; + extent = "80 24"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + maxPopupHeight = "200"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 27"; + extent = "32 32"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(EditorSaveMissionDlg);"; + helpTag = "0"; + text = "Save"; + }; + new GuiSliderCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 392"; + extent = "80 20"; + minExtent = "80 20"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "value"; + command = "$Camera::movementSpeed = $ThisControl.getValue();"; + helpTag = "0"; + range = "5.000000 200.000000"; + ticks = "10"; + value = "57.9286"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 323"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "Canvas.pushDialog(WorldEditorSettingsDlg);"; + helpTag = "0"; + text = "Settings..."; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 62"; + extent = "32 32"; + minExtent = "32 32"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "wEditor.export();"; + helpTag = "0"; + text = "Export"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 231"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Drop:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 377"; + extent = "73 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Camera speed:"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 299"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "lightScene(\"\", forceAlways);"; + helpTag = "0"; + text = "Relight"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 204"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + variable = "wEditor.selectionLocked"; + command = "wEditor.selectionLocked = $ThisControl.getValue();"; + helpTag = "0"; + text = "Selection Lock"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function WorldEditorButtonBarDlg::getPrefs(%this) +{ + wEditor.dropType = getPrefSetting($Pref::WorldEditor::dropType, "atCamera"); +} + +function WorldEditorbuttonBarDlg::setPrefs(%this) +{ + $Pref::WorldEditor::dropType = wEditor.dropType; +} + +function WorldEditorButtonBarDlg::init(%this) +{ + DropTypeMenu.setEnumContent(WorldEditor, dropType); + %this.getPrefs(); + DropTypeMenu.setText(wEditor.dropType); +} + +function WorldEditorButtonBarDlg::onSleep(%this) +{ + %this.setPrefs(); +} + +//------------------------------------------------------------------------------ + +function DropTypeMenu::onSelect(%this, %id, %text) +{ + wEditor.dropType = %text; +} diff --git a/public/base/@vl2/scripts.vl2/gui/WorldEditorFramesetDlg.gui b/public/base/@vl2/scripts.vl2/gui/WorldEditorFramesetDlg.gui new file mode 100644 index 00000000..22b99862 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WorldEditorFramesetDlg.gui @@ -0,0 +1,188 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(WorldEditorFrameSetDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiFrameSetCtrl(WorldEditorFrameSet) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "90 30"; + extent = "550 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + rows = "0"; + columns = "0 420"; + borderWidth = "4"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + + new GuiControl(WorldEditorFrame) { + profile = "EditTSControlProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "420 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + borderWidth = "2"; + }; + new GuiFrameSetCtrl(WorldEditorToolFrameSet) { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "420 0"; + extent = "130 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + columns = "0"; + rows = "0"; + borderWidth = "3"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function WorldEditorFrameSetDlg::getPrefs(%this) +{ + %toolPaneOffset = getPrefSetting($Pref::WorldEditor::toolPaneOffset, 420); + %toolCount = getPrefSetting($Pref::WorldEditor::activeToolCount, 0); + + // set the tools + for(%i = 0; %i < %toolCount; %i++) + { + if($pref::WorldEditor::activeTool[%i] $= "") + return; + + %this.addTool(getWord($pref::WorldEditor::activeTool[%i], 0)); + %offsets[%i] = getWord($pref::WorldEditor::activeTool[%i], 1); + } + + for(%i = 0; %i < %toolCount; %i++) + WorldEditorToolFrameSet.setRowOffset(%i, %offsets[%i]); + + if(%toolCount) + WorldEditorFrameSet.setColumnOffset(1, %toolPaneOffset); +} + +function WorldEditorFrameSetDlg::setPrefs(%this) +{ + if(WorldEditorFrameSet.getColumnCount() > 1) + $pref::WorldEditor::toolPaneOffset = WorldEditorFrameSet.getColumnOffset(1); + else + $pref::WorldEditor::toolPaneOffset = %this.toolPaneOffset; + $pref::WorldEditor::activeToolCount = %this.activeToolCount; + + %tools = WorldEditorToolFrameSet; + + for(%i = 0; %i < %this.activeToolCount; %i++) + { + %obj = %tools.getObject(%i); + %offset = %tools.getRowOffset(%i); + %val = %obj.getName() @ " " @ %offset; + + $pref::WorldEditor::activeTool[%i] = %val; + } +} + +function WorldEditorFrameSetDlg::init(%this) +{ + WorldEditorFrame.add(wEditor); + %this.resetFrames(); + %this.getPrefs(); +} + +function WorldEditorFrameSetDlg::onWake(%this) +{ + WorldEditorMap.push(); + %this.getPrefs(); +} + +function WorldEditorFrameSetDlg::onSleep(%this) +{ + WorldEditorMap.pop(); + + // + %this.setPrefs(); +} + +function WorldEditorFrameSetDlg::update(%this) +{ + // check the frame to see if it is visible + if(WorldEditorToolFrameSet.getCount()) + { + %res = getResolution(); + + // 90 = width of button bar + %width = getWord(%res, 0) - 90; + + if(WorldEditorFrameSet.getColumnOffset(1) > %width - editor.minToolFrameWidth) + WorldEditorFrameSet.setColumnOffset(1, %width - editor.minToolFrameWidth); + } +} + +function WorldEditorFrameSetDlg::resetFrames(%this) +{ + // update the tool pane + %tools = WorldEditorToolFrameSet; + while(%tools.getRowCount() > %tools.getCount()) + %tools.removeRow(); + while(%tools.getRowCount() < %tools.getCount()) + %tools.addRow(); + + // update the frame view + %frameSet = WorldEditorFrameSet; + if(!%tools.getCount() && (%frameSet.getColumnCount() > 1)) + { + %frameSet.toolPaneOffset = %frameSet.getColumnOffset(1); + %frameSet.removeColumn(); + } + if(%tools.getCount() && (%frameSet.getColumnCount() == 1)) + { + %frameSet.addColumn(); + %frameSet.setColumnOffset(1, %frameSet.toolPaneOffset); + } + + if(%tools.getCount()) + %this.toolPaneOffset = WorldEditorFrameSet.getColumnOffset(1); + %this.activeToolCount = %tools.getCount(); +} + +function WorldEditorFrameSetDlg::addTool(%this, %tool) +{ + WorldEditorToolFrameSet.add(%tool); + %this.resetFrames(); +} + +function WorldEditorFrameSetDlg::removeTool(%this, %tool) +{ + WorldEditorToolFrameSet.remove(%tool); + %this.resetFrames(); +} diff --git a/public/base/@vl2/scripts.vl2/gui/WorldEditorGui.gui b/public/base/@vl2/scripts.vl2/gui/WorldEditorGui.gui new file mode 100644 index 00000000..3b4c13d4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WorldEditorGui.gui @@ -0,0 +1,389 @@ +//--- OBJECT WRITE BEGIN --- + +new WorldEditor(wEditor) +{ + profile = ""; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "420 420"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; +}; + +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function WorldEditor::getPrefs(%this) +{ + // same defaults as WorldEditor ctor + %this.planarMovement = getPrefSetting($pref::WorldEditor::planarMovement, true); + %this.undoLimit = getPrefSetting($pref::WorldEditor::undoLimit, 40); + %this.dropType = getPrefSetting($pref::WorldEditor::dropType, "screenCenter"); + %this.projectDistance = getPrefSetting($pref::WorldEditor::projectDistance, 2000); + %this.boundingBoxCollision = getPrefSetting($pref::WorldEditor::boundingBoxCollision, true); + %this.renderPlane = getPrefSetting($pref::WorldEditor::renderPlane, true); + %this.renderPlaneHashes = getPrefSetting($pref::WorldEditor::renderPlaneHashes, true); + %this.gridColor = getPrefSetting($pref::WorldEditor::gridColor, "255 255 255 20"); + %this.planeDim = getPrefSetting($pref::WorldEditor::planeDim, 500); + %this.gridSize = getPrefSetting($pref::WorldEditor::gridSize, "10 10 10"); + %this.renderPopupBackground = getPrefSetting($pref::WorldEditor::renderPopupBackground, true); + %this.popupBackgroundColor = getPrefSetting($pref::WorldEditor::popupBackgroundColor, "100 100 100"); + %this.popupTextColor = getPrefSetting($pref::WorldEditor::popupTextColor, "255 255 0"); + %this.selectHandle = getPrefSetting($pref::WorldEditor::selectHandle, "gui/Editor_SelectHandle.png"); + %this.defaultHandle = getPrefSetting($pref::WorldEditor::defaultHandle, "gui/Editor_DefaultHandle.png"); + %this.lockedHandle = getPrefSetting($pref::WorldEditor::lockedHandle, "gui/Editor_LockedHandle.png"); + %this.objectTextColor = getPrefSetting($pref::WorldEditor::objectTextColor, "255 255 255"); + %this.objectsUseBoxCenter = getPrefSetting($pref::WorldEditor::objectsUseBoxCenter, true); + %this.axisGizmoMaxScreenLen = getPrefSetting($pref::WorldEditor::axisGizmoMaxScreenLen, 200); + %this.axisGizmoActive = getPrefSetting($pref::WorldEditor::axisGizmoActive, true); + %this.mouseMoveScale = getPrefSetting($pref::WorldEditor::mouseMoveScale, 0.2); + %this.mouseRotateScale = getPrefSetting($pref::WorldEditor::mouseRotateScale, 0.01); + %this.mouseScaleScale = getPrefSetting($pref::WorldEditor::mouseScaleScale, 0.01); + %this.minScaleFactor = getPrefSetting($pref::WorldEditor::minScaleFactor, 0.1); + %this.maxScaleFactor = getPrefSetting($pref::WorldEditor::maxScaleFactor, 4000); + %this.objSelectColor = getPrefSetting($pref::WorldEditor::objSelectColor, "255 0 0"); + %this.objMouseOverSelectColor = getPrefSetting($pref::WorldEditor::objMouseOverSelectColor, "0 0 255"); + %this.objMouseOverColor = getPrefSetting($pref::WorldEditor::objMouseOverColor, "0 255 0"); + %this.showMousePopupInfo = getPrefSetting($pref::WorldEditor::showMousePopupInfo, true); + %this.dragRectColor = getPrefSetting($pref::WorldEditor::dragRectColor, "255 255 0"); + %this.renderObjText = getPrefSetting($pref::WorldEditor::renderObjText, true); + %this.renderObjHandle = getPrefSetting($pref::WorldEditor::renderObjHandle, true); + %this.faceSelectColor = getPrefSetting($pref::WorldEditor::faceSelectColor, "0 0 100 100"); + %this.renderSelectionBox = getPrefSetting($pref::WorldEditor::renderSelectionBox, true); + %this.selectionBoxColor = getPrefSetting($pref::WorldEditor::selectionBoxColor, "255 255 0"); + %this.snapToGrid = getPrefSetting($pref::WorldEditor::snapToGrid, false); + %this.snapRotations = getPrefSetting($pref::WorldEditor::snapRotations, false); + %this.rotationSnap = getPrefSetting($pref::WorldEditor::rotationSnap, "15"); + + // + %this.currentMode = "move"; +} + +function WorldEditor::setPrefs(%this) +{ + $pref::WorldEditor::planarMovement = %this.planarMovement; + $pref::WorldEditor::undoLimit = %this.undoLimit; + $pref::WorldEditor::dropType = %this.dropType; + $pref::WorldEditor::projectDistance = %this.projectDistance; + $pref::WorldEditor::boundingBoxCollision = %this.boundingBoxCollision; + $pref::WorldEditor::renderPlane = %this.renderPlane; + $pref::WorldEditor::renderPlaneHashes = %this.renderPlaneHashes; + $pref::WorldEditor::gridColor = %this.GridColor; + $pref::WorldEditor::planeDim = %this.planeDim; + $pref::WorldEditor::gridSize = %this.GridSize; + $pref::WorldEditor::renderPopupBackground = %this.renderPopupBackground; + $pref::WorldEditor::popupBackgroundColor = %this.PopupBackgroundColor; + $pref::WorldEditor::popupTextColor = %this.PopupTextColor; + $pref::WorldEditor::selectHandle = %this.selectHandle; + $pref::WorldEditor::defaultHandle = %this.defaultHandle; + $pref::WorldEditor::lockedHandle = %this.lockedHandle; + $pref::WorldEditor::objectTextColor = %this.ObjectTextColor; + $pref::WorldEditor::objectsUseBoxCenter = %this.objectsUseBoxCenter; + $pref::WorldEditor::axisGizmoMaxScreenLen = %this.axisGizmoMaxScreenLen; + $pref::WorldEditor::axisGizmoActive = %this.axisGizmoActive; + $pref::WorldEditor::mouseMoveScale = %this.mouseMoveScale; + $pref::WorldEditor::mouseRotateScale = %this.mouseRotateScale; + $pref::WorldEditor::mouseScaleScale = %this.mouseScaleScale; + $pref::WorldEditor::minScaleFactor = %this.minScaleFactor; + $pref::WorldEditor::maxScaleFactor = %this.maxScaleFactor; + $pref::WorldEditor::objSelectColor = %this.objSelectColor; + $pref::WorldEditor::objMouseOverSelectColor = %this.objMouseOverSelectColor; + $pref::WorldEditor::objMouseOverColor = %this.objMouseOverColor; + $pref::WorldEditor::showMousePopupInfo = %this.showMousePopupInfo; + $pref::WorldEditor::dragRectColor = %this.dragRectColor; + $pref::WorldEditor::renderObjText = %this.renderObjText; + $pref::WorldEditor::renderObjHandle = %this.renderObjHandle; + $pref::WorldEditor::raceSelectColor = %this.faceSelectColor; + $pref::WorldEditor::renderSelectionBox = %this.renderSelectionBox; + $pref::WorldEditor::selectionBoxColor = %this.selectionBoxColor; + $pref::WorldEditor::snapToGrid = %this.snapToGrid; + $pref::WorldEditor::snapRotations = %this.snapRotations; + $pref::WorldEditor::rotationSnap = %this.rotationSnap; +} + +function WorldEditor::init(%this) +{ + %this.getPrefs(); + + // add objclasses which we do not want to collide with + %this.ignoreObjClass(TerrainBlock, Sky, AIObjective); + + // editing modes + %this.numEditModes = 3; + %this.editMode[0] = "move"; + %this.editMode[1] = "rotate"; + %this.editMode[2] = "scale"; + + %this.setMode(%this.currentMode); + + // context menu + new GuiControl(WEContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiPopUpMenuCtrl(WEContextPopup) + { + profile = "GuiButtonProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + command = "canvas.popDialog(WEContextPopupDlg);"; + }; + }; + WEContextPopup.setVisible(false); +} + +//------------------------------------------------------------------------------ + +function WorldEditor::onDblClick(%this, %obj) +{ + Inspector.inspect(%obj); + InspectorNameEdit.setValue(%obj.getName()); +} + +//------------------------------------------------------------------------------ + +function WorldEditor::doExport(%this, %file) +{ + missionGroup.save("editor/" @ %file, true); +} + +function WorldEditor::export(%this) +{ + getSaveFilename("editor/*.mac", %this @ ".doExport", "selection.mac"); +} + +function WorldEditor::doImport(%this, %file) +{ + exec("editor/" @ %file); +} + +function WorldEditor::import(%this) +{ + getLoadFilename("editor/*.mac", %this @ ".doImport"); +} + +//------------------------------------------------------------------------------ +// modes + +function WorldEditor::getModeIndex(%this) +{ + %mode = %this.getMode(); + for(%i = 0; %i < %this.numEditModes; %i++) + if(%mode $= %this.editMode[%i]) + return %i; + + return 0; +} + +function WorldEditor::nextMode(%this) +{ + %idx = %this.getModeIndex(); + + // + %idx++; + if(%idx == %this.numEditModes) + %idx = 0; + + %this.setMode(%this.editMode[%idx]); +} + +function WorldEditor::previousMode(%this) +{ + %idx = %this.getModeIndex(); + + // + if(%idx == 0) + %idx = %this.numEditModes - 1; + else + %idx--; + + %this.setMode(%this.editMode[%idx]); +} + +function WorldEditor::onGuiUpdate(%this, %text) +{ + WorldEditorFrameSetDlg.update(); + AIEFrameSetDlg.update(); + WorldEditorStatusbarDlg.update(); +} + +function WorldEditor::anyObjectLocked(%this) +{ + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.locked $= "true") + return 1; + } + return 0; +} + +function WorldEditor::anyObjectHidden(%this) +{ + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.hidden $= "true") + return 1; + } + return 0; +} + +function WorldEditor::onContextMenu(%this, %mousePos) +{ + if(!$missionRunning) + return; + + WEContextPopup.position = %mousePos; + + WEContextPopup.clear(); + + if(%this.getSelectionSize() == 0) + { + if(%this.canPasteSelection()) + WEContextPopup.add("Paste", 1); + else + return; + } + else + { + WEContextPopup.add("Copy", 0); + + if(%this.canPasteSelection()) + WEContextPopup.add("Paste", 1); + + WEContextPopup.add("Cut", 2); + + if(%this.anyObjectLocked()) + WEContextPopup.add("Unlock", 3); + else + WEContextPopup.add("Lock", 3); + + if(%this.anyObjectHidden()) + WEContextPopup.add("Unhide", 4); + else + WEContextPopup.add("Hide", 4); + } + + canvas.pushDialog(WEContextPopupDlg); + WEContextPopup.forceOnAction(); +} + +function WEContextPopup::onSelect(%this, %index, %value) +{ + switch(%index) + { + case 0: + if($AIedit) + aiEdit.copySelection(); + else + wEditor.copySelection(); + case 1: + if($AIedit) + aiEdit.pasteSelection(); + else + wEditor.pasteSelection(); + case 2: + if($AIedit) + { + aiEdit.copySelection(); + aiEdit.deleteSelection(); + } + else + { + wEditor.copySelection(); + wEditor.deleteSelection(); + } + case 3: + wEditor.lockSelection(!wEditor.anyObjectLocked()); + case 4: + wEditor.hideSelection(!wEditor.anyObjectHidden()); + } +} + +function WorldEditor::dropCameraToSelection(%this) +{ + if(%this.getSelectionSize() == 0) + return; + + %pos = %this.getSelectionCentroid(); + %cam = 2.camera.getTransform(); + + // set the pnt + %cam = setWord(%cam, 0, getWord(%pos, 0)); + %cam = setWord(%cam, 1, getWord(%pos, 1)); + %cam = setWord(%cam, 2, getWord(%pos, 2)); + + 2.camera.setTransform(%cam); +} + +// * pastes the selection at the same place (used to move obj from a group to another) +function WorldEditor::moveSelectionInPlace(%this) +{ + %saveDropType = %this.dropType; + %this.dropType = "atCentroid"; + %this.copySelection(); + %this.deleteSelection(); + %this.pasteSelection(); + %this.dropType = %saveDropType; +} + +// resets the scale and rotation on the selection set +function WorldEditor::resetTransforms(%this) +{ + %this.addUndoState(); + + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + %transform = %obj.getTransform(); + + %transform = setWord(%transform, 3, "0"); + %transform = setWord(%transform, 4, "0"); + %transform = setWord(%transform, 5, "1"); + %transform = setWord(%transform, 6, "0"); + + // + %obj.setTransform(%transform); + %obj.setScale("1 1 1"); + } +} + +//------------------------------------------------------------------------------ +// keys + +new ActionMap(WorldEditorMap); +WorldEditorMap.bindCmd(keyboard, "space", "wEditor.nextMode();", ""); + +WorldEditorMap.bindCmd(keyboard, "ctrl c", "wEditor.copySelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl x", "wEditor.copySelection();wEditor.deleteSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "delete", "wEditor.copySelection();wEditor.deleteSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl v", "wEditor.pasteSelection();", ""); + +WorldEditorMap.bindCmd(keyboard, "ctrl z", "wEditor.undo();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl y", "wEditor.redo();", ""); + +WorldEditorMap.bindCmd(keyboard, "ctrl h", "wEditor.hideSelection(true);", ""); +WorldEditorMap.bindCmd(keyboard, "alt h", "wEditor.hideSelection(false);", ""); +WorldEditorMap.bindCmd(keyboard, "i", "Canvas.pushDialog(interiorDebugDialog);", ""); +WorldEditorMap.bindCmd(keyboard, "o", "Canvas.pushDialog(WorldEditorSettingsDlg);", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl d", "wEditor.dropSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl q", "wEditor.dropCameraToSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl m", "wEditor.moveSelectionInPlace();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl r", "wEditor.resetTransforms();", ""); diff --git a/public/base/@vl2/scripts.vl2/gui/WorldEditorSettingsDlg.gui b/public/base/@vl2/scripts.vl2/gui/WorldEditorSettingsDlg.gui new file mode 100644 index 00000000..0e377885 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WorldEditorSettingsDlg.gui @@ -0,0 +1,620 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(WorldEditorSettingsDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "90 55"; + extent = "459 370"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "WorldEditor Settings"; + maxLength = "255"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(WorldEditorSettingsDlg);"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "307 332"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(WorldEditorSettingsDlg);"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiControl(WESettingsGeneralTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 27"; + extent = "220 210"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.planarMovement"; + command = "EWorldEditor.planarMovement = $ThisControl.getValue();"; + helpTag = "0"; + text = "Planar Movement"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 36"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.boundingBoxCollision"; + command = "EWorldEditor.boundingBoxCollision = $ThisControl.getValue();"; + helpTag = "0"; + text = "Collide With Object\'s Bounding Box"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 88"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.axisGizmoActive"; + command = "EWorldEditor.axisGizmoActive = $ThisControl.getValue();"; + helpTag = "0"; + text = "Axis Gizmo Active"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 62"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.objectsUseBoxCenter"; + command = "EWorldEditor.objectsUseBoxCenter = $ThisControl.getValue();"; + helpTag = "0"; + text = "Objects Use Box Center"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 123"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Scale Factor:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 146"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Scale Factor:"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 123"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.minScaleFactor"; + command = "EWorldEditor.minScaleFactor = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 146"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.maxScaleFactor"; + command = "EWorldEditor.maxScaleFactor = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 178"; + extent = "80 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Visible Distance:"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 178"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "pref::Editor::visibleDistance"; + command = "$pref::Editor::visibleDistance = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiControl(WESettingsDisplayTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 27"; + extent = "220 210"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderPlane"; + command = "EWorldEditor.renderPlane = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Plane"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 37"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderPlaneHashes"; + command = "EWorldEditor.renderPlaneHashes = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Plane Hashes"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 64"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderObjText"; + command = "EWorldEditor.renderObjText = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Object Text"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 119"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderSelectionBox"; + command = "EWorldEditor.renderSelectionBox = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Selection Box"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 151"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.planeDim"; + command = "EWorldEditor.planeDim = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 151"; + extent = "59 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Plane Extent"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 175"; + extent = "44 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Grid Size"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 175"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.gridSize"; + command = "EWorldEditor.gridSize = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 90"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderObjHandle"; + command = "EWorldEditor.renderObjHandle = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Object Handle"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + }; + new GuiControl(WESettingsSnapTab) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 52"; + extent = "220 210"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 39"; + extent = "44 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Grid Size"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 39"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.gridSize"; + command = "EWorldEditor.gridSize = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.snapToGrid"; + command = "EWorldEditor.snapToGrid = $ThisControl.getValue();"; + helpTag = "0"; + text = "Snap To Grid"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 66"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.snapRotations"; + command = "EWorldEditor.snapRotations = $ThisControl.getValue();"; + helpTag = "0"; + text = "Snap Rotations"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 95"; + extent = "56 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Snap Angle"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 95"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.rotationSnap"; + command = "EWorldEditor.rotationSnap = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiControl(WESettingsMouseTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 241"; + extent = "220 121"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.showMousePopupInfo"; + command = "EWorldEditor.showMousePopupInfo = $ThisControl.getValue();"; + helpTag = "0"; + text = "Show Mouse Popup Info"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 35"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.mouseMoveScale"; + command = "EWorldEditor.mouseMoveScale = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 60"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.mouseRotateScale"; + command = "EWorldEditor.mouseRotateScale = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 85"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.mouseScaleScale"; + command = "EWorldEditor.mouseScaleScale = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 60"; + extent = "61 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Rotate Scale"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 85"; + extent = "57 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Scale Scale"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 35"; + extent = "56 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Move Scale"; + maxLength = "255"; + }; + }; + new GuiControl(WESettingsMiscTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 241"; + extent = "220 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Project Distance"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 9"; + extent = "89 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Gizmo Screen Len"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 35"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.projectDistance"; + command = "EWorldEditor.projectDistance = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 9"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.axisGizmoMaxScreenLen"; + command = "EWorldEditor.axisGizmoMaxScreenLen = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/public/base/@vl2/scripts.vl2/gui/WorldEditorStatusbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/WorldEditorStatusbarDlg.gui new file mode 100644 index 00000000..236f9f8c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WorldEditorStatusbarDlg.gui @@ -0,0 +1,135 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(WorldEditorStatusbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "0 450"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 8"; + extent = "39 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Mission:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "244 8"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Mode:"; + }; + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "274 6"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiButtonCtrl(WEModeText) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + command = "nextMode();"; + }; + }; + new GuiControl() { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "49 6"; + extent = "188 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiTextCtrl(WEMissionNameText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 2"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function WorldEditorStatusbarDlg::init(%this) +{ + %this.update(); +} + +function WorldEditorStatusBarDlg::update(%this) +{ + if($MissionName $= "") + WEMissionNameText.setValue(""); + else + WEMissionNameText.setValue($MissionName); + + if($aiEdit) + WEModeText.setValue(aiEdit.getMode()); + else + WEModeText.setValue(wEditor.getMode()); +} + +function nextMode() +{ + if($aiEdit) + aiEdit.nextMode(); + else + wEditor.nextMode(); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/WorldEditorToolbarDlg.gui b/public/base/@vl2/scripts.vl2/gui/WorldEditorToolbarDlg.gui new file mode 100644 index 00000000..d675b129 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/WorldEditorToolbarDlg.gui @@ -0,0 +1,92 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(WorldEditorToolbarDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorContentProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 30"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "0"; + helpTag = "0"; + + new GuiCheckBoxCtrl(WorldEditorCreatorCheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "381 5"; + extent = "63 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if($ThisControl.getValue()) WorldEditorFrameSetDlg.addTool(EditorToolCreatorGui); else WorldEditorFrameSetDlg.removeTool(EditorToolCreatorGui);"; + helpTag = "0"; + text = "Creator"; + }; + new GuiCheckBoxCtrl(WorldEditorTreeCheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "444 5"; + extent = "63 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if($ThisControl.getValue()) WorldEditorFrameSetDlg.addTool(EditorToolTreeViewGui); else WorldEditorFrameSetDlg.removeTool(EditorToolTreeViewGui);"; + helpTag = "0"; + text = "Tree"; + }; + new GuiCheckBoxCtrl(WorldEditorMissionAreaCheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "507 5"; + extent = "63 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if($ThisControl.getValue()) WorldEditorFrameSetDlg.addTool(EditorToolMissionAreaGui); else WorldEditorFrameSetDlg.removeTool(EditorToolMissionAreaGui);"; + helpTag = "0"; + text = "Mission"; + }; + new GuiCheckBoxCtrl(WorldEditorInspectorCheckBox) { + profile = "GuiRadioProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "570 5"; + extent = "63 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "if($ThisControl.getValue()) WorldEditorFrameSetDlg.addTool(EditorToolInspectorGui); else WorldEditorFrameSetDlg.removeTool(EditorToolInspectorGui);"; + helpTag = "0"; + text = "Inspector"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function WorldEditorToolbarDlg::init(%this) +{ + WorldEditorInspectorCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolInspectorGui")); + WorldEditorMissionAreaCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolMissionAreaGui")); + WorldEditorTreeCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolTreeViewGui")); + WorldEditorCreatorCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolCreatorGui")); +} diff --git a/public/base/@vl2/scripts.vl2/gui/cmdMapHelpText.gui b/public/base/@vl2/scripts.vl2/gui/cmdMapHelpText.gui new file mode 100644 index 00000000..ba585dc5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/cmdMapHelpText.gui @@ -0,0 +1,436 @@ +new GuiControl(CmdMapHelpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new GuiControl(teamButtonBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 5"; + extent = "160 50"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(teamButtonHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "150 15"; + minExtent = "8 8"; + visible = "1"; + text = "TEAMMATES"; + }; + new GuiMLTextCtrl(teamButtonText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "150 35"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(teamButtonLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "435 8"; + extent = "20 5"; + flip = "0"; + visible = "1"; + }; + + new GuiControl(tacticalButtonBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "270 57"; + extent = "170 80"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(tacticalButtonHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "170 15"; + minExtent = "8 8"; + visible = "1"; + text = "TACTICAL ASSETS"; + }; + new GuiMLTextCtrl(tacticalButtonText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "170 65"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(tacticalButtonLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "430 60"; + extent = "20 5"; + flip = "0"; + visible = "1"; + }; + + new GuiControl(supportButtonBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 139"; + extent = "160 65"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(supportButtonHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "150 15"; + minExtent = "8 8"; + visible = "1"; + text = "SUPPORT ASSETS"; + }; + new GuiMLTextCtrl(supportButtonText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "150 50"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + + new GuiControl(waypointButtonBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 110"; + extent = "100 35"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + + new GuiTextCtrl(waypointButtonHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "90 15"; + minExtent = "8 8"; + visible = "1"; + text = "WAYPOINTS"; + }; + new GuiMLTextCtrl(waypointButtonText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "90 15"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + + new GuiControl(objectiveButtonBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "125 150"; + extent = "150 35"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + + new GuiTextCtrl(objectiveButtonHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "140 15"; + minExtent = "8 8"; + visible = "1"; + text = "OBJECTIVES"; + }; + new GuiMLTextCtrl(objectiveButtonText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 20"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + + new GuiControl(sensorToolBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "160 208"; + extent = "280 50"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(sensorToolHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "270 15"; + minExtent = "8 8"; + visible = "1"; + text = "SENSOR"; + }; + new GuiMLTextCtrl(sensorToolText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "270 35"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + + new GuiControl(handToolBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "200 260"; + extent = "240 65"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + + new GuiTextCtrl(handToolHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "250 15"; + minExtent = "8 8"; + visible = "1"; + text = "HAND/POINTER"; + }; + new GuiMLTextCtrl(handToolText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "250 50"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(handToolLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "435 323"; + extent = "20 5"; + flip = "0"; + visible = "1"; + }; + + new GuiControl(zoomToolBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "200 327"; + extent = "240 50"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(zoomToolHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "235 15"; + minExtent = "8 8"; + visible = "1"; + text = "ZOOM"; + }; + new GuiMLTextCtrl(zoomToolText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "230 35"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(zoomToolLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "435 365"; + extent = "20 5"; + flip = "0"; + visible = "1"; + }; + + new GuiControl(centerToolBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "200 379"; + extent = "240 65"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(centerToolHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "230 15"; + minExtent = "8 8"; + visible = "1"; + text = "CENTER MAP"; + }; + new GuiMLTextCtrl(centerToolText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "230 50"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(centerToolLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "435 400"; + extent = "20 5"; + flip = "0"; + visible = "1"; + }; + + new GuiControl(textToolBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "220 446"; + extent = "220 35"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(textToolHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "210 15"; + minExtent = "8 8"; + visible = "1"; + text = "TEXT ON/OFF"; + }; + new GuiMLTextCtrl(textToolText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "210 20"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + + new GuiControl(cameraToolBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "2 380"; + extent = "190 95"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(cameraToolHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "180 15"; + minExtent = "8 8"; + visible = "1"; + text = "CAMERA"; + }; + new GuiMLTextCtrl(cameraToolText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "180 80"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new GuiControl(generalHelpBox) { + profile = "GuiHelpBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 140"; + extent = "120 235"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(generalHelpHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "110 15"; + minExtent = "8 8"; + visible = "1"; + text = "COMMAND MAP"; + }; + new GuiMLTextCtrl(generalHelpText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "110 225"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; +}; + +commanderMapGui.add(CmdMapHelpTextGui); \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/guiProfiles.cs b/public/base/@vl2/scripts.vl2/gui/guiProfiles.cs new file mode 100644 index 00000000..0722d7f6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/guiProfiles.cs @@ -0,0 +1,1656 @@ + +//-------------------------------------------------------------------------- +//-------------------------------------- Cursors +// +new GuiCursor(DefaultCursor) +{ + hotSpot = "1 1"; + bitmapName = "gui/CUR_3darrow"; +}; + +new GuiCursor(ArrowNoCursor) +{ + hotSpot = "1 1"; + bitmapName = "gui/CUR_3darrowno"; +}; + +new GuiCursor(ArrowWaitCursor) +{ + hotSpot = "1 1"; + bitmapName = "gui/CUR_3darrowwait"; +}; + +new GuiCursor(ArrowHelpCursor) +{ + hotSpot = "1 1"; + bitmapName = "gui/CUR_3darrowhelp"; +}; + +new GuiCursor(MoveCursor) +{ + hotSpot = "11 11"; + bitmapName = "gui/CUR_3dmove"; +}; + +new GuiCursor(UpDownCursor) +{ + hotSpot = "5 10"; + bitmapName = "gui/CUR_3dupdown"; +}; + +new GuiCursor(LeftRightCursor) +{ + hotSpot = "9 5"; + bitmapName = "gui/CUR_3dleftright"; +}; + +new GuiCursor(DiagRightCursor) +{ + hotSpot = "8 8"; + bitmapName = "gui/CUR_3ddiagright"; +}; + +new GuiCursor(DiagLeftCursor) +{ + hotSpot = "8 8"; + bitmapName = "gui/CUR_3ddiagleft"; +}; + +new GuiCursor(RotateCursor) +{ + hotSpot = "11 14"; + bitmapName = "gui/CUR_rotate"; +}; + +new GuiCursor(ResizeDownCursor) +{ + hotSpot = "4 8"; + bitmapName = "gui/CUR_3dresizeright"; +}; + +new GuiCursor(GrabCursor) +{ + hotSpot = "9 13"; + bitmapName = "gui/CUR_Grab"; +}; + +//-------------------------------------------------------------------------- +//-------------------------------------- Profiles +// +new GuiControlProfile("GuiDialogProfile"); + +new GuiControlProfile("GuiModelessDialogProfile") +{ + modal = false; +}; + +new GuiControlProfile ("GuiContentProfile") +{ + opaque = true; + fillColor = "255 255 255"; +}; + +new GuiControlProfile ("clockProfile") +{ + fontType = "Univers Condensed"; + fontSize = 12; + fontColor = "255 255 255"; +}; + +new GuiControlProfile ("SiegeHalftimeClockProfile") +{ + fontType = "Univers Condensed"; + fontSize = 18; + fontColor = "255 255 255"; +}; + +new GuiControlProfile ("GuiContentProfileNoClear") +{ + opaque = false; + fillColor = "255 255 255"; +}; + +//-------------------------------------------------------------------------- +// Base font definitions: +//-------------------------------------------------------------------------- +$ShellFont = "Univers"; +$ShellFontSize = 16; +$ShellMediumFontSize = 18; +$ShellHeaderFont = "Sui Generis"; +$ShellHeaderFontSize = 22; +$ShellButtonFont = "Univers Condensed"; +$ShellButtonFontSize = 16; +$ShellLabelFont = "Univers Condensed"; +$ShellLabelFontSize = 18; +$ShellBoldFont = "Univers Bold"; + +$ShellColorBright = "173 255 250"; +$ShellColorDark = "130 190 185"; +$ShellColorVeryDark = "0 117 133"; + +// Color coding system for Player names in the game: +$PlayerNameColor = "200 200 200"; +$TribeTagColor = "220 220 20"; +$SmurfNameColor = "150 150 250"; +$BotNameColor = "60 220 150"; + +//-------------------------------------------------------------------------- +// Beginning of the "New Shell" section: +new GuiControlProfile ("ShellButtonProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "5 5 5"; + fontColorSEL = "25 68 56"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/shll_button"; + textOffset = "0 10"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellButtonNoTabProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "5 5 5"; + fontColorSEL = "25 68 56"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/shll_button"; + textOffset = "0 10"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = false; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellRadioProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "5 5 5"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/shll_radio"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellTabProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "5 5 5"; + fontColorSEL = "8 19 6"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/shll_tabbutton"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("TabGroupProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "5 5 5"; + fontColorSEL = "8 19 6"; + fixedExtent = true; + bitmapBase = "gui/shll_horztabbutton"; + justify = "center"; + textOffset = "8 0"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("LaunchTabProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "60 140 140"; + fontColorHL = "6 245 215"; + fontColorNA = "64 64 64"; + fontColorSEL = "6 245 215"; + fixedExtent = true; + bitmapBase = "gui/lnch_tab"; + justify = "center"; + textOffset = "8 0"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellTabFrameProfile") +{ + bitmapBase = "gui/shll_tabframe"; +}; + +new GuiControlProfile ("ShellHorzTabFrameProfile") +{ + bitmapBase = "gui/shll_horztabframe"; +}; + +new GuiControlProfile ("ShellPopupProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "5 5 5"; + fontColorSEL = "8 19 6"; + fixedExtent = true; + justify = "center"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + bitmapBase = "gui/shll_scroll"; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("NewTextEditProfile") +{ + fillColorHL = $ShellColorDark; + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 140 140"; + fontColorHL = "25 68 56"; + fontColorNA = "128 128 128"; + cursorColor = $ShellColorBright; + bitmap = "gui/shll_entryfield"; + textOffset = "14 0"; + autoSizeWidth = false; + autoSizeHeight = false; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("NewTextEditNumericProfile") +{ + fillColorHL = $ShellColorDark; + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 140 140"; + fontColorHL = "25 68 56"; + fontColorNA = "128 128 128"; + cursorColor = $ShellColorBright; + bitmap = "gui/shll_entryfield"; + justify = "center"; + textOffset = "14 0"; + autoSizeWidth = false; + autoSizeHeight = false; + numbersOnly = true; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("NewTextEditCenterProfile") +{ + fillColorHL = $ShellColorDark; + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 140 140"; + fontColorHL = "25 68 56"; + fontColorNA = "128 128 128"; + cursorColor = $ShellColorBright; + bitmap = "gui/shll_entryfield"; + justify = "center"; + autoSizeWidth = false; + autoSizeHeight = false; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("NewScrollCtrlProfile") +{ + bitmapBase = "gui/shll_scroll"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; +}; + +new GuiControlProfile ("ShellFieldProfile") +{ + bitmapBase = "gui/shll_field"; +}; + +new GuiControlProfile ("ShellSliderProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellFontSize; + fontColor = "60 180 180"; + fontColorNA = "128 128 128"; + bitmapBase = "gui/shll_scroll"; + canKeyFocus = true; + soundButtonOver = sButtonOver; +}; + +new GuiControlProfile ("ShellTextArrayProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 180 180"; + fontColorHL = "6 245 215"; + fontColorNA = "108 108 108"; + fontColorSEL = "25 68 56"; + bitmapBase = "gui/shll_bar"; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellActiveTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 180 180"; + fontColorHL = "6 245 215"; + fontColorNA = "128 128 128"; + fontColorSEL = "25 68 56"; + justify = "center"; +}; + +new GuiControlProfile ("ShellPaneProfile") +{ + fontType = $ShellHeaderFont; + fontSize = $ShellHeaderFontSize; + fontColor = "5 5 5"; + autoSizeWidth = false; + autoSizeHeight = false; + bitmapBase = "gui/shll"; +}; + +new GuiControlProfile ("ShellDlgPaneProfile") +{ + fontType = $ShellHeaderFont; + fontSize = $ShellHeaderFontSize; + fontColor = "5 5 5"; + autoSizeWidth = false; + autoSizeHeight = false; + bitmapBase = "gui/dlg"; +}; + +new GuiControlProfile ("ShellWindowProfile") +{ + borderColor = "3 124 134"; + fontType = $ShellHeaderFont; + fontSize = $ShellHeaderFontSize; + fontColor = "5 5 5"; + autoSizeWidth = false; + autoSizeHeight = false; + bitmapBase = "gui/dlg"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; +}; + +new GuiControlProfile ("ShellDlgProfile") +{ + fontType = $ShellHeaderFont; + fontSize = $ShellHeaderFontSize; + fontColor = "5 5 5"; + bitmap = "gui/dlg_box"; + autoSizeWidth = false; + autoSizeHeight = false; +}; + +new GuiControlProfile ("BrowserH1Profile") +{ + fontType = "Univers Condensed Bold"; + fontSize = 28; + fontColor = "40 247 113"; // green + autoSizeWidth = false; + autoSizeHeight = true; + bitmapBase = "gui/shll"; +}; + +new GuiControlProfile ("CloseButtonProfile") +{ + bitmap = "gui/shll_menuclose"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("SoundTestButtonProfile") +{ + bitmap = "gui/shll_soundbutton"; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("LaunchMenuProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "6 245 215"; + fontColorHL = "74 251 228"; + fontColorSEL = "4 41 45"; + borderColor = "84 121 125 200"; + fixedExtent = true; + justify = "center"; + bitmapBase = "gui/launch_btn"; + textOffset = "0 19"; + soundButtonDown = sLaunchMenuOpen; + soundButtonOver = sLaunchMenuOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("LaunchBtnTopProfile") +{ + fixedExtent = true; + bitmapBase = "gui/launchtop_btn"; +}; + +new GuiControlProfile ("ShellServerBrowserProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 180 180"; + fontColorHL = "6 245 215"; + fontColorNA = "128 128 128"; + fontColorSEL = "25 68 56"; + fontColors[4] = "20 167 93"; // Mod base color + fontColors[5] = "40 217 113"; // Mod rollover color + fontColors[6] = "5 60 30"; // Mod selected color + fontColors[7] = "108 108 108"; // Differing build base color + fontColors[8] = "168 168 168"; // Differing build rollover color + fontColors[9] = "58 58 58"; // Differing build selected color + bitmapBase = "gui/shll_scroll"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellBrowserListProfile") +{ + fontType = $ShellFont; + fontSize = 12; + fontColor = "20 220 20"; + fontColorHL = "60 250 60"; + fontColorNA = "128 128 128"; + fontColorSEL = "0 60 0"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("LobbyPlayerListProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 180 180"; + fontColorHL = "6 245 215"; + fontColorNA = "128 128 128"; + fontColorSEL = "25 68 56"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + bitmapBase = "gui/shll_scroll"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellBrowserTitleProfile") +{ + fontType = "Sui Generis"; + fontSize = 32; + fontColor = "173 255 250"; + autoSizeWidth = true; + autoSizeHeight = true; + tab = false; + canKeyFocus = false; +}; +//-------------------------------------------------------------------------- +// End of "New Shell" section. + +new GuiControlProfile ("ShellHoloButtonProfile") +{ + opaque = true; + fillColor = $ShellColorVeryDark; + fillColorNA = "128 128 128"; + border = true; + borderColor = $ShellColorBright; + borderColorHL = "127 127 127"; + borderColorNA = "192 192 192"; + fontType = "Univers"; + fontSize = 14; + fontColor = $ShellColorBright; + fontColorHL = $ShellColorDark; + fontColorNA = "192 192 192"; + fixedExtent = true; + justify = "center"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("GameHoloButtonProfile") +{ + opaque = true; + fillColor = "0 64 0 80"; + border = true; + borderColor = "0 255 0"; + borderColorHL = "127 127 127"; + fontType = "Univers"; + fontSize = 14; + fontColor = "0 255 0"; + fontColorHL = "0 128 0"; + fixedExtent = true; + justify = "center"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + tab = true; +}; + +new GuiControlProfile ("ShellHoloBox") +{ + opaque = true; + fillColor = "72 72 72 128"; + border = true; + borderColor = $ShellColorBright; +}; + +new GuiControlProfile ("TaskHudBox") +{ + opaque = true; + fillColor = "72 72 72 128"; + border = true; + borderColor = "30 59 56 80"; +}; + +new GuiControlProfile ("ShellOpaqueBox") +{ + opaque = true; + fillColor = $ShellColorVeryDark; + border = true; + borderColor = $ShellColorBright; +}; + +new GuiControlProfile ("ShellScrollCtrlProfile") +{ + border = true; + borderColor = $ShellColorBright; + bitmap = "gui/shellScroll"; +}; + +new GuiControlProfile ("ShellTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "66 229 244"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellTextRightProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "66 229 244"; + justify = "right"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellTextCenterProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "66 229 244"; + justify = "center"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("DisabledTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "128 128 128"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("DisabledTextRightProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "128 128 128"; + justify = "right"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellAltTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 219 234"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellAltTextRightProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 219 234"; + justify = "right"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellAltTextCenterProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 219 234"; + justify = "center"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellStaticTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 219 234"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("VersionTextProfile") +{ + fontType = "Univers Bold"; + fontSize = $ShellMediumFontSize; + fontColor = "0 0 0"; + justify = "right"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("CenterPrintTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = $ShellColorBright; + autoSizeWidth = false; + autoSizeHeight = true; +}; + + +new GuiControlProfile ("ShellEditMOTDTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 219 234"; + fontColorHL = "25 68 56"; + fillColorHL = "50 233 206"; + cursorColor = "200 240 240"; + autoSizeWidth = false; + autoSizeHeight = false; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellTopicTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "100 200 200"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("BrowserFilterLabelProfile") +{ + fontType = $ShellLabelFont; + fontSize = 22; + fontColor = "0 220 0"; + justify = "left"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("BrowserFilterTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = 22; + fontColor = "66 219 234"; + justify = "left"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("BrowserStatusTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = 22; + fontColor = "66 219 234"; + justify = "right"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("BrowserProgressProfile") +{ + opaque = false; + fillColor = "79 253 181 180"; + border = true; + borderColor = "3 124 134"; +}; + +new GuiControlProfile ("InfoWindowProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 219 234"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellMessageTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "66 219 234"; + fontColorHL = "25 68 56"; + fillColorHL = "50 233 206"; + cursorColor = "200 240 240"; + autoSizeWidth = false; + autoSizeHeight = false; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellLoadTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "66 219 234"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellLargeLabelProfile" ) +{ + fontType = $ShellLabelFont; + fontSize = 22; + fontColor = "60 180 180"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellMediumTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = $ShellColorBright; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellMediumTextCenterProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = $ShellColorBright; + autoSizeWidth = false; + autoSizeHeight = true; + justify = "center"; +}; + +new GuiControlProfile ("DebriefHeadlineTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = 28; + fontColor = $ShellColorBright; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = false; +}; + +new GuiControlProfile ("DebriefTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "60 180 180"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + autoSizeWidth = false; + autoSizeHeight = false; + tab = false; + canKeyFocus = false; +}; + +new GuiControlProfile ("ScoreHeaderTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = 28; + fontColor = "0 255 255"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = false; +}; + +new GuiControlProfile ("ScoreSubheaderTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = 22; + fontColor = "0 255 255"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = false; +}; + +new GuiControlProfile ("ScoreTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "0 220 220"; + autoSizeWidth = false; + autoSizeHeight = false; + tab = false; + canKeyFocus = false; +}; + +new GuiControlProfile ("ShellTreeViewProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "6 245 215"; + fontColorHL = "6 245 215"; + fontColorSEL = "25 68 56"; + bitmapBase = "gui/shll_bar"; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("ShellBigTextProfile") +{ + fontType = $ShellHeaderFont; + fontSize = $ShellHeaderFontSize; + fontColor = $ShellColorBright; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("HudScoreListProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "60 180 180"; +}; + +new GuiControlProfile ("GuiHelpBoxProfile") +{ + border = false; + //borderColor = "3 144 156"; + opaque = true; + fillColor = "3 144 156 86"; +}; + +new GuiControlProfile ("GuiHelpTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "169 215 250"; + autoSizeWidth = false; + autoSizeHeight = false; + justify = "left"; +}; + +new GuiControlProfile ("GuiHelpHeaderProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "169 215 250"; + autoSizeWidth = true; + autoSizeHeight = true; + justify = "left"; +}; + +new GuiControlProfile ("GuiVoiceRedProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "180 0 0"; + justify = "left"; +}; + +new GuiControlProfile ("GuiVoiceGreenProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "0 180 0"; + justify = "left"; +}; + +new GuiControlProfile( "GuiDeathMsgHudProfile" ) +{ + opaque = false; + border = false; + //borderColor = "255 255 0 128"; +}; + +new GuiControlProfile ("GuiTextProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("GuiCenterTextProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "0 0 0"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControlProfile ("GuiBigTextProfile") +{ + fontType = "Times"; + fontSize = 36; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("GuiBigTextProfileWhite") +{ + fontType = "Times"; + fontSize = 24; + + fontColor = " 0 0 0"; + fillColor = "255 255 255"; + + fontColorHL = "255 255 255"; + fillColorHL = "0 0 0"; + + autoSizeWidth = true; + autoSizeHeight = true; + + opaque = true; +}; + +new GuiControlProfile("GuiBorderProfile") +{ + border = "true"; + borderColor = "40 205 170"; + opaque = true; + fillColor = "0 64 100 80"; +}; + +new GuiControlProfile("ZoomHudProfile") +{ + border = "true"; + borderColor = "40 205 170"; + opaque = false; + fillColor = "0 64 100 80"; +}; + +new GuiControlProfile("GuiDashBoxProfile") +{ + border = "false"; + opaque = false; +}; + +new GuiControlProfile("GuiDashTextProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "154 208 253"; + justify = "center"; +}; + +new GuiControlProfile ("GuiTextBGLeftProfile") +{ + fontType = "Univers Condensed"; + fontSize = 20; + fontColor = "70 235 200"; + justify = "center"; +}; + +new GuiControlProfile ("GuiTextBGCenterProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "70 235 200"; + justify = "center"; +}; + +new GuiControlProfile ("GuiTextBGRightProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "70 235 200"; + justify = "right"; +}; + +new GuiControlProfile ("GuiTextBGWhiteRightProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "90 255 220"; + justify = "right"; +}; + +new GuiControlProfile ("GuiHelpLineProfile") +{ + borderColor = "231 101 26"; + bitmap = "gui/hud_dot"; +}; + +new GuiControlProfile ("GuiTextObjHudCenterProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "169 215 250"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "center"; +}; + +new GuiControlProfile ("GuiTextObjHudLeftProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "169 215 250"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "left"; +}; + +new GuiControlProfile ("GuiTextObjGreenLeftProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "23 236 67"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "left"; +}; + +new GuiControlProfile ("GuiTextObjGreenCenterProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "23 236 67"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; + justify = "center"; +}; + +new GuiControlProfile ("DeathMsgTextProfile") +{ + fontType = "Univers"; + fontSize = 14; + fontColor = "40 247 113"; // green + justify = "left"; +}; + +new GuiControlProfile("DebuggerWindowProfile") { + border = "true"; + borderColor = "255 255 255"; + opaque = "true"; + fillColor = "0 0 0"; +}; + +new GuiControlProfile ("GuiTextEditProfile") +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = true; + borderColor = "0 0 0"; + fontType = "Lucida Console"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("GuiInspectorTextEditProfile") +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = true; + borderColor = "0 0 0"; + fontType = "Univers"; + fontSize = 16; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = true; +}; + +new GuiControlProfile ("GuiMessageEditHudProfile") +{ + fontType = "verdana"; + fontSize = 14; + fontColor = "255 255 0"; + cursorColor = "255 205 0"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = true; +}; + +new GuiControlProfile ("GuiMessageEditHudTextProfile") +{ + fontType = "verdana"; + fontSize = 14; + fontColor = "255 255 255"; + autoSizeWidth = true; + autoSizeHeight = true; + tab = false; +}; + +new GuiControlProfile("GuiAmmoHudProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "169 215 250"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile("GuiPackTextProfile") +{ + fontType = "Univers"; + fontSize = 12; + fontColor = "169 215 250"; + justify = "center"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile("GuiTempSpeedProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "240 0 240"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile("GuiRecordingHudProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "255 0 0"; + justify = "center"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("GuiChatBackProfile") +{ + bitmapbase = "gui/hud_new_window"; +}; + +new GuiControlProfile ("HudScoreProfile") +{ + bitmap = "gui/hud_new_scorewindow"; + borderColor = "30 59 56"; +}; + +new GuiControlProfile ("HudHelpTagProfile") +{ + borderColor = "231 101 26"; + bitmap = "gui/hud_dot"; +}; + +new GuiControlProfile ("HudVoteBackProfile") +{ + bitmapBase = "gui/hud_new_window_B"; +}; + +new GuiControlProfile ("GuiVMenuProfile") +{ + bitmapBase = "gui/hud_new_window"; + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; +}; + +new GuiControlProfile ("GuiChatHudProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "44 172 181"; // default color (death msgs, scoring, inventory) + fontColors[1] = "4 235 105"; // client join/drop, tournament mode + fontColors[2] = "219 200 128"; // gameplay, admin/voting, pack/deployable + fontColors[3] = "77 253 95"; // team chat, spam protection message, client tasks + fontColors[4] = "40 231 240"; // global chat + fontColors[5] = "200 200 50 200"; // used in single player game + // WARNING! Colors 6-9 are reserved for name coloring + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("GuiHudNavProfile") +{ +// fontType = "Univers Condensed"; +// fontSize = 16; +// fontColor = "255 255 255"; +// autoSizeWidth = false; +// autoSizeHeight = true; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; +}; + +new GuiControlProfile ( "GuiHudVoiceMenuProfile" ) +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "70 235 200"; + justify = "left"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ( "GuiHudVoiceCommandProfile" ) +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "40 205 210"; + justify = "left"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + + +new GuiControlProfile ("GuiCommandMsgHudProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "253 221 0"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; +}; + +new GuiControlProfile ("GuiButtonProfile") +{ + opaque = true; + fillColor = "232 232 232"; + border = true; + borderColor = "0 0 0"; + borderColorHL = "127 127 127"; + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; + soundButtonDown = sButtonDown; + soundButtonOver = sButtonOver; + canKeyFocus = false; +}; + +new GuiControlProfile ("GuiHudCounterProfile") +{ + opaque = true; + fillColor = "232 232 232"; + border = false; + borderColor = "0 0 0"; + borderColorHL = "127 127 127"; + fontType = $ShellFont; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControlProfile ("GuiRadioProfile") +{ + opaque = false; + fillColor = "232 232 232"; + border = false; + borderColor = "0 0 0"; + fontType = "Univers"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControlProfile ("GuiCheckBoxProfile") +{ + opaque = false; + fillColor = "232 232 232"; + border = false; + borderColor = "0 0 0"; + fontType = "Univers"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControlProfile ("GuiPopUpMenuProfile") +{ + opaque = true; + fillColor = "232 232 232"; + border = true; + borderColor = "0 0 0"; + fontType = "Univers"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fontColorSEL = "32 100 100"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControlProfile ("GuiWindowProfile") +{ + opaque = true; + fillColor = "200 200 200"; + fillColorHL = "64 150 150"; + fillColorNA = "150 150 150"; + fontType = "Univers"; + fontSize = 16; + fontColor = "0 0 0"; + fontColorHL = "0 0 0"; + text = "GuiWindowCtrl test"; + bitmap = "gui/darkWindow"; +}; + +new GuiControlProfile ("GuiScrollCtrlProfile") +{ + border = true; + borderColor = "0 0 0"; + bitmap = "gui/darkScroll"; +}; + +new GuiControlProfile ("GuiScrollContentProfile") +{ + opaque = false; + autoSizeWidth = true; + autoSizeHeight = true; + border = false; + +}; + +new GuiControlProfile ("GuiTreeViewProfile") +{ + fontType = "Lucida Console"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + bitmap = "gui/treeView"; +}; + +new GuiControlProfile ("GuiTextArrayProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fillColorHL = "200 200 200"; +}; + +new GuiControlProfile ("GuiConsoleProfile") +{ + fontType = "Lucida Console"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "130 130 130"; + fontColorNA = "255 0 0"; + fontColors[6] = "50 50 50"; + fontColors[7] = "50 50 0"; + fontColors[8] = "0 0 50"; + fontColors[9] = "0 50 0"; +}; + +new GuiControlProfile ("GuiConsoleTextProfile") +{ + fontType = "Lucida Console"; + fontSize = 12; + fontColor = "0 0 0"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile("GuiMediumBoldTextProfile") +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile("EditTSControlProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "200 200 200"; + autoSizeWidth = true; + autoSizeHeight = true; + fillColor = "255 255 0"; + opaque = "true"; +}; + +new GuiControlProfile("EditorContentProfile") +{ + fontType = "Univers"; + fontSize = 16; + fontColor = "200 200 200"; + autoSizeWidth = true; + autoSizeHeight = true; + fillColor = "220 220 220"; + opaque = "true"; + border = true; + borderColor = "180 180 180"; +}; + +new GuiControlProfile ("ShellProgressBarProfile") +{ + opaque = false; + fillColor = "44 152 162 100"; + border = true; + borderColor = "78 88 120"; +}; + +new GuiControlProfile ("ShellProgressBarTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellLabelFontSize; + fontColor = "169 215 250"; + justify = "center"; +}; + +new GuiControlProfile ("ShellLoadFrameProfile" ) +{ + border = true; + borderColor = "78 88 120"; +}; + +new GuiControlProfile ("ShellSubHeaderProfile" ) +{ + fontType = "Univers Condensed Bold"; + fontSize = 28; + fontColor = "66 219 234"; + justify = "left"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile( "DlgBackProfile" ) +{ + opaque = true; + fillColor = "0 0 0 160"; +}; + +new GuiControlProfile( "MotdCProfile" ) +{ + justify = "center"; + opaque = true; + autoSizeWidth = true; + fillColor = "0 0 0 160"; + fontType = "Univers Condensed"; + fontSize = 14; + fontColor = "000 219 234"; +}; + +new GuiControlProfile( "GuiInputCtrlProfile" ) +{ + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile( "TesterProfile" ) +{ + border = true; + borderColor = "255 255 0"; +}; + +new GuiControlProfile ("TaskHudProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "66 229 244"; + autoSizeWidth = true; + autoSizeHeight = true; + fontColors[1] = "0 200 0 200"; + fontColors[2] = "200 0 0 200"; + fontColors[3] = "0 0 200 200"; + fontColors[6] = $PlayerNameColor; + fontColors[7] = $TribeTagColor; + fontColors[8] = $SmurfNameColor; + fontColors[9] = $BotNameColor; +}; + +new GuiControlProfile ("TaskHudTextProfile") +{ + fontType = $ShellLabelFont; + fontSize = $ShellFontSize; + fontColor = "66 229 244"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ShellChatMemberListProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "60 180 180"; + fontColorHL = "6 245 215"; + fontColorNA = "128 128 128"; + fontColorSEL = "25 68 56"; + fontColors[4] = "255 255 255"; // nick font color + fontColors[5] = "200 255 255"; // nick highlighted color + fontColors[6] = "0 0 0"; // nick selected color + fontColors[7] = "255 255 0"; // tribe font color + fontColors[8] = "200 255 0"; // tribe highlighted color + fontColors[9] = "0 0 255"; // tribe selected color + bitmapBase = "gui/shll_bar"; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile ("GuiChannelVectorProfile") +{ + fontType = $ShellFont; + fontSize = $ShellFontSize; + fontColor = "249 250 194"; // default font color + fontColors[1] = "255 255 255"; // nick font color + fontColors[2] = "255 255 0"; // tribe font color + fontColors[3] = "0 200 0"; // server font color + fontColors[4] = "4 235 105"; // client join/drop, tournament mode + fontColors[5] = "219 200 128"; // gameplay, admin/voting, pack/deployable + fontColors[6] = "77 253 95"; // team chat, spam protection message, client tasks + fontColors[7] = "40 231 240"; // global chat + fontColors[8] = "200 200 50 200"; // used in single player game + fontColors[9] = "66 219 234"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + +new GuiControlProfile ("GuiTempHeatProfile") +{ + fontType = $ShellButtonFont; + fontSize = $ShellFontSize; + fontColor = "230 40 230"; + justify = "center"; +}; + +new GuiControlProfile ("GuiBubblePopupProfile") +{ + border = false; + opaque = true; + fillColor = "3 144 156 200"; +}; + +new GuiControlProfile ("GuiBubbleTextProfile") +{ + fontType = $ShellFont; + fontSize = $ShellMediumFontSize; + fontColor = "100 200 200"; + autoSizeWidth = false; + autoSizeHeight = true; +}; + diff --git a/public/base/@vl2/scripts.vl2/gui/helpTextGui.gui b/public/base/@vl2/scripts.vl2/gui/helpTextGui.gui new file mode 100644 index 00000000..7c6545f0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/helpTextGui.gui @@ -0,0 +1,347 @@ +new GuiControl(HelpTextGui) { + profile = "GuiContentProfileNoClear"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + + new ShellFieldCtrl(objHudBox) + { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 365"; + extent = "140 65"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(objHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "130 14"; + minExtent = "8 8"; + visible = "1"; + text = "OBJECTIVES"; + }; + new GuiMLTextCtrl(objHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 45"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(objHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 425"; + extent = "5 20"; + flip = "0"; + visible = "1"; + }; + + new ShellFieldCtrl(chatHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 85"; + extent = "140 70"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(chatHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "130 14"; + minExtent = "8 8"; + visible = "1"; + text = "CHAT"; + }; + new GuiMLTextCtrl(chatHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 55"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(chatHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "145 75"; + extent = "5 20"; + flip = "1"; + visible = "1"; + }; + + new ShellFieldCtrl(energyHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "320 75"; + extent = "145 85"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(energyHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "135 14"; + minExtent = "8 8"; + visible = "1"; + text = "ENERGY"; + }; + new GuiMLTextCtrl(energyHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 70"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(energyHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "450 35"; + extent = "5 45"; + flip = "1"; + visible = "1"; + }; + + new ShellFieldCtrl(compassHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "480 90"; + extent = "150 100"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + + new GuiTextCtrl(compassHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "140 14"; + minExtent = "8 8"; + visible = "1"; + text = "COMPASS"; + }; + new GuiMLTextCtrl(compassHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 85"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(compassHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "595 80"; + extent = "5 25"; + flip = "1"; + visible = "1"; + }; + + new ShellFieldCtrl(damageHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "280 10"; + extent = "150 50"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + + new GuiTextCtrl(damageHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "140 14"; + minExtent = "8 8"; + visible = "1"; + text = "DAMAGE"; + }; + new GuiMLTextCtrl(damageHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "140 35"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(damageHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "425 15"; + extent = "25 5"; + flip = "0"; + visible = "1"; + }; + + new GuiControl(reticleTextFrame) { + profile = "GuiHelpTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "120 90"; + extent = "400 300"; + visible = "1"; + + new ShellFieldCtrl(reticleHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "20 140"; + extent = "140 70"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + + new GuiTextCtrl(reticleHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "130 14"; + minExtent = "8 8"; + visible = "1"; + text = "RETICLE"; + }; + new GuiMLTextCtrl(reticleHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 55"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(reticleHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "155 145"; + extent = "25 5"; + flip = "0"; + visible = "1"; + }; + }; + + new ShellFieldCtrl(inventoryHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "420 340"; + extent = "140 85"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(inventoryHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "130 14"; + minExtent = "8 8"; + visible = "1"; + text = "INVENTORY"; + }; + new GuiMLTextCtrl(inventoryHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "130 70"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(inventoryHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "490 420"; + extent = "5 20"; + flip = "0"; + visible = "1"; + }; + + new ShellFieldCtrl(weaponsHudBox) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "460 240"; + extent = "140 70"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(weaponsHudHeader) { + profile = "GuiHelpHeaderProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 1"; + extent = "130 14"; + minExtent = "8 8"; + visible = "1"; + text = "WEAPONS"; + }; + new GuiMLTextCtrl(weaponsHudText) { + profile = "GuiHelpTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "4 15"; + extent = "135 60"; + minExtent = "8 8"; + visible = "1"; + lineSpacing = "1"; + }; + }; + new HudHelpTag(weaponsHudLine) { + profile = "GuiHelpLineProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "590 300"; + extent = "20 5"; + flip = "0"; + visible = "1"; + }; +}; + +PlayGui.add(helpTextGui); \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/gui/objectBuilderGui.gui b/public/base/@vl2/scripts.vl2/gui/objectBuilderGui.gui new file mode 100644 index 00000000..926a9b36 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/objectBuilderGui.gui @@ -0,0 +1,645 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ObjectBuilderGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiWindowCtrl(OBTargetWindow) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 74"; + extent = "256 282"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiCenterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 31"; + extent = "84 25"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Object Name:"; + }; + new GuiTextEditCtrl(OBObjectName) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 31"; + extent = "143 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + }; + new GuiControl(OBContentWindow) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 56"; + extent = "240 193"; + minExtent = "0 0"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiButtonCtrl(OBOKButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "70 254"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "ObjectBuilderGui.onOK();"; + helpTag = "0"; + text = "OK"; + }; + new GuiButtonCtrl(OBCancelButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 254"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "ObjectBuilderGui.onCancel();"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function ObjectBuilderGui::init(%this) +{ + %this.baseOffsetX = 9; + %this.baseOffsetY = 10; + %this.scriptFile = "editor/newObject.cs"; + %this.defaultObjectName = ""; + %this.defaultFieldStep = 26; + %this.columnOffset = 95; + + %this.fieldNameExtent = "132 18"; + %this.textEditExtent = "127 18"; + %this.checkBoxExtent = "18 18"; + %this.popupMenuExtent = "127 18"; + %this.fileButtonExtent = "127 18"; + + // + %this.numControls = 0; + + %this.reset(); +} + +function ObjectBuilderGui::reset(%this) +{ + %this.curXPos = %this.baseOffsetX; + %this.curYPos = %this.baseOffsetY; + %this.createCallback = ""; + %this.currentControl = 0; + + // + OBObjectName.setValue(%this.defaultObjectName); + + // + %this.newObject = 0; + %this.className = ""; + %this.numFields = 0; + + // + for(%i = 0; %i < %this.numControls; %i++) + { + %this.textControls[%i].delete(); + %this.conrols[%i].delete(); + } + %this.numControls = 0; +} + +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::createFileType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createFileType: invalid field"); + return; + } + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + extent = %this.fileButtonExtent; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + command = %this @ ".getFileName(" @ %index @ ");"; + }; + + %val = %this.field[%index, value]; + %this.controls[%this.numControls].setValue(fileBase(%val) @ fileExt(%val)); + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +function ObjectBuilderGui::getFileName(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::getFileName: invalid field"); + return; + } + + %val = %this.field[%index, value]; + + %path = filePath(%val); + %ext = fileExt(%val); + + %this.currentControl = %index; + getLoadFilename(%path @ "*" @ %ext, %this @ ".gotFileName"); +} + +function ObjectBuilderGui::gotFileName(%this, %name) +{ + %this.controls[%this.currentControl].setValue(%name); +} + +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::createDataBlockType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createDataBlockType: invalid field"); + return; + } + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiPopupMenuCtrl() { + profile = "GuiButtonProfile"; + extent = %this.popupMenuExtent; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + maxPopupHeight = "200"; + }; + + %classname = getWord(%this.field[%index, value], 0); + + %this.controls[%this.numControls].add("", -1); + + // add the datablocks + for(%i = 0; %i < DataBlockGroup.getCount(); %i++) + { + %obj = DataBlockGroup.getObject(%i); + if(%obj.getClassName() $= %classname) + %this.controls[%this.numControls].add(%obj.getName(), %i); + } + + %this.controls[%this.numControls].setValue(getWord(%this.field[%index, value], 1)); + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +function ObjectBuilderGui::createBoolType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createBoolType: invalid field"); + return; + } + + // + if(%this.field[%index, value] $= "") + %value = 0; + else + %value = %this.field[%index, value]; + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + extent = %this.checkBoxExtent; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + }; + + %this.controls[%this.numControls].setValue(%value); + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +function ObjectBuilderGui::createStringType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createStringType: invalid field"); + return; + } + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + extent = %this.textEditExtent; + text = %this.field[%index, value]; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + }; + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::adjustSizes(%this) +{ + if(%this.numControls == 0) + %this.curYPos = 0; + + OBTargetWindow.extent = "256 " @ %this.curYPos + 88; + OBContentWindow.extent = "240 " @ %this.curYPos; + OBOKButton.position = "70 " @ %this.curYPos + 62; + OBCancelButton.position = "156 " @ %this.curYPos + 62; +} + +function ObjectBuilderGui::process(%this) +{ + if(%this.className $= "") + { + error("ObjectBuilderGui::process: classname is not specified"); + return; + } + + OBTargetWindow.setValue("Building Object: " @ %this.className); + + // + for(%i = 0; %i < %this.numFields; %i++) + { + switch$(%this.field[%i, type]) + { + case "TypeBool": + %this.createBoolType(%i); + + case "TypeDataBlock": + %this.createDataBlockType(%i); + + case "TypeFile": + %this.createFileType(%i); + + default: + %this.createStringType(%i); + } + } + + // add the controls + for(%i = 0; %i < %this.numControls; %i++) + { + OBContentWindow.add(%this.textControls[%i]); + OBContentWindow.add(%this.controls[%i]); + } + + // + %this.adjustSizes(); + + // + Canvas.pushDialog(%this); +} + +function ObjectBuilderGui::processNewObject(%this, %obj) +{ + if(%this.createCallback !$= "") + eval(%this.createCallback); + + if(!isObject(EWorldEditor)) + return; + + $InstantGroup.add(%obj); + EWorldEditor.clearSelection(); + EWorldEditor.selectObject(%obj); + EWorldEditor.dropSelection(); +} + +function ObjectBuilderGui::onOK(%this) +{ + // get current values + for(%i = 0; %i < %this.numControls; %i++) + %this.field[%i, value] = %this.controls[%i].getValue(); + + // + %file = new FileObject(); + + %file.openForWrite(%this.scriptFile); + + %file.writeLine(%this @ ".newObject = new " @ %this.className @ "(" @ OBObjectName.getValue() @ ") {"); + + for(%i = 0; %i < %this.numFields; %i++) + %file.writeLine(" " @ %this.field[%i, name] @ " = \"" @ %this.field[%i, value] @ "\";"); + + %file.writeLine("};"); + + %file.close(); + %file.delete(); + + // + exec(%this.scriptFile); + if(%this.newObject != 0) + %this.processNewObject(%this.newObject); + + %this.reset(); + Canvas.popDialog(%this); +} + +function ObjectBuilderGui::onCancel(%this) +{ + %this.reset(); + Canvas.popDialog(%this); +} + +function ObjectBuilderGui::addField(%this, %name, %type, %text, %value) +{ + %this.field[%this.numFields, name] = %name; + %this.field[%this.numFields, type] = %type; + %this.field[%this.numFields, text] = %text; + %this.field[%this.numFields, value] = %value; + + %this.numFields++; +} + +//------------------------------------------------------------------------------ +// Environment +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildSky(%this) +{ + %this.className = "Sky"; + + %this.addField("materialList", "TypeFile", "Material list", "Lush_l4.dml"); + %this.addField("cloudSpeed[0]", "TypePoint2", "Cloud0 Speed", "0.0000003 0.0000003"); + %this.addField("cloudSpeed[1]", "TypePoint2", "Cloud1 Speed", "0.0000006 0.0000006"); + %this.addField("cloudSpeed[2]", "TypePoint2", "Cloud2 Speed", "0.0000009 0.0000009"); + %this.addField("cloudHeightPer[0]", "TypeFloat", "Cloud0 Height", "0.349971"); + %this.addField("cloudHeightPer[1]", "TypeFloat", "Cloud1 Height", "0.25"); + %this.addField("cloudHeightPer[2]", "TypeFloat", "Cloud2 Height", "0.199973"); + %this.addField("visibleDistance", "TypeFloat", "Visible distance", "900"); + %this.addField("fogDistance", "TypeFloat", "Fog distance", "600"); + %this.addField("fogColor", "TypeColor", "Fog color", "0.5 0.5 0.5"); + %this.addField("fogVolume1", "TypePoint3", "Fog volume", "120 0 100"); + %this.addField("fogVolume2", "TypePoint3", "Fog volume", "0 0 0"); + %this.addField("fogVolume3", "TypePoint3", "Fog volume", "0 0 0"); + + %this.process(); +} + +function ObjectBuilderGui::buildSun(%this) +{ + %this.className = "Sun"; + + %this.addField("direction", "TypeVector", "Direction", "1 1 -1"); + %this.addField("color", "TypeColor", "Sun color", "0.8 0.8 0.8"); + %this.addField("ambient", "TypeColor", "Ambient color", "0.2 0.2 0.2"); + + %this.process(); +} + +function ObjectBuilderGui::buildLightning(%this) +{ + %this.className = "Lightning"; + + %this.addField("dataBlock", "TypeDataBlock", "Data block", "LightningData DefaultStorm"); + + %this.process(); +} + +function ObjectBuilderGui::buildWater(%this) +{ + %this.className = "WaterBlock"; + + // jff: this object needs some work!! + %this.addField("extent", "TypePoint3", "Extent", "100 100 10"); + %this.addField("textureSize", "TypePoint2", "Texture size", "32 32"); + %this.addField("params[0]", "TypePoint4", "Wave Param0", "0.32 -0.67 0.066 0.5"); + %this.addField("params[1]", "TypePoint4", "Wave Param1", "0.63 -2.41 0.33 0.21"); + %this.addField("params[2]", "TypePoint4", "Wave Param2", "0.39 0.39 0.2 0.133"); + %this.addField("params[3]", "TypePoint4", "Wave Param3", "1.21 -0.61 0.13 -0.33"); + %this.addField("floodFill", "TypeBool", "Flood fill?", "true"); + %this.addField("seedPoints", "TypeString", "Seed points", "0 0 1 0 1 1 0 1"); + + %this.process(); +} + +function ObjectBuilderGui::buildTerrain(%this) +{ + %this.className = "TerrainBlock"; + %this.createCallback = "tEditor.attachTerrain();"; + + %this.addField("terrainFile", "TypeFile", "Terrain file", "terrains/terr1.ter"); + %this.addField("squareSize", "TypeInt", "Square size", "8"); + + %this.process(); +} + +function ObjectBuilderGui::buildAudioEmitter(%this) +{ + %this.className = "AudioEmitter"; + %this.addField("profile", "TypeDataBlock", "Sound Profile", "AudioProfile"); + %this.addField("description", "TypeDataBlock", "Sound Description", "AudioDescription"); + %this.addField("fileName", "TypeFile", "Audio file", ""); + %this.addField("useProfileDescription", "TypeBool", "Use profile's desc?", "false"); + %this.addFIeld("volume", "TypeFloat", "Volume", "1.0"); + %this.addField("isLooping", "TypeBool", "Looping?", "true"); + %this.addField("is3D", "TypeBool", "Is 3D sound?", "true"); + %this.addField("minDistance", "TypeFloat", "Min distance", "20.0"); + %this.addField("maxDistance", "TypeFloat", "Max distance", "100.0"); + %this.addField("coneInsideAngle", "TypeInt", "Cone inside angle", "360"); + %this.addField("coneOutsideAngle", "TypeInt", "Cone outside angle", "360"); + %this.addField("coneOutsideVolume", "TypeFloat", "Cone outside volume", "1.0"); + %this.addField("coneVector", "TypePoint3", "Cone Vector", "0 0 1"); + %this.addField("loopCount", "TypeInt", "Loop count", "-1"); + %this.addField("minLoopGap", "TypeInt", "Min loop gap (ms)", "0"); + %this.addField("maxLoopGap", "TypeInt", "Max loop gap (ms)", "0"); + %this.addField("type", "TypeEnum", "Audio type", "EffectAudioType"); + %this.process(); +} + +function ObjectBuilderGui::buildPrecipitation(%this) +{ + %this.className = "Precipitation"; + %this.addField("nameTag", "TypeString", "Name", ""); + %this.addField("dataBlock", "TypeDataBlock", "Precipitation data", "PrecipitationData"); + %this.process(); +} + +function ObjectBuilderGui::buildParticleEmitter(%this) +{ + %this.className = "ParticleEmissionDummy"; + %this.addField("dataBlock", "TypeDataBlock", "datablock", "ParticleEmissionDummyData"); + %this.addField("emitter", "TypeDataBlock", "Particle data", "ParticleEmitterData"); + %this.process(); +} + +//------------------------------------------------------------------------------ +// Mission +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildMissionArea(%this) +{ + %this.className = "MissionArea"; + %this.addField("area", "TypeRect", "Bounding area", "0 0 1024 1024"); + %this.process(); +} + +function ObjectBuilderGui::buildMarker(%this) +{ + %this.className = "Marker"; + %this.process(); +} + +function ObjectBuilderGui::buildForcefield(%this) +{ + %this.className = "ForcefieldBare"; + %this.addField("dataBlock", "TypeDataBlock", "Data Block", "ForceFieldBareData defaultForceFieldBare"); + %this.process(); +} + +function ObjectBuilderGui::buildTrigger(%this) +{ + %this.className = "Trigger"; + %this.addField("dataBlock", "TypeDataBlock", "Data Block", "TriggerData defaultTrigger"); + %this.addField("polyhedron", "TypeTriggerPolyhedron", "Polyhedron", "0 0 0 1 0 0 0 -1 0 0 0 1"); + %this.process(); +} + +function ObjectBuilderGui::buildPhysicalZone(%this) +{ + %this.className = "PhysicalZone"; + %this.addField("polyhedron", "TypeTriggerPolyhedron", "Polyhedron", "0 0 0 1 0 0 0 -1 0 0 0 1"); + %this.process(); +} + +function ObjectBuilderGui::buildCamera(%this) +{ + %this.className = "Camera"; + + %this.addField("position", "TypePoint3", "Position", "0 0 0"); + %this.addField("rotation", "TypePoint4", "Rotation", "1 0 0 0"); + %this.addField("dataBlock", "TypeDataBlock", "Data block", "CameraData Observer"); + %this.addField("team", "TypeInt", "Team", "0"); + + %this.process(); +} + +//------------------------------------------------------------------------------ +// System +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildSimGroup(%this) +{ + %this.className = "SimGroup"; + %this.process(); +} + +//------------------------------------------------------------------------------ +// AI +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildObjective(%this) +{ + %this.className = "AIObjective"; + %this.process(); +} + +function ObjectBuilderGui::buildNavigationGraph(%this) +{ + %this.className = "NavigationGraph"; + %this.process(); +} diff --git a/public/base/@vl2/scripts.vl2/gui/sceneLightingGui.gui b/public/base/@vl2/scripts.vl2/gui/sceneLightingGui.gui new file mode 100644 index 00000000..3e22b625 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/gui/sceneLightingGui.gui @@ -0,0 +1,63 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(SceneLightingGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "180 180"; + extent = "280 88"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Please wait..."; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "0"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + + new GuiProgressCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 51"; + extent = "245 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + variable = "$SceneLighting::lightingProgress"; + value = "0.f"; + modal = "1"; + helpTag = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 31"; + extent = "231 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "The mission is currently being relit. Please wait."; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/scripts.vl2/help/1. About.hfl b/public/base/@vl2/scripts.vl2/help/1. About.hfl new file mode 100644 index 00000000..12422140 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/1. About.hfl @@ -0,0 +1,7 @@ +About the Mission Editor... + +The GarageGames Torque Engine Mission Editor is included as part of the Torque Game Engine, and now as an integrated tool in Sierra's Tribes 2. + +For a general overview of the mission editor, see the Mission Editor Overview. + + diff --git a/public/base/@vl2/scripts.vl2/help/2. Mission Editor Overview.hfl b/public/base/@vl2/scripts.vl2/help/2. Mission Editor Overview.hfl new file mode 100644 index 00000000..6bbf0761 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/2. Mission Editor Overview.hfl @@ -0,0 +1,48 @@ +Mission Editor... + +Mission Editor Overview +The Mission Editor is the in-game tool for creating and editing landscapes and placing objects in the 3D world. + +Press the F11 key while in the game to toggle the Mission Editor on and off. The mission editor will start editing the currently loaded mission. + +The Mission Editor is composed of the following tools, selectable from the Window menu: +World Editor - Full screen object movement and selection. +World Editor Inspector - Used to inspect the properties of mission objects +World Editor Creator - Used to create new mission objects +Mission Area Editor - Used to adjust the bounds of the mission area, as well as mirror terrain data +Terrain Editor - Tool for manually adjusting the terrain heightfield and square properties +Terrain Terraform Editor - Tool for procedurally generating the terrain heightfield from fractal operations +Terrain Texture Editor - Tool for procedurally generating the terrain textures based on rules +Terrain Texture Painter - Tool for manually painting terrain textures on the terrain + +There are several editor functions and menus that are available in all mission editor modes: + +Basic Movement +The normal movement keys can be used to control both the player and the camera. The right mouse button is used to rotate the camera or adjust the player's view. + +File Menu +New Mission... - Creates a new empty mission with a default terrain and sky +Open Mission... - Opens an existing mission for editing +Save Mission - Saves changes to the current mission to disk +Save Mission As... - Saves the current mission under a new name +Import Terraform Data... - Imports terraform rules from an existing terrain file +Import Texture Data... - Imports terrain texture rules from an existing terrain file +Export Terraform Bitmap... - Only active from the Terrain Terraform Editor - exports the current terraform map to a bitmap + +Edit Menu +Undo - Undoes the last action in terrain or world editing. Not all actions can be undone +Redo - Redoes the last undone action +Cut - Cuts the selected objects in the world editor from the mission to the clipboard +Copy - Copys the selected objects in the world editor to the clipboard +Paste - Pastes the current clipboard contents into the mission +Select All - Selects all mission objects in the world editor +Select None - Clears the current selection in the world and terrain editors +Relight Scene - Recomputes mission static lighting +World Editor Settings... - Accesses the settings dialog for the World Editor +Terrain Editor Settings... - Accesses the settings dialog for the Terrain Editor + +Camera Menu +Drop Camera At Player - Moves the camera object to the location of the player, and sets the mode to camera movement mode +Drop Player At Camera - Moves the player object to the location of the movable camera, and sets the mode to player movement mode +Toggle Camera - Toggles between player and camera movement mode +Slowest...Fastest - Adjusts the speed of the camera diff --git a/public/base/@vl2/scripts.vl2/help/3. World Editor.hfl b/public/base/@vl2/scripts.vl2/help/3. World Editor.hfl new file mode 100644 index 00000000..cf235e96 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/3. World Editor.hfl @@ -0,0 +1,53 @@ +World Editor... + +World Editor Basics +The World Editor has three seperate "windows" in the Mission Editor: +World Editor - a full screen object manipulator +World Editor Inspector - used for inspecting and editing the properties of objects +World Editor Creator - used for creating new mission objects + +The World Editor main view is a view of the 3D world. Objects in this view (interiors, shapes, markers, etc) can be manipulated with the mouse and keyboard. + +The following mouse and keyboard functions exist: + +Clicking on an unselected object - deselects all currently selected objects and selects the clicked object +Clicking in empty space - click-drags a box around objects, and selects all objects in the box +Shift-clicking on an object - toggles selection of the clicked object +Mouse dragging a selected object - moves the selected objects, either on a horizontal plane, or sticking to the terrain, depending on the setting of the "Planar Movement" checkbox in the World Editor Settings dialog +Control-clicking and drag - moves the selected objects vertically +Alt-clicking and drag - rotates the selected objects about the vertical axis +Alt-control-clicking and drag - scales the selected object by a face on the bounding box + +If gizmos are enabled in the World Editor Settings dialog, they can also be clicked and dragged: +click-drag gizmo axis - move selection along that axis +alt-click-drag gizmo axis - rotate selection on that axis +alt-control-click-drag gizmo axis - scale along that axis + +World Menu +The World Menu contains world editor specific options for controlling properties of the current selection, as well as choosing where new objects are dropped. The following list describes the world menu options: +Lock Selection - Locks the current selection so that it cannot be manipulated from the world editor view +Unlock Selection - Unlocks a locked selection +Hide Selection - Hides the current selection to reduce clutter while editing +Show Selection - Shows hidden objects in the selection +Delete Selection - Deletes the currently selected objects +Camera To Selection - Moves the camera to the selected objects +Reset Transforms - Resets the rotation and scale on the selected objects +Drop Selection - Re-drops the selected objects into the mission according to the drop rule (see below) +Add Selection to Instant Group - Moves the currently selected objects into the current Instant Group. +Drop at Origin - New objects will be created at the origin +Drop at Camera - New objects will be created at the camera's location +Drop at Camera w/Rot - New objects will be created at the camera's location with the camera's current orientation +Drop below Camera - New objects will be created below the camera's location +Drop at Screen Center - New objects will be created in the world where the view direction hits an object +Drop at Centroid - New objects will be created in the world at the center of the selection +Drop to Ground - New objects will be dropped at the terrain ground level + +World Editor Tree +The World Editor tree view is displayed in the upper right screen quadrant in both the World Editor Inspector and the World Editor Creator. This tree displays the hierarchy of the mission data file. Objects selected in the tree will also be selected in the main view. There is a special group selection call the Instant Group. This group is where objects that are pasted are placed, as well as where objects created from the World Editor Creator are placed. In the World Editor tree view the instant group is displayed with a grey hilight. To change the current instant group, Alt-click on a group in the tree view. + +World Editor Inspector +The World Editor Inspector allows the user to specify properties of mission objects. When an object is selected in Inspector mode, that object's properties will be displayed in the lower right quadrant of the screen. Once properties are edited, clicking the apply button will set those properties into the object. Dynamic properties can be assigned to objects with the Dynamic Fields Add button. Dynamic fields are accessable through the scripting language and are used to add game-specific properties to mission objects. + +World Editor Creator +The World Editor Creator displays a tree view in the lower left corner of the screen. This tree contains all objects that can be created in a mission. + diff --git a/public/base/@vl2/scripts.vl2/help/4. Mission Area Editor.hfl b/public/base/@vl2/scripts.vl2/help/4. Mission Area Editor.hfl new file mode 100644 index 00000000..eef5c438 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/4. Mission Area Editor.hfl @@ -0,0 +1,9 @@ +Mission Area Editor... + +The Mission Area Editor displays an overhead height map in the upper right corner of the screen, with markers for mission objects, a box for the mission area and a pair of lines denoting the current field of view. Clicking anywhere on the display will move the current view object (either camera or player) to that location in the mission. + +To edit the mission area, click on the "Edit Area" checkbox. This will display 8 resizing knobs on the mission area box, that can be dragged with the mouse. + +The "Center" button will cause the terrain file data to be repositioned and centered at 0,0 in the center of the mission area box. + +To mirror the terrain, click on the Mirror button. This will put the mission area editor in mirror mode. The left and right arrow buttons adjust the mirror plane angle to one of 8 different angles (2 axis aligned, 2 45-degree splits), and the Apply button will mirror the terrain across the mirror plane. diff --git a/public/base/@vl2/scripts.vl2/help/5. Terrain Editor.hfl b/public/base/@vl2/scripts.vl2/help/5. Terrain Editor.hfl new file mode 100644 index 00000000..f7d399e8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/5. Terrain Editor.hfl @@ -0,0 +1,17 @@ +Terrain Editor... + +The terrain editor is used to manually modify the terrain height map and square properties. Terrain editing is accomplished using the brush. The brush is a selection of terrain points or squares centered around the mouse cursor. The brush is either a circle or square area, and can be one of several size selected from the brush menu. The brush can also be either a hard brush - where the affect on the terrain is the same across the surface of the brush - or a soft brush - where the brush's influence on terrain diminishes towards the edges of the brush. The Terrain Editor Settings dialog filter view controls the falloff of the soft brush. + +The following terrain editing action modes can be selected from the Action menu. +Select - Painting with the brush selects grid points +Adjust Selection - The currently selected grid points can be raised or lowered as a group +Add Dirt - "Dirt" is added at the center of the brush +Excavate - "Dirt" is removed from the center of the brush +Ajust Height - The brush selection can be dragged to raise or lower it +Flatten - The brush surface is set to a flat plane height +Smooth - Rough areas are made more smooth in the bounds of the brush +Set Height - The terrain within the brush is set to a constant height (configurable in the Terrain Editor Settings) +Set Empty - The squares covered by the brush are made into holes in the terrain +Clear Empty - The squares covered by the brush are made solid +Paint Material - The current terrain texture material will be painted with the brush + diff --git a/public/base/@vl2/scripts.vl2/help/6. Terrain Terraform Editor.hfl b/public/base/@vl2/scripts.vl2/help/6. Terrain Terraform Editor.hfl new file mode 100644 index 00000000..677d51ef --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/6. Terrain Terraform Editor.hfl @@ -0,0 +1,21 @@ +Terrain Terraform Editor... + +The Terrain Terraform Editor is used to algorithmically generate terrain heightfields. Heightfield operations are arranged in a stack, with some operations using the results of previous operations to produce new heightfields. The results of the last operation on the stack can be applied to the terrain using the Apply button. + +The Terraform Editor has two panes - the top pane displays information about the currently selected operation, and the bottom pane shows the current operation stack. Between the two is a pull down menu for the creation of new operations. The first operation in the stack is always the General operation (which can't be deleted). + +The following operations are supported in the editor: +fBm Fractal - Fractal for creating bumpy hills +Rigid Multifractal - Fractal for creating ridges and sweeping valleys +Canyon Fractal - Fractal for creating vertical canyon ridges +Sinus - Overlapping sine wave patterns with different frequencies useful for creating rolling hills +Bitmap - Used to import an existing 256x256 bitmap as a heightfield +Turbulence - perturbs another operation on the stack +Smoothing - smooths another operation on the stack +Smooth Water - smooths water +Smooth Ridges/valleys - smooths an existing operation on edge boundaries +Filter - filters an existing operation based on a curve +Thermal Erosion - erodes an existing operation using a thermal erosion algorithm +Hydraulic Erosion - erodes an existing operation using a hydraulic erosion algorithm +Blend - blends two existing operations acording to a scale factor and mathmatical operator +Terrain File - loads an existing terrain file onto the stack diff --git a/public/base/@vl2/scripts.vl2/help/7. Terrain Texture Editor.hfl b/public/base/@vl2/scripts.vl2/help/7. Terrain Texture Editor.hfl new file mode 100644 index 00000000..858dc0e5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/7. Terrain Texture Editor.hfl @@ -0,0 +1,12 @@ +Terrain Texture Editor... + +The Terrain Texture Editor is used to algorithmically place terrain texures based on the heightfield at the bottom of the terraformer heightfield stack. The texture editor has three main interface elements on the right side of the screen - from top to bottom they are the operation inspector pane, the material list, and the placement operation list. + +Essentially, terrain materials (textures) are added with the "Add Material" button. This will look for any texture (.png or .jpg) in a subdirectory of any directory named "terrains". Once a material is added to the terrain, the user can select one of several placement operations that govern where that material will be placed on the terrain - they are: + +Place by Fractal - Places the terrain texture randomly across the terrain based on a brownian motion fractal. +Place by Height - Places the texture based on an elevation filter +Place by Slope - Places the texture based on a slope filter +Place by Water Level - Places the texture based on the water level parameter in the terraform editor + +Pressing the "Apply" button applies the current texture operation list to the terrain file. \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/help/8. Terrain Texture Painter.hfl b/public/base/@vl2/scripts.vl2/help/8. Terrain Texture Painter.hfl new file mode 100644 index 00000000..d6f63c4c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/help/8. Terrain Texture Painter.hfl @@ -0,0 +1,6 @@ +Terrain Texture Painter... + +The Terrain Texture Painter tool is used to manually paint terrain textures on the terrain. Users can select up to six different textures in the boxes in the upper right corner of the screen. Selecting a texture will place a black box around it. The terrain brush can then be used to paint the texture on the terrain. + +Terrains with more than four textures may exhibit rendering irregularities if all those textures are used in the same area of a map. In general it is wise to use four or fewer textures on any individual terrain map. + diff --git a/public/base/@vl2/scripts.vl2/scripts/BountyGame.cs b/public/base/@vl2/scripts.vl2/scripts/BountyGame.cs new file mode 100644 index 00000000..f7353c2d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/BountyGame.cs @@ -0,0 +1,899 @@ +//--- GAME RULES BEGIN --- +//Eliminate Targets in order assigned; eliminate Pursuer(s) without penalty +//Killing a Bystander who was a former Target returns him to your Target pool +//Killing 3 or more Targets in a row without dying earns a bonus +//Killing all Targets first earns a bonus +//Red = Target, Green = Bystander +//--- GAME RULES END --- + +//Spec Note: Upon entry to game - +// All opponents have green triangles. +// Once you select your target, that player's triangle appears red (for you). +// If someone who has you as a target (a Pursuer) damages you, his triangle disappears altogether (for you). +// Once your target is eliminated, he respawns with a green triangle. +// If your Pursuer kills you, he has a green triangle again when you respawn (unless he becomes your target). + +exec("scripts/aiBountyGame.cs"); + +$InvBanList[Bounty, "TurretOutdoorDeployable"] = 1; +$InvBanList[Bounty, "TurretIndoorDeployable"] = 1; +$InvBanList[Bounty, "ElfBarrelPack"] = 1; +$InvBanList[Bounty, "MortarBarrelPack"] = 1; +$InvBanList[Bounty, "PlasmaBarrelPack"] = 1; +$InvBanList[Bounty, "AABarrelPack"] = 1; +$InvBanList[Bounty, "MissileBarrelPack"] = 1; +$InvBanList[Bounty, "Mine"] = 1; + +//-----------------Bounty Game score inits -------------- +// .objectiveTargetKills .bystanderKills .predatorKills .suicides .deaths +function BountyGame::initGameVars(%game) +{ + %game.SCORE_PER_TARGETKILL = 1; + %game.SCORE_PER_BYSTANDERKILL = -1; + %game.SCORE_PER_SUICIDE = -1; + %game.SCORE_PER_DEATH = 0; + %game.SCORE_PER_COMPLETION_BONUS = 5; + %game.SIZE_STREAK_TO_AWARD = 3; //award bonus for a winning streak this big or better + %game.WARN_AT_NUM_OBJREM = 2; //display warning when player has only this many or less objectives left + %game.MAX_CHEATDEATHS_ALLOWED = 1; //number of times a player can die by cntrl-k or die by leaving mission area before being labeled a cheater + + %game.waypointFrequency = 24000; + %game.waypointDuration = 6000; +} + +function BountyGame::startMatch(%game) +{ + //call the default + DefaultGame::startMatch(%game); + + //now give everyone who's already playing a target + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + %game.nextObjective(%cl); + } +} + +function BountyGame::allowsProtectedStatics(%game) +{ + return true; +} + +function BountyGame::setUpTeams(%game) +{ + if ((%group = nameToID("MissionGroup/Teams")) == -1) + return; + + %dropSet = new SimSet("TeamDrops0"); + MissionCleanup.add(%dropSet); + + %group.setTeam(0); + + game.numTeams = 1; + setSensorGroupCount(32); + + //now set up the sensor group colors - specific for bounty - everyone starts out green to everone else... + for(%i = 0; %i < 32; %i++) + setSensorGroupColor(%i, 0xfffffffe, "0 255 0 255"); +} + +function BountyGame::pickTeamSpawn(%game, %team) +{ + DefaultGame::pickTeamSpawn(%game, 0); +} + +function BountyGame::claimSpawn(%game, %obj, %newTeam, %oldTeam) +{ + %newSpawnGroup = nameToId("MissionCleanup/TeamDrops0"); + %newSpawnGroup.add(%obj); +} + +function BountyGame::clientJoinTeam( %game, %client, %team, %respawn ) +{ + %game.assignClientTeam( %client ); + + // Spawn the player: + %game.spawnPlayer( %client, %respawn ); +} + +function BountyGame::assignClientTeam(%game, %client) +{ + %client.team = 0; + + //initialize the team array + for (%i = 1; %i < 32; %i++) + %game.teamArray[%i] = false; + + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team != 0) + %game.teamArray[%cl.team] = true; + } + + //now loop through the team array, looking for an empty team + for (%i = 1; %i < 32; %i++) + { + if (! %game.teamArray[%i]) + { + %client.team = %i; + break; + } + } + + // set player's skin pref here + setTargetSkin(%client.target, %client.skin); + %client.justEntered = true; + + // Let everybody know you are no longer an observer: + messageAll( 'MsgClientJoinTeam', '\c1%1 has joined the fray.', %client.name, "", %client, 1 ); + + updateCanListenState( %client ); + + logEcho(%client.nameBase@" (cl "@%client@") entered game"); +} + +function BountyGame::playerSpawned(%game, %player, %armor) +{ + DefaultGame::playerSpawned(%game, %player, %armor); + + %client = %player.client; + if (%client.justEntered) + { + %client.justEntered = ""; + %game.updateHitLists(); + } + %client.isPlaying = true; + // if client spawned and has no target (e.g. when first enters game), give him one + // if client came from observer mode, should still have a target + if (!%client.objectiveTarget && $MatchStarted) + %game.nextObjective(%client); + + //make sure the colors for this client are correct + %game.updateColorMask(%client); + + //show the waypoint for this player... + %client.damagedTargetTime = 0; + cancel(%client.waypointSchedule); + %game.showTargetWaypoint(%client); + + //also, anyone who has this client as an objective target, update their waypoint as well... + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.objectiveTarget == %client) + { + %cl.damagedTargetTime = 0; + cancel(%cl.waypointSchedule); + %game.showTargetWaypoint(%cl); + } + } +} + +function BountyGame::equip(%game, %player) +{ + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //%player.setArmor("Light"); + %player.setInventory(EnergyPack, 1); + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(Beacon, 3); + %player.setInventory(TargetingLaser, 1); + %player.weaponCount = 3; + + %player.use("Blaster"); +} + +function BountyGame::updateColorMask(%game, %client) +{ + //set yourself to red, so your objectives will be red + %redMask = 0; + %blueMask = 0; + + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //first, see if the client is your target + if (%cl == %client.objectiveTarget) + %redMask |= (1 << %cl.team); + + //else see if the have you as a target, and have damaged you... + else if (%cl.objectiveTarget == %client && %cl.damagedObjectiveTarget) + %blueMask |= (1 << %cl.team); + } + + //first everyone to green + setSensorGroupColor(%client.team, 0xfffffffe, "0 255 0 255"); + + //now set the red mask (your target) + setSensorGroupColor(%client.team, %redMask, "255 0 0 255"); + + //finally, set the blue mask (by setting alpha to 0 the damage/triangle will not appear, though + // names still can).. if none were desired then making this group never visible would be + // the better solution + setSensorGroupColor(%client.team, %blueMask, "0 0 255 0"); +} + +function BountyGame::showTargetWaypoint(%game, %client) +{ + //AI's simply detect their target + if (%client.isAIControlled()) + { + if (AIClientIsAlive(%client.objectiveTarget)) + %client.clientDetected(%client.objectiveTarget); + return; + } + + //only show the target waypoint if the target hasn't been damaged within the frequency period + if (getSimTime() - %client.damagedTargetTime < %game.waypointFrequency) + { + %client.waypointSchedule = %game.schedule(%game.waypointFrequency, "showTargetWaypoint", %client); + return; + } + + //flash a waypoint on the %client's current objective + %clTarget = %client.objectiveTarget; + if (!AIClientIsAlive(%clTarget) || !AIClientIsAlive(%client)) + return; + + //set the vis mask + %visMask = getSensorGroupAlwaysVisMask(%clTarget.getSensorGroup()); + %visMask |= (1 << %client.getSensorGroup()); + setSensorGroupAlwaysVisMask(%clTarget.getSensorGroup(), %visMask); + + //scope the client, then set the always vis mask... + if (isObject(%clTarget.player)) + { + //always keep the target in scope... + %clTarget.player.scopeToClient(%client); + + //now issue a command to kill the target + %client.setTargetId(%clTarget.target); + commandToClient(%client, 'TaskInfo', %client, -1, false, "Attack Target"); + %client.sendTargetTo(%client, true); + + //send the "waypoint is here sound" - QIX, need a sound! + messageClient(%client, 'MsgBountyWaypoint', '~wfx/misc/target_waypoint.wav'); + } + + //schedule the time to hide the waypoint + %client.waypointSchedule = %game.schedule(%game.waypointDuration, "hideTargetWaypoint", %client); +} + +function BountyGame::hideTargetWaypoint(%game, %client) +{ + //AI's simply detect their target + if (%client.isAIControlled()) + { + if (AIClientIsAlive(%client.objectiveTarget)) + %client.clientDetected(%client.objectiveTarget); + return; + } + + //flash a waypoint on the %client's current objective + %clTarget = %client.objectiveTarget; + if (!isObject(%clTarget)) + return; + + //clear scope the client, then unset the always vis mask... + %visMask = getSensorGroupAlwaysVisMask(%clTarget.getSensorGroup()); + %visMask &= ~(1 << %client.getSensorGroup()); + setSensorGroupAlwaysVisMask(%clTarget.getSensorGroup(), %visMask); + + //kill the actually task... + removeClientTargetType(%client, "AssignedTask"); + + //schedule the next time the waypoint should flash + %client.waypointSchedule = %game.schedule(%game.waypointFrequency, "showTargetWaypoint", %client); +} + +function BountyGame::nextObjective(%game, %client) +{ + %numValidTargets = %game.buildListValidTargets(%client); + + if (%numValidTargets > 0) + { + // if there are valid targets (other players that client hasn't killed) + %client.objectiveTarget = %game.selectNewTarget(%client, %numValidTargets); + %client.objectiveTargetName = detag((%client.objectiveTarget).name); + %client.damagedObjectiveTarget = false; + + // this client has now been assigned a target + %client.hasHadTarget = true; + messageClient(%client, 'msgBountyTargetIs', '\c2Your target is %1.', %client.objectiveTarget.name); + + //for the client, set his mask to see his target as red, anyone who as him as a target and has damaged him is blue + //and everyone else is green... + %game.updateColorMask(%client); + + //set a temporary waypoint so you can find your new target + if (%client.isAIControlled()) + %game.aiBountyAssignTarget(%client, %client.objectiveTarget); + + //show the waypoint... + %client.damagedTargetTime = 0; + cancel(%client.waypointSchedule); + %game.showTargetWaypoint(%client); + logEcho(%client.nameBase@" (pl "@%client.player@"/cl "@%client@") assigned objective"); + } + else + { + if (%client.hasHadTarget) + { + // if there aren't any more valid targets and you've been assigned one, + // that means you've killed everyone -- game over! + %game.awardScoreCompletionBonus(%client); + %game.gameOver(); + cycleMissions(); + } + else + { + cancel(%client.awaitingTargetThread); + %client.awaitingTargetThread = %game.schedule(500, "nextObjective", %client); //waiting for an opponent to join, keep checking 2x per second. + } + } +} + +function BountyGame::buildListValidTargets(%game, %cl) +{ + %availTargets = 0; + %numClients = ClientGroup.getCount(); + for (%cIndex = 0; %cIndex < %numClients; %cIndex++) + { + %opponent = ClientGroup.getObject(%cIndex); + //make sure the target isn't yourself, or an observer + if (%opponent != %cl && %opponent.team > 0 && !%opponent.isNotInGame) + { + //make sure candidate for list has not already been killed by client + if (!%cl.eliminated[%opponent]) + { + %cl.validList[%availTargets] = %opponent; + %availTargets++; + } + } + } + + //returns length of list (number of players eligible as targets to this client) + %game.hudUpdateObjRem(%cl, %availTargets); + if ((%availTargets <= %game.WARN_AT_NUM_OBJREM) && (%cl.hasHadTarget)) + %game.announceEminentWin(%cl, %availTargets); + return %availTargets; +} + +function BountyGame::selectNewTarget(%game, %cl, %numValidTargets) +{ + // pick a player at random from eligible target list + %targetIndex = mFloor(getRandom() * (%numValidTargets - 0.01)); + //echo("picking index " @ %targetIndex @ " from ValidList"); + return %cl.validList[%targetIndex]; +} + +function BountyGame::updateHitLists(%game) +{ + %numClients = ClientGroup.getCount(); + for (%cIndex = 0; %cIndex < %numClients; %cIndex++) + { + %cl = ClientGroup.getObject(%cIndex); + %game.buildListValidTargets(%cl); + } +} + +function BountyGame::timeLimitReached(%game) +{ + %game.gameOver(); + cycleMissions(); +} + +function BountyGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + //send the message + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i++) { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + cancel(%client.waypointSchedule); + cancel(%client.forceRespawnThread); + } +} + +function BountyGame::clientMissionDropReady(%game, %client) +{ + %game.resetScore(%client); + messageClient(%client, 'MsgClientReady', "", %game.class); + messageClient(%client, 'MsgBountyTargetIs', "", ""); + messageClient(%client, 'MsgYourScoreIs', "", 0); + //%objRem = %game.buildListValidTargets(%client); + //messageClient(%client, 'MsgBountyObjRem', "", %objRem); + //messageClient(%client, 'MsgYourRankIs', "", -1); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function BountyGame::AIHasJoined(%game, %client) +{ + //let everyone know the player has joined the game + //messageAllExcept(%client, -1, 'MsgClientJoinTeam', '%1 has joined the fray.', %client.name, "", %client, 1); +} + +function BountyGame::forceRespawn(%game, %client) +{ + //make sure the player hasn't already respawned + if (isObject(%client.player)) + return; + + commandToClient(%client, 'setHudMode', 'Standard'); + Game.spawnPlayer( %client, true ); + %client.camera.setFlyMode(); + %client.setControlObject(%client.player); +} + +function BountyGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc) +{ + DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc); + + // you had your shot + %clVictim.isPlaying = false; + cancel(%clVictim.awaitingTargetThread); + + // any time a person dies, the kill streak is reset + %clVictim.killStreak = 0; + + //force the player to respawn + if (!%clVictim.isAIControlled()) + %clVictim.forceRespawnThread = %game.schedule(5000, forceRespawn, %clVictim); +} + +function BountyGame::onClientLeaveGame(%game, %clientId) +{ + DefaultGame::onClientLeaveGame(%game, %clientId); + %clientId.isNotInGame = true; + + %numClients = ClientGroup.getCount(); + for (%index = 0; %index < %numClients; %index++) + { + %possPredator = ClientGroup.getObject(%index); + // make sure this guy gets erased from everyone's eliminated list + %possPredator.eliminated[%clientId] = ""; + + //no need for this - anyone who has him as a target will have their colors reset in game.nextObjective() + //reset everyones triangles to friendly and visible so the next guy that joins, doesn't get the old settings + //setTargetFriendlyMask(%possPredator.target, getTargetFriendlyMask(%possPredator.target) | (1< %game.MAX_CHEATDEATHS_ALLOWED); +} + +function BountyGame::testSuicide(%game, %victimID, %killerID, %damageType) +{ + return ((%victimID == %killerID) || (%damageType == $DamageType::Ground) || (%damageType == $DamageType::Suicide) || (%damageType == $DamageType::OutOfBounds)); +} + +function BountyGame::testTargetKill(%game, %clVictim, %clKiller) +{ + // was the person you just killed your target? + return (%clKiller.objectiveTarget == %clVictim); +} + +function BountyGame::testPredatorKill(%game, %clVictim, %clKiller) +{ + // were you the target of the person you just killed? + return (%clVictim.objectiveTarget == %clKiller); +} + +function BountyGame::awardScoreSuicide(%game, %clVictim, %damageType) +{ + //now loop through the client, and award the kill to any attacker who damaged the client within 20 secs... + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.objectiveTarget == %clVictim) + { + %game.awardScoreTargetKill(%clVictim, %cl, true); + messageClient(%clVictim, 'msgBountyTarKil', '\c2You eliminated yourself. %1 has been awarded the bounty!', %cl.name); + } + } + + //update the "cheated" count + if (%damageType == $DamageType::Suicide) + { + %clVictim.cheated++; + DefaultGame::awardScoreSuicide(%game, %clVictim); + } + + %game.recalcScore(%clVictim); + %clVictim.killStreak = 0; +} + +function BountyGame::awardScoreTargetKill(%game,%clVictim, %clKiller, %victimSuicided) +{ + // congratulations, you killed your target + %clKiller.objectiveTargetKills++; + %clKiller.kills = %clKiller.objectiveTargetKills; + %clKiller.eliminated[%clVictim] = true; + + if (%victimSuicided) + { + if (%clVictim.gender $= "Female") + messageClient(%clKiller, 'msgBountyTarKil', '\c2Target %1 helped you out by eliminating herself!', %clVictim.name); + else + messageClient(%clKiller, 'msgBountyTarKil', '\c2Target %1 helped you out by eliminating himself!', %clVictim.name); + } + else + messageClient(%clKiller, 'msgBountyTarKil', '\c2You eliminated target %1!', %clVictim.name); + + if (%game.SCORE_PER_TARGETKILL != 0) + %game.recalcScore(%clKiller); + + %clKiller.killStreak++; + %clVictim.killStreak = 0; + if (%clKiller.killStreak >= %game.SIZE_STREAK_TO_AWARD) //award points for a kill streak + %game.awardScoreKillStreak(%clKiller); + + //the victim is no longer the objective of the killer, reset his colors. + //The colors for the killer will be reset in game.nextObjective() + %clKiller.objectiveTarget = ""; + %game.updateColorMask(%clVictim); + + %game.nextObjective(%clKiller); + + //since the killer scored, update everyone who's got him as a target... + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.objectiveTarget == %clKiller) + { + %cl.damagedTargetTime = 0; + cancel(%cl.waypointSchedule); + %game.showTargetWaypoint(%cl); + } + } +} + +function BountyGame::awardScoreBystanderKill(%game, %clVictim, %clKiller) +{ + // uh oh, you killed someone other than your target or the person targeting you + %clKiller.bystanderKills++; + //%clVictim.killStreak = 0; //don't penalize the bystander right now, maybe change this later + // if you'd already killed him legally, he's back on your prospective target list + + if (mAbs(%game.SCORE_PER_BYSTANDERKILL) > 1) + %plural = (%game.SCORE_PER_BYSTANDERKILL > 1 ? "s" : ""); + + if (%game.SCORE_PER_BYSTANDERKILL != 0) + { + messageClient(%clKiller, 'msgBountyBysKil', '\c0You have been penalized %1 point%2 for killing bystander %3.', mAbs(%game.SCORE_PER_BYSTANDERKILL), %plural, %clVictim.name); + messageClient(%clVictim, 'msgBountyBystander', '\c2You were the victim of %1\'s lousy aim! He was penalized.', %clKiller.name); + %game.recalcScore(%clKiller); + } + + //add a target back to your list (any target) + %targetCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%clKiller.eliminated[%cl]) + { + %addTargetsArray[%targetCount] = %cl; + %targetCount++; + } + } + + //see if we found any targets we can add back on... + if (%targetCount > 0) + { + %clKiller.eliminated[%addTargetsArray[mFloor(getRandom() * (%targetCount - 0.01))]] = false; + messageClient(%clKiller, 'msgBountyBysRedo', '\c2One target has been added back onto your Bounty list.'); + } + + %clKiller.killStreak = 0; +} + +function BountyGame::awardScorePredatorKill(%game, %clVictim, %clKiller) +{ + %clVictim.killStreak = 0; + messageClient(%clKiller, 'msgBountyPredKill', '\c0You have temporarily fended off %1.', %clVictim.name); + + //now, try to assign a new objective target for clVictim... + %game.nextObjective(%clVictim); + + //also update the color mask for the killer... + %game.updateColorMask(%clKiller); +} + +function BountyGame::awardScoreKillStreak(%game, %cl) +{ + %bonus = (%cl.killStreak - %game.SIZE_STREAK_TO_AWARD) + 1; + %cl.streakPoints += %bonus; + + messageClient(%cl,'msgBountyPlrStrkBonus', '\c0You received a %1 point bonus for a %2 kill streak!', %bonus, %cl.killStreak); + messageAll('msgBountyStreakBonus', '\c0%1 has eliminated %2 targets in a row!', %cl.name, %cl.killStreak, %bonus); //send bonus for sound parsing + //callback exists in client.cs for 'msgBountyStreakBonus', to play repeating bell sound length dependent on streak +} + +function BountyGame::awardScoreCompletionBonus(%game, %cl) +{ + // you killed everybody who was on your list + %cl.compBonus = 1; + if (%game.SCORE_PER_COMPLETION_BONUS != 0) + messageAll('msgBountyCompBonus', '\c2%1 receives a %2 point bonus for completing all objectives.', %cl.name, %game.SCORE_PER_COMPLETION_BONUS); + + %game.recalcScore(%cl); +} + + +function BountyGame::announceEminentWin(%game, %cl, %objRem) +{ + %wav = "~wfx/misc/bounty_objRem" @ %objRem @ ".wav"; + %plural = (%objRem > 1 ? "s" : ""); + if (%objRem > 0) + messageAll('msgBountyEminent', '\c2%1 has only %2 target%3 left!%4', %cl.name, %objRem, %plural, %wav); + else + messageAll('msgBountyOver', '\c2%1 has eliminated all targets!~wfx/misc/bounty_completed.wav', %cl.name); +} + +function BountyGame::announceCheater(%game, %client) +{ + if (%client.cheated > 1) + %plural = "s"; + else + %plural = ""; + messageAll('msgCheater', '%1 has suicided \c2%2 \c0time%3!', %client.name, %client.cheated, %plural); +} + +function BountyGame::recalcScore(%game, %cl) +{ + %cl.score = %cl.objectiveTargetKills * %game.SCORE_PER_TARGETKILL; + %cl.score += %cl.bystanderKills * %game.SCORE_PER_BYSTANDERKILL; + %cl.score += %cl.suicides * %game.SCORE_PER_SUICIDE; + %cl.score += %cl.compBonus * %game.SCORE_PER_COMPLETION_BONUS; + %cl.score += %cl.streakPoints; //this awarded in awardScoreKillStreak + + messageClient(%cl, 'MsgYourScoreIs', "", %cl.score); + + %game.recalcTeamRanks(%cl); +} + +function BountyGame::resetScore(%game, %cl) +{ + %cl.score = 0; + %cl.kills = 0; + %cl.objectiveTargetKills = 0; + %cl.bystanderKills = 0; + %cl.suicides = 0; + %cl.compBonus = 0; + %cl.streakPoints = 0; + + cancel(%cl.awaitingTargetThread); + + %cl.killstreak = ""; + %cl.cheated = ""; + %cl.hasHadTarget = false; + + //reset %cl's hit list + //note that although this only clears clients (enemies) currently in the game, + //clients (enemies) who left early should have been cleared at that time. + %numClients = ClientGroup.getCount(); + for (%count = 0; %count < %numClients; %count++) + { + %enemy = ClientGroup.getObject(%count); + %cl.eliminated[%enemy] = ""; + } +} + +function BountyGame::hudUpdateObjRem(%game, %client, %availTargets) +{ + // how many people do you have left to kill? + messageClient(%client, 'msgBountyObjRem', "", %availTargets); +} + +function BountyGame::enterMissionArea(%game, %playerData, %player) +{ + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); + cancel(%player.alertThread); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") entered mission area"); +} + +function BountyGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %player.client.outOfBounds = true; + messageClient(%player.client, 'LeaveMissionArea', '\c1You have left the mission area. Return or take damage.~wfx/misc/warning_beep.wav'); + %player.alertThread = %game.schedule(1000, "AlertPlayer", 3, %player); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") left mission area"); +} + +function BountyGame::AlertPlayer(%game, %count, %player) +{ + if(%count > 1) + %player.alertThread = %game.schedule(1000, "AlertPlayer", %count - 1, %player); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); +} + +function BountyGame::MissionAreaDamage(%game, %player) +{ + if(%player.getState() !$= "Dead") { + %player.setDamageFlash(0.1); + %prevHurt = %player.getDamageLevel(); + %player.setDamageLevel(%prevHurt + 0.05); + // a little redundancy to see if the lastest damage killed the player + if(%player.getState() $= "Dead") + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); + } + else + { + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); + } +} + + +function BountyGame::updateScoreHud(%game, %client, %tag) +{ + // clear the header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // send the subheader: + messageClient( %client, 'SetScoreHudSubheader', "", '\tPLAYER\tSCORE\tTARGETS LEFT' ); + + for ( %index = 0; %index < $TeamRank[0, count]; %index++ ) + { + //get the client info + %cl = $TeamRank[0, %index]; + %clScore = %cl.score $= "" ? 0 : %cl.score; + + //find out how many targets this client has left + %clTargets = 0; + for (%cIndex = 0; %cIndex < ClientGroup.getCount(); %cIndex++) + { + %opponent = ClientGroup.getObject(%cIndex); + if (!%opponent.isNotInGame && %opponent.team > 0 && %opponent != %cl && !%cl.eliminated[%opponent]) + %clTargets++; + } + + //find out if we've killed this target + %clKilled = ""; + if ( %client.eliminated[%cl] ) + %clKilled = "ELIMINATED"; + + %clStyle = %cl == %client ? "" : ""; + + //if the client is not an observer, send the message + if (%client.team != 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3\t%4', + %cl.name, %clScore, %clTargets, %clKilled, %clStyle ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3\t%4', + %cl.name, %clScore, %clTargets, %clKilled, %clStyle, %cl ); + } + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient(%client, 'ClearHud', "", %tag, %index); +} + +function BountyGame::applyConcussion(%game, %player) +{ +} diff --git a/public/base/@vl2/scripts.vl2/scripts/CTFGame.cs b/public/base/@vl2/scripts.vl2/scripts/CTFGame.cs new file mode 100644 index 00000000..cb505a60 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/CTFGame.cs @@ -0,0 +1,2014 @@ +// DisplayName = Capture the Flag + +//--- GAME RULES BEGIN --- +//Prevent enemy from capturing your flag +//Score one point for grabbing the enemy's flag +//To capture, your flag must be at its stand +//Score 100 points each time enemy flag is captured +//--- GAME RULES END --- + +//exec the AI scripts +exec("scripts/aiCTF.cs"); + +//-- tracking --- +function CTFGame::initGameVars(%game) +{ + + if(isDemo()) + { + %game.SCORE_PER_SUICIDE = -1; + %game.SCORE_PER_TEAMKILL = -1; + %game.SCORE_PER_DEATH = -1; + + %game.SCORE_PER_KILL = 1; + %game.SCORE_PER_PLYR_FLAG_CAP = 3; + %game.SCORE_PER_TEAM_FLAG_CAP = 100; + %game.SCORE_PER_TEAM_FLAG_TOUCH = 1; + %game.SCORE_PER_GEN_DESTROY = 2; + %game.SCORE_PER_ESCORT_ASSIST = 1; + + %game.SCORE_PER_TURRET_KILL = 1; + %game.SCORE_PER_FLAG_DEFEND = 1; + %game.SCORE_PER_CARRIER_KILL = 1; + %game.SCORE_PER_FLAG_RETURN = 1; + %game.SCORE_PER_GEN_DEFEND = 1; + %game.SCORE_PER_GEN_REPAIR = 1; + + %game.FLAG_RETURN_DELAY = 45 * 1000; //45 seconds + + %game.TIME_CONSIDERED_FLAGCARRIER_THREAT = 3 * 1000; //after damaging enemy flag carrier + %game.RADIUS_GEN_DEFENSE = 20; //meters + %game.RADIUS_FLAG_DEFENSE = 20; //meters + + %game.TOUCH_DELAY_MS = 20000; //20 secs + + %game.fadeTimeMS = 2000; + + %game.notifyMineDist = 7.5; + + + %game.stalemate = false; + %game.stalemateObjsVisible = false; + %game.stalemateTimeMS = 60000; + %game.stalemateFreqMS = 15000; + %game.stalemateDurationMS = 6000; + } + if( !isDemo() ) + { + %game.SCORE_PER_SUICIDE = -10; + %game.SCORE_PER_TEAMKILL = -10; + %game.SCORE_PER_DEATH = 0; + + %game.SCORE_PER_KILL = 10; + %game.SCORE_PER_PLYR_FLAG_CAP = 30; + %game.SCORE_PER_PLYR_FLAG_TOUCH = 20; + %game.SCORE_PER_TEAM_FLAG_CAP = 100; + %game.SCORE_PER_TEAM_FLAG_TOUCH = 1; + %game.SCORE_PER_ESCORT_ASSIST = 5; + %game.SCORE_PER_HEADSHOT = 1; + + %game.SCORE_PER_TURRET_KILL = 10; // controlled + %game.SCORE_PER_TURRET_KILL_AUTO = 3; // uncontrolled + %game.SCORE_PER_FLAG_DEFEND = 5; + %game.SCORE_PER_CARRIER_KILL = 5; + %game.SCORE_PER_FLAG_RETURN = 10; + %game.SCORE_PER_STALEMATE_RETURN = 15; + %game.SCORE_PER_GEN_DEFEND = 5; + + %game.SCORE_PER_DESTROY_GEN = 10; + %game.SCORE_PER_DESTROY_SENSOR = 4; + %game.SCORE_PER_DESTROY_TURRET = 5; + %game.SCORE_PER_DESTROY_ISTATION = 2; + %game.SCORE_PER_DESTROY_VSTATION = 5; + %game.SCORE_PER_DESTROY_SOLAR = 5; + %game.SCORE_PER_DESTROY_SENTRY = 4; + %game.SCORE_PER_DESTROY_DEP_SENSOR = 1; + %game.SCORE_PER_DESTROY_DEP_INV = 2; + %game.SCORE_PER_DESTROY_DEP_TUR = 3; + + %game.SCORE_PER_DESTROY_SHRIKE = 5; + %game.SCORE_PER_DESTROY_BOMBER = 8; + %game.SCORE_PER_DESTROY_TRANSPORT = 5; + %game.SCORE_PER_DESTROY_WILDCAT = 5; + %game.SCORE_PER_DESTROY_TANK = 8; + %game.SCORE_PER_DESTROY_MPB = 12; + %game.SCORE_PER_PASSENGER = 2; + + %game.SCORE_PER_REPAIR_GEN = 8; + %game.SCORE_PER_REPAIR_SENSOR = 1; + %game.SCORE_PER_REPAIR_TURRET = 4; + %game.SCORE_PER_REPAIR_ISTATION = 2; + %game.SCORE_PER_REPAIR_VSTATION = 4; + %game.SCORE_PER_REPAIR_SOLAR = 4; + %game.SCORE_PER_REPAIR_SENTRY = 2; + %game.SCORE_PER_REPAIR_DEP_TUR = 3; + %game.SCORE_PER_REPAIR_DEP_INV = 2; + + %game.FLAG_RETURN_DELAY = 45 * 1000; //45 seconds + + %game.TIME_CONSIDERED_FLAGCARRIER_THREAT = 3 * 1000; //after damaging enemy flag carrier + %game.RADIUS_GEN_DEFENSE = 20; //meters + %game.RADIUS_FLAG_DEFENSE = 20; //meters + + %game.TOUCH_DELAY_MS = 20000; //20 secs + + %game.fadeTimeMS = 2000; + + %game.notifyMineDist = 7.5; + + + %game.stalemate = false; + %game.stalemateObjsVisible = false; + %game.stalemateTimeMS = 60000; + %game.stalemateFreqMS = 15000; + %game.stalemateDurationMS = 6000; + } + +} + +package CTFGame { + +function ShapeBaseData::onDestroyed(%data, %obj) +{ + %scorer = %obj.lastDamagedBy; + if(!isObject(%scorer)) + return; + + if( (%scorer.getType() & $TypeMasks::GameBaseObjectType) && + %scorer.getDataBlock().catagory $= "Vehicles" ) + { + // --------------------------------------------- + // z0dd - ZOD, 6/18/02. %name was never defined. + %name = %scorer.getDatablock().getName(); + if(%name $= "BomberFlyer" || %name $= "AssaultVehicle") + %gunnerNode = 1; + else + %gunnerNode = 0; + + if(%scorer.getMountNodeObject(%gunnerNode)) + { + %destroyer = %scorer.getMountNodeObject(%gunnerNode).client; + %scorer = %destroyer; + %damagingTeam = %scorer.team; + } + } + else if(%scorer.getClassName() $= "Turret") + { + if(%scorer.getControllingClient()) + { + //manned turret + %destroyer = %scorer.getControllingClient(); + %scorer = %destroyer; + %damagingTeam = %scorer.team; + } + else return; //unmanned turret + } + + if(!%damagingTeam) + %damagingTeam = %scorer.team; + + if(%damagingTeam == %obj.team) + { + //error("team objects dont score"); + return; + } + + if(%obj.soiledByEnemyRepair) + { + //error(%obj SPC "was once repiared by an enemy. No destruction points."); + return; + } + + %objType = %obj.getDataBlock().getName(); + if(%objType $= "GeneratorLarge") + { + %score = game.awardScoreGenDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "SensorLargePulse" || %objType $= "SensorMediumPulse") + { + %score = game.awardScoreSensorDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "TurretBaseLarge") + { + %score = game.awardScoreTurretDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "StationInventory") + { + %score = game.awardScoreInvDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "StationVehicle") + { + %score = game.awardScoreVehicleStationDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "SolarPanel") + { + %score = game.awardScoreSolarDestroy(%scorer); + game.shareScore(%score, %score); + } + else if(%objType $= "SentryTurret") + { + %score = game.awardScoreSentryDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "DeployedMotionSensor" || %objType $= "DeployedPulseSensor") + { + %score = game.awardScoreDepSensorDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "TurretDeployedWallIndoor" || %objType $= "TurretDeployedFloorIndoor" || + %objType $= "TurretDeployedCeilingIndoor" || %objType $= "TurretDeployedOutdoor") + { + %score = game.awardScoreDepTurretDestroy(%scorer); + game.shareScore(%scorer, %score); + } + else if(%objType $= "DeployedStationInventory") + { + %score = game.awardScoreDepStationDestroy(%scorer); + game.shareScore(%scorer, %score); + } + +} + +function ShapeBaseData::onDisabled(%data, %obj) +{ + %obj.wasDisabled = true; + Parent::onDisabled(%data, %obj); +} + +function RepairGunImage::onRepair(%this, %obj, %slot) +{ + Parent::onRepair(%this, %obj, %slot); + %target = %obj.repairing; + if(%target && %target.team != %obj.team) + { + //error("Enemy stuff("@%obj@") is being repaired (by "@%target@")"); + %target.soiledByEnemyRepair = true; + } +} + + +function Flag::objectiveInit(%data, %flag) +{ + if (!%flag.isTeamSkinned) + { + %pos = %flag.getTransform(); + %group = %flag.getGroup(); + } + %flag.originalPosition = %flag.getTransform(); + $flagPos[%flag.team] = %flag.originalPosition; + %flag.isHome = true; + %flag.carrier = ""; + %flag.grabber = ""; + setTargetSkin(%flag.getTarget(), CTFGame::getTeamSkin(CTFGame, %flag.team)); + setTargetSensorGroup(%flag.getTarget(), %flag.team); + setTargetAlwaysVisMask(%flag.getTarget(), 0x7); + setTargetRenderMask(%flag.getTarget(), getTargetRenderMask(%flag.getTarget()) | 0x2); + %flag.scopeWhenSensorVisible(true); + $flagStatus[%flag.team] = ""; + + //Point the flag and stand at each other + %group = %flag.getGroup(); + %count = %group.getCount(); + %flag.stand = ""; + for(%i = 0; %i < %count; %i++) + { + %this = %group.getObject(%i); + + //--------------------------------------------------------------------------------------------------------------------------- + // z0dd - ZOD, 3/16/02. Added TSStatic class, to fix console spam. + //if((%this.getClassName() !$= "InteriorInstance") && (%this.getClassName() !$= "SimGroup")) + if(%this.getClassName() !$= "InteriorInstance" && %this.getClassName() !$= "SimGroup" && %this.getClassName() !$= "TSStatic") + { + if(%this.getDataBlock().getName() $= "ExteriorFlagStand") + { + %flag.stand = %this; + %this.flag = %flag; + } + } + } + + // set the nametag on the target + setTargetName(%flag.getTarget(), CTFGame::getTeamName(CTFGame, %flag.team)); + + // create a marker on this guy + %flag.waypoint = new MissionMarker() { + position = %flag.getTransform(); + dataBlock = "FlagMarker"; + }; + MissionCleanup.add(%flag.waypoint); + + // create a target for this (there is no MissionMarker::onAdd script call) + %target = createTarget(%flag.waypoint, CTFGame::getTeamName( CTFGame, %flag.team), "", "", 'Base', %flag.team, 0); + setTargetAlwaysVisMask(%target, 0xffffffff); + + //store the flag in an array + $TeamFlag[%flag.team] = %flag; + + // ------------------------------------------ + // z0dd - ZOD, 5/27/02. Fixes flags hovering + // over friendly player when collision occurs + %flag.static = true; +} + +function Flag::onEnterLiquid(%data, %obj, %coverage, %type) +{ + if(%type > 3) // 1-3 are water, 4+ is lava and quicksand(?) + { + //error("flag("@%obj@") is in liquid type" SPC %type); + game.schedule(3000, flagReturn, %obj); + } +} + +}; + +//-------------------------------------------------------------------------- +// need to have this for the corporate maps which could not be fixed +function SimObject::clearFlagWaypoints(%this) +{ +} + +function WayPoint::clearFlagWaypoints(%this) +{ + logEcho("Removing flag waypoint: " @ %this); + if(%this.nameTag $= "Flag") + %this.delete(); +} + +function SimGroup::clearFlagWaypoints(%this) +{ + for(%i = %this.getCount() - 1; %i >= 0; %i--) + %this.getObject(%i).clearFlagWaypoints(); +} + +function CTFGame::getTeamSkin(%game, %team) +{ + + if(isDemo() || $host::tournamentMode) + { + return $teamSkin[%team]; + } + + else + { + //error("CTFGame::getTeamSkin"); + if(!$host::useCustomSkins) + { + %terrain = MissionGroup.musicTrack; + //error("Terrain type is: " SPC %terrain); + switch$(%terrain) + { + case "lush": + if(%team == 1) + %skin = 'beagle'; + else if(%team == 2) + %skin = 'dsword'; + else %skin = 'base'; + + case "badlands": + if(%team == 1) + %skin = 'swolf'; + else if(%team == 2) + %skin = 'dsword'; + else %skin = 'base'; + + case "ice": + if(%team == 1) + %skin = 'swolf'; + else if(%team == 2) + %skin = 'beagle'; + else %skin = 'base'; + + case "desert": + if(%team == 1) + %skin = 'cotp'; + else if(%team == 2) + %skin = 'beagle'; + else %skin = 'base'; + + case "Volcanic": + if(%team == 1) + %skin = 'dsword'; + else if(%team == 2) + %skin = 'cotp'; + else %skin = 'base'; + + default: + if(%team == 2) + %skin = 'baseb'; + else %skin = 'base'; + } + } + else %skin = $teamSkin[%team]; + + //error("%skin = " SPC getTaggedString(%skin)); + return %skin; +} +} + +function CTFGame::getTeamName(%game, %team) +{ + if ( isDemo() || $host::tournamentMode) + return $TeamName[%team]; + + //error("CTFGame::getTeamName"); + if(!$host::useCustomSkins) + { + %terrain = MissionGroup.musicTrack; + //error("Terrain type is: " SPC %terrain); + switch$(%terrain) + { + case "lush": + if(%team == 1) + %name = 'Blood Eagle'; + else if(%team == 2) + %name = 'Diamond Sword'; + + case "badlands": + if(%team == 1) + %name = 'Starwolf'; + else if(%team == 2) + %name = 'Diamond Sword'; + + case "ice": + if(%team == 1) + %name = 'Starwolf'; + else if(%team == 2) + %name = 'Blood Eagle'; + + case "desert": + if(%team == 1) + %name = 'Phoenix'; + else if(%team == 2) + %name = 'Blood Eagle'; + + case "Volcanic": + if(%team == 1) + %name = 'Diamond Sword'; + else if(%team == 2) + %name = 'Phoenix'; + + default: + if(%team == 2) + %name = 'Inferno'; + else + %name = 'Storm'; + } + + if(%name $= "") + { + //error("No team Name ============================="); + %name = $teamName[%team]; + } + } + else + %name = $TeamName[%team]; + + //error("%name = " SPC getTaggedString(%name)); + return %name; +} + +//-------------------------------------------------------------------------- +function CTFGame::missionLoadDone(%game) +{ + //default version sets up teams - must be called first... + DefaultGame::missionLoadDone(%game); + + for(%i = 1; %i < (%game.numTeams + 1); %i++) + $teamScore[%i] = 0; + + // remove + MissionGroup.clearFlagWaypoints(); + + //reset some globals, just in case... + $dontScoreTimer[1] = false; + $dontScoreTimer[2] = false; + + echo( "starting camp thread..." ); + %game.campThread_1 = schedule( 1000, 0, "checkVehicleCamping", 1 ); + %game.campThread_2 = schedule( 1000, 0, "checkVehicleCamping", 2 ); +} + +function CTFGame::playerTouchFlag(%game, %player, %flag) +{ + %client = %player.client; + + if ((%flag.carrier $= "") && (%player.getState() !$= "Dead")) + { + //flag isn't held and has been touched by a live player + if (%client.team == %flag.team) + %game.playerTouchOwnFlag(%player, %flag); + else + %game.playerTouchEnemyFlag(%player, %flag); + } + + // toggle visibility of the flag + setTargetRenderMask(%flag.waypoint.getTarget(), %flag.isHome ? 0 : 1); + +} + +function CTFGame::playerTouchOwnFlag(%game, %player, %flag) +{ + if(%flag.isHome) + { + if (%player.holdingFlag !$= "") + %game.flagCap(%player); + } + else + %game.flagReturn(%flag, %player); + + //call the AI function + %game.AIplayerTouchOwnFlag(%player, %flag); +} + +function CTFGame::playerTouchEnemyFlag(%game, %player, %flag) +{ + %client = %player.client; + %player.holdingFlag = %flag; //%player has this flag + %flag.carrier = %player; //this %flag is carried by %player + + %player.mountImage(FlagImage, $FlagSlot, true, %game.getTeamSkin(%flag.team)); + + %game.playerGotFlagTarget(%player); + //only cancel the return timer if the player is in bounds... + if (!%client.outOfBounds) + { + cancel($FlagReturnTimer[%flag]); + $FlagReturnTimer[%flag] = ""; + } + + //if this flag was "at home", see if both flags have now been taken + if (%flag.isHome) + { + // tiebreaker score + game.awardScoreFlagTouch( %client, %flag ); + + %startStalemate = false; + if ($TeamFlag[1] == %flag) + %startStalemate = !$TeamFlag[2].isHome; + else + %startStalemate = !$TeamFlag[1].isHome; + + if (%startStalemate) + %game.stalemateSchedule = %game.schedule(%game.stalemateTimeMS, beginStalemate); + + } + + %flag.hide(true); + %flag.startFade(0, 0, false); + %flag.isHome = false; + if(%flag.stand) + %flag.stand.getDataBlock().onFlagTaken(%flag.stand);//animate, if exterior stand + + $flagStatus[%flag.team] = %client.nameBase; + %teamName = %game.getTeamName(%flag.team); + messageTeamExcept(%client, 'MsgCTFFlagTaken', '\c2Teammate %1 took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase); + messageTeam(%flag.team, 'MsgCTFFlagTaken', '\c2Your flag has been taken by %1!~wfx/misc/flag_taken.wav',%client.name, 0, %flag.team, %client.nameBase); + messageTeam(0, 'MsgCTFFlagTaken', '\c2%1 took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase); + messageClient(%client, 'MsgCTFFlagTaken', '\c2You took the %2 flag.~wfx/misc/flag_snatch.wav', %client.name, %teamName, %flag.team, %client.nameBase); + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") took team "@%flag.team@" flag"); + + //call the AI function + %game.AIplayerTouchEnemyFlag(%player, %flag); + + //if the player is out of bounds, then in 3 seconds, it should be thrown back towards the in bounds area... + if (%client.outOfBounds) + %game.schedule(3000, "boundaryLoseFlag", %player); +} + +function CTFGame::playerGotFlagTarget(%game, %player) +{ + %player.scopeWhenSensorVisible(true); + %target = %player.getTarget(); + setTargetRenderMask(%target, getTargetRenderMask(%target) | 0x2); + if(%game.stalemateObjsVisible) + setTargetAlwaysVisMask(%target, 0x7); +} + +function CTFGame::playerLostFlagTarget(%game, %player) +{ + %player.scopeWhenSensorVisible(false); + %target = %player.getTarget(); + setTargetRenderMask(%target, getTargetRenderMask(%target) & ~0x2); + // clear his always vis target mask + setTargetAlwaysVisMask(%target, (1 << getTargetSensorGroup(%target))); +} + +function CTFGame::playerDroppedFlag(%game, %player) +{ + %client = %player.client; + %flag = %player.holdingFlag; + + %game.playerLostFlagTarget(%player); + + %player.holdingFlag = ""; //player isn't holding a flag anymore + %flag.carrier = ""; //flag isn't held anymore + $flagStatus[%flag.team] = ""; + + %player.unMountImage($FlagSlot); + %flag.hide(false); //Does the throwItem function handle this? + + %teamName = %game.getTeamName(%flag.team); + messageTeamExcept(%client, 'MsgCTFFlagDropped', '\c2Teammate %1 dropped the %2 flag.~wfx/misc/flag_drop.wav', %client.name, %teamName, %flag.team); + messageTeam(%flag.team, 'MsgCTFFlagDropped', '\c2Your flag has been dropped by %1!~wfx/misc/flag_drop.wav', %client.name, 0, %flag.team); + messageTeam(0, 'MsgCTFFlagDropped', '\c2%1 dropped the %2 flag.~wfx/misc/flag_drop.wav', %client.name, %teamName, %flag.team); + if(!%player.client.outOfBounds) + messageClient(%client, 'MsgCTFFlagDropped', '\c2You dropped the %2 flag.~wfx/misc/flag_drop.wav', 0, %teamName, %flag.team); + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") dropped team "@%flag.team@" flag"); + + //don't duplicate the schedule if there's already one in progress... + if ($FlagReturnTimer[%flag] <= 0) + $FlagReturnTimer[%flag] = %game.schedule(%game.FLAG_RETURN_DELAY - %game.fadeTimeMS, "flagReturnFade", %flag); + + //call the AI function + %game.AIplayerDroppedFlag(%player, %flag); +} + +function CTFGame::flagCap(%game, %player) +{ + %client = %player.client; + %flag = %player.holdingFlag; + %flag.carrier = ""; + + %game.playerLostFlagTarget(%player); + //award points to player and team + %teamName = %game.getTeamName(%flag.team); + messageTeamExcept(%client, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag!~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team); + messageTeam(%flag.team, 'MsgCTFFlagCapped', '\c2Your flag was captured by %1.~wfx/misc/flag_lost.wav', %client.name, 0, %flag.team, %client.team); + messageTeam(0, 'MsgCTFFlagCapped', '\c2%1 captured the %2 flag!~wfx/misc/flag_capture.wav', %client.name, %teamName, %flag.team, %client.team); + messageClient(%client, 'MsgCTFFlagCapped', '\c2You captured the %2 flag!~wfx/misc/flag_capture.wav', 0, %teamName, %flag.team, %client.team); + + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") capped team "@%client.team@" flag"); + %player.holdingFlag = ""; //no longer holding it. + %player.unMountImage($FlagSlot); + %game.awardScoreFlagCap(%client, %flag); + %game.flagReset(%flag); + + //call the AI function + %game.AIflagCap(%player, %flag); + + //if this cap didn't end the game, play the announcer... + if ($missionRunning) + { + if (%game.getTeamName(%client.team) $= 'Inferno') + messageAll("", '~wvoice/announcer/ann.infscores.wav'); + else if (%game.getTeamName(%client.team) $= 'Storm') + messageAll("", '~wvoice/announcer/ann.stoscores.wav'); + else if (%game.getTeamName(%client.team) $= 'Phoenix') + messageAll("", '~wvoice/announcer/ann.pxscore.wav'); + else if (%game.getTeamName(%client.team) $= 'Blood Eagle') + messageAll("", '~wvoice/announcer/ann.bescore.wav'); + else if (%game.getTeamName(%client.team) $= 'Diamond Sword') + messageAll("", '~wvoice/announcer/ann.dsscore.wav'); + else if (%game.getTeamName(%client.team) $= 'Starwolf') + messageAll("", '~wvoice/announcer/ann.swscore.wav'); + } +} + +function CTFGame::flagReturnFade(%game, %flag) +{ + $FlagReturnTimer[%flag] = %game.schedule(%game.fadeTimeMS, "flagReturn", %flag); + %flag.startFade(%game.fadeTimeMS, 0, true); +} + +function CTFGame::flagReturn(%game, %flag, %player) +{ + cancel($FlagReturnTimer[%flag]); + $FlagReturnTimer[%flag] = ""; + + if(%flag.team == 1) + %otherTeam = 2; + else + %otherTeam = 1; + %teamName = %game.getTeamName(%flag.team); + if (%player !$= "") + { + //a player returned it + %client = %player.client; + messageTeamExcept(%client, 'MsgCTFFlagReturned', '\c2Teammate %1 returned your flag to base.~wfx/misc/flag_return.wav', %client.name, 0, %flag.team); + messageTeam(%otherTeam, 'MsgCTFFlagReturned', '\c2Enemy %1 returned the %2 flag.~wfx/misc/flag_return.wav', %client.name, %teamName, %flag.team); + messageTeam(0, 'MsgCTFFlagReturned', '\c2%1 returned the %2 flag.~wfx/misc/flag_return.wav', %client.name, %teamName, %flag.team); + messageClient(%client, 'MsgCTFFlagReturned', '\c2You returned your flag.~wfx/misc/flag_return.wav', 0, %teamName, %flag.team); + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") returned team "@%flag.team@" flag"); + + // find out what type of return it is + // stalemate return? + if(!isDemo()) + { + if(%game.stalemate) + { + //error("Stalemate return!!!"); + %game.awardScoreStalemateReturn(%player.client); + } + // regular return + else + { + %enemyFlagDist = vectorDist($flagPos[%flag.team], $flagPos[%otherTeam]); + %dist = vectorDist(%flag.position, %flag.originalPosition); + + %rawRatio = %dist/%enemyFlagDist; + %ratio = %rawRatio < 1 ? %rawRatio : 1; + %percentage = mFloor( (%ratio) * 10 ) * 10; + %game.awardScoreFlagReturn(%player.client, %percentage); + } + } + else %game.awardScoreFlagReturn(%player.client); + } + else + { + //returned due to timer + messageTeam(%otherTeam, 'MsgCTFFlagReturned', '\c2The %2 flag was returned to base.~wfx/misc/flag_return.wav', 0, %teamName, %flag.team); //because it was dropped for too long + messageTeam(%flag.team, 'MsgCTFFlagReturned', '\c2Your flag was returned.~wfx/misc/flag_return.wav', 0, 0, %flag.team); + messageTeam(0, 'MsgCTFFlagReturned', '\c2The %2 flag was returned to base.~wfx/misc/flag_return.wav', 0, %teamName, %flag.team); + logEcho("team "@%flag.team@" flag returned (timeout)"); + } + + %game.flagReset(%flag); +} + +function CTFGame::showStalemateTargets(%game) +{ + cancel(%game.stalemateSchedule); + + //show the targets + for (%i = 1; %i <= 2; %i++) + { + %flag = $TeamFlag[%i]; + + //find the object to scope/waypoint.... + //render the target hud icon for slot 1 (a centermass flag) + //if we just set him as always sensor vis, it'll work fine. + if (isObject(%flag.carrier)) + setTargetAlwaysVisMask(%flag.carrier.getTarget(), 0x7); + } + + //schedule the targets to hide + %game.stalemateObjsVisible = true; + %game.stalemateSchedule = %game.schedule(%game.stalemateDurationMS, hideStalemateTargets); +} + +function CTFGame::hideStalemateTargets(%game) +{ + cancel(%game.stalemateSchedule); + + //hide the targets + for (%i = 1; %i <= 2; %i++) + { + %flag = $TeamFlag[%i]; + if (isObject(%flag.carrier)) + { + %target = %flag.carrier.getTarget(); + setTargetAlwaysVisMask(%target, (1 << getTargetSensorGroup(%target))); + } + } + + //schedule the targets to show again + %game.stalemateObjsVisible = false; + %game.stalemateSchedule = %game.schedule(%game.stalemateFreqMS, showStalemateTargets); +} + +function CTFGame::beginStalemate(%game) +{ + %game.stalemate = true; + %game.showStalemateTargets(); +} + +function CTFGame::endStalemate(%game) +{ + %game.stalemate = false; + %game.hideStalemateTargets(); + cancel(%game.stalemateSchedule); +} + +function CTFGame::flagReset(%game, %flag) +{ + //any time a flag is reset, kill the stalemate schedule + %game.endStalemate(); + + //make sure if there's a player carrying it (probably one out of bounds...), it is stripped first + if (isObject(%flag.carrier)) + { + //hide the target hud icon for slot 2 (a centermass flag - visible only as part of a teams sensor network) + %game.playerLostFlagTarget(%flag.carrier); + %flag.carrier.holdingFlag = ""; //no longer holding it. + %flag.carrier.unMountImage($FlagSlot); + } + + //fades, restore default position, home, velocity, general status, etc. + %flag.setVelocity("0 0 0"); + %flag.setTransform(%flag.originalPosition); + %flag.isHome = true; + %flag.carrier = ""; + %flag.grabber = ""; + $flagStatus[%flag.team] = ""; + %flag.hide(false); + if(%flag.stand) + %flag.stand.getDataBlock().onFlagReturn(%flag.stand);//animate, if exterior stand + + //fade the flag in... + %flag.startFade(%game.fadeTimeMS, 0, false); + + // dont render base target + setTargetRenderMask(%flag.waypoint.getTarget(), 0); + + //call the AI function + %game.AIflagReset(%flag); + + // ------------------------------------------ + // z0dd - ZOD, 5/27/02. Fixes flags hovering + // over friendly player when collision occurs + %flag.static = true; +} + +function CTFGame::timeLimitReached(%game) +{ + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function CTFGame::scoreLimitReached(%game) +{ + logEcho("game over (scorelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function CTFGame::notifyMineDeployed(%game, %mine) +{ + //see if the mine is within 5 meters of the flag stand... + %mineTeam = %mine.sourceObject.team; + %homeFlag = $TeamFlag[%mineTeam]; + if (isObject(%homeFlag)) + { + %dist = VectorDist(%homeFlag.originalPosition, %mine.position); + if (%dist <= %game.notifyMineDist) + { + messageTeam(%mineTeam, 'MsgCTFFlagMined', "The flag has been mined.~wvoice/announcer/flag_minedFem.wav" ); + } + } +} + +function CTFGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + //send the winner message + %winner = ""; + if ($teamScore[1] > $teamScore[2]) + %winner = %game.getTeamName(1); + else if ($teamScore[2] > $teamScore[1]) + %winner = %game.getTeamName(2); + + if (%winner $= 'Storm') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" ); + else if (%winner $= 'Inferno') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" ); + else if (%winner $= 'Starwolf') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.swwin.wav" ); + else if (%winner $= 'Blood Eagle') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.bewin.wav" ); + else if (%winner $= 'Diamond Sword') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.dswin.wav" ); + else if (%winner $= 'Phoenix') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.pxwin.wav" ); + else + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + } + for(%j = 1; %j <= %game.numTeams; %j++) + $TeamScore[%j] = 0; +} + +function CTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) +{ + if(%clVictim.headshot && %damageType == $DamageType::Laser && %clVictim.team != %clAttacker.team) + { + %clAttacker.scoreHeadshot++; + if (%game.SCORE_PER_HEADSHOT != 0) + { + messageClient(%clAttacker, 'msgHeadshot', '\c0You received a %1 point bonus for a successful headshot.', %game.SCORE_PER_HEADSHOT); + } + %game.recalcScore(%clAttacker); + } + + //the DefaultGame will set some vars + DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); + + + //if victim is carrying a flag and is not on the attackers team, mark the attacker as a threat for x seconds(for scoring purposes) + if ((%clVictim.holdingFlag !$= "") && (%clVictim.team != %clAttacker.team)) + { + %clAttacker.dmgdFlagCarrier = true; + cancel(%clAttacker.threatTimer); //restart timer + %clAttacker.threatTimer = schedule(%game.TIME_CONSIDERED_FLAGCARRIER_THREAT, %clAttacker.dmgdFlagCarrier = false); + } + + +} + +//////////////////////////////////////////////////////////////////////////////////////// +function CTFGame::clientMissionDropReady(%game, %client) +{ + messageClient(%client, 'MsgClientReady',"", %game.class); + %game.resetScore(%client); + for(%i = 1; %i <= %game.numTeams; %i++) + { + $Teams[%i].score = 0; + messageClient(%client, 'MsgCTFAddTeam', "", %i, %game.getTeamName(%i), $flagStatus[%i], $TeamScore[%i]); + } + //%game.populateTeamRankArray(%client); + + //messageClient(%client, 'MsgYourRankIs', "", -1); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function CTFGame::assignClientTeam(%game, %client, %respawn) +{ + DefaultGame::assignClientTeam(%game, %client, %respawn); + // if player's team is not on top of objective hud, switch lines + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); +} + +function CTFGame::recalcScore(%game, %cl) +{ + %killValue = %cl.kills * %game.SCORE_PER_KILL; + %deathValue = %cl.deaths * %game.SCORE_PER_DEATH; + + if (%killValue - %deathValue == 0) + %killPoints = 0; + else + %killPoints = (%killValue * %killValue) / (%killValue - %deathValue); + + if(!isDemo()) + { + %cl.offenseScore = %killPoints + + %cl.suicides * %game.SCORE_PER_SUICIDE + + %cl.escortAssists * %game.SCORE_PER_ESCORT_ASSIST + + %cl.teamKills * %game.SCORE_PER_TEAMKILL + + %cl.scoreHeadshot * %game.SCORE_PER_HEADSHOT + + %cl.flagCaps * %game.SCORE_PER_PLYR_FLAG_CAP + + %cl.flagGrabs * %game.SCORE_PER_PLYR_FLAG_TOUCH + + %cl.genDestroys * %game.SCORE_PER_DESTROY_GEN + + %cl.sensorDestroys * %game.SCORE_PER_DESTROY_SENSOR + + %cl.turretDestroys * %game.SCORE_PER_DESTROY_TURRET + + %cl.iStationDestroys * %game.SCORE_PER_DESTROY_ISTATION + + %cl.vstationDestroys * %game.SCORE_PER_DESTROY_VSTATION + + %cl.solarDestroys * %game.SCORE_PER_DESTROY_SOLAR + + %cl.sentryDestroys * %game.SCORE_PER_DESTROY_SENTRY + + %cl.depSensorDestroys * %game.SCORE_PER_DESTROY_DEP_SENSOR + + %cl.depTurretDestroys * %game.SCORE_PER_DESTROY_DEP_TUR + + %cl.depStationDestroys * %game.SCORE_PER_DESTROY_DEP_INV + + %cl.vehicleScore + %cl.vehicleBonus; + + %cl.defenseScore = %cl.genDefends * %game.SCORE_PER_GEN_DEFEND + + %cl.flagDefends * %game.SCORE_PER_FLAG_DEFEND + + %cl.carrierKills * %game.SCORE_PER_CARRIER_KILL + + %cl.escortAssists * %game.SCORE_PER_ESCORT_ASSIST + + %cl.turretKills * %game.SCORE_PER_TURRET_KILL_AUTO + + %cl.mannedturretKills * %game.SCORE_PER_TURRET_KILL + + %cl.genRepairs * %game.SCORE_PER_REPAIR_GEN + + %cl.SensorRepairs * %game.SCORE_PER_REPAIR_SENSOR + + %cl.TurretRepairs * %game.SCORE_PER_REPAIR_TURRET + + %cl.StationRepairs * %game.SCORE_PER_REPAIR_ISTATION + + %cl.VStationRepairs * %game.SCORE_PER_REPAIR_VSTATION + + %cl.solarRepairs * %game.SCORE_PER_REPAIR_SOLAR + + %cl.sentryRepairs * %game.SCORE_PER_REPAIR_SENTRY + + %cl.depInvRepairs * %game.SCORE_PER_REPAIR_DEP_INV + + %cl.depTurretRepairs * %game.SCORE_PER_REPAIR_DEP_TUR + + %cl.returnPts; + } + + if( isDemo() ) + { + %cl.offenseScore = %killPoints + + %cl.flagDefends * %game.SCORE_PER_FLAG_DEFEND + + %cl.suicides * %game.SCORE_PER_SUICIDE + //-1 + %cl.escortAssists * %game.SCORE_PER_ESCORT_ASSIST + // 1 + %cl.teamKills * %game.SCORE_PER_TEAMKILL + // -1 + %cl.flagCaps * %game.SCORE_PER_PLYR_FLAG_CAP + // 3 + %cl.genDestroys * %game.SCORE_PER_GEN_DESTROY; // 2 + + %cl.defenseScore = %cl.genDefends * %game.SCORE_PER_GEN_DEFEND + // 1 + %cl.carrierKills * %game.SCORE_PER_CARRIER_KILL + // 1 + %cl.escortAssists * %game.SCORE_PER_ESCORT_ASSIST + // 1 + %cl.turretKills * %game.SCORE_PER_TURRET_KILL + // 1 + %cl.flagReturns * %game.SCORE_PER_FLAG_RETURN + // 1 + %cl.genRepairs * %game.SCORE_PER_GEN_REPAIR; // 1 + } + + %cl.score = mFloor(%cl.offenseScore + %cl.defenseScore); + + %game.recalcTeamRanks(%cl); +} + +function CTFGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ +// is this a vehicle kill rather than a player kill + + // console error message suppression + if( isObject( %implement ) ) + { + if( %implement.getDataBlock().getName() $= "AssaultPlasmaTurret" || %implement.getDataBlock().getName() $= "BomberTurret" ) // gunner + %clKiller = %implement.vehicleMounted.getMountNodeObject(1).client; + else if(%implement.getDataBlock().catagory $= "Vehicles") // pilot + %clKiller = %implement.getMountNodeObject(0).client; + } + + if(%game.testTurretKill(%implement)) //check for turretkill before awarded a non client points for a kill + %game.awardScoreTurretKill(%clVictim, %implement); + else if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %value = %game.awardScoreKill(%clKiller); + %game.shareScore(%clKiller, %value); + %game.awardScoreDeath(%clVictim); + + if (%game.testGenDefend(%clVictim, %clKiller)) + %game.awardScoreGenDefend(%clKiller); + + if(%game.testCarrierKill(%clVictim, %clKiller)) + %game.awardScoreCarrierKill(%clKiller); + else + { + if (%game.testFlagDefend(%clVictim, %clKiller)) + %game.awardScoreFlagDefend(%clKiller); + } + if (%game.testEscortAssist(%clVictim, %clKiller)) + %game.awardScoreEscortAssist(%clKiller); + } + else + { + if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + { + %game.awardScoreSuicide(%clVictim); + } + else + { + if (%game.testTeamKill(%clVictim, %clKiller)) //otherwise test for a teamkill + %game.awardScoreTeamKill(%clVictim, %clKiller); + } + } +} + +function CTFGame::testFlagDefend(%game, %victimID, %killerID) +{ + InitContainerRadiusSearch(%victimID.plyrPointOfDeath, %game.RADIUS_FLAG_DEFENSE, $TypeMasks::ItemObjectType); + %objID = containerSearchNext(); + while(%objID != 0) + { + %objType = %objID.getDataBlock().getName(); + if ((%objType $= "Flag") && (%objID.team == %killerID.team)) + return true; //found the(a) killer's flag near the victim's point of death + else + %objID = containerSearchNext(); + } + return false; //didn't find a qualifying flag within required radius of victims point of death +} + +function CTFGame::testGenDefend(%game, %victimID, %killerID) +{ + InitContainerRadiusSearch(%victimID.plyrPointOfDeath, %game.RADIUS_GEN_DEFENSE, $TypeMasks::StaticShapeObjectType); + %objID = containerSearchNext(); + while(%objID != 0) + { + %objType = %objID.getDataBlock().ClassName; + if ((%objType $= "generator") && (%objID.team == %killerID.team)) + return true; //found a killer's generator within required radius of victim's death + else + %objID = containerSearchNext(); + } + return false; //didn't find a qualifying gen within required radius of victim's point of death +} + +function CTFGame::testCarrierKill(%game, %victimID, %killerID) +{ + %flag = %victimID.plyrDiedHoldingFlag; + return ((%flag !$= "") && (%flag.team == %killerID.team)); +} + +function CTFGame::testEscortAssist(%game, %victimID, %killerID) +{ + return (%victimID.dmgdFlagCarrier); +} + +function CTFGame::testValidRepair(%game, %obj) +{ + if(!%obj.wasDisabled) + { + //error(%obj SPC "was never disabled"); + return false; + } + else if(%obj.lastDamagedByTeam == %obj.team) + { + //error(%obj SPC "was last damaged by a friendly"); + return false; + } + else if(%obj.team != %obj.repairedBy.team) + { + //error(%obj SPC "was repaired by an enemy"); + return false; + } + else + { + if(%obj.soiledByEnemyRepair) + %obj.soiledByEnemyRepair = false; + return true; + } +} + +function CTFGame::awardScoreFlagCap(%game, %cl, %flag) +{ + %cl.flagCaps++; + $TeamScore[%cl.team] += %game.SCORE_PER_TEAM_FLAG_CAP; + messageAll('MsgTeamScoreIs', "", %cl.team, $TeamScore[%cl.team]); + + %flag.grabber.flagGrabs++; + + if (%game.SCORE_PER_TEAM_FLAG_CAP > 0) + { + %plural = (%game.SCORE_PER_PLYR_FLAG_CAP != 1 ? 's' : ""); + %plural2 = (%game.SCORE_PER_PLYR_FLAG_TOUCH != 1 ? 's' : ""); + + if(isDemo()) + { + messageTeam(%flag.team, 'msgCTFEnemyCap', '\c0Enemy %1 received %2 point%3 for capturing your flag!', %cl.name, %game.SCORE_PER_PLYR_FLAG_CAP, %plural); + messageTeamExcept(%cl, 'msgCTFFriendCap', '\c0Teammate %1 receives %2 point%3 for capturing the enemy flag!', %cl.name, %game.SCORE_PER_PLYR_FLAG_CAP, %plural); + messageClient(%cl, 'msgCTFFriendCap', '\c0You receive %1 point%2 for stealing and capturing the enemy flag!', %game.SCORE_PER_PLYR_FLAG_CAP, %plural); + } + + if(!isDemo()) + { + if(%cl == %flag.grabber) + { + messageClient(%cl, 'msgCTFFriendCap', '\c0You receive %1 point%2 for stealing and capturing the enemy flag!', %game.SCORE_PER_PLYR_FLAG_CAP+%game.SCORE_PER_PLYR_FLAG_TOUCH, %plural); + messageTeam(%flag.team, 'msgCTFEnemyCap', '\c0Enemy %1 received %2 point%3 for capturing your flag!', %cl.name, %game.SCORE_PER_PLYR_FLAG_CAP+%game.SCORE_PER_PLYR_FLAG_TOUCH, %plural); + messageTeamExcept(%cl, 'msgCTFFriendCap', '\c0Teammate %1 receives %2 point%3 for capturing the enemy flag!', %cl.name, %game.SCORE_PER_PLYR_FLAG_CAP+%game.SCORE_PER_PLYR_FLAG_TOUCH, %plural); + } + else + { + if(isObject(%flag.grabber)) // is the grabber still here? + { + messageClient(%cl, 'msgCTFFriendCap', '\c0You receive %1 point%2 for capturing the enemy flag! %3 gets %4 point%5 for the steal assist.', %game.SCORE_PER_PLYR_FLAG_CAP, %plural, %flag.grabber.name, %game.SCORE_PER_PLYR_FLAG_TOUCH, %plural2); + messageClient(%flag.grabber, 'msgCTFFriendCap', '\c0You receive %1 point%2 for stealing a flag that was subsequently capped by %3.', %game.SCORE_PER_PLYR_FLAG_TOUCH, %plural2, %cl.name); + } + else + messageClient(%cl, 'msgCTFFriendCap', '\c0You receive %1 point%2 for capturing the enemy flag!', %game.SCORE_PER_PLYR_FLAG_CAP, %plural); + + messageTeamExcept(%cl, 'msgCTFFriendCap', '\c0Teammate %1 receives %2 point%3 for capturing the enemy flag!', %cl.name, %game.SCORE_PER_PLYR_FLAG_CAP, %plural); + messageTeam(%flag.team, 'msgCTFEnemyCap', '\c0Enemy %1 received %2 point%3 for capturing your flag!', %cl.name, %game.SCORE_PER_PLYR_FLAG_CAP, %plural); + } + } + } + + %game.recalcScore(%cl); + + if(isObject(%flag.grabber)) + %game.recalcScore(%flag.grabber); + + %game.checkScoreLimit(%cl.team); +} + + +function CTFGame::awardScoreFlagTouch(%game, %cl, %flag) +{ + + %flag.grabber = %cl; + %team = %cl.team; + if( $DontScoreTimer[%team] ) + return; + + $dontScoreTimer[%team] = true; + //tinman - needed to remove all game calls to "eval" for the PURE server... + %game.schedule(%game.TOUCH_DELAY_MS, resetDontScoreTimer, %team); + //schedule(%game.TOUCH_DELAY_MS, 0, eval, "$dontScoreTimer["@%team@"] = false;"); + schedule(%game.TOUCH_DELAY_MS, 0, eval, "$dontScoreTimer["@%team@"] = false;"); + $TeamScore[%team] += %game.SCORE_PER_TEAM_FLAG_TOUCH; + messageAll('MsgTeamScoreIs', "", %team, $TeamScore[%team]); + + if (%game.SCORE_PER_TEAM_FLAG_TOUCH > 0) + { + %plural = (%game.SCORE_PER_TEAM_FLAG_TOUCH != 1 ? 's' : ""); + messageTeam(%team, 'msgCTFFriendFlagTouch', '\c0Your team receives %1 point%2 for grabbing the enemy flag!', %game.SCORE_PER_TEAM_FLAG_TOUCH, %plural); + messageTeam(%flag.team, 'msgCTFEnemyFlagTouch', '\c0Enemy %1 receives %2 point%3 for grabbing your flag!', %cl.name, %game.SCORE_PER_TEAM_FLAG_TOUCH, %plural); + } + %game.recalcScore(%cl); + %game.checkScoreLimit(%team); +} + +function CTFGame::resetDontScoreTimer(%game, %team) +{ + $dontScoreTimer[%team] = false; +} + +function CTFGame::checkScoreLimit(%game, %team) +{ + %scoreLimit = MissionGroup.CTF_scoreLimit * %game.SCORE_PER_TEAM_FLAG_CAP; + // default of 5 if scoreLimit not defined + if(%scoreLimit $= "") + %scoreLimit = 5 * %game.SCORE_PER_TEAM_FLAG_CAP; + if($TeamScore[%team] >= %scoreLimit) + %game.scoreLimitReached(); +} + +function CTFGame::awardScoreFlagReturn(%game, %cl, %perc) +{ + if(isDemo()) + { + %cl.flagReturns++; + if (%game.SCORE_PER_FLAG_RETURN != 0) + { + messageClient(%cl, 'scoreFlaRetMsg', '\c0You received a %1 point bonus for returning your flag.', %game.SCORE_PER_FLAG_RETURN); + //messageTeamExcept(%cl, 'scoreFlaRetMsg', '\c0Teammate %1 received a %2 point bonus for returning your flag.', %cl.name, %game.SCORE_PER_FLAG_RETURN); + } + %game.recalcScore(%cl); + } + else + { + if (%game.SCORE_PER_FLAG_RETURN != 0) + { + %pts = mfloor( %game.SCORE_PER_FLAG_RETURN * (%perc/100) ); + if(%perc == 100) + messageClient(%cl, 'scoreFlaRetMsg', 'Flag return - exceeded capping distance - %1 point bonus.', %pts, %perc); + else if(%perc == 0) + messageClient(%cl, 'scoreFlaRetMsg', 'You gently place the flag back on the stand.', %pts, %perc); + else + messageClient(%cl, 'scoreFlaRetMsg', '\c0Flag return from %2%% of capping distance - %1 point bonus.', %pts, %perc); + %cl.returnPts += %pts; + } + %game.recalcScore(%cl); + return %game.SCORE_PER_FLAG_RETURN; + } +} + +function CTFGame::awardScoreStalemateReturn(%game, %cl) +{ + if (%game.SCORE_PER_STALEMATE_RETURN != 0) + { + messageClient(%cl, 'scoreStaleRetMsg', '\c0You received a %1 point bonus for a stalemate-breaking, flag return.', %game.SCORE_PER_STALEMATE_RETURN); + %cl.returnPts += %game.SCORE_PER_STALEMATE_RETURN; + } + %game.recalcScore(%cl); + return %game.SCORE_PER_STALEMATE_RETURN; +} + +// Asset Destruction scoring +function CTFGame::awardScoreGenDestroy(%game,%cl) +{ + %cl.genDestroys++; + if (%game.SCORE_PER_DESTROY_GEN != 0) + { + messageClient(%cl, 'msgGenDes', '\c0You received a %1 point bonus for destroying an enemy generator.', %game.SCORE_PER_DESTROY_GEN); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_GEN; +} + +function CTFGame::awardScoreSensorDestroy(%game,%cl) +{ + %cl.sensorDestroys++; + if (%game.SCORE_PER_DESTROY_SENSOR != 0) + { + messageClient(%cl, 'msgSensorDes', '\c0You received a %1 point bonus for destroying an enemy sensor.', %game.SCORE_PER_DESTROY_SENSOR); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_SENSOR; +} + +function CTFGame::awardScoreTurretDestroy(%game,%cl) +{ + %cl.turretDestroys++; + if (%game.SCORE_PER_DESTROY_TURRET != 0) + { + messageClient(%cl, 'msgTurretDes', '\c0You received a %1 point bonus for destroying an enemy turret.', %game.SCORE_PER_DESTROY_TURRET); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_TURRET; +} + +function CTFGame::awardScoreInvDestroy(%game,%cl) +{ + %cl.IStationDestroys++; + if (%game.SCORE_PER_DESTROY_ISTATION != 0) + { + messageClient(%cl, 'msgInvDes', '\c0You received a %1 point bonus for destroying an enemy inventory station.', %game.SCORE_PER_DESTROY_ISTATION); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_ISTATION; +} + +function CTFGame::awardScoreVehicleStationDestroy(%game,%cl) +{ + %cl.VStationDestroys++; + if (%game.SCORE_PER_DESTROY_VSTATION != 0) + { + messageClient(%cl, 'msgVSDes', '\c0You received a %1 point bonus for destroying an enemy vehicle station.', %game.SCORE_PER_DESTROY_VSTATION); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_VSTATION; +} + +function CTFGame::awardScoreSolarDestroy(%game,%cl) +{ + %cl.SolarDestroys++; + if (%game.SCORE_PER_DESTROY_SOLAR != 0) + { + messageClient(%cl, 'msgSolarDes', '\c0You received a %1 point bonus for destroying an enemy solar panel.', %game.SCORE_PER_DESTROY_SOLAR); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_SOLAR; +} + +function CTFGame::awardScoreSentryDestroy(%game,%cl) +{ + %cl.sentryDestroys++; + if (%game.SCORE_PER_DESTROY_SENTRY != 0) + { + messageClient(%cl, 'msgSentryDes', '\c0You received a %1 point bonus for destroying an enemy sentry turret.', %game.SCORE_PER_DESTROY_SENTRY); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_SENTRY; +} + +function CTFGame::awardScoreDepSensorDestroy(%game,%cl) +{ + %cl.depSensorDestroys++; + if (%game.SCORE_PER_DESTROY_DEP_SENSOR != 0) + { + messageClient(%cl, 'msgDepSensorDes', '\c0You received a %1 point bonus for destroying an enemy deployable.', %game.SCORE_PER_DESTROY_DEP_SENSOR); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_DEP_SENSOR; +} + +function CTFGame::awardScoreDepTurretDestroy(%game,%cl) +{ + %cl.depTurretDestroys++; + if (%game.SCORE_PER_DESTROY_DEP_TUR != 0) + { + messageClient(%cl, 'msgDepTurDes', '\c0You received a %1 point bonus for destroying an enemy deployed turret.', %game.SCORE_PER_DESTROY_DEP_TUR); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_DEP_TUR; +} + +function CTFGame::awardScoreDepStationDestroy(%game,%cl) +{ + %cl.depStationDestroys++; + if (%game.SCORE_PER_DESTROY_DEP_INV != 0) + { + messageClient(%cl, 'msgDepInvDes', '\c0You received a %1 point bonus for destroying an enemy deployed station.', %game.SCORE_PER_DESTROY_DEP_INV); + //messageTeamExcept(%cl, 'msgGenDes', '\c0Teammate %1 received a %2 point bonus for destroying an enemy generator.', %cl.name, %game.SCORE_PER_GEN_DESTROY); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_DESTROY_DEP_INV; +} + +function CTFGame::awardScoreGenDefend(%game, %killerID) +{ + %killerID.genDefends++; + if (%game.SCORE_PER_GEN_DEFEND != 0) + { + messageClient(%killerID, 'msgGenDef', '\c0You received a %1 point bonus for defending a generator.', %game.SCORE_PER_GEN_DEFEND); + //messageTeamExcept(%killerID, 'msgGenDef', '\c0Teammate %1 received a %2 point bonus for defending a generator.', %killerID.name, %game.SCORE_PER_GEN_DEFEND); + } + %game.recalcScore(%cl); + return %game.SCORE_PER_GEN_DEFEND; +} + +function CTFGame::awardScoreCarrierKill(%game, %killerID) +{ + %killerID.carrierKills++; + if (%game.SCORE_PER_CARRIER_KILL != 0) + { + messageClient(%killerID, 'msgCarKill', '\c0You received a %1 point bonus for stopping the enemy flag carrier!', %game.SCORE_PER_CARRIER_KILL); + //messageTeamExcept(%killerID, 'msgCarKill', '\c0Teammate %1 received a %2 point bonus for stopping the enemy flag carrier!', %killerID.name, %game.SCORE_PER_CARRIER_KILL); + } + %game.recalcScore(%killerID); + return %game.SCORE_PER_CARRIER_KILL; +} + +function CTFGame::awardScoreFlagDefend(%game, %killerID) +{ + %killerID.flagDefends++; + if (%game.SCORE_PER_FLAG_DEFEND != 0) + { + messageClient(%killerID, 'msgFlagDef', '\c0You received a %1 point bonus for defending your flag!', %game.SCORE_PER_FLAG_DEFEND); + //messageTeamExcept(%killerID, 'msgFlagDef', '\c0Teammate %1 received a %2 point bonus for defending your flag!', %killerID.name, %game.SCORE_PER_FLAG_DEFEND); + } + %game.recalcScore(%killerID); + return %game.SCORE_PER_FLAG_DEFEND; +} + +function CTFGame::awardScoreEscortAssist(%game, %killerID) +{ + %killerID.escortAssists++; + if (%game.SCORE_PER_ESCORT_ASSIST != 0) + { + messageClient(%killerID, 'msgEscAsst', '\c0You received a %1 point bonus for protecting the flag carrier!', %game.SCORE_PER_ESCORT_ASSIST); + //messageTeamExcept(%killerID, 'msgEscAsst', '\c0Teammate %1 received a %2 point bonus for protecting the flag carrier!', %killerID.name, %game.SCORE_PER_ESCORT_ASSIST); + } + %game.recalcScore(%killerID); + return %game.SCORE_PER_ESCORT_ASSIST; +} + +function CTFGame::resetScore(%game, %client) +{ + %client.offenseScore = 0; + %client.kills = 0; + %client.deaths = 0; + %client.suicides = 0; + %client.escortAssists = 0; + %client.teamKills = 0; + %client.flagCaps = 0; + %client.flagGrabs = 0; + %client.genDestroys = 0; + %client.sensorDestroys = 0; + %client.turretDestroys = 0; + %client.iStationDestroys = 0; + %client.vstationDestroys = 0; + %client.solarDestroys = 0; + %client.sentryDestroys = 0; + %client.depSensorDestroys = 0; + %client.depTurretDestroys = 0; + %client.depStationDestroys = 0; + %client.vehicleScore = 0; + %client.vehicleBonus = 0; + + %client.flagDefends = 0; + %client.defenseScore = 0; + %client.genDefends = 0; + %client.carrierKills = 0; + %client.escortAssists = 0; + %client.turretKills = 0; + %client.mannedTurretKills = 0; + %client.flagReturns = 0; + %client.genRepairs = 0; + %client.SensorRepairs =0; + %client.TurretRepairs =0; + %client.StationRepairs =0; + %client.VStationRepairs =0; + %client.solarRepairs =0; + %client.sentryRepairs =0; + %client.depInvRepairs =0; + %client.depTurretRepairs=0; + %client.returnPts = 0; + %client.score = 0; +} + +function CTFGame::objectRepaired(%game, %obj, %objName) +{ + %item = %obj.getDataBlock().getName(); + switch$ (%item) + { + case generatorLarge : + %game.genOnRepaired(%obj, %objName); + case sensorMediumPulse : + %game.sensorOnRepaired(%obj, %objName); + case sensorLargePulse : + %game.sensorOnRepaired(%obj, %objName); + case stationInventory : + %game.stationOnRepaired(%obj, %objName); + case turretBaseLarge : + %game.turretOnRepaired(%obj, %objName); + case stationVehicle : + %game.vStationOnRepaired(%obj, %objName); + case solarPanel : + %game.solarPanelOnRepaired(%obj, %objName); + case sentryTurret : + %game.sentryTurretOnRepaired(%obj, %objName); + case TurretDeployedWallIndoor: + %game.depTurretOnRepaired(%obj, %objName); + case TurretDeployedFloorIndoor: + %game.depTurretOnRepaired(%obj, %objName); + case TurretDeployedCeilingIndoor: + %game.depTurretOnRepaired(%obj, %objName); + case TurretDeployedOutdoor: + %game.depTurretOnRepaired(%obj, %objName); + } + %obj.wasDisabled = false; +} + +function CTFGame::genOnRepaired(%game, %obj, %objName) +{ + + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgGenRepaired', '\c0%1 repaired the %2 Generator!', %repairman.name, %obj.nameTag); + %game.awardScoreGenRepair(%obj.repairedBy); + } +} + +function CTFGame::stationOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgStationRepaired', '\c0%1 repaired the %2 Inventory Station!', %repairman.name, %obj.nameTag); + %game.awardScoreStationRepair(%obj.repairedBy); + } +} + +function CTFGame::sensorOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgSensorRepaired', '\c0%1 repaired the %2 Pulse Sensor!', %repairman.name, %obj.nameTag); + %game.awardScoreSensorRepair(%obj.repairedBy); + } +} + +function CTFGame::turretOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgTurretRepaired', '\c0%1 repaired the %2 Turret!', %repairman.name, %obj.nameTag); + %game.awardScoreTurretRepair(%obj.repairedBy); + } +} + +function CTFGame::vStationOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgvstationRepaired', '\c0%1 repaired the Vehicle Station!', %repairman.name); + %game.awardScoreVStationRepair(%obj.repairedBy); + } +} + +function CTFGame::solarPanelOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgsolarRepaired', '\c0%1 repaired the %2 Solar Panel!', %repairman.name, %obj.nameTag); + %game.awardScoreSolarRepair(%obj.repairedBy); + } +} + +function CTFGame::sentryTurretOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + teamRepairMessage(%repairman, 'msgsentryTurretRepaired', '\c0%1 repaired the %2 Sentry Turret!', %repairman.name, %obj.nameTag); + %game.awardScoreSentryRepair(%obj.repairedBy); + } +} + +function CTFGame::depTurretOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + %game.awardScoreDepTurretRepair(%obj.repairedBy); + } +} + +function CTFGame::depInvOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + %game.awardScoreDepInvRepair(%obj.repairedBy); + } +} + +function CTFGame::awardScoreGenRepair(%game, %cl) +{ + %cl.genRepairs++; + if (%game.SCORE_PER_REPAIR_GEN != 0) + { + messageClient(%cl, 'msgGenRep', '\c0You received a %1 point bonus for repairing a generator.', %game.SCORE_PER_REPAIR_GEN); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreStationRepair(%game, %cl) +{ + %cl.stationRepairs++; + if (%game.SCORE_PER_REPAIR_ISTATION != 0) + { + messageClient(%cl, 'msgIStationRep', '\c0You received a %1 point bonus for repairing a inventory station.', %game.SCORE_PER_REPAIR_ISTATION); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreSensorRepair(%game, %cl) +{ + %cl.sensorRepairs++; + if (%game.SCORE_PER_REPAIR_SENSOR != 0) + { + messageClient(%cl, 'msgSensorRep', '\c0You received a %1 point bonus for repairing a sensor.', %game.SCORE_PER_REPAIR_SENSOR); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreTurretRepair(%game, %cl) +{ + %cl.TurretRepairs++; + if (%game.SCORE_PER_REPAIR_TURRET != 0) + { + messageClient(%cl, 'msgTurretRep', '\c0You received a %1 point bonus for repairing a base turret.', %game.SCORE_PER_REPAIR_TURRET); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreVStationRepair(%game, %cl) +{ + %cl.VStationRepairs++; + if (%game.SCORE_PER_REPAIR_VSTATION != 0) + { + messageClient(%cl, 'msgVStationRep', '\c0You received a %1 point bonus for repairing a vehicle station.', %game.SCORE_PER_REPAIR_VSTATION); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreSolarRepair(%game, %cl) +{ + %cl.solarRepairs++; + if (%game.SCORE_PER_REPAIR_SOLAR != 0) + { + messageClient(%cl, 'msgsolarRep', '\c0You received a %1 point bonus for repairing a solar panel.', %game.SCORE_PER_REPAIR_SOLAR); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreSentryRepair(%game, %cl) +{ + %cl.sentryRepairs++; + if (%game.SCORE_PER_REPAIR_SENTRY != 0) + { + messageClient(%cl, 'msgSentryRep', '\c0You received a %1 point bonus for repairing a sentry turret.', %game.SCORE_PER_REPAIR_SENTRY); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreDepTurretRepair(%game, %cl) +{ + %cl.depTurretRepairs++; + if (%game.SCORE_PER_REPAIR_DEP_TUR != 0) + { + messageClient(%cl, 'msgDepTurretRep', '\c0You received a %1 point bonus for repairing a deployed turret.', %game.SCORE_PER_REPAIR_DEP_TUR); + } + %game.recalcScore(%cl); +} + +function CTFGame::awardScoreDepInvRepair(%game, %cl) +{ + %cl.depInvRepairs++; + if (%game.SCORE_PER_REPAIR_DEP_INV != 0) + { + messageClient(%cl, 'msgDepInvRep', '\c0You received a %1 point bonus for repairing a deployed station.', %game.SCORE_PER_REPAIR_DEP_INV); + } + %game.recalcScore(%cl); +} + +function CTFGame::enterMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") entered mission area"); + + //the instant a player leaves the mission boundary, the flag is dropped, and the return is scheduled... + if (%player.holdingFlag > 0) + { + cancel($FlagReturnTimer[%player.holdingFlag]); + $FlagReturnTimer[%player.holdingFlag] = ""; + } +} + +function CTFGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + // maybe we'll do this just in case + %player.client.outOfBounds = true; + // if the player is holding a flag, strip it and throw it back into the mission area + // otherwise, just print a message + if(%player.holdingFlag > 0) + %game.boundaryLoseFlag(%player); + else + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1You have left the mission area.~wfx/misc/warning_beep.wav'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") left mission area"); +} + +function CTFGame::boundaryLoseFlag(%game, %player) +{ + // this is called when a player goes out of the mission area while holding + // the enemy flag. - make sure the player is still out of bounds + if (!%player.client.outOfBounds || !isObject(%player.holdingFlag)) + return; + + %client = %player.client; + %flag = %player.holdingFlag; + %flag.setVelocity("0 0 0"); + %flag.setTransform(%player.getWorldBoxCenter()); + %flag.setCollisionTimeout(%player); + + %game.playerDroppedFlag(%player); + + // now for the tricky part -- throwing the flag back into the mission area + // let's try throwing it back towards its "home" + %home = %flag.originalPosition; + %vecx = firstWord(%home) - firstWord(%player.getWorldBoxCenter()); + %vecy = getWord(%home, 1) - getWord(%player.getWorldBoxCenter(), 1); + %vecz = getWord(%home, 2) - getWord(%player.getWorldBoxCenter(), 2); + %vec = %vecx SPC %vecy SPC %vecz; + + // normalize the vector, scale it, and add an extra "upwards" component + %vecNorm = VectorNormalize(%vec); + %vec = VectorScale(%vecNorm, 1500); + %vec = vectorAdd(%vec, "0 0 500"); + + // --------------------------------------------------------------------- + // z0dd - ZOD, 6/09/02. Remove anti-hover so flag can be thrown properly + %flag.static = false; + + // apply the impulse to the flag object + %flag.applyImpulse(%player.getWorldBoxCenter(), %vec); + + //don't forget to send the message + // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- + // z0dd - ZOD 3/30/02. Message was sending the wrong varible to objective hud thus not updating hud correctly. + //messageClient(%player.client, 'MsgCTFFlagDropped', '\c1You have left the mission area and lost the flag.~wfx/misc/flag_drop.wav', 0, 0, %player.holdingFlag.team); + messageClient(%player.client, 'MsgCTFFlagDropped', '\c1You have left the mission area and lost the flag.~wfx/misc/flag_drop.wav', 0, 0, %flag.team); + + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") lost flag (out of bounds)"); +} + +function CTFGame::dropFlag(%game, %player) +{ + if(%player.holdingFlag > 0) + { + if (!%player.client.outOfBounds) + %player.throwObject(%player.holdingFlag); + else + %game.boundaryLoseFlag(%player); + } +} + +function CTFGame::applyConcussion(%game, %player) +{ + %game.dropFlag( %player ); +} + +function CTFGame::vehicleDestroyed(%game, %vehicle, %destroyer) +{ + //vehicle name + %data = %vehicle.getDataBlock(); + //%vehicleType = getTaggedString(%data.targetNameTag) SPC getTaggedString(%data.targetTypeTag); + %vehicleType = getTaggedString(%data.targetTypeTag); + if(%vehicleType !$= "MPB") + %vehicleType = strlwr(%vehicleType); + + %enemyTeam = ( %destroyer.team == 1 ) ? 2 : 1; + + %scorer = 0; + %multiplier = 1; + + %passengers = 0; + for(%i = 0; %i < %data.numMountPoints; %i++) + if(%vehicle.getMountNodeObject(%i)) + %passengers++; + + //what destroyed this vehicle + if(%destroyer.client) + { + //it was a player, or his mine, satchel, whatever... + %destroyer = %destroyer.client; + %scorer = %destroyer; + + // determine if the object used was a mine + if(%vehicle.lastDamageType == $DamageType::Mine) + %multiplier = 2; + } + else if(%destroyer.getClassName() $= "Turret") + { + if(%destroyer.getControllingClient()) + { + //manned turret + %destroyer = %destroyer.getControllingClient(); + %scorer = %destroyer; + } + else + { + %destroyerName = "A turret"; + %multiplier = 0; + } + } + else if(%destroyer.getDataBlock().catagory $= "Vehicles") + { + // Vehicle vs vehicle kill! + if(%name $= "BomberFlyer" || %name $= "AssaultVehicle") + %gunnerNode = 1; + else + %gunnerNode = 0; + + if(%destroyer.getMountNodeObject(%gunnerNode)) + { + %destroyer = %destroyer.getMountNodeObject(%gunnerNode).client; + %scorer = %destroyer; + } + %multiplier = 3; + } + else // Is there anything else we care about? + return; + + + if(%destroyerName $= "") + %destroyerName = %destroyer.name; + + if(%vehicle.team == %destroyer.team) // team kill + { + %pref = (%vehicleType $= "Assault Tank") ? "an" : "a"; + messageAll( 'msgVehicleTeamDestroy', '\c0%1 TEAMKILLED %3 %2!', %destroyerName, %vehicleType, %pref); + } + + else // legit kill + { + messageTeamExcept(%destroyer, 'msgVehicleDestroy', '\c0%1 destroyed an enemy %2.', %destroyerName, %vehicleType); + messageTeam(%enemyTeam, 'msgVehicleDestroy', '\c0%1 destroyed your team\'s %2.', %destroyerName, %vehicleType); + //messageClient(%destroyer, 'msgVehicleDestroy', '\c0You destroyed an enemy %1.', %vehicleType); + + if(%scorer) + { + %value = %game.awardScoreVehicleDestroyed(%scorer, %vehicleType, %multiplier, %passengers); + %game.shareScore(%value); + } + } +} + +function CTFGame::awardScoreVehicleDestroyed(%game, %client, %vehicleType, %mult, %passengers) +{ + if(isDemo()) + return 0; + + if(%vehicleType $= "Grav Cycle") + %base = %game.SCORE_PER_DESTROY_WILDCAT; + else if(%vehicleType $= "Assault Tank") + %base = %game.SCORE_PER_DESTROY_TANK; + else if(%vehicleType $= "MPB") + %base = %game.SCORE_PER_DESTROY_MPB; + else if(%vehicleType $= "Turbograv") + %base = %game.SCORE_PER_DESTROY_SHRIKE; + else if(%vehicleType $= "Bomber") + %base = %game.SCORE_PER_DESTROY_BOMBER; + else if(%vehicleType $= "Heavy Transport") + %base = %game.SCORE_PER_DESTROY_TRANSPORT; + + %total = ( %base * %mult ) + ( %passengers * %game.SCORE_PER_PASSENGER ); + + %client.vehicleScore += %total; + + messageClient(%client, 'msgVehicleScore', '\c0You received a %1 point bonus for destroying an enemy %2.', %total, %vehicleType); + %game.recalcScore(%client); + return %total; +} + +function CTFGame::shareScore(%game, %client, %amount) +{ + if(isDemo()) + return 0; + + //error("share score of"SPC %amount SPC "from client:" SPC %client); + // all of the player in the bomber and tank share the points + // gained from any of the others + %vehicle = %client.vehicleMounted; + if(!%vehicle) + return 0; + %vehicleType = getTaggedString(%vehicle.getDataBlock().targetTypeTag); + if(%vehicleType $= "Bomber" || %vehicleType $= "Assault Tank") + { + for(%i = 0; %i < %vehicle.getDataBlock().numMountPoints; %i++) + { + %occupant = %vehicle.getMountNodeObject(%i); + if(%occupant) + { + %occCl = %occupant.client; + if(%occCl != %client && %occCl.team == %client.team) + { + // the vehicle has a valid teammate at this node + // share the score with them + %occCl.vehicleBonus += %amount; + %game.recalcScore(%occCl); + } + } + } + + } +} + +function CTFGame::awardScoreTurretKill(%game, %victimID, %implement) +{ + if ((%killer = %implement.getControllingClient()) != 0) //award whoever might be controlling the turret + { + if (%killer == %victimID) + %game.awardScoreSuicide(%victimID); + else if (%killer.team == %victimID.team) //player controlling a turret killed a teammate + { + %killer.teamKills++; + %game.awardScoreTurretTeamKill(%victimID, %killer); + %game.awardScoreDeath(%victimID); + } + else + { + %killer.mannedturretKills++; + %game.recalcScore(%killer); + %game.awardScoreDeath(%victimID); + } + } + else if ((%killer = %implement.owner) != 0) //if it isn't controlled, award score to whoever deployed it + { + if (%killer.team == %victimID.team) + { + %game.awardScoreDeath(%victimID); + } + else + { + %killer.turretKills++; + %game.recalcScore(%killer); + %game.awardScoreDeath(%victimID); + } + } + //default is, no one was controlling it, no one owned it. No score given. +} + +function CTFGame::testKill(%game, %victimID, %killerID) +{ + return ((%killerID !=0) && (%victimID.team != %killerID.team)); +} + +function CTFGame::awardScoreKill(%game, %killerID) +{ + %killerID.kills++; + %game.recalcScore(%killerID); + return %game.SCORE_PER_KILL; +} + + +function checkVehicleCamping( %team ) +{ + %position = $flagPos[%team]; + %radius = 5; + InitContainerRadiusSearch(%position, %radius, $TypeMasks::VehicleObjectType ); + + while ((%vehicle = containerSearchNext()) != 0) + { + %dist = containerSearchCurrRadDamageDist(); + + if (%dist > %radius) + continue; + else + { + //if( %vehicle.team == %team ) + applyVehicleCampDamage( %vehicle ); + } + } + + if( %team == 1 ) + Game.campThread_1 = schedule( 1000, 0, "checkVehicleCamping", 1 ); + else + Game.campThread_2 = schedule( 1000, 0, "checkVehicleCamping", 2 ); +} + +function applyVehicleCampDamage( %vehicle ) +{ + if( !isObject( %vehicle ) ) + return; + + if( %vehicle.getDamageState() $= "Destroyed" ) + return; + + %client = %vehicle.getMountNodeObject(0).client; // grab the pilot + + messageClient( %client, 'serverMessage', "Can't park vehicles in flag zones!" ); + %vehicle.getDataBlock().damageObject( %vehicle, 0, "0 0 0", 0.5, 0); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/CenterPrint.cs b/public/base/@vl2/scripts.vl2/scripts/CenterPrint.cs new file mode 100644 index 00000000..6b33d752 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/CenterPrint.cs @@ -0,0 +1,180 @@ +// CenterPrint Methods +//------------------------------------------------------------------------------------------------------- + +$centerPrintActive = 0; +$bottomPrintActive = 0; + +$CenterPrintSizes[1] = 20; +$CenterPrintSizes[2] = 36; +$CenterPrintSizes[3] = 56; + +function centerPrintAll( %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'centerPrint', %message, %time, %lines ); + } +} + +function bottomPrintAll( %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'bottomPrint', %message, %time, %lines ); + } +} + +//------------------------------------------------------------------------------------------------------- + +function centerPrint( %client, %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + + commandToClient( %client, 'CenterPrint', %message, %time, %lines ); +} + +function bottomPrint( %client, %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + commandToClient( %client, 'BottomPrint', %message, %time, %lines ); +} + +//------------------------------------------------------------------------------------------------------- + +function clearCenterPrint( %client ) +{ + commandToClient( %client, 'ClearCenterPrint'); +} + +function clearBottomPrint( %client ) +{ + commandToClient( %client, 'ClearBottomPrint'); +} + +//------------------------------------------------------------------------------------------------------- + +function clearCenterPrintAll() +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'ClearCenterPrint'); + } +} + +function clearBottomPrintAll() +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'ClearBottomPrint'); + } +} + +//------------------------------------------------------------------------------------------------------- + +function clientCmdCenterPrint( %message, %time, %lines ) // time is specified in seconds +{ + // if centerprint already visible, reset text and time. + if($centerPrintActive) + { + CenterPrintText.setText( "" @ %message ); + if( centerPrintDlg.removePrint !$= "") + { + cancel(centerPrintDlg.removePrint); + } + if(%time > 0) + centerPrintDlg.removePrint = schedule( ( %time * 1000 ), 0, "clientCmdClearCenterPrint" ); + + // were done. + return; + } + + + CenterPrintDlg.visible = 1; + $centerPrintActive = 1; + CenterPrintText.setText( "" @ %message ); + CenterPrintDlg.extent = firstWord(CenterPrintDlg.extent) @ " " @ $CenterPrintSizes[%lines]; + + if(%time > 0) + centerPrintDlg.removePrint = schedule( ( %time * 1000 ), 0, "clientCmdClearCenterPrint" ); +} + +function clientCmdBottomPrint( %message, %time, %lines ) // time is specified in seconds +{ + // if bottomprint already visible, reset text and time. + if($bottomPrintActive) + { + if( bottomPrintDlg.removePrint !$= "") + { + cancel(bottomPrintDlg.removePrint); + } + + bottomPrintText.setText( "" @ %message ); + bottomPrintDlg.extent = firstWord(bottomPrintDlg.extent) @ " " @ $CenterPrintSizes[%lines]; + + if(%time > 0) + bottomPrintDlg.removePrint = schedule( ( %time * 1000 ), 0, "clientCmdClearbottomPrint" ); + + // were done. + return; + } + + bottomPrintDlg.setVisible(true); + $bottomPrintActive = 1; + bottomPrintText.setText( "" @ %message ); + bottomPrintDlg.extent = firstWord(bottomPrintDlg.extent) @ " " @ $CenterPrintSizes[%lines]; + + if(%time > 0) + { + bottomPrintDlg.removePrint = schedule( ( %time * 1000 ), 0, "clientCmdClearbottomPrint" ); + } +} + +function BottomPrintText::onResize(%this, %width, %height) +{ + %this.position = "0 0"; +} + +function CenterPrintText::onResize(%this, %width, %height) +{ + %this.position = "0 0"; +} + +//------------------------------------------------------------------------------------------------------- + +function clientCmdClearCenterPrint() +{ + $centerPrintActive = 0; + CenterPrintDlg.visible = 0; + + CenterPrintDlg.removePrint = ""; +} + +function clientCmdClearBottomPrint() +{ + $bottomPrintActive = 0; + BottomPrintDlg.visible = 0; + + BottomPrintDlg.removePrint = ""; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/ChatGui.cs b/public/base/@vl2/scripts.vl2/scripts/ChatGui.cs new file mode 100644 index 00000000..0ed1db6d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/ChatGui.cs @@ -0,0 +1,3425 @@ +//------------------------------------------------------------------------------ +// +// ChatGui.cs +// +//------------------------------------------------------------------------------ + +$CHANNEL_STATUS = "STATUS"; +$VERSION_STRING = "Dynamix IRC Chat 1.2.0"; +$ESCAPE_SEQ = "_-_"; + +$IRCClient::serverList = GetIRCServerList(0); +$IRCClient::serverCount = getRecordCount($IRCClient::serverList); +$IRCClient::retries = 0; + +if ($IRCClient::serverCount > 1) + $IRCClient::serverIndex = getRandom($IRCClient::serverCount-1)-1; +else + $IRCClient::serverIndex = -1; + +$IRCClient::serverAttempt = 0; + +$AWAY_TIMEOUT = 5 * 60 * 1000; +$VERSION_FLOOD_TIMEOUT = 5.0; +$PING_FLOOD_TIMEOUT = 5.0; + +// Person flags +$PERSON_SPEAKER = 1; +$PERSON_OPERATOR = 2; +$PERSON_IGNORE = 4; +$PERSON_AWAY = 8; + +// Channel flags +$CHANNEL_PRIVATE = 1; +$CHANNEL_MODERATED = 2; +$CHANNEL_INVITE = 4; +$CHANNEL_LIMITED = 8; +$CHANNEL_NEWMESSAGE = 16; +$CHANNEL_IGNORE_EXTERN = 32; +$CHANNEL_SECRET = 64; +$CHANNEL_TOPIC_LIMITED = 128; +$CHANNEL_HAS_KEY = 256; +$CHANNEL_NEW = 512; + +// Default messages (if gui is left blank) +$DefaultChatAwayMessage = "Don't be alarmed. I'm going to step away from my computer."; +$DefaultChatKickMessage = "Alright, you\'re outta here!"; +$DefaultChatBanMessage = "Get out. And stay out!"; + + +//------------------------------------------------------------------------------ +function JoinChatDlg::onWake(%this) +{ + if ($IRCClient::state $= IDIRC_CONNECTED) + IRCClient::requestChannelList(); + else + MessageBoxYesNo("Connect IRC","Connect to IRC server?","IRCClient::connect();","Canvas.popDialog(JoinChatDlg);"); +} + +//------------------------------------------------------------------------------ +function JoinChatList::onAdd( %this ) +{ + %this.addColumn( 0, "Channel Name", 210, 210, 210 ); + %this.addColumn( 1, "Users", 74, 74, 74, "numeric center" ); + %this.addColumn( 2, "", 0, 0, 0, "numeric" ); + %this.setSortColumn( 2 ); + %this.setSortIncreasing( false ); + %this.addStyle( 1, $ShellBoldFont, $ShellFontSize, "180 180 180", "220 220 220", "40 40 40" ); +} + +//------------------------------------------------------------------------------ +function JoinChatList::onSelect(%this,%id,%text) +{ + JoinChatName.setValue( getField( %text, 0 ) ); +} + +//------------------------------------------------------------------------------ +function JoinChatDlg::join(%this) +{ + if(trim(JoinChatName.getValue()) $= "") + { + messageBoxOK("ERROR", "Invalid Channel Name"); + return; + } + else + { + IRCClient::join(IRCClient::channelName(trim( JoinChatName.getValue()) )); + Canvas.popDialog(JoinChatDlg); + LaunchTabView.viewTab("CHAT", ChatGui, 0); + } +} + +//------------------------------------------------------------------------------ +function JoinChatName::onCharInput( %this ) +{ + %text = %this.getValue(); + if ( %text !$= "" ) + { + %count = JoinChatList.rowCount(); + for ( %row = 0; %row < %count; %row++ ) + { + if ( %text $= getSubStr( getField( JoinChatList.getRowText( %row ), 0 ), 0, strlen( %text ) ) ) + break; + } + + if ( %row < %count ) + JoinChatList.scrollVisible( %row ); + } +} + +//------------------------------------------------------------------------------ +function ChatGui::onAdd(%this) +{ + // Add the Member popup menu: + new GuiControl(ChatMemberActionDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new ShellPopupMenu(ChatMemberPopup) { + profile = "ShellPopupProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + visible = "1"; + maxPopupHeight = "200"; + noButtonStyle = "1"; + }; + }; +} + +//------------------------------------------------------------------------------ +function ChatGui::onWake(%this) +{ + Canvas.pushDialog(LaunchToolbarDlg); +// ChatTabView.addSet(1,"gui/shll_horztabbuttonB","5 5 5","50 50 0","5 5 5"); + ChatGui.awake = true; + ChatTabView.setSelected($IRCClient::currentChannel); + ChatGuiScroll.scrollToBottom(); + ChatMessageEntry.schedule(1, makeFirstResponder, true); +} + +//------------------------------------------------------------------------------ +function ChatGui::setKey(%this,%ignore) +{ +} + +//------------------------------------------------------------------------------ +function ChatTabView::onAdd(%this) +{ + // Don't Forget, it needs to be on add unless you have a VERY GOOD REASON, right Brad?. + ChatTabView.addSet(1,"gui/shll_horztabbuttonB","5 5 5","50 50 0","5 5 5"); + if ($LaunchMode $= "Normal") +// %this.addTab(0,"WELCOME"); + %this.addTab($IRCClient::channels.getObject(0),"WELCOME"); +} + +//------------------------------------------------------------------------------ +function ChatTabView::onSelect(%this,%obj,%name) +{ + if (%name $= "WELCOME") + { + %indentSpace = ""; + WelcomeHeadlines.clear(); + WelcomeText.clear(); + %obj.topic = "Welcome to the Tribes 2 Chat Area!"; + + %topic[0] = "Welcome To Tribes 2 Chat"; + %topic[1] = "Public Channels"; + %topic[2] = "Private Channels"; + %topic[3] = "Chat Options"; + %topic[4] = "ShazBot"; + %topic[5] = "Channel Ops"; + %topic[6] = "Private Channel Conduct"; + %topic[7] = "Right Click Mute"; + %topic[8] = "/me, /action, channels"; + %topic[9] = "Tab Complete"; + + %atxt[0] = "Welcome to the Tribes 2 Chat. Tribes has the distinction of having the largest and most devoted player base of any massivly multi-player game. To support this base we have included the Chat area to make it easier to recruit, get help, meet other players and organize games. Tribes 2 Chat is a secure IRC based chat network that requires an authenticated Tribes 2 game client to join, this means that third party IRC clients like mIRC cannot be used."; + %atxt[1] = "When you access the CHANNELS list, you are seeing a listing of all the available chat rooms. The chat rooms colored \"white\" are general rooms that anyone can access. These are usually the most populated rooms and are \"Tribes 2\" where general gameplay is discussed, \"Recruiting\" where people go to try and find teams, or to recruit players onto their teams, and \"Help\" which is an area to go and speak with other players about technical issues you're having with your system."; + %atxt[2] = "There are also Private Chat channels that you will see IF you are a member of a Tribe. If that's the case, then there will be a private chat channel visible for each tribe you belong to and you can enter those rooms to speak with other Tribe members. Players that do not belong to those tribes will not be able to enter that room."; + %atxt[3] = "There are CHAT OPTIONS (use the button at the top of this page to access those options) that allow you to customize your \"away\" message and a few other messages."; + %atxt[4] = "When you're in a chat channel, beware the Mighty and Powerful SHAZBOT. Shazbot is an automated spam and cursing filter that runs in the general rooms. If you curse a lot, or repeat the same messages too often, or even if you just spam a whole bunch of different nonsense lines in a row, the Mighty and Powerful SHAZBOT will throw you out of the room to think about your transgressions. These kicks are temporary and you can come back later, but if you get kicked enough times, you may be banned entirely, so think before you type and the world will be rosy. (Shazbot doesn't like all-caps messages either...so be careful. No shouting around him...he's sensitive.)"; + %atxt[5] = "There are human Operators (Ops) in each channel also. These Ops are not automated. They are people. If you respect them, then they will be kind and considerate in return. However, if you badmouth them or otherwise annoy them, they may kick or ban you from a channel. Just be civil and all things will be good. (NOTE: In Private channels, the Ops are all Tribe members and there are no cursing or spamming rules...unless those Ops make those rules.)"; + %atxt[6] = "Private channels are completely deregulated. Dynamix/Sierra/Vivendi-Universal neither care, nor want to know, what you talk about in those channels. They are yours. Warning to anyone who goes to those channels: If you go there, and you do not like what you hear, then leave. Don't expect Dynamix/Sierra/Vivendi-Universal to do anything about private channels. We only review the public channels."; + %atxt[7] = "When in a public channel, if someone is being annoying, then simply use the MUTE functionality to ignore him completely. This is much easier than trying to get an Op to kick him and is usually easier and faster."; + %atxt[8] = "If you see someone typing in a different color, they are probably using a \"/me\" or \"/action\" command. This allows you to emote an action in chat. For instance, if you type /me is away from the keyboard right now, then you'll see \" is away from the keyboard right now\" and it will be a different color than normal chat. Channel links are usually green and are created by putting a pound sign \"#\" before the channel name."; + %atxt[9] = "There is a nifty Tab Complete feature that makes it easier to type names. If there is a player named \"MrMyxlpytlk\" in the room, you may have a tough time typing that out normally. But if you type \"MrMy\" and then hit TAB, the name will auto-complete instantly, allowing you to respond quickly to screwy names."; + + for (%i = 0; %i < 10; %i++) + { + %text = %text @ "" @ %topic[%i] @ + "\n\n" @ %atxt[%i] @ "\n\n\n"; + WelcomeHeadlines.addRow( %i, %topic[%i] ); + } + + ChatPanel.setVisible(false); + WelcomePanel.setVisible(true); + WelcomeText.setValue(%text); + WelcomeHeadlines.setSelectedRow(0); + } + else + { + ChatPanel.setVisible(true); + WelcomePanel.setVisible(false); + } + + ChatTabFrame.setAltColor(%obj.private); + %i = %obj.findMember($IRCClient::people.getObject(0)); + ChatEditChannelBtn.setVisible(%obj.getFlags(%i) & $PERSON_OPERATOR); + + //is this the status window? do we need the options button + %vis = (%name $= "WELCOME" ? true : false); + ChatEditOptionsBtn.setVisible(%vis); + + ChatChannelTopic.setValue(%obj.topic); + if (ChatGui.awake) + { + if ($IRCClient::currentChannel == $IRCClient::attachedChannel) + ChatGuiMessageVector.detach(); + + ChatGuiMessageVector.attach(%obj); + //ChatGuiMessageVector.scrollToBottom(); + $IRCClient::attachedChannel = %obj; + } + $IRCClient::currentChannel = %obj; + ChatRoomMemberList_rebuild(%obj); + ChatMessageEntry.schedule(1, makeFirstResponder, true); +} + +//------------------------------------------------------------------------------ +function ChatTabView::openNewPane(%this) +{ + Canvas.pushDialog(JoinChatDlg); +} + +//------------------------------------------------------------------------------ +function ChatTabView::closeCurrentPane(%this) +{ + if ($IRCClient::currentChannel == $IRCClient::channels.getObject(0)) + LaunchTabView.closeCurrentTab(); + else + IRCClient::part($IRCClient::currentChannel.getName()); +} + +//------------------------------------------------------------------------------ +function JoinPublicTribeChannel(%tribe) +{ + IRCClient::join(IRCClient::channelName(%tribe) @ "_Public"); + LaunchTabView.viewTab("CHAT",ChatGui,0); +} + +//------------------------------------------------------------------------------ +function JoinPrivateTribeChannel(%tribe) +{ + IRCClient::join(IRCClient::channelName(%tribe) @ "_Private"); + LaunchTabView.viewTab("CHAT",ChatGui,0); +} + +//------------------------------------------------------------------------------ +function KeyChannelJoin() +{ + Canvas.popDialog(ChannelKeyDlg); + IRCClient::join($IRCClient::keyChannel SPC EditChannelKey.getValue()); +} + +//------------------------------------------------------------------------------ +function ChatGuiMessageVector::urlClickCallback(%this,%type,%url,%content) +{ + switch$(%type) + { + case "http": + gotoWebPage(%url); + case "server": + //IRCClient::onJoinGame(%content,%url); + %url = nextToken(%url,a," "); + %url = nextToken(%url,map,"("); + %url = nextToken(%url,type,")"); + + if(getSubStr(%content, 0, 1) $= "#") + { + // this is a fake server, its really a channel for invites + IRCClient::join(%content); + return; + } + // set the loading gui +// LoadingGui.map = %map; +// LoadingGui.missionType = %type; +// Canvas.setContent(LoadingGui); +// Canvas.repaint(); + + JoinGame(%content); + case "warrior": + LaunchBrowser(%url,"Warrior"); + default: + return; + } +} + +//------------------------------------------------------------------------------ +function ChatSendText() +{ + TextCheck2(ChatMessageEntry.getValue(),ChatMessageEntry); + if(ChatMessageEntry.textCheck) + { + for(%x=0;%x 0 ); + } + JoinChatList.sort(); + JoinChatName.onCharInput(); + case IDIRC_CHANNEL_HAS_KEY: + KeyChannelName.setValue(IRCClient::displayChannel($IRCClient::keyChannel)); + Canvas.pushDialog(ChannelKeyDlg); + case IDIRC_ADDCHANNEL: + if (ChatTabView.tabCount() < $IRCClient::channels.getCount()) + ChatTabView.addTab($IRCClient::nextChannel, + IRCClient::displayChannel($IRCClient::nextChannel.getName()), + $IRCClient::nextChannel.private); + if ($IRCClient::nextChannel && !$IRCClient::nextChannel.private) + { + ChatTabView.setSelected($IRCClient::nextChannel); + $IRCClient::nextChannel = 0; + } + alxPlay(sButtonDown,0,0,0); + case IDIRC_JOIN: + %i = $IRCClient::currentChannel.findMember($IRCClient::people.getObject(0)); + ChatEditChannelBtn.setVisible($IRCClient::currentChannel.getFlags(%i) & $PERSON_OPERATOR); + ChatRoomMemberList_refresh($IRCClient::currentChannel); + case IDIRC_SORT: + %i = $IRCClient::currentChannel.findMember($IRCClient::people.getObject(0)); + ChatEditChannelBtn.setVisible($IRCClient::currentChannel.getFlags(%i) & $PERSON_OPERATOR); + ChatRoomMemberList_refresh($IRCClient::currentChannel); + case IDIRC_PART: + ChatRoomMemberList_refresh($IRCClient::currentChannel); + case IDIRC_KICK: + if ($IRCClient::nextChannel) + { + $IRCClient::attachedChannel = 0; + ChatTabView.setSelected($IRCClient::nextChannel); + $IRCClient::nextChannel = 0; + } + ChatTabView.removeTab($IRCClient::deletedChannel); +// case IDIRC_INSTANT: +// MessageBoxOK("Message", "You have been instant Messaged by " @ $IRCClient::inviteperson); + case IDIRC_INVITED: //invited to join existing channel. + //MessageBoxOKCancel("Invite", "You have been invited to channel " @ IRCClient::displayChannel($IRCClient::invitechannel) @ " by " @ $IRCClient::inviteperson @ ".", "IRCClient::join($IRCClient::invitechannel);"); + IRCClient::newMessage($IRCClient::CurrentChannel, "You have been invited to channel " @ $IRCClient::invitechannel @ " by " @ $IRCClient::inviteperson @ "."); + case IDIRC_BAN_LIST: + ChannelBannedList_refresh(); + case IDIRC_TOPIC: + ChatChannelTopic.setValue($IRCClient::currentChannel.topic); + case IDIRC_DELCHANNEL: + if ($IRCClient::nextChannel) + { + $IRCClient::attachedChannel = 0; + ChatTabView.setSelected($IRCClient::nextChannel); + $IRCClient::nextChannel = 0; + } + ChatTabView.removeTab($IRCClient::deletedChannel); + + default: + echo("IRCClient: [NOTIFY] " @ %event); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::statusMessage(%message) +{ + //error("IRCClient::statusMessage( "@%message@" )"); + $IRCClient::channels.getObject(0).pushBackLine("[STATUS] " @ %message); +} + +//------------------------------------------------------------------------------ +function IRCClient::connecting() +{ + $IRCClient::connectwait++; + if ($IRCClient::connectwait > 1) + return; + + ChatChannelPane.setTitle("CONNECTING"); + JoinChatPane.setTitle("CONNECTING"); + ChannelBanPane.setTitle("CONNECTING"); +} + +//------------------------------------------------------------------------------ +function IRCClient::connected() +{ + if (!$IRCClient::connectwait) + return; + + $IRCClient::connectwait--; + if ($IRCClient::connectwait) + return; + + ChatChannelPane.setTitle("CHAT"); + JoinChatPane.setTitle("CHOOSE CHAT CHANNEL"); + ChannelBanPane.setTitle("EDIT BAN LIST"); +} + +//------------------------------------------------------------------------------ +function IRCClient::newMessage(%channel,%message) +{ + %message = IRCClient::findChannelURL(%message); + + if (%channel == $IRCClient::channels.getObject(0) || + %channel $= "") + $IRCClient::channels.getObject(0).pushBackLine(%message); + else + %channel.pushBackLine(%message); +} + +//------------------------------------------------------------------------------ +function IRCClient::findPerson(%nick) +{ + for (%i = 0; %i < $IRCClient::people.getCount(); %i++) + { + %person = $IRCClient::people.getObject(%i); + if (%person.displayName $= %nick) + return %person; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::findPerson2(%prefix,%create) +{ + // typical name + // Yakuza|!yakuzasama@pool032-max7.ds23-ca-us.dialup.earthlink.net + %prefix = nextToken(%prefix,nick," !"); + nextToken(%prefix,ident," "); + + if (strlen(%nick)) + { + if (getSubStr(%nick,0,1) $= "@" || getSubStr(%nick,0,1) $= "+") + %nick = getSubStr(%nick,1,strlen(%nick)-1); + if (strlen(%ident) && getSubStr(%ident,0,1) $= "~") + %ident = getSubStr(%ident,1,strlen(%ident)-1); + + // look 'em up + %p = IRCClient::findPerson(%nick); + if (%p) + { + if (strlen(%ident) && strcmp(%ident,%p.identity)) + { + IRCClient::setIdentity(%p,%ident); + IRCClient::correctNick(%p); + } + + return %p; + } + + if (%create) + { + %p = new SimObject() + { + real = ""; + identity = ""; + nick = ""; + flags = 0; + ping = 0; + ref = 0; + displayName = %nick; + }; + IRCClient::setIdentity(%p,%ident); + $IRCClient::people.add(%p); + + %c = IRCClient::findChannel(%nick); + if (%c && %c.numMembers != 2) + { + IRCClient::newMessage(%c,IRCClient::taggedNick(%p) @ " has reconnected."); + %c.addMember(%p,IRCClient::taggedNick(%p)); + %p.ref++; + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_JOIN); + } + + // initiate WHO do determine username + //if (!strlen(%ident) && %p != $IRCClient::people.getObject(1) && + //getSubStr(%nick,strlen(%nick)-1,1) $= "^") + //IRCClient::whois(%p); + + return %p; + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::doEscapes(%string) +{ + // escape spaces + while ((%i = strpos(%string," ")) != -1) + %string = getSubStr(%string,0,%i) @ $ESCAPE_SEQ @ "01" @ + getSubStr(%string,%i+1,strlen(%string)-(%i+1)); + + return %string; +} + +//------------------------------------------------------------------------------ +function IRCClient::undoEscapes(%string) +{ + %esclen = strlen($ESCAPE_SEQ); + %offset = 0; + %search = %string; + while ((%i = strpos(%search,$ESCAPE_SEQ)) != -1) + { + %code = getSubStr(%search,%i+%esclen,2); + switch$(%code) + { + case "01": + %replace = " "; + } + + %string = getSubStr(%string,0,%offset+%i) @ %replace @ + getSubStr(%string,%offset+%i+%esclen+2, + strlen(%string)-(%offset+%i+%esclen+2)); + %search = getSubStr(%string,%offset,strlen(%string)-%offset); + } + + return %string; +} + +//------------------------------------------------------------------------------ +function IRCClient::setIdentity(%p,%ident) +{ + %p.identity = %ident; + %nick = %p.displayName; + if (strpos(%nick, "^") != -1) + { + %triple = IRCGetTriple(%nick); + %name = getField(%triple, 0); + %tag = getField(%triple, 1); + %append = getField(%triple, 2); + %p.untagged = %name; + if (%tag $= "") + { + %p.nick = %name; + %p.tagged = "" @ %name @ ""; + } + else + if(%append) + { + %p.nick = %name @ %tag; + %p.tagged = "" @ %name @ "" @ %tag @ ""; + } + else + { + %p.nick = %tag @ %name; + %p.tagged = "" @ %tag @ "" @ %name @ ""; + } + } + else + { + %p.tagged = %nick; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::displayNick(%person) +{ + // identity is set and user is WON-authenticated + if (strlen(%person.nick)) + return %person.nick; + else + return %person.displayName; +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +function IRCClient::taggedNick(%person) +{ + //error("IRCClient::taggedNick( "@%person@" )"); + // identity is set and user is WON-authenticated + if (strlen(%person.nick)) + if($pref::IRCClient::hideLinks) + return %person.nick; + else + return %person.tagged; + else + return %person.displayName; +} + +//------------------------------------------------------------------------------ +function IRCClient::correctNick(%p) +{ + for (%i = 1; %i < $IRCClient::channels.getCount(); %i++) + { + %c = $IRCClient::channels.getObject(%i); + if (%c.getName() $= %p.displayName) + { + ChatTabView.setTabText(%c,IRCClient::displayNick(%p)); + %c.topic = "Private chat with" SPC IRCClient::displayNick(%p); + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_TOPIC); + } + + %mi = %c.findMember(%p); + if (%mi >= 0) + { + %c.setMemberNick(%mi,IRCClient::taggedNick(%p)); + %c.sort(); + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_SORT); + } + else + if (%c == $IRCClient::banChannel) + IRCClient::notify(IDIRC_BAN_LIST); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::findChannel(%name,%create) +{ + //error("IRCClient::findChannel( "@%name@", "@%create@" )"); + if(%name $= "") + return $IRCClient::currentChannel; + + for (%i = 0; %i < $IRCClient::channels.getCount(); %i++) + { + %c = $IRCClient::channels.getObject(%i); + if (%c.getName() $= %name) + return %c; + } + if (%create) + { + %topic = ""; + %flags = $CHANNEL_NEW; + %private = false; + for (%i = 0; %i < $IRCClient::numChannels; %i++) + if (%name $= $IRCClient::channelNames[%i]) + { + %topic = $IRCClient::channelTopics[%i]; + + break; + } + + if (strcmp(getSubStr(%name,0,1),"#") && strcmp(getSubStr(%name,0,1),"&")) + { + %p = IRCClient::findPerson(%name); + %topic = "Private chat with " @ IRCClient::displayNick(%p); + %flags = %flags | $CHANNEL_PRIVATE; + %private = true; + } + %l = strlen(%name); + %tribe = (%l > 7 && strcmp(getSubStr(%name,%l-7,7),"_Public") == 0) || + (%l > 8 && strcmp(getSubStr(%name,%l-8,8),"_Private") == 0); + %c = new ChannelVector(%name) + { + topic = %topic; + key = $IRCClient::key; + flags = $CHANNEL_NEW; + personLimit = 0; + private = %private; + tribe = %tribe; + }; + $IRCClient::channels.add(%c); + if (%c.private) + { + %me = $IRCClient::people.getObject(0); + %c.addMember(%me,IRCClient::taggedNick(%me)); + %me.ref++; + %c.addMember(%p,IRCClient::taggedNick(%p)); + %p.ref++; + + $IRCClient::nextChannel = %c; + IRCClient::notify(IDIRC_ADDCHANNEL); + } + else + { + %messages = %name @ "_messages"; + if (isobject(%messages)) + { + for (%i = 0; %i < %messages.getNumLines(); %i++) + %c.pushBackLine(%messages.getLineText(%i)); + + %messages.delete(); + } + } + + return %c; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::displayChannel(%channel) +{ + if (getSubStr(%channel,0,1) $= "#" || getSubStr(%channel,0,1) $= "&") + return IRCClient::undoEscapes(getSubStr(%channel,1,strlen(%channel)-1)); + else + return IRCClient::displayNick(IRCClient::findPerson(%channel)); +} + +//------------------------------------------------------------------------------ +function IRCClient::channelName(%channel) +{ + %channel = IRCClient::doEscapes(%channel); // escape spaces + + if (getSubStr(%channel,0,1) $= "#") + return %channel; + else + return "#" @ %channel; +} + +//------------------------------------------------------------------------------ +function IRCClient::reset() +{ + $IRCClient::numBanned = 0; + + // Delete all the channels except status + $IRCClient::numChannels = 0; + while ($IRCClient::channels.getCount() > 1) + { + %channel = $IRCClient::channels.getObject(1); + $IRCClient::channels.remove(%channel); + %channel.delete(); + } + $IRCClient::currentChannel = $IRCClient::channels.getObject(0); + + // Delete everyone except myself + while ($IRCClient::people.getCount() > 1) + { + %person = $IRCClient::people.getObject(1); + $IRCClient::people.remove(%person); + %person.delete(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::connect() +{ + if (strcmp($IRCClient::state,IDIRC_CONNECTING_WAITING)) + { + IRCClient::disconnect(); + $IRCClient::serverIndex++; + if ($IRCClient::serverIndex >= $IRCClient::serverCount) + $IRCClient::serverIndex = 0; + $IRCClient::serverAttempt++; + if ($IRCClient::serverAttempt > $IRCClient::serverCount) + { + $IRCClient::serverAttempt = 0; + $IRCClient::retries++; + + if ($IRCClient::retries > 5) + { + IRCClient::newMessage("","Unable to connect to IRC servers."); + IRCClient::notify(IDIRC_ERR_TIMEOUT); + $IRCClient::state = IDIRC_DISCONNECTED; + $IRCClient::retries = 0; + if($IRCClient::serverCount > 1) + $IRCClient::serverIndex = getRandom($IRCClient::serverCount-1)-1; + else + $IRCClient::serverIndex = -1; + + return; + } + } + + if($IRCTestServer !$= "") + $IRCClient::server = $IRCTestServer; + else + $IRCClient::server = getField(getRecord($IRCClient::serverList, $IRCClient::serverIndex), 0); + + IRCClient::newMessage("","Connecting to " @ $IRCClient::server); + $IRCClient::state = IDIRC_CONNECTING_SOCKET; + IRCClient::notify(IDIRC_CONNECTING_SOCKET); + + $IRCClient::tcp.connect($IRCClient::server); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::connect2(%address,%port) +{ + $IRCClient::server = %address @ ":" @ %port; + + IRCClient::connect(); +} + +//------------------------------------------------------------------------------ +function IRCTCP::onConnected(%this) +{ + IRCClient::newMessage("","Established TCP/IP connection"); + %me = $IRCClient::people.getObject(0); + + $NextDatabaseQueryId++; + %id = $NextDatabaseQueryId; + + %args = WONLoginIRC(); + + // split the cert into chunks + %len = strlen(%args); + %i = 0; + while((%i+400) < %len) + { + %msg = getSubStr(%args, %i, 400); + IRCClient::send("dbqa" SPC %id SPC ":" @ %msg); + %i += 400; + } + %msg = getSubStr(%args, %i, 400); + + IRCClient::send("CERT " @ %msg); + $IRCClient::state = IDIRC_CONNECTING_WAITING; + +} + +//------------------------------------------------------------------------------ +function IRCTCP::onDNSFailed(%this) +{ + IRCClient::newMessage("","Could not resolve address " @ $IRCClient::server @ "."); + $IRCClient::state = IDIRC_DISCONNECTED; + IRCClient::notify(IDIRC_ERR_HOSTNAME); +} + +//------------------------------------------------------------------------------ +function IRCTCP::onConnectFailed(%this) +{ + if ($IRCClient::state $= IDIRC_CONNECTED) + { + IRCClient::newMessage("","You have been disconnected from " @ $IRCClient::server @ "."); + if (!IRCClient::reconnect()) + { + $IRCClient::state = IDIRC_DISCONNECTED; + IRCClient::notify(IDIRC_ERR_DROPPED); + } + } + else + { + IRCClient::newMessage("","Connection failed. The server did not respond."); + + IRCClient::connect(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::reconnect() +{ + if (!$pref::IRCClient::autoreconnect) + return (false); + + %i = 0; + while ($IRCClient::channels.getCount() > 1) + { + %c = $IRCClient::channels.getObject(1); + + if (%c.private) + { + %c.delete(); + $IRCClient::deletedChannel = %c; + if ($IRCClient::currentChannel == %c) + $IRCClient::nextChannel = $IRCClient::channels.getObject(0); + IRCClient::notify(IDIRC_DELCHANNEL); + + continue; + } + + $IRCClient::previousChannel[%i] = %c.getName(); + $IRCClient::previousKey[%i] = %c.key; + + %messages = $IRCClient::previousChannel[%i] @ "_messages"; + if (isobject(%messages)) + %messages.delete(); + %m = new MessageVector(%messages); + + for (%j = 0; %j < %c.getNumLines(); %j++) + %m.pushBackLine(%c.getLineText(%j)); + + $IRCClient::channels.remove(%c); + for (%j = 0; %j < %c.numMembers(); %j++) + { + %m = %c.getMemberId(%j); + %m.ref--; + if (%m.ref == 0) + { + $IRCClient::people.remove(%m); + %m.delete(); + } + } + %c.delete(); + $IRCClient::deletedChannel = %c; + if ($IRCClient::currentChannel == %c) + $IRCClient::nextChannel = $IRCClient::channels.getObject(0); + IRCClient::notify(IDIRC_DELCHANNEL); + + %i++; + } + $IRCClient::previousChannelCount = %i; + + IRCClient::newMessage("","Attempting to reconnect."); + + IRCClient::connect(); + + return true; +} + +//------------------------------------------------------------------------------ +function IRCClient::disconnect() +{ + if ($IRCClient::awaytimeout) + { + cancel($IRCClient::awaytimeout); + $IRCClient::awaytimeout = 0; + } + + $IRCClient::state = IDIRC_DISCONNECTED; + + $IRCClient::tcp.disconnect(); + + $IRCClient::silentList = 0; + $IRCClient::silentBanList = 0; + + IRCClient::reset(); +} + +//------------------------------------------------------------------------------ +function IRCClient::relogin() +{ + if($IRCClient::state !$= IDIRC_CONNECTED) + IRCClient::connect(); + + IRCClient::newMessage("","IRCClient: Reauthentication starting"); + + $NextDatabaseQueryId++; + %id = $NextDatabaseQueryId; + + %args = WONLoginIRC(); + + // split the cert into chunks + %len = strlen(%args); + %i = 0; + while((%i+400) < %len) + { + %msg = getSubStr(%args, %i, 400); + IRCClient::send("dbqa" SPC %id SPC ":" @ %msg); + %i += 400; + } + %msg = getSubStr(%args, %i, 400); + + IRCClient::send("CERT " @ %msg); + $IRCClient::state = IDIRC_CONNECTING_WAITING; +} + +//------------------------------------------------------------------------------ +function IRCClient::send(%message) +{ + if($IRCEcho) + echo("IRC SEND:" @ %message); + + $IRCClient::tcp.send(%message @ "\r\n"); +} + +//------------------------------------------------------------------------------ +function IRCTCP::onLine(%this,%line) +{ + if($IRCEcho) + echo("IRC RECV:" @ %line); + // HACK: Windows 2000 bug. We shouldn't need to do this! + if ($IRCClient::state $= IDIRC_CONNECTING_SOCKET) + IRCTCP::onConnected(%this); + + IRCClient::processLine(%line); +} + +//------------------------------------------------------------------------------ +function IRCClient::processLine(%line) +{ + // RFC_1459: Message Packet format + // + // ::= [':' ] + // ::= | [ '!' ] [ '@' ] + // ::= { } | + // ::= ' ' { ' ' } + // ::= [ ':' | ] + // + // ::= + // ::= + // ::= CR LF + + %src = %line; + if($pref::enableBadWordFilter) + %src = filterString(%src); + + if (strlen(%src)) + { + // check for prefix + if (getSubStr(%src,0,1) $= ":") + %src = nextToken(getSubStr(%src,1,strlen(%src)-1),prefix," "); + + // this is the command + %src = nextToken(%src,command," :"); + + // followed by its params + %src = nextToken(%src,params,""); + + if (!IRCClient::dispatch(%prefix,%command,%params)) + { + //echo("IRCClient: " @ %command @ " not handled by dispatch!"); + echo("(cmd:) " @ %prefix @ " " @ %command @ " " @ %params); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::dispatch(%prefix,%command,%params) +{ + switch$(%command) + { + case "PING": + IRCClient::onPing(%prefix,%params); + case "PONG": + IRCClient::onPong(%prefix,%params); + case "PRIVMSG": + IRCClient::onPrivMsg(%prefix,%params); + case "JOIN": + IRCClient::onJoin(%prefix,%params); + case "NICK": + IRCClient::onNick(%prefix,%params); + case "QUIT": + IRCClient::onQuit(%prefix,%params); + case "ERROR": + IRCClient::onError(%prefix,%params); + case "TOPIC": + IRCClient::onTopic(%prefix,%params); + case "PART": + IRCClient::onPart(%prefix,%params); + case "KICK": + IRCClient::onKick(%prefix,%params); + case "MODE": + IRCClient::onMode(%prefix,%params); + case "AWAY": + IRCClient::onAway(%prefix,%params); + case "NOTICE": + IRCClient::onNotice(%prefix,%params); + case "VERSION": + IRCClient::onVersion(%prefix,%params); + case "ACTION": + IRCClient::onAction(%prefix,%params); + case "INSTANT": + IRCClient::onInstantMsg(%prefix,%params); + case "INVITE": + IRCClient::onInvite(%prefix,%params); + case "301": + IRCClient::onAwayReply(%prefix,%params); + case "305": + IRCClient::onUnAwayReply(%prefix,%params); + case "306": + IRCClient::onNowAwayReply(%prefix,%params); + case "311": + IRCClient::onWhoisUserReply(%prefix,%params); + case "312": + IRCClient::onWhoisReply(%prefix,%params); + case "318": + IRCClient::onWhoisReply(%prefix,%params); + case "319": + IRCClient::onWhoisReply(%prefix,%params); + case "315": + IRCClient::onEndOfWho(%prefix,%params); + case "317": + IRCClient::onWhoisIdle(%prefix,%params); + case "322": + IRCClient::onList(%prefix,%params); + case "323": + IRCClient::onListEnd(%prefix,%params); + case "324": + IRCClient::onModeReply(%prefix,%params); + case "331": + IRCClient::onNoTopic(%prefix,%params); + case "332": + IRCClient::onTopic(%prefix,%params); + case "341": + IRCClient::onInviteReply(%prefix,%params); + case "352": + IRCClient::onWhoReply(%prefix,%params); + case "353": + IRCClient::onNameReply(%prefix,%params); + case "367": + IRCClient::onBanList(%prefix,%params); + case "368": + IRCClient::onBanListEnd(%prefix,%params); + case "372": + IRCClient::onMOTD(%prefix,%params); + case "376": + IRCClient::onMOTDEnd(%prefix,%params); + case "401": + IRCClient::onNoSuchNick(%prefix,%params); + case "422": + IRCClient::onMOTDEnd(%prefix,%params); + case "433": + IRCClient::onBadNick(%prefix,%params); + case "444": + IRCClient::onNoLogin(%prefix,%params); + case "465": + IRCClient::onServerBanned(%prefix,%params); + case "468": + IRCClient::onInvalidNick(%prefix,%params); + case "471": + IRCClient::onChannelFull(%prefix,%params); + case "473": + IRCClient::onChannelInviteOnly(%prefix,%params); + case "474": + IRCClient::onChannelBanned(%prefix,%params); + case "475": + IRCClient::onBadChannelKey(%prefix,%params); + + case "CHALLENGE": + IRCClient::onChallenge(%prefix,%params); + case "CHALRESP_REPLY": + IRCClient::onChalRespReply(%prefix,%params); + case "DBMSG": + HandleDatabaseProxyResponse(%prefix, %params); + default: + return false; + } + + return true; +} + +//------------------------------------------------------------------------------ +function IRCClient::onPing(%prefix,%params) +{ + %time = getSimTime(); + + if ((%time - $IRCClient::lastPinged) >= $PING_FLOOD_TIMEOUT) + { + $IRCClient::lastPinged = %time; + + if (strlen(%prefix)) + { + nextToken(%prefix,nick,"!"); + %p = IRCClient::findPerson(%nick); + + if (%p) + if (%p.ping) + { + IRCClient::newMessage($IRCClient::currentChannel, + IRCClient::taggedNick(%p) @ " roundtrip delay: " @ (%time-%p.ping)/1000 @ " seconds."); + %p.ping = 0; + } + else + { + %params = nextToken(%params,nick," :"); + nextToken(%params,key," \x01"); + IRCClient::send("NOTICE " @ %nick @ " :\x01PING " @ %key); + } + } + else + IRCClient::send("PONG " @ %params); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onPong(%prefix,%params) +{ + nextToken(%params,nick," "); + %p = IRCClient::findPerson(%nick); + if (%p && %p.ping) + { + IRCClient::newMessage($IRCClient::currentChannel, + IRCClient::taggedNick(%p) @ " roundtrip delay: " @ (getSimTime()-%p.ping)/1000 @ " seconds."); + %p.ping = 0; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onJoin(%prefix,%params) +{ + %p = IRCClient::findPerson2(%prefix,true); + %c = IRCClient::findChannel(%params,true); + + if (%c.addMember(%p,IRCClient::taggedNick(%p))) + { + %p.ref++; + IRCClient::notify(IDIRC_JOIN); + } + if ($pref::IRCClient::showJoin && !(%p.flags & $PERSON_IGNORE)) + IRCClient::newMessage(%c,"\c4"@IRCClient::taggedNick(%p) @ " has joined the conversation."); + + // if this is me then set this as the current channel + if (%p == $IRCClient::people.getObject(0)) + { + $IRCClient::nextChannel = %c; + IRCClient::notify(IDIRC_ADDCHANNEL); + + IRCClient::send("MODE " @ %c.getName()); + + // this is a hack, the list isnt being rebuilt right away but it is if you give it a half second + schedule(500, 0, chatRoomMemberList_rebuild); + //error("rebuilt by onJoin"); + } + IRCClient::connected(); +} + +//------------------------------------------------------------------------------ +function IRCClient::onPrivMsg(%prefix,%params) +{ + %p = $IRCClient::people.getObject(0); + %params = nextToken(%params,ch," "); + %msg = %params; + + // messages always lead with a ':' + if (getSubStr(%msg,0,1) $= ":") + %msg = getSubStr(%msg,1,strlen(%msg)-1); + + // should we highlight this message + if($pref::IRCClient::highlightOn) + %msg = IRCClient::nickHighLight(%msg); + + %nick = %ch; + if (getSubStr(%ch,0,1) $= "@" || getSubStr(%ch,0,1) $= "+") + %nick = getSubStr(%nick,1,strlen(%nick)-1); + if ( %nick $= %p.displayName) + nextToken(%prefix,ch," !"); + + if (strcmp(getSubStr(%msg,0,1),"\x01")) + { + // are we IGNORING this person? + %p = IRCClient::findPerson2(%prefix,true); + if (%p && (%p.flags & $PERSON_IGNORE)) + return; + + %c = IRCClient::findChannel(%ch, true); + if ( !%c ) + return; + IRCClient::newMessage(%c,IRCClient::taggedNick(%p) @ ": " @ %msg); + } + else + { + // otherwise it's a command imbeded inside PRIVMSG (oh great!) + %msg = nextToken(%msg,command," \x01"); + IRCClient::dispatch(%prefix,%command,%ch @ ": " @ %msg); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::findChannelURL(%msg) +{ + %numWords = getWordCount(%msg); + for(%i = 0; %i < %numWords; %i++) + { + %word = getWord(%msg, %i); + %firstLetter = getSubStr(%word, 0, 1); + + if(%firstLetter $= "#") + { + // this is a fake server link that will get parsed to an + // IRCClient::join by the urlCallback hack + %newWord = ""@ IRCClient::displayChannel(%word)@""; + %word = %newWord; + } + + if(%newText $= "") + %newText = %word; + else %newText = %newText SPC %word; + } + + return %newText; +} + +//------------------------------------------------------------------------------ +function IRCClient::onNick(%prefix,%params) +{ + %person = IRCClient::findPerson2(%prefix,false); + + if (%person) + { + if (!(%person.flags & $PERSON_IGNORE)) + IRCClient::newMessage($IRCClient::currentChannel,%person.getName() @ " is now known as " @ %params @ "."); + + %channel = IRCClient::findChannel(%person.getName()); + + if (%channel) + %channel.setName(%params); + + %person.setName(%params); + + // If this is me, re-set the console variable + if (%person == $IRCClient::people.getObject(0)) + $IRCClient::NickName = %person.getName(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onQuit(%prefix,%params) +{ + %p = IRCClient::findPerson2(%prefix,false); + + if (%p) + { + // For every channel + for (%i = 1; %i < $IRCClient::channels.getCount(); %i++) + { + %c = $IRCClient::channels.getObject(%i); + if (%c.removeMember(%p)) + { + if (!(%p.flags & $PERSON_IGNORE)) + IRCClient::newMessage(%c,"\c4" @ IRCClient::taggedNick(%p) @ " has disconnected from IRC."); + if (%c == $IRCClient::currentChannel) + { + IRCClient::notify(IDIRC_PART); + //IRCClient::part(%c.getName()); + } + + } + } + + // clean up the Person + $IRCClient::people.remove(%p); + %p.delete(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onError(%prefix,%params) +{ + IRCClient::newMessage($IRCClient::currentChannel,%params); + IRCClient::notify(IDIRC_ERROR); + IRCClient::disconnect(); + IRCClient::connect(); +} + +//------------------------------------------------------------------------------ +function IRCClient::onMOTD(%prefix,%params) +{ // command 372 + // EXAMPLE :StLouis.MO.US.UnderNet.org 372 homer128 :- ==> Disclaimer/ Rules: + %msg = nextToken(%params,prefix,":"); + IRCClient::newMessage($IRCClient::currentChannel,%msg); +} + +//------------------------------------------------------------------------------ +function IRCClient::onMOTDEnd(%prefix, %params) +{ // command 372 + // EXAMPLE :StLouis.MO.US.UnderNet.org 372 homer128 :- ==> Disclaimer/ Rules: + if ($IRCClient::state $= IDIRC_CONNECTING_WAITING) + { + IRCClient::newMessage("","Successfully connected to " @ $IRCClient::server); + $IRCClient::state = IDIRC_CONNECTED; + IRCClient::notify(IDIRC_CONNECTED); + + // auto join a room if requested + if (strlen($IRCClient::room)) + IRCClient::send("JOIN " @ $IRCClient::room); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onNoSuchNick(%prefix,%params) +{ + %params = nextToken(%params,me," "); + nextToken(%params,nick," :"); + + %c = IRCClient::findChannel(%nick); + if (%c && %c.private) + { + %p = IRCClient::findPerson(%nick); + if (%p) + { + if (!(%p.flags & $PERSON_IGNORE)) + IRCClient::newMessage(%c,IRCClient::taggedNick(%p) @ " has disconnected from IRC."); + %c.removeMember(%p); + %p.delete(); + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_PART); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onNameReply(%prefix,%params) +{ // command 353 + // EXAMPLE homer128 = #Starsiege :homer128 Fusion^WP KM-UnDead Rick-wrk Lord-Star Apoc0410 + %params = nextToken(%params,nick," =@"); + %me = IRCClient::findPerson(%nick); + if (!%me) + { + echo("IRCClient::onNameReply: My nick should have existed."); + + return; + } + + // find the end of channel name + %params = nextToken(%params,ch," :"); + %c = IRCClient::findChannel(%ch); + if (!%c) + { + echo("IRCClient::onNameReply: This channel should have existed."); + + return; + } + + // loop through the nick and add them to the channel + while (strlen(%params)) + { + %params = nextToken(%params,nick," "); + %p = IRCClient::findPerson2(%nick,true); + + %flags = 0; + if (getSubStr(%nick,0,1) $= "@") + %flags = %flags | $PERSON_OPERATOR; + else if (getSubStr(%nick,0,1) $= "+") + %flags = %flags | $PERSON_SPEAKER; + + // If it's not me, add them to the channel + if (%p != %me) + { + %c.addMember(%p,IRCClient::taggedNick(%p),%flags); + %p.ref++; + } + // If it is me, just set the flags + else + { + %i = %c.findMember(%p); + if (%i != -1) + %c.setFlags(%i,%flags,true); + } + } + + IRCClient::notify(IDIRC_JOIN); +} + +//------------------------------------------------------------------------------ +function IRCClient::onWhoReply(%prefix, %params) +{ + // command 352 + // EXAMPLE: :StLouis.MO.US.UnderNet.org 352 homer128 #Starsiege ~DrAwkward 198.74.39.31 los-angeles.ca.us.undernet.org DrAwkward H :3 JR + %params = nextToken(%params,me," "); + %params = nextToken(%params,ch," "); + %params = nextToken(%params,user," "); + %params = nextToken(%params,at," "); + %params = nextToken(%params,server," "); + %params = nextToken(%params,nick," *+@"); + %params = nextToken(%params,HG," "); + %params = nextToken(%params,hops," "); + nextToken(%params,real," "); + + %p = IRCClient::findPerson(%nick); + if (!%p) return; + + if (getSubStr(%user,0,1) $= "~") + %user = getSubStr(%user,1,strlen(%user)-1); + + // update person in question + if (strcmp(%p.identity,%user @ "@" @ %at)) + { + IRCClient::setIdentity(%p,%user @ "@" @ %at); + IRCClient::correctNick(%p); + } + %p.real = %real; + + // Send it to the status channel + IRCClient::newMessage("","WHO " @ IRCClient::taggedNick(%p) @ ": " @ %user @ "@" @ %at @ " (" @ %real @ ") connected to server " @ %server @ "."); + IRCClient::connected(); +} + +//------------------------------------------------------------------------------ +function IRCClient::onEndOfWho(%prefix,%params) +{ + IRCClient::notify(IDIRC_END_OF_WHO); + // IRCClient::newMessage("","End of WHO list."); +} + +//------------------------------------------------------------------------------ +function IRCClient::onPart(%prefix,%params) +{ + %p = IRCClient::findPerson2(%prefix,false); + %c = IRCClient::findChannel(%params); + + if (%p && %c) + if (%c.removeMember(%p)) + { + if ($pref::IRCClient::showLeave && !(%p.flags & $PERSON_IGNORE)) + IRCClient::newMessage(%c,"\c4"@IRCClient::taggedNick(%p) @ " has left the conversation."); + IRCClient::notify(IDIRC_PART); + %p.ref--; + if (%p.ref == 0) + { + $IRCClient::people.remove(%p); + %p.delete(); + } + } + + // if this was me parting, clean up the channel + if (%p == $IRCClient::people.getObject(0) && %c) + { + $IRCClient::channels.remove(%c); + for (%i = 0; %i < %c.numMembers(); %i++) + { + %m = %c.getMemberId(%i); + %m.ref--; + if (%m.ref == 0) + { + $IRCClient::people.remove(%m); + %m.delete(); + } + } + %c.delete(); + $IRCClient::deletedChannel = %c; + if ($IRCClient::currentChannel == %c) + $IRCClient::nextChannel = $IRCClient::channels.getObject(0); + IRCClient::notify(IDIRC_DELCHANNEL); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onNoTopic(%prefix,%params) +{ + %params = nextToken(%params,channel," "); + %params = nextToken(%params,channel," "); + + // Just a message + IRCClient::newMessage($IRCClient::currentChannel,%channel @ ": No topic is set."); +} + +//------------------------------------------------------------------------------ +function IRCClient::onTopic(%prefix,%params) +{ + %params = nextToken(%params,ch," :"); + %c = IRCClient::findChannel(%ch); + if (!%c) + { + %params = nextToken(%params,ch," :"); + %c = IRCCLient::findChannel(%ch); + } + + if (!%c) + return; + %c.topic = %params; + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_TOPIC); +} + +//------------------------------------------------------------------------------ +function IRCClient::onKick(%prefix,%params) +{ + // EXAMPLE: BarbieGrl!Forgot@tsbrk3-204.gate.net KICK #HackPhreak RiseR :0,1 Shitlisted  + nextToken(%prefix,host," !"); + %params = nextToken(%params,ch," "); + %params = nextToken(%params,nick," :"); + + %h = IRCClient::findPerson(%host); + if (%h) + %host = IRCClient::taggedNick(%h); + %c = IRCClient::findChannel(%ch); + %p = IRCClient::findPerson(%nick); + + if (%p && %c) + if (%c.removeMember(%p)) + { + // was it me? + if (%p == $IRCClient::people.getObject(0)) + { + // Delete the channel + for (%i = 0; %i < $IRCClient::channels.getCount(); %i++) + if ($IRCClient::channels.getObject(%i) == %c) + { + $IRCClient::channels.remove(%c); + %c.delete(); + $IRCClient::deletedChannel = %c; + if ($IRCClient::currentChannel == %c) + $IRCClient::nextChannel = $IRCClient::channels.getObject(0); + + break; + } + + IRCClient::statusMessage("Host " @ %host @ " kicks " @ IRCClient::taggedNick(%p) @ " out of the chat room, saying \"" @ %params @ "\""); + IRCClient::notify(IDIRC_KICK); + } + else + { + IRCClient::newMessage(%c, "Host " @ %host @ " kicks " @ IRCClient::taggedNick(%p) @ " out of the chat room, saying \"" @ %params @ "\""); + IRCClient::notify(IDIRC_PART); + } + + %p.ref--; + if (%p.ref == 0) + { + $IRCClient::people.remove(%p); + %p.delete(); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onModeReply(%prefix,%params) +{ + // Strip the person name + %params = nextToken(%params,person," "); + + // Send the rest on to the usual handler + IRCClient::onMode(%prefix,%params); +} + +//------------------------------------------------------------------------------ +function IRCClient::onMode(%prefix,%params) +{ +//echo("IRCClient::onMode( "@%prefix@", "@ %params @" )"); + + // EXAMPLE: :RickO!ricko@rick-266.dynamix.com MODE #starsiege +v homer128 + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege +m + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege -m + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege +lo 50 nick + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege +l 500 + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege -l + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege +s + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege -s + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege +p + // EXAMPLE: PACKET: :RickO!ricko@rick-266.dynamix.com MODE #starsiege -p + + IRCClient::newMessage("",%params); + %params = nextToken(%params,ch," "); + %params = nextToken(%params,mode," "); + + %enable = (getSubStr(%mode,0,1) $= "+"); + %c = IRCClient::findChannel(%ch); + if (!%c) return; + + for (%i = 1; %i < strlen(%mode); %i++) + switch$(getSubStr(%mode,%i,1)) + { + // PERSON Mode command + case "o": // Operator + %params = nextToken(%params,arg," "); + %i = (strlen(%arg) ? %c.findMember(IRCClient::findPerson(%arg)) : -1); + if (%i == -1) + break; + %c.setFlags(%i,$PERSON_OPERATOR,%enable); + %c.sort(); + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_SORT); + + // only display the message if my privilages are modified. + if (strcmp(%arg,$IRCClient::people.getObject(0).displayName)) + break; + + nextToken(%prefix,arg,"!"); + %name = IRCClient::findPerson(%arg); + %taggedName = IRCClient::taggedNick(%name); + if (%c.getFlags(%i) & $PERSON_OPERATOR) + IRCClient::newMessage(%c, %taggedName @ " made you an operator."); + else + if (%c.getFlags(%i) & $PERSON_SPEAKER) + IRCClient::newMessage(%c, %taggedName @ " made you a speaker."); + else + IRCClient::newMessage(%c, %taggedName @ " made you an spectator."); + + case "v": // Speaker (voice) + %params = nextToken(%params,arg," "); + %i = (strlen(%arg) ? %c.findMember(IRCClient::findPerson(%arg)) : -1); + if (%i == -1) + break; + %c.setFlags(%i,$PERSON_SPEAKER,%enable); + %c.sort(); + if (%c == $IRCClient::currentChannel) + IRCClient::notify(IDIRC_SORT); + + // only display the message if my privilages are modified. + if (strcmp(%arg,$IRCClient::people.getObject(0).displayName)) + break; + + nextToken(%prefix,arg,"!"); + %name = IRCClient::findPerson(%arg); + %taggedName = IRCClient::taggedNick(%name); + if (%c.getFlags(%i) & $PERSON_OPERATOR) + IRCClient::newMessage(%c, %taggedName @ " made you an operator."); + else + if (%c.getFlags(%i) & $PERSON_SPEAKER) + IRCClient::newMessage(%c, %taggedName @ " made you a speaker."); + else + IRCClient::newMessage(%c, %taggedName @ " made you a spectator."); + + // CHANNEL Mode command + case "b": // Ban + %params = nextToken(%params,arg," "); + + case "i": // Channel is Invite only + if (%enable) + %c.flags = %c.flags | $CHANNEL_INVITE; + else + %c.flags = %c.flags & ~$CHANNEL_INVITE; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "l": // Channel has limited members + %params = nextToken(%params,arg," "); + %c.personLimit = (%enable ? %arg : 0); + if (%enable) + %c.flags = %c.flags | $CHANNEL_LIMITED; + else + %c.flags = %c.flags & ~$CHANNEL_LIMITED; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "m": // Channel is moderated + if (%enable) + %c.flags = %c.flags | $CHANNEL_MODERATED; + else + %c.flags = %c.flags & ~$CHANNEL_MODERATED; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "n": // External messages are ignored + if (%enable) + %c.flags = %c.flags | $CHANNEL_IGNORE_EXTERN; + else + %c.flags = %c.flags & ~$CHANNEL_IGNORE_EXTERN; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "p": // Channel is Private + if (%enable) + %c.flags = %c.flags | $CHANNEL_PRIVATE; + else + %c.flags = %c.flags & ~$CHANNEL_PRIVATE; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "s": // Channel is Secret + if (%enable) + %c.flags = %c.flags | $CHANNEL_SECRET; + else + %c.flags = %c.flags & ~$CHANNEL_SECRET; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "t": // Channel topic limited to Operators + if (%enable) + %c.flags = %c.flags | $CHANNEL_TOPIC_LIMITED; + else + %c.flags = %c.flags & ~$CHANNEL_TOPIC_LIMITED; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + + case "k": // Channel has secret key + %params = nextToken(%params,arg," "); + %c.key = (%enable ? %arg : ""); + if (%enable) + %c.flags = %c.flags | $CHANNEL_HAS_KEY; + else + %c.flags = %c.flags & ~$CHANNEL_HAS_KEY; + IRCClient::notify(IDIRC_CHANNEL_FLAGS); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onWhoisReply(%prefix,%params) +{ + // EXAMPLE :rick-266.dynamix.com 311 homer128 RickO ricko rick-266.dynamix.com 198.74.38.222 :Rick + // EXAMPLE :rick-266.dynamix.com 319 homer128 RickO :@#starsiege + // EXAMPLE :rick-266.dynamix.com 312 homer128 RickO rick-266.dynamix.com :WIRCSRV Windows IRC Server + // $params = nextToken($params,ch," "); + // IRCClient::newMessage("",%params); +} + +//------------------------------------------------------------------------------ +function IRCClient::onWhoisUserReply(%prefix,%params) +{ + %params = nextToken(%params,chunk," "); + %tmp = %params; + %params = nextToken(%params,nick," "); + %params = nextToken(%params,user," "); + %params = nextToken(%params,at," "); + %real = nextToken(%params,chunk,":"); + + %p = IRCClient::findPerson(%nick); + if (!%p) return; + + if (getSubStr(%user,0,1) $= "~") + %user = getSubStr(%user,1,strlen(%user)-1); + + // update person in question + if (strcmp(%p.identity,%user @ "@" @ %at)) + { + IRCClient::setIdentity(%p,%user @ "@" @ %at); + IRCClient::correctNick(%p); + } + %p.real = %real; + + // Send it to the status channel + IRCClient::newMessage("","WHOIS " @ IRCClient::taggedNick(%p) @ ": " @ %user @ "@" @ %at @ " (" @ %real @ ")."); + IRCClient::connected(); +} + +//------------------------------------------------------------------------------ +function IRCClient::onWhoisIdle(%prefix,%params) +{ + // EXAMPLE :rick-266.dynamix.com 317 homer128 RickO 5350 907453369 :seconds idle + // the date is encoded in '907453369' but I have not figured out how to decode it :( + %params = nextToken(%params,nick," "); // strip out caller's name + %params = nextToken(%params,nick," "); + %params = nextToken(%params,seconds," "); + nextToken(%params,date," "); + + %p = IRCClient::findPerson(%nick); + + %iMinutes = %seconds/60; + %iSeconds = %seconds%60; + if (%iMinutes) + IRCClient::newMessage("",IRCClient::taggedNick(%p) @ " has been idle for " @ %iMinutes @ " minute(s) and " @ %iSeconds @ " second(s)."); + else + IRCCLient::newMessage("",IRCClient::taggedNick(%p) @ " has been idle for " @ %iSeconds @ "second(s)."); +} + +//------------------------------------------------------------------------------ +function IRCClient::censor(%str) +{ + if (!strlen(%str)) + return false; + if (!$IRCClient::numCensorWords) + if ($IRCClient::censorChannel) + { + %buffer = %str; + %p = strlwr(%buffer); + while (strlen(%p)) + { + %p = nextToken(%p,word," ,"); + $IRCClient::censorWords[$IRCClient::numCensorWords] = %word; + $IRCClient::numCensorWords++; + } + } + + %buffer = %str; + strlwr(%buffer); + + for (%i = 0; %i < $IRCClient::numCensorWords; %i++) + if (strstr(%buffer,$IRCClient::censorWords[%i])) + return true; + + return false; +} + +//------------------------------------------------------------------------------ +function IRCClient::onList(%prefix,%params) +{ + //error("IRCClient::onList( "@ %prefix @", "@ %params @")"); + //EXAMPLE: :StLouis.MO.US.UnderNet.org 322 homer128 #bmx 9 :BMX Rules! + + %params = nextToken(%params,nick," "); + %params = nextToken(%params,ch," "); + %topic = nextToken(%params,users," :"); + + %l = strlen(%ch); + if ((%l > 7 && strcmp(getSubStr(%ch,%l-7,7),"_Public") == 0) || + (%l > 8 && strcmp(getSubStr(%ch,%l-8,8),"_Private") == 0)) + return; + if (IRCClient::censor(%topic)) + return; + + if ($IRCClient::silentList) + { + $IRCClient::channelNames[$IRCClient::numChannels] = %ch; + $IRCClient::channelUsers[$IRCClient::numChannels] = %users; + $IRCClient::channelTopics[$IRCClient::numChannels] = %topic; + $IRCClient::numChannels++; + } +// else +// IRCClient::newMessage($IRCClient::currentChannel,%users @ " " @ %ch @ " -- " @ %topic); +} + +//------------------------------------------------------------------------------ +function IRCClient::onBanList(%prefix,%params) +{ + %params = nextToken(%params,banned," "); + %params = nextToken(%params,banned," "); + %params = nextToken(%params,banned," "); + nextToken(%banned,banned,"!*@*"); + + if ($IRCClient::silentBanList) + { + // temporarily create person + $IRCClient::banList[$IRCClient::numBanned] = IRCClient::findPerson2(%banned,true); + $IRCClient::removeBan[$IRCClient::banList[$IRCClient::numBanned]] = false; + $IRCClient::numBanned++; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onListEnd(%prefix,%params) +{ + if ($IRCClient::silentList) + { + $IRCClient::silentList = false; + IRCClient::notify(IDIRC_CHANNEL_LIST); + IRCClient::connected(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onBanListEnd(%prefix,%params) +{ + if ($IRCClient::silentBanList) + { + $IRCClient::silentBanList = false; + IRCClient::notify(IDIRC_BAN_LIST); + IRCClient::connected(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onBadNick(%prefix,%params) +{ + //error("IRCClient::onBadNick( "@%prefix@", "@%params@" )"); + IRCClient::newMessage("","NOTICE: Nickname (" @ $IRCClient::people.getObject(0).displayName @ ") is already in use."); + IRCClient::notify(IDIRC_ERR_NICK_IN_USE); +} + +//------------------------------------------------------------------------------ +function IRCClient::onNoLogin(%prefix,%params) +{ + %msg = nextToken(%params,cmd," :"); + IRCClient::connected(); + IRCClient::newMessage("","Could not log in:" SPC %msg); +} + +//------------------------------------------------------------------------------ +function IRCClient::onAway(%prefix,%params) +{ + %msg = nextToken(%params,nick," :"); + %p = IRCClient::findPerson(%nick); + if (!%p) + return; + %c = IRCClient::findChannel(%nick); + if (!%c) + return; + + if (strlen(%msg)) + { + %p.flags = %p.flags | $PERSON_AWAY; + if (!(%p.flags & $PERSON_IGNORE)) + IRCClient::newMessage($IRCClient::currentChannel,IRCClient::taggedNick(%p) @ " is away: " @ %msg); + } + else + { + %p.flags = %p.flags & ~$PERSON_AWAY; + if (!(%p.flags & $PERSON_IGNORE)) + IRCClient::newMessage($IRCClient::currentChannel,IRCClient::taggedNick(%p) @ " has returned."); + } + if ($IRCClient::currentChannel.findMember(%p) >= 0) + IRCClient::notify(IDIRC_SORT); +} + +//------------------------------------------------------------------------------ +function IRCClient::onAction(%prefix,%params) +{ + //error("IRCClient::onAction( "@ %prefix @", "@ %params @")"); + %msg = nextToken(%params,ch," :"); + %c = IRCClient::findChannel(%ch,true); + + %person = IRCClient::findPerson2(%prefix,true); + %name = IRCClient::taggedNick(%person); + + IRCClient::newMessage(%c, %name @ "\c9 " @ %msg); +} + +//------------------------------------------------------------------------------ +function IRCClient::onAwayReply(%prefix,%params) +{ + //EXAMPLE :rick-266.dynamix.com 301 homer128 RickO :Gone fishing. + %params = nextToken(%params,me," "); + %msg = nextToken(%params,nick," :"); + %p = IRCClient::findPerson(%nick); + + if (%p) + { + %p.flags = %p.flags | $PERSON_AWAY; + IRCClient::newMessage($IRCClient::currentChannel,IRCClient::taggedNick(%p) SPC "is away:" SPC %msg); + IRCClient::notify(IDIRC_SORT); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onUnAwayReply(%prefix,%params) +{ + if ($IRCClient::awaytimeout) + cancel($IRCClient::awaytimeout); + $IRCClient::awaytimeout = schedule($AWAY_TIMEOUT,0,"ChatAway_Timeout"); + IRCClient::newMessage("","You are no longer marked as being away."); +} + +//------------------------------------------------------------------------------ +function IRCClient::onNowAwayReply(%prefix,%params) +{ + IRCClient::newMessage("","You have been marked as being away."); +} + +//------------------------------------------------------------------------------ +function IRCClient::onNotice(%prefix,%params) +{ + //EXAMPLE NOTICE AUTH :*** Found your hostname + + %sender = IRCClient::findPerson2(%prefix,true); + + if (!%sender || !(%sender.flags & $PERSON_IGNORE)) + { + %msg = strchr(%params,"\x01"); + if (!strlen(%msg)) + { + // Skip past the target name + %params = nextToken(%params,params,":"); + + IRCClient::newMessage("","NOTICE FROM " @ IRCClient::taggedNick(%sender) @ ": " @ %params); + } + else + { + // otherwise it's a command imbeded inside NOTICE (oh great!) + %msg = nextToken(%msg,command," \x01"); + IRCClient::dispatch(%prefix,%command,%msg); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onChannelFull(%prefix,%params) +{ + %channel = nextToken(%params,channel," "); + nextToken(%channel,channel," "); + + IRCClient::connected(); + IRCClient::statusMessage("Cannot join " @ %channel @ ": room is full."); + IRCClient::notify(IDIRC_CHANNEL_FULL); +} + +//------------------------------------------------------------------------------ +function IRCClient::onChannelInviteOnly(%prefix,%params) +{ + %channel = nextToken(%params,channel," "); + nextToken(%channel,channel," "); + + IRCClient::connected(); + IRCClient::statusMessage("Cannot join " @ %channel @ ": room is invite only."); + IRCClient::notify(IDIRC_INVITE_ONLY); +} +//------------------------------------------------------------------------------ +function IRCClient::onInvite(%prefix,%params) +{ + // Find or create the person (should never be NULL) + %p = IRCClient::findPerson2(%prefix,true); + if (%p) + { + %params = nextToken(%params,channel,":"); + %channel = %params; + + // Only bother the user if they aren't ignoring this person + if (!(%person.flags & $PERSON_IGNORE)) + { + // Set vars and notify the responder + $IRCClient::invitechannel = %channel; + $IRCClient::inviteperson = IRCClient::displayNick(%p); + IRCClient::notify(IDIRC_INVITED); + } + } +} +//------------------------------------------------------------------------------ +function IRCClient::onInviteReply(%prefix,%params) +{ + %params = nextToken(%params,me," "); + %params = nextToken(%params,person," "); + %params = nextToken(%params,channel," "); + %p = IRCClient::findPerson(%person); + + IRCClient::newMessage($IRCClient::currentChannel,"You have invited" SPC IRCClient::taggedNick(%p) SPC "to channel" SPC IRCClient::displayChannel(%channel) @ "."); +} + +//------------------------------------------------------------------------------ +function IRCClient::onChannelBanned(%prefix,%params) +{ + %channel = nextToken(%params,channel," "); + nextToken(%channel,channel," "); + + IRCClient::connected(); + //IRCClient::statusMessage("Cannot join " @ %channel @ ": you have been banned."); + MessageBoxOk("Banned", "Cannot join " @ IRCClient::displayChannel(%channel) @ ". You have been banned."); + IRCClient::notify(IDIRC_BANNED_CH); +} + +//------------------------------------------------------------------------------ +function IRCClient::onServerBanned(%prefix,%params) +{ + $IRCClient::state = $IDIRC_DISCONNECTED; + + IRCClient::statusMessage("You have been banned from this server."); + MessageBoxOk("Server Ban", "You have been banned from this server."); + // IRCClient::notify(IDIRC_BANNED_SERVER); +} + +//------------------------------------------------------------------------------ +function IRCClient::onInvalidNick(%prefix,%params) +{ + $IRCClient::state = IDIRC_DISCONNECTED; + %params = nextToken(%params,name,":"); + IRCClient::newMessage("",%params); +} + +//------------------------------------------------------------------------------ +function IRCClient::onBadChannelKey(%prefix,%params) +{ + %channel = nextToken(%params,channel," "); + nextToken(%channel,channel," "); + + IRCClient::connected(); + IRCClient::statusMessage("Cannot join " @ IRCClient::displayChannel(%channel) @ ": invalid password."); + $IRCClient::keyChannel = %channel; + IRCClient::notify(IDIRC_CHANNEL_HAS_KEY); +} + +//------------------------------------------------------------------------------ +function IRCClient::onVersion(%prefix,%params) +{ + %time = getSimTime(); + + if ((%time - $IRCClient::lastVersioned) >= $VERSION_FLOOD_TIMEOUT) + { + $IRCClient::lastVersioned = %time; + + nextToken(%prefix,nick,"!"); + %params = nextToken(%params,msg,": "); + nextToken(%params,msg,"\x01"); + %p = IRCClient::findPerson(%nick); + if (%p && strlen(%msg)) + IRCClient::newMessage($IRCClient::currentChannel,%nick @ "'s version: " @ %msg @ "."); + else + IRCClient::send("NOTICE " @ %prefix @ " :\x01VERSION " @ $VERSION_STRING @ "\x01"); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onChallenge(%prefix,%params) +{ + %params = nextToken(%params,challenge," "); + %me = $IRCClient::people.getObject(0); + IRCClient::newMessage("","Received WON authentication challenge"); + %response = WONLoginIRC(%challenge); + if (strcmp(%challenge,"ERROR")) + IRCClient::send("CHALRESP " @ %response); + else + IRCClient::notify(IDIRC_ERR_BADCHALLENGE); +} + +//------------------------------------------------------------------------------ +function IRCClient::onChalRespReply(%prefix,%params) +{ + %params = nextToken(%params,nick," "); + %params = nextToken(%params,ident," "); + %params = nextToken(%params,reply," "); + %me = $IRCClient::people.getObject(0); + %me.displayName = %nick; + IRCClient::setIdentity(%me,%ident @ "@localhost"); + if (WONLoginIRC(%reply) $= "OK") + { + if ($IRCClient::state !$= IDIRC_CONNECTED) + { + IRCClient::newMessage("","Successfully connected to " @ $IRCClient::server); + $IRCClient::state = IDIRC_CONNECTED; + IRCClient::notify(IDIRC_CONNECTED); + + if ($IRCClient::awaytimeout) + cancel($IRCClient::awaytimeout); + $IRCClient::awaytimeout = schedule($AWAY_TIMEOUT,0,"ChatAway_Timeout"); + // auto join a room if requested + if (strlen($IRCClient::room)) + IRCClient::send("JOIN " @ $IRCClient::room); + + if ($IRCClient::previousChannelCount > 0) + { + for (%i = 0; %i < $IRCClient::previousChannelCount; %i++) + IRCClient::join($IRCClient::previousChannel[%i] @ " " @ $IRCClient::previousKey[%i]); + $IRCClient::previousChannelCount = 0; + } + } + else + { + IRCClient::newMessage("","Successfully reauthenticated with " @ $IRCClient::server); + IRCClient::correctNick($IRCClient::people.getObject(0)); + } + } + else + { + IRCClient::disconnect(); + IRCClient::notify(IDIRC_ERR_BADCHALRESP_REPLY); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::send2(%message,%to) +{ + if ((strcmp($IRCCLient::state,IDIRC_CONNECTING_IRC) && strcmp($IRCClient::state,IDIRC_CONNECTED)) || + !strlen(%message)) + return; + + if (getSubStr(%message,0,1) $= "/") + { + %buffer = getSubStr(%message,1,strlen(%message)-1); + %params = nextToken(%buffer,command," "); + + // dispatch the command to a handler -- if one exists + // we don't need to handle all outgoing commands just a few + switch$(%command) + { + case "PING": + IRCClient::ping(%params); + case "PART": + IRCClient::part(%params); + case "AWAY": + IRCClient::away(%params); + case "ME": + IRCClient::sendAction(%params); + case "ACTION": + IRCClient::sendAction(%params); + case "JOIN": + IRCClient::join(%params); + case "QUIT": + IRCClient::quit(%params); + + default: + // otherwise ship it to the server, RAW + IRCClient::send(getSubStr(%message,1,strlen(%message)-1)); + } + } + else + if (strlen(%to)) + { + IRCClient::send("PRIVMSG " @ %to @ " :" @ %message); + %c = IRCClient::findChannel(%to); + if (%c) + { + %me = $IRCClient::people.getObject(0); + IRCClient::newMessage(%c,IRCClient::taggedNick(%me) @ ": " @ %message); + } + } + else + if (strcmp($IRCClient::currentChannel.getName(),$CHANNEL_STATUS)) + { + IRCClient::send("PRIVMSG " @ $IRCClient::currentChannel.getName() @ " :" @ %message); + %me = $IRCClient::people.getObject(0); + IRCClient::newMessage($IRCClient::currentChannel,IRCClient::taggedNick(%me) @ ": " @ %message); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::sendAction(%message) +{ + if (($IRCClient::state != $IDIRC_CONNECTING_IRC && $IRCClient::state != $IDIRC_CONNECTED) || + !strlen(%message)) + return; + + if (getSubStr(%message,0,1) $= "/") + IRCClient::send2(%message,""); + else + { + IRCClient::send("PRIVMSG " @ $IRCClient::currentChannel.getName() @ " :\x01ACTION " @ %message @ "\x01"); + %me = $IRCClient::people.getObject(0); + IRCClient::newMessage($IRCClient::currentChannel, IRCClient::taggedNick(%me) @ "\c9 " @ %message); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::join(%params) +{ + %tmp = nextToken(%params,channel," "); + nextToken(%tmp,key," "); + + // Only allow one channel / key combination at a time - no + // comma delimiting + nextToken(%channel,channel,","); + nextToken(%key,key,","); + + %c = IRCClient::findChannel(%channel); + if (%c) + { + $IRCClient::nextChannel = %c; + IRCClient::notify(IDIRC_ADDCHANNEL); + } + else + { + $IRCClient::key = %key; + + IRCClient::send("JOIN " @ %channel @ " " @ %key); + IRCClient::connecting(); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::quit(%params) +{ + IRCClient::send("QUIT"); + + IRCClient::disconnect(); +} + +//------------------------------------------------------------------------------ +function IRCClient::nick(%nick) +{ + if (($IRCClient::state $= IDIRC_CONNECTED || $IRCClient::state $= IDIRC_CONNECTING_IRC) && + strlen(nick)) + { + if (stricmp(%nick, $IRCClient::people.getObject(0).getName())) + IRCClient::send("NICK " @ %nick); + } + else + { + $IRCClient::people.getObject(0).setName(%nick); + $IRCClient::NickName = %nick; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::name(%name) +{ + $IRCClient::people.getObject(0).real = %name; +} + +//-------------------------------------------------------------------------------- +function ChatMessageEntry::onTabComplete(%this) +{ + // the word that the cursor is on or just behind + // and exchange it for a matching nick from this channel + + //%channel = $IRCClient::channels.getObject(0); + %me = $IRCClient::people.getObject(0); + + // if there is no text just iterate through the channel members + + %text = %this.getValue(); + + if(%text $= "") + { + error("null string completion not implemented yet."); + return; + } + + %cursorPos = %this.getCursorPos(); + %textLen = strLen(%text); + + // find the first space behind the cursor + for(%a = %cursorPos; %a >= 0; %a--) + { + %letter = getSubStr(%text, %a, 1); + if(%letter $= " ") + { + %space = %a + 1; // add 1 so we dont INCLUDE the space + %begining = %space; + //echo("first space is at pos" SPC %begining); + break; + } + if(%a == 0) + { + //echo("there are no prev spaces."); + %begining = 0; + } + } + + // find the first space in front of the cursor + for(%b = %cursorPos; %b <= %textLen; %b++) + { + %letter = getSubStr(%text, %b, 1); + if(%letter $= " ") + { + %end = %b; + //echo("end space is at pos" SPC %end); + + break; + } + if(%b == %textLen) + { + //echo("there are no end spaces."); + %end = %textLen; + } + + } + + //why dont we move the cursor to the end of the word if they try and tab complete + //successfull or not + %this.setCursorPos(%b); + + // this forms a word + %wordLen = %end - %begining; + %word = getSubStr(%text, %begining, %wordLen); + //error("Word to tabComplete: "@%word@"."); + + //we interupt here + // if we have the last word we tab completed then we are trying to cycle + // we want to cycle with the stem of the last word we completed from + // so we use the stem instead of the word + if(%word $= %me.lastCompletion) + { + %word = %me.lastCompletionStub; + %wordLen = strLen(%word); + } + + // is it a tab-completable word? + for (%i = 0; %i < $IRCClient::people.getCount(); %i++) + { + %person = $IRCClient::people.getObject(%i); + if(%person.untagged !$= "") + %personName = %person.untagged; + else %personName = %person; + + %personSnip = getSubStr(%personName, 0, %wordLen); + + if(%personSnip $= %word) + { + %nickPossiblity[%numMatches++] = %personName; + } + } + + if(!%numMatches) + { + //error("no matches...sorry."); + return; + } + + // we have ALL the possible tab completes for the word + // if we have just tab completed on of them give us the next one instead + // cycle through the possiblities + + for(%i = 1; %i <= %numMatches; %i++) + { + if(%nickPossiblity[%i] $= %me.lastCompletion) + { + %newWord = %nickPossiblity[%i+1]; + break; + } + } + if(%newWord $= "" ) + %newWord = %nickPossiblity1; + + %newWordLenDif = strLen(%newWord) - strLen(%word); + + if(%newWord $= "") + { + //error("There is no word to tab complete"); + return -1; + } + + // there is a word (%newWord) find out which word it is + for(%i = 0; %i < getWordCount(%text); %i++) + { + %wordCheck = getWord(%text, %i); + //echo("is this word our candidate? "@%wordCheck); + if(%wordCheck $= %word) + { + %wordNum = %i; + } + //what if there are multiple instances of this word? + } + + // replace the word with the new word and move the cursor + + for(%x = 0; %x < getWordCount(%text); %x++) + { + %thisWord = getWord(%text, %x); + + if(%wordNum == %x) + { + %thisWord = %newWord; + } + + if(%newText $= "") + %newText = %thisWord; + else %newText = %newText SPC %thisWord; + } + + %this.setCursorPos( %this.getCursorPos() + %newWordLenDif -1 ); + + // replace what the current text is, with new text + %this.setValue(%newText); + + %me.lastCompletion = %newWord; + %me.lastCompletionStub = %word; +} + +//---------------------------------------------------------------------- +function IRCClient::nickHighLight(%message) +{ + //error("IRCClient::nickHighLight( "@%message@" )"); + %nick = $IRCClient::people.getObject(0).untagged; + + //%nickLen = strLen(%nick); + // swap in for multiple nick options here + + %wordCount = getWordCount(%message); + for(%i = 0; %i < %wordCount; %i++) + { + %word = getWord(%message, %i); + if(%word $= %nick) + { + %message = "\c2" @ %message; + } + } + return %message; +} +//------------------------------------------------------------------------------ +function IRCClient::onInstantMsg(%prefix,%params) +{ + // Find or create the person (should never be NULL) + %p = IRCClient::findPerson2(%prefix,true); + if (%p) + { + %params = nextToken(%params,channel,":"); + %channel = %params; + + // Only bother the user if they aren't ignoring this person + if (!(%person.flags & $PERSON_IGNORE)) + { + // Set vars and notify the responder + $IRCClient::inviteperson = IRCClient::displayNick(%p); + IRCClient::notify(IDIRC_INSTANT); + } + } +} +//------------------------------------------------------------------------------ +function IRCClient::instant(%p,%c) +{ + IRCClient::send("INSTANT" SPC %p.displayName SPC 0); +} +//------------------------------------------------------------------------------ +function IRCClient::part(%params) +{ + nextToken(%params,ch," "); + if (%ch $= $CHANNEL_STATUS) + return; + + %c = IRCClient::findChannel(%ch); + if (%c) + for (%i = 0; %i < $IRCClient::channels.getCount(); %i++) + if ($IRCClient::channels.getObject(%i) == %c) + { + if (getSubStr(%ch,0,1) $= "#" || getSubStr(%ch,0,1) $= "&") + IRCClient::send("PART " @ %params); + else + { + $IRCClient::channels.remove(%c); + for (%i = 0; %i < %c.numMembers(); %i++) + { + %m = %c.getMemberId(%i); + %m.ref--; + if (%m.ref == 0) + { + $IRCClient::people.remove(%m); + %m.delete(); + } + else + if (%m != $IRCClient::people.getObject(0) && + (%m.flags & $PERSON_AWAY)) + %m.flags = %m.flags & ~$PERSON_AWAY; + } + %c.delete(); + $IRCClient::deletedChannel = %c; + if ($IRCClient::currentChannel == %c) + $IRCClient::nextChannel = $IRCClient::channels.getObject(0); + + IRCClient::notify(IDIRC_DELCHANNEL); + } + + break; + } +} + +//------------------------------------------------------------------------------ +function IRCClient::away(%params) +{ + %me = $IRCClient::people.getObject(0); + if (strlen(%params)) + { + if ($IRCClient::awaytimeout) + { + cancel($IRCClient::awaytimeout); + $IRCClient::awaytimeout = 0; + } + %me.flags = %me.flags | $PERSON_AWAY; + IRCClient::send("AWAY :" @ %params); + for (%i = 1; %i < $IRCClient::channels.getCount(); %i++) + { + %c = $IRCClient::channels.getObject(%i); + if (%c.private) + IRCClient::send("PRIVMSG " @ %c.getName() @ " :\x01AWAY :" @ %params @ "\x01"); + } + } + else + { + %me.flags = %me.flags & ~$PERSON_AWAY; + IRCClient::send("AWAY"); + for (%i = 1; %i < $IRCClient::channels.getCount(); %i++) + { + %c = $IRCClient::channels.getObject(%i); + if (%c.private) + IRCClient::send("PRIVMSG " @ %c.getName() @ " :\x01AWAY \x01"); + } + + } + IRCClient::notify(IDIRC_SORT); +} + +//------------------------------------------------------------------------------ +function IRCClient::ping(%params) +{ + %params = nextToken(%params,nick," "); + while (strlen(%nick)) + { + %p = IRCClient::findPerson(%nick); + if (%p) + { + %p.ping = GetSimTime(); + IRCClient::send("PRIVMSG " @ %nick @ " :\x01PING 0\x01"); + } + %params = nextToken(%params,nick," "); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::setOperator(%p) +{ + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " +o " @ %p.displayName); +} + +//------------------------------------------------------------------------------ +function IRCClient::setSpeaker(%nick) +{ + if (strcmp($IRCClient::currentChannel.getName(),$CHANNEL_STATUS)) + { + %i = $IRCClient::currentChannel.findMember(%nick); + + if (%i != -1) + { + if ($IRCClient::currentChannel.getFlags(%i) & $PERSON_OPERATOR) + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " -o " @ %nick); + + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " +v " @ %nick); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::setSpectator(%nick) +{ + if (strcmp($IRCClient::currentChannel.getName(),$CHANNEL_STATUS)) + { + %i = $IRCClient::currentChannel.findMember(%nick); + + if (%i != -1) + { + if ($IRCClient::currentChannel.getFlags(%i) & $PERSON_OPERATOR) + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " -o " @ %nick); + if ($IRCClient::currentChannel.getFlags(%i) & $PERSON_SPEAKER) + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " -v " @ %nick); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::kick(%p,%msg) +{ + //error("IRCClient::kick( "@ %p @", "@ %msg@" )"); + IRCClient::send("KICK" SPC $IRCClient::currentChannel.getName() SPC %p.displayName @ " :" @ %msg); +} + +//------------------------------------------------------------------------------ +function IRCClient::ban(%p,%add) +{ + if (%add) + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " +b " @ %p.displayName); + else + IRCClient::send("MODE " @ $IRCClient::currentChannel.getName() @ " -b " @ %p.displayName); +} + +//------------------------------------------------------------------------------ +function IRCClient::ignore(%p,%tf) +{ + if ($IRCClient::currentChannel.getName() $= $CHANNEL_STATUS) + { + echo("IRCClient::ignore: no current channel."); + + return; + } + + if (%p) + { + if (%tf) + { + %p.flags = %p.flags | $PERSON_IGNORE; + IRCClient::newMessage("","You are now ignoring " @ IRCClient::taggedNick(%p) @ "."); + } + else + { + %p.flags = %p.flags & ~$PERSON_IGNORE; + IRCClient::newMessage("","You are no longer ignoring " @ IRCClient::taggedNick(%p) @ "."); + } + IRCClient::notify(IDIRC_SORT); + } + else + { + echo("not P:" @ %p TAB %tf); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::invite(%p,%c) +{ + IRCClient::send("INVITE" SPC %p.displayName SPC %c.getName()); +} + +//------------------------------------------------------------------------------ +function IRCClient::who(%p) +{ + IRCClient::connecting(); + IRCClient::send("WHO" SPC %p.displayName); +} + +//------------------------------------------------------------------------------ +function IRCClient::whois(%p) +{ + IRCClient::connecting(); + IRCClient::send("WHOIS" SPC %p.displayName); +} + +//------------------------------------------------------------------------------ +function IRCClient::topic(%c,%t) +{ + IRCClient::send("TOPIC" SPC %c.getName() SPC ":" @ %t); +} + +//------------------------------------------------------------------------------ +function IRCClient::setInvite(%c,%i) +{ + if (%i) + IRCClient::send("MODE" SPC %c.getName() SPC "+i"); + else + IRCClient::send("MODE" SPC %c.getName() SPC "-i"); +} + +//------------------------------------------------------------------------------ +function IRCClient::setModerate(%c,%m) +{ + if (%m) + IRCClient::send("MODE" SPC %c.getName() SPC "+m"); + else + IRCClient::send("MODE" SPC %c.getName() SPC "-m"); +} + +//------------------------------------------------------------------------------ +function IRCClient::setLimit(%c,%l,%m) +{ + if (%l) + IRCClient::send("MODE" SPC %c.getName() SPC "+l" SPC %m); + else + IRCClient::send("MODE" SPC %c.getName() SPC "-l"); +} + +//------------------------------------------------------------------------------ +function IRCClient::setKey(%c,%k,%p) +{ + if (%k) + IRCClient::send("MODE" SPC %c.getName() SPC "+k" SPC %p); + else + IRCClient::send("MODE" SPC %c.getName() SPC "-k"); +} + +//------------------------------------------------------------------------------ +function IRCClient::requestChannelList() +{ + // clear the global channel List + $IRCClient::numChannels = 0; + + $IRCClient::silentList = true; + IRCClient::send("LIST"); + IRCClient::connecting(); +} + +//------------------------------------------------------------------------------ +function IRCClient::requestBanList(%c) +{ + // clear the global banned list + $IRCClient::banChannel = %c; + $IRCClient::numBanned = 0; + + $IRCClient::silentBanList = true; + IRCClient::send("MODE " @ %c.getName() @ " +b"); + IRCClient::connecting(); +} + +//------------------------------------------------------------------------------ +function IRCClient::onJoinServer(%mission,%server,%address,%mayprequire,%prequire) +{ + // server and address are required, and we have to be connected + if (strlen(%server) && strlen(%address) && $IRCClient::state == $IDIRC_CONNECTED) + { + %buf = "left to play " @ %mission @ " on server " @ %server @ " [" @ %address @ ":" @ %mayprequire @ %prequire @ "]"; + + IRCClient::send("PRIVMSG " @ $IRCClient::currentChannel.getName() @ ":\x01ACTION " @ %buf @ "\x01"); + IRCClient::newMessage($IRCClient::currentChannel, + IRCClient::taggedNick($IRCClient::people.getObject(0)) @ " " @ %buf); + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onJoinGame(%address, %desc) +{ + if(!isObject($IRCClient::tcp)) + return; + + //error("IRCClient::onJoinGame( "@ %address @", "@ %desc @" )"); + //IRCClient::away("joined a game."); + + %me = $IRCClient::people.getObject(0); + if(%address $= %me.lastAddress) + { + return; + } + + %me.lastAddress = %address; + + %joinLink = "Click here to follow."; + + if(%address $= "") + %msg = %desc; + else + %msg = %desc SPC %joinLink; + + //IRCClient::sendAction(%msg); + + for (%i = 1; %i < $IRCClient::channels.getCount(); %i++) + { + %c = $IRCClient::channels.getObject(%i); + if (!%c.private) + { + IRCClient::send("PRIVMSG " @ %c.getName() @ " :\x01ACTION " @ %msg @ "\x01"); + IRCClient::newMessage($IRCClient::currentChannel, IRCClient::taggedNick($IRCClient::people.getObject(0)) @ "\c9 " @ %msg); + } + } +} + +//------------------------------------------------------------------------------ +function IRCClient::onLeaveGame() +{ + IRCClient::away(""); +} + +if ($LaunchMode $= "Normal") +{ + IRCClient::init(); + IRCClient::connect(); +} + +//------------------------------------------------------------------------------ +function WelcomeHeadlines::onSelect( %this, %id, %text ) +{ + WelcomeText.scrollToTag( %id ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/ChooseFilterDlg.cs b/public/base/@vl2/scripts.vl2/scripts/ChooseFilterDlg.cs new file mode 100644 index 00000000..63421978 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/ChooseFilterDlg.cs @@ -0,0 +1,433 @@ +//------------------------------------------------------------------------------ +// +// ChooseFilterDlg.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::onWake( %this ) +{ + CF_FilterList.clear(); + CF_FilterList.addRow( 0, "All servers" ); + CF_FilterList.addRow( 1, "Servers with buddies" ); + CF_FilterList.addRow( 2, "Favorites only" ); + for ( %i = 0; $pref::ServerBrowser::Filter[%i] !$= ""; %i++ ) + CF_FilterList.addRow( %i + 3, $pref::ServerBrowser::Filter[%i] ); + + if ( $pref::ServerBrowser::activeFilter >= %i + 3 ) + $pref::ServerBrowser::activeFilter = 0; + + CF_FilterList.setSelectedById( $pref::ServerBrowser::activeFilter ); + + CF_GoBtn.makeFirstResponder( 1 ); +} + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::onSleep( %this ) +{ + // export out all the filters... + %count = CF_FilterList.rowCount(); + for ( %row = 3; %row < %count; %row++ ) + $pref::ServerBrowser::Filter[%row - 3] = CF_FilterList.getRowText( %row ); +} + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::newFilter( %this ) +{ + // get an updated list of game types: + queryMasterGameTypes(); + %this.editFilterIndex = CF_FilterList.rowCount(); + + FilterEditName.setValue( "New Filter" ); + FilterEditGameType.setText( "Any" ); + FilterEditMissionType.setText( "Any" ); + FilterEditMinPlayers.setValue( 0 ); + FilterEditMaxPlayers.setValue( 255 ); + FilterEditMaxBots.setValue( 16 ); + FilterEditMinCPU.setValue( 0 ); + FilterEditUsePingTgl.setValue( false ); + FilterEditMaxPing.setValue( 50 ); + FilterEditMaxPing.setVisible( false ); + FilterEditTDOnTgl.setValue( false ); + FilterEditTDOffTgl.setValue( false ); + FilterEditWindowsTgl.setValue( false ); + FilterEditLinuxTgl.setValue( false ); + FilterEditDedicatedTgl.setValue( false ); + FilterEditNoPwdTgl.setValue( false ); + FilterEditCurVersionTgl.setValue( false ); + for ( %i = 0; isObject( "FilterEditLocMask" @ %i ); %i++ ) + ( "FilterEditLocMask" @ %i ).setValue( true ); + + Canvas.pushDialog( FilterEditDlg ); +} + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::editFilter( %this ) +{ + %rowId = CF_FilterList.getSelectedId(); + if ( %rowId < 3 ) // can't edit default filters + return; + + // get an updated list of game types: + queryMasterGameTypes(); + %rowText = CF_FilterList.getRowTextById( %rowId ); + %filterName = getField( %rowText, 0 ); + %gameType = getField( %rowText, 1 ); + if ( %gameType $= "" ) + %gameType = "Any"; + %misType = getField( %rowText, 2 ); + if ( %misType $= "" ) + %misType = "Any"; + %minPlayers = getField( %rowText, 3 ); + if ( %minPlayers $= "" ) + %minPlayers = 0; + %maxPlayers = getField( %rowText, 4 ); + if ( %maxPlayers $= "" ) + %maxPlayers = 255; + %regionCode = getField( %rowText, 5 ); + if ( %regionCode $= "" ) + %regionCode = 4294967295; + %maxPing = getField( %rowText, 6 ); + %maxBots = getField( %rowText, 7 ); + if ( %maxBots $= "" ) + %maxBots = 16; + %minCPU = getField( %rowText, 8 ); + if ( %minCPU $= "" ) + %minCPU = 0; + %flags = getField( %rowText, 9 ); + + FilterEditName.setValue( %filterName ); + FilterEditMinPlayers.setValue( %minPlayers ); + FilterEditMaxPlayers.setValue( %maxPlayers ); + FilterEditGameType.setText( %gameType ); + FilterEditMissionType.setText( %misType ); + %index = 0; + while ( isObject( "FilterEditLocMask" @ %index ) ) + { + ( "FilterEditLocMask" @ %index ).setValue( %regionCode & 1 ); + %index++; + %regionCode >>= 1; + } + + if ( %maxPing == 0 ) + { + FilterEditUsePingTgl.setValue( false ); + FilterEditMaxPing.setValue( 50 ); + FilterEditMaxPing.setVisible( false ); + } + else + { + FilterEditUsePingTgl.setValue( true ); + FilterEditMaxPing.setValue( %maxPing ); + FilterEditMaxPing.setVisible( true ); + } + + FilterEditMaxBots.setValue( %maxBots ); + FilterEditMinCPU.setValue( %minCPU ); + if ( %flags & 8 ) + { + FilterEditWindowsTgl.setValue( true ); + FilterEditLinuxTgl.setValue( false ); + } + else + { + FilterEditWindowsTgl.setValue( false ); + FilterEditLinuxTgl.setValue( %flags & 4 ); + } + + if ( %flags & 16 ) + { + FilterEditTDOnTgl.setValue( true ); + FilterEditTDOffTgl.setValue( false ); + } + else + { + FilterEditTDOnTgl.setValue( false ); + FilterEditTDOffTgl.setValue( %flags & 32 ); + } + + FilterEditDedicatedTgl.setValue( %flags & 1 ); + FilterEditNoPwdTgl.setValue( %flags & 2 ); + FilterEditCurVersionTgl.setValue( %flags & 128 ); + + %this.editFilterIndex = %rowId; + Canvas.pushDialog( FilterEditDlg ); +} + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::saveFilter( %this ) +{ + %filterName = FilterEditName.getValue(); + %gameType = FilterEditGameType.getText(); + %misType = FilterEditMissionType.getText(); + %minPlayers = FilterEditMinPlayers.getValue(); + %maxPlayers = FilterEditMaxPlayers.getValue(); + %regionCode = 0; + for ( %i = 0; isObject( "FilterEditLocMask" @ %i ); %i++ ) + { + if ( ( "FilterEditLocMask" @ %i ).getValue() ) + %regionCode |= ( 1 << %i ); + } + %maxPing = FilterEditUsePingTgl.getValue() ? FilterEditMaxPing.getValue() : 0; + %maxBots = FilterEditMaxBots.getValue(); + %minCPU = FilterEditMinCPU.getValue(); + %flags = FilterEditDedicatedTgl.getValue() + | ( FilterEditNoPwdTgl.getValue() << 1 ) + | ( FilterEditLinuxTgl.getValue() << 2 ) + | ( FilterEditWindowsTgl.getValue() << 3 ) + | ( FilterEditTDOnTgl.getValue() << 4 ) + | ( FilterEditTDOffTgl.getValue() << 5 ) + | ( FilterEditCurVersionTgl.getValue() << 7 ); + %row = %filterName TAB %gameType TAB %misType + TAB %minPlayers TAB %maxPlayers TAB %regionCode + TAB %maxPing TAB %maxBots TAB %minCPU TAB %flags; + + CF_FilterList.setRowById( %this.editFilterIndex, %row ); + CF_FilterList.setSelectedById( %this.editFilterIndex ); + %this.editFilterIndex = ""; + Canvas.popDialog( FilterEditDlg ); +} + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::deleteFilter( %this ) +{ + %rowId = CF_FilterList.getSelectedId(); + if ( %rowId < 3 ) // can't delete default filters + return; + + %row = CF_FilterList.getRowNumById( %rowId ); + %lastFilter = CF_FilterList.rowCount() - 4; + + while ( ( %nextRow = CF_FilterList.getRowTextById( %rowId + 1 ) ) !$= "" ) + { + CF_FilterList.setRowById( %rowId, %nextRow ); + %rowId++; + } + CF_FilterList.removeRowById( %rowId ); + + // Get rid of the last filter (now extra): + $pref::ServerBrowser::Filter[%lastFilter] = ""; + + // Select next (or failing that, previous) filter: + if ( CF_FilterList.getRowTextById( %row ) $= "" ) + %selId = CF_FilterList.getRowId( %row - 1 ); + else + %selId = CF_FilterList.getRowId( %row ); + + CF_FilterList.setSelectedById( %selId ); +} + +//------------------------------------------------------------------------------ +function ChooseFilterDlg::go( %this ) +{ + Canvas.popDialog( ChooseFilterDlg ); + GMJ_Browser.runQuery(); +} + +//------------------------------------------------------------------------------ +function CF_FilterList::onSelect( %this, %id, %text ) +{ + // Let the user know they can't edit or delete the default filters: + if ( %id < 3 ) + { + CF_EditFilterBtn.setActive( false ); + CF_DeleteFilterBtn.setActive( false ); + } + else + { + CF_EditFilterBtn.setActive( true ); + CF_DeleteFilterBtn.setActive( true ); + } + $pref::ServerBrowser::activeFilter = %id; +} + +//------------------------------------------------------------------------------ +function FilterEditDlg::setMinPlayers( %this ) +{ + %newMin = FilterEditMinPlayers.getValue(); + if ( %newMin < 0 ) + { + %newMin = 0; + FilterEditMinPlayers.setValue( %newMin ); + } + else if ( %newMin > 254 ) + { + %newMin = 254; + FilterEditMinPlayers.setValue( %newMin ); + } + + %newMax = FilterEditMaxPlayers.getValue(); + if ( %newMax <= %newMin ) + { + %newMax = %newMin + 1; + FilterEditMaxPlayers.setValue( %newMax ); + } +} + +//------------------------------------------------------------------------------ +function FilterEditDlg::setMaxPlayers( %this ) +{ + %newMax = FilterEditMaxPlayers.getValue(); + if ( %newMax < 1 ) + { + %newMax = 1; + FilterEditMaxPlayers.setValue( %newMax ); + } + else if ( %newMax > 255 ) + { + %newMax = 255; + FilterEditMaxPlayers.setValue( %newMax ); + } + + %newMin = FilterEditMinPlayers.getValue(); + if ( %newMin >= %newMax ) + { + %newMin = %newMax - 1; + FilterEditMinPlayers.setValue( %newMin ); + } +} + +//------------------------------------------------------------------------------ +function FilterEditDlg::setMaxBots( %this ) +{ + %newMax = FilterEditMaxBots.getValue(); + if ( %newMax < 0 ) + { + %newMax = 0; + FilterEditMaxBots.setValue( %newMax ); + } + else if ( %newMax > 16 ) + { + %newMax = 16; + FilterEditMaxBots.setValue( %newMax ); + } +} + +//------------------------------------------------------------------------------ +function FilterEditUsePingTgl::onAction( %this ) +{ + FilterEditMaxPing.setVisible( %this.getValue() ); +} + +//------------------------------------------------------------------------------ +function FilterEditDlg::setMaxPing( %this ) +{ + %newMax = FilterEditMaxPing.getValue(); + if ( %newMax < 10 ) + { + %newMax = 10; + FilterEditMaxPing.setValue( %newMax ); + } +} + +//------------------------------------------------------------------------------ +function FilterEditDlg::setMinCPU( %this ) +{ + %newMin = FilterEditMinCPU.getValue(); + if ( %newMin < 0 ) + { + %newMin = 0; + FilterEditMinCPU.setValue( %newMin ); + } +} + +//------------------------------------------------------------------------------ +function clearGameTypes() +{ + %text = FilterEditGameType.getText(); + FilterEditGameType.clear(); + FilterEditGameType.add( "Any", 0 ); + FilterEditGameType.add( "base", 1 ); + FilterEditGameType.add( "variant", 2 ); + FilterEditGameType.setText( %text ); +} + +//------------------------------------------------------------------------------ +function addGameType( %type ) +{ + if ( FilterEditGameType.findText( %type ) == -1 ) + { + %id = FilterEditGameType.size(); + FilterEditGameType.add( %type, %id ); + } +} + +//------------------------------------------------------------------------------ +function clearMissionTypes() +{ + %text = FilterEditMissionType.getText(); + FilterEditMissionType.clear(); + FilterEditMissionType.add( "Any", 0 ); + FilterEditMissionType.setText( %text ); + + // Add all the mission types found on this machine: + for ( %i = 0; %i < $HostTypeCount; %i++ ) + FilterEditMissionType.add( $HostTypeDisplayName[%i], %i + 1 ); +} + +//------------------------------------------------------------------------------ +function addMissionType(%type) +{ + if ( %type !$= "" && FilterEditMissionType.findText( %type ) == -1 ) + { + %id = FilterEditMissionType.size(); + FilterEditMissionType.add( %type, %id ); + } +} + +//------------------------------------------------------------------------------ +function sortGameAndMissionTypeLists() +{ + FilterEditGameType.sort( true, 3 ); + %idx = FilterEditGameType.findText( FilterEditGameType.getText() ); + if ( %idx > -1 ) + FilterEditGameType.setSelected( %idx ); + FilterEditMissionType.sort( true, 1 ); + %idx = FilterEditMissionType.findText( FilterEditMissionType.getText() ); + if ( %idx > -1 ) + FilterEditMissionType.setSelected( %idx ); +} + +//------------------------------------------------------------------------------ +function FilterEditTDOnTgl::onAction( %this ) +{ + if ( %this.getValue() && FilterEditTDOffTgl.getValue() ) + FilterEditTDOffTgl.setValue( false ); +} + +//------------------------------------------------------------------------------ +function FilterEditTDOffTgl::onAction( %this ) +{ + if ( %this.getValue() && FilterEditTDOnTgl.getValue() ) + FilterEditTDOnTgl.setValue( false ); +} + +//------------------------------------------------------------------------------ +function FilterEditWindowsTgl::onAction( %this ) +{ + if ( %this.getValue() && FilterEditLinuxTgl.getValue() ) + FilterEditLinuxTgl.setValue( false ); +} + +//------------------------------------------------------------------------------ +function FilterEditLinuxTgl::onAction( %this ) +{ + if ( %this.getValue() && FilterEditWindowsTgl.getValue() ) + FilterEditWindowsTgl.setValue( false ); +} + +//------------------------------------------------------------------------------ +// Make sure we still have at least one region selected: +function FilterEditDlg::checkRegionMasks( %this, %lastIndex ) +{ + %index = 0; + while ( isObject( "FilterEditLocMask" @ %index ) ) + { + if ( ( "FilterEditLocMask" @ %index ).getValue() ) + return; + %index++; + } + + // None are selected, so reselect the last control: + ( "FilterEditLocMask" @ %lastIndex ).setValue( true ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/CnHGame.cs b/public/base/@vl2/scripts.vl2/scripts/CnHGame.cs new file mode 100644 index 00000000..303cbb17 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/CnHGame.cs @@ -0,0 +1,466 @@ +// DisplayName = Capture and Hold + +//--- GAME RULES BEGIN --- +//Teams try to capture marked objectives +//Capturing player gets a point 12 seconds after a capture +//Hold objectives in order to score +//A team scores 2 points per second it holds an objective +//Turrets and inventory stations convert when their switch is taken +//--- GAME RULES END --- + +//exec the AI scripts +exec("scripts/aiCnH.cs"); + +package CnHGame { + +function FlipFlop::playerTouch(%data, %flipflop, %player) +{ + if(%flipflop.team != %player.client.team) + { + Parent::playerTouch(%data, %flipflop, %player); + Game.startTimerPlayerFFCap(%player.client, %flipflop); + } +} + +function Flipflop::objectiveInit(%data, %flipflop) +{ + %flipflop.tCapThread = ""; + %flipflop.tHoldThread = ""; + %flipflop.pCapThread = ""; + Parent::objectiveInit(%data, %flipflop); +} + +}; + + +//--------- CnH SCORING INIT ------------------ +function CnHGame::initGameVars(%game) +{ + %game.SCORE_PER_SUICIDE = -1; + %game.SCORE_PER_TEAMKILL = -1; + %game.SCORE_PER_DEATH = -1; + + %game.SCORE_PER_KILL = 1; + %game.SCORE_PER_PLYR_FLIPFLOP_CAP = 1; + %game.SCORE_PER_TEAM_FLIPFLOP_CAP = 1; + %game.SCORE_PER_TEAM_FLIPFLOP_HOLD = 1; + + %game.SCORE_PER_TURRET_KILL = 1; + %game.SCORE_PER_FLIPFLOP_DEFEND = 1; + %game.SCORE_LIMIT_PER_TOWER = 1200; //default of 1200 points per tower required to win @ 1 pt per %game.TIME_REQ_TEAM_HOLD_BONUS milliseconds + + %game.TIME_REQ_PLYR_CAP_BONUS = 12 * 1000; //player must hold a switch 12 seconds to get a point for it. + %game.TIME_REQ_TEAM_CAP_BONUS = 12 * 1000; //time after touching it takes for team to get a point + %game.TIME_REQ_TEAM_HOLD_BONUS = 0.5 * 1000; //recurring time it takes team to earn a point when flipflop held + %game.RADIUS_FLIPFLOP_DEFENSE = 20; //meters +} + +function CnHGame::setUpTeams(%game) +{ + DefaultGame::setUpTeams(%game); + + // reset the visibility of team 0 (team is still defaulted as friendly) + setSensorGroupAlwaysVisMask(0, 0); +} + +//-- tracking --- +// .deaths .kills .suicides .teamKills .turretKills +// .flipFlopDefends .flipFlopsCapped + +function CnHGame::startMatch(%game) +{ + for(%i = 0; %i <= %game.numTeams; %i++) + $TeamScore[%i] = 0; + + DefaultGame::startMatch(%game); +} + +function CnHGame::checkScoreLimit(%game, %team) +{ + %scoreLimit = %game.getScoreLimit(); + if($TeamScore[%team] >= %scoreLimit) + %game.scoreLimitReached(); +} + +function CnHGame::getScoreLimit(%game) +{ + %scoreLimit = MissionGroup.CnH_scoreLimit; + if(%scoreLimit $= "") + %scoreLimit = %game.getNumFlipFlops() * %game.SCORE_LIMIT_PER_TOWER; + + return %scoreLimit; +} + +function CnHGame::scoreLimitReached(%game) +{ + logEcho("game over (scorelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function CnHGame::timeLimitReached(%game) +{ + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function CnHGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + // stop all bonus timers + %game.stopScoreTimers(); + + //send the winner message + %winner = ""; + if ($teamScore[1] > $teamScore[2]) + %winner = $teamName[1]; + else if ($teamScore[2] > $teamScore[1]) + %winner = $teamName[2]; + + if (%winner $= 'Storm') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" ); + else if (%winner $= 'Inferno') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" ); + else + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + } + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + $TeamScore[%team] = 0; + messageAll('MsgCnHTeamCap', "", -1, -1, -1, %team, $TeamScore[%team], %game.getScoreLimit()); + } +} + +function CnHGame::stopScoreTimers(%game) +{ + // find all switches and cancel any timers associated with them + %ffGroup = nameToId("MissionCleanup/FlipFlops"); + if(%ffGroup <= 0) + return; + + for(%i = 0; %i < %ffGroup.getCount(); %i++) + { + %curFF = %ffGroup.getObject(%i); + cancel(%curFF.tHoldThread); + cancel(%curFF.pCapThread); + cancel(%curFF.tCapThread); + } +} + +function CnHGame::clientMissionDropReady(%game, %client) +{ + messageClient(%client, 'MsgClientReady',"", %game.class); + %scoreLimit = %game.getScoreLimit(); + + for(%i = 1; %i <= %game.numTeams; %i++) + { + %teamHeld = %game.countFlipsHeld(%i); + messageClient(%client, 'MsgCnHAddTeam', "", %i, $TeamName[%i], $TeamScore[%i], %scoreLimit, %teamHeld); + } + + //%game.populateTeamRankArray(%client); + //messageClient(%client, 'MsgYourRankIs', "", -1); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function CnHGame::assignClientTeam(%game, %client, %respawn) +{ + DefaultGame::assignClientTeam(%game, %client, %respawn); + // if player's team is not on top of objective hud, switch lines + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); +} + +function CnHGame::getNumFlipFlops() +{ + %ffGroup = nameToID("MissionCleanup/FlipFlops"); + return %ffGroup.getCount(); +} + +function CnHGame::countFlipsHeld(%game, %team) +{ + %teamHeld = 0; + // count how many flipflops each team holds + %ffSet = nameToID("MissionCleanup/FlipFlops"); + if(%ffSet > 0) + { + %numFF = %ffSet.getCount(); + for(%j = 0; %j < %numFF; %j++) + { + %curFF = %ffSet.getObject(%j); + if(%curFF.team == %team) + %teamHeld++; + } + } + + return %teamHeld; +} + +function CnHGame::countFlips(%game) +{ + return true; +} + +function CnHGame::equip(%game, %player) +{ + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //%player.setArmor("Light"); + %player.setInventory(Blaster,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(TargetingLaser, 1); + %player.setInventory(Grenade,6); + %player.setInventory(Beacon, 3); + %player.setInventory(RepairKit,1); + %player.weaponCount = 3; + + %player.use("Blaster"); +} + +//--------------- Scoring functions ----------------- +function CnHGame::recalcScore(%game, %cl) +{ + %killValue = %cl.kills * %game.SCORE_PER_KILL; + %deathValue = %cl.deaths * %game.SCORE_PER_DEATH; + + if (%killValue - %deathValue == 0) + %killPoints = 0; + else + %killPoints = (%killValue * %killValue) / (%killValue - %deathValue); + + %cl.offenseScore = %killPoints; + %cl.offenseScore += %cl.suicides * %game.SCORE_PER_SUICIDE; //-1 + %cl.offenseScore += %cl.teamKills * %game.SCORE_PER_TEAMKILL; // -1 + %cl.offenseScore += %cl.flipFlopsCapped * %game.SCORE_PER_PLYR_FLIPFLOP_CAP; + + %cl.defenseScore = %cl.turretKills * %game.SCORE_PER_TURRET_KILL; // 1 + %cl.defenseScore += %cl.flipFlopDefends * %game.SCORE_PER_FLIPFLOP_DEFEND; + + %cl.score = mFloor(%cl.offenseScore + %cl.defenseScore); + //track switches held (not touched), switches defended, kills, deaths, suicides, tks + + %game.recalcTeamRanks(%cl); +} + +function CnHGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if(%game.testTurretKill(%implement)) //check for turretkill before awarded a non client points for a kill + { + %game.awardScoreTurretKill(%clVictim, %implement); + } + else if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %game.awardScoreKill(%clKiller); + %game.awardScoreDeath(%clVictim); + + //see if we were defending a flip flop + %flipflop = %game.testPlayerFFDefend(%clVictim, %clKiller); + if (isObject(%flipflop)) + %game.awardScorePlayerFFDefend(%clKiller, %flipflop); + } + else + { + if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + { + %game.awardScoreSuicide(%clVictim); + } + else + { + if (%game.testTeamKill(%clVictim, %clKiller)) //otherwise test for a teamkill + %game.awardScoreTeamKill(%clVictim, %clKiller); + } + } +} + +function CnHGame::testPlayerFFDefend(%game, %victimID, %killerID) +{ + if (!isObject(%victimId) || !isObject(%killerId) || %killerId.team <= 0) + return -1; + + //loop through the flipflops looking for one within range that belongs to the killer... + %ffGroup = nameToID("MissionCleanup/FlipFlops"); + for (%i = 0; %i < %ffGroup.getCount(); %i++) + { + %ffObj = %ffGroup.getObject(%i); + if (VectorDist(%ffObj.position, %victimID.plyrPointOfDeath) < %game.RADIUS_FLIPFLOP_DEFENSE) + { + if (%ffObj.team == %killerID.team) + return %ffObj; + } + } + + //none were found + return -1; +} + +function CnHGame::awardScorePlayerFFDefend(%game, %cl, %flipflop) +{ + %cl.flipFlopDefends++; + if (%game.SCORE_PER_FLIPFLOP_DEFEND != 0) + { + messageClient(%cl, 'msgFFDef', '\c0You received a %1 point bonus for defending %2.', %game.SCORE_PER_FLIPFLOP_DEFEND, %game.cleanWord(%flipflop.name)); +// messageTeamExcept(%cl, 'msgFFDef', '\c0Teammate %1 received a %2 point bonus for defending %3', %cl.name, %game.SCORE_PER_FLIPFLOP_DEFEND, %game.cleanWord(%flipflop.name)); + } + %game.recalcScore(%cl); +} + +function CnHGame::awardScorePlayerFFCap(%game, %cl, %this) +{ + if(!($missionRunning)) + return; + + %cl.flipFlopsCapped++; + if (%game.SCORE_PER_PLYR_FLIPFLOP_CAP != 0) + { + messageClient(%cl, 'msgFFDef', '\c0You received a %1 point bonus for holding the %2.', %game.SCORE_PER_PLYR_FLIPFLOP_CAP, %game.cleanWord(%this.name)); +// messageTeamExcept(%cl, 'msgFFDef', '\c0Teammate %1 received a %2 point bonus for holding the %3', %cl.name, %game.SCORE_PER_PLYR_FLIPFLOP_CAP, %game.cleanWord(%this.name)); + } + %game.recalcScore(%cl); +} + +function CnHGame::awardScoreTeamFFCap(%game, %team, %this) +{ + cancel(%this.tCapThread); + + if(!($missionRunning)) + return; + + $TeamScore[%team] +=%game.SCORE_PER_TEAM_FLIPFLOP_CAP; + %sLimit = %game.getScoreLimit(); + if (%game.SCORE_PER_TEAM_FLIPFLOP_CAP) + messageAll('MsgCnHTeamCap', "", -1, -1, -1, %team, $teamScore[%team], %sLimit); + if (%game.SCORE_PER_TEAM_FLIPFLOP_HOLD != 0) + %this.tHoldThread = %game.schedule(%game.TIME_REQ_TEAM_HOLD_BONUS, "awardScoreTeamFFHold", %team, %this); + + %game.checkScoreLimit(%team); +} + +function CnHGame::awardScoreTeamFFHold(%game, %team, %this) +{ + cancel(%this.tHoldThread); + + if(!($missionRunning)) + return; + + $TeamScore[%team] +=%game.SCORE_PER_TEAM_FLIPFLOP_HOLD; + %sLimit = %game.getScoreLimit(); + if (%game.SCORE_PER_TEAM_FLIPFLOP_HOLD) + messageAll('MsgCnHTeamCap', "", $TeamName[%team], %game.SCORE_PER_TEAM_FLIPFLOP_HOLD, %game.cleanWord(%this.name), %team, $teamScore[%team], %sLimit); + + // if either team's score is divisible by 100, send a console log message + if(($TeamScore[%team] / 100) == (mFloor($TeamScore[%team] / 100))) + for(%i = 1; %i <= %game.numTeams; %i++) + logEcho("team "@%i@" score "@$TeamScore[%i]); + + %game.checkScoreLimit(%team); + + %this.tHoldThread = %game.schedule(%game.TIME_REQ_TEAM_HOLD_BONUS, "awardScoreTeamFFHold", %team, %this); +} + +function CnHGame::testValidRepair(%game, %obj) +{ + return ((%obj.lastDamagedByTeam != %obj.team) && (%obj.repairedBy.team == %obj.team)); +} + +function CnHGame::genOnRepaired(%game, %obj, %objName) +{ + + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgGenRepaired', '\c0%1 repaired the %2 Generator!', %repairman.name, %obj.nameTag); + } +} + +function CnHGame::stationOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgStationRepaired', '\c0%1 repaired the %2 Inventory Station!', %repairman.name, %obj.nameTag); + } +} + +function CnHGame::sensorOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgSensorRepaired', '\c0%1 repaired the %2 Pulse Sensor!', %repairman.name, %obj.nameTag); + } +} + +function CnHGame::turretOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 Turret!', %repairman.name, %obj.nameTag); + } +} + +function CnHGame::vStationOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 Vehicle Station!', %repairman.name, %obj.nameTag); + } +} + +function CnHGame::startTimerPlayerFFCap(%game, %cl, %this) +{ + cancel(%this.pCapThread); //stop the last owner from collecting a cap bonus + %this.pCapThread = %game.schedule(%game.TIME_REQ_PLYR_CAP_BONUS, "awardScorePlayerFFCap", %cl, %this); + cancel(%this.tCapThread); //stop the old owners from collecting any cap bonus + cancel(%this.tHoldThread); //stop the old owners from collecting any hold bonus + %this.tCapThread = %game.schedule(%game.TIME_REQ_TEAM_CAP_BONUS, "awardScoreTeamFFCap", %cl.team, %this); +} + +function CnHGame::startTimerTeamFFCap(%game, %team, %this, %time) +{ + %this.tCapThread = %game.schedule(%time, "awardScoreTeamFFCap", %team, %this); +} + +//------------------------------------------------------------------------ + +function CnHGame::resetScore(%game, %client) +{ + %client.offenseScore = 0; + %client.kills = 0; + %client.deaths = 0; + %client.suicides = 0; + %client.teamKills = 0; + %client.flipFlopsCapped = 0; + + + %client.defenseScore = 0; + %client.turretKills = 0; + %client.flipFlopDefends = 0; + + %client.score = 0; + + for ( %team = 1; %team <= %game.numTeams; %team++ ) + if($TeamScore[%team] != 0) + $TeamScore[%team] = 0; +} + +function CnHGame::applyConcussion(%game, %player) +{ +} diff --git a/public/base/@vl2/scripts.vl2/scripts/DMGame.cs b/public/base/@vl2/scripts.vl2/scripts/DMGame.cs new file mode 100644 index 00000000..76d573a5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/DMGame.cs @@ -0,0 +1,374 @@ +// -------------------------------------------------------- +// Deathmatch mission type +// -------------------------------------------------------- + +// DisplayName = Deathmatch + +//--- GAME RULES BEGIN --- +//There aren't many rules... +//Kill +//Don't get killed +//Points are scored for each kill you make and subtracted each time you die +//--- GAME RULES END --- + +$InvBanList[DM, "TurretOutdoorDeployable"] = 1; +$InvBanList[DM, "TurretIndoorDeployable"] = 1; +$InvBanList[DM, "ElfBarrelPack"] = 1; +$InvBanList[DM, "MortarBarrelPack"] = 1; +$InvBanList[DM, "PlasmaBarrelPack"] = 1; +$InvBanList[DM, "AABarrelPack"] = 1; +$InvBanList[DM, "MissileBarrelPack"] = 1; +$InvBanList[DM, "Mine"] = 1; + +function DMGame::setUpTeams(%game) +{ + %group = nameToID("MissionGroup/Teams"); + if(%group == -1) + return; + + // create a team0 if it does not exist + %team = nameToID("MissionGroup/Teams/team0"); + if(%team == -1) + { + %team = new SimGroup("team0"); + %group.add(%team); + } + + // 'team0' is not counted as a team here + %game.numTeams = 0; + while(%team != -1) + { + // create drop set and add all spawnsphere objects into it + %dropSet = new SimSet("TeamDrops" @ %game.numTeams); + MissionCleanup.add(%dropSet); + + %spawns = nameToID("MissionGroup/Teams/team" @ %game.numTeams @ "/SpawnSpheres"); + if(%spawns != -1) + { + %count = %spawns.getCount(); + for(%i = 0; %i < %count; %i++) + %dropSet.add(%spawns.getObject(%i)); + } + + // set the 'team' field for all the objects in this team + %team.setTeam(0); + + clearVehicleCount(%team+1); + // get next group + %team = nameToID("MissionGroup/Teams/team" @ %game.numTeams + 1); + if (%team != -1) + %game.numTeams++; + } + + // set the number of sensor groups (including team0) that are processed + setSensorGroupCount(%game.numTeams + 1); + %game.numTeams = 1; + + // allow teams 1->31 to listen to each other (team 0 can only listen to self) + for(%i = 1; %i < 32; %i++) + setSensorGroupListenMask(%i, 0xfffffffe); +} + +function DMGame::initGameVars(%game) +{ + %game.SCORE_PER_KILL = 1; + %game.SCORE_PER_DEATH = -1; + %game.SCORE_PER_SUICIDE = -1; +} + +exec("scripts/aiDeathMatch.cs"); + +function DMGame::allowsProtectedStatics(%game) +{ + return true; +} + +function DMGame::equip(%game, %player) +{ + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //%player.setArmor("Light"); + %player.setInventory(RepairKit, 1); + %player.setInventory("Disc", 1); + %player.setInventory("DiscAmmo", 15); + %player.setInventory("TargetingLaser", 1); + %player.weaponCount = 1; + + // do we want to give players a disc launcher instead? GJL: Yes we do! + %player.use("Disc"); +} + +function DMGame::pickPlayerSpawn(%game, %client, %respawn) +{ + // all spawns come from team 1 + return %game.pickTeamSpawn(1); +} + +function DMGame::clientJoinTeam( %game, %client, %team, %respawn ) +{ + %game.assignClientTeam( %client ); + + // Spawn the player: + %game.spawnPlayer( %client, %respawn ); +} + +function DMGame::assignClientTeam(%game, %client) +{ + for(%i = 1; %i < 32; %i++) + $DMTeamArray[%i] = false; + + %maxSensorGroup = 0; + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if(%cl != %client) + { + $DMTeamArray[%cl.team] = true; + if (%cl.team > %maxSensorGroup) + %maxSensorGroup = %cl.team; + } + } + + //now loop through the team array, looking for an empty team + for(%i = 1; %i < 32; %i++) + { + if (! $DMTeamArray[%i]) + { + %client.team = %i; + if (%client.team > %maxSensorGroup) + %maxSensorGroup = %client.team; + break; + } + } + + // set player's skin pref here + setTargetSkin(%client.target, %client.skin); + + // Let everybody know you are no longer an observer: + messageAll( 'MsgClientJoinTeam', '\c1%1 has joined the fray.', %client.name, "", %client, 1 ); + updateCanListenState( %client ); + + //now set the max number of sensor groups... + setSensorGroupCount(%maxSensorGroup + 1); +} + +function DMGame::clientMissionDropReady(%game, %client) +{ + messageClient(%client, 'MsgClientReady',"", %game.class); + messageClient(%client, 'MsgYourScoreIs', "", 0); + messageClient(%client, 'MsgDMPlayerDies', "", 0); + messageClient(%client, 'MsgDMKill', "", 0); + %game.resetScore(%client); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function DMGame::AIHasJoined(%game, %client) +{ + //let everyone know the player has joined the game + //messageAllExcept(%client, -1, 'MsgClientJoinTeam', '%1 has joined the fray.', %client.name, "", %client, 1 ); +} + +function DMGame::checkScoreLimit(%game, %client) +{ + //there's no score limit in DM +} + +function DMGame::createPlayer(%game, %client, %spawnLoc, %respawn) +{ + DefaultGame::createPlayer(%game, %client, %spawnLoc, %respawn); + %client.setSensorGroup(%client.team); +} + +function DMGame::resetScore(%game, %client) +{ + %client.deaths = 0; + %client.kills = 0; + %client.score = 0; + %client.efficiency = 0.0; + %client.suicides = 0; +} + +function DMGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc) +{ + cancel(%clVictim.player.alertThread); + DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc); +} + +function DMGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %game.awardScoreKill(%clKiller); + messageClient(%clKiller, 'MsgDMKill', "", %clKiller.kills); + %game.awardScoreDeath(%clVictim); + } + else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + %game.awardScoreSuicide(%clVictim); + + messageClient(%clVictim, 'MsgDMPlayerDies', "", %clVictim.deaths + %clVictim.suicides); +} + +function DMGame::recalcScore(%game, %client) +{ + %killValue = %client.kills * %game.SCORE_PER_KILL; + %deathValue = %client.deaths * %game.SCORE_PER_DEATH; + %suicideValue = %client.suicides * %game.SCORE_PER_SUICIDE; + + if (%killValue - %deathValue == 0) + %client.efficiency = %suicideValue; + else + %client.efficiency = ((%killValue * %killValue) / (%killValue - %deathValue)) + %suicideValue; + + %client.score = mFloatLength(%client.efficiency, 1); + messageClient(%client, 'MsgYourScoreIs', "", %client.score); + %game.recalcTeamRanks(%client); + %game.checkScoreLimit(%client); +} + +function DMGame::timeLimitReached(%game) +{ + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function DMGame::scoreLimitReached(%game) +{ + logEcho("game over (scorelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function DMGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + cancel(%game.timeThread); + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + } +} + +function DMGame::enterMissionArea(%game, %playerData, %player) +{ + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") entered mission area"); + cancel(%player.alertThread); +} + +function DMGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %player.client.outOfBounds = true; + messageClient(%player.client, 'LeaveMissionArea', '\c1You have left the mission area. Return or take damage.~wfx/misc/warning_beep.wav'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") left mission area"); + %player.alertThread = %game.schedule(1000, "DMAlertPlayer", 3, %player); +} + +function DMGame::DMAlertPlayer(%game, %count, %player) +{ + // MES - I commented below line out because it prints a blank line to chat window + //messageClient(%player.client, 'MsgDMLeftMisAreaWarn', '~wfx/misc/red_alert.wav'); + if(%count > 1) + %player.alertThread = %game.schedule(1000, "DMAlertPlayer", %count - 1, %player); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); +} + +function DMGame::MissionAreaDamage(%game, %player) +{ + if(%player.getState() !$= "Dead") { + %player.setDamageFlash(0.1); + %prevHurt = %player.getDamageLevel(); + %player.setDamageLevel(%prevHurt + 0.05); + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); + } + else + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); +} + +function DMGame::updateScoreHud(%game, %client, %tag) +{ + // Clear the header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // Send the subheader: + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYER\tRATING\tKILLS\tDEATHS'); + + for (%index = 0; %index < $TeamRank[0, count]; %index++) + { + //get the client info + %cl = $TeamRank[0, %index]; + + //get the score + %clScore = mFloatLength( %cl.efficiency, 1 ); + + %clKills = mFloatLength( %cl.kills, 0 ); + %clDeaths = mFloatLength( %cl.deaths + %cl.suicides, 0 ); + %clStyle = %cl == %client ? "" : ""; + + //if the client is not an observer, send the message + if (%client.team != 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4', + %cl.name, %clScore, %clKills, %clDeaths, %clStyle ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4', + %cl.name, %clScore, %clKills, %clDeaths, %clStyle, %cl ); + } + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} + +function DMGame::applyConcussion(%game, %player) +{ +} diff --git a/public/base/@vl2/scripts.vl2/scripts/DebriefGui.cs b/public/base/@vl2/scripts.vl2/scripts/DebriefGui.cs new file mode 100644 index 00000000..f5d1aa88 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/DebriefGui.cs @@ -0,0 +1,138 @@ +//------------------------------------------------------------------------------ +// +// DebriefGui.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +function DebriefGui::onWake( %this ) +{ + moveMap.pop(); + if ( isObject( passengerKeys ) ) + passengerKeys.pop(); + if ( isObject( observerBlockMap ) ) + observerBlockMap.pop(); + if ( isObject( observerMap ) ) + observerMap.pop(); + //flyingCameraMove.pop(); + + if ( isObject( debriefMap ) ) + { + debriefMap.pop(); + debriefMap.delete(); + } + new ActionMap( debriefMap ); + %bind = moveMap.getBinding( toggleMessageHud ); + debriefMap.bind( getField( %bind, 0 ), getField( %bind, 1 ), toggleDebriefChat ); + debriefMap.copyBind( moveMap, activateChatMenuHud ); + debriefMap.bindCmd( keyboard, escape, "", "debriefContinue();" ); + debriefMap.push(); + + DB_ChatVector.attach( HudMessageVector ); + DB_ChatScroll.scrollToBottom(); + DB_LoadingProgress.setValue( 0 ); + LoadingProgress.setValue( 0 ); + DB_LoadingProgressTxt.setValue( "LOADING MISSION" ); + LoadingProgressTxt.setValue( "LOADING MISSION" ); +} + +//------------------------------------------------------------------------------ +function DebriefGui::onSleep( %this ) +{ + debriefMap.pop(); + debriefMap.delete(); +} + +//------------------------------------------------------------------------------ +function DebriefResultText::onResize( %this, %width, %height ) +{ + %fieldHeight = getWord( DB_ResultPane.getExtent(), 1 ); + %x = getWord( DB_ResultScroll.getPosition(), 0 ); + %w = getWord( DB_ResultScroll.getExtent(), 0 ); + %h = %fieldHeight - %height - 4; + DB_ResultScroll.resize( %x, %height + 2, %w, %h ); +} + +//------------------------------------------------------------------------------ +function toggleDebriefChat() +{ + Canvas.pushDialog( DB_ChatDlg ); +} + +//------------------------------------------------------------------------------ +function DB_ChatDlg::onWake( %this ) +{ + DB_ChatEntry.setValue( "" ); +} + +//------------------------------------------------------------------------------ +function DB_ChatEntry::onEscape( %this ) +{ + Canvas.popDialog( DB_ChatDlg ); +} + +//------------------------------------------------------------------------------ +function DB_ChatEntry::sendChat( %this ) +{ + %text = %this.getValue(); + if ( %text !$= "" ) + commandToServer( 'MessageSent', %text ); + + Canvas.popDialog( DB_ChatDlg ); +} + +//------------------------------------------------------------------------------ +function debriefDisconnect() +{ + MessageBoxYesNo( "DISCONNECT", "Are you sure you want to leave this game?", "Disconnect();" ); +} + +//------------------------------------------------------------------------------ +function debriefContinue() +{ + checkGotLoadInfo(); +} + +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgGameOver', handleGameOverMessage ); +addMessageCallback( 'MsgClearDebrief', handleClearDebriefMessage ); +addMessageCallback( 'MsgDebriefResult', handleDebriefResultMessage ); +addMessageCallback( 'MsgDebriefAddLine', handleDebriefLineMessage ); + +//------------------------------------------------------------------------------ +function handleGameOverMessage( %msgType, %msgString ) +{ + weaponsHud.clearAll(); + inventoryHud.clearAll(); + + // Fill the Debriefer up with stuff... + Canvas.setContent( DebriefGui ); +} + +function handleClearDebriefMessage( %msgType, %msgString ) +{ + DebriefResultText.setText( "" ); + DebriefText.setText( "" ); +} + +//------------------------------------------------------------------------------ +function handleDebriefResultMessage( %msgType, %msgString, %string ) +{ + %text = DebriefResultText.getText(); + if ( %text $= "" ) + %newText = detag( %string ); + else + %newText = %text NL detag( %string ); + DebriefResultText.setText( %newText ); +} + +//------------------------------------------------------------------------------ +function handleDebriefLineMessage( %msgType, %msgString, %string ) +{ + %text = DebriefText.getText(); + if ( %text $= "" ) + %newText = detag( %string ); + else + %newText = %text NL detag( %string ); + DebriefText.setText( %newText ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/DemoEndGui.cs b/public/base/@vl2/scripts.vl2/scripts/DemoEndGui.cs new file mode 100644 index 00000000..64e7b3a6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/DemoEndGui.cs @@ -0,0 +1,29 @@ +$DemoCycleDelay = 6000; + +function DemoEndGui::onWake(%this) +{ + %this.index = 1; + new ActionMap( DemoEndMap ); + DemoEndMap.bindCmd( mouse, button0, "DemoEndGui.forceBitmapCycle();", "" ); + DemoEndMap.bindCmd( keyboard, space, "DemoEndGui.forceBitmapCycle();", "" ); + DemoEndMap.push(); + %this.cycleTimer = %this.schedule($DemoCycleDelay, cycleBitmaps); +} + +function DemoEndGui::cycleBitmaps(%this) +{ + if (%this.index == 3) + quit(); + else + { + %this.index++; + %this.setBitmap("gui/bg_DemoEnd" @ %this.index); + %this.cycleTimer = %this.schedule( $DemoCycleDelay, cycleBitmaps ); + } +} + +function DemoEndGui::forceBitmapCycle( %this ) +{ + cancel( %this.cycleTimer ); + %this.cycleBitmaps(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/DnDGame.cs b/public/base/@vl2/scripts.vl2/scripts/DnDGame.cs new file mode 100644 index 00000000..45d105dd --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/DnDGame.cs @@ -0,0 +1,1331 @@ +// DisplayName = Defend and Destroy + +//--- GAME RULES BEGIN --- +//Destroy objectives and hold switches. +//Teams score 1 point for each switch held, and each Large Turret, Sensor, Generator, and Vehicle Station destroyed. +//The map ends when one team destroys all the enemy objectives and holds all switches, or the timelimit expires. +//--- GAME RULES END --- + +//-------------------------------------------------------------------------------- +// <> Defend and Destroy <> +// +// Version: 1.1.25026 +// Date: October 23, 2002 +// By: ZOD +// http://www.planettribes.com/syrinx/ +// +// SCORING: +// +// Teams get 1 point each time they destroy and enemy objective or hold a +// flip flop switch. +// +// Objectives consist of vehicle stations, large and medium pulse sensors, +// solar panels, generators and base turrets. +//-------------------------------------------------------------------------------- + +//exec the AI scripts +exec("scripts/aiDnD.cs"); + +$DnDVer = "1.1.25026"; +if($Host::MarkDnDObjectives $= "") + $Host::MarkDnDObjectives = 1; + +function DnDGame::initGameVars(%game) +{ + %game.SCORE_PER_SUICIDE = 0; // z0dd - ZOD, 8/19/02. No penalty for suicide! Was -10 + %game.SCORE_PER_TEAMKILL = -5; + %game.SCORE_PER_DEATH = 0; + + %game.SCORE_PER_KILL = 5; + %game.SCORE_PER_HEADSHOT = 1; + %game.SCORE_PER_TURRET_KILL = 5; + %game.SCORE_PER_TURRET_KILL_AUTO = 1; + + %game.SCORE_PER_OBJECT_DEFEND = 5; // Score for defending an objective + + %game.SCORE_PER_DESTROY_GEN = 10; + %game.SCORE_PER_DESTROY_SOLAR = 8; + %game.SCORE_PER_DESTROY_SENSOR = 4; + %game.SCORE_PER_DESTROY_TURRET = 6; + %game.SCORE_PER_DESTROY_ISTATION = 4; + %game.SCORE_PER_DESTROY_ASTATION = 4; + %game.SCORE_PER_DESTROY_VSTATION = 8; + %game.SCORE_PER_DESTROY_TSTATION = 4; + %game.SCORE_PER_DESTROY_SENTRY = 4; + %game.SCORE_PER_DESTROY_DEP_SENSOR = 1; + %game.SCORE_PER_DESTROY_DEP_INV = 2; + %game.SCORE_PER_DESTROY_DEP_TUR = 3; + %game.SCORE_PER_TK_DESTROY = -10; // Penalty for TKing equiptment, needs to be harsh. + + %game.SCORE_PER_PLYR_FLIPFLOP_CAP = 8; + + %game.SCORE_PER_DESTROY_SHRIKE = 5; + %game.SCORE_PER_DESTROY_BOMBER = 8; + %game.SCORE_PER_DESTROY_TRANSPORT = 5; + %game.SCORE_PER_DESTROY_WILDCAT = 5; + %game.SCORE_PER_DESTROY_TANK = 8; + %game.SCORE_PER_DESTROY_MPB = 12; + %game.SCORE_PER_PASSENGER = 2; + + %game.SCORE_PER_REPAIR_GEN = 8; + %game.SCORE_PER_REPAIR_SOLAR = 6; + %game.SCORE_PER_REPAIR_SENSOR = 2; + %game.SCORE_PER_REPAIR_TURRET = 4; + %game.SCORE_PER_REPAIR_ASTATION = 2; + %game.SCORE_PER_REPAIR_ISTATION = 2; + %game.SCORE_PER_REPAIR_VSTATION = 4; + %game.SCORE_PER_REPAIR_TSTATION = 4; + %game.SCORE_PER_REPAIR_SENTRY = 2; + %game.SCORE_PER_REPAIR_DEP_SENSOR = 1; + %game.SCORE_PER_REPAIR_DEP_TUR = 3; + %game.SCORE_PER_REPAIR_DEP_INV = 2; + + %game.RADIUS_OBJECT_DEFENSE = 20; + %game.TIME_REQ_PLYR_CAP_BONUS = 12 * 1000; // player must hold a switch 12 seconds to get a point for it. + %game.TIME_REQ_TEAM_CAP_BONUS = 12 * 1000; // time after touching it takes for team to get a point +} + +package DnDGame +{ + // z0dd - ZOD. From Classic MOD, placed here for base and mod compatibility. + function teamDestroyMessage(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) + { + %team = %client.team; + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %recipient = ClientGroup.getObject(%i); + if((%recipient.team == %team) && (%recipient != %client)) + { + commandToClient(%recipient, 'TeamDestroyMessage', %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6); + } + } + } + + function ShapeBaseData::onDestroyed(%data, %obj, %prevstate) + { + %scorer = %obj.lastDamagedBy; + if(!isObject(%scorer)) + return; + + if((%scorer.getType() & $TypeMasks::GameBaseObjectType) && %scorer.getDataBlock().catagory $= "Vehicles") + { + %name = %scorer.getDatablock().getName(); + if(%name $= "BomberFlyer" || %name $= "AssaultVehicle") + %gunnerNode = 1; + else + %gunnerNode = 0; + + if(%scorer.getMountNodeObject(%gunnerNode)) + { + %destroyer = %scorer.getMountNodeObject(%gunnerNode).client; + %scorer = %destroyer; + %damagingTeam = %scorer.team; + } + } + else if(%scorer.getClassName() $= "Turret") + { + if(%scorer.getControllingClient()) + { + // manned turret + %destroyer = %scorer.getControllingClient(); + %scorer = %destroyer; + %damagingTeam = %scorer.team; + } + else + %scorer = %scorer.owner; // unmanned turret + } + if(!%damagingTeam) + %damagingTeam = %scorer.team; + + if(%damagingTeam != %obj.team) + { + if(!%obj.soiledByEnemyRepair) + { + Game.awardScoreStaticShapeDestroy(%scorer, %obj); + } + } + else + { + if(!%obj.getDataBlock().deployedObject) + Game.awardScoreTkDestroy(%scorer, %obj); + } + if(!%obj.objectiveCompleted && %obj.scoreValue) + { + messageAllExcept(%scorer, %damagingTeam, 'MsgDnDObjDisabled', '\c2%1 destroyed your %2 objective!', %scorer.name, Game.cleanWord(%obj.getDataBlock().targetTypeTag)); + %obj.objectiveCompleted = true; + if(isObject(%obj.wayPointMarker)) + %obj.wayPointMarker.schedule(100, "delete"); + + $teamScore[%damagingTeam]++; + Game.checkScoreLimit(%damagingTeam); + } + } + + function ShapeBaseData::onDisabled(%data, %obj) + { + %obj.wasDisabled = true; + Parent::onDisabled(%data, %obj); + } + + function RepairGunImage::onRepair(%this, %obj, %slot) + { + Parent::onRepair(%this, %obj, %slot); + %target = %obj.repairing; + if(%target && %target.team != %obj.team) + { + %target.soiledByEnemyRepair = true; + } + } + + function StaticShapeData::objectiveInit(%data, %obj) + { + if(!%data.deployedObject && %obj.team > 0) + { + %class = %data.className; + if(%class $= "Generator" || %class $= "Sensor" || %class $= "TurretBase") + { + %obj.objectiveCompleted = false; + %obj.scoreValue = true; + $numObjectives[%obj.team]++; + if($Host::MarkDnDObjectives) + Game.setupObjectiveMarker(%obj); + } + } + } + + function StationVehicle::onAdd(%this, %obj) + { + // We use onAdd because objectiveInit is never called on v-stations. + Parent::onAdd(%this, %obj); + if(%obj.team > 0) + { + %obj.objectiveCompleted = false; + %obj.scoreValue = true; + $numObjectives[%obj.team]++; + if($Host::MarkDnDObjectives) + Game.setupObjectiveMarker(%obj); + } + } + + function FlipFlop::objectiveInit(%data, %flipflop) + { + Parent::objectiveInit(%data, %flipflop); + %flipflop.tCapThread = ""; + %flipflop.pCapThread = ""; + %flipflop.scoreValue = true; + for(%i = 1; %i <= Game.numTeams; %i++) + { + $numObjectives[%i]++; + } + %flipFlop.prevTeam = ""; + } + + function FlipFlop::playerTouch(%data, %flipflop, %player) + { + if(%flipflop.team != %player.client.team) + { + Parent::playerTouch(%data, %flipflop, %player); + Game.startTimerPlayerFFCap(%player.client, %flipflop); + } + } +}; + +function DnDGame::setupObjectiveMarker(%game, %obj) +{ + %name = (getTaggedString(%obj.getDataBlock().targetNameTag) SPC getTaggedString(%obj.getDataBlock().targetTypeTag)); + %obj.wayPointMarker = new WayPoint() { + position = %obj.getPosition(); + name = %name; + dataBlock = "WayPointMarker"; + team = %obj.team; + }; + MissionCleanup.add(%obj.wayPointMarker); +} + +function serverCmdsetDnDMarkers(%client, %value) +{ + // USAGE: commandToServer('setDnDMarkers', 1); + %val = deTag(%value); + %adj = %val == 1 ? 1 : 0; + %snd = '~wfx/misc/warning_beep.wav'; + %detail = (%adj ? "enabled" : "disabled"); + %name = %client.name; + if(%client.isAdmin) + { + switch$ ( %adj ) + { + case 0: + %msg = '\c3%5: \c2Objective markers: \c3%4\c2, cycling mission.%1'; + $Host::MarkDnDObjectives = %adj; + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + if( isObject( Game ) ) + Game.gameOver(); + + loadMission($CurrentMission, $CurrentMissionType, false); + + case 1: + %msg = '\c3%5: \c2Objective markers: \c3%4\c2, cycling mission.%1'; + $Host::MarkDnDObjectives = %adj; + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + if( isObject( Game ) ) + Game.gameOver(); + + loadMission($CurrentMission, $CurrentMissionType, false); + + default: + messageClient(%client, 'MsgAdmin', '\c2Incorrect value, 0 disables markers, 1 enables markers.'); + } + messageAll( 'MsgAdmin', %msg, %snd, %val, %adj, %detail, %name, $CurrentMission ); + } + else + messageClient(%client, 'MsgAdmin', '\c2Only Admins can use this command.'); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Team Functions /////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +function DnDGame::setUpTeams(%game) +{ + DefaultGame::setUpTeams(%game); + + // reset the visibility of team 0 (team is still defaulted as friendly) + setSensorGroupAlwaysVisMask(0, 0); +} + +function DnDGame::clientMissionDropReady(%game, %client) +{ + messageClient(%client, 'MsgClientReady', "", %game.class); + for(%i = 1; %i <= %game.numTeams; %i++) + { + messageClient(%client, 'MsgDnDAddTeam', "", %i, %game.getTeamName(%i), $teamScore[%i], %game.getScoreLimit(%i), -1, -1); + } + %game.populateTeamRankArray(%client); + messageClient(%client, 'MsgYourRankIs', "", -1); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + DefaultGame::clientMissionDropReady(%game, %client); +} + +function DnDGame::assignClientTeam(%game, %client, %respawn) +{ + DefaultGame::assignClientTeam(%game, %client, %respawn); + // if player's team is not on top of objective hud, switch lines + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); +} + +function DnDGame::getTeamSkin(%game, %team) +{ + if($Host::tournamentMode) + return $teamSkin[%team]; + + if(!$Host::useCustomSkins) + { + %terrain = MissionGroup.musicTrack; + switch$(%terrain) + { + case "lush": + if(%team == 1) + %skin = 'beagle'; + else if(%team == 2) + %skin = 'dsword'; + else + %skin = 'base'; + + case "badlands": + if(%team == 1) + %skin = 'swolf'; + else if(%team == 2) + %skin = 'dsword'; + else + %skin = 'base'; + + case "ice": + if(%team == 1) + %skin = 'swolf'; + else if(%team == 2) + %skin = 'beagle'; + else + %skin = 'base'; + + case "desert": + if(%team == 1) + %skin = 'cotp'; + else if(%team == 2) + %skin = 'beagle'; + else %skin = 'base'; + + case "Volcanic": + if(%team == 1) + %skin = 'dsword'; + else if(%team == 2) + %skin = 'cotp'; + else + %skin = 'base'; + + default: + if(%team == 2) + %skin = 'baseb'; + else + %skin = 'base'; + } + if(%skin $= "") + %skin = $teamSkin[%team]; + } + else + %skin = $teamSkin[%team]; + + return %skin; +} + +function DnDGame::getTeamName(%game, %team) +{ + if($Host::tournamentMode) + return $TeamName[%team]; + + if(!$Host::useCustomSkins) + { + %terrain = MissionGroup.musicTrack; + switch$(%terrain) + { + case "lush": + if(%team == 1) + %name = 'Blood Eagle'; + else if(%team == 2) + %name = 'Diamond Sword'; + + case "badlands": + if(%team == 1) + %name = 'Starwolf'; + else if(%team == 2) + %name = 'Diamond Sword'; + + case "ice": + if(%team == 1) + %name = 'Starwolf'; + else if(%team == 2) + %name = 'Blood Eagle'; + + case "desert": + if(%team == 1) + %name = 'Phoenix'; + else if(%team == 2) + %name = 'Blood Eagle'; + + case "Volcanic": + if(%team == 1) + %name = 'Diamond Sword'; + else if(%team == 2) + %name = 'Phoenix'; + + default: + if(%team == 2) + %name = 'Inferno'; + else + %name = 'Storm'; + } + if(%name $= "") + %name = $teamName[%team]; + } + else + %name = $TeamName[%team]; + + return %name; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Flip Flop Functions ////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +function DnDGame::startTimerPlayerFFCap(%game, %cl, %this) +{ + cancel(%this.pCapThread); //stop the last owner from collecting a cap bonus + %this.pCapThread = %game.schedule(%game.TIME_REQ_PLYR_CAP_BONUS, "awardScorePlayerFFCap", %cl, %this); + cancel(%this.tCapThread); //stop the old owners from collecting any cap bonus + %this.tCapThread = %game.schedule(%game.TIME_REQ_TEAM_CAP_BONUS, "awardScoreTeamFFCap", %this.team, %this); +} + +function DnDGame::stopScoreTimers(%game) +{ + // find all switches and cancel any timers associated with them + %ffGroup = nameToId("MissionCleanup/FlipFlops"); + if(%ffGroup <= 0) + return; + + for(%i = 0; %i < %ffGroup.getCount(); %i++) + { + %curFF = %ffGroup.getObject(%i); + cancel(%curFF.pCapThread); + cancel(%curFF.tCapThread); + } +} + +function DnDGame::countFlips(%game) +{ + return false; +} + +function DnDGame::awardScorePlayerFFCap(%game, %cl, %this) +{ + if(!($missionRunning)) + return; + + %cl.flipFlopsCapped++; + messageClient(%cl, 'msgFFDef', '\c0You received a %1 point bonus for holding the %2.', %game.SCORE_PER_PLYR_FLIPFLOP_CAP, %game.cleanWord(%this.name)); + messageTeamExcept(%cl, 'msgFFDef', '\c0Teammate %1 received a %2 point bonus for holding the %3', %cl.name, %game.SCORE_PER_PLYR_FLIPFLOP_CAP, %game.cleanWord(%this.name)); + %game.recalcScore(%cl); +} + +function DnDGame::awardScoreTeamFFCap(%game, %team, %this) +{ + if(!($missionRunning)) + return; + + cancel(%this.tCapThread); + $teamScore[%team]++; + if(%this.prevTeam) + $teamScore[%this.prevTeam]--; + + %this.prevTeam = %team; + %game.checkScoreLimit(%team); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Scoring Functions //////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +function DnDGame::checkScoreLimit(%game, %team) +{ + // Since checkScore limit is called for every score, announce the team. + if ($missionRunning) + { + if (%game.getTeamName(%team) $= 'Inferno') + messageAll("", '~wvoice/announcer/ann.infscores.wav'); + else if (%game.getTeamName(%team) $= 'Storm') + messageAll("", '~wvoice/announcer/ann.stoscores.wav'); + else if (%game.getTeamName(%team) $= 'Phoenix') + messageAll("", '~wvoice/announcer/ann.pxscore.wav'); + else if (%game.getTeamName(%team) $= 'Blood Eagle') + messageAll("", '~wvoice/announcer/ann.bescore.wav'); + else if (%game.getTeamName(%team) $= 'Diamond Sword') + messageAll("", '~wvoice/announcer/ann.dsscore.wav'); + else if (%game.getTeamName(%team) $= 'Starwolf') + messageAll("", '~wvoice/announcer/ann.swscore.wav'); + } + + // Update everyones objective hud. + for(%i = 1; %i <= %game.numTeams; %i++) + messageAll('MsgDnDTeamScores', "", %i, %game.getTeamName(%i), $teamScore[%i], %game.getScoreLimit(%i), -1, -1, -1); + + %scoreLimit = %game.getScoreLimit(%team); + if($teamScore[%team] >= %scoreLimit) + %game.scoreLimitReached(); +} + +function DnDGame::getScoreLimit(%game, %team) +{ + // If we ever have more then two teams this must be changed. + %otherTeam = %team == 1 ? 2 : 1; + return $numObjectives[%otherTeam]; +} + +function DnDGame::timeLimitReached(%game) +{ + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function DnDGame::scoreLimitReached(%game) +{ + logEcho("game over (scorelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function DnDGame::gameOver(%game) +{ + // call the default + DefaultGame::gameOver(%game); + + // stop all bonus timers + %game.stopScoreTimers(); + + //send the winner message + %winner = ""; + if ($teamScore[1] > $teamScore[2]) + %winner = %game.getTeamName(1); + else if ($teamScore[2] > $teamScore[1]) + %winner = %game.getTeamName(2); + + if (%winner $= 'Storm') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" ); + else if (%winner $= 'Inferno') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" ); + else if (%winner $= 'Starwolf') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.swwin.wav" ); + else if (%winner $= 'Blood Eagle') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.bewin.wav" ); + else if (%winner $= 'Diamond Sword') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.dswin.wav" ); + else if (%winner $= 'Phoenix') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.pxwin.wav" ); + else + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + } + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + $TeamScore[%team] = 0; + $numObjectives[%team] = 0; + } +} + +function DnDGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) +{ + if(%clVictim.headshot && %damageType == $DamageType::Laser && %clVictim.team != %clAttacker.team) + { + %clAttacker.scoreHeadshot++; + if (%game.SCORE_PER_HEADSHOT != 0) + { + messageClient(%clAttacker, 'msgHeadshot', '\c0You received a %1 point bonus for a successful headshot.', %game.SCORE_PER_HEADSHOT); + } + %game.recalcScore(%clAttacker); + } + //the DefaultGame will set some vars + DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); +} + +function DnDGame::recalcScore(%game, %cl) +{ + %killValue = %cl.kills * %game.SCORE_PER_KILL; + %deathValue = %cl.deaths * %game.SCORE_PER_DEATH; + + if (%killValue - %deathValue == 0) + %killPoints = 0; + else + %killPoints = (%killValue * %killValue) / (%killValue - %deathValue); + + %cl.offenseScore = %killPoints + + %cl.suicides * %game.SCORE_PER_SUICIDE + + %cl.escortAssists * %game.SCORE_PER_ESCORT_ASSIST + + %cl.teamKills * %game.SCORE_PER_TEAMKILL + + %cl.tkDestroys * %game.SCORE_PER_TK_DESTROY + + %cl.scoreHeadshot * %game.SCORE_PER_HEADSHOT + + %cl.flagCaps * %game.SCORE_PER_PLYR_FLAG_CAP + + %cl.flagGrabs * %game.SCORE_PER_PLYR_FLAG_TOUCH + + %cl.genDestroys * %game.SCORE_PER_DESTROY_GEN + + %cl.sensorDestroys * %game.SCORE_PER_DESTROY_SENSOR + + %cl.turretDestroys * %game.SCORE_PER_DESTROY_TURRET + + %cl.IStationDestroys * %game.SCORE_PER_DESTROY_ISTATION + + %cl.AStationDestroys * %game.SCORE_PER_DESTROY_ASTATION + + %cl.vstationDestroys * %game.SCORE_PER_DESTROY_VSTATION + + %cl.TStationDestroys * %game.SCORE_PER_DESTROY_TSTATION + + %cl.solarDestroys * %game.SCORE_PER_DESTROY_SOLAR + + %cl.sentryDestroys * %game.SCORE_PER_DESTROY_SENTRY + + %cl.depSensorDestroys * %game.SCORE_PER_DESTROY_DEP_SENSOR + + %cl.depTurretDestroys * %game.SCORE_PER_DESTROY_DEP_TUR + + %cl.depStationDestroys * %game.SCORE_PER_DESTROY_DEP_INV + + %cl.flipFlopsCapped * %game.SCORE_PER_PLYR_FLIPFLOP_CAP + + %cl.vehicleScore + %cl.vehicleBonus; + + %cl.defenseScore = %cl.genDefends * %game.SCORE_PER_OBJECT_DEFEND + + %cl.turretKills * %game.SCORE_PER_TURRET_KILL_AUTO + + %cl.mannedturretKills * %game.SCORE_PER_TURRET_KILL + + %cl.genRepairs * %game.SCORE_PER_REPAIR_GEN + + %cl.sensorRepairs * %game.SCORE_PER_REPAIR_SENSOR + + %cl.turretRepairs * %game.SCORE_PER_REPAIR_TURRET + + %cl.stationRepairs * %game.SCORE_PER_REPAIR_ISTATION + + %cl.AStationRepairs * %game.SCORE_PER_REPAIR_ASTATION + + %cl.VStationRepairs * %game.SCORE_PER_REPAIR_VSTATION + + %cl.TStationRepairs * %game.SCORE_PER_REPAIR_TSTATION + + %cl.solarRepairs * %game.SCORE_PER_REPAIR_SOLAR + + %cl.sentryRepairs * %game.SCORE_PER_REPAIR_SENTRY + + %cl.depStationRepairs * %game.SCORE_PER_REPAIR_DEP_SENSOR + + %cl.depInvRepairs * %game.SCORE_PER_REPAIR_DEP_INV + + %cl.depTurretRepairs * %game.SCORE_PER_REPAIR_DEP_TUR; + + %cl.score = mFloor(%cl.offenseScore + %cl.defenseScore); + %game.recalcTeamRanks(%cl); +} + +function DnDGame::resetScore(%game, %client) +{ + %client.kills = 0; + %client.deaths = 0; + %client.suicides = 0; + %client.teamKills = 0; + %client.tkDestroys = 0; + %client.genDestroys = 0; + %client.sensorDestroys = 0; + %client.turretDestroys = 0; + %client.IStationDestroys = 0; + %client.AStationDestroys = 0; + %client.vstationDestroys = 0; + %client.TStationDestroys = 0; + %client.solarDestroys = 0; + %client.sentryDestroys = 0; + %client.depSensorDestroys = 0; + %client.depTurretDestroys = 0; + %client.depStationDestroys = 0; + %client.vehicleScore = 0; + %client.vehicleBonus = 0; + %client.flipFlopsCapped = 0; + %client.offenseScore = 0; + + %client.objDefends = 0; + %client.turretKills = 0; + %client.mannedTurretKills = 0; + %client.genRepairs = 0; + %client.sensorRepairs = 0; + %client.turretRepairs = 0; + %client.stationRepairs = 0; + %client.AStationRepairs = 0; + %client.VStationRepairs = 0; + %client.TStationRepairs = 0; + %client.solarRepairs = 0; + %client.sentryRepairs = 0; + %client.sentryRepairs = 0; + %client.depStationRepairs = 0; + %client.depInvRepairs = 0; + %client.defenseScore = 0; + %client.score = 0; + %client.outOfBounds = ""; +} + +function DnDGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + // is this a vehicle kill rather than a player kill + // console error message suppression + if( isObject( %implement ) ) + { + if( %implement.getDataBlock().getName() $= "AssaultPlasmaTurret" || %implement.getDataBlock().getName() $= "BomberTurret" ) // gunner + %clKiller = %implement.vehicleMounted.getMountNodeObject(1).client; + else if(%implement.getDataBlock().catagory $= "Vehicles") // pilot + %clKiller = %implement.getMountNodeObject(0).client; + } + + if(%game.testTurretKill(%implement)) // check for turretkill before awarded a non client points for a kill + %game.awardScoreTurretKill(%clVictim, %implement); + else if(%game.testKill(%clVictim, %clKiller)) // verify victim was an enemy + { + %value = %game.awardScoreKill(%clKiller); + %game.shareScore(%clKiller, %value); + %game.awardScoreDeath(%clVictim); + + if(%game.testObjectDefend(%clVictim, %clKiller)) + %game.awardScoreObjectDefend(%clKiller); + } + else + { + if (%game.testSuicide(%clVictim, %clKiller, %damageType)) // otherwise test for suicide + { + %game.awardScoreSuicide(%clVictim); + } + else + { + if (%game.testTeamKill(%clVictim, %clKiller)) // otherwise test for a teamkill + %game.awardScoreTeamKill(%clVictim, %clKiller); + } + } +} + +function DnDGame::vehicleDestroyed(%game, %vehicle, %destroyer) +{ + //vehicle name + %data = %vehicle.getDataBlock(); + //%vehicleType = getTaggedString(%data.targetNameTag) SPC getTaggedString(%data.targetTypeTag); + %vehicleType = getTaggedString(%data.targetTypeTag); + if(%vehicleType !$= "MPB") + %vehicleType = strlwr(%vehicleType); + + %enemyTeam = ( %destroyer.team == 1 ) ? 2 : 1; + %scorer = 0; + %multiplier = 1; + %passengers = 0; + for(%i = 0; %i < %data.numMountPoints; %i++) + if(%vehicle.getMountNodeObject(%i)) + %passengers++; + + //what destroyed this vehicle + if(%destroyer.client) + { + //it was a player, or his mine, satchel, whatever... + %destroyer = %destroyer.client; + %scorer = %destroyer; + + // determine if the object used was a mine + if(%vehicle.lastDamageType == $DamageType::Mine) + %multiplier = 2; + } + else if(%destroyer.getClassName() $= "Turret") + { + if(%destroyer.getControllingClient()) + { + //manned turret + %destroyer = %destroyer.getControllingClient(); + %scorer = %destroyer; + } + else + { + %destroyerName = "A turret"; + %multiplier = 0; + } + } + else if(%destroyer.getDataBlock().catagory $= "Vehicles") + { + // Vehicle vs vehicle kill! + if(%name $= "BomberFlyer" || %name $= "AssaultVehicle") + %gunnerNode = 1; + else + %gunnerNode = 0; + + if(%destroyer.getMountNodeObject(%gunnerNode)) + { + %destroyer = %destroyer.getMountNodeObject(%gunnerNode).client; + %scorer = %destroyer; + } + %multiplier = 3; + } + else // Is there anything else we care about? + return; + + if(%destroyerName $= "") + %destroyerName = %destroyer.name; + + if(%vehicle.team == %destroyer.team) // team kill + { + %pref = (%vehicleType $= "Assault Tank") ? "an" : "a"; + messageAll( 'msgVehicleTeamDestroy', '\c0%1 TEAMKILLED %3 %2!', %destroyerName, %vehicleType, %pref); + } + else // legit kill + { + //messageTeamExcept(%destroyer, 'msgVehicleDestroy', '\c0%1 destroyed an enemy %2.', %destroyerName, %vehicleType); + teamDestroyMessage(%destroyer, 'msgVehDestroyed', '\c5%1 destroyed an enemy %2!', %destroyerName, %vehicleType); // z0dd - ZOD, 8/20/02. Send teammates a destroy message + messageTeam(%enemyTeam, 'msgVehicleDestroy', '\c0%1 destroyed your team\'s %2.', %destroyerName, %vehicleType); + //messageClient(%destroyer, 'msgVehicleDestroy', '\c0You destroyed an enemy %1.', %vehicleType); + + if(%scorer) + { + %value = %game.awardScoreVehicleDestroyed(%scorer, %vehicleType, %multiplier, %passengers); + %game.shareScore(%value); + } + } +} + +function DnDGame::awardScoreVehicleDestroyed(%game, %client, %vehicleType, %mult, %passengers) +{ + if(%vehicleType $= "Grav Cycle") + %base = %game.SCORE_PER_DESTROY_WILDCAT; + else if(%vehicleType $= "Assault Tank") + %base = %game.SCORE_PER_DESTROY_TANK; + else if(%vehicleType $= "MPB") + %base = %game.SCORE_PER_DESTROY_MPB; + else if(%vehicleType $= "Turbograv") + %base = %game.SCORE_PER_DESTROY_SHRIKE; + else if(%vehicleType $= "Bomber") + %base = %game.SCORE_PER_DESTROY_BOMBER; + else if(%vehicleType $= "Heavy Transport") + %base = %game.SCORE_PER_DESTROY_TRANSPORT; + + %total = ( %base * %mult ) + ( %passengers * %game.SCORE_PER_PASSENGER ); + + %client.vehicleScore += %total; + + messageClient(%client, 'msgVehicleScore', '\c0You received a %1 point bonus for destroying an enemy %2.', %total, %vehicleType); + %game.recalcScore(%client); + return %total; +} + +function DnDGame::shareScore(%game, %client, %amount) +{ + //error("share score of"SPC %amount SPC "from client:" SPC %client); + // all of the player in the bomber and tank share the points + // gained from any of the others + %vehicle = %client.vehicleMounted; + if(!%vehicle) + return 0; + + %vehicleType = getTaggedString(%vehicle.getDataBlock().targetTypeTag); + if(%vehicleType $= "Bomber" || %vehicleType $= "Assault Tank") + { + for(%i = 0; %i < %vehicle.getDataBlock().numMountPoints; %i++) + { + %occupant = %vehicle.getMountNodeObject(%i); + if(%occupant) + { + %occCl = %occupant.client; + if(%occCl != %client && %occCl.team == %client.team) + { + // the vehicle has a valid teammate at this node + // share the score with them + %occCl.vehicleBonus += %amount; + %game.recalcScore(%occCl); + } + } + } + } +} + +function DnDGame::testObjectDefend(%game, %victimID, %killerID) +{ + InitContainerRadiusSearch(%victimID.plyrPointOfDeath, %game.RADIUS_OBJECT_DEFENSE, $TypeMasks::StaticShapeObjectType); + %objID = containerSearchNext(); + while(%objID != 0) + { + if((%objID.scoreValue && !%objID.objectiveCompleted) && (%objID.team == %killerID.team)) + return true; //found the(a) killer's objective near the victim's point of death + else + %objID = containerSearchNext(); + } + return false; // didn't find a qualifying objective within required radius of victims point of death +} + +function DnDGame::awardScoreObjectDefend(%game, %killerID) +{ + %killerID.objDefends++; + messageClient(%killerID, 'msgObjDef', '\c0You received a %1 point bonus for defending an objective.', %game.SCORE_PER_OBJECT_DEFEND); + messageTeamExcept(%killerID, 'msgObjDef', '\c0Teammate %1 received a %2 point bonus for defending an objective.', %killerID.name, %game.SCORE_PER_OBJECT_DEFEND); + %game.recalcScore(%killerID); + return %game.SCORE_PER_OBJECT_DEFEND; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Destroy Scoring Functions //////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +function DnDGame::awardScoreTkDestroy(%game, %cl, %obj) +{ + %cl.tkDestroys++; + teamDestroyMessage(%cl, 'msgTkDes', '\c5Teammate %1 destroyed your team\'s %3 objective!', %cl.name, %game.cleanWord(%obj.getDataBlock().targetTypeTag)); + messageClient(%cl, 'msgTkDes', '\c0You have been penalized %1 points for destroying your teams equiptment.', %game.SCORE_PER_TK_DESTROY); + %game.recalcScore(%cl); + %game.shareScore(%cl, %game.SCORE_PER_TK_DESTROY); +} + +function DnDGame::awardScoreStaticShapeDestroy(%game, %cl, %obj) +{ + %dataName = %obj.getDataBlock().getName(); + switch$ ( %dataName ) + { + case "GeneratorLarge": + %cl.genDestroys++; + %value = %game.SCORE_PER_DESTROY_GEN; + %msgType = 'msgGenDes'; + %tMsg = '\c5%1 destroyed a %2 Generator!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy generator.'; + + case "SolarPanel": + %cl.solarDestroys++; + %value = %game.SCORE_PER_DESTROY_SOLAR; + %msgType = 'msgSolarDes'; + %tMsg = '\c5%1 destroyed a %2 Solar Panel!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy solar panel.'; + + case "SensorLargePulse": + %cl.sensorDestroys++; + %value = %game.SCORE_PER_DESTROY_SENSOR; + %msgType = 'msgSensorDes'; + %tMsg = '\c5%1 destroyed a %2 Sensor!'; + %clMsg = '\c0You received a %1 point bonus for destroying a large enemy pulse sensor.'; + + case "SensorMediumPulse": + %cl.sensorDestroys++; + %value = %game.SCORE_PER_DESTROY_SENSOR; + %msgType = 'msgSensorDes'; + %tMsg = '\c5%1 destroyed a %2 Sensor!'; + %clMsg = '\c0You received a %1 point bonus for destroying a medium enemy pulse sensor.'; + + case "TurretBaseLarge": + %cl.turretDestroys++; + %value = %game.SCORE_PER_DESTROY_TURRET; + %msgType = 'msgTurretDes'; + %tMsg = '\c5%1 destroyed a %2 Turret!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy base turret.'; + + case "StationInventory": + %cl.IStationDestroys++; + %value = %game.SCORE_PER_DESTROY_GEN; + %msgType = 'msgInvDes'; + %tMsg = '\c5%1 destroyed a %2 Inventory Station!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy inventory station.'; + + case "StationAmmo": + %cl.aStationDestroys++; + %value = %game.SCORE_PER_DESTROY_ASTATION; + %msgType = 'msgAmmoDes'; + %tMsg = '\c5%1 destroyed a % 2 Ammo Station!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy ammo station.'; + + case "StationVehicle": + %cl.VStationDestroys++; + %value = %game.SCORE_PER_DESTROY_VSTATION; + %msgType = 'msgVSDes'; + %tMsg = '\c5%1 destroyed a Vehicle Station!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy vehicle station.'; + + case "SentryTurret": + %cl.sentryDestroys++; + %value = %game.SCORE_PER_DESTROY_SENTRY; + %msgType = 'msgSentryDes'; + %tMsg = '\c5%1 destroyed a %2 Sentry Turret!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy sentry turret.'; + + case "DeployedMotionSensor": + %cl.depSensorDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_SENSOR; + %msgType = 'msgDepSensorDes'; + %tMsg = '\c5%1 destroyed a Deployable Motion Sensor!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable motion sensor.'; + + case "DeployedPulseSensor": + %cl.depSensorDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_SENSOR; + %msgType = 'msgDepSensorDes'; + %tMsg = '\c5%1 destroyed a Deployable Pulse Sensor!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable pulse sensor.'; + + case "TurretDeployedWallIndoor": + %cl.depTurretDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_TUR; + %msgType = 'msgDepTurDes'; + %tMsg = '\c5%1 destroyed a Deployable Spider Clamp Turret!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable spider clamp turret.'; + + case "TurretDeployedFloorIndoor": + %cl.depTurretDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_TUR; + %msgType = 'msgDepTurDes'; + %tMsg = '\c5%1 destroyed a Deployable Spider Clamp Turret!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable spider clamp turret.'; + + case "TurretDeployedCeilingIndoor": + %cl.depTurretDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_TUR; + %msgType = 'msgDepTurDes'; + %tMsg = '\c5%1 destroyed a Deployable Spider Clamp Turret!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable spider clamp turret.'; + + case "TurretDeployedOutdoor": + %cl.depTurretDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_TUR; + %msgType = 'msgDepTurDes'; + %tMsg = '\c5%1 destroyed a Deployable Landspike Turret!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable landspike turret.'; + + case "DeployedStationInventory": + %cl.depStationDestroys++; + %value = %game.SCORE_PER_DESTROY_DEP_INV; + %msgType = 'msgDepInvDes'; + %tMsg = '\c5%1 destroyed a Deployable Inventory!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy deployable inventory station.'; + + case "MPBTeleporter": + %cl.TStationDestroys++; + %value = %game.SCORE_PER_DESTROY_TSTATION; + %msgType = 'msgMPBTeleDes'; + %tMsg = '\c5%1 destroyed a MPB Teleport Station!'; + %clMsg = '\c0You received a %1 point bonus for destroying an enemy MPB teleport station.'; + + default: + return; + } + teamDestroyMessage(%cl, 'msgDestroyed', %tMsg, %cl.name, %obj.nameTag); // z0dd - ZOD, 8/20/02. Send teammates a destroy message + messageClient(%cl, %msgType, %clMsg, %value, %dataName); + %game.recalcScore(%cl); + %game.shareScore(%scorer, %value); +} + +function DnDGame::awardScoreTurretKill(%game, %victimID, %implement) +{ + if ((%killer = %implement.getControllingClient()) != 0) //award whoever might be controlling the turret + { + if (%killer == %victimID) + %game.awardScoreSuicide(%victimID); + else if (%killer.team == %victimID.team) //player controlling a turret killed a teammate + { + %killer.teamKills++; + %game.awardScoreTurretTeamKill(%victimID, %killer); + %game.awardScoreDeath(%victimID); + } + else + { + %killer.mannedturretKills++; + %game.recalcScore(%killer); + %game.awardScoreDeath(%victimID); + } + } + else if ((%killer = %implement.owner) != 0) //if it isn't controlled, award score to whoever deployed it + { + if (%killer.team == %victimID.team) + { + %game.awardScoreDeath(%victimID); + } + else + { + %killer.turretKills++; + %game.recalcScore(%killer); + %game.awardScoreDeath(%victimID); + } + } + //default is, no one was controlling it, no one owned it. No score given. +} + +function DnDGame::testKill(%game, %victimID, %killerID) +{ + return ((%killerID != 0) && (%victimID.team != %killerID.team)); +} + +function DnDGame::awardScoreKill(%game, %killerID) +{ + %killerID.kills++; + %game.recalcScore(%killerID); + return %game.SCORE_PER_KILL; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Repair Scoring Functions ///////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +function DnDGame::testValidRepair(%game, %obj) +{ + if(!%obj.wasDisabled) + return false; + else if(%obj.lastDamagedByTeam == %obj.team) + return false; + else if(%obj.team != %obj.repairedBy.team) + return false; + else + { + if(%obj.soiledByEnemyRepair) + %obj.soiledByEnemyRepair = false; + return true; + } +} + +function DnDGame::objectRepaired(%game, %obj, %objName) +{ + %game.staticShapeOnRepaired(%obj, %objName); + %obj.wasDisabled = false; +} + +function DnDGame::staticShapeOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + %dataName = %obj.getDataBlock().getName(); + switch$ (%dataName) + { + case "GeneratorLarge": + %repairman.genRepairs++; + %score = %game.SCORE_PER_REPAIR_GEN; + %tMsgType = 'msgGenRepaired'; + %msgType = 'msgGenRep'; + %tMsg = '\c0%1 repaired the %2 Generator!'; + %clMsg = '\c0You received a %1 point bonus for repairing a generator.'; + + case "SolarPanel": + %repairman.solarRepairs++; + %score = %game.SCORE_PER_REPAIR_SOLAR; + %tMsgType = 'msgsolarRepaired'; + %msgType = 'msgsolarRep'; + %tMsg = '\c0%1 repaired the %2 Solar Panel!'; + %clMsg = '\c0You received a %1 point bonus for repairing a solar panel.'; + + case "SensorLargePulse": + %repairman.sensorRepairs++; + %score = %game.SCORE_PER_REPAIR_SENSOR; + %tMsgType = 'msgSensorRepaired'; + %msgType = 'msgSensorRep'; + %tMsg = '\c0%1 repaired the %2 Large Pulse Sensor!'; + %clMsg = '\c0You received a %1 point bonus for repairing a large pulse sensor.'; + + case "SensorMediumPulse": + %repairman.sensorRepairs++; + %score = %game.SCORE_PER_REPAIR_SENSOR; + %tMsgType = 'msgSensorRepaired'; + %msgType = 'msgSensorRep'; + %tMsg = '\c0%1 repaired the %2 Medium Pulse Sensor!'; + %clMsg = '\c0You received a %1 point bonus for repairing a medium pulse sensor.'; + + case "DeployedMotionSensor": + %repairman.depSensorRepairs++; + %tMsgType = 'msgDepSensorRepaired'; + %msgType = 'msgDepSensorRep'; + %score = %game.SCORE_PER_REPAIR_DEP_SENSOR; + %tMsg = '\c0%1 repaired a Deployed Motion Sensor!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployed motion sensor.'; + + case "DeployedPulseSensor": + %repairman.depSensorRepairs++; + %score = %game.SCORE_PER_REPAIR_DEP_SENSOR; + %tMsgType = 'msgDepSensorRepaired'; + %msgType = 'msgDepSensorRep'; + %tMsg = '\c0%1 repaired a Deployed Pulse Sensor!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployed pulse sensor.'; + + case "StationInventory": + %repairman.stationRepairs++; + %score = %game.SCORE_PER_REPAIR_ISTATION; + %tMsgType = 'msgStationRepaired'; + %msgType = 'msgIStationRep'; + %tMsg = '\c0%1 repaired the %2 Inventory Station!'; + %clMsg = '\c0You received a %1 point bonus for repairing a inventory station.'; + + case "StationAmmo": + %repairman.stationRepairs++; + %score = %game.SCORE_PER_REPAIR_ASTATION; + %tMsgType = 'msgStationRepaired'; + %msgType = 'msgAStationRep'; + %tMsg = '\c0%1 repaired the %2 Ammo Station!'; + %clMsg = '\c0You received a %1 point bonus for repairing a ammo station.'; + + case "StationVehicle": + %repairman.VStationRepairs++; + %score = %game.SCORE_PER_REPAIR_VSTATION; + %tMsgType = 'msgvstationRepaired'; + %msgType = 'msgVStationRep'; + %tMsg = '\c0%1 repaired the Vehicle Station!'; + %clMsg = '\c0You received a %1 point bonus for repairing a vehicle station.'; + + case "TurretBaseLarge": + %repairman.TurretRepairs++; + %score = %game.SCORE_PER_REPAIR_TURRET; + %tMsgType = 'msgTurretRepaired'; + %msgType = 'msgTurretRep'; + %tMsg = '\c0%1 repaired the %2 Turret!'; + %clMsg = '\c0You received a %1 point bonus for repairing a base turret.'; + + case "SentryTurret": + %repairman.sentryRepairs++; + %score = %game.SCORE_PER_REPAIR_SENTRY; + %tMsgType = 'msgsentryTurretRepaired'; + %msgType = 'msgSentryRep'; + %tMsg = '\c0%1 repaired the %2 Sentry Turret!'; + %clMsg = '\c0You received a %1 point bonus for repairing a sentry turret.'; + + case "TurretDeployedWallIndoor": + %repairman.depTurretRepairs++; + %score = %game.SCORE_PER_REPAIR_DEP_TUR; + %tMsgType = 'msgDepTurretRepaired'; + %msgType = 'msgDepTurretRep'; + %tMsg = '\c0%1 repaired a Spider Clamp Turret!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployable spider clamp turret.'; + + case "TurretDeployedFloorIndoor": + %repairman.depTurretRepairs++; + %score = %game.SCORE_PER_REPAIR_DEP_TUR; + %tMsgType = 'msgDepTurretRepaired'; + %msgType = 'msgDepTurretRep'; + %tMsg = '\c0%1 repaired a Spider Clamp Turret!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployable spider clamp turret.'; + + case "TurretDeployedCeilingIndoor": + %repairman.depTurretRepairs++; + %score = %game.SCORE_PER_REPAIR_DEP_TUR; + %tMsgType = 'msgDepTurretRepaired'; + %msgType = 'msgDepTurretRep'; + %tMsg = '\c0%1 repaired a Spider Clamp Turret!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployable spider clamp turret.'; + + case "TurretDeployedOutdoor": + %repairman.depTurretRepairs++; + %score = %game.SCORE_PER_REPAIR_DEP_TUR; + %tMsgType = 'msgDepTurretRepaired'; + %msgType = 'msgDepTurretRep'; + %tMsg = '\c0%1 repaired a Landspike Turret!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployable landspike turret.'; + + case "DeployedStationInventory": + %repairman.depInvRepairs++; + %score = %game.SCORE_PER_REPAIR_DEP_INV; + %tMsgType = 'msgDepInvRepaired'; + %msgType = 'msgDepInvRep'; + %tMsg = '\c0%1 repaired a Deployable Inventory!'; + %clMsg = '\c0You received a %1 point bonus for repairing a deployed inventory station.'; + + case "MPBTeleporter": + %repairman.TStationRepairs++; + %score = %game.SCORE_PER_REPAIR_TSTATION; + %tMsgType = 'msgMPBTeleRepaired'; + %msgType = 'msgMPBTeleRep'; + %tMsg = '\c0%1 repaired the MPB Teleporter Station!'; + %clMsg = '\c0You received a %1 point bonus for repairing a mpb teleporter station.'; + + default: + return; + } + teamRepairMessage(%repairman, %tMsgType, %tMsg, %repairman.name, %obj.nameTag); + messageClient(%repairman, %msgType, %clMsg, %score, %dataName); + %game.recalcScore(%repairman); + } +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Misc Functions ////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +function DnDGame::enterMissionArea(%game, %playerData, %player) +{ + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); + logEcho(%player.client.nameBase @ " (pl " @ %player @ "/cl "@%player.client @ ") entered mission area"); + cancel(%player.alertThread); +} + +function DnDGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %player.client.outOfBounds = true; + messageClient(%player.client, 'LeaveMissionArea', '\c1You have left the mission area. Return or take damage.~wfx/misc/warning_beep.wav'); + logEcho(%player.client.nameBase @ " (pl " @ %player @ "/cl " @ %player.client @ ") left mission area"); + %player.alertThread = %game.schedule(1000, "DMAlertPlayer", 3, %player); +} + +function DnDGame::DMAlertPlayer(%game, %count, %player) +{ + // MES - I commented below line out because it prints a blank line to chat window + //messageClient(%player.client, 'MsgDMLeftMisAreaWarn', '~wfx/misc/red_alert.wav'); + if(%count > 1) + %player.alertThread = %game.schedule(1000, "DMAlertPlayer", %count - 1, %player); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); +} + +function DnDGame::MissionAreaDamage(%game, %player) +{ + if(%player.getState() !$= "Dead") + { + %player.setDamageFlash(0.1); + %prevHurt = %player.getDamageLevel(); + %player.setDamageLevel(%prevHurt + 0.05); + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); + } + else + { + if(%player.alertThread !$= "") + { + cancel(%player.alertThread); + %player.alertThread = ""; + } + if(%player.client.team != 0) + { + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); + } + } +} + +function DnDGame::applyConcussion(%game, %player) +{ + %player.throwPack(); + %player.throwWeapon(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/EditChatMenuGui.cs b/public/base/@vl2/scripts.vl2/scripts/EditChatMenuGui.cs new file mode 100644 index 00000000..e4179341 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/EditChatMenuGui.cs @@ -0,0 +1,508 @@ +//------------------------------------------------------------------------------ +// +// EditChatMenuGui.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +function EditChatMenuGui::onWake( %this ) +{ + fillChatMenuTree(); +} + +//------------------------------------------------------------------------------ +function EditChatMenuGui::onSleep( %this ) +{ + chatMenuGuiTree.clear(); +} + +//------------------------------------------------------------------------------ +function fillChatMenuTree() +{ + %guiRoot = chatMenuGuiTree.getFirstRootItem(); + %newGuiId = chatMenuGuiTree.insertItem( %guiRoot, "CHAT MENU ROOT", 0 ); + traverseChatMenu( %newGuiId, $RootChatMenu ); + chatMenuGuiTree.expandItem( %newGuiId ); + chatMenuGuiTree.selectItem( %newGuiId ); + chatMenuGuiTree.dirty = false; +} + +//------------------------------------------------------------------------------ +function traverseChatMenu( %guiID, %menu ) +{ + for ( %i = 0; %i < %menu.optionCount; %i++ ) + { + %text = %menu.option[%i]; + + if ( %menu.isMenu[%i] ) + { + //echo( "** add menu item \"" @ %menu.option[%i] @ "\" **" ); + %newGuiID = chatMenuGuiTree.insertItem( %guiID, %text, 0 ); + traverseChatMenu( %newGuiID, %menu.command[%i] ); + } + else + { + //echo( "** add command item \"" @ %menu.option[%i] @ "\" (" @ %menu.command[%i] @ ") **" ); + %temp = %menu.command[%i]; + %cmdId = getSubStr( %temp, 1, strlen( temp ) - 1 ); + %commandName = $ChatTable[%cmdId].name; + %text = %text @ " - ( " @ %commandName @ " )"; + chatMenuGuiTree.insertItem( %guiID, %text, %cmdId ); + } + } +} + +//------------------------------------------------------------------------------ +function newChatMenu() +{ + chatMenuGuiTree.clear(); + %guiRoot = chatMenuGuiTree.getFirstRootItem(); + chatMenuGuiTree.insertItem( %guiRoot, "CHAT MENU ROOT", 0 ); + chatMenuGuiTree.dirty = true; +} + +//------------------------------------------------------------------------------ +function saveChatMenu() +{ + //getSaveFilename( "prefs/chatMenu/*.cs", doSaveChatMenu ); + doSaveChatMenu( "customVoiceBinds.cs" ); +} + +//------------------------------------------------------------------------------ +function resetChatMenu() +{ + doLoadChatMenu( "scripts/voiceBinds.cs" ); +} + +//------------------------------------------------------------------------------ +//function loadChatMenu() +//{ +// getLoadFilename( "prefs/chatMenu/*.cs", doLoadChatMenu ); +//} + +//------------------------------------------------------------------------------ +function doSaveChatMenu( %filename ) +{ + %filename = fileBase( %filename ); + if ( %filename $= "" ) + return; + + new fileObject( "saveFile" ); + saveFile.openForWrite( "prefs/" @ %filename @ ".cs" ); + + // Write a little header... + saveFile.writeLine( "//------------------------------------------------------------------------------" ); + saveFile.writeLine( "//" ); + saveFile.writeLine( "// Tribes 2 voice chat menu." ); + saveFile.writeLine( "//" ); + saveFile.writeLine( "//------------------------------------------------------------------------------" ); + saveFile.writeLine( " " ); + + // Fire off the tree-traversing write function: + %rootItem = chatMenuGuiTree.getFirstRootItem(); + writeTreeNode( saveFile, chatMenuGuiTree.getChild( %rootItem ) ); + + saveFile.close(); + saveFile.delete(); + + chatMenuGuiTree.dirty = false; + + MessageBoxOK( "SAVED", "Save successful." ); +} + +//------------------------------------------------------------------------------ +function writeTreeNode( %file, %item ) +{ + %temp = chatMenuGuiTree.getItemText( %item ); + %key = getSubStr( firstWord( %temp ), 0, 1 ); + %text = restWords( %temp ); + %command = chatMenuGuiTree.getItemValue( %item ); + + if ( strcmp( %command, "0" ) == 0 ) + { + %file.writeLine( "startChatMenu( \"" @ %key @ " " @ %text @ "\" );" ); + %child = chatMenuGuiTree.getChild( %item ); + if ( %child ) + writeTreeNode( %file, %child ); + + %file.writeLine( "endChatMenu(); // " @ %text ); + } + else + { + // Clip the command text off of the string: + %cmdName = $ChatTable[%command].name; + %text = getSubStr( %text, 0, strlen( %text ) - strlen( %cmdName ) - 7 ); + %file.writeLine( "addChat( \"" @ %key @ " " @ %text @ "\", '" @ %cmdName @ "' );" ); + } + + %sibling = chatMenuGuiTree.getNextSibling( %item ); + if ( %sibling != 0 ) + writeTreeNode( %file, %sibling ); +} + +//------------------------------------------------------------------------------ +function doLoadChatMenu( %filename ) +{ + // Clear existing chat menu: + chatMenuGuiTree.clear(); + + // Load the file... + activateChatMenu( %filename ); + fillChatMenuTree(); +} + +//------------------------------------------------------------------------------ +function chatMenuGuiTree::onRightMouseDown( %this, %item, %pos ) +{ + // launch the action menu... + chatMenuGuiTree.selectItem( %item ); + ChatMenuItemActionPopup.awaken( %item, %pos ); +} + +//------------------------------------------------------------------------------ +function editSelectedChatMenuItem() +{ + %item = chatMenuGuiTree.getSelectedItem(); + if ( %item != chatMenuGuiTree.getFirstRootItem() ) + { + %temp = chatMenuGuiTree.getItemText( %item ); + if ( strlen( %temp ) > 0 ) + { + %key = getSubStr( firstWord( %temp ), 0, 1 ); + %text = restWords( %temp ); + %command = chatMenuGuiTree.getItemValue( %item ); + if ( %command $= "0" ) + editChatMenu( %key, %text, "doEditChatMenu" ); + else + { + %temp = strlen( $ChatTable[%command].name ) + 7; + %text = getSubStr( %text, 0, strlen( %text ) - %temp ); + editChatCommand( %key, %text, %command, "doEditChatCommand" ); + } + } + } +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +function ChatMenuItemActionPopup::awaken( %this, %item, %pos ) +{ + %this.position = %pos; + %this.clear(); + + %treeRoot = chatMenuGuiTree.getFirstRootItem(); + %isMenu = ( strcmp( chatMenuGuiTree.getItemValue( %item ), "0" ) == 0 ); + + if ( %item != %treeRoot ) + %this.addEntry( "Edit", 0 ); + + if ( %isMenu ) + { + %this.addEntry( "Add menu", 1 ); + %this.addEntry( "Add command", 2 ); + } + + if ( chatMenuGuiTree.getPrevSibling( %item ) ) + %this.addEntry( "Move up", 3 ); + + if ( chatMenuGuiTree.getNextSibling( %item ) ) + %this.addEntry( "Move down", 4 ); + + if ( %item != %treeRoot ) + %this.addEntry( "Delete", 5 ); + + if ( %this.numEntries == 0 ) + return; + + Canvas.pushDialog( ChatMenuItemActionDlg ); + %this.forceOnAction(); +} + +//------------------------------------------------------------------------------ +function ChatMenuItemActionPopup::addEntry( %this, %text, %id ) +{ + %this.numEntries++; + %this.add( %text, %id ); +} + +//------------------------------------------------------------------------------ +function ChatMenuItemActionPopup::reset( %this ) +{ + %this.numEntries = 0; + %this.forceClose(); + Canvas.popDialog( ChatMenuItemActionDlg ); +} + +//------------------------------------------------------------------------------ +function ChatMenuItemActionPopup::onSelect( %this, %id, %text ) +{ + %item = chatMenuGuiTree.getSelectedItem(); + + switch ( %id ) + { + case 0: // Edit + %temp = chatMenuGuiTree.getItemText( %item ); + %key = getSubStr( firstWord( %temp ), 0, 1 ); + %text = restWords( %temp ); + %command = chatMenuGuiTree.getItemValue( %item ); + if ( strcmp( %command, "0" ) == 0 ) + editChatMenu( %key, %text, "doEditChatMenu" ); + else + { + // Strip the command name from the text: + %temp = strlen( $ChatTable[%command].name ) + 7; + %text = getSubStr( %text, 0, strlen( %text ) - %temp ); + editChatCommand( %key, %text, %command, "doEditChatCommand" ); + } + case 1: // Add menu + editChatMenu( "", "", "doNewChatMenu" ); + case 2: // Add command + editChatCommand( "", "", "", "doNewChatCommand" ); + case 3: // Move up + chatMenuGuiTree.moveItemUp( %item ); + chatMenuGuiTree.dirty = true; + case 4: // Move down + %nextItem = chatMenuGuiTree.getNextSibling( %item ); + chatMenuGuiTree.moveItemUp( %nextItem ); + chatMenuGuiTree.dirty = true; + case 5: // Delete + chatMenuGuiTree.removeItem( %item ); + chatMenuGuiTree.dirty = true; + } + + %this.reset(); +} + +//------------------------------------------------------------------------------ +function ChatMenuItemActionPopup::onCancel( %this ) +{ + %this.reset(); +} + +//------------------------------------------------------------------------------ +function editChatMenu( %key, %text, %callback ) +{ + $ECI::key = %key; + $ECI::text = %text; + $ECI::OKCommand = %callback @ "($ECI::key, $ECI::text);"; + Canvas.pushDialog( EditChatMenuDlg ); +} + +//------------------------------------------------------------------------------ +function editChatCommand( %key, %text, %command, %callback ) +{ + $ECI::key = %key; + $ECI::text = %text; + $ECI::command = %command; + $ECI::OKCommand = %callback @ "($ECI::key, $ECI::text, $ECI::command);"; + Canvas.pushDialog( EditChatCommandDlg ); +} + +//------------------------------------------------------------------------------ +function doEditChatMenu( %key, %text ) +{ + if ( strlen( %key ) && strlen( %text ) ) + { + Canvas.popDialog( EditChatMenuDlg ); + %item = chatMenuGuiTree.getSelectedItem(); + %newText = %key @ ": " @ %text; + chatMenuGuiTree.editItem( %item, %newText, "0" ); + checkSiblings( %item ); + chatMenuGuiTree.dirty = true; + } + //else + // WARN +} + +//------------------------------------------------------------------------------ +function doEditChatCommand( %key, %text, %command ) +{ + if ( strlen( %key ) && strlen( %text ) && isObject( $ChatTable[%command] ) ) + { + Canvas.popDialog( EditChatCommandDlg ); + %item = chatMenuGuiTree.getSelectedItem(); + %newText = %key @ ": " @ %text @ " - ( " @ $ChatTable[%command].name @ " )"; + chatMenuGuiTree.editItem( %item, %newText, %command ); + checkSiblings( %item ); + chatMenuGuiTree.dirty = true; + } + //else + // WARN +} + +//------------------------------------------------------------------------------ +function doNewChatMenu( %key, %text ) +{ + if ( strlen( %key ) && strlen( %text ) ) + { + Canvas.popDialog( EditChatMenuDlg ); + %item = chatMenuGuiTree.getSelectedItem(); + %newText = %key @ ": " @ %text; + %newItem = chatMenuGuiTree.insertItem( %item, %newText, "0" ); + chatMenuGuiTree.expandItem( %item ); + chatMenuGuiTree.selectItem( %newItem ); + checkSiblings( %newItem ); + chatMenuGuiTree.dirty = true; + } + //else + // WARN +} + +//------------------------------------------------------------------------------ +function doNewChatCommand( %key, %text, %command ) +{ + if ( strlen( %key ) && strlen( %text ) && isObject( $ChatTable[%command] ) ) + { + Canvas.popDialog( EditChatCommandDlg ); + %item = chatMenuGuiTree.getSelectedItem(); + %newText = %key @ ": " @ %text @ " - ( " @ $ChatTable[%command].name @ " )"; + %newItem = chatMenuGuiTree.insertItem( %item, %newText, %command ); + chatMenuGuiTree.expandItem( %item ); + chatMenuGuiTree.selectItem( %newItem ); + checkSiblings( %newItem ); + chatMenuGuiTree.dirty = true; + } + //else + // WARN +} + + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +function EditChatMenuDlg::onWake( %this ) +{ +} + +//------------------------------------------------------------------------------ +function EditChatCommandDlg::onWake( %this ) +{ + // Fill the command popup list: + EditChatCommandList.clear(); + for ( %i = $MinChatItemId; %i <= $MaxChatItemId; %i++ ) + { + if ( isObject( $ChatTable[%i] ) ) + EditChatCommandList.add( $ChatTable[%i].name, %i ); + } + EditChatCommandList.sort( true ); + + // Select the current command: + if ( isObject( $ChatTable[$ECI::command] ) ) + { + EditChatCommandList.setSelected( $ECI::command ); + EditChatCommandMessage.setText( $ChatTable[$ECI::command].text ); + ChatCommandTestBtn.setVisible( true ); + } + else + { + EditChatCommandList.setText( "Select command" ); + EditChatCommandMessage.setText( " " ); + ChatCommandTestBtn.setVisible( false ); + } +} + +//------------------------------------------------------------------------------ +function EditChatCommandList::onSelect( %this, %index, %value ) +{ + $ECI::command = %index; + EditChatCommandMessage.setText( $ChatTable[%index].text ); + ChatCommandTestBtn.setVisible( true ); +} + +//------------------------------------------------------------------------------ +function checkSiblings( %item ) +{ + %allClear = true; + %sibling = chatMenuGuiTree.getPrevSibling( %item ); + while ( %sibling != 0 ) + { + %siblingKey = getSubStr( firstWord( chatMenuGuiTree.getItemText( %sibling ) ), 0, 1 ); + if ( %siblingKey $= $ECI::key ) + { + %allClear = false; + break; + } + %sibling = chatMenuGuiTree.getPrevSibling( %sibling ); + } + + if ( %allClear ) + { + %sibling = chatMenuGuiTree.getNextSibling( %item ); + while ( %sibling != 0 ) + { + %siblingKey = getSubStr( firstWord( chatMenuGuiTree.getItemText( %sibling ) ), 0, 1 ); + if ( %siblingKey $= $ECI::key ) + { + %allClear = false; + break; + } + %sibling = chatMenuGuiTree.getNextSibling( %sibling ); + } + } + + if ( !%allClear ) + { + if ( chatMenuGuiTree.getItemValue( %item ) $= "0" ) + %text1 = restWords( chatMenuGuiTree.getItemText( %item ) ); + else + { + %temp = chatMenuGuiTree.getItemText( %item ); + %text1 = getWords( %temp, 1, getWordCount( %temp ) - 5 ); + } + + if ( chatMenuGuiTree.getItemValue( %sibling ) $= "0" ) + %text2 = restWords( chatMenuGuiTree.getItemText( %sibling ) ); + else + { + %temp = chatMenuGuiTree.getItemText( %sibling ); + %text2 = getWords( %temp, 1, getWordCount( %temp ) - 5 ); + } + + MessageBoxOK( "WARNING", "Menu siblings \"" @ %text1 @ "\" and \"" @ %text2 @ "\" are both bound to the \'" @ %siblingKey @ "\' key!" ); + } + + return %allClear; +} + +//------------------------------------------------------------------------------ +function testChatCommand( %command ) +{ + // Play the sound: + if ( $pref::Player::Count > 0 ) + %voiceSet = getField( $pref::Player[$pref::Player::Current], 3 ); + else + %voiceSet = "Male1"; + + ChatCommandTestBtn.setActive( false ); + %wav = "voice/" @ %voiceSet @ "/" @ $ChatTable[%command].audioFile @ ".wav"; + %handle = alxCreateSource( AudioChat, %wav ); + alxPlay( %handle ); + %delay = alxGetWaveLen( %wav ); + schedule( %delay, 0, "restoreCommandTestBtn" ); +} + +//------------------------------------------------------------------------------ +function restoreCommandTestBtn() +{ + ChatCommandTestBtn.setActive( true ); +} + +//------------------------------------------------------------------------------ +function leaveChatMenuEditor() +{ + if ( chatMenuGuiTree.dirty ) + MessageBoxYesNo( "CHANGES", "Do you want to save your changes?", + "saveChatMenu(); reallyLeaveChatMenuEditor();", + "reallyLeaveChatMenuEditor();" ); + else + reallyLeaveChatMenuEditor(); +} + +//------------------------------------------------------------------------------ +function reallyLeaveChatMenuEditor() +{ + activateChatMenu( "prefs/customVoiceBinds.cs" ); + Canvas.popDialog( EditChatMenuGui ); + Canvas.pushDialog( OptionsDlg ); +} + + diff --git a/public/base/@vl2/scripts.vl2/scripts/EditorGui.cs b/public/base/@vl2/scripts.vl2/scripts/EditorGui.cs new file mode 100644 index 00000000..5323f921 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/EditorGui.cs @@ -0,0 +1,3161 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +function EditorGui::getPrefs() +{ + EWorldEditor.dropType = getPrefSetting($Pref::WorldEditor::dropType, "atCamera"); + + // same defaults as WorldEditor ctor + EWorldEditor.planarMovement = getPrefSetting($pref::WorldEditor::planarMovement, true); + EWorldEditor.undoLimit = getPrefSetting($pref::WorldEditor::undoLimit, 40); + EWorldEditor.dropType = getPrefSetting($pref::WorldEditor::dropType, "screenCenter"); + EWorldEditor.projectDistance = getPrefSetting($pref::WorldEditor::projectDistance, 2000); + EWorldEditor.boundingBoxCollision = getPrefSetting($pref::WorldEditor::boundingBoxCollision, true); + EWorldEditor.renderPlane = getPrefSetting($pref::WorldEditor::renderPlane, true); + EWorldEditor.renderPlaneHashes = getPrefSetting($pref::WorldEditor::renderPlaneHashes, true); + EWorldEditor.gridColor = getPrefSetting($pref::WorldEditor::gridColor, "255 255 255 20"); + EWorldEditor.planeDim = getPrefSetting($pref::WorldEditor::planeDim, 500); + EWorldEditor.gridSize = getPrefSetting($pref::WorldEditor::gridSize, "10 10 10"); + EWorldEditor.renderPopupBackground = getPrefSetting($pref::WorldEditor::renderPopupBackground, true); + EWorldEditor.popupBackgroundColor = getPrefSetting($pref::WorldEditor::popupBackgroundColor, "100 100 100"); + EWorldEditor.popupTextColor = getPrefSetting($pref::WorldEditor::popupTextColor, "255 255 0"); + EWorldEditor.selectHandle = getPrefSetting($pref::WorldEditor::selectHandle, "gui/Editor_SelectHandle.png"); + EWorldEditor.defaultHandle = getPrefSetting($pref::WorldEditor::defaultHandle, "gui/Editor_DefaultHandle.png"); + EWorldEditor.lockedHandle = getPrefSetting($pref::WorldEditor::lockedHandle, "gui/Editor_LockedHandle.png"); + EWorldEditor.objectTextColor = getPrefSetting($pref::WorldEditor::objectTextColor, "255 255 255"); + EWorldEditor.objectsUseBoxCenter = getPrefSetting($pref::WorldEditor::objectsUseBoxCenter, true); + EWorldEditor.axisGizmoMaxScreenLen = getPrefSetting($pref::WorldEditor::axisGizmoMaxScreenLen, 200); + EWorldEditor.axisGizmoActive = getPrefSetting($pref::WorldEditor::axisGizmoActive, true); + EWorldEditor.mouseMoveScale = getPrefSetting($pref::WorldEditor::mouseMoveScale, 0.2); + EWorldEditor.mouseRotateScale = getPrefSetting($pref::WorldEditor::mouseRotateScale, 0.01); + EWorldEditor.mouseScaleScale = getPrefSetting($pref::WorldEditor::mouseScaleScale, 0.01); + EWorldEditor.minScaleFactor = getPrefSetting($pref::WorldEditor::minScaleFactor, 0.1); + EWorldEditor.maxScaleFactor = getPrefSetting($pref::WorldEditor::maxScaleFactor, 4000); + EWorldEditor.objSelectColor = getPrefSetting($pref::WorldEditor::objSelectColor, "255 0 0"); + EWorldEditor.objMouseOverSelectColor = getPrefSetting($pref::WorldEditor::objMouseOverSelectColor, "0 0 255"); + EWorldEditor.objMouseOverColor = getPrefSetting($pref::WorldEditor::objMouseOverColor, "0 255 0"); + EWorldEditor.showMousePopupInfo = getPrefSetting($pref::WorldEditor::showMousePopupInfo, true); + EWorldEditor.dragRectColor = getPrefSetting($pref::WorldEditor::dragRectColor, "255 255 0"); + EWorldEditor.renderObjText = getPrefSetting($pref::WorldEditor::renderObjText, true); + EWorldEditor.renderObjHandle = getPrefSetting($pref::WorldEditor::renderObjHandle, true); + EWorldEditor.faceSelectColor = getPrefSetting($pref::WorldEditor::faceSelectColor, "0 0 100 100"); + EWorldEditor.renderSelectionBox = getPrefSetting($pref::WorldEditor::renderSelectionBox, true); + EWorldEditor.selectionBoxColor = getPrefSetting($pref::WorldEditor::selectionBoxColor, "255 255 0"); + EWorldEditor.snapToGrid = getPrefSetting($pref::WorldEditor::snapToGrid, false); + EWorldEditor.snapRotations = getPrefSetting($pref::WorldEditor::snapRotations, false); + EWorldEditor.rotationSnap = getPrefSetting($pref::WorldEditor::rotationSnap, "15"); + + ETerrainEditor.softSelecting = 1; + ETerrainEditor.currentAction = "raiseHeight"; + ETerrainEditor.currentMode = "select"; +} + +function EditorGui::setPrefs() +{ + $Pref::WorldEditor::dropType = EWorldEditor.dropType; + $pref::WorldEditor::planarMovement = EWorldEditor.planarMovement; + $pref::WorldEditor::undoLimit = EWorldEditor.undoLimit; + $pref::WorldEditor::dropType = EWorldEditor.dropType; + $pref::WorldEditor::projectDistance = EWorldEditor.projectDistance; + $pref::WorldEditor::boundingBoxCollision = EWorldEditor.boundingBoxCollision; + $pref::WorldEditor::renderPlane = EWorldEditor.renderPlane; + $pref::WorldEditor::renderPlaneHashes = EWorldEditor.renderPlaneHashes; + $pref::WorldEditor::gridColor = EWorldEditor.GridColor; + $pref::WorldEditor::planeDim = EWorldEditor.planeDim; + $pref::WorldEditor::gridSize = EWorldEditor.GridSize; + $pref::WorldEditor::renderPopupBackground = EWorldEditor.renderPopupBackground; + $pref::WorldEditor::popupBackgroundColor = EWorldEditor.PopupBackgroundColor; + $pref::WorldEditor::popupTextColor = EWorldEditor.PopupTextColor; + $pref::WorldEditor::selectHandle = EWorldEditor.selectHandle; + $pref::WorldEditor::defaultHandle = EWorldEditor.defaultHandle; + $pref::WorldEditor::lockedHandle = EWorldEditor.lockedHandle; + $pref::WorldEditor::objectTextColor = EWorldEditor.ObjectTextColor; + $pref::WorldEditor::objectsUseBoxCenter = EWorldEditor.objectsUseBoxCenter; + $pref::WorldEditor::axisGizmoMaxScreenLen = EWorldEditor.axisGizmoMaxScreenLen; + $pref::WorldEditor::axisGizmoActive = EWorldEditor.axisGizmoActive; + $pref::WorldEditor::mouseMoveScale = EWorldEditor.mouseMoveScale; + $pref::WorldEditor::mouseRotateScale = EWorldEditor.mouseRotateScale; + $pref::WorldEditor::mouseScaleScale = EWorldEditor.mouseScaleScale; + $pref::WorldEditor::minScaleFactor = EWorldEditor.minScaleFactor; + $pref::WorldEditor::maxScaleFactor = EWorldEditor.maxScaleFactor; + $pref::WorldEditor::objSelectColor = EWorldEditor.objSelectColor; + $pref::WorldEditor::objMouseOverSelectColor = EWorldEditor.objMouseOverSelectColor; + $pref::WorldEditor::objMouseOverColor = EWorldEditor.objMouseOverColor; + $pref::WorldEditor::showMousePopupInfo = EWorldEditor.showMousePopupInfo; + $pref::WorldEditor::dragRectColor = EWorldEditor.dragRectColor; + $pref::WorldEditor::renderObjText = EWorldEditor.renderObjText; + $pref::WorldEditor::renderObjHandle = EWorldEditor.renderObjHandle; + $pref::WorldEditor::raceSelectColor = EWorldEditor.faceSelectColor; + $pref::WorldEditor::renderSelectionBox = EWorldEditor.renderSelectionBox; + $pref::WorldEditor::selectionBoxColor = EWorldEditor.selectionBoxColor; + $pref::WorldEditor::snapToGrid = EWorldEditor.snapToGrid; + $pref::WorldEditor::snapRotations = EWorldEditor.snapRotations; + $pref::WorldEditor::rotationSnap = EWorldEditor.rotationSnap; + +} + +function EditorGui::onSleep(%this) +{ + %this.setPrefs(); +} + +function EditorGui::init(%this) +{ + DropTypeMenu.setEnumContent(WorldEditor, dropType); + %this.getPrefs(); + + DropTypeMenu.setText(EWorldEditor.dropType); + + if(!isObject("terraformer")) + new Terraformer("terraformer"); + $SelectedOperation = -1; + $NextOperationId = 1; + $HeightfieldDirtyRow = -1; + + EditorMenuBar.clearMenus(); + EditorMenuBar.addMenu("File", 0); + EditorMenuBar.addMenuItem("File", "New Mission...", 1); + EditorMenuBar.addMenuItem("File", "Open Mission...", 2, "Ctrl O"); + EditorMenuBar.addMenuItem("File", "Save Mission...", 3, "Ctrl S"); + EditorMenuBar.addMenuItem("File", "Save Mission As...", 4); + EditorMenuBar.addMenuItem("File", "-", 0); + EditorMenuBar.addMenuItem("File", "Export World Editor Selection...", 0); + EditorMenuBar.addMenuItem("File", "Import World Editor Selection...", 0); + EditorMenuBar.addMenuItem("File", "-", 0); + EditorMenuBar.addMenuItem("File", "Import Terraform Data...", 6); + EditorMenuBar.addMenuItem("File", "Import Texture Data...", 5); + EditorMenuBar.addMenuItem("File", "-", 0); + EditorMenuBar.addMenuItem("File", "Export Terraform Bitmap...", 5); + + EditorMenuBar.addMenu("Edit", 1); + EditorMenuBar.addMenuItem("Edit", "Undo", 1, "Ctrl Z"); + EditorMenuBar.setMenuItemBitmap("Edit", "Undo", 1); + EditorMenuBar.addMenuItem("Edit", "Redo", 2, "Ctrl R"); + EditorMenuBar.setMenuItemBitmap("Edit", "Redo", 2); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "Cut", 3, "Ctrl X"); + EditorMenuBar.setMenuItemBitmap("Edit", "Cut", 3); + EditorMenuBar.addMenuItem("Edit", "Copy", 4, "Ctrl C"); + EditorMenuBar.setMenuItemBitmap("Edit", "Copy", 4); + EditorMenuBar.addMenuItem("Edit", "Paste", 5, "Ctrl V"); + EditorMenuBar.setMenuItemBitmap("Edit", "Paste", 5); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "Select All", 6, "Ctrl A"); + EditorMenuBar.addMenuItem("Edit", "Select None", 7, "Ctrl N"); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "Relight Scene", 14, "Alt L"); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "World Editor Settings...", 12); + EditorMenuBar.addMenuItem("Edit", "Terrain Editor Settings...", 13); + + EditorMenuBar.addMenu("Camera", 7); + EditorMenuBar.addMenuItem("Camera", "Drop Camera at Player", 1, "Alt Q"); + EditorMenuBar.addMenuItem("Camera", "Drop Player at Camera", 2, "Alt W"); + EditorMenuBar.addMenuItem("Camera", "Toggle Camera", 10, "Alt C"); + EditorMenuBar.addMenuItem("Camera", "-", 0); + EditorMenuBar.addMenuItem("Camera", "Slowest", 3, "Shift 1", 1); + EditorMenuBar.addMenuItem("Camera", "Very Slow", 4, "Shift 2", 1); + EditorMenuBar.addMenuItem("Camera", "Slow", 5, "Shift 3", 1); + EditorMenuBar.addMenuItem("Camera", "Medium Pace", 6, "Shift 4", 1); + EditorMenuBar.addMenuItem("Camera", "Fast", 7, "Shift 5", 1); + EditorMenuBar.addMenuItem("Camera", "Very Fast", 8, "Shift 6", 1); + EditorMenuBar.addMenuItem("Camera", "Fastest", 9, "Shift 7", 1); + + EditorMenuBar.addMenu("World", 6); + EditorMenuBar.addMenuItem("World", "Lock Selection", 10, "Ctrl L"); + EditorMenuBar.addMenuItem("World", "Unlock Selection", 11, "Ctrl Shift L"); + EditorMenuBar.addMenuItem("World", "-", 0); + EditorMenuBar.addMenuItem("World", "Hide Selection", 12, "Ctrl H"); + EditorMenuBar.addMenuItem("World", "Show Selection", 13, "Ctrl Shift H"); + EditorMenuBar.addMenuItem("World", "-", 0); + EditorMenuBar.addMenuItem("World", "Delete Selection", 17, "Delete"); + EditorMenuBar.addMenuItem("World", "Camera To Selection", 14); + EditorMenuBar.addMenuItem("World", "Reset Transforms", 15); + EditorMenuBar.addMenuItem("World", "Drop Selection", 16, "Ctrl D"); + EditorMenuBar.addMenuItem("World", "Add Selection to Instant Group", 17); + EditorMenuBar.addMenuItem("World", "-", 0); + EditorMenuBar.addMenuItem("World", "Drop at Origin", 0, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Camera", 1, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Camera w/Rot", 2, "", 1); + EditorMenuBar.addMenuItem("World", "Drop below Camera", 3, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Screen Center", 4, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Centroid", 5, "", 1); + EditorMenuBar.addMenuItem("World", "Drop to Ground", 6, "", 1); + + EditorMenuBar.addMenu("Action", 3); + EditorMenuBar.addMenuItem("Action", "Select", 1, "", 1); + EditorMenuBar.addMenuItem("Action", "Adjust Selection", 2, "", 1); + EditorMenuBar.addMenuItem("Action", "-", 0); + EditorMenuBar.addMenuItem("Action", "Add Dirt", 6, "", 1); + EditorMenuBar.addMenuItem("Action", "Excavate", 6, "", 1); + EditorMenuBar.addMenuItem("Action", "Adjust Height", 6, "", 1); + EditorMenuBar.addMenuItem("Action", "Flatten", 4, "", 1); + EditorMenuBar.addMenuItem("Action", "Smooth", 5, "", 1); + EditorMenuBar.addMenuItem("Action", "Set Height", 7, "", 1); + EditorMenuBar.addMenuItem("Action", "-", 0); + EditorMenuBar.addMenuItem("Action", "Set Empty", 8, "", 1); + EditorMenuBar.addMenuItem("Action", "Clear Empty", 8, "", 1); + EditorMenuBar.addMenuItem("Action", "-", 0); + EditorMenuBar.addMenuItem("Action", "Paint Material", 9, "", 1); + + EditorMenuBar.addMenu("Brush", 4); + EditorMenuBar.addMenuItem("Brush", "Box Brush", 91, "", 1); + EditorMenuBar.addMenuItem("Brush", "Circle Brush", 92, "", 1); + EditorMenuBar.addMenuItem("Brush", "-", 0); + EditorMenuBar.addMenuItem("Brush", "Soft Brush", 93, "", 2); + EditorMenuBar.addMenuItem("Brush", "Hard Brush", 94, "", 2); + EditorMenuBar.addMenuItem("Brush", "-", 0); + EditorMenuBar.addMenuItem("Brush", "Size 1 x 1", 1, "Alt 1", 3); + EditorMenuBar.addMenuItem("Brush", "Size 3 x 3", 3, "Alt 2", 3); + EditorMenuBar.addMenuItem("Brush", "Size 5 x 5", 5, "Alt 3", 3); + EditorMenuBar.addMenuItem("Brush", "Size 9 x 9", 9, "Alt 4", 3); + EditorMenuBar.addMenuItem("Brush", "Size 15 x 15", 15, "Alt 5", 3); + EditorMenuBar.addMenuItem("Brush", "Size 25 x 25", 25, "Alt 6", 3); + + EditorMenuBar.addMenu("AI", 8); + EditorMenuBar.addMenuItem("AI", "Render Indoor Graphs", 3); + EditorMenuBar.addMenuItem("AI", "Render Outdoor Graph", 4); + EditorMenuBar.addMenuItem("AI", "Render Jet Edges", 4); + EditorMenuBar.addMenuItem("AI", "-", 0); + EditorMenuBar.addMenuItem("AI", "Edit AI for Team 1", 4); + EditorMenuBar.addMenuItem("AI", "Edit AI for Team 2", 7); + EditorMenuBar.addMenuItem("AI", "-", 0); + EditorMenuBar.addMenuItem("AI", "Build Objectives", 5); + EditorMenuBar.addMenuItem("AI", "Build Bot Nav Graph...", 5); + EditorMenuBar.addMenuItem("AI", "Build Spawn Graph...", 5); + EditorMenuBar.addMenuItem("AI", "Build LOS Crossrefs...", 5); + EditorMenuBar.addMenuItem("AI", "-", 0); + EditorMenuBar.addMenuItem("AI", "Add Defend Location Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Repair Equipment Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Deploy Outdoor Turret Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Deploy Indoor Turret Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Attack Target Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Touch FlipFlop Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Mortar Target Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add Deploy Inventory Objective", 5); + EditorMenuBar.addMenuItem("AI", "Add New Objective Set", 6); + + EditorMenuBar.addMenu("Window", 2); + EditorMenuBar.addMenuItem("Window", "World Editor", 2, "F2", 1); + EditorMenuBar.addMenuItem("Window", "World Editor Inspector", 3, "F3", 1); + EditorMenuBar.addMenuItem("Window", "World Editor Creator", 4, "F4", 1); + EditorMenuBar.addMenuItem("Window", "Mission Area Editor", 5, "F5", 1); + EditorMenuBar.addMenuItem("Window", "AI Editor", 10); + EditorMenuBar.addMenuItem("Window", "-", 0); + EditorMenuBar.addMenuItem("Window", "Terrain Editor", 6, "F6", 1); + EditorMenuBar.addMenuItem("Window", "Terrain Terraform Editor", 7, "F7", 1); + EditorMenuBar.addMenuItem("Window", "Terrain Texture Editor", 8, "F8", 1); + EditorMenuBar.addMenuItem("Window", "Terrain Texture Painter", 9, "", 1); + + EditorMenuBar.setMenuItemChecked("AI", "Render Indoor Graphs", $pref::NavGraph::drawIndoor); + EditorMenuBar.setMenuItemChecked("AI", "Render Outdoor Graph", $pref::NavGraph::drawOutdoor); + EditorMenuBar.setMenuItemChecked("AI", "Render Jet Edges", $pref::NavGraph::drawJetEdges); + $AIEditor::inspectTeam = 1; + EditorMenuBar.setMenuItemChecked("AI", "Edit AI for Team 1", $AIEditor::inspectTeam == 1); + EditorMenuBar.setMenuItemChecked("AI", "Edit AI for Team 2", $AIEditor::inspectTeam == 2); + + ETerrainEditor.getPrefs(); + EditorMenuBar.onActionMenuItemSelect(0, "Paint"); + EditorMenuBar.onActionMenuItemSelect(0, "Adjust Height"); + EditorMenuBar.onBrushMenuItemSelect(0, "Circle Brush"); + EditorMenuBar.onBrushMenuItemSelect(0, "Soft Brush"); + EditorMenuBar.onBrushMenuItemSelect(9, "Size 9 x 9"); + EditorMenuBar.onCameraMenuItemSelect(6, "Medium Pace"); + EditorMenuBar.onWorldMenuItemSelect(0, "Drop at Screen Center"); + + EWorldEditor.init(); + ETerrainEditor.init(); + ETerrainEditor.attachTerrain(); + TerraformerInit(); + TextureInit(); + + // + Creator.init(); + Inspector.init(); + AreaEditor.init(); + EditorTree.init(); + ObjectBuilderGui.init(); + + EWorldEditor.isDirty = false; + ETerrainEditor.isDirty = false; + ETerrainEditor.isMissionDirty = false; + EWorldEditor.isGraphDirty = false; + EditorGui.saveAs = false; + if(isObject(MissionGroup) && isObject(MissionCleanup)) + { + MissionGroup.add(MissionCleanup); + MissionCleanup.setPersistent(false); + } +} + +function EditorNewMission() +{ + if(ETerrainEditor.isMissionDirty || ETerrainEditor.isDirty || EWorldEditor.isDirty || EWorldEditor.isGraphDirty) + { + MessageBoxYesNo("Mission Modified", "Would you like to save changes to the current mission \"" @ + $Server::MissionFile @ "\" before creating a new mission?", "EditorDoNewMission(true);", "EditorDoNewMission(false);"); + } + else + EditorDoNewMission(false); +} + +function EditorSaveMissionMenu() +{ + if(EditorGui.saveAs) + EditorSaveMissionAs(); + else + EditorSaveMission(); +} + +function EditorSaveMission() +{ + // just save the mission without renaming it + + // first check for dirty and read-only files: + %missionFile = "missions/" @ $CurrentMission @ ".mis"; + %terrainFile = "terrains/" @ Terrain.terrainFile; + + if((EWorldEditor.isDirty || ETerrainEditor.isMissionDirty) && !isWriteableFileName(%missionFile)) + { + MessageBoxOK("Error", "Mission file \""@ %missionFile @ "\" is read-only."); + return false; + } + if(ETerrainEditor.isDirty && !isWriteableFileName(%terrainFile)) + { + MessageBoxOK("Error", "Terrain file \""@ %terrainFile @ "\" is read-only."); + return false; + } + + // now write the terrain and mission files out: + + if(EWorldEditor.isDirty || ETerrainEditor.isMissionDirty) + MissionGroup.save(%missionFile); + if(ETerrainEditor.isDirty) + Terrain.save(Terrain.terrainFile); + if(EWorldEditor.isGraphDirty && isObject(NavGraph)) + NavGraph.saveGraph(); + EWorldEditor.isDirty = false; + EWorldEditor.isGraphDirty = false; + ETerrainEditor.isDirty = false; + ETerrainEditor.isMissionDirty = false; + EditorGui.saveAs = false; + + return true; +} + +function EditorDoSaveAs(%missionName) +{ + ETerrainEditor.isDirty = true; + EWorldEditor.isDirty = true; + EWorldEditor.isGraphDirty = true; + %saveMissionFile = $CurrentMission; + %saveTerrName = Terrain.terrainFile; + + $CurrentMission = fileBase(%missionName); + Terrain.terrainFile = fileBase(%missionName) @ ".ter"; + + if(!EditorSaveMission()) + { + $CurrentMission = %saveMissionFile; + Terrain.terrainFile = %saveTerrName; + } +} + +function EditorSaveMissionAs() +{ + getSaveFilename("*.mis", "EditorDoSaveAs", $Server::MissionFile); + +} + +function EditorDoLoadMission(%file) +{ + // gotta strip off the missions path + %file = fileBase(%file); + loadMission( %file, $CurrentMissionType, true ) ; + // and re-init the EditorGui + EditorGui.init(); + EditorGui.loadingMission = true; + Canvas.setContent(LoadingGui); +} + +function EditorSaveBeforeLoad() +{ + if(EditorSaveMission()) + getLoadFilename("*.mis", "EditorDoLoadMission"); +} + +function EditorDoNewMission(%saveFirst) +{ + if(%saveFirst) + EditorSaveMission(); + + %file = findFirstFile("*/newMission.mis"); + if(%file $= "") + { + MessageBoxOk("Error", "Missing mission template \"newMission.mis\"."); + return; + } + EditorDoLoadMission(%file); + EditorGui.saveAs = true; + EWorldEditor.isDirty = true; + ETerrainEditor.isDirty = true; +} + +function EditorOpenMission() +{ + if(ETerrainEditor.isMissionDirty || ETerrainEditor.isDirty || EWorldEditor.isDirty || EWorldEditor.isGraphDirty) + { + MessageBoxYesNo("Mission Modified", "Would you like to save changes to the current mission \"" @ + $Server::MissionFile @ "\" before opening a new mission?", "EditorSaveBeforeLoad();", "getLoadFilename(\"*.mis\", \"EditorDoLoadMission\");"); + } + else + getLoadFilename("*.mis", "EditorDoLoadMission"); +} + +function EditorMenuBar::onMenuSelect(%this, %menuId, %menu) +{ + if(%menu $= "File") + { + %editingHeightfield = ETerrainEditor.isVisible() && EHeightField.isVisible(); + EditorMenuBar.setMenuItemEnable("File", "Export Terraform Bitmap...", %editingHeightfield); + EditorMenuBar.setMenuItemEnable("File", "Save Mission...", EWorldEditor.isGraphDirty || ETerrainEditor.isDirty || ETerrainEditor.isMissionDirty || EWorldEditor.isDirty); + EditorMenuBar.setMenuItemEnable("File", "Export World Editor Selection...", EWorldEditor.isVisible() && EWorldEditor.getSelectionSize()); + EditorMenuBar.setMenuItemEnable("File", "Import World Editor Selection...", EWorldEditor.isVisible()); + } + else if(%menu $= "Edit") + { + // enable/disable undo, redo, cut, copy, paste depending on editor settings + + if(EWorldEditor.isVisible()) + { + // do actions based on world editor... + EditorMenuBar.setMenuItemEnable("Edit", "Select All", true); + EditorMenuBar.setMenuItemEnable("Edit", "Paste", EWorldEditor.canPasteSelection()); + %canCutCopy = EWorldEditor.getSelectionSize() > 0; + + EditorMenuBar.setMenuItemEnable("Edit", "Cut", %canCutCopy); + EditorMenuBar.setMenuItemEnable("Edit", "Copy", %canCutCopy); + + } + else if(ETerrainEditor.isVisible()) + { + EditorMenuBar.setMenuItemEnable("Edit", "Cut", false); + EditorMenuBar.setMenuItemEnable("Edit", "Copy", false); + EditorMenuBar.setMenuItemEnable("Edit", "Paste", false); + EditorMenuBar.setMenuItemEnable("Edit", "Select All", false); + } + } + else if(%menu $= "World") + { + %selSize = EWorldEditor.getSelectionSize(); + %lockCount = EWorldEditor.getSelectionLockCount(); + %hideCount = EWorldEditor.getSelectionHiddenCount(); + + EditorMenuBar.setMenuItemEnable("World", "Lock Selection", %lockCount < %selSize); + EditorMenuBar.setMenuItemEnable("World", "Unlock Selection", %lockCount > 0); + EditorMenuBar.setMenuItemEnable("World", "Hide Selection", %hideCount < %selSize); + EditorMenuBar.setMenuItemEnable("World", "Show Selection", %hideCount > 0); + + EditorMenuBar.setMenuItemEnable("World", "Add Selection to Instant Group", %selSize > 0); + EditorMenuBar.setMenuItemEnable("World", "Camera To Selection", %selSize > 0); + EditorMenuBar.setMenuItemEnable("World", "Reset Transforms", %selSize > 0 && %lockCount == 0); + EditorMenuBar.setMenuItemEnable("World", "Drop Selection", %selSize > 0 && %lockCount == 0); + EditorMenuBar.setMenuItemEnable("World", "Delete Selection", (!EditorTree.isSelectionEmpty() || %selSize > 0) && %lockCount == 0); + } +} + +function EditorMenuBar::onMenuItemSelect(%this, %menuId, %menu, %itemId, %item) +{ + switch$(%menu) + { + case "File": + %this.onFileMenuItemSelect(%itemId, %item); + case "Edit": + %this.onEditMenuItemSelect(%itemId, %item); + case "World": + %this.onWorldMenuItemSelect(%itemId, %item); + case "Window": + %this.onWindowMenuItemSelect(%itemId, %item); + case "Action": + %this.onActionMenuItemSelect(%itemId, %item); + case "Brush": + %this.onBrushMenuItemSelect(%itemId, %item); + case "Camera": + %this.onCameraMenuItemSelect(%itemId, %item); + case "AI": + %this.onAIMenuItemSelect(%itemId, %item); + } +} + +function EditorMenuBar::onFileMenuItemSelect(%this, %itemId, %item) +{ + switch$(%item) + { + case "New Mission...": + EditorNewMission(); + case "Open Mission...": + EditorOpenMission(); + case "Save Mission...": + EditorSaveMissionMenu(); + case "Save Mission As...": + EditorSaveMissionAs(); + case "Export World Editor Selection...": + EWorldEditor.export(); + case "Import World Editor Selection...": + EWorldEditor.import(); + case "Import Texture Data...": + Texture::import(); + case "Import Terraform Data...": + Heightfield::import(); + case "Export Terraform Bitmap...": + Heightfield::saveBitmap(""); + case "Quit": + } +} + +function EditorMenuBar::onCameraMenuItemSelect(%this, %itemId, %item) +{ + switch$(%item) + { + case "Drop Camera at Player": + commandToServer('dropCameraAtPlayer'); + case "Drop Player at Camera": + commandToServer('DropPlayerAtCamera'); + case "Toggle Camera": + commandToServer('ToggleCamera'); + default: + // all the rest are camera speeds: + // item ids go from 3 (slowest) to 9 (fastest) + %this.setMenuItemChecked("Camera", %itemId, true); + // camera movement speed goes from 5 to 200: + $Camera::movementSpeed = ((%itemId - 3) / 6.0) * 195 + 5; + } +} + +function EditorMenuBar::onActionMenuItemSelect(%this, %itemId, %item) +{ + EditorMenuBar.setMenuItemChecked("Action", %item, true); + switch$(%item) + { + case "Select": + ETerrainEditor.currentMode = "select"; + ETerrainEditor.selectionHidden = false; + ETerrainEditor.renderVertexSelection = true; + ETerrainEditor.setAction("select"); + case "Adjust Selection": + ETerrainEditor.currentMode = "adjust"; + ETerrainEditor.selectionHidden = false; + ETerrainEditor.setAction("adjustHeight"); + ETerrainEditor.currentAction = brushAdjustHeight; + ETerrainEditor.renderVertexSelection = true; + default: + ETerrainEditor.currentMode = "paint"; + ETerrainEditor.selectionHidden = true; + ETerrainEditor.setAction(ETerrainEditor.currentAction); + switch$(%item) + { + case "Add Dirt": + ETerrainEditor.currentAction = raiseHeight; + ETerrainEditor.renderVertexSelection = true; + case "Paint Material": + ETerrainEditor.currentAction = paintMaterial; + ETerrainEditor.renderVertexSelection = true; + case "Excavate": + ETerrainEditor.currentAction = lowerHeight; + ETerrainEditor.renderVertexSelection = true; + case "Set Height": + ETerrainEditor.currentAction = setHeight; + ETerrainEditor.renderVertexSelection = true; + case "Adjust Height": + ETerrainEditor.currentAction = brushAdjustHeight; + ETerrainEditor.renderVertexSelection = true; + case "Flatten": + ETerrainEditor.currentAction = flattenHeight; + ETerrainEditor.renderVertexSelection = true; + case "Smooth": + ETerrainEditor.currentAction = smoothHeight; + ETerrainEditor.renderVertexSelection = true; + case "Set Empty": + ETerrainEditor.currentAction = setEmpty; + ETerrainEditor.renderVertexSelection = false; + case "Clear Empty": + ETerrainEditor.currentAction = clearEmpty; + ETerrainEditor.renderVertexSelection = false; + } + if(ETerrainEditor.currentMode $= "select") + ETerrainEditor.processAction(ETerrainEditor.currentAction); + else if(ETerrainEditor.currentMode $= "paint") + ETerrainEditor.setAction(ETerrainEditor.currentAction); + } +} + +function EditorMenuBar::onBrushMenuItemSelect(%this, %itemId, %item) +{ + EditorMenuBar.setMenuItemChecked("Brush", %item, true); + switch$(%item) + { + case "Box Brush": + ETerrainEditor.setBrushType(box); + case "Circle Brush": + ETerrainEditor.setBrushType(ellipse); + case "Soft Brush": + ETerrainEditor.enableSoftBrushes = true; + case "Hard Brush": + ETerrainEditor.enableSoftBrushes = false; + default: + // the rest are brush sizes: + ETerrainEditor.brushSize = %itemId; + + ETerrainEditor.setBrushSize(%itemId, %itemId); + } +} + +function EditorMenuBar::onWorldMenuItemSelect(%this, %itemId, %item) +{ + // edit commands for world editor... + switch$(%item) + { + case "Lock Selection": + EWorldEditor.lockSelection(true); + case "Unlock Selection": + EWorldEditor.lockSelection(false); + case "Hide Selection": + EWorldEditor.hideSelection(true); + case "Show Selection": + EWorldEditor.hideSelection(false); + case "Camera To Selection": + EWorldEditor.dropCameraToSelection(); + case "Reset Transforms": + EWorldEditor.resetTransforms(); + case "Drop Selection": + EWorldEditor.dropSelection(); + case "Delete Selection": + EWorldEditor.deleteSelection(); + EditorTree.deleteSelection(); + if(!isObject($InstantGroup)) + $InstantGroup = "MissionGroup"; + case "Add Selection to Instant Group": + EWorldEditor.addSelectionToAddGroup(); + default: + EditorMenuBar.setMenuItemChecked("World", %item, true); + switch$(%item) + { + case "Drop at Origin": + EWorldEditor.dropType = "atOrigin"; + case "Drop at Camera": + EWorldEditor.dropType = "atCamera"; + case "Drop at Camera w/Rot": + EWorldEditor.dropType = "atCameraRot"; + case "Drop below Camera": + EWorldEditor.dropType = "belowCamera"; + case "Drop at Screen Center": + EWorldEditor.dropType = "screenCenter"; + case "Drop to Ground": + EWorldEditor.dropType = "toGround"; + case "Drop at Centroid": + EWorldEditor.dropType = "atCentroid"; + } + } +} + +function EditorMenuBar::onEditMenuItemSelect(%this, %itemId, %item) +{ + if(%item $= "World Editor Settings...") + Canvas.pushDialog(WorldEditorSettingsDlg); + else if(%item $= "Terrain Editor Settings...") + Canvas.pushDialog(TerrainEditorValuesSettingsGui, 99); + else if(%item $= "Relight Scene") + lightScene("", forceAlways); + else if(EWorldEditor.isVisible()) + { + // edit commands for world editor... + switch$(%item) + { + case "Undo": + EWorldEditor.undo(); + case "Redo": + EWorldEditor.redo(); + case "Copy": + EWorldEditor.copySelection(); + case "Cut": + EWorldEditor.copySelection(); + EWorldEditor.deleteSelection(); + case "Paste": + EWorldEditor.pasteSelection(); + case "Select All": + case "Select None": + } + } + else if(ETerrainEditor.isVisible()) + { + // do some terrain stuffin' + switch$(%item) + { + case "Undo": + ETerrainEditor.undo(); + case "Redo": + ETerrainEditor.redo(); + case "Select None": + ETerrainEditor.clearSelection(); + } + } +} + +function WorldEditor::export(%this) +{ + getSaveFilename("editor/*.mac", %this @ ".doExport", "selection.mac"); +} + +function WorldEditor::doExport(%this, %file) +{ + missionGroup.save("editor/" @ %file, true); +} + +function WorldEditor::import(%this) +{ + getLoadFilename("editor/*.mac", %this @ ".doImport"); +} + +function WorldEditor::doImport(%this, %file) +{ + %tempInstant = $InstantGroup; + %grp = new SimGroup(); + $InstantGroup = %grp; + MissionGroup.add(%grp); + exec(%file); + EWorldEditor.clearSelection(); + while(%grp.getCount()) + { + EWorldEditor.selectObject(%grp.getObject(0)); + %tempInstant.add(%grp.getObject(0)); + } + EWorldEditor.dropSelection(); + + EditorTree.fillSelectionFromWorldEditor(%this); + $InstantGroup = %tempInstant; + %grp.delete(); +} + +function EditorMenuBar::onWindowMenuItemSelect(%this, %itemId, %item) +{ + EditorGui.setEditor(%item); +} + +function EditorGui::setAIEditTeam(%this, %team) +{ + $AIEditor::inspectTeam = %team; + EditorMenuBar.setMenuItemChecked("AI", "Edit AI for Team 1", $AIEditor::inspectTeam == 1); + EditorMenuBar.setMenuItemChecked("AI", "Edit AI for Team 2", $AIEditor::inspectTeam == 2); + EditorTree.open("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); + $InstantGroup = nameToId("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); +} + +function EditorGui::makeUnbridgedGraph() +{ + GraphCurrentOperation.setValue("Generating interior nodes..."); + Canvas.repaint(); + navGraph::generateInterior(); + EditorGui.dataProgress(); + + GraphCurrentOperation.setValue("Remaking graph..."); + Canvas.repaint(); + EditorGui.remakeTheGraph(); + EditorGui.dataProgress(); + EWorldEditor.isGraphDirty = true; +} + +function EditorGui::AIworking(%this, %working) +{ + if(%working) + { + Canvas.pushDialog(AIEWorkingDlg); + GraphBuildProgress.setValue(0.0); + } + else + Canvas.popDialog(AIEWorkingDlg); + + Canvas.repaint(); +} + +function EditorGui::dataProgress(%this) +{ + $NavGraph::operationsDone++; + %percent = $NavGraph::operationsDone / $NavGraph::operations; + GraphBuildProgress.setValue(%percent); + Canvas.repaint(); +} + +//------------------------------------------------------------------------------ + +function EditorGui::remakeTheGraph(%this) +{ + GraphCurrentOperation.setValue("making graph..."); + Canvas.repaint(); + navGraph.makeGraph(); + EditorGui.dataProgress(); +} + +function EditorGui::createLOSXref(%this) +{ + EditorGui.AIworking(true); + GraphCurrentOperation.setValue("Making LOS CrossRef Table..."); + GraphBuildProgress.setValue(0); + + if(2.player) + navGraph.prepLOS(2.player.getTransform()); + else + navGraph.prepLOS("0 0 0"); + + while(navGraph.makeLOS()) + { + GraphBuildProgress.setValue($graphProcessPercent); + Canvas.repaint(); + } + GraphBuildProgress.setValue(100); + Canvas.repaint(); + EWorldEditor.isGraphDirty = true; + EditorGui.AIworking(false); +} + +function EditorGui::makeJettableGraph(%this, %NAVorSPAWN) +{ + %this.AIworking(true); + + $NavGraph::operations = 7; + $NavGraph::operationsDone = 0; + + navGraph.setGenMode(%NAVorSPAWN); + navGraph::exteriorInspect(); + %this.dataProgress(); + %this.makeUnbridgedGraph(); + + GraphCurrentOperation.setValue("Beginning slow bridge finding pass"); + Canvas.repaint(); + + navGraph.assemble(); + + navGraph.cullIslands(); + %this.remakeTheGraph(); + navGraph.pushBridges(); + navGraph.makeTables(); + %this.dataProgress(); + + EWorldEditor.isGraphDirty = true; + %this.AIworking(false); +} + +function EditorMenuBar::onAIMenuItemSelect(%this, %itemId, %item) +{ + switch$(%item) + { + case "Build Objectives": + AICreateObjectives(); + case "Build Bot Nav Graph...": + EditorGui.makeJettableGraph(Nav); + case "Build Spawn Graph...": + EditorGui.makeJettableGraph(Spawn); + case "Build LOS Crossrefs...": + EditorGui.createLOSXref(); + case "Render Indoor Graphs": + $pref::NavGraph::drawIndoor = !$pref::NavGraph::drawIndoor; + EditorMenuBar.setMenuItemChecked("AI", "Render Indoor Graphs", $pref::NavGraph::drawIndoor); + case "Render Outdoor Graph": + $pref::NavGraph::drawOutdoor = !$pref::NavGraph::drawOutdoor; + EditorMenuBar.setMenuItemChecked("AI", "Render Outdoor Graph", $pref::NavGraph::drawOutdoor); + case "Render Jet Edges": + $pref::NavGraph::drawJetEdges = !$pref::NavGraph::drawJetEdges; + EditorMenuBar.setMenuItemChecked("AI", "Render Jet Edges", $pref::NavGraph::drawJetEdges); + case "Edit AI for Team 1": + EditorGui.setAIEditTeam(1); + case "Edit AI for Team 2": + EditorGui.setAIEditTeam(2); + case "Add New Objective Set": + %set = new SimGroup("ObjectiveSet"); + $InstantGroup.add(%set); + default: + EditorGui.addNewObjective(getWord(%item, 1) SPC getWord(%item, 2)); + } +} + +function EditorGui::addNewObjective(%this, %type) +{ + if($AIEditor::inspectTeam == 1) + %team = 1; + else if($AIEditor::inspectTeam == 2) + %team = 2; + else + %team = 1; + + + if(nameToId($InstantGroup) < 1) + return; + + switch$(%type) + { + case "Defend Location": + %objective = new AIObjective(AIODefendLocation) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Repair Equipment": + %objective = new AIObjective(AIORepairObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Deploy Outdoor": + %Objective = new AIObjective(AIODeployEquipment) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 4100; + weightLevel2 = 0; + description = "Deploy outdoor Turret"; + offense = false; + defense = true; + targetObjectId = -1; + targetObject = -1; + targetClientId = -1; + equipment = "TurretOutdoorDeployable"; + buyEquipmentSet = "MediumOutdoorTurretSet"; + }; + case "Deploy Indoor": + %Objective = new AIObjective(AIODeployEquipment) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 4100; + weightLevel2 = 0; + description = "Deploy indoor Turret"; + offense = false; + defense = true; + targetObjectId = -1; + targetObject = -1; + targetClientId = -1; + equipment = "TurretIndoorDeployable"; + buyEquipmentSet = "MediumIndoorTurretSet"; + }; + case "Attack Target": + %objective = new AIObjective(AIOAttackObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Touch FlipFlop": + %objective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Mortar Target": + %objective = new AIObjective(AIOMortarObject) + { + dataBlock = "AIObjectiveMarker"; + }; + case "Deploy Inventory": + %Objective = new AIObjective(AIODeployEquipment) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 4100; + weightLevel2 = 0; + description = "Deploy Inventory Station"; + offense = false; + defense = true; + targetObjectId = -1; + targetObject = -1; + targetClientId = -1; + equipment = "InventoryDeployable"; + buyEquipmentSet = "MediumInventorySet"; + }; + case "New Group": + %set = new SimGroup("ObjectiveSet"); + %tGroup.add(%set); + return; + default: + error("no defined type."); + return; + } + + $InstantGroup.add(%objective); + EWorldEditor.clearSelection(); + EWorldEditor.selectObject(%objective); + EWorldEditor.dropSelection(); + %objective.location = %objective.getWorldBoxCenter(); + Inspector.inspect(%objective); + InspectorNameEdit.setValue(%objective.getName()); +} + +function EditorGui::setWorldEditorVisible(%this) +{ + EWorldEditor.setVisible(true); + ETerrainEditor.setVisible(false); + EditorMenuBar.setMenuVisible("World", true); + EditorMenuBar.setMenuVisible("Action", false); + EditorMenuBar.setMenuVisible("Brush", false); + EditorMenuBar.setMenuVisible("AI", false); + EWorldEditor.schedule(0, makeFirstResponder, true); +} + +function EditorGui::setTerrainEditorVisible(%this) +{ + EWorldEditor.setVisible(false); + ETerrainEditor.setVisible(true); + ETerrainEditor.attachTerrain(); + EHeightField.setVisible(false); + ETexture.setVisible(false); + EditorMenuBar.setMenuVisible("World", false); + EditorMenuBar.setMenuVisible("Action", true); + EditorMenuBar.setMenuVisible("Brush", true); + EditorMenuBar.setMenuVisible("AI", false); + ETerrainEditor.schedule(0, makeFirstResponder, true); + EPainter.setVisible(false); +} + +function EditorGui::setEditor(%this, %editor) +{ + EditorMenuBar.setMenuItemBitmap("Window", %this.currentEditor, -1); + EditorMenuBar.setMenuItemBitmap("Window", %editor, 0); + if(%this.currentEditor $= "AI Editor" && %this.lastInstantGroup !$= "") + { + %grp = nameToID(%this.lastInstantGroup); + if(%grp != -1) + $InstantGroup = %grp; + } + %this.currentEditor = %editor; + $AIEdit = false; + EWorldEditor.renderNav = false; + // add objclasses which we do not want to collide with + + EWorldEditor.clearIgnoreList(); + EWorldEditor.ignoreObjClass(TerrainBlock, Sky, AIObjective); + EWorldEditor.toggleIgnoreList = false; + EditorTree.open("MissionGroup"); + + switch$(%editor) + { + case "World Editor": + EWFrame.setVisible(false); + EWMissionArea.setVisible(false); + %this.setWorldEditorVisible(); + case "World Editor Inspector": + EWFrame.setVisible(true); + EWMissionArea.setVisible(false); + EWCreatorPane.setVisible(false); + EWInspectorPane.setVisible(true); + %this.setWorldEditorVisible(); + case "World Editor Creator": + EWFrame.setVisible(true); + EWMissionArea.setVisible(false); + EWCreatorPane.setVisible(true); + EWInspectorPane.setVisible(false); + %this.setWorldEditorVisible(); + case "Mission Area Editor": + EWFrame.setVisible(false); + EWMissionArea.setVisible(true); + %this.setWorldEditorVisible(); + case "AI Editor": + if(%this.currentEditor !$= "AI Editor") + %this.lastInstantGroup = $InstantGroup; + EWFrame.setVisible(true); + EWMissionArea.setVisible(false); + EWCreatorPane.setVisible(false); + EWInspectorPane.setVisible(true); + %this.setWorldEditorVisible(true); + EditorMenuBar.setMenuVisible("AI", true); + EWorldEditor.clearIgnoreList(); + EWorldEditor.ignoreObjClass(AIObjective); + EWorldEditor.toggleIgnoreList = true; + EWorldEditor.renderNav = true; + EditorGui.setAIEditTeam($AIEditor::inspectTeam); + + case "Terrain Editor": + %this.setTerrainEditorVisible(); + case "Terrain Terraform Editor": + %this.setTerrainEditorVisible(); + EHeightField.setVisible(true); + case "Terrain Texture Editor": + %this.setTerrainEditorVisible(); + ETexture.setVisible(true); + case "Terrain Texture Painter": + %this.setTerrainEditorVisible(); + EPainter.setVisible(true); + EPainter.setup(); + + } +} + +function EditorGui::getHelpPage(%this) +{ + switch$(%this.currentEditor) + { + case "World Editor" or "World Editor Inspector" or "World Editor Creator": + return "3. World Editor"; + case "Mission Area Editor": + return "4. Mission Area Editor"; + case "Terrain Editor": + return "5. Terrain Editor"; + case "Terrain Terraform Editor": + return "6. Terrain Terraform Editor"; + case "Terrain Texture Editor": + return "7. Terrain Texture Editor"; + case "Terrain Texture Painter": + return "8. Terrain Texture Painter"; + default: + return "2. Mission Editor Overview"; + } +} + + +function ETerrainEditor::setPaintMaterial(%this, %matIndex) +{ + ETerrainEditor.paintMaterial = EPainter.mat[%matIndex]; +} + +function ETerrainEditor::changeMaterial(%this, %matIndex) +{ + EPainter.matIndex = %matIndex; + getLoadFilename("textures/terrain/*.png\ttextures/terrain/*.jpg", EPainterChangeMat, true); +} + +function EPainterChangeMat(%file) +{ + // make sure the material isn't already in the terrain. + %file = fileBase(%file); + for(%i = 0; %i < 6; %i++) + if(EPainter.mat[%i] $= %file) + return; + + EPainter.mat[EPainter.matIndex] = %file; + %mats = ""; + for(%i = 0; %i < 6; %i++) + %mats = %mats @ EPainter.mat[%i] @ "\n"; + ETerrainEditor.setTerrainMaterials(%mats); + EPainter.setup(); + ("ETerrainMaterialPaint" @ EPainter.matIndex).performClick(); +} + +function EPainter::setup(%this) +{ + EditorMenuBar.onActionMenuItemSelect(0, "Paint Material"); + %mats = ETerrainEditor.getTerrainMaterials(); + %valid = true; + for(%i = 0; %i < 6; %i++) + { + %mat = getRecord(%mats, %i); + %this.mat[%i] = %mat; + ("ETerrainMaterialText" @ %i).setText(%mat); + ("ETerrainMaterialBitmap" @ %i).setBitmap("terrain/" @ %mat); + ("ETerrainMaterialChange" @ %i).setActive(true); + ("ETerrainMaterialPaint" @ %i).setActive(%mat !$= ""); + if(%mat $= "") + { + ("ETerrainMaterialChange" @ %i).setValue("Add..."); + if(%valid) + %valid = false; + else + ("ETerrainMaterialChange" @ %i).setActive(false); + } + else + ("ETerrainMaterialChange" @ %i).setValue("Change..."); + } + ETerrainMaterialPaint0.performClick(); +} + +function EditorGui::onWake(%this) +{ + MoveMap.push(); + EditorMap.push(); + %this.setEditor(%this.currentEditor); +} + +function EditorGui::onSleep(%this) +{ + EditorMap.pop(); + MoveMap.pop(); +} + +function AreaEditor::onUpdate(%this, %area) +{ + AreaEditingText.setValue( "X: " @ getWord(%area,0) @ " Y: " @ getWord(%area,1) @ " W: " @ getWord(%area,2) @ " H: " @ getWord(%area,3)); +} + +function AreaEditor::onWorldOffset(%this, %offset) +{ +} + +function EditorTree::init(%this) +{ + %this.open(MissionGroup); + + // context menu + new GuiControl(ETContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiPopUpMenuCtrl(ETContextPopup) + { + profile = "GuiScrollProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + command = "canvas.popDialog(ETContextPopupDlg);"; + }; + }; + ETContextPopup.setVisible(false); +} + +function EditorTree::onInspect(%this, %obj) +{ + Inspector.inspect(%obj); + InspectorNameEdit.setValue(%obj.getName()); +} + +function EditorTree::onSelect(%this, %obj) +{ + if($AIEdit) + aiEdit.selectObject(%obj); + else + EWorldEditor.selectObject(%obj); + +} + +function EditorTree::onUnselect(%this, %obj) +{ + if($AIEdit) + aiEdit.unselectObject(%obj); + else + EWorldEditor.unselectObject(%obj); +} + +function ETContextPopup::onSelect(%this, %index, %value) +{ + switch(%index) + { + case 0: + EditorTree.contextObj.delete(); + } +} + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function DropTypeMenu::onSelect(%this, %id, %text) +{ + EWorldEditor.dropType = %text; +} + +function WorldEditor::init(%this) +{ + %this.getPrefs(); + + // editing modes + %this.numEditModes = 3; + %this.editMode[0] = "move"; + %this.editMode[1] = "rotate"; + %this.editMode[2] = "scale"; + + %this.setMode(%this.currentMode); + + // context menu + new GuiControl(WEContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiPopUpMenuCtrl(WEContextPopup) + { + profile = "GuiScrollProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + command = "canvas.popDialog(WEContextPopupDlg);"; + }; + }; + WEContextPopup.setVisible(false); +} + +//------------------------------------------------------------------------------ + +function WorldEditor::onDblClick(%this, %obj) +{ + // Commented out because making someone double click to do this is stupid + // and has the possibility of moving hte object + + //Inspector.inspect(%obj); + //InspectorNameEdit.setValue(%obj.getName()); +} + +function WorldEditor::onSelectionChanged(%this) +{ + EditorTree.fillSelectionFromWorldEditor(%this); +} + +function WorldEditor::onClick( %this, %obj ) +{ + Inspector.inspect( %obj ); + InspectorNameEdit.setValue( %obj.getName() ); +} + +//------------------------------------------------------------------------------ + +function WorldEditor::onGuiUpdate(%this, %text) +{ +} + +function WorldEditor::getSelectionLockCount(%this) +{ + %ret = 0; + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.locked $= "true") + %ret++; + } + return %ret; +} + +function WorldEditor::getSelectionHiddenCount(%this) +{ + %ret = 0; + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.hidden $= "true") + %ret++; + } + return %ret; +} + +function WorldEditor::dropCameraToSelection(%this) +{ + if(%this.getSelectionSize() == 0) + return; + + %pos = %this.getSelectionCentroid(); + %cam = LocalClientConnection.camera.getTransform(); + + // set the pnt + %cam = setWord(%cam, 0, getWord(%pos, 0)); + %cam = setWord(%cam, 1, getWord(%pos, 1)); + %cam = setWord(%cam, 2, getWord(%pos, 2)); + + LocalClientConnection.camera.setTransform(%cam); +} + +// * pastes the selection at the same place (used to move obj from a group to another) +function WorldEditor::moveSelectionInPlace(%this) +{ + %saveDropType = %this.dropType; + %this.dropType = "atCentroid"; + %this.copySelection(); + %this.deleteSelection(); + %this.pasteSelection(); + %this.dropType = %saveDropType; +} + +function WorldEditor::addSelectionToAddGroup(%this) +{ + for(%i = 0; %i < %this.getSelectionSize(); %i++) { + %obj = %this.getSelectedObject(%i); + $InstantGroup.add(%obj); + } + +} +// resets the scale and rotation on the selection set +function WorldEditor::resetTransforms(%this) +{ + %this.addUndoState(); + + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + %transform = %obj.getTransform(); + + %transform = setWord(%transform, 3, "0"); + %transform = setWord(%transform, 4, "0"); + %transform = setWord(%transform, 5, "1"); + %transform = setWord(%transform, 6, "0"); + + // + %obj.setTransform(%transform); + %obj.setScale("1 1 1"); + } +} + + +function WorldEditorToolbarDlg::init(%this) +{ + WorldEditorInspectorCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolInspectorGui")); + WorldEditorMissionAreaCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolMissionAreaGui")); + WorldEditorTreeCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolTreeViewGui")); + WorldEditorCreatorCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolCreatorGui")); +} + +function Creator::init(%this) +{ + %this.clear(); + +// %this.currentSel = -1; +// %this.currentRoot = -1; +// %this.currentObj = -1; + + $InstantGroup = "MissionGroup"; + + // *** INTERIORS + %base = %this.addGroup(0, "Interiors"); + %misc = %this.addGroup(%base, "Misc."); + + // + %shapeGroup[0] = "Blood Eagle - Lush"; + %shapeGroup[1] = "Diamond Sword - Volcanic"; + %shapeGroup[2] = "Star Wolf - Ice"; + %shapeGroup[3] = "Children of the Phoenix - Desert"; + %shapeGroup[4] = "Bioderm - Badlands"; + + %groupShort[0] = "b"; + %groupShort[1] = "d"; + %groupShort[2] = "s"; + %groupShort[3] = "p"; + %groupShort[4] = "x"; + + // + %shapeType[0] = "Towers"; + %shapeType[1] = "Bunkers"; + %shapeType[2] = "Base"; + %shapeType[3] = "Platform"; + %shapeType[4] = "Bridge"; + %shapeType[5] = "Wall"; + %shapeType[6] = "Unique"; + %shapeType[7] = "Power"; + %shapeType[8] = "Misc."; + %shapeType[9] = "Vehicle"; + %shapeType[10] = "Rocks"; + + %typeShort[0] = "towr"; + %typeShort[1] = "bunk"; + %typeShort[2] = "base"; + %typeShort[3] = "plat"; + %typeShort[4] = "brdg"; + %typeShort[5] = "wall"; + %typeShort[6] = "uniq"; + %typeShort[7] = "powr"; + %typeShort[8] = "misc"; + %typeShort[9] = "vbay"; + %typeShort[10] = "rock"; + + // create the groups + %grpCount = 0; + for(%i = 0; %shapeGroup[%i] !$= ""; %i++) + { + %parent = Creator.addGroup(%base, %shapeGroup[%i]); + for(%j = 0; %shapeType[%j] !$= ""; %j++) + { + %group[%grpCount] = %this.addGroup(%parent, %shapeType[%j]); + %grpCount++; + } + } + + // walk all the interiors and add them to the correct group + %file = findFirstFile("interiors/*.dif"); + while(%file !$= "") + { + %file = fileBase(%file); + + %grpCount = 0; + %added = false; + for(%i = 0; !%added && %shapeGroup[%i] !$= ""; %i++) + { + for(%j = 0; %shapeType[%j] !$= ""; %j++) + { + if(%this.fileNameMatch(%groupShort[%i], %typeShort[%j], %file)) + { + %this.addItem(%group[%grpCount], %file, "createInterior(" @ "\"" @ %file @ ".dif\"" @ ");"); + %added = true; + } + %grpCount++; + } + } + + // throw it in the 'misc' directory + if(!%added) + %this.addItem(%misc, %file, "createInterior(" @ "\"" @ %file @ ".dif\"" @ ");"); + + %file = findNextFile("interiors/*.dif"); + } + + // *** SHAPES - add in all the shapes now... + %base = %this.addGroup(0, "Shapes"); + %dataGroup = "DataBlockGroup"; + + for(%i = 0; %i < %dataGroup.getCount(); %i++) + { + %obj = %dataGroup.getObject(%i); + if(%obj.catagory !$= "" || %obj.catagory != 0) + { + %grp = %this.addGroup(%base, %obj.catagory); + %this.addItem(%grp, %obj.getName(), %obj.getClassName() @ "::create(" @ %obj.getName() @ ");"); + } + } + + // Statics + %staticBase = %this.addGroup(0, "Static Objects"); + for (%i = 0; %i < $NumStaticTSObjects; %i++) { + echo("This: " SPC $StaticTSObjects[%i]); + echo(getWord($StaticTSObjects[%i], 2)); + + %grp = %this.addGroup(%staticBase, getWord($StaticTSObjects[%i], 0)); + echo("TSStatic::create(" @ getWord($StaticTSObjects[%i], 2) @");"); + %this.addItem(%grp, getWord($StaticTSObjects[%i], 1), "TSStatic::create(\"" @ getWord($StaticTSObjects[%i], 2) @"\");"); + } + + + // *** OBJECTS - do the objects now... + %objGroup[0] = "Environment"; + %objGroup[1] = "Mission"; + %objGroup[2] = "System"; + %objGroup[3] = "AI"; + + %Environment_Item[0] = "Sky"; + %Environment_Item[1] = "Sun"; + %Environment_Item[2] = "Lightning"; + %Environment_Item[3] = "Water"; + %Environment_Item[4] = "Terrain"; + %Environment_Item[5] = "AudioEmitter"; + %Environment_Item[6] = "Precipitation"; + %Environment_Item[7] = "ParticleEmitter"; + + %Mission_Item[0] = "MissionArea"; + %Mission_Item[1] = "GameType"; + %Mission_Item[2] = "Marker"; + %Mission_Item[3] = "Forcefield"; + %Mission_Item[4] = "Trigger"; + %Mission_Item[5] = "PhysicalZone"; + %Mission_Item[6] = "Camera"; + + %System_Item[0] = "SimGroup"; + + %AI_Item[0] = "Objective"; + //%AI_Item[1] = "NavigationGraph"; + + // objects group + %base = %this.addGroup(0, "Objects"); + + // create 'em + for(%i = 0; %objGroup[%i] !$= ""; %i++) + { + %grp = %this.addGroup(%base, %objGroup[%i]); + + %groupTag = "%" @ %objGroup[%i] @ "_Item"; + + %done = false; + for(%j = 0; !%done; %j++) + { + eval("%itemTag = " @ %groupTag @ %j @ ";"); + if(%itemTag $= "") + %done = true; + else + %this.addItem(%grp, %itemTag, "ObjectBuilderGui.build" @ %itemTag @ "();"); + } + } +} + +function createInterior(%name) +{ + %obj = new InteriorInstance() + { + position = "0 0 0"; + rotation = "0 0 0"; + interiorFile = %name; + }; + + return(%obj); +} + +function Creator::onAction(%this) +{ +// %this.currentSel = -1; +// %this.currentRoot = -1; +// %this.currentObj = -1; + + %sel = %this.getSelected(); + if(%sel == -1 || %this.isGroup(%sel) || !$MissionRunning) + return; + + // the value is the callback function.. + if(%this.getValue(%sel) $= "") + return; + + %this.currentSel = %sel; + %this.currentRoot = %this.getRootGroup(%sel); + + %this.create(%sel); +} + +function Creator::create(%this, %sel) +{ + // create the obj and add to the instant group + %obj = eval(%this.getValue(%sel)); + + if(%obj == -1 || %obj == 0) + return; + +// %this.currentObj = %obj; + + $InstantGroup.add(%obj); + + // drop it from the editor - only SceneObjects can be selected... + EWorldEditor.clearSelection(); + EWorldEditor.selectObject(%obj); + EWorldEditor.dropSelection(); +} + + +function TSStatic::create(%shapeName) +{ + %obj = new TSStatic() + { + shapeName = %shapeName; + }; + return(%obj); +} + +function TSStatic::damage(%this) +{ + // prevent console error spam +} + + +//function Creator::getRootGroup(%sel) +//{ +// if(%sel == -1 || %sel == 0) +// return(-1); +// +// %parent = %this.getParent(%sel); +// while(%parent != 0 || %parent != -1) +// { +// %sel = %parent; +// %parent = %this.getParent(%sel); +// } +// +// return(%sel); +//} +// +//function Creator::getLastItem(%rootGroup) +//{ +// %traverse = %rootGroup + 1; +// while(%this.getRootGroup(%traverse) == %rootGroup) +// %traverse++; +// return(%traverse - 1); +//} +// +//function Creator::createNext(%this) +//{ +// if(%this.currentSel == -1 || %this.currentRoot == -1 || %this.currentObj == -1) +// return; +// +// %sel = %this.currentSel; +// %this.currentSel++; +// +// while(%this.currentSel != %sel) +// { +// if(%this.getRootGroup(%this.currentSel) != %this.currentRoot) +// %this.currentSel = %this.currentRoot + 1; +// +// if(%this.isGroup(%this.currentSel)) +// %this.currentSel++; +// else +// %sel = %this.currentSel; +// } +// +// // +// %this.currentObj.delete(); +// %this.create(%sel); +//} +// +//function Creator::createPrevious(%this) +//{ +// if(%this.currentSel == -1 || %this.currentGroup == -1 || %this.currentObj == -1) +// return; +// +// %sel = %this.currentSel; +// %this.currentSel--; +// +// while(%this.currentSel != %sel) +// { +// if(%this.getRootGroup(%this.currentSel) != %this.currentRoot) +// %this.currentSel = getLastItem(%this.currentRoot); +// +// if(%this.isGroup(%this.currentSel)) +// %this.currentSel--; +// else +// %sel = %this.currentSel; +// } +// +// // +// %this.currentObj.delete(); +// %this.create(%sel); +//} + + +function TerraformerGui::init(%this) +{ + TerraformerHeightfieldGui.init(); + TerraformerTextureGui.init(); +} + +function TerraformerGui::onWake(%this) +{ + // Only the canvas level gui's get wakes, so udpate manually. + TerraformerTextureGui.update(); +} + +function TerraformerGui::onSleep(%this) +{ + %this.setPrefs(); +} + +$nextTextureId = 1; +$nextTextureRegister = 1000; +$selectedMaterial = -1; +$selectedTextureOperation = -1; +$TerraformerTextureDir = "common/editor/textureScripts"; + +//-------------------------------------- + +function TextureInit() +{ + // Assumes the terrain object is called terrain + + Texture_operation_menu.clear(); + Texture_operation_menu.setText("Placement Operations"); + Texture_operation_menu.add("Place by Fractal", 1); + Texture_operation_menu.add("Place by Height", 2); + Texture_operation_menu.add("Place by Slope", 3); + Texture_operation_menu.add("Place by Water Level", 4); + + $HeightfieldSrcRegister = Heightfield_operation.rowCount()-1; + + // sync up the preview windows + TexturePreview.setValue(HeightfieldPreview.getValue()); + %script = terrain.getTextureScript(); + if(%script !$= "") + Texture::loadFromScript(%script); + + if (Texture_material.rowCount() == 0) + { + Texture_operation.clear(); + $nextTextureRegister = 1000; + } + else + { + // it's difficult to tell if the heightfield was modified so + // just in case flag all dependent operations as dirty. + %rowCount = Texture_material.rowCount(); + for (%row = 0; %row < %rowCount; %row++) + { + %data = Texture_material.getRowText(%row); + %entry= getRecord(%data,0); + %reg = getField(%entry,1); + $dirtyTexture[ %reg ] = true; + + %opCount = getRecordCount(%data); + for (%op = 2; %op < %opCount; %op++) + { + %entry= getRecord(%data,%op); + %label= getField(%entry,0); + if (%label !$= "Place by Fractal" && %label !$= "Fractal Distortion") + { + %reg = getField(%entry,2); + $dirtyTexture[ %reg ] = true; + } + } + } + Texture::previewMaterial(); + } +} + +function TerraformerTextureGui::refresh(%this) +{ +} + + +//-------------------------------------- +function Texture_material_menu::onSelect(%this, %id, %text) +{ + %this.setText("Materials"); + + // FORMAT + // material name + // register + // operation + // name + // tab name + // register + // distortion register + // {field,value}, ... + // operation + // ... + Texture::saveMaterial(); + Texture::hideTab(); + %id = Texture::addMaterial(%text @ "\t" @ $nextTextureRegister++); + + if (%id != -1) + { + Texture_material.setSelectedById(%id); + Texture::addOperation("Fractal Distortion\ttab_DistortMask\t" @ $nextTextureRegister++ @ "\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t" @ terraFormer.generateSeed() @ "\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000"); + } +} + + +function Texture::addMaterialTexture() +{ + %root = filePath(terrain.terrainFile); + getLoadFilename("textures/terrain/*.png\ttextures/terrain/*.jpg", addLoadedMaterial); +} + +function addLoadedMaterial(%file) +{ + Texture::saveMaterial(); + Texture::hideTab(); + %text = fileBase(%file); + %id = Texture::addMaterial(%text @ "\t" @ $nextTextureRegister++); + if (%id != -1) + { + Texture_material.setSelectedById(%id); + Texture::addOperation("Fractal Distortion\ttab_DistortMask\t" @ $nextTextureRegister++ @ "\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t" @ terraFormer.generateSeed() @ "\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000"); + } + Texture::save(); +} + +//-------------------------------------- +function Texture_material::onSelect(%this, %id, %text) +{ + Texture::saveMaterial(); + if (%id != $selectedMaterial) + { + $selectedTextureOperation = -1; + Texture_operation.clear(); + + Texture::hideTab(); + Texture::restoreMaterial(%id); + } + + %matName = getField(%text, 0); + ETerrainEditor.paintMaterial = %matName; + + Texture::previewMaterial(%id); + $selectedMaterial = %id; + $selectedTextureOperation = -1; + Texture_operation.clearSelection(); +} + + +//-------------------------------------- +function Texture_operation_menu::onSelect(%this, %id, %text) +{ + %this.setText("Placement Operations"); + %id = -1; + + if ($selectedMaterial == -1) + return; + + %dreg = getField(Texture_operation.getRowText(0),2); + + switch$ (%text) + { + case "Place by Fractal": + %id = Texture::addOperation("Place by Fractal\ttab_FractalMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t" @ terraFormer.generateSeed() @ "\tfbmmask_filter\t0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000\tfBmDistort\ttrue"); + + case "Place by Height": + %id = Texture::addOperation("Place by Height\ttab_HeightMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\ttextureHeightFilter\t0 0.2 0.4 0.6 0.8 1.0\theightDistort\ttrue"); + + case "Place by Slope": + %id = Texture::addOperation("Place by Slope\ttab_SlopeMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\ttextureSlopeFilter\t0 0.2 0.4 0.6 0.8 1.0\tslopeDistort\ttrue"); + + case "Place by Water Level": + %id = Texture::addOperation("Place by Water Level\ttab_WaterMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\twaterDistort\ttrue"); + } + + // select it + Texture::hideTab(); + if (%id != -1) + Texture_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Texture_operation::onSelect(%this, %id, %text) +{ + Texture::saveOperation(); + if (%id !$= $selectedTextureOperation) + { + Texture::hideTab(); + Texture::restoreOperation(%id); + Texture::showTab(%id); + } + + Texture::previewOperation(%id); + $selectedTextureOperation = %id; +} + + +//-------------------------------------- +function Texture::deleteMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %row = Texture_material.getRowNumById(%id); + + Texture_material.removeRow(%row); + + // find the next row to select + %rowCount = Texture_material.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedMaterial) + $selectedMaterial = -1; + + Texture_operation.clear(); + %id = Texture_material.getRowId(%row); + Texture_material.setSelectedById(%id); + Texture::save(); +} + + +//-------------------------------------- +function Texture::deleteOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %row = Texture_operation.getRowNumById(%id); + + // don't delete the first entry + if (%row == 0) + return; + + Texture_operation.removeRow(%row); + + // find the next row to select + %rowCount = Texture_operation.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedTextureOperation) + $selectedTextureOperation = -1; + + %id = Texture_operation.getRowId(%row); + Texture_operation.setSelectedById(%id); + Texture::save(); +} + + +//-------------------------------------- +function Texture::applyMaterials() +{ + Texture::saveMaterial(); + %count = Texture_material.rowCount(); + if (%count > 0) + { + %data = getRecord(Texture_material.getRowText(0),0); + %mat_list = getField( %data, 0); + %reg_list = getField( %data, 1); + Texture::evalMaterial(Texture_material.getRowId(0)); + + for (%i=1; %i<%count; %i++) + { + Texture::evalMaterial(Texture_material.getRowId(%i)); + %data = getRecord(Texture_material.getRowText(%i),0); + %mat_list = %mat_list @ " " @ getField( %data, 0); + %reg_list = %reg_list @ " " @ getField( %data, 1); + } + terraformer.setMaterials(%reg_list, %mat_list); + } +} + + +//-------------------------------------- +function Texture::previewMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %data = Texture_material.getRowTextById(%id); + %row = Texture_material.getRowNumById(%id); + %reg = getField(getRecord(%data,0),1); + + Texture::evalMaterial(%id); + + terraformer.preview(TexturePreview, %reg); +} + + +//-------------------------------------- +function Texture::evalMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %data = Texture_material.getRowTextbyId(%id); + %reg = getField(getRecord(%data,0), 1); + + // make sure all operation on this material are up to date + // and accumulate register data for each + %opCount = getRecordCount(%data); + if (%opCount >= 2) // record0=material record1=fractal + { + %entry = getRecord(%data, 1); + Texture::evalOperationData(%entry, 1); + for (%op=2; %op<%opCount; %op++) + { + %entry = getRecord(%data, %op); + %reg_list = %reg_list @ getField(%entry, 2) @ " "; + Texture::evalOperationData(%entry, %op); + } + // merge the masks in to the dst reg + terraformer.mergeMasks(%reg_list, %reg); + } + Texture::save(); +} + + +//-------------------------------------- +function Texture::evalOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + %row = Texture_operation.getRowNumById(%id); + + if (%row != 0) + Texture::evalOperation( Texture_operation.getRowId(0) ); + + Texture::evalOperationData(%data, %row); + Texture::save(); +} + + +//-------------------------------------- +function Texture::evalOperationData(%data, %row) +{ + %label = getField(%data, 0); + %reg = getField(%data, 2); + %dreg = getField(%data, 3); + %id = Texture_material.getRowId(%row); + + if ( $dirtyTexture[%reg] == false ) + { + return; + } + + switch$ (%label) + { + case "Fractal Distortion": + terraformer.maskFBm( %reg, getField(%data,5), getField(%data,7), getField(%data,9), getField(%data,11), false, 0 ); + + case "Place by Fractal": + terraformer.maskFBm( %reg, getField(%data,5), getField(%data,7), getField(%data,9), getField(%data,11), getField(%data,13), %dreg ); + + case "Place by Height": + terraformer.maskHeight( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data,7), %dreg ); + + case "Place by Slope": + terraformer.maskSlope( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data,7), %dreg ); + + case "Place by Water Level": + terraformer.maskWater( $HeightfieldSrcRegister, %reg, getField(%data,5), %dreg ); + } + + + $dirtyTexture[%reg] = false; +} + + + +//-------------------------------------- +function Texture::previewOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %row = Texture_operation.getRowNumById(%id); + %data = Texture_operation.getRowText(%row); + %reg = getField(%data,2); + + Texture::evalOperation(%id); + terraformer.preview(TexturePreview, %reg); +} + + + +//-------------------------------------- +function Texture::restoreMaterial(%id) +{ + if (%id == -1) + return; + + %data = Texture_material.getRowTextById(%id); + + Texture_operation.clear(); + %recordCount = getRecordCount(%data); + for (%record=1; %record<%recordCount; %record++) + { + %entry = getRecord(%data, %record); + Texture_operation.addRow($nextTextureId++, %entry); + } +} + + +//-------------------------------------- +function Texture::saveMaterial() +{ + %id = $selectedMaterial; + if (%id == -1) + return; + + Texture::SaveOperation(); + %data = Texture_Material.getRowTextById(%id); + %newData = getRecord(%data,0); + + %rowCount = Texture_Operation.rowCount(); + for (%row=0; %row<%rowCount; %row++) + %newdata = %newdata @ "\n" @ Texture_Operation.getRowText(%row); + + Texture_Material.setRowById(%id, %newdata); + Texture::save(); +} + + +//-------------------------------------- +function Texture::restoreOperation(%id) +{ + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + + %fieldCount = getFieldCount(%data); + for (%field=4; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %obj.setValue( getField(%data, %field+1) ); + } + Texture::save(); +} + + +//-------------------------------------- +function Texture::saveOperation() +{ + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + %newData = getField(%data,0) @ "\t" @ getField(%data,1) @ "\t" @ getField(%data,2) @ "\t" @ getField(%data,3); + + // go through each object and update its value + %fieldCount = getFieldCount(%data); + for (%field=4; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue(); + } + + %dirty = (%data !$= %newdata); + %reg = getField(%data, 2); + $dirtyTexture[%reg] = %dirty; + + Texture_operation.setRowById(%id, %newdata); + + // mark the material register as dirty too + if (%dirty == true) + { + %data = Texture_Material.getRowTextById($selectedMaterial); + %reg = getField(getRecord(%data,0), 1); + $dirtyTexture[ %reg ] = true; + } + + // if row is zero the fractal mask was modified + // mark everything else in the list as dirty + %row = Texture_material.getRowNumById(%id); + if (%row == 0) + { + %rowCount = Texture_operation.rowCount(); + for (%r=1; %r<%rowCount; %r++) + { + %data = Texture_operation.getRowText(%r); + $dirtyTexture[ getField(%data,2) ] = true; + } + } + Texture::save(); +} + + +//-------------------------------------- +function Texture::addMaterial(%entry) +{ + %id = $nextTextureId++; + Texture_material.addRow(%id, %entry); + + %reg = getField(%entry, 1); + $dirtyTexture[%reg] = true; + + Texture::save(); + return %id; +} + +//-------------------------------------- +function Texture::addOperation(%entry) +{ + // Assumes: operation is being added to selected material + + %id = $nextTextureId++; + Texture_operation.addRow(%id, %entry); + + %reg = getField(%entry, 2); + $dirtyTexture[%reg] = true; + + Texture::save(); + return %id; +} + + +//-------------------------------------- +function Texture::save() +{ + %script = ""; + + // loop through each operation and save it to disk + %rowCount = Texture_material.rowCount(); + for(%row = 0; %row < %rowCount; %row++) + { + if(%row != 0) + %script = %script @ "\n"; + %data = expandEscape(Texture_material.getRowText(%row)); + %script = %script @ %data; + } + terrain.setTextureScript(%script); + ETerrainEditor.isDirty = true; +} + +//-------------------------------------- +function Texture::import() +{ + getLoadFilename("*.ter", "Texture::doLoadTexture"); +} + +function Texture::loadFromScript(%script) +{ + Texture_material.clear(); + Texture_operation.clear(); + $selectedMaterial = -1; + $selectedTextureOperation = -1; + + %i = 0; + for(%rec = getRecord(%script, %i); %rec !$= ""; %rec = getRecord(%script, %i++)) + Texture::addMaterial(collapseEscape(%rec)); + // initialize dirty register array + // patch up register usage + // ...and deterime what the next register should be. + $nextTextureRegister = 1000; + %rowCount = Texture_material.rowCount(); + for (%row = 0; %row < %rowCount; %row++) + { + $dirtyTexture[ $nextTextureRegister ] = true; + %data = Texture_material.getRowText(%row); + %rec = getRecord(%data, 0); + %rec = setField(%rec, 1, $nextTextureRegister); + %data = setRecord(%data, 0, %rec); + $nextTextureRegister++; + + %opCount = getRecordCount(%data); + for (%op = 1; %op < %opCount; %op++) + { + if (%op == 1) + %frac_reg = $nextTextureRegister; + $dirtyTexture[ $nextTextureRegister ] = true; + %rec = getRecord(%data,%op); + %rec = setField(%rec, 2, $nextTextureRegister); + %rec = setField(%rec, 3, %frac_reg); + %data = setRecord(%data, %op, %rec); + $nextTextureRegister++; + } + %id = Texture_material.getRowId(%row); + Texture_material.setRowById(%id, %data); + } + + $selectedMaterial = -1; + Texture_material.setSelectedById(Texture_material.getRowId(0)); +} + +//-------------------------------------- +function Texture::doLoadTexture(%name) +{ + // ok, we're getting a terrain file... + %newTerr = new TerrainBlock() // unnamed - since we'll be deleting it shortly: + { + position = "0 0 0"; + terrainFile = strip("terrains/", %name); + squareSize = 8; + visibleDistance = 100; + }; + if(isObject(%newTerr)) + { + %script = %newTerr.getTextureScript(); + if(%script !$= "") + Texture::loadFromScript(%script); + %newTerr.delete(); + } +} + + + +//-------------------------------------- +function Texture::hideTab() +{ + tab_DistortMask.setVisible(false); + tab_FractalMask.setVisible(false); + tab_HeightMask.setVisible(false); + tab_SlopeMask.setVisible(false); + tab_waterMask.setVisible(false); +} + + +//-------------------------------------- +function Texture::showTab(%id) +{ + Texture::hideTab(); + %data = Texture_operation.getRowTextById(%id); + %tab = getField(%data,1); + %tab.setVisible(true); +} + +function tab_Blend::reset(%this) +{ + blend_option.clear(); + blend_option.add("Add", 0); + blend_option.add("Subtract", 1); + blend_option.add("Max", 2); + blend_option.add("Min", 3); + blend_option.add("Multiply", 4); +} + +function tab_fBm::reset(%this) +{ + fBm_detail.clear(); + fBm_detail.add("Very Low", 0); + fBm_detail.add("Low", 1); + fBm_detail.add("Normal", 2); + fBm_detail.add("High", 3); + fBm_detail.add("Very High", 4); +} + +function tab_RMF::reset(%this) +{ + rmf_detail.clear(); + rmf_detail.add("Very Low", 0); + rmf_detail.add("Low", 1); + rmf_detail.add("Normal", 2); + rmf_detail.add("High", 3); + rmf_detail.add("Very High", 4); +} + +function tab_terrainFile::reset(%this) +{ + // update tab controls.. + terrainFile_textList.clear(); + + %filespec = "terrains/*.ter"; + for(%file = findFirstFile(%filespec); %file !$= ""; %file = findNextFile(%filespec)) + terrainFile_textList.addRow(%i++, fileBase(%file) @ fileExt(%file)); +} + +function tab_canyon::reset() +{ +} + +function tab_smooth::reset() +{ +} + +function tab_smoothWater::reset() +{ +} + +function tab_smoothRidge::reset() +{ +} + +function tab_filter::reset() +{ +} + +function tab_turbulence::reset() +{ +} + +function tab_thermal::reset() +{ +} + +function tab_hydraulic::reset() +{ +} + +function tab_general::reset() +{ +} + +function tab_bitmap::reset() +{ +} + +function tab_sinus::reset() +{ +} + + +//-------------------------------------- + +function Heightfield::resetTabs() +{ + tab_terrainFile.reset(); + tab_fbm.reset(); + tab_rmf.reset(); + tab_canyon.reset(); + tab_smooth.reset(); + tab_smoothWater.reset(); + tab_smoothRidge.reset(); + tab_filter.reset(); + tab_turbulence.reset(); + tab_thermal.reset(); + tab_hydraulic.reset(); + tab_general.reset(); + tab_bitmap.reset(); + tab_blend.reset(); + tab_sinus.reset(); +} + +//-------------------------------------- +function TerraformerInit() +{ + Heightfield_options.clear(); + Heightfield_options.setText("Operation"); + Heightfield_options.add("fBm Fractal",0); + Heightfield_options.add("Rigid MultiFractal",1); + Heightfield_options.add("Canyon Fractal",2); + Heightfield_options.add("Sinus",3); + Heightfield_options.add("Bitmap",4); + Heightfield_options.add("Turbulence",5); + Heightfield_options.add("Smoothing",6); + Heightfield_options.add("Smooth Water",7); + Heightfield_options.add("Smooth Ridges/Valleys", 8); + Heightfield_options.add("Filter",9); + Heightfield_options.add("Thermal Erosion",10); + Heightfield_options.add("Hydraulic Erosion",11); + Heightfield_options.add("Blend",12); + Heightfield_options.add("Terrain File",13); + + Heightfield::resetTabs(); + %script = Terrain.getHeightfieldScript(); + if(%script !$= "") + Heightfield::loadFromScript(%script); + + if (Heightfield_operation.rowCount() == 0) + { + Heightfield_operation.clear(); + %id1 = Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); + Heightfield_operation.setSelectedById(%id1); + } + + Heightfield::resetTabs(); + Heightfield::preview(); +} + +//-------------------------------------- +function Heightfield_options::onSelect(%this, %_id, %text) +{ + Heightfield_options.setText("Operation"); + %id = -1; + + %rowCount = Heightfield_operation.rowCount(); + + // FORMAT + // item name + // tab name + // control name + // control value + switch$(%text) + { + case "Terrain File": + %id = HeightField::add("Terrain File\ttab_terrainFile\tterrainFile_terrFileText\tterrains/terr1.ter\tterrainFile_textList\tterr1.ter"); + + case "fBm Fractal": + %id = Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t" @ terraformer.generateSeed()); + + case "Rigid MultiFractal": + %id = Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t" @ terraformer.generateSeed()); + + case "Canyon Fractal": + %id = Heightfield::add("Canyon Fractal\ttab_Canyon\tcanyon_freq\t5\tcanyon_factor\t0.500\tcanyon_seed\t" @ terraformer.generateSeed()); + + case "Sinus": + %id = Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1 0.83333 0.6666 0.5 0.33333 0.16666 0\tsinus_seed\t" @ terraformer.generateSeed()); + + case "Bitmap": + %id = Heightfield::add("Bitmap\ttab_Bitmap\tbitmap_name\t"); + Heightfield::setBitmap(); + } + + + if (Heightfield_operation.rowCount() >= 1) + { + switch$(%text) + { + case "Smoothing": + %id = Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t0"); + + case "Smooth Water": + %id = Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.500\twatersmooth_iter\t0"); + + case "Smooth Ridges/Valleys": + %id = Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.8500\tridgesmooth_iter\t1"); + + case "Filter": + %id = Heightfield::add("Filter\ttab_Filter\tfilter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1"); + + case "Turbulence": + %id = Heightfield::add("Turbulence\ttab_Turbulence\tturbulence_factor\t0.250\tturbulence_radius\t10"); + + case "Thermal Erosion": + %id = Heightfield::add("Thermal Erosion\ttab_Thermal\tthermal_slope\t30\tthermal_cons\t80.0\tthermal_iter\t0"); + + case "Hydraulic Erosion": + %id = Heightfield::add("Hydraulic Erosion\ttab_Hydraulic\thydraulic_iter\t0\thydraulic_filter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1"); + } + } + + if (Heightfield_operation.rowCount() >= 2) + { + if("Blend" $= %text) + %id = Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.500\tblend_srcB\t" @ %rowCount-2 @"\tblend_option\tadd"); + } + + + // select it + if (%id != -1) + Heightfield_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Heightfield::eval(%id) +{ + if (%id == -1) + return; + + %data = restWords(Heightfield_operation.getRowTextById(%id)); + %label = getField(%data,0); + %row = Heightfield_operation.getRowNumById(%id); + + echo("Heightfield::eval:" @ %row @ " " @ %label ); + + switch$(%label) + { + case "General": + if (Terrain.squareSize>0) %size = Terrain.squareSize; + else %size = 8; + terraformer.setTerrainInfo( 256, %size, getField(%data,3), getField(%data,5), getField(%data,7) ); + terraformer.setShift( getField(%data,9), getField(%data,11) ); + terraformer.terrainData(%row); + + case "Terrain File": + terraformer.terrainFile(%row, getField(%data,3)); + + case "fBm Fractal": + terraformer.fBm( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) ); + + case "Sinus": + terraformer.sinus( %row, getField(%data,3), getField(%data,5) ); + + case "Rigid MultiFractal": + terraformer.rigidMultiFractal( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) ); + + case "Canyon Fractal": + terraformer.canyon( %row, getField(%data,3), getField(%data,5), getField(%data,7) ); + + case "Smoothing": + terraformer.smooth( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Smooth Water": + terraformer.smoothWater( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Smooth Ridges/Valleys": + terraformer.smoothRidges( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Filter": + terraformer.filter( %row-1, %row, getField(%data,3) ); + + case "Turbulence": + terraformer.turbulence( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Thermal Erosion": + terraformer.erodeThermal( %row-1, %row, getField(%data,3), getField(%data,5),getField(%data,7) ); + + case "Hydraulic Erosion": + terraformer.erodeHydraulic( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Bitmap": + terraformer.loadGreyscale(%row, getField(%data,3)); + + case "Blend": + %rowCount = Heightfield_operation.rowCount(); + if(%rowCount > 2) + { + %a = Heightfield_operation.getRowNumById(%id)-1; + %b = getField(%data, 5); + echo("Blend: " @ %data); + echo("Blend: " @ getField(%data,3) @ " " @ getField(%data,7)); + if(%a < %rowCount || %a > 0 || %b < %rowCount || %b > 0 ) + terraformer.blend(%a, %b, %row, getField(%data,3), getField(%data,7) ); + else + echo("Heightfield Editor: Blend parameters out of range."); + } + } + +} + +//-------------------------------------- +function Heightfield::add(%entry) +{ + Heightfield::saveTab(); + Heightfield::hideTab(); + + %id = $NextOperationId++; + if ($selectedOperation != -1) + { + %row = Heightfield_operation.getRowNumById($selectedOperation) + 1; + %entry = %row @ " " @ %entry; + Heightfield_operation.addRow(%id, %entry, %row); // insert + + // adjust row numbers + for(%i = %row+1; %i < Heightfield_operation.rowCount(); %i++) + { + %id = Heightfield_operation.getRowId(%i); + %text = Heightfield_operation.getRowTextById(%id); + %text = setWord(%text, 0, %i); + Heightfield_operation.setRowById(%id, %text); + } + } + else + { + %entry = Heightfield_operation.rowCount() @ " " @ %entry; + Heightfield_operation.addRow(%id, %entry); // add to end + } + + %row = Heightfield_operation.getRowNumById(%id); + if (%row <= $HeightfieldDirtyRow) + $HeightfieldDirtyRow = %row; + Heightfield::save(); + return %id; +} + + +//-------------------------------------- +function Heightfield::onDelete(%id) +{ + if (%id $= "") + %id = $selectedOperation; + + %row = Heightfield_operation.getRowNumById(%id); + + // don't delete the first entry + if (%row == 0) + return; + + Heightfield_operation.removeRow(%row); + + // adjust row numbers + for(%i = %row; %i < Heightfield_operation.rowCount(); %i++) + { + %id2 = Heightfield_operation.getRowId(%i); + %text = Heightfield_operation.getRowTextById(%id2); + %text = setWord(%text, 0, %i); + Heightfield_operation.setRowById(%id2, %text); + } + + // adjust the Dirty Row position + if ($HeightfieldDirtyRow >= %row) + $HeightfieldDirtyRow = %row; + + // find the next row to select + %rowCount = Heightfield_operation.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedOperation) + $selectedOperation = -1; + + %id = Heightfield_operation.getRowId(%row); + Heightfield_operation.setSelectedById(%id); + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield_operation::onSelect(%this, %id, %text) +{ + Heightfield::saveTab(); + Heightfield::hideTab(); + + $selectedOperation = %id; + Heightfield::restoreTab($selectedOperation); + Heightfield::showTab($selectedOperation); + Heightfield::preview($selectedOperation); +} + + +//-------------------------------------- +function Heightfield::restoreTab(%id) +{ + if (%id == -1) + return; + + Heightfield::hideTab(); + + %data = restWords(Heightfield_operation.getRowTextById(%id)); + + %fieldCount = getFieldCount(%data); + for (%field=2; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %obj.setValue( getField(%data, %field+1) ); + } + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield::saveTab() +{ + if ($selectedOperation == -1) + return; + + %data = Heightfield_operation.getRowTextById($selectedOperation); + + %rowNum = getWord(%data, 0); + %data = restWords(%data); + %newdata = getField(%data,0) @ "\t" @ getField(%data,1); + + %fieldCount = getFieldCount(%data); + for (%field=2; %field < %fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue(); + } + // keep track of the top-most dirty operation + // so we know who to evaluate later + if (%data !$= %newdata) + { + %row = Heightfield_operation.getRowNumById($selectedOperation); + if (%row <= $HeightfieldDirtyRow && %row > 0) + $HeightfieldDirtyRow = %row; + } + + Heightfield_operation.setRowById($selectedOperation, %rowNum @ " " @ %newdata); + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield::preview(%id) +{ + %rowCount = Heightfield_operation.rowCount(); + if (%id $= "") + %id = Heightfield_operation.getRowId(%rowCount-1); + + %row = Heightfield_operation.getRowNumById(%id); + + Heightfield::refresh(%row); + terraformer.previewScaled(HeightfieldPreview, %row); +} + + +//-------------------------------------- +function Heightfield::refresh(%last) +{ + if (%last $= "") + %last = Heightfield_operation.rowCount()-1; + + // always update the general info + Heightfield::eval(Heightfield_operation.getRowId(0)); + + for( 0; $HeightfieldDirtyRow<=%last; $HeightfieldDirtyRow++) + { + %id = Heightfield_operation.getRowId($HeightfieldDirtyRow); + Heightfield::eval(%id); + } + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield::apply(%id) +{ + %rowCount = Heightfield_operation.rowCount(); + if (%rowCount < 1) + return; + if (%id $= "") + %id = Heightfield_operation.getRowId(%rowCount-1); + + %row = Heightfield_operation.getRowNumById(%id); + + HeightfieldPreview.setRoot(); + Heightfield::refresh(%row); + terraformer.setTerrain(%row); + + terraformer.setCameraPosition(0,0,0); + ETerrainEditor.isDirty = true; +} + +//-------------------------------------- +$TerraformerSaveRegister = 0; +function Heightfield::saveBitmap(%name) +{ + if(%name $= "") + getSaveFilename("terrains/heightfield/*png", "Heightfield::doSaveBitmap"); + else + Heightfield::doSaveBitmap(%name); +} + +function Heightfield::doSaveBitmap(%name) +{ + %name = fileBase(%name) @ fileExt(%name); + terraformer.saveGreyscale($TerraformerSaveRegister, "terrains/heightfield/" @ %name); +} + +//-------------------------------------- + +function Heightfield::save() +{ + %script = ""; + %rowCount = Heightfield_operation.rowCount(); + for(%row = 0; %row < %rowCount; %row++) + { + if(%row != 0) + %script = %script @ "\n"; + %data = restWords(Heightfield_operation.getRowText(%row)); + %script = %script @ expandEscape(%data); + } + echo("Heightfield Script:" @ %script); + terrain.setHeightfieldScript(%script); + ETerrainEditor.isDirty = true; +} + +//-------------------------------------- +function Heightfield::import() +{ + getLoadFilename("*.ter", "Heightfield::doLoadHeightfield"); +} + + +//-------------------------------------- +function Heightfield::loadFromScript(%script) +{ + echo(%script); + + Heightfield_operation.clear(); + $selectedOperation = -1; + $HeightfieldDirtyRow = -1; + + // zero out all shifting + HeightfieldPreview.reset(); + + for(%rec = getRecord(%script, %i); %rec !$= ""; %rec = getRecord(%script, %i++)) + Heightfield::add(collapseEscape(%rec)); + + if (Heightfield_operation.rowCount() == 0) + { + // if there was a problem executing the script restore + // the operations list to a known state + Heightfield_operation.clear(); + Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); + } + %data = restWords(Heightfield_operation.getRowText(0)); + %x = getField(%data,7); + %y = getField(%data,9); + HeightfieldPreview.setOrigin(%x, %y); + Heightfield_operation.setSelectedById(Heightfield_operation.getRowId(0)); + terraformer.setCameraPosition(%x,%y); +} + +//-------------------------------------- +//-------------------------------------- +function strip(%stripStr, %strToStrip) +{ + %len = strlen(%stripStr); + if(strcmp(getSubStr(%strToStrip, 0, %len), %stripStr) == 0) + return getSubStr(%strToStrip, %len, 100000); + return %strToStrip; +} + +function Heightfield::doLoadHeightfield(%name) +{ + // ok, we're getting a terrain file... + %newTerr = new TerrainBlock() // unnamed - since we'll be deleting it shortly: + { + position = "0 0 0"; + terrainFile = strip("terrains/", %name); + squareSize = 8; + visibleDistance = 100; + }; + if(isObject(%newTerr)) + { + %script = %newTerr.getHeightfieldScript(); + if(%script !$= "") + Heightfield::loadFromScript(%script); + %newTerr.delete(); + } +} + + +//-------------------------------------- +function Heightfield::setBitmap() +{ + getLoadFilename("terrains/heightfield/*.png", "Heightfield::doSetBitmap"); +} + +//-------------------------------------- +function Heightfield::doSetBitmap(%name) +{ + bitmap_name.setValue(%name); + Heightfield::saveTab(); + Heightfield::preview($selectedOperation); +} + + +//-------------------------------------- +function Heightfield::hideTab() +{ + tab_terrainFile.setVisible(false); + tab_fbm.setvisible(false); + tab_rmf.setvisible(false); + tab_canyon.setvisible(false); + tab_smooth.setvisible(false); + tab_smoothWater.setvisible(false); + tab_smoothRidge.setvisible(false); + tab_filter.setvisible(false); + tab_turbulence.setvisible(false); + tab_thermal.setvisible(false); + tab_hydraulic.setvisible(false); + tab_general.setvisible(false); + tab_bitmap.setvisible(false); + tab_blend.setvisible(false); + tab_sinus.setvisible(false); +} + + +//-------------------------------------- +function Heightfield::showTab(%id) +{ + Heightfield::hideTab(); + %data = restWords(Heightfield_operation.getRowTextById(%id)); + %tab = getField(%data,1); + echo("Tab data: " @ %data @ " tab: " @ %tab); + %tab.setVisible(true); +} + + +//-------------------------------------- +function Heightfield::center() +{ + %camera = terraformer.getCameraPosition(); + %x = getWord(%camera, 0); + %y = getWord(%camera, 1); + + HeightfieldPreview.setOrigin(%x, %y); + + %origin = HeightfieldPreview.getOrigin(); + %x = getWord(%origin, 0); + %y = getWord(%origin, 1); + + %root = HeightfieldPreview.getRoot(); + %x += getWord(%root, 0); + %y += getWord(%root, 1); + + general_centerx.setValue(%x); + general_centery.setValue(%y); + Heightfield::saveTab(); +} + +function ExportHeightfield::onAction() +{ + error("Time to export the heightfield..."); + if (Heightfield_operation.getSelectedId() != -1) { + $TerraformerSaveRegister = getWord(Heightfield_operation.getValue(), 0); + Heightfield::saveBitmap(""); + } +} + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function TerrainEditor::onGuiUpdate(%this, %text) +{ + %mouseBrushInfo = " (Mouse Brush) #: " @ getWord(%text, 0) @ " avg: " @ getWord(%text, 1); + %selectionInfo = " (Selection) #: " @ getWord(%text, 2) @ " avg: " @ getWord(%text, 3); + + TEMouseBrushInfo.setValue(%mouseBrushInfo); + TEMouseBrushInfo1.setValue(%mouseBrushInfo); + TESelectionInfo.setValue(%selectionInfo); + TESelectionInfo1.setValue(%selectionInfo); +} + +function TerrainEditor::offsetBrush(%this, %x, %y) +{ + %curPos = %this.getBrushPos(); + %this.setBrushPos(getWord(%curPos, 0) + %x, getWord(%curPos, 1) + %y); +} + +function TerrainEditor::swapInLoneMaterial(%this, %name) +{ + // swapped? + if(%this.baseMaterialsSwapped $= "true") + { + %this.baseMaterialsSwapped = "false"; + tEditor.popBaseMaterialInfo(); + } + else + { + %this.baseMaterialsSwapped = "true"; + %this.pushBaseMaterialInfo(); + %this.setLoneBaseMaterial(%name); + } + + // + flushTextureCache(); +} + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ + + +function TELoadTerrainButton::onAction(%this) +{ + getLoadFilename("terrains/*.ter", %this @ ".gotFileName"); +} + +function TELoadTerrainButton::gotFileName(%this, %name) +{ + // + %pos = "0 0 0"; + %squareSize = "8"; + %visibleDistance = "1200"; + + // delete current + if(isObject(terrain)) + { + %pos = terrain.position; + %squareSize = terrain.squareSize; + %visibleDistance = terrain.visibleDistance; + + terrain.delete(); + } + + // create new + new TerrainBlock(terrain) + { + position = %pos; + terrainFile = %name; + squareSize = %squareSize; + visibleDistance = %visibleDistance; + }; + + ETerrainEditor.attachTerrain(); +} + +function TerrainEditorSettingsGui::onWake(%this) +{ + TESoftSelectFilter.setValue(ETerrainEditor.softSelectFilter); +} + +function TerrainEditorSettingsGui::onSleep(%this) +{ + ETerrainEditor.softSelectFilter = TESoftSelectFilter.getValue(); +} + +function TESettingsApplyButton::onAction(%this) +{ + ETerrainEditor.softSelectFilter = TESoftSelectFilter.getValue(); + ETerrainEditor.resetSelWeights(true); + ETerrainEditor.processAction("softSelect"); +} + +function getPrefSetting(%pref, %default) +{ + // + if(%pref $= "") + return(%default); + else + return(%pref); +} + +//------------------------------------------------------------------------------ + +function Editor::open(%this) +{ + // get the defaults + %this.getPrefs(); + + %this.prevContent = Canvas.getContent(); + + Canvas.setContent(EditorGui); +} + +function Editor::close(%this) +{ + if(%this.prevContent == -1 || %this.prevContent $= "") + %this.prevContent = "PlayGui"; + + Canvas.setContent(%this.prevContent); + + closeMessageHud(); +} + +//------------------------------------------------------------------------------ diff --git a/public/base/@vl2/scripts.vl2/scripts/EditorProfiles.cs b/public/base/@vl2/scripts.vl2/scripts/EditorProfiles.cs new file mode 100644 index 00000000..74d7eef2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/EditorProfiles.cs @@ -0,0 +1,460 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- + +$Gui::fontCacheDirectory = expandFilename("./cache"); +$Gui::clipboardFile = expandFilename("./cache/clipboard.gui"); + +// GuiDefaultProfile is a special case, all other profiles are initialized +// to the contents of this profile first then the profile specific +// overrides are assigned. + +if(!isObject(GuiDefaultProfile)) new GuiControlProfile (GuiDefaultProfile) +{ + tab = false; + canKeyFocus = false; + hasBitmapArray = false; + mouseOverSelected = false; + + // fill color + opaque = false; + fillColor = ($platform $= "macos") ? "211 211 211" : "192 192 192"; + fillColorHL = ($platform $= "macos") ? "244 244 244" : "220 220 220"; + fillColorNA = ($platform $= "macos") ? "244 244 244" : "220 220 220"; + + // border color + border = false; + borderColor = "0 0 0"; + borderColorHL = "128 128 128"; + borderColorNA = "64 64 64"; + + // font + fontType = "Arial"; + fontSize = 14; + + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fontColorNA = "0 0 0"; + fontColorSEL= "200 200 200"; + + // bitmap information + bitmap = "gui/darkWindow"; + bitmapBase = ""; + textOffset = "0 0"; + + // used by guiTextControl + modal = true; + justify = "left"; + autoSizeWidth = false; + autoSizeHeight = false; + returnTab = false; + numbersOnly = false; + cursorColor = "0 0 0 255"; + + // sounds + soundButtonDown = ""; + soundButtonOver = ""; +}; + +if(!isObject(GuiInputCtrlProfile)) new GuiControlProfile( GuiInputCtrlProfile ) +{ + tab = true; + canKeyFocus = true; +}; + +if(!isObject(GuiDialogProfile)) new GuiControlProfile(GuiDialogProfile); + + +if(!isObject(GuiSolidDefaultProfile)) new GuiControlProfile (GuiSolidDefaultProfile) +{ + opaque = true; + border = true; +}; + +if(!isObject(GuiWindowProfile)) new GuiControlProfile (GuiWindowProfile) +{ + opaque = true; + border = 2; + fillColor = ($platform $= "macos") ? "211 211 211" : "192 192 192"; + fillColorHL = ($platform $= "macos") ? "190 255 255" : "64 150 150"; + fillColorNA = ($platform $= "macos") ? "255 255 255" : "150 150 150"; + fontColor = ($platform $= "macos") ? "0 0 0" : "255 255 255"; + fontColorHL = ($platform $= "macos") ? "200 200 200" : "0 0 0"; + text = "GuiWindowCtrl test"; + bitmap = "gui/darkWindow"; + textOffset = ($platform $= "macos") ? "5 5" : "6 6"; + hasBitmapArray = true; + justify = ($platform $= "macos") ? "center" : "left"; +}; + +if(!isObject(EditorToolButtonProfile)) new GuiControlProfile (EditorToolButtonProfile) +{ + opaque = true; + border = 2; +}; + +if(!isObject(GuiContentProfile)) new GuiControlProfile (GuiContentProfile) +{ + opaque = true; + fillColor = "255 255 255"; +}; + +if(!isObject(GuiModelessDialogProfile)) new GuiControlProfile("GuiModelessDialogProfile") +{ + modal = false; +}; + +if(!isObject(GuiButtonProfile)) new GuiControlProfile (GuiButtonProfile) +{ + opaque = true; + border = true; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; + canKeyFocus = false; +}; + +if(!isObject(GuiBorderButtonProfile)) new GuiControlProfile (GuiBorderButtonProfile) +{ + fontColorHL = "0 0 0"; +}; + +if(!isObject(GuiMenuBarProfile)) new GuiControlProfile (GuiMenuBarProfile) +{ + fontType = "Arial"; + fontSize = 14; + opaque = true; + fillColor = "192 192 192"; + fillColorHL = "220 220 220"; + fillColorNA = "220 220 220"; + fillColorHL = "0 0 96"; + border = 4; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + fixedExtent = true; + justify = "center"; + canKeyFocus = false; + mouseOverSelected = true; + //bitmap = ($platform $= "macos") ? "./osxMenu" : "./torqueMenu"; + //hasBitmapArray = true; +}; + +if(!isObject(GuiButtonSmProfile)) new GuiControlProfile (GuiButtonSmProfile) +{ + fontSize = 14; +}; + +if(!isObject(GuiRadioProfile)) new GuiControlProfile (GuiRadioProfile) +{ + fontSize = 14; + fillColor = "232 232 232"; + fontColorHL = "32 100 100"; + fixedExtent = true; + bitmap = "gui/darkWindow"; + hasBitmapArray = true; +}; + +if(!isObject(GuiScrollProfile)) new GuiControlProfile (GuiScrollProfile) +{ + opaque = true; + fillColor = "255 255 255"; + border = 3; + borderThickness = 2; + borderColor = "0 0 0"; + bitmap = "gui/darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiSliderProfile)) new GuiControlProfile (GuiSliderProfile); + + +if(!isObject(PainterTextProfile)) new GuiControlProfile (PainterTextProfile) +{ + fontType = "Univers Condensed"; + fontSize = 16; + fontColor = "0 0 0"; + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(GuiTextProfile)) new GuiControlProfile (GuiTextProfile) +{ + fontColor = "0 0 0"; + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(EditorTextProfile)) new GuiControlProfile (EditorTextProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(EditorTextProfileWhite)) new GuiControlProfile (EditorTextProfileWhite) +{ + fontType = "Arial Bold"; + fontColor = "255 255 255"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(GuiMediumTextProfile)) new GuiControlProfile (GuiMediumTextProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; + fontSize = 24; +}; + +if(!isObject(GuiBigTextProfile)) new GuiControlProfile (GuiBigTextProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; + fontSize = 36; +}; + +if(!isObject(GuiCenterTextProfile)) new GuiControlProfile (GuiCenterTextProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; + justify = "center"; +}; + +if(!isObject(MissionEditorProfile)) new GuiControlProfile (MissionEditorProfile) +{ + canKeyFocus = true; +}; + +if(!isObject(EditorScrollProfile)) new GuiControlProfile (EditorScrollProfile) +{ + opaque = true; + fillColor = "192 192 192 192"; + border = 3; + borderThickness = 2; + borderColor = "0 0 0"; + bitmap = "gui/darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiTextEditProfile)) new GuiControlProfile (GuiTextEditProfile) +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = 3; + borderThickness = 2; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +if(!isObject(GuiControlListPopupProfile)) new GuiControlProfile (GuiControlListPopupProfile) +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = true; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; + bitmap = "gui/darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiTextArrayProfile)) new GuiControlProfile (GuiTextArrayProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; + fontColorHL = "32 100 100"; + fillColorHL = "200 200 200"; +}; + +if(!isObject(GuiTextListProfile)) new GuiControlProfile (GuiTextListProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; + +} ; + +if(!isObject(GuiTreeViewProfile)) new GuiControlProfile (GuiTreeViewProfile) +{ + fontSize = 13; // dhc - trying a better fit... + fontColor = "0 0 0"; + fontColorHL = "64 150 150"; +}; + +if(!isObject(GuiCheckBoxProfile)) new GuiControlProfile (GuiCheckBoxProfile) +{ + opaque = false; + fillColor = "232 232 232"; + border = false; + borderColor = "0 0 0"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "left"; + bitmap = "gui/darkScroll"; + hasBitmapArray = true; + +}; + +if(!isObject(GuiPopUpMenuProfile)) new GuiControlProfile (GuiPopUpMenuProfile) +{ + opaque = true; + mouseOverSelected = true; + + border = 4; + borderThickness = 2; + borderColor = "0 0 0"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fontColorSEL = "32 100 100"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiEditorClassProfile)) new GuiControlProfile (GuiEditorClassProfile) +{ + opaque = true; + fillColor = "232 232 232"; + border = true; + borderColor = "0 0 0"; + borderColorHL = "127 127 127"; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/darkScroll"; + hasBitmapArray = true; +}; + + +if(!isObject(LoadTextProfile)) new GuiControlProfile ("LoadTextProfile") +{ + fontColor = "66 219 234"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + + +if(!isObject(GuiMLTextProfile)) new GuiControlProfile ("GuiMLTextProfile") +{ + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; +}; + +if(!isObject(GuiMLTextEditProfile)) new GuiControlProfile (GuiMLTextEditProfile) +{ + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; + + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + + autoSizeWidth = true; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +//-------------------------------------------------------------------------- +// Console Window + +if(!isObject(GuiConsoleProfile)) new GuiControlProfile ("GuiConsoleProfile") +{ + fontType = ($platform $= "macos") ? "Courier New" : "Lucida Console"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "130 130 130"; + fontColorNA = "255 0 0"; + fontColors[6] = "50 50 50"; + fontColors[7] = "50 50 0"; + fontColors[8] = "0 0 50"; + fontColors[9] = "0 50 0"; +}; + + +if(!isObject(GuiProgressProfile)) new GuiControlProfile ("GuiProgressProfile") +{ + opaque = false; + fillColor = "44 152 162 100"; + border = true; + borderColor = "78 88 120"; +}; + +if(!isObject(GuiProgressTextProfile)) new GuiControlProfile ("GuiProgressTextProfile") +{ + fontColor = "0 0 0"; + justify = "center"; +}; + + + +//-------------------------------------------------------------------------- +// Gui Inspector + +if(!isObject(GuiInspectorTextEditProfile)) new GuiControlProfile ("GuiInspectorTextEditProfile") +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = true; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = true; +}; + +//-------------------------------------- Cursors +// +if(!isObject(DefaultCursor)) new GuiCursor(DefaultCursor) +{ + hotSpot = "1 1"; + bitmapName = "gui/CUR_3darrow"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/GameGui.cs b/public/base/@vl2/scripts.vl2/scripts/GameGui.cs new file mode 100644 index 00000000..3450fffb --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/GameGui.cs @@ -0,0 +1,1826 @@ +//------------------------------------------------------------------------------ +// +// GameGui.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +function LaunchGame( %pane ) +{ + if ( %pane !$= "" ) + GameGui.pane = %pane; + + LaunchTabView.viewTab( "GAME", GameGui, 0 ); +} + +//------------------------------------------------------------------------------ +function GameGui::onWake( %this ) +{ + Canvas.pushDialog( LaunchToolbarDlg ); + + if ( isDemo() || $PlayingOnline ) + GM_Frame.setTitle( "GAME" ); + else + GM_Frame.setTitle( "LAN GAME" ); + + // This is essentially an "isInitialized" flag... + if ( GM_TabView.tabCount() == 0 ) + { + if ( isDemo() ) + { + GM_TabView.addTab( 1, "JOIN" ); + GM_TabView.addTab( 2, "HOST" ); + %this.pane = "Join"; + } + else + { + GM_TabView.addTab( 1, "JOIN" ); + GM_TabView.addTab( 2, "HOST" ); + GM_TabView.addTab( 3, "WARRIOR SETUP", 1 ); + queryMasterGameTypes(); + } + } + + switch$ ( %this.pane ) + { + case "Join": + GM_TabView.setSelected( 1 ); + case "Host": + GM_TabView.setSelected( 2 ); + default: // "Warrior" + GM_TabView.setSelected( 3 ); + } +} + +//------------------------------------------------------------------------------ +function GameGui::onSleep( %this ) +{ + %ctrl = "GM_" @ %this.pane @ "Pane"; + if ( isObject( %ctrl ) ) + %ctrl.onDeactivate(); + +// if( isObject( $dummySeq ) ) +// { +// $dummySeq.delete(); +// } + + Canvas.popDialog(LaunchToolbarDlg); +} + +//------------------------------------------------------------------------------ +function GameGui::setKey( %this, %key ) +{ + // To avoid console error +} + +//------------------------------------------------------------------------------ +function GameGui::onClose( %this, %key ) +{ + // To avoid console error +} + +//------------------------------------------------------------------------------ +function GM_TabView::onAdd( %this ) +{ + %this.addSet( 1, "gui/shll_horztabbuttonB", "5 5 5", "50 50 0", "5 5 5" ); +} + +//------------------------------------------------------------------------------ +function GM_TabView::onSelect( %this, %id, %text ) +{ + GM_JoinPane.setVisible( %id == 1 ); + GM_HostPane.setVisible( %id == 2 ); + GM_WarriorPane.setVisible( %id == 3 ); + GM_TabFrame.setAltColor( %this.getTabSet( %id ) != 0 ); + + %ctrl = "GM_" @ GameGui.pane @ "Pane"; + if ( isObject( %ctrl ) ) + %ctrl.onDeactivate(); + + switch ( %id ) + { + case 1: // Join + GM_JoinPane.onActivate(); + case 2: // Host + GM_HostPane.onActivate(); + case 3: // Warrior Setup + GM_WarriorPane.onActivate(); + } +} + +//------------------------------------------------------------------------------ +// Join Game pane: +//------------------------------------------------------------------------------ +function GM_JoinPane::onActivate( %this ) +{ + GameGui.pane = "Join"; + + if ( %this.onceOnly $= "" ) + { + GM_VersionText.setText( "Version" SPC getT2VersionNumber() ); + GMJ_StopBtn.setActive( false ); + + %this.onceOnly = 1; + if ( isDemo() ) + GMJ_Browser.lastQuery = "Demo"; + else + GMJ_Browser.lastQuery = $PlayingOnline ? "Master" : "LanServers"; + GMJ_Browser.runQuery(); + } + + if ( isObject( BrowserMap ) ) + { + BrowserMap.pop(); + BrowserMap.delete(); + } + new ActionMap( BrowserMap ); + if ( !isDemo() ) + BrowserMap.bindCmd( keyboard, insert, "GMJ_Browser.insertIPAddress();", "" ); + BrowserMap.bindCmd( keyboard, "ctrl f", "Canvas.pushDialog( FindServerDlg );", "" ); + BrowserMap.bindCmd( keyboard, F3, "GMJ_Browser.findNextServer();", "" ); + BrowserMap.push(); + + GM_VersionText.setVisible( !isDemo() ); + + if ( $pref::ServerBrowser::InfoWindowOpen ) + Canvas.pushDialog( ServerInfoDlg ); +} + +//------------------------------------------------------------------------------ +function GM_JoinPane::onDeactivate( %this ) +{ + if ( isObject( BrowserMap ) ) + { + BrowserMap.pop(); + BrowserMap.delete(); + } + + GM_VersionText.setVisible( false ); + + $pref::ServerBrowser::InfoWindowOpen = GMJ_Browser.infoWindowOpen; + if ( GMJ_Browser.infoWindowOpen ) + Canvas.popDialog( ServerInfoDlg ); +} + +//------------------------------------------------------------------------------ +$BrowserColumnCount = 0; +$BrowserColumnName[0] = "Server Name"; +$BrowserColumnRange[0] = "25 300"; +$BrowserColumnCount++; +$BrowserColumnName[1] = "Status"; +$BrowserColumnRange[1] = "25 75"; +$BrowserColumnCount++; +$BrowserColumnName[2] = "Favorite"; +$BrowserColumnRange[2] = "25 75"; +$BrowserColumnCount++; +$BrowserColumnName[3] = "Ping"; +$BrowserColumnRange[3] = "25 120"; +$BrowserColumnCount++; +$BrowserColumnName[4] = "Game Type"; +$BrowserColumnRange[4] = "25 200"; +$BrowserColumnCount++; +$BrowserColumnName[5] = "Mission Name"; +$BrowserColumnRange[5] = "25 300"; +$BrowserColumnCount++; +if ( !isDemo() ) +{ + $BrowserColumnName[6] = "Rules Set"; + $BrowserColumnRange[6] = "25 300"; + $BrowserColumnCount++; +} +$BrowserColumnName[7] = "# Players (Bots)"; +$BrowserColumnRange[7] = "25 150"; +$BrowserColumnCount++; +$BrowserColumnName[8] = "CPU"; +$BrowserColumnRange[8] = "25 120"; +$BrowserColumnCount++; +$BrowserColumnName[9] = "IP Address"; +$BrowserColumnRange[9] = "25 200"; +$BrowserColumnCount++; +if ( !isDemo() ) +{ + $BrowserColumnName[10] = "Version"; + $BrowserColumnRange[10] = "25 200"; + $BrowserColumnCount++; +} +$BrowserColumnName[11] = "Visibility"; +$BrowserColumnRange[11] = "25 120"; +$BrowserColumnCount++; + +//------------------------------------------------------------------------------ +function GMJ_Browser::onAdd( %this ) +{ + // Add the Server Browser columns based on the prefs: + for ( %i = 0; %i < $BrowserColumnCount; %i++ ) + { + %key = firstWord( $pref::ServerBrowser::Column[%i] ); + if ( $BrowserColumnName[%key] !$= "" && $BrowserColumnRange[%key] !$= "" ) + { + %width = getWord( $pref::ServerBrowser::Column[%i], 1 ); + %this.addColumn( %key, $BrowserColumnName[%key], %width, firstWord( $BrowserColumnRange[%key] ), getWord( $BrowserColumnRange[%key], 1 ) ); + } + } + %this.setSortColumn( $pref::ServerBrowser::SortColumnKey ); + %this.setSortIncreasing( $pref::ServerBrowser::SortInc ); +} + +//------------------------------------------------------------------------------ +function updateServerBrowser() +{ + GMJ_Browser.sort(); + if ( GMJ_Browser.infoWindowOpen ) + ServerInfoDlg.update(); +} + +//------------------------------------------------------------------------------ +function updateServerBrowserStatus( %text, %percentage ) +{ + GMJ_StatusText.setValue( %text ); + if ( %percentage >= 0 && %percentage <= 1 ) + { + GMJ_ProgressBar.setValue( %percentage ); + if ( %percentage == 0 ) // Query is over. + GMJ_StopBtn.setActive( false ); + } +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::runQuery( %this ) +{ + GMJ_ProgressBar.setValue( 0 ); + $JoinGameAddress = ""; + GMJ_JoinBtn.setActive( false ); + GMJ_RefreshServerBtn.setActive( false ); + %this.clearList(); + + // Clear the Server Info dialog: + SI_InfoWindow.setText( "No server selected." ); + SI_ContentWindow.setText( "" ); + + if ( %this.lastQuery $= "LanServers" ) + { + GMJ_StatusText.setValue( "Querying LAN servers..." ); + GMJ_FilterBtn.setActive( false ); + GMJ_FilterBtn.setVisible( false ); + GMJ_FilterText.setText( "LAN Servers" ); + queryLanServers( $JoinGamePort ); + GMJ_StopBtn.setActive( true ); + } + else if ( %this.lastQuery $= "Demo" ) + { + GMJ_StatusText.setValue( "Querying the master server..." ); + GMJ_FilterBtn.setActive( false ); + GMJ_FilterBtn.setVisible( false ); + GMJ_FilterText.setText( "Demo Servers" ); + queryMasterServer( $JoinGamePort ); + GMJ_StopBtn.setActive( true ); + } + else + { + GMJ_FilterBtn.setActive( true ); + GMJ_FilterBtn.setVisible( true ); + + if ( $pref::ServerBrowser::activeFilter == 0 ) + { + GMJ_StatusText.setValue( "Querying the master server..." ); + GMJ_FilterText.setText( "All servers" ); + queryMasterServer( $JoinGamePort ); + GMJ_StopBtn.setActive( true ); + } + else if ( $pref::ServerBrowser::activeFilter == 1 ) + { + // Buddy list query: + GMJ_StatusText.setValue( "Fetching buddy list..." ); + GMJ_FilterText.setText( "Buddies" ); + %this.key = LaunchGui.key++; + DatabaseQueryArray( 5, 0, "", %this, %this.key ); + } + else if ( $pref::ServerBrowser::activeFilter == 2 ) + { + // Favorites only: + GMJ_FilterText.setText( "Favorites" ); + if ( $pref::ServerBrowser::FavoriteCount <= 0 || $pref::ServerBrowser::Favorite[0] $= "" ) + { + GMJ_StatusText.setValue( "No favorites found." ); + MessageBoxOK( "INVALID FILTER", "You haven't marked any servers as favorites. Click the Favorites column to mark a server as a favorite." ); + } + else + { + GMJ_StatusText.setValue( "Querying favorites..." ); + queryFavoriteServers(); + GMJ_StopBtn.setActive( true ); + } + } + else + { + GMJ_StatusText.setValue( "Querying the master server..." ); + %filterIndex = $pref::ServerBrowser::activeFilter - 3; + if ( $pref::ServerBrowser::Filter[%filterIndex] !$= "" ) + { + %filter = $pref::ServerBrowser::Filter[%filterIndex]; + GMJ_FilterText.setText( getField( %filter, 0 ) ); + %rulesSet = getField( %filter, 1 ); + if ( %rulesSet $= "" ) + %rulesSet = "any"; + %missionType = getField( %filter, 2 ); + if ( %missionType $= "" ) + %missionType = "any"; + %maxPlayers = getField( %filter, 4 ); + if ( %maxPlayers $= "" ) + %maxPlayers = 255; + %maxBots = getField( %filter, 7 ); + if ( %maxBots $= "" ) + %maxBots = 16; + %regionMask = getField( %filter, 5 ); + if ( %regionMask $= "" ) + %regionMask = 4294967295; + + queryMasterServer( + $JoinGamePort, + 0, // Flags + %rulesSet, // Rules Set + %missionType, // Mission Type + getField( %filter, 3 ), // Min Players + %maxPlayers, // Max Players + %maxBots, // Max Bots + %regionMask, // Region Mask + getField( %filter, 6 ), // Max Ping + getField( %filter, 8 ), // Min CPU Speed + getField( %filter, 9 ) ); // Filter flags + GMJ_StopBtn.setActive( true ); + } + else + { + // Filter is invalid, so fall back to the default: + $pref::ServerBrowser::activeFilter = 0; + GMJ_FilterText.setText( "All servers" ); + queryMasterServer( $JoinGamePort ); + GMJ_StopBtn.setActive( true ); + } + } + } +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::onDatabaseQueryResult( %this, %status, %resultString, %key ) +{ + if ( %this.key != %key ) + return; + + if ( getField( %resultString, 0 ) <= 0 ) + { + GMJ_StatusText.setValue( "No buddies found." ); + MessageBoxOK( "INVALID FILTER", "You have no buddies in your buddy list!" ); + } + else // Prepare for the incoming buddy list: + %this.buddyList = ""; +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::onDatabaseRow( %this, %row, %isLastRow, %key ) +{ + if ( %this.key != %key ) + return; + + %buddyName = getField( %row, 0 ); + %buddyGuid = getField( %row, 3 ); + echo( "Got buddy: \c9\"" @ %buddyName @ "\": " @ %buddyGuid ); + %this.buddyList = %this.buddyList $= "" ? %buddyGuid : %this.buddyList TAB %buddyGuid; + + if ( %isLastRow ) + { + GMJ_StatusText.setValue( "Querying the master server..." ); + queryMasterServer( + $JoinGamePort, // Port + 0, // Flags + "Any", // Rules Set + "Any", // Mission Type + 0, // Min Players + 255, // Max Players + 16, // Max Bots + 0xFFFFFFFF, // Region Mask + 0, // Max Ping + 0, // Min CPU Speed + 0, // Filter flags + %this.buddyList ); + GMJ_StopBtn.setActive( true ); + %this.buddyList = ""; + } +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::onSelect( %this, %address ) +{ + GMJ_JoinBtn.setActive( true ); + if ( !isServerQueryActive() ) + GMJ_RefreshServerBtn.setActive( true ); + $JoinGamePassword = ""; + $JoinGameAddress = %address; + + if ( %this.infoWindowOpen ) + ServerInfoDlg.update(); +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::refreshSelectedServer( %this ) +{ + querySingleServer( $JoinGameAddress ); + if ( %this.infoWindowOpen ) + ServerInfoDlg.update(); +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::onSetSortKey( %this, %sortKey, %isIncreasing ) +{ + $pref::ServerBrowser::SortColumnKey = %sortKey; + $pref::ServerBrowser::SortInc = %isIncreasing; +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::onColumnResize( %this, %column, %newSize, %key ) +{ + $pref::ServerBrowser::Column[%column] = %key SPC %newSize; +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::onColumnRepositioned( %this, %oldColumn, %newColumn ) +{ + // Puke em all... + %count = %this.getNumColumns(); + for ( %col = 0; %col < %count; %col++ ) + $pref::ServerBrowser::Column[%col] = %this.getColumnKey( %col ) SPC %this.getColumnWidth( %col ); +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::addFavorite( %this, %name, %address ) +{ + //error( "** addFavorite( \"" @ %name @ "\", " @ %address @ " ) **" ); + $pref::ServerBrowser::Favorite[$pref::ServerBrowser::FavoriteCount] = %name TAB %address; + $pref::ServerBrowser::FavoriteCount++; +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::removeFavorite( %this, %address ) +{ + //error( "** removeFavorite( " @ %address @ " ) **" ); + %foundIt = false; + for ( %i = 0; %i < $pref::ServerBrowser::FavoriteCount; %i++ ) + { + if ( !%foundIt ) + { + if ( getField( $pref::ServerBrowser::Favorite[%i], 1 ) $= %address ) + %foundIt = true; + } + + if ( %foundIt ) + $pref::ServerBrowser::Favorite[%i] = $pref::ServerBrowser::Favorite[%i + 1]; + } + + if ( %foundIt ) + $pref::ServerBrowser::FavoriteCount--; +} + +//------------------------------------------------------------------------------ +function GMJ_Browser::insertIPAddress( %this ) +{ + if ( isServerQueryActive() ) + { + BrowserMap.pop(); + MessageBoxOK( "ERROR", "Can't insert addresses while a query is running!", "BrowserMap.push();" ); + alxPlay( InputDeniedSound, 0, 0, 0 ); + return; + } + + IPEntry.setText( "IP:" ); + Canvas.pushDialog( EnterIPDlg ); +} + +//------------------------------------------------------------------------------ +function EnterIPDlg::onDone( %this ) +{ + Canvas.popDialog( EnterIPDlg ); + %address = IPEntry.getValue(); + if ( getSubStr( %address, 0, 3 ) !$= "IP:" ) + %address = "IP:" @ %address; + if ( strpos( %address, ":", 3 ) == -1 ) + %address = %address @ ":28000"; + + echo( "Starting ping to server " @ %address @ "..." ); + pushServerAddress( %address ); + GMJ_Browser.selectRowByAddress( %address, true ); +} + +//------------------------------------------------------------------------------ +function FindServerDlg::onWake( %this ) +{ + FS_SearchPattern.validate(); + FS_SearchPattern.selectAll(); +} + +//------------------------------------------------------------------------------ +function FindServerDlg::onGo( %this ) +{ + %pattern = FS_SearchPattern.getValue(); + if ( %pattern !$= "" ) + { + Canvas.popDialog( FindServerDlg ); + if ( !GMJ_Browser.findServer( %pattern ) ) + MessageBoxOK( "NOT FOUND", "No servers with \"" @ %pattern @ "\" in their name were found." ); + } + else + alxPlay( InputDeniedSound, 0, 0, 0 ); +} + +//------------------------------------------------------------------------------ +function FS_SearchPattern::validate( %this ) +{ + FS_GoBtn.setActive( %this.getValue() !$= "" ); +} + +//------------------------------------------------------------------------------ +function ServerInfoDlg::onAdd( %this ) +{ + %this.headerStyle = ""; +} + +//------------------------------------------------------------------------------ +function ServerInfoDlg::onWake( %this ) +{ + GMJ_Browser.infoWindowOpen = true; + + // Get the position and size from the prefs: + %res = getResolution(); + %resW = firstWord( %res ); + %resH = getWord( %res, 1 ); + %w = firstWord( $pref::ServerBrowser::InfoWindowExtent ); + if ( %w > %resW ) + %w = %resW; + %h = getWord( $pref::ServerBrowser::InfoWindowExtent, 1 ); + if ( %h > %resH ) + %h = %resH; + %x = firstWord( $pref::ServerBrowser::InfoWindowPos ); + if ( %x > %resW - %w ) + %x = %resW - %w; + %y = getWord( $pref::ServerBrowser::InfoWindowPos, 1 ); + if ( %y > %resH - %h ) + %y = %resH - %h; + SI_Window.resize( %x, %y, %w, %h ); + + GMJ_InfoBtn.setActive( false ); + SI_RefreshBtn.setActive( false ); + %this.update(); +} + +//------------------------------------------------------------------------------ +function ServerInfoDlg::update( %this ) +{ + %status = GMJ_Browser.getServerStatus(); + if ( %status $= "invalid" ) + { + SI_InfoWindow.setText( "No server selected." ); + return; + } + + %info = GMJ_Browser.getServerInfoString(); + %infoText = "" @ %this.headerStyle @ "NAME:" TAB getRecord( %info, 0 ) + NL "" @ %this.headerStyle @ "ADDRESS:" TAB getRecord( %info, 1 ) @ ""; + + %refreshable = false; + if ( %status $= "responded" ) + { + %temp = getRecord( %info, 2 ); + if ( %temp !$= "" ) + %infoText = %infoText NL "" @ %this.headerStyle @ "RULES SET:" TAB %temp @ ""; + %temp = getRecord( %info, 3 ); + if ( %temp $= "" ) + %temp = "None"; + %infoText = %infoText NL "" @ %this.headerStyle @ "FLAGS:" TAB %temp @ ""; + %temp = getRecord( %info, 4 ); + if ( %temp !$= "" ) + %infoText = %infoText NL "" @ %this.headerStyle @ "GAME TYPE:" TAB %temp @ ""; + %temp = getRecord( %info, 5 ); + if ( %temp !$= "" ) + %infoText = %infoText NL "" @ %this.headerStyle @ "MAP NAME:" TAB %temp @ ""; + %temp = getRecords( %info, 6, 10 ); + if ( %temp !$= "" ) + %infoText = %infoText NL "" @ %this.headerStyle @ "SERVER INFO:" TAB %temp @ ""; + + // Fill in the content window: + %content = GMJ_Browser.getServerContentString(); + SI_ContentWindow.fill( %content ); + %refreshable = !isServerQueryActive(); + } + else + { + switch$ ( %status ) + { + case "new": + %temp = "Not queried yet."; + SI_ContentWindow.setText( "Not available." ); + case "querying": + %temp = "Querying..."; + SI_ContentWindow.setText( "Not available." ); + case "updating": + %temp = "Updating..."; + case "timedOut": + %temp = "Timed out."; + SI_ContentWindow.setText( "Not available." ); + %refreshable = !isServerQueryActive(); + } + %infoText = %infoText NL "" @ %this.headerStyle @ "STATUS: " TAB %temp; + } + + SI_InfoWindow.setText( %infoText ); + SI_InfoScroll.scrollToTop(); + SI_ContentScroll.scrollToTop(); + SI_RefreshBtn.setActive( %refreshable ); +} + +//------------------------------------------------------------------------------ +function SI_ContentWindow::fill( %this, %content ) +{ + if ( getRecordCount( %content ) == 1 ) + { + %this.setText( "" ); + return; + } + + %record = 0; + %teamCount = getRecord( %content, %record ); + %record++; + if ( %teamCount > 1 ) + { + %string = "" @ ServerInfoDlg.headerStyle @ "TEAMSSCORE"; + for ( %i = 0; %i < %teamCount; %i++ ) + { + %teamEntry = getRecord( %content, %record ); + %string = %string NL "" SPC getField( %teamEntry, 0 ) @ "" SPC getField( %teamEntry, 1 ); + %record++; + } + + %playerCount = getRecord( %content, %record ); + %record++; + %string = %string NL "\n" @ ServerInfoDlg.headerStyle @ "PLAYERSTEAMSCORE"; + for ( %i = 0; %i < %playerCount; %i++ ) + { + %playerEntry = getRecord( %content, %record ); + %string = %string NL "" SPC getField( %playerEntry, 0 ) @ "" + SPC getField( %playerEntry, 1 ) @ "" SPC getField( %playerEntry, 2 ) @ ""; + %record++; + } + } + else + { + %record++; + %playerCount = getRecord( %content, %record ); + %record++; + %string = "" @ ServerInfoDlg.headerStyle @ "PLAYERSSCORE"; + for ( %i = 0; %i < %playerCount; %i++ ) + { + %playerEntry = getRecord( %content, %record ); + %string = %string NL "" SPC getField( %playerEntry, 0 ) @ "" SPC getField( %playerEntry, 2 ); + %record++; + } + } + + %this.setText( %string ); +} + +//------------------------------------------------------------------------------ +function ServerInfoDlg::onSleep( %this ) +{ + GMJ_Browser.infoWindowOpen = false; + + // Save off the Server Info Window prefs: + $pref::ServerBrowser::InfoWindowPos = SI_Window.getPosition(); + $pref::ServerBrowser::InfoWindowExtent = SI_Window.getExtent(); + $pref::ServerBrowser::InfoWindowBarPos = getWord( SI_InfoScroll.getExtent(), 1 ); + + GMJ_InfoBtn.setActive( true ); +} + +//------------------------------------------------------------------------------ +function PasswordDlg::onWake( %this ) +{ + $JoinGamePassword = ""; +} + +//------------------------------------------------------------------------------ +function PasswordDlg::accept( %this ) +{ + Canvas.popDialog( PasswordDlg ); + JoinSelectedGame(); +} + +//------------------------------------------------------------------------------ +function JoinSelectedGame() +{ + $ServerInfo = GMJ_Browser.getServerInfoString(); + + JoinGame($JoinGameAddress); +} + +//------------------------------------------------------------------------------ +function JoinGame(%address) +{ + MessagePopup( "JOINING SERVER", "CONNECTING" ); + cancelServerQuery(); + echo("Joining Server " @ %address); + %playerPref = $pref::Player[$pref::Player::Current]; + %playerName = getField( %playerPref, 0 ); + %playerRaceGender = getField( %playerPref, 1 ); + %playerSkin = getField( %playerPref, 2 ); + %playerVoice = getField( %playerPref, 3 ); + %playerVoicePitch = getField( %playerPref, 4 ); + LoadingGui.gotLoadInfo = ""; + connect( %address, $JoinGamePassword, %playerName, %playerRaceGender, %playerSkin, %playerVoice, %playerVoicePitch ); +} + +//------------------------------------------------------------------------------ +// Host Game pane: +//------------------------------------------------------------------------------ +function GM_HostPane::onActivate( %this ) +{ + GameGui.pane = "Host"; + + $HostGameType = $PlayingOnline ? "Online" : "LAN"; + + buildMissionTypePopup( GMH_MissionType ); + if ( !isDemo() ) + { + GMH_BotMinSlider.setValue( $Host::MinBotDifficulty ); + GMH_BotMaxSlider.setValue( $Host::MaxBotDifficulty ); + GMH_BotsEnabledTgl.setValue( $Host::BotsEnabled ); + GMH_BotsEnabledTgl.onAction(); + + //clamp and set the bot count slider + setBotCountSlider(); + } + + // Select the saved-off prefs: + if ( $Host::MissionType !$= "" ) + { + // Find the last selected type: + for ( %type = 0; %type < $HostTypeCount; %type++ ) + { + if ( $HostTypeName[%type] $= $Host::MissionType ) + break; + } + + if ( %type != $HostTypeCount ) + { + GMH_MissionType.setSelected( %type ); + GMH_MissionType.onSelect( %type, "" ); + if ( $Host::Map !$= "" ) + { + // Find the last selected mission: + for ( %index = 0; %index < $HostMissionCount[%type]; %index++ ) + { + if ( $HostMissionFile[$HostMission[%type, %index]] $= $Host::Map ) + break; + } + + if ( %index != $HostMissionCount[%type] ) + GMH_MissionList.setSelectedById( $HostMission[%type, %index] ); + } + } + } + else + { + GMH_MissionType.setSelected( 0 ); + GMH_MissionType.onSelect( 0, "" ); + } + + GMH_StartGameBtn.makeFirstResponder( 1 ); +} + +//------------------------------------------------------------------------------ +function GM_HostPane::onDeactivate( %this ) +{ +} + +//------------------------------------------------------------------------------ +function buildMissionTypePopup( %popup ) +{ + %popup.clear(); + for( %type = 0; %type < $HostTypeCount; %type++ ) + %popup.add( $HostTypeDisplayName[%type], %type ); + %popup.sort( true ); +} + +//------------------------------------------------------------------------------ +function getMissionTypeDisplayNames() +{ + %file = new FileObject(); + for ( %type = 0; %type < $HostTypeCount; %type++ ) + { + $HostTypeDisplayName[%type] = $HostTypeName[%type]; + if ( %file.openForRead( "scripts/" @ $HostTypeName[%type] @ "Game.cs" ) ) + { + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + if ( getSubStr( %line, 0, 17 ) $= "// DisplayName = " ) + { + $HostTypeDisplayName[%type] = getSubStr( %line, 17, 1000 ); + break; + } + } + } + } + + %file.delete(); +} + +//------------------------------------------------------------------------------ +function buildMissionList() +{ + %search = "missions/*.mis"; + %ct = 0; + + $HostTypeCount = 0; + $HostMissionCount = 0; + + %fobject = new FileObject(); + + for( %file = findFirstFile( %search ); %file !$= ""; %file = findNextFile( %search ) ) + { + %name = fileBase( %file ); // get the name + + %idx = $HostMissionCount; + $HostMissionCount++; + + $HostMissionFile[%idx] = %name; + $HostMissionName[%idx] = %name; + + if ( !%fobject.openForRead( %file ) ) + continue; + + %typeList = "None"; + + while ( !%fobject.isEOF() ) + { + %line = %fobject.readLine(); + if ( getSubStr( %line, 0, 17 ) $= "// DisplayName = " ) + { + // Override the mission name: + $HostMissionName[%idx] = getSubStr( %line, 17, 1000 ); + } + else if ( getSubStr( %line, 0, 18 ) $= "// MissionTypes = " ) + { + %typeList = getSubStr( %line, 18, 1000 ); + break; + } + } + %fobject.close(); + + // Don't include single player missions: + if ( strstr( %typeList, "SinglePlayer" ) != -1 ) + continue; + + // Test to see if the mission is bot-enabled: + %navFile = "terrains/" @ %name @ ".nav"; + $BotEnabled[%idx] = isFile( %navFile ); + + for( %word = 0; ( %misType = getWord( %typeList, %word ) ) !$= ""; %word++ ) + { + for ( %i = 0; %i < $HostTypeCount; %i++ ) + if ( $HostTypeName[%i] $= %misType ) + break; + if ( %i == $HostTypeCount ) + { + $HostTypeCount++; + $HostTypeName[%i] = %misType; + $HostMissionCount[%i] = 0; + } + // add the mission to the type + %ct = $HostMissionCount[%i]; + $HostMission[%i, $HostMissionCount[%i]] = %idx; + $HostMissionCount[%i]++; + } + } + + getMissionTypeDisplayNames(); + + %fobject.delete(); +} + +// One time only function call: +buildMissionList(); + +//------------------------------------------------------------------------------ +function validateMissionAndType(%misName, %misType) +{ + for ( %mis = 0; %mis < $HostMissionCount; %mis++ ) + if( $HostMissionFile[%mis] $= %misName ) + break; + if ( %mis == $HostMissionCount ) + return false; + for ( %type = 0; %type < $HostTypeCount; %type++ ) + if ( $HostTypeName[%type] $= %misType ) + break; + if(%type == $hostTypeCount) + return false; + $Host::Map = $HostMissionFile[%mis]; + $Host::MissionType = $HostTypeName[%type]; + + return true; +} + +//------------------------------------------------------------------------------ +// This function returns the index of the next mission in the mission list. +//------------------------------------------------------------------------------ +function getNextMission( %misName, %misType ) +{ + // First find the index of the mission in the master list: + for ( %mis = 0; %mis < $HostMissionCount; %mis++ ) + if( $HostMissionFile[%mis] $= %misName ) + break; + if ( %mis == $HostMissionCount ) + return ""; + + // Now find the index of the mission type: + for ( %type = 0; %type < $HostTypeCount; %type++ ) + if ( $HostTypeName[%type] $= %misType ) + break; + if ( %type == $hostTypeCount ) + return ""; + + // Now find the mission's index in the mission-type specific sub-list: + for ( %i = 0; %i < $HostMissionCount[%type]; %i++ ) + if ( $HostMission[%type, %i] == %mis ) + break; + + // Go BACKWARDS, because the missions are in reverse alphabetical order: + if ( %i == 0 ) + %i = $HostMissionCount[%type] - 1; + else + %i--; + + // If there are bots in the game, don't switch to any maps without + // a NAV file: + if ( $HostGameBotCount > 0 ) + { + for ( %j = 0; %j < $HostMissionCount[%type] - 1; %j++ ) + { + if ( $BotEnabled[$HostMission[%type, %i]] ) + break; + + if ( %i == 0 ) + %i = $HostMissionCount[%type] - 1; + else + %i--; + } + } + + return $HostMission[%type, %i]; +} + +//------------------------------------------------------------------------------ +function GMH_MissionType::onSelect( %this, %id, %text ) +{ + // Fill the mission list: + GMH_MissionList.clear(); + %lastAdded = 0; + for ( %i = 0; %i < $HostMissionCount[%id];%i++ ) + { + %misId = $HostMission[%id,%i]; + GMH_MissionList.addRow( %misId, $HostMissionName[%misId] ); + %lastAdded = %misId; + } + GMH_MissionList.sort( 0 ); + + // Select the last mission added: + GMH_MissionList.setSelectedById( %lastAdded ); + $Host::MissionType = $HostTypeName[%id]; + + if ( !isDemo() ) + { + // Disable all non bot-enabled maps if bots are enabled: + if ( GMH_BotsEnabledTgl.getValue() ) + GMH_BotsEnabledTgl.onAction(); + } +} + +//------------------------------------------------------------------------------ +function GMH_MissionList::onSelect( %this, %id, %text ) +{ + if ( !isDemo() && GMH_BotsEnabledTgl.getValue() ) + GMH_StartGameBtn.setActive( $BotEnabled[%id] ); +} + +//------------------------------------------------------------------------------ +function tryToStartHostedGame() +{ + if ( !isDemo() && GMH_BotsEnabledTgl.getValue() ) + { + %selId = GMH_MissionList.getSelectedId(); + if ( !$BotEnabled[%selId] ) + return; + } + + StartHostedGame(); +} + +//------------------------------------------------------------------------------ +function StartHostedGame() +{ + %selId = GMH_MissionList.getSelectedId(); + %misFile = $HostMissionFile[%selId]; + + if ( !isDemo() && $Host::BotsEnabled ) + { + validateMaxPlayers(); + $HostGameBotCount = $Host::BotCount; + } + else + $HostGameBotCount = 0; + + $ServerName = $Host::GameName; + $Host::Map = %misFile; + + echo( "exporting server prefs..." ); + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + + if ( $Host::Dedicated ) + { + MessageBoxYesNo( "WARNING", + "You are about to launch a dedicated server and quit Tribes 2. Do you want to continue?", + "tryToLaunchDedicatedServer(" @ $Host::PureServer @ ");" ); + return; + } + + //IRCClient::onJoinGame("", ""); + + MessagePopup( "STARTING SERVER", "Initializing..." ); + Canvas.repaint(); + + cancelServerQuery(); + setNetPort( $Host::Port ); + CreateServer( $Host::Map, $Host::MissionType ); + %playerPref = $pref::Player[$pref::Player::Current]; + %playerName = getField( %playerPref, 0 ); + %playerRaceGender = getField( %playerPref, 1 ); + %playerSkin = getField( %playerPref, 2 ); + %playerVoice = getField( %playerPref, 3 ); + %playerVoicePitch = getField( %playerPref, 4 ); + localConnect( %playerName, %playerRaceGender, %playerSkin, %playerVoice, %playerVoicePitch ); + if(!$RecordDemo) + { + // demos are incompatible with local simulated net params + ServerConnection.setSimulatedNetParams($pref::Net::simPacketLoss, $pref::net::simPing * 0.5); + LocalClientConnection.setSimulatedNetParams($pref::Net::simPacketLoss, $pref::net::simPing * 0.5); + } +} + +//------------------------------------------------------------------------------ +function tryToLaunchDedicatedServer( %pure ) +{ + if ( isDemo() ) + %numBots = 0; + else + %numBots = $Host::BotsEnabled ? $Host::BotCount : 0; + if ( launchDedicatedServer( $Host::MissionType, $Host::Map, %numBots, %pure ) ) + quit(); + else + { + error( "Failed to launch the dedicated server." ); + schedule( 0, 0, MessageBoxOK, "FAILED", "Tribes 2 failed to launch the dedicated server." ); + } +} + +//------------------------------------------------------------------------------ +function GMH_BotsEnabledTgl::onAction( %this ) +{ + %count = GMH_MissionList.rowCount(); + if ( %this.getValue() ) + { + for ( %i = 0; %i < %count; %i++ ) + { + %id = GMH_MissionList.getRowId( %i ); + GMH_MissionList.setRowActive( %id, $BotEnabled[%id] ); + } + + GMH_EnableBotsGroup.setVisible(true); + %misId = GMH_MissionList.getSelectedId(); + GMH_StartGameBtn.setActive( $BotEnabled[%misId] ); + } + else + { + for ( %i = 0; %i < %count; %i++ ) + { + %id = GMH_MissionList.getRowId( %i ); + GMH_MissionList.setRowActive( %id, true ); + } + + GMH_EnableBotsGroup.setVisible( false ); + GMH_StartGameBtn.setActive( true ); + } +} + +//------------------------------------------------------------------------------ +function updateMinBotDifficulty() +{ + %min = GMH_BotMinSlider.getValue(); + $Host::MinBotDifficulty = %min; + if ( GMH_BotMaxSlider.getValue() < %min ) + GMH_BotMaxSlider.setValue( %min ); +} + +//------------------------------------------------------------------------------ +function updateMaxBotDifficulty() +{ + %max = GMH_BotMaxSlider.getValue(); + $Host::MaxBotDifficulty = %max; + if ( GMH_BotMinSlider.getValue() > %max ) + GMH_BotMinSlider.setValue( %max ); +} + +//------------------------------------------------------------------------------ +function GMH_BotsEnabledTgl::onAction( %this ) +{ + %count = GMH_MissionList.rowCount(); + if ( %this.getValue() ) + { + for ( %i = 0; %i < %count; %i++ ) + { + %id = GMH_MissionList.getRowId( %i ); + GMH_MissionList.setRowActive( %id, $BotEnabled[%id] ); + } + + GMH_EnableBotsGroup.setVisible(true); + %misId = GMH_MissionList.getSelectedId(); + GMH_StartGameBtn.setActive( $BotEnabled[%misId] ); + } + else + { + for ( %i = 0; %i < %count; %i++ ) + { + %id = GMH_MissionList.getRowId( %i ); + GMH_MissionList.setRowActive( %id, true ); + } + + GMH_EnableBotsGroup.setVisible(false); + GMH_StartGameBtn.setActive( true ); + } +} + +//------------------------------------------------------------------------------ +function validateMaxPlayers() +{ + %maxPlayers = GMH_MaxPlayersTE.getValue(); + if (%maxPlayers < 1) + %maxPlayers = 1; + + if (%maxPlayers > 64) + %maxPlayers = 64; + + //reset the value back into the TE + GMH_MaxPlayersTE.setValue(%maxPlayers); + + if ( !isDemo() ) + { + //and make sure the bot sliders reflect the changes.. + setBotCountSlider(); + } +} + +function setBotCountSlider() +{ + %maxBots = 15; + if (%maxBots > $Host::MaxPlayers - 2) + %maxBots = $Host::MaxPlayers - 2; + if ($Host::BotCount > %maxBots + 1) + $Host::BotCount = %maxBots + 1; + + if (%maxBots <= 1) + %sliderValue = 0.0; + else + %sliderValue = ($Host::BotCount - 0.95) / %maxBots; + + GMH_MinCombatantSlider.setValue(%sliderValue); +} + +function setMinCombatants() +{ + %maxBots = 16; + if (%maxBots > $Host::MaxPlayers - 1) + %maxBots = $Host::MaxPlayers - 1; + if (%maxBots <= 0) + $Host::BotCount = 0; + else + $Host::BotCount = mFloor( GMH_MinCombatantSlider.getValue() * (%maxBots - 1)) + 1; + GMH_BotCountText.setValue( "(" @ $Host::BotCount @ ")" ); +} + +//------------------------------------------------------------------------------ +function AdvancedHostDlg::onWake( %this ) +{ + // Set all of the controls to the current pref states: + AH_HostPort.setText( $Host::Port ); + if ( $Host::HiVisibility ) + AH_HiVisibilityRdo.setValue( true ); + else + AH_HiFPSRdo.setValue( true ); + AH_DedicatedTgl.setValue( $Host::Dedicated ); + AH_DedicatedTgl.onAction(); + AH_TeamDamageTgl.setValue( $Host::TeamDamageOn ); + AH_TournamentTgl.setValue( $Host::TournamentMode ); + AH_AdminVoteTgl.setValue( $Host::allowAdminPlayerVotes ); + AH_AllowSmurfTgl.setValue( !$Host::NoSmurfs ); + AH_TimeLimit.setText( $Host::TimeLimit ); + AH_AdminPassword.setText( $Host::AdminPassword ); + AH_ServerInfo.setText( $Host::Info ); + AH_VotePassSlider.setValue( $Host::VotePassPercent ); + AH_VoteTimeSlider.setValue( $Host::VoteTime ); + AH_RespawnSlider.setValue( $Host::PlayerRespawnTimeout ); + AH_WarmupSlider.setValue( $Host::WarmupTime ); +} + +//------------------------------------------------------------------------------ +function AdvancedHostDlg::accept( %this ) +{ + // Apply all of the changes: + $Host::Port = AH_HostPort.getValue(); + $Host::HiVisibility = AH_HiVisibilityRdo.getValue(); + $Host::Dedicated = AH_DedicatedTgl.getValue(); + if ( $Host::Dedicated ) + $Host::PureServer = AH_PureServerTgl.getValue(); + $Host::TeamDamageOn = AH_TeamDamageTgl.getValue(); + $Host::TournamentMode = AH_TournamentTgl.getValue(); + $Host::allowAdminPlayerVotes = AH_AdminVoteTgl.getValue(); + $Host::NoSmurfs = !AH_AllowSmurfTgl.getValue(); + $Host::TimeLimit = AH_TimeLimit.getValue(); + $Host::AdminPassword = AH_AdminPassword.getValue(); + $Host::Info = AH_ServerInfo.getText(); + $Host::VotePassPercent = mFloor( AH_VotePassSlider.getValue() ); + $Host::VoteTime = mFloor( AH_VoteTimeSlider.getValue() ); + $Host::PlayerRespawnTimeout = mFloor( AH_RespawnSlider.getValue() ); + $Host::WarmupTime = mFloor( AH_WarmupSlider.getValue() ); + + // Save off the new prefs: + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + + Canvas.popDialog( AdvancedHostDlg ); +} + +//------------------------------------------------------------------------------ +function AH_DedicatedTgl::onAction( %this ) +{ + if ( %this.getValue() ) + { + AH_PureServerTgl.setValue( $Host::PureServer ); + AH_PureServerTgl.setActive( true ); + } + else + { + AH_PureServerTgl.setValue( false ); + AH_PureServerTgl.setActive( false ); + } +} + +//------------------------------------------------------------------------------ +function AH_VotePassText::update( %this ) +{ + %this.setText( mFloor( AH_VotePassSlider.getValue() ) @ "%" ); +} + +//------------------------------------------------------------------------------ +function AH_VoteTimeText::update( %this ) +{ + %this.setText( mFloor( AH_VoteTimeSlider.getValue() ) SPC "seconds" ); +} + +//------------------------------------------------------------------------------ +function AH_RespawnText::update( %this ) +{ + %this.setText( mFloor( AH_RespawnSlider.getValue() ) SPC "seconds" ); +} + +//------------------------------------------------------------------------------ +function AH_WarmupText::update( %this ) +{ + %this.setText( mFloor( AH_WarmupSlider.getValue() ) SPC "seconds" ); +} + +//------------------------------------------------------------------------------ +// Warrior Setup pane: +//------------------------------------------------------------------------------ +function GM_WarriorPane::onActivate( %this ) +{ + GameGui.pane = "Warrior"; + if ( $pref::Player::Count == 0 ) + %this.createNewAlias(); + else + { + // Fill the warrior list: + GMW_WarriorPopup.clear(); + GMW_LightRdo.setValue( true ); + + // First add the warrior corresponding to the player nickname: + %this.warriorIndex = -1; + if ( $PlayingOnline ) + { + %warrior = getField( WONGetAuthInfo(), 0 ); + for ( %i = 0; %i < $pref::Player::Count; %i++ ) + { + %name = getField( $pref::Player[%i], 0 ); + if ( %name $= %warrior ) + { + %this.warriorIndex = %i; + GMW_WarriorPopup.add( %name, %i, 1 ); + break; + } + } + } + + // Add the rest of the aliases: + for ( %count = 0; %count < $pref::Player::Count; %count++ ) + { + if ( $pref::Player[%count] !$= "" && %count != %this.warriorIndex ) + { + %name = stripTrailingSpaces( strToPlayerName( getField( $pref::Player[%count], 0 ) ) ); + GMW_WarriorPopup.add( %name, %count ); + } + } + + // Fill the static menus: + GMW_RaceGenderPopup.fillList(); + GMW_SkinPrefPopup.fillList(); + + // Select the current player: + GMW_WarriorPopup.setSelected( $pref::Player::Current ); + GMW_WarriorPopup.onSelect( $pref::Player::Current, "" ); + + if ( $pref::Player::Count > 1 && $pref::Player::Current != %this.warriorIndex ) + GMW_DeleteWarriorBtn.setActive( true ); + else + GMW_DeleteWarriorBtn.setActive( false ); + + GMW_PlayerPageBtn.setVisible( $PlayingOnline ); + } +} + +//------------------------------------------------------------------------------ +function GM_WarriorPane::onDeactivate( %this ) +{ +} + +//------------------------------------------------------------------------------ +function GM_WarriorPane::createNewAlias( %this ) +{ + NW_NameEdit.setValue( "" ); + NW_DoneBtn.setActive( false ); + NW_CancelBtn.setVisible( $pref::Player::Count > 0 ); + Canvas.pushDialog( NewWarriorDlg ); +} + +//------------------------------------------------------------------------------ +function GM_WarriorPane::deleteWarrior( %this ) +{ + MessageBoxYesNo( "CONFIRM", "Are you sure you want to delete this alias?", "doDeleteWarrior();", "" ); +} + +//------------------------------------------------------------------------------ +function doDeleteWarrior() +{ + // Make sure we aren't trying to delete the default warrior (should never get this): + if ( $pref::Player::Current == GM_WarriorPane.warriorIndex ) + return; + + for ( %i = $pref::Player::Current; %i < $pref::Player::Count - 1; %i++ ) + $pref::Player[%i] = $pref::Player[%i + 1]; + $pref::Player[%i] = ""; + + if ( GM_WarriorPane.warriorIndex > $pref::Player::Current ) + GM_WarriorPane.warriorIndex--; + + $pref::Player::Count--; + if ( GM_WarriorPane.warriorIndex != -1 ) + $pref::Player::Current = GM_WarriorPane.warriorIndex; + else + $pref::Player::Current = 0; + + // Update the interface: + GM_WarriorPane::onActivate(); +} + +//------------------------------------------------------------------------------ +function GM_WarriorPane::gotoPlayerPage( %this ) +{ + %warrior = getField( WONGetAuthInfo(), 0 ); + LaunchBrowser( %warrior, "Warrior" ); +} + +//------------------------------------------------------------------------------ +function GMW_PlayerModel::update( %this ) +{ + // Get the shape names: + if ( GMW_HeavyRdo.getValue() ) + %armor = "heavy"; + else if ( GMW_MediumRdo.getValue() ) + %armor = "medium"; + else + %armor = "light"; + + switch ( GMW_RaceGenderPopup.getSelected() ) + { + case 1: + if ( %armor $= "heavy" ) + %shape = %armor @ "_male"; + else + %shape = %armor @ "_female"; + case 2: %shape = "bioderm_" @ %armor; + default: %shape = %armor @ "_male"; + } + + %skin = getField( $pref::Player[$pref::Player::Current], 2 ); + +// if( isObject( $dummySeq ) ) +// { +// $dummySeq.delete(); +// } +// +// $dummySeq = new TSShapeConstructor() +// { +// baseShape = %shape @ ".dts"; +// sequence0 = %shape @ "_forward.dsq dummyRun"; +// }; + + %this.setModel( %shape, %skin ); +} + +//------------------------------------------------------------------------------ +function GMW_WarriorPopup::onAdd( %this ) +{ + %this.addScheme( 1, "255 255 0", "255 255 128", "128 128 0" ); +} + +//------------------------------------------------------------------------------ +function GMW_WarriorPopup::onSelect( %this, %id, %text ) +{ + // Set this as the currently selected player: + $pref::Player::Current = %id; + + // Select the race/gender: + %raceGender = getField( $pref::Player[%id], 1 ); + %selId = GMW_RaceGenderPopup.findText( %raceGender ); + if ( %selId == -1 ) + %selId = 0; + + GMW_RaceGenderPopup.setSelected( %selId ); + GMW_VoicePopup.fillList( %selId ); + + // Select the skin: + %skin = getField( $pref::Player[%id], 2 ); + %baseSkin = isDynamixSkin( %skin ); + GMW_SkinPrefPopup.setSelected( !%baseSkin ); + GMW_SkinPopup.fillList( %selId ); + + %selId = -1; + for ( %i = 0; %i < GMW_SkinPopup.size(); %i++ ) + { + if ( GMW_SkinPopup.realSkin[%i] !$= "" ) + { + if ( %skin $= GMW_SkinPopup.realSkin[%i] ) + { + %selId = %i; + break; + } + } + else if ( %skin $= GMW_SkinPopup.getTextById( %i ) ) + { + %selId = %i; + break; + } + } + if ( %selId == -1 ) + %selId = 0; + GMW_SkinPopup.setSelected( %selId ); + GMW_SkinPopup.onSelect( %selId, GMW_SkinPopup.getTextById( %selId ) ); + + // Select the voice: + %voice = getField( $pref::Player[%id], 3 ); + %voiceId = getSubStr( %voice, strlen( %voice ) -1, 1000 ) - 1; + GMW_VoicePopup.setSelected( %voiceId ); + GMW_VoicePopup.voiceIndex = 0; + + GMW_DeleteWarriorBtn.setActive( $pref::Player::Count > 1 && %id != GM_WarriorPane.warriorIndex ); +} + +//------------------------------------------------------------------------------ +function GMW_RaceGenderPopup::fillList( %this ) +{ + if ( %this.size() ) + return; + + %this.add( "Human Male", 0 ); + %this.add( "Human Female", 1 ); + %this.add( "Bioderm", 2 ); +} + +//------------------------------------------------------------------------------ +function GMW_RaceGenderPopup::onSelect( %this, %id, %text ) +{ + // Update the player pref: + $pref::Player[$pref::Player::Current] = setField( $pref::Player[$pref::Player::Current], 1, %this.getText() ); + + // Fill the skin list: + %prevSkin = GMW_SkinPopup.getText(); + GMW_SkinPopup.fillList( %id ); + %selId = GMW_SkinPopup.findText( %prevSkin ); + if ( %selId == -1 ) + %selId = 0; + GMW_SkinPopup.setSelected( %selId ); + GMW_SkinPopup.onSelect( %selId, GMW_SkinPopup.getTextById( %selId ) ); + + // Fill the voice list: + %prevVoice = GMW_VoicePopup.getText(); + GMW_VoicePopup.fillList( %id ); + %selId = GMW_VoicePopup.findText( %prevVoice ); + if ( %selId == -1 ) + %selId = 0; + + GMW_VoicePopup.setSelected( %selId ); + GMW_VoicePopup.onSelect( %selId, "" ); +} + +//------------------------------------------------------------------------------ +function GMW_SkinPrefPopup::fillList( %this ) +{ + if ( %this.size() ) + return; + + %this.add( "Dynamix Skins", 0 ); + %this.add( "Custom Skins", 1 ); +} + +//------------------------------------------------------------------------------ +function GMW_SkinPrefPopup::onSelect( %this, %id, %text ) +{ + %curSkin = GMW_SkinPopup.getText(); + GMW_SkinPopup.fillList( GMW_RaceGenderPopup.getSelected() ); + %selId = GMW_SkinPopup.findText( %curSkin ); + if ( %selId == -1 ) + %selId = 0; + + if ( GMW_SkinPopup.size() ) + { + GMW_SkinPopup.setSelected( %selId ); + GMW_SkinPopup.onSelect( %selId, GMW_SkinPopup.getTextById( %selId ) ); + } +} + +//------------------------------------------------------------------------------ +$SkinCount = 0; +$Skin[$SkinCount, name] = "Blood Eagle"; +$Skin[$SkinCount, code] = "beagle"; +$SkinCount++; +$Skin[$SkinCount, name] = "Diamond Sword"; +$Skin[$SkinCount, code] = "dsword"; +$SkinCount++; +$Skin[$SkinCount, name] = "Starwolf"; +$Skin[$SkinCount, code] = "swolf"; +$SkinCount++; +$Skin[$SkinCount, name] = "Phoenix"; +$Skin[$SkinCount, code] = "cotp"; +$SkinCount++; +$Skin[$SkinCount, name] = "Storm"; +$Skin[$SkinCount, code] = "base"; +$SkinCount++; +$Skin[$SkinCount, name] = "Inferno"; +$Skin[$SkinCount, code] = "baseb"; +$SkinCount++; +$Skin[$SkinCount, name] = "Horde"; +$Skin[$SkinCount, code] = "horde"; +$SkinCount++; + +//------------------------------------------------------------------------------ +function isDynamixSkin( %skin ) +{ + for ( %i = 0; %i < $SkinCount; %i++ ) + { + if ( %skin $= $Skin[%i, code] ) + return( true ); + } + + return( false ); +} + +//------------------------------------------------------------------------------ +function GMW_SkinPopup::fillList( %this, %raceGender ) +{ + for ( %i = 0; %i < %this.size(); %i++ ) + %this.realSkin[%i] = ""; + + %this.clear(); + %path = "textures/skins/"; + switch ( %raceGender ) + { + case 0: // Human Male + %pattern = ".lmale.png"; + case 1: // Human Female + %pattern = ".lfemale.png"; + case 2: // Bioderm + %pattern = ".lbioderm.png"; + } + + %customSkins = GMW_SkinPrefPopup.getSelected(); + %count = 0; + for ( %file = findFirstFile( %path @ "*" @ %pattern ); %file !$= ""; %file = findNextFile( %path @ "*" @ %pattern ) ) + { + %skin = getSubStr( %file, strlen( %path ), strlen( %file ) - strlen( %path ) - strlen( %pattern ) ); // strip off the path and postfix + + // Make sure this is not a bot skin: + if ( %skin !$= "basebot" && %skin !$= "basebbot" ) + { + // See if this skin has an alias: + %baseSkin = false; + for ( %i = 0; %i < $SkinCount; %i++ ) + { + if ( %skin $= $Skin[%i, code] ) + { + %baseSkin = true; + %skin = $Skin[%i, name]; + break; + } + } + + if ( %customSkins != %baseSkin ) + { + if ( %baseSkin ) + %this.realSkin[%count] = $Skin[%i, code]; + %this.add( %skin, %count ); + %count++; + } + } + } + + %this.sort( true ); +} + +//------------------------------------------------------------------------------ +function GMW_SkinPopup::onSelect( %this, %id, %text ) +{ + // Update the player pref: + if ( %this.realSkin[%id] !$= "" ) + $pref::Player[$pref::Player::Current] = setField( $pref::Player[$pref::Player::Current], 2, %this.realSkin[%id] ); + else + $pref::Player[$pref::Player::Current] = setField( $pref::Player[$pref::Player::Current], 2, %text ); + + // Update the player model: + GMW_PlayerModel.update(); +} + +//------------------------------------------------------------------------------ +// TRANSLATE these voice set display names: +$MaleVoiceCount = 0; +$MaleVoiceName[$MaleVoiceCount] = "Hero"; +$MaleVoiceCount++; +$MaleVoiceName[$MaleVoiceCount] = "Iceman"; +$MaleVoiceCount++; +$MaleVoiceName[$MaleVoiceCount] = "Rogue"; +$MaleVoiceCount++; +$MaleVoiceName[$MaleVoiceCount] = "Hardcase"; +$MaleVoiceCount++; +$MaleVoiceName[$MaleVoiceCount] = "Psycho"; +$MaleVoiceCount++; + +$FemaleVoiceCount = 0; +$FemaleVoiceName[$FemaleVoiceCount] = "Heroine"; +$FemaleVoiceCount++; +$FemaleVoiceName[$FemaleVoiceCount] = "Professional"; +$FemaleVoiceCount++; +$FemaleVoiceName[$FemaleVoiceCount] = "Cadet"; +$FemaleVoiceCount++; +$FemaleVoiceName[$FemaleVoiceCount] = "Veteran"; +$FemaleVoiceCount++; +$FemaleVoiceName[$FemaleVoiceCount] = "Amazon"; +$FemaleVoiceCount++; + +$DermVoiceCount = 0; +$DermVoiceName[$DermVoiceCount] = "Warrior"; +$DermVoiceCount++; +$DermVoiceName[$DermVoiceCount] = "Monster"; +$DermVoiceCount++; +$DermVoiceName[$DermVoiceCount] = "Predator"; +$DermVoiceCount++; + +//------------------------------------------------------------------------------ +function GMW_VoicePopup::fillList( %this, %raceGender ) +{ + %this.clear(); + + switch ( %raceGender ) + { + case 0: // Human Male + for ( %i = 0; %i < $MaleVoiceCount; %i++ ) + %this.add( $MaleVoiceName[%i], %i ); + + case 1: // Human Female + for ( %i = 0; %i < $FemaleVoiceCount; %i++ ) + %this.add( $FemaleVoiceName[%i], %i ); + + case 2: // Bioderm + for ( %i = 0; %i < $DermVoiceCount; %i++ ) + %this.add( $DermVoiceName[%i], %i ); + } +} + +//------------------------------------------------------------------------------ +function GMW_VoicePopup::onSelect( %this, %id, %text ) +{ + // Update the player pref: + switch ( GMW_RaceGenderPopup.getSelected() ) + { + case 0: %base = "Male"; + case 1: %base = "Fem"; + case 2: %base = "Derm"; + } + + $pref::Player[$pref::Player::Current] = setField( $pref::Player[$pref::Player::Current], 3, %base @ ( %id + 1 ) ); + + %this.voiceIndex = 0; +} + +//------------------------------------------------------------------------------ +function GMW_VoicePitchSlider::setPitch(%this) +{ +} + +function GMW_VoicePopup::test( %this ) +{ + switch ( %this.voiceIndex ) + { + case 0: %file = "gbl.hi"; + case 1: %file = "gbl.brag"; + case 2: %file = "gbl.woohoo"; + case 3: %file = "gbl.rock"; + case 4: %file = "gbl.obnoxious"; + case 5: %file = "gbl.shazbot"; + } + + switch ( GMW_RaceGenderPopup.getSelected() ) + { + case 0: %base = "Male"; + case 1: %base = "Fem"; + case 2: %base = "Derm"; + } + + GMW_VoiceTestBtn.setActive( false ); + %voiceId = %this.getSelected() + 1; + %wav = "voice/" @ %base @ %voiceId @ "/" @ %file @ ".wav"; + %handle = alxCreateSource( AudioGui, %wav ); + + //pitch the voice + //%pitchSliderVal = GMW_VoicePitchSlider.getValue(); + //%pitch = getValidVoicePitch(%voiceId, %pitchSliderVal); + //if (%pitch != 1.0) + // alxSourcef(%handle, "AL_PITCH", %pitch); + + alxPlay( %handle ); + + %delay = alxGetWaveLen( %wav ); + schedule( %delay, 0, "restoreVoiceTestButton" ); + + if ( %this.voiceIndex == 5 ) + %this.voiceIndex = 0; + else + %this.voiceIndex++; +} + +//------------------------------------------------------------------------------ +function restoreVoiceTestButton() +{ + GMW_VoiceTestBtn.setActive( true ); +} + +//------------------------------------------------------------------------------ +function NewWarriorDlg::createPlayer( %this ) +{ + %name = stripTrailingSpaces( NW_NameEdit.getValue() ); + $pref::Player[$pref::Player::Count] = %name @ "\tHuman Male\tbeagle\tMale1"; + $pref::Player::Current = $pref::Player::Count; + $pref::Player::Count++; + Canvas.popDialog( NewWarriorDlg ); + GM_WarriorPane.onActivate(); // Refresh the warrior gui +} + +//------------------------------------------------------------------------------ +function NW_NameEdit::checkValidPlayerName( %this ) +{ + %name = %this.getValue(); + %test = strToPlayerName( %name ); + if ( %name !$= %test ) + %this.setValue( %test ); + + NW_DoneBtn.setActive( strlen( stripTrailingSpaces( %test ) ) > 2 ); +} + +//------------------------------------------------------------------------------ +function NW_NameEdit::processEnter( %this ) +{ + %this.checkValidPlayerName(); + if ( NW_DoneBtn.isActive() ) + NewWarriorDlg.createPlayer(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/HuntersGame.cs b/public/base/@vl2/scripts.vl2/scripts/HuntersGame.cs new file mode 100644 index 00000000..059a5ad4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/HuntersGame.cs @@ -0,0 +1,1745 @@ +//--------------------------------------// +// HuntersGame.cs // +//--------------------------------------// + +//--- GAME RULES BEGIN --- +//Kill other players to make them drop flags +//Return flags to the Nexus for points +//The more flags brought to Nexus at one time, the more each flag scores +//GREED mode: you must return 8 or more flags at once to score +//HOARD mode: no returns between 5 and 2 min. left in game +//Flag Colors: Red = 1pt, Blue = 2pts, Yellow = 4pts, Green = 8pts +//--- GAME RULES END --- + +package HuntersGame { + +function Nexus::objectiveInit(%data, %object) +{ + Game.Nexus = %object; + Game.Nexus.playThread(0, "ambient"); + Game.Nexus.setThreadDir(0, true); + //The flash animation plays forwards, then back automatically, so we have to alternate the thread direcction... + Game.Nexus.flashThreadDir = true; + +} + +function NexusBase::objectiveInit(%data, %object) +{ + Game.NexusBase = %object; + Game.NexusBase.playthread(0, "ambient"); + Game.NexusBase.setThreadDir(0, true); +} + +function NexusCap::objectiveInit(%data, %object) +{ + Game.NexusCap = %object; + Game.NexusCap.playthread(0, "ambient"); + Game.NexusCap.setThreadDir(0, true); +} + +}; + +$InvBanList[Hunters, "TurretOutdoorDeployable"] = 1; +$InvBanList[Hunters, "TurretIndoorDeployable"] = 1; +$InvBanList[Hunters, "ElfBarrelPack"] = 1; +$InvBanList[Hunters, "MortarBarrelPack"] = 1; +$InvBanList[Hunters, "PlasmaBarrelPack"] = 1; +$InvBanList[Hunters, "AABarrelPack"] = 1; +$InvBanList[Hunters, "MissileBarrelPack"] = 1; +$InvBanList[Hunters, "Mine"] = 1; + +datablock EffectProfile(HuntersFlagPickupEffect) +{ + effectname = "misc/hunters_flag_snatch"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(HuntersFlagPickupSound) +{ + filename = "fx/misc/hunters_flag_snatch.wav"; + description = AudioClose3d; + effect = HuntersFlagPickupEffect; + preload = true; +}; + + +//exec the AI script +exec("scripts/aiHunters.cs"); + +//exec the records script +if (isFile("prefs/HuntersRecords.cs")) + exec("prefs/HuntersRecords.cs"); + +//----------------------------------------------------------------------------- +//Game initialization functions + +function HuntersGame::setUpTeams(%game) +{ + // Force the numTeams variable to one: + DefaultGame::setUpTeams(%game); + %game.numTeams = 1; + + // allow teams 1->31 to listen to each other (team 0 can only listen to self) + for(%i = 1; %i < 32; %i++) + setSensorGroupListenMask(%i, 0xfffffffe); +} + +function HuntersGame::initGameVars(%game) +{ + %game.SCORE_PER_SUICIDE = -1; + %game.SCORE_PER_DEATH = 0; + %game.SCORE_PER_KILL = 1; + + %game.teamMode = false; + + if (!isDemo()) + %game.greedMode = $Host::HuntersGreedMode; + else + %game.greedMode = false; + %game.greedMinFlags = 8; //min number of flags you must have before you can cap + + if (!isDemo()) + %game.hoardMode = $Host::HuntersHoardMode; + else + %game.hoardMode = false; + %game.HoardStartTime = 5; //time left in the game at which hoard mode will start + %game.HoardDuration = 3; //duration of the hoard period + %game.HoardEndTime = %game.HoardStartTime - %game.HoardDuration; + + %game.yardSaleMin = 10; + + //make sure there is enough time in the match to actually have a hoard mode... + if ($host::timeLimit < %game.hoardStartTime + 1) + %game.hoardMode = false; + + %game.maxSensorGroup = 0; + + %game.highestFlagReturnCount = 10; //initialize to 10 - don't bother recording less than that... + %game.highestFlagReturnName = ""; + %game.greedFlagCount = 10; //initialize to 10 - don't bother recording greed less than that... + %game.greedFlagName = ""; + + //this is how many humans have to be playing in order to set a record + %game.numHumansForRecord = 4; + + //this is how many milliseconds before a warning is issued for camping near the Nexus + %game.nexusCampingTime = 10000; + + %game.flagHoarder = ""; + %game.flagHoarderMin = 15; + + //vars for how long before the flag is deleted, and the fade transition time... + %game.flagLifeTimeMS = 120000; + %game.fadeTimeMS = 2000; + + %game.flagMsgDelayMS = 3000; + %game.oobThrowFlagsDelayMS = 3000; + + // targets for each of the flag types (except for base which is properly skinned already) + HuntersFlag1.target = -1; // red + HuntersFlag2.target = allocTarget("", 'Blue', "", "", 0, "", ""); + HuntersFlag4.target = allocTarget("", 'Yellow', "", "", 0, "", ""); + HuntersFlag8.target = allocTarget("", 'Green', "", "", 0, "", ""); +} + +function HuntersGame::allowsProtectedStatics(%game) +{ + return true; +} + +function HuntersGame::missionLoadDone(%game) +{ + //default version sets up teams - must be called first... + DefaultGame::missionLoadDone(%game); + + //initialize the score and flag count for all the players + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + %client.flagCount = 1; + %client.trackWaypoint = ""; + %client.playerTrackLine = -1; + } + $TopClient = -1; + $TopClientScore = 0; + + //create the Flag group + $FlagGroup = nameToID("MissionCleanup/FlagGroup"); + if ($FlagGroup <= 0) + { + $FlagGroup = new SimGroup("FlagGroup"); + MissionCleanup.add($FlagGroup); + } + + //create the "yard sale waypoint set" + if(nameToId("HuntersYardSaleSet") <= 0) + { + $HuntersYardSaleSet = new SimSet("HuntersYardSaleSet"); + MissionCleanup.add($HuntersYardSaleSet); + } +} + + +function HuntersGame::startMatch(%game) +{ + //call the default + DefaultGame::startMatch(%game); + + //schedule the hoard countdowns + %game.setupHoardCountdown(); +} + +function HuntersGame::setupHoardCountdown(%game) +{ + //delete all previous scheduled calls... + cancel(%game.hoardStart30); + cancel(%game.hoardStart10); + cancel(%game.hoardStart5); + cancel(%game.hoardStart4); + cancel(%game.hoardStart3); + cancel(%game.hoardStart2); + cancel(%game.hoardStart1); + cancel(%game.hoardStart0); + + cancel(%game.hoardEnd30); + cancel(%game.hoardEnd10); + cancel(%game.hoardEnd5); + cancel(%game.hoardEnd4); + cancel(%game.hoardEnd3); + cancel(%game.hoardEnd2); + cancel(%game.hoardEnd1); + cancel(%game.hoardEnd0); + + //schedule hoard mode start notify calls + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + %hoardStartTimeMS = %game.HoardStartTime * 60 * 1000; + + if (%curTimeLeftMS >= %hoardStartTimeMS + 30000) + %game.hoardStart30 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 30000), "notifyHoardStart", 30); + + if (%curTimeLeftMS >= %hoardStartTimeMS + 10000) + %game.hoardStart10 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 10000), "notifyHoardStart", 10); + + if (%curTimeLeftMS >= %hoardStartTimeMS + 5000) + %game.hoardStart5 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 5000), "notifyHoardStart", 5); + + if (%curTimeLeftMS >= %hoardStartTimeMS + 4000) + %game.hoardStart4 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 4000), "notifyHoardStart", 4); + + if (%curTimeLeftMS >= %hoardStartTimeMS + 3000) + %game.hoardStart3 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 3000), "notifyHoardStart", 3); + + if (%curTimeLeftMS >= %hoardStartTimeMS + 2000) + %game.hoardStart2 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 2000), "notifyHoardStart", 2); + + if (%curTimeLeftMS >= %hoardStartTimeMS + 1000) + %game.hoardStart1 = %game.schedule(%curTimeLeftMS - (%hoardStartTimeMS + 1000), "notifyHoardStart", 1); + + if (%curTimeLeftMS >= %hoardStartTimeMS) + %game.hoardStart0 = %game.schedule(%curTimeLeftMS - %hoardStartTimeMS, "notifyHoardStart", 0); + + + //schedule hoard mode end notify calls + %hoardEndTimeMS = %game.HoardEndTime * 60 * 1000; + + if (%curTimeLeftMS >= %hoardEndTimeMS + 30000) + %game.hoardEnd30 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 30000), "notifyHoardEnd", 30); + + if (%curTimeLeftMS >= %hoardEndTimeMS + 10000) + %game.hoardEnd10 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 10000), "notifyHoardEnd", 10); + + if (%curTimeLeftMS >= %hoardEndTimeMS + 5000) + %game.hoardEnd5 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 5000), "notifyHoardEnd", 5); + + if (%curTimeLeftMS >= %hoardEndTimeMS + 4000) + %game.hoardEnd4 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 4000), "notifyHoardEnd", 4); + + if (%curTimeLeftMS >= %hoardEndTimeMS + 3000) + %game.hoardEnd3 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 3000), "notifyHoardEnd", 3); + + if (%curTimeLeftMS >= %hoardEndTimeMS + 2000) + %game.hoardEnd2 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 2000), "notifyHoardEnd", 2); + + if (%curTimeLeftMS >= %hoardEndTimeMS + 1000) + %game.hoardEnd1 = %game.schedule(%curTimeLeftMS - (%hoardEndTimeMS + 1000), "notifyHoardEnd", 1); + + if (%curTimeLeftMS >= %hoardEndTimeMS) + %game.hoardEnd0 = %game.schedule(%curTimeLeftMS - %hoardEndTimeMS, "notifyHoardEnd", 0); +} + +function HuntersGame::notifyHoardStart(%game, %seconds) +{ + if (%game.HoardMode) + { + if (%seconds > 1) + messageAll('MsgHuntersHoardNotifyStart', '\c2%1 seconds left until the HOARD period begins.~wfx/misc/hunters_%1.wav', %seconds); + else if (%seconds == 1) + messageAll('MsgHuntersHoardNotifyStart', '\c21 second left until the HOARD period begins.~wfx/misc/hunters_1.wav'); + else + { + messageAll('MsgHuntHoardNotifyStarted', '\c2The HOARD period has begun.~wfx/misc/hunters_horde.wav'); + logEcho("hoard mode start"); + %game.setNexusDisabled(); + cancel(%game.greedNexusFlash); + } + } +} + +function HuntersGame::notifyHoardEnd(%game, %seconds) +{ + if (%game.HoardMode) + { + if (%seconds > 1) + messageAll('MsgHuntersHoardNotifyEnd', '\c2%1 seconds left until the HOARD period ends.~wfx/misc/hunters_%1.wav', %seconds); + else if (%seconds == 1) + messageAll('MsgHuntersHoardNotifyEnd', '\c21 second left until the HOARD period ends.~wfx/misc/hunters_1.wav'); + else + { + messageAll('MsgHuntersHoardNotifyEnded', '\c2The HOARD period has ended!~wfx/misc/hunters_greed.wav'); + logEcho("hoard mode end"); + %game.setNexusEnabled(); + cancel(%game.greedNexusFlash); + } + } +} + +function HuntersGame::clientJoinTeam( %game, %client, %team, %respawn ) +{ + %game.assignClientTeam( %client ); + + // Spawn the player: + %game.spawnPlayer( %client, %respawn ); +} + +//----------------------------------------------------------------------------- +//Player spawn/death functions + +function HuntersGame::assignClientTeam(%game, %client) +{ + %client.team = 0; + + //initialize the team array + for (%i = 1; %i < 32; %i++) + $HuntersTeamArray[%i] = false; + + %game.maxSensorGroup = 0; + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team != 0) + $HuntersTeamArray[%cl.team] = true; + + //need to set the number of sensor groups to the max... + if (%cl.team > %game.maxSensorGroup) + %game.maxSensorGroup = %cl.team; + } + + //now loop through the team array, looking for an empty team + for (%i = 1; %i < 32; %i++) + { + if (! $HuntersTeamArray[%i]) + { + %client.team = %i; + + if (%client.team > %game.maxSensorGroup) + %game.maxSensorGroup = %client.team; + + break; + } + } + + // set player's skin pref here + setTargetSkin(%client.target, %client.skin); + + // Let everybody know you are no longer an observer: + messageAll( 'MsgClientJoinTeam', '\c1%1 has joined the hunt.', %client.name, "", %client, 1 ); + updateCanListenState( %client ); + + //now set the max number of sensor groups... + setSensorGroupCount(%game.maxSensorGroup + 1); +} + +function HuntersGame::createPlayer(%game, %client, %spawnLoc, %respawn) +{ + //first call the default + DefaultGame::createPlayer(%game, %client, %spawnLoc, %respawn); + + //now set the sensor group + %client.setSensorGroup(%client.team); +} + +function HuntersGame::pickPlayerSpawn(%game, %client, %respawn) +{ + return %game.pickTeamSpawn(1); +} + +function HuntersGame::playerSpawned(%game, %player, %armor) +{ + //intialize + %client = %player.client; + %client.flagCount = 1; + %client.isDead = false; + + //make sure they're not still taking camping damage... + cancel(%client.campingThread); + + + //continue with the default + DefaultGame::playerSpawned(%game, %player, %armor); +} + +function HuntersGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc) +{ + //set the flag + %clVictim.isDead = true; + + //set the greed variable if required + if (!%game.teamMode && $missionRunning) + { + if (%clVictim.flagCount - 1 > %game.greedFlagCount) + { + %game.greedFlagCount = %clVictim.flagCount - 1; + %game.greedFlagName = getTaggedString(%clVictim.name); + } + } + + //first, drop all the flags + HuntersGame::dropFlag(%game, %clVictim.player); + + //now call the default game stuff + DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc); + + messageClient(%clVictim, 'MsgHuntYouHaveFlags', "", 0); +} + +function HuntersGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %game.awardScoreKill(%clKiller); + %game.awardScoreDeath(%clVictim); + } + else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + %game.awardScoreSuicide(%clVictim); +} + +function Huntersgame::awardScoreKill(%game, %client) +{ + //call the default + DefaultGame::awardScoreKill(%game, %client); + + //check if we have a new leader + if (!%game.teamMode && (%client.score > $TopClientScore)) + { + $TopClientScore = %client.score; + //this message is annoying! + //if (%client != $TopClient) + // messageAll('MsgHuntNewTopScore', '\c0%1 has taken the lead with a score of %2!~wfx/misc/flag_capture.wav', %client.name, %client.score); + $TopClient = %client; + } +} + +function Huntersgame::awardScoreSuicide(%game, %client) +{ + //call the default + DefaultGame::awardScoreSuicide(%game, %client); + + //check if we have a new leader + if (!%game.teamMode && %client == $TopClient && (%client.score < $TopClientScore)) + { + //first lower the topClientScore var + $TopClientScore = %client.score; + + //see if there's a new leader... + %highestScore = %client.score; + %highestScoreClient = -1; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.score > %highestScore) + { + %highestScore = %cl.score; + %highestScoreClient = %cl; + } + } + + //did we find someone? + if (%highestScoreClient > 0) + { + $TopClientScore = %highestScoreClient.score; + $TopClient = %highestScoreClient; + //this message is annoying... + //messageAll('MsgHuntNewTopScore', '\c0%1 is now in the lead with a score of %2!~wfx/misc/flag_capture.wav', %highestScoreClient.name, %highestScoreClient.score); + } + } +} + +function HuntersGame::equip(%game, %player) +{ + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //%player.setArmor("Light"); + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Chaingun,1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(EnergyPack,1); + %player.setInventory(TargetingLaser, 1); + %player.weaponCount = 3; + + %player.use("Disc"); +} + +//----------------------------------------------------------------------------- +//flag functions +function HuntersGame::playerDroppedFlag(%game, %player) +{ + // this stuff has all been moved to HuntersGame::dropFlag + // we really don't want something to happen for *every* flag a player drops anyway +} + +function HuntersStartFlagTimeOut(%flag) +{ + // start the fade out... + %flag.startFade(Game.fadeTimeMS, 0, true); + schedule(Game.fadeTimeMS, %flag, "HuntersEndFlagTimeOut", %flag); +} + +function HuntersEndFlagTimeOut(%flag) +{ + %flag.delete(); +} + +function HuntersYardSaleTimeOut(%waypoint) +{ + %waypoint.delete(); +} + +function HuntersGame::updateFlagHoarder(%game, %eventClient) +{ + %hoarder = -1; + %maxFlags = -1; + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + if (%client.flagCount > %game.flagHoarderMin && %client.flagCount > %maxFlags) + { + %maxflags = %client.flagCount; + %hoarder = %client; + } + } + + //if we found our hoarder, set the waypoint, otherwise, delete it + if (%hoarder > 0) + { + //only update if the event (capping, picking up flag, etc...) was the actual hoarder + if (!isObject(%game.flagHoarder) || %game.flagHoarder == %eventClient) + { + if (!isObject(%game.hoarderWaypoint)) + { + //create a waypoint at player's location... + %game.hoarderWaypoint = new WayPoint() + { + position = %hoarder.player.position; + rotation = "1 0 0 0"; + scale = "1 1 1"; + name = "Flag Hoarder Was Here"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = 0; + }; + + //add the waypoint to the cleanup group + MissionCleanup.add(%game.hoarderWaypoint); + } + + //set the position + %game.flagHoarder = %hoarder; + %game.hoarderWaypoint.setTransform(%hoarder.player.getWorldBoxCenter() SPC "0 0 1 0"); + } + } + else if (isObject(%game.hoarderWaypoint)) + { + %game.flaghoarder = ""; + %game.hoarderWaypoint.delete(); + } +} + +function HuntersGame::sendFlagCountMessage(%game, %client) +{ + //send the messages + if (%client.flagCount - 1 == 1) + { + messageAllExcept(%client, -1, 'MsgHuntPlayerHasFlags', '\c2%1 now has 1 flag.', %client.name, 1); + messageClient(%client, 'MsgHuntYouHaveFlags', '\c2You now have 1 flag.', %client.flagCount - 1); + } + else if (%client.flagCount - 1 > 1) + { + messageAllExcept(%client, -1, 'MsgHuntPlayerHasFlags', '\c2%1 now has %2 flags.', %client.name, %client.flagCount - 1); + messageClient(%client, 'MsgHuntYouHaveFlags', '\c2You now have %1 flags.', %client.flagCount - 1); + } +} + +function HuntersGame::playerTouchFlag(%game, %player, %flag) +{ + //make sure the player is still alive + %client = %player.client; + if (%player.getState() !$= "Dead") + { + //increase the count bye the flag value + %flagValue = %flag.value; + %client.flagCount += %flagValue; + + //delete the flag + %flag.delete(); + + //if the client has 5 or more flags, mount an image + if (%client.flagCount >= 5) + %player.mountImage(HuntersFlagImage, $FlagSlot); + + //schedule an update message + cancel(%client.flagMsgPending); + %client.flagMsgPending = %game.schedule(%game.flagMsgDelayMS, "sendFlagCountMessage", %client); + messageClient(%client, 'MsgHuntYouHaveFlags', "", %client.flagCount - 1); + + //update the log... + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") has "@%client.flagCount-1@" flags"); + + //play the sound pickup in 3D + %player.playAudio(0, HuntersFlagPickupSound); + + //see if the client could set the record + if (!%game.teamMode && !%client.couldSetRecord) + { + %numFlags = %client.flagCount - 1; + if (%numFlags > 10 && %numFlags > $Host::HuntersRecords::Count[$currentMission]) + { + //see if we have at least 4 non-AI players + %humanCount = 0; + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (!%cl.isAIControlled()) + %humanCount++; + if (%humanCount >= %game.numHumansForRecord) + break; + } + + if (%humanCount >= %game.numHumansForRecord) + { + %client.couldSetRecord = true; + + //send a message right away... + if (isEventPending(%client.flagMsgPending)) + { + cancel(%client.flagMsgPending); + %game.sendFlagCountMessage(%client); + } + + //send a message to everyone + messageAllExcept(%client, -1, 'MsgHuntPlayerCouldSetRecord', '\c2%1 has enough flags to set the record for this mission!~wfx/misc/flag_return.wav'); + messageClient(%client, 'MsgHuntYouCouldSetRecord', '\c2You have enough flags to set the record for this mission!~wfx/misc/flag_return.wav'); + } + } + } + + //new tracking - *everyone* automatically tracks the "flag hoarder" if they have at least 15 flags + %game.updateFlagHoarder(%client); + } +} + +function HuntersGame::checkTimeLimit(%game) +{ + DefaultGame::checkTimeLimit(%game); + + //make sure the hoard counter is also up to date + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + messageAll('MsgHuntHoardStatus', "", %game.HoardMode, $Host::TimeLimit, %curTimeLeftMS, %game.HoardStartTime, %game.HoardDuration); +} + +function HuntersGame::timeLimitReached(%game) +{ + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function HuntersGame::scoreLimitReached(%game) +{ + //no such thing as a score limit in Hunters... +} + +function HuntersGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %client = ClientGroup.getObject(%i); + Game.resetScore(%client); + cancel(%client.oobSched); + } +} + +function HuntersGame::checkScoreLimit(%game, %client) +{ + //no such thing as a score limit in Hunters... +} + +//----------------------------------------------------------------------------- +//Nexus functions + +function HuntersGame::setNexusDisabled(%game) +{ + //set the animations + Game.Nexus.playThread(1, "transition"); + Game.NexusCap.playthread(1, "transition"); + Game.NexusBase.playthread(1, "transition"); + Game.Nexus.setThreadDir(1, true); + Game.NexusCap.setThreadDir(1, true); + Game.NexusBase.setThreadDir(1, true); +} + +function HuntersGame::setNexusEnabled(%game) +{ + //set the animations + Game.Nexus.playThread(1, "transition"); + Game.NexusCap.playthread(1, "transition"); + Game.NexusBase.playthread(1, "transition"); + Game.Nexus.setThreadDir(1, false); + Game.NexusCap.setThreadDir(1, false); + Game.NexusBase.setThreadDir(1, false); +} + +function HuntersGame::flashNexus(%game) +{ + //set the animations + Game.Nexus.playThread(1, "flash"); + Game.NexusCap.playthread(1, "flash"); + Game.NexusBase.playthread(1, "flash"); + Game.Nexus.setThreadDir(1, Game.Nexus.flashThreadDir); + Game.NexusCap.setThreadDir(1, Game.Nexus.flashThreadDir); + Game.NexusBase.setThreadDir(1, Game.Nexus.flashThreadDir); + Game.Nexus.flashThreadDir = !Game.Nexus.flashThreadDir; +} + +function HuntersGame::NexusSparkEmitter(%game, %client, %cap, %numToScore) +{ + if (isObject(%client.nexusEmitter)) + %client.nexusEmitter.delete(); + + %client.nexusEmitter = new ParticleEmissionDummy() + { + //position = getWord(%client.player.position, 0) SPC getWord(%client.player.position, 1) SPC getWord(%client.player.position, 2) + 3; + position = (%cap ? Game.nexus.getWorldBoxCenter() : %client.player.getWorldBoxCenter()); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = defaultEmissionDummy; + emitter = (%cap ? NexusParticleCapEmitter : NexusParticleDeniedEmitter); + velocity = "1"; + }; + MissionCleanup.add(%client.nexusEmitter); + + //the effect should only last a few seconds + if (%cap) + { + %timeMS = (%numToScore < 10 ? 200 : %numToScore * 20); + %client.nexusEmitter.schedule(%timeMS, "delete"); + } + else + %client.nexusEmitter.schedule(200, "delete"); +} + +function HuntersGame::hoardModeActive(%game, %wouldBeActive) +{ + if (%wouldBeActive $= "") + %wouldBeActive = false; + + //see if hoard mode is on and active + if (%game.HoardMode || %wouldBeActive) + { + %missionEndTime = ($Host::TimeLimit * 60 * 1000) + $missionStartTime; + %timeLeftMS = %missionEndTime - getSimTime(); + + %hoardStartTime = %game.HoardStartTime * 60 * 1000; + %hoardEndTime = %hoardStartTime - (%game.HoardDuration * 60 * 1000); + if (%timeLeftMS <= %hoardStartTime && %timeLeftMS > %hoardEndTime) + return true; + } + return false; +} + +function Nexus::onCollision(%data, %obj, %colObj) +{ + //make sure it was a player that entered the trigger + if((%colObj.getDataBlock().className $= Armor) && (%colObj.getState() !$= "Dead")) + { + %player = %colObj; + %client = %player.client; + + // if player has been to the nexus within last 5 seconds, don't keep spamming messages + if((getSimTime() - %player.lastNexusTime) < 5000) + return; + + %player.lastNexusTime = getSimTime(); + + if(Game.hoardModeActive()) + { + messageClient(%client, 'MsgHuntHoardNoCap', '\c2Hoard mode is in effect! You cannot return any flags right now.~wfx/powered/nexus_deny.wav'); + + //apply a "bounce" impulse to the player + %velocity = %player.getVelocity(); + if (VectorDist("0 0 0", %velocity) < 2) + %velocityNorm = "0 20 0"; + else + %velocityNorm = VectorScale(VectorNormalize(%velocity), 20); + %vector = VectorScale(%velocityNorm, -200); + %player.applyImpulse(%player.position, %vector); + + Game.NexusSparkEmitter(%client, false); + return; + } + + // you can't cap your own flag + %numToScore = %client.flagCount - 1; + if (Game.greedMode && (%numToScore < Game.GreedMinFlags) && (%numToScore >= 1)) + { + messageClient(%client, 'MsgHuntNeedGreed', '\c2Greed mode is ON! You must have %1 flags before you can return them.~wfx/powered/nexus_deny.wav', Game.GreedMinFlags); + + //transition the Nexus to the "off" animation and back again + Game.flashNexus(); + + //apply a "bounce" impuse to the player + %velocity = %player.getVelocity(); + if (VectorDist("0 0 0", %velocity) < 2) + %velocityNorm = "0 20 0"; + else + %velocityNorm = VectorScale(VectorNormalize(%velocity), 20); + %vector = VectorScale(%velocityNorm, -200); + %player.applyImpulse(%player.position, %vector); + + Game.NexusSparkEmitter(%client, false); + return; + } + + //send the flags message right away... + if (isEventPending(%client.flagMsgPending)) + { + cancel(%client.flagMsgPending); + %game.sendFlagCountMessage(%client); + } + + //unless the nexus is very near the mission boundary, there should be no oobSched to cancel, but... + cancel(%client.oobSched); + + //score the flags + %totalScore = (%numToScore * (%numToScore + 1)) / 2; + if (Game.teamMode) + { + $teamScore[%client.team] += %totalScore; + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") score "@%numToScore@" flags worth "@%totalScore@" pts for team "@%client.team); + messageAll('MsgTeamScoreIs', "", %client.team, $teamScore[%client.team]); + Game.recalcTeamRanks(%client.team); + } + else + { + %client.flagPoints += %totalScore; + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") score "@%numToScore@" flags worth "@%totalScore@" pts"); + Game.recalcScore(%client); + + //see if we should set the highest for the mission here + if (%numToScore > Game.highestFlagReturnCount) + { + Game.highestFlagReturnCount = %numToScore; + Game.highestFlagReturnName = getTaggedString(%client.name); + } + } + + //reset the flags + %client.flagCount = 1; + %client.couldSetRecord = false; + %player.unMountImage($FlagSlot); + messageClient(%client, 'MsgHuntYouHaveFlags', "", 0); + + //see if it's the top score + if (!Game.teamMode && (%client.score > $TopClientScore)) + %topScore = true; + else + %topScore = false; + + //send the messages + if (%numToScore <= 0) + { + messageClient(%client, 'MsgHuntYouNeedHelp', '\c2Pick up flags and bring them here to score points.~wfx/misc/nexus_idle.wav'); + } + else if (%numToScore == 1) + { + if(Game.teamMode) + messageAllExcept(%client, -1, 'MsgHuntPlayerScored', '\c2%1 returned 1 flag (1 point) for %2.~wfx/misc/nexus_cap.wav', %client.name, $TeamName[%client.team], 1); + else + { + messageAllExcept(%client, -1, 'MsgHuntPlayerScored', '\c2%1 returned 1 flag for 1 point.~wfx/misc/nexus_cap.wav', %client.name, 1); + + //new tracking - *everyone* automatically tracks the "flag hoarder" if they have at least 15 flags + Game.updateFlagHoarder(%client); + } + + //add the nexus effect + Game.NexusSparkEmitter(%client, true, %numToScore); + + messageClient(%client, 'MsgHuntYouScored', '\c2You returned 1 flag for 1 point.~wfx/misc/nexus_cap.wav', 1); + } + else if (%numToScore < 5) + { + if(Game.teamMode) + messageAllExcept(%client, -1, 'MsgHuntPlayerScored', '\c2%1 returned %2 flags (%3 points) for %4.~wfx/misc/nexus_cap.wav', %client.name, %numToScore, %totalScore, $TeamName[%client.team]); + else + { + messageAllExcept(%client, -1, 'MsgHuntPlayerScored', '\c2%1 returned %2 flags for %3 points.~wfx/misc/nexus_cap.wav', %client.name, %numToScore, %totalScore); + + //new tracking - *everyone* automatically tracks the "flag hoarder" if they have at least 15 flags + Game.updateFlagHoarder(%client); + } + + //add the nexus effect + Game.NexusSparkEmitter(%client, true, %numToScore); + + messageClient(%client, 'MsgHuntYouScored', '\c2You returned %1 flags for %2 points.~wfx/misc/nexus_cap.wav', %numToScore, %totalScore); + } + else + { + if(Game.teamMode) + messageAllExcept(%client, -1, 'MsgHuntPlayerScored', '\c2%1 returned %2 flags (%3 points) for %4.~wfx/misc/nexus_cap.wav', %client.name, %numToScore, %totalScore, $TeamName[%client.team]); + else + { + messageAllExcept(%client, -1, 'MsgHuntPlayerScored', '\c2%1 returned %2 flags for %3 points.~wfx/misc/nexus_cap.wav', %client.name, %numToScore, %totalScore); + + //new tracking - *everyone* automatically tracks the "flag hoarder" if they have at least 15 flags + Game.updateFlagHoarder(%client); + } + + //add the nexus effect + Game.NexusSparkEmitter(%client, true, %numToScore); + + messageClient(%client, 'MsgHuntYouScored', '\c2You returned %1 flags for %2 points.~wfx/misc/nexus_cap.wav', %numToScore, %totalScore); + } + + //see if it's the top score + if (%topScore) + { + $TopClientScore = %client.score; + if (%client == $TopClient) + { + if (%numToScore >= 5) + messageAll('MsgHuntTopScore', '\c0%1 is leading with a score of %2!~wfx/misc/flag_capture.wav', %client.name, %client.score); + else + messageAll('MsgHuntTopScore', '\c0%1 is leading with a score of %2!', %client.name, %client.score); + } + else + messageAll('MsgHuntNewTopScore', '\c0%1 has taken the lead with a score of %2!~wfx/misc/flag_capture.wav', %client.name, %client.score); + $TopClient = %client; + } + + //see if it's a record + if (%numToScore > 10 && %numToScore > $Host::HuntersRecords::Count[$currentMission]) + { + //see if we have at least 4 non-AI players + %humanCount = 0; + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (!%cl.isAIControlled()) + %humanCount++; + if (%humanCount >= Game.numHumansForRecord) + break; + } + + if (%humanCount >= Game.numHumansForRecord) + { + $Host::HuntersRecords::Count[$currentMission] = %numToScore; + $Host::HuntersRecords::Name[$currentMission] = getTaggedString(%client.name); + + //send a message to everyone + messageAllExcept(%client, -1, 'MsgHuntPlayerSetRecord', '\c2%1 set the record for this mission with a return of %2 flags!~wfx/misc/flag_return.wav', %client.name, %numToScore); + messageClient(%client, 'MsgHuntYouSetRecord', '\c2You set the record for this mission with a return of %1 flags!~wfx/misc/flag_return.wav', %numToScore); + + //update the records file... + export( "$Host::HuntersRecords::*", "prefs/HuntersRecords.cs", false ); + + //once the record has been set, reset everyone's tag + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%count); + %cl.couldSetRecord = false; + } + } + } + + if(Game.teamMode) + Game.checkScoreLimit(%team); + else + Game.checkScoreLimit(%client); + } +} + +function HuntersGame::clientMissionDropReady(%game, %client) +{ + //%client.rank = ClientGroup.getCount(); + messageClient(%client, 'MsgClientReady',"", %game.class); + //messageClient(%client, 'MsgHuntGreedStatus', "", %game.greedMode, %game.GreedMinFlags); + //%curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + //messageClient(%client, 'MsgHuntHoardStatus', "", %game.HoardMode, $Host::TimeLimit, %curTimeLeftMS, %game.HoardStartTime, %game.HoardDuration); + messageClient(%client, 'MsgHuntYouHaveFlags', "", 0); + messageClient(%client, 'MsgYourScoreIs', "", 0); + // MES function below does not exist + //%game.populateRankArray(%client); + //messageClient(%client, 'MsgYourRankIs', "", -1); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function HuntersGame::AIHasJoined(%game, %client) +{ + //let everyone know the player has joined the game + //messageAllExcept(%client, -1, 'MsgClientJoin', '%1 joined the game.', %client.name, "", %client, 1); +} + +function HuntersGame::resetScore(%game, %client) +{ + %client.score = 0; + %client.suicides = 0; + %client.kills = 0; + %client.teamKills = 0; + %client.deaths = 0; + %client.flagPoints = 0; +} + +function HuntersGame::recalcScore(%game, %cl) +{ + if (%cl <= 0) + return; + + %killValue = %cl.kills * %game.SCORE_PER_KILL; + %deathValue = %cl.deaths * %game.SCORE_PER_DEATH; + + if (%killValue - %deathValue == 0) + %killPoints = 0; + else + %killPoints = (%killValue * %killValue) / (%killValue - %deathValue); + + %cl.score = %killPoints; + %cl.score += %cl.flagPoints; + %cl.score += %cl.suicides * %game.SCORE_PER_SUICIDE; + //%cl.score = mFloatLength(%cl.score, 1); + %cl.score = mFloor(%cl.score); + + //must send the message to update the HUD + messageClient(%cl, 'MsgYourScoreIs', "", %cl.score); + + %game.recalcTeamRanks(%cl); +} + +function HuntersGame::sendGameVoteMenu( %game, %client, %key ) +{ + // Don't send any options if a vote is already running: + if ( %game.scheduleVote $= "" ) + { + // First send the common options: + DefaultGame::sendGameVoteMenu( %game, %client, %key ); + + if (!isDemo()) + { + if(!%client.isAdmin) + { + // Now send the Hunters-specific options: + if ( %game.greedMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteGreedMode', 'disable greed mode', 'Vote Disable GREED Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteGreedMode', 'enable greed mode', 'Vote Enable GREED Mode' ); + + if ( %game.HoardMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteHoardMode', 'disable hoard mode', 'Vote Disable HOARD Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteHoardMode', 'enable hoard mode', 'Vote Enable HOARD Mode' ); + } + else + { + if ( %game.greedMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteGreedMode', 'disable greed mode', 'Disable GREED Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteGreedMode', 'enable greed mode', 'Enable GREED Mode' ); + + if ( %game.HoardMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteHoardMode', 'disable hoard mode', 'Disable HOARD Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteHoardMode', 'enable hoard mode', 'Enable HOARD Mode' ); + } + } + } +} + +function HuntersGame::voteGreedMode( %game, %admin, %player ) +{ + %cause = ""; + %setto = ""; + if ( %admin ) + { + if ( %game.greedMode ) + { + messageAll( 'AdminDisableGreedMode', '\c2The Admin has disabled GREED mode.~wfx/misc/hunters_greed.wav' ); + %game.greedMode = false; + %setto = "disabled"; + } + else + { + messageAll( 'AdminEnableGreedMode', '\c2The Admin has enabled GREED mode.~wfx/misc/hunters_greed.wav' ); + %game.greedMode = true; + %setto = "enabled"; + } + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if ( %totalVotes > 0 && ( %game.totalVotesFor / %totalVotes ) > 0.7 ) + { + if ( %game.greedMode ) + { + messageAll( 'MsgVotePassed', '\c2GREED mode was disabled by vote.~wfx/misc/hunters_greed.wav' ); + %game.greedMode = false; + %setto = "disabled"; + } + else + { + messageAll( 'MsgVotePassed', '\c2GREED mode was enabled by vote.~wfx/misc/hunters_greed.wav' ); + %game.greedMode = true; + %setto = "enabled"; + } + %cause = "(vote)"; +// alxPlay(VotePassSound, 0, 0, 0); + } + else + { + if ( %game.greedMode ) + messageAll( 'MsgVoteFailed', '\c2Disable GREED mode vote did not pass, %1 to %2.', %game.totalVotesFor, %game.totalVotesAgainst ); + else + messageAll( 'MsgVoteFailed', '\c2Enable GREED mode vote did not pass, %1 to %2.', %game.totalVotesFor, %game.totalVotesAgainst ); +// alxPlay(VoteNotPassSound, 0, 0, 0); + } + } + + //send the global message + messageAll('MsgHuntGreedStatus', "", %game.greedMode, %game.GreedMinFlags); + if(%setto !$= "") + logEcho("greed mode "@%setto SPC %cause); + + //store the result + if (%game.teamMode) + $Host::TeamHuntersGreedMode = %game.greedMode; + else + $Host::HuntersGreedMode = %game.greedMode; +} + +function HuntersGame::voteHoardMode( %game, %admin, %player ) +{ + %cause = ""; + %setto = ""; + + if ( %admin ) + { + if ( %game.HoardMode ) + { + messageAll( 'AdminDisableHoardMode', '\c2The Admin has disabled HOARD mode.' ); + %game.HoardMode = false; + %setto = "disabled"; + } + else + { + messageAll( 'AdminEnableHoardMode', '\c2The Admin has enabled HOARD mode.' ); + %game.HoardMode = true; + %setto = "enabled"; + } + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if ( %totalVotes > 0 && ( %game.totalVotesFor / %totalVotes ) > 0.7 ) + { + if ( %game.HoardMode ) + { + messageAll( 'MsgVotePassed', '\c2HOARD mode was disabled by vote.' ); + %game.HoardMode = false; + %setto = "disabled"; + } + else + { + messageAll( 'MsgVotePassed', '\c2HOARD mode was enabled by vote.' ); + %game.HoardMode = true; + %setto = "enabled"; + } + %cause = "(vote)"; +// alxPlay(VotePassSound, 0, 0, 0); + } + else + { + if ( %game.HoardMode ) + messageAll( 'MsgVoteFailed', '\c2Disable HOARD mode vote did not pass, %1 to %2.', %game.totalVotesFor, %game.totalVotesAgainst ); + else + messageAll( 'MsgVoteFailed', '\c2Enable HOARD mode vote did not pass, %1 to %2.', %game.totalVotesFor, %game.totalVotesAgainst ); +// alxPlay(VoteNotPassSound, 0, 0, 0); + } + } + + //send the global message + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + messageAll('MsgHuntHoardStatus', "", %game.HoardMode, $Host::TimeLimit, %curTimeLeftMS, %game.HoardStartTime, %game.HoardDuration); + if(%setto !$= "") + logEcho("hoard mode "@%setto SPC %cause); + + //store the result + if (%game.teamMode) + $Host::TeamHuntersHoardMode = %game.HoardMode; + else + $Host::HuntersHoardMode = %game.HoardMode; +} + +function HuntersGame::voteChangeTimeLimit( %game, %admin, %newLimit ) +{ + %oldTimeLimit = $Host::TimeLimit; + DefaultGame::voteChangeTimeLimit(%game, %admin, %newLimit); + + //if the time limit changed, this will affect hoard mode: + if ($Host::TimeLimit != %oldTimeLimit) + { + %game.setupHoardCountdown(); + } +} + +function createDroppedFlag(%data, %value, %player, %game) +{ + %client = %player.client; + %playerPos = %player.getWorldBoxCenter(); + + // create a flag and throw it + %droppedflag = new Item() { + position = %playerPos; + rotation = "0 0 1 " @ (getRandom() * 360); + scale = "1 1 1"; + dataBlock = %data; + collideable = "0"; + static = "0"; + rotate = "0"; + team = "0"; + }; + $FlagGroup.add(%droppedflag); + %droppedFlag.value = %value; + + // set the flags target (for proper skin) + %droppedFlag.setTarget(%data.target); + + //throw the flag randomly away from the body + if (%client.isDead) + { + %vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom(); + %vec = VectorScale(%vec, 1000 + (getRandom() * 500)); + + // Add player's velocity + %vec = vectorAdd(%vec, %player.getVelocity()); + } + + //else if the player is Out of bounds, throw them in the direction of the nexus + else if (%client.outOfBounds) + { + %towardsNexusVec = VectorSub(%game.nexus.position, %player.position); + %towardsNexusVec = getWord(%towardsNexusVec, 0) SPC getWord(%towardsNexusVec, 1) SPC "0"; + %towardsNexusVec = VectorNormalize(%towardsNexusVec); + + //add a little noise + %vec = getWord(%towardsNexusVec, 0) + (-0.3 + getRandom() * 0.6) SPC + getWord(%towardsNexusVec, 1) + (-0.3 + getRandom() * 0.6) SPC + getWord(%towardsNexusVec, 2); + %vec = VectorScale(%vec, 1000 + (getRandom() * 500)); + } + + //else throw them more or less in the direction the player was facing... + else + { + %playerFacingVec = MatrixMulVector("0 0 0 " @ getWords(%client.player.getTransform(), 3, 6), "0 1 0"); + %playerFacingVec = VectorNormalize(%playerFacingVec); + + //add a little noise + %vec = getWord(%playerFacingVec, 0) + (-0.3 + getRandom() * 0.6) SPC + getWord(%playerFacingVec, 1) + (-0.3 + getRandom() * 0.6) SPC + getWord(%playerFacingVec, 2); + %vec = VectorScale(%vec, 1000 + (getRandom() * 500)); + + // Add player's velocity + %vec = vectorAdd(%vec, %player.getVelocity()); + } + + %droppedflag.applyImpulse(%playerPos, %vec); + %droppedflag.setCollisionTimeout(%player); + schedule(%game.flagLifeTimeMS, %droppedflag, "HuntersStartFlagTimeOut", %droppedflag); +} + +function HuntersGame::throwFlags(%game, %player) +{ + %client = %player.client; + + //find out how many flags to drop + if (%client.isDead) + %numFlags = %client.flagCount; + else + %numFlags = %client.flagCount - 1; + + if (%numFlags <= 0) + return; + //send the flags message right away... + if (isEventPending(%client.flagMsgPending)) + { + cancel(%client.flagMsgPending); + %game.sendFlagCountMessage(%client); + } + + %numFlagsToDrop = %numFlags; + + //reset the count (which doesn't matter if player is dead) + %client.flagCount = 1; + %client.couldSetRecord = false; + + //drop the flags + %flagIncrement = 1; + %db[1] = HuntersFlag1; + %db[2] = HuntersFlag2; + %db[4] = HuntersFlag4; + %db[8] = HuntersFlag8; + + %i = 0; + while (%i < %numFlagsToDrop) + { + for (%j = 0; %j < 5; %j++) + { + %numFlagsLeft = %numFlagsToDrop - %i; + if (%numFlagsLeft >= %flagIncrement) + { + createDroppedFlag(%db[%flagIncrement], %flagIncrement, %player, %game); + %i += %flagIncrement; + } + else + { + // cleanup + if (%numFlagsLeft >= 8) + { + createDroppedFlag(%db[8], 8, %player, %game); + %i += 8; + %numFlagsLeft -= 8; + } + if (%numFlagsLeft >= 4) + { + createDroppedFlag(%db[4], 4, %player, %game); + %i += 4; + %numFlagsLeft -= 4; + } + if (%numFlagsLeft >= 2) + { + createDroppedFlag(%db[2], 2, %player, %game); + %i += 2; + %numFlagsLeft -= 2; + } + if (%numFlagsLeft >= 1) + { + createDroppedFlag(%db[1], 1, %player, %game); + %i += 1; + %numFlagsLeft -= 1; + } + + if (%i != %numFlagsToDrop || %numFlagsLeft != 0) + { + error("Error, missing a flag!"); + } + break; + } + } + + if (%flagIncrement < 8) + %flagIncrement = %flagIncrement * 2; + } + + //yard sale! + if (%numFlags >= %game.yardSaleMin) + { + messageAll('MsgHuntYardSale', '\c2YARD SALE!!!~wfx/misc/yardsale.wav'); + + //create a waypoint at player's location... + %yardWaypoint = new WayPoint() + { + position = %player.position; + rotation = "1 0 0 0"; + scale = "1 1 1"; + name = "YARD SALE!"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + + //add the waypoint to the cleanup group + MissionCleanup.add(%yardWaypoint); + $HuntersYardSaleSet.add(%yardWaypoint); + schedule(30000, %yardWaypoint, "HuntersYardSaleTimeOut", %yardWaypoint); + } + + //remove any mounted flag from the player + %player.unMountImage($FlagSlot); + + //update the client's hud + messageClient(%client, 'MsgHuntYouHaveFlags', "", 0); + + //new tracking - *everyone* automatically tracks the "flag hoarder" if they have at least 15 flags + %game.updateFlagHoarder(%client); +} + +function HuntersGame::dropFlag(%game, %player) +{ + //first throw the flags + %game.throwFlags(%player); + + //send the messages + if (%numFlags == 1) + { + messageAllExcept(%client, -1, 'MsgHuntPlayerDroppedFlags', '\c0%1 dropped 1 flag.', %client.name, 1); + messageClient(%client, 'MsgHuntYouDroppedFlags', '\c0You dropped 1 flag.', 1); + } + else if (%numFlags > 1) + { + messageAllExcept(%client, -1, 'MsgHuntPlayerDroppedFlags', '\c0%1 dropped %2 flags.', %client.name, %numFlags); + messageClient(%client, 'MsgHuntYouDroppedFlags', '\c0You dropped %1 flags.', %numFlags); + } + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") dropped "@%numFlags@" flags"); +} + +function HuntersGame::enterMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %client = %player.client; + %client.outOfBounds = false; + cancel(%client.oobSched); + messageClient(%player.client, 'MsgEnterMissionArea', '\c1You are back in the mission area.'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") entered mission area"); + cancel(%player.alertThread); +} + +function HuntersGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + // strip flags and throw them back into the mission area + %client = %player.client; + %client.outOfBounds = true; + if (%player.client.flagCount > 1) + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1You have left the mission area and will lose your flags!~wfx/misc/warning_beep.wav'); + else + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1You have left the mission area.~wfx/misc/warning_beep.wav'); + + %client.oobSched = %game.schedule(%game.oobThrowFlagsDelayMS, "outOfBoundsThrowFlags", %client); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") left mission area"); +} + +function HuntersGame::outOfBoundsThrowFlags(%game, %client) +{ + %player = %client.player; + if (!%client.outOfBounds) + return; + + if (%client.flagCount > 1) + { + %game.throwFlags(%player); + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1You are out of the mission area and have lost your flags!~wfx/misc/flag_taken.wav'); + } + + //set the next schedule check + %client.oobSched = %game.schedule(%game.oobThrowFlagsDelayMS, "outOfBoundsThrowFlags", %client); +} + +function HuntersGame::onEnterTrigger(%game, %triggerName, %data, %obj, %colobj) +{ + //schedule a warning in 10 seconds + %client = %colobj.client; + %client.campingThread = %game.schedule(game.nexusCampingTime, "CampingDamage", %client, true); +} + +function HuntersGame::onLeaveTrigger(%game, %triggerName, %data, %obj, %colobj) +{ + %client = %colobj.client; + cancel(%client.campingThread); +} + +function HuntersGame::CampingDamage(%game, %client, %firstWarning) +{ + //make sure we're still alive... + %player = %client.player; + if (!isObject(%player) || %player.getState() $= "Dead") + return; + + //if the match hasn't yet started, don't warn or apply damage yet... + if (!$MatchStarted) + { + %client.campingThread = %game.schedule(game.nexusCampingTime / 2, "CampingDamage", %client, true); + } + else if (%firstWarning) + { + messageClient(%client, 'MsgHuntersNoCampZone', '\c2No camping near the Nexus.', 1); + %client.campingThread = %game.schedule(game.nexusCampingTime / 2, "CampingDamage", %client, false); + } + else + { + %player.setDamageFlash(0.1); + %player.damage(0, %player.position, 0.05, $DamageType::NexusCamping); + %client.campingThread = %game.schedule(1000, "CampingDamage", %client, false); + } + +} + +function HuntersGame::updateScoreHud(%game, %client, %tag) +{ + //tricky stuff here... use two columns if we have more than 15 clients... + %numClients = $TeamRank[0, count]; + if (%numClients > $ScoreHudMaxVisible) + %numColumns = 2; + + // Clear the header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // Send header: + if ( %numColumns == 2 ) + messageClient( %client, 'SetScoreHudSubheader', "", '\tPLAYER\tSCORE\tFLAGS\tPLAYER\tSCORE\tFLAGS' ); + else + messageClient( %client, 'SetScoreHudSubheader', "", '\tPLAYER\tSCORE\tFLAGS' ); + + //find out who has the most flags + %maxFlagsClient = -1; + %maxFlags = -1; + for (%i = 0; %i < %numClients; %i++) + { + %cl = $TeamRank[0, %i]; + if (%cl.flagCount > %maxFlags) + { + %maxFlags = %cl.flagCount - 1; + %maxFlagsClient = %cl; + } + } + + //if no one has any flags, don't hilite anyone... + if (%maxFlags <= 0) + %maxFlagsClient = -1; + + %countMax = %numClients; + if ( %countMax > ( 2 * $ScoreHudMaxVisible ) ) + { + if ( %countMax & 1 ) + %countMax++; + %countMax = %countMax / 2; + } + else if ( %countMax > $ScoreHudMaxVisible ) + %countMax = $ScoreHudMaxVisible; + + for (%index = 0; %index < %countMax; %index++) + { + //get the client info + %col1Client = $TeamRank[0, %index]; + %col1ClientScore = %col1Client.score $= "" ? 0 : %col1Client.score; + %col1ClientFlags = %col1Client.flagCount - 1; + if (%col1ClientFlags <= 0) + %col1ClientFlags = ""; + %col1Style = ""; + if ( %col1Client == %maxFlagsClient ) + %col1Style = ""; + else if ( %col1Client == %client ) + %col1Style = ""; + + //see if we have two columns + if (%numColumns == 2) + { + %col2Client = ""; + %col2ClientScore = ""; + %col2ClientFlags = ""; + %col2Style = ""; + + //get the column 2 client info + %col2Index = %index + %countMax; + if (%col2Index < %numClients) + { + %col2Client = $TeamRank[0, %col2Index]; + %col2ClientScore = %col2Client.score $= "" ? 0 : %col2Client.score; + %col2ClientFlags = %col2Client.flagCount - 1; + if (%col2ClientFlags <= 0) + %col2ClientFlags = ""; + if ( %col2Client == %maxFlagsClient ) + %col2Style = ""; + else if ( %col2Client == %client ) + %col2Style = ""; + } + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + if ( %numColumns == 2 ) + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%8%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientFlags, %col2Client.name, %col2ClientScore, %col2ClientFlags, %col1Style, %col2Style ); + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '%4\t%1%2%3', + %col1Client.name, %col1ClientScore, %col1ClientFlags, %col1Style ); + } + + //else for observers, create an anchor around the player name so they can be observed + else + { + if ( %numColumns == 2 ) + { + + //this is lame, but we can only have up to %9 args + if ( %col2Client == %maxFlagsClient ) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientFlags, + %col2Client.name, %col2ClientScore, %col2ClientFlags, + %col1Style, %col1Client, %col2Client); + } + else if ( %col2Client == %client ) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientFlags, + %col2Client.name, %col2ClientScore, %col2ClientFlags, + %col1Style, %col1Client, %col2Client); + } + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientFlags, + %col2Client.name, %col2ClientScore, %col2ClientFlags, + %col1Style, %col1Client, %col2Client); + } + } + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '%4\t%1%2%3', + %col1Client.name, %col1ClientScore, %col1ClientFlags, %col1Style, %col1Client ); + } + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} + +function HuntersGame::sendDebriefing( %game, %client ) +{ + // Mission result: + if ( $TeamRank[0, 0].score > 0 ) + messageClient( %client, 'MsgDebriefResult', "", '%1 wins with a score of %2!', $TeamRank[0, 0].name, $TeamRank[0, 0].score ); + else + messageClient( %client, 'MsgDebriefResult', "", 'Nobody wins!' ); + + + if ( %game.highestFlagReturnName !$= "" ) + messageClient( %client, 'MsgDebriefResult', "", '%1 had the highest return count with %2 flags!', %game.highestFlagReturnName, %game.highestFlagReturnCount ); + + if ( $Host::HuntersRecords::Count[$currentMission] !$= "" && $Host::HuntersRecords::Name[$currentMission] !$= "" ) + messageClient( %client, 'MsgDebriefResult', "", '%1 holds the record with a return count of %2 flags!', $Host::HuntersRecords::Name[$currentMission], $Host::HuntersRecords::Count[$currentMission] ); + + if ( %game.greedFlagName !$= "" ) + messageClient( %client, 'MsgDebriefResult', "", '%1 gets the honorary greed award for dropping %2 flags!', %game.greedFlagName, %game.greedFlagCount ); + + // Player scores: + messageClient( %client, 'MsgDebriefAddLine', "", 'PLAYERSCOREKILLS' ); + %count = $TeamRank[0, count]; + for ( %i = 0; %i < %count; %i++ ) + { + %cl = $TeamRank[0, %i]; + if ( %cl.score $= "" ) + %score = 0; + else + %score = %cl.score; + if ( %cl.kills $= "" ) + %kills = 0; + else + %kills = %cl.kills; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3', %cl.name, %score, %kills ); + } + + // Show observers: + %count = ClientGroup.getCount(); + %header = false; + for ( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject( %i ); + if ( %cl.team <= 0 ) + { + if ( !%header ) + { + messageClient( %client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCORE' ); + %header = true; + } + + %score = %cl.score $= "" ? 0 : %cl.score; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %cl.name, %score ); + } + } +} + +function HuntersGame::applyConcussion(%game, %player) +{ + //%game.dropFlag( %player ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/LaunchLanGui.cs b/public/base/@vl2/scripts.vl2/scripts/LaunchLanGui.cs new file mode 100644 index 00000000..ca907767 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/LaunchLanGui.cs @@ -0,0 +1,381 @@ +//-------------------------------------------------------- +function QueryServers( %searchCriteria ) +{ + GMJ_Browser.lastQuery = %searchCriteria; + LaunchGame( "JOIN" ); +} + +//-------------------------------------------------------- +function QueryOnlineServers() +{ + QueryServers("Master"); +} + +//-------------------------------------------------------- +// Launch gui functions +//-------------------------------------------------------- +function PlayOffline() +{ + $FirstLaunch = true; + setNetPort(0); + $PlayingOnline = false; + Canvas.setContent(LaunchGui); +} + +//-------------------------------------------------------- +function OnlineLogIn() +{ + $FirstLaunch = true; + setNetPort(0); + $PlayingOnline = true; + FilterEditGameType.clear(); + FilterEditMissionType.clear(); + queryMasterGameTypes(); + // Start the Email checking... + EmailGui.checkSchedule = schedule( 5000, 0, CheckEmail, true ); + + // Load the player database... + %guid = getField( WONGetAuthInfo(), 3 ); + if ( %guid > 0 ) + loadPlayerDatabase( "prefs/pyrdb" @ %guid ); + Canvas.setContent(LaunchGui); +} + +//-------------------------------------------------------- +function LaunchToolbarMenu::onSelect(%this, %id, %text) +{ + switch(%id) + { + case 0: + LaunchGame(); + case 1: // Start Training Mission + LaunchTraining(); + case 2: + LaunchNews(); + case 3: + LaunchForums(); + case 4: + LaunchEmail(); + case 5: // Join Chat Room + Canvas.pushDialog(JoinChatDlg); + case 6: + LaunchBrowser(); + case 7: // Options + Canvas.pushDialog(OptionsDlg); + case 8: // Play Recording + Canvas.pushDialog(RecordingsDlg); + case 9: // Quit + if(isObject($IRCClient.tcp)) + IRCClient::quit(); + LaunchTabView.closeAllTabs(); + if (!isDemo()) + quit(); + else + Canvas.setContent(DemoEndGui); + //case 10: // Log Off + // LaunchTabView.closeAllTabs(); + // PlayOffline(); + //case 11: // Log On + // LaunchTabView.closeAllTabs(); + // OnlineLogIn(); + case 12: + LaunchCredits(); + } +} + +//-------------------------------------------------------- +function LaunchToolbarDlg::onWake(%this) +{ + // Play the shell hum: + if ( $HudHandle[shellScreen] $= "" ) + $HudHandle[shellScreen] = alxPlay( ShellScreenHumSound, 0, 0, 0 ); + + LaunchToolbarMenu.clear(); + + if ( isDemo() ) + { + LaunchToolbarMenu.add( 1, "TRAINING" ); + LaunchToolbarMenu.add( 0, "GAME" ); + LaunchToolbarMenu.add( 2, "NEWS" ); + } + else if ( $PlayingOnline ) + { + LaunchToolbarMenu.add( 0, "GAME" ); + LaunchToolbarMenu.add( 4, "EMAIL" ); + LaunchToolbarMenu.add( 5, "CHAT" ); + LaunchToolbarMenu.add( 6, "BROWSER" ); + } + else + { + LaunchToolbarMenu.add( 1, "TRAINING" ); + LaunchToolbarMenu.add( 0, "LAN GAME" ); + } + + LaunchToolbarMenu.addSeparator(); + LaunchToolbarMenu.add( 7, "SETTINGS" ); + if ( !isDemo() ) + LaunchToolbarMenu.add( 8, "RECORDINGS" ); + LaunchToolbarMenu.add( 12, "CREDITS" ); + + LaunchToolbarMenu.addSeparator(); + LaunchToolbarMenu.add( 9, "QUIT" ); + + %on = false; + for ( %tab = 0; %tab < LaunchTabView.tabCount(); %tab++ ) + { + if ( LaunchTabView.isTabActive( %tab ) ) + { + %on = true; + break; + } + } + + LaunchToolbarCloseButton.setVisible( %on ); +} + +//---------------------------------------------------------------------------- +// Launch Tab Group functions: +//---------------------------------------------------------------------------- +function OpenLaunchTabs( %gotoWarriorSetup ) +{ + if ( LaunchTabView.tabCount() > 0 || !$FirstLaunch ) + return; + + $FirstLaunch = ""; + + // Set up all of the launch bar tabs: + if ( isDemo() ) + { + LaunchTabView.addLaunchTab( "TRAINING", TrainingGui ); + LaunchTabView.addLaunchTab( "GAME", GameGui ); + LaunchTabView.addLaunchTab( "NEWS", NewsGui ); + LaunchTabView.addLaunchTab( "FORUMS", "", true ); + LaunchTabView.addLaunchTab( "EMAIL", "", true ); + LaunchTabView.addLaunchTab( "CHAT", "", true ); + LaunchTabView.addLaunchTab( "BROWSER", "", true ); + %launchGui = NewsGui; + } + else if ( $PlayingOnline ) + { + LaunchTabView.addLaunchTab( "GAME", GameGui ); + LaunchTabView.addLaunchTab( "EMAIL", EmailGui ); + LaunchTabView.addLaunchTab( "CHAT", ChatGui ); + LaunchTabView.addLaunchTab( "BROWSER", TribeandWarriorBrowserGui); + + switch$ ( $pref::Shell::LaunchGui ) + { + case "News": %launchGui = NewsGui; + case "Forums": %launchGui = ForumsGui; + case "Email": %launchGui = EmailGui; + case "Chat": %launchGui = ChatGui; + case "Browser": %launchGui = TribeandWarriorBrowserGui; + default: %launchGui = GameGui; + } + } + else + { + LaunchTabView.addLaunchTab( "TRAINING", TrainingGui ); + LaunchTabView.addLaunchTab( "LAN GAME", GameGui ); + %launchGui = TrainingGui; + } + + if ( %gotoWarriorSetup ) + LaunchGame( "WARRIOR" ); + else + LaunchTabView.viewTab( "", %launchGui, 0 ); + + if ( $IssueVoodooWarning && !$pref::SawVoodooWarning ) + { + $pref::SawVoodooWarning = 1; + schedule( 0, 0, MessageBoxOK, "WARNING", "A Voodoo card has been detected. If you experience any graphical oddities, you should try the WickedGl drivers available at www.wicked3d.com" ); + } +} + +//-------------------------------------------------------- +function LaunchTabView::addLaunchTab( %this, %text, %gui, %makeInactive ) +{ + %tabCount = %this.tabCount(); + %this.gui[%tabCount] = %gui; + %this.key[%tabCount] = 0; + %this.addTab( %tabCount, %text ); + if ( %makeInactive ) + %this.setTabActive( %tabCount, false ); +} + +//-------------------------------------------------------- +function LaunchTabView::onSelect( %this, %id, %text ) +{ + // Ignore the ID - it can't be trusted. + %tab = %this.getSelectedTab(); + + if ( isObject( %this.gui[%tab] ) ) + { + Canvas.setContent( %this.gui[%tab] ); + %this.gui[%tab].setKey( %this.key[%tab] ); + %this.lastTab = %tab; + } +} + +//-------------------------------------------------------- +function LaunchTabView::viewLastTab( %this ) +{ + if ( %this.tabCount() == 0 || %this.lastTab $= "" ) + return; + + %this.setSelectedByIndex( %this.lastTab ); +} + +//-------------------------------------------------------- +function LaunchTabView::viewTab( %this, %text, %gui, %key ) +{ + %tabCount = %this.tabCount(); + for ( %tab = 0; %tab < %tabCount; %tab++ ) + if ( %this.gui[%tab] $= %gui && %this.key[%tab] $= %key ) + break; + + if ( %tab == %tabCount ) + { + // Add a new tab: + %this.gui[%tab] = %gui; + %this.key[%tab] = %key; + // WARNING! This id may not be unique and therefore should + // not be relied on! Use index instead! + %this.addTab( %tab, %text ); + } + + if ( %this.getSelectedTab() != %tab ) + %this.setSelectedByIndex( %tab ); +} + +//-------------------------------------------------------- +function LaunchTabView::closeCurrentTab( %this ) +{ + %tab = %this.getSelectedTab(); + %this.closeTab( %this.gui[%tab], %this.key[%tab] ); +} + +//-------------------------------------------------------- +function LaunchTabView::closeTab( %this, %gui, %key ) +{ + %tabCount = %this.tabCount(); + %activeCount = 0; + for ( %i = 0; %i < %tabCount; %i++ ) + { + if ( %this.gui[%i] $= %gui && %this.key[%i] $= %key ) + %tab = %i; + else if ( %this.isTabActive( %i ) ) + %activeCount++; + } + + if ( %tab == %tabCount ) + return; + + for( %i = %tab; %i < %tabCount; %i++ ) + { + %this.gui[%i] = %this.gui[%i+1]; + %this.key[%i] = %this.key[%i+1]; + } + + %this.removeTabByIndex( %tab ); + %gui.onClose( %key ); + + if ( %activeCount == 0 ) + { + %this.lastTab = ""; + Canvas.setContent( LaunchGui ); + } +} + +//-------------------------------------------------------- +function LaunchTabView::closeAllTabs( %this ) +{ + %tabCount = %this.tabCount(); + for ( %i = 0; %i < %tabCount; %i++ ) + { + if ( isObject( %this.gui[%i] ) ) + %this.gui[%i].onClose( %this.key[%i] ); + %this.gui[%i] = ""; + %this.key[%i] = ""; + } + + %this.clear(); +} + +//---------------------------------------------------------------------------- +// LaunchGui functions: +//---------------------------------------------------------------------------- +function LaunchGui::onAdd(%this) +{ + %this.getWarrior = true; +} + +//---------------------------------------------------------------------------- +function LaunchGui::onWake(%this) +{ + $enableDirectInput = "0"; + deactivateDirectInput(); + Canvas.pushDialog(LaunchToolbarDlg); + if ( !$FirstLaunch ) + LaunchTabView.viewLastTab(); + + if ( !isDemo() ) + checkNamesAndAliases(); + else + OpenLaunchTabs(); +} + +//---------------------------------------------------------------------------- +function LaunchGui::onSleep(%this) +{ + //alxStop($HudHandle['shellScreen']); + Canvas.popDialog( LaunchToolbarDlg ); +} + +//---------------------------------------------------------------------------- +function checkNamesAndAliases() +{ + %gotoWarriorSetup = false; + if ( $PlayingOnline ) + { + // When first launching, make sure we have a valid warrior: + if ( LaunchGui.getWarrior ) + { + %cert = WONGetAuthInfo(); + if ( %cert !$= "" ) + { + LaunchGui.getWarrior = ""; + if ( %cert $= "" ) + %warrior = $CreateAccountWarriorName; + else + %warrior = getField( %cert, 0 ); + + %warriorIdx = -1; + for ( %i = 0; %i < $pref::Player::count; %i++ ) + { + if ( %warrior $= getField( $pref::Player[%i], 0 ) ) + { + %warriorIdx = %i; + break; + } + } + + if ( %warriorIdx == -1 ) + { + // Create new warrior: + $pref::Player[$pref::Player::Count] = %warrior @ "\tHuman Male\tbeagle\tMale1"; + $pref::Player::Current = $pref::Player::Count; + $pref::Player::Count++; + %gotoWarriorSetup = true; + } + } + else + MessageBoxOK( "WARNING", "Failed to get account information. You may need to quit the game and log in again." ); + } + } + else if ( $pref::Player::Count == 0 ) + { + %gotoWarriorSetup = true; + } + + OpenLaunchTabs( %gotoWarriorSetup ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/LobbyGui.cs b/public/base/@vl2/scripts.vl2/scripts/LobbyGui.cs new file mode 100644 index 00000000..fa193484 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/LobbyGui.cs @@ -0,0 +1,615 @@ +//------------------------------------------------------------------------------ +// +// LobbyGui.cs +// +//------------------------------------------------------------------------------ + +$InLobby = false; + +//------------------------------------------------------------------------------ +function LobbyGui::onAdd( %this ) +{ + // Add the Player popup menu: + new GuiControl(LobbyPlayerActionDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new ShellPopupMenu( LobbyPlayerPopup ) { + profile = "ShellPopupProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + visible = "1"; + maxPopupHeight = "200"; + noButtonStyle = "1"; + }; + }; +} + +//------------------------------------------------------------------------------ +function LobbyGui::onWake( %this ) +{ + if ( !%this.initialized ) + { + LobbyPlayerList.setSortColumn( $pref::Lobby::SortColumnKey ); + LobbyPlayerList.setSortIncreasing( $pref::Lobby::SortInc ); + + %this.initialized = true; + } + + $InLobby = true; + + //pop any key maps + moveMap.pop(); + if ( isObject( passengerkeys ) ) + passengerKeys.pop(); + if ( isObject( observerBlockMap ) ) + observerBlockMap.pop(); + if ( isObject( observerMap ) ) + observerMap.pop(); + + $enableDirectInput = "0"; + deactivateDirectInput(); + + LobbyMessageVector.attach(HudMessageVector); + LobbyMessageScroll.scrollToBottom(); + updateLobbyPlayerList(); + + LobbyServerName.setText( $clServerName ); + + %headerStyle = ""; + %statusText = "" @ %headerStyle @ "MISSION TYPE:" SPC $clMissionType + NL "" @ %headerStyle @ "MISSION:" SPC $clMissionName + NL "" @ %headerStyle @ "OBJECTIVES:"; + + for ( %line = 0; %this.objLine[%line] !$= ""; %line++ ) + %statusText = %statusText NL "* " @ %this.objLine[%line]; + + LobbyStatusText.setText( %statusText ); + + fillLobbyVoteMenu(); +} + +//------------------------------------------------------------------------------ +function LobbyGui::onSleep( %this ) +{ + if ( %this.playerDialogOpen ) + LobbyPlayerPopup.forceClose(); + + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = ""; + LobbyCancelBtn.setVisible( false ); + LobbyStatusText.setText( "" ); + $InLobby = false; +} + +//------------------------------------------------------------------------------ +function lobbyDisconnect() +{ + MessageBoxYesNo( "CONFIRM", "Are you sure you want to leave this game?", "lobbyLeaveGame();", "" ); +} + +//------------------------------------------------------------------------------ +function lobbyLeaveGame() +{ + Canvas.popDialog( LobbyGui ); + Disconnect(); +} + +//------------------------------------------------------------------------------ +function lobbyReturnToGame() +{ + Canvas.setContent( PlayGui ); +} + +//------------------------------------------------------------------------------ +function LobbyChatEnter::onEscape( %this ) +{ + %this.setValue( "" ); +} + +//------------------------------------------------------------------------------ +function LobbyChatEnter::send( %this ) +{ + %text = %this.getValue(); + if ( %text $= "" ) + %text = " "; + commandToServer( 'MessageSent', %text ); + %this.setValue( "" ); +} + +//------------------------------------------------------------------------------ +function LobbyPlayerList::initColumns( %this ) +{ + %this.clear(); + %this.clearColumns(); + %this.addColumn( 0, " ", 24, 24, 24, "center" ); // Flag column + %this.addColumn( 6, "lobby_headset", 36, 36, 36, "headericon" ); // Voice Com column + %this.addColumn( 1, "Player", $pref::Lobby::Column1, 50, 200 ); + if ( $clTeamCount > 1 ) + %this.addColumn( 2, "Team", $pref::Lobby::Column2, 50, 200 ); + %this.addColumn( 3, "Score", $pref::Lobby::Column3, 25, 200, "numeric center" ); + %this.addColumn( 4, "Ping", $pref::Lobby::Column4, 25, 200, "numeric center" ); + %this.addColumn( 5, "PL", $pref::Lobby::Column5, 25, 200, "numeric center" ); + + commandToServer( 'getScores' ); +} + +//------------------------------------------------------------------------------ +function LobbyPlayerList::onColumnResize( %this, %col, %size ) +{ + $pref::Lobby::Column[%this.getColumnKey( %col )] = %size; +} + +//------------------------------------------------------------------------------ +function LobbyPlayerList::onSetSortKey( %this, %key, %increasing ) +{ + $pref::Lobby::SortColumnKey = %key; + $pref::Lobby::SortInc = %increasing; +} + +//------------------------------------------------------------------------------ +function updateLobbyPlayerList() +{ + if ( $InLobby ) + { + // Let the server know we want an update: + commandToServer( 'getScores' ); + schedule( 4000, 0, updateLobbyPlayerList ); + } +} + +//------------------------------------------------------------------------------ +function lobbyUpdatePlayer( %clientId ) +{ + %player = $PlayerList[%clientId]; + if ( !isObject( %player ) ) + { + warn( "lobbyUpdatePlayer( " @ %clientId @ " ) - there is no client object with that id!" ); + return; + } + + // Build the text: + if ( %player.isSuperAdmin ) + %tag = "SA"; + else if ( %player.isAdmin ) + %tag = "A"; + else if ( %player.isBot ) + %tag = "B"; + else + %tag = " "; + + if ( %player.canListen ) + { + if ( %player.voiceEnabled ) + { + %voiceIcons = "lobby_icon_speak"; + if ( %player.isListening ) + %voiceIcons = %voiceIcons @ ":lobby_icon_listen"; + } + else + %voiceIcons = %player.isListening ? "lobby_icon_listen" : ""; + } + else + %voiceIcons = "shll_icon_timedout"; + + if ( $clTeamCount > 1 ) + { + if ( %player.teamId == 0 ) + %teamName = "Observer"; + else + %teamName = $clTeamScore[%player.teamId, 0] $= "" ? "-" : $clTeamScore[%player.teamId, 0]; + %text = %tag TAB %voiceIcons TAB %player.name TAB %teamName TAB %player.score TAB %player.ping TAB %player.packetLoss; + } + else + %text = %tag TAB %voiceIcons TAB %player.name TAB %player.score TAB %player.ping TAB %player.packetLoss; + + if ( LobbyPlayerList.getRowNumById( %clientId ) == -1 ) + LobbyPlayerList.addRow( %clientId, %text ); + else + LobbyPlayerList.setRowById( %clientId, %text ); + + if ( $InLobby ) + LobbyPlayerList.sort(); +} + +//------------------------------------------------------------------------------ +function lobbyRemovePlayer( %clientId ) +{ + LobbyPlayerList.removeRowById( %clientId ); +} + +//------------------------------------------------------------------------------ +function LobbyPlayerList::onRightMouseDown( %this, %column, %row, %mousePos ) +{ + // Open the action menu: + %clientId = %this.getRowId( %row ); + LobbyPlayerPopup.player = $PlayerList[%clientId]; + + if ( LobbyPlayerPopup.player !$= "" ) + { + LobbyPlayerPopup.position = %mousePos; + Canvas.pushDialog( LobbyPlayerActionDlg ); + LobbyPlayerPopup.forceOnAction(); + } +} + +//------------------------------------------------------------------------------ +function LobbyPlayerActionDlg::onWake( %this ) +{ + LobbyGui.playerDialogOpen = true; + fillPlayerPopupMenu(); +} + +//------------------------------------------------------------------------------ +function LobbyPlayerActionDlg::onSleep( %this ) +{ + LobbyGui.playerDialogOpen = false; +} + +//------------------------------------------------------------------------------ +function LobbyPlayerPopup::onSelect( %this, %id, %text ) +{ +//the id's for these are used in DefaultGame::sendGamePlayerPopupMenu()... +//mute: 1 +//admin: 2 +//kick: 3 +//ban: 4 +//force observer: 5 +//switch team: 6 + + switch( %id ) + { + case 1: // Mute/Unmute + togglePlayerMute(%this.player.clientId); + + case 2: // Admin + MessageBoxYesNo( "CONFIRM", "Are you sure you want to make " @ %this.player.name @ " an admin?", + "lobbyPlayerVote( VoteAdminPlayer, \"ADMIN player\", " @ %this.player.clientId @ " );" ); + + case 3: // Kick + MessageBoxYesNo( "CONFIRM", "Are you sure you want to kick " @ %this.player.name @ "?", + "lobbyPlayerVote( VoteKickPlayer, \"KICK player\", " @ %this.player.clientId @ " );" ); + + case 4: // Ban + MessageBoxYesNo( "CONFIRM", "Are you sure you want to ban " @ %this.player.name @ "?", + "lobbyPlayerVote( BanPlayer, \"BAN player\", " @ %this.player.clientId @ " );" ); + + case 5: // force observer + forceToObserver(%this.player.clientId); + + case 6: //change team 1 + changePlayersTeam(%this.player.clientId, 1); + + case 7: //change team 2 + changePlayersTeam(%this.player.clientId, 2); + + case 8: + adminAddPlayerToGame(%this.player.clientId); + + case 9: // enable/disable voice communication + togglePlayerVoiceCom( %this.player ); + + case 10: + confirmAdminListAdd( %this.player, false ); + + case 11: + confirmAdminListAdd( %this.player, true ); + } + + Canvas.popDialog( LobbyPlayerActionDlg ); +} + +function confirmAdminListAdd( %client, %super ) +{ + if( %super ) + MessageBoxYesNo( "CONFIRM", "Are you sure you want to add " @ %client.name @ " to the server super admin list?", "toSuperList( " @ %client.clientId @ " );" ); + + else + MessageBoxYesNo( "CONFIRM", "Are you sure you want to add " @ %client.name @ " to the server admin list?", "toAdminList( " @ %client.clientId @ " );" ); +} + +function toSuperList( %client ) +{ + commandToServer( 'AddToSuperAdminList', %client ); +} + +function toAdminList( %client ) +{ + commandToServer( 'AddToAdminList', %client ); +} + +//------------------------------------------------------------------------------ +function LobbyPlayerPopup::onCancel( %this ) +{ + Canvas.popDialog( LobbyPlayerActionDlg ); +} + +//------------------------------------------------------------------------------ +function togglePlayerMute(%client) +{ + commandToServer( 'togglePlayerMute', %client ); +} + +//------------------------------------------------------------------------------ +function togglePlayerVoiceCom( %playerRep ) +{ + commandToServer( 'ListenTo', %playerRep.clientId, !%playerRep.voiceEnabled, true ); +} + +//------------------------------------------------------------------------------ +function forceToObserver( %client ) +{ + commandToServer( 'forcePlayerToObserver', %client ); +} + +function AdminAddPlayerToGame(%client) +{ + CommandToServer( 'clientAddToGame', %client ); +} + +//------------------------------------------------------------------------------ +function changePlayersTeam(%client, %team) +{ + commandToServer( 'changePlayersTeam', %client, %team); +} + +//------------------------------------------------------------------------------ +function fillLobbyVoteMenu() +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.tourneyChoose = 0; + commandToServer( 'GetVoteMenu', LobbyVoteMenu.key ); +} + +//------------------------------------------------------------------------------ +function fillLobbyTeamMenu() +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = "team"; + commandToServer( 'GetTeamList', LobbyVoteMenu.key ); + LobbyCancelBtn.setVisible( true ); +} + +//------------------------------------------------------------------------------ +function fillPlayerPopupMenu() +{ + LobbyPlayerPopup.key++; + LobbyPlayerPopup.clear(); + + LobbyPlayerPopup.add(LobbyPlayerPopup.player.name, 0); + commandToServer( 'GetPlayerPopupMenu', LobbyPlayerPopup.player.clientId, LobbyPlayerPopup.key ); +} + +//------------------------------------------------------------------------------ +function fillLobbyMissionTypeMenu() +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = "type"; + commandToServer( 'GetMissionTypes', LobbyVoteMenu.key ); + LobbyCancelBtn.setVisible( true ); +} + +//------------------------------------------------------------------------------ +function fillLobbyMissionMenu( %type, %typeName ) +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = "mission"; + LobbyVoteMenu.missionType = %type; + LobbyVoteMenu.typeName = %typeName; + commandToServer( 'GetMissionList', LobbyVoteMenu.key, %type ); +} + +//------------------------------------------------------------------------------ +function fillLobbyTimeLimitMenu() +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = "timeLimit"; + commandToServer( 'GetTimeLimitList', LobbyVoteMenu.key ); + LobbyCancelBtn.setVisible( true ); +} + +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgVoteItem', handleVoteItemMessage ); +addMessageCallback( 'MsgPlayerPopupItem', handlePlayerPopupMessage ); +addMessageCallback( 'MsgVotePassed', handleVotePassedMessage ); +addMessageCallback( 'MsgVoteFailed', handleVoteFailedMessage ); +addMessageCallback( 'MsgAdminPlayer', handleAdminPlayerMessage ); +addMessageCallback( 'MsgAdminAdminPlayer', handleAdminAdminPlayerMessage ); +addMessageCallback( 'MsgSuperAdminPlayer', handleSuperAdminPlayerMessage ); +addMessageCallback( 'MsgAdminForce', handleAdminForceMessage ); + +//------------------------------------------------------------------------------ +function handleAdminForceMessage() +{ + alxPlay(AdminForceSound, 0, 0, 0); +} + +//------------------------------------------------------------------------------ +function handleAdminAdminPlayerMessage( %msgType, %msgString, %client ) +{ + %player = $PlayerList[%client]; + if(%player) + %player.isAdmin = true; + alxPlay(AdminForceSound, 0, 0, 0); +} + +//------------------------------------------------------------------------------ +function handleAdminPlayerMessage( %msgType, %msgString, %client ) +{ + %player = $PlayerList[%client]; + if(%player) + %player.isAdmin = true; + alxPlay(VotePassSound, 0, 0, 0); +} + +//------------------------------------------------------------------------------ +function handleSuperAdminPlayerMessage( %msgType, %msgString, %client ) +{ + %player = $PlayerList[%client]; + if(%player) + { + %player.isSuperAdmin = true; + %player.isAdmin = true; + } + alxPlay(AdminForceSound, 0, 0, 0); +} + +//------------------------------------------------------------------------------ +function handleVoteItemMessage( %msgType, %msgString, %key, %voteName, %voteActionMsg, %voteText, %sort ) +{ + if ( %key != LobbyVoteMenu.key ) + return; + + %index = LobbyVoteMenu.rowCount(); + LobbyVoteMenu.addRow( %index, detag( %voteText ) ); + if ( %sort ) + LobbyVoteMenu.sort( 0 ); + $clVoteCmd[%index] = detag( %voteName ); + $clVoteAction[%index] = detag( %voteActionMsg ); +} + +//------------------------------------------------------------------------------ +function handlePlayerPopupMessage( %msgType, %msgString, %key, %voteName, %voteActionMsg, %voteText, %popupEntryId ) +{ + if ( %key != LobbyPlayerPopup.key ) + return; + + LobbyPlayerPopup.add( " " @ detag( %voteText ), %popupEntryId ); +} + +//------------------------------------------------------------------------------ +function handleVotePassedMessage( %msgType, %msgString, %voteName, %voteText ) +{ + if ( $InLobby ) + fillLobbyVoteMenu(); + + alxPlay(VotePassSound, 0, 0, 0); +} + +//------------------------------------------------------------------------------ +function handleVoteFailedMessage( %msgType, %msgString, %voteName, %voteText ) +{ + if ( $InLobby ) + fillLobbyVoteMenu(); + + alxPlay(VoteNotPassSound, 0, 0, 0); +} + +//------------------------------------------------------------------------------ +function lobbyVote() +{ + %id = LobbyVoteMenu.getSelectedId(); + %text = LobbyVoteMenu.getRowTextById( %id ); + + switch$ ( LobbyVoteMenu.mode ) + { + case "": // Default case... + // Test for special cases: + switch$ ( $clVoteCmd[%id] ) + { + case "JoinGame": + CommandToServer( 'clientJoinGame' ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "ChooseTeam": + commandToServer( 'ClientJoinTeam', -1, true ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "VoteTournamentMode": + LobbyVoteMenu.tourneyChoose = 1; + fillLobbyMissionTypeMenu(); + return; + + case "VoteMatchStart": + startNewVote( "VoteMatchStart" ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "MakeObserver": + commandToServer( 'ClientMakeObserver' ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "VoteChangeMission": + fillLobbyMissionTypeMenu(); + return; + + case "VoteChangeTimeLimit": + fillLobbyTimeLimitMenu(); + return; + + case "Addbot": + commandToServer( 'addBot' ); + return; + } + + case "team": + commandToServer( 'ClientJoinTeam', %id++ ); + LobbyVoteMenu.reset(); + return; + + case "type": + fillLobbyMissionMenu( $clVoteCmd[%id], %text ); + return; + + case "mission": + if( !LobbyVoteMenu.tourneyChoose ) + { + startNewVote( "VoteChangeMission", + %text, // Mission display name + LobbyVoteMenu.typeName, // Mission type display name + $clVoteCmd[%id], // Mission id + LobbyVoteMenu.missionType ); // Mission type id + } + else + { + startNewVote( "VoteTournamentMode", + %text, // Mission display name + LobbyVoteMenu.typeName, // Mission type display name + $clVoteCmd[%id], // Mission id + LobbyVoteMenu.missionType ); // Mission type id + LobbyVoteMenu.tourneyChoose = 0; + } + LobbyVoteMenu.reset(); + return; + + case "timeLimit": + startNewVote( "VoteChangeTimeLimit", $clVoteCmd[%id] ); + LobbyVoteMenu.reset(); + return; + } + + startNewVote( $clVoteCmd[%id], $clVoteAction[%id] ); + fillLobbyVoteMenu(); +} + +//------------------------------------------------------------------------------ +function LobbyVoteMenu::reset( %this ) +{ + %this.mode = ""; + %this.tourneyChoose = 0; + LobbyCancelBtn.setVisible( false ); + fillLobbyVoteMenu(); +} + +//------------------------------------------------------------------------------ +function lobbyPlayerVote(%voteType, %actionMsg, %playerId) +{ + startNewVote(%voteType, %playerId, 0, 0, 0, true); + fillLobbyVoteMenu(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/OptionsDlg.cs b/public/base/@vl2/scripts.vl2/scripts/OptionsDlg.cs new file mode 100644 index 00000000..59cbb998 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/OptionsDlg.cs @@ -0,0 +1,2644 @@ +//------------------------------------------------------------------------------ +// +// OptionsDlg.cs +// +//------------------------------------------------------------------------------ +$max_screenerror = 25; +$min_TSScreenError = 2; +$max_TSScreenError = 20; +$min_TSDetailAdjust = 0.6; +$max_TSDetailAdjust = 1.0; +//------------------------------------------------------------------------------ +function OptionsDlg::onWake( %this ) +{ + OP_VideoPane.setVisible( false ); + OP_GraphicsPane.setVisible( false ); + OP_TexturesPane.setVisible( false ); + OP_SoundPane.setVisible( false ); + OP_VoicePane.setVisible( false ); + OP_ControlsPane.setVisible( false ); + OP_NetworkPane.setVisible( false ); + OP_GamePane.setVisible( false ); + + OP_VideoTab.setValue( false ); + OP_GraphicsTab.setValue( false ); + OP_TexturesTab.setValue( false ); + OP_SoundTab.setValue( false ); + OP_VoiceTab.setValue( false ); + OP_ControlsTab.setValue( false ); + OP_NetworkTab.setValue( false ); + OP_GameTab.setValue( false ); + + // Initialize the Video Pane controls: + // First the Video Driver menu: + %buffer = getDisplayDeviceList(); + %count = getFieldCount( %buffer ); + for ( %i = 0; %i < %count; %i++ ) + OP_VideoDriverMenu.add( getField( %buffer, %i ), %i ); + + // Select the current device: + OP_FullScreenTgl.setValue( $pref::Video::fullScreen ); + + %selId = OP_VideoDriverMenu.findText( $pref::Video::displayDevice ); + if ( %selId == -1 ) + %selId = 0; // How did THAT happen? + OP_VideoDriverMenu.setSelected( %selId ); + OP_VideoDriverMenu.onSelect( %selId, "" ); + OP_FullScreenTgl.onAction(); + + OP_ApplyBtn.setActive( false ); + + // Initialize the Graphics Options controls: + OptionsDlg::deviceDependent( %this ); + + // Radeon cards don't switch color depth good until they release their beta drivers which fix this problem. + if( $RadeonRenderer == true ) + OP_BPPMenu.setActive( false ); + + OP_GammaSlider.setValue( $pref::OpenGL::gammaCorrection ); + OP_GammaSlider.setActive( $Video::setGammaCorrectionSupported ); + + OP_TerrainSlider.setValue( $max_screenerror - $pref::Terrain::screenError ); + OP_ShapeSlider.setValue( ( $max_TSScreenError - $pref::TS::screenError ) / ( $max_TSScreenError - $min_TSScreenError ) ); + OP_ShadowSlider.setValue( $pref::Shadows ); + OP_InteriorDetailSlider.setValue( $pref::Interior::detailAdjust ); + OP_VisibleDistanceSlider.setValue( $pref::VisibleDistanceMod ); + OP_ParticleDensitySlider.setValue( 4.0 - $pref::ParticleDensity ); + OP_DynamicLightSlider.setValue( 100 - $pref::Interior::DynamicLightsClipPix ); + updateDynamicLightSliderState(); + OP_SkyDetailMenu.init(); + if ( !$pref::SkyOn ) + %selId = 5; + else if ( $pref::numCloudLayers >= 0 && $pref::numCloudLayers < 4 ) + %selId = 4 - $pref::numCloudLayers; + else + %selId = 1; + OP_SkyDetailMenu.setSelected( %selId ); + OP_SkyDetailMenu.setText( OP_SkyDetailMenu.getTextById( %selId ) ); + OP_PlayerRenderMenu.init(); + %selId = $pref::Player::renderMyPlayer | ( $pref::Player::renderMyItems << 1 ); + OP_PlayerRenderMenu.setSelected( %selId ); + OP_VertexLightTgl.setValue( $pref::Interior::VertexLighting ); + + // Initialize the Textures Options controls: + OP_TerrainTexSlider.setValue( 6 - $pref::Terrain::texDetail ); + + // We're using the noDrawArraysAlpha variable here because we've already + // gone gold (hard to add a new profiling variable). But the Voodoo2/3/3500 + // cards that have the 256x256 texture limitation (in OpenGL) also have the + // noDrawArraysAlpha hack on...so that works out nice + %mipRange = $pref::OpenGL::noDrawArraysAlpha ? 4.0 : 5.0; + OP_ShapeTexSlider.setValue( (5 - $pref::OpenGL::mipReduction) / %mipRange ); + OP_BuildingTexSlider.setValue( (5 - $pref::OpenGL::interiorMipReduction) / %mipRange ); + OP_SkyTexSlider.setValue( (5 - $pref::OpenGL::skyMipReduction) / %mipRange ); + if ( !isDemo() ) + OP_HiResSkinTgl.setValue( $pref::use512PlayerSkins ); + + // Initialize the Sound Options controls: + // provider menu + %count = alxGetContexti(ALC_PROVIDER_COUNT); + for(%i = 0; %i < %count; %i++) + OP_AudioProviderMenu.add(alxGetContextstr(ALC_PROVIDER_NAME, %i), %i); + %selId = alxGetContexti(ALC_PROVIDER); + OP_AudioProviderMenu.setSelected(%selId); + OP_AudioResetProvider.setActive(false); + + // environment provider: disable and uncheck if not an environment provider + %envProvider = audioIsEnvironmentProvider(alxGetContextstr(ALC_PROVIDER_NAME, %selId)); + + if(!%envProvider) + OP_AudioEnvironmentTgl.setValue(false); + OP_AudioEnvironmentTgl.setActive(%envProvider); + + // speaker menu + %count = alxGetContexti(ALC_SPEAKER_COUNT); + for(%i = 0; %i < %count; %i++) + OP_AudioSpeakerMenu.add(alxGetContextstr(ALC_SPEAKER_NAME, %i), %i); + %selId = alxGetContexti(ALC_SPEAKER); + OP_AudioSpeakerMenu.setSelected(%selId); + OP_AudioSpeakerMenu.onSelect(%selId, ""); + + OP_AudioFrequencyMenu.init(); + OP_AudioBitRateMenu.init(); + OP_AudioChannelsMenu.init(); + + // don't allow changing of of mixer settings while in a game... + %active = !isObject(ServerConnection); + OP_AudioFrequencyMenu.setActive(%active); + // Changing these audio settings doesn't help Linux performance + if ( $platform $= "linux" ) + { + OP_AudioBitRateMenu.setActive(false); + OP_AudioChannelsMenu.setActive(false); + } + else + { + OP_AudioBitRateMenu.setActive(%active); + OP_AudioChannelsMenu.setActive(%active); + } + + // only allow for disable + if(!%active) + OP_AudioEnvironmentTgl.setActive(%active); + + OP_AudioProviderMenu.setActive(%active); + OP_AudioSpeakerMenu.setActive(%active); + + OP_MasterVolumeSlider.setValue( $pref::Audio::masterVolume ); + OP_EffectsVolumeSlider.setValue( $pref::Audio::effectsVolume ); + OP_VoiceBindVolumeSlider.setValue( $pref::Audio::radioVolume ); + OP_GuiVolumeSlider.setValue( $pref::Audio::guiVolume ); + OP_MusicTgl.onAction(); + OP_MusicVolumeSlider.setValue( $pref::Audio::musicVolume ); + + // Initialize the Voice Settings controls: + OP_MicrophoneEnabledTgl.onAction(); + OP_MicrophoneVolumeSlider.setValue( $pref::Audio::voiceVolume ); + OP_InputBoostSlider.setValue( $pref::Audio::captureGainScale ); + OP_VoiceListenMenu.init(); + OP_VoiceSendMenu.init(); + OP_VoiceCodecInfo.init(); + updateInputBoost(); + + // Initialize the Control Options controls: + OP_ControlGroupMenu.init(); + + if ( isJoystickDetected() ) + { + OP_JoystickTgl.setValue( $pref::Input::JoystickEnabled ); + OP_JoystickTgl.setActive( true ); + OP_ConfigureJoystickBtn.setActive( $pref::Input::JoystickEnabled ); + } + else + { + OP_JoystickTgl.setValue( false ); + OP_JoystickTgl.setActive( false ); + $pref::Input::JoystickEnabled = false; + OP_ConfigureJoystickBtn.setActive( false ); + } + + // Initialize the Network Options controls: + OP_NetworkDisplayHud.init(); + if( !OP_NetworkPresetsMenu.size() ) + OP_NetworkPresetsMenu.init(); + OP_PacketRateSlider.setValue( $pref::Net::PacketRateToClient ); + OP_PacketSizeSlider.setValue( $pref::Net::PacketSize ); + OP_UpdateRateSlider.setValue( $pref::Net::PacketRateToServer ); + if ( !OP_MasterServerMenu.size() ) + OP_MasterServerMenu.init(); + %selId = OP_MasterServerMenu.findText( $pref::Net::DisplayOnMaster ); + if ( %selId == -1 ) + %selId = 1; + OP_MasterServerMenu.setSelected( %selId ); + if ( !OP_RegionMenu.size() ) + OP_RegionMenu.init(); + OP_RegionMenu.setSelected( $pref::Net::RegionMask ); + + // Initialize the Game Options controls: + OP_ZoomSpeedSlider.setValue( 500 - $pref::Player::zoomSpeed ); + OP_LaunchScreenMenu.init(); + + %selId = OP_LaunchScreenMenu.findText( $pref::Shell::LaunchGui ); + if ( %selId == -1 ) + %selId = 1; + OP_LaunchScreenMenu.setText( OP_LaunchScreenMenu.getTextById( %selId ) ); + OP_LaunchScreenMenu.setSelected( %selId ); + + // Hide controls that are not relevant to the demo: + if ( isDemo() ) + { + OP_MasterServerTxt.setVisible( false ); + OP_MasterServerMenu.setVisible( false ); + OP_CheckEmailTgl.setVisible( false ); + OP_ChatDisconnectTgl.setVisible( false ); + OP_EditChatMenuBtn.setVisible( false ); + OP_LaunchScreenTxt.setVisible( false ); + OP_LaunchScreenMenu.setVisible( false ); + } + + %this.setPane( %this.pane ); +} + +//------------------------------------------------------------------------------ +function OptionsDlg::deviceDependent( %this ) +{ + if ( $SwapIntervalSupported ) + { + OP_VSyncTgl.setValue( $pref::Video::disableVerticalSync ); + OP_VSyncTgl.setActive( true ); + } + else + { + OP_VSyncTgl.setValue( false ); + OP_VSyncTgl.setActive( false ); + } + + if ( isDemo() ) + { + OP_TexQualityMenu.setText( "Palletized" ); + OP_TexQualityMenu.setActive( false ); + } + else + { + OP_TexQualityMenu.init(); + if ( $pref::OpenGL::forcePalettedTexture ) + { + $pref::OpenGL::force16bittexture = false; + %selId = 1; + } + else if ( $pref::OpenGL::force16bittexture ) + %selId = 2; + else + %selId = 3; + OP_TexQualityMenu.setSelected( %selId ); + } + + OP_CompressMenu.init(); + if ( $TextureCompressionSupported && !$pref::OpenGL::disableARBTextureCompression ) + { + OP_CompressLabel.setVisible( true ); + OP_CompressLabel_Disabled.setVisible( false ); + OP_CompressMenu.setActive( true ); + if ( !$pref::OpenGL::allowCompression ) + OP_CompressMenu.setSelected( 1 ); + else if ( $pref::OpenGL::compressionHint $= "GL_NICEST" ) + OP_CompressMenu.setSelected( 3 ); + else + OP_CompressMenu.setSelected( 2 ); + } + else + { + OP_CompressLabel_Disabled.setVisible( true ); + OP_CompressLabel.setVisible( false ); + OP_CompressMenu.setActive( false ); + OP_CompressMenu.setText( "None" ); + } + + if ( $FogCoordSupported ) + { + OP_IntTexturedFogTgl.setValue( $pref::Interior::TexturedFog ); + OP_IntTexturedFogTgl.setActive( true ); + } + else + { + OP_IntTexturedFogTgl.setValue( true ); + OP_IntTexturedFogTgl.setActive( false ); + } + + OP_AnisotropySlider.setValue( $pref::OpenGL::anisotropy ); + OP_AnisotropySlider.setActive( $AnisotropySupported ); + if ( $AnisotropySupported ) + { + OP_AnisotropyLabel.setVisible( true ); + OP_AnisotropyLabel_Disabled.setVisible( false ); + } + else + { + OP_AnisotropyLabel_Disabled.setVisible( true ); + OP_AnisotropyLabel.setVisible( false ); + } + + OP_EnvMapTgl.setValue($pref::environmentMaps); + OP_EnvMapTgl.setActive($pref::OpenGL::allowTexGen); +} + +//------------------------------------------------------------------------------ +function OptionsDlg::onSleep( %this ) +{ + OP_VideoDriverMenu.clear(); + OP_ResMenu.clear(); + OP_BPPMenu.clear(); + OP_AudioProviderMenu.clear(); + OP_AudioSpeakerMenu.clear(); + OP_NetworkDisplayHud.uninit(); + + if ( %this.resetAudio ) + { + echo( "Resetting the audio driver..." ); + audioSetDriver( "none" ); + audioSetDriver( $pref::Audio::activeDriver ); + %this.resetAudio = ""; + + // Play the shell hum: (all sources are gone) + if($HudHandle[shellScreen] $= "") + alxStop($HudHandle[shellScreen]); + + $HudHandle[shellScreen] = alxPlay(ShellScreenHumSound, 0, 0, 0); + } + + if ( isObject( ServerConnection ) && isTextureFlushRequired() ) + MessageBoxYesNo( "WARNING", "You have made changes that require Tribes 2 to flush the texture cache. " + @ "Doing this while the game is running can take a long time. " + @ "Do you wish to continue?", + "OptionsDlg.saveSettings();", "returnFromSettings();" ); + else + %this.saveSettings(); +} + +//------------------------------------------------------------------------------ +function isTextureFlushRequired() +{ + if ( $pref::Interior::VertexLighting != OP_VertexLightTgl.getValue() ) + return( true ); + + // We're using the noDrawArraysAlpha variable here because we've already + // gone gold (hard to add a new profiling variable). But the Voodoo2/3/3500 + // cards that have the 256x256 texture limitation (in OpenGL) also have the + // noDrawArraysAlpha hack on...so that works out nice + %mipRange = $pref::OpenGL::noDrawArraysAlpha ? 4 : 5; + if ( $pref::OpenGL::mipReduction != 5 - mFloor( OP_ShapeTexSlider.getValue() * %mipRange ) ) + return( true ); + + if ( $pref::OpenGL::interiorMipReduction != 5 - mFloor( OP_BuildingTexSlider.getValue() * %mipRange ) ) + return( true ); + + if ( $pref::OpenGL::skyMipReduction != 5 - mFloor( OP_SkyTexSlider.getValue() * %mipRange ) ) + return( true ); + + if ( $AnisotropySupported && $pref::OpenGL::anisotropy != OP_AnisotropySlider.getValue() ) + return( true ); + + if ( !isDemo() ) + { + %id = OP_TexQualityMenu.getSelected(); + if ( $pref::OpenGL::forcePalettedTexture ) + { + if ( %id != 1 ) + return( true ); + } + else if ( $pref::OpenGL::force16bittexture ) + { + if ( %id != 2 ) + return( true ); + } + else if ( %id != 3 ) + return( true ); + } + + if ( $TextureCompressionSupported && !$pref::OpenGL::disableARBTextureCompression ) + { + %id = OP_CompressMenu.getSelected(); + if ( $pref::OpenGL::allowCompression ) + { + if ( $pref::OpenGL::compressionHint $= "GL_FASTEST" ) + { + if ( %id != 2 ) + return( true ); + } + else if ( $pref::OpenGL::compressionHint $= "GL_NICEST" ) + { + if ( %id != 3 ) + return( true ); + } + else if ( %id == 1 ) + return( true ); + } + else if ( %id > 1 ) + return( true ); + } + + return( false ); +} + +//------------------------------------------------------------------------------ +function returnFromSettings() +{ + // to unpause singlePlayerGame when returning from options + if ( isObject( Game ) ) + Game.OptionsDlgSleep(); +} + +//------------------------------------------------------------------------------ +function OptionsDlg::saveSettings( %this ) +{ + // Save off any prefs that don't auto-update: + %flushTextures = false; + + if ( $SwapIntervalSupported && OP_VSyncTgl.getValue() != $pref::Video::disableVerticalSync ) + { + $pref::Video::disableVerticalSync = OP_VSyncTgl.getValue(); + setVerticalSync( !$pref::Video::disableVerticalSync ); + } + + %temp = OP_SkyDetailMenu.getSelected(); + if ( %temp == 5 ) + $pref::SkyOn = false; + else + { + $pref::SkyOn = true; + $pref::numCloudLayers = ( 4 - %temp ); + } + + if ( $FogCoordSupported ) + $pref::Interior::TexturedFog = OP_IntTexturedFogTgl.getValue(); + + if ( $pref::Interior::VertexLighting != OP_VertexLightTgl.getValue() ) + { + $pref::Interior::VertexLighting = OP_VertexLightTgl.getValue(); + %flushTextures = true; + } + + %temp = OP_PlayerRenderMenu.getSelected(); + $pref::Player::renderMyPlayer = %temp & 1; + $pref::Player::renderMyItems = %temp & 2; + + if ( !isDemo() ) + { + switch ( OP_TexQualityMenu.getSelected() ) + { + case 1: // 8-bit + if ( !$pref::OpenGL::forcePalettedTexture || $pref::OpenGL::force16bittexture ) + { + $pref::OpenGL::forcePalettedTexture = true; + $pref::OpenGL::force16bittexture = false; + %flushTextures = true; + } + case 2: // 16-bit + if ( $pref::OpenGL::forcePalettedTexture || !$pref::OpenGL::force16bittexture ) + { + $pref::OpenGL::forcePalettedTexture = false; + $pref::OpenGL::force16bittexture = true; + %flushTextures = true; + } + case 3: // 32-bit + if ( $pref::OpenGL::forcePalettedTexture || $pref::OpenGL::force16bittexture ) + { + $pref::OpenGL::forcePalettedTexture = false; + $pref::OpenGL::force16bittexture = false; + %flushTextures = true; + } + } + OP_TexQualityMenu.clear(); + } + + $pref::Terrain::texDetail = 6 - mFloor( OP_TerrainTexSlider.getValue() ); + + // We're using the noDrawArraysAlpha variable here because we've already + // gone gold (hard to add a new profiling variable). But the Voodoo2/3/3500 + // cards that have the 256x256 texture limitation (in OpenGL) also have the + // noDrawArraysAlpha hack on...so that works out nice + %mipRange = $pref::OpenGL::noDrawArraysAlpha ? 4 : 5; + + %temp = 5 - mFloor( OP_ShapeTexSlider.getValue() * %mipRange ); + if ( $pref::OpenGL::mipReduction != %temp ) + { + $pref::OpenGL::mipReduction = %temp; + setOpenGLMipReduction( $pref::OpenGL::mipReduction ); + %flushTextures = true; + } + + %temp = 5 - mFloor( OP_BuildingTexSlider.getValue() * %mipRange ); + if ( $pref::OpenGL::interiorMipReduction != %temp ) + { + $pref::OpenGL::interiorMipReduction = %temp; + setOpenGLInteriorMipReduction( $pref::OpenGL::interiorMipReduction ); + %flushTextures = true; + } + + %temp = 5 - mFloor( OP_SkyTexSlider.getValue() * %mipRange ); + if ( $pref::OpenGL::skyMipReduction != %temp ) + { + $pref::OpenGL::skyMipReduction = %temp; + setOpenGLSkyMipReduction( $pref::OpenGL::skyMipReduction ); + %flushTextures = true; + } + + if ( $TextureCompressionSupported && !$pref::OpenGL::disableARBTextureCompression ) + { + %temp = OP_CompressMenu.getSelected(); + if ( $pref::OpenGL::allowCompression ) + { + switch ( %temp ) + { + case 2: + if ( $pref::OpenGL::compressionHint !$= "GL_FASTEST" ) + { + $pref::OpenGL::compressionHint = "GL_FASTEST"; + setOpenGLTextureCompressionHint( $pref::OpenGL::compressionHint ); + %flushTextures = true; + } + + case 3: + if ( $pref::OpenGL::compressionHint !$= "GL_NICEST" ) + { + $pref::OpenGL::compressionHint = "GL_NICEST"; + setOpenGLTextureCompressionHint( $pref::OpenGL::compressionHint ); + %flushTextures = true; + } + + default: // None + $pref::OpenGL::allowCompression = false; + %flushTextures = true; + } + } + else if ( %temp > 1 ) + { + $pref::OpenGL::allowCompression = true; + if ( %temp == 3 ) + $pref::OpenGL::compressionHint = "GL_NICEST"; + else + $pref::OpenGL::compressionHint = "GL_FASTEST"; + setOpenGLTextureCompressionHint( $pref::OpenGL::compressionHint ); + %flushTextures = true; + } + } + OP_CompressMenu.clear(); + + if ( $AnisotropySupported ) + { + %temp = OP_AnisotropySlider.getValue(); + if ( $pref::OpenGL::anisotropy != %temp ) + { + $pref::OpenGL::anisotropy = %temp; + setOpenGLAnisotropy( $pref::OpenGL::anisotropy ); + %flushTextures = true; + } + } + + if ( !isDemo() ) + { + if ( OP_HiResSkinTgl.getValue() != $pref::use512PlayerSkins ) + { + $pref::use512PlayerSkins = OP_HiResSkinTgl.getValue(); + if ( Canvas.getContent() == GameGui.getId() && GM_WarriorPane.isVisible() ) + GMW_PlayerModel.update(); + } + } + + $pref::Terrain::screenError = $max_screenerror - mFloor( OP_TerrainSlider.getValue() ); + $pref::TS::screenError = $max_TSScreenError - mFloor( OP_ShapeSlider.getValue() * ( $max_TSScreenError - $min_TSScreenError ) ); + $pref::TS::detailAdjust = $min_TSDetailAdjust + OP_ShapeSlider.getValue() * ( $max_TSDetailAdjust - $min_TSDetailAdjust ); + $pref::Shadows = OP_ShadowSlider.getValue(); + $pref::ParticleDensity = 4.0 - OP_ParticleDensitySlider.getValue(); + %val = 100 - OP_DynamicLightSlider.getValue(); + $pref::Interior::DynamicLightsClipPix = $pref::Terrain::DynamicLightsClipPix = %val; + $pref::Interior::DynamicLightsFadePix = $pref::Terrain::DynamicLightsFadePix = 2 * %val; + setShadowDetailLevel( $pref::Shadows ); + $pref::Interior::detailAdjust = OP_InteriorDetailSlider.getValue(); + $pref::VisibleDistanceMod = OP_VisibleDistanceSlider.getValue(); + + $pref::Audio::musicVolume = OP_MusicVolumeSlider.getValue(); + $pref::Audio::masterVolume = OP_MasterVolumeSlider.getValue(); + $pref::Audio::effectsVolume = OP_EffectsVolumeSlider.getValue(); + alxSetChannelVolume( $EffectAudioType, $pref::Audio::effectsVolume ); + $pref::Audio::voiceVolume = OP_MicrophoneVolumeSlider.getValue(); + alxSetChannelVolume( $VoiceAudioType, $pref::Audio::voiceVolume ); + $pref::Audio::radioVolume = OP_VoiceBindVolumeSlider.getValue(); + alxSetChannelVolume( $ChatAudioType, $pref::Audio::radioVolume ); + $pref::Audio::guiVolume = OP_GuiVolumeSlider.getValue(); + alxSetChannelVolume( $GuiAudioType, $pref::Audio::guiVolume); + $pref::Audio::captureGainScale = OP_InputBoostSlider.getValue(); + if ( !$missionRunning ) + MusicPlayer.stop(); + + if ( $pref::Audio::enableVoiceCapture ) + { + %reinit = false; + %selId = OP_VoiceListenMenu.getSelected(); + if ( $pref::Audio::decodingMask != %selId ) + { + $pref::Audio::decodingMask = %selId; + %reinit = true; + } + + %selId = OP_VoiceSendMenu.getSelected(); + if ( $pref::Audio::encodingLevel != %selId ) + { + $pref::Audio::encodingLevel = %selId; + %reinit = true; + } + + if ( %reinit ) + { + alxCaptureDestroy(); + alxCaptureInit(); + + // If in a game, let the server know about the altered settings: + if ( isObject( ServerConnection ) ) + commandToServer( 'SetVoiceInfo', $pref::Audio::voiceChannels, $pref::Audio::decodingMask, $pref::Audio::encodingLevel ); + } + } + + updateNetworkSettings(); + + $pref::Player::zoomSpeed = 500 - mFloor( OP_ZoomSpeedSlider.getValue() ); + setZoomSpeed( $pref::Player::zoomSpeed ); + + $pref::Shell::LaunchGui = OP_LaunchScreenMenu.getText(); + + export( "$pref::*", "prefs/ClientPrefs.cs", false ); + saveActiveMapFile(); + + if ( %flushTextures ) + { + // Give the Options Dialog a chance to go away: + OptionsDlg.schedule( 0, doTextureFlush ); + } + + returnFromSettings(); +} + +//------------------------------------------------------------------------------ +function OptionsDlg::doTextureFlush( %this ) +{ + MessagePopup( "PLEASE WAIT", "Flushing texture cache...\nThis may take a while" ); + Canvas.repaint(); + flushTextureCache(); + CloseMessagePopup(); +} + +//------------------------------------------------------------------------------ +function OptionsDlg::setPane( %this, %pane ) +{ + if((%this.pane $= "Sound") && !$missionRunning) + MusicPlayer.stop(); + + if ( %this.pane !$= "None" ) + { + %paneCtrl = "OP_" @ %this.pane @ "Pane"; + %paneCtrl.setVisible( false ); + + %tabCtrl = "OP_" @ %this.pane @ "Tab"; + %tabCtrl.setValue( false ); + } + + %paneCtrl = "OP_" @ %pane @ "Pane"; + %paneCtrl.setVisible( true ); + + %tabCtrl = "OP_" @ %pane @ "Tab"; + %tabCtrl.setValue( true ); + + %this.pane = %pane; +} + +//------------------------------------------------------------------------------ +function OptionsDlg::applyGraphicChanges( %this ) +{ + %newDriver = OP_VideoDriverMenu.getText(); + %newRes = OP_ResMenu.getText(); + %newBpp = OP_BPPMenu.getText(); + %newFullScreen = OP_FullScreenTgl.getValue(); + + if ( %newDriver !$= $pref::Video::displayDevice ) + { + setDisplayDevice( %newDriver, firstWord( %newRes ), getWord( %newRes, 1 ), %newBpp, %newFullScreen ); + OptionsDlg::deviceDependent( %this ); + } + else + setScreenMode( firstWord( %newRes ), getWord( %newRes, 1 ), %newBpp, %newFullScreen ); + + OP_ApplyBtn.updateState(); +} + + +//------------------------------------------------------------------------------ +function OP_VideoDriverMenu::onSelect( %this, %id, %text ) +{ + // Attempt to keep the same res and bpp settings: + if ( OP_ResMenu.size() > 0 ) + %prevRes = OP_ResMenu.getText(); + else + %prevRes = getWords( $pref::Video::resolution, 0, 1 ); + + // Check if this device is full-screen only: + if ( isDeviceFullScreenOnly( %this.getText() ) ) + { + OP_FullScreenTgl.setValue( true ); + OP_FullScreenTgl.setActive( false ); + OP_FullScreenTgl.onAction(); + } + else + OP_FullScreenTgl.setActive( true ); + + if ( OP_FullScreenTgl.getValue() ) + { + if ( OP_BPPMenu.size() > 0 ) + %prevBPP = OP_BPPMenu.getText(); + else + %prevBPP = getWord( $pref::Video::resolution, 2 ); + } + + // Fill the resolution and bit depth lists: + OP_ResMenu.init( %this.getText(), OP_FullScreenTgl.getValue() ); + OP_BPPMenu.init( %this.getText() ); + + // Try to select the previous settings: + %selId = OP_ResMenu.findText( %prevRes ); + if ( %selId == -1 ) + %selId = 0; + OP_ResMenu.setSelected( %selId ); + + if ( OP_FullScreenTgl.getValue() ) + { + %selId = OP_BPPMenu.findText( %prevBPP ); + if ( %selId == -1 ) + %selId = 0; + OP_BPPMenu.setSelected( %selId ); + OP_BPPMenu.setText( OP_BPPMenu.getTextById( %selId ) ); + } + else + OP_BPPMenu.setText( "Default" ); + + OP_ApplyBtn.updateState(); +} + +//------------------------------------------------------------------------------ +function OP_ResMenu::init( %this, %device, %fullScreen ) +{ + %this.clear(); + %resList = getResolutionList( %device ); + %resCount = getFieldCount( %resList ); + %deskRes = getDesktopResolution(); + %count = 0; + for ( %i = 0; %i < %resCount; %i++ ) + { + %res = getWords( getField( %resList, %i ), 0, 1 ); + + if ( !%fullScreen ) + { + if ( firstWord( %res ) >= firstWord( %deskRes ) ) + continue; + if ( getWord( %res, 1 ) >= getWord( %deskRes, 1 ) ) + continue; + } + + // Only add to list if it isn't there already: + if ( %this.findText( %res ) == -1 ) + { + %this.add( %res, %count ); + %count++; + } + } +} + +//------------------------------------------------------------------------------ +function OP_ResMenu::onSelect( %this, %id, %text ) +{ + OP_ApplyBtn.updateState(); +} + +//------------------------------------------------------------------------------ +function OP_BPPMenu::init( %this, %device ) +{ + %this.clear(); + + if ( %device $= "Voodoo2" ) + %this.add( "16", 0 ); + else + { + %resList = getResolutionList( %device ); + %resCount = getFieldCount( %resList ); + %count = 0; + for ( %i = 0; %i < %resCount; %i++ ) + { + %bpp = getWord( getField( %resList, %i ), 2 ); + + // Only add to list if it isn't there already: + if ( %this.findText( %bpp ) == -1 ) + { + %this.add( %bpp, %count ); + %count++; + } + } + } +} + +//------------------------------------------------------------------------------ +function OP_BPPMenu::onSelect( %this, %id, %text ) +{ + OP_ApplyBtn.updateState(); +} + +//------------------------------------------------------------------------------ +function OP_FullScreenTgl::onAction( %this ) +{ + // Attempt to maintain current settings: + %selId = OP_ResMenu.getSelected(); + if ( %selId == -1 ) + %selId = 0; + %prevRes = OP_ResMenu.getTextById( %selId ); + + OP_ResMenu.init( OP_VideoDriverMenu.getText(), %this.getValue() ); + + %selId = OP_ResMenu.findText( %prevRes ); + if ( %selId == -1 ) + %selId = 0; + OP_ResMenu.setSelected( %selId ); + + if ( %this.getValue() ) + { + %selId = OP_BPPMenu.findText( getWord( $pref::Video::resolution, 2 ) ); + if ( %selId == - 1 ) + %selId = 0; + OP_BPPMenu.setSelected( %selId ); + OP_BPPMenu.setText( OP_BPPMenu.getTextById( %selId ) ); + OP_BPPMenu.setActive( true ); + } + else + { + OP_BPPMenu.setText( "Default" ); + OP_BPPMenu.setActive( false ); + } + + OP_ApplyBtn.updateState(); +} + +//------------------------------------------------------------------------------ +function OP_ApplyBtn::updateState( %this ) +{ + %active = false; + + if ( OP_VideoDriverMenu.getText() !$= $pref::Video::displayDevice ) + %active = true; + else if ( OP_ResMenu.getText() !$= getWords( $pref::Video::resolution, 0, 1 ) ) + %active = true; + else if ( OP_FullScreenTgl.getValue() != $pref::Video::fullScreen ) + %active = true; + else if ( OP_FullScreenTgl.getValue() ) + { + if ( OP_BPPMenu.getText() !$= getWord( $pref::Video::resolution, 2 ) ) + %active = true; + } + + %this.setActive( %active ); +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Graphics Settings: +// +function updateGammaCorrection() +{ + $pref::OpenGL::gammaCorrection = OP_GammaSlider.getValue(); + videoSetGammaCorrection( $pref::OpenGL::gammaCorrection ); +} + +//------------------------------------------------------------------------------ +function updateTerrainDetail() +{ + $pref::Terrain::screenError = $max_screenerror - mFloor( OP_TerrainSlider.getValue()); + if ( OP_TerrainSlider.getValue() != $max_screenerror - $pref::Terrain::screenError ) + OP_TerrainSlider.setValue( $max_screenerror - $pref::Terrain::screenError ); +} + +//------------------------------------------------------------------------------ +function updateDynamicLightSliderState() +{ + %on = $pref::Interior::DynamicLights || $pref::Terrain::dynamicLights; + OP_DynamicLightText.setVisible( %on ); + OP_DynamicLightText_Disabled.setVisible( !%on ); + OP_DynamicLightSlider.setActive( %on ); +} + +//------------------------------------------------------------------------------ +function OP_SkyDetailMenu::init( %this ) +{ + %this.clear(); + %this.add( "Full Sky", 1 ); + %this.add( "Two Cloud Layers", 2 ); + %this.add( "One Cloud Layer", 3 ); + %this.add( "Sky Box Only", 4 ); + %this.add( "No Sky", 5 ); +} + +//------------------------------------------------------------------------------ +function OP_PlayerRenderMenu::init( %this ) +{ + %this.clear(); + %this.add( "Player and Items", 3 ); + %this.add( "Player only", 1 ); + %this.add( "Items only", 2 ); + %this.add( "Neither Player nor Items", 0 ); +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Texture Settings: +// +function OP_CompressMenu::init( %this ) +{ + %this.clear(); + %this.add( "None", 1 ); + %this.add( "Fastest", 2 ); + %this.add( "Nicest", 3 ); +} + +//------------------------------------------------------------------------------ +function OP_TexQualityMenu::init( %this ) +{ + %this.clear(); + if ( $PalettedTextureSupported ) + %this.add( "Palletized", 1 ); + %this.add( "16 bit", 2 ); + %this.add( "32 bit", 3 ); +} + +//------------------------------------------------------------------------------ +function OP_TexQualityMenu::onSelect( %this, %id, %text ) +{ + if ( %id == 1 ) + { + // Disable these with palletized textures by default: + OP_EnvMapTgl.setValue( false ); + //OP_EnvMapTgl.setActive( false ); + OP_IntEnvMapTgl.setValue( false ); + //OP_IntEnvMapTgl.setActive( false ); + } +// else +// { +// OP_EnvMapTgl.setActive( true ); +// OP_IntEnvMapTgl.setActive( true ); +// } +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Audio Settings: +// +function setAudioProvider(%idx) +{ + alxContexti(ALC_PROVIDER, %idx); + $pref::Audio::provider = alxGetContextstr(ALC_PROVIDER_NAME, %idx); + + %active = audioIsEnvironmentProvider($pref::Audio::provider); + + // unset tgl if cannot be environment provider + if(!%active) + OP_AudioEnvironmentTgl.setValue(false); + OP_AudioEnvironmentTgl.setActive(%active); + + audioUpdateProvider($pref::Audio::provider); + OP_AudioProviderMenu.setSelected(%idx); +} + +//------------------------------------------------------------------------------ +function OP_AudioEnvironmentTgl::onAction(%this) +{ + alxEnableEnvironmental(%this.getValue()); +} + +//------------------------------------------------------------------------------ +function OP_AudioProviderMenu::onSelect(%this, %id, %text) +{ + if(%id != $Audio::originalProvider) + { + if(!%this.seenWarning) + { + MessageBoxOK("Warning", "Changing sound drivers may result in incompatibilities and game oddities. If you experience such oddities, hit \"Reset\" to restore defaults.", ""); + %this.seenWarning = true; + } + OP_AudioResetProvider.setActive(true); + } + setAudioProvider(%id); +} + +//------------------------------------------------------------------------------ +function OP_AudioResetProvider::onAction(%this) +{ + setAudioProvider($Audio::originalProvider); + %this.setActive(false); +} +//------------------------------------------------------------------------------ +function OP_AudioSpeakerMenu::onSelect(%this, %id, %text) +{ + alxContexti(ALC_SPEAKER, %id); + $pref::Audio::speakerType = alxGetContextstr(ALC_SPEAKER_NAME, %id); +} + +//------------------------------------------------------------------------------ +function OP_AudioFrequencyMenu::init( %this ) +{ + %this.clear(); + %this.add( "11 KHz", 0 ); + %this.add( "22 KHz", 1 ); + %this.add( "44 KHz", 2 ); + + switch ( $pref::Audio::frequency ) + { + case 11025: %this.setSelected( 0 ); + case 22050: %this.setSelected( 1 ); + default: %this.setSelected( 2 ); + } +} + +//------------------------------------------------------------------------------ +function OP_AudioFrequencyMenu::onSelect( %this, %id, %text ) +{ + switch ( %id ) + { + case 0: %newVal = 11025; + case 1: %newVal = 22050; + default: %newVal = 44100; + } + + if ( $pref::Audio::frequency != %newVal ) + { + $pref::Audio::frequency = %newVal; + OptionsDlg.resetAudio = true; + } +} + +//------------------------------------------------------------------------------ +function OP_AudioBitRateMenu::init( %this ) +{ + %this.clear(); + %this.add( "8 bit", 0 ); + %this.add( "16 bit", 1 ); + + if ( $pref::Audio::sampleBits == 8 ) + %this.setSelected( 0 ); + else + %this.setSelected( 1 ); +} + +//------------------------------------------------------------------------------ +function OP_AudioBitRateMenu::onSelect( %this, %id, %text ) +{ + %newVal = %id == 0 ? 8 : 16; + if ( $pref::Audio::sampleBits != %newVal ) + { + $pref::Audio::sampleBits = %newVal; + OptionsDlg.resetAudio = true; + } +} + +//------------------------------------------------------------------------------ +function OP_AudioChannelsMenu::init( %this ) +{ + %this.clear(); + %this.add( "One", 0 ); + %this.add( "Two", 1 ); + + if ( $pref::Audio::channels == 1 ) + %this.setSelected( 0 ); + else + %this.setSelected( 1 ); +} + +//------------------------------------------------------------------------------ +function OP_AudioChannelsMenu::onSelect( %this, %id, %text ) +{ + %newVal = %id == 0 ? 1 : 2; + if ( $pref::Audio::channels != %newVal ) + { + $pref::Audio::channels = %newVal; + OptionsDlg.resetAudio = true; + } +} + +//------------------------------------------------------------------------------ +function OP_MusicTgl::onAction( %this ) +{ + %on = %this.getValue(); + OP_MusicVolumeLabel.setVisible( %on ); + OP_MusicVolumeLabel_Disabled.setVisible( !%on ); + OP_MusicVolumeSlider.setActive( %on ); + $pref::Audio::musicEnabled = %on; + + if ( %on ) + MusicPlayer.play(); + else + MusicPlayer.stop(); +} + +//------------------------------------------------------------------------------ +function updateMusicVolume() +{ + %volume = OP_MusicVolumeSlider.getValue(); + alxSetChannelVolume( $MusicAudioType, %volume ); +} + +//------------------------------------------------------------------------------ +function updateGuiVolume() +{ + %volume = OP_GuiVolumeSlider.getValue(); + alxSetChannelVolume( $GuiAudioType, %volume ); +} + +//------------------------------------------------------------------------------ +function updateMasterVolume() +{ + %volume = OP_MasterVolumeSlider.getValue(); + alxListenerf( AL_GAIN_LINEAR, %volume ); +} + + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Voice Settings: +// +function OP_MicrophoneEnabledTgl::onAction( %this ) +{ + %on = %this.getValue(); + OP_RecordTestBtn.setActive( %on ); + OP_MicVolumeLabel.setVisible( %on ); + OP_MicVolumeLabel_Disabled.setVisible( !%on ); + OP_MicrophoneVolumeSlider.setActive( %on ); + OP_InputBoostLabel.setVisible( %on ); + OP_InputBoostLabel_Disabled.setVisible( !%on ); + OP_InputBoostSlider.setActive( %on ); + OP_InputBoostPercentTxt.setVisible( %on ); + OP_VoiceListenLabel.setVisible( %on ); + OP_VoiceListenLabel_Disabled.setVisible( !%on ); + OP_VoiceListenMenu.setActive( %on ); + OP_VoiceSendLabel.setVisible( %on ); + OP_VoiceSendLabel_Disabled.setVisible( !%on ); + OP_VoiceSendMenu.setActive( %on ); + + if(%on != alxIsEnabled("capture")) + { + if(%on) + alxCaptureInit(); + else + alxCaptureDestroy(); + } +} + +//------------------------------------------------------------------------------ +function updateInputBoost() +{ + %val = OP_InputBoostSlider.getValue(); + alxSetCaptureGainScale( %val ); + %val = mFloor(%val * 100); + OP_InputBoostPercentTxt.setValue(%val @ "%"); +} + +//------------------------------------------------------------------------------ +function OP_RecordTestBtn::onAction( %this ) +{ + alxCaptureStart(true); +} + +//------------------------------------------------------------------------------ +function localCaptureStart( %method ) +{ + if(%method $= "record") + { + OP_RecordTestBtn.setActive(false); + OP_RecordTestBtn.setValue(">> Recording <<"); + } + else + { + OP_RecordTestBtn.setActive(false); + OP_RecordTestBtn.setValue(">> Playing <<"); + } +} + +//------------------------------------------------------------------------------ +function localCaptureStop( %method ) +{ + if(%method $= "play") + { + OP_RecordTestBtn.setActive(true); + OP_RecordTestBtn.setValue("Test Record"); + } +} + +//------------------------------------------------------------------------------ +function OP_VoiceListenMenu::init( %this ) +{ + %this.clear(); + %this.add( "", 0 ); + if ( $platform !$= "linux" ) { + %this.add( ".v12", 1 ); + %this.add( ".v12 - .v24", 3 ); + %this.add( ".v12 - .v29", 7 ); + } + if ( $platform $= "linux" ) { + %this.add( "GSM" , 8 ); + } + + switch ( $pref::Audio::decodingMask ) + { + case 0 or 3 or 7 or 8: + %this.setSelected( $pref::Audio::decodingMask ); + default: + %this.setSelected( 1 ); + } +} + +//------------------------------------------------------------------------------ +function OP_VoiceSendMenu::init( %this ) +{ + %this.clear(); + if ( $platform !$= "linux" ) { + %this.add( ".v12", 0 ); + %this.add( ".v24", 1 ); + %this.add( ".v29", 2 ); + } + if ( $platform $= "linux" ) { + %this.add( "GSM", 3 ); + } + + %this.setSelected($pref::Audio::encodingLevel); +} + +function OP_VoiceCodecInfo::init( %this ) +{ + %headerStyle = ""; + if ( $platform $= "linux" ) { + %displayText = "" @ %headerStyle @ "Voice Codec Information:" NL + "\n" @ + " GSM: fixed bitrate codec (6.6 kbits/sec linux only)" NL + "\n" @ + "" @ + "Setting your codec levels too high can have adverse" @ + " affects on network performance." @ + ""; + } else { + %displayText = "" @ %headerStyle @ "Voice Codec Information:" NL + "\n" @ + " .v12: variable bitrate codec (~1.2 kbits/sec win only)" NL + " .v24: fixed bitrate codec (2.4 kbits/sec win only)" NL + " .v29: fixed bitrate codec (2.9 kbits/sec win only)" NL + "\n" @ + "" @ + "Setting your codec levels too high can have adverse" @ + " affects on network performance." @ + ""; + } + + %this.setText(%displayText); + %this.setActive(false); +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Driver Info dialog: +// +function DriverInfoDlg::onWake( %this ) +{ + %headerStyle = ""; + %infoString = getVideoDriverInfo(); + %displayText = "" @ %headerStyle @ "VENDOR:" NL + " " @ getField( %infoString, 0 ) NL + "" @ %headerStyle @ "RENDERER:" NL + " " @ getField( %infoString, 1 ) NL + "" @ %headerStyle @ "VERSION " @ getField( %infoString, 2 ) NL + "\n" @ + "" @ %headerStyle @ "SUPPORTED OPENGL EXTENSIONS:" NL + getField( %infoString, 3 ); + + DriverInfoText.setText( %displayText ); +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Control remapper section: +// +$RemapCount = 0; +$RemapName[$RemapCount] = "Forward"; +$RemapCmd[$RemapCount] = "moveforward"; +$RemapCount++; +$RemapName[$RemapCount] = "Backward"; +$RemapCmd[$RemapCount] = "movebackward"; +$RemapCount++; +$RemapName[$RemapCount] = "Strafe Left"; +$RemapCmd[$RemapCount] = "moveleft"; +$RemapCount++; +$RemapName[$RemapCount] = "Strafe Right"; +$RemapCmd[$RemapCount] = "moveright"; +$RemapCount++; +$RemapName[$RemapCount] = "Turn Left"; +$RemapCmd[$RemapCount] = "turnLeft"; +$RemapCount++; +$RemapName[$RemapCount] = "Turn Right"; +$RemapCmd[$RemapCount] = "turnRight"; +$RemapCount++; +$RemapName[$RemapCount] = "Look Up"; +$RemapCmd[$RemapCount] = "panUp"; +$RemapCount++; +$RemapName[$RemapCount] = "Look Down"; +$RemapCmd[$RemapCount] = "panDown"; +$RemapCount++; +$RemapName[$RemapCount] = "Jump"; +$RemapCmd[$RemapCount] = "jump"; +$RemapCount++; +$RemapName[$RemapCount] = "Jet Pack"; +$RemapCmd[$RemapCount] = "mouseJet"; +$RemapCount++; +$RemapName[$RemapCount] = "Fire Weapon"; +$RemapCmd[$RemapCount] = "mouseFire"; +$RemapCount++; +$RemapName[$RemapCount] = "Zoom"; +$RemapCmd[$RemapCount] = "toggleZoom"; +$RemapCount++; +$RemapName[$RemapCount] = "Cycle Zoom Level"; +$RemapCmd[$RemapCount] = "setZoomFOV"; +$RemapCount++; +$RemapName[$RemapCount] = "Weapon Slot One"; +$RemapCmd[$RemapCount] = "useFirstWeaponSlot"; +$RemapCount++; +$RemapName[$RemapCount] = "Weapon Slot Two"; +$RemapCmd[$RemapCount] = "useSecondWeaponSlot"; +$RemapCount++; +$RemapName[$RemapCount] = "Weapon Slot Three"; +$RemapCmd[$RemapCount] = "useThirdWeaponSlot"; +$RemapCount++; +$RemapName[$RemapCount] = "Weapon Slot Four"; +$RemapCmd[$RemapCount] = "useFourthWeaponSlot"; +$RemapCount++; +$RemapName[$RemapCount] = "Weapon Slot Five"; +$RemapCmd[$RemapCount] = "useFifthWeaponSlot"; +$RemapCount++; +$RemapName[$RemapCount] = "Weapon Slot Six"; +$RemapCmd[$RemapCount] = "useSixthWeaponSlot"; +$RemapCount++; +$RemapName[$RemapCount] = "Blaster"; +$RemapCmd[$RemapCount] = "useBlaster"; +$RemapCount++; +$RemapName[$RemapCount] = "Plasma Rifle"; +$RemapCmd[$RemapCount] = "usePlasma"; +$RemapCount++; +$RemapName[$RemapCount] = "Chaingun"; +$RemapCmd[$RemapCount] = "useChaingun"; +$RemapCount++; +$RemapName[$RemapCount] = "Spinfusor"; +$RemapCmd[$RemapCount] = "useDisc"; +$RemapCount++; +$RemapName[$RemapCount] = "Grenade Launcher"; +$RemapCmd[$RemapCount] = "useGrenadeLauncher"; +$RemapCount++; +$RemapName[$RemapCount] = "Laser Rifle"; +$RemapCmd[$RemapCount] = "useSniperRifle"; +$RemapCount++; +$RemapName[$RemapCount] = "ELF Projector"; +$RemapCmd[$RemapCount] = "useELFGun"; +$RemapCount++; +$RemapName[$RemapCount] = "Fusion Mortar"; +$RemapCmd[$RemapCount] = "useMortar"; +$RemapCount++; +$RemapName[$RemapCount] = "Missile Launcher"; +$RemapCmd[$RemapCount] = "useMissileLauncher"; +$RemapCount++; +$RemapName[$RemapCount] = "Shocklance"; +$RemapCmd[$RemapCount] = "useShockLance"; +$RemapCount++; +$RemapName[$RemapCount] = "Targeting Laser"; +$RemapCmd[$RemapCount] = "useTargetingLaser"; +$RemapCount++; +$RemapName[$RemapCount] = "Previous Weapon"; +$RemapCmd[$RemapCount] = "prevWeapon"; +$RemapCount++; +$RemapName[$RemapCount] = "Next Weapon"; +$RemapCmd[$RemapCount] = "nextWeapon"; +$RemapCount++; +$RemapName[$RemapCount] = "Throw Grenade"; +$RemapCmd[$RemapCount] = "throwGrenade"; +$RemapCount++; +$RemapName[$RemapCount] = "Place Mine"; +$RemapCmd[$RemapCount] = "placeMine"; +$RemapCount++; +$RemapName[$RemapCount] = "Use Pack"; +$RemapCmd[$RemapCount] = "useBackpack"; +$RemapCount++; +$RemapName[$RemapCount] = "Use Health Kit"; +$RemapCmd[$RemapCount] = "useRepairKit"; +$RemapCount++; +$RemapName[$RemapCount] = "Deploy Beacon"; +$RemapCmd[$RemapCount] = "placeBeacon"; +$RemapCount++; +$RemapName[$RemapCount] = "Inventory"; +$RemapCmd[$RemapCount] = "toggleInventoryHud"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 1"; +$RemapCmd[$RemapCount] = "selectFavorite1"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 2"; +$RemapCmd[$RemapCount] = "selectFavorite2"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 3"; +$RemapCmd[$RemapCount] = "selectFavorite3"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 4"; +$RemapCmd[$RemapCount] = "selectFavorite4"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 5"; +$RemapCmd[$RemapCount] = "selectFavorite5"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 6"; +$RemapCmd[$RemapCount] = "selectFavorite6"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 7"; +$RemapCmd[$RemapCount] = "selectFavorite7"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 8"; +$RemapCmd[$RemapCount] = "selectFavorite8"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 9"; +$RemapCmd[$RemapCount] = "selectFavorite9"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 10"; +$RemapCmd[$RemapCount] = "selectFavorite10"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 11"; +$RemapCmd[$RemapCount] = "selectFavorite11"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 12"; +$RemapCmd[$RemapCount] = "selectFavorite12"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 13"; +$RemapCmd[$RemapCount] = "selectFavorite13"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 14"; +$RemapCmd[$RemapCount] = "selectFavorite14"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 15"; +$RemapCmd[$RemapCount] = "selectFavorite15"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 16"; +$RemapCmd[$RemapCount] = "selectFavorite16"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 17"; +$RemapCmd[$RemapCount] = "selectFavorite17"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 18"; +$RemapCmd[$RemapCount] = "selectFavorite18"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 19"; +$RemapCmd[$RemapCount] = "selectFavorite19"; +$RemapCount++; +$RemapName[$RemapCount] = "Favorite 20"; +$RemapCmd[$RemapCount] = "selectFavorite20"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Energy Pack"; +$RemapCmd[$RemapCount] = "quickPackEnergyPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Repair Pack"; +$RemapCmd[$RemapCount] = "quickPackRepairPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Shield Pack"; +$RemapCmd[$RemapCount] = "quickPackShieldPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Cloaking Pack"; +$RemapCmd[$RemapCount] = "quickPackCloakPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Sensor Jammer"; +$RemapCmd[$RemapCount] = "quickPackJammerPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Ammo Pack"; +$RemapCmd[$RemapCount] = "quickPackAmmoPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Satchel Charge"; +$RemapCmd[$RemapCount] = "quickPackSatchelCharge"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Inv Station"; +$RemapCmd[$RemapCount] = "quickPackDeployableStation"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Spider Turret"; +$RemapCmd[$RemapCount] = "quickPackIndoorTurret"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Landspike Turret"; +$RemapCmd[$RemapCount] = "quickPackOutdoorTurret"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Motion Sensor"; +$RemapCmd[$RemapCount] = "quickPackMotionSensor"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Deploy Pulse"; +$RemapCmd[$RemapCount] = "quickPackPulse"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Plasma Barrel"; +$RemapCmd[$RemapCount] = "quickPackPlasmaBarrel"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Missile Barrel"; +$RemapCmd[$RemapCount] = "quickPackMissileBarrel"; +$RemapCount++; +$RemapName[$RemapCount] = "Select AA Barrel"; +$RemapCmd[$RemapCount] = "quickPackAABarrel"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Mortar Barrel"; +$RemapCmd[$RemapCount] = "quickPackMortarBarrel"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Elf Barrel"; +$RemapCmd[$RemapCount] = "quickPackElfBarrel"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Grenade"; +$RemapCmd[$RemapCount] = "quickPackGrenade"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Flash Grenade"; +$RemapCmd[$RemapCount] = "quickPackFlashGrenade"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Concussion"; +$RemapCmd[$RemapCount] = "quickPackConcussionGrenade"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Camera"; +$RemapCmd[$RemapCount] = "quickPackCameraGrenade"; +$RemapCount++; +$RemapName[$RemapCount] = "Select Flare Grenade"; +$RemapCmd[$RemapCount] = "quickPackFlareGrenade"; +$RemapCount++; +$RemapName[$RemapCount] = "Command Circuit"; +$RemapCmd[$RemapCount] = "toggleCommanderMap"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Task List"; +$RemapCmd[$RemapCount] = "toggleTaskListDlg"; +$RemapCount++; +$RemapName[$RemapCount] = "Accept Task"; +$RemapCmd[$RemapCount] = "fnAcceptTask"; +$RemapCount++; +$RemapName[$RemapCount] = "Decline Task"; +$RemapCmd[$RemapCount] = "fnDeclineTask"; +$RemapCount++; +$RemapName[$RemapCount] = "Task Completed"; +$RemapCmd[$RemapCount] = "fnTaskCompleted"; +$RemapCount++; +$RemapName[$RemapCount] = "Reset Task List"; +$RemapCmd[$RemapCount] = "fnResetTaskList"; +$RemapCount++; +$RemapName[$RemapCount] = "Vote Yes"; +$RemapCmd[$RemapCount] = "voteYes"; +$RemapCount++; +$RemapName[$RemapCount] = "Vote No"; +$RemapCmd[$RemapCount] = "voteNo"; +$RemapCount++; +$RemapName[$RemapCount] = "Voice Chat Menu"; +$RemapCmd[$RemapCount] = "activateChatMenuHud"; +$RemapCount++; +$RemapName[$RemapCount] = "Global Chat"; +$RemapCmd[$RemapCount] = "ToggleMessageHud"; +$RemapCount++; +$RemapName[$RemapCount] = "Team Chat"; +$RemapCmd[$RemapCount] = "TeamMessageHud"; +$RemapCount++; +$RemapName[$RemapCount] = "Resize Chat Hud"; +$RemapCmd[$RemapCount] = "resizeChatHud"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Microphone"; +$RemapCmd[$RemapCount] = "voiceCapture"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Help Text"; +$RemapCmd[$RemapCount] = "toggleHelpGui"; +$RemapCount++; +$RemapName[$RemapCount] = "Score Screen"; +$RemapCmd[$RemapCount] = "toggleScoreScreen"; +$RemapCount++; +$RemapName[$RemapCount] = "Free Look"; +$RemapCmd[$RemapCount] = "toggleFreeLook"; +$RemapCount++; +$RemapName[$RemapCount] = "Exterior View"; +$RemapCmd[$RemapCount] = "toggleFirstPerson"; +$RemapCount++; +$RemapName[$RemapCount] = "Drop Weapon"; +$RemapCmd[$RemapCount] = "throwWeapon"; +$RemapCount++; +$RemapName[$RemapCount] = "Drop Pack"; +$RemapCmd[$RemapCount] = "throwPack"; +$RemapCount++; +$RemapName[$RemapCount] = "Drop Flag"; +$RemapCmd[$RemapCount] = "throwFlag"; +$RemapCount++; +$RemapName[$RemapCount] = "Suicide"; +$RemapCmd[$RemapCount] = "suicide"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Personal Wypts"; +$RemapCmd[$RemapCount] = "toggleHudWaypoints"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Mission Wypts"; +$RemapCmd[$RemapCount] = "toggleHudMarkers"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Beacons"; +$RemapCmd[$RemapCount] = "toggleHudTargets"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Commands"; +$RemapCmd[$RemapCount] = "toggleHudCommands"; +$RemapCount++; +if ( !isDemo() ) +{ + $RemapName[$RemapCount] = "Start Demo Record"; + $RemapCmd[$RemapCount] = "startRecordingDemo"; + $RemapCount++; + $RemapName[$RemapCount] = "Stop Demo Record"; + $RemapCmd[$RemapCount] = "stopRecordingDemo"; + $RemapCount++; +} +$RemapName[$RemapCount] = "Chat Page Up"; +$RemapCmd[$RemapCount] = "pageMessageHudUp"; +$RemapCount++; +$RemapName[$RemapCount] = "Chat Page Down"; +$RemapCmd[$RemapCount] = "pageMessageHudDown"; +$RemapCount++; +$RemapName[$RemapCount] = "Toggle Net Meter"; +$RemapCmd[$RemapCount] = "toggleNetDisplayHud"; +$RemapCount++; + +$ObsRemapCount = 0; +$ObsRemapName[$ObsRemapCount] = "Move Up"; +$ObsRemapCmd[$ObsRemapCount] = "moveup"; +$ObsRemapCount++; +$ObsRemapName[$ObsRemapCount] = "Move Down"; +$ObsRemapCmd[$ObsRemapCount] = "movedown"; +$ObsRemapCount++; +$ObsRemapName[$ObsRemapCount] = "Toggle Observer Mode"; +$ObsRemapCmd[$ObsRemapCount] = "jump"; +$ObsRemapCount++; +$ObsRemapName[$ObsRemapCount] = "Spawn/Previous"; +$ObsRemapCmd[$ObsRemapCount] = "mouseFire"; +$ObsRemapCount++; +$ObsRemapName[$ObsRemapCount] = "Cycle Camera/Next"; +$ObsRemapCmd[$ObsRemapCount] = "mouseJet"; +$ObsRemapCount++; + +//------------------------------------------------------------------------------ +function restoreDefaultMappings() +{ + moveMap.delete(); + exec( "scripts/controlDefaults.cs" ); + $pref::Input::ActiveConfig = "MyConfig"; + OP_RemapList.fillList(); +} + +//------------------------------------------------------------------------------ +function isMapFile( %file ) +{ + %fObject = new FileObject(); + if ( !%fObject.openForRead( %file ) ) + return( false ); + + while ( !%fObject.isEOF() ) + { + %line = %fObject.readLine(); + if ( %line $= "// Tribes 2 Input Map File" ) + { + %fObject.close(); + return( true ); + } + } + + %fObject.close(); + return( false ); +} + +//------------------------------------------------------------------------------ +function isValidMapFileSaveName( %file ) +{ + if (isDemo()) + %basePath = "demo_base/"; + else + %basePath = "base/"; + if ( !isWriteableFileName( %basePath @ %file ) ) + return( false ); + + if ( isFile( %file ) ) + return( isMapFile( %file ) ); + + return( true ); +} + +//------------------------------------------------------------------------------ +function loadMapFile( %filename ) +{ + exec( "prefs/" @ %filename @ ".cs" ); + $pref::Input::ActiveConfig = %filename; + OP_RemapList.fillList(); +} + +//------------------------------------------------------------------------------ +function saveActiveMapFile() +{ + if ( isValidMapFileSaveName( "prefs/" @ $pref::Input::ActiveConfig @ ".cs" ) ) + saveMapFile( $pref::Input::ActiveConfig ); + else + ShellGetSaveFilename( "SAVE CONTROL CONFIG", "prefs/*.cs", "isMapFile", "saveMapFile", "" ); +} + +//------------------------------------------------------------------------------ +function saveMapFile( %filename ) +{ + if ( strcspn( %filename, "\\/?*\"\'<>|" ) < strlen( %filename ) ) + { + MessageBoxOK( "SAVE FAILED", "Filenames may not contain any of the following characters:" NL "\\ / ? * < > \" \' |", + "ShellGetSaveFilename( \"SAVE CONTROL CONFIG\", \"prefs/*.cs\", \"isMapFile\", \"saveMapFile\", $pref::Input::ActiveConfig );" ); + return; + } + + if (isDemo()) + %basePath = "demo_base/"; + else + %basePath = "base/"; + %mapFile = "prefs/" @ %filename @ ".cs"; + if ( !isWriteableFileName( %basePath @ %mapFile ) ) + { + MessageBoxOK( "SAVE FAILED", "That is not a writeable file name. Please choose another file name.", + "ShellGetSaveFilename( \"SAVE CONTROL CONFIG\", \"prefs/*.cs\", \"isMapFile\", \"saveMapFile\", $pref::Input::ActiveConfig );" ); + return; + } + + if ( isFile( %mapFile ) && !isMapFile( %mapFile ) ) + { + MessageBoxOK( "SAVE FAILED", "A file of that name already exists and is not an input configuration file. Please choose another file name.", + "ShellGetSaveFilename( \"SAVE CONTROL CONFIG\", \"prefs/*.cs\", \"isMapFile\", \"saveMapFile\", $pref::Input::ActiveConfig );" ); + return; + } + + moveMap.save( %mapFile ); + // Append the observer action map: + observerMap.save( %mapFile, true ); + + // Write out the console toggle key: + %fObject = new FileObject(); + if ( %fObject.openForAppend( %mapFile ) ) + { + %bind = GlobalActionMap.getBinding( "toggleConsole" ); + if ( %bind !$= "" ) + { + %fObject.writeLine( "GlobalActionMap.bind(keyboard, \"" @ getField( %bind, 1 ) @ "\", toggleConsole);" ); + %fObject.close(); + } + } + %fObject.delete(); + + $pref::Input::ActiveConfig = %filename; +} + +//------------------------------------------------------------------------------ +function getMapDisplayName( %device, %action ) +{ + if ( %device $= "keyboard" ) + return( %action ); + else if ( strstr( %device, "mouse" ) != -1 ) + { + // Substitute "mouse" for "button" in the action string: + %pos = strstr( %action, "button" ); + if ( %pos != -1 ) + { + %mods = getSubStr( %action, 0, %pos ); + %object = getSubStr( %action, %pos, 1000 ); + %instance = getSubStr( %object, strlen( "button" ), 1000 ); + return( %mods @ "mouse" @ ( %instance + 1 ) ); + } + else + error( "Mouse input object other than button passed to getDisplayMapName!" ); + } + else if ( strstr( %device, "joystick" ) != -1 ) + { + // Substitute "joystick" for "button" in the action string: + %pos = strstr( %action, "button" ); + if ( %pos != -1 ) + { + %mods = getSubStr( %action, 0, %pos ); + %object = getSubStr( %action, %pos, 1000 ); + %instance = getSubStr( %object, strlen( "button" ), 1000 ); + return( %mods @ "joystick" @ ( %instance + 1 ) ); + } + else + { + %pos = strstr( %action, "pov" ); + if ( %pos != -1 ) + { + %wordCount = getWordCount( %action ); + %mods = %wordCount > 1 ? getWords( %action, 0, %wordCount - 2 ) @ " " : ""; + %object = getWord( %action, %wordCount - 1 ); + switch$ ( %object ) + { + case "upov": %object = "POV1 up"; + case "dpov": %object = "POV1 down"; + case "lpov": %object = "POV1 left"; + case "rpov": %object = "POV1 right"; + case "upov2": %object = "POV2 up"; + case "dpov2": %object = "POV2 down"; + case "lpov2": %object = "POV2 left"; + case "rpov2": %object = "POV2 right"; + default: %object = "??"; + } + return( %mods @ %object ); + } + else + error( "Unsupported Joystick input object passed to getDisplayMapName!" ); + } + } + + return( "??" ); +} + +//------------------------------------------------------------------------------ +function buildFullMapString( %index ) +{ + switch$ ( OP_ControlsPane.group ) + { + case "Observer": + %actionMap = observerMap; + %name = $ObsRemapName[%index]; + %cmd = $ObsRemapCmd[%index]; + + default: + %actionMap = moveMap; + %name = $RemapName[%index]; + %cmd = $RemapCmd[%index]; + } + + %temp = %actionMap.getBinding( %cmd ); + %device = getField( %temp, 0 ); + %object = getField( %temp, 1 ); + if ( %device !$= "" && %object !$= "" ) + %mapString = getMapDisplayName( %device, %object ); + else + %mapString = ""; + + return( %name TAB %mapString ); +} + +//------------------------------------------------------------------------------ +function OP_ControlGroupMenu::init( %this ) +{ + %selId = %this.getSelected(); + %this.clear(); + %this.add( "Main", 0 ); + %this.add( "Observer", 1 ); + %this.setSelected( %selId ); + %this.onSelect( %selId, %this.getTextById( %selId ) ); +} + +//------------------------------------------------------------------------------ +function OP_ControlGroupMenu::onSelect( %this, %id, %text ) +{ + OP_ControlsPane.group = %text; + OP_RemapList.fillList(); +} + +//------------------------------------------------------------------------------ +function OP_RemapList::fillList( %this ) +{ + switch$ ( OP_ControlsPane.group ) + { + case "Observer": %count = $ObsRemapCount; + default: %count = $RemapCount; + } + + %this.clear(); + for ( %i = 0; %i < %count; %i++ ) + %this.addRow( %i, buildFullMapString( %i ) ); + + // Set the console key: + %bind = GlobalActionMap.getBinding( "toggleConsole" ); + OP_ConsoleKeyBtn.setValue( getField( %bind, 1 ) ); +} + +//------------------------------------------------------------------------------ +function OP_RemapList::onDeleteKey( %this, %rowId ) +{ + switch$ ( OP_ControlsPane.group ) + { + case "Observer": + %actionMap = observerMap; + %cmd = $ObsRemapCmd[%rowId]; + default: + %actionMap = moveMap; + %cmd = $RemapCmd[%rowId]; + } + clearMapping( %actionMap, %cmd ); + %this.setRowById( %rowId, buildFullMapString( %rowId ) ); +} + +//------------------------------------------------------------------------------ +function OP_RemapList::doRemap( %this ) +{ + %selId = %this.getSelectedId(); + switch$ ( OP_ControlsPane.group ) + { + case "Observer": %name = $ObsRemapName[%selId]; + default: %name = $RemapName[%selId]; + } + + RemapFrame.setTitle( "REMAP \"" @ %name @ "\"" ); + RemapInputCtrl.mode = "move"; + RemapInputCtrl.index = %selId; + Canvas.pushDialog( RemapDlg ); +} + +//------------------------------------------------------------------------------ +function OP_ConsoleKeyBtn::doRemap( %this ) +{ + RemapFrame.setTitle( "REMAP \"Toggle Console\"" ); + RemapInputCtrl.mode = "consoleKey"; + RemapInputCtrl.index = 0; + Canvas.pushDialog( RemapDlg ); +} + +//------------------------------------------------------------------------------ +function RemapDlg::onWake( %this ) +{ + $enableDirectInput = "1"; + activateDirectInput(); + + if ( RemapInputCtrl.mode $= "consoleKey" ) + RemapText.setText( "Press a key to assign it to this action" NL "or Esc to cancel..." ); + else + RemapText.setText( "Press a key or button to assign it to this action" NL "or Esc to cancel..." ); +} + +//------------------------------------------------------------------------------ +function RemapDlg::onSleep( %this ) +{ + $enableDirectInput = "1"; + deactivateDirectInput(); +} + +//------------------------------------------------------------------------------ +function findRemapCmdIndex( %command ) +{ + switch$ ( OP_ControlsPane.group ) + { + case "Observer": + for ( %i = 0; %i < $ObsRemapCount; %i++ ) + { + if ( %command $= $ObsRemapCmd[%i] ) + return( %i ); + } + default: + for ( %i = 0; %i < $RemapCount; %i++ ) + { + if ( %command $= $RemapCmd[%i] ) + return( %i ); + } + } + + return( -1 ); +} + +//------------------------------------------------------------------------------ +function clearMapping( %actionMap, %cmd ) +{ + %fullMapString = %actionMap.getBinding( %cmd ); + %mapCount = getRecordCount( %fullMapString ); + for ( %i = 0; %i < %mapCount; %i++ ) + { + %temp = getRecord( %fullMapString, %i ); + %actionMap.unbind( getField( %temp, 0 ), getField( %temp, 1 ) ); + } +} + +//------------------------------------------------------------------------------ +function redoMapping( %actionMap, %device, %action, %cmd, %oldIndex, %newIndex ) +{ + //%actionMap.bind( %device, %action, $RemapCmd[%newIndex] ); + %actionMap.bind( %device, %action, %cmd ); + OP_RemapList.setRowById( %oldIndex, buildFullMapString( %oldIndex ) ); + OP_RemapList.setRowById( %newIndex, buildFullMapString( %newIndex ) ); +} + +//------------------------------------------------------------------------------ +function redoConsoleMapping( %action, %oldIndex ) +{ + moveMap.unbind( "keyboard", %action ); + GlobalActionMap.bind( "keyboard", %action, "toggleConsole" ); + OP_ConsoleKeyBtn.setValue( %action ); + OP_RemapList.setRowById( %oldIndex, buildFullMapString( %oldIndex ) ); +} + +//------------------------------------------------------------------------------ +function RemapInputCtrl::onInputEvent( %this, %device, %action ) +{ + //error( "** onInputEvent called - device = " @ %device @ ", action = " @ %action @ " **" ); + Canvas.popDialog( RemapDlg ); + + // Test for the reserved keystrokes: + if ( %device $= "keyboard" ) + { + // Cancel... + if ( %action $= "escape" ) + { + // Do nothing... + return; + } + } + + if ( %this.mode $= "consoleKey" ) + { + if ( %device !$= "keyboard" ) + { + MessageBoxOK( "REMAP FAILED", "This command can only be bound to keys on the keyboard!" ); + return; + } + + %prevMap = GlobalActionMap.getCommand( %device, %action ); + if ( %prevMap !$= "" ) + { + MessageBoxOK( "REMAP FAILED", "\"" @ getMapDisplayName( %device, %action ) @ "\" is already bound to a non-remappable command!" ); + return; + } + + %mvMap = moveMap.getCommand( %device, %action ); + if ( %mvMap $= "" ) + { + GlobalActionMap.bind( %device, %action, "toggleConsole" ); + OP_ConsoleKeyBtn.setValue( %action ); + } + else + { + %mapName = getMapDisplayName( %device, %action ); + %mvMapIndex = findRemapCmdIndex( %mvMap ); + if ( %mvMapIndex == -1 ) + MessageBoxOK( "REMAP FAILED", "\"" @ %mapName @ "\" is already bound to a non-remappable command!" ); + else + MessageBoxYesNo( "WARNING", "\"" @ %mapName @ "\" is already bound to \"" + @ $RemapName[%mvMapIndex] @ "\"!" + NL "Do you want to undo this mapping?", + "redoConsoleMapping(\"" @ %action @ "\", " @ %mvMapIndex @ ");", "" ); + return; + } + } + else + { + switch$ ( OP_ControlsPane.group ) + { + case "Observer": + %actionMap = observerMap; + %cmd = $ObsRemapCmd[%this.index]; + %name = $ObsRemapName[%this.index]; + + default: + %actionMap = moveMap; + %cmd = $RemapCmd[%this.index]; + %name = $RemapName[%this.index]; + } + + // First check to see if the given action is already mapped: + %prevMap = %actionMap.getCommand( %device, %action ); + if ( %prevMap !$= %cmd ) + { + if ( %prevMap $= "" ) + { + %actionMap.bind( %device, %action, %cmd ); + OP_RemapList.setRowById( %this.index, buildFullMapString( %this.index ) ); + } + else + { + %mapName = getMapDisplayName( %device, %action ); + %prevMapIndex = findRemapCmdIndex( %prevMap ); + if ( %prevMapIndex == -1 ) + MessageBoxOK( "REMAP FAILED", "\"" @ %mapName @ "\" is already bound to a non-remappable command!" ); + else + { + switch$ ( OP_ControlsPane.group ) + { + case "Observer": + %prevCmdName = $ObsRemapName[%prevMapIndex]; + default: + %prevCmdName = $RemapName[%prevMapIndex]; + } + + MessageBoxYesNo( "WARNING", + "\"" @ %mapName @ "\" is already bound to \"" + @ %prevCmdName @ "\"!\nDo you want to undo this mapping?", + "redoMapping(" @ %actionMap @ ", " @ %device @ ", \"" @ %action @ "\", \"" @ %cmd @ "\", " @ %prevMapIndex @ ", " @ %this.index @ ");", "" ); + } + return; + } + } + } +} + +//------------------------------------------------------------------------------ +function OP_JoystickTgl::onAction( %this ) +{ + %on = %this.getValue(); + if ( %on ) + enableJoystick(); + else + disableJoystick(); + + OP_ConfigureJoystickBtn.setActive( %on ); +} + +//------------------------------------------------------------------------------ +function MouseConfigDlg::onWake( %this ) +{ + MouseXSlider.setValue( moveMap.getScale( mouse, xaxis ) / 2 ); + MouseYSlider.setValue( moveMap.getScale( mouse, yaxis ) / 2 ); + InvertMouseTgl.setValue( moveMap.isInverted( mouse, yaxis ) ); + + MouseZActionMenu.clear(); + MouseZActionMenu.add( "Nothing", 1 ); + MouseZActionMenu.add( "Cycle Weapon", 2 ); + MouseZActionMenu.add( "Next Weapon Only", 3 ); +// MouseZActionMenu.add( "Cycle Zoom Level", 4 ); + + %bind = moveMap.getCommand( "mouse", "zaxis" ); + %selId = 1; + switch$ ( %bind ) + { + case "cycleWeaponAxis": + %selId = 2; + case "cycleNextWeaponOnly": + %selId = 3; + } + MouseZActionMenu.setSelected( %selId ); +} + +//------------------------------------------------------------------------------ +function MouseConfigDlg::onOK( %this ) +{ + %xSens = MouseXSlider.getValue() * 2; + %ySens = MouseYSlider.getValue() * 2; + moveMap.bind( mouse, xaxis, "S", %xSens, "yaw" ); + %yFlags = InvertMouseTgl.getValue() ? "SI" : "S"; + moveMap.bind( mouse, yaxis, %yFlags, %ySens, "pitch" ); + + switch ( MouseZActionMenu.getSelected() ) + { + case 2: + moveMap.bind( mouse, zaxis, cycleWeaponAxis ); + case 3: + moveMap.bind( mouse, zaxis, cycleNextWeaponOnly ); + default: + moveMap.unbind( mouse, zaxis ); + } + + Canvas.popDialog( MouseConfigDlg ); +} + +//------------------------------------------------------------------------------ +function MouseXSlider::sync( %this ) +{ + %thisValue = %this.getValue(); + MouseXText.setValue( "(" @ getSubStr( %thisValue, 0, 4 ) @ ")" ); + if ( $pref::Input::LinkMouseSensitivity ) + { + if ( MouseYSlider.getValue() != %thisValue ) + MouseYSlider.setValue( %thisValue ); + } +} + +//------------------------------------------------------------------------------ +function MouseYSlider::sync( %this ) +{ + %thisValue = %this.getValue(); + MouseYText.setValue( "(" @ getSubStr( %thisValue, 0, 4 ) @ ")" ); + if ( $pref::Input::LinkMouseSensitivity ) + { + if ( MouseXSlider.getValue() != %thisValue ) + MouseXSlider.setValue( %thisValue ); + } +} + +//------------------------------------------------------------------------------ +// Joystick Config dialog: +//------------------------------------------------------------------------------ +$JoyRemapCount = 0; +$JoyRemapName[$JoyRemapCount] = "Look Up/Down"; +$JoyRemapCmd[$JoyRemapCount] = "joyPitch"; +$JoyRemapCount++; +$JoyRemapName[$JoyRemapCount] = "Turn Left/Right"; +$JoyRemapCmd[$JoyRemapCount] = "joyYaw"; +$JoyRemapCount++; +$JoyRemapName[$JoyRemapCount] = "Move Forward/Backward"; +$JoyRemapCmd[$JoyRemapCount] = "joystickMoveY"; +$JoyRemapCount++; +$JoyRemapName[$JoyRemapCount] = "Strafe Left/Right"; +$JoyRemapCmd[$JoyRemapCount] = "joystickMoveX"; +$JoyRemapCount++; +$JoyRemapName[$JoyRemapCount] = "Cycle Weapon"; +$JoyRemapCmd[$JoyRemapCount] = "cycleWeaponAxis"; +$JoyRemapCount++; + +//------------------------------------------------------------------------------ +function JoystickConfigDlg::onWake( %this ) +{ + // Add all of the axis tabs: + %temp = getJoystickAxes( 0 ); + %tryCount = getField( %temp, 0 ); + $JoyAxisCount = 0; + + for ( %i = 0; %i < %tryCount; %i++ ) + { + %type = getField( %temp, %i + 1 ); + switch$ ( %type ) + { + case "X": %tabName = "X Axis"; %tabType = "xaxis"; + case "Y": %tabName = "Y Axis"; %tabType = "yaxis"; + case "Z": %tabName = "Z Axis"; %tabType = "zaxis"; + case "R": %tabName = "R Axis"; %tabType = "rxaxis"; + case "U": %tabName = "U Axis"; %tabType = "ryaxis"; + case "V": %tabName = "V Axis"; %tabType = "rzaxis"; + case "S": %tabName = "Slider"; %tabType = "slider"; + case "L": %tabName = "Slider 2"; %tabType = "slider2"; + default: %tabName = ""; + } + + if ( %tabName !$= "" ) + { + $JoyAxisTab[$JoyAxisCount] = new ShellTabButton() { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "29" SPC ( 52 + ( %i * 30 ) ); + extent = "100 38"; + minExtent = "48 38"; + visible = "1"; + command = "JoystickConfigDlg.setPane(" @ %i @ ");"; + helpTag = "0"; + text = %tabName; + type = %tabType; + }; + + $JoyAxisCount++; + JoystickConfigFrame.add( $JoyAxisTab[%i] ); + } + } + + // Fill the action menu: + JoyAxisActionMenu.clear(); + for ( %i = 0; %i < $JoyRemapCount; %i++ ) + JoyAxisActionMenu.add( $JoyRemapName[%i], %i ); + JoyAxisActionMenu.add( "Nothing", 255 ); + + // Select the first axis: + %this.setPane( %this.pane ); +} + +//------------------------------------------------------------------------------ +function JoystickConfigDlg::onSleep( %this ) +{ + // Save the current pane's settings: + bindJoystickAxis( %this.pane, JoyAxisActionMenu.getSelected() ); + for ( %i = 0; %i < $JoyAxisCount; %i++ ) + { + JoystickConfigFrame.remove( $JoyAxisTab[%i] ); + $JoyAxisTab[%i].delete(); + } +} + +//------------------------------------------------------------------------------ +function JoystickConfigDlg::setPane( %this, %pane ) +{ + if ( %this.pane != %pane ) + { + // Save the previous axes' settings: + bindJoystickAxis( %this.pane, JoyAxisActionMenu.getSelected() ); + %this.pane = %pane; + } + + for ( %i = 0; %i < $joyAxisCount; %i++ ) + $JoyAxisTab[%i].setValue( %i == %pane ); + + // Update the config controls: + %axisType = $JoyAxisTab[%pane].type; + %bind = moveMap.getCommand( "joystick", %axisType ); + if ( %bind !$= "" ) + { + for ( %i = 0; %i < $JoyRemapCount; %i++ ) + { + if ( $JoyRemapCmd[%i] $= %bind ) + { + JoyAxisActionMenu.setSelected( %i ); + JoyAxisActionMenu.setText( $JoyRemapName[%i] ); + JoyAxisActionMenu.onSelect( %i, "" ); + break; + } + } + + if ( %i == $JoyRemapCount ) + { + JoyAxisActionMenu.setSelected( 255 ); // 255 is the code for "Nothing" + JoyAxisActionMenu.onSelect( 255, "" ); + } + + %scale = moveMap.getScale( "joystick", %axisType ); + JoyAxisSlider.setValue( %scale / 100 ); + %deadZone = moveMap.getDeadZone( "joystick", %axisType ); + if ( %deadZone $= "0 0" ) + DeadZoneSlider.setValue( 0.0 ); + else + DeadZoneSlider.setValue( abs( firstWord( %deadZone ) ) / %scale ); + InvertJoyAxisTgl.setValue( moveMap.isInverted( "joystick", %axisType ) ); + //JoyAxisRelativeTgl.setValue( moveMap.isRelativeAxis( "joystick", %axisType ) ); + } + else + { + JoyAxisActionMenu.setSelected( 255 ); // 255 is the code for "Nothing" + JoyAxisActionMenu.onSelect( 255, "" ); + JoyAxisSlider.setValue( 0.5 ); + DeadZoneSlider.setValue( 0.0 ); + InvertJoyAxisTgl.setValue( false ); + //JoyAxisRelativeTgl.setValue( %axisType $= "slider" ); + } +} + +//------------------------------------------------------------------------------ +function JoyAxisActionMenu::onSelect( %this, %id, %text ) +{ + %on = ( %id < $JoyRemapCount ); + JoyAxisSlider.setActive( %on ); + JoySensText.setVisible( %on ); + DeadZoneSlider.setActive( %on ); + DeadZoneText.setVisible( %on ); + InvertJoyAxisTgl.setActive( %on ); + //JoyAxisRelativeTgl.setActive( %on ); +} + +//------------------------------------------------------------------------------ +function JoySensText::update( %this ) +{ + %this.setValue( "(" @ getSubStr( JoyAxisSlider.getValue(), 0, 4 ) @ ")" ); +} + +//------------------------------------------------------------------------------ +function DeadZoneText::update( %this ) +{ + %val = DeadZoneSlider.getValue(); + %percent = %val * 100; + %temp = strstr( %percent, "." ); + if ( %temp != -1 ) + %percent = getSubStr( %percent, 0, %temp ); + + %this.setValue( "(" @ %percent @ "%)" ); +} + +//------------------------------------------------------------------------------ +function bindJoystickAxis( %axisIndex, %cmdIndex ) +{ + %cmd = $JoyRemapCmd[%cmdIndex]; + %axis = $JoyAxisTab[%axisIndex].type; + if ( %cmdIndex > $JoyRemapCount ) + { + // Make sure the axis is unbound: + moveMap.unbind( "joystick", %axis ); + return; + } + + %sens = JoyAxisSlider.getValue() * 100; + %delta = DeadZoneSlider.getValue() * %sens; + %flags = "S"; + if ( InvertJoyAxisTgl.getValue() ) + %flags = %flags @ "I"; +// if ( JoyAxisRelativeTgl.getValue() ) +// %flags = %flags @ "L"; + if ( %delta > 0 ) + { + %deadZone = "-" @ %delta SPC %delta; + moveMap.bind( "joystick", %axis, %flags @ "D", %deadZone, %sens, %cmd ); + } + else + moveMap.bind( "joystick", %axis, %flags, %sens, %cmd ); +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Network Settings: +// + +function updateNetworkSettings() +{ + $pref::Net::PacketRateToClient = mFloor( OP_PacketRateSlider.getValue() ); + $pref::Net::PacketSize = mFloor( OP_PacketSizeSlider.getValue() ); + $pref::Net::PacketRateToServer = mFloor( OP_UpdateRateSlider.getValue() ); + + // check the max rate: + if ( isObject( ServerConnection ) ) + ServerConnection.checkMaxRate(); + if ( isObject( ClientGroup ) ) + { + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject( %i ); + %cl.checkMaxRate(); + } + } +} + +function OP_NetworkDisplayHud::init(%this) +{ + %this.getPrefs(); + + %this.textHeight = 14; + %this.textOffset = 2; + + if(!%this.infoCallback) + { + %this.textProfile = 0; + return; + } + + // profile for the text fields + %this.textProfile = new GuiControlProfile() + { + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + autoSizeWidth = true; + autoSizeHeight = true; + fontColors[6] = "128 128 128"; + }; + + %yOffset = %this.textOffset; + + for(%i = 0; %i < 6; %i++) + { + // set the text color + %this.textProfile.fontColors[%i] = %this.fieldColors[%i]; + + // create the text field + %this.textField[%i] = new GuiTextCtrl() + { + profile = %this.textProfile; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 " @ %yOffset; + extent = "190 " @ %this.textHeight; + visible = "1"; + }; + + // create the toggle field + %this.toggleField[%i] = new GuiTextCtrl() + { + profile = ShellActiveTextProfile; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 " @ %yOffset; + extent = "15 " @ %this.textHeight; + visible = "1"; + }; + + // create a mouse object + %this.mouseField[%i] = new GuiMouseEventCtrl(NetworkDisplayMouseCtrl) + { + profile = GuiDefaultProfile; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 " @ %yOffset; + extent = "200 " @ %this.textHeight; + visible = "1"; + fieldIndex = %i; + }; + + OP_NetworkDisplayTextFrame.add(%this.textField[%i]); + OP_NetworkDisplayTextFrame.add(%this.toggleField[%i]); + OP_NetworkDisplayTextFrame.add(%this.mouseField[%i]); + + %yOffset += (%this.textHeight + %this.textOffset); + } + %this.infoUpdate(0, 0, 0, 0, 0, 0); +} + +function NetworkDisplayMouseCtrl::onMouseDown(%this) +{ + %b = OP_NetworkDisplayHud.renderField[%this.fieldIndex]; + OP_NetworkDisplayHud.renderField[%this.fieldIndex] = !%b; + OP_NetworkDisplayHud.updateToggles(); +} + +function OP_NetworkDisplayHud::uninit(%this) +{ + if(!%this.infoCallback) + return; + + if(isObject(%this.textProfile)) + %this.textProfile.delete(); + + for(%i = 0; %i < 6; %i++) + { + if(isObject(%this.textField[%i])) + %this.textField[%i].delete(); + + if(isObject(%this.toggleField[%i])) + %this.toggleField[%i].delete(); + + if(isObject(%this.mouseField[%i])) + %this.mouseField[%i].delete(); + } +} + +function OP_NetworkDisplayHud::updateToggles(%this) +{ + // update the toggles + $pref::Net::graphFields = 0; + + for(%i = 0; %i < 6; %i++) + { + $pref::Net::graphFields |= %this.renderField[%i] << %i; + %this.toggleField[%i].setText(%this.renderField[%i] ? "+" : "-"); + } +} + +function OP_NetworkDisplayHud::infoUpdate(%this, %ping, %packetLoss, %sendPackets, %sendBytes, %receivePackets, %receiveBytes) +{ + %this.updateToggles(); + + // set the text + %this.textField[0].setText("\c0Ping: " @ mFormatFloat(%ping, "%4.0f") @ "ms"); + %this.textField[1].setText("\c1Packet Loss: " @ mFormatFloat(%packetLoss, "%3.0f") @ "%"); + %this.textField[2].setText("\c2Send Packets: " @ mFormatFloat(%sendPackets, "%2.1f") @ "pps"); + %this.textField[3].setText("\c3Send Bytes: " @ mFormatFloat(%sendBytes, "%5.0f") @ "bps"); + %this.textField[4].setText("\c4Receive Packets: " @ mFormatFloat(%receivePackets, "%2.1f") @ "pps"); + %this.textField[5].setText("\c5Receive Bytes: " @ mFormatFloat(%receiveBytes, "%5.0f") @ "bps"); +} + +// "" +// [1,32] [8,32] [100,450] +$NetworkPresetCount = 0; +$NetworkPreset[$NetworkPresetCount] = "28.8 Modem\t12\t16\t200"; $NetworkPresetCount++; +$NetworkPreset[$NetworkPresetCount] = "56K Modem\t16\t20\t240"; $NetworkPresetCount++; +$NetworkPreset[$NetworkPresetCount] = "DSL\t20\t24\t350"; $NetworkPresetCount++; +$NetworkPreset[$NetworkPresetCount] = "Cable\t24\t24\t400"; $NetworkPresetCount++; +$NetworkPreset[$NetworkPresetCount] = "T1/LAN\t32\t32\t450"; $NetworkPresetCount++; + +function OP_NetworkPresetsMenu::init( %this ) +{ + %this.clear(); + for(%i = 0; %i < $NetworkPresetCount; %i++) + %this.add( getField($NetworkPreset[%i], 0), %i); + + // don't update settings on init (only update when values change) + %this.updateSettings = false; + %this.setSelected($pref::Net::Preset); + %this.updateSettings = true; +} + +function OP_NetworkPresetsMenu::onSelect( %this, %id, %text ) +{ + OP_PacketRateSlider.setValue( getField($NetworkPreset[%id], 1) ); + OP_UpdateRateSlider.setValue( getField($NetworkPreset[%id], 2) ); + OP_PacketSizeSlider.setValue( getField($NetworkPreset[%id], 3) ); + + if(%this.updateSettings) + updateNetworkSettings(); + $pref::Net::Preset = %id; +} + +//------------------------------------------------------------------------------ +function OP_MasterServerMenu::init( %this ) +{ + %this.clear(); + // You can change these strings, but NOT THE IDS! + %this.add( "Always", 1 ); + %this.add( "When Not Full", 2 ); + %this.add( "Never", 3 ); +} + +//------------------------------------------------------------------------------ +function OP_MasterServerMenu::onSelect( %this, %id, %text ) +{ + switch( %id ) + { + case 2: + $pref::Net::DisplayOnMaster = "NotFull"; + case 3: + $pref::Net::DisplayOnMaster = "Never"; + default: + $pref::Net::DisplayOnMaster = "Always"; + } +} + +//------------------------------------------------------------------------------ +function OP_RegionMenu::init( %this ) +{ + %this.clear(); + %this.add( "North America East", 1 ); + %this.add( "North America West", 2 ); + %this.add( "South America", 4 ); + %this.add( "Australia", 8 ); + %this.add( "Asia", 16 ); + %this.add( "Europe", 32 ); +} + +//------------------------------------------------------------------------------ +function OP_RegionMenu::onSelect( %this, %id, %text ) +{ + $pref::Net::RegionMask = %id; +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// Game Settings: +// +function OP_LaunchScreenMenu::init( %this ) +{ + %this.clear(); + %this.add( "Game", 1 ); + %this.add( "Email", 4 ); + %this.add( "Chat", 5 ); + %this.add( "Browser", 6 ); +} + +//------------------------------------------------------------------------------ +function toggleInvertYAxis() +{ + // Catch the case where this is toggled in-game while in a vehicle: + if ( isObject( passengerKeys ) ) + { + %bind = passengerKeys.getBinding( pitch ); + if ( %bind !$= "" ) + { + %device = getField( %bind, 0 ); + %action = getField( %bind, 1 ); + %flags = $pref::Vehicle::InvertYAxis ? "SDI" : "SD"; + %deadZone = passengerKeys.getDeadZone( %device, %action ); + %scale = passengerKeys.getScale( %device, %action ); + passengerKeys.bind( %device, %action, %flags, %deadZone, %scale, pitch ); + } + } +} + +//------------------------------------------------------------------------------ +function toggleImmersion() +{ + MessageBoxOK( "Force Feedback", "This will take effect the next time you start Tribes 2." ); +} + +//------------------------------------------------------------------------------ +function toggleVehicleTeleportPref() +{ + // If we are in a game, let the server know we've changed; + if ( isObject( ServerConnection ) ) + commandToServer( 'EnableVehicleTeleport', $pref::Vehicle::pilotTeleport ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/PantherXL.cs b/public/base/@vl2/scripts.vl2/scripts/PantherXL.cs new file mode 100644 index 00000000..9b9d6fed --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/PantherXL.cs @@ -0,0 +1,33 @@ +//-------------------------------------------------------------------------- +// +// PantherXL.cs +// +// These are the default control bindings for the Mad Catz Panther XL Pro +// +//-------------------------------------------------------------------------- + +moveMap.bind( joystick, xaxis, D, "-0.1 0.1", joystickMoveX ); +moveMap.bind( joystick, yaxis, D, "-0.1 0.1", joystickMoveY ); +moveMap.bind( joystick, rxaxis, I, joystickPitch ); +moveMap.bind( joystick, ryaxis, joystickYaw ); + +moveMap.bind( joystick, button0, mouseFire ); +moveMap.bind( joystick, button1, mouseJet ); +moveMap.bindCmd( joystick, button2, "setFov(30);", "setFov($pref::player::defaultFOV);" ); +moveMap.bind( joystick, button3, jump ); + +moveMap.bindCmd( joystick, upov, "use(Plasma);", "" ); +moveMap.bindCmd( joystick, rpov, "use(Chaingun);", "" ); +moveMap.bindCmd( joystick, dpov, "use(Disc);", "" ); +moveMap.bindCmd( joystick, lpov, "use(GrenadeLauncher);", "" ); + +moveMap.bindCmd( joystick, button4, "use(SniperRifle);", "" ); // Second POV buttons... +moveMap.bindCmd( joystick, button5, "use(ELFGun);", "" ); +moveMap.bindCmd( joystick, button6, "use(Mortar);", "" ); +moveMap.bindCmd( joystick, button7, "use(MissileLauncher);", "" ); + +moveMap.bindCmd( joystick, button8, "use(RepairKit);", "" ); +moveMap.bind( joystick, button9, toggleFirstPerson ); +moveMap.bindCmd( joystick, button10, "prevWeapon();", "" ); +moveMap.bindCmd( joystick, button11, "use(Backpack);", "" ); +moveMap.bindCmd( joystick, button12, "nextWeapon();", "" ); diff --git a/public/base/@vl2/scripts.vl2/scripts/PathEdit.cs b/public/base/@vl2/scripts.vl2/scripts/PathEdit.cs new file mode 100644 index 00000000..5ee5a249 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/PathEdit.cs @@ -0,0 +1,110 @@ +// +// PathEdit.cs +// +function PathEdit::initInteriorEditor() +{ + echo("interior editor startup..."); + aiEdit.setPathMode(); + new ActionMap(PathEditMap); + PathEditMap.bindCmd(keyboard, g, "PathEdit::grabNode();", ""); + PathEditMap.bindCmd(keyboard, f, "PathEdit::dropNode();", ""); + PathEditMap.bindCmd(keyboard, u, "PathEdit::undoNodeGrab();", ""); + PathEditMap.bindCmd(keyboard, t, "PathEdit::createEdge();", ""); + PathEditMap.bindCmd(keyboard, r, "PathEdit::connectEdge();", ""); + PathEditMap.bindCmd(keyboard, "alt r", "PathEdit::grabEdge();", ""); + PathEditMap.bindCmd(keyboard, "alt t", "PathEdit::deleteEdge();", ""); + PathEditMap.bindCmd(keyboard, "alt g", "PathEdit::deleteNode();", ""); + PathEditMap.bindCmd(keyboard, "alt d", "PathEdit::beginEnd();", ""); + PathEditMap.bindCmd(keyboard, "j", "PathEdit::setJet();", ""); + PathEditMap.bindCmd(keyboard, "alt j", "PathEdit::setNotJet();", ""); + PathEditMap.bindCmd(keyboard, "alt s", "PathEdit::saveGraph();", ""); + PathEditMap.bindCmd(keyboard, "h", "PathEdit::createNode();", ""); + PathEditMap.push(); +} + +//------------------------------------------------------------------------------ + +function PathEdit::closeInteriorEdit() +{ + aiEdit.setUninitMode(); + PathEditMap.pop(); +} + +//------------------------------------------------------------------------------ + +function PathEdit::grabNode() +{ + aiEdit.grabNode(); +} + +//------------------------------------------------- + +function PathEdit::createNode() +{ + aiEdit.createNode(); +} + +//------------------------------------------------- + +function PathEdit::grabEdge() +{ + aiEdit.grabEdge(); +} + +//------------------------------------------------- + +function PathEdit::dropNode() +{ + aiEdit.placeNode(); +} + +//------------------------------------------------- + +function PathEdit::undoNodeGrab() +{ + aiEdit.putBackNode(); +} + +//------------------------------------------------- + +function PathEdit::deleteNode() +{ + aiEdit.deleteNode(); +} + +//------------------------------------------------- + +function PathEdit::deleteEdge() +{ + aiEdit.deleteEdge(); +} + +//------------------------------------------------- + +function PathEdit::createEdge() +{ + aiEdit.createEdge(); +} + +//------------------------------------------------- + +function PathEdit::connectEdge() +{ + aiEdit.connectEdge(); +} + +//------------------------------------------------- + +function PathEdit::setJet() +{ + aiEdit.setJetting(true); +} + +//------------------------------------------------- + +function PathEdit::setNotJet() +{ + aiEdit.setJetting(false); +} + +//------------------------------------------------- diff --git a/public/base/@vl2/scripts.vl2/scripts/RabbitGame.cs b/public/base/@vl2/scripts.vl2/scripts/RabbitGame.cs new file mode 100644 index 00000000..e0e093bd --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/RabbitGame.cs @@ -0,0 +1,739 @@ +//------------------------------------------------------------------- +// Team Rabbit script +// ------------------------------------------------------------------- + +//--- GAME RULES BEGIN --- +//Grab the flag +//Run like crazy +//EVERYONE tries to kill the person with the flag (the Rabbit) +//The longer the Rabbit keeps the flag, the more points he scores +//--- GAME RULES END --- + +package RabbitGame { + +function Flag::objectiveInit(%data, %flag) +{ + $flagStatus = ""; + %flag.carrier = ""; + %flag.originalPosition = %flag.getTransform(); + %flag.isHome = true; + + // create a waypoint to the flag's starting place + %flagWaypoint = new WayPoint() + { + position = %flag.position; + rotation = "1 0 0 0"; + name = "Flag Home"; + dataBlock = "WayPointMarker"; + team = $NonRabbitTeam; + }; + + $AIRabbitFlag = %flag; + + MissionCleanup.add(%flagWaypoint); +} + +}; + +//exec the AI scripts +exec("scripts/aiRabbit.cs"); + +$InvBanList[Rabbit, "TurretOutdoorDeployable"] = 1; +$InvBanList[Rabbit, "TurretIndoorDeployable"] = 1; +$InvBanList[Rabbit, "ElfBarrelPack"] = 1; +$InvBanList[Rabbit, "MortarBarrelPack"] = 1; +$InvBanList[Rabbit, "PlasmaBarrelPack"] = 1; +$InvBanList[Rabbit, "AABarrelPack"] = 1; +$InvBanList[Rabbit, "MissileBarrelPack"] = 1; +$InvBanList[Rabbit, "MissileLauncher"] = 1; +$InvBanList[Rabbit, "Mortar"] = 1; +$InvBanList[Rabbit, "Mine"] = 1; + +function RabbitGame::setUpTeams(%game) +{ + // Force the numTeams variable to one: + DefaultGame::setUpTeams(%game); + %game.numTeams = 1; + setSensorGroupCount(3); + + //team damage should always be off for Rabbit + $teamDamage = 0; + + //make all the sensor groups visible at all times + if (!Game.teamMode) + { + setSensorGroupAlwaysVisMask($NonRabbitTeam, 0xffffffff); + setSensorGroupAlwaysVisMask($RabbitTeam, 0xffffffff); + + // non-rabbits can listen to the rabbit: all others can only listen to self + setSensorGroupListenMask($NonRabbitTeam, (1 << $RabbitTeam) | (1 << $NonRabbitTeam)); + } +} + +function RabbitGame::initGameVars(%game) +{ + %game.playerBonusValue = 1; + %game.playerBonusTime = 3 * 1000; //3 seconds + + %game.teamBonusValue = 1; + %game.teamBonusTime = 15 * 1000; //15 seconds + %game.flagReturnTime = 45 * 1000; //45 seconds + + %game.waypointFrequency = 24000; + %game.waypointDuration = 6000; +} + +$RabbitTeam = 2; +$NonRabbitTeam = 1; + +// ----- These functions supercede those in DefaultGame.cs + +function RabbitGame::allowsProtectedStatics(%game) +{ + return true; +} + +function RabbitGame::clientMissionDropReady(%game, %client) +{ + messageClient(%client, 'MsgClientReady', "", %game.class); + messageClient(%client, 'MsgYourScoreIs', "", 0); + //messageClient(%client, 'MsgYourRankIs', "", -1); + messageClient(%client, 'MsgRabbitFlagStatus', "", $flagStatus); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game,%client); +} + +function RabbitGame::AIHasJoined(%game, %client) +{ + //let everyone know the player has joined the game + //messageAllExcept(%client, -1, 'MsgClientJoinTeam', '%1 has joined the hunt.', %client.name, "", %client, $NonRabbitTeam); +} + +function RabbitGame::clientJoinTeam( %game, %client, %team, %respawn ) +{ + %game.assignClientTeam( %client ); + + // Spawn the player: + %game.spawnPlayer( %client, %respawn ); +} + + +function RabbitGame::assignClientTeam(%game, %client) +{ + // all players start on team 1 + %client.team = $NonRabbitTeam; + + // set player's skin pref here + setTargetSkin(%client.target, %client.skin); + + // Let everybody know you are no longer an observer: + messageAll( 'MsgClientJoinTeam', '\c1%1 has joined the hunt.', %client.name, "", %client, %client.team ); + updateCanListenState( %client ); +} + +function RabbitGame::playerSpawned(%game, %player) +{ + //call the default stuff first... + DefaultGame::playerSpawned(%game, %player); + + //find the rabbit + %clRabbit = -1; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (isObject(%cl.player) && isObject(%cl.player.holdingFlag)) + { + %clRabbit = %cl; + break; + } + } + + //now set a waypoint just for that client... + cancel(%player.client.waypointSchedule); + if (isObject(%clRabbit) && !%player.client.isAIControlled()) + %player.client.waypointSchedule = %game.showRabbitWaypointClient(%clRabbit, %player.client); +} + +function RabbitGame::pickPlayerSpawn(%game, %client, %respawn) +{ + // all spawns come from team 1 + return %game.pickTeamSpawn($NonRabbitTeam); +} + +function RabbitGame::createPlayer(%game, %client, %spawnLoc, %respawn) +{ + %client.team = $NonRabbitTeam; + DefaultGame::createPlayer(%game, %client, %spawnLoc, %respawn); +} + +function RabbitGame::recalcScore(%game, %client) +{ + //score is grabs + kills + (totalTime / 15 seconds); + %timeHoldingFlagMS = %client.flagTimeMS; + if (isObject(%client.player.holdingFlag)) + %timeHoldingFlagMS += getSimTime() - %client.startTime; + %client.score = %client.flagGrabs + %client.kills + mFloor(%timeHoldingFlagMS / 15000); + messageClient(%client, 'MsgYourScoreIs', "", %client.score); + %game.recalcTeamRanks(%client); + %game.checkScoreLimit(%client); +} + +function RabbitGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %sourceObject) +{ + //if the victim is the rabbit, and the attacker is not the rabbit, set the damage time... + if (isObject(%clAttacker) && %clAttacker != %clVictim) + { + if (%clVictim.team == $RabbitTeam) + %game.rabbitDamageTime = getSimTime(); + } + + //call the default + DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %sourceObject); +} + +function RabbitGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc) +{ + //see if the killer was the rabbit and the victim was someone else... + if (isObject(%clKiller) && (%clKiller != %clVictim) && (%clKiller.team == $RabbitTeam)) + { + %clKiller.kills++; + %game.recalcScore(%clKiller); + } + + DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLoc); +} + +function RabbitGame::playerDroppedFlag(%game, %player) +{ + //set the flag status + %flag = %player.holdingFlag; + %player.holdingFlag = ""; + %flag.carrier = ""; + $flagStatus = ""; + + %player.unmountImage($FlagSlot); + %flag.hide(false); + + //hide the rabbit waypoint + cancel(%game.waypointSchedule); + %game.hideRabbitWaypoint(%player.client); + + //set the client status + %player.client.flagTimeMS += getSimTime() - %player.client.startTime; + %player.client.team = $NonRabbitTeam; + %player.client.setSensorGroup($NonRabbitTeam); + setTargetSensorGroup(%player.getTarget(), $NonRabbitTeam); + + messageAllExcept(%player.client, -1, 'MsgRabbitFlagDropped', '\c2%1 dropped the flag!~wfx/misc/flag_drop.wav', %player.client.name); + // if the player left the mission area, he's already been notified + if(!%player.outArea) + messageClient(%player.client, 'MsgRabbitFlagDropped', '\c2You dropped the flag!~wfx/misc/flag_drop.wav'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") dropped flag"); + + %flag.returnThread = %game.schedule(%game.flagReturnTime, "returnFlag", %flag); +} + +function RabbitGame::playerTouchFlag(%game, %player, %flag) +{ + if ((%flag.carrier $= "") && (%player.getState() !$= "Dead")) + { + %player.client.startTime = getSimTime(); + %player.holdingFlag = %flag; + %flag.carrier = %player; + %player.mountImage(FlagImage, $FlagSlot, true); //, $teamSkin[$RabbitTeam]); + cancel(%flag.returnThread); + %flag.hide(true); + %flag.isHome = false; + $flagStatus = %client.name; + messageAll('MsgRabbitFlagTaken', '\c2%1 has taken the flag!~wfx/misc/flag_snatch.wav', %player.client.name); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") took flag"); + %player.client.team = $RabbitTeam; + %player.client.setSensorGroup($RabbitTeam); + setTargetSensorGroup(%player.getTarget(), $RabbitTeam); + + //increase the score + %player.client.flagGrabs++; + %game.recalcScore(%player.client); + %game.schedule(5000, "RabbitFlagCheck", %player); + + //show the rabbit waypoint + %game.rabbitDamageTime = 0; + cancel(%game.waypointSchedule); + %game.showRabbitWaypoint(%player.client); + } +} + +function RabbitGame::rabbitFlagCheck(%game, %player) +{ + // this function calculates the score for the rabbit. It must be done periodically + // since the rabbit's score is based on how long the flag has been in possession. + if((%player.holdingFlag != 0) && (%player.getState() !$= "Dead")) + { + %game.recalcScore(%player.client); + //reschedule this flagcheck for 5 seconds + %game.schedule(5000, "RabbitFlagCheck", %player); + } +} + +function RabbitGame::returnFlag(%game, %flag) +{ + messageAll('MsgRabbitFlagReturned', '\c2The flag was returned to its starting point.~wfx/misc/flag_return.wav'); + logEcho("flag return (timeout)"); + %game.resetFlag(%flag); +} + +function RabbitGame::resetFlag(%game, %flag) +{ + %flag.setVelocity("0 0 0"); + %flag.setTransform(%flag.originalPosition); + %flag.isHome = true; + %flag.carrier = ""; + $flagStatus = ""; + %flag.hide(false); +} + +// ----- These functions are native to Rabbit + +function RabbitGame::timeLimitReached(%game) +{ + logEcho("game over (timelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function RabbitGame::scoreLimitReached(%game) +{ + logEcho("game over (scorelimit)"); + %game.gameOver(); + cycleMissions(); +} + +function RabbitGame::checkScoreLimit(%game, %client) +{ + %scoreLimit = MissionGroup.Rabbit_scoreLimit; + // default of 1200 if scoreLimit not defined (that's 1200 seconds worth - 20 minutes) + if(%scoreLimit $= "") + %scoreLimit = 1200; + if(%client.score >= %scoreLimit) + %game.scoreLimitReached(); +} + +function RabbitGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + //send the message + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + cancel(%game.rabbitWaypointThread); + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + cancel(%client.waypointSchedule); + } + + cancel(%game.waypointSchedule); +} + +function RabbitGame::resetScore(%game, %client) +{ + %client.score = 0; + %client.kills = 0; + %client.deaths = 0; + %client.suicides = 0; + %client.flagGrabs = 0; + %client.flagTimeMS = 0; +} + +function RabbitGame::enterMissionArea(%game, %playerData, %player) +{ + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") entered mission area"); + cancel(%player.alertThread); +} + +function RabbitGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %player.client.outOfBounds = true; + if (%player.client.team == $RabbitTeam) + messageClient(%player.client, 'LeaveMissionArea', '\c1You have left the mission area. Return or take damage.~wfx/misc/warning_beep.wav'); + else + messageClient(%player.client, 'LeaveMissionArea', '\c1You have left the mission area.~wfx/misc/warning_beep.wav'); + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") left mission area"); + %player.alertThread = %game.schedule(1000, "AlertPlayer", 3, %player); +} + +function RabbitGame::AlertPlayer(%game, %count, %player) +{ + if (%player.client.team == $RabbitTeam) + { + if(%count > 1) + %player.alertThread = %game.schedule(1000, "AlertPlayer", %count - 1, %player); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); + } + + //keep the thread going for non rabbits, but give the new rabbit time to return to the mission area... + else + %player.alertThread = %game.schedule(1000, "AlertPlayer", 3, %player); +} + +function RabbitGame::MissionAreaDamage(%game, %player) +{ + if(%player.getState() !$= "Dead") { + %player.setDamageFlash(0.1); + %damageRate = 0.05; + %pack = %player.getMountedImage($BackpackSlot); + if(%pack.getName() $= "RepairPackImage") + if(%player.getMountedImage($WeaponSlot).getName() $= "RepairGunImage") + %damageRate = 0.15; + %prevHurt = %player.getDamageLevel(); + %player.setDamageLevel(%prevHurt + %damageRate); + // a little redundancy to see if the lastest damage killed the player + if(%player.getState() $= "Dead") + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); + else + %player.alertThread = %game.schedule(1000, "MissionAreaDamage", %player); + } + else + { + %game.onClientKilled(%player.client, 0, $DamageType::OutOfBounds); + } +} + +function RabbitGame::dropFlag(%game, %player) +{ + //you can no longer throw the flag in Rabbit... +} + +function RabbitGame::updateScoreHud(%game, %client, %tag) +{ + //tricky stuff here... use two columns if we have more than 15 clients... + %numClients = $TeamRank[0, count]; + if ( %numClients > $ScoreHudMaxVisible ) + %numColumns = 2; + + // Clear the header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // Send subheader: + if (%numColumns == 2) + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYER\tSCORE\tTIME\tPLAYER\tSCORE\tTIME'); + else + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYER\tSCORE\tTIME'); + + //recalc the score for whoever is holding the flag + if (isObject($AIRabbitFlag.carrier)) + %game.recalcScore($AIRabbitFlag.carrier.client); + + %countMax = %numClients; + if ( %countMax > ( 2 * $ScoreHudMaxVisible ) ) + { + if ( %countMax & 1 ) + %countMax++; + %countMax = %countMax / 2; + } + else if ( %countMax > $ScoreHudMaxVisible ) + %countMax = $ScoreHudMaxVisible; + + for (%index = 0; %index < %countMax; %index++) + { + //get the client info + %col1Client = $TeamRank[0, %index]; + %col1ClientScore = %col1Client.score $= "" ? 0 : %col1Client.score; + %col1Style = ""; + + if (isObject(%col1Client.player.holdingFlag)) + { + %col1ClientTimeMS = %col1Client.flagTimeMS + getSimTime() - %col1Client.startTime; + %col1Style = ""; + } + else + { + %col1ClientTimeMS = %col1Client.flagTimeMS; + if ( %col1Client == %client ) + %col1Style = ""; + } + + if (%col1ClientTimeMS <= 0) + %col1ClientTime = ""; + else + { + %minutes = mFloor(%col1ClientTimeMS / (60 * 1000)); + if (%minutes <= 0) + %minutes = "0"; + %seconds = mFloor(%col1ClientTimeMS / 1000) % 60; + if (%seconds < 10) + %seconds = "0" @ %seconds; + + %col1ClientTime = %minutes @ ":" @ %seconds; + } + + //see if we have two columns + if (%numColumns == 2) + { + %col2Client = ""; + %col2ClientScore = ""; + %col2ClientTime = ""; + %col2Style = ""; + + //get the column 2 client info + %col2Index = %index + %countMax; + if (%col2Index < %numClients) + { + %col2Client = $TeamRank[0, %col2Index]; + %col2ClientScore = %col2Client.score $= "" ? 0 : %col2Client.score; + + if (isObject(%col2Client.player.holdingFlag)) + { + %col2ClientTimeMS = %col2Client.flagTimeMS + getSimTime() - %col2Client.startTime; + %col2Style = ""; + } + else + { + %col2ClientTimeMS = %col2Client.flagTimeMS; + if ( %col2Client == %client ) + %col2Style = ""; + } + + if (%col2ClientTimeMS <= 0) + %col2ClientTime = ""; + else + { + %minutes = mFloor(%col2ClientTimeMS / (60 * 1000)); + if (%minutes <= 0) + %minutes = "0"; + %seconds = mFloor(%col2ClientTimeMS / 1000) % 60; + if (%seconds < 10) + %seconds = "0" @ %seconds; + + %col2ClientTime = %minutes @ ":" @ %seconds; + } + } + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + if ( %numColumns == 2 ) + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%8%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientTime, %col2Client.name, %col2ClientScore, %col2ClientTime, %col1Style, %col2Style ); + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '%4\t%1%2%3', + %col1Client.name, %col1ClientScore, %col1ClientTime, %col1Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + if ( %numColumns == 2 ) + { + //this is really crappy, but I need to save 1 tag - can only pass in up to %9, %10 doesn't work... + if (%col2Style $= "") + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientTime, + %col2Client.name, %col2ClientScore, %col2ClientTime, + %col1Style, %col1Client, %col2Client ); + } + else if (%col2Style $= "") + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientTime, + %col2Client.name, %col2ClientScore, %col2ClientTime, + %col1Style, %col1Client, %col2Client ); + } + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + %col1Client.name, %col1ClientScore, %col1ClientTime, + %col2Client.name, %col2ClientScore, %col2ClientTime, + %col1Style, %col1Client, %col2Client ); + } + } + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '%4\t%1%2%3', + %col1Client.name, %col1ClientScore, %col1ClientTime, %col1Style, %col1Client ); + } + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} + +function RabbitGame::showRabbitWaypointClient(%game, %clRabbit, %client) +{ + //make sure we have a rabbit + if (!isObject(%clRabbit) || !isObject(%clRabbit.player) || !isObject(%clRabbit.player.holdingFlag)) + return; + + //no waypoints for bots + if (%client.isAIControlled()) + return; + + //scope the client, then set the always vis mask... + %clRabbit.player.scopeToClient(%client); + %visMask = getSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup()); + %visMask |= (1 << %client.getSensorGroup()); + setSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup(), %visMask); + + //now issue a command to kill the target + %client.setTargetId(%clRabbit.target); + commandToClient(%client, 'TaskInfo', %client, -1, false, "Kill the Rabbit!"); + %client.sendTargetTo(%client, true); + + //send the "waypoint is here sound" + messageClient(%client, 'MsgRabbitWaypoint', '~wfx/misc/target_waypoint.wav'); + + //and hide the waypoint + %client.waypointSchedule = %game.schedule(%game.waypointDuration, "hideRabbitWaypointClient", %clRabbit, %client); +} + +function RabbitGame::hideRabbitWaypointClient(%game, %clRabbit, %client) +{ + //no waypoints for bots + if (%client.isAIControlled()) + return; + + //unset the always vis mask... + %visMask = getSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup()); + %visMask &= ~(1 << %client.getSensorGroup()); + setSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup(), %visMask); + + //kill the actually task... + removeClientTargetType(%client, "AssignedTask"); +} + +function RabbitGame::showRabbitWaypoint(%game, %clRabbit) +{ + //make sure we have a rabbit + if (!isObject(%clRabbit) || !isObject(%clRabbit.player) || !isObject(%clRabbit.player.holdingFlag)) + return; + + //only show the rabbit waypoint if the rabbit hasn't been damaged within the frequency period + if (getSimTime() - %game.rabbitDamageTime < %game.waypointFrequency) + { + %game.waypointSchedule = %game.schedule(%game.waypointFrequency, "showRabbitWaypoint", %clRabbit); + return; + } + + //loop through all the clients and flash a waypoint at the rabbits position + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIControlled() || %cl == %clRabbit) + continue; + + //scope the client, then set the always vis mask... + %clRabbit.player.scopeToClient(%cl); + %visMask = getSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup()); + %visMask |= (1 << %cl.getSensorGroup()); + setSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup(), %visMask); + + //now issue a command to kill the target + %cl.setTargetId(%clRabbit.target); + commandToClient(%cl, 'TaskInfo', %cl, -1, false, "Kill the Rabbit!"); + %cl.sendTargetTo(%cl, true); + + //send the "waypoint is here sound" + messageClient(%cl, 'MsgRabbitWaypoint', '~wfx/misc/target_waypoint.wav'); + } + + //schedule the time to hide the waypoint + %game.waypointSchedule = %game.schedule(%game.waypointDuration, "hideRabbitWaypoint", %clRabbit); +} + +function RabbitGame::hideRabbitWaypoint(%game, %clRabbit) +{ + //make sure we have a valid client + if (!isObject(%clRabbit)) + return; + + //loop through all the clients and hide the waypoint + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIControlled()) + continue; + + //unset the always vis mask... + %visMask = getSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup()); + %visMask &= ~(1 << %cl.getSensorGroup()); + setSensorGroupAlwaysVisMask(%clRabbit.getSensorGroup(), %visMask); + + //kill the actually task... + removeClientTargetType(%cl, "AssignedTask"); + } + + //make sure we have a rabbit before scheduling the next showRabbitWaypoint... + if (isObject(%clRabbit.player) && isObject(%clRabbit.player.holdingFlag)) + %game.waypointSchedule = %game.schedule(%game.waypointFrequency, "showRabbitWaypoint", %clRabbit); +} + +function RabbitGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if(%game.testTurretKill(%implement)) //check for turretkill before awarded a non client points for a kill + %game.awardScoreTurretKill(%clVictim, %implement); + else if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %game.awardScoreKill(%clKiller); + %game.awardScoreDeath(%clVictim); + } + else + { + if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + { + %game.awardScoreSuicide(%clVictim); + } + else + { + if (%game.testTeamKill(%clVictim, %clKiller)) //otherwise test for a teamkill + %game.awardScoreTeamKill(%clVictim, %clKiller); + } + } +} + +function RabbitGame::applyConcussion(%game, %player) +{ + // MES -- this won't do anything, the function RabbitGame::dropFlag is empty + %game.dropFlag( %player ); +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/SiegeGame.cs b/public/base/@vl2/scripts.vl2/scripts/SiegeGame.cs new file mode 100644 index 00000000..3d97da46 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/SiegeGame.cs @@ -0,0 +1,1213 @@ +//--- GAME RULES BEGIN --- +//One team defends base, other team tries to conquer it as quickly as possible +//Game has two rounds: Round 1 ends when base is conquered or time runs out +//Round 2: Teams switch sides, play again -- to win, attackers MUST beat the time set by the attackers in Round 1 +//Touching base switch conquers base +//--- GAME RULES END --- + +//Siege type script for TRIBES 2 +// +//The two teams each take a turn at defense and offense. +// +//If initial defending team's objective is captured, then roles switch +//and new offense team gets same amount of time to attempt to capture the +//objective. +// +//If time runs out before initial defending team's objective is captured, +//then roles switch and new offense team has to try to capture the +//objective before time runs out. +// +//The winner is either the team who captures the objective in least amount of time. +// +// In the mission file, Team 1 will be offense team, and team 2 will be the defense team. +// When the game actually starts, either team could start on offense, and the objects must +// have their team designation set accordingly. +// +// This mission type doesn't have a scoreLimit because, well, it really doesn't +// need one or lend itself to one. + +// ai support +exec("scripts/aiSiege.cs"); + +package SiegeGame { + +function FlipFlop::objectiveInit(%data, %flipflop) +{ + Game.regObjective(%flipflop); + setTargetSkin(%flipflop.getTarget(), $teamSkin[0]); +} + +function SiegeGame::regObjective(%game, %object) +{ + %objSet = nameToID("MissionCleanup/Objectives"); + if(!isObject(%objSet)) + { + %objSet = new SimSet("Objectives"); + MissionCleanup.add(%objSet); + } + %objSet.add(%object); +} + +function FlipFlop::playerTouch(%data, %flipflop, %player) +{ + if(%player.team != Game.offenseTeam) + return; + + %defTeam = Game.offenseTeam == 1 ? 2 : 1; + Game.capPlayer[Game.offenseTeam] = stripChars( getTaggedString( %player.client.name ), "\cp\co\c6\c7\c8\c9" ); + + // Let the observers know: + messageTeam( 0, 'MsgSiegeTouchFlipFlop', '\c2%1 captured the %2 base!~wfx/misc/flipflop_taken.wav', %player.client.name, $TeamName[%defTeam] ); + // Let the teammates know: + messageTeam( %player.team, 'MsgSiegeTouchFlipFlop', '\c2%1 captured the %2 base!~wfx/misc/flipflop_taken.wav', %player.client.name, $TeamName[%defTeam] ); + // Let the other team know: + %losers = %player.team == 1 ? 2 : 1; + messageTeam( %losers, 'MsgSiegeTouchFlipFlop', '\c2%1 captured the %2 base!~wfx/misc/flipflop_lost.wav', %player.client.name, $TeamName[%defTeam]); + + logEcho(%player.client.nameBase@" (pl "@%player@"/cl "@%player.client@") captured team "@%defTeam@" base"); + Game.allObjectivesCompleted(); +} + +//-------------------------------------------------------------------------------- +function StaticShapeData::onDisabled(%data, %obj, %prevState) +{ + Parent::onDisabled(%data, %obj, %prevState); + + if(%obj.waypoint) + game.switchWaypoint(%obj.waypoint); +} + +//-------------------------------------------------------------------------------- +function StaticShapeData::onEnabled(%data, %obj, %prevState) +{ + if(%obj.waypoint) + game.switchWaypoint(%obj.waypoint); + + if(%obj.isPowered()) + %data.onGainPowerEnabled(%obj); + Parent::onEnabled(%data, %obj, %prevState); +} + +}; + +//--------- Siege SCORING INIT ------------------ +function SiegeGame::initGameVars(%game) +{ + %game.SCORE_PER_SUICIDE = 0; + %game.SCORE_PER_TEAMKILL = 0; + %game.SCORE_PER_DEATH = 0; + + %game.SCORE_PER_KILL = 0; + + %game.SCORE_PER_TURRET_KILL = 0; +} + +function SiegeGame::claimFlipflopResources(%game, %flipflop, %team) +{ + // equipment shouldn't switch teams when flipflop is touched +} + +function SiegeGame::missionLoadDone(%game) +{ + if( $Host::timeLimit == 0 ) + $Host::timeLimit = 999; + + //default version sets up teams - must be called first... + DefaultGame::missionLoadDone(%game); + + //clear the scores + $teamScore[1] = 0; + $teamScore[2] = 0; + + //decide which team is starting first + if (getRandom() > 0.5) + { + %game.offenseTeam = 1; + %defenseTeam = 2; + } + else + { + %game.offenseTeam = 2; + %defenseTeam = 1; + } + + //send the message + messageAll('MsgSiegeStart', '\c2Team %1 is starting on offense', $teamName[%game.offenseTeam]); + + //if the first offense team is team2, switch the object team designation + if (%game.offenseTeam == 2) + { + %group = nameToID("MissionGroup/Teams"); + %group.swapTeams(); + // search for vehicle pads also + %mcg = nameToID("MissionCleanup"); + %mcg.swapVehiclePads(); + } + + //also ensure the objectives are all on the defending team + %objSet = nameToId("MissionCleanup/Objectives"); + for(%j = 0; %j < %objSet.getCount(); %j++) + { + %obj = %objSet.getObject(%j); + %obj.team = %defenseTeam; + setTargetSensorGroup(%obj.getTarget(), %defenseTeam); + } + + //indicate we're starting the game from the beginning... + %game.firstHalf = true; + %game.timeLimitMS = $Host::TimeLimit * 60 * 1000; + %game.secondHalfCountDown = false; + %game.capPlayer[1] = ""; + %game.capPlayer[2] = ""; + + // save off turret bases' original barrels + %game.checkTurretBases(); + + // add objective waypoints + %game.findObjectiveWaypoints(); + + MissionGroup.setupPositionMarkers(true); +} + +function SiegeGame::checkTurretBases(%game) +{ + %mGroup = nameToID("MissionGroup/Teams"); + %mGroup.findTurretBase(); +} + +function SimGroup::findTurretBase(%this) +{ + for (%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).findTurretBase(); +} + +function InteriorInstance::findTurretBase(%this) +{ + // sorry, we're not looking for interiors +} + +function AIObjective::findTurretBase(%this) +{ + // prevent console error spam +} + +function TSStatic::findTurretBase(%this) +{ + // prevent console error spam +} + +function GameBase::findTurretBase(%this) +{ + // apparently, the initialBarrel attribute gets overwritten whenever the + // barrel gets replaced. :( So we have to save it again under "originalBarrel". + if(%this.getDatablock().getName() $= "TurretBaseLarge") + %this.originalBarrel = %this.initialBarrel; +} + +function TSStatic::findTurretBase(%this) +{ + // prevent console error spam +} + +function SiegeGame::selectSpawnSphere(%game, %team) +{ + //for siege, the team1 drops are offense, team2 drops are defense + %sphereTeam = %game.offenseTeam == %team ? 1 : 2; + + return DefaultGame::selectSpawnSphere(%game, %sphereTeam); +} + +function SiegeGame::startMatch(%game) +{ + DefaultGame::startMatch( %game ); + + %game.startTimeMS = getSimTime(); + + // schedule first timeLimit check for 20 seconds + %game.timeSync = %game.schedule( 20000, "checkTimeLimit"); + %game.timeThread = %game.schedule( %game.timeLimitMS, "timeLimitReached"); + //updateClientTimes(%game.timeLimitMS); + messageAll('MsgSystemClock', "", $Host::TimeLimit, %game.timeLimitMS); + +// %count = ClientGroup.getCount(); +// for ( %i = 0; %i < %count; %i++ ) +// { +// %cl = ClientGroup.getObject( %i ); +// if ( %cl.team == %game.offenseTeam ) +// centerPrint( %cl, "\nTouch the enemy control switch to capture their base!", 5, 3 ); +// else +// centerPrint( %cl, "\nPrevent the enemy from touching your control switch!", 5, 3 ); +// } + + //make sure the AI is started + AISystemEnabled(true); +} + +function SiegeGame::allObjectivesCompleted(%game) +{ + Cancel( %game.timeSync ); + Cancel( %game.timeThread ); + cancelEndCountdown(); + + //store the elapsed time in the teamScore array... + $teamScore[%game.offenseTeam] = getSimTime() - %game.startTimeMS; + messageAll('MsgSiegeCaptured', '\c2Team %1 captured the base in %2!', $teamName[%game.offenseTeam], %game.formatTime($teamScore[%game.offenseTeam], true)); + + //set the new timelimit + %game.timeLimitMS = $teamScore[%game.offenseTeam]; + + if (%game.firstHalf) + { + // it's halftime, let everyone know + messageAll( 'MsgSiegeHalftime' ); + } + else + { + // game is over + messageAll('MsgSiegeMisDone', '\c2Mission complete.'); + } + logEcho("objective completed in "@%game.timeLimitMS); + + //setup the second half... + // MES -- per MarkF, scheduling for 0 seconds will prevent player deletion-related crashes + %game.schedule(0, halftime, 'objectives'); +} + +function SiegeGame::timeLimitReached(%game) +{ + cancel( %game.timeThread ); + cancel( %game.timeSync ); + + // if time has run out, the offense team gets no score (note, %game.timeLimitMS doesn't change) + $teamScore[%game.offenseTeam] = 0; + messageAll('MsgSiegeFailed', '\c2Team %1 failed to capture the base.', $teamName[%game.offenseTeam]); + + if (%game.firstHalf) + { + // it's halftime, let everyone know + messageAll( 'MsgSiegeHalftime' ); + } + else + { + // game is over + messageAll('MsgSiegeMisDone', '\c2Mission complete.'); + } + + logEcho("time limit reached"); + %game.halftime('time'); +} + +function SiegeGame::checkTimeLimit(%game) +{ + //if we're counting down to the beginning of the second half, check back in + if (%game.secondHalfCountDown) + { + %game.timeSync = %game.schedule(1000, "checkTimeLimit"); + return; + } + + %timeElapsedMS = getSimTime() - %game.startTimeMS; + %curTimeLeftMS = %game.timeLimitMS - %timeElapsedMS; + + if (%curTimeLeftMS <= 0) + { + // time's up, put down your pencils + %game.timeLimitReached(); + } + else + { + if(%curTimeLeftMS >= 20000) + %game.timeSync = %game.schedule( 20000, "checkTimeLimit" ); + else + %game.timeSync = %game.schedule( %curTimeLeftMS + 1, "checkTimeLimit" ); + + //now synchronize everyone's clock + messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); + } +} + +function SiegeGame::startSecondHalf(%game) +{ + $MatchStarted = true; + %game.secondHalfCountDown = false; + + MessageAll('MsgMissionStart', "\c2Match started"); + + // set the start time. + //the new %game.timeLimitMS would have been set by timeLimitReached() or allObjectivesCompleted() + %game.startTimeMS = getSimTime(); + + %game.timeThread = %game.schedule(%game.timeLimitMS, "timeLimitReached"); + if (%game.timeLimitMS > 20000) + %game.timeSync = %game.schedule(20000, "checkTimeLimit"); + else + %game.timeSync = %game.schedule(%game.timeLimitMS, "checkTimeLimit"); + logEcho("start second half"); + + EndCountdown(%game.timeLimitMS); + + // set all clients control to their player + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + if (!isObject(%cl.player)) + commandToClient(%cl, 'setHudMode', 'Observer'); + else + { + %cl.observerMode = ""; + %cl.setControlObject( %cl.player ); + commandToClient(%cl, 'setHudMode', 'Standard'); +// if ( %client.team == %game.offenseTeam ) +// centerPrint( %cl, "\nTouch the enemy control switch to capture their base!", 5, 3 ); +// else +// centerPrint( %cl, "\nPrevent the enemy from touching your control switch!", 5, 3 ); + } + } + + //now synchronize everyone's clock + updateClientTimes(%game.timeLimitMS); + + //start the bots up again... + AISystemEnabled(true); +} + +function SiegeGame::halftime(%game, %reason) +{ + //stop the game and the bots + $MatchStarted = false; + AISystemEnabled(false); + + if (%game.firstHalf) + { + //switch the game variables + %game.firstHalf = false; + %oldOffenseTeam = %game.offenseTeam; + if (%game.offenseTeam == 1) + %game.offenseTeam = 2; + else + %game.offenseTeam = 1; + + //send the message + messageAll('MsgSiegeRolesSwitched', '\c2Team %1 is now on offense.', $teamName[%game.offenseTeam], %game.offenseTeam); + + //reset stations and vehicles that players were using + %game.resetPlayers(); + // zero out the counts for deployable items (found in defaultGame.cs) + %game.clearDeployableMaxes(); + + // clean up the MissionCleanup group - note, this includes deleting all the player objects + %clean = nameToID("MissionCleanup"); + %clean.housekeeping(); + + // Non static objects placed in original position + resetNonStaticObjPositions(); + + // switch the teams for objects belonging to the teams + %group = nameToID("MissionGroup/Teams"); + %group.swapTeams(); + // search for vehicle pads also + %mcg = nameToID("MissionCleanup"); + %mcg.swapVehiclePads(); + + //restore the objects + %game.restoreObjects(); + + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + if( !%client.isAIControlled() ) + { + // Put everybody in observer mode: + %client.camera.getDataBlock().setMode( %client.camera, "observerStaticNoNext" ); + %client.setControlObject( %client.camera ); + + // Send the halftime result info: + if ( %client.team == %oldOffenseTeam ) + { + if ( $teamScore[%oldOffenseTeam] > 0 ) + messageClient( %client, 'MsgSiegeResult', "", '%1 captured the %2 base in %3!', %game.capPlayer[%oldOffenseTeam], $teamName[%game.offenseTeam], %game.formatTime( $teamScore[%oldOffenseTeam], true ) ); + else + messageClient( %client, 'MsgSiegeResult', "", 'Your team failed to capture the %1 base.', $teamName[%game.offenseTeam] ); + } + else if ( $teamScore[%oldOffenseTeam] > 0 ) + messageClient( %client, 'MsgSiegeResult', "", '%1 captured your base in %3!', %game.capPlayer[%oldOffenseTeam], %game.formatTime( $teamScore[%oldOffenseTeam], true ) ); + else + messageClient( %client, 'MsgSiegeResult', "", 'Your team successfully held off team %1!', $teamName[%oldOffenseTeam] ); + + // List out the team rosters: + messageClient( %client, 'MsgSiegeAddLine', "", '%1%2', $TeamName[1], $TeamName[2] ); + %max = $TeamRank[1, count] > $TeamRank[2, count] ? $TeamRank[1, count] : $TeamRank[2, count]; + for ( %line = 0; %line < %max; %line++ ) + { + %plyr1 = $TeamRank[1, %line] $= "" ? "" : $TeamRank[1, %line].name; + %plyr2 = $TeamRank[2, %line] $= "" ? "" : $TeamRank[2, %line].name; + messageClient( %client, 'MsgSiegeAddLine', "", ' %1 %2', %plyr1, %plyr2 ); + } + + // Show observers: + %header = false; + for ( %i = 0; %i < %count; %i++ ) + { + %obs = ClientGroup.getObject( %i ); + if ( %obs.team <= 0 ) + { + if ( !%header ) + { + messageClient( %client, 'MsgSiegeAddLine', "", '\nOBSERVERS' ); + %header = true; + } + + messageClient( %client, 'MsgSiegeAddLine', "", ' %1', %obs.name ); + } + } + + commandToClient( %client, 'SetHalftimeClock', $Host::Siege::Halftime / 60000 ); + + // Get the HUDs right: + commandToClient( %client, 'setHudMode', 'SiegeHalftime' ); + commandToClient( %client, 'ControlObjectReset' ); + + clientResetTargets(%client, true); + %client.notReady = true; + } + } + + %game.schedule( $Host::Siege::Halftime, halftimeOver ); + } + else + { + // let's wrap it all up + %game.gameOver(); + cycleMissions(); + } +} + +function SiegeGame::halftimeOver( %game ) +{ + // drop all players into mission + %game.dropPlayers(); + + //setup the AI for the second half + %game.aiHalfTime(); + + // start the mission again (release players) + %game.halfTimeCountDown( $Host::warmupTime ); + + //redo the objective waypoints + %game.findObjectiveWaypoints(); +} + +function SiegeGame::dropPlayers( %game ) +{ + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + if( !%client.isAIControlled() ) + { + // keep observers in observer mode + if(%client.team == 0) + %client.camera.getDataBlock().setMode(%client.camera, "justJoined"); + else + { + %game.spawnPlayer( %client, false ); + + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + %client.notReady = false; + } + } + } +} + +function SiegeGame::resetPlayers(%game) +{ + // go through the client group and reset anything the players were using + // is most of this stuff really necessary? + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + %player = %client.player; + + // clear the pack icon + messageClient(%client, 'msgPackIconOff', ""); + // if player was firing, stop firing + if(%player.getImageTrigger($WeaponSlot)) + %player.setImageTrigger($WeaponSlot, false); + + // if player had pack activated, deactivate it + if(%player.getImageTrigger($BackpackSlot)) + %player.setImageTrigger($BackpackSlot, false); + + // if player was in a vehicle, get rid of vehicle hud + commandToClient(%client, 'setHudMode', 'Standard', "", 0); + + // clear player's weapons and inventory huds + %client.SetWeaponsHudClearAll(); + %client.SetInventoryHudClearAll(); + + // if player was at a station, deactivate it + if(%player.station) + { + %player.station.triggeredBy = ""; + %player.station.getDataBlock().stationTriggered(%player.station, 0); + if(%player.armorSwitchSchedule) + cancel(%player.armorSwitchSchedule); + } + + // if piloting a vehicle, reset it (assuming it doesn't get deleted) + if(%player.lastVehicle.lastPilot) + %player.lastVehicle.lastPilot = ""; + } +} + +function SimGroup::housekeeping(%this) +{ + // delete selectively in the MissionCleanup group + %count = %this.getCount(); + // have to do this backwards or only half the objects will be deleted + for(%i = (%count - 1); %i > -1; %i--) + { + %detritus = %this.getObject(%i); + if(%detritus.getClassName() $= "SimSet") + { + // I don't think there are any simsets we want to delete + } + else if(%detritus.getName() $= "PZones") + { + // simgroup of physical zones for force fields + // don't delete them + } + //else if (%detritus.getClassName() $= "ScriptObject") + //{ + // // this will be the game type object. + // // DEFINITELY don't want to delete this. + //} + else if(%detritus.getName() $= PosMarker) + { + //Needed to reset non static objects... + } + else if((%detritus.getName() $= "TeamDrops1") || (%detritus.getName() $= "TeamDrops2")) + { + // this will actually be a SimSet named TeamDropsN (1 or 2) + // don't want to delete the spawn sphere groups, so do nothing + } + else if (%detritus.getName() $= "PlayerListGroup") + { + // we don't want to delete PlayerListGroup (SimGroup) + } + else if (%detritus.getDatablock().getName() $= "stationTrigger") + { + //we don't want to delete triggers for stations + } + else if (%detritus.getDatablock().getName() $= "StationVehicle") + { + // vehicle stations automatically get placed in MissionCleanup in a + // position near the vehicle pad. Don't delete it. + } + else if (%detritus.getClassName() $= "Camera") + { + // Cameras should NOT be deleted + } + else + { + // this group of stuff to be deleted should include: + // mines, deployed objects, projectiles, explosions, corpses, + // players, and the like. + %detritus.delete(); + } + } +} + +function SiegeGame::groupSwapTeams(%game, %this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).swapTeams(); +} + +function SiegeGame::objectSwapTeams(%game, %this) +{ + %defTeam = %game.offenseTeam == 1 ? 2 : 1; + + if(%this.getDatablock().getName() $= "Flipflop") + { + if(getTargetSensorGroup(%this.getTarget()) != %defTeam) + { + setTargetSensorGroup(%this.getTarget(), %defTeam); + %this.team = %defTeam; + } + } + else + { + if(%this.getTarget() != -1) + { + if(getTargetSensorGroup(%this.getTarget()) == %game.offenseTeam) + { + setTargetSensorGroup(%this.getTarget(), %defTeam); + %this.team = %defTeam; + } + else if(getTargetSensorGroup(%this.getTarget()) == %defTeam) + { + setTargetSensorGroup(%this.getTarget(), %game.offenseTeam); + %this.team = %game.offenseTeam; + } + } + if(%this.getClassName() $= "Waypoint") + { + if(%this.team == %defTeam) + %this.team = %game.offenseTeam; + else if(%this.team == %game.offenseTeam) + %this.team = %defTeam; + } + } +} + +function SiegeGame::groupSwapVehiclePads(%game, %this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).swapVehiclePads(); +} + +function SiegeGame::objectSwapVehiclePads(%game, %this) +{ + %defTeam = %game.offenseTeam == 1 ? 2 : 1; + + if(%this.getDatablock().getName() $= "StationVehicle") + { + if(%this.getTarget() != -1) + { + // swap the teams of both the vehicle pad and the vehicle station + if(getTargetSensorGroup(%this.getTarget()) == %game.offenseTeam) + { + setTargetSensorGroup(%this.getTarget(), %defTeam); + %this.team = %defTeam; + setTargetSensorGroup(%this.pad.getTarget(), %defTeam); + %this.pad.team = %defTeam; + } + else if(getTargetSensorGroup(%this.getTarget()) == %defTeam) + { + setTargetSensorGroup(%this.getTarget(), %game.offenseTeam); + %this.team = %game.offenseTeam; + setTargetSensorGroup(%this.pad.getTarget(), %game.offenseTeam); + %this.pad.team = %game.offenseTeam; + } + } + } +} + +function SiegeGame::restoreObjects(%game) +{ + // restore all the "permanent" mission objects to undamaged state + %group = nameToID("MissionGroup/Teams"); + // SimGroup::objectRestore is defined in DefaultGame.cs -- it simply calls + // %game.groupObjectRestore + %group.objectRestore(); +} + +function SiegeGame::groupObjectRestore(%game, %this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).objectRestore(); +} + +function SiegeGame::shapeObjectRestore(%game, %object) +{ + //if(%object.getDatablock().getName() $= FlipFlop) + //{ + // messageAll('MsgSiegeObjRestore', "", %object.number, true); + //} + //else if(%object.getDamageLevel()) + if(%object.getDamageLevel()) + { + %object.setDamageLevel(0.0); + %object.setDamageState(Enabled); + } + if(%object.getDatablock().getName() $= "TurretBaseLarge") + { + // check to see if the turret base still has the same type of barrel it had + // at the beginning of the mission + if(%object.getMountedImage(0)) + if(%object.getMountedImage(0).getName() !$= %object.originalBarrel) + { + // pop the "new" barrel + %object.unmountImage(0); + // mount the original barrel + %object.mountImage(%object.originalBarrel, 0, false); + } + } +} + +function InteriorInstance::objectRestore(%this) +{ + // avoid console error spam +} + +function Trigger::objectRestore(%this) +{ + // avoid console error spam +} + +function TSStatic::objectRestore(%this) +{ + // avoid console error spam +} + +function ForceFieldBare::objectRestore(%this) +{ + // avoid console error spam +} + +// ------------------------------------------------------------------------ +// Waypoint managing + +function siegeGame::findObjectiveWaypoints(%game, %group) +{ + if(!%group) + %group = nameToId("MissionGroup/Teams"); + + for (%i = 0; %i < %group.getCount(); %i++) + { + %obj = %group.getObject(%i); + if(%obj.getClassName() $= SimGroup) + { + %game.findObjectiveWaypoints(%obj); + } + else if(%obj.needsObjectiveWaypoint) + { + %game.initializeWaypointAtObjective(%obj); + } + } +} + +function siegeGame::initializeWaypointAtObjective(%game, %object) +{ + // out with the old...jic + if ( %object.waypoint ) + { + if ( isObject( %object.waypoint ) ) + %object.waypoint.delete(); + else + %object.waypoint = ""; + } + + if(%object.team == %game.offenseTeam) + %team = %game.offenseTeam; + else + %team = (%game.offenseTeam == 1 ? 2 : 1); + + // to make the waypoint look a little prettier we are using the z from + // position and the x and y from worldBoxCenter + %posX = getWord(%object.getWorldBoxCenter(), 0); + %posY = getWord(%object.getWorldBoxCenter(), 1); + %posZ = getWord(%object.position, 2); + + %append = getTaggedString(%object.getDataBlock().targetTypeTag); + + %object.waypoint = new WayPoint() { + position = %posX SPC %posY SPC %posZ; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + team = %team; + name = getTaggedString(%object.nameTag) SPC %append; + }; + MissionCleanup.add(%object.waypoint); +} + +function siegeGame::switchWaypoint(%game, %waypoint) +{ + %team = %waypoint.team; + %newTeam = (%team == 1 ? 2 : 1); + + %waypoint.team = %newTeam; +} + + +function SiegeGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + cancel(%game.timeThread); + + messageAll('MsgClearObjHud', ""); +} + +function SiegeGame::sendDebriefing( %game, %client ) +{ + //if neither team captured + %winnerName = ""; + if ( $teamScore[1] == 0 && $teamScore[2] == 0 ) + %winner = -1; + + //else see if team1 won + else if ( $teamScore[1] > 0 && ( $teamScore[2] == 0 || $teamScore[1] < $teamScore[2] ) ) + { + %winner = 1; + %winnerName = $teamName[1]; + } + + //else see if team2 won + else if ($teamScore[2] > 0 && ($teamScore[1] == 0 || $teamScore[2] < $teamScore[1])) + { + %winner = 2; + %winnerName = $teamName[2]; + } + + //else see if it was a tie (right down to the millisecond - doubtful) + else if ($teamScore[1] == $teamScore[2]) + %winner = 0; + + //send the winner message + if (%winnerName $= 'Storm') + messageClient( %client, 'MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" ); + else if (%winnerName $= 'Inferno') + messageClient( %client, 'MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" ); + else + messageClient( %client, 'MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + // Mission result: + if (%winner > 0) + { + if (%winner == 1) + { + if ($teamScore[2] == 0) + messageClient(%client, 'MsgDebriefResult', "", 'Team %1 wins!', $TeamName[1]); + else + { + %timeDiffMS = $teamScore[2] - $teamScore[1]; + messageClient(%client, 'MsgDebriefResult', "", 'Team %1 won by capturing the base %2 faster!', $TeamName[1], %game.formatTime(%timeDiffMS, true)); + } + } + else + { + if ($teamScore[1] == 0) + messageClient(%client, 'MsgDebriefResult', "", 'Team %1 wins!', $TeamName[2]); + else + { + %timeDiffMS = $teamScore[1] - $teamScore[2]; + messageClient(%client, 'MsgDebriefResult', "", 'Team %1 won by capturing the base %2 faster!', $TeamName[2], %game.formatTime(%timeDiffMS, true)); + } + } + } + else + messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); + + // Game summary: + messageClient( %client, 'MsgDebriefAddLine', "", 'SUMMARY:' ); + %team1 = %game.offenseTeam == 1 ? 2 : 1; + %team2 = %game.offenseTeam; + if ( $teamScore[%team1] > 0 ) + { + %timeStr = %game.formatTime($teamScore[%team1], true); + messageClient( %client, 'MsgDebriefAddLine', "", '%1 captured the %2 base for Team %3 in %4.', %game.capPlayer[%team1], $TeamName[%team2], $TeamName[%team1], %timeStr); + } + else + messageClient( %client, 'MsgDebriefAddLine', "", 'Team %1 failed to capture the base.', $TeamName[%team1]); + + if ( $teamScore[%team2] > 0 ) + { + %timeStr = %game.formatTime($teamScore[%team2], true); + messageClient( %client, 'MsgDebriefAddLine', "", '%1 captured the %2 base for Team %3 in %4.', %game.capPlayer[%team2], $TeamName[%team1], $TeamName[%team2], %timeStr); + } + else + messageClient( %client, 'MsgDebriefAddLine', "", 'Team %1 failed to capture the base.', $TeamName[%team2]); + + // List out the team rosters: + messageClient( %client, 'MsgDebriefAddLine', "", '\n%1%2', $TeamName[1], $TeamName[2] ); + %max = $TeamRank[1, count] > $TeamRank[2, count] ? $TeamRank[1, count] : $TeamRank[2, count]; + for ( %line = 0; %line < %max; %line++ ) + { + %plyr1 = $TeamRank[1, %line] $= "" ? "" : $TeamRank[1, %line].name; + %plyr2 = $TeamRank[2, %line] $= "" ? "" : $TeamRank[2, %line].name; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %plyr1, %plyr2 ); + } + + // Show observers: + %count = ClientGroup.getCount(); + %header = false; + for ( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject( %i ); + if ( %cl.team <= 0 ) + { + if ( !%header ) + { + messageClient( %client, 'MsgDebriefAddLine', "", '\nOBSERVERS' ); + %header = true; + } + + messageClient( %client, 'MsgDebriefAddLine', "", ' %1', %cl.name ); + } + } +} + +function SiegeGame::clientMissionDropReady(%game, %client) +{ + messageClient(%client, 'MsgClientReady', "", %game.class); + + for(%i = 1; %i <= %game.numTeams; %i++) + { + %isOffense = (%i == %game.offenseTeam); + messageClient(%client, 'MsgSiegeAddTeam', "", %i, $teamName[%i], %isOffense); + } + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + DefaultGame::clientMissionDropReady(%game, %client); +} + +function SiegeGame::assignClientTeam(%game, %client, %respawn) +{ + DefaultGame::assignClientTeam(%game, %client, %respawn); + + // if player's team is not on top of objective hud, switch lines + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); +} + +function SiegeGame::resetScore(%game, %client) +{ + %client.score = 0; + %client.kills = 0; + %client.deaths = 0; + %client.suicides = 0; + %client.objScore = 0; + %client.teamKills = 0; + %client.turretKills = 0; + %client.offenseScore = 0; + %client.defenseScore = 0; +} + +//--------------- Scoring functions ----------------- +function SiegeGame::recalcScore(%game, %cl) +{ + %killValue = %cl.kills * %game.SCORE_PER_KILL; + %deathValue = %cl.deaths * %game.SCORE_PER_DEATH; + + if (%killValue - %deathValue == 0) + %killPoints = 0; + else + %killPoints = (%killValue * %killValue) / (%killValue - %deathValue); + + %cl.offenseScore = %killPoints; + %cl.offenseScore += %cl.teamKills * %game.SCORE_PER_TEAMKILL; // -1 + %cl.offenseScore += %cl.objScore; + + %cl.defenseScore = %cl.turretKills * %game.SCORE_PER_TURRET_KILL; // 1 + + %cl.score = %cl.offenseScore + %cl.defenseScore; + %cl.score = mFloor(%cl.score); + %game.recalcTeamRanks(%cl); +} + +function SiegeGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if(%game.testTurretKill(%implement)) //check for turretkill before awarded a non client points for a kill + { + %game.awardScoreTurretKill(%clVictim, %implement); + } + else if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %game.awardScoreKill(%clKiller); + %game.awardScoreDeath(%clVictim); + } + else + { + if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + { + %game.awardScoreSuicide(%clVictim); + } + else + { + if (%game.testTeamKill(%clVictim, %clKiller)) //otherwise test for a teamkill + %game.awardScoreTeamKill(%clVictim, %clKiller); + } + } +} + +function SiegeGame::testValidRepair(%game, %obj) +{ + return ((%obj.lastDamagedByTeam != %obj.team) && (%obj.repairedBy.team == %obj.team)); +} + +function SiegeGame::genOnRepaired(%game, %obj, %objName) +{ + + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgGenRepaired', '\c0%1 repaired the %2 generator!', %repairman.name, %obj.nameTag); + } +} + +function SiegeGame::stationOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgStationRepaired', '\c0%1 repaired the %2 inventory station!', %repairman.name, %obj.nameTag); + } +} + +function SiegeGame::sensorOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgSensorRepaired', '\c0%1 repaired the %2 pulse sensor!', %repairman.name, %obj.nameTag); + } +} + +function SiegeGame::turretOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 turret!', %repairman.name, %obj.nameTag); + } +} + +function SiegeGame::vStationOnRepaired(%game, %obj, %objName) +{ + if (%game.testValidRepair(%obj)) + { + %repairman = %obj.repairedBy; + messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 vehicle station!', %repairman.name, %obj.nameTag); + } +} + +function SiegeGame::halfTimeCountDown(%game, %time) +{ + %game.secondHalfCountDown = true; + $MatchStarted = false; + + %timeMS = %time * 1000; + %game.schedule(%timeMS, "startSecondHalf"); + notifyMatchStart(%timeMS); + + if(%timeMS > 30000) + schedule(%timeMS - 30000, 0, "notifyMatchStart", 30000); + if(%timeMS > 20000) + schedule(%timeMS - 20000, 0, "notifyMatchStart", 20000); + if(%timeMS > 10000) + schedule(%timeMS - 10000, 0, "notifyMatchStart", 10000); + if(%timeMS > 5000) + schedule(%timeMS - 5000, 0, "notifyMatchStart", 5000); + if(%timeMS > 4000) + schedule(%timeMS - 4000, 0, "notifyMatchStart", 4000); + if(%timeMS > 3000) + schedule(%timeMS - 3000, 0, "notifyMatchStart", 3000); + if(%timeMS > 2000) + schedule(%timeMS - 2000, 0, "notifyMatchStart", 2000); + if(%timeMS > 1000) + schedule(%timeMS - 1000, 0, "notifyMatchStart", 1000); +} + +function SiegeGame::applyConcussion(%game, %player) +{ +} + +function SiegeGame::updateScoreHud(%game, %client, %tag) +{ + %timeElapsedMS = getSimTime() - %game.startTimeMS; + %curTimeLeftMS = %game.timeLimitMS - %timeElapsedMS; + + if (!$MatchStarted) + %curTimeLeftStr = %game.formatTime(%game.timelimitMS, false); + else + %curTimeLeftStr = %game.formatTime(%curTimeLeftMS, false); + + // Send header: + if (%game.firstHalf) + messageClient( %client, 'SetScoreHudHeader', "", 'Team %1 has %2 to capture the base.', + $teamName[%game.offenseTeam], %curTimeLeftStr ); + else + messageClient( %client, 'SetScoreHudHeader', "", 'Team %1 must capture the base within %2 to win.', + $teamName[%game.offenseTeam], %curTimeLeftStr ); + + // Send subheader: + messageClient( %client, 'SetScoreHudSubheader', "", '\t%1 (%2)\t%3 (%4)', + $TeamName[1], $TeamRank[1, count], $TeamName[2], $TeamRank[2, count] ); + + %index = 0; + while (true) + { + if (%index >= $TeamRank[1, count] && %index >= $TeamRank[2, count]) + break; + + //get the team1 client info + %team1Client = ""; + %team1ClientScore = ""; + %col1Style = ""; + if (%index < $TeamRank[1, count]) + { + %team1Client = $TeamRank[1, %index]; + %team1ClientScore = %team1Client.score $= "" ? 0 : %team1Client.score; + if ( %team1Client == %client ) + %col1Style = ""; + } + + //get the team2 client info + %team2Client = ""; + %team2ClientScore = ""; + %col2Style = ""; + if (%index < $TeamRank[2, count]) + { + %team2Client = $TeamRank[2, %index]; + %team2ClientScore = %team2Client.score $= "" ? 0 : %team2Client.score; + if ( %team2Client == %client ) + %col2Style = ""; + } + + + //if the client is not an observer, send the message + if (%client.team != 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%3%1\t%4%2', + %team1Client.name, %team2Client.name, %col1Style, %col2Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%3%1\t%4%2', + %team1Client.name, %team2Client.name, %col1Style, %col2Style, %team1Client, %team2Client ); + } + + %index++; + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/SinglePlayerGame.cs b/public/base/@vl2/scripts.vl2/scripts/SinglePlayerGame.cs new file mode 100644 index 00000000..4fba7a69 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/SinglePlayerGame.cs @@ -0,0 +1,1310 @@ +// Training Script +//echo("Running Training Script"); + +datablock EffectProfile(TrainingHudUpdateEffect) +{ + effectname = "gui/objective_notification"; + minDistance = 10; +}; + +datablock AudioProfile(TrainingHudUpdateSound) +{ + filename = "gui/objective_notification.wav"; + description = AudioDefault3d; + effect = TrainingHudUpdateEffect; + preload = true; +}; + +datablock AudioProfile(MessageRecieveSound) +{ + filename = "gui/objective_notification.wav"; + description = AudioDefault3d; + preload = true; +}; + +// for training5 +datablock ForceFieldBareData(defaultNoTeamLavaLightField) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0; + teamPermiable = false; + otherPermiable = false; + color = "1.0 0.4 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +// load the voice text and wav file +exec("scripts/spDialog.cs"); + + +function setSinglePlayerGlobals() +{ + // server settings + //$MPRestoreBotCount = $Host::BotCount; this one is done automatically in server.cs + $MPRestoreBotMatchBotCount = $Host::BotMatchBotCount; + $MPRestoreBotsEnabled = $Host::BotsEnabled; + $MPRestoreMaxBotDifficulty = $Host::MaxBotDifficulty; + $MPRestoreMaxPlayers = $Host::MaxPlayers; + $MPRestoreMinBotDifficulty = $Host::MinBotDifficulty; + $MPRestoreTimeLimit = $Host::TimeLimit; + $MPRestoreTournamentMode = $Host::TournamentMode; + $MPRestorewarmupTime = $Host::warmupTime; + $MPRestoreTeamDamage = $teamDamage; + + //$Host::BotCount = "0"; + $Host::BotMatchBotCount = "0"; + $Host::BotsEnabled = "0"; + $Host::MaxBotDifficulty = "1"; + $Host::MaxPlayers = "64"; + $Host::MinBotDifficulty = "0"; + $Host::TimeLimit = "9999999"; + $Host::TournamentMode = "false"; + $Host::warmupTime = "0"; + + if($pref::trainingDifficulty < 1 || $pref::trainingDifficulty > 3) + $pref::trainingDifficulty = 1; + + if($pref::trainingDifficulty == 1) + $teamDamage = false; + else + $teamDamage = true; + + + // game settings + $MPRestoreteamSkin[1] = $teamSkin[1]; + $MPRestoreteamName[1] = $teamName[1]; + $MPRestoreholoName[1] = $holoName[1]; + $MPRestoreswitchSkin[1] = $switchSkin[1]; + + $MPRestoreteamSkin[2] = $teamSkin[2]; + $MPRestoreteamName[2] = $teamName[2]; + $MPRestoreholoName[2] = $holoName[2]; + $MPRestoreswitchSkin[2] = $switchSkin[2]; + + $playerTeam = 1; + $teamSkin[$playerTeam] = 'swolf'; + $teamName[$playerTeam] = 'StarWolf'; + $holoName[$playerTeam] = "StarWolf"; + $switchSkin[$playerTeam] = 'swolf'; + $playerLivesAtEasy = 3; + + $EnemyTeam = 2; + $teamSkin[$EnemyTeam] = 'Horde'; + $teamName[$EnemyTeam] = 'Bioderm Horde'; +// $holoName[$enemyTeam] = "Bioderm"; +// $switchSkin[$enemyTeam] = 'Bioderm'; + + if($enemyName $= "") + $EnemyName = "Enemy"; + + $trainingDefenseTauntList = "bas.enemy slf.att.attack slf.def.defend wrn.enemy tgt.acquired gbl.brag slf.def.base vqk.help"; + $trainingOffenseTauntList = "slf.att.attack gbl.brag vqk.help att.distract att.attack ene.disarray glb.awesome need.cover"; +} + +function resetSinglePlayerGlobals() +{ + + //error("================ single player global vars reset!"); + // server settings + //$Host::BotCount = $MPRestoreBotCount; + $Host::BotMatchBotCount = $MPRestoreBotMatchBotCount; + $Host::BotsEnabled = $MPRestoreBotsEnabled; + $Host::MaxBotDifficulty = $MPRestoreMaxBotDifficulty; + $Host::MaxPlayers = $MPRestoreMaxPlayers; + $Host::MinBotDifficulty = $MPRestoreMinBotDifficulty; + $Host::TimeLimit = $MPRestoreTimeLimit; + $Host::TournamentMode = $MPRestoreTournamentMode; + $Host::warmupTime = $MPRestorewarmupTime; + $teamDamage = $MPRestoreTeamDamage; + + // game settings + $teamSkin[1] = $MPRestoreteamSkin[1]; + $teamName[1] = $MPRestoreteamName[1]; + $holoName[1] = $MPRestoreholoName[1]; + $switchSkin[1] = $MPRestoreswitchSkin[1]; + + $teamSkin[2] = $MPRestoreteamSkin[2]; + $teamName[2] = $MPRestoreteamName[2]; + $holoName[2] = $MPRestoreholoName[2]; + $switchSkin[2] = $MPRestoreswitchSkin[2]; +} + +// Actors +//======================================================================================= + +function addEnemies() +{ + %num = $numberOfEnemies[$pref::TrainingDifficulty]; + error("Adding " @ %num @" enemies!"); + + %group = nameToId("MissionGroup/Teams/Team2/DropPoints"); + + for(%i = 0; %i < %num; %i++){ + %name = getUniqueEnemyName(); + %voice = "Derm"@getRandom(1,3); + %voicePitch = 1 - ((getRandom(20) - 10)/100); + + //%client = AIConnect($EnemyName@%i, $EnemyTeam, $missionBotSkill[$pref::TrainingDifficulty], true); + %client = AIConnect(%name, $EnemyTeam, $missionBotSkill[$pref::TrainingDifficulty], true, %voice, %voicePitch); + $Enemy[%i] = %client; + %client.race = "Bioderm"; + + setTargetSkin(%client.target, $teamSkin[$enemyTeam]); + //setTargetVoice(%client.target, addTaggedString(%client.voice)); + + //error("Setting race of "@$Enemy[%i]@" to "@$Enemy[%i].race); + if(%group.getObject(%i).Equipment || %group.getObject(%i).specialObjectives) { + %client.equipment = %group.getObject(%i).Equipment; + //error("Client: "@%client@ " has equipment "@%client.equipment); + %client.SpecialObjectives = %group.getObject(%i).SpecialObjectives; + //error("Client: "@%client@ " has specialEd "@%client.SpecialObjectives); + game.equip(%client.player); + } + + // this seems redundant after equip + %client.player.setArmor(%client.armor); + } +} + +// there are times (missions 2 and 4) where bots are not added with +// addEnemies(). there are x waves of bots with y number in each wave +// i do it a couple of times so im going to localize it here rather than +// do it twice or cut and paste it +function spawnWave(%wave) +{ + for(%i=1; %i<=$numberInWave[$pref::TrainingDifficulty]; %i++) { + %name = getUniqueEnemyName(); + %voice = "Derm"@getRandom(1,3); + %voicePitch = 1 - ((getRandom(20) - 10)/100); + %thisAi = aiConnect(%name, $enemyTeam, $missionBotSkill[$pref::TrainingDifficulty], false, %voice, %voicePitch); + //%thisAi = aiConnect("Wave"@%wave@"num"@%i, $enemyTeam, $missionBotSkill[$pref::TrainingDifficulty], false); + // here we differentiate the different drop points for wave spawned bots (these spawned bots are "!offense") + //error("added enemy "@%thisAi); + %thisAi.race = "Bioderm"; + %thisAi.voice = "Derm"@getRandom(3); + setTargetSkin(%thisAI.target, $teamSkin[$enemyTeam]); + setTargetVoice(%thisAI.target, addTaggedString(%thisAI.voice)); + %equipment = pickEquipment(); + game.equip(%thisAi.player, %equipment); + //%client.player.setArmor(%thisAi.armor); + + //create a little group + game.NumberInWave[%wave]++; + %thisAI.MemberOfWave = %wave; + + //anything mission specific that has to be done with this client + missionSpawnedAI(%thisAi); + } + game.spawnWaveTimer = spawnWaveTimer(%wave, false); +} + + +function addPlayersTeam(%num) +{ + //echo($player.team@"<---------players team on addPlayerTeam"); + + getTeammateGlobals(); + + for(%i=0; %i< %num; %i++){ + $Teammate[%i] = %client = AIConnect($TeammateWarnom[%i], $playerTeam, $teammateSkill[%i], true, $teammateVoice[%i]); + + %client.sex = $teammateGender[%i]; + %client.equipment = $teammateEquipment[%i]; + setTargetSkin(%client.target, $teamSkin[$playerTeam]); + game.equip(%client.player); + %client.player.setArmor(%client.armor); + + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AIUseInventoryTask); + %client.addTask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + } + + } + + //add Player=============================================================== + $player.lives = $playerLivesAtEasy - $pref::TrainingDifficulty; + + game.spawnPlayer($player, false); + setTargetSkin($player.target, $teamSkin[$playerTeam]); + +} + +function getUniqueEnemyName() +{ + if(!$enemyNameCount) + return; + + %used = false; + %name = pickUniqueEnemyName(); + %used = enemyNameIsUsed(%name); + while(%used) + { + if(%emergency++ > 1000) + { + //error("Too many times in the name while loop...using DEFAULT"); + return $enemyName; + } + %name = pickUniqueEnemyName(); + %used = enemyNameIsUsed(%name); + } + return %name; +} + +function pickUniqueEnemyName() +{ + %random = getRandom(1, $enemyNameCount); + %name = $EnemyNameList[%random]; + //error("returning" SPC %name SPC "from pick"); + return %name; +} + +function enemyNameIsUsed(%name) +{ + %number = game.usedNameCount; + for(%i = 0; %i <= %number; %i++) + { + if(game.usedName[%i] $= %name) + return true; + } + // the name is unused + game.usedName[game.usedNameCount++] = %name; + return false; +} + +function spawnWaveTimer(%wave, %reset) +{ + //error("SpawnTimer ACTIVATED"); + + if(%reset) + { + cancel(game.spawnWaveTimer); + %timeForAction = 60000 * 2; //2 min + } + else %timeForAction = 60000 * 4; //4 min + + game.spawnWaveTimer = schedule(%timeForAction, game, destroyWave, %wave); +} + +function DestroyWave(%wave) +{ + // this group has enemies in it that are dawdling and + // need to be killed to keep the game progressing + %num = clientGroup.getCount(); + for(%i = 0; %i < %num; %i++) + { + %client = clientGroup.getObject(%i); + if(%client.player && %client.MemberOfWave == %wave) + { + %client.player.applyDamage(%client.player.getDataBlock().maxDamage); + enemyWaveMemberKilled(%client); + } + } +} + + +function SinglePlayerGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if(game.missionOver) + return; + %clVictim.dead = true; + if(%clvictim.team == $enemyTeam && getRandom(1,1000) == 69) + doText(Any_jingo02); + missionClientKilled(%clVictim, %clKiller); + if(%clVictim.MemberOfWave) + enemyWaveMemberKilled(%clVictim ); + + Parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement); + cancel(%clVictim.respawnTimer); + + if(%clVictim == $player) { + // dead players are not out of bounds + cancel($player.OOB); + + $player.deaths++; + %num = $player.lives; + if( %num >= 1) { + if(%num == 1) + %textNum = "one life"; + else %textNum = %num SPC "lives"; + messageBoxOk("Restart", "You have" SPC %textNum SPC "remaining.", "spawnSinglePlayer();"); + } + else schedule(3000, $player.player, singlePlayerDead); + } +} + +function enemyWaveMemberKilled(%client) +{ + %wave = %client.MemberOfWave; + %remaining = game.numberInWave[%wave]--; + //error("Debug: Script reports that client " @ %client @ " was a member of wave " @ %wave @ " that now has " @ %remaining @ " members remaining."); + if(%remaining == 0) { + missionWaveDestroyed(%wave); + + if (%wave+1 <= $numberOfWaves[$pref::TrainingDifficulty]) + spawnWave(%wave+1); + //else error("Debug: " @ %wave @ " was the last wave."); + } +} + +function SinglePlayerGame::assignClientTeam(%game, %client) +{ + // The players team is set in singlePlayer::clientMissionDropReady + // and the bots are added to a team with aiConnect + // so this is unnecessary +} + +function singlePlayerGame::AIHasJoined() +{ + // Big deal...my missions are crawling with AI + // lets get rid of this mundane console spam +} + +function SinglePlayerGame::updateKillScores() +{ + // Do nothing other than get rid of the console warning... +} + +function singlePlayerGame::biodermAssume(%game, %client) +{ + //error(%client SPC "might talk."); + // dont do anything if we have just done this + if(%client.spgSpeaking) + return; + + %probability = 2; + %time = 30; // secs + + // we are going to POSSIBLY talk. flag it for %time secs + %client.spgSpeaking = true; + schedule(%time * 1000, %client, resetSpeakingFlag, %client); + + if(getRandom(%probability) == 1) + trainingBiodermSpeaks(%client); + +} + +function resetSpeakingFlag(%client) +{ + //error(%client SPC "can now speak again."); + %client.spgSpeaking = false; +} + +function trainingBiodermSpeaks(%client) +{ + if(%client.offense) // offense = defense? + %tauntlist = $trainingDefenseTauntList; //yes this seem wrong but its not + else + %tauntlist = $trainingOffenseTauntList; + %num = getWordCount(%tauntList); + %random = getRandom(%num - 1); + %use = getWord(%tauntList, %random); + //echo("Derm taunting:" SPC %use); + + playTargetAudio( %client.target, addTaggedString(%use), AudioClose3d, false ); +} + +function singlePlayerDead() +{ + missionFailed($player.miscMsg[trainingDeathLoss]); + AIMissionEnd(); + $objectiveQ[$enemyTeam].clear(); + cancel($player.distanceCheckSchedule); +} + +function SinglePlayerGame::missionLoadDone(%game) +{ + DefaultGame::missionLoadDone(%game); + + setSinglePlayerGlobals(); + $matchStarted = true; + //this has to happen sometime because game.startMatch never gets called + %game.clearDeployableMaxes(); +} + + +function SinglePlayerGame::notifyMatchStart(%game, %time) +{ + //do nothing +} + + +function SinglePlayerGame::clientMissionDropReady(%game, %client) +{ + DefaultGame::clientMissionDropReady(%game, %client); + + //echo(%client @ " is single player Ready!!!"); + messageClient(%client, 'MsgClientReady', "", %game.class); + + $Player = %client; + $player.race = "Human"; + $player.team = $playerTeam; + $player.setTeam($playerTeam); + setTargetSkin($teammate[%i].target, $teamSkin[$playerTeam]); + $player.clearBackpackIcon(); + + createText($player); + HUDMessageVector.clear(); + messageClient(%client, 'MsgMissionDropInfo', "", $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + // We don't start in observer mode, so disable: + commandToClient(%client, 'setHudMode', 'Standard'); + + //custom training keymap + %game.createCustomKeyMap(); + + + addEnemies(); + //echo($player.team@"<---------players team on mission drop ready"); + addPlayersTeam($numberOfTeammates); + + //everybody's in, enable the AI system + AISystemEnabled(true); + + $player.setControlObject( $player.player ); + $player.camera = new Camera() + { + dataBlock = Observer; + }; + + startCurrentMission(%game); +} + +function SinglePlayerGame::AIInit(%game) +{ + //error("initializing Bot Q's for SinglePlayerGame..."); + for (%i = 0; %i <= %game.numTeams; %i++) + { + if (!isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i] = new AIObjectiveQ(); + MissionCleanup.add($ObjectiveQ[%i]); + } + + //error("team " @ %i @ " objectives load..."); + $ObjectiveQ[%i].clear(); + AIInitObjectives(%i, %game); + } + + AIInit(); + + // Bots never throw grenades on Easy skills + if($pref::TrainingDifficulty == 1) + $AIDisableGrenades = true; +} + +// unlike the MP game, sometimes we start with switches (flipFlops) +// already on one team or the other and they are unskinned +function setFlipFlopSkins(%group) +{ + if(!%group) + %group = nameToID("Teams"); + + for(%i = 0; %i < %group.getCount(); %i++) { + %this = %group.getObject(%i); + if(%this.getClassName() $= "SimGroup") + setFlipFlopSkins(%this); + else if(%this.getDataBlock().getName() $= "FlipFlop") + setTargetSkin(%this.getTarget(), $teamSkin[%this.team]); + } +} + + + +function singlePlayerGame::gameOver(%game) +{ + moveMap.push(); + + ServerConnection.setBlackOut(false, 0); + + $timeScale = 1; + + game.missionOver = true; + + // clear the inventory and weapons hud + // BH: This doesn't actually DO anything... + //error("clearing Inv HUD for client " @ $player); + //$player.SetInventoryHudClearAll(); + + // im gonna try dropping all the clients + %count = clientGroup.getCount(); + echo("count=" SPC %count); + for(%i = 0; %i < %count; %i++) { + %client = clientGroup.getObject(%i); + game.client[%i] = %client; + freeClientTarget(%client); + } + for(%i = 0; %i < %count; %i++) { + %client = game.client[%i]; + echo("client=" SPC %client); + if(%client.isAIControlled()) + %client.drop(); + } + + //disable the AI system + AISystemEnabled(false); + $AIDisableChatResponse = ""; + + game.deactivatePackages(); + + if(isObject( $player.currentWaypoint )) + $player.currentWaypoint.delete(); + + if($player.OOB) + cancel($player.OOB); + + // clear the objective HUD + messageClient($player, 'MsgClearObjHud', ""); + + resetSinglePlayerGlobals(); + + $currentMissionType = ""; + DefaultGame::GameOver(%game); +} + +function singlePlayerGame::deactivatePackages(%game) +{ + error("singlePlayerGame packages deactivated"); + //Deactivate packages...gotta catch'm all + //deactivatepackage(SinglePlayer); + deactivatepackage(Training1); + deactivatepackage(Training2); + deactivatepackage(Training3); + deactivatepackage(Training4); + deactivatepackage(Training5); + deactivatepackage(Training6); + deactivatePackage(singlePlayerMissionAreaEnforce); +} +//------------------------------------------------------------------------------------ + + +// Voice line, text, function and audio parsing +//================================================================================= +// this is how we handle ALL the voice distribition and playing +// its NOT pretty +function doText(%name, %extraTime, %priority) +{ + if($player.text[%name, priority] || %priority) + addToQueueNext(%name); + else addToQueueEnd(%name); + + $player.text[%name, extraTime] = %extraTime; + processText(false); +} + +function processText(%cont) +{ + //we may need to fudge everysound to get it timed right + %universalSoundFudgingConstant = 400; + + if(isEventPending($currentlyPlaying) && !%cont) + return; + + %name = $player.Textque0; + if(%name $= "") + return; + + //echo("processing: "@%name); + if($player.Text[%name, eval] !$= "") + { + if (!isPureServer()) + eval($player.text[%name, eval]); + else + processTextEval($player.text[%name, eval]); + } + if($player.Text[%name, text] !$= "") { + // the old way: messageClient($player, 0, '\c2%1: %2',$trainerName, $player.Text[%name, line]); + messageClient($player, 0, "\c5"@$player.Text[%name, text]); + serverPlay2d(MessageRecieveSound); + } + if($player.Text[%name, wav] !$= "") { + //messageClient($player, 0, "~w"@$player.Text[%name, wav]); + %audio = alxCreateSource( AudioChat, $player.Text[%name, wav] ); + alxPlay( %audio ); + } + + removeFromQueue(); + + %wavLen = alxGetWaveLen($player.text[%name, wav]); + //if(%wavLen < 400) + // %wavLen = 400; // you cant go back in time, vge + + %time = %wavLen + $player.text[%name, extraTime] + %universalSoundFudgingConstant; + //echo("total delay time of"@%time); + + $currentlyPlaying = schedule(%time, $player.player, processText, true); + //if (!isPureServer()) + // schedule(%time, 0, eval, "$currentlyPlaying = false;"); + //else + // schedule(%time, 0, SPUnsetCurrentlyPlaying); +} + +function SPUnsetCurrentlyPlaying() +{ + $currentlyPlaying = ""; +error(getSimTime() SPC "DEBUG setting currentlyPlaying null"); +} + +function processTextEval(%evalStmt) +{ + switch$ (%evalStmt) + { + case "singlePlayerPlayGuiCheck();": + singlePlayerPlayGuiCheck(); + + case "schedule(3000, 0, disconnect);": + schedule(3000, 0, disconnect); + + case "lockArmorHack();autoToggleHelpHud(true);": + lockArmorHack();autoToggleHelpHud(true); + + case "flashMessage();": + flashMessage(); + + case "flashObjective();": + flashObjective(); + + case "flashCompass();": + flashCompass(); + + case "flashHealth();": + flashHealth(); + + case "flashEnergy();": + flashEnergy(); + + case "flashInventory();": + flashInventory(); + + case "flashSensor();": + flashSensor(); + + case "autoToggleHelpHud(false);": + autoToggleHelpHud(false); + + case "setWaypointAt(\"-287.5 393.1 76.2\", \"Health Patches\");movemap.push();$player.player.setMoveState(false);": + setWaypointAt("-287.5 393.1 76.2", "Health Patches");movemap.push();$player.player.setMoveState(false); + + case "$player.hurryUp = schedule(40000, 0, hurryPlayerUp); endOpeningSpiel(); updateTrainingObjectiveHud(obj8);": + $player.hurryUp = schedule(40000, 0, hurryPlayerUp); endOpeningSpiel(); updateTrainingObjectiveHud(obj8); + + case "updateTrainingObjectiveHud(obj7);": + updateTrainingObjectiveHud(obj7); + + case "flashWeapon(0);": + flashWeapon(0); + + case "flashWeapon(2);": + flashWeapon(2); + + case "flashWeapon(3); ": + flashWeapon(3); + + case "flashWeaponsHud();": + flashWeaponsHud(); + + case "use(Blaster);": + use(Blaster); + + case "queEnemySet(0); activatePackage(singlePlayerMissionAreaEnforce);": + queEnemySet(0); activatePackage(singlePlayerMissionAreaEnforce); + + case "setWaypointat(nameToId(Tower).position, \"BE Tower\"); updateTrainingObjectiveHud(obj4);": + setWaypointat(nameToId(Tower).position, "BE Tower"); updateTrainingObjectiveHud(obj4); + + case "flashPack();": + flashPack(); + + case "updateTrainingObjectiveHud(obj3);": + updateTrainingObjectiveHud(obj3); + + case "setWaypointAt(\"-8.82616 -131.779 119.756\", \"Control Switch\");": + setWaypointAt("-8.82616 -131.779 119.756", "Control Switch"); + + case "setWaypointAt(nameToId(InitialPulseSensor).position, \"Sensor\");": + setWaypointAt(nameToId(InitialPulseSensor).position, "Sensor"); + + case "setWaypointAt(\"-8.82616 -131.779 119.756\", \"Tower\");": + setWaypointAt("-8.82616 -131.779 119.756", "Tower"); + + case "setWaypointAt(\"380.262 -298.625 98.9719\", \"Tower\");": + setWaypointAt("380.262 -298.625 98.9719", "Tower"); + + case "firstPersonQuickPan();": + firstPersonQuickPan(); + + case "ThreeAEval();": + ThreeAEval(); + + case "game.ExpectiongSupportButton = true;": + game.ExpectiongSupportButton = true; + + case "game.expectingRepairOrder = true;": + game.expectingRepairOrder = true; + + case "$random = getRandom(20,40);schedule($random, 0, doText, T4_TipDefense06);": + $random = getRandom(20,40);schedule($random, 0, doText, T4_TipDefense06); + + case "training5addSafeDistance();": + training5addSafeDistance(); + } +} + + +function removeFromQueue() +{ + %i = 1; + while($player.textque[%i] !$= "") { + $player.textque[%i-1] = $player.textque[%i]; + %i++; + } + $player.textque[%i-1] = ""; +} + + +function addToQueueEnd(%name) +{ + %q = 0; + while($player.Textque[%q] !$= ""){ + %q++; + } + $player.Textque[%q] = %name; +} + +function addToQueueNext(%name) +{ + %q = 0; + while($player.Textque[%q] !$= ""){ + %q++; + } + for(%i=%q; %i>0; %i--) + $player.textque[%i] = $player.textque[%i-1]; + $player.textque0 = %name; +} + +function echoQueue() +{ + echo("Textque -------------------------------"); + %i = 0; + while($player.Textque[%i] !$= "") { + echo(%i@": "@$player.Textque[%i]); + %i++; + } +} + +function clearQueue() +{ + for(%i=0;%i<100; %i++) + $player.textQue[%i] = ""; +} + +//handy waypoint setting tool +//========================================================================= +function setWaypointAt(%location, %name, %team) +{ + %team = (!%team ? $playerTeam : %team); + // if(!%name) + // %name = ""; + if ( isObject( $player.currentWaypoint ) ) + $player.currentWaypoint.delete(); + + $player.currentWaypoint = new WayPoint(TurretTower) { + position = %location; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + team = %team; + name = %name; + }; + MissionCleanup.add($player.currentWaypoint); +} + +//this is just a little consolidation of functions +//its a little gregarious but allows text to live in spdialg.cs +//intent is to make hud updating easier and localization easier too ;) +function updateTrainingObjectiveHud( %objectiveNum ) +{ + + //sound + objectiveHud.setVisible(false); + if (!isPureServer()) + schedule(400, game, eval, "objectiveHud.setVisible(true);"); + else + schedule(400, game, setObjHudVisible); + + serverPlay2d(TrainingHudUpdateSound); + + //clear old text + messageClient($player, 'MsgSPCurrentObjective1', "", ' '); + messageClient($player, 'MsgSPCurrentObjective2', "", ' '); + + // find the lines from the spdialog file that are now attached to the sp client + %who = $player; + %mission = $currentMission; + for(%x = 1; %x <= 2; %x++) + %newObjectiveLine[%x] = $player.objHud[%mission, %objectiveNum, %x]; + + //add new text + messageClient($player, 'MsgSPCurrentObjective1', "", %newObjectiveLine1); + if(%newObjectiveLine2 !$= "") + messageClient($player, 'MsgSPCurrentObjective2', "", %newObjectiveLine2); +} + +function setObjHudVisible() +{ + objectiveHud.setVisible(true); +} + + +// Misc/Overwrites +//======================================================================================= + +function isSafe(%object, %radius) +{ + %team = %object.team; + %position = %object.player.getTransform(); + + //check for enemy players + %num = clientGroup.getCount(); + for(%client = 0; %client <= %num; %client++) + { + if(%team != %client.team && %client.player) { + %enemyPos = %client.player.getTransform(); + //okay, just in case we dont have a player for that client + //AND are close to "0 0 0" vge + if(!%enemyPos) + %dist = 100000; + else %dist = vectorDist(%position, %enemyPos); + //error("Debug: Client "@%client@" is "@%dist@" away"); + if ( %dist < %radius){ + //error("Unsafe because of client "@%client@" at a distance of "@%dist@"!!!!"); + return false; + } + } + } + //error("Safe for a radius of "@%radius@"!"); + return true; +} + +function singlePlayerGame::onAIRespawn(%game, %client) +{ + // add the default tasks + + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AIUseInventoryTask); + %client.addTask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + if(%client.team == $playerTeam || $pref::trainingDifficulty == 3) + %client.addTask(AITauntCorpseTask); + } +} + + +function singlePlayerGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + // dont respawn AI (this is overwritten in some of the mission packages) +} + + +function singleplayerGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + //the DefaultGame will set some vars + DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement); + + //now see if both were on the same team + if(%clAttacker && %clAttacker != %clVictim && %clVictim.team == %clAttacker.team) + { + %game.friendlyFireMessage(%clVictim, %clAttacker); + } +} + +function singleplayerGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if(%clVictim.team != %clAttacker.team && %clVictim.MemberOfWave) + { + spawnWaveTimer(%clVictim.MemberOfWave, true); + } + + if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team) + { + schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0); + + //clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob! + %clVictim.lastDamageClient = -1; + } +} + +// find number of players on a team +// why isnt this in a std lib +function getPlayersOnTeam(%team) +{ + %num = clientGroup.getCount(); + for(%i=0; %i<%num; %i++){ + %client = clientGroup.getObject(%i); + if(%client.team == %team && %client.player) + %count++; + } + + return %count; +} + + +//mission completion/falure stuff============================================ +function missionComplete(%text) +{ + $player.endMission = schedule(15000, game, forceFinish); + + messageBoxOk("Victory", %text, "forceFinish();"); + + //AI stop + clearQueue(); + AIMissionEnd(); + $objectiveQ[$enemyTeam].clear(); +} + +function forceFinish() +{ + $timeScale = 1; + //kill the thread if we pressed a button to get here... + cancel($player.endMission); + + //make sure we end the game neatly + Game.gameOver(); + + //immediately disconnect - bringing us back to the main menu... + Disconnect(); +} + +function missionFailed(%text) +{ + + $player.endMission = schedule(30000, game, forceFinish); + + MessageBoxYesNo("Failure", %text, "reloadMission();", "forceFinish();"); + + //AI stop + cancel($Player.T1OpeningSpielSchedule); + cancel($Player.distanceCheckSchedule); + clearQueue(); + AIMissionEnd(); + $objectiveQ[$enemyTeam].clear(); +} + +function reloadMission() +{ + cancel($player.endMission); + Game.gameOver(); + Canvas.setContent( LoadingGui ); + loadMission($currentMission, singlePlayer); + debriefContinue(); +} + + +// silly...we fed it a movemap binding it retuns the capitalized key in (almost) english +function findTrainingControlButtons( %name ) +{ + %controlName = moveMap.getBinding(%name); + if (%controlName $= "") + return "[no key binding]"; + %prettyName = strupr(getMapDisplayName(getWord(%controlName, 0), getWord(%controlName, 1))); + %next = 2; + while( getWord( %controlName, %next ) !$= "" ) { + %extra = "-"@strupr(getWord( %controlName, 2 )); + %prettyName = %prettyName @ %extra; + %next++; + } + return %prettyName; +} + +// just a kinda cool little effect +function firstPersonQuickPan() +{ + if($firstperson) { + toggleFirstPerson($player); + schedule(4000, $player.player, toggleFirstPerson, $player); + } + +} + + +// Player spawning/respawning==================================================== +//since we are going through pickTeamSpawn rather than pickPlayerSpawn +// and for a couple other reasons, we are going to need to manually determine +// if this is a respawn or not. +function spawnSinglePlayer() +{ + $player.lives--; + + game.spawnPlayer($player, true); + $player.setControlObject($player.player); + //messageClient($player, 0, "Respawns Remaining: "@$player.lives); +} + + +function singleplayerGame::observerOnTrigger() +{ + //we dont want the player respawning (yet) + return false; +} + +function SinglePlayerGame::spawnPlayer( %game, %client, %respawn ) +{ + //error("Spawn Player: %client = " @%client@" %respawn = "@%respawn); + %spawnPoint = %game.pickPlayerSpawn( %client, %respawn ); + %game.createPlayer( %client, %spawnPoint, %respawn ); +} + +function singlePlayerGame::playerSpawned(%game, %player) +{ + defaultGame::playerSpawned(%game, %player); +} + +function singleplayerGame::pickPlayerSpawn(%game, %client, %respawn) +{ + // the bots, for some reason, always pass in %respawn as true + // well that's horse pucky, since the bots never respawn in SPG + // so I do this stupid thing + if(%client.isAIcontrolled()) + %respawn = false; + + if(!%client.offense) // this is a wave spawned attack bot + %respawn = true; + + + %game.pickTeamSpawn( %client, %respawn); +} + +function singleplayerGame::pickTeamSpawn(%game, %client, %respawn) +{ + %team = %client.team; + + if(%respawn) { + %group = nameToID("MissionGroup/Teams/team"@%team@"/DropPoints/Respawns"); + if(! isObject(%group)) { + //error("Client" SPC %client SPC "is attempting a respawn with no drop point"); + return "0 0 300"; + } + else %spawnLoc = %group.getObject(game.respawnPoint); + //error("REspawn loc is: " @ %spawnLoc); + } + + else { + %group = nameToID("MissionGroup/Teams/team" @ %team @ "/DropPoints"); + %spawnLoc = %group.getObject(game.spawnLoc[%team]); + //error("spawn loc is: "@game.spawnLoc[%team]); + game.spawnLoc[%team]++; + } + return %spawnLoc.getTransform(); +} + + +function SinglePlayerGame::createCustomKeymap(%game) +{ +// new ActionMap(TrainingMap); +// TrainingMap.bindCmd( keyboard, "escape", "escapeFromGame();", "" ); +} + +//======================================================================================= +// Escape dialog functions: +//======================================================================================= +function SinglePlayerEscapeDlg::onWake( %this ) +{ + $timeScale = 0; + + if( OptionsDlg.isAwake()) + { + Canvas.popDialog( OptionsDlg ); + } +} + +function SinglePlayerEscapeDlg::onSleep( %this ) +{ +// spMap.pop(); +// spMap.delete(); +} + + +function SinglePlayerEscapeDlg::leaveGame( %this ) +{ + Canvas.popDialog( SinglePlayerEscapeDlg ); + MessageBoxYesNo( "LEAVE GAME", $player.miscMsg[LeaveGame], "forceFinish();", "$timeScale = 1;" ); +} + +function SinglePlayerEscapeDlg::gotoSettings( %this ) +{ + Canvas.popDialog( SinglePlayerEscapeDlg ); + Canvas.pushDialog( OptionsDlg ); +} + +function SinglePlayerEscapeDlg::returnToGame( %this ) +{ + //error( "** CALLING SinglePlayerEscapeDlg::returnToGame **" ); + $timeScale = 1; + Canvas.popDialog( SinglePlayerEscapeDlg ); + + movemap.push(); + //trainingmap.push(); +} + + +function singlePlayerGame::OptionsDlgSleep(%game) +{ + $enableDirectInput = 1; + activateDirectInput(); + + Canvas.pushDialog( SinglePlayerEscapeDlg ); + // the player may have changed his keys + // we need to reload the big spdialog string table that + // holds all the text related to the players keymappings + createText($player); +} + +// mission Area package +package singlePlayerMissionAreaEnforce { +// -begin mission area package------------------------------------------------- + +// OOB +function SinglePlayerGame::leaveMissionArea(%game, %playerData, %player) +{ + parent::leaveMissionArea(%game, %playerData, %player); + if(%player == $player.player) { + $player.leftMissionArea++; + %timeAllowed = 30; + $player.OOB = schedule(%timeAllowed *1000, 0, wussOut, %player); + clearQueue(); + doText(Any_offcourse); + MessageClient($player, 0, $player.miscMsg[OOB]); + %player.playerLeftMissionArea = true; + } +} +function SinglePlayerGame::enterMissionArea(%game, %playerData, %player) +{ + parent::enterMissionArea(%game, %playerData, %player); + if(%player == $player.player && %player.playerLeftMissionArea) { + //echo("player back in bounds"); + cancel($player.OOB); + clearQueue(); + doText(Any_alright); + MessageClient($player, 0, $player.miscMsg[InBounds]); + } +} +function wussOut(%player) +{ + clearQueue(); + doText(Any_abort); + missionFailed($player.miscMsg[OOBLoss]); +} + +// -end mission area package------------------------------------------------- +}; + +// Custom Particle effects for training5 + +datablock ParticleData(BeforeT5particle) +{ + dragCoefficient = 0; + gravityCoefficient = -0.017094; + inheritedVelFactor = 0.0176125; + constantAcceleration = -0.8; + lifetimeMS = 1248; + lifetimeVarianceMS = 0; + useInvAlpha = 1; + spinRandomMin = -200; + spinRandomMax = 200; + textureName = "particleTest"; + colors[0] = "1.000000 0.677165 0.000000 1.000000"; + colors[1] = "0.708661 0.507812 0.000000 1.000000"; + colors[2] = "0.000000 0.000000 0.000000 0.000000"; + colors[3] = "1.000000 1.000000 1.000000 1.000000"; + sizes[0] = 0.991882; + sizes[1] = 2.99091; + sizes[2] = 4.98993; + sizes[3] = 1; + times[0] = 0; + times[1] = 0.2; + times[2] = 1; + times[3] = 2; +}; + +datablock ParticleData(AfterT5particle) +{ + dragCoefficient = 0; + gravityCoefficient = -0.017094; + inheritedVelFactor = 0.0176125; + constantAcceleration = -1.1129; + lifetimeMS = 2258; + lifetimeVarianceMS = 604; + useInvAlpha = 1; + spinRandomMin = -200; + spinRandomMax = 200; + textureName = "special/Smoke/smoke_001"; + colors[0] = "1.000000 0.677165 0.000000 1.000000"; + colors[1] = "0.181102 0.181102 0.181102 1.000000"; + colors[2] = "0.000000 0.000000 0.000000 0.000000"; + colors[3] = "1.000000 1.000000 1.000000 1.000000"; + sizes[0] = 0.991882; + sizes[1] = 2.99091; + sizes[2] = 4.98993; + sizes[3] = 1; + times[0] = 0; + times[1] = 0.2; + times[2] = 1; + times[3] = 2; +}; + +datablock ParticleEmitterData(BeforeT5) +{ + ejectionPeriodMS = 16; + periodVarianceMS = 10; + ejectionVelocity = 7.45968; + velocityVariance = 0.25; + ejectionOffset = 0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = 0; + orientParticles= 0; + orientToNormal = 0; + orientOnVelocity = 1; + particles = "BeforeT5particle"; +}; + +datablock ParticleEmitterData(AfterT5) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 10.25; + velocityVariance = 0.25; + ejectionOffset = 0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = 0; + orientParticles= 0; + orientToNormal = 0; + orientOnVelocity = 1; + particles = "AfterT5particle"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/TeamHuntersGame.cs b/public/base/@vl2/scripts.vl2/scripts/TeamHuntersGame.cs new file mode 100644 index 00000000..3b96dde1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/TeamHuntersGame.cs @@ -0,0 +1,614 @@ +//--------------------------------------// +// TeamHuntersGame.cs // +//--------------------------------------// + +// DisplayName = Team Hunters + +//--- GAME RULES BEGIN --- +//Collect flags and bring them to Nexus +//You may pass flags to a Capper +//Capper can collect many flags and try for massive score +//However, any player may score at Nexus +//All scores of team members count toward team score +//--- GAME RULES END --- + +package TeamHuntersGame { + +function Nexus::objectiveInit(%data, %object) +{ + Game.Nexus = %object; + Game.Nexus.playThread(0, "ambient"); + Game.Nexus.setThreadDir(0, true); + //The flash animation plays forwards, then back automatically, so we have to alternate the thread direcction... + Game.Nexus.flashThreadDir = true; +} + +function NexusBase::objectiveInit(%data, %object) +{ + Game.NexusBase = %object; + Game.NexusBase.playthread(0, "ambient"); + Game.NexusBase.setThreadDir(0, true); +} + +function NexusCap::objectiveInit(%data, %object) +{ + Game.NexusCap = %object; + Game.NexusCap.playthread(0, "ambient"); + Game.NexusCap.setThreadDir(0, true); +} + +}; + +//exec the AI scripts +exec("scripts/aiTeamHunters.cs"); + +$InvBanList[TeamHunters, "TurretOutdoorDeployable"] = 1; +$InvBanList[TeamHunters, "TurretIndoorDeployable"] = 1; +$InvBanList[TeamHunters, "ElfBarrelPack"] = 1; +$InvBanList[TeamHunters, "MortarBarrelPack"] = 1; +$InvBanList[TeamHunters, "PlasmaBarrelPack"] = 1; +$InvBanList[TeamHunters, "AABarrelPack"] = 1; +$InvBanList[TeamHunters, "MissileBarrelPack"] = 1; +$InvBanList[TeamHunters, "Mine"] = 1; + +//----------------------------------------------------------------------------- +//Game initialization functions + +function TeamHuntersGame::missionLoadDone(%game) +{ + //default version sets up teams - must be called first... + DefaultGame::missionLoadDone(%game); + + $numRanked = 0; + + //initialize the score and flag count for all the players + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + %game.resetScore(%client); + %client.flagCount = 1; + } + $TopClient = ""; + $TopClientScore = 0; + + for(%j = 1; %j < (%game.numTeams + 1); %j++) + $teamScore[%j] = 0; + + //create the Flag group + $FlagGroup = nameToID("MissionCleanup/FlagGroup"); + if ($FlagGroup <= 0) + { + $FlagGroup = new SimGroup("FlagGroup"); + MissionCleanup.add($FlagGroup); + } + + if(nameToId("HuntersYardSaleSet") <= 0) + { + $HuntersYardSaleSet = new SimSet("HuntersYardSaleSet"); + MissionCleanup.add($HuntersYardSaleSet); + } + + // make a game object for the Nexus (functions defined in HuntersGame.cs) + MissionGroup.findNexus(); +} + +function TeamHuntersGame::initGameVars(%game) +{ + %game.SCORE_PER_SUICIDE = -1; + %game.SCORE_PER_TEAMKILL = -1; + %game.SCORE_PER_DEATH = -1; + %game.SCORE_PER_KILL = 1; + %game.SCORE_PER_TURRET_KILL = 1; + + %game.TeamMode = true; + + %game.GreedMode = $Host::TeamHuntersGreedMode; + %game.GreedMinFlags = 8; //min number of flags you must have before you can cap + + %game.HoardMode = $Host::TeamHuntersHoardMode; + %game.HoardStartTime = 5; //time left in the game at which hoard mode will start + %game.HoardDuration = 3; //duration of the hoard period + %game.HoardEndTime = %game.HoardStartTime - %game.HoardDuration; + + %game.yardSaleMin = 10; + + //make sure there is enough time in the match to actually have a hoard mode... + if ($host::timeLimit < %game.hoardStartTime + 1) + %game.hoardMode = false; + + //this is how many milliseconds before a warning is issued for camping near the Nexus + %game.nexusCampingTime = 10000; + + //vars for how long before the flag is deleted, and the fade transition time... + %game.flagLifeTimeMS = 120000; + %game.fadeTimeMS = 2000; + + %game.flagMsgDelayMS = 3000; + %game.oobThrowFlagsDelayMS = 3000; + + // targets for each of the flag types (except for base which is properly skinned already) + HuntersFlag1.target = -1; // red + HuntersFlag2.target = allocTarget("", 'Blue', "", "", 0, "", ""); + HuntersFlag4.target = allocTarget("", 'Yellow', "", "", 0, "", ""); + HuntersFlag8.target = allocTarget("", 'Green', "", "", 0, "", ""); +} + +function TeamHuntersGame::allowsProtectedStatics(%game) +{ + // prevent appropriate equipment from being damaged - invulnerable + return true; +} + +function TeamHuntersGame::setNexusDisabled(%game) +{ + HuntersGame::setNexusDisabled(%game); +} + +function TeamHuntersGame::setNexusEnabled(%game) +{ + HuntersGame::setNexusEnabled(%game); +} + +function TeamHuntersGame::flashNexus(%game) +{ + HuntersGame::flashNexus(%game); +} + +function TeamHuntersGame::NexusSparkEmitter(%game, %client, %cap, %numToScore) +{ + HuntersGame::NexusSparkEmitter(%game, %client, %cap, %numToScore); +} + + +function TeamHuntersGame::resetScore(%game, %client) +{ + %client.score = 0; + %client.suicides = 0; + %client.kills = 0; + %client.teamKills = 0; + %client.deaths = 0; +} + +function TeamHuntersGame::recalcScore(%game, %cl) +{ + if (%cl <= 0) + return; + + %killValue = %cl.kills * %game.SCORE_PER_KILL; + %deathValue = %cl.deaths * %game.SCORE_PER_DEATH; + + if (%killValue - %deathValue == 0) + %killPoints = 0; + else + %killPoints = (%killValue * %killValue) / (%killValue - %deathValue); + + %cl.score = %killPoints; + %cl.score += %cl.suicides * %game.SCORE_PER_SUICIDE; + %cl.score = mFloor(%cl.score); + + //must send the message to update the HUD + messageClient(%cl, 'MsgYourScoreIs', "", %cl.score); + + %game.recalcTeamRanks(%cl); +} + +function TeamHuntersGame::startMatch(%game) +{ + HuntersGame::startMatch(%game); +} + +function TeamHuntersGame::setupHoardCountdown(%game) +{ + HuntersGame::setupHoardCountdown(%game); +} + +function TeamHuntersGame::notifyHoardStart(%game, %seconds) +{ + HuntersGame::notifyHoardStart(%game, %seconds); +} + +function TeamHuntersGame::notifyHoardEnd(%game, %seconds) +{ + HuntersGame::notifyHoardEnd(%game, %seconds); +} + +function TeamHuntersGame::updateHoardStatusHUD(%game) +{ + HuntersGame::updateHoardStatusHUD(%game); +} + +//----------------------------------------------------------------------------- +//Player spawn/death functions + +function TeamHuntersGame::assignClientTeam(%game, %client) +{ + DefaultGame::assignClientTeam(%game, %client); +} + +function TeamHuntersGame::createPlayer(%game, %client, %spawnLoc) +{ + HuntersGame::createPlayer(%game, %client, %spawnLoc); +} + +function TeamHuntersGame::pickPlayerSpawn(%game, %client, %respawn) +{ + return %game.pickTeamSpawn(%client.team); +} + +function TeamHuntersGame::playerSpawned(%game, %player, %armor) +{ + HuntersGame::playerSpawned(%game, %player, %armor); + + //reset the enemy damaged time + %player.client.lastEnemyDamagedTime = 0; +} + +function TeamHuntersGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %sourceObject) +{ + //first call the default version + DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %sourceObject); + + //now see if the attacker was an enemy + if (isObject(%clAttacker) && %clAttacker.team != %clVictim.team) + %clVictim.lastEnemyDamagedTime = getSimTime(); +} + +function TeamHuntersGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement) +{ + //set the flag + %clVictim.isDead = true; + + //to prevent suiciders from dropping flags for their teammates - see if the player + //has taken enemy damage within the last 20 seconds + if ((%game.testSuicide(%clVictim, %clKiller, %damageType) || + (isObject(%clKiller) && %clKiller.team == %clVictim.team)) && + (getSimTime() - %clVictim.lastEnemyDamagedTime > 20000)) + { + %clVictim.flagCount--; + } + + //first, drop all the flags + HuntersGame::dropFlag(%game, %clVictim.player); + + //now call the default game stuff + DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement); + + messageClient(%clVictim, 'MsgHuntYouHaveFlags', "", 0); +} + +function TeamHuntersGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if (%game.testKill(%clVictim, %clKiller)) //verify victim was an enemy + { + %game.awardScoreKill(%clKiller); + %game.awardScoreDeath(%clVictim); + } + else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide + %game.awardScoreSuicide(%clVictim); +} + +function TeamHuntersGame::equip(%game, %player) +{ + HuntersGame::equip(%game, %player); +} + +function TeamHuntersGame::checkTimeLimit(%game) +{ + HuntersGame::checkTimeLimit(%game); +} + +function TeamHuntersGame::timeLimitReached(%game) +{ + HuntersGame::timeLimitReached(%game); +} + +function TeamHuntersGame::checkScoreLimit(%game, %team) +{ + //no such thing as a score limit in Hunters +} + +function TeamHuntersGame::scoreLimitReached(%game) +{ + //no such thing as a score limit in Hunters +} + +function TeamHuntersGame::clientMissionDropReady(%game, %client) +{ + //%client.rank = ClientGroup.getCount(); + messageClient(%client, 'MsgClientReady',"", %game.class); + //messageClient(%client, 'MsgHuntModesSet', "", %game.GreedMode, %game.HoardMode); + messageClient(%client, 'MsgHuntYouHaveFlags', "", 0); + //%game.populateTeamRankArray(%client); + //messageClient(%client, 'MsgHuntTeamRankIs', "", -1); + for(%i = 1; %i <= %game.numTeams; %i++) + messageClient(%client, 'MsgHuntAddTeam', "", %i, $TeamName[%i], $TeamScore[%i]); + + //messageClient(%client, 'MsgHuntGreedStatus', "", %game.GreedMode, %game.GreedMinFlags); + //%curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + //messageClient(%client, 'MsgHuntHoardStatus', "", %game.HoardMode, $Host::TimeLimit, %curTimeLeftMS, %game.HoardStartTime, %game.HoardDuration); + + messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName ); + + DefaultGame::clientMissionDropReady(%game, %client); +} + +function TeamHuntersGame::assignClientTeam(%game, %client, %respawn) +{ + DefaultGame::assignClientTeam(%game, %client, %respawn); + // if player's team is not on top of objective hud, switch lines + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); +} + +function TeamHuntersGame::gameOver(%game) +{ + //call the default + DefaultGame::gameOver(%game); + + //send the winner message + %winner = ""; + if ($teamScore[1] > $teamScore[2]) + %winner = $teamName[1]; + else if ($teamScore[2] > $teamScore[1]) + %winner = $teamName[2]; + + if (%winner $= 'Storm') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" ); + else if (%winner $= 'Inferno') + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" ); + else + messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" ); + + messageAll('MsgClearObjHud', ""); + for(%i = 0; %i < ClientGroup.getCount(); %i ++) + { + %client = ClientGroup.getObject(%i); + Game.resetScore(%client); + cancel(%client.oobSched); + } +} + +function TeamHuntersGame::sendFlagCountMessage(%game, %client) +{ + HuntersGame::sendFlagCountMessage(%game, %client); +} + +function TeamHuntersGame::playerTouchFlag(%game, %player, %flag) +{ + HuntersGame::playerTouchFlag(%game, %player, %flag); +} + +function TeamHuntersGame::updateFlagHoarder(%game) +{ + //in Team Hunters, no waypoint for the flag hoarder... +} + +function TeamHuntersGame::hoardModeActive(%game, %wouldBeActive) +{ + HuntersGame::hoardModeActive(%game, %wouldBeActive); +} + +function TeamHuntersGame::playerDroppedFlag(%game, %player) +{ + HuntersGame::playerDroppedFlag(%game, %player); +} + +//----------------------------------------------------------------------------- +//VOTING functions +function TeamHuntersGame::sendGameVoteMenu( %game, %client, %key ) +{ + // Don't send any options if a vote is already running: + if ( %game.scheduleVote $= "" ) + { + // First send the common options: + DefaultGame::sendGameVoteMenu( %game, %client, %key ); + + // Now send the Hunters-specific options: + if ( %game.GreedMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteGreedMode', 'disable greed mode', 'Disable GREED Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteGreedMode', 'enable greed mode', 'Enable GREED Mode' ); + + if ( %game.HoardMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteHoardMode', 'disable hoard mode', 'Disable HOARD Mode' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteHoardMode', 'enable hoard mode', 'Enable HOARD Mode' ); + } +} + +function TeamHuntersGame::voteGreedMode( %game, %admin, %player ) +{ + HuntersGame::voteGreedMode( %game, %admin, %player ); +} + +function TeamHuntersGame::voteHoardMode( %game, %admin, %player ) +{ + HuntersGame::voteHoardMode( %game, %admin, %player ); +} + +function TeamHuntersGame::throwFlags(%game, %player) +{ + HuntersGame::throwFlags(%game, %player); +} + +function TeamHuntersGame::outOfBoundsThrowFlags(%game, %client) +{ + HuntersGame::outOfBoundsThrowFlags(%game, %client); +} + +function TeamHuntersGame::dropFlag(%game, %player) +{ + HuntersGame::dropFlag(%game, %player); +} + +function TeamHuntersGame::enterMissionArea(%game, %playerData, %player) +{ + HuntersGame::enterMissionArea(%game, %playerData, %player); +} + +function TeamHuntersGame::leaveMissionArea(%game, %playerData, %player) +{ + HuntersGame::leaveMissionArea(%game, %playerData, %player); +} + +function TeamHuntersGame::onEnterTrigger(%game, %triggerName, %data, %obj, %colobj) +{ + HuntersGame::onEnterTrigger(%game, %triggerName, %data, %obj, %colobj); +} + +function TeamHuntersGame::onLeaveTrigger(%game, %triggerName, %data, %obj, %colobj) +{ + HuntersGame::onLeaveTrigger(%game, %triggerName, %data, %obj, %colobj); +} + +function TeamHuntersGame::CampingDamage(%game, %client, %firstWarning) +{ + HuntersGame::CampingDamage(%game, %client, %firstWarning); +} + +function TeamHuntersGame::updateScoreHud(%game, %client, %tag) +{ + messageClient( %client, 'ClearHud', "", %tag, 0 ); + // Send header: + messageClient( %client, 'SetScoreHudHeader', "", '\t%1%2\t%3%4', + $teamName[1], $teamScore[1], $teamName[2], $teamScore[2] ); + + // Send subheader: + messageClient( %client, 'SetScoreHudSubheader', "", '\tPLAYER (%1)SCOREFLAGS\tPLAYER (%2)SCOREFLAGS', + $TeamRank[1, count], $TeamRank[2, count] ); + + //find out who on each team has the most flags + %team1ClientMostFlags = -1; + %team1ClientMostFlagsCount = -1; + for (%i = 0; %i < $TeamRank[1, count]; %i++) + { + %cl = $TeamRank[1, %i]; + if (%cl.flagCount > %team1ClientMostFlagsCount) + { + %team1ClientMostFlagsCount = %cl.flagCount; + %team1ClientMostFlags = %cl; + } + } + if (%team1ClientMostFlagsCount <= 1) + %team1ClientMostFlags = -1; + + %team2ClientMostFlags = -1; + %team2ClientMostFlagsCount = -1; + for (%i = 0; %i < $TeamRank[2, count]; %i++) + { + %cl = $TeamRank[2, %i]; + if (%cl.flagCount > %team2ClientMostFlagsCount) + { + %team2ClientMostFlagsCount = %cl.flagCount; + %team2ClientMostFlags = %cl; + } + } + if (%team2ClientMostFlagsCount <= 1) + %team2ClientMostFlags = -1; + + %index = 0; + while (true) + { + if (%index >= $TeamRank[1, count] && %index >= $TeamRank[2, count]) + break; + + //get the team1 client info + %team1Client = ""; + %team1ClientScore = ""; + %team1ClientFlags = ""; + %col1Style = ""; + if (%index < $TeamRank[1, count]) + { + %team1Client = $TeamRank[1, %index]; + %team1ClientScore = %team1Client.score $= "" ? 0 : %team1Client.score; + %team1ClientFlags = %team1Client.flagCount - 1; + if (%team1ClientFlags <= 0) + %team1ClientFlags = ""; + if ( %team1Client == %team1ClientMostFlags ) + %col1Style = ""; + else if ( %team1Client == %client ) + %col1Style = ""; + } + + //get the team2 client info + %team2Client = ""; + %team2ClientScore = ""; + %team2ClientFlags = ""; + %col2Style = ""; + if (%index < $TeamRank[2, count]) + { + %team2Client = $TeamRank[2, %index]; + %team2ClientScore = %team2Client.score $= "" ? 0 : %team2Client.score; + %team2ClientFlags = %team2Client.flagCount - 1; + if (%team2ClientFlags <= 0) + %team2ClientFlags = ""; + if ( %team2Client == %team2ClientMostFlags ) + %col2Style = ""; + else if ( %team2Client == %client ) + %col2Style = ""; + } + + + //if the client is not an observer, send the message + if (%client.team != 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3\t%8%4%5%6', + %team1Client.name, %team1ClientScore, %team1ClientFlags, %team2Client.name, %team2ClientScore, %team2ClientFlags, %col1Style, %col2Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + //this is lame, but we can only have up to %9 args + if (%team2Client == %team2ClientMostFlags) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3\t%4%5%6', + %team1Client.name, %team1ClientScore, %team1ClientFlags, %team2Client.name, %team2ClientScore, %team2ClientFlags, %col1Style, %team1Client, %team2Client ); + } + else if (%team2Client == %client) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3\t%4%5%6', + %team1Client.name, %team1ClientScore, %team1ClientFlags, %team2Client.name, %team2ClientScore, %team2ClientFlags, %col1Style, %team1Client, %team2Client ); + } + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3\t%4%5%6', + %team1Client.name, %team1ClientScore, %team1ClientFlags, %team2Client.name, %team2ClientScore, %team2ClientFlags, %col1Style, %team1Client, %team2Client ); + } + } + + %index++; + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/Training1.cs b/public/base/@vl2/scripts.vl2/scripts/Training1.cs new file mode 100644 index 00000000..837ba60d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/Training1.cs @@ -0,0 +1,1539 @@ +// don't want this executing when building graphs +if($OFFLINE_NAV_BUILD) + return; + +// Script for mission 1 +//=================================================================================== +//error("Training 1 script"); + +// package and callbacks +activatePackage(Training1); + +addMessageCallback('MsgWeaponMount', playerMountWeapon); + +datablock EffectProfile(HudFlashEffect) +{ + effectname = "gui/buttonOver"; + minDistance = 10; +}; + +// additional mission Audio +datablock AudioProfile(HudFlashSound) +{ + filename = "gui/buttonover.wav"; + description = AudioDefault3d; + preload = true; + effect = HudFlashEffect; +}; + +// additional mission Audio +datablock AudioProfile(HeartbeatSound) +{ + filename = "fx/misc/heartbeat.wav"; + description = Audio2D; + preload = true; + looping = false; +}; + +// variables +$numberOfEnemies[1] = 7; +$numberOfEnemies[2] = 10; +$numberOfEnemies[3] = 14; +$numberOfTeammates = 2; +$missionBotSkill[1] = 0.0; +$missionBotSkill[2] = 0.4; +$missionBotSkill[3] = 0.7; + +//------------------------------------------------------------------------------ +function getTeammateGlobals() +{ + $TeammateWarnom0 = "WildSide"; + $teammateskill0 = 0.5; + $teammateVoice0 = Male3; + $teammateEquipment0 = 0; + $teammateGender0 = Male; + + $TeammateWarnom1 = "Proteus"; + $teammateSkill1 = 0.5; + $teammateVoice1 = Male4; + $teammateEquipment1 = 0; + $teammateGender1 = Male; +} + + +$victimSet[1] = "0 7 10 11"; +$victimSet[2] = "1 8 12"; +$victimSet[3] = "2 9 13"; + +package Training1 { +//BEGIN TRAINING1 PACKAGE ======================================================================= + +//------------------------------------------------------------------------------ + +function SinglePlayerGame::initGameVars(%game) +{ + echo("initializing training1 game vars"); + %game.pilotName = "McWatt"; + %game.bombardierName = "Yossarian"; + + %game.tower = nameToId("Tower"); + %game.tower.threshold1 = 330; + %game.tower.threshold2 = 80; +} + +//scriptlet +//we have to jump through a lot of hoops to get those dead bodies in training1 +function deadArmor::onAdd(%this, %obj) +{ + %skin = (%obj.trainingSkin == 1 ? 'swolf' : 'beagle'); + //echo("skin = " SPC %skin); + createTarget(%obj, 'Dead Body', %skin, "", 'deadArmor', 0); +} + +function deadArmor::onRemove(%this, %obj) +{ + //echo("singleplayerGame -- deadArmor::onRemove"); + freeTarget(%obj.getTarget()); +} + +function MP3Audio::play(%this) +{ + //too bad...no mp3 in training +} + +function countTurretsAllowed(%type) +{ + return $TeamDeployableMax[%type]; +} + +function toggleScoreScreen(%val) +{ + if ( %val ) + //error("No Score Screen in training......."); + messageClient($player, 0, $player.miscMsg[noScoreScreen]); +} + +function toggleCommanderMap(%val) +{ + if ( %val ) + messageClient($player, 0, $player.miscMsg[noCC]); +} + +function toggleTaskListDlg( %val ) +{ + if ( %val ) + messageClient( $player, 0, $player.miscMsg[noTaskListDlg] ); +} + +function toggleInventoryHud( %val ) +{ + if ( %val ) + messageClient( $player, 0, $player.miscMsg[noInventoryHUD] ); +} + +function toggleNetDisplayHud( %val ) +{ + // Hello, McFly? This is training! There's no net in training! +} + +function voiceCapture( %val ) +{ + // Uh, who do you think you are talking to? +} + +function giveall() +{ + error("When the going gets tough...wussies like you start cheating!"); + messageClient($player, 0, "Cheating eh? What\'s next? Camping?"); +} + +function kobayashi_maru() +{ + $testCheats = true; + commandToServer('giveAll'); +} + +// get the ball rolling +//------------------------------------------------------------------------------ +function startCurrentMission() +{ + playGui.add(outerChatHud); + //fade up from black + ServerConnection.setBlackOut(true, 0); + + //can't change settings during the intro... + SinglePlayerEscSettingsBtn.setActive(0); + + updateTrainingObjectiveHud(obj1); + setTeammatesCMapInvisible(true); + $teammate0.player.invincible = true; + $teammate1.player.invincible = true; + resetWildcat(); + +} + +//------------------------------------------------------------------------------ +function SinglePlayerGame::equip(%game, %player) +{ + //ya start with nothing...NOTHING! + %player.clearInventory(); + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + %set = %player.client.equipment; + //error("equping Player "@%player@" with set"@%set); + switch (%set) + { + case 0: + echo("using default equipment"); + + %player.setArmor("Light"); + %player.setInventory(RepairKit,1); + %player.setInventory(Blaster,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + %player.weaponCount = 3; + + %player.use(Disc); + + case 1: + echo("using case 1 equipment"); + + %player.setArmor("Light"); + %player.setInventory(RepairKit,1); + %player.setInventory(Blaster,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(EnergyPack, 1); + %player.weaponCount = 3; + + case 2: + %player.setArmor(Heavy); + + //%player.setInventory(CloakingPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 25); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(ElfGun, 1); + %player.setInventory(MissileLauncher,1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(TargetingLaser, 1); + %player.weaponCount = 4; + + %player.use(Disc); + } +} + +// Objectives +//================================================================================= + +//------------------------------------------------------------------------------ +function openingSpiel() +{ + //schedule(11000, 0, updateTrainingObjectiveHud, obj2); + doText(T1_01); + doText(T1_01a); + doText(T1_01b); + doText(T1_01c); + doText(T1_02); + doText(T1_02a); + doText(T1_03); + doText(T1_download01); + doText(T1_03a); + doText(T1_03b, 1000); + doText(T1_03c, 1000); + doText(T1_17, 700); + doText(T1_04, 3000); + doText(T1_05, 3000); + doText(T1_06); + doText(T1_tipEnergy); + doText(T1_08, 2500); + doText(T1_09, 4000); + doText(T1_10, 1000); + doText(T1_11); + doText(T1_10a); + doText(T1_10b); +} + +//------------------------------------------------------------------------------ +function hurryPlayerUp() +{ + doText(Any_abortwarn); + $player.hurryUp = schedule(45000, $player.player, DoText, Any_abort); +} + + +// vehicle: vehicle controls, destination +//------------------------------------------------------------------------------ +function clientCmdVehicleMount() +{ + parent::clientCmdVehicleMount(); + + game.respawnPoint = 3; + + //order chasers to attack (chasers are enemies 3 - 6) + if(!game.mountVehicle){ + game.mountVehicle = true; + //doText(T1_28); + doText(T1_29); + doText(T1_29a); + doText(Any_Waypoint03); + + // and waypoint to MPB + setWaypointAt(nameToId(MPB).position, "Extraction Team"); + updateTrainingObjectiveHud(obj5); + // for now + for( %x = 3; %x <= 6; %x++ ) + if($enemy[%x].player) + $enemy[%x].stepEngage($player); + + } +} + +//------------------------------------------------------------------------------ +function SniperRifle::onCollision(%data,%obj, %col) +{ + //echo("Sniper Rifle Collision"); + if(!game.msgSniperNoPickup && $player.player.weaponCount >= 3) { + game.msgSniperNoPickup = true; + clearQueue(); + doText(T1_24); + //doText(T1_24a); + } + else if(!game.msgSniperPickUp && $player.player.weaponcount < 3) { + game.msgSniperPickUp = true; + game.msgSniperNoPickup = true; + clearQueue(); + doText(T1_TipSniper02); + } + + ItemData::onCollision(%data,%obj,%col); +} + + +//------------------------------------------------------------------------------ +function RepairPatch::onCollision(%data,%obj,%col) +{ + parent::onCollision(%data,%obj,%col); + if(game.repair++ != 3) + return; + + if(%col == $player.player && !game.gotRepairKit) + { + game.gotRepairKit = true; + if(!game.blowOff){ + moveMap.push(); //jic + doText(T1_12a); + spiel2(); + } + } +} + +//------------------------------------------------------------------------------ +function EnergyPack::onCollision(%data,%obj,%col) +{ + parent::onCollision(%data,%obj,%col); + if (!game.EnergyPackPickup) { + game.EnergyPackPickup = true; + clearQueue(); + doText(T1_tipPack01); + doText(T1_tipPack02); + } +} + +//------------------------------------------------------------------------------ +function playerMountWeapon(%tag, %text, %image, %player, %slot) +{ + if( game.firstTime++ < 2) + return; // initial weapon mount doesnt count + + //echo("the problem is the image name: "@%image.getName()); + if(%image.getName() $= "BlasterImage" && !game.msgBlast) { + game.msgBlast = true; + //doText(T1_TipBlaster01); + } + if(%image.getName() $= "ChaingunImage" && !game.msgChain) { + game.msgchain = true; + //doText(T1_TipChaingun); + } + if(%image.getName() $= "DiscImage" && !game.msgDisc) { + game.msgDisc = true; + //doText(T1_TipSpinfusor); + } + if(%image.getName() $= "SniperRifleImage" && !game.msgSnipe) { + game.msgSnipe = true; + doText(T1_TipSniper03); + doText(T1_TipSniper04); + } +} + +//------------------------------------------------------------------------------ +function WeaponImage::onMount(%this,%obj,%slot) +{ + messageClient(%obj.client, 'MsgWeaponMount', "", %this, %obj, %slot); + parent::onMount(%this,%obj,%slot); +} + + +//------------------------------------------------------------------------------ +function spawnSinglePlayer() +{ + resetWildCat(); + parent::spawnSinglePlayer(); +} + +//------------------------------------------------------------------------------ +function resetWildCat() +{ + + if(isObject($player.vehicle)) + $player.vehicle.delete(); + + $player.vehicle = new HoverVehicle(hoverBike) { + position = nameToId(hoverBikeDP).position; + rotation = "0.200891 0.091345 0.975346 17.3161"; + scale = "1 1 1"; + dataBlock = "scoutVehicle"; + }; +} + + +//------------------------------------------------------------------------------ +function spiel2() +{ + game.respawnPoint = 1; + //moveMap.bindCmd( keyboard, "backspace", "", "skipWeaponsCheck();" ); + clearQueue(); + cancel($player.hurryUp); + $player.currentWaypoint.delete(); //? + doText(T1_12b); + doText(T1_TipIFF); + doText(T1_13); + doText(T1_14); + doText(T1_TipBlaster01); + doText(T1_15); + doText(T1_TipChaingun); + doText(T1_16); + doText(T1_TipSpinfusor); + //doText(T1_17); + //doText(T1_TipBlaster02); + //doText(T1_TipJets02); + //doText(T1_18a); + doText(T1_22); + doText(T1_22a); + doText(T1_18, 5000); + doText(ANY_tipNow01); + doText(T1_tipjets01); +} + +function singlePlayerGame::onAIRespawn(%game, %client) +{ + // DONT add the default tasks + //error("default tasks not added"); +} + +//------------------------------------------------------------------------------ +function missionClientKilled(%victim, %killer) +{ + // this is just a bit messy as I added the training difficulty stuff late + %skill = $pref::trainingDifficulty; + + if(%victim == $player) { + //error("Player victim re engagement"); + for(%i = 0; %i < clientGroup.getCount(); %i++) { + %client = clientGroup.getObject(%i); + if(%client.isAIControlled()) + if(%client.getStepName() $= "AIStepEngage") { + %client.shouldEngageOnPlayerRespawn = true; + //error(%client.name SPC " should Engage On Player Respawn."); + } + } + } + + if(%victim.team != $player.team && %skill < 3) + schedule(3000, $player.player, adviseHealthKit); + + %setDestroyed = checkForSequenceSkillCompletion(%victim); + switch(%setDestroyed) { + case 1: + doText(ANY_Kudo04, 3000); + doText(T1_21); + //doText(T1_22); + //doText(ANY_tipscavenge02, 1000); + doText(ANY_tipscavenge01); + case 2: + doText(ANY_Kudo01, 3000); + game.EngagingEnemy1 = false; + doText(T1_26); + $enemy2.stepEngage($player); + $enemy2.clientDetected($player); + if(%skill > 1) { + $enemy9.stepEngage($player); + $enemy9.clientDetected($player); + } + if(%skill > 2) { + $enemy13.stepEngage($player); + $enemy13.clientDetected($player); + } + + if(%skill == 0) { + //the first test of this went so well we're doing it again + %target = $enemy2.player.getTarget(); + %mask = getTargetAlwaysVisMask(%target); + setTargetAlwaysVisMask(%target, %mask |(1<<1)); + } + + case 3 : + doText(T1_27a); + doText(T1_27b, 1000); + doText(T1_28, 5000); + doText(Any_TipSkiing); + schedule(9000, game, setWaypointAt, nameToId($player.vehicle).getTransform(), "Vehicle" ); + updateTrainingObjectiveHud(obj6); + setTeammatesCMapInvisible(false); + } +} + +//------------------------------------------------------------------------------ +function adviseHealthKit() +{ + if(game.trainingIntro) + return; + if($player.player.getdamageLevel() > 0.3 + && $player.player.getInventory(RepairKit) && game.useHeath++ < 4) { + doText(Any_HealthKit); + } +} + +function checkForSequenceSkillCompletion(%victim) +{ + %set = findVictimSet(%victim); + //how is everbody esle in the set doing + for(%i = 0; %i < getWordCount($victimSet[%set]); %i++){ + %enemy = getWord($victimSet[%set], %i); + if($enemy[%enemy] && $enemy[%enemy].player && $enemy[%enemy] != %victim) { + //error("There is $Enemy"@%enemy@" still in set "@ %set); + return 0; + } + } + return %set; + +} + +function findVictimSet(%victim) +{ + for(%i = 1; %i <= 3; %i++) { + for(%word = 0; %word < getWordCount($victimSet[%i]); %word++) { + %num = getWord($victimSet[%i], %word); + if($enemy[%num] == %victim) { + //error("Victim is member of victim set "@%i); + return %i; + } + } + } + return 0; +} + +// hokay...we have gone away from the default ai so we have to keep our forced-task +// AI system intact. If the player is killed the AI will forget about him. +// Lets iterate throught the client group and find out who should re-engage the player +// %client.shouldEngageOnPlayerRespawn is set in missionClientKilled +function singlePlayerGame::playerSpawned(%game, %player) +{ + parent::playerSpawned(%game, %player); + + if(%player.client == $player) { + for(%i = 0; %i < clientGroup.getCount(); %i++) { + %client = clientGroup.getObject(%i); + if(%client.isAIControlled()) + if(%client.shouldEngageOnPlayerRespawn) { + //error(%client.name SPC " is re-engaging."); + %client.stepEngage($player); + } + } + } + +} +//------------------------------------------------------------------------------ +function singlePlayerGame::gameOver(%game) +{ + //enable the voice chat menu again... + if (isObject(training1BlockMap)) + { + training1BlockMap.pop(); + training1BlockMap.delete(); + } + + //moveMap.bindCmd( keyboard, "backspace", "", game.returnBinding ); + //allow the observer cam to move again... + $Camera::movementSpeed = 40; + $AIDisableChatResponse = ""; + cancel($Training1Blackout); + cancel($Training1HitGround); + LightMaleHumanArmor.minImpactSpeed = 45; + $player.player.mountVehicle = true; + + if(HelpTextGui.isVisible()) + helpTextGui.setVisible(false); + + //re-enable the use of the settings button... + SinglePlayerEscSettingsBtn.setActive(1); + + Parent::gameOver(); +} + +function autoToggleHelpHud(%state) +{ + if(HelpTextGui.isVisible() != %state) + toggleHelpText(); + +} + + +//------------------------------------------------------------------------------ +function skipIntroCinematic() +{ + messageClient($player, 0, "Skipping intro..."); + clearQueue(); + trainingIntroFlightEnd(); +} + +function skipFlashingHud() +{ + messageClient($player, 0, "Skipping HUD tutorial..."); + clearQueue(); + moveMap.push(); + spiel2(); +} + +function skipWeaponsCheck() +{ + messageClient($player, 0, "Skipping weapons tutorial...."); + clearQueue(); + doText(Any_blowOff3); + setWaypointAt(nameToId(Tower).position, "Tower"); + updateTrainingObjectiveHud(obj4); + queEnemySet(0); + + //moveMap.bindCmd( keyboard, "backspace", "", game.returnBinding ); +} + + + +//------------------------------------------------------------------------------ +function objectiveDistanceChecks() +{ + %playerPosition = $player.player.getTransform(); + if(!%playerPosition) { + $player.distanceCheckSchedule = schedule(5000, game, objectiveDistanceChecks); + return; + } + + %base1distance = vectorDist( %playerPosition, game.tower.position ); + //error("debug distance: tower- "@%base1distance); + if(%base1distance < game.tower.threshold1 && !game.base1t1 ) { + game.base1t1 = true; + if(!$enemy0.dead) { + $enemy0.stepEngage($player); + %skill = $pref::trainingDifficulty; + if(%skill > 1) + $enemy7.stepEngage($player); + if(%skill > 2) { + $enemy10.stepEngage($player); + $enemy11.stepEngage($player); + } + clearQueue(); + doText(Any_Blowoff1); + } + else { + doText(ANY_tipNow02); + doText(T1_tipSkiing01); + doText(T1_tipSkiing02); + doText(T1_tipSkiing03); + } + } + if(%base1distance < game.tower.threshold2) { + if(!game.base1t2) { + game.respawnPoint = 2; + doText(T1_23); + doText(T1_23a); + doText(T1_23b); + schedule(45000, game, queEnemySet, 1); + } + + game.base1t2++; + + } + + //MPB + %mpbDist = vectorDist( %playerPosition, nameToId(MPB).position ); + //echo("debug distance: mpb- "@%mpbdist); + if(%mpbDist < 70 && !game.completed) { + game.completed = true; + clearQueue(); + doText(T1_30, true); + $player.vehicle.setFrozenState(true); + + missionComplete($player.miscMsg[training1win]); + } + + $player.distanceCheckSchedule = schedule(1000, game, objectiveDistanceChecks); +} + +//------------------------------------------------------------------------------ +function queEnemySet(%set) +{ + switch(%set) { + case 0: + %skill = $pref::trainingDifficulty; + if($enemy0.player) { + $enemy0.stepEngage($player); + } + if(%skill > 1 && $enemy7.player) + $enemy7.stepEngage($player); + if(%skill > 2 && $enemy10.player) { + $enemy10.stepEngage($player); + } + if(%skill > 2 && $enemy11.player) { + $enemy11.stepEngage($player); + } + case 1: + doText(T1_25); + doText(T1_25a); + doText(T1_tipTactics); + $enemy1.stepEngage($player); + $enemy1.clientDetected($player); + %skill = $pref::trainingDifficulty; + //messageClient($player, 0, "Debug:"SPC $enemy1 SPC "has just been issued an engage order for" SPC $player); + if(%skill > 1) + $enemy8.stepEngage($player); + $enemy8.clientDetected($player); + if(%skill > 2) { + $enemy12.stepEngage($player); + $enemy12.clientDetected($player); + } + game.engagingEnemy1 = true; + updateTrainingObjectiveHud(obj3); + + //we are going to try some tricky 0000 to make this enemy always visible to sensors + %target = $enemy1.player.getTarget(); + %mask = getTargetAlwaysVisMask(%target); + setTargetAlwaysVisMask(%target, %mask |(1<<1)); + } +} + + +// Training specific functions +//----------------------------------------------------------------------------- +function lockArmorHack() +{ + updateTrainingObjectiveHud(obj2); + movemap.pop(); + //$player.player.setMoveState(true); + //$player.player.schedule(1000,"setMoveState", false); +} + +// yes all thes flashSomethings() couldve been done as one function like I did in training4 +//------------------------------------------------------------------------------ +function flashEnergy() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "energyHud.setVisible(false);" ); + schedule(%time*%i + %time/2, $player.player, "eval", "energyHud.setVisible(true);" ); + } + else + { + schedule(%time*%i, $player.player, toggleEnergyHudVis, false); + schedule(%time*%i + %time/2, $player.player, toggleEnergyHudVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleEnergyHudVis(%value) +{ + energyHud.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashHealth() +{ + %time = 900; + %num = 5; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule( %time*%i, $player.player, "eval", "damageHud.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "damageHud.setVisible(true);"); + } + else + { + schedule( %time*%i, $player.player, toggleDamageHudVis, false); + schedule(%time*%i + %time/2, $player.player, toggleDamageHudVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleDamageHudVis(%value) +{ + damageHud.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashWeapon(%slot) +{ + schedule(300, $player.player, use, $WeaponNames[%slot]); + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "weaponsHud.setActiveWeapon(-1);"); + schedule(%time*%i + %time/2, $player.player, "eval", "weaponsHud.setActiveWeapon("@%slot@");"); + } + else + { + schedule(%time*%i, $player.player, toggleWeaponSlot, -1); + schedule(%time*%i + %time/2, $player.player, toggleWeaponSlot, %slot); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleWeaponSlot(%slot) +{ + weaponsHud.setActiveWeapon(%slot); +} + +//------------------------------------------------------------------------------ +function flashWeaponsHud() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule( %time*%i, $player.player, "eval", "weaponsHud.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "weaponsHud.setVisible(true);"); + } + else + { + schedule( %time*%i, $player.player, toggleWeaponHudVis, false); + schedule(%time*%i + %time/2, $player.player, toggleWeaponHudVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleWeaponHudVis(%value) +{ + weaponsHud.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashCompass() +{ + %time = 900; + %num = 5; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "HudCompassBack.setVisible(false);"); + schedule(%time*%i, $player.player, "eval", "compass.setVisible(false);"); + + schedule(%time*%i + %time/2, $player.player, "eval", "HudCompassBack.setVisible(true);"); + schedule(%time*%i + %time/2, $player.player, "eval", "compass.setVisible(true);"); + } + else + { + schedule(%time*%i, $player.player, toggleCompassVis, false); + schedule(%time*%i + %time/2, $player.player, toggleCompassVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleCompassVis(%value) +{ + HudCompassBack.setVisible(%value); + compass.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashInventory() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "inventoryHud.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "inventoryHud.setVisible(true);"); + } + else + { + schedule(%time*%i, $player.player, toggleInvVis, false); + schedule(%time*%i + %time/2, $player.player, toggleInvVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleInvVis(%value) +{ + inventoryHud.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashPack() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "backPackFrame.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "backPackFrame.setVisible(true);"); + } + else + { + schedule(%time*%i, $player.player, togglePackVis, false); + schedule(%time*%i + %time/2, $player.player, togglePackVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function togglePackVis(%value) +{ + backPackFrame.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashSensor() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "sensorHudBack.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "sensorHudBack.setVisible(true);"); + } + else + { + schedule(%time*%i, $player.player, toggleSensorVis, false); + schedule(%time*%i + %time/2, $player.player, toggleSensorVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleSensorVis(%value) +{ + sensorHudBack.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashMessage() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "outerChatHud.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "outerChatHud.setVisible(true);"); + } + else + { + schedule(%time*%i, $player.player, toggleMessageVis, false); + schedule(%time*%i + %time/2, $player.player, toggleMessageVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleMessageVis(%value) +{ + outerChatHud.setVisible(%value); +} + +//------------------------------------------------------------------------------ +function flashObjective() +{ + %time = 1000; + %num = 6; + for(%i=0; %i<%num; %i++) + { + if (!isPureServer()) + { + schedule(%time*%i, $player.player, "eval", "objectiveHud.setVisible(false);"); + schedule(%time*%i + %time/2, $player.player, "eval", "objectiveHud.setVisible(true);"); + } + else + { + schedule(%time*%i, $player.player, toggleObjectiveHudVis, false); + schedule(%time*%i + %time/2, $player.player, toggleObjectiveHudVis, true); + } + $player.schedule(%time*%i, "play2d", HudFlashSound); + } +} + +function toggleObjectiveHudVis(%value) +{ + objectiveHud.setVisible(%value); +} + +//------------------------------------------------------------------------------ +// function playCinematicSound(%sound) +// { +// switch$(%sound) +// { +// case "MissileLock": +// %file = "fx/weapons/missile_launcher_lock.wav"; +// %looping = true; +// +// case "Heartbeat": +// %file = "fx/misc/heartbeat.wav"; +// %looping = false; +// } +// +// %audiosound = new AudioEmitter() { +// filename = %flie; +// position = $player.player; +// volume = "1"; +// isLooping = %looping; +// is3D = false; +// type = "EffectAudioType"; +// }; +// $player.currentSound = %audiosound; +// } +// +// function playCinematicMissileLockSound() +// { +// %audiosound = new AudioEmitter() { +// filename = "fx/weapons/missile_launcher_lock.wav"; +// position = $player.player; +// volume = "1"; +// isLooping = "1"; +// is3D = false; +// type = "EffectAudioType"; +// }; +// $player.missileSound = %audiosound; +// } + + +//------------------------------------------------------------------------------ +function setTeammatesCMapInvisible(%on) +{ + %arg = (%on ? 0xffffffff : 0); + setTargetNeverVisMask(nameToId(MPB).getTarget(), %arg); + setTargetNeverVisMask($teammate0.player.getTarget(), %arg); + setTargetNeverVisMask($teammate1.player.getTarget(), %arg); +} + + +// Im gonna do a pseudo-cinematic here so bear with me +//------------------------------------------------------------------------------ +function beginTraining1Intro() +{ + //error("beginning training intro.....wait for it.......now!"); + //messageClient($player, 0, $player.miscMsg[skip]); + //moveMap.bindCmd( keyboard, "backspace", "", "skipIntroCinematic();" ); + + //block the voice chat + if (isObject(training1BlockMap)) + training1BlockMap.delete(); + new ActionMap(training1BlockMap); + training1BlockMap.blockBind(moveMap, toggleMessageHud); + training1BlockMap.blockBind(moveMap, TeamMessageHud); + training1BlockMap.blockBind(moveMap, activateChatMenuHud); + training1BlockMap.push(); + + //set the intro started bools + $Camera::movementSpeed = 0; + $AIDisableChatResponse = true; + game.playedIntro = true; + game.trainingIntro = true; + + //create the bomber + %introFlyerObject = nameToId(introFlyerDP); + + $player.flyer = new FlyingVehicle(Flyer) { + position = %introFlyerObject.position; + rotation = %introFlyerObject.rotation; + scale = "1 1 1"; + dataBlock = "BomberFlyer"; + }; + + // create, spawn, set the skin, and equip the pilot + //------------------------------------------------------------ + %pilot = aiConnect(game.pilotName,$playerTeam, 0, 0, "Male1", 1.0); + $player.flyer.pilot = %pilot; + + + setTargetSkin(%pilot.target, $teamSkin[$playerTeam]); + %pilot.player.setArmor(light); + + //mount the pilot + %pilot.pilotVehicle = false; + //%pilot.stepMove($player.flyer.position, 0.25, 4); + $player.flyer.mountObject(%pilot.player, 0); + %pilot.setControlObject($player.flyer); + %pilot.setPilotPitchRange(-0.2, 0.05, 0.05); + + // create and mount the bomber + //------------------------------------------------------------ + %bombardier = aiConnect(game.bombardierName, $playerTeam, 0, 0, "Male2", 1.0); + + $player.flyer.bombardier = %bombardier; + setTargetSkin(%bombardier.target, $teamSkin[$playerTeam]); + %bombardier.player.setArmor(Medium); //not that you can tell + + //mount the bombardier + //%bombardier.stepMove($player.flyer.position, 0.25, 4); + $player.flyer.mountObject(%bombardier.player, 1); + + // and put the player in the tailgunners seat + //------------------------------------------------------------ + //it would be nice if the player was facing the same direction as the bomber to start + $player.player.use(Blaster); + $player.flyer.mountObject($player.player, 2); + $player.player.setTransform($player.player.position SPC %introFlyerObject.rotation); + + // and set the camera to third person + if($firstperson) + toggleFirstPerson($player); + + $player.player.invincible = true; + + getTrainingPacifistMap(); + trainingPacifistMap.push(); + + // add enemyMissile Laucher Dude + %MLDude = aiConnect("Oksana Baiul", $enemyTeam); + $missileLauncherDude = %MLDude; + %MLDude.player.scopeToClient($player); + + %MLDude.player.setTransform(nameToID(MissileGuySpot).getTransform()); + %MLDude.race = "Bioderm"; + %MLDude.voice = "Derm2"; + setTargetSkin(%MLDude.target, $teamSkin[$enemyTeam]); + %MLDude.equipment = 2; + game.equip(%MLDude.player); + %MLDude.player.setArmor(%MLDude.armor); + + // then start the flyers move sequence + %pilot.addTask(AITraining1Pilot); + + //fade up from black + $Training1Blackout = ServerConnection.schedule(3000, setBlackOut, false, 4000); +} + +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +function trainingIntroFlightEnd() +{ + //enable the voice chat menu again... + if (isObject(training1BlockMap)) + { + training1BlockMap.pop(); + training1BlockMap.delete(); + } + + //put the player back in his body, give him control back, + //a little dramatic flash, start the rest of the mission + $Camera::movementSpeed = 40; + $AIDisableChatResponse = ""; + game.trainingIntro = false; + $player.player.invincible = false; + $player.player.setDamageLevel(0.3); + serverConnection.setBlackout(false, 5000); + $player.player.setActionThread(cel1); + $player.player.schedule(2000, use, Disc); + trainingPacifistMap.pop(); + + commandToClient($player, 'toggleDashHud'); + if(isObject($player.flyer)) + cleanUpFlyer(); + + if(!$firstPerson) + toggleFirstPerson($player); + + $player.player.setMoveState( false ); + $player.player.setVelocity("0 0 0"); + $player.player.setTransform(nameToId(DP).getTransform()); + moveMap.push(); + //$player.player.setDamageLevel(0.3); + $player.T1OpeningSpielSchedule = schedule(10000, game, openingspiel); + objectiveDistanceChecks(); + + //moveMap.bindCmd( keyboard, "backspace", "", "skipFlashingHud();" ); + + //re-enable the use of the settings button... + SinglePlayerEscSettingsBtn.setActive(1); +} + +//------------------------------------------------------------------------------ +function ClientCmdSetHudMode(%mode, %type, %node) +{ + parent::ClientCmdSetHudMode(%mode, %type, %node); + getTrainingPacifistMap(); + if(game.trainingIntro) + trainingPacifistMap.push(); +} + +//------------------------------------------------------------------------------ +function PlayGui::onWake(%this) +{ + parent::onWake(%this); + //error("Waking training play gui"); + // okay we know the victim...erm...player is looking + // and we hope they have a body so lets do this + if(!game.playedIntro) { + game.PlayGuiAwake = true; + checkForTraining1Intro(); + } + +} + +function checkForTraining1Intro() +{ + if(game.playGuiAwake && $player.player && $currentMission $= "Training1") + beginTraining1Intro(); + else + { + schedule(50, game, checkForTraining1Intro); + } +} + +//------------------------------------------------------------------------------ +function Armor::AIonMount(%this, %obj, %vehicle, %node) +{ +} + +function Armor::AIonUnMount(%this, %obj, %vehicle, %node) +{ +} + +function AITraining1Pilot::assume(%task, %client) +{ + %task.setWeightFreq(30); + %task.setMonitorFreq(10); + + +// //next, start the pilot on his way to mounting the vehicle +// %client.pilotVehicle = true; +// %client.stepMove($player.flyer.position, 0.25, $AIModeMountVehicle); +} + +function AITraining1Pilot::weight(%task, %client) +{ + %task.setWeight(10000); +} + +function AITraining1Pilot::monitor(%task, %client) +{ + //messageall(0, " AITraining1Pilot::monitor "@%task.locationIndex); + %group = nameToId(FlightPath); + if(!%task.locationIndex) + %task.locationIndex = 0; + + //HACK ALERT!!! + //since the path for this mission is completely straight, always head for the end of the path + //%location = %group.getObject(%task.locationIndex); + %location = %group.getObject(%group.getCount() - 1); + + //see if we've mounted yet + if(%client.vehicleMounted) + { + %client.setPilotDestination(%location.position); + + //else see if we're close enough to the current destination to choose the next + %pos = %client.vehicleMounted.position; + %pos2D = getWord(%pos, 0) SPC getWord(%pos, 1) SPC "0"; + %dest = %group.getObject(%task.locationIndex).position; + %dest2D = getWord(%dest, 0) SPC getWord(%dest, 1) SPC "0"; + + if (VectorDist(%dest2D, %pos2D) < 20) + { + if(%group.getCount() > %task.locationIndex + 1) { + %task.locationIndex++; + cinematicEvent(%task.locationIndex); + } + //else messageAll(0, "Ride Over"); + } + } + else + %client.stepMove($player.flyer.position, 0.25, $AIModeExpress); +} + +function cinematicEvent(%num) +{ + //messageAll(0, "Doing Cinematic Event: "@%num); + switch(%num) + { + case 1: + doText(any_Warning02); + + case 2: + if(!$firstPerson) + toggleFirstPerson($player); + movemap.schedule(6000, "pop"); + + case 3: + moveMap.pop(); + //error(nameToId(MissileCamera)); + $player.camera.setTransform(nameToId(MissileCamera).getTransform()); + commandToClient($player, 'toggleDashHud', false); + cancel($player.altCheck); + cancel($player.speedCheck); + HideHudHack(false); + toggleCamera(true); + $MissileLauncherDude.player.use(MissileLauncher); + + case 4: + ShoulderMissile.lifeTimeMs = 10000; + $MissileLauncherAimTime = 600; + MissileDudeAimAtTarget($missileLauncherDude, 0); + schedule($MissileLauncherAimTime, 0, "MissileDudeFireMissile", $missileLauncherDude); + + case 7: + if(game.gotMissile) + turnPlayerToObject(game.gotMissile); + else + turnPlayerToObject($missileLauncherDude.player); + + toggleCamera(true); + moveMap.push(); + TrainingPacifistMap.push(); + hideHudHack(true); + // playCinematicSound("MissileLock"); + schedule(5700, 0, forcedCinematicPlayerDismount); + schedule( 6100, game, cleanUpFlyer); + //schedule( 8000, game, trainingIntroFlightEnd); + } +} + +function forcedCinematicPlayerDismount() +{ + $player.player.mountVehicle = false; + $player.player.unmount(); + %velocity = $player.player.getVelocity(); + %velX = getWord(%velocity, 0); + %velY = getWord(%velocity, 1); + $player.player.setVelocity(%velX SPC %velY SPC "20"); + $player.player.setMoveState( true ); + $player.player.schedule(300, setDamageFlash, 0.3); + playTargetAudio( $player.target, 'avo.deathCry_01', AudioClose3d, false ); + $player.player.setActionThread(Death1, true); + //$player.flyer.pilot.player.setActionThread(Death10, true); + //$player.flyer.bombardier.player.setActionThread(Death11, true); + + if($firstPerson) + toggleFirstPerson($player); + + LightMaleHumanArmor.minImpactSpeed = 10000; + trainingPlayerHitGround(); + Game.playGrunt = true; + //game.expectingImpact = true; +} + +function MissileDudeAimAtTarget(%client, %percent) +{ + %group = nameToId(FlightPath); + %endPos = %group.getObject(4).position; + + //calculate the start position + %startTransform = nameToId(MissileGuySpot).getTransform(); + %startDirection = MatrixMulVector("0 0 0 " @ getWords(%startTransform, 3, 6), "0 1 0"); + %startDirection = VectorNormalize(%startDirection); + %startPos = VectorAdd(getWords(%startTransform, 0, 2), VectorScale(%startDirection, 100)); + + //now calculate the aim position + %vec = VectorSub(%endPos, %startPos); + %length = VectorDist(%endPos, %startPos); + %vec = VectorNormalize(%vec); + %aimPos = VectorAdd(%startPos, VectorScale(%vec, %percent * %length)); + + //now aim the client there + %client.aimAt(%aimPos, 2000); + + //schedule the next aim + if (%percent <= 0.9) + schedule($MissileLauncherAimTime / 10, 0, MissileDudeAimAtTarget, %client, %percent + 0.1); +} + +function MissileDudeFireMissile(%Client) +{ + %client.stop(); + %client.clearStep(); + %client.setEngageTarget(-1); + %client.setTargetObject($player.flyer, 300, "Missile"); + + if (isDemo()) + %wav = "fx/misc/derm2.woohoo.WAV"; + else + %wav = "voice/derm2/gbl.woohoo.WAV"; + %audio = alxCreateSource( AudioChat, %wav ); + alxPlay( %audio ); + + + schedule(4000, 0, cinematicEvent, 7); +} + +function turnPlayerToObject(%obj) +{ + error("turningPlayerToObject: "@%obj); + %vec = VectorSub($player.player.position, %obj.position); + %angle = mATan( getWord(%vec, 0), getWord(%vec, 1) ); + %angle = %angle + 3.141529; + %newTransform = $player.player.position SPC "0 0 1" SPC %angle; + $player.player.setTransform(%newTransform); +} + +function cleanUpFlyer() +{ + $player.flyer.applyDamage($player.Flyer.getDataBlock().maxDamage); + $player.currentSound.delete(); + $player.flyer.pilot.schedule(400, drop); + $player.flyer.bombardier.schedule(1400, drop); + $missileLauncherDude.drop(); +} + +function training1Preloads() +{ + navGraph.preload("skins/base.lbioderm", true); + navGraph.preload("skins/Horde.lbioderm", false); + navGraph.preload("skins/sensor_pulse_large", true); + navGraph.preload("skins/base.hmale", true); + navGraph.preload("skins/beagle.hmale", false); + navGraph.preload("skins/base.mmale", true); + navGraph.preload("skins/beagle.mmale", false); + navGraph.preload("skins/base.lmale", false); + navGraph.preload("skins/swolf.mmale", false); + navGraph.preload("skins/beagle.lmale", false); +} + +function MissileLauncherImage::onFire(%data,%obj,%slot) +{ + %p = Parent::onFire(%data, %obj, %slot); + if(!game.gotMissile) + game.gotMissile = %p; +} + +function SinglePlayerGame::missionLoadDone(%game) +{ + Parent::missionLoadDone(%game); + training1Preloads(); +} + +function getTrainingPacifistMap() +{ + new ActionMap(TrainingPacifistMap); + // keys to rebind: + // jump, fire, suicide, jet + TrainingPacifistMap.blockBind( moveMap, jump ); + TrainingPacifistMap.blockBind( moveMap, mouseFire ); + TrainingPacifistMap.blockBind( moveMap, suicide ); + TrainingPacifistMap.blockBind( moveMap, mouseJet ); + + //TrainingPacifistMap.push(); +} + +// function Armor::onImpact(%data, %playerObject, %collidedObject, %vec, %vecLen) +// { +// error("ArmorOnImpact Called"); +// echo(%playerObject); +// if(%playerObject == $player.player && game.expectingImpact) { +// game.expectingImpact = false; +// messageClient($player, 'MsgTrainingHitGround', ""); +// } +// } + +function trainingPlayerHitGround() +{ + //see if we're about to hit the ground + //%mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType; + %mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType; + %rayStart = $Player.player.getWorldBoxCenter(); + %rayEnd = getWord(%rayStart, 0) SPC getWord(%rayStart, 1) SPC getWord(%rayStart, 2) - 20; + %foundObject = ContainerRayCast(%rayStart, %rayEnd, %mask, 0); + if (!%foundObject) + { + $Training1HitGround = schedule(1, $player.player, trainingPlayerHitGround); + return; + } + + //play the grunt... + if (Game.playGrunt) + { + Game.playGrunt = false; + playTargetAudio($player.target, 'avo.grunt', AudioClose3d, false); + } + + //make sure we hit within 8 to do the rest + if (VectorDist(getWords(%foundObject, 1, 3), %rayStart) > 8) + { + $Training1HitGround = schedule(1, $player.player, trainingPlayerHitGround); + return; + } + + $player.player.mountVehicle = true; + $player.player.setDamageFlash(0.5); + serverConnection.setBlackout(true, 600); + %heartBeatLengthMS = alxGetWaveLen("fx/misc/heartbeat.wav"); + schedule(1000, Game, alxPlay, HeartBeatSound, 0, 0, 0); + schedule(%heartBeatLengthMS, Game, trainingIntroFlightEnd); +} + +function SinglePlayerGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if(game.trainingIntro) + return; + else Parent::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement); +} + + +function serverCmdBuildClientTask(%client, %task, %team) +{ + // player shouldnt be able to use the voice commands to do anything +} + +function SinglePlayerEscapeDlg::returnToGame( %this ) +{ + parent::returnToGame( %this ); + if(game.trainingIntro) + trainingPacifistMap.push(); +} + +//END TRAINING1 PACKAGE======================================================================= +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/Training2.cs b/public/base/@vl2/scripts.vl2/scripts/Training2.cs new file mode 100644 index 00000000..00cad303 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/Training2.cs @@ -0,0 +1,1416 @@ +// don't want this executing when building graphs +if($OFFLINE_NAV_BUILD) + return; + +// script for training mission 2 +//------------------------------------------------------------- + + +//init +//------------------------------------------------------------- +error("Running Mission 2 Script"); + +activatePackage(Training2); +activatePackage(singlePlayerMissionAreaEnforce); + +$numberOfEnemies[1] = 6; +$numberOfEnemies[2] = 8; +$numberOfEnemies[3] = 11; + +//globals for base defense part +$numberOfWaves[1] = 3; +$numberOfWaves[2] = 4; +$numberOfWaves[3] = 5; +$numberInWave[1] = 2; +$numberInWave[2] = 3; +$numberInWave[3] = 5; + +$numberOfTeammates = 1; +$missionBotSkill[1] = 0.0; +$missionBotSkill[2] = 0.5; +$missionBotSkill[3] = 0.9; + +$victimSet[1] = "0 1 6 8"; +$victimSet[2] = "2 3 9"; +$victimSet[3] = "4 5 7 10"; + +// Team +$TeammateWarnom0 = "Dogkiller"; + +// mount plasma, missile launcher, targeting laser------------------- +addMessageCallback('MsgWeaponMount', playerMountWeapon); + +// touch with pack on +addMessageCallback('MsgItemCollisionHavePack', playerTouchItemHavePack); + +//repair initial pickup +addMessageCallback('MsgPackPickup', playerPickUp); + +//repair self +addMessageCallback('MsgRepairPackPlayerSelfRepair', playerRepairSelf); + +//repair nothing +addMessageCallback('MsgRepairPackNoTarget', noRepair); + +//repair unpowered +addMessageCallback('MsgRepairPackRepairingObj', ObjRepair); + +//enter inv station +addMessageCallback('msgEnterInvStation', StationInvEnter); + +// shield pack +//addMessageCallback('MsgShieldPackOn', playerTurnsOnShield); + + + +package training2 { +//--Training2 package begin ----------------------------------------------------------------- +function SinglePlayerGame::initGameVars(%game) +{ + // for many of the objectives we are going to periodically + // check the players distance vs some object + // you could do this much prettier but its going to be very specific + // so a cut and paste eyesore will be fine + echo("initializing training2 game vars"); + %game.sensor = nameToID("MissionGroup/Teams/team2/base1/initialPulseSensor"); + %game.base1 = nameToID("MissionGroup/Teams/team2/base1/base"); + %game.base1.threshold1 = 240; + %game.base1.threshold2 = 190; + %game.base2 = nameToID("MissionGroup/Teams/team2/base2/base"); + %game.base2.threshold1 = 300; + %game.base2.threshold2 = 250; + %game.base3 = nameToID("MissionGroup/Teams/team2/base3/base"); + %game.base3.threshold1 = 330; + %game.base3.threshold2 = 130; +} + +function toggleScoreScreen(%val) +{ + if ( %val ) + //error("No Score Screen in training......."); + messageClient($player, 0, $player.miscMsg[noScoreScreen]); +} + +function toggleCommanderMap(%val) +{ + if ( %val ) + messageClient($player, 0, $player.miscMsg[noCC]); +} + +function toggleTaskListDlg( %val ) +{ + if ( %val ) + messageClient( $player, 0, $player.miscMsg[noTaskListDlg] ); +} + +function toggleNetDisplayHud( %val ) +{ + // Hello, McFly? This is training! There's no net in training! +} + +function voiceCapture( %val ) +{ + // Uh, who do you think you are talking to? +} + +function MP3Audio::play(%this) +{ + //too bad...no mp3 in training +} + +function countTurretsAllowed(%type) +{ + return $TeamDeployableMax[%type]; +} + +function FlipFlop::objectiveInit(%data, %flipflop) +{ +} + +function giveall() +{ + error("When the going gets tough...wussies like you start cheating!"); + messageClient($player, 0, "Cheating eh? What\'s next? Camping?"); +} + +function kobayashi_maru() +{ + $testCheats = true; + commandToServer('giveAll'); +} + +function ClientCmdSetHudMode(%mode, %type, %node) +{ + parent::ClientCmdSetHudMode(%mode, %type, %node); + + movemap.push(); // hopefully this works + //TrainingMap.push(); +} + +function AIEngageTask::assume(%task, %client) +{ + Parent::assume(%task, %client); + + if(%client.team != $playerTeam) + game.biodermAssume(%client); +} + +// get the ball rolling +function startCurrentMission(%game) +{ + + createText( $player); + setFlipFlopSkins(); + schedule(2000, %game, openingSpiel); + //$player.timeLimit = schedule(45000, $player.player, playerHurryUp1); + schedule(2000, %game, objectiveDistanceChecks); + + giveEscortTask($teammate0, $player); + $AIDisableChat = true; + + buildTraining2Team2ObjectiveQs(); + updateTrainingObjectiveHud(obj1); + + createTrainingSpecificBanList(); +} + +function SinglePlayerGame::gameOver(%game) +{ + $InvBanList[SinglePlayer, "TurretOutdoorDeployable"] = ""; + $InvBanList[SinglePlayer, "TurretIndoorDeployable"] = ""; + $InvBanList[SinglePlayer, "ElfBarrelPack"] = ""; + $InvBanList[SinglePlayer, "MortarBarrelPack"] = ""; + $InvBanList[SinglePlayer, "PlasmaBarrelPack"] = ""; + $InvBanList[SinglePlayer, "AABarrelPack"] = ""; + $InvBanList[SinglePlayer, "MissileBarrelPack"] = ""; + $InvBanList[SinglePlayer, "InventoryDeployable"] = ""; + + parent::GameOver(%game); +} + +function giveEscortTask(%bot, %player) +{ + %newObjective = new AIObjective(AIOEscortPlayer) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = 10000; + description = "Escort Player"; + targetClientId = $player; + offense = true; + }; + //echo(%newObjective); + MissionCleanup.add(%newObjective); + $ObjectiveQ[$playerTeam].add(%newObjective); + $teammate0.DogKillerEscort = %newObjective; + + schedule(6000, %game, dogKillerSpeaks, 'ChatTaskCover'); +} + +function dogKillerSpeaks(%line) +{ + if(isObject($teammate0.player)) + serverCmdCannedChat($teammate0, %line, true); +} + +function findDogKillerNextRespawn() +{ + %num = game.respawnPoint; + %group = nameToId("Team1/DropPoints/Respawns"); + %object = %group.getObject(%num); + return %object; + +} + +function getTeammateGlobals() +{ + $TeammateWarnom0 = "Dogkiller"; + $teammateskill0 = 0.7; + if ( isDemo() ) + $teammateVoice0 = Male1; + else + $teammateVoice0 = Male5; + $teammateEquipment0 = 2; + $teammateGender0 = Male; +} + +function SinglePlayerGame::AIChooseGameObjective(%game, %client) +{ + if(! %client.player) + return; + if (%client.team == $playerTeam) + AIChooseObjective(%client); + else + AIChooseObjective(%client, $T2ObjectiveQ[%client.SpecialObjectives]); +} + +function SinglePlayerGame::equip(%game, %player) +{ + //ya start with nothing...NOTHING! + %player.clearInventory(); + + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + %set = %player.client.equipment; + //error("equping Player "@%player@" with set"@%set); + switch (%set) { + + case 0: + %player.setArmor("Medium"); + + %player.setInventory(ShieldPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 25); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(ElfGun, 1); + %player.setInventory(MissileLauncher,1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(TargetingLaser, 1); + %player.weaponCount = 4; + %player.use("Disc"); + + case 1: + %player.setArmor("Light"); + + %player.setInventory(EnergyPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 25); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(ElfGun, 1); + %player.weaponCount = 3; + + %player.use("Disc"); + + case 2: + %player.setArmor("Medium"); + + %player.setInventory(AmmoPack, 1); + + %player.setInventory(RepairKit,2); + %player.setInventory(Grenade,6); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 50); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 40); + %player.setInventory(ElfGun, 1); + %player.setInventory(MissileLauncher,1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(TargetingLaser, 1); + %player.weaponCount = 4; + %player.use("Disc"); + case 3: + //echo("Heavy Inside Attacker"); + + %player.setArmor("Heavy"); + + %player.setInventory(ShieldPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,8); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 50); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 10); + %player.setInventory(ShockLance,1); + %player.setInventory(Chaingun,1); + %player.setInventory(ChaingunAmmo,200); + %player.setInventory(TargetingLaser, 1); + + %player.use("Mortar"); + %player.weaponCount = 5; + } +} + +// Mission Part 2: Tower Defense-------------------------------------------- +//=========================================================================== + +function missionSpawnedAI(%client) +{ + %client.specialObjectives = 2; + + %wave = %client.memberOfWave; + if(!game.trainingspawnedWaveLine[%wave]) { + game.trainingspawnedWaveLine[%wave] = true; + + switch(%wave) { + case 1: + %turret = nameToId("MissionGroup/Teams/Team2/Base3/TurtleTurret"); + if(%turret.isDisabled || %turret.isDestroyed) + doText(T2_tipDefense02); + else doText(T2_tipDefense03); + case 2: + doText(T2_12); + case 3: + doText(T2_defense06); + checkForAllDead(); + } + } +} + +function pickEquipment() +{ + return 1; +} + +function playerMountWeapon(%tag, %text, %image, %player, %slot) +{ + if( game.firstTime++ < 2 || $pref::trainingDifficulty == 3) + return; // initial weapon mount doesnt count + + //this also turns off after a time so it doesnt show up in real combat + if( game.base1t1) + return; + + //echo("the problem is the image name: "@%image.getName()); + if(%image.getName() $= "PlasmaImage" && !game.msgPlas) { + game.msgPlas = true; + doText(T2_TipPlasma); + //echo("Plasma mount"); + } + if(%image.getName() $= "MissileLauncherImage" && !game.msgMisl) { + game.msgMisl = true; + doText(T2_TipMissile); + //echo("Missile mount"); + } + if(%image.getName() $= "ELFGunImage" && !game.msgElf) { + game.msgElf = true; + doText(T2_TipElf); + //echo("Elf mount"); + } + if(%image.getName() $= "TargetingLaserImage" && !game.msgLaze) { + game.msgLaze = true; + doText(T2_Tiptlaser); + } +} + +function Pack::onCollision(%data, %obj, %col) +{ + //error("ItemData::onCollision("@%data@", "@%obj@", "@%col@")"); + if($player.player.getMountedImage($backPackSlot)){ + messageClient($player, 'MsgItemCollisionHavePack', "", %data, %obj, %col); + } + parent::onCollision(%data,%obj,%col); + +} + +function FlipFlop::playerTouch(%data, %flipFlop, %player) +{ + if(!Parent::playerTouch(%data, %flipflop, %player)) + return; + + if(!game.msgFlop && %flipFlop == nameToId("Base1/CommandSwitch")) { + game.msgFlop = true; + doText(T2_05b); + doText(T2_05c); + checkObjectives(); + updateTrainingObjectiveHud(obj4); + game.respawnPoint = 1; + } + + schedule(1000, game, checkObjectives); +} + +function shapeBase::throwpack(%this, %data) +{ + if(!game.selfDestructSpeak && %this == $player.player) { + game.selfDestructSpeak = true; + doText(T3_tipEquipment01); + } + parent::throwPack(%this, %data); +} + +function WeaponImage::onMount(%this,%obj,%slot) +{ + messageClient(%obj.client, 'MsgWeaponMount', "", %this, %obj, %slot); + parent::onMount(%this,%obj,%slot); +} + + +// I need to find out exactly what gets called on sensor destruction +function SensorLargePulse::onDestroyed(%dataBlock, %destroyedObj, %prevState) +{ + if(%destroyedObj.getName() $= "InitialPulseSensor" && !game.initialSensorMsg) { + game.initialSensorMsg = true; + doText(T2_02); + updateTrainingObjectiveHud(obj1); + } + Parent::onDestroyed(%data, %destroyObj, %prevState); +} + +function Generator::onDestroyed(%data, %destroyedObj, %prevState) +{ + if(%destroyedObj == nameToId("MissionGroup/Teams/Team2/Base1/Generator") && !game.msgGenDestroyed) + { + game.msgGenDestroyed = true; + doText(T2_TipGens01); + } + Parent::onDestroyed(%data, %destroyObj, %prevState); +} + +function TurretBaseLarge::onDestroyed(%dataBlock, %destroyedObj, %prevState) +{ + //error("Lg*Turret Disabled"); + if(!game.turretsDestroyed) { + doText(Any_Kudo03); + + game.turretsDestroyed = true; + updateTrainingObjectiveHud(obj1); + checkObjectives(); + } + Parent::onDestroyed(%data, %destroyObj, %prevState); +} + +function stationTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + if(%colObj == $player.player) + messageClient(%colObj.client, 'msgEnterInvStation', ""); + + parent::onEnterTrigger(%data, %obj, %colObj); +} + +function createTrainingSpecificBanList() +{ + $InvBanList[SinglePlayer, "TurretOutdoorDeployable"] = 1; + $InvBanList[SinglePlayer, "TurretIndoorDeployable"] = 1; + $InvBanList[SinglePlayer, "ElfBarrelPack"] = 1; + $InvBanList[SinglePlayer, "MortarBarrelPack"] = 1; + $InvBanList[SinglePlayer, "PlasmaBarrelPack"] = 1; + $InvBanList[SinglePlayer, "AABarrelPack"] = 1; + $InvBanList[SinglePlayer, "MissileBarrelPack"] = 1; + $InvBanList[SinglePlayer, "InventoryDeployable"] = 1; +} + +//im putting all the callbacks into the package... just in case +//---------------------------------------------------------------- +function playerTouchItemHavePack(%this, %text, %data, %collided, %collider) +{ + //error("playerTouchItemHavePack("@%this@", "@%text@", "@%data@", "@%collided@", "@%collider@")"); + if(%collider == $player.player && !game.msghavePack && !game.tower3Secure) { + game.msghavePack = true; + doText(T2_TipDropit); + } +} +function RepairPack::onPickUp(%this, %obj, %player) +{ + //error("RepairPack::onPickUp("@%this@", "@%obj@", "@%player@")"); + if( !game.msgRepairPackPickUp && %player == $player.player) { + game.msgRepairPackPickUp = true; + //doText(T2_repairPack, 1500); + doText(T2_tipRepair01); + dotext(T2_TipRepair03); + } +} + +// function playerRepairSelf(%tag, %text) +// { +// if(!game.msgSelf){ +// game.msgSelf = true; +// dotext(T2_TipRepair03); +// } +// } + +function noRepair(%tag, %text) +{ + if(!game.msgRep){ + game.msgRep = true; + doText(T2_TipRepair02); + } +} +function ObjRepair(%tag, %string, %objName, %objID) +{ + if(%objID.getDatablock().classname !$= "generator" && + %objID.isPowered() && game.tower3Secure && !game.tipD2) { + game.tipD2 = true; + //doText(T2_tipDefense02); + } +} + +// function StationInvEnter(%a1, %a2) +// { +// //error("Inv Enter.........."); +// if(!game.msgEnterInv){ +// game.msgEnterInv = true; +// doText(T2_tipInventory); +// //doText(T2_tipDefense01); +// } +// } + +// function playerTurnsOnShield() +// { +// if(!game.msgShield) { +// game.msgShield++; +// doText(T2_TipShieldpack); +// } +// } + +function openingSpiel() +{ + doText(T2_01, 6000); + doText(T2_TipShieldpack); +} + +function SinglePlayerGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement) +{ + if(%damageType == $DamageType::sentryTurret && !game.sentryTurretKill && %clVictim.team != $playerTeam) + { + game.sentryTurretKill = true; + doText(T2_tipDefense05); + } + + if(%clVictim == $player && game.respawnPoint != 3) + { + %point = findDogKillerNextRespawn(); + %DKdefend = new AIObjective(AIODefendLocation) + { + datablock = "AIObjectiveMarker"; + position = %point.position; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend the players next respawn"; + location = %point.position; + weightLevel1 = 7000; + targetClientId = "-1"; + targetObjectId = %point; + }; + MissionCleanup.add(%DKdefend); + $ObjectiveQ[$playerTeam].add(%DKdefend); + game.dogKillersPlayerDefend = %DKdefend; + } + + Parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement); +} + +function spawnSinglePlayer() +{ + if(isObject(game.dogKillersPlayerDefend)) + { + AIClearObjective($teammate0.dogKillersPlayerDefend); + $teammate0.dogKillersPlayerDefend.weightLevel1 = 0; + + game.dogKillersPlayerDefend.delete(); + } + + parent::spawnSinglePlayer(); +} + +function missionClientKilled(%clVictim, %killer) +{ + + if(%killer == $player && %clVictim.team == $enemyTeam) + schedule(3000, $player.player, adviseHealthKit); + + if(%killer == $teammate0 && %clVictim.team == $enemyTeam) + %random = getRandom(50); + if(%random == 1) { + schedule(500, game, dogKillerSpeaks, 'ChatBrag'); + } + else if(%random == 2) { + schedule(500, game, dogKillerSpeaks, 'ChatAwesome'); + } + + + %set = checkForSequenceSkillCompletion(%clvictim); + game.victimSetKilled[%set] = true; + + if(%set == 1 && nameToId("base1/CommandSwitch").team != $playerTeam) + if(%killer == $player) + schedule(800, $player.player, doText, Any_Jingo03); //no mercy, remember Ymir + + schedule(3000, game, checkObjectives); +} + +function adviseHealthKit() +{ + if($player.player.getdamageLevel() > 0.3 + && $player.player.getInventory(RepairKit) && !game.useHeath) { + game.useHealth = true; + doText(Any_HealthKit); + } +} + +function checkForSequenceSkillCompletion(%victim) +{ + %set = findVictimSet(%victim); + //how is everbody esle in the set doing + for(%i = 0; %i < getWordCount($victimSet[%set]); %i++){ + %enemy = getWord($victimSet[%set], %i); + if($enemy[%enemy] && $enemy[%enemy].player && $enemy[%enemy] != %victim) { + error("There is $Enemy"@%enemy@" still in set "@ %set); + return 0; + } + } + return %set; + +} + +function findVictimSet(%victim) +{ + for(%i = 1; %i <= 3; %i++) { + for(%word = 0; %word < getWordCount($victimSet[%i]); %word++) { + %num = getWord($victimSet[%i], %word); + if($enemy[%num] == %victim) { + error("Victim is member of victim set "@%i); + return %i; + } + } + } +} + + +function checkObjectives() +{ + if( !isSafe($player, 100) ) { + error("player is not safe"); + schedule(10000, game, checkObjectives); + return; //objectives cannot be met if enemies are near + } + + else if(nameToId("base1/CommandSwitch").team == $playerTeam && !game.train07) { + game.initialSensorMsg = true; //so you cant double back to get the sensorDestoyed msg + game.train07 = true; + schedule(5000, $player, doText, T2_07); + } + else if(game.turretsDestroyed && !game.train10 && game.victimSetKilled2) { + game.train10 = true; + tower2clean(); + } + else if(nameToId("base3/EasternFortification").team == $playerTeam && game.victimSetKilled3 + && !game.tower3Secure) { + game.tower3Secure = true; + + //Dogkiller can now pick up team objectives + AIClearObjective($teammate0.DogKillerEscort); + $teammate0.DogKillerEscort.weightLevel1 = 0; + + schedule(6000, game, dogKillerSpeaks, 'ChatSelfDefendBase'); + + doText(T2_10); + doText(T2_10a); + doText(T2_11, 2000); + + // first get the gens up + if( ! nameToId("base3/EasternFortification").isPowered() ) + { + //echo("switch is not powered"); + doText(t2_TipDefense02, 1000); + + } + + // now the inventory stuff + doText(T2_inventory01); + doText(T2_tipInventory01); + doText(T2_tipInventory03); + %timeToFirstWave = (2.1 - $pref::trainingDifficulty) * 10000; + schedule(%timeToFirstWave, game, spawnWave, 1); //beginTowerDefense + convertPassedEnemies(); + + updateTrainingObjectiveHud(obj2); + game.respawnPoint = 3; + } +} + +function missionWaveDestroyed() +{ + // there have been cases where this didnt seem to get called + // lets try again + convertPassedEnemies(); +} + + +function tower2clean() +{ + doText(ANY_Waypoint02); + %newWaypoint = "797.596 -652.19 162.924"; + schedule(2000, game, setWaypointAt, %newWaypoint, "Control Switch"); + updateTrainingObjectiveHud(obj3); + game.respawnPoint = 2; +} + +function convertPassedEnemies() +{ + %num = clientGroup.getCount(); + for(%i = 0; %i < %num; %i++) { + %client = clientGroup.getObject(%i); + if(%client.player) { + if(%client.specialObjectives != 2) { + %client.specialObjectives = 2; + // and to make sure the bot doesnt THINK what its + // currently doing is more important + aiUnassignClient(%client); + } + } + } +} + +function singlePlayerGame::pickTeamSpawn(%game, %client, %respawn) +{ + if(game.tower3Secure && %client.team == $enemyTeam) + Training2LaterPickTeamSpawn(%game, %client); + else parent::pickTeamSpawn(%game, %client, %respawn); +} + + +function Training2LaterPickTeamSpawn(%game, %client) +{ + %dp = game.pickRandomDropPoint(%client); + InitContainerRadiusSearch(%dp.position, 2, $TypeMasks::PlayerObjectType); + if( containerSearchNext() ) { + //error("Too close object, picking again?"); + if(game.DPRetries++ > 100) + return "0 0 300"; + else return game.pickTeamSpawn(%client); + } + + else { + game.DPRetries = 0; + return %dp.getTransform(); + } +} + +function singlePlayerGame::pickRandomDropPoint(%game, %client) +{ + //error("picking random point for "@%client); + %group = nameToID("MissionGroup/Teams/team2/DropPoints/Respawns"); + %num = %group.getCount(); + %random = getRandom(1,%num); + %dp = %group.getObject( %random ); + + return %dp; +} + + +function checkForAllDead() +{ + //none of this matters if you're dead + if(!$player.player) { + //error("You have no player!"); + schedule(5000, game, checkForAllDead); + return; + } + + + %num = clientGroup.getCount(); + for(%i = 0; %i < %num; %i++) + { + %client = ClientGroup.getObject(%i); + if(%client.player && %client.team == $enemyTeam) { + //error("Client " @ %client @ " is still alive."); + schedule(5000, game, checkForAllDead); + return; + } + } + //messageAll(0, "Debug: I dont think there are any enemies alive"); + doText(T2_13); + schedule(2000, game, missionComplete, $player.miscMsg[training2win]); +} + +function objectiveDistanceChecks() +{ + %playerPosition = $player.player.getTransform(); + if(!%playerPosition) { + schedule(5000, game, objectiveDistanceChecks); + return; + } + + + %sensorDist = vectorDist(%playerPosition, game.sensor.position); + if(%sensorDist < 250 && !game.sensorText) { + game.sensorText = true; + cancel($player.timeLimit); + doText(T2_01a, 3000); + doText(T2_01b); + doText(T2_tipScanned); + schedule(4000, game, updateTrainingObjectiveHud, obj5); + } + %base1distance = vectorDist( %playerPosition, game.base1.position ); + //error("debug distance: base1- "@%base1distance); + if(%base1distance < game.base1.threshold1 && !game.base1t1 ) + { + game.base1t1 = true; + doText(T2_03); + cancel($player.timeLimit); + } + if(%base1distance < game.base1.threshold2 && !game.base1t2 ) + { + game.base1t2 = true; + doText(T2_04); + doText(T2_04a); + doText(T2_05); + updateTrainingObjectiveHud(obj3); + } + + %base2distance = vectorDist( %playerPosition, game.base2.position ); + //error("debug distance: base2- "@%base2distance); + if(%base2distance < game.base2.threshold1 && !game.base2t1 && !game.turretsDestroyed) + { + game.base2t1 = true; + doText(T2_08); + updateTrainingObjectiveHud(obj6); + } +//error(game.turretsDestroyed); + if(%base2distance < game.base2.threshold2 && !game.base2t2 && !game.turretsDestroyed) + { + game.base2t2 = true; + doText(T2_TipTurret02); + + if( getPlayersOnTeam($playerTeam) < 2) + doText(T2_Cya01); + } + + %base3distance = vectorDist( %playerPosition, game.base3.position ); + //error("debug distance: base3- "@%base3distance); + if(%base3distance < game.base3.threshold1 && !game.base3t1) + { + game.base3t1 = true; + doText(T2_09a); + } + + if(%base3distance < game.base3.threshold2 && !game.base3t2) { + game.base3t2 = true; + doText(T2_09b); + if($player.player.getMountedImage($backpackSlot) $= "ShieldPackImage") + doText(T2_ShieldPack02); + } + + schedule(4000, game, objectiveDistanceChecks); +} + + +function buildTraining2Team2ObjectiveQs() +{ + $T2ObjectiveQ[0] = new AIObjectiveQ(); + MissionCleanup.add($T2ObjectiveQ[0]); + + $T2ObjectiveQ[1] = new AIObjectiveQ(); + MissionCleanup.add($T2ObjectiveQ[1]); + + $T2ObjectiveQ[2] = new AIObjectiveQ(); + MissionCleanup.add($T2ObjectiveQ[2]); + + + //////////////////objectiveQ 0-------------------------------------------------------------- + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "-163.766 126.029 103.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the initial SensorLargePulse"; + targetObject = "InitialPulseSensor"; + targetClientId = "-1"; + targetObjectId = nameToId("InitialPulseSensor"); + location = "-163.766 126.029 103.831"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "Light RepairPack"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[0].add(%newObjective); + + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "-33.7195 -131.864 133.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the base1 Gen"; + targetObject = "generator"; + targetClientId = "-1"; + targetObjectId = nameToId("base1/generator"); + location = "-33.7195 -131.864 133.096"; + weightLevel1 = "3200"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[0].add(%newObjective); + + %newObjective = new AIObjective(AIODefendLocation) { + datablock = "AIObjectiveMarker"; + position = "-33.7195 -131.864 133.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend the base1 gen"; + targetObject = "generator"; + targetClientId = "-1"; + targetObjectId = nameToId("base1/generator"); + location = "-12 -131.864 133.096"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[0].add(%newObjective); + + %newObjective = new AIObjective(AIODefendLocation) { + datablock = "AIObjectiveMarker"; + position = "-8.82616 -131.779 121.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend the base 1 flipflop"; + targetObject = "CommandSwitch"; + targetClientId = "-1"; + targetObjectId = nameToId("CommandSwitch"); + location = "-8.82616 -131.779 121.39"; + weightLevel1 = "3900"; + weightLevel2 = "2000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[0].add(%newObjective); + + %newObjective = new AIObjective(AIOTouchObject) { + datablock = "AIObjectiveMarker"; + position = "-8.82616 -131.779 121.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Capture the base1 FlFlop"; + mode = "TouchFlipFlop"; + targetObject = "CommandSwitch"; + targetClientId = "-1"; + targetObjectId = nameToID("CommandSwitch"); + location = "-8.82616 -131.779 121.39"; + weightLevel1 = "3850"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + equipment = "light"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + if($pref::trainingDifficulty != 1) + $T2ObjectiveQ[0].add(%newObjective); + + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "-11.5761 -131.662 172.204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the Sensor Pulsation"; + targetObject = "Team2SensorMediumPulse1"; + targetClientId = "-1"; + targetObjectId = nameToId("Team2SensorMediumPulse1"); + location = "-11.5761 -131.662 172.204"; + weightLevel1 = "3100"; + weightLevel2 = "1000"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[0].add(%newObjective); + + + ///////////////objectiveQ 1--------------------------------------------------------------- + %newObjective = new AIObjective(AIODefendLocation) { + datablock = "AIObjectiveMarker"; + position = "380.576 -301.298 101.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend the Base2 Gen"; + targetObject = "generator"; + targetClientId = "-1"; + targetObjectId = nameToId("base2/generator"); + location = "380.576 -301.298 101.843"; + weightLevel1 = "3100"; + weightLevel2 = "1500"; + weightLevel3 = "1000"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[1].add(%newObjective); + + ///////////////objectiveQ 2--------------------------------------------------------------- + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "787.866 -647.605 164.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair gen3"; + targetObject = "Generator3"; + targetClientId = "-1"; + targetObjectId = nameToId("Generator3"); + location = "787.866 -647.605 164.343"; + weightLevel1 = "4000"; + weightLevel2 = ""; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIODefendLocation) { + datablock = "AIObjectiveMarker"; + position = "787.866 -647.605 164.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend gen3"; + targetObject = "Generator3"; + targetClientId = "-1"; + targetObjectId = nameToId("Generator3"); + location = "787.866 -647.605 164.343"; + weightLevel1 = "3400"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIOAttackObject) { + datablock = "AIObjectiveMarker"; + position = "785.96 -659.402 138.593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Attack the Station Alpha"; + targetObject = "Inventory_Alpha"; + targetClientId = "-1"; + targetObjectId = nameToId("Inventory_Alpha"); + location = "785.96 -659.402 138.593"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIOAttackObject) { + datablock = "AIObjectiveMarker"; + position = "793.435 -647.88 138.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Attack the Station Beta"; + targetObject = "Inventory_Beta"; + targetClientId = "-1"; + targetObjectId = nameToId("Inventory_Beta"); + location = "793.435 -647.88 138.499"; + weightLevel1 = "2900"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = ""; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "792.748 -656.036 143.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the SentryTurret"; + targetObject = "TurtleTurret"; + targetClientId = "-1"; + targetObjectId = nameToId("TurtleTurret"); + location = "792.748 -656.036 143.914"; + weightLevel1 = "3100"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIOTouchObject) { + datablock = "AIObjectiveMarker"; + position = "797.596 -652.19 164.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Capture the Base3 FlipFlop"; + mode = "TouchFlipFlop"; + targetObject = "EasternFortification"; + targetClientId = "-1"; + targetObjectId = nameToId("EasternFortification"); + location = "797.596 -652.19 164.558"; + weightLevel1 = "3850"; + weightLevel2 = "3400"; + weightLevel3 = "3000"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "Light"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + if($pref::trainingDifficulty != 1) + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIOAttackObject) { + datablock = "AIObjectiveMarker"; + position = "787.866 -647.605 164.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Attack the generatorLarge"; + targetObject = "Generator3"; + targetClientId = "-1"; + targetObjectId = nameToId("Generator3"); + location = "787.866 -647.605 164.343"; + weightLevel1 = "3100"; + weightLevel2 = "1600"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "1"; + defense = "0"; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "785.96 -659.402 138.593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the StationInventory"; + targetObject = "Inventory_Alpha"; + targetClientId = "-1"; + targetObjectId = nameToId("Inventory_Alpha"); + location = "785.96 -659.402 138.593"; + weightLevel1 = "3500"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "793.435 -647.88 138.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the StationInventory"; + targetObject = "Inventory_Beta"; + targetClientId = "-1"; + targetObjectId = nameToId("Inventory_Beta"); + location = "793.435 -647.88 138.499"; + weightLevel1 = "3500"; + weightLevel2 = "1400"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIODefendLocation) { + datablock = "AIObjectiveMarker"; + position = "791.311 -655.22 156.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend the Base 3FlipFlop"; + targetObject = "EasternFortification"; + targetClientId = "-1"; + targetObjectId = nameToId("EasternFortification"); + //location = "797.596 -652.19 164.558"; + location = "791.311 -655.22 156.159"; + weightLevel1 = "3900"; + weightLevel2 = "2900"; + weightLevel3 = "300"; + weightLevel4 = "100"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIORepairObject) { + datablock = "AIObjectiveMarker"; + position = "556.144 -411.448 133.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Repair the SensorMediumPulse"; + targetObject = "MidwaySensor"; + targetClientId = "-1"; + targetObjectId = nameToId("MidwaySensor"); + location = "556.144 -411.448 133.224"; + weightLevel1 = "4000"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + equipment = "RepairPack"; + buyEquipmentSet = ""; + issuedByHuman = "0"; + issuedByClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + + %newObjective = new AIObjective(AIODefendLocation) { + datablock = "AIObjectiveMarker"; + position = "785.96 -659.402 138.593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + description = "Defend the Downstairs//Stations"; + targetObject = "Inventory_Alpha"; + targetClientId = "-1"; + targetObjectId = nameToId("Inventory_Alpha"); + location = "785.96 -659.402 138.593"; + weightLevel1 = "3700"; + weightLevel2 = "0"; + weightLevel3 = "0"; + weightLevel4 = "0"; + offense = "0"; + defense = "1"; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + issuedByHuman = "0"; + issuingClientId = "-1"; + forceClientId = "-1"; + locked = "0"; + }; + MissionCleanup.add(%newObjective); + $T2ObjectiveQ[2].add(%newObjective); + +} + + +//--Training2 package END ----------------------------------------------------------------- +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/Training3.cs b/public/base/@vl2/scripts.vl2/scripts/Training3.cs new file mode 100644 index 00000000..161d30fe --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/Training3.cs @@ -0,0 +1,567 @@ +// don't want this executing when building graphs +if($OFFLINE_NAV_BUILD) + return; + +// script fror training mission 3 +//------------------------------------------------------------- + +//init +//------------------------------------------------------------- +echo("Running Mission 3 Script"); +activatePackage(Training3); + + +$numberOfEnemies[1] = 5; +$numberOfEnemies[2] = 7; +$numberOfEnemies[3] = 7; +$numberOfTeammates = 0; +$missionBotSkill[1] = 0.0; +$missionBotSkill[2] = 0.5; +$missionBotSkill[3] = 0.9; +$missionEnemyThreshold[1] = 0; +$missionEnemyThreshold[2] = 3; +$missionEnemyThreshold[3] = 7; + + +//the Scout is very important +$Shrike = nameToId("Ride"); +// activate the wings on the flyer +$Shrike.playThread($ActivateThread, "activate"); + +// for the distance checking +addMessageCallback('MsgWeaponMount', playerMountWeapon); + +package training3 { +//===============================================begin the training 3 package stuff==== + +function SinglePlayerGame::initGameVars(%game) +{ + // for many of the objectives we are going to periodically + // check the players distance vs some object + // you could do this much prettier but its going to be very specific + // so a cut and paste eyesore will be fine + echo("initializing training3 game vars"); + %game.base = nameToId("Shield"); + %game.baseLocation = game.base.getTransform(); + %game.base.threshold = 400; + %game.end = nameToId("PlayerDropPoint"); + %game.endLocation = game.end.getTransform(); +} + +function MP3Audio::play(%this) +{ + //too bad...no mp3 in training +} + +// force always scope for testing +function singlePlayerGame::onAIRespawn(%game, %client) +{ + if(! isObject("MissionCleanup/TeamDrops2")) { + //this is the snippet of script from default games that puts teamdrops + // into the mission cleanup group...slightly modified to suit our needs + %dropSet = new SimSet("TeamDrops2"); + MissionCleanup.add(%dropSet); + + %spawns = nameToID("MissionGroup/Teams/team2/TeamDrops"); + if(%spawns != -1) + { + %count = %spawns.getCount(); + for(%i = 0; %i < %count; %i++) + %dropSet.add(%spawns.getObject(%i)); + } + } + + // error("Forcing AI Scope!!!!!!!!!!!!!"); + // %client.player.scopeToClient($player); + + parent:: onAIRespawn(%game, %client); +} + +function getTeammateGlobals() +{ + echo("You have no teammates in this mission"); +} + +function toggleScoreScreen(%val) +{ + if ( %val ) + //error("No Score Screen in training......."); + messageClient($player, 0, $player.miscMsg[noScoreScreen]); +} + +function toggleCommanderMap(%val) +{ + if ( %val ) + messageClient($player, 0, $player.miscMsg[noCC]); +} + +function toggleTaskListDlg( %val ) +{ + if ( %val ) + messageClient( $player, 0, $player.miscMsg[noTaskListDlg] ); +} + +function toggleNetDisplayHud( %val ) +{ + // Hello, McFly? This is training! There's no net in training! +} + +function voiceCapture( %val ) +{ + // Uh, who do you think you are talking to? +} + +function giveall() +{ + error("When the going gets tough...wussies like you start cheating!"); + messageClient($player, 0, "Cheating eh? What\'s next? Camping?"); +} + +function kobayashi_maru() +{ + $testcheats = true; + commandToServer('giveAll'); +} + +function AIEngageTask::assume(%task, %client) +{ + Parent::assume(%task, %client); + + if(%client.team != $playerTeam) + game.biodermAssume(%client); +} + +function countTurretsAllowed(%type) +{ + return $TeamDeployableMax[%type]; +} + + +function FlipFlop::objectiveInit(%data, %flipflop) +{ +} + +function ClientCmdSetHudMode(%mode, %type, %node) +{ + parent::ClientCmdSetHudMode(%mode, %type, %node); + //TrainingMap.push(); +} + + +// get the ball rolling +function startCurrentMission(%game) +{ + + //just in case + setFlipFlopSkins(); + schedule(5000, %game, opening); + schedule(30000, %game, objectiveDistanceChecks); + updateTrainingObjectiveHud(obj1); + + if($pref::trainingDifficulty == 1) { + nameToId(BackEnterSentry).hide(true); + freeTarget(nameToId(BackEnterSentry).getTarget()); + } +} + +function opening() +{ + if(game.vehicleMount) + return; + doText(T3_01); + //doText(T3_02); + doText(T3_cloaking); + doText(T3_tipCloaking01); + doText(T3_tipCloaking02); +} + +function SinglePlayerGame::equip(%game, %player) +{ + //ya start with nothing...NOTHING! + %player.clearInventory(); + + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //echo("Light Assassin Config"); + + %player.setArmor("Light"); + + %player.setInventory(CloakingPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(FlashGrenade,5); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 20); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(TargetingLaser, 1); + %player.setInventory(ShockLance,1); + %player.weaponCount = 3; + + %player.use("Disc"); +} + +// ============================================================================ +function singlePlayerGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + %teamCount = getPlayersOnTeam(%clVictim.team); + //echo("Team count:" SPC %teamCount); + %maintNum = $missionEnemyThreshold[$pref::trainingDifficulty]; + //echo("Maintain:" SPC %maintNum); + + %clVictim.useSpawnSphere = true; + + // this will respawn the AI if + if( %teamCount < %maintNum ) + DefaultGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement); + +} + +function singleplayerGame::pickTeamSpawn(%game, %client, %respawn) +{ + if(%client.useSpawnSphere) + DefaultGame::pickTeamSpawn(%game, %client.team); + else + parent::pickTeamSpawn(%game, %client, %respawn); +} + + + + +function clientCmdVehicleMount() +{ + if(game.vehicleMount++ == 1) { + doText(Any_Waypoint01, 2000); + //doText(Any_Waypoint03, 4000); + doText(T3_tipPiloting01); + doText(T3_02); + doText(T3_05); + schedule(4000, game, setWaypointAt, game.baseLocation, "Icefell Ridge Base"); + updateTrainingObjectiveHud(obj2); + + game.pilotingTips = schedule(60000, game, PilotingTips); + } + if(game.phase == 4) { + setWaypointAt(game.endLocation, "Extraction Point"); + updateTrainingObjectiveHud(obj3); + doText(T3_11); + doText(T3_12); + game.phase = 5; + + if(!nameToId(AATurretGen).isDisabled()) + doText(t3_12a); + } +} + +function RepairPack::onCollision(%this,%obj,%col) +{ + if($player.player.getInventory(CloakingPack) && $player.player.getDamageLevel() > 0.2 + && !game.msgtipEquip && %col == $player.player) { + game.msgTipEquip = true; + doText(T3_tipEquipment02); + } + + parent::onCollision(%this,%obj,%col); +} + + +// 86 the vehicle removal on dying +function vehicleAbandonTimeOut(%vehicle) +{ +// dont mess it up +} + +function playerMountWeapon(%tag, %text, %image, %player, %slot) +{ + if( game.firstTime++ < 2) + return; // initial weapon mount doesnt count + + if(%image.getName() $= "ShockLanceImage" && !game.msgShock) { + game.msgShock = true; + //doText(T3_TipShockLance); + } +} + +function FlipFlop::playerTouch(%data, %flipFlop, %player ) +{ + + //echo("singlePlayer::playerTouchFlipFlop"); + %client = %player.client; + %flipTeam = %flipflop.team; + + if(%flipTeam == %client.team) + return false; + + nameToId(Shield).delete(); + + //just the sound + messageAll( 'MsgClaimFlipFlop', '~wfx/misc/flipflop_taken.wav', %client.name, Game.cleanWord( %flipflop.name ), $TeamName[%client.team] ); + + if(%player == $player.player) + schedule( 1500, game, flipFlopFlipped); + + objectiveDistanceChecks(); + + //change the skin on the switch to claiming team's logo + setTargetSkin(%flipflop.getTarget(), $teamSkin[%player.team]); + setTargetSensorGroup(%flipflop.getTarget(), %player.team); + + // convert the resources associated with the flipflop + Game.claimFlipflopResources(%flipflop, %client.team); + + Game.AIplayerCaptureFlipFlop(%player, %flipflop); + + return true; +} + +function scoutFlyer::onRemove(%this, %obj) +{ + error("scoutFlyer::onRemove("@ %obj@") called"); + if ( ! isObject( ServerConnection ) ) + return; + if(%obj == $Shrike ) { + // we dont want the player to die hitting the ground + cancel(game.pilotingTips); + $player.player.invincible = true; + missionFailed($player.miscMsg[training3shrikeLoss]); + } +} + +function WeaponImage::onMount(%this,%obj,%slot) +{ + messageClient(%obj.client, 'MsgWeaponMount', "", %this, %obj, %slot); + Parent::onMount(%this,%obj,%slot); +} + +function GeneratorLarge::onDestroyed(%dataBlock, %destroyedObj, %prevState) +{ + if(%destroyedObj == nameToId("PrisonGen") && !game.msgGenDestroyed) + { + game.msgGenDestroyed = true; + doText(Any_ObjComplete01); + updateTrainingObjectiveHud(obj6); + } + else if(%destroyedObj == nameToId(AATurretGen)) + $player.AAGenWaypoint.delete(); + +} + +// If the forcefield is shot we play this little wav file +function ProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal) +{ + //error("ProjectileData::onCollision("@%data@", "@%projectile@", "@%targetObject@", "@%modifier@", "@%position@", "@%normal@")"); + parent::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal); + + if(game.msgGenDestroyed) + return; + else if(%targetObject.getDataBlock().getName() $= nameToId(Shield).dataBlock) { + //error("someone shot the force field"); + if(%projectile.sourceObject == $player.player){ + //error("it was you f00"); + if(!game.msgMustDestroyGen) { + game.msgMustDestroyGen = true; + doText(T3_07b); + } + } + } +} + + +function addTraining3Waypoints() +{ + //do the hud updating also + $player.currentWaypoint.delete(); + updateTrainingObjectiveHud(obj5); + + %Training3WaypointsGroup = new simGroup(Training3Waypoints); + MissionCleanup.add(%Training3WaypointsGroup); + + %waypoint = new WayPoint() { + position = nameToId(FF).position; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Control Point"; + team = "0"; + locked = "true"; + }; + %Training3WaypointsGroup.add(%waypoint); + + %waypoint = new WayPoint() { + position = nameToId(BaseGen).getWorldBoxCenter(); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base Power"; + team = "0"; + locked = "true"; + }; + %Training3WaypointsGroup.add(%waypoint); + + %waypoint = new WayPoint() { + position = nameToId(sensorNetGen).getWorldBoxCenter(); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Sensor Power"; + team = "0"; + locked = "true"; + }; + %Training3WaypointsGroup.add(%waypoint); + + %waypoint = new WayPoint() { + position = nameToId(AATurretGen).getWorldBoxCenter(); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "AntiAircraft Turret Power"; + team = "0"; + locked = "true"; + }; + //%Training3WaypointsGroup.add(%waypoint); + $player.AAGenWaypoint = %waypoint; + + %waypoint = new WayPoint() { + position = nameToId(prisonGen).getWorldBoxCenter(); + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Forcefield Power"; + team = "0"; + locked = "true"; + }; + %Training3WaypointsGroup.add(%waypoint); +} + +function RandomPilotingTips() +{ + // this is unused as testers claimed it sounded 'disjointed and random' + + if(pilotingTips()) + game.pilotingTips = schedule(20000, $player.player, RandomPilotingTips); +} + +function pilotingTips() +{ + %num = 2; + if(game.Training3tips == %num) + return false; + %tip = getRandom(1, %num); + if( game.training3TipUsed[%tip] ) + return true; + switch(%tip){ + case 1: + doText(T3_tipfreelook); + case 2: + doText(T3_tipPiloting04); +// case 3: +// doText(T3_tipPiloting02); +// case 4: +// doText(T3_tipUnderwater01); + } + game.training3Tips++; + game.training3TipUsed[%tip] = true; + return true; +} + + +//misc +//------------------------------------------------------------- + +function objectiveDistanceChecks() +{ + %playerPos = $player.player.getTransform(); + if(!%playerPos) { + schedule(2000, game, objectiveDistanceChecks); + return; + } + + %cont = true; + %basedistance = vectorDist( %playerPos, game.baseLocation ); + + if(game.phase == 0 && %basedistance < game.base.threshold ) { + doText(T3_06, 4000); + doText(T3_tipCloaking03); + doText(T3_07); + game.phase = 1; + %cont = false; + cancel(game.pilotingTips); + addTraining3Waypoints(); + game.respawnPoint = 1; + + } + if(game.phase == 5 && vectorDist(%playerPos, game.baseLocation) > 1000 ) + { + game.phase = 6; + serverConnection.setBlackout(true, 3000); + schedule(3000, game, finishMission); + } + + if(%cont) + schedule(2000, game, objectiveDistanceChecks); +} + +function finishMission() +{ + $shrike.setFrozenState(true); + nameToId(AATurretGen).setDamageState(Disabled); //hack! cheating! + doText(T3_13); + //messageAll(0, "Nya, nya, nyanyanay...this missions oh-ohover!"); + missionComplete($player.miscMsg[training3win]); + %cont = false; +} + + +function flipFlopFlipped() +{ + //error("flip flop flipped"); + if(!game.flipFlopped) { + game.flipFlopped = true; + + // if we need a message modify this. + //messageTeam( %client.team, 'MsgClaimFlipFlop', '\c2%1 claimed %2 for %3.~wfx/misc/flipflop_taken.wav', %client.name, Game.cleanWord( %flipflop.name ), $TeamName[%client.team] ); + + doText(T3_09, 8000); + doText(T3_10); + game.phase = 4; + + if(!nameToId(AATurretGen).isDisabled()) + doText(t3_09a); + + // new waypoint at the shrike + setWaypointAt($shrike.getTransform(), "Shrike"); + updateTrainingObjectiveHud(obj4); + + //get rid of the other waypoints + nameToId(Training3Waypoints).delete(); + } +} + +// Mission area is pointless this time out +function SinglePlayerGame::leaveMissionArea(%game, %player) +{ +} +function SinglePlayerGame::enterMissionArea(%game, %player) +{ +} + +//===============================================END the training 3 package stuff==== +}; + + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/Training4.cs b/public/base/@vl2/scripts.vl2/scripts/Training4.cs new file mode 100644 index 00000000..c4cf3008 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/Training4.cs @@ -0,0 +1,988 @@ +// don't want this executing when building graphs +if($OFFLINE_NAV_BUILD) + return; + +echo("Running Mission 4 Script"); +activatePackage(Training4); +activatePackage(singlePlayerMissionAreaEnforce); + + +//special sound +datablock AudioProfile(HudFlashSound) +{ + filename = "gui/buttonover.wav"; + description = AudioDefault3d; + preload = true; +}; + +$numberOfEnemies[1] = 0; +$numberOfEnemies[2] = 0; +$numberOfEnemies[3] = 0; + +// Mission Variables +$numberOfWaves[1] = 3; +$numberOfWaves[2] = 5; +$numberOfWaves[3] = 7; + +$numberInWave[1] = 3; +$numberInWave[2] = 5; +$numberInWave[3] = 7; + +$delayBeforeFirstWave[1] = 300000; +$delayBeforeFirstWave[2] = 200000; +$delayBeforeFirstWave[3] = 20000; + +$missionBotSkill[1] = 0.0; +$missionBotSkill[2] = 0.5; +$missionBotSkill[3] = 0.8; + +$numberOfTeammates = 2; + +package training4 { +//===============================================begin the training 4 package stuff==== +function getTeammateGlobals() +{ + $TeammateWarnom0 = "Firecrow"; + $teammateskill0 = 0.5; + $teammateVoice0 = Fem3; + $teammateEquipment0 = 0; + $teammateGender0 = Female; + + $TeammateWarnom1 = "Proteus"; + $teammateSkill1 = 0.5; + $teammateVoice1 = Male4; + $teammateEquipment1 = 0; + $teammateGender1 = Male; +} + + +function MP3Audio::play(%this) +{ + //too bad...no mp3 in training +} + + +function ClientCmdSetHudMode(%mode, %type, %node) +{ + parent::ClientCmdSetHudMode(%mode, %type, %node); + //TrainingMap.push(); +} + +// get the ball rolling +function startCurrentMission(%game) +{ + game.equip($player.player); + + if($pref::TrainingDifficulty == 3) + updateTrainingObjectiveHud(obj10); + else{ + schedule(5000, game, repairSensorTower); + updateTrainingObjectiveHud(obj1); + } + $player.beginSpawn = schedule($delayBeforeFirstWave[$pref::TrainingDifficulty], %game, spawnWave, 1); + $AIDisableChat = true; + game.missionTime = getSimTime(); + activateskillSpecificTrainingSettings(); +} + +function activateskillSpecificTrainingSettings() +{ + %skill = $pref::TrainingDifficulty; + + // all + nameToId("Team1SensorLargePulse1").setDamageLevel(1.5); + nameToId("Team1SensorLargePulse2").setDamageLevel(1.5); + + //skill 2 & 3 : + //no forcefield, no upstairs Inventory deploy, aaturret(in the mis file) + if(%skill > 1) { + + %invDepObj = findObjByDescription("Deploy Upstairs Station", 1); + removeDescribedObj(%invDepObj, 1); + } + // skill 3: no turret, no destroy turret or upstairs gen objectives + if(%skill > 2) { + nameToId(Team1TurretBaseLarge1).hide(true); + freeTarget(nameToId(Team1TurretBaseLarge1).getTarget()); + nameToId(GenForceField).delete(); + } +} + +function countTurretsAllowed(%type) +{ + return $TeamDeployableMax[%type]; +} + +function giveall() +{ + error("When the going gets tough...wussies like you start cheating!"); + messageClient($player, 0, "Cheating eh? What\'s next? Camping?"); +} + +function kobayashi_maru() +{ + $testcheats = true; + commandToServer('giveAll'); +} + + +function pickEquipment() +{ + return getRandom(10); +} + +function AIEngageTask::assume(%task, %client) +{ + Parent::assume(%task, %client); + + if(%client.team != $playerTeam) + game.biodermAssume(%client); +} + +function toggleScoreScreen(%val) +{ + if ( %val ) + messageClient($player, 0, $player.miscMsg[noScoreScreen]); +} + +function toggleNetDisplayHud( %val ) +{ + // Hello, McFly? This is training! There's no net in training! +} + +function voiceCapture( %val ) +{ + // Uh, who do you think you are talking to? +} + +function singlePlayerGame::pickTeamSpawn(%game, %client) +{ + if(%client.team == $player.team) + return parent::pickTeamSpawn(%game, %client); + %dp = game.pickRandomDropPoint(%client); + InitContainerRadiusSearch(%dp.position, 2, $TypeMasks::PlayerObjectType); + if( containerSearchNext() ) { + //echo("Too close object, picking again?"); + if(game.DPRetries++ > 100) + return "0 0 300"; + else return game.pickTeamSpawn(%client); + } + + else { + game.DPRetries = 0; + return %dp.getTransform(); + } +} + +function singlePlayerGame::pickRandomDropPoint(%game, %client) +{ + error("picking random point for "@%client); + %group = nameToID("MissionGroup/Teams/team" @ %client.team @ "/DropPoints"); + %num = %group.getCount(); + %random = getRandom(1,%num); + %dp = %group.getObject( %random ); + + return %dp; +} + +function spawnSinglePlayer() +{ + $player.lives--; + + %spawn = DefaultGame::pickTeamSpawn(game, $playerTeam); + game.createPlayer($player, %spawn); + $player.setControlObject($player.player); + //messageClient($player, 0, "Respawns Remaining: "@$player.lives); + game.equip($player.player, 0); +} + +function Generator::onDisabled(%data, %obj, %prevState) +{ + Parent::onDisabled(%data, %obj, %prevState); + if(%obj == nameToId(BaseGen)) //its our primary gen + { + doText(T4_Warning02); + game.MissionCounter = schedule(60000, 0, MissionFailedTimer); + setWaypointAt(%obj.position, "Repair Generator"); + clockHud.setTime(1); + updateTrainingObjectiveHud(obj5); + } + else if($pref::trainingDifficulty < 2) + { + if (getRandom() < 0.5 ) + doText(T4_ForceFields01); + else doText(T4_FFGenDown01); + } + +} + +function Generator::onEnabled(%data, %obj, %prevState) +{ + Parent::onEnabled(%data, %obj, %prevState); + //error("Gen up somewhere"); + if(%obj == nameToId(BaseGen)) { + cancel(game.MissionCounter); + objectiveHud.trainingTimer.setVisible(false); + updateTrainingObjectiveHud(obj10); + $player.currentWaypoint.delete(); + cancel($player.player.trainingTimerHide); + doText(T4_GenUp); + checkForWin(); + //error("its the main gen"); + + //restore the clock + %time = getSimTime() - game.missionTime; + %dif = %time /60000; + clockHud.setTime(%dif * -1); + } +} + + + +// mortar mount +function playerMountWeapon(%tag, %text, %image, %player, %slot) +{ + if( game.firstTime++ < 2) + return; // initial weapon mount doesnt count + if(%image.getName() $= "MortarImage" && !game.msgMortar) { + game.msgMortar = true; + doText(T4_TipMortar); + } +} + +// station use +function StationInvEnter(%a1, %a2, %data, %obj, %colObj) +{ + if(%colObj != $player.player) + return; + //clearQueue(); + //if(!game.blowoff) + //blowoff(); + if(game.msgEnterInv++ == 1){ + doText(T4_tipDefense05); + } +} + +function stationTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + Parent::onEnterTrigger(%data, %obj, %colObj); + messageClient(%colObj.client, 'msgEnterInvStation', "", %data, %obj, %colObj); +} + + +function serverCmdBuildClientTask(%client, %task, %team) +{ + parent::serverCmdBuildClientTask(%client, %task, %team); + error("serverCmdBuildClientTask(" @%client@", "@%task@", "@%team@")"); + + if($pref::trainingDifficulty > 2) + return; + + //hack: we have to get %objective from the parent function + // this seems to work + %objective = %client.currentAIObjective; + error(%client.currentAIObjective SPC %objective.getName()); + + if ((%objective.getName() $= "AIORepairObject") && + (%objective.targetObjectId.getDataBlock().getName() $= "SensorLargePulse")) { + + //error("repair order issued and forced"); + // force the ai + %objective.weightLevel1 = 10000; + + if(!game.issueRepairOrder && game.expectingRepairOrder) { + game.issueRepairOrder = true; + doText(Any_good, 2000); + cameraSpiel(); + } + } +} + +function CommanderMapGui::onWake(%this) +{ + + parent::onWake(%this); + if(game.firstSpawn) + return; + //error("Waking the command map."); + messageClient($player, 'commandMapWake', ""); +} + +function CommanderTree::onCategoryOpen(%this, %category, %open) +{ + //error("commander tree button pressed"); + parent::onCategoryOpen(%this, %category, %open); + + if(%category $= "Support" && game.ExpectiongSupportButton) { + game.ExpectiongSupportButton = false; + doText(ANY_check01); + doText(T4_03i, 1000); + doText(T4_03j); + } + if(%category $= "Tactical" && game.ExpectiongTacticalButton) { + game.ExpectiongTacticalButton = false; + doText(ANY_check02); + messageClient($player, 0, "Click on the control box after the turrets name to control the turret."); + game.CheckingTurretControl = true; + } +} + +// control turret/camera +//------------------------------------------------------------------------------ +function serverCmdControlObject(%client, %targetId) +{ + parent::serverCmdControlObject(%client, %targetId); + + if(game.firstSpawn) + return; + + error("Training 4 serverCmdControlObject"); + %obj = getTargetObject(%targetId); + echo("what do we get back from the parent funtion ? "@%obj); + %objType = %obj.getDataBlock().getName(); + echo("it is a "@%objType); + + if(game.CheckingTurretControl) { + if(%objType $= "TurretBaseLarge") { + game.CheckingTurretControl = false; + schedule(3000, game, turretSpielEnd); + //error("Debug: You are controlling a turret f00!"); + } + } +// if(game.CheckingCameraControl) { +// if(%objType $= "TurretDeployedCamera") { +// game.CheckingCameraControl = false; +// schedule(3000, $player.player, cameraSpielEnd); +// //error("Debug: You are controlling a camera, w00t!"); +// } +// } +} + +function singlePlayerGame::sensorOnRepaired(%obj, %objName) +{ + //error("singlePlayerGame::sensorOnRepaired called"); + Parent::sensorOnRepaired(%obj, %objName); + if(game.expectingTowerRepair && !game.playedOpening && !game.firstSpawn) + openingSpiel(); +} + +function cameraSpiel() +{ + if(game.firstSpawn) + return; + + doText(T4_tipCamera01); + updateTrainingObjectiveHud(obj3); + $player.player.setInventory(CameraGrenade , 8); // cheating just in case the player is a dufas + game.CheckingCameraControl = true; + +} + +function CameraGrenadeThrown::onThrow(%this, %camGren) +{ + Parent::onThrow(%this, %camGren); + if(game.CheckingCameraControl && !game.firstSpawn) { + messageClient($player, 0, "Go back to the command map to access camera view."); + game.CheckingCameraControl = false; + game.wakeExpectingCamera = true; + updateTrainingObjectiveHud(obj2); + doText(T4_tipCamera02); + } +} + +//like mission 1 and 2 there is a spiel at the begining +function repairSensorTower() +{ + if(game.firstSpawn) + return; + + setWaypointAt(nameToId(Team1SensorLargePulse2).position, "Repair Sensor"); + game.expectingTowerRepair = true; + doText(T4_01); + doText(T4_01b); +} + +function openingSpiel() +{ + if(game.firstSpawn) + return; + + $player.currentWaypoint.delete(); + updateTrainingObjectiveHud(obj7); + + game.playedOpening = true; + //doText(T4_01c); + doText(T4_02a); + doText(T4_03); + doText(T4_02); + //doText(T4_02b); + doText(T4_03a); +} + +function ThreeAEval() +{ + if(game.firstSpawn) + return; + + game.wakeExpectingSquadOrder = true; + updateTrainingObjectiveHud(obj2); +} + +function missionSpawnedAI() +{ + if(!game.firstSpawn) { + game.firstspawn = true; + doText(ANY_warning05); + doText(ANY_warning03); // does a playgui check + + //updateTrainingObjectiveHud(obj5); + } +} + +function singlePlayerPlayGuiCheck() +{ + if(CommanderMapGui.open) + CommanderMapGui.close(); + + updateTrainingObjectiveHud(obj10); +} + + +function missionWaveDestroyed(%wave) +{ + if(%wave == 1) { + doText(T4_06); + doText(T4_tipDefense02); + } + else if(%wave == 2) + doText(T4_08); + + else if( %wave == $numberOfWaves[$pref::TrainingDifficulty] ) { + //MessageAll(0, "The last wave is destroyed. This mission would end."); + game.allEnemiesKilled = true; + checkForWin(); + } +} + +function checkForWin() +{ + if(game.allEnemiesKilled && nameToId(BaseGen).isEnabled()) { + clearQueue(); + doText(T4_10); + doText(T4_11); + schedule(4000, game, missionComplete, $player.miscMsg[training4win]); + } +} + + +function cameraSpielEnd() +{ + if(game.firstSpawn) + return; + + doText(T4_tipCamera03); + doText(T4_tipCamera04, 2000); + doText(T4_controlTurret); + game.CheckingTurretControl = true; + game.wakeExpectingTurret = true; + updateTrainingObjectiveHud(obj4); +} + +function turretSpielEnd() +{ + if(game.firstSpawn) + return; + + doText(T4_tipObjects); + doText(T4_CCend, 4000); + + doText(T4_TipGenerator01, 2000); + doText(T4_TipGenerator01a); + doText(T4_TipGenerator01b); + doText(T4_TipGenerator02, 2000); + + + doText(T4_tipDefense01); +// doText(T4_tipDefense06); +// doText(T4_tipDefense07); +// doText(T4_tipDefense08); +// doText(T4_tipDefense09); + updateTrainingObjectiveHud(obj9); + //game.blowOff = true; //feel free to use the inventory stations +} + + +// turret deployment advice and messages +function singlePlayerFailDeploy(%tag, %message) +{ + %text = detag(%message); + %phrase = getWord(%text, 0) SPC getWord(%text, 1); + //echo(%phrase); + + switch$(%phrase) { + case "\c2Item must": + if(!game.tipDep1) { + game.tipDep1 = true; + doText(T4_tipDeploy01); + } + case "\c2You cannot": + if(!game.tipDep2) { + game.tipDep2 = true; + doText(T4_tipDeploy02); + } + case "\c2Interference from": + if(!game.tipDepT) { + game.tipDepT = true; + doText(T4_tipDepTurret); + } + } +} + + +// not really a callback but this prolly goes here +function cloakingUnitAdded() +{ + if(game.addedCloak++ < 2) { + doText(T4_TipDefense03); + } +} + +function RepairingObj(%tag, %text, %name, %obj) +{ + if(%obj.getDataBlock().getName() $= "SensorLargePulse" && !game.repairingSensor) { + game.repairingSensor = true; + schedule(2000, $player.player, doText, T4_01c); + } +} + +// equipment ======================================================================= +//=================================================================================== + +//there are a plethora of configs in this mission + +function SinglePlayerGame::equip(%game, %player, %set) +{ + if(!isObject(%player)) + return; + + //ya start with nothing...NOTHING! + %player.clearInventory(); + + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //error("equping Player "@%player@" with set"@%set); + switch (%set) + { + case 0: + //echo("player Heavy"); + + %player.setArmor("Heavy"); + + %player.setInventory(RepairPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(CameraGrenade,8); + %player.setInventory(Mine,3); + + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 200); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 10); + %player.setInventory(Blaster,1); + %player.setInventory(GrenadeLauncher,1); + %player.setInventory(GrenadeLauncherAmmo,15); + %player.setInventory(TargetingLaser, 1); + + %player.use("Disc"); + %player.weaponCount = 5; + + case 1: + //echo("Light Skirmisher"); + + %player.setArmor("Light"); + + %player.setInventory(EnergyPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(ConcussionGrenade,5); + + %player.setInventory(Blaster,1); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(TargetingLaser, 1); + + %player.use("Chaingun"); + %player.weaponCount = 3; + + case 2: + //script hook in our equip stuff also + cloakingUnitAdded(); + + //echo("Light Assassin Config"); + + %player.setArmor("Light"); + + %player.setInventory(CloakingPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(FlashGrenade,5); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 20); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(ShockLance,1); + %player.setInventory(TargetingLaser, 1); + + %player.use("Disc"); + %player.weaponCount = 3; + + case 3: + //echo("Light Sniper"); + + %player.setArmor("Light"); + + %player.setInventory(EnergyPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(ConcussionGrenade,5); + + %player.setInventory(Chaingun,1); + %player.setInventory(ChaingunAmmo,100); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(SniperRifle, 1); + %player.setInventory(TargetingLaser, 1); + + %player.use("SniperRifle"); + %player.weaponCount = 3; + + case 4: + echo("Medium Base Rape"); + + %player.setArmor("Medium"); + + %player.setInventory(ShieldPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 40); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(ElfGun, 1); + %player.setInventory(GrenadeLauncher,1); + %player.setInventory(GrenadeLauncherAmmo, 10); + %player.setInventory(TargetingLaser, 1); + + %player.use("GrenadeLauncher"); + %player.weaponCount = 4; + + case 5: + //echo("Medium Killing Machine"); + + %player.setArmor("Medium"); + + %player.setInventory(AmmoPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 40); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(GrenadeLauncherAmmo, 10); + %player.setInventory(MissileLauncher,1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(TargetingLaser, 1); + + %player.use("Plasma"); + %player.weaponCount = 4; + + case 6: + //echo("Medium Wuss"); + + %player.setArmor("Medium"); + + %player.setInventory(EnergyPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(ConcussionGrenade,6); + + %player.setInventory(Blaster, 1); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Elf, 1); + %player.setInventory(Chaingun,1); + %player.setInventory(ChaingunAmmo, 150); + %player.setInventory(TargetingLaser, 1); + + %player.use("Disc"); + %player.weaponCount = 4; + + case 7: + //echo("Heavy Long Range"); + + %player.setArmor("Heavy"); + + %player.setInventory(EnergyPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,8); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 50); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 10); + %player.setInventory(MissileLauncher,1); + %player.setInventory(MissileLauncherAmmo, 15); + %player.setInventory(GrenadeLauncher,1); + %player.setInventory(GrenadeLauncherAmmo,15); + %player.setInventory(TargetingLaser, 1); + + %player.use("Mortar"); + %player.weaponCount = 5; + + case 8: + //echo("Default Config"); + + %player.setArmor("Light"); + + %player.setInventory(RepairKit,1); + + %player.setInventory(Blaster,1); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(TargetingLaser, 1); + + %player.use("Blaster"); + %player.weaponCount = 3; + + case 9: + //echo("Heavy Rate of Fire"); + + %player.setArmor("Heavy"); + + %player.setInventory(AmmoPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,8); + %player.setInventory(Mine,3); + + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 200); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 10); + %player.setInventory(Plasma,1); + %player.setInventory(PlasmaAmmo, 50); + %player.setInventory(GrenadeLauncher,1); + %player.setInventory(GrenadeLauncherAmmo,15); + %player.setInventory(TargetingLaser, 1); + + %player.use("Mortar"); + %player.weaponCount = 5; + + case 10: + //echo("Heavy Inside Attacker"); + + %player.setArmor("Heavy"); + + %player.setInventory(ShieldPack, 1); + + %player.setInventory(RepairKit,1); + %player.setInventory(ConcussionGrenade,8); + %player.setInventory(Mine,3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 50); + %player.setInventory(Disc,1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 10); + %player.setInventory(ShockLance,1); + %player.setInventory(Chaingun,1); + %player.setInventory(ChaingunAmmo,200); + %player.setInventory(TargetingLaser, 1); + + %player.use("Mortar"); + %player.weaponCount = 5; + } +} + +// silly littly functions +function flashButton(%buttonName) +{ + %time = 800; + %num = 6; + for(%i=0; %i<%num; %i++) { + schedule( %time*%i, $player.player, "eval", %buttonName@".setVisible(false);"); + + schedule(%time*%i + %time/2, $player.player, "eval", %buttonName@".setVisible(true);"); + schedule(%time*%i, $player.player, serverPlay2d, HudFlashSound); + } +} + +function showCommandPulldown(%button) +{ + //this is what I hacked in to make pretty with the showing off of the command tree + commanderTree.openCategory(%button, true); + mentionPulldown(%button); + commanderTree.schedule(3000, openCategory, %button, false); +} + +function affectAllCommandPulldown(%open) +{ + commanderTree.openCategory(Clients, %open); + commanderTree.openCategory(Tactical, %open); + commanderTree.openCategory(Support, %open); + commanderTree.openCategory(Waypoints, %open); + commanderTree.openCategory(Objectives, %open); +} + +function mentionPulldown(%button) +{ + switch$(%button) + { + case "Clients": + doText(T4_03b); + + case "Tactical": + doText(T4_03c); + + case "Support": + doText(T4_03d); + + case "Waypoints": + doText(T4_03e); + + case "Objectives": + doText(T4_03f); + doText(T4_03g); + doText(t4_03h); + } +} + +function training4CommandMapWake() +{ + error("training4CommandMapWake Called"); + if(game.wakeExpectingSquadOrder && !game.firstSpawn) { + game.wakeExpectingSquadOrder = false; + + // commander map waypoint + %pos = nameToId(Base).position; + %obj = createClientTarget(-1, %pos); + %obj.createWaypoint("Nagakhun Base"); + + // cmap objective + commanderTree.registerEntryType("Objectives", getTag('Base'), false, "commander/MiniIcons/com_flag_grey", "255 255 255"); + createTarget(%id, 'Defend', "", "", 'Base', $player.getSensorGroup()); + + affectAllCommandPulldown(false); + + //here we go...drop down the thingies + schedule( 2500, $player.player, showCommandPulldown, Clients); + schedule( 6000, $player.player, showCommandPulldown, Tactical); + schedule(10000, $player.player, showCommandPulldown, Support); + schedule(14000, $player.player, showCommandPulldown, Waypoints); + schedule(18000, $player.player, showCommandPulldown, Objectives); + + //schedule(24000, $player.player, affectAllCommandPulldown, true); + } + else if(game.wakeExpectingTurret && !game.firstSpawn) { + messageClient($player, 0, "Click on \"Tactical Assets\" to view turrets."); + //flashButton(CMDTacticalButton); + game.ExpectiongTacticalButton = true; + game.wakeExpectingTurret = false; + } + else if(game.wakeExpectingCamera && !game.firstSpawn) { + messageClient($player, 0, "Click on the control box to the right of the camera\'s name to control the camera."); + cameraSpielEnd(); + game.wakeExpectingCamera = false; + } +} + +// Objectives ================================================================== +//================================================================================ +function missionFailedTimer() +{ + missionFailed($player.miscMsg[training4GenLoss]); +} + + +function blowoff() +{ + game.blowoff = true; + clearQueue(); + doText(Any_Blowoff02, 2000, 1); + + // okay, the player wants to play huh? + // if we are still waiting for the enemies to spawn at this point + // cancel that and spawn them now...well, soon + if($player.beginSpawn){ + cancel($player.beginSpawn); + %time = getRandom(1, 20); + //error("Blowing off the training: spawning enemies in "@ %time * 1000 @" seconds."); + schedule(%time*1000, game, beginTraining4Enemies); + } + +} + +function findObjbyDescription(%desc, %team) +{ + %q = $objectiveQ[%team]; + for(%i = 0; %i < %q.getCount(); %i++) + { + %objective = %q.getObject(%i); + if(%objective.description $= %desc) + return %objective; + } +} + +function removeDescribedObj( %obj ) +{ + %invDepObj.weightLevel1 = 0; + %invDepObj.weightLevel2 = 0; + %invDepObj.weightLevel3 = 0; + %invDepObj.weightLevel4 = 0; + $ObjectiveQ[1].remove(%invDepObj); + // clear it in case anyone has picked it up + AIClearObjective(%invDepObj); +} + +//===============================================END the training 4 package stuff==== +}; + +// Dialog stuff =================================================================== +//================================================================================= + + + +// Callbacks //================================================================== +//================================================================================ + +//add callbacks +addMessageCallback('MsgDeployFailed', singlePlayerFailDeploy); +addMessageCallback('MsgWeaponMount', playerMountWeapon); +addMessageCallback('msgEnterInvStation', StationInvEnter); +addMessageCallback('MsgRepairPackRepairingObj', RepairingObj); +addMessageCallback('commandMapWake', training4CommandMapWake); + diff --git a/public/base/@vl2/scripts.vl2/scripts/Training5.cs b/public/base/@vl2/scripts.vl2/scripts/Training5.cs new file mode 100644 index 00000000..b8ac992c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/Training5.cs @@ -0,0 +1,613 @@ +// don't want this executing when building graphs +if($OFFLINE_NAV_BUILD) + return; + +echo("-----------------Running Training5"); +activatePackage(Training5); + +//BaseExplosion sound +datablock EffectProfile(Training5BaseExplosionEffect) +{ + effectname = "explosions/explosion.xpl27"; + minDistance = 20; + maxDistance = 100; +}; + +datablock AudioProfile(Training5BaseExplosionSound) +{ + filename = "fx/explosions/explosion.xpl27.wav"; + description = AudioDefault3d; + effect = Training5BaseExplosionEffect; + preload = true; +}; + + +//mission variables +$numberOfTeammates = 0; +$numberOfEnemies[1] = 6; +$numberOfEnemies[2] = 6; +$numberOfEnemies[3] = 8; +$missionBotSkill[1] = 0.0; +$missionBotSkill[2] = 0.5; +$missionBotSkill[3] = 0.9; +$missionEnemyThreshold[1] = 1; +$missionEnemyThreshold[2] = 3; +$missionEnemyThreshold[3] = 8; +$bridgeTime[1] = 30; +$bridgeTime[2] = 20; +$bridgeTime[3] = 5; + +package Training5 { +//Training5 package functions begin======================================================= + +function SinglePlayerGame::initGameVars(%game) +{ + // for many of the objectives we are going to periodically + // check the players distance vs some object + // you could do this much prettier but its going to be very specific + // so a cut and paste eyesore will be fine + echo("initializing training5 game vars"); + %game.targetObject1 = nameToId("ObjectiveGen1"); + %game.targetObject2 = nameToId("ObjectiveGen2"); + %game.tower = nameToId("MissionGroup/Teams/Team2/tower/tower"); + %game.base = nameToId("DBase2"); + %game.minimumSafeDistance = 500; + %game.West = nameToId(WestBridgeGen); + %game.East = nameToId(EastBridgeGen); + %game.North = nameToId(NorthBridgeGen); + %game.South = nameToId(SouthBridgeGen); +} + +function MP3Audio::play(%this) +{ + //too bad...no mp3 in training +} + + +function toggleScoreScreen(%val) +{ + if ( %val ) + //error("No Score Screen in training......."); + messageClient($player, 0, $player.miscMsg[noScoreScreen]); +} + +function toggleNetDisplayHud( %val ) +{ + // Hello, McFly? This is training! There's no net in training! +} + +function voiceCapture( %val ) +{ + // Uh, who do you think you are talking to? +} + +function ClientCmdSetHudMode(%mode, %type, %node) +{ + parent::ClientCmdSetHudMode(%mode, %type, %node); + //TrainingMap.push(); +} + +// get the ball rolling +function startCurrentMission(%game) +{ + setFlipFlopSkins(); + doText(Any_Waypoint01, 2000); + if(getRandom(3) == 1) + doText(Any_warning01); + setWaypointAt(nameToId(TowerSwitch).position, "Periphery Tower Control"); + objectiveDistanceChecks(); + updateTrainingObjectiveHud(obj1); + + // adding a little something for the players followers to do + //training5AddEscort($teammate0); + + // Tower FFs all start off by default + // we cheat and disable their hidden generators + nameToId(CatwalkFFGen).setDamageState(Disabled); + game.West.setDamageState(Disabled); + game.East.setDamageState(Disabled); + game.North.setDamageState(Disabled); + game.South.setDamageState(Disabled); + + // but we start the rotation + %skill = $pref::trainingDifficulty; + //%time = 1000 * (10 - %skill * skill ); + %time = $bridgeTime[%skill] * 1000; + rotateDrawbridgeFFs(%time); + + setUpDifficultySettings($pref::trainingDifficulty); +} + +function setUpDifficultySettings(%skill) +{ + if(%skill < 2) + { + nameToId(DownStairsSentry).hide(true); + freeTarget(nameToId(DownStairsSentry).getTarget()); + nameToId(UpstairsTurret).hide(true); + freeTarget(nameToId(UpstairsTurret).getTarget()); + } + if(%skill == 3) + nameToId(SatchelChargePack).hide(true); +} + +function countTurretsAllowed(%type) +{ + return $TeamDeployableMax[%type]; +} + +function getTeammateGlobals() +{ + echo("You have no teammates in this mission"); +} + +function FlipFlop::objectiveInit(%data, %flipflop) +{ +} + +function giveall() +{ + error("When the going gets tough...wussies like you start cheating!"); + messageClient($player, 0, "Cheating eh? What\'s next? Camping?"); +} + +function kobayashi_maru() +{ + $testCheats = true; + commandToServer('giveAll'); +} + + +// Distance Check ============================================================= +// Ive never done this before :P but im going to use a periodic self-scheduling +// distance checking mechanism in this mission also + +function objectiveDistanceChecks() +{ + %playerLocation = $player.player.position; + if(!%playerLocation) { + schedule(5000, game, objectiveDistanceChecks); + return; + } + +// %baseDist = vectorDist(%playerLocation, %game.base.position); +// if(%baseDist < 600 && !%game.training5SwitchObjective && !%game.turretsWarn){ +// %game.turretsWarn = true; +// doText(Any_warning06); +// } + + %baseDist = vectorDist(%playerLocation, game.base.position); + if(%baseDist < 200 && game.respawnPoint == 1) { + game.respawnPoint = 2; + return; // kill the distCheck + } + + + %dist = vectorDist(%playerLocation, game.tower.position); + //error("Tower Dist = "@%dist); + + if( %dist < 400 && !game.t5distcheck1) { + game.t5distcheck1 = true; + doText(T5_04); + return; + } + + if( %dist > 200 && game.training5SwitchObjective && !game.tipFirepower) { + + %packImage = $player.player.getMountedImage($backPackSlot).getName(); + if(%packImage !$= "SatchelChargeImage" && %packImage !$= "InventoryDeployableImage") { + game.tipFirepower = true; + doText(T5_tipFirepower); + } + + } + + schedule(5000, game, objectiveDistanceChecks); +} + +//====================================================================================== +// Objective Generators +//====================================================================================== +function GeneratorLarge::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if(%targetObject == game.targetObject1 || %targetObject == game.targetObject2) + %message = training5ObjectiveGenDamaged(%targetObject, %damageType); + else + Parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); + + if(%message) + training5messageDamageFailed(); +} + +function training5ObjectiveGenDamaged(%targetObject, %damageType) +{ +//error("training5ObjectiveGenDamaged("@%targetObject@", "@%damageType@")"); + + if(game.genDestroyed[%targetObject]) + return false; + + if(%damageType != $DamageType::SatchelCharge) + { + return true; + } + + game.objectiveDestroyed = true; + %targetObject.applyDamage(%targetObject.getDataBlock().maxDamage); + return false; +} + +function training5messageDamageFailed() +{ + if(!game.tooSoonMsg && !game.objectiveDestroyed) { + game.tooSoonMsg = true; + schedule(15000, game, eval, "game.tooSoonMsg = false;"); + messageClient($player, 0, $player.miscMsg[genAttackNoSatchel]); + + training5easySatchelWaypoint(); + } +} + +function training5easySatchelWaypoint() +{ + if($pref::trainingDifficulty == 1 && + $player.player.getMountedImage($backPackSlot).getName() !$= "SatchelChargeImage" && !game.satchelWaypointSet) { + + %waypoint = new WayPoint() { + position = nameToId(SatchelChargePack).position; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Satchel Charge"; + team = 1; + locked = "true"; + }; + $player.satchelWaypoint = %waypoint; + game.satchelWaypointSet = true; + } +} + +//====================================================================================== + + +function AIEngageTask::assume(%task, %client) +{ + Parent::assume(%task, %client); + + if(%client.team != $playerTeam) + game.biodermAssume(%client); +} + + +// ============================================================================ +function singlePlayerGame::onAIRespawn(%game, %client) +{ + if(! isObject("MissionCleanup/TeamDrops2")) { + //this is the snippet of script from default games that puts teamdrops + // into the mission cleanup group...slightly modified to suit our needs + %dropSet = new SimSet("TeamDrops2"); + MissionCleanup.add(%dropSet); + + %spawns = nameToID("MissionGroup/Teams/team2/TeamDrops"); + if(%spawns != -1) + { + %count = %spawns.getCount(); + for(%i = 0; %i < %count; %i++) + %dropSet.add(%spawns.getObject(%i)); + } + } + + parent:: onAIRespawn(%game, %client); +} + + + +// ============================================================================ +function singlePlayerGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + %teamCount = getPlayersOnTeam(%clVictim.team); + //echo("Team count:" SPC %teamCount); + %maintNum = $missionEnemyThreshold[$pref::trainingDifficulty]; + //echo("Maintain:" SPC %maintNum); + + %clVictim.useSpawnSphere = true; + + // this will respawn the AI if + if( %teamCount < %maintNum ) + DefaultGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement); + +} + +function singleplayerGame::pickTeamSpawn(%game, %client, %respawn) +{ + if(%client.useSpawnSphere) + DefaultGame::pickTeamSpawn(%game, %client.team); + else + parent::pickTeamSpawn(%game, %client, %respawn); +} + +function SinglePlayerGame::equip(%game, %player, %set) +{ + if(!isObject(%player)) + return; + + %player.clearInventory(); + if(!%set) + %set = %player.client.equipment; + + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + %player.setArmor("Medium"); + + %player.setInventory(SatchelCharge, 1); + + %player.setInventory(RepairKit, 1); + %player.setInventory(ConcussionGrenade, 8); + %player.setInventory(Mine, 3); + + %player.setInventory(Plasma, 1); + %player.setInventory(PlasmaAmmo, 40); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 200); + %player.setInventory(Disc, 1); + %player.setInventory(DiscAmmo, 15); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(GrenadeLauncherAmmo, 15); + %player.setInventory(TargetingLaser, 1); + + %player.use("Disc"); + + %player.weaponCount = 4; +} + + +//the generator destroyed trigers the detonation sequence +function Generator::onDestroyed(%data, %destroyedObj) +{ + //error("GeneratorLarge::onDestroyed"); + if(%destroyedObj == game.targetObject1 || %destroyedObj == game.targetObject2) + if(!game.detonationSequenceStarted) { + game.detonationSequenceStarted = true; + + error("The satchel waypoint is:" SPC $player.satchelWaypoint); + $player.satchelWaypoint.delete(); + detonationSequence(); + updateTrainingObjectiveHud(obj4); + game.respawnPoint = 3; + + $missionEnemyThreshold[1] = 0; + $missionEnemyThreshold[2] = 0; + $missionEnemyThreshold[3] = 0; + } + + Parent::onDestroyed(%data, %destroyedObj); +} + +function FlipFlop::objectiveInit(%data, %flipflop) +{ + +} + +function FlipFlop::playerTouch(%data, %flipFlop, %player) +{ + //error("singlePlayer::playerTouchFlipFlop Training5"); + //echo("has been touched before? " SPC game.training5SwitchObjective); + + Parent::playerTouch(%data, %flipFlop, %player); + + //This disables the base door FFs + %state = (%flipFlop.team == $playerTeam ? "Disabled" : "Enabled"); + game.targetObject2.setDamageState(%state); + + if(!game.training5SwitchObjective) { + game.training5SwitchObjective = true; + doText(T5_05, 10000); + doText(T5_05b); + doText(T5_05a); + schedule(10000, game, setWaypointAt, game.targetObject2.getWorldBoxCenter(), "Reactor Regulator" ); + schedule(10000, game, updateTrainingObjectiveHud , obj2); + + //start the distance check again + objectiveDistanceChecks(); + game.respawnPoint = 1; + + rotateDrawbridgeFFs(false); + } +} + + +//EndingExplosionStuff========================================================================= + + +function detonationSequence() +{ + // first a little eye candy + %oldEmitter = nameToId(LavaSmoke); + %oldEmitter.delete(); + + %newEmitter = new ParticleEmissionDummy(LavaSmoke) { + position = "-462.4 -366.791 5.12867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + emitter = "AfterT5"; + velocity = "1"; + }; + + %detonationTime = 1000 * 90; // 90 is a guess, at least 67 before you cut lines + schedule(3000, game, doText, T5_06); //Get Out Hurry! + schedule(%detonationTime, game, detonateBase ); //BOOM //moved to t5_08d,eval + schedule(%detonationTime - 5000, game, doText, T5_08urgent); //5..4..3..2..1 + schedule(%detonationTime - 9000, game, doText, T5_07); //ComeOn + schedule(%detonationTime - 10000, game, doText, T5_06d); //10 + schedule(%detonationTime - 30000, game, doText, T5_06c); // 30 secs + schedule(%detonationTime - 64000, game, doText, T5_06a); //reaction building fast + schedule(%detonationTime - 60000, game, doText, T5_06b); //1 min + +} + +function detonateBase() +{ + %playerDist = vectorDist($player.player.position, game.base.position); + //BOOM + //schedule(0.33 * %playerDist, game, serverplay2d, Training5BaseExplosionSound); + schedule(0.33 * %playerDist, game, damagePlayersInBlast, game.minimumSafeDistance); + $player.player.setWhiteOut(8); + //messageAll(0, "You were "@%playerDist@"meters away. Minimum safe distance is "@game.minimumSafeDistance); + + if( %playerDist < game.minimumSafeDistance || !$player.player) { + schedule(5000, game, missionFailed, $player.miscMsg[training5loss] ); + moveMap.pop(); + } + else { + //messageAll(0, "You won!"); + schedule(5000, game, doText, T5_09, 3000); + schedule(13000, game, messageBoxOK, "Victory", $player.miscMsg[training5win], "Canvas.popDialog(MessageBoxOKDlg); schedule(1000, game, trainingComplete);"); + moveMap.schedule(13000, "pop"); + } +} + +function trainingComplete() +{ + + %skill = $pref::trainingDifficulty; + switch (%skill) + { + case 2: + %msg = "trainingOverMed"; + case 3: + %msg = "trainingOverHard"; + default: + %msg = "trainingOverEasy"; + } + missionComplete( $player.miscMsg[%msg] ); +} + + +function damagePlayersInBlast(%minDist) +{ + Canvas.popDialog(MessageBoxOKDlg); + Canvas.popDialog(MessageBoxYesNoDlg); + serverPlay2d(Training5BaseExplosionSound); + + %num = ClientGroup.getCount(); + for(%i = 0; %i < %num; %i++) + { + %client = clientGroup.getObject(%i); + if(%client.player) + { + %Dist = vectorDist(%client.player.position, game.base.position); + if(%dist < %minDist) + { + if(%client != $player) + %client.player.scriptKill($DamageType::Explosion); + else { + moveMap.pop(); + + if($firstperson) + toggleFirstPerson($player); + + serverConnection.setBlackout(true, 3000); + %client.player.setActionThread(Death11, true); + %client.player.setDamageFlash(0.75); + } + } + else + $player.player.setWhiteOut(12); + } + } +} + + +// turninig off the Mission area on this one too folks +function SinglePlayerGame::leaveMissionArea(%game, %player) +{ +} +function SinglePlayerGame::enterMissionArea(%game, %player) +{ +} + + +function rotateDrawbridgeFFs(%time) +{ + if(%time == 0) + { + // catwalks on + nameToId(CatwalkFFGen).setDamageState(Enabled); + + // stop rotation + cancel(game.FFRotate); + + // set Enabled All bridges + game.West.setDamageState(Enabled); + game.East.setDamageState(Enabled); + game.North.setDamageState(Enabled); + game.South.setDamageState(Enabled); + + } + else + { + // start these bad boys rotating + + if(game.activeBridgeSet == 1) { + game.West.setDamageState(Enabled); + game.East.setDamageState(Enabled); + game.North.setDamageState(Disabled); + game.South.setDamageState(Disabled); + game.activeBridgeSet = 2; + } + else { + game.West.setDamageState(Disabled); + game.East.setDamageState(Disabled); + game.North.setDamageState(Enabled); + game.South.setDamageState(Enabled); + game.activeBridgeSet = 1; + } + + game.FFRotate = schedule(%time, game, rotateDrawbridgeFFs, %time); + } +} + +// helpful satchel charge instructions +function armSatchelCharge(%satchel) +{ + %deployer = %satchel.sourceObject; + messageClient(%deployer.client, 0, "\c2Satchel Charge Armed! Press" SPC findTrainingControlButtons(useBackPack) SPC"to detonate."); + if(!game.msgSatchelActivate) + { + game.msgSatchelActivate = true; + doText(T5_tipSatchel01); + } + parent::armSatchelCharge(%satchel); +} + +function Pack::onInventory(%data, %obj, %amount) +{ + %oldSatchelCharge = (%obj.thrownChargeId ? true : false); + Parent::onInventory(%data, %obj, %amount); + %nowSatchelCharge = (%obj.thrownChargeId ? true : false); + + if(%oldSatchelCharge && !%nowSatchelCharge) + messageClient(%obj.client, 0, "\c2You got a pack and nullified your satchel charge."); +} + +function singlePlayerGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement) +{ + %hadSatchelCharge = (%clvictim.player.thrownChargeId ? true : false); + if(%hadSatchelCharge) + schedule(1500, game, messageClient, %clVictim, 0, "Your satchel charge has been nullified."); + + Parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement); +} + +function missionClientKilled() +{ + //no console spam +} + +//Training5 package functions end======================================================= +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/TrainingGui.cs b/public/base/@vl2/scripts.vl2/scripts/TrainingGui.cs new file mode 100644 index 00000000..6b2a275b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/TrainingGui.cs @@ -0,0 +1,264 @@ +//------------------------------------------------------------------------------ +// +// TrainingGui.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +function LaunchTraining() +{ + LaunchTabView.viewTab( "TRAINING", TrainingGui, 0 ); +} + +//------------------------------------------------------------------------------ +function TrainingGui::onWake( %this ) +{ + Canvas.pushDialog( LaunchToolbarDlg ); + + %this.soundHandle = 0; + %this.briefEventCount = 0; + %this.briefWAV = ""; + %ct = 1; + %fobject = new FileObject(); + %search = "missions/*.mis"; + TrainingMissionList.clear(); + for ( %file = findFirstFile( %search ); %file !$= ""; %file = findNextFile( %search ) ) + { + %name = fileBase(%file); // get the mission name + + if ( !%fobject.openForRead( %file ) ) + continue; + + %typeList = "None"; + + while( !%fobject.isEOF() ) + { + %line = %fobject.readLine(); + if ( getSubStr( %line, 0, 18 ) $= "// MissionTypes = " ) + { + %typeList = getSubStr( %line, 18, 1000 ); + break; + } + } + + if ( strstr( %typeList, "SinglePlayer" ) != -1 ) + { + // Get the mission display name: + %displayName = %name; + while ( !%fobject.isEOF() ) + { + %line = %fobject.readLine(); + if ( getSubStr( %line, 0, 16 ) $= "// PlanetName = " ) + { + %displayName = getSubStr( %line, 16, 1000 ); + // Strip the date: + %pos = strpos( %displayName, "," ); + if ( %pos != -1 ) + %displayName = getSubStr( %displayName, 0, %pos ); + break; + } + } + + TrainingMissionList.addRow( %ct++, %displayName TAB %name ); + } + + %fobject.close(); + } + + TrainingMissionList.sort( 1 ); + TrainingMissionList.setSelectedRow( 0 ); + if ( $pref::TrainingDifficulty > 0 && $pref::TrainingDifficulty < 4 ) + TrainingDifficultyMenu.setSelected( $pref::TrainingDifficulty ); + else + TrainingDifficultyMenu.setSelected( 1 ); +} + +//------------------------------------------------------------------------------ +function TrainingGui::onSleep( %this ) +{ + %this.stopBriefing(); + + Canvas.popDialog(LaunchToolbarDlg); +} + +//------------------------------------------------------------------------------ +function TrainingGui::setKey( %this ) +{ +} + +//------------------------------------------------------------------------------ +function TrainingGui::onClose( %this ) +{ +} + +//------------------------------------------------------------------------------ +function TrainingDifficultyMenu::onAdd( %this ) +{ + %this.add( "Easy", 1 ); + %this.add( "Medium", 2 ); + %this.add( "Hard", 3 ); +} + +//------------------------------------------------------------------------------ +function TrainingDifficultyMenu::onSelect( %this, %id, %text ) +{ + $pref::TrainingDifficulty = %id; +} + +//------------------------------------------------------------------------------ +function TrainingMissionList::onSelect( %this, %id, %text ) +{ + TrainingGui.stopBriefing(); + %fileName = "missions/" @ getField( %text, 1 ) @ ".mis"; + %file = new FileObject(); + %state = 0; + if ( %file.openForRead( %fileName ) ) + { + // Get the mission briefing text: + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + if ( %state == 0 && %line $= "//--- MISSION BRIEFING BEGIN ---" ) + %state = 1; + else if ( %state > 0 && %line $= "//--- MISSION BRIEFING END ---" ) + break; + else if ( %state == 1 ) + { + %briefText = %briefText @ getSubStr( %line, 2, 1000 ); + %state = 2; + } + else if ( %state == 2 ) + %briefText = %briefText NL getSubStr( %line, 2, 1000 ); + } + + // Get the mission briefing WAV file: + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + if ( getSubStr( %line, 0, 17 ) $= "// BriefingWAV = " ) + { + %briefWAV = getSubStr( %line, 17, 1000 ); + break; + } + } + + // Get the bitmap name: + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + if ( getSubStr( %line, 0, 12 ) $= "// Bitmap = " ) + { + %briefPic = getSubStr( %line, 12, 1000 ); + break; + } + } + + %file.close(); + } + else + error( "Failed to open Single Player mission file " @ %fileName @ "!" ); + + if (!isDemo()) + %bmp = "gui/" @ %briefPic @ ".png"; + else + %bmp = "gui/" @ %briefPic @ ".bm8"; + if ( isFile( "textures/" @ %bmp ) ) + { + TrainingPic.setBitmap( %bmp ); + TrainingPicFrame.setVisible( true ); + } + else + { + TrainingPic.setBitmap( "" ); + TrainingPicFrame.setVisible( false ); + } + + TrainingPlayBtn.setActive( %briefWAV !$= "" ); + TrainingBriefingText.setValue( %briefText ); + TrainingBriefingScroll.scrollToTop(); + TrainingGui.WAVBase = firstWord( %briefWAV ); + TrainingGui.WAVCount = restWords( %briefWAV ); + %file.delete(); + + //if ( TrainingPlayTgl.getValue() ) + // TrainingGui.startBriefing(); +} + +//------------------------------------------------------------------------------ +function TrainingPlayTgl::onAction( %this ) +{ + if ( %this.getValue() ) + { + if ( TrainingMissionList.getSelectedId() != -1 ) + TrainingGui.startBriefing(); + } + else + TrainingGui.stopBriefing(); +} + +//-------------------------------------------------------- +function TrainingGui::toggleBriefing( %this ) +{ + if ( %this.soundHandle $= "" ) + %this.startBriefing(); + else + %this.stopBriefing(); +} + +//-------------------------------------------------------- +function TrainingGui::startBriefing( %this ) +{ + %this.stopBriefing(); + if ( %this.WAVBase !$= "" ) + { + %this.instance = %this.instance $= "" ? 0 : %this.instance; + %this.playNextBriefWAV( %this.WAVBase, 0, %this.WAVCount, %this.instance ); + } +} + +//-------------------------------------------------------- +function TrainingGui::playNextBriefWAV( %this, %wavBase, %id, %count, %instance ) +{ + if ( %instance == %this.instance ) + { + if ( %id < %count ) + { + %wav = "voice/Training/Briefings/" @ %wavBase @ ".brief0" @ ( %id + 1 ) @ ".wav"; + %this.soundHandle = alxCreateSource( AudioGui, %wav ); + alxPlay( %this.soundHandle ); + + // Schedule the next WAV: + %delay = alxGetWaveLen( %wav ) + 500; + %this.schedule( %delay, playNextBriefWAV, %wavBase, %id + 1, %count, %instance ); + } + else + { + // We're all done! + %this.soundHandle = ""; + } + } +} + +//-------------------------------------------------------- +function TrainingGui::stopBriefing( %this ) +{ + if ( %this.soundHandle !$= "" ) + { + alxStop( %this.soundHandle ); + %this.soundHandle = ""; + %this.instance++; + } +} + +//-------------------------------------------------------- +function TrainingGui::startTraining( %this ) +{ + MessagePopup( "STARTING MISSION", "Initializing, please wait..." ); + Canvas.repaint(); + cancelServerQuery(); + %file = getField( TrainingMissionList.getValue(), 1 ); + $ServerName = "Single Player Training"; + $HostGameType = "SinglePlayer"; + CreateServer( %file, "SinglePlayer" ); + localConnect( "Lone Wolf", "Human Male", "swolf", "Male1" ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/admin.cs b/public/base/@vl2/scripts.vl2/scripts/admin.cs new file mode 100644 index 00000000..8ba27472 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/admin.cs @@ -0,0 +1,407 @@ +// These have been secured against all those wanna-be-hackers. +$VoteMessage["VoteAdminPlayer"] = "Admin Player"; +$VoteMessage["VoteKickPlayer"] = "Kick Player"; +$VoteMessage["BanPlayer"] = "Ban Player"; +$VoteMessage["VoteChangeMission"] = "change the mission to"; +$VoteMessage["VoteTeamDamage", 0] = "enable team damage"; +$VoteMessage["VoteTeamDamage", 1] = "disable team damage"; +$VoteMessage["VoteTournamentMode"] = "change the server to"; +$VoteMessage["VoteFFAMode"] = "change the server to"; +$VoteMessage["VoteChangeTimeLimit"] = "change the time limit to"; +$VoteMessage["VoteMatchStart"] = "start the match"; +$VoteMessage["VoteGreedMode", 0] = "enable Hoard Mode"; +$VoteMessage["VoteGreedMode", 1] = "disable Hoard Mode"; +$VoteMessage["VoteHoardMode", 0] = "enable Greed Mode"; +$VoteMessage["VoteHoardMode", 1] = "disable Greed Mode"; + +function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote) +{ + //DEMO VERSION - only voteKickPlayer is allowed + if ((isDemo()) && %typeName !$= "VoteKickPlayer") + { + messageClient(%client, '', "All voting options except to kick a player are disabled in the DEMO VERSION."); + return; + } + + // haha - who gets the last laugh... No admin for you! + if( %typeName $= "VoteAdminPlayer" && !$Host::allowAdminPlayerVotes ) + return; + + %typePass = true; + + // if not a valid vote, turn back. + if( $VoteMessage[ %typeName ] $= "" && %typeName !$= "VoteTeamDamage" ) + if( $VoteMessage[ %typeName ] $= "" && %typeName !$= "VoteHoardMode" ) + if( $VoteMessage[ %typeName ] $= "" && %typeName !$= "VoteGreedMode" ) + %typePass = false; + + if(( $VoteMessage[ %typeName, $TeamDamage ] $= "" && %typeName $= "VoteTeamDamage" )) + %typePass = false; + + if( !%typePass ) + return; // -> bye ;) + + // z0dd - ZOD, 10/03/02. This was busted, BanPlayer was never delt with. + if( %typeName $= "BanPlayer" ) + { + if( !%client.isSuperAdmin || %arg1.isAdmin ) + { + return; // -> bye ;) + } + else + { + ban( %arg1, %client ); + return; + } + } + + %isAdmin = ( %client.isAdmin || %client.isSuperAdmin ); + + // keep these under the server's control. I win. + if( !%playerVote ) + %actionMsg = $VoteMessage[ %typeName ]; + else if( %typeName $= "VoteTeamDamage" || %typeName $= "VoteGreedMode" || %typeName $= "VoteHoardMode" ) + %actionMsg = $VoteMessage[ %typeName, $TeamDamage ]; + else + %actionMsg = $VoteMessage[ %typeName ]; + + if( !%client.canVote && !%isAdmin ) + return; + + if ( !%isAdmin || ( ( %arg1.isAdmin && ( %client != %arg1 ) ) ) ) + { + %teamSpecific = false; + %gender = (%client.sex $= "Male" ? 'he' : 'she'); + if ( Game.scheduleVote $= "" ) + { + %clientsVoting = 0; + + //send a message to everyone about the vote... + if ( %playerVote ) + { + %teamSpecific = ( %typeName $= "VoteKickPlayer" ) && ( Game.numTeams > 1 ); + %kickerIsObs = %client.team == 0; + %kickeeIsObs = %arg1.team == 0; + %sameTeam = %client.team == %arg1.team; + + if( %kickeeIsObs ) + { + %teamSpecific = false; + %sameTeam = false; + } + + if(( !%sameTeam && %teamSpecific) && %typeName !$= "VoteAdminPlayer") + { + messageClient(%client, '', "\c2Player votes must be team based."); + return; + } + + // kicking is team specific + if( %typeName $= "VoteKickPlayer" ) + { + if(%arg1.isSuperAdmin) + { + messageClient(%client, '', '\c2You can not %1 %2, %3 is a Super Admin!', %actionMsg, %arg1.name, %gender); + return; + } + + Game.kickClient = %arg1; + Game.kickClientName = %arg1.name; + Game.kickGuid = %arg1.guid; + Game.kickTeam = %arg1.team; + + if(%teamSpecific) + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + + if (%cl.team == %client.team && !%cl.isAIControlled()) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 %3.', %client.name, %actionMsg, %arg1.name); + %clientsVoting++; + } + } + } + else + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 %3.', %client.name, %actionMsg, %arg1.name); + %clientsVoting++; + } + } + } + } + else + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 %3.', %client.name, %actionMsg, %arg1.name); + %clientsVoting++; + } + } + } + } + else if ( %typeName $= "VoteChangeMission" ) + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 %3 (%4).', %client.name, %actionMsg, %arg1, %arg2 ); + %clientsVoting++; + } + } + } + else if (%arg1 !$= 0) + { + if (%arg2 !$= 0) + { + if(%typeName $= "VoteTournamentMode") + { + %admin = getAdmin(); + if(%admin > 0) + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 Tournament Mode (%3).', %client.name, %actionMsg, %arg1); + %clientsVoting++; + } + } + } + else + { + messageClient( %client, 'clientMsg', 'There must be a server admin to play in Tournament Mode.'); + return; + } + } + else + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 %3 %4.', %client.name, %actionMsg, %arg1, %arg2); + %clientsVoting++; + } + } + } + } + else + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2 %3.', %client.name, %actionMsg, %arg1); + %clientsVoting++; + } + } + } + } + else + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + if ( !%cl.isAIControlled() ) + { + messageClient( %cl, 'VoteStarted', '\c2%1 initiated a vote to %2.', %client.name, %actionMsg); + %clientsVoting++; + } + } + } + + // open the vote hud for all clients that will participate in this vote + if(%teamSpecific) + { + for ( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) + { + %cl = ClientGroup.getObject( %clientIndex ); + + if(%cl.team == %client.team && !%cl.isAIControlled()) + messageClient(%cl, 'openVoteHud', "", %clientsVoting, ($Host::VotePassPercent / 100)); + } + } + else + { + for ( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) + { + %cl = ClientGroup.getObject( %clientIndex ); + if ( !%cl.isAIControlled() ) + messageClient(%cl, 'openVoteHud', "", %clientsVoting, ($Host::VotePassPercent / 100)); + } + } + + clearVotes(); + Game.voteType = %typeName; + Game.scheduleVote = schedule( ($Host::VoteTime * 1000), 0, "calcVotes", %typeName, %arg1, %arg2, %arg3, %arg4 ); + %client.vote = true; + messageAll('addYesVote', ""); + + if(!%client.team == 0) + clearBottomPrint(%client); + } + else + messageClient( %client, 'voteAlreadyRunning', '\c2A vote is already in progress.' ); + } + else + { + if ( Game.scheduleVote !$= "" && Game.voteType $= %typeName ) + { + messageAll('closeVoteHud', ""); + cancel(Game.scheduleVote); + Game.scheduleVote = ""; + } + + // if this is a superAdmin, don't kick or ban + if(%arg1 != %client) + { + if(!%arg1.isSuperAdmin) + { + // Set up kick/ban values: + if ( %typeName $= "VoteBanPlayer" || %typeName $= "VoteKickPlayer" ) + { + Game.kickClient = %arg1; + Game.kickClientName = %arg1.name; + Game.kickGuid = %arg1.guid; + Game.kickTeam = %arg1.team; + } + + //Tinman - PURE servers can't call "eval" + //Mark - True, but neither SHOULD a normal server + // - thanks Ian Hardingham + Game.evalVote(%typeName, true, %arg1, %arg2, %arg3, %arg4); + } + else + messageClient(%client, '', '\c2You can not %1 %2, %3 is a Super Admin!', %actionMsg, %arg1.name, %gender); + } + } + + %client.canVote = false; + %client.rescheduleVote = schedule( ($Host::voteSpread * 1000) + ($Host::voteTime * 1000) , 0, "resetVotePrivs", %client ); +} + +function resetVotePrivs( %client ) +{ + //messageClient( %client, '', 'You may now start a new vote.'); + %client.canVote = true; + %client.rescheduleVote = ""; +} + +function serverCmdSetPlayerVote(%client, %vote) +{ + // players can only vote once + if( %client.vote $= "" ) + { + %client.vote = %vote; + if(%client.vote == 1) + messageAll('addYesVote', ""); + else + messageAll('addNoVote', ""); + + commandToClient(%client, 'voteSubmitted', %vote); + } +} + +function calcVotes(%typeName, %arg1, %arg2, %arg3, %arg4) +{ + if(%typeName $= "voteMatchStart") + if($MatchStarted || $countdownStarted) + return; + + for ( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) + { + %cl = ClientGroup.getObject( %clientIndex ); + messageClient(%cl, 'closeVoteHud', ""); + + if ( %cl.vote !$= "" ) + { + if ( %cl.vote ) + { + Game.votesFor[%cl.team]++; + Game.totalVotesFor++; + } + else + { + Game.votesAgainst[%cl.team]++; + Game.totalVotesAgainst++; + } + } + else + { + Game.votesNone[%cl.team]++; + Game.totalVotesNone++; + } + } + //Tinman - PURE servers can't call "eval" + //Mark - True, but neither SHOULD a normal server + // - thanks Ian Hardingham + Game.evalVote(%typeName, false, %arg1, %arg2, %arg3, %arg4); + Game.scheduleVote = ""; + Game.kickClient = ""; + clearVotes(); +} + +function clearVotes() +{ + for(%clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++) + { + %client = ClientGroup.getObject(%clientIndex); + %client.vote = ""; + messageClient(%client, 'clearVoteHud', ""); + } + + for(%team = 1; %team < 5; %team++) + { + Game.votesFor[%team] = 0; + Game.votesAgainst[%team] = 0; + Game.votesNone[%team] = 0; + Game.totalVotesFor = 0; + Game.totalVotesAgainst = 0; + Game.totalVotesNone = 0; + } +} + +// Tournament mode Stuff----------------------------------- + +function setModeFFA( %mission, %missionType ) +{ + if( $Host::TournamentMode ) + { + $Host::TournamentMode = false; + + if( isObject( Game ) ) + Game.gameOver(); + + loadMission(%mission, %missionType, false); + } +} + +//------------------------------------------------------------------ + +function setModeTournament( %mission, %missionType ) +{ + if( !$Host::TournamentMode ) + { + $Host::TournamentMode = true; + + if( isObject( Game ) ) + Game.gameOver(); + + loadMission(%mission, %missionType, false); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/ai.cs b/public/base/@vl2/scripts.vl2/scripts/ai.cs new file mode 100644 index 00000000..2e1b13c9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/ai.cs @@ -0,0 +1,907 @@ +//-----------------------------------// +// AI SCRIPT FUNCTIONS // +//-----------------------------------// + +//first, exec the supporting scripts +exec("scripts/aiDebug.cs"); +exec("scripts/aiDefaultTasks.cs"); +exec("scripts/aiObjectives.cs"); +exec("scripts/aiInventory.cs"); +exec("scripts/aiChat.cs"); +exec("scripts/aiHumanTasks.cs"); +exec("scripts/aiObjectiveBuilder.cs"); +exec("scripts/aiBotProfiles.cs"); + +$AIModeStop = 0; +$AIModeWalk = 1; +$AIModeGainHeight = 2; +$AIModeExpress = 3; +$AIModeMountVehicle = 4; + +$AIClientLOSTimeout = 15000; //how long a client has to remain out of sight of the bot + //before the bot "can't see" the client anymore... +$AIClientMinLOSTime = 10000; //how long a bot will search for a client + + +//-----------------------------------// +//Objective weights - level 1 + +$AIWeightCapFlag[1] = 5000; //range 5100 to 5320 +$AIWeightKillFlagCarrier[1] = 4800; //range 4800 to 5120 +$AIWeightReturnFlag[1] = 5001; //range 5101 to 5321 +$AIWeightDefendFlag[1] = 3900; //range 4000 to 4220 +$AIWeightGrabFlag[1] = 3850; //range 3950 to 4170 + +$AIWeightDefendFlipFlop[1] = 3900; //range 4000 to 4220 +$AIWeightCaptureFlipFlop[1] = 3850; //range 3850 to 4170 + +$AIWeightAttackGenerator[1] = 3100; //range 3200 to 3520 +$AIWeightRepairGenerator[1] = 3200; //range 3300 to 3620 +$AIWeightDefendGenerator[1] = 3100; //range 3200 to 3420 + +$AIWeightMortarTurret[1] = 3400; //range 3500 to 3600 +$AIWeightLazeObject[1] = 3200; //range 3300 to 3400 +$AIWeightRepairTurret[1] = 3100; //range 3200 to 3420 + +$AIWeightAttackInventory[1] = 2900; //range 2800 to 2920 +$AIWeightRepairInventory[1] = 2900; //range 2800 to 2920 + +$AIWeightEscortOffense[1] = 2900; //range 2800 to 2920 +$AIWeightEscortCapper[1] = 3250; //range 3350 to 3470 + +//used to allow a bot to finish tasks once started. +$AIWeightContinueDeploying = 4250; +$AIWeightContinueRepairing = 4250; + +//Objective weights from human +$AIWeightHumanIssuedCommand = 4450; +$AIWeightHumanIssuedEscort = 4425; + +//Objective weights - level 2 +$AIWeightCapFlag[2] = 0; //only one person can ever cap a flag +$AIWeightKillFlagCarrier[2] = 4800; //range 4800 to 5020 +$AIWeightReturnFlag[2] = 4100; //range 4200 to 4320 +$AIWeightDefendFlag[2] = 2000; //range 2100 to 2220 +$AIWeightGrabFlag[2] = 2000; //range 2100 to 2220 + +$AIWeightDefendFlipFlop[2] = 2000; //range 2100 to 2220 +$AIWeightDefendFlipFlop[3] = 1500; //range 1600 to 1720 +$AIWeightDefendFlipFlop[4] = 1000; //range 1100 to 1220 + +$AIWeightAttackGenerator[2] = 1600; //range 1700 to 1920 +$AIWeightRepairGenerator[2] = 1600; //range 1700 to 1920 +$AIWeightDefendGenerator[2] = 1500; //range 1600 to 1720 + +$AIWeightAttackInventory[2] = 1400; //range 1500 to 1720 +$AIWeightRepairInventory[2] = 1400; //range 1500 to 1720 + +$AIWeightMortarTurret[2] = 1000; //range 1100 to 1320 +$AIWeightLazeObject[2] = 0; //no need to have more than one targetter +$AIWeightRepairTurret[2] = 1000; //range 1100 to 1320 + +$AIWeightEscortOffense[2] = 2900; //range 3300 to 3420 +$AIWeightEscortCapper[2] = 3000; //range 3100 to 3220 + + +function AIInit() +{ + AISlicerInit(); + installNavThreats(); + NavDetectForceFields(); +// ShowFPS(); + + //enable the use of grenades + $AIDisableGrenades = false; + $AIDisableChat = false; + + //create the "objective delete set" + if(nameToId("AIBombLocationSet") <= 0) + { + $AIBombLocationSet = new SimSet("AIBombLocationSet"); + MissionCleanup.add($AIBombLocationSet); + } + + //create the Inventory group + if(nameToId("AIStationInventorySet") <= 0) + { + $AIInvStationSet = new SimSet("AIStationInventorySet"); + MissionCleanup.add($AIInvStationSet); + } + + //create the Item group + if (nameToId("AIItemSet") <= 0) + { + $AIItemSet = new SimSet("AIItemSet"); + MissionCleanup.add($AIItemSet); + } + + //create the Item group + if (nameToId("AIGrenadeSet") <= 0) + { + $AIGrenadeSet = new SimSet("AIGrenadeSet"); + MissionCleanup.add($AIGrenadeSet); + } + + //create the weapon group + if (nameToId("AIWeaponSet") <= 0) + { + $AIWeaponSet = new SimSet("AIWeaponSet"); + MissionCleanup.add($AIWeaponSet); + } + + //create the deployed turret group + if (nameToID("AIRemoteTurretSet") <= 0) + { + $AIRemoteTurretSet = new SimSet("AIRemoteTurretSet"); + MissionCleanup.add($AIRemoteTurretSet); + } + + //create the deployed turret group + if (nameToID("AIDeployedMineSet") <= 0) + { + $AIDeployedMineSet = new SimSet("AIDeployedMineSet"); + MissionCleanup.add($AIDeployedMineSet); + } + + //create the deployed turret group + if (nameToID("AIVehicleSet") <= 0) + { + $AIVehicleSet = new SimSet("AIVehicleSet"); + MissionCleanup.add($AIVehicleSet); + } + + %missionGroupFolder = nameToID("MissionGroup"); + %missionGroupFolder.AIMissionInit(); +} + +// this is called at mission load by the specific game type +function AIInitObjectives(%team, %game) +{ + %group = nameToID("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); + if(%group < 0) + return; // opps, there is no Objectives set for this team. + + // add the grouped objectives to the teams Q + %count = %group.getCount(); + for (%i = 0; %i < %count; %i++) + { + %objective = %group.getObject(%i); + if (%objective.getClassName() !$= "AIObjective") + { + %grpCount = %objective.getCount(); + for (%j = 0; %j < %grpCount; %j++) + { + %grpObj = %objective.getObject(%j); + if (%objective.gameType $= "" || %objective.gameType $= "all") + %objType = ""; + else + %objType = %objective.gameType @ "Game"; + + if (%objType $= "" || %objType $= %game.class) + { + %grpObj.group = %objective; + $ObjectiveQ[%team].add(%grpObj); + } + } + } + } + + + // add the non-grouped objectives to the teams Q + %count = %group.getCount(); + for(%i = 0; %i < %count; %i++) + { + %objective = %group.getObject(%i); + + //if the objective is not an "AIObjective", assume it's a group and continue + if (%objective.getClassName() !$= "AIObjective") + continue; + + if (%objective.gameType $= "" || %objective.gameType $= "all") + %objType = ""; + else + %objType = %objective.gameType @ "Game"; + + if (%objType $= "" || %objType $= %game.class) + { + %objective.group = ""; + $ObjectiveQ[%team].add(%objective); + } + } + + // initialize the objectives + %count = $ObjectiveQ[%team].getCount(); + for(%i = 0; %i < %count; %i++) + { + %objective = $ObjectiveQ[%team].getObject(%i); + + //clear out any dynamic fields + %objective.clientLevel1 = ""; + %objective.clientLevel2 = ""; + %objective.clientLevel3 = ""; + %objective.isInvalid = false; + %objective.repairObjective = ""; + + //set the location, if required + if (%objective.position !$= "0 0 0") + %objective.location = %objective.position; + + // find targeted object ID's + if(%objective.targetObject !$= "") + %objective.targetObjectId = NameToId(%objective.targetObject); + else + %objective.targetObjectId = -1; + + if(%objective.targetClientObject !$= "") + %objective.targetClientId = NameToId(%objective.targetClient); + else + %objective.targetClientId = -1; + + if (%objective.position $= "0 0 0") + { + if (%objective.location $= "0 0 0") + { + if (%objective.targetObjectId > 0) + %objective.position = %objective.targetObjectId.position; + } + else + %objective.position = %objective.location; + } + } + + //finally, sort the objectiveQ + $ObjectiveQ[%team].sortByWeight(); +} + +//This function is designed to clear out the objective Q's, and clear the task lists from all the AIs +function AIMissionEnd() +{ + //disable the AI system + AISystemEnabled(false); + + //loop through the client list, and clear the tasks of each bot + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + if (%client.isAIControlled()) + { + //cancel the respawn thread and the objective thread... + cancel(%client.respawnThread); + cancel(%client.objectiveThread); + + //reset the clients tasks, variables, etc... + AIUnassignClient(%client); + %client.stop(); + %client.clearTasks(); + %client.clearStep(); + %client.lastDamageClient = -1; + %client.lastDamageTurret = -1; + %client.shouldEngage = -1; + %client.setEngageTarget(-1); + %client.setTargetObject(-1); + %client.pilotVehicle = false; + %client.defaultTasksAdded = false; + + //do the nav graph cleanup + %client.missionCycleCleanup(); + } + } + + //clear the objective Q's + for (%i = 0; %i <= Game.numTeams; %i++) + { + if (isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i].clear(); + $ObjectiveQ[%i].delete(); + } + $ObjectiveQ[%i] = ""; + } + + //now delete all the sets used by the AI system... + if (isObject($AIBombLocationSet)) + $AIBombLocationSet.delete(); + $AIBombLocationSet = ""; + + if (isObject($AIInvStationSet)) + $AIInvStationSet.delete(); + $AIInvStationSet = ""; + + if (isObject($AIItemSet)) + $AIItemSet.delete(); + $AIItemSet = ""; + + if (isObject($AIGrenadeSet)) + $AIGrenadeSet.delete(); + $AIGrenadeSet = ""; + + if (isObject($AIWeaponSet)) + $AIWeaponSet.delete(); + $AIWeaponSet = ""; + + if (isObject($AIRemoteTurretSet)) + $AIRemoteTurretSet.delete(); + $AIRemoteTurretSet = ""; + + if (isObject($AIDeployedMineSet)) + $AIDeployedMineSet.delete(); + $AIDeployedMineSet = ""; + + if (isObject($AIVehicleSet)) + $AIVehicleSet.delete(); + $AIVehicleSet = ""; +} + +//FUNCTIONS ON EACH OBJECT EXECUTED AT MISSION LOAD TIME +function SimGroup::AIMissionInit(%this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).AIMissionInit(%this); +} + +function GameBase::AIMissionInit(%this) +{ + %this.getDataBlock().AIMissionInit(%this); +} + +function StationInventory::AIMissionInit(%data, %object) +{ + $AIInvStationSet.add(%object); +} + +function Flag::AIMissionInit(%data, %object) +{ + if (%object.team >= 0) + $AITeamFlag[%object.team] = %object; +} + +function SimObject::AIMissionInit(%this) +{ + //this function is declared to prevent console error msg spam... +} + +function ItemData::AIMissionInit(%data, %object) +{ + $AIItemSet.add(%object); +} + +function AIThrowObject(%object) +{ + $AIItemSet.add(%object); +} + +function AIGrenadeThrown(%object) +{ + $AIGrenadeSet.add(%object); +} + +function AIDeployObject(%client, %object) +{ + //first, set the object id on the client + %client.lastDeployedObject = %object; + + //now see if it was a turret... + %type = %object.getDataBlock().getName(); + if (%type $= "TurretDeployedFloorIndoor" || %type $= "TurretDeployedWallIndoor" || + %type $= "TurretDeployedCeilingIndoor" || %type $= "TurretDeployedOutdoor") + { + $AIRemoteTurretSet.add(%object); + } +} + +function AIDeployMine(%object) +{ + $AIDeployedMineSet.add(%object); +} + +function AIVehicleMounted(%vehicle) +{ + $AIVehicleSet.add(%vehicle); +} + +function AICorpseAdded(%corpse) +{ + if (isObject(%corpse)) + { + %corpse.isCorpse = true; + $AIItemSet.add(%corpse); + } +} + +//OTHER UTILITY FUNCTIONS + +function AIConnection::onAIDrop(%client) +{ + //make sure we're trying to drop an AI + if (!isObject(%client) || !%client.isAIControlled()) + return; + + //clear the ai from any objectives, etc... + AIUnassignClient(%client); + %client.clearTasks(); + %client.clearStep(); + %client.defaultTasksAdded = false; + + //kill the player, which should cause the Game object to perform whatever cleanup is required. + if (isObject(%client.player)) + %client.player.scriptKill(0); + + //do the nav graph cleanup + %client.missionCycleCleanup(); +} + +function AIConnection::endMission(%client) +{ + //cancel the respawn thread, and spawn them manually + cancel(%client.respawnThread); + cancel(%client.objectiveThread); +} + +function AIConnection::startMission(%client) +{ + //assign the team + if (%client.team <= 0) + Game.assignClientTeam(%client); + + //set the client's sensor group... + setTargetSensorGroup( %client.target, %client.team ); + %client.setSensorGroup( %client.team ); + + //sends a message so everyone know the bot is in the game... + Game.AIHasJoined(%client); + %client.matchStartReady = true; + + //spawn the bot... + onAIRespawn(%client); +} + +function AIConnection::onAIConnect(%client, %name, %team, %skill, %offense, %voice, %voicePitch) +{ + // Sex/Race defaults + %client.sex = "Male"; + %client.race = "Human"; + %client.armor = "Light"; + + //setup the voice and voicePitch + if (%voice $= "") + %voice = "Bot1"; + %client.voice = %voice; + %client.voiceTag = addTaggedString(%voice); + + if (%voicePitch $= "" || %voicePitch < 0.5 || %voicePitch > 2.0) + %voicePitch = 1.0; + %client.voicePitch = %voicePitch; + + %client.name = addTaggedString( "\cp\c9" @ %name @ "\co" ); + %client.nameBase = %name; + + echo(%client.name); + echo("CADD: " @ %client @ " " @ %client.getAddress()); + $HostGamePlayerCount++; + + //set the initial team - Game.assignClientTeam() should be called later on... + %client.team = %team; + if ( %client.team & 1 ) + %client.skin = addTaggedString( "basebot" ); + else + %client.skin = addTaggedString( "basebbot" ); + + //setup the target for use with the sensor net, etc... + %client.target = allocClientTarget(%client, %client.name, %client.skin, %client.voiceTag, '_ClientConnection', 0, 0, %client.voicePitch); + + //i need to send a "silent" version of this for single player but still use the callback -jr` + if($currentMissionType $= "SinglePlayer") + messageAllExcept(%client, -1, 'MsgClientJoin', "", %name, %client, %client.target, true); + else + messageAllExcept(%client, -1, 'MsgClientJoin', '\c1%1 joined the game.', %name, %client, %client.target, true); + + //assign the skill + %client.setSkillLevel(%skill); + + //assign the affinity + %client.offense = %offense; + + //clear any flags + %client.stop(); // this will clear the players move state + %client.clearStep(); + %client.lastDamageClient = -1; + %client.lastDamageTurret = -1; + %client.setEngageTarget(-1); + %client.setTargetObject(-1); + %client.objective = ""; + + //clear the defaulttasks flag + %client.defaultTasksAdded = false; + + //if the mission is already running, spawn the bot + if ($missionRunning) + %client.startMission(); +} + +// This routes through C++ code so profiler can register it. Also, the console function +// ProfilePatch1() tracks time spent (at MS resolution), # calls, average time per call. +// See console variables $patch1Total (MS so far in routine), $patch1Avg (average MS +// per call), and $patch1Calls (# of calls). +function patchForTimeTest(%client) +{ + if( isObject( Game ) ) + Game.AIChooseGameObjective(%client); +} + +function AIReassessObjective(%client) +{ + ProfilePatch1(patchForTimeTest, %client); + // Game.AIChooseGameObjective(%client); + %client.objectiveThread = schedule(5000, %client, "AIReassessObjective", %client); +} + +function onAIRespawn(%client) +{ + %markerObj = Game.pickPlayerSpawn(%client, true); + Game.createPlayer(%client, %markerObj); + + //make sure the player object is the AI's control object - even during the mission warmup time + //the function AISystemEnabled(true/false) will control whether they actually move... + %client.setControlObject(%client.player); + + if (%client.objective) + error("ERROR!!! " @ %client @ " is still assigned to objective: " @ %client.objective); + + //clear the objective and choose a new one + AIUnassignClient(%client); + %client.stop(); + %client.clearStep(); + %client.lastDamageClient = -1; + %client.lastDamageTurret = -1; + %client.shouldEngage = -1; + %client.setEngageTarget(-1); + %client.setTargetObject(-1); + %client.pilotVehicle = false; + + //set the spawn time + %client.spawnTime = getSimTime(); + %client.respawnThread = ""; + + //timeslice the objective reassessment for the bots + if (!isEventPending(%client.objectiveThread)) + { + %curTime = getSimTime(); + %remainder = %curTime % 5000; + %schedTime = $AITimeSliceReassess - %remainder; + if (%schedTime <= 0) + %schedTime += 5000; + %client.objectiveThread = schedule(%schedTime, %client, "AIReassessObjective", %client); + + //set the next time slice "slot" + $AITimeSliceReassess += 300; + if ($AITimeSliceReassess > 5000) + $AITimeSliceReassess -= 5000; + } + + //call the game specific spawn function + Game.onAIRespawn(%client); +} + +function AIClientIsAlive(%client, %duration) +{ + if(%client < 0 || %client.player <= 0) + return false; + if (isObject(%client.player)) + { + %state = %client.player.getState(); + if (%state !$= "Dead" && %state !$= "" && (%duration $= "" || getSimTime() - %client.spawnTime >= %duration)) + return true; + else + return false; + } + else + return false; +} + +//------------------------------ +function AIFindClosestEnemy(%srcClient, %radius, %losTimeout) +{ + //see if there's an enemy near our defense location... + if (isObject(%srcClient.player)) + %srcLocation = %srcClient.player.getWorldBoxCenter(); + else + %srcLocation = "0 0 0"; + return AIFindClosestEnemyToLoc(%srcClient, %srcLocation, %radius, %losTimeout, false, true); +} + +function AIFindClosestEnemyToLoc(%srcClient, %srcLocation, %radius, %losTimeout, %ignoreLOS, %distFromClient) +{ + if (%ignoreLOS $= "") + %ignoreLOS = false; + if (%distFromClient $= "") + %distFromClient = false; + + %count = ClientGroup.getCount(); + %closestClient = -1; + %closestDistance = 32767; + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //make sure we find someone who's alive + if (AIClientIsAlive(%cl) && %cl.team != %srcClient.team) + { + %clIsCloaked = !isTargetVisible(%cl.target, %srcClient.getSensorGroup()); + + //make sure the client can see the enemy + %hasLOS = %srcClient.hasLOSToClient(%cl); + %losTime = %srcClient.getClientLOSTime(%cl); + if (%ignoreLOS || %hasLOS || (%losTime < %losTimeout && AIClientIsAlive(%cl, %losTime + 1000))) + { + %testPos = %cl.player.getWorldBoxCenter(); + if (%distFromClient) + %distance = %srcClient.getPathDistance(%testPos); + else + %distance = AIGetPathDistance(%srcLocation, %testPos); + if (%distance > 0 && (%radius < 0 || %distance < %radius) && %distance < %closestDistance && (!%clIsCloaked || %distance < 8)) + { + %closestClient = %cl; + %closestDistance = %distance; + } + } + } + } + + return %closestClient SPC %closestDistance; +} + +function AIFindClosestEnemyPilot(%client, %radius, %losTimeout) +{ + //loop through the vehicle set, looking for pilotted vehicles... + %closestPilot = -1; + %closestDist = %radius; + %count = $AIVehicleSet.getCount(); + for (%i = 0; %i < %count; %i++) + { + //first, make sure the vehicle is mounted by pilotted + %vehicle = $AIVehicleSet.getObject(%i); + %pilot = %vehicle.getMountNodeObject(0); + if (%pilot <= 0 || !AIClientIsAlive(%pilot.client)) + continue; + + //make sure the pilot is an enemy + if (%pilot.client.team == %client.team) + continue; + + //see if the pilot has been seen by the client + %hasLOS = %client.hasLOSToClient(%pilot.client); + %losTime = %client.getClientLOSTime(%pilot.client); + if (%hasLOS || (%losTime < %losTimeout && AIClientIsAlive(%pilot.client, %losTime + 1000))) + { + //see if it's the closest + %clientPos = %client.player.getWorldBoxCenter(); + %pilotPos = %pilot.getWorldBoxCenter(); + %dist = VectorDist(%clientPos, %pilotPos); + if (%dist < %closestDist) + { + %closestPilot = %pilot.client; + %closestDist = %dist; + } + } + } + + return %closestPilot SPC %closestDist; +} + +function AIFindAIClientInView(%srcClient, %team, %radius) +{ + //make sure the player is alive + if (! AIClientIsAlive(%srcClient)) + return -1; + + //get various info about the player's eye + %srcEyeTransform = %srcClient.player.getEyeTransform(); + %srcEyePoint = firstWord(%srcEyeTransform) @ " " @ getWord(%srcEyeTransform, 1) @ " " @ getWord(%srcEyeTransform, 2); + %srcEyeVector = VectorNormalize(%srcClient.player.getEyeVector()); + + //see if there's an enemy near our defense location... + %count = ClientGroup.getCount(); + %viewedClient = -1; + %clientDot = -1; + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //make sure we find an AI who's alive and not the srcClient + if (%cl != %srcClient && AIClientIsAlive(%cl) && %cl.isAIControlled() && (%team < 0 || %cl.team == %team)) + { + //make sure the player is within range + %clPos = %cl.player.getWorldBoxCenter(); + %distance = VectorDist(%clPos, %srcEyePoint); + if (%radius <= 0 || %distance <= %radius) + { + //create the vector from the srcClient to the client + %clVector = VectorNormalize(VectorSub(%clPos, %srcEyePoint)); + + //see if the dot product is greater than our current, and greater than 0.6 + %dot = VectorDot(%clVector, %srcEyeVector); + + if (%dot > 0.6 && %dot > %clientDot) + { + %viewedClient = %cl; + %clientDot = %dot; + } + } + } + } + + return %viewedClient; +} + +//----------------------------------------------------------------------------- +//AI VEHICLE FUNCTIONS + +function Armor::AIonMount(%this, %obj, %vehicle, %node) +{ + //set the client var... + %client = %obj.client; + %client.turretMounted = -1; + + //make sure the AI was *supposed* to mount the vehicle + if (!%client.isMountingVehicle()) + { + AIDisembarkVehicle(%client); + return; + } + + //get the vehicle's pilot + %pilot = %vehicle.getMountNodeObject(0); + + //make sure the bot is in node 0 if'f the bot is piloting the vehicle + if ((%node == 0 && !%client.pilotVehicle) || (%node > 0 && %client.pilotVehicle)) + { + AIDisembarkVehicle(%client); + return; + } + + //make sure the bot didn't is on the same team as the pilot + if (%pilot > 0 && isObject(%pilot) && %pilot.client.team != %client.team) + { + AIDisembarkVehicle(%client); + return; + } + + //if we're supposed to pilot the vehicle, set the control object + if (%client.pilotVehicle) + %client.setControlObject(%vehicle); + + //each vehicle may be built differently... + if (%vehicle.getDataBlock().getName() $= "AssaultVehicle") + { + //node 1 is this vehicle's turret seat + if (%node == 1) + { + %turret = %vehicle.getMountNodeObject(10); + %skill = %client.getSkillLevel(); + %turret.setSkill(%skill); + %client.turretMounted = %turret; + %turret.setAutoFire(true); + } + } + + else if (%vehicle.getDataBlock().getName() $= "BomberFlyer") + { + //node 1 is this vehicle's turret seat + if (%node == 1) + { + %turret = %vehicle.getMountNodeObject(10); + %skill = %client.getSkillLevel(); + %turret.setSkill(%skill); + %client.turretMounted = %turret; + %client.setTurretMounted(%turret); + %turret.setAutoFire(true); + } + } +} + +function Armor::AIonUnMount(%this, %obj, %vehicle, %node) +{ + //get the client var + %client = %obj.client; + + //reset the control object + if (%client.pilotVehicle) + %client.setControlObject(%client.player); + %client.pilotVehicle = false; + + //if the client had mounted a turret, turn the turret back off + if (%client.turretMounted > 0) + %client.turretMounted.setAutoFire(false); + %client.turretMounted = -1; + %client.setTurretMounted(-1); + + // reset the turret skill level + if(%vehicle.getDataBlock().getName() $= "AssaultVehicle") + if (%node == 1) + %vehicle.getMountNodeObject(10).setSkill(1.0); + + if(%vehicle.getDataBlock().getName() $= "BomberFlyer") + if(%node == 1) + %vehicle.getMountNodeObject(10).setSkill(1.0); +} + +function AIDisembarkVehicle(%client) +{ + if (%client.player.isMounted()) + { + if (%client.pilotVehicle) + %client.setControlObject(%client.player); + %client.pressJump(); + } +} + +function AIProcessVehicle(%client) +{ + //see if we're mounted on a turret, and if that turret has a target + if (%client.turretMounted > 0) + { + %turretDB = %client.turretMounted.getDataBlock(); + + //see if we're in a bomber close to a bomb site... + if (%turretDB.getName() $= "BomberTurret") + { + %clientPos = getWords(%client.player.position, 0, 1) @ " 0"; + %found = false; + %count = $AIBombLocationSet.getCount(); + for (%i = 0; %i < %count; %i++) + { + %bombObj = $AIBombLocationSet.getObject(%i); + %bombLocation = %bombObj.location; + + //make sure the objective was issued by someone in the vehicle + if (%bombObj.issuedByClientId.vehicleMounted == %client.vehicleMounted) + { + //find out where the bomb is going to drop... first, how high up are we... + %bombLocation2D = getWord(%bombLocation, 0) SPC getWord(%bombLocation, 1) SPC "0"; + %height = getWord(%client.vehicleMounted.position, 2) - getWord(%bombLocation, 2); + + //find out how long it'll take the bomb to fall that far... + //assume no initial velocity in the Z axis... + %timeToFall = mSqrt((2.0 * %height) / 9.81); + + //how fast is the vehicle moving in the XY plane... + %myLocation = %client.vehicleMounted.position; + %myLocation2D = getWord(%myLocation, 0) SPC getWord(%myLocation, 1) SPC "0"; + %vel = %client.vehicleMounted.getVelocity(); + %vel2D = getWord(%vel, 0) SPC getWord(%vel, 1) SPC "0"; + + %bombImpact2D = VectorAdd(%myLocation2D, VectorScale(%vel2D, %timeToFall)); + + //see if the bomb inpact position is within 20m of the desired bomb site... + %distToBombsite2D = VectorDist(%bombImpact2D, %bombLocation2D); + if (%height > 20 && %distToBombsite2D < 25) + { + %found = true; + break; + } + } + } + + //see if we found a bomb site + if (%found) + { + %client.turretMounted.selectedWeapon = 2; + %turretDB.onTrigger(%client.turretMounted, 0, true); + return; + } + } + + //we're not bombing, make sure we have the regular weapon selected + %client.turretMounted.selectedWeapon = 1; + if (isObject(%client.turretMounted.getTargetObject())) + %turretDB.onTrigger(%client.turretMounted, 0, true); + else + %turretDB.onTrigger(%client.turretMounted, 0, false); + } +} + +function AIPilotVehicle(%client) +{ + //this is not very well supported, but someone will find a use for this function... +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/aiBotProfiles.cs b/public/base/@vl2/scripts.vl2/scripts/aiBotProfiles.cs new file mode 100644 index 00000000..a30a8a2b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiBotProfiles.cs @@ -0,0 +1,551 @@ +function aiConnectByIndex(%index, %team) +{ + if (%index < 0 || $BotProfile[%index, name] $= "") + return; + + if (%team $= "") + %team = -1; + + //initialize the profile, if required + if ($BotProfile[%index, skill] $= "") + $BotProfile[%index, skill] = 0.5; + + return aiConnect($BotProfile[%index, name], %team, $BotProfile[%index, skill], $BotProfile[%index, offense], $BotProfile[%index, voice], $BotProfile[%index, voicePitch]); +} + +function aiConnectByName(%name, %team) +{ + if (%name $= "") + return; + + if (%team $= "") + %team = -1; + + %foundIndex = -1; + %index = 0; + while ($BotProfile[%index, name] !$= "") + { + if ($BotProfile[%index, name] $= %name) + { + %foundIndex = %index; + break; + } + else + %index++; + } + + //see if we found our bot + if (%foundIndex >= 0) + return aiConnectByIndex(%foundIndex, %team); + + //else add a new bot profile + else + { + $BotProfile[%index, name] = %name; + return aiConnectByIndex(%index, %team); + } +} + +function aiBotAlreadyConnected(%name) +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + if (%name $= getTaggedString(%client.name)) + return true; + } + + return false; +} + +function aiConnectMultiple(%numToConnect, %minSkill, %maxSkill, %team) +{ + //validate the args + if (%numToConnect <= 0) + return; + + if (%maxSkill < 0) + %maxSkill = 0; + + if (%minSkill >= %maxSkill) + %minSkill = %maxSkill - 0.01; + + if (%team $= "") + %team = -1; + + //loop through the profiles, and set the flags and initialize + %numBotsAlreadyConnected = 0; + %index = 0; + while ($BotProfile[%index, name] !$= "") + { + //initialize the profile if required + if ($BotProfile[%index, skill] $= "") + $BotProfile[%index, skill] = 0.5; + + //if the bot is already playing, it shouldn't be reselected + if (aiBotAlreadyConnected($BotProfile[%index, name])) + { + $BotProfile[%index, canSelect] = false; + %numBotsAlreadyConnected++; + } + else + $BotProfile[%index, canSelect] = true; + + %index++; + } + + //make sure we're not trying to add more bots than we have... + if (%numToConnect > (%index - %numBotsAlreadyConnected)) + %numToConnect = (%index - %numBotsAlreadyConnected); + + //build the array of possible candidates... + %index = 0; + %tableCount = 0; + while ($BotProfile[%index, name] !$= "") + { + %botSkill = $BotProfile[%index, skill]; + + //see if the skill is within range + if ($BotProfile[%index, canSelect] && %botSkill >= %minSkill && %botSkill <= %maxSkill) + { + $BotSelectTable[%tableCount] = %index; + %tableCount++; + $BotProfile[%index, canSelect] = false; + } + + //check the next bot + %index++; + } + + //if we didn't find enough bots, we'll have to search the rest of the profiles... + %searchMinSkill = %minSkill; + while ((%tableCount < %numToConnect) && (%searchMinSkill > 0)) + { + %index = 0; + while ($BotProfile[%index, name] !$= "") + { + %botSkill = $BotProfile[%index, skill]; + + //see if the skill is within range + if ($BotProfile[%index, canSelect] && %botSkill >= (%searchMinSkill - 0.1) && %botSkill <= %searchMinSkill) + { + $BotSelectTable[%tableCount] = %index; + %tableCount++; + $BotProfile[%index, canSelect] = false; + } + + //check the next bot + %index++; + } + + //now lower the search min Skill, and take another pass at a lower skill level + %searchMinSkill = %searchMinSkill - 0.1; + } + + //if we're still short of bots, search the higher skill levels + %searchMaxSkill = %maxSkill; + while ((%tableCount < %numToConnect) && (%searchMaxSkill < 1.0)) + { + %index = 0; + while ($BotProfile[%index, name] !$= "") + { + %botSkill = $BotProfile[%index, skill]; + //see if the skill is within range + if ($BotProfile[%index, canSelect] && %botSkill >= %searchMaxSkill && %botSkill <= (%searchMaxSkill + 0.1)) + { + $BotSelectTable[%tableCount] = %index; + %tableCount++; + $BotProfile[%index, canSelect] = false; + } + + //check the next bot + %index++; + } + + //now raise the search max Skill, and take another pass at a higher skill level + %searchMaxSkill = %searchMaxSkill + 0.1; + } + + //since the numToConnect was capped at the table size, we should have enough bots in the + //table to fulfill the quota + + //loop through five times, picking random indices, and adding them until we've added enough + %numBotsConnected = 0; + for (%i = 0; %i < 5; %i++) + { + for (%j = 0; %j < %numToConnect; %j++) + { + %selectedIndex = mFloor(getRandom() * (%tableCount - 0.1)); + if ($BotSelectTable[%selectedIndex] >= 0) + { + //connect the bot + %botClient = aiConnectByIndex($BotSelectTable[%selectedIndex], %team); + %numBotsConnected++; + + //adjust the skill level, if required + %botSkill = %botClient.getSkillLevel(); + if (%botSkill < %minSkill || %botSkill > %maxSkill) + { + %newSkill = %minSKill + (getRandom() * (%maxSkill - %minSkill)); + %botClient.setSkillLevel(%newSkill); + } + + //clear the table entry to avoid connecting duplicates + $BotSelectTable[%selectedIndex] = -1; + + //see if we've connected enough + if (%numBotsConnected == %numToConnect) + return; + } + } + } + + //at this point, we've looped though the table, and kept hitting duplicates, search the table sequentially + for (%i = 0; %i < %tableCount; %i++) + { + if ($BotSelectTable[%i] >= 0) + { + //connect the bot + %botClient = aiConnectByIndex($BotSelectTable[%i], %team); + %numBotsConnected++; + + //adjust the skill level, if required + %botSkill = %botClient.getSkillLevel(); + if (%botSkill < %minSkill || %botSkill > %maxSkill) + { + %newSkill = %minSKill + (getRandom() * (%maxSkill - %minSkill)); + %botClient.setSkillLevel(%newSkill); + } + + //clear the table entry to avoid connecting duplicates + $BotSelectTable[%i] = -1; + + //see if we've connected enough + if (%numBotsConnected == %numToConnect) + return; + } + } +} + +$BotProfile[0, name] = "Kidney BOT"; +$BotProfile[0, skill] = 0.99; +$BotProfile[0, offense] = true; +$BotProfile[0, voicePitch] = 0.875; +$BotProfile[1, name] = "BOT Milk?"; +$BotProfile[1, skill] = 0.99; +$BotProfile[1, offense] = true; +$BotProfile[1, voicePitch] = 0.89; +$BotProfile[2, name] = "UberBOT"; +$BotProfile[2, skill] = 0.99; +$BotProfile[2, offense] = true; +$BotProfile[2, voicePitch] = 0.95; +$BotProfile[3, name] = "SymBOT"; +$BotProfile[3, skill] = 0.99; +$BotProfile[3, offense] = true; +$BotProfile[3, voicePitch] = 1.1; +$BotProfile[4, name] = "QIX BOT"; +$BotProfile[4, skill] = 0.99; +$BotProfile[4, offense] = false; +$BotProfile[4, voicePitch] = 1.12; +$BotProfile[5, name] = "Rated BOT"; +$BotProfile[5, skill] = 0.99; +$BotProfile[5, offense] = true; +$BotProfile[5, voicePitch] = 0.92; +$BotProfile[6, name] = "Dr.BOTward"; +$BotProfile[6, skill] = 0.99; +$BotProfile[6, offense] = true; +$BotProfile[6, voicePitch] = 0.96; +$BotProfile[7, name] = "Frank BOTzo"; +$BotProfile[7, skill] = 0.99; +$BotProfile[7, offense] = true; +$BotProfile[7, voicePitch] = 0.88; +$BotProfile[8, name] = "Missing BOT"; +$BotProfile[8, skill] = 0.99; +$BotProfile[8, offense] = true; +$BotProfile[8, voicePitch] = 1.125; +$BotProfile[9, name] = "Jett BOT"; +$BotProfile[9, skill] = 0.99; +$BotProfile[9, offense] = false; +$BotProfile[9, voicePitch] = 1.12; +$BotProfile[10, name] = "HexaBOTic"; +$BotProfile[10, skill] = 0.99; +$BotProfile[10, offense] = true; +$BotProfile[10, voicePitch] = 0.895; +$BotProfile[11, name] = "Sne/\\kBOT"; +$BotProfile[11, skill] = 0.99; +$BotProfile[11, offense] = true; +$BotProfile[11, voicePitch] = 0.885; +$BotProfile[12, name] = "DiamondBOT"; +$BotProfile[12, skill] = 0.99; +$BotProfile[12, offense] = true; +$BotProfile[12, voicePitch] = 1.05; +$BotProfile[13, name] = "Jimmy BOT"; +$BotProfile[13, skill] = 0.99; +$BotProfile[13, offense] = true; +$BotProfile[13, voicePitch] = 1.09; +$BotProfile[14, name] = "Skeet BOT"; +$BotProfile[14, skill] = 0.99; +$BotProfile[14, offense] = false; +$BotProfile[14, voicePitch] = 1.0; +$BotProfile[15, name] = "BigBOTDawg"; +$BotProfile[15, skill] = 0.99; +$BotProfile[15, offense] = true; +$BotProfile[15, voicePitch] = 0.9; +$BotProfile[16, name] = "BOTIN8R"; +$BotProfile[16, skill] = 0.99; +$BotProfile[16, offense] = true; +$BotProfile[16, voicePitch] = 0.97; +$BotProfile[17, name] = "OrphanKazBOT"; +$BotProfile[17, skill] = 0.99; +$BotProfile[17, offense] = true; +$BotProfile[17, voicePitch] = 0.925; +$BotProfile[18, name] = "Terrible BOT"; +$BotProfile[18, skill] = 0.99; +$BotProfile[18, offense] = true; +$BotProfile[18, voicePitch] = 1.115; +$BotProfile[19, name] = "Mongo BOT"; +$BotProfile[19, skill] = 0.99; +$BotProfile[19, offense] = false; +$BotProfile[19, voicePitch] = 1.12; +$BotProfile[20, name] = "East BOT"; +$BotProfile[20, skill] = 0.99; +$BotProfile[20, offense] = true; +$BotProfile[20, voicePitch] = 1.125; +$BotProfile[21, name] = "Snow LeoBOT"; +$BotProfile[21, skill] = 0.99; +$BotProfile[21, offense] = true; +$BotProfile[21, voicePitch] = 1.05; +$BotProfile[22, name] = "Twitch BOT"; +$BotProfile[22, skill] = 0.99; +$BotProfile[22, offense] = true; +$BotProfile[22, voicePitch] = 0.893; +$BotProfile[23, name] = "ShazBOT"; +$BotProfile[23, skill] = 0.99; +$BotProfile[23, offense] = true; +$BotProfile[23, voicePitch] = 0.879; + +$BotProfile[24, name] = "Fishbait"; +$BotProfile[24, skill] = 0.00; +$BotProfile[24, offense] = true; +$BotProfile[24, voicePitch] = 1.125; +$BotProfile[25, name] = "Skulker"; +$BotProfile[25, skill] = 0.00; +$BotProfile[25, offense] = false; +$BotProfile[25, voicePitch] = 1.1; +$BotProfile[26, name] = "Dogstar"; +$BotProfile[26, skill] = 0.00; +$BotProfile[26, offense] = false; +$BotProfile[26, voicePitch] = 1.02; +$BotProfile[27, name] = "Bonehead"; +$BotProfile[27, skill] = 0.00; +$BotProfile[27, offense] = false; +$BotProfile[27, voicePitch] = 0.975; +$BotProfile[28, name] = "Torus"; +$BotProfile[28, skill] = 0.00; +$BotProfile[28, offense] = false; +$BotProfile[28, voicePitch] = 0.9; +$BotProfile[29, name] = "Glitter"; +$BotProfile[29, skill] = 0.05; +$BotProfile[29, offense] = true; +$BotProfile[29, voicePitch] = 1.1; +$BotProfile[30, name] = "Wirehead"; +$BotProfile[30, skill] = 0.05; +$BotProfile[30, offense] = false; +$BotProfile[30, voicePitch] = 1.03; +$BotProfile[31, name] = "Ironbreath"; +$BotProfile[31, skill] = 0.10; +$BotProfile[31, offense] = false; +$BotProfile[31, voicePitch] = 1.02; +$BotProfile[32, name] = "Hagstomper"; +$BotProfile[32, skill] = 0.10; +$BotProfile[32, offense] = false; +$BotProfile[32, voicePitch] = 0.899; +$BotProfile[33, name] = "Doormat"; +$BotProfile[33, skill] = 0.15; +$BotProfile[33, offense] = false; +$BotProfile[33, voicePitch] = 0.97; +$BotProfile[34, name] = "TickTock"; +$BotProfile[34, skill] = 0.15; +$BotProfile[34, offense] = true; +$BotProfile[34, voicePitch] = 1.07; +$BotProfile[35, name] = "ElectroJag"; +$BotProfile[35, skill] = 0.20; +$BotProfile[35, offense] = false; +$BotProfile[35, voicePitch] = 0.915; +$BotProfile[36, name] = "Jetsam"; +$BotProfile[36, skill] = 0.20; +$BotProfile[36, offense] = false; +$BotProfile[36, voicePitch] = 1.09; +$BotProfile[37, name] = "Newguns"; +$BotProfile[37, skill] = 0.25; +$BotProfile[37, offense] = false; +$BotProfile[37, voicePitch] = 0.885; +$BotProfile[38, name] = "WrongWay"; +$BotProfile[38, skill] = 0.25; +$BotProfile[38, offense] = false; +$BotProfile[38, voicePitch] = 0.875; +$BotProfile[39, name] = "Ragbinder"; +$BotProfile[39, skill] = 0.30; +$BotProfile[39, offense] = true; +$BotProfile[39, voicePitch] = 1.1; +$BotProfile[40, name] = "Retch"; +$BotProfile[40, skill] = 0.30; +$BotProfile[40, offense] = false; +$BotProfile[40, voicePitch] = 1.12; +$BotProfile[41, name] = "Hotfoot"; +$BotProfile[41, skill] = 0.35; +$BotProfile[41, offense] = false; +$BotProfile[41, voicePitch] = 0.93; +$BotProfile[42, name] = "Trail of Rust"; +$BotProfile[42, skill] = 0.35; +$BotProfile[42, offense] = false; +$BotProfile[42, voicePitch] = 0.88; +$BotProfile[43, name] = "Zigzag"; +$BotProfile[43, skill] = 0.40; +$BotProfile[43, offense] = false; +$BotProfile[43, voicePitch] = 0.89; +$BotProfile[44, name] = "Gray Sabot"; +$BotProfile[44, skill] = 0.40; +$BotProfile[44, offense] = true; +$BotProfile[44, voicePitch] = 0.879; +$BotProfile[45, name] = "Hellefleur"; +$BotProfile[45, skill] = 0.45; +$BotProfile[45, offense] = false; +$BotProfile[45, voicePitch] = 1.11; +$BotProfile[46, name] = "Slicer"; +$BotProfile[46, skill] = 0.45; +$BotProfile[46, offense] = false; +$BotProfile[46, voicePitch] = 1.12; +$BotProfile[47, name] = "Rampant"; +$BotProfile[47, skill] = 0.45; +$BotProfile[47, offense] = false; +$BotProfile[47, voicePitch] = 0.935; +$BotProfile[48, name] = "Troglodyte"; +$BotProfile[48, skill] = 0.45; +$BotProfile[48, offense] = true; +$BotProfile[48, voicePitch] = 1.121; +$BotProfile[49, name] = "Evenkill"; +$BotProfile[49, skill] = 0.50; +$BotProfile[49, offense] = false; +$BotProfile[49, voicePitch] = 1.05; +$BotProfile[50, name] = "Simrionic"; +$BotProfile[50, skill] = 0.50; +$BotProfile[50, offense] = false; +$BotProfile[50, voicePitch] = 0.895; +$BotProfile[51, name] = "Cathode Kiss"; +$BotProfile[51, skill] = 0.50; +$BotProfile[51, offense] = false; +$BotProfile[51, voicePitch] = 0.97; +$BotProfile[52, name] = "So Dark"; +$BotProfile[52, skill] = 0.55; +$BotProfile[52, offense] = true; +$BotProfile[52, voicePitch] = 1.01; +$BotProfile[53, name] = "Deathwind"; +$BotProfile[53, skill] = 0.55; +$BotProfile[53, offense] = false; +$BotProfile[53, voicePitch] = 1.12; +$BotProfile[54, name] = "Dharmic Sword"; +$BotProfile[54, skill] = 0.55; +$BotProfile[54, offense] = false; +$BotProfile[54, voicePitch] = 1.0; +$BotProfile[55, name] = "Demonshriek"; +$BotProfile[55, skill] = 0.60; +$BotProfile[55, offense] = false; +$BotProfile[55, voicePitch] = 1.05; +$BotProfile[56, name] = "Terrapin"; +$BotProfile[56, skill] = 0.60; +$BotProfile[56, offense] = true; +$BotProfile[56, voicePitch] = 1.085; +$BotProfile[57, name] = "No-Dachi"; +$BotProfile[57, skill] = 0.60; +$BotProfile[57, offense] = true; +$BotProfile[57, voicePitch] = 0.905; +$BotProfile[58, name] = "Irrelevant Smoke"; +$BotProfile[58, skill] = 0.65; +$BotProfile[58, offense] = false; +$BotProfile[58, voicePitch] = 0.935; +$BotProfile[59, name] = "Red Ghost"; +$BotProfile[59, skill] = 0.65; +$BotProfile[59, offense] = false; +$BotProfile[59, voicePitch] = 1.21; +$BotProfile[60, name] = "Perilous"; +$BotProfile[60, skill] = 0.65; +$BotProfile[60, offense] = true; +$BotProfile[60, voicePitch] = 0.895; +$BotProfile[61, name] = "The Golden"; +$BotProfile[61, skill] = 0.70; +$BotProfile[61, offense] = true; +$BotProfile[61, voicePitch] = 0.88; +$BotProfile[62, name] = "Vanguard"; +$BotProfile[62, skill] = 0.70; +$BotProfile[62, offense] = false; +$BotProfile[62, voicePitch] = 1.1; +$BotProfile[63, name] = "Heretik"; +$BotProfile[63, skill] = 0.70; +$BotProfile[63, offense] = true; +$BotProfile[63, voicePitch] = 0.945; +$BotProfile[64, name] = "Akhiles"; +$BotProfile[64, skill] = 0.75; +$BotProfile[64, offense] = true; +$BotProfile[64, voicePitch] = 0.915; +$BotProfile[65, name] = "Nova-9"; +$BotProfile[65, skill] = 0.75; +$BotProfile[65, offense] = false; +$BotProfile[65, voicePitch] = 1.12; +$BotProfile[66, name] = "Hotspur"; +$BotProfile[66, skill] = 0.75; +$BotProfile[66, offense] = true; +$BotProfile[66, voicePitch] = 1.11; +$BotProfile[67, name] = "DustWitch"; +$BotProfile[67, skill] = 0.80; +$BotProfile[67, offense] = true; +$BotProfile[67, voicePitch] = 0.875; +$BotProfile[68, name] = "Mojo Savage"; +$BotProfile[68, skill] = 0.80; +$BotProfile[68, offense] = true; +$BotProfile[68, voicePitch] = 1.05; +$BotProfile[69, name] = "Velomancer"; +$BotProfile[69, skill] = 0.80; +$BotProfile[69, offense] = false; +$BotProfile[69, voicePitch] = 1.085; +$BotProfile[70, name] = "Mohican"; +$BotProfile[70, skill] = 0.85; +$BotProfile[70, offense] = true; +$BotProfile[70, voicePitch] = 1.045; +$BotProfile[71, name] = "Widowmaker"; +$BotProfile[71, skill] = 0.85; +$BotProfile[71, offense] = true; +$BotProfile[71, voicePitch] = 1.04; +$BotProfile[72, name] = "Punch"; +$BotProfile[72, skill] = 0.85; +$BotProfile[72, offense] = true; +$BotProfile[72, voicePitch] = 0.89; +$BotProfile[73, name] = "Mameluke"; +$BotProfile[73, skill] = 0.90; +$BotProfile[73, offense] = false; +$BotProfile[73, voicePitch] = 0.882; +$BotProfile[74, name] = "King Snake"; +$BotProfile[74, skill] = 0.90; +$BotProfile[74, offense] = true; +$BotProfile[74, voicePitch] = 1.05; +$BotProfile[75, name] = "Sorrow"; +$BotProfile[75, skill] = 0.90; +$BotProfile[75, offense] = true; +$BotProfile[75, voicePitch] = 1.09; +$BotProfile[76, name] = "Devourer"; +$BotProfile[76, skill] = 0.95; +$BotProfile[76, offense] = true; +$BotProfile[76, voicePitch] = 0.929; +$BotProfile[77, name] = "Fated to Glory"; +$BotProfile[77, skill] = 0.95; +$BotProfile[77, offense] = true; +$BotProfile[77, voicePitch] = 0.915; +$BotProfile[78, name] = "Neon Blossom"; +$BotProfile[78, skill] = 0.95; +$BotProfile[78, offense] = false; +$BotProfile[78, voicePitch] = 1.125; +$BotProfile[79, name] = "Shiver"; +$BotProfile[79, skill] = 0.95; +$BotProfile[79, offense] = true; +$BotProfile[79, voicePitch] = 0.875; diff --git a/public/base/@vl2/scripts.vl2/scripts/aiBountyGame.cs b/public/base/@vl2/scripts.vl2/scripts/aiBountyGame.cs new file mode 100644 index 00000000..7539b3b2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiBountyGame.cs @@ -0,0 +1,320 @@ +// bounty game support + +function BountyGame::onAIRespawn(%game, %client) +{ + //add the default task + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIPickupItemTask); + %client.addTask(AIUseInventoryTask); + %client.addTask(AITauntCorpseTask); + %client.addTask(AIEngageTurretTask); + %client.addTask(AIDetectMineTask); + %client.addTask(AIBountyPatrolTask); + %client.bountyTask = %client.addTask(AIBountyEngageTask); + } + + //set the inv flag + %client.spawnUseInv = true; +} + +function BountyGame::AIInit(%game) +{ + AIInit(); +} + +function BountyGame::aiBountyAssignTarget(%game, %client, %target) +{ + if (!isObject(%client.bountyTask)) + %client.bountyTask = %client.addTask(AIBountyEngageTask); + %task = %client.bountyTask; + + %task.baseWeight = $AIWeightKillFlagCarrier[1]; + %task.buyEquipmentSet = "LightEnergySniper"; +} + +function AIBountyEngageTask::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); +} + +function AIBountyEngageTask::retire(%task, %client) +{ + %client.setEngageTarget(-1); +} + +function AIBountyEngageTask::weight(%task, %client) +{ + %player = %client.player; + if (!isObject(%player)) + return; + + %clientPos = %player.getWorldBoxCenter(); + %client.shouldEngage = -1; + + //first, make sure we actually can fight + if (AIEngageOutOfAmmo(%client)) + { + %task.setWeight(0); + return; + } + + //see if anyone has fired on us recently... + %mustEngage = false; + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + if (AIClientIsAlive(%client.lastDamageClient, %losTimeout) && getSimTime() - %client.lastDamageTime < %losTimeout) + { + //see if the attacker is either our target or, we are their target + if (%client.lastDamageClient == %client.objectiveTarget || %client.lastDamageClient.objectiveTarget == %client) + { + %mustEngage = true; + %currentTarget = %client.getEngageTarget(); + + //see if this is a new attacker + if (AIClientIsAlive(%currentTarget) && %currentTarget != %client.lastDamageClient) + { + %targPos = %currentTarget.player.getWorldBoxCenter(); + %curTargDist = %client.getPathDistance(%targPos); + + %newTargPos = %client.lastDamageClient.player.getWorldBoxCenter(); + %newTargDist = %client.getPathDistance(%newTargPos); + + //see if the new targ is no more than 30 m further + if (%newTargDist > 0 && %newTargDist < %curTargDist + 30) + %client.shouldEngage = %client.lastDamageClient; + else + %client.shouldEngage = %currentTarget; + } + else + %client.shouldEngage = %client.lastDamageClient; + } + + //otherwise we should run react to an attacker who is not really supposed to be attacking us... + else + %client.setDangerLocation(%client.player.position, 20); + } + + //no one has fired at us recently, see if we're near our objective target... + else + { + //see if we still have sight of the current target + %hasLOS = %client.hasLOSToClient(%client.objectiveTarget); + %losTime = %client.getClientLOSTime(%client.objectiveTarget); + if (%hasLOS || %losTime < %losTimeout) + %client.shouldEngage = %client.objectiveTarget; + else + %client.shouldEngage = -1; + } + + //now set the weight + if (%client.shouldEngage > 0) + { + //if we've been fired upon... + if (%mustEngage) + %task.setWeight($AIWeightReturnFire); + + //see if we can allow the bot to use an inv station... + else if (%client.spawnUseInv) + { + //see if there's an available inv station + %result = AIFindClosestInventory(%client, false); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (isObject(%closestInv)) + { + if (isObject(%client.shouldEngage.player)) + { + %dist = %client.getPathDistance(%client.shouldEngage.player.position); + if (%dist < 70 || %closestDist > 200) + %task.setWeight($AIWeightReturnFire); + else + %task.setWeight($AIBountyWeightShouldEngage); + } + else + %task.setWeight($AIBountyWeightShouldEngage); + } + else + { + %client.spawnUseInv = false; + %task.setWeight($AIWeightReturnFire); + } + } + else + %task.setWeight($AIWeightReturnFire); + } + else + %task.setWeight(0); +} + +function AIBountyEngageTask::monitor(%task, %client) +{ + if (AIClientIsAlive(%client.shouldEngage)) + %client.stepEngage(%client.shouldEngage); +} + +//----------------------------------------------------------------------------- +//AIPatrolTask used to wander around the map (DM and Hunters mainly) looking for something to do... + +function AIBountyPatrolTask::init(%task, %client) +{ +} + +function AIBountyPatrolTask::assume(%task, %client) +{ + %task.setWeightFreq(13); + %task.setMonitorFreq(13); + %task.findLocation = true; + %task.patrolLocation = "0 0 0"; + %task.idleing = false; + %task.idleEndTime = 0; +} + +function AIBountyPatrolTask::retire(%task, %client) +{ +} + +function AIBountyPatrolTask::weight(%task, %client) +{ + %task.setWeight($AIWeightPatrolling); +} + +function AIBountyPatrolTask::monitor(%task, %client) +{ + //this call works in conjunction with AIEngageTask + %client.setEngageTarget(%client.shouldEngage); + + //see if we're close enough to our patrol point + if (%task.idleing) + { + if (getSimTime() > %task.idleEndTime) + { + %task.findLocation = true; + %task.idleing = false; + } + } + + //see if we need to find a place to go... + else if (%task.findLocation) + { + //first, see if we're in need of either health, or ammo + //note: normally, I'd be tempted to put this kind of "looking for health" code + //into the AIPickupItemTask, however, that task will be used in CTF, where you + //don't want people on AIDefendLocation to leave their post to hunt for health, etc... + //AIPickupItemTask only deals with items within a 30m radius around the bot. + //AIPatrolTask will move the bot to the vicinity of an item, then AIPickUpItemTask + //will finish the job... + %foundItemLocation = false; + %damage = %client.player.getDamagePercent(); + if (%damage > 0.7) + { + //search for a health kit + %closestHealth = AIFindSafeItem(%client, "Health"); + if (%closestHealth > 0) + { + %task.patrolLocation = %closestHealth.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + else if (AIEngageOutOfAmmo(%client)) + { + //search for a Ammo or a weapon... + %closestItem = AIFindSafeItem(%client, "Ammo"); + if (%closestItem > 0) + { + %task.patrolLocation = %closestItem.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + + //now see if we don't really have good equipment... + if (!%foundItemLocation && AIEngageWeaponRating(%client) < 20) + { + //search for any useful item + %closestItem = AIFindSafeItem(%client, "Any"); + if (%closestItem > 0) + { + %task.patrolLocation = %closestItem.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + //choose a randomish location only if we're not in need of health or ammo + if (!%foundItemLocation) + { + //find a random item/inventory in the map, and pick a spawn point near it... + %pickGraphNode = false; + %chooseSet = 0; + if ($AIInvStationSet.getCount() > 0) + %chooseSet = $AIInvStationSet; + else if ($AIWeaponSet.getCount() > 0) + %chooseSet = $AIWeaponSet; + else if ($AIItemSet.getCount() > 0) + %chooseSet = $AIItemSet; + + if (!%chooseSet) + %pickGraphNode = true; + + //here we pick whether we choose a random map point, or a point based on an item... + if (getRandom() < 0.3) + %pickGraphNode = true; + + //here we decide whether we should choose a player location... a bit of a cheat but + //it's scaled by the bot skill level + %pickPlayerLocation = false; + %skill = %client.getSkillLevel(); + if (%skill < 1.0) + %skill = %skill / 2.0; + if (getRandom() < (%skill * %skill) && AIClientIsAlive(%client.objectiveTarget)) + { + %task.patrolLocation = %client.objectiveTarget.player.getWorldBoxCenter(); + %pickGraphNode = false; + %pickPlayerLocation = true; + } + + if (!%pickGraphNode && !%pickPlayerLocation) + { + %itemCount = %chooseSet.getCount(); + %item = %chooseSet.getObject(getRandom() * (%itemCount - 0.1)); + %nodeIndex = navGraph.randNode(%item.getWorldBoxCenter(), 10, true, true); + if (%nodeIndex <= 0) + %pickGraphNode = true; + else + %task.patrolLocation = navGraph.randNodeLoc(%nodeIndex); + } + + //see if we failed above or have to pick just a random spot on the graph - use the spawn points... + if (%pickGraphNode) + { + %task.patrolLocation = Game.pickPlayerSpawn(%client, true); + if (%task.patrolLocation == -1) + { + %client.stepIdle(%client.player.getWorldBoxCenter()); + return; + } + } + } + + //now that we have a new location - move towards it + %task.findLocation = false; + %client.stepMove(%task.patrolLocation, 8.0); + } + + //else we're on patrol - see if we're close to our destination + else + { + %client.stepMove(%task.patrolLocation, 8.0); + %distToDest = %client.getPathDistance(%task.patrolLocation); + if (%distToDest > 0 && %distToDest < 10) + { + %task.idleing = true; + %task.idleEndTime = 4000 + getSimTime() + (getRandom() * 6000); + %client.stepIdle(%client.player.getWorldBoxCenter()); + } + } +} + +function aiB() +{ + exec("scripts/aiBountyGame"); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/aiCTF.cs b/public/base/@vl2/scripts.vl2/scripts/aiCTF.cs new file mode 100644 index 00000000..2adc6ca3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiCTF.cs @@ -0,0 +1,97 @@ +//----------------------------------------------- +// AI functions for CTF + +function CTFGame::onAIRespawn(%game, %client) +{ + //add the default task + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AITauntCorpseTask); + %client.addtask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + } +} + +function CTFGame::AIInit(%game) +{ + // load external objectives files + loadObjectives(); + + for (%i = 1; %i <= %game.numTeams; %i++) + { + if (!isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i] = new AIObjectiveQ(); + MissionCleanup.add($ObjectiveQ[%i]); + } + + error("team " @ %i @ " objectives load..."); + $ObjectiveQ[%i].clear(); + AIInitObjectives(%i, %game); + } + + //call the default AIInit() function + AIInit(); +} + +function CTFGame::AIplayerCaptureFlipFlop(%game, %player, %flipFlop) +{ +} + +function CTFGame::AIplayerTouchEnemyFlag(%game, %player, %flag) +{ +} + +function CTFGame::AIplayerTouchOwnFlag(%game, %player, %flag) +{ +} + +function CTFGame::AIflagCap(%game, %player, %flag) +{ + //signal the flag cap event + AIRespondToEvent(%player.client, 'EnemyFlagCaptured', %player.client); + // MES - changed above line - did not pass args in correct order +} + +function CTFGame::AIplayerDroppedFlag(%game, %player, %flag) +{ +} + +function CTFGame::AIflagReset(%game, %flag) +{ +} + +function CTFGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team) + { + schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0); + + //clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob! + %clVictim.lastDamageClient = -1; + } +} + +function CTFGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clVictim.team != %clAttacker.team) + DefaultGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function CTFGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + DefaultGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function CTFGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim && !%clVictim.isAIControlled()) + { + // The Bot is only a little sorry: + if ( getRandom() > 0.9 ) + AIMessageThread("ChatSorry", %clAttacker, %clVictim); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/aiChat.cs b/public/base/@vl2/scripts.vl2/scripts/aiChat.cs new file mode 100644 index 00000000..0e5dafa8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiChat.cs @@ -0,0 +1,737 @@ +//------------------------------ +//AI Message functions + +function AIFindCommanderAI(%omitClient) +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + if (%client != %omitClient && AIClientIsAlive(%client) && %client.isAIControlled()) + return %client; + } + + //didn't find anyone + return -1; +} + +$AIMsgThreadId = 0; +$AIMsgThreadActive = false; + +$AIMsgThreadIndex = 0; +$AIMsgThreadDelay = 0; +$AIMsgThreadTable[0] = ""; + +function AIProcessMessageTable(%threadId) +{ + //make sure we're still on the same thread + if (%threadId != $AIMsgThreadId) + return; + + //get the speaker, the message, and the delay + %speaker = getWord($AIMsgThreadTable[$AIMsgThreadIndex], 0); + %msg = getWord($AIMsgThreadTable[$AIMsgThreadIndex], 1); + %delay = getWord($AIMsgThreadTable[$AIMsgThreadIndex], 2); + + //make sure the speaker is still alive + if (%speaker $= "" || ! AIClientIsAlive(%speaker, $AIMsgThreadDelay)) + AIEndMessageThread(%threadId); + else + { + //play the msg, schedule the next msg, and increment the index + %tag = addTaggedString( %msg ); + serverCmdCannedChat(%speaker, %tag, true); + removeTaggedString( %tag ); + schedule(%delay, 0, "AIProcessMessageTable", %threadId); + $AIMsgThreadDelay = %delay; + $AIMsgThreadIndex++; + } +} + +function AIEndMessageThread(%threadId) +{ + if (%threadId == $AIMsgThreadId) + $AIMsgThreadActive = false; +} + +function AIMessageThreadTemplate(%type, %msg, %clSpeaker, %clListener) +{ + //abort if AI chat has been disabled + if ($AIDisableChat) + return; + + //initialize the params + if (%clListener $= "") + %clListener = 0; + + //abort if we're already in a thread + if ($AIMsgThreadActive) + return; + + //initialize the new thread vars + $AIMsgThreadId++; + $AIMsgThreadActive = true; + $AIMsgThreadIndex = 0; + $AIMsgThreadTable[1] = ""; + + switch$ (%type) + { + case "DefendBase": + if (%clListener < 0) + %clListener = AIFindCommanderAI(%clSpeaker); + + if (%clListener > 0) + { + //we have two people, create a semi-random conversation: + %index = -1; + + //see if we issue a command first + if (getRandom() < 0.30) + { + //which version of "defend our base"? + %randNum = getRandom(); + if (%randNum < 0.33) + $AIMsgThreadTable[%index++] = %clListener @ " ChatCmdDefendBase " @ 1250; + else if (%randNum < 0.66) + $AIMsgThreadTable[%index++] = %clListener @ " ChatCmdDefendReinforce " @ 1500; + else + $AIMsgThreadTable[%index++] = %clListener @ " ChatCmdDefendEntrances " @ 1250; + + //do we acknowledge the command first? + if (getRandom() < 0.5) + { + if (getRandom() < 0.5) + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatCmdAcknowledged " @ 1500; + else + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatTeamYes " @ 1500; + } + } + + //the actual msg to be used + $AIMsgThreadTable[%index++] = %clSpeaker @ " " @ %msg @ " " @ 1750; + + //do we say "thanks"? + if (getRandom() < 0.3) + { + $AIMsgThreadTable[%index++] = %clListener @ " ChatTeamThanks " @ 1000; + + //do we say "you're welcom?" + if (getRandom() < 0.5) + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatWelcome " @ 1500; + } + + //end the thread + $AIMsgThreadTable[%index++] = ""; + } + else + { + //just stick with the original + $AIMsgThreadTable[0] = %clSpeaker @ " " @ %msg @ " " @ 1750; + } + + //now process the table + AIProcessMessageTable($AIMsgThreadId); + + case "AttackBase": + if (%clListener < 0) + %clListener = AIFindCommanderAI(%clSpeaker); + + if (%clListener > 0) + { + //we have two people, create a semi-random conversation: + %index = -1; + + //see if we issue a command first + if (getRandom() < 0.30) + { + //which version of "attack the enemy base"? + %randNum = getRandom(); + if (%randNum < 0.33) + $AIMsgThreadTable[%index++] = %clListener @ " ChatCmdAttack " @ 1250; + else if (%randNum < 0.66) + $AIMsgThreadTable[%index++] = %clListener @ " ChatCmdAttackBase " @ 1500; + else + $AIMsgThreadTable[%index++] = %clListener @ " ChatCmdAttackReinforce " @ 1250; + + //do we acknowledge the command first? + if (getRandom() < 0.5) + { + if (getRandom() < 0.5) + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatCmdAcknowledged " @ 1500; + else + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatTeamYes " @ 1500; + } + } + + //the actual msg to be used + $AIMsgThreadTable[%index++] = %clSpeaker @ " " @ %msg @ " " @ 1750; + + //do we say "thanks"? + if (getRandom() < 0.3) + { + $AIMsgThreadTable[%index++] = %clListener @ " ChatTeamThanks " @ 1000; + + //do we say "you're welcom?" + if (getRandom() < 0.5) + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatWelcome " @ 1500; + } + + //end the thread + $AIMsgThreadTable[%index++] = ""; + } + else + { + //just stick with the original + $AIMsgThreadTable[0] = %clSpeaker @ " " @ %msg @ " " @ 1750; + } + + //now process the table + AIProcessMessageTable($AIMsgThreadId); + + case "RepairBase": + if (%clListener < 0) + %clListener = AIFindCommanderAI(%clSpeaker); + + if (%clListener > 0) + { + //we have two people, create a semi-random conversation: + %index = -1; + + //see if we issue a command first + if (getRandom() < 0.30) + { + //which version of "repair"? + $AIMsgThreadTable[%index++] = %clListener @ " ChatRepairBase " @ 1250; + + //do we acknowledge the command first? + if (getRandom() < 0.5) + { + if (getRandom() < 0.5) + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatCmdAcknowledged " @ 1500; + else + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatTeamYes " @ 1500; + } + } + + //the actual msg to be used + $AIMsgThreadTable[%index++] = %clSpeaker @ " " @ %msg @ " " @ 1750; + + //do we say "thanks"? + if (getRandom() < 0.3) + { + $AIMsgThreadTable[%index++] = %clListener @ " ChatTeamThanks " @ 1000; + + //do we say "you're welcom?" + if (getRandom() < 0.5) + $AIMsgThreadTable[%index++] = %clSpeaker @ " ChatWelcome " @ 1500; + } + + //end the thread + $AIMsgThreadTable[%index++] = ""; + } + else + { + //just stick with the original + $AIMsgThreadTable[0] = %clSpeaker @ " " @ %msg @ " " @ 1750; + } + + //now process the table + AIProcessMessageTable($AIMsgThreadId); + } +} + +function AIMessageThread(%msg, %clSpeaker, %clListener, %force, %index, %threadId) +{ + //abort if AI chat has been disabled + if ($AIDisableChat) + return; + + //initialize the params + if (%index $= "") + %index = 0; + + if (%clListener $= "") + %clListener = 0; + + if (%force $= "") + %force = false; + + //if this is the initial call, see if we're already in a thread, and if we should force this one + if (%index == 0 && $AIMsgThreadActive && !%force) + { + error("DEBUG msg thread already in progress - aborting: " @ %msg @ " from client: " @ %clSpeaker); + return; + } + + //if this is an ongoing thread, make sure it wasn't pre-empted + if (%index > 0 && %threadId != $AIMsgThreadId) + return; + + //if this is a new thread, set a new thread id + if (%index == 0) + { + $AIMsgThreadId++; + $AIMsgThreadActive = true; + %threadId = $AIMsgThreadId; + } + switch$ (%msg) + { + //this is an example of how to use the chat system without using the table... + case "ChatHi": + serverCmdCannedChat(%clSpeaker, 'ChatHi', true); + %responsePending = false; + if (%index == 0) + { + if (%clListener < 0) + %clListener = AIFindCommanderAI(%clSpeaker); + if (%clListener > 0 && (getRandom() < 0.5)) + { + %responsePending = true; + schedule(1000, 0, "AIMessageThread", %msg, %clListener, 0, false, 1, %threadId); + } + } + if (! %responsePending) + schedule(1000, 0, "AIEndMessageThread", $AIMsgThreadId); + + //this method of using the chat system sets up a table instead... + //the equivalent is commented out below - same effect - table is much better. + case "ChatSelfDefendGenerator": + if (%index == 0) + { + //initialize the table + $AIMsgThreadIndex = 0; + $AIMsgThreadTable[1] = ""; + + %commander = AIFindCommanderAI(%clSpeaker); + if (%commander > 0) + { + $AIMsgThreadTable[0] = %commander @ " ChatCmdDefendBase " @ 1000; + $AIMsgThreadTable[1] = %clSpeaker @ " ChatCmdAcknowledged " @ 1250; + $AIMsgThreadTable[2] = %clSpeaker @ " " @ %msg @ " " @ 1000; + $AIMsgThreadTable[3] = ""; + } + else + $AIMsgThreadTable[0] = %clSpeaker @ " " @ %msg @ " " @ 1000; + + //now process the table + AIProcessMessageTable(%threadId); + } + +// case "ChatSelfDefendGenerator": +// %responsePending = false; +// if (%index == 0) +// { +// //find the commander +// %commander = AIFindCommanderAI(%clSpeaker); +// if (%commander > 0) +// { +// %responsePending = true; +// serverCmdCannedChat(%commander, "ChatCmdDefendBase", true); +// schedule("AIMessageThread(" @ %msg @ ", " @ %clSpeaker @ ", 0, 1, " @ %type @ ", false, " @ %threadId @ ");", 1000); +// } +// else +// serverCmdCannedChat(%commander, "ChatSelfDefendGenerator", true); +// } +// else if (%index == 1) +// { +// //make sure the client is still alive +// if (AIClientIsAlive(%clSpeaker, 1000)) +// { +// %responsePending = true; +// serverCmdCannedChat(%clSpeaker, "ChatCmdAcknowledged", true); +// schedule("AIMessageThread(" @ %msg @ ", " @ %clSpeaker @ ", 0, 2, " @ %type @ ", false, " @ %threadId @ ");", 1000); +// } +// else +// AIEndMessageThread($AIMsgThreadId); +// } +// else if (%index == 2) +// { +// //make sure the client is still alive +// if (AIClientIsAlive(%clSpeaker, 1000)) +// serverCmdCannedChat(%clSpeaker, "ChatSelfDefendGenerator", true); +// else +// AIEndMessageThread($AIMsgThreadId); +// } +// if (! %responsePending) +// schedule("AIEndMessageThread(" @ $AIMsgThreadId @ ");", 1000); + + default: + %tag = addTaggedString( %msg ); + serverCmdCannedChat( %clSpeaker, %tag, true ); + removeTaggedString( %tag ); // Don't keep incrementing the string ref count... + schedule( 1500, 0, "AIEndMessageThread", $AIMsgThreadId ); + } +} + +function AIPlay3DSound(%client, %sound) +{ + %player = %client.player; + if (!isObject(%player)) + return; + + playTargetAudio(%client.target, addTaggedString(%sound), AudioClosest3d, true); +} + +function AIPlayAnimSound(%client, %location, %sound, %minCel, %maxCel, %index) +{ + //make sure the client is still alive + if (! AIClientIsAlive(%client, 500)) + return; + + switch (%index) + { + case 0: + //if we can set the client's aim, we can also try the animation + if (%client.aimAt(%location, 2500)) + schedule(250, %client, "AIPlayAnimSound", %client, %location, %sound, %minCel, %maxCel, 1); + else + schedule(750, %client, "AIPlay3DSound", %client, %sound); + + case 1: + //play the animation and schedule the next phase + %randRange = %maxCel - %minCel + 1; + %celNum = %minCel + mFloor(getRandom() * (%randRange - 0.1)); + if (%celNum > 0) + %client.player.setActionThread("cel" @ %celNum); + schedule(500, %client, "AIPlayAnimSound", %client, %location, %sound, %minCel, %maxCel, 2); + + case 2: + //say 'hi' + AIPlay3DSound(%client, %sound); + } +} + +$AIAnimSalute = 1; +$AIAnimWave = 2; + +function AIRespondToEvent(%client, %eventTag, %targetClient) +{ + //record the event time + $EventTagTimeArray[%eventTag] = getSimTime(); + + //abort if AI chat has been disabled + if ($AIDisableChatResponse) + return; + + %clientPos = %client.player.getWorldBoxCenter(); + switch$ (%eventTag) + { + case 'ChatHi' or 'ChatAnimWave': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + %setHumanControl = false; + if (!%client.isAIControlled() && %client.controlAI != %targetClient) + %setHumanControl = aiAttemptHumanControl(%client, %targetClient); + if (%setHumanControl) + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.hi", $AIAnimSalute, $AIAnimSalute, 0); + else + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.hi", $AIAnimWave, $AIAnimWave, 0); + } + + case 'ChatBye' or 'ChatTeamDisembark' or 'ChatAnimBye': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.bye", $AIAnimWave, $AIAnimWave, 0); + + //see if we need to release the bot + if (aiHumanHasControl(%client, %targetClient)) + { + %objective = %targetClient.objective; + if (%objective.issuedByClientId == %client && %objective.targetClientId == %client && %objective.getName() $= "AIOEscortPlayer") + { + AIClearObjective(%objective); + %objective.delete(); + } + aiReleaseHumanControl(%client, %targetClient); + } + } + + case 'ChatTeamYes' or 'ChatGlobalYes' or 'ChatCheer' or 'ChatAnimDance': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + //choose the animation range + %minCel = 5; + %maxCel = 8; + if (getRandom() > 0.5) + %sound = "gbl.thanks"; + else + %sound = "gbl.awesome"; + schedule(500, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, %sound, %minCel, %maxCel, 0); + } + + case 'ChatAnimSalute': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + schedule(500, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.thanks", $AIAnimSalute, $AIAnimSalute, 0); + + case 'ChatAwesome' or 'ChatGoodGame' or 'ChatGreatShot' or 'ChatNice' or 'ChatYouRock' or 'ChatAnimSpec3': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + //choose the animation range + %minCel = 5; + %maxCel = 8; + if (getRandom() > 0.5) + %sound = "gbl.thanks"; + else + %sound = "gbl.yes"; + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, %sound, %minCel, %maxCel, 0); + } + + case 'ChatAww' or 'ChatObnoxious' or 'ChatSarcasm' or 'ChatAnimSpec1' or 'ChatAnimSpec2': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + if (%targetClient.controlByHuman == %client) + schedule(1500, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.oops", $AIAnimSalute, $AIAnimSalute, 0); + else + schedule(1500, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.quiet", -1, -1, 0); + } + + case 'ChatBrag' or 'ChatAnimGetSome': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + if (%targetClient.controlByHuman == %client) + schedule(1500, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.yes", $AIAnimSalute, $AIAnimSalute, 0); + else + schedule(1500, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.no", -1, -1, 0); + } + + case 'ChatAnimAnnoyed' or 'ChatMove': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + if (%targetClient.controlByHuman == %client) + { + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "vqk.sorry", $AIAnimSalute, $AIAnimSalute, 0); + %targetClient.schedule(2750, "setDangerLocation", %clientPos , 20); + } + else + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.no", -1, -1, 0); + } + + case 'ChatQuiet': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + if (%targetClient.controlByHuman == %client) + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.yes", $AIAnimSalute, $AIAnimSalute, 0); + else + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.no", -1, -1, 0); + } + + case 'ChatWait' or 'ChatShazbot': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + if (%targetClient.controlByHuman == %client) + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.yes", $AIAnimSalute, $AIAnimSalute, 0); + else + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.no", -1, -1, 0); + } + + case 'ChatLearn' or 'ChatIsBaseSecure': + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.dunno", -1, -1, 0); + + case 'ChatWelcome' or 'ChatSorry' or 'ChatAnyTime': + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.thanks", $AIAnimWave, $AIAnimWave, 0); + + case 'ChatDunno' or 'ChatDontKnow': + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.yes", -1, -1, 0); + + case 'ChatTeamNo' or 'ChatOops' or 'ChatGlobalNo': + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.shazbot", -1, -1, 0); + + case 'ChatTeamThanks' or 'ChatThanks': + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "vqk.anytime", $AIAnimWave, $AIAnimWave, 0); + + case 'ChatWarnShoot': + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "vqk.sorry", -1, -1, 0); + + case 'ChatCmdWhat': + //see if the weight for the escort is higher than what he might otherwise be doing + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + //first, find the chat message + %objective = %targetClient.objective; + if (%objective > 0) + { + if (%objective.chat) + %sound = getWord(%objective.chat, 0) @ "Sound"; + else + { + %type = %objective.getName(); + switch$ (%type) + { + case "AIOAttackLocation": + %sound = "att.base"; + case "AIOAttackObject": + if (%objective.targetObjectId > 0) + { + %objType = %objective.targetObjectId.getDataBlock().getName(); + switch$ (%objType) + { + case "GeneratorLarge": + %sound = "slf.att.generator"; + case "SensorLargePulse": + %sound = "slf.att.sensors"; + case "SensorMediumPulse": + %sound = "slf.att.sensors"; + case "TurretBaseLarge": + %sound = "slf.att.turrets"; + case "StationVehicle": + %sound = "slf.att.vehicle"; + default: + %sound = "slf.att.base"; + } + } + else + %sound = "slf.att.base"; + case "AIODefendLocation": + if (%objective.targetObjectId > 0) + { + %objType = %objective.targetObjectId.getDataBlock().getName(); + switch$ (%objType) + { + case "Flag": + %sound = "slf.def.flag"; + case "GeneratorLarge": + %sound = "slf.def.generator"; + case "SensorLargePulse": + %sound = "slf.def.sensors"; + case "SensorMediumPulse": + %sound = "slf.def.sensors"; + case "TurretBaseLarge": + %sound = "slf.def.turrets"; + case "StationVehicle": + %sound = "slf.def.vehicle"; + default: + %sound = "slf.def.base"; + } + } + else + %sound = "slf.def.defend"; + case "AIOAttackPlayer": + %sound = "slf.att.attack"; + case "AIOEscortPlayer": + %sound = "slf.def.defend"; + case "AIORepairObject": + if (%objective.targetObjectId > 0) + { + %objType = %objective.targetObjectId.getDataBlock().getName(); + switch$ (%objType) + { + case "GeneratorLarge": + %sound = "slf.rep.generator"; + case "SensorLargePulse": + %sound = "slf.rep.sensors"; + case "SensorMediumPulse": + %sound = "slf.rep.sensors"; + case "TurretBaseLarge": + %sound = "slf.rep.turrets"; + case "StationVehicle": + %sound = "slf.rep.vehicle"; + default: + %sound = "slf.rep.equipment"; + } + } + else + %sound = "slf.rep.base"; + case "AIOLazeObject": + %sound = "slf.att.base"; + case "AIOMortarObject": + if (%objective.targetObjectId > 0) + { + %objType = %objective.targetObjectId.getDataBlock().getName(); + switch$ (%objType) + { + case "GeneratorLarge": + %sound = "slf.att.generator"; + case "SensorLargePulse": + %sound = "slf.att.sensors"; + case "SensorMediumPulse": + %sound = "slf.att.sensors"; + case "TurretBaseLarge": + %sound = "slf.att.turrets"; + case "StationVehicle": + %sound = "slf.att.vehicle"; + default: + %sound = "slf.att.base"; + } + } + else + %sound = "slf.att.base"; + case "AIOTouchObject": + if (%objective.mode $= "FlagGrab") + %sound = "slf.att.flag"; + else if (%objective.mode $= "FlagCapture") + %sound = "flg.flag"; + else + %sound = "slf.att.base"; + + case "AIODeployEquipment": + %sound = "slf.tsk.defense"; + + default: + %sound = "gbl.dunno"; + } + } + } + else + %sound = "gbl.dunno"; + + //now that we have a sound, play it with the salute animation + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, %sound, 1, 1, 0); + } + + //these here are all "self" messages requiring a "thank you" + case 'ChatRepairBase' or 'ChatSelfAttack' or 'ChatSelfAttackBase' or 'ChatSelfAttackFlag' or 'ChatSelfAttackGenerator' or 'ChatSelfAttackSensors' or 'ChatSelfAttackTurrets' or 'ChatSelfAttackVehicle': + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.thanks", 1, 1, 0); + + case 'ChatSelfDefendBase' or 'ChatSelfDefend' or 'ChatSelfDefendFlag' or 'ChatSelfDefendGenerator' or 'ChatSelfDefendNexus' or 'ChatSelfDefendSensors' or 'ChatSelfDefendTurrets' or 'ChatSelfDefendVehicle': + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.thanks", 1, 1, 0); + + case 'ChatSelfRepairBase' or 'ChatSelfRepairEquipment' or 'ChatSelfRepairGenerator' or 'ChatSelfRepair' or 'ChatSelfRepairSensors' or 'ChatSelfRepairTurrets' or 'ChatSelfRepairVehicle': + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.thanks", 1, 1, 0); + + case 'ChatTaskCover' or 'ChatTaskSetupD' or 'ChatTaskOnIt' or 'ChatTaskSetupRemote' or 'ChatTaskSetupSensors' or 'ChatTaskSetupTurrets' or 'ChatTaskVehicle': + schedule(750, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "gbl.thanks", 1, 1, 0); + + case 'EnemyFlagCaptured': + //find all the clients within 100 m of the home flag, and get them all to cheer + %flagPos = %client.player.getWorldBoxCenter(); + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //make sure the client is alive, and on the same team + if (%cl.isAIControlled() && %cl.team == %client.team && AIClientIsAlive(%cl)) + { + //see if they're within 100 m + %distance = %cl.getPathDistance(%flagPos); + if (%distance > 0 && %distance < 100) + { + //choose the animation range + %minCel = 5; + %maxCel = 8; + %randTime = mFloor(getRandom() * 1500) + 1; + + //pick a random sound + if (getRandom() > 0.25) + %sound = "gbl.awesome"; + else if (getRandom() > 0.5) + %sound = "gbl.thanks"; + else if (getRandom() > 0.75) + %sound = "gbl.nice"; + else + %sound = "gbl.rock"; + schedule(%randTime, %cl, "AIPlayAnimSound", %cl, %flagPos, %sound, %minCel, %maxCel, 0); + } + } + } + + case 'ChatCmdHunterGiveFlags' or 'ChatCmdGiveMeFlag': + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + schedule(250, %targetClient, "AIPlayAnimSound", %targetClient, %clientPos, "cmd.acknowledge", $AIAnimSalute, $AIAnimSalute, 0); + schedule(750, %targetClient.player, "serverCmdThrowFlag", %targetClient); + } + + } +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/aiCnH.cs b/public/base/@vl2/scripts.vl2/scripts/aiCnH.cs new file mode 100644 index 00000000..1484ee2d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiCnH.cs @@ -0,0 +1,77 @@ +//----------------------------------------------- +// AI functions for Capture and Hold +function aicnh() +{ + exec("scripts/aiCnH.cs"); +} + +function CnHGame::AIInit(%game) +{ + for (%i = 1; %i <= %game.numTeams; %i++) + { + if (!isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i] = new AIObjectiveQ(); + MissionCleanup.add($ObjectiveQ[%i]); + } + + error("team " @ %i @ " objectives load..."); + $ObjectiveQ[%i].clear(); + AIInitObjectives(%i, %game); + } + + //call the default AIInit() function + AIInit(); +} + +function CnHGame::onAIRespawn(%game, %client) +{ + //add the default tasks + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AITauntCorpseTask); + %client.addTask(AIPatrolTask); + %client.addtask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + } +} + +function CnHGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team) + { + schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0); + + //clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob! + %clVictim.lastDamageClient = -1; + } +} + +function CnHGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clVictim.team != %clAttacker.team) + DefaultGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function CnHGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + DefaultGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function CnHGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim && !%clVictim.isAIControlled()) + { + // The Bot is only a little sorry: + if ( getRandom() > 0.9 ) + AIMessageThread("ChatSorry", %clAttacker, %clVictim); + } +} + +function CnHGame::AIplayerCaptureFlipFlop(%game, %player, %flipFlop) +{ +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/aiDeathMatch.cs b/public/base/@vl2/scripts.vl2/scripts/aiDeathMatch.cs new file mode 100644 index 00000000..1bd9a961 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiDeathMatch.cs @@ -0,0 +1,25 @@ +function DMGame::AIInit(%game) +{ + //call the default AIInit() function + AIInit(); +} + +function DMGame::onAIRespawn(%game, %client) +{ + //add the default task + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AIUseInventoryTask); + %client.addTask(AITauntCorpseTask); + %client.addTask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + %client.addTask(AIPatrolTask); + } + + //set the inv flag + %client.spawnUseInv = true; +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/aiDebug.cs b/public/base/@vl2/scripts.vl2/scripts/aiDebug.cs new file mode 100644 index 00000000..291d6a16 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiDebug.cs @@ -0,0 +1,1053 @@ +//------------------------------ +//AI Debugging functions + +function aics() +{ + aidebug(-1); + exec("scripts/ai.cs"); +} + +function ga(%pack) +{ + $testcheats = 1; + giveall(); + switch$ (%pack) + { + case "repair": + LocalClientConnection.player.setInventory(RepairPack, 1); + case "charge": + LocalClientConnection.player.setInventory(SatchelCharge, 1); + case "energy": + LocalClientConnection.player.setInventory(EnergyPack, 1); + case "cloak": + LocalClientConnection.player.setInventory(CloakingPack, 1); + case "shield": + LocalClientConnection.player.setInventory(ShieldPack, 1); + case "jammer": + LocalClientConnection.player.setInventory(SensorJammerPack, 1); + } +} + +function aiga(%client) +{ + $TestCheats = 1; + %player = %client.player; + %player.setInventory(RepairKit,999); + %player.setInventory(Mine,999); + %player.setInventory(MineAir,999); + %player.setInventory(MineLand,999); + %player.setInventory(MineSticky,999); + %player.setInventory(Grenade,999); + %player.setInventory(FlashGrenade,999); + %player.setInventory(FlareGrenade,999); + %player.setInventory(ConcussionGrenade,999); + %player.setInventory(CameraGrenade, 999); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(MissileLauncher, 1); + %player.setInventory(Mortar, 1); + %player.setInventory(MissileLauncherAmmo, 999); + %player.setInventory(GrenadeLauncherAmmo, 999); + %player.setInventory(MortarAmmo, 999); + %player.setInventory(PlasmaAmmo,999); + %player.setInventory(ChaingunAmmo, 999); + %player.setInventory(DiscAmmo, 999); + %player.setInventory(TargetingLaser, 1); + %player.setInventory(ELFGun, 1); + %player.setInventory(SniperRifle, 1); + %player.setInventory(ShockLance, 1); +} + +function aiCome(%from, %to) +{ + if (%to $= "") + %to = 2; + %from.player.setTransform(%to.player.getTransform()); +} + +function findBotWithInv(%item) +{ + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (isObject(%cl.player) && %cl.player.getInventory(%item)) + echo(%cl @ ":" SPC getTaggedString(%cl.name) SPC "has item" SPC %item); + } +} + +function listInv(%client) +{ + %player = %client.player; + %count = %player.getInventory(RepairKit); + if (%count > 0) + echo("RepairKit: " @ %count); + %count = %player.getInventory(Mine); + if (%count > 0) + echo("Mine: " @ %count); + %count = %player.getInventory(MineAir); + if (%count > 0) + echo("MineAir: " @ %count); + %count = %player.getInventory(MineLand); + if (%count > 0) + echo("MineLand: " @ %count); + %count = %player.getInventory(MineSticky); + if (%count > 0) + echo("MineSticky: " @ %count); + %count = %player.getInventory(Grenade); + if (%count > 0) + echo("Grenade: " @ %count); + %count = %player.getInventory(FlashGrenade); + if (%count > 0) + echo("FlashGrenade: " @ %count); + %count = %player.getInventory(FlareGrenade); + if (%count > 0) + echo("FlareGrenade: " @ %count); + %count = %player.getInventory(ConcussionGrenade); + if (%count > 0) + echo("ConcussionGrenade: " @ %count); + %count = %player.getInventory(CameraGrenade); + if (%count > 0) + echo("CameraGrenade: " @ %count); + %count = %player.getInventory(Blaster); + if (%count > 0) + echo("Blaster: " @ %count); + %count = %player.getInventory(Plasma); + if (%count > 0) + echo("Plasma: " @ %count); + %count = %player.getInventory(Disc); + if (%count > 0) + echo("Disc: " @ %count); + %count = %player.getInventory(Chaingun); + if (%count > 0) + echo("Chaingun: " @ %count); + %count = %player.getInventory(GrenadeLauncher); + if (%count > 0) + echo("GrenadeLauncher: " @ %count); + %count = %player.getInventory(MissileLauncher); + if (%count > 0) + echo("MissileLauncher: " @ %count); + %count = %player.getInventory(Mortar); + if (%count > 0) + echo("Mortar: " @ %count); + %count = %player.getInventory(MissileLauncherAmmo); + if (%count > 0) + echo("MissileLauncherAmmo: " @ %count); + %count = %player.getInventory(GrenadeLauncherAmmo); + if (%count > 0) + echo("GrenadeLauncherAmmo: " @ %count); + %count = %player.getInventory(MortarAmmo); + if (%count > 0) + echo("MortarAmmo: " @ %count); + %count = %player.getInventory(PlasmaAmmo); + if (%count > 0) + echo("PlasmaAmmo: " @ %count); + %count = %player.getInventory(ChaingunAmmo); + if (%count > 0) + echo("ChaingunAmmo: " @ %count); + %count = %player.getInventory(DiscAmmo); + if (%count > 0) + echo("DiscAmmo: " @ %count); + %count = %player.getInventory(TargetingLaser); + if (%count > 0) + echo("TargetingLaser: " @ %count); + %count = %player.getInventory(ELFGun); + if (%count > 0) + echo("ELFGun: " @ %count); + %count = %player.getInventory(SniperRifle); + if (%count > 0) + echo("SniperRifle: " @ %count); + %count = %player.getInventory(ShockLance); + if (%count > 0) + echo("ShockLance: " @ %count); + %count = %player.getInventory(RepairPack); + if (%count > 0) + echo("RepairPack: " @ %count); + %count = %player.getInventory(EnergyPack); + if (%count > 0) + echo("EnergyPack: " @ %count); + %count = %player.getInventory(ShieldPack); + if (%count > 0) + echo("ShieldPack: " @ %count); + %count = %player.getInventory(CloakingPack); + if (%count > 0) + echo("CloakingPack: " @ %count); + %count = %player.getInventory(SensorJammerPack); + if (%count > 0) + echo("SensorJammerPack: " @ %count); +} + +function createAIDebugDlg() +{ + if (!isObject("AIDebugViewProfile")) + { + new GuiControlProfile("AIDebugViewProfile") + { + fontType = "Arial Bold"; + fontSize = 12; + fontColor = "255 0 255"; + autoSizeWidth = false; + autoSizeHeight = false; + modal = "false"; + }; + + new GuiControl(aiDebugDlg) + { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + helpTag = "0"; + bypassHideCursor = "1"; + + new DebugView(aiDebug) + { + profile = "AIDebugViewProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "8 8"; + extent = "624 464"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + helpTag = "0"; + }; + }; + } +} + +function ToggleAIDebug(%make) +{ + if (%make) + { + if ($AIDebugActive) + { + Canvas.popDialog(aiDebugDlg); + $AIDebugActive = false; + } + else + { + createAIDebugDlg(); + Canvas.pushDialog(aiDebugDlg, 70); + $AIDebugActive = true; + + //make sure we're debuging the correct client + if (LocalClientConnection.getControlObject() == LocalClientConnection.camera) + { + if (isObject(LocalClientConnection.observeClient)) + aidebug(LocalClientConnection.observeClient); + } + } + } +} + +GlobalActionMap.bind(keyboard, "ctrl tilde", "ToggleAIDebug"); + +//function showFPS() +//{ +// if (isObject(aiDebug)) +// aiDebug.setText(0, "FPS:" SPC $fps::real SPC " $patch1Avg" SPC $Patch1Avg); +// schedule(1000, 0, "ShowFPS"); +//} + +function aiDebug(%client) +{ + if ($AIDebugTeam < 0 && $AIDebugClient < 0) + { + createAIDebugDlg(); + Canvas.pushDialog(aiDebugDlg, 70); + } + + $AIDebugClient = %client; + $AIDebugTeam = -1; + + if (%client > 0) + { + createAIDebugDlg(); + Canvas.pushDialog(aiDebugDlg, 70); + aiDebug.clearText(); + $AIDebugActive = true; + } + else + { + $AIDebugActive = false; + Canvas.popDialog(aiDebugDlg); + } +} + +function aiDebugText(%client, %line, %text) +{ + if (%client != $AIDebugClient) + return; + + aiDebug.setText(%line, %text); +} + +function aiDebugLine(%client, %startPt, %endPt, %color) +{ + if (%client != $AIDebugClient) + return; + + aiDebug.addLine(%startPt, %endPt, %color); +} + +function aiDebugClearLines(%client) +{ + if (%client != $AIDebugClient) + return; + + aiDebug.clearLines(); +} + +function aiGetTaskDesc(%client) +{ + if (!%client.isAIControlled()) + %returnStr = getTaggedString(%client.name) @ ": " @ "HUMAN"; + + else if (%client.objective > 0) + { + if (%client.objective.description !$= "") + %returnStr = %client @ " " @ getTaggedString(%client.name) @ ": " @ %client.objective.description; + else + %returnStr = %client @ " " @ getTaggedString(%client.name) @ ": " @ %client.objective @ " NO DESC"; + } + else + { + %curTask = %client.getTaskName(); + %curStep = %client.getStepName(); + if (%curTask !$= "") + %returnStr = %client @ " " @ getTaggedString(%client.name) @ ": " @ %curTask; + else if (%curStep !$= "") + %returnStr = %client @ " " @ getTaggedString(%client.name) @ ": " @ %curStep; + else + %returnStr = getTaggedString(%client.name) @ ": " @ "UNKNOWN"; + } + + //add in some color info + if (Game.numTeams != 2) + %color = "E"; + else if (%client.team == LocalClientConnection.team) + %color = "F"; + else + %color = "E"; + + return %color @ ":" @ %returnStr; +} + +$AIDebugTeam = -1; +$AIDebugClient = -1; +$AIDebugTasks = true; +Canvas.popDialog(aiDebugDlg); +$AIDebugActive = false; + +function aiEchoObjective(%objective, %lineNum, %group) +{ + %clientAssigned = false; + %indent = " "; + if (%group > 0) + { + %indent = " "; + if (%group.clientLevel[1] > 0 && %group.clientLevel[1].objective == %objective) + { + %assigned1 = getTaggedString(%group.clientLevel[1].name) @ ":" @ %group.clientLevel[1].objectiveWeight; + %clientAssigned = true; + } + else + %assigned1 = " "; + if (%group.clientLevel[2] > 0 && %group.clientLevel[2].objective == %objective) + { + %assigned2 = getTaggedString(%group.clientLevel[2].name); + %clientAssigned = true; + } + else + %assigned2 = " "; + } + else + { + if (%objective.clientLevel[1] > 0) + { + %assigned1 = getTaggedString(%objective.clientLevel[1].name) @ ":" @ %objective.clientLevel[1].objectiveWeight; + %clientAssigned = true; + } + else + %assigned1 = " "; + if (%objective.clientLevel[2] > 0) + { + %assigned2 = getTaggedString(%objective.clientLevel[2].name); + %clientAssigned = true; + } + else + %assigned2 = " "; + } + + %text = %indent @ %objective @ " " @ %objective.weightLevel1 @ " " @ %assigned1 @ " " @ %assigned2 @ " " @ %objective.description; + if (%clientAssigned) + %color = "0 0 1"; + else + %color = "1 0 1"; + aiDebug.setText(%lineNum, %text, %color); +} + +function aiDebugQ(%team, %showTasks) +{ + if ($AIDebugTeam < 0 && $AIDebugClient < 0) + { + createAIDebugDlg(); + Canvas.pushDialog(aiDebugDlg, 70); + $AIDebugActive = true; + } + + $AIDebugTeam = %team; + $AIDebugClient = -1; + + if ($AIDebugTeam < 0) + { + Canvas.popDialog(aiDebugDlg); + $AIDebugActive = false; + return; + } + + if (%showTasks $= "") + %showTasks = $AIDebugTasks; + else + $AIDebugTasks = %showTasks; + + aiDebug.clearText(); + + if (! %showTasks) + return; + + //make sure we have a valid objectiveQ + if (!isObject($ObjectiveQ[%team])) + return; + + %timeStamp = getSimTime(); + %lineNum = 1; + %count = $ObjectiveQ[%team].getCount(); + + //clear the time stamps from all groups + for (%i = 0; %i < %count; %i++) + { + %objective = $ObjectiveQ[%team].getObject(%i); + if (%objective.group > 0) + %objective.group.debugStamp = 0; + } + + //now loop through and echo out all the objectives... + for (%i = 0; %i < %count; %i++) + { + %objective = $ObjectiveQ[%team].getObject(%i); + + //if the objective is part of a group, echo out the entire group first + if (%objective.group > 0) + { + %group = %objective.group; + if (%group.debugStamp != %timeStamp) + { + %group.debugStamp = %timeStamp; + %grpCount = %group.getCount(); + + //first print out the group label + %text = %group @ " GROUP: " @ %group.getName(); + aiDebug.setText(%lineNum, %text); + %lineNum++; + + //now loop through and print out the grouped objectives in the order they appear in the main list + for (%j = 0; %j < %count; %j++) + { + //print them in the order they appear in the main list + %obj = $ObjectiveQ[%team].getObject(%j); + if (%obj.group == %group) + { + aiEchoObjective(%obj, %lineNum, %group); + %lineNum++; + } + } + } + } + + else + { + aiEchoObjective(%objective, %lineNum, 0); + %lineNum++; + } + } +} + +//------------------------------ + +function aioTest() +{ + //clear out the objective Q's + $ObjectiveQ[0].clear(); + $ObjectiveQ[1].clear(); + $ObjectiveQ[2].clear(); + + /////////////////////////////// + // team 1 objectives // + /////////////////////////////// +// %newObjective = new AIObjective(AIORepairObject) { +// position = "0 0 0"; +// rotation = "1 0 0 0"; +// scale = "1 1 1"; +// description = "Repair the generator"; +// targetObject = "Team0GeneratorLarge1"; +// targetClientId = "-1"; +// targetObjectId = nameToId("Team0GeneratorLarge1"); +// location = "0 0 0"; +// weightLevel1 = "3200"; +// weightLevel2 = "1600"; +// weightLevel3 = "0"; +// weightLevel4 = "0"; +// offense = "0"; +// defense = "1"; +// equipment = "RepairPack"; +// buyEquipmentSet = "HeavyRepairSet"; +// issuedByHuman = "0"; +// issuingClientId = "-1"; +// forceClientId = "-1"; +// locked = "0"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIODefendLocation) { +// position = "-178 -156 120"; +// rotation = "1 0 0 0"; +// scale = "1 1 1"; +// description = "Defend our generator"; +// targetObject = "Team0GeneratorLarge1"; +// targetClientId = "-1"; +// targetObjectId = "-1"; +// location = "-178 -156 120"; +// weightLevel1 = "3900"; +// weightLevel2 = "2000"; +// weightLevel3 = "0"; +// weightLevel4 = "0"; +// offense = "0"; +// defense = "1"; +// desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; +// buyEquipmentSet = "MediumShieldSet LightShieldSet HeavyShieldSet"; +// chat = ""; +// issuedByHuman = "0"; +// issuingClientId = "-1"; +// forceClientId = "-1"; +// locked = "1"; +// radius = "0"; +// team = "0"; +// }; +// $ObjectiveQ[0].add(%newObjective); + +// %newObjective = new AIObjective(AIODefendLocation) { +// position = "0 0 0"; +// rotation = "1 0 0 0"; +// scale = "1 1 1"; +// description = "Defend the generator"; +// targetObject = "Team0GeneratorLarge1"; +// targetClientId = "-1"; +// targetObjectId = nameToId("Team0GeneratorLarge1"); +// location = "0 0 0"; +// weightLevel1 = "3100"; +// weightLevel2 = "1500"; +// weightLevel3 = "0"; +// weightLevel4 = "0"; +// offense = "0"; +// defense = "1"; +// desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; +// buyEquipmentSet = "HeavyShieldSet"; +// issuedByHuman = "0"; +// issuingClientId = "-1"; +// forceClientId = "-1"; +// locked = "0"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIOAttackLocation) +// { +// weightLevel1 = 2000; +// description = "Sniper"; +// location = "50 218 95"; +// offense = true; +// defense = false; +// equipment = "SniperRifle EnergyPack"; +// buyEquipmentSet = "LightEnergySniper"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIOLazeObject) +// { +// weightLevel1 = 10000; +// description = "Laze the enemy turret"; +// targetObject = NameToId("Team1Turret"); +// targetClient = %client; //note, used to store the task requester +// offense = true; +// equipment = "TargetingLaser"; +// buyEquipmentSet = "LightEnergySniper"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIOMortarObject) +// { +// weightLevel1 = $AIWeightMortarTurret[1]; +// weightLevel2 = $AIWeightMortarTurret[2]; +// description = "Mortar the enemy turret"; +// targetObject = "Team1TurretBaseLarge1"; +// targetObjectId = nameToId("Team1TurretBaseLarge1"); +// location = ""; +// offense = true; +// defense = false; +// equipment = "Mortar MortarAmmo"; +// buyEquipmentSet = "HeavyShieldSet"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIORepairObject) +// { +// weightLevel1 = $AIWeightRepairTurret[1]; +// weightLevel2 = $AIWeightRepairTurret[2]; +// description = "Repair the turret"; +// targetObject = NameToId("Team0Turret"); +// location = ""; +// offense = false; +// defense = true; +// equipment = "RepairPack"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIOAttackObject) +// { +// weightLevel1 = $AIWeightAttackGenerator[1]; +// weightLevel2 = $AIWeightAttackGenerator[2]; +// description = "Attack the enemy generator"; +// targetObject = NameToId("Team1Generator"); +// location = ""; +// offense = true; +// defense = false; +// equipment = "plasma plasmaAmmo"; +// buyEquipmentSet = "HeavyShieldSet"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIORepairObject) +// { +// //weightLevel1 = $AIWeightRepairGenerator[1]; +// weightLevel1 = 10000; +// weightLevel2 = $AIWeightRepairGenerator[2]; +// description = "Repair the generator"; +// targetObject = NameToId("Team0Generator"); +// location = ""; +// offense = false; +// defense = true; +// equipment = "RepairPack"; +// }; +// $ObjectiveQ[0].add(%newObjective); +// +// %newObjective = new AIObjective(AIODefendLocation) +// { +// weightLevel1 = $AIWeightDefendGenerator[1]; +// weightLevel2 = $AIWeightDefendGenerator[2]; +// description = "Defend our generator"; +// //targetObject = NameToId("Team0Generator"); +// location = "-20 -292 46"; +// offense = false; +// defense = true; +// }; +// $ObjectiveQ[0].add(%newObjective); +// %newObjective = new AIObjective(AIOEscortPlayer) +// { +// weightLevel1 = $AIWeightEscortOffense[1]; +// weightLevel2 = $AIWeightEscortOffense[2]; +// targetClientId = 2; +// description = "Escort " @ getTaggedString(LocalClientConnection.name); +// offense = true; +// desiredEquipment = "EnergyPack"; +// buyEquipmentSet = "LightEnergyELF"; +// }; +// $ObjectiveQ[1].add(%newObjective); + + /////////////////////////////// + // team 2 objectives // + /////////////////////////////// +// %newObjective = new AIObjective(AIODefendLocation) { +// position = "196 461 181"; +// rotation = "1 0 0 0"; +// scale = "1 1 1"; +// description = "Missile defense"; +// targetObject = ""; +// targetClientId = "-1"; +// targetObjectId = "-1"; +// location = "196 461 181"; +// weightLevel1 = "3900"; +// weightLevel2 = "2000"; +// weightLevel3 = "0"; +// weightLevel4 = "0"; +// offense = "0"; +// defense = "1"; +// equipment = "MissileLauncher"; +// buyEquipmentSet = "MediumMissileSet HeavyMissileSet"; +// chat = ""; +// issuedByHuman = "0"; +// issuingClientId = "-1"; +// forceClientId = "-1"; +// locked = "1"; +// radius = "0"; +// team = "0"; +// }; +// $ObjectiveQ[2].add(%newObjective); +// +// %newObjective = new AIObjective(AIOAttackLocation) +// { +// weightLevel1 = 12000; +// description = "Sniper"; +// location = "-164 381 134"; +// offense = true; +// defense = false; +// equipment = "SniperRifle EnergyPack"; +// buyEquipmentSet = "LightEnergySniper"; +// }; +// $ObjectiveQ[2].add(%newObjective); +} + +function aiGo(%count) +{ + %offense = true; + for (%i = 0; %i < %count; %i++) + { + aiConnect(friendly @ %i, 1, 0.5, %offense); + aiConnect(enemy @ %i, 2, 0.5, %offense); + %offense = !%offense; + } +} + +function addBots(%count) +{ + if(%count > 0) + { + %count++; + while(%count--) + aiConnect("dude " @ %count); + } +} + +function aiGoTest(%count, %team) +{ + if (%team <= 0) + %team = 1; + + %offense = false; + for (%i = 0; %i < %count; %i++) + { + if (%offense) + aiConnect(Offense @ %i, %team, 0.5, true); + else + aiConnect(Defense @ %i, %team, 0.5, false); + + %offense = !%offense; + } +} + +//------------------------------ + +function aiTest() +{ + //find/create an enemy + %count = ClientGroup.getCount(); + if (%count <= 1) + { + %enemyCl = aiConnect(test, 1, 0.5, false); + } + else + %enemyCl = ClientGroup.getObject(1); + + //create the objective + if (! $testObjective) + { + $testObjective = new AIObjective(AIOAttackPlayer) + { + weightLevel1 = 10000; + description = "Attack the human!"; + targetClient = nameToId(LocalClientConnection); + location = ""; + offense = true; + defense = true; + }; + MissionCleanup.add($testObjective); + } + + //set the enemy inventory + %enemyPl = %enemyCl.player; + %enemyPl.setInventory(RepairKit,1); + %enemyPl.setInventory(Grenade,5); + //%enemyPl.setInventory(Blaster,1); + //%enemyPl.setInventory(Plasma,1); + %enemyPl.setInventory(Disc,1); + %enemyPl.setInventory(Chaingun, 1); + %enemyPl.setInventory(GrenadeLauncher, 1); + //%enemyPl.setInventory(Mortar, 1); + %enemyPl.setInventory(ChaingunAmmo, 100); + %enemyPl.setInventory(DiscAmmo, 15); + %enemyPl.setInventory(PlasmaAmmo,20); + %enemyPl.setInventory(GrenadeLauncherAmmo, 10); + %enemyPl.setInventory(MortarAmmo, 10); + + %enemyPl.setDamageLevel(0.0); + + //set the target inventory + %targetCl = 2; + %targetPl = %targetCl.player; + %targetPl.setInventory(RepairKit,1); + %targetPl.setInventory(Grenade,5); + //%targetPl.setInventory(Blaster,1); + //%targetPl.setInventory(Plasma,1); + %targetPl.setInventory(Disc,1); + %targetPl.setInventory(Chaingun, 1); + %targetPl.setInventory(GrenadeLauncher, 1); + //%targetPl.setInventory(Mortar, 1); + %targetPl.setInventory(ChaingunAmmo, 100); + %targetPl.setInventory(DiscAmmo, 15); + %targetPl.setInventory(PlasmaAmmo,20); + %targetPl.setInventory(GrenadeLauncherAmmo, 10); + %targetPl.setInventory(MortarAmmo, 10); + %targetPl.setDamageLevel(0.0); + + //now force the attack objective + AIForceObjective(%enemyCl, $testObjective); + %enemyCl.stepEngage(2); +} + +function aibump() +{ + %t1 = "-348 -470 142 0 0 1 0"; + %t2 = "-347 -453 142 0 0 1 3.14"; + + %t3 = "-348 -462 142 0 0 1 0"; + 2.player.setTransform(%t3); + + 3.player.setTransform(%t1); + 4.player.setTransform(%t2); + + 3.stepMove(%t2, 0.1); + 4.stepMove(%t1, 0.1); +} + +function aibump2() +{ + %t1 = "-345.082 -464.229 142 0 0 1 0"; + %t2 = "-347 -453 142 0 0 1 3.14"; + %t3 = "-347.22 -463.439 142 0 0 1 1.89"; + 2.player.setTransform(%t3); + + 3.player.setTransform(%t1); + 3.stepMove(%t2, 0.1); +} + +function aiTestDeploys(%client, %objective) +{ + //if we're just starting the test, unassign the client + if (!isObject(%objective)) + { + error("DEBUG begin testing deploy objectives!"); + $AITestDeployObjective = -1; + aiUnassignClient(%client); + } + + //if the client isn't still on the test objective, choose the next one + if (%client.objective != $AITestDeployObjective) + { + //if there's a corresponding "repairObjective" for the deploy, then the deploy succeeded + if (isobject($AITestDeployObjective)) + { + if (!isObject($AITestDeployObjective.repairObjective)) + $AITestDeployObjective.isInvalid = true; + } + + //loop through all the objectives, looking for next deploy ones... + %foundCurrent = !isObject($AITestDeployObjective); + %nextObjective = -1; + %found = false; + %count = $ObjectiveQ[%client.team].getCount(); + for (%i = 0; %i < %count && !%found; %i++) + { + %obj = $ObjectiveQ[%client.team].getObject(%i); + + //see if the objective is a group... + if (%obj.getClassName() !$= "AIObjective") + { + %grpCount = %obj.getCount(); + for (%j = 0; %j < %grpCount && !%found; %j++) + { + %grpObj = %obj.getObject(%j); + if (%grpObj.getName() $= "AIODeployEquipment") + { + if (%foundCurrent) + { + %nextObjective = %grpObj; + %found = true; + } + else if (%grpObj == $AITestDeployObjective) + %foundCurrent = true; + } + } + } + else if (%obj.getName() $= "AIODeployEquipment") + { + //see if this is the next one + if (%foundCurrent) + { + %nextObjective = %obj; + %found = true; + } + else if (%obj == $AITestDeployObjective) + %foundCurrent = true; + } + } + + if (isObject(%nextObjective)) + { + //kill all the turrets for your team... + while (isObject($AIRemoteTurretSet.getObject(0))) + $AIRemoteTurretSet.getObject(0).delete(); + + //remove any associated repairobjective from this deploy + if (isObject(%nextObjective.repairObjective)) + { + AIClearObjective(%nextObjective.repairObjective); + %nextObjective.repairObjective.delete(); + %nextObjective.repairObjective = ""; + } + + //assign the bot to the objective... + error("DEBUG testing objective:" SPC %nextObjective); + $AITestDeployObjective = %nextObjective; + AIUnassignClient(%client); + AIForceObjective(%client, $AITestDeployObjective, 10000); + } + else + { + error("DEBUG testing of deploy objectives is complete:"); + %count = $ObjectiveQ[%client.team].getCount(); + for (%i = 0; %i < %count && !%found; %i++) + { + %obj = $ObjectiveQ[%client.team].getObject(%i); + + //see if the objective is a group... + if (%obj.getClassName() !$= "AIObjective") + { + %grpCount = %obj.getCount(); + for (%j = 0; %j < %grpCount && !%found; %j++) + { + %grpObj = %obj.getObject(%j); + if (%grpObj.getName() $= "AIODeployEquipment") + { + if (%grpObj.isInvalid) + error(%grpObj SPC "is invalid."); + else + error(%grpObj SPC "passed."); + } + } + } + else if (%obj.getName() $= "AIODeployEquipment") + { + if (%obj.isInvalid) + error(%obj SPC "is invalid."); + else + error(%obj SPC "passed."); + } + } + return; + } + } + + //schedule the next call to see if we're still deploying... + schedule(2000, %client.player, "aiTestDeploys", %client, $AITestDeployObjective); +} + +//----------------------------------------------------------------------------- +//AI test pilot task +$TestPilotHeadings[0] = "203 -59 120"; +$TestPilotHeadings[1] = "52 10 120"; +$TestPilotHeadings[2] = "-112 125 120"; +$TestPilotHeadings[3] = "-195 219 120"; +$TestPilotHeadings[4] = "-198 323 120"; +$TestPilotHeadings[5] = "-38 423 120"; +$TestPilotHeadings[6] = "84 445 120"; +$TestPilotHeadings[7] = "290 382 120"; +$TestPilotHeadings[8] = "385 259 120"; +$TestPilotHeadings[9] = "255 6 120"; +$TestPilotHeadings[10] = "219 -49 120"; +$TestPilotHeadings[11] = "222 -168 120"; + +function AITestPilot::assume(%task, %client) +{ + %task.setWeightFreq(30); + %task.setMonitorFreq(10); + + //first, make sure the pilot is in light, and doesn't have an backpacks... + %client.player.throwPack(); + %client.player.setArmor(Light); + + //next, start the pilot on his way to mounting the vehicle + %client.pilotVehicle = true; + %client.stepMove(%task.vehicle.position, 0.25, $AIModeMountVehicle); + + %task.locationIndex = -1; +} + +function AITestPilot::weight(%task, %client) +{ + %task.setWeight(10000); +} + +function AITestPilot::monitor(%task, %client) +{ + //see if we've mounted yet + if (%task.locationIndex == -1) + { + //mount the vehicle + %client.pilotVehicle = true; + %client.stepMove(%task.vehicle.position, 0.25, $AIModeMountVehicle); + + if (isObject(%client.vehicleMounted)) + { + %task.locationIndex++; + %client.setPilotDestination($TestPilotHeadings[%task.locationIndex]); + } + } + + //else see if we're close enough to the current destination to choose the next + else + { + %pos = %client.vehicleMounted.position; + %pos2D = getWord(%pos, 0) SPC getWord(%pos, 1) SPC "0"; + %dest = $TestPilotHeadings[%task.locationIndex]; + %dest2D = getWord(%dest, 0) SPC getWord(%dest, 1) SPC "0"; + + if (VectorDist(%dest2D, %pos2D) < 20) + { + if ($TestPilotHeadings[%task.locationIndex + 1] !$= "") + { + %task.locationIndex++; + %client.setPilotDestination($TestPilotHeadings[%task.locationIndex]); + } + else + %client.setPilotAim($TestPilotHeadings[0]); + } + } +} + +function testPilot(%client, %vehicle) +{ + %client.clearTasks(); + + if (%vehicle $= "") + %vehicle = LocalClientConnection.vehicleMounted; + + %client.pilotTask = %client.addTask(AITestPilot); + %client.pilotTask.vehicle = %vehicle; +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/aiDefaultTasks.cs b/public/base/@vl2/scripts.vl2/scripts/aiDefaultTasks.cs new file mode 100644 index 00000000..6224ffa2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiDefaultTasks.cs @@ -0,0 +1,1028 @@ +//All tasks for deathmatch, hunters, and tasks that coincide with the current objective task live here... + +//Weights for tasks that override the objective task: must be between 4300 and 4700 +$AIWeightVehicleMountedEscort = 4700; +$AIWeightReturnTurretFire = 4675; +$AIWeightNeedItemBadly = 4650; +$AIWeightReturnFire = 4600; +$AIWeightDetectMine = 4500; +$AIWeightTauntVictim = 4400; +$AIWeightNeedItem = 4350; +$AIWeightDestroyTurret = 4300; + +//Weights that allow the objective task to continue: must be 3000 or less +$AIWeightFoundEnemy = 3000; +$AIWeightFoundItem = 2500; +$AIWeightFoundToughEnemy = 1000; +$AIWeightPatrolling = 2000; + +//Hunters weights... +$AIHuntersWeightMustCap = 4690; +$AIHuntersWeightNeedHealth = 4625; +$AIHuntersWeightShouldCap = 4425; +$AIHuntersWeightMustEngage = 4450; +$AIHuntersWeightShouldEngage = 4325; +$AIHuntersWeightPickupFlag = 4425; + +//Rabbit weights... +$AIRabbitWeightDefault = 4625; +$AIRabbitWeightNeedInv = 4325; + +//Bounty weights... +$AIBountyWeightShouldEngage = 4325; + +//----------------------------------------------------------------------------- +//AIEngageTask is responsible for anything to do with engaging an enemy + +function AIEngageWhoWillWin(%client1, %client2) +{ + //assume both clients are alive - gather some info + if (%client1.isAIControlled()) + %skill1 = %client1.getSkillLevel(); + else + %skill1 = 0.5; + + if (%client2.isAIControlled()) + %skill2 = %client2.getSkillLevel(); + else + %skill2 = 0.5; + + %damage1 = %client1.player.getDamagePercent(); + %damage2 = %client2.player.getDamagePercent(); + + //first compare health + %tolerance1 = 0.5 + ((%skill1 - %skill2) * 0.3); + %tolerance2 = 0.5 + ((%skill2 - %skill1) * 0.3); + if (%damage1 - %damage2 > %tolerance1) + return %client2; + else if (%damage2 - %damage1 > %tolerance2) + return %client1; + + //health not a problem, see how the equipment compares for the two... + %weaponry1 = AIEngageWeaponRating(%client1); + %weaponry2 = AIEngageWeaponRating(%client2); + %effective = 20; + if (%weaponry1 < %effective && %weaponry2 >= %effective) + return %client2; + else if (%weaponry1 >= %effective && %weaponry2 < %effective) + return %client1; + + //no other criteria for now... return -1 to indicate a tie... + return -1; +} + +function AIEngageTask::init(%task, %client) +{ +} + +function AIEngageTask::assume(%task, %client) +{ + %task.setWeightFreq(9); + %task.setMonitorFreq(9); + %task.searching = false; + if (isObject(%client.shouldEngage.player)) + %task.searchLocation = %client.shouldEngage.player.getWorldBoxCenter(); +} + +function AIEngageTask::retire(%task, %client) +{ +} + +function AIEngageTask::weight(%task, %client) +{ + %player = %client.player; + if (!isObject(%player)) + return; + + %clientPos = %player.getWorldBoxCenter(); + %currentTarget = %client.shouldEngage; + if (!AIClientIsAlive(%currentTarget)) + %currentTarget = %client.getEngageTarget(); + %client.shouldEngage = -1; + %mustEngage = false; + %tougherEnemy = false; + + //first, make sure we actually can engage + if (AIEngageOutOfAmmo(%client)) + { + %client.shouldEngage = -1; + %task.setWeight(0); + return; + } + + //see if anyone has fired on us recently... + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + if (AIClientIsAlive(%client.lastDamageClient, %losTimeout) && getSimTime() - %client.lastDamageTime < %losTimeout) + { + //see if we should turn on the new attacker + if (AIClientIsAlive(%currentTarget)) + { + %targPos = %currentTarget.player.getWorldBoxCenter(); + %curTargDist = %client.getPathDistance(%targPos); + + %newTargPos = %client.lastDamageClient.player.getWorldBoxCenter(); + %newTargDist = %client.getPathDistance(%newTargPos); + + //see if the new targ is no more than 30 m further + if (%newTargDist > 0 && %newTargDist < %curTargDist + 30) + { + %client.shouldEngage = %client.lastDamageClient; + %mustEngage = true; + } + } + else + { + %client.shouldEngage = %client.lastDamageClient; + %mustEngage = true; + } + } + + //no one has fired at us recently, see if we're near an enemy + else + { + %result = AIFindClosestEnemy(%client, 100, %losTimeout); + %closestEnemy = getWord(%result, 0); + %closestdist = getWord(%result, 1); + if (%closestEnemy > 0) + { + //see if we're right on top of them + %targPos = %closestEnemy.player.getWorldBoxCenter(); + %dist = %client.getPathDistance(%targPos); + + if (%dist > 0 && %dist < 20) + { + %client.shouldEngage = %closestEnemy; + %mustEngage = true; + } + + //else choose them only if we're not already attacking someone + else if (%currentTarget <= 0) + { + %client.shouldEngage = %closestEnemy; + %mustEngage = false; + + //Make sure the odds are not overwhelmingly in favor of the enemy... + if (AIEngageWhoWillWin(%client, %closestEnemy) == %closestEnemy) + %tougherEnemy = true; + } + } + } + + //if we still haven't found a new target, keep fighting the old one + if (%client.shouldEngage <= 0) + { + if (AIClientIsAlive(%currentTarget)) + { + //see if we still have sight of the current target + %hasLOS = %client.hasLOSToClient(%currentTarget); + %losTime = %client.getClientLOSTime(%currentTarget); + if (%hasLOS || %losTime < %losTimeout) + %client.shouldEngage = %currentTarget; + else + %client.shouldEngage = -1; + } + else + %client.shouldEngage = -1; + %mustEngage = false; + } + + //finally, set the weight + if (%client.shouldEngage > 0) + { + if (%mustEngage) + %task.setWeight($AIWeightReturnFire); + else if (%tougherEnemy) + %task.setWeight($AIWeightFoundToughEnemy); + else + %task.setWeight($AIWeightFoundEnemy); + } + else + %task.setWeight(0); +} + +function AIEngageTask::monitor(%task, %client) +{ + if (!AIClientIsAlive(%client.shouldEngage)) + { + %client.stop(); + %client.clearStep(); + %client.setEngageTarget(-1); + return; + } + + %hasLOS = %client.hasLOSToClient(%client.shouldEngage); + %losTime = %client.getClientLOSTime(%client.shouldEngage); + //%detectLocation = %client.getDetectLocation(%client.shouldEngage); + %detectPeriod = %client.getDetectPeriod(); + + //if we can see the target, engage... + if (%hasLOS || %losTime < %detectPeriod) + { + %client.stepEngage(%client.shouldEngage); + %task.searching = false; + %task.searchLocation = %client.shouldEngage.player.getWorldBoxCenter(); + } + + //else if we haven't for approx 5 sec... move to the last known location + else + { + //clear the engage target + %client.setEngageTarget(-1); + + if (! %task.searching) + { + %dist = VectorDist(%client.player.getWorldBoxCenter(), %task.searchLocation); + if (%dist < 4) + { + %client.stepIdle(%task.searchLocation); + %task.searching = true; + } + else + %client.stepMove(%task.searchLocation, 4.0); + } + } +} + +//----------------------------------------------------------------------------- +//AIPickupItemTask is responsible for anything to do with picking up an item + +function AIPickupItemTask::init(%task, %client) +{ +} + +function AIPickupItemTask::assume(%task, %client) +{ + %task.setWeightFreq(10); + %task.setMonitorFreq(10); + + %task.pickUpItem = -1; +} + +function AIPickupItemTask::retire(%task, %client) +{ +} + +function AIPickupItemTask::weight(%task, %client) +{ + //if we're already picking up an item, make sure it's still valid, then keep the weight the same... + if (%task.pickupItem > 0) + { + if (isObject(%task.pickupItem) && !%task.pickupItem.isHidden() && AICouldUseItem(%client, %task.pickupItem)) + return; + else + %task.pickupItem = -1; + } + + //otherwise, search for objects + //first, see if we can pick up health + %player = %client.player; + if (!isObject(%player)) + return; + + %damage = %player.getDamagePercent(); + %healthRad = %damage * 100; + %closestHealth = -1; + %closestHealthDist = %healthRad; + %closestHealthLOS = false; + %closestItem = -1; + %closestItemDist = 32767; + %closestItemLOS = false; + + //loop through the item list, looking for things to pick up + %itemCount = $AIItemSet.getCount(); + for (%i = 0; %i < %itemCount; %i++) + { + %item = $AIItemSet.getObject(%i); + if (!%item.isHidden()) + { + %dist = %client.getPathDistance(%item.getWorldBoxCenter()); + if (((%item.getDataBlock().getName() $= "RepairKit" || %item.getDataBlock().getName() $= "RepairPatch") || + (%item.isCorpse && %item.getInventory("RepairKit") > 0)) && + %player.getInventory("RepairKit") <= 0 && %damage > 0.3) + { + if (%dist > 0 && %dist < %closestHealthDist) + { + %closestHealth = %item; + %closestHealthDist = %dist; + + //check for LOS + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType; + %closestHealthLOS = !containerRayCast(%client.player.getWorldBoxCenter(), %item.getWorldBoxCenter(), %mask, 0); + } + } + else + { + //only pick up stuff within 35m + if (%dist < 35) + { + if (AICouldUseItem(%client, %item)) + { + if (%dist < %closestItemDist) + { + %closestItem = %item; + %closestItemDist = %dist; + + //check for LOS + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType; + %closestItemLOS = !containerRayCast(%client.player.getWorldBoxCenter(), %item.getWorldBoxCenter(), %mask, 0); + } + } + } + } + } + } + + //now set the weight + if (%closestHealth > 0) + { + //only choose an item if it's at least 25 m closer than health... + //and we're not engageing someone or not that badly in need + %currentTarget = %client.getEngageTarget(); + if (%closestItem > 0 && %closetItemDist < %closestHealthDist - 25 && (%damage < 0.6 || %currentTarget <= 0) && %closestItemLOS) + { + %task.pickupItem = %closestItem; + if (AIEngageWeaponRating(%client) < 20) + %task.setWeight($AIWeightNeedItemBadly); + else if (%closestItemDist < 10 && %closestItemLOS) + %task.setWeight($AIWeightNeedItem); + else if (%closestItemLOS) + %task.setWeight($AIWeightFoundItem); + else + %task.setWeight(0); + } + else + { + if (%damage > 0.8) + { + %task.pickupItem = %closestHealth; + %task.setWeight($AIWeightNeedItemBadly); + } + else if (%closestHealthLOS) + { + %task.pickupItem = %closestHealth; + %task.setWeight($AIWeightNeedItem); + } + else + %task.setWeight(0); + } + } + else if (%closestItem > 0) + { + %task.pickupItem = %closestItem; + if (AIEngageWeaponRating(%client) < 20) + %task.setWeight($AIWeightNeedItemBadly); + else if (%closestItemDist < 10 && %closestItemLOS) + %task.setWeight($AIWeightNeedItem); + else if (%closestItemLOS) + %task.setWeight($AIWeightFoundItem); + else + %task.setWeight(0); + } + else + %task.setWeight(0); +} + +function AIPickupItemTask::monitor(%task, %client) +{ + //move to the pickup location + if (isObject(%task.pickupItem)) + %client.stepMove(%task.pickupItem.getWorldBoxCenter(), 0.25); + + //this call works in conjunction with AIEngageTask + %client.setEngageTarget(%client.shouldEngage); +} + +//----------------------------------------------------------------------------- +//AIUseInventoryTask will cause them to use an inv station if they're low +//on ammo. This task should be used only for DM and Hunters - most objectives +//have their own logic for when to use an inv station... + +function AIUseInventoryTask::init(%task, %client) +{ +} + +function AIUseInventoryTask::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(5); + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AIUseInventoryTask::retire(%task, %client) +{ + //reset the state machine time stamp... + %task.buyInvTime = getSimTime(); +} + +function AIUseInventoryTask::weight(%task, %client) +{ + //first, see if we can pick up health + %player = %client.player; + if (!isObject(%player)) + return; + + %damage = %player.getDamagePercent(); + %weaponry = AIEngageWeaponRating(%client); + + //if there's an inv station, and we haven't used an inv station since we + //spawned, the bot should use an inv once regardless + if (%client.spawnUseInv) + { + //see if we're already heading there + if (%client.buyInvTime != %task.buyInvTime) + { + //see if there's an inventory we can use + %result = AIFindClosestInventory(%client, false); + %closestInv = getWord(%result, 0); + if (isObject(%closestInv)) + { + %task.setWeight($AIWeightNeedItem); + return; + } + else + %client.spawnUseInv = false; + } + else + { + %task.setWeight($AIWeightNeedItem); + return; + } + } + + //first, see if we need equipment or health + if (%damage < 0.3 && %weaponry >= 40) + { + %task.setWeight(0); + return; + } + + //don't use inv stations if we're not that badly damaged, and we're in the middle of a fight + if (%damage < 0.6 && %client.getEngageTarget() > 0 && !AIEngageOutOfAmmo(%client)) + { + %task.setWeight(0); + return; + } + + //if we're already buying, continue + if (%task.buyInvTime == %client.buyInvTime) + { + //set the weight - if our damage is above 0.8 or our we're out of ammo + if (%damage > 0.8 || AIEngageOutOfAmmo(%client)) + %task.setWeight($AIWeightNeedItemBadly); + else + %task.setWeight($AIWeightNeedItem); + return; + } + + //we need to search for an inv station near us... + %result = AIFindClosestInventory(%client, false); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + + //only use inv stations if we're right near them... patrolTask will get us nearer if required + if (%closestDist > 35) + { + %task.setWeight(0); + return; + } + + //set the weight... + %task.closestInv = %closestInv; + if (%damage > 0.8 || AIEngageOutOfAmmo(%client)) + %task.setWeight($AIWeightNeedItemBadly); + else if (%closestDist < 20 && (AIEngageWeaponRating(%client) <= 30 || %damage > 0.4)) + %task.setWeight($AIWeightNeedItem); + else if (%hasLOS) + %task.setWeight($AIWeightFoundItem); + else + %task.setWeight(0); +} + +function AIUseInventoryTask::monitor(%task, %client) +{ + //make sure we still need equipment + %player = %client.player; + if (!isObject(%player)) + return; + + %damage = %player.getDamagePercent(); + %weaponry = AIEngageWeaponRating(%client); + if (%damage < 0.3 && %weaponry >= 40 && !%client.spawnUseInv) + { + %task.buyInvTime = getSimTime(); + return; + } + + //pick a random set based on armor... + %randNum = getRandom(); + if (%randNum < 0.4) + %buySet = "LightEnergyDefault MediumEnergySet HeavyEnergySet"; + else if (%randNum < 0.6) + %buySet = "LightShieldSet MediumShieldSet HeavyShieldSet"; + else if (%randNum < 0.8) + %buySet = "LightEnergyELF MediumRepairSet HeavyAmmoSet"; + else + %buySet = "LightEnergySniper MediumEnergySet HeavyEnergySet"; + + //process the inv buying state machine + %result = AIBuyInventory(%client, "", %buySet, %task.buyInvTime); + + //if we succeeded, reset the spawn flag + if (%result $= "Finished") + %client.spawnUseInv = false; + + //if we succeeded or failed, reset the state machine... + if (%result !$= "InProgress") + %task.buyInvTime = getSimTime(); + + + //this call works in conjunction with AIEngageTask + %client.setEngageTarget(%client.shouldEngage); +} + +//----------------------------------------------------------------------------- +//AITauntCorpseTask is should happen only after an enemy is freshly killed + +function AITauntCorpseTask::init(%task, %client) +{ +} + +function AITauntCorpseTask::assume(%task, %client) +{ + %task.setWeightFreq(11); + %task.setMonitorFreq(11); +} + +function AITauntCorpseTask::retire(%task, %client) +{ +} + +function AITauntCorpseTask::weight(%task, %client) +{ + %task.corpse = %client.getVictimCorpse(); + if (%task.corpse > 0 && getSimTime() - %client.getVictimTime() < 15000) + { + //see if we're already taunting, and if it's time to stop + if ((%task.tauntTime > %client.getVictimTime()) && (getSimTime() - %task.tauntTime > 5000)) + %task.corpse = -1; + else + { + //if the corpse is within 50m, taunt + %distToCorpse = %client.getPathDistance(%task.corpse.getWorldBoxCenter()); + if (%dist < 0 || %distToCorpse > 50) + %task.corpse = -1; + } + } + else + %task.corpse = -1; + + //set the weight + if (%task.corpse > 0) + { + //don't taunt someone if there's an enemy right near by... + %result = AIFindClosestEnemy(%client, 40, 15000); + %closestEnemy = getWord(%result, 0); + %closestdist = getWord(%result, 1); + if (%closestEnemy > 0) + %task.setWeight(0); + else + %task.setWeight($AIWeightTauntVictim); + } + else + %task.setWeight(0); +} + +$AITauntChat[0] = "gbl.aww"; +$AITauntChat[1] = "gbl.brag"; +$AITauntChat[2] = "gbl.obnoxious"; +$AITauntChat[3] = "gbl.sarcasm"; +$AITauntChat[4] = "gbl.when"; +function AITauntCorpseTask::monitor(%task, %client) +{ + //make sure we still have a corpse, and are not fighting anyone + if (%client.getEngageTarget() <= 0 && %task.corpse > 0 && isObject(%task.corpse)) + { + %clientPos = %client.player.getWorldBoxCenter(); + %corpsePos = %task.corpse.getWorldBoxCenter(); + %distToCorpse = VectorDist(%clientPos, %corpsePos); + if (%distToCorpse < 2.0) + { + //start the taunt! + if (%task.tauntTime < %client.getVictimTime()) + { + %task.tauntTime = getSimTime(); + %client.stop(); + + if (getRandom() > 0.2) + { + //pick the sound and taunt cels + %sound = $AITauntChat[mFloor(getRandom() * 3.99)]; + %minCel = 2; + %maxCel = 8; + schedule(250, %client, "AIPlayAnimSound", %client, %corpsePos, %sound, %minCel, %maxCel, 0); + } + //say 'bye' :) + else + schedule(250, %client, "AIPlayAnimSound", %client, %corpsePos, "gbl.bye", 2, 2, 0); + } + } + else + %client.stepMove(%task.corpse.getWorldBoxCenter(), 1.75); + } +} + +//----------------------------------------------------------------------------- +//AIPatrolTask used to wander around the map (DM and Hunters mainly) looking for something to do... + +function AIPatrolTask::init(%task, %client) +{ +} + +function AIPatrolTask::assume(%task, %client) +{ + %task.setWeightFreq(13); + %task.setMonitorFreq(13); + %task.findLocation = true; + %task.patrolLocation = "0 0 0"; + %task.idleing = false; + %task.idleEndTime = 0; +} + +function AIPatrolTask::retire(%task, %client) +{ +} + +function AIPatrolTask::weight(%task, %client) +{ + %task.setWeight($AIWeightPatrolling); +} + +function AIPatrolTask::monitor(%task, %client) +{ + //this call works in conjunction with AIEngageTask + %client.setEngageTarget(%client.shouldEngage); + + //see if we're close enough to our patrol point + if (%task.idleing) + { + if (getSimTime() > %task.idleEndTime) + { + %task.findLocation = true; + %task.idleing = false; + } + } + + //see if we need to find a place to go... + else if (%task.findLocation) + { + //first, see if we're in need of either health, or ammo + //note: normally, I'd be tempted to put this kind of "looking for health" code + //into the AIPickupItemTask, however, that task will be used in CTF, where you + //don't want people on AIDefendLocation to leave their post to hunt for health, etc... + //AIPickupItemTask only deals with items within a 30m radius around the bot. + //AIPatrolTask will move the bot to the vicinity of an item, then AIPickUpItemTask + //will finish the job... + %foundItemLocation = false; + %damage = %client.player.getDamagePercent(); + if (%damage > 0.7) + { + //search for a health kit + %closestHealth = AIFindSafeItem(%client, "Health"); + if (%closestHealth > 0) + { + %task.patrolLocation = %closestHealth.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + else if (AIEngageOutOfAmmo(%client)) + { + //search for a Ammo or a weapon... + %closestItem = AIFindSafeItem(%client, "Ammo"); + if (%closestItem > 0) + { + %task.patrolLocation = %closestItem.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + + //now see if we don't really have good equipment... + if (!%foundItemLocation && AIEngageWeaponRating(%client) < 20) + { + //search for any useful item + %closestItem = AIFindSafeItem(%client, "Any"); + if (%closestItem > 0) + { + %task.patrolLocation = %closestItem.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + //choose a randomish location only if we're not in need of health or ammo + if (!%foundItemLocation) + { + //find a random item/inventory in the map, and pick a spawn point near it... + %pickGraphNode = false; + %chooseSet = 0; + if ($AIInvStationSet.getCount() > 0) + %chooseSet = $AIInvStationSet; + else if ($AIWeaponSet.getCount() > 0) + %chooseSet = $AIWeaponSet; + else if ($AIItemSet.getCount() > 0) + %chooseSet = $AIItemSet; + + if (!%chooseSet) + %pickGraphNode = true; + + //here we pick whether we choose a random map point, or a point based on an item... + if (getRandom() < 0.3) + %pickGraphNode = true; + + //here we decide whether we should choose a player location... a bit of a cheat but + //it's scaled by the bot skill level + %pickPlayerLocation = false; + %skill = %client.getSkillLevel(); + if (%skill < 1.0) + %skill = %skill / 2.0; + if (getRandom() < (%skill * %skill) && ClientGroup.getCount() > 1) + { + //find a random client + %count = ClientGroup.getCount(); + %index = (getRandom() * (%count - 0.1)); + %cl = ClientGroup.getObject(%index); + if (%cl != %client && AIClientIsAlive(%cl)) + { + %task.patrolLocation = %cl.player.getWorldBoxCenter(); + %pickGraphNode = false; + %pickPlayerLocation = true; + } + } + + if (!%pickGraphNode && !%pickPlayerLocation) + { + %itemCount = %chooseSet.getCount(); + %item = %chooseSet.getObject(getRandom() * (%itemCount - 0.1)); + %nodeIndex = navGraph.randNode(%item.getWorldBoxCenter(), 10, true, true); + if (%nodeIndex <= 0) + %pickGraphNode = true; + else + %task.patrolLocation = navGraph.randNodeLoc(%nodeIndex); + } + + //see if we failed above or have to pick just a random spot on the graph - use the spawn points... + if (%pickGraphNode) + { + %task.patrolLocation = Game.pickPlayerSpawn(%client, true); + if (%task.patrolLocation == -1) + { + %client.stepIdle(%client.player.getWorldBoxCenter()); + return; + } + } + } + + //now that we have a new location - move towards it + %task.findLocation = false; + %client.stepMove(%task.patrolLocation, 8.0); + } + + //else we're on patrol - see if we're close to our destination + else + { + %client.stepMove(%task.patrolLocation, 8.0); + %distToDest = %client.getPathDistance(%task.patrolLocation); + if (%distToDest > 0 && %distToDest < 10) + { + %task.idleing = true; + %task.idleEndTime = 4000 + getSimTime() + (getRandom() * 6000); + %client.stepIdle(%client.player.getWorldBoxCenter()); + } + } +} + +//----------------------------------------------------------------------------- +//AIEngageTurretTask is responsible for returning turret fire... + +function AIEngageTurretTask::init(%task, %client) +{ +} + +function AIEngageTurretTask::assume(%task, %client) +{ + %task.setWeightFreq(4); + %task.setMonitorFreq(4); +} + +function AIEngageTurretTask::retire(%task, %client) +{ + %client.engageTurret = -1; + %client.setEngagetarget(-1); +} + +function AIEngageTurretTask::weight(%task, %client) +{ + //see if we're still fighting a turret + %elapsedTime = getSimTime() - %task.startAttackTime; + if (isObject(%task.engageTurret) && %task.engageTurret.getDataBlock().getClassName() $= "TurretData") + { + if (%task.engageTurret == %client.lastdamageTurret) + { + if (%task.engageTurret.isEnabled() && getSimTime() - %client.lastDamageTurretTime < 5000) + %task.setWeight($AIWeightReturnTurretFire); + else + %task.setWeight($AIWeightDestroyTurret); + } + else if (AIClientIsAlive(%client, %elapsedTime)) + { + //if another turret is shooting us, disable this one first... + if (isObject(%client.lastDamageTurret) && %client.lastDamageTurret.getDataBlock().getClassName() $= "TurretData") + { + if (%task.engageTurret.isEnabled()) + %task.setWeight($AIWeightReturnTurretFire); + else + { + //see if we need to switch to the new turret + if (%client.lastDamageTurret.isEnabled() && %client.lastDamageTurretTime < 5000) + { + %task.engageTurret = %client.lastDamageTurret; + %task.attackInitted = false; + %task.setWeight($AIWeightDestroyTurret); + } + + else + %task.setWeight($AIWeightReturnTurretFire); + } + } + else + { + if (%task.engageTurret.isEnabled() && getSimTime() - %client.lastDamageTurretTime < 5000) + %task.setWeight($AIWeightReturnTurretFire); + else + %task.setWeight($AIWeightDestroyTurret); + } + } + + //else we died since - clear out the vars + else + { + %task.engageTurret = -1; + %task.setWeight(0); + } + } + + //else see if we have a new target + else if (isObject(%client.lastDamageTurret) && %client.lastDamageTurret.getDataBlock().getClassName() $= "TurretData") + { + %task.engageTurret = %client.lastDamageTurret; + %task.attackInitted = false; + + if (%client.lastDamageTurret.isEnabled() && %client.lastDamageTurretTime < 5000) + %task.setWeight($AIWeightReturnTurretFire); + else + %task.setWeight($AIWeightDestroyTurret); + } + + //else no turret to attack... (later, do a query to find turrets before they attack) + else + { + %task.engageTurret = -1; + %task.setWeight(0); + } + +} + +function AIEngageTurretTask::monitor(%task, %client) +{ + if (isObject(%task.engageTurret) && %task.engageTurret.getDataBlock().getClassName() $= "TurretData") + { + //set the AI to fire at the turret + %client.setEngageTarget(-1); + %client.setTargetObject(%task.engageTurret); + + %clientPos = %client.player.getWorldBoxCenter(); + %turretPos = %task.engageTurret.getWorldBoxCenter(); + + //control the movement - first, hide, then wait, then attack + if (!%task.attackInitted) + { + %task.attackInitted = true; + %task.startAttackTime = getSimTime(); + %task.hideLocation = %client.getHideLocation(%turretPos, 40.0, %clientPos, 4.0); + %client.stepMove(%task.hideLocation, 2.0); + } + else if (getSimTime() - %task.startAttackTime > 5000) + { + %client.stepMove(%task.engageTurret.getWorldBoxCenter(), 8.0); + } + } +} + +//----------------------------------------------------------------------------- +//AIAvoidMineTask is responsible for detecting/destroying enemy mines... + +function AIDetectMineTask::init(%task, %client) +{ +} + +function AIDetectMineTask::assume(%task, %client) +{ + %task.setWeightFreq(7); + %task.setMonitorFreq(7); +} + +function AIDetectMineTask::retire(%task, %client) +{ + %task.engageMine = -1; + %task.attackInitted = false; + %client.setTargetObject(-1); +} + +function AIDetectMineTask::weight(%task, %client) +{ + //crappy hack, but they need the proper weapon before they can destroy a mine... + %player = %client.player; + if (!isObject(%player)) + return; + + %hasPlasma = (%player.getInventory("Plasma") > 0) && (%player.getInventory("PlasmaAmmo") > 0); + %hasDisc = (%player.getInventory("Disc") > 0) && (%player.getInventory("DiscAmmo") > 0); + + if (!%hasPlasma && !%hasDisc) + { + %task.setWeight(0); + return; + } + + //if we're already attacking a mine, + if (%task.engageMine > 0 && isObject(%task.engageMine)) + { + %task.setWeight($AIWeightDetectMine); + return; + } + //see if we're within the viscinity of a new (enemy) mine + %task.engageMine = -1; + %closestMine = -1; + %closestDist = 15; //initialize so only mines within 15 m will be detected... + %mineCount = $AIDeployedMineSet.getCount(); + for (%i = 0; %i < %mineCount; %i++) + { + %mine = $AIDeployedMineSet.getObject(%i); + %mineTeam = %mine.sourceObject.team; + + %minePos = %mine.getWorldBoxCenter(); + %clPos = %client.player.getWorldBoxCenter(); + + //see if the mine is the closest... + %mineDist = VectorDist(%minePos, %clPos); + if (%mineDist < %closestDist) + { + //now see if we're more or less heading towards the mine... + %clVelocity = %client.player.getVelocity(); + %clVelocity = getWord(%clVelocity, 0) SPC getWord(%clVelocity, 1) SPC "0"; + %mineVector = VectorSub(%minePos, %clPos); + %mineVector = getWord(%mineVector, 0) SPC getWord(%mineVector, 1) SPC "0"; + if (VectorLen(%clVelocity) > 2.0 && VectorLen(%mineVector > 2.0)) + { + %clNormal = VectorNormalize(%clVelocity); + %mineNormal = VectorNormalize(%mineVector); + if (VectorDot(%clNormal, %mineNormal) > 0.3) + { + %closestMine = %mine; + %closestDist = %mineDist; + } + } + } + } + + //see if we found a mine to attack + if (%closestMine > 0) + { + %task.engageMine = %closestMine; + %task.attackInitted = false; + %task.setWeight($AIWeightDetectMine); + } + else + %task.setWeight(0); +} + +function AIDetectMineTask::monitor(%task, %client) +{ + if (%task.engageMine > 0 && isObject(%task.engageMine)) + { + if (!%task.attackInitted) + { + %task.attackInitted = true; + %client.stepRangeObject(%task.engageMine, "DefaultRepairBeam", 6, 12); + %client.setEngageTarget(-1); + %client.setTargetObject(-1); + } + + else if (%client.getStepStatus() $= "Finished") + { + %client.stop(); + %client.setTargetObject(%task.engageMine); + } + } +} + +//----------------------------------------------------------------------------- diff --git a/public/base/@vl2/scripts.vl2/scripts/aiDnD.cs b/public/base/@vl2/scripts.vl2/scripts/aiDnD.cs new file mode 100644 index 00000000..e5c9d73d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiDnD.cs @@ -0,0 +1,72 @@ +//----------------------------------------------- +// AI functions for Capture and Hold +function aidnd() +{ + exec("scripts/aiDnD.cs"); +} + +function DnDGame::AIInit(%game) +{ + for (%i = 1; %i <= %game.numTeams; %i++) + { + if (!isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i] = new AIObjectiveQ(); + MissionCleanup.add($ObjectiveQ[%i]); + } + + error("team " @ %i @ " objectives load..."); + $ObjectiveQ[%i].clear(); + AIInitObjectives(%i, %game); + } + + //call the default AIInit() function + AIInit(); +} + +function DnDGame::onAIRespawn(%game, %client) +{ + //add the default tasks + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AITauntCorpseTask); + %client.addTask(AIPatrolTask); + %client.addtask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + } +} + +function DnDGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team) + { + schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0); + + //clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob! + %clVictim.lastDamageClient = -1; + } +} + +function DnDGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clVictim.team != %clAttacker.team) + DefaultGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function DnDGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + DefaultGame::onAIKilled(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function DnDGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim) + AIMessageThread("Sorry", %clAttacker, %clVictim); +} + +function DnDGame::AIplayerCaptureFlipFlop(%game, %player, %flipFlop) +{ +} diff --git a/public/base/@vl2/scripts.vl2/scripts/aiHumanTasks.cs b/public/base/@vl2/scripts.vl2/scripts/aiHumanTasks.cs new file mode 100644 index 00000000..3137a829 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiHumanTasks.cs @@ -0,0 +1,292 @@ + +function aiAddHumanObjective(%client, %objective, %targetClient, %fromCmdMap) +{ + //first, make sure the objective Q for the given team exists + if (!isObject($ObjectiveQ[%client.team])) + return 0; + + //if a target client is specified, create a link if we can... + if (%targetClient > 0) + { + if (aiHumanHasControl(%client, %targetClient) || (%targetClient.isAIControlled() && !aiAlreadyControlled(%targetClient))) + aiSetHumanControl(%client, %targetClient); + else + return 0; + } + + //special (hacky) case here for AIOBombLocation objectives + if (%objective.getName() $= "AIOBombLocation") + { + if (!isObject($AIBombLocationSet)) + return 0; + + %objective.team = %client.team; + $AIBombLocationSet.add(%objective); + return %objective; + } + + //parse the type of objective, and see if it already exists... + %useThisObjective = -1; + %objQ = $ObjectiveQ[%client.team]; + if (%objective.getName() $= "AIOEscortPlayer" || %objective.getName() $= "AIOAttackPlayer") + { + //first, make sure the objective is legit + if (!AIClientIsAlive(%objective.targetClientId)) + return 0; + + //fill in the description: + %objective.description = %objective.getName() SPC getTaggedString(%objective.targetClientId.name); + + //now see if the objective already exists... + %count = %objQ.getCount(); + for (%i = 0; %i < %count; %i++) + { + %obj = %objQ.getObject(%i); + if (%obj.getName() $= %objective.getName()) + { + //if we've found a previously existing version, use it instead of the new objective + if (%obj.issuedByClientId == %client && %obj.targetClientId == %objective.targetClientId) + { + %useThisObjective = %obj; + break; + } + } + } + } + + else if (%objective.getName() $= "AIODefendLocation" || %objective.getName() $= "AIOAttackLocation") + { + //make sure it's a valid objective + if (%objective.location $= "" || %objective.location $= "0 0 0") + return 0; + + //fill in the description: + %objective.description = %objective.getName() @ " at" SPC %objective.location; + + //look for a duplicate... + %count = %objQ.getCount(); + for (%i = 0; %i < %count; %i++) + { + %obj = %objQ.getObject(%i); + if (%obj.getName() $= %objective.getName()) + { + if (%obj.issuedByClientId == %client && VectorDist(%objective.location, %obj.location) < 30) + { + %useThisObjective = %obj; + break; + } + } + } + } + + else if (%objective.getName() $= "AIOAttackObject" || %objective.getName() $= "AIORepairObject" || + %objective.getName() $= "AIOLazeObject" || %objective.getName() $= "AIOMortarObject" || + %objective.getName() $= "AIOTouchObject") + { + //make sure it's a valid objective + if (!isObject(%objective.targetObjectId)) + return 0; + + //fill in the description: + %objective.description = %objective.getName() SPC %objective.targetObjectId.getDataBlock().getName(); + + //look for a duplicate... + %count = %objQ.getCount(); + for (%i = 0; %i < %count; %i++) + { + %obj = %objQ.getObject(%i); + if (%obj.getName() $= %objective.getName()) + { + if (%obj.issuedByClientId == %client && %objective.targetObjectId == %obj.targetObjectId) + { + %useThisObjective = %obj; + break; + } + } + } + } + else if (%objective.getName() $= "AIODeployEquipment") + { + //make sure it's a valid objective + if (%objective.location $= "" || %objective.location $= "0 0 0" || %objective.equipment $= "") + return 0; + + //fill in the description: + %objective.description = %objective.getName() SPC %objective.equipment SPC "at" SPC %objective.location; + + //look for a duplicate... + %count = %objQ.getCount(); + for (%i = 0; %i < %count; %i++) + { + %obj = %objQ.getObject(%i); + if (%obj.getName() $= %objective.getName()) + { + if (%obj.issuedByClientId == %client && VectorDist(%objective.location, %obj.location) < 8 && %objective.equipment == %obj.equipment) + { + %useThisObjective = %obj; + break; + } + } + } + } + + //if we found a previously added objective, delete the submitted one + if (%useThisObjective > 0) + { + %objective.delete(); + } + + //otherwise add it to the objective Q + else + { + %useThisObjective = %objective; + $ObjectiveQ[%client.team].add(%useThisObjective); + %objective.shouldAcknowledge = true; + //now that it's been added, see if anyone picks it up within 10 seconds + schedule(10000, %objective, "AIReassessHumanObjective", %objective); + } + + //now see if we're supposed to force the target to the objective + //the link will have already been checked at the top... + if (%targetClient > 0) + { + //if we were previously assigned to an objective which was forced on this client, we need to delete it... + %prevObjective = %targetClient.objective; + if (%prevObjective != %useThisObjective && %prevObjective.issuedByClientId == %targetClient.controlByHuman) + { + AIClearObjective(%prevObjective); + %prevObjective.delete(); + } + + //if the command is an escort command, issue it at the forced escort weight instead + %forcedWeight = $AIWeightHumanIssuedCommand; + if (%useThisObjective.getName() $= "AIOEscortPlayer") + %forcedWeight = $AIWeightHumanIssuedEscort; + + //reweight the client's objective + %testWeight = 0; + if (isObject(%client.objective)) + %testWeight = %client.objective.weight(%client, %client.objectiveLevel, 0, %inventoryStr); + if (%testWeight <= 0 || %testWeight > %client.objectiveWeight) + %client.objectiveWeight = %testWeight; + + //see if we should force the objective + if (%targetClient.objectiveWeight <= %forcedWeight) + { + AIForceObjective(%targetClient, %useThisObjective, %forcedWeight); + + //clearing the prev objective will undo the link - re-do it here + aiSetHumanControl(%client, %targetClient); + + //send the "command accepted response" + if (!%fromCmdMap) + { + if (isObject(%client.player) && VectorDist(%targetClient.player.position, %client.player.position) <= 40) + schedule(250, %targetClient.player, "AIPlayAnimSound", %targetClient, %client.player.getWorldBoxCenter(), "cmd.acknowledge", 1, 1, 0); + } + else + serverCmdAcceptTask(%targetClient, %client, -1, %useThisObjective.ackDescription); + } + else + { + //send the "command declined response" + if (!%fromCmdMap) + { + if (isObject(%client.player) && VectorDist(%targetClient.player.position, %client.player.position) <= 40) + { + schedule(250, %targetClient.player, "AIPlayAnimSound", %targetClient, %client.player.getWorldBoxCenter(), "cmd.decline", -1, -1, 0); + schedule(2000, %client.player, "AIRespondToEvent", %client, 'ChatCmdWhat', %targetClient); + } + } + else + serverCmdDeclineTask(%targetClient, %client, %useThisObjective.ackDescription); + } + } + + //return the objective used, so the calling function can know whether to delete the parameter one... + return %useThisObjective; +} + +function AIReassessHumanObjective(%objective) +{ + if (%objective.issuedByHuman) + { + //see if there's anyone still assigned to this objective + if (!AIClientIsAlive(%objective.clientLevel1) && !AIClientIsAlive(%objective.clientLevel2) && !AIClientIsAlive(%objective.clientLevel3)) + { + AIClearObjective(%objective); + %objective.delete(); + } + + //else reassess this objective in another 10 seconds + else + schedule(10000, %objective, "AIReassessHumanObjective", %objective); + } +} + +function aiAttemptHumanControl(%humanClient, %aiClient) +{ + if (!aiAlreadyControlled(%aiClient)) + { + aiSetHumanControl(%humanClient, %aiClient); + return true; + } + else + return false; +} + +function aiHumanHasControl(%humanClient, %aiClient) +{ + if (AIClientIsAlive(%humanClient) && AIClientIsAlive(%aiClient)) + if (%humanClient.controlAI == %aiClient && %aiClient.controlByHuman == %humanClient) + return true; + + return false; +} + +function aiAlreadyControlled(%aiClient) +{ + if (AIClientIsAlive(%aiClient) && AIClientIsAlive(%aiClient.controlByHuman)) + if (%aiClient.controlByHuman.controlAI == %aiClient) + return true; + + return false; +} + +function aiReleaseHumanControl(%humanClient, %aiClient) +{ + //make sure they were actually linked + if (!aiHumanHasControl(%humanClient, %aiClient)) + return; + + aiBreakHumanControl(%humanClient, %aiClient); +} + +function aiSetHumanControl(%humanClient, %aiClient) +{ + //make sure it's from a human to an ai + if (%humanClient.isAIControlled() || !%aiClient.isAIControlled()) + return; + + //these checks should be redundant, but... + if (%humanClient.controlAI > 0) + aiBreakHumanControl(%humanClient, %humanClient.controlAI); + + if (%aiClient.controlByHuman > 0) + aiBreakHumanControl(%aiClient.controlByHuman, %aiClient); + + //create the link + %humanClient.controlAI = %aiClient; + %aiClient.controlByHuman = %humanClient; +} + +function aiBreakHumanControl(%humanClient, %aiClient) +{ + //make sure they were actually linked + if (!aiHumanHasControl(%humanClient, %aiClient)) + return; + + //for now, just break the link, and worry about unassigning objectives later... + %humanClient.controlAI = ""; + %aiClient.controlByHuman = ""; +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/aiHunters.cs b/public/base/@vl2/scripts.vl2/scripts/aiHunters.cs new file mode 100644 index 00000000..97266436 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiHunters.cs @@ -0,0 +1,524 @@ +//----------------------------------------------- +// AI functions for Hunters +//--------------------------------------------------------------------------- + +// globals +$AIHuntersFlagSearchRadius = 300; +$AIHuntersCloseFlagDist = 40; +$AIHuntersAttackClientFlagCount = 10; +$AIHuntersMinFlagsToCap = 3; + +//--------------------------------------------------------------------------- + +function HuntersGame::onAIRespawn(%game, %client) +{ + //add the default task + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AIUseInventoryTask); + %client.addTask(AITauntCorpseTask); + %client.addTask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + %client.addTask(AIPatrolTask); + %client.huntersTask = %client.addTask(AIHuntersTask); + } + + //set the inv flag + %client.spawnUseInv = true; +} + +//--------------------------------------------------------------------------- + +function HuntersGame::AIInit(%game) +{ + //call the default AIInit() function + AIInit(); +} + +//--------------------------------------------------------------------------- +//AIHuntersTask functions +//--------------------------------------------------------------------------- +function AIHuntersTask::init(%task, %client) +{ +} + +//--------------------------------------------------------------------------- + +function AIHuntersTask::assume(%task, %client) +{ + %task.setWeightFreq(10); + %task.setMonitorFreq(10); + %task.pickupFlag = -1; + %task.engageTarget = -1; + %task.getHealth = -1; + %task.capFlags = false; +} + +function AIHuntersTask::retire(%task, %client) +{ + %task.pickupFlag = -1; + %task.engageTarget = -1; + %task.getHealth = -1; + %task.capFlags = false; +} + +//--------------------------------------------------------------------------- + +function AIHuntersTask::weight(%task, %client) +{ + // init flag search vars + %player = %client.player; + if (!isObject(%player)) + return; + + %clientPos = %player.getWorldBoxCenter(); + %task.pickupFlag = -1; + %task.engageTarget = -1; + %task.capFlags = false; + + //find the closest flag + %flagVars = AIFindClosestFlag(%client, $AIHuntersFlagSearchRadius); + %closestFlag = getWord(%flagVars, 0); + %closestFlagDist = getWord(%flagVars, 1); + + //find the dist to the nexus + %nexusPos = Game.Nexus.getId().getWorldBoxCenter(); + %nexusDist = %client.getPathDistance(%nexusPos); + if (%nexusDist < 0) + %nexusDist = 32767; + + //validate the health item + if (isObject(%task.getHealth)) + { + if (%task.getHealth.isHidden()) + %task.getHealth = -1; + else if ((%task.getHealth.getDataBlock().getName() $= "DeployedStationInventory") || + (%task.getHealth.getDataBlock().getName() $= "StationInventory")) + { + if (%task.getHealth.isDisabled() && !%task.getHealth.isPowered()) + %task.getHealth = -1; + } + } + + //find the dist to the closest health + %healthDist = 32767; + %damage = %client.player.getDamagePercent(); + if (%client.flagCount < 5) + %damageTolerance = 0.7; + else + %damageTolerance = 0.25 + ((%client.getSkillLevel() * %client.getSkillLevel()) * 0.35); + if (%damage > %damageTolerance) + { + if (!isObject(%task.getHealth)) + { + //search for a health kit + %closestHealth = AIFindSafeItem(%client, "Health"); + if (isObject(%closestHealth)) + { + %healthDist = %client.getPathDistance(%closestHealth.getWorldBoxCenter()); + if (%healthDist < 0) + %healthDist = 32767; + else + %healthItem = %closestHealth; + } + + //else search for an inventory station + else + { + %result = AIFindClosestInventory(%client, false); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (isObject(%closestInv)) + { + %healthDist = %closestDist; + %healthItem = %closestInv; + } + } + } + else + { + %healthDist = %client.getPathDistance(%task.getHealth.getWorldBoxCenter()); + if (%healthDist < 0) + { + %healthDist = 32767; + %task.getHealth = -1; + } + } + } + else + %task.getHealth = -1; + + //see if we need to cap - make sure we're actually able first + %mustCap = false; + %shouldCap = false; + %numToScore = %client.flagCount - 1; + %hoardModeOn = Game.hoardModeActive(); + if ((!Game.greedMode || %numToScore >= Game.greedMinFlags) && !Game.hoardModeActive() && %numToScore >= $AIHuntersMinFlagsToCap) + { + //find out how many points would be scored + %potentialScore = (%numToScore * (%numToScore + 1)) / 2; + + //find out how many flags we need to take the lead... + %needFlagsForLead = 0; + %highestScore = 0; + %clientIsInLead = false; + if (Game.teamMode) + { + %teamCount = Game.numTeams; + for (%i = 1; %i <= %teamCount; %i++) + { + if ($teamScore[%i] > %highestScore) + %highestScore = $teamScore[%i]; + } + + //see if we're in the lead... + if (%highestScore == $teamScore[%client.team]) + %clientIsInLead = true; + else + { + %tempScore = $teamScore[%client.team] + %potentialScore; + %flagValue = %numToScore + 1; + while (%tempScore < %highestScore) + { + %tempScore += %flagValue; + %flagValue++; + %needFlagsForLead++; + } + } + } + else + { + %clientCount = ClientGroup.getCount(); + for (%i = 0; %i < %clientCount; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.score > %highestScore) + %highestScore = %cl.score; + } + + //see if we're in the lead + if (%highestScore == %client.score) + %clientIsInLead = true; + else + { + %tempScore = %client.score + %potentialScore; + %flagValue = %numToScore + 1; + while (%tempScore < %highestScore) + { + %tempScore += %flagValue; + %flagValue++; + %needFlagsForLead++; + } + } + } + + //the current target is more dangerous than the closest enemy + %currentTarget = %client.getEngageTarget(); + if (AIClientIsAlive(%currentTarget)) + { + %closestEnemy = %currentTarget; + %closestEnemydist = %client.getPathDistance(%currentTarget.player.position); + if (%closestEnemyDist < 0) + %closestEnemyDist = 32767; + } + else + { + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + %result = AIFindClosestEnemy(%client, $AIHuntersCloseFlagDist, %losTimeout); + %closestEnemy = getWord(%result, 0); + %closestEnemydist = getWord(%result, 1); + } + + //find out how much time is left... + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + + //If there's a tough or equal enemy nearby, or no flags, think about capping + //ie. never cap if there are flags nearby and no enemies... + if ((AICheckEnemyDanger(%client, 35) >= 3 && %damage > %damageTolerance) || + (!isObject(%closestFlag) || %closestFlagDist > $AIHuntersCloseFlagDist)) + { + //if we've got enough to take the lead, and there are no flags in the vicinity + if ((!%clientIsInLead && %needFlagsForLead == 0) || %highestScore == 0) + %mustCap = true; + + //else if we're about to get our butt kicked... + else if (AIClientIsAlive(%closestEnemy) && AIEngageWhoWillWin(%closestEnemy, %client) == %closestEnemy) + { + %mustCap = true; + } + + //else if there's no time left in the mission, cap whatever we've got now... + else if (%curTimeLeftMS <= 30000) + %mustCap = true; + + //else we don't need to cap - see if we should to play it smart + else + { + //if we'd need more than just a couple to take the lead... + %waitForFlagsTolerance = %client.getSkillLevel() * $AIHuntersMinFlagsToCap * 2; + if (%needFlagsForLead == 0 || (%needFlagsForLead > %waitForFlagsTolerance)) + { + %numEnemyFlags = 0; + %clientCount = ClientGroup.getCount(); + for (%i = 0; %i < %clientCount; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl != %client && %cl.flagCount > %numEnemyFlags) + %numEnemyFlags = %cl.flagCount; + } + + //if we're in the lead, or no one has the flags we need, or it's team mode, + //decide whether to cap based on skill level + if (%needFlagsForLead == 0 || %numEnemyFlags < %needFlagsForLead || Game.teamMode) + { + if (%numToScore >= $AIHuntersMinFlagsToCap + (%client.getSkillLevel() * %client.getSkillLevel() * 15)) + { + %shouldCap = true; + } + } + } + } + } + + //now that we've checked all the possibilities, see if we should or must cap + if (%mustCap || %shouldCap) + { + if (%mustCap) + %task.setWeight($AIHuntersWeightMustCap); + else + %task.setWeight($AIHuntersWeightShouldCap); + + %task.capFlags = true; + return; + } + } + + //////////////////////////////////////////////////////////////////////////////////// + // if we've made it this far, we either can't cap, or there's no need to cap... // + //////////////////////////////////////////////////////////////////////////////////// + + //see if we need health + if (%damage > %damageTolerance && (isObject(%healthItem) || isObject(%task.getHealth))) + { + if (!isObject(%task.getHealth)) + %task.getHealth = %healthItem; + + %task.setWeight($AIHuntersWeightNeedHealth); + return; + } + + //find the closest player with the most flags (that we have los to) + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + %bestClientToEngage = findClientWithMostFlags(%client, %losTimeout); + %bestClientDist = 32767; + if (AIClientIsAlive(%bestClientToEngage)) + { + %bestClientDist = %client.getPathDistance(%bestClientToEngage.player.position); + if (%bestClientDist < 0) + %bestClientDist = 32767; + } + + //see if there's a flag + if (isObject(%closestFlag)) + { + //see if there's a client to shoot + if (AIClientIsAlive(%bestClientToEngage)) + { + //calc weight base on closesness to the nearest flag vs. and number of flags the client has... + %engageDistFactor = 30 + %bestClientDist - (%bestClientToEngage.flagCount * 5); + if (%closestFlagDist < %engageDistFactor) + { + %task.pickupFlag = %closestFlag; + %task.engageTarget = %bestClientToEngage; + %task.setWeight($AIHuntersWeightPickupFlag); + } + + //otherwise, ignore the flag, and go for the client + else + { + %task.pickupFlag = -1; + %task.engageTarget = %bestClientToEngage; + %task.setWeight($AIHuntersWeightMustEngage); + } + } + + //else no one to attack + else + { + %task.pickupFlag = %closestFlag; + %task.engageTarget = -1; + %task.setWeight($AIHuntersWeightPickupFlag); + } + } + + //else no flag, see if we have someone to attack + else if (AIClientIsAlive(%bestClientToEngage)) + { + %task.pickupFlag = -1; + %task.engageTarget = %bestClientToEngage; + %task.setWeight($AIHuntersWeightShouldEngage); + } + + //nothing hunter's related to do... + else + { + %task.pickupFlag = -1; + %task.engageTarget = -1; + %task.setWeight(0); + } +} + +//--------------------------------------------------------------------------- + +function AIHuntersTask::monitor(%task, %client) +{ + //see if we should cap + if (%task.capFlags) + { + %nexusPos = Game.Nexus.getId().getWorldBoxCenter(); + %client.stepMove(%nexusPos, 0.25); + } + + //see if we've got a flag to pick up and/or someone to engage + else if (isObject(%task.pickupFlag)) + { + %client.stepMove(%task.pickupFlag.getWorldBoxCenter(), 0.25); + + if (AIClientIsAlive(%task.engageTarget)) + %client.setEngageTarget(%task.engageTarget); + } + + //see if we've should go for health... + else if (isObject(%task.getHealth)) + { + %client.stepMove(%task.getHealth.getWorldBoxCenter(), 1); + + if (AIClientIsAlive(%task.engageTarget)) + %client.setEngageTarget(%task.engageTarget); + } + + //else see if there's just someone to engage + else if (AIClientIsAlive(%task.engageTarget)) + %client.stepEngage(%task.engageTarget); + + //if we're not engaging someone related to the hunters task, engage whoever the AIEngageTask wants... + else + %client.setEngageTarget(%client.shouldEngage); +} + +//--------------------------------------------------------------------------- +// AIHunters utility functions +//--------------------------------------------------------------------------- + +//this function checks to make sure a bot isn't in a mosh pit of enemies +//notice it cheats by not using LOS... ) +function AICheckEnemyDanger(%client, %radius) +{ + %numEnemies = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (AIClientIsAlive(%cl) && %cl.team != %client.team) + { + %dist = %client.getPathDistance(%cl.player.position); + if (%dist < %radius) + { + %winner = AIEngageWhoWillWin(%cl, %client); + if (%winner == %cl) + %numEnemies += 3; + else if (%winner != %client) + %numEnemies++; + } + } + } + + return %numEnemies; +} + +function AIFindClosestFlag(%client, %radius) +{ + %closestFlag = -1; + %closestDist = %radius; + %flagCount = $FlagGroup.getCount(); + for (%i = 0; %i < %flagCount; %i++) + { + %flag = $FlagGroup.getObject(%i); + %flagPos = %flag.getWorldBoxCenter(); + %dist = %client.getPathDistance(%flagPos); + + if (%dist > 0 && %dist < %closestDist) + { + %closestDist = %dist; + %closestFlag = %flag; + } + } + return %closestFlag @ " " @ %closestDist; +} + +//--------------------------------------------------------------------------- + +function findClientWithMostFlags(%srcClient, %losTimeout) +{ + %clientCount = 0; + %closestClient = -1; + %highestFlagFactor = -1; //take both distance and flag count into consideration + + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //make sure we find someone who's alive, and on an opposing team + if (AIClientIsAlive(%cl) && %cl.team != %srcClient.team) + { + %clIsCloaked = false; + if (%cl.player.getInventory("CloakingPack") > 0 && %cl.player.getImageState($BackpackSlot) $= "activate") + %clIsCloaked = true; + + //make sure the client can see the enemy + %hasLOS = %srcClient.hasLOSToClient(%cl); + %losTime = %srcClient.getClientLOSTime(%cl); + if (%hasLOS || (%losTime < %losTimeout && AIClientIsAlive(%cl, %losTime + 1000))) + { + %testPos = %cl.player.getWorldBoxCenter(); + %distance = %srcClient.getPathDistance(%testPos); + if (%distance < 0) + %distance = 32767; + + //calculate the flag factor + %flagFactor = (100 - %distance) + (%cl.flagCount * 5); + + //see if it's the most suitable client... + if (%flagFactor > %highestFlagFactor && (!%clIsCloaked || %distance < 8)) + { + %closestClient = %cl; + %highestFlagFactor = %flagFactor; + } + } + } + } + + return %closestClient; +} + +//--------------------------------------------------------------------------- + +function aih() +{ + exec("scripts/aiHunters.cs"); +} + +function aiHlist() +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIControlled()) + error(%cl SPC getTaggedString(%cl.name) SPC "score:" SPC %cl.score SPC "flags:" SPC %cl.flagCount - 1 SPC "capFlags:" SPC %cl.huntersTask.capFlags); + } +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/aiInventory.cs b/public/base/@vl2/scripts.vl2/scripts/aiInventory.cs new file mode 100644 index 00000000..010e76c9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiInventory.cs @@ -0,0 +1,1475 @@ +//------------------------------ +//AI Inventory functions + +function AINeedEquipment(%equipmentList, %client) +{ + %index = 0; + %item = getWord(%equipmentList, %index); + + //first, see if we're testing the armor class as well... + if (%item $= "Heavy" || %item $= "Medium" || %item $= "Light") + { + if (%client.player.getArmorSize() !$= %item) + return true; + %index++; + %item = getWord(%equipmentList, %index); + } + + while (%item !$= "") + { + if (%client.player.getInventory(%item) == 0) + return true; + + //get the next item + %index++; + %item = getWord(%equipmentList, %index); + } + + //made it through the list without needing anything + return false; +} + +function AIBuyInventory(%client, %requiredEquipment, %equipmentSets, %buyInvTime) +{ + //make sure we have a live player + %player = %client.player; + if (!isObject(%player)) + return "Failed"; + + if (! AIClientIsAlive(%client)) + return "Failed"; + + //see if we've already initialized our state machine + if (%client.buyInvTime == %buyInvTime) + return AIProcessBuyInventory(%client); + + //if the closest inv station is not a remote, buy the first available set... + %result = AIFindClosestInventory(%client, false); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (%closestInv <= 0) + return "Failed"; + + //see if the closest inv station was a remote + %buyingSet = false; + %usingRemote = false; + if (%closestInv.getDataBlock().getName() $= "DeployedStationInventory") + { + //see if we can buy at least the required equipment from the set + if (%requiredEquipment !$= "") + { + if (! AIMustUseRegularInvStation(%requiredEquipment, %client)) + %canUseRemote = true; + else + %canUseRemote = false; + } + else + { + %inventorySet = AIFindSameArmorEquipSet(%equipmentSets, %client); + if (%inventorySet !$= "") + %canUseRemote = true; + else + %canUseRemote = false; + } + + //if we can't use a remote, we need to look for a regular inv station + if (! %canUseRemote) + { + %result = AIFindClosestInventory(%client, true); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (%closestInv <= 0) + return "Failed"; + } + else + %usingRemote = true; + } + + //at this point we've found the closest inv, see which set/list we need to buy + if (!%usingRemote) + { + //choose the equipment first equipment set + if (%equipmentSets !$= "") + { + %inventorySet = getWord(%equipmentSets, 0); + %buyingSet = true; + } + else + { + %inventorySet = %requiredEquipment; + %buyingSet = false; + } + } + else + { + %inventorySet = AIFindSameArmorEquipSet(%equipmentSets, %client); + if (%inventorySet $= "") + { + %inventorySet = %requiredEquipment; + %buyingSet = false; + } + else + %buyingSet = true; + } + + //init some vars for the state machine... + %client.buyInvTime = %buyInvTime; //used to mark the begining of the inv buy session + %client.invToUse = %closestInv; //used if we need to go to an alternate inv station + %client.invWaitTime = ""; //used to track how long we've been waiting + %client.invBuyList = %inventorySet; //the list/set of items we're going to buy... + %client.buyingSet = %buyingSet; //whether it's a list or a set... + %client.isSeekingInv = false; + %client.seekingInv = ""; + + //now process the state machine + return AIProcessBuyInventory(%client); +} + +function AIProcessBuyInventory(%client) +{ + //get some vars + %player = %client.player; + if (!isObject(%player)) + return "Failed"; + + %closestInv = %client.invToUse; + %inventorySet = %client.invBuyList; + %buyingSet = %client.buyingSet; + + //make sure it's still valid, enabled, and on our team + if (! (%closestInv > 0 && isObject(%closestInv) && + (%closestInv.team <= 0 || %closestInv.team == %client.team) && %closestInv.isEnabled())) + { + //reset the state machine + %client.buyInvTime = 0; + return "InProgress"; + } + + //make sure the inventory station is not blocked + %invLocation = %closestInv.getWorldBoxCenter(); + InitContainerRadiusSearch(%invLocation, 2, $TypeMasks::PlayerObjectType); + %objSrch = containerSearchNext(); + if (%objSrch == %client.player) + %objSrch = containerSearchNext(); + + //the closestInv is busy... + if (%objSrch > 0) + { + //have the AI range the inv + if (%client.seekingInv $= "" || %client.seekingInv != %closestInv) + { + %client.invWaitTime = ""; + %client.seekingInv = %closestInv; + %client.stepRangeObject(%closestInv, "DefaultRepairBeam", 5, 10); + } + + //inv is still busy - see if we're within range + else if (%client.getStepStatus() $= "Finished") + { + //initialize the wait time + if (%client.invWaitTime $= "") + %client.invWaitTime = getSimTime() + 5000 + (getRandom() * 10000); + + //else see if we've waited long enough + else if (getSimTime() > %client.invWaitTime) + { + schedule(250, %client, "AIPlayAnimSound", %client, %objSrch.getWorldBoxCenter(), "vqk.move", -1, -1, 0); + %client.invWaitTime = getSimTime() + 5000 + (getRandom() * 10000); + } + } + else + { + //in case we got bumped, and are ranging the target again... + %client.invWaitTime = ""; + } + } + + //else if we've triggered the inv, automatically give us the equipment... + else if (isObject(%closestInv) && isObject(%closestInv.trigger) && VectorDist(%closestInv.trigger.getWorldBoxCenter(), %player.getWorldBoxCenter()) < 1.5) + { + //first stop... + %client.stop(); + + %index = 0; + if (%buyingSet) + { + //first, clear the players inventory + %player.clearInventory(); + %item = $AIEquipmentSet[%inventorySet, %index]; + } + else + %item = getWord(%inventorySet, %index); + + + //armor must always be bought first + if (%item $= "Light" || %item $= "Medium" || %item $= "Heavy") + { + %player.setArmor(%item); + %index++; + } + + //set the data block after the armor had been upgraded + %playerDataBlock = %player.getDataBlock(); + + //next, loop through the inventory set, and buy each item + if (%buyingSet) + %item = $AIEquipmentSet[%inventorySet, %index]; + else + %item = getWord(%inventorySet, %index); + while (%item !$= "") + { + //set the inventory amount to the maximum quantity available + if (%player.getInventory(AmmoPack) > 0) + %ammoPackQuantity = AmmoPack.max[%item]; + else + %ammoPackQuantity = 0; + + %quantity = %player.getDataBlock().max[%item] + %ammoPackQuantity; + if ($InvBanList[$CurrentMissionType, %item]) + %quantity = 0; + %player.setInventory(%item, %quantity); + + //get the next item + %index++; + if (%buyingSet) + %item = $AIEquipmentSet[%inventorySet, %index]; + else + %item = getWord(%inventorySet, %index); + } + + //put a weapon in the bot's hand... + %player.cycleWeapon(); + + //return a success + return "Finished"; + } + + //else, keep moving towards the inv station + else + { + if (isObject(%closestInv) && isObject(%closestInv.trigger)) + { + //quite possibly we may need to deal with what happens if a bot doesn't have a path to the inv... + //the current premise is that no inventory stations are "unpathable"... + //if (%client.isSeekingInv) + //{ + // %dist = %client.getPathDistance(%closestInv.trigger.getWorldBoxCenter()); + // if (%dist < 0) + // error("DEBUG Tinman - still need to handle bot stuck trying to get to an inv!"); + //} + + %client.stepMove(%closestInv.trigger.getWorldBoxCenter(), 1.5); + %client.isSeekingInv = true; + } + return "InProgress"; + } +} + +function AIFindSameArmorEquipSet(%equipmentSets, %client) +{ + %clientArmor = %client.player.getArmorSize(); + %index = 0; + %set = getWord(%equipmentSets, %index); + while (%set !$= "") + { + if ($AIEquipmentSet[%set, 0] $= %clientArmor) + return %set; + + //get the next equipment set in the list of sets + %index++; + %set = getWord(%equipmentSets, %index); + } + return ""; +} + +function AIMustUseRegularInvStation(%equipmentList, %client) +{ + %clientArmor = %client.player.getArmorSize(); + + //first, see if the set contains an item not available + %needRemoteInv = false; + %index = 0; + %item = getWord(%equipmentList, 0); + while (%item !$= "") + { + if (%item $= "InventoryDeployable" || (%clientArmor !$= "Light" && %item $= "SniperRifle") || + (%clientArmor $= "Light" && (%item $= "Mortar" || %item $= "MissileLauncher"))) + { + return true; + } + else + { + %index++; + %item = getWord(%equipmentList, %index); + } + } + if (%needRemoteInv) + return true; + + + //otherwise, see if the set begins with an armor class + %needArmor = %equipmentList[0]; + if (%needArmor !$= "Light" && %needArmor !$= "Medium" && %needArmor !$= "Heavy") + return false; + + //also including looking for an inventory set + if (%needArmor != %client.player.getArmorSize()) + return true; + + //we must be fine... + return false; +} + +function AICouldUseItem(%client, %item) +{ + if(!AIClientIsAlive(%client)) + return false; + + %player = %client.player; + if (!isObject(%player)) + return false; + + %playerDataBlock = %client.player.getDataBlock(); + %armor = %player.getArmorSize(); + %type = %item.getDataBlock().getName(); + + //check packs first + if (%type $= "RepairPack" || %type $= "EnergyPack" || %type $= "ShieldPack" || + %type $= "CloakingPack" || %type $= "AmmoPack") + { + if (%client.player.getMountedImage($BackpackSlot) <= 0) + return true; + else + return false; + } + + //if the item is acutally, a corpse, check the corpse inventory... + if (%item.isCorpse) + { + %corpse = %item; + if (%corpse.getInventory("ChainGunAmmo") > 0 && %player.getInventory(%type) < %playerDataBlock.max[ChainGunAmmo]) + return true; + if (%corpse.getInventory("PlasmaAmmo") > 0 && %player.getInventory(%type) < %playerDataBlock.max[PlasmaAmmo]) + return true; + if (%corpse.getInventory("DiscAmmo") > 0 && %player.getInventory(%type) < %playerDataBlock.max[DiscAmmo]) + return true; + if (%corpse.getInventory("GrenadeLauncher") > 0 && %player.getInventory(%type) < %playerDataBlock.max[GrenadeLauncher]) + return true; + if (%corpse.getInventory("MortarAmmo") > 0 && %player.getInventory(%type) < %playerDataBlock.max[MortarAmmo] && %player.getInventory("Mortar") > 0) + return true; + } + else + { + //check ammo + %quantity = mFloor(%playerDataBlock.max[%type]); + if (%player.getInventory(%type) < %quantity) + { + if (%type $= "ChainGunAmmo") + return true; + if (%type $= "PlasmaAmmo") + return true; + if (%type $= "DiscAmmo") + return true; + if (%type $= "GrenadeLauncher") + return true; + if (%type $= "MortarAmmo" && %player.getInventory("Mortar") > 0) + return true; + + //check mines and grenades as well + if (%type $= "Grenade" || %type $= "FlashGrenade" || %type $= "ConcussionGrenade") + return true; + } + + //see if we can carry another weapon... + if (AICanPickupWeapon(%client, %type)) + return true; + } + + //guess we didn't find anything useful... (should still check for mines and grenades) + return false; +} + +function AIEngageOutofAmmo(%client) +{ + //this function only cares about weapons used in engagement... + //no mortars, or missiles + %player = %client.player; + if (!isObject(%player)) + return false; + + %ammoWeapons = 0; + %energyWeapons = 0; + + //get our inventory + %hasBlaster = (%player.getInventory("Blaster") > 0); + %hasPlasma = (%player.getInventory("Plasma") > 0); + %hasChain = (%player.getInventory("Chaingun") > 0); + %hasDisc = (%player.getInventory("Disc") > 0); + %hasGrenade = (%player.getInventory("GrenadeLauncher") > 0); + %hasSniper = (%player.getInventory("SniperRifle") > 0) && (%player.getInventory("EnergyPack") > 0); + %hasELF = (%player.getInventory("ELFGun") > 0); + %hasMortar = (%player.getInventory("Mortar") > 0); + %hasMissile = (%player.getInventory("MissileLauncher") > 0); + %hasLance = (%player.getInventory("ShockLance") > 0); + + if (%hasBlaster || %hasSniper || %hasElf || %hasLance) + return false; + else + { + // we only have ammo type weapons + if(%hasDisc && (%player.getInventory("DiscAmmo") > 0)) + return false; + else if(%hasChain && (%player.getInventory("ChainGunAmmo") > 0)) + return false; + else if(%hasGrenade && (%player.getInventory("GrenadeLauncherAmmo") > 0)) + return false; + else if(%hasPlasma && (%player.getInventory("PlasmaAmmo") > 0)) + return false; + } + return true; // were out! +} + +function AICanPickupWeapon(%client, %weapon) +{ + //first, make sure it's not a weapon we already have... + %player = %client.player; + if (!isObject(%player)) + return false; + + %armor = %player.getArmorSize(); + if (%player.getInventory(%weapon) > 0) + return false; + + //make sure the %weapon given is a weapon they can use for engagement + if (%weapon !$= "Blaster" && %weapon !$= "Plasma" && %weapon !$= "Chaingun" && %weapon !$= "Disc" && + %weapon !$= "GrenadeLauncher" && %weapon !$= "SniperRifle" && %weapon !$= "ELFGun" && %weapon !$= "ShockLance") + { + return false; + } + + %weaponCount = 0; + if (%player.getInventory("Blaster") > 0) + %weaponCount++; + if (%player.getInventory("Plasma") > 0) + %weaponCount++; + if (%player.getInventory("Chaingun") > 0) + %weaponCount++; + if (%player.getInventory("Disc") > 0) + %weaponCount++; + if (%player.getInventory("GrenadeLauncher") > 0) + %weaponCount++; + if (%player.getInventory("SniperRifle") > 0) + %weaponCount++; + if (%player.getInventory("ELFGun") > 0) + %weaponCount++; + if (%player.getInventory("Mortar") > 0) + %weaponCount++; + if (%player.getInventory("MissileLauncher") > 0) + %weaponCount++; + if (%player.getInventory("ShockLance") > 0) + %weaponCount++; + + if ((%armor $= "Light" && %weaponCount < 3) || (%armor $= "Medium" && %weaponCount < 4) || + (%armor $= "Heavy" && %weaponCount < 5)) + { + if ((%type $= "Mortar" && %armor !$= "Heavy") || (%type $= "MissileLauncher" && %armor $= "Light") || + (%type $= "SniperRifle" && %armor !$= "Light")) + return false; + else + return true; + } + + //else we're full of weapons already... + return false; +} + +function AIEngageWeaponRating(%client) +{ + %player = %client.player; + if (!isObject(%player)) + return; + + %playerDataBlock = %client.player.getDataBlock(); + + //get our inventory + %hasBlaster = (%player.getInventory("Blaster") > 0); + %hasPlasma = (%player.getInventory("Plasma") > 0 && %player.getInventory("PlasmaAmmo") >= 1); + %hasChain = (%player.getInventory("Chaingun") > 0 && %player.getInventory("ChaingunAmmo") >= 1); + %hasDisc = (%player.getInventory("Disc") > 0 && %player.getInventory("DiscAmmo") >= 1); + %hasGrenade = (%player.getInventory("GrenadeLauncher") > 0 && %player.getInventory("GrenadeLauncherAmmo") >= 1); + %hasSniper = (%player.getInventory("SniperRifle") > 0) && (%player.getInventory("EnergyPack") > 0); + %hasELF = (%player.getInventory("ELFGun") > 0); + + //check ammo + %quantity = mFloor(%playerDataBlock.max[%type] * 0.7); + + %rating = 0; + if (%hasBlaster) + %rating += 9; + if (%hasSniper) + %rating += 9; + if (%hasElf) + %rating += 9; + + if (%hasDisc) + { + %quantity = %player.getInventory("DiscAmmo") / %playerDataBlock.max["DiscAmmo"]; + %rating += 15 + (15 * %quantity); + } + if (%hasPlasma) + { + %quantity = %player.getInventory("PlasmaAmmo") / %playerDataBlock.max["PlasmaAmmo"]; + %rating += 15 + (15 * %quantity); + } + if (%hasChain) + { + %quantity = %player.getInventory("ChainGunAmmo") / %playerDataBlock.max["ChainGunAmmo"]; + %rating += 15 + (15 * %quantity); + } + +//not really an effective weapon for hand to hand... +// if (%hasGrenade) +// { +// %quantity = %player.getInventory("GrenadeLauncherAmmo") / %playerDataBlock.max["GrenadeLauncherAmmo"]; +// %rating += 10 + (15 * %quantity); +// } + + //note a rating of 20+ means at least two energy weapons, or an ammo weapon with at least 1/3 ammo... + return %rating; +} + +function AIFindSafeItem(%client, %needType) +{ + %player = %client.player; + if (!isObject(%player)) + return -1; + + %closestItem = -1; + %closestDist = 32767; + + %itemCount = $AIItemSet.getCount(); + for (%i = 0; %i < %itemCount; %i++) + { + %item = $AIItemSet.getObject(%i); + if (%item.isHidden()) + continue; + + %type = %item.getDataBlock().getName(); + if ((%needType $= "Health" && (%type $= "RepairKit" || %type $= "RepairPatch") && %player.getDamagePercent() > 0) || + (%needType $= "Ammo" && (%type $= "ChainGunAmmo" || %type $= "PlasmaAmmo" || %type $= "DiscAmmo" || + %type $= "GrenadeLauncherAmmo" || %type $= "MortarAmmo") && AICouldUseItem(%client, %item)) || + (%needType $= "Ammo" && AICanPickupWeapon(%type)) || + ((%needType $= "" || %needType $= "Any") && AICouldUseItem(%client, %item))) + { + //first, see if it's close to us... + %distance = %client.getPathDistance(%item.getTransform()); + if (%distance > 0 && %distance < %closestDist) + { + //now see if it's got bad enemies near it... + %clientCount = ClientGroup.getCount(); + for (%j = 0; %j < %clientCount; %j++) + { + %cl = ClientGroup.getObject(%j); + if (%cl == %client || %cl.team == %client.team || !AIClientIsAlive(%cl)) + continue; + + //if the enemy is stronger, see if they're close to the item + if (AIEngageWhoWillWin(%client, %cl) == %cl) + { + %tempDist = %client.getPathDistance(%item.getWorldBoxCenter()); + if (%tempDist > 0 && %tempDist < %distance + 50) + continue; + } + + //either no enemy, or a weaker one... + %closestItem = %item; + %closestDist = %distance; + } + } + } + } + + return %closestItem; +} + +function AIChooseObjectWeapon(%client, %targetObject, %distToTarg, %mode, %canUseEnergyStr, %environmentStr) +{ + //get our inventory + %player = %client.player; + if (!isObject(%player)) + return; + + if (!isObject(%targetObject)) + return; + + %canUseEnergy = (%canUseEnergyStr $= "true"); + %inWater = (%environmentStr $= "water"); + %hasBlaster = (%player.getInventory("Blaster") > 0) && %canUseEnergy; + %hasPlasma = (%player.getInventory("Plasma") > 0) && (%player.getInventory("PlasmaAmmo") > 0) && !%inWater; + %hasChain = (%player.getInventory("Chaingun") > 0) && (%player.getInventory("ChaingunAmmo") > 0); + %hasDisc = (%player.getInventory("Disc") > 0) && (%player.getInventory("DiscAmmo") > 0); + %hasGrenade = (%player.getInventory("GrenadeLauncher") > 0) && (%player.getInventory("GrenadeLauncherAmmo") > 0); + %hasMortar = (%player.getInventory("Mortar") > 0) && (%player.getInventory("MortarAmmo") > 0); + %hasRepairPack = (%player.getInventory("RepairPack") > 0) && %canUseEnergy; + %hasTargetingLaser = (%player.getInventory("TargetingLaser") > 0) && %canUseEnergy; + %hasMissile = (%player.getInventory("MissileLauncher") > 0) && (%player.getInventory("MissileLauncherAmmo") > 0); + + //see if we're destroying the object + if (%mode $= "Destroy") + { + if ((%targetObject.getDataBlock().getClassName() $= "TurretData" || + %targetObject.getDataBlock().getName() $= "MineDeployed") && %distToTarg < 50) + { + if (%hasPlasma) + %useWeapon = "Plasma"; + else if (%hasDisc) + %useWeapon = "Disc"; + else if (%hasBlaster) + %useWeapon = "Blaster"; + else if (%hasChain) + %useWeapon = "Chaingun"; + else + %useWeapon = "NoAmmo"; + } + else if (%distToTarg < 40) + { + if (%hasPlasma) + %useWeapon = "Plasma"; + else if (%hasChain) + %useWeapon = "Chaingun"; + else if (%hasBlaster) + %useWeapon = "Blaster"; + else if (%hasDisc) + %useWeapon = "Disc"; + else + %useWeapon = "NoAmmo"; + } + else + %useWeapon = "NoAmmo"; + } + + //else See if we're repairing the object + else if (%mode $= "Repair") + { + if (%hasRepairPack) + %useWeapon = "RepairPack"; + else + %useWeapon = "NoAmmo"; + } + + //else see if we're lazing the object + else if (%mode $= "Laze") + { + if (%hasTargetingLaser) + %useWeapon = "TargetingLaser"; + else + %useWeapon = "NoAmmo"; + } + + //else see if we're mortaring the object + else if (%mode $= "Mortar") + { + if (%hasMortar) + %useWeapon = "Mortar"; + else + %useWeapon = "NoAmmo"; + } + + //else see if we're rocketing the object + else if (%mode $= "Missile" || %mode $= "MissileNoLock") + { + if (%hasMissile) + %useWeapon = "MissileLauncher"; + else + %useWeapon = "NoAmmo"; + } + + //now select the weapon + switch$ (%useWeapon) + { + case "Blaster": + %client.player.use("Blaster"); + %client.setWeaponInfo("EnergyBolt", 25, 50, 1, 0.1); + + case "Plasma": + %client.player.use("Plasma"); + %client.setWeaponInfo("PlasmaBolt", 25, 50); + + case "Chaingun": + %client.player.use("Chaingun"); + %client.setWeaponInfo("ChaingunBullet", 30, 75, 150); + + case "Disc": + %client.player.use("Disc"); + %client.setWeaponInfo("DiscProjectile", 30, 75); + + case "GrenadeLauncher": + %client.player.use("GrenadeLauncher"); + %client.setWeaponInfo("BasicGrenade", 40, 75); + + case "Mortar": + %client.player.use("Mortar"); + %client.setWeaponInfo("MortarShot", 100, 350); + + case "RepairPack": + if (%player.getImageState($BackpackSlot) $= "Idle") + %client.player.use("RepairPack"); + %client.setWeaponInfo("DefaultRepairBeam", 40, 75, 300, 0.1); + + case "TargetingLaser": + %client.player.use("TargetingLaser"); + %client.setWeaponInfo("BasicTargeter", 20, 300, 300, 0.1); + + case "MissileLauncher": + %client.player.use("MissileLauncher"); + %client.setWeaponInfo("ShoulderMissile", 80, 300); + + case "NoAmmo": + %client.setWeaponInfo("NoAmmo", 30, 75); + } +} + +function AIChooseEngageWeapon(%client, %targetClient, %distToTarg, %canUseEnergyStr, %environmentStr) +{ + //get some status + %player = %client.player; + if (!isObject(%player)) + return; + + %enemy = %targetClient.player; + if (!isObject(%enemy)) + return; + + %canUseEnergy = (%canUseEnergyStr $= "true"); + %inWater = (%environmentStr $= "water"); + %outdoors = (%environmentStr $= "outdoors"); + %targVelocity = %targetClient.player.getVelocity(); + %targEnergy = %targetClient.player.getEnergyPercent(); + %targDamage = %targetClient.player.getDamagePercent(); + %myEnergy = %player.getEnergyPercent(); + %myDamage = %player.getDamagePercent(); + + //get our inventory + %hasBlaster = (%player.getInventory("Blaster") > 0) && %canUseEnergy; + %hasPlasma = (%player.getInventory("Plasma") > 0) && (%player.getInventory("PlasmaAmmo") > 0) && !%inWater; + %hasChain = (%player.getInventory("Chaingun") > 0) && (%player.getInventory("ChaingunAmmo") > 0); + %hasDisc = (%player.getInventory("Disc") > 0) && (%player.getInventory("DiscAmmo") > 0); + %hasGrenade = (%player.getInventory("GrenadeLauncher") > 0) && (%player.getInventory("GrenadeLauncherAmmo") > 0); + %hasSniper = (%player.getInventory("SniperRifle") > 0) && (%player.getInventory("EnergyPack") > 0) && %canUseEnergy && !%inWater; + %hasELF = (%player.getInventory("ELFGun") > 0) && %canUseEnergy && !%inWater; + %hasMortar = (%player.getInventory("Mortar") > 0) && (%player.getInventory("MortarAmmo") > 0); + %hasMissile = (%player.getInventory("MissileLauncher") > 0) && (%player.getInventory("MissileLauncherAmmo") > 0); + %hasShockLance = (%player.getInventory("ShockLance") > 0) && %canUseEnergy && !%inWater; + + //choose the weapon + %useWeapon = "NoAmmo"; + + //first, see if it's a pilot we're shooting + if (%dist > 50 && %enemy.isMounted() && %hasMissile) + { + %useWeapon = "MissileLauncher"; + } + else if (%distToTarg < 5 && %hasShockLance) + { + %useWeapon = "ShockLance"; + } + else if (%distToTarg < 15) + { + if (%hasELF && %myEnergy > 0.5 && %targEnergy > 0.3 && %myDamage < %targDamage && %targetZ > %myZ + 20) + %useWeapon = "ELFGun"; + else if (%hasPlasma) + %useWeapon = "Plasma"; + else if (%hasChain) + %useWeapon = "Chaingun"; + else if (%hasBlaster) + %useWeapon = "Blaster"; + else if (%hasELF && %targEnergy > 0.2) + %useWeapon = "ELFGun"; + else if (%hasDisc) + %useWeapon = "Disc"; + else if (%hasShockLance) + %useWeapon = "ShockLance"; + } + else if (%distToTarg < 35) + { + if (%hasELF && %targEnergy > 0.4 && (%myDamage < 0.3 || %myDamage - %targDamage < 0.2) && %targetZ > %myZ + 20) + %useWeapon = "ELFGun"; + else if (!%outdoors && %hasPlasma) + %useWeapon = "Plasma"; + else if (%hasChain && %hasDisc) + { + %speed = VectorDist("0 0 0", %targVelocity); + %myZ = getWord(%player.getTransform(), 2); + %targetZ = getWord(%enemy.getTransform(), 2); + %targetZVel = getWord(%targVelocity, 2); + + if (%speed > 15.0 || %targetZ > %myZ || %targetZVel > 1.0) + %useWeapon = "Chaingun"; + else + %useWeapon = "Disc"; + } + else if (%hasPlasma) + %useWeapon = "Plasma"; + else if (%hasChain) + %useWeapon = "Chaingun"; + else if (%hasDisc) + %useWeapon = "Disc"; + else if (%hasBlaster) + %useWeapon = "Blaster"; + } + else if (%distToTarg < 60) + { + if (%hasGrenade) + %useWeapon = "GrenadeLauncher"; + else if (%hasSniper && %myEnergy > 0.6) + %useWeapon = "SniperRifle"; + + } + else if (%distToTarg < 80) + { + if (%hasSniper && %myEnergy > 0.4) + %useWeapon = "SniperRifle"; + else if (%hasDisc) + %useWeapon = "Disc"; + else if (%hasChain) + %useWeapon = "Chaingun"; + else if (%hasBlaster) + %useWeapon = "Blaster"; + } + else + { + if (%hasSniper) + %useWeapon = "SniperRifle"; + } + + //now make sure we actually selected something + if (%useWeapon $= "NoAmmo") + { + if (%hasDisc) + %useWeapon = "Disc"; + else if (%hasChain) + %useWeapon = "Chaingun"; + else if (%hasPlasma) + %useWeapon = "Plasma"; + else if (%hasBlaster) + %useWeapon = "Blaster"; + else if (%hasELF) + %useWeapon = "ELFGun"; + else if (%hasSniper) + %useWeapon = "SniperRifle"; + else if (%hasShockLance) + %useWeapon = "ShockLance"; + else if (%hasGrenade) + %useWeapon = "GrenadeLauncher"; + else if (%hasMissile) + %useWeapon = "MissileLauncher"; + } + + //now select the weapon + switch$ (%useWeapon) + { + case "Blaster": + %client.player.use("Blaster"); + %client.setWeaponInfo("EnergyBolt", 25, 50, 1, 0.1); + + case "Plasma": + %client.player.use("Plasma"); + %client.setWeaponInfo("PlasmaBolt", 25, 50); + + case "Chaingun": + %client.player.use("Chaingun"); + %client.setWeaponInfo("ChaingunBullet", 30, 75, 150); + + case "Disc": + %client.player.use("Disc"); + %client.setWeaponInfo("DiscProjectile", 30, 75); + + case "GrenadeLauncher": + %client.player.use("GrenadeLauncher"); + %client.setWeaponInfo("BasicGrenade", 40, 75); + + case "SniperRifle": + %client.player.use("SniperRifle"); + %client.setWeaponInfo("BasicSniperShot", 80, 350, 1, 0.75, 0.5); + + case "ELFGun": + %client.player.use("ELFGun"); + %client.setWeaponInfo("BasicELF", 25, 45, 90, 0.1); + + case "ShockLance": + %client.player.use("ShockLance"); + %client.setWeaponInfo("BasicShocker", 0.5, 8, 1, 0.1); + + case "MissileLauncher": + %client.player.use("MissileLauncher"); + %client.setWeaponInfo("ShoulderMissile", 80, 350); + + case "NoAmmo": + %client.setWeaponInfo("NoAmmo", 30, 75); + } +} + +//function is called once per frame, to handle packs, healthkits, grenades, etc... +function AIProcessEngagement(%client, %target, %type, %projectile) +{ + //make sure we're still alive + if (! AIClientIsAlive(%client)) + return; + + //clear the pressFire + %client.pressFire(-1); + + //see if we have to use a repairkit + %player = %client.player; + if (!isObject(%player)) + return; + + if (%client.getSkillLevel() > 0.1 && %player.getDamagePercent() > 0.3 && %player.getInventory("RepairKit") > 0) + { + //add in a "skill" value to delay the using of the repair kit for up to 10 seconds... + %elapsedTime = getSimTime() - %client.lastDamageTime; + %skillValue = (1.0 - %client.getSkillLevel()) * (1.0 - %client.getSkillLevel()); + if (%elapsedTime > (%skillValue * 20000)) + %player.use("RepairKit"); + } + + //see if we've been blinded + if (%player.getWhiteOut() > 0.6) + %client.setBlinded(2000); + + //else see if there's a grenade in the vicinity... + else + { + %count = $AIGrenadeSet.getCount(); + for (%i = 0; %i < %count; %i++) + { + %grenade = $AIGrenadeSet.getObject(%i); + + //make sure the grenade isn't ours + if (%grenade.sourceObject.client != %client) + { + //see if it's within 15 m + if (VectorDist(%grenade.position, %client.player.position) < 15) + { + %client.setDangerLocation(%grenade.position, 20); + break; + } + } + } + } + + //if we're being hunted by a seeker projectile, throw a flare grenade + if (%player.getInventory("FlareGrenade") > 0) + { + %missileCount = MissileSet.getCount(); + for (%i = 0; %i < %missileCount; %i++) + { + %missile = MissileSet.getObject(%i); + if (%missile.getTargetObject() == %player) + { + //see if the missile is within range + if (VectorDist(%missile.getTransform(), %player.getTransform()) < 50) + { + %player.throwStrength = 1.5; + %player.use("FlareGrenade"); + break; + } + } + } + } + + //see what we're fighting + switch$ (%type) + { + case "player": + //make sure the target is alive + if (AIClientIsAlive(%target)) + { + //if the target is in range, and within 10-40 m, and heading in this direction, toss a grenade + if (!$AIDisableGrenades && %client.getSkillLevel() >= 0.3) + { + if (%player.getInventory("Grenade") > 0) + %grenadeType = "Grenade"; + else if (%player.getInventory("FlashGrenade") > 0) + %grenadeType = "FlashGrenade"; + else if (%player.getInventory("ConcussionGrenade") > 0) + %grenadeType = "ConcussionGrenade"; + else %grenadeType = ""; + if (%grenadeType !$= "" && %client.targetInSight()) + { + //see if the predicted location of the target is within 10m + %targPos = %target.player.getWorldBoxCenter(); + %clientPos = %player.getWorldBoxCenter(); + + //make sure we're not *way* above the target + if (getWord(%clientPos, 2) - getWord(%targPos, 2) < 3) + { + %dist = VectorDist(%targPos, %clientPos); + %direction = VectorDot(VectorSub(%clientPos, %targPos), %target.player.getVelocity()); + %facing = VectorDot(VectorSub(%client.getAimLocation(), %clientPos), VectorSub(%targPos, %clientPos)); + if (%dist > 20 && %dist < 45 && (%direction > 0.9 || %direction < -0.9) && (%facing > 0.9)) + { + %player.throwStrength = 1.0; + %player.use(%grenadeType); + } + } + } + } + + //see if we have a shield pack that we need to use + if (%player.getInventory("ShieldPack") > 0) + { + if (%projectile > 0 && %player.getImageState($BackpackSlot) $= "Idle") + { + %player.use("Backpack"); + } + else if (%projectile <= 0 && %player.getImageState($BackpackSlot) $= "activate") + { + %player.use("Backpack"); + } + } + } + + case "object": + %hasGrenade = %player.getInventory("Grenade"); + if (%hasGrenade && %client.targetInRange()) + { + %targPos = %target.getWorldBoxCenter(); + %myPos = %player.getWorldBoxCenter(); + %dist = VectorDist(%targPos, %myPos); + if (%dist > 5 && %dist < 20) + { + %player.throwStrength = 1.0; + %player.use("Grenade"); + } + } + + case "none": + //use the repair pack if we have one + if (%player.getDamagePercent() > 0 && %player.getInventory(RepairPack) > 0) + { + if (%player.getImageState($BackpackSlot) $= "Idle") + %client.player.use("RepairPack"); + else + //sustain the fire for 30 frames - this callback is timesliced... + %client.pressFire(30); + } + } +} + +function AIFindClosestInventory(%client, %armorChange) +{ + %closestInv = -1; + %closestDist = 32767; + + %depCount = 0; + %depGroup = nameToID("MissionCleanup/Deployables"); + if (%depGroup > 0) + %depCount = %depGroup.getCount(); + + // there exists a deployed station, lets find it + if(!%armorChange && %depCount > 0) + { + for(%i = 0; %i < %depCount; %i++) + { + %obj = %depGroup.getObject(%i); + + if(%obj.getDataBlock().getName() $= "DeployedStationInventory" && %obj.team == %client.team && %obj.isEnabled()) + { + %distance = %client.getPathDistance(%obj.getTransform()); + if (%distance > 0 && %distance < %closestDist) + { + %closestInv = %obj; + %closestDist = %distance; + } + } + } + } + + // still check if there is one that is closer + %invCount = $AIInvStationSet.getCount(); + for (%i = 0; %i < %invCount; %i++) + { + %invStation = $AIInvStationSet.getObject(%i); + if (%invStation.team <= 0 || %invStation.team == %client.team) + { + //error("DEBUG: found an inventory station: " @ %invStation @ " status: " @ %invStation.isPowered()); + //make sure the station is powered + if (!%invStation.isDisabled() && %invStation.isPowered()) + { + %dist = %client.getPathDistance(%invStation.getTransform()); + if (%dist > 0 && %dist < %closestDist) + { + %closestInv = %invStation; + %closestDist = %dist; + } + } + } + } + + return %closestInv @ " " @ %closestDist; +} + +//------------------------------ +//find the closest inventories for the objective weight functions +function AIFindClosestInventories(%client) +{ + %closestInv = -1; + %closestDist = 32767; + %closestRemoteInv = -1; + %closestRemoteDist = 32767; + + %depCount = 0; + %depGroup = nameToID("MissionCleanup/Deployables"); + + //first, search for the nearest deployable inventory station + if (isObject(%depGroup)) + { + %depCount = %depGroup.getCount(); + for (%i = 0; %i < %depCount; %i++) + { + %obj = %depGroup.getObject(%i); + + if (%obj.getDataBlock().getName() $= "DeployedStationInventory" && %obj.team == %client.team && %obj.isEnabled()) + { + %distance = %client.getPathDistance(%obj.getTransform()); + if (%distance > 0 && %distance < %closestRemoteDist) + { + %closestRemoteInv = %obj; + %closestRemoteDist = %distance; + } + } + } + } + + // now find the closest regular inventory station + %invCount = $AIInvStationSet.getCount(); + for (%i = 0; %i < %invCount; %i++) + { + %invStation = $AIInvStationSet.getObject(%i); + if (%invStation.team <= 0 || %invStation.team == %client.team) + { + //make sure the station is powered + if (!%invStation.isDisabled() && %invStation.isPowered()) + { + %dist = %client.getPathDistance(%invStation.getTransform()); + if (%dist > 0 && %dist < %closestDist) + { + %closestInv = %invStation; + %closestDist = %dist; + } + } + } + } + + //if the regular inv station is closer than the deployed, don't bother with the remote + if (%closestDist < %closestRemoteDist) + %returnStr = %closestInv SPC %closestDist; + else + %returnStr = %closestInv SPC %closestDist SPC %closestRemoteInv SPC %closestRemoteDist; + + return %returnStr; +} + +//------------------------------ +//AI Equipment Configs +$EquipConfigIndex = -1; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Heavy"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "AmmoPack"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Mortar"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "MortarAmmo"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[HeavyAmmoSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Heavy"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "ShieldPack"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Mortar"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "MortarAmmo"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[HeavyShieldSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "Heavy"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "Mortar"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "MortarAmmo"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[HeavyEnergySet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "Heavy"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "RepairPack"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "Mortar"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "MortarAmmo"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[HeavyRepairSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "Heavy"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "TurretIndoorDeployable"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[HeavyIndoorTurretSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "Heavy"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "InventoryDeployable"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[HeavyInventorySet, $EquipConfigIndex++] = "Mine"; + +//------------------------------ + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "RepairPack"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumRepairSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "ShieldPack"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumShieldSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumEnergySet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "MissileLauncher"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "MissileLauncherAmmo"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumMissileSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "TurretOutdoorDeployable"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumOutdoorTurretSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "TurretIndoorDeployable"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumIndoorTurretSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "Medium"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "InventoryDeployable"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[MediumInventorySet, $EquipConfigIndex++] = "Mine"; + +//------------------------------ + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[LightEnergyDefault, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "SniperRifle"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[LightEnergySniper, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "ELFGun"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[LightEnergyELF, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "ShieldPack"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[LightShieldSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "CloakingPack"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "Plasma"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "PlasmaAmmo"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "FlashGrenade"; +$AIEquipmentSet[LightCloakSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "RepairPack"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "GrenadeLauncher"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "GrenadeLauncherAmmo"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[LightRepairSet, $EquipConfigIndex++] = "Mine"; + +$EquipConfigIndex = -1; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "Light"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "EnergyPack"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "Disc"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "DiscAmmo"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "Chaingun"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "ChaingunAmmo"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "SniperRifle"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "TargetingLaser"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "RepairKit"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "Grenade"; +$AIEquipmentSet[LightSniperChain, $EquipConfigIndex++] = "Mine"; diff --git a/public/base/@vl2/scripts.vl2/scripts/aiObjectiveBuilder.cs b/public/base/@vl2/scripts.vl2/scripts/aiObjectiveBuilder.cs new file mode 100644 index 00000000..b1e9bd02 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiObjectiveBuilder.cs @@ -0,0 +1,645 @@ +// used to automatically create all objectives for a mission + +function AIgeneratorObjectiveInit(%object) +{ + if(%object.isUnderTerrain) + return; // no objectives for generators that act as a simple power sources + + if(%object.team > 0) + { + %homeTeam = %object.team; + if(%homeTeam == 1) + %enemyTeam = 2; + else + %enemyTeam = 1; + + addAIObjective(%enemyTeam, createDefaultAttack(%object, $AIWeightAttackGenerator[1], $AIWeightAttackGenerator[2])); + addAIObjective(%homeTeam, createDefaultRepair(%object, $AIWeightRepairGenerator[1], $AIWeightRepairGenerator[2])); + addAIObjective(%homeTeam, createDefaultDefend(%object, $AIWeightDefendGenerator[1], $AIWeightDefendGenerator[2])); + } + else + { + addAIObjective(1, createDefaultRepair(%object, $AIWeightRepairGenerator[1], $AIWeightRepairGenerator[2])); + addAIObjective(1, createDefaultAttack(%object, $AIWeightAttackGenerator[1], $AIWeightAttackGenerator[2])); + addAIObjective(1, createDefaultDefend(%object, $AIWeightDefendGenerator[1], $AIWeightDefendGenerator[2])); + addAIObjective(2, createDefaultRepair(%object, $AIWeightRepairGenerator[1], $AIWeightRepairGenerator[2])); + addAIObjective(2, createDefaultAttack(%object, $AIWeightAttackGenerator[1], $AIWeightAttackGenerator[2])); + addAIObjective(2, createDefaultDefend(%object, $AIWeightDefendGenerator[1], $AIWeightDefendGenerator[2])); + } +} + +//-------------------------------------------------------------------------------------------------------- + +function AIsensorObjectiveInit(%object) +{ + if(%object.team > 0) + { + %homeTeam = %object.team; + if(%homeTeam == 1) + %enemyTeam = 2; + else + %enemyTeam = 1; + + addAIObjective(%homeTeam, createDefaultRepair(%object, $AIWeightRepairTurret[1], $AIWeightRepairTurret[2])); + addAIObjective(%enemyTeam, createDefaultMortar(%object, $AIWeightMortarTurret[1], $AIWeightMortarTurret[2])); + } + else + { + addAIObjective(1, createDefaultRepair(%object, $AIWeightRepairTurret[1], $AIWeightRepairTurret[2])); + addAIObjective(1, createDefaultMortar(%object, $AIWeightMortarTurret[1], $AIWeightMortarTurret[2])); + addAIObjective(2, createDefaultRepair(%object, $AIWeightRepairTurret[1], $AIWeightRepairTurret[2])); + addAIObjective(2, createDefaultMortar(%object, $AIWeightMortarTurret[1], $AIWeightMortarTurret[2])); + } +} + +//-------------------------------------------------------------------------------------------------------- + +function AIflipflopObjectiveInit(%object) +{ + // this will always start out neutral (Team 0) + addAIObjective(1, createDefaultDefend(%object, $AIWeightDefendFlipFlop[1], $AIWeightDefendFlipFlop[2])); + addAIObjective(1, createDefaultTouch(%object, $AIWeightCaptureFlipFlop[1], $AIWeightCaptureFlipFlop[2])); + addAIObjective(2, createDefaultDefend(%object, $AIWeightDefendFlipFlop[1], $AIWeightDefendFlipFlop[2])); + addAIObjective(2, createDefaultTouch(%object, $AIWeightCaptureFlipFlop[1], $AIWeightCaptureFlipFlop[2])); +} + +//-------------------------------------------------------------------------------------------------------- + +function AIturretObjectiveInit(%object) +{ + if(%object.team > 0) + { + %homeTeam = %object.team; + if(%homeTeam == 1) + %enemyTeam = 2; + else + %enemyTeam = 1; + + addAIObjective(%homeTeam, createDefaultRepair(%object, $AIWeightRepairTurret[1], $AIWeightRepairTurret[2])); + + // attack for indoor turrets, mortar for outside turrets + if(%object.getDataBlock().getName() $= "SentryTurret") + addAIObjective(%enemyTeam, createDefaultAttack(%object, $AIWeightAttackInventory[1], $AIWeightAttackInventory[2])); + else + addAIObjective(%enemyTeam, createDefaultMortar(%object, $AIWeightMortarTurret[1], $AIWeightMortarTurret[2])); + } + else + { + addAIObjective(1, createDefaultRepair(%object, $AIWeightRepairTurret[1], $AIWeightRepairTurret[2])); + addAIObjective(1, createDefaultMortar(%object, $AIWeightMortarTurret[1], $AIWeightMortarTurret[2])); + addAIObjective(2, createDefaultRepair(%object, $AIWeightRepairTurret[1], $AIWeightRepairTurret[2])); + addAIObjective(2, createDefaultMortar(%object, $AIWeightMortarTurret[1], $AIWeightMortarTurret[2])); + } +} + +//-------------------------------------------------------------------------------------------------------- + +function AIinventoryObjectiveInit(%object) +{ + if(%object.team > 0) + { + %homeTeam = %object.team; + if(%homeTeam == 1) + %enemyTeam = 2; + else + %enemyTeam = 1; + + addAIObjective(%homeTeam, createDefaultRepair(%object, $AIWeightRepairInventory[1], $AIWeightRepairInventory[2])); + addAIObjective(%enemyTeam, createDefaultAttack(%object, $AIWeightAttackInventory[1], $AIWeightAttackInventory[2])); + } + else + { + addAIObjective(1, createDefaultRepair(%object, $AIWeightRepairInventory[1], $AIWeightRepairInventory[2])); + addAIObjective(1, createDefaultAttack(%object, $AIWeightAttackInventory[1], $AIWeightAttackInventory[2])); + addAIObjective(2, createDefaultRepair(%object, $AIWeightRepairInventory[1], $AIWeightRepairInventory[2])); + addAIObjective(2, createDefaultAttack(%object, $AIWeightAttackInventory[1], $AIWeightAttackInventory[2])); + } +} + +//-------------------------------------------------------------------------------------------------------- + +function createDefaultTouch(%object, %weight1, %weight2) +{ + %objective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + description = "Capture the " @ %object.getName(); + weightLevel1 = %weight1; + weightLevel2 = %weight2; + mode = "TouchFlipFlop"; + targetObject = %object.getName(); + targetClientId = -1; + targetObjectId = -1; + offense = true; + location = %object.getWorldBoxCenter(); + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + }; + + if(%object.missionTypesList !$= "") + %objective.gameType = %object.missionTypesList; + + %objective.position = %objective.location; + return %objective; +} + +//-------------------------------------------------------------------------------------------------------- + +function createDefaultMortar(%object, %weight1, %weight2) +{ + %objective = new AIObjective(AIOMortarObject) + { + dataBlock = "AIObjectiveMarker"; + description = "Mortar the " @ %object.getDataBlock().getName(); + targetObject = %object.getName(); + targetObjectId = %object; + targetClientId = -1; + weightLevel1 = %weight1; + weightLevel2 = %weight2; + location = %object.getWorldBoxCenter(); + offense = true; + equipment = "Mortar MortarAmmo"; + buyEquipmentSet = "HeavyAmmoSet"; + }; + + if(%object.missionTypesList !$= "") + %objective.gameType = %object.missionTypesList; + + %objective.position = %objective.location; + return %objective; +} + +//-------------------------------------------------------------------------------------------------------- + +function createDefaultRepair(%object, %weight1, %weight2) +{ + %objective = new AIObjective(AIORepairObject) + { + dataBlock = "AIObjectiveMarker"; + description = "Repair the " @ %object.getDataBlock().getName(); + targetObject = %object.getName(); + targetObjectId = %object; + targetClientId = -1; + weightLevel1 = %weight1; + weightLevel2 = %weight2; + location = %object.getWorldBoxCenter(); + defense = true; + equipment = "RepairPack"; + buyEquipmentSet = "MediumRepairSet"; + }; + + if(%object.missionTypesList !$= "") + %objective.gameType = %object.missionTypesList; + + %objective.position = %objective.location; + return %objective; +} + +//-------------------------------------------------------------------------------------------------------- + +function createDefaultAttack(%object, %weight1, %weight2) +{ + %objective = new AIObjective(AIOAttackObject) + { + dataBlock = "AIObjectiveMarker"; + description = "Attack the " @ %object.getDataBlock().getName(); + targetObject = %object.getName(); + targetObjectId = %object; + targetClientId = -1; + weightLevel1 = %weight1; + weightLevel2 = %weight2; + location = %object.getWorldBoxCenter(); + offense = true; + desiredEquipment = "ShieldPack"; + buyEquipmentSet = "HeavyAmmoSet"; + }; + + if(%object.missionTypesList !$= "") + %objective.gameType = %object.missionTypesList; + + %objective.position = %objective.location; + return %objective; +} + +//-------------------------------------------------------------------------------------------------------- + +function createDefaultDefend(%object, %weight1, %weight2) +{ + %objective = new AIObjective(AIODefendLocation) + { + dataBlock = "AIObjectiveMarker"; + description = "Defend the " @ %object.getDataBlock().getName(); + targetObject = %object.getName(); + targetObjectId = %object; + targetClientId = -1; + weightLevel1 = %weight1; + weightLevel2 = %weight2; + location = %object.getWorldBoxCenter(); + defense = true; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + }; + + if(%object.missionTypesList !$= "") + %objective.gameType = %object.missionTypesList; + + %objective.position = %objective.location; + return %objective; +} + +//-------------------------------------------------------------------------------------------------------- + +function AIflagObjectiveInit(%flag) +{ + %homeTeam = %flag.team; + + if(%homeTeam == 1) + %enemyTeam = 2; + else + %enemyTeam = 1; + + if(%flag.missionTypesList !$= "") + { + %missionSpecific = true; + %misType = %flag.missionTypesList; + } + + %newObjective = new AIObjective(AIODefendLocation) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightDefendFlag[1]; + weightLevel2 = $AIWeightDefendFlag[2]; + description = "Defend our flag"; + targetObject = %flag.getName(); + targetObjectId = %flag; + targetClientId = -1; + location = %flag.getWorldBoxCenter(); + defense = true; + desiredEquipment = "ShieldPack Plasma PlasmaAmmo"; + buyEquipmentSet = "HeavyShieldSet"; + chat = "ChatSelfDefendFlag DefendBase"; + }; + + if(%missionSpecific) + %newObjective.gameType = %misType; + else + %newObjective.gameType = "all"; + + %newObjective.position = %newObjective.location; + addAIObjective(%homeTeam, %newObjective); + + %newObjective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightGrabFlag[1]; + weightLevel2 = $AIWeightGrabFlag[2]; + description = "Grab the enemy flag"; + targetObject = %flag.getName(); + targetObjectId = %flag; + targetClientId = -1; + location = %flag.getWorldBoxCenter(); + mode = "FlagGrab"; + offense = true; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + }; + + if(%missionSpecific) + %newObjective.gameType = %misType; + else + %newObjective.gameType = "all"; + + %newObjective.position = %newObjective.location; + addAIObjective(%enemyTeam, %newObjective); + + //NOTE: for this objective, we need to fill in the targetClientId when the flag is taken + %newObjective = new AIObjective(AIOAttackPlayer) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightKillFlagCarrier[1]; + weightLevel2 = $AIWeightKillFlagCarrier[2]; + description = "Kill the enemy flag carrier"; + mode = "FlagCarrier"; + targetObject = %flag.getName(); + targetObjectId = -1; + targetClientId = -1; + offense = true; + desiredEquipment = "Light EnergyPack"; + buyEquipmentSet = "LightEnergySniper"; + }; + + if(%missionSpecific) + %newObjective.gameType = %misType; + else + %newObjective.gameType = "all"; + + %newObjective.position = %flag.getWorldBoxCenter(); + addAIObjective(%homeTeam, %newObjective); + + //NOTE: for this objective, we need to fill in the location when the flag is grabbed + %newObjective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightCapFlag[1]; + weightLevel2 = $AIWeightCapFlag[2]; + description = "Capture the flag!"; + targetObject = %flag.getName(); + targetObjectId = %flag; + targetClientId = -1; + mode = "FlagCapture"; + offense = true; + defense = true; + }; + + if(%missionSpecific) + %newObjective.gameType = %misType; + else + %newObjective.gameType = "all"; + + %newObjective.position = %flag.getWorldBoxCenter(); + addAIObjective(%enemyTeam, %newObjective); + + %newObjective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightReturnFlag[1]; + weightLevel2 = $AIWeightReturnFlag[2]; + description = "Return our flag"; + targetObject = %flag.getName(); + targetObjectId = %flag; + targetClientId = -1; + location = %flag.getWorldBoxCenter(); + mode = "FlagDropped"; + offense = true; + defense = true; + }; + + if(%missionSpecific) + %newObjective.gameType = %misType; + else + %newObjective.gameType = "all"; + + %newObjective.position = %newObjective.location; + addAIObjective(%homeTeam, %newObjective); + + %newObjective = new AIObjective(AIOTouchObject) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightReturnFlag[1]; + weightLevel2 = $AIWeightReturnFlag[2]; + description = "Grab the dropped enemy flag"; + targetObject = %flag.getName(); + targetObjectId = %flag; + targetClientId = -1; + mode = "FlagDropped"; + offense = true; + defense = true; + }; + + if(%missionSpecific) + %newObjective.gameType = %misType; + else + %newObjective.gameType = "all"; + + %newObjective.position = %flag.getWorldBoxCenter(); + addAIObjective(%enemyTeam, %newObjective); +} + +//-------------------------------------------------------------------------------------------------------- + +function addAIObjective(%team, %objective) +{ + if(AIObjectiveExists(%objective, %team) == false) + nameToId("MissionGroup/Teams/team" @ %team @ "/AIObjectives").add(%objective); + else + %objective.delete(); +} + +//-------------------------------------------------------------------------------------------------------- + +function AICreateObjectives() +{ + messageBoxOkCancel("Build Objectives", "Are you sure you want to build all mission objectives?", "AIBuildObjectives();"); +} + +function AIBuildObjectives() +{ + // make sure there exists our objectives group + for(%i = 0; %i <= Game.numTeams; %i++) + { + %objGroup = nameToId("MissionGroup/Teams/team" @ %i @ "/AIObjectives"); + %teamGroup = nameToID("MissionGroup/Teams/team" @ %i); + + if(%objGroup <= 0) + { + %set = new SimGroup(AIObjectives); + %teamGroup.add(%set); + } + else + { + // there already exists a folder for AIobjectives + // remove any objectives that are not locked + %count = 0; + while(%objGroup.getCount() && (%count != %objGroup.getCount())) + { + %obj = %objGroup.getObject(%count); + if(!%obj.locked) + %objGroup.remove(%obj); + else + %count++; + } + } + } + + for(%k = 0; %k <= Game.numTeams; %k++) + { + %teamGroup = nameToID("MissionGroup/Teams/team" @ %k); + %teamGroup.AIobjectiveInit(false); + } +} + +//-------------------------------------------------------------------------------------------------------- + +function SimGroup::AIobjectiveInit(%this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).AIobjectiveInit(); +} + +//-------------------------------------------------------------------------------------------------------- + +function GameBase::AIobjectiveInit(%this) +{ + %this.getDataBlock().AIobjectiveInit(%this); +} + +//-------------------------------------------------------------------------------------------------------- + +function AssignName(%object) +{ + %root = %object.getDataBlock().getName(); + if (%root $= "") + %root = "Unknown"; + + if (%object.team >= 0) + %newName = "Team" @ %object.team @ %root; + else + %newName = "Unnamed" @ %root; + %i = 1; + while (isObject(%newName @ %i)) + %i++; + %object.setName(%newName @ %i); +} + +//-------------------------------------------------------------------------------------------------------- + +function StationInventory::AIobjectiveInit(%data, %object) +{ + if(%object.getName() $= "") + AssignName(%object); + + AIinventoryObjectiveInit(%object); +} + +//-------------------------------------------------------------------------------------------------------- + +function Generator::AIobjectiveInit(%data, %object) +{ + if(%object.getName() $= "") + AssignName(%object); + + if(!%object.isUnderTerrain) + AIgeneratorObjectiveInit(%object); +} + +//-------------------------------------------------------------------------------------------------------- + +function TurretData::AIobjectiveInit(%data, %object) +{ + if(%object.getName() $= "") + AssignName(%object); + + AIturretObjectiveInit(%object); +} + +//-------------------------------------------------------------------------------------------------------- + +function Sensor::AIobjectiveInit(%data, %object) +{ + if(%object.getName() $= "") + AssignName(%object); + + AIsensorObjectiveInit(%object); +} + +//-------------------------------------------------------------------------------------------------------- + +function Flag::AIobjectiveInit(%data, %object) +{ + if(%object.getName() $= "") + AssignName(%object); + + AIflagObjectiveInit(%object); +} + +//-------------------------------------------------------------------------------------------------------- + +function FlipFlop::AIobjectiveInit(%data, %object) +{ + if(%object.getName() $= "") + AssignName(%object); + + AIflipflopObjectiveInit(%object); +} + +//-------------------------------------------------------------------------------------------------------- + +function saveObjectives() +{ + for(%i = 1; %i <= 2; %i++) + saveObjectives(%i); +} + +//-------------------------------------------------------------------------------------------------------- + +function saveObjectiveFile(%team) +{ + // check for read-only + %fileName = $CurrentMission @ "team" @ %team @ ".cs"; + %file = "base/missions/" @ %fileName; + + if(!isWriteableFileName(%file)) + { + error("Objectives file '" @ %fileName @ "' is not writeable."); + return; + } + + // ok, were good to save. + %objectives = nameToId("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); + %objectives.save("missions/" @ %fileName); +} + +//-------------------------------------------------------------------------------------------------------- + +function LoadObjectives(%numTeams) +{ + for(%i = 1; %i <= %numTeams; %i++) + loadObjectivesFile(%i); +} + +//-------------------------------------------------------------------------------------------------------- + +function LoadObjectivesFile(%team) +{ + %file = $CurrentMission @ "team" @ %team; + exec("missions/" @ %file); + %newObjSet = nameToId("MissionCleanup/AIObjectives"); + + if(%newObjSet > 0) + { + %group = NameToId("MissionGroup/Teams/team" @ %team); + %oldObjSet = NameToId("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); + + if(%oldObjSet > 0) + { + %oldObjSet.delete(); + %group.add(%newObjSet); + } + } + else + error("no objectives file for team" @ %team @ ". Loading defaults..."); +} + +//-------------------------------------------------------------------------------------------------------- + +function AIObjectiveExists(%newObjective, %team) +{ + %objGroup = nameToId("MissionGroup/Teams/team" @ %team @ "/AIObjectives"); + %objCount = %objGroup.getCount(); + %exists = false; + + for(%i = 0; %i < %objCount; %i++) + { + %obj = %objGroup.getObject(%i); + + if(%obj.getName() $= %newObjective.getName()) + { + if((%obj.getName() $= "AIOMortarObject") || + (%obj.getName() $= "AIORepairObject") || + (%obj.getName() $= "AIOAttackObject") || + (%obj.getName() $= "AIODefendLocation")) + { + if(%obj.targetObjectId == %newObjective.targetObjectId) + %exists = true; + } + else if((%obj.getName() $= "AIOTouchObject") || + (%obj.getName() $= "AIOAttackPlayer")) + { + if(%obj.mode $= %newObjective.mode) + if(%obj.description $= %newObjective.description) + %exists = true; + } + } + } + return %exists; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/aiObjectives.cs b/public/base/@vl2/scripts.vl2/scripts/aiObjectives.cs new file mode 100644 index 00000000..23cdd875 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiObjectives.cs @@ -0,0 +1,3809 @@ +//------------------------------ +//AI Objective Q functions... + +$ObjectiveClientsSet = 0; +function AIObjectiveFindClients(%objective) +{ + //create and clear the set + if (! $ObjectiveClientsSet) + { + $ObjectiveClientsSet = new SimSet(); + MissionCleanup.add($ObjectiveClientSet); + } + $ObjectiveClientsSet.clear(); + + %clientCount = 0; + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.objective == %objective) + $ObjectiveClientsSet.add(%cl); + } + return $ObjectiveClientsSet.getCount(); +} + +function AIObjectiveGetClosestClient(%location, %team) +{ + if (%location $= "") + return -1; + + if (%team $= "") + %team = 0; + + %closestClient = -1; + %closestDistance = 32767; + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIControlled() && (%cl.team == %team || %team == 0) && AIClientIsAlive(%cl)) + { + %testPos = %cl.player.getWorldBoxCenter(); + %distance = VectorDist(%location, %testPos); + if (%distance < %closestDistance) + { + %closestDistance = %distance; + %closestClient = %cl; + } + } + } + + return %closestClient; +} + +function AICountObjectives(%team) +{ + %objCount = 0; + %count = $ObjectiveQ[%team].getCount(); + for (%i = 0; %i < %count; %i++) + { + %grp = $ObjectiveQ[%team].getObject(%i); + if (%grp.getClassName() !$= "AIObjective") + %objCount += %grp.getCount(); + else + %objCount++; + } + error("DEBUG" SPC %team SPC "has" SPC %objCount SPC "objectives."); +} + +function AIAddTableObjective(%objective, %weight, %level, %bump, %position) +{ + $objTable[%position, objective] = %objective; + $objTable[%position, weight] = %weight; + $objTable[%position, level] = %level; + $objTable[%position, bump] = %bump; + $objTableCount = %position + 1; +} + +function AIChooseObjective(%client, %useThisObjectiveQ) +{ + //pick which objectiveQ to use, or use the default + if (%useThisObjectiveQ <= 0 && %client.team < 0) + return; + + if (%useThisObjectiveQ <= 0) + %useThisObjectiveQ = $ObjectiveQ[%client.team]; + + if (!isObject(%useThisObjectiveQ) || %useThisObjectiveQ.getCount() <= 0) + return; + + //since most objectives check for inventory, find the closest inventory stations first + %inventoryStr = AIFindClosestInventories(%client); + + //find the most appropriate objective + if (!%client.objective) + { + //note, the table is never empty, during the course of this function + AIAddTableObjective(0, 0, 0, 0, 0); + } + else + { + //should re-evaluate the current objective weight - but never decrease the weight!!! + %testWeight = %client.objective.weight(%client, %client.objectiveLevel, 0, %inventoryStr); + if (%testWeight <= 0 || %testWeight > %client.objectiveWeight) + %client.objectiveWeight = %testWeight; + + if (%client.objectiveWeight > 0) + AIAddTableObjective(%client.objective, %client.objectiveWeight, %client.objectiveLevel, 0, 0); + else + AIAddTableObjective(0, 0, 0, 0, 0); + } + + %objCount = %useThisObjectiveQ.getCount(); + for (%i = 0; %i < %objCount; %i++) + { + %objective = %useThisObjectiveQ.getObject(%i); + + //don't re-evaluate the client's own + if (%objective == %client.objective) + continue; + + //try this objective at each of the 4 weight levels to see if it is weighted higher + for (%level = 1; %level <= 4; %level++) + { + %minWeight = 0; + %bumpWeight = 0; + %bumpClient = ""; + + //we can bump clients off the objective for the first three levels + if (%level <= 3) + { + //if the objective is part of a group, check the whole group + if (%objective.group > 0) + { + %bumpClient = %objective.group.clientLevel[%level]; + %bumpWeight = %bumpClient.objectiveWeight; + } + else + { + %bumpClient = %objective.clientLevel[%level]; + %bumpWeight = %bumpClient.objectiveWeight; + } + } + + //find the minimum weight the objective must have to be considered + %minWeight = (%bumpWeight > $objTable[0, weight] ? %bumpWeight : $objTable[0, weight]); + + //evaluate the weight + %weight = %objective.weight(%client, %level, %minWeight, %inventoryStr); + + //make sure we got a valid weight + if (%weight <= 0) + break; + + //if it's the highest so far, it now replaces anything else in the table + if (%weight > $objTable[0, weight]) + { + //never bump someone unless you out- weight them + if (%weight > %bumpWeight) + { + AIAddTableObjective(%objective, %weight, %level, %bumpClient, 0); + + //no need to keep checking the other levels + break; + } + } + + //else if it's equal to the highest objective we've seen so far, and higher from our current objective + else if (%weight == $objTable[0, weight] && %weight > %client.objectiveWeight) + { + //never bump someone unless you outweigh them + if (%weight > %bumpWeight) + { + //if this wouldn't require us to bump someone, or the table is empty + if (%bumpWeight <= 0 || $objTable[0, weight] <= 0) + { + //if the table currently contains objectives which would require bumping someone, clear it + if ($objTable[0, bump] > 0) + %position = 0; + else + %position = $objTableCount; + + //add it to the table + AIAddTableObjective(%objective, %weight, %level, %bumpClient, %position); + + //no need to keep checking the other levels + break; + } + + //otherwise, the table is not empty, and this would require us to bump someone + //only add it if everything else in the table would also require us to bump someone + else if ($objTable[0, bump] > 0) + { + AIAddTableObjective(%objective, %weight, %level, %bumpClient, $objTableCount); + + //no need to keep checking the other levels + break; + } + } + } + + //else it must have been less than our highest objective so far- again, no need to keep checking other levels... + else + break; + } + } + + //if we have a table of possible objectives which are higher than our current- choose one at random + if ($objTableCount > 0 && $objTable[0, objective] != %client.objective) + { + //choose the new one + %index = mFloor(getRandom() * ($objTableCount - 0.01)); + + //clear the old objective + if (%client.objective) + { + if (%client.objectiveLevel <= 3) + { + if (%client.objective.group > 0) + { + if (%client.objective.group.clientLevel[%client.objectiveLevel] == %client) + %client.objective.group.clientLevel[%client.objectiveLevel] = ""; + } + else + { + if (%client.objective.clientLevel[%client.objectiveLevel] == %client) + %client.objective.clientLevel[%client.objectiveLevel] = ""; + } + } + %client.objective.unassignClient(%client); + } + + //assign the new + %chooseObjective = $objTable[%index, objective]; + %client.objective = %chooseObjective; + %client.objectiveWeight = $objTable[%index, weight]; + %client.objectiveLevel = $objTable[%index, level]; + if (%client.objectiveLevel <= 3) + { + if (%chooseObjective.group > 0) + %chooseObjective.group.clientLevel[%client.objectiveLevel] = %client; + else + %chooseObjective.clientLevel[%client.objectiveLevel] = %client; + } + %chooseObjective.assignClient(%client); + + //see if this objective needs to be acknowledged + if (%chooseObjective.shouldAcknowledge && %chooseObjective.issuedByHuman && isObject(%chooseObjective.issuedByClientId)) + { + //cancel any pending acknowledgements - a bot probably just got bumped off this objective + cancel(%chooseObjective.ackSchedule); + %chooseObjective.ackSchedule = schedule(5500, %chooseObjective, "AIAcknowledgeObjective", %client, %chooseObjective); + } + + //if we had to bump someone off this objective, + %bumpClient = $objTable[%index, bump]; + if (%bumpClient > 0) + { + //unassign the bumped client and choose a new objective + AIUnassignClient(%bumpClient); + Game.AIChooseGameObjective(%bumpClient); + } + } + + //debuging - refresh aidebugq() if required + //if ($AIDebugTeam >= 0) + // aiDebugQ($AIDebugTeam); +} + +function AIAcknowledgeObjective(%client, %objective) +{ + %objective.shouldAcknowledge = false; + //make sure the client is still assigned to this objective + if (%client.objective == %objective) + serverCmdAcceptTask(%client, %objective.issuedByClientId, -1, %objective.ackDescription); +} + +function AIForceObjective(%client, %newObjective, %useWeight) +{ + //if we found a new objective, release the old, and assign the new + if (%newObjective && %newObjective != %client.objective) + { + //see if someone was already assigned to this objective + if (%newObjective.group > 0) + %prevClient = newObjective.group.clientLevel[1]; + else + %prevClient = newObjective.clientLevel[1]; + if (%prevClient > 0) + AIUnassignClient(%prevClient); + + //see if we should override the weight + if (%useWeight < %newObjective.weightLevel1) + %useWeight = %newObjective.weightLevel1; + + //release the client, and force the assignment + AIUnassignClient(%client); + %client.objective = %newObjective; + %client.objectiveWeight = %useWeight; + %client.objectiveLevel = 1; + if (%newObjective.group > 0) + %newObjective.group.clientLevel[1] = %client; + else + %newObjective.clientLevel[1] = %client; + %newObjective.forceClientId = %client; + %newObjective.assignClient(%client); + + //don't acknowledge anything that's been forced... + %newObjective.shouldAcknowledge = false; + + //now reassign the prev client + if (%prevClient) + Game.AIChooseGameObjective(%prevClient); + } + + //debuging - refresh aidebugq() if required + //if ($AIDebugTeam >= 0) + // aiDebugQ($AIDebugTeam); +} + +function AIUnassignClient(%client) +{ + //first, dissolve any link with a human + aiReleaseHumanControl(%client.controlByHuman, %client); + + if (%client.objective) + { + if (%client.objectiveLevel <= 3) + { + if (%client.objective.group > 0) + { + //make sure the clientLevel was actually this client + if (%client.objective.group.clientLevel[%client.objectiveLevel] == %client) + %client.objective.group.clientLevel[%client.objectiveLevel] = ""; + } + else + { + if (%client.objective.clientLevel[%client.objectiveLevel] == %client) + %client.objective.clientLevel[%client.objectiveLevel] = ""; + } + } + %client.objective.unassignClient(%client); + %client.objective = ""; + %client.objectiveWeight = 0; + } + + //debuging - refresh aidebugq() if required + //if ($AIDebugTeam >= 0) + // aiDebugQ($AIDebugTeam); +} + +function AIClearObjective(%objective) +{ + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.objective == %objective) + AIUnassignClient(%cl); + } + + //debuging - refresh aidebugq() if required + //if ($AIDebugTeam >= 0) + // aiDebugQ($AIDebugTeam); +} + +//------------------------------ +//TASKS AND OBJECTIVES + +function AIDefendLocation::initFromObjective(%task, %objective, %client) +{ + //initialize the task vars from the objective + %task.baseWeight = %client.objectiveWeight; + %task.targetObject = %objective.targetObjectId; + if (%objective.Location !$= "") + %task.location = %objective.location; + else + %task.location = %objective.targetObjectId.getWorldBoxCenter(); + + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + %task.chat = %objective.chat; + + //initialize other task vars + %task.sendMsg = true; + %task.sendMsgTime = 0; + + %task.engageTarget = -1; +} + +function AIDefendLocation::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); + %client.inPerimeter = false; + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + %result = AIFindClosestEnemy(%client, 200, $AIClientLOSTimeout); + %closestEnemy = getWord(%result, 0); + %closestEnemydist = getWord(%result, 1); + + if (%closestEnemy <= 0 || (%closestEnemyDist > %closestDist * 1.5)) + %client.needEquipment = true; + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); + + //set a flag to determine if the objective should be re-aquired when the object is destroyed + %task.reassignOnDestroyed = false; +} + +function AIDefendLocation::retire(%task, %client) +{ + %task.engageVehicle = -1; + %client.setTargetObject(-1); +} + +function AIDefendLocation::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + %player = %client.player; + if (!isObject(%player)) + return; + + %hasMissile = (%player.getInventory("MissileLauncher") > 0) && (%player.getInventory("MissileLauncherAmmo") > 0); + + //if we're defending with a missile launcher, our first priority is to take out vehicles... + //see if we're already attacking a vehicle... + if (%task.engageVehicle > 0 && isObject(%task.engageVehicle) && %hasMissile) + { + //set the weight + %task.setWeight(%task.baseWeight); + return; + } + + //search for a new vehicle to attack + %task.engageVehicle = -1; + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + %result = AIFindClosestEnemyPilot(%client, 300, %losTimeout); + %pilot = getWord(%result, 0); + %pilotDist = getWord(%result, 1); + + //if we've got missiles, and a vehicle to attack... + if (%hasMissile && AIClientIsAlive(%pilot)) + { + %task.engageVehicle = %pilot.vehicleMounted; + %client.needEquipment = false; + } + + //otherwise look for a regular enemy to fight... + else + { + %result = AIFindClosestEnemyToLoc(%client, %task.location, 100, %losTimeout); + %closestEnemy = getWord(%result, 0); + %closestdist = getWord(%result, 1); + + //see if we found someone + if (%closestEnemy > 0) + %task.engageTarget = %closestEnemy; + else + { + %task.engageTarget = -1; + + //see if someone is near me... + %result = AIFindClosestEnemy(%client, 100, %losTimeout); + %closestEnemy = getWord(%result, 0); + %closestdist = getWord(%result, 1); + if (%closestEnemy <= 0 || %closestDist > 70) + %client.setEngageTarget(-1); + } + } + + //set the weight + %task.setWeight(%task.baseWeight); +} + +function AIDefendLocation::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(15); + %client.needEquipment = false; + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.chat !$= "") + { + %chatMsg = getWord(%task.chat, 0); + %chatTemplate = getWord(%task.chat, 1); + if (%chatTemplate !$= "") + AIMessageThreadTemplate(%chatTemplate, %chatMsg, %client, -1); + else + AIMessageThread(%task.chat, %client, -1); + } + else if (%task.targetObject > 0) + { + %type = %task.targetObject.getDataBlock().getName(); + if (%type $= "Flag") + AIMessageThreadTemplate("DefendBase", "ChatSelfDefendFlag", %client, -1); + else if (%type $= "GeneratorLarge") + AIMessageThreadTemplate("DefendBase", "ChatSelfDefendGenerator", %client, -1); + else if (%type $= "StationVehicle") + AIMessageThreadTemplate("DefendBase", "ChatSelfDefendVehicle", %client, -1); + else if (%type $= "SensorLargePulse") + AIMessageThreadTemplate("DefendBase", "ChatSelfDefendSensors", %client, -1); + else if (%type $= "SensorMediumPulse") + AIMessageThreadTemplate("DefendBase", "ChatSelfDefendSensors", %client, -1); + else if (%type $= "TurretBaseLarge") + AIMessageThreadTemplate("DefendBase", "ChatSelfDefendTurrets", %client, -1); + } + } + } + } + + //if the defend location task has an object, set the "reset" flag + if (%task == %client.objectiveTask && isObject(%task.targetObject)) + { + if (%task.targetObject.getDamageState() !$= "Destroyed") + %task.reassignOnDestroyed = true; + else + { + if (%task.reassignOnDestroyed) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + return; + } + } + } + + //first, check for a vehicle to engage + if (%task.engageVehicle > 0 && isObject(%task.engageVehicle)) + { + %client.stop(); + %client.clearStep(); + %client.setEngageTarget(-1); + %client.setTargetObject(%task.engageVehicle, 300, "Missile"); + } + else + { + //clear the target vehicle... + %client.setTargetObject(-1); + + //see if we're engaging a player + if (%client.getEngageTarget() > 0) + { + //too far, or killed the enemy - return home + if (%client.getStepStatus() !$= "InProgress" || %distance > 75) + { + %client.setEngageTarget(-1); + %client.stepMove(%task.location, 8.0); + } + } + + //else see if we have a target to begin attacking + else if (%task.engageTarget > 0) + %client.stepEngage(%task.engageTarget); + + //else move to a random location around where we are defending + else if (%client.getStepName() !$= "AIStepIdlePatrol") + { + %dist = VectorDist(%client.player.getWorldBoxCenter(), %task.location); + if (%dist < 10) + { + //dissolve the human control link and re-evaluate the weight + if (%task == %client.objectiveTask) + { + if (aiHumanHasControl(%task.issuedByClient, %client)) + { + aiReleaseHumanControl(%client.controlByHuman, %client); + + //should re-evaluate the current objective weight + %inventoryStr = AIFindClosestInventories(%client); + %client.objectiveWeight = %client.objective.weight(%client, %client.objectiveLevel, 0, %inventoryStr); + } + } + + %client.stepIdle(%task.location); + } + else + %client.stepMove(%task.location, 8.0); + } + } + + //see if we're supposed to be engaging anyone... + if (!AIClientIsAlive(%client.getEngageTarget()) && AIClientIsAlive(%client.shouldEngage)) + %client.setEngageTarget(%client.shouldEngage); +} + +//------------------------------ + +function AIAttackLocation::initFromObjective(%task, %objective, %client) +{ + //initialize the task vars from the objective + %task.baseWeight = %client.objectiveWeight; + %task.location = %objective.location; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + %task.chat = %objective.chat; + + //initialize other task vars + %task.sendMsg = true; + %task.sendMsgTime = 0; + %task.engageTarget = -1; +} + +function AIAttackLocation::assume(%task, %client) +{ + %task.setWeightFreq(30); + %task.setMonitorFreq(30); + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + %result = AIFindClosestEnemyToLoc(%client, %task.location, 50, $AIClientLOSTimeout); + %closestEnemy = getWord(%result, 0); + + if (%closestEnemy <= 0) + %client.needEquipment = true; + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); + + %task.snipeLocation = ""; + %task.hideLocation = ""; + %task.moveToPosition = true; + %task.moveToSnipe = false; + %task.nextSnipeTime = 0; +} + +function AIAttackLocation::retire(%task, %client) +{ +} + +function AIAttackLocation::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //if we're a sniper, we're going to cheat, and see if there are clients near the attack location + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + %distToLoc = VectorDist(%client.player.getWorldBoxCenter(), %task.location); + if (%client.player.getInventory(SniperRifle) > 0 && %client.player.getInventory(EnergyPack) > 0 && %distToLoc > 60) + %result = AIFindClosestEnemyToLoc(%client, %task.location, 50, $AIClientLOSTimeout, true); + + //otherwise, do the search normally. (cheat ignores LOS)... + else + %result = AIFindClosestEnemyToLoc(%client, %task.location, 50, %losTimeout, false); + + %closestEnemy = getWord(%result, 0); + %closestdist = getWord(%result, 1); + %task.setWeight(%task.baseWeight); + + //see if we found someone + if (%closestEnemy > 0) + %task.engageTarget = %closestEnemy; + else + %task.engageTarget = -1; +} + +function AIAttackLocation::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(30); + %client.needEquipment = false; + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.chat !$= "") + { + %chatMsg = getWord(%task.chat, 0); + %chatTemplate = getWord(%task.chat, 1); + if (%chatTemplate !$= "") + AIMessageThreadTemplate(%chatTemplate, %chatMsg, %client, -1); + else + AIMessageThread(%task.chat, %client, -1); + } + else + AIMessageThreadTemplate("AttackBase", "ChatSelfAttack", %client, -1); + } + } + } + + //how far are we from the location we're defending + %myPos = %client.player.getWorldBoxCenter(); + %distance = %client.getPathDistance(%task.location); + if (%distance < 0) + %distance = 32767; + + if (%client.player.getInventory(SniperRifle) > 0 && %client.player.getInventory(EnergyPack) > 0) + { + //first, find an LOS location + if (%task.snipeLocation $= "") + { + %task.snipeLocation = %client.getLOSLocation(%task.location, 150, 250); + %task.hideLocation = %client.getHideLocation(%task.location, VectorDist(%task.location, %task.snipeLocation), %task.snipeLocation, 1); + %client.stepMove(%task.hideLocation, 4.0); + %task.moveToPosition = true; + } + else + { + //see if we can acquire a target + %energy = %client.player.getEnergyPercent(); + %distToSnipe = VectorDist(%task.snipelocation, %client.player.getWorldBoxCenter()); + %distToHide = VectorDist(%task.hidelocation, %client.player.getWorldBoxCenter()); + + //until we're in position, we can move using the AIModeExpress, after that, we only want to walk... + if (%task.moveToPosition) + { + if (%distToHide < 4.0) + { + //dissolve the human control link + if (%task == %client.objectiveTask) + { + if (aiHumanHasControl(%task.issuedByClient, %client)) + { + aiReleaseHumanControl(%client.controlByHuman, %client); + + //should re-evaluate the current objective weight + %inventoryStr = AIFindClosestInventories(%client); + %client.objectiveWeight = %client.objective.weight(%client, %client.objectiveLevel, 0, %inventoryStr); + } + } + + %task.moveToPosition = false; + } + } + + else if (%task.moveToSnipe) + { + if (%energy > 0.75 && %client.getStepStatus() $= "Finished") + { + %client.stepMove(%task.snipeLocation, 4.0, $AIModeWalk); + %client.setEngageTarget(%task.engageTarget); + } + else if (%energy < 0.4) + { + %client.setEngageTarget(-1); + %client.stepMove(%task.hideLocation, 4.0); + %task.nextSnipeTime = getSimTime() + 4000 + (getRandom() * 4000); + %task.moveToSnipe = false; + } + } + + else if (%energy > 0.5 && %task.engageTarget > 0 && getSimTime() > %task.nextSnipeTime) + { + %client.stepRangeObject(%task.engageTarget.player.getWorldBoxCenter(), "BasicSniperShot", 150, 250, %task.snipelocation); + %client.aimAt(%task.engageTarget.player.getWorldBoxCenter(), 8000); + %task.moveToSnipe = true; + } + } + } + else + { + //else see if we have a target to begin attacking + if (%client.getEngageTarget() <= 0 && %task.engageTarget > 0) + %client.stepEngage(%task.engageTarget); + + //else move to the location we're defending + else if (%client.getEngageTarget() <= 0) + { + %client.stepMove(%task.location, 8.0); + if (VectorDist(%client.player.position, %task.location) < 10) + { + //dissolve the human control link + if (%task == %client.objectiveTask) + { + if (aiHumanHasControl(%task.issuedByClient, %client)) + { + aiReleaseHumanControl(%client.controlByHuman, %client); + + //should re-evaluate the current objective weight + %inventoryStr = AIFindClosestInventories(%client); + %client.objectiveWeight = %client.objective.weight(%client, %client.objectiveLevel, 0, %inventoryStr); + } + } + } + } + } + + //see if we're supposed to be engaging anyone... + if (!AIClientIsAlive(%client.getEngageTarget()) && AIClientIsAlive(%client.shouldEngage)) + %client.setEngageTarget(%client.shouldEngage); +} + +//------------------------------ + +function AIAttackPlayer::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetClient = %objective.targetClientId; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; +} + +function AIAttackPlayer::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + if (! %client.needEquipment) + %client.stepEngage(%task.targetClient); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + %distToTarg = %client.getPathDistance(%task.targetClient.player.getWorldBoxCenter()); + if (%distToTarg < 0 || %distToTarg > 100) + %client.needEquipment = true; + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AIAttackPlayer::retire(%task, %client) +{ + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); +} + +function AIAttackPlayer::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + %task.setWeight(%task.baseWeight); +} + +function AIAttackPlayer::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(15); + %client.needEquipment = false; + %client.stepEngage(%task.targetClient); + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //cheap hack for now... make the bot always know where you are... + %client.clientDetected(%task.targetClient); + + //make sure we're still attacking... + if (%client.getStepName() !$= "AIStepEngage") + %client.stepEngage(%task.targetClient); + + //make sure we're still attacking the right target + %client.setEngageTarget(%task.targetClient); + + if (%client.getStepStatus() !$= "InProgress" && %task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } +} + +//------------------------------ + +function AITouchObject::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetObject = %objective.targetObjectId; + %task.mode = %objective.mode; + if (%objective.mode $= "FlagCapture") + %task.location = %objective.location; + else if(%objective.mode $= "TouchFlipFlop") + %task.location = %objective.location; + else + %task.location = ""; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + + %task.sendMsgTime = 0; + if (%task.mode $= "FlagGrab") + %task.sendMsg = true; + else + %task.sendMsg = false; +} + +function AITouchObject::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); + %task.engageTarget = 0; + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && (%task.mode $= "FlagGrab" || %task.mode $= "TouchFlipFlop") && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + //find where we are + %clientPos = %client.player.getWorldBoxCenter(); + %distToObject = %client.getPathDistance(%task.location); + if (%distToObject < 0 || %closestDist < %distToObject) + %client.needEquipment = true; + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AITouchObject::retire(%task, %client) +{ +} + +function AITouchObject::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //see if we can find someone to shoot at... + if (%client.getEngageTarget() <= 0) + { + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + %myLocation = %client.player.getWorldBoxCenter(); + %result = AIFindClosestEnemy(%client, 40, %losTimeout); + %task.engageTarget = getWord(%result, 0); + } + + %task.setWeight(%task.baseWeight); +} + +function AITouchObject::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(15); + %client.needEquipment = false; + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.mode $= "FlagGrab") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackFlag", %client, -1); + } + } + } + + //keep updating the position, in case the flag is flying through the air... + if (%task.location !$= "") + %touchPos = %task.location; + else + %touchPos = %task.targetObject.getWorldBoxCenter(); + + //see if we need to engage a new target + %engageTarget = %client.getEngageTarget(); + if (!AIClientIsAlive(%engageTarget) && %task.engageTarget > 0) + %client.setEngageTarget(%task.engageTarget); + + //else see if we should abandon the engagement + else if (AIClientIsAlive(%engageTarget)) + { + %myPos = %client.player.getWorldBoxCenter(); + %testPos = %engageTarget.player.getWorldBoxCenter(); + %distance = %client.getPathDistance(%testPos); + if (%distance < 0 || %distance > 70) + %client.setEngageTarget(-1); + } + + //see if we have completed our objective + if (%task == %client.objectiveTask) + { + %completed = false; + switch$ (%task.mode) + { + case "TouchFlipFlop": + if (%task.targetObject.team == %client.team) + %completed = true; + case "FlagGrab": + if (!%task.targetObject.isHome) + %completed = true; + case "FlagDropped": + if ((%task.targetObject.isHome) || (%task.targetObject.carrier !$= "")) + %completed = true; + case "FlagCapture": + if (%task.targetObject.carrier != %client.player) + %completed = true; + } + if (%completed) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + return; + } + } + + if (%task.mode $= "FlagCapture") + { + %homeFlag = $AITeamFlag[%client.team]; + + //if we're within range of the flag's home position, and the flag isn't home, start idling... + if (VectorDist(%client.player.position, %touchPos) < 40 && !%homeFlag.isHome) + { + if (%client.getStepName() !$= "AIStepIdlePatrol") + %client.stepIdle(%touchPos); + } + else + %client.stepMove(%touchPos, 0.25); + } + else + %client.stepMove(%touchPos, 0.25); + + if (VectorDist(%client.player.position, %touchPos) < 10) + { + //dissolve the human control link + if (%task == %client.objectiveTask) + { + if (aiHumanHasControl(%task.issuedByClient, %client)) + { + aiReleaseHumanControl(%client.controlByHuman, %client); + + //should re-evaluate the current objective weight + %inventoryStr = AIFindClosestInventories(%client); + %client.objectiveWeight = %client.objective.weight(%client, %client.objectiveLevel, 0, %inventoryStr); + } + } + } + + //see if we're supposed to be engaging anyone... + if (!AIClientIsAlive(%client.getEngageTarget()) && AIClientIsAlive(%client.shouldEngage)) + %client.setEngageTarget(%client.shouldEngage); +} + +//------------------------------ + +function AIEscortPlayer::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetClient = %objective.targetClientId; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + %task.forceClient = %objective.forceClientId; +} + +function AIEscortPlayer::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); + %task.rangedTarget = false; + if (%task == %client.objectiveTask && %client == %task.forceClient && %task.issuedByClient == %task.targetClient) + { + %client.needEquipment = false; + %client.mountVehicle = false; + } + else + { + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + if (! %client.needEquipment) + %client.stepEscort(%task.targetClient); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + //find where we are + %clientPos = %client.player.getWorldBoxCenter(); + %targPos = %task.targetClient.player.getWorldBoxCenter(); + %distToTarg = %client.getPathDistance(%targPos); + + if (%closestDist < 50 && (%distToTarg < 0 || %distToTarg > 100)) + %client.needEquipment = true; + } + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AIEscortPlayer::retire(%task, %client) +{ + %client.clearStep(); + if(%client.player.isMounted()) + AIDisembarkVehicle(%client); + + //clear the target object + %client.setTargetObject(-1); +} + +function AIEscortPlayer::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //make sure we still have someone to escort + if (!AiClientIsAlive(%task.targetClient)) + { + %task.setWeight(0); + return; + } + + //always shoot at the closest person to the client being escorted + %targetPos = %task.targetClient.player.getWorldBoxCenter(); + %losTimeout = $AIClientMinLOSTime + ($AIClientLOSTimeout * %client.getSkillLevel()); + %result = AIFindClosestEnemyToLoc(%client, %targetPos, 50, %losTimeout); + %task.engageTarget = getWord(%result, 0); + if (!AIClientIsAlive(%task.engageTarget)) + { + if (AIClientIsAlive(%task.targetClient.lastDamageClient, %losTimeout) && getSimTime() - %task.targetClient.lastDamageTime < %losTimeout) + %task.engageTarget = %task.targetClient.lastDamageClient; + } + if (!AIClientIsAlive(%task.engageTarget)) + { + %myPos = %client.player.getWorldBoxCenter(); + %result = AIFindClosestEnemy(%client, 50, %losTimeout); + %task.engageTarget = getWord(%result, 0); + } + + //if both us and the person we're escorting are in a vehicle, set the weight high! + if (%task.targetClient.player.isMounted() && %client.player.isMounted()) + { + %vehicle = %client.vehicleMounted; + if (%vehicle > 0 && isObject(%vehicle) && %vehicle.getDamagePercent() < 0.8) + %task.setWeight($AIWeightVehicleMountedEscort); + else + %task.setWeight(%task.baseWeight); + } + else + %task.setWeight(%task.baseWeight); + + //find out if our escortee is lazing a target... + %task.missileTarget = -1; + %targetCount = ServerTargetSet.getCount(); + for (%i = 0; %i < %targetCount; %i++) + { + %targ = ServerTargetSet.getObject(%i); + if (%targ.sourceObject == %task.targetClient.player) + { + //find out which item is being targetted... + %targPoint = %targ.getTargetPoint(); + InitContainerRadiusSearch(%targPoint, 10, $TypeMasks::TurretObjectType | $TypeMasks::StaticShapeObjectType); + %task.missileTarget = containerSearchNext(); + break; + } + } +} + +function AIEscortPlayer::monitor(%task, %client) +{ + //make sure we still have someone to escort + if (!AiClientIsAlive(%task.targetClient)) + { + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(15); + %client.needEquipment = false; + %client.stepEscort(%task.targetClient); + %task.buyInvTime = getSimTime(); + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + + //see if our target is mounted in a vehicle... + if (%task.targetClient.player.isMounted()) + { + //find the passenger seat the bot will take + %vehicle = %task.targetClient.vehicleMounted; + %node = findAIEmptySeat(%vehicle, %client.player); + + //make sure there is an empty seat + if (%node < 0 && %client.vehicleMounted != %task.targetClient.vehicleMounted) + { + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + + //find the passenger seat location... + %slotPosition = %vehicle.getSlotTransform(%node); + + //make sure we're in the correct armor - assault tanks cannot have a heavy... + if (%task.targetClient.vehicleMounted.getDataBlock().getName() $= "AssaultVehicle") + { + //if the bot is in a heavy, break off the escort... + if (%client.player.getArmorSize() $= "Heavy") + { + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + + //throw away any packs that won't fit + if (%client.player.getInventory(InventoryDeployable) > 0) + %client.player.throwPack(); + else if (%client.player.getInventory(TurretIndoorDeployable) > 0) + %client.player.throwPack(); + else if (%client.player.getInventory(TurretOutdoorDeployable) > 0) + %client.player.throwPack(); + } + + if (%client.player.isMounted()) + { + //make sure it's the same vehicle :) + if (%client.vehicleMounted != %vehicle) + AIDisembarkVehicle(%client); + } + else + { + //mount the vehicle + %client.stepMove(%slotPosition, 0.25, $AIModeMountVehicle); + } + } + else + { + //disembark if we're mounted, but our target isn't (anymore) + if (%client.player.isMounted()) + AIDisembarkVehicle(%client); + } + + //see if we're supposed to be mortaring/missiling something... + %hasMortar = (%client.player.getInventory("Mortar") > 0) && (%client.player.getInventory("MortarAmmo") > 0); + %hasMissile = (%client.player.getInventory("MissileLauncher") > 0) && (%client.player.getInventory("MissileLauncherAmmo") > 0); + if (!isObject(%task.engageTarget) && isobject(%task.missileTarget) && %task.missileTarget.getDamageState() !$= "Destroyed" && (%hasMortar || %hasMissile)) + { + if (%task.rangedTarget) + { + %client.stop(); + %client.clearStep(); + %client.setEngageTarget(-1); + if (%hasMortar) + %client.setTargetObject(%task.missileTarget, 250, "Mortar"); + else + %client.setTargetObject(%task.missileTarget, 500, "MissileNoLock"); + } + else if (%client.getStepName() !$= "AIStepRangeObject") + { + if (%hasMortar) + %client.stepRangeObject(%task.missileTarget, "MortarShot", 100, 200); + else + %client.stepRangeObject(%task.missileTarget, "BasicTargeter", 50, 500); + } + else if (%client.getStepStatus() $= "Finished") + %task.rangedTarget = true; + } + else + { + %task.rangedTarget = false; + %client.setTargetObject(-1); + if (%client.getStepName() !$= "AIStepEscort") + %client.stepEscort(%task.targetClient); + } + + //make sure we're still shooting... + %client.setEngageTarget(%task.engageTarget); + + //see if we're supposed to be engaging anyone... + if (!AIClientIsAlive(%client.getEngageTarget()) && AIClientIsAlive(%client.shouldEngage)) + %client.setEngageTarget(%client.shouldEngage); +} + +//------------------------------ + +function AIAttackObject::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetObject = %objective.targetObjectId; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + + //initialize other task vars + %task.sendMsg = true; + %task.sendMsgTime = 0; +} + +function AIAttackObject::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(5); + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + //find where we are + %clientPos = %client.player.getWorldBoxCenter(); + %objPos = %task.targetObject.getWorldBoxCenter(); + %distToObject = %client.getPathDistance(%objPos); + + if (%distToObject < 0 || %closestDist < %distToObject) + %client.needEquipment = true; + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AIAttackObject::retire(%task, %client) +{ + %client.setTargetObject(-1); +} + +function AIAttackObject::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //let the monitor decide when to stop attacking + %task.setWeight(%task.baseWeight); +} + +function AIAttackObject::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(15); + %client.needEquipment = false; + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.chat !$= "") + { + %chatMsg = getWord(%task.chat, 0); + %chatTemplate = getWord(%task.chat, 1); + if (%chatTemplate !$= "") + AIMessageThreadTemplate(%chatTemplate, %chatMsg, %client, -1); + else + AIMessageThread(%task.chat, %client, -1); + } + else if (%task.targetObject > 0) + { + %type = %task.targetObject.getDataBlock().getName(); + if (%type $= "GeneratorLarge") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackGenerator", %client, -1); + else if (%type $= "SensorLargePulse") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackSensors", %client, -1); + else if (%type $= "SensorMediumPulse") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackSensors", %client, -1); + else if (%type $= "TurretBaseLarge") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackTurrets", %client, -1); + else if (%type $= "StationVehicle") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackVehicle", %client, -1); + } + } + } + } + + //set the target object + if (isObject(%task.targetObject) && %task.targetObject.getDamageState() !$= "Destroyed") + { + %client.setTargetObject(%task.targetObject, 40, "Destroy"); + + //move towards the object until we're within range + if (! %client.targetInRange()) + %client.stepMove(%task.targetObject.getWorldBoxCenter(), 8.0); + else + { + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); + + %client.stop(); + } + } + else + { + %client.setTargetObject(-1); + %client.stop(); + + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + } +} + +//------------------------------ + +function AIRepairObject::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetObject = %objective.targetObjectId; + //need to force this objective to only require a repair pack + //%task.equipment = %objective.equipment; + %task.equipment = "RepairPack"; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + + %task.deployed = %objective.deployed; + if (%task.deployed) + { + %task.location = %objective.position; + %task.deployDirection = MatrixMulVector("0 0 0 " @ getWords(%objective.getTransform(), 3, 6), "0 1 0"); + %task.deployDirection = VectorNormalize(%task.deployDirection); + } +} + +function AIRepairObject::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //clear the target object, and range it + %client.setTargetObject(-1); + if (! %client.needEquipment) + { + if (%task.deployed) + { + %task.repairLocation = VectorAdd(%task.location,VectorScale(%task.deployDirection, -4.0)); + %client.stepMove(%task.repairLocation, 0.25); + } + else + %client.stepRangeObject(%task.targetObject, "DefaultRepairBeam", 3, 8); + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); + %task.needToRangeTime = 0; + %task.pickupRepairPack = -1; + %task.usingInv = false; + + //set a tag to help the repairPack.cs script fudge acquiring a target + %client.repairObject = %task.targetObject; +} + +function AIRepairObject::retire(%task, %client) +{ + %client.setTargetObject(-1); + %client.repairObject = -1; +} + +function AIRepairObject::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //let the monitor decide when to stop repairing + %task.setWeight(%task.baseWeight); +} + +function AIRepairObject::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + + //first, see if we still need a repair pack + if (%client.player.getInventory(RepairPack) > 0) + { + %client.needEquipment = false; + %task.setMonitorFreq(15); + + //if this is to repair a deployed object, walk to the deploy point... + if (%task.deployed) + { + %task.repairLocation = VectorAdd(%task.location,VectorScale(%task.deployDirection, -4.0)); + %client.stepMove(%task.repairLocation, 0.25); + } + //otherwise, we'll need to range it... + else + %client.stepRangeObject(%task.targetObject, "DefaultRepairBeam", 3, 8); + } + else + { + // check to see if there's a repair pack nearby + %closestRepairPack = -1; + %closestRepairDist = 32767; + + //search the AIItemSet for a repair pack (someone might have dropped one...) + %itemCount = $AIItemSet.getCount(); + for (%i = 0; %i < %itemCount; %i++) + { + %item = $AIItemSet.getObject(%i); + if (%item.getDataBlock().getName() $= "RepairPack" && !%item.isHidden()) + { + %dist = %client.getPathDistance(%item.getWorldBoxCenter()); + if (%dist > 0 && %dist < %closestRepairDist) + { + %closestRepairPack = %item; + %closestRepairDist = %dist; + } + } + } + + //choose whether we're picking up the closest pack, or buying from an inv station... + if ((isObject(%closestRepairPack) && %closestRepairPack != %task.pickupRepairPack) || (%task.buyInvTime != %client.buyInvTime)) + { + %task.pickupRepairPack = %closestRepairPack; + + //initialize the inv buying + %task.buyInvTime = getSimTime(); + AIBuyInventory(%client, "RepairPack", %task.buyEquipmentSet, %task.buyInvTime); + + //now decide which is closer + if (isObject(%closestRepairPack)) + { + if (isObject(%client.invToUse)) + { + %dist = %client.getPathDistance(%item.position); + if (%dist > %closestRepairDist) + %task.usingInv = true; + else + %task.usingInv = false; + } + else + %task.usingInv = false; + } + else + %task.usingInv = true; + } + + //now see if we found a closer repair pack + if (!%task.usingInv) + { + %client.stepMove(%task.pickupRepairPack.position, 0.25); + %distToPack = %client.getPathDistance(%task.pickupRepairPack.position); + if (%distToPack < 10 && %client.player.getMountedImage($BackpackSlot) > 0) + %client.player.throwPack(); + + //and we're finished until we actually have a repair pack... + return; + } + else + { + %result = AIBuyInventory(%client, "RepairPack", %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %client.needEquipment = false; + %task.setMonitorFreq(15); + + //if this is to repair a deployed object, walk to the deploy point... + if (%task.deployed) + { + %task.repairLocation = VectorAdd(%task.location,VectorScale(%task.deployDirection, -4.0)); + %client.stepMove(%task.repairLocation, 0.25); + } + //otherwise, we'll need to range it... + else + %client.stepRangeObject(%task.targetObject, "DefaultRepairBeam", 3, 8); + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.chat !$= "") + { + %chatMsg = getWord(%task.chat, 0); + %chatTemplate = getWord(%task.chat, 1); + if (%chatTemplate !$= "") + AIMessageThreadTemplate(%chatTemplate, %chatMsg, %client, -1); + else + AIMessageThread(%task.chat, %client, -1); + } + else if (%task.targetObject > 0) + { + %type = %task.targetObject.getDataBlock().getName(); + if (%type $= "GeneratorLarge") + AIMessageThreadTemplate("RepairBase", "ChatSelfRepairGenerator", %client, -1); + else if (%type $= "StationVehicle") + AIMessageThreadTemplate("RepairBase", "ChatSelfRepairVehicle", %client, -1); + else if (%type $= "SensorLargePulse") + AIMessageThreadTemplate("RepairBase", "ChatSelfRepairSensors", %client, -1); + else if (%type $= "SensorMediumPulse") + AIMessageThreadTemplate("RepairBase", "ChatSelfRepairSensors", %client, -1); + else if (%type $= "TurretBaseLarge") + AIMessageThreadTemplate("RepairBase", "ChatSelfRepairTurrets", %client, -1); + } + } + } + } + + //set the target object + if (%task.targetObject.getDamagePercent() > 0) + { + //make sure we still have equipment + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + if (%client.needEquipment) + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + return; + } + } + + if (%task.deployed) + { + //see if we're within range of the deploy location + %clLoc = %client.player.position; + %distance = VectorDist(%clLoc, %task.repairLocation); + %dist2D = VectorDist(%client.player.position, getWords(%task.repairLocation, 0, 1) SPC getWord(%client.player.position, 2)); + + //set the aim when we get near the target... this will be overwritten when we're actually trying to deploy + if (%distance < 10 && %dist2D < 10) + %client.aimAt(%task.location, 1000); + + //see if we're at the deploy location + if ((%client.pathDistRemaining(20) > %distance + 0.25) || %dist2D > 0.3) + { + %client.setTargetObject(-1); + %client.stepMove(%task.repairLocation, 0.25); + } + else + { + %client.stop(); + %client.setTargetObject(%task.targetObject, 8.0, "Repair"); + } + } + else + { + %currentTime = getSimTime(); + if (%currentTime > %task.needToRangeTime) + { + //force a rangeObject every 10 seconds... + %task.needToRangeTime = %currentTime + 6000; + %client.setTargetObject(-1); + %client.stepRangeObject(%task.targetObject, "DefaultRepairBeam", 3, 8); + } + + //if we've ranged the object, start repairing, else unset the object + else if (%client.getStepStatus() $= "Finished") + { + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); + + %client.setTargetObject(%task.targetObject, 8.0, "Repair"); + } + else + %client.setTargetObject(-1); + } + } + else + { + %client.setTargetObject(-1); + + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + } +} + +//------------------------------ + +function AILazeObject::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetObject = %objective.targetObjectId; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + %task.msgAck = true; + %task.msgFire = true; +} + +function AILazeObject::assume(%task, %client) +{ + %task.setWeightFreq(30); + %task.setMonitorFreq(30); + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //clear the target object, and range it + %client.setTargetObject(-1); + if (! %client.needEquipment) + %client.stepRangeObject(%task.targetObject, "BasicTargeter", 80, 300, %task.issuedByClient.player.getWorldBoxCenter()); + + //set up some task vars + %task.celebrate = false; + %task.waitTimerMS = 0; + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AILazeObject::retire(%task, %client) +{ + %client.setTargetObject(-1); +} + +function AILazeObject::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //let the monitor decide when to stop lazing + %task.setWeight(%task.baseWeight); +} + +function AILazeObject::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(30); + %client.needEquipment = false; + %client.stepRangeObject(%task.targetObject, "BasicTargeter", 80, 300); + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //set the target object + if (isObject(%task.targetObject) && %task.targetObject.getDamageState() !$= "Destroyed") + { + //make sure we still have equipment + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + if (%client.needEquipment) + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + return; + } + } + + //look to see if anyone else is also targetting... + %foundTarget = false; + %numTargets = ServerTargetSet.getCount(); + for (%i = 0; %i < %numTargets; %i++) + { + %targ = ServerTargetSet.getObject(%i); + if (%targ.sourceObject != %client.player) + { + %targDist = VectorDist(%targ.getTargetPoint(), %task.targetObject.getWorldBoxCenter()); + if (%targDist < 10) + { + %foundTarget = true; + break; + } + } + } + + if (%foundTarget) + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + AIUnassignClient(%client); + } + + else if (%client.getStepStatus() $= "Finished") + { + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); + + %client.setTargetObject(%task.targetObject, 300, "Laze"); + %task.celebrate = true; + %task.waitTimerMS = 0; + + //make sure we only say "fire..." once + if (%task.msgFire) + { + AIMessageThread("FireOnTarget", %client, -1); + %task.msgFire = false; + } + } + else + { + %client.aimAt(%task.targetObject.getWorldBoxCenter(), 1000); + %client.setTargetObject(-1); + } + } + else + { + %client.setTargetObject(-1); + + if (%task.celebrate) + { + if (%task.waitTimerMS == 0) + { + //add in a "woohoo"! :) + //choose the animation range + %minCel = 3; + %maxCel = 8; + + //pick a random sound + if (getRandom() > 0.25) + %sound = "gbl.awesome"; + else if (getRandom() > 0.5) + %sound = "gbl.thanks"; + else if (getRandom() > 0.75) + %sound = "gbl.nice"; + else + %sound = "gbl.rock"; + %randTime = mFloor(getRandom() * 500) + 1; + schedule(%randTime, %client, "AIPlayAnimSound", %client, %task.targetObject.getWorldBoxCenter(), %sound, %minCel, %maxCel, 0); + + //set the timer + %task.waitTimerMS = getSimTime(); + } + + //else see if the celebration period is over + else if (getSimTime() - %task.waitTimerMS > 3000) + %task.celebrate = false; + } + else + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + } + } +} + +//------------------------------ + +function AIMortarObject::initFromObjective(%task, %objective, %client) +{ + %task.baseWeight = %client.objectiveWeight; + %task.targetObject = %objective.targetObjectId; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + %task.mode = %task.targetObject.getDataBlock().getName(); + + %task.sendMsgTime = 0; + %task.sendMsg = true; +} + +function AIMortarObject::assume(%task, %client) +{ + %task.setWeightFreq(30); + %task.setMonitorFreq(30); + %task.state = moveToRange; + %task.waitForTargetter = true; + %task.celebrate = false; + %task.waitTimerMS = 0; + %task.targetAcquired = false; + %task.sayAcquired = true; + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //even if we don't *need* equipemnt, see if we should buy some... + if (! %client.needEquipment && %task.buyEquipmentSet !$= "") + { + //see if we could benefit from inventory + %needArmor = AIMustUseRegularInvStation(%task.desiredEquipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + if (AINeedEquipment(%task.desiredEquipment, %client) && %closestInv > 0) + { + //find where we are + %clientPos = %client.player.getWorldBoxCenter(); + %objPos = %task.targetObject.getWorldBoxCenter(); + %distToObject = %client.getPathDistance(%objPos); + + if (%distToObject < 0 || %closestDist < %distToObject) + %client.needEquipment = true; + } + } + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); +} + +function AIMortarObject::retire(%task, %client) +{ + %client.setTargetObject(-1); + + //remove the associated lazeObjective + if (%task.targetterObjective) + { + AIClearObjective(%task.targetterObjective); + %task.targetterObjective.delete(); + %task.targetterObjective = ""; + } +} + +function AIMortarObject::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + //let the monitor decide when to stop mortaring + %task.setWeight(%task.baseWeight); +} + +function AIMortarObject::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(30); + %client.needEquipment = false; + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.chat !$= "") + { + %chatMsg = getWord(%task.chat, 0); + %chatTemplate = getWord(%task.chat, 1); + if (%chatTemplate !$= "") + AIMessageThreadTemplate(%chatTemplate, %chatMsg, %client, -1); + else + AIMessageThread(%task.chat, %client, -1); + } + else if (%task.targetObject > 0) + { + %type = %task.targetObject.getDataBlock().getName(); + if (%type $= "GeneratorLarge") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackGenerator", %client, -1); + else if (%type $= "SensorLargePulse") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackSensors", %client, -1); + else if (%type $= "SensorMediumPulse") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackSensors", %client, -1); + else if (%type $= "TurretBaseLarge") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackTurrets", %client, -1); + else if (%type $= "StationVehicle") + AIMessageThreadTemplate("AttackBase", "ChatSelfAttackVehicle", %client, -1); + } + } + } + } + + //make sure we still have something to destroy + if (isObject(%task.targetObject) && %task.targetObject.getDamageState() !$= "Destroyed") + { + %clientPos = %client.player.getWorldBoxCenter(); + %targetPos = %task.targetObject.getWorldBoxCenter(); + %distance = %client.getPathDistance(%targetPos); + if (%distance < 0) + %distance = 32767; + + //make sure we still have equipment + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + if (%client.needEquipment) + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + return; + } + } + + //next move to within 220 + else if (%distance > 220) + { + %client.setTargetObject(-1); + %client.stepMove(%task.targetObject.getWorldBoxCenter(), 15); + } + + //now start ask for someone to laze the target, and start a 20 sec timer + else if (%task.waitForTargetter) + { + //see if we've started the timer + if (%task.waitTimerMS == 0) + { + //range the object + %client.stepRangeObject(%task.targetObject, "MortarShot", 100, 200); + + //now ask for a targeter... + %targetType = %task.targetObject.getDataBlock().getName(); + if (%targetType $= "TurretBaseLarge") + AIMessageThread("ChatCmdTargetTurret", %client, -1); + else if (%targetType $= "SensorLargePulse") + AIMessageThread("ChatCmdTargetSensors", %client, -1); + else if (%targetType $= "SensorMediumPulse") + AIMessageThread("ChatCmdTargetSensors", %client, -1); + else + AIMessageThread("ChatNeedTarget", %client, -1); + + %task.waitTimerMS = getSimTime(); + + //create the objective + if (! %task.targetterObjective) + { + %task.targetterObjective = new AIObjective(AIOLazeObject) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightLazeObject[1]; + weightLevel2 = $AIWeightLazeObject[2]; + description = "Laze the " @ %task.targetObject.getName(); + targetObjectId = %task.targetObject; + issuedByClientId = %client; + offense = true; + equipment = "TargetingLaser"; + }; + MissionCleanup.add(%task.targetterObjective); + $ObjectiveQ[%client.team].add(%task.targetterObjective); + } + %task.targetterObjective.lastLazedTime = 0; + + //remove the escort (want a targetter instead) + if (%client.escort) + { + AIClearObjective(%client.escort); + %client.escort.delete(); + %client.escort = ""; + } + } + else + { + %elapsedTime = getSimTime() - %task.waitTimerMS; + if (%task.targetterObjective.group > 0) + %targetter = %task.targetterObjective.group.clientLevel[1]; + else + %targetter = %task.targetterObjective.clientLevel[1]; + + //see if we can find a target near our objective + %task.targetAcquired = false; + %numTargets = ServerTargetSet.getCount(); + for (%i = 0; %i < %numTargets; %i++) + { + %targ = ServerTargetSet.getObject(%i); + %targDist = VectorDist(%targ.getTargetPoint(), %task.targetObject.getWorldBoxCenter()); + if (%targDist < 20) + { + %task.targetAcquired = true; + break; + } + } + + if (%task.targetAcquired) + { + %task.waitForTargetter = false; + %task.waitTimerMS = 0; + %task.celebrate = true; + %task.sayAcquired = false; + AIMessageThread("ChatTargetAcquired", %client, -1); + } + + //else see if we've run out of time + else if ((! %targetter || ! %targetter.isAIControlled()) && %elapsedTime > 20000) + { + %task.waitForTargetter = false; + %task.waitTimerMS = 0; + %task.celebrate = true; + } + } + } + + //now we should finally be attacking with or without a targetter + //eventually, the target will be destroyed, or we'll run out of ammo... + else + { + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); + + //see if we didn't acquired a spotter along the way + if (%task.targetterObjective.group > 0) + %targetter = %task.targetterObjective.group.clientLevel[1]; + else + %targetter = %task.targetterObjective.clientLevel[1]; + if (! %task.targetAcquired && AIClientIsAlive(%targetter) && %targetter.isAIControlled()) + { + %client.setTargetObject(-1); + %task.waitForTargetter = true; + } + else + { + //see if we can find a target near our objective + if (! %task.targetAcquired) + { + %numTargets = ServerTargetSet.getCount(); + for (%i = 0; %i < %numTargets; %i++) + { + %targ = ServerTargetSet.getObject(%i); + %targDist = VectorDist(%targ.getTargetPoint(), %task.targetObject.getWorldBoxCenter()); + if (%targDist < 20) + { + %task.targetAcquired = true; + break; + } + } + //see if we found a target (must be by a human) + if (%task.targetAcquired && %task.sayAcquired) + { + %task.sayAcquired = false; + AIMessageThread("ChatTargetAcquired", %client, -1); + } + } + + //set the target object, and keep attacking it + if (%client.getStepStatus() $= "Finished") + %client.setTargetObject(%task.targetObject, 250, "Mortar"); + else + %client.setTargetObject(-1); + } + } + } + + //the target must have been destroyed :) + else + { + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); + + %client.setTargetObject(-1); + %client.clearStep(); + %client.stop(); + + if (%task.celebrate) + { + if (%task.waitTimerMS == 0) + { + //client animation "woohoo"! :) + //choose the animation range + %minCel = 3; + %maxCel = 8; + + //pick a random sound + if (getRandom() > 0.25) + %sound = "gbl.awesome"; + else if (getRandom() > 0.5) + %sound = "gbl.thanks"; + else if (getRandom() > 0.75) + %sound = "gbl.nice"; + else + %sound = "gbl.rock"; + %randTime = mFloor(getRandom() * 500) + 1; + schedule(%randTime, %client, "AIPlayAnimSound", %client, %task.targetObject.getWorldBoxCenter(), %sound, %minCel, %maxCel, 0); + + //team message + AIMessageThread("ChatEnemyTurretsDestroyed", %client, -1); + + //set the timer + %task.waitTimerMS = getSimTime(); + } + + //else see if the celebration period is over + else if (getSimTime() - %task.waitTimerMS > 3000) + %task.celebrate = false; + } + else + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + } + } +} + +//------------------------------ + +function AIDeployEquipment::initFromObjective(%task, %objective, %client) +{ + //initialize the task vars from the objective + %task.baseWeight = %client.objectiveWeight; + %task.location = %objective.location; + %task.equipment = %objective.equipment; + %task.buyEquipmentSet = %objective.buyEquipmentSet; + %task.desiredEquipment = %objective.desiredEquipment; + %task.issuedByClient = %objective.issuedByClientId; + %task.chat = %objective.chat; + + //initialize other task vars + %task.sendMsg = true; + %task.sendMsgTime = 0; + + //use the Y-axis of the rotation as the desired direction of deployement, + //and calculate a walk to point 3 m behind the deploy point. + %task.deployDirection = MatrixMulVector("0 0 0 " @ getWords(%objective.getTransform(), 3, 6), "0 1 0"); + %task.deployDirection = VectorNormalize(%task.deployDirection); +} + +function AIDeployEquipment::assume(%task, %client) +{ + %task.setWeightFreq(15); + %task.setMonitorFreq(15); + + %client.needEquipment = AINeedEquipment(%task.equipment, %client); + + //mark the current time for the buy inventory state machine + %task.buyInvTime = getSimTime(); + + %task.passes = 0; + %task.deployAttempts = 0; + %task.checkObstructed = false; + %task.waitMove = 0; +} + +function AIDeployEquipment::retire(%task, %client) +{ +} + +function AIDeployEquipment::weight(%task, %client) +{ + //update the task weight + if (%task == %client.objectiveTask) + %task.baseWeight = %client.objectiveWeight; + + %task.setWeight(%task.baseWeight); +} + +function findTurretDeployPoint(%client, %location, %attempt) +{ + %player = %client.player; + if (!isObject(%player)) + return "0 0 0"; + + %feetPos = posFromTransform(%player.getTransform()); + %temp = VectorSub(%location, %feetPos); + %temp2 = getWord(%temp, 0) @ " " @ getWord(%temp, 1) @ " 0"; + %facingVector = VectorNormalize(%temp2); + %aimPoint = VectorAdd(%feetPos, %facingVector); + //assume that there will be 10 attempts + %height = getWord(%location, 2) + 1.0 - (0.2 * %attempt); + %aimAt = getWord(%aimPoint, 0) @ " " @ getWord(%aimPoint, 1) @ " " @ %height; + return %aimAt; +} + +function AIDeployEquipment::monitor(%task, %client) +{ + //first, buy the equipment + if (%client.needEquipment) + { + %task.setMonitorFreq(5); + if (%task.equipment !$= "") + %equipmentList = %task.equipment; + else + %equipmentList = %task.desiredEquipment; + %result = AIBuyInventory(%client, %equipmentList, %task.buyEquipmentSet, %task.buyInvTime); + if (%result $= "InProgress") + return; + else if (%result $= "Finished") + { + %task.setMonitorFreq(30); + %client.needEquipment = false; + //if we made it past the inventory buying, reset the inv time + %task.buyInvTime = getSimTime(); + } + else if (%result $= "Failed") + { + //if this task is the objective task, choose a new objective + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + return; + } + } + + //chat + if (%task.sendMsg) + { + if (%task.sendMsgTime == 0) + %task.sendMsgTime = getSimTime(); + else if (getSimTime() - %task.sendMsgTime > 7000) + { + %task.sendMsg = false; + if (%client.isAIControlled()) + { + if (%task.chat !$= "") + { + %chatMsg = getWord(%task.chat, 0); + %chatTemplate = getWord(%task.chat, 1); + if (%chatTemplate !$= "") + AIMessageThreadTemplate(%chatTemplate, %chatMsg, %client, -1); + else + AIMessageThread(%task.chat, %client, -1); + } + } + } + } + + //see if we're supposed to be engaging anyone... + if (AIClientIsAlive(%client.shouldEngage)) + { + %hasLOS = %client.hasLOSToClient(%client.shouldEngage); + %losTime = %client.getClientLOSTime(%client.shouldEngage); + if (%hasLOS || %losTime < 1000) + %client.setEngageTarget(%client.shouldEngage); + else + %client.setEngageTarget(-1); + } + else + %client.setEngageTarget(-1); + + //calculate the deployFromLocation + %factor = -1 * (3 - (%task.passes * 0.5)); + %task.deployFromLocation = VectorAdd(%task.location,VectorScale(%task.deployDirection, %factor)); + + //see if we're within range of the deploy location + %clLoc = %client.player.position; + %distance = VectorDist(%clLoc, %task.deployFromLocation); + %dist2D = VectorDist(%client.player.position, getWords(%task.deployFromLocation, 0, 1) SPC getWord(%client.player.position, 2)); + + //set the aim when we get near the target... this will be overwritten when we're actually trying to deploy + if (%distance < 10 && %dist2D < 10) + %client.aimAt(%task.location, 1000); + + if ((%client.pathDistRemaining(20) > %distance + 0.25) || %dist2D > 0.5) + { + %task.deployAttempts = 0; + %task.checkObstructed = false; + %task.waitMove = 0; + %client.stepMove(%task.deployFromLocation, 0.25); + %task.setMonitorFreq(15); + return; + } + + if (%task.deployAttempts < 10 && %task.passes < 5 && !AIClientIsAlive(%client.getEngageTarget())) + { + //dissolve the human control link + if (%task == %client.objectiveTask) + aiReleaseHumanControl(%client.controlByHuman, %client); + + %task.setMonitorFreq(3); + %client.stop(); + if (%task.deployAttempts == 0) + %deployPoint = %task.location; + else + %deployPoint = findTurretDeployPoint(%client, %task.location, %task.deployAttempts); + if(%deployPoint !$= "") + { + // we have possible point + %task.deployAttempts++; + %client.aimAt(%deployPoint, 2000); + + //try to deploy the backpack + %client.deployPack = true; + %client.lastDeployedObject = -1; + %client.player.use(Backpack); + + // check if pack deployed + if (isObject(%client.lastDeployedObject)) + { + //see if there's a "repairObject" objective for the newly deployed thingy... + if (%task == %client.objectiveTask) + { + %deployedObject = %client.lastDeployedObject; + + //search the current objective group and search for a "repair Object" task... + %objective = %client.objective; + + //delete any previously associated "AIORepairObject" objective + if (isObject(%objective.repairObjective)) + { + AIClearObjective(%objective.repairObjective); + %objective.repairObjective.delete(); + %objective.repairObjective = ""; + } + + //add the repair objective + %objective.repairObjective = new AIObjective(AIORepairObject) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = %objective.weightLevel1 - 60; + weightLevel2 = 0; + description = "Repair the " @ %deployedObject.getDataBlock().getName(); + targetObjectId = %deployedObject; + issuedByClientId = %client; + offense = false; + defense = true; + equipment = "RepairPack"; + }; + %objective.repairObjective.deployed = true; + %objective.repairObjective.setTransform(%objective.getTransform()); + %objective.repairObjective.group = %objective.group; + MissionCleanup.add(%objective.repairObjective); + $ObjectiveQ[%client.team].add(%objective.repairObjective); + + //finally, unassign the client so he'll go do something else... + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + + //finished + return; + } + } + } + else if (!%task.checkObstructed) + { + %task.checkObstructed = true; + + //see if anything is in our way + InitContainerRadiusSearch(%task.location, 4, $TypeMasks::MoveableObjectType | $TypeMasks::VehicleObjectType | + $TypeMasks::PlayerObjectType); + %objSrch = containerSearchNext(); + if (%objSrch == %client.player) + %objSrch = containerSearchNext(); + if (%objSrch) + AIMessageThread("ChatMove", %client, -1); + } + else if (%task.waitMove < 5 && %task.passes < 5) + { + %task.waitMove++; + + //try another pass at deploying + if (%task.waitMove == 5) + { + %task.waitMove = 0; + %task.passes++; + %task.deployAttempts = 0; + + //see if we're *right* underneath the deploy point + %deployDist2D = VectorDist(getWords(%client.player.position, 0, 1) @ "0", getWords(%task.location, 0, 1) @ "0"); + if (%deployDist2D < 0.25) + { + %client.pressjump(); + %client.deployPack = true; + %client.player.use(Backpack); + + // check if pack deployed + if(%client.player.getMountedImage($BackpackSlot) == 0) + { + //don't add a "repairObject" objective for ceiling turrets + if (%task == %client.objectiveTask) + { + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + } + } + } + } + else + { + //find a new assignment - and remove this one from the Queue + if (%task == %client.objectiveTask) + { + error(%client SPC "from team" SPC %client.team SPC "is invalidating objective:" SPC %client.objective SPC "UNABLE TO DEPLOY EQUIPMENT"); + %client.objective.isInvalid = true; + AIUnassignClient(%client); + Game.AIChooseGameObjective(%client); + } + } +} + +//------------------------------ +//AI Objective functions +function ClientHasAffinity(%objective, %client) +{ + if (%objective.offense && %client.offense) + return true; + else if (%objective.defense && !%client.offense) + return true; + else + return false; +} + +function ClientHasRequiredEquipment(%objective, %client) +{ + return true; +} + +function AIODefault::weight(%objective, %client, %level, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //set the base weight + switch (%level) + { + case 1: + %weight = %objective.weightLevel1; + case 2: + %weight = %objective.weightLevel2; + case 3: + %weight = %objective.weightLevel3; + default: + %weight = %objective.weightLevel4; + } + + //check Affinity + if (ClientHasAffinity(%objective, %client)) + %weight += 40; + + //if the objective doesn't require any equipment, it automatically get's the +100... + if (%objective.equipment $= "" && %objective.desiredEquipment $= "") + %weight += 100; + else + { + //check equipment requirement + %needEquipment = AINeedEquipment(%objective.equipment, %client); + + //check Required equipment + if (%objective.equipment !$= "" && !%needEquipment) + %weight += 100; + + //figure out the percentage of desired equipment the bot has + else if (%objective.desiredEquipment !$= "") + { + %count = getWordCount(%objective.desiredEquipment); + %itemCount = 0; + for (%i = 0; %i < %count; %i++) + { + %item = getWord(%objective.desiredEquipment, %i); + if (!AINeedEquipment(%item, %client)) + %itemCount++; + } + + //add to the weight + %weight += mFloor((%itemCount / %count) * 75); + } + } + + //find the distance to target + if (%objective.targetClientId !$= "" || %objective.targetObjectId !$= "") + { + if (AIClientIsAlive(%objective.targetClientId)) + { + %targetPos = %objective.targetClientId.player.getWorldBoxCenter(); + } + else if (VectorDist(%objective.location, "0 0 0") > 1) + %targetPos = %objective.location; + else + { + if(%objective.targetObjectId > 0) + %targetPos = %objective.targetObjectId.getWorldBoxCenter(); + } + } + + //make sure the destination is accessible + %distance = %client.getPathDistance(%targetPos); + if (%distance < 0) + return 0; + + %closestInvIsRemote = (getWordCount(%inventoryStr) == 4); + %closestInv = getWord(%inventoryStr, 0); + %closestDist = getWord(%inventoryStr, 1); + %closestRemoteInv = getWord(%inventoryStr, 2); + %closestRemoteDist = getWord(%inventoryStr, 3); + + //if we need equipment, the distance is from the client, to an inv, then to the target + if (%needEquipment) + { + //if we need a regular inventory station, and one doesn't exist, exit + if (!isObject(%closestInv) && %needArmor) + return 0; + + //find the closest inv based on whether we require armor (from a regular inv station) + if (!%closestInvIsRemote) + { + %needArmor = false; + %weightDist = %closestDist; + %weightInv = %closestInv; + } + else + { + %needArmor = AIMustUseRegularInvStation(%objective.equipment, %client); + if (%needArmor) + { + %weightDist = %closestDist; + %weightInv = %closestInv; + } + else + { + %weightDist = %closestRemoteDist; + %weightInv = %closestRemoteInv; + } + } + + //if we don't need armor, and there's no inventory station, see if the equipment we need + //is something we can pick up off the ground (likely this would be a repair pack...) + if (%weightDist >= 32767) + { + %itemType = getWord(%objective.equipment, 0); + %found = false; + %itemCount = $AIItemSet.getCount(); + for (%i = 0; %i < %itemCount; %i++) + { + %item = $AIItemSet.getObject(%i); + if (%item.getDataBlock().getName() $= %itemType && !%item.isHidden()) + { + %weightDist = %client.getPathDistance(%item.getWorldBoxCenter()); + if (%weightDist > 0) + { + %weightInv = %item; //set the var so the distance function will work... + %found = true; + break; + } + } + } + if (! %found) + return 0; + } + + //now find the distance used for weighting the objective + %tempDist = AIGetPathDistance(%targetPos, %weightInv.getWorldBoxCenter()); + if (%tempDist < 0) + %tempDist = 32767; + %distance = %weightDist + %tempDist; + } + + //see if we're within 200 m + if (%distance < 200) + %weight += 30; + + //see if we're within 90 m + if (%distance < 90) + %weight += 30; + + //see if we're within 45 m + if (%distance < 45) + %weight += 30; + + //see if we're within 20 m + if (%distance < 20) + %weight += 30; + + //final return, since we've made it through all the rest + return %weight; +} + +function AIODefault::QuickWeight(%objective, %client, %level, %minWeight) +{ + //can't do a quick weight when re-evaluating a client's current objective + if (%client.objective == %objective) + return true; + + //do a quick check to disqualify this objective if it can't meet the minimum weight + switch (%level) + { + case 1: + %testWeight = %objective.weightLevel1; + case 2: + %testWeight = %objective.weightLevel2; + case 3: + %testWeight = %objective.weightLevel3; + default: + %testWeight = %objective.weightLevel4; + } + if (%testWeight + 260 < %minWeight) + return false; + else + return true; +} + +//------------------------------ + +function AIODefendLocation::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + // if were playing CnH, check who owns this + if (%this.targetObjectId > 0) + { + if (!isObject(%this.targetObjectId) || %this.targetObjectId.isHidden() || %this.targetObjectId.team != %client.team) + return 0; + } + + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //do a quick check to disqualify this objective if it can't meet the minimum weight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if (%this.targetObjectId > 0 && %this.issuedByClientId == %client.controlByHuman) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + } + else + return 0; + } + + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + + //if the object has been destroyed, reduce the weight + if (%this.targetObjectId > 0) + { + + //see if we were forced on the objective + if (%this.issuedByClientId == %client.controlByHuman && %weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + + //else see if the object has been destroyed + else if (!isObject(%this.targetObjectId) || %this.targetObjectId.getDamageState() $= "Destroyed") + %weight -= 320; + } + + return %weight; +} + +function AIODefendLocation::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIDefendLocation); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIODefendLocation::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOAttackLocation::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //now, if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedCommand; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; +} + +function AIOAttackLocation::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIAttackLocation); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIOAttackLocation::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOTouchObject::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + switch$ (%this.mode) + { + case "TouchFlipFlop": + if(%this.targetObjectId.team == %client.team || %this.targetObjectId.isHidden()) + return 0; + else + return AIODefault::weight(%this, %client, %level, %inventoryStr); + case "FlagGrab": + if (! %this.targetObjectId.isHome) + return 0; + else + return AIODefault::weight(%this, %client, %level, %inventoryStr); + case "FlagDropped": + if ((%this.targetObjectId.isHome) || (%this.targetObjectId.carrier !$= "")) + return 0; + else + return AIODefault::weight(%this, %client, %level, %inventoryStr); + case "FlagCapture": + if (%this.targetObjectId.carrier != %client.player) + return 0; + else + { + //find our home flag location + %homeTeam = %client.team; + %homeFlag = $AITeamFlag[%homeTeam]; + %this.location = %homeFlag.originalPosition; + return AIODefault::weight(%this, %client, %level, %inventoryStr); + } + } + return 0; +} + +function AIOTouchObject::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AITouchObject); + %client.objectiveTask.initFromObjective(%this, %client); + + //create an AIOEscortPlayer objective to help out, if required + if (%this.mode $= "FlagGrab") + { + %client.escort = new AIObjective(AIOEscortPlayer) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightEscortOffense[1]; + weightLevel2 = $AIWeightEscortOffense[2]; + description = "Escort " @ getTaggedString(%client.name); + targetClientId = %client; + offense = true; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyELF"; + }; + MissionCleanup.add(%client.escort); + $ObjectiveQ[%client.team].add(%client.escort); + } + + else if (%this.mode $= "FlagCapture") + { + %client.escort = new AIObjective(AIOEscortPlayer) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightEscortCapper[1]; + weightLevel2 = $AIWeightEscortCapper[2]; + description = "Escort " @ getTaggedString(%client.name); + targetClientId = %client; + offense = true; + desiredEquipment = "EnergyPack"; + buyEquipmentSet = "LightEnergyDefault"; + }; + MissionCleanup.add(%client.escort); + $ObjectiveQ[%client.team].add(%client.escort); + } +} + +function AIOTouchObject::unassignClient(%this, %client) +{ + //kill the escort objective + if (%client.escort) + { + AIClearObjective(%client.escort); + %client.escort.delete(); + %client.escort = ""; + } + + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOAttackPlayer::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //if we're attacking the flag carrier, make sure a flag carrier exists + if (%this.mode $= "FlagCarrier") + { + if (%this.targetObjectId.carrier $= "") + return 0; + else + %this.targetClientId = %this.targetObjectId.carrier.client; + } + + //now, if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedCommand; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; +} + +function AIOAttackPlayer::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIAttackPlayer); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIOAttackPlayer::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOEscortPlayer::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client) || ! AIClientIsAlive(%this.targetClientId)) + return 0; + + //can't escort yourself + if (%client == %this.targetClientId) + return 0; + + //make sure the class is appropriate + if (%this.forceClientId <= 0 && %this.issuedByClientId != %client.controlByHuman) + { + %targArmor = %this.targetClientId.player.getArmorSize(); + %myArmor = %client.player.getArmorSize(); + + if ((%targArmor $= "Light" && %myArmor !$= "Light") || %myArmor $= "Heavy") + return 0; + } + + //can't bump a forced client from level 1 + if (%this.forceClientId > 0 && %this.forceClientId != %client && %level == 1) + return 0; + + //if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedEscort < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedEscort; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedEscort) + %weight = $AIWeightHumanIssuedEscort; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; +} + +function AIOEscortPlayer::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIEscortPlayer); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIOEscortPlayer::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOAttackObject::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + // if were playing CnH, check who owns this + if (!isObject(%this.targetObjectId) || %this.targetObjectId.isHidden() || %this.targetObjectId.team == %client.team) + return 0; + + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //no need to attack if the object is already destroyed + if (!isObject(%this.targetObjectId) || %this.targetObjectId.getDamageState() $= "Destroyed") + return 0; + else + { + //if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedCommand; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; + } +} + +function AIOAttackObject::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIAttackObject); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIOAttackObject::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIORepairObject::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + // if were playing CnH, check who owns this + if (!isObject(%this.targetObjectId) || %this.targetObjectId.isHidden() || %this.targetObjectId.team != %client.team) + return 0; + + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //no need to repair if the object isn't in need + if (!isObject(%this.targetObjectId) || %this.targetObjectId.getDamagePercent() <= 0) + return 0; + else + { + //if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedCommand; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; + } +} + +function AIORepairObject::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIRepairObject); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIORepairObject::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOLazeObject::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //see if it's already being lazed + %numTargets = ServerTargetSet.getCount(); + for (%i = 0; %i < %numTargets; %i++) + { + %targ = ServerTargetSet.getObject(%i); + if (%targ.sourceObject != %client.player) + { + %targDist = VectorDist(%targ.getTargetPoint(), %this.targetObjectId.getWorldBoxCenter()); + if (%targDist < 10) + { + %this.lastLazedTime = getSimTime(); + %this.lastLazedClient = %targ.sourceObject.client; + break; + } + } + } + + //no need to laze if the object is already destroyed + if (!isObject(%this.targetObjectId) || %this.targetObjectId.getDamageState() $= "Destroyed") + return 0; + else if (%this.targetObjectId.isHidden() || %this.targetObjectId.team != %client.team) + return 0; + else if (getSimTime() - %this.lastLazedTime <= 15000 && %this.lastLazedClient != %client) + return 0; + else + { + //set the base weight + switch (%level) + { + case 1: + %weight = %this.weightLevel1; + case 2: + %weight = %this.weightLevel2; + case 3: + %weight = %this.weightLevel3; + default: + %weight = %this.weightLevel4; + } + + //check Affinity + if (ClientHasAffinity(%this, %client)) + %weight += 100; + + //for now, do not deviate from the current assignment to laze a target, if you don't + //already have a targeting laser. + %needEquipment = AINeedEquipment(%this.equipment, %client); + if (!%needEquipment) + %weight += 100; + else if (!aiHumanHasControl(%client.controlByHuman, %client)) + return 0; + + //see if this client is close to the issuing client + if (%this.issuedByClientId > 0) + { + if (! AIClientIsAlive(%this.issuedByClientId)) + return 0; + + %distance = %client.getPathDistance(%this.issuedByClientId.player.getWorldBoxCenter()); + if (%distance < 0) + %distance = 32767; + + //see if we're within 200 m + if (%distance < 200) + %weight += 30; + + //see if we're within 90 m + if (%distance < 90) + %weight += 30; + + //see if we're within 45 m + if (%distance < 45) + %weight += 30; + } + + //now, if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman && %weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + + return %weight; + } +} + +function AIOLazeObject::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AILazeObject); + %client.objectiveTask.initFromObjective(%this, %client); +} + +function AIOLazeObject::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------ + +function AIOMortarObject::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + // if were playing CnH, check who owns this + if (!isObject(%this.targetObjectId) || %this.targetObjectId.isHidden() || %this.targetObjectId.team == %client.team) + return 0; + + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //no need to attack if the object is already destroyed + if (%this.targetObjectId.getDamageState() $= "Destroyed") + return 0; + else + { + //if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedCommand; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; + } +} + +function AIOMortarObject::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIMortarObject); + %client.objectiveTask.initFromObjective(%this, %client); + + //create the escort objective (require a targeting laser in this case...) + %client.escort = new AIObjective(AIOEscortPlayer) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $AIWeightEscortOffense[1]; + weightLevel2 = $AIWeightEscortOffense[2]; + description = "Escort " @ getTaggedString(%client.name); + targetClientId = %client; + offense = true; + equipment = "TargetingLaser"; + buyEquipmentSet = "LightEnergyDefault"; + }; + MissionCleanup.add(%client.escort); + $ObjectiveQ[%client.team].add(%client.escort); +} + +function AIOMortarObject::unassignClient(%this, %client) +{ + //kill the escort objective + if (%client.escort) + { + AIClearObjective(%client.escort); + %client.escort.delete(); + %client.escort = ""; + } + + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------------------------------------------------ +//If the function ShapeBaseImageData::testInvalidDeployConditions() changes at all, those changes need to be reflected here +function AIODeployEquipment::weight(%this, %client, %level, %minWeight, %inventoryStr) +{ + //make sure the player is still alive!!!!! + if (! AIClientIsAlive(%client)) + return 0; + + //make sure the deploy objective is valid + if (%this.isInvalid) + return 0; + + //first, make sure we haven't deployed too many... + if (%this.equipment $= "TurretOutdoorDeployable" || %this.equipment $= "TurretIndoorDeployable") + %maxAllowed = countTurretsAllowed(%this.equipment); + else + %maxAllowed = $TeamDeployableMax[%this.equipment]; + + if ($TeamDeployedCount[%client.team, %this.equipment] >= %maxAllowed) + return 0; + + //now make sure there are no other items in the way... + InitContainerRadiusSearch(%this.location, $MinDeployableDistance, $TypeMasks::VehicleObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | + $TypeMasks::TSStaticShapeObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::ItemObjectType | + $TypeMasks::PlayerObjectType | + $TypeMasks::TurretObjectType); + %objSearch = containerSearchNext(); + + //make sure we're not invalidating the deploy location with the client's own player object + if (%objSearch == %client.player) + %objSearch = containerSearchNext(); + + //did we find an object which would block deploying the equipment? + if (isObject(%objSearch)) + return 0; + + //now run individual checks based on the equipment type... + if (%this.equipment $= "TurretIndoorDeployable") + { + //check if there's another turret close to the deploy location + InitContainerRadiusSearch(%this.location, $TurretIndoorSpaceRadius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + if (isObject(%found)) + { + %foundName = %found.getDataBlock().getName(); + if ((%foundName $= TurretDeployedFloorIndoor) || (%foundName $= "TurretDeployedWallIndoor") || (%foundName $= "TurretDeployedCeilingIndoor") || (%foundName $= "TurretDeployedOutdoor")) + return 0; + } + + //now see if there are too many turrets in the area... + %highestDensity = 0; + InitContainerRadiusSearch(%this.location, $TurretIndoorSphereRadius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + while (isObject(%found)) + { + %foundName = %found.getDataBlock().getName(); + if ((%foundName $= "TurretDeployedFloorIndoor") || (%foundName $= "TurretDeployedWallIndoor") || (%foundName $= "TurretDeployedCeilingIndoor") || (%foundName $= "TurretDeployedOutdoor")) + { + //found one + %numTurretsNearby++; + + %nearbyDensity = testNearbyDensity(%found, $TurretIndoorSphereRadius); + if (%nearbyDensity > %highestDensity) + %highestDensity = %nearbyDensity; + } + %found = containerSearchNext(); + } + + if (%numTurretsNearby > %highestDensity) + %highestDensity = %numTurretsNearby; + + //now see if the area is already saturated + if (%highestDensity > $TurretIndoorMaxPerSphere) + return 0; + } + + else if (%this.equipment $= "TurretOutdoorDeployable") + { + //check if there's another turret close to the deploy location + InitContainerRadiusSearch(%this.location, $TurretOutdoorSpaceRadius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + if (isObject(%found)) + { + %foundName = %found.getDataBlock().getName(); + if ((%foundName $= "TurretDeployedFloorIndoor") || (%foundName $= "TurretDeployedWallIndoor") || (%foundName $= "TurretDeployedCeilingIndoor") || (%foundName $= "TurretDeployedOutdoor")) + return 0; + } + + //now see if there are too many turrets in the area... + %highestDensity = 0; + InitContainerRadiusSearch(%this.location, $TurretOutdoorSphereRadius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + while (isObject(%found)) + { + %foundName = %found.getDataBlock().getName(); + if ((%foundName $= "TurretDeployedFloorIndoor") || (%foundName $= "TurretDeployedWallIndoor") || (%foundName $= "TurretDeployedCeilingIndoor") || (%foundName $= "TurretDeployedOutdoor")) + { + //found one + %numTurretsNearby++; + + %nearbyDensity = testNearbyDensity(%found, $TurretOutdoorSphereRadius); + if (%nearbyDensity > %highestDensity) + %highestDensity = %nearbyDensity; + } + %found = containerSearchNext(); + } + + if (%numTurretsNearby > %highestDensity) + %highestDensity = %numTurretsNearby; + + //now see if the area is already saturated + if (%highestDensity > $TurretOutdoorMaxPerSphere) + return 0; + } + + //check equipment requirement + %needEquipment = AINeedEquipment(%this.equipment, %client); + + //if don't need equipment, see if we've past the "point of no return", and should continue regardless + if (! %needEquipment) + { + %needArmor = AIMustUseRegularInvStation(%this.equipment, %client); + %result = AIFindClosestInventory(%client, %needArmor); + %closestInv = getWord(%result, 0); + %closestDist = getWord(%result, 1); + + //if we're too far from the inv to go back, or we're too close to the deploy location, force continue + if (%closestDist > 50 && VectorDist(%client.player.getWorldBoxCenter(), %task.location) < 50) + { + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightContinueDeploying) + %weight = $AIWeightContinueDeploying; + return %weight; + } + } + + //if this bot is linked to a human who has issued this command, up the weight + if (%this.issuedByClientId == %client.controlByHuman) + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + { + if ($AIWeightHumanIssuedCommand < %minWeight) + return 0; + else + %weight = $AIWeightHumanIssuedCommand; + } + else + { + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + if (%weight < $AIWeightHumanIssuedCommand) + %weight = $AIWeightHumanIssuedCommand; + } + } + else + { + //make sure we have the potential to reach the minWeight + if (!AIODefault::QuickWeight(%this, %client, %level, %minWeight)) + return 0; + + // calculate the default... + %weight = AIODefault::weight(%this, %client, %level, %inventoryStr); + } + + return %weight; +} + +function AIODeployEquipment::assignClient(%this, %client) +{ + %client.objectiveTask = %client.addTask(AIDeployEquipment); + %task = %client.objectiveTask; + %task.initFromObjective(%this, %client); +} + +function AIODeployEquipment::unassignClient(%this, %client) +{ + %client.removeTask(%client.objectiveTask); + %client.objectiveTask = ""; +} + +//------------------------------------------------------------------------ diff --git a/public/base/@vl2/scripts.vl2/scripts/aiRabbit.cs b/public/base/@vl2/scripts.vl2/scripts/aiRabbit.cs new file mode 100644 index 00000000..c0b7455a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiRabbit.cs @@ -0,0 +1,230 @@ +//----------------------------------------------- +// AI functions for Rabbit +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- + +function RabbitGame::onAIRespawn(%game, %client) +{ + //add the default task + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIPickupItemTask); + %client.addTask(AIUseInventoryTask); + %client.addTask(AITauntCorpseTask); + %client.rabbitTask = %client.addTask(AIRabbitTask); + } + + //set the inv flag + %client.spawnUseInv = true; +} + +//--------------------------------------------------------------------------- + +function RabbitGame::AIInit(%game) +{ + //call the default AIInit() function + AIInit(); +} + +//--------------------------------------------------------------------------- +//AIRabbitTask functions +//--------------------------------------------------------------------------- +function AIRabbitTask::init(%task, %client) +{ +} + +//--------------------------------------------------------------------------- + +function AIRabbitTask::assume(%task, %client) +{ + %task.setWeightFreq(20); + %task.setMonitorFreq(20); + %task.findLocation = true; +} + +function AIRabbitTask::retire(%task, %client) +{ +} + +//--------------------------------------------------------------------------- + +function AIRabbitTask::weight(%task, %client) +{ + %player = %client.player; + + //see if I have the flag + if ($AIRabbitFlag.carrier == %player) + %task.setWeight($AIRabbitWeightDefault); + + //else see if I'm close to the flag + else + { + if (isObject($AIRabbitFlag.carrier)) + %distToFlag = %client.getPathDistance($AIRabbitFlag.carrier.getWorldBoxCenter()); + else + %distToFlag = %client.getPathDistance($AIRabbitFlag.getWorldBoxCenter()); + + //if the flag is pretty close, or the inv station is quite far... + if (%distToFlag > 0 && %distToFlag < 50) + %task.setWeight($AIRabbitWeightDefault); + else + %task.setWeight($AIRabbitWeightNeedInv); + + //see if the spawnUseInv flag should be reset + if (%client.spawnUseInv) + { + if (!isObject($AIRabbitFlag.carrier)) + { + //see if there are any bots closer to a dropped flag + %found = false; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl != %client && %cl.isAIControlled() && isObject(%cl.player)) + { + %dist = VectorDist(%cl.player.position, $AIRabbitFlag.position); + if (%dist < %distToFlag) + { + %found = true; + break; + } + } + } + + //reset the spawnUseInv flag if we're the closest + if (!%found) + %client.spawnUsInv = false; + } + } + } +} + +//--------------------------------------------------------------------------- + +function AIRabbitTask::monitor(%task, %client) +{ + %player = %client.player; + + //if we have the flag - run + if ($AIRabbitFlag.carrier == %player) + { + if (%task.findLocation) + { + %damage = %player.getDamagePercent(); + if (%damage > 0.3) + { + //search for a health kit + %closestHealth = AIFindSafeItem(%client, "Health"); + if (%closestHealth > 0) + { + %task.seekLocation = %closestHealth.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + else if (!%foundItemLocation && AIEngageOutOfAmmo(%client)) + { + //search for a Ammo or a weapon... + %closestItem = AIFindSafeItem(%client, "Ammo"); + if (%closestItem > 0) + { + %task.seekLocation = %closestItem.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + + //now see if we don't really have good equipment... + else if (!%foundItemLocation && AIEngageWeaponRating(%client) < 20) + { + //search for any useful item + %closestItem = AIFindSafeItem(%client, "Any"); + if (%closestItem > 0) + { + %task.seekLocation = %closestItem.getWorldBoxCenter(); + %foundItemLocation = true; + } + } + + //else, search for any spot on the map that isn't covered with enemies... + else + { + //try 10 times + %task.seekLocation = %player.position; + %farthestLocation = ""; + %farthestDist = 0; + %occupiedLocation = ""; + + for (%i = 0; %i < 10; %i++) + { + %testLocation = Game.pickPlayerSpawn(%client, true); + if (%testLocation == -1) + break; + + %dist = %client.getPathDistance(%testLocation); + if (%dist < 0 || %dist > %farthestDist) + { + //see if it's unoccupied... + %result = AIFindClosestEnemyToLoc(%client, %task.location, 50, $AIClientLOSTimeout, true); + %closestEnemy = getWord(%result, 0); + %closestdist = getWord(%result, 1); + + if (!AIClientIsAlive(%closestEnemy)) + %farthestLocation = %testLocation; + else + %occupiedLocation = %testLocation; + } + } + + if (%farthestLocation $= "") + %task.seekLocation = %occupiedLocation; + else + %task.seekLocation = %farthestLocation; + } + + //set the flag and go there + %task.findLocation = false; + %client.stepMove(%task.seekLocation, 8); + } + else + { + //keep going there... + %client.stepMove(%task.seekLocation, 8); + + //see if we've arrived + %distToDest = %client.getPathDistance(%task.seekLocation); + if (%distToDest > 0 && %distToDest < 10) + { + %task.findLocation = true; + } + } + + //don't forget to shoot back at whoever shot me last + if (%client.lastDamageClient != %client) + %client.setEngageTarget(%client.lastDamageClient); + } + + //else if someone else has the flag - shoot them + else if (isObject($AIRabbitFlag.carrier)) + { + %client.clientDetected($AIRabbitFlag.carrier.client); + %client.stepEngage($AIRabbitFlag.carrier.client); + } + + //else the flag has been dropped + else + { + %client.stepMove($AIRabbitFlag.position, 0.25); + %client.setEngageTarget(-1); + } +} + +//--------------------------------------------------------------------------- +// AIRabbit utility functions +//--------------------------------------------------------------------------- +function air() +{ + exec("scripts/aiRabbit.cs"); +} + + diff --git a/public/base/@vl2/scripts.vl2/scripts/aiSiege.cs b/public/base/@vl2/scripts.vl2/scripts/aiSiege.cs new file mode 100644 index 00000000..897b7032 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiSiege.cs @@ -0,0 +1,89 @@ +// +// aiSiege.cs +// + +function SiegeGame::onAIRespawn(%game, %client) +{ + //add the default tasks + if (! %client.defaultTasksAdded) + { + %client.defaultTasksAdded = true; + %client.addTask(AIEngageTask); + %client.addTask(AIPickupItemTask); + %client.addTask(AITauntCorpseTask); + %client.addTask(AIEngageTurretTask); + %client.addtask(AIDetectMineTask); + } +} + +function SiegeGame::AIInit(%game) +{ + for (%i = 0; %i <= %game.numTeams; %i++) + { + if (!isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i] = new AIObjectiveQ(); + MissionCleanup.add($ObjectiveQ[%i]); + } + + error("team " @ %i @ " objectives load..."); + $ObjectiveQ[%i].clear(); + AIInitObjectives(%i, %game); + } + + //call the default AIInit() function + AIInit(); +} + +function SiegeGame::AIChooseGameObjective(%game, %client) +{ + //the objectives on team1 are all offense objectives, team2 has the defensive ones.. + if (%client.team == %game.offenseTeam) + AIChooseObjective(%client, $ObjectiveQ[1]); + else + AIChooseObjective(%client, $ObjectiveQ[2]); +} + +function SiegeGame::AIHalfTime(%game) +{ + //clear all the bots, and clean up all the sets, objective qs, etc... + AIMissionEnd(); + + //reset everything from scratch + %game.aiInit(); + + //respawn all the bots + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIControlled()) + onAIRespawn(%cl); + } +} + +function SiegeGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team) + { + schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0); + + //clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob! + %clVictim.lastDamageClient = -1; + } +} + +function SiegeGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clVictim.team != %clAttacker.team) + DefaultGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement); +} + +function SiegeGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim && !%clVictim.isAIControlled()) + { + // The Bot is only a little sorry: + if ( getRandom() > 0.9 ) + AIMessageThread("ChatSorry", %clAttacker, %clVictim); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/aiTeamHunters.cs b/public/base/@vl2/scripts.vl2/scripts/aiTeamHunters.cs new file mode 100644 index 00000000..59622a5c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/aiTeamHunters.cs @@ -0,0 +1,51 @@ +exec("scripts/aiHunters.cs"); + +//---------------------------------------------------------------------------// +//AI functions for playing TEAM HUNTERS + +function TeamHuntersGame::AIInit(%game) +{ + for (%i = 1; %i <= %game.numTeams; %i++) + { + if (!isObject($ObjectiveQ[%i])) + { + $ObjectiveQ[%i] = new AIObjectiveQ(); + MissionCleanup.add($ObjectiveQ[%i]); + } + + error("team " @ %i @ " objectives load..."); + $ObjectiveQ[%i].clear(); + AIInitObjectives(%i, %game); + } + + //call the default AIInit() function + AIInit(); +} + +function TeamHuntersGame::onAIRespawn(%game, %client) +{ + HuntersGame::onAIRespawn(%game, %client); +} + +function TeamHuntersGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team) + { + schedule(250, %clVictim, "AIPlayAnimSound", %clVictim, %clAttacker.player.getWorldBoxCenter(), "wrn.watchit", -1, -1, 0); + + //clear the "lastDamageClient" tag so we don't turn on teammates... unless it's uberbob! + %clVictim.lastDamageClient = -1; + } +} + +function TeamHuntersGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + if (%clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim && !%clVictim.isAIControlled()) + { + // The Bot is only a little sorry: + if ( getRandom() > 0.9 ) + AIMessageThread("ChatSorry", %clAttacker, %clVictim); + } +} + + diff --git a/public/base/@vl2/scripts.vl2/scripts/autoexec/scripts.txt b/public/base/@vl2/scripts.vl2/scripts/autoexec/scripts.txt new file mode 100644 index 00000000..1597cd24 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/autoexec/scripts.txt @@ -0,0 +1 @@ +Any scripts (.cs files) placed in this folder will be loaded (exec'd) automatically. \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/badlandsPropMap.cs b/public/base/@vl2/scripts.vl2/scripts/badlandsPropMap.cs new file mode 100644 index 00000000..e021f2ec --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/badlandsPropMap.cs @@ -0,0 +1,17 @@ +//-------------------------------------- Desert interior texture property mapping + +addMaterialMapping("badlands/bd_ichute01", "environment: special/chuteTexture 0.25"); +addMaterialMapping("badlands/bd_ichute02a", "environment: special/chuteTexture 0.25"); + +//"Color: red green blue startAlpha endAlpha" +//Soft sound = 0 +//Hard sound = 1 +//Metal sound = 2 +//Snow sound = 3 +addMaterialMapping("terrain/BadLands.DirtBumpy", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/BadLands.DirtChipped", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/BadLands.DirtYellow", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/BadLands.DirtYellowCracked", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/BadLands.RockBrown", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/BadLands.RockChipped", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/BadLands.RockCracked", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); diff --git a/public/base/@vl2/scripts.vl2/scripts/bioderm_heavy.cs b/public/base/@vl2/scripts.vl2/scripts/bioderm_heavy.cs new file mode 100644 index 00000000..4acac6bf --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/bioderm_heavy.cs @@ -0,0 +1,41 @@ +datablock TSShapeConstructor(BiodermHeavyDts) +{ + baseShape = "bioderm_heavy.dts"; + sequence0 = "bioderm_heavy_root.dsq root"; + sequence1 = "bioderm_heavy_forward.dsq run"; + sequence2 = "bioderm_heavy_back.dsq back"; + sequence3 = "bioderm_heavy_side.dsq side"; + sequence4 = "bioderm_heavy_lookde.dsq look"; + sequence5 = "bioderm_heavy_lookms.dsq lookms"; + sequence6 = "bioderm_heavy_head.dsq head"; + sequence7 = "bioderm_heavy_headside.dsq headside"; + sequence8 = "bioderm_heavy_jet.dsq jet"; + sequence9 = "bioderm_heavy_land.dsq land"; + sequence10 = "bioderm_heavy_fall.dsq fall"; + sequence11 = "bioderm_heavy_jump.dsq jump"; + sequence12 = "bioderm_heavy_recoilde.dsq light_recoil"; + sequence13 = "bioderm_heavy_idlePDA.dsq idlePDA"; + sequence14 = "bioderm_heavy_diehead.dsq death1"; + sequence15 = "bioderm_heavy_diechest.dsq death2"; + sequence16 = "bioderm_heavy_dieback.dsq death3"; + sequence17 = "bioderm_heavy_dieknees.dsq death4"; + sequence18 = "bioderm_heavy_diesidelft.dsq death5"; + sequence19 = "bioderm_heavy_diesidert.dsq death6"; + sequence20 = "bioderm_heavy_dieleglft.dsq death7"; + sequence21 = "bioderm_heavy_dielegrt.dsq death8"; + sequence22 = "bioderm_heavy_dieslump.dsq death9"; + sequence23 = "bioderm_heavy_dieforward.dsq death10"; + sequence24 = "bioderm_heavy_diespin.dsq death11"; + sequence25 = "bioderm_heavy_celsalute.dsq cel1"; + sequence26 = "bioderm_heavy_celyeah.dsq cel2"; + sequence27 = "bioderm_heavy_tauntbest.dsq cel3"; + sequence28 = "bioderm_heavy_celroar.dsq cel4"; + sequence29 = "bioderm_heavy_tauntbull.dsq cel5"; + sequence30 = "bioderm_heavy_celflex2.dsq cel6"; + sequence31 = "bioderm_heavy_celgora.dsq cel7"; + sequence32 = "bioderm_heavy_celjump.dsq cel8"; + sequence33 = "bioderm_heavy_ski.dsq ski"; + sequence34 = "bioderm_heavy_standjump.dsq standjump"; + sequence35 = "bioderm_heavy_looknw.dsq looknw"; +}; + \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/bioderm_light.cs b/public/base/@vl2/scripts.vl2/scripts/bioderm_light.cs new file mode 100644 index 00000000..b53be9df --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/bioderm_light.cs @@ -0,0 +1,42 @@ +datablock TSShapeConstructor(BiodermLightDts) +{ + baseShape = "bioderm_light.dts"; + sequence0 = "bioderm_light_root.dsq root"; + sequence1 = "bioderm_light_forward.dsq run"; + sequence2 = "bioderm_light_back.dsq back"; + sequence3 = "bioderm_light_side.dsq side"; + sequence4 = "bioderm_light_lookde.dsq look"; + sequence5 = "bioderm_light_lookms.dsq lookms"; + sequence6 = "bioderm_light_head.dsq head"; + sequence7 = "bioderm_light_headside.dsq headSide"; + sequence8 = "bioderm_light_jet.dsq jet"; + sequence9 = "bioderm_light_land.dsq land"; + sequence10 = "bioderm_light_fall.dsq fall"; + sequence11 = "bioderm_light_jump.dsq jump"; + sequence12 = "bioderm_light_recoilde.dsq light_recoil"; + sequence13 = "bioderm_light_idlePDA.dsq idlePDA"; + sequence14 = "bioderm_light_scoutroot.dsq scoutroot"; + sequence15 = "bioderm_light_dieback.dsq death1"; + sequence16 = "bioderm_light_diespin.dsq death2"; + sequence17 = "bioderm_light_diechest.dsq death3"; + sequence18 = "bioderm_light_dieforward.dsq death4"; + sequence19 = "bioderm_light_diehead.dsq death5"; + sequence20 = "bioderm_light_dieknees.dsq death6"; + sequence21 = "bioderm_light_dieleglft.dsq death7"; + sequence22 = "bioderm_light_dielegrt.dsq death8"; + sequence23 = "bioderm_light_diesidelft.dsq death9"; + sequence24 = "bioderm_light_diesidert.dsq death10"; + sequence25 = "bioderm_light_dieslump.dsq death11"; + sequence26 = "bioderm_light_celsalute.dsq cel1"; + sequence27 = "bioderm_light_celyeah.dsq cel2"; + sequence28 = "bioderm_light_tauntbest.dsq cel3"; + sequence29 = "bioderm_light_celroar.dsq cel4"; + sequence30 = "bioderm_light_tauntbull.dsq cel5"; + sequence31 = "bioderm_light_celflex2.dsq cel6"; + sequence32 = "bioderm_light_celgora.dsq cel7"; + sequence33 = "bioderm_light_celjump.dsq cel8"; + sequence34 = "bioderm_light_sitting.dsq sitting"; + sequence35 = "bioderm_light_ski.dsq ski"; + sequence36 = "bioderm_light_standjump.dsq standjump"; + sequence37 = "bioderm_light_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/bioderm_medium.cs b/public/base/@vl2/scripts.vl2/scripts/bioderm_medium.cs new file mode 100644 index 00000000..0a0d7cbe --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/bioderm_medium.cs @@ -0,0 +1,41 @@ +datablock TSShapeConstructor(BiodermMediumDts) +{ + baseShape = "bioderm_medium.dts"; + sequence0 = "bioderm_medium_root.dsq root"; + sequence1 = "bioderm_medium_forward.dsq run"; + sequence2 = "bioderm_medium_back.dsq back"; + sequence3 = "bioderm_medium_side.dsq side"; + sequence4 = "bioderm_medium_lookde.dsq look"; + sequence5 = "bioderm_medium_head.dsq head"; + sequence6 = "bioderm_medium_headside.dsq headside"; + sequence7 = "bioderm_medium_jet.dsq jet"; + sequence8 = "bioderm_medium_land.dsq land"; + sequence9 = "bioderm_medium_fall.dsq fall"; + sequence10 = "bioderm_medium_jump.dsq jump"; + sequence11 = "bioderm_medium_idlePDA.dsq idlePDA"; + sequence12 = "bioderm_medium_lookms.dsq lookms"; + sequence13 = "bioderm_medium_sitting.dsq sitting"; + sequence14 = "bioderm_medium_recoilde.dsq light_recoil"; + sequence15 = "bioderm_medium_dieback.dsq death1"; + sequence16 = "bioderm_medium_diespin.dsq death2"; + sequence17 = "bioderm_medium_diehead.dsq death3"; + sequence18 = "bioderm_medium_diechest.dsq death4"; + sequence19 = "bioderm_medium_dieforward.dsq death5"; + sequence20 = "bioderm_medium_dieknees.dsq death6"; + sequence21 = "bioderm_medium_dieleglft.dsq death7"; + sequence22 = "bioderm_medium_dielegrt.dsq death8"; + sequence23 = "bioderm_medium_diesidelft.dsq death9"; + sequence24 = "bioderm_medium_diesidert.dsq death10"; + sequence25 = "bioderm_medium_dieslump.dsq death11"; + sequence26 = "bioderm_medium_celsalute.dsq cel1"; + sequence27 = "bioderm_medium_celyeah.dsq cel2"; + sequence28 = "bioderm_medium_tauntbest.dsq cel3"; + sequence29 = "bioderm_medium_celroar.dsq cel4"; + sequence30 = "bioderm_medium_tauntbull.dsq cel5"; + sequence31 = "bioderm_medium_celflex2.dsq cel6"; + sequence32 = "bioderm_medium_celgora.dsq cel7"; + sequence33 = "bioderm_medium_celjump.dsq cel8"; + sequence34 = "bioderm_medium_ski.dsq ski"; + sequence35 = "bioderm_medium_standjump.dsq standjump"; + sequence36 = "bioderm_medium_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/camera.cs b/public/base/@vl2/scripts.vl2/scripts/camera.cs new file mode 100644 index 00000000..d88ef263 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/camera.cs @@ -0,0 +1,720 @@ +$Camera::movementSpeed = 40; + +datablock CameraData(Observer) +{ + mode = "observerStatic"; + firstPersonOnly = true; +}; + +datablock CameraData(CommanderCamera) +{ + mode = "observerStatic"; + firstPersonOnly = true; +}; + +function CommanderCamera::onTrigger( %data, %obj, %trigger, %state ) +{ + // no need to do anything here. +} + +function Observer::onTrigger(%data,%obj,%trigger,%state) +{ + // state = 0 means that a trigger key was released + if (%state == 0) + return; + + //first, give the game the opportunity to prevent the observer action + if (!Game.ObserverOnTrigger(%data, %obj, %trigger, %state)) + return; + + //now observer functions if you press the "throw" + if (%trigger >= 4) + return; + + //trigger types: 0:fire 1:altTrigger 2:jump 3:jet 4:throw + %client = %obj.getControllingClient(); + if (%client == 0) + return; + + switch$ (%obj.mode) + { + case "justJoined": + if (isDemo()) + clearCenterPrint(%client); + + //press FIRE + if (%trigger == 0) + { + // clear intro message + clearBottomPrint( %client ); + + //spawn the player + commandToClient(%client, 'setHudMode', 'Standard'); + Game.assignClientTeam(%client); + Game.spawnPlayer( %client, $MatchStarted ); + + if( $MatchStarted ) + { + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + } + else + { + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + } + } + + //press JET + else if (%trigger == 3) + { + //cycle throw the static observer spawn points + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + } + + //press JUMP + else if (%trigger == 2) + { + //switch the observer mode to observing clients + if (isObject(%client.observeFlyClient)) + serverCmdObserveClient(%client, %client.observeFlyClient); + else + serverCmdObserveClient(%client, -1); + + displayObserverHud(%client, %client.observeClient); + messageClient(%client.observeClient, 'Observer', '\c1%1 is now observing you.', %client.name); + } + + case "playerDeath": + // Attached to a dead player - spawn regardless of trigger type + if(!%client.waitRespawn && getSimTime() > %client.suicideRespawnTime) + { + commandToClient(%client, 'setHudMode', 'Standard'); + Game.spawnPlayer( %client, true ); + %client.camera.setFlyMode(); + %client.setControlObject(%client.player); + } + + case "PreviewMode": + if (%trigger == 0) + { + commandToClient(%client, 'setHudMode', 'Standard'); + if( %client.lastTeam ) + Game.clientJoinTeam( %client, %client.lastTeam ); + else + { + Game.assignClientTeam( %client, true ); + + // Spawn the player: + Game.spawnPlayer( %client, false ); + } + + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + } + + case "toggleCameraFly": + // this is the default camera mode + + case "observerFly": + // Free-flying observer camera + + if (%trigger == 0) + { + if( !$Host::TournamentMode && $MatchStarted ) + { + // reset observer params + clearBottomPrint(%client); + commandToClient(%client, 'setHudMode', 'Standard'); + + if( %client.lastTeam !$= "" && %client.lastTeam != 0 && Game.numTeams > 1) + { + Game.clientJoinTeam( %client, %client.lastTeam, $MatchStarted ); + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + } + else + { + + Game.assignClientTeam( %client ); + + // Spawn the player: + Game.spawnPlayer( %client, true ); + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + ClearBottomPrint( %client ); + } + } + else if( !$Host::TournamentMode ) + { + + clearBottomPrint(%client); + Game.assignClientTeam( %client ); + + // Spawn the player: + Game.spawnPlayer( %client, false ); + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + } + } + //press JET + else if (%trigger == 3) + { + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + } + + //press JUMP + else if (%trigger == 2) + { + //switch the observer mode to observing clients + if (isObject(%client.observeFlyClient)) + serverCmdObserveClient(%client, %client.observeFlyClient); + else + serverCmdObserveClient(%client, -1); + + observerFollowUpdate( %client, %client.observeClient, false ); + displayObserverHud(%client, %client.observeClient); + messageClient(%client.observeClient, 'Observer', '\c1%1 is now observing you.', %client.name); + } + + case "observerStatic": + // Non-moving observer camera + %next = (%trigger == 3 ? true : false); + %markerObj = Game.pickObserverSpawn(%client, %next); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + + case "observerStaticNoNext": + // Non-moving, non-cycling observer camera + + case "observerTimeout": + // Player didn't respawn quickly enough + if (%trigger == 0) + { + clearBottomPrint(%client); + commandToClient(%client, 'setHudMode', 'Standard'); + if( %client.lastTeam ) + Game.clientJoinTeam( %client, %client.lastTeam, true ); + else + { + Game.assignClientTeam( %client ); + + // Spawn the player: + Game.spawnPlayer( %client, true ); + } + + %client.camera.setFlyMode(); + %client.setControlObject( %client.player ); + } + + //press JET + else if (%trigger == 3) + { + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + } + + //press JUMP + else if (%trigger == 2) + { + //switch the observer mode to observing clients + if (isObject(%client.observeFlyClient)) + serverCmdObserveClient(%client, %client.observeFlyClient); + else + serverCmdObserveClient(%client, -1); + + // update the observer list for this client + observerFollowUpdate( %client, %client.observeClient, false ); + + displayObserverHud(%client, %client.observeClient); + messageClient(%client.observeClient, 'Observer', '\c1%1 is now observing you.', %client.name); + } + + case "observerFollow": + // Observer attached to a moving object (assume player for now...) + //press FIRE - cycle to next client + if (%trigger == 0) + { + %nextClient = findNextObserveClient(%client); + %prevObsClient = %client.observeClient; + if (%nextClient > 0 && %nextClient != %client.observeClient) + { + // update the observer list for this client + observerFollowUpdate( %client, %nextClient, true ); + + //set the new object + %transform = %nextClient.player.getTransform(); + if( !%nextClient.isMounted() ) + { + %obj.setOrbitMode(%nextClient.player, %transform, 0.5, 4.5, 4.5); + %client.observeClient = %nextClient; + } + else + { + %mount = %nextClient.player.getObjectMount(); + if( %mount.getDataBlock().observeParameters $= "" ) + %params = %transform; + else + %params = %mount.getDataBlock().observeParameters; + + %obj.setOrbitMode(%mount, %mount.getTransform(), getWord( %params, 0 ), getWord( %params, 1 ), getWord( %params, 2 )); + %client.observeClient = %nextClient; + } + + //send the message(s) + displayObserverHud(%client, %nextClient); + messageClient(%nextClient, 'Observer', '\c1%1 is now observing you.', %client.name); + messageClient(%prevObsClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name); + } + } + + //press JET - cycle to prev client + else if (%trigger == 3) + { + %prevClient = findPrevObserveClient(%client); + %prevObsClient = %client.observeClient; + if (%prevClient > 0 && %prevClient != %client.observeClient) + { + // update the observer list for this client + observerFollowUpdate( %client, %prevClient, true ); + + //set the new object + %transform = %prevClient.player.getTransform(); + if( !%prevClient.isMounted() ) + { + %obj.setOrbitMode(%prevClient.player, %transform, 0.5, 4.5, 4.5); + %client.observeClient = %prevClient; + } + else + { + %mount = %prevClient.player.getObjectMount(); + if( %mount.getDataBlock().observeParameters $= "" ) + %params = %transform; + else + %params = %mount.getDataBlock().observeParameters; + + %obj.setOrbitMode(%mount, %mount.getTransform(), getWord( %params, 0 ), getWord( %params, 1 ), getWord( %params, 2 )); + %client.observeClient = %prevClient; + } + + //send the message(s) + displayObserverHud(%client, %prevClient); + messageClient(%prevClient, 'Observer', '\c1%1 is now observing you.', %client.name); + messageClient(%prevObsClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name); + } + } + + //press JUMP + else if (%trigger == 2) + { + // update the observer list for this client + observerFollowUpdate( %client, -1, false ); + + //toggle back to observer fly mode + %obj.mode = "observerFly"; + %obj.setFlyMode(); + updateObserverFlyHud(%client); + messageClient(%client.observeClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name); + } + + case "pre-game": + if(!$Host::TournamentMode || $CountdownStarted) + return; + + if(%client.notReady) + { + %client.notReady = ""; + MessageAll( 0, '\c1%1 is READY.', %client.name ); + if(%client.notReadyCount < 3) + centerprint( %client, "\nWaiting for match start (FIRE if not ready)", 0, 3); + else + centerprint( %client, "\nWaiting for match start", 0, 3); + } + else + { + %client.notReadyCount++; + if(%client.notReadyCount < 4) + { + %client.notReady = true; + MessageAll( 0, '\c1%1 is not READY.', %client.name ); + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); + } + return; + } + CheckTourneyMatchStart(); + } +} + +function Observer::setMode(%data, %obj, %mode, %targetObj) +{ + if(%mode $= "") + return; + %client = %obj.getControllingClient(); + switch$ (%mode) { + case "justJoined": + commandToClient(%client, 'setHudMode', 'Observer'); + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + + case "pre-game": + commandToClient(%client, 'setHudMode', 'Observer'); + %obj.setOrbitMode( %targetObj, %targetObj.getTransform(), 0.5, 4.5, 4.5); + + case "observerFly": + // Free-flying observer camera + commandToClient(%client, 'setHudMode', 'Observer'); + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + + case "observerStatic" or "observerStaticNoNext": + // Non-moving observer camera + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + + case "observerFollow": + // Observer attached to a moving object (assume player for now...) + %transform = %targetObj.getTransform(); + + if( !%targetObj.isMounted() ) + %obj.setOrbitMode(%targetObj, %transform, 0.5, 4.5, 4.5); + else + { + %mount = %targetObj.getObjectMount(); + if( %mount.getDataBlock().observeParameters $= "" ) + %params = %transform; + else + %params = %mount.getDataBlock().observeParameters; + + %obj.setOrbitMode(%mount, %mount.getTransform(), getWord( %params, 0 ), getWord( %params, 1 ), getWord( %params, 2 )); + } + + case "observerTimeout": + commandToClient(%client, 'setHudMode', 'Observer'); + %markerObj = Game.pickObserverSpawn(%client, true); + %transform = %markerObj.getTransform(); + %obj.setTransform(%transform); + %obj.setFlyMode(); + } + %obj.mode = %mode; +} + +function findNextObserveClient(%client) +{ + %index = -1; + %count = ClientGroup.getCount(); + if (%count <= 1) + return -1; + + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl == %client.observeClient) + { + %index = %i; + break; + } + } + + //now find the next client (note, if not found, %index still == -1) + %index++; + if (%index >= %count) + %index = 0; + + %newClient = -1; + for (%i = %index; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl != %client && %cl.player > 0) + { + %newClient = %cl; + break; + } + } + + //if we didn't find anyone, search from the beginning again + if (%newClient < 0) + { + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl != %client && %cl.player > 0) + { + %newClient = %cl; + break; + } + } + } + + //if we still haven't found anyone (new), give up.. + if (%newClient < 0 || %newClient.player == %player) + return -1; +} + +function findPrevObserveClient(%client) +{ + %index = -1; + %count = ClientGroup.getCount(); + if (%count <= 1) + return -1; + + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl == %client.observeClient) + { + %index = %i; + break; + } + } + + //now find the prev client + %index--; + if (%index < 0) + %index = %count - 1; + + %newClient = -1; + for (%i = %index; %i >= 0; %i--) + { + %cl = ClientGroup.getObject(%i); + if (%cl != %client && %cl.player > 0) + { + %newClient = %cl; + break; + } + } + + //if we didn't find anyone, search from the end again + if (%newClient < 0) + { + for (%i = %count - 1; %i >= 0; %i--) + { + %cl = ClientGroup.getObject(%i); + if (%cl != %client && %cl.player > 0) + { + %newClient = %cl; + break; + } + } + } + + //if we still haven't found anyone (new), give up.. + if (%newClient < 0 || %newClient.player == %player) + return -1; +} + +function observeClient(%client) +{ + if( $testcheats ) + { + //pass in -1 to choose any client... + commandToServer('observeClient', %client); + } +} + +function serverCmdObserveClient(%client, %target) +{ + //clear the observer fly mode var... + %client.observeFlyClient = -1; + + //cancel any scheduled update + cancel(%client.obsHudSchedule); + + // must be an observer when observing other clients + if( %client.getControlObject() != %client.camera) + return; + + //can't observer yourself + if (%client == %target) + return; + + %count = ClientGroup.getCount(); + + //can't go into observer mode if you're the only client + if (%count <= 1) + return; + + //make sure the target actually exists + if (%target > 0) + { + %found = false; + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl == %target) + { + %found = true; + break; + } + } + + if (!%found) + return; + } + + else + { + %client.observeClient = -1; + %target = findNextObserveClient(%client); + if (%target <= 0) + return; + } + + //send the message + if (%client.camera.mode !$= "observerFollow") + { + if (isObject(%client.player)) + %client.player.scriptKill(0); + + //messageAllExcept(%client, -1, 'ClientNowObserver', '\c1%1 is now an observer.', %client.name); + //messageClient(%client, 'YouNowObserver', '\c1You are now observing %1.', %target.name); + } + + %client.camera.getDataBlock().setMode(%client.camera, "observerFollow", %target.player); + %client.setControlObject(%client.camera); + + //tag is used if a client who is being observed dies... + %client.observeClient = %target; +} + +function observerFollowUpdate( %client, %nextClient, %cycle ) +{ + %Oclient = %client.observeClient; + if( %Oclient $= "" ) + return; + + // changed to observer fly... + if( %nextClient == -1 ) + { + // find us in their observer list and remove, then reshuffle the list... + for( %i = 0; %i < %Oclient.observeCount; %i++ ) + { + if( %Oclient.observers[%i] == %client ) + { + %Oclient.observeCount--; + %Oclient.observers[%i] = %Oclient.observers[%Oclient.observeCount]; + %Oclient.observers[%Oclient.observeCount] = ""; + break; + } + } + return; // were done.. + } + + // changed from observer fly to observer follow... + if( !%cycle && %nextClient != -1 ) + { + // if nobody is observing this guy, initialize their observer count... + if( %nextClient.observeCount $= "" ) + %nextClient.observeCount = 0; + + // add us to their list of observers... + %nextClient.observers[%nextClient.observeCount] = %client; + %nextClient.observeCount++; + return; // were done. + } + + if( %nextClient != -1 ) + { + // cycling to the next client... + for( %i = 0; %i < %Oclient.observeCount; %i++ ) + { + // first remove us from our prev client's list... + if( %Oclient.observers[%i] == %client ) + { + %Oclient.observeCount--; + %Oclient.observers[%i] = %Oclient.observers[%Oclient.observeCount]; + %Oclient.observers[%Oclient.observeCount] = ""; + break; // screw you guys, i'm goin home! + } + } + + // if nobody is observing this guy, initialize their observer count... + if( %nextClient.observeCount $= "" ) + %nextClient.observeCount = 0; + + // now add us to the new clients list... + %nextClient.observeCount++; + %nextClient.observers[%nextClient.observeCount - 1] = %client; + } +} + +function updateObserverFlyHud(%client) +{ + //just in case there are two threads going... + cancel(%client.obsHudSchedule); + %client.observeFlyClient = -1; + + //make sure the client is supposed to be in observer fly mode... + if (!isObject(%client) || %client.team != 0 || %client.getControlObject() != %client.camera || %client.camera.mode $= "observerFollow") + return; + + //get various info about the player's eye + %srcEyeTransform = %client.camera.getTransform(); + %srcEyePoint = firstWord(%srcEyeTransform) @ " " @ getWord(%srcEyeTransform, 1) @ " " @ getWord(%srcEyeTransform, 2); + + %srcEyeVector = MatrixMulVector("0 0 0 " @ getWords(%srcEyeTransform, 3, 6), "0 1 0"); + %srcEyeVector = VectorNormalize(%srcEyeVector); + + //see if there's an enemy near our defense location... + %clientCount = 0; + %count = ClientGroup.getCount(); + %viewedClient = -1; + %clientDot = -1; + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //make sure we find an AI who's alive and not the client + if (%cl != %client && isObject(%cl.player)) + { + //make sure the player is within range + %clPos = %cl.player.getWorldBoxCenter(); + %distance = VectorDist(%clPos, %srcEyePoint); + if (%distance <= 30) + { + //create the vector from the client to the client + %clVector = VectorNormalize(VectorSub(%clPos, %srcEyePoint)); + + //see if the dot product is greater than our current, and greater than 0.6 + %dot = VectorDot(%clVector, %srcEyeVector); + + if (%dot > 0.6 && %dot > %clientDot) + { + //make sure we're not looking through walls... + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticShapeObjectType; + %losResult = containerRayCast(%srcEyePoint, %clPos, %mask); + %losObject = GetWord(%losResult, 0); + if (!isObject(%losObject)) + { + %viewedClient = %cl; + %clientDot = %dot; + } + } + } + } + } + + if (isObject(%viewedClient)) + displayObserverHud(%client, 0, %viewedClient); + else + displayObserverHud(%client, 0); + + %client.observeFlyClient = %viewedClient; + + //schedule the next... + %client.obsHudSchedule = schedule(500, %client, updateObserverFlyHud, %client); +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/cannedChatItems.cs b/public/base/@vl2/scripts.vl2/scripts/cannedChatItems.cs new file mode 100644 index 00000000..5c27b153 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/cannedChatItems.cs @@ -0,0 +1,277 @@ +//-------------------------------------------------------------------------- +// +// cannedChatItems.cs +// +//-------------------------------------------------------------------------- + +$MinChatItemId = 0; +$MaxChatItemId = 0; + +if ( !isObject( CannedChatItems ) ) + new SimGroup( CannedChatItems ); + +//-------------------------------------------------------------------------- +function installChatItem( %command, %text, %audioFile, %animCel, %teamOnly, %defaultkeys, %play3D ) +{ + %cmdId = getSubStr( %command, 1, strlen( %command ) - 1 ); + %name = getTaggedString(%command); + //echo( "** cmdId = " @ %cmdId @ " **" ); + if ( !isObject( $ChatTable[%cmdId] ) ) + { + if ( %animCel == 0 ) + %animation = ""; + else + %animation = "cel" @ %animCel; + + //error("defvoicebinds="@$defaultVoiceBinds@",keyPress="@%keyPress@",keyCmd="@%keyCmd); + $ChatTable[%cmdId] = new CannedChatItem() + { + name = %name; + text = %text; + audioFile = %audioFile; + animation = %animation; + teamOnly = %teamOnly; + defaultKeys = %defaultkeys; + play3D = %play3D; + }; + CannedChatItems.add( $ChatTable[%cmdId] ); + + if ( $MinChatItemId == 0 || %cmdId < $MinChatItemId ) + $MinChatItemId = %cmdId; + if ( %cmdId > $MaxChatItemId ) + $MaxChatItemId = %cmdId; + } +} + +//-------------------------------------------------------------------------- +function installChatItemCallback( %command, %callback ) +{ + %cmdId = getSubStr( %command, 1, strlen( %command ) - 1 ); + + // make sure there is a chat item created + if(isObject($ChatTable[%cmdId])) + { + for(%i = 0; (%aCallback = $ChatCallbacks[%cmdId, %i]) !$= ""; %i++) + { + // dont allow multiple instances + if(%aCallback == %callback) + return; + } + + $ChatCallbacks[%cmdId, %i] = %callback; + } +} + +function processChatItemCallbacks( %command ) +{ + %cmdId = getSubStr( %command, 1, strlen( %command ) - 1 ); + + // make sure an actual chat item + if(isObject($ChatTable[%cmdId])) + for(%i = 0; (%callback = $ChatCallbacks[%cmdId, %i]) !$= ""; %i++) + call(%callback, $ChatTable[%cmdId]); +} + +//-------------------------------------------------------------------------- +// ANIMATIONS +installChatItem( 'ChatAnimAnnoyed', "", "vqk.move", 4, false, "VGAA", true ); +installChatItem( 'ChatAnimGetSome', "", "gbl.brag", 3, false, "VGAG", true ); +installChatItem( 'ChatAnimDance', "", "gbl.woohoo", 5, false, "VGAD", true ); +installChatItem( 'ChatAnimSalute', "", "slf.tsk.generic", 1, false, "VGAS", true ); +installChatItem( 'ChatAnimWave', "", "gbl.hi", 2, false, "VGAW", true ); +installChatItem( 'ChatAnimSpec1', "", "gbl.obnoxious", 6, false, "VGAZ", true ); +installChatItem( 'ChatAnimSpec2', "", "gbl.aww", 7, false, "VGAX", true ); +installChatItem( 'ChatAnimSpec3', "", "gbl.awesome", 8, false, "VGAC", true ); + +//-------------------------------------------------------------------------- +// ATTACK +installChatItem( 'ChatCmdAttack', "Attack!", "att.attack", 0, true, "VAA", false ); +installChatItem( 'ChatCmdAttackBase', "Attack the enemy base!", "att.base", 0, true, "VAB", false ); +installChatItem( 'ChatCmdAttackChase', "Recover our flag!", "att.chase", 0, true, "VAC", false ); +installChatItem( 'ChatCmdAttackDistract', "Disrupt the enemy defense!", "att.distract", 0, true, "VAD", false ); +installChatItem( 'ChatCmdAttackFlag', "Get the enemy flag!", "att.flag", 0, true, "VAF", false ); +installChatItem( 'ChatCmdAttackGenerator', "Destroy the enemy generator!", "att.generator", 0, true, "VAG", false ); +installChatItem( 'ChatCmdAttackObjective', "Attack the objective!", "att.objective", 0, true, "VAO", false ); +installChatItem( 'ChatCmdAttackReinforce', "Reinforce the offense!", "att.reinforcements", 0, true, "VAR", false ); +installChatItem( 'ChatCmdAttackSensors', "Destroy enemy sensors!", "att.sensors", 0, true, "VAS", false ); +installChatItem( 'ChatCmdAttackTurrets', "Destroy enemy turrets!", "att.turrets", 0, true, "VAT", false ); +installChatItem( 'ChatCmdAttackWait', "Wait for my signal before attacking!", "att.wait", 0, true, "VAW", false ); +installChatItem( 'ChatCmdAttackVehicle', "Destroy the enemy vehicle!", "att.vehicle", 0, true, "VAV", false ); + +//-------------------------------------------------------------------------- +// BASE +installChatItem( 'ChatBaseTaken', "Our base is taken.", "bas.taken", 0, true, "VBT", false ); +installChatItem( 'ChatEnemyInBase', "The enemy's in our base.", "bas.enemy", 0, true, "VBE", false ); +installChatItem( 'ChatBaseClear', "Our base is clear.", "bas.clear", 0, true, "VBC", false ); +installChatItem( 'ChatCmdRetakeBase', "Retake our base!", "bas.retake", 0, true, "VBR", false ); +installChatItem( 'ChatBaseSecure', "Our base is secure.", "bas.secure", 0, true, "VBS", false ); + +//-------------------------------------------------------------------------- +// DEFENSE +installChatItem( 'ChatCmdDefendBase', "Defend our base!", "def.base", 0, true, "VDB", false ); +installChatItem( 'ChatCmdDefendCarrier', "Cover our flag carrier!", "def.carrier", 0, true, "VDC", false ); +installChatItem( 'ChatCmdDefendEntrances', "Defend the entrances!", "def.entrances", 0, true, "VDE", false ); +installChatItem( 'ChatCmdDefendFlag', "Defend our flag!", "def.flag", 0, true, "VDF", false ); +installChatItem( 'ChatCmdDefendGenerator', "Protect the generator!", "def.generator", 0, true, "VDG", false ); +installChatItem( 'ChatCmdDefendMe', "Cover me!", "def.me", 0, true, "VDM", false ); +installChatItem( 'ChatCmdDefendObjective', "Defend the objective!", "def.objective", 0, true, "VDO", false ); +installChatItem( 'ChatCmdDefendReinforce', "Reinforce our defense!", "def.reinforce", 0, true, "VDR", false ); +installChatItem( 'ChatCmdDefendSensors', "Defend our sensors!", "def.sensors", 0, true, "VDS", false ); +installChatItem( 'ChatCmdDefendTurrets', "Defend our turrets!", "def.turrets", 0, true, "VDT", false ); +installChatItem( 'ChatCmdDefendVehicle', "Defend our vehicle!", "def.vehicle", 0, true, "VDV", false ); +installChatItem( 'ChatCmdDefendNexus', "Defend the nexus!", "def.nexus", 0, true, "VDN", false ); + +//-------------------------------------------------------------------------- +// COMMAND RESPONSE +installChatItem( 'ChatCmdAcknowledged', "Command acknowledged.", "cmd.acknowledge", 0, true, "VCA", false ); +installChatItem( 'ChatCmdWhat', "What's your assignment?", "cmd.bot", 0, true, "VCW", false ); +installChatItem( 'ChatCmdCompleted', "Command completed.", "cmd.completed", 0, true, "VCC", false ); +installChatItem( 'ChatCmdDeclined', "Command declined.", "cmd.decline", 0, true, "VCD", false ); + +//-------------------------------------------------------------------------- +// ENEMY STATUS +installChatItem( 'ChatEnemyBaseDisabled', "Enemy base is disabled.", "ene.base", 0, true, "VEB", false ); +installChatItem( 'ChatEnemyDisarray', "The enemy is disrupted. Attack!", "ene.disarray", 0, true, "VED", false ); +installChatItem( 'ChatEnemyGeneratorDestroyed', "Enemy generator destroyed.", "ene.generator", 0, true, "VEG", false ); +installChatItem( 'ChatEnemyRemotesDestroyed', "Enemy remote equipment destroyed.", "ene.remotes", 0, true, "VER", false ); +installChatItem( 'ChatEnemySensorsDestroyed', "Enemy sensors destroyed.", "ene.sensors", 0, true, "VES", false ); +installChatItem( 'ChatEnemyTurretsDestroyed', "Enemy turrets destroyed.", "ene.turrets", 0, true, "VET", false ); +installChatItem( 'ChatEnemyVehicleDestroyed', "Enemy vehicle station destroyed.", "ene.vehicle", 0, true, "VEV", false ); + +//-------------------------------------------------------------------------- +// FLAG +installChatItem( 'ChatFlagGotIt', "I have the enemy flag!", "flg.flag", 0, true, "VFF", false ); +installChatItem( 'ChatCmdGiveMeFlag', "Give me the flag!", "flg.give", 0, true, "VFG", false ); +installChatItem( 'ChatCmdReturnFlag', "Retrieve our flag!", "flg.retrieve", 0, true, "VFR", false ); +installChatItem( 'ChatFlagSecure', "Our flag is secure.", "flg.secure", 0, true, "VFS", false ); +installChatItem( 'ChatCmdTakeFlag', "Take the flag from me!", "flg.take", 0, true, "VFT", false ); +installChatItem( 'ChatCmdHunterGiveFlags', "Give your flags to me!", "flg.huntergive", 0, true, "VFO", false ); +installChatItem( 'ChatCmdHunterTakeFlags', "Take my flags!", "flg.huntertake", 0, true, "VFP", false ); + +//-------------------------------------------------------------------------- +// GLOBAL COMPLIMENTS +installChatItem( 'ChatAwesome', "Awesome!", "gbl.awesome", 0, false, "VGCA", false ); +installChatItem( 'ChatGoodGame', "Good game!", "gbl.goodgame", 0, false, "VGCG", false ); +installChatItem( 'ChatNice', "Nice move!", "gbl.nice", 0, false, "VGCN", false ); +installChatItem( 'ChatYouRock', "You rock!", "gbl.rock", 0, false, "VGCR", false ); +installChatItem( 'ChatGreatShot', "Great shot!", "gbl.shooting", 0, false , "VGCS"); + +//-------------------------------------------------------------------------- +// GLOBAL +installChatItem( 'ChatHi', "Hi.", "gbl.hi", 0, false, "VGH", false ); +installChatItem( 'ChatBye', "Bye.", "gbl.bye", 0, false, "VGB", false ); +installChatItem( 'ChatGlobalYes', "Yes.", "gbl.yes", 0, false, "VGY", false ); +installChatItem( 'ChatGlobalNo', "No.", "gbl.no", 0, false, "VGN", false ); +installChatItem( 'ChatAnyTime', "Any time.", "gbl.anytime", 0, false, "VGRA", false ); +installChatItem( 'ChatDontKnow', "I don't know.", "gbl.dunno", 0, false, "VGRD", false ); +installChatItem( 'ChatOops', "Oops!", "gbl.oops", 0, false, "VGO", false ); +installChatItem( 'ChatQuiet', "Quiet!", "gbl.quiet", 0, false, "VGQ", false ); +installChatItem( 'ChatShazbot', "Shazbot!", "gbl.shazbot", 0, false, "VGS", false ); +installChatItem( 'ChatCheer', "Woohoo!", "gbl.woohoo", 0, false, "VGW", false ); +installChatItem( 'ChatThanks', "Thanks.", "gbl.thanks", 0, false, "VGRT", false ); +installChatItem( 'ChatWait', "Wait a sec.", "gbl.wait", 0, false, "VGRW", false ); + +//-------------------------------------------------------------------------- +// TRASH TALK +installChatItem( 'ChatAww', "Aww, that's too bad!", "gbl.aww", 0, false, "VGTA", false ); +installChatItem( 'ChatBrag', "I am the greatest!", "gbl.brag", 0, false, "VGTG", false ); +installChatItem( 'ChatObnoxious', "That's the best you can do?", "gbl.obnoxious", 0, false, "VGTB", false ); +installChatItem( 'ChatSarcasm', "THAT was graceful!", "gbl.sarcasm", 0, false, "VGTT", false ); +installChatItem( 'ChatLearn', "When ya gonna learn?", "gbl.when", 0, false, "VGTW", false ); + +//-------------------------------------------------------------------------- +// NEED +installChatItem( 'ChatNeedBombardier', "Need a bombardier.", "need.bombardier", 0, true, "VNB", false ); +installChatItem( 'ChatNeedCover', "Need covering fire.", "need.cover", 0, true, "VNC", false ); +installChatItem( 'ChatNeedDriver', "Need driver for ground vehicle.", "need.driver", 0, true, "VND", false ); +installChatItem( 'ChatNeedEscort', "Vehicle needs escort.", "need.escort", 0, true, "VNE", false ); +installChatItem( 'ChatNeedPilot', "Need pilot for turbograv.", "need.flyer", 0, true, "VNP", false ); +installChatItem( 'ChatNeedPassengers', "Gunship ready! Need a ride?", "need.gunship", 0, true, "VNG", false ); +installChatItem( 'ChatNeedHold', "Hold that vehicle! I'm coming!", "need.hold", 0, true, "VNH", false ); +installChatItem( 'ChatNeedRide', "I need a ride!", "need.ride", 0, true, "VNR", false ); +installChatItem( 'ChatNeedSupport', "Need vehicle support!", "need.support", 0, true, "VNS", false ); +installChatItem( 'ChatNeedTailgunner', "Need a tailgunner.", "need.tailgunner", 0, true, "VNT", false ); +installChatItem( 'ChatNeedDestination', "Where to?", "need.where", 0, true, "VNW", false ); + +//-------------------------------------------------------------------------- +// REPAIR +installChatItem( 'ChatRepairBase', "Repair our base!", "rep.base", 0, true, "VRB", false ); +installChatItem( 'ChatRepairGenerator', "Repair our generator!", "rep.generator", 0, true, "VRG", false ); +installChatItem( 'ChatRepairMe', "Repair me!", "rep.me", 0, true, "VRM", false ); +installChatItem( 'ChatRepairSensors', "Repair our sensors!", "rep.sensors", 0, true, "VRS", false ); +installChatItem( 'ChatRepairTurrets', "Repair our turrets!", "rep.turrets", 0, true, "VRT", false ); +installChatItem( 'ChatRepairVehicle', "Repair our vehicle station!", "rep.vehicle", 0, true, "VRV", false ); + +//-------------------------------------------------------------------------- +// SELF ATTACK +installChatItem( 'ChatSelfAttack', "I will attack.", "slf.att.attack", 0, true, "VSAA", false ); +installChatItem( 'ChatSelfAttackBase', "I'll attack the enemy base.", "slf.att.base", 0, true, "VSAB", false ); +installChatItem( 'ChatSelfAttackFlag', "I'll go for the enemy flag.", "slf.att.flag", 0, true, "VSAF", false ); +installChatItem( 'ChatSelfAttackGenerator', "I'll attack the enemy generator.", "slf.att.generator", 0, true, "VSAG", false ); +installChatItem( 'ChatSelfAttackSensors', "I'll attack the enemy sensors.", "slf.att.sensors", 0, true, "VSAS", false ); +installChatItem( 'ChatSelfAttackTurrets', "I'll attack the enemy turrets.", "slf.att.turrets", 0, true, "VSAT", false ); +installChatItem( 'ChatSelfAttackVehicle', "I'll attack the enemy vehicle station.", "slf.att.vehicle", 0, true, "VSAV", false ); + +//-------------------------------------------------------------------------- +// SELF DEFEND +installChatItem( 'ChatSelfDefendBase', "I'll defend our base.", "slf.def.base", 0, true, "VSDB", false ); +installChatItem( 'ChatSelfDefend', "I'm defending.", "slf.def.defend", 0, true, "VSDD", false ); +installChatItem( 'ChatSelfDefendFlag', "I'll defend our flag.", "slf.def.flag", 0, true, "VSDF", false ); +installChatItem( 'ChatSelfDefendGenerator', "I'll defend our generator.", "slf.def.generator", 0, true, "VSDG", false ); +installChatItem( 'ChatSelfDefendNexus', "I'll defend the nexus.", "slf.def.nexus", 0, true, "VSDN", false ); +installChatItem( 'ChatSelfDefendSensors', "I'll defend our sensors.", "slf.def.sensors", 0, true, "VSDS", false ); +installChatItem( 'ChatSelfDefendTurrets', "I'll defend our turrets.", "slf.def.turrets", 0, true, "VSDT", false ); +installChatItem( 'ChatSelfDefendVehicle', "I'll defend our vehicle bay.", "slf.def.vehicle", 0, true, "VSDV", false ); + +//-------------------------------------------------------------------------- +// SELF REPAIR +installChatItem( 'ChatSelfRepairBase', "I'll repair our base.", "slf.rep.base", 0, true, "VSRB", false ); +installChatItem( 'ChatSelfRepairEquipment', "I'll repair our equipment.", "slf.rep.equipment", 0, true, "VSRE", false ); +installChatItem( 'ChatSelfRepairGenerator', "I'll repair our generator.", "slf.rep.generator", 0, true, "VSRG", false ); +installChatItem( 'ChatSelfRepair', "I'm on repairs.", "slf.rep.repairing", 0, true, "VSRR", false ); +installChatItem( 'ChatSelfRepairSensors', "I'll repair our sensors.", "slf.rep.sensors", 0, true, "VSRS", false ); +installChatItem( 'ChatSelfRepairTurrets', "I'll repair our turrets.", "slf.rep.turrets", 0, true, "VSRT", false ); +installChatItem( 'ChatSelfRepairVehicle', "I'll repair our vehicle station.", "slf.rep.vehicle", 0, true, "VSRV", false ); + +//-------------------------------------------------------------------------- +// SELF TASK +installChatItem( 'ChatTaskCover', "I'll cover you.", "slf.tsk.cover", 0, true, "VSTC", false ); +installChatItem( 'ChatTaskSetupD', "I'll set up defenses.", "slf.tsk.defense", 0, true, "VSTD", false ); +installChatItem( 'ChatTaskOnIt', "I'm on it.", "slf.tsk.generic", 0, true, "VSTO", false ); +installChatItem( 'ChatTaskSetupRemote', "I'll deploy remote equipment.", "slf.tsk.remotes", 0, true, "VSTR", false ); +installChatItem( 'ChatTaskSetupSensors', "I'll deploy sensors.", "slf.tsk.sensors", 0, true, "VSTS", false ); +installChatItem( 'ChatTaskSetupTurrets', "I'll deploy turrets.", "slf.tsk.turrets", 0, true, "VSTT", false ); +installChatItem( 'ChatTaskVehicle', "I'll get a vehicle ready.", "slf.tsk.vehicle", 0, true, "VSTV", false ); + +//-------------------------------------------------------------------------- +// TARGET +installChatItem( 'ChatTargetAcquired', "Target acquired.", "tgt.acquired", 0, true, "VTA", false ); +installChatItem( 'ChatCmdTargetBase', "Target the enemy base! I'm in position.", "tgt.base", 0, true, "VTB", false ); +installChatItem( 'ChatTargetDestroyed', "Target destroyed!", "tgt.destroyed", 0, true, "VTD", false ); +installChatItem( 'ChatCmdTargetFlag', "Target their flag! I'm in position.", "tgt.flag", 0, true, "VTF", false ); +installChatItem( 'ChatTargetFire', "Fire on my target!", "tgt.my", 0, true, "VTM", false ); +installChatItem( 'ChatTargetNeed', "Need a target painted!", "tgt.need", 0, true, "VTN", false ); +installChatItem( 'ChatCmdTargetSensors', "Target their sensors! I'm in position.", "tgt.sensors", 0, true, "VTS", false ); +installChatItem( 'ChatCmdTargetTurret', "Target their turret! I'm in position.", "tgt.turret", 0, true, "VTT", false ); +installChatItem( 'ChatCmdTargetWait', "Wait! I'll be in range soon.", "tgt.wait", 0, true, "VTW", false ); + +//-------------------------------------------------------------------------- +// WARNING +installChatItem( 'ChatWarnBomber', "Incoming bomber!", "wrn.bomber", 0, true, "VWB", false ); +installChatItem( 'ChatWarnEnemies', "Incoming hostiles!", "wrn.enemy", 0, true, "VWE", false ); +installChatItem( 'ChatWarnVehicles', "Incoming vehicles!", "wrn.vehicles", 0, true, "VWV", false ); +installChatItem( 'ChatWarnShoot', "Watch where you're shooting!", "wrn.watchit", 0, true, "VWW", false ); + +//-------------------------------------------------------------------------- +// VERY QUICK +installChatItem( 'ChatWelcome', "Any time.", "vqk.anytime", 0, true, "VVA", false ); +installChatItem( 'ChatIsBaseSecure', "Is our base secure?", "vqk.base", 0, true, "VVB", false ); +installChatItem( 'ChatCeaseFire', "Cease fire!", "vqk.ceasefire", 0, true, "VVC", false ); +installChatItem( 'ChatDunno', "I don't know.", "vqk.dunno", 0, true, "VVD", false ); +installChatItem( 'ChatHelp', "HELP!", "vqk.help", 0, true, "VVH", false ); +installChatItem( 'ChatMove', "Move, please!", "vqk.move", 0, true, "VVM", false ); +installChatItem( 'ChatTeamNo', "No.", "vqk.no", 0, true, "VVN", false ); +installChatItem( 'ChatSorry', "Sorry.", "vqk.sorry", 0, true, "VVS", false ); +installChatItem( 'ChatTeamThanks', "Thanks.", "vqk.thanks", 0, true, "VVT", false ); +installChatItem( 'ChatTeamWait', "Wait, please.", "vqk.wait", 0, true, "VVW", false ); +installChatItem( 'ChatTeamYes', "Yes.", "vqk.yes", 0, true, "VVY", false ); diff --git a/public/base/@vl2/scripts.vl2/scripts/chatMenuHud.cs b/public/base/@vl2/scripts.vl2/scripts/chatMenuHud.cs new file mode 100644 index 00000000..176ad248 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/chatMenuHud.cs @@ -0,0 +1,233 @@ +//------------------------------------------------------------------------------ +// +// chatMenuHud.cs +// +//------------------------------------------------------------------------------ + +if ( isFile( "prefs/customVoiceBinds.cs" ) ) + $defaultVoiceBinds = false; +else + $defaultVoiceBinds = true; + +// Load in all of the installed chat items: +exec( "scripts/cannedChatItems.cs" ); + + +//------------------------------------------------------------------------------ +// Chat menu loading function: +new SimSet( ChatMenuList ); // Store all of the chat menu maps here so that we can delete them later: +function activateChatMenu( %filename ) +{ + if ( isFile( %filename ) || isFile( %filename @ ".dso" ) ) + { + // Clear the old chat menu: + ChatMenuList.clear(); + + // Create the root of the new menu: + $RootChatMenu = new ActionMap(); + ChatMenuList.add( $RootChatMenu ); + $CurrentChatMenu = $RootChatMenu; + $CurrentChatMenu.optionCount = 0; + $CurrentChatMenu.bindCmd(keyboard, escape, "cancelChatMenu();", ""); + + // Build the new chat menu: + exec( %filename ); + } + else + error( "Chat menu file \"" @ %filename @ "\" not found!" ); +} + +//------------------------------------------------------------------------------ +// Chat menu building functions: +function startChatMenu(%heading) +{ + %key = firstWord(%heading); + %text = restWords(%heading); + %menu = new ActionMap(); + ChatMenuList.add( %menu ); + %cm = $CurrentChatMenu; + %cm.bindCmd(keyboard, %key, "setChatMenu(\"" @ %text @ "\", " @ %menu @ ");", ""); + %cm.option[%cm.optionCount] = %key @ ": " @ %text; + %cm.command[%cm.optionCount] = %menu; // Save this off here for later... + %cm.isMenu[%cm.optionCount] = 1; + %cm.optionCount++; + %menu.parent = %cm; + %menu.bindCmd(keyboard, escape, "cancelChatMenu();", ""); + %menu.optionCount = 0; + $CurrentChatMenu = %menu; +} + +function endChatMenu() +{ + $CurrentChatMenu = $CurrentChatMenu.parent; +} + +function addChat(%keyDesc, %command) +{ + %key = firstWord(%keyDesc); + %text = restWords(%keyDesc); + %cm = $CurrentChatMenu; + %cm.bindCmd(keyboard, %key, "issueChatCmd(" @ %cm @ "," @ %cm.optionCount @ ");", ""); + %cm.option[%cm.optionCount] = %key @ ": " @ %text; + %cm.command[%cm.optionCount] = %command; + %cm.isMenu[%cm.optionCount] = 0; + %cm.optionCount++; +} + + +//------------------------------------------------------------------------------ +// Chat menu hud functions: +$ChatMenuHudLineCount = 0; +function activateChatMenuHud( %make ) +{ + if(%make && !TaskHudDlg.isVisible()) + showChatMenuHud(); +} + +function showChatMenuHud() +{ + Canvas.pushDialog(ChatMenuHudDlg); + ChatMenuHudDlg.setVisible(true); + setChatMenu(Root, $RootChatMenu); +} + +function cancelChatMenu() +{ + $CurrentChatMenu.pop(); + $CurrentChatMenu = $RootChatMenu; + Canvas.popDialog(ChatMenuHudDlg); + ChatMenuHudDlg.setVisible(false); +} + +function setChatMenu( %name, %menu ) +{ + for ( %i = 0; %i < $ChatMenuHudLineCount; %i++ ) + chatMenuHud.remove( $ChatMenuHudText[%i] ); + + $ChatMenuHudLineCount = %menu.optionCount + 1; + chatMenuHud.extent = "170" SPC ( $ChatMenuHudLineCount * 15 ) + 8; + + // First add the menu title line: + $ChatMenuHudText[0] = new GuiTextCtrl() + { + profile = "GuiHudVoiceMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 3"; + extent = "165 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "\c2" @ %name @ " Menu:"; + }; + chatMenuHud.add( $ChatMenuHudText[0] ); + + // Now add all of the menu options: + for ( %option = 0; %option < %menu.optionCount; %option++ ) + { + %yOffset = ( %option * 15 ) + 18; + + if ( %menu.isMenu[%option] == 1 ) + { + $ChatMenuHudText[%option + 1] = new GuiTextCtrl() + { + profile = "GuiHudVoiceMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 " @ %yOffset; + extent = "165 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = " " @ %menu.option[%option]; + }; + } + else + { + $ChatMenuHudText[%option + 1] = new GuiTextCtrl() + { + profile = "GuiHudVoiceCommandProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 " @ %yOffset; + extent = "165 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = " " @ %menu.option[%option]; + }; + } + + chatMenuHud.add( $ChatMenuHudText[%option + 1] ); + } + + //bind "anykey" to closing the chat menu, so if you press an invalid entry, you don't accidently + //open the commander map or something... + %menu.bindCmd(keyboard, "anykey", "cancelChatMenu();", ""); + + // Pop the old menu map and push the new menu's map: + $CurrentChatMenu.pop(); + $CurrentChatMenu = %menu; + %menu.push(); +} + +function issueChatCmd( %menu, %index ) +{ + processChatItemCallbacks( %menu.command[%index] ); + commandToServer( 'CannedChat', %menu.command[%index], false ); + cancelChatMenu(); +} + + +//------------------------------------------------------------------------------ +// Canned chat handler: +function serverCmdCannedChat( %client, %command, %fromAI ) +{ + %cmdCode = getWord( %command, 0 ); + %cmdId = getSubStr( %cmdCode, 1, strlen( %command ) - 1 ); + %cmdString = getWord( %command, 1 ); + if ( %cmdString $= "" ) + %cmdString = getTaggedString( %cmdCode ); + + if ( !isObject( $ChatTable[%cmdId] ) ) + { + error( %cmdString @ " is not a recognized canned chat command." ); + return; + } + + %chatItem = $ChatTable[%cmdId]; + + //if there is text + if (%chatItem.text !$= "" || !%chatItem.play3D) + { + %message = %chatItem.text @ "~w" @ %chatItem.audioFile; + + if ( %chatItem.teamOnly ) + cannedChatMessageTeam( %client, %client.team, '\c3%1: %2', %client.name, %message, %chatItem.defaultKeys ); + else + cannedChatMessageAll( %client, '\c4%1: %2', %client.name, %message, %chatItem.defaultKeys ); + } + + //if no text, see if the audio is to be played in 3D... + else if ( %chatItem.play3D && %client.player ) + playTargetAudio(%client.target, addTaggedString(%chatItem.audioFile), AudioClosest3d, true); + + if ( %chatItem.animation !$= "" ) + serverCmdPlayAnim(%client, %chatItem.animation); + + // Let the AI respond to the canned chat messages (from humans only) + if (!%fromAI) + CreateVoiceServerTask(%client, %cmdCode); +} + +if ( $defaultVoiceBinds ) + activateChatMenu( "scripts/voiceBinds.cs" ); +else + activateChatMenu( "prefs/customVoiceBinds.cs" ); + diff --git a/public/base/@vl2/scripts.vl2/scripts/client.cs b/public/base/@vl2/scripts.vl2/scripts/client.cs new file mode 100644 index 00000000..dd5a8409 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/client.cs @@ -0,0 +1,2109 @@ +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- + +function SAD(%password) +{ + if(%password !$= "") + commandToServer('SAD', %password); +} + +function SADSetPassword(%password) +{ + commandToServer('SADSetPassword', %password); +} + +function use(%data) +{ + // %data is currently the datablock name of the item + commandToServer('use',%data); +} + +function throw(%data) +{ + // %data is currently the datablock name of the item + commandToServer('throw',%data); +} + +function giveAll() +{ + commandToServer('giveAll'); +} + +function clientCmdSetPlayContent() +{ + if ( $LaunchMode $= "InteriorView" ) + Canvas.setContent( interiorPreviewGui ); + else if ( $LaunchMode $= "TSShow" ) + Canvas.setContent( TSShowGui ); + else + Canvas.setContent( Playgui ); +} + +function clientCmdPickTeamMenu( %teamA, %teamB ) +{ + ClientCmdSetHudMode("PickTeam"); + PickTeamAButton.text = getTaggedString( %teamA ); + PickTeamBButton.text = getTaggedString( %teamB ); + PickTeamFrame.setTitle( "Pick Team" ); + + Canvas.pushDialog( PickTeamDlg ); +} + +function clientCmdProcessPickTeam( %option ) +{ + if( %option !$= "" && %option <= 4 ) + CommandToServer( 'clientPickedTeam', %option ); + else if( %option !$= "" && %option == 5 ) + disconnect(); + + Canvas.popDialog( PickTeamDlg ); +} + +new MessageVector(HudMessageVector); + +$LastHudTarget = 0; + +function addMessageHudLine(%text) +{ + %adjustPos = false; + if( chatPageDown.isVisible() ) + { + %adjustPos = true; + %origPosition = chatHud.position; + } + + //add the message... + while( !chatPageDown.isVisible() && HudMessageVector.getNumLines() && (HudMessageVector.getNumLines() >= $pref::HudMessageLogSize)) + { + %tag = HudMessageVector.getLineTag(0); + if(%tag != 0) + %tag.delete(); + HudMessageVector.popFrontLine(); + } + HudMessageVector.pushBackLine(%text, $LastHudTarget); + $LastHudTarget = 0; + + //now that we've added the message, see if we need to reset the position + if ( %adjustPos ) + { + chatPageDown.setVisible(true); + ChatPageDown.position = ( firstWord( outerChatHud.extent ) - 20 ) @ " " @ ( $chatScrollLenY[$Pref::chatHudLength] - 6 ); + chatHud.position = %origPosition; + } + else + chatPageDown.setVisible(false); + +} + +function pageUpMessageHud() +{ + //find out the text line height + %textHeight = chatHud.profile.fontSize; + if (%textHeight <= 0) + %textHeight = 12; + + //find out how many lines per page are visible + %chatScrollHeight = getWord(chatHud.getGroup().getGroup().extent, 1); + if (%chatScrollHeight <= 0) + return; + + %pageLines = mFloor(%chatScrollHeight / %textHeight) - 1; + if (%pageLines <= 0) + %pageLines = 1; + + //see how many lines we actually can scroll up: + %chatPosition = -1 * getWord(chatHud.position, 1); + %linesToScroll = mFloor((%chatPosition / %textHeight) + 0.5); + if (%linesToScroll <= 0) + return; + + if (%linesToScroll > %pageLines) + %scrollLines = %pageLines; + else + %scrollLines = %linesToScroll; + + //now set the position + chatHud.position = firstWord(chatHud.position) SPC (getWord(chatHud.position, 1) + (%scrollLines * %textHeight)); + + //display the pageup icon + ChatPageDown.position = ( firstWord( outerChatHud.extent ) - 20 ) @ " " @ ( $chatScrollLenY[$pref::chatHudLength] - 6 ); + chatPageDown.setVisible(true); +} + +function pageDownMessageHud() +{ + //find out the text line height + %textHeight = chatHud.profile.fontSize; + if (%textHeight <= 0) + %textHeight = 12; + + //find out how many lines per page are visible + %chatScrollHeight = getWord(chatHud.getGroup().getGroup().extent, 1); + if (%chatScrollHeight <= 0) + return; + + %pageLines = mFloor(%chatScrollHeight / %textHeight) - 1; + if (%pageLines <= 0) + %pageLines = 1; + + //see how many lines we actually can scroll down: + %chatPosition = getWord(chatHud.extent, 1) - %chatScrollHeight + getWord(chatHud.position, 1); + %linesToScroll = mFloor((%chatPosition / %textHeight) + 0.5); + if (%linesToScroll <= 0) + return; + + if (%linesToScroll > %pageLines) + %scrollLines = %pageLines; + else + %scrollLines = %linesToScroll; + + //now set the position + chatHud.position = firstWord(chatHud.position) SPC (getWord(chatHud.position, 1) - (%scrollLines * %textHeight)); + + //see if we have should (still) display the pagedown icon + if (%scrollLines < %linesToScroll) + { + chatPageDown.setVisible(true); + ChatPageDown.position = ( firstWord( outerChatHud.extent ) - 20 ) @ " " @ ( $chatScrollLenY[$Pref::chatHudLength] - 6 ); + } + else + chatPageDown.setVisible(false); +} + +$cursorControlled = true; + +function CursorOff() +{ + if ( $cursorControlled ) + lockMouse(true); + Canvas.cursorOff(); +} + +function CursorOn() +{ + if ( $cursorControlled ) + lockMouse(false); + Canvas.cursorOn(); + Canvas.setCursor(DefaultCursor); +} + +function toggleCursorControl() +{ + // If the user manually toggles the mouse control, lock or unlock for them + if ( $cursorControlled ) + $cursorControlled = false; + else + $cursorControlled = true; + lockMouse($cursorControlled); +} + +if ( $platform $= "linux" ) + GlobalActionMap.bindCmd(keyboard, "ctrl g", "", "toggleCursorControl();"); + +function toggleNetDisplayHud(%val) +{ + if(%val) + { + if(NetGraphHudFrame.isVisible()) + { + NetGraphHudFrame.setVisible(false); + NetBarHudFrame.setVisible(true); + } + else if(NetBarHudFrame.isVisible()) + { + NetBarHudFrame.setVisible(false); + } + else + NetGraphHudFrame.setVisible(true); + } +} + +function PlayGui::onWake(%this) +{ + // Make sure the shell hum is off: + if ( $HudHandle[shellScreen] !$= "" ) + { + alxStop( $HudHandle[shellScreen] ); + $HudHandle[shellScreen] = ""; + } + + $enableDirectInput = "1"; + activateDirectInput(); + + // chat hud dialog + Canvas.pushDialog( MainChatHud ); + chatHud.attach(HudMessageVector); + + // just update the action map here, the huds should be properly setup + updateActionMaps(); + + // hack city - these controls are floating around and need to be clamped + schedule(0, 0, "refreshCenterTextCtrl"); + schedule(0, 0, "refreshBottomTextCtrl"); + + // update the network graph prefs + NetGraphHud.getPrefs(); +} + +function refreshBottomTextCtrl() +{ + BottomPrintText.position = "0 0"; +} + +function refreshCenterTextCtrl() +{ + CenterPrintText.position = "0 0"; +} + +function PlayGui::onSleep(%this) +{ + Canvas.popDialog( MainChatHud ); + + //pop all possible keymaps + moveMap.pop(); + if ( isObject( passengerKeys ) ) + passengerKeys.pop(); + if ( isObject( observerBlockMap ) ) + observerBlockMap.pop(); + if ( isObject( observerMap ) ) + observerMap.pop(); + //flyingCameraMove.pop(); +} + +function onConnectRequestRejected( %msg ) +{ + switch$(%msg) + { + case "CR_INVALID_CONNECT_PACKET": + %error = "Network error - badly formed network packet - this should not happen!"; + case "CR_AUTHENTICATION_FAILED": + %error = "Failed to authenticate with server. Please restart TRIBES 2 and try again."; + case "CR_YOUAREBANNED": + %error = "You are not allowed to play on this server."; + case "CR_SERVERFULL": + %error = "This server is full."; + default: + %error = "Connection error. Please try another server. Error code: (" @ %msg @ ")"; + } + DisconnectedCleanup(); + MessageBoxOK( "REJECTED", %error); +} + +function onChallengeRequestRejected( %msg ) +{ + CloseMessagePopup(); + DisconnectedCleanup(); + switch$(%msg) + { + case "PASSWORD": + if ( $JoinGamePassword $= "" ) + Canvas.pushDialog( PasswordDlg ); + else + { + $JoinGamePassword = ""; + MessageBoxOK( "REJECTED", "That password is incorrect."); + } + return; + case "CHR_PROTOCOL_SERVER": + %error = "Incompatible protocol version: The server is running an older, incompatible version of Tribes 2."; + case "CHR_PROTOCOL": + %error = "Incompatible protocol version: You must upgrade your game version to play on this server."; + case "CHR_NOT_AUTHENTICATED": + %error = "This is an online server - you must be logged in to play on it."; + case "CHR_INVALID_SERVER_PACKET": + %error = "Invalid server response packet. This should not happen."; + case "WS_PeerAuthServer_ExpiredClientCertificate": + %error = "Authentication error - please restart TRIBES 2 and try again."; + default: + %error = "Connection challenge error. Please try another server. Error code: (" @ %msg @ ")"; + } + MessageBoxOK( "REJECTED", %error ); +} + +function onConnectRequestTimedOut() +{ + DisconnectedCleanup(); + MessageBoxOK( "TIMED OUT", "Your connection to the server timed out." ); +} + +function onConnectionToServerTimedOut() +{ + DisconnectedCleanup(); + MessageBoxOK( "TIMED OUT", "Your connection to the server timed out."); +} + +function onConnectionToServerLost( %msg ) +{ + DisconnectedCleanup(); + if ( %msg $= "" ) + %msg = "Your connection to the server was lost."; + MessageBoxOK( "DISCONNECTED", %msg ); +} + +// Client voting functions: +function startNewVote(%name, %arg1, %arg2, %arg3, %arg4, %playerVote) +{ + if ( %arg1 $= "" ) + %arg1 = 0; + if ( %arg2 $= "" ) + %arg2 = 0; + if ( %arg3 $= "" ) + %arg3 = 0; + if ( %arg4 $= "" ) + %arg4 = 0; + if ( %playerVote $= "" ) + %playerVote = 0; + + commandToServer('startNewVote', %name, %arg1, %arg2, %arg3, %arg4, %playerVote); +} + +function setPlayerVote(%vote) +{ + commandToServer('setPlayerVote', %vote); +} + +function ClientCmdVoteSubmitted(%type) +{ + clientCmdClearBottomPrint(); + + if(%type) + alxPlay(VoteAgainstSound, 0, 0, 0); + else + alxPlay(VoteForSound, 0, 0, 0); +} +// End client voting functions. + +//-------------------------------------------------------------------------- +// Player pref functions: +function getPlayerPrefs( %player ) +{ + %voiceMuted = false; + if ( $PlayingOnline ) + { + if ( !%player.isSmurf ) + { + %record = queryPlayerDatabase( %player.guid ); + if ( %record !$= "" ) + { + if ( firstWord( %record ) == 1 ) + { + %player.chatMuted = true; + commandToServer( 'TogglePlayerMute', %player.clientId ); + } + + %voiceMuted = getWord( %record, 1 ) == 1; + } + } + else + %voiceMuted = true; // For now, automatically mute smurfs + } + + commandToServer( 'ListenTo', %player.clientId, !%voiceMuted, false ); +} + +//-------------------------------------------------------------------------- +function handlePlayerMuted( %msgType, %msgString, %name, %client, %mute ) +{ + if ( isObject( $PlayerList[%client] ) ) + { + $PlayerList[%client].chatMuted = %mute; + if ( $PlayingOnline && !$PlayerList[%client].isSmurf && $PlayerList[%client].guid > 0 ) + setPlayerTextMuted( $PlayerList[%client].guid, %mute ); + } +} + +//-------------------------------------------------------------------------- +function clientCmdEndBomberSight() +{ + PlayGui.remove($bombSightHud); +} + +function clientCmdRemoveReticle() +{ + reticleHud.setBitmap(""); + reticleFrameHud.setVisible(false); +} + +function clientCmdSetBeaconNames(%target, %marker, %vehicle) +{ + setBeaconNames(%target, %marker, %vehicle); +} + +function clientCmdStartBomberSight() +{ + $bombSightHud = new HudBombSight(bombSightName) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "286 206"; + extent = "67 67"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + minDisplayHeight = "20"; + }; + PlayGui.add($bombSightHud); +} + +function tempShowSpeed(%client) +{ + if(!$tmpSpeedShow) + $tmpSpeedShow = true; + else + $tmpSpeedShow = false; + commandToClient(%client, 'toggleSpeed', %client, $tmpSpeedShow); +} + +function clientCmdToggleSpeed(%client, %toggle) +{ + if(%toggle) { + %tempSpeedHud = new GuiTextCtrl(tmpSpeed) { + profile = "GuiTempSpeedProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "175 200"; + extent = "120 50"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + }; + PlayGui.add(%tempSpeedHud); + %client.updateTempSpeed(%client); + } + else { + cancel(%client.tmpSpeedCheck); + tmpSpeed.delete(); + } +} + +function GameConnection::updateTempSpeed(%client) +{ + commandToClient(%client, 'getTempSpeed'); + %client.tmpSpeedCheck = %client.schedule(100, "updateTempSpeed", %client); +} + +function clientCmdGetTempSpeed() +{ + %vel = getControlObjectSpeed(); + tmpSpeed.setValue(%vel); +} + +function clientCmdInitLoadClientFavorites() +{ + loadFavorite($pref::FavCurrentSelect); +} + +function clientCmdToggleDashHud(%val) +{ + if(!%val) { + if(isObject(vDiagramHud)) + { + vDiagramHud.delete(); + cancel(dashboardHud.speedCheck); + vSpeedBox.delete(); + } + if(isObject(vOverheadHud)) + vOverheadHud.delete(); + if(isObject(vEnergyFrame)) + vEnergyFrame.delete(); + if(isObject(vDamageFrame)) + vDamageFrame.delete(); + if(isObject(vAltitudeBox)) + { + cancel(dashboardHud.altitudeCheck); + vAltitudeBox.delete(); + } + if(isObject(vWeaponOne)) + vWeaponOne.delete(); + if(isObject(vWeaponTwo)) + vWeaponTwo.delete(); + if(isObject(vWeaponThree)) + vWeaponThree.delete(); + if(isObject(vWeapHiliteOne)) + vWeapHiliteOne.delete(); + if(isObject(vWeapHiliteTwo)) + vWeapHiliteTwo.delete(); + if(isObject(vWeapHiliteThree)) + vWeapHiliteThree.delete(); + if(isObject(vPassengerHud)) + vPassengerHud.delete(); + if(isObject(bombardierHud)) + bombardierHud.delete(); + if(isObject(turreteerHud)) + turreteerHud.delete(); + // reset in case of vehicle-specific reticle + //reticleHud.setBitmap(""); + //reticleFrameHud.setVisible(false); + } + dashboardHud.setVisible(%val); +} + +function addEnergyGauge( %vehType ) +{ + switch$ (%vehType) + { + case "Assault" or "Bomber": + dashboardHud.nrgBar = new HudBitmapCtrl(vEnergyFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 80"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_5"; + opacity = "0.8"; + + new HudEnergy(vEnergyBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 5"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + + new HudCapacitor(vCapBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 8"; + extent = "118 8"; + minExtent = "8 8"; + visible = "1"; + fillColor = "1.000 0.729 0.301 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 5"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.nrgBar); + + default: + dashboardHud.nrgBar = new HudBitmapCtrl(vEnergyFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "160 80"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_5"; + opacity = "0.8"; + + new HudEnergy(vEnergyBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.nrgBar); + } +} + +function clientCmdShowVehicleGauges(%vehType, %node) +{ + //if(!((%vehType $= "Bomber" || %vehType $= "Assault") && %node > 0)) + if(%node == 0) + { + // common elements that show up on all vehicle pilot HUDs + dashboardHud.diagram = new HudBitmapCtrl(vDiagramHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "200 10"; + extent = "176 108"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dash"; + opacity = "0.8"; + }; + dashboardHud.add(dashboardHud.diagram); + + dashboardHud.vehDiagram = new HudBitmapCtrl(vOverheadHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "256 0"; + extent = "128 128"; + minExtent = "8 8"; + visible = "1"; + bitmap = ""; + opacity = "1.0"; + }; + dashboardHud.add(dashboardHud.vehDiagram); + + addEnergyGauge( %vehType ); + + dashboardHud.dmgBar = new HudBitmapCtrl(vDamageFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "361 80"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + opacity = "0.8"; + + new HudDamage(vDamageBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.000000 1.0000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 0.000000"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + verticalFill = false; + displayMounted = true; + opacity = "0.8"; + subRegion = "18 5 97 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.dmgBar); + + dashboardHud.speedBox = new GuiControl(vSpeedBox) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "210 47"; + extent = "40 40"; + minExtent = "8 8"; + visible = "1"; + + new GuiTextCtrl(vSpeedText) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "3 15"; + extent = "18 15"; + minExtent = "8 8"; + visible = "1"; + text = "test"; + }; + new GuiTextCtrl(vSpeedTxtLbl) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "18 15"; + extent = "27 15"; + minExtent = "8 8"; + visible = "1"; + text = "KPH"; + }; + }; + dashboardHud.add(dashboardHud.speedBox); + + dashboardHud.updateSpeed(); + } + + switch$ (%vehType) { + case "Shrike" : + vOverheadHud.setBitmap("gui/hud_veh_icon_shrike"); + // add altitude box for flying vehicles + dashboardHud.altBox = new HudBitmapCtrl(vAltitudeBox) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "371 56"; + extent = "68 22"; + minExtent = "8 8"; + bitmap = "gui/hud_veh_new_dashpiece_1"; + visible = "1"; + opacity = "0.8"; + + new GuiTextCtrl(vAltitudeText) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "19 5"; + extent = "18 15"; + minExtent = "8 8"; + visible = "1"; + text = "test"; + }; + new GuiTextCtrl(vAltitudeTxtLbl) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 5"; + extent = "12 15"; + minExtent = "8 8"; + visible = "1"; + text = "M"; + }; + }; + dashboardHud.add(dashboardHud.altBox); + dashboardHud.updateAltitude(); + // add right-hand weapons box and highlight + dashboardHud.weapon = new GuiControl(vWeapHiliteOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "358 22"; + extent = "80 33"; + minExtent = "8 8"; + visible = "1"; + + new HudBitmapCtrl(vWeapBkgdOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "82 40"; + minExtent = "8 8"; + bitmap = "gui/hud_veh_new_dashpiece_2"; + visible = "1"; + opacity = "0.8"; + + new HudBitmapCtrl(vWeapIconOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "28 6"; + extent = "25 25"; + minExtent = "8 8"; + bitmap = "gui/hud_blaster"; + visible = "1"; + opacity = "0.8"; + }; + }; + }; + dashboardHud.add(dashboardHud.weapon); + // change to shrike reticle + reticleHud.setBitmap("gui/hud_ret_shrike"); + reticleFrameHud.setVisible(false); + + case "Bomber" : + if(%node == 1) + { + // bombardier hud + dashboardHud.bHud = new GuiControl(bombardierHud) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "200 75"; + extent = "240 50"; + minExtent = "8 8"; + visible = "1"; + + new HudBitmapCtrl(vWeap1Hilite) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 9"; + extent = "80 44"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_hilite_left"; + opacity = "0.3"; + }; + new HudBitmapCtrl(vWeap2Hilite) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "141 9"; + extent = "80 44"; + minExtent = "8 8"; + visible = "0"; + bitmap = "gui/hud_veh_new_hilite_right"; + opacity = "0.3"; + }; + new HudBitmapCtrl(vWeap3Hilite) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 9"; + extent = "40 44"; + minExtent = "8 8"; + visible = "0"; + bitmap = "gui/hud_veh_new_hilite_middle"; + opacity = "0.3"; + }; + + new HudBitmapCtrl(bombardierFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "20 8"; + extent = "200 40"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_bombardier_dash"; + opacity = "1.0"; + + new HudBitmapCtrl(vWeaponOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 5"; + extent = "25 25"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_blaster"; + }; + + new HudBitmapCtrl(vWeaponTwo) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 6"; + extent = "25 25"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_targetlaser"; + }; + + new HudBitmapCtrl(vWeaponThree) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "147 6"; + extent = "25 25"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_bomb"; + }; + }; + }; + dashboardHud.add(dashboardHud.bHud); + + dashboardHud.nrgBar = new HudBitmapCtrl(vEnergyFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "110 95"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + flipVertical = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + opacity = "0.8"; + + new HudEnergy(vEnergyBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 5"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + new HudCapacitor(vCapBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 8"; + extent = "118 8"; + minExtent = "8 8"; + visible = "1"; + fillColor = "1.000 0.729 0.301 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 5"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.nrgBar); + + dashboardHud.dmgBar = new HudBitmapCtrl(vDamageFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "410 95"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + flipVertical = true; + bitmap = "gui/hud_veh_new_dashpiece_4"; + opacity = "0.8"; + + new HudDamage(vDamageBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.000000 1.0000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 0.000000"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + verticalFill = false; + displayMounted = true; + opacity = "0.8"; + subRegion = "18 5 97 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.dmgBar); + $numVWeapons = 3; + reticleHud.setBitmap("gui/hud_ret_shrike"); + reticleFrameHud.setVisible(false); + } + else if(%node == 0) + { + // pilot dashboard hud + vOverheadHud.setBitmap("gui/hud_veh_icon_bomber"); + // add altitude box for flying vehicles + dashboardHud.altBox = new HudBitmapCtrl(vAltitudeBox) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "371 56"; + extent = "68 22"; + minExtent = "8 8"; + bitmap = "gui/hud_veh_new_dashpiece_1"; + visible = "1"; + opacity = "0.8"; + + new GuiTextCtrl(vAltitudeText) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "19 5"; + extent = "18 15"; + minExtent = "8 8"; + visible = "1"; + text = "test"; + }; + new GuiTextCtrl(vAltitudeTxtLbl) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 5"; + extent = "12 15"; + minExtent = "8 8"; + visible = "1"; + text = "M"; + }; + }; + dashboardHud.add(dashboardHud.altBox); + dashboardHud.updateAltitude(); + } + else + { + // tailgunner hud + dashboardHud.vehDiagram = new HudBitmapCtrl(vOverheadHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "256 0"; + extent = "128 128"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_icon_bomber"; + opacity = "1.0"; + }; + dashboardHud.add(dashboardHud.vehDiagram); + + dashboardHud.nrgBar = new HudBitmapCtrl(vEnergyFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "177 50"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_5"; + flipVertical = true; + opacity = "0.8"; + + new HudEnergy(vEnergyBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + }; + }; + dashboardHud.add(dashboardHud.nrgBar); + + dashboardHud.dmgBar = new HudBitmapCtrl(vDamageFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "345 50"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + flipVertical = true; + opacity = "0.8"; + + new HudDamage(vDamageBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.000000 1.0000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 0.000000"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + verticalFill = false; + displayMounted = true; + opacity = "0.8"; + subRegion = "18 5 97 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + }; + }; + dashboardHud.add(dashboardHud.dmgBar); + } + if(%node != 1) + { + // passenger slot "dots" + vOverheadHud.passengerHud = new GuiControl(vPassengerHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "101 101"; + minExtent = "8 8"; + visible = "1"; + + new GuiBitmapCtrl(vPassenger0Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "59 24"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + bitmap = "gui/hud_veh_seatdot"; + }; + new GuiBitmapCtrl(vPassenger1Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "59 39"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + bitmap = "gui/hud_veh_seatdot"; + }; + new GuiBitmapCtrl(vPassenger2Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "59 84"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + bitmap = "gui/hud_veh_seatdot"; + }; + }; + vOverheadHud.add(vOverheadHud.passengerHud); + } + case "HAPC" : + if(%node == 0) + { + vOverheadHud.setBitmap("gui/hud_veh_icon_hapc"); + // add altitude box for flying vehicles + dashboardHud.altBox = new HudBitmapCtrl(vAltitudeBox) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "371 56"; + extent = "68 22"; + minExtent = "8 8"; + bitmap = "gui/hud_veh_new_dashpiece_1"; + visible = "1"; + opacity = "0.8"; + + new GuiTextCtrl(vAltitudeText) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "19 5"; + extent = "18 15"; + minExtent = "8 8"; + visible = "1"; + text = "test"; + }; + new GuiTextCtrl(vAltitudeTxtLbl) { + profile = "GuiDashTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "40 5"; + extent = "12 15"; + minExtent = "8 8"; + visible = "1"; + text = "M"; + }; + }; + dashboardHud.add(dashboardHud.altBox); + updateVehicleAltitude(); + dashboardHud.updateAltitude(); + + } + else + { + // passenger hud + dashboardHud.vehDiagram = new HudBitmapCtrl(vOverheadHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "256 0"; + extent = "128 128"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_icon_hapc"; + opacity = "1.0"; + }; + dashboardHud.add(dashboardHud.vehDiagram); + + dashboardHud.nrgBar = new HudBitmapCtrl(vEnergyFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "180 30"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_5"; + flipVertical = true; + opacity = "0.8"; + + new HudEnergy(vEnergyBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + }; + }; + dashboardHud.add(dashboardHud.nrgBar); + + dashboardHud.dmgBar = new HudBitmapCtrl(vDamageFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "342 30"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + flipVertical = true; + opacity = "0.8"; + + new HudDamage(vDamageBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.000000 1.0000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 0.000000"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + verticalFill = false; + displayMounted = true; + opacity = "0.8"; + subRegion = "18 5 97 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + }; + }; + dashboardHud.add(dashboardHud.dmgBar); + } + // passenger slot "dots" + vOverheadHud.passengerHud = new GuiControl(vPassengerHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "101 101"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(vPassenger0Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "59 65"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + bitmap = "gui/hud_veh_seatdot"; + wrap = "0"; + }; + new GuiBitmapCtrl(vPassenger1Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "59 84"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + bitmap = "gui/hud_veh_seatdot"; + wrap = "0"; + }; + new GuiBitmapCtrl(vPassenger2Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "38 29"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + bitmap = "gui/hud_veh_seatdot"; + wrap = "0"; + }; + new GuiBitmapCtrl(vPassenger3Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "38 50"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + bitmap = "gui/hud_veh_seatdot"; + wrap = "0"; + }; + new GuiBitmapCtrl(vPassenger4Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "80 50"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + bitmap = "gui/hud_veh_seatdot"; + wrap = "0"; + }; + new GuiBitmapCtrl(vPassenger5Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "80 29"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + setFirstResponder = "0"; + modal = "1"; + bitmap = "gui/hud_veh_seatdot"; + wrap = "0"; + }; + }; + vOverheadHud.add(vOverheadHud.passengerHud); + + case "Assault" : + if(%node == 1) + { + // turreteer hud + dashboardHud.tHud = new GuiControl(turreteerHud) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "225 70"; + extent = "240 50"; + minExtent = "8 8"; + visible = "1"; + + new HudBitmapCtrl(vWeap1Hilite) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "40 11"; + extent = "80 44"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_hilite_left"; + opacity = "0.4"; + }; + new HudBitmapCtrl(vWeap2Hilite) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 11"; + extent = "80 44"; + minExtent = "8 8"; + visible = "0"; + bitmap = "gui/hud_veh_new_hilite_right"; + opacity = "0.4"; + }; + + new HudBitmapCtrl(turreteerFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "20 8"; + extent = "152 36"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_veh_new_tankgunner_dash"; + opacity = "0.8"; + + new HudBitmapCtrl(vWeaponOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 8"; + extent = "25 25"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_chaingun"; + }; + + new HudBitmapCtrl(vWeaponTwo) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 8"; + extent = "25 25"; + minExtent = "8 8"; + visible = "1"; + bitmap = "gui/hud_mortor"; + }; + }; + }; + dashboardHud.add(dashboardHud.tHud); + + dashboardHud.nrgBar = new HudBitmapCtrl(vEnergyFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "134 95"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + flipVertical = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + opacity = "0.8"; + + new HudEnergy(vEnergyBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.353000 0.373000 0.933000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 5"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + new HudCapacitor(vCapBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 8"; + extent = "118 8"; + minExtent = "8 8"; + visible = "1"; + fillColor = "1.000 0.729 0.301 0.800000"; + frameColor = "0.000000 1.000000 0.000000 1.000000"; + autoCenter = "0"; + autoResize = "0"; + displayMounted = true; + bitmap = "gui/hud_veh_new_dashpiece_5"; + verticalFill = false; + subRegion = "4 5 98 5"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.nrgBar); + + dashboardHud.dmgBar = new HudBitmapCtrl(vDamageFrame) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "390 95"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + flipVertical = true; + bitmap = "gui/hud_veh_new_dashpiece_4"; + opacity = "0.8"; + + new HudDamage(vDamageBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "118 19"; + minExtent = "8 8"; + visible = "1"; + fillColor = "0.000000 1.0000 0.000000 0.800000"; + frameColor = "0.000000 1.000000 0.000000 0.000000"; + bitmap = "gui/hud_veh_new_dashpiece_4"; + verticalFill = false; + displayMounted = true; + opacity = "0.8"; + subRegion = "18 5 97 10"; + pulseRate = "500"; + pulseThreshold = "0.3"; + //modColor = "1.000000 0.500000 0.000000 1.000000"; + }; + }; + dashboardHud.add(dashboardHud.dmgBar); + + $numVWeapons = 2; + // add tank chaingun reticle + reticleHud.setBitmap("gui/hud_ret_tankchaingun"); + reticleFrameHud.setVisible(false); + } + else + { + // node 0 == driver + vOverheadHud.setBitmap("gui/hud_veh_icon_assault"); + // passenger slot "dots" + vOverheadHud.passengerHud = new GuiControl(vPassengerHud) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "101 101"; + minExtent = "8 8"; + visible = "1"; + + new GuiBitmapCtrl(vPassenger0Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "64 30"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + bitmap = "gui/hud_veh_seatdot"; + }; + new GuiBitmapCtrl(vPassenger1Slot) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "53 53"; + extent = "10 10"; + minExtent = "3 3"; + visible = "0"; + bitmap = "gui/hud_veh_seatdot"; + }; + }; + vOverheadHud.add(vOverheadHud.passengerHud); + } + + case "Hoverbike" : + vOverheadHud.setBitmap("gui/hud_veh_icon_hoverbike"); + + case "MPB" : + vOverheadHud.setBitmap("gui/hud_veh_icon_mpb"); + + } + if(%node == 0) + vDiagramHud.setVisible(true); + else + if(isObject(vDiagramHud)) + vDiagramHud.setVisible(false); +} + +function GuiControl::updateAltitude(%this) +{ + %alt = getControlObjectAltitude(); + vAltitudeText.setValue(%alt); + %this.altitudeCheck = %this.schedule(500, "updateAltitude"); +} + +function GuiControl::updateSpeed(%this) +{ + %vel = getControlObjectSpeed(); + // convert from m/s to km/h + %cVel = mFloor(%vel * 3.6); // m/s * (3600/1000) = km/h + vSpeedText.setValue(%cVel); + %this.speedCheck = %this.schedule(500, "updateSpeed"); +} + +//function clientCmdShowVehicleWeapons(%vehicleType) +//{ + // all vehicle weapons are energy based; a -1 displays an infinity symbol + // for that weapon's ammo amount + //switch$ (%vehicleType) + //{ + // case "ScoutFlyer": + // // blaster + // vWeaponsBox.addWeapon(0, -1); + // case "BomberFlyer": + // // plasma, bomb and targeting laser + // vWeaponsBox.addWeapon(1, -1); + // vWeaponsBox.addWeapon(3, -1); + // vWeaponsBox.addWeapon(4, -1); + // case "AssaultVehicle": + // vWeaponsBox.addWeapon(1, -1); + // vWeaponsBox.addWeapon(3, -1); + //} + //vWeaponsBox.setVisible(true); +//} + +// if set, then static shapes with data member 'noIndividualDamage' set will +// not display their damage bars +function clientCmdProtectingStaticObjects(%val) +{ + NavHud.protectedStatics = %val; +} + +function clientCmdCheckPassengers(%pString) +{ + // since each slot is represented by a "1" or a "0" followed by a space, the length + // of the string divided by 2 is equal to the number of slots in the vehicle + %numSlots = strlen(%pString) / 2; + for(%i = 0; %i < %numSlots; %i++) + { + %pass = "vPassenger" @ %i @ "Slot"; + if(isObject(%pass)) + if(getWord(%pString, %i) $= "1") + %pass.setVisible(true); + else + %pass.setVisible(false); + } +} + +function clientCmdShowPassenger(%slot, %full) +{ + %dotNum = "vPassenger" @ %slot @ "Slot"; + if(isObject(%dotNum)) + %dotNum.setVisible(%full); +} + +function clientCmdClearPassengers() +{ + for(%i = 1; %i < 6; %i++) + { + %pass = "vPassenger" @ %i @ "Slot"; + %pass.setVisible(false); + } +} + +addMessageCallback( 'MsgMissionDropInfo', handleDropInfoMessage ); +addMessageCallback( 'MsgTeamList', handleTeamListMessage ); +addMessageCallback( 'LeaveMissionArea', HandleLeaveMissionAreaAlarmMessage ); +addMessageCallback( 'EnterMissionArea', HandleEnterMissionAreaAlarmMessage ); +addMessageCallback( 'msgBountyStreakBonus', HandleBountyStreakMessage ); +addMessageCallback( 'onClientKicked', handleIveBeenKicked ); +addMessageCallback( 'onClientBanned', handleIveBeenBanned ); +addMessageCallback( 'msgDeploySensorRed', clientDeploySensorRed ); +addMessageCallback( 'msgDeploySensorGrn', clientDeploySensorGrn ); +addMessageCallback( 'msgDeploySensorOff', clientDeploySensorOff ); +addMessageCallback( 'msgPackIconOff', clientPackIconOff ); +addMessageCallback( 'MsgForceObserver', HandleForceObserver ); +addMessageCallback( 'MsgPlayerMuted', handlePlayerMuted ); + +//------------------------------------------------------------------------------ +// Siege-specific callbacks: +addMessageCallback( 'MsgSiegeHalftime', handleSiegeHalftimeMessage ); +addMessageCallback( 'MsgSiegeResult', handleSiegeResultMessage ); +addMessageCallback( 'MsgSiegeAddLine', handleSiegeLineMessage ); +//------------------------------------------------------------------------------ + +function HandleForceObserver( %msgType, %msgString ) +{ + +} + +function handleIveBeenBanned(%msgType, %msgString) +{ + DisconnectedCleanup(); +} + +function handleIveBeenKicked(%msgType, %msgString) +{ + DisconnectedCleanup(); +} + +function clientDeploySensorRed() +{ + deploySensor.color = "255 0 0"; + deploySensor.setVisible(true); +} + +function clientDeploySensorGrn() +{ + deploySensor.color = "0 255 0"; + deploySensor.setVisible(true); +} + +function clientDeploySensorOff() +{ + deploySensor.setVisible(false); +} + +function clientPackIconOff() +{ + backpackIcon.setBitmap(""); + backpackFrame.setVisible(false); + backpackText.setValue(""); + backpackText.setVisible(false); + backpackFrame.pack = false; +} + +function HandleBountyStreakMessage(%msgType, %msgString, %client, %streak, %award) +{ + %delay = alxGetWaveLen("fx/misc/bounty_bonus.wav"); + %overlap = 0.50; + + alxPlay(BountyBellSound, 0, 0, 0); //first bell + for (%loop = 1; %loop < %award; %loop++) //any repetitions, overlapped. + schedule((%delay * %loop) * %overlap, 0, "alxPlay", BountyBellSound, 0, 0, 0); +} + +function HandleLeaveMissionAreaAlarmMessage(%msgType, %msgString) +{ + //Tinman - sounds are now sent by the individual game script + //if(ServerConnection.OutOfBoundsHandle $= "") + // ServerConnection.OutOfBoundsHandle = alxPlay(OutOfBoundsSound, 0, 0, 0); +} + +function HandleEnterMissionAreaAlarmMessage(%msgType, %msgString) +{ + //Tinman - sounds are now sent by the individual game script + //if(ServerConnection.OutOfBoundsHandle !$= "") + // alxStop(ServerConnection.OutOfBoundsHandle); + // + //ServerConnection.OutOfBoundsHandle = ""; +} + +function handleDropInfoMessage( %msgType, %msgString, %map, %gameType, %serverName ) +{ + $clServerName = %serverName; + $clMissionName = %map; + $clMissionType = %gameType; +} + +function handleTeamListMessage( %msgType, %msgString, %teamCount, %teamList ) +{ + // Save off the team names: + $clTeamCount = %teamCount; + for ( %i = 0; %i < %teamCount; %i++ ) + $clTeamScore[%i + 1, 0] = getRecord( %teamList, %i ); + + // Initialize the lobby: + LobbyPlayerList.initColumns(); +} + +//---------------------------------------------------------------------------- + +function clientCmdStartEffect( %effect ) +{ + // Put in iterations + StartEffect( %effect ); +} + +function clientCmdStopEffect( %effect ) +{ + StopEffect( %effect ); +} + +function clientCmdPickTeam() +{ + +} + +function clientCmdMissionStartPhase1(%seq, %missionName, %musicTrack) +{ + echo( "got client StartPhase1..." ); + + // Reset the loading progress controls: + LoadingProgress.setValue( 0 ); + DB_LoadingProgress.setValue( 0 ); + LoadingProgressTxt.setValue( "LOADING MISSION" ); + DB_LoadingProgressTxt.setValue( "LOADING MISSION" ); + + clientCmdPlayMusic(%musicTrack); + commandToServer('MissionStartPhase1Done', %seq); + clientCmdResetCommandMap(); +} + +function clientCmdMissionStartPhase2(%seq) +{ + // clean some stuff up. + MessageHud.close(); + purgeResources(); + if (!$pref::NoClearConsole) + cls(); + commandToServer('MissionStartPhase2Done', %seq); +} + +function clientCmdMissionStartPhase3(%seq, %missionName) +{ + $MSeq = %seq; + + //Reset Inventory Hud... + if($Hud['inventoryScreen'] !$= "") + { + %favList = $Hud['inventoryScreen'].data[0, 1].type TAB $Hud['inventoryScreen'].data[0, 1].getValue(); + for ( %i = 1; %i < $Hud['inventoryScreen'].count; %i++ ) + if($Hud['inventoryScreen'].data[%i, 1].getValue() $= invalid) + %favList = %favList TAB $Hud['inventoryScreen'].data[%i, 1].type TAB "EMPTY"; + else + %favList = %favList TAB $Hud['inventoryScreen'].data[%i, 1].type TAB $Hud['inventoryScreen'].data[%i, 1].getValue(); + commandToServer( 'setClientFav', %favList ); + } + else + commandToServer( 'setClientFav', $pref::Favorite[$pref::FavCurrentSelect]); + + // needed? + $MissionName = %missionName; + //commandToServer( 'getScores' ); + + // only show dialog if actually lights + if(lightScene("sceneLightingComplete", $LaunchMode $= "SceneLight" ? "forceWritable" : "")) + { + error("beginning SceneLighting...."); + schedule(1, 0, "updateLightingProgress"); + $lightingMission = true; + LoadingProgress.setValue( 0 ); + DB_LoadingProgress.setValue( 0 ); + LoadingProgressTxt.setValue( "LIGHTING MISSION" ); + DB_LoadingProgressTxt.setValue( "LIGHTING MISSION" ); + $missionLightStarted = true; + Canvas.repaint(); + } +} + +function clientCmdMissionEnd(%seq) +{ + alxStopAll(); + // disable mission lighting if it's going (since the interiors will be gone in a sec) + $lightingMission = false; + $sceneLighting::terminateLighting = true; +} + +function clientCmdSetPowerAudioProfiles(%up, %down) +{ + setPowerAudioProfiles(%up, %down); +} + +function ghostAlwaysStarted(%ghostCount) +{ + echo( "starting to ghost " @ %ghostCount @ " server objects...."); + + LoadingProgress.setValue( 0 ); + DB_LoadingProgress.setValue( 0 ); + LoadingProgressTxt.setValue( "LOADING OBJECTS" ); + DB_LoadingProgressTxt.setValue( "LOADING OBJECTS" ); + Canvas.repaint(); + $ghostCount = %ghostCount; + $ghostsRecvd = 0; +} + +function ghostAlwaysObjectReceived() +{ + $ghostsRecvd++; + %pct = $ghostsRecvd / $ghostCount; + LoadingProgress.setValue( %pct ); + DB_LoadingProgress.setValue( %pct ); + Canvas.repaint(); +} + +function updateLightingProgress() +{ + if( $SceneLighting::lightingProgress == 0) + { + if($sceneLightStarted) + { + $sceneLightStarted = false; + } + else + $SceneLighting::lightingProgress = 1; + } + + LoadingProgress.setValue( $SceneLighting::lightingProgress ); + DB_LoadingProgress.setValue( $SceneLighting::lightingProgress ); + if($lightingMission) + $lightingProgressThread = schedule(1, 0, "updateLightingProgress"); +} + +function sceneLightingComplete() +{ + LoadingProgress.setValue( 1 ); + DB_LoadingProgress.setValue( 1 ); + + echo("Scenelighting done..."); + $lightingMission = false; + + cleanUpHuds(); + + if($LaunchMode $= "SceneLight") + { + quit(); + return; + } + + clientCmdResetHud(); + commandToServer('SetVoiceInfo', $pref::Audio::voiceChannels, $pref::Audio::decodingMask, $pref::Audio::encodingLevel); + commandToServer('EnableVehicleTeleport', $pref::Vehicle::pilotTeleport ); + commandToServer('MissionStartPhase3Done', $MSeq); +} + +function clientCmdSetVoiceInfo(%channels, %decodingMask, %encodingLevel) +{ + $Audio::serverChannels = %channels; + $Audio::serverDecodingMask = %decodingMask; + $Audio::serverEncodingLevel = %encodingLevel; +} + +function ClientReceivedDataBlock(%index, %total) +{ + %pct = %index / %total; + LoadingProgress.setValue( %pct ); + LoadingProgress.setValue( %pct ); + Canvas.repaint(); +} + +function GameConnection::onTargetLocked( %con, %state ) +{ + if( %state $= "true" ) + { + if( !%con.targetTone ) + %con.targetTone = alxPlay( "sLockedTone", 0, 0, 0 ); + } + else + { + if( %con.targetTone $= "" ) + return; + + if( %con.targetTone ) + alxStop( %con.targetTone ); + + %con.targetTone = ""; + } +} + +function GameConnection::onTrackingTarget( %con, %state ) +{ + if( %state $= "true" ) + { + if( !%con.trackingTargetTone ) + %con.trackingTargetTone = alxPlay( "sSearchingTone", 0, 0, 0 ); + } + else + { + if( %con.trackingTargetTone $= "" ) + return; + + if( %con.trackingTargetTone ) + alxStop( %con.trackingTargetTone ); + + %con.TrackingTargetTone = ""; + } +} + +function GameConnection::onLockWarning( %con, %state ) +{ + if( %state $= "true" ) + { + if( !%con.lockWarningTone ) + %con.lockWarningTone = alxPlay( "sMissileLockWarningTone", 0, 0, 0 ); + + } + else + { + if( %con.lockWarningTone $= "" ) + return; + + if( %con.lockWarningTone ) + alxStop( %con.lockWarningTone ); + + %con.lockWarningTone = ""; + } +} + +function GameConnection::onHomeWarning( %con, %state ) +{ + if( %state $= "true" ) + { + if( !%con.homeWarningTone ) + %con.homeWarningTone = alxPlay( "sMissileHomingWarningTone", 0, 0, 0 ); + } + else + { + if( %con.homeWarningTone $= "" ) + return; + + if( %con.homeWarningTone ) + alxStop( %con.homeWarningTone ); + + %con.homeWarningTone = ""; + } +} + +function GameConnection::initialControlSet(%this) +{ + if ( $LaunchMode $= "InteriorView" ) + { + Canvas.setContent( InteriorPreviewGui ); + return; + } + + if( $LaunchMode $= "TSShow" ) + { + Canvas.setContent( TSShowGui ); + return; + } + + if( Canvas.getContent() != PlayGui.getId() ) + { + Canvas.setContent( PlayGui ); + Canvas.pushDialog( MainChatHud ); + CommandToServer('PlayContentSet'); + } +} + +//------------------------------------------------------------------------------ +// Siege-specific client functions: +//------------------------------------------------------------------------------ +function handleSiegeHalftimeMessage( %msgType, %msgString ) +{ + alxPlay( SiegeSwitchSides, 0, 0, 0 ); + showTaskHudDlg( false ); + SiegeHalftimeText.setText( "" ); +} + +//------------------------------------------------------------------------------ +function handleSiegeResultMessage( %msgType, %msgString, %result ) +{ + SiegeHalftimeHeaderText.setText( "" @ detag( %result ) ); +} + +//------------------------------------------------------------------------------ +function handleSiegeLineMessage( %msgType, %msgString, %line ) +{ + %text = SiegeHalftimeText.getText(); + if ( %text $= "" ) + %newText = detag( %line ); + else + %newText = %text NL detag( %line ); + SiegeHalftimeText.setText( %newText ); +} + +//------------------------------------------------------------------------------ +function clientCmdSetHalftimeClock( %time ) +{ + SiegeHalftimeClock.setTime( %time ); +} + +//------------------------------------------------------------------------------ +function SiegeHalftimeHeaderText::onResize( %this, %width, %height ) +{ + %w = firstWord( SiegeHalftimeHeader.getExtent() ); + SiegeHalftimeHeader.setExtent( %w, %height + 6 ); + %paneHeight = getWord( siegeHalftimeHud.getExtent(), 1 ); + %x = firstWord( SiegeHalftimeScroll.getPosition() ); + %y = %height + 40; + %w = firstWord( SiegeHalftimeScroll.getExtent() ); + %h = %paneHeight - %height - 59; + SiegeHalftimeScroll.resize( %x, %y, %w, %h ); +} + + diff --git a/public/base/@vl2/scripts.vl2/scripts/clientAudio.cs b/public/base/@vl2/scripts.vl2/scripts/clientAudio.cs new file mode 100644 index 00000000..89f9e231 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/clientAudio.cs @@ -0,0 +1,508 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +datablock EffectProfile(BountyBellEffect) +{ + effectname = "misc/bounty_bonus"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +// ordered list of providers +$AudioProviders[0, name] = "Creative Labs EAX 2 (TM)"; +$AudioProviders[0, isHardware] = true; +$AudioProviders[0, enableEnvironment] = true; + +$AudioProviders[1, name] = "Creative Labs EAX (TM)"; +$AudioProviders[1, isHardware] = true; +$AudioProviders[1, enableEnvironment] = true; + +$AudioProviders[2, name] = "DirectSound3D Hardware Support"; +$AudioProviders[2, isHardware] = true; +$AudioProviders[2, enableEvironment] = false; + +$AudioProviders[3, name] = "Miles Fast 2D Positional Audio"; +$AudioProviders[3, isHardware] = false; +$AudioProviders[3, enableEvironment] = false; + +// defaults +$Audio::defaultDriver = "miles"; +$Audio::innerFalloffScale = "1.0"; +$Audio::dynamicMemorySize = (1 << 20); + +function audioIsHardwareProvider(%provider) +{ + for(%i = 0; $AudioProviders[%i, name] !$= ""; %i++) + if(%provider $= $AudioProviders[%i, name]) + return($AudioProviders[%i, isHardware]); + return(false); +} + +function audioIsEnvironmentProvider(%provider) +{ + for(%i = 0; $AudioProviders[%i, name] !$= ""; %i++) + if(%provider $= $AudioProviders[%i, name]) + return($AudioProviders[%i, enableEnvironment]); + return(false); +} + +function audioUpdateProvider(%provider) +{ + // check if should be using hardware settings by default + alxDisableOuterFalloffs(false); + for(%i = 0; $AudioProviders[%i, name] !$= ""; %i++) + { + if(%provider $= $AudioProviders[%i, name]) + { + // hardware + if($AudioProviders[%i, isHardware]) + { + alxDisableOuterFalloffs(true); + alxSetInnerFalloffScale(0.4); + } + + // environment + %enable = $pref::Audio::environmentEnabled && audioIsEnvironmentProvider(%provider); + alxEnableEnvironmental(%enable); + + break; + } + } +} + +function initAudio() +{ + $Audio::originalProvider = alxGetContexti(ALC_PROVIDER); + + %providerName = alxGetContextstr(ALC_PROVIDER_NAME, $Audio::originalProvider); + audioUpdateProvider(%providerName); + + // voice? + if($pref::Audio::enableVoiceCapture) + $Audio::captureInitialized = alxCaptureInit(); + + // Set volume based on prefs: + alxListenerf( AL_GAIN_LINEAR, $pref::Audio::masterVolume ); + alxContexti( ALC_BUFFER_DYNAMIC_MEMORY_SIZE, $Audio::dynamicMemorySize ); + + alxSetChannelVolume( $EffectAudioType, $pref::Audio::effectsVolume ); + alxSetChannelVolume( $VoiceAudioType, $pref::Audio::voiceVolume ); + alxSetChannelVolume( $ChatAudioType, $pref::Audio::radioVolume ); + alxSetChannelVolume( $MusicAudioType, $pref::Audio::musicVolume ); + alxSetChannelVolume( $GuiAudioType, $pref::Audio::guiVolume ); + alxSetChannelVolume( $RadioAudioType, $pref::Audio::radioVolume ); + + alxSetCaptureGainScale( $pref::Audio::captureGainScale ); + + // cap the codec levels + if( $platform $= "linux" ) + { + if( $pref::Audio::encodingLevel != 3) + $pref::Audio::encodingLevel = 3; + $pref::Audio::decodingMask &= 8; + } + else + { + if( $pref::Audio::encodingLevel > 2) + $pref::Audio::encodingLevel = 2; + $pref::Audio::decodingMask &= 7; + } +} + +if($Audio::initialized) + initAudio(); + +//-------------------------------------------------------------------------- +// MP3-Music player +new ScriptObject(MusicPlayer) +{ + class = MP3Audio; + currentTrack = ""; + repeat = true; +}; + +function MP3Audio::stop(%this) +{ + alxStopMusic(); +} + +function getRandomTrack() +{ + if ( isDemo() ) + return( "desert" ); + + %val = mFloor(getRandom(0, 4)); + switch(%val) + { + case 0: + return "lush"; + case 1: + return "volcanic"; + case 2: + return "badlands"; + case 3: + return "ice"; + case 4: + return "desert"; + } +} + +function MP3Audio::play(%this) +{ + if(%this.currentTrack $= "") + %this.currentTrack = getRandomTrack(); + %this.playTrack(%this.currentTrack); +} + +function MP3Audio::playTrack(%this, %trackName) +{ + %this.currentTrack = %trackName; + if($pref::Audio::musicEnabled) + { + if ( isDemo() ) + alxPlayMusic("demo_base\\music\\" @ %trackName @ ".mp3"); + else + alxPlayMusic("base\\music\\" @ %trackName @ ".mp3"); + } +} + +function finishedMusicStream(%stopped) +{ + if(%stopped $= "true") + return; + + if(MusicPlayer.repeat) + MusicPlayer.playTrack(MusicPlayer.currentTrack); +} + +function clientCmdPlayMusic(%trackname) +{ + if(%trackname !$= "") + MusicPlayer.playTrack(%trackName); +} + +function clientCmdStopMusic() +{ + MusicPlayer.stop(); +} + +//-------------------------------------- +// Audio Profiles +// + +new EffectProfile(eButtonDown) +{ + effectname = "gui/buttonDown"; + minDistance = 10; +}; + +new EffectProfile(eButtonOver) +{ + effectname = "gui/buttonOver"; + minDistance = 10; +}; + +new AudioDescription(AudioGui) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = $GuiAudioType; +}; + +new AudioDescription(AudioChat) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = $ChatAudioType; +}; + +new AudioDescription(AudioGuiLoop) +{ + volume = 1.0; + isLooping= true; + is3D = false; + type = $GuiAudioType; +}; + +new AudioProfile(sButtonDown) +{ + filename = "gui/buttonDown.wav"; + description = "audioGui"; + preload = true; + effect = eButtonDown; +}; + +new AudioProfile(sButtonOver) +{ + filename = "gui/buttonOver.wav"; + description = "audioGui"; + preload = true; + effect = eButtonOver; +}; + +new AudioProfile(sGotMail) +{ + filename = "gui/youvegotmail.wav"; + description = "audioGui"; + preload = true; +}; + +new EffectProfile(eLaunchMenuOpen) +{ + effectname = "gui/launchMenuOpen"; + minDistance = 10; +}; + +new AudioProfile(sLaunchMenuOpen) +{ + filename = "gui/launchMenuOpen.wav"; + description = "audioGui"; + preload = true; + effect = eLaunchMenuOpen; +}; + +new AudioProfile(sLaunchMenuOver) +{ + filename = "gui/buttonOver.wav"; + description = "audioGui"; + preload = true; + effect = eButtonOver; +}; + +new AudioProfile(VoteForSound) +{ + filename = "gui/buttonOver.wav"; + description = "audioGui"; + preload = true; +}; +new AudioProfile(VoteAgainstSound) +{ + filename = "gui/buttonOver.wav"; + description = "audioGui"; + preload = true; +}; + +new AudioProfile(TaskAcceptedSound) +{ + filename = "fx/misc/command_accept.wav"; + description = "audioGui"; + preload = true; +}; +new AudioProfile(TaskDeclinedSound) +{ + filename = "fx/misc/command_deny.wav"; + description = "audioGui"; + preload = true; +}; + +new AudioProfile(TaskCompletedSound) +{ + filename = "fx/misc/command_complete.wav"; + description = "audioGui"; + preload = true; +}; + +new AudioProfile(InputDeniedSound) +{ + filename = "fx/misc/diagnostic_beep.wav"; + description = "audioGui"; + preload = true; +}; + +//-------------------------------------------------------------------------- +//-------------------------------------- Shapebase lock/homing tones... +new AudioDescription(AudioLockTones) +{ + volume = 1.0; + isLooping= true; + is3D = false; + type = $EffectAudioType; +}; + +new AudioProfile(sSearchingTone) +// Sound that the FIRER hears when SEEKING a "hot" target +{ + filename = "fx/weapons/missile_firer_search.wav"; + description = "audioLockTones"; + preload = true; +}; + +new AudioProfile(sLockedTone) +// Sound that the FIRER hears when a "hot" target is LOCKED +{ + filename = "fx/weapons/missile_firer_lock.wav"; + description = "audioLockTones"; + preload = true; +}; + +new AudioProfile(sMissileLockWarningTone) +// Sound that the TARGET hears when a LOCK has been achieved +{ + filename = "fx/weapons/missile_target_lock.wav"; + description = "audioLockTones"; + preload = true; +}; + +new AudioProfile(sMissileHomingWarningTone) +// Sound that the TARGET hears when a missile has been locked onto the target and is IN THE AIR +{ + filename = "fx/weapons/missile_target_inbound.wav"; + description = "audioLockTones"; + preload = true; +}; + +//-------------------------------------------------------------------------- + +new AudioProfile(HudInventoryHumSound) +{ + filename = "gui/inventory_hum.wav"; + description = "AudioGuiLoop"; + preload = true; +}; + +new EffectProfile(HudInventoryActivateEffect) +{ + effectname = "gui/inventory_on"; + minDistance = 10; +}; + +new AudioProfile(HudInventoryActivateSound) +{ + filename = "gui/inventory_on.wav"; + description = "AudioGui"; + preload = true; + effect = HudInventoryActivateEffect; +}; + +new EffectProfile(HudInventoryDeactivateEffect) +{ + effectname = "gui/inventory_off"; + minDistance = 10; +}; + +new AudioProfile(HudInventoryDeactivateSound) +{ + filename = "gui/inventory_off.wav"; + description = "AudioGui"; + preload = true; + effect = HudInventoryDeactivateEffect; +}; + +new AudioProfile(CommandMapHumSound) +{ + filename = "gui/command_hum.wav"; + description = "AudioGuiLoop"; + preload = true; +}; + +new EffectProfile(CommandMapActivateEffect) +{ + effectname = "gui/command_on"; + minDistance = 10; +}; + +new AudioProfile(CommandMapActivateSound) +{ + filename = "gui/command_on.wav"; + description = "AudioGui"; + effect = CommandMapActivateEffect; + preload = true; +}; + +new EffectProfile(CommandMapDeactivateEffect) +{ + effectname = "gui/command_off"; + minDistance = 10; +}; + +new AudioProfile(CommandMapDeactivateSound) +{ + filename = "gui/command_off.wav"; + description = "AudioGui"; + preload = true; + effect = CommandMapDeactivateEffect; +}; + +new AudioProfile(ShellScreenHumSound) +{ + filename = "gui/shell_hum.wav"; + description = "AudioGuiLoop"; + preload = true; +}; + +new AudioProfile(LoadingScreenSound) +{ + filename = "gui/loading_hum.wav"; + description = "AudioGuiLoop"; + preload = true; +}; + +new AudioProfile(VotePassSound) +{ + filename = "fx/misc/vote_passes.wav"; + description = "AudioGui"; + preload = true; +}; + +new AudioProfile(VoteNotPassSound) +{ + filename = "fx/misc/vote_fails.wav"; + description = "AudioGui"; + preload = true; +}; + +new AudioProfile(AdminForceSound) +{ + filename = "fx/misc/bounty_completed.wav"; + description = "AudioGui"; + preload = true; +}; + +new AudioProfile(VoteInitiatedSound) +{ + filename = "fx/misc/vote_initiated.wav"; + description = "AudioGui"; + preload = true; +}; + +// Tinman - not being used anymore... +// new AudioProfile(OutOfBoundsSound) +// { +// filename = "gui/vote_nopass.wav"; +// description = "AudioGuiLoop"; +// preload = true; +// }; + +new AudioProfile(BountyBellSound) +{ + filename = "fx/misc/bounty_bonus.wav"; + description = "AudioGui"; + preload = true; +}; + +new AudioProfile(SiegeSwitchSides) +{ + filename = "fx/misc/siege_switching.wav"; + description = "AudioGui"; + preload = true; +}; + +new EffectProfile(ObjectiveCompletedEffect) +{ + effectname = "misc/bounty_bonus"; + minDistance = 10; +}; + +new AudioProfile(ObjectiveCompleted) +{ + filename = "fx/misc/bounty_bonus.wav"; + description = "AudioGui"; + effect = ObjectiveCompletedEffect; + preload = true; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/clientDefaults.cs b/public/base/@vl2/scripts.vl2/scripts/clientDefaults.cs new file mode 100644 index 00000000..915cb1b9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/clientDefaults.cs @@ -0,0 +1,174 @@ +$JoinGamePort = 28000; +$pref::Audio::activeDriver = "default"; +if ( $platform $= "linux" ) { + $pref::Audio::drivers = "OpenAL"; +} else { + $pref::Audio::drivers = "Miles"; +} +$pref::Audio::frequency = 22050; +$pref::Audio::sampleBits = 16; +$pref::Audio::channels = 2; +$pref::Audio::enableVoiceCapture = 1; +$pref::Audio::voiceChannels = 1; +if ( $platform $= "linux" ) { + $pref::Audio::encodingLevel = 3; + $pref::Audio::decodingMask = 8; +} else { + $pref::Audio::encodingLevel = 0; + $pref::Audio::decodingMask = 1; +} +$pref::Audio::forceMaxDistanceUpdate = 0; +$pref::Audio::environmentEnabled = 0; +$pref::Audio::musicEnabled = 1; +$pref::Audio::musicVolume = 0.8; +$pref::Audio::masterVolume = 0.8; +$pref::Audio::effectsVolume = 1.0; +$pref::Audio::voiceVolume = 1.0; +$pref::Audio::guiVolume = 0.8; +$pref::Audio::radioVolume = 0.8; +$pref::Audio::captureGainScale = 1.0; +$pref::currentChatMenu = "defaultChatMenu"; +$pref::Email::Column0 = 30; +$pref::Email::Column1 = 250; +$pref::Email::Column2 = 250; +$pref::Email::Column3 = 150; +$pref::Email::ComposeWindowPos = "74 32"; +$pref::Email::ComposeWindowExtent = "500 408"; +$pref::Email::SortColumnKey = 3; +$pref::Email::SortInc = 1; +$pref::EnableBadWordFilter = 1; +$pref::FavNames0 = "SCOUT SNIPER"; +$pref::FavNames1 = "SCOUT ASSASSIN"; +$pref::FavNames2 = "SCOUT DEFENSE"; +$pref::FavNames3 = "ASSAULT OFFENSE"; +$pref::FavNames4 = "ASSAULT DEPLOYER"; +$pref::FavNames5 = "ASSAULT DEFENSE"; +$pref::FavNames6 = "TAILGUNNER"; +$pref::FavNames7 = "JUGGERNAUT OFFENSE"; +$pref::FavNames8 = "JUGGERNAUT DEPLOYER"; +$pref::FavNames9 = "JUGGERNAUT DEFENSE"; +$pref::FavNames10 = "SCOUT FLAG CHASER"; +$pref::FavNames11 = "ASSAULT DESTROYER"; +$pref::FavNames12 = "LANDSPIKE DEPLOYER"; +$pref::FavNames13 = "INVENTORY DEPLOYER"; +$pref::FavNames14 = "FORWARD ASSAULT"; +$pref::FavNames15 = "EARLY WARNING"; +$pref::FavNames16 = "DECOY"; +$pref::FavNames17 = "HEAVY LOVE"; +$pref::FavNames18 = "FLAG DEFENDER"; +$pref::FavNames19 = "INFILTRATOR"; +$pref::Favorite0 = "armor\tScout\tweapon\tLaser Rifle\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tpack\tEnergy Pack\tGrenade\tFlare Grenade\tMine\tMine"; +$pref::Favorite1 = "armor\tScout\tweapon\tPlasma Rifle\tweapon\tChaingun\tweapon\tShocklance\tpack\tCloak Pack\tGrenade\tWhiteout Grenade\tMine\tMine"; +$pref::Favorite2 = "armor\tScout\tweapon\tBlaster\tweapon\tSpinfusor\tweapon\tPlasma Rifle\tpack\tShield Pack\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite3 = "armor\tAssault\tweapon\tPlasma Rifle\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tweapon\tChaingun\tpack\tShield Pack\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite4 = "armor\tAssault\tweapon\tPlasma Rifle\tweapon\tBlaster\tweapon\tSpinfusor\tweapon\tMissile Launcher\tpack\tInventory Station\tGrenade\tDeployable Camera\tMine\tMine"; +$pref::Favorite5 = "armor\tAssault\tweapon\tChaingun\tweapon\tSpinfusor\tweapon\tMissile Launcher\tweapon\tELF Projector\tpack\tShield Pack\tGrenade\tConcussion Grenade\tMine\tMine"; +$pref::Favorite6 = "armor\tAssault\tweapon\tChaingun\tweapon\tGrenade Launcher\tweapon\tBlaster\tweapon\tMissile Launcher\tpack\tAmmunition Pack\tGrenade\tFlare Grenade\tMine\tMine"; +$pref::Favorite7 = "armor\tJuggernaut\tweapon\tPlasma Rifle\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tweapon\tFusion Mortar\tweapon\tMissile Launcher\tpack\tAmmunition Pack\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite8 = "armor\tJuggernaut\tweapon\tChaingun\tweapon\tMissile Launcher\tweapon\tFusion Mortar\tweapon\tPlasma Rifle\tweapon\tBlaster\tpack\tInventory Station\tGrenade\tDeployable Camera\tMine\tMine"; +$pref::Favorite9 = "armor\tJuggernaut\tweapon\tBlaster\tweapon\tPlasma Rifle\tweapon\tGrenade Launcher\tweapon\tMissile Launcher\tweapon\tFusion Mortar\tpack\tShield Pack\tGrenade\tConcussion Grenade\tMine\tMine"; +$pref::Favorite10 = "armor\tScout\tweapon\tChaingun\tweapon\tGrenade Launcher\tweapon\tELF Projector\tpack\tEnergy Pack\tGrenade\tConcussion Grenade\tMine\tMine"; +$pref::Favorite11 = "armor\tAssault\tweapon\tBlaster\tweapon\tPlasma Rifle\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tpack\tShield Pack\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite12 = "armor\tAssault\tweapon\tChaingun\tweapon\tSpinfusor\tweapon\tPlasma Rifle\tweapon\tGrenade Launcher\tpack\tLandspike Turret\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite13 = "armor\tAssault\tweapon\tPlasma Rifle\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tweapon\tChaingun\tpack\tInventory Station\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite14 = "armor\tAssault\tweapon\tELF Projector\tweapon\tGrenade Launcher\tweapon\tSpinfusor\tweapon\tMissile Launcher\tpack\tEnergy Pack\tGrenade\tWhiteout Grenade\tMine\tMine"; +$pref::Favorite15 = "armor\tAssault\tweapon\tChaingun\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tweapon\tELF Projector\tpack\tPulse Sensor Pack\tGrenade\tConcussion Grenade\tMine\tMine"; +$pref::Favorite16 = "armor\tScout\tweapon\tChaingun\tweapon\tGrenade Launcher\tweapon\tSpinfusor\tpack\tSensor Jammer Pack\tGrenade\tWhiteout Grenade\tMine\tMine"; +$pref::Favorite17 = "armor\tJuggernaut\tweapon\tChaingun\tweapon\tSpinfusor\tweapon\tPlasma Rifle\tweapon\tFusion Mortar\tweapon\tMissile Launcher\tpack\tShield Pack\tGrenade\tConcussion Grenade\tMine\tMine"; +$pref::Favorite18 = "armor\tJuggernaut\tweapon\tSpinfusor\tweapon\tGrenade Launcher\tweapon\tFusion Mortar\tweapon\tPlasma Rifle\tweapon\tChaingun\tpack\tShield Pack\tGrenade\tGrenade\tMine\tMine"; +$pref::Favorite19 = "armor\tScout\tweapon\tChaingun\tweapon\tSpinfusor\tweapon\tShocklance\tpack\tSatchel Charge\tGrenade\tDeployable Camera\tMine\tMine"; +$pref::Forum::Column0 = 290; +$pref::Forum::Column1 = 265; +$pref::Forum::Column2 = 159; +$pref::Forum::CacheSize = 100; +$pref::Forum::PostWindowPos = "69 32"; +$pref::Forum::PostWindowExtent = "500 408"; +$pref::HudMessageLogSize = 40; +$pref::Input::ActiveConfig = "MyConfig"; +$pref::Input::LinkMouseSensitivity = 1; +$pref::Input::KeyboardTurnSpeed = 0.1; +$pref::Interior::TexturedFog = 0; +$pref::IRCClient::autoreconnect = 1; +$pref::IRCClient::awaymsg = "Don't be alarmed. I'm going to step away from my computer."; +$pref::IRCClient::banmsg = "Get out. And stay out!"; +$pref::IRCClient::kickmsg = "Alright, you're outta here!"; +$pref::IRCClient::hostmsg = "left to host a game."; +$pref::IRCClient::showJoin = true; +$pref::IRCClient::showLeave = true; +$pref::Lobby::Column1 = 120; +$pref::Lobby::Column2 = 120; +$pref::Lobby::Column3 = 50; +$pref::Lobby::Column4 = 50; +$pref::Lobby::Column5 = 50; +$pref::Lobby::SortColumnKey = 3; +$pref::Lobby::SortInc = 0; +$pref::Net::graphFields = 43; +$pref::Net::simPacketLoss = 0; +$pref::Net::simPing = 0; +$pref::Net::DisplayOnMaster = "Always"; +$pref::Net::RegionMask = 2; +$pref::Net::CheckEmail = 0; +$pref::Net::DisconnectChat = 0; +$pref::Net::LagThreshold = 400; +$pref::Net::Preset = 1; +$pref::Net::PacketRateToClient = 16; +$pref::Net::PacketSize = 240; +$pref::Net::PacketRateToServer = 20; +$pref::News::PostWindowPos = "85 39"; +$pref::News::PostWindowExtent = "470 396"; +$pref::Player::Count = 0; +$pref::Player::Current = 0; +$pref::Player::defaultFov = 90; +$pref::Player::zoomSpeed = 0; +$pref::RememberPassword = 0; +$pref::sceneLighting::cacheSize = 60000; +$pref::sceneLighting::purgeMethod = "lastModified"; +$pref::sceneLighting::cacheLighting = 1; +$pref::sceneLighting::terrainGenerateLevel = 1; +$pref::ServerBrowser::activeFilter = 0; +$pref::ServerBrowser::Column0 = "0 183"; +$pref::ServerBrowser::Column1 = "1 60"; +$pref::ServerBrowser::Column2 = "2 30"; +$pref::ServerBrowser::Column3 = "3 45"; +$pref::ServerBrowser::Column4 = "4 120"; +$pref::ServerBrowser::Column5 = "5 140"; +$pref::ServerBrowser::Column6 = "7 80"; +$pref::ServerBrowser::Column7 = "8 80"; +$pref::ServerBrowser::Column8 = "9 170"; +if ( !isDemo() ) +{ + $pref::ServerBrowser::Column9 = "6 74"; + $pref::ServerBrowser::Column10 = "10 70"; + $pref::ServerBrowser::Column11 = "11 100"; +} +$pref::ServerBrowser::FavoriteCount = 0; +$pref::ServerBrowser::SortColumnKey = 3; +$pref::ServerBrowser::SortInc = 1; +$pref::ServerBrowser::InfoWindowOpen = 0; +$pref::ServerBrowser::InfoWindowPos = "145 105"; +$pref::ServerBrowser::InfoWindowExtent = "350 270"; +$pref::ServerBrowser::IgnoreCase = 1; +$pref::Shell::lastBackground = 0; +$pref::Terrain::DynamicLights = 1; +$pref::toggleVehicleView = 0; +$pref::Topics::Column0 = 245; +$pref::Topics::Column1 = 50; +$pref::Topics::Column2 = 125; +$pref::Topics::Column3 = 134; +$pref::Topics::SortColumnKey = 3; +$pref::Topics::SortInc = 0; +$pref::Video::displayDevice = "OpenGL"; +$pref::chatHudLength = 1; +$pref::useImmersion = 1; +$pref::Video::fullScreen = 1; +$pref::Video::allowOpenGL = 1; +$pref::Video::allowD3D = 1; +$pref::Video::preferOpenGL = 1; +$pref::Video::appliedPref = 0; +$pref::Video::disableVerticalSync = 1; +$pref::VisibleDistanceMod = 1.0; +$pref::OpenGL::force16BitTexture = 0; +$pref::OpenGL::forcePalettedTexture = 1; +$pref::OpenGL::maxHardwareLights = 3; +$pref::OpenGL::allowTexGen = 1; +$pref::Vehicle::pilotTeleport = 1; diff --git a/public/base/@vl2/scripts.vl2/scripts/clientTasks.cs b/public/base/@vl2/scripts.vl2/scripts/clientTasks.cs new file mode 100644 index 00000000..8a3d92d1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/clientTasks.cs @@ -0,0 +1,342 @@ +//------------------------------------------------------------------------------ +// Client tasks +//------------------------------------------------------------------------------ +$MAX_OUTSTANDING_TASKS = 10; + +function clientCmdResetTaskList() +{ + if((TaskList.currentTask != -1) && isObject(TaskList.currentTask)) + { + TaskList.currentTask.delete(); + TaskList.currentTask = -1; + } + TaskList.currentTask = -1; + + TaskList.reset(); +} + +//-------------------------------------------------------------------------- +function clientCmdTaskInfo(%client, %aiObjtive, %team, %description) +{ + // copy the info + TaskList.currentTaskClient = %client; + TaskList.currentAIObjective = %aiObjective; + TaskList.currentTaskIsTeam = %team; + TaskList.currentTaskDescription = detag(%description); +} + +function clientAcceptTask(%task) +{ + %task.sendToServer(); + + commandToServer('AcceptTask', %task.client, %task.AIObjective, %task.description); + TaskList.removeTask(%task, true); + + //play the audio + alxPlay(TaskAcceptedSound, 0, 0, 0); +} + +function clientDeclineTask(%task) +{ + commandToServer('DeclineTask', %task.client, %task.description, %task.team); + TaskList.removeTask(%task, false); + + //play the audio + alxPlay(TaskDeclinedSound, 0, 0, 0); +} + +function clientTaskCompleted() +{ + if((TaskList.currentTask != -1) && isObject(TaskList.currentTask)) + { + commandToServer('CompletedTask', TaskList.currentTask.client, TaskList.currentTask.description); + + TaskList.currentTask.delete(); + TaskList.currentTask = -1; + + //play the audio + alxPlay(TaskDeclinedSound, 0, 0, 0); + } +} + +//------------------------------------------------------------------------------ +// HUD information +//------------------------------------------------------------------------------ +function clientCmdPotentialTeamTask(%description) +{ + addMessageHudLine("\c2Team:\cr " @ detag(%description) @ "."); +} + +function clientCmdPotentialTask(%from, %description) +{ + addMessageHudLine("\c3" @ detag(%from) @ ":\cr " @ detag(%description) @ "."); +} + +function clientCmdTaskDeclined(%from, %description) +{ + addMessageHudLine(detag(%from) @ " refused your task '" @ detag(%description) @ "'."); +} + +function clientCmdTaskAccepted(%from, %description) +{ + addMessageHudLine(detag(%from) @ " accepted your task '" @ detag(%description) @ "'."); +} + +function clientCmdTaskCompleted(%from, %description) +{ + addMessageHudLine(detag(%from) @ " completed your task '" @ detag(%description) @ "'."); +} + +function clientCmdAcceptedTask(%description) +{ + addMessageHudLine("\c3Your current task is:\cr " @ %description); +} + +//------------------------------------------------------------------------------ +function clientAcceptCurrentTask() +{ + %task = TaskList.getCurrentTask(); + if(%task != -1) + clientAcceptTask(%task); +} + +function clientDeclineCurrentTask() +{ + %task = TaskList.getCurrentTask(); + if(%task != -1) + clientDeclineTask(%task); +} + +//-------------------------------------------------------------------------- +// TaskList: +//-------------------------------------------------------------------------- +function TaskList::onAdd(%this) +{ + %this.ownedTasks = -1; + %this.currentTask = -1; + %this.reset(); + + // install some chat callbacks + installChatItemCallback('ChatCmdAcknowledged', clientAcceptCurrentTask); + installChatItemCallback('ChatCmdCompleted', clientTaskCompleted); + installChatItemCallback('ChatCmdDeclined', clientDeclineCurrentTask); +} + +function TaskList::reset(%this) +{ + %this.currentTaskClient = -1; + %this.currentAIObjective = -1; + %this.currentTaskIsTeam = false; + %this.currentTaskDescription = ""; + + if((%this.ownedTasks != -1) && isObject(%this.ownedTasks)) + %this.ownedTasks.delete(); + + %this.ownedTasks = new SimGroup(); + + %this.currentIndex = 1; + %this.clear(); +} + +function TaskList::onRemove(%this) +{ + if((%this.ownedTasks != -1) && isObject(%this.ownedTasks)) + %this.ownedTasks.delete(); +} + +function TaskList::handleDyingTask(%this, %task) +{ + %this.ownedTasks.add(%task); +} + +//-------------------------------------------------------------------------- +function TaskList::getLastTask(%this) +{ + %count = %this.rowCount(); + if(%count == 0) + return(-1); + return(%this.getRowId(%count - 1)); +} + +function TaskList::getCurrentTask(%this) +{ + if(%this.isVisible()) + { + %id = %this.getSelectedId(); + if(%id != -1) + return(%id); + } + + return(%this.getLastTask()); +} + +function TaskList::addTask(%this, %task) +{ + // remove any duplicate... + %count = %this.rowCount(); + for(%i = 0; %i < %count; %i++) + { + %oldTask = %this.getRowId(%i); + if((%oldTask.client == %task.client) && (detag(%oldTask.description) $= detag(%task.description))) + { + %this.removeTask(%oldTask, false); + break; + } + } + + // need to remove the oldest task? + if(%this.rowCount() == $MAX_OUTSTANDING_TASKS) + %this.removeTask(%this.getRowId(0), false); + + %this.addRow(%task, %task.clientName @ "\t" @ detag(%task.description), %this.rowCount()); +} + +function TaskList::removeTask(%this, %task, %close) +{ + %row = %this.getRowNumById(%task); + if(%row == -1) + return; + + %select = %this.getSelectedId() == %task; + + if(isObject(%task)) + %task.delete(); + %this.removeRow(%row); + + if(%select && (%this.rowCount() != 0)) + { + if(%row == %this.rowCount()) + %row = %row - 1; + %this.setSelectedRow(%row); + } + + if(%close && %this.isVisible()) + showTaskHudDlg(false); +} + +function TaskList::updateSelected(%this, %show) +{ + %task = %this.getSelectedId(); + if(%task == -1) + return; + + if(%show) + { + %task.addPotentialTask(); + if(CommanderMapGui.open) + CommanderMap.selectClientTarget(%task, true); + else + NavHud.keepClientTargetAlive(%task); + } + else + { + if(CommanderMapGui.open) + CommanderMap.selectClientTarget(%task, false); + else + NavHud.keepClientTargetAlive(0); + } +} + +function TaskList::selectLatest(%this) +{ + %this.setSelectedRow(-1); + %id = %this.getLastTask(); + if(%id == -1) + return; + + %this.setSelectedById(%id); + %this.updateSelected(true); +} + +function TaskList::selectPrevious(%this) +{ + %id = %this.getSelectedId(); + if(%id == -1) + { + %this.selectLatest(); + return; + } + + %row = %this.getRowNumById(%id); + if(%row == 0) + %row = %this.rowCount() - 1; + else + %row -= 1; + %this.setSelectedRow(%row); + %this.updateSelected(true); +} + +function TaskList::selectNext(%this) +{ + %id = %this.getSelectedId(); + if(%id == -1) + { + %this.selectLatest(); + return; + } + + %row = %this.getRowNumById(%id); + if(%row == (%this.rowCount() - 1)) + %row = 0; + else + %row += 1; + %this.setSelectedRow(%row); + %this.updateSelected(true); +} + +//-------------------------------------------------------------------------- +function showTaskHudDlg(%show) +{ + if(%show) + { + if(!TaskHudDlg.isVisible()) + { + TaskHudDlg.setVisible(true); + Canvas.pushDialog(TaskHudDlg); + } + } + else + { + if(TaskHudDlg.isVisible()) + { + TaskHudDlg.setVisible(false); + Canvas.popDialog(TaskHudDlg); + } + } +} + +//-------------------------------------------------------------------------- +// - toggle 'visible' so this, and other, controls can determine if it is up +function toggleTaskListDlg(%val) +{ + if(%val) + { + if(ChatMenuHudDlg.isVisible() || TaskHudDlg.isVisible()) + showTaskHudDlg(false); + else + showTaskHudDlg(true); + } +} + + +new ActionMap(TaskHudMap); +TaskHudMap.bindCmd(keyboard, "up", "TaskList.selectPrevious();", ""); +TaskHudMap.bindCmd(keyboard, "down", "TaskList.selectNext();", ""); +TaskHudMap.bindCmd(keyboard, "escape", "if(TaskHudDlg.isVisible()) showTaskHudDlg(false);", ""); + +function TaskHudDlg::onWake(%this) +{ + TaskHudMap.push(); + TaskList.setVisible(true); + TaskList.selectLatest(); +} + +function TaskHudDlg::onSleep(%this) +{ + TaskHudMap.pop(); + TaskList.setVisible(false); + TaskList.updateSelected(false); + + //make sure the action maps are still pushed in the correct order... + updateActionMaps(); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/commanderMap.cs b/public/base/@vl2/scripts.vl2/scripts/commanderMap.cs new file mode 100644 index 00000000..220eda25 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/commanderMap.cs @@ -0,0 +1,995 @@ +//-------------------------------------------------------------------------- +// ActionMap: +//-------------------------------------------------------------------------- +$CommanderMap::useMovementKeys = false; + +// help overlay toggle +function toggleCmdMapHelpGui( %val ) +{ + if ( %val) + toggleCmdMapHelpText(); +} + +// shortcuts to buttons: top buttons +function toggleAction(%control) +{ + %control.setValue(!%control.getValue()); + %control.onAction(); +} + +function bindAction(%fromMap, %command, %bindCmd, %bind1, %bind2 ) +{ + if(!isObject(%fromMap)) + return(false); + + %bind = %fromMap.getBinding(%command); + if(%bind $= "") + return(false); + + // only allow keyboard + %device = getField(%bind, 0); + if(%device !$= "keyboard") + return(false); + + %action = getField(%bind, 1); + + // bind or bindcmd? + if(%bindCmd) + CommanderKeyMap.bindCmd( %device, %action, %bind1, %bind2 ); + else + CommanderKeyMap.bind( %device, %action, %bind1 ); + + return(true); +} + +function createCommanderKeyMap() +{ + if(isObject(CommanderKeyMap)) + CommanderKeyMap.delete(); + + new ActionMap(CommanderKeyMap); + + // copy in all the binds we want from the moveMap + CommanderKeyMap.copyBind( moveMap, ToggleMessageHud ); + CommanderKeyMap.copyBind( moveMap, TeamMessageHud ); + CommanderKeyMap.copyBind( moveMap, resizeChatHud ); + CommanderKeyMap.copyBind( moveMap, pageMessageHudUp ); + CommanderKeyMap.copyBind( moveMap, pageMessageHudDown ); + CommanderKeyMap.copyBind( moveMap, activateChatMenuHud ); + + // Miscellaneous other binds: + CommanderKeyMap.copyBind( moveMap, voteYes ); + CommanderKeyMap.copyBind( moveMap, voteNo ); + CommanderKeyMap.copyBind( moveMap, toggleCommanderMap ); + CommanderKeyMap.copyBind( moveMap, toggleHelpGui ); + CommanderKeyMap.copyBind( moveMap, toggleScoreScreen); + CommanderKeyMap.copyBind( moveMap, startRecordingDemo ); + CommanderKeyMap.copyBind( moveMap, stopRecordingDemo ); + CommanderKeyMap.copyBind( moveMap, voiceCapture ); + CommanderKeyMap.bindCmd( keyboard, escape, "", "toggleCommanderMap( true );" ); + + // grab help key from movemap + if(!bindAction( moveMap, toggleHelpGui, false, toggleCmdMapHelpGui )) + CommanderKeyMap.bind( keyboard, F1, toggleCmdMapHelpGui ); + + // Bind the command assignment/response keys as well: + CommanderKeyMap.copyBind( moveMap, toggleTaskListDlg ); + CommanderKeyMap.copyBind( moveMap, fnAcceptTask ); + CommanderKeyMap.copyBind( moveMap, fnDeclineTask ); + CommanderKeyMap.copyBind( moveMap, fnTaskCompleted ); + CommanderKeyMap.copyBind( moveMap, fnResetTaskList ); + + // button shortcuts + CommanderKeyMap.bindCmd( keyboard, 1, "toggleAction(CMDPlayersButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, 2, "toggleAction(CMDTacticalButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, 3, "toggleAction(CMDDeployedTacticalButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, 4, "toggleAction(CMDMiscButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, 5, "toggleAction(CMDDeployedMiscButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, 6, "toggleAction(CMDWaypointsButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, 7, "toggleAction(CMDObjectivesButton);", "" ); + + // bottom buttons + CommanderKeyMap.bindCmd( keyboard, w, "toggleAction(CMDShowSensorsButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, space, "cycleMouseMode();", "" ); + CommanderKeyMap.bindCmd( keyboard, q, "toggleAction(CMDCenterButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, t, "toggleAction(CMDTextButton);", "" ); + CommanderKeyMap.bindCmd( keyboard, b, "toggleAction(CMDCameraButton);", "" ); + + // camera control (always arrows) + CommanderKeyMap.bindCmd( keyboard, left, "CommanderMap.cameraMove(left, true);", "commanderMap.cameraMove(left, false);" ); + CommanderKeyMap.bindCmd( keyboard, right, "CommanderMap.cameraMove(right, true);", "commanderMap.cameraMove(right, false);" ); + CommanderKeyMap.bindCmd( keyboard, up, "CommanderMap.cameraMove(up, true);", "commanderMap.cameraMove(up, false);" ); + CommanderKeyMap.bindCmd( keyboard, down, "CommanderMap.cameraMove(down, true);", "commanderMap.cameraMove(down, false);" ); + CommanderKeyMap.bindCmd( keyboard, numpadadd, "CommanderMap.cameraMove(in, true);", "commanderMap.cameraMove(in, false);" ); + CommanderKeyMap.bindCmd( keyboard, numpadminus, "CommanderMap.cameraMove(out, true);", "commanderMap.cameraMove(out, false);" ); + + CommanderKeyMap.bindCmd( keyboard, a, "CommanderMap.cameraMove(in, true);", "commanderMap.cameraMove(in, false);" ); + CommanderKeyMap.bindCmd( keyboard, z, "CommanderMap.cameraMove(out, true);", "commanderMap.cameraMove(out, false);" ); + + // steal the movement keys? (more likely than others to be a duplicate binding) + if($CommanderMap::useMovementKeys) + { + bindAction( moveMap, moveleft, true, "CommanderMap.cameraMove(left, true);", "commanderMap.cameraMove(left, false);" ); + bindAction( moveMap, moveright, true, "CommanderMap.cameraMove(right, true);", "commanderMap.cameraMove(right, false);" ); + bindAction( moveMap, moveforward, true, "CommanderMap.cameraMove(up, true);", "commanderMap.cameraMove(up, false);" ); + bindAction( moveMap, movebackward, true, "CommanderMap.cameraMove(down, true);", "commanderMap.cameraMove(down, false);" ); + } + else + { + CommanderKeyMap.bindCmd( keyboard, s, "CommanderMap.cameraMove(left, true);", "commanderMap.cameraMove(left, false);" ); + CommanderKeyMap.bindCmd( keyboard, f, "CommanderMap.cameraMove(right, true);", "commanderMap.cameraMove(right, false);" ); + CommanderKeyMap.bindCmd( keyboard, e, "CommanderMap.cameraMove(up, true);", "commanderMap.cameraMove(up, false);" ); + CommanderKeyMap.bindCmd( keyboard, d, "CommanderMap.cameraMove(down, true);", "commanderMap.cameraMove(down, false);" ); + } +} + +//-------------------------------------------------------------------------- +// Default Icons: +new CommanderIconData(CMDDefaultIcon) +{ + selectImage = "animation base_select true true looping 100"; + hilightImage = "animation base_select true true flipflop 100"; +}; + +new CommanderIconData(CMDAssignedTaskIcon) +{ + baseImage = "static diamond_not_selected true true"; + selectImage = "animation assigned_task_anim false true looping 100"; + hilightImage = "animation assigned_task_anim false true looping 100"; +}; + +new CommanderIconData(CMDPotentialTaskIcon) +{ + baseImage = "static diamond_not_selected true true"; + selectImage = "animation assigned_task_anim false true looping 100"; + hilightImage = "animation assigned_task_anim false true looping 100"; +}; + +new CommanderIconData(CMDWaypointIcon) +{ + baseImage = "animation waypoint_anim false false looping 100"; +}; + +//-------------------------------------------------------------------------- +// CommanderMapGui: +//-------------------------------------------------------------------------- +function clientCmdResetCommandMap() +{ + CommanderMapGui.reset(); +} + +function clientCmdScopeCommanderMap(%scope) +{ + if(!isPlayingDemo()) + return; + + if(%scope) + { + CommanderMap.openAllCategories(); + CommanderMapGui.open(); + } + else + CommanderMapGui.close(); +} + +function CommanderMapGui::onWake(%this) +{ + clientCmdControlObjectReset(); + + commandToServer('ScopeCommanderMap', true); + + createCommanderKeyMap(); + CommanderKeyMap.push(); + + if ( $HudHandle[CommandScreen] ) + alxStop( $HudHandle[CommandScreen] ); + alxPlay(CommandMapActivateSound, 0, 0, 0); + $HudHandle[CommandScreen] = alxPlay(CommandMapHumSound, 0, 0, 0); + + CMDTextButton.setValue(CommanderMap.renderText); + + // follow the player the first time + if(%this.firstWake) + { + CommanderMap.selectControlObject(); + CommanderMap.followLastSelected(); + %this.firstWake = false; + } + + if(CommanderTV.open) + CommanderTV.watchTarget(CommanderTV.target); + + // chat hud dialog + Canvas.pushDialog(MainChatHud); + chatHud.attach(HudMessageVector); + + %this.open = true; +} + +function CommanderMapGui::onSleep(%this) +{ + %this.open = false; + + commandToServer('ScopeCommanderMap', false); + + if(CMContextPopup.visible == true) + CMContextPopup.reset(); + + CommanderKeyMap.pop(); + Canvas.popDialog(MainChatHud); + + alxStop($HudHandle[CommandScreen]); + alxPlay(CommandMapDeactivateSound, 0, 0, 0); + $HudHandle[CommandScreen] = ""; + + // will reset the control object on this client.. should only be sent + // if this gui is being removed outside of CommanderMapGui::close() + if(CommanderTV.open && CommanderTV.attached) + commandToServer('AttachCommanderCamera', -1); + + //always set the cursor back to an arrow when you leave... + Canvas.setCursor(CMDCursorArrow); +} + +function CommanderMapGui::open(%this) +{ + if(%this.open) + return; + + commandToServer('SetPDAPose', true); + Canvas.setContent(%this); +} + +function CommanderMapGui::close(%this) +{ + if(!%this.open) + return; + + // only need to have control object reset if still attached to an object +// if(CommanderTV.open && CommanderTV.attached) +// { + commandToServer('ResetControlObject'); + + // reset the attached state since we will not be getting an attached response + CommanderTV.attached = false; +// } +// else +// clientCmdControlObjectReset(); + + commandToServer('SetPDAPose', false); +} + +function CommanderMapGui::toggle(%this) +{ + if(%this.open) + %this.close(); + else + %this.open(); +} + +function CommanderMapGui::onAdd(%this) +{ + %this.open = false; + + new GuiControl(CMContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiCommanderMapPopupMenu(CMContextPopup) + { + profile = "CommanderPopupProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + }; + }; + + CMContextPopup.numEntries = 0; + CMContextPopup.actionMap = -1; + CMContextPopup.focusedEntry = -1; + CMContextPopup.visible = false; + CMContextPopup.target = -1; +} + +function CommanderMapGui::reset(%this) +{ + clientCmdControlObjectReset(); + CommanderMap.openAllCategories(); + CommanderMap.resetCamera(); + CommanderTV.watchTarget(-1); + + // remove all tasks and clean task list + clientCmdResetTaskList(); + + // reset waypoints + if(isObject($ClientWaypoints)) + $ClientWaypoints.delete(); + + // this can be called when not connected to a server + if(isObject(ServerConnection)) + { + $ClientWaypoints = new SimGroup(); + ServerConnection.add($ClientWaypoints); + } + + %this.firstWake = true; + CommanderTree.currentWaypointID = 0; +} + +function CommanderMapGui::openCameraControl(%this, %open) +{ + %step = getWord(CommanderTV.extent, 1); + %x = getWord(CommanderTreeContainer.position, 0); + %y = getWord(CommanderTreeContainer.position, 1); + %w = getWord(CommanderTreeContainer.extent, 0); + %h = getWord(CommanderTreeContainer.extent, 1); + + if(%open) + %h = %h - %step; + else + %h = %h + %step; + + CommanderTreeContainer.resize(%x, %y, %w, %h); + CommanderTV.setVisible(%open); + + CommanderTV.open = %open; + CommanderTV.watchTarget(CommanderTV.target); + + if(!CommanderTV.open) + commandToServer('AttachCommanderCamera', -1); +} + +//-------------------------------------------------------------------------- +// CMContextPopup: +//-------------------------------------------------------------------------- +function CMContextPopup::reset(%this) +{ + if(%this.actionMap != -1) + { + %this.actionMap.pop(); + %this.actionMap.delete(); + } + + for(%i = 0; %i < %this.numEntries; %i++) + { + %this.entryKeys[%i] = ""; + %this.entryCommands[%i] = ""; + } + + %this.visible = false; + %this.numEntries = 0; + %this.actionMap = -1; + if(%this.focusedEntry != -1) + %this.focusedEntry.lockFocus(false); + %this.focusedEntry = -1; + + %this.forceClose(); + Canvas.popDialog(CMContextPopupDlg); + + // need to delete the target if it was not used + if(isObject(%this.target)) + { + if(%this.target.getTargetId() != -1) + %this.target.delete(); + %this.target = -1; + } +} + +function CMContextPopup::display(%this) +{ + if(%this.numEntries == 0) + return; + + %this.actionMap = new ActionMap(); + + for(%i = 0; %i < %this.numEntries; %i++) + if(%this.entryKeys[%i] !$= "") + %this.actionMap.bindCmd(keyboard, %this.entryKeys[%i], "", %this @ ".onKeySelect(" @ %i @ ");"); + + %this.actionMap.bindCmd(keyboard, escape, "", %this @ ".reset();"); + %this.actionMap.push(); + + if(%this.focusedEntry != -1) + %this.focusedEntry.lockFocus(true); + %this.visible = true; + + Canvas.pushDialog(CMContextPopupDlg); + %this.forceOnAction(); +} + +function CMContextPopup::addEntry(%this, %key, %text, %command) +{ + %idx = %this.numEntries; + %this.entryKeys[%idx] = %key; + %this.entryCommands[%idx] = %command; + %this.numEntries++; + + %this.add(%text, %idx); +} + +function CMContextPopup::onKeySelect(%this, %index) +{ + %this.onSelect(%index, %this.getTextById(%index)); +} + +function CMContextPopup::onSelect(%this, %index, %value) +{ + CommanderTree.processCommand(%this.entryCommands[%index], %this.target, %this.typeTag); + %this.reset(); +} + +function CMContextPopup::onCancel( %this ) +{ + %this.reset(); +} + +//------------------------------------------------------------------------------ +// CommanderTree: +//------------------------------------------------------------------------------ +function CommanderTree::onAdd(%this) +{ + %this.headerHeight = 20; + %this.entryHeight = 20; + + %this.reset(); + + %this.addCategory("Clients", "Teammates", "clients"); + %this.addCategory("Tactical", "Tactical Assets", "targets"); + %this.addCategory("DTactical", "Deployed Tactical", "targets"); + %this.addCategory("Support", "Support Assets", "targets"); + %this.addCategory("DSupport", "Deployed Support", "targets"); + %this.addCategory("Waypoints", "Waypoints", "waypoints"); + %this.addCategory("Objectives", "Objectives", "targets"); + + // targetType entries use registered info if no ShapeBaseData exists + %this.registerEntryType("Clients", getTag('_ClientConnection'), false, "commander/MiniIcons/com_player_grey", "255 255 255"); + %this.registerEntryType("Waypoints", $CMD_WAYPOINTTYPEID, false, "commander/MiniIcons/com_waypoint_grey", "0 255 0"); + %this.registerEntryType("Waypoints", $CMD_ASSIGNEDTASKTYPEID, false, "commander/MiniIcons/com_waypoint_grey", "0 0 255"); + +// %this.registerEntryType("Waypoints", $CMD_POTENTIALTASKTYPEID, false, "commander/MiniIcons/com_waypoint_grey", "255 255 0"); +} + +function CommanderTree::onCategoryOpen(%this, %category, %open) +{ + switch$ (%category) + { + case "Clients": + CMDPlayersButton.setValue(%open); + case "Tactical": + CMDTacticalButton.setValue(%open); + case "DTactical": + CMDDeployedTacticalButton.setValue(%open); + case "Support": + CMDMiscButton.setValue(%open); + case "DSupport": + CMDDeployedMiscButton.setValue(%open); + case "Waypoints": + CMDWaypointsButton.setValue(%open); + case "Objectives": + CMDObjectivesButton.setValue(%open); + } +} + +function CommanderTree::controlObject(%this, %targetId) +{ + commandToServer('ControlObject', %targetId); +} + +//------------------------------------------------------------------------------ +// CommanderMap: +//------------------------------------------------------------------------------ +function GuiCommanderMap::onAdd(%this) +{ + %this.setMouseMode(select); + %this.setTargetTypeVisible($CMD_POTENTIALTASKTYPEID, true); + %this.setTargetTypeVisible($CMD_ASSIGNEDTASKTYPEID, true); +} + +function GuiCommanderMap::onSelect(%this, %targetId, %nameTag, %typeTag, %select) +{ + if(%select) + { + if(CommanderTV.target != %targetId) + CommanderTV.watchTarget(%targetId); + } + else + CommanderTV.watchTarget(-1); +} + +function GuiCommanderMap::openCategory(%this, %ctrl, %name, %open) +{ + %ctrl.setValue(%open); + CommanderTree.openCategory(%name, %open); +} + +function GuiCommanderMap::openAllCategories(%this) +{ + %this.openCategory(CMDPlayersButton, "Clients", 1); + %this.openCategory(CMDTacticalButton, "Tactical", 1); + %this.openCategory(CMDDeployedTacticalButton, "DTactical", 1); + %this.openCategory(CMDMiscButton, "Support", 1); + %this.openCategory(CMDDeployedMiscButton, "DSupport", 1); + %this.openCategory(CMDWaypointsButton, "Waypoints", 1); + %this.openCategory(CMDObjectivesButton, "Objectives", 1); +} + +//------------------------------------------------------------------------------ +// Issuing commands +//------------------------------------------------------------------------------ +// misc. tasks (sensor group -1 is considered friendly with these) +$CommandTask['PotentialTask', 0, text] = "\c1A\crccept"; +$CommandTask['PotentialTask', 0, tag] = 'TaskAccepted'; +$CommandTask['PotentialTask', 0, hotkey] = "a"; +$CommandTask['PotentialTask', 1, text] = "\c1D\crecline"; +$CommandTask['PotentialTask', 1, tag] = 'TaskDeclined'; +$CommandTask['PotentialTask', 1, hotkey] = "d"; + +$CommandTask['AssignedTask', 0, text] = "\c1C\crompleted"; +$CommandTask['AssignedTask', 0, tag] = 'TaskCompleted'; +$CommandTask['AssignedTask', 0, hotkey] = "c"; +$CommandTask['AssignedTask', 1, text] = "\c1R\cremove"; +$CommandTask['AssignedTask', 1, tag] = 'TaskRemoved'; +$CommandTask['AssignedTask', 1, hotkey] = "d"; + +$CommandTask['Location', 0, text] = "\c1D\crefend"; +$CommandTask['Location', 0, tag] = 'DefendLocation'; +$CommandTask['Location', 0, hotkey] = "d"; +$CommandTask['Location', 1, text] = "\c1M\creet (at)"; +$CommandTask['Location', 1, tag] = 'MeetLocation'; +$CommandTask['Location', 1, hotkey] = "m"; +$CommandTask['Location', 2, text] = "\c1B\cromb (at)"; +$CommandTask['Location', 2, tag] = 'BombLocation'; +$CommandTask['Location', 2, hotkey] = "b"; +$CommandTask['Location', 3, text] = "\c1A\crttack"; +$CommandTask['Location', 3, tag] = 'AttackLocation'; +$CommandTask['Location', 3, hotkey] = "a"; +$CommandTask['Location', 4, text] = "Deploy \c1I\crnventory"; +$CommandTask['Location', 4, tag] = 'DeployEquipment'; +$CommandTask['Location', 4, hotkey] = "i"; +$CommandTask['Location', 5, text] = "Deploy \c1T\crurrets"; +$CommandTask['Location', 5, tag] = 'DeployTurret'; +$CommandTask['Location', 5, hotkey] = "t"; +$CommandTask['Location', 6, text] = "Deploy \c1S\crensors"; +$CommandTask['Location', 6, tag] = 'DeploySensor'; +$CommandTask['Location', 6, hotkey] = "s"; +$CommandTask['Location', 7, text] = "Create \c1W\craypoint"; +$CommandTask['Location', 7, tag] = 'CreateWayPoint'; +$CommandTask['Location', 7, hotkey] = "w"; + +$CommandTask['Waypoint', 0, text] = "\c1D\crelete waypoint"; +$CommandTask['Waypoint', 0, tag] = 'DeleteWayPoint'; +$CommandTask['Waypoint', 0, hotkey] = "d"; + +// object tasks +$CommandTask['Player', 0, text] = "\c1E\crscort"; +$CommandTask['Player', 0, tag] = 'EscortPlayer'; +$CommandTask['Player', 0, hotkey] = "e"; +$CommandTask['Player', 1, text] = "\c1R\crepair"; +$CommandTask['Player', 1, tag] = 'RepairPlayer'; +$CommandTask['Player', 1, hotkey] = "r"; +$CommandTask['Player', 2, text] = "\c1A\crttack"; +$CommandTask['Player', 2, tag] = 'AttackPlayer'; +$CommandTask['Player', 2, hotkey] = "a"; +$CommandTask['Player', 2, enemy] = true; + +$CommandTask['Flag', 0, text] = "\c1D\crefend"; +$CommandTask['Flag', 0, tag] = 'DefendFlag'; +$CommandTask['Flag', 0, hotkey] = "d"; +$CommandTask['Flag', 1, text] = "\c1R\creturn"; +$CommandTask['Flag', 1, tag] = 'ReturnFlag'; +$CommandTask['Flag', 1, hotkey] = "r"; +$CommandTask['Flag', 2, text] = "\c1C\crapture"; +$CommandTask['Flag', 2, tag] = 'CaptureFlag'; +$CommandTask['Flag', 2, hotkey] = "c"; +$CommandTask['Flag', 2, enemy] = true; + +$CommandTask['Objective', 0, text] = "\c1C\crapture"; +$CommandTask['Objective', 0, tag] = 'CaptureObjective'; +$CommandTask['Objective', 0, hotkey] = "c"; +$CommandTask['Objective', 1, text] = "\c1D\crefend"; +$CommandTask['Objective', 1, tag] = 'DefendObjective'; +$CommandTask['Objective', 1, hotkey] = "d"; + +$CommandTask['Object', 0, text] = "\c1R\crepair"; +$CommandTask['Object', 0, tag] = 'RepairObject'; +$CommandTask['Object', 0, hotkey] = "r"; +$CommandTask['Object', 1, text] = "\c1D\crefend"; +$CommandTask['Object', 1, tag] = 'DefendObject'; +$CommandTask['Object', 1, hotkey] = "d"; +$CommandTask['Object', 2, text] = "\c1A\crttack"; +$CommandTask['Object', 2, tag] = 'AttackObject'; +$CommandTask['Object', 2, hotkey] = "a"; +$CommandTask['Object', 2, enemy] = true; +$CommandTask['Object', 3, text] = "\c1L\craze"; +$CommandTask['Object', 3, tag] = 'LazeObject'; +$CommandTask['Object', 3, hotkey] = "l"; +$CommandTask['Object', 3, enemy] = true; +$CommandTask['Object', 4, text] = "\c1M\crortar"; +$CommandTask['Object', 4, tag] = 'MortarObject'; +$CommandTask['Object', 4, hotkey] = "m"; +$CommandTask['Object', 4, enemy] = true; +$CommandTask['Object', 5, text] = "\c1B\cromb"; +$CommandTask['Object', 5, tag] = 'BombObject'; +$CommandTask['Object', 5, hotkey] = "b"; +$CommandTask['Object', 5, enemy] = true; + +function GuiCommanderMap::issueCommand(%this, %target, %typeTag, %nameTag, %sensorGroup, %mousePos) +{ + CMContextPopup.position = %mousePos; + CMContextPopup.clear(); + + CMContextPopup.target = %target; + CMContextPopup.typeTag = %typeTag; + CMContextPopup.nameTag = %nameTag; + CMContextPopup.sensorGroup = %sensorGroup; + + %taskType = %this.getCommandType(%typeTag); + if(%taskType $= "") + { + // script created target? + if(%target.getTargetId() == -1) + %target.delete(); + CMDContextPopup.target = -1; + return; + } + + %this.buildPopupCommands(%taskType, %sensorGroup); + CMContextPopup.display(); +} + +function GuiCommanderMap::getCommandType(%this, %typeTag) +{ + // special case (waypoints, location, tasks...) + if(%typeTag == $CMD_LOCATIONTYPEID) + return('Location'); + else if(%typeTag == $CMD_WAYPOINTTYPEID) + return('Waypoint'); + else if(%typeTag == $CMD_POTENTIALTASKTYPEID) + return('PotentialTask'); + else if(%typeTag == $CMD_ASSIGNEDTASKTYPEID) + return('AssignedTask'); + + // the handled types here (default is 'Object') + switch$(getTaggedString(%typeTag)) + { + case "_ClientConnection": + return('Player'); + case "Flag": + return('Flag'); + case "Objective": + return('Objective'); + } + return('Object'); +} + +function GuiCommanderMap::buildPopupCommands(%this, %taskType, %sensorGroup) +{ + %enemy = (%sensorGroup != ServerConnection.getSensorGroup()) && (%sensorGroup != -1); + for(%i = 0; $CommandTask[%taskType, %i, text] !$= ""; %i++) + { + if(%enemy == $CommandTask[%taskType, %i, enemy]) + { + CMContextPopup.addEntry($CommandTask[%taskType, %i, hotkey], + $CommandTask[%taskType, %i, text], + $CommandTask[%taskType, %i, tag]); + } + } +} + +//-------------------------------------------------------------------------- +// Command processing +//-------------------------------------------------------------------------- +function CommanderTree::processCommand(%this, %command, %target, %typeTag) +{ + switch$(getTaggedString(%command)) + { + // waypoints: tree owns the waypoint targets + case "CreateWayPoint": + %name = "Waypoint " @ %this.currentWaypointID++; + %target.createWaypoint(%name); + %id = %target.getTargetId(); + if(%id != -1) + { + $ClientWaypoints.add(%target); + CMContextPopup.target = -1; + } + return; + + case "DeleteWayPoint": + %target.delete(); + CMContextPopup.target = -1; + return; + + // tasks: + case "TaskAccepted": + clientAcceptTask(%target); + return; + + case "TaskDeclined": + clientDeclineTask(%target); + return; + + case "TaskCompleted": + clientTaskCompleted(); + return; + + case "TaskRemoved": + %target.delete(); + CMContextPopup.target = -1; + return; + } + + %numClients = %this.getNumTargets("Clients"); + %numSelected = %this.getNumSelectedTargets("Clients"); + + if((%numSelected == 0) || (%numSelected == %numClients)) + %team = true; + else + %team = false; + + %target.sendToServer(); + commandToServer('BuildClientTask', %command, %team); + + if(%team) + { + commandToServer('SendTaskToTeam'); + } + else + { + for(%i = 0; %i < %numSelected; %i++) + { + %targetId = %this.getSelectedTarget("Clients", %i); + commandToServer('SendTaskToClientTarget', %targetId); + } + } + + // delete target? + if(%target.getTargetId() == -1) + { + CMContextPopup.target = -1; + %target.delete(); + } +} + +//------------------------------------------------------------------------------ +function CommanderTV::watchTarget(%this, %targetId) +{ + if(%targetId < 0) + %targetId = -1; + + if(%this.attached) + commandToServer('AttachCommanderCamera', -1); + + %this.target = %targetId; + + if(%this.open && (%this.target != -1)) + commandToServer('AttachCommanderCamera', %this.target); +} + +function clientCmdCameraAttachResponse(%attached) +{ + CommanderTV.attached = %attached; +} + +//------------------------------------------------------------------------------ +// CommanderTV control +//------------------------------------------------------------------------------ +new ActionMap(CommanderTVControl); +CommanderTVControl.bind(mouse, xaxis, yaw); +CommanderTVControl.bind(mouse, yaxis, pitch); + + +function CommanderTV_ButtonPress(%val) +{ + if(%val) + { + CommanderTVControl.push(); + CursorOff(); + } + else + { + CommanderTVControl.pop(); + GlobalActionMap.unbind(mouse, button0); + + if(CommanderMapGui.open) + { + CursorOn(); + Canvas.setCursor(CMDCursorArrow); + } + } +} + +function CommanderTVScreen::onMouseEnter(%this, %mod, %pos, %count) +{ + GlobalActionMap.bind(mouse, button0, CommanderTV_ButtonPress); +} + +function CommanderTVScreen::onMouseLeave(%this, %mod, %pos, %count) +{ + GlobalActionMap.unbind(mouse, button0); +} + +//------------------------------------------------------------------------------ +// Buttons: play button down sounds here so script onAction call plays sound as well +//------------------------------------------------------------------------------ +// top buttons: +function CMDPlayersButton::onAction(%this) +{ + CommanderTree.openCategory("Clients", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDTacticalButton::onAction(%this) +{ + CommanderTree.openCategory("Tactical", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDDeployedTacticalButton::onAction(%this) +{ + CommanderTree.openCategory("DTactical", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDMiscButton::onAction(%this) +{ + CommanderTree.openCategory("Support", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDDeployedMiscButton::onAction(%this) +{ + CommanderTree.openCategory("DSupport", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDWaypointsButton::onAction(%this) +{ + CommanderTree.openCategory("Waypoints", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDObjectivesButton::onAction(%this) +{ + CommanderTree.openCategory("Objectives", %this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +// bottom buttons: +function CMDShowSensorsButton::onAction(%this) +{ + CommanderMap.renderSensors = %this.getValue(); + alxPlay(sButtonDown, 0, 0, 0); +} + +// there should be, at most, one depressed mouse mode button +function setMouseMode(%mode) +{ + switch$(%mode) + { + case "select": + CMDMoveSelectButton.setValue(false); + CMDZoomButton.setValue(false); + + case "move": + CMDMoveSelectButton.setValue(true); + CMDZoomButton.setValue(false); + + case "zoom": + CMDMoveSelectButton.setValue(false); + CMDZoomButton.setValue(true); + } + + CommanderMap.setMouseMode(%mode); + alxPlay(sButtonDown, 0, 0, 0); +} + +function cycleMouseMode() +{ + switch$(CommanderMap.getMouseMode()) + { + case "select": + setMouseMode("move"); + case "move": + setMouseMode("zoom"); + case "zoom": + setMouseMode("select"); + } +} + +function CMDMoveSelectButton::onAction(%this) +{ + if(%this.getValue()) + setMouseMode(move); + else + setMouseMode(select); +} + +function CMDZoomButton::onAction(%this) +{ + if(%this.getValue()) + setMouseMode(zoom); + else + setMouseMode(select); +} + +function CMDCenterButton::onAction(%this) +{ + CommanderMap.followLastSelected(); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDTextButton::onAction(%this) +{ + CommanderMap.renderText = %this.getValue(); + alxPlay(sButtonDown, 0, 0, 0); +} + +function CMDCameraButton::onAction(%this) +{ + CommanderMapGui.openCameraControl(%this.getValue()); + alxPlay(sButtonDown, 0, 0, 0); +} + +//--------------------------------------------------------------------------- +// - the server may be down and client will not be able to get out of this object +// by using the escape key; so, schedule a timeout period to reset +$ServerResponseTimeout = 1500; + +function processControlObjectEscape() +{ + if($ScheduledEscapeTask) + return; + + $ScheduledEscapeTask = schedule($ServerResonseTimeout, 0, clientCmdControlObjectReset); + commandToServer('ResetControlObject'); +} + +function clientCmdControlObjectResponse(%ack, %info) +{ + // if ack'd then %info is the tag for the object otherwise it is a decline message + if(%ack == true) + { + new ActionMap(ControlActionMap); + ControlActionMap.bindCmd(keyboard, escape, "processControlObjectEscape();", ""); + + $PlayerIsControllingObject = true; + clientCmdSetHudMode("Object", %info); + + // at this point, we are not attached to an object + CommanderTV.attached = false; + Canvas.setContent(PlayGui); + } + else + addMessageHudLine("\c3Failed to control object: \cr" @ %info); +} + +function clientCmdControlObjectReset() +{ + if($ScheduledEscapeTask) + { + cancel($ScheduledEscapeTask); + $ScheduledEscapeTask = 0; + } + + if(isObject(ControlActionMap)) + ControlActionMap.delete(); + + if ($PlayerIsControllingObject) + { + $PlayerIsControllingObject = false; + ClientCmdSetHudMode("Standard"); + } + + if(CommanderMapGui.open) + Canvas.setContent(PlayGui); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/commanderMapHelpText.cs b/public/base/@vl2/scripts.vl2/scripts/commanderMapHelpText.cs new file mode 100644 index 00000000..5ed68c1f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/commanderMapHelpText.cs @@ -0,0 +1,25 @@ +$cmdMapHelpTextShown = false; + +function toggleCmdMapHelpText() +{ + if(CmdMapHelpTextGui.visible) + CmdMapHelpTextGui.setVisible(false); + else { + if(!$cmdMapHelpTextShown) { + teamButtonText.setValue("Left click to select, right click to give commands."); + tacticalButtonText.setValue("Turrets and friendly vehicles. Click the square after a turret's name to control it."); + supportButtonText.setValue("Your team's stations, generators, cameras, and sensors."); + waypointButtonText.setValue("All waypoints."); + objectiveButtonText.setValue("All flags and switches."); + handToolText.setValue("Toggles between hand (for moving the map) and pointer (for selecting objects and dragging selection)."); + zoomToolText.setValue("When this tool is on, left click to zoom in and right click to zoom out."); + centerToolText.setValue("Centers your view on selected object. If nothing is selected, centers the view on mission area."); + textToolText.setValue("Toggles map text labels on and off."); + cameraToolText.setValue("Gives you a small camera view of the area around selected object. Waypoints and enemy objects can not be viewed."); + sensorToolText.setValue("Toggles all sensor spheres on/off so you can check your team's sensor coverage."); + generalHelpText.setValue("Right click any object to display commands. Click on the command or type the highlighted letter to issue it to your team. To command an individual, click on the player's name, then issue the command."); + $cmdMapHelpTextShown = true; + } + CmdMapHelpTextGui.setVisible(true); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/commanderMapIcons.cs b/public/base/@vl2/scripts.vl2/scripts/commanderMapIcons.cs new file mode 100644 index 00000000..5aeca6e6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/commanderMapIcons.cs @@ -0,0 +1,112 @@ +// "type image overlay modulate {anim flags} {anim speed}" +datablock CommanderIconData(CMDPlayerIcon) +{ + baseImage = "static com_player_grey_24x false true"; + selectImage = "static com_player_grey_24x_glow true true"; + hilightImage = "static com_player_grey_24x_glow true true"; +}; + +datablock CommanderIconData(CMDGeneratorIcon) +{ + baseImage = "static com_icon_generator false true"; + selectImage = "static com_icon_generator_glow true true"; + hilightImage = "static com_icon_generator_glow true true"; +}; + +datablock CommanderIconData(CMDSolarGeneratorIcon) +{ + baseImage = "static com_icon_solar_gen false true"; + selectImage = "static com_icon_solar_gen_glow true true"; + hilightImage = "static com_icon_solar_gen_glow true true"; +}; + +datablock CommanderIconData(CMDHoverScoutIcon) +{ + baseImage = "static com_icon_landscout false true"; + selectImage = "static com_icon_landscout_glow true true"; + hilightImage = "static com_icon_landscout_glow true true"; +}; + +datablock CommanderIconData(CMDFlyingScoutIcon) +{ + baseImage = "static com_icon_scout false true"; + selectImage = "static com_icon_scout_glow true true"; + hilightImage = "static com_icon_scout_glow true true"; +}; + +datablock CommanderIconData(CMDFlyingBomberIcon) +{ + baseImage = "static com_icon_bomber false true"; + selectImage = "static com_icon_bomber_glow true true"; + hilightImage = "static com_icon_bomber_glow true true"; +}; + +datablock CommanderIconData(CMDFlyingHAPCIcon) +{ + baseImage = "static com_icon_hapc false true"; + selectImage = "static com_icon_hapc_glow true true"; + hilightImage = "static com_icon_hapc_glow true true"; +}; + +datablock CommanderIconData(CMDGroundTankIcon) +{ + baseImage = "static com_icon_tank false true"; + selectImage = "static com_icon_tank_glow true true"; + hilightImage = "static com_icon_tank_glow true true"; +}; + +datablock CommanderIconData(CMDTurretIcon) +{ + baseImage = "static com_icon_turret false true"; + selectImage = "static com_icon_turret_glow true true"; + hilightImage = "static com_icon_turret_glow true true"; +}; + +datablock CommanderIconData(CMDCameraIcon) +{ + baseImage = "static com_icon_camera false true"; + selectImage = "static com_icon_camera true true"; + hilightImage = "static com_icon_camera true true"; +}; + +datablock CommanderIconData(CMDFlagIcon) +{ + baseImage = "static com_icon_flag_outside false true"; + selectImage = "static com_icon_flag_outside_glow true true"; + hilightImage = "static com_icon_flag_outside_glow true true"; +}; + +datablock CommanderIconData(CMDGroundMPBIcon) +{ + baseImage = "static com_icon_mpb false true"; + selectImage = "static com_icon_mpb_glow true true"; + hilightImage = "static com_icon_mpb_glow true true"; +}; + +datablock CommanderIconData(CMDSwitchIcon) +{ + baseImage = "static com_icon_genericswitch false true"; + selectImage = "static com_icon_genericswitch_glow true true"; + hilightImage = "static com_icon_genericswitch_glow true true"; +}; + +datablock CommanderIconData(CMDStationIcon) +{ + baseImage = "static com_icon_inventory false true"; + selectImage = "static com_icon_inventory_glow true true"; + hilightImage = "static com_icon_inventory_glow true true"; +}; + +datablock CommanderIconData(CMDVehicleStationIcon) +{ + baseImage = "static com_icon_vehicle_inventory false true"; + selectImage = "static com_icon_vehicle_inventory_glow true true"; + hilightImage = "static com_icon_vehicle_inventory_glow true true"; +}; + +datablock CommanderIconData(CMDSensorIcon) +{ + baseImage = "static com_icon_sensor false true"; + selectImage = "static com_icon_sensor_glow true true"; + hilightImage = "static com_icon_sensor_glow true true"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/commanderProfiles.cs b/public/base/@vl2/scripts.vl2/scripts/commanderProfiles.cs new file mode 100644 index 00000000..43fdf117 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/commanderProfiles.cs @@ -0,0 +1,120 @@ +//------------------------------------------------------------------------------ +// Cursors +//------------------------------------------------------------------------------ +new GuiCursor(CMDCursorArrow) +{ + hotSpot = "6 1"; + bitmapName = "commander/cursors/com_cursor_arrow_icon"; +}; + +new GuiCursor(CMDCursorHandOpen) +{ + hotSpot = "13 14"; + bitmapName = "commander/cursors/com_handopen_icon"; +}; + +new GuiCursor(CMDCursorHandClosed) +{ + hotSpot = "13 14"; + bitmapName = "commander/cursors/com_handclose_icon"; +}; + +new GuiCursor(CMDCursorZoom) +{ + hotSpot = "8 7"; + bitmapName = "commander/cursors/com_maglass_icon"; +}; + +new GuiCursor(CMDCursorSelectAdd) +{ + hotSpot = "11 11"; + bitmapName = "commander/cursors/com_pointer_pos_icon"; +}; + +new GuiCursor(CMDCursorSelectRemove) +{ + hotSpot = "11 11"; + bitmapName = "commander/cursors/com_pointer_icon"; +}; + +//------------------------------------------------------------------------------ +// Audio +//------------------------------------------------------------------------------ + +new AudioDescription(AudioLoop2D) +{ + volume = "1.0"; + isLooping = true; + is3D = false; + type = $GuiAudioType; +}; + +new AudioProfile(sStatic) +{ + filename = "fx/misc/static.wav"; + description = AudioLoop2D; + preload = true; +}; + +//------------------------------------------------------------------------------ +// Profiles +//------------------------------------------------------------------------------ +new GuiControlProfile("CommanderTreeContentProfile") +{ + opaque = true; + fillColor = "140 140 140"; + border = false; +}; + +new GuiControlProfile("CommanderScrollContentProfile") +{ + opaque = true; + fillColor = "0 0 0"; + border = false; +}; + +new GuiControlProfile("CommanderButtonProfile") +{ + opaque = false; + fontType = $ShellButtonFont; + fontSize = $ShellButtonFontSize; + fontColor = "8 19 6"; + fontColorHL = "25 68 56"; + fontColorNA = "98 98 98"; + fixedExtent = true; + justify = "center"; + bitmap = "gui/shll_button"; + textOffset = "0 11"; + soundButtonOver = sButtonOver; + tab = false; + canKeyFocus = false; +}; + +new GuiControlProfile("CommanderGuiProfile") +{ + opaque = true; + fillColor = "0 0 0"; +}; + +new GuiControlProfile("CommanderPopupProfile") +{ + fontType = "Arial Bold"; + fontSize = 14; + opaque = true; + fillColor = "65 141 148"; + border = true; + borderColor= "105 181 188"; + justify = center; + + fontColors[0] = "255 255 255"; // text color + fontColors[1] = "255 255 0"; // hotkey color +}; + +new GuiControlProfile("CommanderTreeProfile") +{ + fontColors[0] = "220 220 220"; // CategoryNormal + fontColors[1] = "230 169 0"; // CategoryHilight + fontColors[2] = "170 170 170"; // CategoryEmpty + fontColors[3] = "255 255 0"; // ClientNoneEntry + fontColors[4] = "255 255 255"; // TargetEntry +}; \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/commonDialogs.cs b/public/base/@vl2/scripts.vl2/scripts/commonDialogs.cs new file mode 100644 index 00000000..238690f3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/commonDialogs.cs @@ -0,0 +1,208 @@ +//------------------------------------------------------------------------------ +// +// commonDialogs.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// MessageBox OK dialog: +//------------------------------------------------------------------------------ +function MessageBoxOK( %title, %message, %callback ) +{ + MBOKFrame.setTitle( %title ); + MBOKText.setText( "" @ %message ); + //MessageBoxOKDlg.callback = %callback; + MBOKButton.command = %callback SPC "Canvas.popDialog(MessageBoxOKDlg);"; + Canvas.pushDialog( MessageBoxOKDlg ); +} + +//------------------------------------------------------------------------------ +function MessageBoxOKDlg::onWake( %this ) +{ +} + +//------------------------------------------------------------------------------ +function MessageBoxOKDlg::onSleep( %this ) +{ + %this.callback = ""; +} + +//------------------------------------------------------------------------------ +// MessageBox OK/Cancel dialog: +//------------------------------------------------------------------------------ +function MessageBoxOKCancel( %title, %message, %callback, %cancelCallback ) +{ + MBOKCancelFrame.setTitle( %title ); + MBOKCancelText.setText( "" @ %message ); + //MessageBoxOKCancelDlg.callback = %callback; + //MessageBoxOKCancelDlg.cancelCallback = %cancelCallback; + MBOKCancelButtonOK.command = %callback SPC "Canvas.popDialog(MessageBoxOKCancelDlg);"; + MBOKCancelButtonCancel.command = %cancelCallback SPC "Canvas.popDialog(MessageBoxOKCancelDlg);"; + + Canvas.pushDialog( MessageBoxOKCancelDlg ); +} + +//------------------------------------------------------------------------------ +function MessageBoxOKCancelDlg::onWake( %this ) +{ +} + +//------------------------------------------------------------------------------ +function MessageBoxOKCancelDlg::onSleep( %this ) +{ + %this.callback = ""; +} + +//------------------------------------------------------------------------------ +// MessageBox Yes/No dialog: +//------------------------------------------------------------------------------ +function MessageBoxYesNo( %title, %message, %yesCallback, %noCallback ) +{ + MBYesNoFrame.setTitle( %title ); + MBYesNoText.setText( "" @ %message ); + + //MessageBoxYesNoDlg.yesCallBack = %yesCallback; + //MessageBoxYesNoDlg.noCallback = %noCallBack; + MBYesNoButtonYes.command = %yesCallback SPC "Canvas.popDialog(MessageBoxYesNoDlg);"; + MBYesNoButtonNo.command = %noCallback SPC "Canvas.popDialog(MessageBoxYesNoDlg);"; + Canvas.pushDialog( MessageBoxYesNoDlg ); +} + +//------------------------------------------------------------------------------ +function MessageBoxYesNoDlg::onWake( %this ) +{ +} + +//------------------------------------------------------------------------------ +function MessageBoxYesNoDlg::onSleep( %this ) +{ + %this.yesCallback = ""; + %this.noCallback = ""; +} + +//------------------------------------------------------------------------------ +// Message popup dialog: +//------------------------------------------------------------------------------ +function MessagePopup( %title, %message, %delay ) +{ + // Currently two lines max. + MessagePopFrame.setTitle( %title ); + MessagePopText.setText( "" @ %message ); + Canvas.pushDialog( MessagePopupDlg ); + if ( %delay !$= "" ) + schedule( %delay, 0, CloseMessagePopup ); +} + +//------------------------------------------------------------------------------ +function CloseMessagePopup() +{ + Canvas.popDialog( MessagePopupDlg ); +} + +//------------------------------------------------------------------------------ +// Pick Team dialog: +//------------------------------------------------------------------------------ +function PickTeamDlg::onWake( %this ) +{ +} + +//------------------------------------------------------------------------------ +function PickTeamDlg::onSleep( %this ) +{ +} + +//------------------------------------------------------------------------------ +// ex: ShellGetLoadFilename( "stuff\*.*", isLoadable, loadStuff ); +// -- only adds files that pass isLoadable +// -- calls 'loadStuff(%filename)' on dblclick or ok +//------------------------------------------------------------------------------ +function ShellGetLoadFilename( %title, %fileSpec, %validate, %callback ) +{ + $loadFileCommand = %callback @ "( getField( LOAD_FileList.getValue(), 0 ) );"; + LOAD_FileList.altCommand = $loadFileCommand SPC "Canvas.popDialog(ShellLoadFileDlg);"; + LOAD_LoadBtn.command = $loadFileCommand SPC "Canvas.popDialog(ShellLoadFileDlg);"; + + if ( %title $= "" ) + LOAD_Title.setTitle( "LOAD FILE" ); + else + LOAD_Title.setTitle( %title ); + LOAD_LoadBtn.setActive( false ); + Canvas.pushDialog( ShellLoadFileDlg ); + fillLoadSaveList( LOAD_FileList, %fileSpec, %validate, false ); +} + +//------------------------------------------------------------------------------ +function fillLoadSaveList( %ctrl, %fileSpec, %validate, %isSave ) +{ + %ctrl.clear(); + %id = 0; + for ( %file = findFirstFile( %fileSpec ); %file !$= ""; %file = findNextFile( %fileSpec ) ) + { + if ( %validate $= "" || call( %validate, %file ) ) + { + %ctrl.addRow( %id, fileBase( %file ) TAB %file ); + if ( %isSave ) + { + if ( !isWriteableFileName( "base/" @ %file ) ) + %ctrl.setRowActive( %id, false ); + } + %id++; + } + } + %ctrl.sort( 0 ); +} + +//------------------------------------------------------------------------------ +function LOAD_FileList::onSelect( %this, %id, %text ) +{ + LOAD_LoadBtn.setActive( true ); +} + +//------------------------------------------------------------------------------ +// ex: ShellGetSaveFilename( "stuff\*.*", isLoadable, saveStuff, currentName ); +// -- only adds files to list that pass isLoadable +// -- calls 'saveStuff(%filename)' on dblclick or ok +//------------------------------------------------------------------------------ +function ShellGetSaveFilename( %title, %fileSpec, %validate, %callback, %current ) +{ + SAVE_FileName.setValue( %current ); + $saveFileCommand = "if ( SAVE_FileName.getValue() !$= \"\" ) " @ %callback @ "( SAVE_FileName.getValue() );"; + SAVE_FileName.altCommand = $saveFileCommand SPC "Canvas.popDialog(ShellSaveFileDlg);"; + SAVE_SaveBtn.command = $saveFileCommand SPC "Canvas.popDialog(ShellSaveFileDlg);"; + + if ( %title $= "" ) + SAVE_Title.setTitle( "SAVE FILE" ); + else + SAVE_Title.setTitle( %title ); + + // Right now this validation stuff is worthless... + //SAVE_SaveBtn.setActive( isWriteableFileName( "base/" @ %current @ $loadSaveExt ) ); + Canvas.pushDialog( ShellSaveFileDlg ); + fillLoadSaveList( SAVE_FileList, %fileSpec, %validate, true ); +} + +//------------------------------------------------------------------------------ +function SAVE_FileList::onSelect( %this, %id, %text ) +{ + if ( %this.isRowActive( %id ) ) + SAVE_FileName.setValue( getField( %this.getValue(), 0 ) ); +} + +//------------------------------------------------------------------------------ +function SAVE_FileList::onDoubleClick( %this ) +{ + %id = %this.getSelectedId(); + if ( %this.isRowActive( %id ) ) + { + error("D'oh - double clicking is broken for PURE/DEMO executables"); + eval( $saveFileCommand ); + Canvas.popDialog( ShellSaveFileDlg ); + } +} + +//------------------------------------------------------------------------------ +function SAVE_FileName::checkValid( %this ) +{ + // Right now this validation stuff is worthless... + //SAVE_SaveBtn.setActive( isWriteableFileName( "base/" @ %this.getValue() @ $loadSaveExt ) ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/controlDefaults.cs b/public/base/@vl2/scripts.vl2/scripts/controlDefaults.cs new file mode 100644 index 00000000..d4b0ce45 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/controlDefaults.cs @@ -0,0 +1,1379 @@ +if ( isObject( moveMap ) ) + moveMap.delete(); +new ActionMap(moveMap); + +//------------------------------------------------------------------------------ +// Utility remap functions: +//------------------------------------------------------------------------------ +function ActionMap::copyBind( %this, %otherMap, %command ) +{ + if ( !isObject( %otherMap ) ) + { + error( "ActionMap::copyBind - \"" @ %otherMap @ "\" is not an object!" ); + return; + } + + %bind = %otherMap.getBinding( %command ); + if ( %bind !$= "" ) + { + %device = getField( %bind, 0 ); + %action = getField( %bind, 1 ); + %flags = %otherMap.isInverted( %device, %action ) ? "SDI" : "SD"; + %deadZone = %otherMap.getDeadZone( %device, %action ); + %scale = %otherMap.getScale( %device, %action ); + %this.bind( %device, %action, %flags, %deadZone, %scale, %command ); + } +} + +//------------------------------------------------------------------------------ +function ActionMap::blockBind( %this, %otherMap, %command ) +{ + if ( !isObject( %otherMap ) ) + { + error( "ActionMap::copyBind - \"" @ %otherMap @ "\" is not an object!" ); + return; + } + + %bind = %otherMap.getBinding( %command ); + if ( %bind !$= "" ) + %this.bind( getField( %bind, 0 ), getField( %bind, 1 ), "" ); +} + +//------------------------------------------------------------------------------ +// NON-REMAPPABLE BINDS: +function escapeFromGame() +{ + if(TaskHudDlg.isVisible()) + showTaskHudDlg(false); + + if ( $currentMissionType $= "SinglePlayer" ) + Canvas.pushDialog( SinglePlayerEscapeDlg ); + else + Canvas.setContent( LobbyGui ); +} + +function toggleEditor(%make) +{ + //editor should not be available in the demo version + if (isDemo()) + return; + + if(%make) + { + if(Canvas.getContent() == Editor.getId()) + Editor.close(); + else + Editor.open(); + } +} + +moveMap.bindCmd( keyboard, "escape", "", "escapeFromGame();" ); +moveMap.bind( keyboard, "alt e", toggleEditor ); + +//------------------------------------------------------------------------------ +$movementSpeed = 1; +function setSpeed(%speed) +{ + if(%speed) + $movementSpeed = %speed; +} + +function moveleft(%val) +{ + $mvLeftAction = %val; +} + +function moveright(%val) +{ + $mvRightAction = %val; +} + +function moveforward(%val) +{ + $mvForwardAction = %val; +} + +function movebackward(%val) +{ + $mvBackwardAction = %val; +} + +function moveup(%val) +{ + $mvUpAction = %val; +} + +function movedown(%val) +{ + $mvDownAction = %val; +} + +function turnLeft( %val ) +{ + $mvYawRightSpeed = %val ? $pref::Input::KeyboardTurnSpeed : 0; +} + +function turnRight( %val ) +{ + $mvYawLeftSpeed = %val ? $pref::Input::KeyboardTurnSpeed : 0; +} + +function panUp( %val ) +{ + $mvPitchDownSpeed = %val ? $pref::Input::KeyboardTurnSpeed : 0; +} + +function panDown( %val ) +{ + $mvPitchUpSpeed = %val ? $pref::Input::KeyboardTurnSpeed : 0; +} + +// based on a default camera fov of 90' +function getMouseAdjustAmount(%val) +{ + return(%val * ($cameraFov / 90) * 0.01); +} + +function yaw(%val) +{ + $mvYaw += getMouseAdjustAmount(%val); +} + +function pitch(%val) +{ + $mvPitch += getMouseAdjustAmount(%val); +} + +moveMap.bind( keyboard, s, moveleft ); +moveMap.bind( keyboard, f, moveright ); +moveMap.bind( keyboard, e, moveforward ); +moveMap.bind( keyboard, d, movebackward ); + +function toggleDepth(%val) +{ + if (%val) { + $testDepth = !$testDepth; + } +} + +function snLine(%val) { if(%val) snapLine(); } +function snToggle(%val) { if(%val) snapToggle(); } + +moveMap.bind( mouse, xaxis, yaw ); +moveMap.bind( mouse, yaxis, pitch ); +moveMap.bind( keyboard, space, jump ); +moveMap.bind( mouse, button0, mouseFire ); +moveMap.bind( mouse, button1, mouseJet ); +//moveMap.bind( keyboard, "shift a", altTrigger ); + +//------------------------------------------------------------------------------ +// MESSAGE HUD FUNCTIONS: +function pageMessageHudUp( %val ) +{ + if ( %val ) + pageUpMessageHud(); +} + +function pageMessageHudDown( %val ) +{ + if ( %val ) + pageDownMessageHud(); +} + +moveMap.bind( keyboard, "pageUp", pageMessageHudUp ); +moveMap.bind( keyboard, "pageDown", pageMessageHudDown ); + +//------------------------------------------------------------------------------ +function voiceCapture( %val ) +{ + if ( %val ) + voiceCapStart(); + else + voiceCapStop(); +} + +moveMap.bind(keyboard, x, voiceCapture); + +//------------------------------------------------------------------------------ +// WEAPON CYCLING FUNCTIONS: +function prevWeapon( %val ) +{ + if ( %val ) + commandToServer( 'cycleWeapon', "prev" ); +} + +function nextWeapon( %val ) +{ + if ( %val ) + commandToServer( 'cycleWeapon', "next" ); +} + +function cycleWeaponAxis( %val ) +{ + if ( %val < 0 ) + commandToServer( 'cycleWeapon', "next" ); + else + commandToServer( 'cycleWeapon', "prev" ); +} + +function cycleNextWeaponOnly( %val ) +{ + if ( %val < 0 ) + commandToServer( 'cycleWeapon', "next" ); +} + +moveMap.bind( keyboard, "shift w", prevWeapon ); +moveMap.bind( keyboard, w, nextWeapon ); +moveMap.bind( mouse, zaxis, cycleWeaponAxis ); + +function toggleFreeLook( %val ) +{ + if ( %val ) + $mvFreeLook = true; + else + $mvFreeLook = false; +} + +function useRepairKit( %val ) +{ + if ( %val ) + use( RepairKit ); +} + +function useBackPack( %val ) +{ + if ( %val ) + commandToServer( 'startUseBackpack', BackPack ); + else + commandToServer( 'endUseBackpack', BackPack ); +} + +function ServerCmdStartUseBackpack( %client, %data ) +{ + %client.deployPack = false; + %client.getControlObject().use( %data ); +} + +function ServerCmdEndUseBackpack( %client ) +{ + %client.deployPack = true; +} + +moveMap.bind( keyboard, z, toggleFreeLook ); +moveMap.bind( keyboard, q, useRepairKit ); +moveMap.bind( keyboard, r, useBackpack ); + +//------------------------------------------------------------------------------ +// WEAPON SLOT SELECTION FUNCTIONS: +function useFirstWeaponSlot( %val ) +{ + if ( %val ) + commandToServer( 'selectWeaponSlot', 0 ); +} + +function useSecondWeaponSlot( %val ) +{ + if ( %val ) + commandToServer( 'selectWeaponSlot', 1 ); +} + +function useThirdWeaponSlot( %val ) +{ + if ( %val ) + commandToServer( 'selectWeaponSlot', 2 ); +} + +function useFourthWeaponSlot( %val ) +{ + if ( %val ) + commandToServer( 'selectWeaponSlot', 3 ); +} + +function useFifthWeaponSlot( %val ) +{ + if ( %val ) + commandToServer( 'selectWeaponSlot', 4 ); +} + +function useSixthWeaponSlot( %val ) +{ + if ( %val ) + commandToServer( 'selectWeaponSlot', 5 ); +} + +moveMap.bind( keyboard, "1", useFirstWeaponSlot ); +moveMap.bind( keyboard, "2", useSecondWeaponSlot ); +moveMap.bind( keyboard, "3", useThirdWeaponSlot ); +moveMap.bind( keyboard, "4", useFourthWeaponSlot ); +moveMap.bind( keyboard, "5", useFifthWeaponSlot ); +moveMap.bind( keyboard, "6", useSixthWeaponSlot ); + +//------------------------------------------------------------------------------ +// DIRECT WEAPON SELECTION FUNCTIONS: +function useBlaster( %val ) +{ + if ( %val ) + use( Blaster ); +} + +function usePlasma( %val ) +{ + if ( %val ) + use( Plasma ); +} + +function useChaingun( %val ) +{ + if ( %val ) + use( Chaingun ); +} + +function useDisc( %val ) +{ + if ( %val ) + use( Disc ); +} + +function useGrenadeLauncher( %val ) +{ + if ( %val ) + use( GrenadeLauncher ); +} + +function useSniperRifle( %val ) +{ + if ( %val ) + use( SniperRifle ); +} + +function useELFGun( %val ) +{ + if ( %val ) + use( ELFGun ); +} + +function useMortar( %val ) +{ + if ( %val ) + use( Mortar ); +} + +function useMissileLauncher( %val ) +{ + if ( %val ) + use( MissileLauncher ); +} + +function useTargetingLaser( %val ) +{ + if ( %val ) + use( TargetingLaser ); +} + +function useShockLance( %val ) +{ + if ( %val ) + use( ShockLance ); +} + +function throwGrenade( %val ) +{ + if ( %val ) + commandToServer( 'startThrowCount' ); + else + commandToServer( 'endThrowCount' ); + $mvTriggerCount4 += $mvTriggerCount4 & 1 == %val ? 2 : 1; +} + +function placeMine( %val ) +{ + if ( %val ) + commandToServer( 'startThrowCount' ); + else + commandToServer( 'endThrowCount' ); + $mvTriggerCount5 += $mvTriggerCount5 & 1 == %val ? 2 : 1; +} + +function placeBeacon( %val ) +{ + if ( %val ) + use( Beacon); +} + +moveMap.bind( keyboard, g, throwGrenade ); +moveMap.bind( keyboard, b, placeMine ); +moveMap.bind( keyboard, h, placeBeacon ); +moveMap.bind( keyboard, l, useTargetingLaser ); + +function throwWeapon( %val ) +{ + if ( %val ) + commandToServer( 'throwWeapon' ); +} + +function throwPack( %val ) +{ + if ( %val ) + commandToServer('throwPack'); +} + +function throwFlag( %val ) +{ + // TR2: Allow variable strength passes + if (objectiveHud.gameType $= "TR2Game") + { + if ( %val ) + { + doFlagGauge(%val); + commandToServer( 'startFlagThrowCount' ); + + // Schedule to remove the HUD in 3 seconds. + $TR2HideGaugeThread = schedule(2500, 0, "hideFlagGauge"); + } + else + { + cancel($TR2HideGaugeThread); + commandToServer( 'endFlagThrowCount' ); + + // If we're still trying to throw it, throw it. Don't bother trying + // to remove this to get max toss flag throws...it doesn't work. + if ($TR2FGaugeThread > 0) + commandToServer('throwFlag'); + doFlagGauge(%val); + } + + // What's this global for? + //$mvTriggerCount6 += $mvTriggerCount6 & 1 == %val ? 2 : 1; + } + else if ( %val ) + commandToServer('throwFlag'); +} + +moveMap.bind( keyboard, "ctrl w", throwWeapon ); +moveMap.bind( keyboard, "ctrl r", throwPack ); +moveMap.bind( keyboard, "ctrl f", throwFlag ); + +function resizeChatHud( %val ) +{ + if ( %val ) + MainChatHud.nextChatHudLen(); +} + +moveMap.bind( keyboard, "p", resizeChatHud ); + +//------------------------------------------------------------------------------ +// ZOOM FUNCTIONS: +if($pref::player::currentFOV $= "") + $pref::player::currentFOV = 45; + +function setZoomFOV(%val) +{ + if(%val) + calcZoomFOV(); +} + +function toggleZoom( %val ) +{ + if ( %val ) + { + if(ZoomHud.isVisible()) + { + cancel(ZoomHud.hideThread); + hideZoomHud(); + } + $ZoomOn = true; + setFov( $pref::player::currentFOV ); + } + else + { + $ZoomOn = false; + setFov( $pref::player::defaultFov ); + } +} + +moveMap.bind(keyboard, t, setZoomFOV); +moveMap.bind(keyboard, a, toggleZoom); + +//------------------------------------------------------------------------------ +// INVENTORY FAVORITE FUNCTIONS: +function toggleInventoryHud( %val ) +{ + if ( %val ) + toggleCursorHuds('inventoryScreen'); +} + +function selectFavorite1( %val ) +{ + if ( %val ) + loadFavorite( 0, 1 ); +} + +function selectFavorite2( %val ) +{ + if ( %val ) + loadFavorite( 1, 1 ); +} + +function selectFavorite3( %val ) +{ + if ( %val ) + loadFavorite( 2, 1 ); +} + +function selectFavorite4( %val ) +{ + if ( %val ) + loadFavorite( 3, 1 ); +} + +function selectFavorite5( %val ) +{ + if ( %val ) + loadFavorite( 4, 1 ); +} + +function selectFavorite6( %val ) +{ + if ( %val ) + loadFavorite( 5, 1 ); +} + +function selectFavorite7( %val ) +{ + if ( %val ) + loadFavorite( 6, 1 ); +} + +function selectFavorite8( %val ) +{ + if ( %val ) + loadFavorite( 7, 1 ); +} + +function selectFavorite9( %val ) +{ + if ( %val ) + loadFavorite( 8, 1 ); +} + +function selectFavorite10( %val ) +{ + if ( %val ) + loadFavorite( 9, 1 ); +} + +function selectFavorite11( %val ) +{ + if ( %val ) + loadFavorite( 10, 1 ); +} + +function selectFavorite12( %val ) +{ + if ( %val ) + loadFavorite( 11, 1 ); +} + +function selectFavorite13( %val ) +{ + if ( %val ) + loadFavorite( 12, 1 ); +} + +function selectFavorite14( %val ) +{ + if ( %val ) + loadFavorite( 13, 1 ); +} + +function selectFavorite15( %val ) +{ + if ( %val ) + loadFavorite( 14, 1 ); +} + +function selectFavorite16( %val ) +{ + if ( %val ) + loadFavorite( 15, 1 ); +} + +function selectFavorite17( %val ) +{ + if ( %val ) + loadFavorite( 16, 1 ); +} + +function selectFavorite18( %val ) +{ + if ( %val ) + loadFavorite( 17, 1 ); +} + +function selectFavorite19( %val ) +{ + if ( %val ) + loadFavorite( 18, 1 ); +} + +function selectFavorite20( %val ) +{ + if ( %val ) + loadFavorite( 19, 1 ); +} + +moveMap.bind( keyboard, numpadenter, toggleInventoryHud ); +moveMap.bind( keyboard, numpad1, selectFavorite1 ); +moveMap.bind( keyboard, numpad2, selectFavorite2 ); +moveMap.bind( keyboard, numpad3, selectFavorite3 ); +moveMap.bind( keyboard, numpad4, selectFavorite4 ); +moveMap.bind( keyboard, numpad5, selectFavorite5 ); +moveMap.bind( keyboard, numpad6, selectFavorite6 ); +moveMap.bind( keyboard, numpad7, selectFavorite7 ); +moveMap.bind( keyboard, numpad8, selectFavorite8 ); +moveMap.bind( keyboard, numpad9, selectFavorite9 ); +moveMap.bind( keyboard, numpad0, selectFavorite10 ); + +moveMap.bind( keyboard, "shift numpad1", selectFavorite11 ); +moveMap.bind( keyboard, "shift numpad2", selectFavorite12 ); +moveMap.bind( keyboard, "shift numpad3", selectFavorite13 ); +moveMap.bind( keyboard, "shift numpad4", selectFavorite14 ); +moveMap.bind( keyboard, "shift numpad5", selectFavorite15 ); +moveMap.bind( keyboard, "shift numpad6", selectFavorite16 ); +moveMap.bind( keyboard, "shift numpad7", selectFavorite17 ); +moveMap.bind( keyboard, "shift numpad8", selectFavorite18 ); +moveMap.bind( keyboard, "shift numpad9", selectFavorite19 ); +moveMap.bind( keyboard, "shift numpad0", selectFavorite20 ); + +moveMap.bind( keyboard, "ctrl numpad0", quickPackEnergyPack ); +moveMap.bind( keyboard, "ctrl numpad1", quickPackRepairPack ); +moveMap.bind( keyboard, "ctrl numpad2", quickPackShieldPack ); +moveMap.bind( keyboard, "ctrl numpad3", quickPackCloakPack ); +moveMap.bind( keyboard, "ctrl numpad4", quickPackJammerPack ); +moveMap.bind( keyboard, "ctrl numpad5", quickPackAmmoPack ); +moveMap.bind( keyboard, "ctrl numpad6", quickPackSatchelCharge ); +moveMap.bind( keyboard, "ctrl numpad7", quickPackDeployableStation ); +moveMap.bind( keyboard, "ctrl numpad8", quickPackIndoorTurret ); +moveMap.bind( keyboard, "ctrl numpad9", quickPackOutdoorTurret ); +moveMap.bind( keyboard, "ctrl numpaddivide", quickPackMotionSensor ); +moveMap.bind( keyboard, "ctrl numpadmult", quickPackPulse ); + +function quickPackRepairPack(%val) +{ + if(%val) + addQuickPackFavorite("Repair Pack"); +} + +function quickPackEnergyPack(%val) +{ + if(%val) + addQuickPackFavorite("Energy Pack"); +} + +function quickPackShieldPack(%val) +{ + if(%val) + addQuickPackFavorite("Shield Pack"); +} + +function quickPackCloakPack(%val) +{ + if(%val) + addQuickPackFavorite("Cloak Pack"); +} + +function quickPackJammerPack(%val) +{ + if(%val) + addQuickPackFavorite("Sensor Jammer Pack"); +} + +function quickPackAmmoPack(%val) +{ + if(%val) + addQuickPackFavorite("Ammunition Pack"); +} + +function quickPackSatchelCharge(%val) +{ + if(%val) + addQuickPackFavorite("Satchel Charge"); +} + +function quickPackDeployableStation(%val) +{ + if(%val) + addQuickPackFavorite("Inventory Station"); +} + +function quickPackIndoorTurret(%val) +{ + if(%val) + addQuickPackFavorite("Spider Clamp Turret"); +} + +function quickPackOutdoorTurret(%val) +{ + if(%val) + addQuickPackFavorite("Landspike Turret"); +} + +function quickPackMotionSensor(%val) +{ + if(%val) + addQuickPackFavorite("Motion Sensor Pack"); +} + +function quickPackPulse(%val) +{ + if(%val) + addQuickPackFavorite("Pulse Sensor Pack"); +} + +function quickPackMortarBarrel(%val) +{ + if(%val) + addQuickPackFavorite("Mortar Turret Barrel"); +} + +function quickPackElfBarrel(%val) +{ + if(%val) + addQuickPackFavorite("ELF Turret Barrel"); +} + +function quickPackAABarrel(%val) +{ + if(%val) + addQuickPackFavorite("AA Turret Barrel"); +} + +function quickPackPlasmaBarrel(%val) +{ + if(%val) + addQuickPackFavorite("Plasma Turret Barrel"); +} + +function quickPackMissileBarrel(%val) +{ + if(%val) + addQuickPackFavorite("Missile Turret Barrel"); +} + +function quickPackFlashGrenade(%val) +{ + if(%val) + addQuickPackFavorite("Whiteout Grenade", grenade); +} + +function quickPackConcussionGrenade(%val) +{ + if(%val) + addQuickPackFavorite("Concussion Grenade", grenade); +} + +function quickPackGrenade(%val) +{ + if(%val) + addQuickPackFavorite("Grenade", grenade); +} + +function quickPackFlareGrenade(%val) +{ + if(%val) + addQuickPackFavorite("Flare Grenade", grenade); +} + +function quickPackCameraGrenade(%val) +{ + if(%val) + addQuickPackFavorite("Deployable Camera", grenade); +} + +moveMap.bind( keyboard, tab, toggleFirstPerson ); +moveMap.bind( keyboard, u, ToggleMessageHud ); +moveMap.bind( keyboard, y, TeamMessageHud ); +moveMap.bind( keyboard, v, activateChatMenuHud ); + +function toggleCommanderMap( %val ) +{ + if ( %val ) + { + showTaskHudDlg(false); + CommanderMapGui.toggle(); + } +} + +moveMap.bind( keyboard, c, toggleCommanderMap ); +moveMap.bind( keyboard, "ctrl k", suicide ); + +function report(%val) +{ + if(%val) + commandToServer('report'); +} + +function suicide(%val) +{ + if (%val) + commandToServer('suicide'); +} + +function toggleFirstPerson(%val) +{ + if (%val) + { + $firstPerson = !$firstPerson; + hudFirstPersonToggled(); + } +} + +function toggleCamera(%val) +{ + if (%val) + commandToServer('ToggleCamera'); +} + +function dropPlayerAtCamera(%val) +{ + if (%val) + commandToServer('DropPlayerAtCamera'); +} + +function dropCameraAtPlayer(%val) +{ + if (%val) + commandToServer('dropCameraAtPlayer'); +} + +function dropPlayerAtCamera(%val) +{ + if (%val) + commandToServer('DropPlayerAtCamera'); +} + +function togglePlayerRace(%val) +{ + if (%val) + commandToServer('ToggleRace'); +} + +function togglePlayerGender(%val) +{ + if (%val) + commandToServer('ToggleGender'); +} + +function togglePlayerArmor(%val) +{ + if (%val) + commandToServer('ToggleArmor'); +} + +function jump(%val) +{ + //$mvTriggerCount2++; + $mvTriggerCount2 += (($mvTriggerCount2 & 1) == %val) ? 2 : 1; +} + +// moveMap.bind(keyboard, "alt c", playCel); +// moveMap.bind(keyboard, "alt a", toggleArmor); +// moveMap.bind(keyboard, "alt d", playDeath); + +//function playCel(%val) +//{ +// if (%val) +// commandToServer('playCel',%anim); +//} + +//function playDeath(%val) +//{ +// if (%val) +// commandToServer('playDeath',%anim); +//} + +function mouseFire(%val) +{ + $mvTriggerCount0 += (($mvTriggerCount0 & 1) == %val) ? 2 : 1; +} + +function mouseJet(%val) +{ + $mvTriggerCount3 += (($mvTriggerCount3 & 1) == %val) ? 2 : 1; +} + +function altTrigger(%val) +{ + $mvTriggerCount1 += (($mvTriggerCount1 & 1) == %val) ? 2 : 1; +} + +function testLOSTarget() +{ + ServerConnection.sendLOSTarget(); + commandToServer('TestLOS'); +} + +function serverCmdTestLOS(%client) +{ + %client.sendTargetTo(%client); + %msg = 'This is a simple test.'; + messageClient(%client, 'TestMsg', %msg); +} + +//------------------------------------------------------------------------------ +function toggleHelpGui( %val ) +{ + if ( %val ) + toggleHelpText(); +} + +function toggleScoreScreen( %val ) +{ + if ( %val ) + toggleCursorHuds('scoreScreen'); +} + +moveMap.bind( keyboard, F1, toggleHelpGui ); +moveMap.bind( keyboard, F2, toggleScoreScreen ); + +//------------------------------------------------------------------------------ +// DEMO RECORD FUNCTIONS: +function startRecordingDemo( %val ) +{ + if ( %val ) + beginDemoRecord(); +} + +function stopRecordingDemo( %val ) +{ + if ( %val ) + stopDemoRecord(); +} + +if ( !isDemo() ) +{ + moveMap.bind( keyboard, F3, startRecordingDemo ); + moveMap.bind( keyboard, F4, stopRecordingDemo ); +} + +//------------------------------------------------------------------------------ +// NAV HUD DISPLAY FUNCTIONS: +function toggleHudWaypoints(%val) +{ + if(%val) + navHud.setMarkerTypeVisible(ClientWaypoint, !navHud.isMarkerTypeVisible(ClientWaypoint)); +} + +function toggleHudMarkers(%val) +{ + if(%val) + navHud.setMarkerTypeVisible(MissionWaypoint, !navHud.isMarkerTypeVisible(MissionWaypoint)); +} + +function toggleHudTargets(%val) +{ + if(%val) + { + %visible = navHud.isMarkerTypeVisible(Target); + PlayGui.beaconsVisible = !%visible; + navHud.setMarkerTypeVisible(Target, !%visible); + } +} + +function toggleHudCommands(%val) +{ + if(%val) + { + %visible = navHud.isMarkerTypeVisible(PotentialTask); + navHud.setMarkerTypeVisible(PotentialTask, !%visible); + navHud.setMarkerTypeVisible(AssignedTask, !%visible); + } +} + +moveMap.bind( keyboard, F6, toggleHudWaypoints ); +moveMap.bind( keyboard, F7, toggleHudMarkers ); +moveMap.bind( keyboard, F8, toggleHudCommands ); +moveMap.bind( keyboard, F9, toggleHudTargets ); + +//------------------------------------------------------------------------------ +// TASK FUNCTIONS: +function fnAcceptTask( %val ) +{ + if ( %val ) + clientAcceptCurrentTask(); +} + +function fnDeclineTask( %val ) +{ + if ( %val ) + clientDeclineCurrentTask(); +} + +function fnTaskCompleted( %val ) +{ + if ( %val ) + clientTaskCompleted(); +} + +function fnResetTaskList( %val ) +{ + if ( %val ) + TaskList.reset(); +} + +// tasks +moveMap.bind( keyboard, n, toggleTaskListDlg ); +moveMap.bind( keyboard, "enter", fnAcceptTask ); +moveMap.bind( keyboard, "backspace", fnDeclineTask ); +moveMap.bind( keyboard, "shift c", fnTaskCompleted ); +moveMap.bind( keyboard, "shift x", fnResetTaskList ); + +// misc: +moveMap.bind( keyboard, "ctrl n", toggleNetDisplayHud ); + +//------------------------------------------------------------------------------ +// VOTING FUNCTIONS: +function voteYes( %val ) +{ + if ( %val ) + setPlayerVote( true ); +} + +function voteNo( %val ) +{ + if ( %val ) + setPlayerVote( false ); +} + +moveMap.bind( keyboard, insert, voteYes ); +moveMap.bind( keyboard, delete, voteNo ); + +/////////////////////// +// Observer Keys +/////////////////////// +if ( isObject( observerMap ) ) + observerMap.delete(); +new ActionMap( observerMap ); +observerMap.bind( keyboard, t, moveup ); +observerMap.bind( keyboard, b, movedown ); +observerMap.bind( keyboard, space, jump ); +observerMap.bind( mouse, button0, mouseFire ); +observerMap.bind( mouse, button1, mouseJet ); + +if(!isDemo()) +{ + observerMap.copyBind(moveMap, startRecordingDemo); + observerMap.copyBind(moveMap, stopRecordingDemo); +} + +/////////////////////// +// Vehicle Keys +/////////////////////// +function clientCmdSetWeaponryVehicleKeys() +{ + %bind = moveMap.getBinding( nextWeapon ); + passengerKeys.bind( getField( %bind, 0 ), getField( %bind, 1 ), nextVehicleWeapon ); + + %bind = moveMap.getBinding( prevWeapon ); + passengerKeys.bind( getField( %bind, 0 ), getField( %bind, 1 ), prevVehicleWeapon ); + + %bind = moveMap.getBinding( cycleWeaponAxis ); + passengerKeys.bind( getField( %bind, 0 ), getField( %bind, 1 ), cycleVehicleWeapon ); + + %bind = moveMap.getBinding( cycleNextWeaponOnly ); + passengerKeys.bind( getField( %bind, 0 ), getField( %bind, 1 ), cycleNextVehicleWeaponOnly ); + + passengerKeys.bind( keyboard, 1, useWeaponOne ); + passengerKeys.bind( keyboard, 2, useWeaponTwo ); + passengerKeys.bind( keyboard, 3, useWeaponThree ); +} + +function clientCmdSetPilotVehicleKeys() +{ + passengerKeys.copyBind( moveMap, toggleFirstPerson ); + passengerKeys.copyBind( moveMap, toggleFreeLook ); + passengerKeys.copyBind( moveMap, mouseJet ); + + // Use the InvertVehicleYAxis pref: + if ( $pref::Vehicle::InvertYAxis ) + { + %bind = moveMap.getBinding( pitch ); + %device = getField( %bind, 0 ); + %action = getField( %bind, 1 ); + %flags = moveMap.isInverted( %device, %action ) ? "SD" : "SDI"; + %deadZone = moveMap.getDeadZone( %device, %action ); + %scale = moveMap.getScale( %device, %action ); + passengerKeys.bind( %device, %action, %flags, %deadZone, %scale, pitch ); + } +} + +function clientCmdSetPassengerVehicleKeys() +{ + passengerKeys.copyBind( moveMap, toggleZoom ); + passengerKeys.copyBind( moveMap, setZoomFOV ); + passengerKeys.copyBind( moveMap, toggleScoreScreen ); +} + +function clientCmdSetDefaultVehicleKeys(%inVehicle) +{ + if ( %inVehicle ) + { + if ( isObject( passengerKeys ) ) + { + passengerKeys.pop(); + passengerKeys.delete(); + } + new ActionMap( passengerKeys ); + + // Bind all of the movement keys: + passengerKeys.copyBind( moveMap, moveleft ); + passengerKeys.copyBind( moveMap, moveright ); + passengerKeys.copyBind( moveMap, moveforward ); + passengerKeys.copyBind( moveMap, movebackward ); + passengerKeys.copyBind( moveMap, mouseFire ); + passengerKeys.copyBind( moveMap, yaw ); + passengerKeys.copyBind( moveMap, pitch ); + passengerKeys.copyBind( moveMap, turnLeft ); + passengerKeys.copyBind( moveMap, turnRight ); + passengerKeys.copyBind( moveMap, panUp ); + passengerKeys.copyBind( moveMap, panDown ); + passengerKeys.copyBind( moveMap, jump ); + passengerKeys.copyBind( moveMap, setZoomFOV ); + passengerKeys.copyBind( moveMap, toggleZoom ); + + // Copy the joystick binds as well: + passengerKeys.copyBind( moveMap, joyPitch ); + passengerKeys.copyBind( moveMap, joyYaw ); + passengerKeys.copyBind( moveMap, joystickMoveX ); + passengerKeys.copyBind( moveMap, joystickMoveY ); + + // Bind the chat keys as well: + passengerKeys.copyBind( moveMap, ToggleMessageHud ); + passengerKeys.copyBind( moveMap, TeamMessageHud ); + passengerKeys.copyBind( moveMap, resizeChatHud ); + passengerKeys.copyBind( moveMap, pageMessageHudUp ); + passengerKeys.copyBind( moveMap, pageMessageHudDown ); + passengerKeys.copyBind( moveMap, activateChatMenuHud ); + passengerKeys.copyBind( moveMap, voiceCapture ); + + // Miscellaneous other binds: + passengerKeys.copyBind( moveMap, useBackpack ); + passengerKeys.copyBind( moveMap, useRepairKit ); + passengerKeys.copyBind( moveMap, suicide ); + passengerKeys.copyBind( moveMap, voteYes ); + passengerKeys.copyBind( moveMap, voteNo ); + passengerKeys.copyBind( moveMap, toggleCommanderMap ); + passengerKeys.bindCmd( keyboard, escape, "", "escapeFromGame();" ); + passengerKeys.copyBind( moveMap, toggleHelpGui ); + passengerKeys.copyBind( moveMap, toggleScoreScreen ); + passengerKeys.copyBind( moveMap, toggleNetDisplayHud ); + + // Bind the weapon keys as well: + passengerKeys.copyBind( moveMap, nextWeapon ); + passengerKeys.copyBind( moveMap, prevWeapon ); + passengerKeys.copyBind( moveMap, cycleWeaponAxis ); + passengerKeys.copyBind( moveMap, cycleNextWeaponOnly ); + + passengerKeys.copyBind( moveMap, useFirstWeaponSlot ); + passengerKeys.copyBind( moveMap, useSecondWeaponSlot ); + passengerKeys.copyBind( moveMap, useThirdWeaponSlot ); + passengerKeys.copyBind( moveMap, useFourthWeaponSlot ); + passengerKeys.copyBind( moveMap, useFifthWeaponSlot ); + passengerKeys.copyBind( moveMap, useSixthWeaponSlot ); + + // Bind individual weapons as well: + passengerKeys.copyBind( moveMap, useBlaster ); + passengerKeys.copyBind( moveMap, usePlasma ); + passengerKeys.copyBind( moveMap, useChaingun ); + passengerKeys.copyBind( moveMap, useDisc ); + passengerKeys.copyBind( moveMap, useGrenadeLauncher ); + passengerKeys.copyBind( moveMap, useSniperRifle ); + passengerKeys.copyBind( moveMap, useELFGun ); + passengerKeys.copyBind( moveMap, useMortar ); + passengerKeys.copyBind( moveMap, useMissileLauncher ); + passengerKeys.copyBind( moveMap, useTargetingLaser ); + passengerKeys.copyBind( moveMap, useShockLance ); + passengerKeys.copyBind( moveMap, throwGrenade ); + passengerKeys.copyBind( moveMap, placeMine ); + + // Bind the command assignment/response keys as well: + passengerKeys.copyBind( moveMap, toggleTaskListDlg ); + passengerKeys.copyBind( moveMap, fnAcceptTask ); + passengerKeys.copyBind( moveMap, fnDeclineTask ); + passengerKeys.copyBind( moveMap, fnTaskCompleted ); + passengerKeys.copyBind( moveMap, fnResetTaskList ); + + // grab the demo recorder binds + passengerKeys.copyBind( moveMap, startRecordingDemo ); + passengerKeys.copyBind( moveMap, stopRecordingDemo ); + } + else if ( isObject( passengerKeys ) ) + { + passengerKeys.pop(); + passengerKeys.delete(); + } +} + +function useWeaponOne(%val) +{ + if(%val) + commandToServer('setVehicleWeapon', 1); +} + +function useWeaponTwo(%val) +{ + if(%val) + commandToServer('setVehicleWeapon', 2); +} + +function useWeaponThree(%val) +{ + if(%val) + commandToServer('setVehicleWeapon', 3); +} + +function serverCmdSetVehicleWeapon(%client, %num) +{ + %turret = %client.player.getControlObject(); + if(%turret.getDataBlock().numWeapons < %num) + return; + %turret.selectedWeapon = %num; + + //%hudNum = %turret.getDataBlock().getHudNum(%num); + //%client.setVWeaponsHudActive(%hudNum); + %client.setVWeaponsHudActive(%num); + + // set the active image on the client's obj + if(%num == 1) + %client.setObjectActiveImage(%turret, 2); + else if(%num == 2) + %client.setObjectActiveImage(%turret, 4); + else + %client.setObjectActiveImage(%turret, 6); + + // if firing then set the proper image trigger + if(%turret.fireTrigger) + { + if(%num == 1) + { + %turret.setImageTrigger(4, false); + if(%turret.getImageTrigger(6)) + { + %turret.setImageTrigger(6, false); + ShapeBaseImageData::deconstruct(%turret.getMountedImage(6), %turret); + } + %turret.setImageTrigger(2, true); + } + else if( %num == 2) + { + %turret.setImageTrigger(2, false); + if(%turret.getImageTrigger(6)) + { + %turret.setImageTrigger(6, false); + ShapeBaseImageData::deconstruct(%turret.getMountedImage(6), %turret); + } + %turret.setImageTrigger(4, true); + } + else + { + %turret.setImageTrigger(2, false); + %turret.setImageTrigger(4, false); + } + } +} + +function nextVehicleWeapon(%val) +{ + if ( %val ) + commandToServer('switchVehicleWeapon', "next"); +} + +function prevVehicleWeapon(%val) +{ + if ( %val ) + commandToServer('switchVehicleWeapon', "prev"); +} + +function cycleVehicleWeapon( %val ) +{ + if ( %val < 0 ) + commandToServer( 'switchVehicleWeapon', "next" ); + else + commandToServer( 'switchVehicleWeapon', "prev" ); +} + +function cycleNextVehicleWeaponOnly( %val ) +{ + if ( %val < 0 ) + commandToServer( 'switchVehicleWeapon', "next" ); +} + +function serverCmdSwitchVehicleWeapon(%client, %dir) +{ + %turret = %client.player.getControlObject(); + %weaponNum = %turret.selectedWeapon; + if(%dir $= "next") + { + if(%weaponNum++ > %turret.getDataBlock().numWeapons) + %weaponNum = 1; + } + else + { + if(%weaponNum-- < 1) + %weaponNum = %turret.getDataBlock().numWeapons; + } + serverCmdSetVehicleWeapon(%client, %weaponNum); +} + + +/////////////////////// +//Station +/////////////////////// +function clientCmdSetStationKeys(%inStation) +{ + if ( %inStation ) + { + if ( isObject( stationMap ) ) + { + stationMap.pop(); + stationMap.delete(); + } + new ActionMap( stationMap ); + stationMap.blockBind( moveMap, toggleInventoryHud ); + stationMap.bind( keyboard, escape, "" ); + stationMap.push(); + } + else if ( isObject( stationMap ) ) + { + stationMap.pop(); + stationMap.delete(); + } +} + +$MFDebugRenderMode = 0; +function cycleDebugRenderMode() +{ + if($MFDebugRenderMode == 0) + { + show(); + GLEnableOutline(true); + $MFDebugRenderMode = 1; + } + else if ($MFDebugRenderMode == 1) + { + GLEnableOutline(false); + setInteriorRenderMode(7); + $MFDebugRenderMode = 2; + } + else if ($MFDebugRenderMode == 2) + { + setInteriorRenderMode(0); + GLEnableOutline(false); + showTri(); + $MFDebugRenderMode = 0; + } +} + +// Since the toggle console key is remappable, put it here: +if (!isDemo()) + GlobalActionMap.bind(keyboard, "grave", toggleConsole); diff --git a/public/base/@vl2/scripts.vl2/scripts/creditsGui.cs b/public/base/@vl2/scripts.vl2/scripts/creditsGui.cs new file mode 100644 index 00000000..9e0da72a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/creditsGui.cs @@ -0,0 +1,144 @@ +function LaunchCredits() +{ + Canvas.setContent(CreditsGui); +} + +function cancelCredits() +{ + //delete the action map + CreditsActionMap.pop(); + + //kill the schedules + cancel($CreditsScrollSchedule); + cancel($CreditsSlideShow); + + //kill the music + MusicPlayer.stop(); + + //load the launch gui back... + Canvas.setContent(LaunchGui); + + //delete the contents of the ML ctrl so as to free up memory... + Credits_Text.setText(""); +} + +function CreditsGui::onWake(%this) +{ + //create an action map to use "esc" to exit the credits screen... + if (!isObject(CreditsActionMap)) + { + new ActionMap(CreditsActionMap); + CreditsActionMap.bindCmd(keyboard, anykey, "cancelCredits();", ""); + CreditsActionMap.bindCmd(keyboard, space, "cancelCredits();", ""); + CreditsActionMap.bindCmd(keyboard, escape, "cancelCredits();", ""); + CreditsActionMap.bindCmd(mouse, button0, "$CreditsPaused = true;", "$CreditsPaused = false;"); + CreditsActionMap.bindCmd(mouse, button1, "$CreditsSpeedUp = true;", "$CreditsSpeedUp = false;"); + if (!isDemo()) + CreditsActionMap.bindCmd(mouse, button2, "creditsNextPic();", ""); + } + CreditsActionMap.push(); + + //build the ML text ctrl... + exec("scripts/creditsText.cs"); + if (!isDemo()) + { + $CreditsPicIndex = 1; + CREDITS_Pic.setBitmap("gui/Cred_" @ $CreditsPicIndex @ ".png"); + } + else + CREDITS_Pic.setBitmap("gui/Cred_1.bm8"); + + //music array + if (!isDemo()) + { + $CreditsMusic[0] = "badlands"; + $CreditsMusic[1] = "desert"; + $CreditsMusic[2] = "ice"; + $CreditsMusic[3] = "lush"; + $CreditsMusic[4] = "volcanic"; + } + else + { + $CreditsMusic[0] = "lush"; + $CreditsMusic[1] = "desert"; + $CreditsMusic[2] = "desert"; + $CreditsMusic[3] = "lush"; + $CreditsMusic[4] = "desert"; + } + + //start the credits from the beginning + $CreditsOffset = 0.0; + %screenHeight = getWord(getResolution(), 1); + Credits_Text.resize(getWord(Credits_Text.position, 0), + mFloor(%screenHeight / 2) - 125, + getWord(Credits_Text.extent, 0), + getWord(Credits_Text.extent, 1)); + + //start the scrolling + $CreditsPaused = false; + $CreditsSpeedUp = false; + $CreditsScrollSchedule = schedule(3000, 0, scrollTheCredits); + + //start cycling the bitmaps + if (!isDemo()) + $CreditsSlideShow = schedule(5000, 0, creditsNextPic); + + //start some music + %chooseTrack = mFloor(getRandom() * 4.99); + MusicPlayer.playTrack($CreditsMusic[%chooseTrack]); +} + +function addCreditsLine(%text, %lastLine) +{ + CREDITS_Text.addText(%text @ "\n", %lastline); +} + +function scrollTheCredits() +{ + //make sure we're not paused + if (!$CreditsPaused) + { + //if we've scrolled off the top, set the position back down to the bottom + %parentCtrl = CREDITS_Text.getGroup(); + if (getWord(Credits_Text.position, 1) + getWord(Credits_Text.extent, 1) < 0) + { + Credits_Text.position = getWord(Credits_Text.position, 0) SPC getWord(%parentCtrl.extent, 1); + $CreditsOffset = getWord(Credits_Text.position, 1); + } + + if ($CreditsSpeedUp) + %valueToScroll = 10; + else + %valueToScroll = 1; + + //scroll the control up a bit + Credits_Text.resize(getWord(Credits_Text.position, 0), + getWord(Credits_Text.position, 1) - %valueToScroll, + getWord(Credits_Text.extent, 0), + getWord(Credits_Text.extent, 1)); + } + + //schedule the next scroll... + $CreditsScrollSchedule = schedule(10, 0, scrollTheCredits); +} + +function creditsNextPic() +{ + //no slide show in the demo... + if (isDemo()) + return; + + cancel($CreditsSlideShow); + if (!$CreditsPaused) + { + $CreditsPicIndex += 1; + if ($CreditsPicIndex > 46) + $CreditsPicindex = 1; + + //set the bitmap + CREDITS_Pic.setBitmap("gui/Cred_" @ $CreditsPicIndex @ ".png"); + } + + //schedule the next bitmap + $CreditsSlideShow = schedule(5000, 0, creditsNextPic); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/creditsText.cs b/public/base/@vl2/scripts.vl2/scripts/creditsText.cs new file mode 100644 index 00000000..86cc2700 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/creditsText.cs @@ -0,0 +1,1609 @@ +// Credits list +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine("Producer/Director"); +addCreditsLine("Dave \"QIX\" Georgeson"); +addCreditsLine(""); +addCreditsLine("Associate Producer"); +addCreditsLine("Daryl \"Snow Leopard\" Nichols, Jr."); +addCreditsLine(""); +addCreditsLine("Lead Programmer"); +addCreditsLine("Mark \"Got Milk?\" Frohnmayer"); +addCreditsLine(""); +addCreditsLine("Software Engineers"); +addCreditsLine("John \"Sne/\\ker\" Alden"); +addCreditsLine("Kelly \"East\" Asay"); +addCreditsLine("Shawn \"Raf\" Eastley"); +addCreditsLine("Clark \"Shark\" Fagot"); +addCreditsLine("John \"berBob\" Folliard"); +addCreditsLine("Brad \"BigDevDawg\" Heinz"); +addCreditsLine("\"Missing\" Lincoln Hutton"); +addCreditsLine("Greg \"Jett\" Lancaster"); +addCreditsLine("Dave \"Symlink\" Moore"); +addCreditsLine("Brian \"Twitch\" Ramage"); +addCreditsLine("Mitch \"Skeet\" Shaw"); +addCreditsLine("Tinman \"Kidney Thief\""); +addCreditsLine(""); +addCreditsLine("Designers"); +addCreditsLine("Eric \"Rated z\" Lanz"); +addCreditsLine("Dave \"Diamondback\" Meddish"); +addCreditsLine("Jesse \"DrAwkward\" Russell"); +addCreditsLine(""); +addCreditsLine("Art Direction"); +addCreditsLine("Craig \"jimmy\" Maitlen"); +addCreditsLine(""); +addCreditsLine("Artists"); +addCreditsLine("Robert \"Pelias Maximus\" Caracol"); +addCreditsLine("Ian \"ETCmodel02\" Christy "); +addCreditsLine("Jade \"FrankRizzo\" Dhabolt"); +addCreditsLine("Jon \"OrphanKazrak\" Lanz"); +addCreditsLine("Dave \"OldDawg\" Lauck"); +addCreditsLine("Matthew \"Rickets\" Reynolds"); +addCreditsLine("Paul \"Decoy\" Rheinfelder"); +addCreditsLine("Thomas \"TOMIN8R\" VanVelkinburgh"); +addCreditsLine(""); +addCreditsLine("Writer"); +addCreditsLine("Blake \"Hexabolic\" Hutchins"); +addCreditsLine(""); +addCreditsLine("HTML Community"); +addCreditsLine("Pat McCarthy"); +addCreditsLine("Joe Gartska"); +addCreditsLine(""); +addCreditsLine("Director of Quality Assurance"); +addCreditsLine("Gary \"Koros\" Stevens"); +addCreditsLine(""); +addCreditsLine("Compatibility Lab Supervisor"); +addCreditsLine("Pat \"3 Legged Dingo\" Callahan"); +addCreditsLine(""); +addCreditsLine("QA Supervisor, Core Game"); +addCreditsLine("Ken \"Sunshine\" Eaton"); +addCreditsLine(""); +addCreditsLine("Quality Assurance"); +addCreditsLine("Abhishake \"Harley\" Behl"); +addCreditsLine("Angus \"Chewtoy\" Campbell"); +addCreditsLine("Aaron \"Boomer1111\" Denke"); +addCreditsLine("Trent \"RabidSquirrel\" Donelson"); +addCreditsLine("Jonalee \"cHiLaKwEeN\" Gil"); +addCreditsLine("Phil \"Philtre\" Kuhlmey"); +addCreditsLine("Craig \"NEK\" Marshall"); +addCreditsLine("Sean \"Baby Emu\" Meichle"); +addCreditsLine("David \"Plik\" Peterson"); +addCreditsLine("Robert \"Mortal Wombat\" Quattrone"); +addCreditsLine("Connor \"der Todesritter\" Salisbury"); +addCreditsLine("Joe \"Callahan\" Smith"); +addCreditsLine("Mark \"SurferMark\" Storie"); +addCreditsLine("Sue \"Othello\" Ung"); +addCreditsLine("Cody \"Infirmo\" Yarbrough"); +addCreditsLine("Drew \"Mongo\" Zilm"); +addCreditsLine(""); +addCreditsLine("QA Internationalization:"); +addCreditsLine("Lloyd \"Tank\" Madden"); +addCreditsLine("Frank \"Schnack\" Matzke"); +addCreditsLine("Markus \"Beule\" Rafflenbeul"); +addCreditsLine(""); +addCreditsLine("Motion Capture Team"); +addCreditsLine("Technical Director: Troy McFarland"); +addCreditsLine("Performer: Cosmo Hom"); +addCreditsLine(""); +addCreditsLine("Digital Video Support Team"); +addCreditsLine("Director: Jim\"zootboy\" Carey"); +addCreditsLine("Sage \"3Dkid\" Freeman"); +addCreditsLine("Steve \"opticNerve\" Bradford"); +addCreditsLine("Tonya \"Agentmoody\" Stumphauzer"); +addCreditsLine("Troy \"cann n fodder\" McFarland"); +addCreditsLine("Kate \"reelBoss\" Alley"); +addCreditsLine(""); +addCreditsLine("Movie Intro"); +addCreditsLine("PBDigital, Inc."); +addCreditsLine(""); +addCreditsLine("Installer"); +addCreditsLine("Chris Mahnken"); +addCreditsLine(""); +addCreditsLine("Special Thanks"); +addCreditsLine("Mark Brenneman"); +addCreditsLine("Nels Bruckner"); +addCreditsLine("Barry Drew"); +addCreditsLine("Tim Gift"); +addCreditsLine("Gerald Harrison"); +addCreditsLine("Shannon Holder"); +addCreditsLine("Jared Keller"); +addCreditsLine("Ti Kwa"); +addCreditsLine("Joe Maruschak"); +addCreditsLine("Rick Overman"); +addCreditsLine("Helen Pai"); +addCreditsLine("Scott Rudi"); +addCreditsLine("Shawn Sharp"); +addCreditsLine("Neal Skorpen"); +addCreditsLine("Weston Tracy"); +addCreditsLine("Pete Walker"); +addCreditsLine("Maren Wyatt"); +addCreditsLine("Scott Youngblood"); +addCreditsLine(""); +addCreditsLine("zlib Development Team"); +addCreditsLine("libPNG Development Team"); + +// TR2 +addCreditsLine(""); +addCreditsLine("Team Rabbit 2"); +addCreditsLine("Codality, Inc."); +addCreditsLine(""); +addCreditsLine("Codality President/Designer"); +addCreditsLine("Michael \"KineticPoet\" Johnston"); +addCreditsLine(""); +addCreditsLine("Codality Developers"); +addCreditsLine("Dan \"daunt\" Kolta"); +addCreditsLine("Scott \"FSB-AO\" Estabrook"); +addCreditsLine(""); +addCreditsLine("Codality Sound Effects"); +addCreditsLine("John \"CObbler\" Carter"); +addCreditsLine("Buddy \"sLaM\" Pritchard"); +addCreditsLine(""); +addCreditsLine("Codality 3D Artist"); +addCreditsLine("Gregg \"illy\" Fellows"); +addCreditsLine(""); +addCreditsLine("Codality Additional Maps"); +addCreditsLine("Alan \"Nefilim\" Schwertel"); +addCreditsLine(""); +addCreditsLine("Codality 2D Artist"); +addCreditsLine("Kenneth \"SONOFMAN\" Cook"); +addCreditsLine(""); +addCreditsLine("Codality Special Thanks"); +addCreditsLine("Eric \"Special\" Chu"); +addCreditsLine("Jonathan \"Sojourn\" Parker"); +addCreditsLine("Matt \"aerobahn\" Willis"); +addCreditsLine("Taylor \"Banana Man\" Stewart"); +addCreditsLine("Team 5150"); +addCreditsLine("Team Euphoria"); +addCreditsLine("Team Imperial Elite"); +addCreditsLine(""); + +addCreditsLine("Business Unit Manager for Sierra Studios"); +addCreditsLine("Mark Hood"); +addCreditsLine(""); +addCreditsLine("Brand Manager"); +addCreditsLine("Lee Rossini"); +addCreditsLine(""); +addCreditsLine("European Brand Manager"); +addCreditsLine("Djamil Kemal"); +addCreditsLine(""); +addCreditsLine("Europe/Asia Marketing Manager"); +addCreditsLine("Michael Fuller"); +addCreditsLine(""); +addCreditsLine("Asia Brand Manager"); +addCreditsLine("Deana Erickson"); +addCreditsLine(""); +addCreditsLine("Director of Marketing"); +addCreditsLine("Koren Buckner"); +addCreditsLine(""); +addCreditsLine("VP of Marketing"); +addCreditsLine("Jim Veevaert"); +addCreditsLine(""); +addCreditsLine("Channel Promotions"); +addCreditsLine("Michael Whitehead"); +addCreditsLine(""); +addCreditsLine("Web Development Mgr."); +addCreditsLine("Guy Welch"); +addCreditsLine(""); +addCreditsLine("Marketing Assistant"); +addCreditsLine("Michael Cowan"); +addCreditsLine(""); +addCreditsLine("Public Relations Mgr."); +addCreditsLine("Hillary Crowley "); +addCreditsLine(""); +addCreditsLine("Director"); +addCreditsLine("Creative Services"); +addCreditsLine("Laura Kleinhofs "); +addCreditsLine(""); +addCreditsLine("Creative Director For"); +addCreditsLine("Creative Services"); +addCreditsLine("Brandon Walker"); +addCreditsLine(""); +addCreditsLine("Sr. Account Manager"); +addCreditsLine("Creative Services"); +addCreditsLine("Kevin Lamb"); +addCreditsLine(""); +addCreditsLine("Package Design"); +addCreditsLine("Moore Design Group"); +addCreditsLine(""); +addCreditsLine("Production Manager"); +addCreditsLine("Sheri-Lou Stannard"); +addCreditsLine(""); +addCreditsLine("Manual Layout"); +addCreditsLine("Kim McGovern"); +addCreditsLine(""); +addCreditsLine("Localization Coordinator"); +addCreditsLine("Warren Wright"); +addCreditsLine(""); +addCreditsLine("Sound Effects"); +addCreditsLine("EFX/Wilshire Studios"); +addCreditsLine("CS Productions Inc."); +addCreditsLine(""); +addCreditsLine("Voice Recording"); +addCreditsLine("Bad Animals"); +addCreditsLine(""); +addCreditsLine("Voice Processing"); +addCreditsLine("CS Productions Inc."); +addCreditsLine(""); +addCreditsLine("Music"); +addCreditsLine("Tim Clarke and Score! Studios"); +addCreditsLine(""); +addCreditsLine("Sierra On-Line Multiplayer Services"); +addCreditsLine("Aaron Hunt"); +addCreditsLine("Erik De Bonte"); +addCreditsLine("Bill Dewey"); +addCreditsLine("Colen Garoutte-Carson"); +addCreditsLine("Max Klaiser"); +addCreditsLine("Brent LaPoint"); +addCreditsLine("Neeraj Murarka"); +addCreditsLine("Mike Nicolino"); +addCreditsLine("Lee Olds"); +addCreditsLine("Ross Perez"); +addCreditsLine("Darren Robinson"); +addCreditsLine("Brian Rothstein"); +addCreditsLine("Jeff Routledge"); +addCreditsLine("Dean Webster"); +addCreditsLine("Kelly Zmak"); +addCreditsLine(""); +addCreditsLine("Voice Talent"); +addCreditsLine("John Armstrong"); +addCreditsLine("Mark Berry"); +addCreditsLine("Kiamalise Budak"); +addCreditsLine("Kymberli Colbourne"); +addCreditsLine("Craig English"); +addCreditsLine("Kit Harris"); +addCreditsLine("Jay Hopper"); +addCreditsLine("Mike Madeoy"); +addCreditsLine("Dex Manley"); +addCreditsLine("Kate Myre"); +addCreditsLine("Matt Reidy"); +addCreditsLine("Gary Schwartz"); +addCreditsLine("Jen Taylor"); +addCreditsLine(""); +addCreditsLine("Linux Port"); +addCreditsLine("Loki Software, Inc."); +addCreditsLine(""); +addCreditsLine("Loki President"); +addCreditsLine("Scott \"Highlander\" Draeker"); +addCreditsLine(""); +addCreditsLine("Linux Installer"); +addCreditsLine("Stephane \"Megastep\" Peter"); +addCreditsLine(""); +addCreditsLine("Linux Programming"); +addCreditsLine("Michael \"Briareos\" Vance"); +addCreditsLine("Joe \"TsaoTsao\" Valenzuela"); +addCreditsLine("Sam \"Hercules\" Lantinga"); +addCreditsLine(""); +addCreditsLine("Linux Q/A and Support"); +addCreditsLine("Andy \"Yoda\" Mecham"); +addCreditsLine("Mike \"Heimdall\" Phillips"); +addCreditsLine(""); +addCreditsLine("Linux Manual"); +addCreditsLine("Kayt \"Sigyn\" Sorhaindo"); +addCreditsLine(""); +addCreditsLine("Loki Artwork"); +addCreditsLine("Jason \"Pais\" Kim"); +addCreditsLine(""); +addCreditsLine("Loki System Support"); +addCreditsLine("Rafael \"Raistlin\" Barrero"); +addCreditsLine(""); +addCreditsLine("Loki Business Manager"); +addCreditsLine("Yvonne \"YDS\" De Sollar"); +addCreditsLine(""); +addCreditsLine("Loki Customer Support"); +addCreditsLine("Brandon \"Particle\" Carter"); +addCreditsLine(""); +addCreditsLine("Loki Beta Testers"); +addCreditsLine("James \"idcmp\" Atwill"); +addCreditsLine("Brandon \"bbeattie\" Beattie"); +addCreditsLine("Fionn Behrens"); +addCreditsLine("Jonathan \"Suraklyn\" Bowser"); +addCreditsLine("Patrick \"Phineas\" Calhoun"); +addCreditsLine("Wayne \"ttol\" Chang"); +addCreditsLine("Nash \"twostar\" Clemens"); +addCreditsLine("Mike \"madcat\" Delaney"); +addCreditsLine("Matthew \"DivineHawk\" Eaton"); +addCreditsLine("Rodney \"meff\" Gordon II"); +addCreditsLine("Pavan \"Phantom\" Gupta"); +addCreditsLine("Christopher \"Malkier\" Hahn"); +addCreditsLine("John \"OverCode\" Hall"); +addCreditsLine("Jesse \"Abysmal\" Hanna"); +addCreditsLine("Steven \"Ashari\" Hatfield"); +addCreditsLine("David \"NeoTron\" Hedbor"); +addCreditsLine("Matt \"malloc_master\" Helsley"); +addCreditsLine("Simon \"red_one\" Hill"); +addCreditsLine("Gareth \"3D-Guru\" Hughes"); +addCreditsLine("Zephaniah E. Hull"); +addCreditsLine("Guy \"Guido\" Hutchison"); +addCreditsLine("Joshua Kleiner"); +addCreditsLine("Geoff \"Rambo\" Lewis"); +addCreditsLine("Jason \"Deadman\" Lundy"); +addCreditsLine("Gregory \"Centove\" McLean"); +addCreditsLine("Patrick \"WormBoy\" McNeill"); +addCreditsLine("Jeff \"Judecca\" Mrochuk"); +addCreditsLine("Patrick \"linuxpunkr...\" Mullen"); +addCreditsLine("Prof. Dr. Nao"); +addCreditsLine("Jody \"Dweebs\" Newell"); +addCreditsLine("Bob \"Shapecharge\" O'Brien"); +addCreditsLine("Kyle \"JebusSaveMe\" Olsen"); +addCreditsLine("John \"joe\" Osborne"); +addCreditsLine("Chris \"Super-K\" Osgood"); +addCreditsLine("Jon \"Railroad\" Revie"); +addCreditsLine("Michael \"M00k3y\" Ritner"); +addCreditsLine("Aron \"Govt.Cheese\" Rosenberg"); +addCreditsLine("Yuri \"Mystro\" Sagalov"); +addCreditsLine("Marinus \"foser\" Schraal"); +addCreditsLine("SKILL5"); +addCreditsLine("Ryan Stotts"); +addCreditsLine("Dan \"XFree86\" Temple"); +addCreditsLine("Terry \"keerf\" Warner"); +addCreditsLine("Chris \"UmytBnxt\" Watkins"); +addCreditsLine("Michael \"themime\" Whitten"); +addCreditsLine(""); +addCreditsLine("GLSetup Team"); +addCreditsLine("Chris Hecker"); +addCreditsLine("Rob Felter"); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine("Thanks to all the wives, girlfriends and children of the hardworking Dev Team members. Your patience and sacrifice has allowed us to complete a project of which we are all tremendously proud. None of it would have been possible without you."); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine("Meta Testers"); +addCreditsLine("Alex Flagg"); +addCreditsLine("Alex \"LogRoller\" Ogilvie"); +addCreditsLine("Adam Mitter"); +addCreditsLine("Alan \"Otter\" Ragg"); +addCreditsLine("Alex \"SaGe\" Chappuis"); +addCreditsLine("Alexandre \"[cF]Alex\" Clerc-Gagnoux"); +addCreditsLine("Allen \"TheRedDread\" Drennan"); +addCreditsLine("Andreas Jalsovec"); +addCreditsLine("Anton Wiegert"); +addCreditsLine("Arden H. \"TF Pookie\" Nguyen"); +addCreditsLine("Bart \"=DB=Seven\" Smith"); +addCreditsLine("Ben \"Diox\" May"); +addCreditsLine("Ben \"Hypn0tik\" Tamler"); +addCreditsLine("Ben \"Stan\" Gray"); +addCreditsLine("Bobby \"Mogart\" Rider"); +addCreditsLine("Bodhi \"Heliometus Max\" Daher"); +addCreditsLine("Brad \"Bort\" Klann"); +addCreditsLine("Bret D. \"Bacchus\" Wilson"); +addCreditsLine("Brian \"Aftershock\" Parker"); +addCreditsLine("Carl \"Daddy\" Anderson"); +addCreditsLine("Charlie Schillberg"); +addCreditsLine("Chason \"Phantom Stranger\" Ellis"); +addCreditsLine("Chris \"Pie4Foo\" Abele"); +addCreditsLine("Chris \"Tythan\" Caviness"); +addCreditsLine("Chris \"Fubar\" Duncan"); +addCreditsLine("Christian \"S3 Crucifix\" Peth"); +addCreditsLine("Colin \"Dark Wraith\" Howitt"); +addCreditsLine("Cory \"Omega Man\" Altheide"); +addCreditsLine("\"Cowboy\" Ben Alman"); +addCreditsLine("Crystal McHale"); +addCreditsLine("Dan \"Avatar\" Lyons"); +addCreditsLine("Daniel \"|5150|Keyser\" Gallegos"); +addCreditsLine("Daniel \"Emp\" Arnold"); +addCreditsLine("Daniel \"Snaggs\" Soderstrom"); +addCreditsLine("Daniel \"Trebz\" Nolan"); +addCreditsLine("Daniel \"Wizard_TPG\" Neilsen"); +addCreditsLine("Daniel \"Shadow Mage\" Nichols"); +addCreditsLine("Daniel \"Spooger\" Patton"); +addCreditsLine("Danny \"OmegaRed\" Cotton"); +addCreditsLine("Darion \"Shadower\" Lowenstein"); +addCreditsLine("Darren \"Fidelio\" Mitchell"); +addCreditsLine("Dave \"Tycho\" Fried"); +addCreditsLine("David \"DOX\" Oxwell"); +addCreditsLine("David \"Killdawg\" DeBoer"); +addCreditsLine("David MacIntosh"); +addCreditsLine("Dean \"VolcoM\" Sykes"); +addCreditsLine("Dean Tate"); +addCreditsLine("Dennis \"Chickenboo\" Fox"); +addCreditsLine("Erik \"Mustard\" de Jong"); +addCreditsLine("Gabor \"Dezso a HUN\" Orban"); +addCreditsLine("Gabriel \"Warwitch\" David"); +addCreditsLine("Gavin \"Suds\" Henrick"); +addCreditsLine("Gino \"tAngGSI\" Gard"); +addCreditsLine("Glenn \"IcyHot\" Wisbey"); +addCreditsLine("Gregory \"Brak Panda\" Pesochin"); +addCreditsLine("Gregory \"Strife\" Hill"); +addCreditsLine("Hannes \"Cohen\" Wagner"); +addCreditsLine("Ian \"Kowboy\" Gonsalves"); +addCreditsLine("Ian Threadgold"); +addCreditsLine("J Alex \"Blackheart\" Wheeler"); +addCreditsLine("James \"Warbird\" Gentry III"); +addCreditsLine("James C. \"Lothos\" Hanna"); +addCreditsLine("Jason \"Circuit\" Jenkins"); +addCreditsLine("Jason \"Iron Chef\" Goodowens"); +addCreditsLine("Jason \"Lumberjack\" De Arte"); +addCreditsLine("Jeff \"Hellsfury\" Shaw"); +addCreditsLine("Jeremy \"Xevious\" Burke"); +addCreditsLine("Jerry \"Tycho Brahe\" Holkins"); +addCreditsLine("Joe \"Quadrature\" Downs"); +addCreditsLine("Joe Bell Grant"); +addCreditsLine("Joern \"Pangur\" Schnautz"); +addCreditsLine("John \"Dr.Jones\" Burnett"); +addCreditsLine("Jon \"Ratorasniki\" Naiman"); +addCreditsLine("Jonathan \"Chaser\" Bale"); +addCreditsLine("Joost \"jschuur\" Schuur"); +addCreditsLine("Josh \"Red Sirus\" Hoey"); +addCreditsLine("Kevin \"Rifter\" Rank"); +addCreditsLine("Kevin \"Kevlar\" Middleton"); +addCreditsLine("Kyle \"{DP}AzN^DoG\" Godfrey"); +addCreditsLine("Kyle \"Wiggy\" Bennett"); +addCreditsLine("Laura \"Dolph Lundgren\" Schreiner"); +addCreditsLine("Lorne \"Writer\" Laliberte"); +addCreditsLine("Mac \"McNaughton\" Miller"); +addCreditsLine("Mario \"Lone Gunman\" Batlle"); +addCreditsLine("Mark \"Ferret-of-Death\" Siciliano"); +addCreditsLine("Mark \"Old Skul\" Szabo"); +addCreditsLine("Mark \"Panama Jack\" Dickenson"); +addCreditsLine("Markus Rafflenbeul"); +addCreditsLine("Mat Bettinson"); +addCreditsLine("Matt \"{SiR}SoulJAH\" Culp"); +addCreditsLine("Matt \"Colosus\" DeWald"); +addCreditsLine("Matt Sobotka"); +addCreditsLine("Matthew \"4u2c\" McKeown"); +addCreditsLine("Mattijs \"3bird\" Jonker"); +addCreditsLine("Michael \"Optimizer\" Hamlett"); +addCreditsLine("Michael \"Rave\" Mogill"); +addCreditsLine("Michael A Nance"); +addCreditsLine("Michael James \"Tenabrae\" Edwards"); +addCreditsLine("Mike \"Ragman\" Hillebrecht"); +addCreditsLine("Mike \"Gabriel\" Krahulik"); +addCreditsLine("Mike \"Gangreen\" Burton"); +addCreditsLine("Moussa Khan"); +addCreditsLine("N. David \"MlakMavet\" Griffin"); +addCreditsLine("Nathan \"[HvC]NaTeDoGG\" Sweet"); +addCreditsLine("Nick \"Enhanced Panda\" Orlich"); +addCreditsLine("Nick \"Leb\" Petska"); +addCreditsLine("Nick S. \"Enlightened One\" Pasto"); +addCreditsLine("Nikita \"FSB-SPY\" Bogolyubov"); +addCreditsLine("Olivier \"[cf] OroX\" Roulx"); +addCreditsLine("Omar Yehia"); +addCreditsLine("Pamela A. \"Diva\" Holmberg"); +addCreditsLine("Paul \"RuinatioN\" Wright"); +addCreditsLine("Paul \"Teknoice\" Morris"); +addCreditsLine("Penny \"Killer Girl\" Miller"); +addCreditsLine("Peter \"dev\" Kazmierow"); +addCreditsLine("Ric \"Dr Chmod\" Moseley"); +addCreditsLine("\"NoFix\""); +addCreditsLine("Rob \"Coyote\" Duffy"); +addCreditsLine("Robert Huebner"); +addCreditsLine("Rod Chrenek"); +addCreditsLine("Ron Oliver II"); +addCreditsLine("Ross \"Bytor\" Carlson"); +addCreditsLine("Roy \"Cannonfodder\" Greenhalgh"); +addCreditsLine("Ryan \"Kelster\" Kelly"); +addCreditsLine("Ryan \"Onyxwulf\" Gilfillan"); +addCreditsLine("Ryan \"StoneWolf\" Thernes"); +addCreditsLine("Scott \"Smedly\" Medlin"); +addCreditsLine("Sean \"Pubknight\" Bryson "); +addCreditsLine("Sebastien \"[cF]PreD\" Guillemet"); +addCreditsLine("Shane \"Mental Trousers\" Taylor"); +addCreditsLine("Shane \"Santa\" Beaumont"); +addCreditsLine("Shane \"Shaneman\" Evans"); +addCreditsLine("Stefan Grufman"); +addCreditsLine("Stefan \"Skace\" Kiehne"); +addCreditsLine("Stephen \"Cato\" Farquhar"); +addCreditsLine("Stephen \"SL83\" Limowski"); +addCreditsLine("Steve \"Presto\" Eisner"); +addCreditsLine("Taylor \"Emo1313\" Suchan"); +addCreditsLine("Thomas \"Mantis\" Kumpik, Jr."); +addCreditsLine("Tim \"Zear\" Hammock"); +addCreditsLine("Todd \"Fuzzy Lumpkins\" Sjoblom"); +addCreditsLine("Tom \"Falcon\" Vogt"); +addCreditsLine("Tyler \"Raskal\" Jacobson"); +addCreditsLine("Tyler \"Sty\" Frans"); +addCreditsLine("Tyler Wilson"); +addCreditsLine("Werner Poetzelberger"); +addCreditsLine("Willem \"Talita\" Bison"); +addCreditsLine("William \"Altaic\" Knop"); +addCreditsLine(""); +addCreditsLine("Beta Testers"); +addCreditsLine("Aaron Brown"); +addCreditsLine("Aaron Butler"); +addCreditsLine("Aaron Reed"); +addCreditsLine("Aaron Scott Reed"); +addCreditsLine("Aaron Semeniuk"); +addCreditsLine("Aaron Wisner"); +addCreditsLine("Aaron Younger"); +addCreditsLine("Adam B. Argo"); +addCreditsLine("Adam Becker"); +addCreditsLine("Adam Corvin"); +addCreditsLine("Adam England"); +addCreditsLine("Adam King"); +addCreditsLine("Adam Kleifield "); +addCreditsLine("Adam McCreight"); +addCreditsLine("Adam Mitter"); +addCreditsLine("Adam S. Pedersen"); +addCreditsLine("Adam Toering"); +addCreditsLine("Adam Williams"); +addCreditsLine("Adrian Telfer"); +addCreditsLine("Akihiro Inoue"); +addCreditsLine("Al Harrington"); +addCreditsLine("Alan Peng"); +addCreditsLine("Alan Ragg"); +addCreditsLine("Alayton Norgard"); +addCreditsLine("Alberto Petrozzi"); +addCreditsLine("Alden Tan"); +addCreditsLine("Alex Chappuis"); +addCreditsLine("Alex Flagg"); +addCreditsLine("Alex Gourley"); +addCreditsLine("Alex Jakes JR"); +addCreditsLine("Alex Jeng"); +addCreditsLine("Alex Ogilvie"); +addCreditsLine("Alex Porter"); +addCreditsLine("Alex Taylor"); +addCreditsLine("Alex Zanfir"); +addCreditsLine("Alexander Baldoria"); +addCreditsLine("Alexander Flagg"); +addCreditsLine("Alexander Marschal"); +addCreditsLine("Alexander van Rijn"); +addCreditsLine("Alexandr Koshelev"); +addCreditsLine("Alexandre Clerc-Gagnoux"); +addCreditsLine("Alexandre Pomi"); +addCreditsLine("Alexandre Ramos"); +addCreditsLine("Alexei Sapsford"); +addCreditsLine("Allen Drennan"); +addCreditsLine("Allen Grusecki"); +addCreditsLine("Amir Assali"); +addCreditsLine("Amir Grad"); +addCreditsLine("Anatoly Ropotov"); +addCreditsLine("Andre Koch"); +addCreditsLine("Andrea Primadei"); +addCreditsLine("Andreas Leondidis"); +addCreditsLine("Andrew Baum"); +addCreditsLine("Andrew Fort"); +addCreditsLine("Andrew Price"); +addCreditsLine("Andrew Stockman"); +addCreditsLine("Andy Chong"); +addCreditsLine("Andy Swanson"); +addCreditsLine("Angus Campbell"); +addCreditsLine("Anthony Bermudez"); +addCreditsLine("Anthony Mills"); +addCreditsLine("Antonio Ferrari"); +addCreditsLine("Antti Htinen"); +addCreditsLine("Arden H Nguyen"); +addCreditsLine("Arthur Troncoso"); +addCreditsLine("Ata Yavalar"); +addCreditsLine("Attila Fur"); +addCreditsLine("Audie Martin"); +addCreditsLine("Barbara J. Webb"); +addCreditsLine("Baret Julien"); +addCreditsLine("Baron Wolt"); +addCreditsLine("Bart Haesaerts"); +addCreditsLine("Bart Maegh"); +addCreditsLine("Bart Peiren"); +addCreditsLine("Bart Smith"); +addCreditsLine("Bart Waeterschoot"); +addCreditsLine("Beau Hale"); +addCreditsLine("Ben Anderson"); +addCreditsLine("Ben Cantwell"); +addCreditsLine("Ben Cuthbert"); +addCreditsLine("Ben De Decker"); +addCreditsLine("Ben Dobbs"); +addCreditsLine("Ben Floren"); +addCreditsLine("Ben Gray"); +addCreditsLine("Ben Lawton"); +addCreditsLine("Ben Martel"); +addCreditsLine("Ben May"); +addCreditsLine("Ben Pierson"); +addCreditsLine("Ben Stone"); +addCreditsLine("Ben Tamler"); +addCreditsLine("Benjamin Alman"); +addCreditsLine("Benjamin Denholm"); +addCreditsLine("Benjamin Luck"); +addCreditsLine("Benot Dewaele"); +addCreditsLine("Bernd Berheide"); +addCreditsLine("Bernhard Seiser"); +addCreditsLine("Bill Eccleston"); +addCreditsLine("Bill Lewis"); +addCreditsLine("Bill Rodenbaugh"); +addCreditsLine("Bjorn Sleypen"); +addCreditsLine("Bo McCoy"); +addCreditsLine("Bodhi Daher"); +addCreditsLine("Boris Stock"); +addCreditsLine("Brad Butcher"); +addCreditsLine("Brad Conner"); +addCreditsLine("Brad DeLong"); +addCreditsLine("Brad Goehring"); +addCreditsLine("Brad Herman"); +addCreditsLine("Brad Klann"); +addCreditsLine("Bram Noz"); +addCreditsLine("Brandon Cantrell"); +addCreditsLine("Brandon Knez"); +addCreditsLine("Brandon W. Easley"); +addCreditsLine("Brandy Straatman"); +addCreditsLine("Bret D. Wilson"); +addCreditsLine("Brett Carlson"); +addCreditsLine("Bri Pas"); +addCreditsLine("Brian Barnes"); +addCreditsLine("Brian Charles Moses"); +addCreditsLine("Brian Helms"); +addCreditsLine("Brian Hon"); +addCreditsLine("Brian Lorey"); +addCreditsLine("Brian Mercer"); +addCreditsLine("Brian Nakash"); +addCreditsLine("Brian Parker"); +addCreditsLine("Brian Vitale"); +addCreditsLine("Brian Walsh"); +addCreditsLine("Brian Weberling"); +addCreditsLine("Brian Wright"); +addCreditsLine("Brice Gharst"); +addCreditsLine("Brion Miller"); +addCreditsLine("Bruce Oberleitner"); +addCreditsLine("Bryan Heard"); +addCreditsLine("Bryan Stroop"); +addCreditsLine("Buddy Pritchard"); +addCreditsLine("C. Henrique Olifiers"); +addCreditsLine("C. Kyle Bennett"); +addCreditsLine("C.D. Thurman"); +addCreditsLine("Caleb Cauthon"); +addCreditsLine("Camere Danilo"); +addCreditsLine("Camille Castel"); +addCreditsLine("Carl Anderson"); +addCreditsLine("Carl Andersson"); +addCreditsLine("Carl Buckley"); +addCreditsLine("Carl Chambers"); +addCreditsLine("Carla Louisa Andrews"); +addCreditsLine("Carlos Delgado"); +addCreditsLine("Carolyn Manis"); +addCreditsLine("Casey O'Connor"); +addCreditsLine("Casper Lund"); +addCreditsLine("Cedric Hourcade"); +addCreditsLine("Chad Jolly"); +addCreditsLine("Channon Wong"); +addCreditsLine("Charl Theron"); +addCreditsLine("Charles Cresswell"); +addCreditsLine("Charles F. Gast"); +addCreditsLine("Charles Koelemay"); +addCreditsLine("Charlie VanDyke"); +addCreditsLine("Chason Ellis"); +addCreditsLine("Choi Byeong-Ho"); +addCreditsLine("Chow Yun"); +addCreditsLine("Chris Abele"); +addCreditsLine("Chris Aster"); +addCreditsLine("Chris Becton"); +addCreditsLine("Chris Boucher"); +addCreditsLine("Chris Boyd"); +addCreditsLine("Chris Browning"); +addCreditsLine("Chris Buckler"); +addCreditsLine("Chris Cacioppo"); +addCreditsLine("Chris Calande"); +addCreditsLine("Chris Cauthen"); +addCreditsLine("Chris Caviness"); +addCreditsLine("Chris Cullen"); +addCreditsLine("Chris Dettmann"); +addCreditsLine("Chris Duncan"); +addCreditsLine("Chris Farmer"); +addCreditsLine("Chris Fields"); +addCreditsLine("Chris Frederick"); +addCreditsLine("Chris Hersey"); +addCreditsLine("Chris Hewitt"); +addCreditsLine("Chris Holfeld"); +addCreditsLine("Chris Houston"); +addCreditsLine("Chris Jones"); +addCreditsLine("Chris Joyce"); +addCreditsLine("Chris Kissinger"); +addCreditsLine("Chris Mahnken"); +addCreditsLine("Chris Mermagen"); +addCreditsLine("Chris Walker"); +addCreditsLine("Chris Weatherwax"); +addCreditsLine("Chris Weeks"); +addCreditsLine("Chris Willis"); +addCreditsLine("Chris Wilson"); +addCreditsLine("Chris Youren"); +addCreditsLine("Christian D. Loftus"); +addCreditsLine("Christian Davis"); +addCreditsLine("Christian Peth"); +addCreditsLine("Christoher Rex Prangnell"); +addCreditsLine("Christoph Hagenbrock"); +addCreditsLine("Christoph Schwayer"); +addCreditsLine("Christopher Clarke"); +addCreditsLine("Christopher Donahue"); +addCreditsLine("Christopher Duffield"); +addCreditsLine("Christopher Forbes Davidson"); +addCreditsLine("Christopher Gray"); +addCreditsLine("Christopher J. Burden"); +addCreditsLine("Christopher Jones"); +addCreditsLine("Christopher Tan"); +addCreditsLine("Chuang Li-chung"); +addCreditsLine("Chuck Houlette"); +addCreditsLine("Chum Chancharadeth"); +addCreditsLine("Clarence Jones"); +addCreditsLine("Clark Bradley"); +addCreditsLine("Clay Reyer"); +addCreditsLine("Clay Taylor"); +addCreditsLine("Clayton Griffin"); +addCreditsLine("Cliff Yaun"); +addCreditsLine("Clint Gallon"); +addCreditsLine("Cody Edwards"); +addCreditsLine("Colin Howitt"); +addCreditsLine("Colin Korbelas"); +addCreditsLine("Colin Laughlin"); +addCreditsLine("Colin murray"); +addCreditsLine("Collin Theseira"); +addCreditsLine("Cory Altheide"); +addCreditsLine("Cory Hill"); +addCreditsLine("Cory Miller"); +addCreditsLine("Craig Beers"); +addCreditsLine("Craig Paterson"); +addCreditsLine("Crystal McHale"); +addCreditsLine("Curtis Campbell"); +addCreditsLine("Curtis Rock"); +addCreditsLine("Daire Garvey"); +addCreditsLine("Dallas Harris"); +addCreditsLine("Damien Webber"); +addCreditsLine("Damien Webber"); +addCreditsLine("Dan Ilan"); +addCreditsLine("Dan Kolta"); +addCreditsLine("Dan Lyons"); +addCreditsLine("Dan Peters"); +addCreditsLine("Dan Schmierer"); +addCreditsLine("Dan Sego"); +addCreditsLine("Dane Barber"); +addCreditsLine("Daniel Chenoweth"); +addCreditsLine("Daniel Costantini"); +addCreditsLine("Daniel Gallegos"); +addCreditsLine("Daniel J. Patton"); +addCreditsLine("Daniel Medini"); +addCreditsLine("Daniel Neilsen"); +addCreditsLine("Daniel Nolan"); +addCreditsLine("Daniel Palmer"); +addCreditsLine("Daniel Smith"); +addCreditsLine("Daniel Soderstrom"); +addCreditsLine("Danny Cotton"); +addCreditsLine("Danny Van Bronkhorst"); +addCreditsLine("Darion Lowenstein"); +addCreditsLine("Darko Miodrag"); +addCreditsLine("Darragh O' Toole"); +addCreditsLine("Darren Asato"); +addCreditsLine("Darren Menzies"); +addCreditsLine("Darren Mitchell"); +addCreditsLine("Darren Sorrell"); +addCreditsLine("Darren Tabor"); +addCreditsLine("Dave Benedict"); +addCreditsLine("Dave Calame"); +addCreditsLine("Dave Fried"); +addCreditsLine("Dave Schwinger"); +addCreditsLine("Dave Warner"); +addCreditsLine("Dave Wight"); +addCreditsLine("David Bonds"); +addCreditsLine("David Chubb"); +addCreditsLine("David De Boer"); +addCreditsLine("David Higgins"); +addCreditsLine("David Lindberg"); +addCreditsLine("David Liu"); +addCreditsLine("David Oxwell"); +addCreditsLine("David Paukstys"); +addCreditsLine("David Peterson"); +addCreditsLine("David Quinn"); +addCreditsLine("David Richards"); +addCreditsLine("David Stetz"); +addCreditsLine("David W. Atchley"); +addCreditsLine("Dean Sykes"); +addCreditsLine("Deffi"); +addCreditsLine("Denish Puspparajah"); +addCreditsLine("Dennis Fox"); +addCreditsLine("Dennis Goedbloed"); +addCreditsLine("Dennis Gurock"); +addCreditsLine("Dennis Oden"); +addCreditsLine("Dennis Price"); +addCreditsLine("Dennis vd Broek"); +addCreditsLine("Derek Bao"); +addCreditsLine("Derek McGee"); +addCreditsLine("Derek Millar"); +addCreditsLine("Derek Mulder"); +addCreditsLine("Derrick T. Woolworth"); +addCreditsLine("Devin Blair"); +addCreditsLine("Devin C. Glenn"); +addCreditsLine("Devin L. Ganger"); +addCreditsLine("Dimitri Gunsing"); +addCreditsLine("Dion Clapperton"); +addCreditsLine("Dirk Lambert"); +addCreditsLine("Dirk Moerenhout"); +addCreditsLine("Dominic Carus"); +addCreditsLine("Donald Ho"); +addCreditsLine("Donald Mills"); +addCreditsLine("Duncan Law"); +addCreditsLine("Duncan McLeod"); +addCreditsLine("Dustin Lesan"); +addCreditsLine("Dustin Miller"); +addCreditsLine("Dyanne Lee"); +addCreditsLine("Ed Molnar"); +addCreditsLine("Ed Sin"); +addCreditsLine("Eddie Manso"); +addCreditsLine("Eddie Pierce"); +addCreditsLine("Editorial GameSurf"); +addCreditsLine("Edric Borja"); +addCreditsLine("Eduardo Amaro"); +addCreditsLine("Edward Van Brunt"); +addCreditsLine("Elliot Naiman"); +addCreditsLine("Emanuele"); +addCreditsLine("Emiliano Saurin"); +addCreditsLine("Ephraim Brodsky"); +addCreditsLine("Erbil Salihoglu"); +addCreditsLine("Eric Bultman"); +addCreditsLine("Eric Hudzikiewicz"); +addCreditsLine("Eric Iovan"); +addCreditsLine("Eric Manko"); +addCreditsLine("Eric Ray"); +addCreditsLine("Eric Ross"); +addCreditsLine("Eric Soulvie"); +addCreditsLine("Eric Stankelis"); +addCreditsLine("Eric Takamoto"); +addCreditsLine("Eric Toledo"); +addCreditsLine("Erick Apeles"); +addCreditsLine("Erik de Jong"); +addCreditsLine("Erik Gulbrandsen"); +addCreditsLine("Ernie Page"); +addCreditsLine("Erwin Esener"); +addCreditsLine("Espen Andresen"); +addCreditsLine("Eugene Goh"); +addCreditsLine("Everett Whiteway"); +addCreditsLine("Fabian Ianigro"); +addCreditsLine("Faizaan Ghauri"); +addCreditsLine("Fiona Stevens"); +addCreditsLine("Francesco Sorrentino"); +addCreditsLine("Francis To"); +addCreditsLine("Frank Canedy"); +addCreditsLine("Frank Collins"); +addCreditsLine("Frank Hop"); +addCreditsLine("Frank McGee"); +addCreditsLine("Franz Tfferl"); +addCreditsLine("Fred Cheng"); +addCreditsLine("Fred Hill"); +addCreditsLine("Frederik Kruse Hannibal"); +addCreditsLine("Fulvio Tagliento"); +addCreditsLine("Gabe Othman"); +addCreditsLine("Gabor Orban"); +addCreditsLine("Gabriel David"); +addCreditsLine("Gary Caine"); +addCreditsLine("Gary J. Talley"); +addCreditsLine("Gary McWilliams"); +addCreditsLine("Gary Milante"); +addCreditsLine("Gary Schweisthal"); +addCreditsLine("Gavin Henrick"); +addCreditsLine("Geoff Dodd"); +addCreditsLine("Geoffrey Forman"); +addCreditsLine("George Campbell"); +addCreditsLine("George Ganas"); +addCreditsLine("George Wingard"); +addCreditsLine("Gilberto Barbicinti"); +addCreditsLine("Gino Gard"); +addCreditsLine("Glenn Reasor"); +addCreditsLine("Glenn Wisbey"); +addCreditsLine("Gordon Lee"); +addCreditsLine("Gordon Mak"); +addCreditsLine("Gordon Wilcox"); +addCreditsLine("Goty Liu"); +addCreditsLine("Greg Barnett"); +addCreditsLine("Greg Gilleland"); +addCreditsLine("Greg Habetler"); +addCreditsLine("Greg Milton"); +addCreditsLine("Greg Romaszka"); +addCreditsLine("Greg Walk"); +addCreditsLine("Gregory Hill"); +addCreditsLine("Gregory Peng"); +addCreditsLine("Gregory Pesochin"); +addCreditsLine("Greigg Stein"); +addCreditsLine("Guillaume Neron"); +addCreditsLine("Gunnar Schumann"); +addCreditsLine("Guy Mirisciotta"); +addCreditsLine("H.Yamao"); +addCreditsLine("Hamed Khoojinian"); +addCreditsLine("Hannes Wagner"); +addCreditsLine("Hans David Lemons"); +addCreditsLine("Harold Brown"); +addCreditsLine("Harry Glaser"); +addCreditsLine("Harry Kambouropoulos"); +addCreditsLine("Hashish HasnaIn"); +addCreditsLine("Heath Fischer"); +addCreditsLine("Helge Nesen"); +addCreditsLine("Hendrik Bauer"); +addCreditsLine("Hendrik Strobel"); +addCreditsLine("Henk Schaefer"); +addCreditsLine("Henry Lee"); +addCreditsLine("Henry Martins"); +addCreditsLine("Hugh Norton-Smith"); +addCreditsLine("Hugh Spencer"); +addCreditsLine("Hunter Luisi"); +addCreditsLine("Ian Glenn"); +addCreditsLine("Ian Redden"); +addCreditsLine("Ian Threadgold"); +addCreditsLine("Igor Bachinsky"); +addCreditsLine("Issac Rosser"); +addCreditsLine("Iwan Khouw"); +addCreditsLine("J. Scott Randall"); +addCreditsLine("Jaap de Heer"); +addCreditsLine("Jack Mamais"); +addCreditsLine("Jaesson Yeo"); +addCreditsLine("James Balough"); +addCreditsLine("James Batty"); +addCreditsLine("James C. Hanna"); +addCreditsLine("James Ell"); +addCreditsLine("James Gentry III"); +addCreditsLine("James Logan"); +addCreditsLine("James Molson"); +addCreditsLine("James Ramsey"); +addCreditsLine("James Tucker"); +addCreditsLine("James Weisgerber"); +addCreditsLine("Jamie Reep"); +addCreditsLine("Jan Siarov"); +addCreditsLine("Jani Sundstrom"); +addCreditsLine("Janne Puonti"); +addCreditsLine("Jared Black"); +addCreditsLine("Jared Keller"); +addCreditsLine("Jarle Hauglum"); +addCreditsLine("Jason Alday"); +addCreditsLine("Jason Alombro"); +addCreditsLine("Jason Bergman"); +addCreditsLine("Jason Cross"); +addCreditsLine("Jason De Arte"); +addCreditsLine("Jason Fleming"); +addCreditsLine("Jason Gill"); +addCreditsLine("Jason Goodfellow"); +addCreditsLine("Jason Goodowens"); +addCreditsLine("Jason Jenkins"); +addCreditsLine("Jason Kinnear"); +addCreditsLine("Jason Kochan"); +addCreditsLine("Jason Newington"); +addCreditsLine("Jason Robert Nelson"); +addCreditsLine("Jason Widy"); +addCreditsLine("Javier Jimnez"); +addCreditsLine("Jay Johnson"); +addCreditsLine("Jay Weitekamp"); +addCreditsLine("Jeff Buckland"); +addCreditsLine("Jeff Chang"); +addCreditsLine("Jeff Day"); +addCreditsLine("Jeff Dotson"); +addCreditsLine("Jeff Drouet"); +addCreditsLine("Jeff Greth"); +addCreditsLine("Jeff Hedges"); +addCreditsLine("Jeff Lofgren"); +addCreditsLine("Jeff Shauger"); +addCreditsLine("Jeff Shaw"); +addCreditsLine("Jeff Streeter"); +addCreditsLine("Jeff Tom"); +addCreditsLine("Jeffrey A. Tindle"); +addCreditsLine("Jeffrey Rudolph"); +addCreditsLine("Jelle Twerda"); +addCreditsLine("Jens Larsson"); +addCreditsLine("Jeppe Christensen"); +addCreditsLine("Jeremy Burke"); +addCreditsLine("Jeremy Chookas"); +addCreditsLine("Jeremy Klemm"); +addCreditsLine("Jeremy Rogers"); +addCreditsLine("Jeremy Werkheiser"); +addCreditsLine("Jeroen Rasschaert"); +addCreditsLine("Jerry Annin"); +addCreditsLine("Jerry Holkins"); +addCreditsLine("Jerry Qassar"); +addCreditsLine("Jesse Maher"); +addCreditsLine("Jesse Smith"); +addCreditsLine("Jim Andrews"); +addCreditsLine("Jim Dale"); +addCreditsLine("Jim Gosney"); +addCreditsLine("Jim Richardson"); +addCreditsLine("Jimmy Chandler"); +addCreditsLine("Jimmy van der Have"); +addCreditsLine("Joe Diamond"); +addCreditsLine("Joe Dopp"); +addCreditsLine("Joe Downs"); +addCreditsLine("Joe Falcomata"); +addCreditsLine("Joe Kennedy"); +addCreditsLine("Joe Mauga"); +addCreditsLine("Joe McGuire"); +addCreditsLine("Joe Prowell"); +addCreditsLine("Joe Seifert"); +addCreditsLine("Joel Bruick"); +addCreditsLine("Joern Schnautz"); +addCreditsLine("Joey Snailham"); +addCreditsLine("Johan Khne"); +addCreditsLine("John Bialick"); +addCreditsLine("John Buckingham"); +addCreditsLine("John Burnett"); +addCreditsLine("John Cain"); +addCreditsLine("John Colin Hanna"); +addCreditsLine("John Davis"); +addCreditsLine("John DeBruyn"); +addCreditsLine("John Dodds"); +addCreditsLine("John Finr"); +addCreditsLine("John Hazelden"); +addCreditsLine("John Hemaloto"); +addCreditsLine("John K. Ogi"); +addCreditsLine("John Kilmartin"); +addCreditsLine("John Kok Chung Yoong"); +addCreditsLine("John Mattison"); +addCreditsLine("John Nielsen"); +addCreditsLine("John Reque"); +addCreditsLine("John Rodriguez"); +addCreditsLine("John Tackman"); +addCreditsLine("John Titus"); +addCreditsLine("John Wolf"); +addCreditsLine("Johnny Christensen"); +addCreditsLine("Jon Callirgos"); +addCreditsLine("Jon Naiman"); +addCreditsLine("Jon Norris"); +addCreditsLine("Jon Pudge"); +addCreditsLine("Jon Simon"); +addCreditsLine("Jonas Hansen"); +addCreditsLine("Jonathan Bale"); +addCreditsLine("Jonathan Fingas"); +addCreditsLine("Jonathan Hill"); +addCreditsLine("Jonathan Hilmer"); +addCreditsLine("Jonathan Parker"); +addCreditsLine("Jonathan Peters"); +addCreditsLine("Jonathan Reed"); +addCreditsLine("Jonathan Slark"); +addCreditsLine("Jonathan W. Hebert"); +addCreditsLine("Jonathan Whitehouse"); +addCreditsLine("Jone Kajan"); +addCreditsLine("Jordan Cheetin"); +addCreditsLine("Jordan Mercier"); +addCreditsLine("Joscha Dzielak"); +addCreditsLine("Jose Magana"); +addCreditsLine("Josef Jahn"); +addCreditsLine("Joseph Downs"); +addCreditsLine("Joseph Liu"); +addCreditsLine("Joseph Walling"); +addCreditsLine("Josh Hoey"); +addCreditsLine("Joshua Geary"); +addCreditsLine("Juan Pablo Erices"); +addCreditsLine("Jurgen De Vos"); +addCreditsLine("Justin Darity"); +addCreditsLine("Justin Forward"); +addCreditsLine("Justin Meske"); +addCreditsLine("Justin Talley"); +addCreditsLine("Karen Cobb"); +addCreditsLine("Karen Holland"); +addCreditsLine("Kar-Hai Chu"); +addCreditsLine("Kari Gardner"); +addCreditsLine("Karl Heck"); +addCreditsLine("Karl Seguin"); +addCreditsLine("Karre Knudsen"); +addCreditsLine("Keith Allen Brown"); +addCreditsLine("Keith Hampe"); +addCreditsLine("Keith Lehman"); +addCreditsLine("Keith Lu"); +addCreditsLine("Kelly Christians"); +addCreditsLine("Kelvin Kim"); +addCreditsLine("Ken Herritt"); +addCreditsLine("Ken Holst"); +addCreditsLine("Kenneth Goh"); +addCreditsLine("Kenric Tam"); +addCreditsLine("Kent Daniels"); +addCreditsLine("Kenzo Iwanaga"); +addCreditsLine("Keoni van't Groenewout"); +addCreditsLine("Kevin Christian"); +addCreditsLine("Kevin Fuhst"); +addCreditsLine("Kevin Lee"); +addCreditsLine("Kevin Middleton"); +addCreditsLine("Kevin R. McGaffey"); +addCreditsLine("Kevin Rank"); +addCreditsLine("Kevin Tanghe"); +addCreditsLine("Kibeom Song"); +addCreditsLine("Kim Anderson"); +addCreditsLine("Kim Dae Uk"); +addCreditsLine("Kishan Shri"); +addCreditsLine("Kody Dickerson"); +addCreditsLine("Kohei Iwanaga"); +addCreditsLine("Kolya Rice"); +addCreditsLine("Kris Bugbee"); +addCreditsLine("Kris Thomson"); +addCreditsLine("Kristian Christensen"); +addCreditsLine("Kristo Kurtn"); +addCreditsLine("Kurt Sund"); +addCreditsLine("Kwabena Otchere"); +addCreditsLine("Kyle Doris"); +addCreditsLine("Kyle Godfrey"); +addCreditsLine("Kyle Job"); +addCreditsLine("Kyle Leveque"); +addCreditsLine("Kyle Morrison"); +addCreditsLine("Lance Tegner"); +addCreditsLine("Lars Jelstad"); +addCreditsLine("Laura Schreiner"); +addCreditsLine("Lawrence Chung"); +addCreditsLine("Lawrence Jupina"); +addCreditsLine("Lee Weaver"); +addCreditsLine("Leif Anderson"); +addCreditsLine("Leonard Pak"); +addCreditsLine("Leslie Ho Bee Chew"); +addCreditsLine("Liam Byrne"); +addCreditsLine("Lian Bredenkamp"); +addCreditsLine("Lim Eui Taek"); +addCreditsLine("Liviu Stan"); +addCreditsLine("Lon Chen"); +addCreditsLine("Lord Olav Rekve III"); +addCreditsLine("Loren Oldham"); +addCreditsLine("Lorne Laliberte"); +addCreditsLine("Louie Ramones"); +addCreditsLine("Lucas Goodwin"); +addCreditsLine("Lucas Tvrdik"); +addCreditsLine("Luis Zapata"); +addCreditsLine("Luiz Ricardo Malheiros"); +addCreditsLine("Luke McBeath"); +addCreditsLine("Manu De Gersem"); +addCreditsLine("Marc Broekhoven"); +addCreditsLine("Marc Bunin"); +addCreditsLine("Marc Chang"); +addCreditsLine("Marc Cobelens"); +addCreditsLine("Marc Elvy"); +addCreditsLine("Marc Rehder"); +addCreditsLine("Marco Amato"); +addCreditsLine("Marco Casati"); +addCreditsLine("Marcus Hurst"); +addCreditsLine("Marcus Miller"); +addCreditsLine("Mariano Porta"); +addCreditsLine("Mario Batlle"); +addCreditsLine("Mario Olivier"); +addCreditsLine("Maritza Kvalsvik"); +addCreditsLine("Marius Andre Aasly"); +addCreditsLine("Mark Brieden"); +addCreditsLine("Mark Caldwell"); +addCreditsLine("Mark de Jong"); +addCreditsLine("Mark Dickenson"); +addCreditsLine("Mark Fiore"); +addCreditsLine("Mark Hephner"); +addCreditsLine("Mark Siciliano"); +addCreditsLine("Mark Steurer"); +addCreditsLine("Mark Szabo"); +addCreditsLine("Mark Yocom"); +addCreditsLine("Markus Cichy"); +addCreditsLine("Markus Eisenblaetter"); +addCreditsLine("Markus Eskermo"); +addCreditsLine("Markus Roth"); +addCreditsLine("Martin Kremer"); +addCreditsLine("Martin Parker"); +addCreditsLine("Mat Bettinson"); +addCreditsLine("Mathew Zauher"); +addCreditsLine("Mathias Lindfeldt"); +addCreditsLine("Mathieu Bouchard"); +addCreditsLine("Matt Berkland"); +addCreditsLine("Matt Brunmeier"); +addCreditsLine("Matt Chandronait"); +addCreditsLine("Matt Cohen"); +addCreditsLine("Matt Collins"); +addCreditsLine("Matt Craw"); +addCreditsLine("Matt Culp"); +addCreditsLine("Matt Davis"); +addCreditsLine("Matt DeWald"); +addCreditsLine("Matt Grange"); +addCreditsLine("Matt Green"); +addCreditsLine("Matt McCall"); +addCreditsLine("Matt Timlin"); +addCreditsLine("Matt Vilcsak"); +addCreditsLine("Matt Wilson"); +addCreditsLine("Matthew A. Clarke"); +addCreditsLine("Matthew Frolick"); +addCreditsLine("Matthew Jenkins"); +addCreditsLine("Matthew Keen"); +addCreditsLine("Matthew Keith"); +addCreditsLine("Matthew McKeown"); +addCreditsLine("Matthew Williams"); +addCreditsLine("Matthias Schneidt"); +addCreditsLine("Maurice Kambach"); +addCreditsLine("Maurice Tan"); +addCreditsLine("Mauro Artou"); +addCreditsLine("Max Robins"); +addCreditsLine("Melissa Webb"); +addCreditsLine("Meredith Marine"); +addCreditsLine("Michael A Pratt"); +addCreditsLine("Michael Carroll"); +addCreditsLine("Michael Dunne"); +addCreditsLine("Michael Ennis"); +addCreditsLine("Michael Hamlett"); +addCreditsLine("Michael Jacovina"); +addCreditsLine("Michael Johnston"); +addCreditsLine("Michael Kenney"); +addCreditsLine("Michael Parks"); +addCreditsLine("Michael Strong"); +addCreditsLine("Michael Tan It Han"); +addCreditsLine("Michael Valera"); +addCreditsLine("Michael van Huystee"); +addCreditsLine("Michael Voigt"); +addCreditsLine("Michael Waldvogle"); +addCreditsLine("Michael Wichter"); +addCreditsLine("Michael Thornton"); +addCreditsLine("Mickey Borchardt"); +addCreditsLine("Miguel Schneeberger"); +addCreditsLine("Mika Hyvonen"); +addCreditsLine("Mikael Garde Nielsen"); +addCreditsLine("Mike Benton"); +addCreditsLine("Mike Burton"); +addCreditsLine("Mike Comroe"); +addCreditsLine("Mike Cutillo"); +addCreditsLine("Mike Dally"); +addCreditsLine("Mike Fedorov"); +addCreditsLine("Mike Hillebrecht"); +addCreditsLine("Mike Large"); +addCreditsLine("Mike Leeder"); +addCreditsLine("Mike Mann"); +addCreditsLine("Mike Plavin"); +addCreditsLine("Mike Ransom"); +addCreditsLine("Mike Swanson"); +addCreditsLine("Mike Weiss"); +addCreditsLine("Mikkel Johansen"); +addCreditsLine("Ming Jack Po"); +addCreditsLine("Minos Dounias"); +addCreditsLine("Moonja Choi"); +addCreditsLine("Morghan Laswell"); +addCreditsLine("Motohiko Kimura"); +addCreditsLine("Moussa Khan"); +addCreditsLine("Myles Angell"); +addCreditsLine("N. David Griffin"); +addCreditsLine("Naoki Yokoyama"); +addCreditsLine("Nate Timperley"); +addCreditsLine("Nathan Clark"); +addCreditsLine("Nathan Sweet"); +addCreditsLine("Neal Sample"); +addCreditsLine("Neale Guy"); +addCreditsLine("Neil Crabaugh"); +addCreditsLine("Neil Witkin"); +addCreditsLine("Nelson Billedo"); +addCreditsLine("Nemar Velasquez"); +addCreditsLine("Niall Chadwick"); +addCreditsLine("Nic Minnis"); +addCreditsLine("Nicholas Chea"); +addCreditsLine("Nicholas Paufler"); +addCreditsLine("Nick Berthet"); +addCreditsLine("Nick Bogolyubov"); +addCreditsLine("Nick Carr"); +addCreditsLine("Nick Goebel"); +addCreditsLine("Nick Martini"); +addCreditsLine("Nick Orlich"); +addCreditsLine("Nick Petska"); +addCreditsLine("Nick Rose"); +addCreditsLine("Nick S. Pasto"); +addCreditsLine("Nico Schlichting"); +addCreditsLine("Nicolas Roux"); +addCreditsLine("Niklas Westerlund"); +addCreditsLine("Nikolai Sagun"); +addCreditsLine("Octavian Busuioc"); +addCreditsLine("Ola Olsson"); +addCreditsLine("Olivier Roulx"); +addCreditsLine("Omar Yehia"); +addCreditsLine("Or Yerushalmi"); +addCreditsLine("Orlando Rojas"); +addCreditsLine("Oscar Bossi"); +addCreditsLine("P. Bryan Edge-Salois"); +addCreditsLine("P.J. Allen"); +addCreditsLine("Pamela A. Holmberg"); +addCreditsLine("Pamela McClean"); +addCreditsLine("Paolo Ne"); +addCreditsLine("Paolo Petrini"); +addCreditsLine("Pr Nordenstam"); +addCreditsLine("Pascal Buettikofer"); +addCreditsLine("Pascal Woudenberg"); +addCreditsLine("Pat Callahan"); +addCreditsLine("Pat Donovan"); +addCreditsLine("Patricio Foieri"); +addCreditsLine("Patrick Bryant"); +addCreditsLine("Patrick Fitzsimons"); +addCreditsLine("Patrick Kramer"); +addCreditsLine("Patrick Peters"); +addCreditsLine("Patrick Thomas"); +addCreditsLine("Patrick Zerr"); +addCreditsLine("Patrizia Bischof"); +addCreditsLine("Paul Adriance"); +addCreditsLine("Paul Barnes"); +addCreditsLine("Paul Doucet"); +addCreditsLine("Paul Grimes"); +addCreditsLine("Paul Hormis"); +addCreditsLine("Paul J. Paella"); +addCreditsLine("Paul Jeacock"); +addCreditsLine("Paul Magyar"); +addCreditsLine("Paul McClelland"); +addCreditsLine("Paul Morris"); +addCreditsLine("Paul Polzer"); +addCreditsLine("Paul Prestopnik"); +addCreditsLine("Paul Ruhan"); +addCreditsLine("Paul Tousignant"); +addCreditsLine("Paul Warren"); +addCreditsLine("Paul Wedgwood"); +addCreditsLine("Paul Williams"); +addCreditsLine("Paul Wright"); +addCreditsLine("Penny Miller"); +addCreditsLine("Per Kristiansen"); +addCreditsLine("Per Vestersgaard-Andersen"); +addCreditsLine("Pete Harris"); +addCreditsLine("Peter Baker"); +addCreditsLine("Peter Brindpke"); +addCreditsLine("Peter Brock Madsen"); +addCreditsLine("Peter Davis"); +addCreditsLine("Peter Kazmierow"); +addCreditsLine("Peter Mayberry"); +addCreditsLine("Peter Pistorius"); +addCreditsLine("Peter Romano"); +addCreditsLine("Peter Vaisvil"); +addCreditsLine("Peter Wittig"); +addCreditsLine("Petter Eriksson"); +addCreditsLine("Petteri Taipale"); +addCreditsLine("Phil & Rebecca Carey"); +addCreditsLine("Phil Pappas"); +addCreditsLine("Philip Charles Maslied"); +addCreditsLine("Philip Schultz"); +addCreditsLine("Phill Curiale"); +addCreditsLine("Phillip Ervin"); +addCreditsLine("Phillip Kono"); +addCreditsLine("Phillip Ploesser"); +addCreditsLine("Phillip Stewart"); +addCreditsLine("Pchhacker Lee"); +addCreditsLine("Prasad Galpoththawela"); +addCreditsLine("Radu Lucian"); +addCreditsLine("Rafi Zaguri"); +addCreditsLine("Ragnar Lonn"); +addCreditsLine("Ramiro Salgado Echeverria"); +addCreditsLine("Raphael Choo Boon Leck"); +addCreditsLine("Rasmus Have"); +addCreditsLine("Rene Bortko"); +addCreditsLine("Rene Wesselius"); +addCreditsLine("Ren-Wey Yang"); +addCreditsLine("Res Ngata"); +addCreditsLine("Reto Baumann"); +addCreditsLine("Ric Moseley"); +addCreditsLine("Richard Casto"); +addCreditsLine("Richard Cole"); +addCreditsLine("Richard Egglestone"); +addCreditsLine("Richard Freeouf"); +addCreditsLine("Richard Low"); +addCreditsLine("Richard McCarthy"); +addCreditsLine("Richard Shackleton"); +addCreditsLine("Richard Thurlow"); +addCreditsLine("Rick Buford"); +addCreditsLine("Ricky Fernandez"); +addCreditsLine("Rino Nielsen"); +addCreditsLine("Rob Cundiff"); +addCreditsLine("Rob Duffy"); +addCreditsLine("Rob Jones"); +addCreditsLine("Rob Rynda"); +addCreditsLine("Rob Tyre"); +addCreditsLine("Rob Weller"); +addCreditsLine("Robert Apsel"); +addCreditsLine("Robert Cass"); +addCreditsLine("Robert Hinkle"); +addCreditsLine("Robert Jahnel"); +addCreditsLine("Robert Layser"); +addCreditsLine("Robert LeBlanc"); +addCreditsLine("Robert Polzer"); +addCreditsLine("Robert Villasana"); +addCreditsLine("Roberto Toldo"); +addCreditsLine("Rocco Borg"); +addCreditsLine("Rod Chrenek"); +addCreditsLine("Rogelio Olguin"); +addCreditsLine("Roger Sewell"); +addCreditsLine("Roland Chabbey"); +addCreditsLine("Ron Anshel"); +addCreditsLine("Ronen Lazarovitch"); +addCreditsLine("Ross A. Carlson"); +addCreditsLine("Ross Carlson"); +addCreditsLine("Ross Litchfield"); +addCreditsLine("Roy Greenhalgh"); +addCreditsLine("Rozsonits Lszl"); +addCreditsLine("Rozsonits Tibor"); +addCreditsLine("Ruben Eikeland"); +addCreditsLine("Ruben Pauwels"); +addCreditsLine("Rune Fjeld Olsen"); +addCreditsLine("Rune Hkansson"); +addCreditsLine("Rune Warhuus"); +addCreditsLine("Russ Davies"); +addCreditsLine("Russell Mein"); +addCreditsLine("Russell Thompson"); +addCreditsLine("Ryan Bailey"); +addCreditsLine("Ryan Counts"); +addCreditsLine("Ryan Gilfillan"); +addCreditsLine("Ryan Hopsecker"); +addCreditsLine("Ryan Kelly"); +addCreditsLine("Ryan Lee"); +addCreditsLine("Ryan Schoonmaker"); +addCreditsLine("Ryan Thernes"); +addCreditsLine("Sam Mackrill"); +addCreditsLine("Sam Tanis"); +addCreditsLine("Sam Whitehead"); +addCreditsLine("Samuel Heffley"); +addCreditsLine("Samuel L Jones"); +addCreditsLine("Sarah Johnstone"); +addCreditsLine("Scott Abeyta"); +addCreditsLine("Scott Allison"); +addCreditsLine("Scott Bair"); +addCreditsLine("Scott Dennis"); +addCreditsLine("Scott Egashira"); +addCreditsLine("Scott Estabrook"); +addCreditsLine("Scott Jenkins"); +addCreditsLine("Scott Kennedy"); +addCreditsLine("Scott McCulloch"); +addCreditsLine("Scott Medlin"); +addCreditsLine("Scott Miller"); +addCreditsLine("Scott Pearson"); +addCreditsLine("Scott Stahl"); +addCreditsLine("Scotty Theriot"); +addCreditsLine("Sean Brezniak"); +addCreditsLine("Sean Bryson"); +addCreditsLine("Sean Claflin"); +addCreditsLine("Sean Dawson"); +addCreditsLine("Sean Fitzsimons"); +addCreditsLine("Sean M. Davis"); +addCreditsLine("Sean Parramore"); +addCreditsLine("Sean Polzer"); +addCreditsLine("Sean Stanley"); +addCreditsLine("Sean Swayze"); +addCreditsLine("Sean Uezu"); +addCreditsLine("Sebastian Stange"); +addCreditsLine("Sebastien Guillemet"); +addCreditsLine("Sebastien Jesionka"); +addCreditsLine("Sergey Kovrov"); +addCreditsLine("Seth Buntain"); +addCreditsLine("Seth Thompson"); +addCreditsLine("Shae Pritchard-Martinez"); +addCreditsLine("Shane Beaumont"); +addCreditsLine("Shane Evans"); +addCreditsLine("Shane Froebel"); +addCreditsLine("Shane Taylor"); +addCreditsLine("Shaun Newsome"); +addCreditsLine("Shawn Christenson"); +addCreditsLine("Shelby Townsend"); +addCreditsLine("Si Donbavand"); +addCreditsLine("Simon Gooding"); +addCreditsLine("Simon Malo"); +addCreditsLine("Simon Muir"); +addCreditsLine("Simon Pedersen"); +addCreditsLine("Sing Wu"); +addCreditsLine("Sjaak Ursinus"); +addCreditsLine("Skip McIlvaine"); +addCreditsLine("Sohail Bhamani"); +addCreditsLine("Spencer Tsai"); +addCreditsLine("Stacey A Ross"); +addCreditsLine("Stan C Audle"); +addCreditsLine("Stan Ilin"); +addCreditsLine("Stan James"); +addCreditsLine("Stef Johannes Henderson"); +addCreditsLine("Stefan Grufman"); +addCreditsLine("Stefan Kiesel"); +addCreditsLine("Stefano Petrullo"); +addCreditsLine("Stefano Zanola"); +addCreditsLine("Steffen Knapp"); +addCreditsLine("Stephan Brezinsky"); +addCreditsLine("Stephen Cimprich"); +addCreditsLine("Stephen Le Petit"); +addCreditsLine("Stephen Limowski"); +addCreditsLine("Stephen Lynch"); +addCreditsLine("Stephen Summerell"); +addCreditsLine("Steve Bailey"); +addCreditsLine("Steve Batham"); +addCreditsLine("Steve Carrion"); +addCreditsLine("Steve Gibson"); +addCreditsLine("Steve Nixon"); +addCreditsLine("Steve Pompel"); +addCreditsLine("Steve Saulle"); +addCreditsLine("Steve Smith"); +addCreditsLine("Steve Stryd"); +addCreditsLine("Steve Tory"); +addCreditsLine("Steven E. Adams"); +addCreditsLine("Steven Grossman"); +addCreditsLine("Steven Kats"); +addCreditsLine("Steven Knox"); +addCreditsLine("Steven Kusewicz"); +addCreditsLine("Stewart Laufer"); +addCreditsLine("Stewart Tosh"); +addCreditsLine("Stuart Ross Robertson"); +addCreditsLine("T.J. Allard"); +addCreditsLine("Takafumi Kobayashi"); +addCreditsLine("Takashi Morikawa"); +addCreditsLine("Tal Muskal"); +addCreditsLine("Tal Nelson"); +addCreditsLine("Tan Peng Koon"); +addCreditsLine("Tanner Burgess"); +addCreditsLine("Taylor Stewart"); +addCreditsLine("Taylor Suchan"); +addCreditsLine("Teck Wong"); +addCreditsLine("Terje Alexander Barth"); +addCreditsLine("Tero Heija"); +addCreditsLine("Theresa Petersen"); +addCreditsLine("Thomas Dnnecke"); +addCreditsLine("Thomas From"); +addCreditsLine("Thomas Goemaere"); +addCreditsLine("Thomas Hardy"); +addCreditsLine("Thomas Kumpik, Jr."); +addCreditsLine("Thomas Prinz"); +addCreditsLine("Thomas R. Bissell III"); +addCreditsLine("Thomas Ribbeck"); +addCreditsLine("Tiffany Diaz"); +addCreditsLine("Tim Engelman"); +addCreditsLine("Tim Hammock"); +addCreditsLine("Tim Kautz"); +addCreditsLine("Tim ONeil"); +addCreditsLine("Tim Rider"); +addCreditsLine("Tim Smith"); +addCreditsLine("Tim Thompson"); +addCreditsLine("Tim Yeung"); +addCreditsLine("Timen Wuestman"); +addCreditsLine("Timothy C. Stanton"); +addCreditsLine("Timothy Lewis"); +addCreditsLine("Todd Northcutt"); +addCreditsLine("Todd Sjoblom"); +addCreditsLine("Tom Beijar Johansson"); +addCreditsLine("Tom Carel"); +addCreditsLine("Tom Ellis"); +addCreditsLine("Tom Fulton"); +addCreditsLine("Tom Gordon"); +addCreditsLine("Tom Roger Tran"); +addCreditsLine("Tom Szabo"); +addCreditsLine("Tom Vogt"); +addCreditsLine("Tomi Partanen"); +addCreditsLine("Toni Ahonen"); +addCreditsLine("Tony Caskanette"); +addCreditsLine("Torbjrn stlund"); +addCreditsLine("Travis Ramme"); +addCreditsLine("Trent Donelson"); +addCreditsLine("Trevor Lanz"); +addCreditsLine("Trevor McGuire"); +addCreditsLine("Troy H. Benson"); +addCreditsLine("Troy Lee"); +addCreditsLine("Tyler Endicott"); +addCreditsLine("Tyler Frans"); +addCreditsLine("Tyler Jacobson"); +addCreditsLine("Tyler Jensen"); +addCreditsLine("Tyler Lott"); +addCreditsLine("Uli Muller"); +addCreditsLine("Verner Fortelius"); +addCreditsLine("Vic Stelter"); +addCreditsLine("Vidar Alms Pettersen"); +addCreditsLine("Ville Halonen"); +addCreditsLine("Vincent Cunniffe"); +addCreditsLine("Vitor Coelho"); +addCreditsLine("Wai wong"); +addCreditsLine("Wasif Azmat"); +addCreditsLine("Wayne Opai"); +addCreditsLine("Wayne Tory"); +addCreditsLine("Wayne Wallace"); +addCreditsLine("Werner Ptzelberger"); +addCreditsLine("Wes Sanders"); +addCreditsLine("Will Belknap"); +addCreditsLine("Will Erickson"); +addCreditsLine("Will Preisch"); +addCreditsLine("Willem Bison"); +addCreditsLine("William Everett"); +addCreditsLine("William Goldberg"); +addCreditsLine("William Helm"); +addCreditsLine("William Houston"); +addCreditsLine("William Klimke"); +addCreditsLine("William Knop"); +addCreditsLine("William Moss"); +addCreditsLine("William Prideaux-Brune"); +addCreditsLine("William Sherriff"); +addCreditsLine("Wilson Bilkovich"); +addCreditsLine("Wing Hon Lai"); +addCreditsLine("Wu Yiheng"); +addCreditsLine("Yanai Sachs"); +addCreditsLine("YeongJin Bae"); +addCreditsLine("Yongchan Jee"); +addCreditsLine("Yves Peckstadt"); +addCreditsLine("Zach McCuin"); +addCreditsLine("Zachary Charles "); +addCreditsLine("Zachary Denholm"); +addCreditsLine("Zion Mizrahi"); +addCreditsLine("Zsolt Vincze"); +addCreditsLine(""); +addCreditsLine("Operation Big Booze"); +addCreditsLine("Phil \"Vlad\" Pappas"); +addCreditsLine("Greg \"Satan\" Romaszka"); +addCreditsLine("Steve \"Cpt.Wussie!!!\" Snow"); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine(""); +addCreditsLine("So Long, and Thanks For All The Fish."); +addCreditsLine("Tribes2 Development Team", true); diff --git a/public/base/@vl2/scripts.vl2/scripts/cursors.cs b/public/base/@vl2/scripts.vl2/scripts/cursors.cs new file mode 100644 index 00000000..658e41f3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/cursors.cs @@ -0,0 +1,63 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Editor Cursors +//------------------------------------------------------------------------------ + +new GuiCursor(EditorHandCursor) +{ + hotSpot = "7 0"; + bitmapName = "gui/CUR_hand.png"; +}; + +new GuiCursor(EditorRotateCursor) +{ + hotSpot = "11 18"; + bitmapName = "gui/CUR_rotate.png"; +}; + +new GuiCursor(EditorMoveCursor) +{ + hotSpot = "9 13"; + bitmapName = "gui/CUR_grab.png"; +}; + +new GuiCursor(EditorArrowCursor) +{ + hotSpot = "0 0"; + bitmapName = "gui/CUR_3darrow.png"; +}; + +new GuiCursor(EditorUpDownCursor) +{ + hotSpot = "5 10"; + bitmapName = "gui/CUR_3dupdown"; +}; +new GuiCursor(EditorLeftRightCursor) +{ + hotSpot = "9 5"; + bitmapName = "gui/CUR_3dleftright"; +}; + +new GuiCursor(EditorDiagRightCursor) +{ + hotSpot = "8 8"; + bitmapName = "gui/CUR_3ddiagright"; +}; + +new GuiCursor(EditorDiagLeftCursor) +{ + hotSpot = "8 8"; + bitmapName = "gui/CUR_3ddiagleft"; +}; + +new GuiControl(EmptyControl) +{ + profile = "GuiButtonProfile"; +}; + + diff --git a/public/base/@vl2/scripts.vl2/scripts/damageTypes.cs b/public/base/@vl2/scripts.vl2/scripts/damageTypes.cs new file mode 100644 index 00000000..192310c6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/damageTypes.cs @@ -0,0 +1,718 @@ +//-------------------------------------------------------------------------- +// TYPES OF ALLOWED DAMAGE +//-------------------------------------------------------------------------- + +$DamageType::Default = 0; +$DamageType::Blaster = 1; +$DamageType::Plasma = 2; +$DamageType::Bullet = 3; +$DamageType::Disc = 4; +$DamageType::Grenade = 5; +$DamageType::Laser = 6; // NOTE: This value is referenced directly in code. DO NOT CHANGE! +$DamageType::ELF = 7; +$DamageType::Mortar = 8; +$DamageType::Missile = 9; +$DamageType::ShockLance = 10; +$DamageType::Mine = 11; +$DamageType::Explosion = 12; +$DamageType::Impact = 13; // Object to object collisions +$DamageType::Ground = 14; // Object to ground collisions +$DamageType::Turret = 15; + +$DamageType::PlasmaTurret = 16; +$DamageType::AATurret = 17; +$DamageType::ElfTurret = 18; +$DamageType::MortarTurret = 19; +$DamageType::MissileTurret = 20; +$DamageType::IndoorDepTurret = 21; +$DamageType::OutdoorDepTurret = 22; +$DamageType::SentryTurret = 23; + +$DamageType::OutOfBounds = 24; +$DamageType::Lava = 25; + +$DamageType::ShrikeBlaster = 26; +$DamageType::BellyTurret = 27; +$DamageType::BomberBombs = 28; +$DamageType::TankChaingun = 29; +$DamageType::TankMortar = 30; +$DamageType::SatchelCharge = 31; +$DamageType::MPBMissile = 32; +$DamageType::Lightning = 33; +$DamageType::VehicleSpawn = 34; +$DamageType::ForceFieldPowerup = 35; +$DamageType::Crash = 36; + +// DMM -- added so MPBs that blow up under water get a message +$DamageType::Water = 97; + +//Tinman - used in Hunters for cheap bastards ;) +$DamageType::NexusCamping = 98; + +// MES -- added so CTRL-K can get a distinctive message +$DamageType::Suicide = 99; + +// Etc, etc. + +$DamageTypeText[0] = 'default'; +$DamageTypeText[1] = 'blaster'; +$DamageTypeText[2] = 'plasma'; +$DamageTypeText[3] = 'chaingun'; +$DamageTypeText[4] = 'disc'; +$DamageTypeText[5] = 'grenade'; +$DamageTypeText[6] = 'laser'; +$DamageTypeText[7] = 'ELF'; +$DamageTypeText[8] = 'mortar'; +$DamageTypeText[9] = 'missile'; +$DamageTypeText[10] = 'shocklance'; +$DamageTypeText[11] = 'mine'; +$DamageTypeText[12] = 'explosion'; +$DamageTypeText[13] = 'impact'; +$DamageTypeText[14] = 'ground'; +$DamageTypeText[15] = 'turret'; +$DamageTypeText[16] = 'plasma turret'; +$DamageTypeText[17] = 'AA turret'; +$DamageTypeText[18] = 'ELF turret'; +$DamageTypeText[19] = 'mortar turret'; +$DamageTypeText[20] = 'missile turret'; +$DamageTypeText[21] = 'clamp turret'; +$DamageTypeText[22] = 'spike turret'; +$DamageTypeText[23] = 'sentry turret'; +$DamageTypeText[24] = 'out of bounds'; +$DamageTypeText[25] = 'lava'; +$DamageTypeText[26] = 'shrike blaster'; +$DamageTypeText[27] = 'belly turret'; +$DamageTypeText[28] = 'bomber bomb'; +$DamageTypeText[29] = 'tank chaingun'; +$DamageTypeText[30] = 'tank mortar'; +$DamageTypeText[31] = 'satchel charge'; +$DamageTypeText[32] = 'MPB missile'; +$DamageTypeText[33] = 'lighting'; +$DamageTypeText[35] = 'ForceField'; +$DamageTypeText[36] = 'Crash'; +$DamageTypeText[98] = 'nexus camping'; +$DamageTypeText[99] = 'suicide'; + + +// ##### PLEASE DO NOT REORDER THE DAMAGE PROFILE TABLES BELOW ##### +// (They are set up in the same order as the "Weapons Matrix.xls" sheet for ease of reference when balancing) + +//---------------------------------------------------------------------------- +// VEHICLE DAMAGE PROFILES +//---------------------------------------------------------------------------- + +//**** SHRIKE SCOUT FIGHTER **** +datablock SimDataBlock(ShrikeDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 1.75; + shieldDamageScale[$DamageType::Bullet] = 1.75; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 0.5; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 4.0; + shieldDamageScale[$DamageType::BellyTurret] = 2.0; + shieldDamageScale[$DamageType::AATurret] = 3.0; + shieldDamageScale[$DamageType::IndoorDepTurret] = 2.5; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 2.5; + shieldDamageScale[$DamageType::SentryTurret] = 2.5; + shieldDamageScale[$DamageType::Disc] = 1.5; + shieldDamageScale[$DamageType::Grenade] = 1.0; + shieldDamageScale[$DamageType::Mine] = 3.0; + shieldDamageScale[$DamageType::Missile] = 3.0; + shieldDamageScale[$DamageType::Mortar] = 2.0; + shieldDamageScale[$DamageType::Plasma] = 1.0; + shieldDamageScale[$DamageType::BomberBombs] = 3.0; + shieldDamageScale[$DamageType::TankChaingun] = 3.0; + shieldDamageScale[$DamageType::TankMortar] = 2.0; + shieldDamageScale[$DamageType::MissileTurret] = 3.0; + shieldDamageScale[$DamageType::MortarTurret] = 2.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 2.0; + shieldDamageScale[$DamageType::SatchelCharge] = 3.5; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 1.1; + shieldDamageScale[$DamageType::Ground] = 1.0; + shieldDamageScale[$DamageType::Explosion] = 3.0; + shieldDamageScale[$DamageType::Lightning] = 10.0; + + damageScale[$DamageType::Blaster] = 1.0; + damageScale[$DamageType::Bullet] = 1.0; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 3.5; + damageScale[$DamageType::BellyTurret] = 1.2; + damageScale[$DamageType::AATurret] = 1.5; + damageScale[$DamageType::IndoorDepTurret] = 1.5; + damageScale[$DamageType::OutdoorDepTurret] = 1.5; + damageScale[$DamageType::SentryTurret] = 1.5; + damageScale[$DamageType::Disc] = 1.25; + damageScale[$DamageType::Grenade] = 0.75; + damageScale[$DamageType::Mine] = 4.0; + damageScale[$DamageType::Missile] = 2.0; + damageScale[$DamageType::Mortar] = 2.0; + damageScale[$DamageType::Plasma] = 0.5; + damageScale[$DamageType::BomberBombs] = 2.0; + damageScale[$DamageType::TankChaingun] = 2.0; + damageScale[$DamageType::TankMortar] = 2.0; + damageScale[$DamageType::MissileTurret] = 1.5; + damageScale[$DamageType::MortarTurret] = 2.0; + damageScale[$DamageType::PlasmaTurret] = 2.0; + damageScale[$DamageType::SatchelCharge] = 3.5; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 1.1; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 2.0; + damageScale[$DamageType::Lightning] = 10.0; +}; + +//**** THUNDERSWORD BOMBER **** +datablock SimDataBlock(BomberDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 1.0; + shieldDamageScale[$DamageType::Bullet] = 1.0; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 0.5; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 3.5; + shieldDamageScale[$DamageType::BellyTurret] = 2.0; + shieldDamageScale[$DamageType::AATurret] = 3.0; + shieldDamageScale[$DamageType::IndoorDepTurret] = 2.25; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 2.25; + shieldDamageScale[$DamageType::SentryTurret] = 2.25; + shieldDamageScale[$DamageType::Disc] = 1.0; + shieldDamageScale[$DamageType::Grenade] = 1.0; + shieldDamageScale[$DamageType::Mine] = 3.0; + shieldDamageScale[$DamageType::Missile] = 3.0; + shieldDamageScale[$DamageType::Mortar] = 2.0; + shieldDamageScale[$DamageType::Plasma] = 1.0; + shieldDamageScale[$DamageType::BomberBombs] = 3.0; + shieldDamageScale[$DamageType::TankChaingun] = 3.0; + shieldDamageScale[$DamageType::TankMortar] = 2.0; + shieldDamageScale[$DamageType::MissileTurret] = 3.0; + shieldDamageScale[$DamageType::MortarTurret] = 2.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 2.0; + shieldDamageScale[$DamageType::SatchelCharge] = 3.5; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 0.8; + shieldDamageScale[$DamageType::Ground] = 1.0; + shieldDamageScale[$DamageType::Explosion] = 3.0; + shieldDamageScale[$DamageType::Lightning] = 10.0; + + damageScale[$DamageType::Blaster] = 0.75; + damageScale[$DamageType::Bullet] = 0.75; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 2.5; + damageScale[$DamageType::BellyTurret] = 1.2; + damageScale[$DamageType::AATurret] = 1.5; + damageScale[$DamageType::IndoorDepTurret] = 1.25; + damageScale[$DamageType::OutdoorDepTurret] = 1.25; + damageScale[$DamageType::SentryTurret] = 1.25; + damageScale[$DamageType::Disc] = 1.0; + damageScale[$DamageType::Grenade] = 0.75; + damageScale[$DamageType::Mine] = 4.0; + damageScale[$DamageType::Missile] = 1.5; + damageScale[$DamageType::Mortar] = 2.0; + damageScale[$DamageType::Plasma] = 0.5; + damageScale[$DamageType::BomberBombs] = 2.0; + damageScale[$DamageType::TankChaingun] = 2.0; + damageScale[$DamageType::TankMortar] = 2.0; + damageScale[$DamageType::MissileTurret] = 1.5; + damageScale[$DamageType::MortarTurret] = 2.0; + damageScale[$DamageType::PlasmaTurret] = 2.0; + damageScale[$DamageType::SatchelCharge] = 3.5; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 0.8; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 2.0; + damageScale[$DamageType::Lightning] = 10.0; +}; + +//**** HAVOC TRANSPORT **** +datablock SimDataBlock(HavocDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 1.0; + shieldDamageScale[$DamageType::Bullet] = 1.0; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 0.5; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 3.5; + shieldDamageScale[$DamageType::BellyTurret] = 2.0; + shieldDamageScale[$DamageType::AATurret] = 3.0; + shieldDamageScale[$DamageType::IndoorDepTurret] = 2.25; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 2.25; + shieldDamageScale[$DamageType::SentryTurret] = 2.25; + shieldDamageScale[$DamageType::Disc] = 1.0; + shieldDamageScale[$DamageType::Grenade] = 1.0; + shieldDamageScale[$DamageType::Mine] = 3.0; + shieldDamageScale[$DamageType::Missile] = 3.0; + shieldDamageScale[$DamageType::Mortar] = 2.0; + shieldDamageScale[$DamageType::Plasma] = 1.0; + shieldDamageScale[$DamageType::BomberBombs] = 3.0; + shieldDamageScale[$DamageType::TankChaingun] = 3.0; + shieldDamageScale[$DamageType::TankMortar] = 2.0; + shieldDamageScale[$DamageType::MissileTurret] = 3.0; + shieldDamageScale[$DamageType::MortarTurret] = 2.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 2.0; + shieldDamageScale[$DamageType::SatchelCharge] = 3.5; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 0.5; + shieldDamageScale[$DamageType::Ground] = 1.0; + shieldDamageScale[$DamageType::Explosion] = 3.0; + shieldDamageScale[$DamageType::Lightning] = 10.0; + + damageScale[$DamageType::Blaster] = 0.75; + damageScale[$DamageType::Bullet] = 0.75; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 2.5; + damageScale[$DamageType::BellyTurret] = 1.2; + damageScale[$DamageType::AATurret] = 1.5; + damageScale[$DamageType::IndoorDepTurret] = 1.25; + damageScale[$DamageType::OutdoorDepTurret] = 1.25; + damageScale[$DamageType::SentryTurret] = 1.25; + damageScale[$DamageType::Disc] = 1.0; + damageScale[$DamageType::Grenade] = 0.75; + damageScale[$DamageType::Mine] = 4.0; + damageScale[$DamageType::Missile] = 1.5; + damageScale[$DamageType::Mortar] = 2.0; + damageScale[$DamageType::Plasma] = 0.5; + damageScale[$DamageType::BomberBombs] = 2.0; + damageScale[$DamageType::TankChaingun] = 2.0; + damageScale[$DamageType::TankMortar] = 2.0; + damageScale[$DamageType::MissileTurret] = 1.5; + damageScale[$DamageType::MortarTurret] = 2.0; + damageScale[$DamageType::PlasmaTurret] = 2.0; + damageScale[$DamageType::SatchelCharge] = 3.5; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 0.5; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 2.0; + damageScale[$DamageType::Lightning] = 10.0; +}; + +//**** WILDCAT GRAV CYCLE **** +datablock SimDataBlock(WildcatDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 2.0; + shieldDamageScale[$DamageType::Bullet] = 2.5; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 1.0; + shieldDamageScale[$DamageType::Laser] = 4.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 6.0; + shieldDamageScale[$DamageType::BellyTurret] = 2.0; + shieldDamageScale[$DamageType::AATurret] = 2.0; + shieldDamageScale[$DamageType::IndoorDepTurret] = 2.5; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 2.5; + shieldDamageScale[$DamageType::Disc] = 2.5; + shieldDamageScale[$DamageType::Grenade] = 2.0; + shieldDamageScale[$DamageType::Mine] = 4.0; + shieldDamageScale[$DamageType::Missile] = 4.0; + shieldDamageScale[$DamageType::Mortar] = 2.0; + shieldDamageScale[$DamageType::Plasma] = 2.0; + shieldDamageScale[$DamageType::BomberBombs] = 2.5; + shieldDamageScale[$DamageType::TankChaingun] = 3.0; + shieldDamageScale[$DamageType::TankMortar] = 2.0; + shieldDamageScale[$DamageType::MissileTurret] = 4.0; + shieldDamageScale[$DamageType::MortarTurret] = 2.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 2.0; + shieldDamageScale[$DamageType::SatchelCharge] = 3.0; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 1.25; + shieldDamageScale[$DamageType::Ground] = 1.0; + shieldDamageScale[$DamageType::Explosion] = 2.0; + shieldDamageScale[$DamageType::Lightning] = 5.0; + + damageScale[$DamageType::Blaster] = 1.5; + damageScale[$DamageType::Bullet] = 1.2; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 2.0; + damageScale[$DamageType::ShrikeBlaster] = 4.0; + damageScale[$DamageType::BellyTurret] = 1.5; + damageScale[$DamageType::AATurret] = 1.0; + damageScale[$DamageType::IndoorDepTurret] = 1.0; + damageScale[$DamageType::OutdoorDepTurret] = 1.0; + damageScale[$DamageType::Disc] = 1.25; + damageScale[$DamageType::Grenade] = 1.0; + damageScale[$DamageType::Mine] = 4.0; + damageScale[$DamageType::Missile] = 1.2; + damageScale[$DamageType::Mortar] = 1.0; + damageScale[$DamageType::Plasma] = 1.5; + damageScale[$DamageType::BomberBombs] = 2.0; + damageScale[$DamageType::TankChaingun] = 2.0; + damageScale[$DamageType::TankMortar] = 1.0; + damageScale[$DamageType::MissileTurret] = 1.2; + damageScale[$DamageType::MortarTurret] = 1.0; + damageScale[$DamageType::PlasmaTurret] = 1.0; + damageScale[$DamageType::SatchelCharge] = 2.2; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 1.25; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 1.0; + damageScale[$DamageType::Lightning] = 5.0; +}; + +//**** BEOWULF TANK **** +datablock SimDataBlock(TankDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 0.6; + shieldDamageScale[$DamageType::Bullet] = 0.75; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 0.5; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 1.75; + shieldDamageScale[$DamageType::BellyTurret] = 1.25; + shieldDamageScale[$DamageType::AATurret] = 0.8; + shieldDamageScale[$DamageType::IndoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::Disc] = 0.8; + shieldDamageScale[$DamageType::Grenade] = 0.8; + shieldDamageScale[$DamageType::Mine] = 3.25; + shieldDamageScale[$DamageType::Missile] = 2.0; + shieldDamageScale[$DamageType::Mortar] = 1.7; + shieldDamageScale[$DamageType::Plasma] = 1.0; + shieldDamageScale[$DamageType::BomberBombs] = 1.5; + shieldDamageScale[$DamageType::TankChaingun] = 1.5; + shieldDamageScale[$DamageType::TankMortar] = 1.8; + shieldDamageScale[$DamageType::MissileTurret] = 1.25; + shieldDamageScale[$DamageType::MortarTurret] = 1.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 1.25; + shieldDamageScale[$DamageType::SatchelCharge] = 2.0; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 0.75; + shieldDamageScale[$DamageType::Ground] = 0.75; + shieldDamageScale[$DamageType::Explosion] = 2.0; + shieldDamageScale[$DamageType::Lightning] = 10.0; + + damageScale[$DamageType::Blaster] = 0.75; + damageScale[$DamageType::Bullet] = 0.75; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 2.0; + damageScale[$DamageType::BellyTurret] = 1.0; + damageScale[$DamageType::AATurret] = 1.0; + damageScale[$DamageType::IndoorDepTurret] = 1.0; + damageScale[$DamageType::OutdoorDepTurret] = 1.0; + damageScale[$DamageType::Disc] = 1.0; + damageScale[$DamageType::Grenade] = 1.0; + damageScale[$DamageType::Mine] = 2.25; + damageScale[$DamageType::Missile] = 1.25; + damageScale[$DamageType::Mortar] = 1.4; + damageScale[$DamageType::Plasma] = 0.5; + damageScale[$DamageType::BomberBombs] = 1.0; + damageScale[$DamageType::TankChaingun] = 0.75; + damageScale[$DamageType::TankMortar] = 1.6; + damageScale[$DamageType::MissileTurret] = 1.25; + damageScale[$DamageType::MortarTurret] = 1.0; + damageScale[$DamageType::PlasmaTurret] = 1.0; + damageScale[$DamageType::SatchelCharge] = 2.0; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 0.75; + damageScale[$DamageType::Ground] = 0.75; + damageScale[$DamageType::Explosion] = 1.0; + damageScale[$DamageType::Lightning] = 10.0; +}; + +//**** JERICHO MPB **** +datablock SimDataBlock(MPBDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 0.6; + shieldDamageScale[$DamageType::Bullet] = 0.75; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 0.5; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 1.75; + shieldDamageScale[$DamageType::BellyTurret] = 1.25; + shieldDamageScale[$DamageType::AATurret] = 0.8; + shieldDamageScale[$DamageType::IndoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::Disc] = 0.8; + shieldDamageScale[$DamageType::Grenade] = 0.8; + shieldDamageScale[$DamageType::Mine] = 3.25; + shieldDamageScale[$DamageType::Missile] = 2.0; + shieldDamageScale[$DamageType::Mortar] = 0.8; + shieldDamageScale[$DamageType::Plasma] = 1.0; + shieldDamageScale[$DamageType::BomberBombs] = 1.5; + shieldDamageScale[$DamageType::TankChaingun] = 1.5; + shieldDamageScale[$DamageType::TankMortar] = 1.4; + shieldDamageScale[$DamageType::MissileTurret] = 1.25; + shieldDamageScale[$DamageType::MortarTurret] = 1.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 1.25; + shieldDamageScale[$DamageType::SatchelCharge] = 2.0; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 0.5; + shieldDamageScale[$DamageType::Ground] = 0.5; + shieldDamageScale[$DamageType::Explosion] = 2.0; + shieldDamageScale[$DamageType::Lightning] = 10.0; + + damageScale[$DamageType::Blaster] = 0.75; + damageScale[$DamageType::Bullet] = 0.75; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 2.0; + damageScale[$DamageType::BellyTurret] = 1.0; + damageScale[$DamageType::AATurret] = 1.0; + damageScale[$DamageType::IndoorDepTurret] = 1.0; + damageScale[$DamageType::OutdoorDepTurret] = 1.0; + damageScale[$DamageType::Disc] = 1.0; + damageScale[$DamageType::Grenade] = 1.0; + damageScale[$DamageType::Mine] = 2.25; + damageScale[$DamageType::Missile] = 1.25; + damageScale[$DamageType::Mortar] = 1.0; + damageScale[$DamageType::Plasma] = 0.5; + damageScale[$DamageType::BomberBombs] = 1.0; + damageScale[$DamageType::TankChaingun] = 0.75; + damageScale[$DamageType::TankMortar] = 1.0; + damageScale[$DamageType::MissileTurret] = 1.25; + damageScale[$DamageType::MortarTurret] = 1.0; + damageScale[$DamageType::PlasmaTurret] = 1.0; + damageScale[$DamageType::SatchelCharge] = 2.0; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 0.5; + damageScale[$DamageType::Ground] = 0.5; + damageScale[$DamageType::Explosion] = 1.0; + damageScale[$DamageType::Lightning] = 10.0; +}; + +//---------------------------------------------------------------------------- +// TURRET DAMAGE PROFILES +//---------------------------------------------------------------------------- + +datablock SimDataBlock(TurretDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 0.8; + shieldDamageScale[$DamageType::Bullet] = 0.8; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 0.5; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 3.0; + shieldDamageScale[$DamageType::BellyTurret] = 2.0; + shieldDamageScale[$DamageType::AATurret] = 1.0; + shieldDamageScale[$DamageType::IndoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::SentryTurret] = 1.0; + shieldDamageScale[$DamageType::Disc] = 1.0; + shieldDamageScale[$DamageType::Grenade] = 1.5; + shieldDamageScale[$DamageType::Mine] = 3.0; + shieldDamageScale[$DamageType::Missile] = 3.0; + shieldDamageScale[$DamageType::Mortar] = 3.0; + shieldDamageScale[$DamageType::Plasma] = 1.0; + shieldDamageScale[$DamageType::BomberBombs] = 2.0; + shieldDamageScale[$DamageType::TankChaingun] = 1.5; + shieldDamageScale[$DamageType::TankMortar] = 3.0; + shieldDamageScale[$DamageType::MissileTurret] = 3.0; + shieldDamageScale[$DamageType::MortarTurret] = 3.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 2.0; + shieldDamageScale[$DamageType::SatchelCharge] = 4.5; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 1.0; + shieldDamageScale[$DamageType::Ground] = 1.0; + shieldDamageScale[$DamageType::Explosion] = 2.0; + shieldDamageScale[$DamageType::Lightning] = 5.0; + + damageScale[$DamageType::Blaster] = 0.8; + damageScale[$DamageType::Bullet] = 0.9; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 0.50; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 1.0; + damageScale[$DamageType::BellyTurret] = 0.6; + damageScale[$DamageType::AATurret] = 1.0; + damageScale[$DamageType::IndoorDepTurret] = 1.0; + damageScale[$DamageType::OutdoorDepTurret] = 1.0; + damageScale[$DamageType::SentryTurret] = 1.0; + damageScale[$DamageType::Disc] = 1.1; + damageScale[$DamageType::Grenade] = 1.0; + damageScale[$DamageType::Mine] = 1.5; + damageScale[$DamageType::Missile] = 1.25; + damageScale[$DamageType::Mortar] = 1.25; + damageScale[$DamageType::Plasma] = 0.75; + damageScale[$DamageType::BomberBombs] = 1.0; + damageScale[$DamageType::TankChaingun] = 1.25; + damageScale[$DamageType::TankMortar] = 1.25; + damageScale[$DamageType::MissileTurret] = 1.25; + damageScale[$DamageType::MortarTurret] = 1.25; + damageScale[$DamageType::PlasmaTurret] = 1.25; + damageScale[$DamageType::SatchelCharge] = 1.5; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 1.0; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 1.0; + damageScale[$DamageType::Lightning] = 5.0; +}; + +//---------------------------------------------------------------------------- +// STATIC SHAPE DAMAGE PROFILES +//---------------------------------------------------------------------------- + +datablock SimDataBlock(StaticShapeDamageProfile) +{ + shieldDamageScale[$DamageType::Blaster] = 0.8; + shieldDamageScale[$DamageType::Bullet] = 1.0; + shieldDamageScale[$DamageType::ELF] = 1.0; + shieldDamageScale[$DamageType::ShockLance] = 1.0; + shieldDamageScale[$DamageType::Laser] = 1.0; + shieldDamageScale[$DamageType::ShrikeBlaster] = 2.0; + shieldDamageScale[$DamageType::BellyTurret] = 1.5; + shieldDamageScale[$DamageType::AATurret] = 1.0; + shieldDamageScale[$DamageType::IndoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::OutdoorDepTurret] = 1.0; + shieldDamageScale[$DamageType::Turret] = 1.0; + shieldDamageScale[$DamageType::SentryTurret] = 1.0; + shieldDamageScale[$DamageType::Disc] = 1.0; + shieldDamageScale[$DamageType::Grenade] = 1.2; + shieldDamageScale[$DamageType::Mine] = 2.0; + shieldDamageScale[$DamageType::Missile] = 3.0; + shieldDamageScale[$DamageType::Mortar] = 3.0; + shieldDamageScale[$DamageType::Plasma] = 1.5; + shieldDamageScale[$DamageType::BomberBombs] = 2.0; + shieldDamageScale[$DamageType::TankChaingun] = 1.5; + shieldDamageScale[$DamageType::TankMortar] = 3.0; + shieldDamageScale[$DamageType::MissileTurret] = 3.0; + shieldDamageScale[$DamageType::MortarTurret] = 3.0; + shieldDamageScale[$DamageType::PlasmaTurret] = 2.0; + shieldDamageScale[$DamageType::SatchelCharge] = 6.0; + shieldDamageScale[$DamageType::Default] = 1.0; + shieldDamageScale[$DamageType::Impact] = 1.25; + shieldDamageScale[$DamageType::Ground] = 1.0; + shieldDamageScale[$DamageType::Explosion] = 2.0; + shieldDamageScale[$DamageType::Lightning] = 5.0; + + damageScale[$DamageType::Blaster] = 1.0; + damageScale[$DamageType::Bullet] = 1.0; + damageScale[$DamageType::ELF] = 0.0; + damageScale[$DamageType::ShockLance] = 1.0; + damageScale[$DamageType::Laser] = 1.0; + damageScale[$DamageType::ShrikeBlaster] = 2.0; + damageScale[$DamageType::BellyTurret] = 1.2; + damageScale[$DamageType::AATurret] = 1.0; + damageScale[$DamageType::IndoorDepTurret] = 1.0; + damageScale[$DamageType::OutdoorDepTurret] = 1.0; + damageScale[$DamageType::SentryTurret] = 1.0; + damageScale[$DamageType::Disc] = 1.15; + damageScale[$DamageType::Grenade] = 1.2; + damageScale[$DamageType::Mine] = 2.0; + damageScale[$DamageType::Missile] = 2.0; + damageScale[$DamageType::Mortar] = 2.0; + damageScale[$DamageType::Plasma] = 1.25; + damageScale[$DamageType::BomberBombs] = 1.0; + damageScale[$DamageType::TankChaingun] = 1.0; + damageScale[$DamageType::TankMortar] = 2.0; + damageScale[$DamageType::MissileTurret] = 2.0; + damageScale[$DamageType::MortarTurret] = 2.0; + damageScale[$DamageType::PlasmaTurret] = 2.0; + damageScale[$DamageType::SatchelCharge] = 4.0; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 1.25; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 1.0; + damageScale[$DamageType::Lightning] = 5.0; +}; + +//---------------------------------------------------------------------------- +// PLAYER DAMAGE PROFILES +//---------------------------------------------------------------------------- + +datablock SimDataBlock(LightPlayerDamageProfile) +{ + damageScale[$DamageType::Blaster] = 1.3; + damageScale[$DamageType::Bullet] = 1.2; + damageScale[$DamageType::ELF] = 0.75; + damageScale[$DamageType::ShockLance] = 1.0; + damageScale[$DamageType::Laser] = 1.12; + damageScale[$DamageType::ShrikeBlaster] = 1.10; + damageScale[$DamageType::BellyTurret] = 1.0; + damageScale[$DamageType::AATurret] = 0.7; + damageScale[$DamageType::IndoorDepTurret] = 1.3; + damageScale[$DamageType::OutdoorDepTurret] = 1.3; + damageScale[$DamageType::SentryTurret] = 1.0; + damageScale[$DamageType::Disc] = 1.0; + damageScale[$DamageType::Grenade] = 1.2; + damageScale[$DamageType::Mine] = 1.0; + damageScale[$DamageType::Missile] = 1.0; + damageScale[$DamageType::Mortar] = 1.3; + damageScale[$DamageType::Plasma] = 1.0; + damageScale[$DamageType::BomberBombs] = 3.0; + damageScale[$DamageType::TankChaingun] = 1.7; + damageScale[$DamageType::TankMortar] = 1.0; + damageScale[$DamageType::MissileTurret] = 1.0; + damageScale[$DamageType::MortarTurret] = 1.3; + damageScale[$DamageType::PlasmaTurret] = 1.0; + damageScale[$DamageType::SatchelCharge] = 3.0; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 1.2; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 1.0; + damageScale[$DamageType::Lightning] = 1.0; +}; + +datablock SimDataBlock(MediumPlayerDamageProfile) +{ + damageScale[$DamageType::Blaster] = 1.0; + damageScale[$DamageType::Bullet] = 1.0; + damageScale[$DamageType::ELF] = 0.75; + damageScale[$DamageType::ShockLance] = 1.0; + damageScale[$DamageType::Laser] = 1.1; + damageScale[$DamageType::ShrikeBlaster] = 1.0; + damageScale[$DamageType::BellyTurret] = 1.0; + damageScale[$DamageType::AATurret] = 0.7; + damageScale[$DamageType::IndoorDepTurret] = 1.0; + damageScale[$DamageType::OutdoorDepTurret] = 1.0; + damageScale[$DamageType::SentryTurret] = 1.0; + damageScale[$DamageType::Disc] = 0.8; + damageScale[$DamageType::Grenade] = 1.0; + damageScale[$DamageType::Mine] = 0.9; + damageScale[$DamageType::Missile] = 0.8; + damageScale[$DamageType::Mortar] = 1.0; + damageScale[$DamageType::Plasma] = 0.65; + damageScale[$DamageType::BomberBombs] = 3.0; + damageScale[$DamageType::TankChaingun] = 1.5; + damageScale[$DamageType::TankMortar] = 0.85; + damageScale[$DamageType::MissileTurret] = 0.8; + damageScale[$DamageType::MortarTurret] = 1.0; + damageScale[$DamageType::PlasmaTurret] = 0.65; + damageScale[$DamageType::SatchelCharge] = 3.0; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 1.0; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 0.8; + damageScale[$DamageType::Lightning] = 1.2; +}; + +datablock SimDataBlock(HeavyPlayerDamageProfile) +{ + damageScale[$DamageType::Blaster] = 0.7; + damageScale[$DamageType::Bullet] = 0.6; + damageScale[$DamageType::ELF] = 0.75; + damageScale[$DamageType::ShockLance] = 1.0; + damageScale[$DamageType::Laser] = 0.67; + damageScale[$DamageType::ShrikeBlaster] = 0.8; + damageScale[$DamageType::BellyTurret] = 0.8; + damageScale[$DamageType::AATurret] = 0.6; + damageScale[$DamageType::IndoorDepTurret] = 0.7; + damageScale[$DamageType::OutdoorDepTurret] = 0.7; + damageScale[$DamageType::SentryTurret] = 1.0; + damageScale[$DamageType::Disc] = 0.6; + damageScale[$DamageType::Grenade] = 0.8; + damageScale[$DamageType::Mine] = 0.8; + damageScale[$DamageType::Missile] = 0.6; + damageScale[$DamageType::Mortar] = 0.7; + damageScale[$DamageType::Plasma] = 0.4; + damageScale[$DamageType::BomberBombs] = 3.0; + damageScale[$DamageType::TankChaingun] = 1.3; + damageScale[$DamageType::TankMortar] = 0.7; + damageScale[$DamageType::MissileTurret] = 0.6; + damageScale[$DamageType::MortarTurret] = 0.6; + damageScale[$DamageType::PlasmaTurret] = 0.4; + damageScale[$DamageType::SatchelCharge] = 3.0; + damageScale[$DamageType::Default] = 1.0; + damageScale[$DamageType::Impact] = 0.8; + damageScale[$DamageType::Ground] = 1.0; + damageScale[$DamageType::Explosion] = 0.6; + damageScale[$DamageType::Lightning] = 1.4; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/deathMessages.cs b/public/base/@vl2/scripts.vl2/scripts/deathMessages.cs new file mode 100644 index 00000000..be31bb21 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/deathMessages.cs @@ -0,0 +1,384 @@ + + +///////////////////////////////////////////////////////////////////////////////////////////////// +// %1 = Victim's name // +// %2 = Victim's gender (value will be either "him" or "her") // +// %3 = Victim's possessive gender (value will be either "his" or "her") // +// %4 = Killer's name // +// %5 = Killer's gender (value will be either "him" or "her") // +// %6 = Killer's possessive gender (value will be either "his" or "her") // +// %7 = implement that killed the victim (value is the object number of the bullet, disc, etc) // +///////////////////////////////////////////////////////////////////////////////////////////////// + +$DeathMessageCampingCount = 1; +$DeathMessageCamping[0] = '\c0%1 was killed for camping near the Nexus.'; + + //Out of Bounds deaths +$DeathMessageOOBCount = 1; +$DeathMessageOOB[0] = '\c0%1 was killed for loitering outside the mission area.'; + +$DeathMessageLavaCount = 4; +$DeathMessageLava[0] = '\c0%1\'s last thought before falling into the lava : \'Oops\'.'; +$DeathMessageLava[1] = '\c0%1 makes the supreme sacrifice to the lava gods.'; +$DeathMessageLava[2] = '\c0%1 looks surprised by the lava - but only briefly.'; +$DeathMessageLava[3] = '\c0%1 wimps out by jumping into the lava and trying to make it look like an accident.'; + +$DeathMessageLightningCount = 3; +$DeathMessageLightning[0] = '\c0%1 was killed by lightning!'; +$DeathMessageLightning[1] = '\c0%1 caught a lightning bolt!'; +$DeathMessageLightning[2] = '\c0%1 stuck %3 finger in Mother Nature\'s light socket.'; + +//these used when a player presses ctrl-k +$DeathMessageSuicideCount = 5; +$DeathMessageSuicide[0] = '\c0%1 blows %3 own head off!'; +$DeathMessageSuicide[1] = '\c0%1 ends it all. Cue violin music.'; +$DeathMessageSuicide[2] = '\c0%1 kills %2self.'; +$DeathMessageSuicide[3] = '\c0%1 goes for the quick and dirty respawn.'; +$DeathMessageSuicide[4] = '\c0%1 self-destructs in a fit of ennui.'; + +$DeathMessageVehPadCount = 1; +$DeathMessageVehPad[0] = '\c0%1 got caught in a vehicle\'s spawn field.'; + +$DeathMessageFFPowerupCount = 1; +$DeathMessageFFPowerup[0] = '\c0%1 got caught up in a forcefield during power up.'; + +$DeathMessageRogueMineCount = 1; +$DeathMessageRogueMine[$DamageType::Mine, 0] = '\c0%1 is all mine.'; + +//these used when a player kills himself (other than by using ctrl - k) +$DeathMessageSelfKillCount = 5; +$DeathMessageSelfKill[$DamageType::Blaster, 0] = '\c0%1 kills %2self with a blaster.'; +$DeathMessageSelfKill[$DamageType::Blaster, 1] = '\c0%1 makes a note to watch out for blaster ricochets.'; +$DeathMessageSelfKill[$DamageType::Blaster, 2] = '\c0%1\'s blaster kills its hapless owner.'; +$DeathMessageSelfKill[$DamageType::Blaster, 3] = '\c0%1 deftly guns %2self down with %3 own blaster.'; +$DeathMessageSelfKill[$DamageType::Blaster, 4] = '\c0%1 has a fatal encounter with %3 own blaster.'; + +$DeathMessageSelfKill[$DamageType::Plasma, 0] = '\c0%1 kills %2self with plasma.'; +$DeathMessageSelfKill[$DamageType::Plasma, 1] = '\c0%1 turns %2self into plasma-charred briquettes.'; +$DeathMessageSelfKill[$DamageType::Plasma, 2] = '\c0%1 swallows a white-hot mouthful of %3 own plasma.'; +$DeathMessageSelfKill[$DamageType::Plasma, 3] = '\c0%1 immolates %2self.'; +$DeathMessageSelfKill[$DamageType::Plasma, 4] = '\c0%1 experiences the joy of cooking %2self.'; + +$DeathMessageSelfKill[$DamageType::Disc, 0] = '\c0%1 kills %2self with a disc.'; +$DeathMessageSelfKill[$DamageType::Disc, 1] = '\c0%1 catches %3 own spinfusor disc.'; +$DeathMessageSelfKill[$DamageType::Disc, 2] = '\c0%1 heroically falls on %3 own disc.'; +$DeathMessageSelfKill[$DamageType::Disc, 3] = '\c0%1 helpfully jumps into %3 own disc\'s explosion.'; +$DeathMessageSelfKill[$DamageType::Disc, 4] = '\c0%1 plays Russian roulette with %3 spinfusor.'; + +$DeathMessageSelfKill[$DamageType::Grenade, 0] = '\c0%1 destroys %2self with a grenade!'; //applies to hand grenades *and* grenade launcher grenades +$DeathMessageSelfKill[$DamageType::Grenade, 1] = '\c0%1 took a bad bounce from %3 own grenade!'; +$DeathMessageSelfKill[$DamageType::Grenade, 2] = '\c0%1 pulled the pin a shade early.'; +$DeathMessageSelfKill[$DamageType::Grenade, 3] = '\c0%1\'s own grenade turns on %2.'; +$DeathMessageSelfKill[$DamageType::Grenade, 4] = '\c0%1 blows %2self up real good.'; + +$DeathMessageSelfKill[$DamageType::Mortar, 0] = '\c0%1 kills %2self with a mortar!'; +$DeathMessageSelfKill[$DamageType::Mortar, 1] = '\c0%1 hugs %3 own big green boomie.'; +$DeathMessageSelfKill[$DamageType::Mortar, 2] = '\c0%1 mortars %2self all over the map.'; +$DeathMessageSelfKill[$DamageType::Mortar, 3] = '\c0%1 experiences %3 mortar\'s payload up close.'; +$DeathMessageSelfKill[$DamageType::Mortar, 4] = '\c0%1 suffered the wrath of %3 own mortar.'; + +$DeathMessageSelfKill[$DamageType::Missile, 0] = '\c0%1 kills %2self with a missile!'; +$DeathMessageSelfKill[$DamageType::Missile, 1] = '\c0%1 runs a missile up %3 own tailpipe.'; +$DeathMessageSelfKill[$DamageType::Missile, 2] = '\c0%1 tests the missile\'s shaped charge on %2self.'; +$DeathMessageSelfKill[$DamageType::Missile, 3] = '\c0%1 achieved missile lock on %2self.'; +$DeathMessageSelfKill[$DamageType::Missile, 4] = '\c0%1 gracefully smoked %2self with a missile!'; + +$DeathMessageSelfKill[$DamageType::Mine, 0] = '\c0%1 kills %2self with a mine!'; +$DeathMessageSelfKill[$DamageType::Mine, 1] = '\c0%1\'s mine violently reminds %2 of its existence.'; +$DeathMessageSelfKill[$DamageType::Mine, 2] = '\c0%1 plants a decisive foot on %3 own mine!'; +$DeathMessageSelfKill[$DamageType::Mine, 3] = '\c0%1 fatally trips on %3 own mine!'; +$DeathMessageSelfKill[$DamageType::Mine, 4] = '\c0%1 makes a note not to run over %3 own mines.'; + +$DeathMessageSelfKill[$DamageType::SatchelCharge, 0] = '\c0%1 goes out with a bang!'; //applies to most explosion types +$DeathMessageSelfKill[$DamageType::SatchelCharge, 1] = '\c0%1 fall down...go boom.'; +$DeathMessageSelfKill[$DamageType::SatchelCharge, 2] = '\c0%1 explodes in that fatal kind of way.'; +$DeathMessageSelfKill[$DamageType::SatchelCharge, 3] = '\c0%1 experiences explosive decompression!'; +$DeathMessageSelfKill[$DamageType::SatchelCharge, 4] = '\c0%1 splashes all over the map.'; + +$DeathMessageSelfKill[$DamageType::Ground, 0] = '\c0%1 lands too hard.'; +$DeathMessageSelfKill[$DamageType::Ground, 1] = '\c0%1 finds gravity unforgiving.'; +$DeathMessageSelfKill[$DamageType::Ground, 2] = '\c0%1 craters on impact.'; +$DeathMessageSelfKill[$DamageType::Ground, 3] = '\c0%1 pancakes upon landing.'; +$DeathMessageSelfKill[$DamageType::Ground, 4] = '\c0%1 loses a game of chicken with the ground.'; + + +//used when a player is killed by a teammate +$DeathMessageTeamKillCount = 1; +$DeathMessageTeamKill[$DamageType::Blaster, 0] = '\c0%4 TEAMKILLED %1 with a blaster!'; +$DeathMessageTeamKill[$DamageType::Plasma, 0] = '\c0%4 TEAMKILLED %1 with a plasma rifle!'; +$DeathMessageTeamKill[$DamageType::Bullet, 0] = '\c0%4 TEAMKILLED %1 with a chaingun!'; +$DeathMessageTeamKill[$DamageType::Disc, 0] = '\c0%4 TEAMKILLED %1 with a spinfusor!'; +$DeathMessageTeamKill[$DamageType::Grenade, 0] = '\c0%4 TEAMKILLED %1 with a grenade!'; +$DeathMessageTeamKill[$DamageType::Laser, 0] = '\c0%4 TEAMKILLED %1 with a laser rifle!'; +$DeathMessageTeamKill[$DamageType::Elf, 0] = '\c0%4 TEAMKILLED %1 with an ELF projector!'; +$DeathMessageTeamKill[$DamageType::Mortar, 0] = '\c0%4 TEAMKILLED %1 with a mortar!'; +$DeathMessageTeamKill[$DamageType::Missile, 0] = '\c0%4 TEAMKILLED %1 with a missile!'; +$DeathMessageTeamKill[$DamageType::Shocklance, 0] = '\c0%4 TEAMKILLED %1 with a shocklance!'; +$DeathMessageTeamKill[$DamageType::Mine, 0] = '\c0%4 TEAMKILLED %1 with a mine!'; +$DeathMessageTeamKill[$DamageType::SatchelCharge, 0] = '\c0%4 blew up TEAMMATE %1!'; +$DeathMessageTeamKill[$DamageType::Impact, 0] = '\c0%4 runs down TEAMMATE %1!'; + + + +//these used when a player is killed by an enemy +$DeathMessageCount = 5; +$DeathMessage[$DamageType::Blaster, 0] = '\c0%4 kills %1 with a blaster.'; +$DeathMessage[$DamageType::Blaster, 1] = '\c0%4 pings %1 to death.'; +$DeathMessage[$DamageType::Blaster, 2] = '\c0%1 gets a pointer in blaster use from %4.'; +$DeathMessage[$DamageType::Blaster, 3] = '\c0%4 fatally embarrasses %1 with %6 pea shooter.'; +$DeathMessage[$DamageType::Blaster, 4] = '\c0%4 unleashes a terminal blaster barrage into %1.'; + +$DeathMessage[$DamageType::Plasma, 0] = '\c0%4 roasts %1 with the plasma rifle.'; +$DeathMessage[$DamageType::Plasma, 1] = '\c0%4 gooses %1 with an extra-friendly burst of plasma.'; +$DeathMessage[$DamageType::Plasma, 2] = '\c0%4 entices %1 to try a faceful of plasma.'; +$DeathMessage[$DamageType::Plasma, 3] = '\c0%4 introduces %1 to the plasma immolation dance.'; +$DeathMessage[$DamageType::Plasma, 4] = '\c0%4 slaps The Hot Kiss of Death on %1.'; + +$DeathMessage[$DamageType::Bullet, 0] = '\c0%4 rips %1 up with the chaingun.'; +$DeathMessage[$DamageType::Bullet, 1] = '\c0%4 happily chews %1 into pieces with %6 chaingun.'; +$DeathMessage[$DamageType::Bullet, 2] = '\c0%4 administers a dose of Vitamin Lead to %1.'; +$DeathMessage[$DamageType::Bullet, 3] = '\c0%1 suffers a serious hosing from %4\'s chaingun.'; +$DeathMessage[$DamageType::Bullet, 4] = '\c0%4 bestows the blessings of %6 chaingun on %1.'; + +$DeathMessage[$DamageType::Disc, 0] = '\c0%4 demolishes %1 with the spinfusor.'; +$DeathMessage[$DamageType::Disc, 1] = '\c0%4 serves %1 a blue plate special.'; +$DeathMessage[$DamageType::Disc, 2] = '\c0%4 shares a little blue friend with %1.'; +$DeathMessage[$DamageType::Disc, 3] = '\c0%4 puts a little spin into %1.'; +$DeathMessage[$DamageType::Disc, 4] = '\c0%1 becomes one of %4\'s greatest hits.'; + +$DeathMessage[$DamageType::Grenade, 0] = '\c0%4 eliminates %1 with a grenade.'; //applies to hand grenades *and* grenade launcher grenades +$DeathMessage[$DamageType::Grenade, 1] = '\c0%4 blows up %1 real good!'; +$DeathMessage[$DamageType::Grenade, 2] = '\c0%1 gets annihilated by %4\'s grenade.'; +$DeathMessage[$DamageType::Grenade, 3] = '\c0%1 receives a kaboom lesson from %4.'; +$DeathMessage[$DamageType::Grenade, 4] = '\c0%4 turns %1 into grenade salad.'; + +$DeathMessage[$DamageType::Laser, 0] = '\c0%1 becomes %4\'s latest pincushion.'; +$DeathMessage[$DamageType::Laser, 1] = '\c0%4 picks off %1 with %6 laser rifle.'; +$DeathMessage[$DamageType::Laser, 2] = '\c0%4 uses %1 as the targeting dummy in a sniping demonstration.'; +$DeathMessage[$DamageType::Laser, 3] = '\c0%4 pokes a shiny new hole in %1 with %6 laser rifle.'; +$DeathMessage[$DamageType::Laser, 4] = '\c0%4 caresses %1 with a couple hundred megajoules of laser.'; + +$DeathMessage[$DamageType::Elf, 0] = '\c0%4 fries %1 with the ELF projector.'; +$DeathMessage[$DamageType::Elf, 1] = '\c0%4 bug zaps %1 with %6 ELF.'; +$DeathMessage[$DamageType::Elf, 2] = '\c0%1 learns the shocking truth about %4\'s ELF skills.'; +$DeathMessage[$DamageType::Elf, 3] = '\c0%4 electrocutes %1 without a sponge.'; +$DeathMessage[$DamageType::Elf, 4] = '\c0%4\'s ELF projector leaves %1 a crispy critter.'; + +$DeathMessage[$DamageType::Mortar, 0] = '\c0%4 obliterates %1 with the mortar.'; +$DeathMessage[$DamageType::Mortar, 1] = '\c0%4 drops a mortar round right in %1\'s lap.'; +$DeathMessage[$DamageType::Mortar, 2] = '\c0%4 delivers a mortar payload straight to %1.'; +$DeathMessage[$DamageType::Mortar, 3] = '\c0%4 offers a little "heavy love" to %1.'; +$DeathMessage[$DamageType::Mortar, 4] = '\c0%1 stumbles into %4\'s mortar reticle.'; + +$DeathMessage[$DamageType::Missile, 0] = '\c0%4 intercepts %1 with a missile.'; +$DeathMessage[$DamageType::Missile, 1] = '\c0%4 watches %6 missile touch %1 and go boom.'; +$DeathMessage[$DamageType::Missile, 2] = '\c0%4 got sweet tone on %1.'; +$DeathMessage[$DamageType::Missile, 3] = '\c0By now, %1 has realized %4\'s missile killed %2.'; +$DeathMessage[$DamageType::Missile, 4] = '\c0%4\'s missile rains little pieces of %1 all over the ground.'; + +$DeathMessage[$DamageType::Shocklance, 0] = '\c0%4 reaps a harvest of %1 with the shocklance.'; +$DeathMessage[$DamageType::Shocklance, 1] = '\c0%4 feeds %1 the business end of %6 shocklance.'; +$DeathMessage[$DamageType::Shocklance, 2] = '\c0%4 stops %1 dead with the shocklance.'; +$DeathMessage[$DamageType::Shocklance, 3] = '\c0%4 eliminates %1 in close combat.'; +$DeathMessage[$DamageType::Shocklance, 4] = '\c0%4 ruins %1\'s day with one zap of a shocklance.'; + +$DeathMessage[$DamageType::Mine, 0] = '\c0%4 kills %1 with a mine.'; +$DeathMessage[$DamageType::Mine, 1] = '\c0%1 doesn\'t see %4\'s mine in time.'; +$DeathMessage[$DamageType::Mine, 2] = '\c0%4 gets a sapper kill on %1.'; +$DeathMessage[$DamageType::Mine, 3] = '\c0%1 puts his foot on %4\'s mine.'; +$DeathMessage[$DamageType::Mine, 4] = '\c0One small step for %1, one giant mine kill for %4.'; + +$DeathMessage[$DamageType::SatchelCharge, 0] = '\c0%4 buys %1 a ticket to the moon.'; //satchel charge only +$DeathMessage[$DamageType::SatchelCharge, 1] = '\c0%4 blows %1 into low orbit.'; +$DeathMessage[$DamageType::SatchelCharge, 2] = '\c0%4 makes %1 a hugely explosive offer.'; +$DeathMessage[$DamageType::SatchelCharge, 3] = '\c0%4 turns %1 into a cloud of satchel-vaporized armor.'; +$DeathMessage[$DamageType::SatchelCharge, 4] = '\c0%4\'s satchel charge leaves %1 nothin\' but smokin\' boots.'; + +$DeathMessageHeadshotCount = 3; +$DeathMessageHeadshot[$DamageType::Laser, 0] = '\c0%4 drills right through %1\'s braincase with %6 laser.'; +$DeathMessageHeadshot[$DamageType::Laser, 1] = '\c0%4 pops %1\'s head like a cheap balloon.'; +$DeathMessageHeadshot[$DamageType::Laser, 2] = '\c0%1 loses %3 head over %4\'s laser skill.'; + + +//These used when a player is run over by a vehicle +$DeathMessageVehicleCount = 5; +$DeathMessageVehicle[0] = '\c0%4 runs down %1.'; +$DeathMessageVehicle[1] = '\c0%1 acquires that run-down feeling from %4.'; +$DeathMessageVehicle[2] = '\c0%4 transforms %1 into tribal roadkill.'; +$DeathMessageVehicle[3] = '\c0%1 makes a painfully close examination of %4\'s front bumper.'; +$DeathMessageVehicle[4] = '\c0%1\'s messy death leaves a mark on %4\'s vehicle finish.'; + +$DeathMessageVehicleCrashCount = 5; +$DeathMessageVehicleCrash[ $DamageType::Crash, 0 ] = '\c0%1 fails to eject in time.'; +$DeathMessageVehicleCrash[ $DamageType::Crash, 1 ] = '\c0%1 becomes one with his vehicle dashboard.'; +$DeathMessageVehicleCrash[ $DamageType::Crash, 2 ] = '\c0%1 drives under the influence of death.'; +$DeathMessageVehicleCrash[ $DamageType::Crash, 3 ] = '\c0%1 makes a perfect three hundred point landing.'; +$DeathMessageVehicleCrash[ $DamageType::Crash, 4 ] = '\c0%1 heroically pilots his vehicle into something really, really hard.'; + +$DeathMessageVehicleFriendlyCount = 3; +$DeathMessageVehicleFriendly[0] = '\c0%1 gets in the way of a friendly vehicle.'; +$DeathMessageVehicleFriendly[1] = '\c0Sadly, a friendly vehicle turns %1 into roadkill.'; +$DeathMessageVehicleFriendly[2] = '\c0%1 becomes an unsightly ornament on a team vehicle\'s hood.'; + +$DeathMessageVehicleUnmannedCount = 3; +$DeathMessageVehicleUnmanned[0] = '\c0%1 gets in the way of a runaway vehicle.'; +$DeathMessageVehicleUnmanned[1] = '\c0An unmanned vehicle kills the pathetic %1.'; +$DeathMessageVehicleUnmanned[2] = '\c0%1 is struck down by an empty vehicle.'; + +//These used when a player is killed by a nearby equipment explosion +$DeathMessageExplosionCount = 3; +$DeathMessageExplosion[0] = '\c0%1 was killed by exploding equipment!'; +$DeathMessageExplosion[1] = '\c0%1 stood a little too close to the action!'; +$DeathMessageExplosion[2] = '\c0%1 learns how to be collateral damage.'; + +//These used when an automated turret kills an enemy player +$DeathMessageTurretKillCount = 3; +$DeathMessageTurretKill[$DamageType::PlasmaTurret, 0] = '\c0%1 is killed by a plasma turret.'; +$DeathMessageTurretKill[$DamageType::PlasmaTurret, 1] = '\c0%1\'s body now marks the location of a plasma turret.'; +$DeathMessageTurretKill[$DamageType::PlasmaTurret, 2] = '\c0%1 is fried by a plasma turret.'; + +$DeathMessageTurretKill[$DamageType::AATurret, 0] = '\c0%1 is killed by an AA turret.'; +$DeathMessageTurretKill[$DamageType::AATurret, 1] = '\c0%1 is shot down by an AA turret.'; +$DeathMessageTurretKill[$DamageType::AATurret, 2] = '\c0%1 takes fatal flak from an AA turret.'; + +$DeathMessageTurretKill[$DamageType::ElfTurret, 0] = '\c0%1 is killed by an ELF turret.'; +$DeathMessageTurretKill[$DamageType::ElfTurret, 1] = '\c0%1 is zapped by an ELF turret.'; +$DeathMessageTurretKill[$DamageType::ElfTurret, 2] = '\c0%1 is short-circuited by an ELF turret.'; + +$DeathMessageTurretKill[$DamageType::MortarTurret, 0] = '\c0%1 is killed by a mortar turret.'; +$DeathMessageTurretKill[$DamageType::MortarTurret, 1] = '\c0%1 enjoys a mortar turret\'s attention.'; +$DeathMessageTurretKill[$DamageType::MortarTurret, 2] = '\c0%1 is blown to kibble by a mortar turret.'; + +$DeathMessageTurretKill[$DamageType::MissileTurret, 0] = '\c0%1 is killed by a missile turret.'; +$DeathMessageTurretKill[$DamageType::MissileTurret, 1] = '\c0%1 is shot down by a missile turret.'; +$DeathMessageTurretKill[$DamageType::MissileTurret, 2] = '\c0%1 is blown away by a missile turret.'; + +$DeathMessageTurretKill[$DamageType::IndoorDepTurret, 0] = '\c0%1 is killed by a clamp turret.'; +$DeathMessageTurretKill[$DamageType::IndoorDepTurret, 1] = '\c0%1 gets burned by a clamp turret.'; +$DeathMessageTurretKill[$DamageType::IndoorDepTurret, 2] = '\c0A clamp turret eliminates %1.'; + +$DeathMessageTurretKill[$DamageType::OutdoorDepTurret, 0] = '\c0A spike turret neatly drills %1.'; +$DeathMessageTurretKill[$DamageType::OutdoorDepTurret, 1] = '\c0%1 gets taken out by a spike turret.'; +$DeathMessageTurretKill[$DamageType::OutdoorDepTurret, 2] = '\c0%1 dies under a spike turret\'s love.'; + +$DeathMessageTurretKill[$DamageType::SentryTurret, 0] = '\c0%1 didn\'t see that Sentry turret, but it saw %2...'; +$DeathMessageTurretKill[$DamageType::SentryTurret, 1] = '\c0%1 needs to watch for Sentry turrets.'; +$DeathMessageTurretKill[$DamageType::SentryTurret, 2] = '\c0%1 now understands how Sentry turrets work.'; + + +//used when a player is killed by a teammate controlling a turret +$DeathMessageCTurretTeamKillCount = 1; +$DeathMessageCTurretTeamKill[$DamageType::PlasmaTurret, 0] = '\c0%4 TEAMKILLED %1 with a plasma turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::AATurret, 0] = '\c0%4 TEAMKILLED %1 with an AA turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::ELFTurret, 0] = '\c0%4 TEAMKILLED %1 with an ELF turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::MortarTurret, 0] = '\c0%4 TEAMKILLED %1 with a mortar turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::MissileTurret, 0] = '\c0%4 TEAMKILLED %1 with a missile turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::IndoorDepTurret, 0] = '\c0%4 TEAMKILLED %1 with a clamp turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::OutdoorDepTurret, 0] = '\c0%4 TEAMKILLED %1 with a spike turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::SentryTurret, 0] = '\c0%4 TEAMKILLED %1 with a sentry turret!'; + +$DeathMessageCTurretTeamKill[$DamageType::BomberBombs, 0] = '\c0%4 TEAMKILLED %1 in a bombastic explosion of raining death.'; + +$DeathMessageCTurretTeamKill[$DamageType::BellyTurret, 0] = '\c0%4 TEAMKILLED %1 by annihilating him from a belly turret.'; + +$DeathMessageCTurretTeamKill[$DamageType::TankChainGun, 0] = '\c0%4 TEAMKILLED %1 with his tank\'s chaingun.'; + +$DeathMessageCTurretTeamKill[$DamageType::TankMortar, 0] = '\c0%4 TEAMKILLED %1 by lobbing the BIG green death from a tank.'; + +$DeathMessageCTurretTeamKill[$DamageType::ShrikeBlaster, 0] = '\c0%4 TEAMKILLED %1 by strafing from a Shrike.'; + +$DeathMessageCTurretTeamKill[$DamageType::MPBMissile, 0] = '\c0%4 TEAMKILLED %1 when the MPB locked onto him.'; + + + +//used when a player is killed by an uncontrolled, friendly turret +$DeathMessageCTurretAccdtlKillCount = 1; +$DeathMessageCTurretAccdtlKill[$DamageType::PlasmaTurret, 0] = '\c0%1 got in the way of a plasma turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::AATurret, 0] = '\c0%1 got in the way of an AA turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::ELFTurret, 0] = '\c0%1 got in the way of an ELF turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::MortarTurret, 0] = '\c0%1 got in the way of a mortar turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::MissileTurret, 0] = '\c0%1 got in the way of a missile turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::IndoorDepTurret, 0] = '\c0%1 got in the way of a clamp turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::OutdoorDepTurret, 0] = '\c0%1 got in the way of a spike turret!'; + +$DeathMessageCTurretAccdtlKill[$DamageType::SentryTurret, 0] = '\c0%1 got in the way of a Sentry turret!'; + + +//these messages for owned or controlled turrets +$DeathMessageCTurretKillCount = 3; +$DeathMessageCTurretKill[$DamageType::PlasmaTurret, 0] = '\c0%4 torches %1 with a plasma turret!'; +$DeathMessageCTurretKill[$DamageType::PlasmaTurret, 1] = '\c0%4 fries %1 with a plasma turret!'; +$DeathMessageCTurretKill[$DamageType::PlasmaTurret, 2] = '\c0%4 lights up %1 with a plasma turret!'; + +$DeathMessageCTurretKill[$DamageType::AATurret, 0] = '\c0%4 shoots down %1 with an AA turret.'; +$DeathMessageCTurretKill[$DamageType::AATurret, 1] = '\c0%1 gets shot down by %1\'s AA turret.'; +$DeathMessageCTurretKill[$DamageType::AATurret, 2] = '\c0%4 takes out %1 with an AA turret.'; + +$DeathMessageCTurretKill[$DamageType::ElfTurret, 0] = '\c0%1 gets zapped by ELF gunner %4.'; +$DeathMessageCTurretKill[$DamageType::ElfTurret, 1] = '\c0%1 gets barbecued by ELF gunner %4.'; +$DeathMessageCTurretKill[$DamageType::ElfTurret, 2] = '\c0%1 gets shocked by ELF gunner %4.'; + +$DeathMessageCTurretKill[$DamageType::MortarTurret, 0] = '\c0%1 is annihilated by %4\'s mortar turret.'; +$DeathMessageCTurretKill[$DamageType::MortarTurret, 1] = '\c0%1 is blown away by %4\'s mortar turret.'; +$DeathMessageCTurretKill[$DamageType::MortarTurret, 2] = '\c0%1 is pureed by %4\'s mortar turret.'; + +$DeathMessageCTurretKill[$DamageType::MissileTurret, 0] = '\c0%4 shows %1 a new world of pain with a missile turret.'; +$DeathMessageCTurretKill[$DamageType::MissileTurret, 1] = '\c0%4 pops %1 with a missile turret.'; +$DeathMessageCTurretKill[$DamageType::MissileTurret, 2] = '\c0%4\'s missile turret lights up %1\'s, uh, ex-life.'; + +$DeathMessageCTurretKill[$DamageType::IndoorDepTurret, 0] = '\c0%1 is chewed up and spat out by %4\'s clamp turret.'; +$DeathMessageCTurretKill[$DamageType::IndoorDepTurret, 1] = '\c0%1 is knocked out by %4\'s clamp turret.'; +$DeathMessageCTurretKill[$DamageType::IndoorDepTurret, 2] = '\c0%4\'s clamp turret drills %1 nicely.'; + +$DeathMessageCTurretKill[$DamageType::OutdoorDepTurret, 0] = '\c0%1 is chewed up by %4\'s spike turret.'; +$DeathMessageCTurretKill[$DamageType::OutdoorDepTurret, 1] = '\c0%1 feels the burn from %4\'s spike turret.'; +$DeathMessageCTurretKill[$DamageType::OutdoorDepTurret, 2] = '\c0%1 is nailed by %4\'s spike turret.'; + +$DeathMessageCTurretKill[$DamageType::SentryTurret, 0] = '\c0%4 caught %1 by surprise with a turret.'; +$DeathMessageCTurretKill[$DamageType::SentryTurret, 1] = '\c0%4\'s turret took out %1.'; +$DeathMessageCTurretKill[$DamageType::SentryTurret, 2] = '\c0%4 blasted %1 with a turret.'; + +$DeathMessageCTurretKill[$DamageType::BomberBombs, 0] = '\c0%1 catches %4\'s bomb in both teeth.'; +$DeathMessageCTurretKill[$DamageType::BomberBombs, 1] = '\c0%4 leaves %1 a smoking bomb crater.'; +$DeathMessageCTurretKill[$DamageType::BomberBombs, 2] = '\c0%4 bombs %1 back to the 20th century.'; + +$DeathMessageCTurretKill[$DamageType::BellyTurret, 0] = '\c0%1 eats a big helping of %4\'s belly turret bolt.'; +$DeathMessageCTurretKill[$DamageType::BellyTurret, 1] = '\c0%4 plants a belly turret bolt in %1\'s belly.'; +$DeathMessageCTurretKill[$DamageType::BellyTurret, 2] = '\c0%1 fails to evade %4\'s deft bomber strafing.'; + +$DeathMessageCTurretKill[$DamageType::TankChainGun, 0] = '\c0%1 enjoys the rich, metallic taste of %4\'s tank slug.'; +$DeathMessageCTurretKill[$DamageType::TankChainGun, 1] = '\c0%4\'s tank chaingun plays sweet music all over %1.'; +$DeathMessageCTurretKill[$DamageType::TankChainGun, 2] = '\c0%1 receives a stellar exit wound from %4\'s tank slug.'; + +$DeathMessageCTurretKill[$DamageType::TankMortar, 0] = '\c0Whoops! %1 + %4\'s tank mortar = Dead %1.'; +$DeathMessageCTurretKill[$DamageType::TankMortar, 1] = '\c0%1 learns the happy explosion dance from %4\'s tank mortar.'; +$DeathMessageCTurretKill[$DamageType::TankMortar, 2] = '\c0%4\'s tank mortar has a blast with %1.'; + +$DeathMessageCTurretKill[$DamageType::ShrikeBlaster, 0] = '\c0%1 dines on a Shrike blaster sandwich, courtesy of %4.'; +$DeathMessageCTurretKill[$DamageType::ShrikeBlaster, 1] = '\c0The blaster of %4\'s Shrike turns %1 into finely shredded meat.'; +$DeathMessageCTurretKill[$DamageType::ShrikeBlaster, 2] = '\c0%1 gets drilled big-time by the blaster of %4\'s Shrike.'; + +$DeathMessageCTurretKill[$DamageType::MPBMissile, 0] = '\c0%1 intersects nicely with %4\'s MPB Missile.'; +$DeathMessageCTurretKill[$DamageType::MPBMissile, 1] = '\c0%4\'s MPB Missile makes armored chowder out of %1.'; +$DeathMessageCTurretKill[$DamageType::MPBMissile, 2] = '\c0%1 has a brief, explosive fling with %4\'s MPB Missile.'; + +$DeathMessageTurretSelfKillCount = 3; +$DeathMessageTurretSelfKill[0] = '\c0%1 somehow kills %2self with a turret.'; +$DeathMessageTurretSelfKill[1] = '\c0%1 apparently didn\'t know the turret was loaded.'; +$DeathMessageTurretSelfKill[2] = '\c0%1 helps his team by killing himself with a turret.'; + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/debuggerGui.cs b/public/base/@vl2/scripts.vl2/scripts/debuggerGui.cs new file mode 100644 index 00000000..b905111e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/debuggerGui.cs @@ -0,0 +1,538 @@ + +// debugger is just a simple TCP object +if (!isObject(TCPDebugger)) + new TCPObject(TCPDebugger); + +//-------------------------------------------------------------- +// TCP function defs +//-------------------------------------------------------------- + +function DebuggerConsoleView::print(%this, %line) +{ + %row = %this.addRow(0, %line); + %this.scrollVisible(%row); +} + +function TCPDebugger::onLine(%this, %line) +{ + echo("Got line=>" @ %line); + %cmd = firstWord(%line); + %rest = restWords(%line); + + if(%cmd $= "PASS") + %this.handlePass(%rest); + else if(%cmd $= "COUT") + %this.handleLineOut(%rest); + else if(%cmd $= "FILELISTOUT") + %this.handleFileList(%rest); + else if(%cmd $= "BREAKLISTOUT") + %this.handleBreakList(%rest); + else if(%cmd $= "BREAK") + %this.handleBreak(%rest); + else if(%cmd $= "RUNNING") + %this.handleRunning(); + else if(%cmd $= "EVALOUT") + %this.handleEvalOut(%rest); + else if(%cmd $= "OBJTAGLISTOUT") + %this.handleObjTagList(%rest); + else + %this.handleError(%line); +} + +//-------------------------------------------------------------- +// handlers for messages from the server +//-------------------------------------------------------------- + +function TCPDebugger::handlePass(%this, %message) +{ + if(%message $= "WrongPass") + { + DebuggerConsoleView.print("Disconnected - wrong password."); + %this.disconnect(); + } + else if(%message $= "Connected.") + { + DebuggerConsoleView.print("Connected."); + DebuggerStatus.setValue("CONNECTED"); + %this.send("FILELIST\r\n"); + } +} + +function TCPDebugger::handleLineOut(%this, %line) +{ + DebuggerConsoleView.print(%line); +} + +function TCPDebugger::handleFileList(%this, %line) +{ + DebuggerFilePopup.clear(); + %word = 0; + while((%file = getWord(%line, %word)) !$= "") + { + %word++; + DebuggerFilePopup.add(%file, %word); + } +} + +function TCPDebugger::handleBreakList(%this, %line) +{ + %file = getWord(%line, 0); + if(%file != $DebuggerFile) + return; + %pairs = getWord(%line, 1); + %curLine = 1; + DebuggerFileView.clearBreakPositions(); + + //set the possible break positions + for(%i = 0; %i < %pairs; %i++) + { + %skip = getWord(%line, %i * 2 + 2); + %breaks = getWord(%line, %i * 2 + 3); + %curLine += %skip; + for(%j = 0; %j < %breaks; %j++) + { + DebuggerFileView.setBreakPosition(%curLine); + %curLine++; + } + } + + //now set the actual break points... + for (%i = 0; %i < DebuggerBreakPoints.rowCount(); %i++) + { + %breakText = DebuggerBreakPoints.getRowText(%i); + %breakLine = getField(%breakText, 0); + %breakFile = getField(%breakText, 1); + if (%breakFile == $DebuggerFile) + DebuggerFileView.setBreak(%breakLine); + } +} + +function TCPDebugger::handleBreak(%this, %line) +{ + DebuggerStatus.setValue("BREAK"); + + // query all the watches + for(%i = 0; %i < DebuggerWatchView.rowCount(); %i++) + { + %id = DebuggerWatchView.getRowId(%i); + %row = DebuggerWatchView.getRowTextById(%id); + %expr = getField(%row, 0); + %this.send("EVAL " @ %id @ " 0 " @ %expr @ "\r\n"); + } + + // update the call stack window + DebuggerCallStack.clear(); + + %file = getWord(%line, 0); + %lineNumber = getWord(%line, 1); + %funcName = getWord(%line, 2); + + DbgOpenFile(%file, %lineNumber, true); + + %nextWord = 3; + %rowId = 0; + %id = 0; + while(1) + { + DebuggerCallStack.setRowById(%id, %file @ "\t" @ %lineNumber @ "\t" @ %funcName); + %id++; + %file = getWord(%line, %nextWord); + %lineNumber = getWord(%line, %nextWord + 1); + %funcName = getWord(%line, %nextWord + 2); + %nextWord += 3; + if(%file $= "") + break; + } +} + +function TCPDebugger::handleRunning(%this) +{ + DebuggerFileView.setCurrentLine(-1, true); + DebuggerCallStack.clear(); + DebuggerStatus.setValue("RUNNING..."); +} + +function TCPDebugger::handleEvalOut(%this, %line) +{ + %id = firstWord(%line); + %value = restWords(%line); + + //see if it's the cursor watch, or from the watch window + if (%id < 0) + DebuggerCursorWatch.setText(DebuggerCursorWatch.expr SPC "=" SPC %value); + else + { + %row = DebuggerWatchView.getRowTextById(%id); + if(%row $= "") + return; + %expr = getField(%row, 0); + DebuggerWatchView.setRowById(%id, %expr @ "\t" @ %value); + } +} + +function TCPDebugger::handleObjTagList(%this, %line) +{ +} + +function TCPDebugger::handleError(%this, %line) +{ + DebuggerConsoleView.print("ERROR - bogus message: " @ %line); +} + +//-------------------------------------------------------------- +// handlers for connection related functions +//-------------------------------------------------------------- + +function TCPDebugger::onDNSResolve(%this) +{ + +} + +function TCPDebugger::onConnecting(%this) +{ +} + +function TCPDebugger::onConnected(%this) +{ + // send the password on connect. + // %this.send(%this.password @ "\r\n"); + // tinman - this function never get's called - instead + // send the password immediately... +} + +function TCPDebugger::onConnectFailed(%this) +{ + +} + +function TCPDebugger::onDisconnect(%this) +{ + +} + +function DebuggerFilePopup::onSelect(%this, %id, %text) +{ + DbgOpenFile(%text, 0, false); +} + +//-------------------------------------------------------------- +// Gui glue functions +//-------------------------------------------------------------- + +$DbgWatchSeq = 1; +function DbgWatchDialogAdd() +{ + %expr = WatchDialogExpression.getValue(); + if (%expr !$= "") + { + DebuggerWatchView.setRowById($DbgWatchSeq, %expr @"\t(unknown)"); + TCPDebugger.send("EVAL " @ $DbgWatchSeq @ " 0 " @ %expr @ "\r\n"); + $DbgWatchSeq++; + } + //don't forget to close the dialog + Canvas.popDialog(DebuggerWatchDlg); +} + +function DbgWatchDialogEdit() +{ + %newValue = EditWatchDialogValue.getValue(); + %id = DebuggerWatchView.getSelectedId(); + if (%id >= 0) + { + %row = DebuggerWatchView.getRowTextById(%id); + %expr = getField(%row, 0); + if (%newValue $= "") + %assignment = %expr @ " = \"\""; + else + %assignment = %expr @ " = " @ %newValue; + TCPDebugger.send("EVAL " @ %id @ " 0 " @ %assignment @ "\r\n"); + } + + //don't forget to close the dialog + Canvas.popDialog(DebuggerEditWatchDlg); +} + +function DbgSetCursorWatch(%expr) +{ + DebuggerCursorWatch.expr = %expr; + if (DebuggerCursorWatch.expr $= "") + DebuggerCursorWatch.setText(""); + else + TCPDebugger.send("EVAL -1 0 " @ DebuggerCursorWatch.expr @ "\r\n"); +} + +function DebuggerCallStack::onAction(%this) +{ + %id = %this.getSelectedId(); + if(%id == -1) + return; + %text = %this.getRowTextById(%id); + %file = getField(%text, 0); + %line = getField(%text, 1); + + DbgOpenFile(%file, %line, %id == 0); +} + +function DbgConnect() +{ + %address = DebuggerConnectAddress.getValue(); + %port = DebuggerConnectPort.getValue(); + %password = DebuggerConnectPassword.getValue(); + + if ((%address !$= "" ) && (%port !$= "" ) && (%password !$= "" )) + { + TCPDebugger.connect(%address @ ":" @ %port); + TCPDebugger.schedule(5000, send, %password @ "\r\n"); + TCPDebugger.password = %password; + } + + //don't forget to close the dialog + Canvas.popDialog(DebuggerConnectDlg); +} + +function DbgBreakConditionSet() +{ + %condition = BreakCondition.getValue(); + %passct = BreakPassCount.getValue(); + %clear = BreakClear.getValue(); + if (%condition $= "") + %condition = "true"; + if (%passct $= "") + %passct = "0"; + if (%clear $= "") + %clear = "false"; + + //set the condition + %id = DebuggerBreakPoints.getSelectedId(); + if(%id != -1) + { + %bkp = DebuggerBreakPoints.getRowTextById(%id); + + DbgSetBreakPoint(getField(%bkp, 1), getField(%bkp, 0), %clear, %passct, %condition); + } + //don't forget to close the dialog + Canvas.popDialog(DebuggerBreakConditionDlg); +} + +function DbgOpenFile(%file, %line, %selectLine) +{ + if (%file !$= "") + { + //open the file in the file view + if (DebuggerFileView.open(%file)) + { + DebuggerFileView.setCurrentLine(%line, %selectLine); + if (%file !$= $DebuggerFile) + { + TCPDebugger.send("BREAKLIST " @ %file @ "\r\n"); + $DebuggerFile = %file; + } + } + } +} + +function DbgFileViewFind() +{ + %searchString = DebuggerFindStringText.getValue(); + %result = DebuggerFileView.findString(%searchString); + + //don't forget to close the dialog + Canvas.popDialog(DebuggerFindDlg); +} + +function DbgFileBreakPoints(%file, %points) +{ + DebuggerFileView.breakPoints(%file, %points); +} + +// BRKSET:file line clear passct expr - set a breakpoint on the file,line +function DbgSetBreakPoint(%file, %line, %clear, %passct, %expr) +{ + if(!%clear) + { + if(%file == $DebuggerFile) + DebuggerFileView.setBreak(%line); + } + DebuggerBreakPoints.addBreak(%file, %line, %clear, %passct, %expr); + TCPDebugger.send("BRKSET " @ %file @ " " @ %line @ " " @ %clear @ " " @ %passct @ " " @ %expr @ "\r\n"); +} + +function DbgRemoveBreakPoint(%file, %line) +{ + if(%file == $DebuggerFile) + DebuggerFileView.removeBreak(%line); + TCPDebugger.send("BRKCLR " @ %file @ " " @ %line @ "\r\n"); + DebuggerBreakPoints.removeBreak(%file, %line); +} + +$DbgBreakId = 0; + +function DebuggerBreakPoints::addBreak(%this, %file, %line, %clear, %passct, %expr) +{ + // columns 0 = line, 1 = file, 2 = expr + %textLine = %line @ "\t" @ %file @ "\t" @ %expr @ "\t" @ %passct @ "\t" @ %clear; + %selId = %this.getSelectedId(); + %selText = %this.getRowTextById(%selId); + if(getField(%selText, 0) $= %line && getField(%selText, 1) $= %file) + { + %this.setRowById(%selId, %textLine); + } + else + { + %this.addRow($DbgBreakId, %textLine); + $DbgBreakId++; + } +} + +function DebuggerBreakPoints::removeBreak(%this, %file, %line) +{ + for(%i = 0; %i < %this.rowCount(); %i++) + { + %id = %this.getRowId(%i); + %text = %this.getRowTextById(%id); + if(getField(%text, 0) $= %line && getField(%text, 1) $= %file) + { + %this.removeRowById(%id); + return; + } + } +} + +function DbgDeleteSelectedBreak() +{ + %selectedBreak = DebuggerBreakPoints.getSelectedId(); + %rowNum = DebuggerBreakPoints.getRowNumById(%selectedWatch); + if (%rowNum >= 0) + { + %breakText = DebuggerBreakPoints.getRowText(%rowNum); + %breakLine = getField(%breakText, 0); + %breakFile = getField(%breakText, 1); + DbgRemoveBreakPoint(%breakFile, %breakLine); + } +} + +function DebuggerBreakPoints::clearBreaks(%this) +{ + while(%this.rowCount()) + { + %id = %this.getRowId(0); + %text = %this.getRowTextById(%id); + %file = getField(%text, 1); + %line = getField(%text, 0); + DbgRemoveBreakPoint(%file, %line); + } +} + +function DebuggerBreakPoints::onAction(%this) +{ + %id = %this.getSelectedId(); + if(%id == -1) + return; + %text = %this.getRowTextById(%id); + %line = getField(%text, 0); + %file = getField(%text, 1); + + DbgOpenFile(%file, %line, 0); +} + +function DebuggerFileView::onRemoveBreakPoint(%this, %line) +{ + %file = $DebuggerFile; + DbgRemoveBreakPoint(%file, %line); +} + +function DebuggerFileView::onSetBreakPoint(%this, %line) +{ + %file = $DebuggerFile; + DbgSetBreakPoint(%file, %line, 0, 0, true); +} + +function DbgConsoleEntryReturn() +{ + %msg = DbgConsoleEntry.getValue(); + if (%msg !$= "") + { + DebuggerConsoleView.print("%" @ %msg); + if (DebuggerStatus.getValue() $= "NOT CONNECTED") + DebuggerConsoleView.print("*** Not connected."); + else if (DebuggerStatus.getValue() $= "BREAK") + DebuggerConsoleView.print("*** Target is in BREAK mode."); + else + TCPDebugger.send("CEVAL " @ %msg @ "\r\n"); + + } + DbgConsoleEntry.setValue(""); +} + +function DbgConsolePrint(%status) +{ + DebuggerConsoleView.print(%status); +} + +function DbgStackAddFrame(%file, %line, %funcName) +{ + if ((%file !$= "") && (%line !$= "") && (%funcName !$= "")) + DebuggerCallStack.add(%file, %line, %funcName); +} + +function DbgStackGetFrame() +{ + return DebuggerCallStack.getFrame(); +} + +function DbgStackClear() +{ + DebuggerCallStack.clear(); +} + +function DbgSetWatch(%expr) +{ + if (%expr !$= "") + DebuggerWatchView.set(%expr); +} + +function DbgDeleteSelectedWatch() +{ + %selectedWatch = DebuggerWatchView.getSelectedId(); + %rowNum = DebuggerWatchView.getRowNumById(%selectedWatch); + DebuggerWatchView.removeRow(%rowNum); +} + +function DbgRefreshWatches() +{ + // query all the watches + for(%i = 0; %i < DebuggerWatchView.rowCount(); %i++) + { + %id = DebuggerWatchView.getRowId(%i); + %row = DebuggerWatchView.getRowTextById(%id); + %expr = getField(%row, 0); + TCPDebugger.send("EVAL " @ %id @ " 0 " @ %expr @ "\r\n"); + } +} + +function DbgClearWatches() +{ + DebuggerWatchView.clear(); +} + +function dbgStepIn() +{ + TCPDebugger.send("STEPIN\r\n"); +} + +function dbgStepOut() +{ + TCPDebugger.send("STEPOUT\r\n"); +} + +function dbgStepOver() +{ + TCPDebugger.send("STEPOVER\r\n"); +} + +function dbgContinue() +{ + TCPDebugger.send("CONTINUE\r\n"); +} + +DebuggerConsoleView.setActive(false); diff --git a/public/base/@vl2/scripts.vl2/scripts/defaultGame.cs b/public/base/@vl2/scripts.vl2/scripts/defaultGame.cs new file mode 100644 index 00000000..2c73c377 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/defaultGame.cs @@ -0,0 +1,3377 @@ +//$MissionName is the file name of the mission +//$MapName is the displayed name(no underscore,spaces) +//$GameType (CTF,Hunters) + + +function DefaultGame::activatePackages(%game) +{ + // activate the default package for the game type + activatePackage(DefaultGame); + if(isPackage(%game.class) && %game.class !$= DefaultGame) + activatePackage(%game.class); +} + +function DefaultGame::deactivatePackages(%game) +{ + deactivatePackage(DefaultGame); + if(isPackage(%game.class) && %game.class !$= DefaultGame) + deactivatePackage(%game.class); +} + +package DefaultGame { + +function FlipFlop::objectiveInit(%data, %flipflop) +{ + // add this flipflop to missioncleanup + %flipflopSet = nameToID("MissionCleanup/FlipFlops"); + if(%flipflopSet <= 0) { + %flipflopSet = new SimSet("FlipFlops"); + MissionCleanup.add(%flipflopSet); + } + %flipflopSet.add(%flipflop); + + // see if there's a holo projector associated with this flipflop + // search the flipflop's folder for a holo projector + // if one exists, associate it with the flipflop + + %flipflop.projector = 0; + %folder = %flipflop.getGroup(); + for(%i = 0; %i < %folder.getCount(); %i++) + { + %proj = %folder.getObject(%i); + // weird, but line below prevents console error + if(%proj.getClassName() !$= "SimGroup" && %proj.getClassName() !$= "InteriorInstance") + if(%proj.getDatablock().getName() $= "LogoProjector") + { + %flipflop.projector = %proj; + %flipflop.projector.holo = 0; + break; + } + } + + // may have been hidden + %target = %flipFlop.getTarget(); + if(%target != -1) + { + // set flipflop to base skin + setTargetSkin(%target, $teamSkin[0]); + + // make this always visible in the commander map + setTargetAlwaysVisMask(%target, 0xffffffff); + + // make this always visible in the commander list + setTargetRenderMask(%target, getTargetRenderMask(%target) | $TargetInfo::CommanderListRender); + } +} + +function FlipFlop::playerTouch(%data, %flipflop, %player) +{ + %client = %player.client; + %flipTeam = %flipflop.team; + + if(%flipTeam == %client.team) + return false; + + %teamName = game.getTeamName(%client.team); + // Let the observers know: + messageTeam( 0, 'MsgClaimFlipFlop', '\c2%1 claimed %2 for %3.~wfx/misc/flipflop_taken.wav', %client.name, Game.cleanWord( %flipflop.name ), %teamName ); + // Let the teammates know: + messageTeam( %client.team, 'MsgClaimFlipFlop', '\c2%1 claimed %2 for %3.~wfx/misc/flipflop_taken.wav', %client.name, Game.cleanWord( %flipflop.name ), %teamName ); + // Let the other team know: + %losers = %client.team == 1 ? 2 : 1; + messageTeam( %losers, 'MsgClaimFlipFlop', '\c2%1 claimed %2 for %3.~wfx/misc/flipflop_lost.wav', %client.name, Game.cleanWord( %flipflop.name ), %teamName ); + + logEcho(%client.nameBase@" (pl "@%player@"/cl "@%client@") claimed flipflop "@%flipflop@" for team "@%client.team); + + //change the skin on the switch to claiming team's logo + setTargetSkin(%flipflop.getTarget(), game.getTeamSkin(%player.team)); + setTargetSensorGroup(%flipflop.getTarget(), %player.team); + + // if there is a "projector" associated with this flipflop, put the claiming team's logo there + if(%flipflop.projector > 0) + { + %projector = %flipflop.projector; + // axe the old projected holo, if one exists + if(%projector.holo > 0) + %projector.holo.delete(); + + %newHolo = getTaggedString(game.getTeamSkin(%client.team)) @ "Logo"; + + %projTransform = %projector.getTransform(); + // below two functions are from deployables.cs + %projRot = rotFromTransform(%projTransform); + %projPos = posFromTransform(%projTransform); + // place the holo above the projector (default 10 meters) + %hHeight = %projector.holoHeight; + if(%hHeight $= "") + %hHeight = 10; + %holoZ = getWord(%projPos, 2) + %hHeight; + %holoPos = firstWord(%projPos) SPC getWord(%projPos,1) SPC %holoZ; + + %holo = new StaticShape() + { + rotation = %projRot; + position = %holoPos; + dataBlock = %newHolo; + }; + // dump the hologram into MissionCleanup + MissionCleanup.add(%holo); + // associate the holo with the projector + %projector.holo = %holo; + } + + // convert the resources associated with the flipflop + Game.claimFlipflopResources(%flipflop, %client.team); + + if(Game.countFlips()) + for(%i = 1; %i <= Game.numTeams; %i++) + { + %teamHeld = Game.countFlipsHeld(%i); + messageAll('MsgFlipFlopsHeld', "", %i, %teamHeld); + } + + //call the ai function + Game.AIplayerCaptureFlipFlop(%player, %flipflop); + return true; +} + +}; + +//--------- DEFAULT SCORING, SUPERCEDE IN GAMETYPE FILE ------------------ + +function DefaultGame::initGameVars(%game) +{ + %game.SCORE_PER_SUICIDE = 0; + %game.SCORE_PER_TEAMKILL = 0; + %game.SCORE_PER_DEATH = 0; + + %game.SCORE_PER_KILL = 0; + + %game.SCORE_PER_TURRET_KILL = 0; +} + +//-- tracking --- +// .deaths .kills .suicides .teamKills .turretKills + +function DefaultGame::claimFlipflopResources(%game, %flipflop, %team) +{ + %group = %flipflop.getGroup(); + %group.setTeam(%team); + + // make this always visible in the commander map (gets reset when sensor group gets changed) + setTargetAlwaysVisMask(%flipflop.getTarget(), 0xffffffff); +} + +//------------------------------------------------------------------------------ +function DefaultGame::selectSpawnSphere(%game, %team) +{ + // - walks the objects in the 'teamdrops' group for this team + // - find a random spawn point which has a running sum less more than + // 0->total sphere weight + + %teamDropsGroup = "MissionCleanup/TeamDrops" @ %team; + + %group = nameToID(%teamDropsGroup); + if (%group != -1) + { + %count = %group.getCount(); + if (%count != 0) + { + // Get total weight of those spheres not filtered by mission types list- + %overallWeight = 0; + for (%i = 0; %i < %count; %i++) + { + %sphereObj = %group.getObject(%i); + if ( ! %sphereObj.isHidden() ) + %overallWeight += %sphereObj.sphereWeight; + } + + if (%overallWeight > 0) + { + // Subtract a little from this as hedge against any rounding offness- + %randSum = getRandom(%overallWeight) - 0.05; + // echo("randSum = " @ %randSum); + + for (%i = 0; %i < %count; %i++) + { + %sphereObj = %group.getObject(%i); + if (! %sphereObj.isHidden()) + { + %randSum -= %sphereObj.sphereWeight; + if (%randSum <= 0) + { + // echo("Chose sphere " @ %i); + return %group.getObject(%i); // Found our sphere + } + } + } + error("Random spawn sphere selection didn't work"); + } + else + error("No non-hidden spawnspheres were found in " @ %teamDropsGroup); + } + else + error("No spawnspheres found in " @ %teamDropsGroup); + } + else + error(%teamDropsGroup @ " not found in selectSpawnSphere()."); + + return -1; +} + +function DefaultGame::selectSpawnZone(%game, %sphere) +{ + // determines if this should spawn inside or outside + %overallWeight = %sphere.indoorWeight + %sphere.outdoorWeight; + %index = mFloor(getRandom() * (%overallWeight - 0.1)) + 1; + if ((%index - %sphere.indoorWeight) > 0) + return false; //do not pick an indoor spawn + else + return true; //pick an indoor spawn +} + +function DefaultGame::selectSpawnFacing(%game, %src, %target, %zone) +{ + //this used only when spawn loc is not on an interior. This points spawning player to the ctr of spawnshpere + %target = setWord(%target, 2, 0); + %src = setWord(%src, 2, 0); + + if(VectorDist(%target, %src) == 0) + return " 0 0 1 0 "; + %vec = VectorNormalize(VectorSub(%target, %src)); + %angle = mAcos(getWord(%vec, 1)); + + if(%src < %target) + return(" 0 0 1 " @ %angle); + else + return(" 0 0 1 " @ -%angle); +} + +function DefaultGame::pickTeamSpawn(%game, %team) +{ + // early exit if no nav graph + if (!navGraphExists()) + { + echo("No navigation graph is present. Build one."); + return -1; + } + + for (%attempt = 0; %attempt < 20; %attempt++) + { + // finds a random spawn sphere + // selects inside/outside on this random sphere + // if the navgraph exists, then uses it to grab a random node as spawn + // location/rotation + %sphere = %game.selectSpawnSphere(%team); + if (%sphere == -1) + { + echo("No spawn spheres found for team " @ %team); + return -1; + } + + %zone = %game.selectSpawnZone(%sphere); + %useIndoor = %zone; + %useOutdoor = !%zone; + if (%zone) + %area = "indoor"; + else + %area = "outdoor"; + + %radius = %sphere.radius; + %sphereTrans = %sphere.getTransform(); + %sphereCtr = getWord(%sphereTrans, 0) @ " " @ getWord(%sphereTrans, 1) @ " " @ getWord(%sphereTrans, 2); //don't need full transform here, just x, y, z + //echo("Selected Sphere is " @ %sphereCtr @ " with a radius of " @ %radius @ " meters. Selecting from " @ %area @ " zone."); + + %avoidThese = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType | + $TypeMasks::PlayerObjectType | $TypeMasks::TurretObjectType; + + for (%tries = 0; %tries < 10; %tries++) + { + %nodeIndex = navGraph.randNode(%sphereCtr, %radius, %useIndoor, %useOutdoor); + if (%nodeIndex >= 0) + { + %loc = navGraph.randNodeLoc(%nodeIndex); + %adjUp = VectorAdd(%loc, "0 0 1.0"); // don't go much below + + if (ContainerBoxEmpty( %avoidThese, %adjUp, 2.0)) + break; + } + } + + if (%nodeIndex >= 0) + { + %loc = navGraph.randNodeLoc(%nodeIndex); + if (%zone) + { + %trns = %loc @ " 0 0 1 0"; + %spawnLoc = whereToLook(%trns); + } + else + { + %rot = %game.selectSpawnFacing(%loc, %sphereCtr, %zone); + %spawnLoc = %loc @ %rot; + } + return %spawnLoc; + } + } +} + +//------------------------------------------------------------ + +function DefaultGame::pickObserverSpawn(%game, %client, %next) +{ + %group = nameToID("MissionGroup/ObserverDropPoints"); + %count = %group.getCount(); + + if(!%count || %group == -1) + { + echo("no observer spawn points found"); + return -1; + } + + if(%client.lastObserverSpawn == -1) + { + %client.lastObserverSpawn = 0; + return(%group.getObject(%client.lastObserverSpawn)); + } + + if(%next == true) + %spawnIdx = %client.lastObserverSpawn + 1; + else + %spawnIdx = %client.lastObserverSpawn - 1; + + if(%spawnIdx < 0) + %spawnIdx = %count - 1; + else if(%spawnIdx >= %count) + %spawnIdx = 0; + + %client.lastObserverSpawn = %spawnIdx; + //echo("Observer spawn point found"); + return %group.getObject(%spawnIdx); +} + +//------------------------------------------------------------ +function DefaultGame::spawnPlayer( %game, %client, %respawn ) +{ + %client.lastSpawnPoint = %game.pickPlayerSpawn( %client, false ); + %client.suicidePickRespawnTime = getSimTime() + 20000; + %game.createPlayer( %client, %client.lastSpawnPoint, %respawn ); +} + +//------------------------------------------------------------ +function DefaultGame::playerSpawned(%game, %player) +{ + if( %player.client.respawnTimer ) + cancel(%player.client.respawnTimer); + + %player.client.observerStartTime = ""; + %game.equip(%player); + + //set the spawn time (for use by the AI system) + %player.client.spawnTime = getSimTime(); + +// jff: this should probably be checking the team of the client + //update anyone observing this client + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.camera.mode $= "observerFollow" && %cl.observeClient == %player.client) + { + %transform = %player.getTransform(); + %cl.camera.setOrbitMode(%player, %transform, 0.5, 4.5, 4.5); + %cl.camera.targetObj = %player; + } + } +} + +function DefaultGame::equip(%game, %player) +{ + for(%i =0; %i<$InventoryHudCount; %i++) + %player.client.setInventoryHudItem($InventoryHudData[%i, itemDataName], 0, 1); + %player.client.clearBackpackIcon(); + + //%player.setArmor("Light"); + %player.setInventory(RepairKit,1); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + %player.setInventory(Beacon, 3); + %player.setInventory(TargetingLaser, 1); + %player.weaponCount = 3; + + %player.use("Blaster"); +} + +//------------------------------------------------------------ +function DefaultGame::pickPlayerSpawn(%game, %client, %respawn) +{ + // place this client on his own team, '%respawn' does not ever seem to be used + //we no longer care whether it is a respawn since all spawns use same points. + return %game.pickTeamSpawn(%client.team); +} + +//------------------------------------------------------------ +function DefaultGame::createPlayer(%game, %client, %spawnLoc, %respawn) +{ + // do not allow a new player if there is one (not destroyed) on this client + if(isObject(%client.player) && (%client.player.getState() !$= "Dead")) + return; + + // clients and cameras can exist in team 0, but players should not + if(%client.team == 0) + error("Players should not be added to team0!"); + + // defaultplayerarmor is in 'players.cs' + if(%spawnLoc == -1) + %spawnLoc = "0 0 300 1 0 0 0"; + //else + // echo("Spawning player at " @ %spawnLoc); + + // copied from player.cs + if (%client.race $= "Bioderm") + // Only have male bioderms. + %armor = $DefaultPlayerArmor @ "Male" @ %client.race @ Armor; + else + %armor = $DefaultPlayerArmor @ %client.sex @ %client.race @ Armor; + %client.armor = $DefaultPlayerArmor; + + %player = new Player() { + //dataBlock = $DefaultPlayerArmor; + dataBlock = %armor; + }; + + + if(%respawn) + { + %player.setInvincible(true); + %player.setCloaked(true); + %player.setInvincibleMode($InvincibleTime,0.02); + %player.respawnCloakThread = %player.schedule($InvincibleTime * 1000, "setRespawnCloakOff"); + %player.schedule($InvincibleTime * 1000, "setInvincible", false); + } + + %player.setTransform( %spawnLoc ); + MissionCleanup.add(%player); + + // setup some info + %player.setOwnerClient(%client); + %player.team = %client.team; + %client.outOfBounds = false; + %player.setEnergyLevel(60); + %client.player = %player; + + // updates client's target info for this player + %player.setTarget(%client.target); + setTargetDataBlock(%client.target, %player.getDatablock()); + setTargetSensorData(%client.target, PlayerSensor); + setTargetSensorGroup(%client.target, %client.team); + %client.setSensorGroup(%client.team); + + //make sure the player has been added to the team rank array... + %game.populateTeamRankArray(%client); + + %game.playerSpawned(%client.player); +} + +function Player::setRespawnCloakOff(%player) +{ + %player.setCloaked(false); + %player.respawnCloakThread = ""; +} + +//------------------------------------------------------------ + +function DefaultGame::startMatch(%game) +{ + echo("START MATCH"); + MessageAll('MsgMissionStart', "\c2Match started!"); + + //the match has been started, clear the team rank array, and repopulate it... + for (%i = 0; %i < 32; %i++) + %game.clearTeamRankArray(%i); + + //used in BountyGame, prolly in a few others as well... + $matchStarted = true; + + %game.clearDeployableMaxes(); + + $missionStartTime = getSimTime(); + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000); + + // schedule first timeLimit check for 20 seconds + if(%game.class !$= "SiegeGame") + { + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + } + + //schedule the end of match countdown + EndCountdown($Host::TimeLimit * 60 * 1000); + + //reset everyone's score and add them to the team rank array + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + %game.resetScore(%cl); + %game.populateTeamRankArray(%cl); + } + + // set all clients control to their player + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + + // Siege game will set the clock differently + if(%game.class !$= "SiegeGame") + messageClient(%cl, 'MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); + + if( !$Host::TournamentMode && %cl.matchStartReady && %cl.camera.mode $= "pre-game") + { + commandToClient(%cl, 'setHudMode', 'Standard'); + %cl.setControlObject( %cl.player ); + } + else + { + if( %cl.matchStartReady ) + { + if(%cl.camera.mode $= "pre-game") + { + %cl.observerMode = ""; + commandToClient(%cl, 'setHudMode', 'Standard'); + + if(isObject(%cl.player)) + %cl.setControlObject( %cl.player ); + else + echo("can't set control for client: " @ %cl @ ", no player object found!"); + } + else + %cl.observerMode = "observerFly"; + } + } + } + + // on with the show this is it! + AISystemEnabled( true ); +} + +function DefaultGame::gameOver( %game ) +{ + //set the bool + $missionRunning = false; + + CancelCountdown(); + CancelEndCountdown(); + + //loop through all the clients, and do any cleanup... + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + %player = %client.player; + %client.lastTeam = %client.team; + + if ( !%client.isAiControlled() ) + { + %client.endMission(); + messageClient( %client, 'MsgClearDebrief', "" ); + %game.sendDebriefing( %client ); + if(%client.player.isBomber) + commandToClient(%client, 'endBomberSight'); + + //clear the score hud... + messageClient( %client, 'SetScoreHudHeader', "", "" ); + messageClient( %client, 'SetScoreHudSubheader', "", ""); + messageClient( %client, 'ClearHud', "", 'scoreScreen', 0 ); + + // clean up the players' HUDs: + %client.setWeaponsHudClearAll(); + %client.setInventoryHudClearAll(); + } + } + + // Default game does nothing... except lets the AI know the mission is over + AIMissionEnd(); +} + +//------------------------------------------------------------------------------ +function DefaultGame::sendDebriefing( %game, %client ) +{ + if ( %game.numTeams == 1 ) + { + // Mission result: + %winner = $TeamRank[0, 0]; + if ( %winner.score > 0 ) + messageClient( %client, 'MsgDebriefResult', "", '%1 wins!', $TeamRank[0, 0].name ); + else + messageClient( %client, 'MsgDebriefResult', "", 'Nobody wins.' ); + + // Player scores: + %count = $TeamRank[0, count]; + messageClient( %client, 'MsgDebriefAddLine', "", 'PLAYERSCOREKILLS' ); + for ( %i = 0; %i < %count; %i++ ) + { + %cl = $TeamRank[0, %i]; + if ( %cl.score $= "" ) + %score = 0; + else + %score = %cl.score; + if ( %cl.kills $= "" ) + %kills = 0; + else + %kills = %cl.kills; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3', %cl.name, %score, %kills ); + } + } + else + { + %topScore = ""; + %topCount = 0; + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + if ( %topScore $= "" || $TeamScore[%team] > %topScore ) + { + %topScore = $TeamScore[%team]; + %firstTeam = %team; + %topCount = 1; + } + else if ( $TeamScore[%team] == %topScore ) + { + %secondTeam = %team; + %topCount++; + } + } + + // Mission result: + if ( %topCount == 1 ) + messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); + else if ( %topCount == 2 ) + messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); + else + messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); + + // Team scores: + messageClient( %client, 'MsgDebriefAddLine', "", 'TEAMSCORE' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + if ( $TeamScore[%team] $= "" ) + %score = 0; + else + %score = $TeamScore[%team]; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %game.getTeamName(%team), %score ); + } + + // Player scores: + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLS' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + %count[%team] = 0; + + %notDone = true; + while ( %notDone ) + { + // Get the highest remaining score: + %highScore = ""; + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + if ( %count[%team] < $TeamRank[%team, count] && ( %highScore $= "" || $TeamRank[%team, %count[%team]].score > %highScore ) ) + { + %highScore = $TeamRank[%team, %count[%team]].score; + %highTeam = %team; + } + } + + // Send the debrief line: + %cl = $TeamRank[%highTeam, %count[%highTeam]]; + %score = %cl.score $= "" ? 0 : %cl.score; + %kills = %cl.kills $= "" ? 0 : %cl.kills; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2 %3 %4', %cl.name, %game.getTeamName(%cl.team), %score, %kills ); + + %count[%highTeam]++; + %notDone = false; + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + if ( %count[%team] < $TeamRank[%team, count] ) + { + %notDone = true; + break; + } + } + } + } + + //now go through an list all the observers: + %count = ClientGroup.getCount(); + %printedHeader = false; + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team <= 0) + { + //print the header only if we actually find an observer + if (!%printedHeader) + { + %printedHeader = true; + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCORE'); + } + + //print out the client + %score = %cl.score $= "" ? 0 : %cl.score; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %cl.name, %score); + } + } +} + +//------------------------------------------------------------ +function DefaultGame::clearDeployableMaxes(%game) +{ + for(%i = 0; %i <= %game.numTeams; %i++) + { + $TeamDeployedCount[%i, TurretIndoorDeployable] = 0; + $TeamDeployedCount[%i, TurretOutdoorDeployable] = 0; + $TeamDeployedCount[%i, PulseSensorDeployable] = 0; + $TeamDeployedCount[%i, MotionSensorDeployable] = 0; + $TeamDeployedCount[%i, InventoryDeployable] = 0; + $TeamDeployedCount[%i, DeployedCamera] = 0; + $TeamDeployedCount[%i, MineDeployed] = 0; + $TeamDeployedCount[%i, TargetBeacon] = 0; + $TeamDeployedCount[%i, MarkerBeacon] = 0; + } +} + +// called from player scripts +function DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %sourceObject) +{ + //set the vars if it was a turret + if (isObject(%sourceObject)) + { + %sourceClassType = %sourceObject.getDataBlock().getClassName(); + %sourceType = %sourceObject.getDataBlock().getName(); + } + if (%sourceClassType $= "TurretData") + { + // jff: are there special turret types which makes this needed? + // tinman: yes, we don't want bots stopping to fire on the big outdoor turrets, which they + // will just get mowed down. deployables only. + if (%sourceType $= "TurretDeployedFloorIndoor" || %sourceType $= "TurretDeployedWallIndoor" || + %sourceType $= "TurretDeployedCeilingIndoor" || %sourceType $= "TurretDeployedOutdoor") + { + %clVictim.lastDamageTurretTime = getSimTime(); + %clVictim.lastDamageTurret = %sourceObject; + } + + %turretAttacker = %sourceObject.getControllingClient(); + // should get a damagae message from friendly fire turrets also + if(%turretAttacker && %turretAttacker != %clVictim && %turretAttacker.team == %clVictim.team) + { + if (%game.numTeams > 1 && %turretAttacker.player.causedRecentDamage != %clVictim.player) //is a teamgame & player just damaged a teammate + { + %turretAttacker.player.causedRecentDamage = %clVictim.player; + %turretAttacker.player.schedule(1000, "causedRecentDamage", ""); //allow friendly fire message every x ms + %game.friendlyFireMessage(%clVictim, %turretAttacker); + } + } + } + else if (%sourceClassType $= "PlayerData") + { + //now see if both were on the same team + if(%clAttacker && %clAttacker != %clVictim && %clVictim.team == %clAttacker.team) + { + if (%game.numTeams > 1 && %clAttacker.player.causedRecentDamage != %clVictim.player) //is a teamgame & player just damaged a teammate + { + %clAttacker.player.causedRecentDamage = %clVictim.player; + %clAttacker.player.schedule(1000, "causedRecentDamage", ""); //allow friendly fire message every x ms + %game.friendlyFireMessage(%clVictim, %clAttacker); + } + } + if (%clAttacker && %clAttacker != %clVictim) + { + %clVictim.lastDamageTime = getSimTime(); + %clVictim.lastDamageClient = %clAttacker; + if (%clVictim.isAIControlled()) + %clVictim.clientDetected(%clAttacker); + } + } + + //call the game specific AI routines... + if (isObject(%clVictim) && %clVictim.isAIControlled()) + %game.onAIDamaged(%clVictim, %clAttacker, %damageType, %sourceObject); + if (isObject(%clAttacker) && %clAttacker.isAIControlled()) + %game.onAIFriendlyFire(%clVictim, %clAttacker, %damageType, %sourceObject); +} + +function DefaultGame::friendlyFireMessage(%game, %damaged, %damager) +{ + messageClient(%damaged, 'MsgDamagedByTeam', '\c1You were harmed by teammate %1', %damager.name); + messageClient(%damager, 'MsgDamagedTeam', '\c1You just harmed teammate %1.', %damaged.name); +} + +function DefaultGame::clearWaitRespawn(%game, %client) +{ + %client.waitRespawn = 0; +} + +// called from player scripts +function DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation) +{ + %plVictim = %clVictim.player; + %plKiller = %clKiller.player; + %clVictim.plyrPointOfDeath = %plVictim.position; + %clVictim.plyrDiedHoldingFlag = %plVictim.holdingFlag; + %clVictim.waitRespawn = 1; + + cancel( %plVictim.reCloak ); + cancel(%clVictim.respawnTimer); + %clVictim.respawnTimer = %game.schedule(($Host::PlayerRespawnTimeout * 1000), "forceObserver", %clVictim, "spawnTimeout" ); + + // reset the alarm for out of bounds + if(%clVictim.outOfBounds) + messageClient(%clVictim, 'EnterMissionArea', ""); + + if (%damageType == $DamageType::suicide) + %respawnDelay = 10; + else + %respawnDelay = 2; + + + %game.schedule(%respawnDelay*1000, "clearWaitRespawn", %clVictim); + // if victim had an undetonated satchel charge pack, get rid of it + if(%plVictim.thrownChargeId != 0) + if(!%plVictim.thrownChargeId.kaboom) + %plVictim.thrownChargeId.delete(); + + if(%plVictim.lastVehicle !$= "") + { + schedule(15000, %plVictim.lastVehicle,"vehicleAbandonTimeOut", %plVictim.lastVehicle); + %plVictim.lastVehicle.lastPilot = ""; + } + + // unmount pilot or remove sight from bomber + if(%plVictim.isMounted()) + { + if(%plVictim.vehicleTurret) + %plVictim.vehicleTurret.getDataBlock().playerDismount(%plVictim.vehicleTurret); + else + { + %plVictim.getDataBlock().doDismount(%plVictim, true); + %plVictim.mountVehicle = false; + } + } + + if(%plVictim.inStation) + commandToClient(%plVictim.client,'setStationKeys', false); + %clVictim.camera.mode = "playerDeath"; + + // reset who triggered this station and cancel outstanding armor switch thread + if(%plVictim.station) + { + %plVictim.station.triggeredBy = ""; + %plVictim.station.getDataBlock().stationTriggered(%plVictim.station,0); + if(%plVictim.armorSwitchSchedule) + cancel(%plVictim.armorSwitchSchedule); + } + + //Close huds if player dies... + messageClient(%clVictim, 'CloseHud', "", 'inventoryScreen'); + messageClient(%clVictim, 'CloseHud', "", 'vehicleHud'); + commandToClient(%clVictim, 'setHudMode', 'Standard', "", 0); + + // $weaponslot from item.cs + %plVictim.setRepairRate(0); + %plVictim.setImageTrigger($WeaponSlot, false); + + playDeathAnimation(%plVictim, %damageLocation, %damageType); + playDeathCry(%plVictim); + + %victimName = %clVictim.name; + + %game.displayDeathMessages(%clVictim, %clKiller, %damageType, %implement); + %game.updateKillScores(%clVictim, %clKiller, %damageType, %implement); + + // toss whatever is being carried, '$flagslot' from item.cs + // MES - had to move this to after death message display because of Rabbit game type + for(%index = 0 ; %index < 8; %index++) + { + %image = %plVictim.getMountedImage(%index); + if(%image) + { + if(%index == $FlagSlot) + %plVictim.throwObject(%plVictim.holdingFlag); + else + %plVictim.throw(%image.item); + } + } + + // target manager update + setTargetDataBlock(%clVictim.target, 0); + setTargetSensorData(%clVictim.target, 0); + + // clear the hud + %clVictim.SetWeaponsHudClearAll(); + %clVictim.SetInventoryHudClearAll(); + %clVictim.setAmmoHudCount(-1); + + // clear out weapons, inventory and pack huds + messageClient(%clVictim, 'msgDeploySensorOff', ""); //make sure the deploy hud gets shut off + messageClient(%clVictim, 'msgPackIconOff', ""); // clear the pack icon + + //clear the deployable HUD + %plVictim.client.deployPack = false; + cancel(%plVictim.deployCheckThread); + deactivateDeploySensor(%plVictim); + + //if the killer was an AI... + if (isObject(%clKiller) && %clKiller.isAIControlled()) + %game.onAIKilledClient(%clVictim, %clKiller, %damageType, %implement); + + + // reset control object on this player: also sets 'playgui' as content + serverCmdResetControlObject(%clVictim); + + // set control object to the camera + %clVictim.player = 0; + %transform = %plVictim.getTransform(); + + //note, AI's don't have a camera... + if (isObject(%clVictim.camera)) + { + %clVictim.camera.setTransform(%transform); + %clVictim.camera.setOrbitMode(%plVictim, %plVictim.getTransform(), 0.5, 4.5, 4.5); + %clVictim.setControlObject(%clVictim.camera); + } + + //hook in the AI specific code for when a client dies + if (%clVictim.isAIControlled()) + { + aiReleaseHumanControl(%clVictim.controlByHuman, %clVictim); + %game.onAIKilled(%clVictim, %clKiller, %damageType, %implement); + } + else + aiReleaseHumanControl(%clVictim, %clVictim.controlAI); + + //used to track corpses so the AI can get ammo, etc... + AICorpseAdded(%plVictim); + + //if the death was a suicide, prevent respawning for 5 seconds... + %clVictim.lastDeathSuicide = false; + if (%damageType == $DamageType::Suicide) + { + %clVictim.lastDeathSuicide = true; + %clVictim.suicideRespawnTime = getSimTime() + 5000; + } +} + +function DefaultGame::forceObserver( %game, %client, %reason ) +{ + //make sure we have a valid client... + if (%client <= 0) + return; + + // first kill this player + if(%client.player) + %client.player.scriptKill(0); + + if( %client.respawnTimer ) + cancel(%client.respawnTimer); + + %client.respawnTimer = ""; + + // remove them from the team rank array + %game.removeFromTeamRankArray(%client); + + // place them in observer mode + %client.lastObserverSpawn = -1; + %client.observerStartTime = getSimTime(); + %adminForce = 0; + + switch$ ( %reason ) + { + case "playerChoose": + %client.camera.getDataBlock().setMode( %client.camera, "observerFly" ); + messageClient(%client, 'MsgClientJoinTeam', '\c2You have become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + logEcho(%client.nameBase@" (cl "@%client@") entered observer mode"); + %client.lastTeam = %client.team; + + case "AdminForce": + %client.camera.getDataBlock().setMode( %client.camera, "observerFly" ); + messageClient(%client, 'MsgClientJoinTeam', '\c2You have been forced into observer mode by the admin.', %client.name, %game.getTeamName(0), %client, 0 ); + logEcho(%client.nameBase@" (cl "@%client@") was forced into observer mode by admin"); + %client.lastTeam = %client.team; + %adminForce = 1; + + if($Host::TournamentMode) + { + if(!$matchStarted) + { + if(%client.camera.Mode $= "pickingTeam") + { + commandToClient( %client, 'processPickTeam'); + clearBottomPrint( %client ); + } + else + { + clearCenterPrint(%client); + %client.notReady = true; + } + } + } + + case "spawnTimeout": + %client.camera.getDataBlock().setMode( %client.camera, "observerTimeout" ); + messageClient(%client, 'MsgClientJoinTeam', '\c2You have been placed in observer mode due to delay in respawning.', %client.name, %game.getTeamName(0), %client, 0 ); + logEcho(%client.nameBase@" (cl "@%client@") was placed in observer mode due to spawn delay"); + // save the team the player was on - only if this was a delay in respawning + %client.lastTeam = %client.team; + } + + // switch client to team 0 (observer) + %client.team = 0; + %client.player.team = 0; + setTargetSensorGroup( %client.target, %client.team ); + %client.setSensorGroup( %client.team ); + + // set their control to the obs. cam + %client.setControlObject( %client.camera ); + commandToClient(%client, 'setHudMode', 'Observer'); + + // display the hud + //displayObserverHud(%client, 0); + updateObserverFlyHud(%client); + + + // message everyone about this event + if( !%adminForce ) + messageAllExcept(%client, -1, 'MsgClientJoinTeam', '\c2%1 has become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + else + messageAllExcept(%client, -1, 'MsgClientJoinTeam', '\c2The admin has forced %1 to become an observer.', %client.name, %game.getTeamName(0), %client, 0 ); + + updateCanListenState( %client ); + + // call the onEvent for this game type + %game.onClientEnterObserverMode(%client); //Bounty uses this to remove this client from others' hit lists +} + +function DefaultGame::displayDeathMessages(%game, %clVictim, %clKiller, %damageType, %implement) +{ + // ---------------------------------------------------------------------------------- + // z0dd - ZOD, 6/18/02. From Panama Jack, send the damageTypeText as the last varible + // in each death message so client knows what weapon it was that killed them. + + %victimGender = (%clVictim.sex $= "Male" ? 'him' : 'her'); + %victimPoss = (%clVictim.sex $= "Male" ? 'his' : 'her'); + %killerGender = (%clKiller.sex $= "Male" ? 'him' : 'her'); + %killerPoss = (%clKiller.sex $= "Male" ? 'his' : 'her'); + %victimName = %clVictim.name; + %killerName = %clKiller.name; + //error("DamageType = " @ %damageType @ ", implement = " @ %implement @ ", implement class = " @ %implement.getClassName() @ ", is controlled = " @ %implement.getControllingClient()); + + if(%damageType == $DamageType::Explosion) + { + messageAll('msgExplosionKill', $DeathMessageExplosion[mFloor(getRandom() * $DeathMessageExplosionCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by a nearby explosion."); + } + else if(%damageType == $DamageType::Suicide) //player presses cntrl-k + { + messageAll('msgSuicide', $DeathMessageSuicide[mFloor(getRandom() * $DeathMessageSuicideCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") committed suicide (CTRL-K)"); + } + else if(%damageType == $DamageType::VehicleSpawn) + { + messageAll('msgVehicleSpawnKill', $DeathMessageVehPad[mFloor(getRandom() * $DeathMessageVehPadCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by vehicle spawn"); + } + else if(%damageType == $DamageType::ForceFieldPowerup) + { + messageAll('msgVehicleSpawnKill', $DeathMessageFFPowerup[mFloor(getRandom() * $DeathMessageFFPowerupCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by Force Field Powerup"); + } + else if(%damageType == $DamageType::Crash) + { + messageAll('msgVehicleCrash', $DeathMessageVehicleCrash[%damageType, mFloor(getRandom() * $DeathMessageVehicleCrashCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") crashes a vehicle."); + } + else if(%damageType == $DamageType::Impact) // run down by vehicle + { + if( ( %controller = %implement.getControllingClient() ) > 0) + { + %killerGender = (%controller.sex $= "Male" ? 'him' : 'her'); + %killerPoss = (%controller.sex $= "Male" ? 'his' : 'her'); + %killerName = %controller.name; + messageAll('msgVehicleKill', $DeathMessageVehicle[mFloor(getRandom() * $DeathMessageVehicleCount)], %victimName, %victimGender, %victimPoss, %killerName ,%killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by a vehicle controlled by "@%controller); + } + else + { + messageAll('msgVehicleKill', $DeathMessageVehicleUnmanned[mFloor(getRandom() * $DeathMessageVehicleUnmannedCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by a vehicle (unmanned)"); + } + } + else if (isObject(%implement) && (%implement.getClassName() $= "Turret" || %implement.getClassName() $= "VehicleTurret" || %implement.getClassName() $= "FlyingVehicle" )) //player killed by a turret + { + if (%implement.getControllingClient() != 0) //is turret being controlled? + { + %controller = %implement.getControllingClient(); + %killerGender = (%controller.sex $= "Male" ? 'him' : 'her'); + %killerPoss = (%controller.sex $= "Male" ? 'his' : 'her'); + %killerName = %controller.name; + + if (%controller == %clVictim) + messageAll('msgTurretSelfKill', $DeathMessageTurretSelfKill[mFloor(getRandom() * $DeathMessageTurretSelfKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + else if (%controller.team == %clVictim.team) //controller TK'd a friendly + messageAll('msgCTurretKill', $DeathMessageCTurretTeamKill[%damageType, mFloor(getRandom() * $DeathMessageCTurretTeamKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + else //controller killed an enemy + messageAll('msgCTurretKill', $DeathMessageCTurretKill[%damageType, mFloor(getRandom() * $DeathMessageCTurretKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by a turret controlled by "@%controller); + } + // use the handle associated with the deployed object to verify valid owner + else if (isObject(%implement.owner)) + { + %owner = %implement.owner; + //error("Owner is " @ %owner @ " Handle is " @ %implement.ownerHandle); + //error("Turret is still owned"); + //turret is uncontrolled, but is owned - treat the same as controlled. + %killerGender = (%owner.sex $= "Male" ? 'him' : 'her'); + %killerPoss = (%owner.sex $= "Male" ? 'his' : 'her'); + %killerName = %owner.name; + + if (%owner.team == %clVictim.team) //player got in the way of a teammates deployed but uncontrolled turret. + messageAll('msgCTurretKill', $DeathMessageCTurretAccdtlKill[%damageType,mFloor(getRandom() * $DeathMessageCTurretAccdtlKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + else //deployed, uncontrolled turret killed an enemy + messageAll('msgCTurretKill', $DeathMessageCTurretKill[%damageType,mFloor(getRandom() * $DeathMessageCTurretKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") was killed by turret (automated)"); + } + else //turret is not a placed (owned) turret (or owner is no longer on it's team), and is not being controlled + { + messageAll('msgTurretKill', $DeathMessageTurretKill[%damageType,mFloor(getRandom() * $DeathMessageTurretKillCount)],%victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by turret"); + } + } + else if((%clKiller == %clVictim) || (%damageType == $DamageType::Ground)) //player killed himself or fell to death + { + messageAll('msgSelfKill', $DeathMessageSelfKill[%damageType,mFloor(getRandom() * $DeathMessageSelfKillCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed self ("@getTaggedString($DamageTypeText[%damageType])@")"); + } + + else if (%damageType == $DamageType::OutOfBounds) //killer died due to Out-of-Bounds damage + { + messageAll('msgOOBKill', $DeathMessageOOB[mFloor(getRandom() * $DeathMessageOOBCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by out-of-bounds damage"); + } + + else if (%damageType == $DamageType::NexusCamping) //Victim died from camping near the nexus... + { + messageAll('msgCampKill', $DeathMessageCamping[mFloor(getRandom() * $DeathMessageCampingCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed for nexus camping"); + } + + else if(%clKiller.team == %clVictim.team) //was a TK + { + messageAll('msgTeamKill', $DeathMessageTeamKill[%damageType, mFloor(getRandom() * $DeathMessageTeamKillCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") teamkilled by "@%clKiller.nameBase@" (pl "@%clKiller.player@"/cl "@%clKiller@")"); + } + + else if (%damageType == $DamageType::Lava) //player died by falling in lava + { + messageAll('msgLavaKill', $DeathMessageLava[mFloor(getRandom() * $DeathMessageLavaCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by lava"); + } + else if ( %damageType == $DamageType::Lightning ) // player was struck by lightning + { + messageAll('msgLightningKill', $DeathMessageLightning[mFloor(getRandom() * $DeathMessageLightningCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by lightning"); + } + else if ( %damageType == $DamageType::Mine && !isObject(%clKiller) ) + { + error("Mine kill w/o source"); + messageAll('MsgRogueMineKill', $DeathMessageRogueMine[%damageType, mFloor(getRandom() * $DeathMessageRogueMineCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + } + else //was a legitimate enemy kill + { + if(%damageType == 6 && (%clVictim.headShot)) + { + // laser headshot just occurred + messageAll('MsgHeadshotKill', $DeathMessageHeadshot[%damageType, mFloor(getRandom() * $DeathMessageHeadshotCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + + } + else + messageAll('MsgLegitKill', $DeathMessage[%damageType, mFloor(getRandom() * $DeathMessageCount)], %victimName, %victimGender, %victimPoss, %killerName, %killerGender, %killerPoss, %damageType, $DamageTypeText[%damageType]); + logEcho(%clVictim.nameBase@" (pl "@%clVictim.player@"/cl "@%clVictim@") killed by "@%clKiller.nameBase@" (pl "@%clKiller.player@"/cl "@%clKiller@") using "@getTaggedString($DamageTypeText[%damageType])); + } +} + +function DefaultGame::assignClientTeam(%game, %client, %respawn ) +{ +//error("DefaultGame::assignClientTeam"); + // this function is overwritten in non-team mission types (e.g. DM) + // so these lines won't do anything + //if(!%game.numTeams) + //{ + // setTargetSkin(%client.target, %client.skin); + // return; + //} + + // camera is responsible for creating a player + // - counts the number of players per team + // - puts this player on the least player count team + // - sets the client's skin to the servers default + + %numPlayers = ClientGroup.getCount(); + for(%i = 0; %i <= %game.numTeams; %i++) + %numTeamPlayers[%i] = 0; + + for(%i = 0; %i < %numPlayers; %i = %i + 1) + { + %cl = ClientGroup.getObject(%i); + if(%cl != %client) + %numTeamPlayers[%cl.team]++; + } + %leastPlayers = %numTeamPlayers[1]; + %leastTeam = 1; + for(%i = 2; %i <= %game.numTeams; %i++) + { + if( (%numTeamPlayers[%i] < %leastPlayers) || + ( (%numTeamPlayers[%i] == %leastPlayers) && + ($teamScore[%i] < $teamScore[%leastTeam] ) )) + { + %leastTeam = %i; + %leastPlayers = %numTeamPlayers[%i]; + } + } + + %client.team = %leastTeam; + %client.lastTeam = %team; + + // Assign the team skin: + if ( %client.isAIControlled() ) + { + if ( %leastTeam & 1 ) + { + %client.skin = addTaggedString( "basebot" ); + setTargetSkin( %client.target, 'basebot' ); + } + else + { + %client.skin = addTaggedString( "basebbot" ); + setTargetSkin( %client.target, 'basebbot' ); + } + } + else + setTargetSkin( %client.target, %game.getTeamSkin(%client.team) ); + //setTargetSkin( %client.target, %client.skin ); + + // might as well standardize the messages + //messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 joined %2.', %client.name, $teamName[%leastTeam], %client, %leastTeam ); + //messageClient( %client, 'MsgClientJoinTeam', '\c1You joined the %2 team.', $client.name, $teamName[%client.team], %client, %client.team ); + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 joined %2.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You joined the %2 team.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); + + updateCanListenState( %client ); + + logEcho(%client.nameBase@" (cl "@%client@") joined team "@%client.team); +} + +function DefaultGame::getTeamSkin(%game, %team) +{ + //error("DefaultGame::getTeamSkin"); + %skin = $teamSkin[%team]; + //error("%skin = " SPC getTaggedString(%skin)); + return %skin; +} + +function DefaultGame::getTeamName(%game, %team) +{ + //error("DefaultGame::getTeamName"); + %name = $teamName[%team]; + //error("name = " SPC getTaggedString(%name)); + return %name; +} + +function DefaultGame::clientJoinTeam( %game, %client, %team, %respawn ) +{ +//error("DefaultGame::clientJoinTeam"); + if ( %team < 1 || %team > %game.numTeams ) + return; + + if( %respawn $= "" ) + %respawn = 1; + + %client.team = %team; + %client.lastTeam = %team; + setTargetSkin( %client.target, %game.getTeamSkin(%team) ); + setTargetSensorGroup( %client.target, %team ); + %client.setSensorGroup( %team ); + + // Spawn the player: + %game.spawnPlayer( %client, %respawn ); + + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 joined %2.', %client.name, %game.getTeamName(%team), %client, %team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You joined the %2 team.', $client.name, %game.getTeamName(%client.team), %client, %client.team ); + + updateCanListenState( %client ); + + logEcho(%client.nameBase@" (cl "@%client@") joined team "@%client.team); +} + +function DefaultGame::AIHasJoined(%game, %client) +{ + //defined to prevent console spam +} + +function DefaultGame::AIChangeTeam(%game, %client, %newTeam) +{ + //make sure we're trying to drop an AI + if (!isObject(%client) || !%client.isAIControlled()) + return; + + //clear the ai from any objectives, etc... + AIUnassignClient(%client); + %client.stop(); + %client.clearTasks(); + %client.clearStep(); + %client.lastDamageClient = -1; + %client.lastDamageTurret = -1; + %client.shouldEngage = -1; + %client.setEngageTarget(-1); + %client.setTargetObject(-1); + %client.pilotVehicle = false; + %client.defaultTasksAdded = false; + + //kill the player, which should cause the Game object to perform whatever cleanup is required. + if (isObject(%client.player)) + %client.player.scriptKill(0); + + //clean up the team rank array + %game.removeFromTeamRankArray(%client); + + //assign the new team + %client.team = %newTeam; + if (%newTeam < 0) + Game.assignClientTeam(%client); + else + { + if ( %client.team & 1 ) + { + %client.skin = addTaggedString( "basebot" ); + setTargetSkin( %client.target, 'basebot' ); + } + else + { + %client.skin = addTaggedString( "basebbot" ); + setTargetSkin( %client.target, 'basebbot' ); + } + } + + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1bot %1 has switched to team %2.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); +} + +function DefaultGame::clientChangeTeam(%game, %client, %team, %fromObs) +{ +//error("DefaultGame::clientChangeTeam"); + //first, remove the client from the team rank array + //the player will be added to the new team array as soon as he respawns... + %game.removeFromTeamRankArray(%client); + + %pl = %client.player; + if(isObject(%pl)) + { + if(%pl.isMounted()) + %pl.getDataBlock().doDismount(%pl); + %pl.scriptKill(0); + } + + // reset the client's targets and tasks only + clientResetTargets(%client, true); + + // give this client a new handle to disassociate ownership of deployed objects + if( %team $= "" && (%team > 0 && %team <= %game.numTeams)) + { + if( %client.team == 1 ) + %client.team = 2; + else + %client.team = 1; + } + else + %client.team = %team; + + // Set the client's skin: + if (!%client.isAIControlled()) + setTargetSkin( %client.target, %game.getTeamSkin(%client.team) ); + setTargetSensorGroup( %client.target, %client.team ); + %client.setSensorGroup( %client.team ); + + // Spawn the player: + %client.lastSpawnPoint = %game.pickPlayerSpawn( %client ); + + %game.createPlayer( %client, %client.lastSpawnPoint, $MatchStarted ); + + if($MatchStarted) + %client.setControlObject(%client.player); + else + { + %client.camera.getDataBlock().setMode(%client.camera, "pre-game", %client.player); + %client.setControlObject(%client.camera); + } + + // call the onEvent for this game type + %game.onClientEnterObserverMode(%client); //Bounty uses this to remove this client from others' hit lists + + if(%fromObs $= "" || !%fromObs) + { + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 switched to team %2.', %client.name, %game.getTeamName(%client.team), %client, %client.team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You switched to team %2.', $client.name, %game.getTeamName(%client.team), %client, %client.team ); + } + else + { + messageAllExcept( %client, -1, 'MsgClientJoinTeam', '\c1%1 joined team %2.', %client.name, %game.getTeamName(%client.team), %client, %team ); + messageClient( %client, 'MsgClientJoinTeam', '\c1You joined team %2.', $client.name, %game.getTeamName(%client.team), %client, %client.team ); + } + + updateCanListenState( %client ); + + // MES - switch objective hud lines when client switches teams + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); + logEcho(%client.nameBase@" (cl "@%client@") switched to team "@%client.team); +} + +// missioncleanup and missiongroup are checked prior to entering game code +function DefaultGame::missionLoadDone(%game) +{ + // walks through the mission group and sets the power stuff up + // - groups get initialized with power count 0 then iterated to + // increment powercount if an object within is powered + // - powers objects up/down + //MissionGroup.objectiveInit(); + MissionGroup.clearPower(); + MissionGroup.powerInit(0); + + %game.initGameVars(); //set up scoring variables and other game specific globals + + // make team0 visible/friendly to all + setSensorGroupAlwaysVisMask(0, 0xffffffff); + setSensorGroupFriendlyMask(0, 0xffffffff); + + // update colors: + // - enemy teams are red + // - same team is green + // - team 0 is white + for(%i = 0; %i < 32; %i++) + { + %team = (1 << %i); + setSensorGroupColor(%i, %team, "0 255 0 255"); + setSensorGroupColor(%i, ~%team, "255 0 0 255"); + setSensorGroupColor(%i, 1, "255 255 255 255"); + + // setup the team targets (alwyas friendly and visible to same team) + setTargetAlwaysVisMask(%i, %team); + setTargetFriendlyMask(%i, %team); + } + + //set up the teams + %game.setUpTeams(); + + //clear out the team rank array... + for (%i = 0; %i < 32; %i++) + $TeamRank[%i, count] = ""; + + // objectiveInit has to take place after setupTeams -- objective HUD relies on flags + // having their team set + MissionGroup.objectiveInit(); + + //initialize the AI system + %game.aiInit(); + + //need to reset the teams if we switch from say, CTF to Bounty... + // assign the bots team + if ($currentMissionType !$= $previousMissionType) + { + $previousMissionType = $currentMissionType; + for(%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIControlled()) + %game.assignClientTeam(%cl); + } + } + + //Save off respawn or Siege Team switch information... + if(%game.class !$= "SiegeGame") + MissionGroup.setupPositionMarkers(true); + echo("Default game mission load done."); +} + +function DefaultGame::onClientLeaveGame(%game, %client) +{ + // if there is a player attached to this client, kill it + if( isObject(%client.player)) + %client.player.scriptKill(0); + + //cancel a scheduled call... + cancel(%client.respawnTimer); + %client.respawnTimer = ""; + + //remove them from the team rank arrays + %game.removeFromTeamRankArray(%client); + logEcho(%client.nameBase@" (cl "@%client@") dropped"); +} + +function DefaultGame::clientMissionDropReady(%game, %client) +{ + //synchronize the clock HUD + messageClient(%client, 'MsgSystemClock', "", 0, 0); + + %game.sendClientTeamList( %client ); + %game.setupClientHuds( %client ); + + if($CurrentMissionType $= "SinglePlayer") + { + //CommandToClient( %client, 'setPlayContent'); + return; + } + + %observer = false; + if( !$Host::TournamentMode ) + { + if( %client.camera.mode $= "observerFly" || %client.camera.mode $= "justJoined") + { + %observer = true; + %client.observerStartTime = getSimTime(); + commandToClient(%client, 'setHudMode', 'Observer'); + %client.setControlObject( %client.camera ); + //displayObserverHud( %client, 0 ); + updateObserverFlyHud(%client); + } + + if( !%observer ) + { + if(!$MatchStarted && !$CountdownStarted) // server has not started anything yet + { + %client.setControlObject( %client.camera ); + commandToClient(%client, 'setHudMode', 'Observer'); + } + else if(!$MatchStarted && $CountdownStarted) // server has started the countdown + { + commandToClient(%client, 'setHudMode', 'Observer'); + %client.setControlObject( %client.camera ); + } + else + { + commandToClient(%client, 'setHudMode', 'Standard'); // the game has already started + %client.setControlObject( %client.player ); + } + } + } + else + { + // set all players into obs mode. setting the control object will handle further procedures... + %client.camera.getDataBlock().setMode( %client.camera, "ObserverFly" ); + commandToClient(%client, 'setHudMode', 'Observer'); + %client.setControlObject( %client.camera ); + messageAll( 'MsgClientJoinTeam', "",%client.name, $teamName[0], %client, 0 ); + %client.team = 0; + + if( !$MatchStarted && !$CountdownStarted) + { + if($TeamDamage) + %damMess = "ENABLED"; + else + %damMess = "DISABLED"; + + if(%game.numTeams > 1) + BottomPrint(%client, "Server is Running in Tournament Mode.\nPick a Team\nTeam Damage is " @ %damMess, 0, 3 ); + } + else + { + BottomPrint( %client, "\nServer is Running in Tournament Mode", 0, 3 ); + } + } + + //make sure the objective HUD indicates your team on top and in green... + if (%client.team > 0) + messageClient(%client, 'MsgCheckTeamLines', "", %client.team); + + // were ready to go. + %client.matchStartReady = true; + echo("Client" SPC %client SPC "is ready."); + + if ( isDemo() ) + { + if ( %client.demoJustJoined ) + { + %client.demoJustJoined = false; + centerPrint( %client, "Welcome to the Tribes 2 Demo." NL "You have been assigned the name \"" @ %client.nameBase @ "\"." NL "Press FIRE to join the game.", 0, 3 ); + } + } +} + +function DefaultGame::sendClientTeamList(%game, %client) +{ + // Send the client the current team list: + %teamCount = %game.numTeams; + for ( %i = 0; %i < %teamCount; %i++ ) + { + if ( %i > 0 ) + %teamList = %teamList @ "\n"; + + %teamList = %teamList @ detag( getTaggedString( %game.getTeamName(%i + 1) ) ); + } + messageClient( %client, 'MsgTeamList', "", %teamCount, %teamList ); +} + +function DefaultGame::setupClientHuds(%game, %client) +{ + // tell the client to setup the huds... + for(%i =0; %i<$WeaponsHudCount; %i++) + %client.setWeaponsHudBitmap(%i, $WeaponsHudData[%i, itemDataName], $WeaponsHudData[%i, bitmapName]); + for(%i =0; %i<$InventoryHudCount; %i++) + { + if ( $InventoryHudData[%i, slot] != 0 ) + %client.setInventoryHudBitmap($InventoryHudData[%i, slot], $InventoryHudData[%i, itemDataName], $InventoryHudData[%i, bitmapName]); + } + %client.setInventoryHudBitmap( 0, "", "gui/hud_handgren" ); + + %client.setWeaponsHudBackGroundBmp("gui/hud_new_panel"); + %client.setWeaponsHudHighLightBmp("gui/hud_new_weaponselect"); + %client.setWeaponsHudInfiniteAmmoBmp("gui/hud_infinity"); + %client.setInventoryHudBackGroundBmp("gui/hud_new_panel"); + + // tell the client if we are protecting statics (so no health bar will be displayed) + commandToClient(%client, 'protectingStaticObjects', %game.allowsProtectedStatics()); + commandToClient(%client, 'setPowerAudioProfiles', sPowerUp.getId(), sPowerDown.getId()); +} + +function DefaultGame::testDrop( %game, %client ) +{ + %game.clientJoinTeam( %client, 1, false ); + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + CommandToClient( %client, 'setPlayContent' ); +} + +function DefaultGame::onClientEnterObserverMode( %game, %client ) +{ + // Default game doesn't care... +} + +// from 'item.cs' +function DefaultGame::playerTouchFlag(%game, %player, %flag) +{ + messageAll('MsgPlayerTouchFlag', 'Player %1 touched flag %2', %player, %flag); +} + +// from 'item.cs' +function DefaultGame::playerDroppedFlag(%game, %player, %flag) +{ + messageAll('MsgPlayerDroppedFlag', 'Player %1 dropped flag %2', %player, %flag); +} + +// from 'staticShape.cs' +function DefaultGame::flagStandCollision(%game, %dataBlock, %obj, %colObj) +{ + // for retreiveGame +} + +function DefaultGame::notifyMineDeployed(%game, %mine) +{ + //do nothign in the default game... +} + +// from 'staticshape.cs' +function DefaultGame::findProjector(%game, %flipflop) +{ + // search the flipflop's folder for a holo projector + // if one exists, associate it with the flipflop + %flipflop.projector = 0; + %folder = %flipflop.getGroup(); + for(%i = 0; %i < %folder.getCount(); %i++) + { + %proj = %folder.getObject(%i); + if(%proj.getDatablock().getName() $= "LogoProjector") + { + %flipflop.projector = %proj; + %flipflop.projector.holo = 0; + break; + } + } +} + +//****************************************************************************** +//* DefaultGame Trigger - Functions * +//****************************************************************************** + +/// -Trigger- ////////////////////////////////////////////////////////////////// +//Function -- onEnterTrigger (%game, %name, %data, %obj, %colObj) +// %game = Current game type object +// %name = Trigger name - defined when trigger is created +// %data = Trigger Data Block +// %obj = Trigger Object +// %colObj = Object that collided with the trigger +//Decription -- Called when trigger has been triggered +//////////////////////////////////////////////////////////////////////////////// +// from 'trigger.cs' +function DefaultGame::onEnterTrigger(%game, %triggerName, %data, %obj, %colobj) +{ + //Do Nothing +} + +/// -Trigger- ////////////////////////////////////////////////////////////////// +//Function -- onLeaveTrigger (%game, %name, %data, %obj, %colObj) +// %game = Current game type object +// %name = Trigger name - defined when trigger is created +// %data = Trigger Data Block +// %obj = Trigger Object +// %colObj = Object that collided with the trigger +//Decription -- Called when trigger has been untriggered +//////////////////////////////////////////////////////////////////////////////// +// from 'trigger.cs' +function DefaultGame::onLeaveTrigger(%game, %triggerName, %data, %obj, %colobj) +{ + //Do Nothing +} + +/// -Trigger- ////////////////////////////////////////////////////////////////// +//Function -- onTickTrigger(%game, %name, %data, %obj) +// %game = Current game type object +// %name = Trigger name - defined when trigger is created +// %data = Trigger Data Block +// %obj = Trigger Object +//Decription -- Called every tick if triggered +//////////////////////////////////////////////////////////////////////////////// +// from 'trigger.cs' +function DefaultGame::onTickTrigger(%game, %triggerName, %data, %obj) +{ + //Do Nothing +} + + +function DefaultGame::setUpTeams(%game) +{ + %group = nameToID("MissionGroup/Teams"); + if(%group == -1) + return; + + // create a team0 if it does not exist + %team = nameToID("MissionGroup/Teams/team0"); + if(%team == -1) + { + %team = new SimGroup("team0"); + %group.add(%team); + } + + // 'team0' is not counted as a team here + %game.numTeams = 0; + while(%team != -1) + { + // create drop set and add all spawnsphere objects into it + %dropSet = new SimSet("TeamDrops" @ %game.numTeams); + MissionCleanup.add(%dropSet); + + %spawns = nameToID("MissionGroup/Teams/team" @ %game.numTeams @ "/SpawnSpheres"); + if(%spawns != -1) + { + %count = %spawns.getCount(); + for(%i = 0; %i < %count; %i++) + %dropSet.add(%spawns.getObject(%i)); + } + + // set the 'team' field for all the objects in this team + %team.setTeam(%game.numTeams); + + clearVehicleCount(%team+1); + // get next group + %team = nameToID("MissionGroup/Teams/team" @ %game.numTeams + 1); + if (%team != -1) + %game.numTeams++; + } + + // set the number of sensor groups (including team0) that are processed + setSensorGroupCount(%game.numTeams + 1); +} + +function SimGroup::setTeam(%this, %team) +{ + for (%i = 0; %i < %this.getCount(); %i++) + { + %obj = %this.getObject(%i); + switch$ (%obj.getClassName()) + { + case SpawnSphere : + if($MatchStarted) + { + // find out what team the spawnsphere used to belong to + %found = false; + for(%l = 1; %l <= Game.numTeams; %l++) + { + %drops = nameToId("MissionCleanup/TeamDrops" @ %l); + for(%j = 0; %j < %drops.getCount(); %j++) + { + %current = %drops.getObject(%j); + if(%current == %obj) + %found = %l; + } + } + if(%team != %found) + Game.claimSpawn(%obj, %team, %found); + else + error("spawn "@%obj@" is already on team "@%team@"!"); + } + else + Game.claimSpawn(%obj, %team, ""); + case SimGroup : %obj.setTeam(%team); + default : %obj.team = %team; + } + + if(%obj.getType() & $TypeMasks::GameBaseObjectType) + { + // eeck.. please go away when scripts get cleaned... + // ----------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Part of re-write of Vehicle + // station creation. Do not need this code anymore. + //if(%obj.getDataBlock().getName() $= "StationVehiclePad") + //{ + // %team = %obj.team; + // %obj = %obj.station; + // %obj.team = %team; + //%obj.teleporter.team = %team; + //} + %target = %obj.getTarget(); + if(%target != -1) + setTargetSensorGroup(%target, %team); + } + } +} + +function DefaultGame::claimSpawn(%game, %obj, %newTeam, %oldTeam) +{ + if(%newTeam == %oldTeam) + return; + + %newSpawnGroup = nameToId("MissionCleanup/TeamDrops" @ %newTeam); + if(%oldTeam !$= "") + { + %oldSpawnGroup = nameToId("MissionCleanup/TeamDrops" @ %oldTeam); + %oldSpawnGroup.remove(%obj); + } + %newSpawnGroup.add(%obj); +} + +// recursive function to assign teams to all mission objects + +function SimGroup::swapTeams(%this) +{ + // used in Siege only + Game.groupSwapTeams(%this); +} + +function ShapeBase::swapTeams(%this) +{ + // used in Siege only + Game.objectSwapTeams(%this); +} + +function GameBase::swapTeams(%this) +{ + // used in Siege only + Game.objectSwapTeams(%this); +} + +function TSStatic::swapTeams(%this) +{ + // used in Siege only + // do nothing +} + +function InteriorInstance::swapTeams(%this) +{ + // used in Siege only + // do nothing -- interiors don't switch teams +} + +function SimGroup::swapVehiclePads(%this) +{ + // used in Siege only + Game.groupSwapVehiclePads(%this); +} + +function ShapeBase::swapVehiclePads(%this) +{ + // used in Siege only + Game.objectSwapVehiclePads(%this); +} + +function GameBase::swapVehiclePads(%this) +{ + // used in Siege only + // do nothing -- only searching for vehicle pads +} + +function InteriorInstance::swapVehiclePads(%this) +{ + // used in Siege only + // do nothing -- only searching for vehicle pads +} + +function SimSet::swapVehiclePads(%this) +{ + // used in Siege only + // do nothing -- only searching for vehicle pads +} + +function PhysicalZone::swapVehiclePads(%this) +{ + // used in Siege only + // do nothing -- only searching for vehicle pads +} + +function SimGroup::objectRestore(%this) +{ + // used in Siege only + Game.groupObjectRestore(%this); +} + +function ShapeBase::objectRestore(%object) +{ + // only used for Siege + Game.shapeObjectRestore(%object); +} + +function Turret::objectRestore(%object) +{ + // only used for Siege + Game.shapeObjectRestore(%object); +} + +function AIObjective::objectRestore(%object) +{ + // only used for Siege + // don't do anything for AI Objectives +} + +function DefaultGame::checkObjectives(%game) +{ + //any special objectives that can be met by gametype + //none for default game +} + +//--------------------------------------------------- + +function DefaultGame::checkTimeLimit(%game, %forced) +{ + // Don't add extra checks: + if ( %forced ) + cancel( %game.timeCheck ); + + // if there is no time limit, check back in a minute to see if it's been set + if(($Host::TimeLimit $= "") || $Host::TimeLimit == 0) + { + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + return; + } + + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + + if (%curTimeLeftMS <= 0) + { + // time's up, put down your pencils + %game.timeLimitReached(); + } + else + { + if(%curTimeLeftMS >= 20000) + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + else + %game.timeCheck = %game.schedule(%curTimeLeftMS + 1, "checkTimeLimit"); + + //now synchronize everyone's clock + messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); + } +} + +function listplayers() +{ + for(%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + %status = ""; + if(%cl.isAiControlled()) + %status = "Bot "; + if(%cl.isSmurf) + %status = "Alias "; + if(%cl.isAdmin) + %status = %status @ "Admin "; + if(%cl.isSuperAdmin) + %status = %status @ "SuperAdmin "; + if(%status $= "") + %status = ""; + echo("client: " @ %cl @ " player: " @ %cl.player @ " name: " @ %cl.nameBase @ " team: " @ %cl.team @ " status: " @ %status); + } +} + +function DefaultGame::clearTeamRankArray(%game, %team) +{ + %count = $TeamRank[%team, count]; + for (%i = 0; %i < %count; %i++) + $TeamRank[%team, %i] = ""; + $TeamRank[%team, count] = 0; +} + +function DefaultGame::populateTeamRankArray(%game, %client) +{ + //this function should be called *after* the client has been added to a team... + if (%client <= 0 || %client.team <= 0) + return; + + //find the team + if (%game.numTeams == 1) + %team = 0; + else + %team = %client.team; + + //find the number of teammates already ranked... + %count = $TeamRank[%team, count]; + if (%count $= "") + { + $TeamRank[%team, count] = 0; + %count = 0; + } + + //make sure we're not already in the array + for (%i = 0; %i < %count; %i++) + { + if ($TeamRank[%team, %i] == %client) + return; + } + + //add the client in at the bottom of the list, and increment the count + $TeamRank[%team, %count] = %client; + $TeamRank[%team, count] = $TeamRank[%team, count] + 1; + + //now recalculate the team rank for this player + %game.recalcTeamRanks(%client); +} + +function DefaultGame::removeFromTeamRankArray(%game, %client) +{ + //note, this should be called *before* the client actually switches teams or drops... + if (%client <= 0 || %client.team <= 0) + return; + + //find the correct team + if (%game.numTeams == 1) + %team = 0; + else + %team = %client.team; + + //now search throught the team rank array, looking for this client + %count = $TeamRank[%team, count]; + for (%i = 0; %i < %count; %i++) + { + if ($TeamRank[%team, %i] == %client) + { + //we've found the client in the array, now loop through, and move everyone else up a rank + for (%j = %i + 1; %j < %count; %j++) + { + %cl = $TeamRank[%team, %j]; + $TeamRank[%team, %j - 1] = %cl; + messageClient(%cl, 'MsgYourRankIs', "", %j); + } + $TeamRank[%team, %count - 1] = ""; + + //now decrement the team rank array count, and break + $TeamRank[%team, count] = $TeamRank[%team, count] - 1; + break; + } + } +} + +function DefaultGame::recalcTeamRanks(%game, %client) +{ + if (%client <= 0 || %client.team <= 0) + return; + + // this is a little confusing -- someone's actual numerical rank is always + // one number higher than his index in the $TeamRank array + // (e.g. person ranked 1st has index of 0) + + // TINMAN: I'm going to remove the %client.teamRank field - the index in the + // $TeamRank array already contains their rank - safer to search the array than + // to maintiain the information in a separate variable... + + //find the team, the client in the team array + if (%game.numTeams == 1) + %team = 0; + else + %team = %client.team; + + %count = $TeamRank[%team, count]; + %index = -1; + for (%i = 0; %i < %count; %i++) + { + if ($TeamRank[%team, %i] == %client) + { + %index = %i; + break; + } + } + + //if they weren't found in the array, return + if (%index < 0) + return; + + //make sure far down the array as they should be... + %tempIndex = %index; + %swapped = false; + while (true) + { + if (%tempIndex <= 0) + break; + + %tempIndex--; + %tempClient = $TeamRank[%team, %tempIndex]; + + //see if we should swap the two + if (%client.score > %tempClient.score) + { + %swapped = true; + %index = %tempIndex; + $TeamRank[%team, %tempIndex] = %client; + $TeamRank[%team, %tempIndex + 1] = %tempClient; + messageClient(%tempClient, 'MsgYourRankIs', "", %tempIndex + 2); + } + } + + //if we've swapped up at least once, we obviously won't need to swap down as well... + if (%swapped) + { + messageClient(%client, 'MsgYourRankIs', "", %index + 1); + return; + } + + //since we didnt' swap up, see if we need to swap down... + %tempIndex = %index; + %swapped = false; + while (true) + { + if (%tempIndex >= %count - 1) + break; + + %tempIndex++; + %tempClient = $TeamRank[%team, %tempIndex]; + + //see if we should swap the two + if (%client.score < %tempClient.score) + { + %swapped = true; + %index = %tempIndex; + $TeamRank[%team, %tempIndex] = %client; + $TeamRank[%team, %tempIndex - 1] = %tempClient; + messageClient(%tempClient, 'MsgYourRankIs', "", %tempIndex); + } + } + + //send the message (regardless of whether a swap happened or not) + messageClient(%client, 'MsgYourRankIs', "", %index + 1); +} + +function DefaultGame::recalcScore(%game, %cl) +{ + %game.recalcTeamRanks(%cl); +} + +function DefaultGame::testKill(%game, %victimID, %killerID) +{ + return ((%killerID !=0) && (%victimID.team != %killerID.team)); +} + +function DefaultGame::testSuicide(%game, %victimID, %killerID, %damageType) +{ + return ((%victimID == %killerID) || (%damageType == $DamageType::Ground) || (%damageType == $DamageType::Suicide)); +} + +function DefaultGame::testTeamKill(%game, %victimID, %killerID) +{ + return (%killerID.team == %victimID.team); +} + +function DefaultGame::testTurretKill(%game, %implement) +{ + if(%implement == 0) + return false; + else + return (%implement.getClassName() $= "Turret"); +} + +// function DefaultGame::awardScoreFlagCap(%game, %cl) +// { +// %cl.flagCaps++; +// $TeamScore[%cl.team] += %game.SCORE_PER_TEAM_FLAG_CAP; +// messageAll('MsgCTFTeamScore', "", %cl.team, $TeamScore[%cl.team]); +// +// if (%game.SCORE_PER_PLYR_FLAG_CAP > 1) +// %plural = "s"; +// else +// %plural = ""; +// +// if (%game.SCORE_PER_PLYR_FLAG_CAP != 0) +// messageClient(%cl, 'scoreFlaCapMsg', 'You received %1 point%2 for capturing the flag.', %game.SCORE_PER_PLYR_FLAG_CAP, %plural); +// %game.recalcScore(%cl); +// } + + +function DefaultGame::testOOBDeath(%game, %damageType) +{ + return (%damageType == $DamageType::OutOfBounds); +} + +function DefaultGame::awardScoreTurretKill(%game, %victimID, %implement) +{ + if ((%killer = %implement.getControllingClient()) != 0) //award whoever might be controlling the turret + { + if (%killer == %victimID) + %game.awardScoreSuicide(%victimID); + else if (%killer.team == %victimID.team) //player controlling a turret killed a teammate + { + %killer.teamKills++; + %game.awardScoreTurretTeamKill(%victimID, %killer); + %game.awardScoreDeath(%victimID); + } + else + { + %killer.turretKills++; + %game.recalcScore(%killer); + %game.awardScoreDeath(%victimID); + } + } + else if ((%killer = %implement.owner) != 0) //if it isn't controlled, award score to whoever deployed it + { + if (%killer.team == %victimID.team) + { + %game.awardScoreDeath(%victimID); + } + else + { + %killer.turretKills++; + %game.recalcScore(%killer); + %game.awardScoreDeath(%victimID); + } + } + //default is, no one was controlling it, no one owned it. No score given. +} + +function DefaultGame::awardScoreDeath(%game, %victimID) +{ + %victimID.deaths++; + if ( %game.SCORE_PER_DEATH != 0 ) + { +// %plural = (abs(%game.SCORE_PER_DEATH) != 1 ? "s" : ""); +// messageClient(%victimID, 'MsgScoreDeath', '\c0You have been penalized %1 point%2 for dying.', abs(%game.SCORE_PER_DEATH), %plural); + %game.recalcScore(%victimID); + } +} + +function DefaultGame::awardScoreKill(%game, %killerID) +{ + %killerID.kills++; + %game.recalcScore(%killerID); +} + +function DefaultGame::awardScoreSuicide(%game, %victimID) +{ + %victimID.suicides++; +// if (%game.SCORE_PER_SUICIDE != 0) +// messageClient(%victimID, 'MsgScoreSuicide', '\c0You have been penalized for killing yourself.'); + %game.recalcScore(%victimID); +} + +function DefaultGame::awardScoreTeamkill(%game, %victimID, %killerID) +{ + %killerID.teamKills++; + if (%game.SCORE_PER_TEAMKILL != 0) + messageClient(%killerID, 'MsgScoreTeamkill', '\c0You have been penalized for killing teammate %1.', %victimID.name); + %game.recalcScore(%killerID); +} + +function DefaultGame::awardScoreTurretTeamKill(%game, %victimID, %killerID) +{ + %killerID.teamKills++; + if (%game.SCORE_PER_TEAMKILL != 0) + messageClient(%killerID, 'MsgScoreTeamkill', '\c0You have been penalized for killing your teammate %1, with a turret.', %victimID.name); + %game.recalcScore(%killerID); +} + + +function DefaultGame::objectRepaired(%game, %obj, %objName) +{ + %item = %obj.getDataBlock().getName(); + //echo("Item repaired is a " @ %item); + switch$ (%item) + { + case generatorLarge : + %game.genOnRepaired(%obj, %objName); + case stationInventory : + %game.stationOnRepaired(%obj, %objName); + case sensorMediumPulse : + %game.sensorOnRepaired(%obj, %objName); + case sensorLargePulse : + %game.sensorOnRepaired(%obj, %objName); + case turretBaseLarge : + %game.turretOnRepaired(%obj, %objName); + case stationVehicle : %game.vStationOnRepaired(%obj, %objName); + default: //unused by current gametypes. Add more checks here if desired + } +} + +function DefaultGame::allowsProtectedStatics(%game) +{ + return false; +} + +// jff: why is game object doing this? +//Return a simple string with no extras +function DefaultGame::cleanWord(%game, %this) +{ + %length = strlen(%this); + for(%i = 0; %i < %length; %i++) + { + %char = getSubStr(%this, %i, 1); + if(%char $= "_") + { + %next = getSubStr(%this, (%i+1), 1); + if(%next $= "_") + { + %char = "'"; //apostrophe (2 chars) + %i++; + } + else + %char = " "; //space + } + %clean = (%clean @ %char); + } +} + +function DefaultGame::stationOnEnterTrigger(%game, %data, %obj, %colObj) +{ + return true; +} + +function DefaultGame::WeaponOnUse(%game, %data, %obj) +{ + return true; +} + +function DefaultGame::HandInvOnUse(%game, %data, %obj) +{ + return true; +} + +function DefaultGame::WeaponOnInventory(%game, %this, %obj, %amount) +{ + return true; +} + +function DefaultGame::ObserverOnTrigger(%game, %data, %obj, %trigger, %state) +{ + return true; +} + +// jff: why is the game being notified that a weapon is being thrown? hot potato gametype? +function DefaultGame::ShapeThrowWeapon(%game, %this) +{ + return true; +} + +function DefaultGame::leaveMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %player.client.outOfBounds = true; + messageClient(%player.client, 'LeaveMissionArea', '\c1You left the mission area.~wfx/misc/warning_beep.wav'); +} + +function DefaultGame::enterMissionArea(%game, %playerData, %player) +{ + if(%player.getState() $= "Dead") + return; + + %player.client.outOfBounds = false; + messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.'); +} + +//------------------------------------------------------------------------------ +// AI stubs: +//------------------------------------------------------------------------------ + +function DefaultGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %sourceObject) +{ +} + +function DefaultGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %sourceObject) +{ +} + +function DefaultGame::onAIKilled(%game, %clVictim, %clKiller, %damageType, %implement) +{ + //unassign the client from any objectives + AIUnassignClient(%clVictim); + + //break the link, if this ai is controlled + aiReleaseHumanControl(%clVictim.controlByHuman, %clVictim); + + //and schedule the respawn + %clVictim.respawnThread = schedule(5000, %clVictim, "onAIRespawn", %clVictim); +} + +function DefaultGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement) +{ + %clAttacker.setVictim(%clVictim, %clVictim.player); +} + +//------------------------------------------------------------------------------ +// Voting stuff: +//------------------------------------------------------------------------------ +function DefaultGame::sendGamePlayerPopupMenu( %game, %client, %targetClient, %key ) +{ + if( !%targetClient.matchStartReady ) + return; + + %isAdmin = ( %client.isAdmin || %client.isSuperAdmin ); + + %isTargetSelf = ( %client == %targetClient ); + %isTargetAdmin = ( %targetClient.isAdmin || %targetClient.isSuperAdmin ); + %isTargetBot = %targetClient.isAIControlled(); + %isTargetObserver = ( %targetClient.team == 0 ); + %outrankTarget = false; + if ( %client.isSuperAdmin ) + %outrankTarget = !%targetClient.isSuperAdmin; + else if ( %client.isAdmin ) + %outrankTarget = !%targetClient.isAdmin; + + if( %client.isSuperAdmin && %targetClient.guid != 0 && !isDemo() ) + { + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "addAdmin", "", 'Add to Server Admin List', 10); + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "addSuperAdmin", "", 'Add to Server SuperAdmin List', 11); + } + + //mute options + if ( !%isTargetSelf ) + { + if ( %client.muted[%targetClient] ) + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "MutePlayer", "", 'Unmute Text Chat', 1); + else + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "MutePlayer", "", 'Mute Text Chat', 1); + + if ( !%isTargetBot && %client.canListenTo( %targetClient ) ) + { + if ( %client.getListenState( %targetClient ) ) + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "ListenPlayer", "", 'Disable Voice Com', 9 ); + else + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "ListenPlayer", "", 'Enable Voice Com', 9 ); + } + } + + if( !%client.canVote && !%isAdmin ) + return; + + // regular vote options on players + if ( %game.scheduleVote $= "" && !%isAdmin && !%isTargetAdmin ) + { + if ( $Host::allowAdminPlayerVotes && !%isTargetBot && !isDemo() ) + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "AdminPlayer", "", 'Vote to Make Admin', 2 ); + + if ( !%isTargetSelf ) + { + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "KickPlayer", "", 'Vote to Kick', 3 ); + } + } + + + // Admin only options on players: + else if ( %isAdmin && !isDemo() ) + { + if ( !%isTargetBot && !%isTargetAdmin ) + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "AdminPlayer", "", 'Make Admin', 2 ); + + if ( !%isTargetSelf && %outrankTarget ) + { + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "KickPlayer", "", 'Kick', 3 ); + + if ( !%isTargetBot ) + { + if( %client.isSuperAdmin ) + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "BanPlayer", "", 'Ban', 4 ); + + if ( !%isTargetObserver ) + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "ToObserver", "", 'Force observer', 5 ); + } + } + + + if ( %isTargetSelf || %outrankTarget ) + { + if ( %game.numTeams > 1 ) + { + if ( %isTargetObserver ) + { + %action = %isTargetSelf ? "Join " : "Change to "; + %str1 = %action @ getTaggedString( %game.getTeamName(1) ); + %str2 = %action @ getTaggedString( %game.getTeamName(2) ); + + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "ChangeTeam", "", %str1, 6 ); + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "ChangeTeam", "", %str2, 7 ); + } + else + { + %changeTo = %targetClient.team == 1 ? 2 : 1; + %str = "Switch to " @ getTaggedString( %game.getTeamName(%changeTo) ); + %caseId = 5 + %changeTo; + + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "ChangeTeam", "", %str, %caseId ); + } + } + else if ( %isTargetObserver ) + { + %str = %isTargetSelf ? 'Join the Game' : 'Add to Game'; + messageClient( %client, 'MsgPlayerPopupItem', "", %key, "JoinGame", "", %str, 8 ); + } + } + } +} + +//------------------------------------------------------------------------------ +function DefaultGame::sendGameVoteMenu( %game, %client, %key ) +{ + %isAdmin = ( %client.isAdmin || %client.isSuperAdmin ); + %multipleTeams = %game.numTeams > 1; + + // no one is going anywhere until this thing starts + if($MatchStarted) + { + // Client options: + if ( %client.team != 0 ) + { + if ( %multipleTeams ) + if( !$Host::TournamentMode ) + messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Change your Team' ); + messageClient( %client, 'MsgVoteItem', "", %key, 'MakeObserver', "", 'Become an Observer' ); + } + else + { + if(!%multipleTeams && !$Host::TournamentMode) + messageClient( %client, 'MsgVoteItem', "", %key, 'JoinGame', "", 'Join the Game' ); + } + + //%totalSlots = $Host::maxPlayers - ($HostGamePlayerCount + $HostGameBotCount); + // if( $HostGameBotCount > 0 && %totalSlots > 0 && %client.isAdmin) + //messageClient( %client, 'MsgVoteItem', "", %key, 'Addbot', "", 'Add a Bot' ); + } + + if( !%client.canVote && !%isAdmin ) + return; + + if (isDemo()) + return; + + if ( %game.scheduleVote $= "" ) + { + if(!%client.isAdmin) + { + // Actual vote options: + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeMission', 'change the mission to', 'Vote to Change the Mission' ); + + if( $Host::TournamentMode ) + { + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFFAMode', 'Change server to Free For All.', 'Vote Free For All Mode' ); + + if(!$MatchStarted && !$CountdownStarted) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteMatchStart', 'Start Match', 'Vote to Start the Match' ); + } + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTournamentMode', 'Change server to Tournament.', 'Vote Tournament Mode' ); + + if ( %multipleTeams ) + { + if(!$MatchStarted && !$Host::TournamentMode) + messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Change your Team' ); + + if ( $teamDamage ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'disable team damage', 'Vote to Disable Team Damage' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'enable team damage', 'Vote to Enable Team Damage' ); + } + } + else + { + // Actual vote options: + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeMission', 'change the mission to', 'Change the Mission' ); + + if( $Host::TournamentMode ) + { + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteFFAMode', 'Change server to Free For All.', 'Free For All Mode' ); + + if(!$MatchStarted && !$CountdownStarted) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteMatchStart', 'Start Match', 'Start Match' ); + } + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTournamentMode', 'Change server to Tournament.', 'Tournament Mode' ); + + if ( %multipleTeams ) + { + if(!$MatchStarted) + messageClient( %client, 'MsgVoteItem', "", %key, 'ChooseTeam', "", 'Choose Team' ); + + if ( $teamDamage ) + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'disable team damage', 'Disable Team Damage' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteTeamDamage', 'enable team damage', 'Enable Team Damage' ); + } + } + } + + // Admin only options: + if ( %client.isAdmin ) + { + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteChangeTimeLimit', 'change the time limit', 'Change the Time Limit' ); + messageClient( %client, 'MsgVoteItem', "", %key, 'VoteResetServer', 'reset server defaults', 'Reset the Server' ); + } +} + +//------------------------------------------------------------------------------ +function DefaultGame::sendGameTeamList( %game, %client, %key ) +{ + %teamCount = %game.numTeams; + if ( %teamCount < 2 ) + { + warn( "Team menu requested for one-team game!" ); + return; + } + + for ( %team = 1; %team - 1 < %teamCount; %team++ ) + messageClient( %client, 'MsgVoteItem', "", %key, %team, "", detag( getTaggedString( %game.getTeamName(%team) ) ) ); +} + +//------------------------------------------------------------------------------ +function DefaultGame::sendTimeLimitList( %game, %client, %key ) +{ + messageClient( %client, 'MsgVoteItem', "", %key, 10, "", '10 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 15, "", '15 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 20, "", '20 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 25, "", '25 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 30, "", '30 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 45, "", '45 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 60, "", '60 minutes' ); + messageClient( %client, 'MsgVoteItem', "", %key, 200, "", 'No time limit' ); +} + +//------------------------------------------------------------------------------ +// all global votes here +// this function was created to remove the call to "eval", which is non-functional in PURE servers... +function DefaultGame::evalVote(%game, %typeName, %admin, %arg1, %arg2, %arg3, %arg4) +{ + switch$ (%typeName) + { + case "voteChangeMission": + %game.voteChangeMission(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteTeamDamage": + %game.voteTeamDamage(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteTournamentMode": + %game.voteTournamentMode(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteMatchStart": + %game.voteMatchStart(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteFFAMode": + %game.voteFFAMode(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteChangeTimeLimit": + %game.voteChangeTimeLimit(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteResetServer": + %game.voteResetServer(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteKickPlayer": + %game.voteKickPlayer(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteAdminPlayer": + %game.voteAdminPlayer(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteGreedMode": + %game.voteGreedMode(%admin, %arg1, %arg2, %arg3, %arg4); + + case "voteHoardMode": + %game.voteHoardMode(%admin, %arg1, %arg2, %arg3, %arg4); + } +} + +function DefaultGame::voteChangeMission(%game, %admin, %missionDisplayName, %typeDisplayName, %missionId, %missionTypeId) +{ + %mission = $HostMissionFile[%missionId]; + if ( %mission $= "" ) + { + error( "Invalid mission index passed to DefaultGame::voteChangeMission!" ); + return; + } + + %missionType = $HostTypeName[%missionTypeId]; + if ( %missionType $= "" ) + { + error( "Invalid mission type id passed to DefaultGame::voteChangeMission!" ); + return; + } + + if(%admin) + { + messageAll('MsgAdminChangeMission', '\c2The Admin has changed the mission to %1 (%2).', %missionDisplayName, %typeDisplayName ); + logEcho("mission changed to "@%missionDisplayName@"/"@%typeDisplayName@" (admin)"); + %game.gameOver(); + loadMission( %mission, %missionType, false ); + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgVotePassed', '\c2The mission was changed to %1 (%2) by vote.', %missionDisplayName, %typeDisplayName ); + logEcho("mission changed to "@%missionDisplayName@"/"@%typeDisplayName@" (vote)"); + %game.gameOver(); + loadMission( %mission, %missionType, false ); + } + else + messageAll('MsgVoteFailed', '\c2Change mission vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteTeamDamage(%game, %admin) +{ + %setto = ""; + %cause = ""; + if(%admin) + { + if($teamDamage) + { + messageAll('MsgAdminForce', '\c2The Admin has disabled team damage.'); + $Host::TeamDamageOn = $TeamDamage = 0; + %setto = "disabled"; + } + else + { + messageAll('MsgAdminForce', '\c2The Admin has enabled team damage.'); + $Host::TeamDamageOn = $TeamDamage = 1; + %setto = "enabled"; + } + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + if($teamDamage) + { + messageAll('MsgVotePassed', '\c2Team damage was disabled by vote.'); + $Host::TeamDamageOn = $TeamDamage = 0; + %setto = "disabled"; + } + else + { + messageAll('MsgVotePassed', '\c2Team damage was enabled by vote.'); + $Host::TeamDamageOn = $TeamDamage = 1; + %setto = "enabled"; + } + %cause = "(vote)"; + } + else + { + if($teamDamage) + messageAll('MsgVoteFailed', '\c2Disable team damage vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + else + messageAll('MsgVoteFailed', '\c2Enable team damage vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } + } + if(%setto !$= "") + logEcho("team damage "@%setto SPC %cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteTournamentMode( %game, %admin, %missionDisplayName, %typeDisplayName, %missionId, %missionTypeId ) +{ + %mission = $HostMissionFile[%missionId]; + if ( %mission $= "" ) + { + error( "Invalid mission index passed to DefaultGame::voteTournamentMode!" ); + return; + } + + %missionType = $HostTypeName[%missionTypeId]; + if ( %missionType $= "" ) + { + error( "Invalid mission type id passed to DefaultGame::voteTournamentMode!" ); + return; + } + + %cause = ""; + if (%admin) + { + messageAll( 'MsgAdminForce', '\c2The Admin has switched the server to Tournament mode (%1).', %missionDisplayName ); + setModeTournament( %mission, %missionType ); + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgVotePassed', '\c2Server switched to Tournament mode by vote (%1): %2 percent.', %missionDisplayName, mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + setModeTournament( %mission, %missionType ); + %cause = "(vote)"; + } + else + messageAll('MsgVoteFailed', '\c2Tournament mode vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } + if(%cause !$= "") + logEcho("tournament mode set "@%cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteMatchStart( %game, %admin) +{ + %cause = ""; + %ready = forceTourneyMatchStart(); + if(%admin) + { + if(!%ready) + { + messageClient( %client, 'msgClient', '\c2No players are ready yet.'); + return; + } + else + { + messageAll('msgMissionStart', '\c2The admin has forced the match to start.'); + %cause = "(admin)"; + startTourneyCountdown(); + } + } + else + { + if(!%ready) + { + messageAll( 'msgClient', '\c2Vote passed to start match, but no players are ready yet.'); + return; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgVotePassed', '\c2The match has been started by vote: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + startTourneyCountdown(); + } + else + messageAll('MsgVoteFailed', '\c2Start Match vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } + } + + if(%cause !$= "") + logEcho("start match "@%cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteFFAMode( %game, %admin, %client ) +{ + %cause = ""; + %name = getTaggedString(%client.name); + + if (%admin) + { + messageAll('MsgAdminForce', '\c2The Admin has switched the server to Free For All mode.', %client); + setModeFFA($CurrentMission, $CurrentMissionType); + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgVotePassed', '\c2Server switched to Free For All mode by vote.', %client); + setModeFFA($CurrentMission, $CurrentMissionType); + %cause = "(vote)"; + } + else + messageAll('MsgVoteFailed', '\c2Free For All mode vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } + if(%cause !$= "") + logEcho("free for all set "@%cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit ) +{ + if( %newLimit == 999 ) + %display = "unlimited"; + else + %display = %newLimit; + + %cause = ""; + if ( %admin ) + { + messageAll( 'MsgAdminForce', '\c2The Admin changed the mission time limit to %1 minutes.', %display ); + $Host::TimeLimit = %newLimit; + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgVotePassed', '\c2The mission time limit was set to %1 minutes by vote.', %display); + $Host::TimeLimit = %newLimit; + %cause = "(vote)"; + } + else + messageAll('MsgVoteFailed', '\c2The vote to change the mission time limit did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } + + //if the time limit was actually changed... + if(%cause !$= "") + { + logEcho("time limit set to "@%display SPC %cause); + + //if the match has been started, reset the end of match countdown + if ($matchStarted) + { + //schedule the end of match countdown + %elapsedTimeMS = getSimTime() - $missionStartTime; + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) - %elapsedTimeMS; + error("time limit="@$Host::TimeLimit@", elapsed="@(%elapsedTimeMS / 60000)@", curtimeleftms="@%curTimeLeftMS); + CancelEndCountdown(); + EndCountdown(%curTimeLeftMS); + cancel(%game.timeSync); + %game.checkTimeLimit(true); + } + } +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteResetServer( %game, %admin, %client ) +{ + %cause = ""; + if ( %admin ) + { + messageAll( 'AdminResetServer', '\c2The Admin has reset the server.' ); + resetServerDefaults(); + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgVotePassed', '\c2The Server has been reset by vote.' ); + resetServerDefaults(); + %cause = "(vote)"; + } + else + messageAll('MsgVoteFailed', '\c2The vote to reset Server to defaults did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount) * 100)); + } + if(%cause !$= "") + logEcho("server reset "@%cause); +} + +//------------------------------------------------------------------------------ +// all team based votes here +function DefaultGame::voteKickPlayer(%game, %admin, %client) +{ + %cause = ""; + + if(%admin) + { + kick(%client, %admin, %client.guid ); + %cause = "(admin)"; + } + else + { + %team = %client.team; + %totalVotes = %game.votesFor[%game.kickTeam] + %game.votesAgainst[%game.kickTeam]; + if(%totalVotes > 0 && (%game.votesFor[%game.kickTeam] / %totalVotes) > ($Host::VotePasspercent / 100)) + { + kick(%client, %admin, %game.kickGuid); + %cause = "(vote)"; + } + else + { + for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) + { + %cl = ClientGroup.getObject( %idx ); + + if (%cl.team == %game.kickTeam && !%cl.isAIControlled()) + messageClient( %cl, 'MsgVoteFailed', '\c2Kick player vote did not pass' ); + } + } + } + + %game.kickTeam = ""; + %game.kickGuid = ""; + %game.kickClientName = ""; + + if(%cause !$= "") + logEcho(%name@" (cl " @ %game.kickClient @ ") kicked " @ %cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::banPlayer(%game, %admin, %client) +{ + %cause = ""; + %name = %client.nameBase; + if( %admin ) + { + ban( %client, %admin ); + %cause = "(admin)"; + } + + if(%cause !$= "") + logEcho(%name@" (cl "@%client@") banned "@%cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::voteAdminPlayer(%game, %admin, %client) +{ + %cause = ""; + + if (%admin) + { + messageAll('MsgAdminAdminPlayer', '\c2The Admin made %2 an admin.', %client, %client.name); + %client.isAdmin = 1; + %cause = "(admin)"; + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount)) > ($Host::VotePasspercent / 100)) + { + messageAll('MsgAdminPlayer', '\c2%2 was made an admin by vote.', %client, %client.name); + %client.isAdmin = 1; + %cause = "(vote)"; + } + else + messageAll('MsgVoteFailed', '\c2Vote to make %1 an admin did not pass.', %client.name); + } + if(%cause !$= "") + logEcho(%client.nameBase@" (cl "@%client@") made admin "@%cause); +} + +//------------------------------------------------------------------------------ +function DefaultGame::processGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5) +{ + //the default behavior when clicking on a game link is to start observing that client + %targetClient = %arg1; + if ((%client.team == 0) && isObject(%targetClient) && (%targetClient.team != 0)) + { + %prevObsClient = %client.observeClient; + + // update the observer list for this client + observerFollowUpdate( %client, %targetClient, %prevObsClient !$= "" ); + + serverCmdObserveClient(%client, %targetClient); + displayObserverHud(%client, %targetClient); + + if (%targetClient != %prevObsClient) + { + messageClient(%targetClient, 'Observer', '\c1%1 is now observing you.', %client.name); + messageClient(%prevObsClient, 'ObserverEnd', '\c1%1 is no longer observing you.', %client.name); + } + } +} + +//------------------------------------------------------------------------------ +$ScoreHudMaxVisible = 19; +function DefaultGame::updateScoreHud(%game, %client, %tag) +{ + if (Game.numTeams > 1) + { + // Send header: + messageClient( %client, 'SetScoreHudHeader', "", '\t%1%2\t%3%4', + %game.getTeamName(1), $TeamScore[1], %game.getTeamName(2), $TeamScore[2] ); + + // Send subheader: + messageClient( %client, 'SetScoreHudSubheader', "", '\tPLAYERS (%1)SCORE\tPLAYERS (%2)SCORE', + $TeamRank[1, count], $TeamRank[2, count] ); + + %index = 0; + while ( true ) + { + if ( %index >= $TeamRank[1, count]+2 && %index >= $TeamRank[2, count]+2 ) + break; + + //get the team1 client info + %team1Client = ""; + %team1ClientScore = ""; + %col1Style = ""; + if ( %index < $TeamRank[1, count] ) + { + %team1Client = $TeamRank[1, %index]; + %team1ClientScore = %team1Client.score $= "" ? 0 : %team1Client.score; + %col1Style = %team1Client == %client ? "" : ""; + %team1playersTotalScore += %team1Client.score; + } + else if( %index == $teamRank[1, count] && $teamRank[1, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team1ClientScore = "--------------"; + } + else if( %index == $teamRank[1, count]+1 && $teamRank[1, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team1ClientScore = %team1playersTotalScore != 0 ? %team1playersTotalScore : 0; + } + //get the team2 client info + %team2Client = ""; + %team2ClientScore = ""; + %col2Style = ""; + if ( %index < $TeamRank[2, count] ) + { + %team2Client = $TeamRank[2, %index]; + %team2ClientScore = %team2Client.score $= "" ? 0 : %team2Client.score; + %col2Style = %team2Client == %client ? "" : ""; + %team2playersTotalScore += %team2Client.score; + } + else if( %index == $teamRank[2, count] && $teamRank[2, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team2ClientScore = "--------------"; + } + else if( %index == $teamRank[2, count]+1 && $teamRank[2, count] != 0 && !isDemo() && %game.class $= "CTFGame") + { + %team2ClientScore = %team2playersTotalScore != 0 ? %team2playersTotalScore : 0; + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style, %team1Client, %team2Client ); + } + + %index++; + } + } + else + { + //tricky stuff here... use two columns if we have more than 15 clients... + %numClients = $TeamRank[0, count]; + if ( %numClients > $ScoreHudMaxVisible ) + %numColumns = 2; + + // Clear header: + messageClient( %client, 'SetScoreHudHeader', "", "" ); + + // Send header: + if (%numColumns == 2) + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYERSCORE\tPLAYERSCORE'); + else + messageClient(%client, 'SetScoreHudSubheader', "", '\tPLAYERSCORE'); + + %countMax = %numClients; + if ( %countMax > ( 2 * $ScoreHudMaxVisible ) ) + { + if ( %countMax & 1 ) + %countMax++; + %countMax = %countMax / 2; + } + else if ( %countMax > $ScoreHudMaxVisible ) + %countMax = $ScoreHudMaxVisible; + + for ( %index = 0; %index < %countMax; %index++ ) + { + //get the client info + %col1Client = $TeamRank[0, %index]; + %col1ClientScore = %col1Client.score $= "" ? 0 : %col1Client.score; + %col1Style = %col1Client == %client ? "" : ""; + + //see if we have two columns + if ( %numColumns == 2 ) + { + %col2Client = ""; + %col2ClientScore = ""; + %col2Style = ""; + + //get the column 2 client info + %col2Index = %index + %countMax; + if ( %col2Index < %numClients ) + { + %col2Client = $TeamRank[0, %col2Index]; + %col2ClientScore = %col2Client.score $= "" ? 0 : %col2Client.score; + %col2Style = %col2Client == %client ? "" : ""; + } + } + + //if the client is not an observer, send the message + if (%client.team != 0) + { + if ( %numColumns == 2 ) + messageClient(%client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %col1Client.name, %col1ClientScore, %col2Client.name, %col2ClientScore, %col1Style, %col2Style ); + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%3%1%2', + %col1Client.name, %col1ClientScore, %col1Style ); + } + //else for observers, create an anchor around the player name so they can be observed + else + { + if ( %numColumns == 2 ) + messageClient(%client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', + %col1Client.name, %col1ClientScore, %col2Client.name, %col2ClientScore, %col1Style, %col2Style, %col1Client, %col2Client ); + else + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%3%1%2', + %col1Client.name, %col1ClientScore, %col1Style, %col1Client ); + } + } + + } + + // Tack on the list of observers: + %observerCount = 0; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team == 0) + %observerCount++; + } + + if (%observerCount > 0) + { + messageClient( %client, 'SetLineHud', "", %tag, %index, ""); + %index++; + messageClient(%client, 'SetLineHud', "", %tag, %index, '\tOBSERVERS (%1)TIME', %observerCount); + %index++; + for (%i = 0; %i < ClientGroup.getCount(); %i++) + { + %cl = ClientGroup.getObject(%i); + //if this is an observer + if (%cl.team == 0) + { + %obsTime = getSimTime() - %cl.observerStartTime; + %obsTimeStr = %game.formatTime(%obsTime, false); + messageClient( %client, 'SetLineHud', "", %tag, %index, '\t%1%2', + %cl.name, %obsTimeStr ); + %index++; + } + } + } + + //clear the rest of Hud so we don't get old lines hanging around... + messageClient( %client, 'ClearHud', "", %tag, %index ); +} + +//------------------------------------------------------------------------------ +function UpdateClientTimes(%time) +{ + %secondsLeft = %time / 1000; + messageAll('MsgSystemClock', "", (%secondsLeft / 60), %time); +} + +//------------------------------------------------------------------------------ +function notifyMatchStart(%time) +{ + %seconds = mFloor(%time / 1000); + if (%seconds > 2) + MessageAll('MsgMissionStart', '\c2Match starts in %1 seconds.~wfx/misc/hunters_%1.wav', %seconds); + else if (%seconds == 2) + MessageAll('MsgMissionStart', '\c2Match starts in 2 seconds.~wvoice/announcer/ann.match_begins.wav'); + else if (%seconds == 1) + MessageAll('MsgMissionStart', '\c2Match starts in 1 second.'); + UpdateClientTimes(%time); +} + +//------------------------------------------------------------------------------ +function notifyMatchEnd(%time) +{ + %seconds = mFloor(%time / 1000); + if (%seconds > 1) + MessageAll('MsgMissionEnd', '\c2Match ends in %1 seconds.~wfx/misc/hunters_%1.wav', %seconds); + else if (%seconds == 1) + MessageAll('MsgMissionEnd', '\c2Match ends in 1 second.~wfx/misc/hunters_1.wav'); + UpdateClientTimes(%time); +} + +function DefaultGame::formatTime(%game, %tStr, %includeHundredths) +{ + %timeInSeconds = %tStr / 1000; + %mins = mFloor(%timeInSeconds / 60); + if(%mins < 1) + %timeString = "00:"; + else if(%mins < 10) + %timeString = "0" @ %mins @ ":"; + else + %timeString = %mins @ ":"; + + %timeInSeconds -= (%mins * 60); + %secs = mFloor(%timeInSeconds); + if(%secs < 1) + %timeString = %timeString @ "00"; + else if(%secs < 10) + %timeString = %timeString @ "0" @ %secs; + else + %timeString = %timeString @ %secs; + + if (%includeHundredths) + { + %timeString = %timeString @ "."; + %timeInSeconds -= %secs; + %hSecs = mFloor(%timeInSeconds * 100); // will be between 0 and 999 + if(%hSecs < 1) + %timeString = %timeString @ "00"; + else if(%hSecs < 10) + %timeString = %timeString @ "0" @ %hSecs; + else + %timeString = %timeString @ %hSecs; + } + + return %timeString; +} + +//------------------------------------------------------------------------------ +//AI FUNCTIONS +function DefaultGame::AIChooseGameObjective(%game, %client) +{ + AIChooseObjective(%client); +} + +//------------------------------------------------------------------------------ +function DefaultGame::getServerStatusString(%game) +{ + %status = %game.numTeams; + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + %score = isObject( $teamScore[%team] ) ? $teamScore[%team] : 0; + %teamStr = getTaggedString( %game.getTeamName(%team) ) TAB %score; + %status = %status NL %teamStr; + } + + %status = %status NL ClientGroup.getCount(); + for ( %i = 0; %i < ClientGroup.getCount(); %i++ ) + { + %cl = ClientGroup.getObject( %i ); + %score = %cl.score $= "" ? 0 : %cl.score; + %playerStr = getTaggedString( %cl.name ) TAB getTaggedString( %game.getTeamName(%cl.team) ) TAB %score; + %status = %status NL %playerStr; + } + return( %status ); +} + +//------------------------------------------------------------------------------ +function DefaultGame::OptionsDlgSleep( %game ) +{ + // ignore in the default game... +} + +//------------------------------------------------------------------------------ +function DefaultGame::endMission( %game ) +{ +} diff --git a/public/base/@vl2/scripts.vl2/scripts/deployables.cs b/public/base/@vl2/scripts.vl2/scripts/deployables.cs new file mode 100644 index 00000000..26b58e97 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/deployables.cs @@ -0,0 +1,1391 @@ +// deployable objects script +// +// remote pulse sensor, remote motion sensor, remote turrets (indoor +// and outdoor), remote inventory station, remote ammo station +// Note: cameras are treated as grenades, not "regular" deployables + +$TurretIndoorSpaceRadius = 20; // deployed turrets must be this many meters apart +$InventorySpaceRadius = 20; // deployed inventory must be this many meters apart +$TurretIndoorSphereRadius = 50; // radius for turret frequency check +$TurretIndoorMaxPerSphere = 4; // # of turrets allowed in above radius + +$TurretOutdoorSpaceRadius = 25; // deployed turrets must be this many meters apart +$TurretOutdoorSphereRadius = 60; // radius for turret frequency check +$TurretOutdoorMaxPerSphere = 4; // # of turrets allowed in above radius + +$TeamDeployableMax[InventoryDeployable] = 5; +$TeamDeployableMax[TurretIndoorDeployable] = 10; +$TeamDeployableMax[TurretOutdoorDeployable] = 10; +$TeamDeployableMax[PulseSensorDeployable] = 15; +$TeamDeployableMax[MotionSensorDeployable] = 15; + +$TeamDeployableMin[TurretIndoorDeployable] = 4; +$TeamDeployableMin[TurretOutdoorDeployable] = 4; + +$NotDeployableReason::None = 0; +$NotDeployableReason::MaxDeployed = 1; +$NotDeployableReason::NoSurfaceFound = 2; +$NotDeployableReason::SlopeTooGreat = 3; +$NotDeployableReason::SelfTooClose = 4; +$NotDeployableReason::ObjectTooClose = 5; +$NotDeployableReason::NoTerrainFound = 6; +$NotDeployableReason::NoInteriorFound = 7; +$NotDeployableReason::TurretTooClose = 8; +$NotDeployableReason::TurretSaturation = 9; +$NotDeployableReason::SurfaceTooNarrow = 10; +$NotDeployableReason::InventoryTooClose = 11; + +$MinDeployableDistance = 2.5; +$MaxDeployableDistance = 5.0; //meters from body + +// -------------------------------------------- +// effect datablocks +// -------------------------------------------- + +datablock EffectProfile(TurretDeployEffect) +{ + effectname = "packs/generic_deploy"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(SensorDeployEffect) +{ + effectname = "powered/sensor_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(MotionSensorDeployEffect) +{ + effectname = "powered/motion_sensor_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(StationDeployEffect) +{ + effectname = "packs/inventory_deploy"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +// -------------------------------------------- +// sound datablocks +// -------------------------------------------- + +datablock AudioProfile(TurretDeploySound) +{ + fileName = "fx/packs/turret_place.wav"; + description = AudioClose3d; + preload = true; + effect = TurretDeployEffect; +}; + +datablock AudioProfile(SensorDeploySound) +{ + fileName = "fx/powered/sensor_activate.wav"; + description = AudioClose3d; + preload = true; + effect = SensorDeployEffect; + // z0dd - ZOD - Durt, 6/24/02. Eh? This shouldn't be in here. + //effect = MotionSensorDeployEffect; +}; + +datablock AudioProfile(MotionSensorDeploySound) +{ + fileName = "fx/powered/motion_sensor_activate.wav"; + description = AudioClose3d; + preload = true; + // z0dd - ZOD - Durt, 6/24/02. This should be in here. + effect = MotionSensorDeployEffect; +}; + +datablock AudioProfile(StationDeploySound) +{ + fileName = "fx/packs/inventory_deploy.wav"; + description = AudioClose3d; + preload = true; + effect = StationDeployEffect; +}; + +// -------------------------------------------- +// deployable debris definition + +datablock DebrisData( DeployableDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.40; + friction = 0.5; + + lifetime = 17.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 0.2; + + velocity = 5.0; + velocityVariance = 2.5; + +}; + + +// -------------------------------------------- +// deployable inventory station + +datablock StaticShapeData(DeployedStationInventory) : StaticShapeDamageProfile +{ + className = Station; + shapeFile = "deploy_inventory.dts"; + maxDamage = 0.70; + destroyedLevel = 0.70; + disabledLevel = 0.42; + explosion = DeployablesExplosion; + expDmgRadius = 8.0; + expDamage = 0.35; + expImpulse = 500.0; + + dynamicType = $TypeMasks::StationObjectType; + isShielded = true; + energyPerDamagePoint = 110; + maxEnergy = 50; + rechargeRate = 0.20; + renderWhenDestroyed = false; + doesRepair = true; + + deployedObject = true; + + cmdCategory = "DSupport"; + cmdIcon = CMDStationIcon; + cmdMiniIconName = "commander/MiniIcons/com_inventory_grey"; + targetNameTag = 'Deployable'; + targetTypeTag = 'Station'; + + debrisShapeName = "debris_generic_small.dts"; + debris = DeployableDebris; + heatSignature = 0; +}; + +datablock ShapeBaseImageData(InventoryDeployableImage) +{ + mass = 15; + emap = true; + + shapeFile = "pack_deploy_inventory.dts"; + item = InventoryDeployable; + mountPoint = 1; + offset = "0 0 0"; + deployed = DeployedStationInventory; + heatSignature = 0; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Idle"; + + isLarge = true; + maxDepSlope = 30; + deploySound = StationDeploySound; + + flatMinDeployDis = 1.0; + flatMaxDeployDis = 5.0; + + minDeployDis = 2.5; + maxDeployDis = 5.0; +}; + +datablock ItemData(InventoryDeployable) +{ + className = Pack; + catagory = "Deployables"; + shapeFile = "pack_deploy_inventory.dts"; + mass = 3.0; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 1; + rotate = false; + image = "InventoryDeployableImage"; + pickUpName = "an inventory pack"; + heatSignature = 0; + + computeCRC = true; + emap = true; + +}; + +// -------------------------------------------- +// deployable motion sensor + +datablock SensorData(DeployMotionSensorObj) +{ + detects = true; + detectsUsingLOS = true; + detectsActiveJammed = false; + detectsPassiveJammed = true; + detectsCloaked = true; + detectionPings = false; + detectMinVelocity = 2; + detectRadius = 60; +}; + +datablock StaticShapeData(DeployedMotionSensor) : StaticShapeDamageProfile +{ + className = Sensor; + shapeFile = "deploy_sensor_motion.dts"; + maxDamage = 0.6; + destroyedLevel = 0.6; + disabledLevel = 0.4; + explosion = DeployablesExplosion; + dynamicType = $TypeMasks::SensorObjectType; + + deployedObject = true; + + cmdCategory = "DSupport"; + cmdIcon = CMDSensorIcon; + cmdMiniIconName = "commander/MiniIcons/com_deploymotionsensor"; + targetNameTag = 'Deployable Motion'; + targetTypeTag = 'Sensor'; + sensorData = DeployMotionSensorObj; + sensorRadius = DeployMotionSensorObj.detectRadius; + sensorColor = "9 136 255"; + deployAmbientThread = true; + + debrisShapeName = "debris_generic_small.dts"; + debris = DeployableDebris; + heatSignature = 0; +}; + +datablock ShapeBaseImageData(MotionSensorDeployableImage) +{ + shapeFile = "pack_deploy_sensor_motion.dts"; + item = MotionSensorDeployable; + mountPoint = 1; + offset = "0 0 0"; + deployed = DeployedMotionSensor; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Idle"; + + maxDepSlope = 360; + deploySound = MotionSensorDeploySound; + emap = true; + heatSignature = 1; + + minDeployDis = 0.5; + maxDeployDis = 5.0; //meters from body +}; + +datablock ItemData(MotionSensorDeployable) +{ + className = Pack; + catagory = "Deployables"; + shapeFile = "pack_deploy_sensor_motion.dts"; + mass = 2.0; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 1; + rotate = false; + image = "MotionSensorDeployableImage"; + pickUpName = "a motion sensor pack"; + + computeCRC = true; + emap = true; + heatSignature = 0; + + //maxSensors = 3; + maxSensors = 2; +}; + +// -------------------------------------------- +// deployable pulse sensor + +datablock SensorData(DeployPulseSensorObj) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 150; +}; + +datablock StaticShapeData(DeployedPulseSensor) : StaticShapeDamageProfile +{ + className = Sensor; + shapeFile = "deploy_sensor_pulse.dts"; + maxDamage = 0.6; + destroyedLevel = 0.6; + disabledLevel = 0.4; + explosion = DeployablesExplosion; + dynamicType = $TypeMasks::SensorObjectType; + + deployedObject = true; + + cmdCategory = "DSupport"; + cmdIcon = CMDSensorIcon; + cmdMiniIconName = "commander/MiniIcons/com_deploypulsesensor"; + targetNameTag = 'Deployable'; + targetTypeTag = 'Pulse Sensor'; + sensorData = DeployPulseSensorObj; + sensorRadius = DeployPulseSensorObj.detectRadius; + sensorColor = "255 194 9"; + deployAmbientThread = true; + + debrisShapeName = "debris_generic_small.dts"; + debris = DeployableDebris; + heatSignature = 0; +}; + +datablock ShapeBaseImageData(PulseSensorDeployableImage) +{ + shapeFile = "pack_deploy_sensor_pulse.dts"; + item = PulseSensorDeployable; + mountPoint = 1; + offset = "0 0 0"; + deployed = DeployedPulseSensor; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Idle"; + deploySound = SensorDeploySound; + + maxDepSlope = 40; + emap = true; + heatSignature = 0; + + minDeployDis = 0.5; + maxDeployDis = 5.0; //meters from body +}; + +datablock ItemData(PulseSensorDeployable) +{ + className = Pack; + catagory = "Deployables"; + shapeFile = "pack_deploy_sensor_pulse.dts"; + mass = 2.0; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 1; + rotate = false; + image = "PulseSensorDeployableImage"; + pickUpName = "a pulse sensor pack"; + + computeCRC = true; + emap = true; + + maxSensors = 2; +}; + +// -------------------------------------------- +// deployable outdoor turret + +datablock ShapeBaseImageData(TurretOutdoorDeployableImage) +{ + mass = 15; + + shapeFile = "pack_deploy_turreto.dts"; + item = TurretOutdoorDeployable; + mountPoint = 1; + offset = "0 0 0"; + deployed = TurretDeployedOutdoor; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Idle"; + + maxDamage = 4.5; + destroyedLevel = 4.5; + disabledLevel = 4.0; + + isLarge = true; + emap = true; + + maxDepSlope = 40; + deploySound = TurretDeploySound; + + minDeployDis = 0.5; + maxDeployDis = 5.0; //meters from body +}; + +datablock ItemData(TurretOutdoorDeployable) +{ + className = Pack; + catagory = "Deployables"; + shapeFile = "pack_deploy_turreto.dts"; + mass = 3.0; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 1; + rotate = false; + image = "TurretOutdoorDeployableImage"; + pickUpName = "a landspike turret pack"; + + computeCRC = true; + emap = true; + +}; + +// -------------------------------------------- +// deployable indoor turret (3 varieties -- floor, wall and ceiling) + +datablock ShapeBaseImageData(TurretIndoorDeployableImage) +{ + mass = 15; + + shapeFile = "pack_deploy_turreti.dts"; + item = TurretIndoorDeployable; + mountPoint = 1; + offset = "0 0 0"; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Idle"; + + isLarge = true; + emap = true; + + maxDepSlope = 360; + deploySound = TurretDeploySound; + + minDeployDis = 0.5; + maxDeployDis = 5.0; //meters from body +}; + +datablock ItemData(TurretIndoorDeployable) +{ + className = Pack; + catagory = "Deployables"; + shapeFile = "pack_deploy_turreti.dts"; + mass = 3.0; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 1; + rotate = false; + image = "TurretIndoorDeployableImage"; + pickUpName = "a spider clamp turret pack"; + + computeCRC = true; + emap = true; + +}; + +// -------------------------------------------- +// miscellaneous yet handy functions + +function posFromTransform(%transform) +{ + // the first three words of an object's transform are the object's position + %position = getWord(%transform, 0) @ " " @ getWord(%transform, 1) @ " " @ getWord(%transform, 2); + return %position; +} + +function rotFromTransform(%transform) +{ + // the last four words of an object's transform are the object's rotation + %rotation = getWord(%transform, 3) @ " " @ getWord(%transform, 4) @ " " @ getWord(%transform, 5) @ " " @ getWord(%transform, 6); + return %rotation; +} + +function posFromRaycast(%transform) +{ + // the 2nd, 3rd, and 4th words returned from a successful raycast call are the position of the point + %position = getWord(%transform, 1) @ " " @ getWord(%transform, 2) @ " " @ getWord(%transform, 3); + return %position; +} + +function normalFromRaycast(%transform) +{ + // the 5th, 6th and 7th words returned from a successful raycast call are the normal of the surface + %norm = getWord(%transform, 4) @ " " @ getWord(%transform, 5) @ " " @ getWord(%transform, 6); + return %norm; +} + +function addToDeployGroup(%object) +{ + // all deployables should go into a special group for AI purposes + %depGroup = nameToID("MissionCleanup/Deployables"); + if(%depGroup <= 0) { + %depGroup = new SimGroup("Deployables"); + MissionCleanup.add(%depGroup); + } + %depGroup.add(%object); +} + +function Deployables::searchView(%obj, %searchRange, %mask) +{ + // get the eye vector and eye transform of the player + %eyeVec = %obj.getEyeVector(); + %eyeTrans = %obj.getEyeTransform(); + + // extract the position of the player's camera from the eye transform (first 3 words) + %eyePos = posFromTransform(%eyeTrans); + + // normalize the eye vector + %nEyeVec = VectorNormalize(%eyeVec); + + // scale (lengthen) the normalized eye vector according to the search range + %scEyeVec = VectorScale(%nEyeVec, %searchRange); + + // add the scaled & normalized eye vector to the position of the camera + %eyeEnd = VectorAdd(%eyePos, %scEyeVec); + + // see if anything gets hit + %searchResult = containerRayCast(%eyePos, %eyeEnd, %mask, 0); + + return %searchResult; +} + +//-----------------------// +// Deployable Procedures // +//-----------------------// + +//------------------------------------------------- +function ShapeBaseImageData::testMaxDeployed(%item, %plyr) +{ + if(%item.item $= TurretOutdoorDeployable || %item.item $= TurretIndoorDeployable) + %itemCount = countTurretsAllowed(%item.item); + else + %itemCount = $TeamDeployableMax[%item.item]; + + return $TeamDeployedCount[%plyr.team, %item.item] >= %itemCount; +} + +//------------------------------------------------- +function ShapeBaseImageData::testNoSurfaceInRange(%item, %plyr) +{ + return ! Deployables::searchView(%plyr, $MaxDeployDistance, $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType); +} + +//------------------------------------------------- +function ShapeBaseImageData::testSlopeTooGreat(%item) +{ + if (%item.surface) + { + return getTerrainAngle(%item.surfaceNrm) > %item.maxDepSlope; + } +} + +//------------------------------------------------- +function ShapeBaseImageData::testSelfTooClose(%item, %plyr) +{ + InitContainerRadiusSearch(%item.surfacePt, $MinDeployDistance, $TypeMasks::PlayerObjectType); + + return containerSearchNext() == %plyr; +} + +//------------------------------------------------- +function ShapeBaseImageData::testObjectTooClose(%item) +{ + %mask = ($TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | + $TypeMasks::ForceFieldObjectType | $TypeMasks::ItemObjectType | + $TypeMasks::PlayerObjectType | $TypeMasks::TurretObjectType); + + InitContainerRadiusSearch( %item.surfacePt, $MinDeployDistance, %mask ); + + %test = containerSearchNext(); + return %test; +} + + +//------------------------------------------------- +function TurretOutdoorDeployableImage::testNoTerrainFound(%item) +{ + return %item.surface.getClassName() !$= TerrainBlock; +} + +function ShapeBaseImageData::testNoTerrainFound(%item, %surface) +{ + //don't check this for non-Landspike turret deployables +} + +//------------------------------------------------- +function TurretIndoorDeployableImage::testNoInteriorFound(%item) +{ + return %item.surface.getClassName() !$= InteriorInstance; +} + +function ShapeBaseImageData::testNoInteriorFound(%item, %surface) +{ + //don't check this for non-Clasping turret deployables +} + +//------------------------------------------------- +function TurretIndoorDeployableImage::testHavePurchase(%item, %xform) +{ + %footprintRadius = 0.34; + %collMask = $TypeMasks::InteriorObjectType; + return %item.deployed.checkDeployPurchase(%xform, %footprintRadius, %collMask); +} + +function ShapeBaseImageData::testHavePurchase(%item, %xform) +{ + //don't check this for non-Clasping turret deployables + return true; +} + +//------------------------------------------------- +function ShapeBaseImageData::testInventoryTooClose(%item, %plyr) +{ + return false; +} + +function InventoryDeployableImage::testInventoryTooClose(%item, %plyr) +{ + InitContainerRadiusSearch(%item.surfacePt, $InventorySpaceRadius, $TypeMasks::StaticShapeObjectType); + + // old function was only checking whether the first object found was a turret -- also wasn't checking + // which team the object was on + %turretInRange = false; + while((%found = containerSearchNext()) != 0) + { + %foundName = %found.getDataBlock().getName(); + if( (%foundName $= DeployedStationInventory) ) + if (%found.team == %plyr.team) + { + %turretInRange = true; + break; + } + } + return %turretInRange; +} + +function TurretIndoorDeployableImage::testTurretTooClose(%item, %plyr) +{ + InitContainerRadiusSearch(%item.surfacePt, $TurretIndoorSpaceRadius, $TypeMasks::StaticShapeObjectType); + + // old function was only checking whether the first object found was a turret -- also wasn't checking + // which team the object was on + %turretInRange = false; + while((%found = containerSearchNext()) != 0) + { + %foundName = %found.getDataBlock().getName(); + if((%foundname $= TurretDeployedFloorIndoor) || (%foundName $= TurretDeployedWallIndoor) || (%foundName $= TurretDeployedCeilingIndoor) || (%foundName $= TurretDeployedOutdoor) ) + if (%found.team == %plyr.team) + { + %turretInRange = true; + break; + } + } + return %turretInRange; +} + +function TurretOutdoorDeployableImage::testTurretTooClose(%item, %plyr) +{ + InitContainerRadiusSearch(%item.surfacePt, $TurretOutdoorSpaceRadius, $TypeMasks::StaticShapeObjectType); + + // old function was only checking whether the first object found was a turret -- also wasn't checking + // which team the object was on + %turretInRange = false; + while((%found = containerSearchNext()) != 0) + { + %foundName = %found.getDataBlock().getName(); + if((%foundname $= TurretDeployedFloorIndoor) || (%foundName $= TurretDeployedWallIndoor) || (%foundName $= TurretDeployedCeilingIndoor) || (%foundName $= TurretDeployedOutdoor) ) + if (%found.team == %plyr.team) + { + %turretInRange = true; + break; + } + } + return %turretInRange; +} + +function ShapeBaseImageData::testTurretTooClose(%item, %plyr) +{ + //don't check this for non-turret deployables +} + +//------------------------------------------------- +function TurretIndoorDeployableImage::testTurretSaturation(%item) +{ + %highestDensity = 0; + InitContainerRadiusSearch(%item.surfacePt, $TurretIndoorSphereRadius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + while(%found) + { + %foundName = %found.getDataBlock().getName(); + if((%foundname $= TurretDeployedFloorIndoor) || (%foundName $= TurretDeployedWallIndoor) || (%foundName $= TurretDeployedCeilingIndoor) || (%foundName $= TurretDeployedOutdoor) ) + { + //found one + %numTurretsNearby++; + + %nearbyDensity = testNearbyDensity(%found, $TurretIndoorSphereRadius); + if (%nearbyDensity > %highestDensity) + %highestDensity = %nearbyDensity; + } + %found = containerSearchNext(); + } + + if (%numTurretsNearby > %highestDensity) + %highestDensity = %numTurretsNearby; + return %highestDensity > $TurretIndoorMaxPerSphere; +} + +function TurretOutdoorDeployableImage::testTurretSaturation(%item) +{ + %highestDensity = 0; + InitContainerRadiusSearch(%item.surfacePt, $TurretOutdoorSphereRadius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + while(%found) + { + %foundName = %found.getDataBlock().getName(); + if((%foundname $= TurretDeployedFloorIndoor) || (%foundName $= TurretDeployedWallIndoor) || (%foundName $= TurretDeployedCeilingIndoor) || (%foundName $= TurretDeployedOutdoor) ) + { + //found one + %numTurretsNearby++; + + %nearbyDensity = testNearbyDensity(%found, $TurretOutdoorSphereRadius); + if (%nearbyDensity > %highestDensity) + %highestDensity = %nearbyDensity; + } + %found = containerSearchNext(); + } + + if (%numTurretsNearby > %highestDensity) + %highestDensity = %numTurretsNearby; + return %highestDensity > $TurretOutdoorMaxPerSphere; +} + +function ShapeBaseImageData::testTurretSaturation(%item, %surfacePt) +{ + //don't check this for non-turret deployables +} + +function testNearbyDensity(%item, %radius) +{ + //this checks how many turrets are in adjacent spheres in case placing a new one overloads them. + %surfacePt = posFromTransform(%item.getTransform()); + %turretCount = 0; + + InitContainerRadiusSearch(%surfacePt, %radius, $TypeMasks::StaticShapeObjectType); + %found = containerSearchNext(); + while(%found) + { + %foundName = %found.getDataBlock().getName(); + if((%foundname $= TurretDeployedFloorIndoor) || (%foundName $= TurretDeployedWallIndoor) || (%foundName $= TurretDeployedCeilingIndoor) || (%foundName $= TurretDeployedOutdoor) ) + %turretCount++; + %found = containerSearchNext(); + } + return %turretCount; +} + +//------------------------------------------------- +//if this function, or any of the included tests are changed, those changes need to be reflected in function: +//AIODeployEquipment::weight(%this, %client, %level), found in aiObjectives.cs --tinman +function ShapeBaseImageData::testInvalidDeployConditions(%item, %plyr, %slot) +{ + cancel(%plyr.deployCheckThread); + %disqualified = $NotDeployableReason::None; //default + $MaxDeployDistance = %item.maxDeployDis; + $MinDeployDistance = %item.minDeployDis; + + %surface = Deployables::searchView(%plyr, + $MaxDeployDistance, + ($TypeMasks::TerrainObjectType | + $TypeMasks::InteriorObjectType)); + if (%surface) + { + %surfacePt = posFromRaycast(%surface); + %surfaceNrm = normalFromRaycast(%surface); + + // Check that point to see if anything is objstructing it... + %eyeTrans = %plyr.getEyeTransform(); + %eyePos = posFromTransform(%eyeTrans); + + %searchResult = containerRayCast(%eyePos, %surfacePt, -1, %plyr); + if (!%searchResult) + { + %item.surface = %surface; + %item.surfacePt = %surfacePt; + %item.surfaceNrm = %surfaceNrm; + } + else + { + if(checkPositions(%surfacePT, posFromRaycast(%searchResult))) + { + %item.surface = %surface; + %item.surfacePt = %surfacePt; + %item.surfaceNrm = %surfaceNrm; + } + else + { + // Don't set the item + %disqualified = $NotDeployableReason::ObjectTooClose; + } + } + if(!getTerrainAngle(%surfaceNrm) && %item.flatMaxDeployDis !$= "") + { + $MaxDeployDistance = %item.flatMaxDeployDis; + $MinDeployDistance = %item.flatMinDeployDis; + } + } + + if (%item.testMaxDeployed(%plyr)) + { + %disqualified = $NotDeployableReason::MaxDeployed; + } + else if (%item.testNoSurfaceInRange(%plyr)) + { + %disqualified = $NotDeployableReason::NoSurfaceFound; + } + else if (%item.testNoTerrainFound(%surface)) + { + %disqualified = $NotDeployableReason::NoTerrainFound; + } + else if (%item.testNoInteriorFound()) + { + %disqualified = $NotDeployableReason::NoInteriorFound; + } + else if (%item.testSlopeTooGreat(%surface, %surfaceNrm)) + { + %disqualified = $NotDeployableReason::SlopeTooGreat; + } + else if (%item.testSelfTooClose(%plyr, %surfacePt)) + { + %disqualified = $NotDeployableReason::SelfTooClose; + } + else if (%item.testObjectTooClose(%surfacePt)) + { + %disqualified = $NotDeployableReason::ObjectTooClose; + } + else if (%item.testTurretTooClose(%plyr)) + { + %disqualified = $NotDeployableReason::TurretTooClose; + } + else if (%item.testInventoryTooClose(%plyr)) + { + %disqualified = $NotDeployableReason::InventoryTooClose; + } + else if (%item.testTurretSaturation()) + { + %disqualified = $NotDeployableReason::TurretSaturation; + } + else if (%disqualified == $NotDeployableReason::None) + { + // Test that there are no objstructing objects that this object + // will intersect with + // + %rot = %item.getInitialRotation(%plyr); + if(%item.deployed.className $= "DeployedTurret") + { + %xform = %item.deployed.getDeployTransform(%item.surfacePt, %item.surfaceNrm); + } + else + { + %xform = %surfacePt SPC %rot; + } + + if (!%item.deployed.checkDeployPos(%xform)) + { + %disqualified = $NotDeployableReason::ObjectTooClose; + } + else if (!%item.testHavePurchase(%xform)) + { + %disqualified = $NotDeployableReason::SurfaceTooNarrow; + } + } + + if (%plyr.getMountedImage($BackpackSlot) == %item) //player still have the item? + { + if (%disqualified) + activateDeploySensorRed(%plyr); + else + activateDeploySensorGrn(%plyr); + + if (%plyr.client.deployPack == true) + %item.attemptDeploy(%plyr, %slot, %disqualified); + else + { + %plyr.deployCheckThread = %item.schedule(25, "testInvalidDeployConditions", %plyr, %slot); //update checks every 50 milliseconds + } + } + else + deactivateDeploySensor(%plyr); +} + +function checkPositions(%pos1, %pos2) +{ + %passed = true; + if((mFloor(getWord(%pos1, 0)) - mFloor(getWord(%pos2,0)))) + %passed = false; + if((mFloor(getWord(%pos1, 1)) - mFloor(getWord(%pos2,1)))) + %passed = false; + if((mFloor(getWord(%pos1, 2)) - mFloor(getWord(%pos2,2)))) + %passed = false; + return %passed; +} + +function ShapeBaseImageData::attemptDeploy(%item, %plyr, %slot, %disqualified) +{ + deactivateDeploySensor(%plyr); + Deployables::displayErrorMsg(%item, %plyr, %slot, %disqualified); +} + +function activateDeploySensorRed(%pl) +{ + if(%pl.deploySensor !$= "red") + { + messageClient(%pl.client, 'msgDeploySensorRed', ""); + %pl.deploySensor = "red"; + } +} + +function activateDeploySensorGrn(%pl) +{ + if(%pl.deploySensor !$= "green") + { + messageClient(%pl.client, 'msgDeploySensorGrn', ""); + %pl.deploySensor = "green"; + } +} + +function deactivateDeploySensor(%pl) +{ + if (%pl.deploySensor !$= "") + { + messageClient(%pl.client, 'msgDeploySensorOff', ""); + %pl.deploySensor = ""; + } +} + +function Deployables::displayErrorMsg(%item, %plyr, %slot, %error) +{ + deactivateDeploySensor(%plyr); + + %errorSnd = '~wfx/misc/misc.error.wav'; + switch (%error) + { + case $NotDeployableReason::None: + %item.onDeploy(%plyr, %slot); + messageClient(%plyr.client, 'MsgTeamDeploySuccess', ""); + return; + + case $NotDeployableReason::NoSurfaceFound: + %msg = '\c2Item must be placed within reach.%1'; + + case $NotDeployableReason::MaxDeployed: + %msg = '\c2Your team\'s control network has reached its capacity for this item.%1'; + + case $NotDeployableReason::SlopeTooGreat: + %msg = '\c2Surface is too steep to place this item on.%1'; + + case $NotDeployableReason::SelfTooClose: + %msg = '\c2You are too close to the surface you are trying to place the item on.%1'; + + case $NotDeployableReason::ObjectTooClose: + %msg = '\c2You cannot place this item so close to another object.%1'; + + case $NotDeployableReason::NoTerrainFound: + %msg = '\c2You must place this on outdoor terrain.%1'; + + case $NotDeployableReason::NoInteriorFound: + %msg = '\c2You must place this on a solid surface.%1'; + + case $NotDeployableReason::TurretTooClose: + %msg = '\c2Interference from a nearby turret prevents placement here.%1'; + + case $NotDeployableReason::TurretSaturation: + %msg = '\c2There are too many turrets nearby.%1'; + + case $NotDeployableReason::SurfaceTooNarrow: + %msg = '\c2There is not adequate surface to clamp to here.%1'; + + case $NotDeployableReason::InventoryTooClose: + %msg = '\c2Interference from a nearby inventory prevents placement here.%1'; + + default: + %msg = '\c2Deploy failed.'; + } + messageClient(%plyr.client, 'MsgDeployFailed', %msg, %errorSnd); +} + +function ShapeBaseImageData::onActivate(%data, %obj, %slot) +{ + //Tinman - apparently, anything that uses the generic onActivate() method is a deployable. + //repair packs, cloak packs, shield, etc... all overload this method... + %data.testInvalidDeployConditions(%obj, %slot); + + //whether the test passed or not, reset the image trigger (deployables don't have an on/off toggleable state) + %obj.setImageTrigger(%slot, false); +} + +function ShapeBaseImageData::onDeploy(%item, %plyr, %slot) +{ + if(%item.item $= "MotionSensorDeployable" || %item.item $= "PulseSensorDeployable") + { + %plyr.deploySensors--; + %plyr.client.updateSensorPackText(%plyr.deploySensors); + if(%plyr.deploySensors <= 0) + { + // take the deployable off the player's back and out of inventory + %plyr.unmountImage(%slot); + %plyr.decInventory(%item.item, 1); + } + } + else + { + // take the deployable off the player's back and out of inventory + %plyr.unmountImage(%slot); + %plyr.decInventory(%item.item, 1); + } + + // create the actual deployable + %rot = %item.getInitialRotation(%plyr); + if(%item.deployed.className $= "DeployedTurret") + %className = "Turret"; + else + %className = "StaticShape"; + + %deplObj = new (%className)() { + dataBlock = %item.deployed; + }; + + + // set orientation + if(%className $= "Turret") + %deplObj.setDeployRotation(%item.surfacePt, %item.surfaceNrm); + else + %deplObj.setTransform(%item.surfacePt SPC %rot); + + // set the recharge rate right away + if(%deplObj.getDatablock().rechargeRate) + %deplObj.setRechargeRate(%deplObj.getDatablock().rechargeRate); + + // set team, owner, and handle + %deplObj.team = %plyr.client.Team; + %deplObj.owner = %plyr.client; + + // set the sensor group if it needs one + if(%deplObj.getTarget() != -1) + setTargetSensorGroup(%deplObj.getTarget(), %plyr.client.team); + + // place the deployable in the MissionCleanup/Deployables group (AI reasons) + addToDeployGroup(%deplObj); + + //let the AI know as well... + AIDeployObject(%plyr.client, %deplObj); + + // play the deploy sound + serverPlay3D(%item.deploySound, %deplObj.getTransform()); + + // increment the team count for this deployed object + + $TeamDeployedCount[%plyr.team, %item.item]++; + %deplObj.deploy(); + return %deplObj; +} + +function ShapeBaseImageData::getInitialRotation(%item, %plyr) +{ + return rotFromTransform(%plyr.getTransform()); +} + +function MotionSensorDeployableImage::getInitialRotation(%item, %plyr) +{ + %rotAxis = vectorNormalize(vectorCross(%item.surfaceNrm, "0 0 1")); + if (getWord(%item.surfaceNrm, 2) == 1 || getWord(%item.surfaceNrm, 2) == -1) + %rotAxis = vectorNormalize(vectorCross(%item.surfaceNrm, "0 1 0")); + return %rotAxis SPC mACos(vectorDot(%item.surfaceNrm, "0 0 1")); +} + +function MotionSensorDeployable::onPickup(%this, %pack, %player, %amount) +{ + // %this = Sensor pack datablock + // %pack = Sensor pack object number + // %player = player + // %amount = amount picked up (1) + + if(%pack.sensors $= "") + { + // assume that this is a pack that has been placed in a mission + // this case was handled in ::onInventory below (max sensors); + } + else + { + // find out how many sensor were in the pack + %player.deploySensors = %pack.sensors; + %player.client.updateSensorPackText(%player.deploySensors); + } +} + +function MotionSensorDeployable::onThrow(%this,%pack,%player) +{ + // %this = Sensor pack datablock + // %pack = Sensor pack object number + // %player = player + + %player.throwSensorPack = 1; + %pack.sensors = %player.deploySensors; + %player.deploySensors = 0; + %player.client.updateSensorPackText(%player.deploySensors); + // do the normal ItemData::onThrow stuff -- sound and schedule deletion + serverPlay3D(ItemThrowSound, %player.getTransform()); + %pack.schedulePop(); +} + +function MotionSensorDeployable::onInventory(%this,%player,%value) +{ + // %this = Sensor pack datablock + // %player = player + // %value = 1 if gaining a pack, 0 if losing a pack + + if(%player.getClassName() $= "Player") + { + if(%value) + { + // player picked up or bought a motion sensor pack + %player.deploySensors = %this.maxSensors; + %player.client.updateSensorPackText(%player.deploySensors); + } + else + { + // player dropped or sold a motion sensor pack + if(%player.throwSensorPack) + { + // player threw the pack + %player.throwSensorPack = 0; + // everything handled in ::onThrow above + } + else + { + //the pack was sold at an inventory station, or unmounted because the player + // used all the sensors + %player.deploySensors = 0; + %player.client.updateSensorPackText(%player.deploySensors); + } + } + } + Pack::onInventory(%this,%player,%value); +} + +function PulseSensorDeployable::onPickup(%this, %pack, %player, %amount) +{ + // %this = Sensor pack datablock + // %pack = Sensor pack object number + // %player = player + // %amount = amount picked up (1) + + if(%pack.sensors $= "") + { + // assume that this is a pack that has been placed in a mission + // this case was handled in ::onInventory below (max sensors); + } + else + { + // find out how many sensor were in the pack + %player.deploySensors = %pack.sensors; + %player.client.updateSensorPackText(%player.deploySensors); + } +} + +function PulseSensorDeployable::onThrow(%this,%pack,%player) +{ + // %this = Sensor pack datablock + // %pack = Sensor pack object number + // %player = player + + %player.throwSensorPack = 1; + %pack.sensors = %player.deploySensors; + %player.deploySensors = 0; + %player.client.updateSensorPackText(%player.deploySensors); + // do the normal ItemData::onThrow stuff -- sound and schedule deletion + serverPlay3D(ItemThrowSound, %player.getTransform()); + %pack.schedulePop(); +} + +function PulseSensorDeployable::onInventory(%this,%player,%value) +{ + // %this = Sensor pack datablock + // %player = player + // %value = 1 if gaining a pack, 0 if losing a pack + + if(%player.getClassName() $= "Player") + { + if(%value) + { + // player picked up or bought a motion sensor pack + %player.deploySensors = %this.maxSensors; + %player.client.updateSensorPackText(%player.deploySensors); + } + else + { + // player dropped or sold a motion sensor pack + if(%player.throwSensorPack) + { + // player threw the pack + %player.throwSensorPack = 0; + // everything handled in ::onThrow above + } + else + { + //the pack was sold at an inventory station, or unmounted because the player + // used all the sensors + %player.deploySensors = 0; + %player.client.updateSensorPackText(%player.deploySensors); + } + } + } + Pack::onInventory(%this,%player,%value); +} + +function TurretIndoorDeployableImage::getInitialRotation(%item, %plyr) +{ + %surfaceAngle = getTerrainAngle(%item.surfaceNrm); + if(%surfaceAngle > 155) + %item.deployed = TurretDeployedCeilingIndoor; + else if(%surfaceAngle > 45) + %item.deployed = TurretDeployedWallIndoor; + else + %item.deployed = TurretDeployedFloorIndoor; +} + +function TurretIndoorDeployable::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} + +function TurretOutdoorDeployable::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} + +function InventoryDeployable::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} + +// --------------------------------------------------------------------------------------- +// deployed station functions +function DeployedStationInventory::onEndSequence(%data, %obj, %thread) +{ + Parent::onEndSequence(%data, %obj, %thread); + if(%thread == $DeployThread) + { + %trigger = new Trigger() + { + dataBlock = stationTrigger; + polyhedron = "-0.125 0.0 0.1 0.25 0.0 0.0 0.0 -0.7 0.0 0.0 0.0 1.0"; + }; + MissionCleanup.add(%trigger); + + %trans = %obj.getTransform(); + %vSPos = getWords(%trans,0,2); + %vRot = getWords(%trans,3,5); + %vAngle = getWord(%trans,6); + %matrix = VectorOrthoBasis(%vRot @ " " @ %vAngle + 0.0); + %yRot = getWords(%matrix, 3, 5); + %pos = vectorAdd(%vSPos, vectorScale(%yRot, -0.1)); + + %trigger.setTransform(%pos @ " " @ %vRot @ " " @ %vAngle); + + // associate the trigger with the station + %trigger.station = %obj; + %trigger.mainObj = %obj; + %trigger.disableObj = %obj; + %obj.trigger = %trigger; + } +} + +//-------------------------------------------------------------------------- +//DeployedMotionSensor: +//-------------------------------------------------------------------------- + +function DeployedMotionSensor::onDestroyed(%this, %obj, %prevState) +{ + //%obj.hide(true); + Parent::onDestroyed(%this, %obj, %prevState); + $TeamDeployedCount[%obj.team, MotionSensorDeployable]--; + %obj.schedule(500, "delete"); +} + +//-------------------------------------------------------------------------- +//DeployedPulseSensor: +//-------------------------------------------------------------------------- +function PulseSensorDeployableImage::onActivate(%data, %obj, %slot) +{ + Parent::onActivate( %data, %obj, %slot ); + //%data.testInvalidDeployConditions(%obj, %slot); +} + +function DeployedPulseSensor::onDestroyed(%this, %obj, %prevState) +{ + Parent::onDestroyed(%this, %obj, %prevState); + $TeamDeployedCount[%obj.team, PulseSensorDeployable]--; + %obj.schedule(300, "delete"); +} + +// --------------------------------------------------------------------------------------- +// deployed turret functions + +function DeployedTurret::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + // auto-mount the barrel + %obj.mountImage(%data.barrel, 0, false); +} + +function DeployedTurret::onDestroyed(%this, %obj, %prevState) +{ + Parent::onDestroyed(%this, %obj, %prevState); + %turType = %this.getName(); + // either it'll be an outdoor turret, or one of the three types of indoor turret + // (floor, ceiling, wall) + if(%turType $= "TurretDeployedOutdoor") + %turType = "TurretOutdoorDeployable"; + else + %turType = "TurretIndoorDeployable"; + + // decrement team count + $TeamDeployedCount[%obj.team, %turType]--; + + %obj.schedule(700, "delete"); +} + +function countTurretsAllowed(%type) +{ + for(%j = 1; %j < Game.numTeams; %j++) + %teamPlayerCount[%j] = 0; + %numClients = ClientGroup.getCount(); + for(%i = 0; %i < %numClients; %i++) + { + %cl = ClientGroup.getObject(%i); + if(%cl.team > 0) + %teamPlayerCount[%cl.team]++; + } + // the bigger team determines the number of turrets allowed + %maxPlayers = %teamPlayerCount[1] > %teamPlayerCount[2] ? %teamPlayerCount[1] : %teamPlayerCount[2]; + // each team can have 1 turret of each type (indoor/outdoor) for every 2 players + // minimum and maximums are defined in deployables.cs + %teamTurretMax = mFloor(%maxPlayers / 2); + if(%teamTurretMax < $TeamDeployableMin[%type]) + %teamTurretMax = $TeamDeployableMin[%type]; + else if(%teamTurretMax > $TeamDeployableMax[%type]) + %teamTurretMax = $TeamDeployableMax[%type]; + + return %teamTurretMax; +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/depthSort.cs b/public/base/@vl2/scripts.vl2/scripts/depthSort.cs new file mode 100644 index 00000000..89eade87 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/depthSort.cs @@ -0,0 +1,64 @@ + +moveMap.bindCmd(keyboard,o,"","toggleDepthTest();"); +moveMap.bindCmd(keyboard,j,"","toggleDepthSort();"); +moveMap.bindCmd(keyboard,k,"","toggleRenderDepth();"); +moveMap.bindCmd(keyboard,l,"","toggleHoldDepthTest();"); + +function toggleDepthTest() +{ + if ($Collision::testDepthSortList) + { + $Collision::testDepthSortList = false; + echo("Turning OFF testing of DepthSortList"); + } + else + { + $Collision::testDepthSortList = true; + echo("Turning ON testing of DepthSortList"); + } +} + +function toggleDepthSort() +{ + if ($Collision::depthSort) + { + $Collision::depthSort = false; + echo("Turning OFF depth sort on depthSortList"); + } + else + { + $Collision::depthSort = true; + echo("Turning ON depth sort on depthSortList"); + } +} + +function toggleRenderDepth() +{ + if ($Collision::depthRender) + { + $Collision::depthRender = false; + echo("Turning OFF depth rendering on DepthSortList"); + } + else + { + $Collision::depthRender = true; + echo("Turning ON depth rendering on DepthSortList"); + } +} + +function toggleHoldDepthTest() +{ + if ($Collision::renderAlways) + { + $Collision::renderAlways = false; + $Collision::testDepthSortList = true; + } + else + { + $Collision::renderAlways = true; + $Collision::testDepthSortList = false; + } +} + +// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // + diff --git a/public/base/@vl2/scripts.vl2/scripts/desertPropMap.cs b/public/base/@vl2/scripts.vl2/scripts/desertPropMap.cs new file mode 100644 index 00000000..b5545e62 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/desertPropMap.cs @@ -0,0 +1,17 @@ +//-------------------------------------- Desert interior texture property mapping + +addMaterialMapping("desert/cp_ichute01", "environment: special/chuteTexture 0.25"); +addMaterialMapping("desert/cp_ichute02", "environment: special/chuteTexture 0.25"); + +//"Color: red green blue startAlpha endAlpha" +//Soft sound = 0 +//Hard sound = 1 +//Metal sound = 2 +//Snow sound = 3 +addMaterialMapping("terrain/DesertWorld.RockFractured", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/DesertWorld.RockSmooth", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/DesertWorld.Sand", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/DesertWorld.SandBrun", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/DesertWorld.SandDark", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/DesertWorld.SandOrange", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/DesertWorld.SandOxidized", "color: 0.35 0.2 0.05 0.7 0.0", "sound: 0"); diff --git a/public/base/@vl2/scripts.vl2/scripts/editor.bind.cs b/public/base/@vl2/scripts.vl2/scripts/editor.bind.cs new file mode 100644 index 00000000..0e4dcd66 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/editor.bind.cs @@ -0,0 +1,15 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Mission Editor Manager +new ActionMap(EditorMap); + +EditorMap.bindCmd(keyboard, "f1", "contextHelp();", ""); +EditorMap.bindCmd(keyboard, "escape", "editor.close();", ""); +EditorMap.bindCmd(keyboard, "i", "Canvas.pushDialog(interiorDebugDialog);", ""); + diff --git a/public/base/@vl2/scripts.vl2/scripts/editor.cs b/public/base/@vl2/scripts.vl2/scripts/editor.cs new file mode 100644 index 00000000..61ebc187 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/editor.cs @@ -0,0 +1,113 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + + +//------------------------------------------------------------------------------ +// Hard coded images referenced from C++ code +//------------------------------------------------------------------------------ + +// editor/SelectHandle.png +// editor/DefaultHandle.png +// editor/LockedHandle.png + + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// Mission Editor +//------------------------------------------------------------------------------ + +function Editor::create() +{ + // Not much to do here, build it and they will come... + // Only one thing... the editor is a gui control which + // expect the Canvas to exist, so it must be constructed + // before the editor. + new EditManager(Editor) + { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + open = false; + }; +} + + +function Editor::onAdd(%this) +{ + // Basic stuff + exec("scripts/cursors.cs"); + exec("scripts/EditorProfiles.cs"); + + // Tools + exec("scripts/editor.bind.cs"); + exec("gui/ObjectBuilderGui.gui"); + + // New World Editor + exec("gui/EditorGui.gui"); + exec("scripts/EditorGui.cs"); + exec("gui/AIEWorkingDlg.gui"); + + // World Editor + exec("gui/WorldEditorSettingsDlg.gui"); + + // Terrain Editor + exec("gui/TerrainEditorVSettingsGui.gui"); + exec("gui/HelpDlg.gui"); + exec("scripts/help.cs"); + + // do gui initialization... + EditorGui.init(); + + // + exec("scripts/editorRender.cs"); +} + +function Editor::checkActiveLoadDone() +{ + if(isObject(EditorGui) && EditorGui.loadingMission) + { + Canvas.setContent(EditorGui); + EditorGui.loadingMission = false; + return true; + } + return false; +} + +//------------------------------------------------------------------------------ +function toggleEditor(%make) +{ + if (%make) + { + if (!$missionRunning) + { + MessageBoxOK("Mission Required", "You must load a mission before starting the Mission Editor.", ""); + return; + } + + $testcheats = 1; + if (!isObject(Editor)) + { + Editor::create(); + MissionCleanup.add(Editor); + } + if (Canvas.getContent() == EditorGui.getId()) + Editor.close(); + else + Editor.open(); + } +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/editorRender.cs b/public/base/@vl2/scripts.vl2/scripts/editorRender.cs new file mode 100644 index 00000000..24b256b8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/editorRender.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// Console onEditorRender functions: +//------------------------------------------------------------------------------ +// Functions: +// - renderSphere([pos], [radius], ); +// - renderCircle([pos], [normal], [radius], ); +// - renderTriangle([pnt], [pnt], [pnt]); +// - renderLine([start], [end], ); +// +// Variables: +// - consoleFrameColor - line prims are rendered with this +// - consoleFillColor +// - consoleSphereLevel - level of polyhedron subdivision +// - consoleCircleSegments +// - consoleLineWidth +//------------------------------------------------------------------------------ + +function SpawnSphere::onEditorRender(%this, %editor, %selected, %expanded) +{ + if(%selected $= "true") + { + %editor.consoleFrameColor = "255 0 0"; + %editor.consoleFillColor = "0 0 0 0"; + %editor.renderSphere(%this.getWorldBoxCenter(), %this.radius, 1); + } +} + +function AudioEmitter::onEditorRender(%this, %editor, %selected, %expanded) +{ + if(%selected $= "true" && %this.is3D && !%this.useProfileDescription) + { + %editor.consoleFillColor = "0 0 0 0"; + + %editor.consoleFrameColor = "255 0 0"; + %editor.renderSphere(%this.getTransform(), %this.minDistance, 1); + + %editor.consoleFrameColor = "0 0 255"; + %editor.renderSphere(%this.getTransform(), %this.maxDistance, 1); + } +} + +//function Item::onEditorRender(%this, %editor, %selected, %expanded) +//{ +// if(%this.getDataBlock().getName() $= "MineDeployed") +// { +// %editor.consoleFillColor = "0 0 0 0"; +// %editor.consoleFrameColor = "255 0 0"; +// %editor.renderSphere(%this.getWorldBoxCenter(), 6, 1); +// } +//} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/environmentals.cs b/public/base/@vl2/scripts.vl2/scripts/environmentals.cs new file mode 100644 index 00000000..c2543624 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/environmentals.cs @@ -0,0 +1,53 @@ +// Used by interiors: ------------------------------------------------------ +datablock AudioProfile(Universal_Base_1) +{ + filename = "fx/environment/base_1.wav"; + description = AudioLooping2d; +}; + +datablock AudioProfile(Universal_Base_2) +{ + filename = "fx/environment/base_2.wav"; + description = AudioLooping2d; +}; + +datablock AudioProfile(Universal_Base_3) +{ + filename = "fx/environment/base_3.wav"; + description = AudioLooping2d; +}; + +datablock AudioProfile(Universal_Base_Pulse_1) +{ + filename = "fx/environment/base_pulse_1.wav"; + description = AudioLooping2d; +}; + +datablock AudioProfile(Universal_Base_Pulse_2) +{ + filename = "fx/environment/base_pulse_2.wav"; + description = AudioLooping2d; +}; + +datablock AudioProfile(sPowerUp) +{ + filename = "fx/powered/base_power_on.wav"; + description = Audio2d; + preload = true; +}; + +datablock AudioProfile(sPowerDown) +{ + filename = "fx/powered/base_power_off.wav"; + description = Audio2d; + preload = true; +}; + + + + + + + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/forceField.cs b/public/base/@vl2/scripts.vl2/scripts/forceField.cs new file mode 100644 index 00000000..d19de0f4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/forceField.cs @@ -0,0 +1,256 @@ +//-------------------------------------------------------------------------- +// Force fields: +// +// accept the following commands: +// open() +// close() +// +//-------------------------------------------------------------------------- + + +datablock ForceFieldBareData(defaultForceFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.30; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "0.0 0.55 0.99"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + + +datablock ForceFieldBareData(defaultTeamSlowFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.3; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = false; + color = "0.28 0.89 0.31"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(defaultAllSlowFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.30; + powerOffTranslucency = 0.0; + teamPermiable = true; + otherPermiable = true; + color = "1.0 0.4 0.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(defaultNoTeamSlowFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.30; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = true; + color = "1.0 0.0 0.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + +datablock ForceFieldBareData(defaultSolidFieldBare) +{ + fadeMS = 1000; + baseTranslucency = 0.30; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1.0 0.0 0.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + + texture[0] = "skins/forcef1"; + texture[1] = "skins/forcef2"; + texture[2] = "skins/forcef3"; + texture[3] = "skins/forcef4"; + texture[4] = "skins/forcef5"; + + framesPerSec = 10; + numFrames = 5; + scrollSpeed = 15; + umapping = 1.0; + vmapping = 0.15; +}; + + +function ForceFieldBare::onTrigger(%this, %triggerId, %on) +{ + // Default behavior for a field: + // if triggered: go to open state (last waypoint) + // if untriggered: go to closed state (first waypoint) + + if (%on == 1) { + %this.triggerCount++; + } else { + if (%this.triggerCount > 0) + %this.triggerCount--; + } + + if (%this.triggerCount > 0) { + %this.open(); + } else { + %this.close(); + } +} + +function ForceFieldBareData::gainPower(%data, %obj) +{ + Parent::gainPower(%data, %obj); + %obj.close(); + // activate the field's physical zone + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup > 0) { + %ffp = -1; + for(%i = 0; %i < %pzGroup.getCount(); %i++) { + %pz = %pzGroup.getObject(%i); + if(%pz.ffield == %obj) { + %ffp = %pz; + break; + } + } + if(%ffp > 0) { + %ffp.activate(); + if( %data.getName() $= "defaultForceFieldBare" ) + { + killAllPlayersWithinZone( %data, %obj ); + } + else if( %data.getName() $= "defaultTeamSlowFieldBare" ) + { + %team = %obj.team; + killAllPlayersWithinZone( %data, %obj, %team ); + } + } + } + //else + // error("No PZones group to search!"); +} + +function killAllPlayersWithinZone( %data, %obj, %team ) +{ + for( %c = 0; %c < ClientGroup.getCount(); %c++ ) + { + %client = ClientGroup.getObject(%c); + if( isObject( %client.player ) ) + { + if( %forceField = %client.player.isInForceField() )// isInForceField() will return the id of the ff or zero + { + if( %forceField == %obj ) + { + if( %team !$= "" && %team == %client.team ) + return; + else + { + %client.player.blowup(); // chunkOrama! + %client.player.scriptkill($DamageType::ForceFieldPowerup); + } + } + } + } + } +} + +function ForceFieldBareData::losePower(%data, %obj) +{ + Parent::losePower(%data, %obj); + %obj.open(); + // deactivate the field's physical zone + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup > 0) { + %ffp = -1; + for(%i = 0; %i < %pzGroup.getCount(); %i++) { + %pz = %pzGroup.getObject(%i); + if(%pz.ffield == %obj) { + %ffp = %pz; + break; + } + } + if(%ffp > 0) { + %ffp.deactivate(); + } + } + //else + // error(""); +} + +function ForceFieldBareData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + + %pz = new PhysicalZone() { + position = %obj.position; + rotation = %obj.rotation; + scale = %obj.scale; + polyhedron = "0.000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + velocityMod = 0.1; + gravityMod = 1.0; + appliedForce = "0 0 0"; + ffield = %obj; + }; + %pzGroup = nameToID("MissionCleanup/PZones"); + if(%pzGroup <= 0) { + %pzGroup = new SimGroup("PZones"); + MissionCleanup.add(%pzGroup); + } + %pzGroup.add(%pz); + //MissionCleanupGroup.add(%pz); +} + + diff --git a/public/base/@vl2/scripts.vl2/scripts/gameBase.cs b/public/base/@vl2/scripts.vl2/scripts/gameBase.cs new file mode 100644 index 00000000..b5384625 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/gameBase.cs @@ -0,0 +1,116 @@ + +function GameBaseData::onAdd(%data, %obj) +{ + if(%data.targetTypeTag !$= "") + { + // use the name given to the object in the mission file + if(%obj.nameTag !$= "") + { + %obj.nameTag = addTaggedString(%obj.nameTag); + %nameTag = %obj.nameTag; + } + else + %nameTag = %data.targetNameTag; + + %obj.target = createTarget(%obj, %nameTag, "", "", %data.targetTypeTag, 0, 0); + } + else + %obj.target = -1; +} + +function GameBaseData::onRemove(%data, %obj) +{ + %target = %obj.getTarget(); + + // first 32 targets are team targets + if(%target >= 32) + { + if(%obj.nameTag !$= "") + removeTaggedString(%obj.nameTag); + freeTarget(%target); + } +} + +function InteriorInstance::damage() +{ +} + +function TerrainBlock::damage() +{ +} + +function ForceFieldBare::damage() +{ +} + +function GameBaseData::shouldApplyImpulse(%data, %obj) +{ + return %data.shouldApplyImpulse; +} + + +function ShapeBaseData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + // if it's a deployed object, schedule the ambient thread to play in a little while + if(%data.deployAmbientThread) + %obj.schedule(750, "playThread", $AmbientThread, "ambient"); + // check for ambient animation that should always be played + if(%data.alwaysAmbient) + %obj.playThread($AmbientThread, "ambient"); +} + +function SimObject::setOwnerClient(%obj, %cl) +{ + %obj.client = %cl; +} + +function SimObject::getOwnerClient(%obj) +{ + if(isObject(%obj)) + return %obj.client; + return 0; +} + // recursive objective init functions for mission group + +function SimGroup::objectiveInit(%this) +{ + for (%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).objectiveInit(); +} + +function SimObject::objectiveInit(%this) +{ +} + +function GameBase::objectiveInit(%this) +{ + //error("Initializing object " @ %this @ ", " @ %this.getDataBlock().getName()); + %this.getDataBlock().objectiveInit(%this); +} + +// tag strings are ignored if they start with an underscore +function GameBase::getGameName(%this) +{ + %name = ""; + + if(%this.nameTag !$= "") + %name = %this.nameTag; + else + { + %name = getTaggedString(%this.getDataBlock().targetNameTag); + if((%name !$= "") && (getSubStr(%name, 0, 1) $= "_")) + %name = ""; + } + + %type = getTaggedString(%this.getDataBlock().targetTypeTag); + if((%type !$= "") && (getSubStr(%type, 0, 1) !$= "_")) + { + if(%name !$= "") + return(%name @ " " @ %type); + else + return(%type); + } + + return(%name); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/gameCanvas.cs b/public/base/@vl2/scripts.vl2/scripts/gameCanvas.cs new file mode 100644 index 00000000..277986fb --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/gameCanvas.cs @@ -0,0 +1,47 @@ +function SimSet::removeStable(%this, %object) +{ + if(%this.getCount() < 2) + { + %this.remove(%object); + return; + } + %last = %this.getObject(%this.getCount() - 1); + %this.remove(%object); + %this.pushToBack(%last); +} + +if(!isObject(GameDialogSet)) +{ + new SimSet(GameDialogSet); + RootGroup.add(GameDialogSet); +} + +function GuiCanvas::setGameMode(%this, %on) +{ + if(%this.gameMode == %on) + return; + + %this.gameMode = %on; + if(%this.gameMode) + { + %this.setContent(%this.gameContent); + for(%i = 0; %i < GameDialogSet.getCount(); %i++) + %this.pushDialog(GameDialogSet.getObject(%i)); + } + else + Canvas.setContent(LobbyGui); +} + +function GuiCanvas::pushGameDialog(%this, %dialog) +{ + GameDialogSet.add(%dialog); + if(%this.gameMode) + %this.pushDialog(%dialog); +} + +function GuiCanvas::popGameDialog(%this, %dialog) +{ + GameDialogSet.removeStable(%dialog); + if(%this.gameMode) + %this.popDialog(%dialog); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/graphBuild.cs b/public/base/@vl2/scripts.vl2/scripts/graphBuild.cs new file mode 100644 index 00000000..aab15146 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/graphBuild.cs @@ -0,0 +1,39 @@ +// offline graph building + +$MAXNODECOUNT = 5000; + +function makeJettableGraphOffline(%NAVorSPAWN) +{ + if (%NAVorSPAWN $= "Spawn") + echo("--> Building Spawn Graph"); + else + echo("--> Building Nav Graph"); + + // Inform what we're generating- + navGraph.setGenMode(%NAVorSPAWN); + + // Upload ground and floor data- + navGraph::exteriorInspect(); + navGraph::generateInterior(); + + // navGraph.makeGraph(); + // navGraph.findBridges(); + // navGraph.pushBridges(); + + navGraph.assemble(); + navGraph.cullIslands(); + + navGraph.makeGraph(); + navGraph.pushBridges(); + navGraph.makeTables(); + + return false; +} + +function doTablebuildOffline() +{ + navGraph.prepLOS("0 0 0"); + while(navGraph.makeLOS()) + %percent++; +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/heavy_male.cs b/public/base/@vl2/scripts.vl2/scripts/heavy_male.cs new file mode 100644 index 00000000..acf16e43 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/heavy_male.cs @@ -0,0 +1,41 @@ +datablock TSShapeConstructor(HeavyMaleDts) +{ + baseShape = "heavy_male.dts"; + sequence0 = "heavy_male_root.dsq root"; + sequence1 = "heavy_male_forward.dsq run"; + sequence2 = "heavy_male_back.dsq back"; + sequence3 = "heavy_male_side.dsq side"; + sequence4 = "heavy_male_lookde.dsq look"; + sequence5 = "heavy_male_head.dsq head"; + sequence6 = "heavy_male_fall.dsq fall"; + sequence7 = "heavy_male_jet.dsq jet"; + sequence8 = "heavy_male_land.dsq land"; + sequence9 = "heavy_male_jump.dsq jump"; + sequence10 = "heavy_male_recoilde.dsq light_recoil"; + sequence11 = "heavy_male_idlepda.dsq pda"; + sequence12 = "heavy_male_headside.dsq headside"; + sequence13 = "heavy_male_lookms.dsq lookms"; + sequence14 = "heavy_male_diehead.dsq death1"; + sequence15 = "heavy_male_diechest.dsq death2"; + sequence16 = "heavy_male_dieback.dsq death3"; + sequence17 = "heavy_male_diesidelf.dsq death4"; + sequence18 = "heavy_male_diesidert.dsq death5"; + sequence19 = "heavy_male_dieforward.dsq death6"; // heavy_male_dieleglf + sequence20 = "heavy_male_diechest.dsq death7"; // heavy_male_dielegrt + sequence21 = "heavy_male_dieslump.dsq death8"; + sequence22 = "heavy_male_dieforward.dsq death9"; // heavy_male_dieknees + sequence23 = "heavy_male_dieforward.dsq death10"; + sequence24 = "heavy_male_diespin.dsq death11"; + sequence25 = "heavy_male_celsalute.dsq cel1"; + sequence26 = "heavy_male_celwave.dsq cel2"; + sequence27 = "heavy_male_tauntbest.dsq cel3"; + sequence28 = "heavy_male_tauntimp.dsq cel4"; + sequence29 = "heavy_male_celdance.dsq cel5"; + sequence30 = "heavy_male_celflex.dsq cel6"; + sequence31 = "heavy_male_celtaunt.dsq cel7"; + sequence32 = "heavy_male_celjump.dsq cel8"; + sequence33 = "heavy_male_ski.dsq ski"; + sequence34 = "heavy_male_standjump.dsq standjump"; + sequence35 = "heavy_male_looknw.dsq looknw"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/help.cs b/public/base/@vl2/scripts.vl2/scripts/help.cs new file mode 100644 index 00000000..1a4002b3 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/help.cs @@ -0,0 +1,72 @@ +//----------------------------------------------------------------------------- +// Torque Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +function HelpDlg::onWake(%this) +{ + HelpFileList.entryCount = 0; + HelpFileList.clear(); + for(%file = findFirstFile("*.hfl"); %file !$= ""; %file = findNextFile("*.hfl")) + { + HelpFileList.fileName[HelpFileList.entryCount] = %file; + HelpFileList.addRow(HelpFileList.entryCount, fileBase(%file)); + HelpFileList.entryCount++; + } + HelpFileList.sortNumerical(0); + HelpFileList.setSelectedRow(0); +} + +function HelpFileList::onSelect(%this, %row) +{ + %fo = new FileObject(); + %fo.openForRead(%this.fileName[%row]); + %text = ""; + while(!%fo.isEOF()) + %text = %text @ %fo.readLine() @ "\n"; + + %fo.delete(); + HelpText.setText(%text); +} + +function getHelp(%helpName) +{ + trace(1); + Canvas.pushDialog(HelpDlg); + if(%helpName !$= "") + { + %index = HelpFileList.findTextIndex(%helpName); + HelpFileList.setSelectedRow(%index); + } + trace(0); +} + +function contextHelp() +{ + for(%i = 0; %i < Canvas.getCount(); %i++) + { + if(Canvas.getObject(%i).getName() $= HelpDlg) + { + Canvas.popDialog(HelpDlg); + return; + } + } + %content = Canvas.getContent(); + %helpPage = %content.getHelpPage(); + getHelp(%helpPage); +} + +function GuiControl::getHelpPage(%this) +{ + return %this.helpPage; +} + +function GuiMLTextCtrl::onURL(%this, %url) +{ + if(getSubStr(%url, 0, 5) $= "help/") + getHelp(getSubStr(%url, 5, 100000)); + else + gotoWebPage( %url ); +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/helpGuiText.cs b/public/base/@vl2/scripts.vl2/scripts/helpGuiText.cs new file mode 100644 index 00000000..cfa70283 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/helpGuiText.cs @@ -0,0 +1,24 @@ +$helpTextShown = false; + +function toggleHelpText() +{ + // if HUD has been altered, do not show helpTextGui + if(helpTextGui.visible) + helpTextGui.setVisible(false); + else + { + if(!$helpTextShown) + { + objHudText.setValue("Displays important information about the current mission."); + chatHudText.setValue("Chat messages from other players are displayed here."); + energyHudText.setValue("Your armor's available energy. Heat (the red bar) increases as you use jets."); + compassHudText.setValue("Compass spins as you turn. Clock shows mission time. If the center is flashing red, you've been detected."); + damageHudText.setValue("You are dead if this reaches zero."); + reticleHudText.setValue("Your weapon fire hits approximately in the center of this."); + inventoryHudText.setValue("Shows (left to right) number of grenades, mines, health kits and beacons."); + weaponsHudText.setValue("Shows your available weapons, plus a targeting laser."); + $helpTextShown = true; + } + helpTextGui.setVisible(true); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/hud.cs b/public/base/@vl2/scripts.vl2/scripts/hud.cs new file mode 100644 index 00000000..68d62d53 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/hud.cs @@ -0,0 +1,1826 @@ +//-------------------------------------------------------------------------- +function GameConnection::sensorPing(%this, %ping) +{ + sensorHud.ping = %ping; + sensorHud.update(); +} + +function GameConnection::sensorJammed(%this, %jam) +{ + sensorHud.jam = %jam; + sensorHud.update(); +} + +function SensorHud::update(%this) +{ + if(!%this.ping && !%this.jam) + { + %this.setVisible(false); + sensorHudBack.setVisible(true); + return; + } + + %this.setVisible(true); + sensorHudBack.setVisible(false); + + if(%this.jam) + %this.color = %this.jamColor; + else + %this.color = %this.pingColor; +} + +// - anything which should be reset on new server/mission +function clientCmdResetHud() +{ + deploySensor.setVisible(false); + controlObjectText.setVisible(false); + + sensorHud.jam = false; + sensorHud.ping = false; + sensorHud.update(); +} + +//-------------------------------------------------------------------------- +$vehicleReticle[AssaultVehicle, 1, bitmap] = "gui/hud_ret_tankchaingun"; +$vehicleReticle[AssaultVehicle, 1, frame] = true; +$vehicleReticle[AssaultVehicle, 2, bitmap] = "gui/hud_ret_tankmortar"; +$vehicleReticle[AssaultVehicle, 2, frame] = true; + +$vehicleReticle[BomberFlyer, 1, bitmap] = "gui/hud_ret_shrike"; +$vehicleReticle[BomberFlyer, 1, frame] = false; +$vehicleReticle[BomberFlyer, 2, bitmap] = ""; +$vehicleReticle[BomberFlyer, 2, frame] = false; +$vehicleReticle[BomberFlyer, 3, bitmap] = "gui/hud_ret_targlaser"; +$vehicleReticle[BomberFlyer, 3, frame] = false; + +function GameConnection::setVWeaponsHudActive(%client, %slot) +{ + %veh = %client.player.getObjectMount(); + %vehType = %veh.getDatablock().getName(); + commandToClient(%client, 'setVWeaponsHudActive', %slot, %vehType); +} + +function clientCmdSetVWeaponsHudActive(%num, %vType) +{ + //vWeaponsBox.setActiveWeapon(%num); + if(%num > $numVWeapons) + %num = $numVWeapons; + + for(%i = 1; %i <= $numVWeapons; %i++) + { + %oldHilite = "vWeap" @ %i @ "Hilite"; + %oldHilite.setVisible(false); + } + %newHilite = "vWeap" @ %num @ "Hilite"; + %newHilite.setVisible(true); + + // set the bitmap and frame for the reticle + reticleHud.setBitmap($vehicleReticle[%vType, %num, bitmap]); + reticleFrameHud.setVisible($vehicleReticle[%vType, %num, frame]); +} + +function GameConnection::setVWeaponsHudClearAll(%client) +{ + commandToClient(%client, 'setVWeaponsHudClearAll'); +} + +function clientCmdSetVWeaponsHudClearAll() +{ + //vWeaponsBox.clearAll(); +} + +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudBitmap(%client, %slot, %name, %bitmap) +{ + commandToClient(%client, 'setWeaponsHudBitmap',%slot,%name,%bitmap); +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudBitmap(%slot, %name, %bitmap) +{ + $WeaponNames[%slot] = %name; + weaponsHud.setWeaponBitmap(%slot,%bitmap); +} + +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudItem(%client, %name, %ammoAmount, %addItem) +{ + //error("GC:SWHI name="@%name@",ammoAmount="@%ammoAmount@",addItem="@%addItem); +// for(%i = 0; %i < $WeaponsHudCount; %i++) +// if($WeaponsHudData[%i, itemDataName] $= %name) +// { +// if($WeaponsHudData[%i, ammoDataName] !$= "") { +// %ammoInv = %client.player.inv[$WeaponsHudData[%i, ammoDataName]]; +// //error(" ----- player has " @ %ammoInv SPC $WeaponsHudData[%i, ammoDataName]); +// //error("SWHI:Setting weapon "@%name@" ("@%i@") ammo to " @ %ammoInv); +// commandToClient(%client, 'setWeaponsHudItem',%i,%ammoInv, %addItem); +// } +// else { +// //error("SWHI:Setting weapon "@%name@" ("@%i@") ammo to infinite"); +// commandToClient(%client, 'setWeaponsHudItem',%i,-1, %addItem); +// } +// break; +// } + + + // My try... + for(%i = 0; %i < $WeaponsHudCount; %i++) + if($WeaponsHudData[%i, itemDataName] $= %name) + { + if($WeaponsHudData[%i, ammoDataName] !$= "") { + %ammoInv = %client.player.inv[$WeaponsHudData[%i, ammoDataName]]; + //error(" ----- player has " @ %ammoInv SPC $WeaponsHudData[%i, ammoDataName]); + //error("SWHI:Setting weapon "@%name@" ("@%i@") ammo to " @ %ammoInv); + commandToClient(%client, 'setWeaponsHudItem',%i,%ammoInv, %addItem); + } + else { + //error("SWHI:Setting weapon "@%name@" ("@%i@") ammo to infinite"); + commandToClient(%client, 'setWeaponsHudItem',%i,-1, %addItem); + } + break; + } +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudItem(%slot, %ammoAmount, %addItem) +{ + if(%addItem) { + //error("adding weapon to hud in slot " @ %slot @ " with ammo " @ %ammoAmount); + weaponsHud.addWeapon(%slot, %ammoAmount); + } + else { + //error("removing weapon from hud"); + weaponsHud.removeWeapon(%slot); + } +} + +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudAmmo(%client, %name, %ammoAmount) +{ + for(%i = 0; %i < $WeaponsHudCount; %i++) + if($WeaponsHudData[%i, ammoDataName] $= %name) + { + //error("SWHA:Setting ammo "@%name@" for weapon "@%i@" to " @ %ammoAmount); + commandToClient(%client, 'setWeaponsHudAmmo',%i, %ammoAmount); + break; + } +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudAmmo(%slot, %ammoAmount) +{ + weaponsHud.setAmmo(%slot, %ammoAmount); +} + +//---------------------------------------------------------------------------- +// z0dd - ZOD, 9/13/02. Serverside reticles, sever tells client what file to use. +function GameConnection::setWeaponsHudActive(%client, %name, %clearActive) +{ + if(%clearActive) + { + commandToClient(%client, 'setWeaponsHudActive', -1); + } + else + { + for(%i = 0; %i < $WeaponsHudCount; %i++) + { + if($WeaponsHudData[%i, itemDataName] $= %name) + { + commandToClient(%client, 'setWeaponsHudActive', %i, $WeaponsHudData[%i, reticle], $WeaponsHudData[%i, visible]); + break; + } + } + } +} + +//---------------------------------------------------------------------------- +// z0dd- ZOD, 9/13/02. Serverside reticles, sever tells client what file to use. +function clientCmdSetWeaponsHudActive(%slot, %ret, %vis) +{ + // z0dd - ZOD, 9/30/02. Changed for lazy scripter backward compatibility. + weaponsHud.setActiveWeapon(%slot); + switch$($WeaponNames[%slot]) + { + case "Blaster": + reticleHud.setBitmap("gui/ret_blaster"); + reticleFrameHud.setVisible(true); + case "Plasma": + reticleHud.setBitmap("gui/ret_plasma"); + reticleFrameHud.setVisible(true); + case "Chaingun": + reticleHud.setBitmap("gui/ret_chaingun"); + reticleFrameHud.setVisible(true); + case "Disc": + reticleHud.setBitmap("gui/ret_disc"); + reticleFrameHud.setVisible(true); + case "GrenadeLauncher": + reticleHud.setBitmap("gui/ret_grenade"); + reticleFrameHud.setVisible(true); + case "SniperRifle": + reticleHud.setBitmap("gui/hud_ret_sniper"); + reticleFrameHud.setVisible(false); + case "ELFGun": + reticleHud.setBitmap("gui/ret_elf"); + reticleFrameHud.setVisible(true); + case "Mortar": + reticleHud.setBitmap("gui/ret_mortor"); + reticleFrameHud.setVisible(true); + case "MissileLauncher": + reticleHud.setBitmap("gui/ret_missile"); + reticleFrameHud.setVisible(true); + case "ShockLance": + reticleHud.setBitmap("gui/hud_ret_shocklance"); + reticleFrameHud.setVisible(false); + case "TargetingLaser": + reticleHud.setBitmap("gui/hud_ret_targlaser"); + reticleFrameHud.setVisible(false); + case "TR2Disc": + reticleHud.setBitmap("gui/ret_disc"); + reticleFrameHud.setVisible(true); + case "TR2GrenadeLauncher": + reticleHud.setBitmap("gui/ret_grenade"); + reticleFrameHud.setVisible(true); + case "TR2Chaingun": + reticleHud.setBitmap("gui/ret_chaingun"); + reticleFrameHud.setVisible(true); + case "TR2Mortar": + reticleHud.setBitmap("gui/ret_mortor"); + reticleFrameHud.setVisible(true); + case "TR2Shocklance": + reticleHud.setBitmap("gui/hud_ret_shocklance"); + reticleFrameHud.setVisible(false); + case "TR2GoldTargetingLaser": + reticleHud.setBitmap("gui/hud_ret_targlaser"); + reticleFrameHud.setVisible(false); + case "TR2SilverTargetingLaser": + reticleHud.setBitmap("gui/hud_ret_targlaser"); + reticleFrameHud.setVisible(false); + default: + reticleHud.setBitmap(%ret); + reticleFrameHud.setVisible(%vis); + } +} + +function clientCmdSetRepairReticle() +{ + reticleHud.setBitmap("gui/ret_chaingun"); + reticleFrameHud.setVisible(true); +} + +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudBackGroundBmp(%client, %name) +{ + commandToClient(%client, 'setWeaponsHudBackGroundBmp',%name); +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudBackGroundBmp(%name) +{ + weaponsHud.setBackGroundBitmap(%name); +} + +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudHighLightBmp(%client, %name) +{ + commandToClient(%client, 'setWeaponsHudHighLightBmp',%name); +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudHighLightBmp(%name) +{ + weaponsHud.setHighLightBitmap(%name); +} + +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudInfiniteAmmoBmp(%client, %name) +{ + commandToClient(%client, 'setWeaponsHudInfiniteAmmoBmp',%name); +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudInfiniteAmmoBmp(%name) +{ + weaponsHud.setInfiniteAmmoBitmap(%name); +} +//---------------------------------------------------------------------------- +function GameConnection::setWeaponsHudClearAll(%client) +{ + commandToClient(%client, 'setWeaponsHudClearAll'); +} + +//---------------------------------------------------------------------------- +function clientCmdSetWeaponsHudClearAll() +{ + weaponsHud.clearAll(); +} + +//---------------------------------------------------------------------------- +// Ammo Hud +//---------------------------------------------------------------------------- +function GameConnection::setAmmoHudCount(%client, %amount) +{ + commandToClient(%client, 'setAmmoHudCount', %amount); +} + +//---------------------------------------------------------------------------- +function clientCmdSetAmmoHudCount(%amount) +{ + if(%amount == -1) + ammoHud.setValue(""); + else + ammoHud.setValue(%amount); +} + +//---------------------------------------------------------------------------- +// Backpack Hud +//---------------------------------------------------------------------------- + +$BackpackHudData[0, itemDataName] = "AmmoPack"; +$BackpackHudData[0, bitmapName] = "gui/hud_new_packammo"; +$BackpackHudData[1, itemDataName] = "CloakingPack"; +$BackpackHudData[1, bitmapName] = "gui/hud_new_packcloak"; +$BackpackHudData[2, itemDataName] = "EnergyPack"; +$BackpackHudData[2, bitmapName] = "gui/hud_new_packenergy"; +$BackpackHudData[3, itemDataName] = "RepairPack"; +$BackpackHudData[3, bitmapName] = "gui/hud_new_packrepair"; +$BackpackHudData[4, itemDataName] = "SatchelCharge"; +$BackpackHudData[4, bitmapName] = "gui/hud_new_packsatchel"; +$BackpackHudData[5, itemDataName] = "ShieldPack"; +$BackpackHudData[5, bitmapName] = "gui/hud_new_packshield"; +$BackpackHudData[6, itemDataName] = "InventoryDeployable"; +$BackpackHudData[6, bitmapName] = "gui/hud_new_packinventory"; +$BackpackHudData[7, itemDataName] = "MotionSensorDeployable"; +$BackpackHudData[7, bitmapName] = "gui/hud_new_packmotionsens"; +$BackpackHudData[8, itemDataName] = "PulseSensorDeployable"; +$BackpackHudData[8, bitmapName] = "gui/hud_new_packradar"; +$BackpackHudData[9, itemDataName] = "TurretOutdoorDeployable"; +$BackpackHudData[9, bitmapName] = "gui/hud_new_packturretout"; +$BackpackHudData[10, itemDataName] = "TurretIndoorDeployable"; +$BackpackHudData[10, bitmapName] = "gui/hud_new_packturretin"; +$BackpackHudData[11, itemDataName] = "SensorJammerPack"; +$BackpackHudData[11, bitmapName] = "gui/hud_new_packsensjam"; +$BackpackHudData[12, itemDataName] = "AABarrelPack"; +$BackpackHudData[12, bitmapName] = "gui/hud_new_packturret"; +$BackpackHudData[13, itemDataName] = "FusionBarrelPack"; +$BackpackHudData[13, bitmapName] = "gui/hud_new_packturret"; +$BackpackHudData[14, itemDataName] = "MissileBarrelPack"; +$BackpackHudData[14, bitmapName] = "gui/hud_new_packturret"; +$BackpackHudData[15, itemDataName] = "PlasmaBarrelPack"; +$BackpackHudData[15, bitmapName] = "gui/hud_new_packturret"; +$BackpackHudData[16, itemDataName] = "ELFBarrelPack"; +$BackpackHudData[16, bitmapName] = "gui/hud_new_packturret"; +$BackpackHudData[17, itemDataName] = "MortarBarrelPack"; +$BackpackHudData[17, bitmapName] = "gui/hud_new_packturret"; +$BackpackHudData[18, itemDataName] = "SatchelUnarmed"; +$BackpackHudData[18, bitmapName] = "gui/hud_satchel_unarmed"; + +// TR2 +$BackpackHudData[19, itemDataName] = "TR2EnergyPack"; +$BackpackHudData[19, bitmapName] = "gui/hud_new_packenergy"; + +$BackpackHudCount = 20; + +function GameConnection::clearBackpackIcon(%client) +{ + commandToClient(%client, 'setBackpackHudItem', 0, 0); +} + +function GameConnection::setBackpackHudItem(%client, %name, %addItem) +{ + for(%i = 0; %i < $BackpackHudCount; %i++) + if($BackpackHudData[%i, itemDataName] $= %name) + commandToClient(%client, 'setBackpackHudItem', %i, %addItem); +} + +function clientCmdSetBackpackHudItem(%num, %addItem) +{ + if(%addItem) + { + backpackIcon.setBitmap($BackpackHudData[%num, bitmapName]); + backpackFrame.setVisible(true); + backpackIcon.setVisible(true); + backpackFrame.pack = true; + } + else + { + backpackIcon.setBitmap(""); + backpackFrame.setVisible(false); + backpackText.setValue(""); + backpackText.setVisible(false); + backpackFrame.pack = false; + } +} + +function GameConnection::updateSensorPackText(%client, %num) +{ + commandToClient(%client, 'updatePackText', %num); +} + +function clientCmdUpdatePackText(%num) +{ + backpackText.setValue(%num); + if(%num == 0) + backpackText.setVisible(false); + else + backpackText.setVisible(true); +} + +// Pack Icons Activate / Deactivate +function clientCmdSetSatchelArmed() +{ + backpackIcon.setBitmap( "gui/hud_satchel_armed" ); +} + +function clientCmdsetCloakIconOn() +{ + backpackIcon.setBitmap( "gui/hud_new_packcloak_armed" ); +} + +function clientCmdsetCloakIconOff() +{ + backpackIcon.setBitmap( "gui/hud_new_packcloak" ); +} + +function clientCmdsetRepairPackIconOn() +{ + backpackIcon.setBitmap( "gui/hud_new_packrepair_armed" ); +} + +function clientCmdsetRepairPackIconOff() +{ + backpackIcon.setBitmap( "gui/hud_new_packrepair" ); +} + +function clientCmdsetShieldIconOn() +{ + backpackIcon.setBitmap( "gui/hud_new_packshield_armed" ); +} + +function clientCmdsetShieldIconOff() +{ + backpackIcon.setBitmap( "gui/hud_new_packshield" ); +} + +function clientCmdsetSenJamIconOn() +{ + backpackIcon.setBitmap( "gui/hud_new_packsensjam_armed" ); +} + +function clientCmdsetSenJamIconOff() +{ + backpackIcon.setBitmap( "gui/hud_new_packsensjam" ); +} + + +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- +$InventoryHudData[0, bitmapName] = "gui/hud_handgren"; +$InventoryHudData[0, itemDataName] = Grenade; +$InventoryHudData[0, ammoDataName] = Grenade; +$InventoryHudData[0, slot] = 0; +$InventoryHudData[1, bitmapName] = "gui/hud_mine"; +$InventoryHudData[1, itemDataName] = Mine; +$InventoryHudData[1, ammoDataName] = Mine; +$InventoryHudData[1, slot] = 1; +$InventoryHudData[2, bitmapName] = "gui/hud_medpack"; +$InventoryHudData[2, itemDataName] = RepairKit; +$InventoryHudData[2, ammoDataName] = RepairKit; +$InventoryHudData[2, slot] = 3; +$InventoryHudData[3, bitmapName] = "gui/hud_whiteout_gren"; +$InventoryHudData[3, itemDataName] = FlashGrenade; +$InventoryHudData[3, ammoDataName] = FlashGrenade; +$InventoryHudData[3, slot] = 0; +$InventoryHudData[4, bitmapName] = "gui/hud_concuss_gren"; +$InventoryHudData[4, itemDataName] = ConcussionGrenade; +$InventoryHudData[4, ammoDataName] = ConcussionGrenade; +$InventoryHudData[4, slot] = 0; +$InventoryHudData[5, bitmapName] = "gui/hud_handgren"; +$InventoryHudData[5, itemDataName] = FlareGrenade; +$InventoryHudData[5, ammoDataName] = FlareGrenade; +$InventoryHudData[5, slot] = 0; +$InventoryHudData[6, bitmapName] = "gui/hud_handgren"; +$InventoryHudData[6, itemDataName] = CameraGrenade; +$InventoryHudData[6, ammoDataName] = CameraGrenade; +$InventoryHudData[6, slot] = 0; +$InventoryHudData[7, bitmapName] = "gui/hud_beacon"; +$InventoryHudData[7, itemDataName] = Beacon; +$InventoryHudData[7, ammoDataName] = Beacon; +$InventoryHudData[7, slot] = 2; + +// TR2 +$InventoryHudData[8, bitmapName] = "gui/hud_handgren"; +$InventoryHudData[8, itemDataName] = TR2Grenade; +$InventoryHudData[8, ammoDataName] = TR2Grenade; +$InventoryHudData[8, slot] = 0; + +$InventoryHudCount = 9; + + +//---------------------------------------------------------------------------- +// Inventory Hud +//---------------------------------------------------------------------------- +//------------------------------------------------------------------------- --- +function GameConnection::setInventoryHudBitmap(%client, %slot, %name, %bitmap) +{ + commandToClient(%client, 'setInventoryHudBitmap',%slot,%name,%bitmap); +} + +//---------------------------------------------------------------------------- +function clientCmdSetInventoryHudBitmap(%slot, %name, %bitmap) +{ + inventoryHud.setInventoryBitmap(%slot,%bitmap); +} + +//---------------------------------------------------------------------------- +function GameConnection::setInventoryHudItem(%client, %name, %amount, %addItem) +{ + for(%i = 0; %i < $InventoryHudCount; %i++) + if($InventoryHudData[%i, itemDataName] $= %name) + { + if($InventoryHudData[%i, ammoDataName] !$= "") + commandToClient(%client, 'setInventoryHudItem',$InventoryHudData[%i, slot],%amount, %addItem); + else + commandToClient(%client, 'setInventoryHudItem',$InventoryHudData[%i, slot],-1, %addItem); + break; + } +} + +//---------------------------------------------------------------------------- +function clientCmdSetInventoryHudItem(%slot, %amount, %addItem) +{ + if(%addItem) + inventoryHud.addInventory(%slot, %amount); + else + inventoryHud.removeInventory(%slot); +} + +//---------------------------------------------------------------------------- +function GameConnection::setInventoryHudAmount(%client, %name, %amount) +{ + for(%i = 0; %i < $InventoryHudCount; %i++) + if($InventoryHudData[%i, ammoDataName] $= %name) + { + commandToClient(%client, 'setInventoryHudAmount',$InventoryHudData[%i, slot], %amount); + break; + } +} + +//---------------------------------------------------------------------------- +function clientCmdSetInventoryHudAmount(%slot, %amount) +{ + inventoryHud.setAmount(%slot, %amount); +} + +//---------------------------------------------------------------------------- +function GameConnection::setInventoryHudBackGroundBmp(%client, %name) +{ + commandToClient(%client, 'setInventoryHudBackGroundBmp',%name); +} + +//---------------------------------------------------------------------------- +function clientCmdSetInventoryHudBackGroundBmp(%name) +{ + inventoryHud.setBackGroundBitmap(%name); +} + +//---------------------------------------------------------------------------- +function GameConnection::setInventoryHudClearAll(%client) +{ + commandToClient(%client, 'setInventoryHudClearAll'); +} + +//---------------------------------------------------------------------------- +function clientCmdSetInventoryHudClearAll() +{ + inventoryHud.clearAll(); + backpackIcon.setBitmap( "" ); + backpackFrame.setVisible( false ); + backpackText.setValue( "" ); + backpackText.setVisible(false); + backpackFrame.pack = false; +} + +//---------------------------------------------------------------------------- +// MessageHud +function MessageHud::open(%this) +{ + %offset = 6; + + if(%this.isVisible()) + return; + + if(%this.isTeamMsg) + %text = "TEAM:"; + else + %text = "GLOBAL:"; + + MessageHud_Text.setValue(%text); + + %windowPos = "8 " @ ( getWord( outerChatHud.position, 1 ) + getWord( outerChatHud.extent, 1 ) + 1 ); + %windowExt = getWord( OuterChatHud.extent, 0 ) @ " " @ getWord( MessageHud_Frame.extent, 1 ); + + if( MainVoteHud.isVisible() ) + { + %votePos = firstWord( MainVoteHud.position ) @ " " @ ( getWord( OuterChatHud.extent, 1 ) + getWord( messageHud_Frame.extent, 1 ) + 10 ); + MainVoteHud.position = %votePos; + } + + if( voiceCommHud.isVisible() ) + { + %vCommPos = firstWord( voiceCommHud.position ) SPC ( getWord( OuterChatHud.extent, 1 ) + getWord( messageHud_Frame.extent, 1 ) + 18 ); + voiceCommHud.position = %vCommPos; + } + + %textExtent = getWord(MessageHud_Text.extent, 0); + %ctrlExtent = getWord(MessageHud_Frame.extent, 0); + + Canvas.pushDialog(%this); + + messageHud_Frame.position = %windowPos; + messageHud_Frame.extent = %windowExt; + MessageHud_Edit.position = setWord(MessageHud_Edit.position, 0, %textExtent + %offset); + MessageHud_Edit.extent = setWord(MessageHud_Edit.extent, 0, %ctrlExtent - %textExtent - (2 * %offset)); + + %this.setVisible(true); + deactivateKeyboard(); + MessageHud_Edit.makeFirstResponder(true); +} + +//------------------------------------------------------------------------------ +function MessageHud::close(%this) +{ + if(!%this.isVisible()) + return; + + // readjust vote hud if open + if( MainVoteHud.isVisible() ) + { + %tempY = getWord(outerChatHud.position, 1) + getWord(outerChatHud.extent, 1) + 2; + %mainVoteX = firstWord(mainVoteHud.position); + %voteHudPos = %mainVoteX SPC %tempY; + mainVoteHud.position = %voteHudPos; + } + // put voice comm hud back where it was (if it moved) + %vTempY = getWord(outerChatHud.position, 1) + getWord(outerChatHud.extent, 1) + 12; + %mainCommX = firstWord(voiceCommHud.position); + %commHudPos = %mainCommX SPC %vTempY; + voiceCommHud.position = %commHudPos; + + Canvas.popDialog(%this); + %this.setVisible(false); + if ( $enableDirectInput ) + activateKeyboard(); + MessageHud_Edit.setValue(""); +} + +//------------------------------------------------------------------------------ +function MessageHud::toggleState(%this) +{ + if(%this.isVisible()) + %this.close(); + else + %this.open(); +} + +//------------------------------------------------------------------------------ +function MessageHud_Edit::onEscape(%this) +{ + MessageHud.close(); +} + +//------------------------------------------------------------------------------ +function MessageHud_Edit::eval(%this) +{ + %text = trim(%this.getValue()); + if(%text !$= "") + { + if(MessageHud.isTeamMsg) + commandToServer('teamMessageSent', %text); + else + commandToServer('messageSent', %text); + } + + MessageHud.close(); +} + +//------------------------------------------------------------------------------ +// main chat hud +function MainChatHud::onWake( %this ) +{ + // set the chat hud to the users pref + %this.setChatHudLength( $Pref::ChatHudLength ); +} + +// chat hud sizes +$outerChatLenY[1] = 72; +$outerChatLenY[2] = 140; +$outerChatLenY[3] = 200; + +// size for scroll +$chatScrollLenY[1] = 64; +$chatScrollLenY[2] = 128; +$chatScrollLenY[3] = 192; + +//------------------------------------------------------------------------------ +function MainChatHud::setChatHudLength( %this, %length ) +{ + %outerChatLenX = firstWord(outerChatHud.extent); + %chatScrollLenX = firstWord(chatScrollHud.extent); + %OCHextent = %outerChatLenX SPC $outerChatLenY[%length]; + %CSHextent = %chatScrollLenX SPC $chatScrollLenY[%length]; + + outerChatHud.extent = %OCHextent; + chatScrollHud.extent = %CSHextent; + + %totalLines = HudMessageVector.getNumLines(); + %posLines = %length * 4; + %linesOver = ( %totalLines - %posLines ) * 14; + ChatPageDown.position = ( firstWord( outerChatHud.extent ) - 20 ) @ " " @ ( $chatScrollLenY[%length] - 6 ); + + if( ( %linesOver > 0 ) && !%sizeIncrease ) + { + %linesOver = %totalLines - %posLines; + %posAdjust = %linesOver * ChatHud.profile.fontSize + 3; + + %newPos = "0" @ " " @ ( -1 * %posAdjust ); + ChatHud.position = %newPos; + } + else if( %sizeIncrease && ( %linesOver > 0 ) ) + { + %curPos = getWord( ChatHud.position, 1 ); + %newY = %curPos + ( 4 * 14 ); + %newPos = "0 " @ %newY; + ChatHud.position = %newPos; + } + else if( %linesOver <= 0 ) + { + ChatHud.position = "0 0"; + } + + // adjust votehud and voicecommhud to be just beneath chathud + %tempY = getWord(outerChatHud.position, 1) + getWord(outerChatHud.extent, 1) + 2; + %vTempY = %tempY + 10; + %mainVoteX = firstWord(mainVoteHud.position); + %vCommX = firstWord(voiceCommHud.position); + %voteHudPos = %mainVoteX SPC %tempY; + %vCommPos = %vCommX SPC %vTempY; + mainVoteHud.position = %voteHudPos; + voiceCommHud.position = %vCommPos; + ChatHud.resize(firstWord(ChatHud.position), getWord(ChatHud.position, 1), firstWord(ChatHud.extent), getWord(ChatHud.extent, 1)); +} + +//------------------------------------------------------------------------------ +function MainChatHud::nextChatHudLen( %this ) +{ + $pref::chatHudLength++; + if($pref::chatHudLength == 4) + { + $pref::chatHudLength = 1; + %sizeIncrease = false; + ChatPageDown.position = ( firstWord( outerChatHud.extent ) - 20 ) @ " 50"; + } + else + %sizeIncrease = true; + + %outerChatLenX = firstWord(outerChatHud.extent); + %chatScrollLenX = firstWord(chatScrollHud.extent); + %OCHextent = %outerChatLenX SPC $outerChatLenY[$pref::chatHudLength]; + %CSHextent = %chatScrollLenX SPC $chatScrollLenY[$pref::chatHudLength]; + + outerChatHud.extent = %OCHextent; + chatScrollHud.extent = %CSHextent; + + %totalLines = HudMessageVector.getNumLines(); + %posLines = $pref::chatHudLength * 4; + %linesOver = %totalLines - %posLines; + ChatPageDown.position = ( firstWord( outerChatHud.extent ) - 20 ) @ " " @ ( $chatScrollLenY[$pref::chatHudLength] - 6 ); + + if( ( %linesOver > 0 ) && !%sizeIncrease ) + { + %linesOver = %totalLines - %posLines; + %posAdjust = %linesOver * $ShellFontSize; + + %newPos = "0" @ " " @ ( -1 * %posAdjust ); + ChatHud.position = %newPos; + } + else if( %sizeIncrease && ( %linesOver > 0 ) ) + { + %curPos = getWord( ChatHud.position, 1 ); + %newY = %curPos + ( 4 * $ShellFontSize ); + %newPos = "0 " @ %newY; + ChatHud.position = %newPos; + } + else if( %linesOver <= 0 ) + { + ChatHud.position = "0 0"; + } + + // adjust votehud to be just beneath chathud + %tempY = getWord(outerChatHud.position, 1) + getWord(outerChatHud.extent, 1) + 2; + %vTempY = %tempY + 10; + %mainVoteX = firstWord(mainVoteHud.position); + %vCommX = firstWord(voiceCommHud.position); + %voteHudPos = %mainVoteX SPC %tempY; + %vCommPos = %vCommX SPC %vTempY; + mainVoteHud.position = %voteHudPos; + voiceCommHud.position = %vCommPos; + ChatHud.resize(firstWord(ChatHud.position), getWord(ChatHud.position, 1), firstWord(ChatHud.extent), getWord(ChatHud.extent, 1)); +} + +//---------------------------------------------------------------------------- +// MessageHud key handlers +function ToggleMessageHud(%make) +{ + if(%make) + { + MessageHud.isTeamMsg = false; + MessageHud.toggleState(); + } +} + +//------------------------------------------------------------------------------ +function TeamMessageHud(%make) +{ + if(%make) + { + MessageHud.isTeamMsg = true; + MessageHud.toggleState(); + } +} + +//---------------------------------------------------------------------------- +// MessageHud message handlers +function serverCmdTeamMessageSent(%client, %text) +{ + if(strlen(%text) >= $Host::MaxMessageLen) + %text = getSubStr(%text, 0, $Host::MaxMessageLen); + chatMessageTeam(%client, %client.team, '\c3%1: %2', %client.name, %text); +} + +//------------------------------------------------------------------------------ +function serverCmdMessageSent(%client, %text) +{ + if(strlen(%text) >= $Host::MaxMessageLen) + %text = getSubStr(%text, 0, $Host::MaxMessageLen); + chatMessageAll(%client, '\c4%1: %2', %client.name, %text); +} + +//-------------------------------------------------------------------------- +function toggleHuds(%tag) +{ + if($Hud[%tag] && $Hud[%tag].pushed) + hideHud(%tag); + else + showHud(%tag); +} + +//------------------------------------------------------------------------------ + +//modes are standard, pilot, passenger, object, observer +$HudMode = "Observer"; +$HudModeType = "HoverBike"; +$HudModeNode = 0; +function ClientCmdSetHudMode(%mode, %type, %node) +{ + $HudMode = detag(%mode); + $HudModeType = detag(%type); + $HudModeNode = %node; + + clientCmdDisplayHuds(); +} + +//------------------------------------------------------------------------------ +$ControlObjectReticle[AABarrelLarge, bitmap] = "ret_chaingun"; +$ControlObjectReticle[AABarrelLarge, frame] = true; +$ControlObjectReticle[ELFBarrelLarge, bitmap] = "ret_elf"; +$ControlObjectReticle[ELFBarrelLarge, frame] = true; +$ControlObjectReticle[DeployableIndoorBarrel, bitmap] = "ret_blaster"; +$ControlObjectReticle[DeployableIndoorBarrel, frame] = true; +$ControlObjectReticle[MissileBarrelLarge, bitmap] = "ret_missile"; +$ControlObjectReticle[MissileBarrelLarge, frame] = true; +$ControlObjectReticle[MortarBarrelLarge, bitmap] = "ret_mortor"; // mortor? hahaha +$ControlObjectReticle[MortarBarrelLarge, frame] = true; +$ControlObjectReticle[DeployableOutdoorBarrel, bitmap] = "ret_blaster"; +$ControlObjectReticle[DeployableOutdoorBarrel, frame] = true; +$ControlObjectReticle[PlasmaBarrelLarge, bitmap] = "ret_plasma"; +$ControlObjectReticle[PlasmaBarrelLarge, frame] = true; +$ControlObjectReticle[SentryTurretBarrel, bitmap] = "ret_blaster"; +$ControlObjectReticle[SentryTurretBarrel, frame] = true; + +function setControlObjectReticle(%type) +{ + if($ControlObjectReticle[%type, bitmap] !$= "") + { + reticleHud.setBitmap("gui/" @ $ControlObjectReticle[%type, bitmap]); + reticleFrameHud.setVisible($ControlObjectReticle[%type, frame]); + + retCenterHud.setVisible(true); + } + else + retCenterHud.setVisible(false); +} + +function updateActionMaps() +{ + //pop the action maps... + if ( isObject( moveMap ) ) + moveMap.pop(); + if ( isObject( passengerKeys ) ) + passengerKeys.pop(); + if ( isObject( observerBlockMap ) ) + observerBlockMap.pop(); + if ( isObject( observerMap ) ) + observerMap.pop(); + if ( isObject( pickTeamMap ) ) + pickTeamMap.pop(); + if ( isObject( halftimeMap ) ) + halftimeMap.delete(); + + //if (isObject(flyingCameraMove)) + // flyingCameraMove.pop(); + if (isObject(ControlActionMap)) + ControlActionMap.pop(); + + // push the proper map + switch$ ($HudMode) + { + case "Pilot": + passengerKeys.push(); + + case "Passenger": + moveMap.push(); + + case "Object": + moveMap.push(); + ControlActionMap.push(); + + case "Observer": + moveMap.push(); + if ( isObject( observerBlockMap ) ) + observerBlockMap.delete(); + // Create an action map just to block unwanted parts of the move map: + new ActionMap( observerBlockMap ); + observerBlockMap.blockBind( moveMap, jump ); + observerBlockMap.blockBind( moveMap, mouseFire ); + observerBlockMap.blockBind( moveMap, mouseJet ); + observerBlockMap.blockBind( moveMap, toggleZoom ); + observerBlockMap.blockBind( moveMap, setZoomFOV ); + observerBlockMap.push(); + observerMap.push(); + // Make sure that "Spawn" is bound: + if ( observerMap.getBinding( mouseFire ) $= "" ) + observerMap.copyBind( moveMap, mouseFire ); + + case "PickTeam": + //////////////////////// + // pickTeam Keys + ////////////////////// + if( !isObject( pickTeamMap ) ) + new ActionMap( pickTeamMap ); + pickTeamMap.copyBind( moveMap, toggleMessageHud ); + pickTeamMap.push(); + + case "SiegeHalftime": + new ActionMap( halftimeMap ); + halftimeMap.bindCmd( keyboard, escape, "", "escapeFromGame();" ); + halftimeMap.copyBind( moveMap, toggleMessageHud ); + halftimeMap.copyBind( moveMap, teamMessageHud ); + halftimeMap.copyBind( moveMap, activateChatMenuHud ); + halftimeMap.copyBind( moveMap, resizeChatHud ); + halftimeMap.copyBind( moveMap, pageMessageHudUp ); + halftimeMap.copyBind( moveMap, pageMessageHudDown ); + halftimeMap.copyBind( moveMap, voiceCapture ); + halftimeMap.push(); + + //case 'Standard': + default: + moveMap.push(); + } +} + +//------------------------------------------------------------------------------ +function ClientCmdDisplayHuds() +{ + if ( $LaunchMode $= "InteriorView" ) + return; + + // only update action maps if playGui is current content + %content = Canvas.getContent(); + %PlayGuiActive = isObject(%content) && ( %content.getName() $= "PlayGui" ); + if ( %PlayGuiActive ) + updateActionMaps(); + + ammoHud.setVisible(false); + objectiveHud.setVisible(false); + inventoryHud.setVisible(false); + backpackFrame.setVisible(false); + weaponsHud.setVisible(false); + retCenterHud.setVisible(false); + HudClusterBack.setVisible(false); + outerChatHud.setVisible(false); + clockHud.setVisible(false); + controlObjectText.setVisible(false); + siegeHalftimeHud.setVisible(false); + clientCmdToggleDashHud(false); + %hideCursor = true; + + switch$ ($HudMode) + { + case "Pilot": + clientCmdShowVehicleGauges($HudModeType, $HudModeNode); + clientCmdToggleDashHud(true); + objectiveHud.setVisible(true); + dashBoardHud.setposition(0, 0); + retCenterHud.setVisible(true); + HudClusterBack.setVisible(true); + outerChatHud.setVisible(true); + clockHud.setVisible(true); + + case "Passenger": + clientCmdShowVehicleGauges($HudModeType, $HudModeNode); + clientCmdToggleDashHud(true); + objectiveHud.setVisible(true); + dashBoardHud.setPosition(0, 0); + ammoHud.setVisible(true); + objectiveHud.setVisible(true); + inventoryHud.setVisible(true); + weaponsHud.setVisible(true); + if(backpackFrame.pack) + backpackFrame.setVisible(true); + retCenterHud.setVisible(true); + HudClusterBack.setVisible(true); + outerChatHud.setVisible(true); + clockHud.setVisible(true); + + case "Object": + ammoHud.setVisible(true); + HudClusterBack.setVisible(true); + outerChatHud.setVisible(true); + controlObjectText.setVisible(true); + clockHud.setVisible(true); + + setControlObjectReticle($HudModeType); + + case "Observer": + objectiveHud.setVisible(true); + HudClusterBack.setVisible(true); + outerChatHud.setVisible(true); + clockHud.setVisible(true); + + case "SiegeHalftime": + closeHud( "", "", 'scoreScreen' ); + closeHud( "", "", 'inventoryScreen' ); + closeHud( "", "", 'vehicleHud' ); + objectiveHud.setVisible(true); + outerChatHud.setVisible(true); + siegeHalftimeHud.setVisible(true); + %hideCursor = false; + + case "PickTeam": + ammoHud.setVisible(false); + objectiveHud.setVisible(false); + inventoryHud.setVisible(false); + backpackFrame.setVisible(false); + weaponsHud.setVisible(false); + retCenterHud.setVisible(false); + HudClusterBack.setVisible(false); + outerChatHud.setVisible(true); + controlObjectText.setVisible(false); + clockHud.setVisible(false); + + //case 'Standard': + default: + ammoHud.setVisible(true); + objectiveHud.setVisible(true); + inventoryHud.setVisible(true); + weaponsHud.setVisible(true); + if(backpackFrame.pack) + backpackFrame.setVisible(true); + retCenterHud.setVisible(true); + HudClusterBack.setVisible(true); + outerChatHud.setVisible(true); + clockHud.setVisible(true); + + if(voteHud.voting) + mainVoteHud.setVisible(1); + else + mainVoteHud.setVisible(0); + + } + + if ( PlayGui.hideCursor != %hideCursor ) + { + PlayGui.hideCursor = %hideCursor; + if ( %PlayGuiActive ) + Canvas.updateCursorState(); + } +} + +function dashboardHud::onResize(%this, %width, %height) +{ + %currentWidth = getWord(dashboardHud.getPosition(), 0); + %currentHeight = getWord(dashboardHud.getPosition(), 1); + + %screenWidth = getWord(getResolution(), 0); + %screenHeight = getWord(getResolution(), 1); + + switch$ ($HudMode) + { + case "Pilot": + if(%screenHeight <= 480) + { + if($HudModeNode == 0) + { %xVal = 0; %yVal = 339; } + else + { %xVal = 0; %yVal = 320; } + } + else if(%screenHeight <= 600) + { + if($HudModeNode == 0) + { %xVal = 80; %yVal = 455; } + else + { %xVal = 80; %yVal = 440; } + } + else + { + %xVal = (%screenWidth - 640) / 2; + %yVal = (%screenheight - 480) + 360; + } + + case "Passenger": + %xVal = (%screenWidth - 640) / 2; + %yVal = (%screenheight - 480) + 360; + } + + if(%currentWidth != %xVal || %currentHeight != %yVal) + dashBoardHud.setPosition(%xVal, %yVal); +} + +function clientcmdTogglePlayHuds(%val) +{ + ammoHud.setVisible(%val); + objectiveHud.setVisible(%val); + inventoryHud.setVisible(%val); + if(backpackFrame.pack) + backpackFrame.setVisible(%val); + weaponsHud.setVisible(%val); + retCenterHud.setVisible(%val); + HudClusterBack.setVisible(%val); + outerChatHud.setVisible(%val); + clockHud.setVisible(%val); + + if(%val) + { + if(voteHud.voting) + mainVoteHud.setVisible(1); + } + else + mainVoteHud.setVisible(0); +} + +//------------------------------------------------------------------------------ +function toggleCursorHuds(%tag) +{ + if($Hud[%tag] !$= "" && $Hud[%tag].pushed) + { + hideHud(%tag); + clientCmdTogglePlayHuds(true); + } + else + { + showHud(%tag); + clientCmdTogglePlayHuds(false); + } +} + +//------------------------------------------------------------------------------ +function showHud(%tag) +{ + commandToServer('ShowHud', %tag); +} + +//------------------------------------------------------------------------------ +function serverCmdShowHud(%client, %tag) +{ + %tagName = getWord(%tag, 1); + %tag = getWord(%tag, 0); + messageClient(%client, 'OpenHud', "", %tag); + switch$ (%tag) + { + case 'inventoryScreen': + %client.numFavsCount = 0; + inventoryScreen::updateHud(1,%client,%tag); + case 'vehicleHud': + vehicleHud::updateHud(1,%client,%tag); + case 'scoreScreen': + updateScoreHudThread(%client, %tag); + } +} + +//------------------------------------------------------------------------------ +function updateScoreHudThread(%client, %tag) +{ + Game.updateScoreHud(%client, %tag); + cancel(%client.scoreHudThread); + %client.scoreHudThread = schedule(3000, %client, "updateScoreHudThread", %client, %tag); +} + +//------------------------------------------------------------------------------ +function hideHud(%tag) +{ + commandToServer('HideHud', %tag); +} + +//------------------------------------------------------------------------------ +function serverCmdHideHud(%client, %tag) +{ + %tag = getWord(%tag, 0); + messageClient(%client, 'CloseHud', "", %tag); + switch$ (%tag) + { + case 'scoreScreen': + cancel(%client.scoreHudThread); + %client.scoreHudThread = ""; + } +} + +//------------------------------------------------------------------------------ +addMessageCallback('OpenHud', openHud); +addMessageCallback('CloseHud', closeHud); +addMessageCallback('ClearHud', clearHud); +addMessageCallback('SetLineHud', setLineHud); +addMessageCallback('RemoveLineHud', removeLineHud); + +//------------------------------------------------------------------------------ +function openHud(%msgType, %msgString, %tag) +{ + // Vehicle hud can only be pushed on the PlayGui: + if ( %tag $= 'vehicleHud' && Canvas.getContent() != PlayGui.getId() ) + return; + + %tagName = getWord(%tag, 1); + %tag = getWord(%tag, 0); + if($Hud[%tag] $= "") + { + %tagName.loadHud(%tag); + %tagName.setupHud(%tag); + } + Canvas.pushDialog($Hud[%tag]); + $Hud[%tag].pushed = 1; +} + +//------------------------------------------------------------------------------ +function closeHud(%msgType, %msgString, %tag) +{ + %tag = getWord(%tag, 0); + if($Hud[%tag].pushed) + { + $Hud[%tag].setVisible(false); + Canvas.popDialog($Hud[%tag]); + $Hud[%tag].pushed = 0; + } +} + +//------------------------------------------------------------------------------ +function clearHud(%msgType, %msgString, %tag, %a0) +{ + %tag = getWord(%tag, 0); + %startingLine = detag(%a0); + + while ($Hud[%tag].data[%startingLine, 0] !$= "") + { + for(%i = 0; %i < $Hud[%tag].numCol; %i++) + { + //remove and delete the hud line + %obj = $Hud[%tag].data[%startingLine, %i]; + $Hud[%tag].childGui.remove(%obj); + $Hud[%tag].data[%startingLine, %i] = ""; + %obj.delete(); + } + + %startingLine++; + } + + //don't forget to adjust the size accordingly... + if (%tag $= 'scoreScreen') + { + %height = 0; + %guiCtrl = $Hud[%tag].childGui; + + if(isObject(%guiCtrl)) + { + //set the new extent to be the position + extent of the last element... + %height = 0; + if (%guiCtrl.getCount() > 0) + { + %lastCtrl = %guiCtrl.getObject(%guiCtrl.getCount() - 1); + %height = getWord(%lastCtrl.position, 1) + getWord(%lastCtrl.extent, 1); + } + + //now reset the extent + %guiCtrl.resize(getWord(%guiCtrl.position, 0), getWord(%guiCtrl.position, 1), getWord(%guiCtrl.extent, 0), %height); + } + } +} + +//------------------------------------------------------------------------------ +function removeLineHud(%msgType, %msgString, %hudName, %lineNumber, %a0, %a1, %a2, %a3) +{ + %tag = getWord(%hudName, 0); + %lineNum = detag(%lineNumber); + if($Hud[%tag].data[%lineNum,0] !$= "") + for(%i = 0; %i < $Hud[%tag].numCol; %i++) + { + $Hud[%tag].childGui.remove($Hud[%tag].data[%lineNum, %i]); + $Hud[%tag].data[%lineNum, %i] = ""; + } + + //don't forget to adjust the size accordingly... + if (%tag $= 'scoreScreen') + { + %height = 0; + %guiCtrl = $Hud[%tag].childGui; + + //set the new extent to be the position + extent of the last element... + %height = 0; + if (%guiCtrl.getCount() > 0) + { + %lastCtrl = %guiCtrl.getObject(%guiCtrl.getCount() - 1); + %height = getWord(%lastCtrl.position, 1) + getWord(%lastCtrl.extent, 1); + } + + //now reset the extent + %guiCtrl.resize(getWord(%guiCtrl.position, 0), getWord(%guiCtrl.position, 1), getWord(%guiCtrl.extent, 0), %height); + } +} + +//------------------------------------------------------------------------------ +function setLineHud(%msgType, %msgString, %hudName, %lineNumber, %a0, %a1, %a2, %a3, %a4) +{ + %tag = getWord(%hudName, 0); + %lineNum = detag(%lineNumber); + + if(!isObject($Hud[%tag].data[%lineNum, 0])) + { + $Hud[%tag].numCol = addLine(%tag, %lineNum, %a0, %a1, %a2, %a3); + for(%i = 0; %i < $Hud[%tag].numCol; %i++) + $Hud[%tag].childGui.add($Hud[%tag].data[%lineNum, %i]); + } + + for(%i = 0; %i < $Hud[%tag].numCol; %i++) + $Hud[%tag].data[%lineNum, %i].hudSetValue(detag(%a[%i]),detag(%a4)); + + //don't forget to adjust the size accordingly... + if (%tag $= 'scoreScreen') + { + %height = 0; + %guiCtrl = $Hud[%tag].childGui; + + //set the new extent to be the position + extent of the last element... + %height = 0; + if (%guiCtrl.getCount() > 0) + { + %lastCtrl = %guiCtrl.getObject(%guiCtrl.getCount() - 1); + %height = getWord(%lastCtrl.position, 1) + getWord(%lastCtrl.extent, 1); + } + + //now reset the extent + %guiCtrl.resize(getWord(%guiCtrl.position, 0), getWord(%guiCtrl.position, 1), getWord(%guiCtrl.extent, 0), %height); + } +} + +//------------------------------------------------------------------------------ +function GuiButtonCtrl::hudSetValue(%obj, %text) +{ + %obj.setValue(%text); +} + +//------------------------------------------------------------------------------ +function GuiTextCtrl::hudSetValue(%obj, %text) +{ + %obj.setValue(%text); +} + +//------------------------------------------------------------------------------ +function GuiMLTextCtrl::hudSetValue(%obj, %text) +{ + %obj.setValue(%text); +} + +//------------------------------------------------------------------------------ +function GuiPopUpMenuCtrl::hudSetValue(%obj, %text, %textOverFlow) +{ + if(%textOverFlow !$= "") + %text = %text @ %textOverFlow; + %obj.clear(); + %value = getField(%text,0); + %startVal = 1; + if(%value $= "noSelect") + { + %obj.replaceText(false); + %value = getField(%text,1); + %startVal = 2; + } + else + %obj.replaceText(true); + + %obj.setValue(%value); + if(getFieldCount(%text) > 1) + { + %obj.setActive(true); + for(%i = %startVal; %i < getFieldCount(%text); %i++) + %obj.add(getField(%text, %i), %i); + } + else + %obj.setActive(false); +} + +//------------------------------------------------------------------------------ +function ShellTabButton::hudSetValue( %obj, %text ) +{ + %obj.setText( %text ); +} + +//------------------------------------------------------------------------------ +function addLine(%tag, %lineNum, %a0, %a1, %a2, %a3) +{ + %colNum = 0; + if(isObject($Hud[%tag])) + %colNum = $Hud[%tag].addLine(%tag, %lineNum, detag(%a2), detag(%a3)); + return %colNum; +} + +//------------------------------------------------------------------------------ +function INV_Menu::onSelect( %obj, %index, %text ) +{ + %favList = $Hud['inventoryScreen'].data[0, 1].type TAB $Hud['inventoryScreen'].data[0, 1].getValue(); + for ( %i = 1; %i < $Hud['inventoryScreen'].count; %i++ ) + %favList = %favList TAB $Hud['inventoryScreen'].data[%i, 1].type TAB $Hud['inventoryScreen'].data[%i, 1].getValue(); + commandToServer( 'setClientFav', %favList ); +} + +//------------------------------------------------------------------------------ +function INV_ListMenu::onSelect( %obj, %id, %text, %force ) +{ + // Deselect the current tab ( because it was on the OLD list ): + if ( InventoryScreen.selId !$= "" ) + { + $Hud['inventoryScreen'].staticData[0, InventoryScreen.selId].setValue( false ); + InventoryScreen.selId = ""; + } + + $pref::FavCurrentList = %id; + %favListStart = %id * 10; + + // Select the currently selected favorite if it is now visible: + %tab = $pref::FavCurrentSelect - ( $pref::FavCurrentList * 10 ) + 1; + if ( %tab > 0 && %tab < 11 ) + { + InventoryScreen.selId = %tab; + $Hud['inventoryScreen'].staticData[0, %tab].setValue( true ); + } + + %obj.clear(); + %obj.setValue( %text ); + %count = 10; + %list = 0; + for ( %index = 0; $pref::FavNames[%index] !$= ""; %index++ ) + { + if ( %index >= %count - 1 ) + { + if ( %count != %favListStart + 10 ) + %obj.add( "Favorites " @ %index - 8 @ " - " @ %index + 1, %list ); + + %count += 10; + %list++; + } + } + + for ( %i = 0; %i < 10; %i++ ) + { + $Hud['inventoryScreen'].staticData[0, %i + 1].command = "InventoryScreen.onTabSelect(" @ %favListStart + %i @ ");"; + $Hud['inventoryScreen'].staticData[0, %i + 1].setText( strupr( $pref::FavNames[%favListStart + %i] ) ); + } +} + +//------------------------------------------------------------------------------ +function serverCmdSetClientFav(%client, %text) +{ + if ( getWord( getField( %text, 0 ), 0 ) $= armor ) + { + %client.curFavList = %text; + %validList = checkInventory( %client, %text ); + %client.favorites[0] = getField( %text, 1 ); + %armor = getArmorDatablock( %client, $NameToInv[getField( %validList,1 )] ); + %weaponCount = 0; + %packCount = 0; + %grenadeCount = 0; + %mineCount = 0; + %count = 1; + %client.weaponIndex = ""; + %client.packIndex = ""; + %client.grenadeIndex = ""; + %client.mineIndex = ""; + + for(%i = 3; %i < getFieldCount(%validList); %i = %i + 2) + { + %setItem = false; + switch$ (getField(%validList,%i-1)) + { + case weapon: + if(%weaponCount < %armor.maxWeapons) + { + if(!%weaponCount) + %client.weaponIndex = %count; + else + %client.weaponIndex = %client.weaponIndex TAB %count; + %weaponCount++; + %setItem = true; + } + case pack: + if(%packCount < 1) + { + %client.packIndex = %count; + %packCount++; + %setItem = true; + } + case grenade: + if(%grenadeCount < %armor.maxGrenades) + { + if(!%grenadeCount) + %client.grenadeIndex = %count; + else + %client.grenadeIndex = %client.grenadeIndex TAB %count; + %grenadeCount++; + %setItem = true; + } + case mine: + if(%mineCount < %armor.maxMines) + { + if(!%mineCount) + %client.mineIndex = %count; + else + %client.mineIndex = %client.mineIndex TAB %count; + %mineCount++; + %setItem = true; + } + } + if(%setItem) + { + %client.favorites[%count] = getField(%validList, %i); + %count++; + } + } + %client.numFavs = %count; + %client.numFavsCount = 0; + inventoryScreen::updateHud(1, %client, 'inventoryScreen'); + } +} + +//------------------------------------------------------------------------------ +function getCenterPos(%tag) +{ + %TerExtDivX = getWord(PlayGui.extent, 0) / 2; + %TerExtDivY = getWord(PlayGui.extent, 1) / 2; + + %HudExtDivX = getWord($Hud[%tag].extent,0) / 2; + %HudExtDivY = getWord($Hud[%tag].extent,1) / 2; + + %pos = %TerExtDivX - %HudExtDivX @ " " @ %TerExtDivY - %HudExtDivY; + return %pos; +} + +//------------------------------------------------------------------------------ +function hideZoomHud() +{ + ZoomHud.setVisible(false); + ZoomHud.hideThread = 0; +} + +function calcZoomFOV() +{ + if($pref::player::currentFOV == $pref::player::defaultFov / 2) + $pref::player::currentFOV = $pref::player::defaultFov / 5; + else + $pref::player::currentFOV = $pref::player::currentFOV / 2; + + if($pref::player::currentFOV < 4) + $pref::player::currentFOV = $pref::player::defaultFov / 2; + + if(!$ZoomOn) + { + %pos = getZoomCenter($pref::player::defaultFov / $pref::player::currentFOV); + %extent = getZoomExtent($pref::player::defaultFov / $pref::player::currentFOV); + ZoomHud.resize(getWord(%pos, 0), getWord(%pos, 1), getWord(%extent, 0), getWord(%extent, 1)); + if(ZoomHud.hideThread != 0) + cancel(ZoomHud.hideThread); + ZoomHud.hideThread = schedule(5000, 0, hideZoomHud); + ZoomHud.setVisible(true); + } + else + setFov( $pref::player::currentFOV ); +} + +//------------------------------------------------------------------------------ +function getZoomCenter(%power) +{ + %power += (%power/4); + %TerExtDivX = mFloor(getWord(PlayGui.extent, 0) / 2); + %TerExtDivY = mFloor(getWord(PlayGui.extent, 1) / 2); + + %HudExtDivX = mFloor((getWord(PlayGui.extent, 0) / %power)/2); + %HudExtDivY = mFloor((getWord(PlayGui.extent, 1) / %power)/2); + + %pos = %TerExtDivX - %HudExtDivX @ " " @ %TerExtDivY - %HudExtDivY; + return %pos; +} + +//------------------------------------------------------------------------------ +function getZoomExtent(%power) +{ + %power += (%power/4); + %HudExtDivX = mFloor(getWord(PlayGui.extent, 0) / %power); + %HudExtDivY = mFloor(getWord(PlayGui.extent, 1) / %power); + + %val = %HudExtDivX @ " " @ %HudExtDivY; + + return %val; +} + +//------------------------------------------------------------------------------ +function hideAllHuds() +{ + objectiveHud.setVisible( false ); + outerChatHud.setVisible( false ); + energyHud.setVisible( false ); + damageHud.setVisible( false ); + sensorHudBack.setVisible( false ); + controlObjectText.setVisible( false ); +} + +//------------------------------------------------------------------------------ +function restoreAllHuds() +{ + objectiveHud.setVisible( true ); + outerChatHud.setVisible( true ); + energyHud.setVisible( true ); + damageHud.setVisible( true ); + sensorHudBack.setVisible( true ); +} + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +// voting hud stuff +///////////////////////////////////////////////// +addMessageCallback('clearVoteHud', clearVoteHud); +addMessageCallback('addYesVote', addYesVote); +addMessageCallback('addNoVote', addNoVote); +addMessageCallback('openVoteHud', openVoteHud); +addMessageCallback('closeVoteHud', closeVoteHud); +addMessageCallback('VoteStarted', initVote); + +//------------------------------------------------------------------------------ +function initVote(%msgType, %msgString) +{ + if(!$BottomPrintActive) + { + %yBind = strUpr(getField(moveMap.getBinding(voteYes), 1)); + %nBind = strUpr(getField(moveMap.getBinding(voteNo), 1)); + + %message = detag(%msgString) @ "\nPress " @ %yBind @ " to vote YES or " @ %nBind @ " to vote NO."; + clientCmdBottomPrint(%message, 10, 2); + } +} + +function openVoteHud(%msgType, %msgString, %numClients, %passPercent) +{ + alxPlay(VoteInitiatedSound, 0, 0, 0); + voteHud.voting = true; + + voteHud.totalVotes = 0; + voteHud.size = %numClients; + voteHud.quorum = (%numClients / 2); + + if(voteHud.quorum < 1) + voteHud.quorum = 1; + + voteHud.pass = voteHud.quorum * %passPercent; + + voteHud.setPassValue(%passPercent); + passHash.position = firstWord( mainVoteHud.extent) * %passPercent + 1 @ " -1"; + + if( MessageHud.isVisible() ) + { + %votePos = firstWord( MainVoteHud.position ) @ " " @ ( getWord( OuterChatHud.extent, 1 ) + getWord( messageHud_Frame.extent, 1 ) + 12 ); + MainVoteHud.position = %votePos; + } + else + { + %tempY = getWord(outerChatHud.position, 1) + getWord(outerChatHud.extent, 1) + 2; + %mainVoteX = firstWord(mainVoteHud.position); + %voteHudPos = %mainVoteX SPC %tempY; + mainVoteHud.position = %voteHudPos; + } + + voteHud.setVisible(true); + mainVoteHud.setVisible(true); +} + +function stripBind(%string) +{ + return getSubstr(%string, 9, 90); +} + +//------------------------------------------------------------------------------ +function CloseVoteHud(%msgType, %msgString) +{ + voteHud.setVisible(false); + mainVoteHud.setVisible(false); + voteHud.yesCount = 0; + voteHud.noCount = 0; + voteHud.voting = false; +} + +//------------------------------------------------------------------------------ +function addYesVote(%msgType, %msgString) +{ + voteHud.yesCount++; + voteHud.totalVotes++; + + if(voteHud.isVisible()) + { + voteHud.setYesValue(voteHud.yesCount / voteHud.size); + } +} + +//------------------------------------------------------------------------------ +function addNoVote(%msgType, %msgString) +{ + voteHud.noCount++; + voteHud.totalVotes++; + + if(voteHud.isVisible()) + voteHud.setNoValue(voteHud.noCount / voteHud.size); +} + +//------------------------------------------------------------------------------ +function clearVoteHud(%msgType, %msgString) +{ + voteHud.setYesValue(0.0); + voteHud.setNoValue(0.0); +} + +//------------------------------------------------------------------------------ +function cleanUpHuds() +{ + if($Hud['inventoryScreen'] !$= "") + { + for(%lineNum = 0; $Hud['inventoryScreen'].data[%lineNum, 0] !$= ""; %lineNum++) + for(%i = 0; %i < $Hud['inventoryScreen'].numCol; %i++) + { + $Hud['inventoryScreen'].childGui.remove($Hud['inventoryScreen'].data[%lineNum, %i]); + $Hud['inventoryScreen'].data[%lineNum, %i] = ""; + } + } +} + +function displayObserverHud(%client, %targetClient, %potentialClient) +{ + if (%targetClient > 0) + bottomPrint(%client, "\nYou are now observing: " @ getTaggedString(%targetClient.name), 0, 3); + else if (%potentialClient > 0) + bottomPrint(%client, "\nObserver Fly Mode\n" @ getTaggedString(%potentialClient.name), 0, 3); + else + bottomPrint(%client, "\nObserver Fly Mode", 0, 3); +} + +function hudFirstPersonToggled() +{ + ammoHud.setVisible($firstPerson); +} + +$testCount = 0; + +function testChatHud() +{ + $testCount++; + messageAll( '', "This is test number " @ $testCount ); + $tester = schedule( 50, 0, "testChatHud"); +} + +//------------------------------------------------------------------------- +function HudNetDisplay::getPrefs(%this) +{ + for(%i = 0; %i < 6; %i++) + %this.renderField[%i] = ($pref::Net::graphFields >> %i) & 1; +} + +function NetBarHud::infoUpdate(%this, %ping, %packetLoss, %sendPackets, %sendBytes, %receivePackets, %receiveBytes) +{ + NetBarHudPingText.setText(mFormatFloat(%ping, "%4.0f") @ "ms"); + NetBarHudPacketLossText.setText(mFormatFloat(%packetLoss, "%3.0f") @ "%"); + + NetBarHudSendBar.value = %sendPackets / $pref::Net::PacketRateToServer; + NetBarHudReceiveBar.value = %receivePackets / $pref::Net::PacketRateToClient; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/icePropMap.cs b/public/base/@vl2/scripts.vl2/scripts/icePropMap.cs new file mode 100644 index 00000000..510c68df --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/icePropMap.cs @@ -0,0 +1,15 @@ +//-------------------------------------- Desert interior texture property mapping + +addMaterialMapping("ice/sw_ichute01", "environment: special/chuteTexture 0.25"); +addMaterialMapping("ice/sw_ichute02", "environment: special/chuteTexture 0.25"); + +//"Color: red green blue startAlpha endAlpha" +//Soft sound = 0 +//Hard sound = 1 +//Metal sound = 2 +//Snow sound = 3 +addMaterialMapping("terrain/IceWorld.Ice", "color: 0.9 0.9 0.9 0.4 0.0", "sound: 3"); +addMaterialMapping("terrain/IceWorld.RockBlue", "color: 0.9 0.9 0.9 0.4 0.0", "sound: 3"); +addMaterialMapping("terrain/IceWorld.Snow", "color: 0.9 0.9 0.9 0.4 0.0", "sound: 3"); +addMaterialMapping("terrain/IceWorld.SnowIce", "color: 0.9 0.9 0.9 0.4 0.0", "sound: 3"); +addMaterialMapping("terrain/IceWorld.SnowRock", "color: 0.9 0.9 0.9 0.4 0.0", "sound: 3"); diff --git a/public/base/@vl2/scripts.vl2/scripts/inventory.cs b/public/base/@vl2/scripts.vl2/scripts/inventory.cs new file mode 100644 index 00000000..626c3df8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/inventory.cs @@ -0,0 +1,567 @@ +//---------------------------------------------------------------------------- + +// Item Datablocks +// image = Name of mounted image datablock +// onUse(%this,%object) + +// Item Image Datablocks +// item = Name of item inventory datablock + +// ShapeBase Datablocks +// max[Item] = Maximum amount that can be caried + +// ShapeBase Objects +// inv[Item] = Count of item in inventory +//---------------------------------------------------------------------------- + +$TestCheats = 0; + +function serverCmdUse(%client,%data) +{ + // Item names from the client must converted + // into DataBlocks + // %data = ItemDataBlock[%item]; + + %client.getControlObject().use(%data); +} + +function serverCmdThrow(%client,%data) +{ + // Item names from the client must converted + // into DataBlocks + // %data = ItemDataBlock[%item]; + %client.getControlObject().throw(%data); +} + +function serverCmdThrowWeapon(%client,%data) +{ + // Item names from the client must converted + // into DataBlocks + // %data = ItemDataBlock[%item]; + %client.getControlObject().throwWeapon(); +} + +function serverCmdThrowPack(%client,%data) +{ + %client.getControlObject().throwPack(); +} + +function serverCmdTogglePack(%client,%data) +{ + // this function is apparently never called + %client.getControlObject().togglePack(); +} + +function serverCmdThrowFlag(%client) +{ + //Game.playerDroppedFlag(%client.player); + Game.dropFlag(%client.player); +} + +function serverCmdSelectWeaponSlot( %client, %data ) +{ + %client.getControlObject().selectWeaponSlot( %data ); +} + +function serverCmdCycleWeapon( %client, %data ) +{ + %client.getControlObject().cycleWeapon( %data ); +} + +function serverCmdStartThrowCount(%client, %data) +{ + %client.player.throwStart = getSimTime(); +} + +function serverCmdEndThrowCount(%client, %data) +{ + if(%client.player.throwStart == 0) + return; + + // throwStrength will be how many seconds the key was held + %throwStrength = (getSimTime() - %client.player.throwStart) / 150; + // trim the time to fit between 0.5 and 1.5 + if(%throwStrength > 1.5) + %throwStrength = 1.5; + else if(%throwStrength < 0.5) + %throwStrength = 0.5; + + %throwScale = %throwStrength / 2; + %client.player.throwStrength = %throwScale; + + %client.player.throwStart = 0; +} + +//---------------------------------------------------------------------------- + +function ShapeBase::throwWeapon(%this) +{ + if(Game.shapeThrowWeapon(%this)) { + %image = %this.getMountedImage($WeaponSlot); + %this.throw(%image.item); + %this.client.setWeaponsHudItem(%image.item, 0, 0); + } +} + +function ShapeBase::throwPack(%this) +{ + %image = %this.getMountedImage($BackpackSlot); + %this.throw(%image.item); + %this.client.setBackpackHudItem(%image.item, 0); +} + +function ShapeBase::throw(%this,%data) +{ + if(!isObject(%data)) + return false; + + if (%this.inv[%data.getName()] > 0) { + + // save off the ammo count on this item + if( %this.getInventory( %data ) < $AmmoIncrement[%data.getName()] ) + %data.ammoStore = %this.getInventory( %data ); + else + %data.ammoStore = $AmmoIncrement[%data.getName()]; + + // Throw item first... + %this.throwItem(%data); + if($AmmoIncrement[%data.getName()] !$= "") + %this.decInventory(%data,$AmmoIncrement[%data.getName()]); + else + %this.decInventory(%data,1); + return true; + } + return false; +} + +function ShapeBase::use(%this, %data) +{ + //if(%data.class $= "Weapon") { + // error("ShapeBase::use " @ %data); + //} + if(%data $= Grenade) + { + // figure out which grenade type you're using + for(%x = 0; $InvGrenade[%x] !$= ""; %x++) { + if(%this.inv[$NameToInv[$InvGrenade[%x]]] > 0) + { + %data = $NameToInv[$InvGrenade[%x]]; + break; + } + } + } + else if(%data $= "Backpack") { + %pack = %this.getMountedImage($BackpackSlot); + // if you don't have a pack but have placed a satchel charge, detonate it + if(!%pack && (%this.thrownChargeId > 0) && %this.thrownChargeId.armed ) + { + %this.playAudio( 0, SatchelChargeExplosionSound ); + schedule( 800, %this, "detonateSatchelCharge", %this ); + return true; + } + return false; + } + else if(%data $= Beacon) + { + %data.onUse(%this); + if (%this.inv[%data.getName()] > 0) + return true; + } + + // default case + if (%this.inv[%data.getName()] > 0) { + %data.onUse(%this); + return true; + } + return false; +} + +function ShapeBase::pickup(%this,%obj,%amount) +{ + %data = %obj.getDatablock(); + %delta = %this.incInventory(%data,%amount); + + if (%delta) + %data.onPickup(%obj,%this,%delta); + return %delta; +} + +function ShapeBase::hasInventory(%this, %data) +{ + // changed because it was preventing weapons cycling correctly (MES) + return (%this.inv[%data] > 0); +} + +function ShapeBase::maxInventory(%this,%data) +{ + if($TestCheats) + return 999; + else + return %this.getDatablock().max[%data.getName()]; +} + +function ShapeBase::incInventory(%this,%data,%amount) +{ + %max = %this.maxInventory(%data); + %cv = %this.inv[%data.getName()]; + if (%cv < %max) { + if (%cv + %amount > %max) + %amount = %max - %cv; + %this.setInventory(%data,%cv + %amount); + %data.incCatagory(%this); // Inc the players weapon count + return %amount; + } + return 0; +} + +function ShapeBase::decInventory(%this,%data,%amount) +{ + %name = %data.getName(); + %cv = %this.inv[%name]; + if (%cv > 0) { + if (%cv < %amount) + %amount = %cv; + %this.setInventory(%data,%cv - %amount, true); + %data.decCatagory(%this); // Dec the players weapon count + return %amount; + } + return 0; +} + +function SimObject::decCatagory(%this) +{ + //function was added to reduce console err msg spam +} + +function SimObject::incCatagory(%this) +{ + //function was added to reduce console err msg spam +} + +function ShapeBase::setInventory(%this,%data,%value,%force) +{ + if (!isObject(%data)) + return; + + %name = %data.getName(); + if (%value < 0) + %value = 0; + else + { + if (!%force) + { + // Impose inventory limits + %max = %this.maxInventory(%data); + if (%value > %max) + %value = %max; + } + } + if (%this.inv[%name] != %value) + { + %this.inv[%name] = %value; + %data.onInventory(%this,%value); + + if ( %data.className $= "Weapon" ) + { + if ( %this.weaponSlotCount $= "" ) + %this.weaponSlotCount = 0; + + %cur = -1; + for ( %slot = 0; %slot < %this.weaponSlotCount; %slot++ ) + { + if ( %this.weaponSlot[%slot] $= %name ) + { + %cur = %slot; + break; + } + } + + if ( %cur == -1 ) + { + // Put this weapon in the next weapon slot: + if ( %this.weaponSlot[%this.weaponSlotCount - 1] $= "TargetingLaser" ) + { + %this.weaponSlot[%this.weaponSlotCount - 1] = %name; + %this.weaponSlot[%this.weaponSlotCount] = "TargetingLaser"; + } + else + %this.weaponSlot[%this.weaponSlotCount] = %name; + %this.weaponSlotCount++; + } + else + { + // Remove the weapon from the weapon slot: + for ( %i = %cur; %i < %this.weaponSlotCount - 1; %i++ ) + %this.weaponSlot[%i] = %this.weaponSlot[%i + 1]; + %this.weaponSlot[%i] = ""; + %this.weaponSlotCount--; + } + } + + %this.getDataBlock().onInventory(%data,%value); + } + return %value; +} + +function ShapeBase::getInventory(%this,%data) +{ + if ( isObject( %data ) ) + return( %this.inv[%data.getName()] ); + else + return( 0 ); +} + +// z0dd - ZOD, 9/13/02. Streamlined. +function ShapeBase::hasAmmo( %this, %weapon ) +{ + if(%weapon $= LaserRifle) + return( %this.getInventory( EnergyPack ) ); + + if (%weapon.image.ammo $= "") + { + if (%weapon $= TargetingLaser) + { + return( false ); + } + else + { + return( true ); + } + } + else + { + return( %this.getInventory( %weapon.image.ammo ) > 0 ); + } +} + +function SimObject::onInventory(%this, %obj) +{ + //function was added to reduce console error msg spam +} + +function ShapeBase::throwItem(%this,%data) +{ + %item = new Item() { + dataBlock = %data; + rotation = "0 0 1 " @ (getRandom() * 360); + }; + + %item.ammoStore = %data.ammoStore; + MissionCleanup.add(%item); + %this.throwObject(%item); +} + +function ShapeBase::throwObject(%this,%obj) +{ + //------------------------------------------- + // z0dd - ZOD, 5/27/02. Fixes flags hovering + // over friendly player when collision occurs + if(%obj.getDataBlock().getName() $= "Flag") + %obj.static = false; + //------------------------------------------- + + //if the object is being thrown by a corpse, use a random vector + if (%this.getState() $= "Dead") + { + %vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom(); + %vec = vectorScale(%vec, 10); + } + + // else Initial vel based on the dir the player is looking + else + { + %eye = %this.getEyeVector(); + %vec = vectorScale(%eye, 20); + } + + // Add a vertical component to give the item a better arc + %dot = vectorDot("0 0 1",%eye); + if (%dot < 0) + %dot = -%dot; + %vec = vectorAdd(%vec,vectorScale("0 0 8",1 - %dot)); + + // Add player's velocity + %vec = vectorAdd(%vec,%this.getVelocity()); + %pos = getBoxCenter(%this.getWorldBox()); + + //since flags have a huge mass (so when you shoot them, they don't bounce too far) + //we need to up the %vec so that you can still throw them... + if (%obj.getDataBlock().getName() $= "Flag") + %vec = vectorScale(%vec, 40); + + // + %obj.setTransform(%pos); + %obj.applyImpulse(%pos,%vec); + %obj.setCollisionTimeout(%this); + %data = %obj.getDatablock(); + %data.onThrow(%obj,%this); + + //call the AI hook + AIThrowObject(%obj); +} + +function ShapeBase::clearInventory(%this) +{ + %this.setInventory(RepairKit,0); + + %this.setInventory(Mine,0); + //%this.setInventory(MineAir,0); + //%this.setInventory(MineLand,0); + //%this.setInventory(MineSticky,0); + + %this.setInventory(Grenade,0); + %this.setInventory(FlashGrenade,0); + %this.setInventory(ConcussionGrenade,0); + %this.setInventory(FlareGrenade,0); + %this.setInventory(CameraGrenade, 0); + + %this.setInventory(Blaster,0); + %this.setInventory(Plasma,0); + %this.setInventory(Disc,0); + %this.setInventory(Chaingun, 0); + %this.setInventory(Mortar, 0); + %this.setInventory(GrenadeLauncher, 0); + %this.setInventory(MissileLauncher, 0); + %this.setInventory(SniperRifle, 0); + %this.setInventory(TargetingLaser, 0); + %this.setInventory(ELFGun, 0); + %this.setInventory(ShockLance, 0); + + %this.setInventory(PlasmaAmmo,0); + %this.setInventory(ChaingunAmmo, 0); + %this.setInventory(DiscAmmo, 0); + %this.setInventory(GrenadeLauncherAmmo, 0); + %this.setInventory(MissileLauncherAmmo, 0); + %this.setInventory(MortarAmmo, 0); + %this.setInventory(Beacon, 0); + + // take away any pack the player has + %curPack = %this.getMountedImage($BackpackSlot); + if(%curPack > 0) + %this.setInventory(%curPack.item, 0); + +} + +//---------------------------------------------------------------------------- +function ShapeBase::cycleWeapon( %this, %data ) +{ + if ( %this.weaponSlotCount == 0 ) + return; + + %slot = -1; + if ( %this.getMountedImage($WeaponSlot) != 0 ) + { + %curWeapon = %this.getMountedImage($WeaponSlot).item.getName(); + for ( %i = 0; %i < %this.weaponSlotCount; %i++ ) + { + //error("curWeaponName == " @ %curWeaponName); + if ( %curWeapon $= %this.weaponSlot[%i] ) + { + %slot = %i; + break; + } + } + } + + if ( %data $= "prev" ) + { + // Previous weapon... + if ( %slot == 0 || %slot == -1 ) + { + %i = %this.weaponSlotCount - 1; + %slot = 0; + } + else + %i = %slot - 1; + } + else + { + // Next weapon... + if ( %slot == ( %this.weaponSlotCount - 1 ) || %slot == -1 ) + { + %i = 0; + %slot = ( %this.weaponSlotCount - 1 ); + } + else + %i = %slot + 1; + } + + %newSlot = -1; + while ( %i != %slot ) + { + if ( %this.weaponSlot[%i] !$= "" + && %this.hasInventory( %this.weaponSlot[%i] ) + && %this.hasAmmo( %this.weaponSlot[%i] ) ) + { + // player has this weapon and it has ammo or doesn't need ammo + %newSlot = %i; + break; + } + + if ( %data $= "prev" ) + { + if ( %i == 0 ) + %i = %this.weaponSlotCount - 1; + else + %i--; + } + else + { + if ( %i == ( %this.weaponSlotCount - 1 ) ) + %i = 0; + else + %i++; + } + } + + if ( %newSlot != -1 ) + %this.use( %this.weaponSlot[%newSlot] ); +} + +//---------------------------------------------------------------------------- +function ShapeBase::selectWeaponSlot( %this, %data ) +{ + if ( %data < 0 || %data > %this.weaponSlotCount + || %this.weaponSlot[%data] $= "" || %this.weaponSlot[%data] $= "TargetingLaser" ) + return; + + %this.use( %this.weaponSlot[%data] ); +} + +//---------------------------------------------------------------------------- + +function serverCmdGiveAll(%client) +{ + if($TestCheats) + { + %player = %client.player; + %player.setInventory(RepairKit,999); + %player.setInventory(Mine,999); + //%player.setInventory(MineAir,999); + //%player.setInventory(MineLand,999); + //%player.setInventory(MineSticky,999); + %player.setInventory(Grenade,999); + %player.setInventory(FlashGrenade,999); + %player.setInventory(FlareGrenade,999); + %player.setInventory(ConcussionGrenade,999); + %player.setInventory(CameraGrenade, 999); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(Disc,1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(SniperRifle, 1); + %player.setInventory(ELFGun, 1); + %player.setInventory(Mortar, 1); + %player.setInventory(MissileLauncher, 1); + %player.setInventory(ShockLance, 1); + %player.setInventory(TargetingLaser, 1); + %player.setInventory(MissileLauncherAmmo, 999); + %player.setInventory(GrenadeLauncherAmmo, 999); + %player.setInventory(MortarAmmo, 999); + %player.setInventory(PlasmaAmmo,999); + %player.setInventory(ChaingunAmmo, 999); + %player.setInventory(DiscAmmo, 999); + %player.setInventory(Beacon, 999); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/inventoryHud.cs b/public/base/@vl2/scripts.vl2/scripts/inventoryHud.cs new file mode 100644 index 00000000..fbd0df38 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/inventoryHud.cs @@ -0,0 +1,1100 @@ +//------------------------------------------------------------------------------ +function setUpFavPrefs() +{ + if($pref::FavCurrentSelect $= "") + $pref::FavCurrentSelect = 0; + for(%i = 0; %i < 10; %i++) + { + if($pref::FavNames[%i] $= "") + $pref::FavNames[%i] = "Favorite " @ %i + 1; + if($pref::Favorite[%i] $= "") + $pref::Favorite[%i] = "armor\tLight Armor"; + } + if($pref::FavCurrentList $= "") + $pref::FavCurrentList = 0; +} + +$FavCurrent = 0; +setUpFavPrefs(); + +$InvArmor[0] = "Scout"; +$InvArmor[1] = "Assault"; +$InvArmor[2] = "Juggernaut"; + +$NameToInv["Scout"] = "Light"; +$NameToInv["Assault"] = "Medium"; +$NameToInv["Juggernaut"] = "Heavy"; + + +$InvWeapon[0] = "Blaster"; +$InvWeapon[1] = "Plasma Rifle"; +$InvWeapon[2] = "Chaingun"; +$InvWeapon[3] = "Spinfusor"; +$InvWeapon[4] = "Grenade Launcher"; +$InvWeapon[5] = "Laser Rifle"; +$InvWeapon[6] = "ELF Projector"; +$InvWeapon[7] = "Fusion Mortar"; +$InvWeapon[8] = "Missile Launcher"; +$InvWeapon[9] = "Shocklance"; +//$InvWeapon[10] = "Targeting Laser"; +// AO +$InvWeapon[10] = "TR2 Spinfusor"; +$InvWeapon[11] = "TR2 Grenade Launcher"; +$InvWeapon[12] = "TR2 Chaingun"; +$InvWeapon[13] = "TR2 Shocklance"; +$InvWeapon[14] = "TR2 Mortar"; +// END AO + +$NameToInv["Blaster"] = "Blaster"; +$NameToInv["Plasma Rifle"] = "Plasma"; +$NameToInv["Chaingun"] = "Chaingun"; +$NameToInv["Spinfusor"] = "Disc"; +$NameToInv["Grenade Launcher"] = "GrenadeLauncher"; +$NameToInv["Laser Rifle"] = "SniperRifle"; +$NameToInv["ELF Projector"] = "ELFGun"; +$NameToInv["Fusion Mortar"] = "Mortar"; +$NameToInv["Missile Launcher"] = "MissileLauncher"; +$NameToInv["Shocklance"] = "ShockLance"; +//$NameToInv["Targeting Laser"] = "TargetingLaser"; +// AO +$NameToInv["TR2 Spinfusor"] = "TR2Disc"; +$NameToInv["TR2 Grenade Launcher"] = "TR2GrenadeLauncher"; +$NameToInv["TR2 Chaingun"] = "TR2Chaingun"; +$NameToInv["TR2 Energy Pack"] = "TR2EnergyPack"; +$NameToInv["TR2 Shocklance"] = "TR2Shocklance"; +$NameToInv["TR2 Mortar"] = "TR2Mortar"; +// END AO + + +$InvPack[0] = "Energy Pack"; +$InvPack[1] = "Repair Pack"; +$InvPack[2] = "Shield Pack"; +$InvPack[3] = "Cloak Pack"; +$InvPack[4] = "Sensor Jammer Pack"; +$InvPack[5] = "Ammunition Pack"; +$InvPack[6] = "Satchel Charge"; +$InvPack[7] = "Motion Sensor Pack"; +$InvPack[8] = "Pulse Sensor Pack"; +$InvPack[9] = "Inventory Station"; +$InvPack[10] = "Landspike Turret"; +$InvPack[11] = "Spider Clamp Turret"; +$InvPack[12] = "ELF Turret Barrel"; +$InvPack[13] = "Mortar Turret Barrel"; +$InvPack[14] = "Plasma Turret Barrel"; +$InvPack[15] = "AA Turret Barrel"; +$InvPack[16] = "Missile Turret Barrel"; +// TR2 +$InvPack[17] = "TR2 Energy Pack"; + +// non-team mission pack choices (DM, Hunters, Rabbit) + +$NTInvPack[0] = "Energy Pack"; +$NTInvPack[1] = "Repair Pack"; +$NTInvPack[2] = "Shield Pack"; +$NTInvPack[3] = "Cloak Pack"; +$NTInvPack[4] = "Sensor Jammer Pack"; +$NTInvPack[5] = "Ammunition Pack"; +$NTInvPack[6] = "Satchel Charge"; +$NTInvPack[7] = "Motion Sensor Pack"; +$NTInvPack[8] = "Pulse Sensor Pack"; +$NTInvPack[9] = "Inventory Station"; + +// TR2 +$NTInvPack[17] = "TR2 Energy Pack"; + +$NameToInv["Energy Pack"] = "EnergyPack"; +$NameToInv["Repair Pack"] = "RepairPack"; +$NameToInv["Shield Pack"] = "ShieldPack"; +$NameToInv["Cloak Pack"] = "CloakingPack"; +$NameToInv["Sensor Jammer Pack"] = "SensorJammerPack"; +$NameToInv["Ammunition Pack"] = "AmmoPack"; +$NameToInv["Satchel Charge"] = "SatchelCharge"; +$NameToInv["Motion Sensor Pack"] = "MotionSensorDeployable"; +$NameToInv["Pulse Sensor Pack"] = "PulseSensorDeployable"; +$NameToInv["Inventory Station"] = "InventoryDeployable"; +$NameToInv["Landspike Turret"] = "TurretOutdoorDeployable"; +$NameToInv["Spider Clamp Turret"] = "TurretIndoorDeployable"; +$NameToInv["ELF Turret Barrel"] = "ELFBarrelPack"; +$NameToInv["Mortar Turret Barrel"] = "MortarBarrelPack"; +$NameToInv["Plasma Turret Barrel"] = "PlasmaBarrelPack"; +$NameToInv["AA Turret Barrel"] = "AABarrelPack"; +$NameToInv["Missile Turret Barrel"] = "MissileBarrelPack"; + + +$InvGrenade[0] = "Grenade"; +$InvGrenade[1] = "Whiteout Grenade"; +$InvGrenade[2] = "Concussion Grenade"; +$InvGrenade[3] = "Flare Grenade"; +$InvGrenade[4] = "Deployable Camera"; + +$NameToInv["Grenade"] = "Grenade"; +$NameToInv["Whiteout Grenade"] = "FlashGrenade"; +$NameToInv["Concussion Grenade"] = "ConcussionGrenade"; +$NameToInv["Flare Grenade"] = "FlareGrenade"; +$NameToInv["Deployable Camera"] = "CameraGrenade"; + +// TR2 +$InvGrenade[5] = "TR2Grenade"; +$NameToInv["TR2Grenade"] = "TR2Grenade"; + + +$InvMine[0] = "Mine"; + +$NameToInv["Mine"] = "Mine"; + +//$InvBanList[DeployInv, "ElfBarrelPack"] = 1; +//$InvBanList[DeployInv, "MortarBarrelPack"] = 1; +//$InvBanList[DeployInv, "PlasmaBarrelPack"] = 1; +//$InvBanList[DeployInv, "AABarrelPack"] = 1; +//$InvBanList[DeployInv, "MissileBarrelPack"] = 1; +$InvBanList[DeployInv, "InventoryDeployable"] = 1; + +//------------------------------------------------------------------------------ +function InventoryScreen::loadHud( %this, %tag ) +{ + $Hud[%tag] = InventoryScreen; + $Hud[%tag].childGui = INV_Root; + $Hud[%tag].parent = INV_Root; +} + +//------------------------------------------------------------------------------ +function InventoryScreen::setupHud( %this, %tag ) +{ + %favListStart = $pref::FavCurrentList * 10; + %this.selId = $pref::FavCurrentSelect - %favListStart + 1; + + // Add the list menu: + $Hud[%tag].staticData[0, 0] = new ShellPopupMenu(INV_ListMenu) + { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 313"; + extent = "170 36"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + maxPopupHeight = "220"; + text = ""; + }; + + // Add favorite tabs: + for( %i = 0; %i < 10; %i++ ) + { + %yOffset = ( %i * 30 ) + 10; + $Hud[%tag].staticData[0, %i + 1] = new ShellTabButton() { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 " @ %yOffset; + extent = "206 38"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + command = "InventoryScreen.onTabSelect(" @ %favListStart + %i @ ");"; + text = strupr( $pref::FavNames[%favListStart + %i] ); + }; + $Hud[%tag].staticData[0, %i + 1].setValue( ( %favListStart + %i ) == $pref::FavCurrentSelect ); + + $Hud[%tag].parent.add( $Hud[%tag].staticData[0, %i + 1] ); + } + + %text = "Favorites " @ %favListStart + 1 SPC "-" SPC %favListStart + 10; + $Hud[%tag].staticData[0, 0].onSelect( $pref::FavCurrentList, %text, true ); + + $Hud[%tag].parent.add( $Hud[%tag].staticData[0, 0] ); + + // Add the SAVE button: + $Hud[%tag].staticData[1, 0] = new ShellBitmapButton() + { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "409 295"; + extent = "75 38"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + command = "saveFavorite();"; + text = "SAVE"; + }; + + // Add the name edit control: + $Hud[%tag].staticData[1, 1] = new ShellTextEditCtrl() + { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 295"; + extent = "196 38"; + minExtent = "8 8"; + visible = "1"; + altCommand = "saveFavorite()"; + setFirstResponder = "1"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "16"; + }; + + $Hud[%tag].staticData[1, 1].setValue( $pref::FavNames[$pref::FavCurrentSelect] ); + + $Hud[%tag].parent.add( $Hud[%tag].staticData[1, 0] ); + $Hud[%tag].parent.add( $Hud[%tag].staticData[1, 1] ); +} + +//------------------------------------------------------------------------------ +function InventoryScreen::addLine( %this, %tag, %lineNum, %type, %count ) +{ + $Hud[%tag].count = %count; + + // Add label: + %yOffset = ( %lineNum * 30 ) + 28; + $Hud[%tag].data[%lineNum, 0] = new GuiTextCtrl() + { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "228 " @ %yOffset; + extent = "80 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = ""; + }; + + // Add drop menu: + $Hud[%tag].data[%lineNum, 1] = new ShellPopupMenu(INV_Menu) + { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "305 " @ %yOffset - 9; + extent = "180 36"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + maxPopupHeight = "200"; + text = ""; + type = %type; + }; + + return 2; +} + +//------------------------------------------------------------------------------ +function InventoryScreen::updateHud( %this, %client, %tag ) +{ + %noSniperRifle = true; + %armor = getArmorDatablock( %client, $NameToInv[%client.favorites[0]] ); + if ( %client.lastArmor !$= %armor ) + { + %client.lastArmor = %armor; + for ( %x = 0; %x < %client.lastNumFavs; %x++ ) + messageClient( %client, 'RemoveLineHud', "", 'inventoryScreen', %x ); + %setLastNum = true; + } + + %cmt = $CurrentMissionType; +//Create - ARMOR - List + %armorList = %client.favorites[0]; + for ( %y = 0; $InvArmor[%y] !$= ""; %y++ ) + if ( $InvArmor[%y] !$= %client.favorites[0] ) + %armorList = %armorList TAB $InvArmor[%y]; + +//Create - WEAPON - List + for ( %y = 0; $InvWeapon[%y] !$= ""; %y++ ) + { + %notFound = true; + for ( %i = 0; %i < getFieldCount( %client.weaponIndex ); %i++ ) + { + %WInv = $NameToInv[$InvWeapon[%y]]; + if ( ( $InvWeapon[%y] $= %client.favorites[getField( %client.weaponIndex,%i )] ) || !%armor.max[%WInv] ) + { + %notFound = false; + break; + } + else if ( "SniperRifle" $= $NameToInv[%client.favorites[getField( %client.weaponIndex,%i )]] ) + { + %noSniperRifle = false; + %packList = "noSelect\tEnergy Pack\tEnergy Pack must be used when \tLaser Rifle is selected!"; + %client.favorites[getField(%client.packIndex,0)] = "Energy Pack"; + } + } + + if ( !($InvBanList[%cmt, %WInv]) ) + { + if ( %notFound && %weaponList $= "" ) + %weaponList = $InvWeapon[%y]; + else if ( %notFound ) + %weaponList = %weaponList TAB $InvWeapon[%y]; + } + } + +//Create - PACK - List + if ( %noSniperRifle ) + { + if ( getFieldCount( %client.packIndex ) ) + %packList = %client.favorites[getField( %client.packIndex, 0 )]; + else + { + %packList = "EMPTY"; + %client.numFavs++; + } + for ( %y = 0; $InvPack[%y] !$= ""; %y++ ) + { + %PInv = $NameToInv[$InvPack[%y]]; + if ( ( $InvPack[%y] !$= %client.favorites[getField( %client.packIndex, 0 )]) && + %armor.max[%PInv] && !($InvBanList[%cmt, %PInv])) + %packList = %packList TAB $Invpack[%y]; + } + } +//Create - GRENADE - List + for ( %y = 0; $InvGrenade[%y] !$= ""; %y++ ) + { + %notFound = true; + for(%i = 0; %i < getFieldCount( %client.grenadeIndex ); %i++) + { + %GInv = $NameToInv[$InvGrenade[%y]]; + if ( ( $InvGrenade[%y] $= %client.favorites[getField( %client.grenadeIndex, %i )] ) || !%armor.max[%GInv] ) + { + %notFound = false; + break; + } + } + if ( !($InvBanList[%cmt, %GInv]) ) + { + if ( %notFound && %grenadeList $= "" ) + %grenadeList = $InvGrenade[%y]; + else if ( %notFound ) + %grenadeList = %grenadeList TAB $InvGrenade[%y]; + } + } + +//Create - MINE - List + for ( %y = 0; $InvMine[%y] !$= "" ; %y++ ) + { + %notFound = true; + %MInv = $NameToInv[$InvMine[%y]]; + for ( %i = 0; %i < getFieldCount( %client.mineIndex ); %i++ ) + if ( ( $InvMine[%y] $= %client.favorites[getField( %client.mineIndex, %i )] ) || !%armor.max[%MInv] ) + { + %notFound = false; + break; + } + + if ( !($InvBanList[%cmt, %MInv]) ) + { + if ( %notFound && %mineList $= "" ) + %mineList = $InvMine[%y]; + else if ( %notFound ) + %mineList = %mineList TAB $InvMine[%y]; + } + } + %client.numFavsCount++; + messageClient( %client, 'SetLineHud', "", %tag, 0, "Armor:", %armorList, armor, %client.numFavsCount ); + %lineCount = 1; + + for ( %x = 0; %x < %armor.maxWeapons; %x++ ) + { + %client.numFavsCount++; + if ( %x < getFieldCount( %client.weaponIndex ) ) + { + %list = %client.favorites[getField( %client.weaponIndex,%x )]; + if ( %list $= Invalid ) + { + %client.favorites[%client.numFavs] = "INVALID"; + %client.weaponIndex = %client.weaponIndex TAB %client.numFavs; + } + } + else + { + %list = "EMPTY"; + %client.favorites[%client.numFavs] = "EMPTY"; + %client.weaponIndex = %client.weaponIndex TAB %client.numFavs; + %client.numFavs++; + } + if ( %list $= empty ) + %list = %list TAB %weaponList; + else + %list = %list TAB %weaponList TAB "EMPTY"; + messageClient( %client, 'SetLineHud', "", %tag, %x + %lineCount, "Weapon Slot " @ %x + 1 @ ": ", %list , weapon, %client.numFavsCount ); + } + %lineCount = %lineCount + %armor.maxWeapons; + + %client.numFavsCount++; + if ( getField( %packList, 0 ) !$= empty && %noSniperRifle ) + %packList = %packList TAB "EMPTY"; + %packText = %packList; + %packOverFlow = ""; + if ( strlen( %packList ) > 255 ) + { + %packText = getSubStr( %packList, 0, 255 ); + %packOverFlow = getSubStr( %packList, 255, 512 ); + } + messageClient( %client, 'SetLineHud', "", %tag, %lineCount, "Pack:", %packText, pack, %client.numFavsCount, %packOverFlow ); + %lineCount++; + + for( %x = 0; %x < %armor.maxGrenades; %x++ ) + { + %client.numFavsCount++; + if ( %x < getFieldCount( %client.grenadeIndex ) ) + { + %list = %client.favorites[getField( %client.grenadeIndex, %x )]; + if (%list $= Invalid) + { + %client.favorites[%client.numFavs] = "INVALID"; + %client.grenadeIndex = %client.grenadeIndex TAB %client.numFavs; + } + } + else + { + %list = "EMPTY"; + %client.favorites[%client.numFavs] = "EMPTY"; + %client.grenadeIndex = %client.grenadeIndex TAB %client.numFavs; + %client.numFavs++; + } + + if ( %list $= empty ) + %list = %list TAB %grenadeList; + else + %list = %list TAB %grenadeList TAB "EMPTY"; + + messageClient( %client, 'SetLineHud', "", %tag, %x + %lineCount, "Grenade:", %list, grenade, %client.numFavsCount ); + } + %lineCount = %lineCount + %armor.maxGrenades; + + for ( %x = 0; %x < %armor.maxMines; %x++ ) + { + %client.numFavsCount++; + if ( %x < getFieldCount( %client.mineIndex ) ) + { + %list = %client.favorites[getField( %client.mineIndex, %x )]; + if ( %list $= Invalid ) + { + %client.favorites[%client.numFavs] = "INVALID"; + %client.mineIndex = %client.mineIndex TAB %client.numFavs; + } + } + else + { + %list = "EMPTY"; + %client.favorites[%client.numFavs] = "EMPTY"; + %client.mineIndex = %client.mineIndex TAB %client.numFavs; + %client.numFavs++; + } + + if ( %list !$= Invalid ) + { + if ( %list $= empty ) + %list = %list TAB %mineList; + else if ( %mineList !$= "" ) + %list = %list TAB %mineList TAB "EMPTY"; + else + %list = %list TAB "EMPTY"; + } + + messageClient( %client, 'SetLineHud', "", %tag, %x + %lineCount, "Mine:", %list, mine, %client.numFavsCount ); + } + + if ( %setLastNum ) + %client.lastNumFavs = %client.numFavs; +} + +//------------------------------------------------------------------------------ +function buyFavorites(%client) +{ + // don't forget -- for many functions, anything done here also needs to be done + // below in buyDeployableFavorites !!! + %client.player.clearInventory(); + %client.setWeaponsHudClearAll(); + %cmt = $CurrentMissionType; + + %curArmor = %client.player.getDatablock(); + %curDmgPct = getDamagePercent(%curArmor.maxDamage, %client.player.getDamageLevel()); + + // armor + %client.armor = $NameToInv[%client.favorites[0]]; + %client.player.setArmor( %client.armor ); + %newArmor = %client.player.getDataBlock(); + + %client.player.setDamageLevel(%curDmgPct * %newArmor.maxDamage); + %weaponCount = 0; + + + // weapons + for(%i = 0; %i < getFieldCount( %client.weaponIndex ); %i++) + { + %inv = $NameToInv[%client.favorites[getField( %client.weaponIndex, %i )]]; + + if( %inv !$= "" ) + { + %weaponCount++; + %client.player.setInventory( %inv, 1 ); + } + // z0dd - ZOD, 9/13/02. Streamlining. + if ( %inv.image.ammo !$= "" ) + %client.player.setInventory( %inv.image.ammo, 400 ); + } + %client.player.weaponCount = %weaponCount; + + // pack + %pCh = $NameToInv[%client.favorites[%client.packIndex]]; + if ( %pCh $= "" ) + %client.clearBackpackIcon(); + else + %client.player.setInventory( %pCh, 1 ); + + // if this pack is a deployable that has a team limit, warn the purchaser + // if it's a deployable turret, the limit depends on the number of players (deployables.cs) + if(%pCh $= "TurretIndoorDeployable" || %pCh $= "TurretOutdoorDeployable") + %maxDep = countTurretsAllowed(%pCh); + else + %maxDep = $TeamDeployableMax[%pCh]; + + if(%maxDep !$= "") + { + %depSoFar = $TeamDeployedCount[%client.player.team, %pCh]; + %packName = %client.favorites[%client.packIndex]; + + if(Game.numTeams > 1) + %msTxt = "Your team has "@%depSoFar@" of "@%maxDep SPC %packName@"s deployed."; + else + %msTxt = "You have deployed "@%depSoFar@" of "@%maxDep SPC %packName@"s."; + + messageClient(%client, 'MsgTeamDepObjCount', %msTxt); + } + + // grenades + for ( %i = 0; %i < getFieldCount( %client.grenadeIndex ); %i++ ) + { + if ( !($InvBanList[%cmt, $NameToInv[%client.favorites[getField( %client.grenadeIndex, %i )]]]) ) + %client.player.setInventory( $NameToInv[%client.favorites[getField( %client.grenadeIndex,%i )]], 30 ); + } + + %client.player.lastGrenade = $NameToInv[%client.favorites[getField( %client.grenadeIndex,%i )]]; + + // if player is buying cameras, show how many are already deployed + if(%client.favorites[%client.grenadeIndex] $= "Deployable Camera") + { + %maxDep = $TeamDeployableMax[DeployedCamera]; + %depSoFar = $TeamDeployedCount[%client.player.team, DeployedCamera]; + if(Game.numTeams > 1) + %msTxt = "Your team has "@%depSoFar@" of "@%maxDep@" Deployable Cameras placed."; + else + %msTxt = "You have placed "@%depSoFar@" of "@%maxDep@" Deployable Cameras."; + messageClient(%client, 'MsgTeamDepObjCount', %msTxt); + } + + // mines + // ----------------------------------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Old code did not check to see if mines are banned, fixed. + //for ( %i = 0; %i < getFieldCount( %client.mineIndex ); %i++ ) + // %client.player.setInventory( $NameToInv[%client.favorites[getField( %client.mineIndex,%i )]], 30 ); + + for ( %i = 0; %i < getFieldCount( %client.mineIndex ); %i++ ) + { + if ( !($InvBanList[%cmt, $NameToInv[%client.favorites[getField( %client.mineIndex, %i )]]]) ) + %client.player.setInventory( $NameToInv[%client.favorites[getField( %client.mineIndex,%i )]], 30 ); + } + // End z0dd - ZOD + // ----------------------------------------------------------------------------------------------------- + + // miscellaneous stuff -- Repair Kit, Beacons, Targeting Laser + if ( !($InvBanList[%cmt, RepairKit]) ) + %client.player.setInventory( RepairKit, 1 ); + if ( !($InvBanList[%cmt, Beacon]) ) + %client.player.setInventory( Beacon, 400 ); + if ( !($InvBanList[%cmt, TargetingLaser]) ) + %client.player.setInventory( TargetingLaser, 1 ); + + // ammo pack pass -- hack! hack! + if( %pCh $= "AmmoPack" ) + invAmmoPackPass(%client); +} + +//------------------------------------------------------------------------------ +function buyDeployableFavorites(%client) +{ + %player = %client.player; + %prevPack = %player.getMountedImage($BackpackSlot); + %player.clearInventory(); + %client.setWeaponsHudClearAll(); + %cmt = $CurrentMissionType; + + // players cannot buy armor from deployable inventory stations + %weapCount = 0; + for ( %i = 0; %i < getFieldCount( %client.weaponIndex ); %i++ ) + { + %inv = $NameToInv[%client.favorites[getField( %client.weaponIndex, %i )]]; + if ( !($InvBanList[DeployInv, %inv]) ) + { + %player.setInventory( %inv, 1 ); + // increment weapon count if current armor can hold this weapon + if(%player.getDatablock().max[%inv] > 0) + %weapCount++; + + // z0dd - ZOD, 9/13/02. Streamlining + if ( %inv.image.ammo !$= "" ) + %player.setInventory( %inv.image.ammo, 400 ); + + if(%weapCount >= %player.getDatablock().maxWeapons) + break; + } + } + %player.weaponCount = %weapCount; + // give player the grenades and mines they chose, beacons, and a repair kit + for ( %i = 0; %i < getFieldCount( %client.grenadeIndex ); %i++) + { + %GInv = $NameToInv[%client.favorites[getField( %client.grenadeIndex, %i )]]; + %client.player.lastGrenade = %GInv; + if ( !($InvBanList[DeployInv, %GInv]) ) + %player.setInventory( %GInv, 30 ); + + } + + // if player is buying cameras, show how many are already deployed + if(%client.favorites[%client.grenadeIndex] $= "Deployable Camera") + { + %maxDep = $TeamDeployableMax[DeployedCamera]; + %depSoFar = $TeamDeployedCount[%client.player.team, DeployedCamera]; + if(Game.numTeams > 1) + %msTxt = "Your team has "@%depSoFar@" of "@%maxDep@" Deployable Cameras placed."; + else + %msTxt = "You have placed "@%depSoFar@" of "@%maxDep@" Deployable Cameras."; + messageClient(%client, 'MsgTeamDepObjCount', %msTxt); + } + + for ( %i = 0; %i < getFieldCount( %client.mineIndex ); %i++ ) + { + %MInv = $NameToInv[%client.favorites[getField( %client.mineIndex, %i )]]; + if ( !($InvBanList[DeployInv, %MInv]) ) + %player.setInventory( %MInv, 30 ); + } + if ( !($InvBanList[DeployInv, Beacon]) && !($InvBanList[%cmt, Beacon]) ) + %player.setInventory( Beacon, 400 ); + if ( !($InvBanList[DeployInv, RepairKit]) && !($InvBanList[%cmt, RepairKit]) ) + %player.setInventory( RepairKit, 1 ); + if ( !($InvBanList[DeployInv, TargetingLaser]) && !($InvBanList[%cmt, TargetingLaser]) ) + %player.setInventory( TargetingLaser, 1 ); + + // players cannot buy deployable station packs from a deployable inventory station + %packChoice = $NameToInv[%client.favorites[%client.packIndex]]; + if ( !($InvBanList[DeployInv, %packChoice]) ) + %player.setInventory( %packChoice, 1 ); + + // if this pack is a deployable that has a team limit, warn the purchaser + // if it's a deployable turret, the limit depends on the number of players (deployables.cs) + if(%packChoice $= "TurretIndoorDeployable" || %packChoice $= "TurretOutdoorDeployable") + %maxDep = countTurretsAllowed(%packChoice); + else + %maxDep = $TeamDeployableMax[%packChoice]; + if((%maxDep !$= "") && (%packChoice !$= "InventoryDeployable")) + { + %depSoFar = $TeamDeployedCount[%client.player.team, %packChoice]; + %packName = %client.favorites[%client.packIndex]; + + if(Game.numTeams > 1) + %msTxt = "Your team has "@%depSoFar@" of "@%maxDep SPC %packName@"s deployed."; + else + %msTxt = "You have deployed "@%depSoFar@" of "@%maxDep SPC %packName@"s."; + + messageClient(%client, 'MsgTeamDepObjCount', %msTxt); + } + + if(%prevPack > 0) + { + // if player had a "forbidden" pack (such as a deployable inventory station) + // BEFORE visiting a deployed inventory station AND still has that pack chosen + // as a favorite, give it back + if((%packChoice $= %prevPack.item) && ($InvBanList[DeployInv, %packChoice])) + %player.setInventory( %prevPack.item, 1 ); + } + + if(%packChoice $= "AmmoPack") + invAmmoPackPass(%client); +} + +//------------------------------------------------------------------------------------- +function getAmmoStationLovin(%client) +{ + //error("Much ammo station lovin applied"); + %cmt = $CurrentMissionType; + + // weapons + for(%i = 0; %i < %client.player.weaponSlotCount; %i++) + { + %weapon = %client.player.weaponSlot[%i]; + // z0dd - ZOD, 9/13/02. Streamlining + if ( %weapon.image.ammo !$= "" ) + %client.player.setInventory( %weapon.image.ammo, 400 ); + } + + // miscellaneous stuff -- Repair Kit, Beacons, Targeting Laser + if ( !($InvBanList[%cmt, RepairKit]) ) + %client.player.setInventory( RepairKit, 1 ); + if ( !($InvBanList[%cmt, Beacon]) ) + %client.player.setInventory( Beacon, 400 ); + if ( !($InvBanList[%cmt, TargetingLaser]) ) + %client.player.setInventory( TargetingLaser, 1 ); + // Do we want to allow mines? Ammo stations in T1 didnt dispense mines. +// if ( !($InvBanList[%cmt, Mine]) ) +// %client.player.setInventory( Mine, 400 ); + + // grenades + // we need to get rid of any grenades the player may have picked up + %client.player.setInventory( Grenade, 0 ); + %client.player.setInventory( ConcussionGrenade, 0 ); + %client.player.setInventory( CameraGrenade, 0 ); + %client.player.setInventory( FlashGrenade, 0 ); + %client.player.setInventory( FlareGrenade, 0 ); + + // player should get the last type they purchased + %grenType = %client.player.lastGrenade; + + // if the player hasnt been to a station they get regular grenades + if(%grenType $= "") + { + //error("no gren type, using default..."); + %grenType = Grenade; + } + if ( !($InvBanList[%cmt, %grenType]) ) + %client.player.setInventory( %grenType, 30 ); + + // if player is buying cameras, show how many are already deployed + if(%grenType $= "Deployable Camera") + { + %maxDep = $TeamDeployableMax[DeployedCamera]; + %depSoFar = $TeamDeployedCount[%client.player.team, DeployedCamera]; + if(Game.numTeams > 1) + %msTxt = "Your team has "@%depSoFar@" of "@%maxDep@" Deployable Cameras placed."; + else + %msTxt = "You have placed "@%depSoFar@" of "@%maxDep@" Deployable Cameras."; + messageClient(%client, 'MsgTeamDepObjCount', %msTxt); + } + + if( %client.player.getMountedImage($BackpackSlot) $= "AmmoPack" ) + invAmmoPackPass(%client); +} + + +function invAmmoPackPass(%client) +{ + // "normal" ammo stuff (everything but mines and grenades) + for ( %idx = 0; %idx < $numAmmoItems; %idx++ ) + { + %ammo = $AmmoItem[%idx]; + %client.player.incInventory(%ammo, AmmoPack.max[%ammo]); + } + //our good friends, the grenade family *SIGH* + // first find out what type of grenade the player has selected + %grenFav = %client.favorites[getField(%client.grenadeIndex, 0)]; + if((%grenFav !$= "EMPTY") && (%grenFav !$= "INVALID")) + %client.player.incInventory($NameToInv[%grenFav], AmmoPack.max[$NameToInv[%grenFav]]); + // now the same check for mines + %mineFav = %client.favorites[getField(%client.mineIndex, 0)]; + if((%mineFav !$= "EMPTY") && (%mineFav !$= "INVALID") && !($InvBanList[%cmt, Mine])) + %client.player.incInventory($NameToInv[%mineFav], AmmoPack.max[$NameToInv[%mineFav]]); +} + +//------------------------------------------------------------------------------ +function loadFavorite( %index, %echo ) +{ + $pref::FavCurrentSelect = %index; + %list = mFloor( %index / 10 ); + + if ( isObject( $Hud['inventoryScreen'] ) ) + { + // Deselect the old tab: + if ( InventoryScreen.selId !$= "" ) + $Hud['inventoryScreen'].staticData[0, InventoryScreen.selId].setValue( false ); + + // Make sure we are looking at the same list: + if ( $pref::FavCurrentList != %list ) + { + %favListStart = %list * 10; + %text = "Favorites " @ %favListStart + 1 SPC "-" SPC %favListStart + 10; + $Hud['inventoryScreen'].staticData[0, 0].onSelect( %list, %text, true ); + } + + // Select the new tab: + %tab = $pref::FavCurrentSelect - ( $pref::FavCurrentList * 10 ) + 1; + InventoryScreen.selId = %tab; + $Hud['inventoryScreen'].staticData[0, %tab].setValue( true ); + + // Update the Edit Name field: + $Hud['inventoryScreen'].staticData[1, 1].setValue( $pref::FavNames[%index] ); + } + + if ( %echo ) + addMessageHudLine( "Inventory set \"" @ $pref::FavNames[%index] @ "\" selected." ); + + commandToServer( 'setClientFav', $pref::Favorite[%index] ); +} + +//------------------------------------------------------------------------------ +function saveFavorite() +{ + if ( $pref::FavCurrentSelect !$= "" ) + { + %favName = $Hud['inventoryScreen'].staticData[1, 1].getValue(); + $pref::FavNames[$pref::FavCurrentSelect] = %favName; + $Hud['inventoryScreen'].staticData[0, $pref::FavCurrentSelect - ($pref::FavCurrentList * 10) + 1].setText( strupr( %favName ) ); + //$Hud[%tag].staticData[1, 1].setValue( %favName ); + %favList = $Hud['inventoryScreen'].data[0, 1].type TAB $Hud['inventoryScreen'].data[0, 1].getValue(); + for ( %i = 1; %i < $Hud['inventoryScreen'].count; %i++ ) + { + %name = $Hud['inventoryScreen'].data[%i, 1].getValue(); + if ( %name $= invalid ) + %name = "EMPTY"; + %favList = %favList TAB $Hud['inventoryScreen'].data[%i, 1].type TAB %name; + } + $pref::Favorite[$pref::FavCurrentSelect] = %favList; + echo("exporting pref::* to ClientPrefs.cs"); + export("$pref::*", "prefs/ClientPrefs.cs", False); + } +// else +// addMessageHudLine("Must First Select A Favorite Button."); +} + +//------------------------------------------------------------------------------ +function addQuickPackFavorite( %pack, %item ) +{ + // this has been such a success it has been changed to handle grenades + // and other equipment as well as packs so everything seems to be called 'pack' + // including the function itself. The default IS pack + + if(%item $= "") + %item = "Pack"; + %packFailMsg = "You cannot use that equipment with your selected loadout."; + if ( !isObject($Hud['inventoryScreen'].staticData[1, 1]) || $Hud['inventoryScreen'].staticData[1, 1].getValue() $= "" ) + { + //if the player hasnt brought up the inv screen we use his current fav + %currentFav = $pref::Favorite[$pref::FavCurrentSelect]; + //echo(%currentFav); + + for ( %i = 0; %i < getFieldCount( %currentFav ); %i++ ) + { + %type = getField( %currentFav, %i ); + %equipment = getField( %currentFav, %i++ ); + + %invalidPack = checkPackValidity(%pack, %equipment, %item ); + if(%invalidPack) + { + addMessageHudLine( %packFailMsg ); + return; + + } + // Success-------------------------------------------------- + if ( %type $= %item ) + %favList = %favList @ %type TAB %pack @ "\t"; + else + %favList = %favList @ %type TAB %equipment @ "\t"; + } + //echo(%favList); + } + else + { + //otherwise we go with whats on the invScreen (even if its asleep) + %armor = $Hud['inventoryScreen'].data[0, 1].getValue(); + + // check pack validity with armor + %invalidPack = checkPackValidity(%pack, %armor, %item ); + if(%invalidPack) + { + addMessageHudLine( %packFailMsg ); + return; + + } + %favList = $Hud['inventoryScreen'].data[0, 1].type TAB %armor; + for ( %i = 1; %i < $Hud['inventoryScreen'].count; %i++ ) + { + //echo( $Hud['inventoryScreen'].Data[%i, 1].type); + %type = $Hud['inventoryScreen'].data[%i, 1].type; + %equipment = $Hud['inventoryScreen'].data[%i, 1].getValue(); + + if(%type $= %item) + %equipment = %pack; + + // Special Cases again------------------------------------------------ + %invalidPack = checkPackValidity(%pack, %equipment, %item ); + if(%invalidPack) + { + addMessageHudLine( %packFailMsg ); + return; + + } + + %favList = %favList TAB %type TAB %equipment; + } + //echo(%favList); + } + commandToServer( 'setClientFav', %favList ); + + //we message the player real nice like + addMessageHudLine( "Inventory updated to " @ %pack @ "." ); +} + +function checkPackValidity(%pack, %equipment, %item) +{ + //echo("validityChecking:" SPC %pack SPC %equipment); + + // this is mostly for ease of mod makers + // this is the base restrictions stuff + // for your mod just overwrite this function and + // change the restrictions and onlyUses + + // you must have #1 to use #2 + //%restrict[#1, #2] = true; + + %restrict["Scout", "Inventory Station"] = true; + %restrict["Scout", "Landspike Turret"] = true; + %restrict["Scout", "Spider Clamp Turret"] = true; + %restrict["Scout", "ELF Turret Barrel"] = true; + %restrict["Scout", "Mortar Turret Barrel"] = true; + %restrict["Scout", "AA Turret Barrel"] = true; + %restrict["Scout", "Plasma Turret Barrel"] = true; + %restrict["Scout", "Missile Turret Barrel"] = true; + %restrict["Assault", "Cloak Pack"] = true; + %restrict["Juggernaut", "Cloak Pack"] = true; + + // you can only use #1 if you have a #2 of type #3 + //%require[#1] = #2 TAB #3; + + %require["Laser Rifle"] = "Pack" TAB "Energy Pack"; + + + if(%restrict[%equipment, %pack] ) + return true; + + else if(%require[%equipment] !$="" ) + { + if(%item $= getField(%require[%equipment], 0) ) + { + if(%pack !$= getField(%require[%equipment], 1) ) + return true; + } + } +} + + +//------------------------------------------------------------------------------ +function setDefaultInventory(%client) +{ + commandToClient(%client,'InitLoadClientFavorites'); +} + +//------------------------------------------------------------------------------ +function checkInventory( %client, %text ) +{ + %armor = getArmorDatablock( %client, $NameToInv[getField( %text, 1 )] ); + %list = getField( %text, 0 ) TAB getField( %text, 1 ); + %cmt = $CurrentMissionType; + for( %i = 3; %i < getFieldCount( %text ); %i = %i + 2 ) + { + %inv = $NameToInv[getField(%text,%i)]; + if ( (( %armor.max[%inv] && !($InvBanList[%cmt, %inv]) ) || + getField( %text, %i ) $= Empty || getField( %text, %i ) $= Invalid) + && (($InvTotalCount[getField( %text, %i - 1 )] - $BanCount[getField( %text, %i - 1 )]) > 0)) + %list = %list TAB getField( %text, %i - 1 ) TAB getField( %text, %i ); + else if( $InvBanList[%cmt, %inv] || %inv $= empty || %inv $= "") + %list = %list TAB getField( %text, %i - 1 ) TAB "INVALID"; + } + return %list; +} + +//------------------------------------------------------------------------------ +function getArmorDatablock(%client, %size) +{ + if ( %client.race $= "Bioderm" ) + %armor = %size @ "Male" @ %client.race @ Armor; + else + %armor = %size @ %client.sex @ %client.race @ Armor; + return %armor; +} + +//------------------------------------------------------------------------------ +function InventoryScreen::onWake(%this) +{ + if ( $HudHandle[inventoryScreen] !$= "" ) + alxStop( $HudHandle[inventoryScreen] ); + alxPlay(HudInventoryActivateSound, 0, 0, 0); + $HudHandle[inventoryScreen] = alxPlay(HudInventoryHumSound, 0, 0, 0); + + if ( isObject( hudMap ) ) + { + hudMap.pop(); + hudMap.delete(); + } + new ActionMap( hudMap ); + hudMap.blockBind( moveMap, toggleScoreScreen ); + hudMap.blockBind( moveMap, toggleCommanderMap ); + hudMap.bindCmd( keyboard, escape, "", "InventoryScreen.onDone();" ); + hudMap.push(); +} + +//------------------------------------------------------------------------------ +function InventoryScreen::onSleep() +{ + hudMap.pop(); + hudMap.delete(); + alxStop($HudHandle[inventoryScreen]); + alxPlay(HudInventoryDeactivateSound, 0, 0, 0); + $HudHandle[inventoryScreen] = ""; +} + +//------------------------------------------------------------------------------ +function InventoryScreen::onDone( %this ) +{ + toggleCursorHuds( 'inventoryScreen' ); +} + +//------------------------------------------------------------------------------ +function InventoryScreen::onTabSelect( %this, %favId ) +{ + loadFavorite( %favId, 0 ); +} + +function createInvBanCount() +{ + $BanCount["Armor"] = 0; + $BanCount["Weapon"] = 0; + $BanCount["Pack"] = 0; + $BanCount["Grenade"] = 0; + $BanCount["Mine"] = 0; + + for(%i = 0; $InvArmor[%i] !$= ""; %i++) + if($InvBanList[$CurrentMissionType, $NameToInv[$InvArmor[%i]]]) + $BanCount["Armor"]++; + $InvTotalCount["Armor"] = %i; + + for(%i = 0; $InvWeapon[%i] !$= ""; %i++) + if($InvBanList[$CurrentMissionType, $NameToInv[$InvWeapon[%i]]]) + $BanCount["Weapon"]++; + $InvTotalCount["Weapon"] = %i; + + for(%i = 0; $InvPack[%i] !$= ""; %i++) + if($InvBanList[$CurrentMissionType, $NameToInv[$InvPack[%i]]]) + $BanCount["Pack"]++; + $InvTotalCount["Pack"] = %i; + + for(%i = 0; $InvGrenade[%i] !$= ""; %i++) + if($InvBanList[$CurrentMissionType, $NameToInv[$InvGrenade[%i]]]) + $BanCount["Grenade"]++; + $InvTotalCount["Grenade"] = %i; + + for(%i = 0; $InvMine[%i] !$= ""; %i++) + if($InvBanList[$CurrentMissionType, $NameToInv[$InvMine[%i]]]) + $BanCount["Mine"]++; + $InvTotalCount["Mine"] = %i; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/item.cs b/public/base/@vl2/scripts.vl2/scripts/item.cs new file mode 100644 index 00000000..be45e7af --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/item.cs @@ -0,0 +1,705 @@ +//---------------------------------------------------------------------------- + +// When first mounted (assuming there is ammo): +// SingleShot activate -> ready +// Spinning activate -> idle (spin 0) +// Sustained activate -> ready +// DiscLauncher activate -> reload -> spinup -> ready +// +// Normal operation: +// SingleShot ready -> fire -> reload -> ready +// Spinning idle (spin 0) -> spinup -> ready -> fire -> spindown -> idle +// Sustained ready -> fire -> reload -> ready +// DiscLauncher ready -> fire -> reload -> spinup -> ready + +// Image properties +// emap +// preload +// shapeFile +// mountPoint +// offset +// rotation +// firstPerson +// mass +// usesEnergy +// minEnergy +// accuFire +// lightType +// lightTime +// lightRadius +// lightColor + +// Image state variables +// stateName +// stateTransitionOnLoaded +// stateTransitionOnNotLoaded +// stateTransitionOnAmmo +// stateTransitionOnNoAmmo +// stateTransitionOnTriggerUp +// stateTransitionOnTriggerDown +// stateTransitionOnTimeout +// stateTimeoutValue +// stateFire +// stateEnergyDrain +// stateAllowImageChange +// stateScaleAnimation +// stateDirection +// stateLoadedFlag +// stateSpinThread +// stateRecoil +// stateSequence +// stateSound +// stateScript +// stateEmitter +// stateEmitterTime +// stateEmitterNode + +//---------------------------------------------------------------------------- + +$ItemRespawnTime = 30000; +$ItemPopTime = 30 * 1000; // 30 seconds + +$WeaponSlot = 0; +$AuxiliarySlot = 1; +$BackpackSlot = 2; +$FlagSlot = 3; + +//---------------------------------------------------------------------------- +datablock EffectProfile(ItemPickupEffect) +{ + effectname = "packs/packs.pickupPack"; + minDistance = 2.5; +}; + +datablock AudioProfile(ItemPickupSound) +{ + filename = "fx/packs/packs.pickuppack.wav"; + description = AudioClosest3d; + effect = ItemPickupEffect; + preload = true; +}; + +datablock EffectProfile(ItemThrowEffect) +{ + effectname = "packs/packs.throwpack"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(ItemThrowSound) +{ + filename = "fx/packs/packs.throwpack.wav"; + description = AudioClosest3d; + effect = ItemThrowEffect; + preload = true; +}; + +datablock AudioProfile(RepairPatchSound) +{ + filename = "fx/misc/health_patch.wav"; + description = AudioClosest3d; + preload = true; + effect = ItemPickupEffect; + preload = true; +}; + +function ItemData::create(%block) +{ + if(%block $= "flag") + %obj = new Item() { + className = FlagObj; + dataBlock = %block; + static = false; + rotate = false; + }; + else + %obj = new Item() { + dataBlock = %block; + static = true; + //rotate = true; + // don't make "placed items" rotate + rotate = false; + }; + return(%obj); +} + +//-------------------------------------------------------------------------- +function Item::schedulePop(%this) +{ + %itemFadeTime = 1000; // items will take 1 second (1000 milliseconds) to fade out + %this.startFade(%itemFadeTime, $ItemPopTime - %itemFadeTime, true); + %this.schedule($ItemPopTime, "delete"); +} + +function Item::respawn(%this) +{ + %this.startFade(0, 0, true); + %this.schedule($ItemRespawnTime + 100, "startFade", 1000, 0, false); + %this.hide(true); + %this.schedule($ItemRespawnTime, "hide", false); +} + +//-------------------------------------------------------------------------- +function ItemData::onThrow(%data,%obj,%shape) +{ + serverPlay3D(ItemThrowSound, %obj.getTransform()); + // don't schedule a delete for satchelCharges when they're deployed + if(!%data.noTimeout) + %obj.schedulePop(); +} + +function ItemData::onInventory(%data,%shape,%value) +{ + if (!%value) { + // If we don't have any more of these items, make sure + // we don't have an image mounted. + %slot = %shape.getMountSlot(%data.image); + if (%slot != -1) + %shape.unmountImage(%slot); + } +} + +function ItemData::onEnterLiquid(%data, %obj, %coverage, %type) +{ + if(%data.isInvincible) + return; + + switch(%type) + { + case 0: + //Water + case 1: + //Ocean Water + case 2: + //River Water + case 3: + //Stagnant Water + case 4: + //Lava + %obj.delete(); + case 5: + //Hot Lava + %obj.delete(); + case 6: + //Crusty Lava + %obj.delete(); + case 7: + //Quick Sand + } +} + +function ItemData::onLeaveLiquid(%data, %obj, %type) +{ + // dummy +} + +function ItemData::onCollision(%data,%obj,%col) +{ + // Default behavior for items is to get picked + // by the colliding object. + if (%col.getDataBlock().className $= Armor && %col.getState() !$= "Dead") + { + if (%col.isMounted()) + return; + + if (%col.pickup(%obj, 1)) + { + if (%col.client) + { + messageClient(%col.client, 'MsgItemPickup', '\c0You picked up %1.', %data.pickUpName); + serverPlay3D(ItemPickupSound, %col.getTransform()); + } + if (%obj.isStatic()) + %obj.respawn(); + else + %obj.delete(); + } + } +} + +//---------------------------------------------------------------------------- +datablock ItemData(RepairKit) +{ + className = HandInventory; + catagory = "Misc"; + shapeFile = "repair_kit.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2.0; + pickUpName = "a repair kit"; + alwaysAmbient = true; + + computeCRC = true; + emap = true; + +}; + +function RepairKit::onUse(%data,%obj) +{ + // Don't use the kit unless we're damaged + if (%obj.getDamageLevel() != 0) { + %obj.decInventory(%data,1); + %obj.applyRepair(0.2); + messageClient(%obj.client, 'MsgRepairKitUsed', '\c2Repair Kit Used.'); + } +} + +//---------------------------------------------------------------------------- + +datablock ItemData(RepairPatch) +{ + catagory = "Misc"; + shapeFile = "repair_patch.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2.0; + pickUpName = "a repair patch"; + alwaysAmbient = true; + + computeCRC = true; + emap = true; + +}; + +function RepairPatch::onCollision(%data,%obj,%col) +{ + if ( %col.getDataBlock().className $= Armor + && %col.getDamageLevel() != 0 + && %col.getState() !$= "Dead" ) + { + if (%col.isMounted()) + return; + + %col.playAudio(0, RepairPatchSound); + %col.applyRepair(0.125); + %obj.respawn(); + if (%col.client > 0) + messageClient(%col.client, 'MsgItemPickup', '\c0You picked up %1.', %data.pickUpName); + } +} + +//---------------------------------------------------------------------------- +// Flag: +//---------------------------------------------------------------------------- +datablock ShapeBaseImageData(FlagImage) +{ + shapeFile = "flag.dts"; + item = Flag; + mountPoint = 2; + offset = "0 0 0"; + + lightType = "PulsingLight"; + lightColor = "0.5 0.5 0.5 1.0"; + lightTime = "1000"; + lightRadius = "3"; + cloakable = false; +}; + +datablock ItemData(Flag) +{ + catagory = "Objectives"; + shapefile = "flag.dts"; + mass = 55; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 3; + pickUpName = "a flag"; + computeCRC = true; + + lightType = "PulsingLight"; + lightColor = "0.5 0.5 0.5 1.0"; + lightTime = "1000"; + lightRadius = "3"; + + isInvincible = true; + cmdCategory = "Objectives"; + cmdIcon = CMDFlagIcon; + cmdMiniIconName = "commander/MiniIcons/com_flag_grey"; + targetTypeTag = 'Flag'; + + //used in CTF to mark the flag during a stalemate... + hudImageNameFriendly[1] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[1] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[1] = true; + hudRenderAlways[1] = true; + hudRenderCenter[1] = true; + hudRenderDistance[1] = true; + hudRenderName[1] = true; +}; + +//---------------------------------------------------------------------------- +function Flag::onThrow(%data,%obj,%src) +{ + Game.playerDroppedFlag(%src); +} + +function Flag::onAdd(%this, %obj) +{ + // make sure flags play "flapping" ambient thread + Parent::onAdd(%this, %obj); + %obj.playThread($AmbientThread, "ambient"); + + %blocker = new VehicleBlocker() + { + position = %obj.position; + rotation = %obj.rotation; + dimensions = "2 2 4"; + }; + MissionCleanup.add(%blocker); +} + +function Flag::onCollision(%data,%obj,%col) +{ + if (%col.getDataBlock().className $= Armor) + { + if (%col.isMounted()) + return; + + // a player hit the flag + Game.playerTouchFlag(%col, %obj); + } +} + +//---------------------------------------------------------------------------- +// HuntersFlag: +//---------------------------------------------------------------------------- +datablock ShapeBaseImageData(HuntersFlagImage) +{ + shapeFile = "Huntersflag.dts"; + item = Flag; + mountPoint = 2; + offset = "0 0 0"; + + lightType = "PulsingLight"; + lightColor = "0.5 0.5 0.5 1.0"; + lightTime = "1000"; + lightRadius = "3"; +}; + +// 1: red +// 2: blue +// 4: yellow +// 8: green +datablock ItemData(HuntersFlag1) +{ + className = HuntersFlag; + + shapefile = "Huntersflag.dts"; + mass = 75; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 3; + isInvincible = true; + pickUpName = "a flag"; + computeCRC = true; + + lightType = "PulsingLight"; + lightColor = "0.8 0.2 0.2 1.0"; + lightTime = "1000"; + lightRadius = "3"; +}; + +datablock ItemData(HuntersFlag2) : HuntersFlag1 +{ + lightColor = "0.2 0.2 0.8 1.0"; +}; + +datablock ItemData(HuntersFlag4) : HuntersFlag1 +{ + lightColor = "0.8 0.8 0.2 1.0"; +}; + +datablock ItemData(HuntersFlag8) : HuntersFlag1 +{ + lightColor = "0.2 0.8 0.2 1.0"; +}; + +function HuntersFlag::onRemove(%data, %obj) +{ + // dont want target removed... +} + +function HuntersFlag::onThrow(%data,%obj,%src) +{ + Game.playerDroppedFlag(%src); +} + +function HuntersFlag::onCollision(%data,%obj,%col) +{ + if (%col.getDataBlock().className $= Armor) + { + if (%col.isMounted()) + return; + + // a player hit the flag + Game.playerTouchFlag(%col, %obj); + } +} + +//---------------------------------------------------------------------------- +// Nexus: +//---------------------------------------------------------------------------- +datablock ItemData(Nexus) +{ + catagory = "Objectives"; + shapefile = "nexus_effect.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + icon = "CMDNexusIcon"; + targetTypeTag = 'Nexus'; + + computeCRC = true; + +}; + +datablock ParticleData(NexusParticleDenied) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = 3.0; + inheritedVelFactor = 0.0; + + lifetimeMS = 1200; + lifetimeVarianceMS = 400; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + colors[0] = "0.3 0.0 0.0 1.0"; + colors[1] = "0.5 0.0 0.0 0.5"; + colors[2] = "0.7 0.0 0.0 0.0"; + sizes[0] = 0.2; + sizes[1] = 0.1; + sizes[2] = 0.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(NexusParticleDeniedEmitter) +{ + ejectionPeriodMS = 2; + ejectionOffset = 0.2; + periodVarianceMS = 0.5; + ejectionVelocity = 10.0; + velocityVariance = 4.0; + thetaMin = 0.0; + thetaMax = 30.0; + lifetimeMS = 0; + + particles = "NexusParticleDenied"; +}; + +datablock ParticleData(NexusParticleCap) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = 3.0; + inheritedVelFactor = 0.0; + + lifetimeMS = 1200; + lifetimeVarianceMS = 400; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + colors[0] = "0.5 0.8 0.2 1.0"; + colors[1] = "0.6 0.9 0.3 1.0"; + colors[2] = "0.7 1.0 0.4 1.0"; + sizes[0] = 0.2; + sizes[1] = 0.1; + sizes[2] = 0.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(NexusParticleCapEmitter) +{ + ejectionPeriodMS = 2; + ejectionOffset = 0.5; + periodVarianceMS = 0.5; + ejectionVelocity = 10.0; + velocityVariance = 4.0; + thetaMin = 0.0; + thetaMax = 30.0; + lifetimeMS = 0; + + particles = "NexusParticleCap"; +}; + +//---------------------------------------------------------------------------- + +function getVector(%string, %num) +{ + %start = %num * 3; + return getWords(%string,%start, %start + 2); +} + +// -------------------------------------------- +// explosion datablock +// -------------------------------------------- + +datablock ExplosionData(DeployablesExplosion) +{ + soundProfile = DeployablesExplosionSound; + faceViewer = true; + + explosionShape = "effect_plasma_explosion.dts"; + sizes[0] = "0.2 0.2 0.2"; + sizes[1] = "0.3 0.3 0.3"; +}; + +$TeamDeployableMax[TargetBeacon] = 10; +$TeamDeployableMax[MarkerBeacon] = 20; + +datablock ItemData(Beacon) +{ + className = HandInventory; + catagory = "Misc"; + shapeFile = "beacon.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.8; + pickupRadius = 1; + pickUpName = "a deployable beacon"; + + computeCRC = true; + +}; + +datablock StaticShapeData(DeployedBeacon) : StaticShapeDamageProfile +{ + shapeFile = "beacon.dts"; + explosion = DeployablesExplosion; + maxDamage = 0.45; + disabledLevel = 0.45; + destroyedLevel = 0.45; + targetNameTag = 'beacon'; + + deployedObject = true; + + dynamicType = $TypeMasks::SensorObjectType; + + debrisShapeName = "debris_generic_small.dts"; + debris = SmallShapeDebris; +}; + +function DeployedBeacon::onDestroyed(%data, %obj, %prevState) +{ + if(%obj.getBeaconType() $= "friend") + %bType = "MarkerBeacon"; + else + %bType = "TargetBeacon"; + $TeamDeployedCount[%obj.team, %bType]--; + %obj.schedule(500, delete); +} + +function Beacon::onUse(%data, %obj) +{ + // look for 3 meters along player's viewpoint for interior or terrain + %searchRange = 3.0; + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType; + // get the eye vector and eye transform of the player + %eyeVec = %obj.getEyeVector(); + %eyeTrans = %obj.getEyeTransform(); + // extract the position of the player's camera from the eye transform (first 3 words) + %eyePos = posFromTransform(%eyeTrans); + // normalize the eye vector + %nEyeVec = VectorNormalize(%eyeVec); + // scale (lengthen) the normalized eye vector according to the search range + %scEyeVec = VectorScale(%nEyeVec, %searchRange); + // add the scaled & normalized eye vector to the position of the camera + %eyeEnd = VectorAdd(%eyePos, %scEyeVec); + // see if anything gets hit + %searchResult = containerRayCast(%eyePos, %eyeEnd, %mask, 0); + if(!%searchResult ) + { + // no terrain/interior collision within search range + if(%obj.inv[%data.getName()] > 0) + messageClient(%obj.client, 'MsgBeaconNoSurface', '\c2Cannot place beacon. Too far from surface.'); + return 0; + } + else + { + %searchObj = GetWord(%searchResult, 0); + if(%searchObj.getType() & ($TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType) ) + { + // if there's already a beacon where player is aiming, switch its type + // otherwise, player can't deploy a beacon there + if(%searchObj.getDataBlock().getName() $= DeployedBeacon) + switchBeaconType(%searchObj); + else + messageClient(%obj.client, 'MsgBeaconNoSurface', '\c2Cannot place beacon. Not a valid surface.'); + return 0; + } + else if(%obj.inv[%data.getName()] <= 0) + return 0; + } + // newly deployed beacons default to "target" type + if($TeamDeployedCount[%obj.team, TargetBeacon] >= $TeamDeployableMax[TargetBeacon]) + { + messageClient(%obj.client, 'MsgDeployFailed', '\c2Your team\'s control network has reached its capacity for this item.~wfx/misc/misc.error.wav'); + return 0; + } + %terrPt = posFromRaycast(%searchResult); + %terrNrm = normalFromRaycast(%searchResult); + + %intAngle = getTerrainAngle(%terrNrm); // getTerrainAngle() function found in staticShape.cs + %rotAxis = vectorNormalize(vectorCross(%terrNrm, "0 0 1")); + if (getWord(%terrNrm, 2) == 1 || getWord(%terrNrm, 2) == -1) + %rotAxis = vectorNormalize(vectorCross(%terrNrm, "0 1 0")); + %rotation = %rotAxis @ " " @ %intAngle; + + %obj.decInventory(%data, 1); + %depBeac = new BeaconObject() { + dataBlock = "DeployedBeacon"; + position = VectorAdd(%terrPt, VectorScale(%terrNrm, 0.05)); + rotation = %rotation; + }; + $TeamDeployedCount[%obj.team, TargetBeacon]++; + + %depBeac.playThread($AmbientThread, "ambient"); + %depBeac.team = %obj.team; + %depBeac.sourceObject = %obj; + + // give it a team target + %depBeac.setTarget(%depBeac.team); + MissionCleanup.add(%depBeac); +} + +function switchBeaconType(%beacon) +{ + if(%beacon.getBeaconType() $= "friend") + { + // switch from marker beacon to target beacon + if($TeamDeployedCount[%beacon.team, TargetBeacon] >= $TeamDeployableMax[TargetBeacon]) + { + messageClient(%beacon.sourceObject.client, 'MsgDeployFailed', '\c2Your team\'s control network has reached its capacity for this item.~wfx/misc/misc.error.wav'); + return 0; + } + %beacon.setBeaconType(enemy); + $TeamDeployedCount[%beacon.team, MarkerBeacon]--; + $TeamDeployedCount[%beacon.team, TargetBeacon]++; + } + else + { + // switch from target beacon to marker beacon + if($TeamDeployedCount[%beacon.team, MarkerBeacon] >= $TeamDeployableMax[MarkerBeacon]) + { + messageClient(%beacon.sourceObject.client, 'MsgDeployFailed', '\c2Your team\'s control network has reached its capacity for this item.~wfx/misc/misc.error.wav'); + return 0; + } + %beacon.setBeaconType(friend); + $TeamDeployedCount[%beacon.team, TargetBeacon]--; + $TeamDeployedCount[%beacon.team, MarkerBeacon]++; + } +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/joystickBind.cs b/public/base/@vl2/scripts.vl2/scripts/joystickBind.cs new file mode 100644 index 00000000..59631bbf --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/joystickBind.cs @@ -0,0 +1,28 @@ +//-------------------------------------------------------------------------- +// +// joystickBind.cs +// +//-------------------------------------------------------------------------- + +// Joystick functions: +function joystickMoveX(%val) +{ + $mvLeftAction = ( %val < 0.0 ); + $mvRightAction = ( %val > 0.0 ); +} + +function joystickMoveY(%val) +{ + $mvForwardAction = ( %val < 0.0 ); + $mvBackwardAction = ( %val > 0.0 ); +} + +function joyYaw(%val) +{ + $mvYaw += getMouseAdjustAmount( %val ); +} + +function joyPitch(%val) +{ + $mvPitch += getMouseAdjustAmount( %val ); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/lavaPropMap.cs b/public/base/@vl2/scripts.vl2/scripts/lavaPropMap.cs new file mode 100644 index 00000000..29bc495e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/lavaPropMap.cs @@ -0,0 +1,16 @@ +//-------------------------------------- Desert interior texture property mapping + +addMaterialMapping("lava/ds_ichute01", "environment: special/chuteTexture 0.25"); +addMaterialMapping("lava/ds_ichute02", "environment: special/chuteTexture 0.25"); +addMaterialMapping("lava/ds_jet01", "environment: special/lavareflect 0.3"); +addMaterialMapping("lava/ds_jet02", "environment: special/lavareflect 0.3"); + +//"Color: red green blue startAlpha endAlpha" +//Soft sound = 0 +//Hard sound = 1 +//Metal sound = 2 +//Snow sound = 3 +addMaterialMapping("terrain/LavaWorld.Crust", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/LavaWorld.LavaRockHot", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/LavaWorld.MuddyAsh", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/LavaWorld.RockBlack", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 0"); diff --git a/public/base/@vl2/scripts.vl2/scripts/light_female.cs b/public/base/@vl2/scripts.vl2/scripts/light_female.cs new file mode 100644 index 00000000..acfe00c9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/light_female.cs @@ -0,0 +1,43 @@ +datablock TSShapeConstructor(LightFemaleDts) +{ + baseShape = "light_female.dts"; + sequence0 = "light_female_root.dsq root"; + sequence1 = "light_female_forward.dsq run"; + sequence2 = "light_female_back.dsq back"; + sequence3 = "light_female_side.dsq side"; + sequence4 = "light_female_lookde.dsq look"; + sequence5 = "light_female_head.dsq head"; + sequence6 = "light_female_headside.dsq headside"; + sequence7 = "light_female_fall.dsq fall"; + sequence8 = "light_female_jet.dsq jet"; + sequence9 = "light_female_land.dsq land"; + sequence10 = "light_female_jump.dsq jump"; + sequence11 = "light_female_recoilde.dsq light_recoil"; + sequence12 = "light_female_scoutroot.dsq scoutroot"; + sequence13 = "light_female_looksn.dsq looksn"; + sequence14 = "light_female_lookms.dsq lookms"; + sequence15 = "light_female_sitting.dsq sitting"; + sequence16 = "light_female_idlepda.dsq pda"; + sequence17 = "light_female_diehead.dsq death1"; + sequence18 = "light_female_diechest.dsq death2"; + sequence19 = "light_female_dieback.dsq death3"; + sequence20 = "light_female_diesidelf.dsq death4"; + sequence21 = "light_female_diesidert.dsq death5"; + sequence22 = "light_female_dieleglf.dsq death6"; + sequence23 = "light_female_dielegrt.dsq death7"; + sequence24 = "light_female_dieslump.dsq death8"; + sequence25 = "light_female_dieknees.dsq death9"; + sequence26 = "light_female_dieforward.dsq death10"; + sequence27 = "light_female_diespin.dsq death11"; + sequence28 = "light_female_celsalute.dsq cel1"; + sequence29 = "light_female_celwave.dsq cel2"; + sequence30 = "light_female_tauntbest.dsq cel3"; + sequence31 = "light_female_tauntimp.dsq cel4"; + sequence32 = "light_female_celdance.dsq cel5"; + sequence33 = "light_female_tauntkiss.dsq cel6"; + sequence34 = "light_female_tauntbutt.dsq cel7"; + sequence35 = "light_female_celbow.dsq cel8"; + sequence36 = "light_female_ski.dsq ski"; + sequence37 = "light_female_standjump.dsq standjump"; + sequence38 = "light_female_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/light_male.cs b/public/base/@vl2/scripts.vl2/scripts/light_male.cs new file mode 100644 index 00000000..b97ef9fe --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/light_male.cs @@ -0,0 +1,43 @@ +datablock TSShapeConstructor(LightMaleDts) +{ + baseShape = "light_male.dts"; + sequence0 = "light_male_root.dsq root"; + sequence1 = "light_male_forward.dsq run"; + sequence2 = "light_male_back.dsq back"; + sequence3 = "light_male_side.dsq side"; + sequence4 = "light_male_lookde.dsq look"; + sequence5 = "light_male_head.dsq head"; + sequence6 = "light_male_fall.dsq fall"; + sequence7 = "light_male_jet.dsq jet"; + sequence8 = "light_male_land.dsq land"; + sequence9 = "light_male_jump.dsq jump"; + sequence10 = "light_male_diehead.dsq death1"; + sequence11 = "light_male_diechest.dsq death2"; + sequence12 = "light_male_dieback.dsq death3"; + sequence13 = "light_male_diesidelf.dsq death4"; + sequence14 = "light_male_diesidert.dsq death5"; + sequence15 = "light_male_dieleglf.dsq death6"; + sequence16 = "light_male_dielegrt.dsq death7"; + sequence17 = "light_male_dieslump.dsq death8"; + sequence18 = "light_male_dieknees.dsq death9"; + sequence19 = "light_male_dieforward.dsq death10"; + sequence20 = "light_male_diespin.dsq death11"; + sequence21 = "light_male_idlepda.dsq pda"; + sequence22 = "light_male_looksn.dsq looksn"; + sequence23 = "light_male_lookms.dsq lookms"; + sequence24 = "light_male_scoutroot.dsq scoutroot"; + sequence25 = "light_male_headside.dsq headside"; + sequence26 = "light_male_recoilde.dsq light_recoil"; + sequence27 = "light_male_sitting.dsq sitting"; + sequence28 = "light_male_celsalute.dsq cel1"; + sequence29 = "light_male_celwave.dsq cel2"; + sequence30 = "light_male_tauntbest.dsq cel3"; + sequence31 = "light_male_tauntimp.dsq cel4"; + sequence32 = "light_male_celdisco.dsq cel5"; + sequence33 = "light_male_celflex.dsq cel6"; + sequence34 = "light_male_celtaunt.dsq cel7"; + sequence35 = "light_male_celrocky.dsq cel8"; + sequence36 = "light_male_ski.dsq ski"; + sequence37 = "light_male_standjump.dsq standjump"; + sequence38 = "light_male_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/lightning.cs b/public/base/@vl2/scripts.vl2/scripts/lightning.cs new file mode 100644 index 00000000..b83cc06c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/lightning.cs @@ -0,0 +1,80 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +//-------------------------------------- Sounds +// +datablock AudioDescription(ThunderDescription) +{ + volume = 1.0; + isLooping= false; + is3D = true; + minDistance= 100.0; + MaxDistance= 6400.0; + type = $EffectAudioType; +}; + +datablock AudioProfile(thunderCrash1) +{ + filename = "fx/environment/ctmelody1.wav"; + description = ThunderDescription; +}; + +datablock AudioProfile(thunderCrash2) +{ + filename = "fx/environment/ctmelody2.wav"; + description = ThunderDescription; +}; + +datablock AudioProfile(thunderCrash3) +{ + filename = "fx/environment/ctmelody3.wav"; + description = ThunderDescription; +}; + +datablock AudioProfile(thunderCrash4) +{ + filename = "fx/environment/ctmelody4.wav"; + description = ThunderDescription; +}; + +datablock AudioProfile(LightningHitSound) +{ + filename = "fx/misc/lightning_impact.wav"; + description = AudioExplosion3d; +}; + +//-------------------------------------------------------------------------- +//-------------------------------------- Default storm... +// +// Note to datablock editors: The lightning will randomly choose from the arrays +// to build a strike. There are 8 slots for thunder sounds. Make sure all 8 slots +// are filled. If necessary, duplicate the sounds/textures into the extra slots. +// + +datablock LightningData(DefaultStorm) +{ + directDamageType = $DamageType::Lightning; + directDamage = 0.4; + + strikeTextures[0] = "special/skyLightning"; + + strikeSound = LightningHitSound; + + thunderSounds[0] = thunderCrash1; + thunderSounds[1] = thunderCrash2; + thunderSounds[2] = thunderCrash3; + thunderSounds[3] = thunderCrash4; + thunderSounds[4] = thunderCrash1; + thunderSounds[5] = thunderCrash2; + thunderSounds[6] = thunderCrash3; + thunderSounds[7] = thunderCrash4; +}; + +function LightningData::applyDamage(%data, %lightningObj, %targetObject, %position, %normal) +{ + %targetObject.damage(%lightningObj, %position, %data.directDamage, %data.directDamageType); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/liquidProfiles.cs b/public/base/@vl2/scripts.vl2/scripts/liquidProfiles.cs new file mode 100644 index 00000000..eb44db88 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/liquidProfiles.cs @@ -0,0 +1,330 @@ +//----------------------------------------------------------------------------- +// Liquid Texture Lists +// +new LiquidProfile(water) +{ + liquidType = "water"; + viscosity = "6"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "liquidTiles/islandWater01.png"; + surfaceTex1 = "liquidTiles/islandWater02.png"; + surfaceTex2 = "liquidTiles/islandWater03.png"; + surfaceTex3 = "liquidTiles/islandWater04.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "2"; + effectTex0 = "liquidTiles/modulation03.png"; + effectTex1 = "liquidTiles/modulation04.png"; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "2"; + modulatorTex0 = "liquidTiles/modulation03.png"; + modulatorTex1 = "liquidTiles/modulation04.png"; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".75"; + surfacePattern = "serpentine"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".1 .1"; + modulatorPattern = "serpentine"; + modulatorAngle = "-30"; + modulatorScale = ".07 -.07"; +}; + +new LiquidProfile(oceanWater) +{ + liquidType = "oceanWater"; + viscosity = "6"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "liquidTiles/islandWater01.png"; + surfaceTex1 = "liquidTiles/islandWater02.png"; + surfaceTex2 = "liquidTiles/islandWater03.png"; + surfaceTex3 = "liquidTiles/islandWater04.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "2"; + effectTex0 = "liquidTiles/modulation03.png"; + effectTex1 = "liquidTiles/modulation04.png"; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "2"; + modulatorTex0 = "liquidTiles/modulation03.png"; + modulatorTex1 = "liquidTiles/modulation04.png"; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".75"; + surfacePattern = "serpentine"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".1 .1"; + modulatorPattern = "serpentine"; + modulatorAngle = "-30"; + modulatorScale = ".07 -.07"; +}; + +new LiquidProfile(riverWater) +{ + liquidType = "riverWater"; + viscosity = "6"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "liquidTiles/lushWater01.png"; + surfaceTex1 = "liquidTiles/lushWater02.png"; + surfaceTex2 = "liquidTiles/lushWater03.png"; + surfaceTex3 = "liquidTiles/lushWater04.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "2"; + effectTex0 = "liquidTiles/modulation03.png"; + effectTex1 = "liquidTiles/modulation04.png"; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "2"; + modulatorTex0 = "liquidTiles/modulation03.png"; + modulatorTex1 = "liquidTiles/modulation04.png"; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".5"; + surfacePattern = "serpentine"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".1 .1"; + modulatorPattern = "serpentine"; + modulatorAngle = "-30"; + modulatorScale = ".07 -.07"; +}; + +new LiquidProfile(stagnantWater) +{ + liquidType = "stagnantWater"; + viscosity = "6"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "liquidTiles/lushWater01_algae.png"; + surfaceTex1 = "liquidTiles/lushWater02_algae.png"; + surfaceTex2 = "liquidTiles/lushWater03_algae.png"; + surfaceTex3 = "liquidTiles/lushWater04_algae.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "2"; + effectTex0 = "liquidTiles/modulation03.png"; + effectTex1 = "liquidTiles/modulation04.png"; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "2"; + modulatorTex0 = "liquidTiles/modulation03.png"; + modulatorTex1 = "liquidTiles/modulation04.png"; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".25"; + surfacePattern = "circular"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".1 .1"; + modulatorPattern = "serpentine"; + modulatorAngle = "-30"; + modulatorScale = ".07 -.07"; +}; + +new LiquidProfile(lava) +{ + liquidType = "lava"; + viscosity = "15"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "terrainTiles/lavarockhot1.png"; + surfaceTex1 = "terrainTiles/lavarockhot2.png"; + surfaceTex2 = "terrainTiles/lavarockhot3.png"; + surfaceTex3 = "terrainTiles/lavarockhot4.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "0"; + effectTex0 = ""; + effectTex1 = ""; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "0"; + modulatorTex0 = ""; + modulatorTex1 = ""; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".15"; + surfacePattern = "circular"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".1 .1"; + modulatorPattern = "none"; + modulatorAngle = "0"; + modulatorScale = "0 0"; +}; + +new LiquidProfile(hotLava) +{ + liquidType = "hotLava"; + viscosity = "15"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "terrainTiles/lavarockhot1.png"; + surfaceTex1 = "terrainTiles/lavarockhot2.png"; + surfaceTex2 = "terrainTiles/lavarockhot3.png"; + surfaceTex3 = "terrainTiles/lavarockhot4.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "0"; + effectTex0 = ""; + effectTex1 = ""; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "0"; + modulatorTex0 = ""; + modulatorTex1 = ""; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".15"; + surfacePattern = "circular"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".1 .1"; + modulatorPattern = "none"; + modulatorAngle = "0"; + modulatorScale = "0 0"; +}; + +new LiquidProfile(crustyLava) +{ + liquidType = "lava"; + viscosity = "15"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "terrainTiles/muddyash1.png"; + surfaceTex1 = "terrainTiles/muddyash2.png"; + surfaceTex2 = "terrainTiles/muddyash3.png"; + surfaceTex3 = "terrainTiles/muddyash4.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "0"; + effectTex0 = ""; + effectTex1 = ""; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "0"; + modulatorTex0 = ""; + modulatorTex1 = ""; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".05"; + surfacePattern = "circular"; + surfaceAngle = "30"; + surfaceScale = ".05 .05"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".02 .02"; + modulatorPattern = "none"; + modulatorAngle = "0"; + modulatorScale = "0 0"; +}; + +new LiquidProfile(quicksand) +{ + liquidType = "quicksand"; + viscosity = "15"; + density = "1"; + submergeColor = 2/10 @ " " @ 6/10 @ " " @ 6/10 @ " " @ 3/10; + surfaceTextures = "4"; + surfaceTex0 = "terrainTiles/mossDirt1.png"; + surfaceTex1 = "terrainTiles/mossDirt2.png"; + surfaceTex2 = "terrainTiles/mossDirt3.png"; + surfaceTex3 = "terrainTiles/mossDirt4.png"; + surfaceTex4 = ""; + surfaceTex5 = ""; + surfaceTex6 = ""; + surfaceTex7 = ""; + effectTextures = "0"; + effectTex0 = ""; + effectTex1 = ""; + effectTex2 = ""; + effectTex3 = ""; + effectTex4 = ""; + effectTex5 = ""; + effectTex6 = ""; + effectTex7 = ""; + modulatorTextures = "0"; + modulatorTex0 = ""; + modulatorTex1 = ""; + modulatorTex2 = ""; + modulatorTex3 = ""; + waveAmplitude = ".025"; + surfacePattern = "circular"; + surfaceAngle = "30"; + surfaceScale = ".02 .02"; + effectPattern = "circular"; + effectAngle = "-60"; + effectScale = ".01 .01"; + modulatorPattern = "none"; + modulatorAngle = "0"; + modulatorScale = "0 0"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/loadingGui.cs b/public/base/@vl2/scripts.vl2/scripts/loadingGui.cs new file mode 100644 index 00000000..faded35e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/loadingGui.cs @@ -0,0 +1,345 @@ +//------------------------------------------------------------------------------ +// +// LoadingGui.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +function LoadingGui::onAdd(%this) +{ + %this.qLineCount = 0; +} + +//------------------------------------------------------------------------------ +function LoadingGui::onWake(%this) +{ + if ( $HudHandle[shellScreen] !$= "" ) + { + alxStop($HudHandle[shellScreen]); + $HudHandle[shellScreen] = ""; + } + $HudHandle[loadingScreen] = alxPlay(LoadingScreenSound, 0, 0, 0); + + CloseMessagePopup(); +} + +//------------------------------------------------------------------------------ +function LoadingGui::onSleep(%this) +{ + // Clear the load info: + if ( %this.qLineCount !$= "" ) + { + for ( %line = 0; %line < %this.qLineCount; %line++ ) + %this.qLine[%line] = ""; + } + %this.qLineCount = 0; + + LOAD_MapPic.setBitmap( "gui/Loading" ); + LOAD_MapName.setText( "" ); + LOAD_MapText.setText( "" ); + LOAD_MissionType.setText( "" ); + LOAD_GameText.setText( "" ); + LoadingProgress.setValue( 0 ); + + alxStop($HudHandle[loadingScreen]); +} + +//------------------------------------------------------------------------------ +function clearLoadInfo() +{ + for ( %line = 0; %line < $LoadQuoteLineCount; %line++ ) + $LoadQuoteLine[%line] = ""; + $LoadQuoteLineCount = 0; + + for ( %line = 0; %line < $LoadObjLineCount; %line++ ) + $LoadObjLine[%line] = ""; + $LoadObjLineCount = 0; + + for ( %line = 0; %line < $LoadRuleLineCount; %line++ ) + $LoadRuleLine[%line] = ""; + $LoadRuleLineCount = 0; +} + +//------------------------------------------------------------------------------ +function buildLoadInfo( %mission, %missionType ) +{ + clearLoadInfo(); + $CurrentMission = %mission; + $MissionDisplayName = %mission; + $MissionTypeDisplayName = %missionType; + + // Extract the map quote and objectives from the .mis file: + %mapFile = "missions/" @ %mission @ ".mis"; + %file = new FileObject(); + if ( %file.openForRead( %mapFile ) ) + { + %state = "none"; + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + + if ( %state $= "none" ) + { + if ( getSubStr( %line, 0, 17 ) $= "// DisplayName = " ) + $MissionDisplayName = getSubStr( %line, 17, 1000 ); + else if ( %line $= "//--- MISSION QUOTE BEGIN ---" ) + %state = "quote"; + else if ( %line $= "//--- MISSION STRING BEGIN ---" ) + %state = "objectives"; + else if ( %missionType $= "SinglePlayer" ) + { + if ( getSubStr( %line, 0, 16 ) $= "// PlanetName = " ) + $MissionTypeDisplayName = getSubStr( %line, 16, 1000 ); + else if ( %line $= "//--- MISSION BLURB BEGIN ---" ) + %state = "blurb"; + } + } + else if ( %state $= "quote" ) + { + if ( %line $= "//--- MISSION QUOTE END ---" ) + %state = "none"; + else + { + $LoadQuoteLine[$LoadQuoteLineCount] = getSubStr( %line, 2, 1000 ); + $LoadQuoteLineCount++; + } + } + else if ( %state $= "objectives" ) + { + if ( %line $= "//--- MISSION STRING END ---" ) + { + if ( %missionType $= "SinglePlayer" ) + %state = "none"; + else + { + // Once we've got the end of the mission string, we are through. + %state = "done"; + break; + } + } + else + { + %pos = strstr( %line, "]" ); + if ( %pos == -1 ) + { + $LoadObjLine[$LoadObjLineCount] = getSubStr( %line, 2, 1000 ); + $LoadObjLineCount++; + } + else if ( %pos > 3 ) + { + // Filter objective lines by mission type: + %typeList = getSubStr( %line, 3, %pos - 3 ); + if ( strstr( %typeList, %missionType ) != -1 ) + { + $LoadObjLine[$LoadObjLineCount] = getSubStr( %line, %pos + 1, 1000 ); + $LoadObjLineCount++; + } + } + else + error( "Invalid mission objective line - \"" @ %line @ "\"" ); + } + } + else if ( %state $= "blurb" ) + { + if ( %line $= "//--- MISSION BLURB END ---" ) + { + %state = "done"; + break; + } + else + { + $LoadRuleLine[$LoadRuleLineCount] = getSubStr( %line, 2, 1000 ); + $LoadRuleLineCount++; + } + } + } + %file.close(); + } + + // Extract the rules of engagement from the Game.cs file: + if ( %missionType !$= "SinglePlayer" ) + { + %gameFile = "scripts/" @ %missionType @ "Game.cs"; + if ( %file.openForRead( %gameFile ) ) + { + %state = "none"; + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + if ( %state $= "none" ) + { + if ( getSubStr( %line, 0, 17 ) $= "// DisplayName = " ) + $MissionTypeDisplayName = getSubStr( %line, 17, 1000 ); + if ( %line $= "//--- GAME RULES BEGIN ---" ) + %state = "rules"; + } + else if ( %state $= "rules" ) + { + if ( %line $= "//--- GAME RULES END ---" ) + { + %state = "done"; + break; + } + else + { + $LoadRuleLine[$LoadRuleLineCount] = getSubStr( %line, 2, 1000 ); + $LoadRuleLineCount++; + } + } + } + %file.close(); + } + } + + %file.delete(); +} + +//------------------------------------------------------------------------------ +function dumpLoadInfo() +{ + echo( "Mission = \"" @ $MissionDisplayName @ "\", Mission Type = \"" @ $MissionTypeDisplayName @ "\"" ); + echo( "MISSION QUOTE: ( " @ $LoadQuoteLineCount @ " lines )" ); + for ( %line = 0; %line < $LoadQuoteLineCount; %line++ ) + echo( $LoadQuoteLine[%line] ); + + echo( " " ); + + echo( "MISSION STRING: ( " @ $LoadObjLineCount @ " lines )" ); + for ( %line = 0; %line < $LoadObjLineCount; %line++ ) + echo( $LoadObjLine[%line] ); + + echo( " " ); + + echo( "GAME RULES: ( " @ $LoadRuleLineCount @ " lines )" ); + for ( %line = 0; %line < $LoadRuleLineCount; %line++ ) + echo( $LoadRuleLine[%line] ); +} + +//------------------------------------------------------------------------------ +function sendLoadInfoToClient( %client ) +{ + //error( "** SENDING LOAD INFO TO CLIENT " @ %client @ "! **" ); + %singlePlayer = $CurrentMissionType $= "SinglePlayer"; + messageClient( %client, 'MsgLoadInfo', "", $CurrentMission, $MissionDisplayName, $MissionTypeDisplayName ); + + // Send map quote: + for ( %line = 0; %line < $LoadQuoteLineCount; %line++ ) + { + if ( $LoadQuoteLine[%line] !$= "" ) + messageClient( %client, 'MsgLoadQuoteLine', "", $LoadQuoteLine[%line] ); + } + + // Send map objectives: + if ( %singlePlayer ) + { + switch ( $pref::TrainingDifficulty ) + { + case 2: %diff = "Medium"; + case 3: %diff = "Hard"; + default: %diff = "Easy"; + } + messageClient( %client, 'MsgLoadObjectiveLine', "", "DIFFICULTY: " @ %diff ); + } + + for ( %line = 0; %line < $LoadObjLineCount; %line++ ) + { + if ( $LoadObjLine[%line] !$= "" ) + messageClient( %client, 'MsgLoadObjectiveLine', "", $LoadObjLine[%line], !%singlePlayer ); + } + + // Send rules of engagement: + if ( !%singlePlayer ) + messageClient( %client, 'MsgLoadRulesLine', "", "RULES OF ENGAGEMENT:", false ); + + for ( %line = 0; %line < $LoadRuleLineCount; %line++ ) + { + if ( $LoadRuleLine[%line] !$= "" ) + messageClient( %client, 'MsgLoadRulesLine', "", $LoadRuleLine[%line], !%singlePlayer ); + } + + messageClient( %client, 'MsgLoadInfoDone' ); +} + +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgLoadInfo', handleLoadInfoMessage ); +addMessageCallback( 'MsgLoadQuoteLine', handleLoadQuoteLineMessage ); +addMessageCallback( 'MsgLoadObjectiveLine', handleLoadObjectiveLineMessage ); +addMessageCallback( 'MsgLoadRulesLine', handleLoadRulesLineMessage ); +addMessageCallback( 'MsgLoadInfoDone', handleLoadInfoDoneMessage ); + +//------------------------------------------------------------------------------ +function handleLoadInfoMessage( %msgType, %msgString, %bitmapName, %mapName, %missionType ) +{ + // Clear all of the loading info lines: + for ( %line = 0; %line < LoadingGui.qLineCount; %line++ ) + LoadingGui.qLine[%line] = ""; + LoadingGui.qLineCount = 0; + + for ( %line = 0; %line < LobbyGui.objLineCount; %line++ ) + LobbyGui.objLine[%line] = ""; + LobbyGui.objLineCount = 0; + + if (!isDemo()) + %loadBmp = "gui/load_" @ %bitmapName @ ".png"; + else + %loadBmp = "gui/load_" @ %bitmapName @ ".bm8"; + if ( !isFile( "textures/" @ %loadBmp ) ) + %loadBmp = "gui/loading"; + LOAD_MapPic.setBitmap( %loadBmp ); + LOAD_MapName.setText( %mapName ); + LOAD_MissionType.setText( %missionType ); + LOAD_MapText.setText( "" ); + LOAD_GameText.setText( "" ); +} + +//------------------------------------------------------------------------------ +function handleLoadQuoteLineMessage( %msgType, %msgString, %line ) +{ + LoadingGui.qLine[LoadingGui.qLineCount] = %line; + LoadingGui.qLineCount++; + + %text = ""; + for ( %line = 0; %line < LoadingGui.qLineCount - 1; %line++ ) + %text = %text @ LoadingGui.qLine[%line] @ "\n"; + %text = %text @ ""; + %text = %text @ LoadingGui.qLine[%line] @ "\n"; // tag line + + LOAD_MapText.setText( %text ); +} + +//------------------------------------------------------------------------------ +function handleLoadObjectiveLineMessage( %msgType, %msgString, %line, %bulletStyle ) +{ + LobbyGui.objLine[LobbyGui.objLineCount] = %line; + LobbyGui.objLineCount++; + + if ( %bulletStyle ) + %line = "" @ %line @ ""; + + %newText = LOAD_MapText.getText(); + if ( %newText $= "" ) // In case there's no quote + %newText = %line; + else + %newText = %newText NL %line; + LOAD_MapText.setText( %newText ); +} + +//------------------------------------------------------------------------------ +function handleLoadRulesLineMessage( %msgType, %msgString, %line, %bulletStyle ) +{ + if ( %bulletStyle ) + %line = "" @ %line @ ""; + + %newText = LOAD_GameText.getText(); + if ( %newText $= "" ) + %newText = %line; + else + %newText = %newText NL %line; + LOAD_GameText.setText( %newText ); +} + +//------------------------------------------------------------------------------ +function handleLoadInfoDoneMessage( %msgType, %msgString ) +{ + LoadingGui.gotLoadInfo = true; +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/lushPropMap.cs b/public/base/@vl2/scripts.vl2/scripts/lushPropMap.cs new file mode 100644 index 00000000..286eebc4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/lushPropMap.cs @@ -0,0 +1,17 @@ +//-------------------------------------- Desert interior texture property mapping + +addMaterialMapping("lush/be_ichute01", "environment: special/chuteTexture 0.25"); +addMaterialMapping("lush/be_ichute02", "environment: special/chuteTexture 0.25"); + +//"Color: red green blue startAlpha endAlpha" +//Soft sound = 0 +//Hard sound = 1 +//Metal sound = 2 +//Snow sound = 3 +addMaterialMapping("terrain/LushWorld.DirtMossy", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/LushWorld.GrassDark", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/LushWorld.GrassLight", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/LushWorld.GrassMixed", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/LushWorld.LakeBed", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/LushWorld.RockLight", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/LushWorld.RockMossy", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); diff --git a/public/base/@vl2/scripts.vl2/scripts/markers.cs b/public/base/@vl2/scripts.vl2/scripts/markers.cs new file mode 100644 index 00000000..d512eac9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/markers.cs @@ -0,0 +1,58 @@ +//------------------------------------------------------------------------------ +//* Markers +//------------------------------------------------------------------------------ + +datablock MissionMarkerData(WayPointMarker) +{ + catagory = "Misc"; + shapeFile = "octahedron.dts"; +}; + +datablock MissionMarkerData(SpawnSphereMarker) +{ + catagory = "Misc"; + shapeFile = "octahedron.dts"; +}; + +datablock MissionMarkerData(AIObjectiveMarker) +{ + catagory = "Misc"; + shapeFile = "octahedron.dts"; +}; + +datablock MissionMarkerData(FlagMarker) +{ + shapeFile = "octahedron.dts"; + hudImageNameFriendly[0] = "small_triangle"; + hudImageNameEnemy[0] = "small_triangle"; + hudRenderModulated[0] = true; + hudRenderAlways[0] = true; + hudRenderCenter[0] = true; + hudRenderDistance[0] = true; + hudRenderName[0] = true; +}; + +//------------------------------------------------------------------------------ +// - serveral marker types may share MissionMarker datablock type +function MissionMarkerData::create(%block) +{ + switch$(%block) + { + case "WayPointMarker": + %obj = new WayPoint() { + dataBlock = %block; + }; + return(%obj); + case "SpawnSphereMarker": + %obj = new SpawnSphere() { + datablock = %block; + }; + return(%obj); + case "AIObjectiveMarker": + %obj = new AIObjective() { + datablock = %block; + }; + return(%obj); + } + return(-1); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/medium_female.cs b/public/base/@vl2/scripts.vl2/scripts/medium_female.cs new file mode 100644 index 00000000..e29275e9 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/medium_female.cs @@ -0,0 +1,42 @@ +datablock TSShapeConstructor(MediumFemaleDts) +{ + baseShape = "medium_female.dts"; + sequence0 = "medium_female_root.dsq root"; + sequence1 = "medium_female_forward.dsq run"; + sequence2 = "medium_female_back.dsq back"; + sequence3 = "medium_female_side.dsq side"; + sequence4 = "medium_female_lookde.dsq look"; + sequence5 = "medium_female_head.dsq head"; + sequence6 = "medium_female_headside.dsq headside"; + sequence7 = "medium_female_fall.dsq fall"; + sequence8 = "medium_female_jet.dsq jet"; + sequence9 = "medium_female_land.dsq land"; + sequence10 = "medium_female_jump.dsq jump"; + sequence11 = "medium_female_recoilde.dsq light_recoil"; + sequence12 = "medium_female_looksn.dsq looksn"; + sequence13 = "medium_female_lookms.dsq lookms"; + sequence14 = "medium_female_sitting.dsq sitting"; + sequence15 = "medium_female_idlepda.dsq pda"; + sequence16 = "medium_female_diehead.dsq death1"; + sequence17 = "medium_female_diechest.dsq death2"; + sequence18 = "medium_female_dieback.dsq death3"; + sequence19 = "medium_female_diesidelf.dsq death4"; + sequence20 = "medium_female_diesidert.dsq death5"; + sequence21 = "medium_female_dieleglf.dsq death6"; + sequence22 = "medium_female_dielegrt.dsq death7"; + sequence23 = "medium_female_dieslump.dsq death8"; + sequence24 = "medium_female_dieknees.dsq death9"; + sequence25 = "medium_female_dieforward.dsq death10"; + sequence26 = "medium_female_diespin.dsq death11"; + sequence27 = "medium_female_celsalute.dsq cel1"; + sequence28 = "medium_female_celwave.dsq cel2"; + sequence29 = "medium_female_tauntbest.dsq cel3"; + sequence30 = "medium_female_tauntimp.dsq cel4"; + sequence31 = "medium_female_celdisco.dsq cel5"; + sequence32 = "medium_female_tauntkiss.dsq cel6"; + sequence33 = "medium_female_tauntbutt.dsq cel7"; + sequence34 = "medium_female_celbow.dsq cel8"; + sequence35 = "medium_female_ski.dsq ski"; + sequence36 = "medium_female_standjump.dsq standjump"; + sequence37 = "medium_female_looknw.dsq looknw"; +}; \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/medium_male.cs b/public/base/@vl2/scripts.vl2/scripts/medium_male.cs new file mode 100644 index 00000000..6f6e2be5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/medium_male.cs @@ -0,0 +1,43 @@ + +datablock TSShapeConstructor(MediumMaleDts) +{ + baseShape = "medium_male.dts"; + sequence0 = "medium_male_root.dsq root"; + sequence1 = "medium_male_forward.dsq run"; + sequence2 = "medium_male_back.dsq back"; + sequence3 = "medium_male_side.dsq side"; + sequence4 = "medium_male_lookde.dsq look"; + sequence5 = "medium_male_head.dsq head"; + sequence6 = "medium_male_fall.dsq fall"; + sequence7 = "medium_male_jet.dsq jet"; + sequence8 = "medium_male_land.dsq land"; + sequence9 = "medium_male_jump.dsq jump"; + sequence10 = "medium_male_recoilde.dsq light_recoil"; + sequence11 = "medium_male_headside.dsq headside"; + sequence12 = "medium_male_looksn.dsq looksn"; + sequence13 = "medium_male_lookms.dsq lookms"; + sequence14 = "medium_male_sitting.dsq sitting"; + sequence15 = "medium_male_diehead.dsq death1"; + sequence16 = "medium_male_diechest.dsq death2"; + sequence17 = "medium_male_dieback.dsq death3"; + sequence18 = "medium_male_diesidelf.dsq death4"; + sequence19 = "medium_male_diesidert.dsq death5"; + sequence20 = "medium_male_dieleglf.dsq death6"; + sequence21 = "medium_male_diechest.dsq death7"; // medium_male_dielegrt + sequence22 = "medium_male_dieback.dsq death8"; + sequence23 = "medium_male_dieknees.dsq death9"; + sequence24 = "medium_male_dieforward.dsq death10"; + sequence25 = "medium_male_diespin.dsq death11"; + sequence26 = "medium_male_idlepda.dsq pda"; + sequence27 = "medium_male_celsalute.dsq cel1"; + sequence28 = "medium_male_celwave.dsq cel2"; + sequence29 = "medium_male_tauntbest.dsq cel3"; + sequence30 = "medium_male_tauntimp.dsq cel4"; + sequence31 = "medium_male_celdance.dsq cel5"; + sequence32 = "medium_male_celflex.dsq cel6"; + sequence33 = "medium_male_celtaunt.dsq cel7"; + sequence34 = "medium_male_celrocky.dsq cel8"; + sequence35 = "medium_male_ski.dsq ski"; + sequence36 = "medium_male_standjump.dsq standjump"; + sequence37 = "medium_male_looknw.dsq looknw"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/message.cs b/public/base/@vl2/scripts.vl2/scripts/message.cs new file mode 100644 index 00000000..8a020872 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/message.cs @@ -0,0 +1,386 @@ +$MaxMessageWavLength = 5200; + +function addMessageCallback(%msgType, %func) +{ + for(%i = 0; (%afunc = $MSGCB[%msgType, %i]) !$= ""; %i++) + { + // only add each callback once + if(%afunc $= %func) + return; + } + $MSGCB[%msgType, %i] = %func; +} + +function messagePump(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7 ,%a8, %a9, %a10) +{ + clientCmdServerMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10); +} + +function clientCmdServerMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + %tag = getWord(%msgType, 0); + for(%i = 0; (%func = $MSGCB["", %i]) !$= ""; %i++) + call(%func, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10); + + if(%tag !$= "") + for(%i = 0; (%func = $MSGCB[%tag, %i]) !$= ""; %i++) + call(%func, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10); +} + +function defaultMessageCallback(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + if ( %msgString $= "" ) + return; + + %message = detag( %msgString ); + // search for wav tag marker + %wavStart = strstr( %message, "~w" ); + if ( %wavStart != -1 ) + { + %wav = getSubStr( %message, %wavStart + 2, 1000 ); + %wavLengthMS = alxGetWaveLen( %wav ); + if ( %wavLengthMS <= $MaxMessageWavLength ) + { + %handle = alxCreateSource( AudioChat, %wav ); + alxPlay( %handle ); + } + else + error( "WAV file \"" @ %wav @ "\" is too long! **" ); + + %message = getSubStr( %message, 0, %wavStart ); + if ( %message !$= "" ) + addMessageHudLine( %message ); + } + else + addMessageHudLine( %message ); +} + +//-------------------------------------------------------------------------- +function handleClientJoin(%msgType, %msgString, %clientName, %clientId, %targetId, %isAI, %isAdmin, %isSuperAdmin, %isSmurf, %guid) +{ + logEcho("got client join: " @ detag(%clientName) @ " : " @ %clientId); + + //create the player list group, and add it to the ClientConnectionGroup... + if(!isObject("PlayerListGroup")) + { + %newGroup = new SimGroup("PlayerListGroup"); + ClientConnectionGroup.add(%newGroup); + } + + %player = new ScriptObject() + { + className = "PlayerRep"; + name = detag(%clientName); + guid = %guid; + clientId = %clientId; + targetId = %targetId; + teamId = 0; // start unassigned + score = 0; + ping = 0; + packetLoss = 0; + chatMuted = false; + canListen = false; + voiceEnabled = false; + isListening = false; + isBot = %isAI; + isAdmin = %isAdmin; + isSuperAdmin = %isSuperAdmin; + isSmurf = %isSmurf; + }; + PlayerListGroup.add(%player); + $PlayerList[%clientId] = %player; + + if ( !%isAI ) + getPlayerPrefs(%player); + lobbyUpdatePlayer( %clientId ); +} + +function handleClientDrop( %msgType, %msgString, %clientName, %clientId ) +{ + logEcho("got client drop: " @ detag(%clientName) @ " : " @ %clientId); + + %player = $PlayerList[%clientId]; + if( %player ) + { + %player.delete(); + $PlayerList[%clientId] = ""; + lobbyRemovePlayer( %clientId ); + } +} + +function handleClientJoinTeam( %msgType, %msgString, %clientName, %teamName, %clientId, %teamId ) +{ + %player = $PlayerList[%clientId]; + if( %player ) + { + %player.teamId = %teamId; + lobbyUpdatePlayer( %clientId ); + } +} + +function handleClientNameChanged( %msgType, %msgString, %oldName, %newName, %clientId ) +{ + %player = $PlayerList[%clientId]; + if( %player ) + { + %player.name = detag( %newName ); + lobbyUpdatePlayer( %clientId ); + } +} + +addMessageCallback("", defaultMessageCallback); +addMessageCallback('MsgClientJoin', handleClientJoin); +addMessageCallback('MsgClientDrop', handleClientDrop); +addMessageCallback('MsgClientJoinTeam', handleClientJoinTeam); +addMessageCallback('MsgClientNameChanged', handleClientNameChanged); + +//--------------------------------------------------------------------------- +// Client chat'n +//--------------------------------------------------------------------------- +function isClientChatMuted(%client) +{ + %player = $PlayerList[%client]; + if(%player) + return(%player.chatMuted ? true : false); + return(true); +} + +//--------------------------------------------------------------------------- +function clientCmdChatMessage(%sender, %voice, %pitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + %message = detag( %msgString ); + %voice = detag( %voice ); + + if ( ( %message $= "" ) || isClientChatMuted( %sender ) ) + return; + + // search for wav tag marker + %wavStart = strstr( %message, "~w" ); + if ( %wavStart == -1 ) + addMessageHudLine( %message ); + else + { + %wav = getSubStr(%message, %wavStart + 2, 1000); + if (%voice !$= "") + %wavFile = "voice/" @ %voice @ "/" @ %wav @ ".wav"; + else + %wavFile = %wav; + + //only play voice files that are < 5000ms in length + if (%pitch < 0.5 || %pitch > 2.0) + %pitch = 1.0; + %wavLengthMS = alxGetWaveLen(%wavFile) * %pitch; + if (%wavLengthMS < $MaxMessageWavLength ) + { + if ( $ClientChatHandle[%sender] != 0 ) + alxStop( $ClientChatHandle[%sender] ); + $ClientChatHandle[%sender] = alxCreateSource( AudioChat, %wavFile ); + + //pitch the handle + if (%pitch != 1.0) + alxSourcef($ClientChatHandle[%sender], "AL_PITCH", %pitch); + alxPlay( $ClientChatHandle[%sender] ); + } + else + error( "** WAV file \"" @ %wavFile @ "\" is too long! **" ); + + %message = getSubStr(%message, 0, %wavStart); + addMessageHudLine(%message); + } +} + +//--------------------------------------------------------------------------- +function clientCmdCannedChatMessage( %sender, %msgString, %name, %string, %keys, %voiceTag, %pitch ) +{ + %message = detag( %msgString ); + %voice = detag( %voiceTag ); + if ( $defaultVoiceBinds ) + clientCmdChatMessage( %sender, %voice, %pitch, "[" @ %keys @ "]" SPC %message ); + else + clientCmdChatMessage( %sender, %voice, %pitch, %message ); +} + +//--------------------------------------------------------------------------- +// silly spam protection... +$SPAM_PROTECTION_PERIOD = 10000; +$SPAM_MESSAGE_THRESHOLD = 4; +$SPAM_PENALTY_PERIOD = 10000; +$SPAM_MESSAGE = '\c3FLOOD PROTECTION:\cr You must wait another %1 seconds.'; + +function GameConnection::spamMessageTimeout(%this) +{ + if(%this.spamMessageCount > 0) + %this.spamMessageCount--; +} + +function GameConnection::spamReset(%this) +{ + %this.isSpamming = false; +} + +function spamAlert(%client) +{ + if($Host::FloodProtectionEnabled != true) + return(false); + + if(!%client.isSpamming && (%client.spamMessageCount >= $SPAM_MESSAGE_THRESHOLD)) + { + %client.spamProtectStart = getSimTime(); + %client.isSpamming = true; + %client.schedule($SPAM_PENALTY_PERIOD, spamReset); + } + + if(%client.isSpamming) + { + %wait = mFloor(($SPAM_PENALTY_PERIOD - (getSimTime() - %client.spamProtectStart)) / 1000); + messageClient(%client, "", $SPAM_MESSAGE, %wait); + return(true); + } + + %client.spamMessageCount++; + %client.schedule($SPAM_PROTECTION_PERIOD, spamMessageTimeout); + return(false); +} + +function chatMessageClient( %client, %sender, %voiceTag, %voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ) +{ + //see if the client has muted the sender + if ( !%client.muted[%sender] ) + commandToClient( %client, 'ChatMessage', %sender, %voiceTag, %voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); +} + +function cannedChatMessageClient( %client, %sender, %msgString, %name, %string, %keys ) +{ + if ( !%client.muted[%sender] ) + commandToClient( %client, 'CannedChatMessage', %sender, %msgString, %name, %string, %keys, %sender.voiceTag, %sender.voicePitch ); +} + +function chatMessageTeam( %sender, %team, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ) +{ + if ( ( %msgString $= "" ) || spamAlert( %sender ) ) + return; + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %obj = ClientGroup.getObject( %i ); + if ( %obj.team == %sender.team ) + chatMessageClient( %obj, %sender, %sender.voiceTag, %sender.voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); + } +} + +function cannedChatMessageTeam( %sender, %team, %msgString, %name, %string, %keys ) +{ + if ( ( %msgString $= "" ) || spamAlert( %sender ) ) + return; + + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %obj = ClientGroup.getObject( %i ); + if ( %obj.team == %sender.team ) + cannedChatMessageClient( %obj, %sender, %msgString, %name, %string, %keys ); + } +} + +function chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ) +{ + if ( ( %msgString $= "" ) || spamAlert( %sender ) ) + return; + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %obj = ClientGroup.getObject( %i ); + if(%sender.team != 0) + chatMessageClient( %obj, %sender, %sender.voiceTag, %sender.voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); + else + { + // message sender is an observer -- only send message to other observers + if(%obj.team == %sender.team || %obj.isAdmin || %obj.isSuperAdmin) + chatMessageClient( %obj, %sender, %sender.voiceTag, %sender.voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); + } + } +} + +function cannedChatMessageAll( %sender, %msgString, %name, %string, %keys ) +{ + if ( ( %msgString $= "" ) || spamAlert( %sender ) ) + return; + + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + cannedChatMessageClient( ClientGroup.getObject(%i), %sender, %msgString, %name, %string, %keys ); +} + +//--------------------------------------------------------------------------- +function messageClient(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + commandToClient(%client, 'ServerMessage', %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); +} + +function messageTeam(%team, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + %count = ClientGroup.getCount(); + for(%cl= 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if(%recipient.team == %team) + messageClient(%recipient, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +function messageTeamExcept(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + %team = %client.team; + %count = ClientGroup.getCount(); + for(%cl= 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if((%recipient.team == %team) && (%recipient != %client)) + messageClient(%recipient, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +function messageAll(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + messageClient(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +function messageAllExcept(%client, %team, %msgtype, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + //can exclude a client, a team or both. A -1 value in either field will ignore that exclusion, so + //messageAllExcept(-1, -1, $Mesblah, 'Blah!'); will message everyone (since there shouldn't be a client -1 or client on team -1). + %count = ClientGroup.getCount(); + for(%cl= 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if((%recipient != %client) && (%recipient.team != %team)) + messageClient(%recipient, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +//--------------------------------------------------------------------------- +// functions to support repair messaging +//--------------------------------------------------------------------------- +function clientCmdTeamRepairMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + if(!$pref::ignoreTeamRepairMessages) + clientCmdServerMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6); +} + +function teamRepairMessage(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %team = %client.team; + + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %recipient = ClientGroup.getObject(%cl); + if((%recipient.team == %team) && (%recipient != %client)) + commandToClient(%recipient, 'TeamRepairMessage', %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/navGraph.cs b/public/base/@vl2/scripts.vl2/scripts/navGraph.cs new file mode 100644 index 00000000..c92ef34c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/navGraph.cs @@ -0,0 +1,159 @@ +// +// functions for ai nav graph +// + +$OFFLINE_NAV_BUILD = false; + +function NavGraph::generateInterior() +{ + %p = new FloorPlan(); + %p.generate(); + %p.upload(); + %p.delete(); +} + +//---------------------------------------------------------------------------- + +function NavGraph::exteriorInspect() +{ + %eInspector = new GroundPlan(); + + %area = MissionArea.getArea(); + %minx = getWord(%area, 0); + %miny = getWord(%area, 1); + %extentx = getWord(%area, 2); + %extenty = getWord(%area, 3); + %point = %minx @ " " @ %miny; + %extents = %extentx @ " " @ %extenty; + + %eInspector.inspect(%point, %extents); // this does the upload as well + %eInspector.delete(); +} + +//---------------------------------------------------------------------------- + +function BuildNavigationGraph(%type) +{ + exec("scripts/graphBuild.cs"); + + echo("Building Navigation Graph..."); + + // disable asserts + $FP::DisableAsserts = true; + $OFFLINE_NAV_BUILD = true; + + if(%type $= "nav") + { + makeJettableGraphOffline(Nav); + doTablebuildOffline(); + } + else if(%type $= "spn") + makeJettableGraphOffline(Spawn); + else + echo("unknown type for nav build!"); + + navGraph.saveGraph(); + writeNavMetrics(); +} + +function NavigationGraph::navBuildComplete() +{ + echo( "Navigation Graph build complete." ); + + if( $OFFLINE_NAV_BUILD ) + { + quit(); + } +} + +// this will keep mod authors happy since they can create new +// traversable shapes, and it will be handled by the navigation system +function FloorPlan::staticShapeListConstruct(%this) +{ + %group = nameToId("MissionGroup"); + %group.findStaticShapes(%this); +} + +function FloorPlan::gameBaseListConstruct(%this) +{ + %group = nameToId("MissionGroup"); + %group.findGameBaseItems(%this); +} + +function SimGroup::findGameBaseItems(%this, %floorPlan) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).findGameBaseItems(%floorPlan); +} + +function GameBase::findGameBaseItems(%this, %floorPlan) +{ + %floorPlan.addHintPoint(%this.getWorldBoxCenter()); +} + +function SimGroup::findStaticShapes(%this, %floorPlan) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).findStaticShapes(%floorPlan); +} + +function GameBase::findStaticShapes(%this, %floorPlan) +{ + %this.getDataBlock().findStaticShapes(%this, %floorPlan); +} + +function StationInventory::findStaticShapes(%data, %object, %floorPlan) +{ + %floorPlan.addStaticCenter(%object); +} + +function StationVehiclePad::findStaticShapes(%data, %object, %floorPlan) +{ + %floorPlan.addStaticGeom(%object); +} + +function installNavThreats() +{ + %group = nameToId("MissionGroup"); + %group.findTurretThreats(); +} + +function SimObject::findTurretThreats(%this) +{ + //declared here +} + +function SimGroup::findTurretThreats(%this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).findTurretThreats(); +} + +function GameBase::findTurretThreats(%this) +{ + %this.getDataBlock().findTurretThreats(%this); +} + +function TurretData::findTurretThreats(%data, %turret) +{ + %attackRadius = %turret.getMountedImage(0).attackRadius; + NavGraph.installThreat(%turret, %turret.team, %attackRadius); +} + +function fpStart(%useSpecial) +{ + $fp = new FloorPlan(); + $fp::special = %useSpecial; + $fp.generate(); +} + +function fpEnd() +{ + if($fp > 0) + $fp.delete(); +} + +function writeNavMetrics() +{ + navGraph.dumpInfo2File(); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/objectiveHud.cs b/public/base/@vl2/scripts.vl2/scripts/objectiveHud.cs new file mode 100644 index 00000000..019e5d48 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/objectiveHud.cs @@ -0,0 +1,1528 @@ +// Mission type-dependent objective HUDs + +// TR2 additions +$TR2::Color::CarrierEnemy = "205 0 0 100"; +$TR2::Color::CarrierFriendly = "0 205 0 100"; +$TR2::Color::CarrierNeutral = "190 190 190 100"; +$TR2::DebriefGuiLoaded = 0; + +addMessageCallback('MsgClientReady', setCameraSpeedState); + +function setCameraSpeedState(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + if( detag(%gameType) $= "TR2Game" ) + { + $_Camera::movementSpeed = $Camera::movementSpeed; + $Camera::movementSpeed = 80; + } + else + { + %val = $_Camera::movementSpeed $= "" ? 40 : $_Camera::movementSpeed; + $Camera::movementSpeed = %val; + } +} + +///// -MISSION START- ////////////////////////////////////////////////////////////// +addMessageCallback('MsgClientReady', clientReadyMSG); + +function clientReadyMSG(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + clearObjHudMSG(); + setupObjHud(%gameType); +} + +addMessageCallback('MsgClearObjHud', clearObjHudMSG); + +function clearObjHudMSG(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + // clear the separator lines + objectiveHud.setSeparators(""); + objectiveHud.disableHorzSeparator(); + + + //remove everything in the objective Hud + while (objectiveHud.getCount() > 0) + objectiveHud.getObject(0).delete(); +} + +// TR2 Message Callbacks - AO +//----------------------- +// 05-13 removed the team size window +// 05-13 Removed syntax bug in hud (doh!) +// Created separate message type/callback and serverside function for adjusting bonus value +// Scores can now be updated independantly of bons value +// +// NEED TO ADD CODE TO MESSAGE CLIENT THE BONUS VALUE AND TEAM WHEN THEY JOIN!!! + + +addMessageCallback('MsgTR2UpdateBonus', handleTR2UpdateBonus); + + + +addMessageCallback('MsgTR2ObjInit', TR2HudInit); + +function TR2HudInit(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9) +{ + objectiveHud.teamName[1].setValue(detag(%a1)); + objectiveHud.teamName[2].setValue(detag(%a2)); + + objectiveHud.teamScore[1].setValue(detag(%a3)); + objectiveHud.teamScore[2].setValue(detag(%a4)); + + objectiveHud.carrierName.setValue(detag(%a5)); + objectiveHud.carrierHealth.setValue(detag(%a6)); + + TR2BonusObject.doBonus(%a7, $TR2::NeutralColor); +} + +addMessageCallback('MsgTR2SetScore', handleTR2SetScore); + +function handleTR2SetScore(%msgType, %msgString, %team, %score) +{ + %team = detag(%team); + objectiveHud.teamScore[%team].setValue( detag(%score) ); +} +// end TR2 message callbacks - AO + +// REPLACE profile definition in objectiveHud.cs +new GuiControlProfile ("TR2CarrierHealth") +{ + opaque = false; + fillColor = "0 205 0 100"; + border = true; + borderColor = "190 190 190 100"; +}; + +addMessageCallback('MsgTR2FlagStatus', handleTR2FlagStatus); + +function handleTR2FlagStatus(%msgType, %msgString, %location) +{ + objectiveHud.carrierName.setValue(detag(%location)); +} + +addMessageCallback('MsgTR2FlagTaken', handleTR2FlagTaken); + +function handleTR2FlagTaken(%msgType, %msgString, %client, %team, %flagteam, %clientnamebase) +{ + objectiveHud.carrierName.setValue(detag(%client)); +} + +addMessageCallback('MsgTR2FlagDropped', handleTR2FlagDropped); + +function handleTR2FlagDropped(%msgType, %msgString, %client, %team, %flagteam) +{ + objectiveHud.carrierName.setValue("Dropped"); +} + +addMessageCallback('MsgTR2CarrierHealth', handleTR2CarrierHealth); + +function handleTR2CarrierHealth(%msgType, %msgString, %amt, %team) +{ + if( detag(%team) == 1 ) // carrier is on our team + { + objectiveHud.carrierHealth.profile.fillColor = $TR2::Color::CarrierFriendly; + } + else + { + objectiveHud.carrierHealth.profile.fillColor = $TR2::Color::CarrierEnemy; + } + objectiveHud.carrierHealth.setValue(detag(%amt)); +} + +function setupObjHud(%gameType) +{ + if(%gameType $= "PracticeCTFGame" || %gameType $= "CTFPlusGame") + %gameType = "CTFGame"; + + objectiveHud.gameType = %gameType; + + // TR2 additions + if( %gameType $= "TR2Game" ) + { + if( $TR2::DebriefGuiLoaded == 0 ) + { + if( isObject(DB_ChatDlg) ) + DB_ChatDlg.delete(); + if( isObject(DebriefGui) ) + DebriefGui.delete(); + exec("gui/TR2DebriefGui.gui"); + $TR2::DebriefGuiLoaded = 1; + } + } + else + { + if( $TR2::DebriefGuiLoaded == 1 ) + { + if( isObject(DB_ChatDlg) ) + DB_ChatDlg.delete(); + if( isObject(DebriefGui) ) + DebriefGui.delete(); + exec("gui/DebriefGui.gui"); + $TR2::DebriefGuiLoaded = 0; + } + } + + switch$ (%gameType) + { + // Begin TR2 hud stuff - AO + case TR2Game: // | | | < Carrier Name > + // | | | + // set separators + objectiveHud.setSeparators("104 147"); + objectiveHud.enableHorzSeparator(); + + // Team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGoldLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "96 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjSilverLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "96 16"; + visible = "1"; + }; + // Team scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGoldCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 3"; + extent = "35 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjSilverCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 19"; + extent = "35 16"; + visible = "1"; + }; + + // Bonus + objectiveHud.carrierName = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "151 3"; + extent = "90 16"; + visible = "1"; + text = ""; + }; + objectiveHud.carrierHealth = new GuiProgressCtrl() { + profile = "TR2CarrierHealth"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "159 22"; + extent = "75 10"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + }; + + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamScore[%i]); + objectiveHud.add(objectiveHud.teamName[%i]); + } + objectiveHud.add(objectiveHud.carrierName); + objectiveHud.add(objectiveHud.carrierHealth); + + // end TR2 Hud stuff - AO + + case BountyGame: + // set separators + objectiveHud.setSeparators("56 156"); + objectiveHud.disableHorzSeparator(); + + // Your score label ("SCORE") + objectiveHud.scoreLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "50 16"; + visible = "1"; + text = "SCORE"; + }; + // Your score + objectiveHud.yourScore = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 3"; + extent = "90 16"; + visible = "1"; + }; + // Target label ("TARGET") + objectiveHud.targetLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "50 16"; + visible = "1"; + text = "TARGET"; + }; + // your target's name + objectiveHud.yourTarget = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 19"; + extent = "90 16"; + visible = "1"; + }; + + objectiveHud.add(objectiveHud.scoreLabel); + objectiveHud.add(objectiveHud.yourScore); + objectiveHud.add(objectiveHud.targetLabel); + objectiveHud.add(objectiveHud.yourTarget); + + case CnHGame: + // set separators + objectiveHud.setSeparators("96 162 202"); + objectiveHud.enableHorzSeparator(); + + // Team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "90 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "90 16"; + visible = "1"; + }; + // Team scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 3"; + extent = "50 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 19"; + extent = "50 16"; + visible = "1"; + }; + // Hold label ("HOLD") + objectiveHud.holdLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 3"; + extent = "35 16"; + visible = "1"; + text = "HOLD"; + }; + objectiveHud.holdLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 19"; + extent = "35 16"; + visible = "1"; + text = "HOLD"; + }; + // number of points held + objectiveHud.numHeld[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "30 16"; + visible = "1"; + }; + objectiveHud.numHeld[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 19"; + extent = "30 16"; + visible = "1"; + }; + + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamName[%i]); + objectiveHud.add(objectiveHud.teamScore[%i]); + objectiveHud.add(objectiveHud.holdLabel[%i]); + objectiveHud.add(objectiveHud.numHeld[%i]); + } + + case CTFGame: + // set separators + objectiveHud.setSeparators("75 100 133"); + objectiveHud.enableHorzSeparator(); + + // Team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "68 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "68 16"; + visible = "1"; + }; + // Team scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "78 3"; + extent = "22 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "78 19"; + extent = "22 16"; + visible = "1"; + }; + // Flag label ("FLAG") + objectiveHud.flagLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "103 3"; + extent = "30 16"; + visible = "1"; + text = "FLAG"; + }; + objectiveHud.flagLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "103 19"; + extent = "30 16"; + visible = "1"; + text = "FLAG"; + }; + // flag location (at base/in field/player carrying it) + objectiveHud.flagLocation[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 3"; + extent = "102 16"; + visible = "1"; + }; + objectiveHud.flagLocation[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 19"; + extent = "102 16"; + visible = "1"; + }; + + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamName[%i]); + objectiveHud.add(objectiveHud.teamScore[%i]); + objectiveHud.add(objectiveHud.flagLabel[%i]); + objectiveHud.add(objectiveHud.flagLocation[%i]); + } + + case DMGame: + // set separators + objectiveHud.setSeparators("56 96 156"); + objectiveHud.disableHorzSeparator(); + + // Your score label ("SCORE") + objectiveHud.scoreLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "50 16"; + visible = "1"; + text = "SCORE"; + }; + // Your score + objectiveHud.yourScore = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 3"; + extent = "30 16"; + visible = "1"; + }; + // Your kills label ("KILLS") + objectiveHud.killsLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "50 16"; + visible = "1"; + text = "KILLS"; + }; + // Your kills + objectiveHud.yourKills = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 19"; + extent = "30 16"; + visible = "1"; + }; + // Your deaths label ("DEATHS") + objectiveHud.deathsLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 19"; + extent = "50 16"; + visible = "1"; + text = "DEATHS"; + }; + // Your deaths + objectiveHud.yourDeaths = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "160 19"; + extent = "30 16"; + visible = "1"; + }; + + objectiveHud.add(objectiveHud.scoreLabel); + objectiveHud.add(objectiveHud.yourScore); + objectiveHud.add(objectiveHud.killsLabel); + objectiveHud.add(objectiveHud.yourKills); + objectiveHud.add(objectiveHud.deathsLabel); + objectiveHud.add(objectiveHud.yourDeaths); + + case HuntersGame: + // set separators + objectiveHud.setSeparators("96 132"); + objectiveHud.disableHorzSeparator(); + + // Your score label ("SCORE") + objectiveHud.scoreLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "90 16"; + visible = "1"; + text = "SCORE"; + }; + // Your score + objectiveHud.yourScore = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 3"; + extent = "30 16"; + visible = "1"; + }; + // flags label ("FLAGS") + objectiveHud.flagLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "90 16"; + visible = "1"; + text = "FLAGS"; + }; + // number of flags + objectiveHud.yourFlags = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 19"; + extent = "30 16"; + visible = "1"; + }; + + objectiveHud.add(objectiveHud.scoreLabel); + objectiveHud.add(objectiveHud.yourScore); + objectiveHud.add(objectiveHud.flagLabel); + objectiveHud.add(objectiveHud.yourFlags); + + case RabbitGame: + // set separators + objectiveHud.setSeparators("56 156"); + objectiveHud.disableHorzSeparator(); + + // Your score label ("SCORE") + objectiveHud.scoreLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "50 16"; + visible = "1"; + text = "SCORE"; + }; + // Your score + objectiveHud.yourScore = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 3"; + extent = "90 16"; + visible = "1"; + }; + // Rabbit label ("RABBIT") + objectiveHud.rabbitLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "50 16"; + visible = "1"; + text = "RABBIT"; + }; + // rabbit name + objectiveHud.rabbitName = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 19"; + extent = "90 16"; + visible = "1"; + }; + + objectiveHud.add(objectiveHud.scoreLabel); + objectiveHud.add(objectiveHud.yourScore); + objectiveHud.add(objectiveHud.rabbitLabel); + objectiveHud.add(objectiveHud.rabbitName); + + case SiegeGame: + // set separators + objectiveHud.setSeparators("96 122 177"); + objectiveHud.enableHorzSeparator(); + + // Team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "90 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "90 16"; + visible = "1"; + }; + // Team scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 3"; + extent = "20 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 19"; + extent = "20 16"; + visible = "1"; + }; + // Role label ("PROTECT" or "DESTROY") + objectiveHud.roleLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 3"; + extent = "50 16"; + visible = "1"; + }; + objectiveHud.roleLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 19"; + extent = "50 16"; + visible = "1"; + }; + // number of objectives to protect/destroy + objectiveHud.objectives[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "180 3"; + extent = "60 16"; + visible = "1"; + }; + objectiveHud.objectives[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "180 19"; + extent = "60 16"; + visible = "1"; + }; + + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamName[%i]); + objectiveHud.add(objectiveHud.teamScore[%i]); + objectiveHud.add(objectiveHud.roleLabel[%i]); + objectiveHud.add(objectiveHud.objectives[%i]); + } + + case TeamHuntersGame: + // set separators + objectiveHud.setSeparators("57 83 197"); + objectiveHud.enableHorzSeparator(); + + // flags label ("FLAGS") + objectiveHud.flagLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "50 16"; + visible = "1"; + text = "FLAGS"; + }; + // number of flags + objectiveHud.yourFlags = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 3"; + extent = "20 16"; + visible = "1"; + }; + // team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "85 3"; + extent = "110 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "85 19"; + extent = "110 16"; + visible = "1"; + }; + // team scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "200 3"; + extent = "40 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "200 19"; + extent = "40 16"; + visible = "1"; + }; + + objectiveHud.add(objectiveHud.flagLabel); + objectiveHud.add(objectiveHud.yourFlags); + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamName[%i]); + objectiveHud.add(objectiveHud.teamScore[%i]); + } + + case SinglePlayerGame: + // no separator lines + objectiveHud.setSeparators(""); + objectiveHud.disableHorzSeparator(); + + // two lines to print objectives + objectiveHud.spText[1] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "235 16"; + visible = "1"; + }; + objectiveHud.spText[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "235 16"; + visible = "1"; + }; + objectiveHud.add(objectiveHud.spText[1]); + objectiveHud.add(objectiveHud.spText[2]); + // z0dd - ZOD, 9/13/02. New gametype + case JBGame: + // set separators + objectiveHud.setSeparators("64 114 152 202"); + objectiveHud.enableHorzSeparator(); + + // Team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "60 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "60 16"; + visible = "1"; + }; + // In Jail ("JAILED") + objectiveHud.inJailLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 3"; + extent = "42 16"; + visible = "1"; + text = "JAILED"; + }; + objectiveHud.inJailLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 19"; + extent = "42 16"; + visible = "1"; + text = "JAILED"; + }; + // Players in Jail + objectiveHud.playersJailed[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 3"; + extent = "30 16"; + visible = "1"; + }; + objectiveHud.playersJailed[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 19"; + extent = "30 16"; + visible = "1"; + }; + // Score label ("SCORE") + objectiveHud.scoreLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 3"; + extent = "42 16"; + visible = "1"; + text = "SCORE"; + }; + objectiveHud.scoreLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 19"; + extent = "42 16"; + visible = "1"; + text = "SCORE"; + }; + // scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "206 3"; + extent = "30 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "206 19"; + extent = "30 16"; + visible = "1"; + }; + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamName[%i]); + objectiveHud.add(objectiveHud.inJailLabel[%i]); + objectiveHud.add(objectiveHud.playersJailed[%i]); + objectiveHud.add(objectiveHud.scoreLabel[%i]); + objectiveHud.add(objectiveHud.teamScore[%i]); + } + // z0dd - ZOD, 9/13/02. New gametype + case DnDGame: + // set separators + objectiveHud.setSeparators("75 114 150 210"); + objectiveHud.enableHorzSeparator(); + + // Team names + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "68 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "68 16"; + visible = "1"; + }; + // Label: Scores + objectiveHud.scoreLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 3"; + extent = "42 16"; + visible = "1"; + text = "Score"; + }; + objectiveHud.scoreLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 19"; + extent = "42 16"; + visible = "1"; + text = "Score"; + }; + // Team scores + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 3"; + extent = "30 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 19"; + extent = "30 16"; + visible = "1"; + }; + // Label: Objectives + objectiveHud.objectivesLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "158 3"; + extent = "44 16"; + visible = "1"; + text = "Objectives"; + }; + objectiveHud.objectivesLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "158 19"; + extent = "44 16"; + visible = "1"; + text = "Objectives"; + }; + // Team objectives + objectiveHud.objectives[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "210 3"; + extent = "30 16"; + visible = "1"; + }; + objectiveHud.objectives[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "210 19"; + extent = "30 16"; + visible = "1"; + }; + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add(objectiveHud.teamName[%i]); + objectiveHud.add(objectiveHud.scoreLabel[%i]); + objectiveHud.add(objectiveHud.teamScore[%i]); + objectiveHud.add(objectiveHud.objectivesLabel[%i]); + objectiveHud.add(objectiveHud.objectives[%i]); + } + } + chatPageDown.setVisible(false); +} + +addMessageCallback('MsgCheckTeamLines', checkTeamLines); + +function checkTeamLines(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %team = detag(%a1); + + if(%team == 1) + %other = 2; + else if(%team == 2) + %other = 1; + else + return; + + %tY = getWord(objectiveHud.teamName[%team].position, 1); + %oY = getWord(objectiveHud.teamName[%other].position, 1); + + // if player's team is lower on objective hud than other team is, switch them + if(%tY > %oY) + swapTeamLines(); +} + +function swapTeamLines() +{ + // if player's team is on the bottom of the objective hud, swap them so that it's on top + %bLeft = "GuiTextObjHudLeftProfile"; + %bCenter = "GuiTextObjHudCenterProfile"; + %gLeft = "GuiTextObjGreenLeftProfile"; + %gCenter = "GuiTextObjGreenCenterProfile"; + + %teamOneY = getWord(objectiveHud.teamName[1].position, 1); + %teamTwoY = getWord(objectiveHud.teamName[2].position, 1); + + // z0dd - ZOD, 9/13/02. Code streamlining + %newTop = %teamOneY > %teamTwoY ? 1 : 2; + %newBottom = %teamOneY > %teamTwoY ? 2 : 1; + + + // these are present in every team-based mission type + %nameX = firstWord(objectiveHud.teamName[1].position); + objectiveHud.teamName[1].position = %nameX SPC %teamTwoY; + objectiveHud.teamName[2].position = %nameX SPC %teamOneY; + objectiveHud.teamName[%newTop].setProfile(%gLeft); + objectiveHud.teamName[%newBottom].setProfile(%bLeft); + + %scoreX = firstWord(objectiveHud.teamScore[1].position); + objectiveHud.teamScore[1].position = %scoreX SPC %teamTwoY; + objectiveHud.teamScore[2].position = %scoreX SPC %teamOneY; + objectiveHud.teamScore[%newTop].setProfile(%gCenter); + objectiveHud.teamScore[%newBottom].setProfile(%bCenter); + + if(isObject(objectiveHud.flagLocation[1])) + { + // CTF + %locatX = firstWord(objectiveHud.flagLocation[1].position); + objectiveHud.flagLocation[1].position = %locatX SPC %teamTwoY; + objectiveHud.flagLocation[2].position = %locatX SPC %teamOneY; + // swap profiles so top line is green (don't bother with labels) + objectiveHud.flagLocation[%newTop].setProfile(%gLeft); + objectiveHud.flagLocation[%newBottom].setProfile(%bLeft); + } + if(isObject(objectiveHud.numHeld[1])) + { + // CnH + %locatX = firstWord(objectiveHud.numHeld[1].position); + objectiveHud.numHeld[1].position = %locatX SPC %teamTwoY; + objectiveHud.numHeld[2].position = %locatX SPC %teamOneY; + // swap profiles so top line is green (don't bother with labels) + objectiveHud.numHeld[%newTop].setProfile(%gCenter); + objectiveHud.numHeld[%newbottom].setProfile(%bCenter); + } + if(isObject(objectiveHud.objectives[1])) + { + // Siege + %locX = firstWord(objectiveHud.roleLabel[1].position); + objectiveHud.roleLabel[1].position = %locX SPC %teamTwoY; + objectiveHud.roleLabel[2].position = %locX SPC %teamOneY; + %locatX = firstWord(objectiveHud.objectives[1].position); + objectiveHud.objectives[1].position = %locatX SPC %teamTwoY; + objectiveHud.objectives[2].position = %locatX SPC %teamOneY; + // swap profiles so top line is green (don't forget role label) + objectiveHud.roleLabel[%newTop].setProfile(%gCenter); + objectiveHud.roleLabel[%newbottom].setProfile(%bCenter); + objectiveHud.objectives[%newTop].setProfile(%gCenter); + objectiveHud.objectives[%newbottom].setProfile(%bCenter); + } + if(isObject(objectiveHud.playersJailed[1])) // z0dd - ZOD, 9/13/02. New Gametype + { + %jailedX = firstWord(objectiveHud.playersJailed[1].position); + objectiveHud.playersJailed[1].position = %jailedX SPC %teamTwoY; + objectiveHud.playersJailed[2].position = %jailedX SPC %teamOneY; + objectiveHud.playersJailed[%newTop].setProfile(%gCenter); + objectiveHud.playersJailed[%newbottom].setProfile(%bCenter); + } + if (isObject(objectiveHud.objectives[1])) // z0dd - ZOD, 9/13/02. New Gametype + { + %locatX = firstWord(objectiveHud.objectives[1].position); + objectiveHud.objectives[1].position = %locatX SPC %teamTwoY; + objectiveHud.objectives[2].position = %locatX SPC %teamOneY; + objectiveHud.objectives[%newTop].setProfile(%gCenter); + objectiveHud.objectives[%newBottom].setProfile(%bCenter); + } +} + +//----------------------------------------------------------------------------- +//CLOCK HUD Callback +addMessageCallback('MsgSystemClock', setSystemClock); + +function setSystemClock(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + $Hud::TimeLimit = detag(%a1); + %timeLeftMS = detag(%a2); + clockHud.setTime(%timeLeftMS / (60 * 1000)); +} + +//----------------------------------------------------------------------------- +//Generic msg callbacks... + +addMessageCallback('MsgYourScoreIs', YourScoreIs); + +function YourScoreIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + if ( isObject( objectiveHud.yourScore ) ) + objectiveHud.yourScore.setValue( detag(%a1) ); +} + +addMessageCallback('MsgTeamScoreIs', teamScoreIs); + +function teamScoreIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %score = detag(%a2); + + if(%score $= "") + %score = 0; + + objectiveHud.teamScore[%teamNum].setValue(%score); +} + +addMessageCallback('MsgYourRankIs', yourRankIs); + +function yourRankIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + // the rank (+1) adjustment is taken care of server-side... + %rank = detag(%a1); + // no longer displayed in objective hud +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Bounty - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('msgBountyTargetIs', bountyTargetIs); + +function bountyTargetIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %hit = detag(%a1); + if(%hit $= "") + %hit = ""; + + objectiveHud.yourTarget.setValue(%hit); +} + +addMessageCallback('msgBountyTargetDropped', bountyTargetDropped); +addMessageCallback('msgBountyTargetEntObs', bountyTargetDropped); + +function bountyTargetDropped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + objectiveHud.yourTarget.setValue(""); +} + +//addMessageCallback('msgBountyObjRem', bountyObjRem); + +function bountyObjRem(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %objRem = detag(%a1); + + // this is no longer on the objective hud +} + +///////////////////////////////////////////////////////////////////////////////////////// +// CnH - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgCnHAddTeam', cnhAddTeam); + +function cnhAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + %score = detag(%a3); + if(%score $= "") + %score = 0; + %sLimit = detag(%a4); + %held = detag(%a5); + + objectiveHud.teamName[%teamNum].setValue(%teamName); + objectiveHud.teamScore[%teamNum].setValue(%score@"/"@%sLimit); + objectiveHud.numHeld[%teamNum].setValue(%held); +} + +addMessageCallback('MsgFlipFlopsHeld', hudFlipFlopsHeld); + +function hudFlipFlopsHeld(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %held = detag(%a2); + + objectiveHud.numHeld[%teamNum].setValue(%held); +} + +addMessageCallback('MsgCnHTeamCap', cnhTeamCap); + +function cnhTeamCap(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a4); + %score = detag(%a5); + %sLimit = detag(%a6); + %string = %score @ "/" @ %sLimit; + + objectiveHud.teamScore[%teamNum].setValue(%string); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// CTF - Gui Hud Control +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgCTFAddTeam', ctfAddTeam); + +function ctfAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + %flagStatus = detag(%a3); + %score = detag(%a4); + + objectiveHud.teamName[%teamNum].setValue(%teamName); + objectiveHud.teamScore[%teamNum].setValue(%score); + objectiveHud.flagLocation[%teamNum].setValue(%flagStatus); +} + +addMessageCallback('MsgCTFFlagTaken', ctfFlagTaken); + +function ctfFlagTaken(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %index = detag(%a3); + %taker = detag(%a4); + + objectiveHud.flagLocation[%index].setValue(%taker); +} + +addMessageCallback('MsgCTFFlagDropped', ctfFlagDropped); + +function ctfFlagDropped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %index = detag(%a3); + objectiveHud.flagLocation[%index].setValue(""); +} + +addMessageCallback('MsgCTFFlagCapped', ctfFlagCapped); + +function ctfFlagCapped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %index = detag(%a3); + objectiveHud.flagLocation[%index].setValue(""); +} + +addMessageCallback('MsgCTFFlagReturned', ctfFlagReturned); + +function ctfFlagReturned(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %index = detag(%a3); + objectiveHud.flagLocation[%index].setValue(""); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Deathmatch - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgDMPlayerDies', dmPlayerDies); + +function dmPlayerDies(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %deaths = detag(%a1); + objectiveHud.yourDeaths.setValue(%deaths); +} + +addMessageCallback('MsgDMKill', dmKill); + +function dmKill(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %kills = detag(%a1); + objectiveHud.yourKills.setValue(%kills); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Hunters - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgHuntAddTeam', huntAddTeam); + +function huntAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + %score = detag(%a3); + + objectiveHud.teamName[%teamNum].setValue(%teamName); + objectiveHud.teamScore[%teamNum].setValue(%score); +} + +addMessageCallback('MsgHuntGreedStatus', huntGreedStatus); + +function huntGreedStatus(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %greedStatus = detag(%a1); + %greedAmount = detag(%a2); + // no longer displayed in objective hud +} + +addMessageCallback('MsgHuntHoardStatus', hunthoardStatus); + +function huntHoardStatus(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + $Hud::HoardMode = detag(%a1); + $HUD::TimeLimit = detag(%a2); + %timeLeftMS = detag(%a3); + $HUD::HoardStartTime = detag(%a4); + $HUD::HoardDuration = detag(%a5); + // no longer displayed in objective hud +} + +function updateHoardStatusHUD(%timeLeftMS) +{ + // no longer displayed in objective hud +} + +addMessageCallback('MsgHuntYouHaveFlags', huntYouHaveFlags); + +function huntYouHaveFlags(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %numFlags = detag(%a1); + objectiveHud.yourFlags.setValue(%numFlags); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Rabbit - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgRabbitFlagTaken', rabbitFlagTaken); + +function rabbitFlagTaken(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %bunny = detag(%a1); + objectiveHud.rabbitName.setValue(%bunny); +} + +addMessageCallback('MsgRabbitFlagDropped', rabbitFlagDropped); + +function rabbitFlagDropped(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + objectiveHud.rabbitName.setValue(""); +} + +addMessageCallback('MsgRabbitFlagReturned', rabbitFlagReturned); + +function rabbitFlagReturned(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + objectiveHud.rabbitName.setValue(""); +} + +addMessageCallback('MsgRabbitFlagStatus', rabbitFlagStatus); + +function rabbitFlagStatus(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %flagStatus = detag(%a1); + objectiveHud.rabbitName.setValue(%flagStatus); +}///////////////////////////////////////////////////////////////////////////////////////// +// Siege - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgSiegeAddTeam', siegeAddTeam); + +function siegeAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + if(detag(%a3)) + %role = "CAPTURE"; + else + %role = "PROTECT"; + + objectiveHud.teamName[%teamNum].setValue(%teamName); + objectiveHud.roleLabel[%teamNum].setValue(%role); +} + +addMessageCallback('MsgSiegeRolesSwitched', siegeRolesSwitched); + +function siegeRolesSwitched(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %newOff = detag(%a2); + %newDef = %newOff == 1 ? 2: 1; + + objectiveHud.roleLabel[%newDef].setValue("PROTECT"); + objectiveHud.roleLabel[%newOff].setValue("CAPTURE"); + //objectiveHud.objectives[%newDef].setValue("1"); + //objectiveHud.objectives[%newOff].setValue("0"); +} + +///////////////////////////////////////////////////////////////////////////////////////// +// DnD - Hud Messages - z0dd - ZOD, 9/13/02. +///////////////////////////////////////////////////////////////////////////////////////// + +function dndAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + %score = detag(%a3); + if (%score $= "") + %score = 0; + + %sLimit = detag(%a4); + objectiveHud.teamName[%teamNum].setValue(%teamName); + objectiveHud.objectives[%teamNum].setValue(%sLimit); + objectiveHud.teamScore[%teamNum].setValue(%score); +} + +function dndTeamScores(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + %score = detag(%a3); + if(%score $= "") + %score = 0; + + %sLimit = detag(%a4); + objectiveHud.teamScore[%teamNum].setValue(%score); +} + +addMessageCallback('MsgDnDAddTeam', dndAddTeam); +addMessageCallback('MsgDnDTeamScores', dndTeamScores); + +///////////////////////////////////////////////////////////////////////////////////////// +// Single Player Game - Hud Messages +///////////////////////////////////////////////////////////////////////////////////////// + +//addMessageCallback('MsgSPYourRankIs', spYourRankIs); + +function spYourRankIs(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + //%rank = detag(%a1); + //objectiveHud.data[1,1].setValue(%rank); +} + +addMessageCallback('MsgSPCurrentObjective1', spCurrentObjective1); + +function spCurrentObjective1(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %obj = detag(%a1); + objectiveHud.spText[1].setValue(%obj); +} + +addMessageCallback('MsgSPCurrentObjective2', spCurrentObjective2); + +function spCurrentObjective2(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %obj = detag(%a1); + objectiveHud.spText[2].setValue(%obj); +} + +//addMessageCallback('MsgSPCurrentObjective3', spCurrentObjective3); + +//function spCurrentObjective3(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +//{ +// %obj = detag(%a1); +// objectiveHud.data[0,4].setValue(%obj); +//} + +///////////////////////////////////////////////////////////////////////////////////////// +// JB - Hud Messages - z0dd - ZOD, 9/13/02. +///////////////////////////////////////////////////////////////////////////////////////// + +function jbAddTeam(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %teamName = detag(%a2); + %score = detag(%a3); + if(%score $= "") + %score = 0; + + %jailed = detag(%a4); + if(%jailed $= "" || %jailed < 0) + %jailed = 0; + + objectiveHud.teamName[%teamNum].setValue(%teamName); + objectiveHud.playersJailed[%teamNum].setValue(%jailed); + objectiveHud.teamScore[%teamNum].setValue(%score); +} + +function jbRoundHeld(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a1); + %score = detag(%a2); + + objectiveHud.teamScore[%teamNum].setValue(%score); +} + +function jbJailed(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + %teamNum = detag(%a4); + %jailed = detag(%a5); + if(%jailed < 0) + %jailed = 0; + + objectiveHud.playersJailed[%teamNum].setValue(%jailed); +} + +addMessageCallback('MsgJBAddTeam', jbAddTeam); +addMessageCallback('MsgJBRoundHeld', jbRoundHeld); +addMessageCallback('MsgJBJailed', jbJailed); \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/pack.cs b/public/base/@vl2/scripts.vl2/scripts/pack.cs new file mode 100644 index 00000000..c2ec4b3e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/pack.cs @@ -0,0 +1,89 @@ +//---------------------------------------------------------------------------- + +datablock EffectProfile(TurretPackActivateEffect) +{ + effectname = "packs/generic_deploy"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(TurretPackActivateSound) +{ + filename = "fx/packs/turret_place.wav"; + description = AudioClose3D; + preload = true; + effect = TurretPackActivateEffect; +}; + + +//---------------------------------------------------------------------------- + +function Pack::onCollision(%data, %obj, %col) +{ + // Don't pick up a new pack if you have a satchel charge deployed: + if ( %col.thrownChargeId > 0 ) + return; + + ItemData::onCollision(%data, %obj, %col); +} + +function Pack::onUse(%data,%obj) +{ + if (%obj.getMountedImage($BackpackSlot) != %data.image.getId()) + %obj.mountImage(%data.image,$BackpackSlot); + else + { + // Toggle the image trigger. + %obj.setImageTrigger($BackpackSlot, + !%obj.getImageTrigger($BackpackSlot)); + } +} + +function Pack::onInventory(%data,%obj,%amount) +{ + //only do this for players + if(%obj.getClassName() !$= "Player") + return; + + // Auto-mount the packs on players + if((%oldPack = %obj.getMountedImage($BackpackSlot)) != 0) + %obj.setInventory(%oldPack.item, 0); + if (%amount && %obj.getDatablock().className $= Armor) + { + // if you picked up another pack after you placed a satchel charge but + // before you detonated it, delete the charge + if(%obj.thrownChargeId > 0) + { + %obj.thrownChargeId.delete(); + %obj.thrownChargeId = 0; + } + %obj.mountImage(%data.image,$BackpackSlot); + %obj.client.setBackpackHudItem(%data.getName(), 1); + } + if(%amount == 0 ) + { + if ( %data.getName() $= "SatchelCharge" ) + %obj.client.setBackpackHudItem( "SatchelUnarmed", 1 ); + else + %obj.client.setBackpackHudItem(%data.getName(), 0); + } + ItemData::onInventory(%data,%obj,%amount); +} + +//---------------------------------------------------------------------------- + +// --- Upgrade packs +exec("scripts/packs/ammopack.cs"); +exec("scripts/packs/cloakingpack.cs"); +exec("scripts/packs/energypack.cs"); +exec("scripts/packs/repairpack.cs"); +exec("scripts/packs/shieldpack.cs"); +exec("scripts/packs/satchelCharge.cs"); +exec("scripts/packs/sensorjammerpack.cs"); + +// --- Turret barrel packs +exec("scripts/packs/aabarrelpack.cs"); +exec("scripts/packs/missilebarrelpack.cs"); +exec("scripts/packs/mortarbarrelpack.cs"); +exec("scripts/packs/plasmabarrelpack.cs"); +exec("scripts/packs/ELFbarrelpack.cs"); diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/ELFbarrelPack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/ELFbarrelPack.cs new file mode 100644 index 00000000..1a87eb24 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/ELFbarrelPack.cs @@ -0,0 +1,61 @@ +//-------------------------------------------------------------------------- +// +// ELF barrel pack +// +//-------------------------------------------------------------------------- + +datablock ShapeBaseImageData(ELFBarrelPackImage) +{ + mass = 15; + + shapeFile = "pack_barrel_elf.dts"; + item = ELFBarrelPack; + mountPoint = 1; + offset = "0 0 0"; + turretBarrel = "ELFBarrelLarge"; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeOut[2] = "Idle"; + + isLarge = true; +}; + +datablock ItemData(ELFBarrelPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_barrel_elf.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "ELFBarrelPackImage"; + pickUpName = "an ELF barrel pack"; + + computeCRC = true; + +}; + +function ELFBarrelPackImage::onActivate(%data, %obj, %slot) +{ + checkTurretMount(%data, %obj, %slot); +} + +function ELFBarrelPackImage::onDeactivate(%data, %obj, %slot) +{ + %obj.setImageTrigger($BackpackSlot, false); +} + +function ELFBarrelPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/aabarrelPack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/aabarrelPack.cs new file mode 100644 index 00000000..87f34231 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/aabarrelPack.cs @@ -0,0 +1,63 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +datablock ShapeBaseImageData(AABarrelPackImage) +{ + mass = 15; + + shapeFile = "pack_barrel_aa.dts"; + item = AABarrelPack; + mountPoint = 1; + offset = "0 0 0"; + turretBarrel = "AABarrelLarge"; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeOut[2] = "Idle"; + + isLarge = true; +}; + +datablock ItemData(AABarrelPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_barrel_aa.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "AABarrelPackImage"; + pickUpName = "an anti-aircraft barrel pack"; + + computeCRC = true; + +}; + +//AABarrelPackImage.turretBarrel = "AABarrelLarge"; + +function AABarrelPackImage::onActivate(%data, %obj, %slot) +{ + checkTurretMount(%data, %obj, %slot); +} + +function AABarrelPackImage::onDeactivate(%data, %obj, %slot) +{ + %obj.setImageTrigger($BackpackSlot, false); +} + +function AABarrelPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/ammopack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/ammopack.cs new file mode 100644 index 00000000..ad720641 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/ammopack.cs @@ -0,0 +1,312 @@ +// ------------------------------------------------------------------ +// AMMO PACK +// can be used by any armor type +// uses no energy, does not have to be activated +// increases the max amount of non-energy ammo carried + +// put vars here for ammo max counts with ammo pack + +$AmmoItem[0] = PlasmaAmmo; +$AmmoItem[1] = ChaingunAmmo; +$AmmoItem[2] = DiscAmmo; +$AmmoItem[3] = GrenadeLauncherAmmo; +$AmmoItem[4] = MortarAmmo; +$AmmoItem[5] = MissileLauncherAmmo; +$AmmoItem[6] = RepairKit; + +$numAmmoItems = 7; + +$grenAmmoType[0] = Grenade; +$grenAmmoType[1] = ConcussionGrenade; +$grenAmmoType[2] = FlashGrenade; +$grenAmmoType[3] = FlareGrenade; + +$numGrenTypes = 4; + +datablock ShapeBaseImageData(AmmoPackImage) +{ + shapeFile = "pack_upgrade_ammo.dts"; + item = AmmoPack; + mountPoint = 1; + offset = "0 0 0"; +}; + +datablock ItemData(AmmoPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_ammo.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "AmmoPackImage"; + pickUpName = "an ammo pack"; + + computeCRC = true; + + +// lightType = "PulsingLight"; +// lightColor = "0.2 0.4 0.0 1.0"; +// lightTime = "1200"; +// lightRadius = "1.0"; + + max[PlasmaAmmo] = 30; + max[ChaingunAmmo] = 150; + max[DiscAmmo] = 15; + max[GrenadeLauncherAmmo] = 15; + max[MortarAmmo] = 10; + max[MissileLauncherAmmo] = 4; + max[Grenade] = 10; + max[ConcussionGrenade] = 10; + max[FlashGrenade] = 10; + max[FlareGrenade] = 10; + max[CameraGrenade] = 0; + max[Mine] = 5; + max[RepairKit] = 1; +}; + +function AmmoPack::onPickup(%this,%pack,%player,%amount) +{ + // %this = AmmoPack datablock + // %pack = AmmoPack object number + // %player = player + // %amount = 1 + + for (%idx = 0; %idx < $numAmmoItems; %idx++) + { + %ammo = $AmmoItem[%idx]; + if (%pack.inv[%ammo] > 0) + { + %amount = %pack.getInventory(%ammo); + %player.incInventory(%ammo,%amount); + %pack.setInventory(%ammo,0); + } + else if(%pack.inv[%ammo] == -1) + { + // this particular type of ammo has already been exhausted for this pack; + // don't give the player any + } + else + { + // Assume it's full if no inventory has been assigned + %player.incInventory(%ammo,%this.max[%ammo]); + } + } + // now check what type grenades (if any) player is carrying + %gFound = false; + for (%i = 0; %i < $numGrenTypes; %i++) + { + %gType = $grenAmmoType[%i]; + if(%player.inv[%gType] > 0) + { + %gFound = true; + %playerGrenType = %gType; + break; + } + } + // if player doesn't have any grenades at all, give 'em whatever the ammo pack has + if(!%gFound) + { + %given = false; + for(%j = 0; %j < $numGrenTypes; %j++) + { + %packGren = $grenAmmoType[%j]; + if(%pack.inv[%packGren] > 0) + { + // pack has some of these grenades + %player.incInventory(%packGren, %pack.getInventory(%packGren)); + %pack.setInventory(%packGren, 0); + %given = true; + break; + } + else if(%pack.inv[%packGren] == -1) + { + // the pack doesn't have any of this type of grenades + } + else + { + // pack has full complement of this grenade type + %player.incInventory(%packGren, %this.max[%packGren]); + %given = true; + } + if(%given) + break; + } + } + else + { + // player had some amount of grenades before picking up pack + if(%pack.inv[%playerGrenType] > 0) + { + // pack has 1 or more of this type of grenade + %player.incInventory(%playerGrenType, %pack.getInventory(%playerGrenType)); + %pack.setInventory(%playerGrenType, 0); + } + else if(%pack.inv[%playerGrenType] == -1) + { + // sorry Chester, the pack is out of these grenades. + } + else + { + // pack is uninitialized for this grenade type -- meaning it has full count + %player.incInventory(%playerGrenType, %this.max[%playerGrenType]); + } + } + // now see if player had mines selected and if they're allowed in this mission type + %mineFav = %player.client.favorites[getField(%player.client.mineIndex, 0)]; + if ( ( $InvBanList[$CurrentMissionType, "Mine"] !$= "1" ) + && !( ( %mineFav $= "EMPTY" ) || ( %mineFav $= "INVALID" ) ) ) + { + // player has selected mines, and they are legal in this mission type + if(%pack.inv[Mine] > 0) + { + // and the pack has some mines in it! bonus! + %player.incInventory(Mine, %pack.getInventory(Mine)); + %pack.setInventory(Mine, 0); + } + else if(%pack.inv[Mine] == -1) + { + // no mines left in the pack. do nothing. + } + else + { + // assume it's full of mines if no inventory has been assigned + %player.incInventory(Mine,%this.max[Mine]); + } + } +} + +function AmmoPack::onThrow(%this,%pack,%player) +{ + // %this = AmmoPack datablock + // %pack = AmmoPack object number + // %player = player + + %player.throwAmmoPack = 1; + dropAmmoPack(%pack, %player); + // do the normal ItemData::onThrow stuff -- sound and schedule deletion + serverPlay3D(ItemThrowSound, %player.getTransform()); + %pack.schedulePop(); +} + +function AmmoPack::onInventory(%this,%player,%value) +{ + // %this = AmmoPack + // %player = player + // %value = 1 if gaining a pack, 0 if losing a pack + + // the below test is necessary because this function is called everytime the ammo + // pack gains or loses an item + if(%player.getClassName() $= "Player") + { + if(!%value) + if(%player.throwAmmoPack == 1) + { + %player.throwAmmoPack = 0; + // ammo stuff already handled by AmmoPack::onThrow + } + else + { + // ammo pack was sold at inventory station -- no need to worry about + // setting the ammo in the pack object (it doesn't exist any more) + dropAmmoPack(-1, %player); + } + } + Pack::onInventory(%this,%player,%value); +} + +function dropAmmoPack(%packObj, %player) +{ + // %packObj = Ammo Pack object number if pack is being thrown, -1 if sold at inv station + // %player = player object + + for(%i = 0; %i < $numAmmoItems; %i++) + { + %ammo = $AmmoItem[%i]; + // %pAmmo == how much of this ammo type the player has + %pAmmo = %player.getInventory(%ammo); + // %pMax == how much of this ammo type the player's datablock says can be carried + %pMax = %player.getDatablock().max[%ammo]; + if(%pAmmo > %pMax) + { + // if player has more of this ammo type than datablock's max... + if(%packObj > 0) + { + // put ammo that player can't carry anymore in pack + %packObj.setInventory(%ammo, %pAmmo - %pMax); + } + // set player to max for this ammo type + %player.setInventory(%ammo, %pMax); + } + else + { + if(%packObj > 0) + { + // the pack gets -1 of this ammo type -- else it'll assume it's full + // can't use setInventory() because it won't allow values less than 1 + %packObj.inv[%ammo] = -1; + } + } + } + // and, of course, a pass for the grenades. Whee. + %gotGren = false; + // check to see what kind of grenades the player has. + for(%j = 0; %j < $numGrenTypes; %j++) + { + %gType = $grenAmmoType[%j]; + if(%player.inv[%gType] > 0) + { + %gotGren = true; + %playerGren = %gType; + break; + } + else + { + // ammo pack only carries type of grenades that player who bought it (or picked + // it up) had at the time -- all else are zeroed out (value of -1) + if(%packObj > 0) + %packObj.inv[%gType] = -1; + } + } + if(%gotGren) + { + %pAmmo = %player.getInventory(%playerGren); + %pMax = %player.getDatablock().max[%playerGren]; + if(%pAmmo > %pMax) + { + if(%packObj > 0) + %packObj.setInventory(%playerGren, %pAmmo - %pMax); + %player.setInventory(%playerGren, %pMax); + } + else + if(%packObj > 0) + %packObj.inv[%playerGren] = -1; + } + else + { + // player doesn't have any grenades at all. nothing needs to be done here. + } + // crap. forgot the mines. + if(%player.getInventory(Mine) > %player.getDatablock().max[Mine]) + { + // if player has more mines than datablock's max... + if(%packObj > 0) + { + // put mines that player can't carry anymore in pack + %packObj.setInventory(Mine, %player.getInventory(Mine) - %player.getDatablock().max[Mine]); + } + // set player to max mines + %player.setInventory(Mine, %player.getDatablock().max[Mine]); + } + else + { + if(%packObj > 0) + { + // the pack gets -1 for mines -- else it'll assume it's full + // can't use setInventory() because it won't allow values less than 1 + %packObj.inv[Mine] = -1; + } + } +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/cloakingpack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/cloakingpack.cs new file mode 100644 index 00000000..20bd1618 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/cloakingpack.cs @@ -0,0 +1,166 @@ +// ------------------------------------------------------------------ +// CLOAKING PACK +// +// When activated, this pack cloaks the user from all visual detection +// by other players and cameras. This is a local effect only (someone standing +// next to the cloaked player will still be visible). Motion sensors will +// still detect a (moving) cloaked player. +// +// When not activated, the pack creates a localized passive sensor dampening +// field. The user will not be visible to any non-motion-detecting sensor. +// +//Only light armors may equip with this item. + +datablock EffectProfile(CloakingPackActivateEffect) +{ + effectname = "packs/cloak_on"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(CloakingPackActivateSound) +{ + filename = "fx/packs/cloak_on.wav"; + description = CloseLooping3d; + preload = true; + effect = CloakingPackActivateEffect; +}; + +datablock ShapeBaseImageData(CloakingPackImage) +{ + shapeFile = "pack_upgrade_cloaking.dts"; + item = CloakingPack; + mountPoint = 1; + offset = "0 0 0"; + + usesEnergy = true; + minEnergy = 3; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateSequence[1] = "fire"; + stateSound[1] = CloakingPackActivateSound; + stateEnergyDrain[1] = 12; + stateTransitionOnTriggerUp[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeout[2] = "Idle"; +}; + +datablock ItemData(CloakingPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_cloaking.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "CloakingPackImage"; + pickUpName = "a cloaking pack"; + + computeCRC = true; + +}; + +function CloakingPackImage::onMount(%data, %obj, %node) +{ + // player is sensor-invisible while wearing pack (except to motion sensors) + %obj.setPassiveJammed(true); +} + +function CloakingPackImage::onUnmount(%data, %obj, %node) +{ + %obj.setPassiveJammed(false); + %obj.setCloaked(false); + %obj.setImageTrigger(%node, false); +} + +// make player completely invisible to all players/sensors (except motion) +function CloakingPackImage::onActivate(%data, %obj, %slot) +{ + if(%obj.reCloak !$= "") + { + Cancel(%obj.reCloak); + %obj.reCloak = ""; + } + + if(%obj.client.armor $= "Light") + { + // can the player currently cloak (function returns "true" or reason for failure)? + if(%obj.canCloak() $= "true") + { + messageClient(%obj.client, 'MsgCloakingPackOn', '\c2Cloaking pack on.'); + %obj.setCloaked(true); + if ( !isDemo() ) + commandToClient( %obj.client, 'setCloakIconOn' ); + } + else + { + // notify player that they cannot cloak + messageClient(%obj.client, 'MsgCloakingPackFailed', '\c2Jamming field prevents cloaking.'); + %obj.setImageTrigger(%slot, false); + } + } + else + { + // hopefully avoid some loopholes + messageClient(%obj.client, 'MsgCloakingPackInvalid', '\c2Cloaking available for light armors only.'); + %obj.setImageTrigger(%slot, false); + } +} + +function CloakingPackImage::onDeactivate(%data, %obj, %slot) +{ + if(%obj.reCloak !$= "") + { + Cancel(%obj.reCloak); + %obj.reCloak = ""; + } + + // if pack is not on then dont bother... + if(%obj.getImageState($BackpackSlot) $= "activate") + messageClient(%obj.client, 'MsgCloakingPackOff', '\c2Cloaking pack off.'); + + %obj.setCloaked(false); + %obj.setImageTrigger(%slot, false); + if ( !isDemo() ) + commandToClient( %obj.client, 'setCloakIconOff' ); +} + +function CloakingPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} + +function ShapeBaseData::onForceUncloak(%this, %obj, %reason) +{ + // dummy +} + +function Armor::onForceUncloak(%this, %obj, %reason) +{ + %pack = %obj.getMountedImage($BackpackSlot); + if((%pack <= 0) || (%pack.item !$= "CloakingPack")) + return; + + if(%obj.getImageState($BackpackSlot) $= "activate") + { + // cancel recloak thread + if(%obj.reCloak !$= "") + { + Cancel(%obj.reCloak); + %obj.reCloak = ""; + } + + messageClient(%obj.client, 'MsgCloakingPackOff', '\c2Cloaking pack off. Jammed.'); + %obj.setCloaked(false); + %obj.setImageTrigger($BackpackSlot, false); + } +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/energypack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/energypack.cs new file mode 100644 index 00000000..8ecd0ea7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/energypack.cs @@ -0,0 +1,51 @@ +// ------------------------------------------------------------------ +// ENERGY PACK +// can be used by any armor type +// does not have to be activated +// increases the user's energy recharge rate + +datablock ShapeBaseImageData(EnergyPackImage) +{ + shapeFile = "pack_upgrade_energy.dts"; + item = EnergyPack; + mountPoint = 1; + offset = "0 0 0"; + rechargeRateBoost = 0.15; + + stateName[0] = "default"; + stateSequence[0] = "activation"; +}; + +datablock ItemData(EnergyPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_energy.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "EnergyPackImage"; + pickUpName = "an energy pack"; + + computeCRC = true; + +}; + +function EnergyPackImage::onMount(%data, %obj, %node) +{ + %obj.setRechargeRate(%obj.getRechargeRate() + %data.rechargeRateBoost); + %obj.hasEnergyPack = true; // set for sniper check +} + +function EnergyPackImage::onUnmount(%data, %obj, %node) +{ + %obj.setRechargeRate(%obj.getRechargeRate() - %data.rechargeRateBoost); + %obj.hasEnergyPack = ""; +} + +function EnergyPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/missilebarrelPack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/missilebarrelPack.cs new file mode 100644 index 00000000..eb314748 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/missilebarrelPack.cs @@ -0,0 +1,65 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +datablock ShapeBaseImageData(MissileBarrelPackImage) +{ + mass = 15; + + className = TurretPack; + + shapeFile = "pack_barrel_missile.dts"; + item = MissileBarrelPack; + mountPoint = 1; + offset = "0 0 0"; + turretBarrel = "MissileBarrelLarge"; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeOut[2] = "Idle"; + + isLarge = true; +}; + +datablock ItemData(MissileBarrelPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_barrel_missile.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "MissileBarrelPackImage"; + pickUpName = "a missile barrel pack"; + + computeCRC = true; + +}; + +//MissileBarrelPackImage.turretBarrel = "MissileBarrelLarge"; + +function MissileBarrelPackImage::onActivate(%data, %obj, %slot) +{ + checkTurretMount(%data, %obj, %slot); +} + +function MissileBarrelPackImage::onDeactivate(%data, %obj, %slot) +{ + %obj.setImageTrigger($BackpackSlot, false); +} + +function MissileBarrelPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/mortarBarrelPack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/mortarBarrelPack.cs new file mode 100644 index 00000000..c3cc6bca --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/mortarBarrelPack.cs @@ -0,0 +1,63 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +datablock ShapeBaseImageData(MortarBarrelPackImage) +{ + mass = 15; + + className = TurretPack; + + shapeFile = "pack_barrel_mortar.dts"; + item = MortarBarrelPack; + mountPoint = 1; + offset = "0 0 0"; + turretBarrel = "MortarBarrelLarge"; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeOut[2] = "Idle"; + + isLarge = true; +}; + +datablock ItemData(MortarBarrelPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_barrel_mortar.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "MortarBarrelPackImage"; + pickUpName = "a mortar barrel pack"; + + computeCRC = true; + +}; + +function MortarBarrelPackImage::onActivate(%data, %obj, %slot) +{ + checkTurretMount(%data, %obj, %slot); +} + +function MortarBarrelPackImage::onDeactivate(%data, %obj, %slot) +{ + %obj.setImageTrigger($BackpackSlot, false); +} + +function MortarBarrelPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/plasmabarrelPack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/plasmabarrelPack.cs new file mode 100644 index 00000000..e8ced69a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/plasmabarrelPack.cs @@ -0,0 +1,61 @@ +//-------------------------------------------------------------------------- +// +// Plasma barrel pack +// +//-------------------------------------------------------------------------- + +datablock ShapeBaseImageData(PlasmaBarrelPackImage) +{ + mass = 15; + + shapeFile = "pack_barrel_fusion.dts"; + item = PlasmaBarrelPack; + mountPoint = 1; + offset = "0 0 0"; + turretBarrel = "PlasmaBarrelLarge"; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateTransitionOnTriggerUp[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeOut[2] = "Idle"; + + isLarge = true; +}; + +datablock ItemData(PlasmaBarrelPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_barrel_fusion.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "PlasmaBarrelPackImage"; + pickUpName = "a plasma barrel pack"; + + computeCRC = true; + +}; + +function PlasmaBarrelPackImage::onActivate(%data, %obj, %slot) +{ + checkTurretMount(%data, %obj, %slot); +} + +function PlasmaBarrelPackImage::onDeactivate(%data, %obj, %slot) +{ + %obj.setImageTrigger($BackpackSlot, false); +} + +function PlasmaBarrelPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/repairpack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/repairpack.cs new file mode 100644 index 00000000..7f3124fc --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/repairpack.cs @@ -0,0 +1,643 @@ +//-------------------------------------------------------------------------- +// Repair Pack +// can be used by any armor type +// when activated, gives user a "repair gun" that can be used to +// repair a damaged object or player. If there is no target in +// range for the repair gun, the user is repaired. + +//-------------------------------------------------------------------------- +// Sounds & feedback effects + +datablock EffectProfile(RepairPackActivateEffect) +{ + effectname = "packs/packs.repairPackOn"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(RepairPackFireEffect) +{ + effectname = "packs/repair_use"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(RepairPackActivateSound) +{ + filename = "fx/packs/packs.repairPackOn.wav"; + description = AudioClosest3d; + preload = true; + effect = RepairPackActivateEffect; +}; + +datablock AudioProfile(RepairPackFireSound) +{ + filename = "fx/packs/repair_use.wav"; + description = CloseLooping3d; + preload = true; + effect = RepairPackFireEffect; +}; + +//-------------------------------------------------------------------------- +// Projectile + +datablock RepairProjectileData(DefaultRepairBeam) +{ + sound = RepairPackFireSound; + + beamRange = 10; + beamWidth = 0.15; + numSegments = 20; + texRepeat = 0.20; + blurFreq = 10.0; + blurLifetime = 1.0; + cutoffAngle = 25.0; + + textures[0] = "special/redbump2"; + textures[1] = "special/redflare"; + +}; + + +//------------------------------------------------------------------------- +// shapebase datablocks + +datablock ShapeBaseImageData(RepairPackImage) +{ + shapeFile = "pack_upgrade_repair.dts"; + item = RepairPack; + mountPoint = 1; + offset = "0 0 0"; + emap = true; + + gun = RepairGunImage; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateSequence[1] = "fire"; + stateSound[1] = RepairPackActivateSound; + stateTransitionOnTriggerUp[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeout[2] = "Idle"; +}; + +datablock ItemData(RepairPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_repair.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "RepairPackImage"; + pickUpName = "a repair pack"; + + lightOnlyStatic = true; + lightType = "PulsingLight"; + lightColor = "1 0 0 1"; + lightTime = 1200; + lightRadius = 4; + + computeCRC = true; + emap = true; +}; + +//-------------------------------------------------------------------------- +// Repair Gun + +datablock ShapeBaseImageData(RepairGunImage) +{ + shapeFile = "weapon_repair.dts"; + offset = "0 0 0"; + + usesEnergy = true; + minEnergy = 3; + cutOffEnergy = 3.1; + emap = true; + + repairFactorPlayer = 0.002; // <--- attention DaveG! + repairFactorObject = 0.004; // <--- attention DaveG! + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.25; + + stateName[1] = "ActivateReady"; + stateScript[1] = "onActivateReady"; + stateSpinThread[1] = Stop; + stateTransitionOnAmmo[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "ActivateReady"; + + stateName[2] = "Ready"; + stateSpinThread[2] = Stop; + stateTransitionOnNoAmmo[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Validate"; + + stateName[3] = "Validate"; + stateTransitionOnTimeout[3] = "Validate"; + stateTimeoutValue[3] = 0.2; + stateEnergyDrain[3] = 3; + stateSpinThread[3] = SpinUp; + stateScript[3] = "onValidate"; + stateIgnoreLoadedForReady[3] = true; + stateTransitionOnLoaded[3] = "Repair"; + stateTransitionOnNoAmmo[3] = "Deactivate"; + stateTransitionOnTriggerUp[3] = "Deactivate"; + + stateName[4] = "Repair"; + stateSound[4] = RepairPackFireSound; + stateScript[4] = "onRepair"; + stateSpinThread[4] = FullSpeed; + stateAllowImageChange[4] = false; + stateSequence[4] = "activate"; + stateFire[4] = true; + stateEnergyDrain[4] = 9; + stateTimeoutValue[4] = 0.2; + stateTransitionOnTimeOut[4] = "Repair"; + stateTransitionOnNoAmmo[4] = "Deactivate"; + stateTransitionOnTriggerUp[4] = "Deactivate"; + stateTransitionOnNotLoaded[4] = "Validate"; + + stateName[5] = "Deactivate"; + stateScript[5] = "onDeactivate"; + stateSpinThread[5] = SpinDown; + stateSequence[5] = "activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 0.2; + stateTransitionOnTimeout[5] = "ActivateReady"; +}; + +function RepairPackImage::onUnmount(%data, %obj, %node) +{ + // dismount the repair gun if the player had it mounted + // need the extra "if" statement to avoid a console error message + if(%obj.getMountedImage($WeaponSlot)) + if(%obj.getMountedImage($WeaponSlot).getName() $= "RepairGunImage") + %obj.unmountImage($WeaponSlot); + // if the player was repairing something when the pack was thrown, stop repairing it + if(%obj.repairing != 0) + stopRepairing(%obj); +} + +function RepairPackImage::onActivate(%data, %obj, %slot) +{ + // don't activate the pack if player is piloting a vehicle + if(%obj.isPilot()) + { + %obj.setImageTrigger(%slot, false); + return; + } + + if(!isObject(%obj.getMountedImage($WeaponSlot)) || %obj.getMountedImage($WeaponSlot).getName() !$= "RepairGunImage") + { + messageClient(%obj.client, 'MsgRepairPackOn', '\c2Repair pack activated.'); + + // make sure player's arm thread is "look" + %obj.setArmThread(look); + + // mount the repair gun + %obj.mountImage(RepairGunImage, $WeaponSlot); + // clientCmdsetRepairReticle found in hud.cs + commandToClient(%obj.client, 'setRepairReticle'); + } +} + +function RepairPackImage::onDeactivate(%data, %obj, %slot) +{ + //called when the player hits the "pack" key again (toggle) + %obj.setImageTrigger(%slot, false); + // if repair gun was mounted, unmount it + if(%obj.getMountedImage($WeaponSlot).getName() $= "RepairGunImage") + %obj.unmountImage($WeaponSlot); +} + +function RepairGunImage::onMount(%this,%obj,%slot) +{ + %obj.setImageAmmo(%slot,true); + if ( !isDemo() ) + commandToClient( %obj.client, 'setRepairPackIconOn' ); +} + +function RepairGunImage::onUnmount(%this,%obj,%slot) +{ + // called when player switches to another weapon + + // stop repairing whatever player was repairing + if(%obj.repairing) + stopRepairing(%obj); + + %obj.setImageTrigger(%slot, false); + // "turn off" the repair pack -- player needs to hit the "pack" key to + // activate the repair gun again + %obj.setImageTrigger($BackpackSlot, false); + if ( !isDemo() ) + commandToClient( %obj.client, 'setRepairPackIconOff' ); +} + +function RepairGunImage::onActivateReady(%this,%obj,%slot) +{ + %obj.errMsgSent = false; + %obj.selfRepairing = false; + %obj.repairing = 0; + %obj.setImageLoaded(%slot, false); +} + +function RepairGunImage::onValidate(%this,%obj,%slot) +{ + // this = repairgunimage datablock + // obj = player wielding the repair gun + // slot = weapon slot + + if(%obj.getEnergyLevel() <= %this.cutOffEnergy) + { + stopRepairing(%obj); + return; + } + %repGun = %obj.getMountedImage(%slot); + // muzVec is the vector coming from the repair gun's "muzzle" + %muzVec = %obj.getMuzzleVector(%slot); + // muzNVec = normalized muzVec + %muzNVec = VectorNormalize(%muzVec); + %repairRange = DefaultRepairBeam.beamRange; + // scale muzNVec to the range the repair beam can reach + %muzScaled = VectorScale(%muzNVec, %repairRange); + // muzPoint = the actual point of the gun's "muzzle" + %muzPoint = %obj.getMuzzlePoint(%slot); + // rangeEnd = muzzle point + length of beam + %rangeEnd = VectorAdd(%muzPoint, %muzScaled); + // search for just about anything that can be damaged as well as interiors + %searchMasks = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType | + $TypeMasks::StaticShapeObjectType | $TypeMasks::TurretObjectType | $TypeMasks::InteriorObjectType; + // search for objects within the beam's range that fit the masks above + %scanTarg = ContainerRayCast(%muzPoint, %rangeEnd, %searchMasks, %obj); + // screen out interiors + if(%scanTarg && !(%scanTarg.getType() & $TypeMasks::InteriorObjectType)) + { + // a target in range was found + %repTgt = firstWord(%scanTarg); + // is the prospective target damaged? + if(%repTgt.notRepairable) + { + // this is an object that cant be repaired at all + // -- mission specific flag set on the object + if(!%obj.errMsgSent) + { + messageClient(%obj.client, 'MsgRepairPackIrrepairable', '\c2Target is not repairable.', %repTgt); + %obj.errMsgSent = true; + } + // if player was repairing something, stop the repairs -- we're done + if(%obj.repairing) + stopRepairing(%obj); + } + else if(%repTgt.getDamageLevel()) + { + // yes, it's damaged + if(%repTgt != %obj.repairing) + { + if(isObject(%obj.repairing)) + stopRepairing(%obj); + + %obj.repairing = %repTgt; + } + // setting imageLoaded to true sends us to repair state (function onRepair) + %obj.setImageLoaded(%slot, true); + } + else + { + // there is a target in range, but it's not damaged + if(!%obj.errMsgSent) + { + // if the target isn't damaged, send a message to that effect only once + messageClient(%obj.client, 'MsgRepairPackNotDamaged', '\c2Target is not damaged.', %repTgt); + %obj.errMsgSent = true; + } + // if player was repairing something, stop the repairs -- we're done + if(%obj.repairing) + stopRepairing(%obj); + } + } + + //AI hack - too many things influence the aiming, so I'm going to force the repair object for bots only + else if (%obj.client.isAIControlled() && isObject(%obj.client.repairObject)) + { + %repTgt = %obj.client.repairObject; + %repPoint = %repTgt.getAIRepairPoint(); + if (%repPoint $= "0 0 0") + %repPoint = %repTgt.getWorldBoxCenter(); + %repTgtVector = VectorNormalize(VectorSub(%muzPoint, %repPoint)); + %aimVector = VectorNormalize(VectorSub(%muzPoint, %rangeEnd)); + + //if the dot product is very close (ie. we're aiming in the right direction) + if (VectorDot(%repTgtVector, %aimVector) > 0.85) + { + //do an LOS to make sure nothing is in the way... + %scanTarg = ContainerRayCast(%muzPoint, %repPoint, %searchMasks, %obj); + if (firstWord(%scanTarg) == %repTgt) + { + // yes, it's damaged + + if(isObject(%obj.repairing)) + stopRepairing(%obj); + + %obj.repairing = %repTgt; + // setting imageLoaded to true sends us to repair state (function onRepair) + %obj.setImageLoaded(%slot, true); + } + } + } + else if(%obj.getDamageLevel()) + { + // there is no target in range, but the player is damaged + // check to see if we were repairing something before -- if so, stop repairing old target + if(%obj.repairing != 0) + if(%obj.repairing != %obj) + stopRepairing(%obj); + if(isObject(%obj.repairing)) + stopRepairing(%obj); + + %obj.repairing = %obj; + // quick, to onRepair! + %obj.setImageLoaded(%slot, true); + } + else + { + // there is no target in range, and the player isn't damaged + if(!%obj.errMsgSent) + { + // send an error message only once + messageClient(%obj.client, 'MsgRepairPackNoTarget', '\c2No target to repair.'); + %obj.errMsgSent = true; + } + stopRepairing(%obj); + } +} + +function RepairGunImage::onRepair(%this,%obj,%slot) +{ + // this = repairgunimage datablock + // obj = player wielding the repair gun + // slot = weapon slot + + if(%obj.getEnergyLevel() <= %this.cutOffEnergy) + { + stopRepairing(%obj); + return; + } + // reset the flag that indicates an error message has been sent + %obj.errMsgSent = false; + %target = %obj.repairing; + if(!%target) + { + // no target -- whoops! never mind + stopRepairing(%obj); + } + else + { + %target.repairedBy = %obj.client; //keep track of who last repaired this item + if(%obj.repairing == %obj) + { + // player is self-repairing + if(%obj.getDamageLevel()) + { + if(!%obj.selfRepairing) + { + // no need for a projectile, just send a message and up the repair rate + messageClient(%obj.client, 'MsgRepairPackPlayerSelfRepair', '\c2Repairing self.'); + %obj.selfRepairing = true; + startRepairing(%obj, true); + } + } + else + { + messageClient(%obj.client, 'MsgRepairPackSelfDone', '\c2Repairs completed on self.'); + stopRepairing(%obj); + %obj.errMsgSent = true; + } + } + else + { + // make sure we still have a target -- more vector fun!!! + %muzVec = %obj.getMuzzleVector(%slot); + %muzNVec = VectorNormalize(%muzVec); + %repairRange = DefaultRepairBeam.beamRange; + %muzScaled = VectorScale(%muzNVec, %repairRange); + %muzPoint = %obj.getMuzzlePoint(%slot); + %rangeEnd = VectorAdd(%muzPoint, %muzScaled); + + %searchMasks = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType | + $TypeMasks::StaticShapeObjectType | $TypeMasks::TurretObjectType; + + //AI hack to help "fudge" the repairing stuff... + if (%obj.client.isAIControlled() && isObject(%obj.client.repairObject) && %obj.client.repairObject == %obj.repairing) + { + %repTgt = %obj.client.repairObject; + %repPoint = %repTgt.getAIRepairPoint(); + if (%repPoint $= "0 0 0") + %repPoint = %repTgt.getWorldBoxCenter(); + %repTgtVector = VectorNormalize(VectorSub(%muzPoint, %repPoint)); + %aimVector = VectorNormalize(VectorSub(%muzPoint, %rangeEnd)); + + //if the dot product is very close (ie. we're aiming in the right direction) + if (VectorDot(%repTgtVector, %aimVector) > 0.85) + %scanTarg = ContainerRayCast(%muzPoint, %repPoint, %searchMasks, %obj); + } + else + %scanTarg = ContainerRayCast(%muzPoint, %rangeEnd, %searchMasks, %obj); + + if (%scanTarg) + { + %pos = getWords(%scanTarg, 1, 3); + %obstructMask = $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType; + %obstruction = ContainerRayCast(%muzPoint, %pos, %obstructMask, %obj); + if (%obstruction) + %scanTarg = "0"; + } + + if(%scanTarg) + { + // there's still a target out there + %repTgt = firstWord(%scanTarg); + // is the target damaged? + if(%repTgt.getDamageLevel()) + { + if(%repTgt != %obj.repairing) + { + // the target is not the same as the one we were just repairing + // stop repairing old target, start repairing new target + stopRepairing(%obj); + if(isObject(%obj.repairing)) + stopRepairing(%obj); + + %obj.repairing = %repTgt; + // extract the name of what player is repairing based on what it is + // if it's a player, it's the player's name (duh) + // if it's an object, look for a nametag + // if object has no nametag, just say what it is (e.g. generatorLarge) + if(%repTgt.getClassName() $= Player) + %tgtName = getTaggedString(%repTgt.client.name); + else if(%repTgt.getGameName() !$= "") + %tgtName = %repTgt.getGameName(); + else + %tgtName = %repTgt.getDatablock().getName(); + messageClient(%obj.client, 'MsgRepairPackRepairingObj', '\c2Repairing %1.', %tgtName, %repTgt); + startRepairing(%obj, false); + } + else + { + // it's the same target as last time + // changed to fix "2 players can't repair same object" bug + if(%obj.repairProjectile == 0) + { + if(%repTgt.getClassName() $= Player) + %tgtName = getTaggedString(%repTgt.client.name); + else if(%repTgt.getGameName() !$= "") + %tgtName = %repTgt.getGameName(); + else + %tgtName = %repTgt.getDatablock().getName(); + messageClient(%obj.client, 'MsgRepairPackRepairingObj', '\c2Repairing %1.', %tgtName, %repTgt); + startRepairing(%obj, false); + } + } + } + else + { + %rateOfRepair = %this.repairFactorObject; + if(%repTgt.getClassName() $= Player) + { + %tgtName = getTaggedString(%repTgt.client.name); + %rateOfRepair = %this.repairFactorPlayer; + } + else if(%repTgt.getGameName() !$= "") + %tgtName = %repTgt.getGameName(); + else + %tgtName = %repTgt.getDatablock().getName(); + if(%repTgt != %obj.repairing) + { + // it isn't the same object we were repairing previously + messageClient(%obj.client, 'MsgRepairPackNotDamaged', '\c2%1 is not damaged.', %tgtName); + } + else + { + // same target, but not damaged -- we must be done + messageClient(%obj.client, 'MsgRepairPackDone', '\c2Repairs completed.'); + Game.objectRepaired(%repTgt, %tgtName); + } + %obj.errMsgSent = true; + stopRepairing(%obj); + } + } + else + { + // whoops, we lost our target + messageClient(%obj.client, 'MsgRepairPackLostTarget', '\c2Repair target no longer in range.'); + stopRepairing(%obj); + } + } + } +} + +function RepairGunImage::onDeactivate(%this,%obj,%slot) +{ + stopRepairing(%obj); +} + +function stopRepairing(%player) +{ + // %player = the player who was using the repair pack + + if(%player.selfRepairing) + { + // there is no projectile for self-repairing + %player.setRepairRate(%player.getRepairRate() - %player.repairingRate); + %player.selfRepairing = false; + } + else if(%player.repairing > 0) + { + // player was repairing something else + //if(%player.repairing.beingRepaired > 0) + //{ + // don't decrement this stuff if it's already at 0 -- though it shouldn't be + //%player.repairing.beingRepaired--; + %player.repairing.setRepairRate(%player.repairing.getRepairRate() - %player.repairingRate); + //} + if(%player.repairProjectile > 0) + { + // is there a repair projectile? delete it + %player.repairProjectile.delete(); + %player.repairProjectile = 0; + } + } + %player.repairing = 0; + %player.repairingRate = 0; + %player.setImageTrigger($WeaponSlot, false); + %player.setImageLoaded($WeaponSlot, false); +} + +function startRepairing(%player, %self) +{ + // %player = the player who was using the repair pack + // %self = boolean -- is player repairing him/herself? + + if(%self) + { + // one repair, hold the projectile + %player.setRepairRate(%player.getRepairRate() + RepairGunImage.repairFactorPlayer); + %player.selfRepairing = true; + %player.repairingRate = RepairGunImage.repairFactorPlayer; + } + else + { + //if(%player.repairing.beingRepaired $= "") + // %player.repairing.beingRepaired = 1; + //else + // %player.repairing.beingRepaired++; + + //AI hack... + if (%player.client.isAIControlled() && %player.client.repairObject == %player.repairing) + { + %initialPosition = %player.getMuzzlePoint($WeaponSlot); + %initialDirection = VectorSub(%initialPosition, %player.repairing.getWorldBoxCenter()); + } + else + { + %initialDirection = %player.getMuzzleVector($WeaponSlot); + %initialPosition = %player.getMuzzlePoint($WeaponSlot); + } + if(%player.repairing.getClassName() $= Player) + %repRate = RepairGunImage.repairFactorPlayer; + else + %repRate = RepairGunImage.repairFactorObject; + %player.repairing.setRepairRate(%player.repairing.getRepairRate() + %repRate); + + %player.repairingRate = %repRate; + %player.repairProjectile = new RepairProjectile() { + dataBlock = DefaultRepairBeam; + initialDirection = %initialDirection; + initialPosition = %initialPosition; + sourceObject = %player; + sourceSlot = $WeaponSlot; + targetObject = %player.repairing; + }; + // ---------------------------------------------------- + // z0dd - ZOD, 5/27/02. Fix lingering projectile bug + if(isObject(%player.lastProjectile)) + %player.lastProjectile.delete(); + + %player.lastProjectile = %player.repairProjectile; + // End z0dd - ZOD + // ---------------------------------------------------- + MissionCleanup.add(%player.repairProjectile); + } +} + +function RepairPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/satchelCharge.cs b/public/base/@vl2/scripts.vl2/scripts/packs/satchelCharge.cs new file mode 100644 index 00000000..41fc4a68 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/satchelCharge.cs @@ -0,0 +1,736 @@ +//-------------------------------------------------------------------------- +// Satchel Charge pack +// can be used by any armor type +// when activated, throws the pack -- when activated again (before +// picking up another pack), detonates with a BIG explosion. + +//-------------------------------------------------------------------------- +// Sounds + +datablock EffectProfile(SatchelChargeActivateEffect) +{ + effectname = "packs/satchel_pack_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(SatchelChargeExplosionEffect) +{ + effectname = "packs/satchel_pack_detonate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(SatchelChargePreExplosionEffect) +{ + effectname = "explosions/explosion.xpl03"; + minDistance = 10.0; + maxDistance = 30.0; +}; + +datablock AudioProfile(SatchelChargeActivateSound) +{ + filename = "fx/packs/satchel_pack_activate.wav"; + description = AudioClose3d; + preload = true; + effect = SatchelChargeActivateEffect; +}; + +datablock AudioProfile(SatchelChargeExplosionSound) +{ + filename = "fx/packs/satchel_pack_detonate.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = SatchelChargeExplosionEffect; +}; + +datablock AudioProfile(SatchelChargePreExplosionSound) +{ + filename = "fx/explosions/explosion.xpl03.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = SatchelChargePreExplosionEffect; +}; + +datablock AudioProfile(UnderwaterSatchelChargeExplosionSound) +{ + filename = "fx/weapons/mortar_explode_UW.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = SatchelChargeExplosionEffect; +}; + +//---------------------------------------------------------------------------- +// Satchel Debris +//---------------------------------------------------------------------------- +datablock ParticleData( SDebrisSmokeParticle ) +{ + dragCoeffiecient = 1.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + + useInvAlpha = true; + + spinRandomMin = -60.0; + spinRandomMax = 60.0; + + colors[0] = "0.4 0.4 0.4 1.0"; + colors[1] = "0.3 0.3 0.3 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 0.0; + sizes[1] = 2.0; + sizes[2] = 3.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( SDebrisSmokeEmitter ) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 1; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.2; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "SDebrisSmokeParticle"; +}; + + +datablock DebrisData( SatchelDebris ) +{ + emitters[0] = SDebrisSmokeEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 0.3; + lifetimeVariance = 0.02; +}; + +//---------------------------------------------------------------------------- +// Bubbles +//---------------------------------------------------------------------------- +datablock ParticleData(SatchelBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 2.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.8; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(SatchelBubbleEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 7.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "MortarExplosionBubbleParticle"; +}; + +//-------------------------------------------------------------------------- +// Satchel Explosion Particle effects +//-------------------------------------- +datablock ParticleData(SatchelExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.0; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 2000; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "1.0 0.7 0.0 1.0"; + colors[1] = "0.2 0.2 0.2 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 7.0; + sizes[1] = 17.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(SatchelExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 14.25; + velocityVariance = 2.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 200; + + particles = "SatchelExplosionSmoke"; +}; + +datablock ParticleData(UnderwaterSatchelExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; + inheritedVelFactor = 0.025; + + constantAcceleration = -1.0; + + lifetimeMS = 1500; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.4 0.4 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 7.0; + sizes[1] = 17.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(UnderwaterSatchelExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 14.25; + velocityVariance = 2.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 200; + + particles = "UnderwaterSatchelExplosionSmoke"; +}; + + +datablock ParticleData(SatchelSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 150; + textureName = "special/bigSpark"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(SatchelSparksEmitter) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 40; + velocityVariance = 20.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "SatchelSparks"; +}; + +datablock ParticleData(UnderwaterSatchelSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/underwaterSpark"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.6 1.0 1.0"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterSatchelSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 30; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 70; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "UnderwaterSatchelSparks"; +}; + + +//--------------------------------------------------------------------------- +// Explosion +//--------------------------------------------------------------------------- + +datablock ExplosionData(SatchelSubExplosion) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + explosionScale = "0.5 0.5 0.5"; + + debris = SatchelDebris; + debrisThetaMin = 10; + debrisThetaMax = 80; + debrisNum = 8; + debrisVelocity = 60.0; + debrisVelocityVariance = 15.0; + + lifetimeMS = 1000; + delayMS = 0; + + emitter[0] = SatchelExplosionSmokeEmitter; + emitter[1] = SatchelSparksEmitter; + + offset = 0.0; + + playSpeed = 1.5; + + sizes[0] = "1.5 1.5 1.5"; + sizes[1] = "3.0 3.0 3.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(SatchelSubExplosion2) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + explosionScale = "0.7 0.7 0.7"; + + debris = SatchelDebris; + debrisThetaMin = 10; + debrisThetaMax = 170; + debrisNum = 8; + debrisVelocity = 60.0; + debrisVelocityVariance = 15.0; + + lifetimeMS = 1000; + delayMS = 50; + + emitter[0] = SatchelExplosionSmokeEmitter; + emitter[1] = SatchelSparksEmitter; + + offset = 9.0; + + playSpeed = 1.5; + + sizes[0] = "1.5 1.5 1.5"; + sizes[1] = "1.5 1.5 1.5"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(SatchelSubExplosion3) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + explosionScale = "1.0 1.0 1.0"; + + debris = SatchelDebris; + debrisThetaMin = 10; + debrisThetaMax = 170; + debrisNum = 8; + debrisVelocity = 60.0; + debrisVelocityVariance = 15.0; + + lifetimeMS = 2000; + delayMS = 100; + + emitter[0] = SatchelExplosionSmokeEmitter; + emitter[1] = SatchelSparksEmitter; + + offset = 9.0; + + playSpeed = 2.5; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(SatchelMainExplosion) +{ + soundProfile = SatchelChargePreExplosionSound; + + subExplosion[0] = SatchelSubExplosion; + subExplosion[1] = SatchelSubExplosion2; + subExplosion[2] = SatchelSubExplosion3; +}; + +//--------------------------------------------------------------------------- +// Underwater Explosion +//--------------------------------------------------------------------------- + +datablock ExplosionData(UnderwaterSatchelSubExplosion) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + explosionScale = "0.5 0.5 0.5"; + + + lifetimeMS = 1000; + delayMS = 0; + + emitter[0] = UnderwaterSatchelExplosionSmokeEmitter; + emitter[1] = UnderwaterSatchelSparksEmitter; + emitter[2] = SatchelBubbleEmitter; + + offset = 0.0; + + playSpeed = 0.75; + + sizes[0] = "1.5 1.5 1.5"; + sizes[1] = "2.5 2.5 2.5"; + sizes[2] = "2.0 2.0 2.0"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ExplosionData(UnderwaterSatchelSubExplosion2) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + explosionScale = "0.7 0.7 0.7"; + + + lifetimeMS = 1000; + delayMS = 50; + + emitter[0] = UnderwaterSatchelExplosionSmokeEmitter; + emitter[1] = UnderwaterSatchelSparksEmitter; + emitter[2] = SatchelBubbleEmitter; + + offset = 9.0; + + playSpeed = 0.75; + + sizes[0] = "1.5 1.5 1.5"; + sizes[1] = "1.0 1.0 1.0"; + sizes[2] = "0.75 0.75 0.75"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ExplosionData(UnderwaterSatchelSubExplosion3) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + explosionScale = "1.0 1.0 1.0"; + + + lifetimeMS = 2000; + delayMS = 100; + + emitter[0] = UnderwaterSatchelExplosionSmokeEmitter; + emitter[1] = UnderwaterSatchelSparksEmitter; + emitter[2] = SatchelBubbleEmitter; + + offset = 9.0; + + playSpeed = 1.25; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "1.0 1.0 1.0"; + sizes[2] = "0.5 0.5 0.5"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ExplosionData(UnderwaterSatchelMainExplosion) +{ + soundProfile = UnderwaterSatchelChargeExplosionSound; + + subExplosion[0] = UnderwaterSatchelSubExplosion; + subExplosion[1] = UnderwaterSatchelSubExplosion2; + subExplosion[2] = UnderwaterSatchelSubExplosion3; +}; + + +//-------------------------------------------------------------------------- +// Projectile + +//------------------------------------------------------------------------- +// shapebase datablocks +datablock ShapeBaseImageData(SatchelChargeImage) +{ + shapeFile = "pack_upgrade_satchel.dts"; + item = SatchelCharge; + mountPoint = 1; + offset = "0 0 0"; + emap = true; +}; + +datablock ItemData(SatchelCharge) +{ + className = Pack; + catagory = "Packs"; + image = SatchelChargeImage; + shapeFile = "pack_upgrade_satchel.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + pickUpName = "a satchel charge pack"; + + computeCRC = true; +}; + +datablock ItemData(SatchelChargeThrown) +{ + shapeFile = "pack_upgrade_satchel.dts"; + explosion = SatchelMainExplosion; + underwaterExplosion = UnderwaterSatchelMainExplosion; + mass = 1.2; + elasticity = 0.1; + friction = 0.9; + rotate = false; + pickupRadius = 0; + noTimeout = true; + armDelay = 3000; + maxDamage = 0.6; + + kickBackStrength = 4000; + + computeCRC = true; +}; + +//-------------------------------------------------------------------------- + +function SatchelCharge::onUse(%this, %obj) +{ + %item = new Item() { + dataBlock = SatchelChargeThrown; + rotation = "0 0 1 " @ (getRandom() * 360); + }; + MissionCleanup.add(%item); + // take pack out of inventory and unmount image + %obj.decInventory(SatchelCharge, 1); + %obj.throwObject(%item); + //error("throwing satchel charge #" @ %item); + %obj.thrownChargeId = %item; + %item.sourceObject = %obj; + %item.armed = false; + %item.damaged = 0.0; + %item.thwart = false; + // arm itself 3 seconds after being thrown + schedule(%item.getDatablock().armDelay, %item, "initArmSatchelCharge", %item); + messageClient(%obj.client, 'MsgSatchelChargePlaced', "\c2Satchel charge deployed."); +} + +function initArmSatchelCharge(%satchel) +{ + // "deet deet deet" sound + %satchel.playAudio(1, SatchelChargeActivateSound); + // also need to play "antenna extending" animation + %satchel.playThread(0, "deploy"); + %satchel.playThread(1, "activate"); + + // delay the actual arming until after sound is done playing + schedule( 2200, 0, "armSatchelCharge", %satchel ); +} + +function armSatchelCharge(%satchel) +{ + %satchel.armed = true; + commandToClient( %satchel.sourceObject.client, 'setSatchelArmed' ); +} + +function detonateSatchelCharge(%player) +{ + %satchelCharge = %player.thrownChargeId; + // can't detonate the satchel charge if it isn't armed + if(!%satchelCharge.armed) + return; + + //error("Detonating satchel charge #" @ %satchelCharge @ " for player #" @ %player); + + if(%satchelCharge.getDamageState() !$= Destroyed) + { + %satchelCharge.setDamageState(Destroyed); + %satchelCharge.blowup(); + } + + if(isObject(%player)) + %player.thrownChargeId = 0; + + // Clear the player's HUD: + %player.client.clearBackpackIcon(); +} + +function SatchelChargeThrown::onEnterLiquid(%data, %obj, %coverage, %type) +{ + // lava types + if(%type >=4 && %type <= 6) + { + if(%obj.getDamageState() !$= "Destroyed") + { + %obj.armed = true; + detonateSatchelCharge(%obj.sourceObject); + return; + } + } + + // quickSand + if(%type == 7) + if(isObject(%obj.sourceObject)) + %obj.sourceObject.thrownChargeId = 0; + + Parent::onEnterLiquid(%data, %obj, %coverage, %type); +} + +function SatchelChargeImage::onMount(%data, %obj, %node) +{ + %obj.thrownChargeId = 0; +} + +function SatchelChargeImage::onUnmount(%data, %obj, %node) +{ +} + +function SatchelChargeThrown::onDestroyed(%this, %object, %lastState) +{ + if(%object.kaboom) + return; + else + { + %object.kaboom = true; + + // the "thwart" flag is set if the charge is destroyed with weapons rather + // than detonated. A less damaging explosion, but visually the same scale. + if(%object.thwart) + { + messageClient(%object.sourceObject.client, 'msgSatchelChargeDetonate', "\c2Satchel charge destroyed."); + %dmgRadius = 10; + %dmgMod = 0.3; + %expImpulse = 1000; + %dmgType = $DamageType::Explosion; + } + else + { + messageClient(%object.sourceObject.client, 'msgSatchelChargeDetonate', "\c2Satchel charge detonated!"); + %dmgRadius = 20; + %dmgMod = 1.0; + %expImpulse = 2500; + %dmgType = $DamageType::SatchelCharge; + } + + %object.blowingUp = true; + RadiusExplosion(%object, %object.getPosition(), %dmgRadius, %dmgMod, %expImpulse, %object.sourceObject, %dmgType); + + %object.schedule(1000, "delete"); + } + + // ------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Addition. Satchel bug fix. Prior to fix, + // clients couldn't pick up packs when satchel was destroyed from dmg. + if(isObject(%object.sourceObject)) + %object.sourceObject.thrownChargeId = 0; +} + +function SatchelChargeThrown::onCollision(%data,%obj,%col) +{ + // Do nothing... +} + +function SatchelChargeThrown::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if (!%object.blowingUp) + { + %targetObject.damaged += %amount; + + if(%targetObject.damaged >= %targetObject.getDataBlock().maxDamage && + %targetObject.getDamageState() !$= Destroyed) + { + %targetObject.thwart = true; + %targetObject.setDamageState(Destroyed); + %targetObject.blowup(); + + // clear the player's HUD: + %targetObject.sourceObject.client.clearBackPackIcon(); + } + } +} + +function SatchelCharge::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/sensorjammerpack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/sensorjammerpack.cs new file mode 100644 index 00000000..9e5415e6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/sensorjammerpack.cs @@ -0,0 +1,133 @@ +// ------------------------------------------------------------------ +// SENSOR JAMMER PACK +// +// When activated, the sensor jammer pack emits a sensor-jamming field of +// 20m radius. Any players within this field are completely invisible to +// all sensors, turrets and cameras. +// +// When not activated, the pack has no effect. +// +datablock EffectProfile(SensorJammerPackActivateEffect) +{ + effectname = "packs/cloak_on"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(SensorJammerActivateSound) +{ + filename = "fx/packs/sensorjammerpack_on.wav"; + description = ClosestLooping3d; + preload = true; + effect = SensorJammerPackActivateEffect; +}; + +datablock ShapeBaseImageData(SensorJammerPackImage) +{ + shapeFile = "pack_upgrade_sensorjammer.dts"; + item = SensorJammerPack; + mountPoint = 1; + offset = "0 0 0"; + + usesEnergy = true; + minEnergy = 3; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateSequence[1] = "fire"; + stateSound[1] = SensorJammerActivateSound; + stateEnergyDrain[1] = 10.5; + stateTransitionOnTriggerUp[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeout[2] = "Idle"; +}; + +datablock ItemData(SensorJammerPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_sensorjammer.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "SensorJammerPackImage"; + pickUpName = "a sensor jammer pack"; + + computeCRC = true; +}; + +// datablock SensorData(JammerSensorObjectPassive) +// { +// // same detection info as 'PlayerObject' sensorData +// detects = true; +// detectsUsingLOS = true; +// detectsPassiveJammed = true; +// detectRadius = 2000; +// detectionPings = false; +// detectsFOVOnly = true; +// detectFOVPercent = 1.3; +// useObjectFOV = true; +// +// jams = true; +// jamsOnlyGroup = true; +// jamsUsingLOS = true; +// jamRadius = 0; +// }; + +datablock SensorData(JammerSensorObjectActive) +{ + // same detection info as 'PlayerObject' sensorData + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = true; + detectRadius = 2000; + detectionPings = false; + detectsFOVOnly = true; + detectFOVPercent = 1.3; + useObjectFOV = true; + + jams = true; + jamsOnlyGroup = true; + jamsUsingLOS = true; + jamRadius = 30; +}; + +function SensorJammerPackImage::onUnmount(%data, %obj, %slot) +{ + setTargetSensorData(%obj.client.target, PlayerSensor); + %obj.setImageTrigger(%slot, false); +} + +function SensorJammerPackImage::onActivate(%data, %obj, %slot) +{ + messageClient(%obj.client, 'MsgSensorJammerPackOn', '\c2Sensor jammer pack on.'); + setTargetSensorData(%obj.client.target, JammerSensorObjectActive); + if ( !isDemo() ) + commandToClient( %obj.client, 'setSenJamIconOn' ); + + %obj.setJammerFX( true ); +} + +function SensorJammerPackImage::onDeactivate(%data, %obj, %slot) +{ + messageClient(%obj.client, 'MsgSensorJammerPackOff', '\c2Sensor jammer pack off.'); + %obj.setImageTrigger(%slot, false); + setTargetSensorData(%obj.client.target, PlayerSensor); + if ( !isDemo() ) + commandToClient( %obj.client, 'setSenJamIconOff' ); + + %obj.setJammerFX( false ); +} + +function SensorJammerPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} diff --git a/public/base/@vl2/scripts.vl2/scripts/packs/shieldpack.cs b/public/base/@vl2/scripts.vl2/scripts/packs/shieldpack.cs new file mode 100644 index 00000000..69410854 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/packs/shieldpack.cs @@ -0,0 +1,94 @@ +// ------------------------------------------------------------------ +// SHIELD PACK +// can be used by any armor type +// while activated, absorbs damage at cost of energy + +datablock EffectProfile(ShieldPackActivateEffect) +{ + effectname = "packs/shield_on"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(ShieldPackActivateSound) +{ + filename = "fx/packs/shield_on.wav"; + description = ClosestLooping3d; + preload = true; + effect = ShieldPackActivateEffect; +}; + +datablock ShapeBaseImageData(ShieldPackImage) +{ + shapeFile = "pack_upgrade_shield.dts"; + item = ShieldPack; + mountPoint = 1; + offset = "0 0 0"; + + usesEnergy = true; + minEnergy = 3; + + stateName[0] = "Idle"; + stateTransitionOnTriggerDown[0] = "Activate"; + + stateName[1] = "Activate"; + stateScript[1] = "onActivate"; + stateSequence[1] = "fire"; + stateSound[1] = ShieldPackActivateSound; + stateEnergyDrain[1] = 9; + stateTransitionOnTriggerUp[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "Deactivate"; + + stateName[2] = "Deactivate"; + stateScript[2] = "onDeactivate"; + stateTransitionOnTimeout[2] = "Idle"; +}; + +datablock ItemData(ShieldPack) +{ + className = Pack; + catagory = "Packs"; + shapeFile = "pack_upgrade_shield.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + rotate = true; + image = "ShieldPackImage"; + pickUpName = "a shield pack"; + + computeCRC = true; +}; + +function ShieldPackImage::onMount(%data, %obj, %node) +{ +} + +function ShieldPackImage::onUnmount(%data, %obj, %node) +{ + %obj.setImageTrigger(%node, false); + %obj.isShielded = ""; +} + +function ShieldPackImage::onActivate(%data, %obj, %slot) +{ + messageClient(%obj.client, 'MsgShieldPackOn', '\c2Shield pack on.'); + %obj.isShielded = true; + if ( !isDemo() ) + commandToClient( %obj.client, 'setShieldIconOn' ); +} + +function ShieldPackImage::onDeactivate(%data, %obj, %slot) +{ + messageClient(%obj.client, 'MsgShieldPackOff', '\c2Shield pack off.'); + %obj.setImageTrigger(%slot,false); + %obj.isShielded = ""; + if ( !isDemo() ) + commandToClient( %obj.client, 'setShieldIconOff' ); +} + +function ShieldPack::onPickup(%this, %obj, %shape, %amount) +{ + // created to prevent console errors +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/particleDummies.cs b/public/base/@vl2/scripts.vl2/scripts/particleDummies.cs new file mode 100644 index 00000000..526407ca --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/particleDummies.cs @@ -0,0 +1,21 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +datablock ParticleEmissionDummyData(defaultEmissionDummy) +{ + timeMultiple = 1.0; +}; + +datablock ParticleEmissionDummyData(halftimeEmissionDummy) +{ + timeMultiple = 0.5; +}; + +datablock ParticleEmissionDummyData(doubleTimeEmissionDummy) +{ + timeMultiple = 2.0; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/particleEmitter.cs b/public/base/@vl2/scripts.vl2/scripts/particleEmitter.cs new file mode 100644 index 00000000..8e251ab2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/particleEmitter.cs @@ -0,0 +1,114 @@ +//-------------------------------------------------------------------------- +// ParticleEmitter data: +// A note about the phiReferenceVel, it will only be useful in cases in +// which the axis of the emitter is not changed over the life of the emission +// i.e., a linear projectile say, or an explosion that sits in one place. A +// grenade, for instance, wouldn't necessarily give the desired result (though +// it might in certain cases). +// One more note: overrideAdvances should probably only be turned on for emitters +// that are attached to explosions. It prevents the emitter from advancing a particle +// to the boundary of the update it was created in. Its useful for explosion emitters, +// which fake a 1000 ms update, and never update again, since we sometimes want those +// particles to pop up with exactly the same position. On a projectile, it's likely +// to cause non-random looking particle "clumps" if there's a low frame rate condition +// on the client. +// +//-------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +//-------------------------------------- Particles +// +datablock ParticleData(DefaultParticle) +{ + dragCoefficient = 0.0; // Not affected by drag + gravityCoefficient = 0.0; // ...or gravity + windCoefficient = 1.0; + + inheritedVelFactor = 0.0; // Do not inherit emitters velocity + constantAcceleration = 0.0; // No constant accel along initial velocity + + lifetimeMS = 1000; // lasts 1 second + lifetimeVarianceMS = 0; // ...exactly + + textureName = "particleTest"; + + colors[0] = "1 1 1 1"; // All white, no blending + colors[1] = "1 1 1 1"; + colors[2] = "1 1 1 1"; + colors[3] = "1 1 1 1"; + + sizes[0] = 1; // One meter across + sizes[1] = 1; + sizes[2] = 1; + sizes[3] = 1; + + times[0] = 0.0; // Linear blend from color[0] to color[1] + times[1] = 1.0; // Note that times[0] is always 0 + times[2] = 2.0; // even when set in the data block. + times[3] = 2.0; +}; + +datablock ParticleData(FallingParticleRed) +{ + dragCoefficient = 1.5; + gravityCoefficient = 0.2; + + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + colors[0] = "0.46 0.36 0.26 1.0"; + colors[1] = "0.46 0.36 0.26 0.0"; + sizes[0] = 0.35; + sizes[1] = 0.30; +}; + + +//-------------------------------------------------------------------------- +//-------------------------------------- Emitters +// +datablock ParticleEmitterData(DefaultEmitter) +{ + ejectionPeriodMS = 100; // 10 Particles Per second + periodVarianceMS = 0; // ...exactly + + ejectionVelocity = 2.0; // From 1.0 - 3.0 meters per sec + velocityVariance = 1.0; + + ejectionOffset = 0.0; // Emit at the emitter origin + + thetaMin = 0.0; // All theta angles + thetaMax = 90.0; + + phiReferenceVel = 0.0; // All phi angles + phiVariance = 360.0; + + overrideAdvances = false; + + particles = "DefaultParticle"; +}; + +datablock ParticleEmitterData(ReverseEmitter) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 5; + + ejectionVelocity = 1.1; // From 1.0 - 3.0 meters per sec + velocityVariance = 1.0; + + ejectionOffset = 0.0; + + thetaMin = 0.0; + thetaMax = 10.0; + + phiReferenceVel = 0; + phiVariance = 360; + + overrideAdvances = false; + + particles = "FallingParticleRed"; +}; \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/player.cs b/public/base/@vl2/scripts.vl2/scripts/player.cs new file mode 100644 index 00000000..89f0e317 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/player.cs @@ -0,0 +1,3241 @@ +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- + +$InvincibleTime = 6; + +// Load dts shapes and merge animations +exec("scripts/light_male.cs"); +exec("scripts/medium_male.cs"); +exec("scripts/heavy_male.cs"); +exec("scripts/light_female.cs"); +exec("scripts/medium_female.cs"); +exec("scripts/bioderm_light.cs"); +exec("scripts/bioderm_medium.cs"); +exec("scripts/bioderm_heavy.cs"); + +$CorpseTimeoutValue = 22 * 1000; + +//Damage Rate for entering Liquid +$DamageLava = 0.0325; +$DamageHotLava = 0.0325; +$DamageCrustyLava = 0.0325; + +$PlayerDeathAnim::TorsoFrontFallForward = 1; +$PlayerDeathAnim::TorsoFrontFallBack = 2; +$PlayerDeathAnim::TorsoBackFallForward = 3; +$PlayerDeathAnim::TorsoLeftSpinDeath = 4; +$PlayerDeathAnim::TorsoRightSpinDeath = 5; +$PlayerDeathAnim::LegsLeftGimp = 6; +$PlayerDeathAnim::LegsRightGimp = 7; +$PlayerDeathAnim::TorsoBackFallForward = 8; +$PlayerDeathAnim::HeadFrontDirect = 9; +$PlayerDeathAnim::HeadBackFallForward = 10; +$PlayerDeathAnim::ExplosionBlowBack = 11; + +datablock SensorData(PlayerSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = true; + detectRadius = 2000; + detectionPings = false; + detectsFOVOnly = true; + detectFOVPercent = 1.3; + useObjectFOV = true; +}; + +//---------------------------------------------------------------------------- + +datablock EffectProfile(ArmorJetEffect) +{ + effectname = "armor/thrust"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ImpactSoftEffect) +{ + effectname = "armor/light_land_soft"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ImpactHardEffect) +{ + effectname = "armor/light_land_hard"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ImpactMetalEffect) +{ + effectname = "armor/light_land_metal"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ImpactSnowEffect) +{ + effectname = "armor/light_land_snow"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(CorpseLootingEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MountVehicleEffect) +{ + effectname = "vehicles/mount_dis"; + minDistance = 5; + maxDistance = 20; +}; + +datablock EffectProfile(UnmountVehicleEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 5; + maxDistance = 20; +}; + +datablock EffectProfile(GenericPainEffect) +{ + effectname = "misc/generic_pain"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(GenericDeathEffect) +{ + effectname = "misc/generic_death"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ImpactHeavyWaterEasyEffect) +{ + effectname = "armor/general_water_smallsplash"; + minDistance = 5; + maxDistance = 15; +}; + +datablock EffectProfile(ImpactHeavyMediumWaterEffect) +{ + effectname = "armor/general_water_medsplash"; + minDistance = 5; + maxDistance = 15; +}; + +datablock EffectProfile(ImpactHeavyWaterHardEffect) +{ + effectname = "armor/general_water_bigsplash"; + minDistance = 5; + maxDistance = 15; +}; + +//---------------------------------------------------------------------------- +//datablock AudioProfile( DeathCrySound ) +//{ +// fileName = ""; +// description = AudioClose3d; +// preload = true; +//}; +// +//datablock AudioProfile( PainCrySound ) +//{ +// fileName = ""; +// description = AudioClose3d; +// preload = true; +//}; + +datablock AudioProfile(ArmorJetSound) +{ + filename = "fx/armor/thrust.wav"; + description = CloseLooping3d; + preload = true; + effect = ArmorJetEffect; +}; + +datablock AudioProfile(ArmorWetJetSound) +{ + filename = "fx/armor/thrust_uw.wav"; + description = CloseLooping3d; + preload = true; + effect = ArmorJetEffect; +}; + +datablock AudioProfile(MountVehicleSound) +{ + filename = "fx/vehicles/mount_dis.wav"; + description = AudioClose3d; + preload = true; + effect = MountVehicleEffect; +}; + +datablock AudioProfile(UnmountVehicleSound) +{ + filename = "fx/vehicles/mount.wav"; + description = AudioClose3d; + preload = true; + effect = UnmountVehicleEffect; +}; + +datablock AudioProfile(CorpseLootingSound) +{ + fileName = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = CorpseLootingEffect; +}; + +datablock AudioProfile(ArmorMoveBubblesSound) +{ + filename = "fx/armor/bubbletrail2.wav"; + description = CloseLooping3d; + preload = true; +}; + +datablock AudioProfile(WaterBreathMaleSound) +{ + filename = "fx/armor/breath_uw.wav"; + description = ClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(WaterBreathFemaleSound) +{ + filename = "fx/armor/breath_fem_uw.wav"; + description = ClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(waterBreathBiodermSound) +{ + filename = "fx/armor/breath_bio_uw.wav"; + description = ClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(SkiAllSoftSound) +{ + filename = "fx/armor/ski_soft.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(SkiAllHardSound) +{ + filename = "fx/armor/ski_soft.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(SkiAllMetalSound) +{ + filename = "fx/armor/ski_soft.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(SkiAllSnowSound) +{ + filename = "fx/armor/ski_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +//SOUNDS ----- LIGHT ARMOR-------- +datablock AudioProfile(LFootLightSoftSound) +{ + filename = "fx/armor/light_LF_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootLightSoftSound) +{ + filename = "fx/armor/light_RF_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootLightHardSound) +{ + filename = "fx/armor/light_LF_hard.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootLightHardSound) +{ + filename = "fx/armor/light_RF_hard.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootLightMetalSound) +{ + filename = "fx/armor/light_LF_metal.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootLightMetalSound) +{ + filename = "fx/armor/light_RF_metal.wav"; + description = AudioClose3d; + preload = true; +}; +datablock AudioProfile(LFootLightSnowSound) +{ + filename = "fx/armor/light_LF_snow.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootLightSnowSound) +{ + filename = "fx/armor/light_RF_snow.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootLightShallowSplashSound) +{ + filename = "fx/armor/light_LF_water.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootLightShallowSplashSound) +{ + filename = "fx/armor/light_RF_water.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootLightWadingSound) +{ + filename = "fx/armor/light_LF_wade.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootLightWadingSound) +{ + filename = "fx/armor/light_RF_wade.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootLightUnderwaterSound) +{ + filename = "fx/armor/light_LF_uw.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootLightUnderwaterSound) +{ + filename = "fx/armor/light_RF_uw.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootLightBubblesSound) +{ + filename = "fx/armor/light_LF_bubbles.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootLightBubblesSound) +{ + filename = "fx/armor/light_RF_bubbles.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactLightSoftSound) +{ + filename = "fx/armor/light_land_soft.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactSoftEffect; +}; + +datablock AudioProfile(ImpactLightHardSound) +{ + filename = "fx/armor/light_land_hard.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactHardEffect; +}; + +datablock AudioProfile(ImpactLightMetalSound) +{ + filename = "fx/armor/light_land_metal.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactMetalEffect; +}; + +datablock AudioProfile(ImpactLightSnowSound) +{ + filename = "fx/armor/light_land_snow.wav"; + description = AudioClosest3d; + preload = true; + effect = ImpactSnowEffect; +}; + +datablock AudioProfile(ImpactLightWaterEasySound) +{ + filename = "fx/armor/general_water_smallsplash2.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactLightWaterMediumSound) +{ + filename = "fx/armor/general_water_medsplash.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactLightWaterHardSound) +{ + filename = "fx/armor/general_water_bigsplash.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(ExitingWaterLightSound) +{ + filename = "fx/armor/general_water_exit2.wav"; + description = AudioClose3d; + preload = true; +}; + +//SOUNDS ----- Medium ARMOR-------- +datablock AudioProfile(LFootMediumSoftSound) +{ + filename = "fx/armor/med_LF_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumSoftSound) +{ + filename = "fx/armor/med_RF_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootMediumHardSound) +{ + filename = "fx/armor/med_LF_hard.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumHardSound) +{ + filename = "fx/armor/med_RF_hard.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootMediumMetalSound) +{ + filename = "fx/armor/med_LF_metal.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumMetalSound) +{ + filename = "fx/armor/med_RF_metal.wav"; + description = AudioClose3d; + preload = true; +}; +datablock AudioProfile(LFootMediumSnowSound) +{ + filename = "fx/armor/med_LF_snow.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumSnowSound) +{ + filename = "fx/armor/med_RF_snow.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootMediumShallowSplashSound) +{ + filename = "fx/armor/med_LF_water.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumShallowSplashSound) +{ + filename = "fx/armor/med_RF_water.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootMediumWadingSound) +{ + filename = "fx/armor/med_LF_uw.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumWadingSound) +{ + filename = "fx/armor/med_RF_uw.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootMediumUnderwaterSound) +{ + filename = "fx/armor/med_LF_uw.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumUnderwaterSound) +{ + filename = "fx/armor/med_RF_uw.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootMediumBubblesSound) +{ + filename = "fx/armor/light_LF_bubbles.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootMediumBubblesSound) +{ + filename = "fx/armor/light_RF_bubbles.wav"; + description = AudioClose3d; + preload = true; +}; +datablock AudioProfile(ImpactMediumSoftSound) +{ + filename = "fx/armor/med_land_soft.wav"; + description = AudioClosest3d; + preload = true; + effect = ImpactSoftEffect; +}; + +datablock AudioProfile(ImpactMediumHardSound) +{ + filename = "fx/armor/med_land_hard.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactHardEffect; +}; + +datablock AudioProfile(ImpactMediumMetalSound) +{ + filename = "fx/armor/med_land_metal.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactMetalEffect; +}; + +datablock AudioProfile(ImpactMediumSnowSound) +{ + filename = "fx/armor/med_land_snow.wav"; + description = AudioClosest3d; + preload = true; + effect = ImpactSnowEffect; +}; + +datablock AudioProfile(ImpactMediumWaterEasySound) +{ + filename = "fx/armor/general_water_smallsplash.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactMediumWaterMediumSound) +{ + filename = "fx/armor/general_water_medsplash.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactMediumWaterHardSound) +{ + filename = "fx/armor/general_water_bigsplash.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(ExitingWaterMediumSound) +{ + filename = "fx/armor/general_water_exit.wav"; + description = AudioClose3d; + preload = true; +}; + +//SOUNDS ----- HEAVY ARMOR-------- +datablock AudioProfile(LFootHeavySoftSound) +{ + filename = "fx/armor/heavy_LF_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavySoftSound) +{ + filename = "fx/armor/heavy_RF_soft.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootHeavyHardSound) +{ + filename = "fx/armor/heavy_LF_hard.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavyHardSound) +{ + filename = "fx/armor/heavy_RF_hard.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootHeavyMetalSound) +{ + filename = "fx/armor/heavy_LF_metal.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavyMetalSound) +{ + filename = "fx/armor/heavy_RF_metal.wav"; + description = AudioClose3d; + preload = true; +}; +datablock AudioProfile(LFootHeavySnowSound) +{ + filename = "fx/armor/heavy_LF_snow.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavySnowSound) +{ + filename = "fx/armor/heavy_RF_snow.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootHeavyShallowSplashSound) +{ + filename = "fx/armor/heavy_LF_water.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavyShallowSplashSound) +{ + filename = "fx/armor/heavy_RF_water.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootHeavyWadingSound) +{ + filename = "fx/armor/heavy_LF_uw.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavyWadingSound) +{ + filename = "fx/armor/heavy_RF_uw.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(LFootHeavyUnderwaterSound) +{ + filename = "fx/armor/heavy_LF_uw.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavyUnderwaterSound) +{ + filename = "fx/armor/heavy_RF_uw.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(LFootHeavyBubblesSound) +{ + filename = "fx/armor/light_LF_bubbles.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(RFootHeavyBubblesSound) +{ + filename = "fx/armor/light_RF_bubbles.wav"; + description = AudioClose3d; + preload = true; +}; +datablock AudioProfile(ImpactHeavySoftSound) +{ + filename = "fx/armor/heavy_land_soft.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactSoftEffect; +}; + +datablock AudioProfile(ImpactHeavyHardSound) +{ + filename = "fx/armor/heavy_land_hard.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactHardEffect; +}; + +datablock AudioProfile(ImpactHeavyMetalSound) +{ + filename = "fx/armor/heavy_land_metal.wav"; + description = AudioClose3d; + preload = true; + effect = ImpactMetalEffect; +}; + +datablock AudioProfile(ImpactHeavySnowSound) +{ + filename = "fx/armor/heavy_land_snow.wav"; + description = AudioClosest3d; + preload = true; + effect = ImpactSnowEffect; +}; + +datablock AudioProfile(ImpactHeavyWaterEasySound) +{ + filename = "fx/armor/general_water_smallsplash.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactHeavyWaterMediumSound) +{ + filename = "fx/armor/general_water_medsplash.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ImpactHeavyWaterHardSound) +{ + filename = "fx/armor/general_water_bigsplash.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(ExitingWaterHeavySound) +{ + filename = "fx/armor/general_water_exit2.wav"; + description = AudioClose3d; + preload = true; +}; + +//---------------------------------------------------------------------------- +// Splash +//---------------------------------------------------------------------------- + +datablock ParticleData(PlayerSplashMist) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(PlayerSplashMistEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "PlayerSplashMist"; +}; + + +datablock ParticleData(PlayerBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.50; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + textureName = "special/bubbles"; + colors[0] = "0.7 0.8 1.0 0.4"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.1; + sizes[1] = 0.3; + sizes[2] = 0.3; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(PlayerBubbleEmitter) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 2.0; + ejectionOffset = 0.5; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "PlayerBubbleParticle"; +}; + +datablock ParticleData(PlayerFoamParticle) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 0.20"; + colors[1] = "0.7 0.8 1.0 0.20"; + colors[2] = "0.7 0.8 1.0 0.00"; + sizes[0] = 0.2; + sizes[1] = 0.4; + sizes[2] = 1.6; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(PlayerFoamEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "PlayerFoamParticle"; +}; + + +datablock ParticleData( PlayerFoamDropletsParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.8; + sizes[1] = 0.3; + sizes[2] = 0.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( PlayerFoamDropletsEmitter ) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + particles = "PlayerFoamDropletsParticle"; +}; + + + +datablock ParticleData( PlayerSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( PlayerSplashEmitter ) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "PlayerSplashParticle"; +}; + +datablock SplashData(PlayerSplash) +{ + numSegments = 15; + ejectionFreq = 15; + ejectionAngle = 40; + ringLifetime = 0.5; + lifetimeMS = 300; + velocity = 4.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = PlayerSplashEmitter; + emitter[1] = PlayerSplashMistEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.3"; + colors[2] = "0.7 0.8 1.0 0.7"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//---------------------------------------------------------------------------- +// Jet data +//---------------------------------------------------------------------------- +datablock ParticleData(HumanArmorJetParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 100; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.32 0.47 0.47 1.0"; + colors[1] = "0.32 0.47 0.47 0"; + sizes[0] = 0.40; + sizes[1] = 0.15; +}; + +datablock ParticleEmitterData(HumanArmorJetEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 2.9; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 5; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "HumanArmorJetParticle"; +}; + +datablock JetEffectData(HumanArmorJetEffect) +{ + texture = "special/jetExhaust02"; + coolColor = "0.0 0.0 1.0 1.0"; + hotColor = "0.2 0.4 0.7 1.0"; + activateTime = 0.2; + deactivateTime = 0.05; + length = 0.75; + width = 0.2; + speed = -15; + stretch = 2.0; + yOffset = 0.2; +}; + +datablock JetEffectData(HumanMediumArmorJetEffect) +{ + texture = "special/jetExhaust02"; + coolColor = "0.0 0.0 1.0 1.0"; + hotColor = "0.2 0.4 0.7 1.0"; + activateTime = 0.2; + deactivateTime = 0.05; + length = 0.75; + width = 0.2; + speed = -15; + stretch = 2.0; + yOffset = 0.4; +}; + +datablock JetEffectData(HumanLightFemaleArmorJetEffect) +{ + texture = "special/jetExhaust02"; + coolColor = "0.0 0.0 1.0 1.0"; + hotColor = "0.2 0.4 0.7 1.0"; + activateTime = 0.2; + deactivateTime = 0.05; + length = 0.75; + width = 0.2; + speed = -15; + stretch = 2.0; + yOffset = 0.2; +}; + +datablock JetEffectData(BiodermArmorJetEffect) +{ + texture = "special/jetExhaust02"; + coolColor = "0.0 0.0 1.0 1.0"; + hotColor = "0.8 0.6 0.2 1.0"; + activateTime = 0.2; + deactivateTime = 0.05; + length = 0.75; + width = 0.2; + speed = -15; + stretch = 2.0; + yOffset = 0.0; +}; + +//---------------------------------------------------------------------------- +// Foot puffs +//---------------------------------------------------------------------------- +datablock ParticleData(LightPuff) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinRandomMin = -35.0; + spinRandomMax = 35.0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 0.4"; + colors[1] = "0.46 0.46 0.36 0.0"; + sizes[0] = 0.4; + sizes[1] = 1.0; +}; + +datablock ParticleEmitterData(LightPuffEmitter) +{ + ejectionPeriodMS = 35; + periodVarianceMS = 10; + ejectionVelocity = 0.1; + velocityVariance = 0.05; + ejectionOffset = 0.0; + thetaMin = 5; + thetaMax = 20; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + useEmitterColors = true; + particles = "LightPuff"; +}; + +//---------------------------------------------------------------------------- +// Liftoff dust +//---------------------------------------------------------------------------- +datablock ParticleData(LiftoffDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 0.0"; + colors[1] = "0.46 0.46 0.36 0.4"; + colors[2] = "0.46 0.46 0.36 0.0"; + sizes[0] = 0.2; + sizes[1] = 0.6; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(LiftoffDustEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 2.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 90; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + useEmitterColors = true; + particles = "LiftoffDust"; +}; + +//---------------------------------------------------------------------------- + +datablock ParticleData(BiodermArmorJetParticle) : HumanArmorJetParticle +{ + colors[0] = "0.50 0.48 0.36 1.0"; + colors[1] = "0.50 0.48 0.36 0"; +}; + +datablock ParticleEmitterData(BiodermArmorJetEmitter) : HumanArmorJetEmitter +{ + particles = "BiodermArmorJetParticle"; +}; + + +//---------------------------------------------------------------------------- +datablock DecalData(LightMaleFootprint) +{ + sizeX = 0.125; + sizeY = 0.25; + textureName = "special/footprints/L_male"; +}; + +datablock DebrisData( PlayerDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.35; + friction = 0.5; + + lifetime = 4.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 5; + bounceVariance = 0; + + staticOnMaxBounce = true; + gravModifier = 1.0; + + useRadiusMass = true; + baseRadius = 1; + + velocity = 18.0; + velocityVariance = 12.0; +}; + +datablock PlayerData(LightMaleHumanArmor) : LightPlayerDamageProfile +{ + emap = true; + + className = Armor; + shapeFile = "light_male.dts"; + cameraMaxDist = 3; + computeCRC = true; + + canObserve = true; + cmdCategory = "Clients"; + cmdIcon = CMDPlayerIcon; + cmdMiniIconName = "commander/MiniIcons/com_player_grey"; + + hudImageNameFriendly[0] = "gui/hud_playertriangle"; + hudImageNameEnemy[0] = "gui/hud_playertriangle_enemy"; + hudRenderModulated[0] = true; + + hudImageNameFriendly[1] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[1] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[1] = true; + hudRenderAlways[1] = true; + hudRenderCenter[1] = true; + hudRenderDistance[1] = true; + + hudImageNameFriendly[2] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[2] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[2] = true; + hudRenderAlways[2] = true; + hudRenderCenter[2] = true; + hudRenderDistance[2] = true; + + cameraDefaultFov = 90.0; + cameraMinFov = 5.0; + cameraMaxFov = 120.0; + + debrisShapeName = "debris_player.dts"; + debris = playerDebris; + + aiAvoidThis = true; + + minLookAngle = -1.5; + maxLookAngle = 1.5; + maxFreelookAngle = 3.0; + + mass = 90; + drag = 0.275; + maxdrag = 0.4; + density = 10; + maxDamage = 0.66; + maxEnergy = 60; + repairRate = 0.0033; + energyPerDamagePoint = 75.0; // shield energy required to block one point of damage + + rechargeRate = 0.256; + jetForce = 26.21 * 90; + underwaterJetForce = 26.21 * 90 * 1.5; + underwaterVertJetFactor = 1.5; + jetEnergyDrain = 0.8; + underwaterJetEnergyDrain = 0.6; + minJetEnergy = 1; + maxJetHorizontalPercentage = 0.8; + + runForce = 55.20 * 90; + runEnergyDrain = 0; + minRunEnergy = 0; + maxForwardSpeed = 15; + maxBackwardSpeed = 13; + maxSideSpeed = 13; + + maxUnderwaterForwardSpeed = 11; + maxUnderwaterBackwardSpeed = 10; + maxUnderwaterSideSpeed = 10; + + + jumpForce = 8.3 * 90; + jumpEnergyDrain = 0; + minJumpEnergy = 0; + jumpDelay = 0; + + + recoverDelay = 9; + recoverRunForceScale = 1.2; + + minImpactSpeed = 45; + speedDamageScale = 0.004; + + jetSound = ArmorJetSound; + wetJetSound = ArmorJetSound; + jetEmitter = HumanArmorJetEmitter; + jetEffect = HumanArmorJetEffect; + + boundingBox = "1.2 1.2 2.3"; + pickupRadius = 0.75; + + // damage location details + boxNormalHeadPercentage = 0.83; + boxNormalTorsoPercentage = 0.49; + boxHeadLeftPercentage = 0; + boxHeadRightPercentage = 1; + boxHeadBackPercentage = 0; + boxHeadFrontPercentage = 1; + + //Foot Prints + decalData = LightMaleFootprint; + decalOffset = 0.25; + + footPuffEmitter = LightPuffEmitter; + footPuffNumParts = 15; + footPuffRadius = 0.25; + + dustEmitter = LiftoffDustEmitter; + + splash = PlayerSplash; + splashVelocity = 4.0; + splashAngle = 67.0; + splashFreqMod = 300.0; + splashVelEpsilon = 0.60; + bubbleEmitTime = 0.4; + splashEmitter[0] = PlayerFoamDropletsEmitter; + splashEmitter[1] = PlayerFoamEmitter; + splashEmitter[2] = PlayerBubbleEmitter; + mediumSplashSoundVelocity = 10.0; + hardSplashSoundVelocity = 20.0; + exitSplashSoundVelocity = 5.0; + + // Controls over slope of runnable/jumpable surfaces + runSurfaceAngle = 70; + jumpSurfaceAngle = 80; + + minJumpSpeed = 20; + maxJumpSpeed = 30; + + horizMaxSpeed = 68; + horizResistSpeed = 33; + horizResistFactor = 0.35; + maxJetForwardSpeed = 30; + + upMaxSpeed = 80; + upResistSpeed = 25; + upResistFactor = 0.3; + + // heat inc'ers and dec'ers + heatDecayPerSec = 1.0 / 4.0; // takes 4 seconds to clear heat sig. + heatIncreasePerSec = 1.0 / 3.0; // takes 3.0 seconds of constant jet to get full heat sig. + + footstepSplashHeight = 0.35; + //Footstep Sounds + LFootSoftSound = LFootLightSoftSound; + RFootSoftSound = RFootLightSoftSound; + LFootHardSound = LFootLightHardSound; + RFootHardSound = RFootLightHardSound; + LFootMetalSound = LFootLightMetalSound; + RFootMetalSound = RFootLightMetalSound; + LFootSnowSound = LFootLightSnowSound; + RFootSnowSound = RFootLightSnowSound; + LFootShallowSound = LFootLightShallowSplashSound; + RFootShallowSound = RFootLightShallowSplashSound; + LFootWadingSound = LFootLightWadingSound; + RFootWadingSound = RFootLightWadingSound; + LFootUnderwaterSound = LFootLightUnderwaterSound; + RFootUnderwaterSound = RFootLightUnderwaterSound; + LFootBubblesSound = LFootLightBubblesSound; + RFootBubblesSound = RFootLightBubblesSound; + movingBubblesSound = ArmorMoveBubblesSound; + waterBreathSound = WaterBreathMaleSound; + + impactSoftSound = ImpactLightSoftSound; + impactHardSound = ImpactLightHardSound; + impactMetalSound = ImpactLightMetalSound; + impactSnowSound = ImpactLightSnowSound; + + skiSoftSound = SkiAllSoftSound; + skiHardSound = SkiAllHardSound; + skiMetalSound = SkiAllMetalSound; + skiSnowSound = SkiAllSnowSound; + + impactWaterEasy = ImpactLightWaterEasySound; + impactWaterMedium = ImpactLightWaterMediumSound; + impactWaterHard = ImpactLightWaterHardSound; + + groundImpactMinSpeed = 10.0; + groundImpactShakeFreq = "4.0 4.0 4.0"; + groundImpactShakeAmp = "1.0 1.0 1.0"; + groundImpactShakeDuration = 0.8; + groundImpactShakeFalloff = 10.0; + + exitingWater = ExitingWaterLightSound; + + maxWeapons = 3; // Max number of different weapons the player can have + maxGrenades = 1; // Max number of different grenades the player can have + maxMines = 1; // Max number of different mines the player can have + + // Inventory restrictions + max[RepairKit] = 1; + max[Mine] = 3; + max[Grenade] = 5; + max[Blaster] = 1; + max[Plasma] = 1; + max[PlasmaAmmo] = 20; + max[Disc] = 1; + max[DiscAmmo] = 15; + max[SniperRifle] = 1; + max[GrenadeLauncher] = 1; + max[GrenadeLauncherAmmo]= 10; + max[Mortar] = 0; + max[MortarAmmo] = 0; + max[MissileLauncher] = 0; + max[MissileLauncherAmmo]= 0; + max[Chaingun] = 1; + max[ChaingunAmmo] = 100; + max[RepairGun] = 1; + max[CloakingPack] = 1; + max[SensorJammerPack] = 1; + max[EnergyPack] = 1; + max[RepairPack] = 1; + max[ShieldPack] = 1; + max[AmmoPack] = 1; + max[SatchelCharge] = 1; + max[MortarBarrelPack] = 0; + max[MissileBarrelPack] = 0; + max[AABarrelPack] = 0; + max[PlasmaBarrelPack] = 0; + max[ELFBarrelPack] = 0; + max[InventoryDeployable]= 0; + max[MotionSensorDeployable] = 1; + max[PulseSensorDeployable] = 1; + max[TurretOutdoorDeployable] = 0; + max[TurretIndoorDeployable] = 0; + max[FlashGrenade] = 5; + max[ConcussionGrenade] = 5; + max[FlareGrenade] = 5; + max[TargetingLaser] = 1; + max[ELFGun] = 1; + max[ShockLance] = 1; + max[CameraGrenade] = 2; + max[Beacon] = 3; + + observeParameters = "0.5 4.5 4.5"; + + shieldEffectScale = "0.7 0.7 1.0"; + +}; + + +//---------------------------------------------------------------------------- + +datablock DecalData(MediumMaleFootprint) +{ + sizeX = 0.125; + sizeY = 0.25; + textureName = "special/footprints/M_male"; +}; + +datablock PlayerData(MediumMaleHumanArmor) : MediumPlayerDamageProfile +{ + emap = true; + + className = Armor; + shapeFile = "medium_male.dts"; + cameraMaxDist = 3; + computeCRC = true; + + debrisShapeName = "debris_player.dts"; + debris = playerDebris; + + canObserve = true; + cmdCategory = "Clients"; + cmdIcon = CMDPlayerIcon; + cmdMiniIconName = "commander/MiniIcons/com_player_grey"; + + hudImageNameFriendly[0] = "gui/hud_playertriangle"; + hudImageNameEnemy[0] = "gui/hud_playertriangle_enemy"; + hudRenderModulated[0] = true; + + hudImageNameFriendly[1] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[1] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[1] = true; + hudRenderAlways[1] = true; + hudRenderCenter[1] = true; + hudRenderDistance[1] = true; + + hudImageNameFriendly[2] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[2] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[2] = true; + hudRenderAlways[2] = true; + hudRenderCenter[2] = true; + hudRenderDistance[2] = true; + + // z0dd - ZOD, 10/06/02. Was missing these parameters. + cameraDefaultFov = 90.0; + cameraMinFov = 5.0; + cameraMaxFov = 120.0; + + aiAvoidThis = true; + + minLookAngle = -1.5; + maxLookAngle = 1.5; + maxFreelookAngle = 3.0; + + mass = 130; + drag = 0.3; + maxdrag = 0.5; + density = 10; + maxDamage = 1.1; + maxEnergy = 80; + repairRate = 0.0033; + energyPerDamagePoint = 75.0; // shield energy required to block one point of damage + + rechargeRate = 0.256; + jetForce = 25.22 * 130; + underwaterJetForce = 25.22 * 130 * 1.5; + underwaterVertJetFactor = 1.5; + jetEnergyDrain = 1.0; + underwaterJetEnergyDrain = 0.6; + minJetEnergy = 1; + maxJetHorizontalPercentage = 0.8; + + runForce = 46 * 130; + runEnergyDrain = 0; + minRunEnergy = 0; + maxForwardSpeed = 12; + maxBackwardSpeed = 10; + maxSideSpeed = 10; + + maxUnderwaterForwardSpeed = 8.5; + maxUnderwaterBackwardSpeed = 7.5; + maxUnderwaterSideSpeed = 7.5; + + recoverDelay = 9; + recoverRunForceScale = 1.2; + + // heat inc'ers and dec'ers + heatDecayPerSec = 1.0 / 4.0; // takes 4 seconds to clear heat sig. + heatIncreasePerSec = 1.0 / 3.0; // takes 3.0 seconds of constant jet to get full heat sig. + + jumpForce = 8.3 * 130; + jumpEnergyDrain = 0; + minJumpEnergy = 0; + jumpSurfaceAngle = 75; + jumpDelay = 0; + + // Controls over slope of runnable/jumpable surfaces + runSurfaceAngle = 70; + jumpSurfaceAngle = 80; + + minJumpSpeed = 15; + maxJumpSpeed = 25; + + horizMaxSpeed = 60; + horizResistSpeed = 28; + horizResistFactor = 0.32; + maxJetForwardSpeed = 22; + + upMaxSpeed = 70; + upResistSpeed = 30; + upResistFactor = 0.23; + + minImpactSpeed = 45; + speedDamageScale = 0.004; + + jetSound = ArmorJetSound; + wetJetSound = ArmorWetJetSound; + + jetEmitter = HumanArmorJetEmitter; + jetEffect = HumanMediumArmorJetEffect; + + boundingBox = "1.45 1.45 2.4"; + pickupRadius = 0.75; + + // damage location details + boxNormalHeadPercentage = 0.83; + boxNormalTorsoPercentage = 0.49; + boxHeadLeftPercentage = 0; + boxHeadRightPercentage = 1; + boxHeadBackPercentage = 0; + boxHeadFrontPercentage = 1; + + //Foot Prints + decalData = MediumMaleFootprint; + decalOffset = 0.35; + + footPuffEmitter = LightPuffEmitter; + footPuffNumParts = 15; + footPuffRadius = 0.25; + + dustEmitter = LiftoffDustEmitter; + + splash = PlayerSplash; + splashVelocity = 4.0; + splashAngle = 67.0; + splashFreqMod = 300.0; + splashVelEpsilon = 0.60; + bubbleEmitTime = 0.4; + splashEmitter[0] = PlayerFoamDropletsEmitter; + splashEmitter[1] = PlayerFoamEmitter; + splashEmitter[2] = PlayerBubbleEmitter; + mediumSplashSoundVelocity = 10.0; + hardSplashSoundVelocity = 20.0; + exitSplashSoundVelocity = 5.0; + + footstepSplashHeight = 0.35; + //Footstep Sounds + LFootSoftSound = LFootMediumSoftSound; + RFootSoftSound = RFootMediumSoftSound; + LFootHardSound = LFootMediumHardSound; + RFootHardSound = RFootMediumHardSound; + LFootMetalSound = LFootMediumMetalSound; + RFootMetalSound = RFootMediumMetalSound; + LFootSnowSound = LFootMediumSnowSound; + RFootSnowSound = RFootMediumSnowSound; + LFootShallowSound = LFootMediumShallowSplashSound; + RFootShallowSound = RFootMediumShallowSplashSound; + LFootWadingSound = LFootMediumWadingSound; + RFootWadingSound = RFootMediumWadingSound; + LFootUnderwaterSound = LFootMediumUnderwaterSound; + RFootUnderwaterSound = RFootMediumUnderwaterSound; + LFootBubblesSound = LFootMediumBubblesSound; + RFootBubblesSound = RFootMediumBubblesSound; + movingBubblesSound = ArmorMoveBubblesSound; + waterBreathSound = WaterBreathMaleSound; + + impactSoftSound = ImpactMediumSoftSound; + impactHardSound = ImpactMediumHardSound; + impactMetalSound = ImpactMediumMetalSound; + impactSnowSound = ImpactMediumSnowSound; + + skiSoftSound = SkiAllSoftSound; + skiHardSound = SkiAllHardSound; + skiMetalSound = SkiAllMetalSound; + skiSnowSound = SkiAllSnowSound; + + impactWaterEasy = ImpactMediumWaterEasySound; + impactWaterMedium = ImpactMediumWaterMediumSound; + impactWaterHard = ImpactMediumWaterHardSound; + + groundImpactMinSpeed = 10.0; + groundImpactShakeFreq = "4.0 4.0 4.0"; + groundImpactShakeAmp = "1.0 1.0 1.0"; + groundImpactShakeDuration = 0.8; + groundImpactShakeFalloff = 10.0; + + exitingWater = ExitingWaterMediumSound; + + maxWeapons = 4; // Max number of different weapons the player can have + maxGrenades = 1; // Max number of different grenades the player can have + maxMines = 1; // Max number of different mines the player can have + + // Inventory restrictions + max[RepairKit] = 1; + max[Mine] = 3; + max[Grenade] = 6; + max[Blaster] = 1; + max[Plasma] = 1; + max[PlasmaAmmo] = 40; + max[Disc] = 1; + max[DiscAmmo] = 15; + max[SniperRifle] = 0; + max[GrenadeLauncher] = 1; + max[GrenadeLauncherAmmo]= 12; + max[Mortar] = 0; + max[MortarAmmo] = 0; + max[MissileLauncher] = 1; + max[MissileLauncherAmmo]= 4; + max[Chaingun] = 1; + max[ChaingunAmmo] = 150; + max[RepairGun] = 1; + max[CloakingPack] = 0; + max[SensorJammerPack] = 1; + max[EnergyPack] = 1; + max[RepairPack] = 1; + max[ShieldPack] = 1; + max[AmmoPack] = 1; + max[SatchelCharge] = 1; + max[MortarBarrelPack] = 1; + max[MissileBarrelPack] = 1; + max[AABarrelPack] = 1; + max[PlasmaBarrelPack] = 1; + max[ELFBarrelPack] = 1; + max[InventoryDeployable]= 1; + max[MotionSensorDeployable] = 1; + max[PulseSensorDeployable] = 1; + max[TurretOutdoorDeployable] = 1; + max[TurretIndoorDeployable] = 1; + max[FlashGrenade] = 6; + max[ConcussionGrenade] = 6; + max[FlareGrenade] = 6; + max[TargetingLaser] = 1; + max[ELFGun] = 1; + max[ShockLance] = 1; + max[CameraGrenade] = 3; + max[Beacon] = 3; + + observeParameters = "0.5 4.5 4.5"; + + shieldEffectScale = "0.7 0.7 1.0"; +}; + + +//---------------------------------------------------------------------------- +datablock DecalData(HeavyMaleFootprint) +{ + sizeX = 0.25; + sizeY = 0.5; + textureName = "special/footprints/H_male"; +}; + +datablock PlayerData(HeavyMaleHumanArmor) : HeavyPlayerDamageProfile +{ + emap = true; + + className = Armor; + shapeFile = "heavy_male.dts"; + cameraMaxDist = 3; + computeCRC = true; + + debrisShapeName = "debris_player.dts"; + debris = playerDebris; + + canObserve = true; + cmdCategory = "Clients"; + cmdIcon = CMDPlayerIcon; + cmdMiniIconName = "commander/MiniIcons/com_player_grey"; + + hudImageNameFriendly[0] = "gui/hud_playertriangle"; + hudImageNameEnemy[0] = "gui/hud_playertriangle_enemy"; + hudRenderModulated[0] = true; + + hudImageNameFriendly[1] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[1] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[1] = true; + hudRenderAlways[1] = true; + hudRenderCenter[1] = true; + hudRenderDistance[1] = true; + + hudImageNameFriendly[2] = "commander/MiniIcons/com_flag_grey"; + hudImageNameEnemy[2] = "commander/MiniIcons/com_flag_grey"; + hudRenderModulated[2] = true; + hudRenderAlways[2] = true; + hudRenderCenter[2] = true; + hudRenderDistance[2] = true; + + // z0dd - ZOD, 10/06/02. Was missing these parameters. + cameraDefaultFov = 90.0; + cameraMinFov = 5.0; + cameraMaxFov = 120.0; + + aiAvoidThis = true; + + minLookAngle = -1.5; + maxLookAngle = 1.5; + maxFreelookAngle = 3.0; + + mass = 180; + drag = 0.33; + maxdrag = 0.6; + density = 10; + maxDamage = 1.32; + maxEnergy = 110; + repairRate = 0.0033; + energyPerDamagePoint = 75.0; // shield energy required to block one point of damage + + rechargeRate = 0.256; + jetForce = 22.47 * 180; + underwaterJetForce = 22.47 * 180 * 1.5; + underwaterVertJetFactor = 1.5; + jetEnergyDrain = 1.1; + underwaterJetEnergyDrain = 0.65; + minJetEnergy = 1; + maxJetHorizontalPercentage = 0.8; + + runForce = 40.25 * 180; + runEnergyDrain = 0; + minRunEnergy = 0; + maxForwardSpeed = 7; + maxBackwardSpeed = 5; + maxSideSpeed = 5; + + maxUnderwaterForwardSpeed = 4.5; + maxUnderwaterBackwardSpeed = 3; + maxUnderwaterSideSpeed = 3; + + recoverDelay = 9; + recoverRunForceScale = 1.2; + + jumpForce = 8.3 * 180; + jumpEnergyDrain = 0; + minJumpEnergy = 0; + jumpDelay = 0; + + // heat inc'ers and dec'ers + heatDecayPerSec = 1.0 / 4.0; // takes 4 seconds to clear heat sig. + heatIncreasePerSec = 1.0 / 3.0; // takes 3.0 seconds of constant jet to get full heat sig. + + // Controls over slope of runnable/jumpable surfaces + runSurfaceAngle = 70; + jumpSurfaceAngle = 75; + + minJumpSpeed = 20; + maxJumpSpeed = 30; + + horizMaxSpeed = 52; + horizResistSpeed = 23; + horizResistFactor = 0.29; + maxJetForwardSpeed = 16; + + upMaxSpeed = 60; + upResistSpeed = 35; + upResistFactor = 0.18; + + minImpactSpeed = 45; + speedDamageScale = 0.006; + + jetSound = ArmorJetSound; + wetJetSound = ArmorJetSound; + jetEmitter = HumanArmorJetEmitter; + + boundingBox = "1.63 1.63 2.6"; + pickupRadius = 0.75; + + // damage location details + boxNormalHeadPercentage = 0.83; + boxNormalTorsoPercentage = 0.49; + boxHeadLeftPercentage = 0; + boxHeadRightPercentage = 1; + boxHeadBackPercentage = 0; + boxHeadFrontPercentage = 1; + + //Foot Prints + decalData = HeavyMaleFootprint; + decalOffset = 0.4; + + footPuffEmitter = LightPuffEmitter; + footPuffNumParts = 15; + footPuffRadius = 0.25; + + dustEmitter = LiftoffDustEmitter; + + splash = PlayerSplash; + splashVelocity = 4.0; + splashAngle = 67.0; + splashFreqMod = 300.0; + splashVelEpsilon = 0.60; + bubbleEmitTime = 0.4; + splashEmitter[0] = PlayerFoamDropletsEmitter; + splashEmitter[1] = PlayerFoamEmitter; + splashEmitter[2] = PlayerBubbleEmitter; + mediumSplashSoundVelocity = 10.0; + hardSplashSoundVelocity = 20.0; + exitSplashSoundVelocity = 5.0; + + footstepSplashHeight = 0.35; + //Footstep Sounds + LFootSoftSound = LFootHeavySoftSound; + RFootSoftSound = RFootHeavySoftSound; + LFootHardSound = LFootHeavyHardSound; + RFootHardSound = RFootHeavyHardSound; + LFootMetalSound = LFootHeavyMetalSound; + RFootMetalSound = RFootHeavyMetalSound; + LFootSnowSound = LFootHeavySnowSound; + RFootSnowSound = RFootHeavySnowSound; + LFootShallowSound = LFootHeavyShallowSplashSound; + RFootShallowSound = RFootHeavyShallowSplashSound; + LFootWadingSound = LFootHeavyWadingSound; + RFootWadingSound = RFootHeavyWadingSound; + LFootUnderwaterSound = LFootHeavyUnderwaterSound; + RFootUnderwaterSound = RFootHeavyUnderwaterSound; + LFootBubblesSound = LFootHeavyBubblesSound; + RFootBubblesSound = RFootHeavyBubblesSound; + movingBubblesSound = ArmorMoveBubblesSound; + waterBreathSound = WaterBreathMaleSound; + + impactSoftSound = ImpactHeavySoftSound; + impactHardSound = ImpactHeavyHardSound; + impactMetalSound = ImpactHeavyMetalSound; + impactSnowSound = ImpactHeavySnowSound; + + skiSoftSound = SkiAllSoftSound; + skiHardSound = SkiAllHardSound; + skiMetalSound = SkiAllMetalSound; + skiSnowSound = SkiAllSnowSound; + + impactWaterEasy = ImpactHeavyWaterEasySound; + impactWaterMedium = ImpactHeavyWaterMediumSound; + impactWaterHard = ImpactHeavyWaterHardSound; + + groundImpactMinSpeed = 10.0; + groundImpactShakeFreq = "4.0 4.0 4.0"; + groundImpactShakeAmp = "1.0 1.0 1.0"; + groundImpactShakeDuration = 0.8; + groundImpactShakeFalloff = 10.0; + + exitingWater = ExitingWaterHeavySound; + + maxWeapons = 5; // Max number of different weapons the player can have + maxGrenades = 1; // Max number of different grenades the player can have + maxMines = 1; // Max number of different mines the player can have + + // Inventory restrictions + max[RepairKit] = 1; + max[Mine] = 3; + max[Grenade] = 8; + max[Blaster] = 1; + max[Plasma] = 1; + max[PlasmaAmmo] = 50; + max[Disc] = 1; + max[DiscAmmo] = 15; + max[SniperRifle] = 0; + max[GrenadeLauncher] = 1; + max[GrenadeLauncherAmmo]= 15; + max[Mortar] = 1; + max[MortarAmmo] = 10; + max[MissileLauncher] = 1; + max[MissileLauncherAmmo]= 8; + max[Chaingun] = 1; + max[ChaingunAmmo] = 200; + max[RepairGun] = 1; + max[CloakingPack] = 0; + max[SensorJammerPack] = 1; + max[EnergyPack] = 1; + max[RepairPack] = 1; + max[ShieldPack] = 1; + max[AmmoPack] = 1; + max[SatchelCharge] = 1; + max[MortarBarrelPack] = 1; + max[MissileBarrelPack] = 1; + max[AABarrelPack] = 1; + max[PlasmaBarrelPack] = 1; + max[ELFBarrelPack] = 1; + max[InventoryDeployable]= 1; + max[MotionSensorDeployable] = 1; + max[PulseSensorDeployable] = 1; + max[TurretOutdoorDeployable] = 1; + max[TurretIndoorDeployable] = 1; + max[FlashGrenade] = 8; + max[ConcussionGrenade] = 8; + max[FlareGrenade] = 8; + max[TargetingLaser] = 1; + max[ELFGun] = 1; + max[ShockLance] = 1; + max[CameraGrenade] = 3; + max[Beacon] = 3; + + observeParameters = "0.5 4.5 4.5"; + + shieldEffectScale = "0.7 0.7 1.0"; +}; + + +//---------------------------------------------------------------------------- +datablock PlayerData(LightFemaleHumanArmor) : LightMaleHumanArmor +{ + shapeFile = "light_female.dts"; + waterBreathSound = WaterBreathFemaleSound; + jetEffect = HumanMediumArmorJetEffect; +}; + +//---------------------------------------------------------------------------- +datablock PlayerData(MediumFemaleHumanArmor) : MediumMaleHumanArmor +{ + shapeFile = "medium_female.dts"; + waterBreathSound = WaterBreathFemaleSound; + jetEffect = HumanArmorJetEffect; +}; + +//---------------------------------------------------------------------------- +datablock PlayerData(HeavyFemaleHumanArmor) : HeavyMaleHumanArmor +{ + shapeFile = "heavy_male.dts"; + waterBreathSound = WaterBreathFemaleSound; +}; + +//---------------------------------------------------------------------------- +datablock DecalData(LightBiodermFootprint) +{ + sizeX = 0.25; + sizeY = 0.25; + textureName = "special/footprints/L_bioderm"; +}; + +datablock PlayerData(LightMaleBiodermArmor) : LightMaleHumanArmor +{ + shapeFile = "bioderm_light.dts"; + jetEmitter = BiodermArmorJetEmitter; + jetEffect = BiodermArmorJetEffect; + + + debrisShapeName = "bio_player_debris.dts"; + + //Foot Prints + decalData = LightBiodermFootprint; + decalOffset = 0.3; + + waterBreathSound = WaterBreathBiodermSound; +}; + +//---------------------------------------------------------------------------- +datablock DecalData(MediumBiodermFootprint) +{ + sizeX = 0.25; + sizeY = 0.25; + textureName = "special/footprints/M_bioderm"; +}; + +datablock PlayerData(MediumMaleBiodermArmor) : MediumMaleHumanArmor +{ + shapeFile = "bioderm_medium.dts"; + jetEmitter = BiodermArmorJetEmitter; + jetEffect = BiodermArmorJetEffect; + + debrisShapeName = "bio_player_debris.dts"; + + //Foot Prints + decalData = MediumBiodermFootprint; + decalOffset = 0.35; + + waterBreathSound = WaterBreathBiodermSound; +}; + +//---------------------------------------------------------------------------- +datablock DecalData(HeavyBiodermFootprint) +{ + sizeX = 0.25; + sizeY = 0.5; + textureName = "special/footprints/H_bioderm"; +}; + +datablock PlayerData(HeavyMaleBiodermArmor) : HeavyMaleHumanArmor +{ + emap = false; + + shapeFile = "bioderm_heavy.dts"; + jetEmitter = BiodermArmorJetEmitter; + + debrisShapeName = "bio_player_debris.dts"; + + //Foot Prints + decalData = HeavyBiodermFootprint; + decalOffset = 0.4; + + waterBreathSound = WaterBreathBiodermSound; +}; + + +//---------------------------------------------------------------------------- + +function Armor::onAdd(%data,%obj) +{ + Parent::onAdd(%data, %obj); + // Vehicle timeout + %obj.mountVehicle = true; + + // Default dynamic armor stats + %obj.setRechargeRate(%data.rechargeRate); + %obj.setRepairRate(0); + + %obj.setSelfPowered(); +} + +function Armor::onRemove(%this, %obj) +{ + //Frohny asked me to remove this - all players are deleted now on mission cycle... + //if(%obj.getState() !$= "Dead") + //{ + // error("ERROR PLAYER REMOVED WITHOUT DEATH - TRACE:"); + // trace(1); + // schedule(0,0,trace,0); + //} + + if (%obj.client.player == %obj) + %obj.client.player = 0; +} + +function Armor::onNewDataBlock(%this,%obj) +{ +} + +function Armor::onDisabled(%this,%obj,%state) +{ + %fadeTime = 1000; + %obj.startFade( %fadeTime, ($CorpseTimeoutValue) - %fadeTime, true ); + %obj.schedule($CorpseTimeoutValue, "delete"); +} + +function Armor::shouldApplyImpulse(%data, %obj) +{ + return true; +} + +$wasFirstPerson = true; + +function Armor::onMount(%this,%obj,%vehicle,%node) +{ + if (%node == 0) + { + // Node 0 is the pilot's pos. + %obj.setTransform("0 0 0 0 0 1 0"); + %obj.setActionThread(%vehicle.getDatablock().mountPose[%node],true,true); + + if(!%obj.inStation) + %obj.lastWeapon = (%obj.getMountedImage($WeaponSlot) == 0 ) ? "" : %obj.getMountedImage($WeaponSlot).getName().item; + + %obj.unmountImage($WeaponSlot); + + if(!%obj.client.isAIControlled()) + { + %obj.setControlObject(%vehicle); + %obj.client.setObjectActiveImage(%vehicle, 2); + } + + //E3 respawn... + + if(%obj == %obj.lastVehicle.lastPilot && %obj.lastVehicle != %vehicle) + { + schedule(15000, %obj.lastVehicle,"vehicleAbandonTimeOut", %obj.lastVehicle); + %obj.lastVehicle.lastPilot = ""; + } + if(%vehicle.lastPilot !$= "" && %vehicle == %vehicle.lastPilot.lastVehicle) + %vehicle.lastPilot.lastVehicle = ""; + + %vehicle.abandon = false; + %vehicle.lastPilot = %obj; + %obj.lastVehicle = %vehicle; + + // update the vehicle's team + if((%vehicle.getTarget() != -1) && %vehicle.getDatablock().cantTeamSwitch $= "") + { + setTargetSensorGroup(%vehicle.getTarget(), %obj.client.getSensorGroup()); + if( %vehicle.turretObject > 0 ) + setTargetSensorGroup(%vehicle.turretObject.getTarget(), %obj.client.getSensorGroup()); + } + + // Send a message to the client so they can decide if they want to change view or not: + commandToClient( %obj.client, 'VehicleMount' ); + + } + else + { + // tailgunner/passenger positions + if(%vehicle.getDataBlock().mountPose[%node] !$= "") + %obj.setActionThread(%vehicle.getDatablock().mountPose[%node]); + else + %obj.setActionThread("root", true); + } + // ------------------------------------------------------------------------- + // z0dd - ZOD, 10/06/02. announce to any other passengers that you've boarded + if(%vehicle.getDatablock().numMountPoints > 1) + { + %nodeName = findNodeName(%vehicle, %node); // function in vehicle.cs + for(%i = 0; %i < %vehicle.getDatablock().numMountPoints; %i++) + { + if (%vehicle.getMountNodeObject(%i) > 0) + { + if(%vehicle.getMountNodeObject(%i).client != %obj.client) + { + %team = (%obj.team == %vehicle.getMountNodeObject(%i).client.team ? 'Teammate' : 'Enemy'); + messageClient( %vehicle.getMountNodeObject(%i).client, 'MsgShowPassenger', '\c2%3: \c3%1\c2 has boarded in the \c3%2\c2 position.', %obj.client.name, %nodeName, %team ); + } + commandToClient( %vehicle.getMountNodeObject(%i).client, 'showPassenger', %node, true); + } + } + } + //make sure they don't have any packs active +// if ( %obj.getImageState( $BackpackSlot ) $= "activate") +// %obj.use("Backpack"); + if ( %obj.getImageTrigger( $BackpackSlot ) ) + %obj.setImageTrigger( $BackpackSlot, false ); + + //AI hooks + %obj.client.vehicleMounted = %vehicle; + AIVehicleMounted(%vehicle); + if(%obj.client.isAIControlled()) + %this.AIonMount(%obj, %vehicle, %node); +} + + +function Armor::onUnmount( %this, %obj, %vehicle, %node ) +{ + if ( %node == 0 ) + { + commandToClient( %obj.client, 'VehicleDismount' ); + commandToClient(%obj.client, 'removeReticle'); + + if(%obj.inv[%obj.lastWeapon]) + %obj.use(%obj.lastWeapon); + + if(%obj.getMountedImage($WeaponSlot) == 0) + %obj.selectWeaponSlot( 0 ); + + //Inform gunner position when pilot leaves... + //if(%vehicle.getDataBlock().showPilotInfo !$= "") + // if((%gunner = %vehicle.getMountNodeObject(1)) != 0) + // commandToClient(%gunner.client, 'PilotInfo', "PILOT EJECTED", 6, 1); + } + // ---------------------------------------------------------------------- + // z0dd - ZOD, 10/06/02. announce to any other passengers that you've left + if(%vehicle.getDatablock().numMountPoints > 1) + { + %nodeName = findNodeName(%vehicle, %node); // function in vehicle.cs + for(%i = 0; %i < %vehicle.getDatablock().numMountPoints; %i++) + { + if (%vehicle.getMountNodeObject(%i) > 0) + { + if(%vehicle.getMountNodeObject(%i).client != %obj.client) + { + %team = (%obj.team == %vehicle.getMountNodeObject(%i).client.team ? 'Teammate' : 'Enemy'); + messageClient( %vehicle.getMountNodeObject(%i).client, 'MsgShowPassenger', '\c2%3: \c3%1\c2 has ejected from the \c3%2\c2 position.', %obj.client.name, %nodeName, %team ); + } + commandToClient( %vehicle.getMountNodeObject(%i).client, 'showPassenger', %node, false); + } + } + } + //AI hooks + %obj.client.vehicleMounted = ""; + if(%obj.client.isAIControlled()) + %this.AIonUnMount(%obj, %vehicle, %node); +} + +$ammoType[0] = "PlasmaAmmo"; +$ammoType[1] = "DiscAmmo"; +$ammoType[2] = "GrenadeLauncherAmmo"; +$ammoType[3] = "MortarAmmo"; +$ammoType[4] = "MissileLauncherAmmo"; +$ammoType[5] = "ChaingunAmmo"; +// z0dd - ZOD, 9/13/02. TR2 weapons +$ammoType[6] = "TR2DiscAmmo"; +$ammoType[7] = "TR2GrenadeLauncherAmmo"; +$ammoType[8] = "TR2ChaingunAmmo"; +$ammoType[9] = "TR2MortarAmmo"; + +function Armor::onCollision(%this,%obj,%col,%forceVehicleNode) +{ + if (%obj.getState() $= "Dead") + return; + + %dataBlock = %col.getDataBlock(); + %className = %dataBlock.className; + %client = %obj.client; + // player collided with a vehicle + %node = -1; + if (%forceVehicleNode !$= "" || (%className $= WheeledVehicleData || %className $= FlyingVehicleData || %className $= HoverVehicleData) && + %obj.mountVehicle && %obj.getState() $= "Move" && %col.mountable && !%obj.inStation && %col.getDamageState() !$= "Destroyed") { + + //if the player is an AI, he should snap to the mount points in node order, + //to ensure they mount the turret before the passenger seat, regardless of where they collide... + if (%obj.client.isAIControlled()) + { + %transform = %col.getTransform(); + + //either the AI is *required* to pilot, or they'll pick the first available passenger seat + if (%client.pilotVehicle) + { + //make sure the bot is in light armor + if (%client.player.getArmorSize() $= "Light") + { + //make sure the pilot seat is empty + if (!%col.getMountNodeObject(0)) + %node = 0; + } + } + else + %node = findAIEmptySeat(%col, %obj); + } + else + %node = findEmptySeat(%col, %obj, %forceVehicleNode); + + //now mount the player in the vehicle + if(%node >= 0) + { + // players can't be pilots, bombardiers or turreteers if they have + // "large" packs -- stations, turrets, turret barrels + if(hasLargePack(%obj)) { + // check to see if attempting to enter a "sitting" node + if(nodeIsSitting(%datablock, %node)) { + // send the player a message -- can't sit here with large pack + if(!%obj.noSitMessage) + { + %obj.noSitMessage = true; + %obj.schedule(2000, "resetSitMessage"); + messageClient(%obj.client, 'MsgCantSitHere', '\c2Pack too large, can\'t occupy this seat.~wfx/misc/misc.error.wav'); + } + return; + } + } + if(%col.noEnemyControl && %obj.team != %col.team) + return; + + commandToClient(%obj.client,'SetDefaultVehicleKeys', true); + //If pilot or passenger then bind a few extra keys + if(%node == 0) + commandToClient(%obj.client,'SetPilotVehicleKeys', true); + else + commandToClient(%obj.client,'SetPassengerVehicleKeys', true); + + if(!%obj.inStation) + %col.lastWeapon = ( %col.getMountedImage($WeaponSlot) == 0 ) ? "" : %col.getMountedImage($WeaponSlot).getName().item; + else + %col.lastWeapon = %obj.lastWeapon; + + %col.mountObject(%obj,%node); + %col.playAudio(0, MountVehicleSound); + %obj.mVehicle = %col; + + // if player is repairing something, stop it + if(%obj.repairing) + stopRepairing(%obj); + + //this will setup the huds as well... + %dataBlock.playerMounted(%col,%obj, %node); + } + } + else if (%className $= "Armor") { + // player has collided with another player + if(%col.getState() $= "Dead") { + %gotSomething = false; + // it's corpse-looting time! + // weapons -- don't pick up more than you are allowed to carry! + for(%i = 0; ( %obj.weaponCount < %obj.getDatablock().maxWeapons ) && $InvWeapon[%i] !$= ""; %i++) + { + %weap = $NameToInv[$InvWeapon[%i]]; + if ( %col.hasInventory( %weap ) ) + { + if ( %obj.incInventory(%weap, 1) > 0 ) + { + %col.decInventory(%weap, 1); + %gotSomething = true; + messageClient(%obj.client, 'MsgItemPickup', '\c0You picked up %1.', %weap.pickUpName); + } + } + } + // targeting laser: + if ( %col.hasInventory( "TargetingLaser" ) ) + { + if ( %obj.incInventory( "TargetingLaser", 1 ) > 0 ) + { + %col.decInventory( "TargetingLaser", 1 ); + %gotSomething = true; + messageClient( %obj.client, 'MsgItemPickup', '\c0You picked up a targeting laser.' ); + } + } + // ammo + for(%j = 0; $ammoType[%j] !$= ""; %j++) + { + %ammoAmt = %col.inv[$ammoType[%j]]; + if(%ammoAmt) + { + // incInventory returns the amount of stuff successfully grabbed + %grabAmt = %obj.incInventory($ammoType[%j], %ammoAmt); + if(%grabAmt > 0) + { + %col.decInventory($ammoType[%j], %grabAmt); + %gotSomething = true; + messageClient(%obj.client, 'MsgItemPickup', '\c0You picked up %1.', $ammoType[%j].pickUpName); + %obj.client.setWeaponsHudAmmo($ammoType[%j], %obj.getInventory($ammoType[%j])); + } + } + } + // figure out what type, if any, grenades the (live) player has + %playerGrenType = "None"; + for(%x = 0; $InvGrenade[%x] !$= ""; %x++) { + %gren = $NameToInv[$InvGrenade[%x]]; + %playerGrenAmt = %obj.inv[%gren]; + if(%playerGrenAmt > 0) + { + %playerGrenType = %gren; + break; + } + } + // grenades + for(%k = 0; $InvGrenade[%k] !$= ""; %k++) + { + %gren = $NameToInv[$InvGrenade[%k]]; + %corpseGrenAmt = %col.inv[%gren]; + // does the corpse hold any of this grenade type? + if(%corpseGrenAmt) + { + // can the player pick up this grenade type? + if((%playerGrenType $= "None") || (%playerGrenType $= %gren)) + { + %taken = %obj.incInventory(%gren, %corpseGrenAmt); + if(%taken > 0) + { + %col.decInventory(%gren, %taken); + %gotSomething = true; + messageClient(%obj.client, 'MsgItemPickup', '\c0You picked up %1.', %gren.pickUpName); + %obj.client.setInventoryHudAmount(%gren, %obj.getInventory(%gren)); + } + } + break; + } + } + // figure out what type, if any, mines the (live) player has + %playerMineType = "None"; + for(%y = 0; $InvMine[%y] !$= ""; %y++) + { + %mType = $NameToInv[$InvMine[%y]]; + %playerMineAmt = %obj.inv[%mType]; + if(%playerMineAmt > 0) + { + %playerMineType = %mType; + break; + } + } + // mines + for(%l = 0; $InvMine[%l] !$= ""; %l++) + { + %mine = $NameToInv[$InvMine[%l]]; + %mineAmt = %col.inv[%mine]; + if(%mineAmt) { + if((%playerMineType $= "None") || (%playerMineType $= %mine)) + { + %grabbed = %obj.incInventory(%mine, %mineAmt); + if(%grabbed > 0) + { + %col.decInventory(%mine, %grabbed); + %gotSomething = true; + messageClient(%obj.client, 'MsgItemPickup', '\c0You picked up %1.', %mine.pickUpName); + %obj.client.setInventoryHudAmount(%mine, %obj.getInventory(%mine)); + } + } + break; + } + } + // beacons + %beacAmt = %col.inv[Beacon]; + if(%beacAmt) + { + %bTaken = %obj.incInventory(Beacon, %beacAmt); + if(%bTaken > 0) + { + %col.decInventory(Beacon, %bTaken); + %gotSomething = true; + messageClient(%obj.client, 'MsgItemPickup', '\c0You picked up %1.', Beacon.pickUpName); + %obj.client.setInventoryHudAmount(Beacon, %obj.getInventory(Beacon)); + } + } + // repair kit + %rkAmt = %col.inv[RepairKit]; + if(%rkAmt) + { + %rkTaken = %obj.incInventory(RepairKit, %rkAmt); + if(%rkTaken > 0) + { + %col.decInventory(RepairKit, %rkTaken); + %gotSomething = true; + messageClient(%obj.client, 'MsgItemPickup', '\c0You picked up %1.', RepairKit.pickUpName); + %obj.client.setInventoryHudAmount(RepairKit, %obj.getInventory(RepairKit)); + } + } + } + if(%gotSomething) + %col.playAudio(0, CorpseLootingSound); + } +} + +function Player::resetSitMessage(%obj) +{ + %obj.noSitMessage = false; +} + +function Player::setInvincible(%this, %val) +{ + %this.invincible = %val; +} + +function Player::causedRecentDamage(%this, %val) +{ + %this.causedRecentDamage = %val; +} + +function hasLargePack(%player) +{ + %pack = %player.getMountedImage($BackpackSlot); + if(%pack.isLarge) + return true; + else + return false; +} + +function nodeIsSitting(%vehDBlock, %node) +{ + // pilot == always a "sitting" node + if(%node == 0) + return true; + else { + switch$ (%vehDBlock.getName()) + { + // note: for assault tank -- both nodes are sitting + // for any single-user vehicle -- pilot node is sitting + case "BomberFlyer": + // bombardier == sitting; tailgunner == not sitting + if(%node == 1) + return true; + else + return false; + case "HAPCFlyer": + // only the pilot node is sitting + return false; + default: + return true; + } + } +} + +//---------------------------------------------------------------------------- +function Player::setMountVehicle(%this, %val) +{ + %this.mountVehicle = %val; +} + +function Armor::doDismount(%this, %obj, %forced) +{ + // This function is called by player.cc when the jump trigger + // is true while mounted + if (!%obj.isMounted()) + return; + + if(isObject(%obj.getObjectMount().shield)) + %obj.getObjectMount().shield.delete(); + + commandToClient(%obj.client,'SetDefaultVehicleKeys', false); + + // Position above dismount point + + %pos = getWords(%obj.getTransform(), 0, 2); + %oldPos = %pos; + %vec[0] = " 0 0 1"; + %vec[1] = " 0 0 1"; + %vec[2] = " 0 0 -1"; + %vec[3] = " 1 0 0"; + %vec[4] = "-1 0 0"; + %numAttempts = 5; + %success = -1; + %impulseVec = "0 0 0"; + if (%obj.getObjectMount().getDatablock().hasDismountOverrides() == true) + { + %vec[0] = %obj.getObjectMount().getDatablock().getDismountOverride(%obj.getObjectMount(), %obj); + %vec[0] = MatrixMulVector(%obj.getObjectMount().getTransform(), %vec[0]); + } + else + { + %vec[0] = MatrixMulVector( %obj.getTransform(), %vec[0]); + } + + %pos = "0 0 0"; + for (%i = 0; %i < %numAttempts; %i++) + { + %pos = VectorAdd(%oldPos, VectorScale(%vec[%i], 3)); + if (%obj.checkDismountPoint(%oldPos, %pos)) + { + %success = %i; + %impulseVec = %vec[%i]; + break; + } + } + if (%forced && %success == -1) + { + %pos = %oldPos; + } + + // hide the dashboard HUD and delete elements based on node + commandToClient(%obj.client, 'setHudMode', 'Standard', "", 0); + // Unmount and control body + if(%obj.vehicleTurret) + %obj.vehicleTurret.getDataBlock().playerDismount(%obj.vehicleTurret); + %obj.unmount(); + if(%obj.mVehicle) + %obj.mVehicle.getDataBlock().playerDismounted(%obj.mVehicle, %obj); + + // bots don't change their control objects when in vehicles + if(!%obj.client.isAIControlled()) + { + %vehicle = %obj.getControlObject(); + %obj.setControlObject(0); + } + + %obj.mountVehicle = false; + %obj.schedule(4000, "setMountVehicle", true); + + // Position above dismount point + %obj.setTransform(%pos); + %obj.playAudio(0, UnmountVehicleSound); + %obj.applyImpulse(%pos, VectorScale(%impulseVec, %obj.getDataBlock().mass * 3)); + %obj.setPilot(false); + %obj.vehicleTurret = ""; +} + +function resetObserveFollow( %client, %dismount ) +{ + if( %dismount ) + { + if( !isObject( %client.player ) ) + return; + + for( %i = 0; %i < %client.observeCount; %i++ ) + { + %client.observers[%i].camera.setOrbitMode( %client.player, %client.player.getTransform(), 0.5, 4.5, 4.5); + } + } + else + { + if( !%client.player.isMounted() ) + return; + + // grab the vehicle... + %mount = %client.player.getObjectMount(); + if( %mount.getDataBlock().observeParameters $= "" ) + %params = %client.player.getTransform(); + else + %params = %mount.getDataBlock().observeParameters; + + for( %i = 0; %i < %client.observeCount; %i++ ) + { + %client.observers[%i].camera.setOrbitMode(%mount, %mount.getTransform(), getWord( %params, 0 ), getWord( %params, 1 ), getWord( %params, 2 )); + } + } +} + + +//---------------------------------------------------------------------------- + +function Player::scriptKill(%player, %damageType) +{ + %player.scriptKilled = 1; + %player.setInvincible(false); + %player.damage(0, %player.getPosition(), 10000, %damageType); +} + +function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC) +{ +//error("Armor::damageObject( "@%data@", "@%targetObject@", "@%sourceObject@", "@%position@", "@%amount@", "@%damageType@", "@%momVec@" )"); + if(%targetObject.invincible || %targetObject.getState() $= "Dead") + return; + + //---------------------------------------------------------------- + // z0dd - ZOD, 6/09/02. Check to see if this vehcile is destroyed, + // if it is do no damage. Fixes vehicle ghosting bug. We do not + // check for isObject here, destroyed objects fail it even though + // they exist as objects, go figure. + if(%damageType == $DamageType::Impact) + if(%sourceObject.getDamageState() $= "Destroyed") + return; + + if (%targetObject.isMounted() && %targetObject.scriptKilled $= "") + { + %mount = %targetObject.getObjectMount(); + if(%mount.team == %targetObject.team) + { + %found = -1; + for (%i = 0; %i < %mount.getDataBlock().numMountPoints; %i++) + { + if (%mount.getMountNodeObject(%i) == %targetObject) + { + %found = %i; + break; + } + } + + if (%found != -1) + { + if (%mount.getDataBlock().isProtectedMountPoint[%found]) + { + %mount.getDataBlock().damageObject(%mount, %sourceObject, %position, %amount, %damageType); + return; + } + } + } + } + + %targetClient = %targetObject.getOwnerClient(); + if(isObject(%mineSC)) + %sourceClient = %mineSC; + else + %sourceClient = isObject(%sourceObject) ? %sourceObject.getOwnerClient() : 0; + + %targetTeam = %targetClient.team; + + //if the source object is a player object, player's don't have sensor groups + // if it's a turret, get the sensor group of the target + // if its a vehicle (of any type) use the sensor group + if (%sourceClient) + %sourceTeam = %sourceClient.getSensorGroup(); + else if(%damageType == $DamageType::Suicide) + %sourceTeam = 0; + + //-------------------------------------------------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Check to see if this turret has a valid owner, if not clear the owner varible. + //else if(isObject(%sourceObject) && %sourceObject.getClassName() $= "Turret") + // %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + else if(isObject(%sourceObject) && %sourceObject.getClassName() $= "Turret") + { + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + if(%sourceObject.owner !$="" && (%sourceObject.owner.team != %sourceObject.team || !isObject(%sourceObject.owner))) + %sourceObject.owner = ""; + } + // End z0dd - ZOD + //-------------------------------------------------------------------------------------------------------------------- + else if( isObject(%sourceObject) && + ( %sourceObject.getClassName() $= "FlyingVehicle" || %sourceObject.getClassName() $= "WheeledVehicle" || %sourceObject.getClassName() $= "HoverVehicle")) + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + else + { + if (isObject(%sourceObject) && %sourceObject.getTarget() >= 0 ) + { + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + } + else + { + %sourceTeam = -1; + } + } + + // if teamdamage is off, and both parties are on the same team + // (but are not the same person), apply no damage + if(!$teamDamage && (%targetClient != %sourceClient) && (%targetTeam == %sourceTeam)) + return; + + if(%targetObject.isShielded && %damageType != $DamageType::Blaster) + %amount = %data.checkShields(%targetObject, %position, %amount, %damageType); + + if(%amount == 0) + return; + + // Set the damage flash + %damageScale = %data.damageScale[%damageType]; + if(%damageScale !$= "") + %amount *= %damageScale; + + %flash = %targetObject.getDamageFlash() + (%amount * 2); + if (%flash > 0.75) + %flash = 0.75; + + %previousDamage = %targetObject.getDamagePercent(); + %targetObject.setDamageFlash(%flash); + %targetObject.applyDamage(%amount); + Game.onClientDamaged(%targetClient, %sourceClient, %damageType, %sourceObject); + + %targetClient.lastDamagedBy = %damagingClient; + %targetClient.lastDamaged = getSimTime(); + + //now call the "onKilled" function if the client was... you know... + if(%targetObject.getState() $= "Dead") + { + // where did this guy get it? + %damLoc = %targetObject.getDamageLocation(%position); + + // should this guy be blown apart? + if( %damageType == $DamageType::Explosion || + %damageType == $DamageType::TankMortar || + %damageType == $DamageType::Mortar || + %damageType == $DamageType::MortarTurret || + %damageType == $DamageType::BomberBombs || + %damageType == $DamageType::SatchelCharge || + %damageType == $DamageType::Missile ) + { + if( %previousDamage >= 0.35 ) // only if <= 35 percent damage remaining + { + %targetObject.setMomentumVector(%momVec); + %targetObject.blowup(); + } + } + + // this should be funny... + if( %damageType == $DamageType::VehicleSpawn ) + { + %targetObject.setMomentumVector("0 0 1"); + %targetObject.blowup(); + } + + // If we were killed, max out the flash + %targetObject.setDamageFlash(0.75); + + %damLoc = %targetObject.getDamageLocation(%position); + Game.onClientKilled(%targetClient, %sourceClient, %damageType, %sourceObject, %damLoc); + } + else if ( %amount > 0.1 ) + { + if( %targetObject.station $= "" && %targetObject.isCloaked() ) + { + %targetObject.setCloaked( false ); + %targetObject.reCloak = %targetObject.schedule( 500, "setCloaked", true ); + } + + playPain( %targetObject ); + } +} + +function Armor::onImpact(%data, %playerObject, %collidedObject, %vec, %vecLen) +{ + %data.damageObject(%playerObject, 0, VectorAdd(%playerObject.getPosition(),%vec), + %vecLen * %data.speedDamageScale, $DamageType::Ground); +} + +function Armor::applyConcussion( %this, %dist, %radius, %sourceObject, %targetObject ) +{ + %percentage = 1 - ( %dist / %radius ); + %random = getRandom(); + + if( %sourceObject == %targetObject ) + { + %flagChance = 1.0; + %itemChance = 1.0; + } + else + { + %flagChance = 0.7; + %itemChance = 0.7; + } + + %probabilityFlag = %flagChance * %percentage; + %probabilityItem = %itemChance * %percentage; + + if( %random <= %probabilityFlag ) + { + Game.applyConcussion( %targetObject ); + } + + if( %random <= %probabilityItem ) + { + %player = %targetObject; + %numWeapons = 0; + + // blaster 0 + // plasma 1 + // chain 2 + // disc 3 + // grenade 4 + // snipe 5 + // elf 6 + // mortar 7 + + //get our inventory + if( %weaps[0] = %player.getInventory("Blaster") > 0 ) %numWeapons++; + if( %weaps[1] = %player.getInventory("Plasma") > 0 ) %numWeapons++; + if( %weaps[2] = %player.getInventory("Chaingun") > 0 ) %numWeapons++; + if( %weaps[3] = %player.getInventory("Disc") > 0 ) %numWeapons++; + if( %weaps[4] = %player.getInventory("GrenadeLauncher") > 0 ) %numWeapons++; + if( %weaps[5] = %player.getInventory("SniperRifle") > 0 ) %numWeapons++; + if( %weaps[6] = %player.getInventory("ELFGun") > 0 ) %numWeapons++; + if( %weaps[7] = %player.getInventory("Mortar") > 0 ) %numWeapons++; + + %foundWeapon = false; + %attempts = 0; + + if( %numWeapons > 0 ) + { + while( !%foundWeapon ) + { + %rand = mFloor( getRandom() * 8 ); + if( %weaps[ %rand ] ) + { + %foundWeapon = true; + + switch ( %rand ) + { + case 0: + %player.use("Blaster"); + case 1: + %player.use("Plasma"); + case 2: + %player.use("Chaingun"); + case 3: + %player.use("Disc"); + case 4: + %player.use("GrenadeLauncher"); + case 5: + %player.use("SniperRifle"); + case 6: + %player.use("ElfGun"); + case 7: + %player.use("Mortar"); + } + + %image = %player.getMountedImage( $WeaponSlot ); + %player.throw( %image.item ); + %player.client.setWeaponsHudItem( %image.item, 0, 0 ); + %player.throwPack(); + } + else + { + %attempts++; + if( %attempts > 10 ) + %foundWeapon = true; + } + } + } + else + { + %targetObject.throwPack(); + %targetObject.throwWeapon(); + } + } +} + +//---------------------------------------------------------------------------- + +$DeathCry[1] = 'avo.deathCry_01'; +$DeathCry[2] = 'avo.deathCry_02'; +$PainCry[1] = 'avo.grunt'; +$PainCry[2] = 'avo.pain'; + +function playDeathCry( %obj ) +{ + %client = %obj.client; + %random = getRandom(1) + 1; + %desc = AudioClosest3d; + + playTargetAudio( %client.target, $DeathCry[%random], %desc, false ); +} + +function playPain( %obj ) +{ + %client = %obj.client; + %random = getRandom(1) + 1; + %desc = AudioClosest3d; + + playTargetAudio( %client.target, $PainCry[%random], %desc, false); +} + +//---------------------------------------------------------------------------- + +//$DefaultPlayerArmor = LightMaleHumanArmor; +$DefaultPlayerArmor = Light; + +function Player::setArmor(%this,%size) +{ + // Takes size as "Light","Medium", "Heavy" + %client = %this.client; + if (%client.race $= "Bioderm") + // Only have male bioderms. + %armor = %size @ "Male" @ %client.race @ Armor; + else + %armor = %size @ %client.sex @ %client.race @ Armor; + //echo("Player::armor: " @ %armor); + %this.setDataBlock(%armor); + %client.armor = %size; +} + +function getDamagePercent(%maxDmg, %dmgLvl) +{ + return (%dmgLvl / %maxDmg); +} + +function Player::getArmorSize(%this) +{ + // return size as "Light","Medium", "Heavy" + %dataBlock = %this.getDataBlock().getName(); + if (getSubStr(%dataBlock, 0, 5) $= "Light") + return "Light"; + else if (getSubStr(%dataBlock, 0, 6) $= "Medium") + return "Medium"; + else if (getSubStr(%dataBlock, 0, 5) $= "Heavy") + return "Heavy"; + else + return "Unknown"; +} + +function Player::pickup(%this,%obj,%amount) +{ + %data = %obj.getDataBlock(); + // Don't pick up a pack if we already have one mounted + if (%data.className $= Pack && + %this.getMountedImage($BackpackSlot) != 0) + return 0; + // don't pick up a weapon (other than targeting laser) if player's at maxWeapons + else if(%data.className $= Weapon + && %data.getName() !$= "TargetingLaser" // Special case + && %this.weaponCount >= %this.getDatablock().maxWeapons) + return 0; + // don't allow players to throw large packs at pilots (thanks Wizard) + else if(%data.className $= Pack && %data.image.isLarge && %this.isPilot()) + return 0; + return ShapeBase::pickup(%this,%obj,%amount); +} + +function Player::use( %this,%data ) +{ + // If player is in a station then he can't use any items + if(%this.station !$= "") + return false; + + // Convert the word "Backpack" to whatever is in the backpack slot. + if ( %data $= "Backpack" ) + { + if ( %this.inStation ) + return false; + + if ( %this.isPilot() ) + { + messageClient( %this.client, 'MsgCantUsePack', '\c2You can\'t use your pack while piloting.~wfx/misc/misc.error.wav' ); + return( false ); + } + else if ( %this.isWeaponOperator() ) + { + messageClient( %this.client, 'MsgCantUsePack', '\c2You can\'t use your pack while in a weaponry position.~wfx/misc/misc.error.wav' ); + return( false ); + } + + %image = %this.getMountedImage( $BackpackSlot ); + if ( %image ) + %data = %image.item; + } + + // Can't use some items when piloting or your a weapon operator + if ( %this.isPilot() || %this.isWeaponOperator() ) + if ( %data.getName() !$= "RepairKit" ) + return false; + + return ShapeBase::use( %this, %data ); +} + +function Player::maxInventory(%this,%data) +{ + %max = ShapeBase::maxInventory(%this,%data); + if (%this.getInventory(AmmoPack)) + %max += AmmoPack.max[%data.getName()]; + return %max; +} + +function Player::isPilot(%this) +{ + %vehicle = %this.getObjectMount(); + // There are two "if" statements to avoid a script warning. + if (%vehicle) + if (%vehicle.getMountNodeObject(0) == %this) + return true; + return false; +} + +function Player::isWeaponOperator(%this) +{ + %vehicle = %this.getObjectMount(); + if ( %vehicle ) + { + %weaponNode = %vehicle.getDatablock().weaponNode; + if ( %weaponNode > 0 && %vehicle.getMountNodeObject( %weaponNode ) == %this ) + return( true ); + } + + return( false ); +} + +function Player::liquidDamage(%obj, %data, %damageAmount, %damageType) +{ + if(%obj.getState() !$= "Dead") + { + %data.damageObject(%obj, 0, "0 0 0", %damageAmount, %damageType); + %obj.lDamageSchedule = %obj.schedule(50, "liquidDamage", %data, %damageAmount, %damageType); + } + else + %obj.lDamageSchedule = ""; +} + +function Armor::onEnterLiquid(%data, %obj, %coverage, %type) +{ + switch(%type) + { + case 0: + //Water + case 1: + //Ocean Water + case 2: + //River Water + case 3: + //Stagnant Water + case 4: + //Lava + %obj.liquidDamage(%data, $DamageLava, $DamageType::Lava); + case 5: + //Hot Lava + %obj.liquidDamage(%data, $DamageHotLava, $DamageType::Lava); + case 6: + //Crusty Lava + %obj.liquidDamage(%data, $DamageCrustyLava, $DamageType::Lava); + case 7: + //Quick Sand + } +} + +function Armor::onLeaveLiquid(%data, %obj, %type) +{ + switch(%type) + { + case 0: + //Water + case 1: + //Ocean Water + case 2: + //River Water + case 3: + //Stagnant Water + case 4: + //Lava + case 5: + //Hot Lava + case 6: + //Crusty Lava + case 7: + //Quick Sand + } + + if(%obj.lDamageSchedule !$= "") + { + cancel(%obj.lDamageSchedule); + %obj.lDamageSchedule = ""; + } +} + +function Armor::onTrigger(%data, %player, %triggerNum, %val) +{ + if (%triggerNum == 4) + { + // Throw grenade + if (%val == 1) + { + %player.grenTimer = 1; + } + else + { + if (%player.grenTimer == 0) + { + // Bad throw for some reason + } + else + { + %player.use(Grenade); + %player.grenTimer = 0; + } + } + } + else if (%triggerNum == 5) + { + // Throw mine + if (%val == 1) + { + %player.mineTimer = 1; + } + else + { + if (%player.mineTimer == 0) + { + // Bad throw for some reason + } + else + { + %player.use(Mine); + %player.mineTimer = 0; + } + } + } + else if (%triggerNum == 3) + { + // val = 1 when jet key (LMB) first pressed down + // val = 0 when jet key released + // MES - do we need this at all any more? + if(%val == 1) + %player.isJetting = true; + else + %player.isJetting = false; + } +} + +function Player::setMoveState(%obj, %move) +{ + %obj.disableMove(%move); +} + +function Armor::onLeaveMissionArea(%data, %obj) +{ + Game.leaveMissionArea(%data, %obj); +} + +function Armor::onEnterMissionArea(%data, %obj) +{ + Game.enterMissionArea(%data, %obj); +} + +function Armor::animationDone(%data, %obj) +{ + if(%obj.animResetWeapon !$= "") + { + if(%obj.getMountedImage($WeaponSlot) == 0) + if(%obj.inv[%obj.lastWeapon]) + %obj.use(%obj.lastWeapon); + %obj.animSetWeapon = ""; + } +} + +function playDeathAnimation(%player, %damageLocation, %type) +{ + %vertPos = firstWord(%damageLocation); + %quadrant = getWord(%damageLocation, 1); + + //echo("vert Pos: " @ %vertPos); + //echo("quad: " @ %quadrant); + + if( %type == $DamageType::Explosion || %type == $DamageType::Mortar || %type == $DamageType::Grenade) + { + if(%quadrant $= "front_left" || %quadrant $= "front_right") + %curDie = $PlayerDeathAnim::ExplosionBlowBack; + else + %curDie = $PlayerDeathAnim::TorsoBackFallForward; + } + else if(%vertPos $= "head") + { + if(%quadrant $= "front_left" || %quadrant $= "front_right" ) + %curDie = $PlayerDeathAnim::HeadFrontDirect; + else + %curDie = $PlayerDeathAnim::HeadBackFallForward; + } + else if(%vertPos $= "torso") + { + if(%quadrant $= "front_left" ) + %curDie = $PlayerDeathAnim::TorsoLeftSpinDeath; + else if(%quadrant $= "front_right") + %curDie = $PlayerDeathAnim::TorsoRightSpinDeath; + else if(%quadrant $= "back_left" ) + %curDie = $PlayerDeathAnim::TorsoBackFallForward; + else if(%quadrant $= "back_right") + %curDie = $PlayerDeathAnim::TorsoBackFallForward; + } + else if (%vertPos $= "legs") + { + if(%quadrant $= "front_left" || %quadrant $= "back_left") + %curDie = $PlayerDeathAnim::LegsLeftGimp; + if(%quadrant $= "front_right" || %quadrant $= "back_right") + %curDie = $PlayerDeathAnim::LegsRightGimp; + } + + if(%curDie $= "" || %curDie < 1 || %curDie > 11) + %curDie = 1; + + %player.setActionThread("Death" @ %curDie); +} + +function Armor::onDamage(%data, %obj) +{ + if(%obj.station !$= "" && %obj.getDamageLevel() == 0) + %obj.station.getDataBlock().endRepairing(%obj.station); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/power.cs b/public/base/@vl2/scripts.vl2/scripts/power.cs new file mode 100644 index 00000000..5b379f87 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/power.cs @@ -0,0 +1,180 @@ +$PowerThread = 0; +$AmbientThread = 1; +$ActivateThread = 2; +$DeployThread = 3; + +$HumSound = 0; +$ActivateSound = 1; +$DeploySound = 2; +$PlaySound = 3; + +//****************************************************************************** +//* Power -Audio- Data Blocks * +//****************************************************************************** + +datablock AudioProfile(BasePowerOn) +{ + filename = "fx/powered/base_power_on.wav"; + description = Audio2D; + preload = true; +}; + +datablock AudioProfile(BasePowerOff) +{ + filename = "fx/powered/base_power_off.wav"; + description = Audio2D; + preload = true; +}; + +datablock AudioProfile(BasePowerHum) +{ + filename = "fx/powered/base_power_loop.wav"; + description = AudioLooping2D; + preload = true; +}; + +//****************************************************************************** +//* Power - Functions * +//****************************************************************************** + +function GameBase::clearPower(%this) +{ +} + +function SimGroup::clearPower(%this) +{ + %this.powerCount = 0; + for (%i = 0; %i < %this.getCount(); %i++) + { + %obj = %this.getObject(%i); + if(%obj.getType() & $TypeMasks::GameBaseObjectType) + %obj.clearPower(); + } +} + +function SimObject::powerInit(%this, %powerCount) +{ + //function declared to reduce console error msg spam +} + +function SimGroup::powerInit(%this, %powerCount) +{ + if(%this.providesPower) + %powerCount++; + + %count = %this.getCount(); + for (%i = 0; %i < %count; %i++) + { + %obj = %this.getObject(%i); + if(%obj.getType() & $TypeMasks::GameBaseObjectType) + { + if(%obj.getDatablock().isPowering(%obj)) + %powerCount++; + } + } + %this.powerCount = %powerCount; + for (%i = 0; %i < %this.getCount(); %i++) + { + %obj = %this.getObject(%i); + %obj.powerInit(%powerCount); + } +} + +function GameBase::powerInit(%this, %powerCount) +{ + if(%powerCount) + %this.getDatablock().gainPower(%this); + else + %this.getDataBlock().losePower(%this); +} + +function SimObject::isPowering(%data, %obj) +{ + return false; +} + +function Generator::isPowering(%data, %obj) +{ + return !%obj.isDisabled(); +} + +function SimObject::updatePowerCount() +{ +} + +function SimObject::powerCheck() +{ +} + + +function SimGroup::updatePowerCount(%this, %value) +{ + if(%this.powerCount > 0 || %value > 0) + %this.powerCount += %value; + for (%i = 0; %i < %this.getCount(); %i++) + { + %this.getObject(%i).updatePowerCount(%value); + } + for (%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).powerCheck(%this.powerCount); +} + +function GameBaseData::gainPower(%data, %obj) +{ +} + +function GameBaseData::losePower(%data, %obj) +{ +} + +function InteriorInstance::powerCheck(%this, %powerCount) +{ + if(%powerCount > 0) + %mode = "Off"; + else + %mode = "On"; + %this.setAlarmMode(%mode); +} + +function GameBase::powerCheck(%this, %powerCount) +{ + if(%powerCount || %this.selfPower) + %this.getDatablock().gainPower(%this); + else + %this.getDatablock().losePower(%this); +} + +function GameBase::incPowerCount(%this) +{ + %this.getGroup().updatePowerCount(1); +} + +function GameBase::decPowerCount(%this) +{ + %this.getGroup().updatePowerCount(-1); +} + +function GameBase::setSelfPowered(%this) +{ + if(!%this.isPowered()) + { + %this.selfPower = true; + if(%this.getDatablock().deployedObject) + %this.initDeploy = true; + %this.getDataBlock().gainPower(%this); + } + else + %this.selfPower = true; +} + +function GameBase::clearSelfPowered(%this) +{ + %this.selfPower = ""; + if(!%this.isPowered()) + %this.getDataBlock().losePower(%this); +} + +function GameBase::isPowered(%this) +{ + return %this.selfPower || %this.getGroup().powerCount > 0; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/projectiles.cs b/public/base/@vl2/scripts.vl2/scripts/projectiles.cs new file mode 100644 index 00000000..aa1c1e35 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/projectiles.cs @@ -0,0 +1,621 @@ +//-------------------------------------------------------------------------- +// Projectiles.cs: Note that the actual projectile blocks are stored with +// with weapon that uses them in base/scripts/weapons/*.cs, +// the blocks below are only to illustrate the default values +// for each block type. Also, ProjectileData cannot be used +// as a concrete datablock type. +// Inheritance: +// ProjectileData : GameBaseData +// LinearProjectileData : ProjectileData +// LinearFlareProjectileData : LinearProjectileData +// GrenadeProjectileData : ProjectileData +// SeekerProjectileData : ProjectileData +// SniperProjectileData : ProjectileData +// +//-------------------------------------------------------------------------- +//-------------------------------------- Default functions +// +function ProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal) +{ + %targetObject.damage(%projectile.sourceObject, %position, %data.directDamage * %modifier, %data.directDamageType); +} + +function SniperProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal) +{ + %damageAmount = %data.directDamage * %projectile.damageFactor; + + if(%targetObject.getDataBlock().getClassName() $= "PlayerData") + { + %damLoc = firstWord(%targetObject.getDamageLocation(%position)); + if(%damLoc $= "head") + { + %targetObject.getOwnerClient().headShot = 1; + %modifier = %data.rifleHeadMultiplier; + } + else + { + %modifier = 1; + %targetObject.getOwnerClient().headShot = 0; + } + } + %targetObject.damage(%projectile.sourceObject, %position, %modifier * %damageAmount, %data.directDamageType); +} + +function ShapeBaseImageData::onFire(%data, %obj, %slot) +{ + %data.lightStart = getSimTime(); + + if( %obj.station $= "" && %obj.isCloaked() ) + { + if( %obj.respawnCloakThread !$= "" ) + { + Cancel(%obj.respawnCloakThread); + %obj.setCloaked( false ); + %obj.respawnCloakThread = ""; + } + else + { + if( %obj.getEnergyLevel() > 20 ) + { + %obj.setCloaked( false ); + %obj.reCloak = %obj.schedule( 500, "setCloaked", true ); + } + } + } + + if( %obj.client > 0 ) + { + %obj.setInvincibleMode(0 ,0.00); + %obj.setInvincible( false ); // fire your weapon and your invincibility goes away. + } + + %vehicle = 0; + if(%data.usesEnergy) + { + if(%data.useMountEnergy) + { + %useEnergyObj = %obj.getObjectMount(); + if(!%useEnergyObj) + %useEnergyObj = %obj; + %energy = %useEnergyObj.getEnergyLevel(); + %vehicle = %useEnergyObj; + } + else + %energy = %obj.getEnergyLevel(); + + if(%data.useCapacitor && %data.usesEnergy) + { + if( %useEnergyObj.turretObject.getCapacitorLevel() < %data.minEnergy ) + { + return; + } + } + else if(%energy < %data.minEnergy) + return; + } + if(%data.projectileSpread) + { + %vector = %obj.getMuzzleVector(%slot); + %x = (getRandom() - 0.5) * 2 * 3.1415926 * %data.projectileSpread; + %y = (getRandom() - 0.5) * 2 * 3.1415926 * %data.projectileSpread; + %z = (getRandom() - 0.5) * 2 * 3.1415926 * %data.projectileSpread; + %mat = MatrixCreateFromEuler(%x @ " " @ %y @ " " @ %z); + %vector = MatrixMulVector(%mat, %vector); + + %p = new (%data.projectileType)() { + dataBlock = %data.projectile; + initialDirection = %vector; + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + vehicleObject = %vehicle; + }; + } + else + { + %p = new (%data.projectileType)() { + dataBlock = %data.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + vehicleObject = %vehicle; + }; + } + + if (isObject(%obj.lastProjectile) && %obj.deleteLastProjectile) + %obj.lastProjectile.delete(); + + %obj.lastProjectile = %p; + %obj.deleteLastProjectile = %data.deleteLastProjectile; + MissionCleanup.add(%p); + + // AI hook + if(%obj.client) + %obj.client.projectile = %p; + + if(%data.usesEnergy) + { + if(%data.useMountEnergy) + { + if( %data.useCapacitor ) + { + %vehicle.turretObject.setCapacitorLevel( %vehicle.turretObject.getCapacitorLevel() - %data.fireEnergy ); + } + else + %useEnergyObj.setEnergyLevel(%energy - %data.fireEnergy); + } + else + %obj.setEnergyLevel(%energy - %data.fireEnergy); + } + else + %obj.decInventory(%data.ammo,1); + return %p; +} + +function ShapeBaseImageData::onUnmount(%data, %obj, %slot) +{ + if (%data.deleteLastProjectile && isObject(%obj.lastProjectile)) + { + %obj.lastProjectile.delete(); + %obj.lastProjectile = ""; + } +} + +function TurretImageData::deconstruct(%data, %obj, %slot) +{ + if (%data.deleteLastProjectile && isObject(%obj.lastProjectile)) + { + %obj.lastProjectile.delete(); + %obj.lastProjectile = ""; + } +} + +function ShapeBaseImageData::deconstruct(%data, %obj, %slot) +{ + if (%data.deleteLastProjectile && isObject(%obj.lastProjectile)) + { + %obj.lastProjectile.delete(); + %obj.lastProjectile = ""; + } +} + +function MissileLauncherImage::onFire(%data,%obj,%slot) +{ + %p = Parent::onFire(%data, %obj, %slot); + MissileSet.add(%p); + + %target = %obj.getLockedTarget(); + if(%target) + %p.setObjectTarget(%target); + else if(%obj.isLocked()) + %p.setPositionTarget(%obj.getLockedPosition()); + else + %p.setNoTarget(); +} + +function MissileLauncherImage::onWetFire(%data, %obj, %slot) +{ + %p = Parent::onFire(%data, %obj, %slot); + MissileSet.add(%p); + + %p.setObjectTarget(0); +} + +//-------------------------------------------------------------------------- + +function MissileBarrelLarge::onFire(%data,%obj,%slot) +{ + %p = Parent::onFire(%data,%obj,%slot); + + if (%obj.getControllingClient()) + { + // a player is controlling the turret + %target = %obj.getLockedTarget(); + } + else + { + // The ai is controlling the turret + %target = %obj.getTargetObject(); + } + + if(%target) + %p.setObjectTarget(%target); + else if(%obj.isLocked()) + %p.setPositionTarget(%obj.getLockedPosition()); + else + %p.setNoTarget(); // set as unguided. Only happens when itchy trigger can't wait for lock tone. +} + +//add mortars to the "grenade set" so the AI's can avoid them better... +function MortarImage::onFire(%data,%obj,%slot) +{ + %p = Parent::onFire(%data, %obj, %slot); + AIGrenadeThrown(%p); +} + +function SniperRifleImage::onFire(%data,%obj,%slot) +{ + if(!%obj.hasEnergyPack) + { + // siddown Junior, you can't use it + serverPlay3D(SniperRifleDryFireSound, %obj.getTransform()); + return; + } + + %pct = %obj.getEnergyLevel() / %obj.getDataBlock().maxEnergy; + %p = new (%data.projectileType)() { + dataBlock = %data.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + damageFactor = %pct * %pct; + sourceSlot = %slot; + }; + %p.setEnergyPercentage(%pct); + + %obj.lastProjectile = %p; + MissionCleanup.add(%p); + serverPlay3D(SniperRifleFireSound, %obj.getTransform()); + + // AI hook + if(%obj.client) + %obj.client.projectile = %p; + + %obj.setEnergyLevel(0); +} + +function ElfGunImage::onFire(%data, %obj, %slot) +{ + %p = Parent::onFire(%data, %obj, %slot); + + if(!%p.hasTarget()) + %obj.playAudio(0, ELFFireWetSound); +} + +function TargetingLaserImage::onFire(%data,%obj,%slot) +{ + %p = Parent::onFire(%data, %obj, %slot); + %p.setTarget(%obj.team); +} + +function ShockLanceImage::onFire(%this, %obj, %slot) +{ + if( %obj.isCloaked() ) + { + if( %obj.respawnCloakThread !$= "" ) + { + Cancel(%obj.respawnCloakThread); + %obj.setCloaked( false ); + } + else + { + if( %obj.getEnergyLevel() > 20 ) + { + %obj.setCloaked( false ); + %obj.reCloak = %obj.schedule( 500, "setCloaked", true ); + } + } + } + + %muzzlePos = %obj.getMuzzlePoint(%slot); + %muzzleVec = %obj.getMuzzleVector(%slot); + + %endPos = VectorAdd(%muzzlePos, VectorScale(%muzzleVec, %this.projectile.extension)); + + %damageMasks = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType | + $TypeMasks::StationObjectType | $TypeMasks::GeneratorObjectType | + $TypeMasks::SensorObjectType | $TypeMasks::TurretObjectType; + + %everythingElseMask = $TypeMasks::TerrainObjectType | + $TypeMasks::InteriorObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::StaticObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::DamagableItemObjectType; + + // did I miss anything? players, vehicles, stations, gens, sensors, turrets + %hit = ContainerRayCast(%muzzlePos, %endPos, %damageMasks | %everythingElseMask, %obj); + + %noDisplay = true; + + if (%hit !$= "0") + { + %obj.setEnergyLevel(%obj.getEnergyLevel() - %this.hitEnergy); + + %hitobj = getWord(%hit, 0); + %hitpos = getWord(%hit, 1) @ " " @ getWord(%hit, 2) @ " " @ getWord(%hit, 3); + + if ( %hitObj.getType() & %damageMasks ) + { + %hitobj.applyImpulse(%hitpos, VectorScale(%muzzleVec, %this.projectile.impulse)); + %obj.playAudio(0, ShockLanceHitSound); + + // This is truly lame, but we need the sourceobject property present... + %p = new ShockLanceProjectile() { + dataBlock = %this.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + targetId = %hit; + }; + MissionCleanup.add(%p); + + %damageMultiplier = 1.0; + + if(%hitObj.getDataBlock().getClassName() $= "PlayerData") + { + // Now we see if we hit from behind... + %forwardVec = %hitobj.getForwardVector(); + %objDir2D = getWord(%forwardVec, 0) @ " " @ getWord(%forwardVec,1) @ " " @ "0.0"; + %objPos = %hitObj.getPosition(); + %dif = VectorSub(%objPos, %muzzlePos); + %dif = getWord(%dif, 0) @ " " @ getWord(%dif, 1) @ " 0"; + %dif = VectorNormalize(%dif); + %dot = VectorDot(%dif, %objDir2D); + + // 120 Deg angle test... + // 1.05 == 60 degrees in radians + if (%dot >= mCos(1.05)) { + // Rear hit + %damageMultiplier = 3.0; + } + } + + %totalDamage = %this.Projectile.DirectDamage * %damageMultiplier; + %hitObj.getDataBlock().damageObject(%hitobj, %p.sourceObject, %hitpos, %totalDamage, $DamageType::ShockLance); + + %noDisplay = false; + } + } + + if( %noDisplay ) + { + // Miss + %obj.setEnergyLevel(%obj.getEnergyLevel() - %this.missEnergy); + %obj.playAudio(0, ShockLanceMissSound); + + %p = new ShockLanceProjectile() { + dataBlock = %this.projectile; + initialDirection = %obj.getMuzzleVector(%slot); + initialPosition = %obj.getMuzzlePoint(%slot); + sourceObject = %obj; + sourceSlot = %slot; + }; + MissionCleanup.add(%p); + + } +} + +$ELFZapSound = 2; +$ELFFireSound = 3; + +function ELFProjectileData::zapTarget(%data, %projectile, %target, %targeter) +{ + %oldERate = %target.getRechargeRate(); + %target.teamDamageStateOnZap = $teamDamage; + %teammates = %target.client.team == %targeter.client.team; + + if( %target.teamDamageStateOnZap || !%teammates ) + %target.setRechargeRate(%oldERate - %data.drainEnergy); + else + %target.setRechargeRate(%oldERate); + + %projectile.checkELFStatus(%data, %target, %targeter); +} + +function ELFProjectileData::unzapTarget(%data, %projectile, %target, %targeter) +{ + cancel(%projectile.ELFrecur); + %target.stopAudio($ELFZapSound); + %targeter.stopAudio($ELFFireSound); + %target.zapSound = false; + %targeter.zappingSound = false; + %teammates = %target.client.team == %targeter.client.team; + + if(!%target.isDestroyed()) + { + %oldERate = %target.getRechargeRate(); + if( %target.teamDamageStateOnZap || !%teammates ) + %target.setRechargeRate(%oldERate + %data.drainEnergy); + else + %target.setRechargeRate(%oldERate); + } +} + +function ELFProjectileData::targetDestroyedCancel(%data, %projectile, %target, %targeter) +{ + cancel(%projectile.ELFrecur); + %target.stopAudio($ELFZapSound); + %targeter.stopAudio($ELFFireSound); + %target.zapSound = false; + %targeter.zappingSound = false; + %projectile.delete(); +} + +function ELFProjectile::checkELFStatus(%this, %data, %target, %targeter) +{ + if(isObject(%target)) + { + if(%target.getDamageState() $= "Destroyed") + { + %data.targetDestroyedCancel(%this, %target, %targeter); + return; + } + + %enLevel = %target.getEnergyLevel(); + if(%enLevel < 1.0) + { + %dataBlock = %target.getDataBlock(); + %dataBlock.damageObject(%target, %this.sourceObject, %target.getPosition(), %data.drainHealth, %data.directDamageType); + + } + else + { + %normal = "0.0 0.0 1.0"; + %target.playShieldEffect( %normal ); + } + %this.ELFrecur = %this.schedule(32, checkELFStatus, %data, %target, %targeter); + + %targeter.playAudio($ELFFireSound, ELFGunFireSound); + if(!%target.zapSound) + { + %target.playAudio($ELFZapSound, ELFHitTargetSound); + %target.zapSound = true; + %targeter.zappingSound = true; + } + } + // ------------------------------------------------------- + // z0dd - ZOD, 5/27/02. Stop firing if there is no target, + // fixes continuous fire bug. + //else if(%targeter.zappingSound) + //{ + // %targeter.stopAudio($ELFFireSound); + // %targeter.zappingSound = false; + //} + else + { + if(%targeter.zappingSound) + { + %targeter.stopAudio($ELFFireSound); + %targeter.zappingSound = false; + } + %data.targetDestroyedCancel(%this, %target, %targeter); + return; + } + // End z0dd - ZOD + // ------------------------------------------------------- +} + + +function RadiusExplosion(%explosionSource, %position, %radius, %damage, %impulse, %sourceObject, %damageType) +{ + InitContainerRadiusSearch(%position, %radius, $TypeMasks::PlayerObjectType | + $TypeMasks::VehicleObjectType | + $TypeMasks::StaticShapeObjectType | + $TypeMasks::TurretObjectType | + $TypeMasks::ItemObjectType); + + %numTargets = 0; + while ((%targetObject = containerSearchNext()) != 0) + { + %dist = containerSearchCurrRadDamageDist(); + + if (%dist > %radius) + continue; + + if (%targetObject.isMounted()) + { + %mount = %targetObject.getObjectMount(); + %found = -1; + for (%i = 0; %i < %mount.getDataBlock().numMountPoints; %i++) + { + if (%mount.getMountNodeObject(%i) == %targetObject) + { + %found = %i; + break; + } + } + + if (%found != -1) + { + if (%mount.getDataBlock().isProtectedMountPoint[%found]) + { + continue; + } + } + } + + %targets[%numTargets] = %targetObject; + %targetDists[%numTargets] = %dist; + %numTargets++; + } + + for (%i = 0; %i < %numTargets; %i++) + { + %targetObject = %targets[%i]; + %dist = %targetDists[%i]; + + %coverage = calcExplosionCoverage(%position, %targetObject, + ($TypeMasks::InteriorObjectType | + $TypeMasks::TerrainObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::VehicleObjectType)); + if (%coverage == 0) + continue; + + //if ( $splashTest ) + %amount = (1.0 - ((%dist / %radius) * 0.88)) * %coverage * %damage; + //else + //%amount = (1.0 - (%dist / %radius)) * %coverage * %damage; + + //error( "damage: " @ %amount @ " at distance: " @ %dist @ " radius: " @ %radius @ " maxDamage: " @ %damage ); + + %data = %targetObject.getDataBlock(); + %className = %data.className; + + if (%impulse && %data.shouldApplyImpulse(%targetObject)) + { + %p = %targetObject.getWorldBoxCenter(); + %momVec = VectorSub(%p, %position); + %momVec = VectorNormalize(%momVec); + %impulseVec = VectorScale(%momVec, %impulse * (1.0 - (%dist / %radius))); + %doImpulse = true; + } + // --------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Removed Wheeled Vehicle to eliminate the flying MPB bug + // caused by tossing concussion grenades under a deployed MPB. + //else if( %className $= WheeledVehicleData || %className $= FlyingVehicleData || %className $= HoverVehicleData ) + else if( %className $= FlyingVehicleData || %className $= HoverVehicleData ) + { + %p = %targetObject.getWorldBoxCenter(); + %momVec = VectorSub(%p, %position); + %momVec = VectorNormalize(%momVec); + + %impulseVec = VectorScale(%momVec, %impulse * (1.0 - (%dist / %radius))); + + if( getWord( %momVec, 2 ) < -0.5 ) + %momVec = "0 0 1"; + + // Add obj's velocity into the momentum vector + %velocity = %targetObject.getVelocity(); + //%momVec = VectorNormalize( vectorAdd( %momVec, %velocity) ); + %doImpulse = true; + } + else + { + %momVec = "0 0 1"; + %doImpulse = false; + } + + if(%amount > 0) + %data.damageObject(%targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %explosionSource.theClient, %explosionSource); + else if( %explosionSource.getDataBlock().getName() $= "ConcussionGrenadeThrown" && %data.getClassName() $= "PlayerData" ) + { + %data.applyConcussion( %dist, %radius, %sourceObject, %targetObject ); + + if(!$teamDamage && %sourceObject != %targetObject && %sourceObject.client.team == %targetObject.client.team) + { + messageClient(%targetObject.client, 'msgTeamConcussionGrenade', '\c1You were hit by %1\'s concussion grenade.', getTaggedString(%sourceObject.client.name)); + } + } + + if( %doImpulse ) + %targetObject.applyImpulse(%position, %impulseVec); + } +} + +function ProjectileData::onExplode(%data, %proj, %pos, %mod) +{ + if (%data.hasDamageRadius) + RadiusExplosion(%proj, %pos, %data.damageRadius, %data.indirectDamage, %data.kickBackStrength, %proj.sourceObject, %data.radiusDamageType); +} + +function Flag::shouldApplyImpulse(%data, %obj) +{ + if(%obj.isHome) + return false; + else + return true; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/recordings.cs b/public/base/@vl2/scripts.vl2/scripts/recordings.cs new file mode 100644 index 00000000..0402116c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/recordings.cs @@ -0,0 +1,752 @@ +function RecordingsDlg::onWake(%gui) +{ + %gui.fillRecordingsList(); + updateRecordingButtons(); +} + +function msToMinSec(%time) +{ + %sec = mFloor(%time / 1000); + %min = mFloor(%sec / 60); + %sec -= %min * 60; + + // pad it + if(%min < 10) + %min = "0" @ %min; + if(%sec < 10) + %sec = "0" @ %sec; + + return(%min @ ":" @ %sec); +} + +function RecordingsDlg::fillRecordingsList(%gui) +{ + // setup the ctrl + if(!%gui.initialized) + { + RecordingsDlgList.setSortColumn(0); + RecordingsDlgList.setSortIncreasing(true); + + RecordingsDlgList.addStyle(1, $ShellFont, $ShellFontSize, "80 220 200", "30 255 225", "10 60 40" ); + RecordingsDlgList.addStyle(2, $ShellFont, $ShellFontSize, "120 120 120", "120 120 120", "120 120 120" ); + + // add the columns + RecordingsDlgList.addColumn(0, "Recording", 200, 100, 300); + RecordingsDlgList.addColumn(1, "Time", 140, 60, 180, "filetime center"); + RecordingsDlgList.addColumn(2, "Length (min:sec)", 40, 40, 80, "center"); + + %gui.initialized = true; + } + + RecordingsDlgList.clear(); + RecordingsDlgList.clearList(); + + // process all the recordings + %search = "recordings/*.rec"; + %ct = 0; + %demoVersion = getDemoVersion(); + + for(%file = findFirstFile(%search); %file !$= ""; %file = findNextFile(%search)) + { + %fileName = fileBase(%file); + + // query the version/length of the recording + %val = getDemoVersionLength(%file); + %version = getField(%val, 0); + + // unknown version + if(%version == -1) + { + %version = "???"; + %length = "???"; + } + else + %length = msToMinSec(getField(%val, 1)); + + %fileTime = getFileModifyTime(%file); + RecordingsDlgList.addRow(%ct, %fileName TAB %fileTime TAB %length); + RecordingsDlgList.setRowStyle(%ct, (%version == %demoVersion) ? 1 : 2); + + %ct++; + } + + RecordingsDlgList.sort(0, true); + RecordingsDlgList.setSelectedRow(0); +} + +function updateRecordingButtons() +{ + %active = RecordingsDlgList.rowCount() != 0; + PR_StartDemoBtn.setActive(%active); + PR_DeleteDemoBtn.setActive(%active); + PR_RenameDemoBtn.setActive(%active); + + if(%active) + PR_StartDemoBtn.makeFirstResponder(1); + else + PR_CancelBtn.makeFirstResponder(1); +} + +//------------------------------------------------------------------------- +// functions to handle the progress bar for loading demo +function DemoLoadProgressDlg::onWake(%this) +{ + DemoLoadProgressCtrl.setValue(0.0); +} + +function demoUpdateDatablockProgress(%count, %total) +{ + DemoLoadProgressCtrl.setValue(%count / %total); +} + +//------------------------------------------------------------------------- +// sequential variables named $DemoValue[?] will be stored in the demo stream +// and accessable right after the demo has been loaded +function saveDemoSettings() +{ + $DemoValueIdx = 0; + + getState(MISC); + + // store the playergroup + getState(PLAYERLIST); + + // get the states for all the gui's of interest + getState(RETICLE); + getState(BACKPACK); + getState(WEAPON); + getState(INVENTORY); + getState(SCORE); + getState(CLOCK); + getState(CHAT); + + // KP: save gravity + getState(GRAVITY); +} + +function resetGameState() +{ + $timeScale = 1; + + // reset some state + HudMessageVector.clear(); + if(isObject(PlayerListGroup)) + PlayerListGroup.delete(); + + // stop all sound + alxStopAll(); + + // clean up voting + voteHud.voting = false; + mainVoteHud.setvisible(0); + + // clear all print messages + clientCmdclearBottomPrint(); + clientCmdClearCenterPrint(); + + clientCmdResetCommandMap(); + + // clear the inventory and weapons hud + weaponsHud.reset(); + inventoryHud.reset(); + + // reset the objective hud + objectiveHud.setSeparators(""); + objectiveHud.disableHorzSeparator(); + while(objectiveHud.getCount() > 0) + objectiveHud.getObject(0).delete(); +} + +function loadDemoSettings() +{ + $DemoValueIdx = 0; + + setState(MISC); + + // restore the playergroup + setState(PLAYERLIST); + + // set the states for all the gui's of interest + setState(RETICLE); + setState(BACKPACK); + setState(WEAPON); + setState(INVENTORY); + setState(SCORE); + setState(CLOCK); + setState(CHAT); + + // KP: load gravity + setState(GRAVITY); +} + +function addDemoValue(%val) +{ + // make sure variables get saved + if(%val $= "") + %val = ""; + + $DemoValue[$DemoValueIdx] = %val; + $DemoValueIdx++; +} + +function getDemoValue() +{ + %val = $DemoValue[$DemoValueIdx]; + $DemoValueIdx++; + + if(%val $= "") + %val = ""; + + return(%val); +} + +//------------------------------------------------------------------------- +// get/setState +// - strings max of 255 chars +function getState(%type) +{ + switch$(%type) + { + case MISC: + addDemoValue( $HudMode TAB $HudModeType TAB $HudModeNode TAB voteHud.voting TAB isObject(passengerKeys) TAB musicPlayer.currentTrack ); + + case PLAYERLIST: + + %count = PlayerListGroup.getCount(); + addDemoValue(%count); + for(%i = 0; %i < %count; %i++) + { + %obj = PlayerListGroup.getObject(%i); + addDemoValue( %obj.name TAB + %obj.guid TAB + %obj.clientId TAB + %obj.targetId TAB + %obj.teamId TAB + %obj.score TAB + %obj.ping TAB + %obj.packetLoss TAB + %obj.chatMuted TAB + %obj.canListen TAB + %obj.voiceEnabled TAB + %obj.isListening TAB + %obj.isBot TAB + %obj.isAdmin TAB + %obj.isSuperAdmin TAB + %obj.isSmurf ); + } + + case RETICLE: + addDemoValue( reticleHud.bitmap TAB + reticleHud.isVisible() TAB + retCenterHud.isVisible() TAB + ammoHud.isVisible() TAB + ammoHud.getValue() TAB + deploySensor.isVisible() TAB + reticleFrameHud.isVisible() ); + + case BACKPACK: + addDemoValue( backpackIcon.bitmap TAB backpackFrame.isVisible() TAB backpackText.getValue() TAB backpackText.isVisible TAB backpackFrame.pack ); + + case WEAPON: + %count = weaponsHud.getNumItems(); + %slotCount = weaponsHud.getNumSlots(); + %active = weaponsHud.getActiveItem(); + + // visible/bitmaps(3)/count/slotcount/active + addDemoValue( weaponsHud.isVisible() TAB weaponsHud.getBackgroundBitmap() TAB weaponsHud.getHighLightBitmap() TAB weaponsHud.getInfiniteBitmap() TAB %count TAB %slotCount TAB %active ); + + // images + for(%i = 0; %i < %count; %i++) + addDemoValue( $WeaponNames[%i] TAB weaponsHud.getItemBitmap(%i) ); + + // items + for(%i = 0; %i < %slotCount; %i++) + addDemoValue( weaponsHud.getSlotId(%i) TAB weaponsHud.getSlotCount(%i) ); + + case INVENTORY: + // count/active + %count = inventoryHud.getNumItems(); + %slotCount = inventoryHud.getNumSlots(); + %active = inventoryHud.getActiveItem(); + + // visible/bitmaps(3)/count/slotCount/active + addDemoValue( inventoryHud.isVisible() TAB inventoryHud.getBackgroundBitmap() TAB inventoryHud.getHighLightBitmap() TAB inventoryHud.getInfiniteBitmap() TAB %count TAB %slotCount TAB %active ); + + // images + for(%i = 0; %i < %count; %i++) + addDemoValue( inventoryHud.getItemBitmap(%i) ); + + // items + for(%i = 0; %i < %slotCount; %i++) + addDemoValue( inventoryHud.getSlotId(%i) TAB inventoryHud.getSlotCount(%i) ); + + case SCORE: + %objCount = objectiveHud.getCount(); + + // visible/gametype/numobjects + addDemoValue( objectiveHud.isVisible() TAB objectiveHud.gameType TAB %objCount ); + + // only text ctrls exist in this thing.. so just dump the strings + for(%i = 0; %i < %objCount; %i++) + addDemoValue(objectiveHud.getObject(%i).getValue()); + + case CLOCK: + addDemoValue( clockHud.isVisible() TAB clockHud.getTime() ); + + case CHAT: + + // store last 10 messages + %numLines = HudMessageVector.getNumLines(); + for(%i = (%numLines - 10); %i < %numLines; %i++) + { + if(%i < 0) + addDemoValue(""); + else + addDemoValue(HudMessageVector.getLineText(%i)); + } + + case GRAVITY: + // KP + PanamaJack + // Store the gravity setting regardless of what it is + addDemoValue(getGravity()); + } +} + +function setState(%type) +{ + switch$(%type) + { + case MISC: + %val = getDemoValue(); + $HudMode = getField(%val, 0); + $HudModeType = getField(%val, 1); + $HudModeNode = getField(%val, 2); + voteHud.voting = getField(%val, 3); + + clientCmdSetDefaultVehicleKeys(getField(%val, 4)); + clientCmdPlayMusic(getField(%val, 5)); + + ClientCmdDisplayHuds(); + + case PLAYERLIST: + new SimGroup("PlayerListGroup"); + %count = getDemoValue(); + for(%i = 0; %i < %count; %i++) + { + %val = getDemoValue(); + + %player = new ScriptObject() + { + className = "PlayerRep"; + name = getField(%val, 0); + guid = getField(%val, 1); + clientId = getField(%val, 2); + targetId = getField(%val, 3); + teamId = getField(%val, 4); + score = getField(%val, 5); + ping = getField(%val, 6); + packetLoss = getField(%val, 7); + chatMuted = getField(%val, 8); + canListen = getField(%val, 9); + voiceEnabled = getField(%val, 10); + isListening = getField(%val, 11); + isBot = getField(%val, 12); + isAdmin = getField(%val, 13); + isSuperAdmin = getField(%val, 14); + isSmurf = getField(%val, 15); + }; + + PlayerListGroup.add(%player); + $PlayerList[%player.clientId] = %player; + + lobbyUpdatePlayer(%player.clientId); + } + + case RETICLE: + %val = getDemoValue(); + reticleHud.setBitmap(getField(%val, 0)); + reticleHud.setVisible(getField(%val, 1)); + retCenterHud.setVisible(getField(%val, 2)); + ammoHud.setVisible(getField(%val, 3)); + ammoHud.setValue(getField(%val, 4)); + deploySensor.setVisible(getField(%val, 5)); + reticleFrameHud.setVisible(getField(%val, 6)); + + case BACKPACK: + %val = getDemoValue(); + backpackIcon.setBitmap(getField(%val, 0)); + backpackFrame.setVisible(getField(%val, 1)); + backpackText.setValue(getField(%val, 2)); + backpackText.setVisible(getField(%val, 3)); + backpackFrame.pack = getField(%val, 4); + + case WEAPON: + %val = getDemoValue(); + + // visible + weaponsHud.reset(); + weaponsHud.setVisible(getField(%val, 0)); + + // bitmaps + weaponsHud.setBackgroundBitmap(getField(%val, 1)); + weaponsHud.setHighLightBitmap(getField(%val, 2)); + weaponsHud.setInfiniteAmmoBitmap(getField(%val, 3)); + + // count/slotCount/active + %count = getField(%val, 4); + %slotCount = getField(%val, 5); + %active = getField(%val, 6); + + // bitmaps + for(%i = 0; %i < %count; %i++) + { + %val = getDemoValue(); + $WeaponNames[%i] = getField(%val, 0); + weaponsHud.setWeaponBitmap(%i, getField(%val, 1)); + } + + // items + for(%i = 0; %i < %slotCount; %i++) + { + %val = getDemoValue(); + weaponsHud.addWeapon(getField(%val, 0), getField(%val, 1)); + } + + // active + weaponsHud.setActiveWeapon(%active); + + case INVENTORY: + %val = getDemoValue(); + + // visible + inventoryHud.reset(); + inventoryHud.setVisible(getField(%val, 0)); + + // bitmaps + inventoryHud.setBackgroundBitmap(getField(%val, 1)); + inventoryHud.setHighLightBitmap(getField(%val, 2)); + inventoryHud.setInfiniteAmountBitmap(getField(%val, 3)); + + // count/slotCount/active + %count = getField(%val, 4); + %slotCount = getField(%val, 5); + %active = getField(%val, 6); + + // images + for(%i = 0; %i < %count; %i++) + { + %val = getDemoValue(); + inventoryHud.setInventoryBitmap(%i, %val); + } + + // items + for(%i = 0; %i < %slotCount; %i++) + { + %val = getDemoValue(); + inventoryHud.addInventory(getField(%val, 0), getField(%val, 1)); + } + + // active + inventoryHud.setActiveInventory(%active); + + case SCORE: + %val = getDemoValue(); + + objectiveHud.setVisible(getField(%val, 0)); + setupObjHud(getField(%val, 1)); + %objCount = getField(%val, 2); + + // must read in all values even if not used + for(%i = 0; %i < %objCount; %i++) + { + %val = getDemoValue(); + if(%i < objectiveHud.getCount()) + objectiveHud.getObject(%i).setValue(%val); + } + + case CLOCK: + %val = getDemoValue(); + clockHud.setVisible(getField(%val, 0)); + clockHud.setTime(getField(%val, 1)); + + case CHAT: + HudMessageVector.clear(); + for(%i = 0; %i < 10; %i++) + { + %val = getDemoValue(); + if(%val !$= "") + HudMessageVector.pushBackLine(%val); + } + + case GRAVITY: + // KP + // Try to get a gravity value, but don't set gravity unless it's valid. + %gravity = getDemoValue(); + if (%gravity !$= "") + setGravity(%gravity); + } +} + +//------------------------------------------------------------------------- +function doRecordingDelete(%file) +{ + // delete it + if(deleteFile("recordings/" @ %file @ ".rec")) + { + %sel = RecordingsDlgList.getSelectedId(); + RecordingsDlgList.removeRowById(%sel); + RecordingsDlgList.setSelectedRow(0); + + updateRecordingButtons(); + } + else + messageBoxOK("Failed", "Failed to remove file '" @ %file @ "'."); +} + +function DeleteSelectedDemo() +{ + %sel = RecordingsDlgList.getSelectedId(); + %file = getField(RecordingsDlgList.getRowTextById(%sel), 0); + + messageBoxOkCancel("Delete Recording?", "Are you sure you wish to delete recording file '" @ %file @ "'?", "doRecordingDelete(\"" @ %file @ "\");"); +} + +function StartSelectedDemo() +{ + // first unit is filename + %sel = RecordingsDlgList.getSelectedId(); + %rowText = RecordingsDlgList.getRowTextById(%sel); + + %file = "recordings/" @ getField(%rowText, 0) @ ".rec"; + %verLen = getDemoVersionLength(%file); + + Canvas.pushDialog(DemoLoadProgressDlg); + if(playDemo(%file)) + { + // do not allow new sources to have a force feedback effect + alxEnableForceFeedback(false); + + resetGameState(); + Canvas.popDialog(DemoLoadProgressDlg); + Canvas.popDialog(RecordingsDlg); + Canvas.setContent(PlayGui); + loadDemoSettings(); + + $DemoPlaybackIndex = 5; + $DemoPlaybackLastIndex = 5; + + // setup the global action map + GlobalActionMap.bindCmd(keyboard, "escape", "", "stopDemoPlayback();"); + GlobalActionMap.bindCmd(keyboard, "tab", "", "toggleDemoPlaybackHud();"); + GlobalActionMap.bindCmd(keyboard, "space", "", "toggleDemoPause();"); + GlobalActionMap.bindCmd(keyboard, "numpadadd", "", "stepDemoPlaybackSpeed(1);"); + GlobalActionMap.bindCmd(keyboard, "numpadminus", "", "stepDemoPlaybackSpeed(-1);"); + $globalActionMapOnly = true; + + $DemoPlaybackProgress = 0; + $DemoPlaybackLength = getField(%verLen, 1); + + // playback length may be 0 if recording was not clean (just set to 1min) + if($DemoPlaybackLength == 0) + $DemoPlaybackLength = 60000; + + DemoPlayback_EndTime.setValue(msToMinSec($DemoPlaybackLength)); + + $DemoPlaybackIndex = 5; + $DemoPlaybackLastIndex = 5; + $DemoPlaybackProgress = 0; + demoPlaybackUpdate(0); + + updateDemoPlaybackStatus(); + } + else + MessageBoxOK("Playback Failed", "Demo playback failed for file '" @ %file @ "'."); + + Canvas.popDialog(DemoLoadProgressDlg); +} + +function demoPlaybackComplete() +{ + alxStopAll(); + + // allow new sources to have a force feedback effect + alxEnableForceFeedback(true); + + // remove the playback dialog + if(DemoPlaybackDlg.isAwake()) + Canvas.popDialog(DemoPlaybackDlg); + + Canvas.setContent("LaunchGui"); + Canvas.pushDialog(RecordingsDlg); + + // cleanup + resetGameState(); + purgeResources(); + + // clean the globalActionMap + GlobalActionMap.unbind(keyboard, escape); + GlobalActionMap.unbind(keyboard, tab); + GlobalActionMap.unbind(keyboard, space); + GlobalActionMap.unbind(keyboard, numpadadd); + GlobalActionMap.unbind(keyboard, numpadminus); + $globalActionMapOnly = false; +} + +//------------------------------------------------------------------------- +function doDemoFileRename() +{ + // first unit is filename + %sel = RecordingsDlgList.getSelectedId(); + %file = getField(RecordingsDlgList.getRowTextById(%sel), 0); + + %newFile = DemoRenameFile_Edit.getValue(); + + if(%file $= %newFile) + return; + + if(%newFile !$= "") + { + if(renameFile("recordings/" @ %file @ ".rec", "recordings/" @ %newFile @ ".rec")) + { + rebuildModPaths(); + RecordingsDlg.fillRecordingsList(); + return; + } + } + + MessageBoxOK("Rename Failed", "Failed to rename file '" @ %file @ "' to '" @ %newFile @ "'."); +} + +function RenameSelectedDemo() +{ + // first unit is filename + %sel = RecordingsDlgList.getSelectedId(); + %file = getField(RecordingsDlgList.getRowTextById(%sel), 0); + + DemoRenameFile_Edit.setValue(%file); + Canvas.pushDialog(DemoRenameFileDlg); +} + +//-------------------------------------------------------------------------- +function beginDemoRecord() +{ + if(isDemo()) + return; + + // make sure that current recording stream is stopped + stopDemoRecord(); + + for(%i = 0; %i < 1000; %i++) + { + %num = %i; + if(%num < 10) + %num = "0" @ %num; + if(%num < 100) + %num = "0" @ %num; + %file = "recordings/demo" @ %num @ ".rec"; + if(!isfile(%file)) + break; + } + if(%i == 1000) + return; + + $DemoFile = %file; + + addMessageHudLine( "\c4Recording to file [\c2" @ $DemoFile @ "\cr]."); + + saveDemoSettings(); + startRecord(%file); + + // make sure start worked + if(!isRecordingDemo()) + { + deleteFile("recordings/" @ $DemoFile @ ".rec"); + addMessageHudLine( "\c3 *** Failed to record to file [\c2" @ $DemoFile @ "\cr]."); + $DemoFile = ""; + } +} + +function stopDemoRecord() +{ + if(isDemo()) + return; + + // make sure we are recording (and have a valid file) + if(isRecordingDemo()) + stopRecord(); +} + +function demoRecordComplete() +{ + // tell the user + if($DemoFile !$= "") + { + addMessageHudLine( "\c4Stopped recording to file [\c2" @ $DemoFile @ "\cr]."); + $DemoFile = ""; + } +} + +//------------------------------------------------------------------------- +function toggleDemoPlaybackHud() +{ + if(DemoPlaybackDlg.isAwake()) + Canvas.popDialog(DemoPlaybackDlg); + else + Canvas.pushDialog(DemoPlaybackDlg, 99); +} + +$DemoPlaybackText[0] = "Paused"; $DemoPlaybackSpeed[0] = 0; +$DemoPlaybackText[1] = "Play 1/16X"; $DemoPlaybackSpeed[1] = 0.0625; +$DemoPlaybackText[2] = "Play 1/8X"; $DemoPlaybackSpeed[2] = 0.125; +$DemoPlaybackText[3] = "Play 1/4X"; $DemoPlaybackSpeed[3] = 0.25; +$DemoPlaybackText[4] = "Play 1/2X"; $DemoPlaybackSpeed[4] = 0.5; +$DemoPlaybackText[5] = "Play 1X"; $DemoPlaybackSpeed[5] = 1; +$DemoPlaybackText[6] = "Play 2X"; $DemoPlaybackSpeed[6] = 2; +$DemoPlaybackText[7] = "Play 4X"; $DemoPlaybackSpeed[7] = 4; +$DemoPlaybackText[8] = "Play 8X"; $DemoPlaybackSpeed[8] = 8; +$DemoPlaybackText[9] = "Play 16X"; $DemoPlaybackSpeed[9] = 16; + +// called after each processTime +function demoPlaybackUpdate(%curTime) +{ + DemoPlayback_CurTime.setValue(msToMinSec(%curTime)); + $DemoPlaybackProgress = %curTime / $DemoPlaybackLength; +} + +function updateDemoPlaybackStatus() +{ + // clamp the speed + if($DemoPlaybackIndex < 0) + $DemoPlaybackIndex = 0; + + if($DemoPlaybackIndex > 9) + $DemoPlaybackIndex = 9; + + DemoPlayback_StatusText.setValue($DemoPlaybackText[$DemoPlaybackIndex]); + $timeScale = $DemoPlaybackSpeed[$DemoPlaybackIndex]; +} + +function toggleDemoPause() +{ + // save the current index for unpause + if($DemoPlaybackIndex == 0) + $DemoPlaybackIndex = $DemoPlaybackLastIndex; + else + { + $DemoPlaybackLastIndex = $DemoPlaybackIndex; + $DemoPlaybackIndex = 0; + } + + updateDemoPlaybackStatus(); +} + +function stepDemoPlaybackSpeed(%step) +{ + $DemoPlaybackIndex += %step; + updateDemoPlaybackStatus(); +} + +function DemoPlaybackDlg::onWake(%this) +{ + updateDemoPlaybackStatus(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/redbook.cs b/public/base/@vl2/scripts.vl2/scripts/redbook.cs new file mode 100644 index 00000000..e66161b0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/redbook.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +function RedBookCallback(%type) +{ + if(%type $= "PlayFinished") + CDPlayer.playFinished(); +} + +//------------------------------------------------------------------------------ +function CDAudio::playFinished(%this) +{ + if(%this.repeat == false) + return; + + %this.play(); +} + +function CDAudio::play(%this) +{ + %numTracks = %this.getTrackCount(); + if(%numTracks == 0) + { + error(redbookGetLastError()); + return; + } + + switch$(%this.playMode) + { + case "one_shot": + %this.playTrack(%this.currentTrack); + + case "continuous": + %this.currentTrack++; + if(%this.currentTrack >= %numTracks) + %this.currentTrack = 0; + %this.playTrack(%this.currentTrack); + + case "random": + %track = mFloor(getRandom() * (%numTracks + 1)); + if(%track >= %numTracks) + %track = %numTracks - 1; + %this.playTrack(%track); + } +} + +function CDAudio::playTrack(%this, %track) +{ + if(redbookPlay(%track) == false) + { + error(redbookGetLastError()); + %this.repeat = false; + return; + } + %this.currentTrack = %track; +} + +function CDAudio::stop(%this) +{ + redbookStop(); +} + +function CDAudio::getTrackCount(%this) +{ + return(redbookGetTrackCount()); +} + +//------------------------------------------------------------------------------ +new ScriptObject(CDPlayer) +{ + class = CDAudio; + currentTrack = 0; + playMode = "one_shot"; + repeat = true; +}; + +if($pref::Audio::musicEnabled) +{ + redbookOpen(); + redbookSetVolume($pref::Audio::musicVolume); +} + +//------------------------------------------------------------------------------ + +function clientCmdPlayCDTrack(%track) +{ + if(%track $= "") + { + %numTracks = CDPlayer.getTrackCount(); + if(%numTracks == 0) + { + error(redbookGetLastError()); + return; + } + + %track = mFloor(getRandom() * (%numTracks + 1)); + if(%track >= %numTracks) + %track = %numTracks - 1; + } + + CDPlayer.playTrack(%track); +} + +function clientCmdStopCD() +{ + CDPlayer.stop(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/scoreList.cs b/public/base/@vl2/scripts.vl2/scripts/scoreList.cs new file mode 100644 index 00000000..491e8af1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/scoreList.cs @@ -0,0 +1,129 @@ +//------------------------------------------------------------------------------ +// +// scoreList.cs +// +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// Server side functions: +//------------------------------------------------------------------------------ +$lastScoreUpdate = 0; + +function updateScores() +{ + if ( !isObject( Game ) ) + return; + + %numTeams = Game.numTeams; + + // Initialize the team counts: + for ( %teamIndex = 0; %teamIndex <= %numTeams; %teamIndex++ ) + Game.teamCount[%teamIndex] = 0; + + %count = ClientGroup.getCount(); + for ( %clientIndex = 0; %clientIndex < %count; %clientIndex++ ) + { + %cl = ClientGroup.getObject( %clientIndex ); + %team = %cl.getSensorGroup(); + if ( %numTeams == 1 && %team != 0 ) + %team = 1; + Game.teamScores[%team, Game.teamCount[%team], 0] = %cl.name; + if ( %cl.score $= "" ) + Game.teamScores[%team, Game.teamCount[%team], 1] = 0; + else + Game.teamScores[%team, Game.teamCount[%team], 1] = %cl.score; + Game.teamCount[%team]++; + } +} + + +//------------------------------------------------------------------------------ +function serverCmdGetScores( %client ) +{ + // Client has requested the score list, so give it to 'em... + if (isObject(Game)) + { + updateScores(); + %teamCount = Game.numTeams; + + if (%teamCount > 1) + { + // Send team messages: + for (%team = 1; %team <= %teamCount; %team++) + messageClient(%client, 'MsgTeamScore', "", %team, $teamScore[%team]); + + //send the player scores in order of their team rank... + for (%team = 1; %team <= %teamCount; %team++) + { + for (%i = 0; %i < $TeamRank[%team, count]; %i++) + { + %cl = $TeamRank[%team, %i]; + messageClient( %client, 'MsgPlayerScore', "", %cl, %cl.score, %cl.getPing(), %cl.getPacketLoss()); + } + } + } + else + { + //send the player scores in order of their rank... + for (%i = 0; %i < $TeamRank[0, count]; %i++) + { + %cl = $TeamRank[0, %i]; + messageClient( %client, 'MsgPlayerScore', "", %cl, %cl.score, %cl.getPing(), %cl.getPacketLoss()); + } + } + + //now send the observers over + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team <= 0) + messageClient( %client, 'MsgPlayerScore', "", %cl, %cl.score, %cl.getPing(), %cl.getPacketLoss()); + } + } +} + + +//------------------------------------------------------------------------------ +// Client side functions: +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgTeamScore', handleTeamScore ); +addMessageCallback( 'MsgPlayerScore', handlePlayerScore ); + +//------------------------------------------------------------------------------ +// client team score list is called $clTeamScore +// number of teams is $clTeamCount +$clTeamCount = 0; + +function handleTeamScore( %msgType, %msgString, %team, %teamScore ) +{ + if ( %teamScore $= "" ) + %score = "0"; + else + %score = %teamScore; + + // Add the new entry: + $clTeamScore[%team, 1] = %score; + + if ( %team > $clTeamCount ) + $clTeamCount = %team; +} + + +//------------------------------------------------------------------------------ +// Store the player score on the client-side player object: +function handlePlayerScore( %msgType, %msgString, %clientId, %score, %ping, %packetLoss ) +{ + %player = $PlayerList[%clientId]; + if ( %player ) + { + %player.score = %score; + %player.ping = %ping; + %player.packetLoss = %packetLoss; + lobbyUpdatePlayer( %clientId ); + } + else + warn( "Received score for client that hasn't joined!" ); +} + + diff --git a/public/base/@vl2/scripts.vl2/scripts/scoreScreen.cs b/public/base/@vl2/scripts.vl2/scripts/scoreScreen.cs new file mode 100644 index 00000000..0424d179 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/scoreScreen.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +function ScoreScreen::setupHud(%obj, %tag) +{ +} + +//------------------------------------------------------------------------------ +function ScoreScreen::loadHud(%obj, %tag) +{ + $Hud[%tag] = ScoreScreen; + $Hud[%tag].childGui = ScoreContent; + $Hud[%tag].parent = ScoreParent; +} + +//------------------------------------------------------------------------------ +function ScoreScreen::onWake(%this) +{ + if ( isObject( hudMap ) ) + { + hudMap.pop(); + hudMap.delete(); + } + new ActionMap( hudMap ); + hudMap.blockBind( moveMap, toggleInventoryHud ); + hudMap.blockBind( moveMap, toggleCommanderMap ); + hudMap.bindCmd( keyboard, escape, "", "toggleCursorHuds('scoreScreen');" ); + hudMap.push(); +} + +//------------------------------------------------------------------------------ +function ScoreScreen::onSleep(%this) +{ + hudMap.pop(); + hudMap.delete(); + + //make sure the action maps are still pushed in the correct order... + updateActionMaps(); +} + +//------------------------------------------------------------------------------ +function ScoreScreen::addLine(%obj, %tag, %lineNum, %name) +{ + %yOffset = (%lineNum * 20) + 5; + $Hud[%tag].count++; + $Hud[%tag].childGui.resize( 3, 3, 586, %yOffset + 25 ); + $Hud[%tag].data[%lineNum,0] = new GuiMLTextCtrl() + { + profile = "ScoreTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 " @ %yOffset; + extent = "566 22"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = ""; +// command = "ScoreScreenOnMouseDown(" @ %lineNum @ ");"; + }; + return 1; +} + +//------------------------------------------------------------------------------ +addMessageCallback( 'SetScoreHudHeader', setScoreHudHeader ); +addMessageCallback( 'SetScoreHudSubheader', setScoreHudSubheader ); + +function setScoreHudHeader( %msgType, %msgString, %a0 ) +{ + %text = detag( %a0 ); + ScoreHeaderText.setValue( %text ); + if ( %text $= "" ) + { + ScoreHeaderField.setVisible( false ); + ScoreField.resize( 23, 32, 594, 426 ); + } + else + { + ScoreHeaderField.setVisible( true ); + ScoreField.resize( 23, 72, 594, 386 ); + } +} + +function setScoreHudSubheader( %msgType, %msgString, %a0 ) +{ + ScoreSubheaderText.setValue( detag( %a0 ) ); +} + +///////////////////////////////////////////////////////////////////////////////// +// Hunters Tracking requires this - if we put it back in, uncomment this section +// function ScoreScreenOnMouseDown(%line) +// { +// if ($CurrentMissionType $= "Hunters") +// commandToServer('huntersTrackPlayer', %line, firstWord($MLTextMousePoint)); +// } +///////////////////////////////////////////////////////////////////////////////// + diff --git a/public/base/@vl2/scripts.vl2/scripts/server.cs b/public/base/@vl2/scripts.vl2/scripts/server.cs new file mode 100644 index 00000000..8600e51f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/server.cs @@ -0,0 +1,2414 @@ +if($Host::TimeLimit $= "") + $Host::TimeLimit = 20; + +$SB::WODec = 0.004; // whiteout +$SB::DFDec = 0.02; // damageFlash + +// z0dd - ZOD, 10/06/02. Set this as base default, +// modders can change this value to match theirs. +$DefaultGravity = -20; + +// ----------------------------------------------------- +// z0dd - ZOD, 5/27/02. Addition. Tribes2.exe will call +// this for competition mod to alert players on server +// during tournament that a remote connection has been +// established to the server. +function onTelnetConnect(%ip, %access) +{ + // Thou shall not spam +} + +// z0dd - ZOD, 9/13/02. Anti spam +function serverCMDpracticeHudInitialize(%client, %val) +{ + // Thou shall not spam +} + +function VerifyCDCheck(%func) +{ + if (!cdFileCheck()) + messageBoxOkCancel("TRIBES 2 CD CHECK", "You must have the Tribes 2 CD in the CD-ROM drive while playing Tribes 2. Please insert the CD.", "schedule(0, 0, VerifyCDCheck, " @ %func @ ");", "quit();"); + else + call(%func); +} + +function logEcho(%msg) +{ + if($LogEchoEnabled) + echo("LOG: " @ %msg); +} + +function CreateServer(%mission, %missionType) +{ + DestroyServer(); + + // Load server data blocks + exec("scripts/commanderMapIcons.cs"); + exec("scripts/markers.cs"); + exec("scripts/serverAudio.cs"); + exec("scripts/damageTypes.cs"); + exec("scripts/deathMessages.cs"); + exec("scripts/inventory.cs"); + exec("scripts/camera.cs"); + exec("scripts/particleEmitter.cs"); // Must exist before item.cs and explosion.cs + exec("scripts/particleDummies.cs"); + exec("scripts/projectiles.cs"); // Must exits before item.cs + exec("scripts/player.cs"); + exec("scripts/gameBase.cs"); + exec("scripts/staticShape.cs"); + exec("scripts/weapons.cs"); + exec("scripts/turret.cs"); + exec("scripts/weapTurretCode.cs"); + exec("scripts/pack.cs"); + exec("scripts/vehicles/vehicle_spec_fx.cs"); // Must exist before other vehicle files or CRASH BOOM + exec("scripts/vehicles/serverVehicleHud.cs"); + exec("scripts/vehicles/vehicle_shrike.cs"); + exec("scripts/vehicles/vehicle_bomber.cs"); + exec("scripts/vehicles/vehicle_havoc.cs"); + exec("scripts/vehicles/vehicle_wildcat.cs"); + exec("scripts/vehicles/vehicle_tank.cs"); + exec("scripts/vehicles/vehicle_mpb.cs"); + exec("scripts/vehicles/vehicle.cs"); // Must be added after all other vehicle files or EVIL BAD THINGS + exec("scripts/ai.cs"); + exec("scripts/item.cs"); + exec("scripts/station.cs"); + exec("scripts/simGroup.cs"); + exec("scripts/trigger.cs"); + exec("scripts/forceField.cs"); + exec("scripts/lightning.cs"); + exec("scripts/weather.cs"); + exec("scripts/deployables.cs"); + exec("scripts/stationSetInv.cs"); + exec("scripts/navGraph.cs"); + exec("scripts/targetManager.cs"); + exec("scripts/serverCommanderMap.cs"); + exec("scripts/environmentals.cs"); + exec("scripts/power.cs"); + exec("scripts/serverTasks.cs"); + exec("scripts/admin.cs"); + exec("prefs/banlist.cs"); + + //automatically load any mission type that follows naming convention typeGame.name.cs + if (!isDemo()) + { + %search = "scripts/*Game.cs"; + for(%file = findFirstFile(%search); %file !$= ""; %file = findNextFile(%search)) + { + %type = fileBase(%file); // get the name of the script + exec("scripts/" @ %type @ ".cs"); + } + } + //the DEMO version only uses DefaultGame.cs and SinglePlayerGame.cs + else + { + exec("scripts/DefaultGame.cs"); + exec("scripts/SinglePlayerGame.cs"); + exec("scripts/CTFGame.cs"); + exec("scripts/HuntersGame.cs"); + } + + $missionSequence = 0; + $CurrentMissionType = %missionType; + $HostGameBotCount = 0; + $HostGamePlayerCount = 0; + if ( $HostGameType !$= "SinglePlayer" ) + allowConnections(true); + $ServerGroup = new SimGroup (ServerGroup); + if(%mission $= "") + { + %mission = $HostMissionFile[$HostMission[0,0]]; + %missionType = $HostTypeName[0]; + } + + if ( ( isDemo() && $HostGameType !$= "SinglePlayer" ) || ( $HostGameType $= "Online" && $pref::Net::DisplayOnMaster !$= "Never" ) ) + schedule(0,0,startHeartbeat); + + // setup the bots for this server + if( !isDemo() && $Host::BotsEnabled ) + initGameBots( %mission, %missionType ); + + // load the mission... + loadMission(%mission, %missionType, true); +} + +function initGameBots( %mission, %mType ) +{ + echo( "adding bots..." ); + + AISystemEnabled( false ); + if ( $Host::BotCount > 0 && %mType !$= "SinglePlayer" ) + { + // Make sure this mission is bot enabled: + for ( %idx = 0; %idx < $HostMissionCount; %idx++ ) + { + if ( $HostMissionFile[%idx] $= %mission ) + break; + } + + if ( $BotEnabled[%idx] ) + { + if ( $Host::BotCount > 16 ) + $HostGameBotCount = 16; + else + $HostGameBotCount = $Host::BotCount; + + if ( $Host::BotCount > $Host::MaxPlayers - 1 ) + $HostGameBotCount = $Host::MaxPlayers - 1; + + //set the objective reassessment timeslice var + $AITimeSliceReassess = 0; + aiConnectMultiple( $HostGameBotCount, $Host::MinBotDifficulty, $Host::MaxBotDifficulty, -1 ); + } + else + { + $HostGameBotCount = 0; + } + } +} + +function findNextCycleMission() +{ + %numPlayers = ClientGroup.getCount(); + %tempMission = $CurrentMission; + %failsafe = 0; + while (1) + { + %nextMissionIndex = getNextMission(%tempMission, $CurrentMissionType); + %nextPotentialMission = $HostMissionFile[%nextMissionIndex]; + + //just cycle to the next if we've gone all the way around... + if (%nextPotentialMission $= $CurrentMission || %failsafe >= 1000) + { + %nextMissionIndex = getNextMission($CurrentMission, $CurrentMissionType); + // z0dd - ZOD - Founder, 10/06/02. Was trying to load a mission name instead of file. + //return $HostMissionName[%nextMissionIndex]; + return $HostMissionFile[%nextMissionIndex]; + } + + //get the player count limits for this mission + %limits = $Host::MapPlayerLimits[%nextPotentialMission, $CurrentMissionType]; + if (%limits $= "") + return %nextPotentialMission; + else + { + %minPlayers = getWord(%limits, 0); + %maxPlayers = getWord(%limits, 1); + + if ((%minPlayers < 0 || %numPlayers >= %minPlayers) && (%maxPlayers < 0 || %numPlayers <= %maxPlayers)) + return %nextPotentialMission; + } + + //since we didn't return the mission, we must not have an acceptable number of players - check the next + %tempMission = %nextPotentialMission; + %failsafe++; + } +} + +function CycleMissions() +{ + echo( "cycling mission. " @ ClientGroup.getCount() @ " clients in game." ); + %nextMission = findNextCycleMission(); + messageAll( 'MsgClient', 'Loading %1 (%2)...', %nextMission, $MissionTypeDisplayName ); + loadMission( %nextMission, $CurrentMissionType ); +} + +function DestroyServer() +{ + $missionRunning = false; + allowConnections(false); + stopHeartbeat(); + if ( isObject( MissionGroup ) ) + MissionGroup.delete(); + if ( isObject( MissionCleanup ) ) + MissionCleanup.delete(); + if(isObject(game)) + { + game.deactivatePackages(); + game.delete(); + } + if(isObject($ServerGroup)) + $ServerGroup.delete(); + + // delete all the connections: + while(ClientGroup.getCount()) + { + %client = ClientGroup.getObject(0); + if (%client.isAIControlled()) + %client.drop(); + else + %client.delete(); + } + + // delete all the data blocks... + // this will cause problems if there are any connections + deleteDataBlocks(); + + // reset the target manager + resetTargetManager(); + + echo( "exporting server prefs..." ); + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + purgeResources(); + + // TR2 + // This is a failsafe way of ensuring that default gravity is always restored + // if a game type (such as TR2) changes it. It is placed here so that listen + // servers will work after opening and closing different gametypes. + if ($DefaultGravity !$= "") + setGravity($DefaultGravity); +} + +function Disconnect() +{ + if ( isObject( ServerConnection ) ) + ServerConnection.delete(); + DisconnectedCleanup(); + DestroyServer(); +} + +function DisconnectedCleanup() +{ + $CurrentMissionType = ""; + $CurrentMission = ""; + + // Make sure we're not still waiting for the loading info: + cancelLoadInfoCheck(); + + // clear the chat hud message vector + HudMessageVector.clear(); + if ( isObject( PlayerListGroup ) ) + PlayerListGroup.delete(); + + // terminate all playing sounds + alxStopAll(); + + // clean up voting + voteHud.voting = false; + mainVoteHud.setvisible(0); + + // clear all print messages + clientCmdclearBottomPrint(); + clientCmdClearCenterPrint(); + + // clear the inventory and weapons hud + weaponsHud.clearAll(); + inventoryHud.clearAll(); + + // back to the launch screen + Canvas.setContent(LaunchGui); + if ( isObject( MusicPlayer ) ) + MusicPlayer.stop(); + clearTextureHolds(); + purgeResources(); + + if ( $PlayingOnline ) + { + // Restart the email check: + if ( !EmailGui.checkingEmail && EmailGui.checkSchedule $= "" ) + CheckEmail( true ); + + IRCClient::onLeaveGame(); + } +} + +// we pass the guid as well, in case this guy leaves the server. +function kick( %client, %admin, %guid ) +{ + if(%admin) // z0dd - ZOD, 8/23/02. Let the player know who kicked him. + messageAll( 'MsgAdminForce', '\c2%2 has kicked %1.', Game.kickClientName, %admin.name ); + else + messageAll( 'MsgVotePassed', '\c2%1 was kicked by vote.', Game.kickClientName ); + + messageClient(%client, 'onClientKicked', ""); + messageAllExcept( %client, -1, 'MsgClientDrop', "", Game.kickClientName, %client ); + + if( %client.isAIControlled() ) + { + $HostGameBotCount--; + %client.drop(); + } + else + { + if( $playingOnline ) // won games + { + %count = ClientGroup.getCount(); + %found = false; + for( %i = 0; %i < %count; %i++ ) // see if this guy is still here... + { + %cl = ClientGroup.getObject( %i ); + if( %cl.guid == %guid ) + { + %found = true; + + // kill and delete this client, their done in this server. + if( isObject( %cl.player ) ) + %cl.player.scriptKill(0); + + if ( isObject( %cl ) ) + { + if(%admin) // z0dd - ZOD, 8/23/02. Let the player know who kicked him. + %cl.setDisconnectReason( %admin.nameBase @ "has kicked you out of the game." ); + else + %cl.setDisconnectReason( "You have been kicked out of the game." ); + + %cl.schedule(700, "delete"); + } + + BanList::add( %guid, "0", $Host::KickBanTime ); + } + } + if( !%found ) + BanList::add( %guid, "0", $Host::KickBanTime ); // keep this guy out for a while since he left. + } + else // lan games + { + // kill and delete this client + if( isObject( %client.player ) ) + %client.player.scriptKill(0); + + if ( isObject( %client ) ) + { + %client.setDisconnectReason( "You have been kicked out of the game." ); + %client.schedule(700, "delete"); + } + + BanList::add( 0, %client.getAddress(), $Host::KickBanTime ); + } + } +} + +function ban( %client, %admin ) +{ + if ( %admin ) // z0dd - ZOD, 8/23/02. Let the player know who kicked him. + messageAll('MsgAdminForce', '\c2%2 has banned %1.', %client.name, %admin.name); + else + messageAll( 'MsgVotePassed', '\c2%1 was banned by vote.', %client.name ); + + messageClient(%client, 'onClientBanned', ""); + messageAllExcept( %client, -1, 'MsgClientDrop', "", %client.name, %client ); + + // kill and delete this client + if( isObject(%client.player) ) + %client.player.scriptKill(0); + + if ( isObject( %client ) ) + { + if(%admin) // z0dd - ZOD, 8/23/02. Let the player know who kicked him. + %client.setDisconnectReason( %admin.nameBase @ "has banned you from this server." ); + else + %client.setDisconnectReason( "You have been banned from this server." ); + + %client.schedule(700, "delete"); + } + + BanList::add(%client.guid, %client.getAddress(), $Host::BanTime); +} + +function getValidVoicePitch(%voice, %voicePitch) +{ + if (%voicePitch < -1.0) + %voicePitch = -1.0; + else if (%voicePitch > 1.0) + %voicePitch = 1.0; + + //Voice pitch range is from 0.5 to 2.0, however, we should tighten the range to + //avoid players sounding like mickey mouse, etc... + //see if we're pitching down - clamp the min pitch at 0.875 + if (%voicePitch < 0) + return (1.0 + (0.125 * %voicePitch)); + + //max voice pitch is 1.125 + else if (%voicePitch > 0) + return 1.0 + (0.125 * %voicePitch); + + else + return 1.0; +} + +$DemoNameCount = 0; +function addDemoAlias( %name ) +{ + $DemoName[$DemoNameCount] = %name; + $DemoNameCount++; +} + +if ( isDemo() ) +{ + addDemoAlias( "Butterfingers" ); + addDemoAlias( "Bullseye" ); + addDemoAlias( "Casualty" ); + addDemoAlias( "Dogfood" ); + addDemoAlias( "Extinct" ); + addDemoAlias( "Fodder" ); + addDemoAlias( "Grunt" ); + addDemoAlias( "Helpless" ); + addDemoAlias( "Itchy" ); + addDemoAlias( "Bait" ); + addDemoAlias( "Kibble" ); + addDemoAlias( "MonkeyBoy" ); + addDemoAlias( "Meat" ); + addDemoAlias( "Newbie" ); + addDemoAlias( "Owned" ); + addDemoAlias( "Poser" ); + addDemoAlias( "Quaker" ); + addDemoAlias( "Roadkill" ); + addDemoAlias( "SkidMark" ); + addDemoAlias( "EZTarget" ); + addDemoAlias( "Underdog" ); + addDemoAlias( "Vegetable" ); + addDemoAlias( "Weakling" ); + addDemoAlias( "Flatline" ); + addDemoAlias( "Spud" ); + addDemoAlias( "Zero" ); + addDemoAlias( "WetNose" ); + addDemoAlias( "Chowderhead" ); + addDemoAlias( "Clown" ); + addDemoAlias( "Dodo" ); + addDemoAlias( "Endangered" ); + addDemoAlias( "Feeble" ); + addDemoAlias( "Gimp" ); + addDemoAlias( "Inky" ); + addDemoAlias( "Pinky" ); + addDemoAlias( "Blinky" ); + addDemoAlias( "Clyde" ); + addDemoAlias( "Loopy" ); + addDemoAlias( "Masochist" ); + addDemoAlias( "Pancake" ); + addDemoAlias( "Rubbish" ); + addDemoAlias( "Sickly" ); + addDemoAlias( "Terminal" ); + addDemoAlias( "Ugly Duckling" ); + addDemoAlias( "Sheepish" ); + addDemoAlias( "Whiplash" ); + addDemoAlias( "KickMe" ); + addDemoAlias( "Yellow Belly" ); + addDemoAlias( "Bits" ); + addDemoAlias( "Doofus" ); + addDemoAlias( "Fluffy Bunny" ); + addDemoAlias( "Lollipop" ); + addDemoAlias( "Troglodyte" ); + addDemoAlias( "Carcass" ); + addDemoAlias( "Noodle" ); + addDemoAlias( "Spastic" ); + addDemoAlias( "Wimpy" ); + addDemoAlias( "Sweet Pea" ); + addDemoAlias( "Abused" ); + addDemoAlias( "Happy Camper" ); + addDemoAlias( "FreakShow" ); + addDemoAlias( "Bumpkin" ); + addDemoAlias( "Mad Cow" ); + addDemoAlias( "Cud" ); +} + +function pickDemoName() +{ + // Pick a unique name if possible: + %idx = mFloor( getRandom() * $DemoNameCount ); + for ( %i = 0; %i < $DemoNameCount; %i++ ) + { + %name = $DemoName[mMod( %idx + %i, $DemoNameCount )]; + %isUnique = true; + %count = ClientGroup.getCount(); + for ( %ci = 0; %ci < %count; %ci++ ) + { + if ( strcmp( %name, detag( getTaggedString( ClientGroup.getObject( %ci ).name ) ) ) == 0 ) + { + %isUnique = false; + break; + } + } + + if ( %isUnique ) + break; + } + + // Append a number to make the alias unique: + if ( !%isUnique ) + { + %suffix = 1; + while ( !%isUnique ) + { + %nameTry = %name @ "." @ %suffix; + %isUnique = true; + + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + if ( strcmp( %nameTry, detag( getTaggedString( ClientGroup.getObject( %i ).name ) ) ) == 0 ) + { + %isUnique = false; + break; + } + } + + %suffix++; + } + + // Success! + %name = %nameTry; + } + + return( %name ); +} + +function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ) +{ + %client.setMissionCRC($missionCRC); + sendLoadInfoToClient( %client ); + + //%client.setSimulatedNetParams(0.1, 30); + if (isDemo() && $CurrentMissionType !$= "SinglePlayer") + { + %client.armor = "Light"; + %client.sex = "Male"; + %client.race = "Human"; + %client.nameBase = pickDemoName(); + %client.name = addTaggedString( %client.nameBase ); + %client.voice = "Male1"; + %client.voiceTag = addTaggedString( "Male1" ); + if ( %client & 1 ) + %client.skin = addTaggedString( "swolf" ); + else + %client.skin = addTaggedString( "beagle" ); + } + else + { + // if hosting this server, set this client to superAdmin + if(%client.getAddress() $= "Local") + { + %client.isAdmin = true; + %client.isSuperAdmin = true; + } + + // Get the client's unique id: + %authInfo = %client.getAuthInfo(); + %client.guid = getField( %authInfo, 3 ); + + // check admin and super admin list, and set status accordingly + if ( !%client.isSuperAdmin ) + { + if ( isOnSuperAdminList( %client ) ) + { + %client.isAdmin = true; + %client.isSuperAdmin = true; + } + else if( isOnAdminList( %client ) ) + { + %client.isAdmin = true; + } + } + + // Sex/Race defaults + switch$ ( %raceGender ) + { + case "Human Male": + %client.sex = "Male"; + %client.race = "Human"; + case "Human Female": + %client.sex = "Female"; + %client.race = "Human"; + case "Bioderm": + %client.sex = "Male"; + %client.race = "Bioderm"; + default: + error("Invalid race/gender combo passed: " @ %raceGender); + %client.sex = "Male"; + %client.race = "Human"; + } + %client.armor = "Light"; + + // Override the connect name if this server does not allow smurfs: + %realName = getField( %authInfo, 0 ); + if ( $PlayingOnline && $Host::NoSmurfs ) + %name = %realName; + + if ( strcmp( %name, %realName ) == 0 ) + { + %client.isSmurf = false; + + //make sure the name is unique - that a smurf isn't using this name... + %dup = -1; + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %test = ClientGroup.getObject( %i ); + if (%test != %client) + { + %rawName = stripChars( detag( getTaggedString( %test.name ) ), "\cp\co\c6\c7\c8\c9" ); + if (%realName $= %rawName) + { + %dup = %test; + %dupName = %rawName; + break; + } + } + } + + //see if we found a duplicate name + if (isObject(%dup)) + { + //change the name of the dup + %isUnique = false; + %suffixCount = 1; + while (!%isUnique) + { + %found = false; + %testName = %dupName @ "." @ %suffixCount; + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + %rawName = stripChars( detag( getTaggedString( %cl.name ) ), "\cp\co\c6\c7\c8\c9" ); + if (%rawName $= %testName) + { + %found = true; + break; + } + } + + if (%found) + %suffixCount++; + else + %isUnique = true; + } + + //%testName will now have the new unique name... + %oldName = %dupName; + %newName = %testName; + + MessageAll( 'MsgSmurfDupName', '\c2The real \"%1\" has joined the server.', %dupName ); + MessageAll( 'MsgClientNameChanged', '\c2The smurf \"%1\" is now called \"%2\".', %oldName, %newName, %dup ); + + %dup.name = addTaggedString(%newName); + setTargetName(%dup.target, %dup.name); + } + + // Add the tribal tag: + %tag = getField( %authInfo, 1 ); + %append = getField( %authInfo, 2 ); + if ( %append ) + %name = "\cp\c6" @ %name @ "\c7" @ %tag @ "\co"; + else + %name = "\cp\c7" @ %tag @ "\c6" @ %name @ "\co"; + + %client.sendGuid = %client.guid; + } + else + { + %client.isSmurf = true; + %client.sendGuid = 0; + %name = stripTrailingSpaces( strToPlayerName( %name ) ); + if ( strlen( %name ) < 3 ) + %name = "Poser"; + + // Make sure the alias is unique: + %isUnique = true; + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %test = ClientGroup.getObject( %i ); + %rawName = stripChars( detag( getTaggedString( %test.name ) ), "\cp\co\c6\c7\c8\c9" ); + if ( strcmp( %name, %rawName ) == 0 ) + { + %isUnique = false; + break; + } + } + + // Append a number to make the alias unique: + if ( !%isUnique ) + { + %suffix = 1; + while ( !%isUnique ) + { + %nameTry = %name @ "." @ %suffix; + %isUnique = true; + + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %test = ClientGroup.getObject( %i ); + %rawName = stripChars( detag( getTaggedString( %test.name ) ), "\cp\co\c6\c7\c8\c9" ); + if ( strcmp( %nameTry, %rawName ) == 0 ) + { + %isUnique = false; + break; + } + } + + %suffix++; + } + + // Success! + %name = %nameTry; + } + + %smurfName = %name; + // Tag the name with the "smurf" color: + %name = "\cp\c8" @ %name @ "\co"; + } + + %client.name = addTaggedString(%name); + if(%client.isSmurf) + %client.nameBase = %smurfName; + else + %client.nameBase = %realName; + + // Make sure that the connecting client is not trying to use a bot skin: + %temp = detag( %skin ); + if ( %temp $= "basebot" || %temp $= "basebbot" ) + %client.skin = addTaggedString( "base" ); + else + %client.skin = addTaggedString( %skin ); + + %client.voice = %voice; + %client.voiceTag = addtaggedString(%voice); + + //set the voice pitch based on a lookup table from their chosen voice + %client.voicePitch = getValidVoicePitch(%voice, %voicePitch); + } + + %client.justConnected = true; + %client.isReady = false; + + // full reset of client target manager + clientResetTargets(%client, false); + + %client.target = allocClientTarget(%client, %client.name, %client.skin, %client.voiceTag, '_ClientConnection', 0, 0, %client.voicePitch); + %client.score = 0; + %client.team = 0; + + $instantGroup = ServerGroup; + $instantGroup = MissionCleanup; + + echo("CADD: " @ %client @ " " @ %client.getAddress()); + + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if((%recipient != %client)) + { + // These should be "silent" versions of these messages... + messageClient(%client, 'MsgClientJoin', "", + %recipient.name, + %recipient, + %recipient.target, + %recipient.isAIControlled(), + %recipient.isAdmin, + %recipient.isSuperAdmin, + %recipient.isSmurf, + %recipient.sendGuid); + + messageClient(%client, 'MsgClientJoinTeam', "", %recipient.name, $teamName[%recipient.team], %recipient, %recipient.team ); + } + } + +// commandToClient(%client, 'getManagerID', %client); + + commandToClient(%client, 'setBeaconNames', "Target Beacon", "Marker Beacon", "Bomb Target"); + + if ( $CurrentMissionType !$= "SinglePlayer" ) + { + if ( isDemo() ) + { + messageClient(%client, 'MsgClientJoin', '\c2Welcome to the Tribes 2 Demo!', + %client.name, + %client, + %client.target, + false, // isBot + %client.isAdmin, + %client.isSuperAdmin, + %client.isSmurf, + %client.sendGuid ); + } + else + { + messageClient(%client, 'MsgClientJoin', '\c2Welcome to Tribes2 %1.', + %client.name, + %client, + %client.target, + false, // isBot + %client.isAdmin, + %client.isSuperAdmin, + %client.isSmurf, + %client.sendGuid ); + } + + messageAllExcept(%client, -1, 'MsgClientJoin', '\c1%1 joined the game.', + %client.name, + %client, + %client.target, + false, // isBot + %client.isAdmin, + %client.isSuperAdmin, + %client.isSmurf, + %client.sendGuid ); + } + else + messageClient(%client, 'MsgClientJoin', "\c0Mission Insertion complete...", + %client.name, + %client, + %client.target, + false, // isBot + false, // isAdmin + false, // isSuperAdmin + false, // isSmurf + %client.sendGuid ); + + //Game.missionStart(%client); + setDefaultInventory(%client); + + if($missionRunning) + %client.startMission(); + $HostGamePlayerCount++; + %client.demoJustJoined = true; +} + +function GameConnection::onDrop(%client, %reason) +{ + if(isObject(Game)) + Game.onClientLeaveGame(%client); + + // make sure that tagged string of player name is not used + if ( $CurrentMissionType $= "SinglePlayer" ) + messageAllExcept(%client, -1, 'MsgClientDrop', "", getTaggedString(%client.name), %client); + else + messageAllExcept(%client, -1, 'MsgClientDrop', '\c1%1 has left the game.', getTaggedString(%client.name), %client); + + if ( isObject( %client.camera ) ) + %client.camera.delete(); + + removeTaggedString(%client.name); + removeTaggedString(%client.voiceTag); + removeTaggedString(%client.skin); + freeClientTarget(%client); + + echo("CDROP: " @ %client @ " " @ %client.getAddress()); + $HostGamePlayerCount--; + + // reset the server if everyone has left the game + if( $HostGamePlayerCount - $HostGameBotCount == 0 && $Host::Dedicated && !$resettingServer && !$LoadingMission ) + schedule(0, 0, "resetServerDefaults"); +} + +function dismountPlayers() +{ + // make sure all palyers are dismounted from vehicles and have normal huds + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + %player = %client.player; + if(%player.isMounted()) { + %player.unmount(); + commandToClient(%client, 'setHudMode', 'Standard', "", 0); + } + } +} + +function loadMission( %missionName, %missionType, %firstMission ) +{ + //ensure the demo server is using appropriate missions + if (isDemo() && %missionType !$= "SinglePlayer") + { + if (%missionName $= "Slapdash") + %missionType = "CTF"; + else if (%missionName $= "Rasp") + %missionType = "Hunters"; + else + { + %missionName = "Slapdash"; + %missionType = "CTF"; + } + } + + // TR2 + // TR2 is scaled, so we need to increase the camera speed. However, we also + // need to set it back to the default for other game types. + if( %missionType $= "TR2" ) + { + $_Camera::movementSpeed = $Camera::movementSpeed; + $Camera::movementSpeed = 80; + } + else + { + %val = $_Camera::movementSpeed $= "" ? 40 : $_Camera::movementSpeed; + $Camera::movementSpeed = %val; + } + + $LoadingMission = true; + disableCyclingConnections(true); + if (!$pref::NoClearConsole) + cls(); + if ( isObject( LoadingGui ) ) + LoadingGui.gotLoadInfo = ""; + buildLoadInfo( %missionName, %missionType ); + + // reset all of these + ClearCenterPrintAll(); + ClearBottomPrintAll(); + + if( !isDemo() && $Host::TournamentMode ) + resetTournamentPlayers(); + + // Send load info to all the connected clients: + %count = ClientGroup.getCount(); + for ( %cl = 0; %cl < %count; %cl++ ) + { + %client = ClientGroup.getObject( %cl ); + if ( !%client.isAIControlled() ) + sendLoadInfoToClient( %client ); + } + + // allow load condition to exit out + schedule(0,ServerGroup,loadMissionStage1,%missionName,%missionType,%firstMission); +} + +function loadMissionStage1(%missionName, %missionType, %firstMission) +{ + // if a mission group was there, delete prior mission stuff + if(isObject(MissionGroup)) + { + // clear out the previous mission paths + for(%clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++) + { + // clear ghosts and paths from all clients + %cl = ClientGroup.getObject(%clientIndex); + %cl.resetGhosting(); + %cl.clearPaths(); + %cl.isReady = ""; + %cl.matchStartReady = false; + } + Game.endMission(); + $lastMissionTeamCount = Game.numTeams; + + MissionGroup.delete(); + MissionCleanup.delete(); + Game.deactivatePackages(); + Game.delete(); + $ServerGroup.delete(); + $ServerGroup = new SimGroup(ServerGroup); + } + + $CurrentMission = %missionName; + $CurrentMissionType = %missionType; + + createInvBanCount(); + echo("LOADING MISSION: " @ %missionName); + + // increment the mission sequence (used for ghost sequencing) + $missionSequence++; + + // if this isn't the first mission, allow some time for the server + // to transmit information to the clients: + +// jff: $currentMission already being used for this purpose, used in 'finishLoadMission' + $MissionName = %missionName; + $missionRunning = false; + + if(!%firstMission) + schedule(15000, ServerGroup, loadMissionStage2); + else + loadMissionStage2(); +} + + +function loadMissionStage2() +{ + // create the mission group off the ServerGroup + echo("Stage 2 load"); + $instantGroup = ServerGroup; + + new SimGroup (MissionCleanup); + + if($CurrentMissionType $= "") + { + new ScriptObject(Game) { + class = DefaultGame; + }; + } + else + { + new ScriptObject(Game) { + class = $CurrentMissionType @ "Game"; + superClass = DefaultGame; + }; + } + // allow the game to activate any packages. + Game.activatePackages(); + + // reset the target manager + resetTargetManager(); + + %file = "missions/" @ $missionName @ ".mis"; + if(!isFile(%file)) + return; + + // send the mission file crc to the clients (used for mission lighting) + $missionCRC = getFileCRC(%file); + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + if(!%client.isAIControlled()) + %client.setMissionCRC($missionCRC); + } + + $countDownStarted = false; + exec(%file); + $instantGroup = MissionCleanup; + + // pre-game mission stuff + if(!isObject(MissionGroup)) + { + error("No 'MissionGroup' found in mission \"" @ $missionName @ "\"."); + schedule(3000, ServerGroup, CycleMissions); + return; + } + + MissionGroup.cleanNonType($CurrentMissionType); + + // construct paths + pathOnMissionLoadDone(); + + $ReadyCount = 0; + $MatchStarted = false; + $CountdownStarted = false; + AISystemEnabled( false ); + + // Set the team damage here so that the game type can override it: + if ( isDemo() ) + $TeamDamage = 0; + else if ( $Host::TournamentMode ) + $TeamDamage = 1; + else + $TeamDamage = $Host::TeamDamageOn; + + //the demo version always has team damage off + if (isDemo()) + $TeamDamage = 0; + + // z0dd - ZOD, 10/06/02. Reset $InvincibleTime to defaults. + if(Game.class !$= TR2Game) + $InvincibleTime = 6; + + Game.missionLoadDone(); + + // start all the clients in the mission + $missionRunning = true; + for(%clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++) + ClientGroup.getObject(%clientIndex).startMission(); + + if(!$MatchStarted && $LaunchMode !$= "NavBuild" && $LaunchMode !$= "SpnBuild" ) + { + if( !isDemo() && $Host::TournamentMode ) + checkTourneyMatchStart(); + else if( $currentMissionType !$= "SinglePlayer" ) + checkMissionStart(); + } + + // offline graph builder... + if( $LaunchMode $= "NavBuild" ) + buildNavigationGraph( "Nav" ); + + if( $LaunchMode $= "SpnBuild" ) + buildNavigationGraph( "Spn" ); + purgeResources(); + disableCyclingConnections(false); + $LoadingMission = false; +} + + +function ShapeBase::cleanNonType(%this, %type) +{ + if(%this.missionTypesList $= "") + return; + + for(%i = 0; (%typei = getWord(%this.missionTypesList, %i)) !$= ""; %i++) + if(%typei $= %type) + return; + + // first 32 targets are team targets (never allocated/freed) + // - must reallocate the target if unhiding + if(%this.getTarget() >= 32) + { + freeTarget(%this.getTarget()); + %this.setTarget(-1); + } + + %this.hide(true); +} + +function SimObject::cleanNonType(%this, %type) +{ +} + +function SimGroup::cleanNonType(%this, %type) +{ + for (%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).cleanNonType(%type); +} + +function GameConnection::endMission(%this) +{ + commandToClient(%this, 'MissionEnd', $missionSequence); +} + +//-------------------------------------------------------------------------- +// client start phases: +// 0: start mission +// 1: got phase1 done +// 2: got datablocks done +// 3: got phase2 done +// 4: got phase3 done +function GameConnection::startMission(%this) +{ + // send over the information that will display the server info + // when we learn it got there, we'll send the data blocks + %this.currentPhase = 0; + commandToClient(%this, 'MissionStartPhase1', $missionSequence, $MissionName, MissionGroup.musicTrack); +} + +function serverCmdMissionStartPhase1Done(%client, %seq) +{ + if(%seq != $missionSequence || !$MissionRunning) + return; + + if(%client.currentPhase != 0) + return; + %client.currentPhase = 1; + + // when the datablocks are transmitted, we'll send the ghost always objects + %client.transmitDataBlocks($missionSequence); +} + +function GameConnection::dataBlocksDone( %client, %missionSequence ) +{ + echo("GOT DATA BLOCKS DONE FOR: " @ %client); + if(%missionSequence != $missionSequence) + return; + + if(%client.currentPhase != 1) + return; + %client.currentPhase = 2; + + // only want to set this once... (targets will not be updated/sent until a + // client has this flag set) + if(!%client.getReceivedDataBlocks()) + { + %client.setReceivedDataBlocks(true); + sendTargetsToClient(%client); + } + + commandToClient(%client, 'MissionStartPhase2', $missionSequence); +} + +function serverCmdMissionStartPhase2Done(%client, %seq) +{ + if(%seq != $missionSequence || !$MissionRunning) + return; + + if(%client.currentPhase != 2) + return; + %client.currentPhase = 3; + + // when all this good love is over, we'll know that the mission lighting is done + %client.transmitPaths(); + + // setup the client team state + if ( $CurrentMissionType !$= "SinglePlayer" ) + serverSetClientTeamState( %client ); + + // start ghosting + %client.activateGhosting(); + %client.camera.scopeToClient(%client); + + // to the next phase... + commandToClient(%client, 'MissionStartPhase3', $missionSequence, $CurrentMission); +} + +function serverCmdMissionStartPhase3Done(%client, %seq) +{ + if(%seq != $missionSequence || !$MissionRunning) + return; + + if(%client.currentPhase != 3) + return; + %client.currentPhase = 4; + + %client.isReady = true; + Game.clientMissionDropReady(%client); +} + +function serverSetClientTeamState( %client ) +{ + // set all player states prior to mission drop ready + + // create a new camera for this client + %client.camera = new Camera() + { + dataBlock = Observer; + }; + + if( isObject( %client.rescheduleVote ) ) + Cancel( %client.rescheduleVote ); + %client.canVote = true; + %client.rescheduleVote = ""; + + MissionCleanup.add( %client.camera ); // we get automatic cleanup this way. + + %observer = false; + if( isDemo() || !$Host::TournamentMode ) + { + if( %client.justConnected ) + { + %client.justConnected = false; + %client.camera.getDataBlock().setMode( %client.camera, "justJoined" ); + } + else + { + // server just changed maps - this guy was here before + if( %client.lastTeam !$= "" ) + { + // see if this guy was an observer from last game + if(%client.lastTeam == 0) + { + %observer = true; + + %client.camera.getDataBlock().setMode( %client.camera, "ObserverFly" ); + } + else // let this player join the team he was on last game + { + if(Game.numTeams > 1 && %client.lastTeam <= Game.numTeams ) + { + Game.clientJoinTeam( %client, %client.lastTeam, false ); + } + else + { + Game.assignClientTeam( %client ); + + // spawn the player + Game.spawnPlayer( %client, false ); + } + } + } + else + { + Game.assignClientTeam( %client ); + + // spawn the player + Game.spawnPlayer( %client, false ); + } + + if( !%observer ) + { + if(!$MatchStarted && !$CountdownStarted) + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + else if(!$MatchStarted && $CountdownStarted) + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + } + } + } + else + { + // don't need to do anything. MissionDrop will handle things from here. + } +} + +//function serverCmdPreviewDropReady( %client ) +//{ +// $MatchStarted = true; +// commandToClient( %client, 'SetMoveKeys', true); +// %markerObj = "0 0 0"; +// %client.camera.mode = "PreviewMode"; +// %client.camera.setTransform( %markerObj ); +// %client.camera.setFlyMode(); +// +// %client.setControlObject( %client.camera ); +//} + +function HideHudHACK(%visible) +{ + //compassHud.setVisible(%visible); + //enerDamgHud.setVisible(%visible); + retCenterHud.setVisible(%visible); + reticleFrameHud.setVisible(%visible); + //invPackHud.setVisible(%visible); + weaponsHud.setVisible(%visible); + outerChatHud.setVisible(%visible); + objectiveHud.setVisible(%visible); + chatHud.setVisible(%visible); + navHud.setVisible(%visible); + //watermarkHud.setVisible(%visible); + hudClusterBack.setVisible(%visible); + inventoryHud.setVisible(%visible); + clockHUD.setVisible(%visible); +} + +function ServerPlay2D(%profile) +{ + for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) + ClientGroup.getObject(%idx).play2D(%profile); +} + +function ServerPlay3D(%profile,%transform) +{ + for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) + ClientGroup.getObject(%idx).play3D(%profile,%transform); +} + +function clientCmdSetFirstPerson(%value) +{ + $firstPerson = %value; + if(%value) + ammoHud.setVisible(true); + else + ammoHud.setVisible(false); +} + +function clientCmdGetFirstPerson() +{ + commandToServer('FirstPersonValue', $firstPerson); +} + +function serverCmdFirstPersonValue(%client, %firstPerson) +{ + %client.player.firstPerson = %firstPerson; +} + +function clientCmdVehicleMount() +{ + if ( $pref::toggleVehicleView ) + { + $wasFirstPerson = $firstPerson; + $firstPerson = false; + } +} + +function clientCmdVehicleDismount() +{ + if ( $pref::toggleVehicleView ) + $firstPerson = $wasFirstPerson; +} + +function serverCmdSAD( %client, %password ) +{ + if( %password !$= "" && %password $= $Host::AdminPassword) + { + %client.isAdmin = true; + %client.isSuperAdmin = true; + %name = getTaggedString( %client.name ); + MessageAll( 'MsgSuperAdminPlayer', '\c2%2 has become a Super Admin by force.', %client, %client.name ); + } +} + +function serverCmdSADSetPassword(%client, %password) +{ + // ----------------------------------------------------- + // z0dd - ZOD, 5/8/02. Addition. Have to export or it won't stick. + //if(%client.isSuperAdmin) + // $Host::AdminPassword = %password; + + if(%client.isSuperAdmin) + { + $Host::AdminPassword = %password; + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + messageClient(%client, 'MsgAdmin', '\c2\"Super Admin\" PW changed to: \c3%1\c2.', %password); + logEcho(getTaggedString(%client.name) @ " changed Super Admin password to: " @ %password); + } +} + +function serverCmdSuicide(%client) +{ + // ------------------------------------- + // z0dd - ZOD, 5/8/02. Addition. Console spam fix. + if(!isObject(%client.player)) + return; + + if( $MatchStarted ) + %client.player.scriptKill($DamageType::Suicide); +} + +function serverCmdToggleCamera(%client) +{ + if ($testcheats || $CurrentMissionType $= "SinglePlayer") + { + %control = %client.getControlObject(); + if (%control == %client.player) + { + %control = %client.camera; + %control.mode = toggleCameraFly; + %control.setFlyMode(); + } + else + { + %control = %client.player; + %control.mode = observerFly; + %control.setFlyMode(); + } + %client.setControlObject(%control); + } +} + +function serverCmdDropPlayerAtCamera(%client) +{ + if ($testcheats) + { + %client.player.setTransform(%client.camera.getTransform()); + %client.player.setVelocity("0 0 0"); + %client.setControlObject(%client.player); + } +} + +function serverCmdDropCameraAtPlayer(%client) +{ + if ($testcheats) + { + %client.camera.setTransform(%client.player.getTransform()); + %client.camera.setVelocity("0 0 0"); + %client.setControlObject(%client.camera); + } +} + +function serverCmdToggleRace(%client) +{ + if ($testcheats) + { + if (%client.race $= "Human") + %client.race = "Bioderm"; + else + %client.race = "Human"; + %client.player.setArmor(%client.armor); + } +} + +function serverCmdToggleGender(%client) +{ + if ($testcheats) + { + if (%client.sex $= "Male") + %client.sex = "Female"; + else + %client.sex = "Male"; + %client.player.setArmor(%client.armor); + } +} + +function serverCmdToggleArmor(%client) +{ + if ($testcheats) + { + if (%client.armor $= "Light") + %client.armor = "Medium"; + else + if (%client.armor $= "Medium") + %client.armor = "Heavy"; + else + %client.armor = "Light"; + %client.player.setArmor(%client.armor); + } +} + +function serverCmdPlayCel(%client,%anim) +{ + if ($testcheats) + { + %anim = %client.player.celIdx; + if (%anim++ > 8) + %anim = 1; + %client.player.setActionThread("cel"@%anim); + %client.player.celIdx = %anim; + } +} + +// NOTENOTENOTE: Review +function serverCmdPlayAnim(%client, %anim) +{ + if( %anim $= "Death1" || %anim $= "Death2" || %anim $= "Death3" || %anim $= "Death4" || %anim $= "Death5" || + %anim $= "Death6" || %anim $= "Death7" || %anim $= "Death8" || %anim $= "Death9" || %anim $= "Death10" || %anim $= "Death11" ) + return; + + %player = %client.player; + // don't play animations if player is in a vehicle + // ------------------------------------------------------------------ + // z0dd - ZOD, 5/8/02. Console spam fix, check for player object too. + //if (%player.isMounted()) + // return; + if(%player.isMounted() || !isObject(%player)) + return; + + %weapon = ( %player.getMountedImage($WeaponSlot) == 0 ) ? "" : %player.getMountedImage($WeaponSlot).getName().item; + if(%weapon $= "MissileLauncher" || %weapon $= "SniperRifle") + { + %player.animResetWeapon = true; + %player.lastWeapon = %weapon; + %player.unmountImage($WeaponSlot); + // ---------------------------------------------- + // z0dd - ZOD, 5/8/02. %obj is the wrong varible. + //%obj.setArmThread(look); + %player.setArmThread(look); + } + %player.setActionThread(%anim); +} + +function serverCmdPlayDeath(%client,%anim) +{ + if ($testcheats) + { + %anim = %client.player.deathIdx; + if (%anim++ > 11) + %anim = 1; + %client.player.setActionThread("death"@%anim,true); + %client.player.deathIdx = %anim; + } +} + +// NOTENOTENOTE: Review these! +//------------------------------------------------------------ +// TODO - make this function specify a team to switch to... +function serverCmdClientTeamChange( %client ) +{ + // pass this to the game object to handle: + if ( isObject( Game ) && Game.kickClient != %client) + { + %fromObs = %client.team == 0; + + if(%fromObs) + clearBottomPrint(%client); + + Game.clientChangeTeam( %client, "", %fromObs ); + } +} + +function serverCanAddBot() +{ + //find out how many bots are already playing + %botCount = 0; + %numClients = ClientGroup.getCount(); + for (%i = 0; %i < %numClients; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.isAIcontrolled()) + %botCount++; + } + + //add only if we have less bots than the bot count, and if there would still be room for a + if ($HostGameBotCount > 0 && %botCount < $Host::botCount && %numClients < $Host::maxPlayers - 1) + return true; + else + return false; +} + +function serverCmdAddBot( %client ) +{ + //only admins can add bots... + if (%client.isAdmin) + { + if (serverCanAddBot()) + aiConnectMultiple( 1, $Host::MinBotDifficulty, $Host::MaxBotDifficulty, -1 ); + } +} + +function serverCmdClientJoinTeam( %client, %team ) +{ + if( %team == -1 ) + { + if( %client.team == 1 ) + %team = 2; + else + %team = 1; + } + + if ( isObject( Game ) && Game.kickClient != %client) + { + if(%client.team != %team) + { + %fromObs = %client.team == 0; + + if(%fromObs) + clearBottomPrint(%client); + + if( %client.isAIControlled() ) + Game.AIChangeTeam( %client, %team ); + else + Game.clientChangeTeam( %client, %team, %fromObs ); + } + } +} + +// this should only happen in single team games +function serverCmdClientAddToGame( %client, %targetClient ) +{ + if ( isObject( Game ) ) + Game.clientJoinTeam( %targetClient, 0, $matchstarted ); + + clearBottomPrint(%targetClient); + + if($matchstarted) + { + %targetClient.setControlObject( %targetClient.player ); + commandToClient(%targetClient, 'setHudMode', 'Standard'); + } + else + { + %targetClient.notReady = true; + %targetClient.camera.getDataBlock().setMode( %targetClient.camera, "pre-game", %targetClient.player ); + %targetClient.setControlObject( %targetClient.camera ); + } + + if( !isDemo() && $Host::TournamentMode && !$CountdownStarted) + { + %targetClient.notReady = true; + centerprint( %targetClient, "\nPress FIRE when ready.", 0, 3 ); + } +} + +function serverCmdClientJoinGame( %client ) +{ + if ( isObject( Game ) ) + Game.clientJoinTeam( %client, 0, 1 ); + + %client.setControlObject( %client.player ); + clearBottomPrint(%client); + commandToClient(%client, 'setHudMode', 'Standard'); +} + +function serverCmdClientMakeObserver( %client ) +{ + if ( isObject( Game ) && Game.kickClient != %client ) + Game.forceObserver( %client, "playerChoose" ); +} + +function serverCmdChangePlayersTeam( %clientRequesting, %client, %team) +{ + if( isObject( Game ) && %client != Game.kickClient && %clientRequesting.isAdmin) + { + serverCmdClientJoinTeam(%client, %team); + + if(!$MatchStarted) + { + %client.observerMode = "pregame"; + %client.notReady = true; + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + %client.setControlObject( %client.camera ); + + if( !isDemo() && $Host::TournamentMode && !$CountdownStarted) + { + %client.notReady = true; + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); + } + } + else + commandToClient(%client, 'setHudMode', 'Standard', "", 0); + + %multiTeam = (Game.numTeams > 1); + if(%multiTeam) + { + messageClient( %client, 'MsgClient', '\c1The Admin has changed your team.'); + messageAllExcept( %client, -1, 'MsgClient', '\c1The Admin forced %1 to join the %2 team.', %client.name, game.getTeamName(%client.team) ); + } + else + { + messageClient( %client, 'MsgClient', '\c1The Admin has added you to the game.'); + messageAllExcept( %client, -1, 'MsgClient', '\c1The Admin added %1 to the game.', %client.name); + } + } +} + +function serverCmdForcePlayerToObserver( %clientRequesting, %client ) +{ + if( isObject( Game ) && %clientRequesting.isAdmin) + Game.forceObserver( %client, "adminForce" ); +} + +//-------------------------------------------------------------------------- + +function serverCmdTogglePlayerMute(%client, %who) +{ + if (%client.muted[%who]) + { + %client.muted[%who] = false; + messageClient(%client, 'MsgPlayerMuted', '%1 has been unmuted.', %who.name, %who, false); + } + else + { + %client.muted[%who] = true; + messageClient(%client, 'MsgPlayerMuted', '%1 has been muted.', %who.name, %who, true); + } +} + +//-------------------------------------------------------------------------- +// VOTE MENU FUNCTIONS: +function serverCmdGetVoteMenu( %client, %key ) +{ + if ( isObject( Game ) ) + Game.sendGameVoteMenu( %client, %key ); +} + +function serverCmdGetPlayerPopupMenu( %client, %targetClient, %key ) +{ + if ( isObject( Game ) ) + Game.sendGamePlayerPopupMenu( %client, %targetClient, %key ); +} + +function serverCmdGetTeamList( %client, %key ) +{ + if ( isObject( Game ) ) + Game.sendGameTeamList( %client, %key ); +} + +function serverCmdGetMissionTypes( %client, %key ) +{ + for ( %type = 0; %type < $HostTypeCount; %type++ ) + messageClient( %client, 'MsgVoteItem', "", %key, %type, "", $HostTypeDisplayName[%type], true ); +} + +function serverCmdGetMissionList( %client, %key, %type ) +{ + if ( %type < 0 || %type >= $HostTypeCount ) + return; + + for ( %i = $HostMissionCount[%type] - 1; %i >= 0; %i-- ) + { + %idx = $HostMission[%type, %i]; + + // If we have bots, don't change to a mission that doesn't support bots: + if ( $HostGameBotCount > 0 ) + { + if( !$BotEnabled[%idx] ) + continue; + } + + messageClient( %client, 'MsgVoteItem', "", %key, + %idx, // mission index, will be stored in $clVoteCmd + "", + $HostMissionName[%idx], + true ); + } +} + +function serverCmdGetTimeLimitList( %client, %key, %type ) +{ + if ( isObject( Game ) ) + Game.sendTimeLimitList( %client, %key ); +} + +function serverCmdClientPickedTeam( %client, %option ) +{ + // ------------------------------------------------------------------------------------ + // z0dd - ZOD 5/8/02. Tourney mode bug fix provided by FSB-AO. + // Bug description: In tournament mode, If a player is teamchanged by an admin before + // they select a team, the server just changes their team and re-skins the player. They + // are not moved from their initial spawn point, meaning they could spawn very close to + // the other teams flag. This script kills the player if they are already teamed when + // they select an option and spawns them on the correct side of the map. + + //if( %option == 1 || %option == 2 ) + // Game.clientJoinTeam( %client, %option, false ); + + //else if( %option == 3) + //{ + // Game.assignClientTeam( %client, $MatchStarted ); + // Game.spawnPlayer( %client, false ); + //} + //else + //{ + // Game.forceObserver( %client, "playerChoose" ); + // %client.observerMode = "observer"; + // %client.notReady = false; + // return; + //} + switch(%option) + { + case 1: + if ( isObject(%client.player) ) + { + %client.player.scriptKill(0); + Game.clientChangeTeam(%client, %option, 0); + } + else + Game.clientJoinTeam( %client, %option, false ); + case 2: + if ( isObject(%client.player) ) + { + %client.player.scriptKill(0); + Game.clientChangeTeam(%client, %option, 0); + } + else + Game.clientJoinTeam( %client, %option, false ); + case 3: + if( !isObject(%client.player) ) + { + Game.assignClientTeam( %client, $MatchStarted ); + Game.spawnPlayer( %client, false ); + } + default: + if( isObject(%client.player) ) + { + %client.player.scriptKill(0); + ClearBottomPrint(%client); + } + Game.forceObserver( %client, "playerChoose" ); + %client.observerMode = "observer"; + %client.notReady = false; + return; + } + // End z0dd - ZOD + // ------------------------------------------------------------------------------------ + ClearBottomPrint(%client); + %client.observerMode = "pregame"; + %client.notReady = true; + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + commandToClient(%client, 'setHudMode', 'Observer'); + + + %client.setControlObject( %client.camera ); + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); +} + +function playerPickTeam( %client ) +{ + %numTeams = Game.numTeams; + + if(%numTeams > 1) + { + %client.camera.mode = "PickingTeam"; + schedule( 0, 0, "commandToClient", %client, 'pickTeamMenu', Game.getTeamName(1), Game.getTeamName(2)); + } + else + { + Game.clientJoinTeam(%client, 0, 0); + %client.observerMode = "pregame"; + %client.notReady = true; + %client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player ); + centerprint( %client, "\nPress FIRE when ready.", 0, 3 ); + %client.setControlObject( %client.camera ); + } +} + +function serverCmdPlayContentSet( %client ) +{ + if( !isDemo() && $Host::TournamentMode && !$CountdownStarted && !$MatchStarted ) + playerPickTeam( %client ); +} + +//-------------------------------------------------------------------------- +// This will probably move elsewhere... +function getServerStatusString() +{ + return isObject(Game) ? Game.getServerStatusString() : "NoGame"; +} + + +function dumpGameString() +{ + error( getServerStatusString() ); +} + +function isOnAdminList(%client) +{ + if( !%totalRecords = getFieldCount( $Host::AdminList ) ) + { + return false; + } + + for(%i = 0; %i < %totalRecords; %i++) + { + %record = getField( getRecord( $Host::AdminList, 0 ), %i); + if(%record == %client.guid) + return true; + } + + return false; +} + +function isOnSuperAdminList(%client) +{ + if( !%totalRecords = getFieldCount( $Host::superAdminList ) ) + { + return false; + } + + for(%i = 0; %i < %totalRecords; %i++) + { + %record = getField( getRecord( $Host::superAdminList, 0 ), %i); + if(%record == %client.guid) + return true; + } + + return false; +} + +function ServerCmdAddToAdminList( %admin, %client ) +{ + if( !%admin.isSuperAdmin ) + return; + + %count = getFieldCount( $Host::AdminList ); + + for ( %i = 0; %i < %count; %i++ ) + { + %id = getField( $Host::AdminList, %i ); + if ( %id == %client.guid ) + { + return; // They're already there! + } + } + + if( %count == 0 ) + $Host::AdminList = %client.guid; + else + $Host::AdminList = $Host::AdminList TAB %client.guid; + + // --------------------------------------------------------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Addition. Was not exporting to serverPrefs and did not message admin status. + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + messageClient(%admin, 'MsgAdmin', '\c3\"%1\"\c2 added to Admin list: \c3%2\c2.', getTaggedString(%client.name), %client.guid); + logEcho(getTaggedString(%admin.name) @ " added " @ getTaggedString(%client.name) @ " " @ %client.guid @ " to Admin list."); +} + +function ServerCmdAddToSuperAdminList( %admin, %client ) +{ + if( !%admin.isSuperAdmin ) + return; + + %count = getFieldCount( $Host::SuperAdminList ); + + for ( %i = 0; %i < %count; %i++ ) + { + %id = getField( $Host::SuperAdminList, %i ); + if ( %id == %client.guid ) + return; // They're already there! + } + + if( %count == 0 ) + $Host::SuperAdminList = %client.guid; + else + $Host::SuperAdminList = $Host::SuperAdminList TAB %client.guid; + + // --------------------------------------------------------------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Addition. Was not exporting to serverPrefs and did not message admin status. + export( "$Host::*", "prefs/ServerPrefs.cs", false ); + messageClient(%admin, 'MsgAdmin', '\c3\"%1\"\c2 added to Super Admin list: \c3%2\c2.', getTaggedString(%client.name), %client.guid); + logEcho(getTaggedString(%admin.name) @ " added " @ getTaggedString(%client.name) @ " " @ %client.guid @ " to Super Admin list."); +} + +function resetTournamentPlayers() +{ + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + %cl.notready = 1; + %cl.notReadyCount = ""; + } +} + +function forceTourneyMatchStart() +{ + %playerCount = 0; + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + if(%cl.camera.Mode $= "pre-game") + %playerCount++; + } + + // don't start the mission until we have players + if(%playerCount == 0) + { + return false; + } + + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + if(%cl.camera.Mode $= "pickingTeam") + { + // throw these guys into observer mode + if(Game.numTeams > 1) + commandToClient( %cl, 'processPickTeam'); // clear the pickteam menu + Game.forceObserver( %cl, "adminForce" ); + } + } + return true; +} + +function startTourneyCountdown() +{ + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + ClearCenterPrint(%cl); + ClearBottomPrint(%cl); + } + + // lets get it on! + Countdown( 30 * 1000 ); +} + +function checkTourneyMatchStart() +{ + if( $CountdownStarted || $matchStarted ) + return; + + // loop through all the clients and see if any are still notready + %playerCount = 0; + %notReadyCount = 0; + + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + if(%cl.camera.mode $= "pickingTeam") + { + %notReady[%notReadyCount] = %cl; + %notReadyCount++; + } + else if(%cl.camera.Mode $= "pre-game") + { + if(%cl.notready) + { + %notReady[%notReadyCount] = %cl; + %notReadyCount++; + } + else + { + %playerCount++; + } + } + else if(%cl.camera.Mode $= "observer") + { + // this guy is watching + } + } + + if(%notReadyCount) + { + if(%notReadyCount == 1) + MessageAll( 'msgHoldingUp', '\c1%1 is holding things up!', %notReady[0].name); + else if(%notReadyCount < 4) + { + for(%i = 0; %i < %notReadyCount - 2; %i++) + %str = getTaggedString(%notReady[%i].name) @ ", " @ %str; + + %str = "\c2" @ %str @ getTaggedString(%notReady[%i].name) @ " and " @ getTaggedString(%notReady[%i+1].name) + @ " are holding things up!"; + MessageAll( 'msgHoldingUp', %str ); + } + return; + } + + if(%playerCount != 0) + { + %count = ClientGroup.getCount(); + for( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject(%i); + %cl.notready = ""; + %cl.notReadyCount = ""; + ClearCenterPrint(%cl); + ClearBottomPrint(%cl); + } + + if ( Game.scheduleVote !$= "" && Game.voteType $= "VoteMatchStart") + { + messageAll('closeVoteHud', ""); + cancel(Game.scheduleVote); + Game.scheduleVote = ""; + } + + Countdown(30 * 1000); + } +} + +function checkMissionStart() +{ + %readyToStart = false; + for(%clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++) + { + %client = ClientGroup.getObject(%clientIndex); + if(%client.isReady) + { + %readyToStart = true; + break; + } + } + + if(%readyToStart || ClientGroup.getCount() < 1) + { + if($Host::warmupTime > 0 && $CurrentMissionType !$= "SinglePlayer") + countDown($Host::warmupTime * 1000); + else + Game.startMatch(); + + for(%x = 0; %x < $NumVehiclesDeploy; %x++) + $VehiclesDeploy[%x].getDataBlock().schedule(%timeMS / 2, "vehicleDeploy", $VehiclesDeploy[%x], 0, 1); + $NumVehiclesDeploy = 0; + } + else + { + schedule(2000, ServerGroup, "checkMissionStart"); + } +} + +function Countdown(%timeMS) +{ + if($countdownStarted) + return; + + echo("starting mission countdown..."); + + if(isObject(Game)) + %game = Game.getId(); + else + return; + + $countdownStarted = true; + Game.matchStart = Game.schedule( %timeMS, "StartMatch" ); + + if (%timeMS > 30000) + notifyMatchStart(%timeMS); + + if(%timeMS >= 30000) + Game.thirtyCount = schedule(%timeMS - 30000, Game, "notifyMatchStart", 30000); + if(%timeMS >= 15000) + Game.fifteenCount = schedule(%timeMS - 15000, Game, "notifyMatchStart", 15000); + if(%timeMS >= 10000) + Game.tenCount = schedule(%timeMS - 10000, Game, "notifyMatchStart", 10000); + if(%timeMS >= 5000) + Game.fiveCount = schedule(%timeMS - 5000, Game, "notifyMatchStart", 5000); + if(%timeMS >= 4000) + Game.fourCount = schedule(%timeMS - 4000, Game, "notifyMatchStart", 4000); + if(%timeMS >= 3000) + Game.threeCount = schedule(%timeMS - 3000, Game, "notifyMatchStart", 3000); + if(%timeMS >= 2000) + Game.twoCount = schedule(%timeMS - 2000, Game, "notifyMatchStart", 2000); + if(%timeMS >= 1000) + Game.oneCount = schedule(%timeMS - 1000, Game, "notifyMatchStart", 1000); +} + +function EndCountdown(%timeMS) +{ + echo("mission end countdown..."); + + if(isObject(Game)) + %game = Game.getId(); + else + return; + + if(%timeMS >= 60000) + Game.endsixtyCount = schedule(%timeMS - 60000, Game, "notifyMatchEnd", 60000); + if(%timeMS >= 30000) + Game.endthirtyCount = schedule(%timeMS - 30000, Game, "notifyMatchEnd", 30000); + if(%timeMS >= 10000) + Game.endtenCount = schedule(%timeMS - 10000, Game, "notifyMatchEnd", 10000); + if(%timeMS >= 5000) + Game.endfiveCount = schedule(%timeMS - 5000, Game, "notifyMatchEnd", 5000); + if(%timeMS >= 4000) + Game.endfourCount = schedule(%timeMS - 4000, Game, "notifyMatchEnd", 4000); + if(%timeMS >= 3000) + Game.endthreeCount = schedule(%timeMS - 3000, Game, "notifyMatchEnd", 3000); + if(%timeMS >= 2000) + Game.endtwoCount = schedule(%timeMS - 2000, Game, "notifyMatchEnd", 2000); + if(%timeMS >= 1000) + Game.endoneCount = schedule(%timeMS - 1000, Game, "notifyMatchEnd", 1000); +} + +function CancelCountdown() +{ + if(Game.sixtyCount !$= "") + cancel(Game.sixtyCount); + if(Game.thirtyCount !$= "") + cancel(Game.thirtyCount); + if(Game.fifteenCount !$= "") + cancel(Game.fifteenCount); + if(Game.tenCount !$= "") + cancel(Game.tenCount); + if(Game.fiveCount !$= "") + cancel(Game.fiveCount); + if(Game.fourCount !$= "") + cancel(Game.fourCount); + if(Game.threeCount !$= "") + cancel(Game.threeCount); + if(Game.twoCount !$= "") + cancel(Game.twoCount); + if(Game.oneCount !$= "") + cancel(Game.oneCount); + if(isObject(Game)) + cancel(Game.matchStart); + + Game.matchStart = ""; + Game.thirtyCount = ""; + Game.fifteenCount = ""; + Game.tenCount = ""; + Game.fiveCount = ""; + Game.fourCount = ""; + Game.threeCount = ""; + Game.twoCount = ""; + Game.oneCount = ""; + + $countdownStarted = false; +} + +function CancelEndCountdown() +{ + //cancel the mission end countdown... + if(Game.endsixtyCount !$= "") + cancel(Game.endsixtyCount); + if(Game.endthirtyCount !$= "") + cancel(Game.endthirtyCount); + if(Game.endtenCount !$= "") + cancel(Game.endtenCount); + if(Game.endfiveCount !$= "") + cancel(Game.endfiveCount); + if(Game.endfourCount !$= "") + cancel(Game.endfourCount); + if(Game.endthreeCount !$= "") + cancel(Game.endthreeCount); + if(Game.endtwoCount !$= "") + cancel(Game.endtwoCount); + if(Game.endoneCount !$= "") + cancel(Game.endoneCount); + + Game.endmatchStart = ""; + Game.endthirtyCount = ""; + Game.endtenCount = ""; + Game.endfiveCount = ""; + Game.endfourCount = ""; + Game.endthreeCount = ""; + Game.endtwoCount = ""; + Game.endoneCount = ""; +} + +function resetServerDefaults() +{ + $resettingServer = true; + echo( "Resetting server defaults..." ); + + if( isObject( Game ) ) + Game.gameOver(); + + // Override server defaults with prefs: + exec( "scripts/ServerDefaults.cs" ); + exec( $serverprefs ); + + if ( !isDemo() ) + { + //convert the team skin and name vars to tags... + %index = 0; + while ($Host::TeamSkin[%index] !$= "") + { + $TeamSkin[%index] = addTaggedString($Host::TeamSkin[%index]); + %index++; + } + + %index = 0; + while ($Host::TeamName[%index] !$= "") + { + $TeamName[%index] = addTaggedString($Host::TeamName[%index]); + %index++; + } + + // Get the hologram names from the prefs... + %index = 1; + while ( $Host::holoName[%index] !$= "" ) + { + $holoName[%index] = $Host::holoName[%index]; + %index++; + } + } + + // kick all bots... + removeAllBots(); + + // add bots back if they were there before.. + if( !isDemo() && $Host::botsEnabled ) + initGameBots( $Host::Map, $Host::MissionType ); + + // load the missions + loadMission( $Host::Map, $Host::MissionType ); + $resettingServer = false; + echo( "Server reset complete." ); +} + +function removeAllBots() +{ + while( ClientGroup.getCount() ) + { + %client = ClientGroup.getObject(0); + if(%client.isAIControlled()) + %client.drop(); + else + %client.delete(); + } +} + +//------------------------------------------------------------------------------ +function getServerGUIDList() +{ + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %cl = ClientGroup.getObject( %i ); + if ( isObject( %cl ) && !%cl.isSmurf && !%cl.isAIControlled() ) + { + %guid = getField( %cl.getAuthInfo(), 3 ); + if ( %guid != 0 ) + { + if ( %list $= "" ) + %list = %guid; + else + %list = %list TAB %guid; + } + } + } + + return( %list ); +} + +//------------------------------------------------------------------------------ +// will return the first admin found on the server +function getAdmin() +{ + %admin = 0; + for ( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) + { + %cl = ClientGroup.getObject( %clientIndex ); + if(%cl.isAdmin || %cl.isSuperAdmin) + { + %admin = %cl; + break; + } + } + return %admin; +} + +function serverCmdSetPDAPose(%client, %val) +{ + if(!isObject(%client.player)) + return; + + // if client is in a vehicle, return + if(%client.player.isMounted()) + return; + + if(%val) + { + // play "PDA" animation thread on player + %client.player.setActionThread("PDA", false); + } + else + { + // cancel PDA animation thread + %client.player.setActionThread("root", true); + } +} + +function serverCmdProcessGameLink(%client, %arg1, %arg2, %arg3, %arg4, %arg5) +{ + Game.processGameLink(%client, %arg1, %arg2, %arg3, %arg4, %arg5); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/serverAudio.cs b/public/base/@vl2/scripts.vl2/scripts/serverAudio.cs new file mode 100644 index 00000000..899cd719 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/serverAudio.cs @@ -0,0 +1,171 @@ + +//-------------------------------------- +// Audio Descriptions +// + +datablock AudioDescription(ProjectileLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + minDistance= 5.0; + MaxDistance= 20.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(ClosestLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + minDistance= 5.0; + MaxDistance= 30.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(CloseLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + minDistance= 10.0; + MaxDistance= 50.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioDefaultLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + minDistance= 20.0; + MaxDistance= 100.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioClosest3d) +{ + volume = 1.0; + isLooping= false; + + is3D = true; + minDistance= 5.0; + MaxDistance= 30.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioClose3d) +{ + volume = 1.0; + isLooping= false; + + is3D = true; + minDistance= 10.0; + MaxDistance= 60.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioDefault3d) +{ + volume = 1.0; + isLooping= false; + + is3D = true; + minDistance= 20.0; + MaxDistance= 100.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioExplosion3d) +// Regular weapon explosions +{ + volume = 1.0; + isLooping= false; + + is3D = true; + minDistance= 20.0; + MaxDistance= 150.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioBomb3d) +// Bomber Bombs +{ + volume = 1.0; + isLooping= false; + + is3D = true; + minDistance= 80.0; + MaxDistance= 250.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioBIGExplosion3d) +// Big explosions like mortars, vehicles, and satchel charges +{ + volume = 1.0; + isLooping= false; + + is3D = true; + minDistance= 50.0; + MaxDistance= 250.0; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(AudioLooping2D) +// Used for Looping Environmental Sounds +{ + volume = 1.0; + isLooping = true; + is3D = false; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +datablock AudioDescription(Audio2D) +// Used for non-looping environmental sounds (like power on, power off) +{ + volume = 1.0; + isLooping = false; + is3D = false; + type = $EffectAudioType; + environmentLevel = 1.0; +}; + +// Audio Environment Settings --- Used for EAX and EAX2 sounds // + +datablock AudioEnvironment(Underwater) +{ + useRoom = true; + room = UNDERWATER; + effectVolume = 0.6; +}; + +datablock AudioEnvironment(BigRoom) +{ + useRoom = true; + room = AUDITORIUM; + effectVolume = 0.4; +}; + +datablock AudioEnvironment(SmallRoom) +{ + useRoom = true; + room = STONEROOM; + effectVolume = 0.4; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/serverCommanderMap.cs b/public/base/@vl2/scripts.vl2/scripts/serverCommanderMap.cs new file mode 100644 index 00000000..b58c818c --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/serverCommanderMap.cs @@ -0,0 +1,246 @@ +//------------------------------------------------------------------------------ +// Object control +//------------------------------------------------------------------------------ +function getControlObjectType(%obj) +{ + // turrets (camera is a turret) + if(%obj.getType() & $TypeMasks::TurretObjectType) + { + %barrel = %obj.getMountedImage(0); + if(isObject(%barrel)) + return(addTaggedString(%barrel.getName())); + } + + // unknown + return('Unknown'); +} + +function serverCmdControlObject(%client, %targetId) +{ + // match started: + if(!$MatchStarted) + { + commandToClient(%client, 'ControlObjectResponse', false, "mission has not started."); + return; + } + + // object: + %obj = getTargetObject(%targetId); + if(%obj == -1) + { + commandToClient(%client, 'ControlObjectResponse', false, "failed to find target object."); + return; + } + + // shapebase: + if(!(%obj.getType() & $TypeMasks::ShapeBaseObjectType)) + { + commandToClient(%client, 'ControlObjectResponse', false, "object cannot be controlled."); + return; + } + + // can control: + if(!%obj.getDataBlock().canControl) + { + commandToClient(%client, 'ControlObjectResponse', false, "object cannot be controlled."); + return; + } + + // check damage: + if(%obj.getDamageState() !$= "Enabled") + { + commandToClient(%client, 'ControlObjectResponse', false, "object is " @ %obj.getDamageState()); + return; + } + + // powered: + if(!%obj.isPowered()) + { + commandToClient(%client, 'ControlObjectResponse', false, "object is not powered."); + return; + } + + // controlled already: + %control = %obj.getControllingClient(); + if(%control) + { + if(%control == %client) + commandToClient(%client, 'ControlObjectResponse', false, "you are already controlling that object."); + else + commandToClient(%client, 'ControlObjectResponse', false, "someone is already controlling that object."); + return; + } + + // same team? + if(getTargetSensorGroup(%targetId) != %client.getSensorGroup()) + { + commandToClient(%client, 'ControlObjectResonse', false, "cannot control enemy objects."); + return; + } + + // dead? + if(%client.player == 0) + { + commandToClient(%client, 'ControlObjectResponse', false, "dead people cannot control objects."); + return; + } + + //mounted in a vehicle? + if (%client.player.isMounted()) + { + commandToClient(%client, 'ControlObjectResponse', false, "can't control objects while mounted in a vehicle."); + return; + } + + %client.setControlObject(%obj); + commandToClient(%client, 'ControlObjectResponse', true, getControlObjectType(%obj)); +} + +//------------------------------------------------------------------------------ +// TV Functions +//------------------------------------------------------------------------------ +function resetControlObject(%client) +{ + if( isObject( %client.comCam ) ) + %client.comCam.delete(); + + if(isObject(%client.player) && !%client.player.isDestroyed() && $MatchStarted) + %client.setControlObject(%client.player); + else + %client.setControlObject(%client.camera); +} + +function serverCmdResetControlObject(%client) +{ + resetControlObject(%client); + commandToClient(%client, 'ControlObjectReset'); + // -------------------------------------------------------- + // z0dd - ZOD 4/18/02. Vehicle reticle disappearance fix. + // commandToClient(%client, 'RemoveReticle'); + //if(isObject(%client.player)) + //{ + // %weapon = %client.player.getMountedImage($WeaponSlot); + // %client.setWeaponsHudActive(%weapon.item); + //} + if(isObject(%client.player)) + { + if(%client.player.isPilot() || %client.player.isWeaponOperator()) + { + return; + } + else + { + commandToClient(%client, 'RemoveReticle'); + %weapon = %client.player.getMountedImage($WeaponSlot); + %client.setWeaponsHudActive(%weapon.item); + } + } + // End z0dd - ZOD + // -------------------------------------------------------- +} + +function serverCmdAttachCommanderCamera(%client, %target) +{ + // dont allow observing until match has started + if(!$MatchStarted) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + %obj = getTargetObject(%target); + if((%obj == -1) || (%target == -1)) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + // shape base object? + if(!(%obj.getType() & $TypeMasks::ShapeBaseObjectType)) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + // can be observed? + if(!%obj.getDataBlock() || !%obj.getDataBlock().canObserve) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + // same team? + if(getTargetSensorGroup(%target) != %client.getSensorGroup()) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + // powered? + if(!%obj.isPowered()) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + // client connection? + if(%obj.getClassName() $= "GameConnection") + { + %player = %obj.player; + if(%obj == %client) + { + if(isObject(%player) && !%player.isDestroyed()) + { + + %client.setControlObject(%player); + commandToClient(%client, 'CameraAttachResponse', true); + return; + } + } + + %obj = %player; + } + + if(!isObject(%obj) || %obj.isDestroyed()) + { + commandToClient(%client, 'CameraAttachResponse', false); + return; + } + + %data = %obj.getDataBlock(); + %obsData = %data.observeParameters; + %obsX = firstWord(%obsData); + %obsY = getWord(%obsData, 1); + %obsZ = getWord(%obsData, 2); + + // don't set the camera mode so that it does not interfere with spawning + %transform = %obj.getTransform(); + + // create a fresh camera to observe through... (could add to a list on + // the observed camera to be removed when that object dies/...) + if( !isObject( %client.comCam ) ) + { + %client.comCam = new Camera() + { + dataBlock = CommanderCamera; + }; + MissionCleanup.add(%client.comCam); + } + + %client.comCam.setTransform(%transform); + %client.comCam.setOrbitMode(%obj, %transform, %obsX, %obsY, %obsZ); + + %client.setControlObject(%client.comCam); + commandToClient(%client, 'CameraAttachResponse', true); +} + +//------------------------------------------------------------------------------ +// Scoping +function serverCmdScopeCommanderMap(%client, %scope) +{ + if(%scope) + resetControlObject(%client); + %client.scopeCommanderMap(%scope); + + commandToClient(%client, 'ScopeCommanderMap', %scope); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/serverDefaults.cs b/public/base/@vl2/scripts.vl2/scripts/serverDefaults.cs new file mode 100644 index 00000000..1df81bab --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/serverDefaults.cs @@ -0,0 +1,137 @@ +$Host::teamSkin[0] = "blank"; +$Host::teamSkin[1] = "base"; +$Host::teamSkin[2] = "baseb"; +$Host::teamSkin[3] = "swolf"; +$Host::teamSkin[4] = "dsword"; +$Host::teamSkin[5] = "beagle"; +$Host::teamSkin[6] = "cotp"; + +$Host::teamName[0] = "Unassigned"; +$Host::teamName[1] = "Storm"; +$Host::teamName[2] = "Inferno"; +$Host::teamName[3] = "Starwolf"; +$Host::teamName[4] = "Diamond Sword"; +$Host::teamName[5] = "Blood Eagle"; +$Host::teamName[6] = "Phoenix"; + +$Host::holoName[0] = ""; +$Host::holoName[1] = "Storm"; +$Host::holoName[2] = "Inferno"; +$Host::holoName[3] = "Starwolf"; +$Host::holoName[4] = "DSword"; +$Host::holoName[5] = "BloodEagle"; +$Host::holoName[6] = "Harbinger"; + +// Demo-specific preferences: +if ( isDemo() ) +{ + $Host::GameName = "Tribes 2 Demo Server"; + $Host::Info = "This is a Tribes 2 Demo Server."; + $Host::Map = "SlapDash"; + $Host::MaxPlayers = 32; +} +else +{ + $Host::GameName = "Tribes 2 Server"; + $Host::Info = "This is a Tribes 2 Server."; + $Host::Map = "Katabatic"; + $Host::MaxPlayers = 64; +} + +$Host::AdminList = ""; // all players that will be automatically an admin upon joining server +$Host::SuperAdminList = ""; // all players that will be automatically a super admin upon joining server +$Host::BindAddress = ""; // set to an ip address if the server wants to specify which NIC/IP to use +$Host::Port = 28000; +$Host::Password = ""; +$Host::AdminPassword = ""; +$Host::PureServer = 1; +$Host::Dedicated = 0; +$Host::MissionType = "CTF"; +$Host::TimeLimit = 30; +$Host::BotCount = 2; +$Host::BotsEnabled = 0; +$Host::MinBotDifficulty = 0.5; +$Host::MaxBotDifficulty = 0.75; +$Host::NoSmurfs = 0; +$Host::VoteTime = 30; // amount of time before votes are calculated +$Host::VotePassPercent = 60; // percent needed to pass a vote +$Host::KickBanTime = 300; // specified in seconds +$Host::BanTime = 1800; // specified in seconds +$Host::PlayerRespawnTimeout = 60; // time before a dead player is forced into observer mode +$Host::warmupTime = 20; +$Host::TournamentMode = 0; +$Host::allowAdminPlayerVotes = 1; +$Host::FloodProtectionEnabled = 1; +$Host::MaxMessageLen = 120; +$Host::VoteSpread = 20; +$Host::TeamDamageOn = 0; +$Host::Siege::Halftime = 20000; +$Host::CRCTextures = 1; + +// 0: .v12 (1.2 kbits/sec), 1: .v24 (2.4 kbits/sec), 2: .v29 (2.9kbits/sec) +// 3: GSM (6.6 kbits/sec) +$Audio::maxEncodingLevel = 3; +$Audio::maxVoiceChannels = 2; + +$Host::MapPlayerLimits["Abominable", "CnH"] = "-1 -1"; +$Host::MapPlayerLimits["AgentsOfFortune", "TeamHunters"] = "-1 32"; +$Host::MapPlayerLimits["Alcatraz", "Siege"] = "-1 48"; +$Host::MapPlayerLimits["Archipelago", "CTF"] = "16 -1"; +$Host::MapPlayerLimits["AshesToAshes", "CnH"] = "16 -1"; +$Host::MapPlayerLimits["BeggarsRun", "CTF"] = "-1 32"; +$Host::MapPlayerLimits["Caldera", "Siege"] = "-1 48"; +$Host::MapPlayerLimits["CasernCavite", "Hunters"] = "-1 32"; +$Host::MapPlayerLimits["CasernCavite", "DM"] = "-1 32"; +$Host::MapPlayerLimits["CasernCavite", "Bounty"] = "-1 32"; +$Host::MapPlayerLimits["Damnation", "CTF"] = "-1 32"; +$Host::MapPlayerLimits["DeathBirdsFly", "CTF"] = "8 -1"; +$Host::MapPlayerLimits["Desiccator", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["DustToDust", "CTF"] = "-1 32"; +$Host::MapPlayerLimits["DustToDust", "Hunters"] = "-1 32"; +$Host::MapPlayerLimits["DustToDust", "TeamHunters"] = "-1 32"; +$Host::MapPlayerLimits["Equinox", "CnH"] = "-1 -1"; +$Host::MapPlayerLimits["Equinox", "DM"] = "-1 32"; +$Host::MapPlayerLimits["Escalade", "Hunters"] = "8 -1"; +$Host::MapPlayerLimits["Escalade", "TeamHunters"] = "8 -1"; +$Host::MapPlayerLimits["Escalade", "DM"] = "16 -1"; +$Host::MapPlayerLimits["Escalade", "Bounty"] = "16 32"; +$Host::MapPlayerLimits["Escalade", "Rabbit"] = "16 -1"; +$Host::MapPlayerLimits["Firestorm", "CTF"] = "-1 24"; +$Host::MapPlayerLimits["Firestorm", "CnH"] = "-1 24"; +$Host::MapPlayerLimits["Flashpoint", "CnH"] = "-1 -1"; +$Host::MapPlayerLimits["Gauntlet", "Siege"] = "-1 32"; +$Host::MapPlayerLimits["Gehenna", "Hunters"] = "-1 -1"; +$Host::MapPlayerLimits["Gehenna", "TeamHunters"] = "-1 -1"; +$Host::MapPlayerLimits["Icebound", "Siege"] = "-1 -1"; +$Host::MapPlayerLimits["Insalubria", "CnH"] = "-1 32"; +$Host::MapPlayerLimits["JacobsLadder", "CnH"] = "-1 -1"; +$Host::MapPlayerLimits["Katabatic", "CTF"] = "-1 48"; +$Host::MapPlayerLimits["Masada", "Siege"] = "-1 32"; +$Host::MapPlayerLimits["Minotaur", "CTF"] = "-1 32"; +$Host::MapPlayerLimits["Myrkwood", "Hunters"] = "-1 32"; +$Host::MapPlayerLimits["Myrkwood", "DM"] = "-1 32"; +$Host::MapPlayerLimits["Myrkwood", "Rabbit"] = "-1 32"; +$Host::MapPlayerLimits["Oasis", "DM"] = "-1 32"; +$Host::MapPlayerLimits["Overreach", "CnH"] = "8 -1"; +$Host::MapPlayerLimits["Quagmire", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["Rasp", "TeamHunters"] = "-1 32"; +$Host::MapPlayerLimits["Rasp", "Bounty"] = "-1 32"; +$Host::MapPlayerLimits["Recalescence", "CTF"] = "16 -1"; +$Host::MapPlayerLimits["Respite", "Siege"] = "-1 32"; +$Host::MapPlayerLimits["Reversion", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["Rimehold", "Hunters"] = "8 -1"; +$Host::MapPlayerLimits["Rimehold", "Hunters"] = "8 -1"; +$Host::MapPlayerLimits["Riverdance", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["Sanctuary", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["Sirocco", "CnH"] = "8 -1"; +$Host::MapPlayerLimits["Slapdash", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["SunDried", "DM"] = "8 -1"; +$Host::MapPlayerLimits["SunDried", "Bounty"] = "8 -1"; +$Host::MapPlayerLimits["Talus", "Bounty"] = "-1 32"; +$Host::MapPlayerLimits["ThinIce", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["Tombstone", "CTF"] = "-1 -1"; +$Host::MapPlayerLimits["UltimaThule", "Siege"] = "8 -1"; +$Host::MapPlayerLimits["Underhill", "DM"] = "-1 -1"; +$Host::MapPlayerLimits["Underhill", "Bounty"] = "-1 32"; +$Host::MapPlayerLimits["Whiteout", "DM"] = "8 -1"; +$Host::MapPlayerLimits["Whiteout", "Bounty"] = "8 -1"; diff --git a/public/base/@vl2/scripts.vl2/scripts/serverTasks.cs b/public/base/@vl2/scripts.vl2/scripts/serverTasks.cs new file mode 100644 index 00000000..758e7f2a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/serverTasks.cs @@ -0,0 +1,1071 @@ +// possible commands: +//--------------------------------------------------------------------------- +$TaskDescription['EscortPlayer'] = 'Escort player %1'; +$TaskDescription['RepairPlayer'] = 'Repair player %1'; +$TaskDescription['AttackPlayer'] = 'Attack enemy player %1'; +$TaskDescription['DefendFlag'] = 'Defend the flag'; +$TaskDescription['ReturnFlag'] = 'Return our flag'; +$TaskDescription['CaptureFlag'] = 'Capture the enemy flag'; +$TaskDescription['CaptureObjective'] = 'Capture the %1'; +$TaskDescription['DefendObjective'] = 'Defend the %1'; +$TaskDescription['DefendLocation'] = 'Defend location'; +$TaskDescription['MeetLocation'] = 'Meet at location'; +$TaskDescription['BombLocation'] = 'Bomb at location'; +$TaskDescription['AttackLocation'] = 'Attack at location'; +$TaskDescription['LazeTarget'] = 'Laze the target'; +$TaskDescription['DeployTurretBarrel'] = 'Deploy turret barrels'; +$TaskDescription['DeployTurret'] = 'Deploy turrets'; +$TaskDescription['DeployEquipment'] = 'Deploy stations'; +$TaskDescription['DeploySensor'] = 'Deploy sensors'; +$TaskDescription['RepairObject'] = 'Repair the %1'; +$TaskDescription['DefendObject'] = 'Defend the %1'; +$TaskDescription['AttackObject'] = 'Attack the enemy %1'; +$TaskDescription['MortarObject'] = 'Mortar the enemy %1'; +$TaskDescription['LazeObject'] = 'Laze the enemy %1'; +$TaskDescription['BombObject'] = 'Bomb the %1'; +$TaskDescription['TakeFlag'] = 'Take flag from %1'; +$TaskDescription['GiveFlag'] = 'Give flag to %1'; +$TaskDescription['NeedRide'] = '%1 needs a ride.'; +$TaskDescription['NeedPassenger'] = '%1 needs vehicle support.'; + +// AIObjectives for commands: +//--------------------------------------------------------------------------- +$ObjectiveTable['AttackLocation', type] = "AIOAttackLocation"; +$ObjectiveTable['AttackLocation', weightLevel1] = 2500; +$ObjectiveTable['AttackLocation', weightLevel2] = 1000; +$ObjectiveTable['AttackLocation', weightLevel3] = 500; +$ObjectiveTable['AttackLocation', weightLevel4] = 100; +$ObjectiveTable['AttackLocation', equipment] = ""; +$ObjectiveTable['AttackLocation', desiredEquipment] = "ShieldPack"; +$ObjectiveTable['AttackLocation', buyEquipmentSet] = "LightShieldSet MediumShieldSet HeavyShieldSet"; +$ObjectiveTable['AttackLocation', offense] = "true"; +$ObjectiveTable['AttackLocation', defense] = "false"; +$ObjectiveTable['AttackLocation', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['AttackLocation', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['DefendLocation', type] = "AIODefendLocation"; +$ObjectiveTable['DefendLocation', weightLevel1] = 2500; +$ObjectiveTable['DefendLocation', weightLevel2] = 1000; +$ObjectiveTable['DefendLocation', weightLevel3] = 500; +$ObjectiveTable['DefendLocation', weightLevel4] = 100; +$ObjectiveTable['DefendLocation', equipment] = ""; +$ObjectiveTable['DefendLocation', desiredEquipment] = "ShieldPack"; +$ObjectiveTable['DefendLocation', buyEquipmentSet] = "MediumShieldSet LightShieldSet HeavyShieldSet"; +$ObjectiveTable['DefendLocation', offense] = "false"; +$ObjectiveTable['DefendLocation', defense] = "true"; +$ObjectiveTable['DefendLocation', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['DefendLocation', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['MeetLocation', type] = "AIODefendLocation"; +$ObjectiveTable['MeetLocation', weightLevel1] = 2500; +$ObjectiveTable['MeetLocation', weightLevel2] = 1000; +$ObjectiveTable['MeetLocation', weightLevel3] = 500; +$ObjectiveTable['MeetLocation', weightLevel4] = 100; +$ObjectiveTable['MeetLocation', equipment] = ""; +$ObjectiveTable['MeetLocation', desiredEquipment] = ""; +$ObjectiveTable['MeetLocation', buyEquipmentSet] = ""; +$ObjectiveTable['MeetLocation', offense] = "false"; +$ObjectiveTable['MeetLocation', defense] = "true"; +$ObjectiveTable['MeetLocation', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['MeetLocation', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['DefendObjective', type] = "AIODefendLocation"; +$ObjectiveTable['DefendObjective', weightLevel1] = 2500; +$ObjectiveTable['DefendObjective', weightLevel2] = 1000; +$ObjectiveTable['DefendObjective', weightLevel3] = 500; +$ObjectiveTable['DefendObjective', weightLevel4] = 100; +$ObjectiveTable['DefendObjective', equipment] = ""; +$ObjectiveTable['DefendObjective', desiredEquipment] = "ShieldPack"; +$ObjectiveTable['DefendObjective', buyEquipmentSet] = "MediumShieldSet LightShieldSet HeavyShieldSet"; +$ObjectiveTable['DefendObjective', offense] = "false"; +$ObjectiveTable['DefendObjective', defense] = "true"; +$ObjectiveTable['DefendObjective', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['DefendObjective', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['DefendObject', type] = "AIODefendLocation"; +$ObjectiveTable['DefendObject', weightLevel1] = 2500; +$ObjectiveTable['DefendObject', weightLevel2] = 1000; +$ObjectiveTable['DefendObject', weightLevel3] = 500; +$ObjectiveTable['DefendObject', weightLevel4] = 100; +$ObjectiveTable['DefendObject', equipment] = ""; +$ObjectiveTable['DefendObject', desiredEquipment] = "ShieldPack"; +$ObjectiveTable['DefendObject', buyEquipmentSet] = "MediumShieldSet LightShieldSet HeavyShieldSet"; +$ObjectiveTable['DefendObject', offense] = "false"; +$ObjectiveTable['DefendObject', defense] = "true"; +$ObjectiveTable['DefendObject', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['DefendObject', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['AttackObject', type] = "AIOAttackObject"; +$ObjectiveTable['AttackObject', weightLevel1] = 2500; +$ObjectiveTable['AttackObject', weightLevel2] = 1000; +$ObjectiveTable['AttackObject', weightLevel3] = 500; +$ObjectiveTable['AttackObject', weightLevel4] = 100; +$ObjectiveTable['AttackObject', equipment] = ""; +$ObjectiveTable['AttackObject', desiredEquipment] = "ShieldPack Plasma PlasmaAmmo"; +$ObjectiveTable['AttackObject', buyEquipmentSet] = "MediumShieldSet LightShieldSet HeavyShieldSet"; +$ObjectiveTable['AttackObject', offense] = "false"; +$ObjectiveTable['AttackObject', defense] = "true"; +$ObjectiveTable['AttackObject', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['AttackObject', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['EscortPlayer', type] = "AIOEscortPlayer"; +$ObjectiveTable['EscortPlayer', weightLevel1] = 2500; +$ObjectiveTable['EscortPlayer', weightLevel2] = 1000; +$ObjectiveTable['EscortPlayer', weightLevel3] = 500; +$ObjectiveTable['EscortPlayer', weightLevel4] = 100; +$ObjectiveTable['EscortPlayer', equipment] = ""; +$ObjectiveTable['EscortPlayer', desiredEquipment] = "EnergyPack"; +$ObjectiveTable['EscortPlayer', buyEquipmentSet] = "LightDefaultSet"; +$ObjectiveTable['EscortPlayer', offense] = "true"; +$ObjectiveTable['EscortPlayer', defense] = "true"; +$ObjectiveTable['EscortPlayer', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['EscortPlayer', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['AttackPlayer', type] = "AIOAttackPlayer"; +$ObjectiveTable['AttackPlayer', weightLevel1] = 2500; +$ObjectiveTable['AttackPlayer', weightLevel2] = 1000; +$ObjectiveTable['AttackPlayer', weightLevel3] = 500; +$ObjectiveTable['AttackPlayer', weightLevel4] = 100; +$ObjectiveTable['AttackPlayer', equipment] = ""; +$ObjectiveTable['AttackPlayer', desiredEquipment] = "EnergyPack"; +$ObjectiveTable['AttackPlayer', buyEquipmentSet] = "LightDefaultSet"; +$ObjectiveTable['AttackPlayer', offense] = "true"; +$ObjectiveTable['AttackPlayer', defense] = "true"; +$ObjectiveTable['AttackPlayer', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['AttackPlayer', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['RepairPlayer', type] = "AIORepairObject"; +$ObjectiveTable['RepairPlayer', weightLevel1] = 2500; +$ObjectiveTable['RepairPlayer', weightLevel2] = 1000; +$ObjectiveTable['RepairPlayer', weightLevel3] = 500; +$ObjectiveTable['RepairPlayer', weightLevel4] = 100; +$ObjectiveTable['RepairPlayer', equipment] = "RepairPack"; +$ObjectiveTable['RepairPlayer', desiredEquipment] = "RepairPack"; +$ObjectiveTable['RepairPlayer', buyEquipmentSet] = "LightRepairSet MediumRepairSet HeavyRepairSet"; +$ObjectiveTable['RepairPlayer', offense] = "true"; +$ObjectiveTable['RepairPlayer', defense] = "true"; +$ObjectiveTable['RepairPlayer', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['RepairPlayer', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['RepairObject', type] = "AIORepairObject"; +$ObjectiveTable['RepairObject', weightLevel1] = 2500; +$ObjectiveTable['RepairObject', weightLevel2] = 1000; +$ObjectiveTable['RepairObject', weightLevel3] = 500; +$ObjectiveTable['RepairObject', weightLevel4] = 100; +$ObjectiveTable['RepairObject', equipment] = "RepairPack"; +$ObjectiveTable['RepairObject', desiredEquipment] = "RepairPack"; +$ObjectiveTable['RepairObject', buyEquipmentSet] = "LightRepairSet MediumRepairSet HeavyRepairSet"; +$ObjectiveTable['RepairObject', offense] = "true"; +$ObjectiveTable['RepairObject', defense] = "true"; +$ObjectiveTable['RepairObject', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['RepairObject', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['MortarObject', type] = "AIOMortarObject"; +$ObjectiveTable['MortarObject', weightLevel1] = 2500; +$ObjectiveTable['MortarObject', weightLevel2] = 1000; +$ObjectiveTable['MortarObject', weightLevel3] = 500; +$ObjectiveTable['MortarObject', weightLevel4] = 100; +$ObjectiveTable['MortarObject', equipment] = "Mortar MortarAmmo"; +$ObjectiveTable['MortarObject', desiredEquipment] = ""; +$ObjectiveTable['MortarObject', buyEquipmentSet] = "HeavyAmmoSet"; +$ObjectiveTable['MortarObject', offense] = "true"; +$ObjectiveTable['MortarObject', defense] = "true"; +$ObjectiveTable['MortarObject', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['MortarObject', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['LazeObject', type] = "AIOLazeObject"; +$ObjectiveTable['LazeObject', weightLevel1] = 2500; +$ObjectiveTable['LazeObject', weightLevel2] = 1000; +$ObjectiveTable['LazeObject', weightLevel3] = 500; +$ObjectiveTable['LazeObject', weightLevel4] = 100; +$ObjectiveTable['LazeObject', equipment] = "TargetingLaser"; +$ObjectiveTable['LazeObject', desiredEquipment] = ""; +$ObjectiveTable['LazeObject', buyEquipmentSet] = "LightEnergyDefault"; +$ObjectiveTable['LazeObject', offense] = "true"; +$ObjectiveTable['LazeObject', defense] = "true"; +$ObjectiveTable['LazeObject', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['LazeObject', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['BombObject', type] = "AIOBombLocation"; +$ObjectiveTable['BombObject', weightLevel1] = 2500; +$ObjectiveTable['BombObject', weightLevel2] = 2500; +$ObjectiveTable['BombObject', weightLevel3] = 2500; +$ObjectiveTable['BombObject', weightLevel4] = 2500; +$ObjectiveTable['BombObject', equipment] = ""; +$ObjectiveTable['BombObject', desiredEquipment] = ""; +$ObjectiveTable['BombObject', buyEquipmentSet] = ""; +$ObjectiveTable['BombObject', offense] = "false"; +$ObjectiveTable['BombObject', defense] = "false"; +$ObjectiveTable['BombObject', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['BombObject', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['DeployTurret', type] = "AIODeployEquipment"; +$ObjectiveTable['DeployTurret', weightLevel1] = 2500; +$ObjectiveTable['DeployTurret', weightLevel2] = 1000; +$ObjectiveTable['DeployTurret', weightLevel3] = 500; +$ObjectiveTable['DeployTurret', weightLevel4] = 100; +$ObjectiveTable['DeployTurret', equipment] = "TurretOutdoorDeployable"; +$ObjectiveTable['DeployTurret', desiredEquipment] = "TurretOutdoorDeployable"; +$ObjectiveTable['DeployTurret', buyEquipmentSet] = "MediumOutdoorTurretSet"; +$ObjectiveTable['DeployTurret', offense] = "false"; +$ObjectiveTable['DeployTurret', defense] = "true"; +$ObjectiveTable['DeployTurret', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['DeployTurret', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['DeployEquipment', type] = "AIODeployEquipment"; +$ObjectiveTable['DeployEquipment', weightLevel1] = 2500; +$ObjectiveTable['DeployEquipment', weightLevel2] = 1000; +$ObjectiveTable['DeployEquipment', weightLevel3] = 500; +$ObjectiveTable['DeployEquipment', weightLevel4] = 100; +$ObjectiveTable['DeployEquipment', equipment] = "InventoryDeployable"; +$ObjectiveTable['DeployEquipment', desiredEquipment] = "InventoryDeployable"; +$ObjectiveTable['DeployEquipment', buyEquipmentSet] = "MediumInventorySet"; +$ObjectiveTable['DeployEquipment', offense] = "false"; +$ObjectiveTable['DeployEquipment', defense] = "true"; +$ObjectiveTable['DeployEquipment', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['DeployEquipment', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['BombLocation', type] = "AIOBombLocation"; +$ObjectiveTable['BombLocation', weightLevel1] = 2500; +$ObjectiveTable['BombLocation', weightLevel2] = 2500; +$ObjectiveTable['BombLocation', weightLevel3] = 2500; +$ObjectiveTable['BombLocation', weightLevel4] = 2500; +$ObjectiveTable['BombLocation', equipment] = ""; +$ObjectiveTable['BombLocation', desiredEquipment] = ""; +$ObjectiveTable['BombLocation', buyEquipmentSet] = ""; +$ObjectiveTable['BombLocation', offense] = "false"; +$ObjectiveTable['BombLocation', defense] = "false"; +$ObjectiveTable['BombLocation', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['BombLocation', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['TakeFlag', type] = "AIOEscortPlayer"; +$ObjectiveTable['TakeFlag', weightLevel1] = 2500; +$ObjectiveTable['TakeFlag', weightLevel2] = 1000; +$ObjectiveTable['TakeFlag', weightLevel3] = 500; +$ObjectiveTable['TakeFlag', weightLevel4] = 100; +$ObjectiveTable['TakeFlag', equipment] = ""; +$ObjectiveTable['TakeFlag', desiredEquipment] = "EnergyPack"; +$ObjectiveTable['TakeFlag', buyEquipmentSet] = "LightDefaultSet"; +$ObjectiveTable['TakeFlag', offense] = "true"; +$ObjectiveTable['TakeFlag', defense] = "true"; +$ObjectiveTable['TakeFlag', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['TakeFlag', maxAssigned] = "0"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['GiveFlag', type] = "AIOEscortPlayer"; +$ObjectiveTable['GiveFlag', weightLevel1] = 2500; +$ObjectiveTable['GiveFlag', weightLevel2] = 1000; +$ObjectiveTable['GiveFlag', weightLevel3] = 500; +$ObjectiveTable['GiveFlag', weightLevel4] = 100; +$ObjectiveTable['GiveFlag', equipment] = ""; +$ObjectiveTable['GiveFlag', desiredEquipment] = "EnergyPack"; +$ObjectiveTable['GiveFlag', buyEquipmentSet] = "LightDefaultSet"; +$ObjectiveTable['GiveFlag', offense] = "true"; +$ObjectiveTable['GiveFlag', defense] = "true"; +$ObjectiveTable['GiveFlag', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['GiveFlag', maxAssigned] = "0"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['NeedRide', type] = "AIOEscortPlayer"; +$ObjectiveTable['NeedRide', weightLevel1] = 2500; +$ObjectiveTable['NeedRide', weightLevel2] = 1000; +$ObjectiveTable['NeedRide', weightLevel3] = 500; +$ObjectiveTable['NeedRide', weightLevel4] = 100; +$ObjectiveTable['NeedRide', equipment] = ""; +$ObjectiveTable['NeedRide', desiredEquipment] = "EnergyPack"; +$ObjectiveTable['NeedRide', buyEquipmentSet] = "LightDefaultSet"; +$ObjectiveTable['NeedRide', offense] = "true"; +$ObjectiveTable['NeedRide', defense] = "true"; +$ObjectiveTable['NeedRide', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['NeedRide', maxAssigned] = "0"; // not added if at least this many playrs have ack'd + +$ObjectiveTable['NeedPassenger', type] = "AIOEscortPlayer"; +$ObjectiveTable['NeedPassenger', weightLevel1] = 2500; +$ObjectiveTable['NeedPassenger', weightLevel2] = 1000; +$ObjectiveTable['NeedPassenger', weightLevel3] = 500; +$ObjectiveTable['NeedPassenger', weightLevel4] = 100; +$ObjectiveTable['NeedPassenger', equipment] = ""; +$ObjectiveTable['NeedPassenger', desiredEquipment] = ""; +$ObjectiveTable['NeedPassenger', buyEquipmentSet] = ""; +$ObjectiveTable['NeedPassenger', offense] = "true"; +$ObjectiveTable['NeedPassenger', defense] = "true"; +$ObjectiveTable['NeedPassenger', assignTimeout] = "5000"; // period allowed for humans to ack +$ObjectiveTable['NeedPassenger', maxAssigned] = "2"; // not added if at least this many playrs have ack'd + +//--------------------------------------------------------------------------- +// *** temp ai hooks... are in aiHumanTasks.cs +//--------------------------------------------------------------------------- +//--------------------------------------------------------------------------- +new SimSet("PendingAIObjectives"); +$MAX_OBJECTIVE_ASSIGN_TIMEOUT = 30000; + +//--------------------------------------------------------------------------- +function isAIActive(%team) +{ + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %client = ClientGroup.getObject(%i); + if(%client.isAIControlled() && (%client.getSensorGroup() == %team)) + return(true); + } + return(false); +} + +function humanTeammatesExist(%client) +{ + %team = %client.getSensorGroup(); + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if(%cl != %client && !%cl.isAIControlled() && (%cl.getSensorGroup() == %team)) + return(true); + } + return(false); +} + +function AIObjective::assignObjective(%this) +{ + PendingAIObjectives.remove(%this); + %this.issuedByClientId.currentAIObjective = -1; + aiAddHumanObjective(%this.issuedByClientId, %this, -1, false); +} + +//--------------------------------------------------------------------------- +function serverCmdBuildClientTask(%client, %task, %team) +{ + %description = $TaskDescription[getWord(%task, 0)]; + if(%description $= "") + { + %client.currentTaskDescription = ""; + return; + } + + // build an ai objective from this task + %client.currentAIObjective = -1; + if(isAIActive(%client.getSensorGroup())) + { + %objective = buildAIObjective(%client, %task); + if(%objective > 0) + { + if((%objective.assignTimeout) < 0 || (%objective.assignTimeout > $MAX_OBJECTIVE_ASSIGN_TIMEOUT)) + %objective.assignTimeout = $MAX_OBJECTIVE_ASSIGN_TIMEOUT; + + //add the acknowledge description on to the objective + %targetId = %client.getTargetId(); + if(%targetId < 0) + %targetName = ""; + else + { + %targetName = getTargetGameName(%targetId); + if(%targetName $= "") + return; + } + %objective.ackDescription = buildTaggedString(%description, %targetName); + + //override the assignTimeout if there are no human teammates + if (!humanTeammatesExist(%client)) + %objective.assignTimeout = 1; + + //only send the command to the AI if maxAssigned is > 0 + if (%objective.maxAssigned > 0) + { + PendingAIObjectives.add(%objective); + %client.currentAIObjective = %objective; + %objective.assignThread = %objective.schedule(%objective.assignTimeout, assignObjective); + } + } + } + + %client.currentTaskIsTeam = %team; + %client.currentTaskDescription = %description; +} + +function serverCmdSendTaskToClientTarget(%client, %clientTargetID) +{ + %targetClient = $TargetToClient[%clientTargetID]; + serverCmdSendTaskToClient(%client, %targetClient, true); +} + +function serverCmdSendTaskToClient(%client, %targetClient, %fromCmdMap) +{ + if(!isObject(%targetClient)) + return; + + if(%client.getSensorGroup() != %targetClient.getSensorGroup()) + return; + + if(%client.currentTaskDescription $= "") + return; + + if(%client.currentTaskIsTeam) + return; + + if(%targetClient.isAIControlled()) + { + if(%client.currentAIObjective != -1) + { + %objective = aiAddHumanObjective(%client, %client.currentAIObjective, %targetClient, %fromCmdMap); + + if(%objective == %client.currentAIObjective) + { + PendingAIObjectives.remove(%client.currentAIObjective); + cancel(%client.currentAIObjective.assignThread); + } + + if(%objective > 0) + %client.currentAIObjective = -1; + } + } + else + { + %targetId = %client.getTargetId(); + if(%targetId < 0) + %targetName = ""; + else + { + %targetName = getTargetGameName(%targetId); + if(%targetName $= "") + return; + } + + commandToClient(%targetClient, 'TaskInfo', %client, -1, false, %client.currentTaskDescription, %targetName); + commandToClient(%targetClient, 'PotentialTask', %client.name, %client.currentTaskDescription, %targetName); + %client.sendTargetTo(%targetClient, false); + } +} + +//--------------------------------------------------------------------------- +function serverCmdSendTaskToTeam(%client) +{ + if(%client.currentTaskDescription $= "") + return; + + if(!%client.currentTaskIsTeam) + return; + + %targetId = %client.getTargetId(); + + if(%targetId < 0) + %targetName = ""; + else + { + %targetName = getTargetGameName(%targetId); + if(%targetName $= "") + return; + } + + %count = ClientGroup.getCount(); + for(%i = 0; %i < %count; %i++) + { + %recipient = ClientGroup.getObject(%i); + if(%recipient.getSensorGroup() == %client.getSensorGroup()) + { + if(!%recipient.isAIControlled()) + { + commandToClient(%recipient, 'TaskInfo', %client, %client.currentAIObjective, true, %client.currentTaskDescription, %targetName); + commandToClient(%recipient, 'PotentialTeamTask', %client.currentTaskDescription, %targetName); + + %client.sendTargetTo(%recipient, false); + } + } + } +} + +//--------------------------------------------------------------------------- +function serverCmdAcceptTask(%client, %issueClient, %AIObjective, %description) +{ + if(%client.getSensorGroup() != %issueClient.getSensorGroup()) + return; + + if(%description $= "") + return; + + // handle an aiobjective: + if(%AIObjective != -1) + { + %count = PendingAIObjectives.getCount(); + for(%i = 0; %i < %count; %i++) + { + %obj = PendingAIObjectives.getObject(%i); + if((%obj == %AIObjective) && (%obj.sensorGroup == %client.getSensorGroup)) + { + // inc the ack count and remove if past max + %obj.ackCount++; + if(%obj.ackCount >= %obj.maxAssigned) + { + if(%issueClient.currentAIObjective == %obj) + %issueClient.currentAIObjective = -1; + %obj.delete(); + } + } + } + } + + commandToClient(%issueClient, 'TaskAccepted', %client.name, %description); + commandToClient(%client, 'TaskInfo', %issueClient, -1, %issueClient.name, %description); + commandToClient(%client, 'AcceptedTask', %description); + %client.sendTargetTo(%client, true); + + //audio feedback - if the client is not the issuer... + if (%client != %issueClient) + { + %wavFile = "~wvoice/" @ %client.voice @ "/cmd.acknowledge.wav"; + MessageClient(%issueClient, 'MsgTaskCompleted', addTaggedString(%wavFile)); + } +} + +function serverCmdDeclineTask(%client, %issueClient, %description, %teamCmd) +{ + if(%client.getSensorGroup() != %issueClient.getSensorGroup()) + return; + + if(%description $= "") + return; + + //no need to be spammed by the entire team declining your team command + if (%teamCmd) + return; + + commandToClient(%issueClient, 'TaskDeclined', %client.name, %description); + + //audio feedback + %wavFile = "~wvoice/" @ %client.voice @ "/cmd.decline.wav"; + MessageClient(%issueClient, 'MsgTaskCompleted', addTaggedString(%wavFile)); +} + +function serverCmdCompletedTask(%client, %issueClient, %description) +{ + if(%client.getSensorGroup() != %issueClient.getSensorGroup()) + return; + + if(%description $= "") + return; + + commandToClient(%issueClient, 'TaskCompleted', %client.name, %description); + + //audio feedback + %wavFile = "~wvoice/" @ %client.voice @ "/cmd.completed.wav"; + MessageClient(%issueClient, 'MsgTaskCompleted', addTaggedString(%wavFile)); +} + +//--------------------------------------------------------------------------- +function buildAIObjective(%client, %command) +{ + %targetId = %client.getTargetId(); + %targetPos = %client.getTargetPos(); + + %targetObj = -1; + if(%targetId != -1) + %targetObj = getTargetObject(%targetId); + + // create a new objective + %tableIndex = getWord(%command, 0); + %objective = new AIObjective($ObjectiveTable[%tableIndex, type]) + { + dataBlock = "AIObjectiveMarker"; + weightLevel1 = $ObjectiveTable[%tableIndex, weightLevel1]; + weightLevel2 = $ObjectiveTable[%tableIndex, weightLevel2]; + weightLevel3 = $ObjectiveTable[%tableIndex, weightLevel3]; + weightLevel4 = $ObjectiveTable[%tableIndex, weightLevel4]; + equipment = $ObjectiveTable[%tableIndex, equipment]; + desiredEquipment = $ObjectiveTable[%tableIndex, desiredEquipment]; + buyEquipmentSet = $ObjectiveTable[%tableIndex, buyEquipmentSet]; + offense = $ObjectiveTable[%tableIndex, offense]; + defense = $ObjectiveTable[%tableIndex, defense]; + issuedByHuman = true; + issuedByClientId = %client; + targetObjectId = %targetObj; + targetClientId = %targetObj.client; + location = %targetPos; + position = %targetPos; + }; + + %objective.assignTimeout = $ObjectiveTable[%tableIndex, assignTimeout]; + %objective.maxAssigned = $ObjectiveTable[%tableIndex, maxAssigned]; + %objective.ackCount = 0; + %objective.sensorGroup = %client.getSensorGroup(); + + MissionCleanup.add(%objective); + return(%objective); +} + +//----------------------------------------------------------------------------- +//VOICE command hooks here... +function findClientInView(%client, %maxDist) +{ + //make sure the player is alive + if (!AIClientIsAlive(%client)) + return -1; + + //get various info about the player's eye + %srcEyeTransform = %client.player.getEyeTransform(); + %srcEyePoint = firstWord(%srcEyeTransform) @ " " @ getWord(%srcEyeTransform, 1) @ " " @ getWord(%srcEyeTransform, 2); + %srcEyeVector = VectorNormalize(%client.player.getEyeVector()); + + //see if there's an enemy near our defense location... + %clientCount = 0; + %count = ClientGroup.getCount(); + %viewedClient = -1; + %clientDot = -1; + for(%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + + //make sure we find an AI who's alive and not the client + if (%cl != %client && isObject(%cl.player) && %cl.team == %client.team) + { + //make sure the player is within range + %clPos = %cl.player.getWorldBoxCenter(); + %distance = VectorDist(%clPos, %srcEyePoint); + if (%distance <= %maxDist) + { + //create the vector from the client to the client + %clVector = VectorNormalize(VectorSub(%clPos, %srcEyePoint)); + + //see if the dot product is greater than our current, and greater than 0.6 + %dot = VectorDot(%clVector, %srcEyeVector); + + if (%dot > 0.6 && %dot > %clientDot) + { + //make sure we're not looking through walls... + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticShapeObjectType; + %losResult = containerRayCast(%srcEyePoint, %clPos, %mask); + %losObject = GetWord(%losResult, 0); + if (!isObject(%losObject)) + { + %viewedClient = %cl; + %clientDot = %dot; + } + } + } + } + } + + return %viewedClient; +} + +function findTargetInView(%client, %maxDist) +{ + if (!AIClientIsAlive(%client)) + return -1; + + // look from player's eye position for objects + %mask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticShapeObjectType | $TypeMasks::GameBaseObjectType; + %eyeVec = %client.player.getEyeVector(); + %eyeTrans = %client.player.getEyeTransform(); + %eyePos = posFromTransform(%eyeTrans); + %nEyeVec = VectorNormalize(%eyeVec); + %scEyeVec = VectorScale(%nEyeVec, %maxDist); + %eyeStart = VectorAdd(%eyePos, VectorScale(%nEyeVec, 1)); + %eyeEnd = VectorAdd(%eyePos, %scEyeVec); + %losResult = containerRayCast(%eyeStart, %eyeEnd, %mask); + %losObject = GetWord(%losResult, 0); + if (!isObject(%losObject) || !(%losObject.getType() & $TypeMasks::GameBaseObjectType) || %losObject.getTarget() == -1) + return -1; + else + return %losObject; +} + +//----------------------------------------------------------------------------------------------------- +//It would be nice to create server tasks for these voice commands + +// installChatItem( 'ChatCmdDefendCarrier', "Cover our flag carrier!", "def.carrier", true ); +// installChatItem( 'ChatCmdAttackFlag', "Get the enemy flag!", "att.flag", true ); +// installChatItem( 'ChatCmdAttackGenerator', "Destroy the enemy generator!", "att.generator", true ); +// installChatItem( 'ChatCmdAttackVehicle', "Destroy the enemy vehicle!", "att.vehicle", true ); +// +// installChatItem( 'ChatCmdDefendCarrier', "Cover our flag carrier!", "def.carrier", true ); +// installChatItem( 'ChatCmdDefendFlag', "Defend our flag!", "def.flag", true ); +// installChatItem( 'ChatCmdDefendGenerator', "Protect the generator!", "def.generator", true ); +// installChatItem( 'ChatCmdDefendSensors', "Defend our sensors!", "def.sensors", true ); +// installChatItem( 'ChatCmdDefendTurrets', "Defend our turrets!", "def.turrets", true ); +// installChatItem( 'ChatCmdDefendVehicle', "Defend our vehicle!", "def.vehicle", true ); +// installChatItem( 'ChatCmdDefendNexus', "Defend the nexus!", "def.nexus", true ); +// +// installChatItem( 'ChatCmdGiveMeFlag', "Give me the flag!", "flg.give", true ); +// installChatItem( 'ChatCmdReturnFlag', "Retrieve our flag!", "flg.retrieve", true ); +// installChatItem( 'ChatCmdTakeFlag', "Take the flag from me!", "flg.take", true ); +// installChatItem( 'ChatCmdHunterGiveFlags', "Give your flags to me!", "flg.huntergive", true ); +// installChatItem( 'ChatCmdHunterTakeFlags', "Take my flags!", "flg.huntertake", true ); +//----------------------------------------------------------------------------------------------------- + +$LookAtClientDistance = 35; +$LookAtObjectDistance = 400; +function CreateVoiceServerTask(%client, %cmdCode) +{ + //switch on the different voice binds we can create a task for: + %losObj = findTargetInView(%client, $LookAtObjectDistance); + %targetClient = findClientInView(%client, $LookAtClientDistance); + %cmdSent = false; + switch$ (%cmdCode) + { + //these have an object as the target of the command + case 'ChatRepairBase': + if (isObject(%losObj) && %losObj.getDamagePercent() > 0 && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'RepairObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + + case 'ChatRepairGenerator': + if (isObject(%losObj) && %losObj.getDamagePercent() > 0 && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a generator + if (%losObj.getDataBlock().getName() $= "GeneratorLarge" || %losObj.getDataBlock().getName() $= "SolarPanel") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'RepairObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatRepairSensors': + if (isObject(%losObj) && %losObj.getDamagePercent() > 0 && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a sensor + if (%losObj.getDataBlock().getName() $= "SensorLargePulse" || %losObj.getDataBlock().getName() $= "SensorMediumPulse") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'RepairObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatRepairTurrets': + if (isObject(%losObj) && %losObj.getDamagePercent() > 0 && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a turret + if (%losObj.getDataBlock().getName() $= "TurretBaseLarge" || %losObj.getDataBlock().getName() $= "TurretDeployedFloorIndoor" || + %losObj.getDataBlock().getName() $= "TurretDeployedWallIndoor" || %losObj.getDataBlock().getName() $= "TurretDeployedCeilingIndoor" || + %losObj.getDataBlock().getName() $= "TurretDeployedOutdoor" || %losObj.getDataBlock().getName() $= "SentryTurret") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'RepairObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatRepairVehicle': + if (isObject(%losObj) && %losObj.getDamagePercent() > 0 && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a vehicle station + if (%losObj.getDataBlock().getName() $= "StationVehicle") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'RepairObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdTargetBase' or 'ChatTargetNeed': + if (isObject(%losObj) && %losObj.getDamagePercent() < 1 && !isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'LazeObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + + case 'ChatCmdTargetTurret': + if (isObject(%losObj) && %losObj.getDamagePercent() < 1 && !isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a turret + if (%losObj.getDataBlock().getName() $= "TurretBaseLarge" || %losObj.getDataBlock().getName() $= "TurretDeployedFloorIndoor" || + %losObj.getDataBlock().getName() $= "TurretDeployedWallIndoor" || %losObj.getDataBlock().getName() $= "TurretDeployedCeilingIndoor" || + %losObj.getDataBlock().getName() $= "TurretDeployedOutdoor" || %losObj.getDataBlock().getName() $= "SentryTurret") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'LazeObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdTargetSensors': + if (isObject(%losObj) && %losObj.getDamagePercent() < 1 && !isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a sensor + if (%losObj.getDataBlock().getName() $= "SensorLargePulse" || %losObj.getDataBlock().getName() $= "SensorMediumPulse") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'LazeObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatTargetFire': + if (isObject(%losObj) && %losObj.getDamagePercent() < 1 && !isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'mortarObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + + case 'ChatCmdAttackSensors': + if (isObject(%losObj) && %losObj.getDamagePercent() < 1 && !isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a sensor + if (%losObj.getDataBlock().getName() $= "SensorLargePulse" || %losObj.getDataBlock().getName() $= "SensorMediumPulse") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'mortarObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdAttackTurrets': + if (isObject(%losObj) && %losObj.getDamagePercent() < 1 && !isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a turret + if (%losObj.getDataBlock().getName() $= "TurretBaseLarge") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'mortarObject', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdDefendBase': + if (isObject(%losObj) && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'DefendLocation', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + + case 'ChatCmdDefendGenerator': + if (isObject(%losObj) && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a generator + if (%losObj.getDataBlock().getName() $= "GeneratorLarge" || %losObj.getDataBlock().getName() $= "SolarPanel") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'DefendLocation', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdDefendSensors': + if (isObject(%losObj) && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a sensor + if (%losObj.getDataBlock().getName() $= "SensorLargePulse" || %losObj.getDataBlock().getName() $= "SensorMediumPulse") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'DefendLocation', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdDefendTurrets': + if (isObject(%losObj) && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a turret + if (%losObj.getDataBlock().getName() $= "TurretBaseLarge" || %losObj.getDataBlock().getName() $= "TurretDeployedFloorIndoor" || + %losObj.getDataBlock().getName() $= "TurretDeployedWallIndoor" || %losObj.getDataBlock().getName() $= "TurretDeployedCeilingIndoor" || + %losObj.getDataBlock().getName() $= "TurretDeployedOutdoor" || %losObj.getDataBlock().getName() $= "SentryTurret") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'DefendLocation', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + case 'ChatCmdDefendVehicle': + if (isObject(%losObj) && isTargetFriendly(%losObj.getTarget(), %client.getSensorGroup())) + { + //make sure the target actually is a vehicle station + if (%losObj.getDataBlock().getName() $= "StationVehicle") + { + %client.setTargetId(%losObj.getTarget()); + %client.setTargetPos(%losObj.position); + serverCmdBuildClientTask(%client, 'DefendLocation', true); + serverCmdSendTaskToTeam(%client); + %cmdSent = true; + } + } + + //this one is special, it will create a task for the issuer instead of the person you're looking at... + case 'ChatTaskCover': + %cmdSent = true; + if (AIClientIsAlive(%targetClient) && %targetClient.team == %client.team) + { + %client.setTargetId(%targetClient.player.getTarget()); + %client.setTargetPos(%targetClient.player.position); + + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'EscortPlayer', false); + serverCmdSendTaskToClient(%client, %client, false); + serverCmdAcceptTask(%client, %client, -1, "Escort player" SPC getTaggedString(%targetClient.name)); + } + + //These all have the speaker as the target of the command + case 'ChatCmdDefendMe' or 'ChatHelp' or 'ChatNeedCover': + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + %cmdSent = true; + if (AIClientIsAlive(%targetClient)) + { + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'EscortPlayer', false); + serverCmdSendTaskToClient(%client, %targetClient, false); + } + else + { + serverCmdBuildClientTask(%client, 'EscortPlayer', true); + serverCmdSendTaskToTeam(%client); + } + + case 'ChatRepairMe': + if (%client.player.getDamagePercent() > 0) + { + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + %cmdSent = true; + if (AIClientIsAlive(%targetClient)) + { + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'RepairPlayer', false); + serverCmdSendTaskToClient(%client, %targetClient, false); + } + else + { + serverCmdBuildClientTask(%client, 'RepairPlayer', true); + serverCmdSendTaskToTeam(%client); + } + } + + case 'ChatFlagGotIt': + //send this only to the AI we're controlling... + %cmdSent = true; + if (aiHumanHasControl(%client, %client.controlAI)) + { + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + serverCmdBuildClientTask(%client, 'EscortPlayer', false); + serverCmdSendTaskToClient(%client, %client.controlAI, false); + } + + case 'ChatCmdTakeFlag' or 'ChatCmdHunterTakeFlags': + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + %cmdSent = true; + if (AIClientIsAlive(%targetClient)) + { + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'TakeFlag', false); + serverCmdSendTaskToClient(%client, %targetClient, false); + } + else + { + serverCmdBuildClientTask(%client, 'TakeFlag', true); + serverCmdSendTaskToTeam(%client); + } + + case 'ChatCmdGiveMeFlag' or 'ChatCmdHunterGiveFlags': + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + %cmdSent = true; + if (AIClientIsAlive(%targetClient)) + { + if (!%targetClient.isAIControlled()) + { + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'GiveFlag', false); + serverCmdSendTaskToClient(%client, %targetClient, false); + } + else + { + //send the response to the ai... + AIRespondToEvent(%client, %cmdCode, %targetClient); + } + } + else + { + serverCmdBuildClientTask(%client, 'GiveFlag', true); + serverCmdSendTaskToTeam(%client); + } + + case 'ChatNeedDriver' or 'ChatNeedPilot' or 'ChatNeedRide' or 'ChatNeedHold': + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + %cmdSent = true; + if (AIClientIsAlive(%targetClient) && !%targetClient.isAIControlled()) + { + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'NeedRide', false); + serverCmdSendTaskToClient(%client, %targetClient, false); + } + else + { + serverCmdBuildClientTask(%client, 'NeedRide', true); + serverCmdSendTaskToTeam(%client); + } + + //vehicle passengers - these commands are for either air or ground + case 'ChatNeedEscort' or 'ChatNeedPassengers' or 'ChatNeedBombardier' or 'ChatNeedSupport' or 'ChatNeedTailgunner': + %client.setTargetId(%client.player.getTarget()); + %client.setTargetPos(%client.player.position); + %cmdSent = true; + //find out if the client is in a ground vehicle or not... + if (AIClientIsAlive(%targetClient) && !%targetClient.isAIControlled()) + { + //build and send the command to the target player + serverCmdBuildClientTask(%client, 'NeedPassenger', false); + serverCmdSendTaskToClient(%client, %targetClient, false); + } + else + { + serverCmdBuildClientTask(%client, 'NeedPassenger', true); + serverCmdSendTaskToTeam(%client); + } + + default: + %cmdSent = true; + if (AIClientIsAlive(%targetClient) && %targetClient.isAIControlled()) + { + //the bot should detect the client + %targetClient.clientDetected(%client); + + //only respond if the client is on the same team + AIRespondToEvent(%client, %cmdCode, %targetClient); + } + } + + //handle any rejected commands by the bots + if (!%cmdSent && isObject(%targetClient) && %targetClient.isAIControlled()) + { + schedule(250, %client.player, "AIPlayAnimSound", %targetClient, %client.player.getWorldBoxCenter(), "cmd.decline", -1, -1, 0); + schedule(2000, %client.player, "AIRespondToEvent", %client, 'ChatCmdWhat', %targetClient); + } +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/simGroup.cs b/public/base/@vl2/scripts.vl2/scripts/simGroup.cs new file mode 100644 index 00000000..1bed506f --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/simGroup.cs @@ -0,0 +1,21 @@ +//-------------------------------------------------------------------------- +// +// +// +//-------------------------------------------------------------------------- + +function SimGroup::onTrigger(%this, %triggerId, %on) +{ + // Just relay the trigger event to all sub objects... + // + for (%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).onTrigger(%triggerId, %on); +} + +function SimGroup::onTriggerTick(%this, %triggerId) +{ + // Just relay the trigger event to all sub objects... + // + for (%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).onTriggerTick(%triggerId); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/spdialog.cs b/public/base/@vl2/scripts.vl2/scripts/spdialog.cs new file mode 100644 index 00000000..09b87ac7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/spdialog.cs @@ -0,0 +1,656 @@ +function createText(%who) +{ + // The name all enemies have in the training missions + $EnemyName = "Enemy"; + //Mission Specific wavs, lines and evals + //============================================================================= + //Here are all the voice files for the missions + // the wav variables are the file names for that line + // text elements are text that appears on the screen + // and the evals are functions that get called + + // ANY/Misc + %who.text[ANY_healthKit, wav] ="voice/Training/Any/ANY.healthkit.wav"; + %who.text[ANY_healthKit, text] ="Press " @ findTrainingControlButtons(useRepairKit) @ " to use your health kit."; + %who.text[ANY_objComplete01, wav] ="voice/Training/Any/ANY.obj_complete_01.wav"; + %who.text[ANY_objComplete02, wav] ="voice/Training/Any/ANY.obj_complete_02.wav"; + %who.text[ANY_tipNow01, wav] ="voice/Training/Any/ANY.tip_now01.wav"; + %who.text[ANY_tipNow02, wav] ="voice/Training/Any/ANY.tip_now02.wav"; + %who.text[ANY_hunting, wav] ="voice/Training/Any/ANY.hunting.wav"; + %who.text[ANY_kudo01, wav] ="voice/Training/Any/ANY.kudo01.wav"; + %who.text[ANY_kudo02, wav] ="voice/Training/Any/ANY.kudo02.wav"; + %who.text[ANY_kudo03, wav] ="voice/Training/Any/ANY.kudo03.wav"; + %who.text[ANY_kudo04, wav] ="voice/Training/Any/ANY.kudo04.wav"; + %who.text[ANY_waypoint01, wav] ="voice/Training/Any/ANY.waypoint01.wav"; + %who.text[ANY_waypoint02, wav] ="voice/Training/Any/ANY.waypoint02.wav"; + %who.text[ANY_waypoint02, wav] ="voice/Training/Any/ANY.waypoint02.wav"; + %who.text[ANY_waypoint03, wav] ="voice/Training/Any/ANY.waypoint03.wav"; + %who.text[ANY_prompt01, wav] ="voice/Training/Any/ANY.prompt01.wav"; + %who.text[ANY_prompt02, wav] ="voice/Training/Any/ANY.prompt02.wav"; + %who.text[ANY_prompt03, wav] ="=voice/Training/Any/ANY.prompt03.wav"; + %who.text[ANY_prompt04, wav] ="voice/Training/Any/ANY.prompt04.wav"; + %who.text[ANY_prompt05, wav] ="voice/Training/Any/ANY.prompt05.wav"; + %who.text[ANY_prompt06, wav] ="voice/Training/Any/ANY.prompt06.wav"; + %who.text[ANY_prompt07, wav] ="voice/Training/Any/ANY.prompt07.wav"; + %who.text[ANY_warning01, wav] ="voice/Training/Any/ANY.warning01.wav"; + %who.text[ANY_warning02, wav] ="voice/Training/Any/ANY.warning02.wav"; + %who.text[ANY_warning03, wav] ="voice/Training/Any/ANY.warning03.wav"; + %who.text[ANY_warning03, eval] ="singlePlayerPlayGuiCheck();"; + %who.text[ANY_warning04, wav] ="voice/Training/Any/ANY.warning04.wav"; + %who.text[ANY_warning05, wav] ="voice/Training/Any/ANY.warning05.wav"; + %who.text[ANY_warning06, wav] ="voice/Training/Any/ANY.warning06.wav"; + %who.text[ANY_alright, wav] ="voice/Training/Any/ANY.alright.wav"; + %who.text[ANY_blowoff01, wav] ="voice/Training/Any/ANY.blowoff01.wav"; + %who.text[ANY_blowoff02, wav] ="voice/Training/Any/ANY.blowoff02.wav"; + %who.text[ANY_blowoff03, wav] ="voice/Training/Any/ANY.blowoff03.wav"; + %who.text[ANY_blowoff04, wav] ="voice/Training/Any/ANY.blowoff04.wav"; + %who.text[ANY_careful, wav] ="voice/Training/Any/ANY.careful.wav"; + %who.text[ANY_good, wav] ="voice/Training/Any/ANY.good.wav"; + %who.text[ANY_jingo01, wav] ="voice/Training/Any/ANY.jingo01.wav"; + %who.text[ANY_jingo02, wav] ="voice/Training/Any/ANY.jingo02.wav"; + %who.text[ANY_jingo03, wav] ="voice/Training/Any/ANY.jingo03.wav"; + %who.text[ANY_check01, wav] ="voice/Training/Any/ANY.check01.wav"; + %who.text[ANY_check02, wav] ="voice/Training/Any/ANY.check02.wav"; + %who.text[ANY_abortwarn, wav] ="voice/Training/Any/ANY.abortwarn.wav"; + %who.text[ANY_abortsoon, wav] ="voice/Training/Any/ANY.abortsoon.wav"; + %who.text[ANY_abort, wav] ="voice/Training/Any/ANY.abort.wav"; + %who.text[ANY_abort, eval] ="schedule(3000, 0, disconnect);"; + %who.text[ANY_tipskiing, wav] ="voice/Training/Any/ANY.tip.skiing.wav"; + %who.text[ANY_tipskiing, text] ="Hold down the Jump button ("@findTrainingControlButtons(jump)@") to ski."; + %who.text[ANY_tipscavenge01, wav] ="voice/Training/Any/ANY.tip.scavenge01.wav"; + %who.text[ANY_tipscavenge02, wav] ="voice/Training/Any/ANY.tip.scavenge02.wav"; + %who.text[ANY_move, wav] ="voice/Training/Any/ANY.move.wav"; + %who.text[ANY_practiceSki, wav] ="voice/Training/Any/ANY.practice.ski.wav"; + %who.text[ANY_practiceJet, wav] ="voice/Training/Any/ANY.practice.jet.wav"; + %who.text[ANY_offCourse, wav] ="voice/Training/Any/ANY.offCourse.wav"; + + // Mission 1 + %who.text[T1_01, wav] ="voice/Training/Mission1/T1_01.wav"; + %who.text[T1_01a, wav] ="voice/Training/Mission1/T1_01a.wav"; + %who.text[T1_01b, wav] ="voice/Training/Mission1/T1_01b.wav"; + %who.text[T1_01c, wav] ="voice/Training/Mission1/T1_01c.wav"; + %who.text[T1_02, wav] ="voice/Training/Mission1/T1_02.wav"; + %who.text[T1_02a, wav] ="voice/Training/Mission1/T1_02a.wav"; + %who.text[T1_03, wav] ="voice/Training/Mission1/T1_03.wav"; + //%who.text[T1_03, text] ="Press "@findTrainingControlButtons(toggleHelpGui)@" to toggle HUD help."; + //%who.text[T1_03, eval] ="toggleHelpText();"; + %who.text[T1_03a, wav] ="voice/Training/Mission1/T1_03a.wav"; + %who.text[T1_03a, eval] = "lockArmorHack();autoToggleHelpHud(true);"; + //%who.text[T1_download01, eval] = "serverPlay2d(DownloadingSound);"; + %who.text[T1_download01, text] = "Armor data transfer initiated."; + %who.text[T1_03b, wav] ="voice/Training/Mission1/T1_03b.wav"; + %who.text[T1_03b, text] ="Use "@findTrainingControlButtons(pageMessageHudUp)@" and "@findTrainingControlButtons(pageMessageHudDown)@" to scroll through the message window."; + %who.text[T1_03b, eval] ="flashMessage();"; + %who.text[T1_03c, wav] ="voice/Training/Mission1/T1_03c.wav"; + %who.text[T1_03c, eval] ="flashObjective();"; + %who.text[T1_03c02, wav] ="voice/Training/Mission1/T1_03c-02.wav"; + %who.text[T1_04, wav] ="voice/Training/Mission1/T1_04.wav"; + %who.text[T1_04, eval] ="flashCompass();"; + %who.text[T1_05, wav] ="voice/Training/Mission1/T1_05.wav"; + %who.text[T1_05, eval] ="flashHealth();"; + %who.text[T1_06, wav] ="voice/Training/Mission1/T1_06.wav"; + %who.text[T1_06, eval] ="flashEnergy();"; + %who.text[T1_tipenergy, wav] ="voice/Training/Mission1/T1.tip.energy.wav"; + %who.text[T1_08, wav] ="voice/Training/Mission1/T1_08.wav"; + %who.text[T1_08, eval] ="flashInventory();"; + %who.text[T1_09, wav] ="voice/Training/Mission1/T1_09.wav"; + %who.text[T1_09, eval] ="flashSensor();"; + %who.text[T1_10, wav] ="voice/Training/Mission1/T1_10.wav"; + %who.text[T1_10, text] ="Press "@findTrainingControlButtons(toggleHelpGui)@" to toggle HUD help."; + %who.text[T1_10, eval] ="autoToggleHelpHud(false);"; + %who.text[T1_10a, wav] ="voice/Training/Mission1/T1_10a.wav"; + %who.text[T1_10a, eval] ="setWaypointAt(\"-287.5 393.1 76.2\", \"Health Patches\");movemap.push();$player.player.setMoveState(false);"; + %who.text[T1_10b, wav] ="voice/Training/Mission1/T1_10b.wav"; + %who.text[T1_10b, text] ="Run over freestanding Health Patches to repair your armor."; + %who.text[T1_10b, eval] = "$player.hurryUp = schedule(40000, 0, hurryPlayerUp); endOpeningSpiel(); updateTrainingObjectiveHud(obj8);"; + %who.text[T1_tipjets01, wav] ="voice/Training/Mission1/T1.tip.jets01.wav"; + %who.text[T1_tipjets01, text] ="Press "@findTrainingControlButtons(Jump)@" to jump. "@findTrainingControlButtons(mouseJet)@" triggers the jets. Jump just before you jet to increase jetting distance."; + %who.text[T1_11, wav] ="voice/Training/Mission1/T1_11.wav"; + %who.text[T1_11, text] ="When necessary, press "@findTrainingControlButtons(useRepairKit)@" to trigger your armor's health kit for partial repairs."; + %who.text[T1_12a, wav] ="voice/Training/Mission1/T1_12a.wav"; + %who.text[T1_12b, wav] ="voice/Training/Mission1/T1_12b.wav"; + %who.text[T1_tipIFF, wav] ="voice/Training/Mission1/T1.tip.IFF.wav"; + %who.text[T1_13, wav] ="voice/Training/Mission1/T1_13.wav"; + %who.text[T1_13, eval] ="updateTrainingObjectiveHud(obj7);"; + %who.text[T1_14, wav] ="voice/Training/Mission1/T1_14.wav"; + %who.text[T1_14, eval] ="flashWeapon(0);"; + %who.text[T1_tipblaster01, wav] ="voice/Training/Mission1/T1.tip.blaster01.wav"; + %who.text[T1_15, wav] ="voice/Training/Mission1/T1_15.wav"; + %who.text[T1_15, eval] ="flashWeapon(2);"; + %who.text[T1_tipchaingun, wav] ="voice/Training/Mission1/T1.tip.chaingun.wav"; + %who.text[T1_16, wav] ="voice/Training/Mission1/T1_16.wav"; + %who.text[T1_16, eval] ="flashWeapon(3); "; + %who.text[T1_tipspinfusor, wav] ="voice/Training/Mission1/T1.tip.spinfusor.wav"; + %who.text[T1_17, wav] ="voice/Training/Mission1/T1_17.wav"; + %who.text[T1_17, eval] = "flashWeaponsHud();"; + %who.text[T1_tipblaster02, wav] ="voice/Training/Mission1/T1.tip.blaster02.wav"; + %who.text[T1_tipblaster02, eval] = "use(Blaster);"; + %who.text[T1_tipjets02, wav] ="voice/Training/Mission1/T1.tip.jets02.wav"; + %who.text[T1_18, wav] ="voice/Training/Mission1/T1_18.wav"; + //%who.text[T1_18, text] ="Press "@findTrainingControlButtons(Jump)@" to jump. "@findTrainingControlButtons(mouseJet)@" triggers the jets. Jump just before you jet to increase jetting distance."; + %who.text[T1_18, eval] = "queEnemySet(0); activatePackage(singlePlayerMissionAreaEnforce);"; + %who.text[T1_18a, wav] ="voice/Training/Mission1/T1_18a.wav"; + %who.text[T1_1802, wav] ="voice/Training/Mission1/T1_18-02.wav"; + %who.text[T1_19, wav] ="voice/Training/Mission1/T1_19.wav"; + %who.text[T1_20, wav] ="voice/Training/Mission1/T1_20.wav"; + %who.text[T1_21, wav] ="voice/Training/Mission1/T1_21.wav"; + %who.text[T1_22, wav] ="voice/Training/Mission1/T1_22.wav"; + %who.text[T1_22, eval] ="setWaypointat(nameToId(Tower).position, \"BE Tower\"); updateTrainingObjectiveHud(obj4);"; + %who.text[T1_22a, wav] ="voice/Training/Mission1/T1_22a.wav"; + %who.text[T1_23, wav] ="voice/Training/Mission1/T1_23.wav"; + %who.text[T1_23a, wav] ="voice/Training/Mission1/T1_23a.wav"; + %who.text[T1_23b, wav] ="voice/Training/Mission1/T1_23b.wav"; + %who.text[T1_24, wav] ="voice/Training/Mission1/T1_24.wav"; + %who.text[T1_24, text] ="Press "@findTrainingControlButtons(throwWeapon)@" to drop your current weapon."; + %who.text[T1_24a, wav] ="voice/Training/Mission1/T1_24a.wav"; + %who.text[T1_tippack01, wav] ="voice/Training/Mission1/T1.tip.pack01.wav"; + %who.text[T1_tippack01, eval] ="flashPack();"; + %who.text[T1_tipsniper01, wav] ="voice/Training/Mission1/T1.tip.sniper01.wav"; + %who.text[T1_tipsniper02, wav] ="voice/Training/Mission1/T1.tip.sniper02.wav"; + %who.text[T1_tipsniper02, text] = "You must have an Energy Pack to fire the laser rifle."; + %who.text[T1_tipsniper03, wav] ="voice/Training/Mission1/T1.tip.sniper03.wav"; + %who.text[T1_tipsniper03, text] ="Hold down "@findTrainingControlButtons(toggleZoom)@" to trigger the zoom feature."; + %who.text[T1_tipsniper04, wav] ="voice/Training/Mission1/T1.tip.sniper04.wav"; + %who.text[T1_25, wav] ="voice/Training/Mission1/T1_25.wav"; + %who.text[T1_25, eval] ="updateTrainingObjectiveHud(obj3);"; + %who.text[T1_25a, wav] ="voice/Training/Mission1/T1_25a.wav"; + %who.text[T1_tiptactics, wav] ="voice/Training/Mission1/T1.tip.tactics.wav"; + %who.text[T1_tippack02, wav] ="voice/Training/Mission1/T1.tip.pack02.wav"; + //%who.text[T1_tippack02, text] ="Press "@findTrainingControlButtons(useBackPack)@" to activate a pack."; + %who.text[T1_tippack03, wav] ="voice/Training/Mission1/T1.tip.pack03.wav"; + %who.text[T1_26, wav] ="voice/Training/Mission1/T1_26.wav"; + %who.text[T1_27, wav] ="voice/Training/Mission1/T1_27.wav"; + %who.text[T1_27, wav] ="voice/Training/Mission1/T1_27.wav"; + %who.text[T1_27a, wav] ="voice/Training/Mission1/T1_27a.wav"; + %who.text[T1_27b, wav] ="voice/Training/Mission1/T1_27b.wav"; + %who.text[T1_28, wav] ="voice/Training/Mission1/T1_28.wav"; + %who.text[T1_28, text] ="Jump into the vehicle to pilot it."; + %who.text[T1_29, wav] ="voice/Training/Mission1/T1_29.wav"; + %who.text[T1_29a, wav] ="voice/Training/Mission1/T1_29a.wav"; + %who.text[T1_29a, text] ="Control vehicles the same way you control your armor. "@findTrainingControlButtons(mouseJet)@" triggers a turbo boost instead of jets."; + %who.text[T1_tipskiing01, wav] ="voice/Training/Mission1/T1.tip.skiing01.wav"; + %who.text[T1_tipskiing01, text] ="Hold down the Jump button ("@findTrainingControlButtons(jump)@") to ski."; + %who.text[T1_tipskiing02, wav] ="voice/Training/Mission1/T1.tip.skiing02.wav"; + %who.text[T1_tipskiing02a, wav] ="voice/Training/Mission1/T1.tip.skiing02a.wav"; + %who.text[T1_tipskiing03, wav] ="voice/Training/Mission1/T1.tip.skiing03.wav"; + %who.text[T1_30, wav] ="voice/Training/Mission1/T1_30.wav"; + + // Misssion 2 + %who.text[T2_01, wav] ="voice/Training/Mission2/T2_01.wav"; + %who.text[T2_01, eval] = "setWaypointAt(\"-8.82616 -131.779 119.756\", \"Control Switch\");"; + %who.text[T2_01a, eval] = "setWaypointAt(nameToId(InitialPulseSensor).position, \"Sensor\");"; + %who.text[T2_01a, wav] ="voice/Training/Mission2/T2_01a.wav"; + %who.text[T2_01b, wav] ="voice/Training/Mission2/T2_01b.wav"; + %who.text[T2_tipplasma, wav] ="voice/Training/Mission2/T2.tip.plasma.wav"; + %who.text[T2_tipmissile, wav] ="voice/Training/Mission2/T2.tip.missile.wav"; + %who.text[T2_tipmissile02, wav] ="voice/Training/Mission2/T2.tip.missile02.wav"; + %who.text[T2_tipmissile03, wav] ="voice/Training/Mission2/T2.tip.missile03.wav"; + %who.text[T2_tipevading, wav] ="voice/Training/Mission2/T2.tip.evading.wav"; + %who.text[T2_tiptlaser, wav] ="voice/Training/Mission2/T2.tip.tlaser.wav"; + %who.text[T2_tipelf, wav] ="voice/Training/Mission2/T2.tip.elf.wav"; + %who.text[T2_02, wav] ="voice/Training/Mission2/T2_02.wav"; + %who.text[T2_02, eval] = "setWaypointAt(\"-8.82616 -131.779 119.756\", \"Tower\");"; + %who.text[T2_03, wav] ="voice/Training/Mission2/T2_03.wav"; + %who.text[T2_03, eval] = "setWaypointAt(\"-8.82616 -131.779 119.756\", \"Tower\");"; + %who.text[T2_04, wav] ="voice/Training/Mission2/T2_04.wav"; + %who.text[T2_04a, wav] ="voice/Training/Mission2/T2_04a.wav"; + %who.text[T2_05, wav] ="voice/Training/Mission2/T2_05.wav"; + %who.text[T2_05a, wav] ="voice/Training/Mission2/T2_05a.wav"; + %who.text[T2_05b, wav] ="voice/Training/Mission2/T2_05b.wav"; + %who.text[T2_05c, wav] ="voice/Training/Mission2/T2_05c.wav"; + %who.text[T2_tiprepair01, wav] ="voice/Training/Mission2/T2.tip.repair01.wav"; + %who.text[T2_tiprepair01, text] ="Press "@findTrainingControlButtons(useBackPack)@" to ready the repair pack. Aim at damaged item and hold down ("@findTrainingControlButtons(mouseFire)@")."; + %who.text[T2_tiprepair02, wav] ="voice/Training/Mission2/T2.tip.repair02.wav"; + %who.text[T2_tiprepair03, wav] ="voice/Training/Mission2/T2.tip.repair03.wav"; + %who.text[T2_tipgens01, wav] ="voice/Training/Mission2/T2.tip.gens01.wav"; + %who.text[T2_tipdropit, wav] ="voice/Training/Mission2/T2.tip.dropit.wav"; + %who.text[T2_tipdropit, text] ="Press "@findTrainingControlButtons(throwPack)@" to drop your pack."; + %who.text[T2_07, wav] ="voice/Training/Mission2/T2_07.wav"; + %who.text[T2_07, eval] ="setWaypointAt(\"380.262 -298.625 98.9719\", \"Tower\");"; + %who.text[T2_tipscanned, wav] ="voice/Training/Mission2/T2.tip.scanned.wav"; + %who.text[T2_08, wav] ="voice/Training/Mission2/T2_08.wav"; + %who.text[T2_tipshieldpack, wav] ="voice/Training/Mission2/T2.tip.shieldpack.wav"; + %who.text[T2_tipshieldpack, text] ="Press "@findTrainingControlButtons(useBackPack)@" to turn the shield pack on or off."; + %who.text[T2_tipshieldpack02, wav] ="voice/Training/Mission2/T2.tip.shieldpack02.wav"; + %who.text[T2_tipturret01, wav] ="voice/Training/Mission2/T2.tip.turret01.wav"; + %who.text[T2_tipturret02, wav] ="voice/Training/Mission2/T2.tip.turret02.wav"; + %who.text[T2_tipturret02, text] ="Press "@findTrainingControlButtons(useTargetingLaser)@" to arm the targeting laser."; + %who.text[T2_cya01, wav] ="voice/Training/Mission2/T2.cya01.wav"; + %who.text[T2_09, wav] ="voice/Training/Mission2/T2_09.wav"; + %who.text[T2_09a, wav] ="voice/Training/Mission2/T2_09a.wav"; + %who.text[T2_09b, wav] ="voice/Training/Mission2/T2_09b.wav"; + %who.text[T2_10, wav] ="voice/Training/Mission2/T2_10.wav"; + %who.text[T2_10a, wav] ="voice/Training/Mission2/T2_10a.wav"; + %who.text[T2_11, wav] ="voice/Training/Mission2/T2_11.wav"; + %who.text[T2_tipinventory, wav] ="voice/Training/Mission2/T2.tip.inventory.wav"; + %who.text[T2_inventory01, wav] ="voice/Training/Mission2/T2.inventory01.wav"; + %who.text[T2_tipinventory01, wav] ="voice/Training/Mission2/T2.tip.inventory01.wav"; + %who.text[T2_tipinventory03, wav] ="voice/Training/Mission2/T2.tip.inventory03.wav"; + %who.text[T2_tipinventory03, text] ="Press "@findTrainingControlButtons(toggleInventoryHud)@" to activate inventory control."; + %who.text[T2_tipdefense01, wav] ="voice/Training/Mission2/T2.tip.defense01.wav"; + %who.text[T2_tipdefense02, wav] ="voice/Training/Mission2/T2.tip.defense02.wav"; + %who.text[T2_tipdefense03, wav] ="voice/Training/Mission2/T2.tip.defense03.wav"; + %who.text[T2_tipdefense03, text] ="Press "@findTrainingControlButtons(placeMine)@" to deploy a mine. The longer you hold the key down before release, the farther the mine goes."; + %who.text[T2_tipdefense05, wav] ="voice/Training/Mission2/T2.tip.defense05.wav"; + %who.text[T2_tipdefense05a, wav] ="voice/Training/Mission2/T2.tip.defense05a.wav"; + %who.text[T2_tipdefense06, wav] ="voice/Training/Mission2/T2.tip.defense06.wav"; + %who.text[T2_tipdefense07, wav] ="voice/Training/Mission2/T2.tip.defense07.wav"; + %who.text[T2_tipdefense08, wav] ="voice/Training/Mission2/T2.tip.defense08.wav"; + %who.text[T2_12, wav] ="voice/Training/Mission2/T2_12.wav"; + %who.text[T2_13, wav] ="voice/Training/Mission2/T2_13.wav"; + %who.text[T2_repairPack, wav] ="voice/Training/Mission2/T2.repairPack.wav"; + + // mission 3 + %who.text[T3_01, wav] ="voice/Training/Mission3/T3_01.wav"; + %who.text[T3_02, wav] ="voice/Training/Mission3/T3_02.wav"; + %who.text[T3_cloaking, wav] ="voice/Training/Mission3/T3.cloaking.wav"; + %who.text[T3_cloaking, text] = findTrainingControlButtons(useBackPack)@" activates and deactivates the cloaking pack."; + %who.text[T3_tipcloaking01, wav] ="voice/Training/Mission3/T3.tip.cloaking01.wav"; + %who.text[T3_tipcloaking02, wav] ="voice/Training/Mission3/T3.tip.cloaking02.wav"; + %who.text[T3_tipequipment01, wav] ="voice/Training/Mission3/T3.tip.equipment01.wav"; + %who.text[T3_tipequipment02, wav] ="voice/Training/Mission3/T3.tip.equipment02.wav"; + %who.text[T3_tippiloting01, wav] ="voice/Training/Mission3/T3.tip.piloting01.wav"; + %who.text[T3_03, wav] ="voice/Training/Mission3/T3_03.wav"; + %who.text[T3_player01, wav] ="voice/Training/Mission3/T3.player01.wav"; + %who.text[T3_tippiloting02, wav] ="voice/Training/Mission3/T3.tip.piloting02.wav"; + %who.text[T3_tippiloting03, wav] ="voice/Training/Mission3/T3.tip.piloting03.wav"; + %who.text[T3_warning01, wav] ="voice/Training/Mission3/T3.warning01.wav"; + %who.text[T3_warning02, wav] ="voice/Training/Mission3/T3.warning02.wav"; + %who.text[T3_warning03, wav] ="voice/Training/Mission3/T3.warning03.wav"; + %who.text[T3_04, wav] ="voice/Training/Mission3/T3_04.wav"; + %who.text[T3_tippiloting04, wav] ="voice/Training/Mission3/T3.tip.piloting04.wav"; + %who.text[T3_05, wav] ="voice/Training/Mission3/T3_05.wav"; + %who.text[T3_tipfreelook, wav] ="voice/Training/Mission3/T3.tip.freelook.wav"; + %who.text[T3_tipfreelook, text] = "Press and hold "@findTrainingControlButtons(toggleFreelook)@" to allow freelook."; + %who.text[T3_tipunderwater01, wav] ="voice/Training/Mission3/T3.tip.underwater01.wav"; + %who.text[T3_tipunderwater02, wav] ="voice/Training/Mission3/T3.tip.underwater02.wav"; + %who.text[T3_06, wav] ="voice/Training/Mission3/T3_06.wav"; + %who.text[T3_07, wav] ="voice/Training/Mission3/T3_07.wav"; + %who.text[T3_07a, wav] ="voice/Training/Mission3/T3_07a.wav"; + %who.text[T3_07b, wav] ="voice/Training/Mission3/T3_07b.wav"; + %who.text[T3_07c, wav] ="voice/Training/Mission3/T3_07c.wav"; + %who.text[T3_tipcloaking03, wav] ="voice/Training/Mission3/T3.tip.cloaking03.wav"; + %who.text[T3_tipshocklance, wav] ="voice/Training/Mission3/T3.tip.shocklance.wav"; + %who.text[T3_08, wav] ="voice/Training/Mission3/T3_08.wav"; + %who.text[T3_08a, wav] ="voice/Training/Mission3/T3_08a.wav"; + %who.text[T3_08b, wav] ="voice/Training/Mission3/T3_08b.wav"; + %who.text[T3_09, wav] ="voice/Training/Mission3/T3_09.wav"; + %who.text[T3_09a, wav] ="voice/Training/Mission3/T3_09a.wav"; + %who.text[T3_player02, wav] ="voice/Training/Mission3/T3.player02.wav"; + %who.text[T3_trainer10, wav] ="voice/Training/Mission3/T3_10.wav"; + %who.text[T3_player03, wav] ="voice/Training/Mission3/T3.player03.wav"; + %who.text[T3_10, wav] ="voice/Training/Mission3/T3_10.wav"; + %who.text[T3_11, wav] ="voice/Training/Mission3/T3_11.wav"; + %who.text[T3_12, wav] ="voice/Training/Mission3/T3_12.wav"; + %who.text[T3_12a, wav] ="voice/Training/Mission3/T3_12a.wav"; + %who.text[T3_13, wav] ="voice/Training/Mission3/T3_13.wav"; + + // Mission 4 + %who.text[T4_01, wav] ="voice/Training/Mission4/T4_01.wav"; + %who.text[T4_01, text] ="Repair the waypointed sensor."; + %who.text[T4_01a, wav] ="voice/Training/Mission4/T4_01a.wav"; + %who.text[T4_01b, wav] ="voice/Training/Mission4/T4_01b.wav"; + %who.text[T4_01c, wav] ="voice/Training/Mission4/T4_01c.wav"; + %who.text[T4_02, wav] ="voice/Training/Mission4/T4_02.wav"; + %who.text[T4_02a, wav] ="voice/Training/Mission4/T4_02a.wav"; + %who.text[T4_02b, wav] ="voice/Training/Mission4/T4_02b.wav"; + %who.text[T4_03, wav] ="voice/Training/Mission4/T4_03.wav"; + %who.text[T4_03, eval] ="firstPersonQuickPan();"; + %who.text[T4_03a, wav] ="voice/Training/Mission4/T4_03a.wav"; + %who.text[T4_03a, text] ="Press "@findTrainingControlButtons(toggleCommanderMap)@" to toggle your Command Circuit."; + %who.text[T4_03a, eval] ="ThreeAEval();"; + %who.text[T4_03b, wav] ="voice/Training/Mission4/T4_03b.wav"; + %who.text[T4_03c, wav] ="voice/Training/Mission4/T4_03c.wav"; + %who.text[T4_03d, wav] ="voice/Training/Mission4/T4_03d.wav"; + %who.text[T4_03e, wav] ="voice/Training/Mission4/T4_03e.wav"; + %who.text[T4_03f, wav] ="voice/Training/Mission4/T4_03f.wav"; + %who.text[T4_03g, wav] ="voice/Training/Mission4/T4_03g.wav"; + %who.text[T4_03h, wav] ="voice/Training/Mission4/T4_03h.wav"; + %who.text[T4_03h, text] ="Click \"Support Assets\" to open list."; + %who.text[T4_03h, eval] ="game.ExpectiongSupportButton = true;"; + %who.text[T4_03i, wav] ="voice/Training/Mission4/T4_03i.wav"; + %who.text[T4_03j, wav] ="voice/Training/Mission4/T4_03j.wav"; + %who.text[T4_03j, text] ="Right click on the sensor tower to activate the Orders menu. Select Repair."; + %who.text[T4_03j, eval] ="game.expectingRepairOrder = true;"; + %who.text[T4_03k, wav] ="voice/Training/Mission4/T4_03k.wav"; + %who.text[T4_03k, text] ="Arrow keys let you scroll around the map."; + %who.text[T4_tipCamera01, wav] ="voice/Training/Mission4/T4.tip.Camera01.wav"; + %who.text[T4_tipCamera01, text] ="Press "@findTrainingControlButtons(throwGrenade)@" to throw a grenade. The longer you press "@findTrainingControlButtons(throwGrenade)@", the farther the grenade goes."; + %who.text[T4_tipCamera02, wav] ="voice/Training/Mission4/T4.tip.Camera02.wav"; + //%who.text[T4_tipCamera02, text] ="Click the control box to the right of a camera name to control that camera."; + %who.text[T4_tipCamera03, wav] ="voice/Training/Mission4/T4.tip.Camera03.wav"; + %who.text[T4_tipCamera04, wav] ="voice/Training/Mission4/T4.tip.Camera04.wav"; + %who.text[T4_controlTurret, wav] ="voice/Training/Mission4/T4_controlTurret.wav"; + %who.text[T4_tipobjects, wav] ="voice/Training/Mission4/T4.tip.objects.wav"; + %who.text[T4_CCend, wav] ="voice/Training/Mission4/T4_CCend.wav"; + %who.text[T4_04, wav] ="voice/Training/Mission4/T4_04.wav"; + %who.text[T4_04, eval] = "$random = getRandom(20,40);schedule($random, 0, doText, T4_TipDefense06);"; + %who.text[T4_tipmortar, wav] ="voice/Training/Mission4/T4.tip.mortar.wav"; + %who.text[T4_tipmortar02, wav] = "voice/Training/Mission4/T4.tip.mortar_02.wav"; + %who.text[T4_tipgenerator01, wav] ="voice/Training/Mission4/T4.tip.generator01.wav"; + %who.text[T4_tipgenerator01a, wav] ="voice/Training/Mission4/T4.tip.generator01a.wav"; + %who.text[T4_tipgenerator01b, wav] ="voice/Training/Mission4/T4.tip.generator01b.wav"; + %who.text[T4_tipgenerator02, wav] ="voice/Training/Mission4/T4.tip.generator02.wav"; + %who.text[T4_ffGenDown01, wav] ="voice/Training/Mission4/T4.ff_genDown01.wav"; + %who.text[T4_ffGenDown02, wav] ="voice/Training/Mission4/T4.ff_genDown02.wav"; + %who.text[T4_fieldsUp01, wav] ="voice/Training/Mission4/T4.fieldsUp01.wav"; + %who.text[T4_fieldsUp02, wav] ="voice/Training/Mission4/T4.fieldsUp02.wav"; + %who.text[T4_forceFields01, wav] ="voice/Training/Mission4/T4.forceFields01.wav"; + %who.text[T4_forceFields02, wav] ="voice/Training/Mission4/T4.forceFields02.wav"; + %who.text[T4_trainer04a, wav] ="voice/Training/Mission4/T4_04a.wav"; + %who.text[T4_trainer04b, wav] ="voice/Training/Mission4/T4_04b.wav"; + %who.text[T4_tipdefense01, wav] ="voice/Training/Mission4/T4.defense01.wav"; + %who.text[T4_05, wav] ="voice/Training/Mission4/T4_05.wav"; + %who.text[T4_06, wav] ="voice/Training/Mission4/T4_06.wav"; + %who.text[T4_tipdefense02, wav] ="voice/Training/Mission4/T4.tip.defense02.wav"; + %who.text[T4_tipdefense03, wav] ="voice/Training/Mission4/T4.tip.defense03.wav"; + %who.text[T4_tipdeploy, wav] ="voice/Training/Mission4/T4.tip.deploy.wav"; + %who.text[T4_tipdeploy01, wav] ="voice/Training/Mission4/T4.tip.deploy01.wav"; + %who.text[T4_tipdeploy02, wav] ="voice/Training/Mission4/T4.tip.deploy02.wav"; + %who.text[T4_tipdepturret, wav] ="voice/Training/Mission4/T4.tip.depturret.wav"; + %who.text[T4_07, wav] ="voice/Training/Mission4/T4_07.wav"; + %who.text[T4_07a, wav] ="voice/Training/Mission4/T4_07a.wav"; + %who.text[T4_warning01, wav] ="voice/Training/Mission4/T4.warning01.wav"; + %who.text[T4_warning02, wav] ="voice/Training/Mission4/T4.warning02.wav"; + %who.text[T4_genup, wav] ="voice/Training/Mission4/T4.genup.wav"; + %who.text[T4_genup02, wav] ="voice/Training/Mission4/T4.genup02.wav"; + %who.text[T4_genup02a, wav] ="voice/Training/Mission4/T4.genup02a.wav"; + %who.text[T4_repgen, wav] ="voice/Training/Mission4/T4.repgen.wav"; + %who.text[T4_08, wav] ="voice/Training/Mission4/T4_08.wav"; + %who.text[T4_tipcommand05, wav] ="voice/Training/Mission4/T4.tip.command05.wav"; + %who.text[T4_tipdefense04, wav] ="voice/Training/Mission4/T4.tip.defense04.wav"; + %who.text[T4_tipdefense05, wav] ="voice/Training/Mission4/T4.tip.defense05.wav"; + %who.text[T4_tipdefense06, wav] ="voice/Training/Mission4/T4.tip.defense06.wav"; + %who.text[T4_tipdefense07, wav] ="voice/Training/Mission4/T4.tip.defense07.wav"; + %who.text[T4_tipdefense08, wav] ="voice/Training/Mission4/T4.tip.defense08.wav"; + %who.text[T4_tipdefense09, wav] ="voice/Training/Mission4/T4.tip.defense09.wav"; + %who.text[T4_09, wav] ="voice/Training/Mission4/T4_09.wav"; + %who.text[T4_10, wav] ="voice/Training/Mission4/T4_10.wav"; + %who.text[T4_11, wav] ="voice/Training/Mission4/T4_11.wav"; + + // Mission 5 + %who.text[T5_01, wav] ="voice/Training/Mission5/T5_01.wav"; + %who.text[T5_02, wav] ="voice/Training/Mission5/T5_02.wav"; + %who.text[T5_03, wav] ="voice/Training/Mission5/T5_03.wav"; + %who.text[T5_04, wav] ="voice/Training/Mission5/T5_04.wav"; + %who.text[T5_tipstations01, wav] ="voice/Training/Mission5/T5.tip.stations01.wav"; + %who.text[T5_tipstations02, wav] ="voice/Training/Mission5/T5.tip.stations02.wav"; + %who.text[T5_05, wav] ="voice/Training/Mission5/T5_05.wav"; + %who.text[T5_05a, wav] ="voice/Training/Mission5/T5_05a.wav"; + %who.text[T5_05b, wav] ="voice/Training/Mission5/T5_05b.wav"; + %who.text[T5_tipsatchel01, wav] ="voice/Training/Mission5/T5.tip.satchel01.wav"; + %who.text[T5_tipsatchel02, wav] ="voice/Training/Mission5/T5.tip.satchel02.wav"; + %who.text[T5_06, wav] ="voice/Training/Mission5/T5_06.wav"; + %who.text[T5_06a, wav] ="voice/Training/Mission5/T5_06a.wav"; + %who.text[T5_06b, wav] ="voice/Training/Mission5/T5_06b.wav"; + %who.text[T5_06b, eval] ="training5addSafeDistance();"; + %who.text[T5_06c, wav] ="voice/Training/Mission5/T5_06c.wav"; + %who.text[T5_06c, eval] ="training5addSafeDistance();"; + %who.text[T5_06d, wav] ="voice/Training/Mission5/T5_06d.wav"; + //%who.text[T5_06d, eval] ="training5addSafeDistance();"; + %who.text[T5_07, wav] ="voice/Training/Mission5/T5_07.wav"; + %who.text[T5_Failure01, wav] ="voice/Training/Mission5/T5.failure01.wav"; + %who.text[T5_Failure02, wav] ="voice/Training/Mission5/T5.failure02.wav"; + %who.text[T5_08, wav] ="voice/Training/Mission5/T5_08.wav"; + %who.text[T5_08urgent, wav] ="voice/Training/Mission5/T5_08_urgent.wav"; + %who.text[T5_09, wav] ="voice/Training/Mission5/T5_09.wav"; + %who.text[T5_tipFirepower, wav] ="voice/Training/Mission5/T5.tip.firepower.wav"; + + //=========================================================================================== + //these are the objective hud elements for single player + // note: lines get clipped after 24 chars + + //format + //%who.objHud[missionName, ObjectiveID, Line(1|2)] = "text...duh"; + + //mission1 + //---------------------------------------------------------------------------- + %who.objHud[training1, obj1, 1] = "Survey Hanakush Lowlands."; + + %who.objHud[training1, obj2, 1] = "Remain calm during remote scan."; + %who.objHud[training1, obj2, 2] = "Immobilization is temporary."; + + %who.objHud[training1, obj3, 1] = "Eliminate incoming enemies."; + + %who.objHud[training1, obj4, 1] = "Investigate tower at waypoint."; + + %who.objHud[training1, obj5, 1] = "Leave area. Avoid the enemy."; + %who.objHud[training1, obj5, 2] = "Meet rescue team at waypoint."; + + %who.objHud[training1, obj6, 1] = "Go to vehicle at waypoint."; + + %who.objHud[training1, obj7, 1] = "Wait. Remote systems check pending."; + + %who.objHud[training1, obj8, 1] = "Get health patches at waypoint."; + + + //mission2 + //---------------------------------------------------------------------------- + %who.objHud[training2, obj1, 1] = "Capture tower at waypoint."; + %who.objHud[training2, obj1, 2] = "Eliminate enemy units."; + + %who.objHud[training2, obj2, 1] = "Rearm and defend the tower."; + %who.objHud[training2, obj2, 2] = "Eliminate incoming enemies."; + + %who.objHud[training2, obj3, 1] = "Capture tower at waypoint."; + %who.objHud[training2, obj3, 2] = "Implant digital virus."; + + %who.objHud[training2, obj4, 1] = "Capture tower at waypoint."; + %who.objHud[training2, obj4, 2] = "Eliminate enemies."; + + %who.objHud[training2, obj5, 1] = "Destroy enemy sensor."; + + %who.objHud[training2, obj6, 1] = "Eliminate enemies."; + %who.objHud[training2, obj6, 2] = "Destroy enemy turrets."; + + + //mission 3 + //---------------------------------------------------------------------------- + %who.objHud[training3, obj1, 1] = "Board the Shrike."; + + %who.objHud[training3, obj2, 1] = "Pilot Shrike to enemy base."; + %who.objHud[training3, obj2, 2] = "Locate command switch."; + + %who.objHud[training3, obj3, 1] = "Fly to extraction point."; + + %who.objHud[training3, obj4, 1] = "Primary Objective Complete."; + %who.objHud[training3, obj4, 2] = "Return to the Shrike."; + + %who.objHud[training3, obj5, 1] = "Destroy Forcefield Power"; + %who.objHud[training3, obj5, 2] = "to disable Control Point shield."; + + %who.objHud[training3, obj6, 1] = "Implant digital virus"; + %who.objHud[training3, obj6, 2] = "at Control Point."; + + + //mission 4 + //---------------------------------------------------------------------------- + %who.objHud[training4, obj1, 1] = "Stay alert for enemy presence."; + %who.objHud[training4, obj1, 2] = "Repair sensor at waypoint."; + + %who.objHud[training4, obj2, 1] = "Activate Command Circuit."; + + %who.objHud[training4, obj3, 1] = "Deploy camera."; + %who.objHud[training4, obj3, 2] = "Use camera to survey area."; + + %who.objHud[training4, obj4, 1] = "Use Command Circuit"; + %who.objHud[training4, obj4, 2] = "to control Base Turret."; + + %who.objHud[training4, obj4, 1] = "Use Command Circuit to"; + %who.objHud[training4, obj4, 2] = "control Base Turret."; + + %who.objHud[training4, obj5, 1] = "URGENT! Base Generator cannot"; + %who.objHud[training4, obj5, 2] = "be offline longer than 60 seconds."; + + %who.objHud[training4, obj6, 1] = "Issue order to repair sensor \'Tycho.\'"; + + %who.objHud[training4, obj7, 1] = "Remain still during remote"; + %who.objHud[training4, obj7, 2] = "armor systems scan."; + + %who.objHud[training4, obj9, 1] = "Deploy turrets."; + %who.objHud[training4, obj9, 2] = "Prepare for incoming enemies."; + + %who.objHud[training4, obj10, 1] = "Defend Base!"; + %who.objHud[training4, obj10, 2] = "Keep main generator online."; + + //mission 5 + //---------------------------------------------------------------------------- + //%who.objHud[training5, obj1, 1] = "123456789A123456789B123456789C123456789"; + + %who.objHud[training5, obj1, 1] = "Capture tower at waypoint."; + %who.objHud[training5, obj1, 2] = "Implant digital virus."; + + %who.objHud[training5, obj2, 1] = "Destroy critical gens"; + %who.objHud[training5, obj2, 2] = "in the base at waypoint."; + + %who.objHud[training5, obj4, 1] = "Get out of there NOW!"; + + + +//================================================================================= +// Misc Messages + //Mission completion/failure + %who.miscMsg[trainingGenericwin] = "Good Job."; + %who.miscMsg[trainingGenericLoss] = "Tribal life can be nasty, brutish, and short. Do you want to try again?"; + %who.miscMsg[trainingDeathLoss] = "You died. The Hordes use your gene plasm to make their reavers strong. Do you want to try again?"; + %who.miscMsg[training1win] = "Welcome back! You evaded the BioDerm pursuit. Not many warriors return from being shot down. Strike Colonel Akanruth wants a full debriefing."; + %who.miscMsg[training2win] = "You broke the back of Horde resistance in your area, and your prowess is noted. An army needs food to keep fighting, and now we have a secure supply."; + %who.miscMsg[training3win] = "The data provides key insights into Derm psychology and internal organization. We can now refine our strategic approach to exploit these vulnerabilities."; + %who.miscMsg[training3shrikeLoss] = "Without the Shrike, you are stranded too far from Pact territory. The BioDerms hunt you down like a dog and destroy you. Do you want to try again?"; + %who.miscMsg[training4win] = "The BioDerm thrust at Nagakhun was shattered, thanks to you. The Derms fail to escape pursuing Pact warriors. Good work!"; + %who.miscMsg[training4GenLoss] = "The main generator remained offline too long, and the BioDerms took the base. Your head now hangs on their Flaymaster's wall. Do you want to try again?"; + %who.miscMsg[training5DistFail] = "You were too close to the blast. A Pact rescue team finds your broken remains and returns them for a hero's burial."; + %who.miscMsg[training5win] = "Congratulations. With the base destroyed, the Pact overwhelmed Horde defenses. The war continues, but we have broken the back of the BioDerm invasion."; + %who.miscMsg[training5loss] = "You completed your objective but failed to escape the blast. Too bad. Would you like to try again and find out if you can survive?"; + %who.miscMsg[trainingOverEasy] = "You have mastered the basic skills. Consider further training in bot matches or a higher difficulty level."; + %who.miscMsg[trainingOverMed] = "You are skilled enough to enter online play with confidence."; + %who.miscMsg[trainingOverHard] = "You have God-like skills and should have your trigger finger bronzed."; + +// -these are here so that they can be edited without the game script being molested +// -also for ease of localization (if necessary) + + //otherMessages + %who.miscMsg[noScoreScreen] = "The Score screen is disabled in the training missions."; + %who.miscMsg[noCC] = "You are not yet cleared for Command Circuit use."; + %who.miscMsg[genAttackNoSatchel] = "You can only destroy the enemy generators by using a satchel charge. The chain reaction will not trigger otherwise."; + %who.miscMsg[OOB] = "You have left the mission area."; + %who.miscMsg[InBounds] = "You have returned to the mission area."; + %who.miscMsg[OOBLoss] = "You were outside the mission area too long. Do you want to try again?"; + %who.miscMsg[LeaveGame] = "Are you sure you want to abandon this game?"; + %who.miscMsg[noTaskListDlg] = "You have not yet been granted access to the task list dialog."; + %who.miscMsg[noInventoryHUD] = "You have not yet been granted access to the Inventory HUD."; +} + + +$EnemyNameList[1 ] = "Demon-Core"; +$EnemyNameList[2 ] = "Blood-Drinker"; +$EnemyNameList[3 ] = "Shargh-zhor"; +$EnemyNameList[4 ] = "Azarok"; +$EnemyNameList[5 ] = "Storm-of-Death"; +$EnemyNameList[6 ] = "Gut Collar"; +$EnemyNameList[7 ] = "Torment-the-Weak"; +$EnemyNameList[8 ] = "Eats Only Heads"; +$EnemyNameList[9 ] = "Koroz the Skull"; +$EnemyNameList[10 ] = "Murkhofud"; +$EnemyNameList[11 ] = "Broken Horn"; +$EnemyNameList[12 ] = "Red Maw"; +$EnemyNameList[13 ] = "Rragh Zhek"; +$EnemyNameList[14 ] = "Yellowfang"; +$EnemyNameList[15 ] = "Old Scarred One"; +$EnemyNameList[16 ] = "Hrreshig"; +$EnemyNameList[17 ] = "Marakh the Strong"; +$EnemyNameList[18 ] = "Spits-Brains"; +$EnemyNameList[19 ] = "Cracks-to-Bone"; +$EnemyNameList[20 ] = "Gul-Khidor"; +$EnemyNameList[21 ] = "Kolkhris"; +$EnemyNameList[22 ] = "Render-of-Men"; +$EnemyNameList[23 ] = "Ribshatter"; +$EnemyNameList[24 ] = "Gerex Chol"; +$EnemyNameList[25 ] = "Seregh-zhor"; +$EnemyNameList[26 ] = "Lokh Bloodweb"; +$EnemyNameList[27 ] = "Devours-All"; +$EnemyNameList[28 ] = "The Dracorox"; +$EnemyNameList[29 ] = "Tarh the Immortal"; +$EnemyNameList[30 ] = "Suntalon"; +$EnemyNameList[31 ] = "Omakhros"; +$EnemyNameList[32 ] = "Horgoth the Mad"; +$EnemyNameList[33 ] = "Spines-for-Spears"; +$EnemyNameList[34 ] = "Terrible Claw"; +$EnemyNameList[35 ] = "Crush the Humans!"; +$EnemyNameList[36 ] = "Arhakhral"; +$EnemyNameList[37 ] = "Talons-of-Stone"; +$EnemyNameList[38 ] = "Burns-the-Monkeys"; +$EnemyNameList[39 ] = "Chainbreaker"; +$EnemyNameList[40 ] = "Breath-of-Fear"; +$EnemyNameList[41 ] = "Stoneskin"; +$EnemyNameList[42 ] = "Piths-the-Prey"; +$EnemyNameList[43 ] = "Mercy to Carrion"; +$EnemyNameList[44 ] = "Dark-Entrails"; +$EnemyNameList[45 ] = "Flaymaster Zhor"; +$EnemyNameList[46 ] = "Flaymaster Garakh"; +$EnemyNameList[47 ] = "Flaymaster Khel"; +$EnemyNameList[48 ] = "Flaymaster Morax"; +$EnemyNameList[49 ] = "Flaymaster Khun"; +$EnemyNameList[50 ] = "Mhor Chrak-Khor"; +$EnemyNameList[51 ] = "Plague Dog!"; +$EnemyNameList[52 ] = "Seg Mrazhurr"; +$EnemyNameList[53 ] = "Skullcrusher"; +$EnemyNameList[54 ] = "Boneboiler"; +$EnemyNameList[55 ] = "Murder Beast"; +$EnemyNameList[56 ] = "Zura Zorhak"; +$EnemyNameList[57 ] = "Hearteater"; +$EnemyNameList[58 ] = "Durakh Zon"; +$EnemyNameList[59 ] = "Hide-of-Steel"; +$EnemyNameList[60 ] = "All Snakes Die"; +$EnemyNameList[61 ] = "Monkey Guts"; +$EnemyNameList[62 ] = "Throat\'s Bane"; +$EnemyNameList[63 ] = "Mukhrak Dar"; +$EnemyNameList[64 ] = "Skins-the-Foe"; +$EnemyNameList[65 ] = "Rogh the Fearslayer"; +$EnemyNameList[66 ] = "Coat-of-Eyes"; +$EnemyNameList[67 ] = "Mormoghast"; +$EnemyNameList[68 ] = "Bringer-of-Pain"; +$EnemyNameList[69 ] = "Devilclaw"; +$EnemyNameList[70 ] = "Sows-Terror"; +$EnemyNameList[71 ] = "Smiles-to-Kill"; +$EnemyNameList[72 ] = "Scarred-by-Plasma"; +$EnemyNameList[73 ] = "The Burned One"; +$EnemyNameList[74 ] = "Charred Fangs"; +$EnemyNameList[75 ] = "Kro Serexhar"; +$EnemyNameList[76 ] = "Ku Annorkh"; +$EnemyNameList[77 ] = "Gorog the Bull"; +$EnemyNameList[78 ] = "Collar-of-Fingers"; +$EnemyNameList[79 ] = "Nurog the Dire"; +$EnemyNameList[80 ] = "Fharox the Cruel"; +$EnemyNameList[81 ] = "Sixty Notches"; +$EnemyNameList[82 ] = "Tribekiller"; +$EnemyNameList[83 ] = "Bluefang"; +$EnemyNameList[84 ] = "Torox Backbreaker"; +$EnemyNameList[85 ] = "Dreadbite"; +$EnemyNameList[86 ] = "Skarjett"; +$EnemyNameList[87 ] = "Face of Thorns"; +$EnemyNameList[88 ] = "Gorh Bloodcloud"; +$EnemyNameList[89 ] = "Song-of-Carnage"; +$EnemyNameList[90 ] = "Rrshak Grinds-All"; +$EnemyNameList[91 ] = "Rage-of-Night"; +$EnemyNameList[92 ] = "Irokhirr Zhor"; +$EnemyNameList[93 ] = "Numankh Bloodcark"; +$EnemyNameList[94 ] = "Stonefist Durok"; +$EnemyNameList[95 ] = "Denier-of-Soup"; +$EnemyNameList[96 ] = "Grendel\'s Kiss"; +$EnemyNameList[97 ] = "Karghaz Jok"; +$EnemyNameList[98 ] = "Liverthief"; +$EnemyNameList[99 ] = "Tumoz Agarh"; +$EnemyNameList[100] = "Thirsts-for-Vengeance"; +$EnemyNameList[101] = "Malevolox"; +$EnemyNameList[102] = "Splinters-Ribs"; +$EnemyNameList[103] = "Taunts-the-Prey"; +$EnemyNameList[104] = "Glory-in-Pain"; +$EnemyNameList[105] = "Monkeykiller"; +$EnemyNameList[106] = "Gir QIXOR"; +$EnemyNameList[107] = "Rags-of-Flesh"; +$EnemyNameList[108] = "Gerhrak Icerender"; +$EnemyNameList[109] = "Mordhul Nom"; +$EnemyNameList[110] = "Mother of Battles"; +$EnemyNameList[111] = "Kill-the-Awkward"; +$enemyNameCount = 111; //Blake, this number should be the same as the last name in the list \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/staticShape.cs b/public/base/@vl2/scripts.vl2/scripts/staticShape.cs new file mode 100644 index 00000000..c43f02b4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/staticShape.cs @@ -0,0 +1,1423 @@ +//****************************************************************************** +//* Default StaticShape functions +//****************************************************************************** + +function StaticShapeData::onGainPowerEnabled(%data, %obj) +{ + if(%data.ambientThreadPowered) + %obj.playThread($AmbientThread, "ambient"); + // if it's a deployed object, schedule the power thread; else play it immediately + if(%data.deployAmbientThread) + %obj.schedule(750, "playThread", $PowerThread, "Power"); + else + %obj.playThread($PowerThread,"Power"); + // deployable objects get their recharge rate set right away -- don't set it again unless + // the object has just been re-enabled + if(%obj.initDeploy) + %obj.initDeploy = false; + else + { + if(%obj.getRechargeRate() <= 0) + { + %oldERate = %obj.getRechargeRate(); + %obj.setRechargeRate(%oldERate + %data.rechargeRate); + } + } + if(%data.humSound !$= "") + %obj.playAudio($HumSound, %data.humSound); + %obj.setPoweredState(true); +} + +function StaticShapeData::onLosePowerDisabled(%data, %obj) +{ + %client = %obj.getControllingClient(); + if(%client != 0) + serverCmdResetControlObject(%client); + + if(%data.ambientThreadPowered) + %obj.pauseThread($AmbientThread); + if(!%data.alwaysAmbient) + { + %obj.stopThread($PowerThread); + // MES -- drop shields and stop them from regenerating after power loss + %obj.setRechargeRate(0.0); + %obj.setEnergyLevel(0.0); + } + if(%data.humSound !$= "") + %obj.stopAudio($HumSound); + %obj.setPoweredState(false); +} + +function StaticShapeData::gainPower(%data, %obj) +{ + if(%obj.isEnabled()) + %data.onGainPowerEnabled(%obj); + Parent::gainPower(%data, %obj); +} + +function StaticShapeData::losePower(%data, %obj) +{ + if(%obj.isEnabled()) + %data.onLosePowerDisabled(%obj); + Parent::losePower(%data, %obj); +} + +function ShapeBaseData::onEnabled() +{ +} + +function ShapeBaseData::onDisabled() +{ +} + +function StaticShapeData::onEnabled(%data, %obj, %prevState) +{ + if(%obj.isPowered()) + %data.onGainPowerEnabled(%obj); + Parent::onEnabled(%data, %obj, %prevState); +} + +function StaticShapeData::onDisabled(%data, %obj, %prevState) +{ + if(%obj.isPowered() || (%data.className $= "Generator")) + %data.onLosePowerDisabled(%obj); + Parent::onDisabled(%data, %obj, %prevState); +} + +function StaticShape::deploy(%this) +{ + %this.playThread($DeployThread, "deploy"); +} + +function StaticShapeData::onEndSequence(%data, %obj, %thread) +{ + if(%thread == $DeployThread) + %obj.setSelfPowered(); + Parent::onEndSequence(%data, %obj, %thread); +} + +function ShapeBaseData::onEndSequence() +{ +} + +//****************************************************************************** +//* Example explosion +//****************************************************************************** + +datablock EffectProfile(ShapeExplosionEffect) +{ + effectname = "explosions/explosion.xpl03"; + minDistance = 10; + maxDistance = 50; +}; + +datablock AudioProfile(ShapeExplosionSound) +{ + filename = "fx/explosions/explosion.xpl03.wav"; + description = AudioExplosion3d; + preload = true; + effect = ShapeExplosionEffect; +}; + +datablock ExplosionData(ShapeExplosion) +{ + explosionShape = "disc_explosion.dts"; + soundProfile = ShapeExplosionSound; + faceViewer = true; +}; + +//****************************************************************************** +//* Player Armors - Data Blocks (live players are now StaticTSObjects) +//****************************************************************************** + +datablock StaticShapeData(HeavyMaleHuman_Dead) +{ + className = "deadArmor"; + catagory = "Player Armors"; + shapeFile = "heavy_male_dead.dts"; + isInvincible = true; +}; + +datablock StaticShapeData(MediumMaleHuman_Dead) +{ + className = "deadArmor"; + catagory = "Player Armors"; + shapeFile = "medium_male_dead.dts"; + isInvincible = true; +}; + +datablock StaticShapeData(LightMaleHuman_Dead) +{ + className = "deadArmor"; + catagory = "Player Armors"; + shapeFile = "light_male_dead.dts"; + isInvincible = true; +}; + +function deadArmor::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); +} + +//***************************************************************************** +//* Flagstands - Data Blocks +//***************************************************************************** +datablock StaticShapeData(InteriorFlagStand) +{ + className = "FlagIntStand"; + catagory = "Objectives"; + shapefile = "int_flagstand.dts"; + isInvincible = true; + needsNoPower = true; +}; + +datablock StaticShapeData(ExteriorFlagStand) +{ + className = "FlagIntStand"; + catagory = "Objectives"; + shapefile = "ext_flagstand.dts"; + isInvincible = true; + needsNoPower = true; +}; + +/////////////////////////////////////////// +//flagIntStand::onAdd(%this, %obj) +//%this: objects datablock +//%obj: the actual object being added +/////////////////////////////////////////// + +function ExteriorFlagStand::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + %obj.playThread($ActivateThread, "activate"); +} + +function ExteriorFlagStand::onFlagTaken(%this, %obj) +{ + %obj.setThreadDir($ActivateThread, 0); +} + +function ExteriorFlagStand::onFlagReturn(%this, %obj) +{ + %obj.setThreadDir($ActivateThread, 1); +} + +function ExteriorFlagStand::onCollision(%this, %obj, %colObj) +{ + game.flagStandCollision(%this, %obj, %colObj); +} + +function InteriorFlagStand::onCollision(%this, %obj, %colObj) +{ + game.flagStandCollision(%this, %obj, %colObj); +} + +/////////////////////////////////////////////// +//end flag stand functions +/////////////////////////////////////////////// + +datablock StaticShapeData(FlipFlop) +{ + catagory = "Objectives"; + shapefile = "switch.dts"; + + isInvincible = true; + cmdCategory = "Objectives"; + cmdIcon = "CMDSwitchIcon"; + cmdMiniIconName = "commander/MiniIcons/com_switch_grey"; + targetTypeTag = 'Switch'; + alwaysAmbient = true; + needsNoPower = true; + emap = true; +}; + +function FlipFlop::onCollision(%data,%obj,%col) +{ + if (%col.getDataBlock().className $= Armor && %col.getState() !$= "Dead") + %data.playerTouch(%obj, %col); +} + +function FlipFlop::playerTouch(%data,%obj,%col) +{ + messageAll('MsgPlayerTouchSwitch', 'Player %1 touched switch %2', %col, %obj); +} + +//****************************************************************************** +//* Organics - * +//****************************************************************************** + +//function to add random Organics to mission pre-creation +//(could be used to add other things...its cool with bioderm armors ;) ) + +function randomOrg(%organicName, %num, %radius) +{ + %SPACING = 1.0; //meters between center of organic and another object + + //return help info + if(%organicName $="" || !%num || !%radius) { + echo("randomOrg(, , );"); + return; + } + + %organicIndex = -1; + // -------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Typo fix. + //for (%i = 0; %i < $NumAStaticTSObjects; %i++) { + for (%i = 0; %i < $NumStaticTSObjects; %i++) { + if (getWord($StaticTSObjects[%i], 1) $= %organicName) { + %organicIndex = %i; + break; + } + } + if (%organicIndex == -1) { + error("There is no static shape named" SPC %organicName); + return; + } + %shapeFileName = getWord($StaticTSObjects[%organicIndex], 2); + + %maxSlope = getWord($StaticTSObjects[%organicIndex], 3); + if (%maxSlope $= "") + %maxSlope = 40; + + %zOffset = getWord($StaticTSObjects[%organicIndex], 4); + if (%zOffset $= "") + %zOffset = 0; + + %slopeWithTerrain = getWord($StaticTSObjects[%organicIndex], 5); + if (%slopeWithTerrain $= "") + %slopeWithTerrain = false; + + %minScale = getWord($StaticTSObjects[%organicIndex], 6); + %maxScale = getWord($StaticTSObjects[%organicIndex], 7); + + //set up folders in mis file + $RandomOrganicsAdded++; //to keep track of groups + if(!isObject(RandomOrganics)) { + %randomOrgGroup = new simGroup(RandomOrganics); + MissionGroup.add(%randomOrgGroup); + } + %groupName = "Addition"@$RandomOrganicsAdded@%organicName; + %group = new simGroup(%groupName); + RandomOrganics.add(%group); + + + %ctr = LocalClientConnection.camera.getPosition(); + %areaX = getWord(%ctr, 0) - %radius; + %areaY = getWord(%ctr, 1) - %radius; + + %orgCount = %num; + while((%orgCount > 0) && (%retries < (15000 / %maxSlope))) //theoretically, a thorough number of retries + { + //find a tile + %x = (getRandom(mFloor(%areaX / 8), mFloor((%areaX + (%radius * 2)) / 8)) * 8) + 4; //tile center + %y = (getRandom(mFloor(%areaY / 8), mFloor((%areaY + (%radius * 2)) / 8)) * 8) + 4; + + %start = %x @ " " @ %y @ " 2000"; + %end = %x @ " " @ %y @ " -1"; + %ground = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + %z = getWord(%ground, 3); + %z += %zOffset; + %position = %x @ " " @ %y @ " " @ %z; + + + // get normal from both sides of the square + %start = %x + 2 @ " " @ %y @ " 2000"; + %end = %x + 2 @ " " @ %y @ " -1"; + %hit1 = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + + %start = %x - 2 @ " " @ %y @ " 2000"; + %end = %x - 2 @ " " @ %y @ " -1"; + %hit2 = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + + %norm1 = getWord(%hit1, 4) @ " " @ getWord(%hit1, 5) @ " " @ getWord(%hit1, 6); + %norm2 = getWord(%hit2, 4) @ " " @ getWord(%hit2, 5) @ " " @ getWord(%hit2, 6); + + //if either side of tile has greater slope than allowed, move on. + %angNorm1 = getTerrainAngle(%norm1); + %angNorm2 = getTerrainAngle(%norm2); + if ((getTerrainAngle(%norm1) > %maxSlope) || (getTerrainAngle(%norm2) > %maxslope)) + { + %retries++; + continue; + } + + %terrainNormal = VectorAdd(%norm1, %norm2); + %terrainNormal = VectorNormalize(%terrainNormal); + + //search surroundings for obstacles. If obstructed, move on. + InitContainerRadiusSearch(%position, %spacing, $TypeMasks::VehicleObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | + // ----------------------------- + // z0dd - ZOD, 5/8/02. Typo fix. + //$TypeMasks::TSStaticShapeObjectType | + $TypeMasks::StaticTSObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::TurretObjectType | + $TypeMasks::InteriorObjectType | + $TypeMasks::ItemObjectType); + %this = containerSearchNext(); + if(%this) + { + %retries++; + continue; + } + + + //rotate it + if(%slopeWithTerrain) + { + %rotAxis = vectorCross(%terrainNormal, "0 0 1"); + %rotAxis = vectorNormalize(%rotAxis); + %rotation = %rotAxis @ " " @ getTerrainAngle(%terrainNormal); + } + else %rotation = "1 0 0 0"; + %randomAngle = getRandom(360); + %zrot = MatrixCreate("0 0 0", "0 0 1 " @ %randomAngle); + %orient = MatrixCreate(%position, %rotation); + %finalXForm = MatrixMultiply(%orient, %zrot); + + + //scale it + %scaleMin = 8; //default min + %scaleMax = 14; //default max + if(%minScale) + %scaleMin = %minScale * 10; + if(%maxScale) + %scaleMax = %maxScale * 10; + %scaleInt = getRandom(%scaleMin, %scaleMax); + %scale = %scaleInt/10; + %evenScale = %scale SPC %scale SPC %scale; + + //create it + %position = %x SPC %y SPC (%z += %zoffset); + %newOrganic = new TSStatic() { + position = %position; + rotation = %rotation; + scale = %evenScale; + shapeName = %shapeFileName; + }; + %group.add(%newOrganic); + %newOrganic.setTransform(%finalXForm); + + %orgCount--; //dec number of shapes left to place + %retries = 0; //reset retry counter + } + if (%orgCount > 0) + { + error("Unable to place all shapes, area saturated."); + error("Looking for clear area " @ (%spacing * 2) @ " meters in diameter, with a max slope of " @ %maxSlope); + } + echo("Placed " @ %num - %orgCount @ " of " @ %num); +} + +function getTerrainAngle(%point) +{ + %up = "0 0 1"; + %angleRad = mACos(vectorDot(%point, %up)); + %angleDeg = mRadToDeg(%angleRad); + //echo("angle is "@%angleDeg); + return %angleDeg; +} +function randomGrove(%organicName, %num, %radius) +{ + %minHeight = 0; + %maxHeight = 1000; + %SPACING = 1.5; //meters between center of organic and another object + + //return help info + if(%organicName $="" || !%num || !%radius) { + echo("randomOrg(, [, radius of grove desired]);"); + return; + } + + %organicIndex = -1; + for (%i = 0; %i < $NumStaticTSObjects; %i++) { + if (getWord($StaticTSObjects[%i], 1) $= %organicName) { + %organicIndex = %i; + break; + } + } + if (%organicIndex == -1) { + error("There is no static shape named" SPC %organicName); + return; + } + %shapeFileName = getWord($StaticTSObjects[%organicIndex], 2); + + %maxSlope = getWord($StaticTSObjects[%organicIndex], 3); + if (%maxSlope $= "") + %maxSlope = 40; + + %zOffset = getWord($StaticTSObjects[%organicIndex], 4); + if (%zOffset $= "") + %zOffset = 0; + + %slopeWithTerrain = getWord($StaticTSObjects[%organicIndex], 5); + if (%slopeWithTerrain $= "") + %slopeWithTerrain = false; + + %minScale = getWord($StaticTSObjects[%organicIndex], 6); + %maxScale = getWord($StaticTSObjects[%organicIndex], 7); + + //set up folders in mis file + $RandomOrganicsAdded++; //to keep track of groups + if(!isObject(RandomOrganics)) { + %randomOrgGroup = new simGroup(RandomOrganics); + MissionGroup.add(%randomOrgGroup); + } + %groupName = "Addition"@$RandomOrganicsAdded@%organicName; + %group = new simGroup(%groupName); + RandomOrganics.add(%group); + + + %ctr = LocalClientConnection.camera.getPosition(); + %areaX = getWord(%ctr, 0) - %radius; + %areaY = getWord(%ctr, 1) - %radius; + + %orgCount = %num; + while((%orgCount > 0) && (%retries < (15000 / %maxSlope))) //theoretically, a thorough number of retries + { + //find a tile + %x = (getRandom(mFloor(%areaX / 8), mFloor((%areaX + (%radius * 2)) / 8)) * 8) + 4; //tile center + %y = (getRandom(mFloor(%areaY / 8), mFloor((%areaY + (%radius * 2)) / 8)) * 8) + 4; + + %start = %x @ " " @ %y @ " 2000"; + %end = %x @ " " @ %y @ " -1"; + %ground = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + %z = getWord(%ground, 3); + + + // elevation test + if ((%z < %minHeight) || (%z > %maxHeight)) + { + echo("Broke height range rules. Readjust allowable elevations."); + %retries++; + echo("Z is " @ %z); + continue; + } + %z += %zOffset; + %position = %x @ " " @ %y @ " " @ %z; + + + // get normal from both sides of the square + %start = %x + 2 @ " " @ %y @ " 2000"; + %end = %x + 2 @ " " @ %y @ " -1"; + %hit1 = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + + %start = %x - 2 @ " " @ %y @ " 2000"; + %end = %x - 2 @ " " @ %y @ " -1"; + %hit2 = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + + %norm1 = getWord(%hit1, 4) @ " " @ getWord(%hit1, 5) @ " " @ getWord(%hit1, 6); + %norm2 = getWord(%hit2, 4) @ " " @ getWord(%hit2, 5) @ " " @ getWord(%hit2, 6); + + //if either side of tile has greater slope than allowed, move on. + %angNorm1 = getTerrainAngle(%norm1); + %angNorm2 = getTerrainAngle(%norm2); + if ((getTerrainAngle(%norm1) > %maxSlope) || (getTerrainAngle(%norm2) > %maxslope)) + { + %retries++; + continue; + } + + %terrainNormal = VectorAdd(%norm1, %norm2); + %terrainNormal = VectorNormalize(%terrainNormal); + + //search surroundings for obstacles. If obstructed, move on. + InitContainerRadiusSearch(%position, %spacing, $TypeMasks::VehicleObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | + // ----------------------------- + // z0dd - ZOD, 5/8/02. Typo fix. + //$TypeMasks::TSStaticShapeObjectType | + $TypeMasks::StaticTSObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::TurretObjectType | + $TypeMasks::InteriorObjectType | + $TypeMasks::ItemObjectType); + %this = containerSearchNext(); + if(%this) + { + %retries++; + continue; + } + + + //rotate it + if(%slopeWithTerrain) + { + %rotAxis = vectorCross(%terrainNormal, "0 0 1"); + %rotAxis = vectorNormalize(%rotAxis); + %rotation = %rotAxis @ " " @ getTerrainAngle(%terrainNormal); + } + else %rotation = "1 0 0 0"; + %randomAngle = getRandom(360); + %zrot = MatrixCreate("0 0 0", "0 0 1 " @ %randomAngle); + %orient = MatrixCreate(%position, %rotation); + %finalXForm = MatrixMultiply(%orient, %zrot); + + + //scale it + %scaleMin = 8; //default min + %scaleMax = 14; //default max + if(%minScale) + %scaleMin = %minScale * 10; + if(%maxScale) + %scaleMax = %maxScale * 10; + %scaleInt = getRandom(%scaleMin, %scaleMax); + %scale = %scaleInt/10; + %evenScale = %scale SPC %scale SPC %scale; + + //create it + + %position = %x SPC %y SPC (%z += %zoffset); + %newOrganic = new TSStatic() { + position = %position; + rotation = %rotation; + scale = %evenScale; + shapeName = %shapeFileName; + }; + %group.add(%newOrganic); + %newOrganic.setTransform(%finalXForm); + + %orgCount--; //dec number of shapes left to place + %retries = 0; //reset retry counter + } + if (%orgCount > 0) + { + error("Unable to place all shapes, area saturated."); + error("Looking for clear area " @ (%spacing * 2) @ " meters in diameter, with a max slope of " @ %maxSlope); + } + echo("Placed " @ %num - %orgCount @ " of " @ %num); +} + + +function randomRock(%rock, %quantity, %radius, %maxElev) +{ + if (!%radius || !%quantity || !%rock) + { + echo("randomRock(, , , [maximum elevation]"); + return; + } + + if (!%maxElev) + %maxElev = 2000; + + + %rotation[0] = "0 0 1 0"; + %rotation[1] = "0.999378 -0.0145686 -0.0321219 194.406"; + %rotation[2] = "0.496802 0.867682 0.0177913 176.44"; + %rotation[3] = "0.991261 0.0933696 0.0931923 181.867"; + %rotation[4] = "0.246801 0.360329 -0.899584 92.3648"; + %rotation[5] = "1 0 0 82.59"; + %rotation[6] = "0.0546955 -0.629383 0.55201 116.103"; + + %spacing = 4.0; //check 4 meters around object for collisions before placing + %ctr = localClientConnection.camera.getPosition(); + %areaX = getWord(%ctr, 0) - %radius; + %areaY = getWord(%ctr, 1) - %radius; + + $RandomOrganicsAdded++; + if(!isObject(RandomRocks)) { + %randomOrgGroup = new simGroup(RandomRocks); + MissionGroup.add(%randomOrgGroup); + } + %groupName = "Addition"@$RandomOrganicsAdded@%rock; + %group = new simGroup(%groupName); + RandomRocks.add(%group); + + %orgCount = %quantity; + while((%orgCount > 0) && (%retries < (15000 / %maxSlope))) //theoretically, a thorough number of retries + { + //find a tile + %x = %areaX + getRandom(%radius * 2); + %y = %areaY + getRandom(%radius * 2); + + %start = %x @ " " @ %y @ " 2000"; + %end = %x @ " " @ %y @ " -1"; + %ground = containerRayCast(%start, %end, $TypeMasks::TerrainObjectType, 0); + %position = getWord(%ground, 1) @ " " @ getWord(%ground, 2) @ " " @ getWord(%ground, 3); + echo("position =*" @ %position @ "*"); + %z = getWord(%position, 2); + + + // elevation test + if (%z > %maxElev) //65 meters and above only + { + %retries++; + echo("Z is " @ %z); + continue; + } + + + //search surroundings for obstacles. If obstructed, move on. + InitContainerRadiusSearch(%position, %spacing, $TypeMasks::VehicleObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | + // ----------------------------- + // z0dd - ZOD, 5/8/02. Typo fix. + //$TypeMasks::TSStaticShapeObjectType | + $TypeMasks::StaticTSObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::TurretObjectType | + $TypeMasks::InteriorObjectType | + $TypeMasks::ItemObjectType); + %this = containerSearchNext(); + if(%this) + { + %retries++; + continue; + } + %primaryRot = %rotation[getRandom(7)]; + + %randomAngle = mDegToRad(getRandom(360)); + %zrot = MatrixCreate("0 0 0", "0 0 1 " @ %randomAngle); + %orient = MatrixCreate(%position, %primaryRot); + + + %scale = getRandom(3); + %evenScale = %scale @ " " @ %scale @ " " @ %scale; + %newRock = new InteriorInstance() { + scale = %evenScale; + interiorFile = %rock @ ".dif"; + showTerrainInside = "0"; + }; + %group.add(%newRock); + %transfrm = MatrixMultiply(%orient, %zrot); + echo("Transform = *" @ %transfrm @ "*"); + %newRock.setTransform(%transfrm); + + %orgCount--; //dec number of shapes left to place + %retries = 0; //reset retry counter + } + if (%orgCount > 0) + { + error("Unable to place all shapes, area saturated."); + error("Looking for clear area " @ (%spacing * 2) @ " meters in diameter, with a max slope of " @ %maxSlope); + } + echo("Placed " @ %num - %orgCount @ " of " @ %num); +} + + +//-------------------------------------------------------------------------- +//-------------------------------------- Organics +//-------------------------------------------------------------------------- + + +//****************************************************************************** +//* Pulse Sensor - Data Blocks * +//****************************************************************************** + +datablock DebrisData( StaticShapeDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.20; + friction = 0.5; + + lifetime = 17.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 0.4; + + velocity = 9.0; + velocityVariance = 4.5; +}; + +datablock DebrisData( SmallShapeDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.20; + friction = 0.5; + + lifetime = 17.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 0.2; + + velocity = 5.0; + velocityVariance = 2.5; +}; + +datablock AudioProfile(SensorHumSound) +{ + filename = "fx/powered/sensor_hum.wav"; + description = CloseLooping3d; + preload = true; +}; + +datablock SensorData(SensorLgPulseObj) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 300; +}; + +datablock StaticShapeData(SensorLargePulse) : StaticShapeDamageProfile +{ + className = Sensor; + catagory = "Sensors"; + shapeFile = "sensor_pulse_large.dts"; + maxDamage = 1.5; + destroyedLevel = 1.5; + disabledLevel = 0.85; + explosion = ShapeExplosion; + expDmgRadius = 10.0; + expDamage = 0.5; + expImpulse = 2000.0; + + dynamicType = $TypeMasks::SensorObjectType; + isShielded = true; + energyPerDamagePoint = 33; + maxEnergy = 110; + rechargeRate = 0.31; + ambientThreadPowered = true; + humSound = SensorHumSound; + + cmdCategory = "Support"; + cmdIcon = CMDSensorIcon; + cmdMiniIconName = "commander/MiniIcons/com_sensor_grey"; + targetNameTag = 'Large'; + targetTypeTag = 'Sensor'; + sensorData = SensorLgPulseObj; + sensorRadius = SensorLgPulseObj.detectRadius; + sensorColor = "255 194 9"; + + debrisShapeName = "debris_generic.dts"; + debris = StaticShapeDebris; +}; + +datablock SensorData(SensorMedPulseObj) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 175; +}; + +datablock StaticShapeData(SensorMediumPulse) : StaticShapeDamageProfile +{ + className = Sensor; + catagory = "Sensors"; + shapeFile = "sensor_pulse_medium.dts"; + maxDamage = 1.2; + destroyedLevel = 1.2; + disabledLevel = 0.68; + explosion = ShapeExplosion; + expDmgRadius = 7.0; + expDamage = 0.4; + expImpulse = 1500; + + dynamicType = $TypeMasks::SensorObjectType; + isShielded = true; + energyPerDamagePoint = 33; + maxEnergy = 90; + rechargeRate = 0.31; + ambientThreadPowered = true; + humSound = SensorHumSound; + + cmdCategory = "Support"; + cmdIcon = CMDSensorIcon; + cmdMiniIconName = "commander/MiniIcons/com_sensor_grey"; + targetNameTag = 'Medium'; + targetTypeTag = 'Sensor'; + sensorData = SensorMedPulseObj; + sensorRadius = SensorMedPulseObj.detectRadius; + sensorColor = "255 194 9"; + + debrisShapeName = "debris_generic.dts"; + debris = StaticShapeDebris; +}; + +function Sensor::onGainPowerEnabled(%data, %obj) +{ + setTargetSensorData(%obj.target, %data.sensorData); + Parent::onGainPowerEnabled(%data, %obj); +} + +function Sensor::onLosePowerDisabled(%data, %obj) +{ + setTargetSensorData(%obj.target, 0); + Parent::onLosePowerDisabled(%data, %obj); +} + +//****************************************************************************** +//* Generator - Data Blocks * +//****************************************************************************** + +datablock AudioProfile(GeneratorHumSound) +{ + filename = "fx/powered/generator_hum.wav"; + description = CloseLooping3d; + preload = true; +}; + + +datablock StaticShapeData(GeneratorLarge) : StaticShapeDamageProfile +{ + className = Generator; + catagory = "Generators"; + shapeFile = "station_generator_large.dts"; + explosion = ShapeExplosion; + maxDamage = 1.50; + destroyedLevel = 1.50; + disabledLevel = 0.85; + expDmgRadius = 10.0; + expDamage = 0.5; + expImpulse = 1500.0; + noIndividualDamage = true; //flag to make these invulnerable for certain mission types + + dynamicType = $TypeMasks::GeneratorObjectType; + isShielded = true; + energyPerDamagePoint = 30; + maxEnergy = 50; + rechargeRate = 0.05; + humSound = GeneratorHumSound; + + cmdCategory = "Support"; + cmdIcon = "CMDGeneratorIcon"; + cmdMiniIconName = "commander/MiniIcons/com_generator"; + targetTypeTag = 'Generator'; + + debrisShapeName = "debris_generic.dts"; + debris = StaticShapeDebris; +}; + +datablock StaticShapeData(SolarPanel) : StaticShapeDamageProfile +{ + className = Generator; + catagory = "Generators"; + shapeFile = "solarpanel.dts"; + explosion = ShapeExplosion; + maxDamage = 1.00; + destroyedLevel = 1.00; + disabledLevel = 0.55; + expDmgRadius = 5.0; + expDamage = 0.3; + expImpulse = 1000.0; + noIndividualDamage = true; //flag to make these invulnerable for certain mission types + emap = true; + + isShielded = true; + energyPerDamagePoint = 30; + rechargeRate = 0.05; + + dynamicType = $TypeMasks::GeneratorObjectType; + maxEnergy = 30; + humSound = GeneratorHumSound; + + cmdCategory = "Support"; + cmdIcon = CMDSolarGeneratorIcon; + cmdMiniIconName = "commander/MiniIcons/com_solargen_grey"; + targetTypeTag = 'Solar Panel'; + + debrisShapeName = "debris_generic.dts"; + debris = StaticShapeDebris; +}; + +function Generator::onDisabled(%data, %obj, %prevState) +{ + %obj.decPowerCount(); + Parent::onDisabled(%data, %obj, %prevState); +} + +function Generator::onEnabled(%data, %obj, %prevState) +{ + %obj.incPowerCount(); + Parent::onEnabled(%data, %obj, %prevState); +} + +//****************************************************************************** +//Nexus Effect (Hunters) +//****************************************************************************** + +datablock StaticShapeData(Nexus_Effect) +{ + catagory = "Objectives"; + shapefile = "nexus_effect.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; +}; + + +datablock StaticShapeData(NexusBase) +{ + catagory = "Objectives"; + shapefile = "Nexusbase.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; +}; + + +datablock StaticShapeData(NexusCap) +{ + catagory = "Objectives"; + shapefile = "Nexuscap.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; +}; + +//****************************************************************************** +//* Static Shape - Functions * +//****************************************************************************** + +function StaticShapeData::create(%block) +{ + %obj = new StaticShape() + { + dataBlock = %block; + }; + return(%obj); +} + +function ShapeBase::damage(%this, %sourceObject, %position, %amount, %damageType) +{ + %this.getDataBlock().damageObject(%this, %sourceObject, %position, %amount, %damageType); +} + +function ShapeBaseData::damageObject(%data, %targetObject, %position, %sourceObject, %amount, %damageType) +{ + +} + +function ShapeBaseData::onDestroyed(%data, %obj, %prevState) +{ + +} + +function ShapeBaseData::checkShields(%data, %targetObject, %position, %amount, %damageType) +{ + %energy = %targetObject.getEnergyLevel(); + %strength = %energy / %data.energyPerDamagePoint; + %shieldScale = %data.shieldDamageScale[%damageType]; + if(%shieldScale $= "") + %shieldScale = 1; + + if (%amount * %shieldScale <= %strength) { + // Shield absorbs all + %lost = %amount * %shieldScale * %data.energyPerDamagePoint; + %energy -= %lost; + %targetObject.setEnergyLevel(%energy); + + %normal = "0.0 0.0 1.0"; + %targetObject.playShieldEffect( %normal ); + + return 0; + } + // Shield exhausted + %targetObject.setEnergyLevel(0); + return %amount - %strength / %shieldScale; +} + +function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + // if this is a non-team mission type and the object is "protected", don't damage it + if(%data.noIndividualDamage && Game.allowsProtectedStatics()) + return; + + // if this is a Siege mission and this object shouldn't take damage (e.g. vehicle stations) + if(%data.noDamageInSiege && Game.class $= "SiegeGame") + return; + + if(%sourceObject && %targetObject.isEnabled()) + { + if(%sourceObject.client) + { + %targetObject.lastDamagedBy = %sourceObject.client; + %targetObject.lastDamagedByTeam = %sourceObject.client.team; + %targetObject.damageTimeMS = GetSimTime(); + } + else + { + %targetObject.lastDamagedBy = %sourceObject; + %targetObject.lastDamagedByTeam = %sourceObject.team; + %targetObject.damageTimeMS = GetSimTime(); + } + } + + // Scale damage type & include shield calculations... + if (%data.isShielded) + %amount = %data.checkShields(%targetObject, %position, %amount, %damageType); + + %damageScale = %data.damageScale[%damageType]; + if(%damageScale !$= "") + %amount *= %damageScale; + + //if team damage is off, cap the amount of damage so as not to disable the object... + if (!$TeamDamage && !%targetObject.getDataBlock().deployedObject) + { + // ------------------------------------- + // z0dd - ZOD, 6/24/02. Console spam fix + if(isObject(%sourceObject)) + { + //see if the object is being shot by a friendly + if(%sourceObject.getDataBlock().catagory $= "Vehicles") + %attackerTeam = getVehicleAttackerTeam(%sourceObject); + else + %attackerTeam = %sourceObject.team; + } + if ((%targetObject.getTarget() != -1) && isTargetFriendly(%targetObject.getTarget(), %attackerTeam)) + { + %curDamage = %targetObject.getDamageLevel(); + %availableDamage = %targetObject.getDataBlock().disabledLevel - %curDamage - 0.05; + if (%amount > %availableDamage) + %amount = %availableDamage; + } + } + + // if there's still damage to apply + if (%amount > 0) + %targetObject.applyDamage(%amount); +} + +// little special casing for the above function +function getVehicleAttackerTeam(%vehicleId) +{ + %name = %vehicleId.getDataBlock().getName(); + if(%name $= "BomberFlyer" || %name $= "AssaultVehicle") + %gunner = %vehicleId.getMountNodeObject(1); + else + %gunner = %vehicleId.getMountNodeObject(0); + + if(%gunner) + return %gunner.team; + + return %vehicleId.team; +} + + +function StaticShapeData::onDamage(%this,%obj) +{ + // Set damage state based on current damage level + %damage = %obj.getDamageLevel(); + if(%damage >= %this.destroyedLevel) + { + if(%obj.getDamageState() !$= "Destroyed") + { + %obj.setDamageState(Destroyed); + // if object has an explosion damage radius associated with it, apply explosion damage + if(%this.expDmgRadius) + RadiusExplosion(%obj, %obj.getWorldBoxCenter(), %this.expDmgRadius, %this.expDamage, %this.expImpulse, %obj, $DamageType::Explosion); + %obj.setDamageLevel(%this.maxDamage); + } + } + else + { + if(%damage >= %this.disabledLevel) + { + if(%obj.getDamageState() !$= "Disabled") + %obj.setDamageState(Disabled); + } + else + { + if(%obj.getDamageState() !$= "Enabled") + %obj.setDamageState(Enabled); + } + } +} + +// -------------------------------------------------------------------- +// Team logos - only the logo projector should be placed in a mission + +datablock StaticShapeData(BaseLogo) //storm logo +{ + className = Logo; + shapeFile = "teamlogo_storm.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(BaseBLogo) //Inferno Logo +{ + className = Logo; + shapeFile = "teamlogo_inf.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(BiodermLogo) +{ + className = Logo; + shapeFile = "teamlogo_bd.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(BEagleLogo) +{ + className = Logo; + shapeFile = "teamlogo_be.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(DSwordLogo) +{ + className = Logo; + shapeFile = "teamlogo_ds.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(COTPLogo) +{ + className = Logo; + shapeFile = "teamlogo_hb.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(SwolfLogo) +{ + className = Logo; + shapeFile = "teamlogo_sw.dts"; + alwaysAmbient = true; +}; + +datablock StaticShapeData(LogoProjector) +{ + className = Projector; + catagory = "Objectives"; + shapeFile = "teamlogo_projector.dts"; + alwaysAmbient = true; + isInvincible = true; +}; + +function Projector::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + %obj.holo = 0; +} + +//////////////////////////////////////////// +// Tapestries +/////////////////////////////////////////// +datablock StaticShapeData(Banner_Honor) +{ + catagory = "Eyecandy"; + shapefile = "banner_honor.dts"; +}; + +datablock StaticShapeData(Banner_Strength) +{ + catagory = "Eyecandy"; + shapefile = "banner_strength.dts"; +}; + +datablock StaticShapeData(Banner_Unity) +{ + catagory = "Eyecandy"; + shapefile = "banner_unity.dts"; +}; + +//////////////////////////////////////////////////////////////////////////////// +// + +//-------------------------------------------------------------------------- +// Totally static objects +// The format of these strings are: +// 0: Catagory +// 1: Name +// 2: File +// 3: MaxSlope [ only used with the randomOrg function ] +// 4: ZOffset [ only used with the randomOrg function ] +// 5: slopeWithTerrain [ only used with the randomOrg function ] +// 6: minScale [ only used with the randomOrg function ] +// 7: maxScale [ only used with the randomOrg function ] + + +$StaticTSObjects[0] = "Organics BiodermPlant3 xorg3.dts"; +$StaticTSObjects[1] = "Organics BiodermPlant4 xorg4.dts"; +$StaticTSObjects[2] = "Organics BiodermPlant5 xorg5.dts"; +$StaticTSObjects[3] = "Organics BiodermPlant20 xorg20.dts"; +$StaticTSObjects[4] = "Organics BiodermPlant21 xorg21.dts"; +$StaticTSObjects[5] = "Organics BiodermPlant22 xorg22.dts"; + +$StaticTSObjects[6] = "Organics BEPlant1 borg1.dts 40 0.35 1 0.5 2"; +$StaticTSObjects[7] = "Organics BEPlant5 borg5.dts 40 0.0 1 1 1.5"; +$StaticTSObjects[8] = "Organics BEPlant6 borg6.dts"; +$StaticTSObjects[9] = "Organics BEPlant7 borg7.dts"; + +$StaticTSObjects[10] = "Organics BEPlant12 borg12.dts"; +$StaticTSObjects[11] = "Organics BEPlant13 borg13.dts"; +$StaticTSObjects[12] = "Organics BELgTree16 borg16.dts 20 -3.0 0 0.8 1.5"; +$StaticTSObjects[13] = "Organics BESmTree17 borg17.dts 20 -3.0 1 0.8 1.5"; +$StaticTSObjects[14] = "Organics BELgTree18 borg18.dts 20 -3.0 0 0.8 1.5"; +$StaticTSObjects[15] = "Organics BELgTree19 borg19.dts 20 -3.0 0 0.8 1.5"; +$StaticTSObjects[16] = "Organics BEPlant20 borg20.dts"; + +$StaticTSObjects[17] = "Organics BEPlant23 borg23.dts"; +$StaticTSObjects[18] = "Organics BEPlant25 borg25.dts"; + +$StaticTSObjects[19] = "Organics BEPlant31 borg31.dts"; +$StaticTSObjects[20] = "Organics BEPlant32 borg32.dts"; +$StaticTSObjects[21] = "Organics BEPlant33 borg33.dts"; +$StaticTSObjects[22] = "Organics BEPlant34 borg34.dts"; + +$StaticTSObjects[23] = "Organics PhoenixPlant1 porg1.dts"; +$StaticTSObjects[24] = "Organics PhoenixPlant2 porg2.dts"; +$StaticTSObjects[25] = "Organics PhoenixPlant3 porg3.dts"; +$StaticTSObjects[26] = "Organics PhoenixPlant5 porg5.dts 25 -0.2 1 0.6 1.0"; +$StaticTSObjects[27] = "Organics PhoenixPlant6 porg6.dts"; +$StaticTSObjects[28] = "Organics PhoenixPlant20 porg20.dts"; + +$StaticTSObjects[29] = "Organics PhoenixPlant22 porg22.dts 25 0.1 1 0.8 1.4"; +$StaticTSObjects[30] = "Organics SWTree20 sorg20.dts"; +$StaticTSObjects[31] = "Organics SWShrub21 sorg21.dts"; +$StaticTSObjects[32] = "Organics SWTree22 sorg22.dts"; +$StaticTSObjects[33] = "Organics SWShrub23 sorg23.dts"; +$StaticTSObjects[34] = "Organics SWShrub24 sorg24.dts"; +$StaticTSObjects[35] = "Stackables Crate1 stackable1l.dts"; +$StaticTSObjects[36] = "Stackables Crate2 stackable1m.dts"; +$StaticTSObjects[37] = "Stackables Crate3 stackable1s.dts"; +$StaticTSObjects[38] = "Stackables Crate4 stackable2l.dts"; +$StaticTSObjects[39] = "Stackables Crate5 stackable2m.dts"; +$StaticTSObjects[40] = "Stackables Crate6 stackable2s.dts"; +$StaticTSObjects[41] = "Stackables Crate7 stackable3l.dts"; +$StaticTSObjects[42] = "Stackables Crate8 stackable3m.dts"; +$StaticTSObjects[43] = "Stackables Crate9 stackable3s.dts"; +$StaticTSObjects[44] = "Stackables Crate10 stackable4l.dts"; +$StaticTSObjects[45] = "Stackables Crate11 stackable4m.dts"; +$StaticTSObjects[46] = "Stackables Crate12 stackable5l.dts"; +$StaticTSObjects[47] = "Debris ScoutWreckageShape vehicle_air_scout_wreck.dts"; +$StaticTSObjects[48] = "Debris TankWreckageShape vehicle_land_assault_wreck.dts"; +$StaticTSObjects[49] = "Organics DSPlant16 dorg16.dts 20 -3.0 0 0.8 1.5"; +$StaticTSObjects[50] = "Organics DSPlant17 dorg17.dts 20 -3.0 1 0.8 1.5"; +$StaticTSObjects[51] = "Organics DSPlant18 dorg18.dts 20 -3.0 0 0.8 1.5"; +$StaticTSObjects[52] = "Organics DSPlant19 dorg19.dts 20 -3.0 0 0.8 1.5"; + +$StaticTSObjects[53] = "PlayerArmors LightMaleHumanArmorImage light_male.dts"; +$StaticTSObjects[54] = "PlayerArmors MediumMaleHumanArmorImage medium_male.dts"; +$StaticTSObjects[55] = "PlayerArmors HeavyMaleHumanArmorImage heavy_male.dts"; +$StaticTSObjects[56] = "PlayerArmors LightFemaleHumanArmorImage light_female.dts"; +$StaticTSObjects[57] = "PlayerArmors MediumFemaleHumanArmorImage medium_female.dts"; +$StaticTSObjects[58] = "PlayerArmors HeavyFemaleHumanArmorImage heavy_male.dts"; +$StaticTSObjects[59] = "PlayerArmors LightMaleBiodermArmorImage bioderm_light.dts"; +$StaticTSObjects[60] = "PlayerArmors MediumMaleBiodermArmorImage bioderm_medium.dts"; +$StaticTSObjects[61] = "PlayerArmors HeavyMaleBiodermArmorImage bioderm_heavy.dts"; + +$StaticTSObjects[62] = "Organics BEGrass1 Borg6.dts"; + +$StaticTSObjects[63] = "Plugs bePlug bmiscf.dts"; +$StaticTSObjects[64] = "Plugs dsPlug dmiscf.dts"; +$StaticTSObjects[65] = "Plugs xPlug xmiscf.dts"; +$StaticTSObjects[66] = "Plugs hPlug pmiscf.dts"; +$StaticTSObjects[67] = "Plugs swPlug smiscf.dts"; + +$StaticTSObjects[68] = "Statues Base statue_base.dts"; +$StaticTSObjects[69] = "Statues HeavyMaleStatue statue_hmale.dts"; +$StaticTSObjects[70] = "Statues LightFemaleStatue statue_lfemale.dts"; +$StaticTSObjects[71] = "Statues LightMaleStatue statue_lmale.dts"; +$StaticTSObjects[72] = "Statues Plaque statue_plaque.dts"; + +$StaticTSObjects[73] = "Debris BomberDebris1 bdb1.dts"; +$StaticTSObjects[74] = "Debris BomberDebris2 bdb2.dts"; +$StaticTSObjects[75] = "Debris BomberDebris3 bdb3.dts"; +$StaticTSObjects[76] = "Debris BomberDebris4 bdb4.dts"; +$StaticTSObjects[77] = "Debris BomberDebris5 bdb5.dts"; +$StaticTSObjects[78] = "Debris HavocDebris1 hdb1.dts"; +$StaticTSObjects[79] = "Debris HavocDebris2 hdb2.dts"; +$StaticTSObjects[80] = "Debris HavocDebris3 hdb3.dts"; +$StaticTSObjects[81] = "Debris IDebris1 idb.dts"; +$StaticTSObjects[82] = "Debris MPBDebris1 mpbdb1.dts"; +$StaticTSObjects[83] = "Debris MPBDebris2 mpbdb2.dts"; +$StaticTSObjects[84] = "Debris MPBDebris3 mpbdb3.dts"; +$StaticTSObjects[85] = "Debris MPBDebris4 mpbdb4.dts"; +$StaticTSObjects[86] = "Debris ScoutDebris1 sdb1.dts"; +$StaticTSObjects[87] = "Debris TankDebris1 tdb1.dts"; +$StaticTSObjects[88] = "Debris TankDebris2 tdb2.dts"; +$StaticTSObjects[89] = "Debris TankDebris3 tdb3.dts"; +$StaticTSObjects[90] = "Debris GraveMarker1 gravemarker1.dts"; +$StaticTSObjects[91] = "Test Test1 test1.dts"; +$StaticTSObjects[92] = "Test Test2 test2.dts"; +$StaticTSObjects[93] = "Test Test3 test3.dts"; +$StaticTSObjects[94] = "Test Test4 test4.dts"; +$StaticTSObjects[95] = "Test Test5 test5.dts"; + + + +$NumStaticTSObjects = 96; + +function TSStatic::create(%shapeName) +{ + //echo("Foo:" SPC %shapeName); + %obj = new TSStatic() + { + shapeName = %shapeName; + }; + return(%obj); +} + +function TSStatic::damage(%this) +{ + // prevent console error spam +} + +function stripFields(%this) +{ + if(%this $= "") + %this = MissionGroup; + for (%i = 0; %i < %this.getCount(); %i++){ + %obj = %this.getObject(%i); + if (%obj.getClassName() $= SimGroup) + { + %obj.powerCount = ""; + %obj.team = ""; + stripFields(%obj); + } + else + { + %obj.threshold = ""; + %obj.team = ""; + %obj.powerCount = ""; + %obj.trigger = ""; + %obj.hidden = ""; + %obj.locked = "true"; + %obj.notReady = ""; + %obj.inUse = ""; + %obj.triggeredBy = ""; + %obj.lastDamagedBy = ""; + %obj.lastDamagedByTeam =""; + %obj.isHome = ""; + %obj.originalPosition = ""; + %obj.objectiveCompleted = ""; + %obj.number = ""; + %obj.target = ""; + %obj.lockCount = ""; + %obj.homingCount = ""; + %obj.projector = ""; + %obj.holo = ""; + %obj.waypoint = ""; + %obj.scoreValue =""; + %obj.damageTimeMS = ""; + %obj.station = ""; + %homingCount = ""; + } + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/station.cs b/public/base/@vl2/scripts.vl2/scripts/station.cs new file mode 100644 index 00000000..77fa8820 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/station.cs @@ -0,0 +1,1224 @@ +//****************************************************************************** +//* Station - Data Blocks * +//****************************************************************************** +datablock EffectProfile(StationInventoryActivateEffect) +{ + effectname = "powered/inv_pad_on"; + minDistance = 5.0; + maxDistance = 7.5; +}; + +datablock EffectProfile(StationVehicleAcitvateEffect) +{ + effectname = "powered/vehicle_screen_on2"; + minDistance = 3.0; + maxDistance = 5.0; +}; + +datablock EffectProfile(StationVehicleDeactivateEffect) +{ + effectname = "powered/vehicle_screen_off"; + minDistance = 3.0; + maxDistance = 5.0; +}; + +//datablock EffectProfile(MobileBaseInventoryActivateEffect) +//{ +// effectname = "misc/diagnostic_on"; +// minDistance = 3.0; +//}; + +datablock EffectProfile(StationAccessDeniedEffect) +{ + effectname = "powered/station_denied"; + minDistance = 3.0; + maxDistance = 5.0; +}; + +datablock AudioProfile(StationInventoryActivateSound) +{ + filename = "fx/powered/inv_pad_on.wav"; + description = AudioClose3d; + preload = true; + effect = StationInventoryActivateEffect; +}; + +datablock AudioProfile(MobileBaseInventoryActivateSound) +{ + filename = "fx/vehicles/mpb_inv_station.wav"; + description = AudioClose3d; + preload = true; + effect = StationInventoryActivateEffect; +}; + +datablock AudioProfile(DepInvActivateSound) +{ + filename = "fx/powered/dep_inv_station.wav"; + description = AudioClose3d; + preload = true; + effect = StationInventoryActivateEffect; +}; + +datablock AudioProfile(StationVehicleAcitvateSound) +{ + filename = "fx/powered/vehicle_screen_on2.wav"; + description = AudioClosest3d; + preload = true; + effect = StationVehicleAcitvateEffect; +}; + +datablock AudioProfile(StationVehicleDeactivateSound) +{ + filename = "fx/powered/vehicle_screen_off.wav"; + description = AudioClose3d; + preload = true; + effect = StationVehicleDeactivateEffect; +}; + +datablock AudioProfile(StationAccessDeniedSound) +{ + filename = "fx/powered/station_denied.wav"; + description = AudioClosest3d; + preload = true; + effect = StationAccessDeniedEffect; +}; + +datablock AudioProfile(StationVehicleHumSound) +{ + filename = "fx/powered/station_hum.wav"; + description = CloseLooping3d; + preload = true; +}; + +datablock AudioProfile(StationInventoryHumSound) +{ + filename = "fx/powered/station_hum.wav"; + description = CloseLooping3d; + preload = true; +}; + +datablock StationFXPersonalData( PersonalInvFX ) +{ + delay = 0; + fadeDelay = 0.5; + lifetime = 1.2; + height = 2.5; + numArcSegments = 10.0; + numDegrees = 180.0; + trailFadeTime = 0.5; + leftRadius = 1.85; + rightRadius = 1.85; + leftNodeName = "FX1"; + rightNodeName = "FX2"; + + texture[0] = "special/stationLight"; +}; + + +datablock DebrisData( StationDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.40; + friction = 0.5; + + lifetime = 17.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 0.4; + + velocity = 9.0; + velocityVariance = 4.5; + +}; + +datablock StaticShapeData(StationInventory) : StaticShapeDamageProfile +{ + className = Station; + catagory = "Stations"; + shapeFile = "station_inv_human.dts"; + maxDamage = 1.00; + destroyedLevel = 1.00; + disabledLevel = 0.70; + explosion = ShapeExplosion; + expDmgRadius = 8.0; + expDamage = 0.4; + expImpulse = 1500.0; + // don't allow this object to be damaged in non-team-based + // mission types (DM, Rabbit, Bounty, Hunters) + noIndividualDamage = true; + + dynamicType = $TypeMasks::StationObjectType; + isShielded = true; + energyPerDamagePoint = 75; + maxEnergy = 50; + rechargeRate = 0.35; + doesRepair = true; + humSound = StationInventoryHumSound; + + cmdCategory = "Support"; + cmdIcon = CMDStationIcon; + cmdMiniIconName = "commander/MiniIcons/com_inventory_grey"; + targetNameTag = 'Inventory'; + targetTypeTag = 'Station'; + + debrisShapeName = "debris_generic.dts"; + debris = StationDebris; +}; + +datablock StaticShapeData(StationAmmo) : StaticShapeDamageProfile +{ + className = Station; + catagory = "Stations"; +// shapeFile = "station_ammo.dts"; + shapeFile = "station_inv_human.dts"; + maxDamage = 1.00; + destroyedLevel = 1.00; + disabledLevel = 0.70; + explosion = ShapeExplosion; + expDmgRadius = 8.0; + expDamage = 0.4; + expImpulse = 1500.0; + // don't allow this object to be damaged in non-team-based + // mission types (DM, Rabbit, Bounty, Hunters) + noIndividualDamage = true; + + dynamicType = $TypeMasks::StationObjectType; + isShielded = true; + energyPerDamagePoint = 75; + maxEnergy = 50; + rechargeRate = 0.35; + doesRepair = true; + humSound = StationInventoryHumSound; + + cmdCategory = "Support"; + cmdIcon = CMDStationIcon; + cmdMiniIconName = "commander/MiniIcons/com_inventory_grey"; + targetNameTag = 'Ammo'; + targetTypeTag = 'Station'; + + debrisShapeName = "debris_generic.dts"; + debris = StationDebris; +}; + +datablock StaticShapeData(StationVehicle) : StaticShapeDamageProfile +{ + className = Station; + catagory = "Stations"; + shapeFile = "vehicle_pad_station.dts"; + maxDamage = 1.20; + destroyedLevel = 1.20; + disabledLevel = 0.84; + explosion = ShapeExplosion; + expDmgRadius = 10.0; + expDamage = 0.4; + expImpulse = 1500.0; + dynamicType = $TypeMasks::StationObjectType; + isShielded = true; + energyPerDamagePoint = 33; + maxEnergy = 250; + rechargeRate = 0.31; + humSound = StationVehicleHumSound; + // don't let these be damaged in Siege missions + noDamageInSiege = true; + + cmdCategory = "Support"; + cmdIcon = CMDVehicleStationIcon; + cmdMiniIconName = "commander/MiniIcons/com_vehicle_pad_inventory"; + targetTypeTag = 'Vehicle Station'; + + debrisShapeName = "debris_generic.dts"; + debris = StationDebris; +}; + +datablock StaticShapeData(StationVehiclePad) +{ + className = Station; + catagory = "Stations"; + shapeFile = "vehicle_pad.dts"; + isInvincible = true; + dynamicType = $TypeMasks::StaticObjectType; + rechargeRate = 0.05; + + // ------------------------------------------ + // z0dd - ZOD, 5/8/02. CC bug fix parameter. + // Part of overall V-Station creation change. + targetTypeTag = 'Vehicle Pad'; +}; + +//datablock StaticShapeData(StationAmmo) +//{ +// className = Station; +// catagory = "Stations"; +// shapeFile = "station_ammo.dts"; +// maxDamage = 1.0; +// disabledLevel = 0.6; +// destroyedLevel = 0.8; +// icon = "CMDStationIcon"; +// dynamicType = $TypeMasks::StationObjectType; +//}; + +datablock StaticShapeData(MobileInvStation) +{ + className = Station; + catagory = "Stations"; + shapeFile = "station_inv_mpb.dts"; + icon = "CMDStationIcon"; + // don't allow this object to be damaged in non-team-based + // mission types (DM, Rabbit, Bounty, Hunters) + noIndividualDamage = true; + + dynamicType = $TypeMasks::StationObjectType; + rechargeRate = 0.256; + doesRepair = true; +}; + + +//****************************************************************************** +//* Station - Functions * +//****************************************************************************** + +//////////////////////////////////////////////////////////////////////////////// +/// -Inventory- //////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +/// -Inventory- //////////////////////////////////////////////////////////////// +//Function -- onAdd (%this, %obj) +// %this = Object data block +// %obj = Object being added +//Decription -- Called when the object is added to the mission +//////////////////////////////////////////////////////////////////////////////// +function StationInventory::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + + %obj.setRechargeRate(%obj.getDatablock().rechargeRate); + %trigger = new Trigger() + { + dataBlock = stationTrigger; + polyhedron = "-0.75 0.75 0.1 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.3"; + }; + MissionCleanup.add(%trigger); + %trigger.setTransform(%obj.getTransform()); + + %trigger.station = %obj; + %trigger.mainObj = %obj; + %trigger.disableObj = %obj; + %obj.trigger = %trigger; +} + +/// -Inventory- //////////////////////////////////////////////////////////////// +//Function -- stationReady(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called when station has been triggered and animation is +// completed +//////////////////////////////////////////////////////////////////////////////// +function StationInventory::stationReady(%data, %obj) +{ + //Display the Inventory Station GUI here + %obj.notReady = 1; + %obj.inUse = "Down"; + %obj.schedule(500,"playThread",$ActivateThread,"activate1"); + %player = %obj.triggeredBy; + %energy = %player.getEnergyLevel(); + // ------------------------------------------------- + // z0dd - ZOD, 4/20/02. Addition. Inv energy bug fix + %max = %player.getDatablock().maxEnergy; + + %player.setCloaked(true); + %player.schedule(500, "setCloaked", false); + if (!%player.client.isAIControlled()) + buyFavorites(%player.client); + + // ------------------------------------------------- + // z0dd - ZOD, 4/20/02. Addition. Inv energy bug fix + //%player.setEnergyLevel(%energy); + %player.setEnergyLevel(mFloor(%player.getDatablock().maxEnergy * %energy / %max)); + + %data.schedule( 500, "beginPersonalInvEffect", %obj ); +} + +function StationInventory::beginPersonalInvEffect( %data, %obj ) +{ + if (!%obj.isDisabled()) + { + %fx = new StationFXPersonal() + { + dataBlock = PersonalInvFX; + stationObject = %obj; + }; + } +} + +/// -Inventory- //////////////////////////////////////////////////////////////// +//Function -- stationFinished(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called when player has left the station +//////////////////////////////////////////////////////////////////////////////// +function StationInventory::stationFinished(%data, %obj) +{ + //Hide the Inventory Station GUI +} + +/// -Inventory- //////////////////////////////////////////////////////////////// +//Function -- getSound(%data, %forward) +// %data = Station Data Block +// %forward = direction the animation is playing +//Decription -- This sound will be played at the same time as the activate +// animation. +//////////////////////////////////////////////////////////////////////////////// +function StationInventory::getSound(%data, %forward) +{ + if(%forward) + return "StationInventoryActivateSound"; + else + return false; +} + +/// -Inventory- //////////////////////////////////////////////////////////////// +//Function -- setPlayerPosition(%data, %obj, %trigger, %colObj) +// %data = Station Data Block +// %obj = Station Object +// %trigger = Stations trigger +// %colObj = Object that is at the station +//Decription -- Called when player enters the trigger. Used to set the player +// in the center of the station. +//////////////////////////////////////////////////////////////////////////////// +function StationInventory::setPlayersPosition(%data, %obj, %trigger, %colObj) +{ + %vel = getWords(%colObj.getVelocity(), 0, 1) @ " 0"; + if((VectorLen(%vel) < 22) && (%obj.triggeredBy != %colObj)) + { + %pos = %trigger.position; + %colObj.setvelocity("0 0 0"); + %rot = getWords(%colObj.getTransform(),3, 6); + %colObj.setTransform(getWord(%pos,0) @ " " @ getWord(%pos,1) @ " " @ getWord(%pos,2) + 0.8 @ " " @ %rot);//center player on object + %colObj.setMoveState(true); + %colObj.schedule(1600,"setMoveState", false); + %colObj.setvelocity("0 0 0"); + return true; + } + return false; +} + +/////////////////////////////////////////////////////////////////////////////// +/// -Ammo- //////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// + +function StationAmmo::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + + %obj.setRechargeRate(%obj.getDatablock().rechargeRate); + %trigger = new Trigger() + { + dataBlock = stationTrigger; + polyhedron = "-0.75 0.75 0.1 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.3"; + }; + MissionCleanup.add(%trigger); + %trigger.setTransform(%obj.getTransform()); + + %trigger.station = %obj; + %trigger.mainObj = %obj; + %trigger.disableObj = %obj; + %obj.trigger = %trigger; +} + +//------------------------------------------------------------------------------- +function StationAmmo::stationReady(%data, %obj) +{ + //error("StationAmmo::stationReady"); + %obj.notReady = 1; + %obj.inUse = "Down"; + %obj.setThreadDir($ActivateThread, true); + %obj.schedule(100, "playThread", $ActivateThread, "activate1"); + %player = %obj.triggeredBy; + %energy = %player.getEnergyLevel(); + //%player.setCloaked(true); + //%player.schedule(500, "setCloaked", false); + + + if (!%player.client.isAIControlled()) + getAmmoStationLovin(%player.client); + //%data.schedule( 500, "beginPersonalInvEffect", %obj ); +} + +//------------------------------------------------------------------------------- +function StationAmmo::onEndSequence(%data, %obj, %thread) +{ + if(%thread == $ActivateThread) + { + %obj.setThreadDir($ActivateThread, false); + %obj.playThread( $ActivateThread, "activate1"); + if(%obj.inUse $= "Up") + { + %data.stationReady(%obj); + %player = %obj.triggeredBy; + if(%data.doesRepair && !%player.stationRepairing && %player.getDamageLevel() != 0) { + %oldRate = %player.getRepairRate(); + %player.setRepairRate(%oldRate + 0.00625); + %player.stationRepairing = 1; + } + } + } + //Parent::onEndSequence(%data, %obj, %thread); +} + +//------------------------------------------------------------------------------- +function StationAmmo::stationFinished(%data, %obj) +{ + //Hide the Inventory Station GUI +} + +//------------------------------------------------------------------------------- +function StationAmmo::getSound(%data, %forward) +{ + if(%forward) + return "StationInventoryActivateSound"; + else + return false; +} + +//------------------------------------------------------------------------------- +function StationAmmo::setPlayersPosition(%data, %obj, %trigger, %colObj) +{ + %vel = getWords(%colObj.getVelocity(), 0, 1) @ " 0"; + if((VectorLen(%vel) < 22) && (%obj.triggeredBy != %colObj)) + { + %pos = %trigger.position; + %colObj.setvelocity("0 0 0"); + %rot = getWords(%colObj.getTransform(),3, 6); + %colObj.setTransform(getWord(%pos,0) @ " " @ getWord(%pos,1) @ " " @ getWord(%pos,2) + 0.8 @ " " @ %rot);//center player on object + %colObj.setMoveState(true); + %colObj.schedule(1600,"setMoveState", false); + %colObj.setvelocity("0 0 0"); + return true; + } + return false; +} + +//////////////////////////////////////////////////////////////////////////////// +/// -Vehicle- ////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +/// -Vehicle- ////////////////////////////////////////////////////////////////// +//Function -- onAdd (%this, %obj) +// %this = Object data block +// %obj = Object being added +//Decription -- Called when the object is added to the mission +//////////////////////////////////////////////////////////////////////////////// + +// ----------------------------------------------------------------------------- +// z0dd - ZOD - Founder(founder@mechina.com), 5/8/02. Totall re-write of Vehicle +// station creation. More stable, addresses some power related bugs. + +// Do not need this anymore. +//function StationVehicle::onAdd(%this, %obj) +//{ +// Parent::onAdd(%this, %obj); + +// %obj.setRechargeRate(%obj.getDatablock().rechargeRate); +// %trigger = new Trigger() +// { +// dataBlock = stationTrigger; +// polyhedron = "-0.75 0.75 0.0 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.0"; +// }; +// MissionCleanup.add(%trigger); +// %trigger.setTransform(%obj.getTransform()); +// %trigger.station = %obj; +// %obj.trigger = %trigger; +//} + +// This now creates the vehicle station trigger. +function StationVehicle::createTrigger(%this, %obj) +{ + %trigger = new Trigger() + { + dataBlock = stationTrigger; + polyhedron = "-0.75 0.75 0.0 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.0"; + }; + MissionCleanup.add(%trigger); + %trigger.setTransform(%obj.getTransform()); + %trigger.station = %obj; + %obj.trigger = %trigger; +} +// End z0dd - ZOD - Founder +// ----------------------------------------------------------------------------- + +/// -Vehicle- ////////////////////////////////////////////////////////////////// +//Function -- stationReady(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called when station has been triggered and animation is +// completed +//////////////////////////////////////////////////////////////////////////////// +function StationVehicle::stationReady(%data, %obj) +{ + // Make sure none of the other popup huds are active: + messageClient( %obj.triggeredBy.client, 'CloseHud', "", 'scoreScreen' ); + messageClient( %obj.triggeredBy.client, 'CloseHud', "", 'inventoryScreen' ); + + //Display the Vehicle Station GUI + commandToClient(%obj.triggeredBy.client, 'StationVehicleShowHud'); +} + +/// -Vehicle- ////////////////////////////////////////////////////////////////// +//Function -- stationFinished(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called when player has left the station +//////////////////////////////////////////////////////////////////////////////// +function StationVehicle::stationFinished(%data, %obj) +{ + //Hide the Vehicle Station GUI + if(!%obj.triggeredBy.isMounted()) + commandToClient(%obj.triggeredBy.client, 'StationVehicleHideHud'); + else + commandToClient(%obj.triggeredBy.client, 'StationVehicleHideJustHud'); + +} + +/// -Vehicle- ////////////////////////////////////////////////////////////////// +//Function -- getSound(%data, %forward) +// %data = Station Data Block +// %forward = direction the animation is playing +//Decription -- This sound will be played at the same time as the activate +// animation. +//////////////////////////////////////////////////////////////////////////////// +function StationVehicle::getSound(%data, %forward) +{ + if(%forward) + return "StationVehicleAcitvateSound"; + else + return "StationVehicleDeactivateSound"; +} + +/// -Vehicle- ////////////////////////////////////////////////////////////////// +//Function -- setPlayerPosition(%data, %obj, %trigger, %colObj) +// %data = Station Data Block +// %obj = Station Object +// %trigger = Stations trigger +// %colObj = Object that is at the station +//Decription -- Called when player enters the trigger. Used to set the player +// in the center of the station. +//////////////////////////////////////////////////////////////////////////////// +function StationVehicle::setPlayersPosition(%data, %obj, %trigger, %colObj) +{ + %vel = getWords(%colObj.getVelocity(), 0, 1) @ " 0"; + if((VectorLen(%vel) < 22) && (%obj.triggeredBy != %colObj)) + { + %posXY = getWords(%trigger.getTransform(),0 ,1); + %posZ = getWord(%trigger.getTransform(), 2); + %rotZ = getWord(%obj.getTransform(), 5); + %angle = getWord(%obj.getTransform(), 6); + %angle += 3.141592654; + if(%angle > 6.283185308) + %angle = %angle - 6.283185308; + %colObj.setvelocity("0 0 0"); + %colObj.setTransform(%posXY @ " " @ %posZ + 0.2 @ " " @ "0 0 " @ %rotZ @ " " @ %angle );//center player on object + return true; + } + return false; +} +// ----------------------------------------------------------------------------- +// z0dd - ZOD - Founder(founder@mechina.com), 5/8/02. Totall re-write of Vehicle +// station creation. More stable, addresses some power related bugs. + +function StationVehiclePad::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + + %obj.ready = true; + %obj.setRechargeRate(%obj.getDatablock().rechargeRate); + + //------------------------------------------------------------- + // All of this moved to StationVehiclePad::createStationVehicle + //%xform = %obj.getSlotTransform(0); + //%pos = getWords(%xform, 0, 2); + //%rot = getWords(%xform, 3, 5); + //%angle = (getWord(%xform, 6) * 180) / 3.14159; + + //%sv = new StaticShape() { + // scale = "1 1 1"; + // dataBlock = StationVehicle; + // lockCount = "0"; + // homingCount = "0"; + // team = %obj.team; + // position = %pos; + // rotation = %rot @ " " @ %angle; + //}; + + //MissionCleanup.add(%sv); + //%sv.getDataBlock().gainPower(%sv); + //%sv.pad = %obj; + //%obj.station = %sv; + //%sv.trigger.mainObj = %obj; + //%sv.trigger.disableObj = %sv; + + //Remove unwanted vehicles + //if(%obj.scoutVehicle !$= "Removed") + // %sv.vehicle[scoutvehicle] = true; + //if(%obj.assaultVehicle !$= "Removed") + // %sv.vehicle[assaultVehicle] = true; + //if(%obj.mobileBaseVehicle !$= "Removed") + //{ + // %sv.vehicle[mobileBasevehicle] = true; + //} + //if(%obj.scoutFlyer !$= "Removed") + // %sv.vehicle[scoutFlyer] = true; + //if(%obj.bomberFlyer !$= "Removed") + // %sv.vehicle[bomberFlyer] = true; + //if(%obj.hapcFlyer !$= "Removed") + // %sv.vehicle[hapcFlyer] = true; + + // z0dd - ZOD - Founder. Schedule the vehicle station creation. + // Don't create the station if the pad is hidden by the current mission type. + //error("CURRENT MISSION TYPE: " @ $CurrentMissionType @ ", ALLOWED TYPE: " @ %obj.missionTypesList); + if($CurrentMissionType $= %obj.missionTypesList || %obj.missionTypesList $="") + %this.schedule(0, "createStationVehicle", %obj); +} + +function StationVehiclePad::createStationVehicle(%data, %obj) +{ + // This code used to be called from StationVehiclePad::onAdd + // This was changed so we can add the station to the mission group + // so it gets powered properly and auto cleaned up at mission end. + + // Get the v-pads mission group so we can place the station in it. + %group = %obj.getGroup(); + + // Set the default transform based on the vehicle pads slot + %xform = %obj.getSlotTransform(0); + %position = getWords(%xform, 0, 2); + %rotation = getWords(%xform, 3, 5); + %angle = (getWord(%xform, 6) * 180) / 3.14159; + + // Place these parameter's in the v-pad datablock located in mis file. + // If the mapper doesn't move the station, use the default location. + if(%obj.stationPos $= "" || %obj.stationRot $= "") + { + %pos = %position; + %rot = %rotation @ " " @ %angle; + } + else + { + %pos = %obj.stationPos; + %rot = %obj.stationRot; + } + + %sv = new StaticShape() { + scale = "1 1 1"; + dataBlock = "StationVehicle"; + lockCount = "0"; + homingCount = "0"; + team = %obj.team; + position = %pos; + rotation = %rot; + }; + + // Add the station to the v-pads mission group for cleanup and power. + %group.add(%sv); + %sv.setPersistent(false); // set the station to not save. + + // Apparently called to early on mission load done, call it now. + %sv.getDataBlock().gainPower(%sv); + + // Create the trigger + %sv.getDataBlock().createTrigger(%sv); + %sv.pad = %obj; + %obj.station = %sv; + %sv.trigger.mainObj = %obj; + %sv.trigger.disableObj = %sv; + + // Set the sensor group. + if(%sv.getTarget() != -1) + setTargetSensorGroup(%sv.getTarget(), %obj.team); + + //Remove unwanted vehicles + if(%obj.scoutVehicle !$= "Removed") + %sv.vehicle[scoutvehicle] = true; + if(%obj.assaultVehicle !$= "Removed") + %sv.vehicle[assaultVehicle] = true; + if(%obj.mobileBaseVehicle !$= "Removed") + %sv.vehicle[mobileBasevehicle] = true; + if(%obj.scoutFlyer !$= "Removed") + %sv.vehicle[scoutFlyer] = true; + if(%obj.bomberFlyer !$= "Removed") + %sv.vehicle[bomberFlyer] = true; + if(%obj.hapcFlyer !$= "Removed") + %sv.vehicle[hapcFlyer] = true; +} +// End z0dd - ZOD - Founder +// ----------------------------------------------------------------------------- + +function StationVehiclePad::onEndSequence(%data, %obj, %thread) +{ + if(%thread == $ActivateThread) + { + %obj.ready = true; + %obj.stopThread($ActivateThread); + } + Parent::onEndSequence(%data, %obj, %thread); +} + +//////////////////////////////////////////////////////////////////////////////// +/// -Mobile Base Inventory- //////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +/// -Mobile Base- ////////////////////////////////////////////////////////////// +//Function -- onAdd (%this, %obj) +// %this = Object data block +// %obj = Object being added +//Decription -- Called when the object is added to the mission +//////////////////////////////////////////////////////////////////////////////// +function MobileInvStation::onAdd(%this, %obj) +{ +} + +function MobileInvStation::createTrigger(%this, %obj) +{ + Parent::onAdd(%this, %obj); + + %obj.setRechargeRate(%obj.getDatablock().rechargeRate); + %trigger = new Trigger() + { + dataBlock = stationTrigger; + polyhedron = "-0.75 0.75 0.1 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.3"; + }; + MissionCleanup.add(%trigger); + %trigger.setTransform(%obj.vehicle.getSlotTransform(2)); + + %trigger.station = %obj; + %trigger.mainObj = %obj; + %trigger.disableObj = %obj; + + %obj.trigger = %trigger; +// createTarget(%obj, 'Inventory Station', "", "", 'Station', 0, 0); +} + +/// -Mobile Base- ////////////////////////////////////////////////////////////// +//Function -- stationReady(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called when station has been triggered and animation is +// completed +//////////////////////////////////////////////////////////////////////////////// +function MobileInvStation::stationReady(%data, %obj) +{ + //Display the Inventory Station GUI here + %obj.notReady = 1; + %obj.inUse = "Down"; + %obj.schedule(200,"playThread",$ActivateThread,"activate1"); + %obj.getObjectMount().playThread($ActivateThread,"Activate"); + %player = %obj.triggeredBy; + %energy = %player.getEnergyLevel(); + %player.setCloaked(true); + %player.schedule(900, "setCloaked", false); + if (!%player.client.isAIControlled()) + buyFavorites(%player.client); + + %player.setEnergyLevel(%energy); +} + +/// -Mobile Base- ////////////////////////////////////////////////////////////// +//Function -- stationFinished(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called when player has left the station +//////////////////////////////////////////////////////////////////////////////// +function MobileInvStation::stationFinished(%data, %obj) +{ + //Hide the Inventory Station GUI +} + +/// -Mobile Base- ////////////////////////////////////////////////////////////// +//Function -- getSound(%data, %forward) +// %data = Station Data Block +// %forward = direction the animation is playing +//Decription -- This sound will be played at the same time as the activate +// animation. +//////////////////////////////////////////////////////////////////////////////// +function MobileInvStation::getSound(%data, %forward) +{ + if(%forward) + return "MobileBaseInventoryActivateSound"; + else + return false; +} + +/// -Mobile Base- ////////////////////////////////////////////////////////////// +//Function -- setPlayerPosition(%data, %obj, %trigger, %colObj) +// %data = Station Data Block +// %obj = Station Object +// %trigger = Stations trigger +// %colObj = Object that is at the station +//Decription -- Called when player enters the trigger. Used to set the player +// in the center of the station. +//////////////////////////////////////////////////////////////////////////////// +function MobileInvStation::setPlayersPosition(%data, %obj, %trigger, %colObj) +{ + %vel = getWords(%colObj.getVelocity(), 0, 1) @ " 0"; + if((VectorLen(%vel) < 22) && (%obj.triggeredBy != %colObj)) + { + %pos = %trigger.position; + %colObj.setvelocity("0 0 0"); + %rot = getWords(%colObj.getTransform(),3, 6); +// %colObj.setTransform(getWord(%pos,0) @ " " @ getWord(%pos,1) - 0.75 @ " " @ getWord(%pos,2)+0.7 @ " " @ %rot);//center player on object + %colObj.setTransform(getWord(%pos,0) @ " " @ getWord(%pos,1) @ " " @ getWord(%pos,2)+0.8 @ " " @ %rot);//center player on object + %colObj.setMoveState(true); + %colObj.schedule(1600,"setMoveState", false); + %colObj.setvelocity("0 0 0"); + return true; + } + return false; +} + +function MobileInvStation::onDamage() +{ +} + +function MobileInvStation::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + //If vehicle station is hit then apply damage to the vehicle + %targetObject.getObjectMount().damage(%sourceObject, %position, %amount, %damageType); +} + +//////////////////////////////////////////////////////////////////////////////// +/// -Station Trigger- ////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +////-Station Trigger-/////////////////////////////////////////////////////////// +//Function -- onEnterTrigger (%data, %obj, %colObj) +// %data = Trigger Data Block +// %obj = Trigger Object +// %colObj = Object that collided with the trigger +//Decription -- Called when trigger has been triggered +//////////////////////////////////////////////////////////////////////////////// +function stationTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + //make sure it's a player object, and that that object is still alive + if(%colObj.getDataBlock().className !$= "Armor" || %colObj.getState() $= "Dead") + return; + + %colObj.inStation = true; + commandToClient(%colObj.client,'setStationKeys', true); + if(Game.stationOnEnterTrigger(%data, %obj, %colObj)) { + //verify station.team is team associated and isn't on player's team + if((%obj.mainObj.team != %colObj.client.team) && (%obj.mainObj.team != 0)) + { + //%obj.station.playAudio(2, StationAccessDeniedSound); + messageClient(%colObj.client, 'msgStationDenied', '\c2Access Denied -- Wrong team.~wfx/powered/station_denied.wav'); + } + else if(%obj.disableObj.isDisabled()) + { + messageClient(%colObj.client, 'msgStationDisabled', '\c2Station is disabled.'); + } + else if(!%obj.mainObj.isPowered()) + { + messageClient(%colObj.client, 'msgStationNoPower', '\c2Station is not powered.'); + } + else if(%obj.station.notDeployed) + { + messageClient(%colObj.client, 'msgStationNotDeployed', '\c2Station is not deployed.'); + } + else if(%obj.station.triggeredBy $= "") + { + if(%obj.station.getDataBlock().setPlayersPosition(%obj.station, %obj, %colObj)) + { + messageClient(%colObj.client, 'CloseHud', "", 'inventoryScreen'); + commandToClient(%colObj.client, 'TogglePlayHuds', true); + %obj.station.triggeredBy = %colObj; + %obj.station.getDataBlock().stationTriggered(%obj.station, 1); + %colObj.station = %obj.station; + %colObj.lastWeapon = ( %colObj.getMountedImage($WeaponSlot) == 0 ) ? "" : %colObj.getMountedImage($WeaponSlot).getName().item; + %colObj.unmountImage($WeaponSlot); + } + } + } +} + + +////-Station Trigger-/////////////////////////////////////////////////////////// +//Function -- onLeaveTrigger (%data, %obj, %colObj) +// %data = Trigger Data Block +// %obj = Trigger Object +// %colObj = Object that collided with the trigger +//Decription -- Called when trigger has been untriggered +//////////////////////////////////////////////////////////////////////////////// +function stationTrigger::onLeaveTrigger(%data, %obj, %colObj) +{ + if(%colObj.getDataBlock().className !$= "Armor") + return; + + %colObj.inStation = false; + commandToClient(%colObj.client,'setStationKeys', false); + if(%obj.station) + { + if(%obj.station.triggeredBy == %colObj) + { + %obj.station.getDataBlock().stationFinished(%obj.station); + %obj.station.getDataBlock().endRepairing(%obj.station); + %obj.station.triggeredBy = ""; + %obj.station.getDataBlock().stationTriggered(%obj.station, 0); + + if(!%colObj.teleporting) + %colObj.station = ""; + if(%colObj.getMountedImage($WeaponSlot) == 0 && !%colObj.teleporting) + { + if(%colObj.inv[%colObj.lastWeapon]) + %colObj.use(%colObj.lastWeapon); + + if(%colObj.getMountedImage($WeaponSlot) == 0) + %colObj.selectWeaponSlot( 0 ); + } + } + } +} + +////-Station Trigger-/////////////////////////////////////////////////////////// +//Function -- stationTriggered(%data, %obj, %isTriggered) +// %data = Station Data Block +// %obj = Station Object +// %isTriggered = 1 if triggered; 0 if status changed to +// untriggered +//Decription -- Called when a "station trigger" has been triggered or +// untriggered +//////////////////////////////////////////////////////////////////////////////// +function Station::stationTriggered(%data, %obj, %isTriggered) +{ + + + if(%isTriggered) + { + %obj.setThreadDir($ActivateThread, TRUE); + %obj.playThread($ActivateThread,"activate"); + %obj.playAudio($ActivateSound, %data.getSound(true)); + %obj.inUse = "Up"; + } + else + { + if(%obj.getDataBlock().getName() !$= StationVehicle) + { + %obj.stopThread($ActivateThread); + if(%obj.getObjectMount()) + %obj.getObjectMount().stopThread($ActivateThread); + %obj.inUse = "Down"; + } + else + { + %obj.setThreadDir($ActivateThread, FALSE); + %obj.playThread($ActivateThread,"activate"); + %obj.playAudio($ActivateSound, %data.getSound(false)); + %obj.inUse = "Down"; + } + } +} + +////-Station-/////////////////////////////////////////////////////////////////// +//Function -- onEndSequence(%data, %obj, %thread) +// %data = Station Data Block +// %obj = Station Object +// %thread = Thread number that the animation is associated +// with / running on. +//Decription -- Called when an animation sequence is finished playing +//////////////////////////////////////////////////////////////////////////////// +function Station::onEndSequence(%data, %obj, %thread) +{ + if(%thread == $ActivateThread) + { + if(%obj.inUse $= "Up") + { + %data.stationReady(%obj); + %player = %obj.triggeredBy; + if(%data.doesRepair && !%player.stationRepairing && %player.getDamageLevel() != 0) { + %oldRate = %player.getRepairRate(); + %player.setRepairRate(%oldRate + 0.00625); + %player.stationRepairing = 1; + } + } + else + { + if(%obj.getDataBlock().getName() !$= MobileInvStation) + { + %obj.stopThread($ActivateThread); + %obj.inUse = "Down"; + } + } + } + Parent::onEndSequence(%data, %obj, %thread); +} + +////-Station-/////////////////////////////////////////////////////////////////// +//Function -- onCollision(%data, %obj, %colObj) +// %data = Station Data Block +// %obj = Station Object +// %colObj = Object that collided with the station +//Decription -- Called when an object collides with a station +//////////////////////////////////////////////////////////////////////////////// +function Station::onCollision(%data, %obj, %colObj) +{ + // Currently Not Needed +} + +////-Station-/////////////////////////////////////////////////////////////////// +//Function -- endRepairing(%data, %obj) +// %data = Station Data Block +// %obj = Station Object +//Decription -- Called to stop repairing the object +//////////////////////////////////////////////////////////////////////////////// +function Station::endRepairing(%data, %obj) +{ + if(%obj.triggeredBy.stationRepairing) + { + %oldRate = %obj.triggeredBy.getRepairRate(); + %obj.triggeredBy.setRepairRate(%oldRate - 0.00625); + %obj.triggeredBy.stationRepairing = 0; + } +} + +////-Station Trigger-/////////////////////////////////////////////////////////// +//Function -- onTickTrigger(%data, %obj) +// %data = Trigger Data Block +// %obj = Trigger Object +//Decription -- Called every tick if triggered +//////////////////////////////////////////////////////////////////////////////// +function stationTrigger::onTickTrigger(%data, %obj) +{ +} + +//****************************************************************************** +//* Station General - Functions * +//****************************************************************************** + +//function Station::onGainPowerEnabled(%data, %obj) + +function Station::onLosePowerDisabled(%data, %obj) +{ + Parent::onLosePowerDisabled(%data, %obj); + + // check to see if a player was using this station + %occupied = %obj.triggeredBy; + if(%occupied > 0) + { + if(%data.doesRepair) + %data.endRepairing(%obj); + // if it's a deployed station, stop "flashing panels" thread + if(%data.getName() $= DeployedStationInventory) + %obj.stopThread($ActivateThread); + // reset some attributes + %occupied.setCloaked(false); + %occupied.station = ""; + %occupied.inStation = false; + %obj.triggeredBy = ""; + // restore "toggle inventory hud" key + commandToClient(%occupied.client,'setStationKeys', false); + // re-mount last weapon or weapon slot 0 + if(%occupied.getMountedImage($WeaponSlot) == 0) + { + // ---------------------------------------------- + // z0dd - ZOD, 5/8/02. Optimized. + //if(%occupied.inv[%occupied.lastWeapon]) + // %occupied.use(%occupied.lastWeapon); + //if(%occupied.getMountedImage($WeaponSlot) == 0) + // %occupied.selectWeaponSlot( 0 ); + if(%occupied.inv[%occupied.lastWeapon]) + %occupied.use(%occupied.lastWeapon); + else + %occupied.selectWeaponSlot( 0 ); + // End z0dd - ZOD + // ---------------------------------------------- + } + } +} + +// ----------------------------------------------------------------------------- +// z0dd - ZOD - Founder(founder@mechina.com), 5/8/02. Totall re-write of Vehicle +// station creation. More stable, addresses some power related bugs. + +// These are not needed anymore. +//function StationVehiclePad::gainPower(%data, %obj) +//{ +// %obj.station.setSelfPowered(); +// Parent::gainPower(%data, %obj); +//} + +//function StationVehiclePad::losePower(%data, %obj) +//{ +// %obj.station.clearSelfPowered(); +// Parent::losePower(%data, %obj); +//} +// End z0dd - ZOD - Founder +// ----------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// DeployedStationInventory: +//--------------------------------------------------------------------------- + +function DeployedStationInventory::stationReady(%data, %obj) +{ + %obj.notReady = 1; + %player = %obj.triggeredBy; + %obj.playThread($ActivateThread,"activate1"); + // function below found in inventoryHud.cs + if (!%player.client.isAIControlled()) + buyDeployableFavorites(%player.client); +} + +function DeployedStationInventory::stationFinished(%data, %obj) +{ +} + +function DeployedStationInventory::setPlayersPosition(%data, %obj, %trigger, %colObj) +{ + %vel = getWords(%colObj.getVelocity(), 0, 1) @ " 0"; + if((VectorLen(%vel) < 22) && (%obj.triggeredBy != %colObj)) + { + // build offset for player position + %rot = getWords(%obj.getTransform(), 3, 6); + %colObj.setTransform( getWords(%colObj.getTransform(),0,2) @ " " @ %rot ); + + %colObj.setvelocity("0 0 0"); + %colObj.setMoveState(true); + %colObj.schedule(1600,"setMoveState", false); + return true; + } + return false; +} + +function DeployedStationInventory::onDestroyed(%data, %obj, %prevState) +{ + %obj.trigger.delete(); + // decrement team deployed count for this item + $TeamDeployedCount[%obj.team, InventoryDeployable]--; + + // when a station is destroyed, we don't need its trigger any more + %obj.schedule(700, "delete"); + Parent::onDestroyed(%data, %obj, %prevState); +} + +/// -Deployable Inventory- ////////////////////////////////////////////////////////////// +//Function -- getSound(%data, %forward) +// %data = Station Data Block +// %forward = direction the animation is playing +//Decription -- This sound will be played at the same time as the activate +// animation. +//////////////////////////////////////////////////////////////////////////////// +function DeployedStationInventory::getSound(%data, %forward) +{ + if(%forward) + return "DepInvActivateSound"; + else + return false; +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/stationSetInv.cs b/public/base/@vl2/scripts.vl2/scripts/stationSetInv.cs new file mode 100644 index 00000000..a96a7f29 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/stationSetInv.cs @@ -0,0 +1,217 @@ +function LightMaleHumanArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function MediumMaleHumanArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(MissileLauncher, 1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function HeavyMaleHumanArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 15); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function LightFemaleHumanArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function MediumFemaleHumanArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(MissileLauncher, 1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function HeavyFemaleHumanArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 15); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function LightMaleBiodermArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} + +function MediumMaleBiodermArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(MissileLauncher, 1); + %player.setInventory(MissileLauncherAmmo, 10); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} +function HeavyMaleBiodermArmor::stationSetInv(%data, %player) +{ + %saveImage = %player.getMountedImage($WeaponSlot); + + %player.clearInventory(); + %player.client.setWeaponsHudClearAll(); + + %player.setInventory(RepairKit,1); + %player.setInventory(Mine,3); + %player.setInventory(Grenade,6); + %player.setInventory(Blaster,1); + %player.setInventory(Plasma,1); + %player.setInventory(Disc,1); + %player.setInventory(Chaingun, 1); + %player.setInventory(GrenadeLauncher, 1); + %player.setInventory(Mortar, 1); + %player.setInventory(MortarAmmo, 15); + %player.setInventory(GrenadeLauncherAmmo, 25); + %player.setInventory(PlasmaAmmo,20); + %player.setInventory(ChaingunAmmo, 100); + %player.setInventory(DiscAmmo, 20); + + %player.use(%saveImage.Item); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/targetManager.cs b/public/base/@vl2/scripts.vl2/scripts/targetManager.cs new file mode 100644 index 00000000..855d1fe5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/targetManager.cs @@ -0,0 +1,230 @@ +//-------------------------------------------------------------------------- +// helper function for creating targets +function createTarget(%obj, %nameTag, %skinTag, %voiceTag, %typeTag, %sensorGroup, %voicePitch) +{ + if (%voicePitch $= "" || %voicePitch == 0) + %voicePitch = 1.0; + %data = (%obj.getType() & $TypeMasks::ShapeBaseObjectType) ? %obj.getDataBlock() : 0; + %target = allocTarget(%nameTag, %skinTag, %voiceTag, %typeTag, %sensorGroup, %data, %voicePitch); + + %obj.setTarget(%target); + return(%target); +} + +//-------------------------------------------------------------------------- +// useful for when a client switches teams or joins the game +function clientResetTargets(%client, %tasksOnly) +{ + if(%client.isAiControlled()) + return; + + // remove just tasks or everything? + resetClientTargets(%client, %tasksOnly); + + // notify the client to cleanup the gui... + commandToClient(%client, 'ResetTaskList'); +} + +//-------------------------------------------------------------------------- +// useful at end of missions +function resetTargetManager() +{ + %count = ClientGroup.getCount(); + + // clear the lookup table + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + $TargetToClient[%client.target] = ""; + } + + // reset all the targets on all the connections + resetTargets(); + + // create targets for all the clients + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + + if(!%client.isAiControlled()) + commandToClient(%client, 'ResetTaskList'); + + // reset the clients target and update the lookup table + %client.target = allocClientTarget(%client, %client.name, %client.skin, %client.voiceTag, '_ClientConnection', 0, 0, %client.voicePitch); + } +} + +//-------------------------------------------------------------------------- +// wrap the client targets to maintain a lookup table on the server +function allocClientTarget(%client, %nameTag, %skinTag, %voiceTag, %typeTag, %sensorGroup, %datablock, %voicePitch) +{ + if (%voicePitch $= "" || %voicePitch == 0) + %voicePitch = 1.0; + echo("allocating client target - skin = " @ getTaggedString(%skinTag)); + %target = allocTarget(%nameTag, %skinTag, %voiceTag, %typeTag, %sensorGroup, %datablock, %voicePitch, %skinTag); + + // first bit is the triangle + setTargetRenderMask(%target, (1 << $TargetInfo::HudRenderStart)); + + $TargetToClient[%target] = %client; + return(%target); +} + +function freeClientTarget(%client) +{ + $TargetToClient[%client.target] = ""; + freeTarget(%client.target); +} + +//-------------------------------------------------------------------------- +function ClientTarget::onAdd(%this, %type) +{ + %this.client = TaskList.currentTaskClient; + %this.AIObjective = TaskList.currentAIObjective; + %this.team = TaskList.currentTaskIsTeam; + %this.description = TaskList.currentTaskDescription; + + %player = $PlayerList[%this.client]; + %this.clientName = %player ? %player.name : "[Unknown]"; + + switch$(%type) + { + case "AssignedTask": + TaskList.currentTask = %this; + %this.setText(%this.description); + + case "PotentialTask": + // add to the task list and display a message + TaskList.addTask(%this, %this.clientName, detag(%this.description)); + %this.setText(%this.description); + } +} + +function ClientTarget::onDie(%this, %type) +{ + // if this target is not removed from its current group then it will be + // deleted on return of this call + switch$(%type) + { + case "AssignedTask": // let it die + TaskList.currentTask = -1; + + case "PotentialTask": + TaskList.handleDyingTask(%this); + } +} + +//-------------------------------------------------------------------------- +// debug: useless if not compiled debug +//-------------------------------------------------------------------------- +function displayTargetManagerInfo() +{ + if(!isObject(TargetManagerInfoDlg)) + { + new GuiControl(TargetManagerInfoDlg) + { + profile = "GuiModelessDialogProfile"; + open = false; + + new GuiWindowCtrl(TargetManagerInfoWindow) + { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 100"; + extent = "600 300"; + canMove = true; + canClose = true; + resizeWidth = true; + resizeHeight = true; + canMinimize = true; + canMaximize = true; + + new GuiScrollCtrl() + { + profile = "GuiScrollCtrlProfile"; + position = "4 20"; + extent = "592 276"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiScrollContentCtrl() + { + profile = "GuiScrollContentProfile"; + position = "0 0"; + extent = "576 276"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiTargetManagerListCtrl(TargetManagerInfo) + { + profile = "GuiTextArrayProfile"; + position = "0 0"; + extent = "10 10"; + horizSizing = "width"; + vertSizing = "height"; + clipColumnText = true; + }; + }; + }; + }; + }; + } + + toggleTheWindow(true); +} + +function toggleTheWindow(%val) +{ + if(!%val) + return; + + if(TargetManagerInfoDlg.open) + Canvas.popDialog(TargetManagerInfoDlg); + else + Canvas.pushDialog(TargetManagerInfoDlg, 98); +} + +function toggleTheMouse(%val) +{ + if(!%val) + return; + toggleMouse(); +} + +function toggleTheClient(%val) +{ + if(!%val) + return; + + TargetManagerInfo.serverTargets = !TargetManagerInfo.serverTargets; + TargetManagerInfoDlg.updateWindowText(); +} + +function TargetManagerInfoDlg::updateWindowText() +{ + if(TargetManagerInfo.serverTargets) + TargetManagerInfoWindow.setText("Target Manager Info: "); + else + TargetManagerInfoWindow.setText("Target Manager Info: "); +} + +function TargetManagerInfoDlg::onWake(%this) +{ + %this.open = true; + TargetManagerInfo.columns = "0 20 120 200 240 280 320 360 420 480 530 580 630 680"; + + GlobalActionMap.bind(keyboard, j, toggleTheWindow); + GlobalActionMap.bind(keyboard, k, toggleTheMouse); + GlobalActionMap.bind(keyboard, l, toggleTheClient); + %this.updateWindowText(); +} + +function TargetManagerInfoDlg::onSleep(%this) +{ + %this.open = false; + GlobalActionMap.unbind(keyboard, k); + GlobalActionMap.unbind(keyboard, l); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/trigger.cs b/public/base/@vl2/scripts.vl2/scripts/trigger.cs new file mode 100644 index 00000000..f9094e7d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/trigger.cs @@ -0,0 +1,124 @@ +//-------------------------------------------------------------------------- +// Trigger functions and datablocks... +// +// +//-------------------------------------------------------------------------- + +datablock TriggerData(defaultTrigger) +{ + tickPeriodMS = 200; +}; + +datablock TriggerData(hairTrigger) +{ + tickPeriodMS = 30; +}; + +datablock TriggerData(slowTrigger) +{ + tickPeriodMS = 1000; +}; + +datablock TriggerData(stationTrigger) +{ + tickPeriodMS = 30; +}; + +datablock TriggerData(gameTrigger) +{ + tickPeriodMS = 50; +}; + +datablock TriggerData(markerTrigger) +{ + tickPeriodMS = 100000; +}; +//-------------------------------------------------------------------------- +datablock TriggerData(defaultTeamTrigger) +{ + tickPeriodMS = 200; +}; + +function defaultTeamTrigger::onEnterTrigger(%this, %trigger, %triggeringObject) +{ + %group = %trigger.getGroup(); + if (!%group) + return; + for (%i = 0; %i < %group.getCount(); %i++) { + %object = %group.getObject(%i); + if (%triggeringObject.team == %trigger.team) + %object.onTrigger(%trigger, 1); + } +} + +function defaultTeamTrigger::onLeaveTrigger(%this, %trigger, %triggeringObject) +{ + %group = %trigger.getGroup(); + if (!%group) + return; + for (%i = 0; %i < %group.getCount(); %i++) { + %object = %group.getObject(%i); + if (%triggeringObject.team == %trigger.team) + %object.onTrigger(%trigger, 0); + } +} + +function defaultTeamTrigger::onTickTrigger(%this, %trigger) +{ + %group = %trigger.getGroup(); + if (!%group) + return; + %tick = false; + for (%i = 0; %i < %trigger.getNumObjects(); %i++) { + if (%trigger.getObject(%i).team == %trigger.team) { + %tick = true; + break; + } + } + + if (%tick == true) { + for (%i = 0; %i < %group.getCount(); %i++) { + %object = %group.getObject(%i); + %object.onTriggerTick(%trigger); + } + } +} + +//****************************************************************************** +//* Game Trigger - Functions * +//****************************************************************************** + +/// -Trigger- ////////////////////////////////////////////////////////////////// +//Function -- onEnterTrigger (%data, %obj, %colObj) +// %data = Trigger Data Block +// %obj = Trigger Object +// %colObj = Object that collided with the trigger +//Decription -- Called when trigger has been triggered +//////////////////////////////////////////////////////////////////////////////// +function gameTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + Game.onEnterTrigger(%obj.name, %data, %obj, %colObj); +} + +/// -Trigger- ////////////////////////////////////////////////////////////////// +//Function -- onLeaveTrigger (%data, %obj, %colObj) +// %data = Trigger Data Block +// %obj = Trigger Object +// %colObj = Object that collided with the trigger +//Decription -- Called when trigger has been untriggered +//////////////////////////////////////////////////////////////////////////////// +function gameTrigger::onLeaveTrigger(%data, %obj, %colObj) +{ + Game.onLeaveTrigger(%obj.name, %data, %obj, %colObj); +} + +/// -Trigger- ////////////////////////////////////////////////////////////////// +//Function -- onTickTrigger(%data, %obj) +// %data = Trigger Data Block +// %obj = Trigger Object +//Decription -- Called every tick if triggered +//////////////////////////////////////////////////////////////////////////////// +function gameTrigger::onTickTrigger(%data, %obj) +{ + Game.onTickTrigger(%obj.name, %data, %obj); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/turret.cs b/public/base/@vl2/scripts.vl2/scripts/turret.cs new file mode 100644 index 00000000..5eb1123d --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turret.cs @@ -0,0 +1,348 @@ +// sounds and effects +/////////////////////// +datablock EffectProfile(DeployableExplosionEffect) +{ + effectname = "explosions/explosion.xpl10"; + minDistance = 10; + maxDistance = 50; +}; + +datablock AudioProfile(DeployablesExplosionSound) +{ + filename = "fx/explosions/deployables_explosion.wav"; + description = AudioExplosion3d; + preload = true; + effect = DeployableExplosionEffect; +}; + +//-------------------------------------------------------------------------- +// Shockwave +//-------------------------------------------------------------------------- +datablock ShockwaveData(TurretShockwave) +{ + width = 6.0; + numSegments = 20; + numVertSegments = 2; + velocity = 8; + acceleration = 20.0; + lifetimeMS = 1500; + height = 1.0; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = true; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.8 0.8 0.8 1.00"; + colors[1] = "0.8 0.5 0.2 0.20"; + colors[2] = "1.0 0.5 0.5 0.0"; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------------------------------------------- +datablock ExplosionData(TurretExplosion) +{ + explosionShape = "effect_plasma_explosion.dts"; + soundProfile = ShapeExplosionSound; + faceViewer = true; + shockwave = TurretShockwave; +}; + +datablock ExplosionData(SmallTurretExplosion) +{ + soundProfile = DeployablesExplosionSound; + faceViewer = true; + + explosionShape = "effect_plasma_explosion.dts"; + sizes[0] = "0.3 0.3 0.3"; + sizes[1] = "0.3 0.3 0.3"; + times[0] = 0; + times[1] = 1; +}; + + +//-------------------------------------------------------------------------- +// Turret Debris +//-------------------------------------------------------------------------- +datablock DebrisData( TurretDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.20; + friction = 0.5; + + lifetime = 17.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 0.4; + + velocity = 9.0; + velocityVariance = 4.5; +}; + +datablock DebrisData( TurretDebrisSmall ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.20; + friction = 0.5; + + lifetime = 17.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 0.2; + + velocity = 5.0; + velocityVariance = 2.5; +}; + + +//-------------------------------------------------------------------------- +// Turret base class functionality. Barrels are in scripts/weapons/*.cs +// +// +//-------------------------------------------------------------------------- + +function TurretData::create(%block) +{ + %obj = new Turret() { + dataBlock = %block; + }; + + return %obj; +} + +datablock SensorData(TurretBaseSensorObj) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 80; +}; + + +datablock TurretData(TurretBaseLarge) : TurretDamageProfile +{ + className = TurretBase; + catagory = "Turrets"; + shapeFile = "turret_base_large.dts"; + preload = true; + + mass = 1.0; // Not really relevant + + maxDamage = 2.25; + destroyedLevel = 2.25; + disabledLevel = 1.35; + explosion = TurretExplosion; + expDmgRadius = 15.0; + expDamage = 0.66; + expImpulse = 2000.0; + repairRate = 0; + emap = true; + + thetaMin = 15; + thetaMax = 140; + + isShielded = true; + energyPerDamagePoint = 50; + maxEnergy = 150; + rechargeRate = 0.31; + humSound = SensorHumSound; + pausePowerThread = true; + + canControl = true; + cmdCategory = "Tactical"; + cmdIcon = CMDTurretIcon; + cmdMiniIconName = "commander/MiniIcons/com_turretbase_grey"; + targetNameTag = 'Base'; + targetTypeTag = 'Turret'; + sensorData = TurretBaseSensorObj; + sensorRadius = TurretBaseSensorObj.detectRadius; + sensorColor = "0 212 45"; + + firstPersonOnly = true; + + debrisShapeName = "debris_generic.dts"; + debris = TurretDebris; +}; + +function TurretData::onGainPowerEnabled(%data, %obj) +{ + Parent::onGainPowerEnabled(%data, %obj); + setTargetSensorData(%obj.target, %data.sensorData); +} + +function TurretData::onLosePowerDisabled(%data, %obj) +{ + // Must kick players out of turret + + Parent::onLosePowerDisabled(%data, %obj); + %obj.clearTarget(); + setTargetSensorData(%obj.target, 0); +} + +function TurretData::selectTarget(%this, %turret) +{ + %turretTarg = %turret.getTarget(); + if(%turretTarg == -1) + return; + + // if the turret isn't on a team, don't fire at anyone + if(getTargetSensorGroup(%turretTarg) == 0) + { + %turret.clearTarget(); + return; + } + + // stop firing if turret is disabled or if it needs power and isn't powered + if((!%turret.isPowered()) && (!%turret.needsNoPower)) + { + %turret.clearTarget(); + return; + } + + %TargetSearchMask = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType; + + InitContainerRadiusSearch(%turret.getMuzzlePoint(0), + %turret.getMountedImage(0).attackRadius, + %TargetSearchMask); + + while ((%potentialTarget = ContainerSearchNext()) != 0) + { + %potTargTarg = %potentialTarget.getTarget(); + if (%turret.isValidTarget(%potentialTarget) && (getTargetSensorGroup(%turretTarg) != getTargetSensorGroup(%potTargTarg))) + { + %turret.setTargetObject(%potentialTarget); + return; + } + } +} + +function TurretData::replaceCallback(%this, %turret, %engineer) +{ + // This is a valid replacement. First, let's see if the engineer + // still has the correct pack in place... + if (%engineer.getMountedImage($BackPackSlot) != 0) + { + %barrel = %engineer.getMountedImage($BackPackSlot).turretBarrel; + if (%barrel !$= "") + { + // if there was a barrel there before, get rid of it + %turret.unmountImage(0); + // remove the turret barrel pack + %engineer.setInventory(%engineer.getMountedImage($BackPackSlot).item, 0); + // mount new barrel on base + %turret.mountImage(%barrel, 0, false); + } + else + { + // Player doesn't have the correct pack on... + } + } + else + { + // Player doesn't have any pack on... + } +} + +function TurretData::onDestroyed(%this, %turret, %prevState) +{ + if( isObject( %turret.lastProjectile ) ) + %turret.lastProjectile.delete(); + + Parent::onDestroyed(%this, %turret, %prevState); +} + +function checkTurretMount(%data, %obj, %slot) +{ + // search for a turret base in player's LOS + %eyeVec = VectorNormalize(%obj.getEyeVector()); + %srchRange = VectorScale(%eyeVec, 5.0); // look 5m for a turret base + %plTm = %obj.getEyeTransform(); + %plyrLoc = firstWord(%plTm) @ " " @ getWord(%plTm, 1) @ " " @ getWord(%plTm, 2); + %srchEnd = VectorAdd(%plyrLoc, %srchRange); + %potTurret = ContainerRayCast(%obj.getEyeTransform(), %srchEnd, $TypeMasks::TurretObjectType); + if(%potTurret != 0) + { + %otherMountObj = "foo"; + + if(%potTurret.getDatablock().getName() $= "TurretBaseLarge" || %potTurret.getDatablock().getName() $= %otherMountObj) + { + // found a turret base, what team is it on? + if(%potTurret.team == %obj.client.team) + { + if(%potTurret.getDamageState() !$= "Enabled") + { + // the base is destroyed + messageClient(%obj.client, 'MsgBaseDestroyed', "\c2Turret base is disabled, cannot mount barrel."); + %obj.setImageTrigger($BackpackSlot, false); + } + else + { + // it's a functional turret base on our team! stick the barrel on it + messageClient(%obj.client, 'MsgTurretMount', "\c2Mounting barrel pack on turret base."); + serverPlay3D(TurretPackActivateSound, %potTurret.getTransform()); + %potTurret.initiateBarrelSwap(%obj); + } + } + else + { + // whoops, wrong team + messageClient(%obj.client, 'MsgTryEnemyTurretMount', "\c2Cannot mount a barrel on an enemy turret base!"); + %obj.setImageTrigger($BackpackSlot, false); + } + } + else + { + // tried to mount barrel on some other turret type + messageClient(%obj.client, 'MsgNotTurretBase', "\c2Can only mount a barrel on a turret base."); + %obj.setImageTrigger($BackpackSlot, false); + } + } + else + { + // I don't see any turret + messageClient(%obj.client, 'MsgNoTurretBase', "\c2No turret within range."); + %obj.setImageTrigger($BackpackSlot, false); + } +} + +//-------------------------------------- Load Barrel Images +// +exec("scripts/turrets/mortarBarrelLarge.cs"); +exec("scripts/turrets/aaBarrelLarge.cs"); +exec("scripts/turrets/missileBarrelLarge.cs"); +exec("scripts/turrets/plasmaBarrelLarge.cs"); +exec("scripts/turrets/ELFBarrelLarge.cs"); +exec("scripts/turrets/outdoorDeployableBarrel.cs"); +exec("scripts/turrets/indoorDeployableBarrel.cs"); +exec("scripts/turrets/sentryTurret.cs"); \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/ELFBarrelLarge.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/ELFBarrelLarge.cs new file mode 100644 index 00000000..4c584f79 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/ELFBarrelLarge.cs @@ -0,0 +1,157 @@ +//-------------------------------------------------------------------------- +// ELF Turret barrel +//-------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------------------------------------------- +datablock EffectProfile(EBLSwitchEffect) +{ + effectname = "powered/turret_light_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(EBLFireEffect) +{ + effectname = "weapons/ELF_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(EBLSwitchSound) +{ + filename = "fx/powered/turret_light_activate.wav"; + description = AudioClose3d; + preload = true; + effect = EBLSwitchEffect; +}; + +datablock AudioProfile(EBLFireSound) +{ + filename = "fx/weapons/ELF_fire.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = EBLFireEffect; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- + +datablock ELFProjectileData(ELFTurretBolt) +{ + beamRange = 75; + numControlPoints = 8; + restorativeFactor = 3.75; + dragFactor = 4.5; + endFactor = 2.25; + randForceFactor = 2; + randForceTime = 0.125; + drainEnergy = 1.0; + drainHealth = 0.0015; + directDamageType = $DamageType::ELFTurret; + + mainBeamWidth = 0.1; // width of blue wave beam + mainBeamSpeed = 9.0; // speed that the beam travels forward + mainBeamRepeat = 0.25; // number of times the texture repeats + lightningWidth = 0.1; + lightningDist = 0.15; // distance of lightning from main beam + + fireSound = EBLFireSound; + + textures[0] = "special/ELFBeam"; + textures[1] = "special/ELFLightning"; + textures[2] = "special/BlueImpact"; + // -------------------------------------------------------------------- + // z0dd - ZOD, 5/27/02. Was missing this parameter, (console spam fix). + emitter = ELFSparksEmitter; +}; + +//-------------------------------------------------------------------------- +// ELF Turret Image +//-------------------------------------------------------------------------- + +datablock TurretImageData(ELFBarrelLarge) +{ + shapeFile = "turret_elf_large.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = ELFBarrelLargePack; + item = ELFBarrelPack; + + projectile = ELFTurretBolt; + projectileType = ELFProjectile; + deleteLastProjectile = true; + usesEnergy = true; + fireEnergy = 0.0; + minEnergy = 0.0; + + // Turret parameters + activationMS = 500; + deactivateDelayMS = 100; + thinkTimeMS = 100; + degPerSecTheta = 580; + degPerSecPhi = 960; + attackRadius = 75; + + yawVariance = 30.0; // these will smooth out the elf tracking code. + pitchVariance = 30.0; // more or less just tolerances + + // State transiltions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = EBLSwitchSound; + stateTimeoutValue[1] = 1; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateSound[3] = EBLFireSound; + stateScript[3] = "onFire"; + stateTransitionOnTriggerUp[3] = "Deconstruction"; + stateTransitionOnNoAmmo[3] = "Deconstruction"; + + stateName[4] = "Reload"; + stateTimeoutValue[4] = 0.01; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 1; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + + stateName[7] = "NoAmmo"; + stateTransitionOnAmmo[7] = "Reload"; + stateSequence[7] = "NoAmmo"; + + stateName[8] = "Deconstruction"; + stateScript[8] = "deconstruct"; + stateTransitionOnNoAmmo[8] = "NoAmmo"; + stateTransitionOnTimeout[8] = "Reload"; + stateTimeoutValue[8] = 0.1; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/aaBarrelLarge.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/aaBarrelLarge.cs new file mode 100644 index 00000000..81e903f1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/aaBarrelLarge.cs @@ -0,0 +1,266 @@ +//-------------------------------------- +// Default blaster +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Sounds and feedback effects +//-------------------------------------- + +datablock EffectProfile(AASwitchEffect) +{ + effectname = "powered/turret_light_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(AAFireEffect) +{ + effectname = "powered/turret_aa_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(AASwitchSound) +{ + filename = "fx/powered/turret_aa_activate.wav"; + description = AudioClose3d; + preload = true; + effect = AASwitchEffect; +}; + +datablock AudioProfile(AAFireSound) +{ + filename = "fx/powered/turret_aa_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = AAFireEffect; +}; + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock ParticleData(AABulletExplosionParticle1) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent4"; + colors[0] = "0.57 0.41 1.0 1.0"; + colors[1] = "0.57 0.41 1.0 1.0"; + colors[2] = "0.57 0.41 0.0 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(AABulletExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.5; + ejectionOffset = 0.0; + thetaMin = 70; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "AABulletExplosionParticle1"; +}; + +datablock ParticleData(AABulletExplosionParticle2) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/blasterHit"; + colors[0] = "0.57 0.41 1.0 0.6"; + colors[1] = "0.57 0.41 1.0 0.6"; + colors[2] = "0.57 0.41 0.0 0.0"; + sizes[0] = 0.3; + sizes[1] = 0.90; + sizes[2] = 1.50; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(AABulletExplosionEmitter2) +{ + ejectionPeriodMS = 30; + periodVarianceMS = 0; + ejectionVelocity = 1; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = false; + lifetimeMS = 200; + particles = "AABulletExplosionParticle2"; +}; + +datablock ExplosionData(AABulletExplosion) +{ + soundProfile = blasterExpSound; + emitter[0] = AABulletExplosionEmitter; + emitter[1] = AABulletExplosionEmitter2; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock TracerProjectileData(AABullet) +{ + doDynamicClientHits = true; + + projectileShapeName = "energy_bolt.dts"; + directDamage = 0.25; + directDamageType = $DamageType::AATurret; + explosion = "AABulletExplosion"; + splash = ChaingunSplash; + + dryVelocity = 150.0; + wetVelocity = 100.0; + velInheritFactor = 1.0; + fizzleTimeMS = 3000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + tracerLength = 20; + tracerAlpha = false; + tracerMinPixels = 3; + tracerColor = "1 1 1 1"; + tracerTex[0] = "special/shrikeBolt"; + tracerTex[1] = "special/shrikeBoltCross"; + tracerWidth = 0.55; + crossSize = 0.99; + crossViewAng = 0.990; + renderCross = true; + emap = true; +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock TurretImageData(AABarrelLarge) +{ + shapeFile = "turret_aa_large.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = AABarrelLargePack; + item = AABarrelPack; + + projectileType = TracerProjectile; + projectile = AABullet; + usesEnergy = true; + fireEnergy = 4.0; + minEnergy = 4.0; + emap = true; + isSeeker = true; + seekRadius = 200; + maxSeekAngle = 6; + seekTime = 1.0; + minSeekHeat = 0.6; + useTargetAudio = false; + + // Turret parameters + activationMS = 250; + deactivateDelayMS = 500; + thinkTimeMS = 200; + degPerSecTheta = 600; + degPerSecPhi = 1080; + attackRadius = 200; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = AASwitchSound; + stateTimeoutValue[1] = 1.0; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + stateScript[1] = "AAActivateReady"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire1"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateScript[2] = "AAReady"; + + stateName[3] = "Fire1"; + stateTransitionOnTimeout[3] = "Reload1"; + stateTimeoutValue[3] = 0.15; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire1"; + stateSound[3] = AAFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload1"; + stateTimeoutValue[4] = 0.2; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Fire2"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Fire2"; + stateTransitionOnTimeout[5] = "Reload2"; + stateTimeoutValue[5] = 0.15; + stateFire[5] = true; + stateRecoil[5] = LightRecoil; + stateAllowImageChange[5] = false; + stateSequence[5] = "Fire2"; + stateSound[5] = AAFireSound; + stateScript[5] = "onFire"; + + stateName[6] = "Reload2"; + stateTimeoutValue[6] = 0.2; + stateAllowImageChange[6] = false; + stateSequence[6] = "Reload"; + stateTransitionOnTimeout[6] = "Ready"; + stateTransitionOnNotLoaded[6] = "Deactivate"; + stateTransitionOnNoAmmo[6] = "NoAmmo"; + + stateName[7] = "Deactivate"; + stateSequence[7] = "Activate"; + stateDirection[7] = false; + stateTimeoutValue[7] = 1.0; + stateTransitionOnLoaded[7] = "ActivateReady"; + stateTransitionOnTimeout[7] = "Dead"; + + stateName[8] = "Dead"; + stateTransitionOnLoaded[8] = "ActivateReady"; + + stateName[9] = "NoAmmo"; + stateTransitionOnAmmo[9] = "Reload2"; + stateSequence[9] = "NoAmmo"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/indoorDeployableBarrel.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/indoorDeployableBarrel.cs new file mode 100644 index 00000000..29c2bfa0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/indoorDeployableBarrel.cs @@ -0,0 +1,328 @@ +datablock EffectProfile(IBLSwitchEffect) +{ + effectname = "powered/turret_light_activate"; + minDistance = 5.0; + maxDistance = 5.0; +}; + +datablock EffectProfile(IBLFireEffect) +{ + effectname = "powered/turret_indoor_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(IBLSwitchSound) +{ + filename = "fx/powered/turret_light_activate.wav"; + description = AudioClose3d; + preload = true; + effect = IBLSwitchEffect; +}; + +datablock AudioProfile(IBLFireSound) +{ + filename = "fx/powered/turret_indoor_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = IBLFireEffect; +}; + +datablock SensorData(DeployedIndoorTurretSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 40; +}; + +datablock ShockwaveData(IndoorTurretMuzzleFlash) +{ + width = 0.5; + numSegments = 13; + numVertSegments = 1; + velocity = 2.0; + acceleration = -1.0; + lifetimeMS = 300; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + renderSquare = true; + + texture[0] = "special/blasterHit"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "1.0 0.3 0.3 1.0"; + colors[1] = "1.0 0.3 0.3 1.0"; + colors[2] = "1.0 0.3 0.3 0.0"; +}; + +datablock TurretData(TurretDeployedFloorIndoor) : TurretDamageProfile +{ + className = DeployedTurret; + shapeFile = "turret_indoor_deployf.dts"; + + mass = 5.0; + maxDamage = 0.5; + destroyedLevel = 0.5; + disabledLevel = 0.21; + explosion = SmallTurretExplosion; + expDmgRadius = 5.0; + expDamage = 0.25; + expImpulse = 500.0; + repairRate = 0; + heatSignature = 0.0; + + deployedObject = true; + + thetaMin = 5; + thetaMax = 145; + thetaNull = 90; + + primaryAxis = zaxis; + + isShielded = true; + energyPerDamagePoint = 110; + maxEnergy = 30; + rechargeRate = 0.10; + barrel = DeployableIndoorBarrel; + + canControl = true; + cmdCategory = "DTactical"; + cmdIcon = CMDTurretIcon; + cmdMiniIconName = "commander/MiniIcons/com_turret_grey"; + targetNameTag = 'Spider Clamp'; + targetTypeTag = 'Turret'; + sensorData = DeployedIndoorTurretSensor; + sensorRadius = DeployedIndoorTurretSensor.detectRadius; + sensorColor = "191 0 226"; + + firstPersonOnly = true; + renderWhenDestroyed = false; + + debrisShapeName = "debris_generic_small.dts"; + debris = TurretDebrisSmall; +}; + +datablock TurretData(TurretDeployedWallIndoor) : TurretDamageProfile +{ + className = DeployedTurret; + shapeFile = "turret_indoor_deployw.dts"; + + mass = 5.0; + maxDamage = 0.5; + destroyedLevel = 0.5; + disabledLevel = 0.21; + explosion = SmallTurretExplosion; + expDmgRadius = 5.0; + expDamage = 0.25; + expImpulse = 500.0; + repairRate = 0; + heatSignature = 0.0; + + thetaMin = 5; + thetaMax = 145; + thetaNull = 90; + + deployedObject = true; + + primaryAxis = yaxis; + + isShielded = true; + energyPerDamagePoint = 110; + maxEnergy = 30; + rechargeRate = 0.10; + barrel = DeployableIndoorBarrel; + + canControl = true; + cmdCategory = "DTactical"; + cmdIcon = CMDTurretIcon; + cmdMiniIconName = "commander/MiniIcons/com_turret_grey"; + targetNameTag = 'Spider Clamp'; + targetTypeTag = 'Turret'; + sensorData = DeployedIndoorTurretSensor; + sensorRadius = DeployedIndoorTurretSensor.detectRadius; + sensorColor = "191 0 226"; + + firstPersonOnly = true; + renderWhenDestroyed = false; + + debrisShapeName = "debris_generic_small.dts"; + debris = TurretDebrisSmall; +}; + +datablock TurretData(TurretDeployedCeilingIndoor) : TurretDamageProfile +{ + className = DeployedTurret; + shapeFile = "turret_indoor_deployc.dts"; + + mass = 5.0; + maxDamage = 0.5; + destroyedLevel = 0.5; + disabledLevel = 0.21; + explosion = SmallTurretExplosion; + expDmgRadius = 5.0; + expDamage = 0.25; + expImpulse = 500.0; + repairRate = 0; + explosion = SmallTurretExplosion; + + //thetaMin = 5; + //thetaMax = 145; + thetaMin = 35; + thetaMax = 175; + thetaNull = 90; + heatSignature = 0.0; + + deployedObject = true; + + primaryAxis = revzaxis; + + isShielded = true; + energyPerDamagePoint = 110; + maxEnergy = 30; + rechargeRate = 0.10; + barrel = DeployableIndoorBarrel; + + canControl = true; + cmdCategory = "DTactical"; + cmdIcon = CMDTurretIcon; + cmdMiniIconName = "commander/MiniIcons/com_turret_grey"; + targetNameTag = 'Spider Clamp'; + targetTypeTag = 'Turret'; + sensorData = DeployedIndoorTurretSensor; + sensorRadius = DeployedIndoorTurretSensor.detectRadius; + sensorColor = "191 0 226"; + + firstPersonOnly = true; + renderWhenDestroyed = false; + + debrisShapeName = "debris_generic_small.dts"; + debris = TurretDebrisSmall; +}; + +datablock LinearFlareProjectileData(IndoorTurretBolt) +{ + directDamage = 0.14; + directDamageType = $DamageType::IndoorDepTurret; + explosion = "BlasterExplosion"; + kickBackStrength = 0.0; + + dryVelocity = 120.0; + wetVelocity = 40.0; + velInheritFactor = 0.5; + fizzleTimeMS = 2000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + numFlares = 20; + size = 0.45; + flareColor = "1 0.35 0.35"; + flareModTexture = "flaremod"; + flareBaseTexture = "flarebase"; + + sound = BlasterProjectileSound; + + hasLight = true; + lightRadius = 3.0; + lightColor = "1 0.35 0.35"; +}; + +datablock TurretImageData(DeployableIndoorBarrel) +{ + shapeFile = "turret_muzzlepoint.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = IndoorTurretBarrel; + item = TurretIndoorDeployable; + + projectile = IndoorTurretBolt; + projectileType = LinearFlareProjectile; + + usesEnergy = true; + fireEnergy = 4.5; + minEnergy = 4.5; + + lightType = "WeaponFireLight"; + lightColor = "0.25 0.15 0.15 1.0"; + lightTime = "1000"; + lightRadius = "2"; + + muzzleFlash = IndoorTurretMuzzleFlash; + + // Turret parameters + activationMS = 150; + deactivateDelayMS = 300; + thinkTimeMS = 150; + degPerSecTheta = 580; + degPerSecPhi = 960; + attackRadius = 60; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = IBLSwitchSound; + stateTimeoutValue[1] = 1; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.3; + stateFire[3] = true; + stateShockwave[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateSound[3] = IBLFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTimeoutValue[4] = 0.8; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 1; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + + stateName[7] = "NoAmmo"; + stateTransitionOnAmmo[7] = "Reload"; + stateSequence[7] = "NoAmmo"; +}; + + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/missileBarrelLarge.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/missileBarrelLarge.cs new file mode 100644 index 00000000..bd568219 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/missileBarrelLarge.cs @@ -0,0 +1,203 @@ +//-------------------------------------------------------------------------- +// Large Missile Turret +// +// +//-------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +// Sounds +// +// z0dd - ZOD, 5/8/02. Labels for sound +// datablocks were conflicting with +// Mortar barrel. Relabled to fix. +//-------------------------------------- + +//datablock EffectProfile(MBLSwitchEffect) +datablock EffectProfile(MILSwitchEffect) +{ + effectname = "powered/turret_heavy_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +//datablock EffectProfile(MBLFireEffect) +datablock EffectProfile(MILFireEffect) +{ + effectname = "powered/turret_missile_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +//datablock AudioProfile(MBLSwitchSound) +datablock AudioProfile(MILSwitchSound) +{ + filename = "fx/powered/turret_missile_activate.wav"; + description = AudioClose3d; + preload = true; + + // ------------------------------------------- + // z0dd - ZOD, 3/27/02. Changed for sound fix. + //effect = MBLSwitchEffect; + effect = MILSwitchEffect; +}; + +//datablock AudioProfile(MBLFireSound) +datablock AudioProfile(MILFireSound) +{ + filename = "fx/powered/turret_missile_fire.wav"; + description = AudioDefault3d; + preload = true; + + // ------------------------------------------- + // z0dd - ZOD, 3/27/02. Changed for sound fix. + //effect = MBLFireEffect; + effect = MILFireEffect; +}; + +//-------------------------------------------------------------------------- +// Particle effects: Note that we pull the below datablocks from +// scripts/weapons/missileLauncher.cs +//-------------------------------------- +//datablock ParticleData(MissileSmokeParticle) +//datablock ParticleEmitterData(MissileSmokeEmitter) + + +//-------------------------------------------------------------------------- +// Explosion: from scripts/weapons/disc.cs +//-------------------------------------- +//dataBlock ExplosionData(DiscExplosion) + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock SeekerProjectileData(TurretMissile) +{ + casingShapeName = "weapon_missile_casement.dts"; + projectileShapeName = "weapon_missile_projectile.dts"; + hasDamageRadius = true; + indirectDamage = 1.0; + damageRadius = 4.0; + radiusDamageType = $DamageType::MissileTurret; + kickBackStrength = 2500; + + flareDistance = 200; + flareAngle = 30; + minSeekHeat = 0.6; + + explosion = "MissileExplosion"; + velInheritFactor = 0.2; + + splash = MissileSplash; + baseEmitter = MissileSmokeEmitter; + delayEmitter = MissileFireEmitter; + puffEmitter = MissilePuffEmitter; + + lifetimeMS = 20000; + muzzleVelocity = 80.0; + turningSpeed = 90.0; + + proximityRadius = 4; + + terrainAvoidanceSpeed = 180; + terrainScanAhead = 25; + terrainHeightFail = 12; + terrainAvoidanceRadius = 100; + + useFlechette = true; + flechetteDelayMs = 550; + casingDeb = FlechetteDebris; +}; + +//-------------------------------------------------------------------------- +//-------------------------------------- Fusion Turret Image +// +datablock TurretImageData(MissileBarrelLarge) +{ + shapeFile = "turret_missile_large.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = MissileBarrelLargePack; + item = MissileBarrelPack; + + projectile = TurretMissile; + projectileType = SeekerProjectile; + + usesEnergy = true; + fireEnergy = 60.0; + minEnergy = 60.0; + + isSeeker = true; + seekRadius = 300; + maxSeekAngle = 30; + seekTime = 1.0; + minSeekHeat = 0.6; + emap = true; + minTargetingDistance = 40; + + // Turret parameters + activationMS = 250; + deactivateDelayMS = 500; + thinkTimeMS = 200; + degPerSecTheta = 580; + degPerSecPhi = 1080; + attackRadius = 250; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + // ---------------------------------------------- + // z0dd - ZOD, 3/27/02. Changed for sound fix. + //stateSound[1] = MBLSwitchSound; + stateSound[1] = MILSwitchSound; + + stateTimeoutValue[1] = 2; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.3; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + // ---------------------------------------------- + // z0dd - ZOD, 3/27/02. Changed for sound fix. + //stateSound[3] = MBLFireSound; + stateSound[3] = MILFireSound; + + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTimeoutValue[4] = 3.5; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 2; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + + stateName[7] = "NoAmmo"; + stateTransitionOnAmmo[7] = "Reload"; + stateSequence[7] = "NoAmmo"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/mortarBarrelLarge.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/mortarBarrelLarge.cs new file mode 100644 index 00000000..347e9b72 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/mortarBarrelLarge.cs @@ -0,0 +1,163 @@ +//-------------------------------------------------------------------------- +// Large Mortar Turret +// +// +//-------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock EffectProfile(MBLSwitchEffect) +{ + effectname = "powered/turret_heavy_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(MBLFireEffect) +{ + effectname = "powered/turret_mortar_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(MBLSwitchSound) +{ + filename = "fx/powered/turret_heavy_activate.wav"; + description = AudioClose3d; + preload = true; + effect = MBLSwitchEffect; +}; + +datablock AudioProfile(MBLFireSound) +{ + filename = "fx/powered/turret_mortar_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = MBLFireEffect; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- + +datablock AudioProfile(MortarTurretProjectileSound) +{ + filename = "fx/weapons/mortar_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock GrenadeProjectileData(MortarTurretShot) +{ + projectileShapeName = "mortar_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 1.32; + damageRadius = 30.0; + radiusDamageType = $DamageType::MortarTurret; + kickBackStrength = 3000; + + explosion = "MortarExplosion"; + velInheritFactor = 0.5; + splash = MortarSplash; + + baseEmitter = MortarSmokeEmitter; + bubbleEmitter = MortarBubbleEmitter; + + grenadeElasticity = 0.25; + grenadeFriction = 0.4; + armingDelayMS = 2000; + muzzleVelocity = 43.7; + drag = 0.1; + + sound = MortarTurretProjectileSound; + + hasLight = true; + lightRadius = 3; + lightColor = "0.05 0.2 0.05"; +}; + +//-------------------------------------------------------------------------- +//-------------------------------------- Fusion Turret Image +// +datablock TurretImageData(MortarBarrelLarge) +{ + shapeFile = "turret_mortar_large.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = MortarBarrelLargePack; + item = MortarBarrelPack; + + projectile = MortarTurretShot; + projectileType = GrenadeProjectile; + usesEnergy = true; + fireEnergy = 30; + minEnergy = 30; + emap = true; + + // don't let a mortar turret blow itself up + dontFireInsideDamageRadius = true; + damageRadius = 40; + + // Turret parameters + activationMS = 1000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 580; + degPerSecPhi = 960; + attackRadius = 160; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = MBLSwitchSound; + stateTimeoutValue[1] = 1; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.3; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateSound[3] = MBLFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTimeoutValue[4] = 1.5; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 1; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + + stateName[7] = "NoAmmo"; + stateTransitionOnAmmo[7] = "Reload"; + stateSequence[7] = "NoAmmo"; +}; + + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/outdoorDeployableBarrel.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/outdoorDeployableBarrel.cs new file mode 100644 index 00000000..400b9aa6 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/outdoorDeployableBarrel.cs @@ -0,0 +1,254 @@ +// -------------------------------------------------------------- +// Outdoor Deployable Turret barrel +// -------------------------------------------------------------- + +// -------------------------------------------------------------- +// Sound datablocks +// -------------------------------------------------------------- +datablock EffectProfile(OBLSwitchEffect) +{ + effectname = "powered/turret_light_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(OBLFireEffect) +{ + effectname = "powered/turret_outdoor_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(OBLSwitchSound) +{ + filename = "fx/powered/turret_light_activate.wav"; + description = AudioClose3d; + preload = true; + effect = OBLSwitchEffect; +}; + +datablock AudioProfile(OBLFireSound) +{ + filename = "fx/powered/turret_outdoor_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = OBLFireEffect; +}; + +// -------------------------------------------------------------- +// Projectile data +// -------------------------------------------------------------- + +datablock TracerProjectileData(FusionBolt) +{ + doDynamicClientHits = true; + + projectileShapeName = ""; + directDamage = 0.0; + directDamageType = $DamageType::OutdoorDepTurret; + hasDamageRadius = true; + indirectDamage = 0.24; + damageRadius = 4.0; + kickBackStrength = 0.0; + radiusDamageType = $DamageType::OutdoorDepTurret; + sound = BlasterProjectileSound; + explosion = PlasmaBoltExplosion; + + dryVelocity = 60.0; + wetVelocity = 40.0; + velInheritFactor = 1.0; + fizzleTimeMS = 4000; + lifetimeMS = 6000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = true; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = -1; + + activateDelayMS = 100; + + tracerLength = 5; + tracerAlpha = false; + tracerMinPixels = 3; + tracerColor = "1 0 0 1"; + tracerTex[0] = "special/landSpikeBolt"; + tracerTex[1] = "special/landSpikeBoltCross"; + tracerWidth = 0.35; + crossSize = 0.79; + crossViewAng = 0.990; + renderCross = true; + emap = true; +}; + +// -------------------------------------------------------------- + +datablock SensorData(DeployedOutdoorTurretSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 60; +}; + +datablock ShockwaveData(OutdoorTurretMuzzleFlash) +{ + width = 0.5; + numSegments = 13; + numVertSegments = 1; + velocity = 2.0; + acceleration = -1.0; + lifetimeMS = 300; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + renderSquare = true; + + texture[0] = "special/blasterHit"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "1.0 0.8 0.5 1.0"; + colors[1] = "1.0 0.8 0.5 1.0"; + colors[2] = "1.0 0.8 0.5 0.0"; +}; + +datablock TurretData(TurretDeployedOutdoor) : TurretDamageProfile +{ + className = DeployedTurret; + shapeFile = "turret_outdoor_deploy.dts"; + + rechargeRate = 0.15; + + mass = 5.0; + maxDamage = 0.80; + destroyedLevel = 0.80; + disabledLevel = 0.35; + explosion = HandGrenadeExplosion; + expDmgRadius = 5.0; + expDamage = 0.3; + expImpulse = 500.0; + repairRate = 0; + + deployedObject = true; + + thetaMin = 0; + thetaMax = 145; + thetaNull = 90; + + yawVariance = 30.0; // these will smooth out the elf tracking code. + pitchVariance = 30.0; // more or less just tolerances + + isShielded = true; + energyPerDamagePoint = 110; + maxEnergy = 60; + renderWhenDestroyed = false; + barrel = DeployableOutdoorBarrel; + heatSignature = 0; + + canControl = true; + cmdCategory = "DTactical"; + cmdIcon = CMDTurretIcon; + cmdMiniIconName = "commander/MiniIcons/com_turret_grey"; + targetNameTag = 'Landspike'; + targetTypeTag = 'Turret'; + sensorData = DeployedOutdoorTurretSensor; + sensorRadius = DeployedOutdoorTurretSensor.detectRadius; + sensorColor = "191 0 226"; + + firstPersonOnly = true; + + debrisShapeName = "debris_generic_small.dts"; + debris = TurretDebrisSmall; +}; + +datablock TurretImageData(DeployableOutdoorBarrel) +{ + shapeFile = "turret_muzzlepoint.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = OutdoorTurretBarrel; + item = TurretOutdoorDeployable; + + projectileType = TracerProjectile; + projectile = FusionBolt; + usesEnergy = true; + fireEnergy = 11.0; + minEnergy = 11.0; + + lightType = "WeaponFireLight"; + lightColor = "0.25 0.25 0.15 0.2"; + lightTime = "1000"; + lightRadius = "2"; + + muzzleFlash = OutdoorTurretMuzzleFlash; + + // Turret parameters + activationMS = 300; + deactivateDelayMS = 600; + thinkTimeMS = 200; + degPerSecTheta = 580; + degPerSecPhi = 960; + attackRadius = 100; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = OBLSwitchSound; + stateTimeoutValue[1] = 1; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.3; + stateFire[3] = true; + stateShockwave[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateSound[3] = OBLFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTimeoutValue[4] = 1.2; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 1; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + + stateName[7] = "NoAmmo"; + stateTransitionOnAmmo[7] = "Reload"; + stateSequence[7] = "NoAmmo"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/plasmaBarrelLarge.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/plasmaBarrelLarge.cs new file mode 100644 index 00000000..70c8ccd2 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/plasmaBarrelLarge.cs @@ -0,0 +1,327 @@ +//-------------------------------------------------------------------------- +// Plasma Turret +// +// +//-------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------------------------------------------- +datablock EffectProfile(PBLSwitchEffect) +{ + effectname = "powered/turret_light_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(PBLFireEffect) +{ + effectname = "powered/turret_plasma_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(PBLSwitchSound) +{ + filename = "fx/powered/turret_light_activate.wav"; + description = AudioClose3d; + preload = true; + effect = PBLSwitchEffect; +}; + +datablock AudioProfile(PBLFireSound) +{ + filename = "fx/powered/turret_plasma_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = PBLFireEffect; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------------------------------------------- + +datablock AudioProfile(PlasmaBarrelExpSound) +{ + filename = "fx/powered/turret_plasma_explode.wav"; + description = "AudioExplosion3d"; + preload = true; +}; + + +datablock ParticleData( PlasmaBarrelCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + + colors[0] = "0.3 0.4 1.0 1.0"; + colors[1] = "0.3 0.4 1.0 0.5"; + colors[2] = "0.3 0.4 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 4.0; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( PlasmaBarrelCrescentEmitter ) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 0; + ejectionVelocity = 20; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "PlasmaBarrelCrescentParticle"; +}; + +datablock ParticleData(PlasmaBarrelExplosionParticle) +{ + dragCoefficient = 2; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 750; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.3 0.4 1.0 1.0"; + colors[1] = "0.3 0.4 1.0 0.0"; + sizes[0] = 1; + sizes[1] = 2; +}; + +datablock ParticleEmitterData(PlasmaBarrelExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 1.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "PlasmaBarrelExplosionParticle"; +}; + + +datablock ExplosionData(PlasmaBarrelSubExplosion1) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + + delayMS = 50; + + offset = 3.0; + + playSpeed = 1.5; + + sizes[0] = "0.25 0.25 0.25"; + sizes[1] = "0.25 0.25 0.25"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(PlasmaBarrelSubExplosion2) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + + delayMS = 100; + + offset = 3.5; + + playSpeed = 1.0; + + sizes[0] = "0.5 0.5 0.5"; + sizes[1] = "0.5 0.5 0.5"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(PlasmaBarrelSubExplosion3) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + + delayMS = 0; + + offset = 0.0; + + playSpeed = 0.7; + + + sizes[0] = "0.5 0.5 0.5"; + sizes[1] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(PlasmaBarrelBoltExplosion) +{ + soundProfile = PlasmaBarrelExpSound; + particleEmitter = PlasmaBarrelExplosionEmitter; + particleDensity = 250; + particleRadius = 1.25; + faceViewer = true; + + emitter[0] = PlasmaBarrelCrescentEmitter; + + subExplosion[0] = PlasmaBarrelSubExplosion1; + subExplosion[1] = PlasmaBarrelSubExplosion2; + subExplosion[2] = PlasmaBarrelSubExplosion3; + + shakeCamera = true; + camShakeFreq = "10.0 9.0 9.0"; + camShakeAmp = "10.0 10.0 10.0"; + camShakeDuration = 0.5; + camShakeRadius = 15.0; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- + +datablock LinearFlareProjectileData(PlasmaBarrelBolt) +{ + doDynamicClientHits = true; + + directDamage = 0; + directDamageType = $DamageType::PlasmaTurret; + hasDamageRadius = true; + indirectDamage = 0.5; + damageRadius = 10.0; + kickBackStrength = 500; + radiusDamageType = $DamageType::PlasmaTurret; + explosion = PlasmaBarrelBoltExplosion; + splash = PlasmaSplash; + + dryVelocity = 50.0; + wetVelocity = -1; + velInheritFactor = 1.0; + fizzleTimeMS = 4000; + lifetimeMS = 6000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = true; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = -1; + + activateDelayMS = 100; + + scale = "1.5 1.5 1.5"; + numFlares = 30; + flareColor = "0.1 0.3 1.0"; + flareModTexture = "flaremod"; + flareBaseTexture = "flarebase"; +}; + +//-------------------------------------------------------------------------- +// Plasma Turret Image +//-------------------------------------------------------------------------- + +datablock TurretImageData(PlasmaBarrelLarge) +{ + shapeFile = "turret_fusion_large.dts"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //item = PlasmaBarrelLargePack; + item = PlasmaBarrelPack; + + projectile = PlasmaBarrelBolt; + projectileType = LinearFlareProjectile; + usesEnergy = true; + fireEnergy = 10; + minEnergy = 10; + emap = true; + + // Turret parameters + activationMS = 1000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 300; + degPerSecPhi = 500; + attackRadius = 120; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = PBLSwitchSound; + stateTimeoutValue[1] = 1; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.3; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateSound[3] = PBLFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTimeoutValue[4] = 0.8; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNotLoaded[4] = "Deactivate"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 1; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + + stateName[7] = "NoAmmo"; + stateTransitionOnAmmo[7] = "Reload"; + stateSequence[7] = "NoAmmo"; +}; + + + + + + + + + + + + + + + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/turrets/sentryTurret.cs b/public/base/@vl2/scripts.vl2/scripts/turrets/sentryTurret.cs new file mode 100644 index 00000000..b8fcc561 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/turrets/sentryTurret.cs @@ -0,0 +1,229 @@ +// Sound datablocks +datablock EffectProfile(SentryTurretSwitchEffect) +{ + effectname = "powered/turret_sentry_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(SentryTurretFireEffect) +{ + effectname = "powered/turret_sentry_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock AudioProfile(SentryTurretSwitchSound) +{ + filename = "fx/powered/turret_sentry_activate.wav"; + description = AudioClose3d; + preload = true; + effect = SentryTurretSwitchEffect; +}; + +datablock AudioProfile(SentryTurretFireSound) +{ + filename = "fx/powered/turret_sentry_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = SentryTurretFireEffect; +}; + +datablock AudioProfile(SentryTurretExpSound) +{ + filename = "fx/powered/turret_sentry_impact.WAV"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(SentryTurretProjectileSound) +{ + filename = "fx/weapons/blaster_projectile.WAV"; + description = AudioExplosion3d; + preload = true; +}; + +// Explosion + +datablock ParticleData(SentryTurretExplosionParticle1) +{ + dragCoefficient = 0.65; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.26 0.36 0.56 1.0"; + colors[1] = "0.26 0.36 0.56 0.0"; + sizes[0] = 0.0425; + sizes[1] = 0.15; +}; + +datablock ParticleEmitterData(SentryTurretExplosionEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 0.75; + velocityVariance = 0.25; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "SentryTurretExplosionParticle1"; +}; + +datablock ExplosionData(SentryTurretExplosion) +{ + explosionShape = "energy_explosion.dts"; + soundProfile = SentryTurretExpSound; + + particleEmitter = SentryTurretExplosionEmitter; + particleDensity = 120; + particleRadius = 0.15; + + faceViewer = false; +}; + +// Projectile + +datablock LinearFlareProjectileData(SentryTurretEnergyBolt) +{ + directDamage = 0.1; + directDamageType = $DamageType::SentryTurret; + + explosion = "SentryTurretExplosion"; + kickBackStrength = 0.0; + + dryVelocity = 200.0; + wetVelocity = 150.0; + velInheritFactor = 0.5; + fizzleTimeMS = 2000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + numFlares = 10; + size = 0.35; + flareColor = "0.35 0.35 1"; + flareModTexture = "flaremod"; + flareBaseTexture = "flarebase"; + + sound = SentryTurretProjectileSound; + + hasLight = true; + lightRadius = 1.5; + lightColor = "0.35 0.35 1"; +}; + +// Turret data + +datablock SensorData(SentryMotionSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsActiveJammed = false; + detectsPassiveJammed = true; + detectsCloaked = true; + detectionPings = false; + detectRadius = 60; + detectMinVelocity = 2; +}; + +datablock TurretData(SentryTurret) : TurretDamageProfile +{ + //className = Turret; + catagory = "Turrets"; + shapeFile = "turret_sentry.dts"; + + //Uses the same stats as an outdoor deployable turret (balancing info for Dave) + mass = 5.0; + + barrel = SentryTurretBarrel; + + maxDamage = 1.2; + destroyedLevel = 1.2; + disabledLevel = 0.84; + explosion = ShapeExplosion; + expDmgRadius = 5.0; + expDamage = 0.4; + expImpulse = 1000.0; + repairRate = 0; + + thetaMin = 89; + thetaMax = 175; + emap = true; + + + isShielded = true; + energyPerDamagePoint = 100; + maxEnergy = 150; + rechargeRate = 0.40; + + canControl = true; + cmdCategory = "Tactical"; + cmdIcon = CMDTurretIcon; + cmdMiniIconName = "commander/MiniIcons/com_turret_grey"; + targetNameTag = 'Sentry'; + targetTypeTag = 'Turret'; + sensorData = SentryMotionSensor; + sensorRadius = SentryMotionSensor.detectRadius; + sensorColor = "9 136 255"; + firstPersonOnly = true; +}; + +datablock TurretImageData(SentryTurretBarrel) +{ + shapeFile = "turret_muzzlepoint.dts"; + + projectile = SentryTurretEnergyBolt; + projectileType = LinearFlareProjectile; + usesEnergy = true; + fireEnergy = 6.00; + minEnergy = 6.00; + emap = true; + + // Turret parameters + activationMS = 300; + deactivateDelayMS = 500; + thinkTimeMS = 200; + degPerSecTheta = 520; + degPerSecPhi = 960; + attackRadius = 60; + + // State transitions + stateName[0] = "Activate"; + stateTimeoutValue[0] = 0.01; + stateTransitionOnTimeout[0] = "Ready"; + stateSound[0] = SentryTurretSwitchSound; + + stateName[1] = "Ready"; + stateTransitionOnTriggerDown[1] = "Fire"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Fire"; + stateTransitionOnTimeout[2] = "Reload"; + stateTimeoutValue[2] = 0.13; + stateFire[2] = true; + stateRecoil[2] = LightRecoil; + stateAllowImageChange[2] = false; + stateSequence[2] = "Fire"; + stateSound[2] = SentryTurretFireSound; + stateScript[2] = "onFire"; + + stateName[3] = "Reload"; + stateTimeoutValue[3] = 0.40; + stateAllowImageChange[3] = false; + stateTransitionOnTimeout[3] = "Ready"; + stateTransitionOnNoAmmo[3] = "NoAmmo"; + + stateName[4] = "NoAmmo"; + stateTransitionOnAmmo[4] = "Reload"; + stateSequence[4] = "NoAmmo"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/clientVehicleHud.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/clientVehicleHud.cs new file mode 100644 index 00000000..28f47be0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/clientVehicleHud.cs @@ -0,0 +1,152 @@ +//------------------------------------------------------------------------------ +function VehicleHud::onWake( %this ) +{ + VIN_RemainingText.setText( "" ); + VIN_BuyBtn.setActive( false ); + + if ( isObject( hudMap ) ) + { + hudMap.pop(); + hudMap.delete(); + } + new ActionMap( hudMap ); + hudMap.blockBind( moveMap, toggleInventoryHud ); + hudMap.blockBind( moveMap, toggleScoreScreen ); + hudMap.blockBind( moveMap, toggleCommanderMap ); + hudMap.bindCmd( keyboard, escape, "", "VehicleHud.onCancel();" ); + hudMap.bindCmd( keyboard, "1", "", "VehicleHud.quickBuy( 0 );" ); + hudMap.bindCmd( keyboard, "2", "", "VehicleHud.quickBuy( 1 );" ); + hudMap.bindCmd( keyboard, "3", "", "VehicleHud.quickBuy( 2 );" ); + hudMap.bindCmd( keyboard, "4", "", "VehicleHud.quickBuy( 3 );" ); + hudMap.bindCmd( keyboard, "5", "", "VehicleHud.quickBuy( 4 );" ); + hudMap.bindCmd( keyboard, "6", "", "VehicleHud.quickBuy( 5 );" ); + hudMap.push(); +} + +//------------------------------------------------------------------------------ +function VehicleHud::onSleep( %this ) +{ + VIN_Picture.setBitmap( "" ); + + %this.selId = ""; + %this.selected = ""; + + // Don't rely on the server to tell us to clear the hud - do it now! + for ( %line = 0; %line < $Hud['vehicleHud'].count; %line++ ) + { + if ( $Hud['vehicleHud'].data[%line, 0] !$= "" ) + { + $Hud['vehicleHud'].childGui.remove( $Hud['vehicleHud'].data[%line, 0] ); + $Hud['vehicleHud'].data[%line, 0] = ""; + } + } + $Hud['vehicleHud'].count = 0; + + hudMap.pop(); + hudMap.delete(); +} + +//------------------------------------------------------------------------------ +function VehicleHud::setupHud( %obj, %tag ) +{ + // Nothing to do... +} + +//------------------------------------------------------------------------------ +function VehicleHud::loadHud( %obj, %tag ) +{ + $Hud[%tag] = VehicleHud; + $Hud[%tag].childGui = VIN_Root; + $Hud[%tag].parent = VIN_Root; +} + +//------------------------------------------------------------------------------ +function VehicleHud::quickBuy( %this, %id ) +{ + if ( isObject( $Hud['vehicleHud'].data[%id, 0] ) ) + { + if ( %this.selId != %id ) + VehicleHud.onTabSelect( %id, $Hud['vehicleHud'].data[%id, 0].vName, $Hud['vehicleHud'].data[%id, 0].vCount ); + %this.onBuy(); + } +} + +//------------------------------------------------------------------------------ +function VehicleHud::onBuy( %this ) +{ + toggleCursorHuds( 'vehicleHud' ); + commandToServer( 'buyVehicle', %this.selected ); +} + +//------------------------------------------------------------------------------ +function VehicleHud::onCancel( %this ) +{ + toggleCursorHuds('vehicleHud'); +} + +//------------------------------------------------------------------------------ +function VehicleHud::onTabSelect( %this, %id, %name, %count ) +{ + if ( %this.selId !$= "" ) + $Hud['vehicleHud'].data[%this.selId, 0].setValue( false ); + + %this.selId = %id; + %this.selected = %name; + + VIN_Picture.setBitmap( "gui/vin_" @ %name ); + VIN_RemainingText.setText( %count SPC "Remaining" ); + VIN_BuyBtn.setActive( %count > 0 ); +} + +//------------------------------------------------------------------------------ +function VehicleHud::addLine( %this, %tag, %lineNum, %name, %count ) +{ + %yOffset = ( %lineNum * 30 ) + 11; + $Hud[%tag].count++; + + $Hud[%tag].data[%lineNum, 0] = new ShellTabButton() { + profile = "ShellTabProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 " @ %yOffset; + extent = "206 38"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + command = "VehicleHud.onTabSelect(" @ %lineNum @ "," @ %name @ "," @ %count @ ");"; + text = ""; + vName = %name; + vCount = %count; + }; + + // If nothing is selected, select something: + if ( %this.selId $= "" ) + { + $Hud[%tag].data[%lineNum, 0].setValue( true ); + VehicleHud.onTabSelect( %lineNum, %name, %count ); + } + + return 1; +} + +//------------------------------------------------------------------------------ +function clientCmdStationVehicleShowHud() +{ + if ( Canvas.getContent() != PlayGui.getId() ) + return; + + showHud( 'vehicleHud' ); + clientCmdTogglePlayHuds(false); +} + +//------------------------------------------------------------------------------ +function clientCmdStationVehicleHideHud() +{ + hideHud( 'vehicleHud' ); + clientCmdTogglePlayHuds(true); +} + +function clientCmdStationVehicleHideJustHud() +{ + hideHud( 'vehicleHud' ); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/serverVehicleHud.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/serverVehicleHud.cs new file mode 100644 index 00000000..277f85fc --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/serverVehicleHud.cs @@ -0,0 +1,306 @@ +//------------------------------------------------------------------------------ +datablock EffectProfile(VehicleAppearEffect) +{ + effectname = "vehicles/inventory_pad_appear"; + minDistance = 5; + maxDistance = 10; +}; + +datablock EffectProfile(ActivateVehiclePadEffect) +{ + effectname = "powered/vehicle_pad_on"; + minDistance = 20; + maxDistance = 30; +}; + +datablock AudioProfile(VehicleAppearSound) +{ + filename = "fx/vehicles/inventory_pad_appear.wav"; + description = AudioClosest3d; + preload = true; + effect = VehicleAppearEffect; +}; + +datablock AudioProfile(ActivateVehiclePadSound) +{ + filename = "fx/powered/vehicle_pad_on.wav"; + description = AudioClose3d; + preload = true; + effect = ActivateVehiclePadEffect; +}; + +datablock StationFXVehicleData( VehicleInvFX ) +{ + lifetime = 6.0; + + glowTopHeight = 1.5; + glowBottomHeight = 0.1; + glowTopRadius = 12.5; + glowBottomRadius = 12.0; + numGlowSegments = 26; + glowFadeTime = 3.25; + + armLightDelay = 2.3; + armLightLifetime = 3.0; + armLightFadeTime = 1.5; + numArcSegments = 10.0; + + sphereColor = "0.1 0.1 0.5"; + spherePhiSegments = 13; + sphereThetaSegments = 8; + sphereRadius = 12.0; + sphereScale = "1.05 1.05 0.85"; + + glowNodeName = "GLOWFX"; + + leftNodeName[0] = "LFX1"; + leftNodeName[1] = "LFX2"; + leftNodeName[2] = "LFX3"; + leftNodeName[3] = "LFX4"; + + rightNodeName[0] = "RFX1"; + rightNodeName[1] = "RFX2"; + rightNodeName[2] = "RFX3"; + rightNodeName[3] = "RFX4"; + + + texture[0] = "special/stationGlow"; + texture[1] = "special/stationLight2"; +}; + +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +function serverCmdBuyVehicle(%client, %blockName) +{ + %team = %client.getSensorGroup(); + if(vehicleCheck(%blockName, %team)) + { + %station = %client.player.station.pad; + if( (%station.ready) && (%station.station.vehicle[%blockName]) ) + { + %trans = %station.getTransform(); + %pos = getWords(%trans, 0, 2); + %matrix = VectorOrthoBasis(getWords(%trans, 3, 6)); + %yrot = getWords(%matrix, 3, 5); + %p = vectorAdd(%pos,vectorScale(%yrot, -3)); + %p = getWords(%p,0, 1) @ " " @ getWord(%p,2) + 4; + +// error(%blockName); +// error(%blockName.spawnOffset); + + %p = vectorAdd(%p, %blockName.spawnOffset); + %rot = getWords(%trans, 3, 5); + %angle = getWord(%trans, 6) + 3.14; + %mask = $TypeMasks::VehicleObjectType | $TypeMasks::PlayerObjectType | + $TypeMasks::StationObjectType | $TypeMasks::TurretObjectType; + InitContainerRadiusSearch(%p, %blockName.checkRadius, %mask); + + %clear = 1; + for (%x = 0; (%obj = containerSearchNext()) != 0; %x++) + { + if((%obj.getType() & $TypeMasks::VehicleObjectType) && (%obj.getDataBlock().checkIfPlayersMounted(%obj))) + { + %clear = 0; + break; + } + else + %removeObjects[%x] = %obj; + } + if(%clear) + { + %fadeTime = 0; + for(%i = 0; %i < %x; %i++) + { + if(%removeObjects[%i].getType() & $TypeMasks::PlayerObjectType) + { + %pData = %removeObjects[%i].getDataBlock(); + %pData.damageObject(%removeObjects[%i], 0, "0 0 0", 1000, $DamageType::VehicleSpawn); + } + else + { + %removeObjects[%i].mountable = 0; + %removeObjects[%i].startFade( 1000, 0, true ); + %removeObjects[%i].schedule(1001, "delete"); + %fadeTime = 1500; + } + } + schedule(%fadeTime, 0, "createVehicle", %client, %station, %blockName, %team , %p, %rot, %angle); + } + else + MessageClient(%client, "", 'Can\'t create vehicle. A player is on the creation pad.'); + } + } +} + +function createVehicle(%client, %station, %blockName, %team , %pos, %rot, %angle) +{ + %obj = %blockName.create(%team); + if(%obj) + { + %station.ready = false; + %obj.team = %team; + %obj.useCreateHeight(true); + %obj.schedule(5500, "useCreateHeight", false); + %obj.getDataBlock().isMountable(%obj, false); + %obj.getDataBlock().schedule(6500, "isMountable", %obj, true); + + %station.playThread($ActivateThread,"activate2"); + %station.playAudio($ActivateSound, ActivateVehiclePadSound); + + vehicleListAdd(%blockName, %obj); + MissionCleanup.add(%obj); + + %turret = %obj.getMountNodeObject(10); + if(%turret > 0) + { + %turret.setCloaked(true); + %turret.schedule(4800, "setCloaked", false); + } + + %obj.setCloaked(true); + %obj.setTransform(%pos @ " " @ %rot @ " " @ %angle); + + %obj.schedule(3700, "playAudio", 0, VehicleAppearSound); + %obj.schedule(4800, "setCloaked", false); + + if(%client.player.lastVehicle) + { + %client.player.lastVehicle.lastPilot = ""; + vehicleAbandonTimeOut(%client.player.lastVehicle); + %client.player.lastVehicle = ""; + } + %client.player.lastVehicle = %obj; + %obj.lastPilot = %client.player; + + // play the FX + %fx = new StationFXVehicle() + { + dataBlock = VehicleInvFX; + stationObject = %station; + }; + + if ( %client.isVehicleTeleportEnabled() ) + %obj.getDataBlock().schedule(5000, "mountDriver", %obj, %client.player); + } + if(%obj.getTarget() != -1) + setTargetSensorGroup(%obj.getTarget(), %client.getSensorGroup()); + // We are now closing the vehicle hud when you buy a vehicle, making the following call + // unnecessary (and it breaks stuff, too!) + //VehicleHud.updateHud(%client, 'vehicleHud'); +} + +//------------------------------------------------------------------------------ +function VehicleData::mountDriver(%data, %obj, %player) +{ + if(isObject(%obj) && %obj.getDamageState() !$= "Destroyed") + { + %player.startFade(1000, 0, true); + schedule(1000, 0, "testVehicleForMount", %player, %obj); + %player.schedule(1500,"startFade",1000, 0, false); + } +} + +function testVehicleForMount(%player, %obj) +{ + if(isObject(%obj) && %obj.getDamageState() !$= "Destroyed") + %player.getDataBlock().onCollision(%player, %obj, 0); +} + + +//------------------------------------------------------------------------------ +function VehicleData::checkIfPlayersMounted(%data, %obj) +{ + for(%i = 0; %i < %obj.getDatablock().numMountPoints; %i++) + if (%obj.getMountNodeObject(%i)) + return true; + return false; +} + +//------------------------------------------------------------------------------ +function VehicleData::isMountable(%data, %obj, %val) +{ + %obj.mountable = %val; +} + +//------------------------------------------------------------------------------ +function vehicleCheck(%blockName, %team) +{ + if(($VehicleMax[%blockName] - $VehicleTotalCount[%team, %blockName]) > 0) + return true; +// else +// { +// for(%i = 0; %i < $VehicleMax[%blockName]; %i++) +// { +// %obj = $VehicleInField[%blockName, %i]; +// if(%obj.abandon) +// { +// vehicleListRemove(%blockName, %obj); +// %obj.delete(); +// return true; +// } +// } +// } + return false; +} + +//------------------------------------------------------------------------------ +function VehicleHud::updateHud( %obj, %client, %tag ) +{ + %station = %client.player.station; +// Not sure if we need to clear the huds... They'll always have the same num rows... + //if ( %station.lastCount !$= "" ) + // VehicleHud::clearHud( %client, %tag, %station.lastCount ); + + %team = %client.getSensorGroup(); + %count = 0; + if ( %station.vehicle[scoutVehicle] ) + { + messageClient( %client, 'SetLineHud', "", %tag, %count, "GRAV CYCLE", "", ScoutVehicle, $VehicleMax[ScoutVehicle] - $VehicleTotalCount[%team, ScoutVehicle] ); +//new messageClient( %client, 'SetLineHud', "", %tag, %count, 'ScoutVehicle', $VehicleMax[ScoutVehicle] - $VehicleTotalCount[%team, ScoutVehicle], '', "GRAV CYCLE" ); + %count++; + } + if ( %station.vehicle[AssaultVehicle] ) + { + messageClient( %client, 'SetLineHud', "", %tag, %count, "ASSAULT TANK", "", AssaultVehicle, $VehicleMax[AssaultVehicle] - $VehicleTotalCount[%team, AssaultVehicle] ); +//new messageClient( %client, 'SetLineHud', "", %tag, %count, 'AssaultVehicle', $VehicleMax[AssaultVehicle] - $VehicleTotalCount[%team, AssaultVehicle], '', "ASSAULT TANK"); + %count++; + } + if ( %station.vehicle[mobileBaseVehicle] ) + { + messageClient( %client, 'SetLineHud', "", %tag, %count, "MOBILE POINT BASE", "", MobileBaseVehicle, $VehicleMax[MobileBaseVehicle] - $VehicleTotalCount[%team, MobileBaseVehicle] ); +//new messageClient( %client, 'SetLineHud', "", %tag, %count, 'MobileBaseVehicle', $VehicleMax[MobileBaseVehicle] - $VehicleTotalCount[%team, MobileBaseVehicle], '', "MOBILE POINT BASE" ); + %count++; + } + if ( %station.vehicle[scoutFlyer] ) + { + messageClient( %client, 'SetLineHud', "", %tag, %count, "SCOUT FLIER", "", ScoutFlyer, $VehicleMax[ScoutFlyer] - $VehicleTotalCount[%team, ScoutFlyer] ); +//new messageClient( %client, 'SetLineHud', "", %tag, %count, 'ScoutFlyer', $VehicleMax[ScoutFlyer] - $VehicleTotalCount[%team, ScoutFlyer], '', "SCOUT FLIER"); + %count++; + } + if ( %station.vehicle[bomberFlyer] ) + { + messageClient( %client, 'SetLineHud', "", %tag, %count, "BOMBER", "", BomberFlyer, $VehicleMax[BomberFlyer] - $VehicleTotalCount[%team, BomberFlyer] ); +//new messageClient( %client, 'SetLineHud', "", %tag, %count, 'BomberFlyer', $VehicleMax[BomberFlyer] - $VehicleTotalCount[%team, BomberFlyer], '', "BOMBER"); + %count++; + } + if ( %station.vehicle[hapcFlyer] ) + { + messageClient( %client, 'SetLineHud', "", %tag, %count, "TRANSPORT", "", HAPCFlyer, $VehicleMax[HAPCFlyer] - $VehicleTotalCount[%team, HAPCFlyer] ); +//new messageClient( %client, 'SetLineHud', "", %tag, %count, 'HAPCFlyer', $VehicleMax[HAPCFlyer] - $VehicleTotalCount[%team, HAPCFlyer], '', "TRANSPORT"); + %count++; + } + %station.lastCount = %count; +} + +//------------------------------------------------------------------------------ +function VehicleHud::clearHud( %obj, %client, %tag, %count ) +{ + for ( %i = 0; %i < %count; %i++ ) + messageClient( %client, 'RemoveLineHud', "", %tag, %i ); +} + +//------------------------------------------------------------------------------ +function serverCmdEnableVehicleTeleport( %client, %enabled ) +{ + %client.setVehicleTeleportEnabled( %enabled ); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle.cs new file mode 100644 index 00000000..0cc8b321 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle.cs @@ -0,0 +1,1569 @@ +// Notes: +// - respawning vehicles with turrets (bomber/tank) will not setup the turret properly + +//Damage Rate for entering Liquid +$VehicleDamageLava = 0.0325; +$VehicleDamageHotLava = 0.0325; +$VehicleDamageCrustyLava = 0.0325; + +$NumVehiclesDeploy = 0; + +//************************************************************** +//* GENERAL PURPOSE FUNCTIONS +//************************************************************** + +function VehicleData::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + if((%data.sensorData !$= "") && (%obj.getTarget() != -1)) + setTargetSensorData(%obj.getTarget(), %data.sensorData); + %obj.setRechargeRate(%data.rechargeRate); + // set full energy + %obj.setEnergyLevel(%data.MaxEnergy); + + if(%obj.disableMove) + %obj.immobilized = true; + if(%obj.deployed) + { + if($countDownStarted) + %data.schedule(($Host::WarmupTime * 1000) / 2, "vehicleDeploy", %obj, 0, 1); + else + { + $VehiclesDeploy[$NumVehiclesDeploy] = %obj; + $NumVehiclesDeploy++; + } + } + if(%obj.mountable || %obj.mountable $= "") + %data.isMountable(%obj, true); + else + %data.isMountable(%obj, false); + + %obj.setSelfPowered(); +// %data.canObserve = true; +} + +function VehicleData::onRemove(%this, %obj) +{ + // if there are passengers/driver, kick them out + %this.deleteAllMounted(%obj); + for(%i = 0; %i < %obj.getDatablock().numMountPoints; %i++) + if (%obj.getMountNodeObject(%i)) { + %passenger = %obj.getMountNodeObject(%i); + %passenger.unmount(); + } + vehicleListRemove(%obj.getDataBlock(), %obj); + if(%obj.lastPilot.lastVehicle == %obj) + %obj.lastPilot.lastVehicle = ""; + + Parent::onRemove(%this, %obj); +} + +function VehicleData::onDamage(%this,%obj) +{ + %damage = %obj.getDamageLevel(); + if (%damage >= %this.destroyedLevel) + { + if(%obj.getDamageState() !$= "Destroyed") + { + if(%obj.respawnTime !$= "") + %obj.marker.schedule = %obj.marker.data.schedule(%obj.respawnTime, "respawn", %obj.marker); + %obj.setDamageState(Destroyed); + } + } + else + { + if(%obj.getDamageState() !$= "Enabled") + %obj.setDamageState(Enabled); + } +} + +function VehicleData::playerDismounted(%data, %obj, %player) +{ + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, true ); + + setTargetSensorGroup(%obj.getTarget(), %obj.team); + + // if there is a turret, set its team as well. + if( %obj.turretObject > 0 ) + setTargetSensorGroup(%obj.turretObject.getTarget(), %obj.team); +} + +function HoverVehicle::useCreateHeight() +{ + //this function is declared to prevent console error msg spam... +} + +function WheeledVehicle::useCreateHeight() +{ + //this function is declared to prevent console error msg spam... +} + +function AssaultVehicle::onDamage(%this, %obj) +{ + if(isObject(%obj.getMountNodeObject(10))) + (%obj.getMountNodeObject(10)).setDamagelevel(%obj.getDamageLevel()); + Parent::onDamage(%this, %obj); +} + +function BomberFlyer::onDamage(%this, %obj) +{ + if(isObject(%obj.getMountNodeObject(10))) + (%obj.getMountNodeObject(10)).setDamagelevel(%obj.getDamageLevel()); + Parent::onDamage(%this, %obj); +} + +function MobileBaseVehicle::onDamage(%this, %obj) +{ + if(isObject(%obj.getMountNodeObject(1))) + (%obj.getMountNodeObject(1)).setDamagelevel(%obj.getDamageLevel()); + Parent::onDamage(%this, %obj); +} + +function VehicleData::onEnterLiquid(%data, %obj, %coverage, %type) +{ + switch(%type) + { + case 0: + //Water + %obj.setHeat(0.0); + case 1: + //Ocean Water + %obj.setHeat(0.0); + case 2: + //River Water + %obj.setHeat(0.0); + case 3: + //Stagnant Water + %obj.setHeat(0.0); + case 4: + //Lava + %obj.liquidDamage(%data, $VehicleDamageLava, $DamageType::Lava); + case 5: + //Hot Lava + %obj.liquidDamage(%data, $VehicleDamageHotLava, $DamageType::Lava); + case 6: + //Crusty Lava + %obj.liquidDamage(%data, $VehicleDamageCrustyLava, $DamageType::Lava); + case 7: + //Quick Sand + } +} + +function FlyingVehicle::liquidDamage(%obj, %data, %damageAmount, %damageType) +{ + if(%obj.getDamageState() !$= "Destroyed") + { + %data.damageObject(%obj, 0, "0 0 0", %damageAmount, %damageType); + %obj.lDamageSchedule = %obj.schedule(50, "liquidDamage", %data, %damageAmount, %damageType); + passengerLiquidDamage(%obj, %damageAmount, %damageType); + } + else + %obj.lDamageSchedule = ""; +} + +function WheeledVehicle::liquidDamage(%obj, %data, %damageAmount, %damageType) +{ + if(%obj.getDamageState() !$= "Destroyed") + { + %data.damageObject(%obj, 0, "0 0 0", %damageAmount, %damageType); + %obj.lDamageSchedule = %obj.schedule(50, "liquidDamage", %data, %damageAmount, %damageType); + passengerLiquidDamage(%obj, %damageAmount, %damageType); + } + else + %obj.lDamageSchedule = ""; +} + +function HoverVehicle::liquidDamage(%obj, %data, %damageAmount, %damageType) +{ + if(%obj.getDamageState() !$= "Destroyed") + { + %data.damageObject(%obj, 0, "0 0 0", %damageAmount, %damageType); + %obj.lDamageSchedule = %obj.schedule(50, "liquidDamage", %data, %damageAmount, %damageType); + passengerLiquidDamage(%obj, %damageAmount, %damageType); + } + else + %obj.lDamageSchedule = ""; +} + +function passengerLiquidDamage(%obj, %damageAmount, %damageType) +{ + for(%i = %num; %i < %obj.getDataBlock().numMountPoints; %i++) + if (%p = %obj.getMountNodeObject(%i)) + %p.liquidDamage(%p.getDatablock(), $DamageLava, $DamageType::Lava); +} + +function VehicleData::onLeaveLiquid(%data, %obj, %type) +{ + switch(%type) + { + case 0: + //Water + %obj.setHeat(1.0); + case 1: + //Ocean Water + %obj.setHeat(1.0); + case 2: + //River Water + %obj.setHeat(1.0); + case 3: + //Stagnant Water + %obj.setHeat(1.0); + case 4: + //Lava + case 5: + //Hot Lava + case 6: + //Crusty Lava + case 7: + //Quick Sand + } + + if(%obj.lDamageSchedule !$= "") + { + cancel(%obj.lDamageSchedule); + %obj.lDamageSchedule = ""; + } +} + +function VehicleData::onDestroyed(%data, %obj, %prevState) +{ + if(%obj.lastDamagedBy) + { + %destroyer = %obj.lastDamagedBy; + game.vehicleDestroyed(%obj, %destroyer); + //error("vehicleDestroyed( "@ %obj @", "@ %destroyer @")"); + } + + radiusVehicleExplosion(%data, %obj); + if(%obj.turretObject) + if(%obj.turretObject.getControllingClient()) + %obj.turretObject.getDataBlock().playerDismount(%obj.turretObject); + for(%i = 0; %i < %obj.getDatablock().numMountPoints; %i++) + { + if (%obj.getMountNodeObject(%i)) { + %flingee = %obj.getMountNodeObject(%i); + %flingee.getDataBlock().doDismount(%flingee, true); + %xVel = 250.0 - (getRandom() * 500.0); + %yVel = 250.0 - (getRandom() * 500.0); + %zVel = (getRandom() * 100.0) + 50.0; + %flingVel = %xVel @ " " @ %yVel @ " " @ %zVel; + %flingee.applyImpulse(%flingee.getTransform(), %flingVel); + echo("got player..." @ %flingee.getClassName()); + %flingee.damage(0, %obj.getPosition(), 0.4, $DamageType::Crash); + } + } + + %data.deleteAllMounted(%obj); + + // --------------------------------------------------------------------------------- + // z0dd - ZOD - Czar, 6/24/02. Move this vehicle out of the way so nothing collides + // with it. + if(%data.getName() $= "BomberFlyer" || %data.getName() $= "MobileBaseVehicle" || %data.getName() $= "AssaultVehicle") + { + %obj.setFrozenState(true); + %obj.schedule(2000, "delete"); + %data.schedule(500, 'onAvoidCollisions', %obj); + } + else + { + %obj.setFrozenState(true); + %obj.schedule(500, "delete"); + } + // --------------------------------------------------------------------------------- +} + +// ---------------------------------------------------------------------------------- +// z0dd - ZOD, 6/13/02. Move this vehicle out of the way so nothing collides with it. +function VehicleData::onAvoidCollisions(%data, %obj) +{ + // Get the current location of the vehicle and send it to the moon! + %transform = posFromTransform(%obj.getTransform()); + %position = getWord(%transform, 0) SPC getWord(%transform, 1) SPC (getWord(%transform, 2)+2000); + %rotation = getWord(%transform, 3) SPC getWord(%transform, 4) SPC getWord(%transform, 5) SPC getWord(%transform, 6); + %obj.setTransform(%position SPC %rotation); +} +// ---------------------------------------------------------------------------------- + +function radiusVehicleExplosion(%data, %vehicle) +{ + // this is a modified version of RadiusExplosion() from projectiles.cs + %position = %vehicle.getPosition(); + InitContainerRadiusSearch(%position, %data.explosionRadius, $TypeMasks::PlayerObjectType | + $TypeMasks::VehicleObjectType | + $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | + $TypeMasks::ForceFieldObjectType | + $TypeMasks::TurretObjectType | + $TypeMasks::ItemObjectType); + + %numTargets = 0; + while ((%targetObject = containerSearchNext()) != 0) + { + if(%targetObject == %vehicle) + continue; + + %dist = containerSearchCurrRadDamageDist(); + + if (%dist > %data.explosionRadius) + continue; + + if (%targetObject.isMounted()) + { + %mount = %targetObject.getObjectMount(); + if(%mount == %vehicle) + continue; + + %found = -1; + for (%i = 0; %i < %mount.getDataBlock().numMountPoints; %i++) + { + if (%mount.getMountNodeObject(%i) == %targetObject) + { + %found = %i; + break; + } + } + + if (%found != -1) + { + if (%mount.getDataBlock().isProtectedMountPoint[%found] && (%mount != %vehicle)) + continue; + } + } + + %targets[%numTargets] = %targetObject; + %targetDists[%numTargets] = %dist; + %numTargets++; + } + + for (%i = 0; %i < %numTargets; %i++) + { + %targetObject = %targets[%i]; + %dist = %targetDists[%i]; + + %coverage = calcExplosionCoverage(%position, %targetObject, + ($TypeMasks::InteriorObjectType | + $TypeMasks::TerrainObjectType | + $TypeMasks::ForceFieldObjectType)); + if (%coverage == 0) + continue; + + %amount = (1.0 - (%dist / %data.explosionRadius)) * %coverage * %data.explosionDamage; + %targetData = %targetObject.getDataBlock(); + + %momVec = "0 0 1"; + + if(%amount > 0) + %targetData.damageObject(%targetObject, %sourceObject, %position, %amount, $DamageType::Explosion, %momVec); + } +} + +function VehicleData::deleteAllMounted() +{ + +} + +//************************************************************** +//* VEHICLE CREATION +//************************************************************** +// (NOTE: No entry for Wildcat Grav Cycle is here. -- DG) + +//---------------------------- +// SHRIKE SCOUT FLIER +//---------------------------- + +function ScoutFlyer::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + %obj.mountImage(ScoutChaingunParam, 0); + %obj.mountImage(ScoutChaingunImage, 2); + %obj.mountImage(ScoutChaingunPairImage, 3); + %obj.nextWeaponFire = 2; + %obj.schedule(5500, "playThread", $ActivateThread, "activate"); +} + +//---------------------------- +// THUNDERSWORD BOMBER +//---------------------------- + +function BomberFlyer::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + + %turret = TurretData::create(BomberTurret); + MissionCleanup.add(%turret); + %turret.team = %obj.teamBought; + %turret.selectedWeapon = 1; + %turret.setSelfPowered(); + %obj.mountObject(%turret, 10); + %turret.mountImage(BomberTurretBarrel,2); + %turret.mountImage(BomberTurretBarrelPair,3); + %turret.mountImage(BomberBombImage, 4); + %turret.mountImage(BomberBombPairImage, 5); + %turret.mountImage(BomberTargetingImage, 6); + %obj.turretObject = %turret; + %turret.setCapacitorRechargeRate( %turret.getDataBlock().capacitorRechargeRate ); + %turret.vehicleMounted = %obj; + + //vehicle turrets should not auto fire at targets + %turret.setAutoFire(false); + + //for this particular weapon - a non-firing datablock used only so the AI can aim the turret + //Also needed so we can set the turret parameters.. + %turret.mountImage(AIAimingTurretBarrel, 0); + + // setup the turret's target info + setTargetSensorGroup(%turret.getTarget(), %turret.team); + setTargetNeverVisMask(%turret.getTarget(), 0xffffffff); +} + +//---------------------------- +// HAVOC TRANSPORT FLIER +//---------------------------- + +function HAPCFlyer::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + %obj.schedule(6000, "playThread", $ActivateThread, "activate"); +} + +//---------------------------- +// BEOWULF ASSAULT VEHICLE +//---------------------------- + +function AssaultVehicle::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + + %turret = TurretData::create(AssaultPlasmaTurret); + %turret.selectedWeapon = 1; + MissionCleanup.add(%turret); + %turret.team = %obj.teamBought; + %turret.setSelfPowered(); + %obj.mountObject(%turret, 10); + %turret.mountImage(AssaultPlasmaTurretBarrel, 2); + %turret.mountImage(AssaultMortarTurretBarrel, 4); + %turret.setCapacitorRechargeRate( %turret.getDataBlock().capacitorRechargeRate ); + %obj.turretObject = %turret; + + //vehicle turrets should not auto fire at targets + %turret.setAutoFire(false); + + //Needed so we can set the turret parameters.. + %turret.mountImage(AssaultTurretParam, 0); + %obj.schedule(6000, "playThread", $ActivateThread, "activate"); + + // set the turret's target info + setTargetSensorGroup(%turret.getTarget(), %turret.team); + setTargetNeverVisMask(%turret.getTarget(), 0xffffffff); +} + +//---------------------------- +// JERICHO FORWARD BASE (Mobile Point Base) +//---------------------------- + +function MobileBaseVehicle::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + %obj.station = ""; + %obj.turret = ""; + %obj.beacon = ""; + + %obj.schedule(5000, "playThread", $AmbientThread, "ambient"); +} + +//************************************************************** +//* MULTI-CREW VEHICLE DELETION +//************************************************************** + +//---------------------------- +//BEOWULF ASSAULT VEHICLE +//---------------------------- + +function AssaultVehicle::deleteAllMounted(%data, %obj) +{ + %turret = %obj.getMountNodeObject(10); + if(!%turret) + return; + + if(%client = %turret.getControllingClient()) + { + %client.player.setControlObject(%client.player); + %client.player.mountImage(%client.player.lastWeapon, $WeaponSlot); + %client.player.mountVehicle = false; + } + %turret.schedule(2000, delete); +} + +//---------------------------- +// THUNDERSWORD BOMBER +//---------------------------- + +function BomberFlyer::deleteAllMounted(%data, %obj) +{ + if(isObject(%obj.beacon)) + %obj.beacon.schedule(50, delete); + + %turret = %obj.getMountNodeObject(10); + if(!%turret) + return; + + %turret.altTrigger = 0; + %turret.fireTrigger = 0; + + if(%client = %turret.getControllingClient()) + { + commandToClient(%client, 'endBomberSight'); + %client.player.setControlObject(%client.player); + %client.player.mountImage(%client.player.lastWeapon, $WeaponSlot); + %client.player.mountVehicle = false; + + %client.player.bomber = false; + %client.player.isBomber = false; + } + %turret.schedule(2000, delete); +} + +//---------------------------- +// JERICHO FORWARD BASE +//---------------------------- + +function MobileBaseVehicle::deleteAllMounted(%data, %obj) +{ + if(%obj.station !$= "") + { + %obj.station.getDataBlock().onLosePowerDisabled(%obj.station); + %obj.unmountObject(%obj.station); + %obj.station.trigger.schedule(2000, delete); + %obj.station.schedule(2000, delete); + } + if(%obj.turret !$= "") + { + %obj.turret.getDataBlock().onLosePowerDisabled(%obj.turret); + %obj.unmountObject(%obj.turret); + %obj.turret.schedule(2000, delete); + } + if(isObject(%obj.shield)) + %obj.shield.schedule(2000, delete); + + if(isObject(%obj.beacon)) + { + %obj.beacon.schedule(0, delete); + } +} + +//************************************************************** +//* WEAPON MOUNTING ON VEHICLES +//************************************************************** + +//---------------------------- +// SHRIKE SCOUT FLIER +//---------------------------- + +function ScoutFlyer::playerMounted(%data, %obj, %player, %node) +{ + // scout flyer == SUV (single-user vehicle) + commandToClient(%player.client, 'setHudMode', 'Pilot', "Shrike", %node); + $numVWeapons = 1; + + // update observers who are following this guy... + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, false ); +} + +//---------------------------- +// THUNDERSWORD BOMBER +//---------------------------- + +function BomberFlyer::playerMounted(%data, %obj, %player, %node) +{ + if(%node == 0) + { + // pilot position + %player.setPilot(true); + commandToClient(%player.client, 'setHudMode', 'Pilot', "Bomber", %node); + } + else if(%node == 1) + { + // bombardier position + %turret = %obj.getMountNodeObject(10); + %player.vehicleTurret = %turret; + %player.setTransform("0 0 0 0 0 1 0"); + %player.lastWeapon = %player.getMountedImage($WeaponSlot); + %player.unmountImage($WeaponSlot); + if(!%player.client.isAIControlled()) + { + %player.setControlObject(%turret); + %player.client.setObjectActiveImage(%turret, 2); + } + commandToClient(%player.client, 'startBomberSight'); + %turret.bomber = %player; + $bWeaponActive = 0; + %obj.getMountNodeObject(10).selectedWeapon = 1; + commandToClient(%player.client,'SetWeaponryVehicleKeys', true); + + commandToClient(%player.client, 'setHudMode', 'Pilot', "Bomber", %node); + %player.isBomber = true; + } + else + { + // tail gunner position + commandToClient(%player.client, 'setHudMode', 'Passenger', "Bomber", %node); + } + // build a space-separated string representing passengers + // 0 = no passenger; 1 = passenger (e.g. "1 0 0 ") + %passString = buildPassengerString(%obj); + // send the string of passengers to all mounted players + for(%i = 0; %i < %data.numMountPoints; %i++) + if(%obj.getMountNodeObject(%i) > 0) + commandToClient(%obj.getMountNodeObject(%i).client, 'checkPassengers', %passString); + + // update observers who are following this guy... + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, false ); +} + +//---------------------------- +// HAVOC TRANSPORT FLIER +//---------------------------- + +function HAPCFlyer::playerMounted(%data, %obj, %player, %node) +{ + if(%node == 0) { + // pilot position + commandToClient(%player.client, 'setHudMode', 'Pilot', "HAPC", %node); + } + else { + // all others + commandToClient(%player.client, 'setHudMode', 'Passenger', "HAPC", %node); + } + // build a space-separated string representing passengers + // 0 = no passenger; 1 = passenger (e.g. "1 0 0 1 1 0 ") + %passString = buildPassengerString(%obj); + // send the string of passengers to all mounted players + for(%i = 0; %i < %data.numMountPoints; %i++) + if(%obj.getMountNodeObject(%i) > 0) + commandToClient(%obj.getMountNodeObject(%i).client, 'checkPassengers', %passString); + + // update observers who are following this guy... + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, false ); +} + +//---------------------------- +// WILDCAT GRAV CYCLE +//---------------------------- + +function ScoutVehicle::playerMounted(%data, %obj, %player, %node) +{ + // scout vehicle == SUV (single-user vehicle) + commandToClient(%player.client, 'setHudMode', 'Pilot', "Hoverbike", %node); + + // update observers who are following this guy... + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, false ); +} + +//---------------------------- +// BEOWULF ASSAULT VEHICLE +//---------------------------- + +function AssaultVehicle::playerMounted(%data, %obj, %player, %node) +{ + if(%node == 0) { + // driver position + // is there someone manning the turret? + //%turreteer = %obj.getMountedNodeObject(1); + commandToClient(%player.client, 'setHudMode', 'Pilot', "Assault", %node); + } + else if(%node == 1) + { + // turreteer position + %turret = %obj.getMountNodeObject(10); + %player.vehicleTurret = %turret; + %player.setTransform("0 0 0 0 0 1 0"); + %player.lastWeapon = %player.getMountedImage($WeaponSlot); + %player.unmountImage($WeaponSlot); + if(!%player.client.isAIControlled()) + { + %player.setControlObject(%turret); + %player.client.setObjectActiveImage(%turret, 2); + } + %turret.turreteer = %player; + // if the player is the turreteer, show vehicle's weapon icons + //commandToClient(%player.client, 'showVehicleWeapons', %data.getName()); + //%player.client.setVWeaponsHudActive(1); // plasma turret icon (default) + + $aWeaponActive = 0; + commandToClient(%player.client,'SetWeaponryVehicleKeys', true); + %obj.getMountNodeObject(10).selectedWeapon = 1; + commandToClient(%player.client, 'setHudMode', 'Pilot', "Assault", %node); + } + + // update observers who are following this guy... + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, false ); + + // build a space-separated string representing passengers + // 0 = no passenger; 1 = passenger (e.g. "1 0 ") + %passString = buildPassengerString(%obj); + // send the string of passengers to all mounted players + for(%i = 0; %i < %data.numMountPoints; %i++) + if(%obj.getMountNodeObject(%i) > 0) + commandToClient(%obj.getMountNodeObject(%i).client, 'checkPassengers', %passString); +} + +//---------------------------- +// JERICHO FORWARD BASE +//---------------------------- + +function MobileBaseVehicle::playerMounted(%data, %obj, %player, %node) +{ + // MPB vehicle == SUV (single-user vehicle) + commandToClient(%player.client, 'setHudMode', 'Pilot', "MPB", %node); + if(%obj.deploySchedule) + { + %obj.deploySchedule.clear(); + %obj.deploySchedule = ""; + } + + if(%obj.deployed !$= "" && %obj.deployed == 1) + { + %obj.setThreadDir($DeployThread, false); + %obj.playThread($DeployThread,"deploy"); + %obj.playAudio($DeploySound, MobileBaseUndeploySound); + %obj.station.setThreadDir($DeployThread, false); + %obj.station.getDataBlock().onLosePowerDisabled(%obj.station); + %obj.station.clearSelfPowered(); + %obj.station.goingOut=false; + %obj.station.notDeployed = 1; + %obj.station.playAudio($DeploySound, MobileBaseStationUndeploySound); + + if((%turretClient = %obj.turret.getControllingClient()) !$= "") + { + CommandToServer( 'resetControlObject', %turretClient ); + } + + %obj.turret.setThreadDir($DeployThread, false); + %obj.turret.clearTarget(); + %obj.turret.setTargetObject(-1); + + %obj.turret.playAudio($DeploySound, MobileBaseTurretUndeploySound); + %obj.shield.open(); + %obj.shield.schedule(1000,"delete"); + %obj.deploySchedule = ""; + + %obj.fullyDeployed = 0; + + %obj.noEnemyControl = 0; + } + %obj.deployed = 0; + + // update observers who are following this guy... + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, false ); +} + +function buildPassengerString(%vehicle) +{ + %passStr = ""; + for(%i = 0; %i < %vehicle.getDatablock().numMountPoints; %i++) + { + if(%vehicle.getMountNodeObject(%i) > 0) + %passStr = %passStr @ "1 "; + else + %passStr = %passStr @ "0 "; + } + + return %passStr; +} + +function MobileBaseVehicle::playerDismounted(%data, %obj, %player) +{ + %obj.schedule(500, "deployVehicle", %data, %player); + Parent::playerDismounted( %data, %obj, %player ); +} + +function WheeledVehicle::deployVehicle(%obj, %data, %player) +{ + if (!%data.vehicleDeploy(%obj, %player)) + %obj.schedule(500, "deployVehicle", %data, %player); +} + +//************************************************************** +//* JERICHO DEPLOYMENT and UNDEPLOYMENT +//************************************************************** + +function MobileBaseVehicle::vehicleDeploy(%data, %obj, %player, %force) +{ + if(VectorLen(%obj.getVelocity()) <= 0.1 || %force) + { + %deployMessage = ""; + if( (%deployMessage = %data.checkTurretDistance(%obj)) $= "" || %force) + { + if(%obj.station $= "") + { + if( (%deployMessage = %data.checkDeploy(%obj)) $= "" || %force) + { + %obj.station = new StaticShape() { + scale = "1 1 1"; + dataBlock = "MobileInvStation"; + lockCount = "0"; + homingCount = "0"; + team = %obj.team; + vehicle = %obj; + }; + %obj.station.startFade(0,0,true); + %obj.mountObject(%obj.station, 2); + %obj.station.getDataBlock().createTrigger(%obj.station); + %obj.station.setSelfPowered(); + %obj.station.playThread($PowerThread,"Power"); + %obj.station.playAudio($HumSound,StationHumSound); + %obj.station.vehicle = %obj; + %obj.turret = new turret() { + scale = "1 1 1"; + dataBlock = "MobileTurretBase"; + lockCount = "0"; + homingCount = "0"; + team = %obj.team; + }; + %obj.turret.setDamageLevel(%obj.getDamageLevel()); + %obj.mountObject(%obj.turret, 1); + %obj.turret.setSelfPowered(); + %obj.turret.playThread($PowerThread,"Power"); + %obj.turret.mountImage(MissileBarrelLarge, 0 ,false); + + %obj.beacon = new BeaconObject() { + dataBlock = "DeployedBeacon"; + position = %obj.position; + rotation = %obj.rotation; + team = %obj.team; + }; + %obj.beacon.setBeaconType(friend); + %obj.beacon.setTarget(%obj.team); + // --------------------------------- + // z0dd - ZOD, 5/8/02. Invalid call. + //checkSpawnPos(%obj, 20); + } + } + else + { + %obj.station.setSelfPowered(); + %obj.station.playThread($PowerThread,"Power"); + %obj.turret.setSelfPowered(); + %obj.turret.playThread($PowerThread,"Power"); + } + if(%deployMessage $= "" || %force) + { + if(%obj.turret.getTarget() == -1) + { + %obj.turret.setTarget(%obj.turret.target); + } + %obj.turret.setThreadDir($DeployThread, true); + %obj.turret.playThread($DeployThread,"deploy"); + %obj.turret.playAudio($DeploySound, MobileBaseTurretDeploySound); + + %obj.station.notDeployed = 1; + %obj.setThreadDir($DeployThread, true); + %obj.playThread($DeployThread,"deploy"); + %obj.playAudio($DeploySound, MobileBaseDeploySound); + %obj.deployed = 1; + %obj.deploySchedule = ""; + %obj.disableMove = true; + %obj.setFrozenState(true); + if(isObject(%obj.shield)) + %obj.shield.delete(); + + %obj.shield = new forceFieldBare() + { + scale = "1.22 1.8 1.1"; + dataBlock = "defaultTeamSlowFieldBare"; + team = %obj.team; + }; + %obj.shield.open(); + setTargetSensorData(%obj.getTarget(), MPBDeployedSensor); + } + } + if(%deployMessage !$= "") + messageClient(%player.client, '', %deployMessage); + + return true; + } + else + { + return false; + } +} + +function MobileBaseVehicle::onEndSequence(%data, %obj, %thread) +{ + if(%thread == $DeployThread && !%obj.deployed) + { + %obj.unmountObject(%obj.station); + %obj.station.trigger.delete(); + %obj.station.delete(); + %obj.station = ""; + + %obj.beacon.delete(); + + %obj.unmountObject(%obj.turret); + %obj.turret.delete(); + %obj.turret = ""; + + if(!%obj.immobilized) + { + %obj.disableMove = false; + %obj.setFrozenState(false); + } + setTargetSensorData(%obj.getTarget(), %data.sensorData); + } + else + { + %obj.station.startFade(0,0,false); + %obj.station.setThreadDir($DeployThread, true); + %obj.station.playThread($DeployThread,"deploy"); + %obj.station.playAudio($DeploySound, MobileBaseStationDeploySound); + %obj.station.goingOut = true; + %obj.shield.setTransform(%obj.getSlotTransform(3)); + %obj.shield.close(); + %obj.isDeployed = true; + %obj.noEnemyControl = 1; + } + + Parent::onEndSequence(%data, %obj, %thread); +} + +function MobileInvStation::onEndSequence(%data, %obj, %thread) +{ + if(!%obj.goingOut) + %obj.startFade(0,0,true); + else + { + %obj.notDeployed = 0; + %obj.vehicle.fullyDeployed = 1; + } + Parent::onEndSequence(%data, %obj, %thread); +} + + +function MobileBaseVehicle::checkDeploy(%data, %obj) +{ + %mask = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType | + $TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType | + $TypeMasks::ItemObjectType | $TypeMasks::PlayerObjectType | + $TypeMasks::TurretObjectType | //$TypeMasks::StaticTSObjectType | + $TypeMasks::InteriorObjectType; + + //%slot 1 = turret %slot 2 = station + %height[1] = 0; + %height[2] = 0; + %radius[1] = 2.4; + %radius[2] = 2.4; + %stationFailed = false; + %turretFailed = false; + + for(%x = 1; %x < 3; %x++) + { + %posXY = getWords(%obj.getSlotTransform(%x), 0, 1); + %posZ = (getWord(%obj.getSlotTransform(%x), 2) + %height[%x]); + InitContainerRadiusSearch(%posXY @ " " @ %posZ, %radius[%x], %mask); + + while ((%objFound = ContainerSearchNext()) != 0) + { + if(%objFound != %obj) + { + if(%x == 1) + %turretFailed = true; + else + %stationFailed = true; + break; + } + } + } + + //If turret, station or both fail the send back the error message... + if(%turretFailed && %stationFailed) + return "Both Turret and Station are blocked and unable to deploy."; + if(%turretFailed) + return "Turret is blocked and unable to deploy."; + if(%stationFailed) + return "Station is blocked and unable to deploy."; + + //Check the station for collision with the Terrain + %mat = %obj.getTransform(); + for(%x = 1; %x < 7; %x+=2) + { + %startPos = MatrixMulPoint(%mat, %data.stationPoints[%x]); + %endPos = MatrixMulPoint(%mat, %data.stationPoints[%x+1]); + + %rayCastObj = containerRayCast(%startPos, %endPos, $TypeMasks::TerrainObjectType, 0); + if(%rayCastObj) + return "Station is blocked by terrain and unable to deploy."; + } + + return ""; +} +function MobileBaseVehicle::checkTurretDistance(%data, %obj) +{ + %pos = getWords(%obj.getTransform(), 0, 2); + InitContainerRadiusSearch(%pos, 100, $TypeMasks::TurretObjectType | $TypeMasks::InteriorObjectType); + while ((%objFound = ContainerSearchNext()) != 0) + { + if(%objFound.getType() & $TypeMasks::TurretObjectType) + { + if(%objFound.getDataBlock().ClassName $= "TurretBase") + return "Turret Base is in the area. Unable to deploy."; + } + else + { + %subStr = getSubStr(%objFound.interiorFile, 1, 4); + if(%subStr !$= "rock" && %subStr !$= "spir" && %subStr !$= "misc") + return "Building is in the area. Unable to deploy."; + } + } + return ""; +} + + +//************************************************************** +//* VEHICLE INVENTORY MANAGEMENT +//************************************************************** + +//-------------------------------------------------------------- +// NUMBER OF PURCHASEABLE VEHICLES PER TEAM +//-------------------------------------------------------------- + +$VehicleRespawnTime = 15000; +$Vehiclemax[ScoutVehicle] = 4; +$VehicleMax[AssaultVehicle] = 3; +$VehicleMax[MobileBaseVehicle] = 1; +$VehicleMax[ScoutFlyer] = 4; +$VehicleMax[BomberFlyer] = 2; +$VehicleMax[HAPCFlyer] = 2; + +function vehicleListRemove(%data, %obj) +{ + %blockName = %data.getName(); + for($i = 0; %i < $VehicleMax[%blockName]; %i++) + if($VehicleInField[%obj.team, %blockName, %i] == %obj) + { + $VehicleInField[%obj.team, %blockName, %i] = 0; + $VehicleTotalCount[%obj.team, %blockName]--; + break; + } +} + +function vehicleListAdd(%blockName, %obj) +{ + for($i = 0; %i < $VehicleMax[%blockName]; %i++) + { + if($VehicleInField[%obj.team, %blockName, %i] $= "" || $VehicleInField[%obj.team, %blockName, %i] == 0) + { + $VehicleInField[%obj.team, %blockName, %i] = %obj; + $VehicleTotalCount[%obj.team, %blockName]++; + break; + } + } +} + +function clearVehicleCount(%team) +{ + $VehicleTotalCount[%team, ScoutVehicle] = 0; + $VehicleTotalCount[%team, AssaultVehicle] = 0; + $VehicleTotalCount[%team, MobileBaseVehicle] = 0; + $VehicleTotalCount[%team, ScoutFlyer] = 0; + $VehicleTotalCount[%team, BomberFlyer] = 0; + $VehicleTotalCount[%team, HAPCFlyer] = 0; +} + +//************************************************************** +//* VEHICLE HUD SEAT INDICATOR LIGHTS +//************************************************************** + +// --------------------------------------------------------- +// z0dd - ZOD, 6/18/02. Get the name of the vehicle node and +// pass to Armor::onMount and Armor::onDismount in player.cs +function findNodeName(%vehicle, %node) +{ + %vName = %vehicle.getDataBlock().getName(); + if(%vName !$= "HAPCFlyer") + { + if(%node == 0) + return 'pilot'; + else if(%node == 1) + return 'gunner'; + else + return 'tailgunner'; + } + else + { + if(%node == 0) + return 'pilot'; + else if(%node == 1) + return 'tailgunner'; + else + return 'passenger'; + } +} +// End z0dd - ZOD +// --------------------------------------------------------- + +function findAIEmptySeat(%vehicle, %player) +{ + %dataBlock = %vehicle.getDataBlock(); + if (%dataBlock.getName() $= "BomberFlyer") + %num = 2; + else + %num = 1; + %node = -1; + for(%i = %num; %i < %dataBlock.numMountPoints; %i++) + { + if (!%vehicle.getMountNodeObject(%i)) + { + //cheap hack - for now, AI's will mount the next available node regardless of where they collided + %node = %i; + break; + } + } + + //return the empty seat + return %node; +} + +function findEmptySeat(%vehicle, %player, %forceNode) +{ + %minNode = 1; + %node = -1; + %dataBlock = %vehicle.getDataBlock(); + %dis = %dataBlock.minMountDist; + %playerPos = getWords(%player.getTransform(), 0, 2); + %message = ""; + if(%dataBlock.lightOnly) + { + if(%player.client.armor $= "Light") + %minNode = 0; + else + %message = '\c2Only Scout Armors can pilot this vehicle.~wfx/misc/misc.error.wav'; + } + else if(%player.client.armor $= "Light" || %player.client.armor $= "Medium") + %minNode = 0; + else + %minNode = findFirstHeavyNode(%dataBlock); + + if(%forceNode !$= "") + %node = %forceNode; + else + { + for(%i = 0; %i < %dataBlock.numMountPoints; %i++) + if(!%vehicle.getMountNodeObject(%i)) + { + %seatPos = getWords(%vehicle.getSlotTransform(%i), 0, 2); + %disTemp = VectorLen(VectorSub(%seatPos, %playerPos)); + if(%disTemp <= %dis) + { + %node = %i; + %dis = %disTemp; + } + } + } + if(%node != -1 && %node < %minNode) + { + if(%message $= "") + { + if(%node == 0) + %message = '\c2Only Scout or Assault Armors can pilot this vehicle.~wfx/misc/misc.error.wav'; + else + %message = '\c2Only Scout or Assault Armors can use that position.~wfx/misc/misc.error.wav'; + } + + if(!%player.noSitMessage) + { + %player.noSitMessage = true; + %player.schedule(2000, "resetSitMessage"); + messageClient(%player.client, 'MsgArmorCantMountVehicle', %message); + } + %node = -1; + } + return %node; +} + +function findFirstHeavyNode(%data) +{ + for(%i = 0; %i < %data.numMountPoints; %i++) + if(%data.mountPose[%i] $= "") + return %i; + return %data.numMountPoints; +} + +//************************************************************** +//* DAMAGE FUNCTIONS +//************************************************************** + +function VehicleData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %theClient, %proj) +{ + if(%proj !$= "") + { + if(%amount > 0 && %targetObject.lastDamageProj !$= %proj) + { + %targetObject.lastDamageProj = %proj; + %targetObject.lastDamageAmount = %amount; + } + else if(%targetObject.lastDamageAmount < %amount) + %amount = %amount - %targetObject.lastDamageAmount; + else + return; + } + + // check for team damage + %sourceClient = %sourceObject ? %sourceObject.getOwnerClient() : 0; + %targetTeam = getTargetSensorGroup(%targetObject.getTarget()); + + if(%sourceClient) + %sourceTeam = %sourceClient.getSensorGroup(); + else if(isObject(%sourceObject) && %sourceObject.getClassName() $= "Turret") + %sourceTeam = getTargetSensorGroup(%sourceObject.getTarget()); + else + %sourceTeam = %sourceObject ? getTargetSensorGroup(%sourceObject.getTarget()) : -1; + + // vehicles no longer obey team damage -JR +// if(!$teamDamage && (%targetTeam == %sourceTeam) && %targetObject.getDamagePercent() > 0.5) +// return; + //but we do want to track the destroyer + if(%sourceObject) + { + %targetObject.lastDamagedBy = %sourceObject; + %targetObject.lastDamageType = %damageType; + } + else + %targetObject.lastDamagedBy = 0; + + + // Scale damage type & include shield calculations... + if (%data.isShielded) + %amount = %data.checkShields(%targetObject, %position, %amount, %damageType); + + + %damageScale = %data.damageScale[%damageType]; + if(%damageScale !$= "") + %amount *= %damageScale; + + if(%amount != 0) + %targetObject.applyDamage(%amount); + + if(%targetObject.getDamageState() $= "Destroyed" ) + { + if( %momVec !$= "") + %targetObject.setMomentumVector(%momVec); + } +} + +function VehicleData::onImpact(%data, %vehicleObject, %collidedObject, %vec, %vecLen) +{ + if(%vecLen > %data.minImpactSpeed) + %data.damageObject(%vehicleObject, 0, VectorAdd(%vec, %vehicleObject.getPosition()), + %vecLen * %data.speedDamageScale, $DamageType::Ground); + + // associated "crash" sounds + if(%vecLen > %vDataBlock.hardImpactSpeed) + %vehicleObject.playAudio(0, %vDataBlock.hardImpactSound); + else if(%vecLen > %vDataBlock.softImpactSpeed) + %vehicleObject.playAudio(0, %vDataBlock.softImpactSound); +} + +//************************************************************** +//* VEHICLE TIMEOUTS +//************************************************************** + +function vehicleAbandonTimeOut(%vehicle) +{ + if(%vehicle.getDatablock().cantAbandon $= "" && %vehicle.lastPilot $= "") + { + for(%i = 0; %i < %vehicle.getDatablock().numMountPoints; %i++) + if (%vehicle.getMountNodeObject(%i)) + { + %passenger = %vehicle.getMountNodeObject(%i); + if(%passenger.lastVehicle !$= "") + schedule(15000, %passenger.lastVehicle,"vehicleAbandonTimeOut", %passenger.lastVehicle); + %passenger.lastVehicle = %vehicle; + %vehicle.lastPilot = %passenger; + return; + } + + if(%vehicle.respawnTime !$= "") + %vehicle.marker.schedule = %vehicle.marker.data.schedule(%vehicle.respawnTime, "respawn", %vehicle.marker); + %vehicle.mountable = 0; + %vehicle.startFade(1000, 0, true); + %vehicle.schedule(1001, "delete"); + } +} + +//------------------------------------------------------------------------------ +function HoverVehicleData::create(%block, %team, %oldObj) +{ + if(%oldObj $= "") + { + %obj = new HoverVehicle() + { + dataBlock = %block; + respawn = "0"; + teamBought = %team; + team = %team; + }; + } + else + { + %obj = new HoverVehicle() + { + dataBlock = %data; + respawn = "0"; + teamBought = %team; + team = %team; + mountable = %oldObj.mountable; + disableMove = %oldObj.disableMove; + resetPos = %oldObj.resetPos; + respawnTime = %oldObj.respawnTime; + marker = %oldObj; + }; + } + return(%obj); +} + +function WheeledVehicleData::create(%data, %team, %oldObj) +{ + if(%oldObj $= "") + { + %obj = new WheeledVehicle() + { + dataBlock = %data; + respawn = "0"; + teamBought = %team; + team = %team; + }; + } + else + { + %obj = new WheeledVehicle() + { + dataBlock = %data; + respawn = "0"; + teamBought = %team; + team = %team; + mountable = %oldObj.mountable; + disableMove = %oldObj.disableMove; + resetPos = %oldObj.resetPos; + deployed = %oldObj.deployed; + respawnTime = %oldObj.respawnTime; + marker = %oldObj; + }; + } + + return(%obj); +} + +function FlyingVehicleData::create(%data, %team, %oldObj) +{ + if(%oldObj $= "") + { + %obj = new FlyingVehicle() + { + dataBlock = %data; + respawn = "0"; + teamBought = %team; + team = %team; + }; + } + else + { + %obj = new FlyingVehicle() + { + dataBlock = %data; + teamBought = %team; + team = %team; + mountable = %oldObj.mountable; + disableMove = %oldObj.disableMove; + resetPos = %oldObj.resetPos; + respawnTime = %oldObj.respawnTime; + marker = %oldObj; + }; + } + + return(%obj); +} + +function FlyingVehicleData::switchSidesSetPos(%data, %oldObj) +{ + %team = %oldObj.curTeam == 1 ? 2 : 1; + %oldObj.curTeam = %team; + %obj = new FlyingVehicle() + { + dataBlock = %data; + teamBought = %team; + team = %team; + mountable = %oldObj.mountable; + disableMove = %oldObj.disableMove; + resetPos = %oldObj.resetPos; + respawnTime = %oldObj.respawnTime; + marker = %oldObj; + }; + %obj.setTransform(%oldObj.getTransform()); + + return(%obj); +} + +function WheeledVehicleData::switchSidesSetPos(%data, %oldObj) +{ + %team = %oldObj.curTeam == 1 ? 2 : 1; + %oldObj.curTeam = %team; + %obj = new WheeledVehicle() + { + dataBlock = %data; + respawn = "0"; + teamBought = %team; + team = %team; + mountable = %oldObj.mountable; + disableMove = %oldObj.disableMove; + resetPos = %oldObj.resetPos; + deployed = %oldObj.deployed; + respawnTime = %oldObj.respawnTime; + marker = %oldObj; + }; + %obj.setTransform(%oldObj.getTransform()); + return(%obj); +} + +function HoverVehicleData::switchSides(%data, %oldObj) +{ + %team = %oldObj.curTeam == 1 ? 2 : 1; + %oldObj.curTeam = %team; + %obj = new HoverVehicle() + { + dataBlock = %data; + respawn = "0"; + teamBought = %team; + team = %team; + mountable = %oldObj.mountable; + disableMove = %oldObj.disableMove; + resetPos = %oldObj.resetPos; + respawnTime = %oldObj.respawnTime; + marker = %oldObj; + }; + %obj.setTransform(%oldObj.getTransform()); + return(%obj); +} + +function resetNonStaticObjPositions() +{ + MissionGroup.setupPositionMarkers(false); + MissionCleanup.positionReset(); +} + +function next(%team) +{ + ResetObjsPositions(%team); +} + +function SimGroup::positionReset(%group) +{ + for(%i = %group.getCount() - 1; %i >=0 ; %i--) + { + %obj = %group.getObject(%i); + if(%obj.resetPos && %obj.getName() !$= PosMarker) + %obj.delete(); + else + %obj.positionReset(); + } + + for(%i = 0; %i < %group.getCount(); %i++) + { + %obj = %group.getObject(%i); + if(%obj.getName() $= PosMarker) + { + cancel(%obj.schedule); + %newObj = %obj.data.switchSidesSetPos(%obj); + MissionCleanup.add(%newObj); + setTargetSensorGroup(%newObj.target, %newObj.team); + } + else + %obj.positionReset(); + } +} + +function VehicleData::respawn(%data, %marker) +{ + %mask = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType | $TypeMasks::TurretObjectType; + InitContainerRadiusSearch(%marker.getWorldBoxCenter(), %data.checkRadius, %mask); + if(containerSearchNext() == 0) + { + %newObj = %data.create(%marker.curTeam, %marker); + %newObj.startFade(1000, 0, false); + %newObj.setTransform(%marker.getTransform()); + + setTargetSensorGroup(%newObj.target, %newObj.team); + MissionCleanup.add(%newObj); + } + else + { + %marker.schedule = %data.schedule(3000, "respawn", %marker); + } +} + +function SimObject::positionReset(%group, %team) +{ + //Used to avoid warnings +} + +function Terraformer::positionReset(%group, %team) +{ + //Used to avoid warnings +} + +function SimGroup::setupPositionMarkers(%group, %create) +{ + for(%i = %group.getCount() - 1; %i >= 0; %i--) + { + %obj = %group.getObject(%i); + if(%obj.resetPos || %obj.respawnTime !$= "") + { + if(%create) + { + %marker = %obj.getDataBlock().createPositionMarker(%obj); + MissionCleanup.add(%marker); + %obj.marker = %marker; + } + else + { + %obj.delete(); + } + } + else + %obj.setupPositionMarkers(%create); + } +} + +function SimObject::setupPositionMarkers(%group, %create) +{ + //Used to avoid warnings +} + +function VehicleData::createPositionMarker(%data, %obj) +{ + %marker = new Trigger(PosMarker) + { + dataBlock = markerTrigger; + mountable = %obj.mountable; + disableMove = %obj.disableMove; + resetPos = %obj.resetPos; + data = %obj.getDataBlock().getName(); + deployed = %obj.deployed; + curTeam = %obj.team; + respawnTime = %obj.respawnTime; + }; + %marker.setTransform(%obj.getTransform()); + return %marker; +} + +function VehicleData::hasDismountOverrides(%data, %obj) +{ + return false; +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_bomber.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_bomber.cs new file mode 100644 index 00000000..66708f12 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_bomber.cs @@ -0,0 +1,991 @@ +//************************************************************** +// THUNDERSWORD BOMBER +//************************************************************** +//************************************************************** +// SOUNDS +//************************************************************** +datablock EffectProfile(BomberFlyerEngineEffect) +{ + effectname = "vehicles/bomber_engine"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberFlyerThrustEffect) +{ + effectname = "vehicles/bomber_boost"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberTurretFireEffect) +{ + effectname = "vehicles/bomber_turret_fire"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberTurretActivateEffect) +{ + effectname = "vehicles/bomber_turret_activate"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberTurretReloadEffect) +{ + effectname = "vehicles/bomber_turret_reload"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberTurretDryFireEffect) +{ + effectname = "vehicles/bomber_turret_dryfire"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberBombReloadEffect) +{ + effectname = "vehicles/bomber_bomb_reload"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberBombDryFireEffect) +{ + effectname = "vehicles/bomber_bomb_dryfire"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(BomberBombFireEffect) +{ + effectname = "weapons/generic_throw"; + minDistance = 10.0; + maxDistance = 20.0; +}; + +datablock AudioProfile(BomberFlyerEngineSound) +{ + filename = "fx/vehicles/bomber_engine.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = BomberFlyerEngineEffect; +}; + +datablock AudioProfile(BomberFlyerThrustSound) +{ + filename = "fx/vehicles/bomber_boost.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = BomberFlyerThrustEffect; +}; + +datablock AudioProfile(FusionExpSound) +// Sound played when mortar impacts on target +{ + filename = "fx/powered/turret_mortar_explode.wav"; + description = "AudioBIGExplosion3d"; + preload = true; +}; + +datablock AudioProfile(BomberTurretFireSound) +{ + filename = "fx/vehicles/bomber_turret_fire.wav"; + description = AudioClose3d; + preload = true; + effect = BomberTurretFireEffect; +}; + +datablock AudioProfile(BomberTurretActivateSound) +{ + filename = "fx/vehicles/bomber_turret_activate.wav"; + description = AudioClose3d; + preload = true; + effect = BomberTurretActivateEffect; +}; + +datablock AudioProfile(BomberTurretReloadSound) +{ + filename = "fx/vehicles/bomber_turret_reload.wav"; + description = AudioClose3d; + preload = true; + effect = BomberTurretReloadEffect; +}; + +datablock AudioProfile(BomberTurretIdleSound) +{ + filename = "fx/misc/diagnostic_on.wav"; + description = ClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(BomberTurretDryFireSound) +{ + filename = "fx/vehicles/bomber_turret_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = BomberTurretDryFireEffect; +}; + +datablock AudioProfile(BomberBombReloadSound) +{ + filename = "fx/vehicles/bomber_bomb_reload.wav"; + description = AudioClose3d; + preload = true; + effect = BomberBombReloadEffect; +}; + +datablock AudioProfile(BomberBombProjectileSound) +{ + filename = "fx/vehicles/bomber_bomb_projectile.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = BomberBombFireEffect; +}; + +datablock AudioProfile(BomberBombDryFireSound) +{ + filename = "fx/vehicles/bomber_bomb_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = BomberBombDryFireEffect; +}; + +datablock AudioProfile(BomberBombFireSound) +{ + filename = "fx/vehicles/bomber_bomb_reload.wav"; + description = AudioClose3d; + preload = true; + effect = BomberBombFireEffect; +}; + +datablock AudioProfile(BomberBombIdleSound) +{ + filename = "fx/misc/diagnostic_on.wav"; + description = ClosestLooping3d; + preload = true; +}; + +//************************************************************** +// VEHICLE CHARACTERISTICS +//************************************************************** + +datablock FlyingVehicleData(BomberFlyer) : BomberDamageProfile +{ + spawnOffset = "0 0 2"; + + catagory = "Vehicles"; + shapeFile = "vehicle_air_bomber.dts"; + multipassenger = true; + computeCRC = true; + + weaponNode = 1; + + debrisShapeName = "vehicle_air_bomber_debris.dts"; + debris = ShapeDebris; + renderWhenDestroyed = false; + + drag = 0.2; + density = 1.0; + + mountPose[0] = sitting; + mountPose[1] = sitting; + numMountPoints = 3; + isProtectedMountPoint[0] = true; + isProtectedMountPoint[1] = true; + isProtectedMountPoint[2] = true; + + cameraDefaultFov = 90.0; + cameraMinFov = 5.0; + cameraMaxFov = 120.0; + + cameraMaxDist = 22; + cameraOffset = 5; + cameraLag = 1.0; + explosion = LargeAirVehicleExplosion; + explosionDamage = 0.5; + explosionRadius = 5.0; + + maxDamage = 2.80; // Total health + destroyedLevel = 2.80; // Damage textures show up at this health level + + isShielded = true; + energyPerDamagePoint = 150; + maxEnergy = 400; // Afterburner and any energy weapon pool + minDrag = 60; // Linear Drag (eventually slows you down when not thrusting...constant drag) + rotationalDrag = 1800; // Angular Drag (dampens the drift after you stop moving the mouse...also tumble drag) + rechargeRate = 0.8; + + // Auto stabilize speed + maxAutoSpeed = 15; // Autostabilizer kicks in when less than this speed. (meters/second) + autoAngularForce = 1500; // Angular stabilizer force (this force levels you out when autostabilizer kicks in) + autoLinearForce = 300; // Linear stabilzer force (this slows you down when autostabilizer kicks in) + autoInputDamping = 0.95; // Dampen control input so you don't whack out at very slow speeds + + // Maneuvering + maxSteeringAngle = 5; // Max radiens you can rotate the wheel. Smaller number is more maneuverable. + horizontalSurfaceForce = 5; // Horizontal center "wing" (provides "bite" into the wind for climbing/diving and turning) + verticalSurfaceForce = 8; // Vertical center "wing" (controls side slip. lower numbers make MORE slide.) + maneuveringForce = 4700; // Horizontal jets (W,S,D,A key thrust) + steeringForce = 1100; // Steering jets (force applied when you move the mouse) + steeringRollForce = 300; // Steering jets (how much you heel over when you turn) + rollForce = 8; // Auto-roll (self-correction to right you after you roll/invert) + hoverHeight = 5; // Height off the ground at rest + createHoverHeight = 3; // Height off the ground when created + maxForwardSpeed = 85; // speed in which forward thrust force is no longer applied (meters/second) + + // Turbo Jet + jetForce = 3000; // Afterburner thrust (this is in addition to normal thrust) + minJetEnergy = 40.0; // Afterburner can't be used if below this threshhold. + jetEnergyDrain = 3.0; // Energy use of the afterburners (low number is less drain...can be fractional) + vertThrustMultiple = 3.0; + + dustEmitter = LargeVehicleLiftoffDustEmitter; + triggerDustHeight = 4.0; + dustHeight = 2.0; + + damageEmitter[0] = LightDamageSmoke; + damageEmitter[1] = HeavyDamageSmoke; + damageEmitter[2] = DamageBubbles; + damageEmitterOffset[0] = "3.0 -3.0 0.0 "; + damageEmitterOffset[1] = "-3.0 -3.0 0.0 "; + damageLevelTolerance[0] = 0.3; + damageLevelTolerance[1] = 0.7; + numDmgEmitterAreas = 2; + + // Rigid body + mass = 350; // Mass of the vehicle + bodyFriction = 0; // Don't mess with this. + bodyRestitution = 0.5; // When you hit the ground, how much you rebound. (between 0 and 1) + minRollSpeed = 0; // Don't mess with this. + softImpactSpeed = 20; // Sound hooks. This is the soft hit. + hardImpactSpeed = 25; // Sound hooks. This is the hard hit. + + // Ground Impact Damage (uses DamageType::Ground) + minImpactSpeed = 20; // If hit ground at speed above this then it's an impact. Meters/second + speedDamageScale = 0.060; + + // Object Impact Damage (uses DamageType::Impact) + collDamageThresholdVel = 25; + collDamageMultiplier = 0.020; + + // + minTrailSpeed = 15; // The speed your contrail shows up at. + trailEmitter = ContrailEmitter; + forwardJetEmitter = FlyerJetEmitter; + downJetEmitter = FlyerJetEmitter; + + // + jetSound = BomberFlyerThrustSound; + engineSound = BomberFlyerEngineSound; + softImpactSound = SoftImpactSound; + hardImpactSound = HardImpactSound; + //wheelImpactSound = WheelImpactSound; + + // + softSplashSoundVelocity = 15.0; + mediumSplashSoundVelocity = 20.0; + hardSplashSoundVelocity = 30.0; + exitSplashSoundVelocity = 10.0; + + exitingWater = VehicleExitWaterHardSound; + impactWaterEasy = VehicleImpactWaterSoftSound; + impactWaterMedium = VehicleImpactWaterMediumSound; + impactWaterHard = VehicleImpactWaterHardSound; + waterWakeSound = VehicleWakeHardSplashSound; + + minMountDist = 4; + + splashEmitter[0] = VehicleFoamDropletsEmitter; + splashEmitter[1] = VehicleFoamEmitter; + + shieldImpact = VehicleShieldImpact; + + cmdCategory = "Tactical"; + cmdIcon = CMDFlyingBomberIcon; + cmdMiniIconName = "commander/MiniIcons/com_bomber_grey"; + targetNameTag = 'Thundersword'; + targetTypeTag = 'Bomber'; + sensorData = VehiclePulseSensor; + + checkRadius = 7.1895; + observeParameters = "1 10 10"; + shieldEffectScale = "0.75 0.975 0.375"; + showPilotInfo = 1; +}; + +//************************************************************** +// WEAPONS +//************************************************************** + +//------------------------------------- +// BOMBER BELLY TURRET GUN (projectile) +//------------------------------------- + +datablock ShockwaveData(BomberFusionShockwave) +{ + width = 0.5; + numSegments = 13; + numVertSegments = 1; + velocity = 0.5; + acceleration = 2.0; + lifetimeMS = 900; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + + texture[0] = "special/shockwave5"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.3 1.0 0.5"; + colors[2] = "0.0 0.0 1.0 0.0"; +}; + +datablock ParticleData(BomberFusionExplosionParticle1) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent4"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.3 1.0 1.0"; + colors[2] = "0.0 0.0 1.0 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(BomberFusionExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.5; + ejectionOffset = 0.0; + thetaMin = 80; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "BomberFusionExplosionParticle1"; +}; + +datablock ExplosionData(BomberFusionBoltExplosion) +{ + soundProfile = blasterExpSound; + shockwave = BomberFusionShockwave; + emitter[0] = BomberFusionExplosionEmitter; +}; + + +datablock LinearFlareProjectileData(BomberFusionBolt) +{ + projectileShapeName = ""; + directDamage = 0.35; + directDamageType = $DamageType::BellyTurret; + hasDamageRadius = false; + explosion = BomberFusionBoltExplosion; + sound = BlasterProjectileSound; + + dryVelocity = 200.0; + wetVelocity = 200.0; + velInheritFactor = 1.0; + fizzleTimeMS = 2000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = true; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = -1; + + activateDelayMS = 100; + + numFlares = 0; + size = 0.15; + flareColor = "0.7 0.3 1.0"; + flareModTexture = "flaremod"; + flareBaseTexture = "flarebase"; +}; + +//------------------------------------- +// BOMBER BELLY TURRET CHARACTERISTICS +//------------------------------------- + +datablock TurretData(BomberTurret) : TurretDamageProfile +{ + className = VehicleTurret; + catagory = "Turrets"; + shapeFile = "turret_belly_base.dts"; + preload = true; + + mass = 1.0; // Not really relevant + repairRate = 0; + maxDamage = BomberFlyer.maxDamage; + destroyedLevel = BomberFlyer.destroyedLevel; + + thetaMin = 90; + thetaMax = 180; + + // capacitor + maxCapacitorEnergy = 250; + capacitorRechargeRate = 0.8; + + inheritEnergyFromMount = true; + firstPersonOnly = true; + useEyePoint = true; + numWeapons = 3; + + targetNameTag = 'Thundersword Belly'; + targetTypeTag = 'Turret'; +}; + +datablock TurretImageData(BomberTurretBarrel) +{ + shapeFile = "turret_belly_barrell.dts"; + mountPoint = 0; + + projectile = BomberFusionBolt; + projectileType = LinearFlareProjectile; + + usesEnergy = true; + useCapacitor = true; + useMountEnergy = true; + fireEnergy = 16.0; + minEnergy = 16.0; + + // Turret parameters + activationMS = 1000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 360; + degPerSecPhi = 360; + + attackRadius = 75; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "WaitFire1"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = BomberTurretActivateSound; + + stateName[1] = "WaitFire1"; + stateTransitionOnTriggerDown[1] = "Fire1"; + stateTransitionOnNoAmmo[1] = "NoAmmo1"; + + stateName[2] = "Fire1"; + stateTransitionOnTimeout[2] = "Reload1"; + stateTimeoutValue[2] = 0.13; + stateFire[2] = true; + stateRecoil[2] = LightRecoil; + stateAllowImageChange[2] = false; + stateSequence[2] = "Fire"; + stateScript[2] = "onFire"; + stateSound[2] = BomberTurretFireSound; + + stateName[3] = "Reload1"; + stateSequence[3] = "Reload"; + stateTimeoutValue[3] = 0.1; + stateAllowImageChange[3] = false; + stateTransitionOnTimeout[3] = "WaitFire2"; + stateTransitionOnNoAmmo[3] = "NoAmmo1"; + + stateName[4] = "NoAmmo1"; + stateTransitionOnAmmo[4] = "Reload1"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //stateSequence[4] = "NoAmmo"; + stateSequence[4] = "NoAmmo1"; + + stateTransitionOnTriggerDown[4] = "DryFire1"; + + stateName[5] = "DryFire1"; + stateSound[5] = BomberTurretDryFireSound; + stateTimeoutValue[5] = 0.5; + stateTransitionOnTimeout[5] = "NoAmmo1"; + + stateName[6] = "WaitFire2"; + stateTransitionOnTriggerDown[6] = "Fire2"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //stateTransitionOnNoAmmo[6] = "NoAmmo"; + stateTransitionOnNoAmmo[6] = "NoAmmo2"; + + stateName[7] = "Fire2"; + stateTransitionOnTimeout[7] = "Reload2"; + stateTimeoutValue[7] = 0.13; + stateScript[7] = "FirePair"; + + stateName[8] = "Reload2"; + stateSequence[8] = "Reload"; + stateTimeoutValue[8] = 0.1; + stateAllowImageChange[8] = false; + stateTransitionOnTimeout[8] = "WaitFire1"; + stateTransitionOnNoAmmo[8] = "NoAmmo2"; + + stateName[9] = "NoAmmo2"; + stateTransitionOnAmmo[9] = "Reload2"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //stateSequence[9] = "NoAmmo"; + stateSequence[9] = "NoAmmo2"; + + stateTransitionOnTriggerDown[9] = "DryFire2"; + + stateName[10] = "DryFire2"; + stateSound[10] = BomberTurretDryFireSound; + stateTimeoutValue[10] = 0.5; + stateTransitionOnTimeout[10] = "NoAmmo2"; + +}; + +datablock TurretImageData(BomberTurretBarrelPair) +{ + shapeFile = "turret_belly_barrelr.dts"; + mountPoint = 1; + + projectile = BomberFusionBolt; + projectileType = LinearFlareProjectile; + + usesEnergy = true; + useCapacitor = true; + useMountEnergy = true; + fireEnergy = 16.0; + minEnergy = 16.0; + + // Turret parameters + activationMS = 1000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 360; + degPerSecPhi = 360; + + attackRadius = 75; + + stateName[0] = "WaitFire"; + stateTransitionOnTriggerDown[0] = "Fire"; + + stateName[1] = "Fire"; + stateTransitionOnTimeout[1] = "StopFire"; + stateTimeoutValue[1] = 0.13; + stateFire[1] = true; + stateRecoil[1] = LightRecoil; + stateAllowImageChange[1] = false; + stateSequence[1] = "Fire"; + stateScript[1] = "onFire"; + stateSound[1] = BomberTurretFireSound; + + stateName[2] = "StopFire"; + stateTimeoutValue[2] = 0.1; + stateTransitionOnTimeout[2] = "WaitFire"; + stateScript[2] = "stopFire"; +}; + +datablock TurretImageData(AIAimingTurretBarrel) +{ + shapeFile = "turret_muzzlepoint.dts"; + mountPoint = 3; + + projectile = BomberFusionBolt; + + // Turret parameters + activationMS = 1000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 500; + degPerSecPhi = 800; + + attackRadius = 75; +}; + +//------------------------------------- +// BOMBER BOMB PROJECTILE +//------------------------------------- + +datablock BombProjectileData(BomberBomb) +{ + projectileShapeName = "bomb.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 1.1; + damageRadius = 30; + radiusDamageType = $DamageType::BomberBombs; + kickBackStrength = 2500; + + explosion = "VehicleBombExplosion"; + velInheritFactor = 1.0; + + grenadeElasticity = 0.25; + grenadeFriction = 0.4; + armingDelayMS = 2000; + muzzleVelocity = 0.1; + drag = 0.3; + + minRotSpeed = "60.0 0.0 0.0"; + maxRotSpeed = "80.0 0.0 0.0"; + scale = "1.0 1.0 1.0"; + + sound = BomberBombProjectileSound; +}; + +//------------------------------------- +// BOMBER BOMB CHARACTERISTICS +//------------------------------------- + +datablock ItemData(BombAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "repair_kit.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 1; + computeCRC = true; +}; + +datablock StaticShapeData(DropBombs) +{ + catagory = "Turrets"; + shapeFile = "bombers_eye.dts"; + maxDamage = 1.0; + disabledLevel = 0.6; + destroyedLevel = 0.8; +}; + +datablock TurretImageData(BomberBombImage) +{ + shapeFile = "turret_muzzlepoint.dts"; + offset = "2 -4 -0.5"; + mountPoint = 10; + + projectile = BomberBomb; + projectileType = BombProjectile; + usesEnergy = true; + useMountEnergy = true; + useCapacitor = true; + + fireEnergy = 53.0; + minEnergy = 53.0; + + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "WaitFire1"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + + stateName[1] = "WaitFire1"; + stateTransitionOnTriggerDown[1] = "Fire1"; + stateTransitionOnNoAmmo[1] = "NoAmmo1"; + + stateName[2] = "Fire1"; + stateTransitionOnTimeout[2] = "Reload1"; + stateTimeoutValue[2] = 0.32; + stateFire[2] = true; + stateAllowImageChange[2] = false; + stateSequence[2] = "Fire"; + stateScript[2] = "onFire"; + stateSound[2] = BomberBombFireSound; + + stateName[3] = "Reload1"; + stateSequence[3] = "Reload"; + stateTimeoutValue[3] = 0.1; + stateAllowImageChange[3] = false; + stateTransitionOnTimeout[3] = "WaitFire2"; + stateTransitionOnNoAmmo[3] = "NoAmmo1"; + + stateName[4] = "NoAmmo1"; + stateTransitionOnAmmo[4] = "Reload1"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //stateSequence[4] = "NoAmmo"; + stateSequence[4] = "NoAmmo1"; + + stateTransitionOnTriggerDown[4] = "DryFire1"; + + stateName[5] = "DryFire1"; + stateSound[5] = BomberBombDryFireSound; + stateTimeoutValue[5] = 0.5; + stateTransitionOnTimeout[5] = "NoAmmo1"; + + stateName[6] = "WaitFire2"; + stateTransitionOnTriggerDown[6] = "Fire2"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //stateTransitionOnNoAmmo[6] = "NoAmmo"; + stateTransitionOnNoAmmo[6] = "NoAmmo2"; + + stateName[7] = "Fire2"; + stateTransitionOnTimeout[7] = "Reload2"; + stateTimeoutValue[7] = 0.32; + stateScript[7] = "FirePair"; + + stateName[8] = "Reload2"; + stateSequence[8] = "Reload"; + stateTimeoutValue[8] = 0.1; + stateAllowImageChange[8] = false; + stateTransitionOnTimeout[8] = "WaitFire1"; + stateTransitionOnNoAmmo[8] = "NoAmmo2"; + + stateName[9] = "NoAmmo2"; + stateTransitionOnAmmo[9] = "Reload2"; + // --------------------------------------------- + // z0dd - ZOD, 5/8/02. Incorrect parameter value + //stateSequence[9] = "NoAmmo"; + stateSequence[9] = "NoAmmo2"; + + stateTransitionOnTriggerDown[9] = "DryFire2"; + + stateName[10] = "DryFire2"; + stateSound[10] = BomberBombDryFireSound; + stateTimeoutValue[10] = 0.5; + stateTransitionOnTimeout[10] = "NoAmmo2"; +}; + +datablock TurretImageData(BomberBombPairImage) +{ + shapeFile = "turret_muzzlepoint.dts"; + offset = "-2 -4 -0.5"; + mountPoint = 10; + + projectile = BomberBomb; + projectileType = BombProjectile; + usesEnergy = true; + useMountEnergy = true; + useCapacitor = true; + fireEnergy = 53.0; + minEnergy = 53.0; + + stateName[0] = "WaitFire"; + stateTransitionOnTriggerDown[0] = "Fire"; + + stateName[1] = "Fire"; + stateTransitionOnTimeout[1] = "StopFire"; + stateTimeoutValue[1] = 0.13; + stateFire[1] = true; + stateAllowImageChange[1] = false; + stateSequence[1] = "Fire"; + stateScript[1] = "onFire"; + stateSound[1] = BomberBombFireSound; + + stateName[2] = "StopFire"; + stateTimeoutValue[2] = 0.1; + stateTransitionOnTimeout[2] = "WaitFire"; + stateScript[2] = "stopFire"; + +}; + +//************************************************************** +// WEAPONS SPECIAL EFFECTS +//************************************************************** + +//------------------------------------- +// BOMBER BELLY TURRET GUN (explosion) +//------------------------------------- + +datablock ParticleData(FusionExplosionParticle) +{ + dragCoefficient = 2; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 750; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 1; + sizes[1] = 2; +}; + +datablock ParticleEmitterData(FusionExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 1.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "FusionExplosionParticle"; +}; + +datablock ExplosionData(FusionBoltExplosion) +{ + explosionShape = "effect_plasma_explosion.dts"; + soundProfile = FusionExpSound; + particleEmitter = FusionExplosionEmitter; + particleDensity = 250; + particleRadius = 1.25; + faceViewer = true; +}; + +//-------------------------------------------------------------------------- +// BOMBER TARGETING LASER +//-------------------------------------------------------------------------- + +datablock AudioProfile(BomberTargetingSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(BomberTargetingPaintSound) +{ + filename = "fx/weapons/targetinglaser_paint.wav"; + description = CloseLooping3d; + preload = true; +}; + +//-------------------------------------- +// BOMBER TARGETING PROJECTILE +//-------------------------------------- +datablock TargetProjectileData(BomberTargeter) +{ + directDamage = 0.0; + hasDamageRadius = false; + indirectDamage = 0.0; + damageRadius = 0.0; + velInheritFactor = 1.0; + + maxRifleRange = 1000; + beamColor = "0.1 1.0 0.1"; + + startBeamWidth = 0.20; + pulseBeamWidth = 0.15; + beamFlareAngle = 3.0; + minFlareSize = 0.0; + maxFlareSize = 400.0; + pulseSpeed = 6.0; + pulseLength = 0.150; + + textureName[0] = "special/nonlingradient"; + textureName[1] = "special/flare"; + textureName[2] = "special/pulse"; + textureName[3] = "special/expFlare"; +}; + +//------------------------------------- +// BOMBER TARGETING CHARACTERISTICS +//------------------------------------- +datablock ShapeBaseImageData(BomberTargetingImage) +{ + className = WeaponImage; + + shapeFile = "turret_muzzlepoint.dts"; + offset = "0 -0.04 -0.01"; + mountPoint = 2; + + projectile = BomberTargeter; + projectileType = TargetProjectile; + deleteLastProjectile = true; + + usesEnergy = true; + minEnergy = 3; + + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = BomberTargetingSwitchSound; + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateTransitionOnAmmo[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateEnergyDrain[3] = 3; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateTransitionOnTriggerUp[3] = "Deconstruction"; + stateTransitionOnNoAmmo[3] = "Deconstruction"; + stateSound[3] = BomberTargetingPaintSound; + + stateName[4] = "NoAmmo"; + stateTransitionOnAmmo[4] = "Ready"; + + stateName[5] = "Deconstruction"; + stateTransitionOnTimeout[5] = "ActivateReady"; + stateTimeoutValue[5] = 0.05; +}; + +function BomberTargetingImage::onFire(%data,%obj,%slot) +{ + %bomber = %obj.getObjectMount(); + if(%bomber.beacon) + { + %bomber.beacon.delete(); + %bomber.beacon = ""; + } + %p = Parent::onFire(%data, %obj, %slot); + %p.setTarget(%obj.team); +} + +function BomberTargetingImage::deconstruct(%data, %obj, %slot) +{ + %pos = %obj.lastProjectile.getTargetPoint(); + %bomber = %obj.getObjectMount(); + + if(%bomber.beacon) + { + %bomber.beacon.delete(); + %bomber.beacon = ""; + } + %bomber.beacon = new BeaconObject() { + dataBlock = "BomberBeacon"; + beaconType = "vehicle"; + position = %pos; + }; + + %bomber.beacon.playThread($AmbientThread, "ambient"); + %bomber.beacon.team = %bomber.team; + %bomber.beacon.sourceObject = %bomber; + + // give it a team target + %bomber.beacon.setTarget(%bomber.team); + MissionCleanup.add(%bomber.beacon); + + Parent::deconstruct(%data, %obj, %slot); +} + +//------------------------------------- +// BOMBER BEACON +//------------------------------------- +datablock StaticShapeData(BomberBeacon) +{ + shapeFile = "turret_muzzlepoint.dts"; + targetNameTag = 'beacon'; + isInvincible = true; + + dynamicType = $TypeMasks::SensorObjectType; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_havoc.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_havoc.cs new file mode 100644 index 00000000..058f6eda --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_havoc.cs @@ -0,0 +1,226 @@ +//************************************************************** +// HAVOC HEAVY TRANSPORT FLIER +//************************************************************** +//************************************************************** +// SOUNDS +//************************************************************** +datablock EffectProfile(HAPCFlyerEngineEffect) +{ + effectname = "vehicles/htransport_thrust"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(HAPCFlyerThrustEffect) +{ + effectname = "vehicles/htransport_boost"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock AudioProfile(HAPCFlyerEngineSound) +{ + filename = "fx/vehicles/htransport_thrust.wav"; + description = AudioDefaultLooping3d; + effect = HAPCFlyerEngineEffect; +}; + +datablock AudioProfile(HAPCFlyerThrustSound) +{ + filename = "fx/vehicles/htransport_boost.wav"; + description = AudioDefaultLooping3d; + effect = HAPCFlyerThrustEffect; +}; + +//************************************************************** +// VEHICLE CHARACTERISTICS +//************************************************************** + +datablock FlyingVehicleData(HAPCFlyer) : HavocDamageProfile +{ + spawnOffset = "0 0 6"; + renderWhenDestroyed = false; + + catagory = "Vehicles"; + shapeFile = "vehicle_air_hapc.dts"; + multipassenger = true; + computeCRC = true; + + + debrisShapeName = "vehicle_air_hapc_debris.dts"; + debris = ShapeDebris; + + drag = 0.2; + density = 1.0; + + mountPose[0] = sitting; +// mountPose[1] = sitting; + numMountPoints = 6; + isProtectedMountPoint[0] = true; + isProtectedMountPoint[1] = true; + isProtectedMountPoint[2] = true; + isProtectedMountPoint[3] = true; + isProtectedMountPoint[4] = true; + isProtectedMountPoint[5] = true; + + cameraMaxDist = 17; + cameraOffset = 2; + cameraLag = 8.5; + explosion = LargeAirVehicleExplosion; + explosionDamage = 0.5; + explosionRadius = 5.0; + + maxDamage = 3.50; + destroyedLevel = 3.50; + + isShielded = true; + rechargeRate = 0.8; + energyPerDamagePoint = 200; + maxEnergy = 550; + minDrag = 100; // Linear Drag + rotationalDrag = 2700; // Anguler Drag + + // Auto stabilize speed + maxAutoSpeed = 10; + autoAngularForce = 3000; // Angular stabilizer force + autoLinearForce = 450; // Linear stabilzer force + autoInputDamping = 0.95; // + + // Maneuvering + maxSteeringAngle = 8; + horizontalSurfaceForce = 10; // Horizontal center "wing" + verticalSurfaceForce = 10; // Vertical center "wing" + maneuveringForce = 6000; // Horizontal jets + steeringForce = 1000; // Steering jets + steeringRollForce = 400; // Steering jets + rollForce = 12; // Auto-roll + hoverHeight = 8; // Height off the ground at rest + createHoverHeight = 6; // Height off the ground when created + maxForwardSpeed = 71; // speed in which forward thrust force is no longer applied (meters/second) + + // Turbo Jet + jetForce = 5000; + minJetEnergy = 55; + jetEnergyDrain = 3.6; + vertThrustMultiple = 3.0; + + + dustEmitter = LargeVehicleLiftoffDustEmitter; + triggerDustHeight = 4.0; + dustHeight = 2.0; + + damageEmitter[0] = LightDamageSmoke; + damageEmitter[1] = HeavyDamageSmoke; + damageEmitter[2] = DamageBubbles; + damageEmitterOffset[0] = "3.0 -3.0 0.0 "; + damageEmitterOffset[1] = "-3.0 -3.0 0.0 "; + damageLevelTolerance[0] = 0.3; + damageLevelTolerance[1] = 0.7; + numDmgEmitterAreas = 2; + + // Rigid body + mass = 550; + bodyFriction = 0; + bodyRestitution = 0.3; + minRollSpeed = 0; + softImpactSpeed = 12; // Sound hooks. This is the soft hit. + hardImpactSpeed = 15; // Sound hooks. This is the hard hit. + + // Ground Impact Damage (uses DamageType::Ground) + minImpactSpeed = 25; // If hit ground at speed above this then it's an impact. Meters/second + speedDamageScale = 0.060; + + // Object Impact Damage (uses DamageType::Impact) + collDamageThresholdVel = 28; + collDamageMultiplier = 0.020; + + // + minTrailSpeed = 15; + trailEmitter = ContrailEmitter; + forwardJetEmitter = FlyerJetEmitter; + downJetEmitter = FlyerJetEmitter; + + // + jetSound = HAPCFlyerThrustSound; + engineSound = HAPCFlyerEngineSound; + softImpactSound = SoftImpactSound; + hardImpactSound = HardImpactSound; + //wheelImpactSound = WheelImpactSound; + + // + softSplashSoundVelocity = 5.0; + mediumSplashSoundVelocity = 8.0; + hardSplashSoundVelocity = 12.0; + exitSplashSoundVelocity = 8.0; + + exitingWater = VehicleExitWaterHardSound; + impactWaterEasy = VehicleImpactWaterSoftSound; + impactWaterMedium = VehicleImpactWaterMediumSound; + impactWaterHard = VehicleImpactWaterHardSound; + waterWakeSound = VehicleWakeHardSplashSound; + + minMountDist = 4; + + splashEmitter[0] = VehicleFoamDropletsEmitter; + splashEmitter[1] = VehicleFoamEmitter; + + shieldImpact = VehicleShieldImpact; + + cmdCategory = "Tactical"; + cmdIcon = CMDFlyingHAPCIcon; + cmdMiniIconName = "commander/MiniIcons/com_hapc_grey"; + targetNameTag = 'Havoc'; + targetTypeTag = 'Heavy Transport'; + sensorData = VehiclePulseSensor; + + checkRadius = 7.8115; + observeParameters = "1 15 15"; + + stuckTimerTicks = 32; // If the hapc spends more than 1 sec in contact with something + stuckTimerAngle = 80; // with a > 80 deg. pitch, BOOM! + + shieldEffectScale = "1.0 0.9375 0.45"; +}; + +function HAPCFlyer::hasDismountOverrides(%data, %obj) +{ + return true; +} + +function HAPCFlyer::getDismountOverride(%data, %obj, %mounted) +{ + %node = -1; + for (%i = 0; %i < %data.numMountPoints; %i++) + { + if (%obj.getMountNodeObject(%i) == %mounted) + { + %node = %i; + break; + } + } + if (%node == -1) + { + warning("Couldn't find object mount point"); + return "0 0 1"; + } + + if (%node == 3 || %node == 2) + { + return "-1 0 1"; + } + else if (%node == 5 || %node == 4) + { + return "1 0 1"; + } + else + { + return "0 0 1"; + } +} + +//************************************************************** +// WEAPONS +//************************************************************** + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_mpb.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_mpb.cs new file mode 100644 index 00000000..ba917039 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_mpb.cs @@ -0,0 +1,304 @@ +//************************************************************** +// JERICHO FORWARD BASE (Mobile Point Base) +//************************************************************** +//************************************************************** +// SOUNDS +//************************************************************** +datablock EffectProfile(MPBEngineEffect) +{ + effectname = "vehicles/mpb_thrust"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(MPBThrustEffect) +{ + effectname = "vehicles/mpb_boost"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock AudioProfile(MPBEngineSound) +{ + filename = "fx/vehicles/mpb_thrust.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = MPBEngineEffect; +}; + +datablock AudioProfile(MPBThrustSound) +{ + filename = "fx/vehicles/mpb_boost.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = MPBThrustEffect; +}; + +datablock AudioProfile(MobileBaseDeploySound) +{ + filename = "fx/vehicles/MPB_deploy.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(MobileBaseUndeploySound) +{ + filename = "fx/vehicles/MPB_undeploy_turret.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(MobileBaseTurretDeploySound) +{ + filename = "fx/vehicles/MPB_deploy_turret.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(MobileBaseTurretUndeploySound) +{ + filename = "fx/vehicles/MPB_undeploy_turret.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(MobileBaseStationDeploySound) +{ + filename = "fx/vehicles/MPB_deploy_station.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(MobileBaseStationUndeploySound) +{ + filename = "fx/vehicles/MPB_close_lid.wav"; + description = AudioClose3d; + preload = true; +}; + + +//************************************************************** +// LIGHTS +//************************************************************** +datablock RunningLightData(MPBLight1) +{ + pointSize = 3.0; + pointColor = "1.0 1.0 1.0 0.3"; + pointNodeName = "Headlight_node01"; + texture = "special/expFlare"; +}; + +datablock RunningLightData(MPBLight2) +{ + pointSize = 3.0; + pointColor = "1.0 1.0 1.0 0.3"; + pointNodeName = "Headlight_node02"; + texture = "special/expFlare"; +}; + + +//************************************************************** +// VEHICLE CHARACTERISTICS +//************************************************************** +datablock SensorData(MPBDeployedSensor) : VehiclePulseSensor +{ + jams = true; + jamsOnlyGroup = true; + jamsUsingLOS = false; + jamRadius = 50; +}; + +datablock WheeledVehicleData(MobileBaseVehicle) : MPBDamageProfile +{ + spawnOffset = "0 0 1.0"; + renderWhenDestroyed = false; + + catagory = "Vehicles"; + shapeFile = "vehicle_land_mpbase.dts"; + multipassenger = false; + computeCRC = true; + + debrisShapeName = "vehicle_land_mpbase_debris.dts"; + debris = ShapeDebris; + + drag = 0.0; + density = 20.0; + + mountPose[0] = sitting; + numMountPoints = 1; + isProtectedMountPoint[0] = true; + + cantAbandon = 1; + cantTeamSwitch = 1; + + cameraMaxDist = 20; + cameraOffset = 6; + cameraLag = 1.5; + explosion = LargeGroundVehicleExplosion; + explosionDamage = 0.5; + explosionRadius = 5.0; + + maxSteeringAngle = 0.3; // 20 deg. + + // Used to test if the station can deploy + stationPoints[1] = "-2.3 -7.38703 -0.65"; + stationPoints[2] = "-2.3 -11.8 -0.65"; + stationPoints[3] = "0 -7.38703 -0.65"; + stationPoints[4] = "0 -11.8 -0.65"; + stationPoints[5] = "2.3 -7.38703 -0.65"; + stationPoints[6] = "2.3 -11.8 -0.65"; + + // Rigid Body + mass = 2000; + bodyFriction = 0.8; + bodyRestitution = 0.5; + minRollSpeed = 3; + gyroForce = 400; + gyroDamping = 0.3; + stabilizerForce = 10; + minDrag = 10; + softImpactSpeed = 15; // Play SoftImpact Sound + hardImpactSpeed = 25; // Play HardImpact Sound + + // Ground Impact Damage (uses DamageType::Ground) + minImpactSpeed = 12; + speedDamageScale = 0.060; + + // Object Impact Damage (uses DamageType::Impact) + collDamageThresholdVel = 18; + collDamageMultiplier = 0.070; + + // Engine + engineTorque = 7.0 * 745; + breakTorque = 7.0 * 745; + maxWheelSpeed = 20; + + // Springs + springForce = 8000; + springDamping = 1300; + antiSwayForce = 6000; + staticLoadScale = 2; + + // Tires + tireRadius = 1.6; + tireFriction = 10.0; + tireRestitution = 0.5; + tireLateralForce = 3000; + tireLateralDamping = 400; + tireLateralRelaxation = 1; + tireLongitudinalForce = 12000; + tireLongitudinalDamping = 600; + tireLongitudinalRelaxation = 1; + tireEmitter = TireEmitter; + + // + maxDamage = 3.85; + destroyedLevel = 3.85; + + isShielded = true; + energyPerDamagePoint = 125; + maxEnergy = 600; + jetForce = 2800; + minJetEnergy = 60; + jetEnergyDrain = 2.75; + rechargeRate = 1.0; + + jetSound = MPBThrustSound; + engineSound = MPBEngineSound; + squeelSound = AssaultVehicleSkid; + softImpactSound = GravSoftImpactSound; + hardImpactSound = HardImpactSound; + //wheelImpactSound = WheelImpactSound; + + // + softSplashSoundVelocity = 5.0; + mediumSplashSoundVelocity = 8.0; + hardSplashSoundVelocity = 12.0; + exitSplashSoundVelocity = 8.0; + + exitingWater = VehicleExitWaterSoftSound; + impactWaterEasy = VehicleImpactWaterSoftSound; + impactWaterMedium = VehicleImpactWaterMediumSound; + impactWaterHard = VehicleImpactWaterHardSound; + waterWakeSound = VehicleWakeMediumSplashSound; + + minMountDist = 3; + + damageEmitter[0] = LightDamageSmoke; + damageEmitter[1] = HeavyDamageSmoke; + damageEmitter[2] = DamageBubbles; + damageEmitterOffset[0] = "3.0 0.5 0.0 "; + damageEmitterOffset[1] = "-3.0 0.5 0.0 "; + damageLevelTolerance[0] = 0.3; + damageLevelTolerance[1] = 0.7; + numDmgEmitterAreas = 2; + + splashEmitter[0] = VehicleFoamDropletsEmitter; + splashEmitter[1] = VehicleFoamEmitter; + + shieldImpact = VehicleShieldImpact; + + cmdCategory = "Tactical"; + cmdIcon = CMDGroundMPBIcon; + cmdMiniIconName = "commander/MiniIcons/com_mpb_grey"; + targetNameTag = 'Jericho'; + targetTypeTag = 'MPB'; + sensorData = VehiclePulseSensor; + + checkRadius = 7.5225; + + observeParameters = "1 12 12"; + + runningLight[0] = MPBLight1; + runningLight[1] = MPBLight2; + + shieldEffectScale = "0.85 1.2 0.7"; +}; + +//************************************************************** +// WEAPONS +//************************************************************** + +datablock SensorData(MPBTurretMissileSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 200; +}; + +datablock TurretData(MobileTurretBase) +{ + className = VehicleTurret; + catagory = "Turrets"; + shapeFile = "turret_base_mpb.dts"; + preload = true; + + mass = 1.0; // Not really relevant + + maxDamage = MobileBaseVehicle.maxDamage; + destroyedLevel = MobileBaseVehicle.destroyedLevel; + + thetaMin = 15; + thetaMax = 140; + + energyPerDamagePoint = 33; + inheritEnergyFromMount = true; + firstPersonOnly = true; + + sensorColor = "0 212 45"; + sensorData = MPBTurretMissileSensor; + sensorRadius = MPBTurretMissileSensor.detectRadius; + cmdCategory = "Tactical"; + cmdMiniIconName = "commander/MiniIcons/com_turret_grey"; + targetNameTag = 'Jericho'; + targetTypeTag = 'Turret'; + + canControl = true; +}; + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_shrike.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_shrike.cs new file mode 100644 index 00000000..dc1a7f12 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_shrike.cs @@ -0,0 +1,341 @@ +//************************************************************** +// SHRIKE SCOUT FLIER +//************************************************************** +//************************************************************** +// SOUNDS +//************************************************************** +datablock EffectProfile(ScoutFlyerThrustEffect) +{ + effectname = "vehicles/shrike_boost"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ScoutFlyerEngineEffect) +{ + effectname = "vehicles/shrike_engine"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ShrikeBlasterFireEffect) +{ + effectname = "vehicles/shrike_blaster"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock AudioProfile(ScoutFlyerThrustSound) +{ + filename = "fx/vehicles/shrike_boost.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = ScoutFlyerThrustEffect; +}; + +datablock AudioProfile(ScoutFlyerEngineSound) +{ + filename = "fx/vehicles/shrike_engine.wav"; + description = AudioDefaultLooping3d; + preload = true; +}; + +datablock AudioProfile(ShrikeBlasterFire) +{ + filename = "fx/vehicles/shrike_blaster.wav"; + description = AudioDefault3d; + preload = true; + effect = ScoutFlyerEngineEffect; +}; + +datablock AudioProfile(ShrikeBlasterProjectile) +{ + filename = "fx/weapons/shrike_blaster_projectile.wav"; + description = ProjectileLooping3d; + preload = true; + effect = ShrikeBlasterFireEffect; +}; + +datablock AudioProfile(ShrikeBlasterDryFireSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; +}; + +//************************************************************** +// LIGHTS +//************************************************************** +datablock RunningLightData(ShrikeLight1) +{ + type = 1; + radius = 2.0; + length = 3.0; + color = "1.0 1.0 1.0 1.0"; + direction = "0.0 1.0 -1.0 "; + offset = "0.0 0.0 -0.5"; + texture = "special/lightcone04"; +}; + +datablock RunningLightData(ShrikeLight2) +{ + radius = 1.5; + color = "1.0 1.0 1.0 0.3"; + direction = "0.0 0.0 -1.0"; + offset = "0.0 0.8 -1.2"; + texture = "special/headlight4"; +}; + +//************************************************************** +// VEHICLE CHARACTERISTICS +//************************************************************** + +datablock FlyingVehicleData(ScoutFlyer) : ShrikeDamageProfile +{ + spawnOffset = "0 0 2"; + + catagory = "Vehicles"; + shapeFile = "vehicle_air_scout.dts"; + multipassenger = false; + computeCRC = true; + + debrisShapeName = "vehicle_air_scout_debris.dts"; + debris = ShapeDebris; + renderWhenDestroyed = false; + + drag = 0.15; + density = 1.0; + + mountPose[0] = sitting; + numMountPoints = 1; + isProtectedMountPoint[0] = true; + cameraMaxDist = 15; + cameraOffset = 2.5; + cameraLag = 0.9; + explosion = VehicleExplosion; + explosionDamage = 0.5; + explosionRadius = 5.0; + + maxDamage = 1.40; + destroyedLevel = 1.40; + + isShielded = true; + energyPerDamagePoint = 160; + maxEnergy = 280; // Afterburner and any energy weapon pool + rechargeRate = 0.8; + + minDrag = 30; // Linear Drag (eventually slows you down when not thrusting...constant drag) + rotationalDrag = 900; // Anguler Drag (dampens the drift after you stop moving the mouse...also tumble drag) + + maxAutoSpeed = 15; // Autostabilizer kicks in when less than this speed. (meters/second) + autoAngularForce = 400; // Angular stabilizer force (this force levels you out when autostabilizer kicks in) + autoLinearForce = 300; // Linear stabilzer force (this slows you down when autostabilizer kicks in) + autoInputDamping = 0.95; // Dampen control input so you don't` whack out at very slow speeds + + // Maneuvering + maxSteeringAngle = 5; // Max radiens you can rotate the wheel. Smaller number is more maneuverable. + horizontalSurfaceForce = 6; // Horizontal center "wing" (provides "bite" into the wind for climbing/diving and turning) + verticalSurfaceForce = 4; // Vertical center "wing" (controls side slip. lower numbers make MORE slide.) + maneuveringForce = 3000; // Horizontal jets (W,S,D,A key thrust) + steeringForce = 1200; // Steering jets (force applied when you move the mouse) + steeringRollForce = 400; // Steering jets (how much you heel over when you turn) + rollForce = 4; // Auto-roll (self-correction to right you after you roll/invert) + hoverHeight = 5; // Height off the ground at rest + createHoverHeight = 3; // Height off the ground when created + maxForwardSpeed = 100; // speed in which forward thrust force is no longer applied (meters/second) + + // Turbo Jet + jetForce = 2000; // Afterburner thrust (this is in addition to normal thrust) + minJetEnergy = 28; // Afterburner can't be used if below this threshhold. + jetEnergyDrain = 2.8; // Energy use of the afterburners (low number is less drain...can be fractional) // Auto stabilize speed + vertThrustMultiple = 3.0; + + // Rigid body + mass = 150; // Mass of the vehicle + bodyFriction = 0; // Don't mess with this. + bodyRestitution = 0.5; // When you hit the ground, how much you rebound. (between 0 and 1) + minRollSpeed = 0; // Don't mess with this. + softImpactSpeed = 14; // Sound hooks. This is the soft hit. + hardImpactSpeed = 25; // Sound hooks. This is the hard hit. + + // Ground Impact Damage (uses DamageType::Ground) + minImpactSpeed = 10; // If hit ground at speed above this then it's an impact. Meters/second + speedDamageScale = 0.06; + + // Object Impact Damage (uses DamageType::Impact) + collDamageThresholdVel = 23.0; + collDamageMultiplier = 0.02; + + // + minTrailSpeed = 15; // The speed your contrail shows up at. + trailEmitter = ContrailEmitter; + forwardJetEmitter = FlyerJetEmitter; + downJetEmitter = FlyerJetEmitter; + + // + jetSound = ScoutFlyerThrustSound; + engineSound = ScoutFlyerEngineSound; + softImpactSound = SoftImpactSound; + hardImpactSound = HardImpactSound; + //wheelImpactSound = WheelImpactSound; + + // + softSplashSoundVelocity = 10.0; + mediumSplashSoundVelocity = 15.0; + hardSplashSoundVelocity = 20.0; + exitSplashSoundVelocity = 10.0; + + exitingWater = VehicleExitWaterMediumSound; + impactWaterEasy = VehicleImpactWaterSoftSound; + impactWaterMedium = VehicleImpactWaterMediumSound; + impactWaterHard = VehicleImpactWaterMediumSound; + waterWakeSound = VehicleWakeMediumSplashSound; + + dustEmitter = VehicleLiftoffDustEmitter; + triggerDustHeight = 4.0; + dustHeight = 1.0; + + damageEmitter[0] = LightDamageSmoke; + damageEmitter[1] = HeavyDamageSmoke; + damageEmitter[2] = DamageBubbles; + damageEmitterOffset[0] = "0.0 -3.0 0.0 "; + damageLevelTolerance[0] = 0.3; + damageLevelTolerance[1] = 0.7; + numDmgEmitterAreas = 1; + + // + max[chaingunAmmo] = 1000; + + minMountDist = 4; + + splashEmitter[0] = VehicleFoamDropletsEmitter; + splashEmitter[1] = VehicleFoamEmitter; + + shieldImpact = VehicleShieldImpact; + + cmdCategory = "Tactical"; + cmdIcon = CMDFlyingScoutIcon; + cmdMiniIconName = "commander/MiniIcons/com_scout_grey"; + targetNameTag = 'Shrike'; + targetTypeTag = 'Turbograv'; + sensorData = AWACPulseSensor; + sensorRadius = AWACPulseSensor.detectRadius; + sensorColor = "255 194 9"; + + checkRadius = 5.5; + observeParameters = "1 10 10"; + + runningLight[0] = ShrikeLight1; +// runningLight[1] = ShrikeLight2; + + shieldEffectScale = "0.937 1.125 0.60"; + +}; + +//************************************************************** +// WEAPONS +//************************************************************** + +datablock ShapeBaseImageData(ScoutChaingunPairImage) +{ + className = WeaponImage; + shapeFile = "weapon_energy_vehicle.dts"; + item = Chaingun; + ammo = ChaingunAmmo; + projectile = ScoutChaingunBullet; + projectileType = TracerProjectile; + mountPoint = 10; +//**original** offset = ".73 0 0"; + offset = "1.93 -0.52 0.044"; + + projectileSpread = 1.0 / 1000.0; + + usesEnergy = true; + useMountEnergy = true; + // DAVEG -- balancing numbers below! + minEnergy = 5; + fireEnergy = 5; + fireTimeout = 125; + + + //-------------------------------------- + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateAllowImageChange[0] = false; + stateTimeoutValue[0] = 0.05; + stateTransitionOnTimeout[0] = "Ready"; + stateTransitionOnNoAmmo[0] = "NoAmmo"; + //-------------------------------------- + stateName[1] = "Ready"; + stateSpinThread[1] = Stop; + stateTransitionOnTriggerDown[1] = "Spinup"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + //-------------------------------------- + stateName[2] = "NoAmmo"; + stateTransitionOnAmmo[2] = "Ready"; + stateSpinThread[2] = Stop; + stateTransitionOnTriggerDown[2] = "DryFire"; + //-------------------------------------- + stateName[3] = "Spinup"; + stateSpinThread[3] = SpinUp; + stateTimeoutValue[3] = 0.01; + stateWaitForTimeout[3] = false; + stateTransitionOnTimeout[3] = "Fire"; + stateTransitionOnTriggerUp[3] = "Spindown"; + //-------------------------------------- + stateName[4] = "Fire"; + stateSpinThread[4] = FullSpeed; + stateRecoil[4] = LightRecoil; + stateAllowImageChange[4] = false; + stateScript[4] = "onFire"; + stateFire[4] = true; + stateSound[4] = ShrikeBlasterFire; + // IMPORTANT! The stateTimeoutValue below has been replaced by fireTimeOut + // above. + stateTimeoutValue[4] = 0.25; + stateTransitionOnTimeout[4] = "checkState"; + //-------------------------------------- + stateName[5] = "Spindown"; + stateSpinThread[5] = SpinDown; + stateTimeoutValue[5] = 0.01; + stateWaitForTimeout[5] = false; + stateTransitionOnTimeout[5] = "Ready"; + stateTransitionOnTriggerDown[5] = "Spinup"; + //-------------------------------------- + stateName[6] = "EmptySpindown"; +// stateSound[6] = ChaingunSpindownSound; + stateSpinThread[6] = SpinDown; + stateTransitionOnAmmo[6] = "Ready"; + stateTimeoutValue[6] = 0.01; + stateTransitionOnTimeout[6] = "NoAmmo"; + //-------------------------------------- + stateName[7] = "DryFire"; + stateSound[7] = ShrikeBlasterDryFireSound; + stateTransitionOnTriggerUp[7] = "NoAmmo"; + stateTimeoutValue[7] = 0.25; + stateTransitionOnTimeout[7] = "NoAmmo"; + + stateName[8] = "checkState"; + stateTransitionOnTriggerUp[8] = "Spindown"; + stateTransitionOnNoAmmo[8] = "EmptySpindown"; + stateTimeoutValue[8] = 0.01; + stateTransitionOnTimeout[8] = "ready"; +}; + +datablock ShapeBaseImageData(ScoutChaingunImage) : ScoutChaingunPairImage +{ +//**original** offset = "-.73 0 0"; + offset = "-1.93 -0.52 0.044"; + stateScript[3] = "onTriggerDown"; + stateScript[5] = "onTriggerUp"; + stateScript[6] = "onTriggerUp"; +}; + +datablock ShapeBaseImageData(ScoutChaingunParam) +{ + mountPoint = 2; + shapeFile = "turret_muzzlepoint.dts"; + + projectile = ScoutChaingunBullet; + projectileType = TracerProjectile; +}; \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_spec_fx.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_spec_fx.cs new file mode 100644 index 00000000..4f4ab9b7 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_spec_fx.cs @@ -0,0 +1,1340 @@ +//============================================================== +// MISCELLANEOUS VEHICLE SOUNDS AND EFFECTS +// +// - Sounds +// - Water Splash Effects +// - Tire Dust Particles +// - Lift-Off Particles +// - Small Heavy Damage Smoke +// - Heavy Damage Smoke +// - Light Heavy Damage Smoke +// - Vehicle Smoke Spike (for debris) +// - Vehicle Medium Explosion Smoke +// - Vehicle Large Ground Explosion Smoke +// - Debris Fire Particles +// - Debris Smoke Particles +// - Debris (pieces) +// - Explosions (including Shield Impacts) +// - Vehicle Sensors +// - Flier Contrails +// - Bomb Explosions +// +//============================================================== + +//-------------------------------------------------------------- +// SOUNDS +//-------------------------------------------------------------- +datablock EffectProfile(SoftImpactEffect) +{ + effectname = "vehicles/crash_soft"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(HardImpactEffect) +{ + effectname = "vehicles/crash_hard"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(GravSoftImpactEffect) +{ + effectname = "vehicles/crash_ground_vehicle"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock AudioProfile(SoftImpactSound) +{ + filename = "fx/vehicles/crash_soft.wav"; + description = AudioClose3d; + preload = true; + effect = SoftImpactEffect; +}; + +datablock AudioProfile(HardImpactSound) +{ + filename = "fx/vehicles/crash_hard.wav"; + description = AudioExplosion3d; + preload = true; + effect = HardImpactEffect; +}; + +datablock AudioProfile(GravSoftImpactSound) +{ + filename = "fx/vehicles/crash_grav_soft.wav"; + description = AudioClose3d; + preload = true; + effect = GravSoftImpactEffect; +}; + +datablock AudioProfile(BombExplosionSound) +{ + filename = "fx/vehicles/bomber_bomb_impact.wav"; + description = AudioBomb3d; + preload = true; +}; + + +//-------------------------------------------------------------- +// WATER SPLASH EFFECTS +//-------------------------------------------------------------- + +datablock ParticleData(VehicleFoamParticle) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1200; + lifetimeVarianceMS = 400; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 2; + sizes[1] = 4; + sizes[2] = 6; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(VehicleFoamEmitter) +{ + ejectionPeriodMS = 40; + periodVarianceMS = 0; + ejectionVelocity = 10.0; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "VehicleFoamParticle"; +}; + + +datablock ParticleData( VehicleFoamDropletsParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 800; + lifetimeVarianceMS = 300; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 8; + sizes[1] = 3; + sizes[2] = 0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( VehicleFoamDropletsEmitter ) +{ + ejectionPeriodMS = 34; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + particles = "VehicleFoamDropletsParticle"; +}; + +//-------------------------------------------------------------- +// TIRE DUST PARTICLES +//-------------------------------------------------------------- + +datablock ParticleData(TireParticle) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.1; + inheritedVelFactor = 0.1; + constantAcceleration = 0.0; + lifetimeMS = 6000; + lifetimeVarianceMS = 1000; + useInvAlpha = true; + spinRandomMin = -45.0; + spinRandomMax = 45.0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 0.6"; + colors[1] = "0.46 0.46 0.36 0.0"; + sizes[0] = 1.5; + sizes[1] = 7.00; +}; + +datablock ParticleEmitterData(TireEmitter) +{ + ejectionPeriodMS = 160; + periodVarianceMS = 20; + ejectionVelocity = 2; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 20; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + useEmitterColors = true; + particles = "TireParticle"; +}; + +//-------------------------------------------------------------- +// LIFTOFF PARTICLES +//-------------------------------------------------------------- + +datablock ParticleData(TankDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 0.0"; + colors[1] = "0.46 0.46 0.36 0.4"; + colors[2] = "0.46 0.46 0.36 0.0"; + sizes[0] = 3.2; + sizes[1] = 4.6; + sizes[2] = 7.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(TankDustEmitter) +{ + ejectionPeriodMS = 12; + periodVarianceMS = 0; + ejectionVelocity = 20.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 90; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + useEmitterColors = true; + particles = "TankDust"; +}; + +datablock ParticleData(LargeVehicleLiftoffDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 0.0"; + colors[1] = "0.46 0.46 0.36 0.4"; + colors[2] = "0.46 0.46 0.36 0.0"; + sizes[0] = 3.2; + sizes[1] = 4.6; + sizes[2] = 7.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(LargeVehicleLiftoffDustEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 15.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 90; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + useEmitterColors = true; + particles = "LargeVehicleLiftoffDust"; +}; + +datablock ParticleData(VehicleLiftoffDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 0.0"; + colors[1] = "0.46 0.46 0.36 0.4"; + colors[2] = "0.46 0.46 0.36 0.0"; + sizes[0] = 1.2; + sizes[1] = 2.6; + sizes[2] = 3.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(VehicleLiftoffDustEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 10.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 90; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + useEmitterColors = true; + particles = "VehicleLiftoffDust"; +}; + +//-------------------------------------------------------------- +// Damage bubbles +//-------------------------------------------------------------- +datablock ParticleData(DamageBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.04; + inheritedVelFactor = 0.5; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 200; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "special/bubbles"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.3 0.3 0.3 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 0.2; + sizes[1] = 0.8; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(DamageBubbles) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "DamageBubbleParticle"; +}; + +//-------------------------------------------------------------- +// SMALL HEAVY DAMAGE SMOKE +//-------------------------------------------------------------- + +datablock ParticleData(SmallHeavyDamageSmokeParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.5; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "particleTest"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.3 0.3 0.3 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 0.2; + sizes[1] = 0.8; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(SmallHeavyDamageSmoke) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "SmallHeavyDamageSmokeParticle"; +}; + +//-------------------------------------------------------------- +// HEAVY DAMAGE SMOKE +//-------------------------------------------------------------- + +datablock ParticleData(HeavyDamageSmokeParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.5; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "particleTest"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.3 0.3 0.3 0.7"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 1.2; + sizes[1] = 2.6; + sizes[2] = 4.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(HeavyDamageSmoke) +{ + ejectionPeriodMS = 20; + periodVarianceMS = 6; + ejectionVelocity = 4.0; + velocityVariance = 0.5; + ejectionOffset = 1.5; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "HeavyDamageSmokeParticle"; +}; + +//-------------------------------------------------------------- +// SMALL LIGHT DAMAGE SMOKE +//-------------------------------------------------------------- + +datablock ParticleData(SmallLightDamageSmokeParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.5; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "particleTest"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.5 0.5 0.5 0.4"; + colors[2] = "0.3 0.3 0.3 0.0"; + sizes[0] = 0.8; + sizes[1] = 1.6; + sizes[2] = 3.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(SmallLightDamageSmoke) +{ + ejectionPeriodMS = 40; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "SmallLightDamageSmokeParticle"; +}; + +//-------------------------------------------------------------- +// LIGHT DAMAGE SMOKE +//-------------------------------------------------------------- + +datablock ParticleData(LightDamageSmokeParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.5; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "particleTest"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.5 0.5 0.5 0.7"; + colors[2] = "0.3 0.3 0.3 0.0"; + sizes[0] = 1.2; + sizes[1] = 2.6; + sizes[2] = 4.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(LightDamageSmoke) +{ + ejectionPeriodMS = 30; + periodVarianceMS = 6; + ejectionVelocity = 4.0; + velocityVariance = 0.5; + ejectionOffset = 1.5; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "LightDamageSmokeParticle"; +}; + +//-------------------------------------------------------------- +// VEHICLE SMOKE SPIKE (for debris) +//-------------------------------------------------------------- + +datablock ParticleData( VSmokeSpike ) +{ + dragCoeffiecient = 1.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + + useInvAlpha = true; + + spinRandomMin = -60.0; + spinRandomMax = 60.0; + + colors[0] = "0.4 0.4 0.4 1.0"; + colors[1] = "0.3 0.3 0.3 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 0.0; + sizes[1] = 1.0; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( VSmokeSpikeEmitter ) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 1; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.2; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "VSmokeSpike"; +}; + + +//-------------------------------------------------------------- +// VEHICLE MEDIUM EXPLOSION SMOKE +//-------------------------------------------------------------- + +datablock ParticleData(VehicleMESmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.5; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "1.0 0.7 0.5 1.0"; + colors[1] = "0.3 0.3 0.3 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 6.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.3; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(VehicleMESmokeEMitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + + ejectionVelocity = 6.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 250; + + particles = "VehicleMESmoke"; +}; + +//-------------------------------------------------------------- +// VEHICLE LARGE GROUND EXPLOSION SMOKE +//-------------------------------------------------------------- + +datablock ParticleData(VehicleLGESmoke) +{ + dragCoeffiecient = 0.3; + gravityCoefficient = -0.5; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "1.0 0.7 0.5 0.5"; + colors[1] = "0.3 0.3 0.3 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 6.0; + sizes[1] = 6.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.3; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(VehicleLGESmokeEMitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + + ejectionVelocity = 7.25; + velocityVariance = 0.25; + + ejectionOffset = 5.0; + + thetaMin = 0.0; + thetaMax = 80.0; + + lifetimeMS = 350; + + particles = "VehicleLGESmoke"; +}; + +//-------------------------------------------------------------- +// DEBRIS FIRE PARTICLES +//-------------------------------------------------------------- + +datablock ParticleData(DebrisFireParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.2; + inheritedVelFactor = 0.0; + + lifetimeMS = 350; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -160.0; + spinRandomMax = 160.0; + + animateTexture = true; + framesPerSec = 15; + + + animTexName[0] = "special/Explosion/exp_0016"; + animTexName[1] = "special/Explosion/exp_0018"; + animTexName[2] = "special/Explosion/exp_0020"; + animTexName[3] = "special/Explosion/exp_0022"; + animTexName[4] = "special/Explosion/exp_0024"; + animTexName[5] = "special/Explosion/exp_0026"; + animTexName[6] = "special/Explosion/exp_0028"; + animTexName[7] = "special/Explosion/exp_0030"; + animTexName[8] = "special/Explosion/exp_0032"; + + colors[0] = "1.0 0.7 0.5 1.0"; + colors[1] = "1.0 0.5 0.2 1.0"; + colors[2] = "1.0 0.25 0.1 0.0"; + sizes[0] = 0.5; + sizes[1] = 2.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(DebrisFireEmitter) +{ + ejectionPeriodMS = 20; + periodVarianceMS = 1; + + ejectionVelocity = 0.25; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 30.0; + + particles = "DebrisFireParticle"; +}; + +//-------------------------------------------------------------- +// DEBRIS SMOKE PARTICLES +//-------------------------------------------------------------- + +datablock ParticleData( DebrisSmokeParticle ) +{ + dragCoeffiecient = 4.0; + gravityCoefficient = -0.00; // rises slowly + inheritedVelFactor = 0.2; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; // ...more or less + + textureName = "particleTest"; + + useInvAlpha = true; + + spinRandomMin = -50.0; + spinRandomMax = 50.0; + + colors[0] = "0.3 0.3 0.3 0.0"; + colors[1] = "0.3 0.3 0.3 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 2; + sizes[1] = 3; + sizes[2] = 5; + times[0] = 0.0; + times[1] = 0.7; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( DebrisSmokeEmitter ) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 5; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.5; + + thetaMin = 10.0; + thetaMax = 30.0; + + useEmitterSizes = true; + + particles = "DebrisSmokeParticle"; +}; + +//-------------------------------------------------------------- +// DEBRIS (pieces) +//-------------------------------------------------------------- + +datablock EffectProfile(VehicleExplosionEffect) +{ + effectname = "explosions/vehicle_explosion"; + minDistance = 10; + maxDistance = 40; +}; + +datablock AudioProfile(VehicleExplosionSound) +{ + filename = "fx/explosions/vehicle_explosion.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = VehicleExplosionEffect; +}; + +datablock ExplosionData(DebrisExplosion) +{ + explosionShape = "effect_plasma_explosion.dts"; + soundProfile = plasmaExpSound; + faceViewer = true; + explosionScale = "0.4 0.4 0.4"; +}; + +datablock DebrisData( VehicleFireballDebris ) +{ + emitters[0] = DebrisSmokeEmitter; + emitters[1] = DebrisFireEmitter; + + explosion = DebrisExplosion; + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 100.0; + lifetimeVariance = 30.0; + + numBounces = 0; + bounceVariance = 0; +}; + +datablock DebrisData( VSpikeDebris ) +{ + emitters[0] = VSmokeSpikeEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 0.3; + lifetimeVariance = 0.02; + +}; + +datablock DebrisData( ShapeDebris ) +{ + explodeOnMaxBounce = false; + + elasticity = 0.40; + friction = 0.5; + + lifetime = 25.0; + lifetimeVariance = 0.0; + + minSpinSpeed = 60; + maxSpinSpeed = 600; + + numBounces = 10; + bounceVariance = 0; + + staticOnMaxBounce = true; + + useRadiusMass = true; + baseRadius = 1.0; + + velocity = 17.0; + velocityVariance = 7.0; + +}; + +//************************************************************** +// EXPLOSIONS +//************************************************************** + +datablock ExplosionData(VSpikeExplosion) +{ + debris = VSpikeDebris; + debrisThetaMin = 10; + debrisThetaMax = 170; + debrisNum = 15; + debrisNumVariance = 6; + debrisVelocity = 30.0; + debrisVelocityVariance = 7.0; +}; + +datablock ExplosionData(VehicleExplosion) +{ + explosionShape = "disc_explosion.dts"; + playSpeed = 1.5; + soundProfile = VehicleExplosionSound; + faceViewer = true; + + emitter[0] = VehicleMESmokeEmitter; + + debris = VehicleFireballDebris; + debrisThetaMin = 10; + debrisThetaMax = 80; + debrisNum = 3; + debrisNumVariance = 1; + debrisVelocity = 20.0; + debrisVelocityVariance = 5.0; + + subExplosion = VSpikeExplosion; + + shakeCamera = true; + camShakeFreq = "11.0 13.0 9.0"; + camShakeAmp = "40.0 40.0 40.0"; + camShakeDuration = 0.7; + camShakeRadius = 25.0; +}; + +datablock ExplosionData(VLSpikeExplosion) +{ + debris = VSpikeDebris; + debrisThetaMin = 10; + debrisThetaMax = 170; + debrisNum = 10; + debrisNumVariance = 6; + debrisVelocity = 50.0; + debrisVelocityVariance = 10.0; +}; + +datablock ExplosionData(VLGSpikeExplosion) +{ + debris = VSpikeDebris; + debrisThetaMin = 10; + debrisThetaMax = 70; + debrisNum = 10; + debrisNumVariance = 6; + debrisVelocity = 50.0; + debrisVelocityVariance = 10.0; +}; + +datablock ExplosionData(LargeGroundVehicleExplosion) +{ + explosionShape = "disc_explosion.dts"; + playSpeed = 1.5; + soundProfile = VehicleExplosionSound; + faceViewer = true; + + emitter[0] = VehicleLGESmokeEMitter; + + debris = VehicleFireballDebris; + debrisThetaMin = 10; + debrisThetaMax = 60; + debrisNum = 3; + debrisNumVariance = 1; + debrisVelocity = 20.0; + debrisVelocityVariance = 5.0; + + subExplosion = VLGSpikeExplosion; + + shakeCamera = true; + camShakeFreq = "8.0 9.0 7.0"; + camShakeAmp = "140.0 140.0 140.0"; + camShakeDuration = 1.3; + camShakeRadius = 30.0; +}; + +datablock ExplosionData(LargeAirVehicleExplosion) +{ + explosionShape = "disc_explosion.dts"; + playSpeed = 1.5; + soundProfile = VehicleExplosionSound; + faceViewer = true; + + emitter[0] = VehicleLGESmokeEMitter; + + debris = VehicleFireballDebris; + debrisThetaMin = 10; + debrisThetaMax = 80; + debrisNum = 3; + debrisNumVariance = 1; + debrisVelocity = 20.0; + debrisVelocityVariance = 5.0; + + subExplosion = VLSpikeExplosion; + + shakeCamera = true; + camShakeFreq = "8.0 9.0 7.0"; + camShakeAmp = "140.0 140.0 140.0"; + camShakeDuration = 1.3; + camShakeRadius = 30.0; +}; + +//-------------------------------------------------------------- +// BOMB EXPLOSION +//-------------------------------------------------------------- +datablock ParticleData(VehicleBombExplosionParticle) +{ + dragCoefficient = 2; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 900; + lifetimeVarianceMS = 225; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 3; + sizes[1] = 5; +}; + +datablock ParticleEmitterData(VehicleBombExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 32; + velocityVariance = 10; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "VehicleBombExplosionParticle"; +}; + +datablock ShockwaveData(VehicleBombShockwave) +{ + width = 6.0; + numSegments = 32; + numVertSegments = 6; + velocity = 16.0; + acceleration = 40.0; + lifetimeMS = 650; + height = 1.0; + verticalCurve = 0.5; + is2D = false; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "1.0 0.8 0.4 0.50"; + colors[1] = "1.0 0.6 0.3 0.25"; + colors[2] = "1.0 0.4 0.2 0.0"; + + mapToTerrain = true; + orientToNormal = false; + renderBottom = false; +}; + +datablock ExplosionData(VehicleBombSubExplosion1) +{ + explosionShape = "effect_plasma_explosion.dts"; + faceViewer = true; + + delayMS = 50; + + offset = 5.0; + + playSpeed = 1.5; + + sizes[0] = "1.5 1.5 1.5"; + sizes[1] = "3.0 3.0 3.0"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(VehicleBombSubExplosion2) +{ + explosionShape = "effect_plasma_explosion.dts"; + faceViewer = true; + + delayMS = 100; + + offset = 7.0; + + playSpeed = 1.1; + + sizes[0] = "5.0 5.0 5.0"; + sizes[1] = "8.0 8.0 8.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(VehicleBombSubExplosion3) +{ + explosionShape = "effect_plasma_explosion.dts"; + faceViewer = true; + + delayMS = 0; + + offset = 0.0; + + playSpeed = 0.9; + + + sizes[0] = "7.0 7.0 7.0"; + sizes[1] = "10.0 10.0 10.0"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(VehicleBombExplosion) +{ + soundProfile = BombExplosionSound; + particleEmitter = VehicleBombExplosionEmitter; + particleDensity = 250; + particleRadius = 1.25; + faceViewer = true; + + shockwave = VehicleBombShockwave; + shockwaveOnTerrain = true; + + subExplosion[0] = VehicleBombSubExplosion1; + subExplosion[1] = VehicleBombSubExplosion2; + subExplosion[2] = VehicleBombSubExplosion3; + + shakeCamera = true; + camShakeFreq = "5.0 7.0 5.0"; + camShakeAmp = "80.0 80.0 80.0"; + camShakeDuration = 1.0; + camShakeRadius = 30.0; +}; + +////-------------------------------------------------------------- +//// VEHICLE SHIELD IMPACT DATA +////-------------------------------------------------------------- +//datablock ShieldImpactData( VehicleShieldImpact ) +//{ +// lifetimeMS = 300; +// startScale = 1.0; +// endScale = 1.1; +//}; + +//-------------------------------------------------------------- +// VEHICLE SENSORS +//-------------------------------------------------------------- + +datablock SensorData(VehiclePulseSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 20; +}; + +datablock SensorData(AWACPulseSensor) +{ + detects = true; + detectsUsingLOS = true; + detectsPassiveJammed = false; + detectsActiveJammed = false; + detectsCloaked = false; + detectionPings = true; + detectRadius = 300; +}; + +//-------------------------------------------------------------- +// FLIER CONTRAILS +//-------------------------------------------------------------- + +datablock ParticleData(ContrailParticle) +{ + dragCoefficient = 1.5; + gravityCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 3000; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.6 0.6 0.6 0.5"; + colors[1] = "0.2 0.2 0.2 0"; + sizes[0] = 0.6; + sizes[1] = 5; +}; + +datablock ParticleEmitterData(ContrailEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 10; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "ContrailParticle"; +}; + + +datablock ParticleData(FlyerJetParticle) +{ + dragCoefficient = 1.5; + gravityCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 200; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.9 0.7 0.3 0.6"; + colors[1] = "0.3 0.3 0.5 0"; + sizes[0] = 2; + sizes[1] = 6; +}; + +datablock ParticleEmitterData(FlyerJetEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 20; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 10; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "FlyerJetParticle"; +}; + +//-------------------------------------------------------------- +// Hover Jet Emitters +//-------------------------------------------------------------- + +datablock ParticleData(TankJetParticle) +{ + dragCoefficient = 1.5; + gravityCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 200; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.9 0.7 0.3 0.6"; + colors[1] = "0.3 0.3 0.5 0"; + sizes[0] = 2; + sizes[1] = 6; +}; + +datablock ParticleEmitterData(TankJetEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 20; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 10; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "TankJetParticle"; +}; + +datablock ParticleData(WildcatJetParticle) +{ + dragCoefficient = 1.5; + gravityCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 100; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.9 0.7 0.3 0.6"; + colors[1] = "0.3 0.3 0.5 0"; + sizes[0] = 0.5; + sizes[1] = 1.5; +}; + +datablock ParticleEmitterData(WildcatJetEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 20; + velocityVariance = 1.0; + ejectionOffset = 0; + thetaMin = 0; + thetaMax = 10; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "WildcatJetParticle"; +}; + + +//-------------------------------------------------------------- +// Vehicle Splash Sounds +//-------------------------------------------------------------- +//EXIT WATER +datablock AudioProfile(VehicleExitWaterSoftSound) +{ + filename = "fx/armor/general_water_exit2.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(VehicleExitWaterMediumSound) +{ + filename = "fx/armor/general_water_exit2.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(VehicleExitWaterHardSound) +{ + filename = "fx/armor/general_water_exit2.wav"; + description = AudioClose3d; + preload = true; +}; + +//IMPACT WATER +datablock AudioProfile(VehicleImpactWaterSoftSound) +{ + filename = "fx/armor/general_water_smallsplash2.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(VehicleImpactWaterMediumSound) +{ + filename = "fx/armor/general_water_medsplash.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(VehicleImpactWaterHardSound) +{ + filename = "fx/armor/general_water_bigsplash.wav"; + description = AudioDefault3d; + preload = true; +}; + +//WATER WAKE +datablock AudioProfile(VehicleWakeSoftSplashSound) +{ + filename = "fx/vehicles/wake_wildcat.wav"; + description = AudioDefaultLooping3d; + preload = true; +}; + +datablock AudioProfile(VehicleWakeMediumSplashSound) +{ + filename = "fx/vehicles/wake_shrike_n_tank.wav"; + description = AudioDefaultLooping3d; + preload = true; +}; + +datablock AudioProfile(VehicleWakeHardSplashSound) +{ + filename = "fx/vehicles/wake_shrike_n_tank.wav"; + description = AudioDefaultLooping3d; + preload = true; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_tank.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_tank.cs new file mode 100644 index 00000000..7210203b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_tank.cs @@ -0,0 +1,681 @@ +//************************************************************** +// BEOWULF ASSAULT VEHICLE +//************************************************************** +//************************************************************** +// SOUNDS +//************************************************************** +datablock EffectProfile(AssaultVehicleEngineEffect) +{ + effectname = "vehicles/tank_engine"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(AssaultVehicleThrustEffect) +{ + effectname = "vehicles/tank_boost"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(AssaultTurretActivateEffect) +{ + effectname = "vehicles/tank_activate"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(AssaultMortarDryFireEffect) +{ + effectname = "weapons/mortar_dryfire"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(AssaultMortarFireEffect) +{ + effectname = "vehicles/tank_mortar_fire"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(AssaultMortarReloadEffect) +{ + effectname = "weapons/mortar_reload"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(AssaultChaingunFireEffect) +{ + effectname = "weapons/chaingun_fire"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock AudioProfile(AssaultVehicleSkid) +{ + filename = "fx/vehicles/tank_skid.wav"; + description = ClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(AssaultVehicleEngineSound) +{ + filename = "fx/vehicles/tank_engine.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = AssaultVehicleEngineEffect; +}; + +datablock AudioProfile(AssaultVehicleThrustSound) +{ + filename = "fx/vehicles/tank_boost.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = AssaultVehicleThrustEffect; +}; + +datablock AudioProfile(AssaultChaingunFireSound) +{ + filename = "fx/vehicles/tank_chaingun.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = AssaultChaingunFireEffect; +}; + +datablock AudioProfile(AssaultChaingunReloadSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(TankChaingunProjectile) +{ + filename = "fx/weapons/chaingun_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(AssaultTurretActivateSound) +{ + filename = "fx/vehicles/tank_activate.wav"; + description = AudioClose3d; + preload = true; + effect = AssaultTurretActivateEffect; +}; + +datablock AudioProfile(AssaultChaingunDryFireSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(AssaultChaingunIdleSound) +{ + filename = "fx/misc/diagnostic_on.wav"; + description = ClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(AssaultMortarDryFireSound) +{ + filename = "fx/weapons/mortar_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = AssaultMortarDryFireEffect; +}; + +datablock AudioProfile(AssaultMortarFireSound) +{ + filename = "fx/vehicles/tank_mortar_fire.wav"; + description = AudioClose3d; + preload = true; + effect = AssaultMortarFireEffect; +}; + +datablock AudioProfile(AssaultMortarReloadSound) +{ + filename = "fx/weapons/mortar_reload.wav"; + description = AudioClose3d; + preload = true; + effect = AssaultMortarReloadEffect; +}; + +datablock AudioProfile(AssaultMortarIdleSound) +{ + filename = "fx/misc/diagnostic_on.wav"; + description = ClosestLooping3d; + preload = true; +}; + +//************************************************************** +// LIGHTS +//************************************************************** +datablock RunningLightData(TankLight1) +{ + radius = 1.5; + color = "1.0 1.0 1.0 0.2"; + nodeName = "Headlight_node01"; + direction = "0.0 1.0 0.0"; + texture = "special/headlight4"; +}; + +datablock RunningLightData(TankLight2) +{ + radius = 1.5; + color = "1.0 1.0 1.0 0.2"; + nodeName = "Headlight_node02"; + direction = "0.0 1.0 0.0"; + texture = "special/headlight4"; +}; + +datablock RunningLightData(TankLight3) +{ + radius = 1.5; + color = "1.0 1.0 1.0 0.2"; + nodeName = "Headlight_node03"; + direction = "0.0 1.0 0.0"; + texture = "special/headlight4"; +}; + +datablock RunningLightData(TankLight4) +{ + radius = 1.5; + color = "1.0 1.0 1.0 0.2"; + nodeName = "Headlight_node04"; + direction = "0.0 1.0 0.0"; + texture = "special/headlight4"; +}; + +//************************************************************** +// VEHICLE CHARACTERISTICS +//************************************************************** + +datablock HoverVehicleData(AssaultVehicle) : TankDamageProfile +{ + spawnOffset = "0 0 4"; + + floatingGravMag = 4.5; + + catagory = "Vehicles"; + shapeFile = "vehicle_grav_tank.dts"; + multipassenger = true; + computeCRC = true; + renderWhenDestroyed = false; + + weaponNode = 1; + + debrisShapeName = "vehicle_land_assault_debris.dts"; + debris = ShapeDebris; + + drag = 0.0; + density = 0.9; + + mountPose[0] = sitting; + mountPose[1] = sitting; + numMountPoints = 2; + isProtectedMountPoint[0] = true; + isProtectedMountPoint[1] = true; + + cameraMaxDist = 20; + cameraOffset = 3; + cameraLag = 1.5; + explosion = LargeGroundVehicleExplosion; + explosionDamage = 0.5; + explosionRadius = 5.0; + + maxSteeringAngle = 0.5; // 20 deg. + + maxDamage = 3.15; + destroyedLevel = 3.15; + + isShielded = true; + rechargeRate = 1.0; + energyPerDamagePoint = 135; + maxEnergy = 400; + minJetEnergy = 15; + jetEnergyDrain = 2.0; + + // Rigid Body + mass = 1500; + bodyFriction = 0.8; + bodyRestitution = 0.5; + minRollSpeed = 3; + gyroForce = 400; + gyroDamping = 0.3; + stabilizerForce = 20; + minDrag = 10; + softImpactSpeed = 15; // Play SoftImpact Sound + hardImpactSpeed = 18; // Play HardImpact Sound + + // Ground Impact Damage (uses DamageType::Ground) + minImpactSpeed = 17; + speedDamageScale = 0.060; + + // Object Impact Damage (uses DamageType::Impact) + collDamageThresholdVel = 18; + collDamageMultiplier = 0.045; + + dragForce = 40 / 20; + vertFactor = 0.0; + floatingThrustFactor = 0.15; + + mainThrustForce = 50; + reverseThrustForce = 40; + strafeThrustForce = 40; + turboFactor = 1.7; + + brakingForce = 25; + brakingActivationSpeed = 4; + + stabLenMin = 3.25; + stabLenMax = 4; + stabSpringConstant = 50; + stabDampingConstant = 20; + + gyroDrag = 20; + normalForce = 20; + restorativeForce = 10; + steeringForce = 15; + rollForce = 5; + pitchForce = 3; + + dustEmitter = TankDustEmitter; + triggerDustHeight = 3.5; + dustHeight = 1.0; + dustTrailEmitter = TireEmitter; + dustTrailOffset = "0.0 -1.0 0.5"; + triggerTrailHeight = 3.6; + dustTrailFreqMod = 15.0; + + jetSound = AssaultVehicleThrustSound; + engineSound = AssaultVehicleEngineSound; + floatSound = AssaultVehicleSkid; + softImpactSound = GravSoftImpactSound; + hardImpactSound = HardImpactSound; + wheelImpactSound = WheelImpactSound; + + forwardJetEmitter = TankJetEmitter; + + // + softSplashSoundVelocity = 5.0; + mediumSplashSoundVelocity = 10.0; + hardSplashSoundVelocity = 15.0; + exitSplashSoundVelocity = 10.0; + + exitingWater = VehicleExitWaterMediumSound; + impactWaterEasy = VehicleImpactWaterSoftSound; + impactWaterMedium = VehicleImpactWaterMediumSound; + impactWaterHard = VehicleImpactWaterMediumSound; + waterWakeSound = VehicleWakeMediumSplashSound; + + minMountDist = 4; + + damageEmitter[0] = SmallLightDamageSmoke; + damageEmitter[1] = SmallHeavyDamageSmoke; + damageEmitter[2] = DamageBubbles; + damageEmitterOffset[0] = "0.0 -1.5 3.5 "; + damageLevelTolerance[0] = 0.3; + damageLevelTolerance[1] = 0.7; + numDmgEmitterAreas = 1; + + splashEmitter[0] = VehicleFoamDropletsEmitter; + splashEmitter[1] = VehicleFoamEmitter; + + shieldImpact = VehicleShieldImpact; + + cmdCategory = "Tactical"; + cmdIcon = CMDGroundTankIcon; + cmdMiniIconName = "commander/MiniIcons/com_tank_grey"; + targetNameTag = 'Beowulf'; + targetTypeTag = 'Assault Tank'; + sensorData = VehiclePulseSensor; + + checkRadius = 5.5535; + observeParameters = "1 10 10"; + runningLight[0] = TankLight1; + runningLight[1] = TankLight2; + runningLight[2] = TankLight3; + runningLight[3] = TankLight4; + shieldEffectScale = "0.9 1.0 0.6"; + showPilotInfo = 1; +}; + +//************************************************************** +// WEAPONS +//************************************************************** + +//------------------------------------- +// ASSAULT CHAINGUN (projectile) +//------------------------------------- + +datablock TracerProjectileData(AssaultChaingunBullet) +{ + doDynamicClientHits = true; + + projectileShapeName = ""; + directDamage = 0.16; + directDamageType = $DamageType::TankChaingun; + hasDamageRadius = false; + splash = ChaingunSplash; + + kickbackstrength = 0.0; + sound = TankChaingunProjectile; + + dryVelocity = 425.0; + wetVelocity = 100.0; + velInheritFactor = 1.0; + fizzleTimeMS = 3000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + tracerLength = 15.0; + tracerAlpha = false; + tracerMinPixels = 6; + tracerColor = 211.0/255.0 @ " " @ 215.0/255.0 @ " " @ 120.0/255.0 @ " 0.75"; + tracerTex[0] = "special/tracer00"; + tracerTex[1] = "special/tracercross"; + tracerWidth = 0.10; + crossSize = 0.20; + crossViewAng = 0.990; + renderCross = true; + + decalData[0] = ChaingunDecal1; + decalData[1] = ChaingunDecal2; + decalData[2] = ChaingunDecal3; + decalData[3] = ChaingunDecal4; + decalData[4] = ChaingunDecal5; + decalData[5] = ChaingunDecal6; + + activateDelayMS = 100; + + explosion = ChaingunExplosion; +}; + +//------------------------------------- +// ASSAULT CHAINGUN CHARACTERISTICS +//------------------------------------- + +datablock TurretData(AssaultPlasmaTurret) : TurretDamageProfile +{ + className = VehicleTurret; + catagory = "Turrets"; + shapeFile = "Turret_tank_base.dts"; + preload = true; + + mass = 1.0; // Not really relevant + + maxEnergy = 1; + maxDamage = AssaultVehicle.maxDamage; + destroyedLevel = AssaultVehicle.destroyedLevel; + repairRate = 0; + + // capacitor + maxCapacitorEnergy = 250; + capacitorRechargeRate = 1.0; + + thetaMin = 0; + thetaMax = 100; + + inheritEnergyFromMount = true; + firstPersonOnly = true; + useEyePoint = true; + numWeapons = 2; + + cameraDefaultFov = 90.0; + cameraMinFov = 5.0; + cameraMaxFov = 120.0; + + targetNameTag = 'Beowulf Chaingun'; + targetTypeTag = 'Turret'; +}; + +datablock TurretImageData(AssaultPlasmaTurretBarrel) +{ + shapeFile = "turret_tank_barrelchain.dts"; + mountPoint = 1; + + projectile = AssaultChaingunBullet; + projectileType = TracerProjectile; + + casing = ShellDebris; + shellExitDir = "1.0 0.3 1.0"; + shellExitOffset = "0.15 -0.56 -0.1"; + shellExitVariance = 15.0; + shellVelocity = 3.0; + + projectileSpread = 12.0 / 1000.0; + + useCapacitor = true; + usesEnergy = true; + useMountEnergy = true; + fireEnergy = 7.5; + minEnergy = 15.0; + + // Turret parameters + activationMS = 4000; + deactivateDelayMS = 500; + thinkTimeMS = 200; + degPerSecTheta = 360; + degPerSecPhi = 360; + attackRadius = 75; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + stateSound[0] = AssaultTurretActivateSound; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = AssaultTurretActivateSound; + stateTimeoutValue[1] = 1; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + + stateName[3] = "Fire"; + stateSequence[3] = "Fire"; + stateSequenceRandomFlash[3] = true; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateSound[3] = AssaultChaingunFireSound; + stateScript[3] = "onFire"; + stateTimeoutValue[3] = 0.1; + stateTransitionOnTimeout[3] = "Fire"; + stateTransitionOnTriggerUp[3] = "Reload"; + stateTransitionOnNoAmmo[3] = "noAmmo"; + + stateName[4] = "Reload"; + stateSequence[4] = "Reload"; + stateTimeoutValue[4] = 0.1; + stateAllowImageChange[4] = false; + stateTransitionOnTimeout[4] = "Ready"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateWaitForTimeout[4] = true; + + stateName[5] = "Deactivate"; + stateSequence[5] = "Activate"; + stateDirection[5] = false; + stateTimeoutValue[5] = 30; + stateTransitionOnTimeout[5] = "ActivateReady"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + stateTransitionOnTriggerDown[6] = "DryFire"; + + stateName[7] = "DryFire"; + stateSound[7] = AssaultChaingunDryFireSound; + stateTimeoutValue[7] = 0.5; + stateTransitionOnTimeout[7] = "NoAmmo"; + + stateName[8] = "NoAmmo"; + stateTransitionOnAmmo[8] = "Reload"; + stateSequence[8] = "NoAmmo"; + stateTransitionOnTriggerDown[8] = "DryFire"; + +}; + +//------------------------------------- +// ASSAULT MORTAR (projectile) +//------------------------------------- + +datablock ItemData(AssaultMortarAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "repair_kit.dts"; + mass = 1; + elasticity = 0.5; + friction = 0.6; + pickupRadius = 1; + + computeCRC = true; +}; + +datablock GrenadeProjectileData(AssaultMortar) +{ + projectileShapeName = "mortar_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 1.0; + damageRadius = 25.0; + radiusDamageType = $DamageType::TankMortar; + kickBackStrength = 2500; + + sound = MortarProjectileSound; + explosion = "MortarExplosion"; + velInheritFactor = 1.0; + + baseEmitter = MortarSmokeEmitter; + + grenadeElasticity = 0.0; + grenadeFriction = 0.4; + armingDelayMS = 250; + muzzleVelocity = 65; + drag = 0.1; + + hasLight = true; + lightRadius = 4; + lightColor = "0.1 0.4 0.1"; +}; + +//------------------------------------- +// ASSAULT MORTAR CHARACTERISTICS +//------------------------------------- + +datablock TurretImageData(AssaultMortarTurretBarrel) +{ + shapeFile = "turret_tank_barrelmortar.dts"; + mountPoint = 0; + +// ammo = AssaultMortarAmmo; + projectile = AssaultMortar; + projectileType = GrenadeProjectile; + + usesEnergy = true; + useMountEnergy = true; + fireEnergy = 77.00; + minEnergy = 77.00; + useCapacitor = true; + + // Turret parameters + activationMS = 4000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 360; + degPerSecPhi = 360; + attackRadius = 75; + + // State transitions + stateName[0] = "Activate"; + stateTransitionOnNotLoaded[0] = "Dead"; + stateTransitionOnLoaded[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateSequence[1] = "Activate"; + stateSound[1] = AssaultTurretActivateSound; + stateTimeoutValue[1] = 1.0; + stateTransitionOnTimeout[1] = "Ready"; + stateTransitionOnNotLoaded[1] = "Deactivate"; + + stateName[2] = "Ready"; + stateTransitionOnNotLoaded[2] = "Deactivate"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateSequence[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 1.0; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSound[3] = AssaultMortarFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateSequence[4] = "Reload"; + stateTimeoutValue[4] = 1.0; + stateAllowImageChange[4] = false; + stateTransitionOnTimeout[4] = "Ready"; + //stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateWaitForTimeout[4] = true; + + stateName[5] = "Deactivate"; + stateDirection[5] = false; + stateSequence[5] = "Activate"; + stateTimeoutValue[5] = 1.0; + stateTransitionOnLoaded[5] = "ActivateReady"; + stateTransitionOnTimeout[5] = "Dead"; + + stateName[6] = "Dead"; + stateTransitionOnLoaded[6] = "ActivateReady"; + stateTransitionOnTriggerDown[6] = "DryFire"; + + stateName[7] = "DryFire"; + stateSound[7] = AssaultMortarDryFireSound; + stateTimeoutValue[7] = 1.0; + stateTransitionOnTimeout[7] = "NoAmmo"; + + stateName[8] = "NoAmmo"; + stateSequence[8] = "NoAmmo"; + stateTransitionOnAmmo[8] = "Reload"; + stateTransitionOnTriggerDown[8] = "DryFire"; +}; + +datablock TurretImageData(AssaultTurretParam) +{ + mountPoint = 2; + shapeFile = "turret_muzzlepoint.dts"; + + projectile = AssaultChaingunBullet; + projectileType = TracerProjectile; + + useCapacitor = true; + usesEnergy = true; + + // Turret parameters + activationMS = 1000; + deactivateDelayMS = 1500; + thinkTimeMS = 200; + degPerSecTheta = 500; + degPerSecPhi = 500; + + attackRadius = 75; +}; + + + diff --git a/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_wildcat.cs b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_wildcat.cs new file mode 100644 index 00000000..fa31a639 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/vehicles/vehicle_wildcat.cs @@ -0,0 +1,222 @@ +//************************************************************** +// WILDCAT GRAV CYCLE +//************************************************************** +//************************************************************** +// SOUNDS +//************************************************************** +datablock EffectProfile(ScoutEngineEffect) +{ + effectname = "vehicles/outrider_engine"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock EffectProfile(ScoutThrustEffect) +{ + effectname = "vehicles/outrider_boost"; + minDistance = 5.0; + maxDistance = 10.0; +}; + +datablock AudioProfile(ScoutSqueelSound) +{ + filename = "fx/vehicles/outrider_skid.wav"; + description = ClosestLooping3d; + preload = true; +}; + +// Scout +datablock AudioProfile(ScoutEngineSound) +{ + filename = "fx/vehicles/outrider_engine.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = ScoutEngineEffect; +}; + +datablock AudioProfile(ScoutThrustSound) +{ + filename = "fx/vehicles/outrider_boost.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = ScoutThrustEffect; +}; + +//************************************************************** +// LIGHTS +//************************************************************** +datablock RunningLightData(WildcatLight1) +{ + radius = 1.0; + color = "1.0 1.0 1.0 0.3"; + nodeName = "Headlight_node01"; + direction = "-1.0 1.0 0.0"; + texture = "special/headlight4"; +}; + +datablock RunningLightData(WildcatLight2) +{ + radius = 1.0; + color = "1.0 1.0 1.0 0.3"; + nodeName = "Headlight_node02"; + direction = "1.0 1.0 0.0"; + texture = "special/headlight4"; +}; + +datablock RunningLightData(WildcatLight3) +{ + type = 2; + radius = 100.0; + color = "1.0 1.0 1.0 1.0"; + offset = "0.0 0.0 0.0"; + direction = "0.0 1.0 0.0"; + texture = "special/projheadlight"; +}; + +//************************************************************** +// VEHICLE CHARACTERISTICS +//************************************************************** + +datablock HoverVehicleData(ScoutVehicle) : WildcatDamageProfile +{ + spawnOffset = "0 0 1"; + + floatingGravMag = 3.5; + + catagory = "Vehicles"; + shapeFile = "vehicle_grav_scout.dts"; + computeCRC = true; + + debrisShapeName = "vehicle_grav_scout_debris.dts"; + debris = ShapeDebris; + renderWhenDestroyed = false; + + drag = 0.0; + density = 0.9; + + mountPose[0] = scoutRoot; + cameraMaxDist = 5.0; + cameraOffset = 0.7; + cameraLag = 0.5; + numMountPoints = 1; + isProtectedMountPoint[0] = true; + explosion = VehicleExplosion; + explosionDamage = 0.5; + explosionRadius = 5.0; + + lightOnly = 1; + + maxDamage = 0.60; + destroyedLevel = 0.60; + + isShielded = true; + rechargeRate = 0.7; + energyPerDamagePoint = 75; + maxEnergy = 150; + minJetEnergy = 15; + jetEnergyDrain = 1.3; + + // Rigid Body + mass = 400; + bodyFriction = 0.1; + bodyRestitution = 0.5; + softImpactSpeed = 20; // Play SoftImpact Sound + hardImpactSpeed = 28; // Play HardImpact Sound + + // Ground Impact Damage (uses DamageType::Ground) + minImpactSpeed = 29; + speedDamageScale = 0.010; + + // Object Impact Damage (uses DamageType::Impact) + collDamageThresholdVel = 23; + collDamageMultiplier = 0.030; + + dragForce = 25 / 45.0; + vertFactor = 0.0; + floatingThrustFactor = 0.35; + + mainThrustForce = 30; + reverseThrustForce = 10; + strafeThrustForce = 8; + turboFactor = 1.5; + + brakingForce = 25; + brakingActivationSpeed = 4; + + stabLenMin = 2.25; + stabLenMax = 3.75; + stabSpringConstant = 30; + stabDampingConstant = 16; + + gyroDrag = 16; + normalForce = 30; + restorativeForce = 20; + steeringForce = 30; + rollForce = 15; + pitchForce = 7; + + dustEmitter = VehicleLiftoffDustEmitter; + triggerDustHeight = 2.5; + dustHeight = 1.0; + dustTrailEmitter = TireEmitter; + dustTrailOffset = "0.0 -1.0 0.5"; + triggerTrailHeight = 3.6; + dustTrailFreqMod = 15.0; + + jetSound = ScoutSqueelSound; + engineSound = ScoutEngineSound; + floatSound = ScoutThrustSound; + softImpactSound = GravSoftImpactSound; + hardImpactSound = HardImpactSound; + //wheelImpactSound = WheelImpactSound; + + // + softSplashSoundVelocity = 10.0; + mediumSplashSoundVelocity = 20.0; + hardSplashSoundVelocity = 30.0; + exitSplashSoundVelocity = 10.0; + + exitingWater = VehicleExitWaterSoftSound; + impactWaterEasy = VehicleImpactWaterSoftSound; + impactWaterMedium = VehicleImpactWaterSoftSound; + impactWaterHard = VehicleImpactWaterMediumSound; + waterWakeSound = VehicleWakeSoftSplashSound; + + minMountDist = 4; + + damageEmitter[0] = SmallLightDamageSmoke; + damageEmitter[1] = SmallHeavyDamageSmoke; + damageEmitter[2] = DamageBubbles; + damageEmitterOffset[0] = "0.0 -1.5 0.5 "; + damageLevelTolerance[0] = 0.3; + damageLevelTolerance[1] = 0.7; + numDmgEmitterAreas = 1; + + splashEmitter[0] = VehicleFoamDropletsEmitter; + splashEmitter[1] = VehicleFoamEmitter; + + shieldImpact = VehicleShieldImpact; + + forwardJetEmitter = WildcatJetEmitter; + + cmdCategory = Tactical; + cmdIcon = CMDHoverScoutIcon; + cmdMiniIconName = "commander/MiniIcons/com_landscout_grey"; + targetNameTag = 'WildCat'; + targetTypeTag = 'Grav Cycle'; + sensorData = VehiclePulseSensor; + + checkRadius = 1.7785; + observeParameters = "1 10 10"; + + runningLight[0] = WildcatLight1; + runningLight[1] = WildcatLight2; + runningLight[2] = WildcatLight3; + + shieldEffectScale = "0.9375 1.125 0.6"; +}; + +//************************************************************** +// WEAPONS +//************************************************************** + diff --git a/public/base/@vl2/scripts.vl2/scripts/voiceBinds.cs b/public/base/@vl2/scripts.vl2/scripts/voiceBinds.cs new file mode 100644 index 00000000..0bff5b50 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/voiceBinds.cs @@ -0,0 +1,208 @@ +//------------------------------------------------------------------------------ +// +// voiceBinds.cs +// +//------------------------------------------------------------------------------ + +startChatMenu( "G Global" ); + startChatMenu( "A Animations" ); + addChat( "A Move", 'ChatAnimAnnoyed' ); + addChat( "G I'm the greatest", 'ChatAnimGetSome' ); + addChat( "D Woohoo", 'ChatAnimDance' ); + addChat( "S I'm on it", 'ChatAnimSalute' ); + addChat( "W Hi", 'ChatAnimWave' ); + addChat( "Z Take that", 'ChatAnimSpec1' ); + addChat( "X Too bad", 'ChatAnimSpec2' ); + addChat( "C Awesome", 'ChatAnimSpec3' ); + endChatMenu(); + startChatMenu( "C Compliment" ); + addChat( "A Awesome!", 'ChatAwesome' ); + addChat( "G Good game.", 'ChatGoodGame' ); + addChat( "N Nice move!", 'ChatNice' ); + addChat( "R You rock!", 'ChatYouRock' ); + addChat( "S Great shot!", 'ChatGreatShot' ); + endChatMenu(); + startChatMenu( "R Respond" ); + addChat( "A Anytime", 'ChatAnyTime' ); + addChat( "D Don't know", 'ChatDontKnow' ); + addChat( "T Thanks", 'ChatThanks' ); + addChat( "W Wait", 'ChatWait' ); + endChatMenu(); + startChatMenu( "T Taunt" ); + addChat( "A Aww...", 'ChatAww' ); + addChat( "B Best you can do?", 'ChatObnoxious' ); + addChat( "G I am the greatest!", 'ChatBrag' ); + addChat( "T THAT was graceful!", 'ChatSarcasm' ); + addChat( "W When will you learn?", 'ChatLearn' ); + endChatMenu(); + addChat( "Y Yes", 'ChatGlobalYes' ); + addChat( "N No", 'ChatGlobalNo' ); + addChat( "H Hi", 'ChatHi' ); + addChat( "B Bye", 'ChatBye' ); + addChat( "O Oops.", 'ChatOops' ); + addChat( "Q Quiet!", 'ChatQuiet' ); + addChat( "S Shazbot!", 'ChatShazbot' ); + addChat( "W Woohoo!", 'ChatCheer' ); +endChatMenu(); + +startChatMenu( "A Attack" ); + addChat( "A Attack!", 'ChatCmdAttack' ); + addChat( "B Base", 'ChatCmdAttackBase' ); + addChat( "C Chase", 'ChatCmdAttackChase' ); + addChat( "D Disrupt", 'ChatCmdAttackDistract' ); + addChat( "F Flag", 'ChatCmdAttackFlag' ); + addChat( "G Generator", 'ChatCmdAttackGenerator' ); + addChat( "O Objective", 'ChatCmdAttackObjective' ); + addChat( "R Reinforce", 'ChatCmdAttackReinforce' ); + addChat( "S Sensors", 'ChatCmdAttackSensors' ); + addChat( "T Turrets", 'ChatCmdAttackTurrets' ); + addChat( "V Vehicle", 'ChatCmdAttackVehicle' ); + addChat( "W Wait", 'ChatCmdAttackWait' ); +endChatMenu(); + +startChatMenu( "D Defend" ); + addChat( "B Base", 'ChatCmdDefendBase' ); + addChat( "C Flag carrier", 'ChatCmdDefendCarrier' ); + addChat( "E Entrances", 'ChatCmdDefendEntrances' ); + addChat( "F Flag", 'ChatCmdDefendFlag' ); + addChat( "G Generator", 'ChatCmdDefendGenerator' ); + addChat( "M Me", 'ChatCmdDefendMe' ); + addChat( "N Nexus", 'ChatCmdDefendNexus' ); + addChat( "O Objective", 'ChatCmdDefendObjective' ); + addChat( "R Reinforce", 'ChatCmdDefendReinforce' ); + addChat( "S Sensors", 'ChatCmdDefendSensors' ); + addChat( "T Turrets", 'ChatCmdDefendTurrets' ); + addChat( "V Vehicle", 'ChatCmdDefendVehicle' ); +endChatMenu(); + +startChatMenu( "R Repair" ); + addChat( "B Base", 'ChatRepairBase' ); + addChat( "G Generator", 'ChatRepairGenerator' ); + addChat( "M Me", 'ChatRepairMe' ); + addChat( "S Sensors", 'ChatRepairSensors' ); + addChat( "T Turrets", 'ChatRepairTurrets' ); + addChat( "V Vehicle bay", 'ChatRepairVehicle' ); +endChatMenu(); + +startChatMenu( "B Base" ); + addChat( "C Clear", 'ChatBaseClear' ); + addChat( "E Enemy in base", 'ChatEnemyInBase' ); + addChat( "R Retake", 'ChatCmdRetakeBase' ); + addChat( "S Secure", 'ChatBaseSecure' ); + addChat( "T Taken", 'ChatBaseTaken' ); +endChatMenu(); + +startChatMenu( "C Command" ); + addChat( "A Acknowledged", 'ChatCmdAcknowledged' ); + addChat( "C Completed", 'ChatCmdCompleted' ); + addChat( "D Declined", 'ChatCmdDeclined' ); + addChat( "W Assignment?", 'ChatCmdWhat' ); +endChatMenu(); + +startChatMenu( "E Enemy" ); + addChat( "B Base disabled", 'ChatEnemyBaseDisabled' ); + addChat( "D Disarray", 'ChatEnemyDisarray' ); + addChat( "G Generator destroyed", 'ChatEnemyGeneratorDestroyed' ); + addChat( "R Remotes destroyed", 'ChatEnemyRemotesDestroyed' ); + addChat( "S Sensors destroyed", 'ChatEnemySensorsDestroyed' ); + addChat( "T Turrets destroyed", 'ChatEnemyTurretsDestroyed' ); + addChat( "V Vehicle bay destroyed", 'ChatEnemyVehicleDestroyed' ); +endChatMenu(); + +startChatMenu( "F Flag" ); + addChat( "D Defend", 'ChatCmdDefendFlag' ); + addChat( "F I have the flag", 'ChatFlagGotIt' ); + addChat( "G Give me", 'ChatCmdGiveMeFlag' ); + addChat( "R Retrieve", 'ChatCmdReturnFlag' ); + addChat( "S Secure", 'ChatFlagSecure' ); + addChat( "T Take", 'ChatCmdTakeFlag' ); + addChat( "O Give me your flags", 'ChatCmdHunterGiveFlags' ); + addChat( "P Take my flags", 'ChatCmdHunterTakeFlags' ); +endChatMenu(); + +startChatMenu( "N Need" ); + addChat( "B Bombardier", 'ChatNeedBombardier' ); + addChat( "C Cover", 'ChatNeedCover' ); + addChat( "D Driver", 'ChatNeedDriver' ); + addChat( "E Escort", 'ChatNeedEscort' ); + addChat( "G Gunship ready", 'ChatNeedPassengers' ); + addChat( "H Hold vehicle", 'ChatNeedHold' ); + addChat( "P Pilot", 'ChatNeedPilot' ); + addChat( "R Ride", 'ChatNeedRide' ); + addChat( "S Support", 'ChatNeedSupport' ); + addChat( "T Tailgunner", 'ChatNeedTailgunner' ); + addChat( "W Where to?", 'ChatNeedDestination' ); +endChatMenu(); + +startChatMenu( "S Self" ); + startChatMenu( "A Attack" ); + addChat( "A Attack", 'ChatSelfAttack' ); + addChat( "B Base", 'ChatSelfAttackBase' ); + addChat( "F Flag", 'ChatSelfAttackFlag' ); + addChat( "G Generator", 'ChatSelfAttackGenerator' ); + addChat( "S Sensors", 'ChatSelfAttackSensors' ); + addChat( "T Turrets", 'ChatSelfAttackTurrets' ); + addChat( "V Vehicle bay", 'ChatSelfAttackVehicle' ); + endChatMenu(); + startChatMenu( "D Defend" ); + addChat( "B Base", 'ChatSelfDefendBase' ); + addChat( "D Defend", 'ChatSelfDefend' ); + addChat( "F Flag", 'ChatSelfDefendFlag' ); + addChat( "G Generator", 'ChatSelfDefendGenerator' ); + addChat( "N Nexus", 'ChatSelfDefendNexus' ); + addChat( "S Sensors", 'ChatSelfDefendSensors' ); + addChat( "T Turrets", 'ChatSelfDefendTurrets' ); + addChat( "V Vehicle bay", 'ChatSelfDefendVehicle' ); + endChatMenu(); + startChatMenu( "R Repair" ); + addChat( "B Base", 'ChatSelfRepairBase' ); + addChat( "E Equipment", 'ChatSelfRepairEquipment' ); + addChat( "G Generator", 'ChatSelfRepairGenerator' ); + addChat( "R Repair", 'ChatSelfRepair' ); + addChat( "S Sensors", 'ChatSelfRepairSensors' ); + addChat( "T Turrets", 'ChatSelfRepairTurrets' ); + addChat( "V Vehicle bay", 'ChatSelfRepairVehicle' ); + endChatMenu(); + startChatMenu( "T Task" ); + addChat( "C Cover", 'ChatTaskCover' ); + addChat( "D Setup defenses", 'ChatTaskSetupD' ); + addChat( "O On it", 'ChatTaskOnIt' ); + addChat( "R Deploy remotes", 'ChatTaskSetupRemote' ); + addChat( "S Deploy sensors", 'ChatTaskSetupSensors' ); + addChat( "T Deploy turrets", 'ChatTaskSetupTurrets' ); + addChat( "V Vehicle", 'ChatTaskVehicle' ); + endChatMenu(); +endChatMenu(); + +startChatMenu( "T Target" ); + addChat( "A Acquired", 'ChatTargetAcquired' ); + addChat( "B Base", 'ChatCmdTargetBase' ); + addChat( "D Destroyed", 'ChatTargetDestroyed' ); + addChat( "F Flag", 'ChatCmdTargetFlag' ); + addChat( "M Fire on my target", 'ChatTargetFire' ); + addChat( "N Need", 'ChatTargetNeed' ); + addChat( "S Sensors", 'ChatCmdTargetSensors' ); + addChat( "T Turret", 'ChatCmdTargetTurret' ); + addChat( "W Wait", 'ChatCmdTargetWait' ); +endChatMenu(); + +startChatMenu( "W Warning" ); + addChat( "B Bomber", 'ChatWarnBomber' ); + addChat( "E Enemies", 'ChatWarnEnemies' ); + addChat( "V Vehicles", 'ChatWarnVehicles' ); + addChat( "W Watch your shooting", 'ChatWarnShoot' ); +endChatMenu(); + +startChatMenu( "V Very Quick" ); + addChat( "Y Yes", 'ChatTeamYes' ); + addChat( "N No", 'ChatTeamNo' ); + addChat( "A Anytime", 'ChatWelcome' ); + addChat( "B Base secure?", 'ChatIsBaseSecure' ); + addChat( "C Cease fire", 'ChatCeaseFire' ); + addChat( "D Don't know", 'ChatDunno' ); + addChat( "H HELP!", 'ChatHelp' ); + addChat( "M Move", 'ChatMove' ); + addChat( "S Sorry", 'ChatSorry' ); + addChat( "T Thanks", 'ChatTeamThanks' ); + addChat( "W Wait", 'ChatTeamWait' ); +endChatMenu(); diff --git a/public/base/@vl2/scripts.vl2/scripts/voiceChat.cs b/public/base/@vl2/scripts.vl2/scripts/voiceChat.cs new file mode 100644 index 00000000..54e3656b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/voiceChat.cs @@ -0,0 +1,348 @@ +$voiceLines = 8; +$voiceLineTimeout = 7 * 1000; +$numTalking = 0; + +//------------------------------------------------------------------------------ +function clientCmdPlayerStartTalking(%client, %success) +{ + // if more people are talking than we can handle, don't bother with names + if($numTalking > $voiceLines) + return; + + %openLine = -1; + for(%i = 0; %i < $voiceLines; %i++) + { + if($voiceComm[%i] <= 0) + { + %openLine = %i; + break; + } + } + if(%openLine != -1) + { + $voiceComm[%openLine] = %client; + if(%success) + addGreenVoiceLine(%client, %openLine); + else + addRedVoiceLine(%client, %openLine); + $numTalking++; + resizeVoiceCommWindow(); + if(!(voiceCommHud.isVisible())) + voiceCommHud.setVisible(true); + } +} + +//------------------------------------------------------------------------------ +function clientCmdPlayerStoppedTalking(%client, %success) +{ + %doneLine = -1; + for(%i = 0; %i < $voiceLines; %i++) { + if($voiceComm[%i] == %client) { + %doneLine = %i; + break; + } + } + if(%doneLine != -1) + %rmSuccess = removeVoiceLine(%doneLine); +} + +//------------------------------------------------------------------------------ +function addGreenVoiceLine(%client, %line) +{ + %name = "Unknown client"; + %player = $PlayerList[%client]; + + if(%player) + %name = %player.name; + + %speakLine = new GuiControl("VCH"@%line) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 " @ (%line + 1) * 15; + extent = "160 15"; + visible = true; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + bitmap = "gui/hud_chat_button_on"; + position = "0 0"; + extent = "15 15"; + visible = true; + }; + + new GuiTextCtrl() { + profile = "GuiVoiceGreenProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 0"; + extent = "140 15"; + text = %name; + visible = true; + }; + }; + voiceCommHud.add(%speakLine); + schedule($voiceLineTimeout, 0, "removeVoiceLine", %line); +} + +//------------------------------------------------------------------------------ +function addRedVoiceLine(%client, %line) +{ + %name = "Unknown client"; + + %player = $PlayerList[%client]; + if(%player) + %name = %player.name; + + %speakLine = new GuiControl("VCH"@%line) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "3 " @ (%line + 1) * 15; + extent = "150 15"; + visible = true; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + bitmap = "gui/hud_chat_button_off"; + position = "0 0"; + extent = "15 15"; + visible = true; + }; + + new GuiTextCtrl() { + profile = "GuiVoiceGreenProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 0"; + extent = "125 15"; + text = %name; + visible = true; + }; + }; + voiceCommHud.add(%speakLine); + schedule($voiceLineTimeout, 0, "removeVoiceLine", %line); +} + +//------------------------------------------------------------------------------ +function removeVoiceLine(%line) +{ + %killIt = nameToID("VCH" @ %line); + $voiceComm[%line] = 0; + if(%killIt == -1) { + //error("Could not find control VCH" @ %line @ " !!!!"); + return 0; + } + else { + //error("Removing voice line " @ %line); + %killIt.delete(); + $voiceComm[%line] = 0; + $numTalking--; + if($numTalking < 1) + voiceCommHud.setVisible(false); + resizeVoiceCommWindow(); + return 1; + } +} + +function resizeVoiceCommWindow() +{ + %lastLine = -1; + for(%i = 0; %i < $voiceLines; %i++) + { + if($voiceComm[%i] > 0) + %lastLine = %i; + } + %yExt = ((%lastLine + 1) * 15) + 18; + %xExt = firstWord(voiceCommHud.extent); + voiceCommHud.extent = %xExt SPC %yExt; +} +//------------------------------------------------------------------------------ +// SERVER command functions: +//------------------------------------------------------------------------------ +function serverCmdListenTo(%client, %who, %boolean) +{ + if ( %client == %who ) + return; + + %client.listenTo( %who, %boolean ); + + if ( %echo ) + { + if ( %boolean ) + messageClient( %client, 'MsgVoiceEnable', 'You will now listen to %3.', %boolean, %who, %who.name ); + else + messageClient( %client, 'MsgVoiceEnable', 'You will no longer listen to %3.', %boolean, %who, %who.name ); + } + else + messageClient( %client, 'MsgVoiceEnable', "", %boolean, %who ); + + messageClient( %who, 'MsgListenState', "", %boolean, %client ); +} + +//------------------------------------------------------------------------------ +function serverCmdListenToAll(%client) +{ + %client.listenToAll(); + + for ( %i = 0; %i < ClientGroup.getCount(); %i++ ) + { + %cl = ClientGroup.getObject( %i ); + if ( %cl && %cl != %client && !%cl.isAIControlled() ) + messageClient( %client, 'MsgVoiceEnable', "", true, %cl ); + } + + messageAllExcept( %client, 'MsgListenState', "", true, %client ); +} + +//------------------------------------------------------------------------------ +function serverCmdListenToNone(%client) +{ + %client.listenToNone(); + + for ( %i = 0; %i < ClientGroup.getCount(); %i++ ) + { + %cl = ClientGroup.getObject( %i ); + if ( %cl && %cl != %client && !%cl.isAIControlled() ) + messageClient( %client, 'MsgVoiceEnable', "", false, %cl ); + } + + messageAllExcept( %client, 'MsgListenState', "", false, %client ); +} + +//------------------------------------------------------------------------------ +// Client bind functions: +//------------------------------------------------------------------------------ +function voiceCapStart() +{ + $voiceCaptureStarted = true; + + // client can send voice? (dont bother recording.. server will reject it anyway) + if(($Audio::serverChannels == 0) || ($Audio::serverEncodingLevel < $pref::Audio::encodingLevel)) + { + if($Audio::serverChannels == 0) + addMessageHudLine("\c2System:\cr server has disabled voice communication."); + else + { + switch($Audio::serverEncodingLevel) + { + case 0: %level = "Codec .v12"; + case 1: %level = "Codec .v24"; + case 2: %level = "Codec .v29"; + default: %level = "Codec GSM"; + } + + addMessageHudLine("\c2System:\cr server has voice level capped at [\c1" @ %level @ "\cr]."); + } + + $voiceCaptureStarted = false; + return; + } + + vcRecordingHud.setVisible(true); + voiceCommHud.setVisible(true); + resizeVoiceCommWindow(); + alxCaptureStart(); +} + +function voiceCapStop() +{ + if(!$voiceCaptureStarted) + return; + + vcRecordingHud.setVisible(false); + if($numTalking < 1) + voiceCommHud.setVisible(false); + alxCaptureStop(); +} + +//------------------------------------------------------------------------------ +function serverCmdSetVoiceInfo(%client, %channels, %decodingMask, %encodingLevel) +{ + %wasEnabled = %client.listenEnabled(); + + // server has voice comm turned off? + if($Audio::maxVoiceChannels == 0) + %decodingMask = 0; + else + %decodingMask &= (1 << ($Audio::maxEncodingLevel + 1)) - 1; + + if($Audio::maxEncodingLevel < %encodingLevel) + %encodingLevel = $Audio::maxEncodingLevel; + + if($Audio::maxVoiceChannels < %channels) + %channels = $Audio::maxVoiceChannels; + + %client.setVoiceChannels(%channels); + %client.setVoiceDecodingMask(%decodingMask); + %client.setVoiceEncodingLevel(%encodingLevel); + + commandToClient(%client, 'SetVoiceInfo', %channels, %decodingMask, %encodingLevel); + + if ( %wasEnabled != ( %channels > 0 ) ) + updateCanListenState( %client ); +} + +//------------------------------------------------------------------------------ +// SERVER side update function: +//------------------------------------------------------------------------------ +function updateCanListenState( %client ) +{ + // These can never listen, so they don't need to be updated: + if ( %client.isAIControlled() || !%client.listenEnabled() ) + return; + + for ( %i = 0; %i < ClientGroup.getCount(); %i++ ) + { + %cl = ClientGroup.getObject( %i ); + if ( %cl && %cl != %client && !%cl.isAIControlled() ) + { + messageClient( %cl, 'MsgCanListen', "", %client.canListenTo( %cl ), %client ); + messageClient( %client, 'MsgCanListen', "", %cl.canListenTo( %client ), %cl ); + } + } +} + +//------------------------------------------------------------------------------ +// CLIENT side handler functions: +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgVoiceEnable', handleVoiceEnableMessage ); + +function handleVoiceEnableMessage( %msgType, %msgString, %enabled, %who ) +{ + if ( isObject( $PlayerList[%who] ) ) + { + $PlayerList[%who].voiceEnabled = %enabled; + lobbyUpdatePlayer( %who ); + if ( $PlayingOnline && !$PlayerList[%who].isSmurf && $PlayerList[%who].guid > 0 ) + setPlayerVoiceMuted( $PlayerList[%who].guid, !%enabled ); + } +} + +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgCanListen', handleCanListenMessage ); + +function handleCanListenMessage( %msgType, %msgString, %canListen, %who ) +{ + if ( isObject( $PlayerList[%who] ) ) + { + $PlayerList[%who].canListen = %canListen; + lobbyUpdatePlayer( %who ); + } +} + +//------------------------------------------------------------------------------ +addMessageCallback( 'MsgListenState', handleListenStateMessage ); + +function handleListenStateMessage( %msgType, %msgString, %isListening, %who ) +{ + if ( isObject( $PlayerList[%who] ) ) + { + $PlayerList[%who].isListening = %isListening; + lobbyUpdatePlayer( %who ); + } +} diff --git a/public/base/@vl2/scripts.vl2/scripts/waveProfiles.cs b/public/base/@vl2/scripts.vl2/scripts/waveProfiles.cs new file mode 100644 index 00000000..36de0e46 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/waveProfiles.cs @@ -0,0 +1,22 @@ +//----------------------------------------------------------------------------- +// Wave Profile Lists +// +new WaveProfile(calmSea) +{ +}; + +new WaveProfile(chop) +{ +}; + +new WaveProfile(bubblyLava) +{ +}; + +new WaveProfile(coolingLava) +{ +}; + +new WaveProfile(quicksand) +{ +}; \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/weapTurretCode.cs b/public/base/@vl2/scripts.vl2/scripts/weapTurretCode.cs new file mode 100644 index 00000000..bd03e211 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapTurretCode.cs @@ -0,0 +1,919 @@ +//-------------------------------------- Ammo functions +function Ammo::onCollision(%data, %obj, %col) +{ + // %data = datablock of object; %obj = object number + // %col = thing that collided with object (hopefully a player) + + if (%col.getDataBlock().className $= Armor) + { + %ammoName = %data.getName(); + %ammoStore = %col.inv[%ammoName]; + + // if player has ammo pack, increase max amount of ammo + if(%col.getMountedImage($BackpackSlot) != 0) + { + if(%col.getMountedImage($BackpackSlot).getName() $= "AmmoPackImage") + %aMax = (%col.getDataBlock().max[%ammoName]) + AmmoPack.max[%ammoName]; + else + %aMax = %col.getDataBlock().max[%ammoName]; + } + else + %aMax = %col.getDataBlock().max[%ammoName]; + + if(%col.inv[%ammoName] < %aMax) + { + if( %obj.ammoStore $= "" ) + %obj.ammoStore = $AmmoIncrement[ %ammoName ]; + + %col.incInventory(%ammoName, %obj.ammoStore); + serverPlay3D(ItemPickupSound, %col.getTransform()); + %obj.respawn(); + if (%col.client > 0) + messageClient(%col.client, 'MsgItemPickup', '\c0You picked up %1.', %data.pickUpName); + } + } +} + +function GrenadeThrown::onCollision(%data, %obj, %col) +{ + // nothing you can do now... +} + +function HandInventory::onCollision(%data, %obj, %col) +{ + // %data = datablock of object; %obj = object number + // %col = thing that collided with object (hopefully a player) + if (%col.getDataBlock().className $= Armor) + { + %ammoName = %data.getName(); + %ammoStore = %col.inv[%ammoName]; + + // if player has ammo pack, increase max amount of ammo + if(%col.getMountedImage($BackpackSlot) != 0) + { + if(%col.getMountedImage($BackpackSlot).getName() $= "AmmoPackImage") + %aMax = (%col.getDataBlock().max[%ammoName]) + AmmoPack.max[%ammoName]; + else + %aMax = %col.getDataBlock().max[%ammoName]; + } + else + %aMax = %col.getDataBlock().max[%ammoName]; + + if(%data.isGrenade) + { + // it's a grenade -- see if it matches the type the player is carrying + %pgType = "None"; + for(%x = 0; $InvGrenade[%x] !$= ""; %x++) + { + %gren = $NameToInv[$InvGrenade[%x]]; + if(%col.inv[%gren] > 0) + { + %pgType = %gren; + break; + } + } + if((%pgType $= "None") || (%pgType $= %ammoName)) + { + // player either has no grenades or this type of grenades -- OK to pick up more + %canPickup = true; + } + else + { + // player has a different kind of grenade -- don't pick this kind up + %canPickup = false; + } + } + else + %canPickup = true; + + if(%canPickup) + { + if(%col.inv[%ammoName] < %aMax) + { + //------------------------------------------------------------------------------------------- + // z0dd - ZOD, 5/8/02. Don't allow player to pickup full ammo if they tossed less than full. + //%col.incInventory(%ammoName, $AmmoIncrement[%ammoName]); + if( %obj.ammoStore $= "" ) + %obj.ammoStore = $AmmoIncrement[ %ammoName ]; + %col.incInventory(%ammoName, %obj.ammoStore); + // End z0dd - ZOD + //------------------------------------------------------------------------------------------- + + serverPlay3D(ItemPickupSound, %col.getTransform()); + %obj.respawn(); + if (%col.client > 0) + messageClient(%col.client, 'MsgItemPickup', '\c0You picked up %1.', %data.pickUpName); + } + } + } +} + +//-------------------------------------- Specific turret functions + +function SentryTurret::onAdd(%data, %obj) +{ + Parent::onAdd(%data, %obj); + + //error("error"); + %obj.mountImage(%data.barrel, 0, true); +} + +function TurretDeployedCamera::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + %obj.mountImage(DeployableCameraBarrel, 0, true); + %obj.setRechargeRate(%this.rechargeRate); +} + +function TurretDeployedCamera::onDestroyed(%this, %obj, %prevState) +{ + Parent::onDestroyed(%this, %obj, %prevState); + $TeamDeployedCount[%obj.team, DeployedCamera]--; + // doesn't seem to delete itself, so... + %obj.schedule(500, "delete"); +} + +function ScoutFlyer::onTrigger(%data, %obj, %trigger, %state) +{ + // data = ScoutFlyer datablock + // obj = ScoutFlyer object number + // trigger = 0 for "fire", 1 for "jump", 3 for "thrust" + // state = 1 for firing, 0 for not firing + if(%trigger == 0) + { + switch (%state) { + case 0: + %obj.fireWeapon = false; + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(3, false); + case 1: + %obj.fireWeapon = true; + if(%obj.nextWeaponFire == 2) { + %obj.setImageTrigger(2, true); + %obj.setImageTrigger(3, false); + } + else { + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(3, true); + } + } + } +} + +function ScoutFlyer::playerDismounted(%data, %obj, %player) +{ + %obj.fireWeapon = false; + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(3, false); + setTargetSensorGroup(%obj.getTarget(), %obj.team); + + if( %player.client.observeCount > 0 ) + resetObserveFollow( %player.client, true ); +} + +function ScoutChaingunImage::onFire(%data,%obj,%slot) +{ + // obj = ScoutFlyer object number + // slot = 2 + + Parent::onFire(%data,%obj,%slot); + %obj.nextWeaponFire = 3; + schedule(%data.fireTimeout, 0, "fireNextGun", %obj); +} + +function ScoutChaingunPairImage::onFire(%data,%obj,%slot) +{ + // obj = ScoutFlyer object number + // slot = 3 + + Parent::onFire(%data,%obj,%slot); + %obj.nextWeaponFire = 2; + schedule(%data.fireTimeout, 0, "fireNextGun", %obj); +} + +function fireNextGun(%obj) +{ + if(%obj.fireWeapon) + { + if(%obj.nextWeaponFire == 2) + { + %obj.setImageTrigger(2, true); + %obj.setImageTrigger(3, false); + } + else + { + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(3, true); + } + } + else + { + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(3, false); + } +} + +function ScoutChaingunImage::onTriggerDown(%this, %obj, %slot) +{ +} + +function ScoutChaingunImage::onTriggerUp(%this, %obj, %slot) +{ +} + +function ScoutChaingunImage::onMount(%this, %obj, %slot) +{ +// %obj.setImageAmmo(%slot,true); +} + +function ScoutChaingunPairImage::onMount(%this, %obj, %slot) +{ +// %obj.setImageAmmo(%slot,true); +} + +function ScoutChaingunImage::onUnmount(%this,%obj,%slot) +{ +} + +function ScoutChaingunPairImage::onUnmount(%this,%obj,%slot) +{ +} + + +function BomberTurret::onDamage(%data, %obj) +{ + %newDamageVal = %obj.getDamageLevel(); + if(%obj.lastDamageVal !$= "") + if(isObject(%obj.getObjectMount()) && %obj.lastDamageVal > %newDamageVal) + %obj.getObjectMount().setDamageLevel(%newDamageVal); + %obj.lastDamageVal = %newDamageVal; +} + +function BomberTurret::damageObject(%this, %targetObject, %sourceObject, %position, %amount, %damageType ,%vec, %client, %projectile) +{ + //If vehicle turret is hit then apply damage to the vehicle + %vehicle = %targetObject.getObjectMount(); + if(%vehicle) + %vehicle.getDataBlock().damageObject(%vehicle, %sourceObject, %position, %amount, %damageType, %vec, %client, %projectile); +} + +function VehicleTurret::onEndSequence(%data, %obj, %thread) +{ + if($DeployThread == %thread) + %obj.stopThread($DeployThread); +} + +function BomberTurret::onTrigger(%data, %obj, %trigger, %state) +{ + //error("onTrigger: trigger = " @ %trigger @ ", state = " @ %state); + //error("obj = " @ %obj @ ", class " @ %obj.getClassName()); + switch (%trigger) + { + case 0: + %obj.fireTrigger = %state; + if(%obj.selectedWeapon == 1) + { + %obj.setImageTrigger(4, false); + if(%obj.getImageTrigger(6)) + { + %obj.setImageTrigger(6, false); + ShapeBaseImageData::deconstruct(%obj.getMountedImage(6), %obj); + } + if(%state) + %obj.setImageTrigger(2, true); + else + %obj.setImageTrigger(2, false); + } + else if(%obj.selectedWeapon == 2) + { + %obj.setImageTrigger(2, false); + if(%obj.getImageTrigger(6)) + { + %obj.setImageTrigger(6, false); + ShapeBaseImageData::deconstruct(%obj.getMountedImage(6), %obj); + } + if(%state) + %obj.setImageTrigger(4, true); + else + %obj.setImageTrigger(4, false); + } + else + { + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(4, false); + if(%state) + %obj.setImageTrigger(6, true); + else + { + %obj.setImageTrigger(6, false); + BomberTargetingImage::deconstruct(%obj.getMountedImage(6), %obj); + } + } + + case 2: + if(%state) + { + %obj.getDataBlock().playerDismount(%obj); + } + } +} + +function BomberTurret::playerDismount(%data, %obj) +{ + //Passenger Exiting + %obj.fireTrigger = 0; + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(4, false); + if(%obj.getImageTrigger(6)) + { + %obj.setImageTrigger(6, false); + ShapeBaseImageData::deconstruct(%obj.getMountedImage(6), %obj); + } + %client = %obj.getControllingClient(); + %client.player.isBomber = false; + commandToClient(%client, 'endBomberSight'); +// %client.player.setControlObject(%client.player); + %client.player.mountVehicle = false; +// %client.player.getDataBlock().doDismount(%client.player); + if(%client.player.getState() !$= "Dead") + %client.player.mountImage(%client.player.lastWeapon, $WeaponSlot); + setTargetSensorGroup(%obj.getTarget(), 0); + setTargetNeverVisMask(%obj.getTarget(), 0xffffffff); +} + +//function BomberTurret::getHudNum(%data, %num) +//{ +// if(%num == 1) +// return 0; +// else +// return 4; +//} + +function AIAimingTurretBarrel::onFire(%this,%obj,%slot) +{ +} + +function BomberBombImage::onUnmount(%this,%obj,%slot) +{ +} + +function BomberBombPairImage::onUnmount(%this,%obj,%slot) +{ +} + +function BomberTurretBarrel::firePair(%this, %obj, %slot) +{ + %obj.setImageTrigger( 3, true); +} + +function BomberTurretBarrelPair::stopFire(%this, %obj, %slot) +{ + %obj.setImageTrigger( 3, false); +} + +function BomberTurretBarrelPair::onMount(%this, %obj, %slot) +{ +// %obj.setImageAmmo(%slot,true); +} + +function BomberTurretBarrel::onMount(%this, %obj, %slot) +{ +// %obj.setImageAmmo(%slot,true); +} + +function BomberBombImage::firePair(%this, %obj, %slot) +{ + %obj.setImageTrigger( 5, true); +} + +function BomberBombPairImage::stopFire(%this, %obj, %slot) +{ + %obj.setImageTrigger( 5, false); +} + +function BomberBombPairImage::onMount(%this, %obj, %slot) +{ +// %obj.setImageAmmo(%slot,true); +} + +function BomberBombImage::onMount(%this, %obj, %slot) +{ +} + +function BomberBombImage::onUnmount(%this,%obj,%slot) +{ +} + +function BomberBombPairImage::onUnmount(%this,%obj,%slot) +{ +} + +function MobileTurretBase::onAdd(%this, %obj) +{ + Parent::onAdd(%this, %obj); + setTargetSensorGroup(%obj.target, %obj.team); + //setTargetNeverVisMask(%obj.target, 0xffffffff); +} + +function MobileTurretBase::onDamage(%data, %obj) +{ + %newDamageVal = %obj.getDamageLevel(); + if(%obj.lastDamageVal !$= "") + if(isObject(%obj.getObjectMount()) && %obj.lastDamageVal > %newDamageVal) + %obj.getObjectMount().setDamageLevel(%newDamageVal); + %obj.lastDamageVal = %newDamageVal; +} + +function MobileTurretBase::damageObject(%this, %targetObject, %sourceObject, %position, %amount, %damageType ,%vec, %client, %projectile) +{ + //If vehicle turret is hit then apply damage to the vehicle + %vehicle = %targetObject.getObjectMount(); + if(%vehicle) + %vehicle.getDataBlock().damageObject(%vehicle, %sourceObject, %position, %amount, %damageType, %vec, %client, %projectile); +} + +function MobileTurretBase::onEndSequence(%data, %obj, %thread) +{ + //Used so that the parent wont be called.. +} + +function AssaultPlasmaTurret::onDamage(%data, %obj) +{ + %newDamageVal = %obj.getDamageLevel(); + if(%obj.lastDamageVal !$= "") + if(isObject(%obj.getObjectMount()) && %obj.lastDamageVal > %newDamageVal) + %obj.getObjectMount().setDamageLevel(%newDamageVal); + %obj.lastDamageVal = %newDamageVal; +} + +function AssaultPlasmaTurret::damageObject(%this, %targetObject, %sourceObject, %position, %amount, %damageType ,%vec, %client, %projectile) +{ + //If vehicle turret is hit then apply damage to the vehicle + %vehicle = %targetObject.getObjectMount(); + if(%vehicle) + %vehicle.getDataBlock().damageObject(%vehicle, %sourceObject, %position, %amount, %damageType, %vec, %client, %projectile); +} + +function AssaultPlasmaTurret::onTrigger(%data, %obj, %trigger, %state) +{ + switch (%trigger) { + case 0: + %obj.fireTrigger = %state; + if(%obj.selectedWeapon == 1) + { + %obj.setImageTrigger(4, false); + if(%state) + %obj.setImageTrigger(2, true); + else + %obj.setImageTrigger(2, false); + } + else + { + %obj.setImageTrigger(2, false); + if(%state) + %obj.setImageTrigger(4, true); + else + %obj.setImageTrigger(4, false); + } + case 2: + if(%state) + { + %obj.getDataBlock().playerDismount(%obj); + } + } +} + +function AssaultPlasmaTurret::playerDismount(%data, %obj) +{ + //Passenger Exiting + %obj.fireTrigger = 0; + %obj.setImageTrigger(2, false); + %obj.setImageTrigger(4, false); + %client = %obj.getControllingClient(); +// %client.setControlObject(%client.player); + %client.player.mountImage(%client.player.lastWeapon, $WeaponSlot); + %client.player.mountVehicle = false; + setTargetSensorGroup(%obj.getTarget(), 0); + setTargetNeverVisMask(%obj.getTarget(), 0xffffffff); +// %client.player.getDataBlock().doDismount(%client.player); +} + +//function AssaultPlasmaTurret::getHudNum(%data, %num) +//{ +// if(%num == 1) +// return 1; +// else +// return 3; +//} + + +// ------------------------------------------ +// camera functions +// ------------------------------------------ + +$CameraDeployTime = 1000; +$CameraDeployCheckMax = 6; +$CameraMinVelocity = 0.1; + +function CameraGrenadeThrown::onThrow(%this, %gren) +{ + // schedule a check to see if the camera is at rest but not deployed + %gren.checkCount = 0; + %gren.velocCheck = %this.schedule($CameraDeployTime, "checkCameraDeploy", %gren); +} + +function CameraGrenadeThrown::onStickyCollision(%data, %obj) +{ + cancel(%obj.velocCheck); + %pos = %obj.getLastStickyPos(); + %norm = %obj.getLastStickyNormal(); + + %intAngle = getTerrainAngle(%norm); // staticShape.cs + %rotAxis = vectorNormalize(vectorCross(%norm, "0 0 1")); + if (getWord(%norm, 2) == 1 || getWord(%norm, 2) == -1) + %rotAxis = vectorNormalize(vectorCross(%norm, "0 1 0")); + + %rotation = %rotAxis @ " " @ %intAngle; + %dcSucc = activateCamera(%pos, %rotation, %obj.sourceObject, %obj.sourceObject.team); + if(%dcSucc == 0) + messageClient(%obj.sourceObject.client, 'MsgDeployFailed', '\c2Your team\'s control network has reached its capacity for this item.~wfx/misc/misc.error.wav'); + %obj.schedule(50,"delete"); +} + +function CameraGrenadeThrown::checkCameraDeploy(%this, %gren) +{ + %gren.checkCount++; + if(VectorLen(%gren.getVelocity()) < $CameraMinVelocity) + { + // camera has come to rest but not deployed -- probably on a staticshape (station, gen, etc) + // no resolution, so get rid of it + %gren.schedule(50, "delete"); + } + else if(%gren.checkCount >= $CameraDeployCheckMax) + { + // camera's still moving but it's been check several times -- it was thrown from too great + // a height or off the edge of the world -- delete it + %gren.schedule(50, "delete"); + } + else + { + // check back in a little while + %gren.velocCheck = %this.schedule($CameraDeployTime, "checkCameraDeploy", %gren); + } +} + +function activateCamera(%position, %rotation, %sourceObj, %team) +{ + if($TeamDeployedCount[%team, DeployedCamera] >= $TeamDeployableMax[DeployedCamera]) + { + // team has too many cameras deployed already, don't deploy this one + return 0; + } + %dCam = new Turret() + { + dataBlock = "TurretDeployedCamera"; + team = %team; + needsNoPower = true; + owner = %sourceObj.client; + ownerHandle = %sourceObj.client.handle; + position = %position; + rotation = %rotation; + }; + addToDeployGroup(%dCam); + + if(%dCam.getTarget() != -1) + setTargetSensorGroup(%dCam.getTarget(), %team); + + %dCam.playAudio($DeploySound, CameraGrenadeAttachSound); + %dCam.deploy(); + %dCam.playThread($AmbientThread, "ambient"); + + // increment team's deployed count for cameras + $TeamDeployedCount[%team, DeployedCamera]++; + return 1; +} + +function FlareGrenade::onUse(%this, %obj) +{ + // a stripped-down version of HandInventory::onUse from weapons.cs + if(Game.handInvOnUse(%data, %obj)) { + %obj.decInventory(%this, 1); + %p = new FlareProjectile() { + dataBlock = FlareGrenadeProj; + initialDirection = %obj.getEyeVector(); + initialPosition = getBoxCenter(%obj.getWorldBox()); + sourceObject = %obj; + sourceSlot = 0; + }; + FlareSet.add(%p); + MissionCleanup.add(%p); + serverPlay3D(GrenadeThrowSound, getBoxCenter(%obj.getWorldBox())); + %p.schedule(6000, "delete"); + // miscellaneous grenade-throwing cleanup stuff + %obj.lastThrowTime[%data] = getSimTime(); + %obj.throwStrength = 0; + } +} + +// uncomment when explosion type can be set from script (dont want underwater explosion here) +//function grenadeOnEnterLiquid(%data, %obj, %coverage, %type, %flash) +//{ +// // 4: Lava +// // 5: Hot Lava +// // 6: Crusty Lava +// if(%type >=4 && %type <= 6) +// { +// if(%obj.getDamageState() !$= "Destroyed") +// { +// cancel(%obj.detThread); +// if(%flash) +// detonateFlashGrenade(%obj); +// else +// detonateGrenade(%obj); +// return(true); +// } +// } +// +// // flash grenades do not ignore quicksand +// if((%type == 7) && !%flash) +// return(true); +// +// return(false); +//} + +function GrenadeThrown::onThrow(%this, %gren) +{ + AIGrenadeThrown(%gren); + %gren.detThread = schedule(1500, %gren, "detonateGrenade", %gren); +} + +//function GrenadeThrown::onEnterLiquid(%data, %obj, %coverage, %type) +//{ +// if(!grenadeOnEnterLiquid(%data, %obj, %coverage, %type, false)) +// Parent::onEnterLiquid(%data, %obj, %coverage, %type); +//} + +function ConcussionGrenadeThrown::onThrow(%this, %gren) +{ + AIGrenadeThrown(%gren); + %gren.detThread = schedule(2000, %gren, "detonateGrenade", %gren); +} + +//function ConcussionGrenadeThrown::onEnterLiquid(%data, %obj, %coverage, %type) +//{ +// if(!grenadeOnEnterLiquid(%data, %obj, %coverage, %type, false)) +// Parent::onEnterLiquid(%data, %obj, %coverage, %type); +//} + +function detonateGrenade(%obj) +{ + %obj.setDamageState(Destroyed); + %data = %obj.getDataBlock(); + RadiusExplosion( %obj, %obj.getPosition(), %data.damageRadius, %data.indirectDamage, + %data.kickBackStrength, %obj.sourceObject, %data.radiusDamageType); + %obj.schedule(500,"delete"); +} + +function FlashGrenadeThrown::onThrow(%this, %gren) +{ + %gren.detThread = schedule(2000, %gren, "detonateFlashGrenade", %gren); +} + +//function FlashGrenadeThrown::onEnterLiquid(%data, %obj, %coverage, %type) +//{ +// if(!grenadeOnEnterLiquid(%data, %obj, %coverage, %type, true)) +// Parent::onEnterLiquid(%data, %obj, %coverage, %type); +//} + +function detonateFlashGrenade(%hg) +{ + %maxWhiteout = %hg.getDataBlock().maxWhiteout; + %thrower = %hg.sourceObject.client; + %hg.setDamageState(Destroyed); + %hgt = %hg.getTransform(); + %plX = firstword(%hgt); + %plY = getWord(%hgt, 1); + %plZ = getWord(%hgt, 2); + %pos = %plX @ " " @ %plY @ " " @ %plZ; + //all this stuff below ripped from projectiles.cs + + InitContainerRadiusSearch(%pos, 100.0, $TypeMasks::PlayerObjectType | + $TypeMasks::TurretObjectType); + + while ((%damage = containerSearchNext()) != 0) + { + %dist = containerSearchCurrDist(); + + %eyeXF = %damage.getEyeTransform(); + %epX = firstword(%eyeXF); + %epY = getWord(%eyeXF, 1); + %epZ = getWord(%eyeXF, 2); + %eyePos = %epX @ " " @ %epY @ " " @ %epZ; + %eyeVec = %damage.getEyeVector(); + + // Make sure we can see the thing... + if (ContainerRayCast(%eyePos, %pos, $TypeMasks::TerrainObjectType | + $TypeMasks::InteriorObjectType | + $TypeMasks::StaticObjectType, %damage) !$= "0") + { + continue; + } + + %distFactor = 1.0; + if (%dist >= 100) + %distFactor = 0.0; + else if (%dist >= 20) { + %distFactor = 1.0 - ((%dist - 20.0) / 80.0); + } + + %dif = VectorNormalize(VectorSub(%pos, %eyePos)); + %dot = VectorDot(%eyeVec, %dif); + + %difAcos = mRadToDeg(mAcos(%dot)); + %dotFactor = 1.0; + if (%difAcos > 60) + %dotFactor = ((1.0 - ((%difAcos - 60.0) / 120.0)) * 0.2) + 0.3; + else if (%difAcos > 45) + %dotFactor = ((1.0 - ((%difAcos - 45.0) / 15.0)) * 0.5) + 0.5; + + %totalFactor = %dotFactor * %distFactor; + + %prevWhiteOut = %damage.getWhiteOut(); + + if(!%prevWhiteOut) + if(!$teamDamage) + { + if(%damage.client != %thrower && %damage.client.team == %thrower.team) + messageClient(%damage.client, 'teamWhiteOut', '\c1You were hit by %1\'s whiteout grenade.', getTaggedString(%thrower.name)); + } + + %whiteoutVal = %prevWhiteOut + %totalFactor; + if(%whiteoutVal > %maxWhiteout) + { + //error("whitout at max"); + %whiteoutVal = %maxWhiteout; + } + + %damage.setWhiteOut( %whiteoutVal ); + } + %hg.schedule( 500, "delete" ); +} + +// ---------------------------------------------- +// mine functions +// ---------------------------------------------- + + +function MineDeployed::onThrow(%this, %mine, %thrower) +{ + %mine.armed = false; + %mine.damaged = 0; + %mine.detonated = false; + %mine.depCount = 0; + %mine.theClient = %thrower.client; + schedule(1500, %mine, "deployMineCheck", %mine, %thrower); +} + +function deployMineCheck(%mineObj, %player) +{ + if(%mineObj.depCount > %mineObj.getDatablock().maxDepCount) + explodeMine(%mineObj, true); + + // wait until the mine comes to rest + if(%mineObj.getVelocity() $= "0 0 0") + { + // 2-second delay before mine is armed -- let deploy thread play out etc. + schedule(%mineObj.getDatablock().armTime, %mineObj, "armDeployedMine", %mineObj); + + + // check for other deployed mines in the vicinity + InitContainerRadiusSearch(%mineObj.getWorldBoxCenter(), %mineObj.getDatablock().spacing, $TypeMasks::ItemObjectType); + while((%itemObj = containerSearchNext()) != 0) + { + if(%itemObj == %mineObj) + continue; + %ioType = %itemObj.getDatablock().getName(); + if(%ioType $= "MineDeployed") + schedule(100, %mineObj, "explodeMine", %mineObj, true); + else + continue; + } + // play "deploy" thread + %mineObj.playThread(0, "deploy"); + serverPlay3D(MineDeploySound, %mineObj.getTransform()); + %mineTeam = %mineObj.sourceObject.team; + $TeamDeployedCount[%mineTeam, MineDeployed]++; + if($TeamDeployedCount[%mineTeam, MineDeployed] > $TeamDeployableMax[MineDeployed]) + { + messageClient( %player.client, '', 'Maximum allowable mines deployed.' ); + schedule(100, %mineObj, "explodeMine", %mineObj, true); + } + else + { + //start the thread that keeps checking for objects near the mine... + mineCheckVicinity(%mineObj); + + //let the AI know *after* it's come to rest... + AIDeployMine(%mineObj); + + //let the game know there's a deployed mine + Game.notifyMineDeployed(%mineObj); + } + } + else + { + //schedule this deploy check again a little later + %mineObj.depCount++; + schedule(500, %mineObj, "deployMineCheck", %mineObj, %player); + } +} + +function armDeployedMine(%mine) +{ + %mine.armed = true; +} + +function mineCheckVicinity(%mine) +{ + // this function is called after the mine has been deployed. It will check the + // immediate area around the mine (2.5 meters at present) for players or vehicles + // passing by, and detonate if any are found. This is to extend the range of the + // mine so players don't have to collide with them to set them off. + + // don't bother to check if mine isn't armed yet + if(%mine.armed) + // don't keep checking if mine is already detonating + if(!%mine.boom) + { + // the actual check for objects in the area + %mineLoc = %mine.getWorldBoxCenter(); + %masks = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType; + %detonateRange = %mine.getDatablock().proximity; + + InitContainerRadiusSearch(%mineLoc, %detonateRange, %masks); + while((%tgt = containerSearchNext()) != 0) + { + %mine.detonated = true; + schedule(50, %mine, "explodeMine", %mine, false); + break; + } + } + // if nothing set off the mine, schedule another check + if(!%mine.detonated) + schedule(300, %mine, "mineCheckVicinity", %mine); +} + +function MineDeployed::onCollision(%data, %obj, %col) +{ + // don't detonate if mine isn't armed yet + if(!%obj.armed) + return; + + // don't detonate if mine is already detonating + if(%obj.boom) + return; + + //check to see what it is that collided with the mine + %struck = %col.getClassName(); + if(%struck $= "Player" || %struck $= "WheeledVehicle" || %struck $= "FlyingVehicle") + { + //error("Mine detonated due to collision with #"@%col@" ("@%struck@"); armed = "@%obj.armed); + explodeMine(%obj, false); + } +} + +function explodeMine(%mo, %noDamage) +{ + %mo.noDamage = %noDamage; + %mo.setDamageState(Destroyed); +} + +function MineDeployed::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + if(!%targetObject.armed) + return; + + if(%targetObject.boom) + return; + + %targetObject.damaged += %amount; + + if(%targetObject.damaged >= %data.maxDamage) + { + %targetObject.setDamageState(Destroyed); + } +} + +function MineDeployed::onDestroyed(%data, %obj, %lastState) +{ + %obj.boom = true; + %mineTeam = %obj.team; + $TeamDeployedCount[%mineTeam, MineDeployed]--; + // %noDamage is a boolean flag -- don't want to set off all other mines in + // vicinity if there's a "mine overload", so apply no damage/impulse if true + if(!%obj.noDamage) + RadiusExplosion(%obj, %obj.getPosition(), %data.damageRadius, %data.indirectDamage, + %data.kickBackStrength, %obj.sourceObject, %data.radiusDamageType); + + %obj.schedule(600, "delete"); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons.cs b/public/base/@vl2/scripts.vl2/scripts/weapons.cs new file mode 100644 index 00000000..a6ebe0c4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons.cs @@ -0,0 +1,342 @@ +$HandInvThrowTimeout = 0.8 * 1000; // 1/2 second between throwing grenades or mines + +// z0dd - ZOD, 9/13/02. Added global array for serverside weapon reticles and "visible" +$WeaponsHudData[0, bitmapName] = "gui/hud_blaster"; +$WeaponsHudData[0, itemDataName] = "Blaster"; +//$WeaponsHudData[0, ammoDataName] = ""; +$WeaponsHudData[0, reticle] = "gui/ret_blaster"; +$WeaponsHudData[0, visible] = "true"; +$WeaponsHudData[1, bitmapName] = "gui/hud_plasma"; +$WeaponsHudData[1, itemDataName] = "Plasma"; +$WeaponsHudData[1, ammoDataName] = "PlasmaAmmo"; +$WeaponsHudData[1, reticle] = "gui/ret_plasma"; +$WeaponsHudData[1, visible] = "true"; +$WeaponsHudData[2, bitmapName] = "gui/hud_chaingun"; +$WeaponsHudData[2, itemDataName] = "Chaingun"; +$WeaponsHudData[2, ammoDataName] = "ChaingunAmmo"; +$WeaponsHudData[2, reticle] = "gui/ret_chaingun"; +$WeaponsHudData[2, visible] = "true"; +$WeaponsHudData[3, bitmapName] = "gui/hud_disc"; +$WeaponsHudData[3, itemDataName] = "Disc"; +$WeaponsHudData[3, ammoDataName] = "DiscAmmo"; +$WeaponsHudData[3, reticle] = "gui/ret_disc"; +$WeaponsHudData[3, visible] = "true"; +$WeaponsHudData[4, bitmapName] = "gui/hud_grenlaunch"; +$WeaponsHudData[4, itemDataName] = "GrenadeLauncher"; +$WeaponsHudData[4, ammoDataName] = "GrenadeLauncherAmmo"; +$WeaponsHudData[4, reticle] = "gui/ret_grenade"; +$WeaponsHudData[4, visible] = "true"; +$WeaponsHudData[5, bitmapName] = "gui/hud_sniper"; +$WeaponsHudData[5, itemDataName] = "SniperRifle"; +//$WeaponsHudData[5, ammoDataName] = ""; +$WeaponsHudData[5, reticle] = "gui/hud_ret_sniper"; +$WeaponsHudData[5, visible] = "false"; +$WeaponsHudData[6, bitmapName] = "gui/hud_elfgun"; +$WeaponsHudData[6, itemDataName] = "ELFGun"; +//$WeaponsHudData[6, ammoDataName] = ""; +$WeaponsHudData[6, reticle] = "gui/ret_elf"; +$WeaponsHudData[6, visible] = "true"; +$WeaponsHudData[7, bitmapName] = "gui/hud_mortor"; +$WeaponsHudData[7, itemDataName] = "Mortar"; +$WeaponsHudData[7, ammoDataName] = "MortarAmmo"; +$WeaponsHudData[7, reticle] = "gui/ret_mortor"; +$WeaponsHudData[7, visible] = "true"; +$WeaponsHudData[8, bitmapName] = "gui/hud_missiles"; +$WeaponsHudData[8, itemDataName] = "MissileLauncher"; +$WeaponsHudData[8, ammoDataName] = "MissileLauncherAmmo"; +$WeaponsHudData[8, reticle] = "gui/ret_missile"; +$WeaponsHudData[8, visible] = "true"; +// WARNING!!! If you change the weapon index of the targeting laser, +// you must change the HudWeaponInvBase::addWeapon function to test +// for the new value! +$WeaponsHudData[9, bitmapName] = "gui/hud_targetlaser"; +$WeaponsHudData[9, itemDataName] = "TargetingLaser"; +//$WeaponsHudData[9, ammoDataName] = ""; +$WeaponsHudData[9, reticle] = "gui/hud_ret_targlaser"; +$WeaponsHudData[9, visible] = "false"; +$WeaponsHudData[10, bitmapName] = "gui/hud_shocklance"; +$WeaponsHudData[10, itemDataName] = "ShockLance"; +//$WeaponsHudData[10, ammoDataName] = ""; +$WeaponsHudData[10, reticle] = "gui/hud_ret_shocklance"; +$WeaponsHudData[10, visible] = "false"; + +// TR2 weapons +$WeaponsHudData[11, bitmapName] = "gui/hud_disc"; +$WeaponsHudData[11, itemDataName] = "TR2Disc"; +$WeaponsHudData[11, ammoDataName] = "TR2DiscAmmo"; +$WeaponsHudData[11, reticle] = "gui/ret_disc"; +$WeaponsHudData[11, visible] = "true"; + +$WeaponsHudData[12, bitmapName] = "gui/hud_grenlaunch"; +$WeaponsHudData[12, itemDataName] = "TR2GrenadeLauncher"; +$WeaponsHudData[12, ammoDataName] = "TR2GrenadeLauncherAmmo"; +$WeaponsHudData[12, reticle] = "gui/ret_grenade"; +$WeaponsHudData[12, visible] = "true"; + +$WeaponsHudData[13, bitmapName] = "gui/hud_chaingun"; +$WeaponsHudData[13, itemDataName] = "TR2Chaingun"; +$WeaponsHudData[13, ammoDataName] = "TR2ChaingunAmmo"; +$WeaponsHudData[13, reticle] = "gui/ret_chaingun"; +$WeaponsHudData[13, visible] = "true"; + +$WeaponsHudData[14, bitmapName] = "gui/hud_targetlaser"; +$WeaponsHudData[14, itemDataName] = "TR2GoldTargetingLaser"; +$WeaponsHudData[14, reticle] = "gui/hud_ret_targlaser"; +$WeaponsHudData[14, visible] = "false"; + +$WeaponsHudData[15, bitmapName] = "gui/hud_targetlaser"; +$WeaponsHudData[15, itemDataName] = "TR2SilverTargetingLaser"; +$WeaponsHudData[15, reticle] = "gui/hud_ret_targlaser"; +$WeaponsHudData[15, visible] = "false"; + +$WeaponsHudData[16, bitmapName] = "gui/hud_shocklance"; +$WeaponsHudData[16, itemDataName] = "TR2ShockLance"; +$WeaponsHudData[16, reticle] = "gui/hud_ret_shocklance"; +$WeaponsHudData[16, visible] = "false"; + +$WeaponsHudData[17, bitmapName] = "gui/hud_mortor"; +$WeaponsHudData[17, itemDataName] = "TR2Mortar"; +$WeaponsHudData[17, ammoDataName] = "TR2MortarAmmo"; +$WeaponsHudData[17, reticle] = "gui/ret_mortor"; +$WeaponsHudData[17, visible] = "true"; + +$WeaponsHudCount = 18; + +$AmmoIncrement[TR2DiscAmmo] = 5; +$AmmoIncrement[TR2GrenadeLauncherAmmo] = 5; +$AmmoIncrement[TR2ChaingunAmmo] = 25; +$AmmoIncrement[TR2MortarAmmo] = 5; +$AmmoIncrement[TR2Grenade] = 5; + +$AmmoIncrement[PlasmaAmmo] = 10; +$AmmoIncrement[ChaingunAmmo] = 25; +$AmmoIncrement[DiscAmmo] = 5; +$AmmoIncrement[GrenadeLauncherAmmo] = 5; +$AmmoIncrement[MortarAmmo] = 5; +$AmmoIncrement[MissileLauncherAmmo] = 2; +$AmmoIncrement[Mine] = 3; +$AmmoIncrement[Grenade] = 5; +$AmmoIncrement[FlashGrenade] = 5; +$AmmoIncrement[FlareGrenade] = 5; +$AmmoIncrement[ConcussionGrenade] = 5; +$AmmoIncrement[RepairKit] = 1; + +// ------------------------------------------------------------------- +// z0dd - ZOD, 4/17/02. Addition. Ammo pickup fix, these were missing. +$AmmoIncrement[CameraGrenade] = 2; +$AmmoIncrement[Beacon] = 1; + +//---------------------------------------------------------------------------- +// Weapons scripts +//-------------------------------------- + +// --- Mounting weapons +exec("scripts/weapons/blaster.cs"); +exec("scripts/weapons/plasma.cs"); +exec("scripts/weapons/chaingun.cs"); +exec("scripts/weapons/disc.cs"); +exec("scripts/weapons/grenadeLauncher.cs"); +exec("scripts/weapons/sniperRifle.cs"); +exec("scripts/weapons/ELFGun.cs"); +exec("scripts/weapons/mortar.cs"); +exec("scripts/weapons/missileLauncher.cs"); +exec("scripts/weapons/targetingLaser.cs"); +exec("scripts/weapons/shockLance.cs"); + +// --- Throwing weapons +exec("scripts/weapons/mine.cs"); +exec("scripts/weapons/grenade.cs"); +exec("scripts/weapons/flashGrenade.cs"); +exec("scripts/weapons/flareGrenade.cs"); +exec("scripts/weapons/concussionGrenade.cs"); +exec("scripts/weapons/cameraGrenade.cs"); + +//---------------------------------------------------------------------------- + +function Weapon::onUse(%data, %obj) +{ + if(Game.weaponOnUse(%data, %obj)) + if (%obj.getDataBlock().className $= Armor) + %obj.mountImage(%data.image, $WeaponSlot); +} + +function WeaponImage::onMount(%this,%obj,%slot) +{ + //MES -- is call below useful at all? + //Parent::onMount(%this, %obj, %slot); + if(%obj.getClassName() !$= "Player") + return; + + //messageClient(%obj.client, 'MsgWeaponMount', "", %this, %obj, %slot); + // Looks arm position + if (%this.armthread $= "") + { + %obj.setArmThread(look); + } + else + { + %obj.setArmThread(%this.armThread); + } + + // Initial ammo state + if(%obj.getMountedImage($WeaponSlot).ammo !$= "") + if (%obj.getInventory(%this.ammo)) + %obj.setImageAmmo(%slot,true); + + %obj.client.setWeaponsHudActive(%this.item); + if(%obj.getMountedImage($WeaponSlot).ammo !$= "") + %obj.client.setAmmoHudCount(%obj.getInventory(%this.ammo)); + else + %obj.client.setAmmoHudCount(-1); +} + +function WeaponImage::onUnmount(%this,%obj,%slot) +{ + %obj.client.setWeaponsHudActive(%this.item, 1); + %obj.client.setAmmoHudCount(-1); + commandToClient(%obj.client,'removeReticle'); + // try to avoid running around with sniper/missile arm thread and no weapon + %obj.setArmThread(look); + Parent::onUnmount(%this, %obj, %slot); +} + +function Ammo::onInventory(%this,%obj,%amount) +{ + // Loop through and make sure the images using this ammo have + // their ammo states set. + for (%i = 0; %i < 8; %i++) { + %image = %obj.getMountedImage(%i); + if (%image > 0) + { + if (isObject(%image.ammo) && %image.ammo.getId() == %this.getId()) + %obj.setImageAmmo(%i,%amount != 0); + } + } + ItemData::onInventory(%this,%obj,%amount); + // Uh, don't update the hud ammo counters if this is a corpse...that's bad. + if ( %obj.getClassname() $= "Player" && %obj.getState() !$= "Dead" ) + { + %obj.client.setWeaponsHudAmmo(%this.getName(), %amount); + if(%obj.getMountedImage($WeaponSlot).ammo $= %this.getName()) + %obj.client.setAmmoHudCount(%amount); + } +} + +function Weapon::onInventory(%this,%obj,%amount) +{ + if(Game.weaponOnInventory(%this, %obj, %amount)) + { + // Do not update the hud if this object is a corpse: + if ( %obj.getState() !$= "Dead" ) + %obj.client.setWeaponsHudItem(%this.getName(), 0, 1); + ItemData::onInventory(%this,%obj,%amount); + // if a player threw a weapon (which means that player isn't currently + // holding a weapon), set armthread to "no weapon" + // MES - taken out to avoid v-menu animation problems (bug #4749) + //if((%amount == 0) && (%obj.getClassName() $= "Player")) + // %obj.setArmThread(looknw); + } +} + +function Weapon::onPickup(%this, %obj, %shape, %amount) +{ + // If player doesn't have a weapon in hand, use this one... + if ( %shape.getClassName() $= "Player" + && %shape.getMountedImage( $WeaponSlot ) == 0 ) + %shape.use( %this.getName() ); +} + +function HandInventory::onInventory(%this,%obj,%amount) +{ + // prevent console errors when throwing ammo pack + if(%obj.getClassName() $= "Player") + %obj.client.setInventoryHudAmount(%this.getName(), %amount); + ItemData::onInventory(%this,%obj,%amount); +} + +function HandInventory::onUse(%data, %obj) +{ + // %obj = player %data = datablock of what's being thrown + if(Game.handInvOnUse(%data, %obj)) + { + //AI HOOK - If you change the %throwStren, tell Tinman!!! + //Or edit aiInventory.cs and search for: use(%grenadeType); + + %tossTimeout = getSimTime() - %obj.lastThrowTime[%data]; + if(%tossTimeout < $HandInvThrowTimeout) + return; + + %throwStren = %obj.throwStrength; + + %obj.decInventory(%data, 1); + %thrownItem = new Item() + { + dataBlock = %data.thrownItem; + sourceObject = %obj; + }; + MissionCleanup.add(%thrownItem); + + // throw it + %eye = %obj.getEyeVector(); + %vec = vectorScale(%eye, (%throwStren * 20.0)); + + // add a vertical component to give it a better arc + %dot = vectorDot("0 0 1", %eye); + if(%dot < 0) + %dot = -%dot; + %vec = vectorAdd(%vec, vectorScale("0 0 4", 1 - %dot)); + + // add player's velocity + %vec = vectorAdd(%vec, vectorScale(%obj.getVelocity(), 0.4)); + %pos = getBoxCenter(%obj.getWorldBox()); + + + %thrownItem.sourceObject = %obj; + %thrownItem.team = %obj.team; + %thrownItem.setTransform(%pos); + + %thrownItem.applyImpulse(%pos, %vec); + %thrownItem.setCollisionTimeout(%obj); + serverPlay3D(GrenadeThrowSound, %pos); + %obj.lastThrowTime[%data] = getSimTime(); + + %thrownItem.getDataBlock().onThrow(%thrownItem, %obj); + %obj.throwStrength = 0; + } +} + +function HandInventoryImage::onMount(%this,%obj,%slot) +{ + messageClient(%col.client, 'MsgHandInventoryMount', "", %this, %obj, %slot); + // Looks arm position + if (%this.armthread $= "") + %obj.setArmThread(look); + else + %obj.setArmThread(%this.armThread); + + // Initial ammo state + if (%obj.getInventory(%this.ammo)) + %obj.setImageAmmo(%slot,true); + + %obj.client.setWeaponsHudActive(%this.item); +} + +function Weapon::incCatagory(%data, %obj) +{ + // Don't count the targeting laser as a weapon slot: + if ( %data.getName() !$= "TargetingLaser" ) + %obj.weaponCount++; +} + +function Weapon::decCatagory(%data, %obj) +{ + // Don't count the targeting laser as a weapon slot: + if ( %data.getName() !$= "TargetingLaser" ) + %obj.weaponCount--; +} + +function SimObject::damageObject(%data) +{ + //function was added to reduce console err msg spam +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/ELFGun.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/ELFGun.cs new file mode 100644 index 00000000..c43da3e1 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/ELFGun.cs @@ -0,0 +1,204 @@ +//-------------------------------------------------------------------------- +// ELF Gun +//-------------------------------------------------------------------------- +datablock EffectProfile(ELFGunSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ELFGunFireEffect) +{ + effectname = "weapons/ELF_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ELFGunFireWetEffect) +{ + effectname = "weapons/ELF_underwater"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(ELFGunSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = ELFGunSwitchEffect; +}; + +datablock AudioProfile(ELFGunFireSound) +{ + filename = "fx/weapons/ELF_fire.wav"; + description = CloseLooping3d; + preload = true; + effect = ELFGunFireEffect; +}; + +datablock AudioProfile(ElfFireWetSound) +{ + filename = "fx/weapons/ELF_underwater.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(ELFHitTargetSound) +{ + filename = "fx/weapons/ELF_hit.wav"; + description = CloseLooping3d; + preload = true; + effect = ELFGunFireEffect; +}; + +//-------------------------------------- +// Sparks +//-------------------------------------- +datablock ParticleData(ELFSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 200; + lifetimeVarianceMS = 0; + textureName = "special/blueSpark"; + colors[0] = "0.8 0.8 1.0 1.0"; + colors[1] = "0.8 0.8 1.0 1.0"; + colors[2] = "0.8 0.8 1.0 0.0"; + sizes[0] = 0.35; + sizes[1] = 0.15; + sizes[2] = 0.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(ELFSparksEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 2; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; +// lifetimeMS = 100; + particles = "ELFSparks"; +}; + + +//-------------------------------------- +// Projectile +//-------------------------------------- +datablock ELFProjectileData(BasicELF) +{ + beamRange = 30; + numControlPoints = 8; + restorativeFactor = 3.75; + dragFactor = 4.5; + endFactor = 2.25; + randForceFactor = 2; + randForceTime = 0.125; + drainEnergy = 1.0; + drainHealth = 0.0; + directDamageType = $DamageType::ELF; + mainBeamWidth = 0.1; // width of blue wave beam + mainBeamSpeed = 9.0; // speed that the beam travels forward + mainBeamRepeat = 0.25; // number of times the texture repeats + lightningWidth = 0.1; + lightningDist = 0.15; // distance of lightning from main beam + + fireSound = ElfGunFireSound; + wetFireSound = ElfFireWetSound; + + textures[0] = "special/ELFBeam"; + textures[1] = "special/ELFLightning"; + textures[2] = "special/BlueImpact"; + + emitter = ELFSparksEmitter; +}; + +//-------------------------------------- +// Rifle and item... +//-------------------------------------- +datablock ItemData(ELFGun) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_elf.dts"; + image = ELFGunImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "an ELF gun"; + + computeCRC = true; + emap = true; +}; + +datablock ShapeBaseImageData(ELFGunImage) +{ + className = WeaponImage; + + shapeFile = "weapon_elf.dts"; + item = ELFGun; + offset = "0 0 0"; + + projectile = BasicELF; + projectileType = ELFProjectile; + deleteLastProjectile = true; + emap = true; + + + usesEnergy = true; + minEnergy = 3; + + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = ELFGunSwitchSound; + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateTransitionOnAmmo[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "CheckWet"; + + stateName[3] = "Fire"; + stateEnergyDrain[3] = 5; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateTransitionOnTriggerUp[3] = "Deconstruction"; + stateTransitionOnNoAmmo[3] = "Deconstruction"; + //stateSound[3] = ElfFireWetSound; + + stateName[4] = "NoAmmo"; + stateTransitionOnAmmo[4] = "Ready"; + + stateName[5] = "Deconstruction"; + stateScript[5] = "deconstruct"; + stateTransitionOnTimeout[5] = "Ready"; + stateTransitionOnNoAmmo[6] = "NoAmmo"; + + stateName[6] = "DryFire"; + stateSound[6] = ElfFireWetSound; + stateTimeoutValue[6] = 0.5; + stateTransitionOnTimeout[6] = "Ready"; + + stateName[7] = "CheckWet"; + stateTransitionOnWet[7] = "DryFire"; + stateTransitionOnNotWet[7] = "Fire"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/blaster.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/blaster.cs new file mode 100644 index 00000000..ba4a2044 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/blaster.cs @@ -0,0 +1,337 @@ +//-------------------------------------- +// Default blaster +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(BlasterSwitchEffect) +{ + effectname = "weapons/blaster_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(BlasterFireEffect) +{ + effectname = "weapons/blaster_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(BlasterSwitchSound) +{ + filename = "fx/weapons/blaster_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = BlasterSwitchEffect; +}; + +datablock AudioProfile(BlasterFireSound) +{ + filename = "fx/weapons/blaster_fire.WAV"; + description = AudioDefault3d; + preload = true; + effect = BlasterFireEffect; +}; + +datablock AudioProfile(BlasterProjectileSound) +{ + filename = "fx/weapons/blaster_projectile.WAV"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(blasterExpSound) +{ + filename = "fx/weapons/blaster_impact.WAV"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(BlasterDryFireSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- + +datablock ParticleData( BlasterSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( BlasterSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "BlasterSplashParticle"; +}; + +datablock SplashData(BlasterSplash) +{ + numSegments = 15; + ejectionFreq = 15; + ejectionAngle = 40; + ringLifetime = 0.35; + lifetimeMS = 300; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = BlasterSplashEmitter; + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock ParticleData(BlasterExplosionParticle1) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent4"; + colors[0] = "1.0 0.8 0.2 1.0"; + colors[1] = "1.0 0.4 0.2 1.0"; + colors[2] = "1.0 0.0 0.0 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(BlasterExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.5; + ejectionOffset = 0.0; + thetaMin = 70; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "BlasterExplosionParticle1"; +}; + +datablock ParticleData(BlasterExplosionParticle2) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/blasterHit"; + colors[0] = "1.0 0.2 0.2 1.0"; + colors[1] = "1.0 0.2 0.2 0.5"; + colors[2] = "1.0 0.0 0.0 0.0"; + sizes[0] = 0.3; + sizes[1] = 0.90; + sizes[2] = 1.50; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(BlasterExplosionEmitter2) +{ + ejectionPeriodMS = 30; + periodVarianceMS = 0; + ejectionVelocity = 1; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = false; + lifetimeMS = 200; + particles = "BlasterExplosionParticle2"; +}; + +datablock ExplosionData(BlasterExplosion) +{ + soundProfile = blasterExpSound; + emitter[0] = BlasterExplosionEmitter; + emitter[1] = BlasterExplosionEmitter2; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- + +datablock EnergyProjectileData(EnergyBolt) +{ + emitterDelay = -1; + directDamage = 0.15; + directDamageType = $DamageType::Blaster; + kickBackStrength = 0.0; + bubbleEmitTime = 1.0; + + sound = BlasterProjectileSound; + velInheritFactor = 0.5; + + explosion = "BlasterExplosion"; + splash = BlasterSplash; + + + grenadeElasticity = 0.998; + grenadeFriction = 0.0; + armingDelayMS = 500; + + muzzleVelocity = 90.0; + + drag = 0.05; + + gravityMod = 0.0; + + dryVelocity = 200.0; + wetVelocity = 150.0; + + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + hasLight = true; + lightRadius = 3.0; + lightColor = "0.5 0.175 0.175"; + + scale = "0.25 20.0 1.0"; + crossViewAng = 0.99; + crossSize = 0.55; + + lifetimeMS = 3000; + blurLifetime = 0.2; + blurWidth = 0.25; + blurColor = "0.4 0.0 0.0 1.0"; + + texture[0] = "special/blasterBolt"; + texture[1] = "special/blasterBoltCross"; +}; + + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ShapeBaseImageData(BlasterImage) +{ + className = WeaponImage; + shapeFile = "weapon_energy.dts"; + item = Blaster; + projectile = EnergyBolt; + projectileType = EnergyProjectile; + + usesEnergy = true; + fireEnergy = 4; + minEnergy = 4; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = BlasterSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.3; + stateFire[3] = true; + stateRecoil[3] = NoRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateSound[3] = BlasterFireSound; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateTimeoutValue[6] = 0.3; + stateSound[6] = BlasterDryFireSound; + stateTransitionOnTimeout[6] = "Ready"; +}; + +datablock ItemData(Blaster) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_energy.dts"; + image = BlasterImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a blaster"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/cameraGrenade.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/cameraGrenade.cs new file mode 100644 index 00000000..de19f3e8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/cameraGrenade.cs @@ -0,0 +1,193 @@ +// ------------------------------------------------------------------ +// Deployable camera script +// +// Cameras will occupy grenade slots vice backpack slots. The player +// will "throw" them like grenades, and they should stick to (and +// deploy on) interior surfaces and terrain. +// ------------------------------------------------------------------ + +$TeamDeployableMax[DeployedCamera] = 15; + +// ------------------------------------------ +// force-feedback effect datablocks +// ------------------------------------------ + +datablock EffectProfile(CameraGrenadeActivateEffect) +{ + effectname = "weapons/grenade_camera_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(CameraGrenadeAttachEffect) +{ + effectname = "weapons/grenade_camera_activate"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(CameraGrenadeExplosionEffect) +{ + effectname = "explosions/explosion.xpl10"; + minDistance = 10; + maxDistance = 30; +}; + +// ------------------------------------------ +// sound datablocks +// ------------------------------------------ + +datablock AudioProfile(CameraGrenadeActivateSound) +{ + filename = "fx/weapons/grenade_camera_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = CameraGrenadeActivateEffect; +}; + +datablock AudioProfile(CameraGrenadeAttachSound) +{ + filename = "fx/weapons/grenade_camera_attach.wav"; + description = AudioClosest3d; + preload = true; + effect = CameraGrenadeAttachEffect; +}; + +datablock AudioProfile(CameraGrenadeExplosionSound) +{ + filename = "fx/explosions/explosion.xpl10.wav"; + description = AudioExplosion3d; + preload = true; + effect = CameraGrenadeExplosionEffect; +}; + +//-------------------------------------------------------------------------- +// Camera explosion particle effects +//-------------------------------------------------------------------------- +datablock ExplosionData(CameraGrenadeExplosion) +{ + soundProfile = CameraGrenadeExplosionSound; + faceViewer = true; + + explosionShape = "effect_plasma_explosion.dts"; + playSpeed = 1.0; + sizes[0] = "0.2 0.2 0.2"; + sizes[1] = "0.3 0.3 0.3"; +}; + + +// ------------------------------------------ +// other datablocks +// ------------------------------------------ + +datablock ItemData(CameraGrenadeThrown) +{ + shapeFile = "camera.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + maxDamage = 0.8; + sticky = true; + emap = true; + +}; + +datablock ItemData(CameraGrenade) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "camera.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + thrownItem = CameraGrenadeThrown; + pickUpName = "a deployable camera"; + + computeCRC = true; + emap = true; +}; + +datablock SensorData(CameraSensorObject) +{ + detects = true; + detectsUsingLOS = true; + detectionPings = false; + detectsPassiveJammed = true; + detectsActiveJammed = false; + detectRadius = 40; + detectsFOVOnly = true; + useObjectFOV = true; +}; + +datablock TurretData(TurretDeployedCamera) : TurretDamageProfile +{ + className = CameraTurret; + shapeFile = "camera.dts"; + + mass = 0.7; + maxDamage = 0.2; + destroyedLevel = 0.2; + disabledLevel = 0.2; + repairRate = 0; + explosion = CameraGrenadeExplosion; + + thetaMin = 0; + thetaMax = 180; + //thetaNull = 90; + + deployedObject = true; + + isShielded = false; + energyPerDamagePoint = 40; + maxEnergy = 30; + renderWhenDestroyed = false; + rechargeRate = 0.05; + + cameraDefaultFov = 150; + cameraMinFov = 150; + cameraMaxFov = 150; + + neverUpdateControl = true; + + canControl = true; + canObserve = true; + observeThroughObject = true; + cmdCategory = "DSupport"; + cmdIcon = CMDCameraIcon; + cmdMiniIconName = "commander/MiniIcons/com_camera_grey"; + targetNameTag = 'Deployed'; + targetTypeTag = 'Camera'; + sensorData = CameraSensorObject; + sensorRadius = CameraSensorObject.detectRadius; + + firstPersonOnly = true; + observeParameters = "0.5 4.5 4.5"; + + debrisShapeName = "debris_generic_small.dts"; + debris = SmallShapeDebris; +}; + +datablock TurretImageData(DeployableCameraBarrel) +{ + shapeFile = "turret_muzzlepoint.dts"; + + usesEnergy = false; + + // Turret parameters + activationMS = 100; + deactivateDelayMS = 100; + thinkTimeMS = 100; + degPerSecTheta = 180; + degPerSecPhi = 360; +}; + +//------------------------------------------------------------------------------ +// Functions: +//------------------------------------------------------------------------------ +function CameraGrenadeThrown::onCollision( %data, %obj, %col ) +{ + // Do nothing... +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/chaingun.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/chaingun.cs new file mode 100644 index 00000000..bb704d08 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/chaingun.cs @@ -0,0 +1,675 @@ +//-------------------------------------- +// Chaingun +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(ChaingunSwitchEffect) +{ + effectname = "weapons/chaingun_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ChaingunFireEffect) +{ + effectname = "weapons/chaingun_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ChaingunSpinUpEffect) +{ + effectname = "weapons/chaingun_spinup"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ChaingunSpinDownEffect) +{ + effectname = "weapons/chaingun_spindown"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ChaingunDryFire) +{ + effectname = "weapons/chaingun_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(ChaingunSwitchSound) +{ + filename = "fx/weapons/chaingun_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = ChaingunSwitchEffect; +}; + +datablock AudioProfile(ChaingunFireSound) +{ + filename = "fx/weapons/chaingun_fire.wav"; + description = AudioDefaultLooping3d; + preload = true; + effect = ChaingunFireEffect; +}; + +datablock AudioProfile(ChaingunProjectile) +{ + filename = "fx/weapons/chaingun_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(ChaingunImpact) +{ + filename = "fx/weapons/chaingun_impact.WAV"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(ChaingunSpinDownSound) +{ + filename = "fx/weapons/chaingun_spindown.wav"; + description = AudioClosest3d; + preload = true; + effect = ChaingunSpinDownEffect; +}; + +datablock AudioProfile(ChaingunSpinUpSound) +{ + filename = "fx/weapons/chaingun_spinup.wav"; + description = AudioClosest3d; + preload = true; + effect = ChaingunSpinUpEffect; +}; + +datablock AudioProfile(ChaingunDryFireSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = ChaingunDryFire; +}; + +datablock AudioProfile(ShrikeBlasterProjectileSound) +{ + filename = "fx/vehicles/shrike_blaster_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- + +datablock ParticleData( ChaingunSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( ChaingunSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "ChaingunSplashParticle"; +}; + + +datablock SplashData(ChaingunSplash) +{ + numSegments = 10; + ejectionFreq = 10; + ejectionAngle = 20; + ringLifetime = 0.4; + lifetimeMS = 400; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = ChaingunSplashEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Particle Effects +//-------------------------------------- +datablock ParticleData(ChaingunFireParticle) +{ + dragCoefficient = 2.75; + gravityCoefficient = 0.1; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 550; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 1.0"; + colors[1] = "0.46 0.36 0.26 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.20; +}; + +datablock ParticleEmitterData(ChaingunFireEmitter) +{ + ejectionPeriodMS = 6; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 12; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvance = true; + particles = "ChaingunFireParticle"; +}; + +//-------------------------------------------------------------------------- +// Explosions +//-------------------------------------- +datablock ParticleData(ChaingunExplosionParticle1) +{ + dragCoefficient = 0.65; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 0.0625; + sizes[1] = 0.2; +}; + +datablock ParticleEmitterData(ChaingunExplosionEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 0.75; + velocityVariance = 0.25; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "ChaingunExplosionParticle1"; +}; + + + + +datablock ParticleData(ChaingunImpactSmokeParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.2; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + textureName = "particleTest"; + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.7 0.7 0.7 0.4"; + colors[2] = "0.7 0.7 0.7 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(ChaingunImpactSmoke) +{ + ejectionPeriodMS = 8; + periodVarianceMS = 1; + ejectionVelocity = 1.0; + velocityVariance = 0.5; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 35; + overrideAdvances = false; + particles = "ChaingunImpactSmokeParticle"; + lifetimeMS = 50; +}; + + +datablock ParticleData(ChaingunSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/spark00"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 0.6; + sizes[1] = 0.2; + sizes[2] = 0.05; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(ChaingunSparkEmitter) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "ChaingunSparks"; +}; + + +datablock ExplosionData(ChaingunExplosion) +{ + soundProfile = ChaingunImpact; + + emitter[0] = ChaingunImpactSmoke; + emitter[1] = ChaingunSparkEmitter; + + faceViewer = false; +}; + + +datablock ShockwaveData(ScoutChaingunHit) +{ + width = 0.5; + numSegments = 13; + numVertSegments = 1; + velocity = 0.5; + acceleration = 2.0; + lifetimeMS = 900; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + + texture[0] = "special/shockwave5"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.3 1.0 0.5"; + colors[2] = "0.0 0.0 1.0 0.0"; +}; + +datablock ParticleData(ScoutChaingunExplosionParticle1) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent4"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.3 1.0 1.0"; + colors[2] = "0.0 0.0 1.0 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.5; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(ScoutChaingunExplosionEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.5; + ejectionOffset = 0.0; + thetaMin = 80; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "ScoutChaingunExplosionParticle1"; +}; + +datablock ExplosionData(ScoutChaingunExplosion) +{ + soundProfile = blasterExpSound; + shockwave = ScoutChaingunHit; + emitter[0] = ScoutChaingunExplosionEmitter; +}; + + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- + + +datablock DebrisData( ShellDebris ) +{ + shapeName = "weapon_chaingun_ammocasing.dts"; + + lifetime = 3.0; + + minSpinSpeed = 300.0; + maxSpinSpeed = 400.0; + + elasticity = 0.5; + friction = 0.2; + + numBounces = 3; + + fade = true; + staticOnMaxBounce = true; + snapOnMaxBounce = true; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock DecalData(ChaingunDecal1) +{ + sizeX = 0.05; + sizeY = 0.05; + textureName = "special/bullethole1"; +}; +datablock DecalData(ChaingunDecal2) : ChaingunDecal1 +{ + textureName = "special/bullethole2"; +}; + +datablock DecalData(ChaingunDecal3) : ChaingunDecal1 +{ + textureName = "special/bullethole3"; +}; +datablock DecalData(ChaingunDecal4) : ChaingunDecal1 +{ + textureName = "special/bullethole4"; +}; +datablock DecalData(ChaingunDecal5) : ChaingunDecal1 +{ + textureName = "special/bullethole5"; +}; +datablock DecalData(ChaingunDecal6) : ChaingunDecal1 +{ + textureName = "special/bullethole6"; +}; + + +datablock TracerProjectileData(ChaingunBullet) +{ + doDynamicClientHits = true; + + directDamage = 0.0825; + directDamageType = $DamageType::Bullet; + explosion = "ChaingunExplosion"; + splash = ChaingunSplash; + + kickBackStrength = 0.0; + sound = ChaingunProjectile; + + dryVelocity = 425.0; + wetVelocity = 100.0; + velInheritFactor = 1.0; + fizzleTimeMS = 3000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + tracerLength = 15.0; + tracerAlpha = false; + tracerMinPixels = 6; + tracerColor = 211.0/255.0 @ " " @ 215.0/255.0 @ " " @ 120.0/255.0 @ " 0.75"; + tracerTex[0] = "special/tracer00"; + tracerTex[1] = "special/tracercross"; + tracerWidth = 0.10; + crossSize = 0.20; + crossViewAng = 0.990; + renderCross = true; + + decalData[0] = ChaingunDecal1; + decalData[1] = ChaingunDecal2; + decalData[2] = ChaingunDecal3; + decalData[3] = ChaingunDecal4; + decalData[4] = ChaingunDecal5; + decalData[5] = ChaingunDecal6; +}; + +//-------------------------------------------------------------------------- +// Scout Projectile +//-------------------------------------- +datablock TracerProjectileData(ScoutChaingunBullet) +{ + doDynamicClientHits = true; + + directDamage = 0.125; + explosion = "ScoutChaingunExplosion"; + splash = ChaingunSplash; + + directDamageType = $DamageType::ShrikeBlaster; + kickBackStrength = 0.0; + + sound = ShrikeBlasterProjectileSound; + + dryVelocity = 425.0; + wetVelocity = 100.0; + velInheritFactor = 1.0; + fizzleTimeMS = 1000; + lifetimeMS = 1000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = false; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 3000; + + tracerLength = 45.0; + tracerAlpha = false; + tracerMinPixels = 6; + tracerColor = "1.0 1.0 1.0 1.0"; + tracerTex[0] = "special/shrikeBolt"; + tracerTex[1] = "special/shrikeBoltCross"; + tracerWidth = 0.55; + crossSize = 0.99; + crossViewAng = 0.990; + renderCross = true; + +}; + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(ChaingunAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_chaingun.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some chaingun ammo"; + + computeCRC = true; + +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ShapeBaseImageData(ChaingunImage) +{ + className = WeaponImage; + shapeFile = "weapon_chaingun.dts"; + item = Chaingun; + ammo = ChaingunAmmo; + projectile = ChaingunBullet; + projectileType = TracerProjectile; + emap = true; + + casing = ShellDebris; + shellExitDir = "1.0 0.3 1.0"; + shellExitOffset = "0.15 -0.56 -0.1"; + shellExitVariance = 15.0; + shellVelocity = 3.0; + + projectileSpread = 8.0 / 1000.0; + + //-------------------------------------- + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = ChaingunSwitchSound; + stateAllowImageChange[0] = false; + // + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "Ready"; + stateTransitionOnNoAmmo[0] = "NoAmmo"; + + //-------------------------------------- + stateName[1] = "Ready"; + stateSpinThread[1] = Stop; + // + stateTransitionOnTriggerDown[1] = "Spinup"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + //-------------------------------------- + stateName[2] = "NoAmmo"; + stateTransitionOnAmmo[2] = "Ready"; + stateSpinThread[2] = Stop; + stateTransitionOnTriggerDown[2] = "DryFire"; + + //-------------------------------------- + stateName[3] = "Spinup"; + stateSpinThread[3] = SpinUp; + stateSound[3] = ChaingunSpinupSound; + // + stateTimeoutValue[3] = 0.5; + stateWaitForTimeout[3] = false; + stateTransitionOnTimeout[3] = "Fire"; + stateTransitionOnTriggerUp[3] = "Spindown"; + + //-------------------------------------- + stateName[4] = "Fire"; + stateSequence[4] = "Fire"; + stateSequenceRandomFlash[4] = true; + stateSpinThread[4] = FullSpeed; + stateSound[4] = ChaingunFireSound; + //stateRecoil[4] = LightRecoil; + stateAllowImageChange[4] = false; + stateScript[4] = "onFire"; + stateFire[4] = true; + stateEjectShell[4] = true; + // + stateTimeoutValue[4] = 0.15; + stateTransitionOnTimeout[4] = "Fire"; + stateTransitionOnTriggerUp[4] = "Spindown"; + stateTransitionOnNoAmmo[4] = "EmptySpindown"; + + //-------------------------------------- + stateName[5] = "Spindown"; + stateSound[5] = ChaingunSpinDownSound; + stateSpinThread[5] = SpinDown; + // + stateTimeoutValue[5] = 1.0; + stateWaitForTimeout[5] = true; + stateTransitionOnTimeout[5] = "Ready"; + stateTransitionOnTriggerDown[5] = "Spinup"; + + //-------------------------------------- + stateName[6] = "EmptySpindown"; + stateSound[6] = ChaingunSpinDownSound; + stateSpinThread[6] = SpinDown; + // + stateTimeoutValue[6] = 0.5; + stateTransitionOnTimeout[6] = "NoAmmo"; + + //-------------------------------------- + stateName[7] = "DryFire"; + stateSound[7] = ChaingunDryFireSound; + stateTimeoutValue[7] = 0.5; + stateTransitionOnTimeout[7] = "NoAmmo"; +}; + +datablock ItemData(Chaingun) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_chaingun.dts"; + image = ChaingunImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a chaingun"; + + computeCRC = true; + emap = true; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/concussionGrenade.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/concussionGrenade.cs new file mode 100644 index 00000000..9e6d084a --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/concussionGrenade.cs @@ -0,0 +1,208 @@ +// grenade (thrown by hand) script +// ------------------------------------------------------------------------ + +datablock EffectProfile(ConcussionGrenadeThrowEffect) +{ + effectname = "weapons/grenade_throw"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ConcussionGrenadeSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ConcussionGrenadeExplosionEffect) +{ + effectname = "explosions/grenade_explode"; + minDistance = 10; + maxDistance = 50; +}; + +datablock AudioProfile(ConcussionGrenadeExplosionSound) +{ + filename = "fx/weapons/grenade_explode.wav"; + description = AudioExplosion3d; + preload = true; + effect = ConcussionGrenadeExplosionEffect; +}; + +// ------------------------------------------------------ +// z0dd - ZOD, 5/8/02. Duplicate datablock, waste of mem. +//datablock AudioProfile(ConcussionGrenadeExplosionSound) +//{ +// filename = "fx/weapons/grenade_explode.wav"; +// description = AudioExplosion3d; +// preload = true; +// effect = ConcussionGrenadeExplosionEffect; +//}; +// ------------------------------------------------------ + +//-------------------------------------------------------------------------- +// Sparks +//-------------------------------------------------------------------------- +datablock ParticleData(ConcussionGrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/bigSpark"; + colors[0] = "0.56 0.36 1.0 1.0"; + colors[1] = "0.56 0.36 1.0 1.0"; + colors[2] = "1.0 0.36 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.25; + sizes[2] = 0.25; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(ConcussionGrenadeSparkEmitter) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "ConcussionGrenadeSparks"; +}; + +datablock ParticleData( ConcussionGrenadeCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + colors[0] = "0.8 0.8 1.0 1.00"; + colors[1] = "0.8 0.5 1.0 0.20"; + colors[2] = "0.2 0.8 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 4.0; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( ConcussionGrenadeCrescentEmitter ) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 20; + velocityVariance = 10.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "ConcussionGrenadeCrescentParticle"; +}; + +//-------------------------------------------------------------------------- +// Shockwave +//-------------------------------------------------------------------------- +datablock ShockwaveData(ConcussionGrenadeShockwave) +{ + width = 4.0; + numSegments = 20; + numVertSegments = 2; + velocity = 5; + acceleration = 10.0; + lifetimeMS = 1000; + height = 1.0; + is2D = true; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.8 0.8 1.0 1.00"; + colors[1] = "0.8 0.5 1.0 0.20"; + colors[2] = "0.2 0.8 1.0 0.0"; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------------------------------------------- +datablock ExplosionData(ConcussionGrenadeExplosion) +{ + soundProfile = ConcussionGrenadeExplosionSound; + shockwave = ConcussionGrenadeShockwave; + + emitter[0] = ConcussionGrenadeSparkEmitter; + emitter[1] = ConcussionGrenadeCrescentEmitter; + + shakeCamera = true; + camShakeFreq = "4.0 5.0 4.5"; + camShakeAmp = "140.0 140.0 140.0"; + camShakeDuration = 1.0; + camShakeRadius = 15.0; +}; + +//-------------------------------------------------------------------------- +// Item Data +//-------------------------------------------------------------------------- +datablock ItemData(ConcussionGrenadeThrown) +{ + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + maxDamage = 0.5; + explosion = ConcussionGrenadeExplosion; + damageRadius = 15.0; + radiusDamageType = $DamageType::Grenade; + kickBackStrength = 3500; + + computeCRC = true; + +}; + +datablock ItemData(ConcussionGrenade) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + thrownItem = ConcussionGrenadeThrown; + pickUpName = "some concussion grenades"; + isGrenade = true; +}; + +//-------------------------------------------------------------------------- +// Functions: +//-------------------------------------------------------------------------- +function ConcussionGrenadeThrown::onCollision( %data, %obj, %col ) +{ + // Do nothing... +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/disc.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/disc.cs new file mode 100644 index 00000000..b9beb6fa --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/disc.cs @@ -0,0 +1,483 @@ +//-------------------------------------- +// Disc launcher +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(DiscFireEffect) +{ + effectname = "weapons/spinfusor_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(DiscSwitchEffect) +{ + effectname = "weapons/spinfusor_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(DiscDryFireEffect) +{ + effectname = "weapons/spinfusor_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(DiscIdleEffect) +{ + effectname = "weapons/spinfusor_idle"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(DiscReloadEffect) +{ + effectname = "weapons/spinfusor_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(DiscExpEffect) +{ + effectname = "explosions/grenade_explode"; + minDistance = 5; + maxDistance = 20; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(DiscSwitchSound) +{ + filename = "fx/weapons/blaster_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = DiscSwitchEffect; +}; + +datablock AudioProfile(DiscLoopSound) +{ + filename = "fx/weapons/spinfusor_idle.wav"; + description = ClosestLooping3d; + effect = DiscIdleEffect; +}; + + +datablock AudioProfile(DiscFireSound) +{ + filename = "fx/weapons/spinfusor_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = DiscFireEffect; +}; + +datablock AudioProfile(DiscReloadSound) +{ + filename = "fx/weapons/spinfusor_reload.wav"; + description = AudioClosest3d; + preload = true; + effect = DiscReloadEffect; +}; + +datablock AudioProfile(discExpSound) +{ + filename = "fx/weapons/spinfusor_impact.wav"; + description = AudioExplosion3d; + preload = true; + effect = DiscExpEffect; +}; + +datablock AudioProfile(underwaterDiscExpSound) +{ + filename = "fx/weapons/spinfusor_impact_UW.wav"; + description = AudioExplosion3d; + preload = true; + effect = DiscExpEffect; +}; + +datablock AudioProfile(discProjectileSound) +{ + filename = "fx/weapons/spinfusor_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(DiscDryFireSound) +{ + filename = "fx/weapons/spinfusor_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = DiscDryFireEffect; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock ParticleData(DiscExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 750; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.3; + times[2] = 1.0; +}; +datablock ParticleEmitterData(DiscExplosionBubbleEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 3.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "DiscExplosionBubbleParticle"; +}; + +datablock ExplosionData(UnderwaterDiscExplosion) +{ + explosionShape = "disc_explosion.dts"; + soundProfile = underwaterDiscExpSound; + + faceViewer = true; + + sizes[0] = "1.3 1.3 1.3"; + sizes[1] = "0.75 0.75 0.75"; + sizes[2] = "0.4 0.4 0.4"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + emitter[0] = "DiscExplosionBubbleEmitter"; + + shakeCamera = true; + camShakeFreq = "10.0 11.0 10.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 10.0; +}; + +datablock ExplosionData(DiscExplosion) +{ + explosionShape = "disc_explosion.dts"; + soundProfile = discExpSound; + + faceViewer = true; + explosionScale = "1 1 1"; + + shakeCamera = true; + camShakeFreq = "10.0 11.0 10.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 10.0; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData(DiscMist) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(DiscMistEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "DiscMist"; +}; + +datablock ParticleData( DiscSplashParticle2 ) +{ + + dragCoeffiecient = 0.4; + gravityCoefficient = -0.03; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 600; + lifetimeVarianceMS = 300; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 1.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( DiscSplashEmitter2 ) +{ + ejectionPeriodMS = 25; + ejectionOffset = 0.2; + periodVarianceMS = 0; + ejectionVelocity = 2.25; + velocityVariance = 0.50; + thetaMin = 0.0; + thetaMax = 30.0; + lifetimeMS = 250; + + particles = "DiscSplashParticle2"; +}; + + +datablock ParticleData( DiscSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( DiscSplashEmitter ) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "DiscSplashParticle"; +}; + + +datablock SplashData(DiscSplash) +{ + numSegments = 15; + ejectionFreq = 0.0001; + ejectionAngle = 45; + ringLifetime = 0.5; + lifetimeMS = 400; + velocity = 5.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = DiscSplashEmitter; + emitter[1] = DiscMistEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock LinearProjectileData(DiscProjectile) +{ + projectileShapeName = "disc.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 0.50; + damageRadius = 7.5; + radiusDamageType = $DamageType::Disc; + kickBackStrength = 1750; + + sound = discProjectileSound; + explosion = "DiscExplosion"; + underwaterExplosion = "UnderwaterDiscExplosion"; + splash = DiscSplash; + + dryVelocity = 90; + wetVelocity = 50; + velInheritFactor = 0.5; + fizzleTimeMS = 5000; + lifetimeMS = 5000; + explodeOnDeath = true; + reflectOnWaterImpactAngle = 15.0; + explodeOnWaterImpact = true; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = 5000; + + activateDelayMS = 200; + + hasLight = true; + lightRadius = 6.0; + lightColor = "0.175 0.175 0.5"; +}; + + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(DiscAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_disc.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some spinfusor discs"; +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- + +datablock ShapeBaseImageData(DiscImage) +{ + className = WeaponImage; + shapeFile = "weapon_disc.dts"; + item = Disc; + ammo = DiscAmmo; + offset = "0 0 0"; + emap = true; + + projectileSpread = 0; + + projectile = DiscProjectile; + projectileType = LinearProjectile; + + // State Data + stateName[0] = "Preactivate"; + stateTransitionOnLoaded[0] = "Activate"; + stateTransitionOnNoAmmo[0] = "NoAmmo"; + + stateName[1] = "Activate"; + stateTransitionOnTimeout[1] = "Ready"; + stateTimeoutValue[1] = 0.5; + stateSequence[1] = "Activated"; + stateSound[1] = DiscSwitchSound; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + stateSequence[2] = "DiscSpin"; + stateSound[2] = DiscLoopSound; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 1.25; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = DiscFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 0.5; // 0.25 load, 0.25 spinup + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = DiscReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = DiscDryFireSound; + stateTimeoutValue[6] = 1.0; + stateTransitionOnTimeout[6] = "NoAmmo"; + +}; + +datablock ItemData(Disc) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_disc.dts"; + image = DiscImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a spinfusor"; + emap = true; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/flareGrenade.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/flareGrenade.cs new file mode 100644 index 00000000..90bfe3d4 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/flareGrenade.cs @@ -0,0 +1,145 @@ +// grenade (thrown by hand) script +// ------------------------------------------------------------------------ + +datablock AudioProfile(FlareGrenadeBurnSound) +{ + filename = "fx/weapons/grenade_flare_burn.wav"; + description = CloseLooping3d; + preload = true; +}; + +datablock AudioProfile(FlareGrenadeExplosionSound) +{ + filename = "fx/weapons/grenade_flare_burn.wav"; + description = CloseLooping3d; + preload = true; +}; + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- +datablock ParticleData(FlareParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = 0.15; + inheritedVelFactor = 0.5; + + lifetimeMS = 1800; + lifetimeVarianceMS = 200; + + textureName = "special/flareSpark"; + + colors[0] = "1.0 1.0 1.0 1.0"; + colors[1] = "1.0 1.0 1.0 1.0"; + colors[2] = "1.0 1.0 1.0 0.0"; + + sizes[0] = 0.6; + sizes[1] = 0.3; + sizes[2] = 0.1; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(FlareEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 1.0; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 90.0; + + orientParticles = true; + orientOnVelocity = false; + + particles = "FlareParticle"; +}; + +//-------------------------------------------------------------------------- +// Explosion - Flare Grenade +//-------------------------------------- +datablock ExplosionData(FlareGrenadeExplosion) +{ + explosionShape = "energy_explosion.dts"; + soundProfile = FlareGrenadeExplosionSound; + faceViewer = true; + explosionScale = "0.1 0.1 0.1"; +}; + +//-------------------------------------------------------------------------- +// Projectile - Flare Grenade +//-------------------------------------- +datablock FlareProjectileData(FlareGrenadeProj) +{ + projectileShapeName = "grenade_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = false; + kickBackStrength = 1500; + useLensFlare = false; + + sound = FlareGrenadeBurnSound; + explosion = FlareGrenadeExplosion; + velInheritFactor = 0.5; + + texture[0] = "special/flare3"; + texture[1] = "special/LensFlare/flare00"; + size = 4.0; + + baseEmitter = FlareEmitter; + + grenadeElasticity = 0.35; + grenadeFriction = 0.2; + armingDelayMS = 6000; + muzzleVelocity = 15.0; + drag = 0.1; + gravityMod = 0.15; +}; + +datablock ItemData(FlareGrenadeThrown) +{ + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + maxDamage = 0.4; + + sticky = false; + gravityMod = 0.15; + maxVelocity = 10; + + computeCRC = true; + +}; + +datablock ItemData(FlareGrenade) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + thrownItem = FlareGrenadeThrown; + pickUpName = "some flare grenades"; + isGrenade = true; + + computeCRC = true; + +}; + +//------------------------------------------------------------------------------ +// Functions: +//------------------------------------------------------------------------------ +function FlareGrenadeThrown::onCollision( %data, %obj, %col ) +{ + // Do nothing... +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/flashGrenade.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/flashGrenade.cs new file mode 100644 index 00000000..6ead67bc --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/flashGrenade.cs @@ -0,0 +1,69 @@ +// grenade (thrown by hand) script +// ------------------------------------------------------------------------ +datablock EffectProfile(FlashGrenadeExplosionEffect) +{ + effectname = "explosions/grenade_flash_explode"; + minDistance = 10; + maxDistance = 30; +}; + +datablock AudioProfile(FlashGrenadeExplosionSound) +{ + filename = "fx/explosions/grenade_flash_explode.wav"; + description = AudioExplosion3d; + preload = true; + effect = FlashGrenadeExplosionEffect; +}; + +datablock ExplosionData(FlashGrenadeExplosion) +{ + explosionShape = "disc_explosion.dts"; + soundProfile = FlashGrenadeExplosionSound; + + faceViewer = true; +}; + +datablock ItemData(FlashGrenadeThrown) +{ + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + maxDamage = 0.4; + explosion = FlashGrenadeExplosion; + indirectDamage = 0.5; + damageRadius = 10.0; + radiusDamageType = $DamageType::Grenade; + kickBackStrength = 1000; + + computeCRC = true; + + maxWhiteout = 1.2; +}; + +datablock ItemData(FlashGrenade) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + thrownItem = FlashGrenadeThrown; + pickUpName = "some flash grenades"; + isGrenade = true; + + computeCRC = true; + +}; + +//-------------------------------------------------------------------------- +// Functions: +//-------------------------------------------------------------------------- +function FlashGrenadeThrown::onCollision( %data, %obj, %col ) +{ + // Do nothing... +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/grenade.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/grenade.cs new file mode 100644 index 00000000..af4713d0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/grenade.cs @@ -0,0 +1,374 @@ +// ------------------------------------------------------------------------ +// grenade (thrown by hand) script +// ------------------------------------------------------------------------ +datablock EffectProfile(GrenadeThrowEffect) +{ + effectname = "weapons/grenade_throw"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(GrenadeSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(GrenadeThrowSound) +{ + filename = "fx/weapons/throw_grenade.wav"; + description = AudioClose3D; + preload = true; + effect = GrenadeThrowEffect; +}; + +datablock AudioProfile(GrenadeSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3D; + preload = true; + effect = GrenadeSwitchEffect; +}; + +//************************************************************************** +// Hand Grenade underwater fx +//************************************************************************** + + +//-------------------------------------------------------------------------- +// Underwater Hand Grenade Particle effects +//-------------------------------------------------------------------------- +datablock ParticleData(HandGrenadeExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 750; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.75; + sizes[1] = 0.75; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; +datablock ParticleEmitterData(HandGrenadeExplosionBubbleEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 2.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "HandGrenadeExplosionBubbleParticle"; +}; + +datablock ParticleData(UnderwaterHandGrenadeExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; // rises slowly + inheritedVelFactor = 0.025; + + constantAcceleration = -1.0; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.4 0.4 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 3.0; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterHandGrenadeExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 5.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 250; + + particles = "UnderwaterHandGrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(UnderwaterHandGrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/droplet"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.6 1.0 1.0"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.25; + sizes[2] = 0.25; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterHandGrenadeSparkEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "UnderwaterHandGrenadeSparks"; +}; + + + +datablock ExplosionData(UnderwaterHandGrenadeSubExplosion1) +{ + offset = 1.0; + emitter[0] = UnderwaterHandGrenadeExplosionSmokeEmitter; + emitter[1] = UnderwaterHandGrenadeSparkEmitter; +}; + +datablock ExplosionData(UnderwaterHandGrenadeSubExplosion2) +{ + offset = 1.0; + emitter[0] = UnderwaterHandGrenadeExplosionSmokeEmitter; + emitter[1] = UnderwaterHandGrenadeSparkEmitter; +}; + +datablock ExplosionData(UnderwaterHandGrenadeExplosion) +{ + soundProfile = GrenadeExplosionSound; + + emitter[0] = UnderwaterHandGrenadeExplosionSmokeEmitter; + emitter[1] = UnderwaterHandGrenadeSparkEmitter; + emitter[2] = HandGrenadeExplosionBubbleEmitter; + + subExplosion[0] = UnderwaterHandGrenadeSubExplosion1; + subExplosion[1] = UnderwaterHandGrenadeSubExplosion2; + + shakeCamera = true; + camShakeFreq = "12.0 13.0 11.0"; + camShakeAmp = "35.0 35.0 35.0"; + camShakeDuration = 1.0; + camShakeRadius = 15.0; +}; + +//************************************************************************** +// Hand Grenade effects +//************************************************************************** + +//-------------------------------------------------------------------------- +// Grenade Particle effects +//-------------------------------------------------------------------------- + +datablock ParticleData(HandGrenadeExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; // rises slowly + inheritedVelFactor = 0.025; + + constantAcceleration = -0.80; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "1.0 0.7 0.0 1.0"; + colors[1] = "0.2 0.2 0.2 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 3.0; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(HandGrenadeExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 10.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 250; + + particles = "HandGrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(HandGrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/bigSpark"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.25; + sizes[2] = 0.25; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(HandGrenadeSparkEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 18; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "HandGrenadeSparks"; +}; + + + + +//---------------------------------------------------- +// Explosion +//---------------------------------------------------- + +datablock ExplosionData(HandGrenadeSubExplosion1) +{ + offset = 2.0; + emitter[0] = HandGrenadeExplosionSmokeEmitter; + emitter[1] = HandGrenadeSparkEmitter; +}; + +datablock ExplosionData(HandGrenadeSubExplosion2) +{ + offset = 2.0; + emitter[0] = HandGrenadeExplosionSmokeEmitter; + emitter[1] = HandGrenadeSparkEmitter; +}; + +datablock ExplosionData(HandGrenadeExplosion) +{ + soundProfile = GrenadeExplosionSound; + + emitter[0] = HandGrenadeExplosionSmokeEmitter; + emitter[1] = HandGrenadeSparkEmitter; + + subExplosion[0] = HandGrenadeSubExplosion1; + subExplosion[1] = HandGrenadeSubExplosion2; + + shakeCamera = true; + camShakeFreq = "12.0 13.0 11.0"; + camShakeAmp = "35.0 35.0 35.0"; + camShakeDuration = 1.0; + camShakeRadius = 15.0; +}; + + + + +datablock ItemData(GrenadeThrown) +{ + className = Weapon; + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + maxDamage = 0.5; + explosion = HandGrenadeExplosion; + underwaterExplosion = UnderwaterHandGrenadeExplosion; + indirectDamage = 0.4; + damageRadius = 10.0; + radiusDamageType = $DamageType::Grenade; + kickBackStrength = 2000; + + computeCRC = true; + +}; + +datablock ItemData(Grenade) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "grenade.dts"; + mass = 0.7; + elasticity = 0.2; + friction = 1; + pickupRadius = 2; + thrownItem = GrenadeThrown; + pickUpName = "some grenades"; + isGrenade = true; + + computeCRC = true; + +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/grenadeLauncher.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/grenadeLauncher.cs new file mode 100644 index 00000000..713c2698 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/grenadeLauncher.cs @@ -0,0 +1,786 @@ +//-------------------------------------- +// Grenade launcher +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(GrenadeSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(GrenadeFireEffect) +{ + effectname = "weapons/grenadelauncher_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(GrenadeDryFireEffect) +{ + effectname = "weapons/grenadelauncher_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(GrenadeReloadEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(GrenadeExplosionEffect) +{ + effectname = "explosions/grenade_explode"; + minDistance = 10; + maxDistance = 35; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(GrenadeSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = GrenadeSwitchEffect; +}; + +datablock AudioProfile(GrenadeFireSound) +{ + filename = "fx/weapons/grenadelauncher_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = GrenadeFireEffect; +}; + +datablock AudioProfile(GrenadeProjectileSound) +{ + filename = "fx/weapons/grenadelauncher_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(GrenadeReloadSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = GrenadeReloadEffect; +}; + +datablock AudioProfile(GrenadeExplosionSound) +{ + filename = "fx/weapons/grenade_explode.wav"; + description = AudioExplosion3d; + preload = true; + effect = GrenadeExplosionEffect; +}; + +datablock AudioProfile(UnderwaterGrenadeExplosionSound) +{ + filename = "fx/weapons/grenade_explode_UW.wav"; + description = AudioExplosion3d; + preload = true; + effect = GrenadeExplosionEffect; +}; + +datablock AudioProfile(GrenadeDryFireSound) +{ + filename = "fx/weapons/grenadelauncher_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = GrenadeDryFireEffect; +}; + +//---------------------------------------------------------------------------- +// Underwater fx +//---------------------------------------------------------------------------- +datablock ParticleData(GrenadeExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; +datablock ParticleEmitterData(GrenadeExplosionBubbleEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 3.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "GrenadeExplosionBubbleParticle"; +}; + +datablock ParticleData(UnderwaterGrenadeDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = -1.1; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.6 0.6 1.0 0.5"; + colors[1] = "0.6 0.6 1.0 0.5"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 3.0; + sizes[1] = 3.0; + sizes[2] = 3.0; + times[0] = 0.0; + times[1] = 0.7; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(UnderwaterGrenadeDustEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 15.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 70; + thetaMax = 70; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "UnderwaterGrenadeDust"; +}; + + +datablock ParticleData(UnderwaterGrenadeExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.25; // rises slowly + inheritedVelFactor = 0.025; + constantAcceleration = -1.1; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.1 0.1 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 1.0"; + colors[2] = "0.4 0.4 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 6.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterGExplosionSmokeEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + + ejectionVelocity = 6.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 90.0; + + lifetimeMS = 250; + + particles = "UnderwaterGrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(UnderwaterGrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/underwaterSpark"; + colors[0] = "0.6 0.6 1.0 1.0"; + colors[1] = "0.6 0.6 1.0 1.0"; + colors[2] = "0.6 0.6 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterGrenadeSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "UnderwaterGrenadeSparks"; +}; + +datablock ExplosionData(UnderwaterGrenadeExplosion) +{ + soundProfile = UnderwaterGrenadeExplosionSound; + + faceViewer = true; + explosionScale = "0.8 0.8 0.8"; + + emitter[0] = UnderwaterGrenadeDustEmitter; + emitter[1] = UnderwaterGExplosionSmokeEmitter; + emitter[2] = UnderwaterGrenadeSparksEmitter; + emitter[3] = GrenadeExplosionBubbleEmitter; + + shakeCamera = true; + camShakeFreq = "10.0 6.0 9.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 20.0; +}; + + +//---------------------------------------------------------------------------- +// Bubbles +//---------------------------------------------------------------------------- +datablock ParticleData(GrenadeBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.4"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(GrenadeBubbleEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 0.1; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "GrenadeBubbleParticle"; +}; + +//---------------------------------------------------------------------------- +// Debris +//---------------------------------------------------------------------------- + +datablock ParticleData( GDebrisSmokeParticle ) +{ + dragCoeffiecient = 1.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + + useInvAlpha = true; + + spinRandomMin = -60.0; + spinRandomMax = 60.0; + + colors[0] = "0.4 0.4 0.4 1.0"; + colors[1] = "0.3 0.3 0.3 0.5"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 0.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( GDebrisSmokeEmitter ) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 1; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.2; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "GDebrisSmokeParticle"; +}; + + +datablock DebrisData( GrenadeDebris ) +{ + emitters[0] = GDebrisSmokeEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 0.3; + lifetimeVariance = 0.02; + + numBounces = 1; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- + +datablock ParticleData( GrenadeSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( GrenadeSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "BlasterSplashParticle"; +}; + + +datablock SplashData(GrenadeSplash) +{ + numSegments = 15; + ejectionFreq = 15; + ejectionAngle = 40; + ringLifetime = 0.35; + lifetimeMS = 300; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = BlasterSplashEmitter; + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 1.0"; + colors[3] = "0.7 0.8 1.0 1.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- +datablock ParticleData(GrenadeSmokeParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.2; // rises slowly + inheritedVelFactor = 0.00; + + lifetimeMS = 700; // lasts 2 second + lifetimeVarianceMS = 150; // ...more or less + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -30.0; + spinRandomMax = 30.0; + + colors[0] = "0.9 0.9 0.9 1.0"; + colors[1] = "0.6 0.6 0.6 1.0"; + colors[2] = "0.4 0.4 0.4 0.0"; + + sizes[0] = 0.25; + sizes[1] = 1.0; + sizes[2] = 3.0; + + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(GrenadeSmokeEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 5; + + ejectionVelocity = 1.25; + velocityVariance = 0.50; + + thetaMin = 0.0; + thetaMax = 90.0; + + particles = "GrenadeSmokeParticle"; +}; + + +datablock ParticleData(GrenadeDust) +{ + dragCoefficient = 1.0; + gravityCoefficient = -0.01; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.3 0.3 0.3 0.5"; + colors[1] = "0.3 0.3 0.3 0.5"; + colors[2] = "0.3 0.3 0.3 0.0"; + sizes[0] = 3.2; + sizes[1] = 4.6; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.7; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(GrenadeDustEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 15.0; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "GrenadeDust"; +}; + + +datablock ParticleData(GrenadeExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.5; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.7 0.7 0.7 1.0"; + colors[1] = "0.2 0.2 0.2 1.0"; + colors[2] = "0.1 0.1 0.1 0.0"; + sizes[0] = 2.0; + sizes[1] = 6.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(GExplosionSmokeEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + + ejectionVelocity = 6.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 90.0; + + lifetimeMS = 250; + + particles = "GrenadeExplosionSmoke"; +}; + + + +datablock ParticleData(GrenadeSparks) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/bigspark"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 1.0"; + colors[2] = "1.0 0.36 0.26 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.75; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(GrenadeSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "GrenadeSparks"; +}; + + + + +//---------------------------------------------------- +// Explosion +//---------------------------------------------------- +datablock ExplosionData(GrenadeExplosion) +{ + soundProfile = GrenadeExplosionSound; + + faceViewer = true; + explosionScale = "0.8 0.8 0.8"; + + debris = GrenadeDebris; + debrisThetaMin = 10; + debrisThetaMax = 50; + debrisNum = 8; + debrisVelocity = 26.0; + debrisVelocityVariance = 7.0; + + emitter[0] = GrenadeDustEmitter; + emitter[1] = GExplosionSmokeEmitter; + emitter[2] = GrenadeSparksEmitter; + + shakeCamera = true; + camShakeFreq = "10.0 6.0 9.0"; + camShakeAmp = "20.0 20.0 20.0"; + camShakeDuration = 0.5; + camShakeRadius = 20.0; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock GrenadeProjectileData(BasicGrenade) +{ + projectileShapeName = "grenade_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 0.40; + damageRadius = 15.0; + radiusDamageType = $DamageType::Grenade; + kickBackStrength = 1500; + bubbleEmitTime = 1.0; + + sound = GrenadeProjectileSound; + explosion = "GrenadeExplosion"; + underwaterExplosion = "UnderwaterGrenadeExplosion"; + velInheritFactor = 0.5; + splash = GrenadeSplash; + + baseEmitter = GrenadeSmokeEmitter; + bubbleEmitter = GrenadeBubbleEmitter; + + grenadeElasticity = 0.35; + grenadeFriction = 0.2; + armingDelayMS = 1000; + muzzleVelocity = 47.00; + drag = 0.1; +}; + + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(GrenadeLauncherAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_grenade.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some grenade launcher ammo"; + + computeCRC = true; + emap = true; +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ItemData(GrenadeLauncher) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_grenade_launcher.dts"; + image = GrenadeLauncherImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a grenade launcher"; + + computeCRC = true; + +}; + +datablock ShapeBaseImageData(GrenadeLauncherImage) +{ + className = WeaponImage; + shapeFile = "weapon_grenade_launcher.dts"; + item = GrenadeLauncher; + ammo = GrenadeLauncherAmmo; + offset = "0 0 0"; + emap = true; + + projectile = BasicGrenade; + projectileType = GrenadeProjectile; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = GrenadeSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.4; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = GrenadeFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 0.5; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = GrenadeReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = GrenadeDryFireSound; + stateTimeoutValue[6] = 1.5; + stateTransitionOnTimeout[6] = "NoAmmo"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/mine.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/mine.cs new file mode 100644 index 00000000..dffdfa9e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/mine.cs @@ -0,0 +1,341 @@ +// ---------------------------------------------- +// mine script +// ---------------------------------------------- + +$TeamDeployableMax[MineDeployed] = 20; + +// ---------------------------------------------- +// force-feedback datablocks +// ---------------------------------------------- + +datablock EffectProfile(MineExplosionEffect) +{ + effectname = "explosions/mine_detonate"; + minDistance = 10; + maxDistance = 50; +}; + +// ---------------------------------------------- +// audio datablocks +// ---------------------------------------------- + +datablock AudioProfile(MineDeploySound) +{ + filename = "fx/weapons/mine_deploy.wav"; + description = AudioClose3D; + preload = true; +}; + +datablock AudioProfile(MineExplosionSound) +{ + filename = "fx/weapons/mine_detonate.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = MineExplosionEffect; +}; + +datablock AudioProfile(UnderwaterMineExplosionSound) +{ + filename = "fx/weapons/mine_detonate_UW.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = MineExplosionEffect; +}; + +//-------------------------------------------------------------------------- +// Mine Particle effects +//-------------------------------------------------------------------------- +datablock ParticleData(MineExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 750; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 1.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.3; + times[2] = 1.0; +}; +datablock ParticleEmitterData(MineExplosionBubbleEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 2.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "MineExplosionBubbleParticle"; +}; +datablock ParticleData( UnderwaterMineCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + colors[0] = "0.5 0.5 1.0 1.0"; + colors[1] = "0.5 0.5 1.0 1.0"; + colors[2] = "0.5 0.5 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 1.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( UnderwaterMineCrescentEmitter ) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "UnderwaterMineCrescentParticle"; +}; + +datablock ParticleData(UnderwaterMineExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; + inheritedVelFactor = 0.025; + constantAcceleration = -1.0; + + lifetimeMS = 1200; + lifetimeVarianceMS = 00; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "0.7 0.7 1.0 1.0"; + colors[1] = "0.3 0.3 1.0 1.0"; + colors[2] = "0.0 0.0 1.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 3.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterMineExplosionSmokeEmitter) +{ + ejectionPeriodMS = 8; + periodVarianceMS = 0; + + ejectionVelocity = 4.25; + velocityVariance = 1.25; + + thetaMin = 0.0; + thetaMax = 80.0; + + lifetimeMS = 250; + + particles = "UnderwaterMineExplosionSmoke"; +}; + +datablock ExplosionData(UnderwaterMineExplosion) +{ + explosionShape = "disc_explosion.dts"; + playSpeed = 1.0; + sizes[0] = "0.4 0.4 0.4"; + sizes[1] = "0.4 0.4 0.4"; + soundProfile = UnderwaterMineExplosionSound; + faceViewer = true; + + emitter[0] = UnderwaterMineExplosionSmokeEmitter; + emitter[1] = UnderwaterMineCrescentEmitter; + emitter[2] = MineExplosionBubbleEmitter; + + shakeCamera = true; + camShakeFreq = "8.0 7.0 9.0"; + camShakeAmp = "50.0 50.0 50.0"; + camShakeDuration = 1.0; + camShakeRadius = 10.0; +}; + +//-------------------------------------------------------------------------- +// Mine Particle effects +//-------------------------------------------------------------------------- +datablock ParticleData( MineCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + colors[0] = "1.0 0.8 0.2 1.0"; + colors[1] = "1.0 0.4 0.2 1.0"; + colors[2] = "1.0 0.0 0.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 1.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( MineCrescentEmitter ) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "MineCrescentParticle"; +}; + +datablock ParticleData(MineExplosionSmoke) +{ + dragCoeffiecient = 105.0; + gravityCoefficient = -0.0; + inheritedVelFactor = 0.025; + + lifetimeMS = 1200; + lifetimeVarianceMS = 00; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + textureName = "special/Smoke/smoke_001"; + + colors[0] = "1.0 0.7 0.0 1.0"; + colors[1] = "0.2 0.2 0.2 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 3.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(MineExplosionSmokeEmitter) +{ + ejectionPeriodMS = 8; + periodVarianceMS = 0; + + ejectionVelocity = 4.25; + velocityVariance = 1.25; + + thetaMin = 0.0; + thetaMax = 80.0; + + lifetimeMS = 250; + + particles = "MineExplosionSmoke"; +}; + + + +datablock ExplosionData(MineExplosion) +{ + explosionShape = "effect_plasma_explosion.dts"; + playSpeed = 1.0; + sizes[0] = "0.5 0.5 0.5"; + sizes[1] = "0.5 0.5 0.5"; + soundProfile = MineExplosionSound; + faceViewer = true; + + emitter[0] = MineExplosionSmokeEmitter; + emitter[1] = MineCrescentEmitter; + + shakeCamera = true; + camShakeFreq = "8.0 7.0 9.0"; + camShakeAmp = "50.0 50.0 50.0"; + camShakeDuration = 1.0; + camShakeRadius = 10.0; +}; + +// ---------------------------------------------- +// Item datablocks +// ---------------------------------------------- + +datablock ItemData(MineDeployed) +{ + className = Weapon; + shapeFile = "mine.dts"; + mass = 0.75; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 3; + maxDamage = 0.2; + explosion = MineExplosion; + underwaterExplosion = UnderwaterMineExplosion; + indirectDamage = 0.55; + damageRadius = 6.0; + radiusDamageType = $DamageType::Mine; + kickBackStrength = 1500; + aiAvoidThis = true; + dynamicType = $TypeMasks::DamagableItemObjectType; + spacing = 6.0; // how close together mines can be + proximity = 2.5; // how close causes a detonation (by player/vehicle) + armTime = 2200; // 2.2 seconds to arm a mine after it comes to rest + maxDepCount = 9; // try to deploy this many times before detonating + + computeCRC = true; + +}; + +datablock ItemData(Mine) +{ + className = HandInventory; + catagory = "Handheld"; + shapeFile = "ammo_mine.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.7; + pickupRadius = 2; + + thrownItem = MineDeployed; + pickUpName = "some mines"; + + computeCRC = true; + +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/missileLauncher.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/missileLauncher.cs new file mode 100644 index 00000000..fe088100 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/missileLauncher.cs @@ -0,0 +1,795 @@ +//-------------------------------------- +// Missile launcher +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(MissileSwitchEffect) +{ + effectname = "weapons/missile_launcher_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MissileFireEffect) +{ + effectname = "weapons/missile_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(MissileDryFireEffect) +{ + effectname = "weapons/missile_launcher_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MissileExplosionEffect) +{ + effectname = "explosions/explosion.xpl23"; + minDistance = 10; + maxDistance = 30; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(MissileSwitchSound) +{ + filename = "fx/weapons/missile_launcher_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = MissileSwitchEffect; +}; + +datablock AudioProfile(MissileFireSound) +{ + filename = "fx/weapons/missile_fire.WAV"; + description = AudioDefault3d; + preload = true; + effect = MissileFireEffect; +}; + +datablock AudioProfile(MissileProjectileSound) +{ + filename = "fx/weapons/missile_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(MissileReloadSound) +{ + filename = "fx/weapons/weapon.missilereload.wav"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(MissileLockSound) +{ + filename = "fx/weapons/missile_launcher_searching.WAV"; + description = AudioClosest3d; + preload = true; +}; + +datablock AudioProfile(MissileExplosionSound) +{ + filename = "fx/explosions/explosion.xpl23.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = MissileExplosionEffect; +}; + +datablock AudioProfile(MissileDryFireSound) +{ + filename = "fx/weapons/missile_launcher_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = MissileDryFireEffect; +}; + + +//---------------------------------------------------------------------------- +// Splash Debris +//---------------------------------------------------------------------------- +datablock ParticleData( MDebrisSmokeParticle ) +{ + dragCoeffiecient = 1.0; + gravityCoefficient = 0.10; + inheritedVelFactor = 0.1; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + +// useInvAlpha = true; + + spinRandomMin = -60.0; + spinRandomMax = 60.0; + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.0; + sizes[1] = 0.8; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( MDebrisSmokeEmitter ) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 1; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.2; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "MDebrisSmokeParticle"; +}; + + +datablock DebrisData( MissileSplashDebris ) +{ + emitters[0] = MDebrisSmokeEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 0.3; + lifetimeVariance = 0.1; + + numBounces = 1; +}; + + +//---------------------------------------------------------------------------- +// Missile smoke spike (for debris) +//---------------------------------------------------------------------------- +datablock ParticleData( MissileSmokeSpike ) +{ + dragCoeffiecient = 1.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + + lifetimeMS = 1000; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + + useInvAlpha = true; + + spinRandomMin = -60.0; + spinRandomMax = 60.0; + + colors[0] = "0.6 0.6 0.6 1.0"; + colors[1] = "0.4 0.4 0.4 0.5"; + colors[2] = "0.4 0.4 0.4 0.0"; + sizes[0] = 0.0; + sizes[1] = 1.0; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( MissileSmokeSpikeEmitter ) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 1; + + ejectionVelocity = 1.0; // A little oomph at the back end + velocityVariance = 0.2; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "MissileSmokeSpike"; +}; + + +//---------------------------------------------------------------------------- +// Explosion smoke particles +//---------------------------------------------------------------------------- + +datablock ParticleData(MissileExplosionSmoke) +{ + dragCoeffiecient = 0.3; + gravityCoefficient = -0.2; + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + textureName = "special/Smoke/bigSmoke"; + + colors[0] = "1.0 0.7 0.0 1.0"; + colors[1] = "0.4 0.4 0.4 0.5"; + colors[2] = "0.4 0.4 0.4 0.0"; + sizes[0] = 1.0; + sizes[1] = 3.0; + sizes[2] = 1.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(MissileExplosionSmokeEMitter) +{ + ejectionOffset = 0.0; + ejectionPeriodMS = 5; + periodVarianceMS = 0; + + ejectionVelocity = 3.25; + velocityVariance = 0.25; + + thetaMin = 0.0; + thetaMax = 180.0; + + lifetimeMS = 250; + + particles = "MissileExplosionSmoke"; +}; + + + +datablock DebrisData( MissileSpikeDebris ) +{ + emitters[0] = MissileSmokeSpikeEmitter; + explodeOnMaxBounce = true; + elasticity = 0.4; + friction = 0.2; + lifetime = 0.3; + lifetimeVariance = 0.02; +}; + + +//--------------------------------------------------------------------------- +// Explosions +//--------------------------------------------------------------------------- +datablock ExplosionData(MissileExplosion) +{ + explosionShape = "effect_plasma_explosion.dts"; + playSpeed = 1.5; + soundProfile = MissileExplosionSound; + faceViewer = true; + + sizes[0] = "0.5 0.5 0.5"; + sizes[1] = "0.5 0.5 0.5"; + sizes[2] = "0.5 0.5 0.5"; + + emitter[0] = MissileExplosionSmokeEmitter; + + debris = MissileSpikeDebris; + debrisThetaMin = 10; + debrisThetaMax = 170; + debrisNum = 8; + debrisNumVariance = 6; + debrisVelocity = 15.0; + debrisVelocityVariance = 2.0; + + shakeCamera = true; + camShakeFreq = "6.0 7.0 7.0"; + camShakeAmp = "70.0 70.0 70.0"; + camShakeDuration = 1.0; + camShakeRadius = 7.0; +}; + + + +datablock ExplosionData(MissileSplashExplosion) +{ + explosionShape = "disc_explosion.dts"; + + faceViewer = true; + explosionScale = "1.0 1.0 1.0"; + + debris = MissileSplashDebris; + debrisThetaMin = 10; + debrisThetaMax = 80; + debrisNum = 10; + debrisVelocity = 10.0; + debrisVelocityVariance = 4.0; + + sizes[0] = "0.35 0.35 0.35"; + sizes[1] = "0.15 0.15 0.15"; + sizes[2] = "0.15 0.15 0.15"; + sizes[3] = "0.15 0.15 0.15"; + + times[0] = 0.0; + times[1] = 0.333; + times[2] = 0.666; + times[3] = 1.0; + +}; + + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData(MissileMist) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MissileMistEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 6.0; + velocityVariance = 4.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "MissileMist"; +}; + + + +datablock ParticleData( MissileSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( MissileSplashEmitter ) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 6; + velocityVariance = 3.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "MissileSplashParticle"; +}; + + +datablock SplashData(MissileSplash) +{ + numSegments = 15; + ejectionFreq = 0.0001; + ejectionAngle = 45; + ringLifetime = 0.5; + lifetimeMS = 400; + velocity = 5.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + explosion = MissileSplashExplosion; + + texture = "special/water2"; + + emitter[0] = MissileSplashEmitter; + emitter[1] = MissileMistEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Particle effects +//-------------------------------------- +datablock ParticleData(MissileSmokeParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.02; + inheritedVelFactor = 0.1; + + lifetimeMS = 1200; + lifetimeVarianceMS = 100; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + + colors[0] = "1.0 0.75 0.0 0.0"; + colors[1] = "0.5 0.5 0.5 1.0"; + colors[2] = "0.3 0.3 0.3 0.0"; + sizes[0] = 1; + sizes[1] = 2; + sizes[2] = 3; + times[0] = 0.0; + times[1] = 0.1; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(MissileSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 1.5; + velocityVariance = 0.3; + + thetaMin = 0.0; + thetaMax = 50.0; + + particles = "MissileSmokeParticle"; +}; + + +datablock ParticleData(MissileFireParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 1.0; + + lifetimeMS = 300; + lifetimeVarianceMS = 000; + + textureName = "particleTest"; + + spinRandomMin = -135; + spinRandomMax = 135; + + colors[0] = "1.0 0.75 0.2 1.0"; + colors[1] = "1.0 0.5 0.0 1.0"; + colors[2] = "1.0 0.40 0.0 0.0"; + sizes[0] = 0; + sizes[1] = 1; + sizes[2] = 1.5; + times[0] = 0.0; + times[1] = 0.3; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MissileFireEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + + ejectionVelocity = 15.0; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 0.0; + + particles = "MissileFireParticle"; +}; + + + +datablock ParticleData(MissilePuffParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.0; + + lifetimeMS = 500; + lifetimeVarianceMS = 300; + + textureName = "particleTest"; + + spinRandomMin = -135; + spinRandomMax = 135; + + colors[0] = "1.0 1.0 1.0 0.5"; + colors[1] = "0.7 0.7 0.7 0.0"; + sizes[0] = 0.25; + sizes[1] = 1.0; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ParticleEmitterData(MissilePuffEmitter) +{ + ejectionPeriodMS = 50; + periodVarianceMS = 3; + + ejectionVelocity = 0.5; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 90.0; + + particles = "MissilePuffParticle"; +}; + + +datablock ParticleData(MissileLauncherExhaustParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = 0.01; + inheritedVelFactor = 1.0; + + lifetimeMS = 500; + lifetimeVarianceMS = 300; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -135; + spinRandomMax = 135; + + colors[0] = "1.0 1.0 1.0 0.5"; + colors[1] = "0.7 0.7 0.7 0.0"; + sizes[0] = 0.25; + sizes[1] = 1.0; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ParticleEmitterData(MissileLauncherExhaustEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + + ejectionVelocity = 3.0; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 20.0; + + particles = "MissileLauncherExhaustParticle"; +}; + +//-------------------------------------------------------------------------- +// Debris +//-------------------------------------- +datablock DebrisData( FlechetteDebris ) +{ + shapeName = "weapon_missile_fleschette.dts"; + + lifetime = 5.0; + + minSpinSpeed = -320.0; + maxSpinSpeed = 320.0; + + elasticity = 0.2; + friction = 0.3; + + numBounces = 3; + + gravModifier = 0.40; + + staticOnMaxBounce = true; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock SeekerProjectileData(ShoulderMissile) +{ + casingShapeName = "weapon_missile_casement.dts"; + projectileShapeName = "weapon_missile_projectile.dts"; + hasDamageRadius = true; + indirectDamage = 0.8; + damageRadius = 8.0; + radiusDamageType = $DamageType::Missile; + kickBackStrength = 2000; + + explosion = "MissileExplosion"; + splash = MissileSplash; + velInheritFactor = 1.0; // to compensate for slow starting velocity, this value + // is cranked up to full so the missile doesn't start + // out behind the player when the player is moving + // very quickly - bramage + + baseEmitter = MissileSmokeEmitter; + delayEmitter = MissileFireEmitter; + puffEmitter = MissilePuffEmitter; + bubbleEmitter = GrenadeBubbleEmitter; + bubbleEmitTime = 1.0; + + exhaustEmitter = MissileLauncherExhaustEmitter; + exhaustTimeMs = 300; + exhaustNodeName = "muzzlePoint1"; + + lifetimeMS = 6000; + muzzleVelocity = 10.0; + maxVelocity = 80.0; + turningSpeed = 110.0; + acceleration = 200.0; + + proximityRadius = 3; + + terrainAvoidanceSpeed = 180; + terrainScanAhead = 25; + terrainHeightFail = 12; + terrainAvoidanceRadius = 100; + + flareDistance = 200; + flareAngle = 30; + + sound = MissileProjectileSound; + + hasLight = true; + lightRadius = 5.0; + lightColor = "0.2 0.05 0"; + + useFlechette = true; + flechetteDelayMs = 550; + casingDeb = FlechetteDebris; + + explodeOnWaterImpact = false; +}; + + + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(MissileLauncherAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_missile.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some missiles"; + + computeCRC = true; + +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ItemData(MissileLauncher) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_missile.dts"; + image = MissileLauncherImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a missile launcher"; + + computeCRC = true; + emap = true; +}; + +datablock ShapeBaseImageData(MissileLauncherImage) +{ + className = WeaponImage; + shapeFile = "weapon_missile.dts"; + item = MissileLauncher; + ammo = MissileLauncherAmmo; + offset = "0 0 0"; + armThread = lookms; + emap = true; + + projectile = ShoulderMissile; + projectileType = SeekerProjectile; + + isSeeker = true; + seekRadius = 400; + maxSeekAngle = 8; + seekTime = 0.5; + minSeekHeat = 0.7; // the heat that must be present on a target to lock it. + + // only target objects outside this range + minTargetingDistance = 40; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = MissileSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "CheckWet"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.4; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = MissileFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 2.5; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = MissileReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = MissileDryFireSound; + stateTimeoutValue[6] = 1.0; + stateTransitionOnTimeout[6] = "ActivateReady"; + + stateName[7] = "CheckTarget"; + stateTransitionOnNoTarget[7] = "DryFire"; + stateTransitionOnTarget[7] = "Fire"; + + stateName[8] = "CheckWet"; + stateTransitionOnWet[8] = "WetFire"; + stateTransitionOnNotWet[8] = "CheckTarget"; + + stateName[9] = "WetFire"; + stateTransitionOnNoAmmo[9] = "NoAmmo"; + stateTransitionOnTimeout[9] = "Reload"; + stateSound[9] = MissileFireSound; + stateRecoil[3] = LightRecoil; + stateTimeoutValue[9] = 0.4; + stateSequence[3] = "Fire"; + stateScript[9] = "onWetFire"; + stateAllowImageChange[9] = false; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/mortar.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/mortar.cs new file mode 100644 index 00000000..62521af0 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/mortar.cs @@ -0,0 +1,797 @@ +//-------------------------------------- +// Mortar +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(MortarSwitchEffect) +{ + effectname = "weapons/mortar_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MortarFireEffect) +{ + effectname = "weapons/mortar_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(MortarReloadEffect) +{ + effectname = "weapons/mortar_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MortarDryFireEffect) +{ + effectname = "weapons/mortar_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MortarExplosionEffect) +{ + effectname = "explosions/explosion.xpl03"; + minDistance = 30; + maxDistance = 65; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(MortarSwitchSound) +{ + filename = "fx/weapons/mortar_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = MortarSwitchEffect; +}; + +datablock AudioProfile(MortarReloadSound) +{ + filename = "fx/weapons/mortar_reload.wav"; + description = AudioClosest3d; + preload = true; + effect = MortarReloadEffect; +}; + +// DELETE IF NOT NEEDED +//datablock AudioProfile(MortarIdleSound) +//{ +// filename = "fx/weapons/weapon.mortarIdle.wav"; +// description = ClosestLooping3d; +// preload = true; +//}; + +datablock AudioProfile(MortarFireSound) +{ + filename = "fx/weapons/mortar_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = MortarFireEffect; +}; + +datablock AudioProfile(MortarProjectileSound) +{ + filename = "fx/weapons/mortar_projectile.wav"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(MortarExplosionSound) +{ + filename = "fx/weapons/mortar_explode.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = MortarExplosionEffect; +}; + +datablock AudioProfile(UnderwaterMortarExplosionSound) +{ + filename = "fx/weapons/mortar_explode_UW.wav"; + description = AudioBIGExplosion3d; + preload = true; + effect = MortarExplosionEffect; +}; + +datablock AudioProfile(MortarDryFireSound) +{ + filename = "fx/weapons/mortar_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = MortarDryFireEffect; +}; + +//---------------------------------------------------------------------------- +// Bubbles +//---------------------------------------------------------------------------- +datablock ParticleData(MortarBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.4"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.8; + sizes[1] = 0.8; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MortarBubbleEmitter) +{ + ejectionPeriodMS = 9; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 0.1; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "MortarBubbleParticle"; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData( MortarSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 300; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.05; + sizes[1] = 0.2; + sizes[2] = 0.2; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( MortarSplashEmitter ) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 50; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "MortarSplashParticle"; +}; + + +datablock SplashData(MortarSplash) +{ + numSegments = 10; + ejectionFreq = 10; + ejectionAngle = 20; + ringLifetime = 0.4; + lifetimeMS = 400; + velocity = 3.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = MortarSplashEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//--------------------------------------------------------------------------- +// Mortar Shockwaves +//--------------------------------------------------------------------------- +datablock ShockwaveData(UnderwaterMortarShockwave) +{ + width = 6.0; + numSegments = 32; + numVertSegments = 6; + velocity = 10; + acceleration = 20.0; + lifetimeMS = 900; + height = 1.0; + verticalCurve = 0.5; + is2D = false; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.4 0.4 1.0 0.50"; + colors[1] = "0.4 0.4 1.0 0.25"; + colors[2] = "0.4 0.4 1.0 0.0"; + + mapToTerrain = true; + orientToNormal = false; + renderBottom = false; +}; + +datablock ShockwaveData(MortarShockwave) +{ + width = 6.0; + numSegments = 32; + numVertSegments = 6; + velocity = 15; + acceleration = 20.0; + lifetimeMS = 500; + height = 1.0; + verticalCurve = 0.5; + is2D = false; + + texture[0] = "special/shockwave4"; + texture[1] = "special/gradient"; + texWrap = 6.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "0.4 1.0 0.4 0.50"; + colors[1] = "0.4 1.0 0.4 0.25"; + colors[2] = "0.4 1.0 0.4 0.0"; + + mapToTerrain = true; + orientToNormal = false; + renderBottom = false; +}; + + +//-------------------------------------------------------------------------- +// Mortar Explosion Particle effects +//-------------------------------------- +datablock ParticleData( MortarCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + colors[0] = "0.7 1.0 0.7 1.0"; + colors[1] = "0.7 1.0 0.7 0.5"; + colors[2] = "0.7 1.0 0.7 0.0"; + sizes[0] = 4.0; + sizes[1] = 8.0; + sizes[2] = 9.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( MortarCrescentEmitter ) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 0; + ejectionVelocity = 40; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "MortarCrescentParticle"; +}; + + +datablock ParticleData(MortarExplosionSmoke) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.30; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 1250; + lifetimeVarianceMS = 500; + + textureName = "particleTest"; + + useInvAlpha = true; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + textureName = "special/Smoke/bigSmoke"; + + colors[0] = "0.7 0.7 0.7 0.0"; + colors[1] = "0.4 0.4 0.4 0.5"; + colors[2] = "0.4 0.4 0.4 0.5"; + colors[3] = "0.4 0.4 0.4 0.0"; + sizes[0] = 5.0; + sizes[1] = 6.0; + sizes[2] = 10.0; + sizes[3] = 12.0; + times[0] = 0.0; + times[1] = 0.333; + times[2] = 0.666; + times[3] = 1.0; + + + +}; + +datablock ParticleEmitterData(MortarExplosionSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionOffset = 8.0; + + + ejectionVelocity = 1.25; + velocityVariance = 1.2; + + thetaMin = 0.0; + thetaMax = 90.0; + + lifetimeMS = 500; + + particles = "MortarExplosionSmoke"; + +}; + +//--------------------------------------------------------------------------- +// Underwater Explosion +//--------------------------------------------------------------------------- +datablock ParticleData(UnderwaterExplosionSparks) +{ + dragCoefficient = 0; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + textureName = "special/crescent3"; + colors[0] = "0.4 0.4 1.0 1.0"; + colors[1] = "0.4 0.4 1.0 1.0"; + colors[2] = "0.4 0.4 1.0 0.0"; + sizes[0] = 3.5; + sizes[1] = 3.5; + sizes[2] = 3.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(UnderwaterExplosionSparksEmitter) +{ + ejectionPeriodMS = 2; + periodVarianceMS = 0; + ejectionVelocity = 17; + velocityVariance = 4; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "UnderwaterExplosionSparks"; +}; + +datablock ParticleData(MortarExplosionBubbleParticle) +{ + dragCoefficient = 0.0; + gravityCoefficient = -0.25; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1500; + lifetimeVarianceMS = 600; + useInvAlpha = false; + textureName = "special/bubbles"; + + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 0.4"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 2.0; + sizes[1] = 2.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.8; + times[2] = 1.0; +}; +datablock ParticleEmitterData(MortarExplosionBubbleEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + ejectionOffset = 7.0; + velocityVariance = 0.5; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "MortarExplosionBubbleParticle"; +}; + +datablock DebrisData( UnderwaterMortarDebris ) +{ + emitters[0] = MortarExplosionBubbleEmitter; + + explodeOnMaxBounce = true; + + elasticity = 0.4; + friction = 0.2; + + lifetime = 1.5; + lifetimeVariance = 0.2; + + numBounces = 1; +}; + +datablock ExplosionData(UnderwaterMortarSubExplosion1) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + delayMS = 100; + offset = 3.0; + playSpeed = 1.5; + + sizes[0] = "0.75 0.75 0.75"; + sizes[1] = "1.0 1.0 1.0"; + sizes[2] = "0.5 0.5 0.5"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ExplosionData(UnderwaterMortarSubExplosion2) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + delayMS = 50; + offset = 3.0; + playSpeed = 0.75; + + sizes[0] = "1.5 1.5 1.5"; + sizes[1] = "1.5 1.5 1.5"; + sizes[2] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ExplosionData(UnderwaterMortarSubExplosion3) +{ + explosionShape = "disc_explosion.dts"; + faceViewer = true; + delayMS = 0; + offset = 0.0; + playSpeed = 0.5; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "2.0 2.0 2.0"; + sizes[2] = "1.5 1.5 1.5"; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + +datablock ExplosionData(UnderwaterMortarExplosion) +{ + soundProfile = UnderwaterMortarExplosionSound; + + shockwave = UnderwaterMortarShockwave; + shockwaveOnTerrain = true; + + subExplosion[0] = UnderwaterMortarSubExplosion1; + subExplosion[1] = UnderwaterMortarSubExplosion2; + subExplosion[2] = UnderwaterMortarSubExplosion3; + + emitter[0] = MortarExplosionBubbleEmitter; + emitter[1] = UnderwaterExplosionSparksEmitter; + + shakeCamera = true; + camShakeFreq = "8.0 9.0 7.0"; + camShakeAmp = "100.0 100.0 100.0"; + camShakeDuration = 1.3; + camShakeRadius = 25.0; +}; + + +//--------------------------------------------------------------------------- +// Explosion +//--------------------------------------------------------------------------- + +datablock ExplosionData(MortarSubExplosion1) +{ + explosionShape = "mortar_explosion.dts"; + faceViewer = true; + + delayMS = 100; + + offset = 5.0; + + playSpeed = 1.5; + + sizes[0] = "0.5 0.5 0.5"; + sizes[1] = "0.5 0.5 0.5"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(MortarSubExplosion2) +{ + explosionShape = "mortar_explosion.dts"; + faceViewer = true; + + delayMS = 50; + + offset = 5.0; + + playSpeed = 1.0; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(MortarSubExplosion3) +{ + explosionShape = "mortar_explosion.dts"; + faceViewer = true; + delayMS = 0; + offset = 0.0; + playSpeed = 0.7; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "2.0 2.0 2.0"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(MortarExplosion) +{ + soundProfile = MortarExplosionSound; + + shockwave = MortarShockwave; + shockwaveOnTerrain = true; + + subExplosion[0] = MortarSubExplosion1; + subExplosion[1] = MortarSubExplosion2; + subExplosion[2] = MortarSubExplosion3; + + emitter[0] = MortarExplosionSmokeEmitter; + emitter[1] = MortarCrescentEmitter; + + shakeCamera = true; + camShakeFreq = "8.0 9.0 7.0"; + camShakeAmp = "100.0 100.0 100.0"; + camShakeDuration = 1.3; + camShakeRadius = 25.0; +}; + +//--------------------------------------------------------------------------- +// Smoke particles +//--------------------------------------------------------------------------- +datablock ParticleData(MortarSmokeParticle) +{ + dragCoeffiecient = 0.4; + gravityCoefficient = -0.3; // rises slowly + inheritedVelFactor = 0.125; + + lifetimeMS = 1200; + lifetimeVarianceMS = 200; + useInvAlpha = true; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + animateTexture = false; + + textureName = "special/Smoke/bigSmoke"; + + colors[0] = "0.7 1.0 0.7 0.5"; + colors[1] = "0.3 0.7 0.3 0.8"; + colors[2] = "0.0 0.0 0.0 0.0"; + sizes[0] = 1.0; + sizes[1] = 2.0; + sizes[2] = 4.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + +}; + + +datablock ParticleEmitterData(MortarSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 3; + + ejectionVelocity = 2.25; + velocityVariance = 0.55; + + thetaMin = 0.0; + thetaMax = 40.0; + + particles = "MortarSmokeParticle"; +}; + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock GrenadeProjectileData(MortarShot) +{ + projectileShapeName = "mortar_projectile.dts"; + emitterDelay = -1; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 1.0; + damageRadius = 20.0; + radiusDamageType = $DamageType::Mortar; + kickBackStrength = 2500; + + explosion = "MortarExplosion"; + underwaterExplosion = "UnderwaterMortarExplosion"; + velInheritFactor = 0.5; + splash = MortarSplash; + depthTolerance = 10.0; // depth at which it uses underwater explosion + + baseEmitter = MortarSmokeEmitter; + bubbleEmitter = MortarBubbleEmitter; + + grenadeElasticity = 0.15; + grenadeFriction = 0.4; + armingDelayMS = 2000; + muzzleVelocity = 63.7; + drag = 0.1; + + sound = MortarProjectileSound; + + hasLight = true; + lightRadius = 4; + lightColor = "0.05 0.2 0.05"; + + hasLightUnderwaterColor = true; + underWaterLightColor = "0.05 0.075 0.2"; + +}; + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(MortarAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_mortar.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some mortar ammo"; + + computeCRC = true; + +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ItemData(Mortar) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_mortar.dts"; + image = MortarImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a mortar gun"; + + computeCRC = true; + emap = true; +}; + +datablock ShapeBaseImageData(MortarImage) +{ + className = WeaponImage; + shapeFile = "weapon_mortar.dts"; + item = Mortar; + ammo = MortarAmmo; + offset = "0 0 0"; + emap = true; + + projectile = MortarShot; + projectileType = GrenadeProjectile; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = MortarSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + //stateSound[2] = MortarIdleSound; + + stateName[3] = "Fire"; + stateSequence[3] = "Recoil"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.8; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateSound[3] = MortarFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 2.0; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = MortarReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = MortarDryFireSound; + stateTimeoutValue[6] = 1.5; + stateTransitionOnTimeout[6] = "NoAmmo"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/plasma.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/plasma.cs new file mode 100644 index 00000000..d7461061 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/plasma.cs @@ -0,0 +1,493 @@ +//-------------------------------------- +// Plasma rifle +//-------------------------------------- + +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(PlasmaSwitchEffect) +{ + effectname = "weapons/plasma_rifle_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(PlasmaFireEffect) +{ + effectname = "weapons/plasma_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(PlasmaDryFireEffect) +{ + effectname = "weapons/plasma_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(PlasmaIdleEffect) +{ + effectname = "weapons/plasma_rifle_idle"; + minDistance = 2.5; +}; + +datablock EffectProfile(PlasmaReloadEffect) +{ + effectname = "weapons/plasma_rifle_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(PlasmaExpEffect) +{ + effectname = "explosions/explosion.xpl10"; + minDistance = 10; + maxDistance = 25; +}; + +//-------------------------------------------------------------------------- +// Sounds +//-------------------------------------- +datablock AudioProfile(PlasmaSwitchSound) +{ + filename = "fx/weapons/plasma_rifle_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = PlasmaSwitchEffect; +}; + +datablock AudioProfile(PlasmaFireSound) +{ + filename = "fx/weapons/plasma_rifle_fire.wav"; + description = AudioDefault3d; + preload = true; + effect = PlasmaFireEffect; +}; + +datablock AudioProfile(PlasmaIdleSound) +{ + filename = "fx/weapons/plasma_rifle_idle.wav"; + description = ClosestLooping3d; + preload = true; + //effect = PlasmaIdleEffect; +}; + +datablock AudioProfile(PlasmaReloadSound) +{ + filename = "fx/weapons/plasma_rifle_reload.wav"; + description = Audioclosest3d; + preload = true; + effect = PlasmaReloadEffect; +}; + +datablock AudioProfile(plasmaExpSound) +{ + filename = "fx/explosions/explosion.xpl10.wav"; + description = AudioExplosion3d; + effect = PlasmaExpEffect; +}; + +datablock AudioProfile(PlasmaProjectileSound) +{ + filename = "fx/weapons/plasma_rifle_projectile.WAV"; + description = ProjectileLooping3d; + preload = true; +}; + +datablock AudioProfile(PlasmaDryFireSound) +{ + filename = "fx/weapons/plasma_dryfire.wav"; + description = AudioClose3d; + preload = true; + effect = PlasmaDryFireEffect; +}; + +datablock AudioProfile(PlasmaFireWetSound) +{ + filename = "fx/weapons/plasma_fizzle.wav"; + description = AudioClose3d; + preload = true; +}; +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock ParticleData(PlasmaExplosionParticle) +{ + dragCoefficient = 2; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 750; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 0.5; + sizes[1] = 2; +}; + +datablock ParticleEmitterData(PlasmaExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 5; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "PlasmaExplosionParticle"; +}; + +datablock ExplosionData(PlasmaBoltExplosion) +{ + explosionShape = "effect_plasma_explosion.dts"; + soundProfile = plasmaExpSound; + particleEmitter = PlasmaExplosionEmitter; + particleDensity = 150; + particleRadius = 1.25; + faceViewer = true; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.5; +}; + + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData(PlasmaMist) +{ + dragCoefficient = 2.0; + gravityCoefficient = -0.05; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 400; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + textureName = "particleTest"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(PlasmaMistEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + lifetimeMS = 250; + particles = "PlasmaMist"; +}; + +datablock ParticleData( PlasmaSplashParticle2 ) +{ + + dragCoeffiecient = 0.4; + gravityCoefficient = -0.03; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 600; + lifetimeVarianceMS = 300; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 1.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( PlasmaSplashEmitter2 ) +{ + ejectionPeriodMS = 25; + ejectionOffset = 0.2; + periodVarianceMS = 0; + ejectionVelocity = 2.25; + velocityVariance = 0.50; + thetaMin = 0.0; + thetaMax = 30.0; + lifetimeMS = 250; + + particles = "PlasmaSplashParticle2"; +}; + + +datablock ParticleData( PlasmaSplashParticle ) +{ + dragCoefficient = 1; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 0; + textureName = "special/droplet"; + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( PlasmaSplashEmitter ) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + ejectionVelocity = 3; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 60; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "PlasmaSplashParticle"; +}; + + +datablock SplashData(PlasmaSplash) +{ + numSegments = 15; + ejectionFreq = 0.0001; + ejectionAngle = 45; + ringLifetime = 0.5; + lifetimeMS = 400; + velocity = 5.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = PlasmaSplashEmitter; + emitter[1] = PlasmaSplashEmitter2; + emitter[2] = PlasmaMistEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock ParticleData(PlasmaRifleParticle) +{ + dragCoefficient = 2.75; + gravityCoefficient = 0.1; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 550; + lifetimeVarianceMS = 0; + textureName = "particleTest"; + colors[0] = "0.46 0.36 0.26 1.0"; + colors[1] = "0.46 0.36 0.26 0.0"; + sizes[0] = 0.25; + sizes[1] = 0.20; +}; + +datablock ParticleEmitterData(PlasmaRifleEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 10; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 12; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvance = true; + particles = "PlasmaRifleParticle"; +}; + + + +//-------------------------------------------------------------------------- +// Projectile +//-------------------------------------- +datablock LinearFlareProjectileData(PlasmaBolt) +{ + projectileShapeName = "plasmabolt.dts"; + scale = "2.0 2.0 2.0"; + faceViewer = true; + directDamage = 0.0; + hasDamageRadius = true; + indirectDamage = 0.45; + damageRadius = 4.0; + kickBackStrength = 0.0; + radiusDamageType = $DamageType::Plasma; + + explosion = "PlasmaBoltExplosion"; + splash = PlasmaSplash; + + dryVelocity = 55.0; + wetVelocity = -1; + velInheritFactor = 0.3; + fizzleTimeMS = 2000; + lifetimeMS = 3000; + explodeOnDeath = false; + reflectOnWaterImpactAngle = 0.0; + explodeOnWaterImpact = true; + deflectionOnWaterImpact = 0.0; + fizzleUnderwaterMS = -1; + + //activateDelayMS = 100; + activateDelayMS = -1; + + size[0] = 0.2; + size[1] = 0.5; + size[2] = 0.1; + + + numFlares = 35; + flareColor = "1 0.75 0.25"; + flareModTexture = "flaremod"; + flareBaseTexture = "flarebase"; + + sound = PlasmaProjectileSound; + fireSound = PlasmaFireSound; + wetFireSound = PlasmaFireWetSound; + + hasLight = true; + lightRadius = 3.0; + lightColor = "1 0.75 0.25"; +}; + + +//-------------------------------------------------------------------------- +// Ammo +//-------------------------------------- + +datablock ItemData(PlasmaAmmo) +{ + className = Ammo; + catagory = "Ammo"; + shapeFile = "ammo_plasma.dts"; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "some plasma gun ammo"; +}; + +//-------------------------------------------------------------------------- +// Weapon +//-------------------------------------- +datablock ItemData(Plasma) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_plasma.dts"; + image = PlasmaImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a plasma gun"; +}; + +datablock ShapeBaseImageData(PlasmaImage) +{ + className = WeaponImage; + shapeFile = "weapon_plasma.dts"; + item = Plasma; + ammo = PlasmaAmmo; + offset = "0 0 0"; + + projectile = PlasmaBolt; + projectileType = LinearFlareProjectile; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + stateSound[0] = PlasmaSwitchSound; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "CheckWet"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.1; + stateFire[3] = true; + stateRecoil[3] = LightRecoil; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateEmitterTime[3] = 0.2; + stateSound[3] = PlasmaFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 0.6; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = PlasmaReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Reload"; + stateSequence[5] = "NoAmmo"; + stateTransitionOnTriggerDown[5] = "DryFire"; + + stateName[6] = "DryFire"; + stateSound[6] = PlasmaDryFireSound; + stateTimeoutValue[6] = 1.5; + stateTransitionOnTimeout[6] = "NoAmmo"; + + stateName[7] = "WetFire"; + stateSound[7] = PlasmaFireWetSound; + stateTimeoutValue[7] = 1.5; + stateTransitionOnTimeout[7] = "Ready"; + + stateName[8] = "CheckWet"; + stateTransitionOnWet[8] = "WetFire"; + stateTransitionOnNotWet[8] = "Fire"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/shockLance.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/shockLance.cs new file mode 100644 index 00000000..20cc19c8 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/shockLance.cs @@ -0,0 +1,297 @@ +//-------------------------------------------------------------------------- +// Shock Lance +// +// +//-------------------------------------------------------------------------- + +datablock EffectProfile(ShockLanceSwitchEffect) +{ + effectname = "weapons/shocklance_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ShockLanceFireEffect) +{ + effectname = "weapons/shocklance_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(ShockLanceReloadEffect) +{ + effectname = "weapons/shocklance_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(ShockLanceSwitchSound) +{ + filename = "fx/weapons/shocklance_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = ShockLanceSwitchEffect; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock AudioProfile(ShockLanceHitSound) +{ + filename = "fx/weapons/shocklance_fire.WAV"; + description = AudioClose3d; + preload = true; + effect = ShockLanceFireEffect; +}; + +datablock AudioProfile(ShockLanceReloadSound) +{ + filename = "fx/weapons/shocklance_reload.WAV"; + description = AudioClosest3d; + preload = true; + effect = ShockLanceReloadEffect; +}; + +datablock AudioProfile(ShockLanceDryFireSound) +{ + filename = "fx/weapons/shocklance_dryfire.WAV"; + description = AudioClose3d; + preload = true; + effect = ShockLanceReloadEffect; +}; + +datablock AudioProfile(ShockLanceMissSound) +{ + filename = "fx/weapons/shocklance_miss.WAV"; + description = AudioExplosion3d; + preload = true; +}; + +//-------------------------------------------------------------------------- +// Particle data +//-------------------------------------------------------------------------- +datablock ParticleData(ShockParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.0; + inheritedVelFactor = 0.0; + + lifetimeMS = 1000; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + numParts = 50; + + animateTexture = true; + framesPerSec = 26; + + animTexName[00] = "special/Explosion/exp_0002"; + animTexName[01] = "special/Explosion/exp_0004"; + animTexName[02] = "special/Explosion/exp_0006"; + animTexName[03] = "special/Explosion/exp_0008"; + animTexName[04] = "special/Explosion/exp_0010"; + animTexName[05] = "special/Explosion/exp_0012"; + animTexName[06] = "special/Explosion/exp_0014"; + animTexName[07] = "special/Explosion/exp_0016"; + animTexName[08] = "special/Explosion/exp_0018"; + animTexName[09] = "special/Explosion/exp_0020"; + animTexName[10] = "special/Explosion/exp_0022"; + animTexName[11] = "special/Explosion/exp_0024"; + animTexName[12] = "special/Explosion/exp_0026"; + animTexName[13] = "special/Explosion/exp_0028"; + animTexName[14] = "special/Explosion/exp_0030"; + animTexName[15] = "special/Explosion/exp_0032"; + animTexName[16] = "special/Explosion/exp_0034"; + animTexName[17] = "special/Explosion/exp_0036"; + animTexName[18] = "special/Explosion/exp_0038"; + animTexName[19] = "special/Explosion/exp_0040"; + animTexName[20] = "special/Explosion/exp_0042"; + animTexName[21] = "special/Explosion/exp_0044"; + animTexName[22] = "special/Explosion/exp_0046"; + animTexName[23] = "special/Explosion/exp_0048"; + animTexName[24] = "special/Explosion/exp_0050"; + animTexName[25] = "special/Explosion/exp_0052"; + + + colors[0] = "0.5 0.5 1.0 1.0"; + colors[1] = "0.5 0.5 1.0 0.5"; + colors[2] = "0.25 0.25 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 0.5; + sizes[2] = 0.5; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(ShockParticleEmitter) +{ + ejectionPeriodMS = 1; + periodVarianceMS = 0; + + ejectionVelocity = 0.25; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 30.0; + + particles = "ShockParticle"; +}; + +//-------------------------------------------------------------------------- +// Shockwave +//-------------------------------------------------------------------------- +datablock ShockwaveData( ShocklanceHit ) +{ + width = 0.5; + numSegments = 20; + numVertSegments = 1; + velocity = 0.25; + acceleration = 1.0; + lifetimeMS = 600; + height = 0.1; + verticalCurve = 0.5; + + mapToTerrain = false; + renderBottom = false; + orientToNormal = true; + + texture[0] = "special/shocklanceHit"; + texture[1] = "special/gradient"; + texWrap = 3.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; + + colors[0] = "1.0 1.0 1.0 1.0"; + colors[1] = "1.0 1.0 1.0 0.5"; + colors[2] = "1.0 1.0 1.0 0.0"; +}; + + +//-------------------------------------- +// Projectile +//-------------------------------------- +datablock ShockLanceProjectileData(BasicShocker) +{ + directDamage = 0.45; + radiusDamageType = $DamageType::ShockLance; + kickBackStrength = 2500; + velInheritFactor = 0; + sound = ""; + + zapDuration = 1.0; + impulse = 1800; + boltLength = 14.0; + extension = 14.0; // script variable indicating distance you can shock people from + lightningFreq = 25.0; + lightningDensity = 3.0; + lightningAmp = 0.25; + lightningWidth = 0.05; + + shockwave = ShocklanceHit; + + boltSpeed[0] = 2.0; + boltSpeed[1] = -0.5; + + texWrap[0] = 1.5; + texWrap[1] = 1.5; + + startWidth[0] = 0.3; + endWidth[0] = 0.6; + startWidth[1] = 0.3; + endWidth[1] = 0.6; + + texture[0] = "special/shockLightning01"; + texture[1] = "special/shockLightning02"; + texture[2] = "special/shockLightning03"; + texture[3] = "special/ELFBeam"; + + emitter[0] = ShockParticleEmitter; +}; + + +//-------------------------------------- +// Rifle and item... +//-------------------------------------- +datablock ItemData(ShockLance) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_shocklance.dts"; + image = ShockLanceImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a shocklance"; + + computeCRC = true; + emap = true; +}; + +datablock ShapeBaseImageData(ShockLanceImage) +{ + classname = WeaponImage; + shapeFile = "weapon_shocklance.dts"; + item = ShockLance; + offset = "0 0 0"; + emap = true; + + projectile = BasicShocker; + + usesEnergy = true; + missEnergy = 0; + hitEnergy = 15; + minEnergy = 15; // needs to change to be datablock's energy drain for a hit + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateSound[0] = ShockLanceSwitchSound; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "CheckWet"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.5; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + stateSound[3] = ShockLanceDryFireSound; + + stateName[4] = "Reload"; + stateTransitionOnNoAmmo[4] = "NoAmmo"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 2.0; + stateAllowImageChange[4] = false; + stateSequence[4] = "Reload"; + stateSound[4] = ShockLanceReloadSound; + + stateName[5] = "NoAmmo"; + stateTransitionOnAmmo[5] = "Ready"; + + stateName[6] = "DryFire"; + stateSound[6] = ShockLanceDryFireSound; + stateTimeoutValue[6] = 1.0; + stateTransitionOnTimeout[6] = "Ready"; + + stateName[7] = "CheckWet"; + stateTransitionOnWet[7] = "DryFire"; + stateTransitionOnNotWet[7] = "Fire"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/sniperRifle.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/sniperRifle.cs new file mode 100644 index 00000000..55eebbbf --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/sniperRifle.cs @@ -0,0 +1,310 @@ +//-------------------------------------------------------------------------- +// Sniper rifle +// +// +//-------------------------------------------------------------------------- + +datablock EffectProfile(SniperRifleSwitchEffect) +{ + effectname = "weapons/sniper_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(SniperRifleFireEffect) +{ + effectname = "weapons/sniper_fire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(SniperRifleFireWetEffect) +{ + effectname = "weapons/sniper_underwater"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(SniperRifleSwitchSound) +{ + filename = "fx/weapons/sniper_activate.wav"; + description = AudioClosest3d; + preload = true; + effect = SniperRifleSwitchEffect; +}; + +datablock AudioProfile(SniperRifleFireSound) +{ + filename = "fx/weapons/sniper_fire.wav"; + description = AudioClose3d; + preload = true; + effect = SniperRifleFireEffect; +}; + +datablock AudioProfile(SniperRifleFireWetSound) +{ + filename = "fx/weapons/sniper_underwater.wav"; + description = AudioClose3d; + preload = true; + effect = SniperRifleFireWetEffect; +}; + +datablock AudioProfile(SniperRifleDryFireSound) +{ + filename = "fx/weapons/chaingun_dryfire.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock AudioProfile(SniperRifleProjectileSound) +{ + filename = "fx/weapons/sniper_miss.wav"; + description = AudioClose3d; + preload = true; +}; + +//-------------------------------------------------------------------------- +// Splash +//-------------------------------------------------------------------------- +datablock ParticleData( SniperSplashParticle ) +{ + + dragCoeffiecient = 0.4; + gravityCoefficient = -0.03; // rises slowly + inheritedVelFactor = 0.025; + + lifetimeMS = 600; + lifetimeVarianceMS = 300; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -200.0; + spinRandomMax = 200.0; + + + colors[0] = "0.7 0.8 1.0 1.0"; + colors[1] = "0.7 0.8 1.0 0.5"; + colors[2] = "0.7 0.8 1.0 0.0"; + sizes[0] = 0.5; + sizes[1] = 1.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( SniperSplashEmitter ) +{ + ejectionPeriodMS = 25; + ejectionOffset = 0.2; + periodVarianceMS = 0; + ejectionVelocity = 2.25; + velocityVariance = 0.50; + thetaMin = 0.0; + thetaMax = 30.0; + lifetimeMS = 250; + + particles = "SniperSplashParticle"; +}; + +datablock SplashData( SniperSplash ) +{ + numSegments = 5; + ejectionFreq = 0.0001; + ejectionAngle = 45; + ringLifetime = 0.5; + lifetimeMS = 400; + velocity = 5.0; + startRadius = 0.0; + acceleration = -3.0; + texWrap = 5.0; + + texture = "special/water2"; + + emitter[0] = SniperSplashEmitter; + + colors[0] = "0.7 0.8 1.0 0.0"; + colors[1] = "0.7 0.8 1.0 1.0"; + colors[2] = "0.7 0.8 1.0 0.0"; + colors[3] = "0.7 0.8 1.0 0.0"; + times[0] = 0.0; + times[1] = 0.4; + times[2] = 0.8; + times[3] = 1.0; +}; + +//-------------------------------------------------------------------------- +// Explosion +//-------------------------------------- +datablock AudioProfile(sniperExpSound) +{ + filename = "fx/weapons/sniper_impact.WAV"; + description = AudioClosest3d; + preload = true; +}; + +datablock ParticleData(SniperExplosionParticle1) +{ + dragCoefficient = 0.65; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 0.0625; + sizes[1] = 0.2; +}; + +datablock ParticleEmitterData(SniperExplosionEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 0.75; + velocityVariance = 0.25; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "SniperExplosionParticle1"; +}; + +datablock ExplosionData(SniperExplosion) +{ + explosionShape = "energy_explosion.dts"; + soundProfile = sniperExpSound; + + particleEmitter = SniperExplosionEmitter; + particleDensity = 150; + particleRadius = 0.25; + + faceViewer = false; +}; + + +//-------------------------------------- +// Projectile +//-------------------------------------- +datablock SniperProjectileData(BasicSniperShot) +{ + directDamage = 0.4; + hasDamageRadius = false; + indirectDamage = 0.0; + damageRadius = 0.0; + velInheritFactor = 1.0; + sound = SniperRifleProjectileSound; + explosion = "SniperExplosion"; + splash = SniperSplash; + directDamageType = $DamageType::Laser; + + maxRifleRange = 1000; + rifleHeadMultiplier = 1.3; + beamColor = "1 0.1 0.1"; + fadeTime = 1.0; + + startBeamWidth = 0.145; + endBeamWidth = 0.25; + pulseBeamWidth = 0.5; + beamFlareAngle = 3.0; + minFlareSize = 0.0; + maxFlareSize = 400.0; + pulseSpeed = 6.0; + pulseLength = 0.150; + + lightRadius = 1.0; + lightColor = "0.3 0.0 0.0"; + + textureName[0] = "special/flare"; + textureName[1] = "special/nonlingradient"; + textureName[2] = "special/laserrip01"; + textureName[3] = "special/laserrip02"; + textureName[4] = "special/laserrip03"; + textureName[5] = "special/laserrip04"; + textureName[6] = "special/laserrip05"; + textureName[7] = "special/laserrip06"; + textureName[8] = "special/laserrip07"; + textureName[9] = "special/laserrip08"; + textureName[10] = "special/laserrip09"; + textureName[11] = "special/sniper00"; + +}; + + +//-------------------------------------- +// Rifle and item... +//-------------------------------------- +datablock ItemData(SniperRifle) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_sniper.dts"; + image = SniperRifleImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a sniper rifle"; + + computeCRC = true; + +}; + +datablock ShapeBaseImageData(SniperRifleImage) +{ + className = WeaponImage; + shapeFile = "weapon_sniper.dts"; + item = SniperRifle; + projectile = BasicSniperShot; + projectileType = SniperProjectile; + armThread = looksn; + + usesEnergy = true; + minEnergy = 6; + + stateName[0] = "Activate"; + stateTransitionOnTimeout[0] = "ActivateReady"; + stateSound[0] = SniperRifleSwitchSound; + stateTimeoutValue[0] = 0.5; + stateSequence[0] = "Activate"; + + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "CheckWet"; + + stateName[3] = "Fire"; + stateTransitionOnTimeout[3] = "Reload"; + stateTimeoutValue[3] = 0.5; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateSequence[3] = "Fire"; + stateScript[3] = "onFire"; + + stateName[4] = "Reload"; + stateTransitionOnTimeout[4] = "Ready"; + stateTimeoutValue[4] = 0.5; + stateAllowImageChange[4] = false; + + stateName[5] = "CheckWet"; + stateTransitionOnWet[5] = "DryFire"; + stateTransitionOnNotWet[5] = "Fire"; + + stateName[6] = "NoAmmo"; + stateTransitionOnAmmo[6] = "Reload"; + stateTransitionOnTriggerDown[6] = "DryFire"; + stateSequence[6] = "NoAmmo"; + + stateName[7] = "DryFire"; + stateSound[7] = SniperRifleDryFireSound; + stateTimeoutValue[7] = 0.5; + stateTransitionOnTimeout[7] = "Ready"; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/weapons/targetingLaser.cs b/public/base/@vl2/scripts.vl2/scripts/weapons/targetingLaser.cs new file mode 100644 index 00000000..5af6419e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weapons/targetingLaser.cs @@ -0,0 +1,129 @@ +//-------------------------------------------------------------------------- +// Targeting laser +// +//-------------------------------------------------------------------------- +datablock EffectProfile(TargetingLaserSwitchEffect) +{ + effectname = "weapons/generic_switch"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(TargetingLaserPaintEffect) +{ + effectname = "weapons/targetinglaser_paint"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock AudioProfile(TargetingLaserSwitchSound) +{ + filename = "fx/weapons/generic_switch.wav"; + description = AudioClosest3d; + preload = true; + effect = TargetingLaserSwitchEffect; +}; + +datablock AudioProfile(TargetingLaserPaintSound) +{ + filename = "fx/weapons/targetinglaser_paint.wav"; + description = CloseLooping3d; + preload = true; + effect = TargetingLaserPaintEffect; +}; + + +//-------------------------------------- +// Projectile +//-------------------------------------- +datablock TargetProjectileData(BasicTargeter) +{ + directDamage = 0.0; + hasDamageRadius = false; + indirectDamage = 0.0; + damageRadius = 0.0; + velInheritFactor = 1.0; + + maxRifleRange = 1000; + beamColor = "0.1 1.0 0.1"; + + startBeamWidth = 0.20; + pulseBeamWidth = 0.15; + beamFlareAngle = 3.0; + minFlareSize = 0.0; + maxFlareSize = 400.0; + pulseSpeed = 6.0; + pulseLength = 0.150; + + textureName[0] = "special/nonlingradient"; + textureName[1] = "special/flare"; + textureName[2] = "special/pulse"; + textureName[3] = "special/expFlare"; + beacon = true; +}; + + +//-------------------------------------- +// Rifle and item... +//-------------------------------------- +datablock ItemData(TargetingLaser) +{ + className = Weapon; + catagory = "Spawn Items"; + shapeFile = "weapon_targeting.dts"; + image = TargetingLaserImage; + mass = 1; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + pickUpName = "a targeting laser rifle"; + + computeCRC = true; + +}; + +datablock ShapeBaseImageData(TargetingLaserImage) +{ + className = WeaponImage; + + shapeFile = "weapon_targeting.dts"; + item = TargetingLaser; + offset = "0 0 0"; + + projectile = BasicTargeter; + projectileType = TargetProjectile; + deleteLastProjectile = true; + + usesEnergy = true; + minEnergy = 3; + + stateName[0] = "Activate"; + stateSequence[0] = "Activate"; + stateSound[0] = TargetingLaserSwitchSound; + stateTimeoutValue[0] = 0.5; + stateTransitionOnTimeout[0] = "ActivateReady"; + + stateName[1] = "ActivateReady"; + stateTransitionOnAmmo[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; + + stateName[2] = "Ready"; + stateTransitionOnNoAmmo[2] = "NoAmmo"; + stateTransitionOnTriggerDown[2] = "Fire"; + + stateName[3] = "Fire"; + stateEnergyDrain[3] = 3; + stateFire[3] = true; + stateAllowImageChange[3] = false; + stateScript[3] = "onFire"; + stateTransitionOnTriggerUp[3] = "Deconstruction"; + stateTransitionOnNoAmmo[3] = "Deconstruction"; + stateSound[3] = TargetingLaserPaintSound; + + stateName[4] = "NoAmmo"; + stateTransitionOnAmmo[4] = "Ready"; + + stateName[5] = "Deconstruction"; + stateScript[5] = "deconstruct"; + stateTransitionOnTimeout[5] = "Ready"; +}; diff --git a/public/base/@vl2/scripts.vl2/scripts/weather.cs b/public/base/@vl2/scripts.vl2/scripts/weather.cs new file mode 100644 index 00000000..ab24bb3e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weather.cs @@ -0,0 +1,348 @@ +datablock AudioProfile(Universal_Rain_Light_1) +{ + filename = "fx/environment/rain_light_1.wav"; + description = AudioLooping2d; +}; + +datablock PrecipitationData(Rain) +{ + type = 0; + soundProfile = "Universal_Rain_Light_1"; + materialList = "raindrops.dml"; + sizeX = 0.2; + sizeY = 0.45; + + movingBoxPer = 0.35; + divHeightVal = 1.5; + sizeBigBox = 1; + topBoxSpeed = 20; + frontBoxSpeed = 30; + topBoxDrawPer = 0.5; + bottomDrawHeight = 40; + skipIfPer = -0.3; + bottomSpeedPer = 1.0; + frontSpeedPer = 1.5; + frontRadiusPer = 0.5; + +}; + +datablock PrecipitationData(Snow) +{ + type = 1; + materialList = "snowflakes.dml"; + sizeX = 0.20; + sizeY = 0.20; + + movingBoxPer = 0.35; + divHeightVal = 1.5; + sizeBigBox = 1; + topBoxSpeed = 20; + frontBoxSpeed = 30; + topBoxDrawPer = 0.5; + bottomDrawHeight = 40; + skipIfPer = -0.3; + bottomSpeedPer = 1.0; + frontSpeedPer = 1.5; + frontRadiusPer = 0.5; +}; + +datablock PrecipitationData(Sand) +{ + type = 2; + maxSize = 2; + + movingBoxPer = 0.35; + divHeightVal = 1.5; + sizeBigBox = 1; + topBoxSpeed = 20; + frontBoxSpeed = 30; + topBoxDrawPer = 0.5; + bottomDrawHeight = 40; + skipIfPer = -0.3; + bottomSpeedPer = 1.0; + frontSpeedPer = 1.5; + frontRadiusPer = 0.5; +}; + +function Sky::setStormClouds(%obj, %inStartT, %inLengthT, %outStartT, %outLengthT) +{ + if(%inStartT < %outStartT) + %obj.stormCloudsShow(false); + else + %obj.stormCloudsShow(true); + + %obj.schedule(%inStartT*1000, "stormClouds", 1, %inLengthT); + %obj.schedule(%outStartT*1000, "stormClouds", 0, %outLengthT); +} + +function Sky::setStormFog(%obj, %inStartT, %inLengthT, %inPer, %outStartT, %outLengthT, %outPer) +{ + if(%inStartT < %outStartT) + %obj.stormFogShow(false); + else + %obj.stormFogShow(true); + %obj.schedule(%inStartT*1000, "stormFog", %inPer, %inLengthT); + %obj.schedule(%outStartT*1000, "stormFog", %outPer, %outLengthT); +} + +function Precipitation::setStorm(%obj, %inStartT, %inLengthT, %inPer, %outStartT, %outLengthT, %outPer) +{ + if(%inStartT < %outStartT) + %obj.stormShow(false); + else + %obj.stormShow(true); + %obj.schedule(%inStartT*1000, "stormPrecipitation", %inPer, %inLengthT); + %obj.schedule(%outStartT*1000, "stormPrecipitation", %outPer, %outLengthT); +} + +function testStorm() +{ + Sky.setStormClouds(0, 60, 70, 60); + Sky.setStormFog(0, 60, 1, 70, 60, 0); + Precipitation.setStorm(30, 30, 1, 70, 30, 0); +} + + +//-------------------------------------------------------------------------- +// Fireball data +//-------------------------------------------------------------------------- + +datablock ParticleData( FireballAtmosphereCrescentParticle ) +{ + dragCoefficient = 2; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = -0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 000; + textureName = "special/crescent3"; + colors[0] = "1.0 0.75 0.2 1.0"; + colors[1] = "1.0 0.75 0.2 0.5"; + colors[2] = "1.0 0.75 0.2 0.0"; + sizes[0] = 2.0; + sizes[1] = 4.0; + sizes[2] = 5.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData( FireballAtmosphereCrescentEmitter ) +{ + ejectionPeriodMS = 25; + periodVarianceMS = 0; + ejectionVelocity = 20; + velocityVariance = 5.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 80; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 200; + particles = "FireballAtmosphereCrescentParticle"; +}; + +datablock ParticleData(FireballAtmosphereExplosionParticle) +{ + dragCoefficient = 2; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 750; + lifetimeVarianceMS = 150; + textureName = "particleTest"; + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + sizes[0] = 1; + sizes[1] = 2; +}; + +datablock ParticleEmitterData(FireballAtmosphereExplosionEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 12; + velocityVariance = 1.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "FireballAtmosphereExplosionParticle"; +}; + + +datablock ExplosionData(FireballAtmosphereSubExplosion1) +{ + explosionShape = "effect_plasma_explosion.dts"; + faceViewer = true; + + delayMS = 50; + + offset = 3.0; + + playSpeed = 1.5; + + sizes[0] = "0.5 0.5 0.5"; + sizes[1] = "0.5 0.5 0.5"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(FireballAtmosphereSubExplosion2) +{ + explosionShape = "effect_plasma_explosion.dts"; + faceViewer = true; + + delayMS = 100; + + offset = 3.5; + + playSpeed = 1.0; + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "1.0 1.0 1.0"; + times[0] = 0.0; + times[1] = 1.0; +}; + +datablock ExplosionData(FireballAtmosphereSubExplosion3) +{ + explosionShape = "effect_plasma_explosion.dts"; + faceViewer = true; + + delayMS = 0; + + offset = 0.0; + + playSpeed = 0.7; + + + sizes[0] = "1.0 1.0 1.0"; + sizes[1] = "2.0 2.0 2.0"; + times[0] = 0.0; + times[1] = 1.0; + +}; + +datablock ExplosionData(FireballAtmosphereBoltExplosion) +{ + soundProfile = PlasmaBarrelExpSound; + particleEmitter = FireballAtmosphereExplosionEmitter; + particleDensity = 250; + particleRadius = 1.25; + faceViewer = true; + + emitter[0] = FireballAtmosphereCrescentEmitter; + + subExplosion[0] = FireballAtmosphereSubExplosion1; + subExplosion[1] = FireballAtmosphereSubExplosion2; + subExplosion[2] = FireballAtmosphereSubExplosion3; + + shakeCamera = true; + camShakeFreq = "10.0 9.0 9.0"; + camShakeAmp = "70.0 70.0 70.0"; + camShakeDuration = 1.3; + camShakeRadius = 15.0; +}; + +datablock ParticleData(FireballAtmosphereParticle) +{ + dragCoeffiecient = 0.0; + gravityCoefficient = -0.0; + inheritedVelFactor = 0.85; + + lifetimeMS = 1600; + lifetimeVarianceMS = 0; + + textureName = "particleTest"; + + useInvAlpha = false; + spinRandomMin = -100.0; + spinRandomMax = 100.0; + + animateTexture = true; + framesPerSec = 15; + + animTexName[00] = "special/Explosion/exp_0002"; + animTexName[01] = "special/Explosion/exp_0004"; + animTexName[02] = "special/Explosion/exp_0006"; + animTexName[03] = "special/Explosion/exp_0008"; + animTexName[04] = "special/Explosion/exp_0010"; + animTexName[05] = "special/Explosion/exp_0012"; + animTexName[06] = "special/Explosion/exp_0014"; + animTexName[07] = "special/Explosion/exp_0016"; + animTexName[08] = "special/Explosion/exp_0018"; + animTexName[09] = "special/Explosion/exp_0020"; + animTexName[10] = "special/Explosion/exp_0022"; + animTexName[11] = "special/Explosion/exp_0024"; + animTexName[12] = "special/Explosion/exp_0026"; + animTexName[13] = "special/Explosion/exp_0028"; + animTexName[14] = "special/Explosion/exp_0030"; + animTexName[15] = "special/Explosion/exp_0032"; + animTexName[16] = "special/Explosion/exp_0034"; + animTexName[17] = "special/Explosion/exp_0036"; + animTexName[18] = "special/Explosion/exp_0038"; + animTexName[19] = "special/Explosion/exp_0040"; + animTexName[20] = "special/Explosion/exp_0042"; + animTexName[21] = "special/Explosion/exp_0044"; + animTexName[22] = "special/Explosion/exp_0046"; + animTexName[23] = "special/Explosion/exp_0048"; + animTexName[24] = "special/Explosion/exp_0050"; + animTexName[25] = "special/Explosion/exp_0052"; + + + colors[0] = "1.0 0.7 0.5 1.0"; + colors[1] = "1.0 0.5 0.2 1.0"; + colors[2] = "1.0 0.25 0.1 0.0"; + sizes[0] = 10.0; + sizes[1] = 4.0; + sizes[2] = 2.0; + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; + +}; + +datablock ParticleEmitterData(FireballAtmosphereEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + + ejectionVelocity = 0.25; + velocityVariance = 0.0; + + thetaMin = 0.0; + thetaMax = 30.0; + + particles = "FireballAtmosphereParticle"; +}; + +datablock DebrisData( FireballAtmosphereDebris ) +{ + emitters[0] = FireballAtmosphereEmitter; + + explosion = FireballAtmosphereBoltExplosion; + explodeOnMaxBounce = true; + + elasticity = 0.0; + friction = 1.0; + + lifetime = 100.0; + lifetimeVariance = 0.0; + + numBounces = 0; + bounceVariance = 0; + + ignoreWater = false; +}; + +datablock FireballAtmosphereData(Fireball) +{ + fireball = FireballAtmosphereDebris; +}; + diff --git a/public/base/@vl2/scripts.vl2/scripts/webbrowser.cs b/public/base/@vl2/scripts.vl2/scripts/webbrowser.cs new file mode 100644 index 00000000..5b3367b5 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/webbrowser.cs @@ -0,0 +1,2640 @@ +//==-- FUNCTIONS ------------------------------------------------------------- +//$strcheck = "14 : < > * ^ | ~ @ % & / \\ ` \""; +//$strcheck = "13 : < > * ^ ~ @ % & / \\ ` \""; +$strcheck = "7\t<\t>\t:\t%\t\\\t/\t\""; +$strcheck2 = "5\t<\t>\t:\t%\t\\"; + +$playerGfx = "texticons/twb/twb_default.jpg"; +$tribeGfx = "texticons/twb/twb_default.jpg"; + +//----------------------------------------------------------------------------- +if(!isObject(TProfileHdr)) +{ + new GuiControl(TProfileHdr); +} +//----------------------------------------------------------------------------- +function BrowserSearchDone() +{ + Canvas.popDialog(BrowserSearchDlg); + %id = BrowserSearchMatchList.getSelectedId(); + if(%id != -1) + { + if(BrowserSearchPane.query $= 4) + TWBTabView.view(getField(BrowserSearchMatchList.getRowTextById(%id), 1), "Tribe"); + else + TWBTabView.view(getField(BrowserSearchMatchList.getRowTextById(%id), 0), "Warrior"); + } +} +//----------------------------------------------------------------------------- +function TextCheck2(%text,%handler) +{ + %handler.textCheck = 0; + for(%i=1;%i -1) + { + %handler.textCheck=1; + break; + } + } +} +//----------------------------------------------------------------------------- +function TextCheck(%text,%handler) +{ + %handler.textCheck = 0; + for(%i=1;%i -1) + { + %handler.textCheck=1; + break; + } + } +} +//----------------------------------------------------------------------------- +function BrowserStartSearch() +{ + if(trim($BrowserSearchField) $="" || trim($BrowserSearchField) $="_") + { + MessageBoxOK("NOTICE","Blank/Underline searches are not allowed, enter one or more characters of text and try again.","Search_EditField.makeFirstResponder(1);"); + } + else + { + TextCheck($BrowserSearchField,BrowserSearchPane); + if(!BrowserSearchPane.textCheck) + { + BrowserSearchPane.key = LaunchGui.key++; + if(BrowserSearchPane.query==3) + BrowserSearchPane.state = "warriorSearch"; + else + BrowserSearchPane.state = "tribeSearch"; + + BrowserSearchMatchList.clear(); + canvas.SetCursor(ArrowWaitCursor); + if(isEventPending(TribeAndWarriorBrowserGui.eid)) + cancel(TribeAndWarriorBrowserGui.eid); + + TribeAndWarriorBrowserGui.eid = schedule(250,0,ExecuteSearch,0,BrowserSearchPane); + } + else + { + for(%x=0;%x 1) + { + TW_Admin.setVisible(1); + TL_Invites.setVisible(1); + } + else + { + TW_Admin.setVisible(0); + TL_Invites.setVisible(0); + } + } + else + { + TProfileHdr.playerName = getField(%line,0); + TProfileHdr.playerTag = getField(%line,1); + TProfileHdr.appending = getField(%line,2); + TProfileHdr.playerID = getField(%line,3); + TProfileHdr.registered = getField(%line,4); + TProfileHdr.onLine = getField(%line,5); + TprofileHdr.playerURL = getField(%line,6); + TProfileHdr.playerGFX = getField(%line,7); + TProfileHdr.twa = 0; + TProfileHdr.Desc = ""; + + if(getField(getRecord(WonGetAuthInfo(),0),3)==getField(%line,3)) + TProfileHdr.twa = 1; + + for(%checkID=0;%checkID= 2) + TProfileHdr.twa = 1; + } + + W_Profile.setVisible(1); + W_History.setVisible(1); + W_Tribes.setVisible(1); + + %isMe = getField(getRecord(wonGetAuthInfo(),0),0)$=twbTitle.name; + TProfileHdr.isMe = %isMe; + +// if(!TProfileHdr.twa) + TProfileHdr.twa = TProfileHdr.isMe; + + if(TProfileHdr.twa) + { + W_BuddyList.setText("BUDDYLIST"); + W_BuddyList.setVisible(1); + W_BuddyList.command = "PlayerPane.ButtonClick(3);"; + W_BuddyList.groupNum = 5; + W_Admin.setVisible(1); + } + else + { + W_BuddyList.setText("OPTIONS"); + W_BuddyList.setVisible(1); + W_BuddyList.command = "PlayerPane.ButtonClick(4);"; + W_BuddyList.groupNum = 4; + W_Admin.setVisible(0); + } + } +} +//----------------------------------------------------------------------------- +function getTribeLinkName(%text, %offset) +{ + %name = getField(%text, %offset); + %tag = getField(%text, %offset+1); + return "" @ %name @ " - " @ %tag @ ""; +} +//----------------------------------------------------------------------------- +function getTribeName(%text, %offset) +{ + return getField(%text, %offset) @ " - " @ getField(%text, %offset + 1) TAB getField(%text, %offset); +} +//----------------------------------------------------------------------------- +function SearchTribes() +{ + if(BrowserSearchPane.query !$= 4) + { + // clear out the fields... + $BrowserSearchField = ""; + BrowserSearchMatchList.clear(); + } + + Canvas.pushDialog(BrowserSearchDlg); + Search_EditField.makeFirstResponder(1); + BrowserSearchPane.setTitle("TRIBE SEARCH"); + BrowserSearchPane.query = 4; +} +//----------------------------------------------------------------------------- +function KillTribe(%tribe) +{ + TWBTabView.closeCurrentPane(); + Canvas.popDialog(TribePropertiesDlg); + TribePane.key = LaunchGui.key++; + TribePane.state = "killTribe"; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(18,%tribe,TribePane,TribePane.key); +} +//----------------------------------------------------------------------------- +function LinkClearBuddylist(%owner,%handler) +{ + %owner.key = LaunchGui.key++; + %owner.state = %handler; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(26,"clearBuddy", %owner, %owner.key); +} +//----------------------------------------------------------------------------- +function LinkRemoveBuddy(%player, %owner, %handler) +{ + %owner.key = LaunchGui.key++; + %owner.state = %handler; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(11, %player, %owner, %owner.key); +} +//----------------------------------------------------------------------------- +function LinkAddBuddy(%player, %owner, %handler) +{ + %owner.key = LaunchGui.key++; + %owner.state = %handler; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(10, %player, %owner, %owner.key); +} +//----------------------------------------------------------------------------- +function LinkBlockPlayer(%blockAddress,%owner,%state) +{ + EMailBlockDlg.state = "setBlock"; + EMailBlockDlg.key = LaunchGui.key++; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(9,%blockAddress,EmailBlockDlg,EMailBlockDlg.key); +} +//----------------------------------------------------------------------------- +function LinkEditWarrior() +{ + MessageBoxOK( "NOT YET", "This feature has not yet been implemented." ); +} +//----------------------------------------------------------------------------- +function LinkEditWarriorDesc(%player, %handler) +{ + Canvas.pushDialog(BrowserEditInfoDlg); + EditDescriptionText.setValue(TProfileHdr.Desc); +} +//----------------------------------------------------------------------------- +function LinkEditMember(%player, %tribe, %pv, %title,%owner) +{ +// initialize buttons + tb_onProbation.setVisible(true); + tb_tribeMember.setVisible(false); + tb_tribeAdmin.setVisible(false); + tb_tribeController.setVisible(false); + tb_sysAdmin.setVisible(false); + + tb_onProbation.setValue(false); + tb_tribeMember.setValue(false); + tb_tribeAdmin.setValue(false); + tb_tribeController.setValue(false); + tb_sysAdmin.setValue(false); + + %owner.vTribe = %tribe; + %owner.vPlayer = %player; + t_whois.setValue(%player); + E_Title.setValue(%title); + + %ai = wonGetAuthInfo(); + + // Get callers rank in members tribe + for(%i=0;%i1)) + { + %callerPv = getField(getRecord(%ai,2+%i),4); + break; + } + } + + if(%callerPv > %pv) + %rnk = %callerPv; + else + %rnk = %pv; + + %owner.vPerm = %rnk; + + if(getField(getRecord(%ai,0),0) $= getField(twbTitle.getValue(),0)) //if the caller is the member to be edited + { + switch( %pv ) + { + case 0: + tb_onProbation.setValue(true); + case 1: + tb_tribeMember.setValue(true); + tb_tribeMember.setVisible(true); + case 2: + tb_tribeMember.setVisible(true); + tb_tribeAdmin.setVisible(true); + tb_tribeAdmin.setValue(true); + case 3: + tb_tribeMember.setVisible(true); + tb_tribeAdmin.setVisible(true); + tb_tribeController.setVisible(true); + tb_tribeController.setValue(true); + case 4: + tb_tribeMember.setVisible(true); + tb_tribeAdmin.setVisible(true); + tb_tribeController.setVisible(true); + tb_sysAdmin.setVisible(true); + tb_sysAdmin.setValue(true); + } + } + else + { + switch( %rnk ) + { + case 1: + tb_tribeMember.setVisible(true); + case 2: + tb_tribeMember.setVisible(true); + tb_tribeAdmin.setVisible(true); + case 3: + tb_tribeMember.setVisible(true); + tb_tribeAdmin.setVisible(true); + tb_tribeController.setVisible(true); + case 4: + tb_tribeMember.setVisible(true); + tb_tribeAdmin.setVisible(true); + tb_tribeController.setVisible(true); + tb_sysAdmin.setVisible(true); + } + + switch( %pv ) + { + case 0: + tb_onProbation.setValue(true); + case 1: + tb_tribeMember.setValue(true); + case 2: + tb_tribeAdmin.setValue(true); + case 3: + tb_tribeController.setValue(true); + case 4: + tb_sysAdmin.setValue(true); + } + } + Canvas.pushDialog(%owner); +} +//----------------------------------------------------------------------------- +function LinkLeaveTribe(%player,%handler) +{ + %handler.key = LaunchGui.key++; + %handler.state = "leaveTribe"; + canvas.SetCursor(ArrowWaitCursor); + %handler.leavingTribe = %player; + DatabaseQuery(24,%player,%handler,%handler.key); +} +//----------------------------------------------------------------------------- +function LinkKickMember(%player, %tribe, %owner) +{ + %owner.warrior = %player; + %owner.tribe = %tribe; + TribePane.key = LaunchGui.key++; + TribePane.state = "kickPlayer"; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(19,%player TAB %tribe TAB 0,TribePane,TribePane.key); +} +//----------------------------------------------------------------------------- +function LinkMakePrimary(%action, %field, %owner) +{ + %owner.key = LaunchGui.key++; + %owner.state = %action; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(25,%field,%owner,%owner.key); +} +//----------------------------------------------------------------------------- +function LinkTribeToggle(%action, %field, %owner, %handler) +{ + TribePane.key = LaunchGui.key++; + TribePane.state = "toggleTribe" @ %action; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(20,%action TAB %field,TribePane,TribePane.key); +} +//----------------------------------------------------------------------------- +function LinkInvitePlayer(%tribe, %player, %owner, %handler) +{ + %owner.key = LaunchGui.key++; + %owner.state = %handler; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(27,%tribe TAB %player,%owner,%owner.key); +} +//----------------------------------------------------------------------------- +function LinkTribeTag(%owner) +{ + Canvas.pushDialog(%owner); +} +//----------------------------------------------------------------------------- +function LinkBrowser(%player , %tabtype) +{ + LaunchBrowser(%player , %tabtype); +} +//----------------------------------------------------------------------------- +function LinkForum(%forum, %topic) +{ + ForumsTopicsList.refreshFlag = true; + LaunchForums( %forum, %topic ); +} +//----------------------------------------------------------------------------- +function LinkWeb(%url) +{ + gotoWebPage( %url ); +} +//----------------------------------------------------------------------------- +function LinkInvitation(%action, %tribe, %player, %owner) +{ + %owner.key = LaunchGui.key++; + switch$(%action) + { + case "cancel": + %owner.state = "cancelInvite"; + case "accept": + %owner.state = "acceptInvite"; + case "reject": + %owner.state = "rejectInvite"; + } + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(28,%action TAB %tribe TAB %player,%owner,%owner.key); +} +//----------------------------------------------------------------------------- +function LinkEMail(%MailTo) +{ + Email_ToEdit.setText(%MailTo); + Email_CCEdit.setText(""); + $EmailSubject = ""; + Canvas.pushDialog(EmailComposeDlg); + EmailBodyText.setValue(""); + Email_Subject.makeFirstResponder(1); +} +//----------------------------------------------------------------------------- +function LinkEMailTribe(%MailTo) +{ +// error("LEMT: " @ %MailTo); + %toList = ""; + %ccList = ""; + %curLen = 0; + %toggle = 0; + for(%x = 0; %x < MemberList.rowCount(); %x++) + { +// %curLen = StrLen(%toList); + %cWord = getField(MemberList.getRowText(%x),0); +// if( (%curLen + StrLen(%cWord) + 1) <= 2000 ) + if (%toggle == 0) + { +// error("ToList Adding: " @ %cWord TAB %curLen TAB %x); + %toList = %toList @ %cWord @ ","; + %toggle++; +// Email_ToEdit.setText(Email_ToEdit.getValue() @ %cWord @ ","); + } + else + { +// error("CCList Adding: " @ %cWord TAB %curLen TAB %x); +// Email_CCEdit.setText(Email_CCEdit.getValue() @ %cWord @ ","); + %ccList = %ccList @ %cWord @ ","; + %toggle = 0; + } + } +// error("TOLIST: " @ strLen(%toList) NL %toList); + //rror("CCList: " @ strLen(%ccList) NL %ccList); + Email_ToEdit.setValue(getSubStr(%toList,0,Email_ToEdit.maxLength)); + Email_CCEdit.setValue(getSubStr(%ccList,0,Email_CCEdit.maxLength)); + $EmailSubject = ""; + EmailBodyText.setValue(""); + Canvas.pushDialog(EmailComposeDlg); + Email_Subject.makeFirstResponder(1); +} +//----------------------------------------------------------------------------- +function SearchWarriors() +{ + if(BrowserSearchPane.query !$= 3) + { + // clear out the fields... + $BrowserSearchField = ""; + BrowserSearchMatchList.clear(); + } + Canvas.pushDialog(BrowserSearchDlg); + BrowserSearchPane.setTitle("WARRIOR SEARCH"); + BrowserSearchPane.query = 3; + Search_EditField.makeFirstResponder(1); +} +//----------------------------------------------------------------------------- +function SetMemberProfile() +{ + if(strLen(trim(E_Title.getValue)) <= 0) + { + TextCheck(E_Title.getValue(),TribeAdminMemberDlg); + if(TribeAdminMemberDlg.textCheck==0) + { + TribeAdminMemberDlg.key = LaunchGui.key++; + TribeAdminMemberDlg.state = "setMemberProfile"; + canvas.SetCursor(ArrowWaitCursor); + %title = E_Title.getValue(); + DatabaseQuery(21,TribeAdminMemberDlg.vTribe TAB + TribeAdminMemberDlg.vPlayer TAB + %title TAB + TribeAdminMemberDlg.vPerm, + TribeAdminMemberDlg, + TribeAdminMemberDlg.key); + + Canvas.popDialog(TribeAdminMemberDlg); + } + else + { + MessageBoxOK("WARNING","Member Title contains illegal characters. Please correct and try again."); + } + } + else + MessageBoxOK("WARNING","Member Title cannot be blank...really."); +} +//----------------------------------------------------------------------------- +function TAM_OnAction(%caller) +{ + TribeAdminMemberDlg.vPerm = %caller; +} +//----------------------------------------------------------------------------- +function updateTribeTagPreview() +{ + %warrior = getField( WONGetAuthInfo(), 0 ); + + // Validate the tribe tag: + %tag = CT_TagText.getValue(); + %realTag = StripMLControlChars( %tag ); + if ( %tag !$= %realTag ) + CT_TagText.setValue( %realTag ); + + if ( $CreateTribeAppend ) + CT_PreviewText.setValue( %warrior @ %realTag ); + else + CT_PreviewText.setValue( %realTag @ %warrior ); +} + +//-- TribeAndWarriorBrowserGui ----------------------------------------------- +function TribeAndWarriorBrowserGui::onWake(%this) +{ + MemberList.ClearColumns(); + W_MemberList.ClearColumns(); + MemberList.Clear(); + W_MemberList.clear(); + Canvas.pushDialog(LaunchToolbarDlg); + + if ( TWBTabView.tabCount() == 0 ) + { + %info = WONGetAuthInfo(); + + // Open the player's page: + %warrior = getField( %info, 0 ); + TWBTabView.view( %warrior, "Warrior" ); + w_profile.setValue(1); + + // Add tabs for the player's tribal pages: + %tribeCount = getField( getRecord( %info, 1 ), 0 ); //%cert + for ( %i = 0; %i < %tribeCount; %i++ ) + { + %tribe = getField( getRecord( %info, %i + 2 ), 0 ); //%cert + TWBTabView.addTab( %i + 1, %tribe, 1 ); + } + } + else if(PlayerPane.visible) + PlayerPane.onWake(); + else + TribePane.onWake(); +} +//----------------------------------------------------------------------------- +function TribeAndWarriorBrowserGui::setKey( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function TribeAndWarriorBrowserGui::onClose( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function TribeAndWarriorBrowserGui::connectionTerminated( %this, %key ) +{ + if ( %key != %this.key ) + return; +} +//----------------------------------------------------------------------------- +function TribeAndWarriorBrowserGui::onSleep(%this) +{ + if (TribeAndWarriorBrowserGui.WDialogOpen) + WarriorPopupDlg.forceClose(); + + if (TribeAndWarriorBrowserGui.TDialogOpen) + TribeMemberPopupDlg.forceClose(); + + Canvas.popDialog(LaunchToolbarDlg); +} +//==-- CreateTribeDlg ------------------------------------------------------- +function CreateTribeDlg::onWake( %this ) +{ + //rbAppendTab.setValue(1); + updateTribeTagPreview(); +} +//----------------------------------------------------------------------------- +function CreateTribeDlg::CreateTribe(%this) +{ + CreateTribeProcess(); +} +//----------------------------------------------------------------------------- +function CreateTribeDlg::Cancel(%this) +{ + Canvas.PopDialog(CreateTribeDlg); + $CreateTribeName = ""; + $CreateTribeTag = ""; + CreateTribeDlg.delete(); + + if(isObject(CreateTribeDlg)) + CreateTribeDlg.delete(); +} +//----------------------------------------------------------------------------- +function CreateTribeDlg::onDatabaseQueryResult(%this,%status,%resultString,%key) +{ + if ( %this.key != %key ) + return; +// echo("RECV: " @ %status); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "createTribe": + TWBTabView.view( $CreateTribeName, "Tribe" ); + Canvas.popDialog(CreateTribeDlg); + $CreateTribeName = ""; + $CreateTribeTag = ""; + if(isObject(CreateTribeDlg)) + CreateTribeDlg.delete(); + WonUpdateCertificate(); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "error"; + MessageBoxOK("WARNING",getField(%status,1)); + } + Canvas.setCursor(defaultCursor); +} +//----------------------------------------------------------------------------- +function CreateTribeDlg::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if( %this.key != %key ) + return; +// echo("RECV: " @ %row); +} +//==-- TribeAdminMemberDlg --------------------------------------------------- +function TribeAdminMemberDlg::onWake(%this) +{ + +} +//----------------------------------------------------------------------------- +function TribeAdminMemberDlg::onDatabaseQueryResult( %this, %status, %resultString, %key) +{ + if ( %this.key != %key ) + return; + echo("RECV: " @ %status); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "setMemberProfile": + %this.state = "done"; + ForumsTopicsList.refreshFlag = true; + if (getField(%status,3) == getField(getRecord(WonGetAuthInfo(),0),3)) + messageBoxOK("COMPLETE","Member Profile has been updated","WonUpdateCertificate();TL_Profile.setValue(1);"); + else + messageBoxOK("COMPLETE",getField(%status,1)); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + messageBoxOK("WARNING",getField(%status,1)); + Canvas.setCursor(defaultCursor); +} +//----------------------------------------------------------------------------- +function TribeAdminMemberDlg::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if ( %this.key != %key ) + return; +// echo("RECV: " @ %row); +} +//----------------------------------------------------------------------------- +function TribeAdminMemberDlg::connectionTerminated( %this, %key ) +{ + if ( %this.key != %key ) + return; + + if ( %this.errorState $= "OK" ) + TWBTabView.refresh(); +} +//==-- BrowserSearchDlg ----------------------------------------------------- +function BrowserSearchDlg::onWake( %this ) +{ + if ( BrowserSearchMatchList.getSelectedId() == -1 ) + BSearchOKBtn.setActive( false ); +} +//----------------------------------------------------------------------------- +function BrowserSearchPane::GetOnlineStatus(%this) +{ + %this.key = LaunchGui.key++; + %this.status = "getOnline"; + for(%oStat=0;%oStatRequest Invite") : "NO"); + %Tdesc = %Tdesc @ "" NL ""; + TWBText.setText(%TDesc); + TProfileHdr.Desc = %resultString; + if(trim(TProfileHdr.tribegfx) !$= "") + TeamPix.setBitmap(TProfileHdr.tribegfx); + else + TeamPix.setBitmap($TribeGfx); + TWBTitle.name = TPRofileHdr.tribeName; + TWBTitle.setValue(TProfileHdr.tribeName TAB TProfileHdr.tribeTag); + TWBText.SetText(TWBText.getText() NL TProfileHdr.Desc); + if(memberlist.rowCount()==0) + { + %this.needRefresh = 0; + TL_ROSTER.setValue(1); + } + + case "getTribeRoster": + //error("GTRoster Rows: " @ getField(%resultString,0)); + %this.linecount--; + %this.MList = ""; + %this.trid = 0; + if(isObject(memberListGroup)) + memberListGroup.delete(); + if(getField(%resultString,0)>0) + { + %this.state = "tribeRoster"; + %this.rosterRowcount = getField(%resultString,0); + } + else + { + %this.state="done"; + messageBoxOK("NOTICE","No Tribe Members Found."); + } + + case "getTribeNews": + TWBText.Clear(); + %this.articleLines = 0; + if(GetTribeMember(TProfileHdr.tribeName)) + { + TWBText.SetText("" @ TProfileHdr.tribeName @ " Options:" @ + "\n\nTribal Forum\n" @ + "Tribal Chat: Public\n" @ + "Tribal Chat: Private"); + } + else + { + TWBText.SetText("" @ TProfileHdr.tribeName @ " Options:\n\n" @ + "Enter " @ TProfileHdr.tribeName @ " Public Chat\n" ); + } + + %this.state = "done"; + +// if(getField(%resultString,0)>0) +// { +// %this.state = "tribeNews"; +// } +// else +// { +// %this.state="done"; +// messageBoxOK("NOTICE","No Tribe News."); +// } + + case "getTribeInvites": + if(getField(%resultString,0) > 0) + { + %this.state = "tribeInvites"; + %this.tiid = 0; + if(isObject(memberListGroup)) + memberListGroup.delete(); + } + else + { + %this.NeedRefresh = 0; + %this.state = "done"; + } + case "cancelInvite": + %this.state = "done"; + tl_invites.setValue(1); + case "setTribeGfx": + %this.state = "done"; + messageBoxOK("NOTICE",getField(%status,1)); + tl_profile.setValue(1); + case "changeTribeTag": + %this.state = "done"; + messageBoxOK("NOTICE","Tribe Tag has been updated.","WonUpdateCertificate();"); + case "requestInvite": + %this.state = "done"; + messageBoxOK("NOTICE",getField(%status,1)); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "done"; + messageBoxOK("WARNING",getField(%status,1)); + } + canvas.setCursor(DefaultCursor); +} +//----------------------------------------------------------------------------- +function TribePane::onDatabaseRow(%this, %row, %isLastRow, %key) +{ + if ( %this.key != %key ) + return; +// echo("RECV: " @ %row); + switch$(%this.state) + { + case "tribeRoster": + %name = getField(%row, 0); + %wid = getField(%row,3); + %linkName = getLinkName(%row, 0); + %adminLevel = getField(%row, 5); + %title = getField(%row, 4); + %date = getField(%row, 6); + %editkick = getField(%row, 8); + %onLine = getField(%row,9); + + if(%this.Admin $= "007") + %this.Admin = %name; + + if(%name !$="") + { + MemberList.AddMember(%this.trid, %wid,%name,%adminLevel,%editkick,%row); + MemberList.AddRow(%wid,%name TAB %title TAB %adminLevel TAB %this.trid); + %this.trid++; + //MemberList.setRowStylebyID( %wid, !%onLine ); + } + + if(%isLastRow) + { + %this.MList = %this.MList @ %name; + MemberList.GetOnlineStatus(); + if(%this.needRefresh) + { + %this.needRefresh = 0; + TL_ROSTER.setValue(1); + } + } + else + %this.MList = %this.MList @ %name @ ","; + + %this.linecount++; + + case "tribeNews": + %this.articleID = getField(%row,0); + %this.forumName = getField(%row,1); + %authorQuad = getFields(%row,5,8); + %this.articleAuthor = getLinkName(%authorQuad); + %this.articleUpdate = getField(%row,9); + %this.articleTitle = getField(%row,10); + %text = "" @ "" + @ %this.articleTitle @ ""NL " submitted by " @ %this.articleAuthor SPC "on" SPC %this.articleUpdate @ "\n"; + %text = %text @ getFields(%row,11); + TWBText.SetText(TWBText.GetText() @ %text @ "\n------------------------------------\n\n"); + + case "tribeInvites": + %inviteId = getField(%row,0); + %inviteDate = getField(%row,1); + %invitorQuad = getField(getfields(%row,2,5),0); + %invitedQuad = getField(getFields(%row,6,9),0); + %isOwned = getField(%row,10); + %onLine = getField(%row,11); + MemberList.AddInvite(%this.tiID, %inviteID,%invitedQuad,%invitorQuad,%isOwned,%row); + MemberList.AddRow(%inviteID, getField(%invitedQuad,0) TAB %inviteDate TAB %this.tiID); + %this.tiID++; + MemberList.setRowStylebyID( %inviteId, !%onLine ); + if(%isLastRow) + MemberList.GetOnlineStatus(); + } +} +//----------------------------------------------------------------------------- +function TribePane::connectionTerminated(%this,%key) +{ + canvas.setCursor(DefaultCursor); + if (%this.NeedRefresh==1) + { + %this.NeedRefresh = 0; + TWBTitle.OldText = TWBTitle.name; + TL_Roster.setValue(1); + } +} +//----------------------------------------------------------------------------- +function TribePane::RosterDblClick(%this) +{ + LaunchBrowser( GetField(MemberList.getRowText(MemberList.getSelectedRow()),0), "Warrior" ); +} +//----------------------------------------------------------------------------- +function TribePane::ButtonClick( %this, %senderid ) +{ + canvas.SetCursor(ArrowWaitCursor); + %this.tabstate = "TRIBE"; + %this.state = "status"; + %tribeName = TWBTabView.getSelectedText(); + + if(isEventPending(TribeAndWarriorBrowserGui.eid)) + cancel(TribeAndWarriorBrowserGui.eid); + + switch(%senderid) + { + case 0: //PROFILE + if(TWBTitle.OldText $= TWBTitle.name || MemberList.rowCount()==0) + %this.NeedRefresh=0; + else + %this.NeedRefresh=1; + + %this.key = LaunchGui.key++; + %this.state = "getTribeProfile"; + TWBTitle.OldText = TWBTitle.name; + TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQuery,22,%tribeName,%this,%this.key); + case 1: //ROSTER + MemberList.Clear(); + MemberList.ClearColumns(); + MemberList.clearList(); + MemberList.CID = 0; + %this.key = LaunchGui.key++; + %this.state = "getTribeRoster"; + %this.tstate = "ROSTER"; + MemberList.addColumn( 0, "MEMBER", 92, 0, 100,"left"); + MemberList.addColumn( 1, "TITLE", 90, 0, 100,"left"); + MemberList.addColumn( 2, "RNK", 30, 0, 40, "numeric center" ); + TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,6,0,%tribeName,%this,%this.key, true); + case 2: //NEWS BUTTON + %this.key = LaunchGui.key++; + %this.state = "getTribeNews"; + %this.tstate = "NEWS"; + TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,10,20,%tribeName,%this,%this.key,true); + case 3: //INVITE BUTTON + MemberList.Clear(); + MemberList.ClearColumns(); + MemberList.clearList(); + MemberList.CID = 1; + %this.key = LaunchGui.key++; + %this.state = "getTribeInvites"; + %this.tstate = "INVITES"; + MemberList.addColumn( 0, "PLAYER", 100, 0, 350,"left" ); + MemberList.addColumn( 1, "INVITED", 112, 0, 300, "left" ); + TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,11,0,%tribeName,%this,%this.key,true); + case 4: //Admin Tribe + if(trim(TWBText.getText()) !$= "") + { + TribePropertiesDlg.pendingChanges = ""; + Canvas.PushDialog(TribePropertiesDlg); + } + else + { + tl_profile.setvalue(1); + MessageBoxOk("ERROR","The Tribe Profile was not properly loaded, please wait a moment and try again"); + } + } +} +//----------------------------------------------------------------------------- +//==-- PlayerPane ------------------------------------------------------------ +//----------------------------------------------------------------------------- +function PlayerPane::onAdd(%this) +{ + // Add the popup menu: + new GuiControl(WarriorPopupDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new ShellPopupMenu( WarriorPopup ) { + profile = "ShellPopupProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + visible = "1"; + maxPopupHeight = "200"; + noButtonStyle = "1"; + }; + }; +} +//----------------------------------------------------------------------------- +function PlayerPane::onWake(%this) +{ + w_admin.setVisible(getField(getRecord(wonGetAuthInfo(),0),0) $= TProfileHdr.PlayerName); + if(trim(TProfileHdr.playerGfx)$="") + PlayerPix.setBitmap($PlayerGfx); + else + PlayerPix.setBitmap(TProfileHdr.playergfx); + + w_profile.setValue(1); + +} +//----------------------------------------------------------------------------- +function PlayerPane::onDatabaseQueryResult(%this,%status,%resultString,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "getWarriorProfile": + %isCaller = getField(getRecord(wonGetAuthInfo(),0),0) $= TWBTitle.name; + TWBTitle.name = getField(%status,2); + TWBTitle.SetValue(( getField(%status,4) ? getField(%status,2) @ getField(%status,3) : getField(%status,3) @ getField(%status,2))); + GetProfileHdr(1,getFields(%status,2)); + if(trim(TProfileHdr.playerGfx) !$= "") + PlayerPix.setBitmap(TProfileHdr.playerGfx); + else + PlayerPix.setBitmap($PlayerGfx); + %profileText = " \n"; + %profileText = %profileText @ "Registered:" SPC TProfileHdr.registered @ "\n"; +// %profileText = %profileText @ "Online: " SPC (TProfileHdr.onLine ? "YES":"NO") @ "\n"; + + if(trim(TProfileHdr.playerURL) !$= "") + %profileText = %profileText @ "WebSite: " SPC ""@TProfileHdr.playerURL@"\n\n"; + else + %profileText = %profileText @ "WebSite: " SPC "www.tribes2.com\n\n"; + + %profileText = %profileText @ ""; + W_Text.setText(%profileText @ %resultString); + TProfileHdr.Desc = %resultString; + if( w_memberlist.rowCount() ==0 ) + { + %this.needRefresh = 0; + W_tribes.setValue(1); + } + case "getWarriorHistory": + W_Text.setText("\nPLAYER HISTORY:\n\n"); + W_Text.setText(W_Text.getText() @ ""); + if(getField(%resultString,0)>0) + %this.state = "warriorHistory"; + else + %this.state = "done"; + case "getWarriorTribeList": + %this.wtid = 0; + if(isObject(w_memberListGroup)) + w_memberListGroup.delete(); + + if(getField(%resultString,0)>0) + %this.state = "warriorTribeList"; + else + %this.state = "done"; + case "getWarriorBuddyList": + %this.blid = 0; + if(isObject(w_memberListGroup)) + w_memberListGroup.delete(); + + if(getField(%resultString,0)>0) + %this.state = "warriorBuddyList"; + else + %this.state = "done"; + case "setNoPrimaryTribe": + %this.state = "done"; + messageBoxOK("NOTICE","You are now a free agent, primary tribe settings have been cleared"); + case "setPrimaryTribe": + %this.state = "done"; + messageBoxOK("NOTICE",getField(%resultString,0) SPC "has been flagged as your primary tribe.","WonUpdateCertificate();"); + case "removeBuddy": + %this.state = "done"; + w_buddylist.setvalue(1); + case "inviteWarrior": + %this.state = "done"; + MessageBoxOK("NOTICE",getField(%status,1)); + case "acceptInvite": + %this.state = "done"; + EMailMessageDelete(); + MessageBoxOK("NOTICE","Your Invite Acceptance has been sent","WonUpdateCertificate();"); + case "rejectInvite": + %this.state = "done"; + EMailMessagedelete(); + MessageBoxOK("NOTICE","Your Invite Rejection has been sent","CheckEmail();"); + case "leaveTribe": + %this.state = "done"; + WonUpdateCertificate(); + for(%x=0;%xContact " @ TWBTitle.name @ "\n"; + %newText = %newText @ "Add to Buddylist\n"; + if(%callerTribes > 0) + { + for(%z=0;%z<%callerTribes;%z++) + { + %jtribe = getField(%callerTribeList,4*%z); + %newText = %newText @ "Invite " @ TWBTitle.name @ " to join " @ %jtribe @ "\n"; + } + } + else + { + if(getField(getRecord(wonGetAuthInfo(),1),0)>0) + { + for(%z=0;%zInvite " @ TWBTitle.name @ " to join " @ %jtribe @ "\n"; + } + } + } + } + else + { + %newText = "OPTIONS:\n\n"; + %newText = %newText @ "Edit Warrior Name\n"; + %newText = %newText @ "Edit Description\n"; + } + W_Text.setText("" @ %newText @ "\n"); + case "setPlayerGfx": + %this.state = "done"; + MessageBoxOK("CONFIRMED",getField(%status,1)); + case "setPlayerUrl": + %this.state = "done"; + MessageBoxOK("CONFIRMED",getField(%status,1)); + case "changePlayerName": + %this.state = "done"; + IRCClient::quit(); + if(WonUpdateCertificate()) + { + TProfileHdr.playername = NewNameEdit.getValue(); + wp_currentname.setText(NewNameEdit.getValue()); + twbTabView.setTabText(twbTabView.getSelectedId(),NewNameEdit.getValue()); + MessageBoxOK("CONFIRMED","Warrior name has been changed." NL "This will require you to close and restart the game to ensure proper function","WarriorPropertiesDlg.onWake();"); + } + case "clearWarriorDescription": + %this.state = "done"; + MessageBoxOK("CONFIRMED","Warrior Description Cleared"); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "error"; + MessageBoxOK("WARNING",getField(%status,1)); + } + canvas.setCursor(DefaultCursor); +} +//----------------------------------------------------------------------------- +function PlayerPane::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %row); + switch$(%this.state) + { + case "warriorHistory": + W_Text.setText(W_Text.getText() @ %row @ "\n"); + if(%isLastRow) + { + %this.state = "done"; + if( %this.needRefresh ) + { + %this.needRefresh = 0; + W_tribes.setValue(1); + } + } + case "warriorTribeList": + %wid = getField(%row,2); + %name = getField(%row,0); + %title = getField(%row,5); + %adminLevel = getField(%row,3); + %editkick = getField(%row,4); + W_MemberList.AddMember(%this.wtid, %wid,%name,%adminLevel,%editkick,%row); + W_MemberList.AddRow(%wid,%name TAB %title TAB %adminLevel TAB %this.wtid); + %this.wtid++; + + case "warriorBuddyList": + W_MemberList.AddInvite(%this.blid, getField(%row,3),getFields(%row,0,3),getFields(%row,0,3),4,%row); + W_MemberList.AddRow(getField(%row,3),getField(%row,0) TAB getField(%row,4) TAB %this.blid); + %this.blid++; + if(%isLastRow) + W_MemberList.getOnlineStatus(); +// W_MemberList.setRowStyleByID(getField(%row,3),!getField(%row,5)); + } +} +//----------------------------------------------------------------------------- +function PlayerPane::DblClick(%this) +{ + + if(w_buddylist.getValue()==1 && getField(GetRecord(wonGetAuthInfo(),0),0) $= TWBTabView.getTabText(TWBTabView.GetSelectedID())) + %caller = "Warrior"; + else if (w_tribes.getValue()==1) + %caller = "Tribe"; + else + %caller = ""; + if(trim(%caller) !$="") + LaunchBrowser( GetField(W_MemberList.getRowText(W_MemberList.getSelectedRow()),0), %caller); +} +//----------------------------------------------------------------------------- +function PlayerPane::ButtonClick( %this, %senderid ) +{ + canvas.SetCursor(ArrowWaitCursor); + %this.key = LaunchGui.key++; + %this.tabstate = "WARRIOR"; + if(isEventPending(TribeAndWarriorBrowserGui.eid)) + cancel(TribeAndWarriorBrowserGui.eid); + switch(%senderid) + { + case 0: //Player Profile w/ Description + W_Text.setValue(""); + %this.state = "getWarriorProfile"; + %this.qrystatus = 0; + %owner = getField(getRecord(WonGetAuthInfo(),0),0); + %playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID()); + if(TWBTitle.OldText $= TWBTitle.name || w_memberlist.rowCount()==0) + %this.NeedRefresh=0; + else + %this.NeedRefresh=1; + + TWBTitle.OldText = TWBTitle.name; + if (%owner $= %PlayerName) + %callId = 2; + else + %callId = 1; + + TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQuery,23,%playerName,%this,%this.key); + case 1: //Player History + W_Text.setValue(""); + %this.state = "getWarriorHistory"; + %this.qrystatus = 1; + %playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID()); + %callId = 3; + TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,12,0,%playerName,%this,%this.key,true); + case 2: //TribeList + W_MemberList.Clear(); + W_MemberList.ClearColumns(); + W_MemberList.clearList(); + W_MemberList.CID = 0; + %this.wtid = 0; + %this.state = "getWarriorTribeList"; + W_MemberList.addColumn( 0, "TRIBE", 94, 0, 330 ); + W_MemberList.addColumn( 1, "TITLE", 80, 0, 300 ); + W_MemberList.addColumn( 2, "RNK", 38, 0, 50, "numeric center" ); + %playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID()); + if(%playerName $= getField(getRecord(wonGetAuthInfo(),0),0)) + { + %ai = wonGetAuthInfo(); + for(%ix=0;%ix= 2; + W_MemberList.AddMember(%this.wtid, %wid,%name,%adminLevel,%editkick,%row); + W_MemberList.AddRow(%wid,%name TAB %title TAB %adminLevel TAB %this.wtid); + %this.wtid++; + } + } + else + TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,13,0,%playerName,%this,%this.key,true); + case 3: //Player Buddylist + W_MemberList.Clear(); + W_MemberList.ClearColumns(); + W_MemberList.clearList(); + W_MemberList.CID = 1; + W_MemberList.addColumn( 0, "BUDDY", 100, 0, 250 ); + W_MemberList.addColumn( 1, "SINCE", 112, 0, 250 ); + %this.key = LaunchGui.key++; + %this.state = "getWarriorBuddyList"; + %playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID()); + TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,5,0,%playerName,%this,%this.key,true); + case 4: //Visitor Options + W_Text.setValue(""); + %this.state = "getVisitorOptions"; + %owner = getField(getRecord(WonGetAuthInfo(),0),0); + %playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID()); + TWBTitle.OldText = TWBTitle.name; + TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQuery,23,%playerName,%this,%this.key,true); + case 5: //Admin Options + if(trim(w_text.getText()) !$= "") + { + WarriorPropertiesDlg.pendingChanges = ""; + Canvas.PushDialog(WarriorPropertiesDlg); + } + else + { + w_profile.setValue(1); + messageBoxOK("ERROR","Your Profile was not loaded properly, Please wait a moment and try again"); + } + } +} +//----------------------------------------------------------------------------- +function W_MemberList::ClearList() +{ + if(isObject(W_MemberListGroup)) + W_MemberListGroup.Delete(); +} +//----------------------------------------------------------------------------- +function W_MemberList::AddMember(%this,%mid, %id, %name, %access, %plevel, %vline) +{ + if(!isObject(W_MemberListGroup)) + new SimGroup(W_MemberListGroup); + %player = new scriptObject() + { + className = "TMember"; + rowID = %mid; + name = %name; + classId = %id; + privLevel = %access; + canAdmin = %plevel; + rcvrec = %vline; + }; + W_MemberListGroup.Add(%player); +} +//----------------------------------------------------------------------------- +function W_MemberList::AddInvite(%this, %rid, %id, %invited, %invitor, %plevel, %vline) +{ + if(!isObject(W_MemberListGroup)) + new SimGroup(W_MemberListGroup); + %player = new ScriptObject() + { + className = "TBuddy"; + rowID = %rid; + classId = %id; + name = %invited; + privLevel = %plevel; + iName = %invitor; + rcvrec = %vline; + }; + W_MemberListGroup.add(%player); +} +//----------------------------------------------------------------------------- +function W_MemberList::onRightMouseDown( %this, %column, %row, %mousePos ) +{ + // Open the action menu: + W_MemberList.setSelectedRow(%row); + if(getField(GetRecord(WonGetAuthInfo(),0),0) $= TWBTabView.getTabText(TWBTabView.GetSelectedID())) //is it me? + { + if(w_tribes.getValue()) + %ka = 3; + else + %ka = 2; + warriorPopup.player = w_memberlistgroup.getObject(getField(W_MemberList.getRowText(W_MemberList.getSelectedRow()),%ka)); + if ( WarriorPopup.player.name !$= "" ) + { + WarriorPopup.position = %mousePos; + Canvas.pushDialog(WarriorPopupDlg); + WarriorPopUpDlg.onWake(); + WarriorPopup.forceOnAction(); + } + else + error( "Member/Invite Locate Error!" ); + } +} +//----------------------------------------------------------------------------- +function w_MemberList::onAdd(%this) +{ + W_MemberList.addStyle( 1, "Univers", 12 , "150 150 150", "200 200 200", "60 60 60" ); +} +//----------------------------------------------------------------------------- +function W_MemberList::GetOnlineStatus(%this) +{ + %this.key = LaunchGui.key++; + %this.status = "getOnline"; + for(%oStat=0;%oStat<%this.RowCount();%oStat++) + { + if(%oStat == 0) + %roster = %this.getRowID(%oStat); + else + %roster = %roster TAB %this.getRowID(%oStat); + } + databaseQuery(69,%roster, %this,%this.key); +} +//----------------------------------------------------------------------------- +function W_MemberList::onDatabaseQueryResult(%this,%status,%resultString,%key) +{ + if(%key != %this.key) + return; + switch$(%this.status) + { + case "getOnline": if(getField(%status,0) == 0) + for(%str=0;%str\n" @ %player @ "" @ %tribe @ "?", + "LinkLeaveTribe(\"" @ %tribe @ "\",\"" @ PlayerPane @ "\");",""); + case 3: // 3 Go To TribeForum + %tribe = getField(WarriorPopup.player.name,0); + switch$(%tribe) + { + case "T2 ADMINISTRATION": + %tribe = "Game Feedback"; + } + ForumsThreadPane.setVisible(false); + ForumsTopicsPane.setVisible(true); + linkForum(%tribe,""); + case 4: // 4 EMail Buddy + %player = getField(WarriorPopup.player.name,0); + LinkEMail(%player); + case 5: // 5 Remove Buddy + %player = getField(WarriorPopup.player.name,0); + LinkRemoveBuddy(%player, PlayerPane, "removeBuddy"); + case 6: // clear Buddylist; + LinkClearBuddylist(PlayerPane,"removeBuddy"); + case 7: // 7 EMail Buddylist + for(%x=0;%x\n" @ %player @ " from " @ %tribe @ "?", + "LinkKickMember(\"" @ %player @ "\",\"" @ %tribe @ "\"," @ %this @ ");", ""); + case 1: // 1 Admin Member + LinkEditMember(GetField(TribememberPopup.player.rcvrec,0) + ,TWBTabView.GetTabText(TWBTabView.GetSelectedID()) + ,GetField(TribeMemberPopup.player.rcvrec,5) + ,GetField(TribeMemberPopup.player.rcvrec,4) + ,TribeAdminMemberDlg); + case 2: // 2 EMail Member + LinkEMail(TribeMemberPopup.player.name); + case 3: // 3 EMail Tribe + LinkEMailTribe(MemberList.getSelectedID()); + case 4: // 4 Add To Buddylist + MessageBoxYesNo("CONFIRM","Add " @ TribeMemberPopup.player.name @ " to Buddy List?", + "LinkAddBuddy(\"" @ TribeMemberPopup.player.name @ "\",TWBText,\"addBuddy\");",""); + case 5: // 5 Add To Blocklist + MessageBoxYesNo("CONFIRM","Block Email from " @ TribeMemberPopup.player.name @ "?", + "LinkBlockPlayer(\"" @ TribeMemberPopup.player.name @ "\",EmailGui,\"setBlock\");",""); + // -- 1-INVITE ---- + case 6: // 6 Cancel Invite + %player = TribeMemberPopup.player.name; + %tribe = TWBTabView.GetTabText(TWBTabView.GetSelectedID()); + MessageBoxYesNo("CONFIRM", "Are you sure you wish to cancel the invitation for " @ %player @ " to join " @ %tribe @ "?", + "TribeMemberPopup.onSelect(12,\"call12\");",""); + case 7: // 7 EMail Invited Player + LinkEMail(TribeMemberPopup.player.name); + case 8: // 8 INVITE TO CHAT + MessageboxOK("NOTICE","This is a preview of coming functionality and is not yet available for use."); + case 9: + case 10: + case 11: + case 12: %player = TribeMemberPopup.player.name; + %tribe = TWBTabView.GetTabText(TWBTabView.GetSelectedID()); + LinkInvitation("cancel",%tribe,%player,TribePane); + } + canvas.popDialog(TribeMemberPopupDlg); +} +//----------------------------------------------------------------------------- +function TribeMemberPopupDlg::onSleep(%this) +{ + TribeWarriorBrowserGui.TDialogOpen = false; +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::onWake(%this) +{ + if(TProfileHdr.recruiting) + TP_RecruitFlagBtn.setValue(1); + else + TP_RecruitFlagNoBtn.setValue(1); + + if(TProfileHdr.appending) + TP_AppendFlagBtn.setValue(1); + else + TP_PrePendFlagBtn.setValue(1); + + TP_CurrentTag.setText(TProfileHdr.TribeTag); + TP_NewTag.setText(TProfileHdr.TribeTag); + TP_TribeDescription.setText(TProfileHdr.Desc); + + %this.RefreshTag(); + %this.pendingChanges = ""; +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::Close(%this) +{ + if(%this.pendingChanges $="") + { + Canvas.popDialog(%this); + GraphicsControl.setVisible(0); + SecurityControl.setVisible(0); + ProfileControl.setVisible(1); + TL_Profile.setValue(1); + } + else + MessageBoxYesNo("CONFIRM","Close without saving changes?", + "Canvas.popDialog("@%this@");TL_Profile.setValue(1);",""); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::DisbandTribe(%this) +{ + MessageBoxYesNo("CONFIRM","NOTE: Only the Tribe Owner will be able to disband the Tribe." NL " " NL + "DISBAND " @ TProfileHdr.tribename @ "?", + "KillTribe(\"" @ TProfileHdr.tribename @ "\");",""); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::ChangeRecruiting(%this) +{ + if(TP_RecruitFlagBtn.getValue()) + %recruiting = 1; + else + %recruiting = 0; + if(TProfileHdr.recruiting != %recruiting) + { + LinkTribeToggle("Recruiting",TProfileHdr.TribeName TAB TP_RecruitFlagBtn.getValue(),TWBText,"togglerecruiting"); + %this.pendingChanges=""; + } +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::ToggleAppending(%this) +{ + if(TProfileHdr.appending != TP_AppendFlagBtn.getValue()) + { + LinkTribeToggle("Appending",TProfileHdr.TribeName TAB TP_AppendFlagBtn.getValue(),TWBText,"toggleappending"); + %this.pendingChanges=""; + } +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::ChangeTag(%this) +{ + if(TP_NewTag.getValue() !$= "") + { + TextCheck(TP_NewTag.getValue(),%this); + if(%this.textCheck==1) + { + MessageBoxOK("WARNING","The requested Tribe Tag contains invalid characters, please change your tag and try again."); + } + else + { + TribePane.key = LaunchGui.key++; + TribePane.state = "changeTribeTag"; + DatabaseQuery(30,TProfileHdr.tribeID TAB TP_NewTag.getValue(),TribePane,TribePane.key); + %this.pendingChanges=""; + } + } + else + { + MessageBoxOK("WARNING","Tribe Tag cannot be blank","TP_NewTag.makeFirstResponder(1);"); + } +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::EditDescription(%this) +{ + %this.pendingChanges = "EDITDESC"; + %this.UpdateDescription(); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::ClearDescription(%this) +{ + TribePane.key = LaunchGui.key++; + TP_TribeDescription.setText(""); + TProfileHdr.Desc = ""; + TWBText.editType = "tribe"; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(15,TProfileHdr.tribename TAB getRecordCount(%desc) TAB %desc,TribePane,TribePane.key); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::UpdateDescription(%this) +{ + TWBText.editType = "tribe"; + LinkEditWarriorDesc(TProfileHdr.tribename,TWBText); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::RefreshTag(%this) +{ + %this.pendingChanges = "YES"; + %playerName = GetField( WonGetAuthInfo(), 0 ); + + // Validate the tribe tag: + %ntag = TP_NewTag.getValue(); + %realTag = StripMLControlChars( %ntag ); + if ( %ntag !$= %realTag ) + TP_NewTag.setValue( %realTag ); + + if ( TP_PrePendFlagBtn.getValue()==0 ) + TP_PreviewTag.setValue( %playerName @ %realTag ); + else + TP_PreviewTag.setValue( %realTag @ %playerName ); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::LoadGfxPane(%this) +{ + TribeGraphic.setBitmap(TProfileHdr.tribeGfx); + %ctrl = TribeGraphicsList; + %fileSpec = "*.jpg"; + %ctrl.clearColumns(); + %ctrl.clear(); + %ctrl.addColumn( 0, "FILENAME", 100, 0, 200 ); + %id = -1; + %rowId = ""; + for ( %file = findFirstFile( %fileSpec ); %file !$= ""; %file = findNextFile( %fileSpec ) ) + { + %currBmp = TeamPix.Bitmap; + %match = "texticons/twb/" @ fileBase( %file ) @ ".jpg" $= %currBmp; + if(getSubStr(fileBase(%file) @ ".jpg",0,3)$= "twb") + %ctrl.addRow( %id++, fileBase( %file ) ); + + if(%match) + %rowId = %id; + } + if(%rowID!$="") + %ctrl.setSelectedRow(%rowID); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::setTribeGraphic(%this) +{ + if(isEventPending(TribeAndWarriorBrowserGui.eid)) + cancel(TribeAndWarriorBrowserGui.eid); + TribePane.key = LaunchGui.key++; + TribePane.state = "setTribeGfx"; + TeamPix.setBitmap(TribeGraphic.bitmap); + canvas.SetCursor(ArrowWaitCursor); + TribeAndWarriorBrowserGui.eid = schedule(250,0,DatabaseQuery,29,TProfileHdr.tribename TAB TribeGraphic.bitmap,TribePane,TribePane.key); +} +//----------------------------------------------------------------------------- +function TribeGraphicsList::onSelect(%this) +{ + %jpg = "texticons/twb/" @ %this.getRowText(%this.getSelectedRow()) @ ".jpg"; + TribeGraphic.setBitmap(%jpg); +} +//----------------------------------------------------------------------------- +function TribePropertiesDlg::ConnectionTerminated(%this) +{ +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::onWake(%this) +{ + %this.pendingChanges = ""; + UrlEdit.setValue(TProfileHdr.playerURL); + WP_CurrentName.setValue(TProfileHdr.playername); + NewNameEdit.setValue(""); + WP_WarriorDescription.setText(TProfileHdr.Desc); + %this.LoadGfxPane(); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::Close(%this) +{ + if(%this.pendingChanges !$="") + MessageBoxYesNo("CONFIRM","Close without saving changes?", + "Canvas.popDialog("@%this@");W_Profile.setValue(1);",""); + else + { + Canvas.popDialog(%this); + w_GraphicsControl.setVisible(0); + W_ProfilePane.setVisible(1); + W_Profile.setValue(1); + } +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::EditDescription(%this) +{ + %this.pendingChanges = "EDITDESC"; + TWBText.editType = "warrior"; + LinkEditWarriorDesc(getField(TWBTitle.getValue(),0),TWBText); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::ClearDescription(%this) +{ + MessageBoxYesNo("CONFIRM","Clear your Players Description?","WarriorPropertiesDlg.doClearDescription();",""); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::doClearDescription(%this) +{ + PlayerPane.key = LaunchGui.key++; + PlayerPane.state = "clearWarriorDescription"; + TProfileHdr.Desc = "NONE"; + TWBText.editType = "warrior"; + canvas.SetCursor(ArrowWaitCursor); + %this.pendingChanges = ""; + EditDescriptionText.setText("No Description On File"); + WP_WarriorDescription.setText(EditDescriptionText.getText()); + DatabaseQuery(17,TProfileHdr.Desc,PlayerPane,PlayerPane.key); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::LoadGfxPane(%this) +{ + PlayerGraphic.setBitmap(PlayerPix.bitmap); + %ctrl = WarriorGraphicsList; + %width = getSubStr(%ctrl.getExtent(),0,3)-4; + %fileSpec = "*.jpg"; + %ctrl.clearColumns(); + %ctrl.clear(); + %ctrl.addColumn( 0, "FILENAME",%width, 0, 200 ); + %id = -1; + %rowId = ""; + for ( %file = findFirstFile( %fileSpec ); %file !$= ""; %file = findNextFile( %fileSpec ) ) + { + %currBmp = PlayerPix.Bitmap; + %match = "texticons/twb/" @ fileBase( %file ) @ ".jpg" $= %currBmp; + + if(getSubStr(fileBase(%file) @ ".jpg",0,3)$= "twb") + %ctrl.addRow( %id++, fileBase( %file ) ); + + if(%match) + %rowId = %id; + } + if(%rowID!$="") + %ctrl.setSelectedRow(%rowID); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::setPlayerGraphic(%this) +{ + if(isEventPending(TribeAndWarriorBrowserGui.eid)) + cancel(TribeAndWarriorBrowserGui.eid); + PlayerPane.key = LaunchGui.key++; + PlayerPane.state = "setPlayerGfx"; + PlayerPix.setBitmap(PlayerGraphic.bitmap); + canvas.SetCursor(ArrowWaitCursor); + %this.pendingChanges = ""; + TribeAndWarriorBrowserGui.eid = schedule(250,0,DatabaseQuery,31,PlayerGraphic.bitmap,PlayerPane,PlayerPane.key); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::UpdateUrl(%this) +{ + if(trim(UrlEdit.getValue()) $= "") + { + UrlEdit.setValue("www.tribes2.com"); + MessageBoxYesNo("CONFIRM","Your URL is blank, by default www.tribes2.com will become your URL. Continue?","WarriorPropertiesDlg.setURL();","UrlEdit.setValue(\"\");"); + } + else + WarriorPropertiesDlg.setURL(); + +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::setURL(%this) +{ + if(isEventPending(TribeAndWarriorBrowserGui.eid)) + cancel(TribeAndWarriorBrowserGui.eid); + PlayerPane.key = LaunchGui.key++; + PlayerPane.state = "setPlayerUrl"; + canvas.SetCursor(ArrowWaitCursor); + %this.pendingChanges = ""; + DatabaseQuery(32,UrlEdit.getValue(),PlayerPane,PlayerPane.key); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::ChangePlayerName(%this) +{ + MessageBoxYesNo("CONFIRM","Changing your name will require you to close the game and restart. Proceed?","WarriorPropertiesDlg.ProcessNameChange();","NewNameEdit.setValue(\"\");"); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::ProcessNameChange(%this) +{ + PlayerPane.key = LaunchGui.key++; + PlayerPane.state = "changePlayerName"; + canvas.SetCursor(ArrowWaitCursor); + %this.pendingChanges = ""; + DatabaseQuery(33,NewNameEdit.getValue(),PlayerPane,PlayerPane.key); +} +//----------------------------------------------------------------------------- +function WarriorGraphicsList::onSelect(%this) +{ + %jpg = "texticons/twb/" @ %this.getRowText(%this.getSelectedRow()) @ ".jpg"; + PlayerGraphic.setBitmap(%jpg); +} +//----------------------------------------------------------------------------- +function WarriorPropertiesDlg::ConnectionTerminated(%this) +{ +} +//----------------------------------------------------------------------------- diff --git a/public/base/@vl2/scripts.vl2/scripts/webemail.cs b/public/base/@vl2/scripts.vl2/scripts/webemail.cs new file mode 100644 index 00000000..6555e7fc --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/webemail.cs @@ -0,0 +1,1353 @@ +//------------------------------------------ +// Email code +//------------------------------------------ +// email format is: +// id +// From +// read flag +// send date +// To +// CC +// Subject +// message body +//echo("Added email: " @ %tag SPC %text); + +$EmailCachePath = "webcache/" @ getField(getRecord(wonGetAuthInfo(),0),3) @ "/"; +$EmailFileName = "email1"; +$EmailColumnCount = 0; +$EmailColumnName[0] = "Status"; +$EmailColumnRange[0] = "50 75"; +$EmailColumnCount++; +$EmailColumnName[1] = "From"; +$EmailColumnRange[1] = "50 300"; +$EmailColumnCount++; +$EmailColumnName[2] = "Subject"; +$EmailColumnRange[2] = "50 300"; +$EmailColumnCount++; +$EmailColumnName[3] = "Received"; +$EmailColumnRange[3] = "50 300"; +$EmailColumnCount++; +//----------------------------------------------------------------------------- +if(!isObject(EmailMessageVector)) +{ + new MessageVector(EmailMessageVector); + $EmailNextSeq = 0; +} +//----------------------------------------------------------------------------- +function LaunchEmail() +{ + LaunchTabView.viewTab( "EMAIL", EmailGui, 0 ); + EmailGui.checkSchedule = schedule(1000,0, CheckEmail, false); +} +//----------------------------------------------------------------------------- +function EmailMessageNew() +{ + Email_ToEdit.setText(""); + Email_CCEdit.setText(""); + $EmailSubject = ""; + EmailBodyText.setValue(""); + + EMailComposeDlg.state = "sendMail"; + Canvas.pushDialog(EmailComposeDlg); + Email_ToEdit.makeFirstResponder(1); +} +//----------------------------------------------------------------------------- +function EmailMessageReply() +{ + EMailComposeDlg.state = "replyMail"; + %text = EmailMessageVector.getLineTextByTag( EM_Browser.getSelectedId() ); + Email_ToEdit.setText(getField(getRecord(%text, 1), 0)); + Email_CCEdit.setText(""); + $EmailSubject = "RE: " @ getRecord(%text, 6); + %date = getRecord(%text, 3); + Canvas.pushDialog(EmailComposeDlg); + EmailBodyText.setValue("\n\n----------------------------------\n On " @ %date SPC Email_toEdit.getValue() @ " wrote:\n\n" @ EmailGetBody(%text) ); + EmailBodyText.SetCursorPosition(0); + EmailBodyText.makeFirstResponder(1); +} +//----------------------------------------------------------------------------- +function EmailMessageForward() +{ + %text = EmailMessageVector.getLineTextByTag( EM_Browser.getSelectedId() ); + Email_ToEdit.setText(""); + Email_CCEdit.setText(""); + $EmailSubject = "FW: " @ getRecord(%text, 6); + Canvas.pushDialog(EmailComposeDlg); + EmailBodyText.setValue("\n\n\n--- Begin Forwarded Message ---\n\n" @ EmailGetTextDisplay(%text)); + Email_toEdit.makeFirstResponder(1); + EmailBodyText.SetCursorPosition(0); + EMailComposeDlg.state = "forwardMail"; +} +//----------------------------------------------------------------------------- +function EmailMessageReplyAll() +{ + EMailComposeDlg.state = "replyAll"; + %text = EmailMessageVector.getLineTextByTag( EM_Browser.getSelectedId() ); + Email_ToEdit.setText(getField(getRecord(%text, 1), 0)); + Email_CCEdit.setText(getRecord(%text, 4) @ getRecord(%text,5)); + $EmailSubject = "RE: " @ getRecord(%text, 6); + %date = getRecord(%text, 3); + Canvas.pushDialog(EmailComposeDlg); + EmailBodyText.setValue("\n\n===========================\n On " @ %date SPC Email_ToEdit.getValue() @ " wrote:\n\n" @ EmailGetBody(%text) ); + EmailBodyText.makeFirstResponder(1); + EmailBodyText.SetCursorPosition(0); +} +//----------------------------------------------------------------------------- +function EmailMessageDelete() +{ + %id = EM_Browser.getSelectedId(); + if ( %id == -1 ) + return; + + %row = EM_Browser.findById( %id ); + EMailComposeDlg.key = LaunchGui.key++; + + // Make these buttons inactive until another message is selected: + if(rbInbox.getValue()) + { + %nx = 6; + EMailComposeDlg.state = "deleteMail"; + DoEmailDelete(%nx,%id,EMailComposeDlg, EMailComposeDlg.key, %row); + } + else + { + %nx = 35; + EMailComposeDlg.state = "removeMail"; + MessageBoxYesNo("CONFIRM","Permanently Remove Selected EMail?","DoEmailDelete(" @ %nx @ "," @ %id @ "," @ EmailComposeDlg @ "," @ EmailComposeDlg.key @ "," @ %row @ ");"); + } + +} +//----------------------------------------------------------------------------- +function DoEmailDelete(%qnx, %mid, %owner, %key, %row) +{ + EM_ReplyBtn.setActive( false ); + EM_ReplyToAllBtn.setActive( false ); + EM_ForwardBtn.setActive( false ); + EM_DeleteBtn.setActive( false ); + EM_BlockBtn.setActive( false ); + + EM_Browser.removeRowByIndex( %row ); + EmailMessageVector.deleteLine(EmailMessageVector.getLineIndexByTag(%mid)); + + if(%qnx==6) + EmailGui.dumpCache(); + + + if ( EM_Browser.rowCount() == 0 ) + EMailInboxBodyText.setText(""); + else + EM_Browser.setSelectedRow(%row); + + DatabaseQuery(%qnx, %mid, %owner, %key); + +} +//----------------------------------------------------------------------------- +function EmailSend() +{ + EMailComposeDlg.key = LaunchGui.key++; + EMailComposeDlg.state = "sendMail"; + CheckEmailNames(); + %to = Email_ToEdit.getValue(); + %cc = Email_CCEdit.getValue(); + %subj = $EmailSubject; + %text = EMailBodyText.getValue(); + %lenny = strLen(%to @ %cc @ %subj); + DatabaseQuery(5, %to TAB %cc TAB %subj TAB getSubStr(%text,0,4000-%lenny),EMailComposeDlg,EMailComposeDlg.key); + Canvas.popDialog(EmailComposeDlg); +} +//----------------------------------------------------------------------------- +function EmailMessageAddRow(%text, %tag) +{ + EM_Browser.addRow( %tag, getField( getRecord( %text, 1 ) ,0 ), + getRecord( %text, 6 ), + getRecord( %text, 3 ), + getRecord( %text, 2 )); +} +//----------------------------------------------------------------------------- +function EmailGetBody(%text) +{ + %msgText = ""; + %rc = getRecordCount(%text); + + for(%i = 7; %i < %rc; %i++) + %msgText = %msgText @ getRecord(%text, %i) @ "\n"; + return %msgText; +} +//----------------------------------------------------------------------------- +function getNameList(%line) +{ + if(%line $= "") + return ""; + + %ret = getField(getTextName(%line, 0), 0); + %count = getFieldCount(%line) / 4; + for(%i = 1; %i < %count; %i++) + %ret = %ret @ ", " @ getField(getTextName(%line, %i * 4), 0); +} +//----------------------------------------------------------------------------- +function getLinkNameOnly(%line) +{ + if(%line $= "" || %line $= " ") + return ""; + %name = getField(%line,0); + %str = "" @ %name; + %ret = "" @ %str @ ""; + return %ret; +} +//----------------------------------------------------------------------------- +function getLinkNameList(%line) +{ + if(%line $= "") + return ""; + + %ret = getLinkName(%line, 0); + %count = getFieldCount(%line) / 4; + for(%i = 1; %i < %count; %i++) + %ret = %ret @ ", " @ getLinkName(%line, %i * 4); +} +//----------------------------------------------------------------------------- +function CheckEmailNames() +{ + %EmailTOAddress = strUpr(trim(Email_ToEdit.getValue())); + %EmailCCAddress = strUpr(trim(Email_CCEdit.getValue())); + %toLength = strLen(%EmailTOAddress); + %ccLength = strLen(%EmailCCAddress); + %checkList = ""; + if(%toLength > 0) + { + if(trim(getSubStr(%EmailTOAddress,%toLength-1,1)) !$= "," || trim(getSubStr(%EmailTOAddress,%toLength,1)) !$= ",") + %EmailTOAddress = %EmailTOAddress @ ","; + } + else + %EmailTOAddress = ","; + + if(%ccLength > 0) + { + if(trim(getSubStr(%EmailCCAddress,%ccLength-1,1)) !$= "," || trim(getSubStr(%EmailCCAddress,%ccLength,1)) !$= ",") + %EmailCCAddress = %EmailCCAddress @ ","; + } + else + %ccList = ","; + + for(%x=0;%x<2;%x++) + { + %pos = 0; + %start = 0; + + if(%x == 0) + %nList = %EmailTOAddress; + else if(%x == 1) + { + %EmailTOAddress = %nList; + %nList = %EmailCCAddress; + } + + if(strLen(%nList)>1) + { + while((%pos = strPos(%nList,",",%start)) != -1 && %cx++ < 40) + { + %name = getSubStr(%nList,%start,%pos-%start); + %nameLength = strLen(%name); + %name = trim(%name); + if((%checkStr = strStr(%checkList,%name)) != -1) + { + if(%checkStr == 0) + %checkVal = ","; + else + %checkVal = getSubStr(%checkList,strStr(%checkList,%name)-1,1); + + if(%checkVal $= "," || %checkVal $= " ") + { + if(%pos-%nameLength == %start && %start == 0) + { + %nList = trim(getSubStr(%nList,%pos+1,strLen(%nList))); + } + else + { + %nList = trim(getSubStr(%nList,0,(%pos-%nameLength))) @ + trim(getSubStr(%nList,%pos+1,strLen(%nList))); + %start = %pos-%nameLength; + } + } + else + { + if(strLen(%checkList)==0) + %checkList = %name; + else + %checkList = %checkList @ "," @ %name; + %start = %pos+1; + } + } + else + { + if(strLen(%checkList)==0) + %checkList = %name; + else + %checkList = %checkList @ "," @ %name; + %start = %pos+1; + } + } + } + } + %EmailCCAddress = %nList; + Email_ToEdit.setText(%EMailToAddress); + Email_CCEdit.setText(%EmailCCAddress); +} +//----------------------------------------------------------------------------- +function EmailGetTextDisplay(%text) +{ + %pos = 0; + %strStart = 0; + %curList = strupr(getRecord(%text,4)); + %to = ""; + if(strLen(%curList) > 1) + { + if(trim(getSubStr(%curList,strLen(%curList)-1,1)) !$= ",") + %curList = %curList @ ","; + } + else + %curList = ","; + + while((%pos = strpos(%curList, ",", %strStart)) != -1) + { + if(%strStart==0) + %to = trim(getLinkNameOnly(getSubStr(%curList, %strStart, %pos-%strStart))); + else + %to = %to @ "," @ trim(getLinkNameOnly(getSubStr(%curList, %strStart, %pos-%strStart))); + + %strStart = %pos+1; + } + %pos = 0; + %strStart = 0; + %curList = strupr(getRecord(%text,5)); + %ccLine = ""; + if(strLen(%curList) > 1) + { + if(trim(getSubStr(%curList,strLen(%curList)-1,1)) !$= ",") + %curList = %curList @ ","; + } + else + %curList = ","; + + while((%pos = strpos(%curList, ",", %strStart)) != -1) + { + if(%strStart==0) + %ccLine = getLinkNameOnly(getSubStr(%curList, %strStart, %pos-%strStart)); + else + %ccLine = %ccLine @ "," @ getLinkNameOnly(getSubStr(%curList, %strStart, %pos-%strStart)); + + %strStart = %pos+1; + } + %from = getLinkName(getRecord(%text, 1), 0); + + %msgtext = "From: " @ %from NL + "To: " @ %to NL + "CC: " @ %ccLine NL + "Subject: " @ getRecord(%text, 6) NL + "Date Sent: " @ getRecord(%text, 3) @ "\n\n" @ + EmailGetBody(%text); +} +//----------------------------------------------------------------------------- +function EmailNewMessageArrived(%message, %seq) +{ + $EmailNextSeq = %seq; + EmailMessageVector.pushBackLine(%message, %seq); + EmailMessageAddRow(%message, %seq); +} +//----------------------------------------------------------------------------- +function GetEMailBtnClick() +{ + if(isEventPending(EMailGUI.checkSchedule)) + cancel(EmailGui.checkSchedule); + + EMailGui.btnClicked = true; + EMailGui.checkingEMail = false; + EMailGui.checkSchedule = schedule(1000 * 2, 0, CheckEmail, false); + canvas.SetCursor(ArrowWaitCursor); +} +//----------------------------------------------------------------------------- +function CheckEmail(%calledFromSched) +{ + if(EmailGui.checkingEmail) + { +// echo("Check In Progress"); + return; + } + + if(EmailGui.checkSchedule && !%calledFromSched) + { +// echo("Email Schedule " @ EmailGui.checkSchedule @ "Cancelled"); + cancel(EmailGui.checkSchedule); // cancel schedule + } + EmailGui.checkSchedule = ""; + EMailGui.key = LaunchGui.key++; + EmailGui.state = "getMail"; + EM_Browser.clear(); + EmailGui.LoadCache(); + DatabaseQueryArray(1,0,$EmailNextSeq, EMailGui, EMailGui.key); + EmailGui.checkingEmail = true; +} +//----------------------------------------------------------------------------- +function CancelEmailCheck() +{ + if ( EmailGui.checkSchedule ) + { + error( ">> SCHEDULED EMAIL CHECK " @ EmailGui.checkSchedule @ " CANCELED <<" ); + cancel( EmailGui.checkSchedule ); + EmailGui.checkSchedule = ""; + } +} +//----------------------------------------------------------------------------- +function EmailEditBlocks() +{ + Canvas.pushDialog(EmailBlockDlg); + EmailBlockList.clear(); + EMailBlockDlg.key = LaunchGui.key++; + EmailBlockDlg.state = "getBlocklist"; + DatabaseQueryArray(2,0,"",EMailBLockDlg,EMailBLockDlg.key); +} +//----------------------------------------------------------------------------- +function EmailBlockSender() +{ + %id = EM_Browser.getSelectedId(); + if ( %id == -1 ) + { + MessageBoxOK("WARNING","You cannot block a non-existent sender."); + return; + } + else + { + %text = EmailMessageVector.getLineTextByTag( EM_Browser.getSelectedId() ); + %blockAddress = getField(getRecord(%text, 1), 0); + if(trim(%blockAddress) !$= "") + { + EMailBlockDlg.state = "setBlock"; + EMailBlockDlg.key = LaunchGui.key++; + DatabaseQuery(9,%blockAddress,EmailBlockDlg,EMailBlockDlg.key); + } + } +} +//----------------------------------------------------------------------------- +function EmailBlockRemove() +{ + %rowId = EmailBlockList.getSelectedId(); + if(%rowId == -1) + { + MessageBoxOK("WARNING","You cannot remove a non-existent block."); + return; + } + else + { + %line = EmailBlockList.getRowTextById(%rowId); + %name = getField(%line, 2); + EMailBlockDlg.state = "removeBlock"; + EMailBlockDlg.key = LaunchGui.key++; + DatabaseQuery(8,%name,EMailBLockDlg,EMailBLockDlg.key); + EmailBlockList.removeRowById(%rowId); + } +} +//-- EMailComposeDlg ---------------------------------------------------------------- +function EmailComposeDlg::onWake( %this ) +{ + // Get the compose dialog position and size from the prefs: + %res = getResolution(); + %resW = firstWord( %res ); + %resH = getWord( %res, 1 ); + %w = firstWord( $pref::Email::ComposeWindowExtent ); + if ( %w > %resW ) + %w = %resW; + %h = getWord( $pref::Email::ComposeWindowExtent, 1 ); + if ( %h > %resH ) + %h = %resH; + %x = firstWord( $pref::Email::ComposeWindowPos ); + if ( %x > %resW - %w ) + %x = %resW - %w; + %y = getWord( $pref::Email::ComposeWindowPos, 1 ); + if ( %y > %resH - %h ) + %y = %resH - %h; + + EmailComposeWindow.resize( %x, %y, %w, %h ); +} +//----------------------------------------------------------------------------- +function EmailComposeDlg::onSleep( %this ) +{ + $pref::Email::ComposeWindowPos = EmailComposeWindow.getPosition(); + $pref::Email::ComposeWindowExtent = EmailComposeWindow.getExtent(); +} +//----------------------------------------------------------------------------- +function EMailComposeDlg::onDatabaseQueryResult(%this, %status, %RowCount_Result, %key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status TAB %RowCount_Result); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "deleteMail": + %this.state = "done"; + case "removeMail": + %this.state = "done"; + case "sendMail": + %this.state = "done"; + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + MessageBoxOK("ERROR",getField(%status,1)); +} +//----------------------------------------------------------------------------- +function EmailComposeDlg::Cancel(%this) +{ + Canvas.PopDialog(EmailComposeDlg); +} +//----------------------------------------------------------------------------- +function EmailComposeDlg::SendMail(%this) +{ + %EmailToAddress = Email_ToEdit.getValue(); + %EmailSubject = EMail_Subject.getValue(); + // NEED TO CHECK FOR DUPLICATES + if(trim(%EmailToAddress) $= "") + MessageBoxOK("No Address","TO Address may not be left blank. Please enter a player name to send this message to."); + else + { + if(trim(%EmailSubject) $= "") + MessageBoxOK("No Subject","Please enter a Subject for your message."); + else + EMailSend(); + } +} +//-- EMailBlockDlg ----------------------------------------------------------- +function EMailBlockDlg::onDatabaseQueryResult(%this,%status,%ResultString,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status TAB %ResultString); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "getBlocklist": + %this.state = "names"; + %this.blockCount = getField(%ResultString,0); + case "removeBlock": + MessageBoxOK("NOTICE",getField(%status,1)); + case "setBlock": + MessageBoxOK("NOTICE",getField(%status,1)); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "error"; + MessageBoxOK("ERROR",getField(%status,1)); + } +} +//----------------------------------------------------------------------------- +function EMailBlockDlg::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %row TAB %isLastRow); + switch$(%this.state) + { + case "names": + %textName = getTextName(getFields(%row,0,4)); + %id = getField(%row,3); + %blockedCount = getField(%row,4); + EmailBlockList.addRow(%id, getField(%textName,0) TAB %blockedCount TAB %row); + } +} +//----------------------------------------------------------------------------- +function CheckAllDuplicates(%player) +{ + %lCount = LC_ToList.rowCount(); + %cCount = LC_CCList.rowCount(); + %vResult = 0; + if(%lCount>0) + { + for(%l=0;%l<%lCount;%l++) + { + %lstr = LC_ToList.getRowText(%l); + if(%lstr $= %player) + %vResult++; + } + } + + if(%cCount>0) + { + for(%c=0;%c<%cCount;%c++) + { + %cstr = LC_CCList.getRowText(%c); + if(%cstr $= %player) + %vResult++; + } + } + return %vResult; +} +//----------------------------------------------------------------------------- +function LaunchAddressDlg() +{ + Canvas.PushDialog("AddressDlg"); +} +//----------------------------------------------------------------------------- +function ListToStr(%listName,%delim) +{ + %str = ""; + %rCount = %listName.rowCount(); + if (%rCount > 0) + { + for(%r=0;%r<%rCount;%r++) + { + %str = %str @ %listName.getRowText(%r); + if(%r < %rCount-1) + { + %str = %str @ %delim; + } + } + return %str; + } +} +//----------------------------------------------------------------------------- +function StrToList(%listName, %str, %delim) +{ + %listName.Clear(); + %sCount = 0; + %sSize = strlen(%str); + if (%sSize > 0) + { + for(%l=0;%l<=%sSize;%l++) + { + %txt = getSubStr(%str,%l,1); + if( %txt $= %delim || %l == %sSize ) + { + %listName.addRow(%sCount,trim(%sText)); + %sText = ""; + %sCount++; + } + else + { + %sText = %sText @ %txt; + } + } + } +} +//----------------------------------------------------------------------------- +function LC_BigList::GetOnlineStatus(%this) +{ + %this.key = LaunchGui.key++; + %this.status = "getOnline"; + for(%oStat=0;%oStat<%this.RowCount();%oStat++) + { + if(%oStat == 0) + %roster = %this.getRowID(%oStat); + else + %roster = %roster TAB %this.getRowID(%oStat); + } + databaseQuery(69,%roster, %this,%this.key); +} +//----------------------------------------------------------------------------- +function AddressDlg::onDatabaseQueryResult(%this,%status,%resultString,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status TAB %resultString); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "goSearch": + if(getField(%resultString,0)<=0) + { + %this.state = "done"; + MessageBoxOK("NOTICE","No Match Found."); + } + else + { + %this.state = "memberList"; + %this.linecount = -1; + LC_BigList.clear(); + } + case "getBuddyList": + if(getField(%resultString,0)<=0) + { + %this.state = "done"; + MessageBoxOK("NOTICE","You have no Buddies."); + } + else + { + %this.state = "buddyList"; + %this.linecount = -1; + LC_BigList.clear(); + } + case "getTribeMembers": + if(getField(%resultString,0)<=0) + { + %this.state = "done"; + MessageBoxOK("NOTICE","Cloak Packs are engaged, Tribe Mates could not be detected."); + } + else + { + %this.state = "tribeMembers"; + %this.linecount = -1; + LC_BigList.clear(); + } + case "addBuddy": + MessageBoxOK("CONFIRMED",getField(%status,1)); + case "dropBuddy": + MessageBoxOK("CONFIRMED",getField(%status,1)); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + switch$(%this.state) + { + case "goSearch": + %this.state = "error"; + MessageBoxOk("ERROR",getField(%status,1)); + } + } +} +//----------------------------------------------------------------------------- +function AddressDlg::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if(%this.key != %key) + return; + +// echo("RECV : " @ %row); + switch$(%this.state) + { + case "memberList": + LC_BigList.addRow(%this.linecount++,getField(%row,1)); + case "buddyList": + LC_BigList.addRow(%this.linecount++,getField(%row,0)); + case "tribeMembers": + LC_BigList.addRow(%this.linecount++,getField(%row,0)); + } +} +//----------------------------------------------------------------------------- +function AddressDlg::AddBuddylist(%this) +{ + %this.key = LaunchGui.key++; + %this.lbstate = "buddylist"; + switch (%this.SrcList) + { + case 0: + %addremove = LC_BuddyListBtn.direction; + %player = LC_BigList.getValue(); + %selRow = LC_BigList.getRownumByID(LC_BigList.GetSelectedID()); + case 1: + %addremove = 0; + %player = LC_ToList.getValue(); + case 2: + %addremove = 0; + %player = LC_CCList.getValue(); + } + + if (%addremove==0) + { + %this.doRefresh = 1; + %this.state = "addBuddy"; + DatabaseQuery(10,%player,%this,%this.key); + } + else + { + %this.state = "dropBuddy"; + DatabaseQuery(11,%player,%this,%this.key); + LC_BigList.removeRowbyId(LC_BigList.getSelectedID()); + if(%selRow>=LC_BigList.RowCount()) + %selRow = LC_BigList.RowCount()-1; + LC_BigList.setSelectedRow(%selRow); + } +} +//----------------------------------------------------------------------------- +function AddressDlg::AddCC(%this) +{ + if(LC_CCListBtn.direction == 0) + { + %addName = LC_BigList.getRowText(LC_BigList.getSelectedID()); + %hasDupes = CheckAllDuplicates(%addName); + if(%hasDupes == 0) + LC_CCList.addRow(LC_CCList.RowCount()+1, %addName); + } + else + { + %selRow = LC_CCList.getRownumByID(LC_CCList.GetSelectedID()); + LC_CCList.removeRowbyID(LC_CCList.getSelectedID()); + if(%selRow>=LC_CCList.RowCount()) + %selRow = LC_CCList.RowCount()-1; + LC_CCList.setSelectedRow(%selRow); + } + %this.DestList = 1; +} +//----------------------------------------------------------------------------- +function AddressDlg::AddTo(%this) +{ + if(LC_ToListBtn.direction == 0) + { + %addName = LC_BigList.getRowText(LC_BigList.getSelectedID()); + %hasDupes = CheckAllDuplicates(%addName); + if(%hasDupes == 0 ) + LC_ToList.addRow(LC_ToList.RowCount()+1, %addName); + } + else + { + %selRow = LC_ToList.getRownumByID(LC_ToList.GetSelectedID()); + LC_ToList.removeRowbyID(LC_ToList.getSelectedID()); + if(%selRow>=LC_ToList.RowCount()) + %selRow = LC_ToList.RowCount()-1; + LC_ToList.SetSelectedRow(%selRow); + } + %this.DestList = 0; +} +//----------------------------------------------------------------------------- +function AddressDlg::Cancel(%this) +{ + LC_BigList.Clear(); + Canvas.PopDialog("AddressDlg"); +} +//----------------------------------------------------------------------------- +function AddressDlg::GoSearch(%this) +{ + if(trim(LC_Search.getValue()) !$="") + { + %this.key = LaunchGui.key++; + %this.state = "goSearch"; + %this.lbstate = "errorcheck"; + DatabaseQueryArray(3,100,trim(LC_Search.getValue()) TAB 0 TAB 100 TAB 1 ,%this, %this.key,true); + LC_BuddyListBtn.direction = 0; + LC_BuddyListBtn.text = "ADD TO BUDDYLIST"; + LC_ListBox.setSelected(0); + } + else + MessageBoxOK("WARNING","Null searches (blank) are not allowed. Please enter letter(s) to search for."); +} +//----------------------------------------------------------------------------- +function AddressDlg::GoList(%this) +{ + %this.key = LaunchGui.key++; + %this.lbstate = "errorcheck"; + if(LC_ListBox.getValue() $="Select List") + { + LC_BigList.clear(); + } + else if(LC_ListBox.getValue() $="Buddy List") + { + %this.state = "getBuddyList"; + DatabaseQueryArray(5,0,"",%this,%this.key); + LC_BuddyListBtn.direction = 1; + LC_BuddyListBtn.text = "REMOVE FROM BUDDYLIST"; + } + else + { + %this.state = "getTribeMembers"; + DatabaseQueryArray(6,0,LC_ListBox.getValue(),%this,%this.key,true); + LC_BuddyListBtn.direction = 0; + LC_BuddyListBtn.text = "ADD TO BUDDYLIST"; + } +} +//----------------------------------------------------------------------------- +function AddressDlg::OK(%this) +{ + if (LC_ToList.rowCount() > 0) + EMail_ToEdit.setValue(ListToStr(LC_ToList,",")); + + if (LC_CCList.rowCount() > 0) + EMail_CCEdit.setValue(ListToStr(LC_CCList,",")); + + LC_BigList.Clear(); + Canvas.PopDialog("AddressDlg"); +} +//----------------------------------------------------------------------------- +function AddressDlg::onClick(%this, %sender) +{ + switch$(%sender) + { + case "BIGLIST": + LC_ToListBtn.text = "ADD"; + LC_CCListBtn.text = "ADD"; + LC_ToListBtn.direction = 0; + LC_CCListBtn.direction = 0; + LC_ToList.setSelectedRow(-1); + LC_CCList.setSelectedRow(-1); + %this.SrcList = 0; + LC_BuddyListBtn.setVisible(1); + if(LC_ListBox.getValue() $="Buddy List") + { + LC_BuddyListBtn.direction = 1; + LC_BuddyListBtn.SetValue("REMOVE FROM BUDDYLIST"); + } + else + { + LC_BuddyListBtn.direction = 0; + LC_BuddyListBtn.SetValue("ADD TO BUDDYLIST"); + } + case "TOLIST": + LC_ToListBtn.text = "DEL"; + LC_ToListBtn.direction = 1; + LC_BigList.setSelectedRow(-1); + LC_CCList.setSelectedRow(-1); + %this.DestList = 0; + %this.SrcList = 1; + LC_BuddyListBtn.direction = 0; + LC_BuddyListBtn.SetValue("ADD TO BUDDYLIST"); + LC_BuddyListBtn.setVisible(1); + case "CCLIST": + LC_CCListBtn.text = "DEL"; + LC_CCListBtn.direction = 1; + LC_ToList.setSelectedRow(-1); + LC_BigList.setSelectedRow(-1); + %this.DestList = 1; + %this.SrcList = 2; + LC_BuddyListBtn.direction = 0; + LC_BuddyListBtn.SetValue("ADD TO BUDDYLIST"); + LC_BuddyListBtn.setVisible(1); + case "LISTBOX": + LC_ToList.setSelectedRow(-1); + LC_BigList.setSelectedRow(-1); + LC_CCList.setSelectedRow(-1); + %this.SrcList = 0; + LC_BuddyListBtn.setVisible(0); + %this.GoList(); + case "SEARCHBOX": + LC_ToList.setSelectedRow(-1); + LC_BigList.setSelectedRow(-1); + LC_CCList.setSelectedRow(-1); + %this.SrcList = 0; + LC_BuddyListBtn.setVisible(0); + } + Canvas.repaint(); +} +//----------------------------------------------------------------------------- +function AddressDlg::onDblClick(%this,%caller) +{ + switch(%caller) + { + case 0: + if(%this.DestList==0) + %this.AddTo(); + else + %this.AddCC(); + case 1: + LC_ToList.removeRowbyID(LC_ToList.getSelectedID()); + LC_ToList.SetSelectedRow(0); + case 2: + LC_CCList.removeRowbyID(LC_CCList.getSelectedID()); + LC_CCList.SetSelectedRow(0); + } +} +//----------------------------------------------------------------------------- +function AddressDlg::onWake(%this) +{ + %this.doRefresh = 0; + %this.key = LaunchGui.key++; + %this.state = "loadlistbox"; + %this.lbstate = "errorcheck"; + %this.DestList = 0; + %this.SrcList = 0; + LC_BuddyListBtn.setVisible(0); + LC_ListBox.Clear(); + LC_ListBox.Add("Select List",0); + LC_ListBox.Add("Buddy List",1); + LC_ListBox.setSelected(0); + LC_Search.clear(); + StrToList(LC_ToList,Email_ToEdit.getValue(),","); + StrToList(LC_CCList,Email_CCEdit.getValue(),","); + %info = WONGetAuthInfo(); + %tribeCount = getField( getRecord( %info, 1 ), 0 ); //%cert + for ( %i = 0; %i < %tribeCount; %i++ ) + { + %tribe = getField( getRecord( %info, %i + 2 ), 0 ); //%cert + LC_ListBox.add(%tribe,%i); + } +} +//-- EMailGui ---------------------------------------------------------------- +function EmailGui::onWake(%this) +{ + // Make these buttons inactive until a message is selected: + EM_ReplyBtn.setActive( false ); + EM_ReplyToAllBtn.setActive( false ); + EM_ForwardBtn.setActive( false ); + EM_DeleteBtn.setActive( false ); + EM_BlockBtn.setActive( false ); + %selId = EM_Browser.getSelectedId(); + Canvas.pushDialog(LaunchToolbarDlg); + + + if(!%this.cacheFile) + { + %this.cacheFile = $EmailFileName; + EmailGui.getCache(); + } + if ( !EmailGui.cacheLoaded || EM_Browser.rowCount() == 0 ) + { + EmailGui.checkingEmail = false; + if(!rbInbox.getValue()) + rbInbox.setValue(1); + else + { + EmailGui.GetCache(); + EmailGui.OutputVector(); + } + } + + if ( EM_Browser.rowCount() > 0 ) + { + %row = EM_Browser.findById( %selId ); + if ( %row == -1 ) + EM_Browser.setSelectedRow( 0 ); + else + EM_Browser.setSelectedRow( %row ); + } +} +//----------------------------------------------------------------------------- +function EmailGui::ButtonClick(%this,%ord) +{ + switch(%ord) + { + case 0: em_GetMailBtn.setVisible(1); + GetEmailBtnClick(); + case 1: em_GetMailBtn.setVisible(0); + EM_Browser.clear(); + EMailMessageVector.clear(); + EmailInboxBodyText.setText(""); + EMailGui.state = "getDeletedMail"; + EmailGui.key = LaunchGui.key++; + DatabaseQueryArray(14,100,EmailGui.state,EMailGui,EMailGui.key,true); + } +} +//----------------------------------------------------------------------------- +function EMailGui::onDatabaseQueryResult(%this, %status, %RowCount_Result, %key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "getMail": + %this.soundPlayed = false; + if(getField(%RowCount_Result,0)>0) + { + %this.messageCount = 0; + %this.message = ""; + %this.state = "NewMail"; + %this.getCache(); + } + else + { + %this.state = "done"; + EMailGui.getCache(); + EMailGui.outputVector(); + if(EMailGui.btnClicked) + EmailGui.btnClicked = false; + + %this.checkingEmail = false; + %this.checkSchedule = schedule(1000 * 60 * 5, 0, CheckEmail, true); + } + case "sendMail": + %this.state = "done"; + CheckEMail(); + case "deleteMail": + %this.state = "done"; + CheckEMail(); + case "forwardMail": + %this.state = "done"; + CheckEMail(); + case "replyMail": + %this.state = "done"; + CheckEMail(); + case "replyAllMail": + %this.state = "done"; + CheckEMail(); + case "blockSender": + %this.state = "done"; + case "Refresh": + %this.state = "done"; + CheckEMail(); + case "getDeletedMail": + if(getField(%RowCount_Result,0)>0) + { + %this.messageCount = 0; + %this.message = ""; + %this.state = "DeletedMail"; + } + else + { + %this.state = "done"; + MessageBoxOK("NOTICE",getField(%status,2)); + } + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "error"; + MessageBoxOK("ERROR","Error Retrieving Messages"); + } + canvas.SetCursor(DefaultCursor); +} +//----------------------------------------------------------------------------- +function EMailGui::onDatabaseRow(%this, %row,%isLastRow,%key) +{ + if(%this.key != %key) + return; + +// echo("RECV: " @ %row NL %isLastRow); + switch$(%this.state) + { + case "DeletedMail": + %ID = getField(%row,0); + %senderQuad = getFields(%row,1,4); + %recipientQuad = getFields(%row,5,8); + %created = getField(%row,9); + %isCC = getField(%row,10); + %isDel = getField(%row,11); + %isRead = getField(%row,12); + %TList = getField(%row,13); + %CCList = getField(%row,14); + %subject = getField(%row,15); + %bodyCount = getField(%row,16); + %body = getFields(%row,17); + %msg = %ID NL %senderQuad NL %isRead NL %created NL %TList NL %CCList NL %subject NL %body @ "\n"; + %this.message = %msg; + EmailMessageVector.pushBackLine(%this.message, getField(%this.message, 0)); + if(%isLastRow) + %this.outputVector(); + case "NewMail": + %this.checkingEmail = ""; + %ID = getField(%row,0); + %senderQuad = getFields(%row,1,4); + %recipientQuad = getFields(%row,5,8); + %created = getField(%row,9); + %isCC = getField(%row,10); + %isDel = getField(%row,11); + %isRead = getField(%row,12); + %TList = getField(%row,13); + %CCList = getField(%row,14); + %subject = getField(%row,15); + %bodyCount = getField(%row,16); + %body = getFields(%row,17); + %msg = %ID NL %senderQuad NL %isRead NL %created NL %TList NL %CCList NL %subject NL %body @ "\n"; + %this.message = %msg; + EmailNewMessageArrived( %msg, %id ); +// $EmailNextSeq = %ID; +// EmailMessageVector.pushBackLine(%this.message, getField(%this.message, 0)); + if(!%this.soundPlayed) + { + if(!getRecord(%this.message, 2))//are there any unread messages in this group? + { + %this.soundPlayed = true; + alxPlay(sGotMail, 0, 0, 0); + } + } + + if(%isLastRow) + { + EmailGui.dumpCache(); + EmailGui.loadCache(); + %this.checkingEmail = false; + %this.checkSchedule = schedule(1000 * 60 * 5, 0, CheckEmail, true); +// echo("scheduling Email check " @ %this.checkSchedule @ " in 5 minutes"); + } + } +} +//----------------------------------------------------------------------------- +function EmailGui::getCache(%this) +{ + EM_Browser.clear(); + EMailMessageVector.clear(); + EmailInboxBodyText.setText(""); + %fileName = $EmailCachePath @ $EmailFileName; + %file = new FileObject(); + if ( %this.cacheFile $= "" ) + { + if ( %file.openForRead( %fileName ) ) + { + %guid = %file.readLine(); + if ( %guid $= getField( WonGetAuthInfo(), 3 ) ) + { + // This is the right one! + %this.cacheFile = $EmailFileName; + %this.messageCount = %file.readLine(); + while( !%file.isEOF() ) + { + %line = %file.readLine(); + %id = firstWord( %line ); + %msg = collapseEscape( restWords( %line ) ); + $EmailNextSeq = %id; + EMailMessageVector.pushBackLine(%msg, %id); + } + %file.close(); + } + } + } + else if ( %file.openForRead( %fileName ) ) + { + %guid = %file.readLine(); + %this.messageCount = %file.readLine(); + while( !%file.isEOF() ) + { + %line = %file.readLine(); + %id = firstWord( %line ); + %msg = collapseEscape( restWords( %line ) ); + $EmailNextSeq = %id; + EMailMessageVector.pushBackLine(%msg, %id); + } + %file.close(); + } + %file.delete(); + %this.cacheLoaded = true; +} +//----------------------------------------------------------------------------- +function EmailGui::outputVector(%this) +{ + for(%i = 0; %i < EmailMessageVector.getNumLines(); %i++) + EmailMessageAddRow(EmailMessageVector.getLineText(%i), + EmailMessageVector.getLineTag(%i)); + EM_Browser.setSelectedRow( 0 ); +} +//----------------------------------------------------------------------------- +function EmailGui::loadCache( %this ) +{ + EM_Browser.clear(); + EMailMessageVector.clear(); + EMailInboxBodyText.setText(""); + %fileName = $EmailCachePath @ $EmailFileName; + %file = new FileObject(); + if ( %this.cacheFile $= "" ) + { + if ( %file.openForRead( %fileName ) ) + { + %guid = %file.readLine(); + if ( %guid $= getField( WonGetAuthInfo(), 3 ) ) + { + // This is the right one! + %this.cacheFile = $EmailFileName; + %this.messageCount = %file.readLine(); + while( !%file.isEOF() ) + { + %line = %file.readLine(); + %id = firstWord( %line ); + %msg = collapseEscape( restWords( %line ) ); + EmailNewMessageArrived( %msg, %id ); + } + %file.close(); + } + } + } + else if ( %file.openForRead( %fileName ) ) + { + %guid = %file.readLine(); + %this.messageCount = %file.readLine(); + while( !%file.isEOF() ) + { + %line = %file.readLine(); + %id = firstWord( %line ); + %msg = collapseEscape( restWords( %line ) ); + EmailNewMessageArrived( %msg, %id ); + } + %file.close(); + } + %file.delete(); + %this.cacheLoaded = true; +} +//----------------------------------------------------------------------------- +function EmailGui::dumpCache( %this ) +{ + %guid = getField( WONGetAuthInfo(), 3 ); + if ( %this.cacheFile $= "" ) %this.cacheFile = $EmailFileName; + EmailMessageVector.dump( $EmailCachePath @ %this.cacheFile, %guid ); +} +//----------------------------------------------------------------------------- +function EmailGui::onSleep( %this ) +{ +} +//----------------------------------------------------------------------------- +function EMailGui::getEmail(%this,%fromSchedule) +{ + checkEmail(%fromSchedule); +} +//----------------------------------------------------------------------------- +function EmailGui::setKey( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function EmailGui::onClose( %this, %key ) +{ +} +//-- EM_Browser -------------------------------------------------------------- +function EM_Browser::onAdd( %this ) +{ + if ( !EMailGui.initialized ) + { + // Add the columns with widths from the prefs: + for ( %i = 0; %i < $EmailColumnCount; %i++ ) + EM_Browser.addColumn( %i, $EmailColumnName[%i], $pref::Email::Column[%i], firstWord( $EmailColumnRange[%i] ), getWord( $EmailColumnRange[%i], 1 ) ); + + EM_Browser.setSortColumn( $pref::Email::SortColumnKey ); + EM_Browser.setSortIncreasing( $pref::Email::SortInc ); + + // Set the minimum extent of the frame panes: + %minExtent = EM_BrowserPane.getMinExtent(); + EM_Frame.frameMinExtent( 0, firstWord( %minExtent ), restWords( %minExtent ) ); + %minExtent = EM_MessagePane.getMinExtent(); + EM_Frame.frameMinExtent( 1, firstWord( %minExtent ), restWords( %minExtent ) ); + + EmailGui.initialized = true; + } +} +//----------------------------------------------------------------------------- +function EM_Browser::onSelect( %this, %id ) +{ + %text = EmailMessageVector.getLineTextByTag(%id); + if(rbinbox.getValue()) + { + if(!getRecord(%text, 2)) // read flag + { + %line = EmailMessageVector.getLineIndexByTag(%id); + %text = setRecord(%text, 2, 1); + DatabaseQuery(7, %id); + // Update the GUI: + %this.setRowFlags( %id, 1 ); + EmailMessageVector.deleteLine(%line); + EmailMessageVector.insertLine(%line, %text, %id); + EmailGui.dumpCache(); + } + } + EmailInboxBodyText.setValue(EmailGetTextDisplay(%text)); + EM_ReplyBtn.setActive( true ); + EM_ReplyToAllBtn.setActive( true ); + EM_ForwardBtn.setActive( true ); + EM_DeleteBtn.setActive( true ); + EM_BlockBtn.setActive( true ); +} +//----------------------------------------------------------------------------- +function EM_Browser::onSetSortKey( %this, %sortKey, %isIncreasing ) +{ + $pref::Email::SortColumnKey = %sortKey; + $pref::Email::SortInc = %isIncreasing; +} +//----------------------------------------------------------------------------- +function EM_Browser::onColumnResize( %this, %column, %newSize ) +{ + $pref::Email::Column[%column] = %newSize; +} diff --git a/public/base/@vl2/scripts.vl2/scripts/webforums.cs b/public/base/@vl2/scripts.vl2/scripts/webforums.cs new file mode 100644 index 00000000..52c63f7e --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/webforums.cs @@ -0,0 +1,1755 @@ +//------------------------------------------ +// Forums code +//------------------------------------------ +$ForumCacheVersion = 9; //lucky seven...NOT! +$ForumCachePath = "webcache/" @ getField(wonGetAuthInfo(),3) @ "/"; +$currentForumPage = 0; +$topicPageLength = 60; + +$ForumsConnecting = "CONNECTING"; +$ForumsGetForums = "FETCHING FORUM LIST "; +$ForumsGetTopics = "FETCHING TOPICS "; +$ForumsTitle = "FORUMS"; +$ForumsGetPosts = "FETCHING POSTS "; + +$TopicColumnCount = 0; +$TopicColumnName[0] = "Topic"; +$TopicColumnRange[0] = "50 1000"; +$TopicColumnCount++; +$TopicColumnName[1] = "Posts"; +$TopicColumnRange[1] = "25 100"; +$TopicColumnFlags[1] = "numeric center"; +$TopicColumnCount++; +$TopicColumnName[2] = "Last Poster"; +$TopicColumnRange[2] = "50 500"; +$TopicColumnCount++; +$TopicColumnName[3] = "Last Post Date"; +$TopicColumnRange[3] = "50 300"; +$TopicColumnCount++; + +$ForumColumnCount = 0; +$ForumColumnName[0] = "Message Tree"; +$ForumColumnRange[0] = "50 800"; +$ForumColumnCount++; +$ForumColumnName[1] = "Posted By"; +$ForumColumnRange[1] = "50 500"; +$ForumColumnCount++; +$ForumColumnName[2] = "Date Posted"; +$ForumColumnRange[2] = "50 500"; +$ForumColumnCount++; + +$GuidTribes = 0; + +// format of a forum post is: +// Post ID +// Parent Post ID +// subject +// Author +// Post date +// Text lines + +//Forums message vector post: +// postId +// parentId +// Topic +// Poster +// Date +// Message Line0 +// MessageLine 1 +// MessageLine 2 + +// Update is defined as: +// PostId +// UpdateId +// parentId +// poster +// Date +// topic +// body lines + +if(!isObject(ForumsMessageVector)) +{ + new MessageVector(ForumsMessageVector); +} +//----------------------------------------------------------------------------- +function LaunchForums( %forum, %topic ) +{ + ForumsGui.setVisible(false); + ForumsGui.launchForum = %forum; + ForumsGui.launchTopic = %topic; + forumsList.clear(); + + if(trim(ForumsGui.launchTopic) $= "") + { + ForumsThreadPane.setVisible(false); + ForumsTopicsPane.setVisible(true); + } + + LaunchTabView.viewTab( "FORUMS", ForumsGui, 0 ); +} +//----------------------------------------------------------------------------- +function isModerator() +{ + if(!$GuidTribes) + $GuidTribes = getRecords(WonGetAuthInfo(),1); + %result = 0; + for(%checkID=0;%checkID 1) + %vCanAdmin = 1; + } + + if(%selectedID == 1402) + FO_AcceptBtn.setVisible(%vCanAdmin); + } + else + { + for(%checkID=0;%checkID 1) + %vCanAdmin = 1; + } + } + + FO_EditBtn.setVisible(%vCanAdmin); + FO_RejectBtn.setVisible(%vCanAdmin); + canvas.repaint(); +} +//----------------------------------------------------------------------------- +function DateStrCompare(%date1,%date2) +{ + %d1 = getSubStr(%date1,0,2); + %d2 = getSubStr(%date2,0,2); + + if(%d1 == %d2) + { + %d1 = getSubStr(%date1,3,2); + %d2 = getSubStr(%date2,3,2); + if(%d1 == %d2) + { + %d1 = getSubStr(%date1,6,4); + %d2 = getSubStr(%date2,6,4); + if(%d1 == %d2) + { + if(getSubStr(%date1,17,1)$="a") + %d1 = getSubStr(%date1,11,2)+12; + else + %d1 = getSubStr(%date1,11,2); + + if(getSubStr(%date2,17,1)$="a") + %d2 = getSubStr(%date2,11,2)+12; + else + %d2 = getSubStr(%date2,11,2); + + if(%d1 == %d2) + { + %d1 = getSubStr(%date1,14,2); + %d2 = getSubStr(%date2,14,2); + if(%d1 >= %d2) + return true; + else + return false; + } + else if(%d1 > %d2) + return true; + else + return false; + } + else if(%d1 > %d2) + return true; + else + return false; + } + else if(%d1 > %d2) + return true; + else + return false; + } + else if (%d1 > %d2) + return true; + else + return false; +} +//----------------------------------------------------------------------------- +function IsPostAuthor(%author) +{ +// %ai = wonGetAuthInfo(); +// %pid = getField(GetRecord(%ai,0), +// for(%east=0;%east 0 ) + %latest = %lineDate; + } + if(!ForumsMessageList.highestUpdate) + ForumsMessageList.highestUpdate = 0; + + %newGroup = TopicsListGroup.getObject(ForumsTopicsList.getSelectedRow()); + ForumsMessageList.lastID = %newGroup.updateid; + %latest = GetField(ForumsTopicsList.getRowTextbyID(ForumsTopicsList.getSelectedID()),3); + ForumsMessageVector.dump( $ForumCachePath @ "tpc" @ ForumsMessageVector.tid , ForumsMessageList.lastID TAB $ForumCacheVersion TAB %allRead TAB %latest); +} +//----------------------------------------------------------------------------- +function ForumsAcceptPost() +{ + %parentId = ForumsMessageList.getSelectedId(); + %text = ForumsMessageVector.getLineTextByTag(%parentId); + %index = ForumsMessageVector.getLineIndexByTag( %parentId ); + %author = getRecord( %text, 4 ); + %dev = getLinkName(%author); + %date = getRecord(%text, 5); + %body = getRecords(%text, 7); + ForumsGui.ebstat = FO_EditBtn.Visible; + ForumsGui.destat = FO_DeleteBtn.Visible; + $NewsTitle = getRecord(%text, 3); + ForumsMessageList.state = "newsAccept"; + Canvas.pushDialog(NewsPostDlg); + NewsPostBodyText.setValue("submitted by " @ %dev @ "\n\n" @ ForumsGetTextDisplay(%body)); + NewsPostDlg.postID = -1; + NewsPostDlg.action = "News"; + NewsPostDlg.Findex = %index; + NewsPostDlg.FromForums = true; +} +//----------------------------------------------------------------------------- +function ForumsEditPost() +{ + ForumsGui.ebstat = FO_EditBtn.Visible; + ForumsGui.destat = FO_DeleteBtn.Visible; + %text = ForumsMessageVector.getLineTextByTag(ForumsComposeDlg.parentPost); + $ForumsSubject = getRecord(%text, 3); + Canvas.pushDialog(ForumsComposeDlg); + ForumsBodyText.setValue(ForumsGetTextDisplay(%text,7)); + ForumsComposeDlg.post = ForumsComposeDlg.parentPost; + ForumsComposeDlg.action = "Edit"; +} +//----------------------------------------------------------------------------- +function ForumsGetTextDisplay(%text, %offSet) +{ + %msgText = ""; + %rc = getRecordCount(%text); + + for(%i = %offSet; %i < %rc; %i++) + %msgText = %msgText @ getRecord(%text, %i) @ "\n"; + return %msgText; +} +//----------------------------------------------------------------------------- +function ForumsGoTopics(%direction) +{ + ForumShell.setTitle($ForumsConnecting); + ForumsThreadPane.setVisible(false); + ForumsTopicsPane.setVisible(true); + FO_RejectBtn.visible = false; + FO_EditBtn.visible = false; + FO_AcceptBtn.visible = false; + + if ( ForumsTopicsList.rowCount() == 0 || ForumsTopicsList.refreshFlag ) + { + FM_NewTopic.setActive(true); + ForumShell.setTitle($ForumsConnecting); + ForumsGui.eid = schedule(250,ForumsGui,GetTopicsList); + } + else + ForumsTopicsList.updateReadStatus(); //looks at file if any posts have been added/edited/deleted... + ForumShell.setTitle("FORUMS: " @ getField(ForumsList.getRowTextbyID(ForumsList.getSelectedID()),0)); +} +//----------------------------------------------------------------------------- +function ForumsRefreshTopics() +{ + ForumsTopicsList.refreshFlag = true; + $currentForumPage = 0; + updateTopicPageBtn(0,0); + ForumsGui.eid = schedule(250,ForumsGui,GetTopicsList); +} +//----------------------------------------------------------------------------- +function ForumsMessageAddRow(%text) +{ + %rc = ForumsMessageList.rowCount(); + %isRead = getRecord( %text, 0 ); + %id = getRecord(%text, 1); + %parentId = getRecord(%text, 2); + %subject = getRecord(%text, 3); + %author = getField(getTextName(getRecord(%text, 4), 0), 0); + %authorName = getField(getRecord(%text,4),0); + %date = getRecord(%text, 5); + %ref = getRecord(%text, 6); + %oldRow = ForumsMessageList.getRowNumById(%id); + %selId = ForumsMessageList.getSelectedId(); + + if(!%selID) + { + %selID = ForumsGui.lastSelected; + ForumsGui.lastSelected = ""; + } + + if(%parentId) + { + for(%i = 0; %i < %rc; %i++) + { + // check for existing? + if(ForumsMessageList.getRowId(%i) == %parentId) + { + %parentRow = ForumsMessageList.getRowText(%i); +// echo("Found parent"); + break; + } + } + %indentLevel = getField(%parentRow, 3) + 1; + %indentSpace = ""; + for(%j = 0; %j < %indentLevel; %j++) + %indentSpace = %indentSpace @ " "; + } + else + %indentSpace = ""; + + %rowText = %indentSpace @ %subject TAB %author TAB %date TAB %indentLevel TAB %parentId TAB %ref TAB %authorName; + + if(%oldRow != -1) //if there's a rownumber - message exists + { + ForumsMessageList.removeRow(%oldRow); + ForumsMessageList.addRow(%id, %rowText, %oldRow); + } + else if(!%parentId) //if a first post + { + ForumsMessageList.addRow(%id, %rowText, 0); + } + else //continue from %i + { + for(%i++; %i < %rc; %i++) + { + %row = ForumsMessageList.getRowText(%i); + while(%row !$= "") + { + %rowParent = getField(%row, 4); + if(%rowParent == %parentId) + break; + + %row = ForumsMessageList.getRowTextById(%rowParent); + if(%rowParent == %row) + break; + } + if(%row $= "") + break; + } + if(%i <= %rc) + { + ForumsMessageList.addRow(%id, %rowText, %i); + } + else + { + ForumsMessageList.addRow(%id, %rowText); + } + } + ForumsMessageList.setRowStyleById( %id, !%isRead ); + +} +//----------------------------------------------------------------------------- +function ForumsNewTopic() +{ + %fid = ForumsList.getSelectedID(); + if( %fid == 105 || %fid == 35500 || %fid == 35501 || %fid == 35503 ||%fid == 35504) + { + messageBoxYesNo("CONFIRM", + "Please do not submit bug reports without a tested solution, test posts or recruiting posts." NL " " NL "Continue with your submittal?", + "StartPostNews();"); + } + else + { + $ForumsSubject = ""; + Canvas.pushDialog( ForumsComposeDlg ); + ForumsBodyText.setValue( "" ); + ForumsComposeDlg.parentPost = 0; + ForumsComposeDlg.action = "Post"; + } +} +//----------------------------------------------------------------------------- +function ForumsNext() +{ + %Currow = ForumsMessageList.getSelectedRow(); + if( %Currow < ForumsMessageList.rowCount() ) + ForumsMessageList.setSelectedRow( %Currow + 1 ); +} +//----------------------------------------------------------------------------- +function ForumsOpenThread(%tid) +{ + ForumsGui.eid = schedule(250,ForumsGui,GetTopicPosts); +} +//----------------------------------------------------------------------------- +function ForumsPost() +{ + + $ForumsSubject = FP_SubjectEdit.getValue(); + if ( trim($ForumsSubject) $= "" ) + { + MessageBoxOK( "POST FAILED", "Your post cannot be accepted without text in the Subject line.", + "FP_SubjectEdit.makeFirstResponder(1);"); + return; + } + + // the subject text could be too long (OCI strips out non-ascii. encoding method ensures normal chars still readable + if(getExpandedStrlen($ForumsSubject) >= 80) + { + MessageBoxOK( "POST FAILED", "Subject text too long. Extended/international characters count as two letters.", + "FP_SubjectEdit.makeFirstResponder(1);"); + return; + } + + TextCheck($ForumsSubject,ForumsGui); + if(!ForumsGui.textCheck) + { + ForumsTopicsList.refreshFlag = 1; + if(ForumsComposeDlg.parentPost == 0) //this is a new topic request + { + if(ForumsComposeDlg.action $= "Post") + { + %ord = 12; + %proxy = ForumsGui; + %proxy.state = "newTopic"; + ForumsGui.LaunchTopic = $ForumsSubject; + %fieldData = ForumsComposeDlg.forum TAB + ForumsComposeDlg.topic TAB + ForumsComposeDlg.parentPost TAB + $ForumsSubject TAB + ForumsBodyText.getValue(); + } + else if(ForumsComposeDlg.action $="News") + { + %ord = 14; + %proxy.state = "postNews"; + %fieldData = ForumsComposeDlg.post TAB + $ForumsSubject TAB + ForumsBodyText.getValue(); + } + } + else if(ForumsComposeDlg.parentPost != 0) + { + if(ForumsComposeDlg.action $= "Reply") + { + %ord = 12; + %proxy = ForumsMessageList; + %proxy.state = "replyPost"; + %fieldData = ForumsComposeDlg.forum TAB + ForumsComposeDlg.topic TAB + ForumsComposeDlg.parentPost TAB + $ForumsSubject TAB + ForumsBodyText.getValue(); + } + else if(ForumsComposeDlg.action $="Edit") + { + %ord = 13; + %proxy = ForumsMessageList; + %proxy.state = "editPost"; + %fieldData = ForumsComposeDlg.parentPost TAB + $ForumsSubject TAB + ForumsBodyText.getValue(); + } + } + %proxy.key = LaunchGui.key++; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(%ord,%fieldData,%proxy, %proxy.key); + Canvas.popDialog(ForumsComposeDlg); + } + else + { + messageBoxOK("ERROR","Please remove any of the following characters contained in your subject line and resubmit" NL "" NL " : < > * ^ | ~ @ % & / \\ ` \""); + FP_SubjectEdit.makeFirstResponder(1); + } +} +//----------------------------------------------------------------------------- +function ForumsPrevious() +{ + %Currow = ForumsMessageList.getSelectedRow(); + if( %Currow > 0 ) + ForumsMessageList.setSelectedRow( %Currow - 1 ); +} +//----------------------------------------------------------------------------- +function ForumsRejectPost() //forumsDeletePost() +{ + ForumsGui.ebstat = FO_EditBtn.Visible; + ForumsGui.destat = FO_DeleteBtn.Visible; + ForumsMessageList.key = LaunchGui.key++; + ForumsMessageList.state = "deletePost"; + canvas.SetCursor(ArrowWaitCursor); + MessageBoxYesNo("CONFIRM", "Are you sure you wish to remove the selected post?", + "DatabaseQuery(14," @ ForumsComposeDlg.parentPost @ "," @ ForumsMessagelist @ "," @ ForumsMessagelist.key @ ");", "canvas.SetCursor(defaultCursor);"); +} +//----------------------------------------------------------------------------- +function ForumsReply() +{ + %text = ForumsMessageVector.getLineTextByTag(ForumsComposeDlg.parentPost); + ForumsGui.ebstat = FO_EditBtn.Visible; + ForumsGui.destat = FO_DeleteBtn.Visible; + $ForumsSubject = getRecord(%text, 3); + Canvas.pushDialog(ForumsComposeDlg); + ForumsBodyText.setValue(""); + QuoteBtn.setVisible(ForumsMessageVector.getNumLines() > 0); +// MessageBoxYesNo("QUOTE?","Include Topic Post Text?","GetQuotedText();","ForumsBodyText.setValue(\"\");"); + + ForumsComposeDlg.action = "Reply"; +} +//----------------------------------------------------------------------------- +function GetQuotedText() +{ + if(ForumsComposeDlg.parentPost == 0) + { + ForumsBodyText.setValue(""); +// ForumsBodyText.setValue("ALL YOUR BASE ARE BELONG TO US\n\n"); + ForumsBodyText.MakeFirstResponder(1); + ForumsBodyText.setCursorPosition(3600); + } + else + { + ForumsBodyText.setValue("\"" @ trim(ForumsText.getText()) @ "\"\n\n"); + ForumsBodyText.MakeFirstResponder(1); + ForumsBodyText.setCursorPosition(3600); + } +// ForumsBodyText.setCursorPosition(strLen(ForumsBodyTExt.getText())+5); +} +//----------------------------------------------------------------------------- +function GetForumsList() +{ + ForumsList.clear(); + ForumsGui.onWake(); +} +//----------------------------------------------------------------------------- +function GetTopicsList() +{ + ForumShell.setTitle($ForumsGetTopics); + canvas.SetCursor(ArrowWaitCursor); + ForumsTopicsList.clear(); + ForumsTopicsList.clearList(); + ForumsTopicsList.refreshFlag = 0; + ForumsGui.key = LaunchGui.key++; + ForumsGui.state = "getTopicList"; + DatabaseQueryArray(8,$currentForumPage,ForumsList.getSelectedID(),ForumsGui,ForumsGui.key,true); +} +//----------------------------------------------------------------------------- +function GetTopicPosts() +{ + ForumsThreadPane.setVisible(true); + ForumsTopicsPane.setVisible(false); + ForumShell.setTitle($ForumsGetPosts); + canvas.SetCursor(ArrowWaitCursor); + ForumsGui.key = LaunchGui.key++; + ForumsGui.state = "getPostList"; + ForumsText.setValue(""); + FO_TopicText.setValue(strupr(getField(ForumsTopicsList.getRowTextByID(ForumsComposeDlg.Topic),0))); + + if(!ForumsComposeDlg.Topic) + ForumsComposeDlg.topic = ForumsTopicsList.getSelectedID(); + + ForumsMessageList.clearList(); + ForumsMessageList.loadCache(getField(ForumsList.getRowTextByID(ForumsList.getSelectedID()),1)); + + if(ForumsMessageList.lastID == 0) + { + ForumsMessageVector.clear(); + ForumsMessageList.clear(); + } + DatabaseQueryArray(9,0,ForumsComposeDlg.Topic TAB ForumsMessageList.lastID,ForumsGui,ForumsGui.key,true); +} +//----------------------------------------------------------------------------- +//-- ForumsGui --------------------------------------------------------------- +//----------------------------------------------------------------------------- +function ForumsGui::onAdd( %this ) +{ + %this.initialized = false; + if($GuidTribes == 0) + { + %ai = wonGetAuthInfo(); + $GuidTribes = getRecords(%ai,1); + } +} +//----------------------------------------------------------------------------- +function ForumsGui::onWake(%this) +{ + // First time only: + if ( !%this.initialized ) + { + // Add the columns from the prefs:TopicsList + for ( %i = 0; %i < $TopicColumnCount; %i++ ) + { + ForumsTopicsList.addColumn( %i, + $TopicColumnName[%i], + $pref::Topics::Column[%i], + firstWord( $TopicColumnRange[%i] ), + getWord( $TopicColumnRange[%i], 1 ), + $TopicColumnFlags[%i] ); + } + ForumsTopicsList.setSortColumn( $pref::Topics::SortColumnKey ); + ForumsTopicsList.setSortIncreasing( $pref::Topics::SortInc ); + + // Add columns from the prefs:MessageList + for ( %i = 0; %i < $ForumColumnCount; %i++ ) + ForumsMessageList.addColumn( %i, + $ForumColumnName[%i], + $pref::Forum::Column[%i], + firstWord( $ForumColumnRange[%i] ), + getWord( $ForumColumnRange[%i], 1 ) ); + // We want no sorting done on this list -- leave them in the order that they are entered. + + + FM_NewTopic.setActive(false); + ForumsThreadPane.setVisible(false); + ForumsTopicsPane.setVisible(true); + ForumsMessageList.thread = ""; + ForumsMessageList.lastId = ""; + // Both panes should have the same minimum extents... + %minExtent = FO_MessagePane.getMinExtent(); + FO_Frame.frameMinExtent( 0, firstWord( %minExtent ), restWords( %minExtent ) ); + FO_Frame.frameMinExtent( 1, firstWord( %minExtent ), restWords( %minExtent ) ); + %this.initialized = true; + } + Canvas.pushDialog(LaunchToolbarDlg); + if ( ForumsList.rowCount() == 0) + { + ForumsGui.key = LaunchGui.key++; + ForumShell.setTitle($ForumsConnecting); + ForumsGui.state = "getForumList"; + canvas.SetCursor(ArrowWaitCursor); + $currentForumPage = 0; + DatabaseQueryArray(7,100,"",ForumsGui,ForumsGui.key); + } + // Make these buttons inactive until a message is selected: + FTPrevBtn.setActive(false); + FTNextBtn.setActive(false); + FO_ReplyBtn.setActive( false ); + FO_NextBtn.setActive( false ); + FO_PreviousBtn.setActive( false ); +} +//----------------------------------------------------------------------------- +function ForumsGui::onSleep(%this) +{ + Canvas.popDialog(LaunchToolbarDlg); + // Stop the scheduled refreshes: + cancel( %this.messageRefresh ); +} +//----------------------------------------------------------------------------- +function ForumsGui::setKey( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function ForumsGui::onClose( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function ForumsGui::onDatabaseQueryResult(%this,%status,%resultString,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status NL "RS:" @ %resultString); + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "getForumList": + if(getField(%resultString,0)>0) + { + %this.forumCount = -1; + ForumShell.setTitle($ForumsGetForums @ ": " @ getField(%resultString,0)); + %this.state = "ForumList"; + ForumsList.clear(); + } + else + { + %this.state = "done"; + MessageBoxOK("NO DATA","No Forums found"); + } + case "getTopicList": + if(getField(%resultString,0)>0) + { + %this.txid = 0; + ForumShell.setTitle($ForumsGetTopics @ ": " @ getField(%resultString,0)); + %this.state = "TopicList"; + %recordCount = getField(%resultString,0); + if(%recordCount > $topicPageLength) + { + if($currentForumPage == 0) + updateTopicPageBtn(0,1); + else if($currentForumPage > 0) + updateTopicPageBtn(1,1); + } + else + { + if($currentForumPage == 0) + updateTopicPageBtn(0,0); + else if($currentForumPage > 0) + updateTopicPageBtn(1,0); + } + + } + else + { + %this.state = "done"; + ForumsTopicsList.updateReadStatus(); + } + + case "getPostList": + %statFlag = getField(%status,2); + %forumFlag = getField(ForumsList.getRowTextbyId(ForumsList.getSelectedID()),1); + %forumID = getField(ForumsList.getRowTextById(ForumsList.getSelectedID()),2); + %forumTID = ForumsTopicsList.getSelectedID(); + + %this.bflag = %statFlag; + + if(getField(%resultString,0)>0) + { + ForumShell.setTitle($ForumsGetPosts @ ": " @ getField(%resultString,0)); + %this.state = "PostList"; + if(!ForumsGui.visible) + ForumsGui.setVisible(true); + } + else + { + %this.state = "done"; + ForumsMessageList.clearList(); + ForumsMessageList.loadCache(%forumID); + } + case "postNews": + %this.state = "done"; + messageBoxOK("CONFIRMED","Your News Reply has been submitted"); + case "newTopic": + %this.state = "done"; + ForumsRefreshTopics(); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "error"; + MessageBoxOk("ERROR",getField(%status,1)); + } + ForumShell.setTitle("FORUMS: " @ getField(ForumsList.getRowTextbyID(ForumsList.getSelectedID()),0)); + canvas.SetCursor(defaultCursor); +} +//----------------------------------------------------------------------------- +function ForumsGui::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %row); + %forumTID = getField(ForumsList.getRowTextbyId(ForumsList.getSelectedID()),2); + switch$(%this.state) + { + case "ForumList": + ForumsList.addRow(getField(%row,0),getField(%row,1) TAB getField(%row,2) TAB getField(%row,3)); + if ( %isLastRow ) //is last line + { + %ai = wonGetAuthInfo(); + for(%east=0;%east ForumsMessageList.highestUpdate ) + ForumsMessageList.highestUpdate = %high; + if(%parent == %postId) + %parent = 0; + + %text = 0 NL + %postId NL + %parent NL + %topic NL + %poster NL + %date NL + %isAuthor NL + %body; + + %li = ForumsMessageVector.getLineIndexByTag(%postId); + if(%li != -1) + ForumsMessageVector.deleteLine(%li); + + if(ForumsMessageList.allRead && DateStrCompare(ForumsMessageList.lastDate,%date)) + %text = setRecord( %text, 0, "1" ); + + if(!%isDeleted) + ForumsMessageVector.pushBackLine(%text, %postId); + + if(%isLastRow) + { + ForumsMessageVector.tid = ForumsTopicsList.getSelectedID(); + ForumsTopicsList.thread = TopicsListGroup.getObject(ForumsTopicsList.getSelectedRow()); + ForumsTopicsList.thread.updateID = %high; + CacheForumTopic(); + ForumsMessageList.loadCache(ForumsTopicsList.getSelectedID()); + } + } +} +//----------------------------------------------------------------------------- +function ForumsGui::NextThreadPage() +{ + if($currentForumPage >= 5) + return; + ForumsGui.key = LaunchGui.key++; + ForumShell.setTitle($ForumsGetTopics); + ForumsGui.state = "getTopicList"; + ForumsTopicsList.clear(); + canvas.SetCursor(ArrowWaitCursor); + ForumsTopicsList.clearList(); + $currentForumPage++; + DatabaseQueryArray(8,$currentForumPage,ForumsList.getSelectedID(),ForumsGui,ForumsGui.key,true); + ForumsTopicsList.refreshFlag = 0; +} +//----------------------------------------------------------------------------- +function ForumsGui::PreviousThreadPage() +{ + if($currentForumPage == 0) + return; + ForumsGui.key = LaunchGui.key++; + ForumShell.setTitle($ForumsGetTopics); + ForumsGui.state = "getTopicList"; + ForumsTopicsList.clear(); + canvas.SetCursor(ArrowWaitCursor); + ForumsTopicsList.clearList(); + $currentForumPage--; + DatabaseQueryArray(8,80,ForumsList.getSelectedID(),ForumsGui,ForumsGui.key,true); + ForumsTopicsList.refreshFlag = 0; +} +//----------------------------------------------------------------------------- +//-- ForumsList -------------------------------------------------------------- +//----------------------------------------------------------------------------- +function ForumsList::onSelect(%this) +{ + if(isEventPending(ForumsGUI.eid)) + cancel(ForumsGui.eid); + FM_NewTopic.setActive(true); + ForumsComposeDlg.forum = ForumsList.getSelectedID(); + ForumShell.setTitle("FORUMS: " @ getField(ForumsList.getRowTextbyID(ForumsList.getSelectedID()),0)); + $currentForumPage = 0; + ForumsGui.eid = schedule(250,ForumsGui,GetTopicsList); +} +//----------------------------------------------------------------------------- +function ForumsList::connectionTerminated( %this, %key ) +{ + ForumShell.setTitle("FORUMS: " @ getField(ForumsList.getRowTextbyID(ForumsList.getSelectedID()),0)); + if ( %key != %this.key ) + return; +} +//----------------------------------------------------------------------------- +function ForumsList::selectForum( %this, %forum ) +{ + %rowCount = %this.rowCount(); + for ( %row = 0; %row < %rowCount; %row++ ) + { + if ( %forum $= getField( %this.getRowText( %row ), 0 ) ) + { + %this.setSelectedRow( %row ); + break; + } + } + if ( %row == %rowCount ) + warn( "\"" @ %forum @ "\" forum not found!" ); +} +//----------------------------------------------------------------------------- +//-- ForumsTopicsList -------------------------------------------------------- +//----------------------------------------------------------------------------- +function ForumsTopicsList::onAdd( %this ) +{ + new GuiControl(TopicsPopupDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new ShellPopupMenu( TopicsPopupMenu ) { + profile = "ShellPopupProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + visible = "1"; + maxPopupHeight = "200"; + noButtonStyle = "1"; + }; + }; + + // Add the "Unread" style: + %this.addStyle( 1, $ShellBoldFont, $ShellFontSize, "80 220 200", "30 255 225", "10 60 40" ); + // Add the "Ignored" style: + %this.addStyle( 2, $ShellFont, $ShellFontSize, "100 100 100", "100 100 000", "100 100 100" ); + // Add the "LOCKED" style: + %this.addStyle( 3, $ShellFont, $ShellFontSize, "200 50 50", "200 100 100", "200 50 50" ); +} +//----------------------------------------------------------------------------- +function ForumsTopicsList::AddTopic(%this, %iRow, %id, %topicname, %date, %mid, %slevel, %vline) +{ + if(!isObject(TopicsListGroup)) + new SimGroup(TopicsListGroup); + %topic = new scriptObject() + { + className = "TTopic"; + rowID = %iRow; + Id = %id; + name = %topicname; + date = %date; + updateid = %mid; + slevel = %slevel; + rcvrec = %vline; + }; + TopicsListGroup.Add(%topic); +} +//----------------------------------------------------------------------------- +function ForumsTopicsList::ClearList() +{ + if(isObject(TopicsListGroup)) + TopicsListGroup.Delete(); +} +//----------------------------------------------------------------------------- +function ForumsTopicsList::onRightMouseDown( %this, %column, %row, %mousePos ) +{ + ForumsTopicsList.setSelectedRow(%row); +// for(%i=0;%i -1) + getTopicPosts(); + else + if ( %row == %rowCount ) + warn( "\"" @ %topic @ "\" Topic not found!" ); +} +//----------------------------------------------------------------------------- +function ForumsTopicsList::updateReadStatus( %this ) +{ + for ( %row = 0; %row < %this.rowCount(); %row++ ) + { + %style = 1; // unread + %cacheFile = $ForumCachePath @ "tpc" @ %this.getRowId( %row ); + %file = new FileObject(); + if ( %file.openForRead( %cacheFile ) ) + { + %header = %file.readLine(); + %topicDate = getField( %this.getRowText( %row ), 3 ); + %updateID = getField(%header,0); + if ( getField( %header, 1 ) == $ForumCacheVersion // Must have same cache version + && getField( %header, 2 ) == 1 // "all read" flag must be set + && strcmp( getField( %header, 3 ), %topicDate ) >= 0 + && %updateID !$= "99999999" ) // date must be current + %style = 0; // read + else if (%updateID $= "99999999") + %style = 2; //ignored + else + %style = 1; + } + %file.delete(); + %this.setRowStyle( %row, %style ); + } +} +//----------------------------------------------------------------------------- +//-- ForumsMessageList ------------------------------------------------------- +//----------------------------------------------------------------------------- +function ForumsMessageList::onAdd( %this ) +{ + new GuiControl(PostsPopupDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new ShellPopupMenu( PostsPopupMenu ) { + profile = "ShellPopupProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + visible = "1"; + maxPopupHeight = "200"; + noButtonStyle = "1"; + }; + }; + + // Add the "Unread" style: + %this.addStyle( 1, $ShellBoldFont, $ShellFontSize, "80 220 200", "30 255 225", "0 0 0" ); +} +//----------------------------------------------------------------------------- +function ForumsMessageList::AddPost(%this, %id, %postname, %authorID, %authorName, %date, %mid, %slevel, %vline) +{ + if(!isObject(PostsListGroup)) + new SimGroup(PostsListGroup); + %post = new scriptObject() + { + className = "TPost"; + Id = %id; + name = %postname; + author = %authorName; + authorID = %authorID; + date = %date; + updateid = %mid; + slevel = %slevel; + rcvrec = %vline; + }; + PostsListGroup.Add(%post); +} +//----------------------------------------------------------------------------- +function ForumsMessageList::ClearList() +{ + if(isObject(PostsListGroup)) + PostsListGroup.Delete(); +} +//----------------------------------------------------------------------------- +function ForumsMessageList::onRightMouseDown( %this, %column, %row, %mousePos ) +{ + ForumsMessageList.setSelectedRow(%row); + PostsPopupMenu.post = PostsListGroup.getObject(%row); + if ( trim(PostsPopupMenu.post.name) !$= "") + { + Canvas.pushDialog(PostsPopupDlg); + PostsPopupMenu.position = %mousePos; + PostsPopupDlg.onWake(); + PostsPopupMenu.forceOnAction(); + } + else + error( "Locate Error!" ); +} +//----------------------------------------------------------------------------- +function PostsPopupDlg::onWake( %this ) +{ + ForumsGui.TDialogOpen = true; + PostsPopupMenu.clear(); + PostsPopupMenu.add( strUpr(PostsPopupMenu.post.author),0); + %line = "------------------------------------------------"; + %line2 = "................................................"; + PostsPopupMenu.add(%line,-1); + PostsPopupMenu.add( "EMAIL", 1 ); + PostsPopupMenu.add( "ADD To BUDDYLIST",2); +// PostsPopupMenu.add( "INVITE TO CHAT",3); +// PostsPopupMenu.add( "INSTANT MESSAGE",4); +// PostsPopupMenu.add( "FOLLOW TO GAME (if playing)",5); + if(isModerator()) + { + PostsPopupMenu.add(%line2,-1); + PostsPopupMenu.add( getsubstr(PostsPopupMenu.post.name,0,20) SPC ": REQUEST ADMIN REVIEW",9); + if(isT2Admin()) + PostsPopupMenu.add( getsubstr(PostsPopupMenu.post.name,0,20) SPC ": REMOVE POST",10); + } + Canvas.rePaint(); +} +//----------------------------------------------------------------------------- +function PostsPopupMenu::onSelect( %this, %id, %text ) +{ +// echo("TPM RECV: " @ %id TAB %text); + switch( %id ) + { + case 0: LinkBrowser( PostsPopupMenu.post.author , "Warrior"); + case 1: // 0 EMAIL Post Author + LinkEMail(PostsPopupMenu.post.author); +// MessageBoxOK("NOTICE","Feature Not Yet Implemented"); + case 2: // 1 ADD Post Author to your BuddyList + MessageBoxYesNo("CONFIRM","Add " @ PostsPopupMenu.post.author @ " to Buddy List?", + "LinkAddBuddy(\"" @ PostsPopupMenu.post.author @ "\",TWBText,\"addBuddy\");",""); +// MessageBoxOK("NOTICE","Feature Not Yet Implemented"); + case 3: // 2 INVITE Post Author To CHAT + MessageBoxOK("NOTICE","Feature Not Yet Implemented"); + case 4: // 3 IMSG Post Author + MessageBoxOK("NOTICE","Feature Not Yet Implemented"); + case 5: // 4 FOLLOW Post Author to game if is playing + MessageBoxOK("NOTICE","Feature Not Yet Implemented"); + case 9: //Request Admin Review + // FORUMID.TOPICID.POSTID.AUTHORID + PostsPopupDlg.key = LaunchGui.key++; + PostsPopupDlg.state = "requestPostReview"; + %fieldData = ForumsList.getSelectedID() TAB ForumsTopicsList.getSelectedID() TAB ForumsMessageList.getSelectedID() TAB PostsPopupMenu.post.authorID; + MessageBoxYesNo("CONFIRM","Request Admin Review?","PostsPopupMenu.adminCall(61,\"" @ %fieldData @ "\");",""); + case 10: //Remove Post + PostsPopupDlg.key = LaunchGui.key++; + PostsPopupDlg.state = "adminRemovePost"; + %fieldData = ForumsMessageList.getSelectedID(); + MessageBoxYesNo("CONFIRM","Remove Post?","PostsPopupMenu.adminCall(14,\"" @ %fieldData @ "\");",""); +// %fieldData = 0 TAB ForumsList.getSelectedID() TAB ForumsTopicsList.getSelectedID() TAB ForumsMessageList.getSelectedID() TAB PostsPopupMenu.post.authorID; +// MessageBoxYesNo("CONFIRM","Remove Post?","PostsPopupMenu.adminCall(63,\"" @ %fieldData @ "\");",""); + } + canvas.popDialog(PostsPopupDlg); +} +//----------------------------------------------------------------------------- +function PostsPopupMenu::AdminCall(%this, %ord, %fields) +{ + databaseQuery(%ord, %fields, PostsPopupDlg, PostsPopupDlg.key); +} +//----------------------------------------------------------------------------- +function PostsPopupDlg::onSleep(%this) +{ + ForumsGui.TDialogOpen = false; +} +//----------------------------------------------------------------------------- +function PostsPopupDlg::onDatabaseQueryResult(%this,%status,%recordCount,%key) +{ + if(%this.key != %key) + return; + if(getField(%status,0)==0) + { + %selRow = ForumsMessageList.getRowNumByID(PostsPopupMenu.post.id); + if (%this.state $= "adminRemovePost") + { + MessageBoxOK("NOTICE",getField(%status,1)); + ForumsMessageVector.deleteLine( %selRow ); + ForumsMessageList.removeRow( %selRow ); + ForumsMessageList.setSelectedRow( %selRow ); + CacheForumTopic(); + %this.State = "done"; + } + if (%this.state $= "adminRemovePostPlus") + { + MessageBoxOK("NOTICE",getField(%status,1)); + ForumsMessageVector.deleteLine( %selRow ); + ForumsMessageList.removeRow( %selRow ); + ForumsMessageList.setSelectedRow( %selRow ); + CacheForumTopic(); + Email_ToEdit.setText(getField(%status,3)); + Email_CCEdit.setText(""); + switch(getField(%status,2)) + { + case 1: $EmailSubject = "Policy Violation Warning"; + case 2: $EmailSubject = "Policy Violation Ban Notice : 24 hours"; + case 3: $EmailSubject = "Policy Violation Ban Notice : 48 hours"; + case 4: $EmailSubject = "Policy Violation Ban Notice : 72 hours"; + case 5: $EmailSubject = "Policy Violation Ban Notice : 7 Days"; + case 6: $EmailSubject = "Policy Violation Ban Notice : 30 Days"; + case 7: $EmailSubject = "Policy Violation Ban Notice : Indefinite"; + } + EMailComposeDlg.state = "sendMail"; + Canvas.pushDialog(EmailComposeDlg); + EmailBodyText.setValue(""); + Email_ToEdit.makeFirstResponder(1); + } + else if (%this.state $= "requestPostReview") + { + MessageBoxOK("NOTICE",getField(%status,1)); + } + else + { + ForumsMessageVector.deleteLine( %selRow ); + ForumsMessageList.removeRow( %selRow ); + ForumsMessageList.setSelectedRow( %selRow ); + CacheForumTopic(); + MessageBoxOK("NOTICE",getField(%status,1)); + } + } + else + messageBoxOK("ERROR",getField(%status,1)); +} +//----------------------------------------------------------------------------- +function ForumsMessageList::connectionTerminated(%this, %key) +{ + ForumShell.setTitle("FORUMS: " @ getField(ForumsList.getRowTextbyID(ForumsList.getSelectedID()),0)); +} +//----------------------------------------------------------------------------- +function ForumsMessageList::loadCache( %this, %forumTID) +{ + ForumsMessageVector.clear(); + ForumsMessageList.clear(); + ForumsMessageVector.tid = %forumTID; + %this.lastId = 0; + %this.highestUpdate = %this.lastID; + %cacheFile = $ForumCachePath @ "tpc" @ ForumsComposeDlg.topic; + %file = new FileObject(); + if ( %file.openForRead( %cacheFile ) ) + { + if ( !%file.isEOF() ) + { + // First line is the update id: + %line = %file.readLine(); + if ( getField( %line, 1 ) == $ForumCacheVersion ) + { + %this.lastID = getField(%line,0); + %this.highestUpdate = %this.lastID; + %this.allRead = getField(%line,2); + %this.lastDate = getField(%line,3); + if ( !%file.isEOF() ) + { + // Second line is the message count: + %line = %file.readLine(); + %count = getField( %line, 0 ); + + // Now push all of the messages into the message vector: + while ( !%file.isEOF() ) + { + %line = %file.readLine(); + %postId = firstWord( %line ); + %text = collapseEscape( restWords( %line ) ); + %date = getRecord(%text,5); + %isRead = getRecord(%text,0); + + // RESET THE FIELDS IF THE POST IS BEING VISITED BY THE AUTHOR. + %ref = getRecord(%text,6); + if(%this.allRead && DateStrCompare(%this.lastDate,%date)) + %text = setRecord( %text, 0, "1" ); + +// echo( "** ADDING MESSAGE FROM CACHE - " @ %postId @ " **" ); + ForumsMessageVector.pushBackLine( %text, %postId ); + } + } + } + } + } + %file.delete(); + + %numLines = ForumsMessageVector.getNumLines(); + for(%x=0;%x<%numLines;%x++) + { + %lineText = ForumsMessageVector.getLineText( %x ); + ForumsMessageAddRow( %lineText ); + } + if(ForumsMessageList.getSelectedId() == -1) + ForumsMessageList.setSelectedRow(0); + + for(%x=0;%x<%numLines;%x++) + { + %lineText = ForumsMessageVector.getLineTextbyTag( ForumsMessageList.getRowID(%x) ); + %ltID = getField(getRecord(%lineText,1),0); + %ltSubject = getField(getRecord(%lineText,3),0); + %ltAuthorID = getField(getRecord(%lineText,4),3); + %ltAuthorName = getField(getRecord(%lineText,4),0); + %ltDate = getField(getRecord(%lineText,5),0); + %ltParentID = getField(getRecord(%lineText,2),0); + + if(%ltParentID == 0) + %ltParentID = %ltID; + + %ltIsRead = getField(getRecord(%lineText,0),0); + ForumsMessageList.addPost(%ltID, %ltSubject, %ltAuthorID, %ltAuthorName, %ltDate, %ltParentID, %ltIsRead, %lineText); + } + +} +//----------------------------------------------------------------------------- +function ForumsMessageList::onColumnResize( %this, %column, %newSize ) +{ + $pref::Forum::Column[%column] = %newSize; +} +//----------------------------------------------------------------------------- +function ForumsMessageList::onSelect(%this, %id, %text) +{ + + if(!ForumsMessageList.getSelectedID()) + %parentId = 0; + else + %parentId = ForumsMessageList.getSelectedId(); + + ForumsComposeDlg.parentPost = %parentId; + %rawText = ForumsMessageVector.getLineTextByTag( ForumsComposeDlg.parentPost ); + %offSet = 7; + if ( getRecord( %rawText, 0 ) $= "0" ) + { + // Set the "read" flag: + %this.setRowStyleById( %id, 0 ); + %line = ForumsMessageVector.getLineIndexByTag( %parentId ); + ForumsMessageVector.deleteLine( %line ); + %rawText = setRecord( %rawText, 0, "1" ); + ForumsMessageVector.pushBackLine( %rawText, %parentId ); + CacheForumTopic(); + } + %text = ForumsGetTextDisplay( %rawText,%offSet ); + ForumsText.setValue(%text); + FO_ReplyBtn.setActive( true ); + FO_NextBtn.setActive( true ); + FO_PreviousBtn.setActive( true ); + %ref = getRecord(%rawText,6); + updatePostBtn(ForumsList.getSelectedID(),getField(getRecord(ForumsMessageVector.getLineTextbyTag(ForumsMessageList.getSelectedID()),4),3)); +} +//----------------------------------------------------------------------------- +function ForumsMessagelist::onDatabaseQueryResult(%this,%status,%resultString,%key) +{ + if(%this.key != %key) + return; +// echo("RECV: " @ %status TAB %resultString); + if(getField(%status,0)==0) + { + MessageBoxOK("COMPLETE",getField( %status, 1)); + switch$(%this.state) + { + case "replyPost": + %this.state = "done"; + ForumsOpenThread(); + case "editPost": + %this.state = "done"; + %postId = getField( %status, 2 ); + %index = ForumsMessageVector.getLineIndexByTag( %postId ); + %text = ForumsMessageVector.getLineTextByTag( %postId ); + %parent = getRecord( %text, 2 ); + ForumsMessageVector.deleteLine( %index ); + %text = setRecord(%text,0,"1"); + ForumsMessageVector.pushBackLine(%text, %postID); + CacheForumTopic(); + GetTopicPosts(); + case "deletePost": + %this.state = "done"; + %postId = getField( %status, 2 ); + %index = ForumsMessageVector.getLineIndexByTag( %postId ); + %text = ForumsMessageVector.getLineTextByTag( %postId ); + %parent = getRecord( %text, 2 ); + ForumsTopicsList.refreshFlag = true; + ForumsMessageVector.deleteLine( %index ); + CacheForumTopic(); + if ( %parent != 0 ) + { + %row = ForumsMessageList.getRowNumById( %postId ); + ForumsMessageList.removeRowById( %postId ); + if ( %row < ForumsMessageList.rowCount() ) + ForumsMessageList.setSelectedRow( %row ); + else + ForumsMessageList.setSelectedRow( %row - 1 ); + + %this.state = "done"; + ForumsOpenThread(); + } + else + { + ForumsTopicsList.refreshFlag = true; + ForumsGoTopics(0); + } + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + MessageBoxOK("ERROR",getFields(%status,1)); + } + canvas.SetCursor(DefaultCursor); +} +//----------------------------------------------------------------------------- +function ForumsComposeDlg::onWake( %this ) +{ + // Get the window pos and extent from prefs: + %res = getResolution(); + %resW = firstWord( %res ); + %resH = getWord( %res, 1 ); + %w = firstWord( $pref::Forum::PostWindowExtent ); + if ( %w > %resW ) + %w = %resW; + %h = getWord( $pref::Forum::PostWindowExtent, 1 ); + if ( %h > %resH ) + %h = %resH; + %x = firstWord( $pref::Forum::PostWindowPos ); + if ( %x > %resW - %w ) + %x = %resW - %w; + %y = getWord( $pref::Forum::PostWindowPos, 1 ); + if ( %y > %resH - %h ) + %y = %resH - %h; + FC_Window.resize( %x, %y, %w, %h ); +} +//----------------------------------------------------------------------------- +function ForumsComposeDlg::onSleep( %this ) +{ + $pref::Forum::PostWindowPos = FC_Window.getPosition(); + $pref::Forum::PostWindowExtent = FC_Window.getExtent(); +} diff --git a/public/base/@vl2/scripts.vl2/scripts/weblinks.cs b/public/base/@vl2/scripts.vl2/scripts/weblinks.cs new file mode 100644 index 00000000..a0af5c18 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/weblinks.cs @@ -0,0 +1,105 @@ +function weblinksmenu::defaultList(%this) +{ + addWebLink( "Tribes 2 Home Page", "www.tribes2.com" ); + addWebLink( "T2 Technical Information", "sierrastudios.com/games/tribes2/support" ); + addWebLink( "5 Assed Monkey", "www.5assedmonkey.com" ); + addWebLink( "Arc 2055", "www.arc2055.com" ); + addWebLink( "Atari Secret Society", "www.atarisecretsociety.org" ); + addWebLink( "BarrysWorld", "www.barrysworld.com" ); + addWebLink( "Bomb", "www.bomb.net" ); + addWebLink( "Clan Happytyme", "www.happytyme.com" ); + addWebLink( "ClanBase", "www.clanbase.com" ); + addWebLink( "ClanServ", "www.clanserv.com" ); + addWebLink( "Dopplegangers", "www.dopplegangers.com" ); + addWebLink( "Dutchbat Homeworld", "www.dutchbat-homeworld.com" ); + addWebLink( "eDome Tribes 2", "http://games.edome.net/tribes2/" ); + addWebLink( "Euro Tribesplayers", "www.euro-tribesplayers.com" ); + addWebLink( "eXtreme-Players", "www.eXtreme-players.de" ); + addWebLink( "Game Forces", "www.gforces.net" ); + addWebLink( "Game Planet", "www.gameplanet.co.nz" ); + addWebLink( "Game Surf", "www.gamesurf.de" ); + addWebLink( "Grave Diggers Union", "www.gravediggersunion.com" ); + addWebLink( "HomeLan", "www.homelan.com" ); + addWebLink( "IanStorm", "www.ianstorm.com" ); + addWebLink( "IMGaming", "www.imgaming.com" ); + addWebLink( "LAN Place", "www.lanplace.co.nz" ); + addWebLink( "Long Dongles", "www.longdongles.com" ); + addWebLink( "MaxBaud.Net", "www.maxbaud.net" ); + addWebLink( "MoreGaming", "www.moregaming.com" ); + addWebLink( "NetGames UK", "www.nguk.net" ); + addWebLink( "NGI", "www.ngi.it" ); + addWebLink( "PlanetTribes", "www.planettribes.com" ); + addWebLink( "Raging Angels", "www.ragingangels.org" ); + addWebLink( "Rogue Disciples", "www.roguedisciples.com" ); + addWebLink( "StrikeForce", "www.strikeforcecenter.com" ); + addWebLink( "Sydney Gamers League", "www.sgl.org.au" ); + addWebLink( "System Recall", "www.systemrecall.com" ); + addWebLink( "TeamSound", "www.teamsound.com" ); + addWebLink( "Telenordia", "www.telenordia.se" ); + addWebLink( "Telepresence Heavy Assault Team", "www.that.co.nz" ); + addWebLink( "Temple of Blood", "www.templeofblood.com" ); + addWebLink( "The Ghostbear Tribe", "www.ghostbear.net" ); + addWebLink( "ToKrZ", "www.tokrz.com" ); + addWebLink( "Tribes Attack", "www.tribesattack.com" ); + addWebLink( "Tribes Center", "www.tribescenter.com" ); + addWebLink( "Tribes 2 Database", "www.tribes2database.com" ); + addWebLink( "Tribes Gamers", "www.tribesgamers.com" ); + addWebLink( "TribesMaps", "www.tribesmaps.com" ); + addWebLink( "TribalWar", "www.tribalwar.com" ); + addWebLink( "Tribes Worlds", "www.tribesworlds.com" ); + addWebLink( "Tribes-Universe", "www.tribes-universe.com" ); + addWebLink( "WirePlay", "www.wireplay.com.au" ); + //addWebLink( "Z Free", "games13.clear.net.nz" ); + //addWebLink( "Box Factory Games", "http://www.bfgames1.com" ); + //addWebLink( "Box Factory Games", "http://www.bfgn.hobbiton.org" ); + for ( %i = 0; %i < $WebLinkCount; %i++ ) + %this.add( $WebLink[%i, name], %i ); + weblinksmenu.setSelected(0); +} + +function weblinksmenu::onDatabaseQueryResult(%this,%status,%resultstring,%key) +{ + if(%key != %this.key) + return; + echo("RECV:" @ %status); + switch$(%this.state) + { + case "fetchWeblink": + if(getField(%status,0) == 0) + { + %this.isloaded = true; + %this.state = "getLinks"; + $WebLink = ""; + %this.clear(); + %this.rownum = 0; + } + else + { + %this.state = "error"; + $WebLink = ""; + %this.clear(); + %this.defaultList(); + } + } +} + +function weblinksmenu::onDatabaseRow(%this,%row,%isLastRow,%key) +{ + if(%key != %this.key) + return; + + echo("RECV:" @ %row); + switch$(%this.state) + { + case "getLinks": + if(getField(%row,0) $= "0") + { + addWebLink(getField(%row,1),getField(%row,2)); + %this.add( getField(%row,1), %this.rownum ); + %this.rownum++; + } + if(%isLastRow) + weblinksmenu.setSelected(0); + } +} + diff --git a/public/base/@vl2/scripts.vl2/scripts/webnews.cs b/public/base/@vl2/scripts.vl2/scripts/webnews.cs new file mode 100644 index 00000000..75e6596b --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/webnews.cs @@ -0,0 +1,631 @@ +$WebLinkCount = 0; +$currentPage = 0; +$newsCacheVersion = 1; + +if (!isObject(NewsVector)) + new MessageVector(NewsVector); + +function LaunchNews() +{ + LaunchTabView.viewTab( "NEWS", NewsGui, 0 ); +} +//----------------------------------------------------------------------------- +function updatePageBtn(%prev,%next) +{ + NewsPrevBtn.setVisible( 0 ); + NewsNextBtn.setVisible( 0 ); +// NewsPrevBtn.setActive( %prev ); +// NewsNextBtn.setActive( %next ); +} +//----------------------------------------------------------------------------- +function NewsGui::onAdd(%this) +{ + NewsGui.tabsLoaded = 0; + if(!isDemo()) + { + if(!isObject(NCHGroup)) + new SimGroup(NCHGroup); + } +} +//----------------------------------------------------------------------------- +function NewsGui::onWake(%this) +{ + Canvas.pushDialog(LaunchToolbarDlg); + %this.set = 1; // signifies the first (latest) set + if ( isDemo() ) + { + if ( !%this.oneTimeOnly ) + { + %this.oneTimeOnly = 1; + NewsPrevBtn.setVisible( false ); + NewsNextBtn.setVisible( false ); + NewsSubmitBtn.setVisible( false ); + NewsMOTDText.setValue( "Welcome to the Tribes 2 Demo!" ); + %this.addStaticArticle( "What's In This Demo?", "There are two training missions, and two multiplayer maps in this demo.\n\nIf you're new to the Tribes experience, you should consider trying out the training missions so you can become familiar with the basics of the game. Then, after you learn how to use your jets and weapons, jump into multiplayer on one of our Demo Servers to fight against other players like yourself." ); + %this.addStaticArticle( "What Do I Do First?", "As a suggestion, you might consider checking out the on-line manual first. That manual is available at our 'Tribes 2 Central Download' website (www.tribes2centraldownload.com) in the 'T2 Manual' sub-folder. After you take a look at the manual, you should definitely try out the first two Training Missions. They'll give you most of the basics that you need to know in order to play competitively on-line. Of course, then you should go enter the mayhem known as Tribes and have a blast gaming against other players." ); + %this.addStaticArticle( "Where are the Options?", "There is a LAUNCH button in the lower left of this screen. Click on it and choose the SETTINGS option. There you will find ways to modify your graphics, textures, network settings, key configurations and more.\n\nMost of these settings will be configured automatically based on your system's hardware, so try the game with the default settings for a while and see how it plays. Then, optimize your settings accordingly thereafter." ); + %this.addStaticArticle( "What is Capture the Flag?", "Many of you have played versions of Capture the Flag (CTF) in real-life or in other computer games. Tribes 2's version is quite similar to what you're used to playing.\n\nThe object is to go grab the other team's flag and return it to your own base by taking it to your flag's position. Your team scores points for capturing the flag and some minor (tie-breaking) points for touching it.\n\nThe game has many roles and is definitely the most popular of the T2 games. You can play defense by setting up turret perimeters, deploying sensors and guarding the flag, or load three people into a bomber and make bombing runs over the enemy base, or many other things.\n\nTry them all out. There's certainly a role in there for you somewhere." ); + %this.addStaticArticle( "What is Hunters?", "Unlike CTF, Hunters is an individual game rather than a team game. The object of the game is to destroy other players, thus causing them to drop all the flags they are carrying. Each person carries at least one flag at all times, but the players that gather the most flags are the biggest targets.\n\nWhen you have a bunch of flags, take them to the 'Nexus'. The Nexus is waypointed with a marker on your HUD and is a column of glowing light. You can't miss it. Run through that column and you'll score points for the flags you carry.\n\nThe scoring for flags is a curve, so the more flags you carry, the more points you will score. Large amounts of flags can create very high scores if you capture them all at once." ); + %this.addStaticArticle( "What is the Full Version Like?", "There are six different game types, five different worlds, six vehicles, a whole slew of voices and tribe skins, all the weapons you saw in the demo, and 53 different maps. There's an on-line community with constantly updated News, Forums, Chat, Email, and a Player/Tribe Browser so that the whole community is at your fingertips. Also the Tribes player community is thriving. Player-created scripts, game mods, and maps are plentiful and high-quality. In short, it's much, much more than what you see in this demo." ); + %this.addStaticArticle( "What Video Drivers Do I Use?", "Please check your video card company's website for the latest video driver information.\n\nWe advise against the use of beta drivers. They often cause problems for our current players and should be avoided." ); + %this.addStaticArticle( "How to Tweak Framerate", "There are many graphic options in the game. If you are experiencing low framerate for some reason, there are two main areas you should try out.\n\nIf your CPU is relatively slow, then you should try turning down all the options associated with polygon count. These are listed in SETTINGS/GRAPHICS. You might also try a lower screen resolution, or even 16-bit color. 16-bit color has the side effect of using 16-bit z-buffering, which isn't as nice as 32-bit, but it's much faster.\n\nIf your video card doesn't have much VRAM, then you should consider turning down the options that use a lot of texture memory. These are found in SETTINGS/TEXTURES." ); + %this.addStaticArticle( "A Small Disclaimer", "This NEWS page is static, unlike the one in the real game. In otherwords, don't expect the constant community updates and news items that you will get after you buy the full version. ;)" ); + if ( WebLinksMenu.size() == 0 ) + WebLinksMenu.defaultList(); + } + } + else + { + Canvas.SetCursor(ArrowWaitCursor); + if (NewsTabGroup.tabCount() == 0) + { + NewsGui.startup = 1; + NewsTabGroup.addTab( 105, "FRONT PAGE", 1); + NewsTabGroup.addTab( 35500, "EVENTS"); + NewsTabGroup.addTab( 35501, "SPORTS"); + NewsTabGroup.addTab( 35503, "TECH"); + NewsTabGroup.addTab( 35504, "EDITORIAL"); + NewsTabGroup.lastID = 0; + + // Fetch the News + NewsTabGroup.setSelected( 105 ); // Select the tab by ID + NewsTabGroup.onSelect(105,"FRONT PAGE"); + + // Fetch the message of the day: + NewsMOTDText.key = LaunchGui.key++; + NewsMOTDText.state = "isvalid"; + DatabaseQuery(0,"",NewsMOTDText,NewsMOTDText.key); + + weblinksmenu.clear(); + weblinksmenu.key = launchGui.key++; + weblinksmenu.state = "fetchWeblink"; + DatabaseQueryArray(15,0,"WEBLINK",weblinksmenu,weblinksmenu.key); + + for(%ch=0; %ch<5; %ch++) + { + // ID.NAME.UPDATEID.ALLREAD.ARTICLECOUNT.LASTUPDATED + AddCatHeader(NewsTabGroup.getTabId(%ch), NewsTabGroup.getTabText(%ch), 0,0,""); + } + } + } + if (!NewsTabGroup.lastID) + NewsTabGroup.lastID = 105; + if (!NewsGui.startup) + NewsGui.startup = 0; + + WebLinksMenu.setSelected( 0 ); + NewsPrevBtn.setActive( false ); + NewsNextBtn.setActive( false ); +} +//----------------------------------------------------------------------------- +function NewsGui::onSleep(%this) +{ + Canvas.popDialog(LaunchToolbarDlg); +} +//----------------------------------------------------------------------------- +function NewsGui::setKey( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function NewsGui::onClose( %this, %key ) +{ +} +//----------------------------------------------------------------------------- +function NewsGui::rebuildText(%this) +{ + NewsHeadlines.clear(); + for(%i = 0; %i < %this.articleCount; %i++) + { + %article = %this.article[%i]; + + if ( isDemo() ) + { + %topic = getField( %article, 0 ); + %body = getFields( %article, 1 ); + + %text = %text @ "" + @ %topic + @ "\n" + NL %body + @ "\n\n"; + } + else + { + %ai = wonGetAuthInfo(); + %isMem = 0; + for(%east=0;%east[edit] [delete] [comments ("@%postcount@")]"; + } + else + %editText = "[comments ("@%postcount@"]"; + + for(%l = 0; %l < %rc; %l++) + %atxt = %atxt @ getRecord(%body,%l) @ "\n"; + + %text = %text @ "" @ + %topic @ " " @ %editText @ "\nPosted by: " @ %nameLink @ " on " @ %date NL + "\n" @ %atxt @ "\n\n"; + } + + NewsHeadlines.addRow( %i, %topic ); + } + NewsText.setValue(%text); + NewsHeadlines.setSelectedRow(0); +} +//----------------------------------------------------------------------------- +function NewsGui::onDatabaseQueryResult(%this, %status, %RowCount_Result, %key) +{ + if(%key != %this.key) + return; + %this.maxDate = " "; + %this.minDate = " "; + + if(getField(%status,0)==0) + { + switch$(%this.caller) + { + case "GETNEWS": // record count + NewsText.setValue(""); + NewsHeadlines.clear(); + %this.articleCount = 0; + %this.acl = getField(%status,3); + %this.ttlRecords = getField( %status,2 ); + %this.recordCount = getField( %RowCount_Result,0 ); + if(%this.recordCount > 23) + { + if($currentPage == 0) + updatePageBtn(0,1); + else if($currentPage > 0) + updatePageBtn(1,1); + } + else + { + if($currentPage == 0) + updatePageBtn(0,0); + else if($currentPage > 0) + updatePageBtn(1,0); + } + + default: // result string + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "halt"; + MessageBoxOK("NOTICE",getField(%status,1)); + } + Canvas.setCursor(DefaultCursor); +} +//----------------------------------------------------------------------------- +function NewsGui::onDatabaseRow(%this, %row,%isLastRow,%key) +{ + if ( %key != %this.key ) + return; + + if ( %this.articleCount $= "" ) + %this.articleCount = 0; + + %this.article[%this.articleCount] = %row; + %this.recordSet--; + if ( %this.articleCount == 0 ) + { + %this.maxDate = getField( %this.article[%this.articleCount],4); + %this.Max = getField(%this.article[%this.articleCount],5); + } + + if ( %this.recordSet == 0 ) + { + %this.minDate = getField( %this.article[%this.articleCount],4); + %this.Min = getField(%this.article[%this.articleCount],5); + } + %this.recordCount--; + %this.articleCount++; + %this.rebuildText(); + canvas.setCursor(DefaultCursor); + return; +} +//----------------------------------------------------------------------------- +function NewsGui::addStaticArticle( %this, %topic, %body ) +{ + %tag = %this.articleCount $= "" ? 0 : %this.articleCount; + %this.article[%tag] = %topic TAB %body; + %this.articleCount++; + %this.rebuildText(); +} +//----------------------------------------------------------------------------- +function PostNews() +{ + messageBoxYesNo("CONFIRM","Please do not submit bug reports without a tested solution, test posts or recruiting posts." NL " " NL "Continue with your submittal?","StartPostNews();"); +} +function StartPostNews() +{ + $NewsCategory = ""; + $NewsTitle = ""; + Canvas.pushDialog(NewsPostDlg); + NewsPostDlg.postId = -1; + NewsPostBodyText.setValue(""); +} +//----------------------------------------------------------------------------- +function NewsPostDlg::onWake( %this ) +{ + // Get the window pos and extent from prefs: + %res = getResolution(); + %resW = firstWord( %res ); + %resH = getWord( %res, 1 ); + %w = firstWord( $pref::News::PostWindowExtent ); + if ( %w > %resW ) + %w = %resW; + %h = getWord( $pref::News::PostWindowExtent, 1 ); + if ( %h > %resH ) + %h = %resH; + %x = firstWord( $pref::News::PostWindowPos ); + if ( %x > %resW - %w ) + %x = %resW - %w; + %y = getWord( $pref::News::PostWindowPos, 1 ); + if ( %y > %resH - %h ) + %y = %resH - %h; + NP_Window.resize( %x, %y, %w, %h ); + + if (NewsCategoryMenu.getCount() == 0) + { + NewsCategoryMenu.clear(); + NewsCategoryMenu.add( NewsTabGroup.getTabText(0), NewsTabGroup.getTabID(0)); + NewsCategoryMenu.add( NewsTabGroup.getTabText(1), NewsTabGroup.getTabID(1)); + NewsCategoryMenu.add( NewsTabGroup.getTabText(2), NewsTabGroup.getTabID(2)); + NewsCategoryMenu.add( NewsTabGroup.getTabText(3), NewsTabGroup.getTabID(3)); + NewsCategoryMenu.add( NewsTabGroup.getTabText(4), NewsTabGroup.getTabID(4)); + NewsCategoryMenu.hasTabs = 1; + } + + %cat = getField(NewsGui.article[NewsPostDlg.selectedIdx],12); + if (!%cat || %cat == -1 || %cat == 35499) + %cat = 105; + error("Category: " @ %cat); + NewsCategoryMenu.setSelected( %cat ); + $NewsCategory = NewsCategoryMenu.getText(); + +} +//----------------------------------------------------------------------------- +function NewsCategoryMenu::onAdd(%this) +{ +} +//----------------------------------------------------------------------------- +function NewsPostDlg::onSleep( %this ) +{ + $pref::News::PostWindowPos = NP_Window.getPosition(); + $pref::News::PostWindowExtent = NP_Window.getExtent(); +} +//----------------------------------------------------------------------------- +function NewsCategoryMenu::onSelect( %this, %id, %text ) +{ + $NewsCategory = %text; +} +//----------------------------------------------------------------------------- +function PostNewsProcess() +{ + + NewsPostDlg.key = LaunchGui.key++; + if ( NewsPostDlg.postId == -1 ) + { + NewsPostDlg.state = "post"; + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(1, NewsCategoryMenu.getSelected() TAB $NewsTitle TAB NewsPostBodyText.getValue(),NewsPostDlg,NewsPostDlg.key); + } + else + { + NewsPostDlg.state = "edit"; //tid.pid.aid.updid.cat.title.body + canvas.SetCursor(ArrowWaitCursor); + DatabaseQuery(2, NewsPostDlg.EditUrl TAB NewsCategoryMenu.getSelected() TAB $NewsTitle TAB NewsPostBodyText.getValue(),NewsPostDlg,NewsPostDlg.key); + } + Canvas.popDialog(NewsPostDlg); +} +//----------------------------------------------------------------------------- +function NewsPostDlg::onDatabaseQueryResult(%this, %status, %RowCount_Result, %key) +{ + if(%key != %this.key) + return; + if(getField(%status,0)==0) + { + switch$(%this.state) + { + case "post": + if(%this.FromForums) + { + %this.FromForums = false; + ForumsMessageVector.deleteLine( %this.FIndex ); + ForumsTopicsList.refreshFlag = true; + CacheForumTopic(); + ForumsGoTopics(0); + } + %this.state = "OK"; + MessageBoxOK("NOTICE","Your article has been submitted. You may need to refresh your Browser."); + + case "edit": + %this.state = "OK"; + MessageBoxOK("NOTICE","Article Updated. You may need to refresh your Browser."); + case "delete": + %this.state = "OK"; + MessageBoxOK("NOTICE","Article Deleted. You may need to refresh your Browser."); + } + } + else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061") + { + %this.state = "error"; + MessageBoxOK("ERROR","There was an error processing your request, please wait a few moments and try again."); + } + else + { + %this.state = "ERROR"; + MessageBoxOK( "ERROR", getField(%status,1)); + } + + if(%this.state $= "OK") + NewsGui.onWake(); + + canvas.setCursor(DefaultCursor); +} +//----------------------------------------------------------------------------- +function NewsText::onURL(%this, %url) +{ + NewsPostDlg.selectedIdx = NewsHeadlines.getSelectedID(); + canvas.SetCursor(ArrowWaitCursor); + switch$(getField(%url,0)) + { + case "editnews": + %txt = NewsGui.article[getField(%url,1)]; + $NewsTitle = getField(%txt, 13); + %body = getFields(%txt,14); + %rc = getRecordCount(%body); + for(%i = 0; %i < %rc; %i++) + %rtxt = %rtxt @ getRecord(%body, %i) @ "\n"; + + NewsPostBodyText.setValue(%rtxt); + NewsPostDlg.postId = getField(%url,3); + NewsPostDlg.EditUrl = getFields(%url,2); //topicid.postid.authorid.updateid + NewsPostDlg.selectedIdx = NewsHeadlines.getSelectedID(); + Canvas.pushDialog( NewsPostDlg ); + + case "deletenews": + MessageBoxYesNo("CONFIRM","Delete this Article?","NewsPostDlg.doNewsDelete(\"" @ getField(%url,3) TAB getField(%url,2) @ "\");","canvas.setCursor(DefaultCursor);"); // postid.topicid + + case "topiclink": + %articleId = getField(%url,2); + MessageBoxOK("COMMENTS","To Post comments for any news article, go to the Forums, select the News Forum and then select the Topic you want to comment on. This link will soon be live."); + + default: + Parent::onURL(%this, %url); + } +} +//----------------------------------------------------------------------------- +function NewsPostDlg::doNewsDelete(%this,%fields) +{ + %this.key = LaunchGui.key++; + %this.state = "delete"; + error("News Delete " @ %fields); + DatabaseQuery(3,%fields, %this, %this.key); +} +//----------------------------------------------------------------------------- +function NewsHeadlines::onSelect( %this, %id, %text ) +{ + NewsText.scrollToTag( %id ); +} +//----------------------------------------------------------------------------- +function NewsGui::getPreviousNewsItems( %this ) +{ + // Fetch the next batch of newer news items: + if($currentPage == 0) + return; + canvas.SetCursor(ArrowWaitCursor); + NewsGui.key = LaunchGui.key++; + %this.state = "status"; + %this.articleCount = 0; + $currentPage--; + DatabaseQueryArray(0,$currentPage,"1" TAB getField(%this.setList[%this.set],1), NewsGui, NewsGui.key ); +} +//----------------------------------------------------------------------------- +function NewsGui::getNextNewsItems( %this ) +{ + // Fetch the next batch of older news items: + canvas.SetCursor(ArrowWaitCursor); + NewsGui.key = LaunchGui.key++; + %this.state = "status"; + %this.articleCount = 0; + $currentPage++; + DatabaseQueryArray(0,$currentPage,"1" TAB getField(%this.setList[%this.set],0), NewsGui, NewsGui.key ); +} +//----------------------------------------------------------------------------- +function NewsMOTDText::onDatabaseQueryResult(%this, %status, %RowCount_Result, %key) +{ + if(%key != %this.key) + return; +// echo("RECV: " @ %status); + %ai = wonGetAuthInfo(); + %isMem = 0; + if(getField(%status,0)==0) + { + for(%east=0;%east" @ %tag; + else + %str = "" @ %tag @ "" @ %name; + return "" @ %str @ ""; +} + + +function getTextName(%line, %offset) +{ + if(%offset $= "") + %offset = 0; + + %name = getField(%line, %offset); + %tag = getField(%line, %offset + 1); + %append = getField(%line, %offset + 2); + %uid = getField(%line, %offset + 3); + + if(%append) + return %name @ %tag TAB %uid; + else + return %tag @ %name TAB %uid; +} + +function HTTPRequest(%script, %update, %destObject, %key) +{ + error("Call to HTTP request depricated - trace:"); + trace(1); + schedule(0,0,trace,0); + + //%upd = new SecureHTTPObject(HTTPUpdate); + //%upd.post($WebAddress, $WebPath @ %script @ ".php", "", %update); + //%upd.key = %key; + //%upd.destObject = %destObject; +} + +function HTTPSecureRequest(%script, %update, %destObject, %key) +{ + error("Call to HTTP secure request depricated - trace:"); + trace(1); + schedule(0,0,trace,0); + + //%upd = new SecureHTTPObject(HTTPUpdate); + //%upd.setAuthenticated(); + //%upd.post($WebAddress, $WebPath @ %script @ ".php", "", %update); + //%upd.key = %key; + //%upd.destObject = %destObject; +} + +$DBNextQueryId = 0; +$DBQueryCount = 0; + +if(!isObject(ProxyEchoTest)) +{ + new ScriptObject(ProxyEchoTest) + { + class = ProxyEcho; + }; +} + +function ProxyEcho::onDatabaseQueryResult(%this, %status, %string, %key) +{ + echo("Got database query result for key: " @ %key); + echo("Status = " @ %status); + echo("String/Rowcount = " @ %string); +} + +function ProxyEcho::onDatabaseRow(%this, %row, %isLast, %key) +{ + echo("Got Row - key = " @ %key @ " isLast = " @ %isLast); + echo("Row Text = " @ %row); +} + +function HandleDatabaseProxyResponse(%prefix, %params) +{ +// error("HDPR - START:" TAB %prefix NL %params); + %id = getWord(%params, 0); + + for(%qc = 0; %qc < $DBQueryCount; %qc++) + if(getWord($DBQueries[%qc], 0) == %id) + break; + + if(%qc == $DBQueryCount) + { + warn("Invalid database proxy message id: " @ %id); + return; + } + + %lastPacket = getWord(%params, 1); +// error("HDPR - lastPacket" TAB %lastPacket); + + %start = strpos(%params, ":") + 1; + if(!%start) + { + warn("Invalid database proxy message: " @ %params); + return; + } + + // convert all the escaped characters + %newStr = getSubStr(%params, %start, 100000); + %newStr = strreplace(%newStr, "\\n", "\n"); + %newStr = strreplace(%newStr, "\\\\", "\\"); + + // concat it with any text from prior message(s) that hasn't been + // processed yet. +// error("HDPR - concat: " @ $DBQueryText[%qc] NL %newStr); + %msg = $DBQueryText[%qc] @ %newStr; + %proxyObject = getWord($DBQueries[%qc], 2); + %proxyKey = getWord($DBQueries[%qc], 3); + +// error("HDPR - allrecs: " @ getWord($DBQueries[%qc],1)); + if(getWord($DBQueries[%qc], 1) == 0) // we haven't receivd the first 2 recs yet + { +// error("HDPR - need first 2 recs: " @ strpos(%msg, "\\S")); + // check if we have 2 records in %msg: + %pos1 = strpos(%msg, "\\S"); +// error("HDPR - POS1: " @ %pos1); + + if(%pos1 != -1) + %pos2 = strpos(%msg, "\\S", %pos1 + 2); + +// error("HDPR - POS2: " @ %pos2); + + if(%pos1 != -1 && %pos2 != -1) + { + %resultStatus = getSubStr(%msg, 0, %pos1); + %resultString = getSubStr(%msg, %pos1 + 2, %pos2 - (%pos1 + 2)); + if(%proxyObject !$= "") + %proxyObject.onDatabaseQueryResult(%resultStatus, %resultString, %proxyKey); + $DBQueries[%qc] = setWord($DBQueries[%qc], 1, "1"); + %msg = getSubStr(%msg, %pos2 + 2, 100000); + } + } + +// error("HDPR - DBQ_1: " @ getWord($DBQueries[%qc], 1)); + if(getWord($DBQueries[%qc], 1) == 1) + { + // start spitting out rows: + while((%pos = strpos(%msg, "\\S")) != -1) + { + %row = getSubStr(%msg, 0, %pos); + %msg = getSubStr(%msg, %pos + 2, 100000); + + if(%proxyObject !$= "") + %proxyObject.onDatabaseRow(%row, %msg $= "" && %lastPacket, %proxyKey); + } + } + $DBQueryText[%qc] = %msg; // save off the last text... + + if(%lastPacket) + { + // erase the query from the array: +// error("HDPR - ONLastPacket" TAB getWord($DBQueries[%qc], 1)); + if(getWord($DBQueries[%qc], 1) == 0) + warn("Error in database query response - not enough data."); + + for(%i = %qc; %i < $DBQueryCount; %i++) + { + $DBQueries[%i] = $DBQueries[%i+1]; + $DBQueryText[%i] = $DBQueryText[%i+1]; + } + $DBQueries[%i] = ""; + $DBQueryText[%i] = ""; + $DBQueryCount--; + } +} + +// DBQuery is: id recCountRecvd proxyObject key + +function DatabaseQueryi(%astr, %args, %proxyObject, %key) +{ + if ($IRCClient::state !$= IDIRC_CONNECTED) + { + IRCClient::connect(); + if (%proxyObject !$= "") + %proxyObject.onDatabaseQueryResult("1\tORA-04061", "", %key); + + return 0; + } + + // maxRows will be empty + $NextDatabaseQueryId++; + %id = $NextDatabaseQueryId; + + $DBQueries[$DBQueryCount] = %id @ " 0 " @ %proxyObject SPC %key; + $DBQueryText[$DBQueryCount] = ""; + $DBQueryCount++; + + %strStart = 0; + %args = strreplace(%args, "\r", ""); + %args = strreplace(%args, "\\", "\\\\"); + %args = strreplace(%args, "\n", "\\n"); + + %len = strlen(%args); + %i = 0; + while(%i+400 < %len) + { + %msg = getSubStr(%args, %i, 400); + IRCClient::send("dbqa" SPC %id SPC ":" @ %msg); + %i += 400; + } + %msg = getSubStr(%args, %i, 400); + IRCClient::send("dbqax" SPC %id SPC %astr SPC ":" @ %msg); + return %id; +} + +function DatabaseQuery(%ordinal, %args, %proxyObject, %key) +{ + return DatabaseQueryi(%ordinal SPC "0", %args, %proxyObject, %key); +} + +function DatabaseQueryArray(%ordinal, %maxRows, %args, %proxyObject, %key) +{ + return DatabaseQueryi("C" @ %ordinal SPC %maxRows, %args, %proxyObject, %key); +} + +function DatabaseQueryCancel(%id) +{ + for(%qc = 0; %qc < $DBQueryCount; %qc++) + if(getWord($DBQueries[%qc], 0) == %id) + break; + if(%qc == $DBQueryCount) + return; + IRCClient::send("dbqc " @ %id); + + for(%i = %qc; %i < $DBQueryCount; %i++) + { + $DBQueries[%i] = $DBQueries[%i+1]; + $DBQueryText[%i] = $DBQueryText[%i+1]; + } + $DBQueries[%i] = ""; + $DBQueryText[%i] = ""; + $DBQueryCount--; +} + +function WONUpdateCertificateDone(%errCode, %errStr) +{ + IRCClient::reconnect(); +} \ No newline at end of file diff --git a/public/base/@vl2/scripts.vl2/scripts/webtest.cs b/public/base/@vl2/scripts.vl2/scripts/webtest.cs new file mode 100644 index 00000000..8df3f492 --- /dev/null +++ b/public/base/@vl2/scripts.vl2/scripts/webtest.cs @@ -0,0 +1,248 @@ + +function HTTPTest_onLine(%line) +{ + echo("HTTPLine: " @ %line); + if($HTTPTest_notifyObject !$= "") + $HTTPTest_notifyObject.onLine(%line, $HTTPTest_notifyKey); +} + +function HTTPTest(%script, %query, %notifyObject, %notifyKey) +{ + echo("HTTPQuery: " @ %script); + %query = "\n" @ %query; + $HTTPTest_notifyObject = %notifyObject; + $HTTPTest_notifyKey = %notifyKey; + + call("HTTPTest_" @ %script, %query); + if($HTTPTest_notifyObject !$= "") + $HTTPTest_notifyObject.connectionTerminated($HTTPTest_notifyKey); + echo("HTTPQueryDone"); +} + +function HTTPTest_update_CreatePublicForum(%query) +{ + if($pref::forumCount $= "") + $pref::forumCount = 0; + + $pref::ForumName[$pref::forumCount] = getRecord(%query, 1); + $pref::forumCount++; + HTTPTest_onLine("OK"); +} + +function HTTPTest_update_DeletePublicForum(%query) +{ + for(%i = 0; %i < $pref::forumCount; %i++) + { + if($pref::ForumName[%i] $= getRecord(%query, 1)) + { + $pref::forumCount--; + $pref::forumName[%i] = $pref::forumName[$pref::forumCount]; + HTTPTest_onLine("OK"); + return; + } + } + HTTPTest_onLine("InvalidForum"); +} + +function HTTPTest_query_GetForumList(%query) +{ + if($pref::forumCount $= "") + $pref::forumCount = 0; + HTTPTest_onLine($pref::forumCount); + for(%i = 0; %i < $pref::forumCount; %i++) + HTTPTest_onLine($pref::forumName[%i]); +} + +// post is: +// threadId +// PostEdit +// postid +// updateid +// parentid +// poster +// date +// topic +// body line 1 +// body line 2 +// ... + +function HTTPTest_update_postforumentry(%query) +{ + %forum = getRecord(%query, 1); + %parent = getRecord(%query, 2); + %topic = getRecord(%query, 3); + %body = getRecord(%query, 4); + + echo(%forum); + echo(%parent); + echo(%topic); + echo(%body); + + for(%i = 5; %i < getRecordCount(%query); %i++) + %body = %body @ "\n" @ getRecord(%query, %i); + if(%parent == 0) // create a new thread for this one: + { + if($pref::forumThreadCount $= "") + $pref::forumThreadCount = 0; + %threadid = $pref::forumThreadCount; + + $pref::forumThread[$pref::forumThreadCount] = %forum @ "\n"@ "SuperD00D" TAB "[BSF]" TAB 1 TAB 4 TAB %topic TAB "Today" TAB %threadid TAB 0; + $pref::forumThreadCount++; + } + else + { + %parentpost = $pref::forumPost[%parent]; + + %threadId = getRecord(%parentpost, 0); + echo(%threadId); + } + $pref::forumPostCount++; + $pref::forumUpdateId++; + $pref::forumPost[$pref::forumPostCount] = %threadId @ "\n" @ "PostEdit" @ "\n" @ $pref::forumPostCount @ "\n" @ $pref::forumUpdateId @ "\n" @ + %parent @ "\n" @ "SuperD00D" @ "\n" @ "Today" @ "\n" @ %topic @ "\n" @ %body; + if(%notifyObject) + { + %notifyObject.onLine("OK"); + %notifyObject.connectionTerminated(); + } +} + +function HTTPTest_query_GetForumTopics(%query) +{ + %count = 0; + %list = ""; + %forum = getRecord(%query, 1); + %start = getRecord(%query, 2); + %maxCount = getRecord(%query, 3); + %maxCount += %start; + if(%maxCount > $pref::forumThreadCount) + %maxCount = $pref::forumThreadCount; + for(%i = %start; %i < %maxCount; %i++) + { + %thread = $pref::forumThread[%i]; + if(getRecord(%thread, 0) $= %forum) + { + %line[%count] = getRecord(%thread, 1); + %count++; + } + } + HTTPTest_onLine(%count); + for(%i = 0; %i < %count; %i++) + HTTPTest_onLine(%line[%i]); +} + +// post is: +// threadId +// PostEdit +// postid +// updateid +// parentid +// poster +// date +// topic +// body line 1 +// body line 2 +// ... + +function HTTPTest_query_GetForumUpdates(%query) +{ + %threadId = getRecord(%query, 1); + %updateId = getRecord(%query, 2); + + %output = ""; + %updateCount = 0; + + for(%i = 1; %i <= $pref::forumPostCount; %i++) + { + %post = $pref::forumPost[%i]; + if(%threadId == getRecord(%post, 0) && %updateId < getRecord(%post, 3)) + %updateCount++; + } + HTTPTest_onLine(%updateCount); + for(%i = 1; %i <= $pref::forumPostCount; %i++) + { + %post = $pref::forumPost[%i]; + if(%threadId == getRecord(%post, 0) && %updateId < getRecord(%post, 3)) + { + %rc = getRecordCount(%post); + HTTPTest_onLine(%rc - 1); + for(%j = 1; %j < %rc; %j++) + HTTPTest_onLine(getRecord(%post, %j)); + } + } +} + +function HTTPTest_update_editforumentry(%query) +{ + echo("Updating forum entry"); + %postId = getRecord(%query, 1); + %post = $pref::forumPost[%postId]; + $pref::forumUpdateId++; + %post = setRecord(%post, 3, $pref::forumUpdateId); + %rc = getRecordCount(%query); + + for(%i = 2; %i < %rc; %i++) + %post = setRecord(%post, 5 + %i, getRecord(%query, %i)); + + + %post = setRecord(%post, 5 + %i, "[Edited by blah blah blah]"); + %rc = getRecordCount(%post); + + for(%p = 0; %p < %rc; %p++) + echo(getRecord(%post, %p)); + + for(%j = 0; %j <= 5 + %i; %j++) + %newpost = setRecord(%newpost, %j, getRecord(%post, %j)); + $pref::forumPostCount++; + $pref::forumPost[$pref::forumPostCount] = %newpost; + echo("New post: "); + %rc = getRecordCount(%newpost); + + for(%p = 0; %p < %rc; %p++) + echo(getRecord(%newpost, %p)); + HTTPTest_onLine("OK"); +} + +function HTTPTest_query_playerinfo(%query) +{ + HTTPTest_onLine("OK"); + HTTPTest_onLine("SuperD00D\t[BSF]\t1\t4"); + HTTPTest_onLine("1"); + HTTPTest_onLine("2"); + HTTPTest_onLine("Big Sucka Fishes"); + HTTPTest_onLine("Sofa Kings"); + HTTPTest_onLine("3"); + HTTPTest_onLine("Big Sucka Fishes\t[BSF]\t1\t1"); + HTTPTest_onLine("Sucka Fishes\t[SF]\t1\t1"); + HTTPTest_onLine("Sofa Kings\t[SOFAKING]\t1\t1"); + HTTPTest_onLine("4\t1"); + HTTPTest_onLine("I am SuperD00D Master of the Big Sucka Fishes"); + HTTPTest_onLine("I am SuperD00D I R00LZ AT TRYB3S!"); + HTTPTest_onLine("I am SuperD00D I think I should insert some links and stuff"); + HTTPTest_onLine("I am SuperD00D I think I should insert some links and stuff"); + HTTPTest_onLine("2"); + HTTPTest_onLine("Created Tribe Big Sucka Fishes"); + HTTPTest_onLine("Created Tribe Sucka Fishes"); +} + +function HTTPTest_query_gettribeinformation(%query) +{ + HTTPTest_onLine("OK"); + HTTPTest_onLine("Big Sucka Fishes\t[BSF]\t1"); + HTTPTest_onLine("1\t1"); + HTTPTest_onLine("4\t1"); + HTTPTest_onLine("We are the BIG SUCKA FISHES. We R00LZ 0V3R u. We R R33T."); + HTTPTest_onLine("We 0WNZ T3H TRYB3S 2 Scene."); + HTTPTest_onLine("The OGL is our collective bitch."); + HTTPTest_onLine("Dave Georgeson is a big mo mo."); + HTTPTest_onLine("5"); + HTTPTest_onLine("SuperD00D\t[BSF]\t1\t4\t2\tSupreme Leader\tWhenever\t1"); + HTTPTest_onLine("QIX\t[BSF]\t1\t5\t2\tGroupie\tWhenever\t0"); + HTTPTest_onLine("RatedZ\t[BSF]\t1\t7\t2\tFrench Teacher\tWhenever\t1"); + HTTPTest_onLine("Uberb0b\t[BSF]\t1\t8\t2\tWater Boy\tWhenever\t0"); + HTTPTest_onLine("Funkymonkey\t[BSF]\t1\t9\t2\tMascot\tWhenever\t1"); + HTTPTest_onLine("3"); + HTTPTest_onLine("Invitee1\t[DORK]\t1\t10\tSuperD00D\t[BSF]\t1\t4\t0"); + HTTPTest_onLine("Invitee2\t[DORK]\t1\t10\tSuperD00D\t[BSF]\t1\t4\t1"); + HTTPTest_onLine("Invitee3\t[DORK]\t1\t10\tSuperD00D\t[BSF]\t1\t4\t0"); +} \ No newline at end of file diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_chaingun.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_chaingun.dts new file mode 100644 index 00000000..9b584961 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_chaingun.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_disc.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_disc.dts new file mode 100644 index 00000000..d241f0b6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_disc.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_grenade.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_grenade.dts new file mode 100644 index 00000000..ed273913 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_grenade.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_mine.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_mine.dts new file mode 100644 index 00000000..4323ee03 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_mine.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_missile.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_missile.dts new file mode 100644 index 00000000..1adf6939 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_missile.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_mortar.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_mortar.dts new file mode 100644 index 00000000..f0d6db1b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_mortar.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ammo_plasma.dts b/public/base/@vl2/shapes.vl2/shapes/ammo_plasma.dts new file mode 100644 index 00000000..d61cf19f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ammo_plasma.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/banner_honor.dts b/public/base/@vl2/shapes.vl2/shapes/banner_honor.dts new file mode 100644 index 00000000..c23a9f37 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/banner_honor.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/banner_strength.dts b/public/base/@vl2/shapes.vl2/shapes/banner_strength.dts new file mode 100644 index 00000000..f7572be5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/banner_strength.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/banner_unity.dts b/public/base/@vl2/shapes.vl2/shapes/banner_unity.dts new file mode 100644 index 00000000..d381b00a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/banner_unity.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/beacon.dts b/public/base/@vl2/shapes.vl2/shapes/beacon.dts new file mode 100644 index 00000000..b1a4fc11 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/beacon.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bio_player_debris.dts b/public/base/@vl2/shapes.vl2/shapes/bio_player_debris.dts new file mode 100644 index 00000000..620b3301 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bio_player_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy.dts b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy.dts new file mode 100644 index 00000000..af25952d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_back.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_back.dsq new file mode 100644 index 00000000..8b635a84 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celflex2.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celflex2.dsq new file mode 100644 index 00000000..d4fa6202 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celflex2.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celgora.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celgora.dsq new file mode 100644 index 00000000..25ae4d70 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celgora.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celjump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celjump.dsq new file mode 100644 index 00000000..17726af7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celroar.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celroar.dsq new file mode 100644 index 00000000..4f4cd7b8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celroar.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celsalute.dsq new file mode 100644 index 00000000..84e51179 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celyeah.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celyeah.dsq new file mode 100644 index 00000000..0110f8bb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_celyeah.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieback.dsq new file mode 100644 index 00000000..b00c848d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diechest.dsq new file mode 100644 index 00000000..d8d9ae33 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieforward.dsq new file mode 100644 index 00000000..15425b68 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diehead.dsq new file mode 100644 index 00000000..99feb957 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieknees.dsq new file mode 100644 index 00000000..e37b199b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieleglft.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieleglft.dsq new file mode 100644 index 00000000..f88042f6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieleglft.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dielegrt.dsq new file mode 100644 index 00000000..6f608473 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diesidelft.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diesidelft.dsq new file mode 100644 index 00000000..ae953ba4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diesidelft.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diesidert.dsq new file mode 100644 index 00000000..16628736 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieslump.dsq new file mode 100644 index 00000000..9442ffa7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diespin.dsq new file mode 100644 index 00000000..a89005f9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_fall.dsq new file mode 100644 index 00000000..3b4db9ca Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_forward.dsq new file mode 100644 index 00000000..e21b17f3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_head.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_head.dsq new file mode 100644 index 00000000..f1b7b503 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_headside.dsq new file mode 100644 index 00000000..98cd69c4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_idlepda.dsq new file mode 100644 index 00000000..6fb3d879 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_jet.dsq new file mode 100644 index 00000000..2ca44261 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_jump.dsq new file mode 100644 index 00000000..970820d1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_land.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_land.dsq new file mode 100644 index 00000000..74ff003a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_lookde.dsq new file mode 100644 index 00000000..6c125066 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_lookms.dsq new file mode 100644 index 00000000..29de23f0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_looknw.dsq new file mode 100644 index 00000000..ed23a76b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_recoilde.dsq new file mode 100644 index 00000000..c1c4ecc7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_root.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_root.dsq new file mode 100644 index 00000000..fc892cde Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_side.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_side.dsq new file mode 100644 index 00000000..a13eb5b9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_ski.dsq new file mode 100644 index 00000000..fffff0a0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_standjump.dsq new file mode 100644 index 00000000..252f5e87 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_tauntbest.dsq new file mode 100644 index 00000000..1e95863b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_tauntbull.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_tauntbull.dsq new file mode 100644 index 00000000..2d8601fe Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_heavy_tauntbull.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light.dts b/public/base/@vl2/shapes.vl2/shapes/bioderm_light.dts new file mode 100644 index 00000000..6014d289 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_back.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_back.dsq new file mode 100644 index 00000000..d5174ccf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celflex2.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celflex2.dsq new file mode 100644 index 00000000..100c2018 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celflex2.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celgora.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celgora.dsq new file mode 100644 index 00000000..39ddae4b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celgora.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celjump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celjump.dsq new file mode 100644 index 00000000..b6f51406 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celroar.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celroar.dsq new file mode 100644 index 00000000..29a1b42b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celroar.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celsalute.dsq new file mode 100644 index 00000000..04550b5f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celyeah.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celyeah.dsq new file mode 100644 index 00000000..7d3aeff7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_celyeah.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieback.dsq new file mode 100644 index 00000000..095ff094 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diechest.dsq new file mode 100644 index 00000000..06ab0e5c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieforward.dsq new file mode 100644 index 00000000..0d668227 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diehead.dsq new file mode 100644 index 00000000..e1406f99 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieknees.dsq new file mode 100644 index 00000000..83072641 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieleglft.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieleglft.dsq new file mode 100644 index 00000000..ee43a6ee Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieleglft.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dielegrt.dsq new file mode 100644 index 00000000..e64ace83 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diesidelft.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diesidelft.dsq new file mode 100644 index 00000000..58d4e8dc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diesidelft.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diesidert.dsq new file mode 100644 index 00000000..6fa354b8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieslump.dsq new file mode 100644 index 00000000..9ca69def Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diespin.dsq new file mode 100644 index 00000000..84ac3353 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_fall.dsq new file mode 100644 index 00000000..86761a05 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_forward.dsq new file mode 100644 index 00000000..7fd7f74f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_head.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_head.dsq new file mode 100644 index 00000000..812eef96 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_headside.dsq new file mode 100644 index 00000000..d76ace18 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_idlepda.dsq new file mode 100644 index 00000000..3c844811 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_jet.dsq new file mode 100644 index 00000000..00f8e8e7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_jump.dsq new file mode 100644 index 00000000..8cb55242 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_land.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_land.dsq new file mode 100644 index 00000000..3835f08e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_lookde.dsq new file mode 100644 index 00000000..312335c3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_lookms.dsq new file mode 100644 index 00000000..d4676454 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_looknw.dsq new file mode 100644 index 00000000..bde86ed0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_recoilde.dsq new file mode 100644 index 00000000..7cf0c15e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_root.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_root.dsq new file mode 100644 index 00000000..8b85a25d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_scoutroot.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_scoutroot.dsq new file mode 100644 index 00000000..09b6966b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_scoutroot.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_side.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_side.dsq new file mode 100644 index 00000000..e2202693 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_sitting.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_sitting.dsq new file mode 100644 index 00000000..2265eaa8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_sitting.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_ski.dsq new file mode 100644 index 00000000..17e4e9c6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_standjump.dsq new file mode 100644 index 00000000..42127bd1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_tauntbest.dsq new file mode 100644 index 00000000..391e3a58 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_light_tauntbull.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_tauntbull.dsq new file mode 100644 index 00000000..04b8d0d2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_light_tauntbull.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium.dts b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium.dts new file mode 100644 index 00000000..29dc993c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_back.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_back.dsq new file mode 100644 index 00000000..8f4eeb3d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celflex2.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celflex2.dsq new file mode 100644 index 00000000..f01a13e5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celflex2.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celgora.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celgora.dsq new file mode 100644 index 00000000..90cf5d6d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celgora.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celjump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celjump.dsq new file mode 100644 index 00000000..53480973 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celroar.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celroar.dsq new file mode 100644 index 00000000..889abcba Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celroar.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celsalute.dsq new file mode 100644 index 00000000..4bffda75 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celyeah.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celyeah.dsq new file mode 100644 index 00000000..8db9a2f2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_celyeah.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieback.dsq new file mode 100644 index 00000000..59ee55e5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diechest.dsq new file mode 100644 index 00000000..27a5f556 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieforward.dsq new file mode 100644 index 00000000..9bedfc59 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diehead.dsq new file mode 100644 index 00000000..e53246ed Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieknees.dsq new file mode 100644 index 00000000..0951e06b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieleglft.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieleglft.dsq new file mode 100644 index 00000000..02b6f8b1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieleglft.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dielegrt.dsq new file mode 100644 index 00000000..22cf62a4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diesidelft.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diesidelft.dsq new file mode 100644 index 00000000..f1f902d4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diesidelft.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diesidert.dsq new file mode 100644 index 00000000..126a98c3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieslump.dsq new file mode 100644 index 00000000..1cf656ec Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diespin.dsq new file mode 100644 index 00000000..4a1e006b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_fall.dsq new file mode 100644 index 00000000..91731f77 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_forward.dsq new file mode 100644 index 00000000..ee371bdb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_head.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_head.dsq new file mode 100644 index 00000000..d359e343 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_headside.dsq new file mode 100644 index 00000000..0c29e3ea Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_idlepda.dsq new file mode 100644 index 00000000..a3c40681 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_jet.dsq new file mode 100644 index 00000000..0408688a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_jump.dsq new file mode 100644 index 00000000..061a8cae Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_land.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_land.dsq new file mode 100644 index 00000000..a57103a4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_lookde.dsq new file mode 100644 index 00000000..2b40d46e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_lookms.dsq new file mode 100644 index 00000000..e0e9de34 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_looknw.dsq new file mode 100644 index 00000000..b1bbabc6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_recoilde.dsq new file mode 100644 index 00000000..fb6d86be Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_root.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_root.dsq new file mode 100644 index 00000000..53a7ef20 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_side.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_side.dsq new file mode 100644 index 00000000..9c78fc99 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_sitting.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_sitting.dsq new file mode 100644 index 00000000..19ac3e14 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_sitting.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_ski.dsq new file mode 100644 index 00000000..2d5b2dc2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_standjump.dsq new file mode 100644 index 00000000..4b5d32db Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_tauntbest.dsq new file mode 100644 index 00000000..17573f58 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_tauntbull.dsq b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_tauntbull.dsq new file mode 100644 index 00000000..7640ae06 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bioderm_medium_tauntbull.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bmiscf.dts b/public/base/@vl2/shapes.vl2/shapes/bmiscf.dts new file mode 100644 index 00000000..60545c36 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bmiscf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bomb.dts b/public/base/@vl2/shapes.vl2/shapes/bomb.dts new file mode 100644 index 00000000..11a369d8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bomb.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/bombers_eye.dts b/public/base/@vl2/shapes.vl2/shapes/bombers_eye.dts new file mode 100644 index 00000000..13f9da2e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/bombers_eye.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg1.dts b/public/base/@vl2/shapes.vl2/shapes/borg1.dts new file mode 100644 index 00000000..3fa7d45c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg1.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg12.dts b/public/base/@vl2/shapes.vl2/shapes/borg12.dts new file mode 100644 index 00000000..c34c2a7d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg12.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg13.dts b/public/base/@vl2/shapes.vl2/shapes/borg13.dts new file mode 100644 index 00000000..736f23ee Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg13.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg15.dts b/public/base/@vl2/shapes.vl2/shapes/borg15.dts new file mode 100644 index 00000000..0f118e55 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg15.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg16.dts b/public/base/@vl2/shapes.vl2/shapes/borg16.dts new file mode 100644 index 00000000..d2059536 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg16.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg17.dts b/public/base/@vl2/shapes.vl2/shapes/borg17.dts new file mode 100644 index 00000000..96392c5c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg17.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg18.dts b/public/base/@vl2/shapes.vl2/shapes/borg18.dts new file mode 100644 index 00000000..c6ac162f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg18.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg19.dts b/public/base/@vl2/shapes.vl2/shapes/borg19.dts new file mode 100644 index 00000000..55b6ced7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg19.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg2.dts b/public/base/@vl2/shapes.vl2/shapes/borg2.dts new file mode 100644 index 00000000..a4c709b3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg2.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg20.dts b/public/base/@vl2/shapes.vl2/shapes/borg20.dts new file mode 100644 index 00000000..50ed3d10 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg20.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg23.dts b/public/base/@vl2/shapes.vl2/shapes/borg23.dts new file mode 100644 index 00000000..b9f17c3f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg23.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg25.dts b/public/base/@vl2/shapes.vl2/shapes/borg25.dts new file mode 100644 index 00000000..7b2408ad Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg25.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg3.dts b/public/base/@vl2/shapes.vl2/shapes/borg3.dts new file mode 100644 index 00000000..8aa689c5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg3.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg31.dts b/public/base/@vl2/shapes.vl2/shapes/borg31.dts new file mode 100644 index 00000000..a5f0a95d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg31.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg32.dts b/public/base/@vl2/shapes.vl2/shapes/borg32.dts new file mode 100644 index 00000000..6d1c88b3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg32.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg33.dts b/public/base/@vl2/shapes.vl2/shapes/borg33.dts new file mode 100644 index 00000000..d1c6ddd7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg33.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg34.dts b/public/base/@vl2/shapes.vl2/shapes/borg34.dts new file mode 100644 index 00000000..acc75165 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg34.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg4.dts b/public/base/@vl2/shapes.vl2/shapes/borg4.dts new file mode 100644 index 00000000..4d0e76c2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg4.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg5.dts b/public/base/@vl2/shapes.vl2/shapes/borg5.dts new file mode 100644 index 00000000..8bba0da8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg5.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg6.dts b/public/base/@vl2/shapes.vl2/shapes/borg6.dts new file mode 100644 index 00000000..ef48fd8a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg6.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg7.dts b/public/base/@vl2/shapes.vl2/shapes/borg7.dts new file mode 100644 index 00000000..f741960a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg7.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/borg8.dts b/public/base/@vl2/shapes.vl2/shapes/borg8.dts new file mode 100644 index 00000000..43b22f63 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/borg8.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/camera.dts b/public/base/@vl2/shapes.vl2/shapes/camera.dts new file mode 100644 index 00000000..e66a421e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/camera.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/chaingun_shot.dts b/public/base/@vl2/shapes.vl2/shapes/chaingun_shot.dts new file mode 100644 index 00000000..6460c639 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/chaingun_shot.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/debris_generic.dts b/public/base/@vl2/shapes.vl2/shapes/debris_generic.dts new file mode 100644 index 00000000..b19c452f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/debris_generic.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/debris_generic_small.dts b/public/base/@vl2/shapes.vl2/shapes/debris_generic_small.dts new file mode 100644 index 00000000..41c4830b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/debris_generic_small.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/debris_player.dts b/public/base/@vl2/shapes.vl2/shapes/debris_player.dts new file mode 100644 index 00000000..3caa1b2a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/debris_player.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/deploy_ammo.dts b/public/base/@vl2/shapes.vl2/shapes/deploy_ammo.dts new file mode 100644 index 00000000..de1e1d79 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/deploy_ammo.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/deploy_inventory.dts b/public/base/@vl2/shapes.vl2/shapes/deploy_inventory.dts new file mode 100644 index 00000000..03cd0978 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/deploy_inventory.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/deploy_sensor_motion.dts b/public/base/@vl2/shapes.vl2/shapes/deploy_sensor_motion.dts new file mode 100644 index 00000000..8a7c069b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/deploy_sensor_motion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/deploy_sensor_pulse.dts b/public/base/@vl2/shapes.vl2/shapes/deploy_sensor_pulse.dts new file mode 100644 index 00000000..deccb5f4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/deploy_sensor_pulse.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/disc.dts b/public/base/@vl2/shapes.vl2/shapes/disc.dts new file mode 100644 index 00000000..dd200171 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/disc.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/disc_explosion.dts b/public/base/@vl2/shapes.vl2/shapes/disc_explosion.dts new file mode 100644 index 00000000..51f1a0d1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/disc_explosion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/dmiscf.dts b/public/base/@vl2/shapes.vl2/shapes/dmiscf.dts new file mode 100644 index 00000000..9e338ae0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/dmiscf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/dorg15.dts b/public/base/@vl2/shapes.vl2/shapes/dorg15.dts new file mode 100644 index 00000000..66a0266e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/dorg15.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/dorg16.dts b/public/base/@vl2/shapes.vl2/shapes/dorg16.dts new file mode 100644 index 00000000..0ea68f3a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/dorg16.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/dorg17.dts b/public/base/@vl2/shapes.vl2/shapes/dorg17.dts new file mode 100644 index 00000000..88f248cc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/dorg17.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/dorg18.dts b/public/base/@vl2/shapes.vl2/shapes/dorg18.dts new file mode 100644 index 00000000..7cc1369b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/dorg18.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/dorg19.dts b/public/base/@vl2/shapes.vl2/shapes/dorg19.dts new file mode 100644 index 00000000..33a2e3b0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/dorg19.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/effect_plasma_explosion.dts b/public/base/@vl2/shapes.vl2/shapes/effect_plasma_explosion.dts new file mode 100644 index 00000000..6232fb96 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/effect_plasma_explosion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/energy_bolt.dts b/public/base/@vl2/shapes.vl2/shapes/energy_bolt.dts new file mode 100644 index 00000000..981b681b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/energy_bolt.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/energy_explosion.dts b/public/base/@vl2/shapes.vl2/shapes/energy_explosion.dts new file mode 100644 index 00000000..400a6186 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/energy_explosion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/ext_flagstand.dts b/public/base/@vl2/shapes.vl2/shapes/ext_flagstand.dts new file mode 100644 index 00000000..c59a45b2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/ext_flagstand.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/flag.dts b/public/base/@vl2/shapes.vl2/shapes/flag.dts new file mode 100644 index 00000000..5519cee4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/flag.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/gravemarker_1.dts b/public/base/@vl2/shapes.vl2/shapes/gravemarker_1.dts new file mode 100644 index 00000000..dea348bb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/gravemarker_1.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/grenade.dts b/public/base/@vl2/shapes.vl2/shapes/grenade.dts new file mode 100644 index 00000000..8a78fefb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/grenade.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/grenade_flare.dts b/public/base/@vl2/shapes.vl2/shapes/grenade_flare.dts new file mode 100644 index 00000000..e9642eee Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/grenade_flare.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/grenade_flash.dts b/public/base/@vl2/shapes.vl2/shapes/grenade_flash.dts new file mode 100644 index 00000000..b53725f4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/grenade_flash.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/grenade_projectile.dts b/public/base/@vl2/shapes.vl2/shapes/grenade_projectile.dts new file mode 100644 index 00000000..09843325 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/grenade_projectile.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male.dts b/public/base/@vl2/shapes.vl2/shapes/heavy_male.dts new file mode 100644 index 00000000..8a39a58f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_back.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_back.dsq new file mode 100644 index 00000000..d6ddd53f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_celdance.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celdance.dsq new file mode 100644 index 00000000..931be6a1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celdance.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_celflex.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celflex.dsq new file mode 100644 index 00000000..a9694057 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celflex.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_celjump.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celjump.dsq new file mode 100644 index 00000000..f698121e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celsalute.dsq new file mode 100644 index 00000000..eb8e7e59 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_celtaunt.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celtaunt.dsq new file mode 100644 index 00000000..7a05145d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celtaunt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_celwave.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celwave.dsq new file mode 100644 index 00000000..21834f5a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_celwave.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dead.dts b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dead.dts new file mode 100644 index 00000000..f0fd59a6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dead.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieback.dsq new file mode 100644 index 00000000..5ab61250 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diechest.dsq new file mode 100644 index 00000000..edc08dc5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieforward.dsq new file mode 100644 index 00000000..8b720dd9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diehead.dsq new file mode 100644 index 00000000..1888cae5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieknees.dsq new file mode 100644 index 00000000..e8eb9d5d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieleglf.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieleglf.dsq new file mode 100644 index 00000000..a5526617 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieleglf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dielegrt.dsq new file mode 100644 index 00000000..d5423ecf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_diesidelf.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diesidelf.dsq new file mode 100644 index 00000000..901cb77d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diesidelf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diesidert.dsq new file mode 100644 index 00000000..b4b6a179 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieslump.dsq new file mode 100644 index 00000000..4efeb746 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diespin.dsq new file mode 100644 index 00000000..71c70483 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_fall.dsq new file mode 100644 index 00000000..5df9f08b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_forward.dsq new file mode 100644 index 00000000..62b27980 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_head.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_head.dsq new file mode 100644 index 00000000..d592a1f5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_headside.dsq new file mode 100644 index 00000000..983da575 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_idlepda.dsq new file mode 100644 index 00000000..76d0116e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_jet.dsq new file mode 100644 index 00000000..5e634836 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_jump.dsq new file mode 100644 index 00000000..ad5bafa3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_land.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_land.dsq new file mode 100644 index 00000000..1cf89d3d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_lookde.dsq new file mode 100644 index 00000000..deab41ef Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_lookms.dsq new file mode 100644 index 00000000..ef6cba82 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_looknw.dsq new file mode 100644 index 00000000..a317bfa7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_recoilde.dsq new file mode 100644 index 00000000..3bd66797 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_root.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_root.dsq new file mode 100644 index 00000000..3f998da5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_side.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_side.dsq new file mode 100644 index 00000000..9727d810 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_ski.dsq new file mode 100644 index 00000000..14574980 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_standjump.dsq new file mode 100644 index 00000000..aa20017c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_tauntbest.dsq new file mode 100644 index 00000000..1ab04917 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/heavy_male_tauntimp.dsq b/public/base/@vl2/shapes.vl2/shapes/heavy_male_tauntimp.dsq new file mode 100644 index 00000000..d51cdab7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/heavy_male_tauntimp.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/huntersflag.dts b/public/base/@vl2/shapes.vl2/shapes/huntersflag.dts new file mode 100644 index 00000000..cf97cf0e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/huntersflag.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/int_flagstand.dts b/public/base/@vl2/shapes.vl2/shapes/int_flagstand.dts new file mode 100644 index 00000000..71743aaf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/int_flagstand.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female.dts b/public/base/@vl2/shapes.vl2/shapes/light_female.dts new file mode 100644 index 00000000..dfb0d7b4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_back.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_back.dsq new file mode 100644 index 00000000..2358fcb1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_celbow.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_celbow.dsq new file mode 100644 index 00000000..56a48bed Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_celbow.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_celdance.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_celdance.dsq new file mode 100644 index 00000000..26e9217c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_celdance.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_celsalute.dsq new file mode 100644 index 00000000..d8bfd3e6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_celwave.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_celwave.dsq new file mode 100644 index 00000000..2232cb77 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_celwave.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_dieback.dsq new file mode 100644 index 00000000..5b506adf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_diechest.dsq new file mode 100644 index 00000000..ff0de4ca Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_dieforward.dsq new file mode 100644 index 00000000..a49f34b5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_diehead.dsq new file mode 100644 index 00000000..4fe1b776 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_dieknees.dsq new file mode 100644 index 00000000..c16d1f0e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_dieleglf.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_dieleglf.dsq new file mode 100644 index 00000000..53e9fc73 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_dieleglf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_dielegrt.dsq new file mode 100644 index 00000000..acc3a20f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_diesidelf.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_diesidelf.dsq new file mode 100644 index 00000000..5a970ccb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_diesidelf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_diesidert.dsq new file mode 100644 index 00000000..f3fd8624 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_dieslump.dsq new file mode 100644 index 00000000..ec471bf5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_diespin.dsq new file mode 100644 index 00000000..79f76e88 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_fall.dsq new file mode 100644 index 00000000..1264a042 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_forward.dsq new file mode 100644 index 00000000..99ee5fda Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_head.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_head.dsq new file mode 100644 index 00000000..f53fc141 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_headside.dsq new file mode 100644 index 00000000..0c840d4f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_idlepda.dsq new file mode 100644 index 00000000..e27771eb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_jet.dsq new file mode 100644 index 00000000..19ebf265 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_jump.dsq new file mode 100644 index 00000000..aab5cf82 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_land.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_land.dsq new file mode 100644 index 00000000..1c89b399 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_lookde.dsq new file mode 100644 index 00000000..07b1cfb4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_lookms.dsq new file mode 100644 index 00000000..c1225cdf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_looknw.dsq new file mode 100644 index 00000000..c97d4d8f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_looksn.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_looksn.dsq new file mode 100644 index 00000000..88904461 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_looksn.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_recoilde.dsq new file mode 100644 index 00000000..3493d5f1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_root.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_root.dsq new file mode 100644 index 00000000..9d9cfcc6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_scoutroot.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_scoutroot.dsq new file mode 100644 index 00000000..17fc299c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_scoutroot.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_side.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_side.dsq new file mode 100644 index 00000000..e9da94d5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_sitting.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_sitting.dsq new file mode 100644 index 00000000..10678a52 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_sitting.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_ski.dsq new file mode 100644 index 00000000..7c18ea57 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_standjump.dsq new file mode 100644 index 00000000..dbd139c0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntbest.dsq new file mode 100644 index 00000000..21b92317 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_tauntbutt.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntbutt.dsq new file mode 100644 index 00000000..c32eec17 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntbutt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_tauntimp.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntimp.dsq new file mode 100644 index 00000000..245ff68a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntimp.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_female_tauntkiss.dsq b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntkiss.dsq new file mode 100644 index 00000000..6b74df72 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_female_tauntkiss.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male.dts b/public/base/@vl2/shapes.vl2/shapes/light_male.dts new file mode 100644 index 00000000..7cf0eb80 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_back.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_back.dsq new file mode 100644 index 00000000..51a94061 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_celdisco.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_celdisco.dsq new file mode 100644 index 00000000..f7c8735f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_celdisco.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_celflex.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_celflex.dsq new file mode 100644 index 00000000..d3e24143 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_celflex.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_celrocky.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_celrocky.dsq new file mode 100644 index 00000000..84b67788 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_celrocky.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_celsalute.dsq new file mode 100644 index 00000000..843d1e60 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_celtaunt.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_celtaunt.dsq new file mode 100644 index 00000000..03d6748d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_celtaunt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_celwave.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_celwave.dsq new file mode 100644 index 00000000..8e63d35d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_celwave.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dead.dts b/public/base/@vl2/shapes.vl2/shapes/light_male_dead.dts new file mode 100644 index 00000000..302a6c1d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dead.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_dieback.dsq new file mode 100644 index 00000000..4832aaeb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_diechest.dsq new file mode 100644 index 00000000..4d0eb104 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_dieforward.dsq new file mode 100644 index 00000000..3923f370 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_diehead.dsq new file mode 100644 index 00000000..33e2b7b1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_dieknees.dsq new file mode 100644 index 00000000..cf03e6da Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dieleglf.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_dieleglf.dsq new file mode 100644 index 00000000..6b82018d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dieleglf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_dielegrt.dsq new file mode 100644 index 00000000..bfafb710 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_diesidelf.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_diesidelf.dsq new file mode 100644 index 00000000..15dbb648 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_diesidelf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_diesidert.dsq new file mode 100644 index 00000000..07fb6872 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_dieslump.dsq new file mode 100644 index 00000000..2ded8fbf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_diespin.dsq new file mode 100644 index 00000000..7a1ccafb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_fall.dsq new file mode 100644 index 00000000..0187f285 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_forward.dsq new file mode 100644 index 00000000..76faeacc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_head.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_head.dsq new file mode 100644 index 00000000..46a7889d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_headside.dsq new file mode 100644 index 00000000..222e15d0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_idlepda.dsq new file mode 100644 index 00000000..3657584d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_jet.dsq new file mode 100644 index 00000000..6bb62c77 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_jump.dsq new file mode 100644 index 00000000..3532e5c3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_land.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_land.dsq new file mode 100644 index 00000000..83f57a32 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_lookde.dsq new file mode 100644 index 00000000..45522b9c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_lookms.dsq new file mode 100644 index 00000000..3d8bf711 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_looknw.dsq new file mode 100644 index 00000000..3b409d8d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_looksn.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_looksn.dsq new file mode 100644 index 00000000..0d3e5213 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_looksn.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_newland.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_newland.dsq new file mode 100644 index 00000000..83f57a32 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_newland.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_recoilde.dsq new file mode 100644 index 00000000..eb4e949c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_root.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_root.dsq new file mode 100644 index 00000000..fd9c224b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_scoutroot.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_scoutroot.dsq new file mode 100644 index 00000000..263b4618 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_scoutroot.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_side.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_side.dsq new file mode 100644 index 00000000..a3eefe12 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_sitting.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_sitting.dsq new file mode 100644 index 00000000..b367a44c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_sitting.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_ski.dsq new file mode 100644 index 00000000..529cb85d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_standjump.dsq new file mode 100644 index 00000000..ca6f779c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_tauntbest.dsq new file mode 100644 index 00000000..3d14058e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/light_male_tauntimp.dsq b/public/base/@vl2/shapes.vl2/shapes/light_male_tauntimp.dsq new file mode 100644 index 00000000..ed38730d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/light_male_tauntimp.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female.dts b/public/base/@vl2/shapes.vl2/shapes/medium_female.dts new file mode 100644 index 00000000..7ecb80db Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_back.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_back.dsq new file mode 100644 index 00000000..1ea9250a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_celbow.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_celbow.dsq new file mode 100644 index 00000000..3c761462 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_celbow.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_celdisco.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_celdisco.dsq new file mode 100644 index 00000000..e8c98e45 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_celdisco.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_celsalute.dsq new file mode 100644 index 00000000..eaedf2bf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_celwave.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_celwave.dsq new file mode 100644 index 00000000..3c7c65f3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_celwave.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieback.dsq new file mode 100644 index 00000000..f59039b9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_diechest.dsq new file mode 100644 index 00000000..81ae9522 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieforward.dsq new file mode 100644 index 00000000..1fcac4fe Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_diehead.dsq new file mode 100644 index 00000000..34b983ff Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieknees.dsq new file mode 100644 index 00000000..1b581b38 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_dieleglf.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieleglf.dsq new file mode 100644 index 00000000..e5f48987 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieleglf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_dielegrt.dsq new file mode 100644 index 00000000..0a352069 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_diesidelf.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_diesidelf.dsq new file mode 100644 index 00000000..1dfa44c0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_diesidelf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_diesidert.dsq new file mode 100644 index 00000000..ee2c0705 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieslump.dsq new file mode 100644 index 00000000..d196be45 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_dieslump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_diespin.dsq new file mode 100644 index 00000000..08312296 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_fall.dsq new file mode 100644 index 00000000..02e69143 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_forward.dsq new file mode 100644 index 00000000..ed12c487 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_head.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_head.dsq new file mode 100644 index 00000000..c7192607 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_headside.dsq new file mode 100644 index 00000000..3fd0bebf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_idlepda.dsq new file mode 100644 index 00000000..e0d6c9c5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_jet.dsq new file mode 100644 index 00000000..4d49bdf9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_jump.dsq new file mode 100644 index 00000000..f64bb85e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_land.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_land.dsq new file mode 100644 index 00000000..cf987953 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_lookde.dsq new file mode 100644 index 00000000..4f6bf9a8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_lookms.dsq new file mode 100644 index 00000000..5f311d54 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_looknw.dsq new file mode 100644 index 00000000..98ab2440 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_looksn.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_looksn.dsq new file mode 100644 index 00000000..a051e6c4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_looksn.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_recoilde.dsq new file mode 100644 index 00000000..a02008e0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_root.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_root.dsq new file mode 100644 index 00000000..179adacd Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_side.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_side.dsq new file mode 100644 index 00000000..64d3184f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_sitting.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_sitting.dsq new file mode 100644 index 00000000..ec94f7e8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_sitting.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_ski.dsq new file mode 100644 index 00000000..a0fbefc2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_standjump.dsq new file mode 100644 index 00000000..8f79349c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntbest.dsq new file mode 100644 index 00000000..40b0f5b5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntbutt.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntbutt.dsq new file mode 100644 index 00000000..5d5e570e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntbutt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntimp.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntimp.dsq new file mode 100644 index 00000000..1ebc799d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntimp.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntkiss.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntkiss.dsq new file mode 100644 index 00000000..59d9677c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_female_tauntkiss.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male.dts b/public/base/@vl2/shapes.vl2/shapes/medium_male.dts new file mode 100644 index 00000000..1ea4aac0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_back.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_back.dsq new file mode 100644 index 00000000..a57759b7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_back.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_celdance.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_celdance.dsq new file mode 100644 index 00000000..7aa1f06a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_celdance.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_celflex.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_celflex.dsq new file mode 100644 index 00000000..89e4f233 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_celflex.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_celrocky.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_celrocky.dsq new file mode 100644 index 00000000..7a1547e2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_celrocky.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_celsalute.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_celsalute.dsq new file mode 100644 index 00000000..541a0873 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_celsalute.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_celtaunt.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_celtaunt.dsq new file mode 100644 index 00000000..a662e0c1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_celtaunt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_celwave.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_celwave.dsq new file mode 100644 index 00000000..1c7c7026 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_celwave.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dead.dts b/public/base/@vl2/shapes.vl2/shapes/medium_male_dead.dts new file mode 100644 index 00000000..0f95d580 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_dead.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dieback.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieback.dsq new file mode 100644 index 00000000..55289961 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieback.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_diechest.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_diechest.dsq new file mode 100644 index 00000000..ccdf8be0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_diechest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dieforward.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieforward.dsq new file mode 100644 index 00000000..caac6821 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieforward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_diehead.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_diehead.dsq new file mode 100644 index 00000000..a4203fc7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_diehead.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dieknees.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieknees.dsq new file mode 100644 index 00000000..96e9b275 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieknees.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dieleglf.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieleglf.dsq new file mode 100644 index 00000000..d15dc63e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieleglf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dielegrt.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_dielegrt.dsq new file mode 100644 index 00000000..8b1dbb9c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_dielegrt.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_diesidelf.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_diesidelf.dsq new file mode 100644 index 00000000..c6557681 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_diesidelf.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_diesidert.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_diesidert.dsq new file mode 100644 index 00000000..909e63de Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_diesidert.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_dieslump.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_dieslump.dsq new file mode 100644 index 00000000..e69de29b diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_diespin.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_diespin.dsq new file mode 100644 index 00000000..d1d48521 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_diespin.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_fall.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_fall.dsq new file mode 100644 index 00000000..9d9de5c5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_fall.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_forward.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_forward.dsq new file mode 100644 index 00000000..f3072c3b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_forward.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_head.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_head.dsq new file mode 100644 index 00000000..668dee04 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_head.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_headside.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_headside.dsq new file mode 100644 index 00000000..c6be34d9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_headside.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_idlepda.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_idlepda.dsq new file mode 100644 index 00000000..516ff97e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_idlepda.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_jet.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_jet.dsq new file mode 100644 index 00000000..14c74d3b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_jet.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_jump.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_jump.dsq new file mode 100644 index 00000000..b31dea1e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_jump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_land.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_land.dsq new file mode 100644 index 00000000..cb961a7e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_land.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_lookde.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_lookde.dsq new file mode 100644 index 00000000..a880105d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_lookde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_lookms.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_lookms.dsq new file mode 100644 index 00000000..d9e9867d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_lookms.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_looknw.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_looknw.dsq new file mode 100644 index 00000000..41aab620 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_looknw.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_looksn.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_looksn.dsq new file mode 100644 index 00000000..4d0ea3e1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_looksn.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_recoilde.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_recoilde.dsq new file mode 100644 index 00000000..5bb7f7f4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_recoilde.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_root.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_root.dsq new file mode 100644 index 00000000..353d3458 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_root.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_side.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_side.dsq new file mode 100644 index 00000000..8b50133b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_side.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_sitting.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_sitting.dsq new file mode 100644 index 00000000..f21e97bf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_sitting.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_ski.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_ski.dsq new file mode 100644 index 00000000..4b6a0c5e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_ski.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_standjump.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_standjump.dsq new file mode 100644 index 00000000..a9cc39e9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_standjump.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_tauntbest.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_tauntbest.dsq new file mode 100644 index 00000000..b412eef1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_tauntbest.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/medium_male_tauntimp.dsq b/public/base/@vl2/shapes.vl2/shapes/medium_male_tauntimp.dsq new file mode 100644 index 00000000..f1467026 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/medium_male_tauntimp.dsq differ diff --git a/public/base/@vl2/shapes.vl2/shapes/mine.dts b/public/base/@vl2/shapes.vl2/shapes/mine.dts new file mode 100644 index 00000000..7b133981 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/mine.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/mortar_explosion.dts b/public/base/@vl2/shapes.vl2/shapes/mortar_explosion.dts new file mode 100644 index 00000000..4df771fe Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/mortar_explosion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/mortar_projectile.dts b/public/base/@vl2/shapes.vl2/shapes/mortar_projectile.dts new file mode 100644 index 00000000..1b9b10bd Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/mortar_projectile.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/nexus_effect.dts b/public/base/@vl2/shapes.vl2/shapes/nexus_effect.dts new file mode 100644 index 00000000..4f18a557 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/nexus_effect.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/nexusbase.dts b/public/base/@vl2/shapes.vl2/shapes/nexusbase.dts new file mode 100644 index 00000000..94a8c736 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/nexusbase.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/nexuscap.dts b/public/base/@vl2/shapes.vl2/shapes/nexuscap.dts new file mode 100644 index 00000000..a687d88a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/nexuscap.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/octahedron.dts b/public/base/@vl2/shapes.vl2/shapes/octahedron.dts new file mode 100644 index 00000000..976c1c04 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/octahedron.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_barrel_aa.dts b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_aa.dts new file mode 100644 index 00000000..08f7c6a0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_aa.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_barrel_elf.dts b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_elf.dts new file mode 100644 index 00000000..b9918da5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_elf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_barrel_fusion.dts b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_fusion.dts new file mode 100644 index 00000000..edaf2bbb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_fusion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_barrel_missile.dts b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_missile.dts new file mode 100644 index 00000000..5c50e361 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_missile.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_barrel_mortar.dts b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_mortar.dts new file mode 100644 index 00000000..cb610318 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_barrel_mortar.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_deploy_ammo.dts b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_ammo.dts new file mode 100644 index 00000000..b81dd1b4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_ammo.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_deploy_inventory.dts b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_inventory.dts new file mode 100644 index 00000000..a4b767bd Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_inventory.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_deploy_sensor_motion.dts b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_sensor_motion.dts new file mode 100644 index 00000000..ea58047a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_sensor_motion.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_deploy_sensor_pulse.dts b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_sensor_pulse.dts new file mode 100644 index 00000000..c2c54df2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_sensor_pulse.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_deploy_turreti.dts b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_turreti.dts new file mode 100644 index 00000000..e900ab9a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_turreti.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_deploy_turreto.dts b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_turreto.dts new file mode 100644 index 00000000..a7ab0a10 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_deploy_turreto.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_ammo.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_ammo.dts new file mode 100644 index 00000000..c4680183 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_ammo.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_cloaking.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_cloaking.dts new file mode 100644 index 00000000..4a541842 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_cloaking.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_energy.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_energy.dts new file mode 100644 index 00000000..376a2e0d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_energy.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_repair.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_repair.dts new file mode 100644 index 00000000..f5e19732 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_repair.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_satchel.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_satchel.dts new file mode 100644 index 00000000..cfba6026 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_satchel.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_sensorjammer.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_sensorjammer.dts new file mode 100644 index 00000000..e4174fb9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_sensorjammer.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_shield.dts b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_shield.dts new file mode 100644 index 00000000..2822f012 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pack_upgrade_shield.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/plasmabolt.dts b/public/base/@vl2/shapes.vl2/shapes/plasmabolt.dts new file mode 100644 index 00000000..00fced46 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/plasmabolt.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/pmiscf.dts b/public/base/@vl2/shapes.vl2/shapes/pmiscf.dts new file mode 100644 index 00000000..4d828427 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/pmiscf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg1.dts b/public/base/@vl2/shapes.vl2/shapes/porg1.dts new file mode 100644 index 00000000..7aa2bfc7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg1.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg2.dts b/public/base/@vl2/shapes.vl2/shapes/porg2.dts new file mode 100644 index 00000000..49617fb2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg2.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg20.dts b/public/base/@vl2/shapes.vl2/shapes/porg20.dts new file mode 100644 index 00000000..6852f583 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg20.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg22.dts b/public/base/@vl2/shapes.vl2/shapes/porg22.dts new file mode 100644 index 00000000..20921e76 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg22.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg3.dts b/public/base/@vl2/shapes.vl2/shapes/porg3.dts new file mode 100644 index 00000000..e2ee9e88 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg3.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg4.dts b/public/base/@vl2/shapes.vl2/shapes/porg4.dts new file mode 100644 index 00000000..0436ebff Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg4.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg5.dts b/public/base/@vl2/shapes.vl2/shapes/porg5.dts new file mode 100644 index 00000000..7e9132ab Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg5.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/porg6.dts b/public/base/@vl2/shapes.vl2/shapes/porg6.dts new file mode 100644 index 00000000..674c6e53 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/porg6.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/repair_kit.dts b/public/base/@vl2/shapes.vl2/shapes/repair_kit.dts new file mode 100644 index 00000000..d0423d8b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/repair_kit.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/repair_patch.dts b/public/base/@vl2/shapes.vl2/shapes/repair_patch.dts new file mode 100644 index 00000000..a4fb4ba5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/repair_patch.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/reticle_bomber.dts b/public/base/@vl2/shapes.vl2/shapes/reticle_bomber.dts new file mode 100644 index 00000000..63648c7d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/reticle_bomber.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sensor_pulse_large.dts b/public/base/@vl2/shapes.vl2/shapes/sensor_pulse_large.dts new file mode 100644 index 00000000..9f9fa6f8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sensor_pulse_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sensor_pulse_medium.dts b/public/base/@vl2/shapes.vl2/shapes/sensor_pulse_medium.dts new file mode 100644 index 00000000..df2fde8d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sensor_pulse_medium.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/smiscf.dts b/public/base/@vl2/shapes.vl2/shapes/smiscf.dts new file mode 100644 index 00000000..a36c8a13 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/smiscf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/solarpanel.dts b/public/base/@vl2/shapes.vl2/shapes/solarpanel.dts new file mode 100644 index 00000000..291d0b6b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/solarpanel.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sorg20.dts b/public/base/@vl2/shapes.vl2/shapes/sorg20.dts new file mode 100644 index 00000000..3e41fe33 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sorg20.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sorg21.dts b/public/base/@vl2/shapes.vl2/shapes/sorg21.dts new file mode 100644 index 00000000..ce3f637c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sorg21.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sorg22.dts b/public/base/@vl2/shapes.vl2/shapes/sorg22.dts new file mode 100644 index 00000000..9be927ac Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sorg22.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sorg23.dts b/public/base/@vl2/shapes.vl2/shapes/sorg23.dts new file mode 100644 index 00000000..a01fe735 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sorg23.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/sorg24.dts b/public/base/@vl2/shapes.vl2/shapes/sorg24.dts new file mode 100644 index 00000000..e005802e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/sorg24.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable1l.dts b/public/base/@vl2/shapes.vl2/shapes/stackable1l.dts new file mode 100644 index 00000000..bf352886 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable1l.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable1m.dts b/public/base/@vl2/shapes.vl2/shapes/stackable1m.dts new file mode 100644 index 00000000..29fc28b3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable1m.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable1s.dts b/public/base/@vl2/shapes.vl2/shapes/stackable1s.dts new file mode 100644 index 00000000..c5ed61cb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable1s.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable2l.dts b/public/base/@vl2/shapes.vl2/shapes/stackable2l.dts new file mode 100644 index 00000000..f203f790 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable2l.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable2m.dts b/public/base/@vl2/shapes.vl2/shapes/stackable2m.dts new file mode 100644 index 00000000..b5f1e243 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable2m.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable2s.dts b/public/base/@vl2/shapes.vl2/shapes/stackable2s.dts new file mode 100644 index 00000000..b6f2cc35 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable2s.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable3l.dts b/public/base/@vl2/shapes.vl2/shapes/stackable3l.dts new file mode 100644 index 00000000..1cf00e57 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable3l.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable3m.dts b/public/base/@vl2/shapes.vl2/shapes/stackable3m.dts new file mode 100644 index 00000000..7df330b5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable3m.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable3s.dts b/public/base/@vl2/shapes.vl2/shapes/stackable3s.dts new file mode 100644 index 00000000..6a229e68 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable3s.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable4l.dts b/public/base/@vl2/shapes.vl2/shapes/stackable4l.dts new file mode 100644 index 00000000..b3157c2f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable4l.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable4m.dts b/public/base/@vl2/shapes.vl2/shapes/stackable4m.dts new file mode 100644 index 00000000..52a5f3cf Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable4m.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable5l.dts b/public/base/@vl2/shapes.vl2/shapes/stackable5l.dts new file mode 100644 index 00000000..234dac45 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable5l.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/stackable5m.dts b/public/base/@vl2/shapes.vl2/shapes/stackable5m.dts new file mode 100644 index 00000000..4da468a0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/stackable5m.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/station_generator_large.dts b/public/base/@vl2/shapes.vl2/shapes/station_generator_large.dts new file mode 100644 index 00000000..afeb65f2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/station_generator_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/station_inv_human.dts b/public/base/@vl2/shapes.vl2/shapes/station_inv_human.dts new file mode 100644 index 00000000..d6f4ae0a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/station_inv_human.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/station_inv_mpb.dts b/public/base/@vl2/shapes.vl2/shapes/station_inv_mpb.dts new file mode 100644 index 00000000..578ec945 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/station_inv_mpb.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/station_teleport.dts b/public/base/@vl2/shapes.vl2/shapes/station_teleport.dts new file mode 100644 index 00000000..224c15a2 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/station_teleport.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/statue_base.dts b/public/base/@vl2/shapes.vl2/shapes/statue_base.dts new file mode 100644 index 00000000..d646042c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/statue_base.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/statue_hmale.dts b/public/base/@vl2/shapes.vl2/shapes/statue_hmale.dts new file mode 100644 index 00000000..806de9f8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/statue_hmale.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/statue_lfemale.dts b/public/base/@vl2/shapes.vl2/shapes/statue_lfemale.dts new file mode 100644 index 00000000..d810a0d4 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/statue_lfemale.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/statue_lmale.dts b/public/base/@vl2/shapes.vl2/shapes/statue_lmale.dts new file mode 100644 index 00000000..af4c5c29 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/statue_lmale.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/statue_plaque.dts b/public/base/@vl2/shapes.vl2/shapes/statue_plaque.dts new file mode 100644 index 00000000..afc913d8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/statue_plaque.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/switch.dts b/public/base/@vl2/shapes.vl2/shapes/switch.dts new file mode 100644 index 00000000..edf33b2a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/switch.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_bd.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_bd.dts new file mode 100644 index 00000000..9a2cb642 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_bd.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_be.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_be.dts new file mode 100644 index 00000000..0fa79004 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_be.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_ds.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_ds.dts new file mode 100644 index 00000000..ca6b5f15 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_ds.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_hb.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_hb.dts new file mode 100644 index 00000000..707c5161 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_hb.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_inf.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_inf.dts new file mode 100644 index 00000000..6cdb5c3f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_inf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_projector.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_projector.dts new file mode 100644 index 00000000..77bfba15 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_projector.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_storm.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_storm.dts new file mode 100644 index 00000000..8c03199b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_storm.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/teamlogo_sw.dts b/public/base/@vl2/shapes.vl2/shapes/teamlogo_sw.dts new file mode 100644 index 00000000..41f74d9e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/teamlogo_sw.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_aa_large.dts b/public/base/@vl2/shapes.vl2/shapes/turret_aa_large.dts new file mode 100644 index 00000000..d6802fef Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_aa_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_assaulttank_mortar.dts b/public/base/@vl2/shapes.vl2/shapes/turret_assaulttank_mortar.dts new file mode 100644 index 00000000..3883d9e5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_assaulttank_mortar.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_assaulttank_plasma.dts b/public/base/@vl2/shapes.vl2/shapes/turret_assaulttank_plasma.dts new file mode 100644 index 00000000..77384772 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_assaulttank_plasma.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_base_large.dts b/public/base/@vl2/shapes.vl2/shapes/turret_base_large.dts new file mode 100644 index 00000000..125bafd0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_base_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_base_mpb.dts b/public/base/@vl2/shapes.vl2/shapes/turret_base_mpb.dts new file mode 100644 index 00000000..3d70abf5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_base_mpb.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_belly_barrell.dts b/public/base/@vl2/shapes.vl2/shapes/turret_belly_barrell.dts new file mode 100644 index 00000000..6a1e2fa3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_belly_barrell.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_belly_barrelr.dts b/public/base/@vl2/shapes.vl2/shapes/turret_belly_barrelr.dts new file mode 100644 index 00000000..96d90d19 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_belly_barrelr.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_belly_base.dts b/public/base/@vl2/shapes.vl2/shapes/turret_belly_base.dts new file mode 100644 index 00000000..972b12e0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_belly_base.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_elf_large.dts b/public/base/@vl2/shapes.vl2/shapes/turret_elf_large.dts new file mode 100644 index 00000000..ba6eb81e Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_elf_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_fusion_large.dts b/public/base/@vl2/shapes.vl2/shapes/turret_fusion_large.dts new file mode 100644 index 00000000..f2c73eb6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_fusion_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployc.dts b/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployc.dts new file mode 100644 index 00000000..1a830efa Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployc.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployf.dts b/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployf.dts new file mode 100644 index 00000000..865cd750 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployw.dts b/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployw.dts new file mode 100644 index 00000000..36915972 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_indoor_deployw.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_missile_large.dts b/public/base/@vl2/shapes.vl2/shapes/turret_missile_large.dts new file mode 100644 index 00000000..a8513356 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_missile_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_mortar_large.dts b/public/base/@vl2/shapes.vl2/shapes/turret_mortar_large.dts new file mode 100644 index 00000000..1ecea772 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_mortar_large.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_muzzlepoint.dts b/public/base/@vl2/shapes.vl2/shapes/turret_muzzlepoint.dts new file mode 100644 index 00000000..7c9da5b0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_muzzlepoint.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_outdoor_deploy.dts b/public/base/@vl2/shapes.vl2/shapes/turret_outdoor_deploy.dts new file mode 100644 index 00000000..3cd7d7d0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_outdoor_deploy.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_sentry.dts b/public/base/@vl2/shapes.vl2/shapes/turret_sentry.dts new file mode 100644 index 00000000..ce3543a0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_sentry.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_tank_barrelchain.dts b/public/base/@vl2/shapes.vl2/shapes/turret_tank_barrelchain.dts new file mode 100644 index 00000000..1cff9501 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_tank_barrelchain.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_tank_barrelmortar.dts b/public/base/@vl2/shapes.vl2/shapes/turret_tank_barrelmortar.dts new file mode 100644 index 00000000..bbce2df0 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_tank_barrelmortar.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/turret_tank_base.dts b/public/base/@vl2/shapes.vl2/shapes/turret_tank_base.dts new file mode 100644 index 00000000..9314878b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/turret_tank_base.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_bomber.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_bomber.dts new file mode 100644 index 00000000..51d76213 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_bomber.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_bomber_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_bomber_debris.dts new file mode 100644 index 00000000..ac81947b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_bomber_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_hapc.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_hapc.dts new file mode 100644 index 00000000..2c159b6b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_hapc.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_hapc_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_hapc_debris.dts new file mode 100644 index 00000000..be7a60c8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_hapc_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout.dts new file mode 100644 index 00000000..049d6d7c Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout_debris.dts new file mode 100644 index 00000000..fca68027 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout_wreck.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout_wreck.dts new file mode 100644 index 00000000..3048b178 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_air_scout_wreck.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_scout.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_scout.dts new file mode 100644 index 00000000..b81db2dc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_scout.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_scout_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_scout_debris.dts new file mode 100644 index 00000000..7a97dd12 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_scout_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank.dts new file mode 100644 index 00000000..e49b747a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank_debris.dts new file mode 100644 index 00000000..e1baad33 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank_wreck.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank_wreck.dts new file mode 100644 index 00000000..b3e238ae Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_grav_tank_wreck.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault.dts new file mode 100644 index 00000000..de94e6f3 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault_debris.dts new file mode 100644 index 00000000..e1baad33 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault_wreck.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault_wreck.dts new file mode 100644 index 00000000..b3e238ae Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_assault_wreck.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_land_mpbase.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_mpbase.dts new file mode 100644 index 00000000..07a02540 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_mpbase.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_land_mpbase_debris.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_mpbase_debris.dts new file mode 100644 index 00000000..2504897d Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_land_mpbase_debris.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_pad.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_pad.dts new file mode 100644 index 00000000..a73fda58 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_pad.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/vehicle_pad_station.dts b/public/base/@vl2/shapes.vl2/shapes/vehicle_pad_station.dts new file mode 100644 index 00000000..62a459cc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/vehicle_pad_station.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_chaingun.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_chaingun.dts new file mode 100644 index 00000000..89d8962f Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_chaingun.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_chaingun_ammocasing.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_chaingun_ammocasing.dts new file mode 100644 index 00000000..e525ba19 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_chaingun_ammocasing.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_disc.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_disc.dts new file mode 100644 index 00000000..0d8f50d1 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_disc.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_elf.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_elf.dts new file mode 100644 index 00000000..dd5081a8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_elf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_energy.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_energy.dts new file mode 100644 index 00000000..e08bf6fc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_energy.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_energy_vehicle.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_energy_vehicle.dts new file mode 100644 index 00000000..ca08ded6 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_energy_vehicle.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_grenade_launcher.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_grenade_launcher.dts new file mode 100644 index 00000000..c344cc22 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_grenade_launcher.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_missile.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_missile.dts new file mode 100644 index 00000000..ccd9e88b Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_missile.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_missile_casement.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_missile_casement.dts new file mode 100644 index 00000000..8dfebe95 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_missile_casement.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_missile_fleschette.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_missile_fleschette.dts new file mode 100644 index 00000000..35efaae9 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_missile_fleschette.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_missile_projectile.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_missile_projectile.dts new file mode 100644 index 00000000..6d18e797 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_missile_projectile.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_mortar.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_mortar.dts new file mode 100644 index 00000000..0db55616 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_mortar.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_plasma.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_plasma.dts new file mode 100644 index 00000000..46671d41 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_plasma.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_repair.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_repair.dts new file mode 100644 index 00000000..75ca3cb7 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_repair.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_shocklance.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_shocklance.dts new file mode 100644 index 00000000..30f03d71 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_shocklance.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_sniper.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_sniper.dts new file mode 100644 index 00000000..6d3c3799 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_sniper.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/weapon_targeting.dts b/public/base/@vl2/shapes.vl2/shapes/weapon_targeting.dts new file mode 100644 index 00000000..922fedb5 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/weapon_targeting.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/xmiscf.dts b/public/base/@vl2/shapes.vl2/shapes/xmiscf.dts new file mode 100644 index 00000000..786b7adc Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/xmiscf.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/xorg2.dts b/public/base/@vl2/shapes.vl2/shapes/xorg2.dts new file mode 100644 index 00000000..e69de29b diff --git a/public/base/@vl2/shapes.vl2/shapes/xorg20.dts b/public/base/@vl2/shapes.vl2/shapes/xorg20.dts new file mode 100644 index 00000000..829cbbb8 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/xorg20.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/xorg21.dts b/public/base/@vl2/shapes.vl2/shapes/xorg21.dts new file mode 100644 index 00000000..dd4212fb Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/xorg21.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/xorg3.dts b/public/base/@vl2/shapes.vl2/shapes/xorg3.dts new file mode 100644 index 00000000..964bce4a Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/xorg3.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/xorg4.dts b/public/base/@vl2/shapes.vl2/shapes/xorg4.dts new file mode 100644 index 00000000..1028be92 Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/xorg4.dts differ diff --git a/public/base/@vl2/shapes.vl2/shapes/xorg5.dts b/public/base/@vl2/shapes.vl2/shapes/xorg5.dts new file mode 100644 index 00000000..7b003eff Binary files /dev/null and b/public/base/@vl2/shapes.vl2/shapes/xorg5.dts differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/A7branch1.png b/public/base/@vl2/skins.vl2/textures/skins/A7branch1.png new file mode 100644 index 00000000..2a7ef4a5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/A7branch1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/A7trunk2.PNG b/public/base/@vl2/skins.vl2/textures/skins/A7trunk2.PNG new file mode 100644 index 00000000..14a0cef2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/A7trunk2.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/AgaritaFall.png b/public/base/@vl2/skins.vl2/textures/skins/AgaritaFall.png new file mode 100644 index 00000000..82a45ce6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/AgaritaFall.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/BBerryFall.png b/public/base/@vl2/skins.vl2/textures/skins/BBerryFall.png new file mode 100644 index 00000000..d97c76bc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/BBerryFall.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/BarrenSticksFall.png b/public/base/@vl2/skins.vl2/textures/skins/BarrenSticksFall.png new file mode 100644 index 00000000..ed9afc84 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/BarrenSticksFall.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Blue.hflag.png b/public/base/@vl2/skins.vl2/textures/skins/Blue.hflag.png new file mode 100644 index 00000000..20507a1a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Blue.hflag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Branch3.png b/public/base/@vl2/skins.vl2/textures/skins/Branch3.png new file mode 100644 index 00000000..52d2bae7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Branch3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Branch4.png b/public/base/@vl2/skins.vl2/textures/skins/Branch4.png new file mode 100644 index 00000000..62d6d7b9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Branch4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Branch5.png b/public/base/@vl2/skins.vl2/textures/skins/Branch5.png new file mode 100644 index 00000000..e0b567dd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Branch5.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Burntwood.png b/public/base/@vl2/skins.vl2/textures/skins/Burntwood.png new file mode 100644 index 00000000..ace90ac8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Burntwood.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/BurntwoodBranch.png b/public/base/@vl2/skins.vl2/textures/skins/BurntwoodBranch.png new file mode 100644 index 00000000..51eab973 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/BurntwoodBranch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ChkBerryWinter.png b/public/base/@vl2/skins.vl2/textures/skins/ChkBerryWinter.png new file mode 100644 index 00000000..27f1e45e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ChkBerryWinter.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0000.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0000.png new file mode 100644 index 00000000..e5daf26d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0000.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0001.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0001.png new file mode 100644 index 00000000..f5fbeedb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0001.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0002.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0002.png new file mode 100644 index 00000000..0e64be41 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0002.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0003.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0003.png new file mode 100644 index 00000000..045edf36 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0003.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0004.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0004.png new file mode 100644 index 00000000..e849a640 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0004.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0005.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0005.png new file mode 100644 index 00000000..5e6b2dc1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0005.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0006.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0006.png new file mode 100644 index 00000000..d34bed7e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0006.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0007.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0007.png new file mode 100644 index 00000000..204c4067 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0007.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0008.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0008.png new file mode 100644 index 00000000..de9b0703 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0008.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0009.png b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0009.png new file mode 100644 index 00000000..4e34c9af Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Enrgtubes0009.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Green.hflag.png b/public/base/@vl2/skins.vl2/textures/skins/Green.hflag.png new file mode 100644 index 00000000..62f4e4db Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Green.hflag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/HorseNettleFall.png b/public/base/@vl2/skins.vl2/textures/skins/HorseNettleFall.png new file mode 100644 index 00000000..e5d1e338 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/HorseNettleFall.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Humnskn3.PNG b/public/base/@vl2/skins.vl2/textures/skins/Humnskn3.PNG new file mode 100644 index 00000000..ed850cf3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Humnskn3.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/LushMoss.png b/public/base/@vl2/skins.vl2/textures/skins/LushMoss.png new file mode 100644 index 00000000..9b27202f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/LushMoss.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MadroneBark.png b/public/base/@vl2/skins.vl2/textures/skins/MadroneBark.png new file mode 100644 index 00000000..cc79c691 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MadroneBark.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MadroneFall.png b/public/base/@vl2/skins.vl2/textures/skins/MadroneFall.png new file mode 100644 index 00000000..13d04d2a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MadroneFall.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MadroneFoliage.png b/public/base/@vl2/skins.vl2/textures/skins/MadroneFoliage.png new file mode 100644 index 00000000..76b2f4fc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MadroneFoliage.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MadroneWinter.png b/public/base/@vl2/skins.vl2/textures/skins/MadroneWinter.png new file mode 100644 index 00000000..8f350c90 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MadroneWinter.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Maple Shrub.png b/public/base/@vl2/skins.vl2/textures/skins/Maple Shrub.png new file mode 100644 index 00000000..3526996e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Maple Shrub.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MesqBark.png b/public/base/@vl2/skins.vl2/textures/skins/MesqBark.png new file mode 100644 index 00000000..97655b4d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MesqBark.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MesquiteBranch.png b/public/base/@vl2/skins.vl2/textures/skins/MesquiteBranch.png new file mode 100644 index 00000000..5d9f482e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MesquiteBranch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MesquiteLeaves.png b/public/base/@vl2/skins.vl2/textures/skins/MesquiteLeaves.png new file mode 100644 index 00000000..af72ad82 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MesquiteLeaves.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Mortar_Projectile.png b/public/base/@vl2/skins.vl2/textures/skins/Mortar_Projectile.png new file mode 100644 index 00000000..0a17a473 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Mortar_Projectile.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/MotionSensor.png b/public/base/@vl2/skins.vl2/textures/skins/MotionSensor.png new file mode 100644 index 00000000..76c67cca Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/MotionSensor.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/NewMoss.png b/public/base/@vl2/skins.vl2/textures/skins/NewMoss.png new file mode 100644 index 00000000..024a603e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/NewMoss.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/NewMossFull.png b/public/base/@vl2/skins.vl2/textures/skins/NewMossFull.png new file mode 100644 index 00000000..26576612 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/NewMossFull.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/NexDefaultFloor.png b/public/base/@vl2/skins.vl2/textures/skins/NexDefaultFloor.png new file mode 100644 index 00000000..c00ee254 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/NexDefaultFloor.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/NexHoardFloor.png b/public/base/@vl2/skins.vl2/textures/skins/NexHoardFloor.png new file mode 100644 index 00000000..314f3ebe Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/NexHoardFloor.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/NexusGenerator.png b/public/base/@vl2/skins.vl2/textures/skins/NexusGenerator.png new file mode 100644 index 00000000..28d597aa Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/NexusGenerator.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/NexusPowerLightsON.png b/public/base/@vl2/skins.vl2/textures/skins/NexusPowerLightsON.png new file mode 100644 index 00000000..854143c0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/NexusPowerLightsON.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Oldwood.png b/public/base/@vl2/skins.vl2/textures/skins/Oldwood.png new file mode 100644 index 00000000..201e5a56 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Oldwood.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/OldwoodBranch.png b/public/base/@vl2/skins.vl2/textures/skins/OldwoodBranch.png new file mode 100644 index 00000000..48b0017f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/OldwoodBranch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre00.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre00.png new file mode 100644 index 00000000..39554aa3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre01.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre01.png new file mode 100644 index 00000000..6ca43c26 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre02.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre02.png new file mode 100644 index 00000000..780e6c5c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre03.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre03.png new file mode 100644 index 00000000..a33def17 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre04.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre04.png new file mode 100644 index 00000000..1f0c238b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre05.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre05.png new file mode 100644 index 00000000..320939a6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre06.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre06.png new file mode 100644 index 00000000..1f719ba1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre07.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre07.png new file mode 100644 index 00000000..69f54696 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre08.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre08.png new file mode 100644 index 00000000..8f88bcbe Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre09.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre09.png new file mode 100644 index 00000000..d955db51 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre09.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre10.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre10.png new file mode 100644 index 00000000..8e903800 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre10.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre11.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre11.png new file mode 100644 index 00000000..adefa9eb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre11.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre12.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre12.png new file mode 100644 index 00000000..a7e1b076 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre12.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre13.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre13.png new file mode 100644 index 00000000..af1b1720 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre13.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre14.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre14.png new file mode 100644 index 00000000..4cd8dfb8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre14.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre15.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre15.png new file mode 100644 index 00000000..425c9c02 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre15.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre16.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre16.png new file mode 100644 index 00000000..ff13800f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre16.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre17.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre17.png new file mode 100644 index 00000000..8b79cce2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre17.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre18.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre18.png new file mode 100644 index 00000000..23bfbc85 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre18.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre19.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre19.png new file mode 100644 index 00000000..4ec94bc5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre19.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre20.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre20.png new file mode 100644 index 00000000..6d5a077e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre20.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre21.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre21.png new file mode 100644 index 00000000..41544867 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre21.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Plsre22.png b/public/base/@vl2/skins.vl2/textures/skins/Plsre22.png new file mode 100644 index 00000000..679c1ba8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Plsre22.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/PonderosaPineBark.png b/public/base/@vl2/skins.vl2/textures/skins/PonderosaPineBark.png new file mode 100644 index 00000000..f6befc64 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/PonderosaPineBark.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse00.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse00.png new file mode 100644 index 00000000..a1ba1a0f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse01.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse01.png new file mode 100644 index 00000000..3ae58213 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse02.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse02.png new file mode 100644 index 00000000..0da74169 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse03.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse03.png new file mode 100644 index 00000000..dbcbc8d4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse04.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse04.png new file mode 100644 index 00000000..49c8d475 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse05.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse05.png new file mode 100644 index 00000000..f3313307 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse06.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse06.png new file mode 100644 index 00000000..97beed7a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse07.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse07.png new file mode 100644 index 00000000..7981ac79 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Pulse08.png b/public/base/@vl2/skins.vl2/textures/skins/Pulse08.png new file mode 100644 index 00000000..30d632e0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Pulse08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Rabbit BushWin.png b/public/base/@vl2/skins.vl2/textures/skins/Rabbit BushWin.png new file mode 100644 index 00000000..c501f677 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Rabbit BushWin.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/RabbitBush.png b/public/base/@vl2/skins.vl2/textures/skins/RabbitBush.png new file mode 100644 index 00000000..70f0347b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/RabbitBush.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/SBerryFall.png b/public/base/@vl2/skins.vl2/textures/skins/SBerryFall.png new file mode 100644 index 00000000..b3f502ab Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/SBerryFall.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ScotchBroom.png b/public/base/@vl2/skins.vl2/textures/skins/ScotchBroom.png new file mode 100644 index 00000000..e4f49352 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ScotchBroom.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Scout_windshield.png b/public/base/@vl2/skins.vl2/textures/skins/Scout_windshield.png new file mode 100644 index 00000000..bbf8edd3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Scout_windshield.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ShieldPackActivate.png b/public/base/@vl2/skins.vl2/textures/skins/ShieldPackActivate.png new file mode 100644 index 00000000..ac3f15ad Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ShieldPackActivate.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ShieldPackAmbient.png b/public/base/@vl2/skins.vl2/textures/skins/ShieldPackAmbient.png new file mode 100644 index 00000000..51583833 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ShieldPackAmbient.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/SnowBlanket.png b/public/base/@vl2/skins.vl2/textures/skins/SnowBlanket.png new file mode 100644 index 00000000..f3078273 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/SnowBlanket.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_Wheel.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_Wheel.png new file mode 100644 index 00000000..f85b0c99 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_Wheel.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodyMain.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodyMain.png new file mode 100644 index 00000000..6b949bc8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodyMain.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodySide1.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodySide1.png new file mode 100644 index 00000000..577160b6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodySide1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodySide2.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodySide2.png new file mode 100644 index 00000000..8dfeb18d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_Land_Assault_bodySide2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout.png new file mode 100644 index 00000000..22094fe0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_pipes.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_pipes.png new file mode 100644 index 00000000..9c109f5f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_pipes.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_windshield.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_windshield.png new file mode 100644 index 00000000..20439134 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_windshield.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_windshieldInner.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_windshieldInner.png new file mode 100644 index 00000000..1bebcf0f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_scout_windshieldInner.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_tank_bodyMain.png b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_tank_bodyMain.png new file mode 100644 index 00000000..3f8339c6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Vehicle_grav_tank_bodyMain.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Weapon_missile_projectile.png b/public/base/@vl2/skins.vl2/textures/skins/Weapon_missile_projectile.png new file mode 100644 index 00000000..93f52786 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Weapon_missile_projectile.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/WinMapShrubart.png b/public/base/@vl2/skins.vl2/textures/skins/WinMapShrubart.png new file mode 100644 index 00000000..fe65217d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/WinMapShrubart.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/WinRhody.png b/public/base/@vl2/skins.vl2/textures/skins/WinRhody.png new file mode 100644 index 00000000..10cbb25b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/WinRhody.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/WinScotchArt.png b/public/base/@vl2/skins.vl2/textures/skins/WinScotchArt.png new file mode 100644 index 00000000..26b68b7e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/WinScotchArt.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/Yellow.hflag.png b/public/base/@vl2/skins.vl2/textures/skins/Yellow.hflag.png new file mode 100644 index 00000000..093c2a78 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/Yellow.hflag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/a.hbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/a.hbioderm_512.png new file mode 100644 index 00000000..8baa40b4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/a.hbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/a.hrobot_512.png b/public/base/@vl2/skins.vl2/textures/skins/a.hrobot_512.png new file mode 100644 index 00000000..82865993 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/a.hrobot_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/a.lbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/a.lbioderm_512.png new file mode 100644 index 00000000..62f67b12 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/a.lbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/a.lrobot_512.png b/public/base/@vl2/skins.vl2/textures/skins/a.lrobot_512.png new file mode 100644 index 00000000..2b418116 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/a.lrobot_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/a.mbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/a.mbioderm_512.png new file mode 100644 index 00000000..c6d11cbf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/a.mbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/a.mrobot_512.png b/public/base/@vl2/skins.vl2/textures/skins/a.mrobot_512.png new file mode 100644 index 00000000..f15ba9be Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/a.mrobot_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/alienfirxbase2.PNG b/public/base/@vl2/skins.vl2/textures/skins/alienfirxbase2.PNG new file mode 100644 index 00000000..bf1dc6cb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/alienfirxbase2.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ammo_chaingun.png b/public/base/@vl2/skins.vl2/textures/skins/ammo_chaingun.png new file mode 100644 index 00000000..a937db09 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ammo_chaingun.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ammo_disc.png b/public/base/@vl2/skins.vl2/textures/skins/ammo_disc.png new file mode 100644 index 00000000..3629eb0b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ammo_disc.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ammo_grenade.png b/public/base/@vl2/skins.vl2/textures/skins/ammo_grenade.png new file mode 100644 index 00000000..c1df1e4b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ammo_grenade.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ammo_mine.png b/public/base/@vl2/skins.vl2/textures/skins/ammo_mine.png new file mode 100644 index 00000000..aa3dc588 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ammo_mine.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ammo_mortar.png b/public/base/@vl2/skins.vl2/textures/skins/ammo_mortar.png new file mode 100644 index 00000000..f76f8344 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ammo_mortar.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ammo_plasma.png b/public/base/@vl2/skins.vl2/textures/skins/ammo_plasma.png new file mode 100644 index 00000000..8d2ff034 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ammo_plasma.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/armor.damage.1.png b/public/base/@vl2/skins.vl2/textures/skins/armor.damage.1.png new file mode 100644 index 00000000..4b9ff281 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/armor.damage.1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/armor.damage.2.png b/public/base/@vl2/skins.vl2/textures/skins/armor.damage.2.png new file mode 100644 index 00000000..31f65331 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/armor.damage.2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/armor.damage.3.png b/public/base/@vl2/skins.vl2/textures/skins/armor.damage.3.png new file mode 100644 index 00000000..6ff4dcde Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/armor.damage.3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/artists.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/artists.plaque.png new file mode 100644 index 00000000..fb5d0804 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/artists.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/b.hbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/b.hbioderm_512.png new file mode 100644 index 00000000..f80c7701 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/b.hbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/b.hrobot_512.png b/public/base/@vl2/skins.vl2/textures/skins/b.hrobot_512.png new file mode 100644 index 00000000..bf32f9bf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/b.hrobot_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/b.lbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/b.lbioderm_512.png new file mode 100644 index 00000000..bc69d681 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/b.lbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/b.lrobot_512.png b/public/base/@vl2/skins.vl2/textures/skins/b.lrobot_512.png new file mode 100644 index 00000000..cb629275 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/b.lrobot_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/b.mbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/b.mbioderm_512.png new file mode 100644 index 00000000..6a73c911 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/b.mbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/b.mrobot_512.png b/public/base/@vl2/skins.vl2/textures/skins/b.mrobot_512.png new file mode 100644 index 00000000..e17097b5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/b.mrobot_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/banner_honor.png b/public/base/@vl2/skins.vl2/textures/skins/banner_honor.png new file mode 100644 index 00000000..20bc139a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/banner_honor.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/banner_strength.png b/public/base/@vl2/skins.vl2/textures/skins/banner_strength.png new file mode 100644 index 00000000..29d0922f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/banner_strength.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/banner_unity.png b/public/base/@vl2/skins.vl2/textures/skins/banner_unity.png new file mode 100644 index 00000000..e6b97f2d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/banner_unity.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/barrelMount.png b/public/base/@vl2/skins.vl2/textures/skins/barrelMount.png new file mode 100644 index 00000000..d01c44e7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/barrelMount.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/barrel_aa_large.png b/public/base/@vl2/skins.vl2/textures/skins/barrel_aa_large.png new file mode 100644 index 00000000..bf92a832 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/barrel_aa_large.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/barrel_elf_large.png b/public/base/@vl2/skins.vl2/textures/skins/barrel_elf_large.png new file mode 100644 index 00000000..eb6d4622 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/barrel_elf_large.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/barrel_fusion_large.png b/public/base/@vl2/skins.vl2/textures/skins/barrel_fusion_large.png new file mode 100644 index 00000000..27a3a1ca Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/barrel_fusion_large.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/barrel_missile_large.png b/public/base/@vl2/skins.vl2/textures/skins/barrel_missile_large.png new file mode 100644 index 00000000..9badb93c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/barrel_missile_large.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/barrel_mortar_large.png b/public/base/@vl2/skins.vl2/textures/skins/barrel_mortar_large.png new file mode 100644 index 00000000..d448266d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/barrel_mortar_large.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.flag.png b/public/base/@vl2/skins.vl2/textures/skins/base.flag.png new file mode 100644 index 00000000..3f6505e8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.hbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/base.hbioderm.png new file mode 100644 index 00000000..fa684e46 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.hbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.hbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/base.hbioderm_512.png new file mode 100644 index 00000000..c844dd9e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.hbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.hflag.png b/public/base/@vl2/skins.vl2/textures/skins/base.hflag.png new file mode 100644 index 00000000..4153fde9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.hflag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/base.hmale.png new file mode 100644 index 00000000..a61b3f21 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.lbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/base.lbioderm.png new file mode 100644 index 00000000..766c44a4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.lbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.lbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/base.lbioderm_512.png new file mode 100644 index 00000000..9093bba5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.lbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.lfemale.png b/public/base/@vl2/skins.vl2/textures/skins/base.lfemale.png new file mode 100644 index 00000000..bf8807b7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.lfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/base.lmale.png new file mode 100644 index 00000000..268e1cd8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.mbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/base.mbioderm.png new file mode 100644 index 00000000..7b74b76e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.mbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.mbioderm_512.png b/public/base/@vl2/skins.vl2/textures/skins/base.mbioderm_512.png new file mode 100644 index 00000000..80a73cab Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.mbioderm_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.mfemale.png b/public/base/@vl2/skins.vl2/textures/skins/base.mfemale.png new file mode 100644 index 00000000..62b314ed Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.mfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/base.mmale.png new file mode 100644 index 00000000..0d8bec55 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/base.switch.png b/public/base/@vl2/skins.vl2/textures/skins/base.switch.png new file mode 100644 index 00000000..dd1e16ed Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/base.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.flag.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.flag.png new file mode 100644 index 00000000..09103d81 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.hbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.hbioderm.png new file mode 100644 index 00000000..1caa8dd7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.hbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.hmale.png new file mode 100644 index 00000000..afd3d45b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.lbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.lbioderm.png new file mode 100644 index 00000000..781369ca Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.lbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.lfemale.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.lfemale.png new file mode 100644 index 00000000..6ca02a56 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.lfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.lmale.png new file mode 100644 index 00000000..d40f58e7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.mbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.mbioderm.png new file mode 100644 index 00000000..17dd0f70 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.mbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.mfemale.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.mfemale.png new file mode 100644 index 00000000..ae4cff0b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.mfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.mmale.png new file mode 100644 index 00000000..8f16eb0b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/baseb.switch.png b/public/base/@vl2/skins.vl2/textures/skins/baseb.switch.png new file mode 100644 index 00000000..bdaca05f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/baseb.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/basebbot.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/basebbot.hmale.png new file mode 100644 index 00000000..3db3b7ce Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/basebbot.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/basebbot.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/basebbot.lmale.png new file mode 100644 index 00000000..629dc9ba Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/basebbot.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/basebbot.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/basebbot.mmale.png new file mode 100644 index 00000000..9cd7ef97 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/basebbot.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/basebot.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/basebot.hmale.png new file mode 100644 index 00000000..12394a8c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/basebot.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/basebot.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/basebot.lmale.png new file mode 100644 index 00000000..0b876523 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/basebot.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/basebot.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/basebot.mmale.png new file mode 100644 index 00000000..1105ca12 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/basebot.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beacon.png b/public/base/@vl2/skins.vl2/textures/skins/beacon.png new file mode 100644 index 00000000..0606b679 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beacon.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.flag.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.flag.png new file mode 100644 index 00000000..bf25e50a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.hmale.png new file mode 100644 index 00000000..2bf168a1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.hmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.hmale_512.png new file mode 100644 index 00000000..82f8e88f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.hmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.lfemale.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.lfemale.png new file mode 100644 index 00000000..8fa7c32a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.lfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.lfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.lfemale_512.png new file mode 100644 index 00000000..5e7514c9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.lfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.lmale.png new file mode 100644 index 00000000..80836c2c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.lmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.lmale_512.png new file mode 100644 index 00000000..6c0ddaed Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.lmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.mfemale.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.mfemale.png new file mode 100644 index 00000000..909c8c62 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.mfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.mfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.mfemale_512.png new file mode 100644 index 00000000..16ca9342 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.mfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.mmale.png new file mode 100644 index 00000000..cc6b0f49 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.mmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.mmale_512.png new file mode 100644 index 00000000..6177f621 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.mmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beagle.switch.png b/public/base/@vl2/skins.vl2/textures/skins/beagle.switch.png new file mode 100644 index 00000000..9ed617f2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beagle.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/beampulse.png b/public/base/@vl2/skins.vl2/textures/skins/beampulse.png new file mode 100644 index 00000000..405700b0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/beampulse.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bigdevdawg.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/bigdevdawg.plaque.png new file mode 100644 index 00000000..c2345188 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bigdevdawg.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blank.switch.png b/public/base/@vl2/skins.vl2/textures/skins/blank.switch.png new file mode 100644 index 00000000..9724e1a1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blank.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blite00.png b/public/base/@vl2/skins.vl2/textures/skins/blite00.png new file mode 100644 index 00000000..ab665261 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blite00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blite01.PNG b/public/base/@vl2/skins.vl2/textures/skins/blite01.PNG new file mode 100644 index 00000000..fd06c977 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blite01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blite02.png b/public/base/@vl2/skins.vl2/textures/skins/blite02.png new file mode 100644 index 00000000..fd06c977 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blite02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blite03.png b/public/base/@vl2/skins.vl2/textures/skins/blite03.png new file mode 100644 index 00000000..51c9368d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blite03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blite04.png b/public/base/@vl2/skins.vl2/textures/skins/blite04.png new file mode 100644 index 00000000..14a61912 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blite04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue.png b/public/base/@vl2/skins.vl2/textures/skins/blue.png new file mode 100644 index 00000000..02ed02cd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue00.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue00.PNG new file mode 100644 index 00000000..e673d891 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue00.ifl b/public/base/@vl2/skins.vl2/textures/skins/blue00.ifl new file mode 100644 index 00000000..8d8613ae --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/blue00.ifl @@ -0,0 +1,5 @@ +blue00.PNG 10 +blue01.PNG 4 +blue02.PNG 4 +blue03.PNG 3 +blue04.PNG 20 diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue01.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue01.PNG new file mode 100644 index 00000000..e7dddb7f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue02.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue02.PNG new file mode 100644 index 00000000..edeb35de Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue03.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue03.PNG new file mode 100644 index 00000000..1690307d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue04.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue04.PNG new file mode 100644 index 00000000..ffbeb14a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink.ifl b/public/base/@vl2/skins.vl2/textures/skins/blue_blink.ifl new file mode 100644 index 00000000..6cc92a6e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/blue_blink.ifl @@ -0,0 +1,9 @@ +blue_blink0.PNG 120 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink0.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue_blink0.PNG new file mode 100644 index 00000000..1ab384e9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue_blink0.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink0.ifl b/public/base/@vl2/skins.vl2/textures/skins/blue_blink0.ifl new file mode 100644 index 00000000..3fc4fc1c --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/blue_blink0.ifl @@ -0,0 +1,189 @@ +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + +blue_blink0.PNG 5 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink1.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue_blink1.PNG new file mode 100644 index 00000000..5c16e387 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue_blink1.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink2.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue_blink2.PNG new file mode 100644 index 00000000..4f6a4974 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue_blink2.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink3.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue_blink3.PNG new file mode 100644 index 00000000..6f186360 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue_blink3.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/blue_blink4.PNG b/public/base/@vl2/skins.vl2/textures/skins/blue_blink4.PNG new file mode 100644 index 00000000..a8fcc2e8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/blue_blink4.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/borg1.png b/public/base/@vl2/skins.vl2/textures/skins/borg1.png new file mode 100644 index 00000000..627d4934 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/borg1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/borg2.png b/public/base/@vl2/skins.vl2/textures/skins/borg2.png new file mode 100644 index 00000000..c09e74e6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/borg2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/borg4.png b/public/base/@vl2/skins.vl2/textures/skins/borg4.png new file mode 100644 index 00000000..e6dd76c6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/borg4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/borg6.png b/public/base/@vl2/skins.vl2/textures/skins/borg6.png new file mode 100644 index 00000000..7dcb6c34 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/borg6.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/brush.PNG b/public/base/@vl2/skins.vl2/textures/skins/brush.PNG new file mode 100644 index 00000000..d270b73e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/brush.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bullethole1.png b/public/base/@vl2/skins.vl2/textures/skins/bullethole1.png new file mode 100644 index 00000000..345bd863 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bullethole1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bullethole2.png b/public/base/@vl2/skins.vl2/textures/skins/bullethole2.png new file mode 100644 index 00000000..44f1ac37 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bullethole2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bullethole3.png b/public/base/@vl2/skins.vl2/textures/skins/bullethole3.png new file mode 100644 index 00000000..aed5eac6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bullethole3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bullethole4.png b/public/base/@vl2/skins.vl2/textures/skins/bullethole4.png new file mode 100644 index 00000000..6bfa5850 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bullethole4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bullethole5.png b/public/base/@vl2/skins.vl2/textures/skins/bullethole5.png new file mode 100644 index 00000000..fc7c5198 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bullethole5.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/bullethole6.png b/public/base/@vl2/skins.vl2/textures/skins/bullethole6.png new file mode 100644 index 00000000..f4baa609 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/bullethole6.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cactus.png b/public/base/@vl2/skins.vl2/textures/skins/cactus.png new file mode 100644 index 00000000..b214baf3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cactus.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/camera.png b/public/base/@vl2/skins.vl2/textures/skins/camera.png new file mode 100644 index 00000000..417b81cd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/camera.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/chaingun_shot_end.png b/public/base/@vl2/skins.vl2/textures/skins/chaingun_shot_end.png new file mode 100644 index 00000000..3c656358 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/chaingun_shot_end.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/chaingun_shot_side.png b/public/base/@vl2/skins.vl2/textures/skins/chaingun_shot_side.png new file mode 100644 index 00000000..9a4d1791 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/chaingun_shot_side.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/chg_fmzl.png b/public/base/@vl2/skins.vl2/textures/skins/chg_fmzl.png new file mode 100644 index 00000000..adf02db8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/chg_fmzl.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/chg_smzl.png b/public/base/@vl2/skins.vl2/textures/skins/chg_smzl.png new file mode 100644 index 00000000..a283822a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/chg_smzl.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/chgexhaust.ifl b/public/base/@vl2/skins.vl2/textures/skins/chgexhaust.ifl new file mode 100644 index 00000000..c5adff92 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/chgexhaust.ifl @@ -0,0 +1,26 @@ +chgex24.PNG 41 +chgex00.PNG 1 +chgex01.PNG 1 +chgex02.PNG 1 +chgex03.PNG 1 +chgex04.PNG 1 +chgex05.PNG 1 +chgex06.PNG 1 +chgex07.PNG 1 +chgex08.PNG 1 +chgex09.PNG 1 +chgex10.PNG 1 +chgex11.PNG 1 +chgex12.PNG 1 +chgex13.PNG 1 +chgex14.PNG 1 +chgex15.PNG 1 +chgex16.PNG 1 +chgex17.PNG 1 +chgex18.PNG 1 +chgex19.PNG 1 +chgex20.PNG 1 +chgex21.PNG 1 +chgex22.PNG 1 +chgex23.PNG 1 +chgex24.PNG 60 diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core.ifl b/public/base/@vl2/skins.vl2/textures/skins/cloak_core.ifl new file mode 100644 index 00000000..e1659d8f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/cloak_core.ifl @@ -0,0 +1,20 @@ +cloak_core0000.png 1 +cloak_core0001.png 1 +cloak_core0002.png 1 +cloak_core0003.png 1 +cloak_core0004.png 1 +cloak_core0005.png 1 +cloak_core0006.png 1 +cloak_core0007.png 1 +cloak_core0008.png 1 +cloak_core0009.png 1 +cloak_core0010.png 1 +cloak_core0011.png 1 +cloak_core0012.png 1 +cloak_core0013.png 1 +cloak_core0014.png 1 +cloak_core0015.png 1 +cloak_core0016.png 1 +cloak_core0017.png 1 +cloak_core0018.png 1 +cloak_core0019.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0000.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0000.png new file mode 100644 index 00000000..9c392d27 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0000.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0001.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0001.png new file mode 100644 index 00000000..6363d918 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0001.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0002.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0002.png new file mode 100644 index 00000000..ffce6558 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0002.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0003.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0003.png new file mode 100644 index 00000000..233e082d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0003.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0004.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0004.png new file mode 100644 index 00000000..cc1f912f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0004.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0005.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0005.png new file mode 100644 index 00000000..e20aa2e0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0005.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0006.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0006.png new file mode 100644 index 00000000..97e98482 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0006.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0007.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0007.png new file mode 100644 index 00000000..82c19137 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0007.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0008.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0008.png new file mode 100644 index 00000000..e5a945b8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0008.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0009.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0009.png new file mode 100644 index 00000000..b90ecb17 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0009.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0010.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0010.png new file mode 100644 index 00000000..4d24ce5e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0010.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0011.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0011.png new file mode 100644 index 00000000..ad78c94d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0011.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0012.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0012.png new file mode 100644 index 00000000..8e5f357d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0012.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0013.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0013.png new file mode 100644 index 00000000..de3f1314 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0013.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0014.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0014.png new file mode 100644 index 00000000..12aad439 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0014.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0015.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0015.png new file mode 100644 index 00000000..0d04e610 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0015.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0016.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0016.png new file mode 100644 index 00000000..d7b46a0f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0016.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0017.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0017.png new file mode 100644 index 00000000..f0310242 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0017.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0018.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0018.png new file mode 100644 index 00000000..f0310242 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0018.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cloak_core0019.png b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0019.png new file mode 100644 index 00000000..f0310242 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cloak_core0019.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.flag.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.flag.png new file mode 100644 index 00000000..bfc2292e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.hmale.png new file mode 100644 index 00000000..601ce3b3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.lfemale.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.lfemale.png new file mode 100644 index 00000000..e67f4f3d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.lfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.lmale.png new file mode 100644 index 00000000..e30f739f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.mfemale.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.mfemale.png new file mode 100644 index 00000000..a1e5aca1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.mfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.mmale.png new file mode 100644 index 00000000..492415a7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp.switch.png b/public/base/@vl2/skins.vl2/textures/skins/cotp.switch.png new file mode 100644 index 00000000..c8e95fb8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp_hmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/cotp_hmale_512.png new file mode 100644 index 00000000..5b3f546b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp_hmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp_lfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/cotp_lfemale_512.png new file mode 100644 index 00000000..6dcbf703 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp_lfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp_lmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/cotp_lmale_512.png new file mode 100644 index 00000000..14b170da Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp_lmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp_mfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/cotp_mfemale_512.png new file mode 100644 index 00000000..e5465584 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp_mfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/cotp_mmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/cotp_mmale_512.png new file mode 100644 index 00000000..62843cfc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/cotp_mmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase00.PNG b/public/base/@vl2/skins.vl2/textures/skins/dcase00.PNG new file mode 100644 index 00000000..f0ad3b05 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dcase00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase00.ifl b/public/base/@vl2/skins.vl2/textures/skins/dcase00.ifl new file mode 100644 index 00000000..fdbc1e0e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/dcase00.ifl @@ -0,0 +1,6 @@ +dcase00.PNG 21 +dcase01.PNG 1 +dcase02.PNG 1 +dcase03.PNG 1 +dcase04.PNG 1 +dcase05.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase01.PNG b/public/base/@vl2/skins.vl2/textures/skins/dcase01.PNG new file mode 100644 index 00000000..6ba08c5d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dcase01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase02.PNG b/public/base/@vl2/skins.vl2/textures/skins/dcase02.PNG new file mode 100644 index 00000000..8a8cef17 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dcase02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase03.PNG b/public/base/@vl2/skins.vl2/textures/skins/dcase03.PNG new file mode 100644 index 00000000..c05db0ee Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dcase03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase04.PNG b/public/base/@vl2/skins.vl2/textures/skins/dcase04.PNG new file mode 100644 index 00000000..73b1e625 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dcase04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dcase05.PNG b/public/base/@vl2/skins.vl2/textures/skins/dcase05.PNG new file mode 100644 index 00000000..de789b88 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dcase05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb01.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb01.PNG new file mode 100644 index 00000000..69499424 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb01.ifl b/public/base/@vl2/skins.vl2/textures/skins/deb01.ifl new file mode 100644 index 00000000..1ffaa3c4 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/deb01.ifl @@ -0,0 +1,35 @@ +deb01.PNG 1 +deb02.PNG 1 +deb03.PNG 1 +deb04.PNG 1 +deb05.PNG 1 +deb06.PNG 1 +deb07.PNG 1 +deb08.PNG 1 +deb09.PNG 1 +deb10.PNG 1 +deb11.PNG 1 +deb12.PNG 1 +deb13.PNG 1 +deb14.PNG 1 +deb15.PNG 1 +deb16.PNG 1 +deb17.PNG 1 +deb18.PNG 1 +deb19.PNG 1 +deb20.PNG 1 +deb21.PNG 1 +deb22.PNG 1 +deb23.PNG 1 +deb24.PNG 1 +deb25.PNG 1 +deb26.PNG 1 +deb27.PNG 1 +deb28.PNG 1 +deb29.PNG 1 +deb30.PNG 1 +deb31.PNG 1 +deb32.PNG 1 +deb33.PNG 1 +deb34.PNG 10 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb02.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb02.PNG new file mode 100644 index 00000000..0726661f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb03.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb03.PNG new file mode 100644 index 00000000..383f0a54 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb04.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb04.PNG new file mode 100644 index 00000000..048d0137 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb05.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb05.PNG new file mode 100644 index 00000000..2d3e4af0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb06.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb06.PNG new file mode 100644 index 00000000..222058a3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb06.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb07.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb07.PNG new file mode 100644 index 00000000..f1dc074b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb07.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb08.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb08.PNG new file mode 100644 index 00000000..78a963e0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb08.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb09.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb09.PNG new file mode 100644 index 00000000..b9c41332 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb09.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb10.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb10.PNG new file mode 100644 index 00000000..9f6c1f0c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb10.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb11.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb11.PNG new file mode 100644 index 00000000..5aac32f0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb11.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb12.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb12.PNG new file mode 100644 index 00000000..5f8491c4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb12.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb13.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb13.PNG new file mode 100644 index 00000000..91b1dea2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb13.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb14.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb14.PNG new file mode 100644 index 00000000..f3b87543 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb14.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb15.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb15.PNG new file mode 100644 index 00000000..eb51dbdd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb15.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb16.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb16.PNG new file mode 100644 index 00000000..924c690d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb16.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb17.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb17.PNG new file mode 100644 index 00000000..80030f8d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb17.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb18.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb18.PNG new file mode 100644 index 00000000..a4cdf079 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb18.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb19.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb19.PNG new file mode 100644 index 00000000..2cfefa30 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb19.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb20.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb20.PNG new file mode 100644 index 00000000..9a1fdb82 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb20.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb21.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb21.PNG new file mode 100644 index 00000000..c35d7398 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb21.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb22.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb22.PNG new file mode 100644 index 00000000..e203bc9d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb22.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb23.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb23.PNG new file mode 100644 index 00000000..c34a51f4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb23.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb24.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb24.PNG new file mode 100644 index 00000000..c9ec166e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb24.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb25.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb25.PNG new file mode 100644 index 00000000..e1ae737c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb25.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb26.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb26.PNG new file mode 100644 index 00000000..72ef3612 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb26.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb27.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb27.PNG new file mode 100644 index 00000000..8583a7c9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb27.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb28.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb28.PNG new file mode 100644 index 00000000..5545b870 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb28.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb29.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb29.PNG new file mode 100644 index 00000000..cd9cdd6a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb29.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb30.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb30.PNG new file mode 100644 index 00000000..bc7cf176 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb30.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb31.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb31.PNG new file mode 100644 index 00000000..fd4bc3e5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb31.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb32.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb32.PNG new file mode 100644 index 00000000..7c26d05f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb32.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb33.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb33.PNG new file mode 100644 index 00000000..fa080719 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb33.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deb34.PNG b/public/base/@vl2/skins.vl2/textures/skins/deb34.PNG new file mode 100644 index 00000000..25397e58 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deb34.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/decoy.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/decoy.plaque.png new file mode 100644 index 00000000..03d3ea72 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/decoy.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deploy_inv_lite.ifl b/public/base/@vl2/skins.vl2/textures/skins/deploy_inv_lite.ifl new file mode 100644 index 00000000..aa6e4535 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/deploy_inv_lite.ifl @@ -0,0 +1,9 @@ +green_blink0.PNG 80 +green_blink1.PNG 1 +green_blink2.PNG 1 +green_blink3.PNG 1 +green_blink4.PNG 2 +green_blink3.PNG 1 +green_blink2.PNG 1 +green_blink1.PNG 1 +green_blink0.PNG 2 diff --git a/public/base/@vl2/skins.vl2/textures/skins/deploy_inventory_1.png b/public/base/@vl2/skins.vl2/textures/skins/deploy_inventory_1.png new file mode 100644 index 00000000..a5fb1c35 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deploy_inventory_1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deploy_inventory_2.png b/public/base/@vl2/skins.vl2/textures/skins/deploy_inventory_2.png new file mode 100644 index 00000000..0ca2d14e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deploy_inventory_2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/deploy_sensor_pulse.png b/public/base/@vl2/skins.vl2/textures/skins/deploy_sensor_pulse.png new file mode 100644 index 00000000..93f1b1ef Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/deploy_sensor_pulse.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/designers.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/designers.plaque.png new file mode 100644 index 00000000..75162de1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/designers.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/diamondback.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/diamondback.plaque.png new file mode 100644 index 00000000..16a6bcce Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/diamondback.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc00.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc00.PNG new file mode 100644 index 00000000..baf0f3ff Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc00.ifl b/public/base/@vl2/skins.vl2/textures/skins/disc00.ifl new file mode 100644 index 00000000..3204703b --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/disc00.ifl @@ -0,0 +1,28 @@ +disc00.PNG 1 +disc01.PNG 1 +disc02.PNG 1 +disc03.PNG 1 +disc04.PNG 1 +disc05.PNG 1 +disc06.PNG 1 +disc07.PNG 1 +disc08.PNG 1 +disc09.PNG 1 +disc10.PNG 1 +disc11.PNG 1 +disc12.PNG 1 +disc13.PNG 1 +disc14.PNG 1 +disc15.PNG 1 +disc16.PNG 1 +disc17.PNG 1 +disc18.PNG 1 +disc19.PNG 1 +disc20.PNG 1 +disc21.PNG 1 +disc22.PNG 1 +disc23.PNG 1 +disc24.PNG 1 +disc25.PNG 1 +disc26.PNG 1 +disc27.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc01.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc01.PNG new file mode 100644 index 00000000..9acc6783 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc02.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc02.PNG new file mode 100644 index 00000000..28ffb0f9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc03.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc03.PNG new file mode 100644 index 00000000..08d67a94 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc04.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc04.PNG new file mode 100644 index 00000000..70ccd77f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc05.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc05.PNG new file mode 100644 index 00000000..f92cd5fd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc06.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc06.PNG new file mode 100644 index 00000000..78702616 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc06.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc07.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc07.PNG new file mode 100644 index 00000000..5480a970 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc07.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc08.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc08.PNG new file mode 100644 index 00000000..2bb81760 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc08.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc09.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc09.PNG new file mode 100644 index 00000000..22663adb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc09.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc10.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc10.PNG new file mode 100644 index 00000000..aeff5dd5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc10.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc11.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc11.PNG new file mode 100644 index 00000000..5cae2be9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc11.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc12.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc12.PNG new file mode 100644 index 00000000..dd1ffc2c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc12.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc13.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc13.PNG new file mode 100644 index 00000000..ea20debb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc13.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc14.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc14.PNG new file mode 100644 index 00000000..28bf8dbe Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc14.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc15.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc15.PNG new file mode 100644 index 00000000..05b9e2d5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc15.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc16.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc16.PNG new file mode 100644 index 00000000..a79c83fb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc16.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc17.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc17.PNG new file mode 100644 index 00000000..b5d6e813 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc17.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc18.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc18.PNG new file mode 100644 index 00000000..f6363826 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc18.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc19.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc19.PNG new file mode 100644 index 00000000..6b08dd39 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc19.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc20.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc20.PNG new file mode 100644 index 00000000..cfa73041 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc20.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc21.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc21.PNG new file mode 100644 index 00000000..38c50966 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc21.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc22.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc22.PNG new file mode 100644 index 00000000..516eacb5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc22.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc23.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc23.PNG new file mode 100644 index 00000000..26ec6851 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc23.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc24.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc24.PNG new file mode 100644 index 00000000..4e772647 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc24.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc25.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc25.PNG new file mode 100644 index 00000000..ca14da78 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc25.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc26.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc26.PNG new file mode 100644 index 00000000..9a8e3933 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc26.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc27.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc27.PNG new file mode 100644 index 00000000..46c91e66 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc27.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/disc_muzzle.PNG b/public/base/@vl2/skins.vl2/textures/skins/disc_muzzle.PNG new file mode 100644 index 00000000..aa8a5e70 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/disc_muzzle.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/discshield2.png b/public/base/@vl2/skins.vl2/textures/skins/discshield2.png new file mode 100644 index 00000000..e0441de1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/discshield2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/drawkward.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/drawkward.plaque.png new file mode 100644 index 00000000..35cf6550 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/drawkward.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ds.hmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/ds.hmale_512.png new file mode 100644 index 00000000..4ab38c00 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ds.hmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ds.lfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/ds.lfemale_512.png new file mode 100644 index 00000000..8b794b6e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ds.lfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ds.lmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/ds.lmale_512.png new file mode 100644 index 00000000..6957d772 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ds.lmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ds.mfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/ds.mfemale_512.png new file mode 100644 index 00000000..606e691c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ds.mfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ds.mmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/ds.mmale_512.png new file mode 100644 index 00000000..3c4e7bf2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ds.mmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.flag.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.flag.png new file mode 100644 index 00000000..3679634f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.hmale.png new file mode 100644 index 00000000..0f4a7840 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.lfemale.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.lfemale.png new file mode 100644 index 00000000..019d5e27 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.lfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.lmale.png new file mode 100644 index 00000000..3fa49707 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.mfemale.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.mfemale.png new file mode 100644 index 00000000..c80f52aa Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.mfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.mmale.png new file mode 100644 index 00000000..068ef580 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/dsword.switch.png b/public/base/@vl2/skins.vl2/textures/skins/dsword.switch.png new file mode 100644 index 00000000..0715735e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/dsword.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/east.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/east.plaque.png new file mode 100644 index 00000000..ce2c9b05 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/east.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_blast.PNG b/public/base/@vl2/skins.vl2/textures/skins/energy_blast.PNG new file mode 100644 index 00000000..dd521ac5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energy_blast.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_blue_blink.ifl b/public/base/@vl2/skins.vl2/textures/skins/energy_blue_blink.ifl new file mode 100644 index 00000000..18ea9a1f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/energy_blue_blink.ifl @@ -0,0 +1,49 @@ +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + +blue_blink4.PNG 2 +blue_blink3.PNG 2 +blue_blink2.PNG 2 +blue_blink1.PNG 10 +blue_blink2.PNG 2 +blue_blink3.PNG 2 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_bolt.PNG b/public/base/@vl2/skins.vl2/textures/skins/energy_bolt.PNG new file mode 100644 index 00000000..fd45dab6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energy_bolt.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_bolt_aura.png b/public/base/@vl2/skins.vl2/textures/skins/energy_bolt_aura.png new file mode 100644 index 00000000..1afd4646 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energy_bolt_aura.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_bolt_front.png b/public/base/@vl2/skins.vl2/textures/skins/energy_bolt_front.png new file mode 100644 index 00000000..80efd5d0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energy_bolt_front.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_muzzle00.ifl b/public/base/@vl2/skins.vl2/textures/skins/energy_muzzle00.ifl new file mode 100644 index 00000000..8bb7916a --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/energy_muzzle00.ifl @@ -0,0 +1,8 @@ +enrg_frnt_muzl00.png 29 +enrg_frnt_muzl01.png 1 +enrg_frnt_muzl02.png 1 +enrg_frnt_muzl03.png 1 +enrg_frnt_muzl04.png 1 +enrg_frnt_muzl05.png 1 +enrg_frnt_muzl06.png 1 +enrg_frnt_muzl07.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/energy_side_muzzle00.ifl b/public/base/@vl2/skins.vl2/textures/skins/energy_side_muzzle00.ifl new file mode 100644 index 00000000..b8ec460b --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/energy_side_muzzle00.ifl @@ -0,0 +1,8 @@ +enrg_side_muzl00.png 29 +enrg_side_muzl01.png 1 +enrg_side_muzl02.png 1 +enrg_side_muzl03.png 1 +enrg_side_muzl04.png 1 +enrg_side_muzl05.png 1 +enrg_side_muzl06.png 1 +enrg_side_muzl07.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/energyb01.ifl b/public/base/@vl2/skins.vl2/textures/skins/energyb01.ifl new file mode 100644 index 00000000..7ebc409f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/energyb01.ifl @@ -0,0 +1,48 @@ +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 + +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 + +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 + +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 + +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 + +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 + +energyb01.png 2 +energyb02.png 2 +energyb03.png 2 +energyb04.png 10 +energyb03.png 2 +energyb02.png 2 diff --git a/public/base/@vl2/skins.vl2/textures/skins/energyb01.png b/public/base/@vl2/skins.vl2/textures/skins/energyb01.png new file mode 100644 index 00000000..5ba60527 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energyb01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energyb02.png b/public/base/@vl2/skins.vl2/textures/skins/energyb02.png new file mode 100644 index 00000000..2fba4406 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energyb02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energyb03.png b/public/base/@vl2/skins.vl2/textures/skins/energyb03.png new file mode 100644 index 00000000..0515be80 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energyb03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energyb04.png b/public/base/@vl2/skins.vl2/textures/skins/energyb04.png new file mode 100644 index 00000000..60d06944 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energyb04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energyb05.png b/public/base/@vl2/skins.vl2/textures/skins/energyb05.png new file mode 100644 index 00000000..9abbf298 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energyb05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0000.ifl b/public/base/@vl2/skins.vl2/textures/skins/energydis0000.ifl new file mode 100644 index 00000000..7895ed10 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/energydis0000.ifl @@ -0,0 +1,158 @@ +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + + +energydis0000.png 1 +energydis0001.png 1 +energydis0002.png 1 +energydis0003.png 2 +energydis0004.png 2 +energydis0005.png 2 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0000.png b/public/base/@vl2/skins.vl2/textures/skins/energydis0000.png new file mode 100644 index 00000000..31e4d027 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energydis0000.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0001.png b/public/base/@vl2/skins.vl2/textures/skins/energydis0001.png new file mode 100644 index 00000000..92d59323 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energydis0001.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0002.png b/public/base/@vl2/skins.vl2/textures/skins/energydis0002.png new file mode 100644 index 00000000..1880708f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energydis0002.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0003.png b/public/base/@vl2/skins.vl2/textures/skins/energydis0003.png new file mode 100644 index 00000000..1308c740 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energydis0003.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0004.png b/public/base/@vl2/skins.vl2/textures/skins/energydis0004.png new file mode 100644 index 00000000..d243a9dd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energydis0004.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/energydis0005.png b/public/base/@vl2/skins.vl2/textures/skins/energydis0005.png new file mode 100644 index 00000000..8679ec05 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/energydis0005.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl00.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl00.png new file mode 100644 index 00000000..45e38885 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl01.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl01.png new file mode 100644 index 00000000..125ac060 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl02.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl02.png new file mode 100644 index 00000000..aa1c951f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl03.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl03.png new file mode 100644 index 00000000..0e92ccb9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl04.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl04.png new file mode 100644 index 00000000..15f7314f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl05.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl05.png new file mode 100644 index 00000000..d165cf57 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl06.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl06.png new file mode 100644 index 00000000..314db40f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl07.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl07.png new file mode 100644 index 00000000..5de21296 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_frnt_muzl07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl00.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl00.png new file mode 100644 index 00000000..4fa9fa75 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl01.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl01.png new file mode 100644 index 00000000..c287c788 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl02.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl02.png new file mode 100644 index 00000000..d7323c72 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl03.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl03.png new file mode 100644 index 00000000..2a7299ea Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl04.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl04.png new file mode 100644 index 00000000..8ed7bac3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl05.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl05.png new file mode 100644 index 00000000..41a2effd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl06.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl06.png new file mode 100644 index 00000000..33c079a9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl07.png b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl07.png new file mode 100644 index 00000000..3dc933da Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrg_side_muzl07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0000.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0000.png new file mode 100644 index 00000000..fe2da27f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0000.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0001.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0001.png new file mode 100644 index 00000000..a71f9172 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0001.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0002.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0002.png new file mode 100644 index 00000000..04c20701 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0002.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0003.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0003.png new file mode 100644 index 00000000..699f3c48 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0003.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0004.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0004.png new file mode 100644 index 00000000..9bfdfe03 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0004.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0005.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0005.png new file mode 100644 index 00000000..4859ad07 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0005.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0006.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0006.png new file mode 100644 index 00000000..46f7381d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0006.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0007.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0007.png new file mode 100644 index 00000000..40a2a1c6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0007.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0008.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0008.png new file mode 100644 index 00000000..5622dd14 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0008.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgcore0009.png b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0009.png new file mode 100644 index 00000000..8477a7b1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/enrgcore0009.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgpack_core.ifl b/public/base/@vl2/skins.vl2/textures/skins/enrgpack_core.ifl new file mode 100644 index 00000000..f74ffea6 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/enrgpack_core.ifl @@ -0,0 +1,10 @@ +enrgcore0000.png 1 +enrgcore0001.png 1 +enrgcore0002.png 1 +enrgcore0003.png 1 +enrgcore0004.png 1 +enrgcore0005.png 1 +enrgcore0006.png 1 +enrgcore0007.png 1 +enrgcore0008.png 1 +enrgcore0009.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/enrgpack_tubes.ifl b/public/base/@vl2/skins.vl2/textures/skins/enrgpack_tubes.ifl new file mode 100644 index 00000000..96c05ef4 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/enrgpack_tubes.ifl @@ -0,0 +1,10 @@ +enrgtubes0000.png 1 +enrgtubes0001.png 1 +enrgtubes0002.png 1 +enrgtubes0003.png 1 +enrgtubes0004.png 1 +enrgtubes0005.png 1 +enrgtubes0006.png 1 +enrgtubes0007.png 1 +enrgtubes0008.png 1 +enrgtubes0009.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/etcmodel02.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/etcmodel02.plaque.png new file mode 100644 index 00000000..03be122d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/etcmodel02.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flag.png b/public/base/@vl2/skins.vl2/textures/skins/flag.png new file mode 100644 index 00000000..6bde34eb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaglight1.ifl b/public/base/@vl2/skins.vl2/textures/skins/flaglight1.ifl new file mode 100644 index 00000000..aa521cc2 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/flaglight1.ifl @@ -0,0 +1,46 @@ +flaglight5.png 2 +flaglight5.png 2 +flaglight5.png 2 +flaglight5.png 2 +flaglight5.png 2 +flaglight5.png 2 +flaglight5.png 2 +flaglight5.png 2 + +flaglight4.png 2 +flaglight3.png 2 +flaglight2.png 2 +flaglight1.png 2 + +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 +flaglight1.png 2 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaglight1.png b/public/base/@vl2/skins.vl2/textures/skins/flaglight1.png new file mode 100644 index 00000000..a6806ee3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flaglight1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaglight2.png b/public/base/@vl2/skins.vl2/textures/skins/flaglight2.png new file mode 100644 index 00000000..0ae5b3ba Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flaglight2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaglight3.png b/public/base/@vl2/skins.vl2/textures/skins/flaglight3.png new file mode 100644 index 00000000..648ef19f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flaglight3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaglight4.png b/public/base/@vl2/skins.vl2/textures/skins/flaglight4.png new file mode 100644 index 00000000..7261a4ab Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flaglight4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaglight5.png b/public/base/@vl2/skins.vl2/textures/skins/flaglight5.png new file mode 100644 index 00000000..7a1df102 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flaglight5.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flaregreen.png b/public/base/@vl2/skins.vl2/textures/skins/flaregreen.png new file mode 100644 index 00000000..d0002671 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flaregreen.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flarewhite.PNG b/public/base/@vl2/skins.vl2/textures/skins/flarewhite.PNG new file mode 100644 index 00000000..7a043a7d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flarewhite.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/flyerflame1.png b/public/base/@vl2/skins.vl2/textures/skins/flyerflame1.png new file mode 100644 index 00000000..bdc4f866 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/flyerflame1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcef1.png b/public/base/@vl2/skins.vl2/textures/skins/forcef1.png new file mode 100644 index 00000000..19b76f24 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcef1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcef2.png b/public/base/@vl2/skins.vl2/textures/skins/forcef2.png new file mode 100644 index 00000000..8b7c6ee6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcef2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcef3.png b/public/base/@vl2/skins.vl2/textures/skins/forcef3.png new file mode 100644 index 00000000..1d1b26a7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcef3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcef4.png b/public/base/@vl2/skins.vl2/textures/skins/forcef4.png new file mode 100644 index 00000000..8672847a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcef4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcef5.png b/public/base/@vl2/skins.vl2/textures/skins/forcef5.png new file mode 100644 index 00000000..67e1d2db Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcef5.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric.ifl b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric.ifl new file mode 100644 index 00000000..42d30146 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric.ifl @@ -0,0 +1,6 @@ +forcefield_electric0.PNG 80 +forcefield_electric1.PNG 4 +forcefield_electric2.PNG 4 +forcefield_electric3.PNG 4 +forcefield_electric4.PNG 4 +forcefield_electric5.PNG 4 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric0.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric0.PNG new file mode 100644 index 00000000..2274b0d1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric0.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric1.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric1.PNG new file mode 100644 index 00000000..b3961b78 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric1.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric2.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric2.PNG new file mode 100644 index 00000000..a7d01b95 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric2.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric3.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric3.PNG new file mode 100644 index 00000000..55e6c461 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric3.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric4.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric4.PNG new file mode 100644 index 00000000..225d02af Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric4.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric5.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric5.PNG new file mode 100644 index 00000000..01eea4a6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_electric5.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn.PNG new file mode 100644 index 00000000..2274b0d1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn.ifl b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn.ifl new file mode 100644 index 00000000..819f8596 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn.ifl @@ -0,0 +1,6 @@ +forcefield_grn.PNG 80 +forcefield_grn1.PNG 4 +forcefield_grn2.PNG 4 +forcefield_grn3.PNG 4 +forcefield_grn4.PNG 4 +forcefield_grn5.PNG 4 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn1.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn1.PNG new file mode 100644 index 00000000..041974f9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn1.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn2.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn2.PNG new file mode 100644 index 00000000..02a9a6d5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn2.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn3.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn3.PNG new file mode 100644 index 00000000..4c3991a8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn3.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn4.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn4.PNG new file mode 100644 index 00000000..827f5bbd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn4.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn5.PNG b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn5.PNG new file mode 100644 index 00000000..e2855dce Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/forcefield_grn5.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/frankrizzo.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/frankrizzo.plaque.png new file mode 100644 index 00000000..88165b1f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/frankrizzo.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/generator.PNG b/public/base/@vl2/skins.vl2/textures/skins/generator.PNG new file mode 100644 index 00000000..e75b67b2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/generator.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/generic_scorch.png b/public/base/@vl2/skins.vl2/textures/skins/generic_scorch.png new file mode 100644 index 00000000..0ac5d8fb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/generic_scorch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/glow_red.png b/public/base/@vl2/skins.vl2/textures/skins/glow_red.png new file mode 100644 index 00000000..c8326bbe Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/glow_red.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/gotmilk.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/gotmilk.plaque.png new file mode 100644 index 00000000..c439c083 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/gotmilk.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green00.ifl b/public/base/@vl2/skins.vl2/textures/skins/green00.ifl new file mode 100644 index 00000000..75c860de --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/green00.ifl @@ -0,0 +1,5 @@ +green00.png 1 +green01.png 1 +green02.png 1 +green03.png 1 +green04.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/green00.png b/public/base/@vl2/skins.vl2/textures/skins/green00.png new file mode 100644 index 00000000..2d43a6f0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green01.png b/public/base/@vl2/skins.vl2/textures/skins/green01.png new file mode 100644 index 00000000..03c25668 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green02.png b/public/base/@vl2/skins.vl2/textures/skins/green02.png new file mode 100644 index 00000000..6c7ec37f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green03.png b/public/base/@vl2/skins.vl2/textures/skins/green03.png new file mode 100644 index 00000000..cf531384 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green04.png b/public/base/@vl2/skins.vl2/textures/skins/green04.png new file mode 100644 index 00000000..136f0dc0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/greenMortar.ifl b/public/base/@vl2/skins.vl2/textures/skins/greenMortar.ifl new file mode 100644 index 00000000..4ec16d12 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/greenMortar.ifl @@ -0,0 +1,5 @@ +green00.png 5 +green01.png 5 +green02.png 5 +green03.png 5 +green04.png 5 diff --git a/public/base/@vl2/skins.vl2/textures/skins/green_blink.ifl b/public/base/@vl2/skins.vl2/textures/skins/green_blink.ifl new file mode 100644 index 00000000..9338296e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/green_blink.ifl @@ -0,0 +1,9 @@ +green_blink0.PNG 60 +green_blink1.PNG 1 +green_blink2.PNG 1 +green_blink3.PNG 1 +green_blink4.PNG 2 +green_blink3.PNG 1 +green_blink2.PNG 1 +green_blink1.PNG 1 +green_blink0.PNG 2 diff --git a/public/base/@vl2/skins.vl2/textures/skins/green_blink0.png b/public/base/@vl2/skins.vl2/textures/skins/green_blink0.png new file mode 100644 index 00000000..2033af75 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green_blink0.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green_blink1.png b/public/base/@vl2/skins.vl2/textures/skins/green_blink1.png new file mode 100644 index 00000000..47225385 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green_blink1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green_blink2.png b/public/base/@vl2/skins.vl2/textures/skins/green_blink2.png new file mode 100644 index 00000000..e2b24303 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green_blink2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green_blink3.png b/public/base/@vl2/skins.vl2/textures/skins/green_blink3.png new file mode 100644 index 00000000..07b584f3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green_blink3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/green_blink4.png b/public/base/@vl2/skins.vl2/textures/skins/green_blink4.png new file mode 100644 index 00000000..f6822f12 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/green_blink4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/greenlight.ifl b/public/base/@vl2/skins.vl2/textures/skins/greenlight.ifl new file mode 100644 index 00000000..243238a5 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/greenlight.ifl @@ -0,0 +1,16 @@ +lite_green0.png 25 +lite_green1.png 2 +lite_green2.png 2 +lite_green3.png 2 +lite_green4.png 2 +lite_green3.png 2 +lite_green2.png 2 +lite_green1.png 2 +lite_green0.png 32 +lite_green1.png 1 +lite_green2.png 1 +lite_green3.png 1 +lite_green4.png 1 +lite_green3.png 1 +lite_green2.png 1 +lite_green1.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/grenade.PNG b/public/base/@vl2/skins.vl2/textures/skins/grenade.PNG new file mode 100644 index 00000000..eff749d0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/grenade.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/grenade_flare.PNG b/public/base/@vl2/skins.vl2/textures/skins/grenade_flare.PNG new file mode 100644 index 00000000..1db43d50 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/grenade_flare.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/grenade_flash.PNG b/public/base/@vl2/skins.vl2/textures/skins/grenade_flash.PNG new file mode 100644 index 00000000..0014b014 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/grenade_flash.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/grenade_projectile.png b/public/base/@vl2/skins.vl2/textures/skins/grenade_projectile.png new file mode 100644 index 00000000..ffd7465f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/grenade_projectile.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hexabolic.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/hexabolic.plaque.png new file mode 100644 index 00000000..8f25ee6e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hexabolic.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/horde.flag.png b/public/base/@vl2/skins.vl2/textures/skins/horde.flag.png new file mode 100644 index 00000000..f5afa4ec Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/horde.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/horde.hbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/horde.hbioderm.png new file mode 100644 index 00000000..ac29087d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/horde.hbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/horde.lbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/horde.lbioderm.png new file mode 100644 index 00000000..af938fd4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/horde.lbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/horde.mbioderm.png b/public/base/@vl2/skins.vl2/textures/skins/horde.mbioderm.png new file mode 100644 index 00000000..9f1631e8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/horde.mbioderm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/horde.switch.png b/public/base/@vl2/skins.vl2/textures/skins/horde.switch.png new file mode 100644 index 00000000..1f683365 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/horde.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber1.png b/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber1.png new file mode 100644 index 00000000..9512f8d1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber2.png b/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber2.png new file mode 100644 index 00000000..6db4812c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber3.png b/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber3.png new file mode 100644 index 00000000..861f803e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hud_ret_bomber3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hunters.flag.png b/public/base/@vl2/skins.vl2/textures/skins/hunters.flag.png new file mode 100644 index 00000000..68750c38 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hunters.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hvybioflare.png b/public/base/@vl2/skins.vl2/textures/skins/hvybioflare.png new file mode 100644 index 00000000..4242a508 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hvybioflare.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/hvyjetpackflare.png b/public/base/@vl2/skins.vl2/textures/skins/hvyjetpackflare.png new file mode 100644 index 00000000..95f930be Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/hvyjetpackflare.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare00.ifl b/public/base/@vl2/skins.vl2/textures/skins/jetflare00.ifl new file mode 100644 index 00000000..f0811690 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/jetflare00.ifl @@ -0,0 +1,246 @@ +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + +jetflare00.png 1 +jetflare03.png 1 +jetflare01.png 1 +jetflare04.png 1 +jetflare02.png 1 +jetflare05.png 1 + + diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare00.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare00.png new file mode 100644 index 00000000..b5254fd3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare01.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare01.png new file mode 100644 index 00000000..5916524f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare02.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare02.png new file mode 100644 index 00000000..f616c83c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare03.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare03.png new file mode 100644 index 00000000..9e3b87d3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare04.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare04.png new file mode 100644 index 00000000..cb613183 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare05.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare05.png new file mode 100644 index 00000000..3aac3d17 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflare2.png b/public/base/@vl2/skins.vl2/textures/skins/jetflare2.png new file mode 100644 index 00000000..86ae011b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflare2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside00.ifl b/public/base/@vl2/skins.vl2/textures/skins/jetflareside00.ifl new file mode 100644 index 00000000..c3653054 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/jetflareside00.ifl @@ -0,0 +1,120 @@ +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 +jetflareside00.png 1 +jetflareside03.png 1 +jetflareside01.png 1 +jetflareside04.png 1 +jetflareside02.png 1 +jetflareside05.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside00.png b/public/base/@vl2/skins.vl2/textures/skins/jetflareside00.png new file mode 100644 index 00000000..974057e9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflareside00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside01.png b/public/base/@vl2/skins.vl2/textures/skins/jetflareside01.png new file mode 100644 index 00000000..84a39d41 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflareside01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside02.png b/public/base/@vl2/skins.vl2/textures/skins/jetflareside02.png new file mode 100644 index 00000000..90e990bf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflareside02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside03.png b/public/base/@vl2/skins.vl2/textures/skins/jetflareside03.png new file mode 100644 index 00000000..60a9de90 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflareside03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside04.png b/public/base/@vl2/skins.vl2/textures/skins/jetflareside04.png new file mode 100644 index 00000000..8b884fb3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflareside04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetflareside05.png b/public/base/@vl2/skins.vl2/textures/skins/jetflareside05.png new file mode 100644 index 00000000..34047042 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetflareside05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetpack.png b/public/base/@vl2/skins.vl2/textures/skins/jetpack.png new file mode 100644 index 00000000..bb65f66c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetpack.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetpack_bio.png b/public/base/@vl2/skins.vl2/textures/skins/jetpack_bio.png new file mode 100644 index 00000000..d8f14436 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetpack_bio.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetpackflare.png b/public/base/@vl2/skins.vl2/textures/skins/jetpackflare.png new file mode 100644 index 00000000..dfb08283 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetpackflare.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetpackflare_bio.png b/public/base/@vl2/skins.vl2/textures/skins/jetpackflare_bio.png new file mode 100644 index 00000000..783e5062 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetpackflare_bio.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets00.ifl b/public/base/@vl2/skins.vl2/textures/skins/jets00.ifl new file mode 100644 index 00000000..0c8748c6 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/jets00.ifl @@ -0,0 +1,121 @@ +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 + +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 +jets00.png 1 +jets01.png 1 +jets02.png 1 +jets03.png 1 +jets04.png 1 +jets05.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets00.png b/public/base/@vl2/skins.vl2/textures/skins/jets00.png new file mode 100644 index 00000000..3616250c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jets00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets01.png b/public/base/@vl2/skins.vl2/textures/skins/jets01.png new file mode 100644 index 00000000..d7998a45 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jets01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets02.png b/public/base/@vl2/skins.vl2/textures/skins/jets02.png new file mode 100644 index 00000000..ecbb7d29 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jets02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets03.png b/public/base/@vl2/skins.vl2/textures/skins/jets03.png new file mode 100644 index 00000000..c518bccb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jets03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets04.png b/public/base/@vl2/skins.vl2/textures/skins/jets04.png new file mode 100644 index 00000000..9627cc86 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jets04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jets05.png b/public/base/@vl2/skins.vl2/textures/skins/jets05.png new file mode 100644 index 00000000..e3148b1e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jets05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jett.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/jett.plaque.png new file mode 100644 index 00000000..c2badd11 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jett.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jetyellow.png b/public/base/@vl2/skins.vl2/textures/skins/jetyellow.png new file mode 100644 index 00000000..fc745555 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jetyellow.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/jimmy.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/jimmy.plaque.png new file mode 100644 index 00000000..6de00d09 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/jimmy.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/kidneythief.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/kidneythief.plaque.png new file mode 100644 index 00000000..e94d4889 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/kidneythief.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/leaf_bunch2.png b/public/base/@vl2/skins.vl2/textures/skins/leaf_bunch2.png new file mode 100644 index 00000000..a2518e19 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/leaf_bunch2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/leafydome.png b/public/base/@vl2/skins.vl2/textures/skins/leafydome.png new file mode 100644 index 00000000..2aea2382 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/leafydome.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/leafydome2.png b/public/base/@vl2/skins.vl2/textures/skins/leafydome2.png new file mode 100644 index 00000000..18d8f0a7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/leafydome2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_blue_00.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_blue_00.PNG new file mode 100644 index 00000000..190be22d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_blue_00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_blue_01.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_blue_01.PNG new file mode 100644 index 00000000..5b965d02 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_blue_01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_blue_02.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_blue_02.PNG new file mode 100644 index 00000000..65743dc8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_blue_02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_blue_03.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_blue_03.PNG new file mode 100644 index 00000000..a6c21cff Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_blue_03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_blue_04.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_blue_04.PNG new file mode 100644 index 00000000..c031a9b0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_blue_04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_blue_generator.ifl b/public/base/@vl2/skins.vl2/textures/skins/light_blue_generator.ifl new file mode 100644 index 00000000..3c1bc84f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/light_blue_generator.ifl @@ -0,0 +1,9 @@ +light_blue_04.png 7 +light_blue_03.png 6 +light_blue_02.png 6 +light_blue_01.png 6 +light_blue_00.png 6 +light_blue_01.png 6 +light_blue_02.png 6 +light_blue_03.png 6 +light_blue_04.png 100 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green01.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_green01.PNG new file mode 100644 index 00000000..822c79e4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_green01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green01.ifl b/public/base/@vl2/skins.vl2/textures/skins/light_green01.ifl new file mode 100644 index 00000000..c4337554 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/light_green01.ifl @@ -0,0 +1,11 @@ +light_green01.PNG 1 +light_green02.PNG 2 +light_green03.PNG 2 +light_green04.PNG 3 +light_green05.PNG 4 +light_green06.PNG 6 +light_green05.PNG 2 +light_green04.PNG 2 +light_green03.PNG 3 +light_green02.PNG 4 +light_green01.PNG 4 diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green02.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_green02.PNG new file mode 100644 index 00000000..874c2c7d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_green02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green03.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_green03.PNG new file mode 100644 index 00000000..bdaae755 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_green03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green04.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_green04.PNG new file mode 100644 index 00000000..61682284 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_green04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green05.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_green05.PNG new file mode 100644 index 00000000..507ea832 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_green05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_green06.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_green06.PNG new file mode 100644 index 00000000..8ce81a4b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_green06.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red.ifl b/public/base/@vl2/skins.vl2/textures/skins/light_red.ifl new file mode 100644 index 00000000..2b88b11f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/light_red.ifl @@ -0,0 +1,21 @@ +light_red06.png 10 +light_red05.png 2 +light_red04.png 2 +light_red03.png 2 +light_red02.png 2 +light_red01.png 2 +light_red02.png 2 +light_red03.png 2 +light_red04.png 2 +light_red05.png 2 +light_red06.png 10 +light_red05.png 1 +light_red04.png 1 +light_red03.png 1 +light_red02.png 1 +light_red01.png 1 +light_red02.png 1 +light_red03.png 1 +light_red04.png 1 +light_red05.png 1 +light_red06.png 10 diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red01.PNG b/public/base/@vl2/skins.vl2/textures/skins/light_red01.PNG new file mode 100644 index 00000000..5426fbb9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_red01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red02.png b/public/base/@vl2/skins.vl2/textures/skins/light_red02.png new file mode 100644 index 00000000..0b2901ec Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_red02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red03.png b/public/base/@vl2/skins.vl2/textures/skins/light_red03.png new file mode 100644 index 00000000..b18fbbee Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_red03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red04.png b/public/base/@vl2/skins.vl2/textures/skins/light_red04.png new file mode 100644 index 00000000..d1750b5d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_red04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red05.png b/public/base/@vl2/skins.vl2/textures/skins/light_red05.png new file mode 100644 index 00000000..144dc8e7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_red05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red06.png b/public/base/@vl2/skins.vl2/textures/skins/light_red06.png new file mode 100644 index 00000000..737edf9b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/light_red06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red2.ifl b/public/base/@vl2/skins.vl2/textures/skins/light_red2.ifl new file mode 100644 index 00000000..162ad30e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/light_red2.ifl @@ -0,0 +1,16 @@ +lite_red0.png 13 +lite_red1.png 2 +lite_red2.png 2 +lite_red3.png 2 +lite_red4.png 2 +lite_red3.png 2 +lite_red2.png 2 +lite_red1.png 2 +lite_red0.png 47 +lite_red1.png 1 +lite_red2.png 1 +lite_red3.png 1 +lite_red4.png 1 +lite_red3.png 1 +lite_red2.png 1 +lite_red1.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/light_red3.ifl b/public/base/@vl2/skins.vl2/textures/skins/light_red3.ifl new file mode 100644 index 00000000..8f047b86 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/light_red3.ifl @@ -0,0 +1,16 @@ +lite_red0.png 16 +lite_red1.png 2 +lite_red2.png 2 +lite_red3.png 2 +lite_red4.png 2 +lite_red3.png 2 +lite_red2.png 2 +lite_red1.png 2 +lite_red0.png 47 +lite_red1.png 1 +lite_red2.png 1 +lite_red3.png 1 +lite_red4.png 1 +lite_red3.png 1 +lite_red2.png 1 +lite_red1.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_blue0.png b/public/base/@vl2/skins.vl2/textures/skins/lite_blue0.png new file mode 100644 index 00000000..f788b692 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_blue0.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_blue1.png b/public/base/@vl2/skins.vl2/textures/skins/lite_blue1.png new file mode 100644 index 00000000..18a8e172 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_blue1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_blue2.png b/public/base/@vl2/skins.vl2/textures/skins/lite_blue2.png new file mode 100644 index 00000000..278ad59e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_blue2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_blue3.png b/public/base/@vl2/skins.vl2/textures/skins/lite_blue3.png new file mode 100644 index 00000000..6c5dec2d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_blue3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_blue4.png b/public/base/@vl2/skins.vl2/textures/skins/lite_blue4.png new file mode 100644 index 00000000..66e19016 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_blue4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_fusturt.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_fusturt.ifl new file mode 100644 index 00000000..f85a783b --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_fusturt.ifl @@ -0,0 +1,9 @@ +lite_blue0.png 300 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 100 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_fusturt01.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_fusturt01.ifl new file mode 100644 index 00000000..00fd2adb --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_fusturt01.ifl @@ -0,0 +1,33 @@ +lite_blue0.png 354 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 2 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 2 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 2 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 2 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 2 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 2 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 2 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 200 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_green.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_green.ifl new file mode 100644 index 00000000..243238a5 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_green.ifl @@ -0,0 +1,16 @@ +lite_green0.png 25 +lite_green1.png 2 +lite_green2.png 2 +lite_green3.png 2 +lite_green4.png 2 +lite_green3.png 2 +lite_green2.png 2 +lite_green1.png 2 +lite_green0.png 32 +lite_green1.png 1 +lite_green2.png 1 +lite_green3.png 1 +lite_green4.png 1 +lite_green3.png 1 +lite_green2.png 1 +lite_green1.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_green0.png b/public/base/@vl2/skins.vl2/textures/skins/lite_green0.png new file mode 100644 index 00000000..de16c6cf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_green0.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_green1.png b/public/base/@vl2/skins.vl2/textures/skins/lite_green1.png new file mode 100644 index 00000000..798a2dfc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_green1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_green2.png b/public/base/@vl2/skins.vl2/textures/skins/lite_green2.png new file mode 100644 index 00000000..5828be34 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_green2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_green3.png b/public/base/@vl2/skins.vl2/textures/skins/lite_green3.png new file mode 100644 index 00000000..110c6fd2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_green3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_green4.png b/public/base/@vl2/skins.vl2/textures/skins/lite_green4.png new file mode 100644 index 00000000..233f9577 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_green4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_pack_cloak.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_pack_cloak.ifl new file mode 100644 index 00000000..3494a7c7 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_pack_cloak.ifl @@ -0,0 +1,18 @@ +pack_u_c04.PNG 5 +pack_u_c03.PNG 2 +pack_u_c02.PNG 2 +pack_u_c01.PNG 2 +pack_u_c00.PNG 3 +pack_u_c01.PNG 2 +pack_u_c02.PNG 2 +pack_u_c03.PNG 2 +pack_u_c04.PNG 10 +pack_u_c04.PNG 5 +pack_u_c03.PNG 1 +pack_u_c02.PNG 1 +pack_u_c01.PNG 1 +pack_u_c00.PNG 2 +pack_u_c01.PNG 1 +pack_u_c02.PNG 1 +pack_u_c03.PNG 1 +pack_u_c04.PNG 10 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_red.ifl new file mode 100644 index 00000000..56b183e1 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_red.ifl @@ -0,0 +1,16 @@ +lite_red0.png 10 +lite_red1.png 2 +lite_red2.png 2 +lite_red3.png 2 +lite_red4.png 2 +lite_red3.png 2 +lite_red2.png 2 +lite_red1.png 2 +lite_red0.png 47 +lite_red1.png 1 +lite_red2.png 1 +lite_red3.png 1 +lite_red4.png 1 +lite_red3.png 1 +lite_red2.png 1 +lite_red1.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red0.png b/public/base/@vl2/skins.vl2/textures/skins/lite_red0.png new file mode 100644 index 00000000..5cdb90f0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_red0.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red04.png b/public/base/@vl2/skins.vl2/textures/skins/lite_red04.png new file mode 100644 index 00000000..ccbcedb8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_red04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red1.png b/public/base/@vl2/skins.vl2/textures/skins/lite_red1.png new file mode 100644 index 00000000..4c0d7890 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_red1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red2.png b/public/base/@vl2/skins.vl2/textures/skins/lite_red2.png new file mode 100644 index 00000000..711fc59d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_red2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red3.png b/public/base/@vl2/skins.vl2/textures/skins/lite_red3.png new file mode 100644 index 00000000..36f694a6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_red3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_red4.png b/public/base/@vl2/skins.vl2/textures/skins/lite_red4.png new file mode 100644 index 00000000..036d5d3d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/lite_red4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_remoteTurret.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_remoteTurret.ifl new file mode 100644 index 00000000..e7d822b8 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_remoteTurret.ifl @@ -0,0 +1,9 @@ +blue_blink0.PNG 100 +blue_blink1.PNG 1 +blue_blink2.PNG 1 +blue_blink3.PNG 1 +blue_blink4.PNG 1 +blue_blink3.PNG 1 +blue_blink2.PNG 1 +blue_blink1.PNG 1 +blue_blink0.PNG 300 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_rpu_pack01.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_rpu_pack01.ifl new file mode 100644 index 00000000..9af1a4fe --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_rpu_pack01.ifl @@ -0,0 +1,10 @@ +lite_blue0.png 25 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 50 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_rpu_pack02.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_rpu_pack02.ifl new file mode 100644 index 00000000..ce5a7061 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_rpu_pack02.ifl @@ -0,0 +1,10 @@ +lite_blue0.png 50 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 25 + diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_sh_pack01.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_sh_pack01.ifl new file mode 100644 index 00000000..6a585f55 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_sh_pack01.ifl @@ -0,0 +1,17 @@ +lite_blue0.png 25 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 1 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 25 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 25 diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_sh_pack02.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_sh_pack02.ifl new file mode 100644 index 00000000..38ce6d47 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_sh_pack02.ifl @@ -0,0 +1,9 @@ +lite_blue0.png 57 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 50 diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_turmiss.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_turmiss.ifl new file mode 100644 index 00000000..d4e333da --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_turmiss.ifl @@ -0,0 +1,9 @@ +lite_blue0.png 140 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 50 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/lite_turmort.ifl b/public/base/@vl2/skins.vl2/textures/skins/lite_turmort.ifl new file mode 100644 index 00000000..acfc8e0c --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/lite_turmort.ifl @@ -0,0 +1,9 @@ +lite_blue0.png 300 +lite_blue1.png 1 +lite_blue2.png 1 +lite_blue3.png 1 +lite_blue4.png 3 +lite_blue3.png 1 +lite_blue2.png 1 +lite_blue1.png 1 +lite_blue0.png 50 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/marineleaves.png b/public/base/@vl2/skins.vl2/textures/skins/marineleaves.png new file mode 100644 index 00000000..a37f6de1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/marineleaves.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/marker.png b/public/base/@vl2/skins.vl2/textures/skins/marker.png new file mode 100644 index 00000000..2f93c1af Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/marker.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/maximus.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/maximus.plaque.png new file mode 100644 index 00000000..095fab1a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/maximus.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mine.png b/public/base/@vl2/skins.vl2/textures/skins/mine.png new file mode 100644 index 00000000..078f2a07 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mine.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mine_anti_air.PNG b/public/base/@vl2/skins.vl2/textures/skins/mine_anti_air.PNG new file mode 100644 index 00000000..7817c490 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mine_anti_air.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mine_anti_land.PNG b/public/base/@vl2/skins.vl2/textures/skins/mine_anti_land.PNG new file mode 100644 index 00000000..5f8faf29 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mine_anti_land.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/missile_flash.png b/public/base/@vl2/skins.vl2/textures/skins/missile_flash.png new file mode 100644 index 00000000..e249902b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/missile_flash.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/missing.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/missing.plaque.png new file mode 100644 index 00000000..e67f0de8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/missing.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mongo.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/mongo.plaque.png new file mode 100644 index 00000000..13e61934 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mongo.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort000.ifl b/public/base/@vl2/skins.vl2/textures/skins/mort000.ifl new file mode 100644 index 00000000..f311d964 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/mort000.ifl @@ -0,0 +1,28 @@ +mort000.png 1 +mort001.png 1 +mort002.png 1 +mort003.png 1 +mort004.png 1 +mort005.png 1 +mort006.png 1 +mort007.png 1 +mort008.png 1 +mort009.png 1 +mort010.png 1 +mort011.png 1 +mort012.png 1 +mort013.png 1 +mort014.png 1 +mort015.png 1 +mort016.png 1 +mort017.png 1 +mort018.png 1 +mort019.png 1 +mort020.png 1 +mort021.png 1 +mort022.png 1 +mort023.png 1 +mort024.png 1 +mort025.png 1 +mort026.png 1 +mort027.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort000.png b/public/base/@vl2/skins.vl2/textures/skins/mort000.png new file mode 100644 index 00000000..ad95d705 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort000.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort001.png b/public/base/@vl2/skins.vl2/textures/skins/mort001.png new file mode 100644 index 00000000..046123e4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort001.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort002.png b/public/base/@vl2/skins.vl2/textures/skins/mort002.png new file mode 100644 index 00000000..3160d65f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort002.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort003.png b/public/base/@vl2/skins.vl2/textures/skins/mort003.png new file mode 100644 index 00000000..a0707e2f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort003.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort004.png b/public/base/@vl2/skins.vl2/textures/skins/mort004.png new file mode 100644 index 00000000..841ab51b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort004.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort005.png b/public/base/@vl2/skins.vl2/textures/skins/mort005.png new file mode 100644 index 00000000..8739facf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort005.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort006.png b/public/base/@vl2/skins.vl2/textures/skins/mort006.png new file mode 100644 index 00000000..adcf8f55 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort006.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort007.png b/public/base/@vl2/skins.vl2/textures/skins/mort007.png new file mode 100644 index 00000000..da649eea Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort007.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort008.png b/public/base/@vl2/skins.vl2/textures/skins/mort008.png new file mode 100644 index 00000000..888cdf42 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort008.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort009.png b/public/base/@vl2/skins.vl2/textures/skins/mort009.png new file mode 100644 index 00000000..4da34d0a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort009.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort010.png b/public/base/@vl2/skins.vl2/textures/skins/mort010.png new file mode 100644 index 00000000..faf93b05 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort010.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort011.png b/public/base/@vl2/skins.vl2/textures/skins/mort011.png new file mode 100644 index 00000000..c22e834f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort011.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort012.png b/public/base/@vl2/skins.vl2/textures/skins/mort012.png new file mode 100644 index 00000000..959edbc8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort012.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort013.png b/public/base/@vl2/skins.vl2/textures/skins/mort013.png new file mode 100644 index 00000000..0c59ed8b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort013.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort014.png b/public/base/@vl2/skins.vl2/textures/skins/mort014.png new file mode 100644 index 00000000..1e559462 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort014.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort015.png b/public/base/@vl2/skins.vl2/textures/skins/mort015.png new file mode 100644 index 00000000..6ddd1bd8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort015.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort016.png b/public/base/@vl2/skins.vl2/textures/skins/mort016.png new file mode 100644 index 00000000..29342e3f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort016.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort017.png b/public/base/@vl2/skins.vl2/textures/skins/mort017.png new file mode 100644 index 00000000..2c7d5ad3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort017.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort018.png b/public/base/@vl2/skins.vl2/textures/skins/mort018.png new file mode 100644 index 00000000..d8b33d24 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort018.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort019.png b/public/base/@vl2/skins.vl2/textures/skins/mort019.png new file mode 100644 index 00000000..ba4bfb48 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort019.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort020.png b/public/base/@vl2/skins.vl2/textures/skins/mort020.png new file mode 100644 index 00000000..500cf074 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort020.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort021.png b/public/base/@vl2/skins.vl2/textures/skins/mort021.png new file mode 100644 index 00000000..56674147 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort021.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort022.png b/public/base/@vl2/skins.vl2/textures/skins/mort022.png new file mode 100644 index 00000000..a4d4c4a5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort022.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort023.png b/public/base/@vl2/skins.vl2/textures/skins/mort023.png new file mode 100644 index 00000000..b1597978 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort023.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort024.png b/public/base/@vl2/skins.vl2/textures/skins/mort024.png new file mode 100644 index 00000000..d4fd0381 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort024.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort025.png b/public/base/@vl2/skins.vl2/textures/skins/mort025.png new file mode 100644 index 00000000..832b8400 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort025.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort026.png b/public/base/@vl2/skins.vl2/textures/skins/mort026.png new file mode 100644 index 00000000..68658190 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort026.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/mort027.png b/public/base/@vl2/skins.vl2/textures/skins/mort027.png new file mode 100644 index 00000000..460aee0b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/mort027.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge00.ifl b/public/base/@vl2/skins.vl2/textures/skins/newedge00.ifl new file mode 100644 index 00000000..a6473379 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/newedge00.ifl @@ -0,0 +1,42 @@ + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 + +newedge01.png 1 +newedge02.png 1 +newedge03.png 1 +newedge04.png 1 +newedge05.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge00.png b/public/base/@vl2/skins.vl2/textures/skins/newedge00.png new file mode 100644 index 00000000..6a5b5845 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/newedge00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge01.png b/public/base/@vl2/skins.vl2/textures/skins/newedge01.png new file mode 100644 index 00000000..40f7c8e7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/newedge01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge02.png b/public/base/@vl2/skins.vl2/textures/skins/newedge02.png new file mode 100644 index 00000000..1b7a53a7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/newedge02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge03.png b/public/base/@vl2/skins.vl2/textures/skins/newedge03.png new file mode 100644 index 00000000..49d71675 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/newedge03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge04.png b/public/base/@vl2/skins.vl2/textures/skins/newedge04.png new file mode 100644 index 00000000..033b2504 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/newedge04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/newedge05.png b/public/base/@vl2/skins.vl2/textures/skins/newedge05.png new file mode 100644 index 00000000..70fcad38 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/newedge05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg00.png b/public/base/@vl2/skins.vl2/textures/skins/nexg00.png new file mode 100644 index 00000000..a2931464 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg01.png b/public/base/@vl2/skins.vl2/textures/skins/nexg01.png new file mode 100644 index 00000000..16d7612f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg02.png b/public/base/@vl2/skins.vl2/textures/skins/nexg02.png new file mode 100644 index 00000000..327a035c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg03.png b/public/base/@vl2/skins.vl2/textures/skins/nexg03.png new file mode 100644 index 00000000..04e3635c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg04.png b/public/base/@vl2/skins.vl2/textures/skins/nexg04.png new file mode 100644 index 00000000..506676c8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg05.png b/public/base/@vl2/skins.vl2/textures/skins/nexg05.png new file mode 100644 index 00000000..21282c85 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg06.png b/public/base/@vl2/skins.vl2/textures/skins/nexg06.png new file mode 100644 index 00000000..04ec98bb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg07.png b/public/base/@vl2/skins.vl2/textures/skins/nexg07.png new file mode 100644 index 00000000..783d20eb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg08.png b/public/base/@vl2/skins.vl2/textures/skins/nexg08.png new file mode 100644 index 00000000..c1a17c19 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg09.png b/public/base/@vl2/skins.vl2/textures/skins/nexg09.png new file mode 100644 index 00000000..2fcdf35f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg09.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg10.png b/public/base/@vl2/skins.vl2/textures/skins/nexg10.png new file mode 100644 index 00000000..060fc04e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg10.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg11.png b/public/base/@vl2/skins.vl2/textures/skins/nexg11.png new file mode 100644 index 00000000..ac9dffc4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg11.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg12.png b/public/base/@vl2/skins.vl2/textures/skins/nexg12.png new file mode 100644 index 00000000..329353ff Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg12.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg13.png b/public/base/@vl2/skins.vl2/textures/skins/nexg13.png new file mode 100644 index 00000000..45503569 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg13.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg14.png b/public/base/@vl2/skins.vl2/textures/skins/nexg14.png new file mode 100644 index 00000000..7162f703 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg14.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexg15.png b/public/base/@vl2/skins.vl2/textures/skins/nexg15.png new file mode 100644 index 00000000..4579127c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexg15.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexgren.ifl b/public/base/@vl2/skins.vl2/textures/skins/nexgren.ifl new file mode 100644 index 00000000..6a580d65 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/nexgren.ifl @@ -0,0 +1,16 @@ +nexg00.png 1 +nexg01.png 2 +nexg02.png 2 +nexg03.png 2 +nexg04.png 2 +nexg05.png 2 +nexg06.png 2 +nexg07.png 2 +nexg08.png 2 +nexg09.png 2 +nexg10.png 2 +nexg11.png 2 +nexg12.png 2 +nexg13.png 2 +nexg14.png 2 +nexg15.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexgren02.ifl b/public/base/@vl2/skins.vl2/textures/skins/nexgren02.ifl new file mode 100644 index 00000000..4bc4ec16 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/nexgren02.ifl @@ -0,0 +1,16 @@ +nexg08.png 1 +nexg09.png 2 +nexg10.png 2 +nexg11.png 2 +nexg12.png 2 +nexg13.png 2 +nexg14.png 2 +nexg15.png 2 +nexg00.png 2 +nexg01.png 2 +nexg02.png 2 +nexg03.png 2 +nexg04.png 2 +nexg05.png 2 +nexg06.png 2 +nexg07.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred.ifl b/public/base/@vl2/skins.vl2/textures/skins/nexred.ifl new file mode 100644 index 00000000..1873f49b --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/nexred.ifl @@ -0,0 +1,16 @@ +nexred00.png 1 +nexred01.png 2 +nexred02.png 2 +nexred03.png 2 +nexred04.png 2 +nexred05.png 2 +nexred06.png 2 +nexred07.png 2 +nexred08.png 2 +nexred09.png 2 +nexred10.png 2 +nexred11.png 2 +nexred12.png 2 +nexred13.png 2 +nexred14.png 2 +nexred15.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred00.png b/public/base/@vl2/skins.vl2/textures/skins/nexred00.png new file mode 100644 index 00000000..bbd76708 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred01.png b/public/base/@vl2/skins.vl2/textures/skins/nexred01.png new file mode 100644 index 00000000..0c73a74a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred02.ifl b/public/base/@vl2/skins.vl2/textures/skins/nexred02.ifl new file mode 100644 index 00000000..21f57899 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/nexred02.ifl @@ -0,0 +1,16 @@ +nexred08.png 1 +nexred09.png 2 +nexred10.png 2 +nexred11.png 2 +nexred12.png 2 +nexred13.png 2 +nexred14.png 2 +nexred15.png 2 +nexred00.png 2 +nexred01.png 2 +nexred02.png 2 +nexred03.png 2 +nexred04.png 2 +nexred05.png 2 +nexred06.png 2 +nexred07.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred02.png b/public/base/@vl2/skins.vl2/textures/skins/nexred02.png new file mode 100644 index 00000000..989879a2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred03.png b/public/base/@vl2/skins.vl2/textures/skins/nexred03.png new file mode 100644 index 00000000..78abd5a9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred04.png b/public/base/@vl2/skins.vl2/textures/skins/nexred04.png new file mode 100644 index 00000000..fd989b7b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred05.png b/public/base/@vl2/skins.vl2/textures/skins/nexred05.png new file mode 100644 index 00000000..1ab08ef0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred06.png b/public/base/@vl2/skins.vl2/textures/skins/nexred06.png new file mode 100644 index 00000000..4fea79c7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred07.png b/public/base/@vl2/skins.vl2/textures/skins/nexred07.png new file mode 100644 index 00000000..4272fa8d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred08.png b/public/base/@vl2/skins.vl2/textures/skins/nexred08.png new file mode 100644 index 00000000..6640ef9e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred09.png b/public/base/@vl2/skins.vl2/textures/skins/nexred09.png new file mode 100644 index 00000000..7ee9e191 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred09.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred10.png b/public/base/@vl2/skins.vl2/textures/skins/nexred10.png new file mode 100644 index 00000000..9f06181b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred10.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred11.png b/public/base/@vl2/skins.vl2/textures/skins/nexred11.png new file mode 100644 index 00000000..186b1101 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred11.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred12.png b/public/base/@vl2/skins.vl2/textures/skins/nexred12.png new file mode 100644 index 00000000..26492a1a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred12.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred13.png b/public/base/@vl2/skins.vl2/textures/skins/nexred13.png new file mode 100644 index 00000000..118a1051 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred13.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred14.png b/public/base/@vl2/skins.vl2/textures/skins/nexred14.png new file mode 100644 index 00000000..e675891d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred14.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/nexred15.png b/public/base/@vl2/skins.vl2/textures/skins/nexred15.png new file mode 100644 index 00000000..30f3e3ad Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/nexred15.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/noise.png b/public/base/@vl2/skins.vl2/textures/skins/noise.png new file mode 100644 index 00000000..a092e430 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/noise.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/olddawg.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/olddawg.plaque.png new file mode 100644 index 00000000..2018749a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/olddawg.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange.ifl b/public/base/@vl2/skins.vl2/textures/skins/orange.ifl new file mode 100644 index 00000000..d6d7c9e2 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/orange.ifl @@ -0,0 +1,6 @@ +orange00.png +orange01.png +orange02.png +orange03.png +orange04.png +orange05.png \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange00.PNG b/public/base/@vl2/skins.vl2/textures/skins/orange00.PNG new file mode 100644 index 00000000..6f9ebbf1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orange00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange01.PNG b/public/base/@vl2/skins.vl2/textures/skins/orange01.PNG new file mode 100644 index 00000000..2051eef9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orange01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange02.PNG b/public/base/@vl2/skins.vl2/textures/skins/orange02.PNG new file mode 100644 index 00000000..27482652 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orange02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange03.PNG b/public/base/@vl2/skins.vl2/textures/skins/orange03.PNG new file mode 100644 index 00000000..4bd110a4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orange03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange04.PNG b/public/base/@vl2/skins.vl2/textures/skins/orange04.PNG new file mode 100644 index 00000000..c21b04b5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orange04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange05.PNG b/public/base/@vl2/skins.vl2/textures/skins/orange05.PNG new file mode 100644 index 00000000..9afcadc4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orange05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/orange1.ifl b/public/base/@vl2/skins.vl2/textures/skins/orange1.ifl new file mode 100644 index 00000000..ed28afb3 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/orange1.ifl @@ -0,0 +1,6 @@ +orange00.png 6 +orange01.png 6 +orange02.png 6 +orange03.png 6 +orange04.png 6 +orange05.png 6 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/orphankazrak.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/orphankazrak.plaque.png new file mode 100644 index 00000000..7b233a92 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/orphankazrak.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_ammo.png b/public/base/@vl2/skins.vl2/textures/skins/pack_ammo.png new file mode 100644 index 00000000..561a0b44 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_ammo.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_cloak.png b/public/base/@vl2/skins.vl2/textures/skins/pack_cloak.png new file mode 100644 index 00000000..723f4cdf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_cloak.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_cloak2.png b/public/base/@vl2/skins.vl2/textures/skins/pack_cloak2.png new file mode 100644 index 00000000..c4564388 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_cloak2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_deploy_sensor_pulse.png b/public/base/@vl2/skins.vl2/textures/skins/pack_deploy_sensor_pulse.png new file mode 100644 index 00000000..84c0480f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_deploy_sensor_pulse.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_energy.png b/public/base/@vl2/skins.vl2/textures/skins/pack_energy.png new file mode 100644 index 00000000..183312e7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_energy.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep.ifl b/public/base/@vl2/skins.vl2/textures/skins/pack_rep.ifl new file mode 100644 index 00000000..bb176e81 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/pack_rep.ifl @@ -0,0 +1,9 @@ +pack_rep01.PNG 50 +pack_rep02.PNG 1 +pack_rep03.PNG 1 +pack_rep04.PNG 1 +pack_rep05.PNG 3 +pack_rep04.PNG 1 +pack_rep03.PNG 1 +pack_rep02.PNG 1 +pack_rep01.PNG 30 diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep01.png b/public/base/@vl2/skins.vl2/textures/skins/pack_rep01.png new file mode 100644 index 00000000..847e5b7a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_rep01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep02.png b/public/base/@vl2/skins.vl2/textures/skins/pack_rep02.png new file mode 100644 index 00000000..3942c367 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_rep02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep03.png b/public/base/@vl2/skins.vl2/textures/skins/pack_rep03.png new file mode 100644 index 00000000..0441580f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_rep03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep04.png b/public/base/@vl2/skins.vl2/textures/skins/pack_rep04.png new file mode 100644 index 00000000..32051211 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_rep04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep05.png b/public/base/@vl2/skins.vl2/textures/skins/pack_rep05.png new file mode 100644 index 00000000..442a5394 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_rep05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep2.ifl b/public/base/@vl2/skins.vl2/textures/skins/pack_rep2.ifl new file mode 100644 index 00000000..0492a463 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/pack_rep2.ifl @@ -0,0 +1,9 @@ +pack_rep01.PNG 20 +pack_rep02.PNG 1 +pack_rep03.PNG 1 +pack_rep04.PNG 1 +pack_rep05.PNG 3 +pack_rep04.PNG 1 +pack_rep03.PNG 1 +pack_rep02.PNG 1 +pack_rep01.PNG 50 diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_rep_lite.png b/public/base/@vl2/skins.vl2/textures/skins/pack_rep_lite.png new file mode 100644 index 00000000..c7ad0865 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_rep_lite.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_repair.png b/public/base/@vl2/skins.vl2/textures/skins/pack_repair.png new file mode 100644 index 00000000..a21dd295 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_repair.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_senjam.png b/public/base/@vl2/skins.vl2/textures/skins/pack_senjam.png new file mode 100644 index 00000000..6344682c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_senjam.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_shield.png b/public/base/@vl2/skins.vl2/textures/skins/pack_shield.png new file mode 100644 index 00000000..e1a39763 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_shield.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_c00.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c00.png new file mode 100644 index 00000000..a51ac553 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_c01.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c01.png new file mode 100644 index 00000000..760dabdc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_c02.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c02.png new file mode 100644 index 00000000..f7f92502 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_c03.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c03.png new file mode 100644 index 00000000..5145a991 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_c04.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c04.png new file mode 100644 index 00000000..52e67176 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_c04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e.ifl b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e.ifl new file mode 100644 index 00000000..731a620c --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e.ifl @@ -0,0 +1,9 @@ +PULSE00.PNG 80 +PULSE01.PNG 2 +PULSE02.PNG 2 +PULSE03.PNG 2 +PULSE04.PNG 2 +PULSE05.PNG 2 +PULSE06.PNG 2 +PULSE07.PNG 2 +PULSE08.PNG 2 diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite.ifl b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite.ifl new file mode 100644 index 00000000..5c47221b --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite.ifl @@ -0,0 +1,13 @@ +pack_u_e_lite00.PNG 50 +pack_u_e_lite01.PNG 1 +pack_u_e_lite02.PNG 1 +pack_u_e_lite03.PNG 3 +pack_u_e_lite02.PNG 1 +pack_u_e_lite01.PNG 1 +pack_u_e_lite00.PNG 3 +pack_u_e_lite04.PNG 1 +pack_u_e_lite05.PNG 1 +pack_u_e_lite06.PNG 3 +pack_u_e_lite05.PNG 1 +pack_u_e_lite04.PNG 1 +pack_u_e_lite00.PNG 50 diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite00.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite00.png new file mode 100644 index 00000000..3330faf3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite01.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite01.png new file mode 100644 index 00000000..4c848f41 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite02.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite02.png new file mode 100644 index 00000000..b408b012 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite03.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite03.png new file mode 100644 index 00000000..ce75e705 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite04.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite04.png new file mode 100644 index 00000000..233f9535 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite05.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite05.png new file mode 100644 index 00000000..fa84cfe5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite06.png b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite06.png new file mode 100644 index 00000000..8f281ef0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_u_e_lite06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_cloaking.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_cloaking.png new file mode 100644 index 00000000..73846469 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_cloaking.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_energy.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_energy.png new file mode 100644 index 00000000..065c5fb5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_energy.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_reflection.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_reflection.png new file mode 100644 index 00000000..7902d6d5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_reflection.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_repair.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_repair.png new file mode 100644 index 00000000..547765f2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_repair.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_repulsor.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_repulsor.png new file mode 100644 index 00000000..416990ae Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_repulsor.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_satchel.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_satchel.png new file mode 100644 index 00000000..c0692e9d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_satchel.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_satchel2.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_satchel2.png new file mode 100644 index 00000000..794855b3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_satchel2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_shield.png b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_shield.png new file mode 100644 index 00000000..a4449f74 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pack_upgrade_shield.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma.ifl b/public/base/@vl2/skins.vl2/textures/skins/plasma.ifl new file mode 100644 index 00000000..f72d530d --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plasma.ifl @@ -0,0 +1,10 @@ +plasma01.png 1 +plasma02.png 1 +plasma03.png 1 +plasma04.png 1 +plasma05.png 1 +plasma06.png 1 +plasma07.png 1 +plasma08.png 1 +plasma09.png 1 +plasma10.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma01.png b/public/base/@vl2/skins.vl2/textures/skins/plasma01.png new file mode 100644 index 00000000..8c728e68 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma02.png b/public/base/@vl2/skins.vl2/textures/skins/plasma02.png new file mode 100644 index 00000000..e01abaf7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma03.png b/public/base/@vl2/skins.vl2/textures/skins/plasma03.png new file mode 100644 index 00000000..b1ee8092 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma04.png b/public/base/@vl2/skins.vl2/textures/skins/plasma04.png new file mode 100644 index 00000000..7d236de4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma05.png b/public/base/@vl2/skins.vl2/textures/skins/plasma05.png new file mode 100644 index 00000000..960f5d1a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma06.png b/public/base/@vl2/skins.vl2/textures/skins/plasma06.png new file mode 100644 index 00000000..96ab3d83 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma07.png b/public/base/@vl2/skins.vl2/textures/skins/plasma07.png new file mode 100644 index 00000000..c9bd4c7a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma08.png b/public/base/@vl2/skins.vl2/textures/skins/plasma08.png new file mode 100644 index 00000000..d44b4252 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma09.png b/public/base/@vl2/skins.vl2/textures/skins/plasma09.png new file mode 100644 index 00000000..7b54541e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma09.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma10.png b/public/base/@vl2/skins.vl2/textures/skins/plasma10.png new file mode 100644 index 00000000..b936e4ab Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma10.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasmaTurret.ifl b/public/base/@vl2/skins.vl2/textures/skins/plasmaTurret.ifl new file mode 100644 index 00000000..15652a76 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plasmaTurret.ifl @@ -0,0 +1,24 @@ +plsre22.PNG 50 +plsre00.PNG 1 +plsre01.PNG 1 +plsre02.PNG 1 +plsre03.PNG 1 +plsre04.PNG 1 +plsre05.PNG 1 +plsre06.PNG 1 +plsre07.PNG 1 +plsre08.PNG 1 +plsre09.PNG 1 +plsre10.PNG 1 +plsre11.PNG 1 +plsre12.PNG 1 +plsre13.PNG 1 +plsre14.PNG 1 +plsre15.PNG 1 +plsre16.PNG 1 +plsre17.PNG 1 +plsre18.PNG 1 +plsre19.PNG 1 +plsre20.PNG 1 +plsre21.PNG 1 +plsre22.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma_ammo.ifl b/public/base/@vl2/skins.vl2/textures/skins/plasma_ammo.ifl new file mode 100644 index 00000000..2f5eb004 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plasma_ammo.ifl @@ -0,0 +1,41 @@ +plsam00.BMP +plsam01.BMP +plsam02.BMP +plsam03.BMP +plsam04.BMP +plsam05.BMP +plsam06.BMP +plsam07.BMP +plsam08.BMP +plsam09.BMP +plsam10.BMP +plsam11.BMP +plsam12.BMP +plsam13.BMP +plsam14.BMP +plsam15.BMP +plsam16.BMP +plsam17.BMP +plsam18.BMP +plsam19.BMP +plsam20.BMP +plsam21.BMP +plsam22.BMP +plsam23.BMP +plsam24.BMP +plsam25.BMP +plsam26.BMP +plsam27.BMP +plsam28.BMP +plsam29.BMP +plsam30.BMP +plsam31.BMP +plsam32.BMP +plsam33.BMP +plsam34.BMP +plsam35.BMP +plsam36.BMP +plsam37.BMP +plsam38.BMP +plsam39.BMP +plsam40.BMP diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma_exhaust.ifl b/public/base/@vl2/skins.vl2/textures/skins/plasma_exhaust.ifl new file mode 100644 index 00000000..d7dce50f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plasma_exhaust.ifl @@ -0,0 +1,24 @@ +plex00.PNG 46 +plex01.PNG 1 +plex02.PNG 1 +plex03.PNG 1 +plex04.PNG 1 +plex05.PNG 1 +plex06.PNG 1 +plex07.PNG 1 +plex08.PNG 1 +plex09.PNG 1 +plex10.PNG 1 +plex11.PNG 1 +plex12.PNG 1 +plex13.PNG 1 +plex14.PNG 1 +plex15.PNG 1 +plex16.PNG 1 +plex17.PNG 1 +plex18.PNG 1 +plex19.PNG 1 +plex20.PNG 1 +plex21.PNG 1 +plex22.PNG 1 +plex23.PNG 60 diff --git a/public/base/@vl2/skins.vl2/textures/skins/plasma_muzzle.PNG b/public/base/@vl2/skins.vl2/textures/skins/plasma_muzzle.PNG new file mode 100644 index 00000000..a7507e6e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plasma_muzzle.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex00.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex00.PNG new file mode 100644 index 00000000..7d040ac1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex01.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex01.PNG new file mode 100644 index 00000000..59dd53e6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex02.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex02.PNG new file mode 100644 index 00000000..29ad3caa Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex03.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex03.PNG new file mode 100644 index 00000000..eaf4e45a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex04.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex04.PNG new file mode 100644 index 00000000..02d960a0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex05.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex05.PNG new file mode 100644 index 00000000..ec8d5528 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex06.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex06.PNG new file mode 100644 index 00000000..c2ce54f8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex06.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex07.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex07.PNG new file mode 100644 index 00000000..eea7e79a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex07.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex08.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex08.PNG new file mode 100644 index 00000000..5ae76c73 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex08.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex09.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex09.PNG new file mode 100644 index 00000000..d7256fd2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex09.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex10.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex10.PNG new file mode 100644 index 00000000..8d26fb82 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex10.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex11.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex11.PNG new file mode 100644 index 00000000..41921e62 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex11.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex12.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex12.PNG new file mode 100644 index 00000000..b4af3b3c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex12.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex13.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex13.PNG new file mode 100644 index 00000000..7029cadc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex13.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex14.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex14.PNG new file mode 100644 index 00000000..7f1f1d2d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex14.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex15.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex15.PNG new file mode 100644 index 00000000..e870e9ec Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex15.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex16.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex16.PNG new file mode 100644 index 00000000..4057368b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex16.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex17.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex17.PNG new file mode 100644 index 00000000..93fbe3f7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex17.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex18.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex18.PNG new file mode 100644 index 00000000..ffa7a004 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex18.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex19.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex19.PNG new file mode 100644 index 00000000..52aa0953 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex19.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex20.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex20.PNG new file mode 100644 index 00000000..7dea9a77 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex20.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex21.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex21.PNG new file mode 100644 index 00000000..7e814ea8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex21.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex22.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex22.PNG new file mode 100644 index 00000000..c2e011cf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex22.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plex23.PNG b/public/base/@vl2/skins.vl2/textures/skins/plex23.PNG new file mode 100644 index 00000000..10544496 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plex23.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec00.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec00.PNG new file mode 100644 index 00000000..c6dde69d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec00.ifl b/public/base/@vl2/skins.vl2/textures/skins/plrec00.ifl new file mode 100644 index 00000000..81268036 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plrec00.ifl @@ -0,0 +1,9 @@ +plrec00.PNG 76 +plrec01.PNG +plrec02.PNG +plrec03.PNG +plrec04.PNG +plrec05.PNG +plrec06.PNG +plrec07.PNG +plrec08.PNG diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec01.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec01.PNG new file mode 100644 index 00000000..c22cecfe Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec02.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec02.PNG new file mode 100644 index 00000000..0c8553a6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec03.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec03.PNG new file mode 100644 index 00000000..93490968 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec04.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec04.PNG new file mode 100644 index 00000000..6ea8866d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec05.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec05.PNG new file mode 100644 index 00000000..b248d116 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec06.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec06.PNG new file mode 100644 index 00000000..d611c892 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec06.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plrec07.PNG b/public/base/@vl2/skins.vl2/textures/skins/plrec07.PNG new file mode 100644 index 00000000..dc5e19c9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plrec07.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsTur0a.ifl b/public/base/@vl2/skins.vl2/textures/skins/plsTur0a.ifl new file mode 100644 index 00000000..1fc90d77 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plsTur0a.ifl @@ -0,0 +1,65 @@ +plsre00.PNG 321 +plsre01.PNG 1 +plsre02.PNG 1 +plsre03.PNG 1 +plsre04.PNG 1 +plsre05.PNG 1 +plsre06.PNG 1 +plsre07.PNG 1 +plsre08.PNG 1 +plsre09.PNG 1 +plsre10.PNG 1 +plsre11.PNG 1 +plsre12.PNG 1 +plsre13.PNG 1 +plsre14.PNG 1 +plsre15.PNG 1 +plsre16.PNG 1 +plsre17.PNG 1 +plsre18.PNG 1 +plsre19.PNG 1 +plsre20.PNG 1 +plsre21.PNG 1 +plsre22.PNG 1 +plsre00.PNG 10 +plsam00.PNG 1 +plsam01.PNG 1 +plsam02.PNG 1 +plsam03.PNG 1 +plsam04.PNG 1 +plsam05.PNG 1 +plsam06.PNG 1 +plsam07.PNG 1 +plsam08.PNG 1 +plsam09.PNG 1 +plsam10.PNG 1 +plsam11.PNG 1 +plsam12.PNG 1 +plsam13.PNG 1 +plsam14.PNG 1 +plsam15.PNG 1 +plsam16.PNG 1 +plsam17.PNG 1 +plsam18.PNG 1 +plsam19.PNG 1 +plsam20.PNG 1 +plsam21.PNG 1 +plsam22.PNG 1 +plsam23.PNG 1 +plsam24.PNG 1 +plsam25.PNG 1 +plsam26.PNG 1 +plsam27.PNG 1 +plsam28.PNG 1 +plsam29.PNG 1 +plsam30.PNG 1 +plsam31.PNG 1 +plsam32.PNG 1 +plsam33.PNG 1 +plsam34.PNG 1 +plsam35.PNG 1 +plsam36.PNG 1 +plsam37.PNG 1 +plsam38.PNG 1 +plsam39.PNG 1 +plsam40.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam00.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam00.PNG new file mode 100644 index 00000000..9f4558f8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam00.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam00.ifl b/public/base/@vl2/skins.vl2/textures/skins/plsam00.ifl new file mode 100644 index 00000000..2273e88e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plsam00.ifl @@ -0,0 +1,41 @@ +plsam00.PNG 76 +plsam01.PNG 1 +plsam02.PNG 1 +plsam03.PNG 1 +plsam04.PNG 1 +plsam05.PNG 1 +plsam06.PNG 1 +plsam07.PNG 1 +plsam08.PNG 1 +plsam09.PNG 1 +plsam10.PNG 1 +plsam11.PNG 1 +plsam12.PNG 1 +plsam13.PNG 1 +plsam14.PNG 1 +plsam15.PNG 1 +plsam16.PNG 1 +plsam17.PNG 1 +plsam18.PNG 1 +plsam19.PNG 1 +plsam20.PNG 1 +plsam21.PNG 1 +plsam22.PNG 1 +plsam23.PNG 1 +plsam24.PNG 1 +plsam25.PNG 1 +plsam26.PNG 1 +plsam27.PNG 1 +plsam28.PNG 1 +plsam29.PNG 1 +plsam30.PNG 1 +plsam31.PNG 1 +plsam32.PNG 1 +plsam33.PNG 1 +plsam34.PNG 1 +plsam35.PNG 1 +plsam36.PNG 1 +plsam37.PNG 1 +plsam38.PNG 1 +plsam39.PNG 1 +plsam40.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam01.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam01.PNG new file mode 100644 index 00000000..2c54e664 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam02.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam02.PNG new file mode 100644 index 00000000..be6ee9d8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam03.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam03.PNG new file mode 100644 index 00000000..0dabcc4b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam04.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam04.PNG new file mode 100644 index 00000000..b4493124 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam05.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam05.PNG new file mode 100644 index 00000000..783eaf38 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam05.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam06.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam06.PNG new file mode 100644 index 00000000..ed5948c0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam06.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam07.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam07.PNG new file mode 100644 index 00000000..fc7c0f3c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam07.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam08.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam08.PNG new file mode 100644 index 00000000..9d0c4e85 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam08.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam09.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam09.PNG new file mode 100644 index 00000000..f2e49d94 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam09.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam0a.ifl b/public/base/@vl2/skins.vl2/textures/skins/plsam0a.ifl new file mode 100644 index 00000000..9f8e31dd --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plsam0a.ifl @@ -0,0 +1,23 @@ +plsre00.PNG 46 +plsre01.PNG 1 +plsre02.PNG 1 +plsre03.PNG 1 +plsre04.PNG 1 +plsre05.PNG 1 +plsre06.PNG 1 +plsre07.PNG 1 +plsre08.PNG 1 +plsre09.PNG 1 +plsre10.PNG 1 +plsre11.PNG 1 +plsre12.PNG 1 +plsre13.PNG 1 +plsre14.PNG 1 +plsre15.PNG 1 +plsre16.PNG 1 +plsre17.PNG 1 +plsre18.PNG 1 +plsre19.PNG 1 +plsre20.PNG 1 +plsre21.PNG 1 +plsre22.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam10.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam10.PNG new file mode 100644 index 00000000..9185395a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam10.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam11.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam11.PNG new file mode 100644 index 00000000..3d1797ae Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam11.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam12.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam12.PNG new file mode 100644 index 00000000..a52d97f5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam12.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam13.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam13.PNG new file mode 100644 index 00000000..8da9c30a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam13.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam14.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam14.PNG new file mode 100644 index 00000000..a864f6f9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam14.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam15.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam15.PNG new file mode 100644 index 00000000..15d75879 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam15.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam16.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam16.PNG new file mode 100644 index 00000000..46d16cf2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam16.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam17.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam17.PNG new file mode 100644 index 00000000..d5a818c4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam17.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam18.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam18.PNG new file mode 100644 index 00000000..2ceaf051 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam18.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam19.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam19.PNG new file mode 100644 index 00000000..cb105cf3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam19.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam20.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam20.PNG new file mode 100644 index 00000000..3951774b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam20.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam21.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam21.PNG new file mode 100644 index 00000000..9abd81eb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam21.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam22.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam22.PNG new file mode 100644 index 00000000..83a88a45 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam22.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam23.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam23.PNG new file mode 100644 index 00000000..309ad2fa Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam23.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam24.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam24.PNG new file mode 100644 index 00000000..f9ee9932 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam24.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam25.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam25.PNG new file mode 100644 index 00000000..29741768 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam25.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam26.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam26.PNG new file mode 100644 index 00000000..88c03a78 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam26.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam27.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam27.PNG new file mode 100644 index 00000000..42f1ef49 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam27.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam28.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam28.PNG new file mode 100644 index 00000000..b359adbf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam28.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam29.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam29.PNG new file mode 100644 index 00000000..71840bf8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam29.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam30.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam30.PNG new file mode 100644 index 00000000..1429a6cd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam30.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam31.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam31.PNG new file mode 100644 index 00000000..308aae2d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam31.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam32.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam32.PNG new file mode 100644 index 00000000..efe67e46 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam32.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam33.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam33.PNG new file mode 100644 index 00000000..7a31ddec Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam33.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam34.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam34.PNG new file mode 100644 index 00000000..ea6fdc2e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam34.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam35.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam35.PNG new file mode 100644 index 00000000..a41c1fa3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam35.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam36.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam36.PNG new file mode 100644 index 00000000..a549869f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam36.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam37.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam37.PNG new file mode 100644 index 00000000..17561984 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam37.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam38.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam38.PNG new file mode 100644 index 00000000..2ec216e2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam38.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam39.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam39.PNG new file mode 100644 index 00000000..d6808104 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam39.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsam40.PNG b/public/base/@vl2/skins.vl2/textures/skins/plsam40.PNG new file mode 100644 index 00000000..7ef6804c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsam40.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsamagun.ifl b/public/base/@vl2/skins.vl2/textures/skins/plsamagun.ifl new file mode 100644 index 00000000..0c85767e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plsamagun.ifl @@ -0,0 +1,41 @@ +plsam00.BMP 76 +plsam01.BMP +plsam02.BMP +plsam03.BMP +plsam04.BMP +plsam05.BMP +plsam06.BMP +plsam07.BMP +plsam08.BMP +plsam09.BMP +plsam10.BMP +plsam11.BMP +plsam12.BMP +plsam13.BMP +plsam14.BMP +plsam15.BMP +plsam16.BMP +plsam17.BMP +plsam18.BMP +plsam19.BMP +plsam20.BMP +plsam21.BMP +plsam22.BMP +plsam23.BMP +plsam24.BMP +plsam25.BMP +plsam26.BMP +plsam27.BMP +plsam28.BMP +plsam29.BMP +plsam30.BMP +plsam31.BMP +plsam32.BMP +plsam33.BMP +plsam34.BMP +plsam35.BMP +plsam36.BMP +plsam37.BMP +plsam38.BMP +plsam39.BMP +plsam40.BMP diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt01.ifl b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt01.ifl new file mode 100644 index 00000000..68abf4b7 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt01.ifl @@ -0,0 +1,54 @@ +plsmabolt01.png 1 +plsmabolt02.png 1 +plsmabolt03.png 1 +plsmabolt04.png 1 +plsmabolt05.png 1 +plsmabolt06.png 1 +plsmabolt07.png 1 +plsmabolt08.png 1 +plsmabolt09.png 1 +plsmabolt10.png 1 + +plsmabolt01.png 1 +plsmabolt02.png 1 +plsmabolt03.png 1 +plsmabolt04.png 1 +plsmabolt05.png 1 +plsmabolt06.png 1 +plsmabolt07.png 1 +plsmabolt08.png 1 +plsmabolt09.png 1 +plsmabolt10.png 1 + +plsmabolt01.png 1 +plsmabolt02.png 1 +plsmabolt03.png 1 +plsmabolt04.png 1 +plsmabolt05.png 1 +plsmabolt06.png 1 +plsmabolt07.png 1 +plsmabolt08.png 1 +plsmabolt09.png 1 +plsmabolt10.png 1 + +plsmabolt01.png 1 +plsmabolt02.png 1 +plsmabolt03.png 1 +plsmabolt04.png 1 +plsmabolt05.png 1 +plsmabolt06.png 1 +plsmabolt07.png 1 +plsmabolt08.png 1 +plsmabolt09.png 1 +plsmabolt10.png 1 + +plsmabolt01.png 1 +plsmabolt02.png 1 +plsmabolt03.png 1 +plsmabolt04.png 1 +plsmabolt05.png 1 +plsmabolt06.png 1 +plsmabolt07.png 1 +plsmabolt08.png 1 +plsmabolt09.png 1 +plsmabolt10.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt01.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt01.png new file mode 100644 index 00000000..5ea407df Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt02.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt02.png new file mode 100644 index 00000000..37a751f8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt03.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt03.png new file mode 100644 index 00000000..a7693b90 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt04.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt04.png new file mode 100644 index 00000000..9efcdc0e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt05.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt05.png new file mode 100644 index 00000000..751f387e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt06.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt06.png new file mode 100644 index 00000000..d0c9cff9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt07.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt07.png new file mode 100644 index 00000000..143ab2d0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt08.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt08.png new file mode 100644 index 00000000..70a7acfd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt09.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt09.png new file mode 100644 index 00000000..4407eccc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt09.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsmabolt10.png b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt10.png new file mode 100644 index 00000000..9344e4a2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/plsmabolt10.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/plsre.ifl b/public/base/@vl2/skins.vl2/textures/skins/plsre.ifl new file mode 100644 index 00000000..9f8e31dd --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/plsre.ifl @@ -0,0 +1,23 @@ +plsre00.PNG 46 +plsre01.PNG 1 +plsre02.PNG 1 +plsre03.PNG 1 +plsre04.PNG 1 +plsre05.PNG 1 +plsre06.PNG 1 +plsre07.PNG 1 +plsre08.PNG 1 +plsre09.PNG 1 +plsre10.PNG 1 +plsre11.PNG 1 +plsre12.PNG 1 +plsre13.PNG 1 +plsre14.PNG 1 +plsre15.PNG 1 +plsre16.PNG 1 +plsre17.PNG 1 +plsre18.PNG 1 +plsre19.PNG 1 +plsre20.PNG 1 +plsre21.PNG 1 +plsre22.PNG 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/pod1.PNG b/public/base/@vl2/skins.vl2/textures/skins/pod1.PNG new file mode 100644 index 00000000..788962b7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/pod1.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/porg2.png b/public/base/@vl2/skins.vl2/textures/skins/porg2.png new file mode 100644 index 00000000..d06e2e07 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/porg2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/porg4.png b/public/base/@vl2/skins.vl2/textures/skins/porg4.png new file mode 100644 index 00000000..4cfc640a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/porg4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/programmers1.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/programmers1.plaque.png new file mode 100644 index 00000000..cab2c711 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/programmers1.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/programmers2.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/programmers2.plaque.png new file mode 100644 index 00000000..97682cdd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/programmers2.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/purple00.ifl b/public/base/@vl2/skins.vl2/textures/skins/purple00.ifl new file mode 100644 index 00000000..b7cdbdf4 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/purple00.ifl @@ -0,0 +1,5 @@ +purple00.png 4 +purple01.PNG 4 +purple02.PNG 3 +purple03.PNG 3 +purple04.PNG 20 diff --git a/public/base/@vl2/skins.vl2/textures/skins/purple00.png b/public/base/@vl2/skins.vl2/textures/skins/purple00.png new file mode 100644 index 00000000..3d81dedd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/purple00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/purple01.PNG b/public/base/@vl2/skins.vl2/textures/skins/purple01.PNG new file mode 100644 index 00000000..78af2bbc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/purple01.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/purple02.PNG b/public/base/@vl2/skins.vl2/textures/skins/purple02.PNG new file mode 100644 index 00000000..c4daa730 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/purple02.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/purple03.PNG b/public/base/@vl2/skins.vl2/textures/skins/purple03.PNG new file mode 100644 index 00000000..337582d7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/purple03.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/purple04.PNG b/public/base/@vl2/skins.vl2/textures/skins/purple04.PNG new file mode 100644 index 00000000..c43b20ac Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/purple04.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/qix.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/qix.plaque.png new file mode 100644 index 00000000..66167bbc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/qix.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/raf.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/raf.plaque.png new file mode 100644 index 00000000..417de867 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/raf.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/ratedz.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/ratedz.plaque.png new file mode 100644 index 00000000..4fbf9d09 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/ratedz.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/red_blink.ifl b/public/base/@vl2/skins.vl2/textures/skins/red_blink.ifl new file mode 100644 index 00000000..8e4c167e --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/red_blink.ifl @@ -0,0 +1,5 @@ +red_blink0.PNG 52 +red_blink1.PNG 1 +red_blink2.PNG 1 +red_blink3.PNG 1 +red_blink4.PNG 10 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/red_blink0.png b/public/base/@vl2/skins.vl2/textures/skins/red_blink0.png new file mode 100644 index 00000000..01dcc0ed Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/red_blink0.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/red_blink1.png b/public/base/@vl2/skins.vl2/textures/skins/red_blink1.png new file mode 100644 index 00000000..153849c6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/red_blink1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/red_blink2.png b/public/base/@vl2/skins.vl2/textures/skins/red_blink2.png new file mode 100644 index 00000000..cda73861 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/red_blink2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/red_blink3.png b/public/base/@vl2/skins.vl2/textures/skins/red_blink3.png new file mode 100644 index 00000000..77a71d42 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/red_blink3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/red_blink4.png b/public/base/@vl2/skins.vl2/textures/skins/red_blink4.png new file mode 100644 index 00000000..dc37fd1c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/red_blink4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/repair_kit.png b/public/base/@vl2/skins.vl2/textures/skins/repair_kit.png new file mode 100644 index 00000000..016e1556 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/repair_kit.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/repair_patch.png b/public/base/@vl2/skins.vl2/textures/skins/repair_patch.png new file mode 100644 index 00000000..eba1d795 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/repair_patch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/rickets.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/rickets.plaque.png new file mode 100644 index 00000000..1a6373ff Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/rickets.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/rusty.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/rusty.mmale.png new file mode 100644 index 00000000..53c23a70 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/rusty.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline.ifl b/public/base/@vl2/skins.vl2/textures/skins/scanline.ifl new file mode 100644 index 00000000..0bb71158 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/scanline.ifl @@ -0,0 +1,6 @@ +scanline1.png 3 +scanline2.png 3 +scanline3.png 3 +scanline4.png 3 +scanline5.png 3 +scanline6.png 3 diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline1.PNG b/public/base/@vl2/skins.vl2/textures/skins/scanline1.PNG new file mode 100644 index 00000000..79d1016d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/scanline1.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline2.PNG b/public/base/@vl2/skins.vl2/textures/skins/scanline2.PNG new file mode 100644 index 00000000..85cab739 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/scanline2.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline3.PNG b/public/base/@vl2/skins.vl2/textures/skins/scanline3.PNG new file mode 100644 index 00000000..c2ade279 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/scanline3.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline4.PNG b/public/base/@vl2/skins.vl2/textures/skins/scanline4.PNG new file mode 100644 index 00000000..a0b66216 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/scanline4.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline5.PNG b/public/base/@vl2/skins.vl2/textures/skins/scanline5.PNG new file mode 100644 index 00000000..493446f5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/scanline5.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/scanline6.PNG b/public/base/@vl2/skins.vl2/textures/skins/scanline6.PNG new file mode 100644 index 00000000..1a3082ae Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/scanline6.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenframe.png b/public/base/@vl2/skins.vl2/textures/skins/screenframe.png new file mode 100644 index 00000000..ef6cd9f5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/screenframe.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenstatic1.ifl b/public/base/@vl2/skins.vl2/textures/skins/screenstatic1.ifl new file mode 100644 index 00000000..2f3c3283 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/screenstatic1.ifl @@ -0,0 +1,153 @@ +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 + + +screenstatic1.png 1 +screenstatic2.png 1 +screenstatic3.png 1 +screenstatic4.png 1 +screenstatic5.png 1 \ No newline at end of file diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenstatic1.png b/public/base/@vl2/skins.vl2/textures/skins/screenstatic1.png new file mode 100644 index 00000000..b817e198 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/screenstatic1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenstatic2.png b/public/base/@vl2/skins.vl2/textures/skins/screenstatic2.png new file mode 100644 index 00000000..751cec2f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/screenstatic2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenstatic3.png b/public/base/@vl2/skins.vl2/textures/skins/screenstatic3.png new file mode 100644 index 00000000..95dae655 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/screenstatic3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenstatic4.png b/public/base/@vl2/skins.vl2/textures/skins/screenstatic4.png new file mode 100644 index 00000000..69aa11a9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/screenstatic4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/screenstatic5.png b/public/base/@vl2/skins.vl2/textures/skins/screenstatic5.png new file mode 100644 index 00000000..3ff0a039 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/screenstatic5.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/sensor_pulse_large.PNG b/public/base/@vl2/skins.vl2/textures/skins/sensor_pulse_large.PNG new file mode 100644 index 00000000..75c71669 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/sensor_pulse_large.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/sensor_pulse_med.PNG b/public/base/@vl2/skins.vl2/textures/skins/sensor_pulse_med.PNG new file mode 100644 index 00000000..b524b411 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/sensor_pulse_med.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/sentry.png b/public/base/@vl2/skins.vl2/textures/skins/sentry.png new file mode 100644 index 00000000..0b127312 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/sentry.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/shark.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/shark.plaque.png new file mode 100644 index 00000000..b7fd9c27 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/shark.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/shrikeflare2.png b/public/base/@vl2/skins.vl2/textures/skins/shrikeflare2.png new file mode 100644 index 00000000..a57441be Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/shrikeflare2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/skeet.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/skeet.plaque.png new file mode 100644 index 00000000..c1af8c3e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/skeet.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/skin2.png b/public/base/@vl2/skins.vl2/textures/skins/skin2.png new file mode 100644 index 00000000..aea343a7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/skin2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke.ifl b/public/base/@vl2/skins.vl2/textures/skins/smoke.ifl new file mode 100644 index 00000000..e7c93d8f --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/smoke.ifl @@ -0,0 +1,21 @@ +smoke00.png 1 +smoke01.png 1 +smoke02.png 1 +smoke03.png 1 +smoke04.png 1 +smoke05.png 1 +smoke06.png 1 +smoke07.png 1 +smoke08.png 1 +smoke09.png 1 +smoke10.png 1 +smoke11.png 1 +smoke12.png 1 +smoke13.png 1 +smoke14.png 1 +smoke15.png 1 +smoke16.png 1 +smoke17.png 1 +smoke18.png 1 +smoke19.png 1 +smoke20.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke00.png b/public/base/@vl2/skins.vl2/textures/skins/smoke00.png new file mode 100644 index 00000000..85d336e8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke00.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke01.png b/public/base/@vl2/skins.vl2/textures/skins/smoke01.png new file mode 100644 index 00000000..e8a279fb Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke01.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke02.png b/public/base/@vl2/skins.vl2/textures/skins/smoke02.png new file mode 100644 index 00000000..75727c7f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke02.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke03.png b/public/base/@vl2/skins.vl2/textures/skins/smoke03.png new file mode 100644 index 00000000..b6381833 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke03.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke04.png b/public/base/@vl2/skins.vl2/textures/skins/smoke04.png new file mode 100644 index 00000000..39c2aaca Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke04.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke05.png b/public/base/@vl2/skins.vl2/textures/skins/smoke05.png new file mode 100644 index 00000000..a489a159 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke05.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke06.png b/public/base/@vl2/skins.vl2/textures/skins/smoke06.png new file mode 100644 index 00000000..5d6b67bc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke06.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke07.png b/public/base/@vl2/skins.vl2/textures/skins/smoke07.png new file mode 100644 index 00000000..4bbf28b4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke07.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke08.png b/public/base/@vl2/skins.vl2/textures/skins/smoke08.png new file mode 100644 index 00000000..f61f6cfc Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke08.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke09.png b/public/base/@vl2/skins.vl2/textures/skins/smoke09.png new file mode 100644 index 00000000..1d2897e5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke09.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke10.png b/public/base/@vl2/skins.vl2/textures/skins/smoke10.png new file mode 100644 index 00000000..b8049462 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke10.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke11.png b/public/base/@vl2/skins.vl2/textures/skins/smoke11.png new file mode 100644 index 00000000..38e7cfb7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke11.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke12.png b/public/base/@vl2/skins.vl2/textures/skins/smoke12.png new file mode 100644 index 00000000..234c23ad Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke12.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke13.png b/public/base/@vl2/skins.vl2/textures/skins/smoke13.png new file mode 100644 index 00000000..33825790 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke13.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke14.png b/public/base/@vl2/skins.vl2/textures/skins/smoke14.png new file mode 100644 index 00000000..06e9f7f7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke14.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke15.png b/public/base/@vl2/skins.vl2/textures/skins/smoke15.png new file mode 100644 index 00000000..0333b9a5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke15.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke16.png b/public/base/@vl2/skins.vl2/textures/skins/smoke16.png new file mode 100644 index 00000000..a5656b77 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke16.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke17.png b/public/base/@vl2/skins.vl2/textures/skins/smoke17.png new file mode 100644 index 00000000..cf309f2a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke17.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke18.png b/public/base/@vl2/skins.vl2/textures/skins/smoke18.png new file mode 100644 index 00000000..456bff38 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke18.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke19.png b/public/base/@vl2/skins.vl2/textures/skins/smoke19.png new file mode 100644 index 00000000..db2e32c2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke19.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/smoke20.png b/public/base/@vl2/skins.vl2/textures/skins/smoke20.png new file mode 100644 index 00000000..9c10edca Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/smoke20.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/sneaker.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/sneaker.plaque.png new file mode 100644 index 00000000..47c27437 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/sneaker.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/snowleopard.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/snowleopard.plaque.png new file mode 100644 index 00000000..5703eeff Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/snowleopard.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/solarpanel.png b/public/base/@vl2/skins.vl2/textures/skins/solarpanel.png new file mode 100644 index 00000000..2be918cd Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/solarpanel.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/sparks00.ifl b/public/base/@vl2/skins.vl2/textures/skins/sparks00.ifl new file mode 100644 index 00000000..236111ce --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/sparks00.ifl @@ -0,0 +1,124 @@ +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 + + +sparks00.png 1 +sparks01.png 1 +sparks02.png 1 +sparks03.png 1 +sparks04.png 1 +sparks05.png 1 +sparks06.png 1 +sparks07.png 1 +sparks08.png 1 +sparks09.png 1 +sparks10.png 1 diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable.png b/public/base/@vl2/skins.vl2/textures/skins/stackable.png new file mode 100644 index 00000000..dae49cdf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable1L.png b/public/base/@vl2/skins.vl2/textures/skins/stackable1L.png new file mode 100644 index 00000000..b963ad95 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable1L.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable1M.png b/public/base/@vl2/skins.vl2/textures/skins/stackable1M.png new file mode 100644 index 00000000..a84b3fb8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable1M.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable1S.png b/public/base/@vl2/skins.vl2/textures/skins/stackable1S.png new file mode 100644 index 00000000..20b7153a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable1S.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable2L.png b/public/base/@vl2/skins.vl2/textures/skins/stackable2L.png new file mode 100644 index 00000000..a21e170f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable2L.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable2S.png b/public/base/@vl2/skins.vl2/textures/skins/stackable2S.png new file mode 100644 index 00000000..68d66740 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable2S.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable2m.png b/public/base/@vl2/skins.vl2/textures/skins/stackable2m.png new file mode 100644 index 00000000..6465152b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable2m.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable3L.png b/public/base/@vl2/skins.vl2/textures/skins/stackable3L.png new file mode 100644 index 00000000..b32c8ac5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable3L.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable3m.png b/public/base/@vl2/skins.vl2/textures/skins/stackable3m.png new file mode 100644 index 00000000..eb2f44a4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable3m.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable3s.png b/public/base/@vl2/skins.vl2/textures/skins/stackable3s.png new file mode 100644 index 00000000..4d1c920d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable3s.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable4L.png b/public/base/@vl2/skins.vl2/textures/skins/stackable4L.png new file mode 100644 index 00000000..eee6b8e5 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable4L.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable4M.png b/public/base/@vl2/skins.vl2/textures/skins/stackable4M.png new file mode 100644 index 00000000..8fbfbd14 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable4M.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable5L.png b/public/base/@vl2/skins.vl2/textures/skins/stackable5L.png new file mode 100644 index 00000000..12cc2f10 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable5L.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/stackable5m.png b/public/base/@vl2/skins.vl2/textures/skins/stackable5m.png new file mode 100644 index 00000000..10692f06 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/stackable5m.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damage.png b/public/base/@vl2/skins.vl2/textures/skins/station_damage.png new file mode 100644 index 00000000..a2db69b9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damage.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageL1.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageL1.png new file mode 100644 index 00000000..1dca7aa4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageL1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageL2.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageL2.png new file mode 100644 index 00000000..040e5e8a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageL2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageL3.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageL3.png new file mode 100644 index 00000000..8885f44b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageL3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageM1.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageM1.png new file mode 100644 index 00000000..e852aac1 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageM1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageM2.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageM2.png new file mode 100644 index 00000000..034c2474 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageM2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageM3.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageM3.png new file mode 100644 index 00000000..b7b5ce34 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageM3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageS1.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageS1.png new file mode 100644 index 00000000..ece68fc4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageS1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageS2.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageS2.png new file mode 100644 index 00000000..cd3494b3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageS2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageS3.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageS3.png new file mode 100644 index 00000000..8c53c160 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageS3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damageS4.png b/public/base/@vl2/skins.vl2/textures/skins/station_damageS4.png new file mode 100644 index 00000000..bdc3f2ec Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damageS4.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_damage_alpha.png b/public/base/@vl2/skins.vl2/textures/skins/station_damage_alpha.png new file mode 100644 index 00000000..183ffa7c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_damage_alpha.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_inventory.png b/public/base/@vl2/skins.vl2/textures/skins/station_inventory.png new file mode 100644 index 00000000..36d2b512 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_inventory.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_inventory_activate.png b/public/base/@vl2/skins.vl2/textures/skins/station_inventory_activate.png new file mode 100644 index 00000000..d0314c7f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_inventory_activate.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_teleporter.png b/public/base/@vl2/skins.vl2/textures/skins/station_teleporter.png new file mode 100644 index 00000000..8d51d721 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_teleporter.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_teleporter_activate.png b/public/base/@vl2/skins.vl2/textures/skins/station_teleporter_activate.png new file mode 100644 index 00000000..f86c5edf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_teleporter_activate.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/station_vpad.png b/public/base/@vl2/skins.vl2/textures/skins/station_vpad.png new file mode 100644 index 00000000..eefc755a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/station_vpad.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/statue_HMale.png b/public/base/@vl2/skins.vl2/textures/skins/statue_HMale.png new file mode 100644 index 00000000..efa293fe Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/statue_HMale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/statue_LFemale.png b/public/base/@vl2/skins.vl2/textures/skins/statue_LFemale.png new file mode 100644 index 00000000..81c717b9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/statue_LFemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/statue_LMale.png b/public/base/@vl2/skins.vl2/textures/skins/statue_LMale.png new file mode 100644 index 00000000..5eb55d98 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/statue_LMale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/statue_base.png b/public/base/@vl2/skins.vl2/textures/skins/statue_base.png new file mode 100644 index 00000000..45d1e228 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/statue_base.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/statue_plaque.png b/public/base/@vl2/skins.vl2/textures/skins/statue_plaque.png new file mode 100644 index 00000000..2852f820 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/statue_plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/switch.png b/public/base/@vl2/skins.vl2/textures/skins/switch.png new file mode 100644 index 00000000..cb8c0211 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/switchbeam.png b/public/base/@vl2/skins.vl2/textures/skins/switchbeam.png new file mode 100644 index 00000000..2b37d644 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/switchbeam.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.flag.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.flag.png new file mode 100644 index 00000000..618e5e5e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.flag.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.hmale.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.hmale.png new file mode 100644 index 00000000..e30f51ba Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.hmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.lfemale.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.lfemale.png new file mode 100644 index 00000000..f7598907 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.lfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.lmale.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.lmale.png new file mode 100644 index 00000000..2044bb9d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.lmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.mfemale.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.mfemale.png new file mode 100644 index 00000000..abd3ca69 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.mfemale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.mmale.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.mmale.png new file mode 100644 index 00000000..a74041b9 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.mmale.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf.switch.png b/public/base/@vl2/skins.vl2/textures/skins/swolf.switch.png new file mode 100644 index 00000000..3ec98b5e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf.switch.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf_hmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/swolf_hmale_512.png new file mode 100644 index 00000000..9d91bbad Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf_hmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf_lfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/swolf_lfemale_512.png new file mode 100644 index 00000000..7cf924c7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf_lfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf_lmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/swolf_lmale_512.png new file mode 100644 index 00000000..a3b0c19a Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf_lmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf_mfemale_512.png b/public/base/@vl2/skins.vl2/textures/skins/swolf_mfemale_512.png new file mode 100644 index 00000000..6cf1b794 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf_mfemale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/swolf_mmale_512.png b/public/base/@vl2/skins.vl2/textures/skins/swolf_mmale_512.png new file mode 100644 index 00000000..6cbf9727 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/swolf_mmale_512.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/symlink.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/symlink.plaque.png new file mode 100644 index 00000000..9d39a4b3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/symlink.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/todesritter.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/todesritter.plaque.png new file mode 100644 index 00000000..9c259de8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/todesritter.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/tomin8tor.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/tomin8tor.plaque.png new file mode 100644 index 00000000..b42731a7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/tomin8tor.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/tribes1.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/tribes1.plaque.png new file mode 100644 index 00000000..c60d2955 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/tribes1.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_InOut_deploy.png b/public/base/@vl2/skins.vl2/textures/skins/turret_InOut_deploy.png new file mode 100644 index 00000000..017cc926 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/turret_InOut_deploy.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_assaultTank.png b/public/base/@vl2/skins.vl2/textures/skins/turret_assaultTank.png new file mode 100644 index 00000000..645ec85e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/turret_assaultTank.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_base_large.PNG b/public/base/@vl2/skins.vl2/textures/skins/turret_base_large.PNG new file mode 100644 index 00000000..8a3aef07 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/turret_base_large.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_belly.png b/public/base/@vl2/skins.vl2/textures/skins/turret_belly.png new file mode 100644 index 00000000..e8aedbd0 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/turret_belly.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_light_red.ifl b/public/base/@vl2/skins.vl2/textures/skins/turret_light_red.ifl new file mode 100644 index 00000000..51a30b58 --- /dev/null +++ b/public/base/@vl2/skins.vl2/textures/skins/turret_light_red.ifl @@ -0,0 +1,21 @@ +light_red06.png 110 +light_red05.png 2 +light_red04.png 2 +light_red03.png 2 +light_red02.png 2 +light_red01.png 2 +light_red02.png 2 +light_red03.png 2 +light_red04.png 2 +light_red05.png 2 +light_red06.png 10 +light_red05.png 1 +light_red04.png 1 +light_red03.png 1 +light_red02.png 1 +light_red01.png 1 +light_red02.png 1 +light_red03.png 1 +light_red04.png 1 +light_red05.png 1 +light_red06.png 10 diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_remote.png b/public/base/@vl2/skins.vl2/textures/skins/turret_remote.png new file mode 100644 index 00000000..96d51e0c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/turret_remote.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/turret_sentry.png b/public/base/@vl2/skins.vl2/textures/skins/turret_sentry.png new file mode 100644 index 00000000..004e5006 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/turret_sentry.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/twitch.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/twitch.plaque.png new file mode 100644 index 00000000..13237473 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/twitch.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/uberbob.plaque.png b/public/base/@vl2/skins.vl2/textures/skins/uberbob.plaque.png new file mode 100644 index 00000000..cd82f791 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/uberbob.plaque.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vaportrail.png b/public/base/@vl2/skins.vl2/textures/skins/vaportrail.png new file mode 100644 index 00000000..a36e87f4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vaportrail.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber1.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber1.png new file mode 100644 index 00000000..40da5f3e Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber2.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber2.png new file mode 100644 index 00000000..e3cd95d8 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber3.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber3.png new file mode 100644 index 00000000..f7721dba Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_bomber3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc1.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc1.png new file mode 100644 index 00000000..80201ef6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc2.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc2.png new file mode 100644 index 00000000..ea762205 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc3.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc3.png new file mode 100644 index 00000000..04d2e0ec Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_hpc3.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_scout.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_scout.png new file mode 100644 index 00000000..801f4f36 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_air_scout.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_grav_tank_bodyside1.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_grav_tank_bodyside1.png new file mode 100644 index 00000000..f0e68d9d Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_grav_tank_bodyside1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_grav_tank_bodyside2.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_grav_tank_bodyside2.png new file mode 100644 index 00000000..a0b18caa Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_grav_tank_bodyside2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_land_mpb1.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_land_mpb1.png new file mode 100644 index 00000000..8b98303b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_land_mpb1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_land_mpb2.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_land_mpb2.png new file mode 100644 index 00000000..7014ead6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_land_mpb2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vehicle_mpb_sensor_panelsON.png b/public/base/@vl2/skins.vl2/textures/skins/vehicle_mpb_sensor_panelsON.png new file mode 100644 index 00000000..cd355582 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vehicle_mpb_sensor_panelsON.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vpad_activate.png b/public/base/@vl2/skins.vl2/textures/skins/vpad_activate.png new file mode 100644 index 00000000..401f26d2 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vpad_activate.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vpad_ambient.png b/public/base/@vl2/skins.vl2/textures/skins/vpad_ambient.png new file mode 100644 index 00000000..939b2c59 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vpad_ambient.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/vpad_arm.png b/public/base/@vl2/skins.vl2/textures/skins/vpad_arm.png new file mode 100644 index 00000000..7dceeb27 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/vpad_arm.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_chaingun.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_chaingun.png new file mode 100644 index 00000000..61938f1c Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_chaingun.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_chaingun_ammocasing.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_chaingun_ammocasing.png new file mode 100644 index 00000000..af3975da Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_chaingun_ammocasing.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_disc.PNG b/public/base/@vl2/skins.vl2/textures/skins/weapon_disc.PNG new file mode 100644 index 00000000..9e4abaab Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_disc.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_elf.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_elf.png new file mode 100644 index 00000000..c6246902 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_elf.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_energy.PNG b/public/base/@vl2/skins.vl2/textures/skins/weapon_energy.PNG new file mode 100644 index 00000000..3964ad9f Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_energy.PNG differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_energy_vehicle.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_energy_vehicle.png new file mode 100644 index 00000000..da654223 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_energy_vehicle.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_grenade_launcher.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_grenade_launcher.png new file mode 100644 index 00000000..4fe2afaa Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_grenade_launcher.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_missile.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_missile.png new file mode 100644 index 00000000..88be08f7 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_missile.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_missile_casement.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_missile_casement.png new file mode 100644 index 00000000..3409197b Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_missile_casement.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_mortar.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_mortar.png new file mode 100644 index 00000000..a8632aac Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_mortar.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_plasma1.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_plasma1.png new file mode 100644 index 00000000..107e69cf Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_plasma1.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_plasma2.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_plasma2.png new file mode 100644 index 00000000..3bd1f7c4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_plasma2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_plasmathrower.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_plasmathrower.png new file mode 100644 index 00000000..9e002827 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_plasmathrower.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_repair.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_repair.png new file mode 100644 index 00000000..dcc690a4 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_repair.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_shocklance.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_shocklance.png new file mode 100644 index 00000000..d14b9444 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_shocklance.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_shocklance_glow .png b/public/base/@vl2/skins.vl2/textures/skins/weapon_shocklance_glow .png new file mode 100644 index 00000000..e7eb72a3 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_shocklance_glow .png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_sniper.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_sniper.png new file mode 100644 index 00000000..b0b82c82 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_sniper.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/weapon_targeting.png b/public/base/@vl2/skins.vl2/textures/skins/weapon_targeting.png new file mode 100644 index 00000000..7619a306 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/weapon_targeting.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/xorg2.png b/public/base/@vl2/skins.vl2/textures/skins/xorg2.png new file mode 100644 index 00000000..e26a7a62 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/xorg2.png differ diff --git a/public/base/@vl2/skins.vl2/textures/skins/yellow.png b/public/base/@vl2/skins.vl2/textures/skins/yellow.png new file mode 100644 index 00000000..942c7cd6 Binary files /dev/null and b/public/base/@vl2/skins.vl2/textures/skins/yellow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/Badlands_l4.dml b/public/base/@vl2/textures.vl2/textures/Badlands_l4.dml new file mode 100644 index 00000000..bdab7698 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/Badlands_l4.dml @@ -0,0 +1,10 @@ +lush/skies/l4_f +lush/skies/l4_r +lush/skies/l4_b +lush/skies/l4_l +lush/skies/l4_t +lush/skies/l4_bottom +badlands/skies/bd_day_cloud_emap +lush/skies/lushcloud1 +lush/skies/lushcloud4 +lush/skies/lushcloud3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/Desert_l4.dml b/public/base/@vl2/textures.vl2/textures/Desert_l4.dml new file mode 100644 index 00000000..2957ef05 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/Desert_l4.dml @@ -0,0 +1,10 @@ +lush/skies/l4_f +lush/skies/l4_r +lush/skies/l4_b +lush/skies/l4_l +lush/skies/l4_t +lush/skies/l4_bottom +desert/skies/desert_blue_emap +lush/skies/lushcloud1 +lush/skies/lushcloud4 +lush/skies/lushcloud3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/Lush_l4.dml b/public/base/@vl2/textures.vl2/textures/Lush_l4.dml new file mode 100644 index 00000000..1ff5b74d --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/Lush_l4.dml @@ -0,0 +1,10 @@ +lush/skies/l4_f +lush/skies/l4_r +lush/skies/l4_b +lush/skies/l4_l +lush/skies/l4_t +lush/skies/l4_bottom +lush/skies/lush_day_emap +lush/skies/lushcloud1 +lush/skies/lushcloud4 +lush/skies/lushcloud3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/T2IntroC15.avi b/public/base/@vl2/textures.vl2/textures/T2IntroC15.avi new file mode 100644 index 00000000..6935d6c1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/T2IntroC15.avi differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_cursor_arrow_icon.png b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_cursor_arrow_icon.png new file mode 100644 index 00000000..e1a808f5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_cursor_arrow_icon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_handclose_icon.png b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_handclose_icon.png new file mode 100644 index 00000000..86bba355 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_handclose_icon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_handopen_icon.png b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_handopen_icon.png new file mode 100644 index 00000000..cf885443 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_handopen_icon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_maglass_icon.png b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_maglass_icon.png new file mode 100644 index 00000000..9393bca9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_maglass_icon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_pointer_icon.png b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_pointer_icon.png new file mode 100644 index 00000000..2d99b240 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_pointer_icon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_pointer_pos_icon.png b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_pointer_pos_icon.png new file mode 100644 index 00000000..b1bf783f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Cursors/com_pointer_pos_icon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_columnheadbar.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_columnheadbar.png new file mode 100644 index 00000000..a38203fc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_columnheadbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_control_checkbox.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_control_checkbox.png new file mode 100644 index 00000000..79c1433a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_control_checkbox.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_gradient.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_gradient.png new file mode 100644 index 00000000..acc262ec Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_gradient.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_camera.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_camera.png new file mode 100644 index 00000000..0527db9d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_camera.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_center.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_center.png new file mode 100644 index 00000000..c762e031 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_center.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_misc.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_misc.png new file mode 100644 index 00000000..1dc45ba0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_misc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_misc_D.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_misc_D.png new file mode 100644 index 00000000..b0b13ff4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_misc_D.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_moveselect.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_moveselect.png new file mode 100644 index 00000000..40485bdd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_moveselect.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_objectives.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_objectives.png new file mode 100644 index 00000000..9bdbdb9b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_objectives.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_players.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_players.png new file mode 100644 index 00000000..483cd417 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_players.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_sensor.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_sensor.png new file mode 100644 index 00000000..2496ee13 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_sensor.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_tactical.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_tactical.png new file mode 100644 index 00000000..fb20f332 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_tactical.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_tactical_D.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_tactical_D.png new file mode 100644 index 00000000..fce3bf6a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_tactical_D.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_text.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_text.png new file mode 100644 index 00000000..00b84299 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_text.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_waypoints.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_waypoints.png new file mode 100644 index 00000000..9e0e4cdf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_waypoints.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_zoom.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_zoom.png new file mode 100644 index 00000000..128db7e4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_icon_zoom.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_offscreen_arrow.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_offscreen_arrow.png new file mode 100644 index 00000000..67187e2d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_offscreen_arrow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_tv_frame.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_tv_frame.png new file mode 100644 index 00000000..050104f1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_tv_frame.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_tv_static.png b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_tv_static.png new file mode 100644 index 00000000..d04178bd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Gui/cmd_tv_static.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/assigned_task_anim.dml b/public/base/@vl2/textures.vl2/textures/commander/Icons/assigned_task_anim.dml new file mode 100644 index 00000000..e80f2d2e --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/commander/Icons/assigned_task_anim.dml @@ -0,0 +1,6 @@ +commander/icons/diamond_frame_1 +commander/icons/diamond_frame_2 +commander/icons/diamond_frame_3 +commander/icons/diamond_frame_4 +commander/icons/diamond_frame_5 +commander/icons/diamond_frame_6 diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/base_select.dml b/public/base/@vl2/textures.vl2/textures/commander/Icons/base_select.dml new file mode 100644 index 00000000..8e105273 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/commander/Icons/base_select.dml @@ -0,0 +1,7 @@ +commander/icons/selectobject_1 +commander/icons/selectobject_2 +commander/icons/selectobject_3 +commander/icons/selectobject_4 +commander/icons/selectobject_5 +commander/icons/selectobject_6 +commander/icons/selectobject_7 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bioderm.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bioderm.png new file mode 100644 index 00000000..7e4e4aa2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bioderm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bioderm_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bioderm_glow.png new file mode 100644 index 00000000..0f58a36d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bioderm_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bloodeagle.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bloodeagle.png new file mode 100644 index 00000000..841443e5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bloodeagle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bloodeagle_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bloodeagle_glow.png new file mode 100644 index 00000000..7acb4ac8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bloodeagle_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bomber.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bomber.png new file mode 100644 index 00000000..918262e7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bomber.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bomber_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bomber_glow.png new file mode 100644 index 00000000..8b368614 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_bomber_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_camera.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_camera.png new file mode 100644 index 00000000..33a034ec Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_camera.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_camera_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_camera_glow.png new file mode 100644 index 00000000..b5434b4c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_camera_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_diamsword.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_diamsword.png new file mode 100644 index 00000000..5ff1ac5c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_diamsword.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_diamsword_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_diamsword_glow.png new file mode 100644 index 00000000..80c7c8d1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_diamsword_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_flag_outside.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_flag_outside.png new file mode 100644 index 00000000..e2af2b9c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_flag_outside.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_flag_outside_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_flag_outside_glow.png new file mode 100644 index 00000000..0afb80c7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_flag_outside_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_generator.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_generator.png new file mode 100644 index 00000000..924db189 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_generator.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_generator_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_generator_glow.png new file mode 100644 index 00000000..cf4e897c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_generator_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_genericswitch.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_genericswitch.png new file mode 100644 index 00000000..2e356cfa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_genericswitch.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_genericswitch_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_genericswitch_glow.png new file mode 100644 index 00000000..32a95be8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_genericswitch_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_hapc.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_hapc.png new file mode 100644 index 00000000..76363a30 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_hapc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_hapc_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_hapc_glow.png new file mode 100644 index 00000000..08552e95 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_hapc_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_harbinger.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_harbinger.png new file mode 100644 index 00000000..1dc76da5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_harbinger.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_harbinger_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_harbinger_glow.png new file mode 100644 index 00000000..966d200d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_harbinger_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inferno.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inferno.png new file mode 100644 index 00000000..c6c8829f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inferno.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inferno_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inferno_glow.png new file mode 100644 index 00000000..4c6b91de Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inferno_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inventory.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inventory.png new file mode 100644 index 00000000..4e418852 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inventory.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inventory_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inventory_glow.png new file mode 100644 index 00000000..0d13609a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_inventory_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_landscout.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_landscout.png new file mode 100644 index 00000000..38757486 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_landscout.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_landscout_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_landscout_glow.png new file mode 100644 index 00000000..92163c3b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_landscout_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_mpb.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_mpb.png new file mode 100644 index 00000000..0435c26d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_mpb.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_mpb_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_mpb_glow.png new file mode 100644 index 00000000..e43e61d1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_mpb_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_nexus.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_nexus.png new file mode 100644 index 00000000..93564928 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_nexus.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_nexus_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_nexus_glow.png new file mode 100644 index 00000000..0a859c1c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_nexus_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_scout.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_scout.png new file mode 100644 index 00000000..cc65d205 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_scout.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_scout_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_scout_glow.png new file mode 100644 index 00000000..401df1fd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_scout_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_sensor.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_sensor.png new file mode 100644 index 00000000..fbe08db2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_sensor.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_sensor_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_sensor_glow.png new file mode 100644 index 00000000..f85ddd52 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_sensor_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_solar_gen.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_solar_gen.png new file mode 100644 index 00000000..cd615acc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_solar_gen.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_solar_gen_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_solar_gen_glow.png new file mode 100644 index 00000000..7dbb7dd7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_solar_gen_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_starwolf.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_starwolf.png new file mode 100644 index 00000000..d84ae6f4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_starwolf.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_starwolf_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_starwolf_glow.png new file mode 100644 index 00000000..0bf5c50b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_starwolf_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_storm.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_storm.png new file mode 100644 index 00000000..e756900c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_storm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_storm_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_storm_glow.png new file mode 100644 index 00000000..e2c1138f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_storm_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_tank.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_tank.png new file mode 100644 index 00000000..3a9840bd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_tank.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_tank_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_tank_glow.png new file mode 100644 index 00000000..160f165a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_tank_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turret.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turret.png new file mode 100644 index 00000000..26f765a6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turret.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turret_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turret_glow.png new file mode 100644 index 00000000..b1807c58 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turret_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turretbase.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turretbase.png new file mode 100644 index 00000000..cfc642da Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turretbase.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turretbase_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turretbase_glow.png new file mode 100644 index 00000000..1787cf9a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_turretbase_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_vehicle_inventory.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_vehicle_inventory.png new file mode 100644 index 00000000..11db2cd2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_vehicle_inventory.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_vehicle_inventory_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_vehicle_inventory_glow.png new file mode 100644 index 00000000..fdc09560 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_icon_vehicle_inventory_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_player_grey_24x.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_player_grey_24x.png new file mode 100644 index 00000000..43257ed0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_player_grey_24x.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_player_grey_24x_glow.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_player_grey_24x_glow.png new file mode 100644 index 00000000..b56a187d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_player_grey_24x_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_1.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_1.png new file mode 100644 index 00000000..e9aa7c4a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_2.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_2.png new file mode 100644 index 00000000..21638bc6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_3.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_3.png new file mode 100644 index 00000000..2111268f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_4.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_4.png new file mode 100644 index 00000000..bf0a4a85 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_5.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_5.png new file mode 100644 index 00000000..847f4759 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_6.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_6.png new file mode 100644 index 00000000..10f68129 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_7.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_7.png new file mode 100644 index 00000000..086d325b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/com_waypoint_7.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_1.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_1.png new file mode 100644 index 00000000..2fa879f9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_2.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_2.png new file mode 100644 index 00000000..c6b44114 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_3.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_3.png new file mode 100644 index 00000000..62263f57 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_4.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_4.png new file mode 100644 index 00000000..d0af7b3c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_5.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_5.png new file mode 100644 index 00000000..456c6e21 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_6.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_6.png new file mode 100644 index 00000000..5e731903 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_frame_6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_not_selected.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_not_selected.png new file mode 100644 index 00000000..3a02319d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/diamond_not_selected.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/player_glow.dml b/public/base/@vl2/textures.vl2/textures/commander/Icons/player_glow.dml new file mode 100644 index 00000000..588de606 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/commander/Icons/player_glow.dml @@ -0,0 +1,2 @@ +commander/icons/com_player_glow1 +commander/icons/com_player_glow2 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_1.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_1.png new file mode 100644 index 00000000..b70b5ea1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_2.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_2.png new file mode 100644 index 00000000..1711c168 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_3.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_3.png new file mode 100644 index 00000000..7bbae527 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_4.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_4.png new file mode 100644 index 00000000..2f394ce4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_5.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_5.png new file mode 100644 index 00000000..43ff0e41 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_6.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_6.png new file mode 100644 index 00000000..9d57ba86 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_7.png b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_7.png new file mode 100644 index 00000000..accceacd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/Icons/selectobject_7.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/Icons/waypoint_anim.dml b/public/base/@vl2/textures.vl2/textures/commander/Icons/waypoint_anim.dml new file mode 100644 index 00000000..68aa6c9f --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/commander/Icons/waypoint_anim.dml @@ -0,0 +1,7 @@ +commander/icons/com_waypoint_1 +commander/icons/com_waypoint_2 +commander/icons/com_waypoint_3 +commander/icons/com_waypoint_4 +commander/icons/com_waypoint_5 +commander/icons/com_waypoint_6 +commander/icons/com_waypoint_7 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_bomber_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_bomber_grey.png new file mode 100644 index 00000000..7d1ddb66 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_bomber_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_camera_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_camera_grey.png new file mode 100644 index 00000000..47c9561e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_camera_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_deploymotionsensor.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_deploymotionsensor.png new file mode 100644 index 00000000..3c50e981 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_deploymotionsensor.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_deploypulsesensor.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_deploypulsesensor.png new file mode 100644 index 00000000..75aa68b7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_deploypulsesensor.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_flag_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_flag_grey.png new file mode 100644 index 00000000..25f852d9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_flag_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_generator.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_generator.png new file mode 100644 index 00000000..dde176d7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_generator.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_hapc_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_hapc_grey.png new file mode 100644 index 00000000..cf464158 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_hapc_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_inventory_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_inventory_grey.png new file mode 100644 index 00000000..56c8bd80 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_inventory_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_landscout_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_landscout_grey.png new file mode 100644 index 00000000..1d1d25b2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_landscout_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_mpb_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_mpb_grey.png new file mode 100644 index 00000000..651bef63 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_mpb_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_player_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_player_grey.png new file mode 100644 index 00000000..24282202 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_player_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_scout_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_scout_grey.png new file mode 100644 index 00000000..1db5192a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_scout_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_sensor_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_sensor_grey.png new file mode 100644 index 00000000..b62746e1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_sensor_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_solargen_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_solargen_grey.png new file mode 100644 index 00000000..0758772b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_solargen_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_switch_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_switch_grey.png new file mode 100644 index 00000000..4ba924f8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_switch_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_tank_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_tank_grey.png new file mode 100644 index 00000000..c2f57ff0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_tank_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_turret_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_turret_grey.png new file mode 100644 index 00000000..47bf766c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_turret_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_turretbase_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_turretbase_grey.png new file mode 100644 index 00000000..ca62b3f3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_turretbase_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_vehicle_pad_inventory.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_vehicle_pad_inventory.png new file mode 100644 index 00000000..9b52aa40 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_vehicle_pad_inventory.png differ diff --git a/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_waypoint_grey.png b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_waypoint_grey.png new file mode 100644 index 00000000..4cb39dcb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/commander/MiniIcons/com_waypoint_grey.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/BadDet1.png b/public/base/@vl2/textures.vl2/textures/details/BadDet1.png new file mode 100644 index 00000000..02354c5a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/BadDet1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/BadDet2.png b/public/base/@vl2/textures.vl2/textures/details/BadDet2.png new file mode 100644 index 00000000..f5226f73 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/BadDet2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/DesertDet1.png b/public/base/@vl2/textures.vl2/textures/details/DesertDet1.png new file mode 100644 index 00000000..0d77015f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/DesertDet1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/DesertDet2.png b/public/base/@vl2/textures.vl2/textures/details/DesertDet2.png new file mode 100644 index 00000000..7f31d0e8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/DesertDet2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/LavaDet1.png b/public/base/@vl2/textures.vl2/textures/details/LavaDet1.png new file mode 100644 index 00000000..b96ed19a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/LavaDet1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/LavaDet2.png b/public/base/@vl2/textures.vl2/textures/details/LavaDet2.png new file mode 100644 index 00000000..22f605b2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/LavaDet2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/LushDet1.png b/public/base/@vl2/textures.vl2/textures/details/LushDet1.png new file mode 100644 index 00000000..969ff83d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/LushDet1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/LushDet2.png b/public/base/@vl2/textures.vl2/textures/details/LushDet2.png new file mode 100644 index 00000000..6af6947f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/LushDet2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/SnowDet1.png b/public/base/@vl2/textures.vl2/textures/details/SnowDet1.png new file mode 100644 index 00000000..ba1466db Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/SnowDet1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/details/SnowDet2.png b/public/base/@vl2/textures.vl2/textures/details/SnowDet2.png new file mode 100644 index 00000000..ba1466db Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/details/SnowDet2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust00.png b/public/base/@vl2/textures.vl2/textures/dust00.png new file mode 100644 index 00000000..31c46c63 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust00.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust01.png b/public/base/@vl2/textures.vl2/textures/dust01.png new file mode 100644 index 00000000..3c145a7c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust02.png b/public/base/@vl2/textures.vl2/textures/dust02.png new file mode 100644 index 00000000..cfed4213 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust03.png b/public/base/@vl2/textures.vl2/textures/dust03.png new file mode 100644 index 00000000..26ece974 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust04.png b/public/base/@vl2/textures.vl2/textures/dust04.png new file mode 100644 index 00000000..07745cd3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust04.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust05.png b/public/base/@vl2/textures.vl2/textures/dust05.png new file mode 100644 index 00000000..9f7935b6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust05.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust06.png b/public/base/@vl2/textures.vl2/textures/dust06.png new file mode 100644 index 00000000..1adede70 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust06.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust07.png b/public/base/@vl2/textures.vl2/textures/dust07.png new file mode 100644 index 00000000..c86ba333 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust07.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust08.png b/public/base/@vl2/textures.vl2/textures/dust08.png new file mode 100644 index 00000000..2b605ce5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust08.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust09.png b/public/base/@vl2/textures.vl2/textures/dust09.png new file mode 100644 index 00000000..4d883a01 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust09.png differ diff --git a/public/base/@vl2/textures.vl2/textures/dust10.png b/public/base/@vl2/textures.vl2/textures/dust10.png new file mode 100644 index 00000000..dcad9f70 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/dust10.png differ diff --git a/public/base/@vl2/textures.vl2/textures/emap.bmp b/public/base/@vl2/textures.vl2/textures/emap.bmp new file mode 100644 index 00000000..0da2734c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/emap.bmp differ diff --git a/public/base/@vl2/textures.vl2/textures/emap.png b/public/base/@vl2/textures.vl2/textures/emap.png new file mode 100644 index 00000000..ebfb0ec9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/emap.png differ diff --git a/public/base/@vl2/textures.vl2/textures/flarebase.png b/public/base/@vl2/textures.vl2/textures/flarebase.png new file mode 100644 index 00000000..52b5053c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/flarebase.png differ diff --git a/public/base/@vl2/textures.vl2/textures/flaremod.png b/public/base/@vl2/textures.vl2/textures/flaremod.png new file mode 100644 index 00000000..c1864f82 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/flaremod.png differ diff --git a/public/base/@vl2/textures.vl2/textures/fluid_lava.dml b/public/base/@vl2/textures.vl2/textures/fluid_lava.dml new file mode 100644 index 00000000..23c74e5f --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/fluid_lava.dml @@ -0,0 +1,6 @@ +LiquidTiles/LavaPool01 +LiquidTiles/LavaPool02 +LiquidTiles/LavaPool03 +LiquidTiles/LavaPool04 +desert/skies/d_n_move1 +special/grainy diff --git a/public/base/@vl2/textures.vl2/textures/fluid_water.dml b/public/base/@vl2/textures.vl2/textures/fluid_water.dml new file mode 100644 index 00000000..27b8bac6 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/fluid_water.dml @@ -0,0 +1,5 @@ +LiquidTiles/IslandWater01 +LiquidTiles/IslandWater02 +LiquidTiles/IslandWater03 +LiquidTiles/IslandWater04 +desert/skies/desertMove3 diff --git a/public/base/@vl2/textures.vl2/textures/gui/BloodEagle.png b/public/base/@vl2/textures.vl2/textures/gui/BloodEagle.png new file mode 100644 index 00000000..4cc45d11 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/BloodEagle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_1.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_1.png new file mode 100644 index 00000000..4b63f52d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_10.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_10.png new file mode 100644 index 00000000..998a0546 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_10.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_11.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_11.png new file mode 100644 index 00000000..c057210f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_11.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_12.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_12.png new file mode 100644 index 00000000..a524b5e5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_12.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_13.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_13.png new file mode 100644 index 00000000..fc452302 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_13.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_14.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_14.png new file mode 100644 index 00000000..da80c88f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_14.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_15.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_15.png new file mode 100644 index 00000000..cd8fa858 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_15.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_16.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_16.png new file mode 100644 index 00000000..f493b856 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_16.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_17.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_17.png new file mode 100644 index 00000000..b9e235de Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_17.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_18.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_18.png new file mode 100644 index 00000000..4e6643da Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_18.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_19.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_19.png new file mode 100644 index 00000000..386c30a5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_19.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_2.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_2.png new file mode 100644 index 00000000..17013a4e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_20.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_20.png new file mode 100644 index 00000000..a2e29dc2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_20.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_21.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_21.png new file mode 100644 index 00000000..d113a603 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_21.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_22.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_22.png new file mode 100644 index 00000000..b11026c0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_22.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_23.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_23.png new file mode 100644 index 00000000..64b87092 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_23.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_24.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_24.png new file mode 100644 index 00000000..2740cb07 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_24.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_25.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_25.png new file mode 100644 index 00000000..2edf3416 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_25.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_26.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_26.png new file mode 100644 index 00000000..429bc3b0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_26.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_27.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_27.png new file mode 100644 index 00000000..c06c12cf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_27.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_28.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_28.png new file mode 100644 index 00000000..a9ddc5ad Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_28.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_29.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_29.png new file mode 100644 index 00000000..ba268d05 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_29.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_3.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_3.png new file mode 100644 index 00000000..3758790d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_30.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_30.png new file mode 100644 index 00000000..ca8ef4fc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_30.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_31.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_31.png new file mode 100644 index 00000000..7438747b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_31.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_32.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_32.png new file mode 100644 index 00000000..e2a66a42 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_32.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_33.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_33.png new file mode 100644 index 00000000..91212986 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_33.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_34.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_34.png new file mode 100644 index 00000000..a9ebdea1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_34.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_35.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_35.png new file mode 100644 index 00000000..7eecb7cf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_35.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_36.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_36.png new file mode 100644 index 00000000..7c91478d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_36.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_37.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_37.png new file mode 100644 index 00000000..44121893 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_37.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_38.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_38.png new file mode 100644 index 00000000..52880c61 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_38.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_39.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_39.png new file mode 100644 index 00000000..0be478ee Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_39.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_4.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_4.png new file mode 100644 index 00000000..8f8544af Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_40.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_40.png new file mode 100644 index 00000000..a6564539 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_40.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_41.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_41.png new file mode 100644 index 00000000..2277abea Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_41.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_42.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_42.png new file mode 100644 index 00000000..37d292b8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_42.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_43.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_43.png new file mode 100644 index 00000000..e13c228a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_43.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_44.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_44.png new file mode 100644 index 00000000..ddbf5151 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_44.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_45.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_45.png new file mode 100644 index 00000000..01ac6460 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_45.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_46.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_46.png new file mode 100644 index 00000000..21ef6827 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_46.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_5.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_5.png new file mode 100644 index 00000000..448d53ca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_6.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_6.png new file mode 100644 index 00000000..38909a7d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_7.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_7.png new file mode 100644 index 00000000..51f13a2f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_7.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_8.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_8.png new file mode 100644 index 00000000..96220791 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_8.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CRED_9.png b/public/base/@vl2/textures.vl2/textures/gui/CRED_9.png new file mode 100644 index 00000000..ac30f4fc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CRED_9.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrow.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrow.png new file mode 100644 index 00000000..1e06287e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowhelp.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowhelp.png new file mode 100644 index 00000000..790d4038 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowhelp.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowno.PNG b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowno.PNG new file mode 100644 index 00000000..20c7351b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowno.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowwait.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowwait.png new file mode 100644 index 00000000..28fa5a46 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3darrowwait.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3ddiagleft.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3ddiagleft.png new file mode 100644 index 00000000..93e2af4d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3ddiagleft.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3ddiagright.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3ddiagright.png new file mode 100644 index 00000000..59c09bca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3ddiagright.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3dleftright.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dleftright.png new file mode 100644 index 00000000..63c20e16 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dleftright.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3dmove.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dmove.png new file mode 100644 index 00000000..29af9d6a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dmove.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3dresizeright.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dresizeright.png new file mode 100644 index 00000000..ec5a151c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dresizeright.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_3dupdown.PNG b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dupdown.PNG new file mode 100644 index 00000000..c0897e89 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_3dupdown.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_Grab.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_Grab.png new file mode 100644 index 00000000..7bab05a3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_Grab.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_Hand.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_Hand.png new file mode 100644 index 00000000..5e107364 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_Hand.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/CUR_Rotate.png b/public/base/@vl2/textures.vl2/textures/gui/CUR_Rotate.png new file mode 100644 index 00000000..24c91b85 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/CUR_Rotate.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Editor_DefaultHandle.png b/public/base/@vl2/textures.vl2/textures/gui/Editor_DefaultHandle.png new file mode 100644 index 00000000..c32ed3fb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Editor_DefaultHandle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Editor_LockedHandle.png b/public/base/@vl2/textures.vl2/textures/gui/Editor_LockedHandle.png new file mode 100644 index 00000000..e4dcd319 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Editor_LockedHandle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Editor_SelectHandle.png b/public/base/@vl2/textures.vl2/textures/gui/Editor_SelectHandle.png new file mode 100644 index 00000000..941fcd9c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Editor_SelectHandle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/GGSplash.jpg b/public/base/@vl2/textures.vl2/textures/gui/GGSplash.jpg new file mode 100644 index 00000000..81d193e7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/GGSplash.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/HUD_watermark1.png b/public/base/@vl2/textures.vl2/textures/gui/HUD_watermark1.png new file mode 100644 index 00000000..b89fd3f5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/HUD_watermark1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/HUD_watermark2.png b/public/base/@vl2/textures.vl2/textures/gui/HUD_watermark2.png new file mode 100644 index 00000000..357a9df9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/HUD_watermark2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Hud_chat_button_off.png b/public/base/@vl2/textures.vl2/textures/gui/Hud_chat_button_off.png new file mode 100644 index 00000000..41a43e9e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Hud_chat_button_off.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Hud_chat_button_on.png b/public/base/@vl2/textures.vl2/textures/gui/Hud_chat_button_on.png new file mode 100644 index 00000000..80387b2a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Hud_chat_button_on.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/InfoBar.png b/public/base/@vl2/textures.vl2/textures/gui/InfoBar.png new file mode 100644 index 00000000..c5126bac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/InfoBar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/KILLME.PNG b/public/base/@vl2/textures.vl2/textures/gui/KILLME.PNG new file mode 100644 index 00000000..ca54647b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/KILLME.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Abominable.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Abominable.png new file mode 100644 index 00000000..850b99a2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Abominable.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_AgentsOfFortune.png b/public/base/@vl2/textures.vl2/textures/gui/Load_AgentsOfFortune.png new file mode 100644 index 00000000..3e022942 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_AgentsOfFortune.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Alcatraz.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Alcatraz.png new file mode 100644 index 00000000..aef8ff99 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Alcatraz.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Archipelago.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Archipelago.png new file mode 100644 index 00000000..b795fbc0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Archipelago.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_AshesToAshes.png b/public/base/@vl2/textures.vl2/textures/gui/Load_AshesToAshes.png new file mode 100644 index 00000000..694136c9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_AshesToAshes.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_BeggarsRun.png b/public/base/@vl2/textures.vl2/textures/gui/Load_BeggarsRun.png new file mode 100644 index 00000000..de1e1fda Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_BeggarsRun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Caldera.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Caldera.png new file mode 100644 index 00000000..78601359 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Caldera.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Casern_Cavite.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Casern_Cavite.png new file mode 100644 index 00000000..3e58d87d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Casern_Cavite.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_CompUSA-Melee.png b/public/base/@vl2/textures.vl2/textures/gui/Load_CompUSA-Melee.png new file mode 100644 index 00000000..12f8a906 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_CompUSA-Melee.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_CompUSA_Melee.png b/public/base/@vl2/textures.vl2/textures/gui/Load_CompUSA_Melee.png new file mode 100644 index 00000000..12f8a906 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_CompUSA_Melee.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Damnation.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Damnation.png new file mode 100644 index 00000000..b4482f33 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Damnation.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_DeathBirdsFly.png b/public/base/@vl2/textures.vl2/textures/gui/Load_DeathBirdsFly.png new file mode 100644 index 00000000..2630072e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_DeathBirdsFly.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Desiccator.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Desiccator.png new file mode 100644 index 00000000..84bab3b8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Desiccator.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_DustToDust.png b/public/base/@vl2/textures.vl2/textures/gui/Load_DustToDust.png new file mode 100644 index 00000000..9a27bd4a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_DustToDust.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_EB-Hades.png b/public/base/@vl2/textures.vl2/textures/gui/Load_EB-Hades.png new file mode 100644 index 00000000..e22251dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_EB-Hades.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_EB_Hades.png b/public/base/@vl2/textures.vl2/textures/gui/Load_EB_Hades.png new file mode 100644 index 00000000..e22251dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_EB_Hades.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Equinox.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Equinox.png new file mode 100644 index 00000000..04242aa6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Equinox.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Escalade.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Escalade.png new file mode 100644 index 00000000..42227f34 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Escalade.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Fall_To_Glory.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Fall_To_Glory.png new file mode 100644 index 00000000..ff5fbcfd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Fall_To_Glory.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Flashpoint.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Flashpoint.png new file mode 100644 index 00000000..7aee3b6a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Flashpoint.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Gauntlet.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Gauntlet.png new file mode 100644 index 00000000..5c45664d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Gauntlet.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Gehenna.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Gehenna.png new file mode 100644 index 00000000..5debc119 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Gehenna.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Icebound.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Icebound.png new file mode 100644 index 00000000..e7ba90b2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Icebound.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Insalubria.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Insalubria.png new file mode 100644 index 00000000..977fd341 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Insalubria.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Invictus.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Invictus.png new file mode 100644 index 00000000..cee48551 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Invictus.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_JacobsLadder.png b/public/base/@vl2/textures.vl2/textures/gui/Load_JacobsLadder.png new file mode 100644 index 00000000..e8253dbd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_JacobsLadder.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Masada.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Masada.png new file mode 100644 index 00000000..45d8324c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Masada.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Minotaur.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Minotaur.png new file mode 100644 index 00000000..04d8eab3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Minotaur.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_MyrkWood.png b/public/base/@vl2/textures.vl2/textures/gui/Load_MyrkWood.png new file mode 100644 index 00000000..05389310 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_MyrkWood.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Oasis.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Oasis.png new file mode 100644 index 00000000..b5914fe1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Oasis.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Overreach.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Overreach.png new file mode 100644 index 00000000..66e1490c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Overreach.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Pyroclasm.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Pyroclasm.png new file mode 100644 index 00000000..35f0efbe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Pyroclasm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Quagmire.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Quagmire.png new file mode 100644 index 00000000..cd9c5f3f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Quagmire.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Rasp.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Rasp.png new file mode 100644 index 00000000..4051bcd3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Rasp.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Recalescence.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Recalescence.png new file mode 100644 index 00000000..3f9a3092 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Recalescence.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Respite.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Respite.png new file mode 100644 index 00000000..02b38cdd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Respite.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Reversion.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Reversion.png new file mode 100644 index 00000000..515d58a3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Reversion.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Rimehold.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Rimehold.png new file mode 100644 index 00000000..9a0b37e8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Rimehold.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Sanctuary.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Sanctuary.png new file mode 100644 index 00000000..d54c3768 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Sanctuary.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Sirocco.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Sirocco.png new file mode 100644 index 00000000..b55087bf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Sirocco.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Slapdash.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Slapdash.png new file mode 100644 index 00000000..744d35c0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Slapdash.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_SunDried.png b/public/base/@vl2/textures.vl2/textures/gui/Load_SunDried.png new file mode 100644 index 00000000..031e63eb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_SunDried.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Talus.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Talus.png new file mode 100644 index 00000000..bf5719ef Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Talus.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_ThinIce.png b/public/base/@vl2/textures.vl2/textures/gui/Load_ThinIce.png new file mode 100644 index 00000000..51c929f2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_ThinIce.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Tombstone.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Tombstone.png new file mode 100644 index 00000000..a1be5924 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Tombstone.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Training1.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Training1.png new file mode 100644 index 00000000..4ff88302 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Training1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Training2.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Training2.png new file mode 100644 index 00000000..cc20edc2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Training2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Training3.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Training3.png new file mode 100644 index 00000000..94d14114 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Training3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Training4.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Training4.png new file mode 100644 index 00000000..a87b490a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Training4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Training5.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Training5.png new file mode 100644 index 00000000..77a37028 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Training5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_UltimaThule.png b/public/base/@vl2/textures.vl2/textures/gui/Load_UltimaThule.png new file mode 100644 index 00000000..dc647350 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_UltimaThule.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Underhill.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Underhill.png new file mode 100644 index 00000000..d1c99301 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Underhill.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Load_Whiteout.png b/public/base/@vl2/textures.vl2/textures/gui/Load_Whiteout.png new file mode 100644 index 00000000..e6c20b10 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Load_Whiteout.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/Loading.png b/public/base/@vl2/textures.vl2/textures/gui/Loading.png new file mode 100644 index 00000000..516c7a81 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/Loading.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_blaster.png b/public/base/@vl2/textures.vl2/textures/gui/RET_blaster.png new file mode 100644 index 00000000..565a5244 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_blaster.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_chaingun.png b/public/base/@vl2/textures.vl2/textures/gui/RET_chaingun.png new file mode 100644 index 00000000..efe78259 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_chaingun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_disc.png b/public/base/@vl2/textures.vl2/textures/gui/RET_disc.png new file mode 100644 index 00000000..252c600c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_disc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_elf.png b/public/base/@vl2/textures.vl2/textures/gui/RET_elf.png new file mode 100644 index 00000000..23152d51 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_elf.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_grenade.png b/public/base/@vl2/textures.vl2/textures/gui/RET_grenade.png new file mode 100644 index 00000000..8b111b29 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_grenade.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_missile.png b/public/base/@vl2/textures.vl2/textures/gui/RET_missile.png new file mode 100644 index 00000000..f5c5b723 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_missile.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_missile_horizflash_red.png b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_horizflash_red.png new file mode 100644 index 00000000..e72e7011 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_horizflash_red.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_missile_marker.png b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_marker.png new file mode 100644 index 00000000..bf23a402 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_marker.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_missile_marker_red.png b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_marker_red.png new file mode 100644 index 00000000..be920706 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_marker_red.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_missile_vertflash_red.png b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_vertflash_red.png new file mode 100644 index 00000000..789296a4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_missile_vertflash_red.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_mortor.png b/public/base/@vl2/textures.vl2/textures/gui/RET_mortor.png new file mode 100644 index 00000000..82688f4b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_mortor.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/RET_plasma.png b/public/base/@vl2/textures.vl2/textures/gui/RET_plasma.png new file mode 100644 index 00000000..02c077f1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/RET_plasma.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonHilight.png b/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonHilight.png new file mode 100644 index 00000000..358121c4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonHilight.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonNormal.png b/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonNormal.png new file mode 100644 index 00000000..49c2864c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonNormal.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonPressed.png b/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonPressed.png new file mode 100644 index 00000000..a1684369 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/ShellTBButtonPressed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/beacon_base.png b/public/base/@vl2/textures.vl2/textures/gui/beacon_base.png new file mode 100644 index 00000000..c66c662f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/beacon_base.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/bg_Bioderm.png b/public/base/@vl2/textures.vl2/textures/gui/bg_Bioderm.png new file mode 100644 index 00000000..ef910173 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/bg_Bioderm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/bg_Bloodeagle.png b/public/base/@vl2/textures.vl2/textures/gui/bg_Bloodeagle.png new file mode 100644 index 00000000..89d1dc4e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/bg_Bloodeagle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/bg_Diamondsword.png b/public/base/@vl2/textures.vl2/textures/gui/bg_Diamondsword.png new file mode 100644 index 00000000..f05efb10 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/bg_Diamondsword.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/bg_Hammers.png b/public/base/@vl2/textures.vl2/textures/gui/bg_Hammers.png new file mode 100644 index 00000000..c8f8475a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/bg_Hammers.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/bg_Harbingers.png b/public/base/@vl2/textures.vl2/textures/gui/bg_Harbingers.png new file mode 100644 index 00000000..5f1f3fdd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/bg_Harbingers.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/bg_Starwolf.png b/public/base/@vl2/textures.vl2/textures/gui/bg_Starwolf.png new file mode 100644 index 00000000..5d58b610 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/bg_Starwolf.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/crosshairs.png b/public/base/@vl2/textures.vl2/textures/gui/crosshairs.png new file mode 100644 index 00000000..4ac66875 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/crosshairs.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/darkScroll.png b/public/base/@vl2/textures.vl2/textures/gui/darkScroll.png new file mode 100644 index 00000000..c76c0521 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/darkScroll.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/darkWindow.png b/public/base/@vl2/textures.vl2/textures/gui/darkWindow.png new file mode 100644 index 00000000..f8a563c5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/darkWindow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_box.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_box.png new file mode 100644 index 00000000..9e82b2f2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_box.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_button.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_button.png new file mode 100644 index 00000000..d99edf4a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_button.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_fieldfill.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_fieldfill.png new file mode 100644 index 00000000..a6967d19 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_fieldfill.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_fieldgrade.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_fieldgrade.png new file mode 100644 index 00000000..a9c7f3ba Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_fieldgrade.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_frame_edge.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_frame_edge.png new file mode 100644 index 00000000..39d2f9da Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_frame_edge.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_frame_end.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_frame_end.png new file mode 100644 index 00000000..67d9f52e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_frame_end.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/dlg_titletab.png b/public/base/@vl2/textures.vl2/textures/gui/dlg_titletab.png new file mode 100644 index 00000000..57304347 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/dlg_titletab.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/email_notread.png b/public/base/@vl2/textures.vl2/textures/gui/email_notread.png new file mode 100644 index 00000000..0a7a8f37 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/email_notread.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/email_read.png b/public/base/@vl2/textures.vl2/textures/gui/email_read.png new file mode 100644 index 00000000..88d02220 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/email_read.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ChatPageDown.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ChatPageDown.png new file mode 100644 index 00000000..4caeea8e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ChatPageDown.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_alliedtriangle.png b/public/base/@vl2/textures.vl2/textures/gui/hud_alliedtriangle.png new file mode 100644 index 00000000..851850cd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_alliedtriangle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ammopack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ammopack.png new file mode 100644 index 00000000..71037738 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ammopack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_armbar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_armbar.png new file mode 100644 index 00000000..6875ac6a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_armbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_armbaricon.png b/public/base/@vl2/textures.vl2/textures/gui/hud_armbaricon.png new file mode 100644 index 00000000..3a6be6de Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_armbaricon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_beacon.png b/public/base/@vl2/textures.vl2/textures/gui/hud_beacon.png new file mode 100644 index 00000000..08f8c027 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_beacon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_blaster.png b/public/base/@vl2/textures.vl2/textures/gui/hud_blaster.png new file mode 100644 index 00000000..2c41cfd4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_blaster.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_camera.png b/public/base/@vl2/textures.vl2/textures/gui/hud_camera.png new file mode 100644 index 00000000..84903dfe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_camera.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_chaingun.png b/public/base/@vl2/textures.vl2/textures/gui/hud_chaingun.png new file mode 100644 index 00000000..5df88aa5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_chaingun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_chat.png b/public/base/@vl2/textures.vl2/textures/gui/hud_chat.png new file mode 100644 index 00000000..5de2b42b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_chat.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_cloakpack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_cloakpack.png new file mode 100644 index 00000000..c554f105 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_cloakpack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_cmmndfield.png b/public/base/@vl2/textures.vl2/textures/gui/hud_cmmndfield.png new file mode 100644 index 00000000..fcba476d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_cmmndfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_deploypack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_deploypack.png new file mode 100644 index 00000000..264c5a9a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_deploypack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_disc.png b/public/base/@vl2/textures.vl2/textures/gui/hud_disc.png new file mode 100644 index 00000000..726b3d5a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_disc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_disconnect.png b/public/base/@vl2/textures.vl2/textures/gui/hud_disconnect.png new file mode 100644 index 00000000..04cef87f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_disconnect.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_dot.png b/public/base/@vl2/textures.vl2/textures/gui/hud_dot.png new file mode 100644 index 00000000..50159800 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_dot.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_east.png b/public/base/@vl2/textures.vl2/textures/gui/hud_east.png new file mode 100644 index 00000000..110e4b01 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_east.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_elfgun.png b/public/base/@vl2/textures.vl2/textures/gui/hud_elfgun.png new file mode 100644 index 00000000..264813f3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_elfgun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_enemytriangle.png b/public/base/@vl2/textures.vl2/textures/gui/hud_enemytriangle.png new file mode 100644 index 00000000..16e2c161 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_enemytriangle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_energypack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_energypack.png new file mode 100644 index 00000000..5f416953 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_energypack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ergbar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ergbar.png new file mode 100644 index 00000000..6875ac6a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ergbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ergbaricon.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ergbaricon.png new file mode 100644 index 00000000..cdc96421 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ergbaricon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_grenlaunch.png b/public/base/@vl2/textures.vl2/textures/gui/hud_grenlaunch.png new file mode 100644 index 00000000..bc639ee4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_grenlaunch.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_handgren.png b/public/base/@vl2/textures.vl2/textures/gui/hud_handgren.png new file mode 100644 index 00000000..e115dffe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_handgren.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_infinity.png b/public/base/@vl2/textures.vl2/textures/gui/hud_infinity.png new file mode 100644 index 00000000..1c14fc91 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_infinity.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_jamm.png b/public/base/@vl2/textures.vl2/textures/gui/hud_jamm.png new file mode 100644 index 00000000..172459a0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_jamm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_medpack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_medpack.png new file mode 100644 index 00000000..6fad6dfb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_medpack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_mine.png b/public/base/@vl2/textures.vl2/textures/gui/hud_mine.png new file mode 100644 index 00000000..11b3b856 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_mine.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_missiles.png b/public/base/@vl2/textures.vl2/textures/gui/hud_missiles.png new file mode 100644 index 00000000..4f27225c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_missiles.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_mistimer.png b/public/base/@vl2/textures.vl2/textures/gui/hud_mistimer.png new file mode 100644 index 00000000..f4ddc033 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_mistimer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_mortor.png b/public/base/@vl2/textures.vl2/textures/gui/hud_mortor.png new file mode 100644 index 00000000..0b565332 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_mortor.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_navcirc.png b/public/base/@vl2/textures.vl2/textures/gui/hud_navcirc.png new file mode 100644 index 00000000..8530f8d7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_navcirc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_NSEW.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_NSEW.png new file mode 100644 index 00000000..973f1b37 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_NSEW.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_beacon.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_beacon.png new file mode 100644 index 00000000..fcf9b40d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_beacon.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_blaster.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_blaster.png new file mode 100644 index 00000000..99f062d2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_blaster.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_chaingun.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_chaingun.png new file mode 100644 index 00000000..d5764ae0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_chaingun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_cog.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_cog.png new file mode 100644 index 00000000..f6d4df81 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_cog.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_compass.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_compass.png new file mode 100644 index 00000000..a1886a08 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_compass.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_disc.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_disc.png new file mode 100644 index 00000000..afd2df2d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_disc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_elfgun.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_elfgun.png new file mode 100644 index 00000000..46dfe94f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_elfgun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_grenlaunch.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_grenlaunch.png new file mode 100644 index 00000000..58691121 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_grenlaunch.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_handgren.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_handgren.png new file mode 100644 index 00000000..c2fba41b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_handgren.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_medpack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_medpack.png new file mode 100644 index 00000000..0b50f3e8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_medpack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_mine.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_mine.png new file mode 100644 index 00000000..8562c0ba Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_mine.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_missile.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_missile.png new file mode 100644 index 00000000..b96e6d05 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_missile.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_mortar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_mortar.png new file mode 100644 index 00000000..26c18f1e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_mortar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packammo.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packammo.png new file mode 100644 index 00000000..76389c88 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packammo.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packcloak.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packcloak.png new file mode 100644 index 00000000..c41bac9b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packcloak.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packcloak_armed.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packcloak_armed.png new file mode 100644 index 00000000..0e4f689d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packcloak_armed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packenergy.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packenergy.png new file mode 100644 index 00000000..fd59a9ca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packenergy.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packinventory.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packinventory.png new file mode 100644 index 00000000..53b79021 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packinventory.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packmotionsens.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packmotionsens.png new file mode 100644 index 00000000..a6577057 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packmotionsens.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packradar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packradar.png new file mode 100644 index 00000000..810d41c8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packradar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packrepair.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packrepair.png new file mode 100644 index 00000000..65717ddf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packrepair.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packrepair_armed.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packrepair_armed.png new file mode 100644 index 00000000..27d1040b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packrepair_armed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsatchel.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsatchel.png new file mode 100644 index 00000000..f4d2a36c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsatchel.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsensjam.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsensjam.png new file mode 100644 index 00000000..41fe5cca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsensjam.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsensjam_armed.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsensjam_armed.png new file mode 100644 index 00000000..dd216f96 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packsensjam_armed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packshield.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packshield.png new file mode 100644 index 00000000..7331fc51 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packshield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packshield_armed.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packshield_armed.png new file mode 100644 index 00000000..446a142a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packshield_armed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturret.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturret.png new file mode 100644 index 00000000..07bcbf24 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturret.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturretin.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturretin.png new file mode 100644 index 00000000..1758fb7f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturretin.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturretout.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturretout.png new file mode 100644 index 00000000..00739f48 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_packturretout.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_panel.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_panel.png new file mode 100644 index 00000000..e334424d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_panel.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping.png new file mode 100644 index 00000000..9f7b7770 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_green.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_green.png new file mode 100644 index 00000000..918a037e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_green.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_red.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_red.png new file mode 100644 index 00000000..9c6f3a92 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_red.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_yellow.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_yellow.png new file mode 100644 index 00000000..7d2a7be6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_ping_yellow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_plasma.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_plasma.png new file mode 100644 index 00000000..1ddaa994 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_plasma.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_scorewindow.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_scorewindow.png new file mode 100644 index 00000000..f7f88781 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_scorewindow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_shocklance.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_shocklance.png new file mode 100644 index 00000000..51bfaa99 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_shocklance.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_sniper.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_sniper.png new file mode 100644 index 00000000..b6bef980 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_sniper.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_targetlaser.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_targetlaser.png new file mode 100644 index 00000000..e359f00f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_targetlaser.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_weaponselect.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_weaponselect.png new file mode 100644 index 00000000..a573d445 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_weaponselect.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BL.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BL.png new file mode 100644 index 00000000..f0abf8ef Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BL.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BM.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BM.png new file mode 100644 index 00000000..ba20294c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BR.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BR.png new file mode 100644 index 00000000..0f70cc68 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_BR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_ML.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_ML.png new file mode 100644 index 00000000..d72bfeef Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_ML.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_MM.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_MM.png new file mode 100644 index 00000000..31bf1b3e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_MM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_MR.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_MR.png new file mode 100644 index 00000000..47e46ddd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_MR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TL.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TL.png new file mode 100644 index 00000000..8d0b8123 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TL.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TM.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TM.png new file mode 100644 index 00000000..b561c862 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TR.png b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TR.png new file mode 100644 index 00000000..3bef6a3c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_new_window_TR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_nopack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_nopack.png new file mode 100644 index 00000000..4528c4a8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_nopack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_north.png b/public/base/@vl2/textures.vl2/textures/gui/hud_north.png new file mode 100644 index 00000000..7d9caebf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_north.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_objective.png b/public/base/@vl2/textures.vl2/textures/gui/hud_objective.png new file mode 100644 index 00000000..f650f57f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_objective.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_objtimer.png b/public/base/@vl2/textures.vl2/textures/gui/hud_objtimer.png new file mode 100644 index 00000000..ce80a649 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_objtimer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_packback.png b/public/base/@vl2/textures.vl2/textures/gui/hud_packback.png new file mode 100644 index 00000000..dbde6693 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_packback.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_packwin.png b/public/base/@vl2/textures.vl2/textures/gui/hud_packwin.png new file mode 100644 index 00000000..f0358c5e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_packwin.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ping.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ping.png new file mode 100644 index 00000000..4e0b5cb5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ping.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_plasma.png b/public/base/@vl2/textures.vl2/textures/gui/hud_plasma.png new file mode 100644 index 00000000..4984174f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_plasma.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_playertriangle.png b/public/base/@vl2/textures.vl2/textures/gui/hud_playertriangle.png new file mode 100644 index 00000000..d1a352ba Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_playertriangle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_playertriangle_enemy.png b/public/base/@vl2/textures.vl2/textures/gui/hud_playertriangle_enemy.png new file mode 100644 index 00000000..d37e36bf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_playertriangle_enemy.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_repairpack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_repairpack.png new file mode 100644 index 00000000..060dc28b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_repairpack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_bomber.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_bomber.png new file mode 100644 index 00000000..a82c32f9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_bomber.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_shocklance.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_shocklance.png new file mode 100644 index 00000000..73833d6f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_shocklance.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_shrike.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_shrike.png new file mode 100644 index 00000000..7a69e7a7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_shrike.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_sniper.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_sniper.png new file mode 100644 index 00000000..8d14671f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_sniper.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_tankchaingun.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_tankchaingun.png new file mode 100644 index 00000000..e0714cf5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_tankchaingun.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_tankmortar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_tankmortar.png new file mode 100644 index 00000000..827e7fd2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_tankmortar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_ret_targlaser.png b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_targlaser.png new file mode 100644 index 00000000..af2e6fe8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_ret_targlaser.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_retrng.png b/public/base/@vl2/textures.vl2/textures/gui/hud_retrng.png new file mode 100644 index 00000000..834033e9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_retrng.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_satchel_armed.png b/public/base/@vl2/textures.vl2/textures/gui/hud_satchel_armed.png new file mode 100644 index 00000000..7b11eca5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_satchel_armed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_satchel_unarmed.png b/public/base/@vl2/textures.vl2/textures/gui/hud_satchel_unarmed.png new file mode 100644 index 00000000..b03a7d4f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_satchel_unarmed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar.png new file mode 100644 index 00000000..2dbed0d8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow.png b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow.png new file mode 100644 index 00000000..db36d17b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow1.png b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow1.png new file mode 100644 index 00000000..788739dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow2.png b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow2.png new file mode 100644 index 00000000..1424843f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_sensorbar_glow2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_shieldpack.png b/public/base/@vl2/textures.vl2/textures/gui/hud_shieldpack.png new file mode 100644 index 00000000..82aebd01 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_shieldpack.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_shocklance.png b/public/base/@vl2/textures.vl2/textures/gui/hud_shocklance.png new file mode 100644 index 00000000..75ddf845 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_shocklance.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_sniper.png b/public/base/@vl2/textures.vl2/textures/gui/hud_sniper.png new file mode 100644 index 00000000..5f36b77e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_sniper.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_south.png b/public/base/@vl2/textures.vl2/textures/gui/hud_south.png new file mode 100644 index 00000000..ef58a96e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_south.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_targetlaser.png b/public/base/@vl2/textures.vl2/textures/gui/hud_targetlaser.png new file mode 100644 index 00000000..b7d34298 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_targetlaser.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_bomb.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_bomb.png new file mode 100644 index 00000000..133c6544 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_bomb.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_enrgbar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_enrgbar.png new file mode 100644 index 00000000..fa74526d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_enrgbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_enrgbarback.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_enrgbarback.png new file mode 100644 index 00000000..00bb7784 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_enrgbarback.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_assault.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_assault.png new file mode 100644 index 00000000..4f7040c3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_assault.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_bomber.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_bomber.png new file mode 100644 index 00000000..f2720b9d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_bomber.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hapc.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hapc.png new file mode 100644 index 00000000..d2a43962 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hapc.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hole.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hole.png new file mode 100644 index 00000000..e8ae08b5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hole.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hoverbike.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hoverbike.png new file mode 100644 index 00000000..c6d91693 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_hoverbike.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_mpb.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_mpb.png new file mode 100644 index 00000000..8c4755bc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_mpb.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_shrike.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_shrike.png new file mode 100644 index 00000000..57402585 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_icon_shrike.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_bombardier_dash.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_bombardier_dash.png new file mode 100644 index 00000000..c7c272cd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_bombardier_dash.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dash.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dash.png new file mode 100644 index 00000000..0b6f5edc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dash.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_1.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_1.png new file mode 100644 index 00000000..e34cddca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_2.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_2.png new file mode 100644 index 00000000..3ba17c9d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_3.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_3.png new file mode 100644 index 00000000..87b0cb50 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_4.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_4.png new file mode 100644 index 00000000..3d502734 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_5.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_5.png new file mode 100644 index 00000000..f369537f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_dashpiece_5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_left.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_left.png new file mode 100644 index 00000000..83468751 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_left.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_middle.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_middle.png new file mode 100644 index 00000000..22c9698f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_middle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_right.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_right.png new file mode 100644 index 00000000..c2fd3a1c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_hilite_right.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_tankgunner_dash.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_tankgunner_dash.png new file mode 100644 index 00000000..a5af5c34 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_new_tankgunner_dash.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_nrgbar.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_nrgbar.png new file mode 100644 index 00000000..4c4324ae Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_nrgbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_nrgbar_back.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_nrgbar_back.png new file mode 100644 index 00000000..00bb7784 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_nrgbar_back.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_passenger_dot.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_passenger_dot.png new file mode 100644 index 00000000..8c093c5c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_passenger_dot.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_passengers.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_passengers.png new file mode 100644 index 00000000..513f2909 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_passengers.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_seatdot.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_seatdot.png new file mode 100644 index 00000000..4f0e1908 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_seatdot.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedaltwin.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedaltwin.png new file mode 100644 index 00000000..4690389e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedaltwin.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedaltwinback.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedaltwinback.png new file mode 100644 index 00000000..58ccdacf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedaltwinback.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedo_bkgrnd.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedo_bkgrnd.png new file mode 100644 index 00000000..3ac1e7fe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedo_bkgrnd.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedo_frame.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedo_frame.png new file mode 100644 index 00000000..0a2e633a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_speedo_frame.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weapon_back.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weapon_back.png new file mode 100644 index 00000000..c49d7794 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weapon_back.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weapon_frame.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weapon_frame.png new file mode 100644 index 00000000..cfe017c5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weapon_frame.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weaponback.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weaponback.png new file mode 100644 index 00000000..9bbc8d7d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weaponback.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weaponwin.png b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weaponwin.png new file mode 100644 index 00000000..723ac023 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_veh_weaponwin.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_weaphigh.png b/public/base/@vl2/textures.vl2/textures/gui/hud_weaphigh.png new file mode 100644 index 00000000..6d052cef Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_weaphigh.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_weapwin.png b/public/base/@vl2/textures.vl2/textures/gui/hud_weapwin.png new file mode 100644 index 00000000..e6c9b898 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_weapwin.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/hud_west.png b/public/base/@vl2/textures.vl2/textures/gui/hud_west.png new file mode 100644 index 00000000..f91335eb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/hud_west.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/immersion.jpg b/public/base/@vl2/textures.vl2/textures/gui/immersion.jpg new file mode 100644 index 00000000..05ee7d5f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/immersion.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/launch_btn.png b/public/base/@vl2/textures.vl2/textures/gui/launch_btn.png new file mode 100644 index 00000000..d55e07dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/launch_btn.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/launch_btn_act.png b/public/base/@vl2/textures.vl2/textures/gui/launch_btn_act.png new file mode 100644 index 00000000..111dcdbb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/launch_btn_act.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/launch_btn_rol.png b/public/base/@vl2/textures.vl2/textures/gui/launch_btn_rol.png new file mode 100644 index 00000000..bc09dba7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/launch_btn_rol.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/launchtop_btn.png b/public/base/@vl2/textures.vl2/textures/gui/launchtop_btn.png new file mode 100644 index 00000000..d5abb209 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/launchtop_btn.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/launchtop_btn_act.png b/public/base/@vl2/textures.vl2/textures/gui/launchtop_btn_act.png new file mode 100644 index 00000000..ee9e2288 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/launchtop_btn_act.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/lnch_Tab.png b/public/base/@vl2/textures.vl2/textures/gui/lnch_Tab.png new file mode 100644 index 00000000..e324a560 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/lnch_Tab.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/load_Firestorm.png b/public/base/@vl2/textures.vl2/textures/gui/load_Firestorm.png new file mode 100644 index 00000000..37e5d616 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/load_Firestorm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/load_Fracas.png b/public/base/@vl2/textures.vl2/textures/gui/load_Fracas.png new file mode 100644 index 00000000..6902aa89 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/load_Fracas.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/load_Katabatic.png b/public/base/@vl2/textures.vl2/textures/gui/load_Katabatic.png new file mode 100644 index 00000000..69c5621c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/load_Katabatic.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/load_Riverdance.png b/public/base/@vl2/textures.vl2/textures/gui/load_Riverdance.png new file mode 100644 index 00000000..30423a72 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/load_Riverdance.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/lobby_headset.png b/public/base/@vl2/textures.vl2/textures/gui/lobby_headset.png new file mode 100644 index 00000000..7395b479 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/lobby_headset.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/lobby_icon_listen.png b/public/base/@vl2/textures.vl2/textures/gui/lobby_icon_listen.png new file mode 100644 index 00000000..12ef4d67 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/lobby_icon_listen.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/lobby_icon_speak.png b/public/base/@vl2/textures.vl2/textures/gui/lobby_icon_speak.png new file mode 100644 index 00000000..03718509 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/lobby_icon_speak.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/server_retrievebar.png b/public/base/@vl2/textures.vl2/textures/gui/server_retrievebar.png new file mode 100644 index 00000000..f6660ab3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/server_retrievebar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/server_tabs.png b/public/base/@vl2/textures.vl2/textures/gui/server_tabs.png new file mode 100644 index 00000000..5a0f024b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/server_tabs.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shellScroll.png b/public/base/@vl2/textures.vl2/textures/gui/shellScroll.png new file mode 100644 index 00000000..a6c516ef Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shellScroll.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_bar_act.png b/public/base/@vl2/textures.vl2/textures/gui/shll_bar_act.png new file mode 100644 index 00000000..81d51e83 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_bar_act.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_bar_rol.png b/public/base/@vl2/textures.vl2/textures/gui/shll_bar_rol.png new file mode 100644 index 00000000..6c5746d3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_bar_rol.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_button.png b/public/base/@vl2/textures.vl2/textures/gui/shll_button.png new file mode 100644 index 00000000..47cb04db Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_button.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_entryfield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_entryfield.png new file mode 100644 index 00000000..602d32d7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_entryfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_BL.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_BL.png new file mode 100644 index 00000000..2e3f38f2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_BL.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_BM.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_BM.png new file mode 100644 index 00000000..27e63d49 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_BM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_BR.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_BR.png new file mode 100644 index 00000000..4a4b9da8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_BR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_ML.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_ML.png new file mode 100644 index 00000000..da4d4d28 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_ML.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_MM.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_MM.png new file mode 100644 index 00000000..54c9c6b9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_MM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_MR.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_MR.png new file mode 100644 index 00000000..c4d5849f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_MR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_TL.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_TL.png new file mode 100644 index 00000000..047deb0a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_TL.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_TM.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_TM.png new file mode 100644 index 00000000..a9ff0f68 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_TM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_field_TR.png b/public/base/@vl2/textures.vl2/textures/gui/shll_field_TR.png new file mode 100644 index 00000000..7a95da3b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_field_TR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_fieldfill.png b/public/base/@vl2/textures.vl2/textures/gui/shll_fieldfill.png new file mode 100644 index 00000000..cd02a938 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_fieldfill.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_fieldgrade.png b/public/base/@vl2/textures.vl2/textures/gui/shll_fieldgrade.png new file mode 100644 index 00000000..3e387536 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_fieldgrade.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_frame_edge.png b/public/base/@vl2/textures.vl2/textures/gui/shll_frame_edge.png new file mode 100644 index 00000000..39d2f9da Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_frame_edge.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_frame_end.png b/public/base/@vl2/textures.vl2/textures/gui/shll_frame_end.png new file mode 100644 index 00000000..67d9f52e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_frame_end.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horizontalfield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horizontalfield.png new file mode 100644 index 00000000..291cd4d7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horizontalfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horzspacer.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horzspacer.png new file mode 100644 index 00000000..0c321096 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horzspacer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabbutton.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabbutton.png new file mode 100644 index 00000000..04e458c4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabbutton.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabbuttonB.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabbuttonB.png new file mode 100644 index 00000000..ab375fc7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabbuttonB.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframeclose.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframeclose.png new file mode 100644 index 00000000..f226f45b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframeclose.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframeclosea.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframeclosea.png new file mode 100644 index 00000000..398eb172 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframeclosea.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegrad.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegrad.png new file mode 100644 index 00000000..b7ea530e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegrad.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegrada.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegrada.png new file mode 100644 index 00000000..dc96487b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegrada.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegradedge.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegradedge.png new file mode 100644 index 00000000..2bc18cf4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegradedge.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegradedgea.png b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegradedgea.png new file mode 100644 index 00000000..477af90a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_horztabframegradedgea.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_dedicated.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_dedicated.png new file mode 100644 index 00000000..56f9c1fe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_dedicated.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_dedicated_hi.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_dedicated_hi.png new file mode 100644 index 00000000..20f0d07e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_dedicated_hi.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_favorite.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_favorite.png new file mode 100644 index 00000000..4bd39a3a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_favorite.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_favorite_hi.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_favorite_hi.png new file mode 100644 index 00000000..49359052 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_favorite_hi.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_notqueried.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_notqueried.png new file mode 100644 index 00000000..674116be Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_notqueried.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_notqueried_hi.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_notqueried_hi.png new file mode 100644 index 00000000..bde59ece Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_notqueried_hi.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_passworded.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_passworded.png new file mode 100644 index 00000000..dfaa85a2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_passworded.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_passworded_hi.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_passworded_hi.png new file mode 100644 index 00000000..a8305f1a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_passworded_hi.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_penguin.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_penguin.png new file mode 100644 index 00000000..fe357fd7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_penguin.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_querying.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_querying.png new file mode 100644 index 00000000..e0c726cd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_querying.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_querying_hi.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_querying_hi.png new file mode 100644 index 00000000..c1b64591 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_querying_hi.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_timedout.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_timedout.png new file mode 100644 index 00000000..2097d272 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_timedout.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_tourney.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_tourney.png new file mode 100644 index 00000000..5b6b09be Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_tourney.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_icon_tourney_hi.png b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_tourney_hi.png new file mode 100644 index 00000000..7b364065 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_icon_tourney_hi.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_launch_act.png b/public/base/@vl2/textures.vl2/textures/gui/shll_launch_act.png new file mode 100644 index 00000000..0f2c7379 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_launch_act.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_launch_rol.png b/public/base/@vl2/textures.vl2/textures/gui/shll_launch_rol.png new file mode 100644 index 00000000..a8003da7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_launch_rol.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_launch_sep.png b/public/base/@vl2/textures.vl2/textures/gui/shll_launch_sep.png new file mode 100644 index 00000000..05219019 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_launch_sep.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_menuclose.png b/public/base/@vl2/textures.vl2/textures/gui/shll_menuclose.png new file mode 100644 index 00000000..6570632c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_menuclose.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_menufield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_menufield.png new file mode 100644 index 00000000..c81c4553 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_menufield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown.png new file mode 100644 index 00000000..06614f68 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BL.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BL.png new file mode 100644 index 00000000..9e1c3470 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BL.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BM.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BM.png new file mode 100644 index 00000000..53dd2edf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BR.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BR.png new file mode 100644 index 00000000..8e0fb4d9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_BR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_ML.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_ML.png new file mode 100644 index 00000000..a5da1ee4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_ML.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_MM.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_MM.png new file mode 100644 index 00000000..e7f49590 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_MM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_MR.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_MR.png new file mode 100644 index 00000000..82596a2a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_MR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TL.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TL.png new file mode 100644 index 00000000..eacb2efd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TL.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TM.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TM.png new file mode 100644 index 00000000..e0a52181 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TM.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TR.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TR.png new file mode 100644 index 00000000..d4db1f6a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldown_TR.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldownbar_act.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldownbar_act.png new file mode 100644 index 00000000..7285cbd3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldownbar_act.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_pulldownbar_rol.png b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldownbar_rol.png new file mode 100644 index 00000000..4b58aaf0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_pulldownbar_rol.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_radio.png b/public/base/@vl2/textures.vl2/textures/gui/shll_radio.png new file mode 100644 index 00000000..3baab81b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_radio.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzbar.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzbar.png new file mode 100644 index 00000000..96ca8de3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzbuttons.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzbuttons.png new file mode 100644 index 00000000..f4cf1ee2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzbuttons.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzfield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzfield.png new file mode 100644 index 00000000..c30365aa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_horzfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_scale.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_scale.png new file mode 100644 index 00000000..464fbfcd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_scale.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertbar.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertbar.png new file mode 100644 index 00000000..1578e0b5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertbuttons.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertbuttons.png new file mode 100644 index 00000000..5f7eae82 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertbuttons.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertfield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertfield.png new file mode 100644 index 00000000..4af88bae Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_scroll_vertfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_sortarrow.png b/public/base/@vl2/textures.vl2/textures/gui/shll_sortarrow.png new file mode 100644 index 00000000..145de5db Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_sortarrow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_soundbutton.png b/public/base/@vl2/textures.vl2/textures/gui/shll_soundbutton.png new file mode 100644 index 00000000..96005e18 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_soundbutton.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_tabbutton.png b/public/base/@vl2/textures.vl2/textures/gui/shll_tabbutton.png new file mode 100644 index 00000000..4e348f18 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_tabbutton.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_tabframegrad.png b/public/base/@vl2/textures.vl2/textures/gui/shll_tabframegrad.png new file mode 100644 index 00000000..408cea86 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_tabframegrad.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_tabframegradedge.png b/public/base/@vl2/textures.vl2/textures/gui/shll_tabframegradedge.png new file mode 100644 index 00000000..2bc18cf4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_tabframegradedge.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_titletab.png b/public/base/@vl2/textures.vl2/textures/gui/shll_titletab.png new file mode 100644 index 00000000..c40c9550 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_titletab.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_treeView.png b/public/base/@vl2/textures.vl2/textures/gui/shll_treeView.png new file mode 100644 index 00000000..d6643f93 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_treeView.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_verticalfield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_verticalfield.png new file mode 100644 index 00000000..cb1182e6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_verticalfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_vertspacer.png b/public/base/@vl2/textures.vl2/textures/gui/shll_vertspacer.png new file mode 100644 index 00000000..ae43041a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_vertspacer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_wipe.png b/public/base/@vl2/textures.vl2/textures/gui/shll_wipe.png new file mode 100644 index 00000000..c841853a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_wipe.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_wipeend.png b/public/base/@vl2/textures.vl2/textures/gui/shll_wipeend.png new file mode 100644 index 00000000..71a43a64 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_wipeend.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_wipefill.png b/public/base/@vl2/textures.vl2/textures/gui/shll_wipefill.png new file mode 100644 index 00000000..7891abe8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_wipefill.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_wphfieldbttm.png b/public/base/@vl2/textures.vl2/textures/gui/shll_wphfieldbttm.png new file mode 100644 index 00000000..19b45135 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_wphfieldbttm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_wphfieldtop.png b/public/base/@vl2/textures.vl2/textures/gui/shll_wphfieldtop.png new file mode 100644 index 00000000..b891aaa6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_wphfieldtop.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/shll_wpvfield.png b/public/base/@vl2/textures.vl2/textures/gui/shll_wpvfield.png new file mode 100644 index 00000000..9a8e5e21 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/shll_wpvfield.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/treeView.png b/public/base/@vl2/textures.vl2/textures/gui/treeView.png new file mode 100644 index 00000000..8f1dcf05 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/treeView.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/trn_1charybdis.png b/public/base/@vl2/textures.vl2/textures/gui/trn_1charybdis.png new file mode 100644 index 00000000..7e3d2858 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/trn_1charybdis.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/trn_2sehrganda.png b/public/base/@vl2/textures.vl2/textures/gui/trn_2sehrganda.png new file mode 100644 index 00000000..097ef547 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/trn_2sehrganda.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/trn_3ymir.png b/public/base/@vl2/textures.vl2/textures/gui/trn_3ymir.png new file mode 100644 index 00000000..7d07ec76 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/trn_3ymir.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/trn_4bloodjewel.png b/public/base/@vl2/textures.vl2/textures/gui/trn_4bloodjewel.png new file mode 100644 index 00000000..b794aa45 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/trn_4bloodjewel.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/trn_5draconis.png b/public/base/@vl2/textures.vl2/textures/gui/trn_5draconis.png new file mode 100644 index 00000000..437efd6e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/trn_5draconis.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/vin_assaultVehicle.png b/public/base/@vl2/textures.vl2/textures/gui/vin_assaultVehicle.png new file mode 100644 index 00000000..2679be5a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/vin_assaultVehicle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/vin_bomberFlyer.png b/public/base/@vl2/textures.vl2/textures/gui/vin_bomberFlyer.png new file mode 100644 index 00000000..dd326fd2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/vin_bomberFlyer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/vin_hapcFlyer.png b/public/base/@vl2/textures.vl2/textures/gui/vin_hapcFlyer.png new file mode 100644 index 00000000..e8e7bc93 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/vin_hapcFlyer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/vin_mobileBaseVehicle.png b/public/base/@vl2/textures.vl2/textures/gui/vin_mobileBaseVehicle.png new file mode 100644 index 00000000..2b7836ff Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/vin_mobileBaseVehicle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/vin_scoutFlyer.png b/public/base/@vl2/textures.vl2/textures/gui/vin_scoutFlyer.png new file mode 100644 index 00000000..4583167e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/vin_scoutFlyer.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/vin_scoutVehicle.png b/public/base/@vl2/textures.vl2/textures/gui/vin_scoutVehicle.png new file mode 100644 index 00000000..46b1fec3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/vin_scoutVehicle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/votemeterpassbar.png b/public/base/@vl2/textures.vl2/textures/gui/votemeterpassbar.png new file mode 100644 index 00000000..3ec9d38d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/votemeterpassbar.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/window_close.png b/public/base/@vl2/textures.vl2/textures/gui/window_close.png new file mode 100644 index 00000000..abb843a2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/window_close.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/window_corner.png b/public/base/@vl2/textures.vl2/textures/gui/window_corner.png new file mode 100644 index 00000000..b2da148b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/window_corner.png differ diff --git a/public/base/@vl2/textures.vl2/textures/gui/window_titletab.png b/public/base/@vl2/textures.vl2/textures/gui/window_titletab.png new file mode 100644 index 00000000..29d429ee Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/gui/window_titletab.png differ diff --git a/public/base/@vl2/textures.vl2/textures/island_water.dml b/public/base/@vl2/textures.vl2/textures/island_water.dml new file mode 100644 index 00000000..2b38102c --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/island_water.dml @@ -0,0 +1,5 @@ +LiquidTiles/IslandWater01 +LiquidTiles/IslandWater02 +LiquidTiles/IslandWater03 +LiquidTiles/IslandWater04 +lush/skies/lushcloud1 diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/AlgaeWater.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/AlgaeWater.png new file mode 100644 index 00000000..f8aaca98 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/AlgaeWater.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/BlueWater.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/BlueWater.png new file mode 100644 index 00000000..5d114eb0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/BlueWater.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/GreenWater.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/GreenWater.png new file mode 100644 index 00000000..32d33faa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/GreenWater.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater01.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater01.png new file mode 100644 index 00000000..5d114eb0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater02.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater02.png new file mode 100644 index 00000000..915f1ff8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater03.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater03.png new file mode 100644 index 00000000..bff5ac3a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater04.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater04.png new file mode 100644 index 00000000..c8b0257b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/IslandWater04.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Lava.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Lava.png new file mode 100644 index 00000000..3fa9a2dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Lava.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool01.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool01.png new file mode 100644 index 00000000..3fa9a2dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool02.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool02.png new file mode 100644 index 00000000..160253e4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool03.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool03.png new file mode 100644 index 00000000..7f7b7984 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool04.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool04.png new file mode 100644 index 00000000..74bd25da Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LavaPool04.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater01.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater01.png new file mode 100644 index 00000000..32d33faa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater01_Algae.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater01_Algae.png new file mode 100644 index 00000000..f8aaca98 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater01_Algae.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater02.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater02.png new file mode 100644 index 00000000..76853cfe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater02_Algae.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater02_Algae.png new file mode 100644 index 00000000..6c8b28cc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater02_Algae.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater03.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater03.png new file mode 100644 index 00000000..6a5f9826 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater03_Algae.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater03_Algae.png new file mode 100644 index 00000000..dae4f9b9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater03_Algae.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater04.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater04.png new file mode 100644 index 00000000..38153a7c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater04.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater04_Algae.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater04_Algae.png new file mode 100644 index 00000000..3adc5308 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/LushWater04_Algae.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Modulation03.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Modulation03.png new file mode 100644 index 00000000..6414d83a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Modulation03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Modulation04.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Modulation04.png new file mode 100644 index 00000000..2e3e7c3e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Modulation04.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Shore_Modulation.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Shore_Modulation.png new file mode 100644 index 00000000..acbf5522 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Shore_Modulation.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile01a.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile01a.png new file mode 100644 index 00000000..202f5019 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile01a.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile02a.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile02a.png new file mode 100644 index 00000000..76853cfe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile02a.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile03a.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile03a.png new file mode 100644 index 00000000..6a5f9826 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile03a.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile04a.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile04a.png new file mode 100644 index 00000000..38153a7c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/Tile04a.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/archipelago_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/archipelago_emap_cloudsground.png new file mode 100644 index 00000000..bd7ceea3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/archipelago_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/archipelago_water.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/archipelago_water.png new file mode 100644 index 00000000..8b8b69c3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/archipelago_water.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/damnation_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/damnation_emap_cloudsground.png new file mode 100644 index 00000000..4061c498 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/damnation_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/icebound_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/icebound_emap_cloudsground.png new file mode 100644 index 00000000..5e8b23ba Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/icebound_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/icebound_water.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/icebound_water.png new file mode 100644 index 00000000..83a3afd2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/icebound_water.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/insalubria_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/insalubria_emap_cloudsground.png new file mode 100644 index 00000000..a6d13f05 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/insalubria_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/myrkwood_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/myrkwood_emap_cloudsground.png new file mode 100644 index 00000000..a80398d4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/myrkwood_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/oasis_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/oasis_emap_cloudsground.png new file mode 100644 index 00000000..885c7dc5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/oasis_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/oasis_water_ripply.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/oasis_water_ripply.png new file mode 100644 index 00000000..d1dc9fc6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/oasis_water_ripply.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/quagmire_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/quagmire_emap_cloudsground.png new file mode 100644 index 00000000..4efd319f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/quagmire_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/respite_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/respite_emap_cloudsground.png new file mode 100644 index 00000000..14324b52 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/respite_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/reversion_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/reversion_emap_cloudsground.png new file mode 100644 index 00000000..1469238e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/reversion_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_emap_cloudsground.png new file mode 100644 index 00000000..acc12151 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_1.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_1.png new file mode 100644 index 00000000..031019bc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_5.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_5.png new file mode 100644 index 00000000..5508a389 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_6.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_6.png new file mode 100644 index 00000000..b10f0a65 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/riverdance_water_6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_emap_cloudsground.png new file mode 100644 index 00000000..323d62a9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_water_1.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_water_1.png new file mode 100644 index 00000000..ba477b2b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_water_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_water_2.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_water_2.png new file mode 100644 index 00000000..1a3f5ade Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/sanctuary_water_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/liquidTiles/thinice_emap_cloudsground.png b/public/base/@vl2/textures.vl2/textures/liquidTiles/thinice_emap_cloudsground.png new file mode 100644 index 00000000..8e4d384c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/liquidTiles/thinice_emap_cloudsground.png differ diff --git a/public/base/@vl2/textures.vl2/textures/ocean_water.dml b/public/base/@vl2/textures.vl2/textures/ocean_water.dml new file mode 100644 index 00000000..c39e59e2 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/ocean_water.dml @@ -0,0 +1,5 @@ +LiquidTiles/LushWater01 +LiquidTiles/LushWater02 +LiquidTiles/LushWater03 +LiquidTiles/LushWater04 +lush/skies/lushcloud1 diff --git a/public/base/@vl2/textures.vl2/textures/particleTest.png b/public/base/@vl2/textures.vl2/textures/particleTest.png new file mode 100644 index 00000000..36180f28 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/particleTest.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/raindrops.png b/public/base/@vl2/textures.vl2/textures/precipitation/raindrops.png new file mode 100644 index 00000000..5b78b9ee Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/raindrops.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake001.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake001.png new file mode 100644 index 00000000..f989d308 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake001.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake002.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake002.png new file mode 100644 index 00000000..b4304d1b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake002.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake003.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake003.png new file mode 100644 index 00000000..4a2b4e16 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake003.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake004.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake004.png new file mode 100644 index 00000000..ed5f24ad Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake004.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake005.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake005.png new file mode 100644 index 00000000..3eaf6d87 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake005.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake006.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake006.png new file mode 100644 index 00000000..e7e9683a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake006.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake007.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake007.png new file mode 100644 index 00000000..5e5717e0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake007.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake008.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake008.png new file mode 100644 index 00000000..276d4c99 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake008.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake009.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake009.png new file mode 100644 index 00000000..c146ec5c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake009.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake010.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake010.png new file mode 100644 index 00000000..e45e53fc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake010.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake011.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake011.png new file mode 100644 index 00000000..5c240e21 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake011.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake012.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake012.png new file mode 100644 index 00000000..ee099c88 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake012.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake013.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake013.png new file mode 100644 index 00000000..f1f55677 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake013.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake014.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake014.png new file mode 100644 index 00000000..8bcb3416 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake014.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake015.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake015.png new file mode 100644 index 00000000..9424b84f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake015.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake016.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake016.png new file mode 100644 index 00000000..1fae8729 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake016.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflake017.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake017.png new file mode 100644 index 00000000..3734c6eb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflake017.png differ diff --git a/public/base/@vl2/textures.vl2/textures/precipitation/snowflakes.png b/public/base/@vl2/textures.vl2/textures/precipitation/snowflakes.png new file mode 100644 index 00000000..915b10ef Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/precipitation/snowflakes.png differ diff --git a/public/base/@vl2/textures.vl2/textures/raindrops.dml b/public/base/@vl2/textures.vl2/textures/raindrops.dml new file mode 100644 index 00000000..6dfa844b --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/raindrops.dml @@ -0,0 +1 @@ +precipitation/raindrops diff --git a/public/base/@vl2/textures.vl2/textures/sky_badlands_cloudy.dml b/public/base/@vl2/textures.vl2/textures/sky_badlands_cloudy.dml new file mode 100644 index 00000000..b6367fdc --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_badlands_cloudy.dml @@ -0,0 +1,10 @@ +badlands/skies/badlandday_FR +badlands/skies/badlandday_RT +badlands/skies/badlandday_BK +badlands/skies/badlandday_LF +badlands/skies/badlandday_UP +badlands/skies/badlandday_DN +badlands/skies/bd_day_cloud_emap +badlands/skies/bd_day_cloud1 +badlands/skies/bd_day_cloud2 +badlands/skies/bd_day_cloud2 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/sky_badlands_starrynight.dml b/public/base/@vl2/textures.vl2/textures/sky_badlands_starrynight.dml new file mode 100644 index 00000000..9b3d82ae --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_badlands_starrynight.dml @@ -0,0 +1,7 @@ +badlands/skies/starrynite_v2_FR +badlands/skies/starrynite_v2_RT +badlands/skies/starrynite_v2_BK +badlands/skies/starrynite_v2_LT +badlands/skies/starrynite_v2_UP +badlands/skies/starrynite_v2_DN +badlands/skies/bd_nite_starry_emap diff --git a/public/base/@vl2/textures.vl2/textures/sky_desert_blue.dml b/public/base/@vl2/textures.vl2/textures/sky_desert_blue.dml new file mode 100644 index 00000000..a2a924fe --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_desert_blue.dml @@ -0,0 +1,10 @@ +desert/skies/df2 +desert/skies/dr2 +desert/skies/db2 +desert/skies/dl2 +desert/skies/dt2 +desert/skies/dd2 +desert/skies/desert_blue_emap +desert/skies/desertmove1 +desert/skies/desertmove2 +desert/skies/desertmove3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/sky_desert_brown.dml b/public/base/@vl2/textures.vl2/textures/sky_desert_brown.dml new file mode 100644 index 00000000..bcd74060 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_desert_brown.dml @@ -0,0 +1,10 @@ +desert/skies/d_N_f +desert/skies/d_N_r +desert/skies/d_N_b +desert/skies/d_N_l +desert/skies/d_N_t +desert/skies/d_N_d +desert/skies/desert_brown_emap +desert/skies/d_n_move1 +desert/skies/d_n_move2 +desert/skies/d_n_move3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/sky_desert_starrynight.dml b/public/base/@vl2/textures.vl2/textures/sky_desert_starrynight.dml new file mode 100644 index 00000000..c53016b3 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_desert_starrynight.dml @@ -0,0 +1,9 @@ +desert/skies/starrynite_v3_FR +desert/skies/starrynite_v3_RT +desert/skies/starrynite_v3_BK +desert/skies/starrynite_v3_LF +desert/skies/starrynite_v3_UP +desert/skies/starrynite_v3_DN +desert/skies/desert_starrynite_emap + + diff --git a/public/base/@vl2/textures.vl2/textures/sky_ice_blue.dml b/public/base/@vl2/textures.vl2/textures/sky_ice_blue.dml new file mode 100644 index 00000000..49f0139c --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_ice_blue.dml @@ -0,0 +1,10 @@ +desert/skies/df2 +desert/skies/dr2 +desert/skies/db2 +desert/skies/dl2 +desert/skies/dt2 +desert/skies/dd2 +desert/skies/ice_blue_emap +desert/skies/desertmove1 +desert/skies/desertmove2 +desert/skies/desertmove3 diff --git a/public/base/@vl2/textures.vl2/textures/sky_ice_starrynight.dml b/public/base/@vl2/textures.vl2/textures/sky_ice_starrynight.dml new file mode 100644 index 00000000..1c90c430 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_ice_starrynight.dml @@ -0,0 +1,9 @@ +ice/skies/starrynite_v1_FR +ice/skies/starrynite_v1_RT +ice/skies/starrynite_v1_BK +ice/skies/starrynite_v1_LF +ice/skies/starrynite_v1_UP +ice/skies/starrynite_v1_DN +ice/skies/ice_nite_emap +ice/skies/icecloud1 +ice/skies/icecloud3 diff --git a/public/base/@vl2/textures.vl2/textures/sky_lava_brown.dml b/public/base/@vl2/textures.vl2/textures/sky_lava_brown.dml new file mode 100644 index 00000000..a46d6e62 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_lava_brown.dml @@ -0,0 +1,10 @@ +desert/skies/d_N_f +desert/skies/d_N_r +desert/skies/d_N_b +desert/skies/d_N_l +desert/skies/d_N_t +desert/skies/d_N_d +lava/skies/volcanic_starrynite_emap +desert/skies/d_n_move1 +desert/skies/d_n_move2 +desert/skies/d_n_move3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/sky_lava_starrynight.dml b/public/base/@vl2/textures.vl2/textures/sky_lava_starrynight.dml new file mode 100644 index 00000000..53a72ded --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_lava_starrynight.dml @@ -0,0 +1,9 @@ +lava/skies/starrynite_v5_FR +lava/skies/starrynite_v5_RT +lava/skies/starrynite_v5_BK +lava/skies/starrynite_v5_LF +lava/skies/starrynite_v5_UP +lava/skies/starrynite_v5_DN +lava/skies/lava_starrynite_emap +ice/skies/icecloud1 +ice/skies/icecloud3 diff --git a/public/base/@vl2/textures.vl2/textures/sky_lush_blue.dml b/public/base/@vl2/textures.vl2/textures/sky_lush_blue.dml new file mode 100644 index 00000000..7c228046 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_lush_blue.dml @@ -0,0 +1,10 @@ +desert/skies/df2 +desert/skies/dr2 +desert/skies/db2 +desert/skies/dl2 +desert/skies/dt2 +desert/skies/dd2 +lush/skies/lush_day_emap +desert/skies/desertmove1 +desert/skies/desertmove2 +desert/skies/desertmove3 diff --git a/public/base/@vl2/textures.vl2/textures/sky_lush_morestars.dml b/public/base/@vl2/textures.vl2/textures/sky_lush_morestars.dml new file mode 100644 index 00000000..f3b2fb99 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_lush_morestars.dml @@ -0,0 +1,9 @@ +lush/skies/starrynite_v6_FR +lush/skies/starrynite_v6_RT +lush/skies/starrynite_v6_BK +lush/skies/starrynite_v6_LF +lush/skies/starrynite_v6_UP +lush/skies/starrynite_v6_DN +lush/skies/lush_nite_emap + + diff --git a/public/base/@vl2/textures.vl2/textures/sky_lush_starrynight.dml b/public/base/@vl2/textures.vl2/textures/sky_lush_starrynight.dml new file mode 100644 index 00000000..baf489e8 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_lush_starrynight.dml @@ -0,0 +1,9 @@ +lush/skies/starrynite_v4_FR +lush/skies/starrynite_v4_RT +lush/skies/starrynite_v4_BK +lush/skies/starrynite_v4_LF +lush/skies/starrynite_v4_UP +lush/skies/starrynite_v4_DN +lush/skies/lush_nite_emap + + diff --git a/public/base/@vl2/textures.vl2/textures/sky_volcanic_starrynight.dml b/public/base/@vl2/textures.vl2/textures/sky_volcanic_starrynight.dml new file mode 100644 index 00000000..70131613 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/sky_volcanic_starrynight.dml @@ -0,0 +1,9 @@ +lava/skies/starrynite_v5_FR +lava/skies/starrynite_v5_RT +lava/skies/starrynite_v5_BK +lava/skies/starrynite_v5_LF +lava/skies/starrynite_v5_UP +lava/skies/starrynite_v5_DN +lava/skies/volcanic_starrynite_emap + + diff --git a/public/base/@vl2/textures.vl2/textures/small_circle.PNG b/public/base/@vl2/textures.vl2/textures/small_circle.PNG new file mode 100644 index 00000000..17aebb96 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/small_circle.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/small_cross.png b/public/base/@vl2/textures.vl2/textures/small_cross.png new file mode 100644 index 00000000..06fc45d2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/small_cross.png differ diff --git a/public/base/@vl2/textures.vl2/textures/small_diamond.png b/public/base/@vl2/textures.vl2/textures/small_diamond.png new file mode 100644 index 00000000..b95b29c4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/small_diamond.png differ diff --git a/public/base/@vl2/textures.vl2/textures/small_square.png b/public/base/@vl2/textures.vl2/textures/small_square.png new file mode 100644 index 00000000..0e39e7cc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/small_square.png differ diff --git a/public/base/@vl2/textures.vl2/textures/small_triangle.png b/public/base/@vl2/textures.vl2/textures/small_triangle.png new file mode 100644 index 00000000..d4350f81 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/small_triangle.png differ diff --git a/public/base/@vl2/textures.vl2/textures/snowflake8x8.png b/public/base/@vl2/textures.vl2/textures/snowflake8x8.png new file mode 100644 index 00000000..1eec3852 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/snowflake8x8.png differ diff --git a/public/base/@vl2/textures.vl2/textures/snowflakes.dml b/public/base/@vl2/textures.vl2/textures/snowflakes.dml new file mode 100644 index 00000000..443b4e5f --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/snowflakes.dml @@ -0,0 +1 @@ +precipitation/snowflakes diff --git a/public/base/@vl2/textures.vl2/textures/snowtest.dml b/public/base/@vl2/textures.vl2/textures/snowtest.dml new file mode 100644 index 00000000..443b4e5f --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/snowtest.dml @@ -0,0 +1 @@ +precipitation/snowflakes diff --git a/public/base/@vl2/textures.vl2/textures/special/BlueImpact.PNG b/public/base/@vl2/textures.vl2/textures/special/BlueImpact.PNG new file mode 100644 index 00000000..ce7577ce Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/BlueImpact.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/ELFBeam.PNG b/public/base/@vl2/textures.vl2/textures/special/ELFBeam.PNG new file mode 100644 index 00000000..1726f335 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/ELFBeam.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/ELFLightning.png b/public/base/@vl2/textures.vl2/textures/special/ELFLightning.png new file mode 100644 index 00000000..0d5bcb2f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/ELFLightning.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0000.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0000.png new file mode 100644 index 00000000..891b91e0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0000.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0002.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0002.png new file mode 100644 index 00000000..6c36ffd1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0002.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0004.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0004.png new file mode 100644 index 00000000..0b487f32 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0004.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0006.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0006.png new file mode 100644 index 00000000..54401847 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0006.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0008.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0008.png new file mode 100644 index 00000000..1d7f62d3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0008.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0010.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0010.png new file mode 100644 index 00000000..9e11ec12 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0010.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0012.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0012.png new file mode 100644 index 00000000..717ebe75 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0012.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0014.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0014.png new file mode 100644 index 00000000..a788d8cc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0014.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0016.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0016.png new file mode 100644 index 00000000..c296d570 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0016.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0018.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0018.png new file mode 100644 index 00000000..e8ee215d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0018.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0020.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0020.png new file mode 100644 index 00000000..98f88f12 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0020.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0022.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0022.png new file mode 100644 index 00000000..46596d8e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0022.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0024.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0024.png new file mode 100644 index 00000000..5651e7c0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0024.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0026.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0026.png new file mode 100644 index 00000000..2e710ed0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0026.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0028.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0028.png new file mode 100644 index 00000000..292242a7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0028.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0030.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0030.png new file mode 100644 index 00000000..b90b1480 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0030.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0032.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0032.png new file mode 100644 index 00000000..eb8f44a6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0032.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0034.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0034.png new file mode 100644 index 00000000..87c12335 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0034.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0036.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0036.png new file mode 100644 index 00000000..539f3d4c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0036.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0038.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0038.png new file mode 100644 index 00000000..0bef16a7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0038.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0040.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0040.png new file mode 100644 index 00000000..34c3ae93 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0040.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0042.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0042.png new file mode 100644 index 00000000..fb472a73 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0042.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0044.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0044.png new file mode 100644 index 00000000..4054731d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0044.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0046.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0046.png new file mode 100644 index 00000000..feea4e5e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0046.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0048.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0048.png new file mode 100644 index 00000000..f945ed53 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0048.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0050.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0050.png new file mode 100644 index 00000000..b93ab80f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0050.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0052.png b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0052.png new file mode 100644 index 00000000..06eb3028 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Explosion/Exp_0052.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/GameGrid.png b/public/base/@vl2/textures.vl2/textures/special/GameGrid.png new file mode 100644 index 00000000..654e0c27 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/GameGrid.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/LensFlare/Flare00.png b/public/base/@vl2/textures.vl2/textures/special/LensFlare/Flare00.png new file mode 100644 index 00000000..978afd22 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/LensFlare/Flare00.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/LightningBlur.PNG b/public/base/@vl2/textures.vl2/textures/special/LightningBlur.PNG new file mode 100644 index 00000000..29220412 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/LightningBlur.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Shocklance_effect01.png b/public/base/@vl2/textures.vl2/textures/special/Shocklance_effect01.png new file mode 100644 index 00000000..051e4a1b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Shocklance_effect01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Shocklance_effect02.png b/public/base/@vl2/textures.vl2/textures/special/Shocklance_effect02.png new file mode 100644 index 00000000..121b4849 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Shocklance_effect02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/bigSmoke.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/bigSmoke.png new file mode 100644 index 00000000..e48fcac8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/bigSmoke.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_001.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_001.png new file mode 100644 index 00000000..88d5b0ac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_001.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_002.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_002.png new file mode 100644 index 00000000..eac84076 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_002.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_003.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_003.png new file mode 100644 index 00000000..4646fdd8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_003.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_004.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_004.png new file mode 100644 index 00000000..c81c3152 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_004.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_005.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_005.png new file mode 100644 index 00000000..08f45183 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_005.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_006.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_006.png new file mode 100644 index 00000000..d0b118a0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_006.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_007.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_007.png new file mode 100644 index 00000000..ab8fd64a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_007.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_008.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_008.png new file mode 100644 index 00000000..022351dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_008.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_009.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_009.png new file mode 100644 index 00000000..28001a29 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_009.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_010.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_010.png new file mode 100644 index 00000000..5a26ea10 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_010.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_011.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_011.png new file mode 100644 index 00000000..3cbb3585 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_011.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_012.png b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_012.png new file mode 100644 index 00000000..852dfff7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/Smoke/smoke_012.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bigSpark.PNG b/public/base/@vl2/textures.vl2/textures/special/bigSpark.PNG new file mode 100644 index 00000000..59091ec3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bigSpark.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/blasterBolt.PNG b/public/base/@vl2/textures.vl2/textures/special/blasterBolt.PNG new file mode 100644 index 00000000..378d535e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/blasterBolt.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/blasterBoltCross.PNG b/public/base/@vl2/textures.vl2/textures/special/blasterBoltCross.PNG new file mode 100644 index 00000000..08625e4a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/blasterBoltCross.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/blasterHit.PNG b/public/base/@vl2/textures.vl2/textures/special/blasterHit.PNG new file mode 100644 index 00000000..f898439c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/blasterHit.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bluespark.PNG b/public/base/@vl2/textures.vl2/textures/special/bluespark.PNG new file mode 100644 index 00000000..9b3b7561 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bluespark.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bubbles.PNG b/public/base/@vl2/textures.vl2/textures/special/bubbles.PNG new file mode 100644 index 00000000..e20485a4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bubbles.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bullethole1.png b/public/base/@vl2/textures.vl2/textures/special/bullethole1.png new file mode 100644 index 00000000..2ad7caac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bullethole1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bullethole2.png b/public/base/@vl2/textures.vl2/textures/special/bullethole2.png new file mode 100644 index 00000000..496dfcb9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bullethole2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bullethole3.png b/public/base/@vl2/textures.vl2/textures/special/bullethole3.png new file mode 100644 index 00000000..f7535ed6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bullethole3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bullethole4.png b/public/base/@vl2/textures.vl2/textures/special/bullethole4.png new file mode 100644 index 00000000..ca503d2b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bullethole4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bullethole5.png b/public/base/@vl2/textures.vl2/textures/special/bullethole5.png new file mode 100644 index 00000000..e33f2352 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bullethole5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/bullethole6.png b/public/base/@vl2/textures.vl2/textures/special/bullethole6.png new file mode 100644 index 00000000..d31fb2c7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/bullethole6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/chuteTexture.png b/public/base/@vl2/textures.vl2/textures/special/chuteTexture.png new file mode 100644 index 00000000..96e6d402 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/chuteTexture.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloakTexture.png b/public/base/@vl2/textures.vl2/textures/special/cloakTexture.png new file mode 100644 index 00000000..16dd0df6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloakTexture.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash.png new file mode 100644 index 00000000..a532d831 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash2.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash2.png new file mode 100644 index 00000000..c6dbe5b0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash3.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash3.png new file mode 100644 index 00000000..953200d5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash4.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash4.png new file mode 100644 index 00000000..96d50f8f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash5.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash5.png new file mode 100644 index 00000000..77cb5c98 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash6.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash6.png new file mode 100644 index 00000000..bf320f0e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash7.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash7.png new file mode 100644 index 00000000..c0af42b6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash7.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/cloudflash8.png b/public/base/@vl2/textures.vl2/textures/special/cloudflash8.png new file mode 100644 index 00000000..263a57e4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/cloudflash8.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/crescent3.png b/public/base/@vl2/textures.vl2/textures/special/crescent3.png new file mode 100644 index 00000000..03fbdf4b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/crescent3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/crescent4.png b/public/base/@vl2/textures.vl2/textures/special/crescent4.png new file mode 100644 index 00000000..ee861294 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/crescent4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/decal.dml b/public/base/@vl2/textures.vl2/textures/special/decal.dml new file mode 100644 index 00000000..b9a3653b --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/special/decal.dml @@ -0,0 +1,13 @@ +special/bullethole1 +special/bullethole2 +special/bullethole3 +special/bullethole4 +special/bullethole5 +special/bullethole6 +special/generic_scorch +special/footprints/L_male +special/footprints/M_male +special/footprints/H_male +special/footprints/L_bioderm +special/footprints/M_bioderm +special/footprints/H_bioderm \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/special/droplet.PNG b/public/base/@vl2/textures.vl2/textures/special/droplet.PNG new file mode 100644 index 00000000..2b1b1844 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/droplet.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/expFlare.PNG b/public/base/@vl2/textures.vl2/textures/special/expFlare.PNG new file mode 100644 index 00000000..a52094d2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/expFlare.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/flare.PNG b/public/base/@vl2/textures.vl2/textures/special/flare.PNG new file mode 100644 index 00000000..84a03c3d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/flare.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/flare3.PNG b/public/base/@vl2/textures.vl2/textures/special/flare3.PNG new file mode 100644 index 00000000..67e503e1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/flare3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/flareSpark.PNG b/public/base/@vl2/textures.vl2/textures/special/flareSpark.PNG new file mode 100644 index 00000000..9a321fdd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/flareSpark.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/footprints/H_bioderm.png b/public/base/@vl2/textures.vl2/textures/special/footprints/H_bioderm.png new file mode 100644 index 00000000..d4e2f3cb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/footprints/H_bioderm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/footprints/H_male.png b/public/base/@vl2/textures.vl2/textures/special/footprints/H_male.png new file mode 100644 index 00000000..5489f5d3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/footprints/H_male.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/footprints/L_bioderm.png b/public/base/@vl2/textures.vl2/textures/special/footprints/L_bioderm.png new file mode 100644 index 00000000..19d72242 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/footprints/L_bioderm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/footprints/L_male.png b/public/base/@vl2/textures.vl2/textures/special/footprints/L_male.png new file mode 100644 index 00000000..a9e572fa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/footprints/L_male.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/footprints/M_bioderm.png b/public/base/@vl2/textures.vl2/textures/special/footprints/M_bioderm.png new file mode 100644 index 00000000..dd905a3a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/footprints/M_bioderm.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/footprints/M_male.png b/public/base/@vl2/textures.vl2/textures/special/footprints/M_male.png new file mode 100644 index 00000000..ad74c2b5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/footprints/M_male.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/generic_reflect.png b/public/base/@vl2/textures.vl2/textures/special/generic_reflect.png new file mode 100644 index 00000000..5cf4e190 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/generic_reflect.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/generic_scorch.png b/public/base/@vl2/textures.vl2/textures/special/generic_scorch.png new file mode 100644 index 00000000..deb5b37f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/generic_scorch.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/gradient.PNG b/public/base/@vl2/textures.vl2/textures/special/gradient.PNG new file mode 100644 index 00000000..5afc6963 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/gradient.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/grainy.png b/public/base/@vl2/textures.vl2/textures/special/grainy.png new file mode 100644 index 00000000..fde178c5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/grainy.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/jammermap.png b/public/base/@vl2/textures.vl2/textures/special/jammermap.png new file mode 100644 index 00000000..812cde08 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/jammermap.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/jetExhaust02.PNG b/public/base/@vl2/textures.vl2/textures/special/jetExhaust02.PNG new file mode 100644 index 00000000..3a062c7d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/jetExhaust02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/landSpikeBolt.png b/public/base/@vl2/textures.vl2/textures/special/landSpikeBolt.png new file mode 100644 index 00000000..c0588767 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/landSpikeBolt.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/landSpikeBoltCross.PNG b/public/base/@vl2/textures.vl2/textures/special/landSpikeBoltCross.PNG new file mode 100644 index 00000000..da242242 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/landSpikeBoltCross.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip01.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip01.PNG new file mode 100644 index 00000000..63a6846c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip02.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip02.PNG new file mode 100644 index 00000000..cc6625e8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip03.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip03.PNG new file mode 100644 index 00000000..aab93e33 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip04.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip04.PNG new file mode 100644 index 00000000..5f507e4c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip05.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip05.PNG new file mode 100644 index 00000000..5c8e7b51 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip05.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip06.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip06.PNG new file mode 100644 index 00000000..096f4695 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip06.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip07.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip07.PNG new file mode 100644 index 00000000..95354c54 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip07.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip08.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip08.PNG new file mode 100644 index 00000000..a4966c69 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip08.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/laserrip09.PNG b/public/base/@vl2/textures.vl2/textures/special/laserrip09.PNG new file mode 100644 index 00000000..ce5a7fff Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/laserrip09.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lavadeath_1.png b/public/base/@vl2/textures.vl2/textures/special/lavadeath_1.png new file mode 100644 index 00000000..242e3e1a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lavadeath_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lavadeath_2.png b/public/base/@vl2/textures.vl2/textures/special/lavadeath_2.png new file mode 100644 index 00000000..e0df0517 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lavadeath_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lavareflect.png b/public/base/@vl2/textures.vl2/textures/special/lavareflect.png new file mode 100644 index 00000000..16119585 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lavareflect.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightFalloffMono.png b/public/base/@vl2/textures.vl2/textures/special/lightFalloffMono.png new file mode 100644 index 00000000..cb556e5b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightFalloffMono.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning1blur.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning1blur.PNG new file mode 100644 index 00000000..0b804377 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning1blur.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning1frame1.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning1frame1.PNG new file mode 100644 index 00000000..3b5926f9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning1frame1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning1frame2.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning1frame2.PNG new file mode 100644 index 00000000..70d08145 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning1frame2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning1frame3.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning1frame3.PNG new file mode 100644 index 00000000..5fb96784 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning1frame3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning2blur.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning2blur.PNG new file mode 100644 index 00000000..964a27f5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning2blur.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning2frame1.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning2frame1.PNG new file mode 100644 index 00000000..3a4f2a10 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning2frame1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning2frame2.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning2frame2.PNG new file mode 100644 index 00000000..ae07c7f4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning2frame2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/lightning2frame3.PNG b/public/base/@vl2/textures.vl2/textures/special/lightning2frame3.PNG new file mode 100644 index 00000000..332a5ba5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/lightning2frame3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/nonlingradient.PNG b/public/base/@vl2/textures.vl2/textures/special/nonlingradient.PNG new file mode 100644 index 00000000..38095a98 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/nonlingradient.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/pulse.PNG b/public/base/@vl2/textures.vl2/textures/special/pulse.PNG new file mode 100644 index 00000000..4c734bfd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/pulse.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/redbump2.PNG b/public/base/@vl2/textures.vl2/textures/special/redbump2.PNG new file mode 100644 index 00000000..ff62ddfe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/redbump2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/redflare.png b/public/base/@vl2/textures.vl2/textures/special/redflare.png new file mode 100644 index 00000000..8a0ae150 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/redflare.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shieldenvmap.PNG b/public/base/@vl2/textures.vl2/textures/special/shieldenvmap.PNG new file mode 100644 index 00000000..358e81f4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shieldenvmap.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shieldmap.png b/public/base/@vl2/textures.vl2/textures/special/shieldmap.png new file mode 100644 index 00000000..31a94485 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shieldmap.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shockLanceZap.png b/public/base/@vl2/textures.vl2/textures/special/shockLanceZap.png new file mode 100644 index 00000000..5c273f1e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shockLanceZap.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shockLightning01.png b/public/base/@vl2/textures.vl2/textures/special/shockLightning01.png new file mode 100644 index 00000000..6ccba605 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shockLightning01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shockLightning02.png b/public/base/@vl2/textures.vl2/textures/special/shockLightning02.png new file mode 100644 index 00000000..c04a306f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shockLightning02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shockLightning03.png b/public/base/@vl2/textures.vl2/textures/special/shockLightning03.png new file mode 100644 index 00000000..516388a5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shockLightning03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shocklanceHit.PNG b/public/base/@vl2/textures.vl2/textures/special/shocklanceHit.PNG new file mode 100644 index 00000000..76ce56c5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shocklanceHit.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shockwave4.PNG b/public/base/@vl2/textures.vl2/textures/special/shockwave4.PNG new file mode 100644 index 00000000..11617811 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shockwave4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shockwave5.PNG b/public/base/@vl2/textures.vl2/textures/special/shockwave5.PNG new file mode 100644 index 00000000..b04be1e7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shockwave5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shrikeBolt.png b/public/base/@vl2/textures.vl2/textures/special/shrikeBolt.png new file mode 100644 index 00000000..30a3acd8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shrikeBolt.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/shrikeBoltCross.png b/public/base/@vl2/textures.vl2/textures/special/shrikeBoltCross.png new file mode 100644 index 00000000..d40c1db5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/shrikeBoltCross.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/skyLightning.png b/public/base/@vl2/textures.vl2/textures/special/skyLightning.png new file mode 100644 index 00000000..ea5a2d72 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/skyLightning.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/sniper00.PNG b/public/base/@vl2/textures.vl2/textures/special/sniper00.PNG new file mode 100644 index 00000000..15a518b7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/sniper00.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/spark00.png b/public/base/@vl2/textures.vl2/textures/special/spark00.png new file mode 100644 index 00000000..724778f3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/spark00.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/stationGlow.PNG b/public/base/@vl2/textures.vl2/textures/special/stationGlow.PNG new file mode 100644 index 00000000..7c49d402 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/stationGlow.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/stationLight.png b/public/base/@vl2/textures.vl2/textures/special/stationLight.png new file mode 100644 index 00000000..b3f5f9c1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/stationLight.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/stationLight2.png b/public/base/@vl2/textures.vl2/textures/special/stationLight2.png new file mode 100644 index 00000000..9172e0bf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/stationLight2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/tracer00.PNG b/public/base/@vl2/textures.vl2/textures/special/tracer00.PNG new file mode 100644 index 00000000..924fbbe5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/tracer00.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/tracercross.png b/public/base/@vl2/textures.vl2/textures/special/tracercross.png new file mode 100644 index 00000000..eb35c9a4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/tracercross.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/trigger.png b/public/base/@vl2/textures.vl2/textures/special/trigger.png new file mode 100644 index 00000000..e4fea391 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/trigger.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/underwaterSpark.PNG b/public/base/@vl2/textures.vl2/textures/special/underwaterSpark.PNG new file mode 100644 index 00000000..100ea30f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/underwaterSpark.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/water2.PNG b/public/base/@vl2/textures.vl2/textures/special/water2.PNG new file mode 100644 index 00000000..59e0f600 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/water2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/special/watertail1.png b/public/base/@vl2/textures.vl2/textures/special/watertail1.png new file mode 100644 index 00000000..010af014 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/watertail1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/watertail2.png b/public/base/@vl2/textures.vl2/textures/special/watertail2.png new file mode 100644 index 00000000..2cdff289 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/watertail2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/watertail3.png b/public/base/@vl2/textures.vl2/textures/special/watertail3.png new file mode 100644 index 00000000..37b116c5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/watertail3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/watertail4.png b/public/base/@vl2/textures.vl2/textures/special/watertail4.png new file mode 100644 index 00000000..505c21c1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/watertail4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/whiteAlpha0.png b/public/base/@vl2/textures.vl2/textures/special/whiteAlpha0.png new file mode 100644 index 00000000..d932219e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/whiteAlpha0.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/whiteAlpha255.png b/public/base/@vl2/textures.vl2/textures/special/whiteAlpha255.png new file mode 100644 index 00000000..1a36e49e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/whiteAlpha255.png differ diff --git a/public/base/@vl2/textures.vl2/textures/special/whiteNoAlpha.png b/public/base/@vl2/textures.vl2/textures/special/whiteNoAlpha.png new file mode 100644 index 00000000..7a043a7d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/special/whiteNoAlpha.png differ diff --git a/public/base/@vl2/textures.vl2/textures/stagnant_water.dml b/public/base/@vl2/textures.vl2/textures/stagnant_water.dml new file mode 100644 index 00000000..2cf4fa92 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/stagnant_water.dml @@ -0,0 +1,5 @@ +LiquidTiles/LushWater01_Algae +LiquidTiles/LushWater02_Algae +LiquidTiles/LushWater03_Algae +LiquidTiles/LushWater04_Algae +lush/skies/lushcloud3 diff --git a/public/base/@vl2/textures.vl2/textures/template.dml b/public/base/@vl2/textures.vl2/textures/template.dml new file mode 100644 index 00000000..c0c5e858 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/template.dml @@ -0,0 +1,10 @@ +desert/skies/d_N_f +desert/skies/d_N_r +desert/skies/d_N_b +desert/skies/d_N_l +desert/skies/d_N_t +desert/skies/d_N_d +emap +lush/skies/lushcloud1 +lush/skies/lushcloud4 +lush/skies/lushcloud3 \ No newline at end of file diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtBumpy.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtBumpy.dml new file mode 100644 index 00000000..b3cdc261 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtBumpy.dml @@ -0,0 +1,8 @@ +terrainTiles/drtbumpy +terrainTiles/drtbumpy01 +terrainTiles/drtbumpy02 +terrainTiles/drtbumpy03 +terrainTiles/drtbumpy04 +terrainTiles/drtbumpy05 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtChipped.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtChipped.dml new file mode 100644 index 00000000..6c9a01b2 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtChipped.dml @@ -0,0 +1,16 @@ +terrainTiles/drtchipped +terrainTiles/drtchipped01 +terrainTiles/drtchipped02 +terrainTiles/drtchipped03 +terrainTiles/drtchipped04 +terrainTiles/drtchipped05 + + + + + + + + + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtYellow.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtYellow.dml new file mode 100644 index 00000000..aef7008c --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtYellow.dml @@ -0,0 +1,21 @@ +terrainTiles/drtyelo +terrainTiles/drtyelo01 +terrainTiles/drtyelo02 +terrainTiles/drtyelo03 +terrainTiles/drtyelo04 + + + + + + + + + + + + + + + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtYellowCracked.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtYellowCracked.dml new file mode 100644 index 00000000..15d74cc9 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.DirtYellowCracked.dml @@ -0,0 +1,7 @@ +terrainTiles/drtyelocrk0 +terrainTiles/drtyelocrk01 +terrainTiles/drtyelocrk02 +terrainTiles/drtyelocrk03 +terrainTiles/drtyelocrk04 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockBrown.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockBrown.dml new file mode 100644 index 00000000..89618ccb --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockBrown.dml @@ -0,0 +1,16 @@ +terrainTiles/rockbrown +terrainTiles/rockbrown01 +terrainTiles/rockbrown02 +terrainTiles/rockbrown03 +terrainTiles/rockbrown04 +terrainTiles/rockbrown05 + + + + + + + + + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockChipped.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockChipped.dml new file mode 100644 index 00000000..418670a4 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockChipped.dml @@ -0,0 +1,12 @@ +terrainTiles/rockchipd +terrainTiles/rockchipd01 +terrainTiles/rockchipd02 +terrainTiles/rockchipd03 +terrainTiles/rockchipd04 +terrainTiles/rockchipd05 + + + + + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockCracked.dml b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockCracked.dml new file mode 100644 index 00000000..bd538d5e --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.BadLands.RockCracked.dml @@ -0,0 +1,14 @@ +terrainTiles/rockbrcrak +terrainTiles/rockbrcrak01 +terrainTiles/rockbrcrak02 +terrainTiles/rockbrcrak03 +terrainTiles/rockbrcrak04 +terrainTiles/rockbrcrak05 + + + + + + + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.RockFractured.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.RockFractured.dml new file mode 100644 index 00000000..2f910f08 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.RockFractured.dml @@ -0,0 +1,7 @@ +terrainTiles/rockcrak1 +terrainTiles/rockcrak2 +terrainTiles/rockcrak3 +terrainTiles/rockcrak4 +terrainTiles/rockcrak5 +terrainTiles/rockcrak6 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.RockSmooth.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.RockSmooth.dml new file mode 100644 index 00000000..c6120790 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.RockSmooth.dml @@ -0,0 +1,7 @@ +terrainTiles/rocksmth1 +terrainTiles/rocksmth2 +terrainTiles/rocksmth3 +terrainTiles/rocksmth4 +terrainTiles/rocksmth5 +terrainTiles/rocksmth6 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.Sand.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.Sand.dml new file mode 100644 index 00000000..ddb5be50 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.Sand.dml differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandBurnt.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandBurnt.dml new file mode 100644 index 00000000..53767a18 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandBurnt.dml @@ -0,0 +1,6 @@ +terrainTiles/SandBrnt1 +terrainTiles/SandBrnt2 +terrainTiles/SandBrnt3 +terrainTiles/SandBrnt4 +terrainTiles/SandBrnt5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandDark.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandDark.dml new file mode 100644 index 00000000..eb198896 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandDark.dml @@ -0,0 +1,6 @@ +terrainTiles/SandDk1 +terrainTiles/SandDk2 +terrainTiles/SandDk3 +terrainTiles/SandDk4 +terrainTiles/SandDk5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandOrange.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandOrange.dml new file mode 100644 index 00000000..57293b96 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandOrange.dml @@ -0,0 +1,6 @@ +terrainTiles/sandorng1 +terrainTiles/sandorng2 +terrainTiles/sandorng3 +terrainTiles/sandorng4 +terrainTiles/sandorng5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandOxidized.dml b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandOxidized.dml new file mode 100644 index 00000000..2b605bc9 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.DesertWorld.SandOxidized.dml @@ -0,0 +1,6 @@ +terrainTiles/SandOxid1 +terrainTiles/SandOxid2 +terrainTiles/SandOxid3 +terrainTiles/SandOxid4 +terrainTiles/SandOxid5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Blue.dml b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Blue.dml new file mode 100644 index 00000000..319a0eed --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Blue.dml @@ -0,0 +1,3 @@ +terrainTiles/blue + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Green.dml b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Green.dml new file mode 100644 index 00000000..38010630 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Green.dml @@ -0,0 +1,2 @@ +terrainTiles/green + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Purple.dml b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Purple.dml new file mode 100644 index 00000000..afe6a3ac --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Purple.dml @@ -0,0 +1,2 @@ +terrainTiles/purple + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Red.dml b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Red.dml new file mode 100644 index 00000000..77c010da --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.Red.dml @@ -0,0 +1,2 @@ +terrainTiles/red + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.White.dml b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.White.dml new file mode 100644 index 00000000..6b5b42b0 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.FlatShade.White.dml @@ -0,0 +1,2 @@ +terrainTiles/white + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.FrequencyTest.dml b/public/base/@vl2/textures.vl2/textures/terrain.FrequencyTest.dml new file mode 100644 index 00000000..7f719c5e --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.FrequencyTest.dml @@ -0,0 +1,7 @@ +terrainTiles/Frequency1 +terrainTiles/Frequency2 +terrainTiles/Frequency3 +terrainTiles/Frequency4 +terrainTiles/Frequency5 +terrainTiles/Frequency6 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.Ice.dml b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.Ice.dml new file mode 100644 index 00000000..1434e75f --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.Ice.dml @@ -0,0 +1,12 @@ +terrainTiles/ice01 +terrainTiles/ice02 +terrainTiles/ice03 +terrainTiles/ice04 +terrainTiles/ice05 +terrainTiles/ice06 +terrainTiles/ice07 +terrainTiles/ice08 +terrainTiles/ice09 +terrainTiles/ice10 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.RockBlue.dml b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.RockBlue.dml new file mode 100644 index 00000000..46ef3c31 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.RockBlue.dml @@ -0,0 +1,9 @@ +terrainTiles/rockblue +terrainTiles/rockblue1 +terrainTiles/rockblue2 +terrainTiles/rockblue3 +terrainTiles/rockblue4 +terrainTiles/rockblue5 +terrainTiles/rockblue6 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.Snow.dml b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.Snow.dml new file mode 100644 index 00000000..75daf6de --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.Snow.dml @@ -0,0 +1,13 @@ +terrainTiles/snow1 +terrainTiles/snow2 +terrainTiles/snow3 +terrainTiles/snow4 +terrainTiles/snow5 +terrainTiles/snow6 + + + + + + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.SnowIce.dml b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.SnowIce.dml new file mode 100644 index 00000000..78bd7461 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.SnowIce.dml @@ -0,0 +1,8 @@ +terrainTiles/icesnow1 +terrainTiles/icesnow2 +terrainTiles/icesnow3 +terrainTiles/icesnow4 +terrainTiles/icesnow5 +terrainTiles/icesnow6 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.SnowRock.dml b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.SnowRock.dml new file mode 100644 index 00000000..a733483d --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.IceWorld.SnowRock.dml @@ -0,0 +1,8 @@ +terrainTiles/snowrock1 +terrainTiles/snowrock2 +terrainTiles/snowrock3 +terrainTiles/snowrock4 +terrainTiles/snowrock5 +terrainTiles/snowrock6 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.Crust.dml b/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.Crust.dml new file mode 100644 index 00000000..e20d2a76 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.Crust.dml @@ -0,0 +1,6 @@ +terrainTiles/crust1 +terrainTiles/crust2 +terrainTiles/crust3 +terrainTiles/crust4 +terrainTiles/crust5 +terrainTiles/crust6 diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.LavaRockHot.dml b/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.LavaRockHot.dml new file mode 100644 index 00000000..589b792e --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.LavaRockHot.dml @@ -0,0 +1,6 @@ +terrainTiles/lavarockhot1 +terrainTiles/lavarockhot2 +terrainTiles/lavarockhot3 +terrainTiles/lavarockhot4 +terrainTiles/lavarockhot5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.MuddyAsh.dml b/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.MuddyAsh.dml new file mode 100644 index 00000000..bd3c5c31 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LavaWorld.MuddyAsh.dml @@ -0,0 +1,6 @@ +terrainTiles/muddyash1 +terrainTiles/muddyash2 +terrainTiles/muddyash3 +terrainTiles/muddyash4 +terrainTiles/muddyash5 +terrainTiles/muddyash6 diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.DirtMossy.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.DirtMossy.dml new file mode 100644 index 00000000..39b539ff --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.DirtMossy.dml @@ -0,0 +1,6 @@ +terrainTiles/mossDirt1 +terrainTiles/mossDirt2 +terrainTiles/mossDirt3 +terrainTiles/mossDirt4 +terrainTiles/mossDirt5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassDark.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassDark.dml new file mode 100644 index 00000000..b8ea760d --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassDark.dml @@ -0,0 +1,7 @@ +terrainTiles/grassDk1 +terrainTiles/grassDk2 +terrainTiles/grassDk3 +terrainTiles/grassDk4 +terrainTiles/grassDk5 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassLight.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassLight.dml new file mode 100644 index 00000000..9936624e --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassLight.dml @@ -0,0 +1,7 @@ +terrainTiles/grassLt1 +terrainTiles/grassLt2 +terrainTiles/grassLt3 +terrainTiles/grassLt4 +terrainTiles/grassLt5 + + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassMixed.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassMixed.dml new file mode 100644 index 00000000..f5a68099 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.GrassMixed.dml @@ -0,0 +1,8 @@ +terrainTiles/grassMix1 +terrainTiles/grassMix2 +terrainTiles/grassMix3 +terrainTiles/grassMix4 +terrainTiles/grassMix5 +terrainTiles/grassMix6 +terrainTiles/grassMix7 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.Lakebed.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.Lakebed.dml new file mode 100644 index 00000000..211e4107 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.Lakebed.dml @@ -0,0 +1,6 @@ +terrainTiles/seaLt1 +terrainTiles/seaLt2 +terrainTiles/seaLt3 +terrainTiles/seaLt4 +terrainTiles/seaLt5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.RockLight.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.RockLight.dml new file mode 100644 index 00000000..d9fcaef0 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.RockLight.dml @@ -0,0 +1,6 @@ +terrainTiles/rockLt1 +terrainTiles/rockLt2 +terrainTiles/rockLt3 +terrainTiles/rockLt4 +terrainTiles/rockLt5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.RockMossy.dml b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.RockMossy.dml new file mode 100644 index 00000000..3d7e1dd0 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.LushWorld.RockMossy.dml @@ -0,0 +1,6 @@ +terrainTiles/mossRock1 +terrainTiles/mossRock2 +terrainTiles/mossRock3 +terrainTiles/mossRock4 +terrainTiles/mossRock5 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain.Outline.dml b/public/base/@vl2/textures.vl2/textures/terrain.Outline.dml new file mode 100644 index 00000000..6210a0a5 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.Outline.dml @@ -0,0 +1 @@ +terrainTiles/outline diff --git a/public/base/@vl2/textures.vl2/textures/terrain.mask.dml b/public/base/@vl2/textures.vl2/textures/terrain.mask.dml new file mode 100644 index 00000000..2799e834 --- /dev/null +++ b/public/base/@vl2/textures.vl2/textures/terrain.mask.dml @@ -0,0 +1,8 @@ +terrainTiles/mask.0001 +terrainTiles/mask.0010 +terrainTiles/mask.0011 +terrainTiles/mask.0100 +terrainTiles/mask.0101 +terrainTiles/mask.0110 +terrainTiles/mask.0111 + diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtBumpy.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtBumpy.png new file mode 100644 index 00000000..ef712936 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtBumpy.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtChipped.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtChipped.png new file mode 100644 index 00000000..3a4d30cc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtChipped.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtYellow.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtYellow.png new file mode 100644 index 00000000..cb7afd05 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtYellow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtYellowCracked.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtYellowCracked.png new file mode 100644 index 00000000..c8a32d01 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.DirtYellowCracked.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockBrown.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockBrown.png new file mode 100644 index 00000000..f758ac5c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockBrown.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockChipped.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockChipped.png new file mode 100644 index 00000000..1afe3fab Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockChipped.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockCracked.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockCracked.png new file mode 100644 index 00000000..bd5558b6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.RockCracked.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Badlands.Rockcrackedcopper.png b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.Rockcrackedcopper.png new file mode 100644 index 00000000..0921b573 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Badlands.Rockcrackedcopper.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/Default.png b/public/base/@vl2/textures.vl2/textures/terrain/Default.png new file mode 100644 index 00000000..59e1618f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/Default.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.RockFractured.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.RockFractured.png new file mode 100644 index 00000000..9a915dd2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.RockFractured.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.RockSmooth.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.RockSmooth.png new file mode 100644 index 00000000..7ccb5cc0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.RockSmooth.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.Sand.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.Sand.png new file mode 100644 index 00000000..7e3aca87 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.Sand.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandBurnt.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandBurnt.png new file mode 100644 index 00000000..a1193a79 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandBurnt.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandDark.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandDark.png new file mode 100644 index 00000000..72e299c9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandDark.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandOrange.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandOrange.png new file mode 100644 index 00000000..5c7ab0b5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandOrange.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandOxidized.png b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandOxidized.png new file mode 100644 index 00000000..ebba2049 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/DesertWorld.SandOxidized.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.Ice.png b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.Ice.png new file mode 100644 index 00000000..56b83732 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.Ice.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.RockBlue.png b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.RockBlue.png new file mode 100644 index 00000000..65cf3b93 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.RockBlue.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.Snow.png b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.Snow.png new file mode 100644 index 00000000..341c10f1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.Snow.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.SnowIce.png b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.SnowIce.png new file mode 100644 index 00000000..b8f66aa3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.SnowIce.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.SnowRock.png b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.SnowRock.png new file mode 100644 index 00000000..8d663699 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/IceWorld.SnowRock.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.Crust.png b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.Crust.png new file mode 100644 index 00000000..d7d83a62 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.Crust.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.LavaRockHot.png b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.LavaRockHot.png new file mode 100644 index 00000000..bb11419f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.LavaRockHot.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.MuddyAsh.png b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.MuddyAsh.png new file mode 100644 index 00000000..be599c4d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.MuddyAsh.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.RockBlack.PNG b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.RockBlack.PNG new file mode 100644 index 00000000..cadbbf53 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LavaWorld.RockBlack.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.DirtMossy.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.DirtMossy.png new file mode 100644 index 00000000..f7cfb1fe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.DirtMossy.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassDark.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassDark.png new file mode 100644 index 00000000..8852f56a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassDark.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassLight.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassLight.png new file mode 100644 index 00000000..1543115b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassLight.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassMixed.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassMixed.png new file mode 100644 index 00000000..e6d9c80c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.GrassMixed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.Lakebed.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.Lakebed.png new file mode 100644 index 00000000..40796a14 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.Lakebed.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.RockLight.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.RockLight.png new file mode 100644 index 00000000..48bf9f7a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.RockLight.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.RockMossy.png b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.RockMossy.png new file mode 100644 index 00000000..03573f9c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrain/LushWorld.RockMossy.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency1.png new file mode 100644 index 00000000..bef1c21a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency2.png new file mode 100644 index 00000000..eb00d898 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency3.png new file mode 100644 index 00000000..d0f5542e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency4.png new file mode 100644 index 00000000..acbd9603 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency5.png new file mode 100644 index 00000000..a75dc3ee Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency6.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency6.png new file mode 100644 index 00000000..2aecd42e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/Frequency6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK1.PNG new file mode 100644 index 00000000..63ca7d04 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK2.PNG new file mode 100644 index 00000000..289ac4b8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK3.PNG new file mode 100644 index 00000000..4be7dcf7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK4.PNG new file mode 100644 index 00000000..8ef90001 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK5.PNG new file mode 100644 index 00000000..1119d861 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDDK5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG1.PNG new file mode 100644 index 00000000..824acfd7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG2.PNG new file mode 100644 index 00000000..81d3a8b4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG3.PNG new file mode 100644 index 00000000..d2998696 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG4.PNG new file mode 100644 index 00000000..1126536e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG5.PNG new file mode 100644 index 00000000..0c181b21 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SANDREG5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt1.PNG new file mode 100644 index 00000000..89facabb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt2.PNG new file mode 100644 index 00000000..80cee39a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt3.PNG new file mode 100644 index 00000000..a33b4c85 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt4.PNG new file mode 100644 index 00000000..f860ef21 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt5.PNG new file mode 100644 index 00000000..c539454c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandBrnt5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid1.PNG new file mode 100644 index 00000000..b6598425 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid2.PNG new file mode 100644 index 00000000..fa944fc4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid3.PNG new file mode 100644 index 00000000..c925d614 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid4.PNG new file mode 100644 index 00000000..6d81ce0a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid5.PNG new file mode 100644 index 00000000..c8e546c4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/SandOxid5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/blue.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/blue.png new file mode 100644 index 00000000..d1e10de9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/blue.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/crust1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust1.png new file mode 100644 index 00000000..6f4953e1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/crust2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust2.png new file mode 100644 index 00000000..8ff0f321 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/crust3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust3.png new file mode 100644 index 00000000..c4becf6c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/crust4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust4.png new file mode 100644 index 00000000..d3d20329 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/crust5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust5.png new file mode 100644 index 00000000..a202fa37 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/crust6.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust6.png new file mode 100644 index 00000000..3474e3ea Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/crust6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy.PNG new file mode 100644 index 00000000..7632b585 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy01.PNG new file mode 100644 index 00000000..dc7f6358 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy02.PNG new file mode 100644 index 00000000..204d0793 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy03.PNG new file mode 100644 index 00000000..4e77d77e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy04.PNG new file mode 100644 index 00000000..39015070 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy05.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy05.PNG new file mode 100644 index 00000000..c0c20661 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtBumpy05.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped.PNG new file mode 100644 index 00000000..f45f5ccf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped01.PNG new file mode 100644 index 00000000..d63d5332 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped02.PNG new file mode 100644 index 00000000..9c9b9b45 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped03.PNG new file mode 100644 index 00000000..6fff04bd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped04.PNG new file mode 100644 index 00000000..eda466d7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped05.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped05.PNG new file mode 100644 index 00000000..414eb912 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtChipped05.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo.PNG new file mode 100644 index 00000000..dd01f235 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo01.PNG new file mode 100644 index 00000000..fc025b24 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo02.PNG new file mode 100644 index 00000000..969d7dab Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo03.PNG new file mode 100644 index 00000000..42bd58fe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo04.PNG new file mode 100644 index 00000000..ff63a7fd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYelo04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk0.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk0.PNG new file mode 100644 index 00000000..116340de Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk0.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk01.PNG new file mode 100644 index 00000000..04284095 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk02.PNG new file mode 100644 index 00000000..dc1d193c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk03.PNG new file mode 100644 index 00000000..f41e5db7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk04.PNG new file mode 100644 index 00000000..db1c3d87 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/drtYeloCrk04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk1.PNG new file mode 100644 index 00000000..8852f56a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk2.PNG new file mode 100644 index 00000000..191b5721 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk3.PNG new file mode 100644 index 00000000..6bf423dd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk4.PNG new file mode 100644 index 00000000..061f9772 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk5.PNG new file mode 100644 index 00000000..a662e876 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk6.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk6.PNG new file mode 100644 index 00000000..1384c133 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassDk6.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt1.PNG new file mode 100644 index 00000000..1543115b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt2.PNG new file mode 100644 index 00000000..ecff94a7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt3.PNG new file mode 100644 index 00000000..1d57fa75 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt4.PNG new file mode 100644 index 00000000..232a5f1b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt5.PNG new file mode 100644 index 00000000..339e6ec4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassLt5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix1.PNG new file mode 100644 index 00000000..4af30c63 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix2.PNG new file mode 100644 index 00000000..18233254 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix3.PNG new file mode 100644 index 00000000..d74496a0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix4.PNG new file mode 100644 index 00000000..3e219cfe Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix5.PNG new file mode 100644 index 00000000..3d8e9d73 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix6.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix6.PNG new file mode 100644 index 00000000..4af30c63 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix6.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix7.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix7.PNG new file mode 100644 index 00000000..bc045960 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/grassMix7.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/green.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/green.png new file mode 100644 index 00000000..7ca001d7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/green.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice01.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice01.png new file mode 100644 index 00000000..611b6d10 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice01.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice02.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice02.png new file mode 100644 index 00000000..38756130 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice02.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice03.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice03.png new file mode 100644 index 00000000..3e2e8dca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice03.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice04.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice04.png new file mode 100644 index 00000000..dddaf1d3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice04.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice05.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice05.png new file mode 100644 index 00000000..14257c54 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice05.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice06.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice06.png new file mode 100644 index 00000000..8455234f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice06.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice07.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice07.png new file mode 100644 index 00000000..5a6d1b6d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice07.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice08.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice08.png new file mode 100644 index 00000000..a250f020 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice08.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice09.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice09.png new file mode 100644 index 00000000..9b5ffd98 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice09.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/ice10.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice10.png new file mode 100644 index 00000000..73798dd5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/ice10.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow1.png new file mode 100644 index 00000000..660d3086 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow2.png new file mode 100644 index 00000000..0e7d726d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow3.png new file mode 100644 index 00000000..026f07fa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow4.png new file mode 100644 index 00000000..c2a6c4b1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow5.png new file mode 100644 index 00000000..3d7ad256 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow6.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow6.png new file mode 100644 index 00000000..bccd91d5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/icesnow6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot1.png new file mode 100644 index 00000000..666ce6de Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot2.png new file mode 100644 index 00000000..351679d8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot3.png new file mode 100644 index 00000000..2b0102b8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot4.png new file mode 100644 index 00000000..38ddc5b8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot5.png new file mode 100644 index 00000000..f37707d5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/lavarockhot5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0001.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0001.png new file mode 100644 index 00000000..efd1e22b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0001.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0010.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0010.png new file mode 100644 index 00000000..0f85473b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0010.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0011.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0011.png new file mode 100644 index 00000000..409e8184 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0011.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0100.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0100.png new file mode 100644 index 00000000..4d345d9b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0100.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0101.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0101.png new file mode 100644 index 00000000..502917c0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0101.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0110.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0110.png new file mode 100644 index 00000000..8cb63116 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0110.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0111.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0111.png new file mode 100644 index 00000000..984cd137 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mask.0111.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/molten1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/molten1.PNG new file mode 100644 index 00000000..2fec47ca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/molten1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt1.PNG new file mode 100644 index 00000000..eed87596 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt2.PNG new file mode 100644 index 00000000..de66dfed Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt3.PNG new file mode 100644 index 00000000..a91beeca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt4.PNG new file mode 100644 index 00000000..6ecea133 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt5.PNG new file mode 100644 index 00000000..d026b2ff Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossDirt5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock1.PNG new file mode 100644 index 00000000..03573f9c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock2.PNG new file mode 100644 index 00000000..c4b2bb4d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock3.PNG new file mode 100644 index 00000000..8fec0de8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock4.PNG new file mode 100644 index 00000000..7e88d47a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock5.PNG new file mode 100644 index 00000000..b7046b2c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/mossRock5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash1.PNG new file mode 100644 index 00000000..7d2724eb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash2.PNG new file mode 100644 index 00000000..61409eab Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash3.PNG new file mode 100644 index 00000000..39a428c8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash4.PNG new file mode 100644 index 00000000..62eb78e1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash5.PNG new file mode 100644 index 00000000..0bfec4b1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash6.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash6.PNG new file mode 100644 index 00000000..8ef9baa9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/muddyash6.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/outline.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/outline.png new file mode 100644 index 00000000..d8cde873 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/outline.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/purple.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/purple.png new file mode 100644 index 00000000..878737a9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/purple.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/red.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/red.png new file mode 100644 index 00000000..ceb50dc8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/red.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak.PNG new file mode 100644 index 00000000..98f83ea1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak01.PNG new file mode 100644 index 00000000..90e31204 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak02.PNG new file mode 100644 index 00000000..80885b58 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak03.PNG new file mode 100644 index 00000000..0dde4a0c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak04.PNG new file mode 100644 index 00000000..3184bccf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak05.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak05.PNG new file mode 100644 index 00000000..1e256c88 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockBrCrak05.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt1.PNG new file mode 100644 index 00000000..48bf9f7a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt2.PNG new file mode 100644 index 00000000..731bcf10 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt3.PNG new file mode 100644 index 00000000..6be2c861 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt4.PNG new file mode 100644 index 00000000..de6daaae Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt5.PNG new file mode 100644 index 00000000..5daa621a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockLt5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue.png new file mode 100644 index 00000000..750302ba Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue1.png new file mode 100644 index 00000000..b35fadf6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue2.png new file mode 100644 index 00000000..b61ae27b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue3.png new file mode 100644 index 00000000..bf24de30 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue4.png new file mode 100644 index 00000000..7c89eaf9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue5.png new file mode 100644 index 00000000..d594cf33 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue6.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue6.png new file mode 100644 index 00000000..85c781c2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockblue6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown.PNG new file mode 100644 index 00000000..67e0615c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown01.PNG new file mode 100644 index 00000000..6f9d56f4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown02.PNG new file mode 100644 index 00000000..ed3cea05 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown03.PNG new file mode 100644 index 00000000..44c33778 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown04.PNG new file mode 100644 index 00000000..3dc539ac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown05.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown05.PNG new file mode 100644 index 00000000..d52b3179 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockbrown05.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd.PNG new file mode 100644 index 00000000..b1ce52ff Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd01.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd01.PNG new file mode 100644 index 00000000..4e37e7ff Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd01.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd02.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd02.PNG new file mode 100644 index 00000000..0218a34f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd02.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd03.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd03.PNG new file mode 100644 index 00000000..6262f209 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd03.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd04.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd04.PNG new file mode 100644 index 00000000..ce317797 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd04.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd05.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd05.PNG new file mode 100644 index 00000000..bc3904a1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockchipd05.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak1.PNG new file mode 100644 index 00000000..2dcc4eeb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak2.PNG new file mode 100644 index 00000000..b2c1d459 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak3.PNG new file mode 100644 index 00000000..d6315584 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak4.PNG new file mode 100644 index 00000000..6d56bead Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak5.PNG new file mode 100644 index 00000000..feada3f8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak6.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak6.PNG new file mode 100644 index 00000000..9c7dd91f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rockcrak6.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth1.PNG new file mode 100644 index 00000000..f68ead58 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth2.PNG new file mode 100644 index 00000000..4271c1fa Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth3.PNG new file mode 100644 index 00000000..53398762 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth4.PNG new file mode 100644 index 00000000..34709f8a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth5.PNG new file mode 100644 index 00000000..65bc01d1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth6.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth6.PNG new file mode 100644 index 00000000..b2cae94f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth6.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth6x.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth6x.PNG new file mode 100644 index 00000000..f447c9cb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/rocksmth6x.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng1.PNG new file mode 100644 index 00000000..24e10a0d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng2.PNG new file mode 100644 index 00000000..9857f01a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng3.PNG new file mode 100644 index 00000000..5095ac24 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng4.PNG new file mode 100644 index 00000000..3d558b9c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng5.PNG new file mode 100644 index 00000000..afecac8c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/sandorng5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt1.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt1.PNG new file mode 100644 index 00000000..40796a14 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt1.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt2.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt2.PNG new file mode 100644 index 00000000..965e2776 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt2.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt3.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt3.PNG new file mode 100644 index 00000000..78b78a38 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt3.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt4.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt4.PNG new file mode 100644 index 00000000..5a79c53d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt4.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt5.PNG b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt5.PNG new file mode 100644 index 00000000..4ea72a54 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/seaLt5.PNG differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snow1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow1.png new file mode 100644 index 00000000..e6be9a93 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snow2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow2.png new file mode 100644 index 00000000..0301203c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snow3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow3.png new file mode 100644 index 00000000..0e844404 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snow4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow4.png new file mode 100644 index 00000000..55a1e17b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snow5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow5.png new file mode 100644 index 00000000..e0920220 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snow6.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow6.png new file mode 100644 index 00000000..de7b5d00 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snow6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock1.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock1.png new file mode 100644 index 00000000..5bf245ad Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock2.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock2.png new file mode 100644 index 00000000..f7e07aeb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock3.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock3.png new file mode 100644 index 00000000..9e268780 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock3.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock4.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock4.png new file mode 100644 index 00000000..f381e68f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock4.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock5.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock5.png new file mode 100644 index 00000000..fed504b2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock6.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock6.png new file mode 100644 index 00000000..bc7f700e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/snowrock6.png differ diff --git a/public/base/@vl2/textures.vl2/textures/terrainTiles/white.png b/public/base/@vl2/textures.vl2/textures/terrainTiles/white.png new file mode 100644 index 00000000..ffd96fca Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/terrainTiles/white.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Cred_Logo1.png b/public/base/@vl2/textures.vl2/textures/texticons/Cred_Logo1.png new file mode 100644 index 00000000..0f76b6bd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Cred_Logo1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Cred_logo5.png b/public/base/@vl2/textures.vl2/textures/texticons/Cred_logo5.png new file mode 100644 index 00000000..52108656 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Cred_logo5.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Flag_Beagle.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Beagle.jpg new file mode 100644 index 00000000..86468c57 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Beagle.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Flag_Bioderm.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Bioderm.jpg new file mode 100644 index 00000000..d7f0ac5e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Bioderm.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Flag_DSword.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Flag_DSword.jpg new file mode 100644 index 00000000..79983829 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Flag_DSword.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Flag_Phoenix.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Phoenix.jpg new file mode 100644 index 00000000..2efecffd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Phoenix.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Flag_Starwolf.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Starwolf.jpg new file mode 100644 index 00000000..87328a0e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Flag_Starwolf.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Flag_T2.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Flag_T2.jpg new file mode 100644 index 00000000..6ab29509 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Flag_T2.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Heavy.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Heavy.jpg new file mode 100644 index 00000000..7a8d2e1d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Heavy.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_DSword.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_DSword.jpg new file mode 100644 index 00000000..62ccffb1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_DSword.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Inferno.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Inferno.jpg new file mode 100644 index 00000000..51f02205 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Inferno.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Phoenix.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Phoenix.jpg new file mode 100644 index 00000000..b9ff2dd3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Phoenix.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Starwolf.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Starwolf.jpg new file mode 100644 index 00000000..5d450a70 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Starwolf.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Storm.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Storm.jpg new file mode 100644 index 00000000..fd7cae3c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_Storm.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_beagle.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_beagle.jpg new file mode 100644 index 00000000..cce6105c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_beagle.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_bioderm.jpg b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_bioderm.jpg new file mode 100644 index 00000000..1e8bd16f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/Logo_small_bioderm.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/bullet_1.png b/public/base/@vl2/textures.vl2/textures/texticons/bullet_1.png new file mode 100644 index 00000000..3a29788e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/bullet_1.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/bullet_2.png b/public/base/@vl2/textures.vl2/textures/texticons/bullet_2.png new file mode 100644 index 00000000..e55c55f2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/bullet_2.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/mute_speaker.png b/public/base/@vl2/textures.vl2/textures/texticons/mute_speaker.png new file mode 100644 index 00000000..b9d33237 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/mute_speaker.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/sidebar1.jpg b/public/base/@vl2/textures.vl2/textures/texticons/sidebar1.jpg new file mode 100644 index 00000000..acaf5cbf Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/sidebar1.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/sidebar2.jpg b/public/base/@vl2/textures.vl2/textures/texticons/sidebar2.jpg new file mode 100644 index 00000000..29991e6f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/sidebar2.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/sidebar3.jpg b/public/base/@vl2/textures.vl2/textures/texticons/sidebar3.jpg new file mode 100644 index 00000000..b26f0ae9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/sidebar3.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/sys_op_eye.png b/public/base/@vl2/textures.vl2/textures/texticons/sys_op_eye.png new file mode 100644 index 00000000..4752a8fb Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/sys_op_eye.png differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_FLight.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_FLight.jpg new file mode 100644 index 00000000..1c2a76f0 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_FLight.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_FMed.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_FMed.jpg new file mode 100644 index 00000000..8e44c952 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_FMed.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_Heavy.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_Heavy.jpg new file mode 100644 index 00000000..ab94080c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_Heavy.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_MLight.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_MLight.jpg new file mode 100644 index 00000000..7d2428b2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_MLight.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_MMed.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_MMed.JPG new file mode 100644 index 00000000..91c49d3e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BE_MMed.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm.jpg new file mode 100644 index 00000000..12cd6e6b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm_Light.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm_Light.jpg new file mode 100644 index 00000000..2f07c4f3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm_Light.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm_Medium.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm_Medium.jpg new file mode 100644 index 00000000..322cb4da Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Bioderm_Medium.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Blaster.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Blaster.jpg new file mode 100644 index 00000000..2c94c3d9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Blaster.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BloodEagle.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BloodEagle.jpg new file mode 100644 index 00000000..03dac621 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_BloodEagle.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Chaingun.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Chaingun.jpg new file mode 100644 index 00000000..47211588 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Chaingun.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_FLight.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_FLight.JPG new file mode 100644 index 00000000..2051f2c9 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_FLight.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_Fmed.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_Fmed.jpg new file mode 100644 index 00000000..3f9e9d4f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_Fmed.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_Heavy.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_Heavy.jpg new file mode 100644 index 00000000..0c6d002a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_Heavy.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_MMed.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_MMed.jpg new file mode 100644 index 00000000..66f1a635 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DS_MMed.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DiamondSword.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DiamondSword.JPG new file mode 100644 index 00000000..cd75777d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_DiamondSword.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Elfprojector.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Elfprojector.jpg new file mode 100644 index 00000000..779a52e3 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Elfprojector.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Fusionmortar.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Fusionmortar.jpg new file mode 100644 index 00000000..463230ac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Fusionmortar.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Grenadelauncher.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Grenadelauncher.jpg new file mode 100644 index 00000000..d3e51a49 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Grenadelauncher.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_FLight.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_FLight.JPG new file mode 100644 index 00000000..e9698d68 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_FLight.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_FMed.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_FMed.jpg new file mode 100644 index 00000000..a409d0a7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_FMed.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_Heavy.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_Heavy.jpg new file mode 100644 index 00000000..dbae336c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_Heavy.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_MLight.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_MLight.jpg new file mode 100644 index 00000000..d4eacc12 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_MLight.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_MMed.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_MMed.JPG new file mode 100644 index 00000000..46478fa1 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_HR_MMed.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Harbingers.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Harbingers.JPG new file mode 100644 index 00000000..dfdc38c6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Harbingers.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Havoc.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Havoc.JPG new file mode 100644 index 00000000..250ccba4 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Havoc.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Laserrifle.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Laserrifle.jpg new file mode 100644 index 00000000..77c3beac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Laserrifle.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Lineup.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Lineup.jpg new file mode 100644 index 00000000..b16ac3ce Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Lineup.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Missilelauncher.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Missilelauncher.jpg new file mode 100644 index 00000000..37cd9c8f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Missilelauncher.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Plasmarifle.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Plasmarifle.jpg new file mode 100644 index 00000000..7b2310e5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Plasmarifle.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_FLight.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_FLight.jpg new file mode 100644 index 00000000..518d2124 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_FLight.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_FMedium.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_FMedium.jpg new file mode 100644 index 00000000..54ae5175 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_FMedium.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_Heavy.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_Heavy.jpg new file mode 100644 index 00000000..dcbc962d Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_Heavy.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_MLight.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_MLight.jpg new file mode 100644 index 00000000..4f2b9dac Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_MLight.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_MMed.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_MMed.jpg new file mode 100644 index 00000000..2eb80842 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_SW_MMed.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Shrike.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Shrike.jpg new file mode 100644 index 00000000..f94890fc Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Shrike.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Spinfusor.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Spinfusor.jpg new file mode 100644 index 00000000..ec6d19d5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Spinfusor.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Starwolves.JPG b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Starwolves.JPG new file mode 100644 index 00000000..3a72438e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Starwolves.JPG differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_TRIBES2.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_TRIBES2.jpg new file mode 100644 index 00000000..f5c2543a Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_TRIBES2.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Thundersword.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Thundersword.jpg new file mode 100644 index 00000000..7f2112af Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_Thundersword.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_01.jpg new file mode 100644 index 00000000..f0f62479 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_01.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_02.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_02.jpg new file mode 100644 index 00000000..8b4b69d6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_02.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_03.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_03.jpg new file mode 100644 index 00000000..0fb02090 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_03.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_04.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_04.jpg new file mode 100644 index 00000000..b4c56d50 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_04.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_05.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_05.jpg new file mode 100644 index 00000000..0f1b9ad8 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_05.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_06.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_06.jpg new file mode 100644 index 00000000..5e3656d2 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_06.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_08.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_08.jpg new file mode 100644 index 00000000..728db2b6 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_08.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_10.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_10.jpg new file mode 100644 index 00000000..42703278 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_action_10.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_blowngen_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_blowngen_01.jpg new file mode 100644 index 00000000..331acc29 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_blowngen_01.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_01.jpg new file mode 100644 index 00000000..bedc9801 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_01.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_02.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_02.jpg new file mode 100644 index 00000000..635519b5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_02.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_03.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_03.jpg new file mode 100644 index 00000000..45f5fd50 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_inferno_03.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_lakedebris_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_lakedebris_01.jpg new file mode 100644 index 00000000..7d48bc00 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_lakedebris_01.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_lakedebris_03.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_lakedebris_03.jpg new file mode 100644 index 00000000..cb0ee8bd Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_lakedebris_03.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_shocklance.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_shocklance.jpg new file mode 100644 index 00000000..5e93bc4c Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_shocklance.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_soclose.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_soclose.jpg new file mode 100644 index 00000000..179f7d84 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_soclose.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_starwolf_fem.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_starwolf_fem.jpg new file mode 100644 index 00000000..8f70511f Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_starwolf_fem.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_starwolf_shrike.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_starwolf_shrike.jpg new file mode 100644 index 00000000..ffa5918b Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_starwolf_shrike.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_wateraction_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_wateraction_01.jpg new file mode 100644 index 00000000..b4729ee5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_wateraction_01.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_01.jpg new file mode 100644 index 00000000..2241a7f7 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_01.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_03.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_03.jpg new file mode 100644 index 00000000..fc2e6c7e Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_03.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_04.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_04.jpg new file mode 100644 index 00000000..8b1b6845 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_waterdemise_04.jpg differ diff --git a/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_woohoo_01.jpg b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_woohoo_01.jpg new file mode 100644 index 00000000..3aa21da5 Binary files /dev/null and b/public/base/@vl2/textures.vl2/textures/texticons/twb/twb_woohoo_01.jpg differ diff --git a/public/base/@vl2/tournamentNetClient2.vl2/scripts/autoexec/tourneyInit.cs b/public/base/@vl2/tournamentNetClient2.vl2/scripts/autoexec/tourneyInit.cs new file mode 100644 index 00000000..0477054a --- /dev/null +++ b/public/base/@vl2/tournamentNetClient2.vl2/scripts/autoexec/tourneyInit.cs @@ -0,0 +1,8 @@ + +if (!isObject(ServerGroup)) +{ + exec("tournament/settings.cs"); + exec("tournament/login.cs"); + tn_community_login_initiate(); + exec("tournament/browser.cs"); +} \ No newline at end of file diff --git a/public/base/@vl2/tournamentNetClient2.vl2/tournament/browser.cs b/public/base/@vl2/tournamentNetClient2.vl2/tournament/browser.cs new file mode 100644 index 00000000..ea38a33b --- /dev/null +++ b/public/base/@vl2/tournamentNetClient2.vl2/tournament/browser.cs @@ -0,0 +1,143 @@ +// TribesNext Project +// http://www.tribesnext.com/ +// Copyright 2011 + +// Tribes 2 Community System +// Robot Browser Client - Prototype + +$TribesNext::Community::Browser::Active = 0; + +function CommunityBrowserInterface::onConnected(%this) +{ + //echo("Browser-Sending: " @ %this.data); + %this.primed = 0; + %this.send(%this.data); +} + +function CommunityBrowserInterface::onDisconnect(%this) +{ + $TribesNext::Community::Browser::Active = 0; + tn_community_Browser_executeNextRequest(); +} + +function CommunityBrowserInterface::onLine(%this, %line) +{ + if (trim(%line) $= "") + { + %this.primed = 1; + return; + } + if (!%this.primed) + return; + + //warn("Browser: " @ %line); + %message = getField(%line, 0); + switch$ (%message) + { + // display errors to the user -- some of these should never actually happen + case "ERR": + if (getField(%line, 1) $= "BROWSER") + { + %type = getField(%line, 2); + switch$ (%type) + { + // TODO -- implement different message types + case "BLAH": + %message = "Blah!"; + default: + %message = "Unknown error in browser system: " @ %line; + } + schedule(500, 0, MessageBoxOK, "ERROR", %message); + } + case "DCE": + %dceCert = collapseEscape(getField(%line, 1)); + %index = getField(%dceCert, 1); + $T2CSRI::ClientDCESupport::DCECert[%index] = %dceCert; + case "CEC": + $T2CSRI::CommunityCertificate = collapseEscape(getField(%line, 1)); + // schedule a refresh + %expire = getField($T2CSRI::CommunityCertificate, 2); + rubyEval("tsEval '$temp=\"' + (" @ %expire @ " - Time.now().to_i).to_s + '\";'"); + %expire = $temp - 60; + if (%expire > 0) + { + if (isEventPending($TribesNext::Browser::CertRefreshSch)) + cancel($TribesNext::Browser::CertRefreshSch); + $TribesNext::Browser::CertRefreshSch = schedule(1000 * %expire, 0, tn_community_Browser_request_cert); + } + else + { + schedule(500, 0, MessageBoxOK, "ERROR", "Received expired certificate from community server. Is your computer's clock set correctly?"); + } + } +} + + +function tn_community_browser_initQueue() +{ + if (isObject($BrowserRequestQueue)) + $BrowserRequestQueue.delete(); + $BrowserRequestQueue = new MessageVector(); +} +tn_community_browser_initQueue(); + +function tn_community_browser_processRequest(%request, %payload) +{ + if (%request !$= "") + { + %request = "?guid=" @ getField($LoginCertificate, 1) @ "&uuid=" @ $TribesNext::Community::UUID @ "&" @ %request; + } + if (%payload $= "") + { + %data = "GET " @ $TribesNext::Community::BaseURL @ $TribesNext::Community::BrowserScript @ %request; + %data = %data @ " HTTP/1.1\r\nHost: " @ $TribesNext::Community::Host @ "\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n\r\n"; + } + else + { + %data = "POST " @ $TribesNext::Community::BaseURL @ $TribesNext::Community::BrowserScript @ " HTTP/1.1\r\n"; + %data = %data @ "Host: " @ $TribesNext::Community::Host @ "\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n"; + %data = %data @ %payload; + } + + $BrowserRequestQueue.pushBackLine(%data); + + if (!$TribesNext::Community::Browser::Active) + tn_community_browser_executeNextRequest(); +} + +function tn_community_browser_executeNextRequest() +{ + if ($BrowserRequestQueue.getNumLines() <= 0) + return; + + %data = $BrowserRequestQueue.getLineText(0); + $BrowserRequestQueue.popFrontLine(); + + $TribesNext::Community::Browser::Active = 1; + + if (isObject(CommunityBrowserInterface)) + { + CommunityBrowserInterface.disconnect(); + } + else + { + new TCPObject(CommunityBrowserInterface); + } + CommunityBrowserInterface.data = %data; + CommunityBrowserInterface.connect($TribesNext::Community::Host @ ":" @ $TribesNext::Community::Port); +} + +// implementation of API requests + +function tn_community_Browser_request_cert() +{ + if ($TribesNext::Community::UUID $= "") + { + schedule(3000, 0, tn_community_Browser_request_cert); + return; + } + //error("Browser: Downloading enhanced certificate from community server."); + tn_community_Browser_processRequest("method=cert"); +} + +schedule(3000, 0, tn_community_Browser_request_cert); \ No newline at end of file diff --git a/public/base/@vl2/tournamentNetClient2.vl2/tournament/login.cs b/public/base/@vl2/tournamentNetClient2.vl2/tournament/login.cs new file mode 100644 index 00000000..95dc2a8b --- /dev/null +++ b/public/base/@vl2/tournamentNetClient2.vl2/tournament/login.cs @@ -0,0 +1,185 @@ +// TribesNext Project +// http://www.tribesnext.com/ +// Copyright 2011 + +// Tribes 2 Community System +// Robot Session Client + +// Since the game itself does not store the users' passwords for any longer than is required +// to decrypt their RSA private keys, the "robot" client must negotiate sessions through an +// RSA challenge/response. + +// The robot client issues a challenge request by sending the user's GUID and a random nonce. +// The DCE issues a challenge that is encrypted with the user's public key. The challenge is +// valid for a server configured lifetime, during which any challenge request by the same GUID +// would return the same challenge. The client sends the decrypted challenge back to the DCE, and +// if it is a match, a session is initiated, and a session UUID is returned to the robot client, +// which it uses to verify its identity for all authenticated requests. The challenge lifetime is +// sufficiently generous to allow an RSA decryption and heavy network latency. + +// The client will refresh periodically (every 10 minutes by default) to keep the session alive. + +function CommunitySessionInterface::onLine(%this, %line) +{ + //warn("SInterf: " @ %line); + if (trim(%line) $= "") + { + %this.primed = 1; + return; + } + if (%this.primed) + { + echo(%line); + if (getSubStr(%line, 0, 11) $= "CHALLENGE: ") + { + $TribesNext::Community::SessionErrors = 0; + $TribesNext::Community::Challenge = getSubStr(%line, 11, strlen(%line)); + //error("Challenge set: " @ $TribesNext::Community::Challenge); + + cancel($TribesNext::Community::SessionSchedule); + $TribesNext::Community::SessionSchedule = schedule(200, 0, tn_community_login_initiate); + } + else if (getSubStr(%line, 0, 6) $= "UUID: ") + { + $TribesNext::Community::SessionErrors = 0; + $TribesNext::Community::UUID = getSubStr(%line, 6, strlen(%line)); + $TribesNext::Community::Challenge = ""; + //error("UUID set: " @ $TribesNext::Community::UUID); + + cancel($TribesNext::Community::SessionSchedule); + $TribesNext::Community::SessionSchedule = schedule($TribesNext::Community::SessionRefresh * 1000, 0, tn_community_login_initiate); + } + else if (getSubStr(%line, 0, 5) $= "ERR: ") + { + error("Session negotiation error: " @ getSubStr(%line, 5, strlen(%line))); + $TribesNext::Community::UUID = ""; + $TribesNext::Community::Challenge = ""; + + // add schedule with backoff, up to about 15 minutes + $TribesNext::Community::SessionErrors++; + if ($TribesNext::Community::SessionErrors > 66) + $TribesNext::Community::SessionErrors = 66; + $TribesNext::Community::SessionSchedule = schedule(200 * ($TribesNext::Community::SessionErrors * $TribesNext::Community::SessionErrors), 0, tn_community_login_initiate); + } + else if (getSubStr(%line, 0, 9) $= "REFRESHED") + { + $TribesNext::Community::SessionErrors = 0; + //error("Session refreshed. Scheduling next ping."); + + cancel($TribesNext::Community::SessionSchedule); + $TribesNext::Community::SessionSchedule = schedule($TribesNext::Community::SessionRefresh * 1000, 0, tn_community_login_initiate); + } + else if (getSubStr(%line, 0, 7) $= "TIMEOUT") + { + $TribesNext::Community::SessionErrors = 0; + //error("Session timed out. Refreshing."); + $TribesNext::Community::UUID = ""; + $TribesNext::Community::Challenge = ""; + + cancel($TribesNext::Community::SessionSchedule); + $TribesNext::Community::SessionSchedule = schedule(200, 0, tn_community_login_initiate); + } + } +} + +function CommunitySessionInterface::onConnected(%this) +{ + //echo("Sending: " @ %this.data); + %this.primed = 0; + %this.send(%this.data); +} + +// initiates the session negotiation process +function tn_community_login_initiate() +{ + if (isEventPending($TribesNext::Community::SessionSchedule)) + { + cancel($TribesNext::Community::SessionSchedule); + } + %payload = "GET " @ $TribesNext::Community::BaseURL @ $TribesNext::Community::LoginScript @ "?guid=" @ getField($LoginCertificate, 1) @ "&"; + // is there an existing session? + if ($TribesNext::Community::UUID !$= "") + { + // try to refresh it + %payload = %payload @ "uuid=" @ $TribesNext::Community::UUID; + } + else + { + // no session -- either expired, or never had one + + // is a challenge present + if ($TribesNext::Community::Challenge $= "") + { + // no challenge present... ask for one: + // create a random nonce half of the length of the active RSA key modulus + %length = strlen(getField($LoginCertificate, 3)) / 2; + %nonce = "1"; // start with a one to prevent truncation issues + for (%i = 1; %i < %length; %i++) + { + %nibble = getRandom(0, 15); + if (%nibble == 10) + %nibble = "a"; + else if (%nibble == 11) + %nibble = "b"; + else if (%nibble == 12) + %nibble = "c"; + else if (%nibble == 13) + %nibble = "d"; + else if (%nibble == 14) + %nibble = "e"; + else if (%nibble >= 15) + %nibble = "f"; + %nonce = %nonce @ %nibble; + } + $TribesNext::Community::Nonce = %nonce; + // transmit the request to the community server + %payload = %payload @ "nonce=" @ %nonce; + } + else + { + %challenge = strlwr($TribesNext::Community::Challenge); + for (%i = 0; %i < strlen(%challenge); %i++) + { + %char = strcmp(getSubStr(%challenge, %i, 1), ""); + if ((%char < 48 || %char > 102) || (%char > 57 && %char < 97)) + { + // non-hex characters in the challenge! + error("TNCommunity: Hostile challenge payload returned by server!"); + $TribesNext::Community::Challenge = ""; + tn_community_login_initiate(); + return; + } + } + + // challenge is present... decrypt it and transmit it to the community server + rubyEval("tsEval '$decryptedChallenge=\"' + $accountKey.decrypt('" @ %challenge @ "'.to_i(16)).to_s(16) + '\";'"); + + %verifiedNonce = getSubStr($decryptedChallenge, 0, strLen($TribesNext::Community::Nonce)); + if (%verifiedNonce !$= $TribesNext::Community::Nonce) + { + // this is not the nonce we sent to the community server, try again + error("TNCommunity: Unmatched nonce in challenge returned by server!"); + $TribesNext::Community::Challenge = ""; + tn_community_login_initiate(); + return; + } + else + { + %response = getSubStr($decryptedChallenge, strLen($TribesNext::Community::Nonce), strlen($decryptedChallenge)); + %payload = %payload @ "response=" @ %response; + } + } + } + %payload = %payload @ " HTTP/1.1\r\nHost: " @ $TribesNext::Community::Host @ "\r\nUser-Agent: Tribes 2\r\nConnection: close\r\n\r\n"; + + if (isObject(CommunitySessionInterface)) + { + CommunitySessionInterface.disconnect(); + } + else + { + new TCPObject(CommunitySessionInterface); + } + CommunitySessionInterface.data = %payload; + CommunitySessionInterface.connect($TribesNext::Community::Host @ ":" @ $TribesNext::Community::Port); +} \ No newline at end of file diff --git a/public/base/@vl2/tournamentNetClient2.vl2/tournament/settings.cs b/public/base/@vl2/tournamentNetClient2.vl2/tournament/settings.cs new file mode 100644 index 00000000..88f15f20 --- /dev/null +++ b/public/base/@vl2/tournamentNetClient2.vl2/tournament/settings.cs @@ -0,0 +1,19 @@ +// TribesNext Project +// http://www.tribesnext.com/ +// Copyright 2011-2017 + +// Tribes 2 Community System +// Robot Client Settings +// Tournament Version + +// This file contains the URL and server settings for the community system. + +$TribesNext::Community::Host = "tribesnext.thyth.com"; +$TribesNext::Community::Port = 80; +$TribesNext::Community::BaseURL = "/tn/robot/"; + +$TribesNext::Community::LoginScript = "robot_login.php"; +$TribesNext::Community::MailScript = "robot_mail.php"; +$TribesNext::Community::BrowserScript = "robot_browser.php"; + +$TribesNext::Community::SessionRefresh = 10*60; \ No newline at end of file diff --git a/public/base/@vl2/yHDTextures2.0.vl2/Info.txt b/public/base/@vl2/yHDTextures2.0.vl2/Info.txt new file mode 100644 index 00000000..65da159b --- /dev/null +++ b/public/base/@vl2/yHDTextures2.0.vl2/Info.txt @@ -0,0 +1,7 @@ +HD Textures +Made by ChocoTaco +March 2017 + +Upscaled and processed Textures + +Stick in Base Folder \ No newline at end of file diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_1wal03c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_1wal03c.png new file mode 100644 index 00000000..5d3c7a92 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_1wal03c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol01.png new file mode 100644 index 00000000..8f16b76b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol01a.png new file mode 100644 index 00000000..c0f4f64c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol02.png new file mode 100644 index 00000000..028a74a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eCol02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor01.png new file mode 100644 index 00000000..416f478a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor02.png new file mode 100644 index 00000000..56865a80 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor03.png new file mode 100644 index 00000000..ae25f6cb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor04.png new file mode 100644 index 00000000..1a6e2ebe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor05.png new file mode 100644 index 00000000..3fa76ddb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ebor05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo1a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo1a.png new file mode 100644 index 00000000..56a80858 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo1a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo1b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo1b.png new file mode 100644 index 00000000..daad49db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo1b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo2a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo2a.png new file mode 100644 index 00000000..1c3d51f6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo2a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo2b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo2b.png new file mode 100644 index 00000000..8b30d854 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo2b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3a.png new file mode 100644 index 00000000..ee8d28b2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3b.png new file mode 100644 index 00000000..dcf68715 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3d.png new file mode 100644 index 00000000..28494485 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo3d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo4a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo4a.png new file mode 100644 index 00000000..f9dca801 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo4a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo4b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo4b.png new file mode 100644 index 00000000..9c29af99 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ecombo4b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_edoo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_edoo01.png new file mode 100644 index 00000000..cc35efe0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_edoo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_edoo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_edoo02.png new file mode 100644 index 00000000..6cf0960e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_edoo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eflo01.png new file mode 100644 index 00000000..11067bc4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig02.png new file mode 100644 index 00000000..290e4d64 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig02a.png new file mode 100644 index 00000000..1df62bee Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig03.png new file mode 100644 index 00000000..7ca97ac2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig03a.png new file mode 100644 index 00000000..92f0436c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_elig03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe01.png new file mode 100644 index 00000000..f89bc704 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe02.png new file mode 100644 index 00000000..20a09a65 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe03.png new file mode 100644 index 00000000..7cbb617b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_espe03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain1a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain1a.png new file mode 100644 index 00000000..70b89822 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain1a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain2a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain2a.png new file mode 100644 index 00000000..302f2710 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain2a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain3a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain3a.png new file mode 100644 index 00000000..95ea1958 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain3a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain3b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain3b.png new file mode 100644 index 00000000..0e2d0b63 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain3b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain4a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain4a.png new file mode 100644 index 00000000..48ff0b4a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain4a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain5a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain5a.png new file mode 100644 index 00000000..d7c2e164 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_eterrain5a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal02.png new file mode 100644 index 00000000..d7935831 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal03c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal03c.png new file mode 100644 index 00000000..4580903e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal03c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal04.png new file mode 100644 index 00000000..bef30d34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal05.png new file mode 100644 index 00000000..5318a891 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal06a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal06a.png new file mode 100644 index 00000000..b1e0761d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal06a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal07.png new file mode 100644 index 00000000..02c5dc40 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal08.png new file mode 100644 index 00000000..e413fa71 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal09.png new file mode 100644 index 00000000..a6332690 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal10.png new file mode 100644 index 00000000..0b81f3ce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal11.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal11.png new file mode 100644 index 00000000..579011ef Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal11.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal13.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal13.png new file mode 100644 index 00000000..6d7a393e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal13.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal13A.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal13A.png new file mode 100644 index 00000000..497746c2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal13A.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal14.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal14.png new file mode 100644 index 00000000..b723711c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal14.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal15.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal15.png new file mode 100644 index 00000000..e09b7eba Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal15.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal16.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal16.png new file mode 100644 index 00000000..e4e801ce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ewal16.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iCol01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iCol01.png new file mode 100644 index 00000000..7d9225d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iCol01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iCol02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iCol02.png new file mode 100644 index 00000000..44a8ab1a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iCol02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor01.png new file mode 100644 index 00000000..f5493760 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor02.png new file mode 100644 index 00000000..af4ef5b3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor03.png new file mode 100644 index 00000000..22190b3c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor04.png new file mode 100644 index 00000000..c9a282e5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor05.png new file mode 100644 index 00000000..a35ed5ec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor10.png new file mode 100644 index 00000000..e9635f01 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor6.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor6.png new file mode 100644 index 00000000..1b2978cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor6.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor7.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor7.png new file mode 100644 index 00000000..a682a26a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor7.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor8.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor8.png new file mode 100644 index 00000000..b9b250c2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor8.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor9.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor9.png new file mode 100644 index 00000000..584ec4d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ibor9.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei01.png new file mode 100644 index 00000000..e12685cf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei02.png new file mode 100644 index 00000000..89aaf059 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei02a.png new file mode 100644 index 00000000..da612e97 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei03.png new file mode 100644 index 00000000..6dec0552 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icei03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig01.png new file mode 100644 index 00000000..a2562016 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig02.png new file mode 100644 index 00000000..133b2617 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig03.png new file mode 100644 index 00000000..6ddd6398 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iceilig03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ichute01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ichute01.png new file mode 100644 index 00000000..eae59af6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ichute01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ichute02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ichute02a.png new file mode 100644 index 00000000..c62fae1c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ichute02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icoligolA.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icoligolA.png new file mode 100644 index 00000000..025e478b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icoligolA.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icomp01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icomp01.png new file mode 100644 index 00000000..c132ad94 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_icomp01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_idoo03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_idoo03.png new file mode 100644 index 00000000..ad9c552b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_idoo03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo01.png new file mode 100644 index 00000000..e73204f2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo02.png new file mode 100644 index 00000000..fda01513 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo03b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo03b.png new file mode 100644 index 00000000..8b81ec4b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iflo03b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ifunctec01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ifunctec01a.png new file mode 100644 index 00000000..67097797 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ifunctec01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ifunctec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ifunctec02.png new file mode 100644 index 00000000..a3712689 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ifunctec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ilig01.png new file mode 100644 index 00000000..c4a43897 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ilig01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ilig01a.png new file mode 100644 index 00000000..4597be3a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ilig01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe01.png new file mode 100644 index 00000000..030fe2db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe03.png new file mode 100644 index 00000000..d65fa021 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe04.png new file mode 100644 index 00000000..56cec99f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe06.png new file mode 100644 index 00000000..3ffa270d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe07.png new file mode 100644 index 00000000..7fb1cb21 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe07a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe07a.png new file mode 100644 index 00000000..c4f6b7aa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_ispe07a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itebor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itebor01.png new file mode 100644 index 00000000..788ac218 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itebor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec01.png new file mode 100644 index 00000000..3dfe15ad Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec01a.png new file mode 100644 index 00000000..f16c3379 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec02.png new file mode 100644 index 00000000..0aba4fa0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec03.png new file mode 100644 index 00000000..ad8aea49 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec05.png new file mode 100644 index 00000000..43fa2487 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec06a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec06a.png new file mode 100644 index 00000000..6f789f03 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itec06a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01.png new file mode 100644 index 00000000..9b80615f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01b.png new file mode 100644 index 00000000..7aa863ce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01c.png new file mode 100644 index 00000000..7be6a825 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01e.png new file mode 100644 index 00000000..7b11fe4b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_itewal01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal01b.png new file mode 100644 index 00000000..233f2301 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal01e.png new file mode 100644 index 00000000..586b94b8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal02.png new file mode 100644 index 00000000..6c96f775 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal03.png new file mode 100644 index 00000000..4455c0d5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal03c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal03c.png new file mode 100644 index 00000000..a4564494 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal03c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal16.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal16.png new file mode 100644 index 00000000..e4e801ce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_iwal16.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_screen.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_screen.png new file mode 100644 index 00000000..87dd71b2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_screen.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh01a.png new file mode 100644 index 00000000..98202eaf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh02.png new file mode 100644 index 00000000..b8aaf577 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh02a.png new file mode 100644 index 00000000..70d55f87 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/badlands/bd_thresh02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ecombo1a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ecombo1a.png new file mode 100644 index 00000000..d059ca8d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ecombo1a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ecombo1b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ecombo1b.png new file mode 100644 index 00000000..a1050702 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ecombo1b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_eport01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_eport01.png new file mode 100644 index 00000000..3c29e55f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_eport01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_eport01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_eport01c.png new file mode 100644 index 00000000..f3f0142e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_eport01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec01.png new file mode 100644 index 00000000..a379ba9e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02.png new file mode 100644 index 00000000..8bbd6a8f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02BASE.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02BASE.png new file mode 100644 index 00000000..8f222ec7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02BASE.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02CAP.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02CAP.png new file mode 100644 index 00000000..4002e794 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec02CAP.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec03.png new file mode 100644 index 00000000..f314b160 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_espec03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_etec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_etec01.png new file mode 100644 index 00000000..9b824d4c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_etec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_etec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_etec02.png new file mode 100644 index 00000000..4370aeeb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_etec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01.png new file mode 100644 index 00000000..a1e6bc7d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01a.png new file mode 100644 index 00000000..52987cb9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01b.png new file mode 100644 index 00000000..1179ee72 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01c.png new file mode 100644 index 00000000..213d697d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01d.png new file mode 100644 index 00000000..b5a8e745 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01e.png new file mode 100644 index 00000000..fd4155ab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01f.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01f.png new file mode 100644 index 00000000..0f0aa7ce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ewal01f.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor01.png new file mode 100644 index 00000000..353098be Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor01a.png new file mode 100644 index 00000000..bbb86ae0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor02.png new file mode 100644 index 00000000..db473b5f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor02a.png new file mode 100644 index 00000000..c2e1c4a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor03.png new file mode 100644 index 00000000..33d45c93 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ibor03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ichute01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ichute01.png new file mode 100644 index 00000000..cb3a6384 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ichute01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ichute02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ichute02.png new file mode 100644 index 00000000..3e9af212 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ichute02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoldeco01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoldeco01.png new file mode 100644 index 00000000..5862a3fa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoldeco01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoldeco01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoldeco01a.png new file mode 100644 index 00000000..5ecd44ef Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoldeco01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoligolA.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoligolA.png new file mode 100644 index 00000000..4dea0b86 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icoligolA.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01b.png new file mode 100644 index 00000000..c3c8144f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01c.png new file mode 100644 index 00000000..e53f4aaf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01e.png new file mode 100644 index 00000000..bc2901ae Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01f.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01f.png new file mode 100644 index 00000000..07efe627 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01f.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01g.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01g.png new file mode 100644 index 00000000..a9fcc26b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_icomp01g.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_idoo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_idoo01.png new file mode 100644 index 00000000..eb35d35d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_idoo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo01.png new file mode 100644 index 00000000..21e710a8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo01d.png new file mode 100644 index 00000000..1b19f7ea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02.png new file mode 100644 index 00000000..90785bd2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02a.png new file mode 100644 index 00000000..1d801d47 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02b.png new file mode 100644 index 00000000..981e5574 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02c.png new file mode 100644 index 00000000..47367a2f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iflo02c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig01.png new file mode 100644 index 00000000..f1ae1cec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig01a.png new file mode 100644 index 00000000..0eb33e1a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02.png new file mode 100644 index 00000000..c1e54420 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02a.png new file mode 100644 index 00000000..d847eb86 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02b.png new file mode 100644 index 00000000..55de9a8c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02c.png new file mode 100644 index 00000000..3ebf99a9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig02c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig05a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig05a.png new file mode 100644 index 00000000..09deebce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig05a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig05b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig05b.png new file mode 100644 index 00000000..c03e388b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ilig05b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec01.png new file mode 100644 index 00000000..917e4b0e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec01CAP.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec01CAP.png new file mode 100644 index 00000000..471fc1ac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec01CAP.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec02CAP.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec02CAP.png new file mode 100644 index 00000000..587416fc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec02CAP.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec02b.png new file mode 100644 index 00000000..9f1e9a9d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispec02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01.png new file mode 100644 index 00000000..c6d7c281 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01a.png new file mode 100644 index 00000000..0813da17 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01d.png new file mode 100644 index 00000000..9d2f44e9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01f.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01f.png new file mode 100644 index 00000000..4725163b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01f.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01g.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01g.png new file mode 100644 index 00000000..f9b4a03e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_ispecbase01g.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istair01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istair01.png new file mode 100644 index 00000000..efdd7248 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istair01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01.png new file mode 100644 index 00000000..0282f6f8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01c.png new file mode 100644 index 00000000..912ef89a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01d.png new file mode 100644 index 00000000..8bb2144b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01e.png new file mode 100644 index 00000000..20913543 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01f.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01f.png new file mode 100644 index 00000000..fe0b44c0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01f.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01g.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01g.png new file mode 100644 index 00000000..0dc43664 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01g.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01h.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01h.png new file mode 100644 index 00000000..f016da04 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_istrface01h.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec01.png new file mode 100644 index 00000000..cf207542 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec01c.png new file mode 100644 index 00000000..5328c8bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec02.png new file mode 100644 index 00000000..7f627a94 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec03a.png new file mode 100644 index 00000000..e858b0db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec03b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec03b.png new file mode 100644 index 00000000..5bc675dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itec03b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01.png new file mode 100644 index 00000000..23edcb86 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01a.png new file mode 100644 index 00000000..fb4f00bb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01b.png new file mode 100644 index 00000000..f26cb595 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_itecwal01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02b.png new file mode 100644 index 00000000..9781c1f7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02d.png new file mode 100644 index 00000000..11ceafa0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02f.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02f.png new file mode 100644 index 00000000..991d54c6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02f.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02g.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02g.png new file mode 100644 index 00000000..521637b0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwal02g.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwalbase02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwalbase02.png new file mode 100644 index 00000000..46be823b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwalbase02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwalbase02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwalbase02a.png new file mode 100644 index 00000000..1ffcb401 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_iwalbase02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_sand.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_sand.png new file mode 100644 index 00000000..d03e67d5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_sand.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_screen.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_screen.png new file mode 100644 index 00000000..b274baf6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_screen.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_scrnbrdr01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_scrnbrdr01a.png new file mode 100644 index 00000000..2b77cd76 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_scrnbrdr01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_scrnbrdr01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_scrnbrdr01c.png new file mode 100644 index 00000000..a91b3aa9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_scrnbrdr01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_thresh01OFF.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_thresh01OFF.png new file mode 100644 index 00000000..918ddadd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_thresh01OFF.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_thresh01ON.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_thresh01ON.png new file mode 100644 index 00000000..6b5b2a9a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/desert/cp_thresh01ON.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/BadDet1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/BadDet1.png new file mode 100644 index 00000000..02354c5a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/BadDet1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/BadDet2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/BadDet2.png new file mode 100644 index 00000000..f5226f73 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/BadDet2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/DesertDet1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/DesertDet1.png new file mode 100644 index 00000000..0d77015f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/DesertDet1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/DesertDet2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/DesertDet2.png new file mode 100644 index 00000000..7f31d0e8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/DesertDet2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LavaDet1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LavaDet1.png new file mode 100644 index 00000000..b96ed19a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LavaDet1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LavaDet2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LavaDet2.png new file mode 100644 index 00000000..22f605b2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LavaDet2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LushDet1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LushDet1.png new file mode 100644 index 00000000..969ff83d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LushDet1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LushDet2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LushDet2.png new file mode 100644 index 00000000..6af6947f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/LushDet2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/SnowDet1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/SnowDet1.png new file mode 100644 index 00000000..ba1466db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/SnowDet1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/details/SnowDet2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/SnowDet2.png new file mode 100644 index 00000000..ba1466db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/details/SnowDet2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust00.png new file mode 100644 index 00000000..31c46c63 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust01.png new file mode 100644 index 00000000..3c145a7c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust02.png new file mode 100644 index 00000000..cfed4213 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust03.png new file mode 100644 index 00000000..26ece974 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust04.png new file mode 100644 index 00000000..07745cd3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust05.png new file mode 100644 index 00000000..9f7935b6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust06.png new file mode 100644 index 00000000..1adede70 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust07.png new file mode 100644 index 00000000..c86ba333 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust08.png new file mode 100644 index 00000000..2b605ce5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust09.png new file mode 100644 index 00000000..4d883a01 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/dust10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust10.png new file mode 100644 index 00000000..dcad9f70 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/dust10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/emap.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/emap.png new file mode 100644 index 00000000..2446410d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/emap.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/flarebase.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/flarebase.png new file mode 100644 index 00000000..52b5053c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/flarebase.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/flaremod.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/flaremod.png new file mode 100644 index 00000000..c1864f82 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/flaremod.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/BloodEagle.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/BloodEagle.png new file mode 100644 index 00000000..332f757f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/BloodEagle.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Bioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Bioderm.png new file mode 100644 index 00000000..541db768 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Bioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Bloodeagle.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Bloodeagle.png new file mode 100644 index 00000000..3fbb77f6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Bloodeagle.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Diamondsword.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Diamondsword.png new file mode 100644 index 00000000..49958f59 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Diamondsword.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Hammers.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Hammers.png new file mode 100644 index 00000000..1f9f4b46 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Hammers.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Harbingers.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Harbingers.png new file mode 100644 index 00000000..88f3f697 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Harbingers.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Starwolf.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Starwolf.png new file mode 100644 index 00000000..5950005f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/gui/bg_Starwolf.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/rockSnow2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/rockSnow2.png new file mode 100644 index 00000000..333b907e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/rockSnow2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/rockblue5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/rockblue5.png new file mode 100644 index 00000000..73de05e3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/rockblue5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/snowrock.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/snowrock.png new file mode 100644 index 00000000..3984ddcc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/snowrock.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/snowrock2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/snowrock2.png new file mode 100644 index 00000000..93e2bcae Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/snowrock2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ebor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ebor01.png new file mode 100644 index 00000000..dbc94254 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ebor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01.png new file mode 100644 index 00000000..5a343933 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01a.png new file mode 100644 index 00000000..7f94f90b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01b.png new file mode 100644 index 00000000..835665fd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01c.png new file mode 100644 index 00000000..4f7bedfe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap02.png new file mode 100644 index 00000000..23f33642 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ecap02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor01.png new file mode 100644 index 00000000..dba7891a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor02.png new file mode 100644 index 00000000..71a9dc48 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor03.png new file mode 100644 index 00000000..f91a4407 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor04.png new file mode 100644 index 00000000..62758803 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_edoor04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01.png new file mode 100644 index 00000000..d2a2fb44 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01a.png new file mode 100644 index 00000000..3246aa7d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01b.png new file mode 100644 index 00000000..db2ff600 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01c.png new file mode 100644 index 00000000..6b55c783 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_eflo01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_elig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_elig01.png new file mode 100644 index 00000000..d30d58b9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_elig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_elig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_elig02.png new file mode 100644 index 00000000..357b42f4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_elig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec01.png new file mode 100644 index 00000000..4cb891bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec02.png new file mode 100644 index 00000000..c7d7e782 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec03.png new file mode 100644 index 00000000..a3b9db5d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_espec03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01.png new file mode 100644 index 00000000..0b061f2e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01a.png new file mode 100644 index 00000000..7aff3f8b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01b.png new file mode 100644 index 00000000..7c659542 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01c.png new file mode 100644 index 00000000..47d52056 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01d.png new file mode 100644 index 00000000..cba82d88 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal02.png new file mode 100644 index 00000000..9cc9d7ca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal02a.png new file mode 100644 index 00000000..3ce434c3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal03.png new file mode 100644 index 00000000..a1c9a1cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal03a.png new file mode 100644 index 00000000..4dbd6ffc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal04.png new file mode 100644 index 00000000..09127b04 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06.png new file mode 100644 index 00000000..93d42316 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06b.png new file mode 100644 index 00000000..119eeeeb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06c.png new file mode 100644 index 00000000..eabb040a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06d.png new file mode 100644 index 00000000..b4e6401b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ewal06d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_floorgrate.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_floorgrate.png new file mode 100644 index 00000000..59378562 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_floorgrate.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_floorthresh.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_floorthresh.png new file mode 100644 index 00000000..d791ac27 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_floorthresh.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ibor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ibor01.png new file mode 100644 index 00000000..3f0f5ca1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ibor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ibor01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ibor01a.png new file mode 100644 index 00000000..40d31f16 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ibor01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01.png new file mode 100644 index 00000000..c2adc16f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01a.png new file mode 100644 index 00000000..6c168099 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01b.png new file mode 100644 index 00000000..72bd691d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02.png new file mode 100644 index 00000000..43dd4167 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02a.png new file mode 100644 index 00000000..ea6d6222 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02b.png new file mode 100644 index 00000000..4be2cfb6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iborlig02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei01.png new file mode 100644 index 00000000..875c8663 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei01a.png new file mode 100644 index 00000000..5779b6e3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei02.png new file mode 100644 index 00000000..1841d185 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei02a.png new file mode 100644 index 00000000..06e14d7f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icei02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ichute01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ichute01.png new file mode 100644 index 00000000..0eb15dc3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ichute01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ichute02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ichute02.png new file mode 100644 index 00000000..25378066 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ichute02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icol01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icol01.png new file mode 100644 index 00000000..1ec54584 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icol01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icol01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icol01a.png new file mode 100644 index 00000000..05d1c31f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icol01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolBASE.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolBASE.png new file mode 100644 index 00000000..7278da50 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolBASE.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolCAP01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolCAP01.png new file mode 100644 index 00000000..589bef64 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolCAP01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolCAP02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolCAP02.png new file mode 100644 index 00000000..37a955b2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolCAP02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolSPEC01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolSPEC01.png new file mode 100644 index 00000000..3421bd87 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolSPEC01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolSPEC02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolSPEC02.png new file mode 100644 index 00000000..b3088cb9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icolSPEC02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icoligolA.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icoligolA.png new file mode 100644 index 00000000..4dea0b86 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_icoligolA.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01.png new file mode 100644 index 00000000..8f6b3d9a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01a.png new file mode 100644 index 00000000..8894ebca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01b.png new file mode 100644 index 00000000..b5f0a003 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01c.png new file mode 100644 index 00000000..7d425024 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ifloor01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig01.png new file mode 100644 index 00000000..f6528c51 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig02.png new file mode 100644 index 00000000..45c8992a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig03.png new file mode 100644 index 00000000..4c2edc68 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig04.png new file mode 100644 index 00000000..9d74dddd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ilig04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe01.png new file mode 100644 index 00000000..1cda1962 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe01a.png new file mode 100644 index 00000000..634d0549 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe02.png new file mode 100644 index 00000000..157265b4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ipipe02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01.png new file mode 100644 index 00000000..a405d77f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01agl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01agl.png new file mode 100644 index 00000000..7a42e9a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01agl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01gl.png new file mode 100644 index 00000000..95504283 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec01gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02.png new file mode 100644 index 00000000..19eb9082 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02agl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02agl.png new file mode 100644 index 00000000..98a97fd0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02agl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02gl.png new file mode 100644 index 00000000..c962a7b7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec02gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec03.png new file mode 100644 index 00000000..7ca75fb7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec03glue.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec03glue.png new file mode 100644 index 00000000..8feda063 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_ispec03glue.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01.png new file mode 100644 index 00000000..668784ab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01Snow.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01Snow.png new file mode 100644 index 00000000..f1678939 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01Snow.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01_4BSb.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01_4BSb.png new file mode 100644 index 00000000..63cbd389 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01_4BSb.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01_4BSgl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01_4BSgl.png new file mode 100644 index 00000000..bf71ff07 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01_4BSgl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01gl.png new file mode 100644 index 00000000..fee3f649 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal01gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal02.png new file mode 100644 index 00000000..17605f90 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal02Snow.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal02Snow.png new file mode 100644 index 00000000..9fa995e2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal02Snow.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03.png new file mode 100644 index 00000000..9a5ba893 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal035BSEb.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal035BSEb.png new file mode 100644 index 00000000..3241e385 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal035BSEb.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal035BSEgl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal035BSEgl.png new file mode 100644 index 00000000..cd99976c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal035BSEgl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03Snow.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03Snow.png new file mode 100644 index 00000000..c87e99d9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03Snow.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03gl.png new file mode 100644 index 00000000..507ef971 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal03gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal04.png new file mode 100644 index 00000000..97523866 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal04gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal04gl.png new file mode 100644 index 00000000..1cebb435 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal04gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal05.png new file mode 100644 index 00000000..4dd48a14 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal05gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal05gl.png new file mode 100644 index 00000000..e587e083 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwal05gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP01agl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP01agl.png new file mode 100644 index 00000000..2477453a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP01agl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP01gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP01gl.png new file mode 100644 index 00000000..e5096058 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP01gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP02agl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP02agl.png new file mode 100644 index 00000000..c608c4fc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP02agl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP02gl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP02gl.png new file mode 100644 index 00000000..20651d2d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalCAP02gl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01.png new file mode 100644 index 00000000..1e98e258 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01b.png new file mode 100644 index 00000000..8bd58f8f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01c.png new file mode 100644 index 00000000..1ef29d55 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01d.png new file mode 100644 index 00000000..b712c82c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02.png new file mode 100644 index 00000000..8b428ee7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02b.png new file mode 100644 index 00000000..05b33092 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02c.png new file mode 100644 index 00000000..c98c032b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02d.png new file mode 100644 index 00000000..f69df35a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalcap02d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalsubcap.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalsubcap.png new file mode 100644 index 00000000..678f395b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_iwalsubcap.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_screen.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_screen.png new file mode 100644 index 00000000..b0139fea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_screen.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01.png new file mode 100644 index 00000000..b944a859 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01a.png new file mode 100644 index 00000000..b5987bb2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01b.png new file mode 100644 index 00000000..5cddba2e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01c.png new file mode 100644 index 00000000..3d7098e3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_scrnbrdr01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_thresh01OFF.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_thresh01OFF.png new file mode 100644 index 00000000..de84fae0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_thresh01OFF.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_thresh01ON.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_thresh01ON.png new file mode 100644 index 00000000..871869b9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_thresh01ON.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_threshSIDE.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_threshSIDE.png new file mode 100644 index 00000000..af34cb71 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_threshSIDE.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_threshgrate.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_threshgrate.png new file mode 100644 index 00000000..d84c4147 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/sw_threshgrate.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/xsnowrock3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/xsnowrock3.png new file mode 100644 index 00000000..7b7cf3a3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/xsnowrock3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/xsnowrock4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/xsnowrock4.png new file mode 100644 index 00000000..b43bd42f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/ice/xsnowrock4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_Thresh01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_Thresh01.png new file mode 100644 index 00000000..76fe2340 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_Thresh01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_alarm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_alarm.png new file mode 100644 index 00000000..7bdeedf5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_alarm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_efloor1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_efloor1.png new file mode 100644 index 00000000..db78a8a5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_efloor1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig01.png new file mode 100644 index 00000000..0b7b3813 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig02.png new file mode 100644 index 00000000..404ed60c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig03.png new file mode 100644 index 00000000..e7e5321a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_elig03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etechbor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etechbor01.png new file mode 100644 index 00000000..01246f81 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etechbor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etechbrdr2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etechbrdr2.png new file mode 100644 index 00000000..7294852e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etechbrdr2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etrans.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etrans.png new file mode 100644 index 00000000..8e026a24 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etrans.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etrans01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etrans01.png new file mode 100644 index 00000000..10befb9c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_etrans01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01.png new file mode 100644 index 00000000..9478782e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01BASE.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01BASE.png new file mode 100644 index 00000000..b0667b14 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01BASE.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01a.png new file mode 100644 index 00000000..82ee01b8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal02.png new file mode 100644 index 00000000..95ef37e2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco01.png new file mode 100644 index 00000000..effcadf5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco06.png new file mode 100644 index 00000000..2275a66a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco07.png new file mode 100644 index 00000000..87daa65b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco08.png new file mode 100644 index 00000000..37d20ee3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco09.png new file mode 100644 index 00000000..264b97ce Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewaldeco09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall03.png new file mode 100644 index 00000000..94077777 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall04.png new file mode 100644 index 00000000..33605b34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall05.png new file mode 100644 index 00000000..ff44cd21 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall06.png new file mode 100644 index 00000000..26b89de1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall07.png new file mode 100644 index 00000000..f6f835fb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ewall07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_floorgrate1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_floorgrate1.png new file mode 100644 index 00000000..f9c8aa8f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_floorgrate1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_genfloor.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_genfloor.png new file mode 100644 index 00000000..955118c5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_genfloor.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_genwall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_genwall.png new file mode 100644 index 00000000..132c720f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_genwall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_girder.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_girder.png new file mode 100644 index 00000000..ef2a3ec1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_girder.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor01.png new file mode 100644 index 00000000..e7996979 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor01a.png new file mode 100644 index 00000000..9bd1be82 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor02.png new file mode 100644 index 00000000..f13b4f29 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor02a.png new file mode 100644 index 00000000..bed01ed3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor03.png new file mode 100644 index 00000000..de130eb6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor04.png new file mode 100644 index 00000000..5e019a91 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ibor04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_icei01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_icei01.png new file mode 100644 index 00000000..571ea621 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_icei01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iceilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iceilig01.png new file mode 100644 index 00000000..0e5a839b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iceilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ichute01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ichute01.png new file mode 100644 index 00000000..9b7c5507 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ichute01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ichute02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ichute02.png new file mode 100644 index 00000000..ed4b4cbb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ichute02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo01.png new file mode 100644 index 00000000..e9d7d078 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo02.png new file mode 100644 index 00000000..1274ee96 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo03.png new file mode 100644 index 00000000..a6c80173 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo04.png new file mode 100644 index 00000000..82d8395e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iflo04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ifloLig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ifloLig01.png new file mode 100644 index 00000000..9a8768d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ifloLig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ifloLig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ifloLig02.png new file mode 100644 index 00000000..746c37f3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ifloLig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ihacei01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ihacei01.png new file mode 100644 index 00000000..e2dd15b1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ihacei01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ihaceilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ihaceilig01.png new file mode 100644 index 00000000..2d3d4a3f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ihaceilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilavlight.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilavlight.png new file mode 100644 index 00000000..3c5ff22f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilavlight.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig01.png new file mode 100644 index 00000000..c8d34096 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig02.png new file mode 100644 index 00000000..a1997a4b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig03.png new file mode 100644 index 00000000..b0b3b700 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig04.png new file mode 100644 index 00000000..40777450 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig05.png new file mode 100644 index 00000000..86a99261 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig06.png new file mode 100644 index 00000000..a973dd46 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_ilig06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwal01.png new file mode 100644 index 00000000..2d05f909 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwal01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwal01a.png new file mode 100644 index 00000000..a4b5071a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwal01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco01.png new file mode 100644 index 00000000..fe98ddea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco01a.png new file mode 100644 index 00000000..24683bba Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco02.png new file mode 100644 index 00000000..8456f9a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco02a.png new file mode 100644 index 00000000..5e8f2e91 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco03.png new file mode 100644 index 00000000..f0722812 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco03a.png new file mode 100644 index 00000000..f2225660 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco04.png new file mode 100644 index 00000000..656e14bd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco04a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco04a.png new file mode 100644 index 00000000..46a8468a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco04a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco05.png new file mode 100644 index 00000000..37854f13 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco05a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco05a.png new file mode 100644 index 00000000..1b16f47b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco05a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco06.png new file mode 100644 index 00000000..93a133b3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco07.png new file mode 100644 index 00000000..6dafca74 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco08.png new file mode 100644 index 00000000..c8356e30 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco09.png new file mode 100644 index 00000000..4fa4cc8c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_iwaldeco09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet01.png new file mode 100644 index 00000000..5338d340 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet02.png new file mode 100644 index 00000000..96438d19 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet03.png new file mode 100644 index 00000000..b2745d76 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_jet03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_mlatched.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_mlatched.png new file mode 100644 index 00000000..c92a2699 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_mlatched.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_mriveted2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_mriveted2.png new file mode 100644 index 00000000..0ccd103b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_mriveted2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_obsidian.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_obsidian.png new file mode 100644 index 00000000..c597b86f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_obsidian.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_screen.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_screen.png new file mode 100644 index 00000000..ed3b87d0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_screen.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techborder1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techborder1.png new file mode 100644 index 00000000..22f988f4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techborder1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techborder2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techborder2.png new file mode 100644 index 00000000..7303b789 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techborder2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_1.png new file mode 100644 index 00000000..9aa8bdf3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_2.png new file mode 100644 index 00000000..9b4fd800 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_3.png new file mode 100644 index 00000000..5dd07c34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_techwall_3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_06.png new file mode 100644 index 00000000..dbd982cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_07.png new file mode 100644 index 00000000..78dc2cbc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_08.png new file mode 100644 index 00000000..934f9aa6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_09.png new file mode 100644 index 00000000..fa67b1aa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/ds_walldeco_09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/lavadirt04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/lavadirt04.png new file mode 100644 index 00000000..4d607fcf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/lavadirt04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/lavarock03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/lavarock03.png new file mode 100644 index 00000000..9811326d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lava/lavarock03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/AlgaeWater.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/AlgaeWater.png new file mode 100644 index 00000000..36921dd9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/AlgaeWater.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/BlueWater.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/BlueWater.png new file mode 100644 index 00000000..ec41554f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/BlueWater.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/GreenWater.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/GreenWater.png new file mode 100644 index 00000000..f7b18745 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/GreenWater.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater01.png new file mode 100644 index 00000000..ec41554f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater02.png new file mode 100644 index 00000000..44ef614f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater03.png new file mode 100644 index 00000000..b73fe2cc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater04.png new file mode 100644 index 00000000..e9a4da65 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/IslandWater04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Lava.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Lava.png new file mode 100644 index 00000000..7e69b8cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Lava.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool01.png new file mode 100644 index 00000000..7e69b8cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool02.png new file mode 100644 index 00000000..a72fcb79 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool03.png new file mode 100644 index 00000000..1c6e8593 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool04.png new file mode 100644 index 00000000..7d775f3e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LavaPool04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater01.png new file mode 100644 index 00000000..f7b18745 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater01_Algae.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater01_Algae.png new file mode 100644 index 00000000..36921dd9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater01_Algae.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater02.png new file mode 100644 index 00000000..e3536b9d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater02_Algae.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater02_Algae.png new file mode 100644 index 00000000..aa6ce1ea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater02_Algae.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater03.png new file mode 100644 index 00000000..93a1ec91 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater03_Algae.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater03_Algae.png new file mode 100644 index 00000000..8d1c17c1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater03_Algae.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater04.png new file mode 100644 index 00000000..970a18f9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater04_Algae.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater04_Algae.png new file mode 100644 index 00000000..e3ea2b2d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/LushWater04_Algae.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Modulation03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Modulation03.png new file mode 100644 index 00000000..d8f94ebc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Modulation03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Modulation04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Modulation04.png new file mode 100644 index 00000000..7c181788 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Modulation04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Shore_Modulation.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Shore_Modulation.png new file mode 100644 index 00000000..b040ba7c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Shore_Modulation.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile01a.png new file mode 100644 index 00000000..d45d6cbe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile02a.png new file mode 100644 index 00000000..e3536b9d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile03a.png new file mode 100644 index 00000000..93a1ec91 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile04a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile04a.png new file mode 100644 index 00000000..970a18f9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/Tile04a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/archipelago_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/archipelago_emap_cloudsground.png new file mode 100644 index 00000000..1ccd3db3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/archipelago_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/archipelago_water.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/archipelago_water.png new file mode 100644 index 00000000..65466c78 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/archipelago_water.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/damnation_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/damnation_emap_cloudsground.png new file mode 100644 index 00000000..f3ec6ebc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/damnation_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/icebound_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/icebound_emap_cloudsground.png new file mode 100644 index 00000000..f17324b0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/icebound_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/icebound_water.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/icebound_water.png new file mode 100644 index 00000000..77d2e55d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/icebound_water.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/insalubria_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/insalubria_emap_cloudsground.png new file mode 100644 index 00000000..8d19756c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/insalubria_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/myrkwood_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/myrkwood_emap_cloudsground.png new file mode 100644 index 00000000..7d4258e6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/myrkwood_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/oasis_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/oasis_emap_cloudsground.png new file mode 100644 index 00000000..1098c373 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/oasis_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/oasis_water_ripply.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/oasis_water_ripply.png new file mode 100644 index 00000000..140d4e71 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/oasis_water_ripply.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/quagmire_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/quagmire_emap_cloudsground.png new file mode 100644 index 00000000..b6e58a4d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/quagmire_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/respite_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/respite_emap_cloudsground.png new file mode 100644 index 00000000..f3c2b9f1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/respite_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/reversion_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/reversion_emap_cloudsground.png new file mode 100644 index 00000000..9bd709d0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/reversion_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_emap_cloudsground.png new file mode 100644 index 00000000..0baf0b81 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_1.png new file mode 100644 index 00000000..46075ac9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_5.png new file mode 100644 index 00000000..2aa14d4f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_6.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_6.png new file mode 100644 index 00000000..dcca5b44 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/riverdance_water_6.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_emap_cloudsground.png new file mode 100644 index 00000000..015c9018 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_water_1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_water_1.png new file mode 100644 index 00000000..04f665c8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_water_1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_water_2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_water_2.png new file mode 100644 index 00000000..8f361766 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/sanctuary_water_2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/thinice_emap_cloudsground.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/thinice_emap_cloudsground.png new file mode 100644 index 00000000..a4469576 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/liquidTiles/thinice_emap_cloudsground.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_Edoo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_Edoo01.png new file mode 100644 index 00000000..b79c3012 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_Edoo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01b.png new file mode 100644 index 00000000..a6304761 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01d.png new file mode 100644 index 00000000..24e5e20a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01e.png new file mode 100644 index 00000000..6e7d8be5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor02.png new file mode 100644 index 00000000..d1ed5302 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor03.png new file mode 100644 index 00000000..be4121d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor04a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor04a.png new file mode 100644 index 00000000..7cc4f6cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ebor04a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ecombo02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ecombo02a.png new file mode 100644 index 00000000..cc6813a1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ecombo02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_edoo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_edoo02.png new file mode 100644 index 00000000..df3c3a75 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_edoo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_edoo03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_edoo03.png new file mode 100644 index 00000000..2d4cd35a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_edoo03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eflo01.png new file mode 100644 index 00000000..95e296a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eflo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eflo02.png new file mode 100644 index 00000000..5a99bae3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eflo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig01.png new file mode 100644 index 00000000..390a3426 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig02.png new file mode 100644 index 00000000..5092a308 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig03.png new file mode 100644 index 00000000..2898b4b3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_elig03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_epipe01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_epipe01.png new file mode 100644 index 00000000..60d706ee Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_epipe01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport01.png new file mode 100644 index 00000000..85f63d34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport01e.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport01e.png new file mode 100644 index 00000000..80a78393 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport01e.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport02a.png new file mode 100644 index 00000000..8ca12596 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport02b.png new file mode 100644 index 00000000..2e2ec71e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eport02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec01.png new file mode 100644 index 00000000..d475b405 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec02.png new file mode 100644 index 00000000..a2a08fd4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03.png new file mode 100644 index 00000000..e231fbfa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03a.png new file mode 100644 index 00000000..f0716dc2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03b.png new file mode 100644 index 00000000..90c0e640 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec03b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec04.png new file mode 100644 index 00000000..261a29ea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec05.png new file mode 100644 index 00000000..3a9ba2e8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec05b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec05b.png new file mode 100644 index 00000000..5d04f90e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec05b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec06a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec06a.png new file mode 100644 index 00000000..d6866461 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec06a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec07.png new file mode 100644 index 00000000..35025acb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec08.png new file mode 100644 index 00000000..f488c292 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec09.png new file mode 100644 index 00000000..2842434e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_espec09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_etec.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_etec.png new file mode 100644 index 00000000..b97466dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_etec.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02.png new file mode 100644 index 00000000..19e1e0ef Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02a.png new file mode 100644 index 00000000..db1fb107 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02b.png new file mode 100644 index 00000000..40530573 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_eterrain02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal01b.png new file mode 100644 index 00000000..33a0bae1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal02b.png new file mode 100644 index 00000000..33c4e3d8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal03a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal03a.png new file mode 100644 index 00000000..c42e5282 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal03a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal04a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal04a.png new file mode 100644 index 00000000..0ca381d3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal04a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05.png new file mode 100644 index 00000000..74cdd77b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05a.png new file mode 100644 index 00000000..27028298 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05d.png new file mode 100644 index 00000000..553f07d2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal05d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal06.png new file mode 100644 index 00000000..14a3f1a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal07.png new file mode 100644 index 00000000..67dfac5e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal08.png new file mode 100644 index 00000000..ebb2efe8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal09b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal09b.png new file mode 100644 index 00000000..ea6d5b5d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal09b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal11b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal11b.png new file mode 100644 index 00000000..b75c4085 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal11b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal11d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal11d.png new file mode 100644 index 00000000..088527a0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal11d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal12b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal12b.png new file mode 100644 index 00000000..177d44fe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewal12b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewall10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewall10.png new file mode 100644 index 00000000..5fd515d9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ewall10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iColBase01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iColBase01.png new file mode 100644 index 00000000..fb4b2ebb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iColBase01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iColTop.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iColTop.png new file mode 100644 index 00000000..e5affe84 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iColTop.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iGeneric.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iGeneric.png new file mode 100644 index 00000000..351fdd76 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iGeneric.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iGenericDark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iGenericDark.png new file mode 100644 index 00000000..374b7d26 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iGenericDark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01.png new file mode 100644 index 00000000..0525c1e0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01a.png new file mode 100644 index 00000000..ae5247b8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01b.png new file mode 100644 index 00000000..062a41a9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01c.png new file mode 100644 index 00000000..4581e42b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei02.png new file mode 100644 index 00000000..b8d0cd53 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei03.png new file mode 100644 index 00000000..57128ad7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei03b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei03b.png new file mode 100644 index 00000000..f8e5f19c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei03b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei04.png new file mode 100644 index 00000000..30c49194 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icei04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ichute01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ichute01.png new file mode 100644 index 00000000..07ac97bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ichute01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ichute02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ichute02.png new file mode 100644 index 00000000..90df1d3d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ichute02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icobor1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icobor1.png new file mode 100644 index 00000000..f79e2fc4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icobor1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icobor1a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icobor1a.png new file mode 100644 index 00000000..bc207d8c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icobor1a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icocei.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icocei.png new file mode 100644 index 00000000..4d445b80 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icocei.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icolig.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icolig.png new file mode 100644 index 00000000..e68a9a7b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icolig.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icolig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icolig01.png new file mode 100644 index 00000000..6131022a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icolig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icoligolA.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icoligolA.png new file mode 100644 index 00000000..025e478b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icoligolA.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icomp01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icomp01.png new file mode 100644 index 00000000..4bc63742 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icomp01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icomp01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icomp01a.png new file mode 100644 index 00000000..d3271c66 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icomp01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02.png new file mode 100644 index 00000000..31cf48d4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02a.png new file mode 100644 index 00000000..72cec293 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02b.png new file mode 100644 index 00000000..c23aba1d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_icowal02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iflo01.png new file mode 100644 index 00000000..547c6826 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iflo01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iflo01a.png new file mode 100644 index 00000000..0e27d2dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iflo01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifloWet.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifloWet.png new file mode 100644 index 00000000..8b00651c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifloWet.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifunctec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifunctec01.png new file mode 100644 index 00000000..8c51ecf4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifunctec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifunctec01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifunctec01a.png new file mode 100644 index 00000000..8cec375d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ifunctec01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihadoo.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihadoo.png new file mode 100644 index 00000000..6ce43b7d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihadoo.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihaflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihaflo01.png new file mode 100644 index 00000000..60774484 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihaflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihalig.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihalig.png new file mode 100644 index 00000000..4d2457f0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihalig.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihaspe01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihaspe01.png new file mode 100644 index 00000000..c183e8f6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihaspe01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal01.png new file mode 100644 index 00000000..b43b5a38 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal02.png new file mode 100644 index 00000000..919226da Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04.png new file mode 100644 index 00000000..4c9e8a65 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04a.png new file mode 100644 index 00000000..1916cd85 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04b.png new file mode 100644 index 00000000..3e030a65 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04d.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04d.png new file mode 100644 index 00000000..15983654 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal04d.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05a.png new file mode 100644 index 00000000..6e91deea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05b.png new file mode 100644 index 00000000..71ac6ffc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05c.png new file mode 100644 index 00000000..02f29f30 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ihawal05c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01.png new file mode 100644 index 00000000..c63c79f2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01_iwal.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01_iwal.png new file mode 100644 index 00000000..4ac4021f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01_iwal.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01b.png new file mode 100644 index 00000000..b658e159 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ipipe01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iprflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iprflo01.png new file mode 100644 index 00000000..aa7f1287 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iprflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iprwal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iprwal01.png new file mode 100644 index 00000000..d2ffe3b6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iprwal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01.png new file mode 100644 index 00000000..4b40b1ea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01a.png new file mode 100644 index 00000000..f3299b79 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01b.png new file mode 100644 index 00000000..cf6a93d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_ispec01b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor01.png new file mode 100644 index 00000000..744de80e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02.png new file mode 100644 index 00000000..5c04aef5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02a.png new file mode 100644 index 00000000..6152f05b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02b.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02b.png new file mode 100644 index 00000000..f976689c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02b.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02c.png new file mode 100644 index 00000000..d9106e31 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor02c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor04.png new file mode 100644 index 00000000..46cf27d1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itebor04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01.png new file mode 100644 index 00000000..296dc513 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01a.png new file mode 100644 index 00000000..64d10b72 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01c.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01c.png new file mode 100644 index 00000000..92fc6666 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itec01c.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itecei01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itecei01.png new file mode 100644 index 00000000..463e46fe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itecei01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itecei02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itecei02.png new file mode 100644 index 00000000..dd3b64df Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itecei02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itedoo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itedoo01.png new file mode 100644 index 00000000..3cea9fe6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itedoo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iteflo01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iteflo01.png new file mode 100644 index 00000000..5bfa2eda Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iteflo01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iteflo02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iteflo02.png new file mode 100644 index 00000000..7fc9bf6c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_iteflo02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itelig01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itelig01.png new file mode 100644 index 00000000..e4907ca0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itelig01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itelig02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itelig02.png new file mode 100644 index 00000000..eb4b9f77 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itelig02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal01.png new file mode 100644 index 00000000..c774fb98 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal02.png new file mode 100644 index 00000000..90196cb7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal02a.png new file mode 100644 index 00000000..31ea352d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal03.png new file mode 100644 index 00000000..3ecd39d3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal04.png new file mode 100644 index 00000000..ac30beaa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_itewal04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_screen.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_screen.png new file mode 100644 index 00000000..c2e41eaa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_screen.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh01.png new file mode 100644 index 00000000..d0dde356 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh01a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh01a.png new file mode 100644 index 00000000..fde0b232 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh01a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh02.png new file mode 100644 index 00000000..be7a7edd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh02a.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh02a.png new file mode 100644 index 00000000..c6efa601 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/lush/be_thresh02a.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/particleTest.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/particleTest.png new file mode 100644 index 00000000..36180f28 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/particleTest.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/raindrops.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/raindrops.png new file mode 100644 index 00000000..5b78b9ee Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/raindrops.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake001.png new file mode 100644 index 00000000..f989d308 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake002.png new file mode 100644 index 00000000..b4304d1b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake003.png new file mode 100644 index 00000000..4a2b4e16 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake004.png new file mode 100644 index 00000000..ed5f24ad Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake005.png new file mode 100644 index 00000000..3eaf6d87 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake006.png new file mode 100644 index 00000000..e7e9683a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake007.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake007.png new file mode 100644 index 00000000..5e5717e0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake007.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake008.png new file mode 100644 index 00000000..276d4c99 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake009.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake009.png new file mode 100644 index 00000000..c146ec5c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake009.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake010.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake010.png new file mode 100644 index 00000000..e45e53fc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake010.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake011.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake011.png new file mode 100644 index 00000000..5c240e21 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake011.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake012.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake012.png new file mode 100644 index 00000000..ee099c88 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake012.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake013.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake013.png new file mode 100644 index 00000000..f1f55677 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake013.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake014.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake014.png new file mode 100644 index 00000000..8bcb3416 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake014.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake015.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake015.png new file mode 100644 index 00000000..9424b84f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake015.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake016.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake016.png new file mode 100644 index 00000000..1fae8729 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake016.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake017.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake017.png new file mode 100644 index 00000000..3734c6eb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflake017.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflakes.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflakes.png new file mode 100644 index 00000000..915b10ef Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/precipitation/snowflakes.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/A7branch1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/A7branch1.png new file mode 100644 index 00000000..2a7ef4a5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/A7branch1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/A7trunk2.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/A7trunk2.PNG new file mode 100644 index 00000000..6eec8a67 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/A7trunk2.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/AgaritaFall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/AgaritaFall.png new file mode 100644 index 00000000..82a45ce6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/AgaritaFall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BBerryFall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BBerryFall.png new file mode 100644 index 00000000..d97c76bc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BBerryFall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BarrenSticksFall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BarrenSticksFall.png new file mode 100644 index 00000000..ed9afc84 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BarrenSticksFall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Blue.hflag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Blue.hflag.png new file mode 100644 index 00000000..20507a1a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Blue.hflag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch3.png new file mode 100644 index 00000000..52d2bae7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch4.png new file mode 100644 index 00000000..62d6d7b9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch5.png new file mode 100644 index 00000000..e0b567dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Branch5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Burntwood.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Burntwood.png new file mode 100644 index 00000000..60c9dfba Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Burntwood.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BurntwoodBranch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BurntwoodBranch.png new file mode 100644 index 00000000..51eab973 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/BurntwoodBranch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ChkBerryWinter.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ChkBerryWinter.png new file mode 100644 index 00000000..27f1e45e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ChkBerryWinter.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0000.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0000.png new file mode 100644 index 00000000..e5daf26d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0000.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0001.png new file mode 100644 index 00000000..f5fbeedb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0002.png new file mode 100644 index 00000000..0e64be41 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0003.png new file mode 100644 index 00000000..045edf36 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0004.png new file mode 100644 index 00000000..e849a640 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0005.png new file mode 100644 index 00000000..5e6b2dc1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0006.png new file mode 100644 index 00000000..d34bed7e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0007.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0007.png new file mode 100644 index 00000000..204c4067 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0007.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0008.png new file mode 100644 index 00000000..de9b0703 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0009.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0009.png new file mode 100644 index 00000000..4e34c9af Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Enrgtubes0009.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Green.hflag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Green.hflag.png new file mode 100644 index 00000000..62f4e4db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Green.hflag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/HorseNettleFall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/HorseNettleFall.png new file mode 100644 index 00000000..e5d1e338 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/HorseNettleFall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Humnskn3.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Humnskn3.PNG new file mode 100644 index 00000000..c9f940bc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Humnskn3.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/LushMoss.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/LushMoss.png new file mode 100644 index 00000000..9b27202f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/LushMoss.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneBark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneBark.png new file mode 100644 index 00000000..cc79c691 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneBark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneFall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneFall.png new file mode 100644 index 00000000..13d04d2a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneFall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneFoliage.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneFoliage.png new file mode 100644 index 00000000..76b2f4fc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneFoliage.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneWinter.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneWinter.png new file mode 100644 index 00000000..8f350c90 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MadroneWinter.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Maple Shrub.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Maple Shrub.png new file mode 100644 index 00000000..3526996e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Maple Shrub.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesqBark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesqBark.png new file mode 100644 index 00000000..97655b4d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesqBark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesquiteBranch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesquiteBranch.png new file mode 100644 index 00000000..5d9f482e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesquiteBranch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesquiteLeaves.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesquiteLeaves.png new file mode 100644 index 00000000..af72ad82 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MesquiteLeaves.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Mortar_Projectile.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Mortar_Projectile.png new file mode 100644 index 00000000..0eefaf2e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Mortar_Projectile.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MotionSensor.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MotionSensor.png new file mode 100644 index 00000000..76c67cca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/MotionSensor.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NewMoss.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NewMoss.png new file mode 100644 index 00000000..024a603e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NewMoss.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NewMossFull.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NewMossFull.png new file mode 100644 index 00000000..66021b29 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NewMossFull.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexDefaultFloor.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexDefaultFloor.png new file mode 100644 index 00000000..2107c45e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexDefaultFloor.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexHoardFloor.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexHoardFloor.png new file mode 100644 index 00000000..ea464d2b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexHoardFloor.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexusGenerator.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexusGenerator.png new file mode 100644 index 00000000..8490668d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexusGenerator.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexusPowerLightsON.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexusPowerLightsON.png new file mode 100644 index 00000000..a427d2b7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/NexusPowerLightsON.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Oldwood.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Oldwood.png new file mode 100644 index 00000000..3bf78d39 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Oldwood.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/OldwoodBranch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/OldwoodBranch.png new file mode 100644 index 00000000..48b0017f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/OldwoodBranch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre00.png new file mode 100644 index 00000000..b4eae171 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre01.png new file mode 100644 index 00000000..d3d14240 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre02.png new file mode 100644 index 00000000..cf65e38d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre03.png new file mode 100644 index 00000000..c45ec380 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre04.png new file mode 100644 index 00000000..9503faca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre05.png new file mode 100644 index 00000000..143db9ec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre06.png new file mode 100644 index 00000000..c85f0c67 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre07.png new file mode 100644 index 00000000..6b263301 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre08.png new file mode 100644 index 00000000..95e2bed7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre09.png new file mode 100644 index 00000000..d19d108a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre10.png new file mode 100644 index 00000000..cabfd9c7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre11.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre11.png new file mode 100644 index 00000000..21590436 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre11.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre12.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre12.png new file mode 100644 index 00000000..8289d678 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre12.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre13.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre13.png new file mode 100644 index 00000000..0883b52c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre13.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre14.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre14.png new file mode 100644 index 00000000..29bcc054 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre14.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre15.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre15.png new file mode 100644 index 00000000..069d2643 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre15.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre16.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre16.png new file mode 100644 index 00000000..c0d958a5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre16.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre17.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre17.png new file mode 100644 index 00000000..b2078537 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre17.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre18.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre18.png new file mode 100644 index 00000000..75b277ca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre18.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre19.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre19.png new file mode 100644 index 00000000..b91afd16 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre19.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre20.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre20.png new file mode 100644 index 00000000..04c496e2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre20.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre21.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre21.png new file mode 100644 index 00000000..6b21faca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre21.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre22.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre22.png new file mode 100644 index 00000000..acb972a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Plsre22.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/PonderosaPineBark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/PonderosaPineBark.png new file mode 100644 index 00000000..4b328591 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/PonderosaPineBark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse00.png new file mode 100644 index 00000000..7fd8d7aa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse01.png new file mode 100644 index 00000000..6e84da61 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse02.png new file mode 100644 index 00000000..5697e9b3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse03.png new file mode 100644 index 00000000..f076811d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse04.png new file mode 100644 index 00000000..2afe43a0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse05.png new file mode 100644 index 00000000..224bd3af Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse06.png new file mode 100644 index 00000000..4788a731 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse07.png new file mode 100644 index 00000000..95784133 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse08.png new file mode 100644 index 00000000..715e389b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Pulse08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Rabbit BushWin.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Rabbit BushWin.png new file mode 100644 index 00000000..c501f677 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Rabbit BushWin.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/RabbitBush.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/RabbitBush.png new file mode 100644 index 00000000..70f0347b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/RabbitBush.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/SBerryFall.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/SBerryFall.png new file mode 100644 index 00000000..b3f502ab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/SBerryFall.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ScotchBroom.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ScotchBroom.png new file mode 100644 index 00000000..e4f49352 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ScotchBroom.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Scout_windshield.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Scout_windshield.png new file mode 100644 index 00000000..b80df099 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Scout_windshield.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ShieldPackActivate.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ShieldPackActivate.png new file mode 100644 index 00000000..49ecb2a3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ShieldPackActivate.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ShieldPackAmbient.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ShieldPackAmbient.png new file mode 100644 index 00000000..1c7e7041 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ShieldPackAmbient.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/SnowBlanket.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/SnowBlanket.png new file mode 100644 index 00000000..f3078273 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/SnowBlanket.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_Wheel.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_Wheel.png new file mode 100644 index 00000000..f85b0c99 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_Wheel.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodyMain.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodyMain.png new file mode 100644 index 00000000..6b949bc8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodyMain.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodySide1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodySide1.png new file mode 100644 index 00000000..577160b6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodySide1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodySide2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodySide2.png new file mode 100644 index 00000000..8dfeb18d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_Land_Assault_bodySide2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout.png new file mode 100644 index 00000000..a1bca132 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_pipes.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_pipes.png new file mode 100644 index 00000000..65046b48 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_pipes.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_windshield.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_windshield.png new file mode 100644 index 00000000..20439134 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_windshield.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_windshieldInner.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_windshieldInner.png new file mode 100644 index 00000000..1bebcf0f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_scout_windshieldInner.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_tank_bodyMain.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_tank_bodyMain.png new file mode 100644 index 00000000..3f8339c6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Vehicle_grav_tank_bodyMain.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Weapon_missile_projectile.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Weapon_missile_projectile.png new file mode 100644 index 00000000..b1c66720 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Weapon_missile_projectile.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinMapShrubart.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinMapShrubart.png new file mode 100644 index 00000000..fe65217d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinMapShrubart.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinRhody.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinRhody.png new file mode 100644 index 00000000..10cbb25b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinRhody.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinScotchArt.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinScotchArt.png new file mode 100644 index 00000000..26b68b7e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/WinScotchArt.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Yellow.hflag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Yellow.hflag.png new file mode 100644 index 00000000..093c2a78 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/Yellow.hflag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/alienfirxbase2.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/alienfirxbase2.PNG new file mode 100644 index 00000000..7aea4cf8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/alienfirxbase2.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_chaingun.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_chaingun.png new file mode 100644 index 00000000..a937db09 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_chaingun.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_disc.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_disc.png new file mode 100644 index 00000000..3629eb0b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_disc.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_grenade.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_grenade.png new file mode 100644 index 00000000..c1df1e4b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_grenade.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_mine.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_mine.png new file mode 100644 index 00000000..41c2ca9c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_mine.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_mortar.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_mortar.png new file mode 100644 index 00000000..f76f8344 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_mortar.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_plasma.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_plasma.png new file mode 100644 index 00000000..8d2ff034 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/ammo_plasma.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.1.png new file mode 100644 index 00000000..4b9ff281 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.2.png new file mode 100644 index 00000000..31f65331 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.3.png new file mode 100644 index 00000000..6ff4dcde Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/armor.damage.3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_honor.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_honor.png new file mode 100644 index 00000000..cdc04787 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_honor.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_strength.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_strength.png new file mode 100644 index 00000000..777417ca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_strength.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_unity.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_unity.png new file mode 100644 index 00000000..76eef578 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/banner_unity.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrelMount.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrelMount.png new file mode 100644 index 00000000..60a32b1c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrelMount.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_aa_large.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_aa_large.png new file mode 100644 index 00000000..bf92a832 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_aa_large.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_elf_large.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_elf_large.png new file mode 100644 index 00000000..eb6d4622 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_elf_large.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_fusion_large.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_fusion_large.png new file mode 100644 index 00000000..27a3a1ca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_fusion_large.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_missile_large.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_missile_large.png new file mode 100644 index 00000000..9badb93c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_missile_large.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_mortar_large.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_mortar_large.png new file mode 100644 index 00000000..d448266d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/barrel_mortar_large.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.flag.png new file mode 100644 index 00000000..2186fa0c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.hflag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.hflag.png new file mode 100644 index 00000000..4153fde9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.hflag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.hmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.hmale.png new file mode 100644 index 00000000..a61b3f21 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.hmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lbioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lbioderm.png new file mode 100644 index 00000000..766c44a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lbioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lfemale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lfemale.png new file mode 100644 index 00000000..bf8807b7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lfemale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lmale.png new file mode 100644 index 00000000..268e1cd8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.lmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mbioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mbioderm.png new file mode 100644 index 00000000..7b74b76e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mbioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mfemale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mfemale.png new file mode 100644 index 00000000..62b314ed Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mfemale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mmale.png new file mode 100644 index 00000000..0d8bec55 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.mmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.switch.png new file mode 100644 index 00000000..dd1e16ed Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/base.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.flag.png new file mode 100644 index 00000000..8c3b01f3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.hbioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.hbioderm.png new file mode 100644 index 00000000..1caa8dd7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.hbioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.hmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.hmale.png new file mode 100644 index 00000000..afd3d45b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.hmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lbioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lbioderm.png new file mode 100644 index 00000000..781369ca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lbioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lfemale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lfemale.png new file mode 100644 index 00000000..6ca02a56 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lfemale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lmale.png new file mode 100644 index 00000000..d40f58e7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.lmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mbioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mbioderm.png new file mode 100644 index 00000000..17dd0f70 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mbioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mfemale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mfemale.png new file mode 100644 index 00000000..ae4cff0b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mfemale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mmale.png new file mode 100644 index 00000000..8f16eb0b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.mmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.switch.png new file mode 100644 index 00000000..bdaca05f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/baseb.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beacon.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beacon.png new file mode 100644 index 00000000..7ea40db8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beacon.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beagle.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beagle.flag.png new file mode 100644 index 00000000..bf25e50a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beagle.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beagle.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beagle.switch.png new file mode 100644 index 00000000..9ed617f2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beagle.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beampulse.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beampulse.png new file mode 100644 index 00000000..405700b0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/beampulse.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue00.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue00.PNG new file mode 100644 index 00000000..e673d891 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue00.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue01.PNG new file mode 100644 index 00000000..e7dddb7f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue02.PNG new file mode 100644 index 00000000..edeb35de Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue03.PNG new file mode 100644 index 00000000..1690307d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue04.PNG new file mode 100644 index 00000000..ffbeb14a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink0.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink0.PNG new file mode 100644 index 00000000..1ab384e9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink0.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink1.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink1.PNG new file mode 100644 index 00000000..5c16e387 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink1.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink2.png new file mode 100644 index 00000000..4f6a4974 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink3.png new file mode 100644 index 00000000..6f186360 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink4.png new file mode 100644 index 00000000..a8fcc2e8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/blue_blink4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg1.png new file mode 100644 index 00000000..627d4934 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg2.png new file mode 100644 index 00000000..c09e74e6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg4.png new file mode 100644 index 00000000..e6dd76c6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg6.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg6.png new file mode 100644 index 00000000..7dcb6c34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/borg6.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/brush.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/brush.PNG new file mode 100644 index 00000000..d270b73e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/brush.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole1.png new file mode 100644 index 00000000..345bd863 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole2.png new file mode 100644 index 00000000..44f1ac37 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole3.png new file mode 100644 index 00000000..aed5eac6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole4.png new file mode 100644 index 00000000..6bfa5850 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole5.png new file mode 100644 index 00000000..fc7c5198 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole6.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole6.png new file mode 100644 index 00000000..f4baa609 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/bullethole6.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cactus.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cactus.png new file mode 100644 index 00000000..42f30bb7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cactus.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/camera.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/camera.png new file mode 100644 index 00000000..417b81cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/camera.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chaingun_shot_end.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chaingun_shot_end.png new file mode 100644 index 00000000..29d92705 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chaingun_shot_end.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chaingun_shot_side.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chaingun_shot_side.png new file mode 100644 index 00000000..91787ca7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chaingun_shot_side.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chg_fmzl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chg_fmzl.png new file mode 100644 index 00000000..adf02db8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chg_fmzl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chg_smzl.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chg_smzl.png new file mode 100644 index 00000000..a283822a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/chg_smzl.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0000.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0000.png new file mode 100644 index 00000000..0a6a67f5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0000.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0001.png new file mode 100644 index 00000000..13342f41 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0002.png new file mode 100644 index 00000000..9e916b46 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0003.png new file mode 100644 index 00000000..80f50a68 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0004.png new file mode 100644 index 00000000..a965afd1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0005.png new file mode 100644 index 00000000..a7be330c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0006.png new file mode 100644 index 00000000..95aa0f26 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0007.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0007.png new file mode 100644 index 00000000..84b34f45 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0007.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0008.png new file mode 100644 index 00000000..55025306 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0009.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0009.png new file mode 100644 index 00000000..00eadeac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0009.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0010.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0010.png new file mode 100644 index 00000000..914632db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0010.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0011.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0011.png new file mode 100644 index 00000000..f751e304 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0011.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0012.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0012.png new file mode 100644 index 00000000..f891608e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0012.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0013.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0013.png new file mode 100644 index 00000000..e2d8fe06 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0013.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0014.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0014.png new file mode 100644 index 00000000..bfc2b920 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0014.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0015.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0015.png new file mode 100644 index 00000000..58e10360 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0015.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0016.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0016.png new file mode 100644 index 00000000..a50bd6a5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0016.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0017.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0017.png new file mode 100644 index 00000000..fb590368 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0017.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0018.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0018.png new file mode 100644 index 00000000..314c35b1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0018.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0019.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0019.png new file mode 100644 index 00000000..43b7eeb1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cloak_core0019.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cotp.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cotp.flag.png new file mode 100644 index 00000000..bfc2292e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cotp.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cotp.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cotp.switch.png new file mode 100644 index 00000000..c8e95fb8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/cotp.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase00.png new file mode 100644 index 00000000..f0ad3b05 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase01.png new file mode 100644 index 00000000..6ba08c5d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase02.png new file mode 100644 index 00000000..8a8cef17 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase03.png new file mode 100644 index 00000000..c05db0ee Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase04.png new file mode 100644 index 00000000..73b1e625 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase05.png new file mode 100644 index 00000000..de789b88 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dcase05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb01.PNG new file mode 100644 index 00000000..3e3da650 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb02.PNG new file mode 100644 index 00000000..c34364b2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb03.PNG new file mode 100644 index 00000000..aec5f753 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb04.PNG new file mode 100644 index 00000000..ba68c33c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb05.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb05.PNG new file mode 100644 index 00000000..fd6cc869 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb05.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb06.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb06.PNG new file mode 100644 index 00000000..1c411c65 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb06.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb07.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb07.PNG new file mode 100644 index 00000000..0ceec980 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb07.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb08.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb08.PNG new file mode 100644 index 00000000..dcca1c0b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb08.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb09.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb09.PNG new file mode 100644 index 00000000..77c9ed6a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb09.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb10.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb10.PNG new file mode 100644 index 00000000..49ddee7b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb10.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb11.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb11.PNG new file mode 100644 index 00000000..0412adc0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb11.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb12.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb12.PNG new file mode 100644 index 00000000..4e33eed8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb12.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb13.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb13.PNG new file mode 100644 index 00000000..99d5484a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb13.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb14.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb14.PNG new file mode 100644 index 00000000..cc541759 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb14.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb15.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb15.PNG new file mode 100644 index 00000000..828c2604 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb15.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb16.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb16.PNG new file mode 100644 index 00000000..1873baa9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb16.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb17.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb17.PNG new file mode 100644 index 00000000..15c91dd5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb17.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb18.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb18.PNG new file mode 100644 index 00000000..51372e0e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb18.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb19.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb19.PNG new file mode 100644 index 00000000..de6a9e44 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb19.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb20.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb20.PNG new file mode 100644 index 00000000..7944cc4f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb20.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb21.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb21.PNG new file mode 100644 index 00000000..1009e1d3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb21.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb22.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb22.PNG new file mode 100644 index 00000000..875ea254 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb22.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb23.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb23.PNG new file mode 100644 index 00000000..6ebd728b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb23.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb24.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb24.PNG new file mode 100644 index 00000000..0e2cb0cc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb24.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb25.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb25.PNG new file mode 100644 index 00000000..08b2b7e9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb25.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb26.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb26.PNG new file mode 100644 index 00000000..230a16ad Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb26.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb27.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb27.PNG new file mode 100644 index 00000000..d4075508 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb27.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb28.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb28.PNG new file mode 100644 index 00000000..8f19148c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb28.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb29.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb29.PNG new file mode 100644 index 00000000..48611f81 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb29.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb30.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb30.PNG new file mode 100644 index 00000000..2d6f004d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb30.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb31.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb31.PNG new file mode 100644 index 00000000..f30f8137 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb31.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb32.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb32.PNG new file mode 100644 index 00000000..92a0fc0d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb32.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb33.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb33.png new file mode 100644 index 00000000..6e8ec864 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb33.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb34.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb34.png new file mode 100644 index 00000000..5a1931b4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deb34.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_inventory_1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_inventory_1.png new file mode 100644 index 00000000..a5fb1c35 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_inventory_1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_inventory_2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_inventory_2.png new file mode 100644 index 00000000..07ac680a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_inventory_2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_sensor_pulse.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_sensor_pulse.png new file mode 100644 index 00000000..93f1b1ef Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/deploy_sensor_pulse.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc00.png new file mode 100644 index 00000000..4e44efb4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc01.png new file mode 100644 index 00000000..bc33523e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc02.png new file mode 100644 index 00000000..f8803e91 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc03.png new file mode 100644 index 00000000..886648a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc04.png new file mode 100644 index 00000000..51816fa6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc05.png new file mode 100644 index 00000000..b8cd2725 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc06.png new file mode 100644 index 00000000..6bcca53e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc07.png new file mode 100644 index 00000000..a520111b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc08.png new file mode 100644 index 00000000..61ad3740 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc09.png new file mode 100644 index 00000000..aadd2d8c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc10.png new file mode 100644 index 00000000..26026301 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc11.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc11.png new file mode 100644 index 00000000..1fcfae1a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc11.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc12.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc12.png new file mode 100644 index 00000000..41f5b221 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc12.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc13.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc13.png new file mode 100644 index 00000000..79f171d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc13.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc14.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc14.png new file mode 100644 index 00000000..581e397d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc14.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc15.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc15.png new file mode 100644 index 00000000..5b655454 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc15.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc16.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc16.png new file mode 100644 index 00000000..3460d29e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc16.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc17.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc17.png new file mode 100644 index 00000000..05c818f2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc17.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc18.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc18.png new file mode 100644 index 00000000..61fb5171 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc18.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc19.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc19.png new file mode 100644 index 00000000..7f30e3f1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc19.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc20.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc20.png new file mode 100644 index 00000000..37a0b895 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc20.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc21.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc21.png new file mode 100644 index 00000000..7fa9ec7f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc21.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc22.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc22.png new file mode 100644 index 00000000..b1d1cabc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc22.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc23.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc23.png new file mode 100644 index 00000000..34e1692e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc23.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc24.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc24.png new file mode 100644 index 00000000..1b6ca093 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc24.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc25.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc25.png new file mode 100644 index 00000000..3599e9e2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc25.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc26.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc26.png new file mode 100644 index 00000000..9cef282a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc26.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc27.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc27.png new file mode 100644 index 00000000..f8177214 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc27.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc_muzzle.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc_muzzle.PNG new file mode 100644 index 00000000..7a7f8527 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/disc_muzzle.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/discshield2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/discshield2.png new file mode 100644 index 00000000..e0441de1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/discshield2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dsword.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dsword.flag.png new file mode 100644 index 00000000..3679634f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dsword.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dsword.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dsword.switch.png new file mode 100644 index 00000000..0715735e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/dsword.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energy_bolt.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energy_bolt.PNG new file mode 100644 index 00000000..deeb1275 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energy_bolt.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0000.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0000.png new file mode 100644 index 00000000..901cabc2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0000.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0001.png new file mode 100644 index 00000000..06bb6e30 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0002.png new file mode 100644 index 00000000..e7b540bb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0003.png new file mode 100644 index 00000000..528b04b1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0004.png new file mode 100644 index 00000000..ff9af8d6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0005.png new file mode 100644 index 00000000..06c096c5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/energydis0005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl00.png new file mode 100644 index 00000000..4ae814e7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl01.png new file mode 100644 index 00000000..95e0ff7d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl02.png new file mode 100644 index 00000000..2fbdb9e7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl03.png new file mode 100644 index 00000000..ccde1113 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl04.png new file mode 100644 index 00000000..656c72b6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl05.png new file mode 100644 index 00000000..a82d7afc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl06.png new file mode 100644 index 00000000..6b71168c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl07.png new file mode 100644 index 00000000..06447ca7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_frnt_muzl07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl00.png new file mode 100644 index 00000000..f0b668ab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl01.png new file mode 100644 index 00000000..4b2423fe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl02.png new file mode 100644 index 00000000..fe10f4e2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl03.png new file mode 100644 index 00000000..10715d90 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl04.png new file mode 100644 index 00000000..b671101e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl05.png new file mode 100644 index 00000000..0678f5dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl06.png new file mode 100644 index 00000000..0c302daa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl07.png new file mode 100644 index 00000000..02bf6448 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrg_side_muzl07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0000.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0000.png new file mode 100644 index 00000000..fe2da27f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0000.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0001.png new file mode 100644 index 00000000..a71f9172 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0002.png new file mode 100644 index 00000000..04c20701 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0003.png new file mode 100644 index 00000000..699f3c48 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0004.png new file mode 100644 index 00000000..9bfdfe03 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0005.png new file mode 100644 index 00000000..4859ad07 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0006.png new file mode 100644 index 00000000..46f7381d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0007.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0007.png new file mode 100644 index 00000000..40a2a1c6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0007.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0008.png new file mode 100644 index 00000000..5622dd14 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0009.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0009.png new file mode 100644 index 00000000..8477a7b1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/enrgcore0009.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/flag.png new file mode 100644 index 00000000..c314c632 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/flyerflame1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/flyerflame1.png new file mode 100644 index 00000000..bdc4f866 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/flyerflame1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef1.png new file mode 100644 index 00000000..19b76f24 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef2.png new file mode 100644 index 00000000..8b7c6ee6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef3.png new file mode 100644 index 00000000..1d1b26a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef4.png new file mode 100644 index 00000000..8672847a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef5.png new file mode 100644 index 00000000..67e1d2db Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcef5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric0.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric0.PNG new file mode 100644 index 00000000..c74c7bb6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric0.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric1.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric1.PNG new file mode 100644 index 00000000..f0d7ea2a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric1.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric2.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric2.PNG new file mode 100644 index 00000000..d55845a1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric2.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric3.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric3.PNG new file mode 100644 index 00000000..a388bf6a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric3.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric4.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric4.PNG new file mode 100644 index 00000000..16a9f1c3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric4.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric5.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric5.PNG new file mode 100644 index 00000000..69b6c5b4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_electric5.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn.PNG new file mode 100644 index 00000000..220c745a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn1.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn1.PNG new file mode 100644 index 00000000..15d5c6f7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn1.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn2.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn2.PNG new file mode 100644 index 00000000..28604eba Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn2.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn3.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn3.PNG new file mode 100644 index 00000000..9e141f83 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn3.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn4.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn4.PNG new file mode 100644 index 00000000..f568150f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn4.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn5.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn5.PNG new file mode 100644 index 00000000..9884937b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/forcefield_grn5.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/generator.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/generator.PNG new file mode 100644 index 00000000..2612c8fc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/generator.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/generic_scorch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/generic_scorch.png new file mode 100644 index 00000000..0ac5d8fb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/generic_scorch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/glow_red.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/glow_red.png new file mode 100644 index 00000000..c8326bbe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/glow_red.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green00.png new file mode 100644 index 00000000..2d43a6f0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green01.png new file mode 100644 index 00000000..03c25668 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green02.png new file mode 100644 index 00000000..6c7ec37f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green03.png new file mode 100644 index 00000000..cf531384 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green04.png new file mode 100644 index 00000000..136f0dc0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink0.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink0.png new file mode 100644 index 00000000..2033af75 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink0.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink1.png new file mode 100644 index 00000000..47225385 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink2.png new file mode 100644 index 00000000..e2b24303 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink3.png new file mode 100644 index 00000000..07b584f3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink4.png new file mode 100644 index 00000000..f6822f12 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/green_blink4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade.PNG new file mode 100644 index 00000000..e3d77cd1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_flare.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_flare.PNG new file mode 100644 index 00000000..c04a46be Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_flare.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_flash.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_flash.PNG new file mode 100644 index 00000000..546867f0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_flash.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_projectile.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_projectile.png new file mode 100644 index 00000000..180c24d8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/grenade_projectile.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/horde.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/horde.flag.png new file mode 100644 index 00000000..f5afa4ec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/horde.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/horde.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/horde.switch.png new file mode 100644 index 00000000..1f683365 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/horde.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber1.png new file mode 100644 index 00000000..9512f8d1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber2.png new file mode 100644 index 00000000..6db4812c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber3.png new file mode 100644 index 00000000..861f803e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hud_ret_bomber3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hunters.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hunters.flag.png new file mode 100644 index 00000000..68750c38 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hunters.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hvybioflare.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hvybioflare.png new file mode 100644 index 00000000..4242a508 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hvybioflare.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hvyjetpackflare.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hvyjetpackflare.png new file mode 100644 index 00000000..95f930be Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/hvyjetpackflare.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare00.png new file mode 100644 index 00000000..b5254fd3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare01.png new file mode 100644 index 00000000..5916524f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare02.png new file mode 100644 index 00000000..f616c83c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare03.png new file mode 100644 index 00000000..9e3b87d3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare04.png new file mode 100644 index 00000000..cb613183 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare05.png new file mode 100644 index 00000000..3aac3d17 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare2.png new file mode 100644 index 00000000..86ae011b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflare2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside00.png new file mode 100644 index 00000000..974057e9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside01.png new file mode 100644 index 00000000..84a39d41 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside02.png new file mode 100644 index 00000000..90e990bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside03.png new file mode 100644 index 00000000..60a9de90 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside04.png new file mode 100644 index 00000000..8b884fb3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside05.png new file mode 100644 index 00000000..34047042 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetflareside05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpack.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpack.png new file mode 100644 index 00000000..bb65f66c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpack.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpack_bio.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpack_bio.png new file mode 100644 index 00000000..d8f14436 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpack_bio.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpackflare.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpackflare.png new file mode 100644 index 00000000..dfb08283 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpackflare.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpackflare_bio.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpackflare_bio.png new file mode 100644 index 00000000..783e5062 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jetpackflare_bio.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets00.png new file mode 100644 index 00000000..3616250c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets01.png new file mode 100644 index 00000000..d7998a45 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets02.png new file mode 100644 index 00000000..ecbb7d29 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets03.png new file mode 100644 index 00000000..c518bccb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets04.png new file mode 100644 index 00000000..9627cc86 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets05.png new file mode 100644 index 00000000..e3148b1e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/jets05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leaf_bunch2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leaf_bunch2.png new file mode 100644 index 00000000..a2518e19 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leaf_bunch2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leafydome.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leafydome.png new file mode 100644 index 00000000..2aea2382 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leafydome.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leafydome2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leafydome2.png new file mode 100644 index 00000000..18d8f0a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/leafydome2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue0.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue0.png new file mode 100644 index 00000000..f788b692 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue0.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue1.png new file mode 100644 index 00000000..18a8e172 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue2.png new file mode 100644 index 00000000..278ad59e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue3.png new file mode 100644 index 00000000..6c5dec2d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue4.png new file mode 100644 index 00000000..66e19016 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_blue4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green0.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green0.png new file mode 100644 index 00000000..de16c6cf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green0.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green1.png new file mode 100644 index 00000000..798a2dfc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green2.png new file mode 100644 index 00000000..5828be34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green3.png new file mode 100644 index 00000000..110c6fd2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green4.png new file mode 100644 index 00000000..233f9577 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_green4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red0.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red0.png new file mode 100644 index 00000000..5cdb90f0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red0.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red04.png new file mode 100644 index 00000000..ccbcedb8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red1.png new file mode 100644 index 00000000..4c0d7890 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red2.png new file mode 100644 index 00000000..711fc59d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red3.png new file mode 100644 index 00000000..36f694a6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red4.png new file mode 100644 index 00000000..036d5d3d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/lite_red4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/marineleaves.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/marineleaves.png new file mode 100644 index 00000000..a37f6de1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/marineleaves.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/marker.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/marker.png new file mode 100644 index 00000000..2f93c1af Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/marker.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine.png new file mode 100644 index 00000000..8c65bd94 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine_anti_air.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine_anti_air.PNG new file mode 100644 index 00000000..1d3a51de Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine_anti_air.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine_anti_land.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine_anti_land.PNG new file mode 100644 index 00000000..80cd26ed Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mine_anti_land.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/missile_flash.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/missile_flash.png new file mode 100644 index 00000000..0d8096b7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/missile_flash.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort000.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort000.png new file mode 100644 index 00000000..400fc9f5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort000.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort001.png new file mode 100644 index 00000000..0257542c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort002.png new file mode 100644 index 00000000..a3054ca1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort003.png new file mode 100644 index 00000000..e66d60a1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort004.png new file mode 100644 index 00000000..26e48c6c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort005.png new file mode 100644 index 00000000..028578f9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort006.png new file mode 100644 index 00000000..425d5024 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort007.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort007.png new file mode 100644 index 00000000..9675662d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort007.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort008.png new file mode 100644 index 00000000..94f144f3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort009.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort009.png new file mode 100644 index 00000000..563eb695 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort009.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort010.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort010.png new file mode 100644 index 00000000..4c83ec59 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort010.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort011.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort011.png new file mode 100644 index 00000000..19602a84 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort011.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort012.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort012.png new file mode 100644 index 00000000..2b25b83c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort012.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort013.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort013.png new file mode 100644 index 00000000..84b5508e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort013.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort014.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort014.png new file mode 100644 index 00000000..2394cf13 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort014.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort015.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort015.png new file mode 100644 index 00000000..c95c719b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort015.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort016.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort016.png new file mode 100644 index 00000000..e5170c51 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort016.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort017.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort017.png new file mode 100644 index 00000000..87c6801d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort017.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort018.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort018.png new file mode 100644 index 00000000..dde8b10c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort018.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort019.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort019.png new file mode 100644 index 00000000..73f08e60 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort019.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort020.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort020.png new file mode 100644 index 00000000..8970b759 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort020.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort021.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort021.png new file mode 100644 index 00000000..a9789f6b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort021.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort022.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort022.png new file mode 100644 index 00000000..cd3ade97 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort022.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort023.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort023.png new file mode 100644 index 00000000..a497aefc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort023.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort024.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort024.png new file mode 100644 index 00000000..247a6659 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort024.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort025.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort025.png new file mode 100644 index 00000000..3af620d1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort025.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort026.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort026.png new file mode 100644 index 00000000..07d33067 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort026.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort027.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort027.png new file mode 100644 index 00000000..22423842 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/mort027.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge00.png new file mode 100644 index 00000000..11cf2a7a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge01.png new file mode 100644 index 00000000..76f72187 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge02.png new file mode 100644 index 00000000..e3d9373d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge03.png new file mode 100644 index 00000000..e00bc52f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge04.png new file mode 100644 index 00000000..df8ab47e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge05.png new file mode 100644 index 00000000..f50aec85 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/newedge05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg00.png new file mode 100644 index 00000000..10850c12 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg01.png new file mode 100644 index 00000000..2d6112c7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg02.png new file mode 100644 index 00000000..14620aa3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg03.png new file mode 100644 index 00000000..d2e568e9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg04.png new file mode 100644 index 00000000..09d4af21 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg05.png new file mode 100644 index 00000000..9fa0ca84 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg06.png new file mode 100644 index 00000000..cd5017b5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg07.png new file mode 100644 index 00000000..1b594f37 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg08.png new file mode 100644 index 00000000..e20a46ab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg09.png new file mode 100644 index 00000000..c5b3bd90 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg10.png new file mode 100644 index 00000000..1397b285 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg11.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg11.png new file mode 100644 index 00000000..c8e02dc6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg11.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg12.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg12.png new file mode 100644 index 00000000..8e0565d3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg12.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg13.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg13.png new file mode 100644 index 00000000..2e4ff8bb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg13.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg14.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg14.png new file mode 100644 index 00000000..275f4ed3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg14.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg15.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg15.png new file mode 100644 index 00000000..0cfa9dc2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexg15.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred00.png new file mode 100644 index 00000000..f818a5bb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred01.png new file mode 100644 index 00000000..761980fc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred02.png new file mode 100644 index 00000000..cc16a46d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred03.png new file mode 100644 index 00000000..b1bc9354 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred04.png new file mode 100644 index 00000000..030f4c9e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred05.png new file mode 100644 index 00000000..f4c408ff Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred06.png new file mode 100644 index 00000000..0512a05c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred07.png new file mode 100644 index 00000000..e9555868 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred08.png new file mode 100644 index 00000000..0bd46c56 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred09.png new file mode 100644 index 00000000..3665ded4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred10.png new file mode 100644 index 00000000..661bb03f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred11.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred11.png new file mode 100644 index 00000000..7bb3079b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred11.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred12.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred12.png new file mode 100644 index 00000000..f83c267c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred12.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred13.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred13.png new file mode 100644 index 00000000..976d3938 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred13.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred14.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred14.png new file mode 100644 index 00000000..88acc7eb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred14.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred15.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred15.png new file mode 100644 index 00000000..85eb282e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/nexred15.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/noise.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/noise.png new file mode 100644 index 00000000..662f1de8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/noise.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange00.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange00.PNG new file mode 100644 index 00000000..6f9ebbf1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange00.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange01.PNG new file mode 100644 index 00000000..2051eef9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange02.PNG new file mode 100644 index 00000000..27482652 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange03.PNG new file mode 100644 index 00000000..4bd110a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange04.PNG new file mode 100644 index 00000000..c21b04b5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange05.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange05.PNG new file mode 100644 index 00000000..9afcadc4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/orange05.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_ammo.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_ammo.png new file mode 100644 index 00000000..561a0b44 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_ammo.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_cloak.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_cloak.png new file mode 100644 index 00000000..723f4cdf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_cloak.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_cloak2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_cloak2.png new file mode 100644 index 00000000..24a1f5bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_cloak2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_deploy_sensor_pulse.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_deploy_sensor_pulse.png new file mode 100644 index 00000000..fd359d7e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_deploy_sensor_pulse.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_energy.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_energy.png new file mode 100644 index 00000000..183312e7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_energy.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep01.png new file mode 100644 index 00000000..847e5b7a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep02.png new file mode 100644 index 00000000..41ece040 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep03.png new file mode 100644 index 00000000..93a7cb16 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep04.png new file mode 100644 index 00000000..83f32ad4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep05.png new file mode 100644 index 00000000..f53f0398 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep_lite.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep_lite.png new file mode 100644 index 00000000..8baf0ae6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_rep_lite.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_repair.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_repair.png new file mode 100644 index 00000000..a21dd295 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_repair.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_senjam.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_senjam.png new file mode 100644 index 00000000..6344682c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_senjam.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_shield.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_shield.png new file mode 100644 index 00000000..e1a39763 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_shield.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_cloaking.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_cloaking.png new file mode 100644 index 00000000..73846469 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_cloaking.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_energy.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_energy.png new file mode 100644 index 00000000..1d6b1464 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_energy.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_reflection.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_reflection.png new file mode 100644 index 00000000..603fa6f1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_reflection.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_repair.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_repair.png new file mode 100644 index 00000000..cbbd4685 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_repair.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_repulsor.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_repulsor.png new file mode 100644 index 00000000..c23743e0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_repulsor.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_satchel.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_satchel.png new file mode 100644 index 00000000..c0692e9d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_satchel.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_satchel2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_satchel2.png new file mode 100644 index 00000000..794855b3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_satchel2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_shield.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_shield.png new file mode 100644 index 00000000..7b3970b9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pack_upgrade_shield.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma01.png new file mode 100644 index 00000000..ac7f6685 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma02.png new file mode 100644 index 00000000..84c8869b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma03.png new file mode 100644 index 00000000..cfda7960 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma04.png new file mode 100644 index 00000000..d733ec99 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma05.png new file mode 100644 index 00000000..cc2fa0c3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma06.png new file mode 100644 index 00000000..415e8371 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma07.png new file mode 100644 index 00000000..baa72532 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma08.png new file mode 100644 index 00000000..ade5c175 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma09.png new file mode 100644 index 00000000..ad4340f5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma10.png new file mode 100644 index 00000000..ab668fd0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma_muzzle.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma_muzzle.PNG new file mode 100644 index 00000000..468c241b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plasma_muzzle.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex00.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex00.PNG new file mode 100644 index 00000000..f424b148 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex00.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex01.PNG new file mode 100644 index 00000000..690d1cd4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex02.PNG new file mode 100644 index 00000000..d83ebe6d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex03.PNG new file mode 100644 index 00000000..b4df1aee Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex04.PNG new file mode 100644 index 00000000..86320a1a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex05.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex05.PNG new file mode 100644 index 00000000..6107ab57 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex05.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex06.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex06.PNG new file mode 100644 index 00000000..a03594dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex06.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex07.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex07.PNG new file mode 100644 index 00000000..b91d111f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex07.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex08.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex08.PNG new file mode 100644 index 00000000..7882363d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex08.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex09.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex09.PNG new file mode 100644 index 00000000..535e57df Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex09.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex10.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex10.PNG new file mode 100644 index 00000000..88ea69fb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex10.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex11.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex11.PNG new file mode 100644 index 00000000..d7af2904 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex11.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex12.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex12.PNG new file mode 100644 index 00000000..ab6219fb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex12.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex13.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex13.PNG new file mode 100644 index 00000000..4715eb58 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex13.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex14.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex14.PNG new file mode 100644 index 00000000..341c9b71 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex14.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex15.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex15.PNG new file mode 100644 index 00000000..79c4d867 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex15.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex16.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex16.PNG new file mode 100644 index 00000000..c30f8d92 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex16.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex17.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex17.PNG new file mode 100644 index 00000000..7fae8235 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex17.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex18.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex18.PNG new file mode 100644 index 00000000..68ff4612 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex18.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex19.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex19.PNG new file mode 100644 index 00000000..8a739066 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex19.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex20.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex20.PNG new file mode 100644 index 00000000..fcd38dbe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex20.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex21.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex21.PNG new file mode 100644 index 00000000..5344e7be Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex21.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex22.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex22.PNG new file mode 100644 index 00000000..491dd25e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex22.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex23.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex23.PNG new file mode 100644 index 00000000..a4b01210 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plex23.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec00.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec00.PNG new file mode 100644 index 00000000..c6dde69d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec00.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec01.PNG new file mode 100644 index 00000000..c22cecfe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec02.PNG new file mode 100644 index 00000000..0c8553a6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec03.PNG new file mode 100644 index 00000000..93490968 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec04.PNG new file mode 100644 index 00000000..6ea8866d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec05.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec05.PNG new file mode 100644 index 00000000..b248d116 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec05.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec06.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec06.PNG new file mode 100644 index 00000000..d611c892 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec06.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec07.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec07.PNG new file mode 100644 index 00000000..dc5e19c9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plrec07.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam00.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam00.PNG new file mode 100644 index 00000000..076c79bd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam00.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam01.PNG new file mode 100644 index 00000000..ac9fb26e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam02.PNG new file mode 100644 index 00000000..776d3c05 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam03.PNG new file mode 100644 index 00000000..5b34d930 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam04.PNG new file mode 100644 index 00000000..9e3fdb04 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam05.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam05.PNG new file mode 100644 index 00000000..be28fc0b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam05.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam06.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam06.PNG new file mode 100644 index 00000000..eeebe684 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam06.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam07.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam07.PNG new file mode 100644 index 00000000..0ec3692f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam07.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam08.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam08.PNG new file mode 100644 index 00000000..55d08b44 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam08.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam09.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam09.PNG new file mode 100644 index 00000000..6b8d8ee1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam09.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam10.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam10.PNG new file mode 100644 index 00000000..41746222 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam10.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam11.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam11.PNG new file mode 100644 index 00000000..b4053a84 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam11.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam12.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam12.PNG new file mode 100644 index 00000000..cb965508 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam12.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam13.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam13.PNG new file mode 100644 index 00000000..49e639a2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam13.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam14.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam14.PNG new file mode 100644 index 00000000..b9098473 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam14.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam15.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam15.PNG new file mode 100644 index 00000000..073cbddc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam15.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam16.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam16.PNG new file mode 100644 index 00000000..69ab09a2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam16.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam17.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam17.PNG new file mode 100644 index 00000000..dba0a563 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam17.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam18.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam18.PNG new file mode 100644 index 00000000..0b854234 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam18.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam19.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam19.PNG new file mode 100644 index 00000000..a1768731 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam19.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam20.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam20.PNG new file mode 100644 index 00000000..6b616fa6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam20.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam21.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam21.PNG new file mode 100644 index 00000000..761897c7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam21.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam22.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam22.PNG new file mode 100644 index 00000000..30f1a8d4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam22.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam23.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam23.PNG new file mode 100644 index 00000000..d89ac041 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam23.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam24.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam24.PNG new file mode 100644 index 00000000..40a4e773 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam24.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam25.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam25.PNG new file mode 100644 index 00000000..c11a9ce4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam25.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam26.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam26.PNG new file mode 100644 index 00000000..42a28798 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam26.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam27.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam27.PNG new file mode 100644 index 00000000..8e310e23 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam27.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam28.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam28.PNG new file mode 100644 index 00000000..bdb73f6c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam28.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam29.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam29.PNG new file mode 100644 index 00000000..0fd29504 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam29.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam30.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam30.PNG new file mode 100644 index 00000000..56134872 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam30.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam31.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam31.PNG new file mode 100644 index 00000000..aa8699e5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam31.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam32.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam32.PNG new file mode 100644 index 00000000..62f2cb53 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam32.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam33.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam33.PNG new file mode 100644 index 00000000..38aa24bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam33.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam34.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam34.PNG new file mode 100644 index 00000000..dbc7e54d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam34.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam35.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam35.PNG new file mode 100644 index 00000000..4eb9650b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam35.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam36.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam36.PNG new file mode 100644 index 00000000..86d918a3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam36.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam37.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam37.PNG new file mode 100644 index 00000000..bf2b03e0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam37.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam38.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam38.PNG new file mode 100644 index 00000000..8d0b1d38 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam38.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam39.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam39.PNG new file mode 100644 index 00000000..23ca6a42 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam39.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam40.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam40.PNG new file mode 100644 index 00000000..a809e263 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsam40.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt01.png new file mode 100644 index 00000000..5ea407df Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt02.png new file mode 100644 index 00000000..37a751f8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt03.png new file mode 100644 index 00000000..a7693b90 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt04.png new file mode 100644 index 00000000..9efcdc0e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt05.png new file mode 100644 index 00000000..751f387e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt06.png new file mode 100644 index 00000000..d0c9cff9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt07.png new file mode 100644 index 00000000..143ab2d0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt08.png new file mode 100644 index 00000000..70a7acfd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt09.png new file mode 100644 index 00000000..4407eccc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt10.png new file mode 100644 index 00000000..9344e4a2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/plsmabolt10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pod1.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pod1.PNG new file mode 100644 index 00000000..df97a0ea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/pod1.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/porg2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/porg2.png new file mode 100644 index 00000000..d06e2e07 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/porg2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/porg4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/porg4.png new file mode 100644 index 00000000..4cfc640a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/porg4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple00.png new file mode 100644 index 00000000..3d81dedd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple01.PNG new file mode 100644 index 00000000..78af2bbc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple02.PNG new file mode 100644 index 00000000..c4daa730 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple03.PNG new file mode 100644 index 00000000..337582d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple04.PNG new file mode 100644 index 00000000..c43b20ac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/purple04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink0.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink0.png new file mode 100644 index 00000000..01dcc0ed Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink0.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink1.png new file mode 100644 index 00000000..153849c6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink2.png new file mode 100644 index 00000000..cda73861 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink3.png new file mode 100644 index 00000000..77a71d42 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink4.png new file mode 100644 index 00000000..dc37fd1c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/red_blink4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/repair_kit.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/repair_kit.png new file mode 100644 index 00000000..016e1556 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/repair_kit.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/repair_patch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/repair_patch.png new file mode 100644 index 00000000..eba1d795 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/repair_patch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/rusty.mmale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/rusty.mmale.png new file mode 100644 index 00000000..53c23a70 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/rusty.mmale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline1.png new file mode 100644 index 00000000..9a917e8a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline2.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline2.PNG new file mode 100644 index 00000000..f854e16f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline2.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline3.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline3.PNG new file mode 100644 index 00000000..69296a29 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline3.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline4.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline4.PNG new file mode 100644 index 00000000..986572bd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline4.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline5.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline5.PNG new file mode 100644 index 00000000..145e0d6a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline5.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline6.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline6.PNG new file mode 100644 index 00000000..19e11772 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/scanline6.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenframe.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenframe.png new file mode 100644 index 00000000..d988c674 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenframe.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic1.png new file mode 100644 index 00000000..d7a21cb3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic2.png new file mode 100644 index 00000000..079bac87 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic3.png new file mode 100644 index 00000000..9550413a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic4.png new file mode 100644 index 00000000..a109d9c0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic5.png new file mode 100644 index 00000000..c49f4dec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/screenstatic5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sensor_pulse_large.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sensor_pulse_large.PNG new file mode 100644 index 00000000..34e9e51e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sensor_pulse_large.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sensor_pulse_med.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sensor_pulse_med.PNG new file mode 100644 index 00000000..cdffe271 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sensor_pulse_med.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sentry.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sentry.png new file mode 100644 index 00000000..b9c072e5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/sentry.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/shrikeflare2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/shrikeflare2.png new file mode 100644 index 00000000..8a915e68 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/shrikeflare2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/skin2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/skin2.png new file mode 100644 index 00000000..a28ab4eb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/skin2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke00.png new file mode 100644 index 00000000..85d336e8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke01.png new file mode 100644 index 00000000..e8a279fb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke02.png new file mode 100644 index 00000000..75727c7f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke03.png new file mode 100644 index 00000000..b6381833 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke04.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke04.png new file mode 100644 index 00000000..39c2aaca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke04.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke05.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke05.png new file mode 100644 index 00000000..a489a159 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke05.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke06.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke06.png new file mode 100644 index 00000000..5d6b67bc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke06.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke07.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke07.png new file mode 100644 index 00000000..4bbf28b4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke07.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke08.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke08.png new file mode 100644 index 00000000..f61f6cfc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke08.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke09.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke09.png new file mode 100644 index 00000000..1d2897e5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke09.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke10.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke10.png new file mode 100644 index 00000000..b8049462 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke10.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke11.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke11.png new file mode 100644 index 00000000..38e7cfb7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke11.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke12.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke12.png new file mode 100644 index 00000000..234c23ad Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke12.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke13.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke13.png new file mode 100644 index 00000000..33825790 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke13.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke14.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke14.png new file mode 100644 index 00000000..06e9f7f7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke14.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke15.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke15.png new file mode 100644 index 00000000..0333b9a5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke15.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke16.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke16.png new file mode 100644 index 00000000..a5656b77 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke16.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke17.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke17.png new file mode 100644 index 00000000..cf309f2a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke17.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke18.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke18.png new file mode 100644 index 00000000..456bff38 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke18.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke19.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke19.png new file mode 100644 index 00000000..db2e32c2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke19.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke20.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke20.png new file mode 100644 index 00000000..9c10edca Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/smoke20.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/solarpanel.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/solarpanel.png new file mode 100644 index 00000000..2be918cd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/solarpanel.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable.png new file mode 100644 index 00000000..dae49cdf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1L.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1L.png new file mode 100644 index 00000000..b963ad95 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1L.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1M.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1M.png new file mode 100644 index 00000000..80c254de Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1M.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1S.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1S.png new file mode 100644 index 00000000..48a4d40c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable1S.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2L.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2L.png new file mode 100644 index 00000000..4f1d3619 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2L.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2S.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2S.png new file mode 100644 index 00000000..606053f0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2S.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2m.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2m.png new file mode 100644 index 00000000..d3e79a49 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable2m.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3L.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3L.png new file mode 100644 index 00000000..b32c8ac5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3L.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3m.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3m.png new file mode 100644 index 00000000..db419e98 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3m.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3s.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3s.png new file mode 100644 index 00000000..4d1c920d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable3s.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable4L.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable4L.png new file mode 100644 index 00000000..eee6b8e5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable4L.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable4M.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable4M.png new file mode 100644 index 00000000..b7795f5c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable4M.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable5L.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable5L.png new file mode 100644 index 00000000..12cc2f10 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable5L.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable5m.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable5m.png new file mode 100644 index 00000000..376d39d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/stackable5m.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damage.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damage.png new file mode 100644 index 00000000..a2db69b9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damage.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL1.png new file mode 100644 index 00000000..1dca7aa4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL2.png new file mode 100644 index 00000000..040e5e8a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL3.png new file mode 100644 index 00000000..8885f44b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageL3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM1.png new file mode 100644 index 00000000..e852aac1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM2.png new file mode 100644 index 00000000..034c2474 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM3.png new file mode 100644 index 00000000..b7b5ce34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageM3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS1.png new file mode 100644 index 00000000..ece68fc4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS2.png new file mode 100644 index 00000000..cd3494b3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS3.png new file mode 100644 index 00000000..8c53c160 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS4.png new file mode 100644 index 00000000..bdc3f2ec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damageS4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damage_alpha.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damage_alpha.png new file mode 100644 index 00000000..183ffa7c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_damage_alpha.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_inventory.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_inventory.png new file mode 100644 index 00000000..36d2b512 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_inventory.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_inventory_activate.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_inventory_activate.png new file mode 100644 index 00000000..4e6e00e0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_inventory_activate.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_teleporter.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_teleporter.png new file mode 100644 index 00000000..0d827abc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_teleporter.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_teleporter_activate.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_teleporter_activate.png new file mode 100644 index 00000000..e7bbebb5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_teleporter_activate.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_vpad.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_vpad.png new file mode 100644 index 00000000..9777d224 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/station_vpad.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_HMale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_HMale.png new file mode 100644 index 00000000..efa293fe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_HMale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_LFemale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_LFemale.png new file mode 100644 index 00000000..81c717b9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_LFemale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_LMale.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_LMale.png new file mode 100644 index 00000000..5eb55d98 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_LMale.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_base.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_base.png new file mode 100644 index 00000000..45d1e228 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/statue_base.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/switch.png new file mode 100644 index 00000000..cb8c0211 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/switchbeam.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/switchbeam.png new file mode 100644 index 00000000..2b37d644 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/switchbeam.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/swolf.flag.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/swolf.flag.png new file mode 100644 index 00000000..618e5e5e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/swolf.flag.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/swolf.switch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/swolf.switch.png new file mode 100644 index 00000000..3ec98b5e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/swolf.switch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_InOut_deploy.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_InOut_deploy.png new file mode 100644 index 00000000..017cc926 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_InOut_deploy.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_assaultTank.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_assaultTank.png new file mode 100644 index 00000000..645ec85e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_assaultTank.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_base_large.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_base_large.PNG new file mode 100644 index 00000000..8a3aef07 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_base_large.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_belly.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_belly.png new file mode 100644 index 00000000..e8aedbd0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_belly.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_remote.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_remote.png new file mode 100644 index 00000000..96d51e0c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_remote.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_sentry.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_sentry.png new file mode 100644 index 00000000..004e5006 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/turret_sentry.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vaportrail.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vaportrail.png new file mode 100644 index 00000000..a36e87f4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vaportrail.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber1.png new file mode 100644 index 00000000..40da5f3e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber2.png new file mode 100644 index 00000000..e3cd95d8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber3.png new file mode 100644 index 00000000..f7721dba Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_bomber3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc1.png new file mode 100644 index 00000000..80201ef6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc2.png new file mode 100644 index 00000000..ea762205 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc3.png new file mode 100644 index 00000000..04d2e0ec Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_hpc3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_scout.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_scout.png new file mode 100644 index 00000000..801f4f36 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_air_scout.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_grav_tank_bodyside1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_grav_tank_bodyside1.png new file mode 100644 index 00000000..f0e68d9d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_grav_tank_bodyside1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_grav_tank_bodyside2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_grav_tank_bodyside2.png new file mode 100644 index 00000000..a0b18caa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_grav_tank_bodyside2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_land_mpb1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_land_mpb1.png new file mode 100644 index 00000000..8b98303b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_land_mpb1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_land_mpb2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_land_mpb2.png new file mode 100644 index 00000000..7014ead6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_land_mpb2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_mpb_sensor_panelsON.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_mpb_sensor_panelsON.png new file mode 100644 index 00000000..bbbd2cb8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vehicle_mpb_sensor_panelsON.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_activate.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_activate.png new file mode 100644 index 00000000..2a4dae6a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_activate.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_ambient.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_ambient.png new file mode 100644 index 00000000..4c19b8ab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_ambient.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_arm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_arm.png new file mode 100644 index 00000000..7dceeb27 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/vpad_arm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_chaingun.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_chaingun.png new file mode 100644 index 00000000..61938f1c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_chaingun.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_chaingun_ammocasing.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_chaingun_ammocasing.png new file mode 100644 index 00000000..af3975da Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_chaingun_ammocasing.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_disc.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_disc.png new file mode 100644 index 00000000..9e4abaab Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_disc.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_elf.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_elf.png new file mode 100644 index 00000000..c6246902 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_elf.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_energy.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_energy.PNG new file mode 100644 index 00000000..3964ad9f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_energy.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_energy_vehicle.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_energy_vehicle.png new file mode 100644 index 00000000..30b36b67 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_energy_vehicle.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_grenade_launcher.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_grenade_launcher.png new file mode 100644 index 00000000..4fe2afaa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_grenade_launcher.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_missile.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_missile.png new file mode 100644 index 00000000..88be08f7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_missile.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_missile_casement.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_missile_casement.png new file mode 100644 index 00000000..08662c79 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_missile_casement.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_mortar.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_mortar.png new file mode 100644 index 00000000..a8632aac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_mortar.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasma1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasma1.png new file mode 100644 index 00000000..107e69cf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasma1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasma2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasma2.png new file mode 100644 index 00000000..3bd1f7c4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasma2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasmathrower.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasmathrower.png new file mode 100644 index 00000000..1cf3c859 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_plasmathrower.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_repair.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_repair.png new file mode 100644 index 00000000..dcc690a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_repair.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_shocklance.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_shocklance.png new file mode 100644 index 00000000..d14b9444 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_shocklance.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_shocklance_glow .png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_shocklance_glow .png new file mode 100644 index 00000000..f4a72569 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_shocklance_glow .png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_sniper.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_sniper.png new file mode 100644 index 00000000..b0b82c82 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_sniper.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_targeting.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_targeting.png new file mode 100644 index 00000000..7619a306 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/weapon_targeting.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/xorg2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/xorg2.png new file mode 100644 index 00000000..c96b054c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/xorg2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/yellow.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/yellow.png new file mode 100644 index 00000000..c0f3619f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/skins/yellow.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/snowflake8x8.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/snowflake8x8.png new file mode 100644 index 00000000..1eec3852 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/snowflake8x8.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/BlueImpact.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/BlueImpact.png new file mode 100644 index 00000000..83d31882 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/BlueImpact.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/ELFBeam.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/ELFBeam.png new file mode 100644 index 00000000..e8fb75c7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/ELFBeam.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/ELFLightning.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/ELFLightning.png new file mode 100644 index 00000000..a205e0cb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/ELFLightning.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0000.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0000.png new file mode 100644 index 00000000..965d7a34 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0000.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0002.png new file mode 100644 index 00000000..b84f3387 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0004.png new file mode 100644 index 00000000..d5526bd3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0006.png new file mode 100644 index 00000000..2c57cb24 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0008.png new file mode 100644 index 00000000..2b2348f4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0010.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0010.png new file mode 100644 index 00000000..15c78173 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0010.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0012.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0012.png new file mode 100644 index 00000000..7f9aeedf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0012.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0014.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0014.png new file mode 100644 index 00000000..cde4f0e6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0014.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0016.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0016.png new file mode 100644 index 00000000..3e1981ba Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0016.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0018.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0018.png new file mode 100644 index 00000000..2c40d3b1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0018.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0020.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0020.png new file mode 100644 index 00000000..c112bd63 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0020.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0022.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0022.png new file mode 100644 index 00000000..2f0879fa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0022.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0024.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0024.png new file mode 100644 index 00000000..a9766ae0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0024.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0026.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0026.png new file mode 100644 index 00000000..d25f5c1e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0026.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0028.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0028.png new file mode 100644 index 00000000..33a96cfa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0028.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0030.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0030.png new file mode 100644 index 00000000..81a5bab4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0030.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0032.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0032.png new file mode 100644 index 00000000..458c107a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0032.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0034.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0034.png new file mode 100644 index 00000000..5a85eea9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0034.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0036.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0036.png new file mode 100644 index 00000000..cf0d4d44 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0036.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0038.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0038.png new file mode 100644 index 00000000..5f45d425 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0038.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0040.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0040.png new file mode 100644 index 00000000..ff058f35 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0040.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0042.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0042.png new file mode 100644 index 00000000..0a0ff2da Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0042.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0044.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0044.png new file mode 100644 index 00000000..567f06f4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0044.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0046.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0046.png new file mode 100644 index 00000000..0444a755 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0046.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0048.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0048.png new file mode 100644 index 00000000..20bae949 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0048.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0050.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0050.png new file mode 100644 index 00000000..8f311fc2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0050.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0052.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0052.png new file mode 100644 index 00000000..06eb3028 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Explosion/Exp_0052.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/GameGrid.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/GameGrid.png new file mode 100644 index 00000000..654e0c27 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/GameGrid.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/LensFlare/Flare00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/LensFlare/Flare00.png new file mode 100644 index 00000000..978afd22 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/LensFlare/Flare00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/LightningBlur.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/LightningBlur.png new file mode 100644 index 00000000..29220412 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/LightningBlur.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Shocklance_effect01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Shocklance_effect01.png new file mode 100644 index 00000000..051e4a1b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Shocklance_effect01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Shocklance_effect02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Shocklance_effect02.png new file mode 100644 index 00000000..121b4849 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Shocklance_effect02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/bigSmoke.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/bigSmoke.png new file mode 100644 index 00000000..e48fcac8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/bigSmoke.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_001.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_001.png new file mode 100644 index 00000000..88d5b0ac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_001.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_002.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_002.png new file mode 100644 index 00000000..eac84076 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_002.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_003.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_003.png new file mode 100644 index 00000000..4646fdd8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_003.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_004.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_004.png new file mode 100644 index 00000000..c81c3152 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_004.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_005.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_005.png new file mode 100644 index 00000000..08f45183 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_005.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_006.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_006.png new file mode 100644 index 00000000..d0b118a0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_006.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_007.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_007.png new file mode 100644 index 00000000..ab8fd64a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_007.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_008.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_008.png new file mode 100644 index 00000000..022351dd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_008.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_009.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_009.png new file mode 100644 index 00000000..28001a29 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_009.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_010.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_010.png new file mode 100644 index 00000000..5a26ea10 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_010.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_011.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_011.png new file mode 100644 index 00000000..3cbb3585 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_011.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_012.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_012.png new file mode 100644 index 00000000..852dfff7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/Smoke/smoke_012.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bigSpark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bigSpark.png new file mode 100644 index 00000000..e652be2d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bigSpark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterBolt.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterBolt.png new file mode 100644 index 00000000..e2f02c4d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterBolt.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterBoltCross.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterBoltCross.png new file mode 100644 index 00000000..cacd8b36 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterBoltCross.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterHit.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterHit.png new file mode 100644 index 00000000..b0a55796 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/blasterHit.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bluespark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bluespark.png new file mode 100644 index 00000000..2fa7e725 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bluespark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bubbles.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bubbles.png new file mode 100644 index 00000000..e20485a4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bubbles.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole1.png new file mode 100644 index 00000000..2ad7caac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole2.png new file mode 100644 index 00000000..496dfcb9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole3.png new file mode 100644 index 00000000..f7535ed6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole4.png new file mode 100644 index 00000000..ca503d2b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole5.png new file mode 100644 index 00000000..e33f2352 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole6.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole6.png new file mode 100644 index 00000000..d31fb2c7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/bullethole6.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/chuteTexture.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/chuteTexture.png new file mode 100644 index 00000000..96e6d402 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/chuteTexture.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloakTexture.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloakTexture.png new file mode 100644 index 00000000..16dd0df6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloakTexture.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash.png new file mode 100644 index 00000000..a532d831 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash2.png new file mode 100644 index 00000000..c6dbe5b0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash3.png new file mode 100644 index 00000000..953200d5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash4.png new file mode 100644 index 00000000..96d50f8f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash5.png new file mode 100644 index 00000000..77cb5c98 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash6.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash6.png new file mode 100644 index 00000000..bf320f0e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash6.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash7.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash7.png new file mode 100644 index 00000000..c0af42b6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash7.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash8.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash8.png new file mode 100644 index 00000000..263a57e4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/cloudflash8.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/crescent3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/crescent3.png new file mode 100644 index 00000000..03fbdf4b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/crescent3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/crescent4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/crescent4.png new file mode 100644 index 00000000..ee861294 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/crescent4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/droplet.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/droplet.png new file mode 100644 index 00000000..2b1b1844 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/droplet.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/expFlare.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/expFlare.png new file mode 100644 index 00000000..a52094d2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/expFlare.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flare.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flare.PNG new file mode 100644 index 00000000..84a03c3d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flare.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flare3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flare3.png new file mode 100644 index 00000000..2d7fc2b0 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flare3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flareSpark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flareSpark.png new file mode 100644 index 00000000..7f0ab3e9 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/flareSpark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/H_bioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/H_bioderm.png new file mode 100644 index 00000000..d4e2f3cb Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/H_bioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/H_male.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/H_male.png new file mode 100644 index 00000000..5489f5d3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/H_male.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/L_bioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/L_bioderm.png new file mode 100644 index 00000000..19d72242 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/L_bioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/L_male.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/L_male.png new file mode 100644 index 00000000..a9e572fa Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/L_male.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/M_bioderm.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/M_bioderm.png new file mode 100644 index 00000000..dd905a3a Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/M_bioderm.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/M_male.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/M_male.png new file mode 100644 index 00000000..ad74c2b5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/footprints/M_male.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/generic_reflect.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/generic_reflect.png new file mode 100644 index 00000000..bf14e298 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/generic_reflect.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/generic_scorch.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/generic_scorch.png new file mode 100644 index 00000000..deb5b37f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/generic_scorch.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/gradient.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/gradient.png new file mode 100644 index 00000000..5afc6963 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/gradient.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/grainy.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/grainy.png new file mode 100644 index 00000000..fde178c5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/grainy.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/jammermap.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/jammermap.png new file mode 100644 index 00000000..812cde08 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/jammermap.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/jetExhaust02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/jetExhaust02.png new file mode 100644 index 00000000..3a062c7d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/jetExhaust02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/landSpikeBolt.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/landSpikeBolt.png new file mode 100644 index 00000000..55851f63 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/landSpikeBolt.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/landSpikeBoltCross.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/landSpikeBoltCross.png new file mode 100644 index 00000000..229a359e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/landSpikeBoltCross.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip01.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip01.PNG new file mode 100644 index 00000000..63a6846c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip01.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip02.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip02.PNG new file mode 100644 index 00000000..cc6625e8 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip02.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip03.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip03.PNG new file mode 100644 index 00000000..aab93e33 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip03.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip04.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip04.PNG new file mode 100644 index 00000000..5f507e4c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip04.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip05.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip05.PNG new file mode 100644 index 00000000..5c8e7b51 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip05.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip06.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip06.PNG new file mode 100644 index 00000000..096f4695 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip06.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip07.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip07.PNG new file mode 100644 index 00000000..95354c54 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip07.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip08.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip08.PNG new file mode 100644 index 00000000..a4966c69 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip08.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip09.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip09.PNG new file mode 100644 index 00000000..ce5a7fff Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/laserrip09.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavadeath_1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavadeath_1.png new file mode 100644 index 00000000..d872b8bc Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavadeath_1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavadeath_2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavadeath_2.png new file mode 100644 index 00000000..709605be Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavadeath_2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavareflect.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavareflect.png new file mode 100644 index 00000000..63fe889e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lavareflect.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightFalloffMono.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightFalloffMono.png new file mode 100644 index 00000000..cb556e5b Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightFalloffMono.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1blur.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1blur.png new file mode 100644 index 00000000..0b804377 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1blur.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame1.png new file mode 100644 index 00000000..39e5023c Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame2.png new file mode 100644 index 00000000..4c2aa6a7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame3.png new file mode 100644 index 00000000..374324d7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning1frame3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2blur.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2blur.png new file mode 100644 index 00000000..964a27f5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2blur.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame1.png new file mode 100644 index 00000000..6f87b231 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame2.png new file mode 100644 index 00000000..ba50b9ac Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame3.png new file mode 100644 index 00000000..1ebd2b56 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/lightning2frame3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/nonlingradient.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/nonlingradient.PNG new file mode 100644 index 00000000..38095a98 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/nonlingradient.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/pulse.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/pulse.PNG new file mode 100644 index 00000000..4c734bfd Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/pulse.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/redbump2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/redbump2.png new file mode 100644 index 00000000..0e807006 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/redbump2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/redflare.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/redflare.png new file mode 100644 index 00000000..8a0ae150 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/redflare.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shieldenvmap.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shieldenvmap.png new file mode 100644 index 00000000..358e81f4 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shieldenvmap.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shieldmap.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shieldmap.png new file mode 100644 index 00000000..31a94485 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shieldmap.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLanceZap.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLanceZap.png new file mode 100644 index 00000000..5c273f1e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLanceZap.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning01.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning01.png new file mode 100644 index 00000000..94eb60c2 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning01.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning02.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning02.png new file mode 100644 index 00000000..cf6fed5f Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning02.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning03.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning03.png new file mode 100644 index 00000000..207cf0b7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockLightning03.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shocklanceHit.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shocklanceHit.png new file mode 100644 index 00000000..76ce56c5 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shocklanceHit.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockwave4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockwave4.png new file mode 100644 index 00000000..11617811 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockwave4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockwave5.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockwave5.png new file mode 100644 index 00000000..b04be1e7 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shockwave5.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shrikeBolt.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shrikeBolt.png new file mode 100644 index 00000000..32307862 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shrikeBolt.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shrikeBoltCross.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shrikeBoltCross.png new file mode 100644 index 00000000..60cc9e43 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/shrikeBoltCross.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/skyLightning.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/skyLightning.png new file mode 100644 index 00000000..ea5a2d72 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/skyLightning.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/sniper00.PNG b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/sniper00.PNG new file mode 100644 index 00000000..2b8ea649 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/sniper00.PNG differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/spark00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/spark00.png new file mode 100644 index 00000000..2a5aa132 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/spark00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationGlow.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationGlow.png new file mode 100644 index 00000000..54e8e1bf Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationGlow.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationLight.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationLight.png new file mode 100644 index 00000000..3b369519 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationLight.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationLight2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationLight2.png new file mode 100644 index 00000000..89b16d29 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/stationLight2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/tracer00.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/tracer00.png new file mode 100644 index 00000000..a20268da Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/tracer00.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/tracercross.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/tracercross.png new file mode 100644 index 00000000..0231719e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/tracercross.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/trigger.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/trigger.png new file mode 100644 index 00000000..e4fea391 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/trigger.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/underwaterSpark.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/underwaterSpark.png new file mode 100644 index 00000000..dfea0cf1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/underwaterSpark.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/water2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/water2.png new file mode 100644 index 00000000..0fc96dfe Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/water2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail1.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail1.png new file mode 100644 index 00000000..2f71f2ea Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail1.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail2.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail2.png new file mode 100644 index 00000000..1993b7c3 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail2.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail3.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail3.png new file mode 100644 index 00000000..6ced64a6 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail3.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail4.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail4.png new file mode 100644 index 00000000..266a4df1 Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/watertail4.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteAlpha0.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteAlpha0.png new file mode 100644 index 00000000..d932219e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteAlpha0.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteAlpha255.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteAlpha255.png new file mode 100644 index 00000000..1a36e49e Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteAlpha255.png differ diff --git a/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteNoAlpha.png b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteNoAlpha.png new file mode 100644 index 00000000..7a043a7d Binary files /dev/null and b/public/base/@vl2/yHDTextures2.0.vl2/textures/special/whiteNoAlpha.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/LakRabbit_Client.vl2/scripts/autoexec/LakRabbitObjHud.cs b/public/base/@vl2/zAddOnsVL2s/LakRabbit_Client.vl2/scripts/autoexec/LakRabbitObjHud.cs new file mode 100644 index 00000000..4ec1557e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/LakRabbit_Client.vl2/scripts/autoexec/LakRabbitObjHud.cs @@ -0,0 +1,59 @@ + +package LakObjHud { +function setupObjHud(%gameType) +{ + switch$ (%gameType) + { + case LakRabbitGame: + // set separators + objectiveHud.setSeparators("56 156"); + objectiveHud.disableHorzSeparator(); + + // Your score label ("SCORE") + objectiveHud.scoreLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "50 16"; + visible = "1"; + text = "SCORE"; + }; + // Your score + objectiveHud.yourScore = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 3"; + extent = "90 16"; + visible = "1"; + }; + // Rabbit label ("RABBIT") + objectiveHud.rabbitLabel = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "50 16"; + visible = "1"; + text = "RABBIT"; + }; + // rabbit name + objectiveHud.rabbitName = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 19"; + extent = "90 16"; + visible = "1"; + }; + + objectiveHud.add(objectiveHud.scoreLabel); + objectiveHud.add(objectiveHud.yourScore); + objectiveHud.add(objectiveHud.rabbitLabel); + objectiveHud.add(objectiveHud.rabbitName); + } + parent::setupObjHud(%gameType); +} +}; +activatePackage(LakObjHud); diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/interiors/underhillmidbalancedfnl.dif b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/interiors/underhillmidbalancedfnl.dif new file mode 100644 index 00000000..3bf4d853 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/interiors/underhillmidbalancedfnl.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/interiors/underhillsideonefnl.dif b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/interiors/underhillsideonefnl.dif new file mode 100644 index 00000000..102b816a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/interiors/underhillsideonefnl.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2ArenaDome.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2ArenaDome.mis new file mode 100644 index 00000000..15faf8be --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2ArenaDome.mis @@ -0,0 +1,1931 @@ +// MissionTypes = arena +// DisplayName = 2-ArenaDome + +//--- MISSION QUOTE BEGIN --- +//Two teams. Two players per side. Infinite ways to be slain. +//Objective: Kill all members of the opposing side. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@planettribes.com +//Website: Part of the Double Threat Pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Siege_timeLimit = "20"; + musicTrack = "desert"; + powerCount = "0"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-208 1190 520 510"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1680 -1880 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Respite.ter"; + squareSize = "8"; + emptySquares = "359010"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "Respite.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + XDimOverSize = "0"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "238.976 1439.71 177.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "0"; + + new InteriorInstance() { + position = "289.466 1486.05 149.268"; + rotation = "0.708705 -0.000559656 0.705505 179.935"; + scale = "6.44413 9.5802 4.96767"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "211.635 1431.96 196.56"; + rotation = "1 0 0 0"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "236.36 1392.85 196.56"; + rotation = "0 0 -1 45"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "225.395 1473.55 196.56"; + rotation = "0 0 1 45"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "234.373 1431.96 219.304"; + rotation = "0 -1 0 45"; + scale = "1 1.98953 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "251.526 1408.01 220.522"; + rotation = "0.270399 -0.652802 -0.707626 60.6857"; + scale = "1 1.99061 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "239.697 1459.25 221.56"; + rotation = "-0.259761 -0.627119 0.734334 58.8518"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "211.49 1439.62 182.369"; + rotation = "0 0 1 89.3814"; + scale = "2 2 2"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "230.06 1398.91 182.649"; + rotation = "0 0 1 42.9718"; + scale = "2 2 2"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "231.018 1479.44 182.038"; + rotation = "0 0 1 134.072"; + scale = "2 2 2"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "219.111 1430.06 174.154"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "218.878 1439.54 174.054"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "218.884 1448.82 173.996"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "235.336 1472.93 173.948"; + rotation = "0 0 1 224.599"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "237.313 1403.74 173.85"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-98.989 1379.45 167.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "0"; + + new InteriorInstance() { + position = "-106.588 1430.41 191.368"; + rotation = "0 0 1 120.012"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-117.317 1411.84 215.33"; + rotation = "-0.349606 -0.201797 0.914906 124.323"; + scale = "1 1.99061 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-137.1 1339.31 128.013"; + rotation = "-0.128549 0.983208 -0.129528 91.2414"; + scale = "10.4547 8.4868 4.96767"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-72.5895 1399.02 191.368"; + rotation = "0 0 1 165.012"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-94.5536 1393.14 214.112"; + rotation = "-0.382199 -0.0502771 0.922711 166.159"; + scale = "1 1.98953 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-75.1255 1355.29 191.368"; + rotation = "0 0 1 210.012"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-92.6389 1365.4 216.368"; + rotation = "-0.332162 0.0890394 0.93901 208.257"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-70.4454 1391.51 179.162"; + rotation = "0 0 -1 104.278"; + scale = "2 2 2"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-99.7161 1426.61 177.491"; + rotation = "0 0 1 209.885"; + scale = "2 2 2"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-78.4205 1349.2 177.791"; + rotation = "0 0 -1 61.3066"; + scale = "2 2 2"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-79.951 1399.44 168.997"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-77.5783 1390.26 168.897"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-75.4824 1381.22 168.839"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-86.0478 1354.01 168.791"; + rotation = "0 0 1 31.5126"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-103.641 1420.96 168.693"; + rotation = "0 0 -1 59.0147"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "77.6394 1411.27 137.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "77.4577 1409.71 137.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "77.592 1412.68 137.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.9708 1391.41 170.403"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.5425 1389.48 170.379"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "108.27 1635.5 120.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "109.756 1635.35 120.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-78.533 1391.07 170.422"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-78.1047 1389.14 170.398"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-74.9146 1382.76 170.603"; + rotation = "0 0 -1 101.986"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-74.2694 1380.15 170.618"; + rotation = "0 0 -1 101.986"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-74.5167 1381.44 170.603"; + rotation = "0 0 -1 101.986"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.5544 1382.51 170.704"; + rotation = "0 0 -1 98.5487"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.024 1448.03 175.465"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.9323 1379.74 170.661"; + rotation = "0 0 -1 98.5487"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "48.1995 1330.03 130.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.5272 1380.52 170.281"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-79.0106 1400.12 170.704"; + rotation = "0 0 -1 100.841"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-78.8086 1399.31 170.665"; + rotation = "0 0 -1 100.841"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-81.0953 1400.71 170.518"; + rotation = "0 0 -1 100.841"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-80.4844 1397.93 170.55"; + rotation = "0 0 -1 100.841"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-80.4725 1399.41 170.691"; + rotation = "0 0 -1 98.5487"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "111.191 1635.28 119.884"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-84.6693 1354.36 170.353"; + rotation = "0 0 1 123.759"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-85.7205 1352.63 170.319"; + rotation = "0 0 1 123.759"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-86.0687 1355.29 170.332"; + rotation = "0 0 1 122.613"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-87.0836 1353.57 170.308"; + rotation = "0 0 1 122.613"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.454 1379.97 170.287"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-104.388 1422.26 170.231"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-102.296 1420.91 170.202"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-105.372 1420.89 170.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-103.072 1419.58 170.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "47.9582 1328.09 130.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "236.444 1473.12 175.465"; + rotation = "0 0 -1 44.3003"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.701 1402.37 175.347"; + rotation = "0 0 1 223.636"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "233.913 1472.9 175.51"; + rotation = "0 0 -1 43.1543"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "48.0202 1329.04 130.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.972 1431.41 175.707"; + rotation = "0 0 1 92.2458"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.938 1428.57 175.675"; + rotation = "0 0 1 92.2458"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "235.33 1474.35 175.476"; + rotation = "0 0 -1 43.1543"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "235.066 1471.68 175.489"; + rotation = "0 0 -1 44.3003"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.626 1429.97 175.848"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "239.015 1403.41 175.353"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.071 1405.21 175.349"; + rotation = "0 0 1 193.087"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "235.974 1404.07 175.368"; + rotation = "0 0 1 223.636"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "218.027 1438.56 175.56"; + rotation = "0 0 -1 86.6992"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "218.046 1440.53 175.536"; + rotation = "0 0 -1 86.6992"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-0.433282 1263.92 142.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1.49221 1264.06 142.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.625 1438.53 175.579"; + rotation = "0 0 -1 86.6992"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.644 1440.51 175.555"; + rotation = "0 0 -1 86.6992"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "217.982 1447.45 175.76"; + rotation = "0 0 1 91.1007"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "217.945 1450.14 175.775"; + rotation = "0 0 1 91.1007"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "217.893 1448.82 175.76"; + rotation = "0 0 1 91.1007"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.636 1447.32 175.861"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.4416 1380.2 170.273"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.657 1450.16 175.818"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-2.48287 1264.03 142.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.5393 1380.29 170.295"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.031 1448.72 175.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.43 1448.71 175.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.817 1448.72 175.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "220.151 1448.73 175.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "220.452 1448.74 175.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.12 1449.79 175.45"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.13 1449.46 175.458"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "220.158 1449.78 175.464"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "220.168 1449.45 175.472"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "220.072 1447.69 175.487"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "220.062 1448.02 175.479"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "219.034 1447.7 175.473"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.8505 1382.02 170.31"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.7647 1381.7 170.302"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.8378 1382.25 170.296"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.7519 1381.93 170.288"; + rotation = "0 0 -1 103.315"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.6004 1381.26 170.316"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.9914 1381.18 170.293"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.3659 1381.08 170.289"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.6887 1380.99 170.297"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.9789 1380.91 170.305"; + rotation = "0 0 1 166.731"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-78.4345 1398.52 170.307"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-79.0134 1398.4 170.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-80.0807 1400.77 170.323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-79.5239 1400.88 170.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.221 1431.28 175.484"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "217.737 1428.74 175.504"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.008 1429.64 175.842"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.048 1430.39 175.845"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.304 1428.75 175.48"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "217.653 1431.27 175.508"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.811 1431.3 175.496"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.895 1428.77 175.492"; + rotation = "0 0 1 9.74027"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-78.945 1401 170.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "-79.5702 1398.29 170.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + }; + }; + new Sky(Sky) { + position = "-1680 -1880 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "0"; + fogColor = "0.700000 0.600000 0.350000 1.000000"; + fogVolume1 = "1000 225 2000"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "900"; + high_fogDistance = "600"; + high_fogVolume1 = "120 0 100"; + high_fogVolume2 = "-1 -0.000151321 -4.87912e-05"; + high_fogVolume3 = "-1 -0.000150986 -3.43885e-05"; + locked = "true"; + cloudSpeed0 = "0.000001 0.000001"; + }; + new SimGroup(hi) { + powerCount = "0"; + + new InteriorInstance() { + position = "-97.7059 1298.98 172.804"; + rotation = "-0.274042 0.948808 -0.157049 122.65"; + scale = "5 7.14104 5.04125"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.74384 1232.37 172.706"; + rotation = "-0.486227 0.827913 -0.279542 129.001"; + scale = "5 7.25516 5.07986"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.666 1220.25 172.648"; + rotation = "0.66071 -0.647134 0.380368 220.863"; + scale = "5 7.348 5.08385"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "204.515 1262.44 173.379"; + rotation = "0.777011 -0.439996 0.450175 207.904"; + scale = "5 6.6854 4.88517"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(thisisdish) { + position = "239.017 1560.83 174.175"; + rotation = "0.843241 0.228477 0.486562 164.885"; + scale = "5 7.19845 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "282.109 1457.98 173.988"; + rotation = "0.866257 -0.000396212 0.499599 179.921"; + scale = "5 7.32439 4.96767"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "268.834 1347.44 173.85"; + rotation = "0.843298 -0.229222 0.486112 194.961"; + scale = "5 6.88321 5.03409"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-133.229 1505.2 173.173"; + rotation = "0.268614 0.950544 0.155923 122.511"; + scale = "5 7.97676 5.07588"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "146.94 1626.99 174.327"; + rotation = "0.768708 0.460552 0.443824 150.162"; + scale = "5 7.3639 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-58.243 1599.58 173.299"; + rotation = "0.497012 0.81873 0.287507 129.398"; + scale = "5 7.03338 5.04728"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "41.8771 1638.22 173.665"; + rotation = "0.645379 0.664504 0.376724 138.368"; + scale = "5 6.71866 5.14865"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "220.501 1450.5 211.538"; + rotation = "0.766041 -0.00434276 0.642777 180.298"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "209.814 1373.46 211.415"; + rotation = "0.750069 -0.20402 0.629104 199.316"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "48.9155 1575.51 211.698"; + rotation = "0.603507 0.615219 0.507233 125.318"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-22.2878 1547.54 211.638"; + rotation = "0.472199 0.786886 0.397288 113.077"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "189.506 1521.75 211.652"; + rotation = "0.748899 0.20955 0.628681 159.942"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-77.2408 1477.11 211.581"; + rotation = "0.264886 0.938011 0.223541 103.563"; + scale = "5 5.97713 4.98656"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "126.452 1567.18 211.669"; + rotation = "0.696454 0.415666 0.584956 141.447"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-50.162 1333.3 211.422"; + rotation = "-0.273519 0.934395 -0.22824 103.83"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8584 1289.24 211.32"; + rotation = "-0.478557 0.781403 -0.400491 113.548"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-83.679 1402.07 211.54"; + rotation = "-0.0498012 0.99794 -0.0404382 100.121"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-144.927 1398.09 172.978"; + rotation = "-0.031236 0.999368 -0.0169586 120.087"; + scale = "5 6.68639 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "162.14 1312.09 211.356"; + rotation = "0.699016 -0.409872 0.585988 217.861"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "91.5565 1282.58 211.31"; + rotation = "0.617377 -0.592719 0.517232 232.81"; + scale = "5 5 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-96.2786 1300.64 96.0116"; + rotation = "-0.291498 0.956572 -6.69905e-05 179.68"; + scale = "5 7.14104 5.04125"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.046 1394.99 93.9442"; + rotation = "-0.0307906 0.999526 0.000542277 179.071"; + scale = "5 6.68639 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-4.24863 1234.57 128.485"; + rotation = "-0.506224 0.862402 -0.000898405 179.737"; + scale = "5 7.25516 4.15608"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.811 1346.76 129.704"; + rotation = "0.965089 -0.261916 -0.00201029 179.856"; + scale = "5 6.88321 5.03409"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "300.754 1458.12 191.427"; + rotation = "-0.00233923 -0.000795096 0.999997 180"; + scale = "5 7.32439 4.96767"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(thisisdish) { + position = "264.893 1513.37 142.377"; + rotation = "0.965071 0.261908 -0.00642097 180.117"; + scale = "5 3.05799 3.49614"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "146.323 1626.93 108.614"; + rotation = "0.85771 0.514132 -0.00119325 180.031"; + scale = "5 7.3639 5"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "42.5537 1638.45 99.4933"; + rotation = "0.698483 0.715603 0.00584429 180.027"; + scale = "5 6.71866 5.14865"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-52.0548 1602.83 96.361"; + rotation = "0.519098 0.854712 0.00230428 179.645"; + scale = "5 7.03338 5.04728"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "37.7801 1328.46 152.4"; + rotation = "0 -1 0 33.2315"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "158.059 1319.03 176.183"; + rotation = "1 0 0 10.8862"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.7018 1570.39 167.561"; + rotation = "1 0 0 0"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "83.3899 1493.44 173.044"; + rotation = "1 0 0 46.9825"; + scale = "1 1.9911 2.00997"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-11.9461 1425.32 230.263"; + rotation = "0 -1 0 89.9544"; + scale = "1 19.3833 19.3795"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "81.0291 1427.54 228.543"; + rotation = "1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-26.0592 1323.01 202.202"; + rotation = "0.223867 -0.0972996 0.969751 48.2827"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "159.843 1299.13 181.922"; + rotation = "-0.10375 -0.0298336 -0.994156 32.2645"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "204.652 1518.34 196.825"; + rotation = "0 0 1 235.095"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2ArenaValley.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2ArenaValley.mis new file mode 100644 index 00000000..3f449c81 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2ArenaValley.mis @@ -0,0 +1,1834 @@ +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//Some valleys are peaceful and quiet. This isn't one of those valleys. +//Objective: Slaughter the enemy team. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//This is really YubYubArena <3 +//Website:Part of the Double Threat pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "6"; + powerCount = "0"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-168 -622 300 320"; + flightCeiling = "600"; + flightCeilingRange = "20"; + locked = "false"; + }; + new Sky(Sky) { + position = "936 -456 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.400000 0.500000 0.420000 1.000000"; + fogVolume1 = "200 0 270"; + fogVolume2 = "1000 270 3000"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "450"; + high_fogDistance = "200"; + high_fogVolume1 = "50 0 245"; + high_fogVolume2 = "75 245 258"; + high_fogVolume3 = "-1 -2.96959e-34 8.22028e-20"; + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.321634 -0.669534 -0.669534"; + color = "0.600000 0.800000 0.600000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Alcatraz.ter"; + squareSize = "8"; + emptySquares = "93307 93309 93536 93563 93565 97673"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + position = "0 0 0 1"; + coverage = "0"; + scale = "1 1 1"; + GraphFile = "Alcatraz.nav"; + locked = "true"; + conjoinBowlDev = "20"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "-102.33 -327.475 254.39"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-103.512 -327.777 254.36"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-102.511 -326.635 254.394"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-103.777 -326.963 254.427"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-101.227 -326.983 254.639"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-100.28 -326.774 254.555"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-99.3813 -326.49 254.607"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-99.7306 -326.835 254.387"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-99.9119 -325.879 254.372"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-100.884 -326.115 254.392"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-100.703 -327.071 254.407"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-101.902 -326.369 254.396"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-101.721 -327.325 254.411"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-97.6583 -325.967 254.745"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-97.1068 -325.834 254.735"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-96.5334 -325.686 254.758"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-73.5723 -321.009 254.357"; + rotation = "0 0 1 169.023"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-74.3655 -321.2 254.377"; + rotation = "0 0 1 169.023"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-75.4545 -321.493 254.402"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-76.2529 -321.722 254.379"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-119.712 -331.312 254.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-119.178 -331.185 254.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-120.52 -331.433 254.383"; + rotation = "0 0 -1 16.0428"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-121.058 -331.562 254.44"; + rotation = "0 0 -1 16.0428"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-79.2193 -380.664 218.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-15.2612 -374.142 211.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-6.34056 -458.793 185.478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-29.0797 -456.579 182.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-30.9261 -455.759 182.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-30.0295 -456.171 182.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "96.2286 -556.376 254.864"; + rotation = "0 0 -1 42.0082"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "95.5991 -555.796 254.797"; + rotation = "0 0 -1 42.0082"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "94.7162 -556.638 254.827"; + rotation = "0 0 -1 42.0082"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "95.2853 -557.282 254.831"; + rotation = "0 0 -1 42.0082"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "94.8846 -557.812 254.833"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "94.2587 -557.067 254.848"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "93.9954 -557.607 255.076"; + rotation = "0 0 1 139.229"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "94.1215 -558.532 254.829"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "93.4955 -557.787 254.844"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "93.272 -558.253 254.992"; + rotation = "0 0 1 139.229"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "93.3892 -559.214 254.809"; + rotation = "0 0 1 139.802"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "92.6275 -558.941 255.044"; + rotation = "0 0 1 139.229"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "107.591 -545.155 254.834"; + rotation = "0 0 1 150.688"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "107.994 -544.783 254.809"; + rotation = "0 0 1 150.688"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "108.64 -544.282 254.82"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "109.046 -543.906 254.877"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "73.7501 -572.508 254.816"; + rotation = "0 0 -1 42.0082"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "73.1661 -573.098 254.839"; + rotation = "0 0 -1 42.0082"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "72.3599 -573.887 254.814"; + rotation = "0 0 -1 40.2892"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "71.7617 -574.442 254.794"; + rotation = "0 0 -1 40.2892"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "88.0897 -509.097 224.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "40.1452 -508.569 206.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "16.3462 -545.415 224.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "16.9107 -545.698 224.621"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "17.5085 -546.039 224.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-35.6255 -357.841 232.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-34.8205 -357.754 232.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-34.0467 -357.716 232.583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-55.0004 -352.711 227.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-55.2639 -352.836 227.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "91.0193 -560.357 255.154"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "91.482 -559.988 255.131"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "91.9308 -559.641 255.141"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-100.839 -321.91 250.763"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-114.629 -322.623 249.998"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-80.9144 -313.869 252.772"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "0"; + + new InteriorInstance() { + position = "-134.745 -328.062 243.397"; + rotation = "-0 0 -1 13.178"; + scale = "3.61715 2.26637 1.36485"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-106.562 -321.512 243.399"; + rotation = "-0 0 -1 13.1781"; + scale = "3.61715 2.25484 1.3646"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-78.3803 -314.954 243.398"; + rotation = "-0 0 -1 13.1781"; + scale = "3.61715 2.24459 1.36464"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-50.2062 -308.403 243.382"; + rotation = "-0 0 -1 13.1781"; + scale = "3.61715 2.23311 1.36654"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-130.567 -335.124 260.612"; + rotation = "0 0 1 76.7763"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-105.646 -329.268 260.612"; + rotation = "0 0 1 76.7763"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-80.1405 -323.275 260.612"; + rotation = "0 0 1 76.7763"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-55.6087 -317.51 260.612"; + rotation = "0 0 1 76.7763"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-130.747 -334.322 254.315"; + rotation = "0.325443 0.410781 0.851672 85.86"; + scale = "0.304518 1.07648 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-105.788 -328.636 254.298"; + rotation = "0.325443 0.410781 0.851672 85.86"; + scale = "0.237017 1.0756 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-80.2645 -322.765 254.262"; + rotation = "0.325443 0.410781 0.851672 85.86"; + scale = "0.192094 1.0756 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-55.7404 -316.943 254.326"; + rotation = "0.325443 0.410781 0.851672 85.86"; + scale = "0.23009 1.0756 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-130.56 -335.172 259.607"; + rotation = "0.604611 0.763154 0.228127 147.873"; + scale = "0.304518 1.07648 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-105.569 -329.586 259.376"; + rotation = "0.604611 0.763154 0.228127 147.873"; + scale = "0.304518 1.0765 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-80.0606 -323.59 259.368"; + rotation = "0.604611 0.763154 0.228127 147.873"; + scale = "0.304518 1.0765 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-55.5434 -317.765 259.406"; + rotation = "0.604611 0.763154 0.228127 147.873"; + scale = "0.304518 1.0765 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "96.1996 -565.66 250.518"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "76.9027 -577.557 251.179"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "112.95 -547.425 250.632"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "0"; + + new InteriorInstance() { + position = "123.063 -541.142 242.513"; + rotation = "0 0 1 140.948"; + scale = "3.61715 2.26637 1.52722"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "100.564 -559.334 242.55"; + rotation = "0 0 1 140.948"; + scale = "3.61715 2.25484 1.52256"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "78.0691 -577.534 242.492"; + rotation = "0 0 1 140.948"; + scale = "3.61715 2.24459 1.52974"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "55.5783 -595.723 242.45"; + rotation = "0 0 1 140.948"; + scale = "3.61715 2.23311 1.53478"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "116.222 -536.611 261.037"; + rotation = "0 0 1 230.902"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "96.3551 -552.756 261.037"; + rotation = "0 0 1 230.902"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "76.0216 -569.279 261.037"; + rotation = "0 0 1 230.902"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "56.465 -585.171 261.037"; + rotation = "0 0 1 230.902"; + scale = "0.31123 1.07727 0.388336"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "116.734 -537.254 254.74"; + rotation = "0.351908 -0.167482 0.920929 227.335"; + scale = "0.304518 1.07648 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "96.7589 -553.262 254.723"; + rotation = "0.351908 -0.167482 0.920929 227.335"; + scale = "0.237017 1.0756 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "76.3557 -569.683 254.687"; + rotation = "0.351908 -0.167482 0.920929 227.335"; + scale = "0.192094 1.0756 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "56.8309 -585.624 254.751"; + rotation = "0.351908 -0.167482 0.920929 227.335"; + scale = "0.23009 1.0756 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "116.195 -536.571 260.032"; + rotation = "0.854711 -0.406778 0.322491 197.452"; + scale = "0.304518 1.07648 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "96.1471 -552.503 259.801"; + rotation = "0.854711 -0.406778 0.322491 197.452"; + scale = "0.304518 1.0765 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "75.8123 -569.03 259.793"; + rotation = "0.854711 -0.406778 0.322491 197.452"; + scale = "0.304518 1.0765 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "56.2949 -584.97 259.831"; + rotation = "0.854711 -0.406778 0.322491 197.452"; + scale = "0.304518 1.0765 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-18.8272 -470.806 254.794"; + rotation = "0.806884 -0.404807 0.430197 98.7743"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "3.53737 -514.46 250.733"; + rotation = "0.0835049 -0.139056 0.986758 118.701"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-79.6977 -392.675 229.154"; + rotation = "0.107708 -0.21696 0.97022 128.564"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "84.7803 -568.424 260.515"; + rotation = "0.637133 0.18321 -0.748663 42.0226"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(omfghi2) { + powerCount = "0"; + + new InteriorInstance() { + position = "-144.053 -351.259 261.676"; + rotation = "0 0 1 21.1994"; + scale = "1 3.01343 1.03992"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "39.7127 -596.293 261.679"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "56.6047 -593.406 261.612"; + rotation = "0 0 1 75.6303"; + scale = "1 3.59036 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new SimGroup(randomcrap) { + powerCount = "0"; + + new TSStatic() { + position = "-107.118 -360.239 232.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-82.3533 -338.787 234.574"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-37.0007 -357.939 221.904"; + rotation = "0 0 1 209.885"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-80.868 -365.898 222.86"; + rotation = "0 0 1 226.501"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-102.014 -385.327 213.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-49.5335 -386.891 206.066"; + rotation = "0 0 1 177.227"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "4.31229 -389.432 201.284"; + rotation = "0 0 -1 118.602"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-75.6251 -407.379 195.395"; + rotation = "0 0 -1 84.7977"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-21.2191 -395.809 199.669"; + rotation = "0 0 -1 38.3881"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "46.8195 -570.439 234.605"; + rotation = "0 0 -1 38.3881"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "82.3505 -553.804 235.331"; + rotation = "-0.163545 0.0927289 0.982168 238.225"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "108.779 -523.659 235.213"; + rotation = "0 0 1 92.2462"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "53.2851 -545.436 221.554"; + rotation = "0 0 1 5.15676"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "78.8839 -524.593 224.729"; + rotation = "0 0 1 191.551"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "15.2884 -544.996 214.028"; + rotation = "0 0 -1 118.785"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "47.3143 -522.819 209.677"; + rotation = "-0.0590018 0.121626 0.990821 221.204"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "67.1034 -514.183 215.446"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "83.0971 -492.146 212.376"; + rotation = "0 0 1 118.785"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "51.2109 -488.177 201.588"; + rotation = "0 0 1 20.2363"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "20.1384 -513.908 201.306"; + rotation = "0 0 1 206.265"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-8.78616 -515.134 197.71"; + rotation = "0 0 1 53.2853"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new InteriorInstance() { + position = "-42.2328 -325.957 239.97"; + rotation = "0.231906 0.479108 0.846567 224.565"; + scale = "1 1.10803 2.58562"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-69.9773 -390.106 213.927"; + rotation = "-0.0807289 0.560334 0.824323 202.6"; + scale = "0.810333 1.10803 2.58562"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.45848 -379.93 203.499"; + rotation = "-0.0423229 0.0878184 0.995237 214.214"; + scale = "0.620356 0.868236 2.58562"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "44.4121 -510.437 203.918"; + rotation = "-0.0807289 0.560334 0.824323 202.6"; + scale = "0.810333 1.10803 2.58562"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "91.7829 -502.526 222.305"; + rotation = "-0.211316 -0.554304 0.805042 179.681"; + scale = "0.810333 1.10803 2.58562"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "18.9683 -434.997 187.802"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "46.0492 -445.77 191.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "18.7751 -417.587 189.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-15.4972 -423.14 189.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-6.19684 -458.139 184.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-0.451263 -494.145 193.548"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "13.4525 -461.745 188.718"; + rotation = "1 0 0 0"; + scale = "1 1 3.91681"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-41.8302 -439.138 188.023"; + rotation = "1 0 0 0"; + scale = "1 1 3.91681"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-48.3883 -468.443 186.801"; + rotation = "1 0 0 0"; + scale = "1 1 3.91681"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-31.0694 -476.069 186.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-71.0747 -427.595 191.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-55.0018 -352.818 227.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-91.8239 -379.283 221.077"; + rotation = "-1 0 0 37.2423"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-32.1132 -383.909 208.08"; + rotation = "-1 0 0 17.1887"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "37.529 -554.843 225.804"; + rotation = "0.825217 0.551812 0.120502 29.6446"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "80.3345 -481.126 211.048"; + rotation = "0.825217 0.551812 0.120502 29.6446"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "95.5527 -534.613 239.049"; + rotation = "0.825217 0.551812 0.120502 29.6446"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "32.2554 -525.627 211.693"; + rotation = "0.825217 0.551812 0.120502 29.6446"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + }; + new InteriorInstance() { + position = "25.6528 -579.123 246.378"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.4424 -560.328 234.869"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-4.55508 -541.909 224.49"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.7522 -523.152 214.029"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.3958 -505.145 205.947"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-49.32 -486.807 198.7"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-125.257 -392.611 246.378"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.52796 1.89984"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-64.5422 -467.97 205.947"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-79.5777 -449.276 214.029"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-94.8142 -430.398 224.49"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-109.999 -411.494 234.869"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 2.01903"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-139.49 -374.689 261.679"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.36448 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-44.7586 -312.898 269.349"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.36448 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-30.5257 -330.82 254.049"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.52796 1.89984"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-15.2677 -349.703 242.54"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 2.01903"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.0828743 -368.607 232.161"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.78011"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "45.4113 -425.016 206.371"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "30.1891 -406.179 213.618"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "15.1537 -387.485 221.7"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "60.3356 -443.354 213.618"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.83043"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "74.7947 -461.424 221.7"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 2.01592"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "89.9919 -480.181 232.161"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.96787"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "104.989 -498.6 242.54"; + rotation = "0 0 -1 38.9612"; + scale = "1 1.51589 1.89372"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "125.913 -524.461 254.049"; + rotation = "0 0 -1 38.9612"; + scale = "1 2.27311 1.61876"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-36.3875 -598.347 233.164"; + rotation = "0 0 -1 38.3881"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-30.4353 -549.182 207.408"; + rotation = "0 0 1 219.625"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-109.705 -519.96 207.449"; + rotation = "0 0 1 150.87"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-132.92 -459.278 203.901"; + rotation = "0 0 1 117.066"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-152.744 -308.584 252.575"; + rotation = "0 0 1 46.5922"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "110.906 -464.006 217.441"; + rotation = "0 0 1 46.5922"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "61.9408 -393.295 188.838"; + rotation = "0 0 1 46.5922"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "75.3711 -303.075 243.938"; + rotation = "0 0 -1 29.0382"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2DustBowl.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2DustBowl.mis new file mode 100644 index 00000000..9e0b8b17 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2DustBowl.mis @@ -0,0 +1,1616 @@ +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//An ancient arena nearly lost by the sands. +//Objective: q0wn the opposite team. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Shoutout to Mirage +//Website:Part of the Double Threat Pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "5"; + cdTrack = "6"; + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-1127 113 539 409"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Desiccator.ter"; + squareSize = "8"; + emptySquares = "352974 306527"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-805.122 312.497 384.971"; + rotation = "-0.159129 -0.697819 0.698375 198.097"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-873.545 432.03 327.329"; + rotation = "0.0741708 -0.346633 0.935064 157.371"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-905.155 339.827 220.203"; + rotation = "0 0 1 118.029"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-601.029 580.167 157.661"; + rotation = "0.0878763 0.124192 -0.988359 110.066"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-624.205 196.42 148.674"; + rotation = "0.0513898 0.0598848 -0.996882 98.9084"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + GraphFile = "Desiccator.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + scale = "1 1 1"; + coverage = "0"; + locked = "true"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "72 -1152 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.600000 0.300000 0.000000 1.000000"; + fogDistance = "190"; + fogColor = "0.800000 0.600000 0.400000 1.000000"; + fogVolume1 = "10 0 120"; + fogVolume2 = "400 170 300"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 173.831879"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 187.134155"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 637.846008"; + high_visibleDistance = "-1"; + high_fogDistance = "1"; + high_fogVolume1 = "0 0 0"; + high_fogVolume2 = "-1 -2.79885e-14 -0.100265"; + high_fogVolume3 = "-1 -2.5989e+17 1.02849e+12"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-878.562 325.399 210.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "0"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-739.198 257.002 210.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base1) { + powerCount = "0"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "-808.326 290.382 191.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-809.508 288.043 191.79"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-756.841 547.929 51.0088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-808.956 289.142 191.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-826.815 253.098 211.131"; + rotation = "0 0 -1 66.4631"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-827.383 252.732 210.862"; + rotation = "0 0 -1 67.0361"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-826.913 253.819 210.876"; + rotation = "0 0 -1 67.0361"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-788.682 332.097 210.878"; + rotation = "0 0 -1 67.0361"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-788.583 331.376 211.132"; + rotation = "0 0 -1 66.4631"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-789.152 331.01 210.863"; + rotation = "0 0 -1 67.0361"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-697.792 307.432 143.188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-698.287 307.968 143.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-698.807 308.568 143.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-817.19 262.542 152.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-817.16 262.007 152.667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-817.155 261.49 152.714"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-897.682 264.615 130.002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-898.6 265.232 130.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-772.806 252.685 210.903"; + rotation = "0 0 -1 63.5983"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-755.117 288.743 210.865"; + rotation = "0 0 -1 63.5983"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-841.318 330.56 210.865"; + rotation = "0 0 1 116.883"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-858.965 294.673 210.917"; + rotation = "0 0 1 116.883"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-785.865 341.53 192.082"; + rotation = "0 0 1 26.929"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-831.728 242.056 191.65"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-800.946 305.173 152.736"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-882.625 447.03 164.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-649.846 358.141 172.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-649.106 359.105 172.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(ralf) { + powerCount = "0"; + + new InteriorInstance() { + position = "-755.945 274.766 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.86924 1.83762 0.586266"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-783.09 287.372 210.88"; + rotation = "0 0 1 205.909"; + scale = "2.86924 1.98096 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-756.15 274.238 210.88"; + rotation = "0 0 1 205.909"; + scale = "2.86924 1.97429 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-781.319 359.978 235.052"; + rotation = "0 0 1 115.772"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-781.443 360.039 210.88"; + rotation = "0 0 1 115.772"; + scale = "2.85999 1.56603 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-754.628 223.323 222.208"; + rotation = "0.751986 0.465923 -0.466298 106.071"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-761.661 209.175 222.208"; + rotation = "0.75199 0.465925 -0.466288 106.071"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-808.478 214.785 222.106"; + rotation = "-0.160484 -0.697664 0.698219 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-796.784 209.105 222.106"; + rotation = "-0.160484 -0.697666 0.698217 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-786.288 204.128 222.106"; + rotation = "-0.160484 -0.697667 0.698216 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-776.262 199.316 222.106"; + rotation = "-0.160484 -0.697667 0.698216 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-715.298 302.004 222.414"; + rotation = "0.751986 0.465923 -0.466298 106.071"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-722.331 287.856 222.414"; + rotation = "0.75199 0.465925 -0.466288 106.071"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-717.631 320.48 222.519"; + rotation = "-0.160484 -0.697667 0.698216 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-727.658 325.292 222.519"; + rotation = "-0.160484 -0.697667 0.698216 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-738.154 330.268 222.519"; + rotation = "-0.160484 -0.697666 0.698217 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-749.848 335.949 222.519"; + rotation = "-0.160484 -0.697664 0.698219 198.249"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-801.136 250.302 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 2.30318 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-796.051 260.965 235.052"; + rotation = "0 0 1 25.8177"; + scale = "12.6144 0.675742 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-762.955 328.937 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 2.30039 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-755.421 344.438 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 0.676849 1.51241"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-757.782 339.572 235.052"; + rotation = "0 0 1 25.8177"; + scale = "12.6144 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-778.558 296.828 235.052"; + rotation = "0 0 1 25.8177"; + scale = "12.6175 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-793.677 265.816 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 0.676849 1.51241"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-776.186 301.689 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 0.676849 1.51241"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-778.547 296.823 210.88"; + rotation = "0 0 1 25.8177"; + scale = "12.5904 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-750.481 273.153 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.39626 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-759.648 277.625 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.39992 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-769.195 282.229 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.39613 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-743.934 280.629 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-762.955 328.937 210.883"; + rotation = "0 0 1 205.909"; + scale = "2.85999 2.30039 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-721.331 310.574 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.73628 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-755.3 344.371 210.883"; + rotation = "0 0 1 205.909"; + scale = "2.90458 0.679875 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-757.714 339.538 210.88"; + rotation = "0 0 1 25.8177"; + scale = "12.5957 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-723.171 323.461 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-730.13 314.728 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.73717 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-739.233 319.248 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.73998 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-748.804 323.888 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.74272 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-758.407 328.539 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.74667 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-797.35 248.3 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-787.815 243.668 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-778.281 239.036 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-769.106 234.58 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-760.291 230.298 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-762.429 242.571 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-801.879 248.346 210.88"; + rotation = "0 0 1 205.909"; + scale = "2.90037 2.18773 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-891.914 259.962 191.796"; + rotation = "0 0 1 115.954"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-857.398 243.829 210.88"; + rotation = "0 0 1 205.909"; + scale = "12.5957 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-852.139 254.423 210.883"; + rotation = "0 0 1 26"; + scale = "2.85999 2.30039 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.734 272.852 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.73628 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-795.944 260.891 210.88"; + rotation = "0 0 1 25.8177"; + scale = "12.5533 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-776.186 301.689 210.871"; + rotation = "0 0 1 205.909"; + scale = "2.85999 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-794.528 263.487 210.891"; + rotation = "0 0 1 205.909"; + scale = "2.90458 0.679875 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-720.566 284.153 191.796"; + rotation = "0 0 1 205.909"; + scale = "1 7.8989 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-745.787 223.246 210.88"; + rotation = "0 0 1 205.909"; + scale = "2.85999 2.34599 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-707.517 302.049 210.88"; + rotation = "0 0 1 205.909"; + scale = "2.879 2.3141 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-727.778 260.322 210.88"; + rotation = "0 0 1 205.909"; + scale = "2.86924 1.96421 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-769.257 201.106 210.88"; + rotation = "0 0 1 205.909"; + scale = "12.5533 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-814.393 223.011 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.8542 0.681591 5.77"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-720.789 274.722 225.676"; + rotation = "0 0 1 205.909"; + scale = "2.86216 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-738.158 238.914 225.676"; + rotation = "0 0 1 205.909"; + scale = "2.88878 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-717.081 282.353 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 7.76548 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-758.967 196.111 182.628"; + rotation = "0 0 1 205.909"; + scale = "2.85999 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-758.97 196.112 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.85999 0.676849 3.27829"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-782.38 202.392 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-699.961 317.595 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.79243 0.676849 5.82235"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-816.829 218.106 235.052"; + rotation = "0 0 1 25.8177"; + scale = "12.5582 0.675742 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-801.754 317.653 235.052"; + rotation = "0 0 1 115.772"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-845.824 301.121 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.39613 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-871.083 302.761 191.796"; + rotation = "0 0 1 115.954"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-813.836 332.99 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 2.30369 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-854.646 353.065 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-884.942 268.683 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.73717 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-852.527 340.789 191.796"; + rotation = "0 0 1 115.954"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-859.819 239.001 210.883"; + rotation = "0 0 1 26"; + scale = "2.90458 0.679875 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-801.754 317.653 210.88"; + rotation = "0 0 1 115.772"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-791.633 338.588 210.88"; + rotation = "0 0 1 115.772"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-791.671 338.45 235.052"; + rotation = "0 0 1 115.772"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-823.401 244.845 235.052"; + rotation = "-0 0 -1 64.1366"; + scale = "2.85999 1.55796 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-823.451 244.712 210.88"; + rotation = "-0 0 -1 64.1366"; + scale = "2.85999 1.5569 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-813.322 265.644 210.88"; + rotation = "-0 0 -1 64.1366"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-813.322 265.645 235.052"; + rotation = "-0 0 -1 64.1366"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-798.089 365.167 235.052"; + rotation = "0 0 1 205.909"; + scale = "12.5582 0.675742 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-915.115 265.864 235.052"; + rotation = "0 0 1 26"; + scale = "2.79243 0.676849 6.60858"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-806.434 368.501 222.106"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-853.242 374.186 222.208"; + rotation = "0.400561 -0.647645 0.648157 136.311"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-860.298 360.049 222.208"; + rotation = "0.400561 -0.647644 0.648158 136.31"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-817.616 335.004 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-859.698 238.933 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 1.51241"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-857.329 243.795 235.052"; + rotation = "0 0 1 205.909"; + scale = "12.6144 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-836.485 286.506 235.052"; + rotation = "0 0 1 205.909"; + scale = "12.6175 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-821.395 317.511 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 1.51241"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-838.865 281.649 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 1.51241"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-852.139 254.422 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 2.30039 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-836.496 286.511 210.88"; + rotation = "0 0 1 205.909"; + scale = "12.5904 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-864.524 310.227 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.39626 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-855.364 305.739 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.39992 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-875.845 264.149 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.73998 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-866.282 259.493 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.74272 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-832.512 380.936 191.796"; + rotation = "0 0 1 115.954"; + scale = "1 3.37391 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-819.013 322.359 235.052"; + rotation = "0 0 1 205.909"; + scale = "12.6144 0.675742 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-855.916 387.254 182.628"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 5.33495"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-856.686 254.828 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.74667 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-845.838 348.769 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-855.912 387.253 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 3.27829"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-813.773 333.177 210.88"; + rotation = "0 0 1 26"; + scale = "2.85999 2.34565 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-819.12 322.433 210.88"; + rotation = "0 0 1 205.909"; + scale = "12.5533 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-887.43 258.124 222.519"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-838.865 281.65 210.871"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-821.553 317.603 210.891"; + rotation = "0 0 1 26"; + scale = "2.90458 0.679875 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-828.607 379.193 222.106"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-894.457 299.273 191.796"; + rotation = "0 0 1 26"; + scale = "1 7.8989 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-899.753 281.432 222.414"; + rotation = "0.400561 -0.647644 0.648158 136.31"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-869.181 360.053 210.88"; + rotation = "0 0 1 26"; + scale = "2.85999 2.35406 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-907.534 281.399 210.88"; + rotation = "0 0 1 26"; + scale = "2.879 2.3141 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-887.475 322.544 210.88"; + rotation = "0 0 1 26"; + scale = "2.86924 1.81126 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-836.67 344.298 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-845.633 382.243 210.88"; + rotation = "0 0 1 26"; + scale = "12.5533 0.676849 0.586395"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-800.533 360.266 235.052"; + rotation = "0 0 1 26"; + scale = "2.8542 0.681591 5.77"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-894.219 308.705 225.677"; + rotation = "0 0 1 26"; + scale = "2.86216 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-892.697 295.569 222.414"; + rotation = "0.400561 -0.647645 0.648157 136.311"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-876.767 344.452 225.676"; + rotation = "0 0 1 26"; + scale = "2.85999 0.676849 5.18414"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-783.136 287.298 235.052"; + rotation = "0 0 1 205.909"; + scale = "2.86924 1.97243 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-865.257 247.432 222.519"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-827.143 339.651 191.796"; + rotation = "0 0 1 26"; + scale = "1 2.5656 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-832.157 295.486 235.052"; + rotation = "0 0 1 26"; + scale = "2.86924 1.82136 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-859.088 308.553 235.052"; + rotation = "0 0 1 26"; + scale = "2.86924 1.82334 0.586266"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-831.938 295.955 210.88"; + rotation = "0 0 1 26"; + scale = "2.86924 1.98096 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-859.12 308.591 210.88"; + rotation = "0 0 1 26"; + scale = "2.86924 1.82398 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-833.825 223.352 235.052"; + rotation = "-0 0 -1 64.1366"; + scale = "2.85999 1.55449 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-833.701 223.291 210.88"; + rotation = "-0 0 -1 64.1366"; + scale = "2.85999 1.56603 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-818.119 374.2 222.106"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-897.94 301.079 235.052"; + rotation = "0 0 1 26"; + scale = "2.85999 7.76548 0.586801"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-897.449 262.952 222.519"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-876.942 253.131 222.519"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-838.626 384.021 222.106"; + rotation = "0.950579 -0.219458 0.219633 92.8577"; + scale = "1 1.02457 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-814.092 250.704 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.04698 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-821.81 234.721 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.04698 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-783.47 313.873 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.04698 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-773.873 333.669 191.796"; + rotation = "-0 0 -1 64.1373"; + scale = "1 3.04698 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-817.753 275.257 191.796"; + rotation = "0 0 1 25.8171"; + scale = "1 4.14421 0.292408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-799.739 308.152 184.394"; + rotation = "0.231687 0.967684 0.0995424 134.849"; + scale = "1 0.329101 1.38345"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-797.11 306.888 187.48"; + rotation = "0.231665 0.967594 -0.100469 225.529"; + scale = "1 0.329101 1.34466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-815.123 269.948 187.386"; + rotation = "0.231665 0.967594 -0.100469 225.529"; + scale = "1 0.329101 1.34466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-817.749 271.211 184.303"; + rotation = "0.231687 0.967684 0.0995424 134.849"; + scale = "1 0.329101 1.38316"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + }; + new WaterBlock() { + position = "-928 504 -371.098"; + rotation = "1 0 0 0"; + scale = "2048 2048 500"; + liquidType = "HotLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "terrain/BadLands.DirtYellow"; + surfaceOpacity = "1"; + envMapTexture = "terrain/BadLands.DirtYellow"; + envMapIntensity = "0"; + removeWetEdges = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + seedPoints = "0 0 1 0 1 1 0 1"; + extent = "100 100 10"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2Flyersarena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2Flyersarena.mis new file mode 100644 index 00000000..b26598cb --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2Flyersarena.mis @@ -0,0 +1,2341 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Flyersarena. Flyersfan arena. k. +//Objective: Defeat the other team. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Flyersfan leave me alone now pls +//Website: Part of the Double Threat Pack +//--- MISSION STRING END --- + +datablock ForceFieldBareData(ZenFieldOka1) : baseZenField +{ + baseTranslucency = 0.99; + teamPermiable = false; + otherPermiable = false; + color = "0.1 0.1 0.1"; // grey-blue + + texture[0] = "skins/skin2.png"; + numFrames = 1; + + umapping = 0.15; + vmapping = 0.15; +}; + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + musicTrack = "desert"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-618 64 624 700"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-106.708 416.648 3460.47"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-123.616 436.315 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 3.63801 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-105.818 419.613 3457.39"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "2"; + providesPower = "1"; + + new Item() { + position = "-206.571 415.941 3460.45"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-301.531 410.695 3417.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-255.065 269.039 3417.23"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-206.582 417.359 3460.45"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-437.306 408.109 3460.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-437.348 406.429 3460.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-156.016 416.056 3369.97"; + rotation = "0 0 1 84.7978"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-155.946 413.83 3369.98"; + rotation = "0 0 1 84.7978"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-156.093 418.393 3369.97"; + rotation = "0 0 1 84.7978"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-491.61 405.021 3369.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-491.541 406.928 3369.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-491.598 402.99 3369.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-541.038 386.445 3458.9"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-539.96 385.696 3460.44"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-540.024 387.371 3460.47"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-542.041 385.615 3460.5"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-542.148 387.28 3460.45"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-553.99 386.246 3458.91"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-552.876 385.542 3460.49"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-554.975 385.358 3460.42"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-552.97 387.021 3460.45"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-555.081 386.83 3460.44"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-528.054 387.446 3459.04"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-529.199 388.264 3460.56"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-527.064 388.393 3460.56"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-529.051 386.511 3460.55"; + rotation = "0 0 1 181.81"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-526.985 386.639 3460.58"; + rotation = "0 0 1 181.81"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-534.973 416.426 3458.91"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-547.925 416.227 3458.91"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-548.978 415.084 3460.73"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-546.877 415.155 3460.71"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-548.974 416.979 3460.48"; + rotation = "0 0 -1 4.01071"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-546.862 416.987 3460.75"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-548.231 415.107 3460.49"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-548.261 416.117 3460.51"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-549.704 416.025 3460.5"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-549.674 415.015 3460.48"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-547.575 416.179 3460.5"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-547.545 415.169 3460.48"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + ammoStore = "5"; + }; + new Item() { + position = "-546.103 415.203 3460.47"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + ammoStore = "5"; + }; + new Item() { + position = "-546.133 416.213 3460.49"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-536.047 416.901 3460.61"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-533.904 417 3460.6"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-535.959 415.21 3460.66"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-533.835 415.273 3460.64"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-535.005 415.864 3460.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-535.014 415.364 3460.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-536.682 415.222 3460.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-536.673 415.722 3460.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-533.16 415.452 3460.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + ammoStore = "10"; + }; + new Item() { + position = "-533.151 415.952 3460.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-325.929 411.453 3417.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-324.841 411.345 3417.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-114.784 418.104 3457.38"; + rotation = "0 0 1 59.5876"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "34"; + }; + new Item() { + position = "-100.966 431.607 3460.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-100.975 431.107 3460.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-104.488 431.377 3460.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-104.497 430.877 3460.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-102.829 431.019 3460.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-102.82 431.519 3460.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-101.65 430.928 3460.65"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-103.774 430.865 3460.67"; + rotation = "0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-101.719 432.655 3460.61"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-103.862 432.556 3460.62"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-113.948 431.868 3460.65"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-113.918 430.858 3460.63"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-115.36 430.824 3460.64"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-115.39 431.834 3460.66"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-117.489 430.67 3460.64"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-117.519 431.68 3460.66"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-116.076 431.772 3460.67"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-116.046 430.762 3460.65"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-114.677 432.642 3460.91"; + rotation = "0 0 -1 1.14602"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-116.789 432.634 3460.64"; + rotation = "0 0 -1 4.01071"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-114.692 430.81 3460.87"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-116.793 430.739 3460.89"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-115.74 431.882 3459.07"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-102.788 432.081 3458.91"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-94.8002 402.294 3460.53"; + rotation = "0 0 1 181.81"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-96.8662 402.166 3460.5"; + rotation = "0 0 1 181.81"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-94.8792 404.048 3460.51"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-97.0142 403.919 3460.51"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-95.8692 403.101 3458.99"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-122.896 402.485 3460.44"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-120.785 402.676 3460.45"; + rotation = "0 0 -1 1.71869"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-122.79 401.013 3460.42"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-120.691 401.197 3460.49"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-121.805 401.901 3458.91"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-109.963 402.935 3460.44"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-109.856 401.27 3460.49"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-107.839 403.026 3460.46"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-107.775 401.351 3460.43"; + rotation = "0 0 1 177.799"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-108.853 402.1 3458.89"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Trigger() { + position = "-111.849 432.383 0"; + rotation = "-0 0 -1 5.33864"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + team = "0"; + disableObj = "6453"; + mainObj = "6453"; + station = "6453"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + position = "-111.849 0"; + + new SimGroup(base0) { + powerCount = "1"; + position = " 432.383"; + + new StaticShape() { + position = "0 0 0"; + rotation = "0 0 1 59.5876"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "35"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-537.79 400.113 3460.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + }; + new Sun() { + position = "0 432.383 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "SunDried.ter"; + squareSize = "8"; + position = "0 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + position = "0 0 0 1"; + scale = "1 1 1"; + GraphFile = "SunDried.nav"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-323.551 372.681 3665.61"; + rotation = "1 0 0 87.0896"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-308.785 115.42 3495.6"; + rotation = "0.997017 0.0149564 -0.0757247 22.4105"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-621.172 395.874 3537.07"; + rotation = "0.287202 -0.278491 0.916492 93.2298"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-635.484 401.182 3403.04"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-331.632 568.3 3385.97"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(sexyarena) { + powerCount = "0"; + + new InteriorInstance() { + position = "-200.187 434.232 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-282.814 431.984 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 6.69692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-201.243 473.052 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-283.813 470.806 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 2.69128"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-199.133 395.481 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-281.703 393.234 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 2.68938"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-202.297 511.803 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-284.866 509.557 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 6.69692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-198.076 356.66 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-280.704 354.412 3460.47"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 6.69692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-137.472 397.077 3478.59"; + rotation = "0.572789 -0.55742 0.600996 116.817"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-283.789 470.82 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-139.408 474.653 3478.34"; + rotation = "0.572789 -0.55742 0.600996 116.817"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-140.376 513.44 3478.34"; + rotation = "0.572789 -0.55742 0.600996 116.817"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-136.504 358.289 3478.59"; + rotation = "0.572789 -0.55742 0.600996 116.817"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-447.446 386.121 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-207.527 424.424 3481.22"; + rotation = "0 0 1 178.763"; + scale = "1.42309 2.43368 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-209.241 501.813 3481.22"; + rotation = "0 0 1 178.763"; + scale = "1.42309 2.4141 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-281.744 393.239 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-262.931 460.166 3482.34"; + rotation = "0 0 1 211.995"; + scale = "1.42309 2.70821 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-264.174 363.262 3482.22"; + rotation = "-0 0 -1 35.7061"; + scale = "1.42309 2.70821 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-253.495 313.57 3417.22"; + rotation = "0 0 1 88.8085"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-145.887 339.084 3404.97"; + rotation = "0.696135 0.71791 0.00055708 179.934"; + scale = "2.28683 3.20993 4.52263"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-145.888 339.087 3404.22"; + rotation = "-2.50723e-05 0.00157041 -0.999999 91.7655"; + scale = "2.28683 3.20993 5.18406"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-200.229 434.236 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-201.284 473.055 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-377.694 458.799 3481.84"; + rotation = "0 0 1 145.531"; + scale = "1.42309 2.70821 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-381.811 362.357 3481.84"; + rotation = "0 0 1 33.2315"; + scale = "1.42309 2.70821 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-436.647 320.691 3480.72"; + rotation = "1 0 0 0"; + scale = "1.42309 2.29087 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-436.647 396.662 3480.72"; + rotation = "1 0 0 0"; + scale = "1.42309 2.43368 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-512.516 460.878 3478.59"; + rotation = "0.545662 0.571132 -0.613238 119.06"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-505.875 307.856 3478.34"; + rotation = "0.545662 0.571132 -0.613238 119.06"; + scale = "9.20032 1.8141 0.233517"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-507.469 344.589 3478.34"; + rotation = "0.545662 0.571132 -0.613238 119.06"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-203.609 346.886 3481.22"; + rotation = "0 0 1 178.763"; + scale = "1.42309 2.43368 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-510.834 422.115 3478.59"; + rotation = "0.545662 0.571132 -0.613238 119.06"; + scale = "9.70863 1.8141 0.233517"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-368.412 467.408 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 6.69692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-450.983 463.639 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-361.497 314.645 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.12926 5.16637 6.69692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new SimGroup(sexyffs) { + powerCount = "0"; + + new InteriorInstance() { + position = "-444.012 310.88 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.12926 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "-366.698 428.613 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 2.6946"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-449.213 424.846 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-363.161 351.092 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 2.68832"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-445.674 347.327 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-364.874 389.889 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 6.69692"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-436.647 474.262 3480.72"; + rotation = "1 0 0 0"; + scale = "1.42309 2.43368 1.39226"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-523.766 382.639 3460.47"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 3.63801 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-216.518 406.999 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-199.174 395.485 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-343.917 311.37 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.86206 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-366.655 310.25 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-389.224 309.14 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-411.93 308.022 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.85431 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-202.338 511.806 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-198.117 356.664 3369.97"; + rotation = "0 0 1 88.4416"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-366.604 428.565 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.15572 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-363.018 351.048 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.15971 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-496.298 326.676 3403.59"; + rotation = "-1.73085e-05 0.00157818 -0.999999 91.1925"; + scale = "2.28683 3.20993 5.18406"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-496.297 326.673 3404.34"; + rotation = "0.699716 0.714421 0.000559947 179.934"; + scale = "2.28683 3.20993 4.52263"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-499.637 404.685 3403.72"; + rotation = "-1.73085e-05 0.00157818 -0.999999 91.1925"; + scale = "2.28683 3.20993 5.18406"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-499.636 404.682 3404.47"; + rotation = "0.699716 0.714421 0.000559947 179.934"; + scale = "2.28683 3.20993 4.52263"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-427.555 315.292 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 3.00508 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-429.393 361.155 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-432.958 451.532 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-351.873 510.664 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-397.051 508.44 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-502.975 481.785 3403.84"; + rotation = "-1.73085e-05 0.00157818 -0.999999 91.1925"; + scale = "2.28683 3.20993 5.18406"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-502.974 481.783 3404.59"; + rotation = "0.699716 0.714421 0.000559947 179.934"; + scale = "2.28683 3.20993 4.52263"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-428.487 338.535 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-430.243 383.684 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-431.148 406.302 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-432.053 428.914 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-433.808 474.063 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-434.764 497.982 3417.22"; + rotation = "-0 0 -1 2.29172"; + scale = "1 3.15513 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-374.482 509.55 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-447.224 386.081 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-450.761 463.599 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-443.79 310.84 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.12926 5.16637 1.04281"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-448.991 424.806 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-445.452 347.287 3369.97"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 5.16637 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.237 493.149 3404.47"; + rotation = "0.696135 0.71791 0.00055708 179.934"; + scale = "2.28683 3.20993 4.52263"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.239 493.151 3403.72"; + rotation = "-2.50723e-05 0.00157041 -0.999999 91.7655"; + scale = "2.28683 3.20993 5.18406"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.247 416.104 3404.84"; + rotation = "0.696135 0.71791 0.00055708 179.934"; + scale = "2.28683 3.20993 4.52263"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.249 416.106 3404.09"; + rotation = "-2.50723e-05 0.00157041 -0.999999 91.7655"; + scale = "2.28683 3.20993 5.18406"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-276.086 313.1 3417.22"; + rotation = "0 0 1 88.8085"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-229.92 314.06 3417.22"; + rotation = "0 0 1 88.8085"; + scale = "1 3.066 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-215.838 384.372 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-213.929 319.071 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.21029 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-217.195 429.619 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-229.048 514.989 3417.22"; + rotation = "0 0 1 88.2355"; + scale = "1 3.33285 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-298.894 512.839 3417.22"; + rotation = "0 0 1 88.2355"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-420.297 507.295 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 2.98954 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-276.269 513.535 3417.22"; + rotation = "0 0 1 88.2355"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-253.684 514.231 3417.22"; + rotation = "0 0 1 88.2355"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-218.499 474.783 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-219.217 498.709 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 3.15513 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-217.875 452.244 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-214.534 339.208 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-215.214 361.835 3417.22"; + rotation = "-0 0 -1 1.71869"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "-0.0163"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.006"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.001"; + visibleDistance = "700"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.300000 0.400000 1.000000"; + fogDistance = "700"; + fogColor = "0.300000 0.300000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 1.97218e-39"; + high_fogVolume2 = "-1 7.11993e-38 -nan"; + high_fogVolume3 = "-1 -8.20839e+07 0"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(powa) { + powerCount = "1"; + + new StaticShape() { + position = "-319.48 362.598 145.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + }; + }; + new InteriorInstance() { + position = "-311.598 392.313 3417.24"; + rotation = "0 0 -1 92.6125"; + scale = "9.70863 2.79904 1.04281"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-325.382 511.967 3417.22"; + rotation = "0 0 -1 92.8191"; + scale = "1 3.80432 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new SimSet() { + + new ScriptObject() { + guid = "0"; + targetId = "32"; + clientId = "6397"; + isBot = "0"; + voiceEnabled = "0"; + packetLoss = "0"; + isAdmin = "1"; + canListen = "0"; + className = "PlayerRep"; + teamId = "0"; + ping = "0"; + isSmurf = "1"; + chatMuted = "0"; + name = "\x10\c8FlyingElmo\x11"; + isSuperAdmin = "1"; + score = "0"; + isListening = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + guid = "0"; + targetId = "32"; + clientId = "6397"; + isBot = "0"; + voiceEnabled = "0"; + packetLoss = "0"; + isAdmin = "1"; + canListen = "0"; + className = "PlayerRep"; + teamId = "0"; + ping = "0"; + isSmurf = "1"; + chatMuted = "0"; + name = "\x10\c8FlyingElmo\x11"; + isSuperAdmin = "1"; + score = "0"; + isListening = "0"; + }; + }; + new InteriorInstance() { + position = "-298.713 312.631 3417.22"; + rotation = "0 0 1 88.8084"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-321.303 312.159 3417.22"; + rotation = "0 0 1 88.8084"; + scale = "1 2.82975 1.79713"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new WaterBlock() { + position = "-824 -184 1587.34"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "Lava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/sanctuary_water_1"; + surfaceOpacity = "0.75"; + envMapTexture = "ice/skies/ice_blue_emap"; + envMapIntensity = "0.5"; + removeWetEdges = "0"; + textureSize = "32 32"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + floodFill = "1"; + seedPoints = "0 0 1 0 1 1 0 1"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new SimSet() { + + new ScriptObject() { + guid = "0"; + clientId = "7263"; + targetId = "32"; + voiceEnabled = "0"; + isBot = "0"; + packetLoss = "0"; + isAdmin = "1"; + canListen = "0"; + className = "PlayerRep"; + teamId = "0"; + ping = "0"; + isSmurf = "1"; + name = "\x10\c8FlyingElmo\x11"; + chatMuted = "0"; + isSuperAdmin = "1"; + score = "0"; + isListening = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + guid = "0"; + clientId = "7263"; + targetId = "32"; + voiceEnabled = "0"; + isBot = "0"; + packetLoss = "0"; + isAdmin = "1"; + canListen = "0"; + className = "PlayerRep"; + teamId = "0"; + ping = "0"; + isSmurf = "1"; + name = "\x10\c8FlyingElmo\x11"; + chatMuted = "0"; + isSuperAdmin = "1"; + score = "0"; + isListening = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- +//code:-------------------------------------------------------------------------------- +datablock TriggerData(quicksandarea) +{ +tickPeriodMS = 1; +}; + +%sand = new Trigger() { +position = "-1379.43 1244.08 671.18"; +rotation = "1 0 0 0"; +scale = "1950.09 1837.4 1042.3"; +dataBlock = "quicksandarea"; +lockCount = "0"; +homingCount = "0"; +polyhedron = "-0.75 0.75 0.1 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.3"; +}; +MissionCleanup.add(%sand); + + +package quicksand +{ +function quicksandarea::OnEnterTrigger(%data, %trigger, %player) +{ +%player.takedamage = 1; +messageClient(%player.client, 'MsgClient', "\c0You have entered a pressure pocket!"); +playerdamage(%player); +} + +function quicksandarea::OnleaveTrigger(%data, %trigger, %player) +{ +%player.takedamage = 0; +if (!isObject(%player) || %player.getState() $= "Dead") +return; +messageClient(%player.client, 'MsgClient', "\c0You shouldnt see this message hax0r."); +} + + +function playerdamage(%player) +{ +if(%player.takedamage == 0) +return; +if (!isObject(%player) || %player.getState() $= "Dead") +{ +%ran = getRandom(); +if(%ran > 0.7) { +messageClient(%player.client, 'MsgClient', "\c0Atmospheric Pressures have crushed you."); +} else if(%ran > 0.3) { +messageClient(%player.client, 'MsgClient', "\c0Atmospheric Pressures have crushed you."); +} else { +messageClient(%player.client, 'MsgClient', "\c0Atmospheric Pressures have crushed you."); +} +%game = Game.getId(); +%damLoc = %player.getPosition(); +DefaultGame::OnClientKilled(%game, %player.client, "", $DamageType::default, "", %damLoc); +%player.takedamage = 0; +return; +} +else { +// Choose a visual effect on the victim from below and uncomment +//%player.setWhiteOut(0.5); // White flash +//%player.setDamageFlash(0.5); // Red flash +%player.damage(0, %player.position, 1, $DamageType::default); // change the 0.01 to inc/dec damage applied +schedule(1000,0,"playerdamage",%player); +} +} + +function quicksandarea::OnTickTrigger(%data, %obj) +{ +Game.onTickTrigger(%obj.name, %data, %obj); +} +}; + +activatepackage(quicksand); + + diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2IceDome.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2IceDome.mis new file mode 100644 index 00000000..a5f3ce93 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2IceDome.mis @@ -0,0 +1,1945 @@ +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//Which team is better? That depends on which one can brave the cold. +//Objective: Put a permanent chill down your opponents spine. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@planettribes.com +//Website: Part of the Double Threat pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + musicTrack = "ice"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "520 1550 500 500"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "400"; + fogColor = "0.500000 0.500000 0.570000 1.000000"; + fogVolume1 = "600 0 250"; + fogVolume2 = "1 600 3000"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 4216686175807421430000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -6202843637937751620000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "750"; + high_fogDistance = "50"; + high_fogVolume1 = "750 0 100"; + high_fogVolume2 = "700 100 250"; + high_fogVolume3 = "-1 3.77089e-42 4.64824e-38"; + cloudSpeed0 = "0.000500 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "IceBound.ter"; + squareSize = "8"; + emptySquares = "294993 426320 426576 426832 427088 361808 299197 1020338 1020594 1020850 1021106 1021362 431794 300978 301234 301490 172737 304064 304320 435646 435902 1025973 1026229 1026485 1026741 306101 633787"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + GraphFile = "IceBound.nav"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "947.501 1886.13 60.9604"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "603.138 1880.56 46.6106"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new InteriorInstance() { + position = "938.658 1884.02 48.4294"; + rotation = "0 0 -1 15.4699"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "937.588 1892.76 48.4755"; + rotation = "0 0 -1 15.4699"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "941.462 1874.59 48.4362"; + rotation = "0 0 -1 15.4699"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "938.252 1882.79 50.0505"; + rotation = "0 0 -1 103.705"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "937.604 1884.85 50.0149"; + rotation = "0 0 -1 103.705"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "939.29 1885.33 50.0373"; + rotation = "0 0 -1 103.705"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "939.938 1883.27 50.0729"; + rotation = "0 0 -1 103.705"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "946.553 1753.9 50.3864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "947.22 1755.28 50.4594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "898.785 1721.6 48.5222"; + rotation = "0 0 1 34.3775"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "898.8 1721.56 50.0827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "937.72 1891.37 50.0277"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "937.465 1892.3 50.0221"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "619.245 1857.94 48.4279"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "712.149 1960 74.6942"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "620.584 1887.99 48.5056"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "621.165 1880.62 50.0502"; + rotation = "0 0 1 93.9654"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "938.986 1892.74 50.0424"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "939.241 1891.81 50.048"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "940.768 1873.33 50.3776"; + rotation = "0 0 1 76.2034"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "940.166 1875.34 50.3714"; + rotation = "0 0 1 76.2034"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "942.559 1873.79 49.9926"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "941.98 1875.84 50.0041"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "621.157 1878.46 50.0146"; + rotation = "0 0 1 93.9654"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.405 1878.51 50.037"; + rotation = "0 0 1 93.9654"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.412 1880.67 50.0726"; + rotation = "0 0 1 93.9654"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.541 1859.3 49.9801"; + rotation = "0 0 1 183.347"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.502 1858.34 49.9745"; + rotation = "0 0 1 183.347"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + ammoStore = "5"; + }; + new Item() { + position = "617.919 1858.38 49.9948"; + rotation = "0 0 1 183.347"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "617.959 1859.35 50.0004"; + rotation = "0 0 1 183.347"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "621.628 1888.98 50.447"; + rotation = "0 0 -1 86.1262"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "621.592 1886.88 50.4408"; + rotation = "0 0 -1 86.1262"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.782 1889.09 50.062"; + rotation = "0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "620.405 1879.57 48.4291"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "937.134 1893.31 50.0473"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "936.847 1894.14 50.0156"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "938.613 1893.81 50.0926"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "938.41 1894.44 50.0485"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "936.638 1892.09 49.8825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "936.944 1891.16 49.9234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "938.492 1891.36 50.232"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "938.221 1892.48 50.2628"; + rotation = "0 0 -1 10.8862"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "784.096 1858.29 74.4952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "783.289 1856.07 74.0921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "783.711 1857.14 74.3479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "775.705 1849.03 73.1592"; + rotation = "0 0 1 14.324"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "778.426 1847.82 72.8597"; + rotation = "0 0 1 14.324"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "959.272 1888.68 50.0193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "958.986 1889.64 50.0193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "593.67 1887.11 49.9941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "593.956 1886.15 49.9941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "618.727 1858.4 50.2152"; + rotation = "0 0 1 186.784"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "618.808 1859.55 50.1844"; + rotation = "0 0 1 186.784"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "620.344 1859.27 49.8758"; + rotation = "0 0 1 197.67"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + ammoStore = "10"; + }; + new Item() { + position = "620.354 1858.29 49.8349"; + rotation = "0 0 1 197.67"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + ammoStore = "10"; + }; + new Item() { + position = "617.952 1856.59 50.0009"; + rotation = "0 0 1 98.5487"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "617.949 1857.25 50.045"; + rotation = "0 0 1 98.5487"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.532 1856.4 49.968"; + rotation = "0 0 1 93.3924"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.51 1857.28 49.9997"; + rotation = "0 0 1 93.3924"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.711 1886.96 50.0735"; + rotation = "0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "793.697 1954.03 78.1645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "793.543 1956.65 78.2036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "793.345 1959.2 78.2155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "778.419 1734.35 78.2058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "778.263 1736.19 78.1933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "778.274 1738.13 78.1259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + }; + new WaterBlock(Water) { + position = "-504 40 0"; + rotation = "1 0 0 0"; + scale = "608 704 72"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.5"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0"; + removeWetEdges = "1"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "766.586 1823.19 121.381"; + rotation = "0.912983 -0.137984 0.383957 42.9716"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "768.372 2001.33 110.192"; + rotation = "0 0 1 175.898"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "721.133 1931.03 119.255"; + rotation = "-0.0581793 -0.242146 0.968494 206.199"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "836.401 1690.16 99.4199"; + rotation = "0.273016 -0.0624866 0.959978 26.8199"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(arena32) { + powerCount = "0"; + + new InteriorInstance() { + position = "791.094 1690.7 114.852"; + rotation = "0.617377 -0.592719 0.517233 232.81"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "861.677 1720.2 114.9"; + rotation = "0.699016 -0.409872 0.585988 217.861"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "554.61 1806.21 76.5269"; + rotation = "-0.031236 0.999368 -0.0169585 120.087"; + scale = "5 6.68639 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "615.859 1810.18 115.084"; + rotation = "-0.0498014 0.99794 -0.040438 100.121"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "713.396 1697.35 114.863"; + rotation = "-0.478557 0.781403 -0.400491 113.548"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "649.376 1741.41 114.964"; + rotation = "-0.273519 0.934395 -0.22824 103.83"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "825.989 1975.3 115.216"; + rotation = "0.696454 0.415666 0.584956 141.447"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "622.297 1885.23 115.123"; + rotation = "0.264886 0.938011 0.223541 103.563"; + scale = "5 5.97713 4.98656"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "889.043 1929.86 115.193"; + rotation = "0.748899 0.20955 0.628681 159.942"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "677.25 1955.66 115.185"; + rotation = "0.472199 0.786886 0.397289 113.077"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "748.453 1983.63 115.24"; + rotation = "0.603507 0.615219 0.507234 125.318"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "909.351 1781.58 114.957"; + rotation = "0.750069 -0.20402 0.629104 199.316"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "920.038 1858.62 115.08"; + rotation = "0.766041 -0.0043427 0.642777 180.298"; + scale = "5 5 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "741.415 2046.34 77.2092"; + rotation = "0.645379 0.664504 0.376724 138.368"; + scale = "5 6.71866 5.14865"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "641.295 2007.7 76.8477"; + rotation = "0.497012 0.81873 0.287508 129.398"; + scale = "5 7.03338 5.04728"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "846.477 2035.1 77.8715"; + rotation = "0.768708 0.460552 0.443824 150.162"; + scale = "5 7.3639 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "566.308 1913.32 76.7179"; + rotation = "0.268614 0.950544 0.155925 122.511"; + scale = "5 7.97676 5.07588"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "968.372 1755.55 77.3964"; + rotation = "0.843298 -0.229222 0.486112 194.961"; + scale = "5 6.88321 5.03409"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "981.647 1866.09 77.5321"; + rotation = "0.866257 -0.000395966 0.499599 179.921"; + scale = "5 7.32439 4.96767"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(thisisdish) { + position = "938.555 1968.94 77.7156"; + rotation = "0.843241 0.228476 0.486562 164.886"; + scale = "5 7.19845 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "904.052 1670.55 76.921"; + rotation = "0.777011 -0.439996 0.450176 207.904"; + scale = "5 6.6854 4.88517"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "806.204 1628.37 76.1936"; + rotation = "0.66071 -0.647134 0.380368 220.863"; + scale = "5 7.348 5.08385"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "692.794 1640.49 76.2526"; + rotation = "-0.486227 0.827913 -0.279542 129.001"; + scale = "5 7.25516 5.07986"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "601.832 1707.09 76.3486"; + rotation = "-0.274043 0.948808 -0.157048 122.65"; + scale = "5 7.14104 5.04125"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(thisisdish) { + position = "937.72 1967.9 35.9024"; + rotation = "0.965064 0.26189 0.00805532 179.668"; + scale = "5 7.19845 5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "979.501 1866.02 46.4171"; + rotation = "0.999998 2.86906e-06 -0.00186431 179.909"; + scale = "5 7.32439 4.96767"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "967.366 1757.59 47.689"; + rotation = "0.965089 -0.261916 -0.00201033 179.856"; + scale = "5 6.88321 5.03409"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "914.715 1655.81 104.59"; + rotation = "0.000685018 -0.00663061 0.999978 238.727"; + scale = "5 6.6854 4.88517"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "768.011 1837.63 128.94"; + rotation = "1 0 0 0"; + scale = "19.6386 17.8594 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "942.541 1898.37 50.1692"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "944.455 1899.68 49.9883"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "944.71 1898.75 49.9939"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "943.942 1901.62 50.0105"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "943.689 1900.8 50.0954"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "942.934 1899.24 49.968"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "944.25 1898.69 50.0887"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "942.676 1900.25 49.9958"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "942.421 1901.18 49.9902"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "944.197 1900.69 50.0161"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "941.979 1900.48 50.1759"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "618.797 1868.88 50.1641"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "943.189 1898.31 49.9736"; + rotation = "0 0 -1 14.3239"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "620.522 1868.66 50.0835"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.437 1869.58 49.9628"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.499 1870.62 49.9907"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "621.123 1871.54 50.0053"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "621.02 1869.54 49.9832"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "620.979 1868.58 49.9888"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "621.082 1870.58 50.0109"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.54 1871.59 49.9851"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "620.632 1870.84 50.0902"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "618.906 1871.06 50.1707"; + rotation = "0 0 1 2.8649"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "619.396 1868.62 49.9684"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "737.5 1949.97 76.8957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "764.872 1953.36 78.064"; + rotation = "1 0 0 84.2248"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "769.376 1968.58 78.2656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "762.243 1955.66 77.3356"; + rotation = "0.999983 -0.00499996 0.00314027 115.738"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "756.874 1968.34 86.657"; + rotation = "0.383432 -0.85861 -0.340248 105.392"; + scale = "1.2 1.2 1.2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "748.873 1764.99 78.2817"; + rotation = "0.512896 -0.530253 0.675107 226.24"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "769.31 1761.62 78.245"; + rotation = "1 0 0 84.2248"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "865.031 1791.11 77.1048"; + rotation = "0.224647 0.825186 -0.518269 163.938"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "915.356 1829.1 86.5321"; + rotation = "0.704714 -0.123886 -0.698592 156.468"; + scale = "1.2 1.2 1.2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "865.079 1783.43 76.4058"; + rotation = "-0.176164 -0.6601 0.730229 202.055"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "887.871 1782.28 75.2375"; + rotation = "0 0 1 209.885"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "911.616 1808.69 78.7644"; + rotation = "0.0839204 0.8533 -0.514622 169.396"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "875.726 1842.24 79.7722"; + rotation = "0.0339423 -0.0182536 0.999257 193.201"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "840.917 1767.76 84.9988"; + rotation = "0.742636 0.11924 -0.658994 192.08"; + scale = "1.2 1.2 1.2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "863.903 1822.11 76.3016"; + rotation = "0.614579 -0.0748128 0.7853 188.87"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "839.216 1712.51 78.1843"; + rotation = "0.999983 -0.00499996 0.00314027 115.738"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "815.068 1683.37 78.1843"; + rotation = "0.999983 -0.00499996 0.00314027 115.738"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "943.114 1899.91 44.1537"; + rotation = "0 0 -1 16.0429"; + scale = "0.53083 0.659334 0.543185"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "943.051 1899.72 48.4214"; + rotation = "0 0 -1 15.4699"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "810.646 1743.88 78.444"; + rotation = "1 0 0 84.2248"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "790.664 1742.61 77.2757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "885.412 1898.52 77.5355"; + rotation = "0.0839204 0.8533 -0.514622 169.396"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "887.742 1872.55 86.3108"; + rotation = "0.70857 0.248241 -0.660533 200.311"; + scale = "1.2 1.2 1.2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "659.868 1783.45 71.1486"; + rotation = "0.312296 0.637047 0.704728 141.883"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "888.548 1855.18 78.2781"; + rotation = "0.0839204 0.8533 -0.514622 169.396"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "904.734 1889.68 75.8127"; + rotation = "0.0339423 -0.0182536 0.999257 193.201"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "619.813 1870.17 44.1485"; + rotation = "0 0 1 1.71869"; + scale = "0.53083 0.659334 0.543185"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "870.248 1881.3 78.7178"; + rotation = "0.0339423 -0.0182536 0.999257 193.201"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "883.427 1901.32 78.5134"; + rotation = "-0.0523791 -0.683084 0.728459 192.387"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "667.947 1781.64 78.2536"; + rotation = "0.253303 0.536027 0.805303 210.995"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "636.588 1780.63 78.2536"; + rotation = "0.253303 0.536027 0.805303 210.995"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "799.912 1718.39 78.6426"; + rotation = "0.744076 -0.476929 0.467857 107.747"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "878.884 1937.46 78.1862"; + rotation = "0.0839204 0.8533 -0.514622 169.396"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "882.947 1964.67 78.1862"; + rotation = "0.0839204 0.8533 -0.514622 169.396"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "619.695 1870 48.4162"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "712.034 1781.59 83.9573"; + rotation = "0.849251 -0.354063 -0.391679 93.5748"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "714.684 1749.95 79.1955"; + rotation = "0.999983 -0.00499996 0.00314027 115.738"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "829.201 1918.82 77.2223"; + rotation = "0.593695 0.298491 0.747281 155.584"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "735.403 1774.32 78.3072"; + rotation = "-0.00779115 0.999961 -0.00420349 171.544"; + scale = "0.5 0.5 0.5"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "721.91 1757.37 75.1532"; + rotation = "0.844271 0.358995 0.397905 183.771"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "811.794 1959.45 75.6968"; + rotation = "-0.0249581 0.0558838 -0.998125 48.2087"; + scale = "0.917814 1.2 2.0103"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "679.747 1881.92 79.8559"; + rotation = "0.641173 0.767298 0.0123149 186.089"; + scale = "0.917814 1.2 2.0103"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "692.916 1918.98 79.5785"; + rotation = "0.109077 0.518346 0.848186 208.755"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "712.951 1935.92 71.2827"; + rotation = "0.483626 0.6409 0.596115 113.074"; + scale = "1.2 1.2 1.2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "694.086 1941.97 78.7116"; + rotation = "0.271528 0.962356 0.0120103 184.875"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "689.55 1918.4 78.5489"; + rotation = "0.176801 0.721851 0.669083 204.651"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "707.518 1905.54 81.3145"; + rotation = "0.271528 0.962356 0.0120103 184.875"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "721.188 1924.05 78.2158"; + rotation = "0.109077 0.518346 0.848186 208.755"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "699.474 1823.61 81.9692"; + rotation = "-0.0938749 0.984405 -0.148778 104.935"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "671.588 1842.92 82.3336"; + rotation = "0.43322 -0.202352 -0.878279 101.855"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "670.216 1870.2 77.6603"; + rotation = "-0.00110371 -0.311028 0.9504 49.9213"; + scale = "0.5 0.5 0.5"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "671.36 1832.57 78.2839"; + rotation = "0.253303 0.536027 0.805303 210.995"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "815.624 1765.81 87.037"; + rotation = "0.383432 -0.85861 -0.340248 105.392"; + scale = "1.2 1.2 1.2"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "813.178 1738.96 77.7156"; + rotation = "0.999983 -0.00499996 0.00314027 115.738"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "693.771 1854.15 70.3543"; + rotation = "0.55968 0.533475 0.634164 173.84"; + scale = "1 1 1.6465"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "796.105 1761.94 78.6456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2IndoorIntensity.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2IndoorIntensity.mis new file mode 100644 index 00000000..f3f1a73d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/2IndoorIntensity.mis @@ -0,0 +1,1045 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//How fast are your reflexes? Prepare to find out... +//Objective: Kill. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@planettribes.com +//Website: Part of the Double Threat Pack + +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-340 -568 360 364"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun() { + position = "-1304 -1032 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1304 -1032 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "700"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "675"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.500000 0.500000 0.500000 1.000000"; + fogVolumeColor2 = "0.500000 0.500000 0.500000 1.000000"; + fogVolumeColor3 = "0.500000 0.500000 0.500000 1.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0.0336916 1.07457e-38"; + high_fogVolume2 = "-1 9.29684e-35 9.80909e-44"; + high_fogVolume3 = "-1 0 6.34739e-38"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "JacobsLadder.ter"; + squareSize = "8"; + emptySquares = "75846"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "59"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "JacobsLadder.nav"; + position = "0 0 0 1"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + conjoinBowlDev = "20"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-144.232 -468.726 297.682"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-103.591 -365.429 256.073"; + rotation = "0.141724 0.143034 -0.979518 91.7128"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-130.001 -325.038 260.949"; + rotation = "-0.0359313 -0.208325 0.977399 199.138"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-142.973 -328.874 218.846"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(team0) { + powerCount = "1"; + providesPower = "1"; + + new Item() { + position = "-141.753 -364.233 237.267"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-141.713 -364.242 236.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Holo = "0"; + Target = "-1"; + }; + new Item() { + position = "-114.661 -388.293 227.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-164.688 -342.329 227.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-164.707 -388.346 227.81"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-114.56 -340.284 227.847"; + rotation = "0 0 -1 91.8558"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.659 -365.467 209.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.654 -363.242 209.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.688 -364.332 209.883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-143.823 -364.342 209.9"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.598 -364.323 209.866"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-106.673 -380.344 209.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-106.643 -348.331 209.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-176.657 -346.598 209.853"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-174.725 -383.902 209.9"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.479 -323.517 223.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.522 -405.18 223.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.714 -446.534 288.127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.617 -446.434 288.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.26 -446.393 287.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.036 -446.392 287.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-145.001 -446.434 287.884"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.225 -446.435 287.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-149.073 -446.302 287.883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.297 -446.303 287.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.689 -446.302 288.092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.645 -426.583 287.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.626 -426.514 287.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.668 -426.683 287.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.639 -466.331 287.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.686 -466.293 287.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.621 -466.263 287.857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.661 -262.313 287.859"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.644 -262.279 287.887"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.596 -262.35 287.88"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.293 -282.192 287.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.685 -282.191 288.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-149.069 -282.191 287.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.221 -282.324 287.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.613 -282.323 288.111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.997 -282.323 287.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.032 -282.281 287.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.71 -282.423 288.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.256 -282.282 287.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-144.694 -302.304 287.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-148.667 -302.291 287.863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-140.739 -302.382 287.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-159.811 -358.189 272.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-159.594 -369.158 272.232"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.68 -404.258 209.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-143.099 -404.267 209.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.258 -404.324 209.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.264 -366.799 257.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.252 -362.789 257.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-141.75 -365.044 257.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.037 -362.836 257.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-142.135 -366.848 257.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(Team1) { + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-150.532 -473.313 287.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-140.002 -473.036 287.673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new InteriorInstance() { + position = "-506.866 -387.566 104.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-149.775 -255.119 286.763"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-139.245 -254.842 287.273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + }; + new SimGroup(uhhellz) { + powerCount = "1"; + + new InteriorInstance() { + position = "-154.661 -364.314 231.893"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dbunk6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-188.9 -369.857 319.66"; + rotation = "1 0 0 0"; + scale = "1 1.35132 2.53481"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-192.737 -363.806 284.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + }; + new ForceFieldBare() { + position = "-156.804 -378.211 271.694"; + rotation = "1 0 0 0"; + scale = "23.9085 28.6396 43.9173"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + }; + new InteriorInstance() { + position = "-140.251 -484.544 312.55"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.35132 2.53481"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-137.455 -248.147 314.58"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.35132 2.53481"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-165.163 -335.88 227.642"; + rotation = "1 0 0 0"; + scale = "1 1 1.26393"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-125.562 -399.991 226.035"; + rotation = "1 0 0 0"; + scale = "1 0.664978 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "-142.417 -323.677 247.612"; + rotation = "0.707388 -0.706825 -0.000563011 179.935"; + scale = "1 1.468 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.037 -404.752 248.296"; + rotation = "0.707388 -0.706825 -0.000563011 179.935"; + scale = "1 1.468 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Aeroena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Aeroena.mis new file mode 100644 index 00000000..a6636351 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Aeroena.mis @@ -0,0 +1,950 @@ +// MissionTypes = Arena +// DisplayName = Aeroena + +//--- MISSION QUOTE BEGIN --- +//Description: ReliaV has never been known for a hospitibal environment. Ages +//after the its birth, a massive meteorite collided with the planet, hurling it into a perpetual ice age. The planet's inhabitants have survived by building massive shelters in the sky. +//Objective: Slaughter all members of the enemy team. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@planettribes.com +//Website: Download This Map +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Hunters_timeLimit = "25"; + powerCount = "0"; + cdTrack = "5"; + Team_Hunters_timeLimit = "25"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-240 -12 448 380"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.620000 1.000000"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Rimehold.ter"; + squareSize = "8"; + emptySquares = "101741 101997 102253 299658 430985 431241 431497 366217"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Aeroena.nav"; + locked = "true"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-904 -1136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.065000 0.090000 0.220000 0.000000"; + fogDistance = "100"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "10 0 205"; + fogVolume2 = "750 206 400"; + fogVolume3 = "350 401 700"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-25.4594 137.787 885.839"; + rotation = "1 0 0 84.7977"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "58.2751 68.1935 819.489"; + rotation = "0.69602 0.246208 -0.67449 55.3496"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-29.7978 85.4141 749.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-99.8123 272.9 746.164"; + rotation = "0 0 1 124.332"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-94.0429 126.997 756.676"; + rotation = "0.382624 -0.128924 0.914865 40.4379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "60.9119 183.335 741.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "60.8209 193.577 744.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "60.7673 169.889 743.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new StaticShape() { + position = "56.6829 161.102 742.379"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "ono i lost my parachute"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Trigger = "3670"; + Target = "33"; + }; + new StaticShape() { + position = "56.8512 201.035 742.386"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Trigger = "3672"; + Target = "34"; + }; + new StaticShape() { + position = "65.492 201.492 742.399"; + rotation = "0 0 1 89.7719"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Trigger = "3674"; + Target = "35"; + }; + new StaticShape() { + position = "65.8342 161.491 742.39"; + rotation = "0 0 1 89.7719"; + scale = "1 1 1"; + nameTag = "IM AFAID OF HEIGHTS"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Trigger = "3676"; + Target = "36"; + }; + new StaticShape() { + position = "72.6954 163.021 726.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-121.838 185.037 742.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-121.929 195.278 744.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-121.982 171.59 743.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Map by FlyingElmo"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "12"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new StaticShape() { + position = "-125.513 161.229 742.235"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "the RIVERSTYX station"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "3685"; + Target = "38"; + }; + new StaticShape() { + position = "-125.541 200.969 742.234"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + nameTag = "this arena flys...just because"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "3687"; + Target = "39"; + }; + new StaticShape() { + position = "-116.417 201.003 742.278"; + rotation = "0 0 1 89.7719"; + scale = "1 1 1"; + nameTag = "http://www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "3689"; + Target = "40"; + }; + new StaticShape() { + position = "-116.377 161.258 742.229"; + rotation = "0 0 1 89.7719"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "3691"; + Target = "41"; + }; + new StaticShape() { + position = "74.3505 162.841 726.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "-34.4771 197.23 759.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-33.7689 165.688 759.548"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-30.0842 186.981 733.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-30.1483 175.689 733.714"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-30.1975 198.416 733.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-9.37797 96.2586 742.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-8.68804 96.2213 742.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-10.0566 96.2713 742.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-51.1875 84.5416 742.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-49.7115 84.5023 742.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-50.4394 84.9999 742.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-51.3333 277.995 742.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-50.6176 278.035 742.518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-49.9459 278.044 742.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-8.55956 266.238 742.347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-9.24934 266.246 742.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-9.86183 266.252 742.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(MainStructure) { + powerCount = "0"; + + new InteriorInstance() { + position = "6.93313 184.048 739.925"; + rotation = "1 0 0 0"; + scale = "1.91551 1.1823 0.203232"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-74.3697 186.626 739"; + rotation = "1 0 0 0"; + scale = "1.91551 1.1823 0.203232"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.3787 165.763 759.505"; + rotation = "0 -1 0 53.858"; + scale = "0.1 0.436499 1.73127"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-30.3497 176.059 729.264"; + rotation = "-1 0 0 7.44862"; + scale = "1.5 2 1.5"; + interiorFile = "smiscc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.1036 166.663 744.328"; + rotation = "0 -1 0 53.858"; + scale = "0.1 0.436499 1.52031"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.3587 203.468 733.013"; + rotation = "0 -1 0 113.446"; + scale = "0.1 0.436499 1.62399"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-30.3697 198.026 729.379"; + rotation = "-0.000181536 0.0599627 0.998201 179.911"; + scale = "1.5 2 1.5"; + interiorFile = "smiscc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.976429 193.646 743.854"; + rotation = "0 1 0 235.668"; + scale = "0.1 0.436499 1.73127"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-7.88707 102.995 737.529"; + rotation = "0 0 1 89.9544"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-79.7967 284.928 737.519"; + rotation = "0 0 1 89.9544"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-7.88177 284.951 737.53"; + rotation = "0 0 1 89.9544"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-79.8017 102.972 737.518"; + rotation = "0 0 1 89.9544"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-34.1607 181.226 758.142"; + rotation = "1 0 0 0"; + scale = "3.06827 4.4479 0.167809"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-133.559 203.137 737.3"; + rotation = "1 0 0 0"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-133.619 275.108 737.3"; + rotation = "1 0 0 0"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-27.3817 135.391 754.482"; + rotation = "1 0 0 0"; + scale = "1.3763 0.68631 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-133.593 131.222 737.289"; + rotation = "1 0 0 0"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "64.0839 103.112 737.529"; + rotation = "0 0 1 89.9544"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "64.0895 285.068 737.53"; + rotation = "0 0 1 89.9544"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "48.5342 203.343 737.435"; + rotation = "1 0 0 0"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "48.4742 275.314 737.435"; + rotation = "1 0 0 0"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "48.5002 131.428 737.424"; + rotation = "1 0 0 0"; + scale = "2.11555 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-40.9257 226.963 754.491"; + rotation = "1 0 0 0"; + scale = "1.3763 0.68631 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-121.008 229.841 742.16"; + rotation = "1 0 0 89.9544"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-120.372 157.402 742.172"; + rotation = "1 0 0 89.9544"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "61.3031 158.09 742.305"; + rotation = "1 0 0 89.9544"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "60.6671 230.128 742.293"; + rotation = "1 0 0 89.9544"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-53.3707 272.49 742.389"; + rotation = "0.573655 -0.578959 0.57942 120.279"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.2714 272.466 742.377"; + rotation = "0.573655 -0.578959 0.57942 120.279"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-52.8277 90.0424 742.402"; + rotation = "0.573655 -0.578959 0.57942 120.279"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.8143 90.0184 742.391"; + rotation = "0.573655 -0.578959 0.57942 120.279"; + scale = "1 0.1 1.24888"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-91.5217 145.269 743.289"; + rotation = "0.565796 -0.571028 0.594812 118.973"; + scale = "1 0.1 1.3817"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-91.5547 217.878 743.323"; + rotation = "0.565796 -0.571028 0.594812 118.973"; + scale = "1 0.1 1.40243"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "59.9325 143.974 742.314"; + rotation = "-0.583214 0.588121 -0.560334 238.038"; + scale = "1 0.1 1.79968"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "59.9027 216.583 742.351"; + rotation = "-0.583214 0.588121 -0.560334 238.038"; + scale = "1 0.1 1.79955"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Objects) { + powerCount = "0"; + + new InteriorInstance() { + position = "20.2741 164.66 744.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.7741 164.673 746.959"; + rotation = "0 1 0 47.5555"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-87.682 210.268 743.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-78.3689 212.673 742.999"; + rotation = "0 0 -1 28.6479"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + }; + new WaterBlock() { + position = "-448 -208 105.428"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "Lava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/icebound_water"; + surfaceOpacity = "0.75"; + envMapTexture = "ice/skies/ice_blue_emap"; + envMapIntensity = "0"; + removeWetEdges = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + extent = "100 100 10"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + textureSize = "32 32"; + floodFill = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; + new AudioEmitter() { + position = "289.762 209.214 173.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "13.226 146.591 205.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/icecrack2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHeaven.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHeaven.mis new file mode 100644 index 00000000..24bbac61 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHeaven.mis @@ -0,0 +1,1425 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Description: A sanctuary home to only the most honorable of fallen warriors, a +//place where those who gave their lives for their beliefs can find peace. +//Not all is well however; two groups which battled against one another now find eachother in heaven. +//Objective: Vanquish the undead from the sanctuary by finishing the job started in flesh. +//--- MISSION QUOTE END --- + + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@planettribes.com +//Website: Download This Map +//--- MISSION STRING END --- + + + +datablock ForceFieldBareData(TransferFieldForceField4) +{ + fadeMS = 1000; + baseTranslucency = 0.7; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "0.1 0.1 0.1"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + +texture[0] = "skins/Enrgtubes0009.png"; + + framesPerSec = 1; + numFrames = 1; + scrollSpeed = 0; + umapping = 0.15; // 1.0 + vmapping = 0.15; +}; + +function TransferFieldForceField4::onAdd(%data, %obj) +{ + if(%obj.velocityMod $= "") + %obj.velocityMod = 1.0; + + if(%obj.gravityMod $= "") + %obj.gravityMod = 0.0; + + if(%obj.appliedForce $= "") + %obj.appliedForce = "0 0 1550"; // 150 + + Parent::onAdd(%data, %obj); + + %group = nameToID("MissionCleanup/PZones"); + if(%group > 0) + { + %pz = -1; + for(%i = 0; %i < %group.getCount(); %i++) + { + %item = %group.getObject(%i); + if(%item.ffield == %obj) + { + %pz = %item; + break; + } + } + + if(%pz != -1) + { + %pz.velocityMod = %obj.velocityMod; + %pz.gravityMod = %obj.gravityMod; + %pz.appliedForce = %obj.appliedForce; + } + } +} +datablock ForceFieldBareData(TransferFieldForceField5) +{ + fadeMS = 1000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "0.0 0.0 7.0"; + powerOffColor = "0.0 0.0 0.0"; + targetTypeTag = 'ForceField'; + +texture[0] = ""; + + framesPerSec = 1; + numFrames = 1; + scrollSpeed = -1; + umapping = 0.15; // 1.0 + vmapping = 0.15; +}; + +function TransferFieldForceField5::onAdd(%data, %obj) +{ + if(%obj.velocityMod $= "") + %obj.velocityMod = 1.0; + + if(%obj.gravityMod $= "") + %obj.gravityMod = 0.0; + + if(%obj.appliedForce $= "") + %obj.appliedForce = "0 0 0"; // 150 + + Parent::onAdd(%data, %obj); + + %group = nameToID("MissionCleanup/PZones"); + if(%group > 0) + { + %pz = -1; + for(%i = 0; %i < %group.getCount(); %i++) + { + %item = %group.getObject(%i); + if(%item.ffield == %obj) + { + %pz = %item; + break; + } + } + + if(%pz != -1) + { + %pz.velocityMod = %obj.velocityMod; + %pz.gravityMod = %obj.gravityMod; + %pz.appliedForce = %obj.appliedForce; + } + } +} + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CnH_timeLimit = "25"; + musicTrack = "lush"; + DM_scoreLimit = "16"; + powerCount = "0"; + cdTrack = "2"; + DM_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "80 100 400 445"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.100000 0.100000 0.500000 1.000000"; + ambient = "0.200000 0.500000 0.800000 1.000000"; + scale = "1 1 1"; + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Equinox.ter"; + squareSize = "8"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Equinox.nav"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(team0) { + powerCount = "0"; + + new InteriorInstance() { + position = "357.144 274.772 3237.97"; + rotation = "0 1 0 89.9544"; + scale = "1.55337 3.68366 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "403.388 363.206 3237.99"; + rotation = "0.706825 0.000563101 0.707388 179.935"; + scale = "1.55337 3.68604 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "331.66 351.776 3249.4"; + rotation = "0.152573 -0.152573 0.976444 91.3657"; + scale = "1 0.628698 0.502813"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "331.774 289 3249.42"; + rotation = "0.152573 -0.152573 0.976444 91.3657"; + scale = "1 0.628698 0.502813"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "403.359 396.402 3237.85"; + rotation = "0.163627 -0.973095 0.16221 91.5018"; + scale = "1.58171 4.87764 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; + new InteriorInstance() { + position = "357.12 241.586 3237.83"; + rotation = "-0.701933 -0.117456 0.702491 193.409"; + scale = "1.58171 4.87764 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "155.661 241.563 3237.65"; + rotation = "-0.701654 -0.118559 0.702585 193.281"; + scale = "1.58171 4.87764 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "155.579 274.762 3237.79"; + rotation = "-0.00159342 0.999997 -0.00159993 89.9549"; + scale = "1.55337 3.68697 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "201.683 363.267 3237.77"; + rotation = "0.706825 0.000563354 0.707388 179.935"; + scale = "1.55337 3.68366 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "201.654 396.453 3237.63"; + rotation = "0.163626 -0.973095 0.16221 91.5017"; + scale = "1.58171 4.87764 2.89432"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "227.03 351.862 3249.42"; + rotation = "0.152335 0.152578 -0.97648 91.4548"; + scale = "1 0.628698 0.502813"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "227.159 288.766 3249.43"; + rotation = "0.152335 0.152578 -0.97648 91.4548"; + scale = "1 0.628698 0.502813"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "279.798 289.247 3259.01"; + rotation = "0 0 1 89.9544"; + scale = "1 0.665324 0.04"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "279.665 351.591 3259"; + rotation = "0 0 1 89.9544"; + scale = "1 0.665324 0.04"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "260.478 320.109 3259.01"; + rotation = "0 0 1 179.909"; + scale = "1 0.531589 0.04"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "298.369 320.312 3259.02"; + rotation = "0 0 1 179.909"; + scale = "1 0.531589 0.04"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "273.704 320.103 3260.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "284.595 320.334 3260.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "279.737 302.623 3260.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "279.736 337.63 3260.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "278.583 319.761 3260.35"; + rotation = "1 0 0 0"; + scale = "0.5 0.1 0.05"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "279.576 320.133 3260.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "285.565 139.932 3239.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "284.721 120.295 3239.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "284.793 160.815 3239.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "284.848 138.62 3236.34"; + rotation = "1 0 0 0"; + scale = "3.19189 2.96535 1"; + interiorFile = "splat1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "281.908 171.589 3262.27"; + rotation = "1 0 0 0"; + scale = "1.30412 0.234117 2.65352"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "328.567 120.966 3227.49"; + rotation = "0 1 0 229.366"; + scale = "1.27677 4.29386 3.61477"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "244.103 120.961 3223.68"; + rotation = "0 1 0 130.634"; + scale = "1.27677 4.29386 3.61477"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "273.957 107.165 3261.24"; + rotation = "1 0 0 179.909"; + scale = "1 1 1.06566"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "263.452 171.573 3243.43"; + rotation = "0 1 0 89.9544"; + scale = "1.30412 0.234117 2.6102"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "295.46 107.238 3261.12"; + rotation = "1 0 0 179.909"; + scale = "1 1 1.06566"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new TSStatic() { + position = "297.769 121.424 3238.05"; + rotation = "1 0 0 0"; + scale = "1 1 5.07445"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "272.295 120.923 3238.21"; + rotation = "1 0 0 0"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "284.959 120.938 3237.87"; + rotation = "1 0 0 0"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "284.961 120.943 3249.05"; + rotation = "1 0 0 0"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "284.977 121.014 3248.05"; + rotation = "0 1 0 89.9544"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "298.915 121.066 3248.02"; + rotation = "0 1 0 89.9544"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "298.688 156.542 3247.9"; + rotation = "0 1 0 89.9544"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "284.73 156.466 3237.74"; + rotation = "1 0 0 0"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "284.732 156.471 3248.93"; + rotation = "1 0 0 0"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "284.748 156.542 3247.93"; + rotation = "0 1 0 89.9544"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "272.072 156.449 3238.09"; + rotation = "1 0 0 0"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new TSStatic() { + position = "297.578 156.651 3237.93"; + rotation = "1 0 0 0"; + scale = "1 1 5.07445"; + shapeName = "stackable2l.dts"; + team = "1"; + }; + new ForceFieldBare() { + position = "285.514 155.944 3238.18"; + rotation = "1 0 0 0"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "1"; + appliedForce = "0 0 0"; + Target = "33"; + }; + new ForceFieldBare() { + position = "272.342 155.909 3238.21"; + rotation = "1 0 0 0"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "1"; + appliedForce = "0 0 0"; + Target = "34"; + }; + new ForceFieldBare() { + position = "272.526 120.221 3238.3"; + rotation = "1 0 0 0"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "1"; + appliedForce = "0 0 0"; + Target = "35"; + }; + new ForceFieldBare() { + position = "285.5 120.355 3238.3"; + rotation = "1 0 0 0"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "1"; + appliedForce = "0 0 0"; + Target = "36"; + }; + new StaticShape() { + position = "278.528 150.079 3238.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "I am a jedi"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + Trigger = "3775"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "291.308 149.901 3238.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "trees grow outta buildings"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + Trigger = "3777"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "278.625 126.791 3238.3"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "I was a good"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + Trigger = "3779"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "291.406 126.761 3238.34"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "40"; + Trigger = "3781"; + inUse = "Down"; + notReady = "1"; + }; + new TSStatic() { + position = "284.581 138.566 3238.12"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + shapeName = "borg16.dts"; + team = "1"; + }; + new InteriorInstance() { + position = "299.351 138.332 3241.05"; + rotation = "1 0 0 0"; + scale = "0.2 0.05 0.2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "269.924 138.538 3241.43"; + rotation = "1 0 0 0"; + scale = "0.2 0.05 0.2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "299.784 138.498 3240.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + team = "1"; + }; + new ParticleEmissionDummy() { + position = "270.388 138.713 3240.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + team = "1"; + }; + new StaticShape() { + position = "162.071 378.355 2309.52"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "276.604 504.364 3237.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "275.81 478.966 3237.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "276.421 525.251 3239.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "276.075 504.421 3234.49"; + rotation = "0 0 1 178.19"; + scale = "3.19189 2.96535 1"; + interiorFile = "splat1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "280.055 471.561 3260.43"; + rotation = "0 0 1 178.19"; + scale = "1.30412 0.234117 2.65352"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "231.821 520.686 3225.62"; + rotation = "0.90854 0.0143529 -0.417551 180.756"; + scale = "1.27677 4.29386 3.61477"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "316.243 523.358 3221.84"; + rotation = "0.908541 0.0143533 0.417549 179.244"; + scale = "1.27677 4.29386 3.61477"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "285.968 536.205 3259.4"; + rotation = "-0.0157955 0.999875 -0.000794029 180.001"; + scale = "1 1 1.06566"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "298.508 471.961 3241.55"; + rotation = "0.706781 0.0111654 0.707344 178.72"; + scale = "1.30412 0.234117 2.6102"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "264.477 535.453 3259.27"; + rotation = "-0.0157955 0.999875 -0.000794029 180.001"; + scale = "1 1 1.06566"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "262.618 521.201 3236.24"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.07445"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "288.064 522.506 3236.37"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "275.406 522.09 3236.02"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "275.405 522.086 3247.21"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "275.391 522.015 3246.18"; + rotation = "0.706781 0.0111654 0.707344 178.72"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "261.461 521.522 3246.18"; + rotation = "0.706781 0.0111654 0.707344 178.72"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "262.809 486.071 3246.05"; + rotation = "0.706781 0.0111654 0.707344 178.72"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "276.757 486.588 3235.9"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "276.756 486.583 3247.09"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "276.742 486.511 3246.05"; + rotation = "0.706781 0.0111654 0.707344 178.72"; + scale = "1 1 6.9769"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "289.409 487.005 3236.24"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.66228"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new TSStatic() { + position = "263.922 485.997 3236.12"; + rotation = "0 0 1 178.19"; + scale = "1 1 5.07445"; + shapeName = "stackable2l.dts"; + team = "2"; + }; + new ForceFieldBare() { + position = "275.957 487.085 3236.34"; + rotation = "0 0 1 178.19"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "2"; + appliedForce = "0 0 0"; + Target = "42"; + }; + new ForceFieldBare() { + position = "289.122 487.536 3236.37"; + rotation = "0 0 1 178.19"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "2"; + appliedForce = "0 0 0"; + Target = "43"; + }; + new ForceFieldBare() { + position = "287.81 523.2 3236.43"; + rotation = "0 0 1 178.19"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "2"; + appliedForce = "0 0 0"; + Target = "44"; + }; + new ForceFieldBare() { + position = "274.847 522.657 3236.46"; + rotation = "0 0 1 178.19"; + scale = "11.3161 1 8.83907"; + dataBlock = "TransferFieldForceField5"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + team = "2"; + appliedForce = "0 0 0"; + Target = "45"; + }; + new StaticShape() { + position = "282.754 493.168 3236.49"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + nameTag = "ono bow down"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + Trigger = "3823"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "269.975 492.942 3236.46"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + Trigger = "3825"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "281.922 516.441 3236.43"; + rotation = "-0 0 -1 2.47403"; + scale = "1 1 1"; + nameTag = "http://www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + Trigger = "3827"; + }; + new StaticShape() { + position = "269.146 516.067 3236.49"; + rotation = "-0 0 -1 2.47403"; + scale = "1 1 1"; + nameTag = "I AM THE GOD"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "49"; + Trigger = "3829"; + }; + new TSStatic() { + position = "276.341 504.484 3236.27"; + rotation = "0 0 1 178.19"; + scale = "0.5 0.5 0.5"; + shapeName = "borg16.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "261.571 504.25 3239.21"; + rotation = "0 0 1 178.19"; + scale = "0.2 0.05 0.2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "290.989 504.974 3239.55"; + rotation = "0 0 1 178.19"; + scale = "0.2 0.05 0.2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "261.143 504.071 3238.49"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + team = "2"; + }; + new ParticleEmissionDummy() { + position = "290.531 504.785 3238.99"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + team = "2"; + }; + new StaticShape() { + position = "406.395 284.113 2309.52"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "50"; + }; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "315.117 320.709 3439.37"; + rotation = "0.56779 0.57304 -0.590964 119.298"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "278.483 211.52 3240.44"; + rotation = "1 0 0 5.15661"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "163.765 393.553 3315.59"; + rotation = "0.208382 -0.371842 0.904605 126.235"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "182.608 343.063 3229.04"; + rotation = "0 0 1 100.268"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.300000 0.000000"; + fogDistance = "750"; + fogColor = "100.000000 100.000000 100.000000 1.000000"; + fogVolume1 = "100 900 3220"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 20158246693591425400000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new WaterBlock() { + position = "96 -144 502.431"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "Lava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Shore_Modulation"; + surfaceOpacity = "0.75"; + envMapTexture = "badlands/skies/bd_day_cloud_emap"; + envMapIntensity = "1"; + submergeTexture[0] = "special/lavadeath_1"; + removeWetEdges = "0"; + params0 = "0.32 -0.67 0.066 0.5"; + extent = "100 100 10"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params2 = "0.39 0.39 0.2 0.133"; + floodFill = "1"; + params1 = "0.63 -2.41 0.33 0.21"; + params3 = "1.21 -0.61 0.13 -0.33"; + }; + new AudioEmitter() { + position = "163.869 393.724 3315.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yetihowl_1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "0"; + minDistance = "2"; + maxDistance = "1000"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new SimGroup(ffs) { + powerCount = "1"; + + new StaticShape() { + position = "157.899 402.03 2309.52"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "51"; + }; + new ForceFieldBare() { + position = "127.999 169.287 3219.12"; + rotation = "1 0 0 0"; + scale = "300 300 0.698151"; + dataBlock = "TransferFieldForceField4"; + lockCount = "0"; + homingCount = "0"; + velocityMod = "1"; + gravityMod = "0"; + appliedForce = "0 0 1550"; + Target = "52"; + }; + }; + new SimGroup(Trees) { + powerCount = "0"; + + new TSStatic() { + position = "248.208 219.91 3218.25"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "247.122 268.558 3218.4"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "313.536 319.921 3218.16"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "312.721 430.81 3218.23"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "245.377 321.227 3218.26"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "244.562 432.116 3218.33"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "244.291 379.275 3218.41"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "316.367 218.604 3218.15"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "315.281 267.252 3218.3"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "312.45 377.969 3218.31"; + rotation = "1 0 0 0"; + scale = "8 8 8"; + shapeName = "sorg23.dts"; + }; + new InteriorInstance() { + position = "363.987 327.261 3219.33"; + rotation = "1 0 0 0"; + scale = "0.1 2.13753 2.33206"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "363.998 310.448 3219.34"; + rotation = "1 0 0 0"; + scale = "0.1 2.06952 2.33356"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "363.934 368.924 3219.34"; + rotation = "1 0 0 0"; + scale = "0.1 2.13753 2.33206"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "363.939 353.275 3219.35"; + rotation = "1 0 0 0"; + scale = "0.1 2.06952 2.33356"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "364.201 285.501 3219.28"; + rotation = "1 0 0 0"; + scale = "0.1 2.13753 2.33206"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "364.212 268.688 3219.29"; + rotation = "1 0 0 0"; + scale = "0.1 2.06952 2.33356"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "195.052 367.936 3219.16"; + rotation = "1 0 0 0"; + scale = "0.1 2.13753 2.33206"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "195.052 352.841 3219.17"; + rotation = "1 0 0 0"; + scale = "0.1 2.06952 2.33356"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "194.946 327.915 3218.85"; + rotation = "1 0 0 0"; + scale = "0.1 2.13753 2.33206"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "194.957 311.102 3218.86"; + rotation = "1 0 0 0"; + scale = "0.1 2.06952 2.33356"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "195.16 286.155 3218.8"; + rotation = "1 0 0 0"; + scale = "0.1 2.13753 2.33206"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "195.171 269.342 3218.81"; + rotation = "1 0 0 0"; + scale = "0.1 2.06952 2.33356"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; + new TSStatic() { + position = "277.585 320.1 3217.7"; + rotation = "1 0 0 0"; + scale = "1 1 1.9263"; + shapeName = "xorg5.dts"; + }; + new SimGroup() { + powerCount = "0"; + }; + new TSStatic() { + position = "279.855 351.17 3260.02"; + rotation = "1 0 0 0"; + scale = "1 1 7.56738"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "259.479 320.445 3259.97"; + rotation = "1 0 0 0"; + scale = "1 1 7.56738"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "297.658 319.982 3260.27"; + rotation = "1 0 0 0"; + scale = "1 1 7.56738"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "280.407 289.613 3260.23"; + rotation = "1 0 0 0"; + scale = "1 1 7.56738"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup() { + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- + +//-------------------------------------------------------------------------- +// Custom force fields +// Tim 'Zear' Hammock +//-------------------------------------------------------------------------- + diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHell.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHell.mis new file mode 100644 index 00000000..f94bdf50 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHell.mis @@ -0,0 +1,1439 @@ +// DisplayName = [Original]ArenaHell +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//A new breed of warrior is born!"; +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//www.tribesarena.com +//Download This Map +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "4"; + + new MissionArea(MissionArea) { + area = "-1440 -392 352 512"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 1.000000"; + fogDistance = "0"; + fogColor = "0.600000 0.600000 0.560000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Nef_TR2_Red.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.94105e-41 6.95941e-41"; + high_fogVolume2 = "-1 2.01181 6.95955e-41"; + high_fogVolume3 = "-1 6.94147e-41 6.95941e-41"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.800000 0.800000 0.800000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DesertofDeath_nef.ter"; + squareSize = "8"; + emptySquares = "80766 212092 212348 212604 117090 248417"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + GraphFile = "DesertofDeath_nef.nav"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-1255.63 -148.896 259.277"; + rotation = "1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-1254.68 -314.108 147.656"; + rotation = "1 0 0 26.3561"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-1109.48 -142.666 98.475"; + rotation = "0 0 -1 42.9718"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-1256.41 -190.739 79.5758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-1188.89 -226.067 197.704"; + rotation = "0.729555 0.237725 -0.641277 53.8726"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-1256 19.8275 128.098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-1232.66 36.8285 128.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-1277.76 36.051 128.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-1255.7 65.4527 128.041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(base0) { + + powerCount = "2"; + + new StaticShape() { + position = "-1278.71 35.8732 127.583"; + rotation = "-0.0748787 -0.10244 -0.991917 103.764"; + scale = "1 1 1"; + nameTag = "I AM THE SHAZBOT"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27523"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "33"; + }; + new Trigger() { + position = "-1278.52 35.9273 125.337"; + rotation = "-0.0265485 -0.0349806 -0.999035 105.66"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "5740"; + station = "5740"; + team = "1"; + mainObj = "5740"; + }; + new StaticShape() { + position = "-1270.89 22.4636 127.628"; + rotation = "0.0334507 0.0948039 0.994934 218.687"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + Trigger = "27526"; + team = "1"; + damageTimeMS = "6020058"; + inUse = "Down"; + lastDamagedBy = "5675"; + notReady = "1"; + Target = "34"; + }; + new Trigger() { + position = "-1270.75 22.6321 125.333"; + rotation = "0.00881971 0.0249962 0.999649 218.857"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "5742"; + station = "5742"; + team = "1"; + mainObj = "5742"; + }; + new StaticShape() { + position = "-1230.85 34.2231 127.533"; + rotation = "-0.0771211 0.104495 0.991531 107.608"; + scale = "1 1 1"; + nameTag = "if you snipe, i shall kill u"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27529"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "35"; + }; + new Trigger() { + position = "-1231.07 34.2921 125.234"; + rotation = "-0.0221321 0.0299881 0.999305 107.181"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "5744"; + station = "5744"; + team = "1"; + mainObj = "5744"; + }; + new StaticShape() { + position = "-1238.9 21.6858 127.65"; + rotation = "-0.0342644 0.0997747 0.99442 142.29"; + scale = "1 1 1"; + nameTag = "AYWYIII"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27532"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "36"; + }; + new Trigger() { + position = "-1254.35 16.0865 127.716"; + rotation = "-7.15437e-05 0.0898791 0.995953 179.909"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "11945"; + station = "11945"; + team = "1"; + mainObj = "11945"; + }; + new Trigger() { + position = "-1238.92 21.7101 127.705"; + rotation = "-0.0308512 0.0898357 0.995479 142.253"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "11943"; + station = "11943"; + team = "1"; + mainObj = "11943"; + }; + new Trigger() { + position = "-1230.85 34.2231 127.572"; + rotation = "-0.077121 0.104495 0.991531 107.608"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "11941"; + station = "11941"; + team = "1"; + mainObj = "11941"; + }; + new Trigger() { + position = "-1270.88 22.4756 127.693"; + rotation = "0.0316968 0.0898332 0.995452 218.706"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "11939"; + station = "11939"; + team = "1"; + mainObj = "11939"; + }; + new Trigger() { + position = "-1278.7 35.8767 127.643"; + rotation = "-0.0718059 -0.0946118 -0.992921 105.998"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "11937"; + station = "11937"; + team = "1"; + mainObj = "11937"; + }; + new InteriorInstance() { + position = "-1254.8 42.5463 74.0587"; + rotation = "0.000797317 0.000797377 0.999999 180"; + scale = "0.420654 0.411502 0.421995"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-1247.48 34.1973 105.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-1254.09 39.9409 123.186"; + rotation = "0 0 1 180.09"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "1"; + damageTimeMS = "6164280"; + lastDamagedBy = "5675"; + Target = "37"; + }; + new Trigger() { + position = "-1254.36 15.8299 125.37"; + rotation = "-2.78884e-05 0.0349931 0.999388 179.909"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "5748"; + station = "5748"; + team = "1"; + mainObj = "5748"; + }; + new StaticShape() { + position = "-1254.35 16.0711 127.656"; + rotation = "-7.54813e-05 0.0948578 0.995491 179.909"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27543"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "38"; + }; + new Trigger() { + position = "-1239.03 21.8576 125.34"; + rotation = "-0.0103004 0.0299939 0.999497 142.111"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "5746"; + station = "5746"; + team = "1"; + mainObj = "5746"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-1255.28 -294.439 134.72"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-1276.15 -311.656 134.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-1231.11 -316.848 134.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-1252.86 -341.867 134.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(base0) { + + powerCount = "2"; + + new StaticShape() { + position = "-1230.55 -311.807 134.189"; + rotation = "-0.117411 0.089257 0.989064 75.0924"; + scale = "1 1 1"; + nameTag = "NO"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27553"; + team = "2"; + Target = "39"; + }; + new StaticShape() { + position = "-1238.31 -298.365 134.278"; + rotation = "-0.271616 0.0960803 0.957598 40.5483"; + scale = "1 1 1"; + nameTag = "do you see what i see"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + Trigger = "27555"; + team = "2"; + damageTimeMS = "6020058"; + lastDamagedBy = "5675"; + Target = "40"; + }; + new StaticShape() { + position = "-1278.39 -310.068 134.197"; + rotation = "-0.147366 -0.10858 -0.983104 73.7007"; + scale = "1 1 1"; + nameTag = "vav biyatch"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27557"; + team = "2"; + Target = "41"; + }; + new StaticShape() { + position = "-1270.31 -297.549 134.275"; + rotation = "-0.279818 -0.0958454 -0.955257 39.4527"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27559"; + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "-1254.85 -291.943 134.306"; + rotation = "-1 1.03162e-06 1.73974e-05 11.4592"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "27561"; + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "-1255.15 -315.828 129.809"; + rotation = "0 0 1 0.181308"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + team = "2"; + damageTimeMS = "6164280"; + lastDamagedBy = "5675"; + Target = "44"; + }; + new InteriorInstance() { + position = "-1261.75 -310.073 112.57"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-1254.45 -318.434 80.6815"; + rotation = "-0.576905 0.57778 0.577366 0.158259"; + scale = "0.420654 0.411502 0.421995"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "-1273.44 -133.032 170.794"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1281.55 -132.944 170.583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1248.69 -125.096 87.3164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1233.53 -132.677 170.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1257.72 -133.146 170.702"; + rotation = "0 0 1 87.6625"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1249.72 -133.021 170.609"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1266.16 -133.093 170.486"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1257.39 -119.979 170.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1257.33 -146.618 170.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1240.67 -132.721 170.894"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1262.43 -124.943 87.3232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1396.85 -204.124 90.1923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1394.77 -204.075 90.1716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1392.49 -204.134 90.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1390.65 -204.138 90.2102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1388.11 -204.222 90.0648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1386.71 -204.238 90.0106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1384.25 -204.328 90.1793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1384.25 -203.493 90.1789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1384.26 -205.182 90.1931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1117.5 -12.956 74.0034"; + rotation = "0 0 1 46.4095"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1116.03 -14.4289 73.9827"; + rotation = "0 0 1 46.4095"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1114.5 -16.1208 74.0332"; + rotation = "0 0 1 46.4095"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1113.23 -17.4564 74.0213"; + rotation = "0 0 1 46.4095"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1111.54 -19.3537 73.8759"; + rotation = "0 0 1 46.4095"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1110.59 -20.3788 73.8217"; + rotation = "0 0 1 46.4095"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1099.79 -26.7786 65.6206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1099.96 -29.856 64.8327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1099.87 -28.3124 65.2539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1255.82 -131.851 104.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-1261.95 -124.819 44.5768"; + rotation = "1 0 0 180.482"; + scale = "0.6 0.6 0.6"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "-1248.23 -132.266 72.1701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1262.57 -132.361 72.2054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1262.5 -132.165 87.3322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1255.3 -139.346 87.3402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1248.72 -132.324 87.3492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1255.92 -125.074 87.3508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1262.47 -139.446 87.3108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1248.71 -139.351 87.3346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(ARENAOFPOWA) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-1299.49 -137.419 90.5667"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1261.6 -139.422 90.9559"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1255.38 -132.943 90.7175"; + rotation = "1 0 0 0"; + scale = "1 0.172496 0.219087"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1426.4 -309.188 79.9893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1325.45 -390.198 89.5342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1411.5 -204.675 83.7634"; + rotation = "1 0 0 0"; + scale = "1 1 1.29186"; + interiorFile = "ruin2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1131.03 -18.411 75.9584"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "ruin3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1180.17 -386.948 125.123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1089.94 -254.248 79.2362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1096.58 -108.911 81.7627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1130.14 32.4429 82.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1188.67 100.9 123.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1354.27 103.835 81.9109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1406.05 -27.0052 82.9878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1430.3 -124.698 80.8276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + isSuperAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + guid = "0"; + name = "\x10\c8FlyingElmo\x11"; + packetLoss = "0"; + isSmurf = "1"; + clientId = "20362"; + isListening = "0"; + targetId = "32"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + isAdmin = "1"; + score = "0"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + isSuperAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + guid = "0"; + name = "\x10\c8FlyingElmo\x11"; + packetLoss = "0"; + isSmurf = "1"; + clientId = "20362"; + isListening = "0"; + targetId = "32"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + isAdmin = "1"; + score = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + isSuperAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + guid = "0"; + name = "\x10\c8FlyingElmo\x11"; + packetLoss = "0"; + isSmurf = "1"; + clientId = "20362"; + isListening = "0"; + targetId = "32"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + isAdmin = "1"; + score = "0"; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + isSuperAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + guid = "0"; + name = "\x10\c8FlyingElmo\x11"; + packetLoss = "0"; + isSmurf = "1"; + clientId = "20362"; + isListening = "0"; + targetId = "32"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + isAdmin = "1"; + score = "0"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + isSuperAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + guid = "0"; + name = "\x10\c8FlyingElmo\x11"; + packetLoss = "0"; + isSmurf = "1"; + clientId = "20362"; + isListening = "0"; + targetId = "32"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + isAdmin = "1"; + score = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHell2.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHell2.mis new file mode 100644 index 00000000..a2aa0138 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaHell2.mis @@ -0,0 +1,1884 @@ +// DisplayName = _ArenaHell II +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//Warriors who lived disgraceful lives are now locked in an eternal struggle, in the darkest reaches of Hell. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_timeLimit = "30"; + CTF_scoreLimit = "6"; + powerCount = "0"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-928 704 336 544"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Lightning() { + position = "-746.666 972.417 206.097"; + rotation = "1 0 0 0"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "8"; + strikeWidth = "2.5"; + chanceToHitTarget = "0"; + strikeRadius = "1"; + boltStartRadius = "20"; + color = "1.000000 0.000000 0.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Magmatic.ter"; + squareSize = "8"; + emptySquares = "231229 231358 231485 231614 231741 231870 232509 232638 232765 232894 233021 233150 303052 303308 303564 107212"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "Magmatic.nav"; + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.388200 0.000000 0.011800 0.000000"; + fogDistance = "50"; + fogColor = "0.200000 0.000000 0.000000 1.000000"; + fogVolume1 = "1 0 173"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0.533767 0.614598"; + high_fogVolume2 = "-1 0.634901 0.469548"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.0569611 0.0578655 -0.996698"; + color = "0.700000 0.000000 0.000000 1.000000"; + ambient = "0.000000 0.000000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new WaterBlock() { + position = "-448 1000 79.1342"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "Lava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "emap"; + envMapIntensity = "0"; + removeWetEdges = "0"; + + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + params2 = "0.39 0.39 0.2 0.133"; + params1 = "0.63 -2.41 0.33 0.21"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-677.363 1142.26 174.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos1 = "-707.363 1102.26 181.753"; + spawnPos20 = "-677.363 1122.26 182.121"; + spawnPos39 = "-667.363 1152.26 181.596"; + spawnPos5 = "-667.363 1102.26 181.906"; + spawnPos24 = "-717.363 1132.26 182.154"; + spawnPos43 = "-707.363 1162.26 181.751"; + spawnPosCount = "57"; + spawnPos9 = "-707.363 1112.26 181.77"; + spawnPos28 = "-697.363 1142.26 181.619"; + spawnPos47 = "-667.363 1162.26 181.571"; + spawnPos13 = "-667.363 1112.26 182.373"; + spawnPos32 = "-657.363 1142.26 181.557"; + spawnPos51 = "-707.363 1172.26 180.975"; + spawnPos17 = "-707.363 1122.26 181.638"; + spawnPos36 = "-697.363 1152.26 181.697"; + spawnPos55 = "-667.363 1172.26 182.076"; + spawnPos2 = "-697.363 1102.26 181.773"; + spawnPos21 = "-667.363 1122.26 182.359"; + spawnPos40 = "-657.363 1152.26 181.544"; + spawnPos6 = "-657.363 1102.26 181.835"; + spawnPos25 = "-707.363 1132.26 181.793"; + spawnPos44 = "-697.363 1162.26 181.698"; + spawnPos10 = "-697.363 1112.26 181.81"; + spawnPos29 = "-687.363 1142.26 181.517"; + spawnPos48 = "-657.363 1162.26 181.636"; + spawnPos14 = "-657.363 1112.26 182.278"; + spawnPos33 = "-647.363 1142.26 181.524"; + spawnPos52 = "-697.363 1172.26 181.979"; + spawnPos18 = "-697.363 1122.26 181.585"; + spawnPos37 = "-687.363 1152.26 181.597"; + spawnPos56 = "-657.363 1172.26 182.046"; + spawnPos3 = "-687.363 1102.26 181.786"; + spawnPos22 = "-657.363 1122.26 182.125"; + spawnPos41 = "-647.363 1152.26 181.574"; + spawnPos7 = "-647.363 1102.26 182.097"; + spawnPos26 = "-717.363 1142.26 182.255"; + spawnPos45 = "-687.363 1162.26 181.601"; + spawnPos11 = "-687.363 1112.26 181.644"; + spawnPos30 = "-677.363 1142.26 181.642"; + spawnPos49 = "-647.363 1162.26 181.677"; + spawnPos15 = "-647.363 1112.26 181.96"; + spawnPos34 = "-717.363 1152.26 182.214"; + spawnPos53 = "-687.363 1172.26 182.002"; + spawnPos0 = "-717.363 1102.26 181.768"; + spawnPos19 = "-687.363 1122.26 181.779"; + spawnPos38 = "-677.363 1152.26 181.587"; + spawnPos57 = "-647.363 1172.26 181.816"; + spawnPos4 = "-677.363 1102.26 181.845"; + spawnPos23 = "-647.363 1122.26 181.31"; + spawnPos42 = "-717.363 1162.26 182.164"; + spawnPos8 = "-717.363 1112.26 182.052"; + spawnPos27 = "-707.363 1142.26 181.779"; + spawnPos46 = "-677.363 1162.26 181.679"; + spawnPos12 = "-677.363 1112.26 182.254"; + spawnPos31 = "-667.363 1142.26 181.579"; + spawnPos50 = "-717.363 1172.26 181.212"; + spawnPos16 = "-717.363 1122.26 182.219"; + spawnPos35 = "-707.363 1152.26 181.689"; + spawnPos54 = "-677.363 1172.26 182.051"; + }; + }; + new SimGroup(base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-647.881 1132.2 181.461"; + rotation = "1 0 0 0"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-661.965 1132.18 181.461"; + rotation = "1 0 0 0"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-676.21 1132.14 181.461"; + rotation = "1 0 0 0"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-690.939 1132.11 181.461"; + rotation = "1 0 0 0"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-648.043 1132.24 182.958"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5504"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-662.053 1132.03 182.905"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5506"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-676.232 1131.79 182.926"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5508"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-690.932 1131.81 182.901"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5510"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "-672.26 1166.76 181.466"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "37"; + }; + }; + }; + new SimGroup(team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-855.135 767.666 171.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos1 = "-885.135 727.666 172.817"; + spawnPos20 = "-855.135 747.666 177.306"; + spawnPos39 = "-855.135 777.666 181.581"; + spawnPos58 = "-825.135 797.666 181.772"; + spawnPos5 = "-845.135 727.666 151.757"; + spawnPos24 = "-895.135 757.666 181.623"; + spawnPos43 = "-895.135 787.666 180.761"; + spawnPosCount = "58"; + spawnPos9 = "-885.135 737.666 178.778"; + spawnPos28 = "-855.135 757.666 181.124"; + spawnPos47 = "-855.135 787.666 181.454"; + spawnPos13 = "-845.135 737.666 164.978"; + spawnPos32 = "-895.135 767.666 181.672"; + spawnPos51 = "-895.135 797.666 180.64"; + spawnPos17 = "-885.135 747.666 181.792"; + spawnPos36 = "-885.135 777.666 181.427"; + spawnPos55 = "-855.135 797.666 181.386"; + spawnPos2 = "-875.135 727.666 169.027"; + spawnPos21 = "-845.135 747.666 174.629"; + spawnPos40 = "-845.135 777.666 181.654"; + spawnPos6 = "-835.135 727.666 147.607"; + spawnPos25 = "-885.135 757.666 181.784"; + spawnPos44 = "-885.135 787.666 180.676"; + spawnPos10 = "-875.135 737.666 176.079"; + spawnPos29 = "-845.135 757.666 180.334"; + spawnPos48 = "-845.135 787.666 181.602"; + spawnPos14 = "-835.135 737.666 161.318"; + spawnPos33 = "-885.135 767.666 181.811"; + spawnPos52 = "-885.135 797.666 180.772"; + spawnPos18 = "-875.135 747.666 180.099"; + spawnPos37 = "-875.135 777.666 181.368"; + spawnPos56 = "-845.135 797.666 181.589"; + spawnPos3 = "-865.135 727.666 162.833"; + spawnPos22 = "-835.135 747.666 171.735"; + spawnPos41 = "-835.135 777.666 181.725"; + spawnPos7 = "-825.135 727.666 144.024"; + spawnPos26 = "-875.135 757.666 181.819"; + spawnPos45 = "-875.135 787.666 180.614"; + spawnPos11 = "-865.135 737.666 172.225"; + spawnPos30 = "-835.135 757.666 178.501"; + spawnPos49 = "-835.135 787.666 181.661"; + spawnPos15 = "-825.135 737.666 158.209"; + spawnPos34 = "-825.135 767.666 181.454"; + spawnPos53 = "-875.135 797.666 180.622"; + spawnPos0 = "-895.135 727.666 176.074"; + spawnPos19 = "-865.135 747.666 178.779"; + spawnPos38 = "-865.135 777.666 181.434"; + spawnPos57 = "-835.135 797.666 181.688"; + spawnPos4 = "-855.135 727.666 156.929"; + spawnPos23 = "-825.135 747.666 168.749"; + spawnPos42 = "-825.135 777.666 181.77"; + spawnPos8 = "-895.135 737.666 180.705"; + spawnPos27 = "-865.135 757.666 181.361"; + spawnPos46 = "-865.135 787.666 180.843"; + spawnPos12 = "-855.135 737.666 168.808"; + spawnPos31 = "-825.135 757.666 176.675"; + spawnPos50 = "-825.135 787.666 181.78"; + spawnPos16 = "-895.135 747.666 181.655"; + spawnPos35 = "-895.135 777.666 181.51"; + spawnPos54 = "-865.135 797.666 180.874"; + }; + }; + new SimGroup(base0) { + + powerCount = "1"; + + new Trigger() { + position = "-875.483 769.311 182.875"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + mainObj = "32564"; + station = "32564"; + team = "2"; + disableObj = "32564"; + }; + new StaticShape() { + position = "-832.595 769.81 182.818"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5518"; + team = "2"; + Target = "38"; + }; + new Trigger() { + position = "-875.483 769.311 182.875"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + mainObj = "32473"; + station = "32473"; + team = "2"; + disableObj = "32473"; + }; + new StaticShape() { + position = "-847.295 769.807 182.843"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5521"; + team = "2"; + Target = "39"; + }; + new Trigger() { + position = "-875.483 769.311 182.875"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + mainObj = "32357"; + station = "32357"; + team = "2"; + disableObj = "32357"; + }; + new StaticShape() { + position = "-861.474 769.544 182.822"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5524"; + team = "2"; + Target = "40"; + }; + new StaticShape() { + position = "-875.483 769.311 182.875"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5526"; + team = "2"; + Target = "41"; + }; + new InteriorInstance() { + position = "-832.587 769.51 181.378"; + rotation = "0 0 1 179.909"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-847.316 769.456 181.378"; + rotation = "0 0 1 179.909"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-861.561 769.394 181.378"; + rotation = "0 0 1 179.909"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-875.645 769.351 181.378"; + rotation = "0 0 1 179.909"; + scale = "1.77144 1.39997 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-876.383 753.966 181.645"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "42"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "-760.349 946.171 181.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-760.362 947.56 181.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-760.344 944.84 181.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-761.837 946.148 181.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-758.91 946.21 181.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-867.304 944.909 181.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-867.189 945.788 181.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-867.176 946.63 181.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-653.464 946.102 181.011"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-653.435 946.874 181.027"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-653.486 945.349 181.021"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-825.17 798.326 218.43"; + rotation = "1 0 0 0"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-827.828 798.308 215.385"; + rotation = "0 1 0 89.9544"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-825.059 799.893 214.623"; + rotation = "-0.963248 -0.183097 0.196541 101.802"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-746.828 800.469 210.873"; + rotation = "0.97381 0.124455 0.190274 83.7328"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-749.69 799.336 211.586"; + rotation = "0 1 0 89.9544"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-747.032 799.354 214.631"; + rotation = "1 0 0 0"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-810.655 781.736 211.477"; + rotation = "-0.17166 0.97011 0.171524 91.693"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-807.997 780.709 214.344"; + rotation = "-1 0 -0 20.0535"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-807.785 782.927 211.651"; + rotation = "0.923765 0.196893 0.328468 65.9589"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-718.596 786.609 207.934"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-773.378 795.858 207.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-646.5 794.855 207.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-680.877 1103.69 210.533"; + rotation = "-0.184833 0.743566 0.64261 193.452"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-678.302 1105.58 211.295"; + rotation = "0.706275 0.0394486 0.706837 175.478"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-680.941 1105.26 214.34"; + rotation = "0 0 1 173.606"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-728.818 1121.62 213.501"; + rotation = "0.0138177 0.24738 0.96882 173.805"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-726.179 1120.44 210.676"; + rotation = "0.700088 0.214939 0.680939 195.676"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-846.273 1109.01 214.689"; + rotation = "0 0 1 173.606"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-843.634 1109.33 211.644"; + rotation = "0.706275 0.0394486 0.706837 175.478"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-846.418 1107.84 211.744"; + rotation = "-0.764216 0.432502 -0.478451 99.5771"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-856.676 1119.85 207.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-776.126 1108.6 207.084"; + rotation = "1 0 0 23.4912"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-689.095 1127.07 207.502"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-724.435 1011.01 187.566"; + rotation = "-0.0121885 -0.218213 0.975825 173.76"; + scale = "0.189966 0.1 0.772255"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-721.796 1012.59 184.947"; + rotation = "0.693071 -0.117869 0.711168 157.801"; + scale = "0.204036 0.1 0.376836"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "-604.816 941.058 181.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-604.811 939.068 181.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-914.91 943.24 181.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-914.915 945.23 181.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new SimSet(TrackerTeam_1) { + + team = "0"; + + new ScriptObject() { + + className = "PlayerRep"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + name = "\x10\c8FlyingElmo\x11"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + targetId = "32"; + guid = "0"; + packetLoss = "0"; + clientId = "14561"; + isListening = "0"; + isSmurf = "1"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimSet(TrackerTeam_2) { + + team = "0"; + + new ScriptObject() { + + className = "PlayerRep"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + name = "\x10\c8FlyingElmo\x11"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + targetId = "32"; + guid = "0"; + packetLoss = "0"; + clientId = "14561"; + isListening = "0"; + isSmurf = "1"; + }; + }; + new SimSet(TrackerTeam_0) { + + team = "0"; + + new ScriptObject() { + + className = "PlayerRep"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + name = "\x10\c8FlyingElmo\x11"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + targetId = "32"; + guid = "0"; + packetLoss = "0"; + clientId = "14561"; + isListening = "0"; + isSmurf = "1"; + }; + }; + }; + }; + new SimGroup(thisisarenaHEL) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-619.49 783.976 183.564"; + rotation = "0.576893 0.577353 0.577805 239.921"; + scale = "0.733815 1 0.852686"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-704.654 783.827 195.642"; + rotation = "0.576279 0.577654 -0.578117 119.974"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-897.045 893.023 187.703"; + rotation = "0.000560656 -0.706543 0.70767 180"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-897.133 984.965 175.625"; + rotation = "2.80499e-07 0.707108 0.707105 179.936"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-896.995 833.062 175.747"; + rotation = "2.80499e-07 0.707108 0.707105 179.936"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-896.907 741.12 187.825"; + rotation = "0.000560656 -0.706543 0.70767 180"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-897.255 1136.88 175.501"; + rotation = "2.80499e-07 0.707108 0.707105 179.936"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-897.167 1044.94 187.579"; + rotation = "0.000560656 -0.706543 0.70767 180"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-615.163 1045 187.529"; + rotation = "0.000560656 -0.706543 0.70767 180"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-615.251 1136.94 175.451"; + rotation = "2.80499e-07 0.707108 0.707105 179.936"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.903 741.182 187.775"; + rotation = "0.000560656 -0.706543 0.70767 180"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.991 833.124 175.697"; + rotation = "2.80499e-07 0.707108 0.707105 179.936"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-615.129 985.027 175.575"; + rotation = "2.80499e-07 0.707108 0.707105 179.936"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-615.041 893.085 187.653"; + rotation = "0.000560656 -0.706543 0.70767 180"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-901.502 1111.23 195.413"; + rotation = "0.576279 0.577654 -0.578117 119.974"; + scale = "0.733815 1 0.877035"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-815.216 1111.39 183.344"; + rotation = "0.576893 0.577353 0.577805 239.921"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-663.303 1111.63 183.22"; + rotation = "0.576893 0.577353 0.577805 239.921"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-755.243 1111.47 195.298"; + rotation = "0.576279 0.577654 -0.578117 119.974"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-856.57 783.577 195.766"; + rotation = "0.576279 0.577654 -0.578117 119.974"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.628 783.747 183.688"; + rotation = "0.576893 0.577353 0.577805 239.921"; + scale = "0.733815 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-873.268 945.858 173.025"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-853.224 945.858 181.814"; + rotation = "0.706825 0.707388 0.000562931 179.935"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-833.268 945.858 173.025"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-813.668 945.858 173.025"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-793.824 945.905 181.814"; + rotation = "0.706825 0.707388 0.000562931 179.935"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-773.806 945.857 172.976"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-739.206 945.857 172.976"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-719.424 945.953 181.814"; + rotation = "0.706825 0.707388 0.000562931 179.935"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-699.514 945.864 173.146"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-679.914 945.864 173.146"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-660.024 946 181.813"; + rotation = "0.706825 0.707388 0.000562931 179.935"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-640.114 945.864 172.252"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-757.551 945.867 171.231"; + rotation = "0 0 1 90"; + scale = "1 0.739665 1.26824"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-691.837 1064.78 172.584"; + rotation = "0.222542 -0.0710909 0.972328 214.511"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-741.223 1045.23 175.063"; + rotation = "0.837999 -0.174238 0.517106 43.8087"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-807.733 1066.04 178.433"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-854.135 1008.78 175.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-840.104 1044.41 172.771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-816.212 1025.51 177.573"; + rotation = "0 -1 0 17.7617"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-669.046 1023.49 177.324"; + rotation = "0 0 1 142.094"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-665.381 1041.8 172.384"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-770.352 993.091 189.67"; + rotation = "-0.364235 -0.870506 -0.330987 102.887"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-835.641 830.625 174.19"; + rotation = "0.0422458 -0.240099 0.969829 134.9"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-776.958 859.708 177.248"; + rotation = "-0.252748 0.277512 0.926879 85.0576"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-854.502 894.987 176.265"; + rotation = "0.0396956 -0.217217 0.975316 94.7902"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-748.801 884.912 180.725"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-738.296 875.035 175.783"; + rotation = "0.281032 -0.629308 -0.724564 63.2938"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-692.038 882.962 177.606"; + rotation = "-1 0 0 38.9611"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-682.204 907.319 178.787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-664.027 890.641 178.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-848.251 883.438 124.098"; + rotation = "0.966389 0.00149016 -0.25708 179.358"; + scale = "1 1 3.70201"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-761.983 877.061 89.5743"; + rotation = "0.99955 0.000173676 -0.0299952 179.336"; + scale = "1 1 5.65075"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-676.099 916.181 57.9275"; + rotation = "0.99955 0.000173676 -0.0299952 179.336"; + scale = "0.480727 0.4572 5.65075"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-702.648 1033.09 94.6227"; + rotation = "0.999388 -0.000203071 0.0349932 179.336"; + scale = "1 1 5.65075"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-828.499 1023.29 105.363"; + rotation = "0.995004 0.000578548 -0.0998331 179.339"; + scale = "0.938656 1 4.69066"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-751.342 1077.7 83.2164"; + rotation = "0.99955 0.000173676 -0.0299952 179.336"; + scale = "0.480727 0.4572 5.65075"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.568 812.885 179.98"; + rotation = "0 -1 0 41.253"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.568 872.085 179.98"; + rotation = "0 -1 0 41.253"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.568 934.685 179.98"; + rotation = "0 -1 0 41.253"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.568 990.885 179.98"; + rotation = "0 -1 0 41.253"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.568 1055.88 179.98"; + rotation = "0 -1 0 41.253"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.36 813.028 195.626"; + rotation = "0 1 0 40.107"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.36 872.228 195.626"; + rotation = "0 1 0 40.107"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.36 934.828 195.626"; + rotation = "0 1 0 40.107"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.36 990.428 195.626"; + rotation = "0 1 0 40.107"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.36 1056.02 195.626"; + rotation = "0 1 0 40.107"; + scale = "1 1 1.5285"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(AudioBubbling) { + + powerCount = "0"; + + new AudioEmitter() { + position = "238.562 -247.204 77.5686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-102.723 207.676 74.2436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "121.164 208.004 68.5667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-228.298 -244.157 67.0027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "225.789 591.297 78.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "205.607 -91.1028 70.5774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "390.492 -423.663 79.6071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "226.749 1008.86 88.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-252.43 1053.56 88.8209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-880.136 600.957 91.7757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/gravel3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "45"; + maxDistance = "800"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + name = "\x10\c8FlyingElmo\x11"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "1"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + targetId = "32"; + guid = "0"; + packetLoss = "0"; + clientId = "14561"; + isListening = "0"; + isSmurf = "1"; + }; + }; + new SimGroup(ObserverDropPoints) { + + new Camera() { + position = "-757.722 889.642 338.833"; + rotation = "1 0 0 65.8902"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-668.603 922.147 265.027"; + rotation = "0.57973 0.290845 -0.761132 66.7808"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-759.325 844.427 205.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-833.615 810.791 217.888"; + rotation = "0 0 1 130.634"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-775.842 769.477 192.958"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaInTheHill.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaInTheHill.mis new file mode 100644 index 00000000..20f79e89 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaInTheHill.mis @@ -0,0 +1,1356 @@ +// MissionTypes = Arena +// DisplayName = Arena In The Hill + +//--- MISSION QUOTE BEGIN --- +//And the fierce thunders roar me their music +//And the winds shriek through the clouds mad, opposing +//And through all the riven skies God's swords clash. +//Objective: Neutralize all opposition +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map By: FlyingElmo +//Email: flyingelmo@teamfusion.org +//Website: www.planettribes.com/elmo +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "3"; + cdTrack = "3"; + Retrieve_scoreLimit = "5"; + powerCount = "0"; + musicTrack = "volcanic"; + + new MissionArea(MissionArea) { + area = "-676 -472 352 344"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "680 -352 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "700"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.800000 0.360000 0.200000 0.000000"; + fogDistance = "50"; + fogColor = "0.450000 0.300000 0.250000 1.000000"; + fogVolume1 = "750 215 235"; + fogVolume2 = "700 235 245"; + fogVolume3 = "750 245 255"; + materialList = "lava_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 72443192238023397900000.000000"; + cloudSpeed0 = "0.000300 0.000300"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + scale = "1 1 1"; + position = "680 -352 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new AudioEmitter() { + position = "788.243 -120.742 93.2821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Recalescence.ter"; + squareSize = "8"; + emptySquares = "86853 86856 87109 87112 153926 154182 154438 154694 287045 287301 303285 303541 173749 174005 174261 174517 306869 307125"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + GraphFile = "ArenaInTheHill.nav"; + coverage = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-452.987 -220.558 201.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-453.465 -230.991 202.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-461.053 -220.03 202.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-459.932 -230.216 200.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-452.1 -234.996 202.077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-462.47 -237.068 203.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-456.789 -236.702 202.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "1000"; + outdoorWeight = "0"; + }; + }; + new StaticShape() { + position = "-458.848 -210.326 201.615"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-449.414 -225.11 201.686"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "har har"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + damageTimeMS = "131959"; + lastDamagedBy = "3644"; + Trigger = "5838"; + lastDamagedByTeam = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-449.167 -216.823 201.711"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Flyersfan is suck"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Trigger = "5840"; + Target = "35"; + }; + new StaticShape() { + position = "-464.598 -224.874 201.698"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + damageTimeMS = "131959"; + inUse = "Down"; + lastDamagedBy = "3644"; + notReady = "1"; + Trigger = "5842"; + lastDamagedByTeam = "1"; + Target = "36"; + }; + new StaticShape() { + position = "-464.5 -217.162 201.669"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Trigger = "5844"; + Target = "37"; + }; + new StaticShape() { + position = "-452.413 -240.984 202.755"; + rotation = "0 0 1 180"; + scale = "1.79022 1 1.32495"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + damageTimeMS = "121693"; + lastDamagedBy = "3644"; + lastDamagedByTeam = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-461.418 -240.982 202.745"; + rotation = "0 0 1 180"; + scale = "1.79022 1 1.32495"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + damageTimeMS = "121693"; + lastDamagedBy = "3644"; + lastDamagedByTeam = "1"; + Target = "-1"; + }; + }; + new SimGroup(Team2) { + powerCount = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-460.318 -372.127 201.317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-460.795 -364.121 201.426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-451.518 -372.679 201.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-452.658 -363.764 201.078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-461.437 -355.313 202.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-450.629 -355.503 202.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-456.712 -359.209 200.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "-458.397 -381.806 201.598"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "38"; + }; + new StaticShape() { + position = "-448.587 -375.274 201.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "..."; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "5853"; + Target = "39"; + }; + new StaticShape() { + position = "-448.34 -366.987 201.694"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "The outcast"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "5855"; + Target = "40"; + }; + new StaticShape() { + position = "-463.771 -375.038 201.681"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Tribes Arena"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Trigger = "5857"; + Target = "41"; + }; + new StaticShape() { + position = "-463.718 -367.326 201.652"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Trigger = "5859"; + Target = "42"; + }; + new StaticShape() { + position = "-460.352 -351.214 202.793"; + rotation = "1 0 0 0"; + scale = "1.79022 1 1.32495"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-451.567 -351.199 202.852"; + rotation = "1 0 0 0"; + scale = "1.79022 1 1.32495"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(Team0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-440.951 -296.082 117.693"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "dbase2.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new ForceFieldBare() { + position = "-465.122 -214.064 201.602"; + rotation = "1 0 0 0"; + scale = "16.3916 1.92392 9.25192"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "43"; + }; + new ForceFieldBare() { + position = "-464.147 -380.061 201.197"; + rotation = "1 0 0 0"; + scale = "16.3975 1.92783 9.74994"; + dataBlock = "defaultNoTeamLavaLightField"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-429.819 -304.514 200.805"; + rotation = "1 0 0 0"; + scale = "1.74182 16.6071 9.43797"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "45"; + }; + new StaticShape() { + position = "-426.631 -294.314 200.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "46"; + }; + new Item() { + position = "-459.158 -295.748 106.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.232 -297.995 106.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-459.158 -293.631 107.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-412.001 -295.98 127.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-411.956 -298.377 127.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-411.953 -293.693 127.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-440.433 -295.567 141.616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-441.481 -295.557 141.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-440.451 -296.58 141.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-441.447 -296.576 141.626"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-498.851 -342.175 104.486"; + rotation = "1 0 0 0"; + scale = "1 1.90974 1.85296"; + shapeName = "stackable1l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-508.368 -337.455 104.688"; + rotation = "1 0 0 0"; + scale = "1 2.52024 2.89992"; + shapeName = "stackable1m.dts"; + team = "0"; + }; + new TSStatic() { + position = "-522.218 -340.133 104.241"; + rotation = "1 0 0 0"; + scale = "1 1 3.45162"; + shapeName = "stackable3l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-486.845 -342.125 104.323"; + rotation = "0 0 1 90.5273"; + scale = "1 2.15853 2.00494"; + shapeName = "stackable5l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-476.483 -338.202 104.716"; + rotation = "1 0 0 0"; + scale = "1.79209 1.95302 1.9002"; + shapeName = "stackable2l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-463.84 -346.019 104.552"; + rotation = "0 0 1 201.864"; + scale = "1 1.49286 1.99906"; + shapeName = "stackable3m.dts"; + team = "0"; + }; + new TSStatic() { + position = "-454.039 -345.823 104.591"; + rotation = "0 0 -1 64.1713"; + scale = "1 2.12027 2.14713"; + shapeName = "stackable1m.dts"; + team = "0"; + }; + new TSStatic() { + position = "-440.826 -210.512 129.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + new Item() { + position = "-441.964 -210.468 129.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-439.689 -210.465 129.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-376.391 -219.642 114.702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-378.366 -219.683 114.747"; + rotation = "0 0 1 118.602"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-373.607 -219.455 114.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-367.206 -219.983 114.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-368.371 -220.618 114.927"; + rotation = "0.950796 -0.309816 -0.00130239 179.542"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-386.307 -219.447 114.633"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-387.799 -221.458 115.182"; + rotation = "1 0 0 179.336"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-391.729 -223.929 118.908"; + rotation = "0.627134 -0.462458 -0.626766 229.684"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-391.783 -224.418 119.827"; + rotation = "1 0 0 0"; + scale = "0.358178 1 0.629641"; + shapeName = "stackable1s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-391.836 -223.143 119.898"; + rotation = "1 0 0 0"; + scale = "0.358178 1 0.629641"; + shapeName = "stackable1s.dts"; + team = "0"; + }; + new Item() { + position = "-374.296 -235.952 114.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-378.908 -236 114.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-376.596 -235.985 114.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-386.53 -235.55 113.892"; + rotation = "1 0 0 0"; + scale = "0.655541 1.70054 1"; + shapeName = "stackable1l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-387.546 -235.255 115.867"; + rotation = "-0.577504 -0.577044 -0.577503 119.947"; + scale = "1 1 1"; + shapeName = "bioderm_light.dts"; + team = "0"; + }; + new Item() { + position = "-386.008 -235.282 116.285"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-368.569 -236.432 114.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-366.472 -236.612 114.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-443.896 -386.022 129.621"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-437.102 -385.962 129.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-476.285 -338.532 108.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-476.73 -337.918 108.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-440.967 -304.788 200.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-442.934 -304.733 200.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-438.903 -304.886 200.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-442.989 -287.292 200.794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-438.937 -287.245 200.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-440.926 -287.401 200.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-432.859 -304.619 200.824"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-433.032 -287.596 200.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-455.285 -295.528 200.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-455.299 -294.604 200.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-455.299 -295.058 201.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-455.007 -291.26 200.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-454.818 -292.51 201.214"; + rotation = "-0.270447 -0.273382 0.923104 93.9627"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-455.568 -296.838 200.689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-455.016 -297.367 200.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-455.63 -297.778 200.679"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + team = "0"; + }; + new TSStatic() { + position = "-454.328 -299.205 200.961"; + rotation = "0.573654 0.57942 -0.578959 239.721"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + team = "0"; + }; + new TSStatic() { + position = "-454.335 -298.946 200.734"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + team = "0"; + }; + new InteriorInstance() { + position = "-440.79 -374.778 149.567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-431.172 -286.216 140.74"; + rotation = "0 0 1 38.5707"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-431.182 -305.875 140.752"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-450.809 -286.204 140.734"; + rotation = "0 0 -1 41.4355"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-450.792 -305.869 140.726"; + rotation = "0 0 1 227.074"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-351.49 -228.272 114.759"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + shapeName = "bioderm_heavy.dts"; + team = "0"; + }; + new TSStatic() { + position = "-351.496 -229.02 115.799"; + rotation = "1 0 0 0"; + scale = "1.15849 1 1.07391"; + shapeName = "stackable1s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-351.634 -227.578 116.147"; + rotation = "1 0 0 0"; + scale = "1.46276 1 0.929157"; + shapeName = "stackable1s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-351.57 -228.281 114.674"; + rotation = "0 0 1 89.9544"; + scale = "1.60682 2.78525 1.07122"; + shapeName = "stackable1s.dts"; + team = "0"; + }; + new TSStatic() { + position = "-443.99 -359.58 192.365"; + rotation = "1 0 0 0"; + scale = "1.08413 0.446208 0.545441"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + new TSStatic() { + position = "-468.444 -359.409 201.107"; + rotation = "1 0 0 0"; + scale = "1.29556 0.446208 1"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + new TSStatic() { + position = "-448.58 -308.524 193.482"; + rotation = "0 0 -1 89.9544"; + scale = "1.29556 0.446208 1"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + new TSStatic() { + position = "-448.628 -284.06 191.937"; + rotation = "0 0 -1 89.3814"; + scale = "1.29556 0.446208 1"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + new TSStatic() { + position = "-469.098 -232.484 194.834"; + rotation = "1 0 0 0"; + scale = "1.29556 0.446208 1"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + new TSStatic() { + position = "-444.481 -232.44 201.146"; + rotation = "1 0 0 0"; + scale = "1.38195 0.446208 1"; + shapeName = "bmiscf.dts"; + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-422.317 -280.379 155.149"; + rotation = "-0.193421 -0.439955 0.876942 222.167"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-456.936 -208.989 205.637"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-387.315 -236.742 120.688"; + rotation = "0.529862 -0.230295 0.816217 56.0701"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-524.136 -239.422 118.316"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-419.734 -203.166 137.722"; + rotation = "0.0846601 0.0845929 -0.992813 90.3679"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-512.236 -336.023 109.573"; + rotation = "0.036413 -0.0449551 0.998325 102.08"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-422.643 -295.953 110.545"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-394.866 -193.844 239.949"; + rotation = "-0.060583 -0.149164 0.986955 223.687"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup() { + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaUnderTheHill.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaUnderTheHill.mis new file mode 100644 index 00000000..e5440c86 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ArenaUnderTheHill.mis @@ -0,0 +1,1390 @@ +// DisplayName = [Original]AUTH Clientside +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Ready your Disc Launcher, and prep your Chain Gun, because here Flags and Objectives mean squat. Your sole mission is to outlive the other team, think you are up for it?"; +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: Harn +//www.tribesarena.com +//REQUIRED: Download This Map +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + powerCount = "0"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-512 -384 1040 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + locked = "true"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "BeggarsRun.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "BeggarsRun.ter"; + squareSize = "8"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.93705e+31 2.37594e-15"; + high_fogVolume2 = "-1 -16964.7 -4.91925e-08"; + high_fogVolume3 = "-1 3.35544e+07 0.000931699"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "5.62206 183.063 3.99689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new StaticShape() { + position = "2.74675 203.316 29.1567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + team = "1"; + }; + new StaticShape() { + position = "10.1875 173.576 1.14339"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + Trigger = "4381"; + team = "1"; + }; + new StaticShape() { + position = "10.0065 192.326 1.14339"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + Trigger = "4383"; + team = "1"; + }; + new StaticShape() { + position = "-8.21754 175.458 1.14339"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + Trigger = "4385"; + team = "1"; + }; + new StaticShape() { + position = "-8.26937 164.336 1.14339"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + Trigger = "4387"; + inUse = "Down"; + notReady = "1"; + team = "1"; + }; + new StaticShape() { + position = "-7.82384 192.837 1.14339"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + Trigger = "4389"; + inUse = "Down"; + notReady = "1"; + team = "1"; + }; + new StaticShape() { + position = "-7.58508 202.308 1.14339"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + Trigger = "4391"; + inUse = "Down"; + notReady = "1"; + team = "1"; + }; + }; + new WayPoint() { + position = "-7.03967 184.063 15.1969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Team 1 Base"; + team = "1"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "462.956 183.063 3.99689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new StaticShape() { + position = "477.12 200.159 1.17529"; + rotation = "0 0 1 89.3358"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + Trigger = "4398"; + team = "2"; + }; + new StaticShape() { + position = "477.197 189.037 1.17529"; + rotation = "0 0 1 89.3358"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + Trigger = "4400"; + team = "2"; + }; + new StaticShape() { + position = "477.005 171.655 1.17529"; + rotation = "0 0 1 89.3358"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + Trigger = "4402"; + team = "2"; + }; + new StaticShape() { + position = "476.876 162.182 1.17529"; + rotation = "0 0 1 89.3358"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + Trigger = "4404"; + team = "2"; + }; + new StaticShape() { + position = "459.17 171.959 1.17529"; + rotation = "0 0 -1 90.6642"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + Trigger = "4406"; + team = "2"; + }; + new StaticShape() { + position = "458.772 190.706 1.17529"; + rotation = "0 0 -1 90.6642"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + Trigger = "4408"; + team = "2"; + }; + new StaticShape() { + position = "473.054 179.88 29.2795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + team = "2"; + }; + }; + new WayPoint() { + position = "476.062 180.263 15.1969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Team 2 Base"; + team = "2"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new SimGroup(NWsShrine) { + powerCount = "0"; + + new TSStatic() { + position = "218.416 825.786 195.751"; + rotation = "1 0 0 89.9544"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "218.729 825.786 195.9"; + rotation = "0.897098 -0.312298 -0.312547 96.1643"; + scale = "0.185312 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "218.713 825.786 195.593"; + rotation = "0.90268 0.304157 0.304398 95.8108"; + scale = "0.185312 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "219.474 825.801 195.713"; + rotation = "1 0 0 89.9544"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.206 825.811 195.66"; + rotation = "1 0 0 89.9544"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.572 825.823 196.219"; + rotation = "0.577504 0.577044 0.577503 119.947"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.607 825.79 195.696"; + rotation = "0.577504 0.577044 0.577503 119.947"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.521 825.771 195.148"; + rotation = "0.577504 0.577044 0.577503 119.947"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "218.785 825.477 194.568"; + rotation = "1 0 0 89.9544"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "219.406 825.405 194.568"; + rotation = "1 0 0 89.9544"; + scale = "0.1 0.323981 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "219.09 825.404 194.557"; + rotation = "0.808618 -0.415849 -0.41618 102.036"; + scale = "0.185312 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.264 825.429 194.554"; + rotation = "0.808618 -0.415849 -0.41618 102.036"; + scale = "0.185312 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.724 825.387 194.413"; + rotation = "0.808618 -0.415849 -0.41618 102.036"; + scale = "0.113099 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.561 825.393 194.489"; + rotation = "0.90268 0.304157 0.304398 95.8108"; + scale = "0.114311 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "220.915 825.401 194.559"; + rotation = "0.718545 0.491584 0.491974 108.559"; + scale = "0.185312 0.1 0.175477"; + shapeName = "pmiscf.dts"; + }; + }; + }; + new SimGroup(RandomOrganics) { + powerCount = "0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera(Cam1) { + position = "477.706 204.934 8.60429"; + rotation = "-0.0559767 -0.134345 0.989352 224.806"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Cam2) { + position = "-8.24533 207.548 7.65144"; + rotation = "0.0492083 -0.131851 0.990047 139.442"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Cam3) { + position = "393.774 167.028 20.8719"; + rotation = "0.590536 0.24128 -0.770098 55.8966"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Cam4) { + position = "90.9472 167.802 7.30536"; + rotation = "0.320448 -0.120557 0.939563 43.6436"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Cam5) { + position = "272.086 82.7446 14.9495"; + rotation = "0.0180021 0.00858092 -0.999801 50.9796"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Cam6) { + position = "232.986 280.676 18.4929"; + rotation = "-0.00354813 -0.133756 0.991008 183.012"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera(Cam7) { + position = "271.842 250.766 -11.201"; + rotation = "0.0520304 0.138742 0.988961 220.697"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new InteriorInstance() { + position = "97.5222 175.065 3.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "underhillsideonefnl.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "311.351 179.071 11.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "underhillmidbalancedfnl.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "193.459 180.277 -17.8208"; + rotation = "0 -1 0 13.751"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "371.185 189.209 3.2"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "underhillsideonefnl.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(Objects) { + powerCount = "0"; + + new Item() { + position = "233.747 182.194 10.8851"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + Target = "-1"; + }; + new SimGroup(Repair) { + powerCount = "0"; + + new Item() { + position = "194.417 252.153 9.6557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "194.417 111.873 9.6557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "274.384 111.989 9.6557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "274.234 252.153 9.6557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "223.188 180.262 -17.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "223.264 185.946 -17.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "223.226 183.204 -17.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "242.91 183.057 -17.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "242.948 185.999 -17.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "242.873 179.915 -17.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "98.54 261.126 -0.64407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "111.403 73.3304 -0.453723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "206.766 74.9879 10.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "261.527 102.447 10.9962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "209.312 260.343 11.0627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "261.285 289.344 10.9025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "357.461 289.478 -0.720649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "368.695 103.008 -0.884797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "248.54 138.987 9.3136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "215.354 143.184 9.30865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "216.406 223.485 9.16036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "219.409 226.501 9.16036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "251.733 141.941 9.3136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "218.52 140.041 9.30865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "252.138 223.639 9.22404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "247.717 228.084 9.22404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + new Item() { + position = "233.325 183.171 48.4672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + }; + }; + }; + new InteriorInstance() { + position = "219.881 823.127 169.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "219.98 823.253 191.813"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "219.665 820.986 191.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + }; + new StaticShape() { + position = "496.438 -568.163 56.9803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.84 -566.031 57.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.946 -567.514 57.4398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.326 -566.497 56.7402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.406 -565.077 57.0911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.711 -570.012 57.6181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "499.07 -567.757 57.8994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.428 -568.522 57.6752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.826 -566.203 57.2012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "493.52 -567.101 57.8957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.697 -569.464 57.5712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.43 -566.032 57.5507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.697 -567.101 57.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.596 -565.715 58.3553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.361 -567.789 58.2006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.96 -567.921 58.6955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.348 -566.223 58.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.941 -565.66 58.8502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "493.863 -566.461 59.2032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.559 -567.589 59.5561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.509 -565.549 59.5561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.482 -565.358 59.9091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.41 -566.053 60.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.004 -567.413 59.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.774 -568.902 59.0484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.586 -569.401 59.4014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.335 -568.089 58.5829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.303 -569.655 58.3007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.327 -570.341 58.1701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.334 -570.155 58.8179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.422 -569.486 58.6537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.685 -567.746 59.0708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.071 -565.154 56.8882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.789 -565.033 57.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.502 -565.297 58.0455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.741 -565.383 59.0708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.909 -566.473 59.4238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.056 -566.151 59.9915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.553 -568.597 60.3091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.053 -566.098 58.7869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.431 -567.066 60.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.146 -569.211 59.2266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.906 -567.605 60.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.508 -569.936 59.1944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.096 -566.998 59.9326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "494.676 -568.829 60.4275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.204 -568.442 60.6266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.284 -568.123 59.5442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.972 -565.55 59.8003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "498.557 -568.016 59.8618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.981 -566.8 60.4275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "497.771 -567.284 60.9442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "495.599 -566.831 60.8221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "496.59 -566.268 61.2618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/AryoArena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/AryoArena.mis new file mode 100644 index 00000000..82a2402f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/AryoArena.mis @@ -0,0 +1,1706 @@ +// DisplayName = _AyroArena +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//On the fertile planet of Ayrothia, a new conflict has begun...only the strongest will see it end, however. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "792 -1176 464 288"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun() { + position = "-1024 -1024 10.9075"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.500000 0.500000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Confusco.ter"; + squareSize = "8"; + emptySquares = "404348 381821 185473"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "Confusco.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(omfgYES) { + + powerCount = "0"; + + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.030000 0.300000 0.300000 0.000000"; + fogDistance = "300"; + fogColor = "0.300000 0.400000 0.300000 1.000000"; + fogVolume1 = "1 0 210"; + fogVolume2 = "300 210 9000"; + fogVolume3 = "0 0 0"; + materialList = "muddy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.35095e-38 -1.7147e+38"; + high_fogVolume2 = "-1 8.64725e-34 8.64585e-34"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new InteriorInstance() { + position = "1185.74 -1028.66 226.66"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "930.43 -898.554 195.434"; + rotation = "0 1 0 90"; + scale = "6.47735 1.39762 6.45145"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1214 -910.54 210.954"; + rotation = "-0.703276 0.71091 -0.00295625 180.342"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "826.423 -898.554 195.434"; + rotation = "0 1 0 90"; + scale = "6.47735 1.39762 6.51443"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1110.8 -909.932 219.723"; + rotation = "-0.703276 0.71091 -0.00295625 180.342"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1162.31 -910.235 219.886"; + rotation = "-0.706825 0.707388 0.000562925 179.935"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "852.176 -908.411 218.967"; + rotation = "-0.706825 0.707388 0.000562925 179.935"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "955.646 -909.014 219.257"; + rotation = "-0.706825 0.707388 0.000562925 179.935"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "904.136 -908.711 219.095"; + rotation = "-0.703276 0.71091 -0.00295625 180.342"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1007.34 -909.319 219.437"; + rotation = "-0.703276 0.71091 -0.00295625 180.342"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "849.803 -1016.66 226.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1136.83 -898.554 195.434"; + rotation = "0 1 0 90"; + scale = "6.47735 1.39762 6.45145"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1033.63 -898.554 195.434"; + rotation = "0 1 0 90"; + scale = "6.47735 1.39762 6.45145"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1135.36 -1154.36 196.7"; + rotation = "0.707107 0.000563186 0.707107 179.935"; + scale = "6.47735 1.39762 6.45145"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "928.958 -1154.69 196.7"; + rotation = "0.707107 0.000563186 0.707107 179.935"; + scale = "6.47735 1.39762 6.45145"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "851.768 -1142.82 221.331"; + rotation = "0.710349 0.703843 -0.00298681 179.662"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1032.16 -1154.52 196.7"; + rotation = "0.707107 0.000563186 0.707107 179.935"; + scale = "6.47735 1.39762 6.45145"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "954.969 -1143.27 220.989"; + rotation = "0.710349 0.703843 -0.00298681 179.662"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "903.459 -1143.05 221.151"; + rotation = "0.706825 0.707389 0.000567721 180.064"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1213.6 -1144.38 220.233"; + rotation = "0.706825 0.707389 0.000567721 180.064"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1110.12 -1143.94 220.523"; + rotation = "0.706825 0.707389 0.000567721 180.064"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1161.63 -1144.16 220.361"; + rotation = "0.710349 0.703843 -0.00298681 179.662"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1058.43 -1143.72 220.703"; + rotation = "0.710349 0.703843 -0.00298681 179.662"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1239.36 -1154.19 196.7"; + rotation = "0.707107 0.000563186 0.707107 179.935"; + scale = "6.47735 1.39762 6.51443"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1006.93 -1143.48 220.861"; + rotation = "0.706825 0.707389 0.000567721 180.064"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new InteriorInstance() { + position = "1023.12 -1078.56 194.174"; + rotation = "-0.706822 0.707385 -0.00297118 180.341"; + scale = "1 1 1.52768"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1024.38 -968.702 194.757"; + rotation = "0.712588 0.701576 0.00299775 180.338"; + scale = "1 1 1.52768"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "1064.21 -1062.8 216.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "1136.04 -967.028 218.243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "900.661 -995.468 214.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "997.567 -1101.76 221.014"; + rotation = "0 1 0 12.0321"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1099.3 -1022.91 216.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "968.766 -968.62 218.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "904.369 -1066.7 214.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1133.85 -1066.42 214.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1210.91 -1078.37 240.323"; + rotation = "0 1 0 12.0321"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "933.653 -975.439 217.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new InteriorInstance() { + position = "967.958 -984.645 204.171"; + rotation = "0 -1 0 0.176939"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "968.238 -1077.67 205.946"; + rotation = "0 -1 0 0.176939"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "967.958 -1022.04 204.135"; + rotation = "0 -1 0 0.176939"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "967.958 -1115.33 205.67"; + rotation = "0 -1 0 0.754847"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1121.52 -983.839 202.8"; + rotation = "0 -1 0 0.176939"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1121.52 -1021.23 202.764"; + rotation = "0 -1 0 0.176939"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1121.8 -1076.86 204.575"; + rotation = "0 -1 0 0.176939"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1121.52 -1114.52 204.299"; + rotation = "0 -1 0 0.754847"; + scale = "2 2 2"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "898.48 -1014.91 232.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "962.48 -1014.91 232.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1148.3 -1014.53 233.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1084.3 -1014.53 233.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1023.6 -1023.03 215.692"; + rotation = "0.999982 0.00420359 0.00420516 180.002"; + scale = "1 1 1.52768"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1058.84 -909.632 219.595"; + rotation = "-0.706825 0.707388 0.000562925 179.935"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "1228.67 -968.288 239.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1278.49 -1027.21 252.527"; + rotation = "0.185304 0.292306 -0.9382 68.0934"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1243.81 -1095.64 239.957"; + rotation = "0 0 1 29.2208"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "808.248 -957.616 238.535"; + rotation = "-0.135812 0.0861135 -0.986985 67.4651"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "786.166 -1069.72 247.501"; + rotation = "-0.0423088 -0.0840266 -0.995565 63.4988"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "908.599 -1211.16 209.669"; + rotation = "0.0555263 -0.0695786 0.99603 67.5738"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1026.96 -1192.26 230.117"; + rotation = "0.0555263 -0.0695786 0.99603 67.5738"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "994.458 -1264.84 229.936"; + rotation = "0.0555263 -0.0695786 0.99603 67.5738"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "815.96 -1242.19 219.114"; + rotation = "0.0555263 -0.0695786 0.99603 67.5738"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1144.1 -1215.69 210.277"; + rotation = "0.0555263 -0.0695786 0.99603 67.5738"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1226.91 -1195.58 214.827"; + rotation = "0.0555263 -0.0695786 0.99603 67.5738"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1067.53 -1184.47 216.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "940.502 -1190.94 215.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "793.062 -1100.73 248.331"; + rotation = "0 -1 0 26.929"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "822.427 -842.19 215.044"; + rotation = "0.004621 -0.540899 -0.841075 10.5019"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "974.767 -851.933 216.532"; + rotation = "0.004621 -0.540899 -0.841075 10.5019"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1082.21 -730.407 210.555"; + rotation = "0.004621 -0.540899 -0.841075 10.5019"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1031.92 -779.498 230.548"; + rotation = "0.0522394 -0.0300668 0.998182 110.433"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1166.6 -841.496 206.828"; + rotation = "0.0496954 -0.000111987 0.998764 169.935"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "1235.93 -767.066 212.752"; + rotation = "0.0496954 -0.000111987 0.998764 169.935"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "2"; + + new SimGroup(spawnspheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "1190.64 -1090.38 231.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos4 = "1190.64 -1109.18 229.876"; + spawnPos43 = "1183.14 -1071.68 233.562"; + spawnPos10 = "1175.64 -1101.68 228.404"; + spawnPos15 = "1213.14 -1101.68 238.181"; + spawnPos8 = "1160.64 -1101.68 221.273"; + spawnPos47 = "1213.14 -1071.68 240.615"; + spawnPos33 = "1168.14 -1079.18 228.04"; + spawnPos19 = "1183.14 -1094.18 230.907"; + spawnPos31 = "1213.14 -1086.68 240.119"; + spawnPos17 = "1168.14 -1094.18 225.774"; + spawnPos56 = "1160.64 -1056.68 223.771"; + spawnPosCount = "63"; + spawnPos54 = "1205.64 -1064.18 238.849"; + spawnPos21 = "1198.14 -1094.18 236.247"; + spawnPos60 = "1190.64 -1056.68 234.647"; + spawnPos58 = "1175.64 -1056.68 230.096"; + spawnPos25 = "1168.14 -1086.68 226.519"; + spawnPos11 = "1183.14 -1101.68 230.374"; + spawnPos23 = "1213.14 -1094.18 239.756"; + spawnPos62 = "1205.64 -1056.68 238.834"; + spawnPos29 = "1198.14 -1086.68 236.516"; + spawnPos34 = "1175.64 -1079.18 230.881"; + spawnPos27 = "1183.14 -1086.68 232.122"; + spawnPos13 = "1198.14 -1101.68 233.331"; + spawnPos52 = "1190.64 -1064.18 234.703"; + spawnPos38 = "1205.64 -1079.18 239.394"; + spawnPos50 = "1175.64 -1064.18 231.379"; + spawnPos36 = "1190.64 -1079.18 234.164"; + spawnPos3 = "1183.14 -1109.18 228.238"; + spawnPos1 = "1168.14 -1109.18 222.798"; + spawnPos40 = "1160.64 -1071.68 222.679"; + spawnPos7 = "1213.14 -1109.18 236.18"; + spawnPos5 = "1198.14 -1109.18 232.142"; + spawnPos44 = "1190.64 -1071.68 233.99"; + spawnPos30 = "1205.64 -1086.68 238.94"; + spawnPos42 = "1175.64 -1071.68 230.525"; + spawnPos9 = "1168.14 -1101.68 224.552"; + spawnPos48 = "1160.64 -1064.18 224.034"; + spawnPos53 = "1198.14 -1064.18 237.646"; + spawnPos46 = "1205.64 -1071.68 239.187"; + spawnPos32 = "1160.64 -1079.18 221.61"; + spawnPos18 = "1175.64 -1094.18 229.864"; + spawnPos57 = "1168.14 -1056.68 228.137"; + spawnPos16 = "1160.64 -1094.18 220.936"; + spawnPos55 = "1213.14 -1064.18 240.428"; + spawnPos22 = "1205.64 -1094.18 238.46"; + spawnPos20 = "1190.64 -1094.18 232.601"; + spawnPos59 = "1183.14 -1056.68 233.395"; + spawnPos26 = "1175.64 -1086.68 230.373"; + spawnPos24 = "1160.64 -1086.68 222.319"; + spawnPos63 = "1213.14 -1056.68 240.406"; + spawnPos49 = "1168.14 -1064.18 228.713"; + spawnPos61 = "1198.14 -1056.68 237.607"; + spawnPos28 = "1190.64 -1086.68 233.967"; + spawnPos14 = "1205.64 -1101.68 236.387"; + spawnPos0 = "1160.64 -1109.18 222.11"; + spawnPos12 = "1190.64 -1101.68 231.448"; + spawnPos51 = "1183.14 -1064.18 233.46"; + spawnPos37 = "1198.14 -1079.18 237.812"; + spawnPos35 = "1183.14 -1079.18 233.005"; + spawnPos2 = "1175.64 -1109.18 226.253"; + spawnPos41 = "1168.14 -1071.68 227.687"; + spawnPos39 = "1213.14 -1079.18 240.726"; + spawnPos6 = "1205.64 -1109.18 234.649"; + spawnPos45 = "1198.14 -1071.68 237.652"; + }; + new SpawnSphere() { + position = "1182.64 -964.346 229.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos4 = "1182.64 -1000.35 233.054"; + spawnPos43 = "1175.14 -962.846 229.656"; + spawnPos10 = "1167.64 -992.846 228.409"; + spawnPos15 = "1205.14 -992.846 238.81"; + spawnPos8 = "1152.64 -992.846 216.678"; + spawnPos47 = "1205.14 -962.846 238.677"; + spawnPos33 = "1160.14 -970.346 221.98"; + spawnPos19 = "1175.14 -985.346 230.472"; + spawnPos31 = "1205.14 -977.846 239.318"; + spawnPos17 = "1160.14 -985.346 222.523"; + spawnPos56 = "1152.64 -947.846 221.442"; + spawnPosCount = "63"; + spawnPos54 = "1197.64 -955.346 234.393"; + spawnPos21 = "1190.14 -985.346 233.915"; + spawnPos60 = "1182.64 -947.846 228.419"; + spawnPos58 = "1167.64 -947.846 222.876"; + spawnPos25 = "1160.14 -977.846 221.444"; + spawnPos11 = "1175.14 -992.846 231.07"; + spawnPos23 = "1205.14 -985.346 239.118"; + spawnPos62 = "1197.64 -947.846 232.382"; + spawnPos29 = "1190.14 -977.846 233.948"; + spawnPos34 = "1167.64 -970.346 226.528"; + spawnPos27 = "1175.14 -977.846 230.636"; + spawnPos13 = "1190.14 -992.846 234.616"; + spawnPos52 = "1182.64 -955.346 230.081"; + spawnPos38 = "1197.64 -970.346 236.853"; + spawnPos50 = "1167.64 -955.346 224.555"; + spawnPos36 = "1182.64 -970.346 232.179"; + spawnPos3 = "1175.14 -1000.35 229.805"; + spawnPos1 = "1160.14 -1000.35 223.441"; + spawnPos40 = "1152.64 -962.846 220.434"; + spawnPos7 = "1205.14 -1000.35 238.71"; + spawnPos5 = "1190.14 -1000.35 234.576"; + spawnPos44 = "1182.64 -962.846 230.889"; + spawnPos30 = "1197.64 -977.846 237.47"; + spawnPos42 = "1167.64 -962.846 225.595"; + spawnPos9 = "1160.14 -992.846 223.715"; + spawnPos48 = "1152.64 -955.346 221.032"; + spawnPos53 = "1190.14 -955.346 231.312"; + spawnPos46 = "1197.64 -962.846 236.51"; + spawnPos32 = "1152.64 -970.346 218.786"; + spawnPos18 = "1167.64 -985.346 227.535"; + spawnPos57 = "1160.14 -947.846 221.809"; + spawnPos16 = "1152.64 -985.346 217.492"; + spawnPos55 = "1205.14 -955.346 237.167"; + spawnPos22 = "1197.64 -985.346 237.276"; + spawnPos20 = "1182.64 -985.346 233.291"; + spawnPos59 = "1175.14 -947.846 226.37"; + spawnPos26 = "1167.64 -977.846 227.687"; + spawnPos24 = "1152.64 -977.846 217.823"; + spawnPos63 = "1205.14 -947.846 235.082"; + spawnPos49 = "1160.14 -955.346 220.996"; + spawnPos61 = "1190.14 -947.846 229.781"; + spawnPos28 = "1182.64 -977.846 232.77"; + spawnPos14 = "1197.64 -992.846 237.411"; + spawnPos0 = "1152.64 -1000.35 217.751"; + spawnPos12 = "1182.64 -992.846 233.166"; + spawnPos51 = "1175.14 -955.346 228.358"; + spawnPos37 = "1190.14 -970.346 234.064"; + spawnPos35 = "1175.14 -970.346 230.317"; + spawnPos2 = "1167.64 -1000.35 227.782"; + spawnPos41 = "1160.14 -962.846 220.974"; + spawnPos39 = "1205.14 -970.346 239.298"; + spawnPos6 = "1197.64 -1000.35 237.289"; + spawnPos45 = "1190.14 -962.846 232.746"; + }; + }; + new StaticShape() { + position = "1171.05 -1034.41 242.62"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5571"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "1177.47 -1034.37 242.595"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5573"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "1183.99 -1034.34 242.606"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5575"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "1191.75 -1034.27 242.694"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5577"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "1171.12 -1011.15 242.716"; + rotation = "0 0 1 0.391671"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Trigger = "5579"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "1178.48 -1011.14 242.628"; + rotation = "0 0 1 0.391671"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5581"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "1185.4 -1011.17 242.617"; + rotation = "0 0 1 0.391671"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5583"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "1192.42 -1011.19 242.642"; + rotation = "0 0 1 0.391671"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5585"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "1213.93 -1024.88 242.601"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "41"; + }; + new StaticShape() { + position = "1213.95 -1020.18 242.601"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new TSStatic() { + position = "1200.3 -1028.12 241.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "1"; + }; + new TSStatic() { + position = "1158.58 -1014.54 239.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "2"; + + new SimGroup(spawnspheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "846.027 -961.497 225.763"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos4 = "846.027 -999.297 235.736"; + spawnPos43 = "838.527 -961.797 237.663"; + spawnPos10 = "831.027 -991.797 239.272"; + spawnPos15 = "868.527 -991.797 229.894"; + spawnPos8 = "816.027 -991.797 242.432"; + spawnPos47 = "868.527 -961.797 227.595"; + spawnPos33 = "823.527 -969.297 240.586"; + spawnPos19 = "838.527 -984.297 238.83"; + spawnPos31 = "868.527 -976.797 229.304"; + spawnPos17 = "823.527 -984.297 241.378"; + spawnPos56 = "816.027 -946.797 238.51"; + spawnPosCount = "63"; + spawnPos54 = "861.027 -954.297 229.45"; + spawnPos21 = "853.527 -984.297 233.939"; + spawnPos60 = "846.027 -946.797 230.517"; + spawnPos58 = "831.027 -946.797 235.835"; + spawnPos25 = "823.527 -976.797 241.394"; + spawnPos11 = "838.527 -991.797 238.573"; + spawnPos23 = "868.527 -984.297 228.943"; + spawnPos62 = "861.027 -946.797 227.285"; + spawnPos29 = "853.527 -976.797 233.576"; + spawnPos34 = "831.027 -969.297 239.761"; + spawnPos27 = "838.527 -976.797 239.02"; + spawnPos13 = "853.527 -991.797 234.069"; + spawnPos52 = "846.027 -954.297 232.091"; + spawnPos38 = "861.027 -969.297 231.204"; + spawnPos50 = "831.027 -954.297 237.572"; + spawnPos36 = "846.027 -969.297 235.035"; + spawnPos3 = "838.527 -999.297 238.541"; + spawnPos1 = "823.527 -999.297 241.262"; + spawnPos40 = "816.027 -961.797 241.527"; + spawnPos7 = "868.527 -999.297 229.042"; + spawnPos5 = "853.527 -999.297 234.029"; + spawnPos44 = "846.027 -961.797 233.709"; + spawnPos30 = "861.027 -976.797 231.912"; + spawnPos42 = "831.027 -961.797 239.214"; + spawnPos9 = "823.527 -991.797 241.293"; + spawnPos48 = "816.027 -954.297 239.417"; + spawnPos53 = "853.527 -954.297 231.021"; + spawnPos46 = "861.027 -961.797 230.544"; + spawnPos32 = "816.027 -969.297 241.826"; + spawnPos18 = "831.027 -984.297 239.623"; + spawnPos57 = "823.527 -946.797 236.446"; + spawnPos16 = "816.027 -984.297 242.374"; + spawnPos55 = "868.527 -954.297 226.315"; + spawnPos22 = "861.027 -984.297 231.866"; + spawnPos20 = "846.027 -984.297 235.175"; + spawnPos59 = "838.527 -946.797 233.356"; + spawnPos26 = "831.027 -976.797 239.831"; + spawnPos24 = "816.027 -976.797 242.259"; + spawnPos63 = "868.527 -946.797 224.264"; + spawnPos49 = "823.527 -954.297 238.66"; + spawnPos61 = "853.527 -946.797 229.042"; + spawnPos28 = "846.027 -976.797 235.403"; + spawnPos14 = "861.027 -991.797 232.337"; + spawnPos0 = "816.027 -999.297 242.433"; + spawnPos12 = "846.027 -991.797 235.791"; + spawnPos51 = "838.527 -954.297 234.734"; + spawnPos37 = "853.527 -969.297 232.844"; + spawnPos35 = "838.527 -969.297 237.638"; + spawnPos2 = "831.027 -999.297 239.266"; + spawnPos41 = "823.527 -961.797 240.238"; + spawnPos39 = "868.527 -969.297 228.125"; + spawnPos6 = "861.027 -999.297 231.527"; + spawnPos45 = "853.527 -961.797 231.575"; + }; + new SpawnSphere() { + position = "851.238 -1087.66 220.824"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos4 = "851.238 -1106.66 229.861"; + spawnPos43 = "843.738 -1069.16 236.411"; + spawnPos10 = "836.238 -1099.16 237.306"; + spawnPos15 = "873.738 -1099.16 224.394"; + spawnPos8 = "821.238 -1099.16 239.47"; + spawnPos47 = "873.738 -1069.16 226.807"; + spawnPos33 = "828.738 -1076.66 240.234"; + spawnPos19 = "843.738 -1091.66 235.973"; + spawnPos31 = "873.738 -1084.16 226.194"; + spawnPos17 = "828.738 -1091.66 239.817"; + spawnPos56 = "821.238 -1054.16 241.54"; + spawnPosCount = "63"; + spawnPos54 = "866.238 -1061.66 230.306"; + spawnPos21 = "858.738 -1091.66 230.884"; + spawnPos60 = "851.238 -1054.16 234.406"; + spawnPos58 = "836.238 -1054.16 238.235"; + spawnPos25 = "828.738 -1084.16 240.358"; + spawnPos11 = "843.738 -1099.16 234.617"; + spawnPos23 = "873.738 -1091.66 225.022"; + spawnPos62 = "866.238 -1054.16 229.286"; + spawnPos29 = "858.738 -1084.16 232.064"; + spawnPos34 = "836.238 -1076.66 239.153"; + spawnPos27 = "843.738 -1084.16 236.684"; + spawnPos13 = "858.738 -1099.16 229.724"; + spawnPos52 = "851.238 -1061.66 234.395"; + spawnPos38 = "866.238 -1076.66 230.032"; + spawnPos50 = "836.238 -1061.66 238.719"; + spawnPos36 = "851.238 -1076.66 233.695"; + spawnPos3 = "843.738 -1106.66 232.12"; + spawnPos1 = "828.738 -1106.66 236.411"; + spawnPos40 = "821.238 -1069.16 241.646"; + spawnPos7 = "873.738 -1106.66 222.803"; + spawnPos5 = "858.738 -1106.66 228.575"; + spawnPos44 = "851.238 -1069.16 233.864"; + spawnPos30 = "866.238 -1084.16 229.906"; + spawnPos42 = "836.238 -1069.16 238.953"; + spawnPos9 = "828.738 -1099.16 238.576"; + spawnPos48 = "821.238 -1061.66 241.64"; + spawnPos53 = "858.738 -1061.66 232.52"; + spawnPos46 = "866.238 -1069.16 230.151"; + spawnPos32 = "821.238 -1076.66 241.698"; + spawnPos18 = "836.238 -1091.66 238.477"; + spawnPos57 = "828.738 -1054.16 239.813"; + spawnPos16 = "821.238 -1091.66 240.721"; + spawnPos55 = "873.738 -1061.66 227.484"; + spawnPos22 = "866.238 -1091.66 229.002"; + spawnPos20 = "851.238 -1091.66 232.745"; + spawnPos59 = "843.738 -1054.16 236.291"; + spawnPos26 = "836.238 -1084.16 239.188"; + spawnPos24 = "821.238 -1084.16 241.315"; + spawnPos63 = "873.738 -1054.16 226.811"; + spawnPos49 = "828.738 -1061.66 239.905"; + spawnPos61 = "858.738 -1054.16 232.469"; + spawnPos28 = "851.238 -1084.16 233.858"; + spawnPos14 = "866.238 -1099.16 227.961"; + spawnPos0 = "821.238 -1106.66 237.312"; + spawnPos12 = "851.238 -1099.16 231.235"; + spawnPos51 = "843.738 -1061.66 236.786"; + spawnPos37 = "858.738 -1076.66 232.344"; + spawnPos35 = "843.738 -1076.66 236.615"; + spawnPos2 = "836.238 -1106.66 234.759"; + spawnPos41 = "828.738 -1069.16 240.15"; + spawnPos39 = "873.738 -1076.66 226.674"; + spawnPos6 = "866.238 -1106.66 226.223"; + spawnPos45 = "858.738 -1069.16 232.696"; + }; + }; + new TSStatic() { + position = "877.063 -1030.34 239.461"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "2"; + }; + new TSStatic() { + position = "835.321 -1016.83 241.359"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "2"; + }; + new StaticShape() { + position = "864.561 -1010.49 242.58"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5597"; + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "858.142 -1010.54 242.555"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5599"; + team = "2"; + Target = "44"; + }; + new StaticShape() { + position = "851.621 -1010.58 242.566"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5601"; + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "843.861 -1010.67 242.654"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5603"; + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "864.528 -1033.75 242.676"; + rotation = "0 0 1 180.3"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5605"; + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "857.169 -1033.78 242.588"; + rotation = "0 0 1 180.3"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5607"; + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "850.248 -1033.76 242.577"; + rotation = "0 0 1 180.3"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5609"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "843.228 -1033.75 242.602"; + rotation = "0 0 1 180.3"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5611"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "821.684 -1024.79 242.561"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "821.696 -1020.09 242.561"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(Wall) { + + powerCount = "0"; + }; + new SimGroup(Items) { + + powerCount = "0"; + + new Item() { + position = "-3.45032 -126.108 244.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.46844 121.36 244.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 109.967 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 69.977 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 90.007 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 49.827 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 -54.533 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 -94.523 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 -74.493 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.50597 -114.673 243.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-295.968 -5.17352 220.333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "1.67016 -71.156 218.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-7.77984 -71.156 218.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-7.78292 66.5062 217.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "289.436 -5.22145 220.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "1.72708 66.5062 217.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-295.65 178.496 275.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-295.606 -186.162 275.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "289.443 -185.641 275.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "289.379 177.485 275.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-3.15606 3.41591 194.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + missionTypesList = "Bounty DM"; + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "1018.8 -1022.92 276.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "1018.93 -1028.02 275.277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "1018.67 -1018.61 275.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "1007.43 -1151.79 230.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "1007.43 -1151.1 230.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "1003.83 -903.989 229.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "1003.84 -903.518 229.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "1020.04 -949.96 411.306"; + rotation = "0.000439768 -0.552199 0.833712 179.924"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "921.086 -1022.76 241.754"; + rotation = "-0.0797238 0.0796603 0.993629 90.3206"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1058 -937.467 254.65"; + rotation = "0.0198587 -0.0449759 0.998791 132.404"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1101.45 -1215.02 252.587"; + rotation = "0.097445 0.0547107 -0.993736 58.9321"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1153.37 -1094.22 321.746"; + rotation = "0.422379 0.206643 -0.88255 58.0031"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Checkmate.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Checkmate.mis new file mode 100644 index 00000000..04b459dc --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Checkmate.mis @@ -0,0 +1,2170 @@ +// MissionTypes = Arena +// DisplayName = Checkmate + +//--- MISSION QUOTE BEGIN --- +//All right, they're on our left, they're on our right, they're in front of us, they're behind us... they can't get away this time. +// -- Lieutenant General Lewis B."Chesty" Puller (when surrounded by 8 enemy divisions) +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Arena]The ocean is filled with microscopic man eatting fish +//[Arena]so make sure not to fall in +//Map by BooT +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + Arena_scoreLimit = "9"; + musicTrack = "lush"; + Arena_timeLimit = "20"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-920 -16 432 256"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "250"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "50 0 170"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_starrynight.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1 0"; + high_fogVolume2 = "-1 0 1"; + high_fogVolume3 = "-1 1 0"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "-1216 -1336 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.643953 0.643953 -0.413096"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Archipelago.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + visibleDistance = "500"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + rotation = "0 0 0 0"; + GraphFile = "Checkmate.nav"; + YDimOverSize = "0"; + }; + new WaterBlock() { + position = "-1016 -1024 -39.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 213.551"; + liquidType = "Lava"; + density = "1"; + viscosity = "5"; + waveMagnitude = "4"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-534.981 116.872 224.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(base1) { + powerCount = "1"; + + new InteriorInstance() { + position = "-538.824 115.967 163.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-259.632 -22.4948 12.599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-543.347 129.069 222.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + notReady = "1"; + locked = "true"; + Trigger = "3845"; + team = "1"; + inUse = "Down"; + }; + new ForceFieldBare(a1) { + position = "-562.594 100.822 210.92"; + rotation = "1 0 0 0"; + scale = "1 30.8143 9.10549"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare(a2) { + position = "-559.66 103.963 225.318"; + rotation = "0 -1 0 14.897"; + scale = "1 24.0105 5.52142"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-550.065 127.472 233.006"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + lastDamagedByTeam = "1"; + notReady = "1"; + damageTimeMS = "387934"; + locked = "true"; + Trigger = "3852"; + team = "1"; + lastDamagedBy = "3327"; + inUse = "Down"; + }; + new StaticShape() { + position = "-550.441 104.459 233.034"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + notReady = "1"; + locked = "true"; + Trigger = "3854"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-527.35 104.4 233"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + notReady = "1"; + locked = "true"; + Trigger = "3856"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-527.399 127.496 232.997"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + notReady = "1"; + locked = "true"; + Trigger = "3858"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-533.955 102.828 223.071"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + notReady = "1"; + locked = "true"; + Trigger = "3860"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-538.936 116.059 208.1"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + notReady = "1"; + locked = "true"; + Trigger = "3862"; + team = "1"; + inUse = "Down"; + }; + }; + new WayPoint() { + position = "-538.626 115.988 222.991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-864.647 115.993 225.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(Base2) { + powerCount = "1"; + + new InteriorInstance() { + position = "-865.024 116.167 163.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-864.854 116.367 208.052"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + locked = "true"; + Trigger = "3870"; + team = "2"; + }; + new StaticShape() { + position = "-869.424 129.09 223.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + Trigger = "3872"; + team = "2"; + }; + new StaticShape() { + position = "-860.591 103.196 222.991"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + Trigger = "3874"; + team = "2"; + }; + new StaticShape() { + position = "-876.45 127.749 233.041"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + locked = "true"; + Trigger = "3876"; + team = "2"; + }; + new StaticShape() { + position = "-876.479 104.659 233.066"; + rotation = "0 0 1 229.011"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + locked = "true"; + Trigger = "3878"; + team = "2"; + }; + new StaticShape() { + position = "-853.6 104.57 233.073"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + locked = "true"; + Trigger = "3880"; + team = "2"; + }; + new StaticShape() { + position = "-853.554 127.591 233"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + locked = "true"; + Trigger = "3882"; + team = "2"; + }; + new StaticShape() { + position = "-963.36 90.0011 93.9481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(b1) { + position = "-842.12 100.9 210.03"; + rotation = "1 0 0 0"; + scale = "1 31.1624 9.76626"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare(b2) { + position = "-845.602 104.454 230.552"; + rotation = "0 1 0 191.456"; + scale = "1 24.0105 5.52142"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + locked = "true"; + team = "2"; + }; + }; + new WayPoint() { + position = "-865.089 116.842 222.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "true"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-705.12 -40.1186 309.646"; + rotation = "1 0 0 32.6586"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-701.02 271.703 215.994"; + rotation = "1.13242e-09 0.0149994 0.999888 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-855.38 107.047 240.094"; + rotation = "0.554643 0.225939 -0.800826 53.9225"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + new Camera() { + position = "-530.122 125.533 239.542"; + rotation = "-0.123434 -0.297997 0.946553 222.818"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + team = "0"; + }; + }; + new SimGroup(AmbientSounds) { + powerCount = "0"; + + new AudioEmitter() { + position = "-958.267 269.031 194.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-655.511 13.9721 224.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-837.293 -5.3815 280.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-462.089 577.416 163.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-505.229 -138.511 249.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-581.146 348.542 168.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-334.939 176.691 172.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-976.483 -106.685 161.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(Floor) { + powerCount = "0"; + + new InteriorInstance() { + position = "-613.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 168.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 184.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 200.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 120.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 152.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 136.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-757.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-741.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-725.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-709.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-693.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-773.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-789.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-613.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-597.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-677.954 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-661.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-645.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 72.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 56.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 40.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 88.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 104.057 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + new InteriorInstance() { + position = "-629.955 24.0573 177.791"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + hidden = "false"; + }; + }; + new InteriorInstance() { + position = "-701.602 116.002 188.441"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-620.102 116.002 188.441"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "sbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-784.1 116.002 188.441"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + interiorFile = "sbrdgn.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-623.024 116.051 210.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-781.179 115.951 210.078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-701.463 115.859 210.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "-734.003 130 174.63"; + rotation = "1 0 0 180"; + scale = "97.0324 58.9 42.7"; + shapeName = "porg6.dts"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/CrashClash.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/CrashClash.mis new file mode 100644 index 00000000..3c136356 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/CrashClash.mis @@ -0,0 +1,1116 @@ +// DisplayName = _CrashClash +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//Two warring clans have crashed on a desolate planet, after a massive collision. Now the survivors will have their lives tested once more. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + musicTrack = "desert"; + CTF_scoreLimit = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "432 312 464 352"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.900000 0.500000 0.350000 1.000000"; + fogDistance = "200"; + fogColor = "0.660000 0.660000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "675"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Gorgon.ter"; + squareSize = "8"; + emptySquares = "230498 296048 177777 243554 178033"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "DeathBirdsFly.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "770.351 492.727 90.5675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "781.601 503.977 82.3622"; + spawnPos8 = "755.351 481.477 82.3906"; + spawnPos32 = "755.351 492.727 83.404"; + spawnPos7 = "781.601 477.727 79.8972"; + spawnPos31 = "781.601 488.977 80.5897"; + spawnPos55 = "777.851 503.977 83.2265"; + spawnPos30 = "777.851 488.977 81.1171"; + spawnPos54 = "774.101 503.977 83.6622"; + spawnPos6 = "777.851 477.727 80.1462"; + spawnPos53 = "770.351 503.977 83.6769"; + spawnPos5 = "774.101 477.727 80.5584"; + spawnPos29 = "774.101 488.977 81.6999"; + spawnPos4 = "770.351 477.727 81.1297"; + spawnPos28 = "770.351 488.977 82.3445"; + spawnPos52 = "766.601 503.977 83.7462"; + spawnPosCount = "56"; + spawnPos3 = "766.601 477.727 81.4353"; + spawnPos27 = "766.601 488.977 82.7267"; + spawnPos51 = "762.851 503.977 83.9073"; + spawnPos26 = "762.851 488.977 82.6681"; + spawnPos50 = "759.101 503.977 84.1509"; + spawnPos2 = "762.851 477.727 81.5642"; + spawnPos49 = "755.351 503.977 84.6636"; + spawnPos1 = "759.101 477.727 81.7012"; + spawnPos25 = "759.101 488.977 82.7301"; + spawnPos0 = "755.351 477.727 81.9942"; + spawnPos24 = "755.351 488.977 83.0536"; + spawnPos48 = "781.601 500.227 81.8495"; + spawnPos18 = "762.851 485.227 82.2713"; + spawnPos23 = "781.601 485.227 80.449"; + spawnPos47 = "777.851 500.227 82.6537"; + spawnPos22 = "777.851 485.227 80.908"; + spawnPos46 = "762.851 500.227 83.6333"; + spawnPos17 = "759.101 485.227 82.4053"; + spawnPos45 = "759.101 500.227 83.7246"; + spawnPos16 = "755.351 485.227 82.7129"; + spawnPos21 = "774.101 485.227 81.3202"; + spawnPos15 = "781.601 481.477 80.2781"; + spawnPos20 = "770.351 485.227 81.9476"; + spawnPos44 = "755.351 500.227 84.1363"; + spawnPos19 = "766.601 485.227 82.3299"; + spawnPos43 = "781.601 496.477 81.2768"; + spawnPos14 = "777.851 481.477 80.5271"; + spawnPos37 = "781.601 492.727 80.8388"; + spawnPos42 = "777.851 496.477 82.0239"; + spawnPos13 = "774.101 481.477 80.9393"; + spawnPos41 = "774.101 496.477 82.6003"; + spawnPos12 = "770.351 481.477 81.5106"; + spawnPos36 = "777.851 492.727 81.5346"; + spawnPos11 = "766.601 481.477 81.8758"; + spawnPos35 = "774.101 492.727 82.1111"; + spawnPos40 = "762.851 496.477 83.2378"; + spawnPos34 = "762.851 492.727 82.9318"; + spawnPos39 = "759.101 496.477 83.3291"; + spawnPos10 = "762.851 481.477 81.9606"; + spawnPos38 = "755.351 496.477 83.71"; + spawnPos9 = "759.101 481.477 82.0976"; + spawnPos33 = "759.101 492.727 83.0231"; + }; + }; + new SimGroup(thisisabase) { + + powerCount = "2"; + + new StaticShape() { + position = "769.457 496.857 84.9846"; + rotation = "0.194746 0.128918 -0.972345 111.491"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Trigger = "5498"; + team = "1"; + }; + new StaticShape() { + position = "771.163 492.774 85.7685"; + rotation = "0.194746 0.128918 -0.972345 111.491"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "5500"; + team = "1"; + }; + new StaticShape() { + position = "772.784 488.615 86.5172"; + rotation = "0.194746 0.128918 -0.972345 111.491"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "5502"; + team = "1"; + }; + new StaticShape() { + position = "774.495 484.517 87.2993"; + rotation = "0.194746 0.128918 -0.972345 111.491"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "5504"; + team = "1"; + }; + new InteriorInstance() { + position = "757.39 480.598 100.448"; + rotation = "0 0 -1 22.9184"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "751.401 485.636 81.4892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + team = "1"; + }; + new InteriorInstance() { + position = "737.076 462.706 47.2754"; + rotation = "0.96228 0.20259 0.181588 185.817"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "1"; + + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "582.934 443.081 85.9863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos8 = "590.434 431.831 74.2482"; + spawnPos7 = "586.684 431.831 73.3254"; + spawnPos6 = "582.934 431.831 72.2943"; + spawnPos5 = "579.184 431.831 70.9905"; + spawnPos4 = "594.184 428.081 74.489"; + spawnPosCount = "19"; + spawnPos3 = "590.434 428.081 74.2272"; + spawnPos2 = "586.684 428.081 73.5158"; + spawnPos1 = "582.934 428.081 72.4847"; + spawnPos0 = "579.184 428.081 71.2843"; + spawnPos18 = "594.184 443.081 72.3219"; + spawnPos17 = "594.184 439.331 73.3175"; + spawnPos16 = "590.434 439.331 72.7422"; + spawnPos15 = "586.684 439.331 71.9365"; + spawnPos19 = "594.184 446.831 71.3334"; + spawnPos14 = "582.934 439.331 71.0071"; + spawnPos13 = "594.184 435.581 74.1085"; + spawnPos12 = "590.434 435.581 73.5332"; + spawnPos11 = "586.684 435.581 72.6733"; + spawnPos10 = "582.934 435.581 71.6422"; + spawnPos9 = "594.184 431.831 74.8086"; + }; + }; + new SimGroup(base0) { + + powerCount = "2"; + + new StaticShape() { + position = "586.157 438.441 82.7931"; + rotation = "0.308607 -0.0937518 0.946558 60.7023"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "5513"; + team = "2"; + }; + new StaticShape() { + position = "584.368 442.276 82.2749"; + rotation = "0.308607 -0.0937518 0.946558 60.7023"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "5515"; + team = "2"; + }; + new StaticShape() { + position = "580.016 449.897 81.3931"; + rotation = "0.308607 -0.0937518 0.946558 60.7023"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "5517"; + team = "2"; + }; + new StaticShape() { + position = "582.146 446.056 81.8531"; + rotation = "0.308607 -0.0937518 0.946558 60.7023"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "5519"; + team = "2"; + }; + new InteriorInstance() { + position = "597.746 444.851 96.8111"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "583.079 446.489 68.5614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "2"; + }; + new InteriorInstance() { + position = "564.644 683.662 78.5874"; + rotation = "0.923815 0.352618 0.149084 49.1833"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "621.508 466.733 42.7172"; + rotation = "-0.233979 0.968141 -0.0892023 164.698"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + providesPower = "1"; + powerCount = "2"; + + new Item() { + position = "661.705 469.306 73.4618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "662.087 468.699 73.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "649.746 495.348 75.5641"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "650.553 494.64 75.456"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "648.922 495.953 75.6122"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "703.926 445.274 74.8318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "703.633 446.521 75.1513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "702.585 445.431 75.1635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "843.708 482.038 76.9751"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "843.754 480.173 76.975"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "843.733 483.822 77.0494"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "654.895 629.373 59.6613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "629.241 340.005 76.2726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new InteriorInstance() { + position = "759.743 577.88 90.9533"; + rotation = "-0.468444 -0.454235 -0.75778 103.986"; + scale = "1 1 0.990928"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "676.706 559.983 235.079"; + rotation = "-0.00135856 -0.467437 0.884025 180.294"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "845.095 615.834 160.135"; + rotation = "-0.0906692 -0.188081 0.977959 230.483"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "478.6 431.991 128.418"; + rotation = "0.144978 -0.123358 0.981715 81.8323"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "835.44 441.755 109.83"; + rotation = "0 0 -1 99.1217"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new SimGroup(OFMGYEEEE) { + + powerCount = "0"; + + new ParticleEmissionDummy() { + position = "747.39 591.373 99.4689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "742.95 582.125 97.1525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "751.269 582.322 101.583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "HeavyDamageSmoke"; + velocity = "1"; + }; + new StaticShape() { + position = "747.822 591.471 98.8997"; + rotation = "0 1 0 27.5019"; + scale = "2 2 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "743.296 582.295 96.5561"; + rotation = "0 1 0 27.5019"; + scale = "2 2 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "751.639 582.486 100.882"; + rotation = "0 1 0 27.5019"; + scale = "2 2 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new InteriorInstance() { + position = "704.958 516.286 99.0411"; + rotation = "0.622568 -0.561696 -0.544891 116.568"; + scale = "6.49675 0.500999 0.237417"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "653.611 238.89 75.8302"; + rotation = "-0.970381 0.214987 -0.110184 23.5411"; + scale = "3.24286 1.98856 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "594.231 300.718 71.0456"; + rotation = "1 0 0 77.9223"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "514.753 307.927 79.7116"; + rotation = "1 0 0 77.9223"; + scale = "3.18697 2.10077 2.84643"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "425.181 548.886 75.9238"; + rotation = "1 0 0 77.9223"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "670.305 739.755 84.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "740.522 608.309 73.4867"; + rotation = "1 0 0 77.9223"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "502.267 679.97 75.3994"; + rotation = "-0.351476 -0.0673054 0.933774 200.276"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "806.142 750.209 75.0546"; + rotation = "0.76109 -0.532843 -0.369891 209.037"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "815.705 263.222 84.3063"; + rotation = "1 0 0 186.029"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "442.246 360.081 86.0235"; + rotation = "-1 0 0 24.8196"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "988.159 561.814 138.216"; + rotation = "0.125265 0.283699 0.950696 134.458"; + scale = "2.84197 3.17938 5.16291"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "689.141 179.712 31.9655"; + rotation = "-0.466613 0.850524 0.242653 175.32"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "739.635 549.584 70.7574"; + rotation = "1 0 0 0"; + scale = "2.01408 1 1.7057"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "483.792 420.749 64.1325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "654.769 649.263 46.0092"; + rotation = "0.0816928 0.983596 -0.160824 25.6168"; + scale = "1 1 1"; + interiorFile = "dtowr2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "513.477 508.279 72.9688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "749.65 590.394 95.7759"; + rotation = "0 1 0 207.411"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "631.46 378.752 44.0418"; + rotation = "0.228302 0.961109 0.155395 157.759"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "504.911 482.274 45.0841"; + rotation = "-1 0 0 41.8259"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "463.635 498.828 77.5718"; + rotation = "0 1 0 18.3346"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "551.561 374.538 74.8548"; + rotation = "1 0 0 136.937"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "751.215 436.331 102.804"; + rotation = "1 0 0 33.2315"; + scale = "2.84197 1 5.16291"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "837.349 469.915 86.2117"; + rotation = "0 1 0 123.186"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "861.052 583.44 83.9728"; + rotation = "0 -1 0 18.9076"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "725.728 361.084 62.732"; + rotation = "-0.234637 0.935965 0.262518 185.873"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "875.273 416.305 88.3228"; + rotation = "-0.0151166 0.999883 0.00250475 203.58"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "814.982 633.971 65.0607"; + rotation = "-0.0115713 0.941012 0.338174 183.688"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "653.79 530.614 80.8931"; + rotation = "-0.342835 0.229943 0.910819 117.159"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "546.21 563.684 92.1202"; + rotation = "-0.256987 0.027014 0.966037 173.758"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "713.229 573.284 74.847"; + rotation = "0.622568 -0.561696 -0.544891 116.568"; + scale = "2.36306 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "823.973 443.67 86.0871"; + rotation = "0.622568 -0.561696 -0.544891 116.568"; + scale = "3.24286 0.1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "657.741 400.089 78.178"; + rotation = "0.292136 -0.185106 -0.938292 91.478"; + scale = "3.24286 0.1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "783.144 345.563 93.4317"; + rotation = "-0.970381 0.214987 -0.110184 23.5411"; + scale = "3.24286 0.1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "525.286 404.572 68.6469"; + rotation = "0.570575 0.598793 0.562041 128.392"; + scale = "3.24286 0.1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "541.946 459.228 68.7683"; + rotation = "-0.476276 0.0296704 0.878795 177.672"; + scale = "3.24286 0.1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "536.625 443.338 52.9532"; + rotation = "0.690553 0.719016 -0.078445 181.76"; + scale = "3.24286 0.1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "513.544 550.296 83.4529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "611.916 564.317 72.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "549.281 574.747 87.0284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "587.23 535.123 82.4656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "560.264 494.771 65.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "583.718 399.438 74.2764"; + rotation = "0 1 0 80.787"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "577.32 332.901 84.7398"; + rotation = "0 1 0 80.787"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "838.795 377.882 80.689"; + rotation = "0 1 0 80.787"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "750.283 369.615 80.5442"; + rotation = "1 0 0 93.9651"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "666.094 421.515 70.8521"; + rotation = "0.997666 -0.0499249 -0.0465841 94.0987"; + scale = "1 0.350139 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "862.831 555.039 66.566"; + rotation = "0 1 0 84.2248"; + scale = "1 1 2.67335"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "795.5 502.94 80.3654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "649.967 572.947 68.612"; + rotation = "1 0 0 77.9223"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "678.945 513.736 83.6925"; + rotation = "0.162266 0.767267 -0.62046 157.307"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "827.637 527.456 77.6667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "810.132 450.833 75.1356"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "736.988 429.044 71.9912"; + rotation = "0.502277 0.543722 0.672372 116.309"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "611.122 374.173 72.1496"; + rotation = "1 0 0 77.9223"; + scale = "1 1.26451 1.22602"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "715.85 421.851 70.8356"; + rotation = "0.542926 -0.151566 0.825989 136.054"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/DangerousCrossingArena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/DangerousCrossingArena.mis new file mode 100644 index 00000000..69a38411 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/DangerousCrossingArena.mis @@ -0,0 +1,2549 @@ +// DisplayName = [Original]Dangerous Crossing +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//Two bases, two teams, separated by a large chasm. A lengthy bridge joins the two. The last team standing wins. Flags don't mean jack here, only you, your disc launcher, and your teammates. Those who work together will stand, those who do not, will be forgotten. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//www.tribesarena.com +//Download This Map +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + cdTrack = "2"; + powerCount = "0"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-384 -664 896 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "DangerousCrossing_nef.ter"; + squareSize = "8"; + + visibleDistance = "500"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + locked = "true"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + GraphFile = "DangerousCrossing_nef.nav"; + scale = "1 1 1"; + coverage = "0"; + }; + new SimGroup(AmbientSounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "8.18838 4.68738 21.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-356.385 -403.657 163.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "38.5419 -545.858 209.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "147.42 -235.426 24.8715"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "282.537 70.4095 150.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "446.319 218.146 76.7411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "293.537 -585.99 145.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-46.7896 -697.315 127.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-315.663 -526.902 196.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-614.545 -154.511 75.0835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-443.971 -70.8698 206.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-361.413 351.811 29.2453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "76.8658 302.759 193.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "198.681 137.14 177.945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "124.621 -26.4371 21.8651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "42.0874 -144.166 161.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-253.594 -291.801 85.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.700000 0.700000 1.000000"; + fogDistance = "220"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 516692326335925828000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-213.763 42.4989 101.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + spawnPos10 = "-263.763 -32.5011 88.2889"; + spawnPos29 = "-188.763 17.4989 87.9646"; + spawnPos48 = "-313.763 92.4989 151.668"; + spawnPos14 = "-163.763 -32.5011 62.5357"; + spawnPos33 = "-288.763 42.4989 118.837"; + spawnPos52 = "-213.763 92.4989 102.47"; + spawnPos18 = "-263.763 -7.5011 96.5174"; + spawnPos37 = "-188.763 42.4989 83.1528"; + spawnPos56 = "-288.763 117.499 157.961"; + spawnPos3 = "-238.763 -57.5011 77.6138"; + spawnPos22 = "-163.763 -7.5011 78.6872"; + spawnPos41 = "-288.763 67.4989 130.362"; + spawnPos60 = "-188.763 117.499 115.32"; + spawnPos7 = "-138.763 -57.5011 25.7943"; + spawnPos26 = "-263.763 17.4989 106.723"; + spawnPos45 = "-188.763 67.4989 86.2803"; + spawnPos11 = "-238.763 -32.5011 79.5734"; + spawnPos30 = "-163.763 17.4989 86.2491"; + spawnPos49 = "-288.763 92.4989 144.918"; + spawnPos15 = "-138.763 -32.5011 39.1702"; + spawnPos34 = "-263.763 42.4989 109.392"; + spawnPos53 = "-188.763 92.4989 92.0638"; + spawnPos0 = "-313.763 -57.5011 121.657"; + spawnPos19 = "-238.763 -7.5011 83.4078"; + spawnPos38 = "-163.763 42.4989 87.9566"; + spawnPos57 = "-263.763 117.499 157.504"; + spawnPos4 = "-213.763 -57.5011 72.8504"; + spawnPos23 = "-138.763 -7.5011 54.4816"; + spawnPos42 = "-263.763 67.4989 115.493"; + spawnPos61 = "-163.763 117.499 109.934"; + spawnPos8 = "-313.763 -32.5011 120.26"; + spawnPos27 = "-238.763 17.4989 84.9921"; + spawnPos46 = "-163.763 67.4989 90.2604"; + locked = "false"; + spawnPos12 = "-213.763 -32.5011 81.0269"; + spawnPos31 = "-138.763 17.4989 71.5686"; + spawnPos50 = "-263.763 92.4989 132.685"; + spawnPosCount = "62"; + spawnPos16 = "-313.763 -7.5011 115.366"; + spawnPos35 = "-238.763 42.4989 91.6196"; + spawnPos54 = "-163.763 92.4989 97.0927"; + spawnPos1 = "-288.763 -57.5011 105.383"; + spawnPos20 = "-213.763 -7.5011 83.9048"; + spawnPos39 = "-138.763 42.4989 84.3002"; + spawnPos58 = "-238.763 117.499 145.649"; + spawnPos5 = "-188.763 -57.5011 63.2365"; + spawnPos24 = "-313.763 17.4989 118.96"; + spawnPos43 = "-238.763 67.4989 99.6947"; + spawnPos62 = "-138.763 117.499 101.643"; + spawnPos9 = "-288.763 -32.5011 107.722"; + spawnPos28 = "-213.763 17.4989 81.2048"; + spawnPos47 = "-138.763 67.4989 88.4324"; + spawnPos13 = "-188.763 -32.5011 78.1667"; + spawnPos32 = "-313.763 42.4989 129.511"; + spawnPos51 = "-238.763 92.4989 116.543"; + spawnPos17 = "-288.763 -7.5011 116.271"; + spawnPos36 = "-213.763 42.4989 81.6823"; + spawnPos55 = "-138.763 92.4989 96.9809"; + spawnPos2 = "-263.763 -57.5011 91.0429"; + spawnPos21 = "-188.763 -7.5011 86.2794"; + spawnPos40 = "-313.763 67.4989 143.04"; + spawnPos59 = "-213.763 117.499 128.049"; + spawnPos6 = "-163.763 -57.5011 46.9014"; + spawnPos25 = "-288.763 17.4989 117.619"; + spawnPos44 = "-213.763 67.4989 92.2666"; + }; + }; + new InteriorInstance() { + position = "-212.909 47.193 104.206"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-220.725 49.3895 104.188"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + nameTag = "wtf i feel so surrounded"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12517"; + team = "1"; + locked = "false"; + Target = "33"; + }; + new StaticShape() { + position = "-207.098 41.5278 104.191"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12519"; + team = "1"; + inUse = "Down"; + locked = "false"; + notReady = "1"; + Target = "34"; + }; + new InteriorInstance() { + position = "-336.425 -144.611 159.646"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-213.844 45.3733 134.919"; + rotation = "0 0 1 122.636"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "false"; + Target = "35"; + }; + new Item() { + position = "-216.4 41.1339 122.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + locked = "false"; + Target = "-1"; + }; + new StaticShape() { + position = "-336.802 -144.615 167.106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + locked = "false"; + Target = "37"; + }; + new StaticShape() { + position = "-320.53 114.613 156.8"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12525"; + team = "1"; + locked = "false"; + Target = "36"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "287.008 -285.796 110.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + spawnPos10 = "237.008 -360.796 91.6342"; + spawnPos29 = "312.008 -310.796 97.6597"; + spawnPos48 = "187.008 -235.796 36.1859"; + spawnPos14 = "337.008 -360.796 119.175"; + spawnPos33 = "212.008 -285.796 64.3745"; + spawnPos52 = "287.008 -235.796 103.637"; + spawnPos18 = "237.008 -335.796 87.6718"; + spawnPos37 = "312.008 -285.796 100.328"; + spawnPos56 = "187.008 -210.796 26.0802"; + spawnPos3 = "262.008 -385.796 114.716"; + spawnPos22 = "337.008 -335.796 112.52"; + spawnPos41 = "212.008 -260.796 63.2726"; + spawnPos60 = "287.008 -210.796 100.953"; + spawnPos7 = "362.008 -385.796 115.622"; + spawnPos26 = "237.008 -310.796 89.2954"; + spawnPos45 = "312.008 -260.796 112.341"; + spawnPos11 = "262.008 -360.796 103.055"; + spawnPos30 = "337.008 -310.796 112.662"; + spawnPos49 = "212.008 -235.796 55.2722"; + spawnPos15 = "362.008 -360.796 122.215"; + spawnPos34 = "237.008 -285.796 81.5129"; + spawnPos53 = "312.008 -235.796 118.668"; + spawnPos0 = "187.008 -385.796 66.5415"; + spawnPos19 = "262.008 -335.796 97.2933"; + spawnPos38 = "337.008 -285.796 122.131"; + spawnPos57 = "212.008 -210.796 37.2858"; + spawnPos4 = "287.008 -385.796 121.037"; + spawnPos23 = "362.008 -335.796 126.055"; + spawnPos42 = "237.008 -260.796 79.3527"; + spawnPos61 = "312.008 -210.796 117.57"; + spawnPos8 = "187.008 -360.796 54.2364"; + spawnPos27 = "262.008 -310.796 92.2174"; + spawnPos46 = "337.008 -260.796 119.535"; + locked = "false"; + spawnPos12 = "287.008 -360.796 113.247"; + spawnPos31 = "362.008 -310.796 127.462"; + spawnPos50 = "237.008 -235.796 74.4782"; + spawnPosCount = "63"; + spawnPos16 = "187.008 -335.796 52.887"; + spawnPos35 = "262.008 -285.796 89.6467"; + spawnPos54 = "337.008 -235.796 118.36"; + spawnPos1 = "212.008 -385.796 88.5627"; + spawnPos20 = "287.008 -335.796 103.387"; + spawnPos39 = "362.008 -285.796 129.907"; + spawnPos58 = "237.008 -210.796 46.2873"; + spawnPos5 = "312.008 -385.796 121.45"; + spawnPos24 = "187.008 -310.796 42.8744"; + spawnPos43 = "262.008 -260.796 87.6249"; + spawnPos62 = "337.008 -210.796 118.295"; + spawnPos9 = "212.008 -360.796 72.1787"; + spawnPos28 = "287.008 -310.796 92.5765"; + spawnPos47 = "362.008 -260.796 123.575"; + spawnPos13 = "312.008 -360.796 112.667"; + spawnPos32 = "187.008 -285.796 36.2843"; + spawnPos51 = "262.008 -235.796 83.6457"; + spawnPos17 = "212.008 -335.796 74.0454"; + spawnPos36 = "287.008 -285.796 89.4719"; + spawnPos55 = "362.008 -235.796 120.85"; + spawnPos2 = "237.008 -385.796 104.743"; + spawnPos21 = "312.008 -335.796 102.604"; + spawnPos40 = "187.008 -260.796 36.4955"; + spawnPos59 = "262.008 -210.796 64.9936"; + spawnPos6 = "337.008 -385.796 115.792"; + spawnPos25 = "212.008 -310.796 67.5363"; + spawnPos44 = "287.008 -260.796 97.6519"; + spawnPos63 = "362.008 -210.796 119.944"; + }; + }; + new InteriorInstance() { + position = "286.192 -283.443 110.772"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "291.983 -289.094 110.75"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12534"; + team = "2"; + locked = "false"; + Target = "39"; + }; + new StaticShape() { + position = "278.423 -281.269 110.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + nameTag = "LOL GO GET SNIPED"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12536"; + team = "2"; + locked = "false"; + Target = "40"; + }; + new InteriorInstance() { + position = "384.797 -529.162 178.084"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "285.164 -285.389 141.728"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "false"; + Target = "41"; + }; + new Item() { + position = "287.707 -280.779 128.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + locked = "false"; + Target = "-1"; + }; + new StaticShape() { + position = "385.038 -529.131 185.553"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + locked = "false"; + Target = "42"; + }; + new StaticShape() { + position = "413.412 -242.385 142.884"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "12542"; + team = "2"; + locked = "false"; + Target = "43"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-149.728 -7.48875 75.9454"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-122.679 -24.5839 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-95.6376 -41.6678 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-41.5443 -75.84 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-68.5862 -58.7561 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-14.4983 -92.9357 75.9567"; + rotation = "0 0 1 212.292"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "226.216 -248.392 77.6008"; + rotation = "0 0 1 212.865"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "91.847 -161.597 77.5895"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "118.724 -178.961 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "145.593 -196.314 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "199.342 -231.026 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "172.472 -213.672 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "258.149 -323.371 127.864"; + rotation = "0.0804185 -0.0405322 0.995937 53.6854"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-237.544 -10.1634 124.612"; + rotation = "0.711689 0.0283453 -0.701923 6.49514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + }; + new InteriorInstance() { + position = "428.643 -247.368 148.898"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-323.843 130.376 162.814"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition6BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "100 -108 63.2088"; + rotation = "0.0649977 -0.771458 0.632952 28.0974"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-452 28 114.787"; + rotation = "-0.0575092 -0.000833559 0.998345 176.007"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "548 -620 112.443"; + rotation = "-0.0759765 -0.0920096 0.992855 92.41"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "620 204 156.209"; + rotation = "0.223112 0.885322 -0.407953 24.2087"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-380 -604 141.756"; + rotation = "-0.28507 0.519497 -0.805517 31.9855"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-52 308 126.646"; + rotation = "0.0684581 -0.0694007 -0.995237 114.249"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-516 -444 63.5525"; + rotation = "-0.220743 -0.021871 0.975087 66.317"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "452 -260 146.99"; + rotation = "0.307339 0.117502 -0.944318 73.114"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-52 -220 42.7087"; + rotation = "0.0203464 0.119769 0.992593 188.933"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-308 -36 120.646"; + rotation = "0.17395 -0.461662 -0.869833 16.0694"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "44 -284 30.0369"; + rotation = "-0.263913 -0.000143352 0.964546 59.7704"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "476 -484 180.037"; + rotation = "-0.0170411 -0.00622175 0.999835 194.998"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "452 -204 143.693"; + rotation = "0.0360948 0.0842524 -0.99579 75.2333"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-244 -132 84.1462"; + rotation = "-0.153639 -0.412905 0.897722 50.6129"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "476 444 87.3807"; + rotation = "0.144086 0.120178 0.98224 85.0225"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "340 -420 114.521"; + rotation = "0.135191 0.563483 -0.814991 21.9952"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "92 -332 42.4431"; + rotation = "0.677626 0.385326 -0.626376 35.9885"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "412 268 70.9431"; + rotation = "-0.194155 0.143761 0.97038 67.5833"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "28 444 70.8494"; + rotation = "0.856966 0.0874315 0.507903 21.4696"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-500 404 62.7556"; + rotation = "0.807734 -0.566894 -0.161854 6.17334"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-500 -508 73.5681"; + rotation = "0.552677 0.120966 -0.82457 53.3442"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "468 276 68.6463"; + rotation = "0.0950013 0.0396648 -0.994687 117.272"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-428 -684 122.912"; + rotation = "0.0250507 -0.0214751 -0.999455 81.0306"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-268 -684 142.24"; + rotation = "-0.0784497 -0.0347818 0.996311 224.85"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "44 332 126.334"; + rotation = "0.227652 -0.187506 -0.955519 68.4032"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "420 180 74.365"; + rotation = "0.659778 0.332645 -0.673825 14.7959"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-324 -28 116.662"; + rotation = "0.690947 0.689839 -0.216133 18.3565"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-284 -580 150.146"; + rotation = "-0.0807092 0.0398195 0.995942 204.901"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "484 348 73.8962"; + rotation = "0.142696 -0.074033 0.986994 147.406"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "308 -444 112.834"; + rotation = "-0.0241944 0.1133 0.993266 211.796"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-196 -116 64.4744"; + rotation = "0.058772 -0.886553 0.458879 32.0164"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "548 -228 186.849"; + rotation = "0.00106694 -0.145371 0.989377 73.5862"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-308 -44 121.068"; + rotation = "0.236998 -0.315957 0.918696 24.9741"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "260 -572 135.193"; + rotation = "0.038202 -0.0873718 0.995443 106.252"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "332 -516 149.365"; + rotation = "-0.0999448 -0.030307 0.994531 202.877"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "524 -44 80.0369"; + rotation = "0.0350682 -0.130771 0.990792 116.475"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "300 -84 75.0526"; + rotation = "0.878787 0.288441 -0.380177 30.9075"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "76 340 126.896"; + rotation = "0.0396606 0.108119 0.993347 84.3807"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-236 -12 83.0838"; + rotation = "0.0454876 -0.0691338 0.99657 199.933"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "28 -124 81.6931"; + rotation = "0.123135 0.012143 0.992316 128.347"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-476 -12 104.803"; + rotation = "-0.140806 -0.194785 0.970687 46.2181"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-420 -588 132.334"; + rotation = "-0.0974728 -0.0146329 0.995131 215.836"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-244 60 99.7088"; + rotation = "-0.362083 -0.182982 -0.91401 76.962"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "516 -140 158.849"; + rotation = "0.236059 -0.0604871 0.969854 78.7141"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-212 292 105.693"; + rotation = "0.0590834 -0.210753 0.975752 227.947"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-52 116 70.365"; + rotation = "-0.312355 -0.243145 0.918322 58.047"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "12 188 129.302"; + rotation = "-0.15801 0.147838 -0.976308 115.249"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "411.948 395.955 112.198"; + rotation = "-0.0140795 0.0175718 0.999746 153.045"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "460 -484 180.287"; + rotation = "-0.0160332 0.151453 0.988334 186.919"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-556 -428 61.3025"; + rotation = "-0.0104187 0.117468 -0.993022 65.3642"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "420 44 61.2244"; + rotation = "-0.392814 0.720124 -0.571942 15.6695"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "620 52 133.646"; + rotation = "-0.0906699 -0.0368382 0.995199 170.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-124 -148 38.1775"; + rotation = "-0.00667205 0.142121 0.989827 206.735"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "420 -628 192.146"; + rotation = "0.378496 -0.0757718 -0.922496 64.0813"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-444 -636 125.662"; + rotation = "0.0243316 -0.06889 0.997328 189.974"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "340 340 115.302"; + rotation = "0.133018 -0.0901527 0.987005 173.091"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "252 -292 88.5681"; + rotation = "-0.120453 0.0740677 0.989952 155.243"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "436 404 108.224"; + rotation = "0.197539 0.184369 0.962801 216.683"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "156 -588 126.115"; + rotation = "-0.00137666 -0.0625443 0.998041 161.037"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-188 -12 86.4275"; + rotation = "-0.0132298 -0.415848 0.909338 38.2464"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-340 -308 130.334"; + rotation = "-0.19745 -0.0630888 0.978281 103.228"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-268 204 137.021"; + rotation = "0.304035 -0.198052 -0.931847 39.5033"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-140 -708 160.709"; + rotation = "0.111798 -0.122636 0.986135 65.7269"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-252 -620 148.006"; + rotation = "-0.0602859 -0.139922 0.988326 46.486"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "132 180 151.474"; + rotation = "0.340127 -0.0467034 0.939219 28.6773"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-332 -524 175.334"; + rotation = "-0.408782 -0.0968331 0.90748 68.0606"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-412 -596 133.724"; + rotation = "-0.112205 -0.0231678 0.993415 160.129"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-220 196 124.412"; + rotation = "0.135563 0.201714 0.970018 183.88"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-356 -660 128.459"; + rotation = "-0.421982 -0.211707 0.881539 41.5693"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "116 -228 24.3807"; + rotation = "-0.82623 0.563333 0 5.93774"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-4 108 73.3181"; + rotation = "-0.180919 0.322042 -0.929278 69.894"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-468 -652 129.302"; + rotation = "0.0139274 -0.211624 0.977252 39.8371"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "92 348 128.49"; + rotation = "-0.0629431 0.817345 0.5727 13.9227"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-484 -676 127.646"; + rotation = "-0.261621 -0.645745 0.717334 38.3324"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "420 -204 137.881"; + rotation = "0.207953 -0.0497044 -0.976875 50.0197"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-564 -124 90.8337"; + rotation = "-0.077915 0.139494 0.987153 135.521"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "172 -644 146.24"; + rotation = "0.953275 -0.0986106 -0.285556 24.1793"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-276.046 292.018 99.9354"; + rotation = "-0.235152 0.0159896 0.971827 213.095"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "false"; + }; + }; + new SimGroup(Addition5BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "428 -204 138.141"; + rotation = "-0.0517957 0.129985 0.990162 82.5615"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-212 12 81.8749"; + rotation = "0.16692 0.154629 0.97377 23.6024"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "292 -636 152.578"; + rotation = "0.250098 0.0299189 -0.967758 70.7631"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-76 -4 14.7657"; + rotation = "0.0512118 0.0473908 0.997563 26.0614"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "556 332 74.3906"; + rotation = "0.163964 0.187618 -0.96846 97.8228"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-220 -236 92.9844"; + rotation = "0.94297 -0.303754 0.136163 21.7716"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-492 4 104.594"; + rotation = "0.166376 -0.123337 0.978318 233.978"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "324 -516 146.562"; + rotation = "0.132295 0.430669 0.892761 39.9979"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "572 -164 174.438"; + rotation = "0.348006 0.328669 0.877991 54.8636"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "340 324 112.5"; + rotation = "-0.189103 0.162724 -0.968381 103.794"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-92 -220 44.4219"; + rotation = "0.0437489 0.100919 0.993932 172.048"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-180 204 125.141"; + rotation = "-0.18908 0.231612 0.954256 99.6545"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "372 -476 138.906"; + rotation = "0.512619 0.101604 0.852583 38.3176"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-476 -692 119.828"; + rotation = "0.0291689 -0.049656 0.99834 174.01"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-476 -316 129.562"; + rotation = "0.304871 0.715363 -0.628737 22.1001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "20 -676 165.062"; + rotation = "-0.136007 0.0204947 0.990496 148.289"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "460 60 71.9218"; + rotation = "0.0905301 -0.0345516 0.995294 229.793"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "36 -580 175.953"; + rotation = "-0.217858 0.0938521 0.971458 122.411"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-188 180 133.531"; + rotation = "0.0150727 0.235793 0.971686 176.113"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-388 -628 133.469"; + rotation = "-0.228744 0.0376733 0.972757 114.449"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-532 44 119.375"; + rotation = "0.147801 -0.170979 0.974126 222.967"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-148 -276 71.9843"; + rotation = "0.228857 -0.0427114 0.972523 152.74"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "76 476 64.4531"; + rotation = "0.0684385 0.089631 -0.993621 108.349"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "484 244 81.7812"; + rotation = "-0.202217 0.0838836 0.975742 180.976"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-300 116 156.187"; + rotation = "-0.0392527 -0.114476 0.99265 165.109"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "108 -116 58.8281"; + rotation = "-0.315545 -0.61864 -0.719525 40.8501"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-244 -588 144.187"; + rotation = "0.0710776 0.0363129 -0.99681 104.178"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "596 92 138.391"; + rotation = "-0.112981 -0.129721 0.985093 156.348"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-300 260 93.0937"; + rotation = "0.0718987 0.442044 0.894107 63.5943"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "340 -84 80.6875"; + rotation = "0.0148553 0.40322 0.914983 52.9531"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "548 -620 112.328"; + rotation = "-0.00614694 -0.0868628 0.996201 163.064"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "284 -596 126.297"; + rotation = "0.587796 -0.463155 0.663312 32.6659"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "164 -596 124.984"; + rotation = "-0.0825852 -0.0565565 0.994978 92.288"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "444 -220 140.797"; + rotation = "0.090145 0.509327 0.855839 17.4903"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-132 -300 68.9687"; + rotation = "-0.111338 0.0929767 0.989424 115.551"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "460 -556 165.016"; + rotation = "-0.0595715 0.218122 0.974102 135.071"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "380 -268 132.531"; + rotation = "-0.0267231 -0.228723 0.973125 229.797"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "332 -524 148.719"; + rotation = "0.0984676 -0.030729 -0.994666 48.228"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "60 460 65.3438"; + rotation = "0.271811 -0.210283 -0.939095 77.4891"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "612 116 146.953"; + rotation = "-0.169115 0.0695272 0.983141 93.9725"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-284 -52 101.594"; + rotation = "-0.154379 -0.40628 -0.900613 61.114"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-276 212 135.766"; + rotation = "-0.00430558 0.103812 0.994588 228.765"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "476 412 100.141"; + rotation = "0.379395 -0.300514 -0.875072 45.1682"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "300 -548 141.812"; + rotation = "-0.263269 -0.0114942 0.964654 97.0505"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-116 -244 51.3438"; + rotation = "0.0925744 -0.185336 -0.978305 113.16"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "36 220 139.062"; + rotation = "-0.35419 -0.342382 0.870244 45.3932"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-540 -244 134.031"; + rotation = "0.0990367 -0.180436 0.978588 166.297"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-532 92 109.406"; + rotation = "-0.122854 -0.0620922 0.99048 162.168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "420 -644 195.813"; + rotation = "0.0535113 -0.144208 0.988099 84.6828"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "396 -292 121.375"; + rotation = "-0.482034 -0.330282 -0.811515 17.2075"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-124 420 112.953"; + rotation = "-0.052882 0.252276 -0.966209 100.94"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "452 -628 192"; + rotation = "0.0900206 -0.0851775 0.992291 204.813"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-4 348 110.625"; + rotation = "0.476862 0.305382 0.824224 34.8407"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "196 -44 28.0781"; + rotation = "0.156808 -0.175611 0.971891 188.748"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "596 -636 123.094"; + rotation = "0.0599661 0.0753877 0.99535 13.0602"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-84 -172 39.0313"; + rotation = "-0.181911 0.0617697 -0.981373 107.033"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "508 -516 184.5"; + rotation = "-0.0162673 -0.210839 -0.977385 114.201"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "580 -612 121.734"; + rotation = "-0.106475 0.00900665 0.994275 78.3222"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-388 196 107.687"; + rotation = "-0.0602392 0.288904 0.955461 120.28"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-524 -380 74.9219"; + rotation = "-0.000281585 0.0655801 0.997847 87.1234"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-300 -4 117.984"; + rotation = "-0.0505519 -0.117772 0.991753 232.622"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-108 -596 169.719"; + rotation = "-0.198817 0.139493 -0.970059 92.741"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "468 36 68.7031"; + rotation = "-0.00315121 -0.0272797 0.999623 195.995"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "292 -340 105.109"; + rotation = "0.00803253 0.17534 0.984475 171.139"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-116 -644 140.531"; + rotation = "-0.0230531 0.141275 0.989702 226.568"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "204 -596 128.188"; + rotation = "0.143253 0.0577301 -0.988001 118.609"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-140 -700 160.922"; + rotation = "0.0169235 -0.118472 0.992813 62.3653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-124 -572 181.625"; + rotation = "-0.115498 -0.214731 0.96982 80.7286"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "92 348 128.375"; + rotation = "0.096637 0.173648 -0.980055 59.9944"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "28 -100 76.625"; + rotation = "0.199411 0.187205 0.961868 76.1518"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "404 -380 115.047"; + rotation = "-0.241633 0.437847 0.86597 42.2513"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "500 -36 86"; + rotation = "0.163719 -0.0374673 0.985795 139.535"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "156 -676 162.422"; + rotation = "0.256022 -0.213318 -0.94284 66.0437"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "180 4 56.6406"; + rotation = "-0.0275218 -0.128656 0.991307 237.576"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-244 292 110.375"; + rotation = "0.205863 0.125121 0.970549 46.2239"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-52 364 113.297"; + rotation = "-0.012868 0.145414 -0.989287 114.562"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "468 252 71.8281"; + rotation = "0.187878 -0.129221 -0.973655 108.457"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-116 -292 69.0469"; + rotation = "0.44835 -0.394235 -0.802223 30.8965"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "60 -500 174.531"; + rotation = "0.0953873 0.18184 0.978691 186.851"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "164 -580 127.609"; + rotation = "-0.0757773 0.0968426 -0.992411 59.3751"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "356 -228 118.953"; + rotation = "0.0890907 0.0969342 -0.991295 74.4822"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-60 292 131.188"; + rotation = "0.611397 0.621109 0.490324 26.1632"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "612 -468 190.313"; + rotation = "0.165017 0.115714 0.979479 216.291"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "404 436 112.953"; + rotation = "0.220907 -0.14792 0.964012 105.037"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "628 60 135.625"; + rotation = "-0.0920355 0.104929 0.990212 46.4068"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "156 460 82.1563"; + rotation = "-0.174637 -0.0881296 0.980681 156.45"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "300 324 110.094"; + rotation = "0.0852817 0.126122 0.988342 167.15"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-316 -500 180.578"; + rotation = "0.645668 -0.170717 -0.744291 30.5766"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-180 -612 150.812"; + rotation = "-0.0714194 0.191366 0.978917 126.981"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "52 444 72.3281"; + rotation = "0.0795805 0.202987 0.975942 122.188"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "276 -332 100.453"; + rotation = "-0.019764 0.213618 0.976717 132.995"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "172 -548 131.656"; + rotation = "-0.186286 0.439465 -0.878731 42.7951"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-188 -324 115.953"; + rotation = "0.0809679 -0.10851 0.990793 159.189"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "492 -508 181.484"; + rotation = "0.241137 0.0644392 -0.968349 118.63"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-324 476 82.7031"; + rotation = "0.221167 -0.194796 0.955583 77.5286"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "612 -644 123.75"; + rotation = "0.880254 -0.474503 0 7.67607"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-164 -644 156.625"; + rotation = "0.0452375 0.063939 0.996928 156.071"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-372 -708 119.984"; + rotation = "-0.518523 0.312635 -0.79586 24.9848"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "548 -700 137.109"; + rotation = "0.0785033 0.150158 0.98554 124.689"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-540 -428 64.6718"; + rotation = "-0.690851 0.364949 -0.624129 31.5518"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "false"; + }; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + name = "\x10\c7OG-[X] \c6FlyingElmo\x11"; + guid = "125981"; + packetLoss = "0"; + clientId = "13218"; + isListening = "0"; + isSmurf = "0"; + chatMuted = "0"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + score = "40"; + isAdmin = "1"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + name = "\x10\c7OG-[X] \c6FlyingElmo\x11"; + guid = "125981"; + packetLoss = "0"; + clientId = "13218"; + isListening = "0"; + isSmurf = "0"; + chatMuted = "0"; + targetId = "32"; + teamId = "0"; + isBot = "0"; + canListen = "0"; + score = "40"; + isAdmin = "1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Envyrena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Envyrena.mis new file mode 100644 index 00000000..bf8eef7f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Envyrena.mis @@ -0,0 +1,1703 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//"Don't worry, I'll be at the match." +// --Envy (before not showing up at a match) +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Shoutout to Envy +//Part of the TFarena map pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "lush"; + CTF_scoreLimit = "4"; + + new MissionArea(MissionArea) { + area = "65 -894 255 330"; + flightCeiling = "240"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.500000 0.800000 0.500000 1.000000"; + ambient = "0.500000 0.800000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Training4.ter"; + squareSize = "8"; + emptySquares = "94579 99875"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + XDimOverSize = "0"; + GraphFile = "Slapdash.nav"; + YDimOverSize = "0"; + }; + new SimGroup(Ambiance) { + powerCount = "0"; + + new AudioEmitter() { + position = "-87.88 -700.815 191.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-168.263 -2.47 139.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-573.301 606.13 141.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "360.77 -363.742 158.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "50000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-212.09 -229.039 142.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-392.039 141.68 152.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new TSStatic() { + position = "405.613 599.739 128.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + locked = "true"; + }; + new TSStatic() { + position = "405.92 599.28 131.892"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "190.79 -815.166 32.4055"; + rotation = "1 0 0 179.909"; + scale = "2.27089 1.45949 2.3648"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "167.974 -851.551 42.7184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "204.417 -856.338 40.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "1"; + + new StaticShape() { + position = "217.818 -823.442 49.9559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "wtf do YOU want"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + Trigger = "4848"; + }; + new StaticShape() { + position = "230.45 -823.376 49.9685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + Trigger = "4850"; + }; + new StaticShape() { + position = "242.932 -823.351 49.9526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "http://www.planettribes.com/"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + Trigger = "4852"; + }; + new StaticShape() { + position = "257.539 -823.041 50.0104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "ahhh im stuck"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + Trigger = "4854"; + }; + new StaticShape() { + position = "163.632 -824.856 50.8627"; + rotation = "0.902362 -0.424864 -0.0723434 10.7626"; + scale = "1 1 1"; + nameTag = "This wall is icky"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + Trigger = "4856"; + }; + new StaticShape() { + position = "148.719 -825.413 52.4076"; + rotation = "0.994236 0.00107021 -0.10721 10.8789"; + scale = "1 1 1"; + nameTag = "King of the hill"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + Trigger = "4858"; + }; + new StaticShape() { + position = "135.479 -824.186 51.3317"; + rotation = "0.537056 0.843439 -0.0134292 7.46952"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + Trigger = "4860"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "121.253 -823.76 50.6531"; + rotation = "0.913822 0.405962 0.0111691 5.64294"; + scale = "1 1 1"; + nameTag = "A deprived"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "40"; + Trigger = "4862"; + }; + new StaticShape() { + position = "187.135 -847.564 45.3071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "212.3 -603.427 48.1875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "179.89 -601.659 51.5631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "232.108 -600.545 60.0068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "158.616 -611.014 50"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base1) { + powerCount = "1"; + + new StaticShape() { + position = "124.661 -634.994 49.9484"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + Trigger = "4872"; + }; + new StaticShape() { + position = "163.981 -635.038 50.2692"; + rotation = "-0.0349929 -2.77888e-05 0.999388 179.909"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "43"; + Trigger = "4874"; + }; + new StaticShape() { + position = "151.731 -635.556 49.9544"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Dont use this"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "44"; + Trigger = "4876"; + }; + new StaticShape() { + position = "138.788 -635.183 49.9895"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Try not to die"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "45"; + Trigger = "4878"; + }; + new StaticShape() { + position = "217.046 -635.695 50.3015"; + rotation = "0.00502471 -0.0349885 0.999375 179.889"; + scale = "1 1 1"; + nameTag = "Wtf im greenish"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + Trigger = "4880"; + }; + new StaticShape() { + position = "231.211 -635.567 51.1773"; + rotation = "-0.034989 -0.0748241 0.996583 179.706"; + scale = "1 1 1"; + nameTag = "<---Thank you station obvious"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + Trigger = "4882"; + }; + new StaticShape() { + position = "244.672 -635.534 52.6004"; + rotation = "-0.0549122 -0.0748601 0.995681 179.878"; + scale = "1 1 1"; + nameTag = "Im at an angle"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + Trigger = "4884"; + }; + new StaticShape() { + position = "260.204 -635.953 53.6413"; + rotation = "-0.0698704 -0.0549261 0.996043 180.098"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "49"; + Trigger = "4886"; + }; + new StaticShape() { + position = "195.044 -621.547 34.7267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "50"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "149.763 -687.21 91.3722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "143.136 -679.917 91.4428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "136.678 -687.193 91.3172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "143.099 -694.326 91.3366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "231.166 -774.428 90.3447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.742 -767.053 90.4234"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "244.402 -774.015 90.3437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.75 -781.051 90.2599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.781 -679.739 91.4053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "244.22 -687.217 91.3394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.743 -694.354 91.2277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "231.391 -687.406 91.3264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "143.21 -687.188 91.4099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.745 -774.174 90.3453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "237.791 -687.288 91.3014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "143.137 -767.01 90.246"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "136.625 -774.053 90.1646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "143.157 -781.082 90.1002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "149.808 -774.138 90.1538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "143.33 -774.134 90.1689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "204.037 -730.046 49.9678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "178.274 -730.013 49.9597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "225.991 -729.01 187.483"; + rotation = "0.573613 0.573156 -0.585201 119.288"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "135.215 -664.045 150.433"; + rotation = "0.179243 -0.4543 0.87263 142.004"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "190.686 -637.224 60.6737"; + rotation = "7.55437e-05 -0.0948572 0.995491 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "122.112 -650.012 65.4865"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "190.5 -867.788 125.715"; + rotation = "1 0 0 42.9718"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Arena) { + powerCount = "0"; + + new InteriorInstance() { + position = "253.724 -745.893 60.4322"; + rotation = "0.706826 0.000281849 0.707387 179.968"; + scale = "2 4.05617 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "237.417 -764.721 48.4301"; + rotation = "1 0 0 0"; + scale = "6.00174 7.50328 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "144.042 -695.238 48.3667"; + rotation = "1 0 0 0"; + scale = "6.00174 7.62873 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "144.041 -764.708 48.3667"; + rotation = "1 0 0 0"; + scale = "6.00174 7.50328 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "237.418 -695.251 48.4158"; + rotation = "1 0 0 0"; + scale = "6.00174 7.62873 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "253.672 -680.952 60.4332"; + rotation = "0.706826 0.000281849 0.707387 179.968"; + scale = "2 4.06161 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "179.001 -793.195 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.805 -667.301 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88708 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.84 -673.301 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88457 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.879 -679.301 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88171 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.878 -685.501 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88222 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.801 -691.501 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88906 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "279.982 -694.889 68.1676"; + rotation = "0.706826 0.000281849 0.707387 179.968"; + scale = "1.83267 2.89749 1.1665"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "280.021 -741.271 68.1679"; + rotation = "0.706826 0.000281849 0.707387 179.968"; + scale = "1.83267 2.90595 1.1665"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "285.703 -769.589 34.5865"; + rotation = "0.707388 0.706825 -3.08963e-08 180"; + scale = "3.99424 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "285.765 -689.713 34.5865"; + rotation = "0.707388 0.706825 -3.08963e-08 180"; + scale = "3.99424 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.064 -790.604 60.4532"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.049 -772.204 60.4532"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.034 -753.004 60.4532"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.042 -734.729 60.4532"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.01 -664.779 60.4631"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.028 -684.17 60.4631"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.043 -703.37 60.4631"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.076 -721.712 60.4631"; + rotation = "0 0 1 89.9544"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.821 -697.901 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88778 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.856 -704.501 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88531 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.874 -710.701 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.88429 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.965 -717.301 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.97 -723.901 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.975 -730.701 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.981 -737.701 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.986 -744.501 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.992 -751.101 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "178.997 -757.301 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "179.001 -763.501 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "179.02 -787.301 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "263.407 -809.591 68.1549"; + rotation = "0.57735 -0.57689 0.57781 239.921"; + scale = "1.83267 4.15591 0.933295"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.462 -815.291 34.5865"; + rotation = "1 0 0 180"; + scale = "3.90011 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.44 -644.005 34.5865"; + rotation = "1 0 0 180"; + scale = "3.91499 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "230.032 -649.877 68.205"; + rotation = "0.577042 0.578424 0.576583 119.868"; + scale = "1.83267 4.15591 0.937225"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "179.007 -769.901 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "179.011 -775.901 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "179.016 -781.701 79.9647"; + rotation = "0 0 1 89.9544"; + scale = "0.364544 2.87716 0.1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "129.168 -815.441 34.5252"; + rotation = "-0.000796017 1 4.37114e-08 180"; + scale = "3.90011 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "95.9187 -769.786 34.5252"; + rotation = "0.707388 -0.706826 -4.3736e-08 180"; + scale = "3.99424 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "95.8535 -689.91 34.5252"; + rotation = "0.707388 -0.706826 -4.3736e-08 180"; + scale = "3.99424 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "129.024 -644.123 34.5252"; + rotation = "-0.000796017 1 4.37114e-08 180"; + scale = "3.90011 1.44766 3.03518"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "151.715 -809.533 68.1423"; + rotation = "0.577961 -0.575663 0.578423 239.815"; + scale = "1.83267 4.15591 0.937225"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "118.086 -649.872 68.0955"; + rotation = "0.577043 0.578423 0.576583 119.868"; + scale = "1.83267 4.15591 0.933295"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.578 -738.897 60.4002"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.619 -756.097 60.4002"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.665 -775.297 60.4002"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.691 -794.721 60.4002"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.593 -724.863 60.3923"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.549 -706.463 60.3923"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.503 -687.263 60.3923"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.459 -668.864 60.3923"; + rotation = "0 0 -1 90.1368"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "101.58 -718.236 68.1111"; + rotation = "-0.00119598 0.999999 -0.00119294 89.9547"; + scale = "1.83267 2.90178 1.1665"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "101.694 -764.667 68.1033"; + rotation = "-0.00119598 0.999999 -0.00119294 89.9547"; + scale = "1.83267 2.90311 1.1665"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "128.026 -778.495 60.3689"; + rotation = "-0.00119598 0.999999 -0.00119294 89.9547"; + scale = "2 4.06161 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "108.472 -704.556 49.7526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "270.477 -747.275 50.6697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new InteriorInstance() { + position = "144.065 -697.204 68.006"; + rotation = "1 0 0 0"; + scale = "6.00174 8.12479 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "144.064 -762.204 68.006"; + rotation = "1 0 0 0"; + scale = "6.00174 8.12479 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "127.87 -713.555 60.3689"; + rotation = "-0.00119598 0.999999 -0.00119294 89.9547"; + scale = "2 4.05617 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "190.805 -815.396 84.437"; + rotation = "1 0 0 0"; + scale = "2.27089 1.57587 2.3648"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "190.627 -644.422 85.2842"; + rotation = "1 0 0 0"; + scale = "2.27089 1.57587 2.3648"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "190.612 -644.192 33.2527"; + rotation = "1 0 0 179.909"; + scale = "2.27089 1.45949 2.3648"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "113.435 -678.746 75.4178"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "104.635 -678.773 75.4178"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "104.934 -790.213 75.4505"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "113.734 -790.186 75.4505"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "263.835 -790.052 75.4732"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "272.635 -790.025 75.4732"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "264.264 -678.698 75.4929"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "273.064 -678.671 75.4929"; + rotation = "0 0 -1 0.176939"; + scale = "1 1.16287 0.136752"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "138.393 -687.482 97.5264"; + rotation = "1 0 0 179.336"; + scale = "0.678166 1.29626 1.89786"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "138.393 -774.476 96.5182"; + rotation = "1 0 0 179.336"; + scale = "0.678166 1.29626 1.89786"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "232.993 -774.476 96.5182"; + rotation = "1 0 0 179.336"; + scale = "0.678166 1.29626 1.89786"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "232.993 -687.482 97.5264"; + rotation = "1 0 0 179.336"; + scale = "0.678166 1.29626 1.89786"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "204.236 -777.48 49.7239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "181.884 -744.51 49.8345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "195.059 -703.257 49.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "208.612 -666.582 49.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "208.274 -669.857 49.8675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "179.354 -684.547 49.8625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "190.067 -730.051 49.6944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + }; + new TSStatic() { + position = "113.583 -756.588 49.8396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new InteriorInstance() { + position = "237.421 -697.192 67.9947"; + rotation = "1 0 0 0"; + scale = "6.00174 8.12479 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "237.42 -762.192 67.9947"; + rotation = "1 0 0 0"; + scale = "6.00174 8.12479 1.49469"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0"; + cloudSpeed2 = "0"; + cloudSpeed3 = "0"; + visibleDistance = "350"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.050000 0.100000 0.050000 0.000000"; + fogDistance = "170"; + fogColor = "0.200000 0.300000 0.200000 1.000000"; + fogVolume1 = "1 0 49"; + fogVolume2 = "350 50 79"; + fogVolume3 = "500 80 250"; + materialList = "sky_lava_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -171470391173844544000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.61874e-32 1.97752e-39"; + high_fogVolume2 = "-1 -1.1801e-38 2.34641e-38"; + high_fogVolume3 = "-1 -nan 2.35095e-38"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(thesearetrees) { + powerCount = "1"; + + new TSStatic() { + position = "196.425 -928.249 50.1626"; + rotation = "1 0 0 0"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "94.1969 -851.259 52.7942"; + rotation = "0 0 1 4.58367"; + scale = "2 2.67469 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "245.478 -867.919 50.0074"; + rotation = "0 0 1 91.6732"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "301.405 -834.846 50.3797"; + rotation = "1 0 0 0"; + scale = "2 2.67469 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "304.616 -962.23 57.4223"; + rotation = "1 0 0 0"; + scale = "2 2.67469 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "318.496 -685.082 63.4194"; + rotation = "0 0 1 179.518"; + scale = "2 2.67469 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "357.891 -787.335 51.6719"; + rotation = "-0 0 -1 88.8085"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "426.98 -717.738 56.1597"; + rotation = "0 0 1 179.518"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new StaticShape() { + position = "436.937 -798.757 51.3042"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "51"; + }; + new TSStatic() { + position = "43.0015 -674.347 54.8492"; + rotation = "0 0 -1 119.175"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-17.0175 -635.192 53.6291"; + rotation = "-0 0 -1 27.502"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "21.3304 -794.934 51.5797"; + rotation = "0 0 -1 114.592"; + scale = "2 2.67469 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "33.0679 -956.934 50.7317"; + rotation = "0 0 -1 59.5876"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "154.577 -539.373 65.3586"; + rotation = "0 0 1 71.0468"; + scale = "2 2.67469 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "301.773 -506.895 78.3983"; + rotation = "0 0 -1 109.435"; + scale = "2 2.67469 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "245.735 -613.37 53.165"; + rotation = "0 0 1 179.518"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "272.327 -844.952 50.2934"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "203.193 -881.285 50.047"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "129.791 -827.046 51.4761"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "342.786 -737.614 66.0889"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "255.999 -625.626 54.6227"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "201.822 -596.207 62.067"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "117.607 -616.173 50.2759"; + rotation = "1 0 0 0"; + scale = "1 1 3.24004"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-107.031 -759.367 49.0791"; + rotation = "0 0 -1 119.175"; + scale = "2 2.67469 3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "100.67 -1044.87 59.9653"; + rotation = "0 0 1 4.58367"; + scale = "2 2.67469 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "432.05 -942.914 50.2607"; + rotation = "0 0 1 4.58367"; + scale = "2 2.67469 3"; + shapeName = "borg19.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/EnyLand.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/EnyLand.mis new file mode 100644 index 00000000..6d0ac589 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/EnyLand.mis @@ -0,0 +1,2088 @@ +// DisplayName = ^_^ EnyLand +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//. +// "Ok fine you can be EW but only because I am gracious enough to bestow those intials unto you ;)" +//' '-- EnyWear +//. +// health and ammo in bunkers, bridges and rocks +// packs and weapons in towers +//. +//map by: ^_^ EveningWear +//email: evening@thewears.com +//v.1.2 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "desert"; + CTF_scoreLimit = "5"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-184 -680 304 208"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "175"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.950000 0.600000 0.400000 1.000000"; + fogDistance = "100"; + fogColor = "0.950000 0.600000 0.400000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "500"; + high_fogDistance = "200"; + high_fogVolume1 = "50 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + cloudSpeed0 = "0.000503 0.000020"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DeathBirdsFly.ter"; + squareSize = "8"; + emptySquares = "81019 81275"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "DeathBirdsFly.nav"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-165.689 -626.626 55.1059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "33"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-167.609 -602.668 45.1582"; + rotation = "0 0 1 154.698"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "14"; + sphereWeight = "33"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-157.309 -654.873 51.5582"; + rotation = "0 0 1 154.698"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "34"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "-161.655 -590.238 93.9"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + nameTag = "\x01681"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-162.281 -626.373 55.926"; + rotation = "0.0298294 -0.0994464 0.994596 90.4914"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4266"; + team = "1"; + notReady = "1"; + Target = "34"; + inUse = "Down"; + }; + new StaticShape() { + position = "-162.344 -634.6 55.3534"; + rotation = "0.0448058 -0.0846799 0.9954 90.3332"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4268"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-162.22 -618.345 56.5802"; + rotation = "0.014884 -0.114125 0.993355 90.675"; + scale = "1 1 1"; + nameTag = "\x01684"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4270"; + team = "1"; + notReady = "1"; + Target = "36"; + inUse = "Down"; + }; + new StaticShape() { + position = "-162.323 -643.056 55.2127"; + rotation = "0.0548578 -0.0549487 0.996981 90.0932"; + scale = "1 1 1"; + nameTag = "\x01685"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4272"; + team = "1"; + notReady = "1"; + Target = "37"; + inUse = "Down"; + }; + new StaticShape() { + position = "-162.088 -609.184 57.6927"; + rotation = "0.00494406 -0.123856 0.992288 90.8114"; + scale = "1 1 1"; + nameTag = "\x01686"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4274"; + team = "1"; + Target = "38"; + }; + new WayPoint() { + position = "-159.13 -626.845 63.2737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Team1Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "102.343 -531.64 48.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "33"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "102.939 -565.391 50.7733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "33"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "97.3954 -505.963 49.3733"; + rotation = "-0 0 -1 56.7228"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "0"; + indoorWeight = "100"; + outdoorWeight = "34"; + }; + }; + new StaticShape() { + position = "90.6215 -578.227 88.6175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01681"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "39"; + }; + new StaticShape() { + position = "92.937 -539.426 50.1"; + rotation = "0.00999933 -0.00999933 -0.9999 90.0057"; + scale = "1 1 1"; + nameTag = "\x01686"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4283"; + team = "2"; + notReady = "1"; + Target = "40"; + inUse = "Down"; + }; + new WayPoint() { + position = "89.1963 -539.103 57.7923"; + rotation = "-0 0 -1 56.7228"; + scale = "1 1 1"; + nameTag = "Team2Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + }; + new StaticShape() { + position = "92.9993 -548.521 50.518"; + rotation = "0.0648768 -0.0249273 -0.997582 90.1617"; + scale = "1 1 1"; + nameTag = "\x01684"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4286"; + team = "2"; + Target = "41"; + }; + new StaticShape() { + position = "92.9873 -557.086 51.2905"; + rotation = "0.0648768 -0.0249273 -0.997582 90.1617"; + scale = "1 1 1"; + nameTag = "\x01683"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4288"; + team = "2"; + notReady = "1"; + Target = "42"; + inUse = "Down"; + }; + new StaticShape() { + position = "92.937 -529.142 50.034"; + rotation = "-0.0149977 0.0149977 -0.999775 90.0129"; + scale = "1 1 1"; + nameTag = "\x01682"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4290"; + team = "2"; + notReady = "1"; + Target = "43"; + inUse = "Down"; + }; + new StaticShape() { + position = "92.7432 -519.943 50.721"; + rotation = "-0.0747692 -0.0349224 -0.996589 90.2589"; + scale = "1 1 1"; + nameTag = "\x01685"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4292"; + team = "2"; + Target = "44"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new SimGroup(center_base) { + + powerCount = "0"; + + new InteriorInstance() { + position = "15.2752 -585.831 78.32"; + rotation = "0.17903 0 0.983844 180"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3417 -556.076 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.504 -584.848 56.6866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.2911 -524.276 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.055 -586.857 61.8866"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-108.25 -585.839 79.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-138.25 -585.839 79.14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "68.55 -585.839 73.94"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-83.6462 -585.839 80.88"; + rotation = "0 1 0 8.00005"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "39.3501 -585.839 73.94"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3666 -571.534 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3633 -571.876 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-7.81 -585.839 82.53"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3042 -532.276 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3168 -540.276 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-60.641 -585.85 82.56"; + rotation = "0 0 1 180"; + scale = "0.911755 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.2785 -516.276 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-43.1469 -536.538 33.4405"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3295 -548.276 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3544 -563.876 48.7392"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-31.6881 -585.839 82.54"; + rotation = "1 0 0 0"; + scale = "1.45768 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-41.6473 -536.534 66.9992"; + rotation = "0 1 0 180"; + scale = "1 1.27074 0.627302"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3291 -548.134 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3165 -540.134 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -648.011 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -640.011 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -656.011 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3541 -563.734 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3418 -555.934 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.2783 -516.134 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.2911 -524.134 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -608.411 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -616.211 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -600.611 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -608.269 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -616.069 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -623.869 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -631.869 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -639.869 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -647.869 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -655.869 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "85.3039 -532.134 56.6828"; + rotation = "0 0 1 89.9088"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -624.011 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-155.162 -632.011 62.2257"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + new InteriorInstance() { + position = "-155.162 -600.469 54.2821"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "-98.8099 -511.559 60.8479"; + rotation = "0 1 0 5.15661"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-160.356 -537.013 52.3607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-103.34 -489.96 57.2305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "11.4454 -465.098 53.0547"; + rotation = "-0.0329697 0.0199878 -0.999256 62.4902"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "73.1264 -566.532 49.4527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "25.6393 -613.45 50.5208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "13.6762 -653.686 50.9515"; + rotation = "1 0 0 4.58367"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-7.3105 -517.235 50.9397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-138.664 -526.172 52.4271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-140.727 -601.467 57.8536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-120.706 -657.988 60.3087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-58.6042 -538.243 72.91"; + rotation = "0 1 0 11.4592"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "31.0275 -419.77 55.2674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "-193.885 -588.893 63.7018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "55.0474 -635.748 48.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "118.341 -653.526 59.7516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-62.9056 -647.815 51.4637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-91.8853 -703.234 57.8629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + }; + new SimGroup(RandomDebris) { + + powerCount = "0"; + + new TSStatic() { + position = "59.2759 -527.595 48.7369"; + rotation = "0.269403 0.0673569 -0.960669 29.1762"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new TSStatic() { + position = "-131.469 -622.637 55.8649"; + rotation = "-0.0786908 0.825831 0.5584 19.3676"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + }; + }; + new SimGroup(ParticleEmitters) { + + powerCount = "0"; + + new ParticleEmissionDummy(ShrikeSmoke1) { + position = "58.6777 -527.514 50.4263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy(TankSmoke1) { + position = "-133.517 -619.673 57.2296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy(TankSmoke2) { + position = "-130.821 -624.075 57.8098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + }; + new ParticleEmissionDummy(TankSmoke3) { + position = "-133.858 -625.602 57.1041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "halftimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "SmallHeavyDamageSmoke"; + velocity = "1"; + }; + }; + new SimGroup(AudioElements) { + + powerCount = "0"; + + new AudioEmitter() { + position = "558.841 -498.675 89.0972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wind_sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(Rocks) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-2.15913 -645.746 51.658"; + rotation = "0.830941 0.556361 -2.43193e-08 180"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-21.3352 -631.06 48.7338"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "pplat1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-42.5025 -528.551 68.2952"; + rotation = "-0.723314 -0.284716 0.62909 64.069"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-22.7447 -654.623 54.3743"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-103.974 -671.967 39.561"; + rotation = "-0.0512142 -0.930217 -0.363419 17.2289"; + scale = "1 1 1"; + interiorFile = "procka.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "36.4088 -489.535 31.6531"; + rotation = "-3.6683e-07 4.57558e-06 1 9.1672"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + new SimGroup(RespawnItems) { + + powerCount = "0"; + + new Item() { + position = "-43.577 -536.753 55.4912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "77.8719 -584.878 66.2362"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-109.447 -584.38 80.9842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-40.4043 -533.334 77.5586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "93.6234 -585.785 66.1208"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "93.6119 -584.785 66.1208"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-4.90474 -645.221 62.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-23.325 -655.118 69.4752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1.42103 -646.17 65.8092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-15.1205 -652.844 56.1978"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "78.928 -584.264 66.5219"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "91.9906 -586.416 66.4872"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "92.5907 -584.934 66.35"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "91.8967 -584.241 66.259"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-31.816 -585.888 84.4362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + Target = "-1"; + }; + new Item() { + position = "-30.8133 -585.903 84.4382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-32.8133 -585.903 84.4382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-39.2774 -532.749 77.6573"; + rotation = "0 0 -1 34.9504"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "28.8751 -583.179 75.7739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-1.54163 -585.136 84.4691"; + rotation = "0 0 1 91.6733"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-2.72198 -585.299 84.15"; + rotation = "0 0 1 103.705"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-3.39347 -585.145 84.15"; + rotation = "0 0 1 103.705"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-154.991 -591.263 72.0294"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-153.397 -590.05 72.0294"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-156.595 -590.151 72.0294"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-153.597 -592.65 72.0294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-156.397 -592.65 72.0294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-148.549 -585.279 71.7657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-146.886 -585.477 71.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-146.886 -586.677 71.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-147.486 -585.477 71.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-147.486 -586.677 71.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-148.549 -587.279 71.7657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-161.586 -584.976 71.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-161.517 -587.152 71.5028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-162.203 -586.451 71.5468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-163.226 -585.588 71.3646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-163.226 -586.588 71.3646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "85.3234 -580.206 66.7856"; + rotation = "0 0 1 0.963466"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "83.7435 -581.437 66.7856"; + rotation = "0 0 -1 2.47434"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "86.9405 -581.299 66.7856"; + rotation = "0 0 -1 2.47434"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "83.9135 -578.835 66.7856"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "86.7132 -578.802 66.7856"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "78.9512 -586.264 66.5219"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "77.2862 -586.085 66.2362"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "77.2722 -584.885 66.2362"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "77.8859 -586.078 66.2362"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-49.2569 -530.913 55.6181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-49.9977 -531.487 55.6181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-50.169 -532.358 55.6181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-44.6293 -542.2 55.5065"; + rotation = "0 0 -1 46.9825"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-44.0835 -541.615 55.5065"; + rotation = "0 0 -1 46.9825"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-43.5377 -541.03 55.5065"; + rotation = "0 0 -1 46.9825"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "-36.1269 -530.918 55.2918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-37.1249 -530.097 55.2918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "10"; + Target = "-1"; + }; + new Item() { + position = "-36.8833 -541.809 57.6294"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-38.0311 -542.924 57.6294"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-15.5125 -653.747 56.3804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-5.50474 -646.221 62.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new SimGroup(StackableItems) { + + powerCount = "0"; + + new TSStatic() { + position = "-113.459 -583.988 81.065"; + rotation = "0 0 1 17.7616"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "90.7055 -586.004 57.2918"; + rotation = "0 0 1 24.0642"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-63.6885 -589.489 84.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "-48.1283 -533.886 77.3059"; + rotation = "0 0 -1 36.0963"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "-63.5523 -589.102 84.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "87.0853 -579.234 76.7735"; + rotation = "-0.316334 -0.316586 0.894263 96.3445"; + scale = "0.6 0.6 0.6"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-1.95274 -583.382 84.235"; + rotation = "0 0 1 182.201"; + scale = "0.6 0.6 0.6"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-141.231 -587.783 80.8062"; + rotation = "0 0 1 51.5662"; + scale = "0.6 0.6 0.6"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-63.1881 -589.374 84.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "49.4883 -588.765 75.9046"; + rotation = "0.881553 0.321792 -0.34542 93.1621"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + }; + new TSStatic() { + position = "16.7326 -587.993 79.5171"; + rotation = "0.178887 0.0400025 0.983056 204.796"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-62.6773 -589.374 84.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "-52.0164 -529.823 55.3688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "-52.0813 -530.478 55.5122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "-49.0189 -528.974 55.3605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-48.8298 -543.484 55.3266"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-48.9455 -543.516 56.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + }; + new TSStatic() { + position = "-37.2127 -542.475 55.4173"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-40.8376 -531.712 77.488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "48.5141 -588.177 76.0844"; + rotation = "0.838182 -0.170271 0.51813 111.406"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + }; + new TSStatic() { + position = "31.3987 -582.848 75.4406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "-28.5341 -588.89 84"; + rotation = "0 0 -1 22.3453"; + scale = "0.7 0.7 0.7"; + shapeName = "stackable2l.dts"; + }; + new TSStatic() { + position = "-62.9929 -588.929 84.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(BridgeCenterCam) { + position = "-32.0913 -585.912 92.35"; + rotation = "1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Team2BaseCam) { + position = "110.188 -528.337 91.3833"; + rotation = "0.158909 0.186459 -0.969526 100.868"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Team1BaseCam) { + position = "-169.399 -627.189 77.6651"; + rotation = "0.2189 -0.212937 0.952229 91.2221"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/EveningLand.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/EveningLand.mis new file mode 100644 index 00000000..eeecd1f7 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/EveningLand.mis @@ -0,0 +1,1585 @@ +// DisplayName = ^_^ EveningLand +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//. +// "Gh3yness is a state of mind :p" +//' '-- EveningWear +//. +// fast and small +// use buildings and walls to evade your attackers +//. +//map by: ^_^ EveningWear +//email: evening@thewears.com +//v.1.3 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + Siege_timeLimit = "20"; + musicTrack = "ice"; + powerCount = "0"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "-136 -328 224 272"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-361.911 369.705 299.466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.250000 0.350000 0.350000 1.000000"; + ambient = "0.240000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "560"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.260000 0.410000 0.440000 1.000000"; + fogDistance = "420"; + fogColor = "0.260000 0.410000 0.440000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38"; + high_fogVolume2 = "-1 -1991.03 nan"; + high_fogVolume3 = "-1 7945.87 7.22445e-09"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "UltimaThule.ter"; + squareSize = "8"; + emptySquares = "235933 236189 367516 433307 302492"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + locked = "true"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + GraphFile = "UltimaThule.nav"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "16.2484 -300.309 111.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "38.0481 -300.309 111.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "20.2419 -304.444 106.912"; + rotation = "-0.0200914 -0.0298495 0.999353 180.321"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Trigger = "8636"; + team = "2"; + }; + new StaticShape() { + position = "27.916 -304.232 107.32"; + rotation = "-0.0101032 -0.0298709 0.999503 180.31"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "8638"; + team = "2"; + }; + new StaticShape() { + position = "35.3687 -304.059 107.09"; + rotation = "0.044687 -0.0847877 0.995396 179.912"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "8640"; + team = "2"; + }; + new StaticShape() { + position = "42.8372 -303.239 106.686"; + rotation = "0.0494655 -0.065039 0.996656 180.475"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "8642"; + team = "2"; + }; + new StaticShape() { + position = "20.2578 -297.73 107.26"; + rotation = "-0.246524 0.966943 -0.0651676 4.73208"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "8644"; + team = "2"; + }; + new StaticShape() { + position = "27.9418 -297.859 107.57"; + rotation = "-0.996856 -0.00365469 -0.0791523 2.31043"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "8646"; + team = "2"; + }; + new StaticShape() { + position = "35.3814 -297.814 107.65"; + rotation = "-0.83351 0.549482 -0.0577055 2.0752"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "8648"; + team = "2"; + }; + new StaticShape() { + position = "42.9082 -297.88 107.423"; + rotation = "-0.882415 -0.4704 0.00827528 9.74445"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "8650"; + team = "2"; + }; + new StaticShape() { + position = "54.6167 -186.491 108.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + team = "2"; + }; + new WayPoint(base) { + position = "31.5624 -301.12 116.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + }; + }; + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-86.3113 -80.2205 119.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-108.111 -80.2205 119.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "-98.1893 -182.25 108.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "1"; + }; + new StaticShape() { + position = "-90.1078 -76.8021 116.012"; + rotation = "0.55345 -0.831978 -0.0388049 4.13147"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "8658"; + team = "1"; + }; + new StaticShape() { + position = "-97.6836 -76.6835 116.441"; + rotation = "0.703222 -0.706848 -0.076449 2.43287"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "8660"; + team = "1"; + }; + new StaticShape() { + position = "-105.018 -76.6578 116.519"; + rotation = "0.880069 -0.445617 -0.164023 1.29057"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "8662"; + team = "1"; + }; + new StaticShape() { + position = "-112.669 -76.5866 116.596"; + rotation = "0.880069 -0.445617 -0.164023 1.29057"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "8664"; + team = "1"; + }; + new StaticShape() { + position = "-90.0723 -83.547 116.475"; + rotation = "0.0250492 0.0400081 0.998885 180.391"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "8666"; + team = "1"; + }; + new StaticShape() { + position = "-97.4894 -83.3371 116.5"; + rotation = "-0.00503641 0.000109426 0.999987 180.276"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + Trigger = "8668"; + team = "1"; + }; + new StaticShape() { + position = "-105.113 -83.3214 116.44"; + rotation = "-3.55684e-05 9.91092e-05 1 180.276"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + Trigger = "8670"; + team = "1"; + }; + new StaticShape() { + position = "-112.803 -83.5135 116.514"; + rotation = "-0.0100693 -0.0148766 0.999839 180.281"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "8672"; + team = "1"; + }; + new WayPoint(base) { + position = "-101.096 -79.7617 125.443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-116.668 -87.639 114.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "16.2765 -293.562 105.487"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-101.267 -87.639 114.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-93.8675 -87.638 114.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-86.2674 -87.639 114.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-108.668 -87.639 114.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-86.3143 -72.4021 114.006"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "39.1234 -308.798 105.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "31.7234 -308.799 105.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "46.7234 -308.799 105.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "24.3234 -308.799 105.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "16.3234 -308.799 105.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "46.6765 -293.562 105.487"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "39.0765 -293.562 105.487"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "31.6765 -293.562 105.487"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "24.2765 -293.562 105.487"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-116.715 -72.4021 114.006"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-108.715 -72.4021 114.006"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-101.314 -72.4021 114.006"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-93.9144 -72.4021 114.006"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(CornerCam1) { + position = "64.5144 -321.283 163.148"; + rotation = "0.448717 0.195026 -0.872134 52.979"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera(CenterCam) { + position = "-20.1551 -188.478 162.277"; + rotation = "0.546712 -0.585886 0.5982 121.659"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-67.162 -108.482 147.349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/snowstorm1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.8"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-22.4503 71.5691 153.838"; + rotation = "1 0 0 0"; + scale = "1.0139 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "68.5873 -316.39 103.159"; + rotation = "0 1 0 3.43771"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-48.8707 -19.4075 110.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-124.313 -42.7664 113.202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-199.173 -305.441 191.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "114.668 -510.689 113.621"; + rotation = "0 0 1 67.0361"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "168.504 -21.2453 133.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "61.1096 -101.92 113.085"; + rotation = "-0.072047 0.898665 0.432678 20.9946"; + scale = "1 1 1"; + interiorFile = "srockb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-60.6009 -287.7 106.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "16.7156 -260.458 110.257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-16.8598 -92.4853 115.637"; + rotation = "0.331718 0.836772 0.435633 114.992"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-44.394 -307.351 107.52"; + rotation = "0.0115702 -0.263153 -0.964685 23.796"; + scale = "1 1 0.531101"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + }; + new InteriorInstance() { + position = "-108.105 -128.953 116.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-122.018 -130.948 116.417"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-20.6852 -161.218 88.0378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "70.3747 -185.548 81.8"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "sbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-113.225 -185.548 81.8"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "sbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-67.9066 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "43.3795 -251.19 126.114"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-91.7067 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-51.9067 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.57952 -251.19 126.114"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "17.4933 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "33.4933 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-107.707 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "57.2933 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "73.2933 -249.195 124.514"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "82.7795 -251.19 126.114"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-42.0205 -251.19 126.114"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-81.8205 -251.19 126.114"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-121.62 -251.19 126.114"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-122.018 -130.948 134.017"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-82.2185 -130.948 134.017"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-42.4185 -130.948 134.017"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "72.8953 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "56.8953 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-108.105 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "33.0953 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "17.0953 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.18148 -130.948 134.017"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-52.3047 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-92.1047 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "42.9815 -130.948 134.017"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-68.3046 -128.953 132.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-52.3047 -128.953 116.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-68.3046 -128.953 116.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-82.2185 -130.948 116.417"; + rotation = "0 0 -1 90"; + scale = "2 0.5 1.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-92.1047 -128.953 116.417"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-21.5027 -185.197 108.941"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Respawnables) { + + new Item() { + position = "8.98092 -184.933 127.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "8.98092 -185.733 127.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "8.98092 -184.133 127.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-53.0191 -184.933 127.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-53.0191 -185.733 127.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-53.0191 -184.133 127.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-112.884 -185.451 123.878"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-112.884 -183.651 123.878"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-112.873 -187.516 123.878"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-112.831 -189.516 123.878"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-112.997 -181.518 123.878"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "70.4446 -185.545 123.878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "70.4143 -187.61 123.878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "70.4164 -189.61 123.878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "70.4806 -183.745 123.878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "70.4103 -181.611 123.878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-16.4205 -154.692 126.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-16.4205 -153.692 126.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-16.4205 -155.692 126.988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-26.6196 -154.505 127.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-26.6196 -153.305 127.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-26.6196 -155.705 127.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-23.898 -154.521 127.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-19.9295 -154.337 127.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-21.8782 -154.691 127.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-21.934 -156.319 126.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-21.934 -152.519 126.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-21.3362 -218.138 126.951"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-21.3955 -215.966 127.36"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-21.3422 -214.338 126.951"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-19.3754 -216.133 127.37"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-23.3436 -216.324 127.131"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-26.8547 -214.974 126.988"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-26.8532 -215.974 126.988"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-26.8516 -216.974 126.988"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-16.6557 -214.945 127.088"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-16.6538 -216.145 127.088"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-16.6519 -217.345 127.088"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-108.9 -171.416 116.523"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-110.1 -171.415 116.523"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-111.516 -171.441 116.723"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "64.7693 -198.875 116.723"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "64.7444 -197.459 116.923"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "64.7464 -196.259 117.123"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Helioarena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Helioarena.mis new file mode 100644 index 00000000..499198f3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Helioarena.mis @@ -0,0 +1,1295 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Mad skillz whats the deal? +//Objective: Take down the enemy team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Shoutout to Heliometus-Max +//Part of the TFarena map pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + cdTrack = "6"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-744 -1680 175 430"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "40 760 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.465000 0.290000 0.120000 0.000000"; + fogDistance = "200"; + fogColor = "0.430000 0.250000 0.200000 1.000000"; + fogVolume1 = "10 0 175"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 373675065344.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 12656416493203403800000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 8.86883e+20 1.51118e+30"; + high_fogVolume2 = "-1 1.5971e+15 -1.54061e-09"; + high_fogVolume3 = "-1 1.15158e+23 -1.00548e-14"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000400"; + }; + new Sun() { + position = "40 760 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "Rasp.ter"; + squareSize = "8"; + emptySquares = "148783 214574 83507 214830 83763"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + GraphFile = "Rasp.nav"; + locked = "true"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-703.407 -1468.37 346.173"; + rotation = "0.573613 -0.573156 0.585202 119.288"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-655.225 -1662.51 198.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-596.378 -1628.34 261.837"; + rotation = "0.836595 0.182691 -0.516462 45.8401"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-661.332 -1333.54 185.214"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-768.443 -1465.45 236.408"; + rotation = "0.19501 -0.194855 0.961251 92.2182"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-658.289 -1282.65 181.866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-702.592 -1299.38 182.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-659.638 -1311.07 182.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-614.151 -1295.45 182.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "1"; + + new StaticShape() { + position = "-658.198 -1282.74 190.888"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-658.184 -1283.21 190.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-658.297 -1283.07 196.525"; + rotation = "1 0 0 0"; + scale = "0.1 0.025 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-654.623 -1285.98 97.1926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + }; + new Trigger() { + position = "-646.318 -1297.58 183.399"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + team = "1"; + disableObj = "6309"; + mainObj = "6309"; + station = "6309"; + }; + new StaticShape() { + position = "-645.142 -1271.19 183.265"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01623"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + Trigger = "4888"; + }; + new Trigger() { + position = "-672.736 -1297.11 182.689"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + team = "1"; + disableObj = "6306"; + mainObj = "6306"; + station = "6306"; + }; + new StaticShape() { + position = "-646.318 -1297.58 183.399"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01624"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "35"; + notReady = "1"; + Trigger = "4891"; + }; + new Trigger() { + position = "-671.385 -1270.37 183.256"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + team = "1"; + disableObj = "6303"; + mainObj = "6303"; + station = "6303"; + }; + new StaticShape() { + position = "-672.736 -1297.11 182.689"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01625"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + Trigger = "4894"; + }; + new StaticShape() { + position = "-671.386 -1270.36 183.256"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01626"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + Trigger = "4896"; + }; + new InteriorInstance() { + position = "-672.774 -1297.2 176.339"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-671.362 -1270.36 176.906"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-646.482 -1297.66 177.048"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-645.02 -1271.37 176.886"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new FileObject() { + team = "1"; + }; + new FileObject() { + team = "1"; + }; + new FileObject() { + team = "1"; + }; + new FileObject() { + team = "1"; + }; + new FileObject() { + team = "1"; + }; + new FileObject() { + team = "1"; + }; + }; + }; + new SimGroup(team0) { + providesPower = "1"; + powerCount = "1"; + + new Item() { + position = "-589.779 -1425.54 183.338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-589.951 -1428.18 183.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-591.163 -1426.75 183.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-723.51 -1497.41 182.97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-723.497 -1494.64 183.054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-722.875 -1496.02 182.97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-656.753 -1450.78 183.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-656.762 -1451.79 183.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-656.724 -1452.74 183.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-660.431 -1465.44 195.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-660.42 -1464.26 195.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-660.435 -1466.59 195.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-652.635 -1466.12 195.423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-652.631 -1464.97 195.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-652.62 -1463.79 195.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-626.684 -1641.2 177.186"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-628.154 -1667.49 176.391"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-653.034 -1640.19 177.06"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-652.159 -1666.97 178.036"; + rotation = "1 0 0 0"; + scale = "1 1 0.24619"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-653.057 -1640.2 183.41"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01627"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "38"; + Trigger = "4933"; + }; + new StaticShape() { + position = "-652.121 -1666.88 184.386"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01628"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "39"; + Trigger = "4935"; + }; + new StaticShape() { + position = "-627.99 -1667.41 182.742"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01629"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "40"; + Trigger = "4937"; + }; + new StaticShape() { + position = "-626.814 -1641.02 183.565"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "\x01630"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + Trigger = "4939"; + }; + new StaticShape() { + position = "-636.295 -1655.81 97.5698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + }; + new InteriorInstance() { + position = "-639.969 -1652.9 196.902"; + rotation = "1 0 0 0"; + scale = "0.1 0.025 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-639.856 -1653.04 191.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-639.87 -1652.57 191.265"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-644.695 -1653.07 182.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-679.948 -1633.48 182.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-643.987 -1622.76 183.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-607.086 -1635.35 186.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + }; + new SimGroup(Arena) { + powerCount = "0"; + + new InteriorInstance() { + position = "-735 -1586.03 198"; + rotation = "1 0 0 0"; + scale = "2.75313 6.04515 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-735 -1489.41 198"; + rotation = "1 0 0 0"; + scale = "2.75313 6.04515 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-735 -1392.84 198"; + rotation = "1 0 0 0"; + scale = "2.75313 6.04515 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-588.959 -1392.87 197.997"; + rotation = "1 0 0 0"; + scale = "2.75313 6.04515 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-588.959 -1489.44 197.997"; + rotation = "1 0 0 0"; + scale = "2.75313 6.04515 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-588.959 -1586.06 197.997"; + rotation = "1 0 0 0"; + scale = "2.75313 6.04515 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-690.787 -1320.25 201.097"; + rotation = "-0.355373 0.355372 0.864535 98.3108"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-663.44 -1320.22 222.182"; + rotation = "0 0 1 90"; + scale = "2.78635 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-618.307 -1320.28 197.999"; + rotation = "0 0 1 90"; + scale = "2.76465 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-716.482 -1320.27 197.999"; + rotation = "0 0 1 90"; + scale = "2.73477 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-638.251 -1320.27 215.148"; + rotation = "0.355371 -0.355371 0.864536 98.3108"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-660.953 -1599.15 222.185"; + rotation = "0 0 1 90"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-688.299 -1599.18 201.1"; + rotation = "-0.355373 0.355372 0.864535 98.3108"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-635.752 -1599.15 215.15"; + rotation = "0.355371 -0.355371 0.864536 98.3108"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-713.995 -1599.2 198.002"; + rotation = "0 0 1 90"; + scale = "2.73686 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-615.82 -1599.21 198.002"; + rotation = "0 0 1 90"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-676.941 -1459.43 210.086"; + rotation = "0.355371 -0.355371 0.864536 98.3108"; + scale = "2.75313 1.91896 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-727.835 -1459.42 194.402"; + rotation = "-0.355373 0.355372 0.864535 98.3108"; + scale = "2.76301 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-700.489 -1459.43 215.487"; + rotation = "0 0 1 90"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-636.214 -1470.38 210.082"; + rotation = "0.354877 0.355443 -0.86471 98.3899"; + scale = "2.76064 1.91896 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-585.32 -1470.3 194.398"; + rotation = "-0.354877 -0.355444 -0.864709 98.3899"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.665 -1470.37 215.483"; + rotation = "0 0 -1 90.0913"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-649.016 -1478.29 195.407"; + rotation = "0 -1 0 90"; + scale = "1 3.68941 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-658.332 -1467.69 191.488"; + rotation = "1 0 0 0"; + scale = "1 0.689415 0.498775"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-649.025 -1537.26 195.407"; + rotation = "0 -1 0 90"; + scale = "1 3.68941 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-658.419 -1540.86 191.488"; + rotation = "1 0 0 0"; + scale = "1 2.248 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-649.024 -1585.53 195.398"; + rotation = "0 -1 0 90"; + scale = "1 2.79715 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-658.435 -1587.55 191.488"; + rotation = "1 0 0 0"; + scale = "1 2.28532 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-652.274 -1501.35 193.091"; + rotation = "0 1 0 35.5234"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-676.991 -1526.8 210.134"; + rotation = "0.355371 -0.355371 0.864536 98.3108"; + scale = "2.75313 1.91896 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-652.277 -1578.24 193.075"; + rotation = "0 1 0 35.5234"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.715 -1537.74 215.531"; + rotation = "0 0 -1 90.0913"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-585.37 -1537.67 194.446"; + rotation = "-0.354877 -0.355444 -0.864709 98.3899"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-636.264 -1537.46 210.13"; + rotation = "0.354877 0.355443 -0.86471 98.3899"; + scale = "2.69569 1.91896 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-700.539 -1526.8 215.535"; + rotation = "0 0 1 90"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-727.885 -1526.79 194.45"; + rotation = "-0.355373 0.355372 0.864535 98.3108"; + scale = "2.76361 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-658.379 -1499.94 193.488"; + rotation = "1 0 0 0"; + scale = "1 1.35074 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-665.022 -1578.09 195.349"; + rotation = "0 -1 0 35.5234"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-665.008 -1502.54 195.406"; + rotation = "0 -1 0 35.5234"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-649.056 -1424.51 195.425"; + rotation = "-0.305059 -0.000242851 0.952333 179.913"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-649.152 -1348.92 195.353"; + rotation = "-0.305059 -0.000242851 0.952333 179.913"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-655.67 -1427.08 193.492"; + rotation = "0 0 1 179.909"; + scale = "1 1.35074 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-636.215 -1400.08 210.099"; + rotation = "0.354876 0.355443 -0.86471 98.3897"; + scale = "2.74193 1.91896 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.667 -1400.15 215.5"; + rotation = "0 0 -1 90.0913"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-676.959 -1389.28 210.095"; + rotation = "0.356363 -0.355229 0.864186 98.153"; + scale = "2.75313 1.91896 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-700.508 -1389.35 215.496"; + rotation = "0 0 1 89.8175"; + scale = "2.76848 1.50674 0.987742"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.897 -1348.79 193.079"; + rotation = "0.305059 0.000242851 0.952333 179.913"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.778 -1425.68 193.095"; + rotation = "0.305059 0.000242851 0.952333 179.913"; + scale = "1 1.31133 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-655.753 -1339.47 191.492"; + rotation = "0 0 1 179.909"; + scale = "1 2.28532 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-665.161 -1341.5 195.402"; + rotation = "0.707107 0.000563262 -0.707107 180.065"; + scale = "1 2.79715 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-655.696 -1386.16 191.492"; + rotation = "0 0 1 179.909"; + scale = "1 2.248 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-665.084 -1389.77 195.411"; + rotation = "0.707107 0.000563262 -0.707107 180.065"; + scale = "1 3.68941 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-727.853 -1389.43 194.411"; + rotation = "-0.356363 0.355229 0.864186 98.153"; + scale = "2.76143 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-585.321 -1400.08 194.415"; + rotation = "-0.354878 -0.355445 -0.864708 98.3899"; + scale = "2.75313 2.5 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-684.685 -1513.07 215.47"; + rotation = "1 0 0 0"; + scale = "0.55452 3.55122 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-695.618 -1512.79 215.48"; + rotation = "1 0 0 0"; + scale = "0.55452 3.52609 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-706.502 -1512.74 215.485"; + rotation = "1 0 0 0"; + scale = "0.55452 3.52373 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-630.685 -1512.59 215.481"; + rotation = "1 0 0 0"; + scale = "0.55452 3.52373 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-619.801 -1512.64 215.477"; + rotation = "1 0 0 0"; + scale = "0.55452 3.52609 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.868 -1512.92 215.467"; + rotation = "1 0 0 0"; + scale = "0.55452 3.55122 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-630.708 -1444.57 215.488"; + rotation = "1 0 0 0"; + scale = "0.55452 3.70095 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-619.824 -1444.64 215.484"; + rotation = "1 0 0 0"; + scale = "0.55452 3.71169 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-608.891 -1444.55 215.474"; + rotation = "1 0 0 0"; + scale = "0.55452 3.70279 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-706.525 -1444.73 215.492"; + rotation = "1 0 0 0"; + scale = "0.55452 3.69769 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-695.641 -1444.82 215.487"; + rotation = "1 0 0 0"; + scale = "0.55452 3.70957 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-684.708 -1444.71 215.477"; + rotation = "1 0 0 0"; + scale = "0.55452 3.69896 0.1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-669.5 -1459.45 215.48"; + rotation = "0 0 1 90"; + scale = "2.72442 3.22857 0.451686"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-658.471 -1467.64 208.595"; + rotation = "1 0 0 0"; + scale = "1 0.6819 1.07361"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + isSuperAdmin = "1"; + isListening = "0"; + score = "0"; + targetId = "32"; + guid = "0"; + voiceEnabled = "0"; + isBot = "0"; + className = "PlayerRep"; + clientId = "7140"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c8FlyingElmo\x11"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + isSuperAdmin = "1"; + isListening = "0"; + score = "0"; + targetId = "32"; + guid = "0"; + voiceEnabled = "0"; + isBot = "0"; + className = "PlayerRep"; + clientId = "7140"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c8FlyingElmo\x11"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/IveHadWorse.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/IveHadWorse.mis new file mode 100644 index 00000000..5be7cd86 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/IveHadWorse.mis @@ -0,0 +1,883 @@ +// DisplayName = [Original]IveHadWorse +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//Ready your Disc Launcher, and prep your Chain Gun, because here Flags and Objectives mean squat. Your sole mission is to outlive the other team, think you are up for it? +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +////Map by: FlyingElmo +//www.tribesarena.com +//Download This Map +//--- MISSION STRING END --- +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "1048 744 256 384"; + flightCeiling = "600"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "562.2 -558 118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "0.500000 0.500000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SkinnyDip.ter"; + squareSize = "8"; + + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "150"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + GraphFile = "SkinnyDip.nav"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1196 -820 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.02"; + cloudSpeed3 = "0.03"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "850"; + fogColor = "0.800000 0.800000 0.900000 1.000000"; + fogVolume1 = "1600 40 500"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "SOM_TR2_StonedBlue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.27833e-28 3148.48"; + high_fogVolume2 = "-1 2.24208e-44 2.51673e-42"; + high_fogVolume3 = "-1 7.74718e+31 1.49413e-07"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "1166.1 808.965 162.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "1158.6 797.715 152.333"; + spawnPos29 = "1154.85 808.965 147.87"; + spawnPos14 = "1173.6 797.715 149.573"; + spawnPos18 = "1158.6 801.465 150.503"; + spawnPos3 = "1162.35 793.965 153.534"; + spawnPos22 = "1173.6 801.465 147.675"; + spawnPos7 = "1177.35 793.965 151.009"; + spawnPos26 = "1162.35 805.215 148.077"; + spawnPos11 = "1162.35 797.715 151.62"; + spawnPos15 = "1177.35 797.715 149.002"; + spawnPos0 = "1151.1 793.965 155.114"; + spawnPos19 = "1162.35 801.465 149.791"; + spawnPos4 = "1166.1 793.965 152.86"; + spawnPos23 = "1151.1 805.215 150.07"; + spawnPos8 = "1151.1 797.715 153.356"; + spawnPos27 = "1166.1 805.215 147.289"; + spawnPosCount = "29"; + spawnPos12 = "1166.1 797.715 150.868"; + spawnPos16 = "1151.1 801.465 151.711"; + spawnPos1 = "1154.85 793.965 154.743"; + spawnPos20 = "1166.1 801.465 149.029"; + spawnPos5 = "1169.85 793.965 152.208"; + spawnPos24 = "1154.85 805.215 149.465"; + spawnPos9 = "1154.85 797.715 152.963"; + spawnPos28 = "1151.1 808.965 148.475"; + spawnPos13 = "1169.85 797.715 150.216"; + spawnPos17 = "1154.85 801.465 151.133"; + spawnPos2 = "1158.6 793.965 154.237"; + spawnPos21 = "1169.85 801.465 148.319"; + spawnPos6 = "1173.6 793.965 151.578"; + spawnPos25 = "1158.6 805.215 148.789"; + }; + }; + new SimGroup(base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "1176.44 1046.26 157.898"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "1169.21 811.274 143.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "1170.4 825.584 149.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20957"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "1177.68 825.616 149.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "unFunFUnF"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20959"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "1162.8 825.706 149.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20961"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "1178.05 818.44 149.332"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "im blue"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20963"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "1162.75 818.362 149.36"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "im late"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20965"; + team = "1"; + Target = "38"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "1179.47 1052.79 167.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "1158.6 797.715 152.333"; + spawnPos29 = "1154.85 808.965 147.87"; + spawnPos14 = "1173.6 797.715 149.573"; + spawnPos18 = "1158.6 801.465 150.503"; + spawnPos3 = "1162.35 793.965 153.534"; + spawnPos22 = "1173.6 801.465 147.675"; + spawnPos7 = "1177.35 793.965 151.009"; + spawnPos26 = "1162.35 805.215 148.077"; + spawnPos11 = "1162.35 797.715 151.62"; + spawnPos15 = "1177.35 797.715 149.002"; + spawnPos0 = "1151.1 793.965 155.114"; + spawnPos19 = "1162.35 801.465 149.791"; + spawnPos4 = "1166.1 793.965 152.86"; + spawnPos23 = "1151.1 805.215 150.07"; + spawnPos8 = "1151.1 797.715 153.356"; + spawnPos27 = "1166.1 805.215 147.289"; + spawnPosCount = "-1"; + spawnPos12 = "1166.1 797.715 150.868"; + spawnPos16 = "1151.1 801.465 151.711"; + spawnPos1 = "1154.85 793.965 154.743"; + spawnPos20 = "1166.1 801.465 149.029"; + spawnPos5 = "1169.85 793.965 152.208"; + spawnPos24 = "1154.85 805.215 149.465"; + spawnPos9 = "1154.85 797.715 152.963"; + spawnPos28 = "1151.1 808.965 148.475"; + spawnPos13 = "1169.85 797.715 150.216"; + spawnPos17 = "1154.85 801.465 151.133"; + spawnPos2 = "1158.6 793.965 154.237"; + spawnPos21 = "1169.85 801.465 148.319"; + spawnPos6 = "1173.6 793.965 151.578"; + spawnPos25 = "1158.6 805.215 148.789"; + }; + }; + new SimGroup(base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "1169.99 816.901 157.898"; + rotation = "0 0 -1 90.3448"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "1168.75 1044.96 149.463"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20972"; + team = "2"; + Target = "39"; + }; + new StaticShape() { + position = "1169.12 1037.79 149.493"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20974"; + team = "2"; + Target = "40"; + }; + new StaticShape() { + position = "1176.4 1037.84 149.504"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20976"; + team = "2"; + Target = "41"; + }; + new StaticShape() { + position = "1184 1037.73 149.497"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "www.iamthebeststation.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20978"; + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "1184.04 1045.07 149.491"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + nameTag = "Jives"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "20980"; + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "1176.01 1035.56 138.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "1179.05 1013.79 148.781"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1216.7 1072.37 221.839"; + rotation = "-0.0565 -0.295048 0.95381 200.702"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1251.91 811.657 153.148"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1170.26 788.381 234.303"; + rotation = "1 0 0 29.7938"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1086.85 930.726 257.153"; + rotation = "0.32459 -0.324331 0.88851 96.7117"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(arenaofSWEETNESS) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1220.03 934.797 141.87"; + rotation = "0 0 1 89.9544"; + scale = "1.00563 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "1204.23 930.774 181.187"; + rotation = "0.707382 0.706819 -0.00409712 179.53"; + scale = "0.494719 1.16301 1.21126"; + interiorFile = "singleramp.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "1150.19 930.628 181.809"; + rotation = "-0.706256 0.707945 0.00409835 179.53"; + scale = "0.497862 1.08757 1.21126"; + interiorFile = "singleramp.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "1187.47 922.414 123.957"; + rotation = "1 0 0 0"; + scale = "1 1 1.91397"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1230.18 971.029 172.167"; + rotation = "1 0 0 179.909"; + scale = "4.33493 3.34976 1.71631"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1168.61 902.797 172.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1168.61 886.797 172.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1168.61 870.797 172.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1168.61 854.797 172.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1168.61 838.8 172.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1168.58 825.281 170.979"; + rotation = "-1 0 0 11.4592"; + scale = "1 0.708583 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.37 1022.76 172.12"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.39 1006.76 172.12"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.42 990.759 172.12"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.45 974.759 172.12"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.38 1036.27 170.992"; + rotation = "-7.95757e-05 0.0998335 0.995004 179.909"; + scale = "1 0.708583 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.47 958.759 172.12"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1189.05 1046.45 178.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1175.38 1051.61 201.546"; + rotation = "1 0 0 0"; + scale = "0.85 0.85 0.85"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1181.24 793.053 178.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1167.57 798.213 201.585"; + rotation = "1 0 0 0"; + scale = "0.85 0.85 0.85"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1182.62 924.92 225.677"; + rotation = "1 0 0 0"; + scale = "0.570129 0.570253 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1179.71 929.434 126.318"; + rotation = "1 0 0 0"; + scale = "0.596242 0.502561 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1179.91 929.391 382.429"; + rotation = "1 0 0 179.909"; + scale = "0.596242 0.502561 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1290.98 921.914 201.963"; + rotation = "1 0 0 0"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1290.98 1017.91 201.963"; + rotation = "1 0 0 0"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1290.98 807.036 201.963"; + rotation = "1 0 0 0"; + scale = "1 7.5732 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1070.62 1017.92 202.016"; + rotation = "1 0 0 0"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1102.75 1093.73 202.025"; + rotation = "0 0 1 89.9544"; + scale = "1 8.02317 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1223.03 1093.82 202.025"; + rotation = "0 0 1 89.9544"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1070.62 807.049 202.016"; + rotation = "1 0 0 0"; + scale = "1 7.5732 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1070.62 921.927 202.016"; + rotation = "1 0 0 0"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1102.67 776.81 202.009"; + rotation = "0 0 1 89.9544"; + scale = "1 8.02317 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1222.95 776.9 202.009"; + rotation = "0 0 1 89.9544"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1070.63 1018.13 261.237"; + rotation = "1 0 0 0"; + scale = "1 6 3.70962"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1070.63 922.142 261.296"; + rotation = "1 0 0 0"; + scale = "1 6 3.71333"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1070.63 807.264 260.944"; + rotation = "1 0 0 0"; + scale = "1 7.5732 3.69135"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1102.68 777.025 262.001"; + rotation = "0 0 1 89.9544"; + scale = "1 8.02317 3.75785"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1222.96 777.115 261.93"; + rotation = "0 0 1 89.9544"; + scale = "1 6 3.75337"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1290.99 807.251 259.859"; + rotation = "1 0 0 0"; + scale = "1 7.5732 3.62685"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1290.99 922.129 261.57"; + rotation = "1 0 0 0"; + scale = "1 6 3.73375"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1290.99 1018.12 261.23"; + rotation = "1 0 0 0"; + scale = "1 6 3.71252"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1223.04 1094.03 260.182"; + rotation = "0 0 1 89.9544"; + scale = "1 6 3.64312"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1102.76 1093.95 259.932"; + rotation = "0 0 1 89.9544"; + scale = "1 8.02317 3.62755"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1074.16 1018.29 257.427"; + rotation = "0 1 0 89.9544"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1170.16 1018.29 257.352"; + rotation = "0 1 0 89.9544"; + scale = "1 6 7.56823"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1074.16 922.69 257.428"; + rotation = "0 1 0 89.9544"; + scale = "1 6 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1074.16 807.732 257.428"; + rotation = "0 1 0 89.9544"; + scale = "1 7.59654 6"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1170.16 922.29 257.352"; + rotation = "0 1 0 89.9544"; + scale = "1 6 7.56823"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1170.16 807.379 257.352"; + rotation = "0 1 0 89.9544"; + scale = "1 7.59261 7.56823"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1149.82 878.104 167.043"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1136.16 870.485 157.865"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1126.65 853.357 147.508"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1108.84 845.426 135.875"; + rotation = "0 0 1 89.9541"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1243.65 1015.96 135.869"; + rotation = "0 0 -1 90.1372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1225.85 1008 147.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1216.37 990.862 157.859"; + rotation = "-0 0 -1 89.9547"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1202.72 983.221 167.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Khalarena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Khalarena.mis new file mode 100644 index 00000000..fe4f8b1f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Khalarena.mis @@ -0,0 +1,2403 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Khalendar: The most ping-fux0red T2 player ever (who can own LPBs with a 200 ping. Go figure) +//Objective: Kill or be killed. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Shoutout to Khalendar +//Part of the TFarena map pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "3"; + powerCount = "0"; + musicTrack = "volcanic"; + + new MissionArea(MissionArea) { + area = "-1211 389 743 441"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new FireballAtmosphere(FireballAtmosphere) { + position = "-757 626.2 143.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "900"; + dropsPerMinute = "20"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "300"; + dropHeight = "1000"; + dropDir = "0.212 0.212 -0.953998"; + locked = "false"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Caldera.ter"; + squareSize = "8"; + emptySquares = "250"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + GraphFile = "Caldera.nav"; + XDimOverSize = "0"; + }; + new SimGroup() { + powerCount = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.106000 0.125000 0.235000 0.000000"; + fogDistance = "500"; + fogColor = "0.850000 0.380000 0.100000 1.000000"; + fogVolume1 = "1 -9000 0"; + fogVolume2 = "280 0 120"; + fogVolume3 = "0 0 0"; + materialList = "lava_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.48168e+23 -3.38575e+35"; + high_fogVolume2 = "-1 -4.02981e+20 1.12014e+15"; + high_fogVolume3 = "-1 -0.0237701 1.78672e+22"; + locked = "true"; + cloudSpeed0 = "0.001000 0.001000"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-799.675 547.076 356.956"; + rotation = "1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-581.421 604.918 133.66"; + rotation = "0.054933 0.0548893 -0.99698 90.1277"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-865.837 688.429 161.318"; + rotation = "0.0813707 -0.222367 0.971561 140.857"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-860.026 548.478 119.096"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-484.06 810.26 130.828"; + rotation = "0 0 -1 112.3"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "1"; + providesPower = "1"; + + new SimGroup(WBase) { + powerCount = "2"; + + new InteriorInstance() { + position = "-512.058 594.663 162.435"; + rotation = "1 0 0 0"; + scale = "2 2.89965 1.32389"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-536.468 673.884 162.354"; + rotation = "0 0 1 179.909"; + scale = "8.37463 1.49841 3.68946"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-536.278 551.684 162.544"; + rotation = "0 0 1 179.909"; + scale = "8.37463 1.49841 3.68946"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-594.708 617.762 162.273"; + rotation = "0 0 1 179.909"; + scale = "2 2.89965 1.32389"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-588.778 580.542 162.293"; + rotation = "0 0 1 134.909"; + scale = "2 2.89965 3.17809"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-534.278 564.24 162.435"; + rotation = "0 0 1 45"; + scale = "2 2.89965 3.17809"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-517.928 631.892 162.257"; + rotation = "0 0 -1 45"; + scale = "2 2.89965 3.17809"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-521.948 624.645 162.49"; + rotation = "1 0 0 0"; + scale = "4.51547 1.11971 2.80381"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-521.948 582.445 162.49"; + rotation = "1 0 0 0"; + scale = "4.51547 1.11971 3.26226"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-584.838 629.996 162.328"; + rotation = "0 0 1 179.909"; + scale = "4.51547 1.11971 3.26226"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-584.768 587.796 162.328"; + rotation = "0 0 1 179.909"; + scale = "4.51547 1.11971 2.80381"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-572.538 648.22 162.273"; + rotation = "0 0 1 224.909"; + scale = "2 2.89965 3.17809"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-544.784 653.418 147.093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "<---Hes the middle"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + lastDamagedBy = "4678"; + damageTimeMS = "67568"; + Trigger = "4856"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-553.314 653.788 147.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "wtf am not"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + lastDamagedBy = "4678"; + damageTimeMS = "67568"; + Trigger = "4858"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-562.941 653.946 147.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "I couldnt add dinos sorry"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + lastDamagedBy = "4678"; + damageTimeMS = "67568"; + Trigger = "4860"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-553.588 560.241 146.87"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Surrounded by urls ono"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + inUse = "Down"; + notReady = "1"; + Trigger = "4862"; + }; + new StaticShape() { + position = "-564.144 559.587 146.856"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + Trigger = "4864"; + }; + new StaticShape() { + position = "-542.748 559.681 146.865"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + Trigger = "4866"; + }; + new InteriorInstance() { + position = "-553.551 570.26 142.621"; + rotation = "0.000210189 0.0499792 0.99875 180.482"; + scale = "2.89857 2.24871 1.49335"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-556.855 596.002 147.581"; + rotation = "1 0 0 0"; + scale = "1.74153 2.79911 0.160607"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-553.376 644.178 142.761"; + rotation = "-0.999573 -0.0068384 -0.0284247 6.30426"; + scale = "2.89857 2.24871 1.49335"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-548.54 611.729 117.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-554.117 578.388 155.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-550.313 634.554 156.494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-1076.21 643.705 140.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-1074.83 570.147 145.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(baseGroup) { + powerCount = "1"; + + new InteriorInstance() { + position = "-1092.83 645.231 153.242"; + rotation = "0 0 1 224.909"; + scale = "2 2.89965 4.84165"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1105.06 584.801 153.297"; + rotation = "0 0 1 179.909"; + scale = "4.51547 1.11971 4.82274"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1105.13 627.001 153.297"; + rotation = "0 0 1 179.909"; + scale = "4.51547 1.11971 4.96246"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1042.24 579.451 153.459"; + rotation = "1 0 0 0"; + scale = "4.51547 1.11971 3.26226"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1042.24 621.651 153.459"; + rotation = "1 0 0 0"; + scale = "4.51547 1.11971 3.97815"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1038.22 628.901 153.226"; + rotation = "0 0 -1 45"; + scale = "2 2.89965 4.24976"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1054.57 561.241 153.404"; + rotation = "0 0 1 45"; + scale = "2 2.89965 3.96061"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1109.07 577.551 153.279"; + rotation = "0 0 1 134.909"; + scale = "2 2.89965 4.67854"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1115 614.771 153.242"; + rotation = "0 0 1 179.909"; + scale = "2 2.89965 1.32389"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1056.57 548.691 153.513"; + rotation = "0 0 1 179.909"; + scale = "8.37463 1.49841 4.53901"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1056.76 670.891 153.323"; + rotation = "0 0 1 179.909"; + scale = "8.37463 1.49841 4.60621"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1032.34 591.671 153.404"; + rotation = "1 0 0 0"; + scale = "2 2.89965 1.32389"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-1083.93 556.64 136.101"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "40"; + Trigger = "4892"; + }; + new StaticShape() { + position = "-1073.37 557.247 136.112"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "I wanted to be used..."; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + Trigger = "4894"; + }; + new StaticShape() { + position = "-1062.52 556.687 136.117"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "I give you the goods"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + Trigger = "4896"; + }; + new StaticShape() { + position = "-1063 650.84 136.124"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + nameTag = "uNF uNF uNF"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "43"; + Trigger = "4898"; + }; + new StaticShape() { + position = "-1073.5 650.747 136.125"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "44"; + Trigger = "4900"; + }; + new StaticShape() { + position = "-1083.65 651.051 136.13"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + nameTag = "You may call me"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "45"; + Trigger = "4902"; + }; + new InteriorInstance() { + position = "-1077.81 592.93 136.547"; + rotation = "1 0 0 0"; + scale = "1.74153 2.75231 0.160607"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1074.48 567.214 131.755"; + rotation = "0.000231198 0.0549723 0.998488 180.481"; + scale = "2.89857 2.24871 1.49335"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-1074.33 640.544 131.797"; + rotation = "-0.999573 -0.0068384 -0.0284247 6.30426"; + scale = "2.89857 2.24871 1.49335"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-1076.76 610.839 93.3102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + }; + new SimGroup() { + powerCount = "1"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new InteriorInstance() { + position = "-797.852 764.792 132.729"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.007 677.923 127.046"; + rotation = "-0.000794456 0.996389 0.0848977 179.992"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.061 706.06 133.465"; + rotation = "-0.00079008 0.990901 0.13459 179.988"; + scale = "1.97925 3.49334 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-797.951 651.593 124.813"; + rotation = "-0.000797335 1 5.27519e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-797.918 625.099 124.821"; + rotation = "-0.000797335 1 5.27519e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.001 734.403 138.295"; + rotation = "-0.000797087 0.999687 0.0249974 179.998"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-797.739 508.267 134.647"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.895 557.006 127.858"; + rotation = "-0.000792063 0.993394 -0.114747 180.01"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.941 583.328 124.825"; + rotation = "-0.000797335 1 5.27519e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.693 538.86 134.775"; + rotation = "-0.000775014 0.971338 -0.237703 180.021"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.051 651.117 123.964"; + rotation = "1 0 0 0"; + scale = "1 1 1.06982"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.081 734.579 136.775"; + rotation = "1 0 0 0"; + scale = "1 1 1.13385"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-797.631 691.263 129.54"; + rotation = "1 0 0 0"; + scale = "1 1 1.06982"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.547 570.027 125.232"; + rotation = "1 0 0 0"; + scale = "1 1 1.34136"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-798.924 538.576 134.062"; + rotation = "1 0 0 0"; + scale = "1 1 1.46536"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-798.005 764.84 139.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.945 760.785 139.431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.932 768.805 139.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.81 512.265 141.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.883 508.3 141.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.823 504.245 141.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.665 508.443 126.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-795.074 508.319 126.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.762 511.035 126.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-800.566 508.399 126.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.752 505.393 126.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.812 764.971 124.718"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-795.083 764.961 124.71"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-800.641 764.892 124.711"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.866 767.866 124.719"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-797.915 761.916 124.725"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new SimSet() { + team = "0"; + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "125981"; + voiceEnabled = "0"; + clientId = "149466"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c7TFarena_\c6FlyingElmo\x11"; + isSmurf = "0"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + team = "0"; + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "125981"; + voiceEnabled = "0"; + clientId = "149466"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c7TFarena_\c6FlyingElmo\x11"; + isSmurf = "0"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + team = "0"; + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "125981"; + voiceEnabled = "0"; + clientId = "149466"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c7TFarena_\c6FlyingElmo\x11"; + isSmurf = "0"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + team = "0"; + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "125981"; + voiceEnabled = "0"; + clientId = "149466"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c7TFarena_\c6FlyingElmo\x11"; + isSmurf = "0"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + }; + }; + new SimGroup(Arena) { + powerCount = "0"; + + new InteriorInstance() { + position = "-895.824 604.016 115.905"; + rotation = "0.705616 -0.705054 0.0707414 171.901"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-869.919 603.98 121.738"; + rotation = "0.704833 -0.704272 0.0849206 170.284"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1027.15 604.06 108.395"; + rotation = "0.700942 -0.700384 0.134698 164.645"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-605.624 604.206 124.853"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-632.04 604.171 124.836"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-658.552 604.137 124.853"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-685.083 604.123 124.875"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-711.499 604.088 124.858"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-738.011 604.053 124.875"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1001.69 604.011 113.315"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-922.206 604.04 113.249"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-843.964 603.957 124.889"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-817.433 603.971 124.867"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-790.921 604.006 124.85"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.505 604.041 124.867"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-948.718 604.005 113.266"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-975.249 603.991 113.288"; + rotation = "0.707388 -0.706825 -3.08963e-08 180"; + scale = "1.97925 2.9567 0.992086"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.517 603.766 125.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-765.079 603.947 125.082"; + rotation = "1 0 0 0"; + scale = "1 1 1.06982"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-812.243 604.384 125.194"; + rotation = "1 0 0 0"; + scale = "1 1 1.32709"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-854.672 604.029 125.306"; + rotation = "1 0 0 0"; + scale = "1 1 1.32709"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-922.48 604.44 113.338"; + rotation = "1 0 0 0"; + scale = "1 1 1.32709"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-983.651 604.297 113.539"; + rotation = "1 0 0 0"; + scale = "1 1 1.32709"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(theseareffs) { + powerCount = "1"; + + new InteriorInstance() { + position = "-469.394 606.134 122.143"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-460.59 617.947 109.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-468.505 607.798 120.786"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "48"; + }; + new ForceFieldBare() { + position = "-468.514 607.913 118.888"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "49"; + }; + new ForceFieldBare() { + position = "-468.339 607.668 116.858"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "50"; + }; + new InteriorInstance() { + position = "-469.373 829.302 121.77"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-522.321 830.059 100.82"; + rotation = "-0.176364 0.176223 0.968422 91.7926"; + scale = "0.546173 57.1069 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "51"; + }; + new InteriorInstance() { + position = "-522.615 829.102 102.544"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-520.705 830.138 99.3239"; + rotation = "-0.176364 0.176223 0.968422 91.7926"; + scale = "0.546173 57.1069 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "52"; + }; + new ForceFieldBare() { + position = "-522.241 830.14 96.1772"; + rotation = "-0.176364 0.176223 0.968422 91.7926"; + scale = "0.546173 57.1069 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "53"; + }; + new ForceFieldBare() { + position = "-681.98 829.941 98.9785"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 159.887 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "54"; + }; + new ForceFieldBare() { + position = "-886.258 829.488 132.003"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 207.363 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "55"; + }; + new InteriorInstance() { + position = "-682.445 829.041 102.159"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-682.376 829.932 100.877"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 160.167 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "56"; + }; + new ForceFieldBare() { + position = "-682.351 829.766 96.9485"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 160.013 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "57"; + }; + new ForceFieldBare() { + position = "-886.439 829.652 136.019"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 208.35 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "58"; + }; + new ForceFieldBare() { + position = "-886.289 829.662 134.068"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 207.987 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "59"; + }; + new InteriorInstance() { + position = "-886.468 828.937 136.92"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-1022.1 829.61 135.689"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 136.103 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "60"; + }; + new ForceFieldBare() { + position = "-1022.45 829.62 133.791"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 136.576 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "61"; + }; + new ForceFieldBare() { + position = "-1022.23 829.669 132.031"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 136.995 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "62"; + }; + new InteriorInstance() { + position = "-1053.7 828.815 137.747"; + rotation = "1 0 0 0"; + scale = "8.29248 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1059.49 829.097 142.435"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new PhysicalZone() { + position = "-1188.85 829.929 100.141"; + rotation = "-0.138202 0.138312 0.980699 91.071"; + scale = "0.546173 136.995 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "8012"; + }; + new ForceFieldBare() { + position = "-1209.06 829.913 94.3293"; + rotation = "-0.138202 0.138312 0.980699 91.071"; + scale = "0.546173 158.025 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "63"; + }; + new PhysicalZone() { + position = "-1189.55 829.88 101.771"; + rotation = "-0.138202 0.138312 0.980699 91.071"; + scale = "0.546173 136.576 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "8010"; + }; + new ForceFieldBare() { + position = "-1209.03 829.863 96.1698"; + rotation = "-0.138202 0.138312 0.980699 91.071"; + scale = "0.546173 156.844 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "64"; + }; + new PhysicalZone() { + position = "-1189.74 829.87 103.692"; + rotation = "-0.138202 0.138312 0.980699 91.071"; + scale = "0.546173 136.103 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "8008"; + }; + new ForceFieldBare() { + position = "-1208.98 829.853 98.1589"; + rotation = "-0.138202 0.138312 0.980699 91.071"; + scale = "0.546173 156.125 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "65"; + }; + new InteriorInstance() { + position = "-1210.98 829.259 100.244"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1211.08 652.238 99.5343"; + rotation = "1 0 0 0"; + scale = "0.566177 1.72526 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-1210.03 670.658 94.3263"; + rotation = "1 0 0 0"; + scale = "0.546173 158.678 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "66"; + }; + new ForceFieldBare() { + position = "-1210.19 670.701 98.2543"; + rotation = "1 0 0 0"; + scale = "0.546173 158.765 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "67"; + }; + new ForceFieldBare() { + position = "-1210.2 670.48 96.3563"; + rotation = "1 0 0 0"; + scale = "0.546173 159.101 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "68"; + }; + new InteriorInstance() { + position = "-1211.27 596.761 97.2157"; + rotation = "1 0 0 0"; + scale = "0.566177 1.72526 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1211.42 388.397 89.8811"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-1210.36 388.054 95.6065"; + rotation = "1 0 0 0"; + scale = "0.546173 202.365 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "69"; + }; + new InteriorInstance() { + position = "-1211.44 388.399 100.818"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-1210.37 388.072 93.7085"; + rotation = "1 0 0 0"; + scale = "0.546173 202.463 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "70"; + }; + new ForceFieldBare() { + position = "-1210.19 388.324 91.6785"; + rotation = "1 0 0 0"; + scale = "0.546173 201.965 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "71"; + }; + new ForceFieldBare() { + position = "-1212.05 388.902 88.8092"; + rotation = "-0.157331 0.157456 0.974913 91.41"; + scale = "0.546173 259.446 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "72"; + }; + new ForceFieldBare() { + position = "-1211.44 388.912 87.0133"; + rotation = "-0.157331 0.157456 0.974913 91.41"; + scale = "0.546173 259.259 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "73"; + }; + new ForceFieldBare() { + position = "-1210.56 388.732 85.1656"; + rotation = "-0.157331 0.157456 0.974913 91.41"; + scale = "0.546173 258.707 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "74"; + }; + new InteriorInstance() { + position = "-1085.06 388.245 132.717"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-967.207 388.228 171.571"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new PhysicalZone() { + position = "-965.667 389.135 166.475"; + rotation = "0.0598563 -0.059904 0.996408 90.1606"; + scale = "0.546173 160.013 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "7730"; + }; + new ForceFieldBare() { + position = "-965.667 389.135 166.475"; + rotation = "0.0598563 -0.059904 0.996408 90.1606"; + scale = "0.546173 160.013 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "75"; + }; + new PhysicalZone() { + position = "-965.221 389.301 170.378"; + rotation = "0.0598563 -0.059904 0.996408 90.1606"; + scale = "0.546173 160.167 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "7728"; + }; + new ForceFieldBare() { + position = "-965.221 389.301 170.378"; + rotation = "0.0598563 -0.059904 0.996408 90.1606"; + scale = "0.546173 160.167 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "76"; + }; + new PhysicalZone() { + position = "-965.056 389.31 168.446"; + rotation = "0.0598563 -0.059904 0.996408 90.1606"; + scale = "0.546173 159.887 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "7723"; + }; + new ForceFieldBare() { + position = "-965.056 389.31 168.446"; + rotation = "0.0598563 -0.059904 0.996408 90.1606"; + scale = "0.546173 159.887 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "77"; + }; + new InteriorInstance() { + position = "-807.029 388.419 153.227"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new PhysicalZone() { + position = "-805.359 389.366 149.369"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 159.887 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9588"; + }; + new PhysicalZone() { + position = "-805.755 389.357 151.267"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 160.167 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9585"; + }; + new PhysicalZone() { + position = "-661.769 389.129 151.396"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 208.35 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "7732"; + }; + new ForceFieldBare() { + position = "-661.769 389.129 151.396"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 197.268 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "78"; + }; + new ForceFieldBare() { + position = "-805.73 389.191 147.339"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 143.642 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "79"; + }; + new ForceFieldBare() { + position = "-661.588 388.965 147.38"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 197.116 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "80"; + }; + new ForceFieldBare() { + position = "-805.755 389.357 151.267"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 143.405 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "81"; + }; + new PhysicalZone() { + position = "-661.588 388.965 147.38"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 207.363 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "7725"; + }; + new ForceFieldBare() { + position = "-805.359 389.366 149.369"; + rotation = "0 0 1 89.9544"; + scale = "0.546173 143.63 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "82"; + }; + new InteriorInstance() { + position = "-663.511 388.464 153.196"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new PhysicalZone() { + position = "-468.284 384.381 120.871"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9530"; + }; + new PhysicalZone() { + position = "-468.293 384.496 118.973"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9527"; + }; + new PhysicalZone() { + position = "-468.118 384.251 116.943"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9524"; + }; + new PhysicalZone() { + position = "-661.619 389.139 149.445"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 207.987 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "7734"; + }; + new PhysicalZone() { + position = "-468.293 384.496 118.973"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9476"; + }; + new PhysicalZone() { + position = "-468.118 384.251 116.943"; + rotation = "1 0 0 0"; + scale = "0.546173 221.459 0.601921"; + velocityMod = "0.1"; + gravityMod = "1"; + appliedForce = "0 0 0"; + polyhedron = "0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + ffield = "9473"; + }; + new InteriorInstance() { + position = "-469.336 388.084 121.858"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-468.118 387.535 116.943"; + rotation = "1 0 0 0"; + scale = "0.546173 218.174 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "83"; + }; + new InteriorInstance() { + position = "-469.338 388.118 110.889"; + rotation = "1 0 0 0"; + scale = "0.566177 0.157831 0.68796"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new ForceFieldBare() { + position = "-468.293 387.672 118.973"; + rotation = "1 0 0 0"; + scale = "0.546173 218.283 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "84"; + }; + new ForceFieldBare() { + position = "-661.619 389.139 149.445"; + rotation = "0.0845928 -0.0846602 0.992813 90.3676"; + scale = "0.546173 197.095 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "85"; + }; + new ForceFieldBare() { + position = "-468.284 387.676 120.871"; + rotation = "1 0 0 0"; + scale = "0.546173 218.164 0.601921"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + Target = "86"; + }; + new SimSet() { + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "0"; + voiceEnabled = "0"; + clientId = "7653"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c8FlyingElmo\x11"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "0"; + voiceEnabled = "0"; + clientId = "7653"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c8FlyingElmo\x11"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "0"; + voiceEnabled = "0"; + clientId = "7653"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c8FlyingElmo\x11"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + new SimSet() { + + new ScriptObject() { + isListening = "0"; + isSuperAdmin = "1"; + targetId = "32"; + score = "0"; + guid = "0"; + voiceEnabled = "0"; + clientId = "7653"; + isBot = "0"; + className = "PlayerRep"; + canListen = "0"; + packetLoss = "0"; + isAdmin = "1"; + name = "\x10\c8FlyingElmo\x11"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + ping = "0"; + }; + }; + }; + new SimGroup(treesforu) { + powerCount = "0"; + + new InteriorInstance() { + position = "-693.075 646.797 109.736"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-740.735 651.933 110.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-662.016 676.961 115.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-662.943 772.601 92.3424"; + rotation = "0 1 0 1.14191"; + scale = "1 1 1"; + interiorFile = "drocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-792.43 704.918 112.373"; + rotation = "0 1 0 68.182"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-901.085 672.188 94.144"; + rotation = "0.0791693 0.698087 0.711623 171.118"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-997.881 787.065 117.848"; + rotation = "0.0791693 0.698087 0.711623 171.118"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1152.61 502.257 72.3387"; + rotation = "0.108189 -0.206462 0.972455 182.631"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1085.91 737.778 89.9747"; + rotation = "0.199949 0.186973 0.961801 220.347"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-830.631 429.897 144.075"; + rotation = "0.199949 0.186973 0.961801 220.347"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-657.122 544.172 95.2282"; + rotation = "-0.729541 0.623615 0.280844 89.9579"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-581.834 725.63 122.705"; + rotation = "-0.086111 0.356998 0.930128 231.252"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-500.549 698.182 115.595"; + rotation = "-0.420779 -0.586851 0.691774 196.043"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-548.038 468.84 115.34"; + rotation = "0.58601 -0.0267902 0.809861 177.908"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-916.866 451.554 165.342"; + rotation = "0 0 1 110.008"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-799.081 546.884 103.996"; + rotation = "0 0 1 110.008"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-887.941 570.198 96.6004"; + rotation = "0.51505 0.360588 0.777624 122.871"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-949.929 693.674 89.7212"; + rotation = "0.79563 0.557022 0.238117 161.071"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1147.35 661.47 78.5848"; + rotation = "0.79563 0.557022 0.238117 161.071"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-722.948 19 0"; + rotation = "0.278569 0.916742 0.286329 181.78"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-722.948 3 0"; + rotation = "0.278569 0.916742 0.286329 181.78"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-523.334 747.038 118.084"; + rotation = "0.278569 0.916742 0.286329 181.78"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-627.575 795.551 93.773"; + rotation = "-0.292165 0.928035 0.231063 200.096"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-893.115 807.967 126.356"; + rotation = "-0.292165 0.928035 0.231063 200.096"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-938.445 701.43 90.039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1100.68 817.246 113.064"; + rotation = "1 0 0 93.3921"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1078.49 468.618 81.8963"; + rotation = "-0.53863 -0.577873 0.61314 233.829"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-997.869 397.752 132.695"; + rotation = "-0.10954 0.903496 0.414361 173.325"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.62 428.816 128.86"; + rotation = "0.715631 -0.602945 -0.352603 152.301"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-830.316 580.193 99.4022"; + rotation = "0.382929 -0.360249 -0.850638 112.268"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-853.508 532.158 99.8123"; + rotation = "-0.386204 0.264355 -0.883721 106.866"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-926.237 588.104 100.284"; + rotation = "-0.451004 -0.450425 0.770527 72.274"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-597.326 493.257 104.597"; + rotation = "-0.451004 -0.450425 0.770527 72.274"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-1189.8 455.607 77.8526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new InteriorInstance() { + position = "-837.989 688.271 99.1543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.984 574.17 98.2619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-728.611 694.073 105.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-604.251 668.981 115.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-730.256 583.491 94.8413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-748.746 398.442 141.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-993.704 795.942 114.054"; + rotation = "0.0937528 -0.173341 0.980389 124.13"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-910.945 434.296 159.461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-511.712 495.154 114.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-560.058 809.829 93.4045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1180.58 793.472 84.9356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-780.049 656.008 112.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-658.737 707.061 119.939"; + rotation = "1 0 0 27.502"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new InteriorInstance() { + position = "-757.26 534.419 104.327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-492.065 797.079 113.25"; + rotation = "0 0 1 228.037"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-663.307 666.406 111.244"; + rotation = "-0.0510662 -0.114597 0.992099 227.7"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-674.792 526.636 92.5996"; + rotation = "1 0 0 20.6265"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-925.738 639.097 87.912"; + rotation = "-1 0 0 21.7724"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-961.76 662.537 89.5172"; + rotation = "-0.00432226 0.315305 0.948981 67.3951"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-906.364 746.53 115.198"; + rotation = "0.824967 -0.563064 0.0488708 201.992"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-962.83 509.304 122.843"; + rotation = "0.807464 -0.587379 0.0546607 201.814"; + scale = "2 2 2"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-775.409 456.126 142.355"; + rotation = "0.302166 0.809031 0.504148 129.109"; + scale = "2 2 2"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.367 784.723 132.199"; + rotation = "0.81929 0.552543 0.153163 104.213"; + scale = "2 2 2"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1053.2 785.717 113.996"; + rotation = "-0.0379617 0.797707 0.601849 155.108"; + scale = "2 2 1.5"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Morena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Morena.mis new file mode 100644 index 00000000..b1bdd71d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Morena.mis @@ -0,0 +1,2712 @@ +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Mo-rena. ElMo-rena. Got that? +//Objective: Defeat the other team of evil meanies to win. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@teamfusion.org +//Part of the TFarena map pack +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "5"; + musicTrack = "ice"; + + new MissionArea(MissionArea) { + area = "-797 -130 337 250"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new InteriorInstance() { + position = "-628.923 -10.2105 98.7382"; + rotation = "0 1 0 90"; + scale = "0.5 0.5 0.5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.500000 0.800000 1.000000"; + ambient = "0.300000 0.300000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-574.935 -113.78 109.114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-592.27 -113.101 109.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-608.777 -113.734 109.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-625.632 -113.434 109.002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-641.805 -112.829 109.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-658.643 -112.962 109.132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-678.81 -113.187 109.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-645.67 -105.469 105.043"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-661.967 -105.482 105.14"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-678.43 -89.296 105.126"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-629.199 -105.479 105.01"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-612.732 -105.419 105.175"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-596.269 -105.406 105.122"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-579.972 -89.1919 104.987"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-626.074 -111.178 109.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "http://www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + inUse = "Down"; + Trigger = "4849"; + notReady = "1"; + }; + new StaticShape() { + position = "-641.476 -111.26 108.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "This map is very...squared"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + damageTimeMS = "1625108"; + inUse = "Down"; + Trigger = "4851"; + lastDamagedBy = "4662"; + lastDamagedByTeam = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-608.688 -111.163 109.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo (DUH)"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + inUse = "Down"; + Trigger = "4853"; + notReady = "1"; + }; + new StaticShape() { + position = "-592.52 -111.252 109.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "i thought elmos were red"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + inUse = "Down"; + Trigger = "4855"; + notReady = "1"; + }; + new StaticShape() { + position = "-631.936 -119.314 73.1285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "-657.847 -111.421 109.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + inUse = "Down"; + Trigger = "4858"; + notReady = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-674.615 100.289 109.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-657.25 99.9925 109.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-640.424 100.299 109.136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-625.048 100.622 109.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-608.414 100.254 109.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-575.393 98.2485 109.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-591.341 100.693 109.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-678.116 89.8984 105.187"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-661.653 106.112 105.238"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-645.356 106.126 105.141"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-628.885 106.115 105.108"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-612.418 106.175 105.192"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-595.955 106.189 105.194"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-579.658 90.0025 105.048"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-592.134 96.0172 109.152"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Do you know that FlyingElmo guy?"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "39"; + Trigger = "4877"; + }; + new StaticShape() { + position = "-607.536 96.0648 109.13"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "I hear he has spikey hair"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "40"; + damageTimeMS = "161685"; + Trigger = "4879"; + lastDamagedBy = "4662"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-624.922 96.1967 109.049"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "well that just proves it"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + Trigger = "4881"; + }; + new StaticShape() { + position = "-641.089 96.4217 109.084"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Elmo = FRUITY (not fag tho)"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + Trigger = "4883"; + }; + new StaticShape() { + position = "-657.764 96.1854 109.194"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "No, really!"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "43"; + Trigger = "4885"; + }; + new StaticShape() { + position = "-629.721 107.046 64.3787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "44"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "-624.87 -8.01278 100.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-622.774 -8.02441 100.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-624.911 -10.1055 100.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-626.812 -7.97268 100.653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-624.892 -6.17556 100.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-684.654 -83.4377 81.9924"; + rotation = "1 0 0 0"; + scale = "0.491058 0.132146 0.39137"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-684.218 -83.0802 81.8349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-683.638 -82.3848 81.8529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-683.033 -83.0325 81.9645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-563.008 -78.8334 85.7371"; + rotation = "1 0 0 0"; + scale = "0.491058 0.132146 0.39137"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-561.962 -78.2814 85.7025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-562.585 -78.2786 85.7294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-561.35 -78.2581 85.6841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-689.861 64.0584 82.0228"; + rotation = "1 0 0 0"; + scale = "0.491058 0.132146 0.39137"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-688.863 64.5877 81.9686"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-689.367 64.5957 81.9397"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-688.355 64.6159 81.9481"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-562.934 66.4319 81.9883"; + rotation = "1 0 0 0"; + scale = "0.491058 0.132146 0.39137"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-561.917 66.9498 81.7791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-561.313 66.952 81.7681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-562.465 66.9325 81.7795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "Katabatic.ter"; + squareSize = "8"; + emptySquares = "223146 747683 747939 748195 748451 355491 305974 437300 437556 372277 372533 307254 373046 373302 373558 373814 308534"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + GraphFile = "Katabatic.nav"; + coverage = "0"; + position = "0 0 0 1"; + scale = "1 1 1"; + locked = "true"; + conjoinBowlDev = "20"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-611.323 -7.01544 228.26"; + rotation = "0.567618 0.567184 -0.596751 118.308"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-738.024 114.751 166.095"; + rotation = "0.143753 -0.330023 0.932963 135.768"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-626.8 -138.617 146.015"; + rotation = "1 0 0 24.0642"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-562.649 -74.4587 97.4078"; + rotation = "0.368062 0.171033 -0.913935 53.9017"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-681.951 54.7584 93.0698"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Arena) { + powerCount = "0"; + + new InteriorInstance() { + position = "-612.728 -89.3308 121.283"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-555.327 45.8681 109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.327 45.8681 126"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.239 62.3919 92.0041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.311 62.3482 109.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.311 62.3482 126.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.357 29.6054 126.11"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.357 29.6054 109.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.285 41.0491 92.1099"; + rotation = "1 0 0 0"; + scale = "1 0.180215 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.372 13.1253 126.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.372 13.1253 109.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.3 13.169 92.1056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.348 -36.0779 126.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.348 -36.0779 109.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.276 -36.0342 92.0217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.363 -52.558 126.018"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.363 -52.558 109.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.291 -57.5143 92.0174"; + rotation = "1 0 0 0"; + scale = "1 0.180215 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.302 -3.33506 126.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.302 -3.33506 109.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.23 -3.29137 92.0401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.318 -19.8152 126.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.318 -19.8152 109.036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.245 -19.7714 92.0358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.373 -85.4338 91.9887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.445 -85.4775 108.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.445 -85.4775 125.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-596.265 -89.3169 121.357"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-555.43 -68.9974 108.993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.43 -68.9974 125.993"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.868 -69.1194 125.909"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.868 -69.1194 108.909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.796 -57.6757 91.91"; + rotation = "1 0 0 0"; + scale = "1 0.180215 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.883 -85.5995 125.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.883 -85.5995 108.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.811 -85.5558 91.9862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.683 -19.8933 91.9528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.756 -19.9371 108.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.756 -19.9371 125.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.668 -3.41332 91.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.741 -3.457 108.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.741 -3.457 125.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-629.195 -89.3904 121.245"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-698.801 -52.6799 108.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.801 -52.6799 125.934"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.715 -36.1561 91.9387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.786 -36.1998 108.938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.786 -36.1998 125.938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.738 13.0471 92.0226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.81 13.0034 109.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.81 13.0034 126.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.723 40.9646 92.0268"; + rotation = "1 0 0 0"; + scale = "1 0.180215 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.795 29.4835 109.026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.795 29.4835 126.026"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.749 62.2263 109.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.677 62.27 92.0016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.765 45.7462 125.997"; + rotation = "1 0 0 0"; + scale = "1 1 0.239069"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.765 45.7462 108.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.666 -89.38 121.278"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-698.749 62.2263 126.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-694.587 78.1414 125.915"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-694.587 78.1414 108.915"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-694.543 78.0697 91.9142"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.677 78.057 91.921"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-563.241 78.1272 125.926"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.721 78.1301 108.922"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.361 77.9958 91.957"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.405 78.0687 108.958"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.405 78.0687 125.958"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-628.881 77.9937 91.9613"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-583.478 -9.60503 106.905"; + rotation = "0.577197 0.577657 -0.577197 119.974"; + scale = "1 2.69117 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-628.924 78.0657 125.962"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.104 78.0156 91.9386"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.147 78.0876 108.94"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.147 78.0876 125.94"; + rotation = "0 0 1 89.9544"; + scale = "1 1 0.25871"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.623 78.0138 91.9429"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.668 78.0857 108.944"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.668 78.0857 125.944"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.42 78.0769 92.0268"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.464 78.149 109.028"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.464 78.149 126.028"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-595.94 78.0751 92.0311"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-595.984 78.1471 109.032"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-595.984 78.1471 126.032"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-563.241 78.1272 108.926"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-563.197 78.0552 91.9253"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.721 78.1301 125.922"; + rotation = "0 0 1 89.9544"; + scale = "1 1 0.25871"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-596.259 -89.1992 109.088"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-596.215 -89.2712 92.0875"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.739 -89.1973 126.084"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.739 -89.1973 109.084"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-612.695 -89.2695 92.0832"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.943 -89.2606 126"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.943 -89.2606 109"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.898 -89.3325 91.9993"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.422 -89.2587 125.996"; + rotation = "0 0 1 89.9544"; + scale = "1 1 0.25871"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.422 -89.2587 108.996"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-678.379 -89.3307 91.995"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-629.199 -89.2807 126.018"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-696.599 -9.8215 108.182"; + rotation = "0.577197 0.577657 -0.577197 119.974"; + scale = "1 2.80772 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-629.156 -89.3527 92.0177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.68 -89.2776 126.014"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.68 -89.2776 109.014"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-645.636 -89.3505 92.0134"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-694.818 -89.2766 91.9706"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-694.862 -89.2049 125.971"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-694.862 -89.2049 108.971"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.996 -89.2163 125.978"; + rotation = "0 0 1 89.9544"; + scale = "1 1 0.25871"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-596.259 -89.1992 126.088"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-563.516 -89.2192 125.982"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-563.516 -89.2192 108.982"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.996 -89.2163 108.978"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-563.472 -89.2911 91.9817"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.952 -89.2893 91.9774"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.32 -81.4405 104.662"; + rotation = "0 1 0 90"; + scale = "1 1.99422 1.90897"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-666.282 -81.4281 104.662"; + rotation = "0 1 0 90"; + scale = "1 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-616.852 -81.6675 104.662"; + rotation = "0 1 0 90"; + scale = "1 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-582.957 -81.6267 104.662"; + rotation = "0 1 0 90"; + scale = "1 2.01291 1.95959"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-616.858 -48.1052 77.0921"; + rotation = "0 1 0 90"; + scale = "12.4509 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-582.963 -48.0752 104.662"; + rotation = "0 1 0 90"; + scale = "1 1.9966 1.96685"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-698.248 -48.0711 104.662"; + rotation = "0 1 0 90"; + scale = "1 2.01814 1.91482"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-666.288 -47.8658 73.7704"; + rotation = "0 1 0 90"; + scale = "13.2567 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-616.278 50.4542 104.936"; + rotation = "0 1 0 90"; + scale = "1 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-582.783 50.4434 104.936"; + rotation = "0 1 0 90"; + scale = "0.973496 2 1.93273"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-697.301 50.3816 104.781"; + rotation = "0 1 0 90"; + scale = "1 2 1.83735"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-666.81 50.3708 104.781"; + rotation = "0 1 0 90"; + scale = "1 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-697.315 16.8405 104.781"; + rotation = "0 1 0 90"; + scale = "1 2.00532 1.83857"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-666.803 16.8084 78.3032"; + rotation = "0 1 0 90"; + scale = "12.0143 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-616.272 16.8918 74.2411"; + rotation = "0 1 0 90"; + scale = "13.045 2 2"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-582.777 16.8954 104.936"; + rotation = "0 1 0 90"; + scale = "1 2.00361 1.93965"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-661.963 -89.3935 121.198"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-645.35 90.2312 121.808"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-628.879 90.2208 121.775"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-612.412 90.2804 121.813"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-595.949 90.2943 121.887"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-661.647 90.2177 121.728"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-519.551 -54.026 75.2806"; + rotation = "0 1 0 89.9544"; + scale = "3.82787 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.339 -85.505 104.833"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.342 -69.0249 104.848"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.367 -52.5855 104.915"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.371 -36.1054 104.93"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.386 -19.8427 104.96"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.39 -3.36256 104.976"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.456 13.0978 104.906"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.46 29.5779 104.921"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.349 45.8406 104.951"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.353 62.3207 104.967"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.408 -69.1122 104.856"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.433 -52.6727 104.923"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.437 -36.1926 104.938"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.452 -19.9299 104.725"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.521 13.0106 104.914"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.404 -85.5923 104.841"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.455 -3.44976 104.741"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.525 29.4907 104.929"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.415 45.7534 104.797"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-714.419 62.2335 104.975"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-730.803 -19.9454 104.737"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-730.806 -3.46521 104.753"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.212 -19.9185 104.661"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.215 -3.43832 104.677"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.692 -3.51757 104.613"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.689 -19.9977 104.597"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.248 70.0351 104.583"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.218 53.5548 104.598"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.167 37.1155 104.665"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.137 20.6355 104.68"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.096 4.37276 104.467"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.066 -12.1072 104.483"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.944 -45.0475 104.671"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-764.028 -61.3106 104.539"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.998 -77.7906 104.717"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.974 -28.5676 104.656"; + rotation = "0.706825 0.000563464 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.694 -77.6082 125.743"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-780.449 -45.1477 125.593"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.781 -12.1252 125.698"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.792 4.35499 125.694"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.814 37.2177 125.68"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.769 70.0174 125.647"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.769 70.0174 108.728"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.841 69.9736 91.7284"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.799 37.0979 108.676"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.871 37.0537 91.6765"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.792 4.35499 108.694"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.865 4.31106 91.695"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.685 -12.1854 108.764"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.757 -12.2292 91.7648"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.678 -77.7281 108.658"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-779.751 -77.7721 91.6589"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-780.506 -45.3116 91.5084"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-780.433 -45.2676 108.508"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-730.635 -85.536 104.82"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.044 -85.5883 104.84"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.044 -85.5091 104.84"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.638 -85.5883 104.84"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.638 -85.5091 104.84"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-730.752 62.1028 104.72"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-487.321 70.2652 104.761"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-513.782 -50.8254 96.2353"; + rotation = "0 1 0 89.9544"; + scale = "0.8 0.25 0.25"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-515.721 -51.9613 89.6839"; + rotation = "0 1 0 89.9544"; + scale = "1.7 0.5 0.5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.409 29.9648 108.589"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-471.143 62.4683 91.74"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.336 30.0088 91.5895"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.393 29.8447 125.674"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-471.216 62.4239 108.739"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-471.032 -3.07462 91.8459"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-471.104 -3.11873 108.845"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.898 -19.6146 91.7761"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-471.008 -3.17861 125.779"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-471.199 62.304 125.824"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.896 62.4614 104.798"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.839 45.9814 104.62"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.898 29.7184 104.752"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.841 13.2384 104.737"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.723 -3.22172 104.564"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-503.59 4.56285 104.742"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-519.998 4.56347 104.818"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-503.51 -77.4854 104.725"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.971 -19.6589 108.775"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.912 -52.4016 108.757"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.889 -85.3213 108.809"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.896 -52.5217 125.761"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.889 -85.3213 125.728"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.817 -85.2773 91.8095"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.84 -52.3574 91.7576"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-487.033 -77.38 104.661"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-519.918 -77.4846 104.801"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-487.113 4.66807 104.678"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.971 -19.6589 125.775"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.667 -19.7015 104.548"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.6 -35.9643 104.761"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.544 -52.4441 104.746"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.466 -68.8835 104.679"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.41 -85.3635 104.664"; + rotation = "-0.00159441 0.999997 -0.00160042 89.9546"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-487.083 -11.812 104.694"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-503.56 -11.9174 104.758"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-519.969 -11.9167 104.834"; + rotation = "0.706825 0.000563427 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.952 -105.387 104.987"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-678.41 -105.491 104.987"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-678.137 106.186 105.187"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-579.685 106.245 105.187"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-747.396 -52.634 75.4494"; + rotation = "0 1 0 89.9544"; + scale = "3.82787 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-743.566 -50.5693 89.8527"; + rotation = "0 1 0 89.9544"; + scale = "1.7 0.5 0.5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-741.627 -49.4334 96.4041"; + rotation = "0 1 0 89.9544"; + scale = "0.8 0.25 0.25"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-741.345 32.8674 95.8017"; + rotation = "0 1 0 89.9544"; + scale = "0.8 0.25 0.25"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-743.284 31.7315 89.2503"; + rotation = "0 1 0 89.9544"; + scale = "1.7 0.5 0.5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.114 29.6668 74.847"; + rotation = "0 1 0 89.9544"; + scale = "3.82787 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-519.269 28.2748 74.6782"; + rotation = "0 1 0 89.9544"; + scale = "3.82787 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-515.439 30.3395 89.0815"; + rotation = "0 1 0 89.9544"; + scale = "1.7 0.5 0.5"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-513.5 31.4754 95.6329"; + rotation = "0 1 0 89.9544"; + scale = "0.8 0.25 0.25"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.149971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0"; + cloudSpeed2 = "0"; + cloudSpeed3 = "0"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.400000 0.400000 0.000000"; + fogDistance = "370"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "550 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 9.9907e-33 1.56945e-43"; + high_fogVolume2 = "-1 1.0993e-38 3.61615e-35"; + high_fogVolume3 = "-1 2.8026e-45 9.99182e-33"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new InteriorInstance() { + position = "-763.742 62.0554 104.597"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-763.742 61.9762 104.597"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.148 62.0554 104.597"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-747.148 61.9762 104.597"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-536.19 62.316 104.91"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-519.79 62.2839 104.8"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-739.331 33.861 98.9718"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + }; + new TSStatic() { + position = "-739.598 -48.3947 99.5734"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + }; + new TSStatic() { + position = "-511.767 -49.8248 99.4635"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + }; + new TSStatic() { + position = "-511.453 32.5283 98.6765"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Mudside.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Mudside.mis new file mode 100644 index 00000000..d972849a --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Mudside.mis @@ -0,0 +1,2025 @@ +// DisplayName = _Mudside +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//For those who can't defend themself, a muddy grave awaits. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "4"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "192 -584 416 368"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new SimGroup(k) { + + powerCount = "0"; + + new InteriorInstance() { + position = "335.126 -492.24 111.649"; + rotation = "-0.409213 0.912439 6.98345e-08 180"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "388.515 -539.737 98.9237"; + rotation = "-0.407509 0.908639 0.091168 175.317"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "351.805 -464.247 97.0273"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "361.486 -515.717 106.219"; + rotation = "-0.407509 0.908639 0.091168 175.317"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "415.644 -563.899 91.5597"; + rotation = "-0.407509 0.908639 0.091168 175.317"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "461.074 -323.607 111.627"; + rotation = "0.912764 0.408487 -4.16226e-08 180"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "501.329 -359.52 106.17"; + rotation = "-0.407509 0.908639 0.091168 175.317"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "240.113 -407.807 98.8957"; + rotation = "0.911342 0.409594 0.0410914 190.449"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "570.027 -521.56 138.043"; + rotation = "0 0 1 131.78"; + scale = "1 0.874695 1.84736"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "453.21 -353.246 96.1275"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "422.22 -387.24 96.3626"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "432.864 -375.564 96.3393"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "442.971 -364.479 96.1276"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "332.53 -457.111 116.112"; + rotation = "0.0508376 0.949097 -0.310854 137.003"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "419.221 -362.465 114.114"; + rotation = "-0.323641 0.0363907 0.94548 151.241"; + scale = "0.608164 0.576261 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "416.746 -353.253 115.855"; + rotation = "1 0 0 134.072"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "439.749 -330.875 117.51"; + rotation = "0.16697 0.919039 0.357055 139.974"; + scale = "1 2.60153 1.00945"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "339.331 -441.866 115.236"; + rotation = "-0.290252 0.0453233 0.955876 151.404"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "354.105 -429.497 117.891"; + rotation = "0.887959 -0.44839 0.102346 183.523"; + scale = "1 2.60153 1.86267"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "375.283 -409.469 115.838"; + rotation = "0.889176 0.154724 -0.430612 203.055"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "430.381 -345.247 116.056"; + rotation = "0.824665 -0.372159 -0.425941 151.897"; + scale = "1 2.60153 1.86267"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "390.17 -383.423 117.359"; + rotation = "0 1 0 169.023"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "397.621 -380.955 117.037"; + rotation = "0 1 0 68.182"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "384.147 -398.156 116.216"; + rotation = "0.709229 -0.561788 -0.425897 156.878"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "439.169 -334.254 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1.21338 1 1.10494"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "424.395 -350.736 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "411.046 -365.628 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "397.697 -380.521 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "384.347 -395.414 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "370.998 -410.307 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "357.649 -425.2 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "344.306 -440.088 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1.10494"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "329.436 -456.685 115.89"; + rotation = "0 0 -1 48.1284"; + scale = "1.2335 1 1.10494"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "384.249 -395.465 100.088"; + rotation = "0.915115 0.403189 -0.00169483 180.441"; + scale = "0.959728 0.404508 1"; + interiorFile = "nef_ramp1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "420.182 -283.22 83.9963"; + rotation = "0.934124 -0.356949 -0.00028746 180.085"; + scale = "1.27353 0.194938 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "492.235 -347.741 83.2465"; + rotation = "0.934124 -0.356949 -0.00028746 180.085"; + scale = "1.27353 0.194938 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "275.659 -443.219 83.0249"; + rotation = "0.357693 0.933839 0.000744225 180.033"; + scale = "1.27353 0.194938 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "347.609 -507.854 83.0052"; + rotation = "0.357693 0.933839 0.000744225 180.033"; + scale = "1.27353 0.194938 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "296.932 -284.571 31.7438"; + rotation = "-0.408488 0.912763 -0.000724282 180.037"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "309.713 -279.881 137.72"; + rotation = "0 0 1 131.78"; + scale = "1 0.874695 1.84736"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "533.029 -320.573 82.6861"; + rotation = "0.314079 0.894319 0.318665 95.8025"; + scale = "1 1 1"; + interiorFile = "bmisc_nefledge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "287.297 -115.3 109.786"; + rotation = "0.912764 0.408487 -4.16226e-08 180"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "395.492 -348.846 95.0854"; + rotation = "0.681147 0.297338 -0.66905 69.0836"; + scale = "1 1.52267 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "405.494 -337.972 95.3606"; + rotation = "0.68477 0.307108 -0.660889 68.3215"; + scale = "1 1.42237 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "415.874 -326.137 94.5493"; + rotation = "0.68477 0.307108 -0.660889 68.3215"; + scale = "1 1.62076 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "316.095 -436.83 96.8994"; + rotation = "0.68477 0.307108 -0.660889 68.3215"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.685 -425.331 96.8245"; + rotation = "0.681147 0.297338 -0.66905 69.0836"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "335.98 -413.865 96.0076"; + rotation = "0.68477 0.307108 -0.660889 68.3215"; + scale = "1 1.42237 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "346.36 -402.03 95.1963"; + rotation = "0.68477 0.307108 -0.660889 68.3215"; + scale = "1 1.62076 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "382.795 -430.253 96.7045"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "372.878 -441.78 96.3081"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.33456 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "384.665 -360.097 94.755"; + rotation = "0.68477 0.307108 -0.660889 68.3215"; + scale = "1 1.65516 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "307.496 -467.633 111.649"; + rotation = "-0.409213 0.912439 6.98345e-08 180"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "433.481 -298.954 111.627"; + rotation = "0.912764 0.408487 -4.16226e-08 180"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "555.49 -407.697 91.5107"; + rotation = "-0.407509 0.908639 0.091168 175.317"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "212.945 -383.691 91.5327"; + rotation = "0.911342 0.409594 0.0410914 190.449"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "185.876 -359.717 84.2367"; + rotation = "0.911342 0.409594 0.0410914 190.449"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "528.36 -383.538 98.8737"; + rotation = "-0.407509 0.908639 0.091168 175.317"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "267.181 -431.781 106.192"; + rotation = "0.911342 0.409594 0.0410914 190.449"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "353.079 -227.168 91.5377"; + rotation = "0.911998 0.408145 0.0409491 190.457"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "407.159 -275.434 106.197"; + rotation = "0.911998 0.408145 0.0409491 190.457"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "380.169 -251.373 98.9017"; + rotation = "0.911998 0.408145 0.0409491 190.457"; + scale = "0.869146 1.15899 1.41584"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "362.436 -452.476 96.9599"; + rotation = "0.18293 -0.414299 0.891568 137.025"; + scale = "1 1.16539 0.16759"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "367.707 -294.037 55.2246"; + rotation = "-0.407746 0.911369 -0.0561183 165.924"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.745 -553.18 89.9734"; + rotation = "0.362354 0.857049 0.366288 98.1918"; + scale = "1 1 1"; + interiorFile = "bmisc_nefledge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "410.823 -511.584 160.652"; + rotation = "0 1 0 179.909"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "525.513 -417.365 163.201"; + rotation = "0 1 0 179.909"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "403.416 -485.091 133.382"; + rotation = "0.336623 0.907599 0.250898 190.557"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "473.121 -412.068 151.456"; + rotation = "0 1 0 179.909"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "217.455 -440.214 92.5663"; + rotation = "0.680946 -0.287268 0.673639 211.727"; + scale = "1 1 1"; + interiorFile = "bmisc_nefledge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "417.424 -232.366 90.1643"; + rotation = "0.680946 -0.287268 0.673639 211.727"; + scale = "1 1 1"; + interiorFile = "bmisc_nefledge1.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "393.358 -461.436 77.2825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "481.531 -486.664 99.4626"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "359.556 -363.312 81.7755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "352.351 -385.659 79.7936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "451.888 -408.499 76.9432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "230.408 -379.017 88.6053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "204.842 -573.627 125.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "263.955 -479.341 49.4702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "273.725 -555.533 88.3956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "326.678 -254.255 126.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "219.475 -322.612 126.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "239.035 -295.264 123.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "571.394 -336.134 88.9435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "413.563 -260.262 88.8547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "589.077 -242.488 124.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "483.303 -368.202 88.4254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "402.964 -324.961 85.4898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "297.958 -387.063 88.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "345.692 -471.308 84.5647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "446.802 -433.384 75.1695"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new InteriorInstance() { + position = "578.678 -216.962 122.646"; + rotation = "0.134945 0.294255 -0.946152 96.1935"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "561.329 -260.745 88.1807"; + rotation = "-0.216897 -0.106333 0.970386 188.222"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "539.576 -348.239 84.9203"; + rotation = "-0.216897 -0.106333 0.970386 188.222"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "522.271 -234.265 85.588"; + rotation = "-0.0747072 0.726278 0.683329 204.939"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "215.291 -412.012 85.8223"; + rotation = "0.979382 -0.201891 0.00706637 90.9438"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "200.326 -450.5 87.2567"; + rotation = "-0.0747072 0.726278 0.683329 204.939"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "354.008 -540.14 87.7152"; + rotation = "0.492977 0.62221 0.608136 21.1367"; + scale = "1 1.37912 0.922455"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "351.569 -584.239 87.5989"; + rotation = "-0.910493 -0.339945 -0.235455 118.57"; + scale = "1 0.896166 0.556659"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "292.992 -582.127 88.8312"; + rotation = "-0.910493 -0.339945 -0.235455 118.57"; + scale = "1 0.896166 0.556659"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "297.751 -530.525 78.4956"; + rotation = "0.934039 0.354122 0.046571 191.045"; + scale = "1 0.896166 0.556659"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "258.918 -540.632 88.939"; + rotation = "0.887959 -0.44839 0.102346 183.523"; + scale = "1 0.896166 0.556659"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "PhasmaDust.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + GraphFile = "PhasmaDust.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + YDimOverSize = "0"; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "8.72 -700.815 191.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-168.263 -2.47 139.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-334.101 -105.47 141.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "407.068 -355.954 158.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "50000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-248.389 -191.846 142.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-392.039 141.68 152.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "500"; + fogColor = "0.650000 0.650000 0.450000 1.000000"; + fogVolume1 = "170 0 90"; + fogVolume2 = "300 90 500"; + fogVolume3 = "0 0 0"; + materialList = "Nef_TR2_Red.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "542.665 -530.773 123.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "532.665 -523.273 127.478"; + spawnPos26 = "537.665 -533.273 126.532"; + spawnPos60 = "542.665 -523.273 126.334"; + spawnPos34 = "537.665 -530.773 126.649"; + spawnPos58 = "537.665 -523.273 126.945"; + spawnPos25 = "535.165 -533.273 126.831"; + spawnPos14 = "547.665 -538.273 124.856"; + spawnPos38 = "547.665 -530.773 125.331"; + spawnPos62 = "547.665 -523.273 125.748"; + spawnPos24 = "532.665 -533.273 127.08"; + spawnPos37 = "545.165 -530.773 125.634"; + spawnPos4 = "542.665 -540.773 125.307"; + spawnPos47 = "550.165 -528.273 125.175"; + spawnPos41 = "535.165 -528.273 127.065"; + spawnPos27 = "540.165 -533.273 126.183"; + spawnPos16 = "532.665 -535.773 127.021"; + spawnPos40 = "532.665 -528.273 127.3"; + spawnPos7 = "550.165 -540.773 124.437"; + spawnPos50 = "537.665 -525.773 126.857"; + spawnPos15 = "550.165 -538.273 124.564"; + spawnPos39 = "550.165 -530.773 125.028"; + spawnPos6 = "547.665 -540.773 124.681"; + spawnPos49 = "535.165 -525.773 127.157"; + spawnPos19 = "540.165 -535.773 126.036"; + spawnPos5 = "545.165 -540.773 124.973"; + spawnPos48 = "532.665 -525.773 127.391"; + spawnPos42 = "537.665 -528.273 126.766"; + spawnPos28 = "542.665 -533.273 125.821"; + spawnPos17 = "535.165 -535.773 126.728"; + spawnPos57 = "535.165 -523.273 127.244"; + spawnPos8 = "532.665 -538.273 126.749"; + spawnPos51 = "540.165 -525.773 126.525"; + spawnPos21 = "545.165 -535.773 125.341"; + spawnPos61 = "545.165 -523.273 126.041"; + spawnPos31 = "550.165 -533.273 124.882"; + spawnPos59 = "540.165 -523.273 126.627"; + spawnPos20 = "542.665 -535.773 125.675"; + spawnPos9 = "535.165 -538.273 126.53"; + spawnPos30 = "547.665 -533.273 125.185"; + spawnPos63 = "550.165 -523.273 125.449"; + spawnPos43 = "540.165 -528.273 126.434"; + spawnPos29 = "545.165 -533.273 125.487"; + spawnPos18 = "537.665 -535.773 126.398"; + spawnPos12 = "542.665 -538.273 125.493"; + spawnPos52 = "542.665 -525.773 126.207"; + spawnPos22 = "547.665 -535.773 125.038"; + spawnPos11 = "540.165 -538.273 125.854"; + spawnPos32 = "532.665 -530.773 127.183"; + spawnPos2 = "537.665 -540.773 126.054"; + spawnPos45 = "545.165 -528.273 125.78"; + spawnPos10 = "537.665 -538.273 126.22"; + spawnPos55 = "550.165 -525.773 125.313"; + spawnPos1 = "535.165 -540.773 126.363"; + spawnPos44 = "542.665 -528.273 126.102"; + spawnPos33 = "535.165 -530.773 126.948"; + spawnPos54 = "547.665 -525.773 125.615"; + spawnPos0 = "532.665 -540.773 126.53"; + spawnPos13 = "545.165 -538.273 125.159"; + spawnPos53 = "545.165 -525.773 125.914"; + spawnPosCount = "63"; + spawnPos23 = "550.165 -535.773 124.736"; + spawnPos36 = "542.665 -530.773 125.968"; + spawnPos3 = "540.165 -540.773 125.674"; + spawnPos46 = "547.665 -528.273 125.478"; + spawnPos35 = "540.165 -530.773 126.317"; + }; + new SpawnSphere() { + position = "533.397 -522.407 125.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "528.897 -517.907 127.825"; + spawnPos26 = "531.897 -523.907 127.525"; + spawnPos60 = "534.897 -517.907 127.407"; + spawnPos34 = "531.897 -522.407 127.548"; + spawnPos58 = "531.897 -517.907 127.602"; + spawnPos25 = "530.397 -523.907 127.636"; + spawnPos14 = "537.897 -526.907 126.786"; + spawnPos38 = "537.897 -522.407 126.945"; + spawnPos62 = "537.897 -517.907 127.177"; + spawnPos24 = "528.897 -523.907 127.747"; + spawnPos37 = "536.397 -522.407 127.144"; + spawnPos4 = "534.897 -528.407 127.084"; + spawnPos47 = "527.397 -519.407 127.88"; + spawnPos41 = "530.397 -520.907 127.683"; + spawnPos27 = "533.397 -523.907 127.388"; + spawnPos16 = "528.897 -525.407 127.724"; + spawnPos40 = "528.897 -520.907 127.794"; + spawnPos7 = "527.397 -526.907 127.767"; + spawnPos50 = "531.897 -519.407 127.59"; + spawnPos15 = "527.397 -525.407 127.791"; + spawnPos39 = "527.397 -520.907 127.861"; + spawnPos6 = "537.897 -528.407 126.729"; + spawnPos49 = "530.397 -519.407 127.702"; + spawnPos19 = "533.397 -525.407 127.335"; + spawnPos5 = "536.397 -528.407 126.928"; + spawnPos48 = "528.897 -519.407 127.813"; + spawnPos42 = "531.897 -520.907 127.572"; + spawnPos28 = "534.897 -523.907 127.247"; + spawnPos17 = "530.397 -525.407 127.613"; + spawnPos57 = "530.397 -517.907 127.713"; + spawnPos8 = "528.897 -526.907 127.701"; + spawnPos51 = "533.397 -519.407 127.479"; + spawnPos21 = "536.397 -525.407 127.038"; + spawnPos61 = "536.397 -517.907 127.318"; + spawnPos31 = "527.397 -522.407 127.837"; + spawnPos59 = "533.397 -517.907 127.491"; + spawnPos20 = "534.897 -525.407 127.195"; + spawnPos9 = "530.397 -526.907 127.564"; + spawnPos30 = "537.897 -523.907 126.892"; + spawnPos43 = "533.397 -520.907 127.46"; + spawnPos29 = "536.397 -523.907 127.091"; + spawnPos18 = "531.897 -525.407 127.476"; + spawnPos12 = "534.897 -526.907 127.142"; + spawnPos52 = "534.897 -519.407 127.368"; + spawnPos22 = "537.897 -525.407 126.839"; + spawnPos11 = "533.397 -526.907 127.282"; + spawnPos32 = "528.897 -522.407 127.771"; + spawnPos2 = "531.897 -528.407 127.366"; + spawnPos45 = "536.397 -520.907 127.197"; + spawnPos10 = "531.897 -526.907 127.423"; + spawnPos55 = "527.397 -517.907 127.891"; + spawnPos1 = "528.897 -528.407 127.647"; + spawnPos44 = "534.897 -520.907 127.349"; + spawnPos33 = "530.397 -522.407 127.659"; + spawnPos54 = "537.897 -519.407 127.094"; + spawnPos0 = "527.397 -528.407 127.755"; + spawnPos13 = "536.397 -526.907 126.986"; + spawnPos53 = "536.397 -519.407 127.265"; + spawnPosCount = "62"; + spawnPos23 = "527.397 -523.907 127.814"; + spawnPos36 = "534.897 -522.407 127.3"; + spawnPos3 = "533.397 -528.407 127.225"; + spawnPos46 = "537.897 -520.907 127.013"; + spawnPos35 = "533.397 -522.407 127.437"; + }; + new SpawnSphere() { + position = "560.725 -546.708 123.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "552.725 -540.708 124.267"; + spawnPos26 = "556.725 -548.708 124.195"; + spawnPos60 = "560.725 -540.708 124.119"; + spawnPos34 = "556.725 -546.708 124.11"; + spawnPos58 = "556.725 -540.708 124.297"; + spawnPos25 = "554.725 -548.708 124.078"; + spawnPos14 = "564.725 -552.708 124.41"; + spawnPos38 = "564.725 -546.708 124.198"; + spawnPos62 = "564.725 -540.708 124.191"; + spawnPos24 = "552.725 -548.708 124.063"; + spawnPos37 = "562.725 -546.708 124.167"; + spawnPos4 = "560.725 -554.708 124.73"; + spawnPos47 = "566.725 -544.708 124.253"; + spawnPos41 = "554.725 -544.708 124.11"; + spawnPos27 = "558.725 -548.708 124.351"; + spawnPos16 = "552.725 -550.708 124.047"; + spawnPos40 = "552.725 -544.708 124.094"; + spawnPos7 = "566.725 -554.708 124.339"; + spawnPos50 = "556.725 -542.708 124.196"; + spawnPos15 = "566.725 -552.708 124.293"; + spawnPos39 = "566.725 -546.708 124.23"; + spawnPos6 = "564.725 -554.708 124.496"; + spawnPos49 = "554.725 -542.708 124.181"; + spawnPos19 = "558.725 -550.708 124.476"; + spawnPos5 = "562.725 -554.708 124.613"; + spawnPos48 = "552.725 -542.708 124.165"; + spawnPos42 = "556.725 -544.708 124.125"; + spawnPos28 = "560.725 -548.708 124.408"; + spawnPos17 = "554.725 -550.708 124.163"; + spawnPos57 = "554.725 -540.708 124.282"; + spawnPos8 = "552.725 -552.708 124.118"; + spawnPos51 = "558.725 -542.708 124.211"; + spawnPos21 = "562.725 -550.708 124.416"; + spawnPos61 = "562.725 -540.708 124.158"; + spawnPos31 = "566.725 -548.708 124.206"; + spawnPos59 = "558.725 -540.708 124.18"; + spawnPos20 = "560.725 -550.708 124.533"; + spawnPos9 = "554.725 -552.708 124.275"; + spawnPos30 = "564.725 -548.708 124.175"; + spawnPos63 = "566.725 -540.708 124.223"; + spawnPos43 = "558.725 -544.708 124.141"; + spawnPos29 = "562.725 -548.708 124.291"; + spawnPos18 = "556.725 -550.708 124.32"; + spawnPos12 = "560.725 -552.708 124.644"; + spawnPos52 = "560.725 -542.708 124.15"; + spawnPos22 = "564.725 -550.708 124.299"; + spawnPos11 = "558.725 -552.708 124.587"; + spawnPos32 = "552.725 -546.708 124.078"; + spawnPos2 = "556.725 -554.708 124.517"; + spawnPos45 = "562.725 -544.708 124.191"; + spawnPos10 = "556.725 -552.708 124.431"; + spawnPos55 = "566.725 -542.708 124.246"; + spawnPos1 = "554.725 -554.708 124.36"; + spawnPos44 = "560.725 -544.708 124.159"; + spawnPos33 = "554.725 -546.708 124.094"; + spawnPos54 = "564.725 -542.708 124.215"; + spawnPos0 = "552.725 -554.708 124.297"; + spawnPos13 = "562.725 -552.708 124.527"; + spawnPos53 = "562.725 -542.708 124.184"; + spawnPosCount = "63"; + spawnPos23 = "566.725 -550.708 124.183"; + spawnPos36 = "560.725 -546.708 124.283"; + spawnPos3 = "558.725 -554.708 124.673"; + spawnPos46 = "564.725 -544.708 124.222"; + spawnPos35 = "558.725 -546.708 124.226"; + }; + new SpawnSphere() { + position = "517.612 -512.453 125.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "507.612 -504.953 117.955"; + spawnPos26 = "512.612 -514.953 124.698"; + spawnPos60 = "517.612 -504.953 123.392"; + spawnPos34 = "512.612 -512.453 123.519"; + spawnPos58 = "512.612 -504.953 120.365"; + spawnPos25 = "510.112 -514.953 123.712"; + spawnPos14 = "522.612 -519.953 127.875"; + spawnPos38 = "522.612 -512.453 127.047"; + spawnPos62 = "522.612 -504.953 125.475"; + spawnPos24 = "507.612 -514.953 122.649"; + spawnPos37 = "520.112 -512.453 126.598"; + spawnPos4 = "517.612 -522.453 127.876"; + spawnPos47 = "525.112 -509.953 126.883"; + spawnPos41 = "510.112 -509.953 121.382"; + spawnPos27 = "515.112 -514.953 124.984"; + spawnPos16 = "507.612 -517.453 123.712"; + spawnPos40 = "507.612 -509.953 120.431"; + spawnPos7 = "525.112 -522.453 127.837"; + spawnPos50 = "512.612 -507.453 121.498"; + spawnPos15 = "525.112 -519.953 127.875"; + spawnPos39 = "525.112 -512.453 127.496"; + spawnPos6 = "522.612 -522.453 127.837"; + spawnPos49 = "510.112 -507.453 120.25"; + spawnPos19 = "515.112 -517.453 126.163"; + spawnPos5 = "520.112 -522.453 127.892"; + spawnPos48 = "507.612 -507.453 119.087"; + spawnPos42 = "512.612 -509.953 122.631"; + spawnPos28 = "517.612 -514.953 126.019"; + spawnPos17 = "510.112 -517.453 124.942"; + spawnPos57 = "510.112 -504.953 119.117"; + spawnPos8 = "507.612 -519.953 124.942"; + spawnPos51 = "515.112 -507.453 123.011"; + spawnPos21 = "520.112 -517.453 127.457"; + spawnPos61 = "520.112 -504.953 124.676"; + spawnPos31 = "525.112 -514.953 127.914"; + spawnPos59 = "515.112 -504.953 121.879"; + spawnPos20 = "517.612 -517.453 126.448"; + spawnPos9 = "510.112 -519.953 126.173"; + spawnPos30 = "522.612 -514.953 127.477"; + spawnPos63 = "525.112 -504.953 126.452"; + spawnPos43 = "515.112 -509.953 123.94"; + spawnPos29 = "520.112 -514.953 127.028"; + spawnPos18 = "512.612 -517.453 125.929"; + spawnPos12 = "517.612 -519.953 127.628"; + spawnPos52 = "517.612 -507.453 124.321"; + spawnPos22 = "522.612 -517.453 127.895"; + spawnPos11 = "515.112 -519.953 127.394"; + spawnPos32 = "507.612 -512.453 121.712"; + spawnPos2 = "512.612 -522.453 127.412"; + spawnPos45 = "520.112 -509.953 125.984"; + spawnPos10 = "512.612 -519.953 127.159"; + spawnPos55 = "525.112 -507.453 126.578"; + spawnPos1 = "510.112 -522.453 126.426"; + spawnPos44 = "517.612 -509.953 124.976"; + spawnPos33 = "510.112 -512.453 122.649"; + spawnPos54 = "522.612 -507.453 125.779"; + spawnPos0 = "507.612 -522.453 125.195"; + spawnPos13 = "520.112 -519.953 127.875"; + spawnPos53 = "520.112 -507.453 125.33"; + spawnPosCount = "63"; + spawnPos23 = "525.112 -517.453 127.895"; + spawnPos36 = "517.612 -512.453 125.589"; + spawnPos3 = "515.112 -522.453 127.647"; + spawnPos46 = "522.612 -509.953 126.434"; + spawnPos35 = "515.112 -512.453 124.554"; + }; + }; + new SimGroup(Goal1) { + + powerCount = "1"; + + new StaticShape() { + position = "534.053 -562.764 124.158"; + rotation = "0.0299954 0.00288227 0.999546 169.027"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9778"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "543.093 -553.361 124.314"; + rotation = "0.0141354 -0.0149979 0.999788 93.404"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9780"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "513.31 -543.341 127.218"; + rotation = "-0.0598643 0.0399573 -0.997406 90.1605"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9782"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "521.236 -534.503 127.681"; + rotation = "-0.948679 -0.316205 0.00474343 1.81224"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9784"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "551.918 -499.995 127.014"; + rotation = "-0.894356 -0.446999 -0.0178895 5.12447"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9786"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "544.138 -509.015 126.902"; + rotation = "-0.0649812 -0.00497604 -0.997874 89.9559"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9788"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "573.772 -519.51 124.034"; + rotation = "7.9684e-06 -0.0200066 0.9998 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9790"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "565.57 -528.541 124.028"; + rotation = "0.0149994 0.00121454 0.999887 170.742"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9792"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "539.727 -530.661 118.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "41"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "283.902 -289.381 124.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "273.902 -281.881 124.132"; + spawnPos26 = "278.902 -291.881 124.573"; + spawnPos60 = "283.902 -281.881 124.284"; + spawnPos34 = "278.902 -289.381 124.377"; + spawnPos58 = "278.902 -281.881 124.031"; + spawnPos25 = "276.402 -291.881 124.475"; + spawnPos14 = "288.902 -296.881 125.876"; + spawnPos38 = "288.902 -289.381 125.162"; + spawnPos62 = "288.902 -281.881 124.479"; + spawnPos24 = "273.902 -291.881 124.285"; + spawnPos37 = "286.402 -289.381 124.921"; + spawnPos4 = "283.902 -299.381 125.66"; + spawnPos47 = "291.402 -286.881 125.147"; + spawnPos41 = "276.402 -286.881 124.128"; + spawnPos27 = "281.402 -291.881 124.725"; + spawnPos16 = "273.902 -294.381 124.363"; + spawnPos40 = "273.902 -286.881 124.031"; + spawnPos7 = "291.402 -299.381 126.403"; + spawnPos50 = "278.902 -284.381 124.128"; + spawnPos15 = "291.402 -296.881 126.139"; + spawnPos39 = "291.402 -289.381 125.41"; + spawnPos6 = "288.902 -299.381 126.139"; + spawnPos49 = "276.402 -284.381 124.031"; + spawnPos19 = "281.402 -294.381 124.921"; + spawnPos5 = "286.402 -299.381 125.894"; + spawnPos48 = "273.902 -284.381 124.054"; + spawnPos42 = "278.902 -286.881 124.226"; + spawnPos28 = "283.902 -291.881 124.921"; + spawnPos17 = "276.402 -294.381 124.578"; + spawnPos57 = "276.402 -281.881 124.054"; + spawnPos8 = "273.902 -296.881 124.479"; + spawnPos51 = "281.402 -284.381 124.281"; + spawnPos21 = "286.402 -294.381 125.386"; + spawnPos61 = "286.402 -281.881 124.362"; + spawnPos31 = "291.402 -291.881 125.66"; + spawnPos59 = "281.402 -281.881 124.183"; + spawnPos20 = "283.902 -294.381 125.152"; + spawnPos9 = "276.402 -296.881 124.694"; + spawnPos30 = "288.902 -291.881 125.396"; + spawnPos63 = "291.402 -281.881 124.664"; + spawnPos43 = "281.402 -286.881 124.378"; + spawnPos29 = "286.402 -291.881 125.152"; + spawnPos18 = "278.902 -294.381 124.768"; + spawnPos12 = "283.902 -296.881 125.396"; + spawnPos52 = "283.902 -284.381 124.476"; + spawnPos22 = "288.902 -294.381 125.631"; + spawnPos11 = "281.402 -296.881 125.162"; + spawnPos32 = "273.902 -289.381 124.182"; + spawnPos2 = "278.902 -299.381 125.148"; + spawnPos45 = "286.402 -286.881 124.769"; + spawnPos10 = "278.902 -296.881 124.909"; + spawnPos55 = "291.402 -284.381 124.879"; + spawnPos1 = "276.402 -299.381 124.879"; + spawnPos44 = "283.902 -286.881 124.574"; + spawnPos33 = "276.402 -289.381 124.28"; + spawnPos54 = "288.902 -284.381 124.693"; + spawnPos0 = "273.902 -299.381 124.664"; + spawnPos13 = "286.402 -296.881 125.631"; + spawnPos53 = "286.402 -284.381 124.577"; + spawnPosCount = "63"; + spawnPos23 = "291.402 -294.381 125.895"; + spawnPos36 = "283.902 -289.381 124.725"; + spawnPos3 = "281.402 -299.381 125.41"; + spawnPos46 = "288.902 -286.881 124.908"; + spawnPos35 = "281.402 -289.381 124.53"; + }; + new SpawnSphere() { + position = "298.762 -302.716 127.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "8"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "290.762 -296.716 126.054"; + spawnPos26 = "294.762 -304.716 127.063"; + spawnPos60 = "298.762 -296.716 126.837"; + spawnPos34 = "294.762 -302.716 126.916"; + spawnPos58 = "294.762 -296.716 126.476"; + spawnPos25 = "292.762 -304.716 126.922"; + spawnPos14 = "302.762 -308.716 127.827"; + spawnPos38 = "302.762 -302.716 127.533"; + spawnPos62 = "302.762 -296.716 127.228"; + spawnPos24 = "290.762 -304.716 126.781"; + spawnPos37 = "300.762 -302.716 127.375"; + spawnPos4 = "298.762 -310.716 127.765"; + spawnPos47 = "304.762 -300.716 127.609"; + spawnPos41 = "292.762 -300.716 126.635"; + spawnPos27 = "296.762 -304.716 127.209"; + spawnPos16 = "290.762 -306.716 126.938"; + spawnPos40 = "290.762 -300.716 126.476"; + spawnPos7 = "304.762 -310.716 127.723"; + spawnPos50 = "294.762 -298.716 126.635"; + spawnPos15 = "304.762 -308.716 127.661"; + spawnPos39 = "304.762 -302.716 127.71"; + spawnPos6 = "302.762 -310.716 127.89"; + spawnPos49 = "292.762 -298.716 126.476"; + spawnPos19 = "296.762 -306.716 127.365"; + spawnPos5 = "300.762 -310.716 127.827"; + spawnPos48 = "290.762 -298.716 126.265"; + spawnPos42 = "294.762 -300.716 126.776"; + spawnPos28 = "298.762 -304.716 127.365"; + spawnPos17 = "292.762 -306.716 127.078"; + spawnPos57 = "292.762 -296.716 126.265"; + spawnPos8 = "290.762 -308.716 127.132"; + spawnPos51 = "296.762 -298.716 126.782"; + spawnPos21 = "300.762 -306.716 127.678"; + spawnPos61 = "300.762 -296.716 127.033"; + spawnPos31 = "304.762 -304.716 127.548"; + spawnPos59 = "296.762 -296.716 126.642"; + spawnPos20 = "298.762 -306.716 127.522"; + spawnPos9 = "292.762 -308.716 127.235"; + spawnPos30 = "302.762 -304.716 127.678"; + spawnPos63 = "304.762 -296.716 127.405"; + spawnPos43 = "296.762 -300.716 126.922"; + spawnPos29 = "300.762 -304.716 127.522"; + spawnPos18 = "294.762 -306.716 127.219"; + spawnPos12 = "298.762 -308.716 127.678"; + spawnPos52 = "298.762 -298.716 126.939"; + spawnPos22 = "302.762 -306.716 127.765"; + spawnPos11 = "296.762 -308.716 127.522"; + spawnPos32 = "290.762 -302.716 126.635"; + spawnPos2 = "294.762 -310.716 127.531"; + spawnPos45 = "300.762 -300.716 127.236"; + spawnPos10 = "294.762 -308.716 127.375"; + spawnPos55 = "304.762 -298.716 127.507"; + spawnPos1 = "292.762 -310.716 127.429"; + spawnPos44 = "298.762 -300.716 127.079"; + spawnPos33 = "292.762 -302.716 126.776"; + spawnPos54 = "302.762 -298.716 127.33"; + spawnPos0 = "290.762 -310.716 127.327"; + spawnPos13 = "300.762 -308.716 127.765"; + spawnPos53 = "300.762 -298.716 127.134"; + spawnPosCount = "63"; + spawnPos23 = "304.762 -306.716 127.598"; + spawnPos36 = "298.762 -302.716 127.219"; + spawnPos3 = "296.762 -310.716 127.678"; + spawnPos46 = "302.762 -300.716 127.431"; + spawnPos35 = "296.762 -302.716 127.063"; + }; + new SpawnSphere() { + position = "271.434 -278.415 124.721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "6"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "265.434 -273.915 126.665"; + spawnPos26 = "268.434 -279.915 124.763"; + spawnPos60 = "271.434 -273.915 125.185"; + spawnPos34 = "268.434 -278.415 124.974"; + spawnPos58 = "268.434 -273.915 125.833"; + spawnPos25 = "266.934 -279.915 124.974"; + spawnPos14 = "274.434 -282.915 124.083"; + spawnPos38 = "274.434 -278.415 124.397"; + spawnPos62 = "274.434 -273.915 124.979"; + spawnPos24 = "265.434 -279.915 125.185"; + spawnPos37 = "272.934 -278.415 124.444"; + spawnPos4 = "271.434 -284.415 124.192"; + spawnPos47 = "275.934 -276.915 124.561"; + spawnPos41 = "266.934 -276.915 125.417"; + spawnPos27 = "269.934 -279.915 124.552"; + spawnPos16 = "265.434 -281.415 125.129"; + spawnPos40 = "265.434 -276.915 125.833"; + spawnPos7 = "275.934 -284.415 124.014"; + spawnPos50 = "268.434 -275.415 125.417"; + spawnPos15 = "275.934 -282.915 124.036"; + spawnPos39 = "275.934 -278.415 124.35"; + spawnPos6 = "274.434 -284.415 124.036"; + spawnPos49 = "266.934 -275.415 125.833"; + spawnPos19 = "269.934 -281.415 124.496"; + spawnPos5 = "272.934 -284.415 124.083"; + spawnPos48 = "265.434 -275.415 126.249"; + spawnPos42 = "268.434 -276.915 125.185"; + spawnPos28 = "271.434 -279.915 124.342"; + spawnPos17 = "266.934 -281.415 124.918"; + spawnPos57 = "266.934 -273.915 126.249"; + spawnPos8 = "265.434 -282.915 124.938"; + spawnPos51 = "269.934 -275.415 125.185"; + spawnPos21 = "272.934 -281.415 124.177"; + spawnPos61 = "272.934 -273.915 125.077"; + spawnPos31 = "275.934 -279.915 124.139"; + spawnPos59 = "269.934 -273.915 125.417"; + spawnPos20 = "271.434 -281.415 124.285"; + spawnPos9 = "266.934 -282.915 124.871"; + spawnPos30 = "274.434 -279.915 124.186"; + spawnPos63 = "275.934 -273.915 124.786"; + spawnPos43 = "269.934 -276.915 124.974"; + spawnPos29 = "272.934 -279.915 124.233"; + spawnPos18 = "268.434 -281.415 124.707"; + spawnPos12 = "271.434 -282.915 124.239"; + spawnPos52 = "271.434 -275.415 124.974"; + spawnPos22 = "274.434 -281.415 124.13"; + spawnPos11 = "269.934 -282.915 124.449"; + spawnPos32 = "265.434 -278.415 125.417"; + spawnPos2 = "268.434 -284.415 124.614"; + spawnPos45 = "272.934 -276.915 124.655"; + spawnPos10 = "268.434 -282.915 124.66"; + spawnPos55 = "275.934 -275.415 124.721"; + spawnPos1 = "266.934 -284.415 124.68"; + spawnPos44 = "271.434 -276.915 124.763"; + spawnPos33 = "266.934 -278.415 125.185"; + spawnPos54 = "274.434 -275.415 124.819"; + spawnPos0 = "265.434 -284.415 124.744"; + spawnPos13 = "272.934 -282.915 124.13"; + spawnPos53 = "272.934 -275.415 124.866"; + spawnPosCount = "63"; + spawnPos23 = "275.934 -281.415 124.083"; + spawnPos36 = "271.434 -278.415 124.552"; + spawnPos3 = "269.934 -284.415 124.403"; + spawnPos46 = "274.434 -276.915 124.608"; + spawnPos35 = "269.934 -278.415 124.763"; + }; + new SpawnSphere() { + position = "256.436 -265.762 127.972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos56 = "248.936 -258.262 137.271"; + spawnPos26 = "251.436 -268.262 130.003"; + spawnPos60 = "258.936 -258.262 130.702"; + spawnPos34 = "251.436 -265.762 131.51"; + spawnPos58 = "253.936 -258.262 132.297"; + spawnPos25 = "248.936 -268.262 129.759"; + spawnPos14 = "261.436 -273.262 127.424"; + spawnPos38 = "261.436 -265.762 128.636"; + spawnPos62 = "263.936 -258.262 127.635"; + spawnPos24 = "246.436 -268.262 129.515"; + spawnPos37 = "258.936 -265.762 130.13"; + spawnPos4 = "256.436 -275.762 126.952"; + spawnPos47 = "263.936 -263.262 128.123"; + spawnPos41 = "248.936 -263.262 132.297"; + spawnPos27 = "253.936 -268.262 130.221"; + spawnPos16 = "246.436 -270.762 127.982"; + spawnPos40 = "246.436 -263.262 132.913"; + spawnPos7 = "263.936 -275.762 126.555"; + spawnPos50 = "251.436 -260.762 132.297"; + spawnPos15 = "263.936 -273.262 127.248"; + spawnPos39 = "263.936 -265.762 128.037"; + spawnPos6 = "261.436 -275.762 126.731"; + spawnPos49 = "248.936 -260.762 134.673"; + spawnPos19 = "253.936 -270.762 128.714"; + spawnPos5 = "258.936 -275.762 126.874"; + spawnPos48 = "246.436 -260.762 135.53"; + spawnPos42 = "251.436 -263.262 132.503"; + spawnPos28 = "256.436 -268.262 130.13"; + spawnPos17 = "248.936 -270.762 128.226"; + spawnPos57 = "251.436 -258.262 134.673"; + spawnPos8 = "246.436 -273.262 126.848"; + spawnPos51 = "253.936 -260.762 132.503"; + spawnPos21 = "258.936 -270.762 128.037"; + spawnPos61 = "261.436 -258.262 129.168"; + spawnPos31 = "263.936 -268.262 127.861"; + spawnPos59 = "256.436 -258.262 132.206"; + spawnPos20 = "256.436 -270.762 128.636"; + spawnPos9 = "248.936 -273.262 127.092"; + spawnPos30 = "261.436 -268.262 128.037"; + spawnPos43 = "253.936 -263.262 132.708"; + spawnPos29 = "258.936 -268.262 128.636"; + spawnPos18 = "251.436 -270.762 128.47"; + spawnPos12 = "256.436 -273.262 127.743"; + spawnPos52 = "256.436 -260.762 132.411"; + spawnPos22 = "261.436 -270.762 127.861"; + spawnPos11 = "253.936 -273.262 127.58"; + spawnPos32 = "246.436 -265.762 131.048"; + spawnPos2 = "251.436 -275.762 126.594"; + spawnPos45 = "258.936 -263.262 131.122"; + spawnPos10 = "251.436 -273.262 127.336"; + spawnPos55 = "263.936 -260.762 127.879"; + spawnPos1 = "248.936 -275.762 126.35"; + spawnPos44 = "256.436 -263.262 132.616"; + spawnPos33 = "248.936 -265.762 131.292"; + spawnPos54 = "261.436 -260.762 129.412"; + spawnPos0 = "246.436 -275.762 126.105"; + spawnPos13 = "258.936 -273.262 127.6"; + spawnPos53 = "258.936 -260.762 130.917"; + spawnPosCount = "62"; + spawnPos23 = "263.936 -270.762 127.685"; + spawnPos36 = "256.436 -265.762 131.624"; + spawnPos3 = "253.936 -275.762 126.805"; + spawnPos46 = "261.436 -263.262 129.628"; + spawnPos35 = "253.936 -265.762 131.715"; + }; + }; + new SimGroup(Goal2) { + + powerCount = "1"; + + new StaticShape() { + position = "291.807 -258.401 124.089"; + rotation = "-0.707036 0.707036 0.0141426 3.24103"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9802"; + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "283.108 -267.399 124.17"; + rotation = "-0.0200106 -0.0199947 -0.9996 89.9773"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9804"; + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "253.347 -301.77 124.053"; + rotation = "-0.0100112 -0.02999 -0.9995 90.006"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9806"; + team = "2"; + Target = "44"; + }; + new StaticShape() { + position = "260.964 -292.68 124.07"; + rotation = "-1 0 0 2.29206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9808"; + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "292.516 -285.649 102.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "271.112 -481.604 50.2524"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "269.685 -481.065 50.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "267.97 -480.254 50.1002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "469.984 -273.334 50.3778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "471.699 -274.145 50.0982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "473.126 -274.684 50.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "442.028 -336.584 86.0771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "440.398 -334.717 86.1932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "439.064 -332.807 86.4274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "331.768 -453.485 85.9262"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "330.827 -452.5 85.8873"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "429.291 -353.364 236.305"; + rotation = "-0.217024 -0.58687 0.780054 212.182"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "284.91 -291.765 137.491"; + rotation = "0.060124 -0.134347 0.989109 132.246"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "488.901 -278.435 181.367"; + rotation = "-0.12723 -0.349412 0.928291 217.352"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "328.265 -616.613 173.466"; + rotation = "0.906274 0.13697 -0.399884 41.408"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "491.681 -503.198 190.131"; + rotation = "0.565869 0.243655 -0.78767 57.3271"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new Sun(Sun) { + position = "180.805 -276.152 82.8957"; + rotation = "0 0 1 131.78"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.650000 0.650000 0.650000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new FileObject() { + }; + new FileObject() { + }; + new InteriorInstance() { + position = "352.917 -335.999 158.148"; + rotation = "0 1 0 179.909"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "308.955 -371.345 155.698"; + rotation = "0 1 0 179.909"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "263.659 -380.129 155.765"; + rotation = "0 1 0 179.909"; + scale = "0.650528 1.25856 11.2311"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Planetside.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Planetside.mis new file mode 100644 index 00000000..a567805f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Planetside.mis @@ -0,0 +1,1736 @@ +// DisplayName = _Planetside +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//A planetside base will be claimed, giving the victor a strong foothold in the sector. The only question is...who will claim it? +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "4"; + cdTrack = "2"; + powerCount = "0"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "888 -432 432 416"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new FileObject() { + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "SolsDescent.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + GraphFile = "PhasmaDust.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "300"; + fogColor = "0.400000 0.300000 0.400000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_Surreal1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "1099.33 -393.05 45.2541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "37"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "1147.42 -385.812 45.5172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "37"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "1057.7 -383.506 57.1032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "37"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + new StaticShape() { + position = "1070.17 -397.167 49.9392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17313"; + Target = "33"; + }; + new StaticShape() { + position = "1061.32 -397.125 50.0003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17382"; + Target = "34"; + }; + new StaticShape() { + position = "1079.28 -397.008 49.9987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17474"; + Target = "35"; + }; + new StaticShape() { + position = "1138.97 -397.233 50.0023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17631"; + Target = "36"; + }; + new StaticShape() { + position = "1130.12 -397.191 50.0634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17633"; + Target = "37"; + }; + new StaticShape() { + position = "1148.08 -397.074 50.0618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17635"; + Target = "38"; + }; + new StaticShape() { + position = "1107.87 -390.23 40.6844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "1105.14 -69.0505 43.4114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "37"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "1153.23 -61.8125 43.6745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "37"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "1063.51 -59.5065 55.2605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "37"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base) { + + new StaticShape() { + position = "1138.79 -56.2987 49.9544"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17795"; + Target = "46"; + }; + new StaticShape() { + position = "1147.64 -56.4149 50.0155"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17793"; + Target = "45"; + }; + new Trigger() { + position = "1138.8 -56.2105 49.9544"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "17381"; + mainObj = "17381"; + disableObj = "17381"; + }; + new StaticShape() { + position = "1129.68 -56.3805 50.0139"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17790"; + Target = "44"; + }; + new Trigger() { + position = "1138.8 -56.2105 49.9544"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "17473"; + mainObj = "17473"; + disableObj = "17473"; + }; + new StaticShape() { + position = "1069.99 -55.6541 50.0175"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17787"; + Target = "43"; + }; + new Trigger() { + position = "1138.79 -56.2987 49.9544"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "17630"; + mainObj = "17630"; + disableObj = "17630"; + }; + new StaticShape() { + position = "1078.8 -55.9183 50.0786"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17784"; + Target = "42"; + }; + new Trigger() { + position = "1147.64 -56.4149 50.0155"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "17632"; + mainObj = "17632"; + disableObj = "17632"; + }; + new StaticShape() { + position = "1060.88 -55.7367 50.077"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17781"; + Target = "41"; + }; + new Trigger() { + position = "1129.68 -56.3805 50.0139"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + station = "17634"; + mainObj = "17634"; + disableObj = "17634"; + }; + new StaticShape() { + position = "1101.03 -62.9182 40.6996"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "1107.83 -267.241 49.7512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1104.25 -267.232 49.9668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1111.1 -267.269 49.9448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1101.13 -267.23 49.9489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1094.92 -186.443 50.1342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1104.89 -186.482 50.1301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1101.62 -186.454 49.9649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1098.04 -186.445 50.1521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1103.65 -225.818 49.9828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1105.79 -225.842 49.9393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1101.4 -225.733 49.9965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new Item() { + position = "916.46 -376.201 67.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "919.987 -376.276 67.4112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "913.328 -376.277 67.4086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1292.17 -376.809 67.4241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1289.62 -376.805 67.423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1295.16 -376.766 67.4171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1292.02 -77.1671 67.3679"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1294.24 -77.0959 67.3845"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1289.49 -77.1166 67.3729"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "916.713 -76.8891 67.4042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "913.785 -76.9205 67.4296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "920.201 -76.9258 67.4053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new InteriorInstance() { + position = "1050.91 -312.23 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1008.51 -311.773 362.343"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.30384"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "965.11 -312.23 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "963.114 -150.139 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1006.51 -149.737 367.075"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.34468"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1048.91 -150.139 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1159.92 -311.145 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1202.72 -310.736 366.515"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.33985"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1245.72 -311.145 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1158.06 -149.567 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1201.46 -149.14 364.951"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.32635"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1243.86 -149.567 401.8"; + rotation = "1 0 0 179.336"; + scale = "0.194983 0.167712 2.64438"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1405.72 -397.962 24.5833"; + rotation = "1 0 0 0"; + scale = "0.423868 0.449959 0.382977"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1405.72 -68.879 24.5833"; + rotation = "1 0 0 0"; + scale = "0.423868 0.449959 0.382977"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "793.028 -70.0522 22.8814"; + rotation = "1 0 0 0"; + scale = "0.423868 0.449959 0.382977"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "793.028 -387.935 22.8814"; + rotation = "1 0 0 0"; + scale = "0.423868 0.449959 0.382977"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "1056.3 -397.177 49.4094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1066 -397.249 49.5701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1074.89 -397.083 49.6056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1083.82 -397.176 49.6007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1152.59 -397.403 49.7287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1143.66 -397.31 49.7336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1134.77 -397.476 49.6981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1125.07 -397.404 49.5374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1124.66 -56.0893 49.5328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1134.36 -56.1613 49.6935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1143.25 -55.9953 49.729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1152.18 -56.0883 49.7241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1055.79 -55.5296 49.5399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1065.49 -55.6017 49.7006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1074.38 -55.4356 49.7361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new StaticShape() { + position = "1083.35 -55.3809 49.7312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "1185.5 -234.103 318.341"; + rotation = "0.545701 0.539841 -0.640922 114.123"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1101.62 -0.810481 147.539"; + rotation = "0.000216258 -0.271547 0.962425 179.912"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "883.29 -231.19 126.711"; + rotation = "0.24917 -0.248972 0.93591 93.7468"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "1104.93 -349.158 103.399"; + rotation = "1 0 0 12.6051"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "944.547 -371.241 54.3064"; + rotation = "-0.474487 0.268532 0.838304 68.0468"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new Sun(Sun) { + position = "180.805 -276.152 82.8957"; + rotation = "0 0 1 131.78"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.900000 0.500000 0.900000 1.000000"; + ambient = "0.400000 0.200000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new FileObject() { + }; + new SimGroup(hitherewsup) { + + powerCount = "0"; + + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + guid = "0"; + packetLoss = "0"; + name = "\x10\c8FlyingElmo\x11"; + clientId = "10292"; + isListening = "0"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + targetId = "32"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + guid = "0"; + packetLoss = "0"; + name = "\x10\c8FlyingElmo\x11"; + clientId = "10292"; + isListening = "0"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + targetId = "32"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + }; + }; + new SimSet(TrackerTeam_1) { + + new ScriptObject() { + + className = "PlayerRep"; + guid = "0"; + packetLoss = "0"; + name = "\x10\c8FlyingElmo\x11"; + clientId = "10292"; + isListening = "0"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + targetId = "32"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + }; + }; + new SimSet(TrackerTeam_0) { + + new ScriptObject() { + + className = "PlayerRep"; + guid = "0"; + packetLoss = "0"; + name = "\x10\c8FlyingElmo\x11"; + clientId = "10292"; + isListening = "0"; + isSmurf = "1"; + chatMuted = "0"; + teamId = "0"; + isBot = "0"; + targetId = "32"; + canListen = "0"; + score = "0"; + isAdmin = "1"; + ping = "0"; + voiceEnabled = "0"; + isSuperAdmin = "1"; + }; + }; + new InteriorInstance() { + position = "977.578 -301.899 62.6033"; + rotation = "0.576432 -0.577807 0.577811 120.079"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1037.52 -313.995 62.6035"; + rotation = "0.577657 0.577197 -0.577197 119.974"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1198.41 -352.781 73.367"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "985.15 -386.274 58.4573"; + rotation = "0.576887 0.578271 -0.576892 119.999"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1111.68 -169.062 87.7803"; + rotation = "0 0 1 89.9544"; + scale = "0.6527 1 0.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1111.51 -256.944 87.6814"; + rotation = "0 0 1 89.9544"; + scale = "0.6527 1 0.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1111.93 -249.557 87.7389"; + rotation = "0 0 1 89.9544"; + scale = "0.6527 1 0.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1110.46 -337.473 87.6128"; + rotation = "0 0 1 89.9544"; + scale = "0.6527 1 0.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1110.88 -330.086 87.6703"; + rotation = "0 0 1 89.9544"; + scale = "0.6527 1 0.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1129.58 -152.945 76.1405"; + rotation = "1 0 0 179.909"; + scale = "1.18333 1.58915 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1130.02 -316.557 76.1405"; + rotation = "1 0 0 179.909"; + scale = "1.18333 1.58915 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1223.67 -100.721 73.4005"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1197.15 -100.533 73.4005"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1172.91 -100.722 73.4005"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1147.76 -100.83 73.401"; + rotation = "0 0 -1 89.9543"; + scale = "0.792492 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1052.81 -101.289 73.3905"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1027.7 -101.318 73.3905"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1002.59 -101.196 73.3905"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "976.698 -101.224 73.3905"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "953.064 -101.236 73.391"; + rotation = "0 0 -1 89.9543"; + scale = "0.792492 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1246.39 -352.743 73.367"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1223.16 -352.758 73.367"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1319.56 -97.3486 66.0177"; + rotation = "-1 0 0 1.1426"; + scale = "2.29862 1.6892 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "944.232 -97.1489 66.0257"; + rotation = "-1 0 0 1.1426"; + scale = "2.29862 1.6892 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "943.998 -396.532 66.0257"; + rotation = "-1 0 0 1.1426"; + scale = "2.29862 1.6892 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1122.16 -210.438 36.451"; + rotation = "-1 0 0 90.5273"; + scale = "1.58658 1.6892 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1246.92 -100.506 73.4005"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1319.73 -397.048 66.0257"; + rotation = "-1 0 0 1.1426"; + scale = "2.29862 1.6892 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1037.31 -152.668 62.5986"; + rotation = "0.577657 0.577197 -0.577197 119.974"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1106.31 -396.267 94.5879"; + rotation = "1 0 0 179.909"; + scale = "1.58046 2.52983 1.74451"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1106.25 -315.464 94.7163"; + rotation = "1 0 0 179.909"; + scale = "1.58046 2.52983 1.74451"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "1106.25 -234.664 94.8446"; + rotation = "1 0 0 179.909"; + scale = "1.58046 2.52983 1.74451"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "921.579 -348.432 48.6151"; + rotation = "-0.577195 0.578115 -0.57674 119.974"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "911.643 -256.448 48.6881"; + rotation = "0.577194 0.577201 0.577656 119.974"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "911.737 -104.519 48.7977"; + rotation = "0.577194 0.577201 0.577656 119.974"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "921.673 -196.503 48.7247"; + rotation = "-0.577195 0.578115 -0.57674 119.974"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "977.369 -140.572 62.5984"; + rotation = "0.576432 -0.577807 0.577811 120.079"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "929.15 -386.338 70.9391"; + rotation = "0.577506 0.577043 0.577502 239.894"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1189.52 -386.166 74.7765"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1287.14 -257.45 48.6666"; + rotation = "0.577504 0.577504 0.577043 120.026"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1189.54 -67.1493 74.7507"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "929.166 -67.3217 70.9133"; + rotation = "0.577506 0.577043 0.577502 239.894"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "985.166 -67.257 58.4315"; + rotation = "0.576887 0.578271 -0.576892 119.999"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1078.94 -67.2304 70.8213"; + rotation = "0.577506 0.577043 0.577502 239.894"; + scale = "1 1.56016 1.07583"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1130.13 -67.1695 58.339"; + rotation = "0.576887 0.578271 -0.576892 119.999"; + scale = "1 1.56016 1.06053"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1286.99 -105.239 48.5567"; + rotation = "0.577504 0.577504 0.577043 120.026"; + scale = "1 0.834017 1.00612"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1297.08 -197.489 48.63"; + rotation = "0.577508 -0.576582 0.57796 239.974"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1279.34 -67.0776 58.3401"; + rotation = "0.576887 0.578271 -0.576892 119.999"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1223.34 -67.1423 70.8219"; + rotation = "0.577506 0.577043 0.577502 239.894"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1171.37 -301.47 62.5405"; + rotation = "0.577658 -0.577198 0.577194 119.974"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1231.33 -313.47 62.5403"; + rotation = "0.577655 0.577198 -0.577198 119.973"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1231 -152.143 62.5452"; + rotation = "0.577655 0.577198 -0.577198 119.973"; + scale = "1 1 1.00429"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1170.91 -140.143 62.5454"; + rotation = "0.577658 -0.577198 0.577194 119.974"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1297.22 -349.418 48.7396"; + rotation = "0.577508 -0.576582 0.57796 239.974"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1169.55 -67.1652 74.7506"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1027.13 -67.2476 74.7885"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1047.13 -67.2317 74.7886"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1047.11 -386.248 74.8144"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1027.11 -386.264 74.8143"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1169.53 -386.182 74.7764"; + rotation = "0.706825 0.707388 0.00056131 179.936"; + scale = "1 1 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1223.32 -386.159 70.8477"; + rotation = "0.577506 0.577043 0.577502 239.894"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1279.32 -386.094 58.3659"; + rotation = "0.576887 0.578271 -0.576892 119.999"; + scale = "1 1.56016 1.16642"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1130.11 -386.186 58.3648"; + rotation = "0.576887 0.578271 -0.576892 119.999"; + scale = "1 1.56016 1.06053"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1078.92 -386.247 70.8471"; + rotation = "0.577506 0.577043 0.577502 239.894"; + scale = "1 1.56016 1.07583"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1111.26 -176.449 87.7228"; + rotation = "0 0 1 89.9544"; + scale = "0.6527 1 0.1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1128.15 -236.273 76.1405"; + rotation = "1 0 0 179.909"; + scale = "1.18333 1.58915 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "952.394 -353.121 73.3575"; + rotation = "0 0 -1 89.9544"; + scale = "0.792492 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "975.994 -352.995 73.357"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1001.59 -352.785 73.357"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1025.79 -352.574 73.357"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1051.19 -352.367 73.357"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1151.99 -352.88 73.3675"; + rotation = "0 0 -1 89.9543"; + scale = "0.792492 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1175.65 -352.74 73.367"; + rotation = "0 0 -1 89.9543"; + scale = "0.795332 0.575016 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1316.6 -24.8967 62.5744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "887.989 -24.9813 63.0858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "886.705 -439.346 63.9794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1316.75 -436.545 63.8506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ProArena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ProArena.mis new file mode 100644 index 00000000..38b263f2 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ProArena.mis @@ -0,0 +1,905 @@ +// MissionTypes = Arena + +//--- MISSION STRING BEGIN --- +//Follow Standard Rules +//TWL Edition! +//Map by DSEZ +//Original T1 Map By: Proto +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "5"; + powerCount = "0"; + cdTrack = "2"; + musicTrack = "lush"; + Arena_timeLimitAdjustment = "0.5"; + CTF_timeLimit = "25"; + Arena_blockTeamZeroStations = "1"; + Arena_roundLimitAdjustment = "7"; + + new MissionArea(MissionArea) { + area = "-99 477 576 468"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Alcatraz.ter"; + squareSize = "9"; + + visibleDistance = "500"; + position = "-1024 -1024 300"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Broadside_nef.nav"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "253.35 534.473 309.152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(d) { + position = "435.712 684.212 269.082"; + rotation = "0 0 -1 40.107"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "171.072 883.97 327.622"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(d) { + position = "152.034 902.762 305.769"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(AmbientSounds) { + + powerCount = "0"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "990"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.750000 0.750000 1.000000"; + fogDistance = "300"; + fogColor = "0.700000 0.750000 0.750000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "500"; + high_fogDistance = "300"; + high_fogVolume1 = "-1 1.73821e-33 1.41683e-33"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 1.73819e-33 -8.94073e-08"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "153.24 538.367 302.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "245.057 539.102 307.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(objective) { + + powerCount = "0"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new StaticShape() { + position = "161.378 525.183 302.179"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4839"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "161.21 538.955 301.999"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4841"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "160.925 551.905 302.172"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4843"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "149.983 525.045 302.26"; + rotation = "-0 0 -1 88.9909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4845"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "149.936 537.998 302.087"; + rotation = "-0 0 -1 88.9909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4847"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "37"; + }; + new StaticShape() { + position = "150.022 551.771 302.267"; + rotation = "-0 0 -1 88.9909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4849"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "253.513 526.455 302.208"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4851"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "242.157 551.843 302.096"; + rotation = "-0 0 -1 88.9909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4853"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "40"; + }; + new StaticShape() { + position = "253.345 540.227 302.028"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4855"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "41"; + }; + new StaticShape() { + position = "242.071 539.27 302.116"; + rotation = "-0 0 -1 88.9909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4857"; + team = "1"; + Target = "42"; + }; + new StaticShape() { + position = "200.627 526.31 325.091"; + rotation = "0.580893 0.575571 0.575571 239.392"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "43"; + }; + new StaticShape() { + position = "242.118 526.317 302.289"; + rotation = "-0 0 -1 88.9909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4860"; + team = "1"; + Target = "44"; + }; + new StaticShape() { + position = "253.06 552.377 302.201"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4862"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "45"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "249.093 892.07 308.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "154.689 888.301 310.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(objective) { + + powerCount = "0"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new StaticShape() { + position = "202.905 900.624 325.09"; + rotation = "-0.577934 0.582349 0.571719 119.951"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "241.145 906.012 301.914"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4871"; + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "149.007 906.394 301.943"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4873"; + team = "2"; + Target = "48"; + }; + new Item() { + position = "-58.4468 703.031 290.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "149.199 892.622 301.963"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4876"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "252.535 906.168 301.795"; + rotation = "0 0 1 90.9178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4878"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "149.499 880.472 301.936"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4880"; + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "241.327 894.041 301.934"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4882"; + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "160.407 906.55 301.824"; + rotation = "0 0 1 90.9178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4884"; + team = "2"; + Target = "53"; + }; + new Item() { + position = "201.626 723.104 341.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "241.637 881.091 302.107"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4887"; + team = "2"; + Target = "54"; + }; + new StaticShape() { + position = "160.467 893.597 302.051"; + rotation = "0 0 1 90.9178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4889"; + team = "2"; + Target = "55"; + }; + new Trigger() { + position = "149.199 892.622 301.963"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + mainObj = "8478"; + team = "2"; + station = "8478"; + disableObj = "8478"; + }; + new Item() { + position = "201.657 716.072 341.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "160.409 880.424 302.031"; + rotation = "0 0 1 90.9178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4893"; + team = "2"; + Target = "56"; + }; + new Trigger() { + position = "149.007 906.394 301.943"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + mainObj = "8480"; + team = "2"; + station = "8480"; + disableObj = "8480"; + }; + new Item() { + position = "431.037 709.888 261.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "252.537 881.243 301.802"; + rotation = "0 0 1 90.9178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4897"; + team = "2"; + Target = "57"; + }; + new Item() { + position = "201.59 719.721 342.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "252.605 895.016 301.822"; + rotation = "0 0 1 90.9178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4900"; + team = "2"; + Target = "58"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new SimGroup(AIObjectives) { + + powerCount = "0"; + }; + }; + }; + new SimGroup(ffs) { + + powerCount = "1"; + providesPower = "1"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BELgTree16) { + + powerCount = "0"; + }; + new SimGroup(Addition3BEPlant5) { + + powerCount = "0"; + }; + }; + new InteriorInstance() { + position = "205.848 529.088 341.631"; + rotation = "-0.577503 0.577044 -0.577504 119.947"; + scale = "0.1 1.01743 22.5334"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "251.399 550.454 301.248"; + rotation = "-0.577503 0.577044 -0.577504 119.947"; + scale = "0.1 1.01743 22.4418"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "159.153 547.729 301.343"; + rotation = "-0.577503 0.577044 -0.577504 119.947"; + scale = "0.1 1.01743 22.5334"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "159.388 533.828 262.068"; + rotation = "0 0 -1 90.5273"; + scale = "1.04832 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "159.118 888.923 261.861"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-58.286 705.011 289.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "430.958 711.871 261.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + }; + new Camera() { + position = "77.8667 520.443 357.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new ScriptObject(PJTeamHUDData) { + + floodprotect = "0"; + perRow = "16"; + Kills27063 = "0"; + client0 = "27063"; + rows = "0"; + Deaths27063 = "0"; + TotalPlayers = "0"; + cell27063 = "0"; + }; + new TSStatic() { + position = "8.9584 720.865 271.461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "202.898 673.762 252.302"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "324.216 806.562 254.682"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new ScriptObject(PJWaypointObject) { + + Mname14 = "Team 2 StationInventory"; + Mpos0 = "161.378 525.183 302.179"; + Opos2 = "431.037 709.888 261.752"; + Mpos25 = "252.605 895.016 301.822"; + Mname22 = "Team 2 StationInventory"; + Mpos8 = "253.345 540.227 302.028"; + Mname1 = "Team 1 StationInventory"; + Mname4 = "Team 1 StationInventory"; + Mpos20 = "160.407 906.55 301.824"; + Mname17 = "Team 2 StationInventory"; + Mobj5 = "27093"; + Mobj21 = "27131"; + Mpos5 = "150.022 551.771 302.267"; + Mname25 = "Team 2 StationInventory"; + Mname8 = "Team 1 StationInventory"; + Mpos23 = "160.409 879.824 302.031"; + Mname23 = "Team 2 StationInventory"; + Mname20 = "Team 2 StationInventory"; + Mobj20 = "27128"; + Mobj9 = "27101"; + Mname13 = "Team 2 GeneratorLarge"; + WPPJOthercount = "3"; + Mobj24 = "27141"; + WPPJAmmocount = "0"; + Oobj1 = "27136"; + Mname12 = "Team 1 StationInventory"; + Mpos4 = "149.936 537.998 302.087"; + Mobj10 = "27103"; + Oname0 = "Team 2 RepairPatch"; + Mobj23 = "27137"; + Mpos11 = "242.118 526.317 302.289"; + Opos1 = "201.657 716.072 341.916"; + Mobj15 = "27117"; + Mpos1 = "161.21 538.955 301.999"; + Mobj12 = "27106"; + Mobj7 = "27097"; + Mpos9 = "242.071 539.27 302.116"; + Oobj0 = "27146"; + Mobj2 = "27087"; + Mpos13 = "202.891 910.024 325.004"; + Mobj19 = "27126"; + Mname0 = "Team 1 StationInventory"; + WPPJVehiclecount = "0"; + Mobj17 = "27122"; + Mname10 = "Team 1 GeneratorLarge"; + Mpos15 = "149.007 906.394 301.943"; + Mpos2 = "160.925 551.905 302.172"; + Mname9 = "Team 1 StationInventory"; + Mname16 = "Team 2 StationInventory"; + Mpos6 = "253.513 526.455 302.208"; + Mname6 = "Team 1 StationInventory"; + Mobj0 = "27083"; + Mpos22 = "160.467 893.597 302.051"; + Mobj3 = "27089"; + Mpos18 = "149.499 879.672 302.136"; + Mobj8 = "27099"; + Mobj18 = "27124"; + WPPJMaincount = "26"; + Mname5 = "Team 1 StationInventory"; + Mname19 = "Team 2 StationInventory"; + Opos0 = "201.626 723.104 341.9"; + Mpos3 = "149.983 525.045 302.26"; + Mobj6 = "27095"; + Mpos24 = "252.537 881.243 301.802"; + Mobj14 = "27115"; + Mname21 = "Team 2 StationInventory"; + Mobj4 = "27091"; + Mpos19 = "241.327 894.041 301.934"; + Mobj22 = "27133"; + Mname11 = "Team 1 StationInventory"; + Mobj11 = "27104"; + Mname3 = "Team 1 StationInventory"; + Oname1 = "Team 2 RepairPatch"; + Mpos10 = "199.627 520.51 325.047"; + Mname24 = "Team 2 StationInventory"; + Mname18 = "Team 2 StationInventory"; + Oname2 = "Team 2 RepairPatch"; + Mpos16 = "149.199 892.622 301.963"; + Mpos7 = "242.157 553.043 302.096"; + Mobj25 = "27144"; + Mobj1 = "27085"; + Mobj13 = "27114"; + Mpos12 = "253.06 553.177 302.201"; + WPPJPackcount = "0"; + Mpos21 = "241.637 881.091 302.107"; + WPPJWeaponcount = "0"; + Mname15 = "Team 2 StationInventory"; + Mname2 = "Team 1 StationInventory"; + Oobj2 = "27140"; + Mname7 = "Team 1 StationInventory"; + Mobj16 = "27120"; + Mpos17 = "252.535 906.168 301.795"; + Mpos14 = "241.145 906.012 301.914"; + }; + new InteriorInstance() { + position = "160.194 877.323 308.438"; + rotation = "0 0 -1 90.5273"; + scale = "0.1 1.16357 0.673168"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.63 878.166 306.779"; + rotation = "0 0 -1 90.5273"; + scale = "0.1 1.16357 0.673168"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "160.679 554.271 307.122"; + rotation = "0 0 -1 90.5273"; + scale = "0.1 1.16357 0.673168"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.694 555.147 306.786"; + rotation = "0 0 -1 90.5273"; + scale = "0.1 1.16357 0.673168"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Ridgerena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Ridgerena.mis new file mode 100644 index 00000000..ebb59879 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Ridgerena.mis @@ -0,0 +1,842 @@ +// MissionTypes = Arena +// DisplayName = Ridgerena + +//--- MISSION QUOTE BEGIN --- +//Description: Long ago glaciers shaped Thorbian II, producing massive canyons spanning the planet. +//Although the glaciers have long since melted away, the hatred between two rivaling families has not. +//Their bitter feud will end in the canyons, one way or another. +//Objective: Slaughter all members of your rival's crew. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@teamfusion.org +//Website: www.planettribes.com/elmo +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + musicTrack = "desert"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-1104 460 258 384"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "40 760 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "350"; + fogColor = "0.730000 0.550000 0.400000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000400"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + scale = "1 1 1"; + position = "40 760 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "Rasp.ter"; + squareSize = "8"; + emptySquares = "148783 214574 83507 214830 83763"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + coverage = "0"; + GraphFile = "Ridgerena.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + XDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-976.097 470.537 101.958"; + rotation = "1 0 0 9.16737"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-909.355 445.305 169.631"; + rotation = "0.683347 0.150585 -0.714395 34.2861"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-977.108 833.321 168.358"; + rotation = "0.00578893 -0.366268 0.930491 178.315"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-942.86 641.819 286.757"; + rotation = "0.575569 0.575109 -0.581351 119.617"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-1053.68 724.378 141.604"; + rotation = "0 0 1 168.449"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-938.872 521.136 92.9959"; + rotation = "0 0 -1 20.0535"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "-975.915 482.845 99.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-953.847 483.601 91.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-1000.88 477.622 92.7611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-976.119 495.31 90.0909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-976.718 482.662 110.18"; + rotation = "0.999999 -0.000796404 0.000793977 180"; + scale = "1 1 1.522"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + }; + new StaticShape() { + position = "-970.674 485.286 94.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + notReady = "1"; + inUse = "Down"; + team = "1"; + Target = "33"; + Trigger = "7689"; + }; + new StaticShape() { + position = "-982.984 485.503 94.9188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + notReady = "1"; + inUse = "Down"; + team = "1"; + Target = "34"; + Trigger = "7691"; + }; + new StaticShape() { + position = "-983.052 479.887 94.8935"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + Trigger = "7693"; + }; + new StaticShape() { + position = "-970.623 479.844 94.9244"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + Trigger = "7695"; + }; + new StaticShape() { + position = "-976.704 483.334 81.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + }; + }; + new SimGroup(team0) { + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-976.752 784.191 94.6967"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.755 758.308 94.6965"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.754 732.445 94.6969"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.757 706.562 94.6967"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.763 609.688 94.6969"; + rotation = "1 0 0 0"; + scale = "1 3.27152 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.73 551.42 94.7117"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.731 577.283 94.7113"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.758 675.732 94.6969"; + rotation = "1 0 0 0"; + scale = "1 2.9793 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.734 502.877 94.7117"; + rotation = "1 0 0 0"; + scale = "1 1.61812 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.733 525.537 94.7115"; + rotation = "1 0 0 0"; + scale = "1 2.15963 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-976.927 643.703 57.6226"; + rotation = "1 0 0 0"; + scale = "1 1.22543 1.55338"; + interiorFile = "ptowr2.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1072.4 671.793 133.258"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1064.66 671.772 130.529"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1062.37 678.933 130.537"; + rotation = "0.180559 -0.704776 -0.686067 71.6704"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-873.192 598.719 132.573"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-873.252 598.783 140.404"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-865.238 598.76 131.525"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-885.127 591.378 130.433"; + rotation = "0.766232 -0.220333 0.603607 50.9459"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-846.479 739.522 134.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-869.247 758.777 134.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-846.4 690.603 134.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1058.35 720.561 134.385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1060.67 587.731 133.652"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1049.84 606.04 133.277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1061.14 513.323 134.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-902.668 472.541 133.339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-885.763 719.73 133.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1058.88 809.259 134.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-1053.48 809.889 133.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new Item() { + position = "-976.817 647.538 132.243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-977.041 643.652 97.3129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-975.151 643.651 97.3232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-978.87 643.704 97.3036"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-1066.74 432.768 134.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new TSStatic() { + position = "-846.018 590.669 134.131"; + rotation = "1 0 0 0"; + scale = "1 1.52198 1.53745"; + shapeName = "porg3.dts"; + team = "0"; + }; + new TSStatic() { + position = "-846.823 782.638 134.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + team = "0"; + }; + new FileObject() { + team = "0"; + }; + new FileObject() { + team = "0"; + }; + new Item() { + position = "-969.701 713.989 73.2016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-969.644 713.164 73.057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-971.64 708.102 69.8598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1007.29 569.192 90.5807"; + rotation = "0 0 1 87.0895"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1006.43 569.109 90.3206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-1077.09 619.821 133.63"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + team = "0"; + }; + new Item() { + position = "-1078.05 619.791 135.648"; + rotation = "0 0 1 89.9542"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-1076.16 619.802 135.555"; + rotation = "0 0 1 89.9542"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-899.176 643.101 95.9244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-898.184 643.631 96.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-976.113 808.727 94.1436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-942.326 806.153 90.4333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-976.511 826.877 91.4376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-998.54 812.017 94.9216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-976.71 807.526 110.138"; + rotation = "0 1 0 180.091"; + scale = "1 1 1.522"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-982.969 810.403 94.8722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "38"; + Trigger = "7752"; + }; + new StaticShape() { + position = "-983.037 804.787 94.8469"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "39"; + Trigger = "7754"; + }; + new StaticShape() { + position = "-970.608 804.744 94.8778"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "40"; + Trigger = "7756"; + }; + new StaticShape() { + position = "-970.659 810.186 94.8724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + Trigger = "7758"; + }; + new StaticShape() { + position = "-971.424 805.124 81.2504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ShrineArena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ShrineArena.mis new file mode 100644 index 00000000..7a776862 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ShrineArena.mis @@ -0,0 +1,838 @@ +// MissionTypes = Arena +// DisplayName = ShrineArena + +//--- MISSION QUOTE BEGIN --- +//Description: The Great Hall - a place of much spiritual significance. Many a battle have been waged here. +//The Storm and Inferno clans will further its bloody history, each declaring control of the shrine. +//Objective: Kill the opposing clan to insure ownership of the shrine. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@teamfusion.org +//Website: http://maps.tribalwar.com/elmo +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "5"; + powerCount = "0"; + Team_Hunters_timeLimit = "25"; + musicTrack = "ice"; + Hunters_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-240 -12 448 380"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.620000 1.000000"; + scale = "1 1 1"; + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "Rimehold.ter"; + squareSize = "8"; + emptySquares = "101741 101997 102253 299658 430985 431241 431497 366217"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "55"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + GraphFile = "Rimehold.nav"; + XDimOverSize = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-904 -1136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.065000 0.090000 0.220000 0.000000"; + fogDistance = "0"; + fogColor = "0.700000 0.700000 0.700000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-91.0663 160.977 1525.5"; + rotation = "0 0 1 134.072"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-22.8084 184.287 1567.09"; + rotation = "-0.00233821 -0.109756 0.993956 182.426"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "9.81191 62.4079 1523.43"; + rotation = "0 0 -1 48.1283"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-106.753 57.5831 1529.27"; + rotation = "0.312807 -0.123129 0.941802 45.3649"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-46.6212 165.985 1520.9"; + rotation = "-0.0945081 0.0944326 0.991035 90.4701"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "28.264 252.502 1528.83"; + rotation = "0 0 1 229.183"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-142.099 152.491 1555.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-131.732 152.929 1555.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-120.345 151.89 1555.97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-124.297 142.382 1555.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-110.289 143.655 1556.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-95.4548 144.109 1556.63"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-82.0455 144.198 1555.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-113.94 151.563 1556.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new StaticShape() { + position = "-113.836 140.847 1555.12"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Tribes Arena"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + notReady = "1"; + team = "1"; + inUse = "Down"; + Target = "33"; + Trigger = "3624"; + }; + new StaticShape() { + position = "-106.692 140.977 1555.13"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "map by: flyingelmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + Trigger = "3626"; + }; + new StaticShape() { + position = "-99.5081 141.085 1555.13"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "i have two blinking blue eyes"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + Trigger = "3628"; + }; + new StaticShape() { + position = "-92.2635 140.947 1555.26"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "http://maps.tribalwar.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + Trigger = "3630"; + }; + new TSStatic() { + position = "-150.503 152.436 1554.99"; + rotation = "1 0 0 0"; + scale = "1 2.25383 3.32437"; + shapeName = "stackable3l.dts"; + team = "1"; + }; + new StaticShape() { + position = "-109.969 152.342 1555.13"; + rotation = "0 0 1 0.612934"; + scale = "1 1 1"; + nameTag = "you must look at me. bwahaha."; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "25.404 199.94 1531.87"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.2927 211.756 1532.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.1472 221.298 1531.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.8841 188.355 1531.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.7372 177.707 1531.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.8137 161.717 1531.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.6509 149.457 1532.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "24.9065 139.054 1532.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.0147 230.179 1531.81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "25.4226 240.192 1532.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "17.5575 240.427 1531.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "26.3319 171.26 1531.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "24.7376 130.693 1532.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + powerCount = "1"; + + new StaticShape() { + position = "22.9782 157.835 1531.16"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "I like sharp cheddar. Yum Yum!"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "38"; + Trigger = "3650"; + }; + new StaticShape() { + position = "23.0009 165.146 1531.14"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "http://arena.tribalwar.com/"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "39"; + Trigger = "3652"; + }; + new StaticShape() { + position = "22.9261 174.678 1531.15"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Mr. Obvious Station---->"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "40"; + Trigger = "3654"; + }; + new StaticShape() { + position = "23.0316 184.286 1531.16"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "this is a narrow hallway. "; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + Trigger = "3656"; + }; + new InteriorInstance() { + position = "33.5678 174.514 1519.47"; + rotation = "1 0 0 0"; + scale = "0.1 1.5001 1.4063"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "33.1978 139.608 1530.94"; + rotation = "1 0 0 0"; + scale = "1 1 0.779881"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "32.0297 145.809 1531.08"; + rotation = "1 0 0 0"; + scale = "1 3.29181 2.69448"; + shapeName = "stackable3l.dts"; + team = "2"; + }; + new StaticShape() { + position = "21.9787 148.115 1531.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "...the i hate you"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(Stuff) { + powerCount = "0"; + + new InteriorInstance() { + position = "-29.8913 126.627 1515.59"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + team = "0"; + locked = "false"; + }; + new Item() { + position = "-29.8063 263.324 1519.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-86.6704 119.015 1554.78"; + rotation = "1 0 0 0"; + scale = "1 1.31275 1.24895"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new FileObject() { + team = "0"; + }; + new FileObject() { + team = "0"; + }; + new Item() { + position = "-25.0841 263.286 1519.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-22.6814 85.8484 1531.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-20.2934 85.818 1531.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-25.1042 85.7744 1531.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "8.48438 263.304 1519.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "3.7721 263.174 1519.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "6.04985 263.13 1519.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-17.8777 69.0343 1519.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-22.6652 69.0139 1519.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-13.0824 69.0384 1519.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + }; + new TSStatic() { + position = "-161.965 147.107 1555.55"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + team = "0"; + }; + }; + }; + new SimGroup() { + powerCount = "0"; + }; + new SpawnSphere() { + position = "-101.934 143.676 1555.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-89.1377 144.261 1555.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-78.4791 139.044 1556.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-136.849 153.001 1556.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-126.506 152.96 1556.29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-117.991 144.218 1556.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ShrineArenaII.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ShrineArenaII.mis new file mode 100644 index 00000000..411af124 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/ShrineArenaII.mis @@ -0,0 +1,663 @@ +// DisplayName = _ShrineArena II +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//A shrine to the God of Endurance has been secured. Your job is to make sure it stays that way. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_scoreLimit = "4"; + + new MissionArea(MissionArea) { + area = "-176 -192 352 384"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun(Sun) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.622506 0.622506 -0.474313"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.650000 0.650000 0.650000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Ramparts.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + GraphFile = "PhasmaDust.nav"; + YDimOverSize = "0"; + coverage = "0"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new InteriorInstance() { + position = "-57.8183 -12.8448 280.884"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0"; + cloudSpeed2 = "0"; + cloudSpeed3 = "0"; + visibleDistance = "200"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "400"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "1 0 200"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "muddy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-6.73081 -59.7335 278.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "0.499907 -64.0698 278.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-10.2812 -70.8063 278.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-17.774 -51.8028 277.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-15.4569 -63.6088 278.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-9.52949 -48.7495 278.857"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Trigger = "10479"; + team = "1"; + }; + new StaticShape() { + position = "-9.59861 -53.563 278.872"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "10481"; + team = "1"; + }; + new StaticShape() { + position = "-3.22721 -48.606 278.821"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "10483"; + team = "1"; + }; + new StaticShape() { + position = "-2.95904 -53.5839 278.824"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "10485"; + team = "1"; + }; + new StaticShape() { + position = "-22.3296 -47.9439 278.869"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-63.8778 -23.3774 317.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-52.3436 -22.8782 315.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-60.681 -27.1604 317.857"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "10493"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-68.2244 -19.8155 317.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "10495"; + team = "2"; + }; + new StaticShape() { + position = "-54.5231 -27.0268 317.821"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "10497"; + team = "2"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-47.3387 -19.9763 317.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "10499"; + team = "2"; + }; + new StaticShape() { + position = "-57.8151 -27.9958 317.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "-31.8348 -34.9127 289.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-35.8471 -34.9382 289.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-54.7493 -33.6642 289.894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-30.9894 -3.86885 257.828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-56.834 -72.3774 257.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "10.1785 -78.914 260.865"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "31.917 -30.9077 267.975"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "32.1012 -32.8328 267.963"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-41.8353 -78.7895 260.825"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-60.8321 -72.294 257.859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-31.0002 -9.89412 257.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-58.7914 -33.7426 289.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-58.8772 -72.3016 257.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-38.8494 -22.2902 276.032"; + rotation = "0.0500231 -0.208199 0.976806 153.584"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-14.0191 7.16766 260.565"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "25.381 -66.8602 280.583"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-35.1708 -67.4355 295.714"; + rotation = "0.567783 0.183608 -0.80244 43.8981"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(YES) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-20.8789 -67.3697 289.359"; + rotation = "0 1 0 89.9544"; + scale = "1 1.86598 1.87743"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "14.8629 -73.1408 289.014"; + rotation = "0 1 0 90.5273"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "39.4553 -67.9285 278.632"; + rotation = "1 0 0 0"; + scale = "1 1.81814 1.34971"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "30.1883 -82.6288 279.598"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.1926 -82.5404 279.523"; + rotation = "0 0 1 89.9544"; + scale = "1 1.01361 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-66.2382 -32.4922 334.282"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + }; + new PhysicalZone() { + position = "-37.4974 -27.577 317.467"; + rotation = "0 0 1 180.091"; + scale = "5.63689 9.32153 11.6021"; + velocityMod = "1"; + gravityMod = "1"; + appliedForce = "-5000 0 0"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SmogArena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SmogArena.mis new file mode 100644 index 00000000..080b6c13 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SmogArena.mis @@ -0,0 +1,1009 @@ +// DisplayName = Smog Arena +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//No bastard ever won a war by dying for his country. He won it by making the other poor dumb bastard die for his country. +// -- General George S. Patton, Jr +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Arena]The fusion generators have polluted the air +//[Arena]Lots of nooks and cranies +//[Arena]flush out the enemy and destroy them +//Map by BooT +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Arena_scoreLimit = "9"; + powerCount = "0"; + musicTrack = "badlands"; + Arena_timeLimit = "20"; + cdTrack = "4"; + + new MissionArea(MissionArea) { + area = "-496 -1056 336 592"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.106000 0.235000 0.106000 0.000000"; + fogDistance = "250"; + fogColor = "0.170000 0.250000 0.170000 1.000000"; + fogVolume1 = "230 200 300"; + fogVolume2 = "600 250 300"; + fogVolume3 = "0 0 0"; + materialList = "Badlands_l4.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "70.000000 225.000000 70.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 844439074249547710000.000000"; + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + scale = "1 1 1"; + position = "40 -768 0"; + rotation = "1 0 0 0"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Casern_Cavite.ter"; + squareSize = "8"; + emptySquares = "80985 212311 212567"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-283.75 -743.344 92.585"; + rotation = "1 0 0 0"; + scale = "1.0201 0.1 0.582303"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-296.7 -761.545 70.769"; + rotation = "0 1 0 90"; + scale = "1 0.819548 0.534252"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + GraphFile = "Smog_Arena.nav"; + XDimOverSize = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-348.716 -1049.44 179.796"; + rotation = "0.768052 -0.167724 0.618033 38.9206"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + new Camera() { + position = "-264.44 -471.303 168.144"; + rotation = "-0.073393 -0.266012 0.961172 209.705"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + new Camera() { + position = "-175.163 -733.237 208.761"; + rotation = "0.326583 0.354797 -0.87605 102.236"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-314.925 -514.11 117.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-315.327 -496.033 111.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-315.482 -485.015 111.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new SimGroup(base1) { + powerCount = "1"; + + new StaticShape() { + position = "-315.349 -475.819 108.273"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + notReady = "1"; + Trigger = "3435"; + locked = "true"; + inUse = "Down"; + }; + new StaticShape() { + position = "-327.161 -484.333 108.273"; + rotation = "-0 0 -1 89.9545"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + Trigger = "3437"; + locked = "true"; + }; + new StaticShape() { + position = "-327.175 -500.221 108.273"; + rotation = "-0 0 -1 89.9545"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + Trigger = "3439"; + locked = "true"; + }; + new StaticShape() { + position = "-303.688 -500.493 108.273"; + rotation = "0 0 1 90.0455"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + notReady = "1"; + Trigger = "3441"; + locked = "true"; + inUse = "Down"; + }; + new StaticShape() { + position = "-303.704 -484.204 108.317"; + rotation = "0 0 1 90.0455"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + notReady = "1"; + Trigger = "3443"; + locked = "true"; + inUse = "Down"; + }; + new StaticShape() { + position = "-315.332 -508.534 116.349"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + notReady = "1"; + Trigger = "3445"; + locked = "true"; + inUse = "Down"; + }; + new StaticShape() { + position = "-315.406 -523.573 84.285"; + rotation = "0 0 1 0.0395647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + Trigger = "3447"; + locked = "true"; + }; + new StaticShape() { + position = "-315.12 -484.21 100.39"; + rotation = "0 0 1 176.653"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "40"; + locked = "true"; + }; + }; + new WayPoint() { + position = "-315.422 -499.681 100.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-315.492 -528.499 114.732"; + rotation = "0 0 1 0.137056"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(team0) { + powerCount = "1"; + providesPower = "1"; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(Base2) { + powerCount = "1"; + + new StaticShape() { + position = "-295.748 -1044.18 108.273"; + rotation = "0 0 1 176.693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + notReady = "1"; + Trigger = "3455"; + locked = "true"; + inUse = "Down"; + }; + new StaticShape() { + position = "-284.453 -1034.99 108.372"; + rotation = "0 0 1 86.699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + Trigger = "3457"; + locked = "true"; + }; + new StaticShape() { + position = "-307.862 -1036.49 108.317"; + rotation = "0 0 -1 93.301"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "43"; + Trigger = "3459"; + locked = "true"; + }; + new StaticShape() { + position = "-308.829 -1020.24 108.349"; + rotation = "0 0 -1 93.301"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "44"; + Trigger = "3461"; + locked = "true"; + }; + new StaticShape() { + position = "-285.367 -1019.13 108.317"; + rotation = "0 0 1 86.699"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "45"; + Trigger = "3463"; + locked = "true"; + }; + new StaticShape() { + position = "-297.675 -1011.52 116.349"; + rotation = "0 0 1 176.693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + Trigger = "3465"; + locked = "true"; + }; + new StaticShape() { + position = "-298.479 -996.506 84.285"; + rotation = "0 0 1 176.693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + Trigger = "3467"; + locked = "true"; + }; + new StaticShape() { + position = "-296.466 -1035.82 100.39"; + rotation = "-0 0 -1 6.69347"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + locked = "true"; + }; + }; + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-295.221 -1035.09 110.775"; + rotation = "0 0 1 176.654"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-296.019 -1024.1 110.529"; + rotation = "0 0 1 176.654"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-297.476 -1006.07 116.788"; + rotation = "0 0 1 176.654"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new WayPoint() { + position = "-297.328 -1020.08 100.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-298.68 -991.433 114.769"; + rotation = "0 0 1 176.79"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "-1"; + locked = "true"; + }; + }; + }; + new InteriorInstance() { + position = "-340.005 -812.92 66.2209"; + rotation = "0 1 0 90"; + scale = "0.641608 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-391.7 -760.243 46.7702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbase2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-297.524 -1013.67 76.2961"; + rotation = "0 0 -1 93.2096"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(Wall) { + powerCount = "0"; + + new InteriorInstance() { + position = "-495.4 -885.186 94.436"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.4 -853.186 94.436"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.4 -821.186 94.436"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.4 -917.186 94.436"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.4 -981.186 94.436"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.4 -949.186 94.436"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.676 -596.739 93.1322"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.676 -628.739 93.1322"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.676 -660.739 93.1322"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-495.676 -564.739 93.1322"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.379 -645.871 93.7262"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.379 -583.871 61.7262"; + rotation = "1 0 0 0"; + scale = "2 2.72265 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.379 -613.871 93.7262"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.379 -517.871 93.7262"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.379 -549.871 93.7262"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.379 -581.871 93.7262"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.111 -877.41 103.627"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.111 -813.41 103.627"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-168.111 -845.41 103.627"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-376.04 -630.423 54.7519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-338.737 -810.125 82.8929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-422.879 -883.018 53.7976"; + rotation = "0 0 -1 1.90119"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-280.985 -892.107 58.843"; + rotation = "-0.581684 0.813415 4.14728e-08 180"; + scale = "1.5 1.5 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-280.985 -892.107 51.043"; + rotation = "0 0 1 108.862"; + scale = "1 1 1.34308"; + interiorFile = "xmisc2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-341.071 -715.221 64.9126"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-298.513 -996.213 107.8"; + rotation = "-0 0 -1 3.25549"; + scale = "1 1 1"; + shapeName = "pmiscf.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-298.412 -998.584 94"; + rotation = "0 0 1 86.6991"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-315.357 -506.382 76.2961"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new TSStatic() { + position = "-315.389 -523.868 107.8"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + shapeName = "pmiscf.dts"; + locked = "true"; + }; + new InteriorInstance() { + position = "-283.695 -773.937 92.7887"; + rotation = "1 0 0 0"; + scale = "1 0.1 0.582303"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-315.351 -521.495 94"; + rotation = "-0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-331.801 -711.917 87.0695"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-244.649 -757.75 116.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-331.683 -808.215 116.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-281.804 -757.61 115.456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-331.543 -712.429 69.5068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-330.543 -712.185 68.7878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-332.543 -712.185 68.7878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-329.698 -808.361 69.3604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-333.691 -808.248 69.0957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-333.736 -816.358 82.8045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-329.732 -816.329 82.8045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-333.735 -800.357 82.7929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-329.935 -800.357 82.7929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "-338.737 -806.557 82.8929"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-316.996 -1004.56 140.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MortarSmokeEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-279.092 -1002.65 140.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MortarSmokeEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-296.454 -516.386 140.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MortarSmokeEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-334.362 -516.271 140.861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MortarSmokeEmitter"; + velocity = "1"; + locked = "true"; + }; + new ParticleEmissionDummy() { + position = "-420.816 -712.184 103.048"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MortarSmokeEmitter"; + velocity = "1"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SnowBound.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SnowBound.mis new file mode 100644 index 00000000..e4fe38e7 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SnowBound.mis @@ -0,0 +1,1254 @@ +// DisplayName = SnowBound +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Do not repeat the tactics that have gained you one victory, but let your methods be regulated by the infinite variety of circumstances. +// -- Sun Tzu, The Art of War +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Arena]Inventory stations scattered throughout the base +//[Arena]Pack's out back +//[Arena]To enable God mode claim the objective +//Map by BooT +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + musicTrack = "ice"; + Arena_scoreLimit = "9"; + cdTrack = "5"; + Arena_timeLimit = "20"; + + new MissionArea(MissionArea) { + area = "456 592 352 416"; + flightCeiling = "300"; + flightCeilingRange = "20"; + team = "1"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "100"; + fogColor = "0.500000 0.500000 0.570000 1.000000"; + fogVolume1 = "300 0 250"; + fogVolume2 = "380 0 250"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 4216686175807421430000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -6202843637937751620000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + team = "1"; + cloudSpeed0 = "0.000500 0.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + scale = "1 1 1"; + team = "1"; + position = "0 0 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "IceBound.ter"; + squareSize = "8"; + team = "1"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + team = "1"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + GraphFile = "IceBound.nav"; + rotation = "0 0 0 0"; + coverage = "0"; + locked = "true"; + }; + new WaterBlock(Water) { + position = "400 664 -2.4"; + rotation = "1 0 0 0"; + scale = "800 832 72"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.5"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0"; + removeWetEdges = "1"; + team = "1"; + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "724.67 831.835 110.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "snow"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1.5"; + maxNumDrops = "2000"; + maxRadius = "100"; + team = "1"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "523.621 800.923 129.619"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team2) { + powerCount = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "669.731 644.621 80.9343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "678.676 658.207 80.3343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "678.999 635.778 80.7454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "690.321 647.01 80.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "679.215 645.332 80.2615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new InteriorInstance() { + position = "715.206 636.65 75.3053"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "624.8 678.723 126.29"; + rotation = "0 0 1 90"; + scale = "1.26656 1.26656 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "663.856 638.927 75.387"; + rotation = "0 1 0 90"; + scale = "1 2 2"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "628.805 694.656 71.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "628.791 676.257 147.369"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "1490011"; + repairedBy = "3327"; + team = "2"; + inUse = "Down"; + lastDamagedByTeam = "1"; + teamDamageStateOnZap = "1"; + Target = "33"; + lastDamagedBy = "3327"; + Trigger = "3380"; + zapSound = "0"; + notReady = "1"; + locked = "true"; + }; + new WayPoint() { + position = "679.889 645.538 74.6908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "629.8 688.034 108.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "34"; + locked = "true"; + }; + new StaticShape() { + position = "617.703 690.638 126.369"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "35"; + Trigger = "3384"; + locked = "true"; + }; + new StaticShape() { + position = "639.871 690.638 126.369"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + inUse = "Down"; + Target = "36"; + Trigger = "3386"; + notReady = "1"; + locked = "true"; + }; + new StaticShape() { + position = "726.999 636.52 79.27"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + inUse = "Down"; + Target = "37"; + Trigger = "3388"; + notReady = "1"; + locked = "true"; + }; + new TSStatic() { + position = "709.678 656.611 82.3293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + team = "2"; + locked = "true"; + }; + new TSStatic() { + position = "709.678 656.611 79.1293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + team = "2"; + locked = "true"; + }; + new Item() { + position = "741.233 644.762 78.4331"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "739.191 644.743 78.4331"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "735.794 636.652 78.702"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "735.794 641.252 78.702"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "2"; + Target = "-1"; + locked = "true"; + }; + new SimGroup() { + powerCount = "1"; + }; + }; + new SimGroup(Team1) { + powerCount = "1"; + + new SimGroup(spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "588.721 948.81 80.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "578.815 947.132 80.2615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "577.399 937.578 80.7454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "577.076 960.007 80.3343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "568.131 946.421 80.9343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + }; + new TSStatic() { + position = "548.243 938.99 82.6038"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "620.947 922.049 126.29"; + rotation = "0 0 1 90"; + scale = "1.26656 1.26656 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "560.656 939.133 75.387"; + rotation = "0 1 0 90"; + scale = "1 2 2"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "525.823 951.06 75.3"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "628.771 919.517 147.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "1501782"; + team = "1"; + inUse = "Down"; + lastDamagedByTeam = "1"; + Target = "38"; + lastDamagedBy = "3327"; + Trigger = "3408"; + notReady = "1"; + locked = "true"; + }; + new WayPoint() { + position = "577.044 949.526 74.8014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "628.456 913.188 108.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + locked = "true"; + }; + new StaticShape() { + position = "617.571 905.05 126.348"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "40"; + Trigger = "3412"; + notReady = "1"; + locked = "true"; + }; + new StaticShape() { + position = "639.771 905.05 126.348"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + Trigger = "3414"; + locked = "true"; + }; + new StaticShape() { + position = "530.746 959.39 79.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + inUse = "Down"; + Target = "42"; + Trigger = "3416"; + notReady = "1"; + locked = "true"; + }; + new TSStatic() { + position = "548.243 938.99 79.2038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "628.804 901.057 71.3"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + team = "1"; + locked = "true"; + }; + new Item() { + position = "522.014 947.483 78.6538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "522.014 952.283 78.6538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "518.422 945.596 78.3848"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + ammoStore = "5"; + locked = "true"; + }; + new Item() { + position = "516.422 945.596 78.3848"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + ammoStore = "5"; + locked = "true"; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new SimGroup(objective) { + powerCount = "0"; + + new InteriorInstance() { + position = "628.689 797.8 116.64"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "628.68 797.83 107.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "NE Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "2705195"; + team = "1"; + Projector = "3427"; + lastDamagedByTeam = "2"; + Target = "43"; + lastDamagedBy = "3354"; + locked = "true"; + name = "The Useless Objective"; + }; + new StaticShape() { + position = "628.697 797.706 126.952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "3820157"; + team = "1"; + holo = "5302"; + lastDamagedByTeam = "1"; + Target = "-1"; + lastDamagedBy = "3354"; + locked = "true"; + }; + new StaticShape() { + position = "628.697 797.706 126.552"; + rotation = "0 0 1 112.3"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "3820157"; + team = "1"; + lastDamagedByTeam = "1"; + Target = "-1"; + lastDamagedBy = "3354"; + locked = "true"; + }; + }; + }; + }; + new SimGroup(sounds) { + powerCount = "0"; + + new AudioEmitter() { + position = "337.524 937.121 124.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Packs) { + powerCount = "0"; + + new Item() { + position = "729.434 629.08 79.4826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "729.434 626.88 79.4826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "724.434 629.08 79.4826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "724.434 626.88 79.4826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "727.034 628.08 79.4826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "530.727 967.584 79.4301"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "533.325 968.788 79.4301"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "533.328 966.588 79.4301"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "528.325 968.779 79.4301"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "528.328 966.58 79.4301"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "1"; + Target = "-1"; + locked = "true"; + }; + }; + new SimGroup(Bridge) { + powerCount = "0"; + + new InteriorInstance() { + position = "659.327 797.83 124.398"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "628.69 754.45 121.621"; + rotation = "0 0 1 180"; + scale = "1.03 1.03 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "628.7 841.083 102.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "628.737 754.34 101.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "684.7 797.799 70.87"; + rotation = "0 0 1 90"; + scale = "1 1 1.43981"; + interiorFile = "sbrdg6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "629.687 821.881 68.1188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "598.327 797.83 124.398"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "572.7 798.198 70.87"; + rotation = "0 0 -1 90"; + scale = "1 1 1.43981"; + interiorFile = "sbrdg6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "628.69 840.97 121.621"; + rotation = "0 0 1 180"; + scale = "1.03 1.03 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Rocks) { + powerCount = "0"; + + new InteriorInstance() { + position = "747.288 793.245 64.6341"; + rotation = "-0.264671 -0.227504 -0.937119 111.366"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "749.821 805.88 94.1146"; + rotation = "0.374432 -0.912981 -0.162066 88.8001"; + scale = "0.522633 1.34657 0.946047"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "728.961 869.101 78.1546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "741.113 869.813 78.4614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "735.434 857.899 75.6683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "533.454 687.386 78.4139"; + rotation = "0.0356825 0.987727 0.152062 60.3354"; + scale = "5.15975 5.54116 5.27735"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new SimGroup(Wall) { + powerCount = "0"; + + new InteriorInstance() { + position = "477.016 832.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 848.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 864.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 880.452 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 896.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 912.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 928.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "768.622 649.943 87.3289"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "497.016 944.46 87.3"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "481.016 944.46 87.3"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "778.587 760.001 97.418"; + rotation = "1 0 0 180"; + scale = "0.4 0.4 0.4"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "513.016 944.46 87.3"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 653.943 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 669.943 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 685.943 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 701.935 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 717.943 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 733.943 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "776.622 749.943 87.3289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "752.622 649.943 87.3289"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "736.622 649.943 87.3289"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "477.016 816.46 87.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + team = "1"; + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SoccerLand.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SoccerLand.mis new file mode 100644 index 00000000..9e1c8565 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SoccerLand.mis @@ -0,0 +1,1040 @@ +// DisplayName = ^_^ SoccerLand +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//. +//"Shiiiiiiit...Damn fool" +//' '-- SoccerWear +//. +// indoor map +// both teams have perfectly symmetrical sides +//. +//map by: ^_^ EveningWear +//email: evening@thewears.com +//v.1.0 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + CTF_scoreLimit = "6"; + cdTrack = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-424 -264 496 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.900000 0.500000 0.350000 1.000000"; + fogDistance = "300"; + fogColor = "0.900000 0.500000 0.350000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_RedPlanet.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + high_visibleDistance = "700"; + high_fogDistance = "675"; + high_fogVolume1 = "200 0 53"; + high_fogVolume2 = "500 53 58"; + high_fogVolume3 = "1500 58 200"; + + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new Sun() { + position = "2 3 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Gorgon.ter"; + squareSize = "8"; + emptySquares = "230498 296048 177777 243554 178033"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "DeathBirdsFly.nav"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(Team1) { + + powerCount = "3"; + + new SimGroup(spawnspheres) { + + powerCount = "3"; + + new SpawnSphere() { + position = "-170.484 404.82 54.5061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "38"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new StaticShape() { + position = "-182.681 372.039 53.8281"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7893"; + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-158.932 371.846 53.7592"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7895"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-158.566 384.669 35.7538"; + rotation = "0 0 1 59.7702"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7897"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-183.778 384.974 35.7538"; + rotation = "-0 0 -1 62.8427"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7899"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "-227.781 396.61 53.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "-113.781 396.61 53.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "38"; + }; + new WayPoint(base) { + position = "-170.896 384.728 53.6854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "3"; + + new SimGroup(spawnspheres) { + + powerCount = "3"; + + new SpawnSphere() { + position = "-170.484 72.62 54.5061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "38"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new StaticShape() { + position = "-159.213 105.301 53.5657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7906"; + team = "2"; + Target = "39"; + }; + new StaticShape() { + position = "-182.963 105.456 53.4968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7908"; + team = "2"; + Target = "40"; + }; + new StaticShape() { + position = "-183.308 92.6325 35.4914"; + rotation = "0 0 1 239.679"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7910"; + team = "2"; + Target = "41"; + }; + new StaticShape() { + position = "-158.096 92.3671 35.4914"; + rotation = "0 0 1 117.066"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "7912"; + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "-113.781 80.21 53.6"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "-227.781 80.21 53.6"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + }; + new WayPoint(base) { + position = "-170.764 92.5191 53.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + }; + }; + new SimGroup(team0) { + + providesPower = "1"; + powerCount = "2"; + + new SimGroup(base) { + + powerCount = "3"; + + new InteriorInstance() { + position = "-170.857 238.481 43.5438"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "pbase_nef_giant.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new ScriptObject(PJModData) { + + damagetype17 = "AA turret"; + damagetype4 = "disc"; + damagetype23 = "sentry turret"; + damagetype15 = "turret"; + damagetype27 = "belly turret"; + damagetype32 = "MPB missile"; + damagetype29 = "tank chaingun"; + damagetype1 = "blaster"; + damagetype10 = "shocklance"; + damagetype7 = "ELF"; + damagetype5 = "grenade"; + damagetype24 = "out of bounds"; + damagetype16 = "plasma turret"; + damagetype8 = "mortar"; + damagetype0 = "default"; + damagetype22 = "spike turret"; + damagetype2 = "plasma"; + damagetype30 = "tank mortar"; + damagetype99 = "suicide"; + team = "0"; + damagetype18 = "ELF turret"; + damagetype14 = "ground"; + damagetype13 = "impact"; + damagetype6 = "laser"; + damagetype12 = "explosion"; + damagetype98 = "nexus camping"; + damagetype35 = "ForceField"; + damagetype31 = "satchel charge"; + damagetype20 = "missile turret"; + damagetype26 = "shrike blaster"; + damagetype25 = "lava"; + damagetype9 = "missile"; + damagetype28 = "bomber bomb"; + damagetype11 = "mine"; + damagetype33 = "lighting"; + damagetype3 = "chaingun"; + damagetype36 = "Crash"; + damagetype21 = "clamp turret"; + damagetype19 = "mortar turret"; + }; + new FileObject() { + + team = "0"; + }; + new FileObject() { + + team = "0"; + }; + new ForceFieldBare(GenerateForceField) { + position = "-121.322 95.1671 53.4385"; + rotation = "1 0 0 0"; + scale = "17.6642 0.601114 8.48447"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "45"; + }; + new ForceFieldBare(GenerateForceField) { + position = "-239.122 95.1671 53.4385"; + rotation = "1 0 0 0"; + scale = "17.6642 0.601114 8.48447"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "46"; + }; + new ForceFieldBare(GenerateForceField) { + position = "-121.322 381.167 53.4385"; + rotation = "1 0 0 0"; + scale = "17.6642 0.601114 8.48447"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "47"; + }; + new ForceFieldBare(GenerateForceField) { + position = "-239.122 381.167 53.4385"; + rotation = "1 0 0 0"; + scale = "17.6642 0.601114 8.48447"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "48"; + }; + new StaticShape() { + position = "-119.621 400.29 43.6149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "49"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-157.573 370.036 63.881"; + rotation = "0.567921 0.203492 -0.797532 48.3864"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-158.031 88.7326 61.4133"; + rotation = "0.199666 0.138846 -0.969977 71.2745"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + }; + new SimGroup(RespawnObjects) { + + powerCount = "0"; + }; + new Item() { + position = "-170.748 165.094 51.5741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-172.972 163.928 35.6647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-168.572 163.928 35.6647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-154.414 175.955 53.7016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-155.414 175.955 53.7016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-187.214 175.955 53.7016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-186.414 175.955 53.7016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-185.414 175.755 53.7016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-156.414 175.755 53.7016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-186.312 132.306 53.6223"; + rotation = "0 0 1 227.074"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-155.475 131.976 53.5502"; + rotation = "0 0 1 128.343"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-154.607 175.576 35.6214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-186.607 175.576 35.6214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.847 194.95 35.6668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-169.516 194.754 35.9345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-172.109 194.867 35.6698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.253 224.523 35.7167"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-168.672 224.498 35.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-171.472 224.498 35.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.844 238.521 45.5295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-170.844 231.521 45.5295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.844 246.121 45.5295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.77 232.537 53.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.824 311.98 51.5902"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-168.567 313.17 35.64"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-172.967 313.119 35.64"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-187.46 301.568 53.55"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-186.46 301.559 53.55"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-154.673 301.873 53.7178"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-155.473 301.88 53.7178"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-156.471 302.088 53.7178"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-185.459 301.751 53.7178"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-155.032 345.209 53.6385"; + rotation = "0 0 1 48.7016"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-186.363 345.266 53.5664"; + rotation = "0 0 -1 50.0294"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-186.719 301.599 35.5"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.773 282.133 35.55"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-154.822 301.683 35.5"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-172.098 282.367 35.9506"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-169.509 282.18 35.6859"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.807 252.65 35.7264"; + rotation = "0 0 -1 92.1505"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + }; + new Item() { + position = "-172.387 252.787 35.3795"; + rotation = "0 0 1 181.631"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-169.588 252.709 35.3645"; + rotation = "0 0 1 181.631"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-170.718 244.507 53.6661"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SpyLand.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SpyLand.mis new file mode 100644 index 00000000..022a3022 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/SpyLand.mis @@ -0,0 +1,1814 @@ +// DisplayName = ^_^ SpyLand +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//. +//"More fun than a rubber ducky on prozac!" +//' '-- SpyWear +//. +// symmetrical coliseum +// sniping is difficult +//. +//map by: ^_^ EveningWear +//email: evening@thewears.com +//v.1.1 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "864 -1176 320 320"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.350000 0.650000 0.350000 1.000000"; + ambient = "0.350000 0.550000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Confusco.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Confusco.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "200"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.090000 0.220000 0.090000 1.000000"; + fogDistance = "100"; + fogColor = "0.090000 0.220000 0.090000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "muddy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -57501876.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -51974240.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000020"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 1.97348e-39"; + high_fogVolume2 = "-1 -2.87572e+38 -0.0730211"; + high_fogVolume3 = "-1 -0.000779272 -3.60032e-33"; + + locked = "false"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "1155.65 -900.389 217.281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "1113.99 -877.958 210.946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "1159.45 -950.189 219.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "1092.88 -878.143 204.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "1103.02 -898.87 216.945"; + rotation = "-0.00698912 0.033996 0.999398 209.919"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9005"; + team = "1"; + Target = "34"; + inUse = "Down"; + }; + new StaticShape() { + position = "1094.09 -894.066 217.348"; + rotation = "0.0326158 0.00188889 0.999466 209.525"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9007"; + team = "1"; + Target = "35"; + inUse = "Down"; + }; + new StaticShape() { + position = "1138.21 -949.209 218.637"; + rotation = "0.00632231 0.0481889 -0.998818 89.7006"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9009"; + team = "1"; + Target = "36"; + inUse = "Down"; + }; + new StaticShape() { + position = "1137.67 -963.631 218.309"; + rotation = "-0.0216415 -0.00212289 -0.999764 118.57"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9011"; + team = "1"; + Target = "37"; + inUse = "Down"; + }; + new StaticShape() { + position = "1136.18 -937.524 220.236"; + rotation = "-0.0417498 0.115561 -0.992423 115.328"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9013"; + team = "1"; + Target = "38"; + inUse = "Down"; + }; + new WayPoint(base) { + position = "1144.34 -902.083 226.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "906.334 -1142.87 210.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "888.734 -1104.07 210.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "881.657 -1072 212.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "40"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "904.108 -1097.4 218.3"; + rotation = "0.0311855 -0.0199889 0.999314 65.3529"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "662936"; + notReady = "1"; + Trigger = "9020"; + team = "2"; + lastDamagedByTeam = "2"; + Target = "39"; + lastDamagedBy = "4250"; + inUse = "Down"; + }; + new StaticShape() { + position = "904.512 -1109.75 210.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01681"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "40"; + }; + new StaticShape() { + position = "910.598 -1105.79 217.585"; + rotation = "0.112911 -0.0286011 0.993193 65.7194"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9023"; + team = "2"; + Target = "41"; + inUse = "Down"; + }; + new StaticShape() { + position = "897.81 -1061.12 215.07"; + rotation = "-0.44309 0.0498503 0.89509 21.552"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9025"; + team = "2"; + Target = "42"; + inUse = "Down"; + }; + new StaticShape() { + position = "898.845 -1069.78 214.603"; + rotation = "-0.0277242 0.040598 0.998791 83.8878"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9027"; + team = "2"; + Target = "43"; + inUse = "Down"; + }; + new StaticShape() { + position = "899.238 -1078.19 215.5"; + rotation = "0.014372 0.142421 0.989702 84.4996"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9029"; + team = "2"; + Target = "44"; + inUse = "Down"; + }; + new WayPoint(base) { + position = "892.432 -1088.71 222.52"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1106.53 -925.291 218.45"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "1142.91 -1013.07 218.5"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "1106.64 -1100.65 218.45"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "1019.13 -1136.94 218.575"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "895.255 -1013.2 218.5"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "931.312 -925.144 218.45"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "931.638 -1100.76 218.45"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "1018.87 -888.975 218.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "924.556 -918.506 235.55"; + rotation = "-0.843952 -0.387054 -0.371394 100.502"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1113.08 -918.884 235.5"; + rotation = "-0.857516 0.35515 0.372203 95.6988"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "886.904 -1013.25 235.452"; + rotation = "-0.570353 0.583993 0.577623 122.025"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "925.622 -1106.77 235.4"; + rotation = "-0.877337 0.346523 0.331967 98.3949"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1019.07 -1145.98 235.546"; + rotation = "-0.999989 -0.00333013 -0.00335208 90.4736"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1018.89 -879.963 235.533"; + rotation = "-0.999978 -0.00194591 -0.00629037 87.7615"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1113.1 -1107.35 235.451"; + rotation = "-0.274835 0.679695 0.68006 150.959"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1152.32 -1013.09 235.451"; + rotation = "-0.562728 0.575978 0.592947 120.727"; + scale = "2 2 2"; + shapeName = "bmiscf.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "1049.51 -1127.31 224.447"; + rotation = "0 0 -1 39.2704"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1078.25 -1114.99 224.447"; + rotation = "0 0 -1 8.90368"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1121.24 -1071.9 224.447"; + rotation = "0 0 1 9.43102"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1132.98 -1043.36 224.447"; + rotation = "0 0 1 32.9223"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1132.68 -982.855 224.447"; + rotation = "0 0 1 56.9865"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1121.03 -953.704 224.447"; + rotation = "0 0 1 82.7696"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1077.78 -911.059 224.447"; + rotation = "0 0 1 101.677"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1049.12 -899.105 224.447"; + rotation = "0 0 1 123.449"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "988.664 -1126.52 224.236"; + rotation = "0 0 -1 56.6422"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "960.2 -1115.24 224.436"; + rotation = "0 0 -1 82.425"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "917.402 -1072.12 224.236"; + rotation = "0 0 -1 100.759"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "905.463 -1043.55 224.636"; + rotation = "0 0 1 236.322"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "905.322 -983.025 224.436"; + rotation = "0 0 1 213.977"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "916.95 -953.873 224.236"; + rotation = "0 0 1 190.486"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "959.939 -910.789 224.236"; + rotation = "0 0 1 171.005"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "988.304 -899.274 224.236"; + rotation = "0 0 1 145.795"; + scale = "1 1 0.961428"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1019.15 -1006.02 210.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1019.15 -960.02 200.155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1019.15 -1057.02 200.155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(TopCenterCam) { + position = "1017.52 -1008.63 273.641"; + rotation = "1 -7.55505e-08 7.56107e-08 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Team1Cam) { + position = "1131.71 -896.705 248.95"; + rotation = "-0.113963 -0.288845 0.950569 221.116"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Team2Cam) { + position = "879.674 -1090.29 252.028"; + rotation = "0.229442 -0.145451 0.962393 66.7465"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(sounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "947.996 -1003.36 254.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "1085.98 -1006.74 236.432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/coldwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "2240"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new SimGroup(Stackables) { + + powerCount = "0"; + + new TSStatic() { + position = "1021.65 -1135.79 232.312"; + rotation = "0 0 -1 13.751"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "1015.94 -1136.22 232.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "971.636 -1114.04 225.733"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "920.826 -1081.13 232.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "916.208 -953.496 232.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "1109.42 -930.61 233.175"; + rotation = "0.173289 0.388042 0.905204 51.2957"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "1116.99 -1080.08 232.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "1120.71 -960.298 225.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "1121.16 -961.334 225.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "1122.94 -959.861 225.465"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "1122.04 -960.357 226.465"; + rotation = "0 0 -1 38.3882"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "1012.4 -888.66 234.122"; + rotation = "0 1 0 116.929"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "1012.45 -884.977 232.326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new TSStatic() { + position = "1014.37 -884.647 232.48"; + rotation = "0 0 1 13.7509"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "1012.84 -884.993 234.285"; + rotation = "0.0970607 0.53339 -0.840282 24.4383"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + }; + new TSStatic() { + position = "1025.88 -883.916 232.387"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "1025.1 -884.125 232.387"; + rotation = "0 0 -1 60.1606"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "1024.34 -884.105 232.387"; + rotation = "0 0 1 70.4738"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "1025.94 -884.631 232.469"; + rotation = "0 -1 0 26.929"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "1024.08 -884.99 232.387"; + rotation = "0 0 -1 42.3989"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "914.811 -951.516 232.477"; + rotation = "0 0 -1 17.1887"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "917.406 -949.703 232.413"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "909.997 -1050.1 225.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "910.157 -1047.67 225.495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "910.933 -1047.32 225.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "918.85 -1082.84 232.507"; + rotation = "0 0 -1 32.0856"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + }; + new TSStatic() { + position = "919.865 -1082.9 232.473"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "967.302 -1115.08 225.187"; + rotation = "0 0 1 49.8473"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new TSStatic() { + position = "970.349 -1116.01 225.537"; + rotation = "0 0 1 11.4591"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + }; + new TSStatic() { + position = "1115.86 -1082.32 232.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "1116.21 -1081.57 232.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "1115.24 -1081.12 232.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "1116.09 -1080.82 232.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "1116.73 -1081.24 232.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + }; + new InteriorInstance() { + position = "1015.83 -1025.57 225.534"; + rotation = "0.703943 -0.709126 -0.0400562 14.5683"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Respawnables) { + + powerCount = "0"; + + new Item() { + position = "1019.17 -1006.28 231.703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1016.5 -1003.72 231.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1016.5 -1009.12 231.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1021.9 -1003.72 231.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1021.9 -1009.12 231.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1024.56 -1057.14 235.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1019.11 -1051.48 235.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1013.63 -1057.17 235.205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1019.15 -1062.82 234.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1019.14 -965.989 235.167"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1024.73 -960.124 235.255"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1019.21 -954.696 235.005"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1013.84 -960.116 235.155"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1110.71 -1104.87 232.563"; + rotation = "0 0 -1 44.1177"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1109.88 -1106.69 232.764"; + rotation = "0 0 -1 48.1285"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1112.63 -1104.35 232.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1112.09 -1103.88 232.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "926.088 -922.355 232.363"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "926.614 -922.841 232.363"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "928.022 -921.89 232.566"; + rotation = "0 0 1 137.51"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "928.613 -919.819 232.767"; + rotation = "0 0 1 133.499"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1018.9 -884.94 232.546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1017.15 -884.146 232.588"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1020.46 -883.778 232.857"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1017.17 -883.346 232.588"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1020.72 -1142.12 232.57"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1020.7 -1142.92 232.57"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1017.41 -1142.5 232.839"; + rotation = "0 0 -1 0.754847"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1019.02 -1141.67 232.546"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1019.26 -1006.14 245.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1147.81 -1013.08 232.542"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1148.46 -1011.34 232.591"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1148.46 -1011.74 232.591"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1148.74 -1014.63 232.997"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "891.635 -1011.57 233.141"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "892.536 -1013.13 232.686"; + rotation = "0 0 -1 88.991"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "891.862 -1014.46 232.735"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "891.855 -1014.86 232.735"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "928.374 -1103.92 232.589"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "928.51 -1105.18 232.543"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "926.945 -1103.87 232.75"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1110.23 -923.118 232.789"; + rotation = "0 0 1 225.745"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1108.67 -921.81 232.582"; + rotation = "0 0 1 224.599"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "1108.81 -923.07 232.628"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new SimGroup(RocksAndOrganics) { + + powerCount = "0"; + + new InteriorInstance() { + position = "1171.09 -873.244 208.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "882.997 -870.422 208.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "882.875 -1142.37 212.955"; + rotation = "-0.0591206 -0.167131 0.98416 39.5399"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1150.43 -1157.2 213.708"; + rotation = "-0.0320443 -0.0399688 0.998687 102.633"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1018.31 -1183.07 232.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1022.11 -830.862 237"; + rotation = "0 0 1 84.7977"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "852.721 -1016.42 231.171"; + rotation = "0 -1 0 7.44841"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1183.64 -1009.43 230.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1134.4 -786.844 212.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1270.21 -907.565 238.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1104.68 -1265.15 214.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "878.374 -1223.39 204.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "786.795 -1066.09 242.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "962.972 -1044.16 215.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "984.539 -1097.91 219.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1059.45 -1091.3 218.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1078.63 -1006.46 215.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1083.4 -946 215.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1075.61 -881.26 219.623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1105.91 -1161.89 216.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1023.1 -1163.47 230.037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "964.474 -1166.27 219.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "877.59 -1102.4 222.663"; + rotation = "0 -1 0 14.3239"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "899.358 -929.904 222.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "936.548 -884.807 215.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "1007.58 -934.733 224.909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "984.702 -981.909 216.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "1057.53 -987.921 216.321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "1109.19 -1051.07 214.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "1109.91 -993.692 214.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "1093.71 -1059.86 214.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "1077.27 -1099.39 216.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "986.543 -1068.18 216.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Stonehenge_Arena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Stonehenge_Arena.mis new file mode 100644 index 00000000..b34953bd --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Stonehenge_Arena.mis @@ -0,0 +1,1371 @@ +// MissionTypes = Arena + +//--- MISSION STRING BEGIN --- +//Map By DSEZ +//This was a tribes 2 map i made and never released. +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-392 -432 272 576"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.520000 0.520000 0.520000 1.000000"; + fogDistance = "100"; + fogColor = "0.520000 0.520000 0.520000 1.000000"; + fogVolume1 = "650 0 200"; + fogVolume2 = "800 200 300"; + fogVolume3 = "0 0 0"; + materialList = "lush_dusk.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 107 1.07457e-38"; + high_fogVolume2 = "-1 9.69184e-34 8.26766e-44"; + high_fogVolume3 = "-1 0 3.2509e-38"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.650000 0.680000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "2000"; + maxRadius = "80"; + + locked = "true"; + }; + new Sun() { + position = "-7.65436 29.3593 -34.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Stonehenge_nef.ter"; + squareSize = "8"; + emptySquares = "0"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + locked = "true"; + rotation = "0 0 0 0"; + GraphFile = "Stonehenge_nef.nav"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-420 -452 212.6"; + rotation = "0.157802 0.0246718 0.987163 237.374"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 -1196 145.334"; + rotation = "0.782248 0.0633289 0.61974 30.2214"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -324 83.6"; + rotation = "0.0349446 -0.227912 0.973054 216.068"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 436 196.819"; + rotation = "0.345433 -0.180589 -0.920904 74.4954"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "572 -1284 210.397"; + rotation = "-0.0388496 -0.139125 0.989513 223.582"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -924 181.475"; + rotation = "0.74335 -0.0466178 0.667276 29.604"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -996 192.147"; + rotation = "0.234347 0.0919127 0.967798 196.46"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -1116 181.928"; + rotation = "0.427919 -0.178998 -0.885915 61.9431"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-852 -564 242.834"; + rotation = "-0.0240997 0.234194 -0.971891 113.506"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "676 -884 176.444"; + rotation = "0.155282 0.183932 -0.970596 81.6883"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -996 212.194"; + rotation = "-0.0341384 0.575948 -0.816773 27.9746"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "436 -556 189.116"; + rotation = "-0.204638 -0.0226176 0.978576 74.19"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-732 -652 243.428"; + rotation = "0.0125208 -0.180659 0.983466 51.7462"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-420 -236 281.787"; + rotation = "-0.14061 0.169516 0.975445 226.95"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 276 270.038"; + rotation = "-0.24489 0.144667 -0.958697 35.3754"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-220 -732 155.116"; + rotation = "0.163703 -0.0269342 0.986142 80.7882"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "204 428 209.913"; + rotation = "-0.159414 -0.337539 0.927715 39.6653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 -572 240.116"; + rotation = "-0.647255 0.762274 9.93427e-06 25.3561"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 36 83.6781"; + rotation = "-0.13634 -0.069173 -0.988244 117.602"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-372 372 201.631"; + rotation = "0.150186 0.124972 0.980727 200.604"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -988 205.038"; + rotation = "0.0756881 0.274848 0.958504 34.3462"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-76 -1188 174.678"; + rotation = "-0.0371732 0.117899 0.99233 125.36"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 100 164.303"; + rotation = "0.359859 -0.116815 -0.925665 33.3561"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-868 180 242.522"; + rotation = "0.237012 0.16286 0.957759 107.375"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1188 -68 171.553"; + rotation = "0.104403 -0.233341 0.966774 70.8182"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1228 -76 169.897"; + rotation = "-0.478329 0.00440113 -0.87817 47.2219"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 -1076 181.397"; + rotation = "-0.151796 -0.281647 0.947435 62.7148"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-572 -396 209.85"; + rotation = "0.0429078 0.00236508 -0.999076 71.0502"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 692 257.006"; + rotation = "0.2091 0.0977605 -0.972995 89.5676"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-388 -508 198.163"; + rotation = "-0.0913206 -0.39729 0.913138 33.7876"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-716 -900 193.741"; + rotation = "-0.172211 0.0575155 -0.98338 34.5409"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-604 -1196 149.116"; + rotation = "0.105062 -0.414917 0.903773 58.8267"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 -1140 197.553"; + rotation = "0.0219609 0.47998 0.877005 19.3419"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -812 174.991"; + rotation = "-0.0547983 -0.217969 0.974416 225.924"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "516 268 81.1312"; + rotation = "-0.109726 -0.0198273 0.993764 132.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-788 -772 146.397"; + rotation = "-0.0719837 0.250632 0.965402 95.0126"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1220 -980 190.819"; + rotation = "-0.446217 -0.173871 0.877872 21.5849"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -636 173.069"; + rotation = "-0.011205 -0.207286 -0.978216 91.2618"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 -1180 241.897"; + rotation = "-0.0357533 0.157542 0.986865 154.33"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 -1036 185.037"; + rotation = "0.108319 0.231114 0.966878 205.167"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1156 -396 162.522"; + rotation = "0.0808992 -0.0970829 -0.991983 96.4586"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 -1156 110.522"; + rotation = "0.064278 -0.0175047 0.997778 68.1178"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 468 197.1"; + rotation = "-0.212503 -0.14336 0.966587 70.829"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-588 556 145.678"; + rotation = "-0.0384027 0.271171 0.961765 117.99"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-892 580 220.662"; + rotation = "0.325285 0.109337 -0.939274 72.3869"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "452 724 194.022"; + rotation = "0.0170151 -0.22349 0.974558 204.383"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-948 708 171.413"; + rotation = "-0.0574977 0.246303 0.967486 93.8912"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1212 732 286.131"; + rotation = "-0.178555 0.123535 0.976144 201.488"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1204 -564 230.241"; + rotation = "-0.12396 0.111479 0.986005 124.667"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition4BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-348 -388 273.017"; + rotation = "0.459994 0.402652 -0.791376 34.9749"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-291.972 -83.9854 242.097"; + rotation = "-0.0750568 0.052783 0.995781 54.1962"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 132 262.549"; + rotation = "0.426287 -0.566626 0.705134 28.0791"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "60 44 176.455"; + rotation = "0.222412 0.0334733 -0.974378 84.4786"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 -100 253.361"; + rotation = "0.171212 0.234462 0.956929 119.225"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 124 159.377"; + rotation = "0.15098 -0.0113431 0.988472 170.115"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 -156 221.752"; + rotation = "-0.106907 -0.102573 0.988964 124.525"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -124 159.142"; + rotation = "-0.183267 0.779412 -0.599107 34.3794"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -52 207.767"; + rotation = "0.246928 0.241346 0.938498 61.1352"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-468 -324 250.845"; + rotation = "-0.0223829 0.254575 0.966794 171.298"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-156 -332 188.283"; + rotation = "0.115069 -0.0493373 0.992132 82.4486"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "84 4 187.095"; + rotation = "-0.265405 0.462726 0.84584 39.745"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 124 157.345"; + rotation = "-0.0112826 0.583423 -0.81209 37.7098"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 44 266.408"; + rotation = "0.0534719 -0.105452 0.992986 230.687"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-580 -508 191.877"; + rotation = "0.179059 -0.110069 0.977662 168.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 -28 257.674"; + rotation = "-0.133094 -0.0971992 0.986326 129.61"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -500 269.533"; + rotation = "0.0584764 0.119672 0.99109 141.321"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-460 -564 196.845"; + rotation = "0.0170505 0.0575948 0.998194 78.1015"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-300.046 -92.0244 243.399"; + rotation = "0.0926805 0.124321 0.987904 230.46"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-476 -300 238.736"; + rotation = "0.0876534 0.327129 0.940906 63.0678"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-12 156 198.142"; + rotation = "-0.575448 -0.659234 0.484015 32.3829"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-660 -340 215.033"; + rotation = "0.063571 -0.0971338 -0.993239 110.365"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 196 194.08"; + rotation = "0.132239 -0.159534 -0.978295 99.2431"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-564 -308 226.861"; + rotation = "-0.309793 0.0750986 -0.947834 86.0554"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-508 -420 228.439"; + rotation = "0.0405069 -0.166726 0.985171 89.8558"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 -244 278.377"; + rotation = "0.0797222 0.220707 0.972077 213.103"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -484 206.861"; + rotation = "0.0369194 0.189577 0.981171 161.351"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-332 -140 242.689"; + rotation = "-0.0286854 0.0562031 0.998007 101.112"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 -100 220.002"; + rotation = "-0.124114 0.125319 0.984323 212.51"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-60 -140 252.502"; + rotation = "0.0856221 -0.0194645 0.996138 129.172"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 -196 268.533"; + rotation = "-0.193507 -0.273939 0.942079 55.7788"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 108 259.314"; + rotation = "0.122627 0.304065 -0.944726 92.2571"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-132 -508 271.486"; + rotation = "0.600167 -0.0090163 -0.799824 17.4552"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -68 161.205"; + rotation = "0.553183 0.249892 -0.794697 23.7828"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-364 36 263.502"; + rotation = "-0.220423 -0.0972801 0.970541 114.567"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-252.001 -331.995 231.669"; + rotation = "-0.143908 0.215514 0.965839 231.426"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 -364 220.97"; + rotation = "-0.219444 -0.12916 0.967038 227.566"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 -228 265.267"; + rotation = "-0.206568 -0.00898692 0.978391 85.2464"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-244 -340 236.189"; + rotation = "0.516892 -0.122113 -0.847296 53.2197"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-444 -468 217.564"; + rotation = "0.117218 -0.0287191 0.992691 226.694"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-540 116 160.127"; + rotation = "-0.0307647 -0.213538 -0.97645 102.337"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-260 -12 227.955"; + rotation = "-0.25699 -0.12858 -0.957822 111.317"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-628 -60 156.361"; + rotation = "0.214392 0.369106 0.904321 49.2191"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 132 245.002"; + rotation = "0.139914 -0.0565835 0.988546 80.6507"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-620 -492 209.017"; + rotation = "0.294558 -0.0183747 0.955457 37.563"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -20 188.752"; + rotation = "0.0721596 0.263584 -0.961934 63.9811"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-612 -476 205.127"; + rotation = "0.30191 0.355116 0.884728 43.6282"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-644 -188 153.33"; + rotation = "0.109385 0.0182621 0.993832 224.75"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -20 260.689"; + rotation = "0.154024 -0.154196 0.975961 211.269"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-428 -204 265.314"; + rotation = "-0.0175707 0.274211 0.961509 125.844"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-231.046 157.459 275.245"; + rotation = "0 0 1 187.93"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-274.236 -377.613 289.89"; + rotation = "0.00939388 -0.0499769 0.998706 158.736"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-224.095 85.9978 273.514"; + rotation = "0.4669 0.0970781 -0.878966 26.6175"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-267.724 -455.853 291.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-261.355 -387.101 274.946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "23"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-260.625 -386.811 274.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "23"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "-275.364 -396.107 284.769"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2051541"; + wasDisabled = "0"; + Target = "33"; + Trigger = "4310"; + team = "1"; + lastDamagedBy = "37951"; + lastDamagedByTeam = "2"; + repairedBy = "37951"; + soiledByEnemyRepair = "1"; + }; + new InteriorInstance() { + position = "-262.818 -351.176 256.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-201.872 -282.001 229.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-275.562 -208.063 284.815"; + rotation = "0 0 -1 16.6158"; + scale = "1 1 1"; + nameTag = "\x01679"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-254.27 -396.95 284.819"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "1585210"; + Target = "35"; + Trigger = "4315"; + team = "1"; + lastDamagedBy = "37951"; + lastDamagedByTeam = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-253.737 -381.427 284.827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + damageTimeMS = "1595967"; + Target = "36"; + Trigger = "4317"; + team = "1"; + lastDamagedBy = "37951"; + lastDamagedByTeam = "1"; + locked = "true"; + }; + new SimGroup() { + + powerCount = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-229.661 96.1243 258.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "23"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-234.497 93.0597 258.637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "23"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new InteriorInstance() { + position = "-184.84 -26.4323 213.682"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "-235.691 58.2761 240.592"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-244.136 104.027 268.564"; + rotation = "-0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "4325"; + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-263.645 -107.205 268.576"; + rotation = "0 0 1 192.605"; + scale = "1 1 1"; + nameTag = "\x01679"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "-244.542 88.4934 268.586"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + damageTimeMS = "1894460"; + Target = "39"; + Trigger = "4328"; + team = "2"; + lastDamagedBy = "37951"; + lastDamagedByTeam = "2"; + locked = "true"; + }; + new StaticShape() { + position = "-223.086 103.52 268.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "1882964"; + wasDisabled = "0"; + Target = "40"; + Trigger = "4330"; + team = "2"; + lastDamagedBy = "37951"; + lastDamagedByTeam = "2"; + repairedBy = "37951"; + soiledByEnemyRepair = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-274.727 -111.78 269.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(AudioCreatures) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-181.351 9.15497 201.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-259.975 -299.322 218.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-124.385 -298.592 189.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-643.034 -429.199 190.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new Lightning() { + position = "-274.935 -143.111 353.049"; + rotation = "1 0 0 0"; + scale = "512 512 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "12"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-270.646 -148.906 353.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.9"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/TempleTussleVersion2.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/TempleTussleVersion2.mis new file mode 100644 index 00000000..54363bc2 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/TempleTussleVersion2.mis @@ -0,0 +1,976 @@ +// DisplayName = _TempleTussle Version II +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//A sacred temple will be tainted by the blood of your enemies. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "3"; + CTF_scoreLimit = "3"; + powerCount = "0"; + Retrieve_scoreLimit = "5"; + musicTrack = "volcanic"; + + new MissionArea(MissionArea) { + area = "-448 -880 336 304"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "40 760 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "12"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "175"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "150"; + fogColor = "0.100000 0.000000 0.000000 0.000000"; + fogVolume1 = "65 0 190"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.07992e-05 1.53482e-19"; + high_fogVolume2 = "-1 6.6763e-07 6.92882e+11"; + high_fogVolume3 = "-1 5.45963e-35 1.59646e-34"; + + cloudSpeed0 = "0.000000 0.000400"; + locked = "true"; + }; + new Sun() { + position = "40 760 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet2"; + terrainFile = "Rasp.ter"; + squareSize = "8"; + emptySquares = "148783 214574 83507 214830 83763"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + XDimOverSize = "0"; + GraphFile = "TempleTussle.nav"; + locked = "true"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-322.557 -824.09 242.556"; + rotation = "0.67548 -0.238942 0.697591 53.7776"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-285.327 -786.933 264.196"; + rotation = "0.731733 -0.326772 0.598152 73.4891"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-252.126 -781.2 206.801"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-342.824 -766.456 219.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-323.671 -766.164 220.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-358.216 -783.051 219.801"; + rotation = "-0 0 -1 89.9543"; + scale = "3.79139 1 2.59669"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-341.198 -774.67 251.563"; + rotation = "-0 0 -1 89.9543"; + scale = "1.69904 3.22497 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-341.196 -788.464 251.566"; + rotation = "-0 0 -1 89.9543"; + scale = "1.80133 3.22497 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-358.216 -783.051 240.537"; + rotation = "-0 0 -1 89.9543"; + scale = "3.79139 1 2.59669"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-344.63 -770.33 224.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01691"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + inUse = "Down"; + team = "1"; + Trigger = "5409"; + notReady = "1"; + }; + new StaticShape() { + position = "-338.057 -770.277 224.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01692"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + team = "1"; + Trigger = "5411"; + }; + new StaticShape() { + position = "-351.77 -771.116 223.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "\x01693"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + inUse = "Down"; + team = "1"; + Trigger = "5413"; + notReady = "1"; + }; + new InteriorInstance() { + position = "-332.459 -772.812 228.247"; + rotation = "-0 0 -1 89.9543"; + scale = "0.364458 0.1 0.245054"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-349.547 -781.787 194.298"; + rotation = "0 0 1 90.1366"; + scale = "1 1 1"; + nameTag = "\x01694"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + team = "1"; + }; + new InteriorInstance() { + position = "-332.586 -791.531 228.611"; + rotation = "-0 0 -1 89.9543"; + scale = "0.364458 0.1 0.245054"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-332.95 -790.847 228.039"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + new ParticleEmissionDummy() { + position = "-332.822 -772.128 227.675"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "MissileFireEmitter"; + velocity = "1"; + + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-340.875 -797.05 222.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + new SpawnSphere() { + position = "-321.722 -797.958 224.818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-337.918 -792.935 224.639"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "\x01695"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + team = "2"; + Trigger = "5425"; + }; + new StaticShape() { + position = "-345.178 -793.154 224.343"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "\x01696"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "2"; + Trigger = "5427"; + }; + new StaticShape() { + position = "-351.486 -793.282 223.928"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "\x01697"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "2"; + Trigger = "5429"; + }; + }; + new StaticShape() { + position = "-218.684 -837.656 163.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + team = "2"; + }; + }; + new SimGroup(team0) { + + powerCount = "1"; + + new Item() { + position = "-236.973 -781.719 238.512"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-238.453 -781.779 238.529"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-237.019 -783.267 238.516"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-235.464 -781.695 238.504"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-236.97 -780.24 238.524"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-291.002 -773.955 211.538"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-290.88 -789.427 211.606"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-277.926 -774.037 259.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-277.985 -789.366 259.547"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-316.808 -782.365 256.619"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-317.287 -782.722 256.571"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-317.256 -782.076 256.602"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-316.788 -780.426 256.563"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-317.264 -780.019 256.563"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-317.232 -780.682 256.573"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-317.327 -781.446 256.06"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-247.692 -786.966 261.742"; + rotation = "-0.00460242 -0.999975 0.00539022 90.0925"; + scale = "1.44573 0.926853 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-247.601 -776.384 261.559"; + rotation = "-0.00460269 -0.999975 0.00543975 89.5194"; + scale = "1.47409 0.926853 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "-258.737 -781.999 256.583"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-258.763 -780.761 256.572"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-258.748 -783.122 256.596"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-194.504 -788.08 183.102"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-240.815 -787.381 178.616"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-222.723 -788.534 183.12"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new ForceFieldBare() { + position = "-355.675 -781.406 223.89"; + rotation = "1 0 0 0"; + scale = "42.462 1 30.2382"; + dataBlock = "defaultSolidFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + team = "0"; + }; + new Item() { + position = "-240.671 -776.217 178.599"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-277.532 -756.995 256.519"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-286.5 -736.329 256.651"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-267.898 -736.839 256.6"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-354.177 -777.899 172.539"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-351.457 -777.909 172.592"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-352.852 -777.904 172.559"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-263.139 -792.583 189.069"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-262.99 -771.722 189.059"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-268.775 -828.135 240.058"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-286.686 -827.869 240.067"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "-295.859 -736.324 132.887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "0"; + }; + new InteriorInstance() { + position = "-238.323 -782.089 214.963"; + rotation = "0 -1 0 90.5273"; + scale = "1 1.20883 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-294.57 -795.724 198.325"; + rotation = "-0.703845 0.000565741 0.710353 180.064"; + scale = "1 1.20883 1.52464"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-188.285 -801.614 219.606"; + rotation = "-0.00495107 -0.999975 0.0049999 90.5288"; + scale = "1 1.20883 1.65979"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(NonTeamSpecific) { + + powerCount = "0"; + + new SimGroup(RocksnSpires) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-277.966 -782.132 196.554"; + rotation = "0 0 1 180.091"; + scale = "1.5 1.5 1.5"; + interiorFile = "pbase3.dif"; + showTerrainInside = "1"; + AudioProfile = "Universal_Base_2"; + + locked = "false"; + }; + }; + new InteriorInstance() { + position = "-343.672 -750.099 225.513"; + rotation = "1 0 0 0"; + scale = "1.16427 1.26931 0.1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Tenebrous.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Tenebrous.mis new file mode 100644 index 00000000..dce172f6 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Tenebrous.mis @@ -0,0 +1,1036 @@ +// DisplayName = Tenebrous +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Don't be humble. You're not that great. +// -- Golda Meir +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Arena]Hunt in packs to survive +//[Arena]Low visibility makes for poor sniping +//Map by BooT +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + Arena_timeLimit = "20"; + Arena_scoreLimit = "9"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-208 56 544 720"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "120 32 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.300000 0.000000"; + fogDistance = "50"; + fogColor = "0.350000 0.350000 0.350000 1.000000"; + fogVolume1 = "150 0 54"; + fogVolume2 = "275 54 60"; + fogVolume3 = "1500 60 300"; + materialList = "lush_dark.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -190776.046875"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -62109.015625"; + locked = "true"; + cloudSpeed0 = "0.000000 0.000700"; + }; + new Lightning() { + position = "732.641 394.641 355.675"; + rotation = "0 0 -1 90"; + scale = "2000 500 300"; + dataBlock = "DefaultStorm"; + lockCount = "0"; + homingCount = "0"; + strikesPerMinute = "2"; + strikeWidth = "2.5"; + chanceToHitTarget = "0.5"; + strikeRadius = "20"; + boltStartRadius = "20"; + color = "1.000000 1.000000 1.000000 1.000000"; + fadeColor = "0.100000 0.100000 1.000000 1.000000"; + useFog = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + position = "120 32 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Reversion.ter"; + squareSize = "8"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + locked = "true"; + scale = "1 1 1"; + GraphFile = "Tenebrous.nav"; + }; + new Item() { + position = "11.3323 433.231 88.3324"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "117.177 176.545 155.359"; + rotation = "0.125021 0.171193 -0.977273 108.969"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "-108.864 431.378 183.636"; + rotation = "0.231676 -0.239811 0.942771 95.3461"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + new Camera() { + position = "92.3147 653.205 131.137"; + rotation = "0.297005 0.18623 -0.93654 67.6058"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + locked = "true"; + }; + }; + new SimGroup(teamS) { + powerCount = "0"; + + new SimGroup(Team0) { + powerCount = "0"; + + new SimGroup(AIObjectives) { + powerCount = "0"; + }; + }; + new SimGroup(Team1) { + powerCount = "1"; + + new InteriorInstance() { + position = "35.5548 729.641 75.7046"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "17.6 727.046 80.2239"; + rotation = "0 0 -1 4.01071"; + scale = "1 0.501338 0.815202"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "54.7058 730.72 80.296"; + rotation = "0 0 -1 3.43793"; + scale = "1 0.501338 0.815202"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "36.2821 721.016 92.5828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "33"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "33.0017 734.587 101.7"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "34"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3351"; + }; + new StaticShape() { + position = "38.1604 735.021 101.8"; + rotation = "0 0 1 173.789"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "35"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3353"; + }; + new StaticShape() { + position = "52.3124 732.651 101.79"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "36"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3355"; + }; + new StaticShape() { + position = "18.3069 730.615 101.7"; + rotation = "0 0 -1 94.7206"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "37"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3357"; + }; + new StaticShape() { + position = "12.8899 728.256 88.43"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "38"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3359"; + }; + new StaticShape() { + position = "58.8803 731.102 88.43"; + rotation = "0 0 -1 92.49"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "39"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "1"; + Trigger = "3361"; + }; + new StaticShape() { + position = "32.0435 722.67 119.717"; + rotation = "0.799837 -0.0240023 -0.599738 5.72901"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "128059"; + Target = "-1"; + lastDamagedByTeam = "1"; + locked = "true"; + lastDamagedBy = "3327"; + team = "1"; + }; + new StaticShape() { + position = "40.0624 723.174 119.741"; + rotation = "0.799837 -0.0240023 -0.599738 5.72901"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + damageTimeMS = "128059"; + Target = "-1"; + lastDamagedByTeam = "1"; + locked = "true"; + lastDamagedBy = "3327"; + team = "1"; + }; + new StaticShape() { + position = "37.41 700.474 82.2908"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + team = "1"; + }; + new WayPoint() { + position = "36.0272 722.667 101.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + locked = "true"; + }; + new SimGroup(Spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "36.6344 702.346 103.085"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "35.9489 724.401 113.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "26.7442 732.053 115.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "48.3479 733.856 113.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "0.690845 726.595 95.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + new SpawnSphere() { + position = "68.3937 731.846 94.996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "1"; + + new InteriorInstance() { + position = "34.3334 102.234 95.3129"; + rotation = "0 0 1 5.72928"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "34.9473 111.644 111.835"; + rotation = "0 0 1 185.638"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + Target = "40"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "17.4553 101.754 121.348"; + rotation = "0 0 -1 79.8237"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "41"; + locked = "true"; + team = "2"; + Trigger = "3377"; + }; + new StaticShape() { + position = "51.1218 98.46 121.358"; + rotation = "0 0 1 96.2569"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "42"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "2"; + Trigger = "3379"; + }; + new StaticShape() { + position = "36.0631 97.0407 121.292"; + rotation = "0 0 1 14.324"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "43"; + locked = "true"; + team = "2"; + Trigger = "3381"; + }; + new StaticShape() { + position = "30.927 97.3548 121.28"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "44"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "2"; + Trigger = "3383"; + }; + new StaticShape() { + position = "11.4701 104.504 108.05"; + rotation = "0 0 1 94.538"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "45"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "2"; + Trigger = "3385"; + }; + new StaticShape() { + position = "56.3307 100.022 108.1"; + rotation = "0 0 -1 78.4952"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + Target = "46"; + locked = "true"; + inUse = "Down"; + notReady = "1"; + team = "2"; + Trigger = "3387"; + }; + new StaticShape() { + position = "39.0395 108.55 139.243"; + rotation = "0.00138669 -0.0450179 0.998985 185.633"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "30.9557 109.275 139.249"; + rotation = "0.00161218 -0.045022 0.998985 186.205"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "37.299 131.288 102.003"; + rotation = "0 0 1 186.212"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + Target = "-1"; + locked = "true"; + team = "2"; + }; + new WayPoint() { + position = "35.0065 108.874 121.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + locked = "true"; + }; + new InteriorInstance() { + position = "15.4876 103.554 99.8317"; + rotation = "0 0 1 5.72969"; + scale = "1 0.501338 0.815202"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "52.4363 100.863 99.8441"; + rotation = "0 0 1 5.72969"; + scale = "1 0.501338 0.815202"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + locked = "true"; + team = "2"; + }; + new SimGroup(Spawnspheres) { + powerCount = "1"; + + new SpawnSphere() { + position = "37.1444 129.494 122.637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "15"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "34.4637 103.637 133.985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "45.5224 95.7942 134.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "22.9647 96.8756 134.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + locked = "true"; + }; + new SpawnSphere() { + position = "-0.12859 104.538 116.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + new SpawnSphere() { + position = "65.3648 97.7761 115.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + locked = "true"; + }; + }; + }; + }; + new InteriorInstance() { + position = "171.07 214.29 78.0362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new SimGroup(AudioCreatures) { + powerCount = "0"; + + new AudioEmitter() { + position = "-130.021 -605.67 103.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-165.416 109.665 86.4439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "25000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "228.243 467.01 91.5886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + new AudioEmitter() { + position = "-576.167 203.734 99.8476"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "30000"; + type = "EffectAudioType"; + locked = "true"; + }; + }; + new SimGroup(Rocks) { + powerCount = "0"; + + new InteriorInstance() { + position = "-430.596 222.191 64.7917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "442.715 408.565 70.6079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-143.789 543.163 94.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-264.882 155.907 98.7295"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "632.608 418.948 79.3764"; + rotation = "0 0 1 177.617"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "612.695 -12.5919 117.781"; + rotation = "0 0 1 192.696"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "382.643 412.75 71.9031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "170.048 579.017 72.7536"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-194.801 -126.726 102.882"; + rotation = "0 0 1 51.5662"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "447.739 584.203 93.1733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-75.212 360.737 72.5413"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "181.954 260.956 52.5766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "411.273 81.0008 86.4959"; + rotation = "0.0889925 0.376956 0.921946 175.725"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + }; + new AudioEmitter() { + position = "-355.854 -192.013 82.2533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + locked = "true"; + }; + new InteriorInstance() { + position = "12.4386 434.341 86.7051"; + rotation = "0 0 -1 4.0109"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "12.4057 434.475 88.3241"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "13.3656 435.651 88.2963"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "11.9387 440.286 88.4019"; + rotation = "0 0 1 85.3706"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "14.6413 428.853 88.1483"; + rotation = "0 0 -1 5.72956"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "10.9492 428.61 88.1429"; + rotation = "0 0 -1 5.15661"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new InteriorInstance() { + position = "-42.9701 651.84 40.7433"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "-43.0798 651.666 61.9148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "171.1 214.28 78.9605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + Target = "-1"; + locked = "true"; + }; + new TSStatic() { + position = "87.8728 188.788 79.607"; + rotation = "0 0 1 100.268"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + locked = "true"; + }; + new TSStatic() { + position = "283.409 328.245 56.1943"; + rotation = "0 0 -1 69.3279"; + scale = "1.19615 1.14844 0.621593"; + shapeName = "borg17.dts"; + locked = "true"; + }; + new TSStatic() { + position = "300.713 375.157 50.7258"; + rotation = "0 0 -1 30.3667"; + scale = "0.665111 0.629246 0.952419"; + shapeName = "borg18.dts"; + locked = "true"; + }; + new TSStatic() { + position = "188.695 621.725 75.1358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + locked = "true"; + }; + new TSStatic() { + position = "-10.7487 761.903 80.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/TrueGrit.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/TrueGrit.mis new file mode 100644 index 00000000..bc00d1cb --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/TrueGrit.mis @@ -0,0 +1,1426 @@ +// MissionTypes = Arena +// DisplayName = True Grit + +//--- MISSION QUOTE BEGIN --- +//Far from the front lines of war lies San Puejo, a sparcely populated town situated in the middle of the desert. +//Two bands of bandits are attacking a prominent ranch on the outskirts of town in an attempt to loot it of its valuables. This town ain't big enough for them both though... +//Objective: Round yerself up some of them varmits +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//Email: flyingelmo@teamfusion.org +//Download This Map +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + cdTrack = "4"; + CTF_scoreLimit = "10"; + powerCount = "0"; + musicTrack = "badlands"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-176 -250 275 226"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + locked = "false"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "Training2.ter"; + squareSize = "8"; + emptySquares = "150887 151143 154232 154488"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + position = "0 0 0 1"; + scale = "1 1 1"; + YDimOverSize = "0"; + locked = "true"; + conjoinBowlDev = "20"; + coverage = "0"; + GraphFile = "Minotaur.nav"; + }; + new SimGroup(Organic) { + powerCount = "0"; + + new TSStatic() { + position = "-121.285 -184.782 129.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-128.283 -153.944 129.124"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "33.1315 -188.429 129.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "47.3859 -119.65 129.308"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "5.73647 -188.775 129.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "13.5588 -148.5 129.342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-4.60817 -125.874 129.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "4.53303 -115.748 129.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "12.4452 -79.841 129.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-102.977 -91.4468 129.452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-91.2163 -118.5 129.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-102.002 -133.455 129.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-96.105 -144.655 129.451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-105.086 -181.286 129.426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-84.7031 -207.507 129.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-45.4168 -194.846 129.151"; + rotation = "1 0 0 0"; + scale = "1.81742 1.67619 1.34693"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-23.1346 -139.913 128.965"; + rotation = "1 0 0 0"; + scale = "1.81742 1.67619 1.34693"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-54.8861 -63.6158 129.766"; + rotation = "1 0 0 0"; + scale = "1.81742 1.67619 1.34693"; + shapeName = "porg3.dts"; + }; + new SimGroup() { + powerCount = "0"; + }; + new InteriorInstance() { + position = "-47.4025 -95.2917 181.814"; + rotation = "-0.000562883 0.706825 0.707388 179.935"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.4965 -82.8663 186.342"; + rotation = "0 0 1 89.9544"; + scale = "0.355849 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.7848 -188.034 186.924"; + rotation = "0 0 -1 90.5273"; + scale = "0.409258 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.9813 -175.823 182.396"; + rotation = "-0.999975 -0.00499988 -0.00500943 89.9559"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "29.5352 -220.729 95.9449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "-104.028 -19.0485 98.0585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + team = "0"; + }; + new TSStatic() { + position = "-92.0799 -244.198 97.3343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "-235.549 -165.041 97.2378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + team = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-50.1818 -110.094 316.191"; + rotation = "0.00763115 -0.706805 0.707368 179.125"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-45.4073 -210.728 134.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-181.181 -203.26 245.441"; + rotation = "0.450978 -0.309536 0.837142 78.6962"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "57.869 -115.877 133.06"; + rotation = "0 0 1 235.095"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-145.153 -186.389 129.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-140.22 -155.632 129.453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + providesPower = "1"; + powerCount = "2"; + + new StaticShape() { + position = "-148.591 -154.792 129.542"; + rotation = "0 0 -1 22.9183"; + scale = "1 1 1"; + nameTag = "Im the sheriff"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + notReady = "1"; + Target = "33"; + inUse = "Down"; + Trigger = "7202"; + }; + new StaticShape() { + position = "-146.593 -186.467 129.732"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "erm...yeah..."; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + notReady = "1"; + Target = "34"; + inUse = "Down"; + Trigger = "7204"; + }; + new StaticShape() { + position = "-136.303 -190.152 129.548"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + notReady = "1"; + Target = "35"; + inUse = "Down"; + Trigger = "7206"; + }; + new StaticShape() { + position = "-143.398 -151.966 129.515"; + rotation = "0 0 -1 22.9183"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + notReady = "1"; + Target = "36"; + inUse = "Down"; + Trigger = "7208"; + }; + new StaticShape() { + position = "-141.015 -162.545 119.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "48.0386 -154.263 129.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "50.5513 -128.756 129.439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base1) { + providesPower = "1"; + powerCount = "2"; + + new StaticShape() { + position = "47.9618 -135.536 129.427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "You can be on top"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "38"; + Trigger = "7216"; + }; + new StaticShape() { + position = "40.4715 -134.612 129.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "RAWR"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "39"; + Trigger = "7218"; + }; + new StaticShape() { + position = "43.0638 -175.042 129.498"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "ow I have sand in my eyes"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "40"; + Trigger = "7220"; + }; + new StaticShape() { + position = "36.0983 -175.058 129.437"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "wtf you dont even have eyes"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "41"; + Trigger = "7222"; + }; + new StaticShape() { + position = "46.309 -157.131 122.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "42"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new Item() { + position = "-46.8886 -135.127 129.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-46.7076 -131.783 129.486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-46.8887 -138.111 129.537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-65.146 -36.3927 99.0187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-68.0879 -36.3529 99.2154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-136.432 -221.722 98.0494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + team = "0"; + }; + new Item() { + position = "-138.835 -219.573 98.4808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-139.985 -220.353 98.4422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-23.968 -226.977 99.7078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new Item() { + position = "-46.9839 -234.514 98.4437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-45.369 -233.939 98.3833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-44.2542 -234.457 98.2742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "33.8167 -49.9037 97.4904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + team = "0"; + }; + new Item() { + position = "31.7497 -46.1571 97.9178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "33.9115 -46.9095 97.9663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "34.0301 -44.9586 97.9704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "85.3436 -58.895 97.4052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "89.1587 -38.5169 97.0019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "-9.06524 -34.6437 97.5926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "-126.734 -29.814 97.0707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "-157.171 -75.5788 97.2345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + new TSStatic() { + position = "-173.224 -102.369 97.9486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + team = "0"; + }; + new TSStatic() { + position = "-168.402 -206.479 97.5138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + team = "0"; + }; + }; + }; + new SimGroup(Arena) { + powerCount = "0"; + + new InteriorInstance() { + position = "-84.8714 -80.5929 153.603"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8795 -91.0607 153.603"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8472 -110.382 153.603"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.9165 -100.106 153.603"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8412 -130.547 153.579"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.836 -139.587 153.591"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8331 -120.079 153.579"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8197 -150.085 153.579"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8253 -170.22 153.62"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8366 -179.128 153.59"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8172 -159.753 153.62"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.8412 -189.624 153.588"; + rotation = "1 0 0 0"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.4379 -88.4447 187.119"; + rotation = "0 -1 0 34.9505"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.4018 -107.76 187.119"; + rotation = "0 -1 0 34.9505"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.404 -147.463 187.119"; + rotation = "0 -1 0 34.9505"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.4005 -127.941 187.119"; + rotation = "0 -1 0 34.9505"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.4026 -167.589 187.12"; + rotation = "0 -1 0 34.9505"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.4044 -187.002 187.119"; + rotation = "0 -1 0 34.9505"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-32.6324 -82.3966 187.12"; + rotation = "-0.300294 -0.000239235 0.953847 179.913"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-32.6485 -101.673 187.11"; + rotation = "-0.300294 -0.000239235 0.953847 179.913"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-32.6469 -141.415 187.119"; + rotation = "-0.300294 -0.000239235 0.953847 179.913"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-32.6479 -122.044 187.12"; + rotation = "-0.300294 -0.000239235 0.953847 179.913"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-32.6477 -161.487 187.119"; + rotation = "-0.300294 -0.000239235 0.953847 179.913"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-32.6313 -181.1 187.12"; + rotation = "-0.300294 -0.000239235 0.953847 179.913"; + scale = "0.506622 0.756436 2.55666"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.1997 -79.7383 153.589"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.22152 -109.473 153.609"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.18761 -90.2333 153.591"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.23003 -99.0052 153.609"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.23648 -119.386 153.58"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.20167 -149.239 153.579"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.17272 -129.877 153.58"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.21027 -138.771 153.579"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.38057 -169.103 153.603"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.2064 -158.829 153.603"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.19384 -178.446 153.604"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.18531 -188.914 153.604"; + rotation = "0 0 1 179.909"; + scale = "0.506622 0.1 1.58679"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.0193 -90.9202 185.893"; + rotation = "1 0 0 0"; + scale = "3.59633 2.89465 0.151943"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.0169 -117.928 185.893"; + rotation = "1 0 0 0"; + scale = "3.59633 3.8913 0.151943"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.0167 -177.335 185.894"; + rotation = "1 0 0 0"; + scale = "3.59633 3.21469 0.151943"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.0191 -149.047 185.894"; + rotation = "1 0 0 0"; + scale = "3.59633 3.8913 0.151943"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.8293 -159.211 145.523"; + rotation = "0.5727 0.574067 0.585202 119.288"; + scale = "0.506622 0.128437 1.92826"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.8781 -128.385 146.162"; + rotation = "0.5727 0.574067 0.585202 119.288"; + scale = "0.506622 0.128437 1.92826"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.955 -79.3956 147.18"; + rotation = "0.5727 0.574067 0.585202 119.288"; + scale = "0.506622 0.128437 3.06289"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.2544 -159.105 145.479"; + rotation = "0.5727 0.574067 0.585202 119.288"; + scale = "0.506622 0.128437 1.92826"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.3801 -79.2892 147.136"; + rotation = "0.5727 0.574067 0.585202 119.288"; + scale = "0.506622 0.128437 3.06289"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.3033 -128.279 146.118"; + rotation = "0.5727 0.574067 0.585202 119.288"; + scale = "0.506622 0.128437 1.92826"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.0422 -184.225 129.073"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.0249"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.0716 -164.384 129.204"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.0249"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.0673 -144.327 129.3"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.06557"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.0188 -125.045 129.276"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.15907"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.1706 -104.691 129.36"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.15907"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.0394 -85.4461 129.229"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.23911"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-83.9258 -183.892 129.022"; + rotation = "1 0 0 0"; + scale = "0.15246 1.15363 2.0249"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.0478 -164.598 129.153"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.0249"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.0435 -144.541 129.249"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.06557"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-83.9831 -124.865 129.225"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.15907"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.1468 -104.905 129.309"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.15907"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-83.9626 -85.4016 129.178"; + rotation = "1 0 0 0"; + scale = "0.15246 1.12314 2.23911"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-35.3728 -165.298 174.504"; + rotation = "0 0 -1 89.9544"; + scale = "0.555016 2.76538 0.139466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-35.8304 -105.62 174.579"; + rotation = "0 0 -1 89.9544"; + scale = "0.555016 2.78956 0.139466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.6964 -149.059 174.483"; + rotation = "1 0 0 0"; + scale = "0.555016 3.63111 0.139466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-60.4536 -162.997 161.469"; + rotation = "1 0 0 89.9544"; + scale = "0.555016 2.74761 0.139466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.8693 -163.084 162.122"; + rotation = "1 0 0 89.9544"; + scale = "0.555016 2.74761 0.13758"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.2757 -103.403 161.422"; + rotation = "1 0 0 89.9544"; + scale = "0.555016 2.74761 0.13758"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-60.8921 -103.478 161.378"; + rotation = "1 0 0 89.9544"; + scale = "0.555016 2.74761 0.139466"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.35 -102.106 132.118"; + rotation = "-0.577503 0.577504 0.577044 119.947"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.346 -102.106 130.583"; + rotation = "-0.577503 0.577504 0.577044 119.947"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.32 -132.152 132.132"; + rotation = "-0.577503 0.577504 0.577044 119.947"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.323 -132.156 130.597"; + rotation = "-0.577503 0.577504 0.577044 119.947"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.578 -189.301 131.891"; + rotation = "-0.577503 0.577504 0.577044 119.947"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.581 -189.305 130.356"; + rotation = "-0.577503 0.577504 0.577044 119.947"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.341 -117.148 130.992"; + rotation = "-0.000397483 1 -0.000400602 89.9998"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.308 -147.256 131.009"; + rotation = "-0.000397483 1 -0.000400602 89.9998"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.42 -87.0594 131.039"; + rotation = "-0.000397483 1 -0.000400602 89.9998"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.597 -174.219 130.662"; + rotation = "-0.000397483 1 -0.000400602 89.9998"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.573 -204.399 131.071"; + rotation = "-0.000397483 1 -0.000400602 89.9998"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.282 -152.297 130.58"; + rotation = "0.628528 -0.458653 -0.628164 229.325"; + scale = "1.29374 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.599 -169.168 130.405"; + rotation = "-0.510522 0.692313 0.509971 110.578"; + scale = "1.29374 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.4551 -164.076 129.978"; + rotation = "0.636456 -0.427246 0.642172 133.431"; + scale = "1.29374 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.1361 -146.869 130.682"; + rotation = "0.500962 -0.702317 0.505755 109.415"; + scale = "1.29374 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.4311 -198.971 130.774"; + rotation = "-0.000403969 -1 0.000397468 89.5185"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.4517 -168.791 130.908"; + rotation = "-0.000403969 -1 0.000397468 89.5185"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.279 -81.6315 131.271"; + rotation = "-0.000403969 -1 0.000397468 89.5185"; + scale = "0.442606 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.1656 -141.828 131.428"; + rotation = "-0.000403969 -1 0.000397468 89.5185"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.1985 -111.72 131.446"; + rotation = "-0.000403969 -1 0.000397468 89.5185"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.4025 -183.86 131.867"; + rotation = "0.575265 -0.576189 0.580583 119.722"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.4131 -183.867 130.332"; + rotation = "0.575265 -0.576189 0.580583 119.722"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.1772 -126.728 132.397"; + rotation = "0.575265 -0.576189 0.580583 119.722"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.1871 -126.724 130.862"; + rotation = "0.575265 -0.576189 0.580583 119.722"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.2001 -96.6781 132.442"; + rotation = "0.575265 -0.576189 0.580583 119.722"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.217 -96.6781 130.907"; + rotation = "0.575265 -0.576189 0.580583 119.722"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-85.3696 -220.728 131.218"; + rotation = "-0.432565 0.791057 -0.432569 103.308"; + scale = "0.410449 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-98.0403 -212.579 130.433"; + rotation = "-0.923826 0.271059 0.270321 94.5213"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-98.042 -212.574 131.968"; + rotation = "-0.923826 0.271059 0.270321 94.5213"; + scale = "3.73441 0.1 0.1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.600000 0.500000 0.400000 0.000000"; + fogDistance = "300"; + fogColor = "0.500000 0.400000 0.300000 1.000000"; + fogVolume1 = "100 0 135"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + cloudSpeed0 = "0.0000003 0.0000003"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/UporDown.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/UporDown.mis new file mode 100644 index 00000000..d84648b4 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/UporDown.mis @@ -0,0 +1,1147 @@ +// DisplayName = _UporDown +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//There exist only two realities in battle: victory or defeat. Pick wisely. +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-664 -216 304 480"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-767 -101.6 61.8114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "0.500000 0.500000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Haven.ter"; + squareSize = "8"; + + visibleDistance = "850"; + hazeDistance = "150"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "Haven.nav"; + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + XDimOverSize = "0"; + locked = "true"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-526.981 192.519 131.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos1 = "-549.481 162.519 119.853"; + spawnPos20 = "-526.981 177.519 126.719"; + spawnPos35 = "-556.981 200.019 122.016"; + spawnPos54 = "-519.481 215.019 128.517"; + spawnPos5 = "-519.481 162.519 120.852"; + spawnPos24 = "-556.981 185.019 121.705"; + spawnPos39 = "-519.481 200.019 130.396"; + spawnPos9 = "-549.481 170.019 121.237"; + spawnPos28 = "-556.981 192.519 122.006"; + spawnPos43 = "-541.981 207.519 125.171"; + spawnPos13 = "-519.481 170.019 124.602"; + spawnPos32 = "-519.481 192.519 130.039"; + spawnPos47 = "-511.981 207.519 130.246"; + spawnPos17 = "-549.481 177.519 122.661"; + spawnPos51 = "-541.981 215.019 124.432"; + spawnPos2 = "-541.981 162.519 120.627"; + spawnPos21 = "-519.481 177.519 127.242"; + spawnPos36 = "-549.481 200.019 123.715"; + spawnPos55 = "-511.981 215.019 128.955"; + spawnPos6 = "-511.981 162.519 119.396"; + spawnPos25 = "-549.481 185.019 123.486"; + spawnPos40 = "-504.481 200.019 129.601"; + spawnPos10 = "-541.981 170.019 122.578"; + spawnPos29 = "-549.481 192.519 123.745"; + spawnPos44 = "-534.481 207.519 126.859"; + spawnPos14 = "-511.981 170.019 123.573"; + spawnPos48 = "-504.481 207.519 129.243"; + spawnPos18 = "-541.981 177.519 124.335"; + spawnPos33 = "-511.981 192.519 130.248"; + spawnPos52 = "-534.481 215.019 125.965"; + spawnPos3 = "-534.481 162.519 120.964"; + spawnPos22 = "-511.981 177.519 126.765"; + spawnPos37 = "-541.981 200.019 125.488"; + spawnPos56 = "-504.481 215.019 127.986"; + spawnPos7 = "-504.481 162.519 116.749"; + spawnPos26 = "-534.481 185.019 126.964"; + spawnPos41 = "-556.981 207.519 121.839"; + spawnPos11 = "-534.481 170.019 123.738"; + spawnPos30 = "-541.981 192.519 125.524"; + spawnPos45 = "-526.981 207.519 128.477"; + spawnPos15 = "-504.481 170.019 121.155"; + spawnPos49 = "-556.981 215.019 121.249"; + spawnPos0 = "-556.981 162.519 119.639"; + spawnPos19 = "-534.481 177.519 125.682"; + spawnPos34 = "-504.481 192.519 128.998"; + spawnPos53 = "-526.981 215.019 127.344"; + spawnPos4 = "-526.981 162.519 121.333"; + spawnPos23 = "-504.481 177.519 124.726"; + spawnPos38 = "-534.481 200.019 127.292"; + spawnPos8 = "-556.981 170.019 119.648"; + spawnPos27 = "-504.481 185.019 127.292"; + spawnPos42 = "-549.481 207.519 123.461"; + spawnPos12 = "-526.981 170.019 124.502"; + spawnPos31 = "-534.481 192.519 127.34"; + spawnPos46 = "-519.481 207.519 129.791"; + spawnPos16 = "-556.981 177.519 121.001"; + spawnPos50 = "-549.481 215.019 122.852"; + spawnPosCount = "56"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-528.399 200.125 117.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + team = "1"; + }; + new Trigger() { + position = "-509.449 199.079 131.759"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "15047"; + station = "15047"; + team = "1"; + mainObj = "15047"; + }; + new StaticShape() { + position = "-546.778 188.365 128.871"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "10975"; + team = "1"; + }; + new Trigger() { + position = "-509.481 188.502 131.748"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "15045"; + station = "15045"; + team = "1"; + mainObj = "15045"; + }; + new StaticShape() { + position = "-546.763 198.942 128.86"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "10978"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new Trigger() { + position = "-509.449 199.079 131.759"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "14932"; + station = "14932"; + team = "1"; + mainObj = "14932"; + }; + new StaticShape() { + position = "-509.481 188.502 131.748"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "10981"; + team = "1"; + }; + new StaticShape() { + position = "-509.449 199.079 131.759"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "10983"; + team = "1"; + }; + new InteriorInstance() { + position = "-517.363 212.721 128.908"; + rotation = "1 0 0 179.909"; + scale = "1.79674 1.59326 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-495.786 212.62 131.826"; + rotation = "1 0 0 179.909"; + scale = "1.79674 1.59326 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-562.673 -131.563 125.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos1 = "-585.173 -161.563 117.031"; + spawnPos20 = "-562.673 -146.563 120.454"; + spawnPos35 = "-547.673 -131.563 122.238"; + spawnPos54 = "-577.673 -109.063 120.522"; + spawnPos5 = "-555.173 -161.563 119.947"; + spawnPos24 = "-592.673 -139.063 115.172"; + spawnPos39 = "-570.173 -124.063 121.594"; + spawnPos58 = "-547.673 -109.063 122.787"; + spawnPos9 = "-585.173 -154.063 117.003"; + spawnPos28 = "-540.173 -139.063 120.51"; + spawnPos43 = "-540.173 -124.063 121.32"; + spawnPos13 = "-555.173 -154.063 120.199"; + spawnPos32 = "-570.173 -131.563 121.216"; + spawnPos47 = "-570.173 -116.563 121.903"; + spawnPos17 = "-585.173 -146.563 116.713"; + spawnPos51 = "-540.173 -116.563 121.442"; + spawnPos2 = "-577.673 -161.563 118.263"; + spawnPos21 = "-555.173 -146.563 120.771"; + spawnPos36 = "-540.173 -131.563 121.173"; + spawnPos55 = "-570.173 -109.063 121.943"; + spawnPos6 = "-547.673 -161.563 120.101"; + spawnPos25 = "-585.173 -139.063 117.182"; + spawnPos40 = "-562.673 -124.063 122.506"; + spawnPos59 = "-540.173 -109.063 121.69"; + spawnPos10 = "-577.673 -154.063 118.135"; + spawnPos29 = "-592.673 -131.563 115.42"; + spawnPos44 = "-592.673 -116.563 115.646"; + spawnPos14 = "-547.673 -154.063 120.317"; + spawnPos48 = "-562.673 -116.563 122.863"; + spawnPos18 = "-577.673 -146.563 118.241"; + spawnPos33 = "-562.673 -131.563 122.096"; + spawnPos52 = "-592.673 -109.063 115.781"; + spawnPos3 = "-570.173 -161.563 118.984"; + spawnPos22 = "-547.673 -146.563 120.635"; + spawnPos37 = "-592.673 -124.063 115.426"; + spawnPos56 = "-562.673 -109.063 122.897"; + spawnPos7 = "-540.173 -161.563 120.008"; + spawnPos26 = "-555.173 -139.063 121.732"; + spawnPos41 = "-555.173 -124.063 122.782"; + spawnPos11 = "-570.173 -154.063 119.265"; + spawnPos30 = "-585.173 -131.563 117.67"; + spawnPos45 = "-585.173 -116.563 118.463"; + spawnPos15 = "-540.173 -154.063 119.855"; + spawnPos49 = "-555.173 -116.563 123.129"; + spawnPos0 = "-592.673 -161.563 115.943"; + spawnPos19 = "-570.173 -146.563 119.485"; + spawnPos34 = "-555.173 -131.563 122.446"; + spawnPos53 = "-585.173 -109.063 118.463"; + spawnPos4 = "-562.673 -161.563 119.566"; + spawnPos23 = "-540.173 -146.563 120.005"; + spawnPos38 = "-585.173 -124.063 118.125"; + spawnPos57 = "-555.173 -109.063 123.222"; + spawnPos8 = "-592.673 -154.063 115.74"; + spawnPos27 = "-547.673 -139.063 121.578"; + spawnPos42 = "-547.673 -124.063 122.558"; + spawnPos12 = "-562.673 -154.063 119.841"; + spawnPos31 = "-577.673 -131.563 119.722"; + spawnPos46 = "-577.673 -116.563 120.515"; + spawnPos16 = "-592.673 -146.563 115.23"; + spawnPos50 = "-547.673 -116.563 122.68"; + spawnPosCount = "59"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new StaticShape() { + position = "-561.376 -124.746 114.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "2"; + }; + new Trigger() { + position = "-542.426 -125.792 127.891"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "15047"; + station = "15047"; + team = "2"; + mainObj = "15047"; + }; + new StaticShape() { + position = "-579.755 -136.506 125.003"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "10993"; + team = "2"; + }; + new Trigger() { + position = "-542.458 -136.369 127.88"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "15045"; + station = "15045"; + team = "2"; + mainObj = "15045"; + }; + new StaticShape() { + position = "-579.74 -125.929 124.992"; + rotation = "-0 0 -1 89.564"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "10996"; + team = "2"; + }; + new Trigger() { + position = "-542.426 -125.792 127.891"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + disableObj = "14932"; + station = "14932"; + team = "2"; + mainObj = "14932"; + }; + new StaticShape() { + position = "-542.458 -136.369 125.323"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "10999"; + team = "2"; + }; + new StaticShape() { + position = "-542.426 -125.792 125.334"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "11001"; + team = "2"; + }; + new InteriorInstance() { + position = "-550.34 -112.15 125.04"; + rotation = "1 0 0 179.909"; + scale = "1.79674 1.59326 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-528.763 -112.251 125.401"; + rotation = "1 0 0 179.909"; + scale = "1.79674 1.59326 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-559.375 -134.885 104.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "-542.484 25.3244 117.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-545.758 25.2803 117.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-547.895 25.3151 117.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-549.899 25.445 118.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-538.849 25.2032 116.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-488.436 57.767 105.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-489.166 56.6599 105.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-487.685 56.6531 105.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-488.952 -61.9228 106.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-490.441 -63.9798 106.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-487.689 -63.9199 106.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-478.427 26.4126 83.8359"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-478.299 27.843 83.9052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-602.418 25.5616 113.549"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-602.332 24.3786 113.915"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-602.524 26.6367 113.133"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-629.779 24.553 239.293"; + rotation = "0.399134 -0.398816 0.825613 100.868"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-431.595 206.049 194.013"; + rotation = "-0.0678592 -0.232306 0.970273 211.648"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-543.081 205.531 167.351"; + rotation = "0.000150406 -0.188859 0.982004 179.91"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-380.942 28.3118 174.295"; + rotation = "0.23519 0.235753 -0.942924 93.5019"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-607.965 -121.274 157.968"; + rotation = "0.944632 -0.0425372 0.325364 15.7594"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-438.712 -123.745 88.6775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-594.499 129.909 103.358"; + rotation = "-0 0 -1 89.5639"; + scale = "1.21795 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-595.026 63.6394 117.197"; + rotation = "-0 0 -1 89.5639"; + scale = "1 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-491.431 -12.741 117.214"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-491.206 -78.6435 103.358"; + rotation = "0 0 1 89.7719"; + scale = "1.21795 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-580.868 29.2796 138.222"; + rotation = "0.707107 0.707107 -0.000563184 179.935"; + scale = "1 0.751031 1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-580.868 -14.7204 138.222"; + rotation = "0.707107 0.707107 -0.000563184 179.935"; + scale = "1 0.751031 1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-580.868 -58.5204 138.222"; + rotation = "0.707107 0.707107 -0.000563184 179.935"; + scale = "1 0.751031 1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-667.519 -1.72689 127.826"; + rotation = "0.345524 0.66342 0.663692 141.824"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-659.333 -93.7109 133.458"; + rotation = "-0.345747 0.664162 -0.662834 141.852"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-659.319 58.2181 133.601"; + rotation = "-0.345747 0.664162 -0.662834 141.852"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-667.505 150.202 127.969"; + rotation = "0.345524 0.66342 0.663692 141.824"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-375.916 -96.2056 88.3196"; + rotation = "-0.0040923 0.707663 -0.706538 179.594"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-376.097 -4.22151 78.3841"; + rotation = "0.00353443 0.707101 0.707104 179.531"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-376.025 55.7235 88.4135"; + rotation = "-0.0040923 0.707663 -0.706538 179.594"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-376.205 147.707 78.4795"; + rotation = "0.00353443 0.707101 0.707104 179.531"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.147 -3.41964 78.74"; + rotation = "0.00353443 0.707101 0.707104 179.531"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.069 56.1151 88.7694"; + rotation = "-0.0040923 0.707663 -0.706538 179.594"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-486.255 148.09 78.8354"; + rotation = "0.00353443 0.707101 0.707104 179.531"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-485.966 -95.4037 88.6755"; + rotation = "-0.0040923 0.707663 -0.706538 179.594"; + scale = "1 0.834017 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-584.842 155.666 129.072"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "700"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.500000 0.000000"; + fogDistance = "100"; + fogColor = "0.700000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_Red_1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 280678983068704309000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.82836e-39 1.82837e-39"; + high_fogVolume2 = "-1 2.66247e-44 1.73378e-37"; + high_fogVolume3 = "-1 7.86999e-39 2.16189e-39"; + + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new InteriorInstance() { + position = "-629.841 152.046 121.813"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-607.368 130.345 122.842"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.672 -104.078 130.566"; + rotation = "0.0192023 0.999815 -0.000793981 179.998"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-601.295 -81.5303 116.981"; + rotation = "0.0192023 0.999815 -0.000793981 179.998"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-624.777 -105.968 122.215"; + rotation = "0.0192023 0.999815 -0.000793981 179.998"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-562.515 5.31235 138.899"; + rotation = "0.000562938 0.707388 -0.706825 179.935"; + scale = "1.59238 1.12907 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-536.225 26.7197 136.294"; + rotation = "0.577503 0.577503 -0.577044 119.947"; + scale = "0.82702 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-550.512 6.89482 136.44"; + rotation = "-0.576276 0.578119 -0.577654 239.947"; + scale = "0.82702 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-523.783 45.4318 138.559"; + rotation = "1 5.72245e-07 6.18303e-06 90.0457"; + scale = "1.61239 1.12907 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-536.201 43.6825 136.1"; + rotation = "0.577814 0.57689 -0.577347 120"; + scale = "0.82702 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-550.357 23.967 136.213"; + rotation = "0.577808 -0.576889 0.577353 120"; + scale = "0.82702 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-527.509 -56.7444 81.8858"; + rotation = "1 0 0 0"; + scale = "0.1 1 1.06134"; + interiorFile = "procka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-492.506 61.7605 111.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-492.877 -59.2287 112.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-378.054 160.853 107.91"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-377.714 -84.0702 108.316"; + rotation = "1 0 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-603.814 213.575 108.773"; + rotation = "0.363347 0.930767 0.0406426 149.055"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-526.301 244.619 124.813"; + rotation = "0.33364 0.933583 -0.130793 200.995"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-407.751 240.617 75.0328"; + rotation = "-0.29755 0.890867 0.343249 170.068"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-553.423 -184.786 120.29"; + rotation = "0.246359 0.940046 0.23584 213.963"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-626.123 -155.144 110.768"; + rotation = "0.528791 0.844467 -0.0851789 174.511"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-406.501 -177.195 71.8626"; + rotation = "-0.145968 0.988694 0.034302 194.062"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + }; + new ScriptObject() { + class = "BonusData"; + + maxCategoryDatas = "4"; + totalValue = "15"; + categoryData3 = "17746"; + categoryData0 = "17653"; + Bonus = "FlagBonus"; + time = "2746431"; + categoryData1 = "17670"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WalledIn.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WalledIn.mis new file mode 100644 index 00000000..8012d259 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WalledIn.mis @@ -0,0 +1,937 @@ +// DisplayName = WalledIn +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//Description: 2 clans. 1 small arena. You do the math. +//Objective: Eliminate the opposing team. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Original Map: Gon +//T2 Port: FlyingElmo +//Email: flyingelmo@teamfusion.org +//Website: www.planettribes.com/elmo +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + powerCount = "0"; + CTF_scoreLimit = "5"; + cdTrack = "6"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-320 -425 424 238"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "-312 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.630000 0.000000"; + fogDistance = "320"; + fogColor = "0.600000 0.500000 0.430000 1.000000"; + fogVolume1 = "200 0 53"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_brown.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -70138839232381912800000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.003575"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 148037830649288698000000000000.000000"; + cloudSpeed0 = "0.000503 0.000020"; + locked = "true"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.600000 0.600000 0.600000 1.000000"; + scale = "1 1 1"; + position = "2 3 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DeathBirdsFly.ter"; + squareSize = "8"; + emptySquares = "342721 342977 343233 152643 152899 153155 87875 155203 155459 155715 155971 167323 167579 167835 102555 170139 170395 170651 380734 380990 381246 381502"; + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + scale = "1 1 1"; + coverage = "0"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + GraphFile = "WalledIn.nav"; + conjoinBowlDev = "20"; + locked = "true"; + }; + new SimGroup(Teams) { + powerCount = "0"; + + new SimGroup(Team1) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-3.35409 -307.437 82.1723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-2.74681 -315.609 82.7396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "2.47747 -309.188 80.2072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "3.2844 -314.348 81.8081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-4.71017 -320.393 83.5774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "4.41189 -320.247 83.5158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "11.7922 -311.321 81.2218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "15.1604 -301.206 82.9945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "16.5197 -296.792 81.6271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "14.6486 -315.537 82.6826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "14.2319 -323.982 83.7581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base0) { + powerCount = "1"; + + new InteriorInstance() { + position = "-5.90846 -311.014 72.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new TSStatic() { + position = "11.6186 -311.007 104.017"; + rotation = "0 0 -1 89.9544"; + scale = "1.01812 1.08175 1"; + shapeName = "bmiscf.dts"; + team = "1"; + }; + new InteriorInstance() { + position = "-37.9409 -304.237 103.511"; + rotation = "1 0 0 0"; + scale = "0.414386 0.435644 0.501718"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-37.9717 -321.169 103.568"; + rotation = "1 0 0 0"; + scale = "0.414386 0.435644 0.501718"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "-42.1913 -304.31 91.9511"; + rotation = "0 0 1 180.091"; + scale = "1 1.5745 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new InteriorInstance() { + position = "3.13138 -318.692 80.5082"; + rotation = "0 -1 0 89.9544"; + scale = "0.194118 1.81687 0.922408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "1"; + }; + new StaticShape() { + position = "-18.8922 -313.076 78.1781"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "33"; + }; + new ForceFieldBare() { + position = "5.05224 -326.994 80.3581"; + rotation = "1 0 0 0"; + scale = "4.05348 1 7.2266"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "34"; + }; + new ForceFieldBare() { + position = "5.10492 -297.003 80.5046"; + rotation = "1 0 0 0"; + scale = "4.05348 1 7.2266"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "35"; + }; + new ForceFieldBare() { + position = "-11.3336 -325.867 79.9548"; + rotation = "1 0 0 0"; + scale = "1 29.7005 7.61269"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "6.1649 -300.217 80.492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "37"; + inUse = "Down"; + Trigger = "3627"; + notReady = "1"; + }; + new StaticShape() { + position = "0.0664807 -299.865 80.4723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "38"; + inUse = "Down"; + Trigger = "3629"; + notReady = "1"; + }; + new StaticShape() { + position = "-6.15121 -299.88 80.472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "39"; + Trigger = "3631"; + }; + new StaticShape() { + position = "-0.0736936 -323.428 80.4579"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "flyingelmo@teamfusion.org"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "40"; + inUse = "Down"; + Trigger = "3633"; + notReady = "1"; + }; + new StaticShape() { + position = "-6.17257 -323.086 80.4776"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "41"; + Trigger = "3635"; + }; + new StaticShape() { + position = "6.14391 -323.403 80.4576"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "1"; + Target = "42"; + inUse = "Down"; + Trigger = "3637"; + notReady = "1"; + }; + }; + }; + new SimGroup(Team2) { + powerCount = "0"; + + new SimGroup(spawnspheres) { + powerCount = "0"; + + new SpawnSphere() { + position = "-223.206 -314.354 81.7619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-223.294 -306.138 82.4035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-230.675 -307.527 81.9699"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-229.588 -314.829 83.0974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-224.314 -299.998 81.1151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-234.312 -300.898 81.7849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-239.499 -311.005 80.8161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-242.311 -319.104 81.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-242.985 -324.429 83.4508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-241.874 -308.131 82.9621"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-241.268 -297.804 83.4348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(base1) { + powerCount = "1"; + + new InteriorInstance() { + position = "-221.061 -310.897 72.543"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-190.665 -321.213 103.617"; + rotation = "1 0 0 0"; + scale = "0.414386 0.435644 0.501718"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-190.652 -304.303 103.629"; + rotation = "1 0 0 0"; + scale = "0.414386 0.435644 0.501718"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new TSStatic() { + position = "-238.662 -310.859 104.034"; + rotation = "0 0 -1 89.9544"; + scale = "1.01812 1.08175 1"; + shapeName = "bmiscf.dts"; + team = "2"; + }; + new InteriorInstance() { + position = "-181.006 -304.531 90.7104"; + rotation = "0 0 1 180.091"; + scale = "1 1.5745 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new InteriorInstance() { + position = "-230.33 -303.168 80.5373"; + rotation = "-0.706819 -0.00409719 0.707382 179.53"; + scale = "0.194118 1.81687 0.922408"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "2"; + }; + new StaticShape() { + position = "-208.243 -308.528 78.1268"; + rotation = "-0 0 -1 0.754847"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "43"; + }; + new ForceFieldBare() { + position = "-232.048 -324.888 80.4533"; + rotation = "0 0 1 179.909"; + scale = "4.05348 1 7.2266"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-232.035 -294.921 80.3068"; + rotation = "0 0 1 179.336"; + scale = "4.05348 1 7.2266"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "45"; + }; + new ForceFieldBare() { + position = "-215.949 -295.826 79.9035"; + rotation = "0 0 1 179.336"; + scale = "1 29.7005 7.61269"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "-233.149 -321.677 80.5073"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Port by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "47"; + Trigger = "3659"; + }; + new StaticShape() { + position = "-227.047 -321.958 80.5126"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "48"; + Trigger = "3661"; + }; + new StaticShape() { + position = "-220.83 -321.871 80.4968"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "www.planettribes.com/elmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "49"; + Trigger = "3663"; + }; + new StaticShape() { + position = "-227.18 -298.395 80.4778"; + rotation = "-0 0 -1 0.754847"; + scale = "1 1 1"; + nameTag = "Tribes Arena"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "50"; + Trigger = "3665"; + }; + new StaticShape() { + position = "-221.078 -298.666 80.4887"; + rotation = "-0 0 -1 0.754847"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "51"; + Trigger = "3667"; + }; + new StaticShape() { + position = "-233.399 -298.493 80.4937"; + rotation = "-0 0 -1 0.754847"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + team = "2"; + Target = "52"; + Trigger = "3669"; + }; + }; + }; + new SimGroup(team0) { + powerCount = "0"; + + new InteriorInstance() { + position = "-237.54 -219.143 75.5238"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 4.34755 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-147.097 -219.227 75.5403"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "47.647 -219.466 75.5315"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-49.8431 -219.377 75.5151"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "49.5331 -406.394 75.5689"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-47.957 -406.305 75.5525"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-145.179 -406.227 75.5533"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-236.117 -406.155 75.5556"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 4.47039 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "84.3087 -231.519 75.544"; + rotation = "0 0 1 180.091"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "84.1481 -329.885 75.5247"; + rotation = "0 0 1 180.091"; + scale = "3.08904 6.36892 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-289.33 -231.193 75.578"; + rotation = "0 0 1 180.091"; + scale = "3.08904 6.10969 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-289.491 -329.559 75.5587"; + rotation = "0 0 1 180.091"; + scale = "3.08904 6.36892 1.57264"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-112.629 -311.814 62.6376"; + rotation = "0 0 -1 89.9544"; + scale = "1.75703 1.88679 2.21084"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-71.3347 -311 104.753"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.24354 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-91.5844 -311 104.753"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.29039 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-111.971 -310.994 104.75"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.29039 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-132.595 -310.994 104.75"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.29039 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new InteriorInstance() { + position = "-154.842 -310.973 104.745"; + rotation = "0 0 -1 89.9544"; + scale = "1 1.49777 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + team = "0"; + }; + new StaticShape() { + position = "-112.639 -311.243 84.02"; + rotation = "1 0 0 0"; + scale = "1 1 2.36433"; + dataBlock = "Nexus_Effect"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + powerCount = "0"; + + new Camera() { + position = "-232.919 -311.339 128.537"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "16.9695 -364.484 148.903"; + rotation = "0.213472 0.155646 -0.964471 74.1766"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-106.918 -160.292 129.7"; + rotation = "-0.00115167 -0.059964 0.9982 182.197"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-187.87 -382.21 86.0169"; + rotation = "0 0 1 56.1499"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + new Camera() { + position = "-119.014 -324.387 194.96"; + rotation = "1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + team = "0"; + }; + }; + new InteriorInstance() { + position = "-479.217 -241.53 48.1355"; + rotation = "-0.260348 0.284218 -0.922734 89.5811"; + scale = "1.75639 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-481.24 -349.481 43.9141"; + rotation = "0.224574 0.238371 0.944852 94.2648"; + scale = "1.75639 1 1.26929"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-481.418 -350.177 62.318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-195.459 -406.233 50.5096"; + rotation = "0 0 -1 89.9544"; + scale = "3.08904 3.07904 0.596446"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + team = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WalledInII.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WalledInII.mis new file mode 100644 index 00000000..ac0ee183 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WalledInII.mis @@ -0,0 +1,1241 @@ +// DisplayName = [Original]Walledin +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//The Storm and Inferno tribes are battling for survival on the remote planet of Ultima Thule. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Map by: FlyingElmo +//www.tribesarena.com +//Download This Map +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "4"; + + new MissionArea(MissionArea) { + area = "520 -304 160 224"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new SimGroup(SEXY) { + + powerCount = "0"; + + new InteriorInstance() { + position = "531.92 -245.835 87.6812"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1.12395 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "649.824 -138.755 87.6812"; + rotation = "0 0 1 90.5276"; + scale = "1 1.12395 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "591.067 -191.841 73.7431"; + rotation = "1 0 0 0"; + scale = "0.802738 0.773775 1"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "656.183 -279.001 86.8325"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "656.183 -244.641 86.8325"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "656.183 -210.301 86.8325"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "656.181 -111.26 86.8319"; + rotation = "1 0 0 0"; + scale = "2.22807 1.14306 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "656.181 -141.582 86.8319"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "656.181 -175.942 86.8319"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "639.322 -287.578 86.8301"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "604.982 -287.605 86.8301"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "570.622 -287.633 86.8301"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "536.26 -287.66 86.8301"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "527.668 -176.022 86.8309"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "527.668 -141.662 86.8309"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "527.668 -111.348 86.8309"; + rotation = "1 0 0 0"; + scale = "2.22807 1.14134 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "527.67 -210.381 86.8315"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "527.67 -244.721 86.8315"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "527.67 -279.081 86.8315"; + rotation = "1 0 0 0"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "536.275 -88.7394 86.837"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.15389 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "570.713 -88.7123 86.837"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "605.073 -88.6843 86.837"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14762 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "639.389 -88.6573 86.837"; + rotation = "0 0 1 89.9544"; + scale = "2.22807 2.14154 1.23471"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "591.115 -192.034 93.3007"; + rotation = "1 0 0 0"; + scale = "1 1 1.76496"; + dataBlock = "Nexus_Effect"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new InteriorInstance() { + position = "630.683 -167.046 107.581"; + rotation = "0 1 0 180"; + scale = "1 0.538479 0.1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "589.311 -190.38 97.6831"; + rotation = "1 0 0 0"; + scale = "0.615479 0.551407 0.403298"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "600.976 -153.905 99.1615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "580.279 -153.697 99.1615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedByTeam = "1"; + damageTimeMS = "828060"; + lastDamagedBy = "5519"; + Target = "-1"; + }; + new StaticShape() { + position = "600.94 -230.996 99.1615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "580.208 -230.876 99.1615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SilverPole"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DesertofDeath_nef.ter"; + squareSize = "8"; + emptySquares = "80766 212092 212348 212604 117090 248417"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + position = "0 0 0 1"; + locked = "true"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + GraphFile = "DesertofDeath_nef.nav"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "250"; + fogColor = "0.700000 0.600000 0.400000 0.500000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_Red_1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.1911e-43 -9.80909e-45"; + high_fogVolume2 = "-1 -8.40779e-45 1.21913e-43"; + high_fogVolume3 = "-1 6.89117e-41 -4.76441e-44"; + + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "589.891 -257.761 115.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "679.807 -192.088 115.235"; + rotation = "0.0747794 0.0747199 -0.994397 90.2763"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "505.856 -86.1912 154.447"; + rotation = "0.0739295 -0.222496 0.972126 144.198"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "503.373 -331.39 97.4223"; + rotation = "0.329255 -0.103657 0.938534 37.0872"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "590.037 -265.69 71.3676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "587.537 -269.44 68.5107"; + spawnPos29 = "591.287 -266.94 68.6497"; + spawnPos48 = "585.037 -263.19 69.2753"; + spawnPos14 = "592.537 -269.44 68.3826"; + spawnPos33 = "586.287 -265.69 68.9378"; + spawnPos52 = "590.037 -263.19 69.1191"; + spawnPos18 = "587.537 -268.19 68.6376"; + spawnPos37 = "591.287 -265.69 68.7815"; + spawnPos56 = "585.037 -261.94 69.4529"; + spawnPos3 = "588.787 -270.69 68.3398"; + spawnPos22 = "592.537 -268.19 68.5145"; + spawnPos41 = "586.287 -264.44 69.0696"; + spawnPos60 = "590.037 -261.94 69.3046"; + spawnPos7 = "593.787 -270.69 68.291"; + spawnPos26 = "587.537 -266.94 68.7669"; + spawnPos45 = "591.287 -264.44 68.9134"; + spawnPos11 = "588.787 -269.44 68.4667"; + spawnPos30 = "592.537 -266.94 68.6463"; + spawnPos49 = "586.287 -263.19 69.2363"; + spawnPos15 = "593.787 -269.44 68.4266"; + spawnPos34 = "587.537 -265.69 68.8987"; + spawnPos53 = "591.287 -263.19 69.08"; + spawnPos0 = "585.037 -270.69 68.4716"; + spawnPos19 = "588.787 -268.19 68.596"; + spawnPos38 = "592.537 -265.69 68.7781"; + spawnPos57 = "586.287 -261.94 69.4218"; + spawnPos4 = "590.037 -270.69 68.2958"; + spawnPos23 = "593.787 -268.19 68.5584"; + spawnPos42 = "587.537 -264.44 69.0306"; + spawnPos61 = "591.287 -261.94 69.2656"; + spawnPos8 = "585.037 -269.44 68.5985"; + spawnPos27 = "588.787 -266.94 68.7278"; + spawnPos46 = "592.537 -264.44 68.91"; + spawnPos12 = "590.037 -269.44 68.4251"; + spawnPos31 = "593.787 -266.94 68.6902"; + spawnPos50 = "587.537 -263.19 69.1972"; + spawnPosCount = "63"; + spawnPos16 = "585.037 -268.19 68.7255"; + spawnPos35 = "588.787 -265.69 68.8597"; + spawnPos54 = "592.537 -263.19 69.0766"; + spawnPos1 = "586.287 -270.69 68.4276"; + spawnPos20 = "590.037 -268.19 68.5569"; + spawnPos39 = "593.787 -265.69 68.8221"; + spawnPos58 = "587.537 -261.94 69.3828"; + spawnPos5 = "591.287 -270.69 68.2542"; + spawnPos24 = "585.037 -266.94 68.8524"; + spawnPos43 = "588.787 -264.44 68.9915"; + spawnPos62 = "592.537 -261.94 69.2622"; + spawnPos9 = "586.287 -269.44 68.5546"; + spawnPos28 = "590.037 -266.94 68.6888"; + spawnPos47 = "593.787 -264.44 68.9539"; + spawnPos13 = "591.287 -269.44 68.386"; + spawnPos32 = "585.037 -265.69 68.9794"; + spawnPos51 = "588.787 -263.19 69.1581"; + spawnPos17 = "586.287 -268.19 68.6815"; + spawnPos36 = "590.037 -265.69 68.8206"; + spawnPos55 = "593.787 -263.19 69.1206"; + spawnPos2 = "587.537 -270.69 68.3837"; + spawnPos21 = "591.287 -268.19 68.5179"; + spawnPos40 = "585.037 -264.44 69.1087"; + spawnPos59 = "588.787 -261.94 69.3437"; + spawnPos6 = "592.537 -270.69 68.2508"; + spawnPos25 = "586.287 -266.94 68.8085"; + spawnPos44 = "590.037 -264.44 68.9524"; + spawnPos63 = "593.787 -261.94 69.3061"; + }; + new SpawnSphere() { + position = "590.199 -255.533 71.1618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "587.699 -259.283 69.7641"; + spawnPos29 = "591.449 -256.783 70.026"; + spawnPos48 = "585.199 -253.033 70.6553"; + spawnPos14 = "592.699 -259.283 69.6623"; + spawnPos33 = "586.449 -255.533 70.3135"; + spawnPos52 = "590.199 -253.033 70.5381"; + spawnPos18 = "587.699 -258.033 69.9399"; + spawnPos37 = "591.449 -255.533 70.1963"; + spawnPos56 = "585.199 -251.783 70.8115"; + spawnPos3 = "588.949 -260.533 69.5475"; + spawnPos22 = "592.699 -258.033 69.8478"; + spawnPos41 = "586.449 -254.283 70.4697"; + spawnPos60 = "590.199 -251.783 70.6943"; + spawnPos7 = "593.949 -260.533 69.5207"; + spawnPos26 = "587.699 -256.783 70.1157"; + spawnPos45 = "591.449 -254.283 70.3525"; + spawnPos11 = "588.949 -259.283 69.733"; + spawnPos30 = "592.699 -256.783 70.0334"; + spawnPos49 = "586.449 -253.033 70.626"; + spawnPos15 = "593.949 -259.283 69.7062"; + spawnPos34 = "587.699 -255.533 70.2842"; + spawnPos53 = "591.449 -253.033 70.5088"; + spawnPos0 = "585.199 -260.533 69.6469"; + spawnPos19 = "588.949 -258.033 69.9106"; + spawnPos38 = "592.699 -255.533 70.2079"; + spawnPos57 = "586.449 -251.783 70.7822"; + spawnPos4 = "590.199 -260.533 69.5084"; + spawnPos23 = "593.949 -258.033 69.8918"; + spawnPos42 = "587.699 -254.283 70.4404"; + spawnPos61 = "591.449 -251.783 70.665"; + spawnPos8 = "585.199 -259.283 69.8227"; + spawnPos27 = "588.949 -256.783 70.0864"; + spawnPos46 = "592.699 -254.283 70.3642"; + spawnPos12 = "590.199 -259.283 69.694"; + spawnPos31 = "593.949 -256.783 70.0773"; + spawnPos50 = "587.699 -253.033 70.5967"; + spawnPosCount = "63"; + spawnPos16 = "585.199 -258.033 69.9985"; + spawnPos35 = "588.949 -255.533 70.2549"; + spawnPos54 = "592.699 -253.033 70.5204"; + spawnPos1 = "586.449 -260.533 69.6177"; + spawnPos20 = "590.199 -258.033 69.8795"; + spawnPos39 = "593.949 -255.533 70.2519"; + spawnPos58 = "587.699 -251.783 70.7529"; + spawnPos5 = "591.449 -260.533 69.4694"; + spawnPos24 = "585.199 -256.783 70.1743"; + spawnPos43 = "588.949 -254.283 70.4111"; + spawnPos62 = "592.699 -251.783 70.6767"; + spawnPos9 = "586.449 -259.283 69.7934"; + spawnPos28 = "590.199 -256.783 70.0571"; + spawnPos47 = "593.949 -254.283 70.4081"; + spawnPos13 = "591.449 -259.283 69.6549"; + spawnPos32 = "585.199 -255.533 70.3428"; + spawnPos51 = "588.949 -253.033 70.5674"; + spawnPos17 = "586.449 -258.033 69.9692"; + spawnPos36 = "590.199 -255.533 70.2256"; + spawnPos55 = "593.949 -253.033 70.5644"; + spawnPos2 = "587.699 -260.533 69.5865"; + spawnPos21 = "591.449 -258.033 69.8405"; + spawnPos40 = "585.199 -254.283 70.499"; + spawnPos59 = "588.949 -251.783 70.7236"; + spawnPos6 = "592.699 -260.533 69.4767"; + spawnPos25 = "586.449 -256.783 70.145"; + spawnPos44 = "590.199 -254.283 70.3818"; + spawnPos63 = "593.949 -251.783 70.7206"; + }; + new SpawnSphere() { + position = "590.322 -244.519 71.2891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "586.572 -243.269 71.6789"; + spawnPos29 = "590.322 -240.769 71.8351"; + spawnPos14 = "591.572 -243.269 71.5786"; + spawnPos18 = "586.572 -242.019 71.7863"; + spawnPos3 = "590.322 -249.519 70.9745"; + spawnPos22 = "591.572 -242.019 71.6958"; + spawnPos7 = "585.322 -244.519 71.591"; + spawnPos26 = "586.572 -240.769 71.8937"; + spawnPos11 = "587.822 -243.269 71.6594"; + spawnPos30 = "591.572 -240.769 71.8129"; + spawnPos15 = "592.822 -243.269 71.5974"; + spawnPos0 = "586.572 -249.519 71.0623"; + spawnPos19 = "587.822 -242.019 71.7668"; + spawnPos4 = "591.572 -249.519 70.9452"; + spawnPos23 = "592.822 -242.019 71.7146"; + spawnPos8 = "586.572 -244.519 71.5715"; + spawnPos27 = "587.822 -240.769 71.8742"; + spawnPos12 = "589.072 -243.269 71.6372"; + spawnPos31 = "592.822 -240.769 71.832"; + spawnPosCount = "32"; + spawnPos16 = "594.072 -243.269 71.6414"; + spawnPos1 = "587.822 -249.519 71.0331"; + spawnPos20 = "589.072 -242.019 71.7472"; + spawnPos5 = "592.822 -249.519 70.964"; + spawnPos24 = "594.072 -242.019 71.7588"; + spawnPos9 = "585.322 -243.269 71.6984"; + spawnPos28 = "589.072 -240.769 71.8547"; + spawnPos13 = "590.322 -243.269 71.6079"; + spawnPos32 = "594.072 -240.769 71.8808"; + spawnPos17 = "585.322 -242.019 71.8058"; + spawnPos2 = "589.072 -249.519 71.0038"; + spawnPos21 = "590.322 -242.019 71.7251"; + spawnPos6 = "594.072 -249.519 71.008"; + spawnPos25 = "585.322 -240.769 71.9133"; + }; + }; + new SimGroup(base0) { + + powerCount = "2"; + + new StaticShape() { + position = "589.954 -274.553 72.6124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new ForceFieldBare() { + position = "585.513 -274.558 72.127"; + rotation = "1 0 0 0"; + scale = "9.13918 1 7.76639"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "576.976 -250.39 71.6207"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "You need this "; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9522"; + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "577.176 -260.009 71.6568"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "http://www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9524"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "576.865 -268.548 71.631"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9526"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "577.111 -241.273 72.3008"; + rotation = "-0.0748386 0.00403589 -0.997187 88.0554"; + scale = "1 1 1"; + nameTag = "King of the hill"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9528"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "602.965 -258.811 71.6649"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "I EAT CHILDREN"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9530"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "603.262 -250.271 71.6391"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Gently touch this "; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9532"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "603.18 -268.43 71.6288"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Do you love this "; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9534"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "41"; + }; + new StaticShape() { + position = "603.391 -241.381 72.1701"; + rotation = "-0.104845 -0.00504376 0.994476 89.956"; + scale = "1 1 1"; + nameTag = "I feel so dirty"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9536"; + team = "1"; + Target = "42"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "591.192 -138.953 71.7119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "588.692 -142.703 72.4998"; + spawnPos29 = "592.442 -140.203 71.921"; + spawnPos48 = "587.442 -136.453 71.8782"; + spawnPos14 = "593.692 -142.703 72.088"; + spawnPos33 = "587.442 -138.953 72.1223"; + spawnPos52 = "586.192 -135.203 71.8578"; + spawnPos18 = "588.692 -141.453 72.3191"; + spawnPos37 = "592.442 -138.953 71.7989"; + spawnPos3 = "589.942 -143.953 72.5388"; + spawnPos22 = "593.692 -141.453 71.9845"; + spawnPos41 = "587.442 -137.703 72.0002"; + spawnPos7 = "594.942 -143.953 72.0343"; + spawnPos26 = "588.692 -140.203 72.1614"; + spawnPos45 = "592.442 -137.703 71.6768"; + spawnPos11 = "589.942 -142.703 72.3582"; + spawnPos30 = "593.692 -140.203 71.8624"; + spawnPos49 = "588.692 -136.453 71.7952"; + spawnPos15 = "594.942 -142.703 71.9708"; + spawnPos34 = "588.692 -138.953 72.0393"; + spawnPos53 = "587.442 -135.203 71.7748"; + spawnPos0 = "586.192 -143.953 72.9636"; + spawnPos19 = "589.942 -141.453 72.2004"; + spawnPos38 = "593.692 -138.953 71.7403"; + spawnPos4 = "591.192 -143.953 72.3972"; + spawnPos23 = "594.942 -141.453 71.9073"; + spawnPos42 = "588.692 -137.703 71.9172"; + spawnPos8 = "586.192 -142.703 72.783"; + spawnPos27 = "589.942 -140.203 72.0784"; + spawnPos46 = "593.692 -137.703 71.6182"; + spawnPos12 = "591.192 -142.703 72.2395"; + spawnPos31 = "594.942 -140.203 71.8038"; + spawnPos50 = "589.942 -136.453 71.7122"; + spawnPosCount = "55"; + spawnPos16 = "586.192 -141.453 72.6023"; + spawnPos35 = "589.942 -138.953 71.9563"; + spawnPos54 = "588.692 -135.203 71.6918"; + spawnPos1 = "587.442 -143.953 72.822"; + spawnPos20 = "591.192 -141.453 72.1174"; + spawnPos39 = "594.942 -138.953 71.6817"; + spawnPos5 = "592.442 -143.953 72.2687"; + spawnPos24 = "586.192 -140.203 72.4217"; + spawnPos43 = "589.942 -137.703 71.8342"; + spawnPos9 = "587.442 -142.703 72.6414"; + spawnPos28 = "591.192 -140.203 71.9954"; + spawnPos47 = "586.192 -136.453 71.9612"; + spawnPos13 = "592.442 -142.703 72.1651"; + spawnPos32 = "586.192 -138.953 72.241"; + spawnPos51 = "591.192 -136.453 71.6291"; + spawnPos17 = "587.442 -141.453 72.4607"; + spawnPos36 = "591.192 -138.953 71.8733"; + spawnPos55 = "589.942 -135.203 71.6088"; + spawnPos2 = "588.692 -143.953 72.6804"; + spawnPos21 = "592.442 -141.453 72.0431"; + spawnPos40 = "586.192 -137.703 72.0832"; + spawnPos6 = "593.692 -143.953 72.1515"; + spawnPos25 = "587.442 -140.203 72.2801"; + spawnPos44 = "591.192 -137.703 71.7512"; + }; + new SpawnSphere() { + position = "591.354 -128.796 71.5061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "593.854 -128.796 70.951"; + spawnPos29 = "588.854 -125.046 70.7704"; + spawnPos14 = "590.104 -127.546 70.956"; + spawnPos33 = "593.854 -125.046 70.7357"; + spawnPos18 = "595.104 -127.546 70.8884"; + spawnPos3 = "586.354 -132.546 71.6112"; + spawnPos22 = "590.104 -126.296 70.8437"; + spawnPos7 = "595.104 -130.046 70.9852"; + spawnPos26 = "595.104 -126.296 70.8201"; + spawnPos11 = "595.104 -128.796 70.9412"; + spawnPos30 = "590.104 -125.046 70.7438"; + spawnPos15 = "591.354 -127.546 70.9169"; + spawnPos34 = "595.104 -125.046 70.7517"; + spawnPos0 = "586.354 -133.796 71.7426"; + spawnPos19 = "586.354 -126.296 70.9608"; + spawnPos4 = "595.104 -131.296 71.0366"; + spawnPos23 = "591.354 -126.296 70.817"; + spawnPos8 = "591.354 -128.796 71.0395"; + spawnPos27 = "586.354 -125.046 70.8485"; + spawnPos12 = "587.604 -127.546 71.0341"; + spawnPos31 = "591.354 -125.046 70.7193"; + spawnPosCount = "34"; + spawnPos16 = "592.604 -127.546 70.908"; + spawnPos1 = "587.604 -133.796 71.6596"; + spawnPos20 = "587.604 -126.296 70.9218"; + spawnPos5 = "592.604 -130.046 71.061"; + spawnPos24 = "592.604 -126.296 70.8138"; + spawnPos9 = "592.604 -128.796 70.9683"; + spawnPos28 = "587.604 -125.046 70.8095"; + spawnPos13 = "588.854 -127.546 70.995"; + spawnPos32 = "592.604 -125.046 70.7162"; + spawnPos17 = "593.854 -127.546 70.8982"; + spawnPos2 = "588.854 -133.796 71.5766"; + spawnPos21 = "588.854 -126.296 70.8827"; + spawnPos6 = "593.854 -130.046 71.0024"; + spawnPos25 = "593.854 -126.296 70.8298"; + }; + new SpawnSphere() { + position = "591.477 -117.782 71.6334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "5"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPos10 = "588.977 -121.532 70.4912"; + spawnPos29 = "592.727 -119.032 70.2482"; + spawnPos48 = "586.477 -115.282 70.0605"; + spawnPos14 = "593.977 -121.532 70.4631"; + spawnPos33 = "587.727 -117.782 70.2227"; + spawnPos52 = "591.477 -115.282 69.9541"; + spawnPos18 = "588.977 -120.282 70.3936"; + spawnPos37 = "592.727 -117.782 70.1506"; + spawnPos56 = "586.477 -114.032 69.9678"; + spawnPos3 = "590.227 -122.782 70.5645"; + spawnPos22 = "593.977 -120.282 70.3654"; + spawnPos41 = "587.727 -116.532 70.125"; + spawnPos60 = "591.477 -114.032 69.8565"; + spawnPos7 = "595.227 -122.782 70.5803"; + spawnPos26 = "588.977 -119.032 70.2959"; + spawnPos45 = "592.727 -116.532 70.0529"; + spawnPos11 = "590.227 -121.532 70.4668"; + spawnPos30 = "593.977 -119.032 70.2678"; + spawnPos49 = "587.727 -115.282 70.0312"; + spawnPos15 = "595.227 -121.532 70.4826"; + spawnPos34 = "588.977 -117.782 70.1983"; + spawnPos53 = "592.727 -115.282 69.9553"; + spawnPos0 = "586.477 -122.782 70.6413"; + spawnPos19 = "590.227 -120.282 70.3692"; + spawnPos38 = "593.977 -117.782 70.1701"; + spawnPos57 = "587.727 -114.032 69.9385"; + spawnPos4 = "591.477 -122.782 70.5401"; + spawnPos23 = "595.227 -120.282 70.3849"; + spawnPos42 = "588.977 -116.532 70.1006"; + spawnPos61 = "592.727 -114.032 69.8576"; + spawnPos8 = "586.477 -121.532 70.5401"; + spawnPos27 = "590.227 -119.032 70.2715"; + spawnPos46 = "593.977 -116.532 70.0724"; + spawnPos12 = "591.477 -121.532 70.4424"; + spawnPos31 = "595.227 -119.032 70.2873"; + spawnPos50 = "588.977 -115.282 70.0029"; + spawnPosCount = "63"; + spawnPos16 = "586.477 -120.282 70.4424"; + spawnPos35 = "590.227 -117.782 70.1738"; + spawnPos54 = "593.977 -115.282 69.9748"; + spawnPos1 = "587.727 -122.782 70.6133"; + spawnPos20 = "591.477 -120.282 70.3447"; + spawnPos39 = "595.227 -117.782 70.1896"; + spawnPos58 = "588.977 -114.032 69.9092"; + spawnPos5 = "592.727 -122.782 70.5412"; + spawnPos24 = "586.477 -119.032 70.3447"; + spawnPos43 = "590.227 -116.532 70.0762"; + spawnPos62 = "593.977 -114.032 69.8771"; + spawnPos9 = "587.727 -121.532 70.5156"; + spawnPos28 = "591.477 -119.032 70.2471"; + spawnPos47 = "595.227 -116.532 70.092"; + spawnPos13 = "592.727 -121.532 70.4435"; + spawnPos32 = "586.477 -117.782 70.2471"; + spawnPos51 = "590.227 -115.282 69.9785"; + spawnPos17 = "587.727 -120.282 70.418"; + spawnPos36 = "591.477 -117.782 70.1494"; + spawnPos55 = "595.227 -115.282 69.9943"; + spawnPos2 = "588.977 -122.782 70.5889"; + spawnPos21 = "592.727 -120.282 70.3459"; + spawnPos40 = "586.477 -116.532 70.1533"; + spawnPos59 = "590.227 -114.032 69.8809"; + spawnPos6 = "593.977 -122.782 70.5607"; + spawnPos25 = "587.727 -119.032 70.3203"; + spawnPos44 = "591.477 -116.532 70.0518"; + spawnPos63 = "595.227 -114.032 69.906"; + }; + }; + new SimGroup(base0) { + + powerCount = "2"; + + new StaticShape() { + position = "591.859 -110.159 72.6727"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "43"; + }; + new ForceFieldBare() { + position = "596.3 -110.147 72.1873"; + rotation = "0 0 1 179.909"; + scale = "9.13918 1 7.76639"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "44"; + }; + new StaticShape() { + position = "604.875 -134.301 71.612"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Im watching, love this"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9547"; + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "604.66 -124.683 71.6481"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "SHAZBOT"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9549"; + team = "2"; + Target = "46"; + }; + new StaticShape() { + position = "604.958 -116.143 71.6223"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "Map by: FlyingElmo"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9551"; + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "604.785 -143.462 71.6639"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + nameTag = "DONT LOOK AT ME"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9553"; + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "578.873 -125.922 71.6486"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + nameTag = "I have a circular ass"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9555"; + team = "2"; + Target = "49"; + }; + new StaticShape() { + position = "578.59 -134.462 71.6228"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + nameTag = "yes hello"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9557"; + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "578.643 -116.303 71.6125"; + rotation = "0 0 -1 90.137"; + scale = "1 1 1"; + nameTag = "www.tribesarena.com"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9559"; + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "578.474 -143.152 71.6298"; + rotation = "0 0 -1 90.1379"; + scale = "1 1 1"; + nameTag = "I am next to a dirty wall"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9561"; + team = "2"; + Target = "52"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-59.66 41.953 132.71"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "ruin3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-378.617 508.492 67.6712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin2.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-11.9806 68.5455 128.379"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "ruinarch.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "-31.9214 -351.847 95.6269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin2.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "175.873 159.453 103.535"; + rotation = "-0.53108 0.218072 0.818779 27.4425"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new InteriorInstance() { + position = "179.083 161.326 104.792"; + rotation = "-0.0449677 0.0276194 -0.998607 116.954"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new Item() { + position = "181.772 165.184 101.529"; + rotation = "0 0 1 183.346"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "175.305 175.406 102.474"; + rotation = "0 0 -1 23.4913"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "188.18 165.034 100.788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "185.211 162.292 100.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + locked = "false"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-441.073 -117.22 116.695"; + rotation = "0 0 1 74.4845"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + new Item() { + position = "-445.345 -119.348 113.379"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + locked = "false"; + Target = "-1"; + }; + }; + new InteriorInstance() { + position = "-6 6 6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WonderLand.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WonderLand.mis new file mode 100644 index 00000000..10af4746 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/WonderLand.mis @@ -0,0 +1,2048 @@ +// DisplayName = ^_^ WonderLand +// MissionTypes = Arena + +//--- MISSION QUOTE BEGIN --- +//. +//"All you need is wub!" +//' '-- WonderWear +//. +// pretty paths and walkways for strolling around +// big plants to play in +// elf or be elfed +//. +//map by: ^_^ EveningWear +//email: evening@thewears.com +//v.1.4 +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "Lush"; + CTF_scoreLimit = "5"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-16 96 272 256"; + flightCeiling = "300"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.710000 0.710000 0.710000 1.000000"; + fogDistance = "200"; + fogColor = "0.710000 0.710000 0.710000 1.000000"; + fogVolume1 = "150 0 50"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 255.000000 128.000000 0.000000"; + fogVolumeColor2 = "0.000000 0.000000 0.000000 0.000000"; + fogVolumeColor3 = "0.000000 0.000000 0.000000 0.000000"; + high_visibleDistance = "575"; + high_fogDistance = "450"; + high_fogVolume1 = "250 0 75"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.750000 0.750000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Escalade.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + coverage = "0"; + GraphFile = "Escalade.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + locked = "true"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Base1Can) { + position = "10.1307 155.607 117.773"; + rotation = "-0.120639 -0.358974 0.925518 214.555"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Base2Cam) { + position = "170.753 277.489 118.212"; + rotation = "0.230227 -0.121326 0.965544 57.2504"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(TopMiddleCam) { + position = "90.2445 228.781 144.009"; + rotation = "0.799787 -0.391285 0.455232 94.1239"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + }; + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "19.095 128.323 64.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new WayPoint(base) { + position = "-0.180442 117.736 64.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "1"; + }; + new InteriorInstance() { + position = "-0.682971 102.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-0.682971 112.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-0.682971 122.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-0.682971 132.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-10.683 102.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-10.683 112.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-10.683 122.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-10.683 132.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "9.31703 102.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "9.31703 112.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "9.31703 122.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "9.31703 132.794 43.0772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-9.67023 108.5 64.1114"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Trigger = "18902"; + team = "1"; + }; + new StaticShape() { + position = "-9.67023 116.1 64.1114"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "18904"; + team = "1"; + }; + new StaticShape() { + position = "-9.67023 123.9 64.1114"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "18906"; + team = "1"; + }; + new StaticShape() { + position = "-0.670229 108.5 64.1114"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "36"; + inUse = "Down"; + Trigger = "18908"; + team = "1"; + }; + new StaticShape() { + position = "8.32977 108.5 64.1114"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "18910"; + team = "1"; + }; + new StaticShape() { + position = "111.317 179.799 50.5094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "206.649 306.974 54.6938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new WayPoint(base) { + position = "237.287 335.37 64.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Base"; + team = "2"; + }; + new InteriorInstance() { + position = "240.729 321.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "240.729 331.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "240.729 341.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "240.729 351.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "230.729 321.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "230.729 331.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "230.729 341.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "230.729 351.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "250.729 321.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "250.729 331.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "250.729 341.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "250.729 351.727 43.6119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "233.233 348.413 64.6"; + rotation = "0 0 1 26.8377"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "18929"; + team = "2"; + }; + new StaticShape() { + position = "240.344 343.931 64.6"; + rotation = "0 0 1 6.78423"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "18931"; + team = "2"; + }; + new StaticShape() { + position = "248.94 323.387 64.6"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "41"; + inUse = "Down"; + Trigger = "18933"; + team = "2"; + }; + new StaticShape() { + position = "249.281 333.404 64.6"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "18935"; + team = "2"; + }; + new StaticShape() { + position = "248.189 341.944 64.6"; + rotation = "0 0 1 44.9088"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "18937"; + team = "2"; + }; + new StaticShape() { + position = "111.317 179.799 24.7094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + team = "2"; + }; + }; + new WayPoint(WonderGrove) { + position = "209.317 136.482 65.3863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Wondie\'s Grove"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Wondie\'s Grove"; + team = "0"; + }; + new WayPoint(WonderWall) { + position = "-3.12713 284.262 74.9616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Wonder Wall"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Wonder Wall"; + team = "0"; + }; + }; + new SimGroup(Respawnables) { + + powerCount = "0"; + + new Item() { + position = "67.0867 191.882 75.3923"; + rotation = "0 0 -1 13.178"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "87.6943 219.34 92.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "129.793 242.063 78.7021"; + rotation = "0 0 -1 33.2315"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "87.6943 222.14 92.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "90.4943 222.14 92.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "87.6943 225.14 92.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.333 192.269 75.1498"; + rotation = "0 0 1 14.3239"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "159.664 119.873 77.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "85.0943 222.14 92.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "108.499 256.932 78.2008"; + rotation = "0 0 -1 70.4738"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "112.105 255.686 78.2008"; + rotation = "0 0 -1 70.4738"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "110.251 256.417 78.5782"; + rotation = "0 0 1 108.289"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "130.949 240.425 78.3021"; + rotation = "0 0 -1 33.2315"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "68.0918 251.367 78.6503"; + rotation = "0 0 -1 84.7978"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "69.1945 251.143 78.1339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "66.4933 251.482 78.1339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "121.498 251.067 78.2116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "122.701 250.099 78.2116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "120.221 252.107 78.2116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "89.896 255.161 78.2116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "91.3073 255.483 78.2116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "88.3269 254.677 78.2116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "103.964 258.038 78.1868"; + rotation = "0 0 1 185.248"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "116.879 254.298 78.3422"; + rotation = "0 0 1 212.75"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "125.033 247.346 78.3054"; + rotation = "0 0 1 228.22"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "159.643 119.838 64.6894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "59.6252 191.156 75.4804"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "61.6822 191.184 75.2629"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "58.1478 191.229 75.2628"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "5"; + Target = "-1"; + }; + new Item() { + position = "32.6271 193.753 75.5252"; + rotation = "0 0 -1 101.986"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "30.0674 193.153 75.5252"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "44.9416 193.421 75.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "43.3839 193.818 75.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "46.4714 193.029 75.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "73.9452 194.27 75.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "72.4372 193.723 75.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "75.6056 194.891 75.2221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "80.5984 196.862 75.3"; + rotation = "0 0 -1 10.3133"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "88.4729 196.611 75.5113"; + rotation = "0 0 -1 85.9437"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "89.5678 196.498 75.1417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "86.815 196.692 75.1417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new SimGroup(Structures) { + + powerCount = "0"; + + new SimGroup(Walkways) { + + powerCount = "0"; + + new InteriorInstance() { + position = "59.8886 187.827 75.25"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "44.1232 189.859 75.275"; + rotation = "0 0 -1 75.6304"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "31.793 189.987 75.25"; + rotation = "0 0 -1 103.132"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.2157 185.187 75.275"; + rotation = "0 0 -1 115.737"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.15177 176.64 75.275"; + rotation = "0 0 -1 115.737"; + scale = "1 1 1"; + interiorFile = "bbrdgn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "75.0617 190.364 75.275"; + rotation = "0 0 -1 110.008"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "87.9528 192.278 75.25"; + rotation = "0 0 -1 87.0897"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "100.923 189.236 75.275"; + rotation = "0 0 -1 66.4632"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "108.288 182.098 75.25"; + rotation = "0 0 -1 25.2102"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "112.048 168.987 75.275"; + rotation = "0 0 -1 6.8755"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "112.886 153.936 75.25"; + rotation = "0 0 1 0.571981"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "110.074 141.383 75.275"; + rotation = "0 0 1 24.6362"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "102.382 132.038 75.25"; + rotation = "0 0 1 54.43"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "89.5982 124.286 75.275"; + rotation = "0 0 1 63.0244"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "78.2541 122.263 75.25"; + rotation = "0 0 1 96.8289"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "154.883 231.421 78.225"; + rotation = "0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "169.958 227.881 78.2"; + rotation = "0 0 1 103.224"; + scale = "1 1 1"; + interiorFile = "bbrdgn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "143.318 236.464 78.2"; + rotation = "0 0 -1 56.1498"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "134.218 245.324 78.225"; + rotation = "0 0 -1 35.5233"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "124.755 255.669 78.2"; + rotation = "0 0 -1 50.9932"; + scale = "1 0.828118 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "112.401 262.216 78.225"; + rotation = "0 0 -1 71.0467"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "95.9302 262.9 78.2"; + rotation = "0 0 -1 104.278"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "80.522 258.7 78.225"; + rotation = "0 0 -1 105.997"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "68.0658 257.521 78.2"; + rotation = "0 0 -1 84.7976"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "58.4746 261.43 78.225"; + rotation = "0 0 -1 50.9931"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "47.5908 271.491 78.2"; + rotation = "0 0 -1 43.5446"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "37.7833 282.895 78.225"; + rotation = "0 0 -1 37.815"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Plants) { + + powerCount = "0"; + + new TSStatic() { + position = "41.0783 265.228 81.7244"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "41.0783 265.228 82.3244"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "30.6178 277.185 81.7244"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "52.8425 254.419 81.7244"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "67.2849 248.398 81.7244"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "83.0834 250.049 81.7244"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "98.2728 253.92 81.7244"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "109.493 253.44 81.7244"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "119.019 248.497 81.7244"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "126.909 240.049 81.7244"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "138.476 228.873 81.7244"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "152.937 222.677 81.7244"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "168.058 219.133 79.6151"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "30.8459 277.353 82.3244"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "52.8425 254.419 82.5244"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "67.2849 248.398 82.5244"; + rotation = "0 0 1 44.1177"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "83.0834 250.049 82.5244"; + rotation = "0 0 -1 76.2034"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "98.2728 253.92 82.5244"; + rotation = "0 0 -1 35.5234"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "109.493 253.44 82.5244"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "119.019 248.497 82.7244"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "126.909 240.049 82.7244"; + rotation = "0 0 -1 72.1927"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "138.476 228.873 82.5244"; + rotation = "0 0 -1 40.68"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "152.937 222.677 82.7244"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "168.058 219.133 80.4151"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "15.1225 191.502 78.8173"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "15.1225 191.502 79.4173"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "120.274 153.838 79.8173"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "30.1963 196.853 78.8173"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "45.8105 196.535 78.8173"; + rotation = "0 0 1 62.4524"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "59.9485 194.984 78.8173"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "72.7396 197.05 78.8173"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "88.2365 199.426 78.8173"; + rotation = "0 0 1 95.684"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "103.862 195.604 78.8173"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "114.889 185.313 78.8173"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "118.915 169.88 78.8173"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "120.274 153.838 78.8173"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "116.642 138.456 78.908"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "116.642 138.456 79.708"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "30.1963 196.853 79.6173"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "45.8105 196.535 79.6173"; + rotation = "0 0 1 44.1177"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "59.9485 194.984 79.6173"; + rotation = "0 0 -1 76.2034"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "72.7396 197.05 79.6173"; + rotation = "0 0 -1 35.5234"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "88.2365 199.426 79.6173"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "103.862 195.604 79.8173"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "114.889 185.313 79.8173"; + rotation = "0 0 -1 72.1927"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "118.915 169.88 79.6173"; + rotation = "0 0 -1 40.68"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "106.514 126.461 78.5921"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "106.514 126.461 79.5921"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "93.0471 117.589 78.8173"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "93.0471 117.589 79.8173"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "77.4136 115.265 79.5883"; + rotation = "1 0 0 0"; + scale = "1.25 1.25 8"; + shapeName = "borg1.dts"; + + team = "0"; + }; + new TSStatic() { + position = "77.4136 115.265 78.5883"; + rotation = "0 0 1 130.634"; + scale = "1.25 1.25 2.25"; + shapeName = "borg5.dts"; + + team = "0"; + }; + }; + }; + new SimGroup(Walls) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-3.76646 216.288 58.9616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.76645 248.288 58.9616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.76646 280.288 58.9616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.76646 312.288 58.9616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.76646 344.288 58.9616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Miscellaneous) { + + powerCount = "0"; + + new InteriorInstance() { + position = "159.747 120.091 42.6258"; + rotation = "0 0 -1 41.2529"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "247.836 230.078 59.8217"; + rotation = "0 0 1 79.6411"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "115.392 111.671 35.4147"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "198.348 337.216 60.3917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "59.9463 338.645 67.6126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "34.9049 162.041 91.5264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "397.486 84.3171 131.147"; + rotation = "0 0 -1 33.2315"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-21.7527 184.593 87.6998"; + rotation = "-0.0348347 -0.0949603 0.994871 40.4804"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "90.7293 227.97 95.7571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + }; + }; + }; + new SimGroup(Organics) { + + powerCount = "0"; + + new TSStatic() { + position = "223.865 117.274 52.5271"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "191.732 116.251 60.0127"; + rotation = "0 0 1 36.0963"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "209.617 109.843 53.7379"; + rotation = "0 0 -1 55.0039"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "210.938 121.179 52.5482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "194.956 124.147 57.2068"; + rotation = "-0.0534521 -0.233542 -0.970876 26.5295"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "226.478 133.86 53.8141"; + rotation = "0 0 -1 43.5448"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "214.172 135.473 52.5055"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "222.208 143.914 52.3196"; + rotation = "-0.0299035 0.0782564 -0.996485 41.9606"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "203.296 135.048 53.7915"; + rotation = "0.0384704 -0.272991 0.961247 16.6807"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "205.863 169.81 51.7648"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "192.604 159.916 51.2328"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "211.584 142.911 52.2532"; + rotation = "0 0 -1 108.862"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "184.916 142.444 56.7988"; + rotation = "0 0 -1 76.7763"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "190.066 132.128 59.4714"; + rotation = "0 0 -1 93.9651"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "223.993 153.558 53.223"; + rotation = "0.0199973 -0.0117381 -0.999731 119.189"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "218.883 166.659 51.9418"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "205.896 151.412 51.5412"; + rotation = "0 0 1 216.761"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "212.265 155.288 49.9422"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "196.906 144.502 54.7899"; + rotation = "0 0 1 204.728"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "202.717 162.653 50.3441"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "213.755 128.921 52.8601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "211.037 148.939 52.7877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "212.285 166.731 52.5007"; + rotation = "-0.928406 0.371102 0.0185706 6.17055"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "219.774 117.257 52.6616"; + rotation = "0.130418 -0.034694 -0.990852 30.0565"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "194.556 136.14 58.5161"; + rotation = "0 -1 0 26.356"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220.191 153.027 53.774"; + rotation = "-0.205403 0.978482 -0.0195722 11.1241"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "192.193 152.106 56.3428"; + rotation = "0.518934 -0.85096 -0.0810852 20.8095"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "225.954 137.798 54.4"; + rotation = "-0.0282678 0.999588 -0.00499798 20.0616"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Yubarena.mis b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Yubarena.mis new file mode 100644 index 00000000..071b0442 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/missions/Yubarena.mis @@ -0,0 +1,747 @@ +// DisplayName = _Yubarena +// MissionTypes = arena + +//--- MISSION QUOTE BEGIN --- +//2 my #1 slut! u r0x babe <3 +//. +//IIIIIIIIIIIA HYBRID DESIGNIIIIIIIIIII +//--------FlyingElmo------- -----flyingelmo@planettribes.com---- +//_______Click Here to Download_______ +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-1008 -120 240 480"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Haven.ter"; + squareSize = "8"; + + visibleDistance = "850"; + position = "-1024 -1024 0"; + locked = "true"; + hazeDistance = "150"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + GraphFile = "Haven.nav"; + coverage = "0"; + position = "0 0 0 1"; + locked = "true"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + YDimOverSize = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-880.821 225.063 138.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-868.831 224.501 132.982"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + Trigger = "5500"; + team = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-895.753 224.689 133.026"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "5502"; + team = "1"; + }; + new StaticShape() { + position = "-889.257 219.894 98.4731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-882.194 -6.33084 134.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + spawnPosCount = "-1"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-867.23 -6.95612 132.916"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "5509"; + team = "2"; + }; + new StaticShape() { + position = "-894.152 -6.76813 132.96"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "5511"; + team = "2"; + }; + new StaticShape() { + position = "-887.656 -11.5631 96.8645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "2"; + }; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-806.047 106.125 290.454"; + rotation = "0.486476 0.486089 -0.725988 107.998"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-790.455 220.136 156.578"; + rotation = "-0.125796 -0.340174 0.93191 218.03"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-877.292 21.6066 128.654"; + rotation = "1 0 0 16.6158"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-880.821 291.592 216.61"; + rotation = "0.00023535 -0.29552 0.955337 179.913"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new ScriptObject() { + class = "BonusData"; + + Bonus = "FlagBonus"; + time = "2746431"; + categoryData0 = "17653"; + maxCategoryDatas = "4"; + totalValue = "15"; + categoryData1 = "17670"; + categoryData3 = "17746"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "600"; + fogColor = "0.600000 0.500000 0.500000 1.000000"; + fogVolume1 = "300 1 300"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Nef_TR2_Red.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 5.86893e-35 5.86895e-35"; + high_fogVolume2 = "-1 5.86899e-35 5.86901e-35"; + high_fogVolume3 = "-1 5.86924e-35 5.86926e-35"; + + cloudSpeed0 = "0.0000003 0.0000003"; + }; + new SimGroup(baseaw) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-942.591 163.807 81.8423"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-832.547 158.367 87.5669"; + rotation = "0 -1 0 90.1369"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-913.798 112.748 149.065"; + rotation = "-0.57689 0.577351 0.577809 120"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-849.802 104.75 149.013"; + rotation = "0.577196 0.577657 0.577197 239.947"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.542 160.596 149.051"; + rotation = "0.00028098 0.707106 0.707107 179.967"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-884.976 56.7856 149.056"; + rotation = "-0.999999 -0.00120371 -0.000399059 90.0002"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.351 181.936 122.663"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.476 154.962 122.559"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.417 207.606 122.599"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.432 232.184 122.57"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.512 34.6949 138.931"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.446 9.02489 138.995"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-784.491 25.639 127.299"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-785.06 151.146 129.638"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-884.727 37.4312 94.4081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-861.929 102.946 73.2926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-888.325 180.251 94.2887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-880.572 -77.094 78.3581"; + rotation = "1 0 0 89.3814"; + scale = "1 0.861349 0.8072"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-880.576 -77.124 92.1857"; + rotation = "-1 0 0 90.1369"; + scale = "1 0.861349 0.8072"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.734 314.418 106.67"; + rotation = "-1 0 0 90.1369"; + scale = "1 0.861349 0.8072"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.73 314.448 92.8424"; + rotation = "1 0 0 89.3814"; + scale = "1 0.861349 0.8072"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-784.935 178.12 129.742"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-785.001 203.79 129.678"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-785.016 228.368 129.649"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-784.425 -0.0310411 127.363"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-784.55 -27.005 127.259"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-784.506 50.217 127.27"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.571 -17.9491 138.891"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-981.527 59.2729 138.902"; + rotation = "0 1 0 179.909"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-873.965 114.917 83.2752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-873.943 115.902 83.1833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-874.918 114.912 83.2113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-873.946 114.002 83.2086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-873.025 114.886 83.2308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-787.751 108.114 132.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-787.881 102.216 132.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-787.757 113.113 132.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-979.332 108.442 133.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-979.418 104.488 133.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-979.369 112.074 133.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-876.287 316.032 94.6955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-877.317 316.025 94.7186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-871.002 -78.7797 80.4727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-869.972 -78.7727 80.4496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-881.758 109.865 173"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-865.738 109.57 173.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-897.868 110.03 173.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new Sun() { + position = "-869.867 76.8614 99.256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2ArenaDome.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2ArenaDome.spn new file mode 100644 index 00000000..490cb1d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2ArenaDome.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2ArenaValley.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2ArenaValley.spn new file mode 100644 index 00000000..b283bb2e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2ArenaValley.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2DustBowl.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2DustBowl.spn new file mode 100644 index 00000000..d9d5e49f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2DustBowl.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2Flyersarena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2Flyersarena.spn new file mode 100644 index 00000000..20e9eaf4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2Flyersarena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2IceDome.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2IceDome.spn new file mode 100644 index 00000000..1afdbe99 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2IceDome.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2IndoorIntensity.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2IndoorIntensity.spn new file mode 100644 index 00000000..f78d0b0d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/2IndoorIntensity.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Aeroena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Aeroena.spn new file mode 100644 index 00000000..68b27f81 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Aeroena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHeaven.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHeaven.spn new file mode 100644 index 00000000..fea84abe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHeaven.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHell.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHell.spn new file mode 100644 index 00000000..e2a389b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHell.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHell2.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHell2.spn new file mode 100644 index 00000000..7795f5fa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaHell2.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaInTheHill.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaInTheHill.spn new file mode 100644 index 00000000..0fb54a7e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaInTheHill.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaUnderTheHill.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaUnderTheHill.spn new file mode 100644 index 00000000..34d9ea33 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ArenaUnderTheHill.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/AryoArena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/AryoArena.spn new file mode 100644 index 00000000..611d87f1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/AryoArena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Checkmate.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Checkmate.spn new file mode 100644 index 00000000..9dcc1883 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Checkmate.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/CrashClash.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/CrashClash.spn new file mode 100644 index 00000000..12f2ee2b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/CrashClash.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/DangerousCrossingArena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/DangerousCrossingArena.spn new file mode 100644 index 00000000..3b450da9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/DangerousCrossingArena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Envyrena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Envyrena.spn new file mode 100644 index 00000000..4f2a9441 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Envyrena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/EnyLand.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/EnyLand.spn new file mode 100644 index 00000000..6ed310a5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/EnyLand.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/EveningLand.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/EveningLand.spn new file mode 100644 index 00000000..35b10e1e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/EveningLand.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Helioarena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Helioarena.spn new file mode 100644 index 00000000..ba7a79d8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Helioarena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/IveHadWorse.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/IveHadWorse.spn new file mode 100644 index 00000000..1eb987b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/IveHadWorse.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Khalarena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Khalarena.spn new file mode 100644 index 00000000..f96d7ca1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Khalarena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Morena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Morena.spn new file mode 100644 index 00000000..b4c30617 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Morena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Mudside.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Mudside.spn new file mode 100644 index 00000000..f7fa43e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Mudside.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Planetside.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Planetside.spn new file mode 100644 index 00000000..4fd572cf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Planetside.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ProArena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ProArena.spn new file mode 100644 index 00000000..de332e0a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ProArena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Ridgerena.nav b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Ridgerena.nav new file mode 100644 index 00000000..a5169ebb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Ridgerena.nav differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Ridgerena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Ridgerena.spn new file mode 100644 index 00000000..3bf31845 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Ridgerena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ShrineArena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ShrineArena.spn new file mode 100644 index 00000000..ef5ec95d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ShrineArena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ShrineArenaII.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ShrineArenaII.spn new file mode 100644 index 00000000..3e6c6e3a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/ShrineArenaII.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SmogArena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SmogArena.spn new file mode 100644 index 00000000..fb9589ca Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SmogArena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SnowBound.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SnowBound.spn new file mode 100644 index 00000000..dd709b44 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SnowBound.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SoccerLand.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SoccerLand.spn new file mode 100644 index 00000000..168b83a5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SoccerLand.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SpyLand.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SpyLand.spn new file mode 100644 index 00000000..386c0ab1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/SpyLand.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Stonehenge_Arena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Stonehenge_Arena.spn new file mode 100644 index 00000000..ceeead28 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Stonehenge_Arena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TempleTussleVersion2.nav b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TempleTussleVersion2.nav new file mode 100644 index 00000000..9a91c165 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TempleTussleVersion2.nav differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TempleTussleVersion2.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TempleTussleVersion2.spn new file mode 100644 index 00000000..b34e5625 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TempleTussleVersion2.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Tenebrous.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Tenebrous.spn new file mode 100644 index 00000000..a5928eba Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Tenebrous.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TrueGrit.nav b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TrueGrit.nav new file mode 100644 index 00000000..347989ae Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TrueGrit.nav differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TrueGrit.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TrueGrit.spn new file mode 100644 index 00000000..83977400 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/TrueGrit.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/UporDown.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/UporDown.spn new file mode 100644 index 00000000..45fa69d2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/UporDown.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledIn.nav b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledIn.nav new file mode 100644 index 00000000..8e2d8242 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledIn.nav differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledIn.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledIn.spn new file mode 100644 index 00000000..88dcce51 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledIn.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledInII.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledInII.spn new file mode 100644 index 00000000..c7ae23e9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WalledInII.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WonderLand.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WonderLand.spn new file mode 100644 index 00000000..2c6bd70c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/WonderLand.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Yubarena.spn b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Yubarena.spn new file mode 100644 index 00000000..e3da40fe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/terrains/Yubarena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2ArenaDome.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2ArenaDome.png new file mode 100644 index 00000000..2c79579e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2ArenaDome.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2ArenaValley.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2ArenaValley.png new file mode 100644 index 00000000..983df334 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2ArenaValley.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2DustBowl.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2DustBowl.png new file mode 100644 index 00000000..463566b6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2DustBowl.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2Flyersarena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2Flyersarena.png new file mode 100644 index 00000000..c1c3254e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2Flyersarena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2IceDome.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2IceDome.png new file mode 100644 index 00000000..5d14b1bd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2IceDome.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2IndoorIntensity.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2IndoorIntensity.png new file mode 100644 index 00000000..597b50b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_2IndoorIntensity.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Aeroena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Aeroena.png new file mode 100644 index 00000000..7f2958fe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Aeroena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHeaven.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHeaven.png new file mode 100644 index 00000000..cdcb3006 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHeaven.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHell.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHell.png new file mode 100644 index 00000000..de99a26f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHell.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHell2.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHell2.png new file mode 100644 index 00000000..fedb664c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaHell2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaInTheHill.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaInTheHill.png new file mode 100644 index 00000000..97a7c1eb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaInTheHill.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaUnderTheHill.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaUnderTheHill.png new file mode 100644 index 00000000..3bc8621f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ArenaUnderTheHill.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_AryoArena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_AryoArena.png new file mode 100644 index 00000000..105dc873 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_AryoArena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_CrashClash.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_CrashClash.png new file mode 100644 index 00000000..22466fc6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_CrashClash.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_DangerousCrossingArena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_DangerousCrossingArena.png new file mode 100644 index 00000000..2e986263 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_DangerousCrossingArena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Envyrena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Envyrena.png new file mode 100644 index 00000000..4157e94f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Envyrena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_EnyLand.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_EnyLand.png new file mode 100644 index 00000000..2d3b82a0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_EnyLand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_EveningLand.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_EveningLand.png new file mode 100644 index 00000000..571eff0a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_EveningLand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Helioarena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Helioarena.png new file mode 100644 index 00000000..4ab0dd0a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Helioarena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_IveHadWorse.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_IveHadWorse.png new file mode 100644 index 00000000..bea0c51a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_IveHadWorse.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Khalarena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Khalarena.png new file mode 100644 index 00000000..0b660ace Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Khalarena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Morena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Morena.png new file mode 100644 index 00000000..534cb997 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Morena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Mudside.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Mudside.png new file mode 100644 index 00000000..3e52b4bc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Mudside.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Planetside.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Planetside.png new file mode 100644 index 00000000..bea4a604 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Planetside.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Ridgerena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Ridgerena.png new file mode 100644 index 00000000..eb9cfd63 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Ridgerena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ShrineArena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ShrineArena.png new file mode 100644 index 00000000..5df72c40 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ShrineArena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ShrineArenaII.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ShrineArenaII.png new file mode 100644 index 00000000..c30427bb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_ShrineArenaII.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_SoccerLand.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_SoccerLand.png new file mode 100644 index 00000000..52582ac7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_SoccerLand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_SpyLand.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_SpyLand.png new file mode 100644 index 00000000..cdfafcb2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_SpyLand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_TempleTussleVersion2.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_TempleTussleVersion2.png new file mode 100644 index 00000000..f0334d1d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_TempleTussleVersion2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_TrueGrit.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_TrueGrit.png new file mode 100644 index 00000000..d9942d23 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_TrueGrit.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_UporDown.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_UporDown.png new file mode 100644 index 00000000..fd8c87f3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_UporDown.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WalledIn.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WalledIn.png new file mode 100644 index 00000000..b7ba7ca0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WalledIn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WalledInII.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WalledInII.png new file mode 100644 index 00000000..efce1549 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WalledInII.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WonderLand.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WonderLand.png new file mode 100644 index 00000000..81873630 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WonderLand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WoodyMyrk.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WoodyMyrk.png new file mode 100644 index 00000000..1b62595e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_WoodyMyrk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Yubarena.png b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Yubarena.png new file mode 100644 index 00000000..fac60b1f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2/textures/gui/Load_Yubarena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/arenaSupport.vl2/scripts/autoexec/arenaSupport.cs b/public/base/@vl2/zAddOnsVL2s/arenaSupport.vl2/scripts/autoexec/arenaSupport.cs new file mode 100644 index 00000000..bd1e4861 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/arenaSupport.vl2/scripts/autoexec/arenaSupport.cs @@ -0,0 +1,372 @@ +// #name = Arena Support +// #version = 1.0 +// #date = Febuary 19, 2002 +// #author = Teribaen +// #warrior = Teribaen +// #email = teribaen@planettribes.com +// #description = Adds an objective HUD and admin commands for the Arena gametype +// #readme = scripts/teribaen/arena_support_info.txt +// #status = Release +// ------------------------------------------------------------------ // + +$ArenaSupport::LocalVersion = 1.0; +$ArenaSupport::RemoteVersion = 0; + +$ArenaSupport::TeamCount = 2; + +// ------------------------------------------------------------------ // +// arenaVersionMsg() +// Recieves version information from the Arena server + +function arenaVersionMsg( %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6 ) +{ + %version = detag(%a1); + %versionString = detag(%a2); + + echo( "arenaSupport got remote arena version: "@%versionString@" ("@%version@")" ); + + $ArenaSupport::RemoteVersion = %version; + + // Put this below the objectiveHud arena label for a few seconds + objectiveHud.arenaLabel[2].setValue( %versionString ); + $ArenaSupport::versClearSchedule = schedule( 15000, 0, arenaClearVersionBox ); + + // Respond to the server with our version information + commandToServer( 'ArenaSupportHello', $ArenaSupport::LocalVersion ); +} + + +// ========================================================================== // +// | | // +// | ARENA HUD | // +// | | // +// ========================================================================== // + +// ------------------------------------------------------------------ // +// arenaServerState() +// Receive information about the server setup + +function arenaServerState( %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6 ) +{ + %teamCount = detag(%a1); + + echo( "arenaSupport got teamCount: "@%teamCount ); + + $ArenaSupport::TeamCount = %teamCount; +} + +// ------------------------------------------------------------------ // +// BEGIN PACKAGE [ ArenaHUD ] +// ------------------------------------------------------------------ // + +package ArenaHUD +{ + +// ------------------------------------------------------------------ // +// setupObjHud() +// On entering a game prepare the objective hud based on the gametype + +function setupObjHud( %gameType ) +{ + echo( "setupObjHud called for ArenaHUD" ); + + if ( %gameType $= ArenaGame ) + { + // Set the dividing lines between controls + objectiveHud.setSeparators( "48 150 202" ); + objectiveHud.enableHorzSeparator(); + + // Arena Label ("ARENA") + objectiveHud.arenaLabel[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "42 16"; + visible = "1"; + text = "ARENA"; + }; + + // Arena Version (Just displays a string from server) + objectiveHud.arenaLabel[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 19"; + extent = "42 16"; + visible = "1"; + }; + + // Team Names Column + objectiveHud.teamName[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 3"; + extent = "90 16"; + visible = "1"; + }; + objectiveHud.teamName[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudLeftProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 19"; + extent = "90 16"; + visible = "1"; + }; + + // Team State Column (%alive/%total) + objectiveHud.arenaState[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 3"; + extent = "43 16"; + visible = "1"; + }; + objectiveHud.arenaState[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 19"; + extent = "43 16"; + visible = "1"; + }; + + // Team Scores Column + objectiveHud.teamScore[1] = new GuiTextCtrl() { + profile = "GuiTextObjGreenCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "209 3"; + extent = "26 16"; + visible = "1"; + }; + objectiveHud.teamScore[2] = new GuiTextCtrl() { + profile = "GuiTextObjHudCenterProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "209 19"; + extent = "26 16"; + visible = "1"; + }; + + // Add our controls to the parent hud object + for(%i = 1; %i <= 2; %i++) + { + objectiveHud.add( objectiveHud.arenaLabel[%i] ); + objectiveHud.add( objectiveHud.teamName[%i] ); + objectiveHud.add( objectiveHud.arenaState[%i] ); + objectiveHud.add( objectiveHud.teamScore[%i] ); + } + } + else + Parent::setupObjHud( %gameType ); +} + +// ------------------------------------------------------------------ // +// swapTeamLines() +// Swap the objective hud lines to put the player's team on top + +function swapTeamLines() +{ + if ( $ArenaSupport::TeamCount != 2 ) + return; + + // Formatting constants + %bLeft = "GuiTextObjHudLeftProfile"; + %bCenter = "GuiTextObjHudCenterProfile"; + %gLeft = "GuiTextObjGreenLeftProfile"; + %gCenter = "GuiTextObjGreenCenterProfile"; + + // Swap the vertical positions of the hud lines + %teamOneY = getWord( objectiveHud.teamName[1].position, 1 ); + %teamTwoY = getWord( objectiveHud.teamName[2].position, 1 ); + + if(%teamOneY > %teamTwoY) + { + // If team one was on the second line, now it'll be on the first + %newTop = 1; + %newBottom = 2; + } + else + { + // If team one was on the first line, now it'll be on the second + %newTop = 2; + %newBottom = 1; + } + + // Swap the controls specific to Arena + if( isObject( objectiveHud.arenaState[1] ) ) + { + %locatX = firstWord( objectiveHud.arenaState[1].position ); + objectiveHud.arenaState[1].position = %locatX SPC %teamTwoY; + objectiveHud.arenaState[2].position = %locatX SPC %teamOneY; + + // Swap profiles so top line is green (don't bother with labels) + objectiveHud.arenaState[%newTop].setProfile( %gCenter ); + objectiveHud.arenaState[%newbottom].setProfile( %bCenter ); + } + + // Swap built-in controls + Parent::swapTeamLines(); +} + +// ------------------------------------------------------------------ // +// DispatchLaunchMode() +// Use this builtin function to add our callbacks + +function DispatchLaunchMode() +{ + echo( "DispatchLaunchMode() adding callbacks for ArenaHUD" ); + + addMessageCallback( 'MsgArenaVersion', arenaVersionMsg ); + addMessageCallback( 'MsgArenaServerState', arenaServerState ); + addMessageCallback( 'MsgArenaAddTeam', arenaAddTeam ); + addMessageCallback( 'MsgArenaTeamState', arenaTeamState ); + + Parent::DispatchLaunchMode(); +} + +}; + +// ------------------------------------------------------------------ // +// END PACKAGE [ ArenaHUD ] +// ------------------------------------------------------------------ // + + +// ------------------------------------------------------------------ // +// arenaAddTeam() +// Add a team to the arena objective hud + +function arenaAddTeam( %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6 ) +{ + %teamNum = detag(%a1); + if ( %teamNum > 2 ) + return; + + %teamName = detag(%a2); + %score = detag(%a3); + if( %score $= "" ) + %score = 0; + + %aliveCount = detag(%a4); + %totalCount = detag(%a5); + if( %aliveCount $= "" ) + %aliveCount = 0; + if( %totalCount $= "" ) + %totalCount = 0; + + if ( $ArenaSupport::TeamCount == 2 ) + { + objectiveHud.teamName[%teamNum].setValue( %teamName ); + objectiveHud.teamScore[%teamNum].setValue( %score ); + objectiveHud.arenaState[%teamNum].setValue( %aliveCount @ "/" @ %totalCount ); + } +} + +// ------------------------------------------------------------------ // +// arenaTeamState() +// Update the alive/total player count for a team on the arena hud + +function arenaTeamState( %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6 ) +{ + %teamNum = detag(%a1); + if ( %teamNum > 2 ) + return; + + %aliveCount = detag(%a2); + %totalCount = detag(%a3); + + if( %aliveCount $= "" ) + %aliveCount = 0; + if( %totalCount $= "" ) + %totalCount = 0; + + if ( $ArenaSupport::TeamCount == 2 ) + objectiveHud.arenaState[%teamNum].setValue( %aliveCount @ "/" @ %totalCount ); +} + +// ------------------------------------------------------------------ // +// arenaClearVersionBox() +// Clears the objhud version box (under the arena label) + +function arenaClearVersionBox() +{ + objectiveHud.arenaLabel[2].setValue( "" ); +} + + +// ------------------------------------------------------------------ // +// Always execute the ArenaHUD package + +activatePackage( ArenaHUD ); + + + +// ========================================================================== // +// | | // +// | CONSOLE ADMIN COMMANDS | // +// | | // +// ========================================================================== // + +// ------------------------------------------------------------------ // +// arenaForceRoundEnd(); + +function arenaForceRoundEnd( %teamIndex ) +{ + if ( %teamIndex $= "" ) + %teamIndex = 0; + + commandToServer( 'ArenaForceRoundEnd', %teamIndex ); +} + +// ------------------------------------------------------------------ // +// arenaSetCurrentRoundLimit(); + +function arenaSetCurrentRoundLimit( %newRoundLimit ) +{ + commandToServer( 'ArenaSetCurrentRoundLimit', %newRoundLimit ); +} + +// ------------------------------------------------------------------ // +// arenaSetCurrentTimeLimit(); + +function arenaSetCurrentTimeLimit( %newTimeLimit ) +{ + commandToServer( 'ArenaSetCurrentTimeLimit', %newTimeLimit ); +} + +// ------------------------------------------------------------------ // +// arenaEnableDebugging(); + +function arenaEnableDebugging() +{ + commandToServer( 'ArenaEnableDebugging' ); +} + +// ------------------------------------------------------------------ // +// arenaDisableDebugging(); + +function arenaDisableDebugging() +{ + commandToServer( 'ArenaDisableDebugging' ); +} + +// ------------------------------------------------------------------ // +// SADsetJoinPassword(); + +function SADsetJoinPassword( %newPassword ) +{ + commandToServer( 'SetJoinPassword', %newPassword ); +} + + + +// ========================================================================== // +// | | // +// | VOTING/MENU SUPPORT | // +// | | // +// ========================================================================== // + + diff --git a/public/base/@vl2/zAddOnsVL2s/arenaSupport.vl2/scripts/teribaen/arena_support_info.txt b/public/base/@vl2/zAddOnsVL2s/arenaSupport.vl2/scripts/teribaen/arena_support_info.txt new file mode 100644 index 00000000..9e05247d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/arenaSupport.vl2/scripts/teribaen/arena_support_info.txt @@ -0,0 +1,54 @@ +-------------------------------------------------- +Arena Support (Version 1.0) - By Teribaen +-------------------------------------------------- + +This script adds clientside support for the Tribes 2 Arena gametype, including: + +* ObjectiveHUD (HUD in the lower left) +* Console commands for admins + +Possible future features: + +* Support for voting/admin lobby options + +This version is parallel with the 0.95 arena server and replaces both ArenaHUD versions (0.91 and 0.94d) + + +-------------------------------------------------- +Admin Console Commands +-------------------------------------------------- + +These commands are entered into your client console (which must be enhanced by Arena Support) - not the server console + +To use these commands you must have admin or super admin access (depending on the command) + + +arenaForceRoundEnd( # ); +The current round will end and the game will advance to the next round +OPTIONAL: Specify the index of a team to win the round (ie: 1 or 2 ) + + +arenaSetCurrentRoundLimit( # ) +Changes the round limit to # - Effective Immediately +IMPORTANT: The change lasts only until the server changes maps + + +arenaSetCurrentTimeLimit( # ) - Requires Arena 0.95b+ +Changes the time limit to # - Effective at the start of the next round +IMPORTANT: The change lasts only until the server changes maps + + +arenaEnableDebugging() +Enables debug output from arena and terAdmin (normally you want this off) + + +arenaDisableDebugging() +Disables debug output from arena and terAdmin + + +SADsetJoinPassword( $ ) +Changes the server join password to $ +Set the password to "" to disable it +IMPORTANT: In Arena 0.95a/b/y/c this lasts only until the map changes + +Example: SADsetJoinPassword( "leet" ); or SADsetJoinPassword( "" ); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/ReadMe.txt b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/ReadMe.txt new file mode 100644 index 00000000..f79dd7e1 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/ReadMe.txt @@ -0,0 +1,237 @@ +DMP +Discord Map Pack +Readme + +Late 2020 + + This map pack was put together over the span of a few months off-and-on for the server Discord PUB. +Some maps are from other mappacks and some maps were made from scratch. This map pack also includes 10 +original maps from Rooster128. With these main "focus maps", there are "Xtra" maps packaged in the xtra +missions folder inside the vl2. These are here at the server owners pleasure to run them or not. Also +included are xtra terrains, xtra maps, xtra assets, skies, textures, sounds, skins, and retextured assets. +This extra content is to be kind of a future-proof for the server, offering future map makers content +to make even more serverside maps one day. + + The ten new original maps from Rooster were made almost completely using original assets. Some of these +maps are just a few months old- other maps are older maps that, for one reason or another, just never saw the +light of day, and wound up collecting dust on his hard drive until now. The new maps were created in the spirit +of this map pack- to give other mappers more assets to work with. Particular attention was given to the terrains +to ensure they were challenging- but not too challenging, smooth- but not too smooth. The Rooster originals are +almost completely devoid of vehicles (sorry Gooners)- standalone vehicles have been included in a few maps. + + The process of making this map pack also included looking through old mappacks and looking for fresh +ideas. There's already a ton of good maps in T2- its hard to do anything different that hasn't already been +done. A lot of these maps were ok-ish in their original forms and had potential- these maps were polished and +refined into something hopefully people may enjoy. A lot of the textures were taken from texture projects of +other games and converted to work with T2. There are a lot of decent assets people have made that +are included in this pack- hopefully someone can find a use for them in the future. + + Using and finding assets in this pack can be done by loading the mapassets map in the xtra +missions folder for quick reference. If you find an asset you like, pair it with a common terrain +used in the game or any s5, s8, twl, twl2, dmp terrain respectively. Anything you create will now load +for other clients without requiring them to download anything. Go nuts! Choosing a sky will +involve choosing sky in the editor ( Alt+E ) and putting in whatever.dml. You can find selectable +dml files in the textures folder. + +Contents: + +-Audio +--AlienAnimalSounds +--FrogSwampsSounds +--VariousBirdSounds +--TurretTechSounds +--WindSound +--FX-Environment +---CanyonWind +---DNAanimalSounds +---SpookySounds +---sysEnvironmentalSounds +---WhispersSpookySound + +-Interiors +--Various Versions of Anthems Flagstand in different themes +--bmisc assets for Pantheon +--cctower for BastardForge +--dbase for Starfall +--dbunk for BastardForge +--Bleed Assets for once used PlanetX Map +--idmiddle for SpinCycle center asset +--butch_lava assets for LavaGods +--kif_cinerous assets for Cinerium +--Magellen assets +--rilke assets for Ice Giant and wasteland (Original Hoth assets from Hades Mappack) +--Spincycle base asset +--tes_flagbase from BlueMoon +--Magnum base for Bunkered +--AF assets from Europack (Simple Lava Base) +--Attrition assets for unused map in xtras +--Bastage Badlands assets (Simple tower, base, and a tunnel (one end) +--beachchair asset +--Caustic assets (Decent base) +--Crown assets from Europack +--Ghostdance big underground base from Europack +--Various gravestones +--Hellfire assets from Europack (Lava) +--HM base (Decent) Lava Classic style +--Insurgence assets, decent bridges, big base, badlands themed +--Malagnant assets, badlands themed +--Metaltanks assets used for chasmaclysmic in xtra (decent assets) +--ProjectX assets from europack +--Transit base by Rooster128 +--EEP siege bridge and spaceships assets +--Torrent assets with large cave section +--Vestige assets. Large elaborate base +--WSol assets (Lush) +--Xerxes assets (Inside underground base) Desert theme +--ZV assets (Decent vehicle base) + +-Missions +--BastardForge: T1 map that the terrain was copied from +--Bunkered: Hades Mappack Map that was refined +--Cinerarium: TWL map originally and made smaller given its own terrain +--Embers: Hades Mappack Map with redone terrain and flagstand +--Hoth: Hades Mappack Map made Lush and redone with new base +--IceGiant: EuroPack Map redone to be snow themed +--LavaGods: Infamous Butcher map smoothed out and made more open +--Magellen: Europack map with decent assets lightly modified +--MoonDance: Mirrored Moondance, similar to the original +--Pantheon: 50% smaller than the Final Dynamix Mappack original +--Paranoia: Tribes Aerial Assault map someone made, light modifications +--Pariah: Mirrored, Similar to the original +--RavineV: Once popular map, added Vpad +--Spincycle: T1 map, smoothed out and spread out a little more +--StarFall: Started out with T1 terrain, Reverted to mordacity style terrain +--Wasteland: Infamous butcher map, terrain smoothed out and worked on + +Rooster Original Missions: +--Agroleon: 10 year old map- finally finished. Lush map with medium-sized base. +--Astro: Initially made for S8. Terrain completely redone. Each team has 3 small bunkers surrounding their flag. +--Bitter Gorge: Ice map featuring small bases inspired by drawings done by the player Halo 2. +--Derm City: Lghtspd request- a large goon-style experimental city map with capturable midfield. Best with large player count. +--Emerald Spit: Another S8 map that didn't make release. Lush map on worley procedural gerrain. 2 bunkers stradle each base. +--Face Crossing: A play on Facing Worlds from UT. Traverse large floating islands suspended above a lava pit. +--Isle De Batalla: Brand new map, and the only vehicle map in this pack from Rooster. Rollings hills and cyberpunk vibes. +--Pipe Dream: Originally made for S5 but shelved, now appears to be a favorite. C'mon it's a giant half pipe whats not to like? +--Scorched Earth: This map features caves and long underground tunnels that you can ski through- not easily though. +--Simple Flag Arena: A map originally created for UT, revised to work for Tribes. Probably a good map for 5v5 or 7v7. + +Rooster Original Missions also includes: +- 11 new skies (pulled from various games/sources) +- 9 new terrains +- Teleporter Script and Creativity Boost Pad Script +- A plethora of new terrains including floating islands, city buildings, bases, flagstands, and more. +- Fun surprises? + +-Scripts +--autoexec +---InvincibleInv.cs: So the server will know not to allow SmallCrossing Invs to be damaged +---RegisterShapes.cs: This adds our shapes we made. Includes two autumn trees, T2 vending machine, and plant asset used on wasteland +---DefaultTurrents.cs: Allows more turrent on some maps and resets them at gameover +---dmpVersionCheck.cs: Tell the server what version of the pack the client has. This is mainly used for the server logo to be used or not. But can be used for debugging purposes. +--CreativityGame.cs: These are the JumpPads used on some maps. +--HothFFsGame.cs: These are the custom Hoth Screen Datablocks used in the Hoth base. +--TeleportGame.cs: This is the warp pad used on some maps. + +-Shapes +--borg16 and borg19 Autumn: Custom made autumn trees. (Wasn't used anywhere in the mappack) +--porg1-dark: Phoenix plant with with buds to match wasteland +--vend: T2 Vending machine pulled from Europack ProjectX asset +--rst Assets: These are the various easter eggs assets Rooster128 added + +-Terrains +--Attrition Terrain is a large round trenched circle +--DBS_Smooth is DeathBirdsSong but smoothed out for easier skiing +--Chasmaclysmic is a large terrain with a large valley in the center +--DX terrains are Dangerous Crossing variants, different themes etc. No change to physical terrains, just appearance. +--Hillking terrain is a T1 terrain used for Hillking LT map in xtra missions +--HO terrain are variants of the high octane terrain, different themes etc, No change to physical terrain, just appearance. +--MapAssets.ter is a flat terrain for MapAssets map +--Moonwalk is Magnum terrain themed to be moonlike +--PlanetX2 is a terrain from a map that didn't make the main maps. +--PuliVeivari is a EuroPack Map that was work on and smoothed. Was later dropped. +--Ravine Ter - Custom Terrain with the hanger removed +--RavineV Ter - The normal Ravine Terrain with the hanger. +--RandomTer1-10: These are just Random Terrains we made and threw in. Tried to vary them and smooth them. Maybe someone can make a map out of them one day! +--Rush is a Raindance type terrain for an LT map that was dropped +--SC terrains are variants of Small Crossing terrains. These have been smoothed and lfat spot removed to eliminate Dead Stops (With help from DarkTiger) +--Stripmine is cool terrain that was included +--Tyre is a crater terrain used for the map Tyre +--AshenPowder is a Europack terrain +--Bastage is a wasteland type terrain +--Birthright is a lush type terrain +--Crown is a Europack map terrain +--DesertedSE is a smaller version of Deserted terrain +--Helion is large flat terrain +--SoupLadle is a large green terrain +--Old Starfall terrain pulled from T1 by Darktiger +--Stripmine terrain for stripmine map, badlands type +--ThunderGiant: original terrain to IceGiant. Very Red. +--VanDamned is cluster map terrain smoothed out +--Voodoo: large green terrain +--Xerxes is a desert terrain +--Ziggerat is a large custom terrain with a lot of weird shapes, could be used for fun one day. + +-Textures +--Badlands +---iwal textures for anthem flagstand asset +--Desert +---iwal textures for anthem flagstand asset +--details +---Unused planetX details for terrain +--dox_textures +---some assets I forget which +--gui +---All the DMP loading screen textures +--Ice +---iwal textures for anthem flagstand asset +--Lava +---Various textures for lushbase re-texture, anthem flagstand asset, ProjectX asset +--Liquidtiles +---Various liquidtiles, some are used and some arnt +--Lush +---Textures for Hoth base, chasmaclysmic, and anthem asset +--skies +---clouds: light pink and blue skybox Rooster128 wanted added +---cubemap: A torque engine sky ported over +---borealis: CSGO skybox +---eve1-8: space skyboxes Rooster128 added +---haloday and halonight: Are halo style skyboxes showing halo ring (Halo the game) +---harvest: purple skybox found somewhere +---mr02: CSGO skybox +---PacificSky: Torque engine skybox +---Saturn: Found somewhere on internet +---Sky: CSGO skyboxes +---Space: CSGO skyboxes downsized and ported +---Tyre: Custom jagged claw skybox +---Sunset12: Yellow skybox Rooster128 added +--Skins +---Various colored skins for new players like t1 (Bioderm is a lot harder to recolor, sorry if non are included) +---Autumn plant textures +---Vending machine texture +--Special +---Glass texture for siege spaceship asset +--Taco +---Taco.png: Easter Egg Texture +--Terrains +---More terrain textures found in various locations (some used and unused) Terrain textures aren't always easy to make. +--Texticons +---dpub +----8 small server logos to be used with the server Debrief Screen cs used on tacoserver. You could consider them easter eggs. But since we are here might as well. +-DMLs to the various skyboxes (These can be edited in notepad) + +-Xtra Missions +--Attrition: Round Trenched map. People may play it or not. Idea originally from cluster pack +--Chasmaclysmic: Big vehicle map with interesting base and terrain. Same as Attrition, people may play it or not +--DBS_Smoothed: Smoothed version of DeathBirdsSong, did for fun. People may like it or not +--DX variants: Badlands, Desert, Ice. No modifications to terrains just cosmetic +--HillKingLT: LT map from T1, Terrain grabbed by DarkTiger, may be fun. +--HO variants: Variations of High Octane, Badlands, Desert, Ice, Lush. Re-textured base to match some. No change to terrain just cosmetic. +--MapAsssets: All assets in this map are on this map for quick reference +--Moonwalk: Magnum terrain with moon textures, unfinished, maybe finish one day +--PlanetX: Unfinished map, People may play or not +--Ravine: Non Vehicle version +--Rush: raindance type terrain LT map, may or may not be fun +--SC variants: Variations of small crossing terrain. Terrain IS modified to removed deadstops using script made by DarkTiger to find flatspots. Tried to not change most of the terrain. +--Stripmine: Cool map, people may or may not like +--Tyre: Big open crater map, its different and flat. People may or may not like. +--VanDamnedLT: Smoothed out LT map that was worked on. Could be fun. \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Attrition.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Attrition.mis new file mode 100644 index 00000000..092ef4a3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Attrition.mis @@ -0,0 +1,1415 @@ +// DisplayName = Attrition +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//The stars can't shine without the darkness! +// -- someone +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Cluster]800 points to win +//Map by Narcot!c (Thx to loach and DeeVee) +//Assets by Zear's Friend (Asset Maker unknown) +//Terrain by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-360 -664 1264 1360"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new FileObject() { + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Attrition.ter"; + squareSize = "8"; + emptySquares = "152479 414877 415133 546460 546716 481436 285086 435614 566941 567197 567453 502173 436894 306079"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new Sun() { + position = "1088 1712 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.620000 0.630000 0.600000 1.000000"; + ambient = "0.420000 0.430000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + texture3 = "special/LensFlare/flare02"; + texture2 = "special/LensFlare/flare01"; + texture0 = "special/sunFlare"; + texture4 = "special/LensFlare/flare03"; + texture1 = "special/sunFlare02"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Abominable.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0"; + cloudSpeed2 = "0"; + cloudSpeed3 = "0"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.290000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.212500 0.312500 0.312500 1.000000"; + fogVolume1 = "200 205 15"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "64.000000 64.000000 64.000000 0.000000"; + fogVolumeColor2 = "64.000000 64.000000 64.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "64.000000 64.000000 64.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.05665e+20 -3.13715e-37"; + high_fogVolume2 = "-1 -2.97835e-09 2.21725e+28"; + high_fogVolume3 = "-1 -2.59274e+33 55388.8"; + + locked = "1"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "255.367 -319.265 96.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "258.524 -280.416 52.648"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "277.883 -300.772 87.349"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "235.801 -300.947 87.254"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "256.212 -328.582 90.895"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "302.589 -373.777 77.39"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "207.752 -355.54 77.346"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "256.656 -289.067 52.98"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "Xtra_attrition_vbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "257.142 -408.637 71.5987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "256.844 -297.168 87.005"; + rotation = "0 0 -1 1.1467"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9418"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "33"; + }; + new TSStatic() { + position = "234.043 -281.296 52.3716"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "1"; + }; + new StaticShape() { + position = "256.552 -290.884 87"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9421"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "34"; + }; + new StaticShape() { + position = "228.843 -267.951 93.95"; + rotation = "0 0 -1 49.457"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9423"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "35"; + }; + new StaticShape() { + position = "284.492 -268.311 93.94"; + rotation = "0 0 1 45.0811"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9425"; + team = "1"; + inUse = "Down"; + notReady = "1"; + Target = "36"; + }; + new InteriorInstance(InteriorInstance) { + position = "257.023 -315.117 59.4694"; + rotation = "0.488322 -0.486434 -0.724516 108.114"; + scale = "1 1 1.3"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "234.659 -281.054 55.6349"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + + team = "1"; + }; + new Item() { + position = "256.658 -267.81 53.666"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "256.424 -358.574 106.019"; + rotation = "0.00196867 -0.0898617 0.995952 181.05"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "37"; + }; + new InteriorInstance(InteriorInstance) { + position = "263.686 -307.568 50.6888"; + rotation = "5.36524e-05 -0.0033957 0.999994 220.684"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "256.579 -305.495 52.987"; + rotation = "-0 0 -1 1.28327"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + repairedBy = "9394"; + damageTimeMS = "571442"; + team = "1"; + lastDamagedBy = "9394"; + wasDisabled = "0"; + Target = "38"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "257.756 -474.342 135.327"; + rotation = "-0 0 -1 0.754847"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "3363990"; + team = "1"; + lastDamagedBy = "10241"; + Target = "39"; + lastDamagedByTeam = "2"; + }; + new InteriorInstance() { + position = "254.69 -480.302 138.833"; + rotation = "0 0 1 180.521"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "256.439 -266.038 76.83"; + rotation = "0.574034 0.571419 0.586486 121.776"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "40"; + }; + new Turret() { + position = "256.807 -307.109 94.927"; + rotation = "0.576324 -0.576412 0.57931 239.822"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "41"; + }; + new TSStatic() { + position = "281.452 -282.206 52.9"; + rotation = "0 0 -1 90.1375"; + scale = "1.6 1 1.6"; + shapeName = "vend.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "249.854 -307.776 50.6888"; + rotation = "-3.99894e-05 0.00253088 0.999997 139.896"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "240.656 -266.251 83.6307"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "272.346 -266.25 83.6307"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + }; + new Item() { + position = "256.955 -408.655 73.39"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "78365"; + isHome = "1"; + team = "1"; + WayPoint = "9581"; + Trigger = "9582"; + Target = "42"; + originalPosition = "256.955 -408.655 73.39 0 0 1 1.59"; + className = "FlagObj"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "262.335 331.138 118.731"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "241.696 302.834 91.51"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "284.179 300.623 91.542"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "264.115 326.447 91.769"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "262.294 280.955 53.2"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "10"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "302.673 376.363 77.549"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "215.736 370.751 76.067"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "263.058 289.934 53.059"; + rotation = "-0.00555959 -0.00421599 0.999976 91.675"; + scale = "1 1 1"; + interiorFile = "Xtra_attrition_vbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "265.755 409.705 74.0059"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "265.755 409.705 74.0059"; + rotation = "0 0 1 1.71915"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "263.066 297.647 87.181"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9458"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "43"; + }; + new StaticShape() { + position = "262.738 291.128 87.07"; + rotation = "-0 0 -1 0.385629"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9460"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "44"; + }; + new StaticShape() { + position = "263.497 305.839 53.005"; + rotation = "0 0 1 180.527"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "289.808 268.15 93.979"; + rotation = "0 0 1 129.103"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9463"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "46"; + }; + new StaticShape() { + position = "234.667 269.536 93.77"; + rotation = "0 0 1 224.97"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9465"; + team = "2"; + inUse = "Down"; + notReady = "1"; + Target = "47"; + }; + new InteriorInstance(InteriorInstance) { + position = "263.609 315.247 59.9048"; + rotation = "-0.489503 -0.477638 0.729554 109.356"; + scale = "1 1 1.3"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new Item() { + position = "262.486 268.94 52.858"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Turret() { + position = "262.565 266.608 76.451"; + rotation = "-0.577645 0.585436 -0.56885 118.433"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "48"; + }; + new Turret() { + position = "263.541 307.534 95.617"; + rotation = "0.581623 0.567507 0.582795 121.106"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "49"; + }; + new InteriorInstance() { + position = "268.445 482.077 153.523"; + rotation = "0 0 1 2.33134"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new StaticShape() { + position = "265.193 476.217 150.017"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "3363990"; + team = "2"; + lastDamagedBy = "10241"; + Target = "50"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "264.924 359.551 106.664"; + rotation = "0.976981 -0.0683909 0.202065 9.97345"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "51"; + }; + new TSStatic() { + position = "238.055 282.412 52.9"; + rotation = "0 0 1 92.636"; + scale = "1.6 1 1.6"; + shapeName = "vend.dts"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "256.534 307.896 51.1246"; + rotation = "0.00882279 1.41142e-05 0.999961 42.3134"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "278.128 266.378 83.6307"; + rotation = "0 0 1 180.482"; + scale = "2 2 2"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "246.736 267.442 83.6307"; + rotation = "0 0 1 180.482"; + scale = "2 2 2"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new TSStatic() { + position = "284.813 281.792 55.718"; + rotation = "-0 0 -1 88.418"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + + team = "2"; + }; + new TSStatic() { + position = "285.436 282.017 52.4547"; + rotation = "-0 0 -1 88.418"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "270.367 307.711 51.1246"; + rotation = "-0.00721621 -1.1549e-05 -0.999974 38.4774"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new Item() { + position = "265.671 409.673 75.904"; + rotation = "0 0 1 89.9545"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "58146"; + isHome = "1"; + team = "2"; + WayPoint = "9583"; + Trigger = "9584"; + Target = "52"; + originalPosition = "265.671 409.673 75.904 0 0 1 1.57"; + className = "FlagObj"; + }; + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "276.427 -7.40453 49.098"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + interiorFile = "Xtra_attrition_tower.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "276.572 -7.45653 61.321"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(MiscObjects) { + + powerCount = "0"; + + new InteriorInstance() { + position = "217.586 -347.347 82.3649"; + rotation = "-0.617438 -0.159072 -0.770368 75.403"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "289.947 327.801 87.232"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "289.258 324.695 88.609"; + rotation = "-0.295427 0.318229 -0.900807 98.6514"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "249.307 307.099 87.048"; + rotation = "0 0 -1 112.873"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "236.317 323.032 87.276"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "286.826 335.894 110.351"; + rotation = "0.973349 0.0194696 -0.2285 10.0057"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "286.957 332.467 110.664"; + rotation = "0.167668 -0.0950669 -0.981249 42.5542"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "286.157 333.953 112.101"; + rotation = "0 0 -1 97.4028"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "277.445 -327.721 110.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "278.075 -326.122 112.628"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "277.51 -323.954 110.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "227.764 -325.97 86.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "241.575 -306.375 86.813"; + rotation = "0 0 -1 26.3561"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "284.105 -323.128 86.912"; + rotation = "0 0 1 66.4631"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "282.544 -323.765 87.703"; + rotation = "0 1 0 36.0964"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "276.527 -7.42754 59.924"; + rotation = "0 0 1 89.9544"; + scale = "1.2 1.2 0.6"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "301.183 342.772 75.881"; + rotation = "0.290856 0.35485 0.888529 131.155"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "281.128 -351.134 74.459"; + rotation = "0 0 -1 56.7229"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "68.3964 -452.81 135.249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "266.901 -8.59853 60.305"; + rotation = "-0 0 -1 87.6625"; + scale = "1.2 1.2 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-103.685 259.096 147.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "279.75 -281.577 123.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "488.159 125.74 120.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "577.932 382.245 147.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "83.6972 -77.1534 128.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "286.107 -6.1795 60.305"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "296.107 268.146 127.208"; + rotation = "0 0 1 65.3172"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "1"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "256.367 -455.459 105.053"; + rotation = "0.32738 -0.00575519 0.944875 2.13176"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "268.077 452.646 105.414"; + rotation = "0 0 1 183.92"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "142.49 72.4228 204.976"; + rotation = "0.172322 -0.291997 0.940767 121.923"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition4BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "316 -188 120.656"; + rotation = "0.25653 0.165312 0.952294 113.591"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-28 -116 74.5781"; + rotation = "0.0593255 -0.117773 -0.991267 40.3243"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "460 292 76.625"; + rotation = "0.0294229 -0.279938 -0.959567 80.3224"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-116 132 138.875"; + rotation = "-0.321275 -0.26248 -0.909883 82.3215"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-76 340 150.125"; + rotation = "0.119004 -0.102922 0.987545 86.7166"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "396 84 104.859"; + rotation = "-0.351906 0.266554 0.89728 57.0542"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "348 -300 125.516"; + rotation = "-0.00828029 0.0726468 -0.997323 92.1533"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 244 130.656"; + rotation = "-0.0479826 0.0160062 0.99872 45.0519"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "108 268 126.203"; + rotation = "-0.190862 -0.131717 0.97274 234.697"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "388 -28 107.531"; + rotation = "0.448794 0.0856436 -0.889522 53.1782"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "492 36 121.922"; + rotation = "0.139184 0.0256137 0.989935 203.765"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "300 420 70.7344"; + rotation = "-0.589312 0.803443 -0.0847985 34.3186"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-36 108 79.6407"; + rotation = "-0.0153752 -0.151712 -0.988305 25.2866"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "460 308 74.7031"; + rotation = "-0.0472894 0.208 0.976985 37.8103"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 140 76.25"; + rotation = "-0.34368 0.02193 -0.938831 91.6154"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "172 284 127.203"; + rotation = "0.0503822 0.0319178 0.99822 117.091"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-28 220 85.1094"; + rotation = "0.0690942 -0.45137 0.889658 77.4421"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "484 44 123.406"; + rotation = "0.0389015 -0.0610634 0.997376 65.1362"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "340 -236 128.234"; + rotation = "0.0445016 -0.112974 0.992601 43.291"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "132 -260 129.516"; + rotation = "0.0724566 -0.0722297 -0.994753 111.281"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "508 444 147.125"; + rotation = "-0.217216 -0.0513042 0.974774 80.4404"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "356 316 124.219"; + rotation = "0.045923 0.143333 0.988608 139.429"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-68 -276 146.156"; + rotation = "0.182049 0.132258 0.974354 214.156"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "268 -124 85.0157"; + rotation = "0.364993 0.267736 0.891682 73.1718"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 380 67.75"; + rotation = "-0.00466721 -0.0804403 0.996749 182.99"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 308 144.078"; + rotation = "0.197812 -0.0268311 0.979873 222.211"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "428 -92 130.125"; + rotation = "0.0220468 0.0087676 -0.999718 114.015"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "268 -164 110.234"; + rotation = "-0.0538229 0.219667 0.974089 201.443"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "44 276 78.1875"; + rotation = "-0.0200115 0.0056843 0.999784 198.996"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 100 83.8437"; + rotation = "-0.325745 -0.640395 -0.695546 38.0856"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-156 -44 143.687"; + rotation = "0 0 1 54"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "132 372 67.9219"; + rotation = "0.0677764 -0.0568711 0.996078 100.222"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 244 126.891"; + rotation = "0.00416723 -0.15259 0.988281 228.492"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "540 172 76.8125"; + rotation = "-0.328971 0.605443 0.724719 27.3492"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "460 196 87"; + rotation = "0.094808 0.29704 0.950147 128.335"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-132 180 145.672"; + rotation = "0.0733674 -0.00560492 0.997289 187.978"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 76 93.5"; + rotation = "-0.204189 0.167888 0.964428 84.0599"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "44 124 129.516"; + rotation = "0.371809 0.0489539 -0.927018 26.8993"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-148 12 143.687"; + rotation = "0 0 -1 29.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-124 244 151.25"; + rotation = "-0.0582248 0.0497285 0.997064 99.1664"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "28 468 147.953"; + rotation = "0.310895 -0.0717757 -0.94773 27.3813"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "284 124 77.8906"; + rotation = "0.140145 -0.283912 0.948553 191.387"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "212 -268 130.563"; + rotation = "0.00610772 -0.0580833 0.998293 171.015"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 156 78.8125"; + rotation = "0.102701 -0.00318491 0.994707 117.271"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 -76 63.5938"; + rotation = "0.0703037 0.0794642 0.994355 186.961"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 12 114.891"; + rotation = "0.185211 0.129685 -0.974104 111.406"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "44 -100 124.422"; + rotation = "-0.0831394 -0.0389881 0.995775 214.861"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-60 -116 89.0781"; + rotation = "-0.0233759 -0.85154 -0.523768 45.8831"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "532 260 92.1719"; + rotation = "-0.543003 0.786004 0.295544 39.1539"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "468 444 143.594"; + rotation = "-0.768831 0.297467 -0.56605 22.7613"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Chasmaclysmic.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Chasmaclysmic.mis new file mode 100644 index 00000000..6a483c78 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Chasmaclysmic.mis @@ -0,0 +1,2830 @@ +// DisplayName = Chasmaclysmic +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//A great chasm separates me from my enemies. +//But the final battle, the cataclysm, draws neigh. +//Survivors will call this war... +//...Chasmaclysmic! +// -- T'or, Leader Of Tribe M'kot +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//One point of access for land vehicles +//Difficult terrain slopes away from chasm +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "5"; + + new MissionArea(MissionArea) { + area = "-592 -1048 1344 2032"; + flightCeiling = "500"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-36 -924 186.319"; + rotation = "0.0456851 0.0350566 0.998341 75.0919"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -492 224.866"; + rotation = "-0.20004 0.0738323 -0.977002 39.8463"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 -212 336.178"; + rotation = "0.0971697 -0.238873 0.966177 221.672"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "92 740 205.756"; + rotation = "0.994141 -0.0718549 -0.0807553 35.9288"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "44 924 236.209"; + rotation = "-0.263648 0.0717554 0.961946 89.2215"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 -972 241.163"; + rotation = "0.00609954 0.00853053 0.999945 72.003"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "556 852 193.053"; + rotation = "-0.0272367 -0.00512647 0.999616 213.988"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "580 540 198.053"; + rotation = "0.97017 0.150661 0.189927 15.7001"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "980 380 238.506"; + rotation = "0.0598969 0.159056 0.985451 136.581"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-164 -524 200.428"; + rotation = "-0.587133 -0.0663797 -0.806764 14.845"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-612 164 305.678"; + rotation = "0.037466 0.133138 0.990389 151.267"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "884 380 238.975"; + rotation = "0.443776 -0.303021 -0.843351 40.9979"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 -76 88.0063"; + rotation = "-0.0658737 -0.189857 0.979599 117.056"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "420 -572 203.553"; + rotation = "-0.062227 0.0330867 -0.997513 56.1184"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-540 876 199.444"; + rotation = "-0.0355747 -0.304056 0.95199 83.794"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "68 -596 198.6"; + rotation = "-0.0304193 0.0150993 -0.999423 44.023"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "868 788 195.569"; + rotation = "-0.0059585 0.0189128 0.999803 220.993"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-860 -292 301.803"; + rotation = "-0.0641382 -0.189452 0.979793 165.299"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-236 148 310.428"; + rotation = "0.670617 -0.0382691 0.740816 29.4044"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-236 908 239.475"; + rotation = "-0.176459 0.179714 -0.967763 116.689"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-324 -468 228.084"; + rotation = "-0.287239 -0.0816463 0.954373 45.89"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "4 652 192.787"; + rotation = "-0.163502 0.0705399 -0.984018 34.5198"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 -204 333.522"; + rotation = "-0.312848 -0.179633 0.932662 61.4486"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-564 -972 251.788"; + rotation = "0.161519 0.167474 0.972555 65.4415"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "892 -420 245.459"; + rotation = "-0.918112 0.0532777 0.392723 34.7236"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-948 220 285.803"; + rotation = "0.25434 0.141766 0.956668 61.1999"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-748 -940 185.788"; + rotation = "0.112611 -0.0730579 -0.99095 29.2536"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-796 860 201.444"; + rotation = "-0.066254 -0.0906174 0.993679 180.994"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-428 636 193.178"; + rotation = "-0.0224076 0.0352474 0.999127 147.027"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-220 540 219.6"; + rotation = "0.312196 0.292095 0.903999 44.939"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-468 -740 189.178"; + rotation = "-0.104624 0.115676 0.987762 153.318"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "852 -308 295.959"; + rotation = "-0.480062 0.175796 -0.85944 43.6663"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-548 -332 291.022"; + rotation = "-0.985959 -0.166989 0 26.1634"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "772 580 198.116"; + rotation = "0.203027 -0.176006 -0.963225 39.3413"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "124 892 234.741"; + rotation = "0.0596741 -0.0766996 0.995267 196.921"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-279.624 -793.045 116.669"; + rotation = "-0.132254 0.0379231 0.99049 58.4652"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-724 -708 185.834"; + rotation = "-0.253569 0.292639 0.92199 16.2529"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "468 -580 203.631"; + rotation = "-0.0426538 0.200672 -0.978729 19.4053"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-484 -524 213.303"; + rotation = "-0.370786 0.275788 -0.886825 59.7589"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "444 92 326.334"; + rotation = "0.168902 -0.174566 -0.970051 64.5626"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "372 -860 199.116"; + rotation = "0.657209 0.401466 0.637888 39.7931"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 -276 307.397"; + rotation = "-0.422726 0.103318 -0.900349 44.0228"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-596 236 285.35"; + rotation = "0.00841511 0.136172 0.990649 127.429"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-468 548 211.241"; + rotation = "0.0525404 0.0185556 0.998446 132.066"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-364 244 285.412"; + rotation = "0.409649 0.00372423 -0.912236 49.9066"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "444 420 228.959"; + rotation = "-0.0159696 0.121697 0.992439 204.816"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 108 322.428"; + rotation = "-0.0322502 0.0847342 0.995881 226.828"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "12 684 203.866"; + rotation = "-0.197432 -0.213008 0.956895 123.139"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "44 836 203.819"; + rotation = "-0.106602 -0.0978918 0.989471 173.073"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "28 196 276.006"; + rotation = "0.033331 0.0692844 0.99704 127.136"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-764 396 246.194"; + rotation = "-0.0897579 0.252021 0.96355 228.39"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-964 684 194.475"; + rotation = "0.0205623 -0.0378712 0.999071 147.029"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-156 -436 224.1"; + rotation = "-0.328879 -0.327262 0.885854 80.7721"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 -668 196.787"; + rotation = "0.00487337 -0.0745113 0.997208 185.983"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "188 748 192.537"; + rotation = "0.056123 -0.00128477 0.998423 95.0898"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "324 -236 321.475"; + rotation = "-0.478133 0.150755 -0.865252 40.0436"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 -332 290.288"; + rotation = "-0.986719 0.162436 1.27913e-05 19.8071"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 620 202.678"; + rotation = "0.985423 -0.0927254 0.142633 20.8061"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-12 -308 280.35"; + rotation = "0.00924771 -0.0511917 0.998646 193.981"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "932 252 277.522"; + rotation = "0.0974976 0.130464 0.986648 142.472"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-460 500 216.6"; + rotation = "-0.0130647 0.0692826 0.997512 194.963"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-148 -964 188.459"; + rotation = "0.0774748 0.110623 0.990838 142.324"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "932 -508 219.709"; + rotation = "-0.105477 -0.173879 0.979102 162.37"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-140 636 195.319"; + rotation = "0.161692 0.105709 0.981163 46.7889"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-12 -276 285.538"; + rotation = "-0.33904 -0.156616 0.927644 33.2887"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "1004 -612 189.459"; + rotation = "-0.0127882 0.0453468 -0.998889 106.061"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-764 -252 316.194"; + rotation = "-0.985268 -0.0258002 0.169059 17.6094"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-956 12 348.647"; + rotation = "-0.0101773 0.0423579 0.999051 232.957"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-652 44 340.475"; + rotation = "0.35815 -0.120174 -0.925898 49.2581"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 140 313.225"; + rotation = "0.19058 -0.17716 -0.965554 48.4865"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-92 -220 321.444"; + rotation = "-0.0260498 -0.278339 0.96013 150.18"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-748 340 262.913"; + rotation = "0.171566 0.0919112 0.980876 117.982"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "468 -652 195.709"; + rotation = "-0.0578771 -0.0294897 0.997888 144.071"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-732 -404 257.35"; + rotation = "-0.961718 -0.135398 0.238256 24.811"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-52 -492 212.475"; + rotation = "-0.113084 -0.133647 0.984556 192.801"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108 116 316.788"; + rotation = "0.182686 -0.203298 -0.961923 56.8424"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 -772 198.709"; + rotation = "-0.049076 0.0229051 0.998532 232.933"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-508 508 215.741"; + rotation = "-0.0228148 0.0447767 0.998736 233.942"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244 628 192.006"; + rotation = "0.0155595 0.0117252 0.99981 74.0101"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-580 -756 190.069"; + rotation = "0.0247178 0.0479392 0.998544 143.05"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 -868 194.694"; + rotation = "0.274412 -0.17933 0.944743 82.2126"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-524 876 195.741"; + rotation = "0.0824458 -0.112555 0.990219 179.01"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-812 -372 267.85"; + rotation = "0.0531537 -0.264668 0.962874 223.488"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "708 -620 196.147"; + rotation = "-0.287979 0.0648769 -0.955437 35.4885"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "300 140 310.272"; + rotation = "0.180014 -0.143189 -0.973186 78.5221"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-476 932 209.397"; + rotation = "-0.415139 0.0410474 0.908832 72.1303"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 -604 197.334"; + rotation = "0.0416207 -0.0268557 0.998772 70.0659"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 540 224.788"; + rotation = "-0.0888314 -0.0237888 0.995763 229.814"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "380 724 193.569"; + rotation = "0.0344563 -0.0945886 0.99492 99.2884"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 -228 325.803"; + rotation = "-0.318147 0.203984 -0.925836 73.1753"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "396 332 263.225"; + rotation = "0.224185 0.12194 0.966888 106.856"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "180 700 201.319"; + rotation = "0.283296 -0.458436 0.842366 61.2412"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "956 348 248.381"; + rotation = "0.16637 -0.130887 -0.977338 100.295"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "812 -988 236.944"; + rotation = "0.190284 -0.141412 0.971491 120.439"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 116 308.475"; + rotation = "-0.213236 0.057085 0.975332 232.851"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "420 956 239.538"; + rotation = "-0.0277184 -0.162491 -0.986321 84.7852"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "996 516 198.35"; + rotation = "0.430235 -0.2325 -0.872262 35.275"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 -684 189.662"; + rotation = "-0.0397476 -0.0744481 0.996432 174.021"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "948 404 230.6"; + rotation = "0.212462 -0.121288 -0.969613 69.6488"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-708 788 203.819"; + rotation = "-0.206108 -0.0959692 0.973812 28.7222"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-132 -220 324.366"; + rotation = "-0.440139 0.131364 -0.888269 56.469"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-524 -164 342.272"; + rotation = "0.019108 0.137607 0.990303 76.5426"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "300 300 263.991"; + rotation = "0.320212 -0.173139 -0.93139 58.4033"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-236 156 307.772"; + rotation = "-0.0145489 0.176625 0.984171 222.38"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108 340 251.834"; + rotation = "0.0418507 0.0727738 0.99647 168.042"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-604 756 191.928"; + rotation = "-0.00182806 -0.013781 0.999903 116.005"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-716 36 343.162"; + rotation = "0.326617 -0.112362 -0.938454 38.1945"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "924 -876 187.475"; + rotation = "0.0860614 0.0936863 -0.991875 68.4341"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "708 476 216.881"; + rotation = "0.0315783 0.101915 0.994292 154.143"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "740 308 268.709"; + rotation = "0.816999 -0.464652 -0.341484 11.6781"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 -332 285.428"; + rotation = "-0.537753 0.164306 -0.826937 57.7186"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "612 44 337.569"; + rotation = "-0.998232 -0.0229517 0.0548319 35.3165"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "460 -932 240.037"; + rotation = "0.801696 -0.331013 0.497709 10.0267"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-12 316 258.803"; + rotation = "0.160873 -0.132997 -0.977973 93.2746"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-956 -988 201.022"; + rotation = "0.0667403 -0.357296 -0.931604 117.653"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-340 -164 343.194"; + rotation = "0.163356 -0.171466 0.971552 30.8372"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "748 -892 237.834"; + rotation = "0.271727 0.0316802 0.961853 60.9289"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "364 -1004 240.147"; + rotation = "-0.366555 -0.229705 -0.901595 9.9773"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-239.624 -753.045 122.903"; + rotation = "0.00587607 0.00267396 0.999979 228.999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-796 -500 221.897"; + rotation = "0.144367 -0.122756 0.98188 202.594"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 868 218.881"; + rotation = "-0.0335909 -0.270399 0.962162 143.34"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-628 732 191.881"; + rotation = "-0.0101634 -0.00480451 -0.999937 83.0038"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "900 940 253.006"; + rotation = "0.0470457 0.0642345 -0.996825 70.1713"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 -588 202.428"; + rotation = "0.0123258 -0.0416908 0.999055 229.959"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-972 -828 186.1"; + rotation = "-0.0381742 0.0800726 0.996058 125.185"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "620 -340 282.959"; + rotation = "-0.296692 -0.097917 0.94994 55.3861"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "388 -204 334.116"; + rotation = "-0.130594 0.183863 -0.974238 103.458"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-452 348 254.975"; + rotation = "0.0576203 0.132851 0.98946 193.854"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108 -188 336.803"; + rotation = "-0.0464874 -0.141893 0.98879 146.359"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "508 820 194.959"; + rotation = "0.130936 -0.124744 -0.983511 35.5501"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "708 428 231.022"; + rotation = "0.965624 0.245402 -0.085719 23.0188"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "652 -820 189.178"; + rotation = "0.212925 -0.180313 -0.960286 118.068"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "980 76 329.772"; + rotation = "0.349507 -0.145447 -0.925575 46.1079"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-324 -372 267.366"; + rotation = "-0.258158 0.319171 -0.911858 80.1608"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-444 484 218.116"; + rotation = "0.0211527 -0.024239 -0.999482 65.0267"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "588 716 199.584"; + rotation = "-0.827424 -0.466902 0.312045 6.40335"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "924 460 215.85"; + rotation = "0.334645 0.00838268 -0.942307 35.9514"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 644 196.428"; + rotation = "-0.549167 -0.446517 -0.706426 23.8905"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-52 196 286.944"; + rotation = "-0.0404258 -0.10963 -0.99315 93.3933"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 748 200.444"; + rotation = "0.999568 -0.0293873 0 27.9894"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-836 468 215.756"; + rotation = "0.207915 -0.150809 -0.966451 66.7845"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "732 -884 237.147"; + rotation = "0.225328 0.0701589 0.971754 72.5594"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "860 148 311.366"; + rotation = "0.597474 -0.475943 -0.64537 15.4405"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 260 277.491"; + rotation = "0.807928 0.0287815 -0.588578 18.5821"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 932 246.569"; + rotation = "-0.0718341 -0.0287477 0.997002 63.1537"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-612 -284 304.584"; + rotation = "0.0116986 -0.16491 0.986239 193.809"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "948 604 204.616"; + rotation = "-0.205851 -0.222706 -0.952905 63.4454"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-764 -284 308.016"; + rotation = "-0.305352 0.161746 -0.938402 31.8719"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-876 -164 340.203"; + rotation = "0.159691 0.271673 0.949048 129.355"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "212 532 224.109"; + rotation = "-0.105191 0.0378189 0.993733 231.717"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "620 116 317.516"; + rotation = "0.0539223 0.161205 0.985447 141.525"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "884 820 194.953"; + rotation = "0.0152581 -0.0873998 0.996056 149.116"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-572 836 200.922"; + rotation = "0.0990466 -0.256849 0.961363 97.2447"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-508 780 191.438"; + rotation = "0 0 -1 13.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-540 948 209.094"; + rotation = "-0.423218 0.106485 -0.899749 73.7151"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 724 202.484"; + rotation = "0.091392 -0.0822899 0.992409 185.955"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "980 -516 218.266"; + rotation = "0.013109 -0.186368 0.982393 153.458"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "68 -636 198.266"; + rotation = "0.021798 0.00722605 -0.999736 66.0139"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "140 76 328.344"; + rotation = "0.185404 -0.189974 -0.964124 87.0879"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "508 420 230.828"; + rotation = "-0.0377153 0.144832 0.988737 219.584"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "580 -588 200.906"; + rotation = "-0.0419739 -0.0393583 0.998343 108.091"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "68 364 244.656"; + rotation = "0.230619 -0.123524 -0.965172 87.026"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1004 -884 183.859"; + rotation = "0.0839307 -0.0744271 0.993688 56.3013"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 -620 197.641"; + rotation = "-0.63388 0.0554962 -0.771438 12.9407"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1012 -956 188.656"; + rotation = "0.210551 0.717408 -0.664074 19.4712"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "188 -620 196.656"; + rotation = "-0.0578662 0.0663963 -0.996114 64.2011"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "636 -916 239.641"; + rotation = "-0.0120787 0.00196502 0.999925 131.003"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-252 -268 310.594"; + rotation = "-0.285392 0.135453 -0.948791 52.3461"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "732 252 283.391"; + rotation = "0.174569 0.136993 0.975069 81.4277"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-812 964 245.891"; + rotation = "-0.09155 -0.0310998 0.995315 28.1266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-444 396 236.047"; + rotation = "0.262648 -0.248344 -0.932385 73.8124"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-36 860 197.609"; + rotation = "-0.0841661 0.0609486 -0.994586 68.2885"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-892 588 198.516"; + rotation = "-0.0887385 0.030057 -0.995601 61.2211"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "84 644 195.344"; + rotation = "-0.792391 0.605352 -0.0752716 13.2281"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-892 932 223"; + rotation = "-0.911999 -0.346777 -0.219096 22.54"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 844 198.266"; + rotation = "-0.02928 -0.150085 0.988239 62.5997"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-180 732 197.469"; + rotation = "-0.0619804 0.0650432 0.995956 89.2319"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-972 780 192.234"; + rotation = "0.0189657 0.00325662 0.999815 170.002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "404 -356 278.797"; + rotation = "-0.376079 0.311561 -0.872636 57.321"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "524 876 196.328"; + rotation = "-0.188487 -0.403266 0.89546 48.5692"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "932 -756 194.359"; + rotation = "-0.0302734 0.17035 -0.984918 77.85"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 444 223.156"; + rotation = "0.0480788 0.0657356 0.996678 162.059"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "580 -308 294.656"; + rotation = "-0.154376 0.181939 -0.971116 108.599"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-604 44 340.859"; + rotation = "0.204491 0.155126 0.966498 78.9088"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "932 956 249.25"; + rotation = "0.232704 -0.124473 0.964549 53.6476"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "820 68 331.937"; + rotation = "0.229269 -0.144629 -0.962558 64.9648"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "924 -692 187.594"; + rotation = "-0.0267625 0.0402487 0.998831 136.047"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "124 -612 197.594"; + rotation = "-0.0779222 -0.0713358 0.994404 30.1612"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-300 76 332.75"; + rotation = "0.204693 -0.177931 -0.962518 84.1726"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-956 -980 195.25"; + rotation = "0.067095 0.276141 0.958772 190.549"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "964 860 202.047"; + rotation = "-0.360111 0.0901692 -0.928542 99.2147"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-412 -588 197.922"; + rotation = "-0.011727 -0.0128832 0.999848 118.007"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "164 460 216.766"; + rotation = "0.921899 0.0640635 0.382098 10.4437"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-972 620 191.562"; + rotation = "-0.000130186 0.00212855 -0.999998 83.0004"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-708 -708 187.203"; + rotation = "-0.120527 0.0783312 0.989615 58.5088"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-724 172 301.844"; + rotation = "0.0439078 0.121254 0.99165 149.246"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-276 -164 340.984"; + rotation = "-0.0419188 0.121081 0.991757 211.75"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 292 278.5"; + rotation = "0.313187 0.291756 0.903766 90.7908"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-36 788 194.047"; + rotation = "0.0766664 0.0445435 0.996061 137.154"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "412 -196 336.797"; + rotation = "0.00547794 -0.0977572 0.995195 204.883"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-436 -572 198.656"; + rotation = "-0.11713 0.0347642 -0.992508 36.2538"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-196 -356 278.125"; + rotation = "-0.336148 0.151812 -0.929493 78.0643"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-604 -1004 250.828"; + rotation = "0.0569553 0.734218 -0.676521 16.2009"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 -996 243.547"; + rotation = "-0.221895 -0.479315 -0.849129 75.8722"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "756 676 194"; + rotation = "0.578844 0.72388 -0.375416 5.32395"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "684 388 243.375"; + rotation = "0.891308 0.422004 0.165776 23.7909"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-228 -972 188.156"; + rotation = "0.222125 -0.135112 -0.965611 93.0035"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-308 -308 303.172"; + rotation = "0.0841438 -0.203272 0.9755 231.874"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-932 -908 186.5"; + rotation = "-0.0665243 -0.0273243 0.997411 222.898"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-412 -468 232.734"; + rotation = "-0.0255186 -0.213806 0.976543 160.46"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 -532 198.219"; + rotation = "-0.0374581 -0.0814642 0.995972 116.207"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-412 788 199.687"; + rotation = "0.1386 0.213132 0.967143 91.9139"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-748 964 241.688"; + rotation = "0.0801717 -0.0177832 0.996622 184.983"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 -500 219.484"; + rotation = "-0.354085 -0.202968 0.912923 48.8097"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 164 302.922"; + rotation = "0.655156 -0.122255 -0.745536 23.9873"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-372 -204 332.547"; + rotation = "-0.034554 -0.16984 0.984866 157.339"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-340 724 220.234"; + rotation = "-0.0442059 -0.0331326 0.998473 178.003"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-700 -372 266.891"; + rotation = "-0.141378 -0.233373 0.962055 88.2132"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-620 500 217.609"; + rotation = "0.735853 -0.0981228 0.669994 11.9166"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-716 348 257.312"; + rotation = "0.0349593 0.180082 0.98303 140.626"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 -820 190.422"; + rotation = "-0.134399 0.0336624 0.990355 64.5001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "484 -268 309.703"; + rotation = "-0.624462 -0.132733 0.769694 30.8757"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "772 -820 207.578"; + rotation = "-0.155133 -0.393085 -0.906321 41.6054"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "884 -444 233.187"; + rotation = "-0.365147 0.189406 -0.911478 45.676"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-580 -460 230.203"; + rotation = "-0.0892281 0.151798 -0.984376 114.821"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-932 -996 201.094"; + rotation = "0.1365 0.256746 0.956791 154.126"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-764 268 274.516"; + rotation = "-0.0538101 0.0814729 0.995222 201.898"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 292 267.688"; + rotation = "0.0548001 -0.176412 -0.98279 113.913"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "940 764 195.188"; + rotation = "0.0583354 -0.0240317 -0.998008 62.1012"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-76 -756 194.953"; + rotation = "0.0334403 0.0378082 -0.998725 95.0731"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-684 -588 200.703"; + rotation = "0.0137119 -0.0504735 0.998631 74.0754"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 364 249.016"; + rotation = "0.923141 0.274557 -0.269128 11.1137"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 -364 271.641"; + rotation = "-0.716793 0.212054 -0.66426 34.0579"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "492 -620 202.953"; + rotation = "-0.0214823 0.114758 -0.993161 99.3881"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "476 -276 306.859"; + rotation = "-0.170404 0.167456 -0.971041 90.6837"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-180 76 332.984"; + rotation = "0.137891 0.12928 0.981974 116.933"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-852 516 204.047"; + rotation = "0.124774 0.154939 0.980013 79.1341"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "876 -676 191.109"; + rotation = "-0.17724 -0.0301531 -0.983706 80.9286"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "764 -564 207.578"; + rotation = "-0.707652 -0.27967 -0.648855 18.4018"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-404 556 204.219"; + rotation = "0.115626 0.0317168 0.992786 96.4127"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "828 116 319.703"; + rotation = "0.129597 0.050398 0.990285 88.5592"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 -164 344.375"; + rotation = "-0.210654 -0.0610883 -0.97565 32.7563"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "580 572 192.75"; + rotation = "-0.000759635 0.0492104 0.998788 104.067"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-244 484 227.188"; + rotation = "-0.109346 0.0623222 0.992048 162.141"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "588 132 312.578"; + rotation = "0.999422 -0.0339904 0 16.028"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 724 191.516"; + rotation = "0.00628882 0.000601496 0.99998 129.001"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-444 -180 340.891"; + rotation = "-0.933082 -0.0459282 0.35672 19.4585"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "444 444 223.219"; + rotation = "0.0131642 0.109059 0.993948 210.821"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "324 -812 186.688"; + rotation = "-0.0821666 0.0372362 0.995923 199.92"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-364 -428 237.016"; + rotation = "0.108518 -0.0804397 0.990835 234.569"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "804 -4 345.844"; + rotation = "-0.0670676 -0.183822 0.980669 165.286"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "12 -604 197.75"; + rotation = "-0.0139625 -0.0124359 0.999825 106.01"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-252 -476 225.719"; + rotation = "-0.883829 -0.358056 0.301068 19.7494"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 148 311.078"; + rotation = "0.0989747 0.169582 0.980533 102.103"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-68 364 242.281"; + rotation = "0.44065 -0.215892 -0.871331 35.3104"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-892 228 283.047"; + rotation = "0.548865 -0.121681 -0.827007 30.013"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1020 684 198.5"; + rotation = "0.0236567 0.0379164 -0.999001 92.0572"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-628 284 276.859"; + rotation = "0.0508469 0.133957 0.989682 119.518"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 -860 188.656"; + rotation = "-0.0732884 -0.114518 0.990714 123.447"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "532 404 233.969"; + rotation = "0.0992815 -0.153755 -0.983109 92.9751"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-780 652 192.422"; + rotation = "-0.0534909 0.0163049 -0.998435 102.088"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-468 436 221.953"; + rotation = "0.346452 -0.0106219 0.938008 36.1054"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "628 -532 213.781"; + rotation = "-0.122973 -0.0804538 0.989143 116.561"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-932 612 193.859"; + rotation = "0.130014 0.0640413 -0.989442 61.5334"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-836 -236 321.203"; + rotation = "-0.123178 -0.165639 0.978464 109.183"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "756 4 341.734"; + rotation = "-0.436838 0.369995 -0.819925 63.7158"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-476 764 191.875"; + rotation = "-0.0236594 0.0239918 0.999432 98.0319"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "724 -596 201.156"; + rotation = "-0.0742488 -0.164706 0.983544 116.851"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 -948 183.922"; + rotation = "0.0341219 0.0647027 0.997321 24.0626"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "116 500 225.484"; + rotation = "0.0323316 -0.0744596 0.9967 229.855"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "436 532 207.625"; + rotation = "0.121624 -0.109122 -0.98656 75.7502"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-700 756 200.938"; + rotation = "-0.531432 -0.822584 -0.202325 9.86124"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-748 396 244.094"; + rotation = "0.642394 -0.0509896 0.764677 37.3716"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "916 900 241.609"; + rotation = "-0.203196 -0.277101 0.939109 90.5984"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-100 -476 208.188"; + rotation = "-0.142572 -0.0634293 0.98775 80.696"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-716 -444 235.359"; + rotation = "-0.164202 -0.221947 0.961133 98.2536"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "580 964 229.75"; + rotation = "-0.126994 -0.275659 0.95283 179.047"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "932 300 261.812"; + rotation = "0.425499 -0.169873 -0.888872 40.1587"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 -460 231.516"; + rotation = "-0.94035 -0.194011 0.279466 17.759"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 236 285.203"; + rotation = "0.108563 -0.125724 -0.986107 88.801"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-644 -548 202.297"; + rotation = "-0.519486 -0.119033 0.846147 24.7098"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "748 -788 202.703"; + rotation = "-0.00667226 0.247098 0.968967 104.753"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-196 -924 187.328"; + rotation = "-0.0413484 0.0366192 0.998474 73.0837"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 516 206.891"; + rotation = "-0.106117 0.0428722 0.993429 215.779"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-748 188 299.703"; + rotation = "0.193907 0.0727335 0.97832 74.2049"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "1028 52 336.797"; + rotation = "0.164089 -0.150293 -0.974929 92.4536"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-572 220 291.422"; + rotation = "-0.0516256 0.112778 0.992278 193.893"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "124 -660 197"; + rotation = "0.0146887 -0.0156356 0.99977 225.99"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "844 -908 192.703"; + rotation = "0.366298 -0.0156561 0.930366 111.887"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "388 -508 218.875"; + rotation = "0.0424265 -0.163741 0.985591 177.043"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-604 -892 192.016"; + rotation = "-0.186765 0.251735 0.949604 212.378"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 -708 186.234"; + rotation = "0.00522564 -0.0248526 -0.999677 52.0148"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 -524 216"; + rotation = "-0.196255 -0.0195059 0.980359 73.0842"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + }; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Chasmaclysmic.ter"; + squareSize = "8"; + emptySquares = "68460 70252 70508 156283 288386 290946 291202 295298 295554 298114 298370 102539 121764 122020 123812"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new Sun() { + position = "0 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.767434 0.453346 -0.453346"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + position = "0 0 0 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Chasmaclysmic.nav"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "250"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "50 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 3840821671159005990000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -7012.94 4.5389e-12"; + high_fogVolume2 = "-1 1.79223e-05 8.05949e-25"; + high_fogVolume3 = "-1 -3.44706e+36 -7.5449e-35"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-154.543 -851.896 184.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-156.175 -817.471 196.394"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_lush_mainbase.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(Tunnel) { + + powerCount = "1"; + + new StaticShape(TunnelGen) { + position = "-38.9821 -224.449 272.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "33"; + }; + new Item(TunnelRepairPack) { + position = "-30.2821 -226.104 264.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Turret(Team1TunnelTurret) { + position = "-31.2223 -237.551 307.52"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + team = "1"; + Target = "34"; + }; + }; + new SimGroup(VehiclePad) { + + powerCount = "1"; + + new StaticShape(Team1VehiclePad) { + position = "-156.105 -812.407 185.928"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "6072"; + inUse = "Down"; + locked = "false"; + ready = "1"; + team = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4506"; + damageTimeMS = "744246"; + Target = "35"; + }; + new StaticShape(VehiclePadGen) { + position = "-153.036 -843.627 194.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "36"; + }; + }; + new SimGroup(InventoryStations) { + + powerCount = "1"; + + new StaticShape(InventoryGen) { + position = "-117.424 -861.661 227.37"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "37"; + }; + new StaticShape(Station1) { + position = "-128.549 -838.812 201.408"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5972"; + team = "1"; + Target = "38"; + }; + new StaticShape(Station2) { + position = "-112.334 -874.402 201.388"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + Trigger = "5974"; + team = "1"; + notReady = "1"; + Target = "39"; + }; + new StaticShape(Station3) { + position = "-199.802 -853.124 188.388"; + rotation = "0 0 1 224.209"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + Trigger = "5976"; + team = "1"; + notReady = "1"; + Target = "40"; + }; + new StaticShape(Station4) { + position = "-172.773 -846.345 188.388"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + Trigger = "5978"; + team = "1"; + notReady = "1"; + Target = "41"; + }; + new StaticShape(Station5) { + position = "-139.662 -846.115 188.428"; + rotation = "0 0 1 180.664"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5980"; + team = "1"; + Target = "42"; + }; + new Turret(Base1Turret) { + position = "-192.148 -793.503 223.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "false"; + team = "1"; + Target = "43"; + }; + }; + new SimGroup(Team1Flag) { + + powerCount = "0"; + + new Item(Team1Flag) { + position = "-119.79 -870.603 248.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "false"; + originalPosition = "-119.79 -870.603 248.062 1 0 0 0"; + WayPoint = "6058"; + team = "1"; + Trigger = "6059"; + isHome = "1"; + stand = "5985"; + Target = "44"; + }; + new StaticShape(Team1FlagStand) { + position = "-119.808 -870.551 247.453"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + flag = "5983"; + Target = "-1"; + }; + }; + new SimGroup(MISC) { + + powerCount = "0"; + + new TSStatic(Crate1) { + position = "-130.105 -836.742 191.062"; + rotation = "0 -1 0 39.5341"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic(Crate2) { + position = "-127.236 -836.961 188.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic(Crate3) { + position = "-124.855 -796.558 201.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic(Crate4) { + position = "-124.329 -794.646 201.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic(Crate5) { + position = "-124.829 -796.604 203.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic(Crate6) { + position = "-124.353 -794.666 203.319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic(Crate7) { + position = "-124.355 -791.766 201.369"; + rotation = "0 0 1 38.3882"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "false"; + team = "1"; + }; + new WayPoint(Team1MainBaseMarker) { + position = "-192.265 -780.76 216.144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "1"; + + locked = "false"; + }; + new InteriorInstance(Xing1) { + position = "49.8514 -208.669 306.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_xing.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item(RepairPack1) { + position = "-155.85 -866.944 188.894"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(Sensors) { + + powerCount = "1"; + + new StaticShape(Team1SensorGen) { + position = "-159.223 -847.528 194.85"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "45"; + }; + new StaticShape(Team1Sensor) { + position = "-120.32 -870.43 256.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "46"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "303.814 668.239 190.557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "0"; + + new InteriorInstance() { + position = "292.789 681.393 207.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_lush_mainbase.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(Tunnel) { + + powerCount = "1"; + + new StaticShape(TunnelGen) { + position = "101.384 118.955 272.057"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "47"; + }; + new Item(TunnelRepairPack) { + position = "93.468 121.514 265.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Turret() { + position = "93.6759 131.859 307.551"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "true"; + lastProjectile = "6407"; + team = "2"; + Target = "48"; + }; + }; + new SimGroup(VehiclePad) { + + powerCount = "1"; + + new StaticShape(Team2VehiclePad) { + position = "292.943 677.344 197.215"; + rotation = "0 0 1 0.576071"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "6075"; + inUse = "Down"; + locked = "false"; + ready = "1"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4506"; + damageTimeMS = "420148"; + Target = "49"; + }; + new StaticShape(VehiclePadGen) { + position = "288.85 707.776 206.363"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "50"; + }; + }; + new SimGroup(InventoryStations) { + + powerCount = "1"; + + new StaticShape(InventoryGen) { + position = "255.172 725.13 238.868"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "51"; + }; + new StaticShape(Station1) { + position = "264.81 702.431 212.865"; + rotation = "0 0 1 48.1285"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "6016"; + team = "2"; + Target = "52"; + }; + new StaticShape(Station2) { + position = "248.772 738.427 212.865"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "6018"; + team = "2"; + Target = "53"; + }; + new StaticShape(Station3) { + position = "336.808 717.197 199.84"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + inUse = "Down"; + Trigger = "6020"; + team = "2"; + notReady = "1"; + Target = "54"; + }; + new StaticShape(Station4) { + position = "276.245 710.373 199.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "6022"; + team = "2"; + Target = "55"; + }; + new StaticShape(Station5) { + position = "309.338 709.861 199.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + Trigger = "6024"; + team = "2"; + notReady = "1"; + Target = "56"; + }; + new Turret(Base2Turret) { + position = "328.707 657.557 234.777"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "false"; + team = "2"; + Target = "57"; + }; + }; + new SimGroup(Team2Flag) { + + powerCount = "0"; + + new Item(Team2Flag) { + position = "257.552 734.674 259.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "false"; + originalPosition = "257.552 734.674 259.53 1 0 0 0"; + WayPoint = "6060"; + team = "2"; + Trigger = "6061"; + isHome = "1"; + stand = "6029"; + Target = "58"; + }; + new StaticShape(Team2FlagStand) { + position = "257.529 734.735 258.939"; + rotation = "0 0 1 25.7831"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + flag = "6027"; + Target = "-1"; + }; + }; + new SimGroup(MISC) { + + powerCount = "0"; + + new Item(RepairPack2) { + position = "292.304 730.258 200.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new TSStatic(Crate12) { + position = "259.574 660.857 214.856"; + rotation = "0 0 -1 34.3775"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic(Crate11) { + position = "257.932 659.553 212.856"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic(Crate10) { + position = "261.021 661.765 212.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic(Crate9) { + position = "262.572 704.488 200.906"; + rotation = "1 0 0 26.929"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic(Crate8) { + position = "262.9 703.124 200.405"; + rotation = "-0.594737 0.560097 0.576697 119.977"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance(Xing2) { + position = "12.9439 100.344 308.433"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_xing.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new WayPoint(Team2MainBaseMarker) { + position = "328.835 644.558 227.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "2"; + + locked = "false"; + }; + new InteriorInstance(Rock) { + position = "-45.7056 -238.491 295.883"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance(Rock) { + position = "-257.573 -608.146 198.294"; + rotation = "-1 0 0 41.253"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(Rock) { + position = "114.401 103.251 306.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + new SimGroup(Sensors) { + + powerCount = "1"; + + new StaticShape(Team2SensorGen) { + position = "295.937 711.519 206.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "59"; + }; + new StaticShape(Team2Sensor) { + position = "256.749 734.149 268.076"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "60"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance(Team1_Tunnel) { + position = "31.6207 -119.169 295.524"; + rotation = "0 0 1 0.574711"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_bridge_tunnel.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance(Bridge) { + position = "31.7413 -119.611 295.549"; + rotation = "1 0 0 0"; + scale = "1 1.0404 1"; + interiorFile = "Xtra_metaltanks_bridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(Team2_Tunnel) { + position = "31.8197 12.9758 295.555"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_bridge_tunnel.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new WayPoint(BridgeMarker) { + position = "32.3256 -52.4726 287.899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bridge"; + team = "0"; + + locked = "true"; + }; + new InteriorInstance(TombStone) { + position = "2356.12 -1345.16 201.546"; + rotation = "0 0 1 117.456"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_rip.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup() { + }; + }; + }; + new WaterBlock() { + position = "-1024 -1024 -44.4"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "4"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "false"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Bridge) { + position = "-83.1087 -79.2206 317.458"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + new Camera(Team1) { + position = "-67.5338 -537.92 256.001"; + rotation = "0 0 1 193.842"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Team2) { + position = "404.225 451.92 254.47"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DBS_Smoothed.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DBS_Smoothed.mis new file mode 100644 index 00000000..ebd42a78 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DBS_Smoothed.mis @@ -0,0 +1,1261 @@ +// DisplayName = Deadly Birds Song (Smoothed) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Whatever you do will be insignificant but it is very important that you do it. +// -- Mahatma Gandhi +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by PeachSkin (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "30"; + powerCount = "0"; + cdTrack = "6"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-800 -464 1472 1088"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(4) { + position = "-316.73 -123.591 261.175"; + rotation = "0.0304335 0.0189655 -0.999357 63.8936"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera(3) { + position = "-172.603 -283.753 89.9341"; + rotation = "0.206604 -0.0463951 0.977324 25.8806"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera(2) { + position = "161.045 296.947 247.427"; + rotation = "0.827056 0.0389728 -0.560767 9.60677"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera(1) { + position = "293.294 184.905 92.2681"; + rotation = "-0.0378191 -0.121634 0.991854 214.279"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "400 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "100"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.01"; + cloudSpeed2 = "0.05"; + cloudSpeed3 = "0.2"; + visibleDistance = "475"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.525000 0.625000 1.000000"; + fogDistance = "400"; + fogColor = "0.200000 0.525000 0.625000 1.000000"; + fogVolume1 = "300 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_day_x2.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "10.000000 128.000000 28.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3344 6.27351e-39"; + high_fogVolume2 = "-1 3.51342e-39 2.46878e+27"; + high_fogVolume3 = "-1 5.3766e+08 -3.21499e+06"; + + locked = "true"; + cloudSpeed0 = "0.000150 0.000050"; + }; + new Sun() { + position = "696 800 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.22528 -0.904932 -0.361037"; + color = "0.850000 0.900000 1.000000 1.000000"; + ambient = "0.300000 0.350000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.3"; + lensFlareIntensity = "0.3"; + frontFlareSize = "10"; + backFlareSize = "500"; + flareColor = "0.200000 0.350000 0.400000 1.000000"; + + texture4 = "special/LensFlare/flare03"; + locked = "true"; + texture2 = "special/LensFlare/flare01"; + texture0 = "special/sunFlare"; + texture3 = "special/LensFlare/flare02"; + texture1 = "special/sunFlare02"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "DBS_Smoothed.ter"; + squareSize = "8"; + + visibleDistance = "1000"; + locked = "true"; + hazeDistance = "500"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + GraphFile = "DeadlyBirdsSong_x2.nav"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "160.018 390.852 222.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "70"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new Item() { + position = "275.225 161.85 90.0165"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + originalPosition = "275.225 161.85 90.0165 0 0 1 0.36"; + team = "2"; + WayPoint = "5413"; + Trigger = "5414"; + Target = "33"; + isHome = "1"; + }; + new WayPoint() { + position = "157.041 311.226 237.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "2"; + + locked = "false"; + }; + new SimGroup(Generator) { + + powerCount = "1"; + + new StaticShape() { + position = "160.805 313.91 239.597"; + rotation = "0 0 1 90.1837"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5311"; + team = "2"; + Target = "34"; + }; + new StaticShape() { + position = "161.044 308.607 242.604"; + rotation = "0 0 1 83.1362"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5313"; + team = "2"; + Target = "35"; + }; + new ForceFieldBare() { + position = "150.593 324.715 236.516"; + rotation = "1 0 0 0"; + scale = "13.531 0.12486 7.75176"; + nameTag = "Base"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "13.531 0.12486 7.75176"; + locked = "false"; + team = "2"; + Target = "36"; + pz = "5315"; + }; + new StaticShape() { + position = "157.245 331.756 250.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "37"; + }; + new Turret() { + position = "157.011 325.301 244.461"; + rotation = "0.57942 0.578959 -0.573654 239.721"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "false"; + team = "2"; + Target = "38"; + }; + new Turret() { + position = "275.003 109.409 75.2276"; + rotation = "0.743638 0.27567 -0.609104 62.65"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + team = "2"; + Target = "39"; + }; + new InteriorInstance() { + position = "276.453 107.588 70.5815"; + rotation = "0.753851 0.270913 -0.598594 61.958"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "157.137 292.581 242.601"; + rotation = "0 0 1 176.333"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5322"; + team = "2"; + Target = "40"; + }; + new Item() { + position = "157.279 334.42 237.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "159.208 322.322 244.637"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "41"; + }; + new InteriorInstance(InteriorInstance) { + position = "157.262 297.358 232.621"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "275.216 161.847 60"; + rotation = "0 0 1 21.1995"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + new Item() { + position = "273.843 158.176 70.0709"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "275.255 161.819 70.0727"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "276.698 165.675 70.1346"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "277.823 160.849 70.1104"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "272.517 162.862 70.1179"; + rotation = "0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new AudioEmitter(wind) { + position = "40.06 -49.5685 140.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wetwind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "150"; + maxDistance = "300"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + team = "0"; + }; + new AudioEmitter(birds) { + position = "-148.874 396.535 215.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "2000"; + type = "EffectAudioType"; + + locked = "true"; + team = "0"; + }; + new Item() { + position = "-155.663 -259.897 64.4291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-157.426 -259.068 64.1478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "275.943 168.038 64.0496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "274.99 168.555 64.4733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "140.498 378.513 231.424"; + rotation = "0 0 -1 30.3668"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "false"; + team = "0"; + }; + new TSStatic() { + position = "146.202 379.246 233.375"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "false"; + team = "0"; + }; + new AudioEmitter(birds) { + position = "169.955 390.663 252.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "6000"; + type = "EffectAudioType"; + + locked = "false"; + team = "0"; + }; + new Item() { + position = "145.254 379.192 235.332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "140.549 378.501 233.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-409.134 -102.034 255.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-407.08 -99.6412 254.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "0"; + Target = "-1"; + }; + new AudioEmitter(birds) { + position = "345.036 55.9036 109.389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + team = "0"; + }; + new TSStatic() { + position = "-407.328 -99.0926 253.152"; + rotation = "0 0 -1 18.9076"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "false"; + team = "0"; + }; + new TSStatic() { + position = "-409.144 -102.071 253.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + locked = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "-432.892 -68.8218 251.832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "0"; + }; + new AudioEmitter(birds) { + position = "-100.685 -99.288 97.4332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "150"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-366.582 -66.487 243.529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "0"; + }; + new AudioEmitter(birds) { + position = "-331.393 73.6216 245.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "2000"; + maxLoopGap = "4000"; + type = "EffectAudioType"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "115.471 301.612 239.915"; + rotation = "0 1 0 206.838"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "0"; + }; + new InteriorInstance() { + position = "153.717 -147.349 63.9225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "0"; + }; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-405.599 -99.3186 241.732"; + rotation = "0 0 1 11.4593"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new WayPoint() { + position = "-329.534 -115.257 251.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bunker"; + team = "1"; + + locked = "false"; + }; + new Item() { + position = "-156.025 -252.904 90.0165"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + locked = "true"; + originalPosition = "-156.025 -252.904 90.0165 0 0 1 0.4"; + team = "1"; + WayPoint = "5415"; + Trigger = "5416"; + Target = "42"; + isHome = "1"; + }; + new SimGroup(Generator) { + + powerCount = "1"; + + new StaticShape() { + position = "-327.326 -112.808 257.279"; + rotation = "0 0 1 4.58589"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5363"; + team = "1"; + Target = "43"; + }; + new StaticShape() { + position = "-332.392 -111.731 254.284"; + rotation = "0 0 1 11.5742"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5365"; + team = "1"; + Target = "44"; + }; + new ForceFieldBare() { + position = "-342.377 -106.236 251.314"; + rotation = "0 0 1 102.559"; + scale = "13.531 0.12486 7.75176"; + nameTag = "Base"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "13.531 0.12486 7.75176"; + locked = "false"; + team = "1"; + Target = "45"; + pz = "5367"; + }; + new StaticShape() { + position = "-350.679 -111.446 265.198"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "46"; + }; + new Turret() { + position = "-344.367 -112.911 259.15"; + rotation = "-0.114027 -0.98716 0.111858 91.8406"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "false"; + team = "1"; + Target = "47"; + }; + new InteriorInstance() { + position = "-105.322 -234.51 56.8729"; + rotation = "0.373738 0.369724 -0.850661 98.6158"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret() { + position = "-107.482 -234.483 61.6359"; + rotation = "0.366841 0.366549 -0.855026 98.8923"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + locked = "true"; + team = "1"; + Target = "48"; + }; + new StaticShape() { + position = "-312.492 -120.118 257.289"; + rotation = "0 0 1 97.93"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + locked = "false"; + Trigger = "5373"; + team = "1"; + Target = "49"; + }; + new Item() { + position = "-353.229 -110.911 252.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-341.191 -111.557 259.28"; + rotation = "0 0 1 10.1989"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "50"; + }; + new InteriorInstance(InteriorInstance) { + position = "-155.998 -252.921 60"; + rotation = "0 0 1 24.0643"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-317.099 -118.955 247.295"; + rotation = "0 0 -1 77.3493"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + }; + new Item() { + position = "-155.969 -252.987 70.0987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-157.597 -256.539 70.0969"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-154.297 -249.224 70.1606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-153.464 -254.109 70.1364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-158.64 -251.782 70.1439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-500 -12 264.703"; + rotation = "0.0198606 0.10668 0.994095 47.2487"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 -60 95.0938"; + rotation = "0.126934 -0.273301 0.953517 211.544"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "524 124 141.594"; + rotation = "0.1486 0.085367 -0.985206 57.7192"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "516 -348 78.5"; + rotation = "-0.542554 0.0258539 -0.839623 34.2394"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "292 -100 94.9063"; + rotation = "0.113577 0.340905 -0.933212 58.3076"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-444 -556 80.4219"; + rotation = "-0.0705328 -0.0163401 0.997376 227.888"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 -244 102.453"; + rotation = "0.10622 -0.101958 0.989102 205.726"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 132 60.7657"; + rotation = "-0.0448798 0.0787235 0.995886 172.033"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 20 91.6563"; + rotation = "-0.0872361 0.262753 0.960911 156.913"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-332 -44 235.656"; + rotation = "0.138625 0.215625 0.966586 189.668"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-452 116 249.375"; + rotation = "0.315548 0.0721219 0.946165 166.747"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "164 -164 58.9375"; + rotation = "-0.16012 0.355518 -0.920852 63.1331"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 356 231.797"; + rotation = "0.0140301 0.0101021 0.999851 131.006"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "532 -460 89.6407"; + rotation = "0.127973 0.30302 -0.944353 47.3664"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "236 -196 66.3281"; + rotation = "0.115913 0.223123 -0.967874 116.683"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 -76 100.906"; + rotation = "-0.100856 0.310632 0.945164 29.5552"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-100 -188 53.4688"; + rotation = "-0.038416 0.0742431 -0.9965 69.1875"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "556 -436 92.0157"; + rotation = "-0.0335479 0.102078 0.994211 128.262"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "636 52 140.625"; + rotation = "0.0700911 0.0683301 0.995198 197.915"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-36 -452 51.5313"; + rotation = "0.952772 0.181918 -0.243171 4.11114"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-380 -420 85.8125"; + rotation = "0.249326 0.150839 -0.9566 48.8873"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-44 -460 52.125"; + rotation = "0.0282388 0.0482617 0.998435 117.08"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-476 188 247.297"; + rotation = "0.0951684 0.0273179 0.995086 99.2787"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "252 -204 73.2813"; + rotation = "0.16388 0.335114 -0.927816 106.163"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-20 -196 59.0781"; + rotation = "-0.268494 0.20147 0.941977 74.2679"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Badlands.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Badlands.mis new file mode 100644 index 00000000..42b9368d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Badlands.mis @@ -0,0 +1,1121 @@ +// DisplayName = Dangerous Crossing (Badlands) +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Two bases, each with one flag, separated by a large chasm. A lengthy bridge joins the two. A straight line may be the quickest route, but not necessarily the safest in this mission... +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "4"; + powerCount = "0"; + musicTrack = "badlands"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-384 -664 896 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "DX_Badlands.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "500"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + GraphFile = "DangerousCrossing_nef.nav"; + position = "0 0 0 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "220"; + fogColor = "0.200000 0.200000 0.200000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 9.01151e-33 4.04457e+22"; + high_fogVolume2 = "-1 1.75904e+22 1.64955e-33"; + high_fogVolume3 = "-1 7.21284e+22 1.9854e+29"; + + cloudSpeed0 = "0.002000 0.003000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-213.763 42.4989 101.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-212.909 47.193 104.206"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + new StaticShape() { + position = "-220.725 49.3895 104.188"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6073"; + team = "1"; + Target = "33"; + locked = "true"; + }; + new StaticShape() { + position = "-207.098 41.5278 104.191"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6075"; + team = "1"; + Target = "34"; + locked = "true"; + }; + new Turret() { + position = "-201.34 52.5966 122.193"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "35"; + locked = "true"; + }; + new StaticShape() { + position = "-213.844 45.3733 134.919"; + rotation = "0 0 1 122.636"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + locked = "true"; + }; + new Item() { + position = "-216.4 41.1339 122.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-213.942 45.4191 104.145"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + flag = "6085"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "-320.53 114.613 156.8"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6081"; + team = "1"; + Target = "37"; + locked = "true"; + }; + new Turret() { + position = "-212.183 56.5697 110.699"; + rotation = "-0.691225 0.184918 0.698579 201.237"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "38"; + locked = "true"; + }; + new Turret() { + position = "-215.633 34.3095 110.696"; + rotation = "-0.254967 -0.934331 0.249032 93.1303"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "39"; + locked = "true"; + }; + new StaticShape() { + position = "-336.802 -144.615 167.106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "40"; + locked = "true"; + }; + new Item() { + position = "-213.94 45.4191 104.736"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "6204"; + Trigger = "6205"; + stand = "6079"; + isHome = "1"; + originalPosition = "-213.94 45.4191 104.736 0 0 1 0.55"; + Target = "41"; + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "-336.425 -144.611 159.646"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "true"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "287.008 -285.796 110.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "286.192 -283.443 110.772"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "291.983 -289.094 110.75"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6093"; + team = "2"; + Target = "42"; + locked = "true"; + }; + new StaticShape() { + position = "278.423 -281.269 110.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6095"; + team = "2"; + Target = "43"; + locked = "true"; + }; + new Turret() { + position = "272.554 -292.329 128.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "44"; + locked = "true"; + }; + new StaticShape() { + position = "285.164 -285.389 141.728"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "45"; + locked = "true"; + }; + new Item() { + position = "287.707 -280.779 128.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "285.198 -285.128 110.662"; + rotation = "0 0 1 187.448"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + flag = "6105"; + Target = "-1"; + locked = "true"; + }; + new StaticShape() { + position = "413.412 -242.385 142.884"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6101"; + team = "2"; + Target = "46"; + locked = "true"; + }; + new Turret() { + position = "286.978 -274.071 117.241"; + rotation = "-0.693965 0.178234 0.6976 202.037"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "47"; + locked = "true"; + }; + new Turret() { + position = "283.438 -296.283 117.279"; + rotation = "-0.250155 -0.935079 0.251099 93.811"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "48"; + locked = "true"; + }; + new StaticShape() { + position = "385.038 -529.131 185.553"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + locked = "true"; + }; + new Item() { + position = "285.15 -285.138 111.267"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "6206"; + Trigger = "6207"; + stand = "6099"; + isHome = "1"; + originalPosition = "285.15 -285.138 111.267 0 0 1 0.559999"; + Target = "50"; + className = "FlagObj"; + locked = "true"; + }; + new InteriorInstance() { + position = "384.797 -529.162 178.084"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-149.728 -7.48875 75.9454"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-122.679 -24.5839 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-95.6376 -41.6678 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-41.5443 -75.84 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-68.5862 -58.7561 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "-14.4983 -92.9357 75.9567"; + rotation = "0 0 1 212.292"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "226.216 -248.392 77.6008"; + rotation = "0 0 1 212.865"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "91.847 -161.597 77.5895"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "118.724 -178.961 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "145.593 -196.314 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "199.342 -231.026 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + new InteriorInstance() { + position = "172.472 -213.672 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "true"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "258.149 -323.371 127.864"; + rotation = "0.0804185 -0.0405322 0.995937 53.6854"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-237.544 -10.1634 124.612"; + rotation = "0.711689 0.0283453 -0.701923 6.49514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "428.643 -247.368 148.898"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-323.843 130.376 162.814"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition8BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "452 -68 144.688"; + rotation = "0 0 1 23"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "12 -172 66.1563"; + rotation = "0 0 1 144"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-92 308 117.812"; + rotation = "0 0 1 31"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "492 36 74.9688"; + rotation = "0 0 -1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-364 -580 155.375"; + rotation = "0 0 -1 98.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-244 284 111.047"; + rotation = "0 0 1 106"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "508 -44 84.6094"; + rotation = "0 0 -1 96.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-196 332 115.656"; + rotation = "0 0 1 108"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "484 316 72.1406"; + rotation = "0 0 1 73.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "460 -636 188.281"; + rotation = "0 0 1 147"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-332 -12 117.234"; + rotation = "0 0 1 143"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-340 292 59.7031"; + rotation = "0 0 -1 35"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-92 -332 75.3907"; + rotation = "0 0 1 141"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-36 212 128.766"; + rotation = "0 0 -1 118"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "20 -28 18.9375"; + rotation = "0 0 1 21"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-388 -316 131.812"; + rotation = "0 0 -1 101"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-404 356 49.4063"; + rotation = "0 0 1 31"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-92 300 121.766"; + rotation = "0 0 1 163"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-140 -108 36.5"; + rotation = "0 0 1 176"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "372 -52 98.9532"; + rotation = "0 0 1 139"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "300 -340 104.781"; + rotation = "0 0 -1 79"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-396 252 101.938"; + rotation = "0 0 1 104"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "140 -620 133.75"; + rotation = "0 0 1 187"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "140 -116 44.7188"; + rotation = "0 0 1 132"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-420 -348 138.875"; + rotation = "0 0 -1 75.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "44 -92 73.2813"; + rotation = "0 0 1 167"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-268 -332 112.406"; + rotation = "0 0 -1 26.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "420 -644 195.813"; + rotation = "0 0 -1 1.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-260 172 152.953"; + rotation = "0 0 1 164"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-260 300 106.609"; + rotation = "0 0 1 118"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition9BiodermPlant20) { + + powerCount = "0"; + + new TSStatic() { + position = "404 124 84.1406"; + rotation = "0 0 1 170"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "36 180 137.625"; + rotation = "0 0 1 20"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "316 228 113.516"; + rotation = "0 0 1 177"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "196 148 140.594"; + rotation = "0 0 -1 100"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "172 -372 56.0625"; + rotation = "0 0 1 6.00005"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-12 268 140.078"; + rotation = "0 0 1 153"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "468 -404 152.953"; + rotation = "0 0 -1 108"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-108 -340 72.0468"; + rotation = "0 0 -1 25.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-244 172 153.609"; + rotation = "0 0 1 37"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "164 -20 39.6406"; + rotation = "0 0 -1 90.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "388 220 71.25"; + rotation = "0 0 1 93.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "76 -260 20.6094"; + rotation = "0 0 1 161"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-444 52 112.797"; + rotation = "0 0 1 131"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-276 364 96.7344"; + rotation = "0 0 1 105"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "380 -244 135.859"; + rotation = "0 0 1 175"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "324 276 112.516"; + rotation = "0 0 -1 56"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-236 -148 80.1719"; + rotation = "0 0 1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "116 276 175.094"; + rotation = "0 0 1 138"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "180 -140 30.3125"; + rotation = "0 0 1 161"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "516 -508 182.562"; + rotation = "0 0 -1 103"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "476 300 70.9531"; + rotation = "0 0 -1 46.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "100 -364 61.8906"; + rotation = "0 0 1 201"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "540 132 119.844"; + rotation = "0 0 -1 31.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "340 -116 96.2968"; + rotation = "0 0 -1 62.0003"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "44 -124 80.0625"; + rotation = "0 0 1 158"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "396 92 75.5"; + rotation = "0 0 1 208"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-100 292 124.5"; + rotation = "0 0 -1 111"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-300 268 89.6875"; + rotation = "0 0 -1 47"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "348 -460 131.234"; + rotation = "0 0 1 200"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-228 -356 121.141"; + rotation = "0 0 1 145"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + }; + new SimGroup(Addition10BiodermPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-380 -452 138.359"; + rotation = "0 0 1 195"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-365.628 -20.7685 136.856"; + rotation = "0 0 1 230"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-92 188 143"; + rotation = "0 0 1 107"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-46.8828 -393.818 99.3501"; + rotation = "0 0 -1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "162.755 169.74 142.256"; + rotation = "0 0 -1 52.0003"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "451.115 -227.84 141"; + rotation = "0 0 -1 117"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "332 -508 146.106"; + rotation = "0 0 1 61.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-236 -364 119.816"; + rotation = "0 0 1 147"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-188 -164 55.2313"; + rotation = "0 0 1 133"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-52 -92 52.0781"; + rotation = "0 0 1 124"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Desert.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Desert.mis new file mode 100644 index 00000000..10f61dcf --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Desert.mis @@ -0,0 +1,1140 @@ +// DisplayName = Dangerous Crossing (Desert) +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Two bases, each with one flag, separated by a large chasm. A lengthy bridge joins the two. A straight line may be the quickest route, but not necessarily the safest in this mission... +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-384 -664 896 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-980 -793 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.420000 0.350000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "DX_Desert.ter"; + squareSize = "8"; + + visibleDistance = "500"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "DangerousCrossing_nef.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition11PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-140 -156 45.6093"; + rotation = "0 0 1 227"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "52 -252 31.25"; + rotation = "0 0 1 158"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-212 268 95.3906"; + rotation = "0 0 -1 75.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-220 -76 74.7813"; + rotation = "0 0 -1 8.99978"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-444 68 114.453"; + rotation = "0 0 1 24"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-372 -260 92.8281"; + rotation = "0 0 1 185"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-44 268 142.266"; + rotation = "0 0 1 123"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-244 -204 85.0781"; + rotation = "0 0 -1 103"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "188 172 134.656"; + rotation = "0 0 1 176"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "460 -396 148.859"; + rotation = "0 0 1 57.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "172 -484 136.484"; + rotation = "0 0 1 56"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "28 -156 77.9063"; + rotation = "0 0 -1 97"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-252 -564 150.203"; + rotation = "0 0 1 156"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "116 -284 28.8437"; + rotation = "0 0 -1 83.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-444 -92 122.437"; + rotation = "0 0 1 91.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-212 -276 95.3437"; + rotation = "0 0 1 61"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "28 -580 172.875"; + rotation = "0 0 -1 117"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-444 -348 143.547"; + rotation = "0 0 1 7.99996"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "20 -532 170.5"; + rotation = "0 0 -1 52.0003"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "212 -548 137"; + rotation = "0 0 -1 110"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition12PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "-428 -116 125.766"; + rotation = "0 0 1 55"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-284 -364 126.344"; + rotation = "0 0 1 55"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-380 -404 147.828"; + rotation = "0 0 1 145"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "404 -172 126.578"; + rotation = "0 0 1 90.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-212 340 115.266"; + rotation = "0 0 -1 23.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-60 340 112.969"; + rotation = "0 0 -1 77.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-260 60 110"; + rotation = "0 0 -1 29"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-20 244 138.922"; + rotation = "0 0 1 81.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "244 -548 142.078"; + rotation = "0 0 1 147"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-196 -68 63.6094"; + rotation = "0 0 1 186"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "68 156 137.672"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-260 172 152.953"; + rotation = "0 0 -1 78.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-188 244 115.047"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + }; + new SimGroup(Addition13PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "356 -28 98.9376"; + rotation = "0 0 -1 70.0005"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "500 -404 138.109"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-100 -116 47.0625"; + rotation = "0 0 1 225"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "356 -204 119.031"; + rotation = "0 0 1 125"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-252 132 164.781"; + rotation = "0 0 -1 7.99996"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition14PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-372 -164 133.378"; + rotation = "-0.421101 -0.212605 -0.881744 34.9188"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "268 -564 134.519"; + rotation = "0.0954783 -0.0672703 0.993156 188.939"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -364 115.284"; + rotation = "0.102599 0.0980844 -0.989875 114.531"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "196 -172 17.0657"; + rotation = "0.236667 0.0112479 0.971526 93.6528"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "308 -252 114.331"; + rotation = "-0.626344 0.740664 -0.243124 24.328"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + }; + new SimGroup(Addition15PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "44 188 138.937"; + rotation = "0 0 -1 22.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-20 348 110.719"; + rotation = "0 0 1 163"; + scale = "1.2 1.2 1.2"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "436 84 82.2188"; + rotation = "0 0 -1 37.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "420 -292 126.281"; + rotation = "0 0 1 222"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-28 300 130.75"; + rotation = "0 0 1 140"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + }; + }; + new SimGroup(Addition16PhoenixPlant20) { + + powerCount = "0"; + + new TSStatic() { + position = "108 -148 57.4218"; + rotation = "0 0 1 188"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "460 -500 177.234"; + rotation = "0 0 1 224"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-276 196 141.625"; + rotation = "0 0 1 69.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "100 -228 20.0469"; + rotation = "0 0 1 219"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-396 132 126.078"; + rotation = "0 0 -1 4.99997"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "484 -324 148.875"; + rotation = "0 0 -1 35"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "484 340 74.5312"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "188 12 60.5625"; + rotation = "0 0 -1 101"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-228 -620 145.609"; + rotation = "0 0 1 191"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-404 -28 119.734"; + rotation = "0 0 1 232"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-388 44 131.281"; + rotation = "0 0 1 82.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-76 -300 62.5625"; + rotation = "0 0 -1 10.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "532 -220 186.234"; + rotation = "0 0 1 9.00004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "452 -244 144.078"; + rotation = "0 0 -1 14"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-236 -28 80.3906"; + rotation = "0 0 -1 28.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "100 52 68.5781"; + rotation = "0 0 -1 7.99996"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-332 -68 118.75"; + rotation = "0 0 1 9.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-156 316 103.156"; + rotation = "0 0 -1 89.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-164 -164 47.8593"; + rotation = "0 0 1 181"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-404 -332 138.703"; + rotation = "0 0 -1 73.0006"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.690000 0.620000 0.550000 0.000000"; + fogDistance = "220"; + fogColor = "0.590000 0.520000 0.450000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.35489e-42 3.47102e-42"; + high_fogVolume2 = "-1 6.31565e-42 7.18165e-42"; + high_fogVolume3 = "-1 7.09477e-42 6.66598e-42"; + + locked = "true"; + cloudSpeed0 = "0.000050 0.000050"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-213.763 42.4989 101.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-212.909 47.193 104.206"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-220.725 49.3895 104.188"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + locked = "true"; + Trigger = "52251"; + team = "1"; + }; + new StaticShape() { + position = "-207.098 41.5278 104.191"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + locked = "true"; + Trigger = "52253"; + team = "1"; + }; + new Turret() { + position = "-201.34 52.5966 122.193"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "35"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-213.844 45.3733 134.919"; + rotation = "0 0 1 122.636"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + locked = "true"; + team = "1"; + }; + new Item() { + position = "-216.4 41.1339 122.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-213.942 45.4191 104.145"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + team = "1"; + flag = "52263"; + }; + new StaticShape() { + position = "-320.53 114.613 156.8"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + locked = "true"; + Trigger = "52259"; + team = "1"; + }; + new Turret() { + position = "-212.183 56.5697 110.699"; + rotation = "-0.691225 0.184918 0.698579 201.237"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "38"; + locked = "true"; + team = "1"; + }; + new Turret() { + position = "-215.633 34.3095 110.696"; + rotation = "-0.254967 -0.934331 0.249032 93.1303"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-336.802 -144.615 167.106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + locked = "true"; + team = "1"; + }; + new Item() { + position = "-213.94 45.4191 104.736"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "41"; + locked = "true"; + team = "1"; + WayPoint = "52307"; + Trigger = "52308"; + stand = "52257"; + originalPosition = "-213.94 45.4191 104.736 0 0 1 0.55"; + }; + new InteriorInstance() { + position = "-336.425 -144.611 159.646"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "287.008 -285.796 110.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "286.192 -283.443 110.772"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "291.983 -289.094 110.75"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + locked = "true"; + Trigger = "52271"; + team = "2"; + }; + new StaticShape() { + position = "278.423 -281.269 110.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + locked = "true"; + Trigger = "52273"; + team = "2"; + }; + new Turret() { + position = "272.554 -292.329 128.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "44"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "285.164 -285.389 141.728"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "287.707 -280.779 128.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "285.198 -285.128 110.662"; + rotation = "0 0 1 187.448"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + team = "2"; + flag = "52283"; + }; + new StaticShape() { + position = "413.412 -242.385 142.884"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + locked = "true"; + Trigger = "52279"; + team = "2"; + }; + new Turret() { + position = "286.978 -274.071 117.241"; + rotation = "-0.693965 0.178234 0.6976 202.037"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "47"; + locked = "true"; + team = "2"; + }; + new Turret() { + position = "283.438 -296.283 117.279"; + rotation = "-0.250155 -0.935079 0.251099 93.811"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "48"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "385.038 -529.131 185.553"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "285.15 -285.138 111.267"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "50"; + locked = "true"; + team = "2"; + WayPoint = "52309"; + Trigger = "52310"; + stand = "52277"; + originalPosition = "285.15 -285.138 111.267 0 0 1 0.559999"; + }; + new InteriorInstance() { + position = "384.797 -529.162 178.084"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-149.728 -7.48875 75.9454"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-122.679 -24.5839 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-95.6376 -41.6678 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-41.5443 -75.84 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-68.5862 -58.7561 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-14.4983 -92.9357 75.9567"; + rotation = "0 0 1 212.292"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "226.216 -248.392 77.6008"; + rotation = "0 0 1 212.865"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "91.847 -161.597 77.5895"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "118.724 -178.961 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "145.593 -196.314 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "199.342 -231.026 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "172.472 -213.672 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "258.149 -323.371 127.864"; + rotation = "0.0804185 -0.0405322 0.995937 53.6854"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-237.544 -10.1634 124.612"; + rotation = "0.711689 0.0283453 -0.701923 6.49514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "428.643 -247.368 148.898"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-323.843 130.376 162.814"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Ice.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Ice.mis new file mode 100644 index 00000000..a76c4586 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/DX_Ice.mis @@ -0,0 +1,1280 @@ +// DisplayName = Dangerous Crossing (Ice) +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Two bases, each with one flag, separated by a large chasm. A lengthy bridge joins the two. A straight line may be the quickest route, but not necessarily the safest in this mission... +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//No vehicle stations +//Map by Nefilim (assisted: Sparky, z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "-384 -664 896 1008"; + flightCeiling = "2000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.881743 0.133876 -0.452334"; + color = "0.450000 0.450000 0.450000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "DX_Ice.ter"; + squareSize = "8"; + + visibleDistance = "500"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "DangerousCrossing_nef.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.550000 0.610000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Euro4_FrozenHope.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.88322e-37 4.27877e-38"; + high_fogVolume2 = "-1 1.71806e-36 4.28417e-38"; + high_fogVolume3 = "-1 2.01058e-37 4.28473e-38"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-213.763 42.4989 101.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-212.909 47.193 104.206"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-220.725 49.3895 104.188"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + locked = "true"; + Trigger = "58862"; + team = "1"; + }; + new StaticShape() { + position = "-207.098 41.5278 104.191"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + locked = "true"; + Trigger = "58864"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new Turret() { + position = "-201.34 52.5966 122.193"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "35"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-213.844 45.3733 134.919"; + rotation = "0 0 1 122.636"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + locked = "true"; + team = "1"; + }; + new Item() { + position = "-216.4 41.1339 122.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-213.942 45.4191 104.145"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + team = "1"; + flag = "58874"; + }; + new StaticShape() { + position = "-320.53 114.613 156.8"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + locked = "true"; + Trigger = "58870"; + team = "1"; + }; + new Turret() { + position = "-212.183 56.5697 110.699"; + rotation = "-0.691225 0.184918 0.698579 201.237"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "38"; + locked = "true"; + team = "1"; + }; + new Turret() { + position = "-215.633 34.3095 110.696"; + rotation = "-0.254967 -0.934331 0.249032 93.1303"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-336.802 -144.615 167.106"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + locked = "true"; + team = "1"; + }; + new Item() { + position = "-213.94 45.4191 104.736"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "41"; + locked = "true"; + team = "1"; + WayPoint = "59014"; + Trigger = "59015"; + stand = "58868"; + originalPosition = "-213.94 45.4191 104.736 0 0 1 0.55"; + }; + new InteriorInstance() { + position = "-336.425 -144.611 159.646"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "287.008 -285.796 110.354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "25"; + outdoorWeight = "75"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "286.192 -283.443 110.772"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "291.983 -289.094 110.75"; + rotation = "0 0 1 120"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + locked = "true"; + Trigger = "58882"; + team = "2"; + }; + new StaticShape() { + position = "278.423 -281.269 110.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + locked = "true"; + Trigger = "58884"; + team = "2"; + }; + new Turret() { + position = "272.554 -292.329 128.749"; + rotation = "-0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "44"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "285.164 -285.389 141.728"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "287.707 -280.779 128.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "285.198 -285.128 110.662"; + rotation = "0 0 1 187.448"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + locked = "true"; + team = "2"; + flag = "58894"; + }; + new StaticShape() { + position = "413.412 -242.385 142.884"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + locked = "true"; + Trigger = "58890"; + team = "2"; + }; + new Turret() { + position = "286.978 -274.071 117.241"; + rotation = "-0.693965 0.178234 0.6976 202.037"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "47"; + locked = "true"; + team = "2"; + }; + new Turret() { + position = "283.438 -296.283 117.279"; + rotation = "-0.250155 -0.935079 0.251099 93.811"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "48"; + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "385.038 -529.131 185.553"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "285.15 -285.138 111.267"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "50"; + locked = "true"; + team = "2"; + WayPoint = "59016"; + Trigger = "59017"; + stand = "58888"; + originalPosition = "285.15 -285.138 111.267 0 0 1 0.559999"; + }; + new InteriorInstance() { + position = "384.797 -529.162 178.084"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-149.728 -7.48875 75.9454"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-122.679 -24.5839 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-95.6376 -41.6678 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-41.5443 -75.84 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-68.5862 -58.7561 75.953"; + rotation = "0 0 1 32.2919"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-14.4983 -92.9357 75.9567"; + rotation = "0 0 1 212.292"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "226.216 -248.392 77.6008"; + rotation = "0 0 1 212.865"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "91.847 -161.597 77.5895"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "118.724 -178.961 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "145.593 -196.314 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "199.342 -231.026 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "172.472 -213.672 77.5971"; + rotation = "0 0 1 32.8648"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "258.149 -323.371 127.864"; + rotation = "0.0804185 -0.0405322 0.995937 53.6854"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-237.544 -10.1634 124.612"; + rotation = "0.711689 0.0283453 -0.701923 6.49514"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "428.643 -247.368 148.898"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-323.843 130.376 162.814"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition5SWShrub21) { + + powerCount = "0"; + + new TSStatic() { + position = "300 -92 78.8906"; + rotation = "0 0 1 195"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "492 -300 153.641"; + rotation = "0 0 -1 16.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-92 -316 70.2032"; + rotation = "0 0 1 182"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-444 84 119.75"; + rotation = "0 0 1 52"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-52 -412 99.125"; + rotation = "0 0 -1 41"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "396 -236 141.891"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "388 -380 112.578"; + rotation = "0 0 1 237"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "260 -532 151.578"; + rotation = "0 0 -1 67.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "148 -308 32.0313"; + rotation = "0 0 1 28"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-292 -564 149.969"; + rotation = "0 0 -1 78.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "164 -436 99.5625"; + rotation = "0 0 -1 53"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-4 -244 38.0156"; + rotation = "0 0 1 158"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "348 -252 118.984"; + rotation = "0 0 1 232"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-20 -284 41.3282"; + rotation = "0 0 -1 86.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-156 132 113.094"; + rotation = "0 0 -1 83.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "212 -524 147.906"; + rotation = "0 0 1 66.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "244 -100 40.7031"; + rotation = "0 0 1 27"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "404 180 66.9687"; + rotation = "0 0 -1 80.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "20 236 145.469"; + rotation = "0 0 1 15"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "484 -172 157.891"; + rotation = "0 0 1 227"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-44 -124 48.2812"; + rotation = "0 0 1 17"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-228 -260 95"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "108 -44 19.4688"; + rotation = "0 0 1 3.99996"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "476 84 81.3593"; + rotation = "0 0 1 1.00014"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-244 276 111.172"; + rotation = "0 0 1 13"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "108 -484 123.047"; + rotation = "0 0 1 213"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-60 124 74.8126"; + rotation = "0 0 -1 62.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-156 140 115.844"; + rotation = "0 0 1 152"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-388 -628 133.469"; + rotation = "0 0 1 154"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "92 348 128.375"; + rotation = "0 0 -1 115"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + }; + new SimGroup(Addition6SWShrub23) { + + powerCount = "0"; + + new TSStatic() { + position = "-188 244 115.047"; + rotation = "0 0 1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-236 -252 94.9844"; + rotation = "0 0 1 166"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "428 -316 122.266"; + rotation = "0 0 1 179"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-308 12 116.094"; + rotation = "0 0 -1 22.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "60 -508 176.938"; + rotation = "0 0 -1 111"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "508 -548 177.547"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-236 -180 76.875"; + rotation = "0 0 1 143"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "492 -228 153.156"; + rotation = "0 0 -1 92.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "188 140 138.328"; + rotation = "0 0 1 9.00004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-68 300 125.75"; + rotation = "0 0 -1 98.0004"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-44 -404 100.531"; + rotation = "0 0 1 97.9998"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-164 -148 44.9219"; + rotation = "0 0 -1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "524 -204 185.094"; + rotation = "0 0 -1 26"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-260 188 144.984"; + rotation = "0 0 -1 69.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "228 -588 133.281"; + rotation = "0 0 1 43"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-428 156 109.594"; + rotation = "0 0 1 29"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-172 -564 170.75"; + rotation = "0 0 -1 16.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "492 -4 90.7969"; + rotation = "0 0 -1 117"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-60 -548 168.688"; + rotation = "0 0 1 223"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "100 -236 18.9843"; + rotation = "0 0 1 7.00001"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "332 -260 119.344"; + rotation = "0 0 1 210"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "188 -252 37.5937"; + rotation = "0 0 1 122"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "92 308 140.469"; + rotation = "0 0 1 174"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-196 -20 85.7656"; + rotation = "0 0 1 205"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-196 -28 82.875"; + rotation = "0 0 1 94"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "308 -516 144.781"; + rotation = "0 0 1 26"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "300 -60 62.9063"; + rotation = "0 0 1 149"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-76 -68 39.9219"; + rotation = "0 0 1 49"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-444 -532 118.063"; + rotation = "0 0 -1 83.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "156 36 66.8125"; + rotation = "0 0 -1 58.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + }; + new SimGroup(Addition7SWShrub24) { + + powerCount = "0"; + + new TSStatic() { + position = "-308 172 141.922"; + rotation = "0 0 1 113"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "380 -20 96.4532"; + rotation = "0 0 -1 22.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-420 -340 139.828"; + rotation = "0 0 -1 83.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-180 -500 169.391"; + rotation = "0 0 -1 117"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "436 -260 142.875"; + rotation = "0 0 -1 10.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-252 -604 148.219"; + rotation = "0 0 1 171"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-92 268 126.063"; + rotation = "0 0 -1 53"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "372 -396 111.703"; + rotation = "0 0 1 187"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "212 -596 130.875"; + rotation = "0 0 -1 110"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "404 -100 129.422"; + rotation = "0 0 1 48"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "60 -236 23.6562"; + rotation = "0 0 1 115"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "388 -564 179.891"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "348 220 97.7187"; + rotation = "0 0 -1 59.0003"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "76 204 130.578"; + rotation = "0 0 1 206"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "204 -164 13.1094"; + rotation = "0 0 1 214"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-436 148 107.437"; + rotation = "0 0 -1 14"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "108 348 131.469"; + rotation = "0 0 1 52"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-260 132 164.641"; + rotation = "0 0 1 27"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "156 -236 12.3594"; + rotation = "0 0 1 130"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-284 -84 111.344"; + rotation = "0 0 1 88"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "420 140 83.6406"; + rotation = "0 0 1 167"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "452 52 71.9218"; + rotation = "0 0 1 215"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-348 -188 139.922"; + rotation = "0 0 -1 69.0002"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "452 60 73"; + rotation = "0 0 -1 32"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "396 -100 128.766"; + rotation = "0 0 1 26"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "436 36 65.1093"; + rotation = "0 0 1 28"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "332 4 99.1719"; + rotation = "0 0 -1 43.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-260 -236 92"; + rotation = "0 0 -1 68.0003"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-92 188 143"; + rotation = "0 0 -1 76"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-236 -388 110.938"; + rotation = "0 0 -1 28.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + }; + }; + new Precipitation(Precipitation) { + position = "193.937 -192.446 191.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "0.55"; + maxNumDrops = "200"; + maxRadius = "125"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Badlands.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Badlands.mis new file mode 100644 index 00000000..6ed24ec1 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Badlands.mis @@ -0,0 +1,788 @@ +// DisplayName = High Octane (Badlands) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Beauty is eternity gazing at itself in a mirror. +// -- Khalil Gibran +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1500 points to win +//Identical sides +//Self powered bases +//Fast skiing action +//Map by HoLyStOrM +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "badlands"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "15"; + cdTrack = "4"; + + new MissionArea(MissionArea) { + area = "-648 -784 1328 1488"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun(all) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.250000 0.250000 0.250000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sun(nonterrain) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0 0 -1"; + color = "0.350000 0.250000 0.200000 1.000000"; + ambient = "0.450000 0.250000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "HO_Badlands.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "Gauntlet.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "400"; + fogColor = "0.300000 0.300000 0.300000 1.000000"; + fogVolume1 = "5000 0 75"; + fogVolume2 = "9009 7000 120"; + fogVolume3 = "7000 1270 2"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 9.01151e-33 4.04457e+22"; + high_fogVolume2 = "-1 1.75904e+22 1.64955e-33"; + high_fogVolume3 = "-1 7.21284e+22 1.9854e+29"; + + locked = "true"; + cloudSpeed0 = "0.002000 0.003000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "188.26 -215.776 164.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "160.824 -230.058 167.376"; + rotation = "0 0 1 93.9629"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "33"; + locked = "false"; + searchSchedule = "20971"; + team = "1"; + WayPoint = "37943"; + Trigger = "37944"; + originalPosition = "160.824 -230.058 167.376 0 0 1 1.63996"; + }; + new InteriorInstance(InteriorInstance) { + position = "196.894 -210.013 165.851"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "189.862 -213.459 184.77"; + rotation = "0 0 1 229.757"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "37860"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "201.472 -203.608 196.613"; + rotation = "0 0 1 49.8479"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "37862"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "189.902 -213.335 178.804"; + rotation = "0 0 1 225.173"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "37864"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "197.865 -206.434 185.254"; + rotation = "0.327764 -0.895409 -0.301353 96.135"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "37"; + team = "1"; + lastProjectile = "20021"; + }; + new VehicleBlocker() { + position = "160.828 -229.745 167.176"; + rotation = "-0.0144211 -0.0149979 0.999784 92.2587"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "1"; + }; + new Item() { + position = "190.765 -212.239 196.842"; + rotation = "0 0 -1 5.15661"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new MissionMarker() { + position = "160.828 -229.745 167.176 0"; + rotation = "-0.0310363 -0.0149922 0.999406 51.5928"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Trigger() { + position = "160.824 -230.058 167.376"; + rotation = "-0.0139944 -0.014998 0.99979 93.9771"; + scale = "1 1 1"; + dataBlock = "flagTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.6000000 0.6000000 0.1000000 1.2000000 0.0000000 0.0000000 -0.0000000 -1.2000000 -0.0000000 -0.0000000 -0.0000000 2.5000000"; + + team = "1"; + flag = "5016"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-197.604 204.977 170.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "1"; + }; + new Item() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "38"; + locked = "false"; + team = "2"; + WayPoint = "37945"; + Trigger = "37946"; + originalPosition = "-164.61 218.886 167.224 0 0 1 0.12"; + }; + new InteriorInstance(InteriorInstance) { + position = "-203.621 198.964 164.431"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new Turret() { + position = "-204.737 195.703 185.422"; + rotation = "-0.67823 -0.274622 0.681606 149.704"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + team = "2"; + lastProjectile = "14158"; + }; + new StaticShape() { + position = "-207.978 192.473 195.238"; + rotation = "0 0 1 228.22"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "37883"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.734 202.654 183.365"; + rotation = "0 0 1 48.8842"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "37885"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.763 202.694 177.399"; + rotation = "0 0 1 48.3112"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + damageTimeMS = "1861432"; + lastDamagedBy = "4986"; + Trigger = "37887"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "-0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Item() { + position = "-197.877 201.617 195.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition5BiodermPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "364 -404 84.8125"; + rotation = "0 0 1 55"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "156 564 134.578"; + rotation = "0 0 -1 82"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-476 4 126.797"; + rotation = "0 0 1 76.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "276 660 121.844"; + rotation = "0 0 1 159"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-44 -580 119.594"; + rotation = "0 0 -1 111"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "212 652 124.797"; + rotation = "0 0 1 79"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "188 -644 141.109"; + rotation = "0 0 1 232"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "492 452 87.2032"; + rotation = "0 0 1 189"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-628 412 127.734"; + rotation = "0 0 1 29"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-596 -412 125.109"; + rotation = "0 0 -1 58.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + }; + new SimGroup(Addition8PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-404 -404 174.656"; + rotation = "0 0 1 47"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "140 -20 118.875"; + rotation = "0 0 1 191"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "4 628 125.078"; + rotation = "0 0 1 47"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "468 404 104.812"; + rotation = "0 0 1 103"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-516 436 116.609"; + rotation = "0 0 1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-268 -332 132.094"; + rotation = "0 0 1 102"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "652 100 61.1719"; + rotation = "0 0 -1 29.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "260 -220 127.062"; + rotation = "0 0 1 196"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-700 -460 125.516"; + rotation = "0 0 1 130"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "356 644 127.031"; + rotation = "0 0 -1 44"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "652 484 125.703"; + rotation = "0 0 1 99.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "300 -444 85.9531"; + rotation = "0 0 -1 10.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "492 -412 89.2344"; + rotation = "0 0 -1 84.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-564 -660 174.016"; + rotation = "0 0 1 88"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "508 -156 127.344"; + rotation = "0 0 1 70.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-212 -612 174.578"; + rotation = "0 0 1 109"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "580 452 126.094"; + rotation = "0 0 -1 87.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "164 -52 123.906"; + rotation = "0 0 1 29"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "404 -332 85.7187"; + rotation = "0 0 1 163"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "196 476 131.859"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-44 -372 126.031"; + rotation = "0 0 1 216"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "660 492 126.625"; + rotation = "0 0 1 226"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-36 -612 126.562"; + rotation = "0 0 1 40"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-540 372 88.1406"; + rotation = "0 0 1 236"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-708 108 128.828"; + rotation = "0 0 -1 71.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "436 -12 124.219"; + rotation = "0 0 1 214"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-268 -284 116.672"; + rotation = "0 0 1 154"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "116 -188 131.594"; + rotation = "0 0 1 55"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-284 252 124.719"; + rotation = "0 0 -1 26"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "60 196 124.734"; + rotation = "0 0 1 42"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Ob1) { + position = "175.361 250.014 177.337"; + rotation = "0.0151331 0.0352331 0.999265 226.458"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob2) { + position = "-10.6123 37.2491 263.466"; + rotation = "0.83088 0.376202 -0.410012 95.6749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob3) { + position = "-53.4735 -389.17 237.629"; + rotation = "0.325215 -0.0542827 0.944081 20.0525"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Desert.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Desert.mis new file mode 100644 index 00000000..cb2627a6 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Desert.mis @@ -0,0 +1,1055 @@ +// DisplayName = High Octane (Desert) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Beauty is eternity gazing at itself in a mirror. +// -- Khalil Gibran +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1500 points to win +//Identical sides +//Self powered bases +//Fast skiing action +//Map by HoLyStOrM +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "desert"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "15"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-648 -784 1328 1488"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun(all) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.420000 0.350000 1.000000"; + ambient = "0.200000 0.220000 0.250000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sun(nonterrain) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0 0 -1"; + color = "0.350000 0.150000 0.100000 1.000000"; + ambient = "0.350000 0.150000 0.100000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "HO_Desert.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "Gauntlet.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.430000 0.460000 0.500000 1.000000"; + fogDistance = "400"; + fogColor = "0.630000 0.460000 0.350000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -7.49522e-11 -125.11"; + high_fogVolume2 = "-1 -2.49681e+36 2.39923e-28"; + high_fogVolume3 = "-1 -5.54515e+14 -2.80709e+29"; + + locked = "true"; + cloudSpeed0 = "0.000050 0.000050"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "188.26 -215.776 164.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "160.824 -230.058 167.376"; + rotation = "0 0 1 93.9629"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "33"; + locked = "false"; + searchSchedule = "20971"; + team = "1"; + WayPoint = "43764"; + Trigger = "43765"; + originalPosition = "160.824 -230.058 167.376 0 0 1 1.63996"; + }; + new InteriorInstance(InteriorInstance) { + position = "196.894 -210.013 165.851"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "189.862 -213.459 184.77"; + rotation = "0 0 1 229.757"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "43635"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "201.472 -203.608 196.613"; + rotation = "0 0 1 49.8479"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "43637"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "189.902 -213.335 178.804"; + rotation = "0 0 1 225.173"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "43639"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "197.865 -206.434 185.254"; + rotation = "0.327764 -0.895409 -0.301353 96.135"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "37"; + team = "1"; + lastProjectile = "20021"; + }; + new VehicleBlocker() { + position = "160.828 -229.745 167.176"; + rotation = "-0.0144211 -0.0149979 0.999784 92.2587"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "1"; + }; + new Item() { + position = "190.765 -212.239 196.842"; + rotation = "0 0 -1 5.15661"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new MissionMarker() { + position = "160.828 -229.745 167.176 0"; + rotation = "-0.0310363 -0.0149922 0.999406 51.5928"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Trigger() { + position = "160.824 -230.058 167.376"; + rotation = "-0.0139944 -0.014998 0.99979 93.9771"; + scale = "1 1 1"; + dataBlock = "flagTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.6000000 0.6000000 0.1000000 1.2000000 0.0000000 0.0000000 -0.0000000 -1.2000000 -0.0000000 -0.0000000 -0.0000000 2.5000000"; + + team = "1"; + flag = "5016"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-197.604 204.977 170.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "1"; + }; + new Item() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "38"; + locked = "false"; + team = "2"; + WayPoint = "43766"; + Trigger = "43767"; + originalPosition = "-164.61 218.886 167.224 0 0 1 0.12"; + }; + new InteriorInstance(InteriorInstance) { + position = "-203.621 198.964 164.431"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new Turret() { + position = "-204.737 195.703 185.422"; + rotation = "-0.67823 -0.274622 0.681606 149.704"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + team = "2"; + lastProjectile = "14158"; + }; + new StaticShape() { + position = "-207.978 192.473 195.238"; + rotation = "0 0 1 228.22"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "43658"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.734 202.654 183.365"; + rotation = "0 0 1 48.8842"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "43660"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.763 202.694 177.399"; + rotation = "0 0 1 48.3112"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + damageTimeMS = "1861432"; + lastDamagedBy = "4986"; + Trigger = "43662"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "-0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Item() { + position = "-197.815 201.661 195.712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition11PhoenixPlant6) { + + powerCount = "0"; + + new TSStatic() { + position = "-700 148 131.031"; + rotation = "0 0 1 1.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "92 -628 169.125"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-636 28 145.453"; + rotation = "0 0 -1 26.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-572 524 124.234"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "508 -28 117.781"; + rotation = "0 0 1 100"; + scale = "0.8 0.8 0.8"; + shapeName = "porg6.dts"; + }; + }; + new SimGroup(Addition10PhoenixPlant3) { + + powerCount = "0"; + + new TSStatic() { + position = "212 476 132.766"; + rotation = "0 0 -1 67.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-476 388 81.2344"; + rotation = "0 0 -1 7.99996"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-156 500 127.125"; + rotation = "0 0 -1 117"; + scale = "0.8 0.8 0.8"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "180 308 150.844"; + rotation = "0 0 -1 7.00012"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "532 -508 127.859"; + rotation = "0 0 -1 20.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-60 -300 125.125"; + rotation = "0 0 -1 26"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "196 -292 124.656"; + rotation = "0 0 -1 53.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-20 436 124.375"; + rotation = "0 0 1 111"; + scale = "0.9 0.9 0.9"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-524 -636 133.156"; + rotation = "0 0 1 231"; + scale = "1.4 1.4 1.4"; + shapeName = "porg3.dts"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "420 60 125.003"; + rotation = "0.0932591 -0.0621865 0.993698 128.285"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-252 532 88.5968"; + rotation = "0.157862 0.00250643 0.987458 55.5945"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-604 572 127.034"; + rotation = "0.0319211 -0.132389 0.990684 186.935"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "252 396 124.769"; + rotation = "0.105574 0.0385855 0.993663 208.824"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-76 -36 123.378"; + rotation = "0.0788083 -0.0626858 0.994917 94.2911"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -476 80.3469"; + rotation = "0.125561 -0.167737 -0.977803 99.2718"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "500 -76 125.456"; + rotation = "0.908906 0.108471 -0.402645 22.1188"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-12 148 114.612"; + rotation = "0.349258 -0.683463 -0.641013 20.1576"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-44 60 124.769"; + rotation = "0.076003 -0.113395 -0.990639 81.5325"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "548 -52 126.316"; + rotation = "-0.0596304 0.147325 0.987289 105.707"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "428 148 148.316"; + rotation = "-0.0682282 0.12699 -0.989555 80.5934"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-420 -516 88.6593"; + rotation = "-0.0133691 0.246269 -0.969109 82.7798"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 260 124.316"; + rotation = "-0.37471 0.0413995 0.926217 16.1796"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-116 380 90.9093"; + rotation = "0.0192769 0.0890794 -0.995838 66.2185"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-572 548 124.394"; + rotation = "-0.0420956 0.000311939 0.999114 135.036"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-156 44 123.753"; + rotation = "-0.0099272 -0.0194291 0.999762 179"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-52 -244 124.097"; + rotation = "0.140031 -0.112891 0.98369 43.6464"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-516 -420 88.6593"; + rotation = "-0.131127 -0.100228 0.986286 162.243"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "340 -532 87.9719"; + rotation = "-0.254328 0.951152 0.175006 17.02"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-548 -244 151.175"; + rotation = "0.224642 -0.0899042 0.970285 106.663"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-604 -428 127.175"; + rotation = "-0.000398862 0.716836 -0.697241 7.1662"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-12 -572 127.519"; + rotation = "0.0563133 -0.0206686 -0.998199 79.1014"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "228 44 123.613"; + rotation = "0.0159487 -0.0153647 0.999755 175.001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-508 -588 123.738"; + rotation = "0.0239847 0.055161 0.998189 43.0709"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-564 580 123.847"; + rotation = "0.00449627 -0.000758061 0.99999 213.999"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-204 564 125.3"; + rotation = "0.0431919 0.110958 0.992886 221.727"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "116 -92 124.691"; + rotation = "0.0915501 0.000829868 0.9958 106.232"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-60 -108 125.316"; + rotation = "-0.0547462 -0.883496 -0.465229 12.8539"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-172 -508 127.534"; + rotation = "0.104349 0.0958433 0.989912 195.841"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-292 36 92.675"; + rotation = "-0.0557712 -0.0556839 0.99689 208.914"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-212 36 124.722"; + rotation = "-0.16031 -0.0117739 0.986996 135.527"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "524 -132 123.909"; + rotation = "0.257684 0.587593 0.767029 5.21339"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-84 -4 125.034"; + rotation = "-0.0561015 -0.32524 -0.943966 34.8432"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "196 404 172.05"; + rotation = "0.0282319 -0.087647 -0.995752 61.2137"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-516 -60 104.394"; + rotation = "-0.212152 0.0208447 0.977014 181.954"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "420 20 125.894"; + rotation = "0.0228443 0.0551491 0.998217 179.002"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-28 316 89.6282"; + rotation = "0.00736402 0.0554217 0.998436 45.0635"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "196 -12 121.191"; + rotation = "-0.0160569 -0.276885 -0.960769 33.2359"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-460 332 84.7532"; + rotation = "-0.502711 0.34585 0.792256 27.5705"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "4 556 126.566"; + rotation = "0.0512426 -0.05319 0.997269 213.912"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "148 -492 126.113"; + rotation = "-0.110277 -0.152535 -0.982126 105.001"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-436 380 87.8469"; + rotation = "0.369702 0.411894 -0.832865 10.796"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "548 412 88.8312"; + rotation = "-0.12864 0.0493234 0.990464 186.934"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "20 484 126.378"; + rotation = "0.10255 0.0739945 0.991972 119.403"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "492 364 92.0032"; + rotation = "0.129747 0.00517088 0.991534 146.272"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "396 284 125.972"; + rotation = "0.0417801 0.167984 -0.984904 25.371"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-356 564 89.2688"; + rotation = "0.044079 0.024192 -0.998735 71.0685"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-124 524 123.956"; + rotation = "0.00484168 -0.00296699 0.999984 206.999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -28 122.675"; + rotation = "-0.10837 0.147041 0.983176 80.9584"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "204 -300 125.347"; + rotation = "0.0555623 0.059395 0.996687 73.1816"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-532 -156 125.925"; + rotation = "-0.0207404 0.0774043 0.996784 209.908"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "556 -36 127.175"; + rotation = "0.106971 0.0638661 -0.992209 91.4481"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-132 -548 123.925"; + rotation = "0.0622042 -0.0146382 0.997956 186.986"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "452 -340 84.7532"; + rotation = "0.15113 -0.348019 -0.925226 45.0657"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-20 -36 111.894"; + rotation = "-0.20333 0.0960581 0.974387 67.3655"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "308 -268 124.816"; + rotation = "0.0695835 0.0269656 -0.997212 97.1588"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "492 452 87.0032"; + rotation = "-0.0412467 -0.0545313 -0.99766 117.119"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-348 -300 129.894"; + rotation = "0.123372 -0.130489 -0.983744 75.9089"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-428 340 88.4562"; + rotation = "0.0334257 -0.0203781 0.999233 190.991"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-364 -332 139.237"; + rotation = "0.628172 -0.137488 0.765831 31.024"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 532 87.8781"; + rotation = "0.0876814 0.00377371 0.996141 198.928"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-36 -460 124.191"; + rotation = "-0.00363213 -0.0894367 -0.995986 87.23"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-244 164 163.222"; + rotation = "-0.142626 0.0675994 0.987466 173.088"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "548 -260 87.8"; + rotation = "0.00441806 0.000542481 -0.99999 76"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "20 -300 91.4407"; + rotation = "-0.000877644 -0.0793751 0.996844 127.144"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -228 88.3781"; + rotation = "0.0301934 0.0984688 0.994682 59.2622"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-76 20 124.003"; + rotation = "0.000516313 -0.0277686 0.999614 39.0139"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "300 -156 124.144"; + rotation = "0.0148381 0.000938386 -0.999889 97.0062"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "124 140 125.363"; + rotation = "-0.0112143 -0.0303069 0.999478 218.981"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Ob1) { + position = "175.361 250.014 177.337"; + rotation = "0.0151331 0.0352331 0.999265 226.458"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob2) { + position = "-10.6123 37.2491 263.466"; + rotation = "0.83088 0.376202 -0.410012 95.6749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob3) { + position = "-53.4735 -389.17 237.629"; + rotation = "0.325215 -0.0542827 0.944081 20.0525"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Ice.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Ice.mis new file mode 100644 index 00000000..fe142f6e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Ice.mis @@ -0,0 +1,780 @@ +// DisplayName = High Octane (Ice) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Beauty is eternity gazing at itself in a mirror. +// -- Khalil Gibran +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1500 points to win +//Identical sides +//Self powered bases +//Fast skiing action +//Map by HoLyStOrM +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "15"; + cdTrack = "5"; + + new MissionArea(MissionArea) { + area = "-648 -784 1328 1488"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "HO_Ice.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "Gauntlet.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "400"; + fogColor = "0.500000 0.550000 0.610000 1.000000"; + fogVolume1 = "5000 0 75"; + fogVolume2 = "9009 7000 120"; + fogVolume3 = "7000 1270 2"; + materialList = "Euro4_FrozenHope.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.88322e-37 4.27877e-38"; + high_fogVolume2 = "-1 1.71806e-36 4.28417e-38"; + high_fogVolume3 = "-1 2.01058e-37 4.28473e-38"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "188.26 -215.776 164.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "160.824 -230.058 167.376"; + rotation = "0 0 1 93.9629"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "33"; + locked = "false"; + searchSchedule = "20971"; + team = "1"; + WayPoint = "29429"; + Trigger = "29430"; + originalPosition = "160.824 -230.058 167.376 0 0 1 1.63996"; + }; + new InteriorInstance(InteriorInstance) { + position = "196.894 -210.013 165.851"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + interiorFile = "btowr5-Lava.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "189.862 -213.459 184.77"; + rotation = "0 0 1 229.757"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "29342"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "201.472 -203.608 196.613"; + rotation = "0 0 1 49.8479"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "29344"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "189.902 -213.335 178.804"; + rotation = "0 0 1 225.173"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "29346"; + team = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "197.865 -206.434 185.254"; + rotation = "0.327764 -0.895409 -0.301353 96.135"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "37"; + team = "1"; + lastProjectile = "20021"; + }; + new VehicleBlocker() { + position = "160.828 -229.745 167.176"; + rotation = "-0.0144211 -0.0149979 0.999784 92.2587"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "1"; + }; + new Item() { + position = "190.765 -212.239 196.842"; + rotation = "0 0 -1 5.15661"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new MissionMarker() { + position = "160.828 -229.745 167.176 0"; + rotation = "-0.0310363 -0.0149922 0.999406 51.5928"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Trigger() { + position = "160.824 -230.058 167.376"; + rotation = "-0.0139944 -0.014998 0.99979 93.9771"; + scale = "1 1 1"; + dataBlock = "flagTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.6000000 0.6000000 0.1000000 1.2000000 0.0000000 0.0000000 -0.0000000 -1.2000000 -0.0000000 -0.0000000 -0.0000000 2.5000000"; + + team = "1"; + flag = "5016"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-197.604 204.977 170.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "1"; + }; + new Item() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "38"; + locked = "false"; + team = "2"; + WayPoint = "29431"; + Trigger = "29432"; + originalPosition = "-164.61 218.886 167.224 0 0 1 0.12"; + }; + new InteriorInstance(InteriorInstance) { + position = "-203.621 198.964 164.431"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + interiorFile = "btowr5-Lava.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new Turret() { + position = "-204.737 195.703 185.422"; + rotation = "-0.67823 -0.274622 0.681606 149.704"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "39"; + team = "2"; + lastProjectile = "14158"; + }; + new StaticShape() { + position = "-207.978 192.473 195.238"; + rotation = "0 0 1 228.22"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "29365"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.734 202.654 183.365"; + rotation = "0 0 1 48.8842"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + damageTimeMS = "427899"; + lastDamagedBy = "5015"; + Trigger = "29367"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.763 202.694 177.399"; + rotation = "0 0 1 48.3112"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + damageTimeMS = "1861432"; + lastDamagedBy = "4986"; + Trigger = "29369"; + team = "2"; + inUse = "Down"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "-0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Item() { + position = "-197.845 201.646 195.416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1SWShrub21) { + + powerCount = "0"; + + new TSStatic() { + position = "-348 -268 126.297"; + rotation = "0 0 -1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "500 60 110.062"; + rotation = "0 0 -1 63.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "396 556 96.5001"; + rotation = "0 0 1 237"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "388 -332 84.3124"; + rotation = "0 0 1 55"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "324 -468 79.9844"; + rotation = "0 0 -1 89.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-228 500 89.8125"; + rotation = "0 0 -1 87.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-652 -412 127.953"; + rotation = "0 0 1 101"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "628 -92 166.719"; + rotation = "0 0 -1 81.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "580 -4 125.75"; + rotation = "0 0 1 230"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "500 508 90.9062"; + rotation = "0 0 1 47"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "260 -220 127.062"; + rotation = "0 0 1 91.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-508 556 126.031"; + rotation = "0 0 -1 34.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "580 548 132.828"; + rotation = "0 0 -1 52.0003"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-36 412 125.203"; + rotation = "0 0 1 49"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-12 36 123.156"; + rotation = "0 0 1 11"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "324 92 167.922"; + rotation = "0 0 -1 62.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "212 68 124.891"; + rotation = "0 0 1 205"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "220 -652 159.047"; + rotation = "0 0 -1 61.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-268 -444 125.719"; + rotation = "0 0 1 100"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-76 668 153.406"; + rotation = "0 0 -1 110"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "484 -308 61.8594"; + rotation = "0 0 1 79"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "164 -116 127.391"; + rotation = "0 0 1 27"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-540 308 79.1093"; + rotation = "0 0 1 70"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-164 -148 129.406"; + rotation = "0 0 -1 86.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "644 -44 148.469"; + rotation = "0 0 -1 17.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-348 -572 129.406"; + rotation = "0 0 -1 37.0002"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "292 140 159.984"; + rotation = "0 0 1 75.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-108 84 126.359"; + rotation = "0 0 1 168"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "404 -436 83.25"; + rotation = "0 0 1 208"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "500 388 91.3125"; + rotation = "0 0 1 182"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-532 -556 126.547"; + rotation = "0 0 -1 82"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "524 420 86.5625"; + rotation = "0 0 -1 41"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-84 668 152.953"; + rotation = "0 0 -1 22.9999"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "516 -452 121.812"; + rotation = "0 0 -1 41.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "492 -68 121.797"; + rotation = "0 0 1 7.99996"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-388 196 93.3906"; + rotation = "0 0 1 151"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-540 -492 99.8906"; + rotation = "0 0 1 102"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "20 188 123.656"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "396 -508 89.5938"; + rotation = "0 0 1 25"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "692 580 174.875"; + rotation = "0 0 1 109"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Ob1) { + position = "175.361 250.014 177.337"; + rotation = "0.0151331 0.0352331 0.999265 226.458"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob2) { + position = "-10.6123 37.2491 263.466"; + rotation = "0.83088 0.376202 -0.410012 95.6749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob3) { + position = "-53.4735 -389.17 237.629"; + rotation = "0.325215 -0.0542827 0.944081 20.0525"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Precipitation(Precipitation) { + position = "193.937 -192.446 191.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "0.55"; + maxNumDrops = "200"; + maxRadius = "125"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Lush.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Lush.mis new file mode 100644 index 00000000..2a3e0e3b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HO_Lush.mis @@ -0,0 +1,768 @@ +// DisplayName = High Octane (Lush) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Beauty is eternity gazing at itself in a mirror. +// -- Khalil Gibran +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1500 points to win +//Identical sides +//Self powered bases +//Fast skiing action +//Map by HoLyStOrM +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "15"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-648 -784 1328 1488"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "HO_Lush.ter"; + squareSize = "8"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + GraphFile = "Gauntlet.nav"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.420000 0.420000 0.420000 0.000000"; + fogDistance = "400"; + fogColor = "0.520000 0.520000 0.620000 1.000000"; + fogVolume1 = "5000 0 75"; + fogVolume2 = "9009 7000 120"; + fogVolume3 = "7000 1270 2"; + materialList = "sky01.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "0"; + high_fogDistance = "0"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 5.45564e-34 7.24432e+22"; + high_fogVolume3 = "-1 1.07461e-38 0"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "188.26 -215.776 164.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "160.824 -230.058 167.376"; + rotation = "0 0 1 93.9629"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "24066"; + Trigger = "24067"; + Target = "33"; + originalPosition = "160.824 -230.058 167.376 0 0 1 1.63996"; + searchSchedule = "20971"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + }; + new InteriorInstance() { + position = "196.894 -210.013 165.851"; + rotation = "0 0 -1 40.68"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "189.862 -213.459 184.77"; + rotation = "0 0 1 229.757"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "427899"; + Trigger = "24021"; + team = "1"; + lastDamagedBy = "5015"; + inUse = "Down"; + Target = "34"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "201.472 -203.608 196.613"; + rotation = "0 0 1 49.8479"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "427899"; + Trigger = "24023"; + team = "1"; + lastDamagedBy = "5015"; + inUse = "Down"; + Target = "35"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "189.902 -213.335 178.804"; + rotation = "0 0 1 225.173"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "427899"; + Trigger = "24025"; + team = "1"; + lastDamagedBy = "5015"; + inUse = "Down"; + Target = "36"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "197.865 -206.434 185.254"; + rotation = "0.327764 -0.895409 -0.301353 96.135"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + lastProjectile = "20021"; + Target = "37"; + }; + new VehicleBlocker() { + position = "160.828 -229.745 167.176"; + rotation = "-0.0144211 -0.0149979 0.999784 92.2587"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "1"; + }; + new Item() { + position = "190.765 -212.239 196.842"; + rotation = "0 0 -1 5.15661"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new MissionMarker() { + position = "160.828 -229.745 167.176 0"; + rotation = "-0.0310363 -0.0149922 0.999406 51.5928"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Trigger() { + position = "160.824 -230.058 167.376"; + rotation = "-0.0139944 -0.014998 0.99979 93.9771"; + scale = "1 1 1"; + dataBlock = "flagTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.6000000 0.6000000 0.1000000 1.2000000 0.0000000 0.0000000 -0.0000000 -1.2000000 -0.0000000 -0.0000000 -0.0000000 2.5000000"; + + team = "1"; + flag = "5016"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-197.604 204.977 170.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(MainBase) { + + powerCount = "1"; + }; + new Item() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "24068"; + Trigger = "24069"; + Target = "38"; + originalPosition = "-164.61 218.886 167.224 0 0 1 0.12"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + }; + new InteriorInstance() { + position = "-203.621 198.964 164.431"; + rotation = "0 0 1 136.937"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new VehicleBlocker() { + position = "-164.61 218.886 167.224"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + dimensions = "2 2 4"; + + team = "2"; + }; + new Turret() { + position = "-204.737 195.703 185.422"; + rotation = "-0.67823 -0.274622 0.681606 149.704"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + lastProjectile = "14158"; + Target = "39"; + }; + new StaticShape() { + position = "-207.978 192.473 195.238"; + rotation = "0 0 1 228.22"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "427899"; + Trigger = "24044"; + team = "2"; + lastDamagedBy = "5015"; + inUse = "Down"; + Target = "40"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.734 202.654 183.365"; + rotation = "0 0 1 48.8842"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "427899"; + Trigger = "24046"; + team = "2"; + lastDamagedBy = "5015"; + inUse = "Down"; + Target = "41"; + notReady = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-196.763 202.694 177.399"; + rotation = "0 0 1 48.3112"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "1861432"; + Trigger = "24048"; + team = "2"; + lastDamagedBy = "4986"; + inUse = "Down"; + Target = "42"; + notReady = "1"; + lastDamagedByTeam = "1"; + }; + new MissionMarker() { + position = "-164.61 218.886 167.224 0"; + rotation = "-0 0 -1 27.502"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new SimGroup() { + + powerCount = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition12BEPlant1) { + + new TSStatic() { + position = "556 -212 125.522"; + rotation = "-0.145268 -0.0426492 0.988473 132.491"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 -692 130.178"; + rotation = "-0.501894 0.235491 -0.832254 59.6352"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "460 332 111.116"; + rotation = "-0.0535078 -0.502192 -0.863099 65.4197"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-164 -412 152.084"; + rotation = "-0.27529 -0.601496 -0.749946 45.6066"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-68 -564 97.6156"; + rotation = "-0.269164 -0.065027 0.960897 210.81"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-500 276 57.85"; + rotation = "0.242391 -0.714957 0.655807 48.6153"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "468 580 126.772"; + rotation = "0.0365336 -0.00661048 0.999311 133.029"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-260 300 124.912"; + rotation = "-0.0203427 -0.0370177 0.999108 200.982"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "124 -420 90.6"; + rotation = "0.355515 -0.731487 0.581838 22.159"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 -532 114.381"; + rotation = "-0.237766 0.133628 0.962087 124.837"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "252 228 114.944"; + rotation = "0.173877 0.200139 0.964215 77.0261"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 484 87.6938"; + rotation = "0.0170253 -0.00847494 0.999819 235.992"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-84 540 125.709"; + rotation = "0.196769 0.0462398 -0.979359 80.1751"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 -68 143.1"; + rotation = "0.146722 0.800332 0.581328 32.1183"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "260 268 115.584"; + rotation = "-0.0234521 -0.106252 0.994063 192.923"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "28 388 129.6"; + rotation = "-0.134366 0.0168874 0.990788 154.232"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "92 428 124.866"; + rotation = "1 -1.2782e-05 3.7019e-05 6.90437"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "652 676 167.397"; + rotation = "0.263609 0.156589 0.951835 106.727"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "580 4 126.788"; + rotation = "0.134722 0.0138731 0.990786 231.583"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 -116 125.194"; + rotation = "0.0630273 -0.140115 0.988127 23.2688"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition13BEPlant5) { + + new TSStatic() { + position = "388 -516 89.6719"; + rotation = "-0.0552639 0.0768635 0.995509 173.032"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 524 121.781"; + rotation = "-0.729417 -0.535666 -0.425457 27.7524"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 604 127.609"; + rotation = "-0.183655 -0.0107238 0.982932 62.8741"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-628 -604 169.328"; + rotation = "0.199603 -0.623238 -0.75613 26.2531"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-572 -572 132.984"; + rotation = "0.113934 0.120061 0.986207 182.959"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "596 -132 170.016"; + rotation = "-0.286357 -0.216946 -0.933238 59.3447"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "348 276 125.109"; + rotation = "-0.11484 0.0589539 -0.991633 89.4817"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "492 -300 61.2344"; + rotation = "0.128873 0.635921 0.760918 61.8359"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "92 -172 132.625"; + rotation = "0.85296 -0.50365 0.137095 28.5809"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "388 -524 89.875"; + rotation = "-0.142306 0.0939891 0.98535 55.6956"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-676 -212 118.453"; + rotation = "0.0560186 0.301273 -0.951891 56.3181"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-164 -540 128.313"; + rotation = "0.158819 0.0784017 0.98419 191.811"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 -508 110.125"; + rotation = "-0.658938 0.368282 -0.655873 52.7074"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "596 68 90.8906"; + rotation = "0.107729 -0.678049 -0.727079 53.1847"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-76 -140 127.187"; + rotation = "0.0666476 0.0180575 0.997613 193.967"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-524 4 122.203"; + rotation = "0.116392 -0.0095461 -0.993157 75.38"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-644 -132 64.8281"; + rotation = "0.329763 0.924829 0.189598 25.9361"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "28 -252 101.25"; + rotation = "-0.0197569 -0.178854 0.983677 165.242"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "308 -420 86.5"; + rotation = "0.0684599 0.0541106 0.996185 54.1773"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-468 -284 125.813"; + rotation = "0.0651359 -0.131606 0.98916 185.935"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Ob1) { + position = "175.361 250.014 177.337"; + rotation = "0.0151331 0.0352331 0.999265 226.458"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob2) { + position = "-10.6123 37.2491 263.466"; + rotation = "0.83088 0.376202 -0.410012 95.6749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Ob3) { + position = "-53.4735 -389.17 237.629"; + rotation = "0.325215 -0.0542827 0.944081 20.0525"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new Item() { + position = "-197.845 201.536 195.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HillKingLT.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HillKingLT.mis new file mode 100644 index 00000000..eec090b3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/HillKingLT.mis @@ -0,0 +1,869 @@ +// DisplayName = HillKingLT +// MissionTypes = SCtF + +//--- MISSION QUOTE BEGIN --- +//In capitalism, man exploits man. In communism it's the other way around. +//--John Kenneth Galbraith +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[SCtF]1000 points to win +//Map by ChocoTaco (Thanks: DarkTiger) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + powerCount = "0"; + CTF_scoreLimit = "10"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-432 -448 944 912"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.881743 0.133876 -0.452334"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "HillKing.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + GraphFile = "FrozenHope.nav"; + conjoinBowlDev = "20"; + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + coverage = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-136.625 120.01 221.468"; + rotation = "0.0149616 -0.0646373 0.997797 153.99"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-56.4753 -81.8728 210.752"; + rotation = "0.134163 -0.155434 0.978693 99.6208"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-224.154 -13.6409 213.338"; + rotation = "0.417924 -0.147876 0.896366 43.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "155.096 137.949 223.496"; + rotation = "0.182132 0.23274 -0.955333 106.436"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "21.9925 -232.833 176.436"; + rotation = "-0 0 -1 4.58367"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "328.585 -152.326 205.878"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "44.3843 -124.008 140.6"; + rotation = "0 0 -1 0.573347"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + originalPosition = "44.3843 -124.008 140.6 0 0 -0.999999 0.0100068"; + className = "FlagObj"; + searchSchedule = "63603"; + team = "1"; + WayPoint = "5928"; + Trigger = "5929"; + Target = "33"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "292.64 243.512 183.724"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "186.569 326.663 182.066"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "106.345 190.324 144.736"; + rotation = "0 0 -1 5.72983"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + originalPosition = "106.345 190.324 144.736 0 0 -1 0.100004"; + className = "FlagObj"; + searchSchedule = "63603"; + team = "2"; + WayPoint = "5930"; + Trigger = "5931"; + Target = "34"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-81.9414 -298.88 242.68"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "363.859 -173.764 229.622"; + rotation = "0 0 1 34.9505"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-364.682 -304.009 269.832"; + rotation = "0 0 1 45.2637"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-679.599 -75.0637 293.678"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-481.373 328.883 220.881"; + rotation = "0 0 1 17.1888"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-119.059 414.881 252.508"; + rotation = "0 0 1 73.3386"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "758.495 -46.6317 298.582"; + rotation = "0 0 1 5.72969"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "160.015 484.993 258.4"; + rotation = "0 0 1 1.1467"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "45.6101 14.8578 192.471"; + rotation = "0 0 -1 86.5166"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "47.6141 14.7338 193.166"; + rotation = "0 0 1 4.58367"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "675.335 556.363 290.894"; + rotation = "0 0 1 46.4097"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "550"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.490000 0.000000"; + fogDistance = "320"; + fogColor = "0.550000 0.550000 0.610000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.88322e-37 4.27877e-38"; + high_fogVolume2 = "-1 1.71806e-36 4.28417e-38"; + high_fogVolume3 = "-1 2.01058e-37 4.28473e-38"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-420 -276 225.444"; + rotation = "-0.141156 0.312335 0.939426 133.646"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "356 -484 119.303"; + rotation = "-0.0225716 -0.213842 0.976608 239.821"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-332 420 163.225"; + rotation = "-0.1439 -0.0636588 0.987543 229.452"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-580 716 160.256"; + rotation = "0.514723 -0.142265 0.845471 68.6564"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-132 428 233.491"; + rotation = "0.30614 -0.00623103 -0.951966 91.8205"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "236 52 152.147"; + rotation = "-0.320846 0.254231 0.912373 66.7353"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-460 548 100.334"; + rotation = "0.381328 -0.300868 0.874109 58.3208"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "132 244 158.506"; + rotation = "-0.325325 0.945602 0 15.1346"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "92 -36 170.944"; + rotation = "0.16372 -0.104632 0.980942 224.226"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-220 -276 204.725"; + rotation = "0.598814 0.000382713 -0.800888 47.7057"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -540 38.6"; + rotation = "-0.505086 0.144079 -0.850958 60.733"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 -524 119.163"; + rotation = "-0.227484 -0.658566 0.717315 53.807"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "420 -548 109.866"; + rotation = "-0.573329 0.295778 -0.764074 31.0917"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -196 211.912"; + rotation = "-0.901729 0.365903 0.230217 17.2505"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "604 -52 238.819"; + rotation = "-0.0668279 0.17005 0.983167 175.084"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 -188 137.084"; + rotation = "0.0642975 0.287529 0.955611 125.154"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "108 -500 67.3968"; + rotation = "-0.652787 0.29826 0.696355 51.3281"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 -116 119.491"; + rotation = "-0.473847 0.880607 1.12757e-05 22.4119"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-508 668 153.084"; + rotation = "0.244612 0.0161256 0.969487 111.659"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-92 676 122.834"; + rotation = "-0.339989 -0.426435 0.838189 34.2945"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-180 620 115.084"; + rotation = "0.0781108 -0.0219625 0.996703 219.878"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "364 596 152.006"; + rotation = "-0.15884 0.216861 0.963193 226.423"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-516 20 163.834"; + rotation = "0.344444 0.0354491 0.938137 154.614"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "420 36 178.616"; + rotation = "-0.0298331 -0.0202232 0.99935 230.971"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "36 -652 56.4125"; + rotation = "-0.0431668 0.0856744 0.995388 129.205"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-556 44 186.006"; + rotation = "0.357037 -0.410705 0.838955 60.3439"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 -4 195.616"; + rotation = "0.898163 0.342456 -0.27573 35.2088"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-300 -132 113.959"; + rotation = "-0.00860937 0.540231 -0.841473 34.1685"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-540 -572 109.272"; + rotation = "0.21445 0.2024 0.955534 76.5197"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "356 -564 98.9749"; + rotation = "0.164853 0.0787468 0.98317 29.475"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-340 580 133.881"; + rotation = "-0.0698767 0.239752 0.968316 133.356"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 236 202.819"; + rotation = "0.228714 0.814332 0.533436 18.6283"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "260 228 208.725"; + rotation = "-0.155226 -0.0287411 0.987461 143.433"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 -100 130.897"; + rotation = "-0.665859 -0.298052 -0.683957 17.4723"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 -516 154.522"; + rotation = "-0.103582 -0.365844 0.924894 234.286"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "748 148 218.975"; + rotation = "0.527385 -0.0651578 0.847124 48.7541"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "4 -220 177.428"; + rotation = "0.017942 0.123348 0.992201 191.907"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-444 556 94.8032"; + rotation = "0.032128 0.0443603 0.998499 145.049"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 404 159.413"; + rotation = "-0.0798166 -0.0497541 0.995567 206.885"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "716 684 206.288"; + rotation = "0.00972204 0.180018 0.983615 175.082"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-36 188 141.234"; + rotation = "-0.303567 0.141933 0.94218 53.7014"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "116 -252 156.328"; + rotation = "-0.474765 0.00856422 -0.880071 31.6355"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "452 100 171.063"; + rotation = "-0.305504 -0.32216 -0.896036 29.9982"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "684 44 217.719"; + rotation = "-0.175847 0.320764 0.930692 69.8126"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 20 156.359"; + rotation = "0.231596 -0.239245 0.942934 70.1334"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 420 192.938"; + rotation = "0.115157 0.24029 0.963846 38.2885"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-244 -660 82.1563"; + rotation = "-0.735503 -0.551262 0.393886 32.2661"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-220 172 139.094"; + rotation = "-0.211398 -0.203176 0.956049 109.446"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-484 -12 154.563"; + rotation = "0.264076 0.0425682 0.963562 135.51"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "236 252 196.203"; + rotation = "-0.245052 0.13594 0.959932 226.283"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-420 164 153.266"; + rotation = "0.17881 -0.190053 0.965353 229.447"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-548 -428 156.672"; + rotation = "-0.804998 -0.184951 0.563712 29.6973"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "36 268 173.984"; + rotation = "-0.297012 0.245157 -0.922866 91.5976"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 -436 148.609"; + rotation = "0.084934 -0.199311 0.976249 234.866"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 548 178.078"; + rotation = "-0.127628 0.16374 0.978213 178.044"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-460 692 139.922"; + rotation = "-0.0692187 -0.0415794 0.996735 150.093"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "36 -388 145.859"; + rotation = "0.0456054 -0.333561 0.941625 133.55"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-228 -180 129.766"; + rotation = "0.101209 0.221549 0.969883 87.7491"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 -196 178.047"; + rotation = "0.0105971 0.122089 -0.992463 38.2677"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "700 -628 151.906"; + rotation = "0.346133 0.2744 -0.89716 68.6696"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 300 174.063"; + rotation = "0.0396064 0.178273 -0.983184 117.863"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "340 84 175.203"; + rotation = "-0.0743894 0.0915318 -0.99302 117.357"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-268 -140 120.016"; + rotation = "-0.102163 -0.0327374 0.994229 117.295"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 284 168.297"; + rotation = "-0.928493 0.371351 2.38014e-05 10.7194"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 -188 177.344"; + rotation = "0.275703 0.340358 -0.898969 94.0982"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-20 -452 95.0469"; + rotation = "-0.344833 0.177093 -0.921807 108.478"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-332 -308 244.125"; + rotation = "0.258752 0.0308051 0.965452 97.9993"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 172 195.609"; + rotation = "-0.184472 -0.228271 -0.955962 53.0335"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-164 284 165.516"; + rotation = "-0.244705 0.0563125 0.967961 99.8431"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "636 52 206.469"; + rotation = "-0.120889 -0.0210444 0.992443 168.09"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "172 -236 146.109"; + rotation = "0.57806 -0.296034 0.760402 32.508"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "500 164 167.344"; + rotation = "-0.204874 0.12682 0.970538 191.649"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "132 -284 151.359"; + rotation = "-0.065454 -0.0606355 0.996012 148.121"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 -116 176.906"; + rotation = "0.089918 -0.538931 0.837537 35.4816"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "364 252 206.969"; + rotation = "-0.210257 -0.202313 0.956484 29.2204"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-220 -348 221.531"; + rotation = "-0.0815043 0.130403 -0.988105 73.6571"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "468 572 192.469"; + rotation = "0.157993 0.605645 0.779892 52.4129"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "500 -180 220.312"; + rotation = "0.0235887 0.173951 0.984472 80.8839"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-388 196 159.844"; + rotation = "-0.422303 -0.198802 -0.884386 46.9259"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-172 -172 135.094"; + rotation = "0.46292 0.613402 0.639877 46.864"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/MapAssets.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/MapAssets.mis new file mode 100644 index 00000000..8957e2d3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/MapAssets.mis @@ -0,0 +1,5087 @@ +// DisplayName = MapAssets +// MissionTypes = DM None CTF + +//--- Mission Quote Begin --- +// Asset map By: DarkTiger +//--- Mission Quote End --- + +//--- Mission String Begin --- +// STUFF +//--- Mission String End --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "6"; + powerCount = "0"; + musicTrack = "desert"; + + new MissionArea(MissionArea) { + area = "-2304 -2880 5376 5760"; + flightCeiling = "4000"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "0 0 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(InventoryStation) { + position = "0 0 100"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + Trigger = "6072"; + Target = "33"; + }; + new StaticShape(VehicleStation) { + position = "50 0 97"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + locked = "true"; + station = "6741"; + team = "0"; + Target = "34"; + }; + }; + }; + new Sun(Sun) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "1.000000 1.000000 1.000000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "MapAssets.ter"; + squareSize = "16"; + emptySquares = "80784 146572 212111 81044 212363 212367 146836 81533 81549 81556 82515 82560 82816 83837 283037 217757 88670 88695 154554 89724 220798 89730 221054 90462 90487 90554 90718 90743 156345 156601 156857 157113 157369 92533 224188 158903 224444 93585 159159 224700 226164 95349 95605 95860 96433 162496 424785 162752 425041 425297 164431 98929 164687 165488 558776 165744 231352 165822 231528 166072 362683 100696 297400 232120 167279 167535 167791 103001 103257 562511 169307 104015 431697 169563 104537 104793 236886 106072 107092 173398 308350 112515 178560 114564 114820 246923 247179 181882"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "50"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "assetmap.nav"; + locked = "true"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "0 0 200"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "0"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "2000"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.250000 0.750000 1.000000 1.000000"; + fogDistance = "2500"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "200 99 101"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.33105e-09 6.40969e-10"; + high_fogVolume2 = "-1 1.07461e-38 0"; + high_fogVolume3 = "-1 7.9874e-44 5.9061e-32"; + + locked = "true"; + cloudSpeed0 = "0.000503 0.000020"; + }; + new SimGroup() { + + powerCount = "1"; + + new InteriorInstance() { + position = "0 -114.6 103.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowra.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -144.8 99.5999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -176.2 104.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -211.6 117.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -254.4 108.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 26.4 101.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 59.2 91.3999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 99.8 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunkb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 140.2 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 186.6 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 235.6 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 288.2 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 357.2 108.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 425.2 107.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-7.05628 498.839 100.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunke.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.018 486.555 103.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.4 1093.2 77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -301.8 100.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -391.4 113.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.16259 -453.975 103.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase4cm.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8 -531 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-22.3658 -977.995 113.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase_nefhillside.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -663.4 102.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase_ccb5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-43.6 0 119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-58 -47.8 99.9999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 -16.4 142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 23.2 133.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 31 136.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 147.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "91.0134 -113.321 109.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "89.4581 -168.626 108.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "94.7385 -257.026 109.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdga.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "100.427 -295.625 113.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "99.0912 -381.852 117.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "97.635 -487.548 117.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "94.1117 -561.001 113.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "92.0131 -598.685 104.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "88.3449 -653.04 101.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "84.8669 -704.132 106.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "78.9979 -790.099 109.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "75.3338 -844.634 111.584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "70.7377 -910.083 114.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "88.0455 133.433 98.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "78.1546 79.2588 101.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "78.5618 24.462 97.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "90.7932 -45.022 99.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "139.254 -922.426 102.239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_neftrstand1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "131.699 -778.364 168.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "169.453 411.153 167.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "184.18 493.091 102.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_neftrstand1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "186.784 575.127 100.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "188.832 639.655 99.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "190.645 696.781 100.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "192.226 746.603 100.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "193.878 798.626 61.123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "196.091 868.356 99.298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "197.243 904.672 99.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "198.653 949.092 99.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "199.876 962.409 98.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "199.56 1081.84 124.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc_nefvbay.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "99.4829 200.859 125.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "97.9902 293.984 101.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "93.7414 381.735 102.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "104.177 429.506 102.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "60.8093 -57.8992 99.9584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + }; + }; + new SimGroup() { + + powerCount = "1"; + + new InteriorInstance() { + position = "299.18 979.692 159.698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "300.379 850.938 142.887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "321.758 694.705 101.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "313.193 550.771 141.661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "308.594 431.184 127.621"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "295.328 290.994 109.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "282.522 167.533 100.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_vbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "296.165 114.255 100.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "293.57 14.3969 129.516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_snowblind.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "282.763 -76.8907 118.44"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nef_invbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "275.823 -117.862 107.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "292.534 -163.909 122.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefdcbunk.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "292.272 -287.451 163.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbunk_nefcliffside.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "289.168 -782.454 160.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "288.672 -936.734 193.651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "264.88 -1081.46 34.172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "502.335 -969.686 190.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_tokrz_scarabrae.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "523.481 -730.582 110.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_nefRaindance.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "508.926 -510.549 118.506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neficeridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "524.743 -397.97 154.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "454.015 -275.465 156.426"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "521.843 -153.186 172.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbase_broadside_nef.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "421.628 418.008 108.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "415.208 332.356 107.937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "409.356 246.991 105.759"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "407.955 137.34 103.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg9a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "404.182 93.9181 105.483"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "402.174 52.5461 102.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "403.549 19.0682 102.932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg7a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "401.632 -20.4059 103.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "396.153 -71.4721 106.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "394.329 -109.047 103.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "392.141 -154.117 102.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "390.089 -196.389 101.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg3a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "388.013 -239.16 102.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "385.825 -284.231 106.951"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "383.816 -325.603 102.972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg11.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "379.761 -409.148 104.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg10.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "375.88 -489.09 102.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "481.377 -658.675 116.993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "730.762 -499.968 98.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "724.037 -454.125 146.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "729.552 -338.596 121.878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "724.322 -150.023 131.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_stonehenge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "724.403 -76.869 115.223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "720.272 -0.00204253 119.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "723.182 28.8624 115.527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_neftower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "684.43 182.307 101.538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefrdbridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "734.429 268.125 101.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "720.914 336.22 105.683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "732.964 374.112 99.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "716.114 429.462 116.542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefobj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "715.519 478.697 122.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "713.982 589.988 107.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefflagstand2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "716.868 690.555 99.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "472.604 707.143 100.202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "471.367 664.973 111.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "471.844 607.437 106.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "471.27 538.932 104.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "57.0426 -58.1827 99.8677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + }; + }; + new SimGroup() { + + powerCount = "1"; + + new InteriorInstance() { + position = "911.515 -1020.84 100.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "914.946 -911.725 114.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "917.949 -821.805 88.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "924.197 -658.073 123.148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "stowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "936.479 -537.298 99.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "929.162 -425.333 98.611"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "939.501 -308.807 102.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbunk_nef1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "911.329 -115.481 37.756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "920.599 168.251 100.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "952.194 237.73 103.349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "943.331 358.704 117.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "splat7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "943.995 439.363 123.94"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "splat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "945.661 466.104 120.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "splat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "944.815 539.435 116.212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "945.216 596.771 115.824"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdgn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "945.741 682.717 115.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "911.901 713.949 97.813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "915.123 779.804 98.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "947.15 779.842 116.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "947.639 867.885 116.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "948.274 945.241 108.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "942.774 1041.79 115.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "840.223 916.909 116.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "swall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "838.559 820.93 112.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "836.514 767.064 82.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smiscb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "835.167 730.754 83.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisca.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "833.404 683.24 61.937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "831.978 644.829 98.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "830.616 608.118 99.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "828.675 554.834 99.987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "826.949 509.289 102.146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "smisc_nef1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "824.778 424.147 88.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "822.709 381.183 86.133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srockb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "819.265 296.082 100.626"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "809.019 247.831 98.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "815.974 203.279 101.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "813.577 147.9 103.305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "53.5311 -58.1288 99.5224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + }; + }; + new SimGroup() { + + powerCount = "1"; + + new InteriorInstance() { + position = "-263.654 974.776 101.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-264.682 904.714 98.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-263.396 857.063 108.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-261.981 776.185 99.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-260.683 714.419 100.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-260.453 581.713 82.54"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-257.143 497.791 98.855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-253.111 398.396 99.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-249.076 299.9 99.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-268.86 229.603 101.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-246.576 112.632 99.241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-217.882 40.6116 99.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-232.732 -21.9848 103.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk7a_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-229.885 -82.282 103.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbunk4a_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-194.364 -175.177 82.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbase3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-270.48 -359.938 59.774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbase_nef_vbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-335.233 -538.947 66.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbase_nef_giant.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-209.074 -715.085 102.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-206.735 -774.704 104.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-204.684 -826.958 111.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-202.922 -871.347 111.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-200.426 -936.898 114.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-319.746 -1085.65 102.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdgp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-324.936 -1037.43 101.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-323.841 -992.406 106.851"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdgn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-316.429 -951.585 99.517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-315.602 -912.821 115.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-314.142 -871.494 101.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-313.025 -832.023 101.518"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-318.153 -792.603 104.223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pbrdg0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-311.634 -757.357 115.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-307.603 -664.87 112.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmiscc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-306.327 -710.365 86.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmiscb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-292.739 2.269 86.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-293.404 -48.283 86.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-329.878 -232.482 99.015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-334.271 -178.728 101.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-295.685 -123.075 99.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-296.161 -80.8182 99.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-361.612 92.4813 106.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pvbay1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-399.433 -307.437 101.056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-396.6 -218.394 97.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-396.728 -134.037 105.229"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-395.592 -78.5788 101.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-395.437 -21.0134 101.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "45.7705 -59.8494 99.7224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + }; + }; + new SimGroup() { + + powerCount = "1"; + + new InteriorInstance() { + position = "-712.214 -983.975 101.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-711.652 -817.802 146.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-712.583 -613.553 118.186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-713.619 -496.497 110.654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xtowr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-713.751 -356.431 102.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunkb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-704.507 -229.001 105.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-704.217 -171.914 104.684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-703.944 -121.72 105.085"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-697.649 -56.1599 98.939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-699.186 95.2967 122.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-677.651 350.438 99.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-649.661 527.909 93.266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-655.465 698.252 104.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-640.756 771.378 104.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-639.533 882.472 105.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xplat1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.414 977.398 114.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgo.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.503 948.087 110.461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.59 889.576 109.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdgb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.67 849.366 111.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdga.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.762 803.554 111.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.855 764.644 112.246"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-878.926 721.418 110.592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.007 680.992 106.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.098 635.712 107.912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.183 593.286 107.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.269 550.275 107.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.397 494.076 108.491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.48 444.865 103.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.619 383.15 106.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-879.708 322.837 108.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbrdg0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-885.091 237.322 115.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xwall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-889.64 168.467 113.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmiscc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-885.006 114.105 100.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-889.956 9.62268 100.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.073 -46.1352 62.6065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.183 -101.249 100.094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.29 -154.662 100.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.395 -191.339 101.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.453 -238.806 106.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-889.652 -324.121 109.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-889.745 -395.514 101.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrockb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.761 -458.781 101.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-899.3 -538.638 100.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-890.792 -592.59 102.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-891.192 -624.661 101.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "40.6158 -60.4699 99.5224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + }; + }; + new SimGroup() { + + powerCount = "1"; + + new InteriorInstance() { + position = "-374.407 283.783 100.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cannon2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-383.286 366.723 100.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-384.643 461.179 109.601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "singleramp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1104.16 645.301 101.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nef_ramp1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1152.39 874.473 100.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nef_bowl3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1109.31 424.913 101.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nef_bowl2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1137.49 200.298 102.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "nef_bowl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1150.5 -41.7628 108.743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "doubleramp2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1149.32 -167.236 -15.4986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1151 -402.28 226.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sphere.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1187.45 -728.665 158.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "spawnbase2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1195.88 -900.133 192.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "spawnbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1202.93 -1102.71 128.994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "cannon.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1213.22 -1245.07 110.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ramp1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1016.48 -1236.34 116.602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xvpad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1013.48 -1096.88 97.0692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1007.3 -965.328 99.2254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1003.27 -1018.59 98.5926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1018.74 -902.666 99.1938"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1016.08 -861.083 116.23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "svpad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1012.08 -707.77 99.5879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1007.99 -622.793 98.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1004.33 -535.387 99.2555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1002.4 -445.858 99.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1002.82 -467.408 100.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-998.004 -380.683 116.853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pvpad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-995.763 -233.617 98.8663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-997.657 -141.152 99.2857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1001.38 -71.5713 99.0458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1010.3 6.08657 100.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1013.36 73.4247 99.2068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1017.48 127.777 110.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvpad1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1415.21 1052.44 117.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvpad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1420.58 906.409 100.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1420.43 883.433 99.7796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1424.85 824.613 94.1881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1424.02 771.17 99.3137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1424.14 724.786 99.1918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1424.08 667.313 99.5015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1424.12 625.536 119.619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dpole1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1423.82 556.936 114.698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1426.35 445.21 99.2297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1425.35 389.204 99.5092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1423.11 365.913 98.4787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1420.61 329.32 100.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1424.53 280.572 100.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1430.65 239.237 121.261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1454.68 169.651 106.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackturret8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1464.1 70.1984 125.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackbase5618_final.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1442.36 -37.8708 99.6964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "infbutch_blackairinv13.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1441.81 -106.655 100.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_mainbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1448.96 -280.069 130.516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_bridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1451.55 -471.612 103.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_sm_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1457.68 -564.516 102.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_lrg_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1459.26 -617.99 102.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bwall2a_cnr_CC.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1465.37 -874.314 108.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bmisc_tunl_ccb1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1463.84 -1042.27 111.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "t_bbase_ccb2a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1466.8 -1215.75 126.909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Starfallen.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1661.84 -1242.59 215.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "siege.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1641.6 -1030.77 109.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruinarch.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1634.24 -933.948 109.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1632.55 -833.848 114.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1646.59 -744.22 111.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1641.06 -658.444 106.804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ruin1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1634.92 -594.517 106.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1627.73 -549.957 118.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1627.08 -405.152 115.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_mainbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1611.37 -248.866 113.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1607.56 -71.0072 84.3718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_boundrymarker2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1617.77 -1.16612 111.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain_turretbase1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1606.01 40.4888 98.5498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_domain2_boundrymarker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1617 108.383 116.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_wall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1609.01 195.893 148.584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_tower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1607.95 260.059 149.205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ram_base.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1609.48 458.401 112.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "flagbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1604.73 535.557 104.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btf_turretplatform_c.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "36.5684 -61.6754 100.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + }; + }; + new SimGroup() { + + powerCount = "1"; + + new TSStatic() { + position = "-1771.83 -1281.83 100.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + }; + new TSStatic() { + position = "-1773.19 -1264.88 99.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + }; + new TSStatic() { + position = "-1773.97 -1254.83 100.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + }; + new TSStatic() { + position = "-1773.66 -1240.82 99.7484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + }; + new TSStatic() { + position = "-1774.03 -1226.77 100.842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_plaque.dts"; + }; + new TSStatic() { + position = "-1775.22 -1215.56 100.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bmiscf.dts"; + }; + new TSStatic() { + position = "-1775.49 -1202.36 100.981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dmiscf.dts"; + }; + new TSStatic() { + position = "-1775.8 -1177.97 100.989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xmiscf.dts"; + }; + new TSStatic() { + position = "-1776.9 -1153.42 101.371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "-1777.59 -1130.02 100.993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "smiscf.dts"; + }; + new TSStatic() { + position = "-1777.78 -1108.86 100.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "light_male.dts"; + }; + new TSStatic() { + position = "-1778.11 -1100.09 99.9267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "medium_male.dts"; + }; + new TSStatic() { + position = "-1778.28 -1093.6 100.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "heavy_male.dts"; + }; + new TSStatic() { + position = "-1778.45 -1086.51 100.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "light_female.dts"; + }; + new TSStatic() { + position = "-1778.75 -1080.48 100.039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "medium_female.dts"; + }; + new TSStatic() { + position = "-1779.04 -1072.42 100.273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "heavy_male.dts"; + }; + new TSStatic() { + position = "-1779.65 -1066.84 100.092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bioderm_light.dts"; + }; + new TSStatic() { + position = "-1780.12 -1059.67 100.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bioderm_medium.dts"; + }; + new TSStatic() { + position = "-1780.25 -1052.69 100.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "bioderm_heavy.dts"; + }; + new TSStatic() { + position = "-1782.39 -1031.56 98.5637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new TSStatic() { + position = "-1783.19 -1014.87 99.314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + }; + new TSStatic() { + position = "-1783.1 -992.198 99.7819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-1783.02 -978.682 100.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + }; + new TSStatic() { + position = "-1783.31 -966.8 100.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + }; + new TSStatic() { + position = "-1783.23 -970.644 100.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new TSStatic() { + position = "-1783.55 -958.637 100.028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "-1783.77 -953.031 100.154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + }; + new TSStatic() { + position = "-1783.68 -946.238 100.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + }; + new TSStatic() { + position = "-1783.58 -937.018 100.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-1783.5 -929.326 100.089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + }; + new TSStatic() { + position = "-1783.45 -924.449 100.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + }; + new TSStatic() { + position = "-1783.4 -920.096 99.7025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + }; + new TSStatic() { + position = "-1783.35 -915.727 99.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-1776.73 -949.823 103.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-1783.76 -902.727 98.8665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + }; + new TSStatic() { + position = "-1783.4 -890.963 100.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + }; + new TSStatic() { + position = "-1784.04 -881.616 99.5791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-1782.6 -850.863 100.669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg20.dts"; + }; + new TSStatic() { + position = "-1782.11 -837.972 99.8711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-1782.57 -828.609 100.092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-1783.25 -814.563 99.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-1783.94 -800.517 99.9014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new TSStatic() { + position = "-1784.4 -791.154 100.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg7.dts"; + }; + new TSStatic() { + position = "-1784.27 -778.291 97.3593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg12.dts"; + }; + new TSStatic() { + position = "-1781.71 -746.758 99.6629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg13.dts"; + }; + new TSStatic() { + position = "-1781.53 -719.869 99.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-1779.09 -680.1 100.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-1779.25 -633.95 99.6991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-1778.25 -586.818 100.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-1777.03 -542.813 102.711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg20.dts"; + }; + new TSStatic() { + position = "-1777.23 -532.268 100.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg23.dts"; + }; + new TSStatic() { + position = "-1777.91 -511.179 100.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-1778.02 -490.089 100.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-1778.37 -471.342 101.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg32.dts"; + }; + new TSStatic() { + position = "-1778.68 -454.939 101.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg33.dts"; + }; + new TSStatic() { + position = "-1778.94 -440.879 100.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg34.dts"; + }; + new TSStatic() { + position = "-1779.45 -413.931 101.217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-1779.7 -401.051 100.622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-1780.11 -383.501 99.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-1780.5 -369.476 99.6211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-1781.26 -353.346 99.8896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-1781.54 -336.78 100.323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-1781.77 -325.132 100.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg22.dts"; + }; + new TSStatic() { + position = "-1782.18 -314.601 99.6776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg20.dts"; + }; + new TSStatic() { + position = "-1782.91 -295.871 100.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-1783.28 -286.506 99.0871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg22.dts"; + }; + new TSStatic() { + position = "-1782.84 -267.73 100.254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-1783.39 -253.683 100.045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-1785.88 -240.779 98.9914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-1786.12 -212.853 99.1597"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-1786.56 -183.13 99.6803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-1789.82 -140.786 99.1007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-1789.09 -107.355 99.8461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg6.dts"; + }; + new StaticShape() { + position = "32.1768 -62.8864 99.9224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + }; + }; + new SimGroup() { + + powerCount = "3"; + + new StaticShape() { + position = "38.7575 22.0029 100.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HeavyMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "38.5627 32.0631 99.9753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MediumMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "38.5543 27.1484 99.9988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "38.6026 37.5709 100.114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "38.6797 44.391 99.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + flag = "6504"; + Target = "-1"; + }; + new StaticShape() { + position = "39.8648 53.9821 99.7082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + Projector = "6503"; + Target = "42"; + }; + new StaticShape() { + position = "40.3431 59.4496 99.0424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus_Effect"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "41.7939 69.1775 99.9724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusBase"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "42.5069 70.3224 102.298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "NexusCap"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "41.3132 79.9479 100.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new Item() { + position = "40.5228 88.6985 100.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + originalPosition = "40.5228 88.6985 100.022 1 0 0 0"; + stand = "6498"; + WayPoint = "6730"; + Trigger = "6731"; + Target = "43"; + isHome = "1"; + }; + new Item() { + position = "40.8468 91.8604 99.1913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Nexus"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "44"; + }; + new StaticShape() { + position = "40.3891 100.29 99.836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + }; + new StaticShape() { + position = "41.2501 109.591 101.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + }; + new StaticShape() { + position = "41.7577 122.148 100.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + }; + new StaticShape() { + position = "42.1348 127.758 99.9382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + }; + new StaticShape() { + position = "43.0028 135.626 100.172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "43.3216 143.107 100.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "43.574 149.03 99.9347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new Item() { + position = "44.2513 157.896 103.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Blaster"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "44.5649 161.923 102.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "44.8616 165.546 103.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "45.0944 169.448 103.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Disc"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "45.2942 172.403 103.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "45.5287 175.118 103.12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "45.7311 178.189 103.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "45.9363 180.809 103.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mortar"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "46.1346 184.119 103.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "46.3517 186.707 103.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TargetingLaser"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "46.5568 189.556 103.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "46.7782 192.6 102.451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "47.0052 195.72 103.035"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "47.1766 198.079 103.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "47.3795 200.869 103.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "47.5772 203.585 103.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifleAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "47.772 206.021 103.347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "48.0129 209.333 103.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "48.3032 213.57 103.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "48.5019 216.302 103.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "BombAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "48.7172 219.263 103.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AssaultMortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "48.8593 221.213 103.213"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.0721 224.139 103.233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.2421 226.48 103.298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.3732 228.282 103.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.4735 229.604 103.324"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlashGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.6955 232.714 103.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FlareGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.7975 234.116 103.351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ConcussionGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "49.9108 235.675 103.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CameraGrenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Turret() { + position = "50.3614 238.078 100.271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + }; + new Turret() { + position = "50.838 248.129 102.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "50"; + }; + new Turret() { + position = "51.1024 251.974 102.693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "BomberTurret"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + }; + new StaticShape() { + position = "51.4525 256.546 102.256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DropBombs"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new Turret() { + position = "51.7401 260.317 101.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AssaultPlasmaTurret"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + }; + new Turret() { + position = "52.154 265.894 102.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MobileTurretBase"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + }; + new Item() { + position = "51.8608 274.086 101.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.0076 277.241 101.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CloakingPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.1502 280.304 101.774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.2802 283.126 101.712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.423 286.166 101.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.5503 288.9 101.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.6865 291.829 101.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorJammerPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.8161 294.481 101.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AABarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "52.9641 297.52 101.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "53.0955 300.28 101.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "53.2199 303.134 101.413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "53.3661 306.328 101.374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ELFBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new FlyingVehicle() { + position = "53.6743 312.934 105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "scoutFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + mountable = "1"; + respawn = "0"; + nextWeaponFire = "2"; + Target = "54"; + selfPower = "1"; + }; + new FlyingVehicle() { + position = "54.4497 331.127 105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "bomberFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + turretObject = "6563"; + mountable = "1"; + respawn = "0"; + Target = "55"; + selfPower = "1"; + }; + new FlyingVehicle() { + position = "56.5704 355.32 108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "hapcFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + mountable = "1"; + respawn = "0"; + Target = "57"; + selfPower = "1"; + }; + new HoverVehicle() { + position = "59.259 374.776 101.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "scoutVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + mountable = "1"; + respawn = "0"; + Target = "58"; + selfPower = "1"; + }; + new HoverVehicle() { + position = "60.5632 385.13 102.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "assaultVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + turretObject = "6567"; + mountable = "1"; + respawn = "0"; + Target = "59"; + selfPower = "1"; + }; + new WheeledVehicle() { + position = "62.8958 407.128 102.071"; + rotation = "0.530706 -0.00295122 0.847551 0.75173"; + scale = "1 1 1"; + dataBlock = "mobileBaseVehicle"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + speedCheck = "43804"; + mountable = "1"; + respawn = "0"; + Target = "61"; + selfPower = "1"; + }; + new StaticShape() { + position = "63.1846 425.119 100.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6570"; + Target = "62"; + }; + new StaticShape() { + position = "64.2192 436.472 100.832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6572"; + Target = "63"; + }; + new StaticShape() { + position = "65.3815 447.172 100.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationVehicle"; + lockCount = "0"; + homingCount = "0"; + + Target = "64"; + }; + new StaticShape() { + position = "66.0136 460.314 97.2134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + station = "6744"; + Target = "65"; + }; + new StaticShape() { + position = "67.7869 497.073 100.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MobileInvStation"; + lockCount = "0"; + homingCount = "0"; + }; + new StaticShape() { + position = "69.4887 514.767 100.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MPBTeleporter"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + }; + new Item() { + position = "70.6748 530.235 100.222"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "70.8745 533.405 100.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "71.0335 535.739 100.48"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "71.2182 538.608 100.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretOutdoorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "71.4072 541.466 100.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretIndoorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "50.1517 -57.5588 100.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "67"; + }; + }; + new InteriorInstance() { + position = "-1566.43 -2143.65 243.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_AF_airtower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1470.69 -2162.09 110.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_AF_invowheel.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1485.17 -2254.41 199.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_AF_newbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1391.44 -2249.37 98.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_attrition_infernoflagstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1365.64 -2249.37 98.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_attrition_stormflagstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1345.54 -2249.37 86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_attrition_tower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1192.72 -2230.37 113.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_attrition_vbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-927.424 -2259.49 126.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Bastage_BT_bunktower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1015.07 -2237.18 64.3301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Bastage_BT_MainBase_CK.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-880.874 -2257.18 120.993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Bastage_BT_tunnel.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-819.009 -2254.48 102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-709.684 -2297.73 150.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_base.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-522.779 -2264.5 169.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-462.876 -2277.93 110.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_flag.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-416.774 -2281.06 103.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-312.336 -2324.05 116.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_main.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-202.77 -2280.64 124.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_turret.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-170.07 -2290.66 109.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Crown_tri_flag.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-106.87 -2282.24 123.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Crown_tri_turret.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-22.2685 -2285.32 128.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_dmisc_-nefflagstand1_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "111.43 -2325.02 128.875"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "Xtra_ghostdance_proto.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "206.137 -2302.65 124.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_GraveStone_cross.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "228.537 -2304.77 122.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_GraveStone_cross2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "267.538 -2299.03 126.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_GraveStone_obtower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "311.939 -2307.27 114.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_GraveStone_tombstone2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "337.339 -2308.39 113.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_GraveStone_tombstone3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "407.341 -2345.91 105.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Hellfire_dbase_ccb1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "533.144 -2310.64 100.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Hellfire_dmisc_int_fstand_old.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "593.945 -2308.3 118.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Hellfire_dwall_ccb1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "661.346 -2313.82 110.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_HM_Base_CK.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "748.749 -2325.15 109.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_HM_BunkerA.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "810.55 -2322.22 134.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_HM_Flagstand_mk2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "897.952 -2326.59 108.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1008.09 -2314.29 166.3"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + interiorFile = "Xtra_imperium_base01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1133.18 -2331.26 110.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Insurgence_ccb_bd_base1_mod2a.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1196.24 -2346.89 120"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "Xtra_Insurgence_ccb_bd_base1_mod3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1241.29 -2348.44 119.6"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "Xtra_Insurgence_ccb_bd_base1_mod4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1310.6 -2342.08 100.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_imperium_bunker01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1376.14 -2343.83 105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1435.31 -2343.06 142.244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_imperium_tower01.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1522.43 -2346.58 110.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Insurgence_ccb_bd_bridge1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1585.06 -2347.26 122.5"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + interiorFile = "Xtra_Insurgence_ccb_bd_bridge2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1653.73 -2348.96 114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Insurgence_ccb_bd_platform2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1724.18 -2351.01 99.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_salgenroom2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1820.25 -2353.11 101.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_salproj1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1929.26 -2349.51 104.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_salturretsus1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2020.8 -2357.47 79.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_slblocks.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2089.25 -2359.02 123.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_slinvstat.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2155.22 -2360.5 129.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_slremo2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2235.77 -2352.75 170.125"; + rotation = "0 0 1 87.6626"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_slsusbr1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2305.11 -2363.66 155.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Malignant_slvehramp1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2396.68 -2429.77 148"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2516.05 -2309.31 132.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_bridge_tunnel.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2602.62 -2403.71 109.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_lush_mainbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2710.11 -2376.77 101.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_rip.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2793.78 -2365.61 102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_metaltanks_xing.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2940.47 -2377.02 99.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2965.6 -2658.72 112.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ProjectX_tunneloflove.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2867.21 -2676.44 106.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_rst_transitbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2773.3 -2664.48 121.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_rst_transitstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2705.13 -2656.51 119.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_spbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2617.78 -2665.28 88"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + interiorFile = "Xtra_SR_eepbridge4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2546.98 -2664.57 62.2"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "Xtra_SR_eepbridge4b.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2469.6 -2664.6 59.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_SR_eepbridgeh4b.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2381.76 -2669.18 114.4"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "Xtra_SR_eepsab3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2279.63 -2662.74 109.2"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + interiorFile = "Xtra_SR_eepsab4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2229.3 -2670.72 163.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Torrent_kif_bigbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2052.6 -2664.76 115.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Torrent_kif_torrent_turret_tower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1947.3 -2670.79 108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_t_base0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1844.79 -2679.84 141.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Vestige_attackgate.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1699.79 -2738.27 142.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Vestige_base.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1583.76 -2666.12 141.675"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Vestige_gate.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1465.63 -2668.98 130.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Vestige_guntower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1388.36 -2682 137.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Vestige_medtower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1273.25 -2637.03 121.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Vestige_vpad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1184.55 -2653.09 98.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Voodoo_rilke_bombscare_flagstand_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1105.07 -2661.12 106.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Voodoo_vehicle_stop.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1018.58 -2664.15 106.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Voodoo_vehicle_stop2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "918.692 -2661.19 109.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_Flagstand_CK.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "822.598 -2675.22 114.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_GenBase_CK.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "745.723 -2664.75 131.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_Turret_CK.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "633.895 -2681.28 108.078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Xerxes_proto.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "548.036 -2670.7 107.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Xerxes_Turret.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "487.177 -2670.73 83.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Xerxes_Turret2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "431.817 -2658.37 108.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_bbunk_ccb1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "367.755 -2665.4 206.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "242.833 -2709.2 141.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_base.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "103.598 -2665.5 103"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "tri_gate.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.14839 -2665.56 81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_misc1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-63.3547 -2665.6 111.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_powerpit.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-143.814 -2680.62 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_tbunker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-213.667 -2665.64 106.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_tower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-320.417 -2680.16 127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_wall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-410.605 -2681.94 113.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "tri_wall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-541.726 -2665.99 111.1"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + interiorFile = "tri_wall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-609.149 -2670.27 105"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + interiorFile = "tri_wall6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-686.073 -2665.8 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthemblock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-762.948 -2666.83 102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipebasemini.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-852.636 -2665.86 99.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-913.37 -2665.89 125.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-996.777 -2665.92 157.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pitbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1073.65 -2665.95 115.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pitstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1130.6 -2667.97 97.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ccb_be_tower1b_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2956.23 -2951.52 113.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_icevehicle11.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2843.33 -2938.18 110.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_iceturretbase9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2745.65 -2923.14 149.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_icebase51.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2625.54 -2940.5 110.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_fg2turret9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2526.25 -2935.31 110.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_fg2turret13.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2436.57 -2942.52 116.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_fg2flag21.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2345.29 -2927.41 151.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_fg2base1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2255.6 -2952.54 103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ocular-flagstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2151.51 -2945.56 106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "muddyswampstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2048.24 -2951.17 109.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "mmbridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1864.06 -2991.75 100.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "mmbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1772.98 -2949.95 109.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "magnum_vehicle_stop.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1700.73 -2954.67 99.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_magnumvs.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1621.7 -2946.5 99.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_magnummisc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1545.78 -2948.31 97.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_magnumflag.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1461.43 -2950.31 107.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_drorck-base.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1402.26 -2954.56 97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_btowr9.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1341.34 -2939.12 105.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "TL_bmiscpan_ruind.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1270.83 -2955.94 93.3281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "conspire.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1179.43 -2956.03 101.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "frostclawbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1359.04 -3273.84 105.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "idhangar.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1271.32 -3286.81 113.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "idbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1192.52 -3242.07 107.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "idmiddle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1557.89 -3269.11 104.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_turretstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1634.35 -3281.67 111.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_magbase.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1705.45 -3263.77 110.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1798.58 -3250.79 113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_sensor12.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1878.68 -3242.52 116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_plat6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1976.49 -3240.85 138.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_flagbase06.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2089.67 -3249.19 114.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "idmiddle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2220.28 -3248.74 103.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacturret.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2296.04 -3233.87 99.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_vehiclepad_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2348.57 -3267.73 113.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker2_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2382.76 -3259.36 102.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform3_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2437.57 -3257.37 102.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2507.91 -3255.79 114.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bunker2_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2552.97 -3252.15 122.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridgebase1_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2604.88 -3243.53 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridge2_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2654.41 -3235.9 100.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_ctm1_sensorbunker2_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2734.51 -3233 94.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_ctm1_sensorbunker1_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2796.44 -3216.78 98.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_bombscare_flagstand_x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1209.63 -2656.7 93.8469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "btowr5-Lava.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1281.88 -2653.29 125.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-lava.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1345.84 -2651.96 125.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-ice.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1406.61 -2648.81 125.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-desert.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1483.37 -2643.57 125.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-beach.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1556.93 -2640.71 125.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-badlands.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Moonwalk.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Moonwalk.mis new file mode 100644 index 00000000..8e4233c1 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Moonwalk.mis @@ -0,0 +1,329 @@ +// DisplayName = Moonwalk +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Storm the FRONT! +// -- Someguy +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by shalos (Editing: uthr, Celios) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + musicTrack = "lush"; + powerCount = "0"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-740 -830 1640 1620"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "250"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Saturn.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "0"; + high_fogDistance = "0"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 5.45564e-34 7.24432e+22"; + high_fogVolume3 = "-1 1.07461e-38 0"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + }; + new Sun(all) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.200000 0.200000 0.200000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sun(nonterrain) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0 0 -1"; + color = "0.000000 0.000000 0.000000 1.000000"; + ambient = "0.000000 0.000000 0.000000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Moonwalk.ter"; + squareSize = "10"; + emptySquares = "89047 93068 103029 115452"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + locked = "true"; + YDimOverSize = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + GraphFile = "TL_Magnum.nav"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Marker(obs2) { + position = "-57.4296 429.381 215.566"; + rotation = "-0.00765047 -0.261903 0.965064 183.23"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + locked = "false"; + }; + new Marker(obs2) { + position = "-27.7228 -239.707 202.803"; + rotation = "0.300084 -0.136108 0.944153 108.38"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + locked = "false"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "61.1918 -211.518 118.811"; + rotation = "-0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new InteriorInstance() { + position = "103.078 -326.522 124.641"; + rotation = "0 0 1 216.761"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_Flagstand_CK.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "126.661 -194.689 128.242"; + rotation = "0 0 1 192.696"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_GenBase_CK.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "105.282 -323.345 125.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "33"; + className = "FlagObj"; + team = "1"; + WayPoint = "24419"; + Trigger = "24420"; + originalPosition = "105.282 -323.345 125.814 1 0 0 0"; + isHome = "1"; + }; + new StaticShape() { + position = "131.655 -206.017 78.1701"; + rotation = "0 0 1 99.877"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "24402"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-16.6403 190.575 121"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-46.791 307.473 124.628"; + rotation = "0 0 1 126.051"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_Flagstand_CK.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-113.926 188.237 128.826"; + rotation = "0 0 1 112.3"; + scale = "1 1 1"; + interiorFile = "Xtra_WSol_GenBase_CK.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-50.0031 309.638 125.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "35"; + className = "FlagObj"; + team = "2"; + WayPoint = "24421"; + Trigger = "24422"; + originalPosition = "-50.0031 309.638 125.848 1 0 0 0"; + isHome = "1"; + searchSchedule = "203228"; + }; + new StaticShape() { + position = "-107.434 177.472 78.74"; + rotation = "0 0 1 200.718"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "24411"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(AudioCreatures) { + + powerCount = "0"; + + new FileObject() { + + locked = "true"; + }; + new FileObject() { + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Pariah_Mirrored.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Pariah_Mirrored.mis new file mode 100644 index 00000000..306fb6dd --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Pariah_Mirrored.mis @@ -0,0 +1,1561 @@ +// DisplayName = Pariah_Mirrored +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Talk sense to a fool and he calls you foolish. +// -- Euripides, The Bacchae +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//10 caps to win +//Go Offense! +//Map/Mirrored by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "10"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-416 -480 848 976"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Pariah2.ter"; + squareSize = "8"; + + hazeDistance = "350"; + visibleDistance = "1200"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + YDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "MissionBlank.nav"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.550000 0.550000 0.550000 0.000000"; + fogDistance = "275"; + fogColor = "0.540000 0.610000 0.650000 1.000000"; + fogVolume1 = "200 0 120"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.72388e+07 -nan"; + high_fogVolume2 = "-1 -nan -4.59173e+14"; + high_fogVolume3 = "-1 -105 -3.1211e-13"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.620000 1.000000"; + ambient = "0.420000 0.420000 0.420000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "126.38 156.377 209.209"; + rotation = "0.947141 -0.320817 -0.000108453 179.909"; + scale = "0.6 0.5 0.5"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "239.434 219.116 212.733"; + rotation = "0 0 1 28.6479"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "20"; + outdoorWeight = "80"; + + team = "1"; + }; + new SpawnSphere() { + position = "84.5762 244.13 234.32"; + rotation = "-0 0 -1 9.1672"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + team = "1"; + }; + }; + new StaticShape() { + position = "82.7946 233.831 222.665"; + rotation = "0 0 1 9.74043"; + scale = "1.5 1.5 1.5"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "214.91 307.208 240.245"; + rotation = "0.612408 0.694977 0.376781 107.873"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Turret() { + position = "257.03 245.431 232.515"; + rotation = "0.124842 -0.984862 -0.120252 91.6486"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + powerCount = "1"; + Target = "33"; + }; + new InteriorInstance() { + position = "-393.289 228.062 187.468"; + rotation = "-0.0072161 -0.0255891 0.999646 204.244"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "217.832 286.553 204.069"; + rotation = "0.0380654 0.0191319 0.999092 104.479"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "203.967 121.777 232.075"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + powerCount = "1"; + Target = "34"; + }; + new InteriorInstance(InteriorInstance) { + position = "411.067 220.731 186.427"; + rotation = "0.0755268 -0.0747157 0.994341 89.7066"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "79.2986 236.095 212.107"; + rotation = "0 0 1 100.267"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "91.0953 246.123 212.964"; + rotation = "0 0 1 99.1214"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + inUse = "Down"; + Trigger = "5848"; + team = "1"; + powerCount = "1"; + Target = "35"; + }; + new Item() { + position = "125.567 155.457 213.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + isHome = "1"; + locked = "true"; + team = "1"; + WayPoint = "6003"; + Trigger = "6004"; + originalPosition = "125.567 155.457 213.2 1 0 0 0"; + searchSchedule = "481997"; + Target = "36"; + }; + new Turret() { + position = "84.7691 242.905 248.211"; + rotation = "0 0 1 12.0328"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + repairedBy = "35258"; + damageTimeMS = "5215583"; + locked = "true"; + wasDisabled = "0"; + lastDamagedBy = "35258"; + team = "1"; + powerCount = "1"; + lastDamagedByTeam = "1"; + Target = "37"; + }; + new InteriorInstance(InteriorInstance) { + position = "84.7383 242.922 194.939"; + rotation = "0 0 1 9.92485"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "264.628 247.639 195.003"; + rotation = "-0 0 -1 16.0429"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "80.3568 249.407 224.441"; + rotation = "-0 0 -1 38.3882"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + inUse = "Down"; + Trigger = "5855"; + team = "1"; + powerCount = "1"; + Target = "38"; + }; + new InteriorInstance(InteriorInstance) { + position = "261.014 248.747 224"; + rotation = "0 0 1 74.4845"; + scale = "1 0.3 0.3"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "264.845 247.736 223.992"; + rotation = "9.72935e-10 -4.80238e-10 1 73.9116"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + inUse = "Down"; + Trigger = "5858"; + team = "1"; + powerCount = "1"; + Target = "39"; + }; + new InteriorInstance() { + position = "208.594 123.679 221.445"; + rotation = "0 0 -1 110.765"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "222.214 126.737 204.229"; + rotation = "-0.0234521 -0.02702 0.99936 168.008"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "79.501 235.607 212.86"; + rotation = "-0.608691 -0.508336 0.609172 126.071"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "271.501 249.524 223.289"; + rotation = "0 0 1 73.9116"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "0.761114 310.747 197.142"; + rotation = "-0.115039 -0.0892818 -0.989341 76.2258"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "83.937 249.867 232.267"; + rotation = "0 0 1 11.4598"; + scale = "1 1 1.3"; + shapeName = "stackable3l.dts"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "89.2825 237.943 213.291"; + rotation = "0 0 1 189.649"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "79.3745 259.94 196.687"; + rotation = "0.607152 0.512123 0.607533 125.716"; + scale = "4 2 2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-119.22 -179.136 208.809"; + rotation = "0.321571 0.946885 -0.000794218 180.012"; + scale = "0.6 0.5 0.5"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-230.589 -240.904 212.933"; + rotation = "0 0 1 205.874"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "70"; + indoorWeight = "20"; + outdoorWeight = "80"; + + team = "1"; + }; + new SpawnSphere() { + position = "-76.7811 -257.77 216.133"; + rotation = "0 0 1 172.07"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-76.2639 -256.335 195.183"; + rotation = "0 0 1 191.162"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-70.9497 -249.528 213.1"; + rotation = "0.534532 -0.654289 -0.534959 113.566"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-263.794 -253.395 232.715"; + rotation = "0.707746 0.107177 -0.69829 191.834"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + powerCount = "1"; + Target = "40"; + }; + new Turret() { + position = "-76.2943 -256.318 248.455"; + rotation = "0 0 1 193.27"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + repairedBy = "35258"; + damageTimeMS = "5215583"; + locked = "true"; + wasDisabled = "0"; + lastDamagedBy = "35258"; + team = "2"; + powerCount = "1"; + lastDamagedByTeam = "1"; + Target = "41"; + }; + new Item() { + position = "-80.6995 -251.259 213.535"; + rotation = "0 0 1 10.8866"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-206.461 -140.636 232.075"; + rotation = "0 0 -1 107.716"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + powerCount = "1"; + Target = "42"; + }; + new TSStatic() { + position = "-75.6127 -263.296 232.511"; + rotation = "0 0 1 192.697"; + scale = "1 1 1.3"; + shapeName = "stackable3l.dts"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-218.028 -289.919 201.084"; + rotation = "0.00904862 0.0564586 -0.998364 71.7403"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-428.771 -193.993 167.743"; + rotation = "0.0435397 0.052063 -0.997694 95.2241"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "-118.405 -178.217 212.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + isHome = "1"; + locked = "false"; + team = "2"; + WayPoint = "6005"; + Trigger = "6006"; + originalPosition = "-118.405 -178.217 212.8 1 0 0 0"; + searchSchedule = "481997"; + Target = "43"; + }; + new InteriorInstance() { + position = "-70.6781 -249.627 212.351"; + rotation = "-0 0 -1 78.4954"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-82.6886 -259.398 213.208"; + rotation = "-0 0 -1 79.6414"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + inUse = "Down"; + Trigger = "5885"; + team = "2"; + powerCount = "1"; + Target = "44"; + }; + new InteriorInstance() { + position = "-271.276 -255.967 195.203"; + rotation = "0 0 1 161.184"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-72.0235 -262.913 224.685"; + rotation = "0 0 1 142.849"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + inUse = "Down"; + Trigger = "5888"; + team = "2"; + powerCount = "1"; + Target = "45"; + }; + new InteriorInstance(InteriorInstance) { + position = "-267.612 -256.9 224.2"; + rotation = "0 0 -1 108.289"; + scale = "1 0.3 0.3"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "-271.488 -256.075 224.192"; + rotation = "3.37439e-10 7.2748e-10 -1 108.862"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + notReady = "1"; + inUse = "Down"; + Trigger = "5891"; + team = "2"; + powerCount = "1"; + Target = "46"; + }; + new InteriorInstance() { + position = "-211.228 -142.154 221.445"; + rotation = "0 0 1 73.9101"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-225.051 -144.092 204.229"; + rotation = "0.354344 -0.333849 -0.87349 8.38258"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "-74.3837 -247.234 222.588"; + rotation = "0 0 1 191.368"; + scale = "1.5 1.5 1.5"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-278.05 -258.183 223.489"; + rotation = "0 0 -1 108.862"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-71.2688 -273.465 196.931"; + rotation = "-0.536776 0.650499 -0.53733 113.879"; + scale = "4 2 2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "32.3379 -301.092 200.072"; + rotation = "-0.0567757 0.0748088 0.99558 105.851"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-200.717 -328.01 240.105"; + rotation = "0.605199 -0.492534 0.625416 212.672"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "53.6749 15.6811 86.5047"; + rotation = "-0.916886 -0.015835 0.398836 74.8925"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-59.3966 -9.40671 48.2425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-388.647 -423.416 241.571"; + rotation = "1 0 0 141.521"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "170.61 421.76 259.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-49.8948 -560.021 207.76"; + rotation = "1 0 0 141.521"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "152.391 -382.97 197.185"; + rotation = "-0.637133 0.748663 -0.18321 42.0227"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-312.18 390.362 247.491"; + rotation = "0.840821 0.482066 -0.246237 135.086"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-297.269 -326.963 248.785"; + rotation = "1 0 0 141.521"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "10.2104 65.2869 48.1855"; + rotation = "0.0752525 -0.0336057 0.996598 130.782"; + scale = "1 1 2"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "318.863 -179.436 168.058"; + rotation = "-0.0569023 -0.0173957 0.998228 102.581"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new ForceFieldBare() { + position = "91.9952 257.842 207.801"; + rotation = "-0.645437 0.763813 0.000508725 179.929"; + scale = "0.162974 8.1512 4.16309"; + nameTag = "Force Field"; + dataBlock = "taco"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + locked = "true"; + team = "0"; + pz = "5911"; + originalscale = "0.162974 8.1512 4.16309"; + Target = "47"; + }; + new ForceFieldBare() { + position = "-83.0867 -271.273 207.396"; + rotation = "0.769721 0.63838 -0.000623833 179.943"; + scale = "0.162974 8.1512 4.16309"; + nameTag = "Force Field"; + dataBlock = "taco"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + locked = "true"; + team = "0"; + pz = "5914"; + originalscale = "0.162974 8.1512 4.16309"; + Target = "48"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "416.22 227.84 212.02"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-61.6758 1.15067 88.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "22.4057 -300.352 226.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "2.57717 308.22 222.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-401.371 226.76 190.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-438.573 -225.375 180.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "150.07 -384.717 197.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(2) { + position = "-246.022 -262.834 284.082"; + rotation = "0.319314 -0.164525 0.933258 57.8056"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Camera(3) { + position = "-86.9909 92.6341 175.299"; + rotation = "0.0204172 -0.0538238 0.998342 138.516"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Camera(1) { + position = "136.256 295.58 253.505"; + rotation = "0.0159374 -0.15794 0.98732 168.621"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "36 372 226.194"; + rotation = "-0.138817 0.27075 -0.952588 41.8225"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-740 284 210.928"; + rotation = "-0.0192682 -0.00671068 0.999792 184.999"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "652 172 201.288"; + rotation = "0.444057 -0.0747881 -0.892872 79.3002"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-508 772 325.334"; + rotation = "-0.123978 0.236393 0.963716 162.643"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-180 388 227.366"; + rotation = "-0.328776 -0.421828 -0.844966 51.1102"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "604 420 62.2094"; + rotation = "-0.822538 0.063784 0.565121 29.6264"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-620 -316 63.5219"; + rotation = "-0.0303606 -0.278185 0.960048 149.217"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-276 -700 193.663"; + rotation = "0.0192903 -0.442045 0.896786 20.0318"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "156 -252 208.163"; + rotation = "0.117053 -0.355013 0.927504 72.0511"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-612 -476 90.9437"; + rotation = "0.651275 -0.177792 0.73772 38.6375"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "356 -52 174.131"; + rotation = "-0.0667134 -0.0712632 -0.995224 98.2714"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-180 412 230.991"; + rotation = "-0.344201 -0.797335 -0.495764 42.8188"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-548 -36 268.444"; + rotation = "-0.326493 0.194588 -0.924953 102.398"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "612 516 93.7093"; + rotation = "-0.145263 0.212542 0.966294 81.9398"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-372 -740 220.413"; + rotation = "0.554368 -0.108226 -0.825205 65.5905"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-76 -212 209.225"; + rotation = "0.191475 -0.105947 -0.975763 34.7943"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "548 636 106.881"; + rotation = "0.258015 -0.219855 0.940793 126.849"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-332 396 248.553"; + rotation = "-0.0646024 0.223746 -0.972504 85.5907"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "196 300 237.553"; + rotation = "-0.33464 0.22902 -0.914093 42.3524"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "748 -300 217.444"; + rotation = "-0.0973607 0.0575934 0.993581 93.3686"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-420 -636 220.303"; + rotation = "-0.234056 -0.0746855 0.96935 123.5"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "180 772 213.787"; + rotation = "-0.0500406 -0.309539 0.949569 215.252"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "668 -172 214.944"; + rotation = "-0.136189 -0.371938 0.918213 42.1793"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 300 204.741"; + rotation = "-0.0591544 0.679682 0.731118 33.7374"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "4 732 220.194"; + rotation = "0.259369 -0.129984 0.956991 158.925"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-580 -700 100.944"; + rotation = "-0.202961 0.043403 -0.978224 107.208"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "396 -252 207.022"; + rotation = "0.662551 0.53916 -0.519935 26.5743"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -556 230.194"; + rotation = "-0.504173 -0.22841 -0.83285 74.8272"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "276 404 271.241"; + rotation = "0.0284745 -0.116277 0.992809 154.181"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 -780 213.209"; + rotation = "-0.45981 0.565602 0.684594 42.7507"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 300 218.522"; + rotation = "-0.185712 -0.0995729 0.977546 92.3006"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "772 508 278.412"; + rotation = "-0.206808 -0.204952 0.956674 213.571"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "188 -116 202.069"; + rotation = "0.137032 0.500046 0.855089 53.9067"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-124 420 199.506"; + rotation = "0.188856 0.253356 0.948759 206.617"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-684 244 210.866"; + rotation = "-0.0862897 -0.151558 0.984675 70.8336"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-244 788 221.281"; + rotation = "-0.0337646 -0.397463 -0.916997 107.785"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "44 -612 200.563"; + rotation = "0.587088 0.191156 -0.78663 35.173"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "700 -572 224.891"; + rotation = "0.199822 0.270727 0.941689 159.254"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "300 60 230.609"; + rotation = "-0.946961 -0.158043 0.279797 28.0637"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-564 692 295"; + rotation = "-0.041241 -0.0732016 0.996464 61.1776"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "756 -564 207"; + rotation = "0.345342 0.0459878 0.937349 52.8984"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "4 -508 165"; + rotation = "0.24292 -0.0568045 0.968382 122.565"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-396 -548 237.859"; + rotation = "-0.322718 0.0691479 0.943966 68.0296"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "196 -420 196.062"; + rotation = "0.189082 -0.200387 -0.961298 79.2132"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "724 -756 263.5"; + rotation = "-0.0931016 -0.241237 -0.96599 104.923"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-420 788 287.203"; + rotation = "-0.0631939 -0.389471 -0.918868 107.674"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-100 332 229.031"; + rotation = "0.053422 0.0105012 0.998517 92.0846"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "52 324 222.156"; + rotation = "-0.141152 -0.117354 0.983008 49.7452"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "660 -532 217.078"; + rotation = "0.167502 0.141602 0.97565 156.568"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 428 260.656"; + rotation = "-0.107746 -0.0560285 0.992598 77.4146"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 580 313.203"; + rotation = "0.384421 0.605331 -0.69699 21.3925"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-316 -724 204.453"; + rotation = "0.292057 -0.0473597 0.955228 65.3624"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-348 748 290.297"; + rotation = "0.219906 0.134394 0.966219 135.399"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "380 308 216"; + rotation = "0.114801 -0.138697 0.983658 117.838"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "564 -332 245.047"; + rotation = "-0.00774182 -0.445384 -0.895306 89.319"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 -396 181.5"; + rotation = "0.864279 -0.402848 0.301222 32.3915"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 12 180.094"; + rotation = "0.191078 -0.0103438 0.98152 77.0393"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-556 -132 223.828"; + rotation = "0.20906 -0.618724 0.757281 47.6753"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "436 -508 276.078"; + rotation = "0.00981883 0.314147 0.949324 133.21"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-92 468 159.859"; + rotation = "0.0315205 -0.533185 -0.845411 51.0867"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-660 548 231.734"; + rotation = "-0.160114 0.422157 -0.892271 97.5094"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-612 -516 90.7031"; + rotation = "-0.0957912 -0.364185 0.926387 24.7732"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-380 -332 220.969"; + rotation = "0.422032 0.503159 -0.754135 36.5895"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 412 275.609"; + rotation = "0.0680858 -0.185923 0.980202 214.348"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-316 748 279.359"; + rotation = "-0.525403 -0.220243 -0.821855 44.3049"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "812 780 312.703"; + rotation = "-0.6889 0.604686 -0.399714 24.6925"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-588 52 335.016"; + rotation = "-0.160373 -0.000954997 0.987056 136.516"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-148 -348 239.75"; + rotation = "0.087208 0.0802834 0.99295 162.125"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-548 684 293.813"; + rotation = "-0.598489 0.0255737 -0.800722 12.4712"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "564 540 85.2344"; + rotation = "0.322637 -0.0499131 0.945206 91.2281"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/PlanetX.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/PlanetX.mis new file mode 100644 index 00000000..d03f2a51 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/PlanetX.mis @@ -0,0 +1,1265 @@ +// DisplayName = PlanetX +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Winning is a habit. Unfortunately, so is losing. +//-- Vince Lombardi +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Europack4 v2.00 +//Map by Paladine (Edited by The Driver & DeeVee) +//Assets by F|ysa +//Edited by ChocoTaco +//8 caps to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + cdTrack = "6"; + powerCount = "0"; + musicTrack = "desert"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-848 -824 1712 1632"; + flightCeiling = "500"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.601522 -0.655061 -0.457238"; + color = "0.600000 0.800000 0.200000 1.000000"; + ambient = "0.400000 0.500000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.5"; + lensFlareIntensity = "0.05"; + frontFlareSize = "1"; + backFlareSize = "400"; + flareColor = "0.450000 0.400000 0.200000 1.000000"; + + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 -101"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "1"; + surfaceTexture = "liquidTiles/PlanetX_CB_water"; + surfaceOpacity = "0.2"; + envMapTexture = "skies/PlanetX/PlanetX_reflect.png"; + envMapIntensity = "0.3"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/PlanetX_CB1"; + terrainFile = "PlanetX2.ter"; + squareSize = "8"; + emptySquares = "149430 280757 84402 281013 84658 281269 84914 243271 243527 243783 244039"; + + position = "-1024 -1024 0"; + hazeDistance = "150"; + visibleDistance = "420"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "DangerousCrossing_nef.nav"; + coverage = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + locked = "true"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.1"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.003"; + cloudSpeed2 = "0.002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.380000 0.450000 0.500000 1.000000"; + fogDistance = "300"; + fogColor = "0.350000 0.490000 0.500000 1.000000"; + fogVolume1 = "300 0 135"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "PlanetX.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.73821e-33 1.41683e-33"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 1.73819e-33 -8.94073e-08"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-417.577 378.887 217.73"; + rotation = "0 0 1 211.421"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "false"; + }; + new SpawnSphere() { + position = "-424.333 520.205 207.475"; + rotation = "0 0 1 211.421"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "false"; + }; + }; + new SimGroup(MainBase0) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "-443.256 447.981 244.802"; + rotation = "0 0 1 179.336"; + scale = "0.5 0.5 0.5"; + interiorFile = "Euro4_Bleed_Base.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-419.879 425.756 218.261"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9055"; + team = "1"; + inUse = "Down"; + Target = "33"; + notReady = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-466.599 471.028 218.294"; + rotation = "-0 0 -1 46.0186"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9057"; + team = "1"; + inUse = "Down"; + Target = "34"; + notReady = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-585.322 472.104 206.739"; + rotation = "0 0 1 17.7617"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + inUse = "Down"; + ready = "1"; + Target = "35"; + station = "9135"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-588.794 461.388 202.655"; + rotation = "0 0 1 17.7617"; + scale = "0.8 0.8 0.8"; + interiorFile = "Euro4_Bleed_vpad.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new Turret() { + position = "-348.417 224.293 227.305"; + rotation = "0 0 1 176.653"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "36"; + locked = "false"; + }; + new InteriorInstance() { + position = "-345.81 229.525 230.69"; + rotation = "-0 0 -1 3.43771"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-552.728 393.836 238.067"; + rotation = "-0 0 -1 34.3774"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "37"; + locked = "false"; + }; + new StaticShape() { + position = "-420.424 471.595 218.287"; + rotation = "0 0 1 42.2164"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9064"; + team = "1"; + inUse = "Down"; + Target = "38"; + notReady = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-451.594 447.871 198.935"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "39"; + locked = "false"; + }; + new StaticShape() { + position = "-435.418 448.183 198.977"; + rotation = "-0 0 -1 87.845"; + scale = "1.1 1.1 1.1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "40"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-442.77 431.881 124.561"; + rotation = "0 0 1 175.898"; + scale = "1.1 1.1 1.1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-443.415 464.021 107.939"; + rotation = "0 0 1 178.763"; + scale = "1.1 1.1 1.1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new Item() { + position = "-443.44 448.166 206.276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new InteriorInstance() { + position = "-443.843 454.785 220.844"; + rotation = "0.182379 0.983228 0.000305646 179.916"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-466.08 425.34 218.327"; + rotation = "0 0 1 222.308"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9072"; + team = "1"; + inUse = "Down"; + Target = "41"; + notReady = "1"; + locked = "false"; + }; + new Turret() { + position = "-443.041 448.089 224.134"; + rotation = "0 0 1 90.9174"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + damageTimeMS = "1033720"; + combo5756_1 = "1"; + hitBy11417 = "1"; + hitBy5756 = "1"; + soiledByEnemyRepair = "1"; + combo5756_3 = "1"; + Target = "42"; + wasDisabled = "0"; + lastDamagedByTeam = "1"; + combo11417_3 = "1"; + lastDamagedBy = "11417"; + locked = "false"; + repairedBy = "11417"; + }; + new InteriorInstance(InteriorInstance) { + position = "-514.349 211.57 177.532"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-552.595 393.543 235.005"; + rotation = "-0 0 -1 34.3774"; + scale = "0.3 0.3 0.2"; + interiorFile = "Euro4_Bleed_turret.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-438.273 448.245 227.667"; + rotation = "0 0 1 89.1986"; + scale = "1.6 1 1.6"; + shapeName = "vend.dts"; + + team = "1"; + locked = "false"; + }; + }; + new Item() { + position = "-504.056 209.055 177.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "9121"; + Trigger = "9122"; + isHome = "1"; + Target = "43"; + originalPosition = "-504.056 209.055 177.809 1 0 0 0"; + className = "FlagObj"; + locked = "false"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(MainBase0) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "437.795 -439.069 245.2"; + rotation = "0 0 1 171.887"; + scale = "0.5 0.5 0.5"; + interiorFile = "Euro4_Bleed_Base.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "493.985 -201.974 176.088"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "463.841 -457.885 218.718"; + rotation = "0 0 1 127.014"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9084"; + team = "2"; + Target = "44"; + locked = "false"; + }; + new StaticShape() { + position = "457.716 -412.498 218.718"; + rotation = "0 0 1 37.633"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9086"; + team = "2"; + Target = "45"; + locked = "false"; + }; + new StaticShape() { + position = "599.195 -447.569 207.174"; + rotation = "0 0 1 190.221"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + inUse = "Down"; + ready = "1"; + Target = "46"; + station = "9138"; + locked = "false"; + }; + new Item() { + position = "438.301 -439.277 206.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "601.629 -435.968 203.49"; + rotation = "0 0 1 190.221"; + scale = "0.8 0.8 0.8"; + interiorFile = "Euro4_Bleed_vpad.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new Item() { + position = "504.394 -204.57 176.081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "9123"; + Trigger = "9124"; + isHome = "1"; + Target = "47"; + originalPosition = "504.394 -204.57 176.081 1 0 0 0"; + className = "FlagObj"; + locked = "false"; + }; + new StaticShape() { + position = "541.276 -397.993 232.993"; + rotation = "0 0 1 152.016"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "48"; + locked = "false"; + }; + new InteriorInstance() { + position = "346.382 -232.247 231.277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new Turret() { + position = "343.397 -239.167 227.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "49"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "541.284 -398.038 230.07"; + rotation = "0 0 1 152.016"; + scale = "0.3 0.3 0.2"; + interiorFile = "Euro4_Bleed_turret.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "429.923 -440.203 199.36"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + hitBy5756 = "1"; + combo5756_3 = "1"; + Target = "50"; + locked = "false"; + }; + new StaticShape() { + position = "446.231 -437.73 199.44"; + rotation = "0 0 -1 97.5853"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "51"; + locked = "false"; + }; + new Turret() { + position = "438.241 -439.219 224.5"; + rotation = "0 0 -1 97.0124"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + damageTimeMS = "572446"; + combo5756_1 = "1"; + hitBy5756 = "1"; + Target = "52"; + wasDisabled = "0"; + lastDamagedByTeam = "2"; + lastDamagedBy = "5756"; + locked = "false"; + repairedBy = "5756"; + }; + new InteriorInstance(InteriorInstance) { + position = "440.119 -455.065 36.574"; + rotation = "0 0 1 171.887"; + scale = "1.1 1.1 1.1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "435.509 -423.25 42.526"; + rotation = "0 0 1 171.887"; + scale = "1.1 1.1 1.1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "411.707 -419.548 218.712"; + rotation = "-0 0 -1 56.9053"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9102"; + team = "2"; + inUse = "Down"; + Target = "53"; + notReady = "1"; + locked = "false"; + }; + new StaticShape() { + position = "418.065 -464.512 218.685"; + rotation = "0 0 1 211.422"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9104"; + team = "2"; + Target = "54"; + locked = "false"; + }; + new InteriorInstance() { + position = "439.632 -445.818 221.21"; + rotation = "0.990327 -0.138754 0.000745099 180.031"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new SimGroup() { + + powerCount = "2"; + }; + new TSStatic() { + position = "432.875 -439.985 228.09"; + rotation = "0 0 -1 98.5244"; + scale = "1.6 1 1.6"; + shapeName = "vend.dts"; + + team = "2"; + locked = "false"; + }; + new SimGroup() { + + powerCount = "2"; + }; + }; + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "422.245 -355.833 215.425"; + rotation = "0 0 1 203.973"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "false"; + }; + new SpawnSphere() { + position = "418.958 -515.187 199.625"; + rotation = "0 0 1 203.973"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + + locked = "false"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(1) { + position = "265.173 -347.536 255.37"; + rotation = "0.0734385 -0.0598021 0.995505 78.5658"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(4) { + position = "-350.364 133.602 249.274"; + rotation = "0.017323 0.00408589 -0.999842 26.5471"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(3) { + position = "-232.624 407.756 253.023"; + rotation = "0.0266777 0.0356185 -0.999009 106.389"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(3) { + position = "355.088 -172.21 236.366"; + rotation = "0.0070043 -0.0346764 0.999374 157.175"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BiodermPlant21) { + + new TSStatic() { + position = "924 -92 215.625"; + rotation = "0 0 1 173"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-124 412 191.453"; + rotation = "0 0 1 150"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-500 1004 183.484"; + rotation = "0 0 -1 60.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-884 4 171.078"; + rotation = "0 0 1 122"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "564 -380 219.938"; + rotation = "0 0 -1 81.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "332 644 153.469"; + rotation = "0 0 1 141"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-1004 -828 148.828"; + rotation = "0 0 1 165"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "940 260 122.078"; + rotation = "0 0 1 162"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-316 484 198.375"; + rotation = "0 0 1 181"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-364 948 178.656"; + rotation = "0 0 1 64.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-964 -964 136.328"; + rotation = "0 0 -1 4.00015"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-660 -732 142.828"; + rotation = "0 0 -1 40.0002"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-804 -940 112.031"; + rotation = "0 0 1 117"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "68 652 210"; + rotation = "0 0 1 85"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "84 156 136.266"; + rotation = "0 0 1 130"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "492 316 151.797"; + rotation = "0 0 1 67.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-956 -308 114.297"; + rotation = "0 0 -1 64.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-44 -444 167.937"; + rotation = "0 0 1 218"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "100 -44 125.297"; + rotation = "0 0 1 225"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-348 348 203.391"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-228 -444 148.891"; + rotation = "0 0 1 138"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "116 -356 183.031"; + rotation = "0 0 1 35"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-172 740 209.297"; + rotation = "0 0 -1 90.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "76 -124 148.812"; + rotation = "0 0 1 25"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-292 548 181.797"; + rotation = "0 0 1 234"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "124 -604 209.094"; + rotation = "0 0 1 144"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "20 676 212.391"; + rotation = "0 0 1 174"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-204 -964 204.688"; + rotation = "0 0 -1 55.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "772 -620 201.203"; + rotation = "0 0 1 28"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "772 -556 217.563"; + rotation = "0 0 1 238"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-4 412 168.078"; + rotation = "0 0 -1 1.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "396 -644 143.547"; + rotation = "0 0 -1 14.9998"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "20 252 149.563"; + rotation = "0 0 1 69.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-604 -916 142.984"; + rotation = "0 0 1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "828 -580 204.016"; + rotation = "0 0 -1 74.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "972 892 148.625"; + rotation = "0 0 -1 118"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-404 -300 151.922"; + rotation = "0 0 -1 95.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-284 140 180.734"; + rotation = "0 0 1 3.99996"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "388 740 186.297"; + rotation = "0 0 1 154"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "556 -252 171.5"; + rotation = "0 0 1 232"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-332 -708 164.047"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "356 -956 180.516"; + rotation = "0 0 1 132"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "348 612 162.594"; + rotation = "0 0 1 199"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-596 -268 132.5"; + rotation = "0 0 1 232"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "404 428 112.797"; + rotation = "0 0 -1 66.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "68 -988 187.094"; + rotation = "0 0 1 58.9998"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "676 812 167.781"; + rotation = "0 0 1 12"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "52 612 200.797"; + rotation = "0 0 -1 93.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "716 1004 143.391"; + rotation = "0 0 1 152"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-652 772 201.703"; + rotation = "0 0 -1 46.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition2BiodermPlant5) { + + new TSStatic() { + position = "324 -652 144.703"; + rotation = "0 0 1 84.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-4 676 208.953"; + rotation = "0 0 -1 119"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-164 -300 144.141"; + rotation = "0 0 1 9.00004"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "340 52 169.719"; + rotation = "0 0 1 176"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-228 716 212.594"; + rotation = "0 0 1 208"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "596 268 130.047"; + rotation = "0 0 1 18"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "900 644 136.594"; + rotation = "0 0 1 84.0002"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "652 652 124.828"; + rotation = "0 0 -1 65.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-228 636 198.781"; + rotation = "0 0 -1 89.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "76 -284 174.203"; + rotation = "0 0 1 158"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-716 100 179.969"; + rotation = "0 0 -1 11.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-396 44 154.766"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-884 -260 147.969"; + rotation = "0 0 -1 4.00015"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "372 -420 217.594"; + rotation = "0 0 -1 116"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-526.494 -700.912 155.431"; + rotation = "0 0 1 205"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-836 420 198.75"; + rotation = "0 0 1 20"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "204 -724 207.891"; + rotation = "0 0 -1 102"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-28 36 128.703"; + rotation = "0 0 -1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "420 468 103.672"; + rotation = "0 0 -1 19.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "452 -20 178.938"; + rotation = "0 0 -1 14.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/PuliVeivari.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/PuliVeivari.mis new file mode 100644 index 00000000..54251069 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/PuliVeivari.mis @@ -0,0 +1,1919 @@ +// DisplayName = Puli&Veivari +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Only two things are certain in life. You live and you die!" +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Map by Paladine +//Edited by ChocoTaco +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + musicTrack = "lush"; + powerCount = "0"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-520 -792 864 1600"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "PuliVeivari.ter"; + squareSize = "8"; + emptySquares = "406407 406663 406919 145033 79754 182127 510060 575852 445037"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "500"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + coverage = "0"; + GraphFile = "Archipelago.nav"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new WaterBlock() { + position = "-1024 -1024 -73"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + locked = "false"; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "250"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -0.209438"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -73917832173041059100000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.86e-37 8.96831e-44"; + high_fogVolume2 = "-1 0 3.03148e-37"; + high_fogVolume3 = "-1 1.73992e-39 2.86012e-37"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "-128.446 585.706 141.71"; + rotation = "0 0 1 181.237"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(Tower) { + + powerCount = "2"; + + new InteriorInstance() { + position = "83.9382 297.013 197.431"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "81.9432 301.74 191.485"; + rotation = "0 0 -1 2.8649"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9461"; + team = "1"; + inUse = "Down"; + Target = "33"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-281.045 312.012 208.409"; + rotation = "0 0 1 48.1285"; + scale = "0.7 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-281.824 305.001 210.412"; + rotation = "0 0 1 226.501"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9464"; + team = "1"; + inUse = "Down"; + Target = "34"; + notReady = "1"; + }; + new StaticShape() { + position = "81.8821 296.901 219.1"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "35"; + }; + new StaticShape() { + position = "-278.338 308.565 218.634"; + rotation = "0 0 1 226.891"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "36"; + }; + }; + new StaticShape() { + position = "-128.364 592.733 167.561"; + rotation = "0.657542 0.00657564 0.753389 1.52107"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "37"; + }; + new SpawnSphere() { + position = "-289.672 306.903 187.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + new InteriorInstance() { + position = "-128.655 575.297 129.432"; + rotation = "0 0 1 89.9544"; + scale = "0.1 0.407986 0.294349"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-130.642 616.389 149.647"; + rotation = "-0 0 -1 88.8087"; + scale = "1 1 0.994127"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "9679"; + team = "1"; + inUse = "Down"; + Target = "38"; + ready = "1"; + }; + new SpawnSphere() { + position = "-128.734 610.77 147.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + new SpawnSphere() { + position = "74.8136 296.117 193.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + new StaticShape() { + position = "-151.469 586.129 154.466"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9474"; + team = "1"; + inUse = "Down"; + Target = "39"; + notReady = "1"; + }; + new StaticShape() { + position = "-111.594 587.307 167.721"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9476"; + team = "1"; + inUse = "Down"; + Target = "40"; + notReady = "1"; + }; + new Turret() { + position = "-129.084 556.844 167.735"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "41"; + }; + new InteriorInstance(InteriorInstance) { + position = "-136.974 394.039 163.503"; + rotation = "1 0 0 0"; + scale = "0.7 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-138.808 388.074 160.226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + WayPoint = "9665"; + Trigger = "9666"; + originalPosition = "-138.808 388.074 160.226 1 0 0 0"; + Target = "42"; + isHome = "1"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-105.161 585.245 154.466"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9482"; + team = "1"; + inUse = "Down"; + Target = "43"; + notReady = "1"; + }; + new StaticShape() { + position = "83.9679 291.949 203.029"; + rotation = "0.0093682 0.00872737 0.999918 85.9484"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "44"; + }; + new Item() { + position = "-128.005 588.191 179.182"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "83.4314 296.822 212.125"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-273.416 312.799 210.859"; + rotation = "0 0 1 47.5554"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-145.405 588.09 167.749"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9488"; + team = "1"; + inUse = "Down"; + Target = "45"; + notReady = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "2"; + + new InteriorInstance() { + position = "81.8211 -600.877 137.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbase6.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "81.8843 -590.343 122.902"; + rotation = "0 0 -1 89.9544"; + scale = "0.192748 0.379204 0.520177"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SpawnSphere() { + position = "-180.472 -403.897 158.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + new SpawnSphere() { + position = "83.5282 -598.697 155.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + new SimGroup(Tower2) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-182.369 -405.963 166.043"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "btowr2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-180.313 -410.461 160"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9497"; + team = "2"; + inUse = "Down"; + Target = "46"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "225.479 -367.21 220.68"; + rotation = "0 0 1 5.72969"; + scale = "0.7 1 1"; + interiorFile = "bbunk7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "230.299 -362.936 222.694"; + rotation = "0 0 1 5.72969"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9500"; + team = "2"; + inUse = "Down"; + Target = "47"; + notReady = "1"; + }; + new StaticShape() { + position = "-180.454 -406.128 188.312"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "48"; + }; + new StaticShape() { + position = "229.756 -367.642 231.116"; + rotation = "0 0 1 6.69382"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "49"; + }; + }; + new StaticShape() { + position = "82.0549 -607.567 163.849"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "50"; + }; + new StaticShape() { + position = "85.2901 -630.86 146.391"; + rotation = "0 0 1 88.4167"; + scale = "1 1 0.994127"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "9682"; + team = "2"; + inUse = "Down"; + Target = "51"; + ready = "1"; + }; + new InteriorInstance() { + position = "61.3134 -600.871 147.417"; + rotation = "0 0 -1 0.0969133"; + scale = "0.192748 0.379204 0.520177"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "104.332 -600.899 150.634"; + rotation = "0 0 -1 91.2826"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9507"; + team = "2"; + Target = "52"; + }; + new InteriorInstance() { + position = "101.647 -600.835 147.083"; + rotation = "0 0 -1 0.0969133"; + scale = "0.192748 0.379204 0.520177"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "32.2218 -407.51 150.221"; + rotation = "1 0 0 0"; + scale = "0.7 1 1"; + interiorFile = "bplat2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "81.7985 -572.011 163.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "53"; + }; + new Item() { + position = "30.1533 -413.668 146.956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + WayPoint = "9667"; + Trigger = "9668"; + originalPosition = "30.1533 -413.668 146.956 1 0 0 0"; + Target = "54"; + isHome = "1"; + searchSchedule = "19097"; + className = "FlagObj"; + }; + new SpawnSphere() { + position = "227.205 -365.766 222.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "20"; + outdoorWeight = "80"; + }; + new Trigger() { + position = "80.8959 -613.405 147.001"; + rotation = "-0 0 -1 0.391671"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.0000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.0000000"; + + station = "9492"; + team = "2"; + mainObj = "9374"; + disableObj = "9492"; + }; + new Item() { + position = "81.9553 -603.058 175.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "58.5873 -600.908 150.834"; + rotation = "0 0 1 88.6262"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9517"; + team = "2"; + Target = "55"; + }; + new Item() { + position = "229.076 -373.567 223.13"; + rotation = "0 0 1 8.02147"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-182.189 -405.864 180.567"; + rotation = "0 0 -1 89.5641"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "98.9474 -603.23 163.874"; + rotation = "0 0 1 87.0896"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9521"; + team = "2"; + Target = "56"; + }; + new StaticShape() { + position = "65.1321 -602.927 163.893"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9523"; + team = "2"; + Target = "57"; + }; + new StaticShape() { + position = "-178.465 -400.506 171.632"; + rotation = "0.00882217 0.00872742 0.999923 89.3858"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "58"; + }; + new InteriorInstance() { + position = "-148.818 586.109 151.028"; + rotation = "0 0 -1 0.0969133"; + scale = "0.192748 0.379204 0.520177"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-107.818 585.306 152.558"; + rotation = "0 0 -1 0.0969133"; + scale = "0.192748 0.379204 0.520177"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new Item() { + position = "-27.8502 -22.702 191.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-153.442 542.279 218.045"; + rotation = "0 0 1 174.179"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "225.931 -372.428 254.847"; + rotation = "-0.0496402 -0.178809 0.982631 210.517"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "128.471 486.975 221.244"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-6.6665 -303.04 232.248"; + rotation = "0 0 1 203.4"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new SimGroup(Environmental) { + + powerCount = "0"; + + new TSStatic() { + position = "101.753 14.3337 204.604"; + rotation = "0 0 1 174.179"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-27.9229 -22.9228 188.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new TSStatic() { + position = "-43.9801 -115.951 174.572"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "243.736 -123.423 218.348"; + rotation = "0 0 1 13.7512"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-216.875 57.5281 195.926"; + rotation = "0 0 1 17.7618"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "227.556 528.52 176.57"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "100 -324 145.359"; + rotation = "0.147057 0.307381 0.940155 97.5174"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "764 436 191.734"; + rotation = "-0.0537641 0.0542347 0.99708 154.074"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "116 140 147.063"; + rotation = "0.033457 0.0528637 -0.998041 100.111"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 124 189.578"; + rotation = "-0.1147 0.224269 0.967754 199.368"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-684 -84 144.172"; + rotation = "0.107561 0.115207 0.987501 106.692"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-764 -100 147.734"; + rotation = "-0.459732 0.744671 -0.48385 8.25631"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "764 564 172.531"; + rotation = "0.814392 0.216768 -0.538309 32.7901"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "44 -404 141.828"; + rotation = "-0.0485088 0.0540751 0.997358 86.1511"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "772 -684 123.672"; + rotation = "-0.547731 -0.266341 0.793129 26.3058"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "124 -100 182.484"; + rotation = "-0.364269 0.566743 -0.738993 34.6986"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 -588 199.969"; + rotation = "-0.462258 0.488543 0.740029 47.4091"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-644 -652 142.344"; + rotation = "0.00384122 -0.0650193 0.997877 207.942"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 564 164.094"; + rotation = "-0.219154 -0.187145 0.957574 37.4858"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "508 -140 116.766"; + rotation = "0.703104 -0.711087 9.64901e-06 26.063"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "4 -12 190.016"; + rotation = "-0.267209 0.197434 0.943196 55.7227"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 748 128.375"; + rotation = "-0.144121 -0.0400416 -0.98875 41.4272"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "604 12 135.688"; + rotation = "-0.173272 0.00708246 0.984849 179.015"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-812 -780 155.844"; + rotation = "-0.0159863 -0.0161792 -0.999741 102.015"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 572 195.656"; + rotation = "0.665368 0.537688 0.517858 26.6771"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "17.2159 635.541 181.866"; + rotation = "0.0862221 0.0204041 0.996067 19.0736"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 -700 165.578"; + rotation = "-0.29982 -0.0555526 -0.952377 75.6923"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-780 -772 155.641"; + rotation = "-0.0293121 -0.011366 -0.999506 58.024"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-188 172 150.203"; + rotation = "0.0318933 0.0671352 0.997234 235.869"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-516 148 141.234"; + rotation = "0.137285 0.0409721 -0.989684 63.5307"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "628 228 138.859"; + rotation = "-0.00335934 -0.00303167 0.99999 210.999"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 -412 127.203"; + rotation = "-0.0790236 0.0616879 -0.994962 103.281"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "404 -668 177.641"; + rotation = "-0.426283 -0.073106 -0.901631 80.7985"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-244 436 142.969"; + rotation = "0.170606 -0.0018951 -0.985337 90.8465"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "724 20 161.75"; + rotation = "0.0550166 -0.00144064 -0.998484 93.0867"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "620 660 140.812"; + rotation = "0.133571 0.00627434 -0.991019 65.4696"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "324 -420 230.953"; + rotation = "-0.242068 -0.0601773 0.968391 114.683"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "284 348 199.094"; + rotation = "-0.0342238 -0.0789102 0.996294 213.881"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "324 708 133.156"; + rotation = "-0.206722 0.209659 0.955672 99.5703"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-580 -100 192.891"; + rotation = "-0.0381637 0.300012 0.953172 220.194"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-772 12 141.484"; + rotation = "0.363406 -0.0588958 0.929767 30.0227"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-76 740 167"; + rotation = "0 0 1 39"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "460 -148 133.594"; + rotation = "-0.14562 -0.275034 -0.950343 75.8109"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-324 -516 190.016"; + rotation = "-0.252968 -0.962438 0.0985907 29.7489"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 68 157.266"; + rotation = "-0.000776326 0.308567 -0.951202 93.8631"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-302.761 536.045 159.757"; + rotation = "0.0929572 -0.0411589 0.994819 222.016"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "308 -540 145.609"; + rotation = "0.543559 -0.265467 -0.796286 65.2284"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-220 172 155.156"; + rotation = "0.129038 -0.0245201 0.991336 124.413"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-148 -476 154"; + rotation = "-0.0296883 -0.117621 0.992615 98.4204"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-644 -716 132.297"; + rotation = "-0.245636 0.0346971 -0.968741 32.9773"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "284 28 239.516"; + rotation = "-0.133755 0.229958 0.963965 189.642"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "596 -676 145.797"; + rotation = "0.060859 -0.0790055 0.995015 173.035"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "588 452 114.875"; + rotation = "-0.399224 0.198763 0.89505 38.8116"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-722.994 82.0367 130.256"; + rotation = "-0.0046389 0.164322 0.986396 130.122"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "628 -772 121.484"; + rotation = "-0.768932 -0.189575 -0.610577 27.5076"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-516 68 143.584"; + rotation = "-0.478533 0.215473 0.851221 32.6513"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "604 284 145.319"; + rotation = "0.0218437 0.0650343 0.997644 111.126"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "316 700 130.569"; + rotation = "-0.092653 0.811447 0.577034 18.9472"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 -516 223.475"; + rotation = "0.270128 -0.028395 0.962406 168.448"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 -92 151.131"; + rotation = "0.223813 0.060177 0.972773 153.709"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-412 76 187.944"; + rotation = "0.153209 0.501485 0.851493 62.8798"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "596 260 145.506"; + rotation = "-0.0792343 0.0924348 0.992561 37.2582"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "84 724 185.928"; + rotation = "-0.395507 -0.265452 -0.879266 51.539"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-444 -252 121.897"; + rotation = "-0.362469 -0.551409 -0.751375 52.91"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "516 -20 108.756"; + rotation = "-0.0130879 -0.218917 -0.975656 90.4122"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-636 -516 182.569"; + rotation = "-0.10754 0.084735 0.990583 101.532"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-692 164 136.444"; + rotation = "-0.188724 0.0652909 0.979857 222.211"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "756 740 106.991"; + rotation = "0.241411 -0.0177687 0.97026 222.812"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "564 356 119.85"; + rotation = "0.42867 0.293744 0.854375 61.6216"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-796 -52 149.303"; + rotation = "-0.145866 -0.0679349 0.986969 33.4116"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "340 -428 230.053"; + rotation = "-0.0143459 -0.197205 0.980257 157.443"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 -452 143.038"; + rotation = "-0.210222 -0.123627 -0.969806 67.6148"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "620 -44 148.569"; + rotation = "0.00241582 0.0274748 0.99962 198.993"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-276 -580 134.991"; + rotation = "0.257209 -0.244539 0.934903 74.6839"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-171.986 -428.038 165.685"; + rotation = "0.122772 -0.063547 -0.990398 94.5512"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-180 140 163.241"; + rotation = "0.221595 -0.209711 -0.952322 70.6182"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-308 -180 177.006"; + rotation = "0.161297 0.217129 -0.962724 109.069"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "148 -516 131.35"; + rotation = "-0.782308 -0.378249 -0.494897 20.0508"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "740 -292 158.147"; + rotation = "-0.114295 0.0143516 0.993343 105.37"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-596 -500 181.428"; + rotation = "0.967559 -0.194312 -0.161472 35.9616"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "140 180 169.35"; + rotation = "-0.0503682 0.131717 0.990007 71.5447"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 -508 131.928"; + rotation = "-0.228538 -0.224767 0.947233 82.063"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "740 -500 97.8812"; + rotation = "-0.29866 -0.0394105 -0.953546 108.602"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-124 724 168.178"; + rotation = "-0.00702757 0.0111159 -0.999914 69.0048"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "716 692 122.428"; + rotation = "0.217931 -0.0909842 0.971714 177.085"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "188 -716 167.725"; + rotation = "0.119217 -0.0771309 0.989868 201.783"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "44 -396 141.944"; + rotation = "0.214514 0.748136 -0.627914 9.54162"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "556 716 103.444"; + rotation = "-0.113107 -0.0433484 0.992637 73.4057"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "652 620 144.366"; + rotation = "0.106898 0.0856454 0.990574 164.149"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-172 -324 143.647"; + rotation = "0.229301 0.0875289 0.969412 89.7796"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "564 772 143.616"; + rotation = "-0.167845 -0.00149824 0.985812 63.7318"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-684 -404 110.35"; + rotation = "0.0438156 -0.150974 0.987566 228.461"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-396 68 195.709"; + rotation = "0.17312 0.115189 -0.978142 47.9331"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "628 -556 138.616"; + rotation = "0.0336243 0.00150086 0.999433 127.026"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 -468 221.709"; + rotation = "-0.249149 -0.0871561 -0.964535 71.956"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 44 195.366"; + rotation = "0.0300036 -0.144048 0.989116 92.6261"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "124 -308 142.959"; + rotation = "0.494235 0.0895083 -0.864708 28.7598"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "628 132 156.491"; + rotation = "0.0582121 0.0208913 -0.998086 85.1089"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-676 -356 126.616"; + rotation = "-0.221818 -0.0909058 0.970841 46.2114"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-156 212 138.788"; + rotation = "-0.617061 -0.750749 -0.235821 8.46609"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "140 468 200.741"; + rotation = "-0.10321 0.309204 0.945379 61.7975"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-68 -428 141.537"; + rotation = "-0.000238829 0.0273132 0.999627 181"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-76 148 152.85"; + rotation = "0.744659 0.183112 0.641835 42.4584"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-27.7101 465.322 141.704"; + rotation = "-0.10871 0.30196 0.947102 221.828"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "276 -372 222.647"; + rotation = "-0.0925552 -0.249967 0.963821 66.9278"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + }; + }; + new SimGroup(AmbientSounds) { + + powerCount = "0"; + + new AudioEmitter() { + position = "82.4799 485.372 184.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "61.6892 13.9721 224.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo5.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "1920"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-120.093 -5.3815 280.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "2560"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "57.1165 -236.008 170.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "211.971 -138.511 249.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "30000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "136.054 348.542 168.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-400.221 592.224 167.564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-259.283 -106.685 161.016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-60.1574 -272.541 242.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "10"; + maxDistance = "640"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "255.111 577.416 163.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "15000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "382.261 176.691 172.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "50000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-248.668 -417.85 179.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "305.116 -375.013 190.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "70000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-21.4999 620.747 216.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "60000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "1.0622 -445.354 168.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "10000"; + maxLoopGap = "20000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "140.348 -630.719 234.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/bird_echo4.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "20000"; + maxLoopGap = "40000"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-241.067 269.031 194.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/frog2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "3200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "5000"; + maxLoopGap = "10000"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new InteriorInstance() { + position = "-120.84 568.654 145.09"; + rotation = "0.938816 0.263248 0.22209 112.248"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Ravine.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Ravine.mis new file mode 100644 index 00000000..48c433fc --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Ravine.mis @@ -0,0 +1,780 @@ +// DisplayName = Ravine +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//It's never your successful friends posting the inspirational quotes +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//8 caps to win +//Open Flag +//Assets are self powered +//Map design by Techlogic +//--- MISSION STRING END --- + + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-632 -496 1248 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.350000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Ravine.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Abominable.nav"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -6.08911e-23 446776"; + high_fogVolume2 = "-1 2.59116e-14 -5.79783e-34"; + high_fogVolume3 = "-1 -3.07681e-05 6.78958e-20"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "388.635 -30.2463 83.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "391.908 24.0164 81.212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "170.604 -7.02931 91.0648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + }; + new Turret() { + position = "172.566 -7.02385 98.78"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "33"; + lastProjectile = "11448"; + team = "1"; + }; + new InteriorInstance() { + position = "358.02 -5.51209 90.8841"; + rotation = "0 0 -1 90"; + scale = "1.7 1 2"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "351.122 18.619 71.6226"; + rotation = "0 1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new TSStatic() { + position = "350.935 -29.7537 71.1028"; + rotation = "0 1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "358.02 -5.51209 91.0841"; + rotation = "0 0 -1 90"; + scale = "1.7 1 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "182.349 -7.09642 90.5868"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "183.325 67.5574 108.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "183.006 -84.3762 108.791"; + rotation = "0 0 1 177.226"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "331.595 -5.52134 78.9597"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + Target = "34"; + className = "FlagObj"; + team = "1"; + WayPoint = "5884"; + Trigger = "5885"; + originalPosition = "331.595 -5.52134 78.9597 0 0 -1 1.5708"; + }; + new StaticShape() { + position = "370.691 -5.64911 91.819"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + team = "1"; + }; + new InteriorInstance() { + position = "182.693 75.9367 107.313"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "176.332 -7.02912 88.3839"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "167.432 -13.8011 90.3899"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "36"; + inUse = "Down"; + Trigger = "5827"; + team = "1"; + }; + new StaticShape() { + position = "167.401 -0.269501 90.3279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "37"; + inUse = "Down"; + Trigger = "5829"; + team = "1"; + }; + new InteriorInstance() { + position = "366.113 10.3352 80.4591"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "366.933 -5.64969 79.8106"; + rotation = "1 0 0 0"; + scale = "4 3 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "182.738 -92.9977 106.937"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-168.67 -6.22147 98.2581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + }; + new SpawnSphere() { + position = "-394.333 -35.083 80.328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-390.573 22.8883 85.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "-363.361 -5.16823 91.3454"; + rotation = "0 0 1 90"; + scale = "1.7 1 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-363.361 -5.16823 91.1454"; + rotation = "0 0 1 90"; + scale = "1.7 1 2"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-355.877 -29.4209 71.6357"; + rotation = "0 1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-356.579 18.9919 72.2936"; + rotation = "0 -1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new Item() { + position = "-190.063 -5.80546 97.4832"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-336.993 -5.34563 79.2329"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + Target = "38"; + className = "FlagObj"; + team = "2"; + WayPoint = "5886"; + Trigger = "5887"; + originalPosition = "-336.993 -5.34563 79.2329 0 0 1 1.5708"; + }; + new Turret() { + position = "-180.015 -6.04355 105.619"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "39"; + lastProjectile = "7144"; + team = "2"; + }; + new Item() { + position = "-186.488 72.8314 109.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-182.921 -61.2645 111.262"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-376.029 -5.22337 91.936"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + team = "2"; + }; + new InteriorInstance() { + position = "-182.929 -69.4623 109.009"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-183.622 -5.84538 95.3625"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-174.611 1.02926 97.3355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "5853"; + team = "2"; + }; + new StaticShape() { + position = "-174.596 -12.4626 97.3626"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "5855"; + team = "2"; + }; + new InteriorInstance() { + position = "-371.517 -21.2047 80.7204"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-373.334 -5.36799 80.0452"; + rotation = "1 0 0 0"; + scale = "4 3 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "-185.806 81.0567 106.823"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new WaterBlock(water1) { + position = "216 -48 23.3213"; + rotation = "1 0 0 0"; + scale = "96 96 20"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + extent = "100 100 10"; + params0 = "0.32 -0.67 0.066 0.5"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + team = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + }; + new WaterBlock(water1) { + position = "-320 -48 23.1736"; + rotation = "1 0 0 0"; + scale = "96 96 20"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + extent = "100 100 10"; + params0 = "0.32 -0.67 0.066 0.5"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + team = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "164.767 -100.254 107.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "155.905 82.3021 109.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-162.145 72.1138 110.244"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-164.3 -77.8225 109.184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-455.703 143.67 137.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-442.134 -182.04 136.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "452.856 -158.052 139.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "446.295 173.268 137.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "567.64 -35.3117 229.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-580.301 17.2157 232.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-182.905 -61.4023 109.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-186.576 72.7944 107.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "182.964 -84.3985 106.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "183.38 67.5357 106.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(c1) { + position = "106.57 -14.8061 139.92"; + rotation = "0 0 1 90.137"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(c2) { + position = "-116.854 4.02948 136.962"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Rush.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Rush.mis new file mode 100644 index 00000000..86bdff66 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Rush.mis @@ -0,0 +1,1905 @@ +// DisplayName = Rush +// MissionTypes = CTF SCtf + +//--- MISSION QUOTE BEGIN --- +//The dictionary is the only place where success comes before work +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by Chano (Edited by The Driver) +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + cdTrack = "2"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-824 -624 1504 1312"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.520000 0.520000 0.670000 1.000000"; + fogDistance = "175"; + fogColor = "0.620000 0.620000 0.670000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -0.0520022 1.07572e-38"; + high_fogVolume2 = "-1 1.83445e-36 8.40779e-44"; + high_fogVolume3 = "-1 0 3.48427e-38"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.500000 0.500000 1.000000"; + ambient = "0.550000 0.550000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "Rush.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + coverage = "0"; + GraphFile = "Rush.nav"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-243.341 -280.508 113.278"; + rotation = "0.306735 -0.225913 0.924596 77.0799"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-53.9592 215.892 44.6532"; + rotation = "0.21616 -0.0482833 0.975163 25.8029"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "-256.37 153.443 79.0094"; + rotation = "0.0429826 -0.0947694 0.994571 131.441"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "87.5396 -9.66273 95.2655"; + rotation = "0.2488 0.201402 -0.947384 81.0247"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-5.95445 295.151 17.4853"; + rotation = "-0 0 -1 5.72969"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "200"; + outdoorWeight = "0"; + + locked = "false"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-11.105 302.901 20.5474"; + rotation = "0 0 1 46.2268"; + scale = "1 1 1"; + interiorFile = "bbunke.dif"; + showTerrainInside = "1"; + + locked = "false"; + team = "1"; + }; + new Turret(elfturret) { + position = "-16.2077 298.073 29.3486"; + rotation = "0.29501 0.677292 -0.673977 148.123"; + scale = "1 0.835322 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + lastDamagedBy = "5580"; + locked = "false"; + damageTimeMS = "11700182"; + repairedBy = "5537"; + Target = "33"; + team = "1"; + zappingSound = "0"; + lastDamagedByTeam = "2"; + wasDisabled = "0"; + }; + new Item() { + position = "-7.36453 306.399 29.7974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-193.49 243.329 91.9418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "34"; + team = "1"; + }; + new SimGroup(invs) { + + powerCount = "1"; + + new StaticShape() { + position = "-10.0184 301.061 21.5332"; + rotation = "0 0 1 226.318"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5580"; + locked = "false"; + damageTimeMS = "11118243"; + repairedBy = "5580"; + Target = "35"; + Trigger = "23471"; + team = "1"; + inUse = "Down"; + lastDamagedByTeam = "1"; + wasDisabled = "0"; + notReady = "1"; + }; + new InteriorInstance() { + position = "-193.47 243.157 83.629"; + rotation = "-0.0077057 0.00451333 0.99996 86.6351"; + scale = "1.25275 1.07321 4.14184"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new ForceFieldBare(invhutff1) { + position = "-7.17828 295.624 20.3087"; + rotation = "0 0 1 46.4096"; + scale = "4.13498 0.1 7.85619"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + originalscale = "4.13498 0.1 7.85619"; + Target = "36"; + team = "1"; + pz = "23474"; + }; + new ForceFieldBare(invhutff2) { + position = "-21.0344 310.147 20.4529"; + rotation = "0 0 1 46.4096"; + scale = "4.26159 0.1 7.85619"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + originalscale = "4.26159 0.1 7.85619"; + Target = "37"; + team = "1"; + pz = "23477"; + }; + new StaticShape() { + position = "-13.0227 304.214 21.513"; + rotation = "0 0 1 226.318"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5580"; + locked = "false"; + damageTimeMS = "11123541"; + repairedBy = "5580"; + Target = "38"; + Trigger = "23479"; + team = "1"; + inUse = "Down"; + lastDamagedByTeam = "1"; + wasDisabled = "0"; + notReady = "1"; + }; + }; + new TSStatic() { + position = "-20.0467 306.143 19.8002"; + rotation = "-0.261927 0.11074 0.958713 47.5951"; + scale = "2.22872 0.912915 0.896129"; + shapeName = "pmiscf.dts"; + + locked = "false"; + team = "1"; + }; + new TSStatic() { + position = "-8.2036 293.849 19.7582"; + rotation = "-0.282842 0.119584 0.951683 47.9071"; + scale = "2.22872 0.88355 0.953929"; + shapeName = "pmiscf.dts"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-39.6213 278.035 17.651"; + rotation = "-0.00196515 0.0130027 0.999914 44.6943"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new Item() { + position = "-39.5734 278.232 19.3294"; + rotation = "0 0 1 3.43771"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + isHome = "1"; + searchSchedule = "71925"; + Target = "39"; + team = "1"; + WayPoint = "23651"; + Trigger = "23652"; + originalPosition = "-39.5734 278.232 19.3294 0 0 1 0.0599993"; + className = "FlagObj"; + }; + }; + new SimGroup(team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-160.654 -299.833 19.5012"; + rotation = "-0 0 -1 4.01071"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "45"; + sphereWeight = "100"; + indoorWeight = "200"; + outdoorWeight = "0"; + + locked = "false"; + }; + }; + new SimGroup(base) { + + powerCount = "1"; + + new TSStatic() { + position = "-148.878 -305.367 19.5502"; + rotation = "0.0587937 0.114548 0.991676 233.952"; + scale = "2.22872 0.936824 0.863466"; + shapeName = "pmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new TSStatic() { + position = "-158.747 -291.436 19.5022"; + rotation = "0.0587941 0.114548 0.991676 233.951"; + scale = "2.22872 0.888347 0.993766"; + shapeName = "pmiscf.dts"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "-161.405 -303.741 29.5393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "25.7745 -241.456 91.9812"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "40"; + team = "2"; + }; + new Turret(elfturret) { + position = "-152.019 -297.178 28.7277"; + rotation = "0.806577 -0.419909 0.416065 102.738"; + scale = "1 0.828543 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + deleteLastProjectile = "1"; + lastDamagedBy = "5580"; + locked = "false"; + damageTimeMS = "11592532"; + repairedBy = "9677"; + Target = "41"; + team = "2"; + zappingSound = "0"; + soiledByEnemyRepair = "1"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-157.214 -300.818 20.2893"; + rotation = "0 0 1 234.73"; + scale = "1 1 1"; + interiorFile = "bbunke.dif"; + showTerrainInside = "1"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "25.8395 -241.574 83.2961"; + rotation = "-0.0110171 -0.00882113 -0.9999 51.4544"; + scale = "1.60425 1.27276 4.21613"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-127.898 -277.949 17.5835"; + rotation = "0 0 1 10.3133"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(invs) { + + powerCount = "1"; + + new StaticShape() { + position = "-155.509 -302.381 21.2447"; + rotation = "0 0 1 54.8216"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5580"; + locked = "false"; + damageTimeMS = "11212184"; + repairedBy = "5537"; + Target = "42"; + Trigger = "23499"; + team = "2"; + inUse = "Down"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + notReady = "1"; + }; + new ForceFieldBare(invhutff2) { + position = "-148.461 -309.434 19.6846"; + rotation = "0 0 1 234.913"; + scale = "4.26159 0.1 7.85619"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + originalscale = "4.26159 0.1 7.85619"; + Target = "43"; + team = "2"; + pz = "23501"; + }; + new ForceFieldBare(invhutff1) { + position = "-160.018 -293.021 19.5404"; + rotation = "0 0 1 234.913"; + scale = "4.13498 0.1 7.85619"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + originalscale = "4.13498 0.1 7.85619"; + Target = "44"; + team = "2"; + pz = "23503"; + }; + new StaticShape() { + position = "-158.014 -298.818 21.265"; + rotation = "0 0 1 54.8216"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "5580"; + locked = "false"; + damageTimeMS = "10870974"; + repairedBy = "5537"; + Target = "45"; + Trigger = "23505"; + team = "2"; + inUse = "Down"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + notReady = "1"; + }; + }; + }; + new Item() { + position = "-128.019 -277.919 19.2965"; + rotation = "0 0 -1 22.3454"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + isHome = "1"; + searchSchedule = "227063"; + Target = "46"; + team = "2"; + WayPoint = "23653"; + Trigger = "23654"; + originalPosition = "-128.019 -277.919 19.6965 0 0 -0.999999 0.390001"; + className = "FlagObj"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new TSStatic() { + position = "-733.681 -110.439 47.0776"; + rotation = "-0 0 -1 13.7512"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-733.785 -110.496 50.3706"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "0"; + }; + new TSStatic() { + position = "567.512 110.742 50.7692"; + rotation = "0 0 -1 110.763"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "0"; + }; + new TSStatic() { + position = "567.414 110.675 47.4762"; + rotation = "0 0 1 160.428"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "28.0966 324.536 12.1325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-32.614 265.727 2.8325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-202.752 -337.14 6.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-154.206 -197.184 16.5823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-233.77 34.7648 23.6547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-196.375 38.6675 15.4068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-14.2956 -19.5382 10.4131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-324.281 51.5883 12.6312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-557.891 -18.2717 12.9084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-455.331 30.9533 11.7705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "118.327 -54.1889 13.7421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "278.441 -49.3909 13.0212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "428.226 -24.7795 10.0812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "66.579 -41.8701 9.46853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "225.083 -56.1796 10.1616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "373.306 -40.8328 5.51804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river3.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "309.693 -320.834 10.0401"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lakewaves2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "35"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new WaterBlock() { + position = "-1024 -952 -82.5675"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "1"; + surfaceTexture = "liquidtiles/icebound_water.png"; + surfaceOpacity = "0.65"; + envMapTexture = "liquidtiles/icebound_emap_cloudsground.png"; + envMapIntensity = "0.2"; + removeWetEdges = "1"; + + locked = "false"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + params2 = "0.39 0.39 0.2 0.133"; + extent = "100 100 10"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + new SimGroup(Bridge) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-200.546 45.4445 63.0507"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "-225.178 -24.3783 47.5981"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-178.666 105.268 63.0662"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-189.645 75.2392 63.0662"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-222.252 -14.0004 63.0102"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "-187.014 84.2449 50.8696"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-226.291 -23.9741 47.5981"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-211.352 15.7943 63.0257"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "-185.901 83.8408 50.8696"; + rotation = "0 0 1 20.0535"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-233.024 -43.5833 63.0042"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-205.997 29.8555 0.914291"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2.93996"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-189.661 74.984 0.88586"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2.93996"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-222.231 -14.5799 0.617783"; + rotation = "0 0 1 20.0536"; + scale = "2 2 2.93996"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-224.802 -21.618 46.9733"; + rotation = "0 0 1 20.0536"; + scale = "0.432444 0.759907 0.700504"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-186.519 83.7298 50.2448"; + rotation = "0 0 1 20.0536"; + scale = "0.432444 0.759907 0.700504"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "105.809 10.1353 44.1134"; + rotation = "0 0 1 6.30264"; + scale = "0.432444 0.759907 0.700504"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "93.665 -101.293 40.8419"; + rotation = "0 0 1 6.30264"; + scale = "0.432444 0.759907 0.700504"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "94.4893 -93.8456 -5.5136"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2.93996"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "104.836 0.893379 -5.24552"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2.93996"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "99.6955 -46.8249 -5.21709"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2.93996"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "90.8989 -124.583 56.8729"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "106.383 10.39 44.7382"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "97.8364 -61.7559 56.8944"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "92.7777 -103.936 41.4667"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "105.206 10.5179 44.7382"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "94.3302 -93.2879 56.8788"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "104.79 1.14472 56.9348"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "108.317 32.9234 56.9348"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "93.9548 -104.064 41.4667"; + rotation = "0 0 1 6.30252"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "101.285 -30.387 56.9193"; + rotation = "0 0 1 6.30264"; + scale = "2 2 2"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new AudioEmitter() { + position = "79.3473 -80.5181 17.5233"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "30"; + maxDistance = "160"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-596 588 68.6406"; + rotation = "-0.114916 -0.213029 0.970264 221.833"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-268 252 66.9375"; + rotation = "-0.0554467 -0.247662 0.967259 223.667"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 -340 35.5937"; + rotation = "0.165555 -0.854688 -0.492036 37.5668"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-172 -268 23.5469"; + rotation = "0.093371 -0.0224367 0.995379 203.892"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "444 -572 55.875"; + rotation = "0.114575 -0.473018 -0.873571 62.6547"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 356 94.4063"; + rotation = "-0.0391251 -0.0975238 0.994464 176.022"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 428 57.3281"; + rotation = "0.0229446 0.313829 0.949202 49.2233"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-204 396 35.1719"; + rotation = "-0.11668 0.0599442 -0.991359 118.438"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-316 372 39.2969"; + rotation = "0.0494702 0.26129 0.963992 144.246"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-452 276 47.6406"; + rotation = "0.0742467 0.289543 0.954281 168.545"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 436 41.6875"; + rotation = "-0.172346 -0.00130082 0.985036 66.792"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "436 -260 29.0156"; + rotation = "0.0625962 0.337092 -0.939388 70.3368"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "412 340 54.5625"; + rotation = "0.210471 0.0191395 0.977413 105.266"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 -156 50.1875"; + rotation = "0.238392 -0.0997737 0.96603 236.336"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "4 588 54.2188"; + rotation = "0.195043 0.121012 0.973301 111.45"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-476 -92 90.4062"; + rotation = "-0.251758 0.213773 0.943885 86.2937"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "500 -340 40.0312"; + rotation = "-0.647667 -0.205029 0.733819 37.5322"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-524 -596 49.0781"; + rotation = "-0.652162 -0.755902 -0.0574171 33.8179"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-20 68 84.2968"; + rotation = "-0.0455102 0.185577 -0.981575 82.0538"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-132 -428 41.7344"; + rotation = "0.0820677 0.145164 0.985998 173.098"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-124 380 37.9219"; + rotation = "0.0247635 -0.0239457 0.999407 227.975"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "436 -412 48.4219"; + rotation = "0.316281 -0.0336709 -0.948068 40.9628"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-380 -300 64.8906"; + rotation = "0.420377 -0.214831 -0.88155 67.5013"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "484 -500 76.9375"; + rotation = "-0.0209127 0.104759 0.994278 145.188"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "356 -564 55.8907"; + rotation = "0.745411 0.517716 0.419919 41.3308"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "68 -564 92.2188"; + rotation = "-0.325339 0.137117 0.935603 86.7979"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "52 452 49.8125"; + rotation = "-0.11151 -0.152882 0.981933 90.0443"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 -348 20.0782"; + rotation = "0.103328 0.18329 0.977613 184.888"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 52 72.875"; + rotation = "0.0979824 -0.0392207 0.994415 213.821"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-252 -84 52.2344"; + rotation = "-0.046212 -0.29485 0.954426 189.546"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 -356 49.375"; + rotation = "0.196917 0.199413 0.959926 155.972"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-364 404 35.5469"; + rotation = "0.131825 -0.0186035 0.991098 144.3"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "404 -84 55.3906"; + rotation = "0.178186 -0.343206 0.922204 44.1378"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-460 -596 52.6875"; + rotation = "-0.0477106 0.297658 0.95348 158.044"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-12 132 62.2031"; + rotation = "0.17724 0.248172 0.952364 138.873"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "444 -420 50"; + rotation = "0.047017 0.0504142 0.997621 108.13"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 404 37.3438"; + rotation = "-0.0297461 -0.0551058 0.998037 97.1117"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-492 588 55.7813"; + rotation = "0.308046 -0.058997 0.94954 223.904"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-188 532 68.8125"; + rotation = "0.216492 0.265886 0.939381 228.27"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "332 -604 65.3126"; + rotation = "0.447365 0.778847 -0.439616 35.4574"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 -388 51.4375"; + rotation = "0.493478 0.400086 -0.772277 56.414"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-548 -476 62.375"; + rotation = "0.44367 -0.890109 0.104221 28.2077"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "388 68 46.0938"; + rotation = "-0.238243 -0.472077 -0.848754 46.4223"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition2BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "284 148 49.9906"; + rotation = "0.995299 -0.0191049 -0.0949517 30.8331"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-652 -604 57.3187"; + rotation = "0.139094 0.298961 -0.944074 118.925"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -300 21.5687"; + rotation = "-0.122272 0.198421 0.97246 152.742"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 508 44.4282"; + rotation = "0.0172857 -0.0183877 0.999681 208.992"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "196 276 47.9125"; + rotation = "-0.316573 -0.268997 0.909627 84.368"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-324 260 43.8813"; + rotation = "0.208654 0.666633 0.715587 38.4192"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-644 84 69.5531"; + rotation = "0.0231574 0.291442 0.956308 189.565"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-76 -292 22.5219"; + rotation = "0.000192359 0.0939259 0.995579 187.965"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-428 -196 37.7719"; + rotation = "0.238309 -0.102653 0.965749 70.8755"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "244 -380 28.2875"; + rotation = "0.037994 0.272577 0.961383 226.345"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "180 500 57.8656"; + rotation = "0.180467 0.36324 0.914051 99.1138"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 -364 94.5688"; + rotation = "0.135771 -0.0317284 0.990232 208.729"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "492 -556 51.85"; + rotation = "-0.0985905 -0.238553 0.966112 150.973"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 -436 72.8188"; + rotation = "0.176897 -0.150491 0.972656 192.648"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-428 -348 92.0844"; + rotation = "0.440146 0.198594 -0.875689 25.0307"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-364 -564 37.6313"; + rotation = "-0.0299715 -0.00225715 0.999548 166.007"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -468 54.9281"; + rotation = "0.243576 0.426555 0.871046 30.8187"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "148 -356 47.1938"; + rotation = "-0.243019 -0.28394 0.927534 60.6871"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "452 -588 57.9593"; + rotation = "0.159443 0.25551 0.953568 238.645"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "404 116 41.4594"; + rotation = "-0.27054 -0.957393 0.101032 29.0609"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-180 516 67.8812"; + rotation = "0.242182 0.0729591 0.967484 196.455"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-396 140 55.2875"; + rotation = "0.0315369 0.0462053 0.998434 127.072"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-460 -468 82.4282"; + rotation = "0.0423407 -0.0443911 0.998117 233.913"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "508 -12 32.1"; + rotation = "-0.114184 0.25301 0.960702 226.316"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 468 45.5687"; + rotation = "0.370229 0.121921 -0.920905 23.8378"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "284 -364 24.5999"; + rotation = "-0.0984476 0.366153 0.925332 77.2966"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "132 116 40.2875"; + rotation = "0.17032 -0.0654207 -0.983215 87.9691"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-356 -500 59.0219"; + rotation = "-0.0157932 -0.324333 0.945811 144.879"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "524 516 46.5063"; + rotation = "-0.453026 -0.55727 -0.695857 25.645"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 220 26.5062"; + rotation = "0.659976 -0.180468 0.72929 49.291"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "204 -476 35.7719"; + rotation = "-0.15233 0.236163 0.959699 171.361"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 68 67.7562"; + rotation = "0.312472 -0.0037709 0.949919 77.8615"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "220 428 100.819"; + rotation = "0.238248 0.0655296 0.968991 33.996"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "324 556 50.9437"; + rotation = "0.0777493 0.204661 0.97574 94.4045"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "444 548 66.8344"; + rotation = "0.216028 -0.237024 0.947181 116.808"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 -604 46.3032"; + rotation = "0.663722 -0.0768847 -0.744017 16.0811"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-132 92 66.4906"; + rotation = "-0.152247 -0.114882 0.981643 186.872"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "188 -412 33.5062"; + rotation = "0.0518324 0.161484 -0.985513 84.8321"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Badlands.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Badlands.mis new file mode 100644 index 00000000..4e1a6d5c --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Badlands.mis @@ -0,0 +1,1168 @@ +// DisplayName = Small Crossing (Badlands) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." +// -- Albert Einstien +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1600 points to win. +//4 midfield inventories for all to use. +//Map by Spartan 119 +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "badlands"; + powerCount = "0"; + cdTrack = "4"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "16"; + + new MissionArea(MissionArea) { + area = "-528 -592 1040 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "SC_Badlands.ter"; + squareSize = "8"; + + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + GraphFile = "Abominable.nav"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "420"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.190000 0.235000 0.210000 0.000000"; + fogDistance = "220"; + fogColor = "0.200000 0.200000 0.200000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_badlands_cloudy.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 9.01151e-33 4.04457e+22"; + high_fogVolume2 = "-1 1.75904e+22 1.64955e-33"; + high_fogVolume3 = "-1 7.21284e+22 1.9854e+29"; + + locked = "true"; + cloudSpeed0 = "0.002000 0.003000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-130.772 -238.174 128.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + new SpawnSphere() { + position = "55.0992 -238.61 122.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-26.3799 -185.752 124.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-29.5831 -185.556 124.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-35.9685 -184.994 124.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-42.3303 -184.239 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-35.9473 -187.943 124.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-29.6043 -188.845 123.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-40.8079 -185.777 124.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-36.5105 -230.785 119.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-39.8642 -182.919 125.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-32.8798 -186.434 124.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-36.0005 -182.707 125.391"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-32.7854 -183.438 125.177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-37.8517 -181.722 125.865"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + }; + new Item(Team1FLAG1) { + position = "-37.9358 -210.355 121.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-37.9358 -210.355 121.448 1 0 0 0"; + team = "1"; + WayPoint = "5706"; + Trigger = "5707"; + isHome = "1"; + missionType = "ctf"; + className = "FlagObj"; + Target = "33"; + }; + new SimGroup(team1sensor) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team1SensorMediumPulse1) { + position = "-39.7874 -171.025 127.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "34"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-105.674 239.519 124.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + new SpawnSphere() { + position = "83.4226 280.572 122.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(team2sensor) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team2SensorMediumPulse1) { + position = "-47.713 184.264 132.325"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + lastDamagedByTeam = "2"; + team = "2"; + lastDamagedBy = "9673"; + damageTimeMS = "1190849"; + Target = "35"; + }; + }; + new Item(Team2FLAG1) { + position = "-28.5309 226.248 120.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-28.5309 226.248 120.562 1 0 0 0"; + team = "2"; + WayPoint = "5708"; + Trigger = "5709"; + isHome = "1"; + className = "FlagObj"; + Target = "36"; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-31.4498 212.025 123.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-37.3155 249.833 126.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-25.3397 207.896 122.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-28.0807 207.052 122.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-34.9283 207.254 122.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-36.6901 209.409 122.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-33.8914 210.956 122.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-27.6699 210.585 122.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-30.0978 207.349 122.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-31.3685 205.749 122.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-33.5195 208.091 121.957"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-28.7556 209.173 122.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-31.6754 208.927 122.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(TeamStationInventory1) { + position = "103.557 127.816 118.444"; + rotation = "0 0 1 111.154"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + invincible = "1"; + Trigger = "5672"; + team = "0"; + notReady = "1"; + Target = "37"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory2) { + position = "-126.198 108.819 109.365"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + invincible = "1"; + Trigger = "5674"; + team = "0"; + notReady = "1"; + Target = "38"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory3) { + position = "54.32 -89.9865 102.396"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + invincible = "1"; + lastDamagedByTeam = "2"; + Trigger = "5676"; + team = "0"; + notReady = "1"; + lastDamagedBy = "9669"; + damageTimeMS = "1235721"; + Target = "39"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory4) { + position = "-168.473 -113.101 117.845"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + invincible = "1"; + Trigger = "5678"; + team = "0"; + notReady = "1"; + Target = "40"; + inUse = "Down"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ObserverDropPoint) { + position = "108.873 6.84025 180.177"; + rotation = "0.439059 0.116175 -0.890916 33.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-174.974 1.80656 162.288"; + rotation = "0.0299151 -0.126548 0.991509 153.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "111.292 -13.673 118.232"; + rotation = "0.019575 0.0190082 -0.999628 88.3379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-211.697 21.8917 120.603"; + rotation = "0.00691674 -0.00792218 0.999945 97.7557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3BiodermPlant21) { + + powerCount = "0"; + + new TSStatic() { + position = "252 -204 103.703"; + rotation = "0 0 1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "452 364 53.0624"; + rotation = "0 0 1 177"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-156 460 110.469"; + rotation = "0 0 1 79"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "100 44 91.2812"; + rotation = "0 0 1 90.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-588 -452 55.0468"; + rotation = "0 0 1 91.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "220 228 148.437"; + rotation = "0 0 -1 17.9998"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-540 508 149.578"; + rotation = "0 0 -1 118"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-412 332 117.312"; + rotation = "0 0 1 161"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-508 124 72.875"; + rotation = "0 0 1 236"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "300 420 131.781"; + rotation = "0 0 -1 19.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "276 580 106.391"; + rotation = "0 0 -1 65.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "572 516 53.0624"; + rotation = "0 0 1 63.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-332 300 99.5625"; + rotation = "0 0 1 30"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-284 164 109.375"; + rotation = "0 0 1 67.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-372 -364 129.734"; + rotation = "0 0 1 205"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "508 324 53.6875"; + rotation = "0 0 -1 76"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-348 516 111.234"; + rotation = "0 0 1 19"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "268 -516 110.641"; + rotation = "0 0 1 161"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "244 -540 111.859"; + rotation = "0 0 -1 80.0004"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "172 -444 109.172"; + rotation = "0 0 1 35"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition1BiodermPlant21) { + + new TSStatic() { + position = "444 -76 101.859"; + rotation = "0 0 1 90.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "276 -228 100.187"; + rotation = "0 0 1 106"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-188 -236 139.844"; + rotation = "0 0 1 21"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-28 -580 175.562"; + rotation = "0 0 1 130"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-292 52 83.2656"; + rotation = "0 0 1 60.0001"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-364 460 120.891"; + rotation = "0 0 1 99.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "604 -260 55.4531"; + rotation = "0 0 1 197"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-268 -452 122.672"; + rotation = "0 0 1 114"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-124 -164 125.406"; + rotation = "0 0 -1 11.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-460 556 137.734"; + rotation = "0 0 -1 38.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "92 -308 124.437"; + rotation = "0 0 -1 38.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "476 36 68.125"; + rotation = "0 0 1 88"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-460 -36 86.1718"; + rotation = "0 0 1 188"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-36 4 84.5001"; + rotation = "0 0 1 168"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-396 388 95.8593"; + rotation = "0 0 -1 14.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-172 -364 137.891"; + rotation = "0 0 -1 108"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "260 -260 107.625"; + rotation = "0 0 -1 34.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "148 484 109.734"; + rotation = "0 0 1 171"; + scale = "1 1 1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-572 180 59.375"; + rotation = "0 0 1 135"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "188 356 139.234"; + rotation = "0 0 1 79"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-140 -460 105.937"; + rotation = "0 0 1 15"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "564 116 53.0624"; + rotation = "0 0 -1 17.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "276 396 126.313"; + rotation = "0 0 -1 65.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-468 -564 128.453"; + rotation = "0 0 1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-148 -252 131.922"; + rotation = "0 0 1 161"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "572 84 53.0624"; + rotation = "0 0 -1 25.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "-156 244 137.141"; + rotation = "0 0 1 157"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg21.dts"; + }; + new TSStatic() { + position = "396 -212 153"; + rotation = "0 0 1 97.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg21.dts"; + }; + }; + new SimGroup(Addition2BiodermPlant5) { + + new TSStatic() { + position = "124 348 139.516"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "44 -596 180.625"; + rotation = "0 0 1 64"; + scale = "0.9 0.9 0.9"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "564 124 53.0624"; + rotation = "0 0 -1 67.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-348 -388 128.219"; + rotation = "0 0 -1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-300 540 97.0313"; + rotation = "0 0 -1 23.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-612 148 53.0624"; + rotation = "0 0 1 61.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "xorg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//This part is now controled by Staticshape.ovl in evo to prevent double overrides of the StaticShapeData::damageObject - choco +// +//package SmallCrossingInvinEquip +//{ +// +//function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +//{ +// if( $CurrentMission $= "SmallCrossing" && %targetObject.invincible ) +// return; +// +// parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +//} +// +//}; +// +// Prevent package from being activated if it is already +//if (!isActivePackage(SmallCrossingInvinEquip)) +// activatePackage(SmallCrossingInvinEquip); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Desert.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Desert.mis new file mode 100644 index 00000000..eeaa48c2 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Desert.mis @@ -0,0 +1,1125 @@ +// DisplayName = Small Crossing (Desert) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." +// -- Albert Einstien +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1600 points to win. +//4 midfield inventories for all to use. +//Map by Spartan 119 +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "Lush"; + CTF_scoreLimit = "16"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-528 -592 1040 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "SC_Desert.ter"; + squareSize = "8"; + + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Abominable.nav"; + scale = "1 1 1"; + coverage = "0"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.690000 0.620000 0.550000 0.000000"; + fogDistance = "150"; + fogColor = "0.590000 0.520000 0.450000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_desert_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 9.01151e-33 4.04457e+22"; + high_fogVolume2 = "-1 1.75904e+22 1.64955e-33"; + high_fogVolume3 = "-1 7.21284e+22 1.9854e+29"; + + locked = "true"; + cloudSpeed0 = "0.000050 0.000050"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-130.772 -238.174 128.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + new SpawnSphere() { + position = "55.0992 -238.61 122.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-26.3799 -185.752 124.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-29.5831 -185.556 124.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-35.9685 -184.994 124.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-42.3303 -184.239 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-35.9473 -187.943 124.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-29.6043 -188.845 123.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-40.8079 -185.777 124.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-36.5105 -230.785 119.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-39.8642 -182.919 125.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-32.8798 -186.434 124.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-36.0005 -182.707 125.391"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-32.7854 -183.438 125.177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-37.8517 -181.722 125.865"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + }; + new Item(Team1FLAG1) { + position = "-37.9358 -210.355 121.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-37.9358 -210.355 121.448 1 0 0 0"; + Target = "33"; + team = "1"; + WayPoint = "21227"; + Trigger = "21228"; + isHome = "1"; + missionType = "ctf"; + className = "FlagObj"; + }; + new SimGroup(team1Sensor) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team1SensorMediumPulse1) { + position = "-39.7874 -171.025 127.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "34"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-105.674 239.519 124.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + new SpawnSphere() { + position = "83.4226 280.572 122.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(team2Sensor) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team2SensorMediumPulse1) { + position = "-47.713 184.264 132.125"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "35"; + lastDamagedByTeam = "2"; + team = "2"; + lastDamagedBy = "9673"; + damageTimeMS = "1190849"; + }; + }; + new Item(Team2FLAG1) { + position = "-28.5309 226.248 120.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-28.5309 226.248 120.762 1 0 0 0"; + Target = "36"; + team = "2"; + WayPoint = "21229"; + Trigger = "21230"; + isHome = "1"; + className = "FlagObj"; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-31.4498 212.025 123.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-37.3155 249.833 126.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-25.3397 207.896 122.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-28.0807 207.052 122.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-34.9283 207.254 122.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-36.6901 209.409 122.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-33.8914 210.956 122.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-27.6699 210.585 122.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-30.0978 207.349 122.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-31.3685 205.749 122.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-33.5195 208.091 121.957"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-28.7556 209.173 122.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-31.6754 208.927 122.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(TeamStationInventory1) { + position = "103.557 127.816 118.444"; + rotation = "0 0 1 111.154"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "37"; + Trigger = "21212"; + team = "0"; + notReady = "1"; + invincible = "1"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory2) { + position = "-126.198 108.819 109.365"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "38"; + Trigger = "21214"; + team = "0"; + notReady = "1"; + invincible = "1"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory3) { + position = "54.32 -89.9865 102.396"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "39"; + lastDamagedByTeam = "2"; + Trigger = "21216"; + team = "0"; + notReady = "1"; + lastDamagedBy = "9669"; + damageTimeMS = "1235721"; + invincible = "1"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory4) { + position = "-168.473 -113.101 117.845"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "40"; + Trigger = "21218"; + team = "0"; + notReady = "1"; + invincible = "1"; + inUse = "Down"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ObserverDropPoint) { + position = "108.873 6.84025 180.177"; + rotation = "0.439059 0.116175 -0.890916 33.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-174.974 1.80656 162.288"; + rotation = "0.0299151 -0.126548 0.991509 153.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "111.292 -13.673 118.232"; + rotation = "0.019575 0.0190082 -0.999628 88.3379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-211.697 21.8917 120.603"; + rotation = "0.00691674 -0.00792218 0.999945 97.7557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1PhoenixPlant1) { + + new TSStatic() { + position = "164 -396 84.7969"; + rotation = "0 0 -1 102"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "292 -228 99.5156"; + rotation = "0 0 1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "676 -260 53.0624"; + rotation = "0 0 -1 86.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "372 -404 67.2031"; + rotation = "0 0 1 152"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "532 252 54.7344"; + rotation = "0 0 -1 101"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "212 292 151.125"; + rotation = "0 0 1 14"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "652 132 53.0624"; + rotation = "0 0 1 181"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-436 -36 86.1562"; + rotation = "0 0 1 131"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-644 124 53.0624"; + rotation = "0 0 -1 14.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "628 252 53.0624"; + rotation = "0 0 1 26"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-292 36 77.9375"; + rotation = "0 0 1 224"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-628 -676 53.0624"; + rotation = "0 0 -1 50.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "196 556 101.297"; + rotation = "0 0 -1 95.0004"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "172 284 134.844"; + rotation = "0 0 1 94.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "492 372 53.0624"; + rotation = "0 0 1 50"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-540 -428 54.125"; + rotation = "0 0 1 50"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "84 236 133.937"; + rotation = "0 0 1 106"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "652 -148 53.0624"; + rotation = "0 0 1 223"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-116 -4 86.0937"; + rotation = "0 0 -1 99.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "612 -68 53.375"; + rotation = "0 0 1 31"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "676 100 53.0624"; + rotation = "0 0 -1 16.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-20 708 131.234"; + rotation = "0 0 1 233"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-676 -604 53.375"; + rotation = "0 0 1 88"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-476 -100 111.234"; + rotation = "0 0 1 16"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition3PhoenixPlant5) { + + new TSStatic() { + position = "-652 172 52.8624"; + rotation = "0 0 -1 96.0002"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-100 20 78.0188"; + rotation = "0.0800557 0.0730578 -0.994109 77.3304"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "652 -588 52.8624"; + rotation = "0 0 1 81.0002"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-388 396 93.5031"; + rotation = "0.354109 0.218935 0.909216 55.3631"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-708 596 52.8624"; + rotation = "0 0 -1 85"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "84 -428 90.7375"; + rotation = "-0.0168419 -0.00324295 0.999853 227.994"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "444 396 53.175"; + rotation = "0.0389738 0.0044406 0.99923 192.991"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "596 596 52.8624"; + rotation = "0 0 -1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-60 -684 175.675"; + rotation = "-0.313488 -0.0642243 -0.947418 30.5362"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "172 484 112.253"; + rotation = "-0.0805711 0.172785 0.981659 229.192"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "676 676 52.8624"; + rotation = "0 0 1 73.9998"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "532 -156 54.0656"; + rotation = "0.172632 0.0407639 0.984142 38.5674"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "156 -500 109.003"; + rotation = "-0.0120382 -0.143922 0.989516 234.506"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-172 612 165.066"; + rotation = "-0.243009 0.0233991 0.969742 80.7326"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-132 -140 119.878"; + rotation = "0.130395 0.166093 0.977451 166.313"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "644 -156 52.8624"; + rotation = "0 0 1 161"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "556 -260 54.0188"; + rotation = "0.0659535 0.0246591 0.997518 220.907"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-36 -692 180.738"; + rotation = "0.0503963 0.0273628 0.998354 147.051"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-708 -380 52.8624"; + rotation = "0 0 1 129"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "604 476 52.8624"; + rotation = "0 0 1 54"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "284 -500 112.347"; + rotation = "-0.0891372 -0.0904023 0.991908 108.443"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "668 -260 52.8624"; + rotation = "0 0 -1 61.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "340 316 130.003"; + rotation = "0.287562 -0.227351 0.930387 53.2399"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-276 -556 101.128"; + rotation = "0.0884375 -0.154582 -0.984014 83.9177"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//This part is now controled by Staticshape.ovl in evo to prevent double overrides of the StaticShapeData::damageObject - choco +// +//package SmallCrossingInvinEquip +//{ +// +//function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +//{ +// if( $CurrentMission $= "SmallCrossing" && %targetObject.invincible ) +// return; +// +// parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +//} +// +//}; +// +// Prevent package from being activated if it is already +//if (!isActivePackage(SmallCrossingInvinEquip)) +// activatePackage(SmallCrossingInvinEquip); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Ice.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Ice.mis new file mode 100644 index 00000000..f8deb36b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Ice.mis @@ -0,0 +1,1190 @@ +// DisplayName = Small Crossing (Ice) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." +// -- Albert Einstien +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1600 points to win. +//4 midfield inventories for all to use. +//Map by Spartan 119 +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + CTF_scoreLimit = "16"; + cdTrack = "5"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-528 -592 1040 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.500000 0.500000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet1"; + terrainFile = "SC_Ice.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + GraphFile = "Abominable.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + coverage = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "150"; + fogColor = "0.500000 0.550000 0.610000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Euro4_FrozenHope.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.88322e-37 4.27877e-38"; + high_fogVolume2 = "-1 1.71806e-36 4.28417e-38"; + high_fogVolume3 = "-1 2.01058e-37 4.28473e-38"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-130.772 -238.174 128.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + new SpawnSphere() { + position = "55.0992 -238.61 122.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-26.3799 -185.752 124.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-29.5831 -185.556 124.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-35.9685 -184.994 124.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-42.3303 -184.239 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-35.9473 -187.943 124.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-29.6043 -188.845 123.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-40.8079 -185.777 124.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-36.5105 -230.785 119.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-39.8642 -182.919 125.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-32.8798 -186.434 124.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-36.0005 -182.707 125.391"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-32.7854 -183.438 125.177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-37.8517 -181.722 125.865"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + }; + new Item(Team1FLAG1) { + position = "-37.9358 -210.355 121.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + missionType = "ctf"; + locked = "false"; + isHome = "1"; + team = "1"; + WayPoint = "5685"; + Trigger = "5686"; + Target = "33"; + originalPosition = "-37.9358 -210.355 121.448 1 0 0 0"; + className = "FlagObj"; + }; + new SimGroup(team1sensor) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team1SensorMediumPulse1) { + position = "-39.7874 -171.025 127.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "34"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-105.674 239.519 124.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + new SpawnSphere() { + position = "83.4226 280.572 122.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(team2sensor) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team2SensorMediumPulse1) { + position = "-47.713 184.264 132.125"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + damageTimeMS = "1190849"; + lastDamagedBy = "9673"; + team = "2"; + Target = "35"; + lastDamagedByTeam = "2"; + }; + }; + new Item(Team2FLAG1) { + position = "-28.5309 226.248 120.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + isHome = "1"; + team = "2"; + WayPoint = "5687"; + Trigger = "5688"; + Target = "36"; + originalPosition = "-28.5309 226.248 120.562 1 0 0 0"; + className = "FlagObj"; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-31.4498 212.025 123.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-37.3155 249.833 126.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-25.3397 207.896 122.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-28.0807 207.052 122.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-34.9283 207.254 122.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-36.6901 209.409 122.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-33.8914 210.956 122.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-27.6699 210.585 122.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-30.0978 207.349 122.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-31.3685 205.749 122.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-33.5195 208.091 121.957"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-28.7556 209.173 122.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-31.6754 208.927 122.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(TeamStationInventory1) { + position = "103.557 127.816 118.444"; + rotation = "0 0 1 111.154"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + notReady = "1"; + Trigger = "5672"; + team = "0"; + Target = "37"; + inUse = "Down"; + invincible = "1"; + }; + new StaticShape(TeamStationInventory2) { + position = "-126.198 108.819 109.365"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + notReady = "1"; + Trigger = "5674"; + team = "0"; + Target = "38"; + inUse = "Down"; + invincible = "1"; + }; + new StaticShape(TeamStationInventory3) { + position = "54.32 -89.9865 102.396"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + damageTimeMS = "1235721"; + notReady = "1"; + lastDamagedBy = "9669"; + Trigger = "5676"; + team = "0"; + Target = "39"; + inUse = "Down"; + invincible = "1"; + lastDamagedByTeam = "2"; + }; + new StaticShape(TeamStationInventory4) { + position = "-168.473 -113.101 117.845"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + notReady = "1"; + Trigger = "5678"; + team = "0"; + Target = "40"; + inUse = "Down"; + invincible = "1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ObserverDropPoint) { + position = "108.873 6.84025 180.177"; + rotation = "0.439059 0.116175 -0.890916 33.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-174.974 1.80656 162.288"; + rotation = "0.0299151 -0.126548 0.991509 153.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "111.292 -13.673 118.232"; + rotation = "0.019575 0.0190082 -0.999628 88.3379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-211.697 21.8917 120.603"; + rotation = "0.00691674 -0.00792218 0.999945 97.7557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; + new Precipitation(Precipitation) { + position = "193.937 -192.446 191.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "0.55"; + maxNumDrops = "200"; + maxRadius = "125"; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1SWShrub21) { + + new TSStatic() { + position = "244 -364 103.984"; + rotation = "0 0 1 29"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-164 -468 107.094"; + rotation = "0 0 1 209"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-36 -340 190.938"; + rotation = "0 0 1 171"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-596 52 60.8282"; + rotation = "0 0 -1 26.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "52 404 116.906"; + rotation = "0 0 1 217"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "516 -476 144.969"; + rotation = "0 0 1 88"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-612 -108 53.0624"; + rotation = "0 0 1 159"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-268 348 92.6719"; + rotation = "0 0 1 197"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-532 116 66.2656"; + rotation = "0 0 -1 34.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-492 -108 100.922"; + rotation = "0 0 -1 29"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "228 308 145.969"; + rotation = "0 0 1 174"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-316 388 109.125"; + rotation = "0 0 1 118"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "108 -268 122.672"; + rotation = "0 0 1 176"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-556 -188 54.2188"; + rotation = "0 0 1 124"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-196 52 84.3749"; + rotation = "0 0 1 195"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-476 -196 88.3281"; + rotation = "0 0 1 155"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-404 -268 145.969"; + rotation = "0 0 -1 73.0006"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "164 -4 78.0938"; + rotation = "0 0 1 206"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "332 396 125.078"; + rotation = "0 0 1 208"; + scale = "1 1 1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "220 -68 93.6718"; + rotation = "0 0 1 237"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-412 228 123.906"; + rotation = "0 0 -1 94"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "260 548 112.266"; + rotation = "0 0 1 172"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-4 -116 99.1719"; + rotation = "0 0 -1 53"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-460 -140 105.984"; + rotation = "0 0 1 130"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "508 -124 55.7969"; + rotation = "0 0 -1 70.0005"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "188 -300 109.469"; + rotation = "0 0 1 12"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "540 348 55.6563"; + rotation = "0 0 -1 14"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-108 108 108.406"; + rotation = "0 0 -1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg21.dts"; + }; + }; + new SimGroup(Addition2SWShrub21) { + + new TSStatic() { + position = "36 -172 107.625"; + rotation = "0 0 1 151"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "156 -4 78.6875"; + rotation = "0 0 1 94"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-196 -276 131.281"; + rotation = "0 0 -1 94"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "28 -164 104.937"; + rotation = "0 0 1 239"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "252 -132 103.547"; + rotation = "0 0 1 169"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-76 -228 132.109"; + rotation = "0 0 1 3.99996"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "236 -116 99.7813"; + rotation = "0 0 -1 25.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-292 -164 172.484"; + rotation = "0 0 1 141"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "148 -76 100.516"; + rotation = "0 0 -1 50.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-252 12 78.7969"; + rotation = "0 0 1 72.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "68 68 98.7187"; + rotation = "0 0 1 17"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "84 212 132.984"; + rotation = "0 0 1 188"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "132 252 134.453"; + rotation = "0 0 1 220"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-76 -36 90.5937"; + rotation = "0 0 1 127"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-212 132 117.672"; + rotation = "0 0 1 207"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-276 52 84.3124"; + rotation = "0 0 -1 85"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "204 -276 102.047"; + rotation = "0 0 1 151"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-188 252 147.516"; + rotation = "0 0 1 138"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "228 -244 100"; + rotation = "0 0 -1 64.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-196 -20 91.3437"; + rotation = "0 0 1 34"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "196 244 138.656"; + rotation = "0 0 1 231"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "228 260 151.437"; + rotation = "0 0 1 106"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-252 -68 110.703"; + rotation = "0 0 1 129"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-100 -172 119.734"; + rotation = "0 0 1 33"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-228 -252 142.828"; + rotation = "0 0 1 23"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "196 -212 114.328"; + rotation = "0 0 1 57.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "-140 124 114.922"; + rotation = "0 0 1 172"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg21.dts"; + }; + new TSStatic() { + position = "60 300 128.156"; + rotation = "0 0 -1 100"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg21.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//This part is now controled by Staticshape.ovl in evo to prevent double overrides of the StaticShapeData::damageObject - choco +// +//package SmallCrossingInvinEquip +//{ +// +//function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +//{ +// if( $CurrentMission $= "SmallCrossing" && %targetObject.invincible ) +// return; +// +// parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +//} +// +//}; +// +// Prevent package from being activated if it is already +//if (!isActivePackage(SmallCrossingInvinEquip)) +// activatePackage(SmallCrossingInvinEquip); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Lush.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Lush.mis new file mode 100644 index 00000000..98256ce9 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Lush.mis @@ -0,0 +1,1130 @@ +// DisplayName = Small Crossing (Lush) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." +// -- Albert Einstien +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1600 points to win. +//4 midfield inventories for all to use. +//Map by Spartan 119 +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "Lush"; + cdTrack = "2"; + CTF_scoreLimit = "16"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-528 -592 1040 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.500000 0.500000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SC_Lush.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Abominable.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "336 80 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.420000 0.420000 0.420000 0.000000"; + fogDistance = "150"; + fogColor = "0.520000 0.520000 0.620000 1.000000"; + fogVolume1 = "300 0 71"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky01.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "0"; + high_fogDistance = "0"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 5.45564e-34 7.24432e+22"; + high_fogVolume3 = "-1 1.07461e-38 0"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-130.772 -238.174 128.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + new SpawnSphere() { + position = "55.0992 -238.61 122.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-26.3799 -185.752 124.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-29.5831 -185.556 124.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-35.9685 -184.994 124.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-42.3303 -184.239 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-35.9473 -187.943 124.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-29.6043 -188.845 123.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-40.8079 -185.777 124.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-36.5105 -230.785 119.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-39.8642 -182.919 125.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-32.8798 -186.434 124.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-36.0005 -182.707 125.391"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-32.7854 -183.438 125.177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-37.8517 -181.722 125.865"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + }; + new Item(Team1FLAG1) { + position = "-37.9358 -210.355 121.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-37.9358 -210.355 121.448 1 0 0 0"; + team = "1"; + WayPoint = "8570"; + Trigger = "8571"; + missionType = "ctf"; + isHome = "1"; + Target = "33"; + className = "FlagObj"; + }; + new SimGroup(team1sensor) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team1SensorMediumPulse1) { + position = "-39.7874 -171.025 127.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "34"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-105.674 239.519 124.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + new SpawnSphere() { + position = "83.4226 280.572 122.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(team2sensor) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(Team2SensorMediumPulse1) { + position = "-47.713 184.264 132.325"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + lastDamagedByTeam = "2"; + team = "2"; + damageTimeMS = "1190849"; + lastDamagedBy = "9673"; + Target = "35"; + }; + }; + new Item(Team2FLAG1) { + position = "-28.5309 226.248 120.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-28.5309 226.248 120.562 1 0 0 0"; + team = "2"; + WayPoint = "8572"; + Trigger = "8573"; + isHome = "1"; + Target = "36"; + className = "FlagObj"; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-31.4498 212.025 123.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-37.3155 249.833 126.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-25.3397 207.896 122.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-28.0807 207.052 122.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-34.9283 207.254 122.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-36.6901 209.409 122.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-33.8914 210.956 122.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-27.6699 210.585 122.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-30.0978 207.349 122.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-31.3685 205.749 122.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-33.5195 208.091 121.957"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-28.7556 209.173 122.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-31.6754 208.927 122.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + providesPower = "1"; + + new StaticShape(TeamStationInventory1) { + position = "103.557 127.816 118.444"; + rotation = "0 0 1 111.154"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "8558"; + team = "0"; + notReady = "1"; + Target = "37"; + inUse = "Down"; + invincible = "1"; + }; + new StaticShape(TeamStationInventory2) { + position = "-126.198 108.819 109.365"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "8560"; + team = "0"; + notReady = "1"; + Target = "38"; + inUse = "Down"; + invincible = "1"; + }; + new StaticShape(TeamStationInventory3) { + position = "54.32 -89.9865 102.396"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + lastDamagedByTeam = "2"; + Trigger = "8562"; + team = "0"; + damageTimeMS = "1235721"; + notReady = "1"; + lastDamagedBy = "9669"; + Target = "39"; + inUse = "Down"; + invincible = "1"; + }; + new StaticShape(TeamStationInventory4) { + position = "-168.473 -113.101 117.845"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "8564"; + team = "0"; + notReady = "1"; + Target = "40"; + inUse = "Down"; + invincible = "1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ObserverDropPoint) { + position = "108.873 6.84025 180.177"; + rotation = "0.439059 0.116175 -0.890916 33.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-174.974 1.80656 162.288"; + rotation = "0.0299151 -0.126548 0.991509 153.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "111.292 -13.673 118.232"; + rotation = "0.019575 0.0190082 -0.999628 88.3379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-211.697 21.8917 120.603"; + rotation = "0.00691674 -0.00792218 0.999945 97.7557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BEPlant1) { + + new TSStatic() { + position = "444 -372 84.6624"; + rotation = "0.257253 0.235729 -0.937151 98.6919"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "212 -420 113.85"; + rotation = "0.0938962 0.20544 0.974155 81.4803"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 -508 80.8656"; + rotation = "-0.105726 0.123531 0.986692 188.881"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "276 -484 119.787"; + rotation = "-0.563779 0.184537 -0.805046 42.7759"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "60 36 90.1782"; + rotation = "0.0381316 -0.0505811 0.997992 134.083"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "388 -540 125.506"; + rotation = "-0.162234 0.211824 0.963748 154.912"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "340 -508 112.069"; + rotation = "0.0455115 -0.649687 0.758838 3.95271"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "364 364 97.7563"; + rotation = "0.330468 0.0508479 0.942447 170.573"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -308 117.35"; + rotation = "-0.372615 0.447635 0.812885 32.9082"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-500 380 84.3031"; + rotation = "-0.273124 -0.484639 -0.83098 69.5817"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -108 124.709"; + rotation = "0.211064 0.16018 0.964258 121.79"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "92 412 107.131"; + rotation = "-0.200436 0.266962 0.942633 238.082"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-116 260 126.959"; + rotation = "0.387421 0.490436 -0.780626 48.8011"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "316 220 180.272"; + rotation = "0.304935 -0.167905 0.937455 51.8516"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-364 348 100.475"; + rotation = "0.145666 0.107994 0.983422 26.4231"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244 236 132.694"; + rotation = "-0.346695 0.111916 0.931277 66.6917"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-612 292 53.725"; + rotation = "0.0506737 0.0116988 -0.998647 64.0699"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "68 236 127.709"; + rotation = "0.533184 0.823537 -0.193656 15.4002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "548 516 55.3968"; + rotation = "0.0370305 0.0134779 0.999223 219.971"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "36 -452 92.5063"; + rotation = "-0.453271 -0.235958 0.859575 62.3991"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-604 68 56.6313"; + rotation = "0.0244185 0.142222 0.989534 99.595"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 -516 92.9594"; + rotation = "0.272937 0.906166 0.32306 6.18538"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "484 52 63.0062"; + rotation = "-0.0667237 -0.314574 0.946885 36.834"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "508 -428 128.178"; + rotation = "-0.346067 0.0836279 0.934475 144.327"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 -420 111.069"; + rotation = "0.334372 0.300962 0.893094 6.71671"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + new TSStatic() { + position = "-364 356 99.7656"; + rotation = "0.055132 0.154446 0.986462 16.2167"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-228 164 123.969"; + rotation = "-0.384246 0.208131 0.899465 50.527"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "108 460 105.094"; + rotation = "0.0414772 -0.138181 0.989538 215.647"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-300 612 132.891"; + rotation = "-0.200792 -0.292396 0.93498 126.17"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "268 108 159.625"; + rotation = "-0.164702 -0.204422 0.964927 137.403"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-228 260 131.844"; + rotation = "-0.076969 0.160263 0.984069 230.288"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-156 84 105.531"; + rotation = "-0.255802 0.287052 -0.923129 107.421"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-212 148 123.906"; + rotation = "-0.783712 0.539594 0.307627 31.7514"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "540 -84 57.2031"; + rotation = "0.144671 -0.0577885 0.987791 99.6947"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 236 170.969"; + rotation = "0.335257 0.304021 0.891725 84.486"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-156 164 141.125"; + rotation = "-0.700066 -0.527536 -0.481262 32.5586"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "260 -36 78.1719"; + rotation = "0.223072 0.0822696 0.971324 101.638"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "260 -412 115.5"; + rotation = "0.0725913 0.048641 0.996175 91.2195"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-92 452 95.8593"; + rotation = "0.921138 0.155435 0.356854 27.5506"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 236 171.281"; + rotation = "0.225732 -0.229706 -0.946721 94.133"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 44 95"; + rotation = "-0.306535 0.224282 -0.925059 91.4618"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-428 -508 60.7344"; + rotation = "0.199239 0.113215 0.973389 213.145"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-204 -532 92.8125"; + rotation = "0.0717217 0.492655 -0.867264 38.8377"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-372 468 123.906"; + rotation = "-0.0582959 -0.10417 0.99285 141.258"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 -4 76.1406"; + rotation = "-0.599956 0.0986736 -0.793924 28.7467"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-324 340 117.578"; + rotation = "0.254023 -0.209168 0.94431 56.7004"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-308 532 102.922"; + rotation = "0.0342151 0.255372 0.966237 178.068"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-324 84 102.266"; + rotation = "-0.0122918 -0.317663 0.948124 169.567"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 92 101.734"; + rotation = "-0.205059 -0.24676 0.947133 77.0124"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//This part is now controled by Staticshape.ovl in evo to prevent double overrides of the StaticShapeData::damageObject - choco +// +//package SmallCrossingInvinEquip +//{ +// +//function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +//{ +// if( $CurrentMission $= "SmallCrossing" && %targetObject.invincible ) +// return; +// +// parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +//} +// +//}; +// +// Prevent package from being activated if it is already +//if (!isActivePackage(SmallCrossingInvinEquip)) +// activatePackage(SmallCrossingInvinEquip); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Night.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Night.mis new file mode 100644 index 00000000..9122602f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Night.mis @@ -0,0 +1,828 @@ +// DisplayName = Small Crossing (Night) +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." +// -- Albert Einstien +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1600 points to win. +//4 midfield inventories for all to use. +//Map by Spartan 119 +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "Lush"; + CTF_scoreLimit = "16"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-528 -592 1040 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "SC_Night.ter"; + squareSize = "8"; + + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Abominable.nav"; + coverage = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 1.000000"; + fogDistance = "150"; + fogColor = "0.000000 0.000000 0.000000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_night1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1037713472.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1037713472.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 6.94105e-41 6.95941e-41"; + high_fogVolume2 = "-1 2.01181 6.95955e-41"; + high_fogVolume3 = "-1 6.94147e-41 6.95941e-41"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-130.772 -238.174 128.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + new SpawnSphere() { + position = "55.0992 -238.61 122.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-26.3799 -185.752 124.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-29.5831 -185.556 124.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-35.9685 -184.994 124.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-42.3303 -184.239 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-35.9473 -187.943 124.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-29.6043 -188.845 123.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-40.8079 -185.777 124.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-36.5105 -230.785 119.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-39.8642 -182.919 125.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-32.8798 -186.434 124.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-36.0005 -182.707 125.391"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-32.7854 -183.438 125.177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-37.8517 -181.722 125.865"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "1"; + }; + }; + new Item(Team1FLAG1) { + position = "-37.9358 -210.355 121.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-37.9358 -210.355 121.448 1 0 0 0"; + Target = "33"; + team = "1"; + WayPoint = "15231"; + Trigger = "15232"; + isHome = "1"; + missionType = "ctf"; + className = "FlagObj"; + }; + new SimGroup(team1Sensor) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team1SensorMediumPulse1) { + position = "-39.7874 -171.025 127.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "34"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-105.674 239.519 124.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + new SpawnSphere() { + position = "83.4226 280.572 122.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(team2Sensor) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team2SensorMediumPulse1) { + position = "-47.713 184.264 132.125"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "35"; + lastDamagedByTeam = "2"; + team = "2"; + lastDamagedBy = "9673"; + damageTimeMS = "1190849"; + }; + }; + new Item(Team2FLAG1) { + position = "-28.5309 226.248 120.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "-28.5309 226.248 120.762 1 0 0 0"; + Target = "36"; + team = "2"; + WayPoint = "15233"; + Trigger = "15234"; + isHome = "1"; + className = "FlagObj"; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-31.4498 212.025 123.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-37.3155 249.833 126.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-25.3397 207.896 122.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-28.0807 207.052 122.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-34.9283 207.254 122.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-36.6901 209.409 122.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-33.8914 210.956 122.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-27.6699 210.585 122.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-30.0978 207.349 122.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-31.3685 205.749 122.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-33.5195 208.091 121.957"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-28.7556 209.173 122.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-31.6754 208.927 122.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(TeamStationInventory1) { + position = "103.557 127.816 118.444"; + rotation = "0 0 1 111.154"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "37"; + Trigger = "15216"; + team = "0"; + notReady = "1"; + invincible = "1"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory2) { + position = "-126.198 108.819 109.365"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "38"; + Trigger = "15218"; + team = "0"; + notReady = "1"; + invincible = "1"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory3) { + position = "54.32 -89.9865 102.396"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "39"; + lastDamagedByTeam = "2"; + Trigger = "15220"; + team = "0"; + notReady = "1"; + lastDamagedBy = "9669"; + damageTimeMS = "1235721"; + invincible = "1"; + inUse = "Down"; + }; + new StaticShape(TeamStationInventory4) { + position = "-168.473 -113.101 117.845"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Target = "40"; + Trigger = "15222"; + team = "0"; + notReady = "1"; + invincible = "1"; + inUse = "Down"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ObserverDropPoint) { + position = "108.873 6.84025 180.177"; + rotation = "0.439059 0.116175 -0.890916 33.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-174.974 1.80656 162.288"; + rotation = "0.0299151 -0.126548 0.991509 153.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "111.292 -13.673 118.232"; + rotation = "0.019575 0.0190082 -0.999628 88.3379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-211.697 21.8917 120.603"; + rotation = "0.00691674 -0.00792218 0.999945 97.7557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//This part is now controled by Staticshape.ovl in evo to prevent double overrides of the StaticShapeData::damageObject - choco +// +//package SmallCrossingInvinEquip +//{ +// +//function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +//{ +// if( $CurrentMission $= "SmallCrossing" && %targetObject.invincible ) +// return; +// +// parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +//} +// +//}; +// +// Prevent package from being activated if it is already +//if (!isActivePackage(SmallCrossingInvinEquip)) +// activatePackage(SmallCrossingInvinEquip); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Normal.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Normal.mis new file mode 100644 index 00000000..c57dcdb3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/SC_Normal.mis @@ -0,0 +1,828 @@ +// DisplayName = Small Crossing +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." +// -- Albert Einstien +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1600 points to win. +//4 midfield inventories for all to use. +//Map by Spartan 119 +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "Lush"; + cdTrack = "2"; + CTF_scoreLimit = "16"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-528 -592 1040 1184"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SC_Normal.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + GraphFile = "Abominable.nav"; + YDimOverSize = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "150"; + fogColor = "0.300000 0.400000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -6.19472e+29 1.46674e-27"; + high_fogVolume2 = "-1 -2.56272e-10 -2.74639e-15"; + high_fogVolume3 = "-1 -3.55975e+33 2.33385e+26"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-130.772 -238.174 128.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + new SpawnSphere() { + position = "55.0992 -238.61 122.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-26.3799 -185.752 124.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-29.5831 -185.556 124.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-35.9685 -184.994 124.694"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-42.3303 -184.239 124.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-35.9473 -187.943 124.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-29.6043 -188.845 123.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-40.8079 -185.777 124.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-36.5105 -230.785 119.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-39.8642 -182.919 125.071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-32.8798 -186.434 124.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-36.0005 -182.707 125.391"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-32.7854 -183.438 125.177"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new Item() { + position = "-37.8517 -181.722 125.865"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + }; + new Item(Team1FLAG1) { + position = "-37.9358 -210.355 121.448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "33"; + locked = "false"; + team = "1"; + WayPoint = "5697"; + Trigger = "5698"; + missionType = "ctf"; + originalPosition = "-37.9358 -210.355 121.448 1 0 0 0"; + isHome = "1"; + className = "FlagObj"; + }; + new SimGroup(team1Sensor) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team1SensorMediumPulse1) { + position = "-39.7874 -171.025 127.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + locked = "false"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-105.674 239.519 124.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + new SpawnSphere() { + position = "83.4226 280.572 122.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(team2Sensor) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(Team2SensorMediumPulse1) { + position = "-47.713 184.264 132.125"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + lastDamagedByTeam = "2"; + locked = "false"; + team = "2"; + damageTimeMS = "1190849"; + lastDamagedBy = "9673"; + }; + }; + new Item(Team2FLAG1) { + position = "-28.5309 226.248 120.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "36"; + locked = "false"; + team = "2"; + WayPoint = "5699"; + Trigger = "5700"; + originalPosition = "-28.5309 226.248 120.762 1 0 0 0"; + isHome = "1"; + className = "FlagObj"; + }; + new SimGroup(items) { + + powerCount = "0"; + + new Item() { + position = "-31.4498 212.025 123.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-37.3155 249.833 126.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-25.3397 207.896 122.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-28.0807 207.052 122.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-34.9283 207.254 122.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-36.6901 209.409 122.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-33.8914 210.956 122.046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-27.6699 210.585 122.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-30.0978 207.349 122.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SatchelCharge"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-31.3685 205.749 122.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-33.5195 208.091 121.957"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "ELFGun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-28.7556 209.173 122.669"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new Item() { + position = "-31.6754 208.927 122.883"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape(TeamStationInventory1) { + position = "103.557 127.816 118.444"; + rotation = "0 0 1 111.154"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + locked = "false"; + Trigger = "5685"; + team = "0"; + invincible = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape(TeamStationInventory2) { + position = "-126.198 108.819 109.365"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + locked = "false"; + Trigger = "5687"; + team = "0"; + invincible = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape(TeamStationInventory3) { + position = "54.32 -89.9865 102.396"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + lastDamagedByTeam = "2"; + locked = "false"; + Trigger = "5689"; + team = "0"; + damageTimeMS = "1235721"; + invincible = "1"; + inUse = "Down"; + notReady = "1"; + lastDamagedBy = "9669"; + }; + new StaticShape(TeamStationInventory4) { + position = "-168.473 -113.101 117.845"; + rotation = "0 0 -1 87.0896"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + locked = "false"; + Trigger = "5691"; + team = "0"; + invincible = "1"; + inUse = "Down"; + notReady = "1"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(ObserverDropPoint) { + position = "108.873 6.84025 180.177"; + rotation = "0.439059 0.116175 -0.890916 33.0826"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-174.974 1.80656 162.288"; + rotation = "0.0299151 -0.126548 0.991509 153.618"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "111.292 -13.673 118.232"; + rotation = "0.019575 0.0190082 -0.999628 88.3379"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(ObserverDropPoint) { + position = "-211.697 21.8917 120.603"; + rotation = "0.00691674 -0.00792218 0.999945 97.7557"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- + +//This part is now controled by Staticshape.ovl in evo to prevent double overrides of the StaticShapeData::damageObject - choco +// +//package SmallCrossingInvinEquip +//{ +// +//function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +//{ +// if( $CurrentMission $= "SmallCrossing" && %targetObject.invincible ) +// return; +// +// parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +//} +// +//}; +// +// Prevent package from being activated if it is already +//if (!isActivePackage(SmallCrossingInvinEquip)) +// activatePackage(SmallCrossingInvinEquip); diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Stripmine.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Stripmine.mis new file mode 100644 index 00000000..928c839b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/Stripmine.mis @@ -0,0 +1,1020 @@ +// DisplayName = Stripmine +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//War is to man as maternity is to woman. +// -- Benito Mussolini +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Towers are self powered +//Map by ShadowNC, Unamed (Editing: z0dd) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-1008 -1448 1920 2352"; + flightCeiling = "425"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1171.02 -454.289 800.635"; + rotation = "-0.13777 -0.662607 -0.736187 31.5425"; + scale = "1 1 1"; + direction = "0.39736 0.39736 -0.82717"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Xtra_Stripmine.ter"; + squareSize = "8"; + emptySquares = "200871 201127 201383 103080 234408 234664 169384"; + + hazeDistance = "250"; + position = "-1024 -1024 0"; + locked = "true"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "Stripmine.nav"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + locked = "true"; + YDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1304 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.700000 0.440000 0.180000 1.000000"; + fogDistance = "400"; + fogColor = "0.340000 0.150000 0.020000 1.000000"; + fogVolume1 = "325 0 150"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_dark.dml"; + windVelocity = "9 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.69896e-38 0"; + high_fogVolume2 = "-1 1.59001e+15 7.2904e-34"; + high_fogVolume3 = "-1 1.12116e-16 -2.30584e+18"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(Teams) { + + + new SimGroup(Team1) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "-164.151 -899.001 299.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + new SpawnSphere() { + position = "346.587 -862.567 395.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new Turret() { + position = "132.224 -963.844 216.618"; + rotation = "0 0 1 18.1919"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new Item() { + position = "326.906 -880.3 405.733"; + rotation = "0 0 1 197.097"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "361.078 -882.825 351.498"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + interiorFile = "xvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "328.621 -873.331 366.288"; + rotation = "0 0 1 197.097"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "326.583 -880.745 352.531"; + rotation = "0 0 1 89.9545"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "330.827 -880.803 377.517"; + rotation = "0 0 1 84.2244"; + scale = "1 1 1"; + nametag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new SimGroup(Tower0) { + + providesPower = "1"; + + new StaticShape() { + position = "-150.502 -873.415 257.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nametag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-147.708 -881.398 256.97"; + rotation = "-0 0 -1 89.3814"; + scale = "2.0697 2.7043 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + new WayPoint() { + position = "-151.18 -881.527 254.683"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new Item() { + position = "-150.047 -881.348 285.935"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-150.171 -881.3 232.417"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-150.842 -889.097 257.401"; + rotation = "0 0 1 182.956"; + scale = "1 1 1"; + nametag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "217.864 -896.969 290.592"; + rotation = "-0 0 -1 81.3605"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "238.882 -908.698 288.621"; + rotation = "0 0 1 99.6943"; + scale = "1 1 1"; + interiorFile = "xplat2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "315.378 -880.699 341.52"; + rotation = "0 0 1 88.2354"; + scale = "1 1 1"; + nametag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "330.824 -880.779 353.517"; + rotation = "0 0 1 90.5275"; + scale = "1 1 1"; + nametag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "322.217 -888.591 364.517"; + rotation = "0 0 1 221.162"; + scale = "1 1 1"; + nametag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "323.525 -873.173 364.54"; + rotation = "0 0 1 128.916"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "328.779 -873.598 364.288"; + rotation = "0 0 1 178.19"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-28.0474 -936.556 213.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new Turret() { + position = "-28.0463 -936.182 215.545"; + rotation = "0 0 -1 0.189746"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "-28.0399 -934.558 213.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "132.454 -963.176 213.672"; + rotation = "0 0 1 106.57"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new StaticShape() { + position = "360.79 -898.155 350.526"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + }; + }; + new Item() { + position = "28.6323 -1028.9 197.429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "28.6076 -1028.85 195.916"; + rotation = "-0 0 -1 0.619286"; + scale = "1 1 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "326.878 -880.288 405.113"; + rotation = "0 0 1 197.097"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + + locked = "true"; + }; + new InteriorInstance() { + position = "28.6193 -1029.1 196.495"; + rotation = "-0 0 -1 0.619286"; + scale = "1.45 1.45 1.45"; + interiorFile = "xbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "28.803 -1030.44 198.569"; + rotation = "0 0 1 89.3814"; + scale = "6 6 6"; + interiorFile = "xmisc2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(Team2) { + + + new SimGroup(spawnspheres) { + + + new SpawnSphere() { + position = "344.478 134.026 369.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "-153.863 37.4197 296.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + + new InteriorInstance() { + position = "366.332 168.023 352.845"; + rotation = "0 0 1 179.91"; + scale = "1 1 1"; + interiorFile = "xvpad.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "366.454 182.597 352.08"; + rotation = "0 0 1 0.104678"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + mobileBaseVehicle = "Removed"; + locked = "true"; + }; + new SimGroup(Tower0) { + + providesPower = "1"; + + new WayPoint() { + position = "-166.049 4.05943 250.245"; + rotation = "-0 0 -1 84.7978"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-166.081 3.77315 227.432"; + rotation = "-0 0 -1 89.3848"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-166.837 -4.07763 252.423"; + rotation = "0 0 1 181.81"; + scale = "1 1 1"; + nametag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "-166.482 11.6007 252.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nametag = "Tower"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Item() { + position = "-166.14 3.83271 280.931"; + rotation = "0 0 -1 84.7977"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "-163.552 3.90535 251.909"; + rotation = "-0 0 -1 89.3835"; + scale = "2.0697 2.7043 1"; + shapeName = "xmiscf.dts"; + + locked = "true"; + }; + }; + new StaticShape() { + position = "215.41 112.334 290.857"; + rotation = "0 0 -1 81.4748"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "237.094 101.886 288.885"; + rotation = "0 0 1 96.2571"; + scale = "1 1 1"; + interiorFile = "xplat2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new WayPoint() { + position = "328.269 155.868 395.712"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + nameTag = "Main Base"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + + locked = "true"; + }; + new InteriorInstance() { + position = "327.932 156.006 342.841"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + interiorFile = "xtowr3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "323.568 156.173 367.825"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + nametag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "332.259 163.838 354.822"; + rotation = "0 0 1 42.7891"; + scale = "1 1 1"; + nametag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "323.606 155.959 343.793"; + rotation = "-0 0 -1 89.5251"; + scale = "1 1 1"; + nametag = "Base"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new StaticShape() { + position = "339.588 155.944 331.832"; + rotation = "-0 0 -1 88.4122"; + scale = "1 1 1"; + nametag = "Main"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "331.971 149.334 354.78"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "331.083 148.5 354.735"; + rotation = "0 0 -1 90.1368"; + scale = "1 1 1"; + shapeName = "stackable4m.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "324.776 148.802 354.401"; + rotation = "0 0 1 30.7572"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + locked = "true"; + }; + new Item() { + position = "328.106 155.903 396.329"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + }; + new TSStatic() { + position = "118.649 -92.088 214.519"; + rotation = "0 0 1 184.102"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-51.1215 -66.8386 209.157"; + rotation = "0 0 -1 57.8688"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + locked = "true"; + }; + new Turret() { + position = "-50.7203 -66.2571 212.105"; + rotation = "0 0 1 213.753"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + new TSStatic() { + position = "118.499 -94.0804 214.543"; + rotation = "0 0 1 184.102"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + new Turret() { + position = "118.621 -92.4609 216.351"; + rotation = "0 0 1 183.912"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "true"; + }; + }; + new Item() { + position = "38.8237 -9.47707 197.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FLAG"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "true"; + className = "FlagObj"; + }; + new InteriorInstance() { + position = "38.6789 -7.89174 198.368"; + rotation = "-0 0 -1 86.1262"; + scale = "6 6 6"; + interiorFile = "xmisc2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "38.7492 -9.49214 195.715"; + rotation = "0 0 1 183.873"; + scale = "1 1 1"; + interiorFile = "xmisc3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "38.7571 -9.24198 196.294"; + rotation = "0 0 1 183.873"; + scale = "1.45 1.45 1.45"; + interiorFile = "xbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "335.765 145.13 333.756"; + rotation = "0 0 -1 35.5233"; + scale = "1 1.54245 1"; + shapeName = "stackable1l.dts"; + + locked = "true"; + }; + }; + new SimGroup(team0) { + + }; + }; + new SimGroup(Ambiance) { + + + new AudioEmitter(Wind) { + position = "-17.5776 -133.267 419.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/wind_sandstorm.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(MISC) { + + + new InteriorInstance() { + position = "118.29 -573.412 49.4815"; + rotation = "0 0 -1 14.8971"; + scale = "1.1698 1.16588 0.619599"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-327.55 55.7366 153.872"; + rotation = "0.864765 0.211622 -0.45541 56.5036"; + scale = "1.03119 1 1.33189"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-502.876 -181.616 164.711"; + rotation = "1 0 0 0"; + scale = "1.57109 1.71516 1.33189"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-156.191 -321.174 49.555"; + rotation = "1 0 0 0"; + scale = "1.20359 1.24819 1"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "450.351 -192.715 175.811"; + rotation = "1 0 0 0"; + scale = "1 1 1.33189"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-217.012 -569.777 209.353"; + rotation = "1 0 0 0"; + scale = "1 1 1.33189"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-379.296 113.231 151.507"; + rotation = "0 0 1 4.58708"; + scale = "0.97672 1 2.08244"; + interiorFile = "xbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-379.543 113.089 165.421"; + rotation = "-0 0 -1 84.225"; + scale = "5.44444 9.0164 5.83254"; + interiorFile = "xmisc2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "651.428 155.111 164.871"; + rotation = "-0 0 -1 82.5061"; + scale = "5.44444 9.0164 5.83254"; + interiorFile = "xmisc2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "651.679 155.245 150.957"; + rotation = "0 0 1 6.305"; + scale = "0.97672 1 2.08244"; + interiorFile = "xbrdg5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "139.893 539.777 72.1777"; + rotation = "1 0 0 0"; + scale = "1 1 1.33189"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "180.21 756.451 207.005"; + rotation = "1 0 0 0"; + scale = "1 1 0.845847"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-430.774 762.666 174.474"; + rotation = "1 0 0 0"; + scale = "1 1 1.16274"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-178.038 52.33 250.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "211.569 -69.904 257.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-432.03 -219.439 180.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-390.335 168.444 138.252"; + rotation = "1 0 0 0"; + scale = "1 1.30015 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-54.4525 -873.069 215.843"; + rotation = "1 0 0 0"; + scale = "1.40789 1.94272 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + + new Camera() { + position = "61.281 -1040.82 203.532"; + rotation = "0.146261 0.0777138 -0.986189 56.6297"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "102.793 62.865 235.727"; + rotation = "-0.0671379 -0.142343 0.987538 229.951"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/VanDamnedLT.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/VanDamnedLT.mis new file mode 100644 index 00000000..904ebfe9 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/Xtra_missions/VanDamnedLT.mis @@ -0,0 +1,469 @@ +// DisplayName = VanDamnedLT +// MissionTypes = SCtF + +//--- MISSION QUOTE BEGIN --- +//If you tell the truth, you don't have to remember anything. +//-- Mark Twain +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Map by Narcot!c. +//Thx to loach and elm. +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_scoreLimit = "8"; + musicTrack = "desert"; + CTF_timeLimit = "25"; + cdTrack = "6"; + + new MissionArea(MissionArea) { + area = "-592 -456 1200 1200"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.300000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.9"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/desertdet1"; + terrainFile = "Xtra_VanDamned.ter"; + squareSize = "8"; + emptySquares = "162128 162384 110765 176556 176812"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + coverage = "0"; + scale = "1 1 1"; + XDimOverSize = "0"; + locked = "true"; + GraphFile = "Damnation.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.900000 1.000000 0.990000 0.000000"; + fogDistance = "220"; + fogColor = "0.800000 0.800000 0.800000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -1.43368e+10 -1.4661e-07"; + high_fogVolume2 = "-1 -1.36618e+07 8.63265e+33"; + high_fogVolume3 = "-1 8.03416e+34 2.29687e+11"; + + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + }; + new SimGroup(Base0) { + + powerCount = "1"; + }; + new Item() { + position = "-298.588 -24.004 83.2435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + originalPosition = "-298.588 -24.004 83.2435 1 0 0 0"; + Target = "33"; + className = "FlagObj"; + team = "1"; + WayPoint = "5753"; + Trigger = "5754"; + }; + new SpawnSphere() { + position = "-123.135 1.02257 111.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + providePower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + new SimGroup(Base0) { + + powerCount = "0"; + }; + new SpawnSphere() { + position = "125.178 392.518 106.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new Item() { + position = "284.889 375.783 85.0173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + originalPosition = "284.889 375.783 85.0173 1 0 0 0"; + Target = "36"; + className = "FlagObj"; + searchSchedule = "10101"; + team = "2"; + WayPoint = "5755"; + Trigger = "5756"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-359.788 -42.027 114.544"; + rotation = "0.00884893 -0.00602296 0.999943 68.4848"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "354.311 395.93 118.614"; + rotation = "0 0 -1 109.045"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock(water2) { + position = "152 232 -552.927"; + rotation = "1 0 0 0"; + scale = "320 288 22.9866"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "1"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + floodFill = "1"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new WaterBlock(Water) { + position = "-400 -312 -3.72741"; + rotation = "1 0 0 0"; + scale = "256 544 86.4763"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + floodFill = "1"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new WaterBlock(Water) { + position = "128 200 49.9316"; + rotation = "1 0 0 0"; + scale = "256 512 34.7034"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.75"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + floodFill = "1"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + textureSize = "32 32"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new TSStatic() { + position = "0.776892 455.757 134.843"; + rotation = "1 0 0 0"; + scale = "1 1 1.20437"; + shapeName = "porg6.dts"; + }; + new InteriorInstance() { + position = "360.416 411.536 98.1323"; + rotation = "0 0 1 65.3172"; + scale = "1 1 1"; + interiorFile = "ruin1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "284.566 376.227 61.0071"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-364.342 -57.3132 94.0845"; + rotation = "0 0 -1 114.592"; + scale = "1 1 1"; + interiorFile = "ruin1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-298.885 -24.5969 59.2237"; + rotation = "0 1 0 0.0395647"; + scale = "1 1 1"; + interiorFile = "pplat3.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-379.622 -50.6558 89.3282"; + rotation = "0 0 1 66.4631"; + scale = "1.63546 2.59144 1"; + shapeName = "pmiscf.dts"; + }; + new TSStatic() { + position = "376.194 405.248 93.4456"; + rotation = "1 0 0 0"; + scale = "1.99395 2.44197 1"; + shapeName = "pmiscf.dts"; + }; + new InteriorInstance() { + position = "-213.659 156.779 150.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "204.909 178.165 149.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "ptowr5.dif"; + showTerrainInside = "0"; + }; + new FileObject() { + }; + new FileObject() { + }; + new Item() { + position = "357.046 396.701 94.7712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-362.236 -42.5674 90.1796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + }; + new TSStatic() { + position = "0.364928 -215.704 156.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "370.522 -166.444 114.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "-12.5035 345.664 131.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new Item() { + position = "204.527 178.004 171.102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-155.173 -69.567 106.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg6.dts"; + }; + new TSStatic() { + position = "41.3883 265.39 128.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg3.dts"; + }; + new TSStatic() { + position = "-470.071 665.919 127.195"; + rotation = "1 0 0 0"; + scale = "4.51795 3.4091 3.22469"; + shapeName = "porg6.dts"; + }; + new Item() { + position = "-213.25 156.655 172.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/Windloop2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/Windloop2.wav new file mode 100644 index 00000000..b2090936 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/Windloop2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal2.wav new file mode 100644 index 00000000..1570ac7f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal4.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal4.wav new file mode 100644 index 00000000..ff429045 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal4.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal5.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal5.wav new file mode 100644 index 00000000..22aa8646 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal5.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal6.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal6.wav new file mode 100644 index 00000000..d3a85d38 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal6.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal7.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal7.wav new file mode 100644 index 00000000..23efffa6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/alienanimal7.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/birdfrog.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/birdfrog.wav new file mode 100644 index 00000000..8e14cd0f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/birdfrog.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/SalDefenceWarning.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/SalDefenceWarning.wav new file mode 100644 index 00000000..a38f30d0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/SalDefenceWarning.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/Salbaseambience.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/Salbaseambience.wav new file mode 100644 index 00000000..f1e63cb1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/Salbaseambience.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/Salwindsand.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/Salwindsand.wav new file mode 100644 index 00000000..99469546 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/Salwindsand.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/caynonwind144k.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/caynonwind144k.wav new file mode 100644 index 00000000..0416b630 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/caynonwind144k.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnabird1.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnabird1.wav new file mode 100644 index 00000000..170971e2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnabird1.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnabird3.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnabird3.wav new file mode 100644 index 00000000..958c61d4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnabird3.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnacloseriver.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnacloseriver.wav new file mode 100644 index 00000000..1c449aa1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnacloseriver.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnacricketnight.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnacricketnight.wav new file mode 100644 index 00000000..c7da17eb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnacricketnight.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaforest1.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaforest1.wav new file mode 100644 index 00000000..4440966c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaforest1.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaforest2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaforest2.wav new file mode 100644 index 00000000..ab037910 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaforest2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnafrog.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnafrog.wav new file mode 100644 index 00000000..a004f574 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnafrog.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnagabbiano.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnagabbiano.wav new file mode 100644 index 00000000..5fff6162 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnagabbiano.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaghost.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaghost.wav new file mode 100644 index 00000000..538b8f9b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaghost.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnanightengale.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnanightengale.wav new file mode 100644 index 00000000..05f330d4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnanightengale.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano.wav new file mode 100644 index 00000000..972d7cb6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano2.wav new file mode 100644 index 00000000..4fbbfcd7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano3.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano3.wav new file mode 100644 index 00000000..df0d8346 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnaoceano3.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapanelsounds.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapanelsounds.wav new file mode 100644 index 00000000..d0cb3685 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapanelsounds.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapanelsounds2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapanelsounds2.wav new file mode 100644 index 00000000..2b9dc727 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapanelsounds2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapigeon.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapigeon.wav new file mode 100644 index 00000000..9de1e2a7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnapigeon.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnastormblows.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnastormblows.wav new file mode 100644 index 00000000..ca426221 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnastormblows.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnawolf.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnawolf.wav new file mode 100644 index 00000000..a3ac279a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnawolf.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnawolf2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnawolf2.wav new file mode 100644 index 00000000..32891606 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/dnawolf2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-boilingwater.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-boilingwater.wav new file mode 100644 index 00000000..ba215c15 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-boilingwater.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lava1.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lava1.wav new file mode 100644 index 00000000..847df239 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lava1.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lava2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lava2.wav new file mode 100644 index 00000000..5fd35970 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lava2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lavastream.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lavastream.wav new file mode 100644 index 00000000..7e61d8cc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-lavastream.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-ocean.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-ocean.wav new file mode 100644 index 00000000..c2b76169 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-ocean.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-riverfast.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-riverfast.wav new file mode 100644 index 00000000..112674d7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-riverfast.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-riverslow.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-riverslow.wav new file mode 100644 index 00000000..3bf5374b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-riverslow.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-thunder1.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-thunder1.wav new file mode 100644 index 00000000..c0bd58e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-thunder1.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-thunderaway.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-thunderaway.wav new file mode 100644 index 00000000..8add4872 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-thunderaway.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-windstream.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-windstream.wav new file mode 100644 index 00000000..dcef1484 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/sys-windstream.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/whispers.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/whispers.wav new file mode 100644 index 00000000..d7a895b7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/fx/environment/whispers.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/space_bird_3.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/space_bird_3.wav new file mode 100644 index 00000000..04a1a0ab Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/space_bird_3.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/turret_2.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/turret_2.wav new file mode 100644 index 00000000..f2f5c977 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/turret_2.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/turret_3.wav b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/turret_3.wav new file mode 100644 index 00000000..9a694134 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/audio/turret_3.wav differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_Base.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_Base.dif new file mode 100644 index 00000000..9e0328a8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_Base.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_turret.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_turret.dif new file mode 100644 index 00000000..3a0f4550 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_turret.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_vpad.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_vpad.dif new file mode 100644 index 00000000..2a86257f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Euro4_Bleed_vpad.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_magbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_magbase.dif new file mode 100644 index 00000000..fa1f25e4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_magbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_magflagstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_magflagstand.dif new file mode 100644 index 00000000..27692b3b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_magflagstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_turretstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_turretstand.dif new file mode 100644 index 00000000..749e12f8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Magellan_kab_turretstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/SpinCycle_spbase2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/SpinCycle_spbase2.dif new file mode 100644 index 00000000..d2c5e2ee Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/SpinCycle_spbase2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/TL_magnumbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/TL_magnumbase.dif new file mode 100644 index 00000000..b9792f91 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/TL_magnumbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_airtower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_airtower.dif new file mode 100644 index 00000000..51b11c27 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_airtower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_invowheel.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_invowheel.dif new file mode 100644 index 00000000..2b2bacf3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_invowheel.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_newbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_newbase.dif new file mode 100644 index 00000000..6a591fe1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_AF_newbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_MainBase_CK.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_MainBase_CK.dif new file mode 100644 index 00000000..475c8002 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_MainBase_CK.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_bunktower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_bunktower.dif new file mode 100644 index 00000000..e0692b9d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_bunktower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_tunnel.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_tunnel.dif new file mode 100644 index 00000000..f4023602 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Bastage_BT_tunnel.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_bridge.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_bridge.dif new file mode 100644 index 00000000..05d45d32 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_bridge.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_lamp.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_lamp.dif new file mode 100644 index 00000000..63a2df5e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_lamp.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_main.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_main.dif new file mode 100644 index 00000000..d01a7322 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_main.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_turret.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_turret.dif new file mode 100644 index 00000000..9ffad1a3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Caustic_tri_turret.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Crown_tri_flag.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Crown_tri_flag.dif new file mode 100644 index 00000000..57929caf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Crown_tri_flag.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Crown_tri_turret.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Crown_tri_turret.dif new file mode 100644 index 00000000..9ffad1a3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Crown_tri_turret.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_cross.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_cross.dif new file mode 100644 index 00000000..7488e271 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_cross.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_cross2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_cross2.dif new file mode 100644 index 00000000..94b2292d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_cross2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_obtower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_obtower.dif new file mode 100644 index 00000000..756d045a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_obtower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_tombstone2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_tombstone2.dif new file mode 100644 index 00000000..b08aa339 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_tombstone2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_tombstone3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_tombstone3.dif new file mode 100644 index 00000000..8ae50363 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_GraveStone_tombstone3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_Base_CK.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_Base_CK.dif new file mode 100644 index 00000000..08321447 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_Base_CK.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_BunkerA.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_BunkerA.dif new file mode 100644 index 00000000..4da11c3c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_BunkerA.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_Flagstand_mk2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_Flagstand_mk2.dif new file mode 100644 index 00000000..959bba16 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_Flagstand_mk2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_TurretPillar.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_TurretPillar.dif new file mode 100644 index 00000000..55278c65 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_HM_TurretPillar.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dbase_ccb1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dbase_ccb1.dif new file mode 100644 index 00000000..4181b4f0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dbase_ccb1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dmisc_int_fstand_old.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dmisc_int_fstand_old.dif new file mode 100644 index 00000000..ce73e901 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dmisc_int_fstand_old.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dwall_ccb1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dwall_ccb1.dif new file mode 100644 index 00000000..2f07fde6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Hellfire_dwall_ccb1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1.dif new file mode 100644 index 00000000..a34a2b84 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod2a.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod2a.dif new file mode 100644 index 00000000..63b3a212 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod2a.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod3.dif new file mode 100644 index 00000000..29831270 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod4.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod4.dif new file mode 100644 index 00000000..9cd4a11e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_base1_mod4.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_bridge1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_bridge1.dif new file mode 100644 index 00000000..2cb8e7fa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_bridge1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_bridge2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_bridge2.dif new file mode 100644 index 00000000..856907cf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_bridge2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_platform2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_platform2.dif new file mode 100644 index 00000000..420edac3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Insurgence_ccb_bd_platform2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salgenroom2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salgenroom2.dif new file mode 100644 index 00000000..124f0fb5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salgenroom2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salproj1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salproj1.dif new file mode 100644 index 00000000..710a33af Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salproj1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salturretsus1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salturretsus1.dif new file mode 100644 index 00000000..5127de29 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_salturretsus1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slblocks.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slblocks.dif new file mode 100644 index 00000000..d28d0de9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slblocks.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slinvstat.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slinvstat.dif new file mode 100644 index 00000000..c282a9ad Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slinvstat.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slremo2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slremo2.dif new file mode 100644 index 00000000..f837badb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slremo2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slsusbr1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slsusbr1.dif new file mode 100644 index 00000000..69e94253 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slsusbr1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slvehramp1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slvehramp1.dif new file mode 100644 index 00000000..dfe4340e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Malignant_slvehramp1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif new file mode 100644 index 00000000..85c98e39 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ProjectX_tunneloflove.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ProjectX_tunneloflove.dif new file mode 100644 index 00000000..eebd631e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ProjectX_tunneloflove.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridge4.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridge4.dif new file mode 100644 index 00000000..702b04cd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridge4.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridge4b.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridge4b.dif new file mode 100644 index 00000000..6484d82c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridge4b.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridgeh4b.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridgeh4b.dif new file mode 100644 index 00000000..a70e65d2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepbridgeh4b.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepsab3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepsab3.dif new file mode 100644 index 00000000..9730391a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepsab3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepsab4.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepsab4.dif new file mode 100644 index 00000000..688eb264 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_SR_eepsab4.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Torrent_kif_bigbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Torrent_kif_bigbase.dif new file mode 100644 index 00000000..e62c8ee1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Torrent_kif_bigbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Torrent_kif_torrent_turret_tower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Torrent_kif_torrent_turret_tower.dif new file mode 100644 index 00000000..d3f7241d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Torrent_kif_torrent_turret_tower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_attackgate.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_attackgate.dif new file mode 100644 index 00000000..9d5129fc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_attackgate.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_base.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_base.dif new file mode 100644 index 00000000..548ff27d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_base.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_gate.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_gate.dif new file mode 100644 index 00000000..03203fa7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_gate.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_guntower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_guntower.dif new file mode 100644 index 00000000..c4b14438 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_guntower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_medtower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_medtower.dif new file mode 100644 index 00000000..d07d5e0a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_medtower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_vpad.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_vpad.dif new file mode 100644 index 00000000..9e87c923 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Vestige_vpad.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_Flagstand_CK.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_Flagstand_CK.dif new file mode 100644 index 00000000..5de96553 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_Flagstand_CK.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_GenBase_CK.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_GenBase_CK.dif new file mode 100644 index 00000000..4668cd20 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_GenBase_CK.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_Turret_CK.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_Turret_CK.dif new file mode 100644 index 00000000..3f863a56 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_WSol_Turret_CK.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_Turret.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_Turret.dif new file mode 100644 index 00000000..6564308d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_Turret.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_Turret2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_Turret2.dif new file mode 100644 index 00000000..2db315ff Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_Turret2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_proto.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_proto.dif new file mode 100644 index 00000000..79b8ad4d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_Xerxes_proto.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ZV_bbunk_ccb1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ZV_bbunk_ccb1.dif new file mode 100644 index 00000000..c94eb47f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ZV_bbunk_ccb1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ZV_ccb_be_spire1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ZV_ccb_be_spire1.dif new file mode 100644 index 00000000..87c7c391 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ZV_ccb_be_spire1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_infernoflagstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_infernoflagstand.dif new file mode 100644 index 00000000..12a47b62 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_infernoflagstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_stormflagstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_stormflagstand.dif new file mode 100644 index 00000000..aa9c2671 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_stormflagstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_tower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_tower.dif new file mode 100644 index 00000000..e0369d86 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_tower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_vbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_vbase.dif new file mode 100644 index 00000000..9a9bbb7d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_attrition_vbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_beachchair01.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_beachchair01.dif new file mode 100644 index 00000000..e3fa1350 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_beachchair01.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_dmisc_-nefflagstand1_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_dmisc_-nefflagstand1_x2.dif new file mode 100644 index 00000000..f455c09a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_dmisc_-nefflagstand1_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ghostdance_proto.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ghostdance_proto.dif new file mode 100644 index 00000000..a0a605e0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_ghostdance_proto.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_base01.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_base01.dif new file mode 100644 index 00000000..ff927ebc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_base01.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_bunker01.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_bunker01.dif new file mode 100644 index 00000000..9d72a5a0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_bunker01.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_stand01.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_stand01.dif new file mode 100644 index 00000000..40478792 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_stand01.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_tower01.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_tower01.dif new file mode 100644 index 00000000..d28cc121 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_imperium_tower01.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_bridge.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_bridge.dif new file mode 100644 index 00000000..2ef32906 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_bridge.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_bridge_tunnel.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_bridge_tunnel.dif new file mode 100644 index 00000000..d20c636f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_bridge_tunnel.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_lush_mainbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_lush_mainbase.dif new file mode 100644 index 00000000..b07dd2ef Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_lush_mainbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_rip.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_rip.dif new file mode 100644 index 00000000..6f390d55 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_rip.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_xing.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_xing.dif new file mode 100644 index 00000000..f5c37684 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_metaltanks_xing.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_rst_transitbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_rst_transitbase.dif new file mode 100644 index 00000000..8d25eac2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_rst_transitbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_rst_transitstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_rst_transitstand.dif new file mode 100644 index 00000000..6c8349bf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_rst_transitstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_t_base0.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_t_base0.dif new file mode 100644 index 00000000..91006d74 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/Xtra_t_base0.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_cardiacturret.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_cardiacturret.dif new file mode 100644 index 00000000..ac567734 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_cardiacturret.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipebunker.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipebunker.dif new file mode 100644 index 00000000..5ce487fe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipebunker.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-badlands.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-badlands.dif new file mode 100644 index 00000000..f9e8b412 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-badlands.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-beach.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-beach.dif new file mode 100644 index 00000000..30725466 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-beach.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-desert.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-desert.dif new file mode 100644 index 00000000..461aeab5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-desert.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-ice.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-ice.dif new file mode 100644 index 00000000..0282773b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-ice.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-lava.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-lava.dif new file mode 100644 index 00000000..b40531ff Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2-lava.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2.dif new file mode 100644 index 00000000..10f2479e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/anthem_pipestand2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_-nef_flagstand1_x.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_-nef_flagstand1_x.dif new file mode 100644 index 00000000..721f6c2d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_-nef_flagstand1_x.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_-nef_flagstand1_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_-nef_flagstand1_x2.dif new file mode 100644 index 00000000..721f6c2d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_-nef_flagstand1_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_neftrstand1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_neftrstand1.dif new file mode 100644 index 00000000..f1acd8b5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmisc_neftrstand1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_bridge0.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_bridge0.dif new file mode 100644 index 00000000..1243e9b8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_bridge0.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_bunker1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_bunker1.dif new file mode 100644 index 00000000..b129f65c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_bunker1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruina.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruina.dif new file mode 100644 index 00000000..25467bee Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruina.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinb.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinb.dif new file mode 100644 index 00000000..dc17e841 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinb.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinc.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinc.dif new file mode 100644 index 00000000..9871df97 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinc.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruind.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruind.dif new file mode 100644 index 00000000..22295403 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruind.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruine.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruine.dif new file mode 100644 index 00000000..f44111e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruine.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinf.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinf.dif new file mode 100644 index 00000000..da99abe0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinf.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruing.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruing.dif new file mode 100644 index 00000000..ebaa8904 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruing.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinh.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinh.dif new file mode 100644 index 00000000..4d98cd8c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruinh.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruini.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruini.dif new file mode 100644 index 00000000..4fb6b521 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_ruini.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_tower1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_tower1.dif new file mode 100644 index 00000000..d791ad63 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_tower1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_tower2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_tower2.dif new file mode 100644 index 00000000..f50392ed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/bmiscpan_tower2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/btf_turretplatform_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/btf_turretplatform_x2.dif new file mode 100644 index 00000000..dd66956d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/btf_turretplatform_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/btowr5-Lava.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/btowr5-Lava.dif new file mode 100644 index 00000000..f17e1882 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/btowr5-Lava.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/cctower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/cctower.dif new file mode 100644 index 00000000..69db1d7f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/cctower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase1_x.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase1_x.dif new file mode 100644 index 00000000..9c9c2799 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase1_x.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase1_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase1_x2.dif new file mode 100644 index 00000000..9c9c2799 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase1_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase2_x.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase2_x.dif new file mode 100644 index 00000000..4287894b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase2_x.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase2_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase2_x2.dif new file mode 100644 index 00000000..4287894b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbase_-nefbase2_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbunk_rf04.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbunk_rf04.dif new file mode 100644 index 00000000..19f4f3ba Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dbunk_rf04.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dmisc_-nefflagstand1_x.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dmisc_-nefflagstand1_x.dif new file mode 100644 index 00000000..f455c09a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dmisc_-nefflagstand1_x.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dmisc_-nefflagstand1_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dmisc_-nefflagstand1_x2.dif new file mode 100644 index 00000000..f455c09a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dmisc_-nefflagstand1_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dtowr_classic1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dtowr_classic1.dif new file mode 100644 index 00000000..2e9ebcc4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/dtowr_classic1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/idmiddle.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/idmiddle.dif new file mode 100644 index 00000000..62f618b7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/idmiddle.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_flagbase06.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_flagbase06.dif new file mode 100644 index 00000000..78a55b07 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_flagbase06.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_plat6.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_plat6.dif new file mode 100644 index 00000000..b894d0e3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_plat6.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_sensor12.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_sensor12.dif new file mode 100644 index 00000000..46508c84 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/inf_butch_lava_sensor12.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousfs.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousfs.dif new file mode 100644 index 00000000..d27ac411 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousfs.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousinv.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousinv.dif new file mode 100644 index 00000000..3d10c2a1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousinv.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousplat1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousplat1.dif new file mode 100644 index 00000000..f2a6aba3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereousplat1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereoustt.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereoustt.dif new file mode 100644 index 00000000..ff611ceb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/kif_cinereoustt.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rail1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rail1.dif new file mode 100644 index 00000000..aa3b8b06 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rail1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_bombscare_flagstand_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_bombscare_flagstand_x2.dif new file mode 100644 index 00000000..5275a089 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_bombscare_flagstand_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_ctm1_sensorbunker1_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_ctm1_sensorbunker1_x2.dif new file mode 100644 index 00000000..b9b6a89c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_ctm1_sensorbunker1_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_ctm1_sensorbunker2_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_ctm1_sensorbunker2_x2.dif new file mode 100644 index 00000000..341a8662 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_ctm1_sensorbunker2_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bridge2_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bridge2_x2.dif new file mode 100644 index 00000000..06dbac9f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bridge2_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bridgebase1_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bridgebase1_x2.dif new file mode 100644 index 00000000..fbf0a8ef Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bridgebase1_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bunker2_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bunker2_x2.dif new file mode 100644 index 00000000..3b992d6e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_bunker2_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_platform2_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_platform2_x2.dif new file mode 100644 index 00000000..8edbe3d8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_platform2_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_platform3_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_platform3_x2.dif new file mode 100644 index 00000000..8edbe3d8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_platform3_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif new file mode 100644 index 00000000..474c2ef8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_towerbunker2_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_vehiclepad_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_vehiclepad_x2.dif new file mode 100644 index 00000000..65469f36 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rilke_whitedwarf_vehiclepad_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceBase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceBase.dif new file mode 100644 index 00000000..a444944c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceBase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceBase2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceBase2.dif new file mode 100644 index 00000000..26725bf3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceBase2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceStand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceStand.dif new file mode 100644 index 00000000..750a0bed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_FaceStand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEbase.dif new file mode 100644 index 00000000..cef44a73 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part1.dif new file mode 100644 index 00000000..196b69c3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part2.dif new file mode 100644 index 00000000..06f32286 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part3.dif new file mode 100644 index 00000000..063fabbd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave1_part3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave2.dif new file mode 100644 index 00000000..7a0c4e0d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEcave2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEtower.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEtower.dif new file mode 100644 index 00000000..818c4062 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SEtower.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SimpleFlagArena.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SimpleFlagArena.dif new file mode 100644 index 00000000..8bd6a272 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_SimpleFlagArena.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_agroleonbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_agroleonbase.dif new file mode 100644 index 00000000..1729e0f4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_agroleonbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_agroleonstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_agroleonstand.dif new file mode 100644 index 00000000..c0c0f89f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_agroleonstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_arenalight.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_arenalight.dif new file mode 100644 index 00000000..ae752a67 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_arenalight.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_astro_bunker.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_astro_bunker.dif new file mode 100644 index 00000000..06389d1c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_astro_bunker.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_astro_stand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_astro_stand.dif new file mode 100644 index 00000000..9c0f2716 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_astro_stand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_barrier1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_barrier1.dif new file mode 100644 index 00000000..04138516 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_barrier1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_barrier2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_barrier2.dif new file mode 100644 index 00000000..58c9ff2d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_barrier2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_beagleship.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_beagleship.dif new file mode 100644 index 00000000..ac184e99 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_beagleship.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbase.dif new file mode 100644 index 00000000..f016da20 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker.dif new file mode 100644 index 00000000..7d2911a9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker2.dif new file mode 100644 index 00000000..f369bd2f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker3.dif new file mode 100644 index 00000000..487dda21 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterbunker3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterstand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterstand.dif new file mode 100644 index 00000000..25a236a8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_bitterstand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_debris1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_debris1.dif new file mode 100644 index 00000000..14a9f9cd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_debris1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_debris2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_debris2.dif new file mode 100644 index 00000000..d28d201a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_debris2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building1.dif new file mode 100644 index 00000000..790ec9fd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building2.dif new file mode 100644 index 00000000..aac766c9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building3.dif new file mode 100644 index 00000000..37e63ff8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building4.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building4.dif new file mode 100644 index 00000000..5b7f64d0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building4.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building5.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building5.dif new file mode 100644 index 00000000..58e508e3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building5.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building6.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building6.dif new file mode 100644 index 00000000..3603d7a3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building6.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building7.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building7.dif new file mode 100644 index 00000000..807d2331 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building7.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building8.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building8.dif new file mode 100644 index 00000000..6f5aabe3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_building8.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_citybase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_citybase.dif new file mode 100644 index 00000000..fe03904b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_citybase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_citybridge.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_citybridge.dif new file mode 100644 index 00000000..1a11530a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_citybridge.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_midfield.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_midfield.dif new file mode 100644 index 00000000..ae76c1bf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_derm_midfield.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_islebase.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_islebase.dif new file mode 100644 index 00000000..71281c3f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_islebase.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_islebase2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_islebase2.dif new file mode 100644 index 00000000..df38b9e1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_islebase2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lighthouse.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lighthouse.dif new file mode 100644 index 00000000..39eb9dfd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lighthouse.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_flagplat.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_flagplat.dif new file mode 100644 index 00000000..a6a265f1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_flagplat.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle1.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle1.dif new file mode 100644 index 00000000..bd45861a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle1.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle10.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle10.dif new file mode 100644 index 00000000..29c9ce41 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle10.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle2.dif new file mode 100644 index 00000000..16d13c53 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle3.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle3.dif new file mode 100644 index 00000000..42da5c5a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle3.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle4.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle4.dif new file mode 100644 index 00000000..486dc1d0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle4.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle5.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle5.dif new file mode 100644 index 00000000..d049013d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle5.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle6.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle6.dif new file mode 100644 index 00000000..eb566a49 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle6.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle7.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle7.dif new file mode 100644 index 00000000..f1ecec9b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle7.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle8.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle8.dif new file mode 100644 index 00000000..53874e77 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle8.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle9.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle9.dif new file mode 100644 index 00000000..b7d3f47c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_floatingisle9.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_rock2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_rock2.dif new file mode 100644 index 00000000..5e1231a5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_lush_rock2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_newlighthouse.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_newlighthouse.dif new file mode 100644 index 00000000..0ef6c139 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_newlighthouse.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_padbottom.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_padbottom.dif new file mode 100644 index 00000000..a4fa21e5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_padbottom.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_padbottom2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_padbottom2.dif new file mode 100644 index 00000000..21251764 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_padbottom2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_pipedream.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_pipedream.dif new file mode 100644 index 00000000..3a2628fc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_pipedream.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_spit_base.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_spit_base.dif new file mode 100644 index 00000000..6f0f9b6a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_spit_base.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_spit_stand.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_spit_stand.dif new file mode 100644 index 00000000..2bc3bab4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/rst_spit_stand.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/tes_flagbase_x2.dif b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/tes_flagbase_x2.dif new file mode 100644 index 00000000..448c27ec Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/interiors/tes_flagbase_x2.dif differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Agroleon.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Agroleon.mis new file mode 100644 index 00000000..5c06e9e4 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Agroleon.mis @@ -0,0 +1,1910 @@ +// DisplayName = DMP-Agroleon +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//The truth is you're the weak. And I'm the tyranny of evil men. +//But I'm tryin', Ringo. I'm tryin' real hard to be the shepherd. +// -- Jules from Pulp Fiction +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Bunch 'o bowls. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + musicTrack = "ice"; + cdTrack = "2"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-936 -848 1888 1680"; + flightCeiling = "3500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.919145 0 -0.393919"; + color = "0.900000 0.860000 0.860000 1.000000"; + ambient = "0.550000 0.550000 0.490000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "rst_agroleon.ter"; + squareSize = "8"; + emptySquares = "355643 355899 356155 356411 356667 356923 357179 357435 297920 298176 298432 298688 298944 299200"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + GraphFile = "Equinox.nav"; + locked = "true"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + coverage = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "800"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "1.000000 1.000000 1.000000 1.000000"; + fogDistance = "700"; + fogColor = "0.250000 0.370000 0.420000 0.100000"; + fogVolume1 = "600 0 200"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lush_ram.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -6.14964"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team1) { + + powerCount = "0"; + + new SimGroup(base) { + + powerCount = "2"; + + new StaticShape() { + position = "-544.439 -121.619 43.1653"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + lastDamagedByTeam = "1"; + team = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "88190"; + wasDisabled = "1"; + }; + new StaticShape() { + position = "-522.839 -121.619 43.1653"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + lastDamagedByTeam = "1"; + team = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "98974"; + wasDisabled = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-466.438 -151.039 49.0552"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-465.257 -150.011 58.7513"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "35"; + lastDamagedByTeam = "2"; + team = "1"; + lastDamagedBy = "15197"; + lastProjectile = "10939"; + damageTimeMS = "4668478"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new Item() { + position = "-374.65 -110.098 58.6726"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + className = "FlagObj"; + Target = "36"; + team = "1"; + WayPoint = "13193"; + Trigger = "13194"; + originalPosition = "-374.65 -110.098 58.6726 0 0 1 1.5708"; + }; + new Turret() { + position = "-533.903 -155.449 57.9314"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "37"; + team = "1"; + }; + new StaticShape() { + position = "-545.52 -155.378 58.8505"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "38"; + Trigger = "12980"; + team = "1"; + }; + new StaticShape() { + position = "-521.52 -155.378 58.8505"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "39"; + Trigger = "12982"; + team = "1"; + }; + new TSStatic() { + position = "-528.475 -121.465 42.4443"; + rotation = "0 0 1 209.221"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-528.475 -122.865 42.4443"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new StaticShape() { + position = "-545.52 -87.3782 58.8505"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "40"; + Trigger = "12986"; + team = "1"; + }; + new StaticShape() { + position = "-521.52 -87.3782 58.8505"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "41"; + Trigger = "12988"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-533.71 -121.539 50.3991"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_agroleonbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-480.609 -27.4755 90.1976"; + rotation = "-0 0 -1 68.182"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "1"; + }; + new InteriorInstance() { + position = "-480.665 -27.3542 80.6725"; + rotation = "-0 0 -1 68.182"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-533.561 -128.204 50.5216"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "43"; + Trigger = "12993"; + team = "1"; + }; + new StaticShape() { + position = "-533.561 -114.804 50.5216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "44"; + Trigger = "12995"; + team = "1"; + }; + new Item() { + position = "-551.007 -121.484 58.8681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + new TSStatic() { + position = "-538.398 -122.282 42.3042"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-538.486 -122.264 44.0792"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new Item() { + position = "-533.692 -96.227 67.3604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new TSStatic() { + position = "-528.475 -120.065 42.4443"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new Turret() { + position = "-533.903 -87.6485 57.9314"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "45"; + team = "1"; + lastProjectile = "6380"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-374.721 -110.154 64.6528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_agroleonstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-441.646 -124.402 35.8431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "34"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-484.68 -214.92 63.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-500.464 -25.8043 46.4445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new TSStatic() { + position = "-562.267 -31.3051 40.8459"; + rotation = "0 0 -1 54.431"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-531.771 -240.665 78.3381"; + rotation = "0 0 1 47.5555"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-523.55 -267.887 77.7722"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-554.752 -33.8381 41.3611"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-595.193 -61.3147 42.147"; + rotation = "0 0 1 49.2744"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-455.236 -179.84 55.917"; + rotation = "0 0 -1 12.0321"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-503.66 52.1846 64.4953"; + rotation = "0 0 -1 18.9076"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new Item() { + position = "-556.617 -33.5415 45.4225"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-551.903 -34.0894 45.6227"; + rotation = "0 0 1 237.296"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-562.61 -30.7161 44.957"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-503.907 52.6477 68.0035"; + rotation = "0 0 1 159.374"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-453.784 -181.004 59.993"; + rotation = "0 0 1 120.985"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-455.834 -178.574 60.2064"; + rotation = "0 0 -1 114.683"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-523.345 -267.85 81.9222"; + rotation = "0 0 -1 57.3869"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-593.432 -61.6338 46.1982"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-597.021 -61.3053 46.1982"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new WayPoint() { + position = "-551.014 -121.497 59.1562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + }; + new SimGroup(team0) { + + powerCount = "0"; + + new TSStatic() { + position = "4 -0.2 78.4501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + + team = "0"; + }; + }; + new SimGroup(team2) { + + powerCount = "0"; + + new SimGroup(base) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "472.665 19.3542 80.6725"; + rotation = "0 0 1 111.818"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "472.609 19.4755 90.1976"; + rotation = "0 0 1 111.818"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "2"; + }; + new Item() { + position = "525.692 139.227 67.3604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "536.439 113.619 43.1653"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "2"; + }; + new StaticShape() { + position = "514.839 113.619 43.1653"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + team = "2"; + }; + new StaticShape() { + position = "513.52 79.3782 58.8505"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "49"; + Trigger = "13034"; + team = "2"; + }; + new StaticShape() { + position = "537.52 79.3782 58.8505"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "50"; + Trigger = "13036"; + team = "2"; + }; + new StaticShape() { + position = "537.52 147.378 58.8505"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "51"; + Trigger = "13038"; + team = "2"; + }; + new StaticShape() { + position = "513.52 147.378 58.8505"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + Trigger = "13040"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "525.71 113.539 50.3991"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "rst_agroleonbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "458.438 143.039 49.0552"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "457.257 142.011 58.7513"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "53"; + lastDamagedByTeam = "2"; + team = "2"; + lastDamagedBy = "15197"; + lastProjectile = "10796"; + damageTimeMS = "4668478"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new Turret() { + position = "525.903 79.6485 57.9314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "54"; + team = "2"; + lastProjectile = "19713"; + }; + new Turret() { + position = "525.903 147.449 57.9314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "55"; + team = "2"; + lastProjectile = "19709"; + }; + new TSStatic() { + position = "520.475 112.065 42.4443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "520.569 113.441 42.4443"; + rotation = "0 0 1 28.075"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "520.475 114.865 42.4443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "530.398 114.282 42.3042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "530.486 114.264 44.0792"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "2"; + }; + new StaticShape() { + position = "525.561 120.204 50.5216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "56"; + Trigger = "13052"; + team = "2"; + }; + new StaticShape() { + position = "525.561 106.804 50.5216"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "57"; + Trigger = "13054"; + team = "2"; + }; + new Item() { + position = "543.007 113.484 59.0681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "366.721 102.154 64.6528"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_agroleonstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "366.65 102.098 58.6726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + className = "FlagObj"; + Target = "58"; + searchSchedule = "21840"; + team = "2"; + WayPoint = "13195"; + Trigger = "13196"; + originalPosition = "366.65 102.098 58.6726 1 0 0 0"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "492.157 13.6552 65.4928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "442.347 94.9744 33.4016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "34"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "457.133 184.667 65.5876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "33"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new TSStatic() { + position = "523.771 232.665 78.3381"; + rotation = "0 0 1 227.555"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "515.55 259.887 77.7722"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "587.193 53.3147 42.147"; + rotation = "0 0 1 229.274"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "554.267 23.3051 40.8459"; + rotation = "0 0 1 125.569"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "546.752 25.8381 41.3611"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "495.66 -60.1846 63.6953"; + rotation = "0 0 1 161.092"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "447.236 171.84 55.917"; + rotation = "0 0 1 167.968"; + scale = "2 2 2"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new Item() { + position = "548.617 25.5415 45.4225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "543.903 26.0894 45.6227"; + rotation = "0 0 1 57.2958"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "554.61 22.7161 44.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "495.907 -60.6477 68.0035"; + rotation = "0 0 -1 20.6265"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "445.784 173.004 59.993"; + rotation = "0 0 -1 59.0147"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "447.834 170.574 60.2064"; + rotation = "0 0 1 65.3172"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "515.345 259.85 81.9222"; + rotation = "0 0 1 122.613"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "585.432 53.6338 46.1982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "589.021 53.3053 46.1982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new WayPoint() { + position = "543.014 113.497 59.1562"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + }; + }; + new SimGroup(trees) { + + powerCount = "0"; + + new TSStatic() { + position = "-170.945 49.0446 102.926"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-661.286 51.8698 58.1227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-601.505 -160.483 49.2754"; + rotation = "0 0 1 48.7012"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-385.727 -542.129 63.1714"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-563.81 -811.684 146.517"; + rotation = "0 0 1 202.437"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-273.544 -217.354 124.917"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "-375.683 -26.7561 25.7094"; + rotation = "0 0 -1 68.182"; + scale = "5 5 5"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-507.128 452.89 55.0442"; + rotation = "0 0 1 141.13"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-234.378 -475.534 4.43601"; + rotation = "0 0 1 114.019"; + scale = "2.1 2.1 2.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-201.238 -763.158 91.596"; + rotation = "1 0 0 0"; + scale = "2.75 2.75 2.75"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-1169.03 397.601 109.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-818.351 -164.14 39.6167"; + rotation = "0 0 1 237.96"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-804.608 212.376 38.7597"; + rotation = "0 0 1 159.465"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-1040.73 -12.8545 44.0489"; + rotation = "0 0 -1 19.4805"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-387.272 -275.881 86.1501"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(trees2) { + + powerCount = "0"; + + new TSStatic() { + position = "162.945 -57.0446 101.526"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "653.286 -59.8698 52.1227"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "593.505 152.483 53.0754"; + rotation = "0 0 1 228.701"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "377.727 534.129 63.1714"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "555.81 803.684 146.517"; + rotation = "0 0 1 22.437"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "265.544 209.354 124.917"; + rotation = "0 0 1 180"; + scale = "0.6 0.6 0.6"; + shapeName = "borg19.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "367.683 18.7561 25.7094"; + rotation = "-0 -0 1 111.818"; + scale = "5 5 5"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "499.128 -460.89 55.0442"; + rotation = "0 0 -1 38.87"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "226.378 467.534 4.43601"; + rotation = "0 0 -1 65.9813"; + scale = "2.1 2.1 2.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "193.238 755.158 91.596"; + rotation = "0 0 1 180"; + scale = "2.75 2.75 2.75"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "1161.03 -405.601 109.072"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "810.351 156.14 39.6167"; + rotation = "0 0 1 57.9598"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "796.608 -220.376 25.9597"; + rotation = "0 0 -1 20.535"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "1032.73 4.8545 39.4489"; + rotation = "0 0 1 160.52"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "379.272 267.881 86.1501"; + rotation = "0 0 -1 65.8901"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "285.876 -78.4286 93.4759"; + rotation = "0 0 1 38.3881"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "508.727 104.929 48.4642"; + rotation = "0 0 1 69.2366"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-516.981 -253.768 95.8514"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-384.678 -120.512 66.1945"; + rotation = "0 0 1 45.2636"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-516.727 -112.929 48.4642"; + rotation = "0 0 1 236.059"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-293.876 70.4286 93.4759"; + rotation = "0 0 1 214.378"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "508.981 245.768 95.8514"; + rotation = "0 0 1 194.897"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "376.678 112.512 66.1945"; + rotation = "0 0 1 222.971"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "108 -148 25.9531"; + rotation = "-0.344633 0.00566621 -0.93872 53.8712"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "788 -36 23.5625"; + rotation = "0.0650776 -0.291358 0.954398 43.8205"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "156 -276 64.6718"; + rotation = "0.145082 -0.114617 -0.982758 56.8302"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 508 12.4532"; + rotation = "0.061776 0.994848 -0.0803857 12.3933"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "788 68 16.3437"; + rotation = "0.0671791 0.0280899 -0.997345 68.1413"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "52 468 52.2812"; + rotation = "-0.304612 0.00327326 -0.952471 104.714"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "692 -36 35.0313"; + rotation = "0.356097 -0.853824 0.379711 25.95"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "524 36 44.9844"; + rotation = "0.0784921 0.0667281 0.994679 232.757"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 92 39.1719"; + rotation = "-0.0323706 -0.027151 0.999107 84.0512"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "100 44 94.2188"; + rotation = "0.387408 0.151801 0.909325 106.29"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "756 -180 25.7656"; + rotation = "-0.0893153 -0.00418391 0.995995 118.203"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "588 284 72.4688"; + rotation = "-0.434873 -0.883831 0.172419 28.4201"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "236 60 20.1563"; + rotation = "-0.081318 0.0569759 0.995058 161.092"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "700 20 35.3906"; + rotation = "-0.269947 -0.42888 0.862085 57.91"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "420 148 29.4219"; + rotation = "-0.354183 0.00545231 0.93516 95.8312"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "692 236 13.3594"; + rotation = "0.138093 0.224944 0.964536 131.567"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-780 -140 19.125"; + rotation = "0.103279 0.0212258 0.994426 161.104"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 44 114.672"; + rotation = "0.64683 -0.185056 -0.739842 43.6395"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-124 -212 119.437"; + rotation = "0.724455 -0.0322505 -0.688567 41.1711"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-132 276 65.2344"; + rotation = "-0.109638 -0.146362 0.983137 81.9639"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-196 -460 25.6719"; + rotation = "-0.203418 -0.234309 0.950642 191.411"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-92 -228 129.187"; + rotation = "0.255183 -0.0530715 -0.965435 56.6678"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-692 -116 40.5625"; + rotation = "0.12787 -0.014895 0.991679 165.123"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 -220 125.438"; + rotation = "0.100609 0.215047 0.971408 97.6514"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-132 -116 48.5625"; + rotation = "-0.298321 0.286274 0.910523 85.3243"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-628 -108 42.3281"; + rotation = "0.98702 0.0760509 -0.14145 27.7363"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-708 -20 33.0781"; + rotation = "0.0481987 0.554078 0.831068 39.2347"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-580 -92 39"; + rotation = "0.122 -0.0179729 0.992367 16.1215"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-436 -388 66.7031"; + rotation = "0.514675 -0.600333 0.612135 30.5794"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-844 100 15.9531"; + rotation = "0.673138 0.18836 -0.715126 31.7619"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-132 44 114.047"; + rotation = "0.59683 0.172184 0.783675 54.547"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-124 -268 115.125"; + rotation = "-0.388198 0.0512713 0.920149 64.2131"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition3BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "132 228 118.734"; + rotation = "0.213226 -0.649186 -0.730132 31.1411"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 -284 64.8281"; + rotation = "0.0740414 -0.128418 0.988952 195.826"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 -76 24.3126"; + rotation = "0.803381 -0.388203 0.451527 15.4283"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-348 180 57.8437"; + rotation = "0.00611253 -0.244012 0.969753 229.645"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-164 -340 50.7188"; + rotation = "-0.473889 0.711656 -0.518628 46.2902"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 -36 77.0156"; + rotation = "0.374632 -0.342532 -0.861581 75.0649"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "260 -52 86.2968"; + rotation = "0.0937066 0.314685 0.944559 172.443"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-172 -324 53.3125"; + rotation = "-0.142227 -0.26975 0.952369 232.742"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 -156 56.1875"; + rotation = "0.76798 0.593809 -0.239995 24.6356"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 -252 58.0782"; + rotation = "0.234372 0.137 0.962445 48.6249"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-340 -20 37.8906"; + rotation = "-0.212696 -0.0140784 0.977017 151.64"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-252 268 60.4063"; + rotation = "0.0765013 -0.0672149 0.994801 135.211"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-308 332 11.9062"; + rotation = "0.141334 0.0385996 0.989209 215.636"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "252 -132 96.7969"; + rotation = "-0.0476813 0.17647 -0.98315 114.887"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 -268 71.3594"; + rotation = "0.210532 0.0294223 0.977144 226.039"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 -100 101.547"; + rotation = "0.055872 -0.0320023 0.997925 143.072"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "204 -396 35.6937"; + rotation = "-0.254802 -0.110067 -0.960709 116.081"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-684 -196 50.4593"; + rotation = "-0.322476 0.238906 -0.915933 111.745"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "492 532 50.1156"; + rotation = "-0.0858333 0.327466 0.940956 104.401"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "76 -748 53.0375"; + rotation = "-0.128294 0.170924 0.976896 87.3371"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "788 204 35.0219"; + rotation = "-0.0319415 0.192188 0.980838 76.0733"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 -356 63.0374"; + rotation = "-0.0163597 -0.145385 0.98924 112.574"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "204 -652 56.3188"; + rotation = "0.00284456 0.178134 -0.984002 44.6456"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "300 308 48.0062"; + rotation = "-0.161232 0.0389081 0.986149 85.7964"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-756 284 31.7406"; + rotation = "-0.0921507 -0.0339798 0.995165 202.892"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "308 540 28.2562"; + rotation = "-0.0695338 0.0405444 0.996755 104.18"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-612 -564 90.85"; + rotation = "-0.179971 -0.982951 -0.0376419 26.1087"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "708 -180 36.4749"; + rotation = "-0.338491 -0.605696 -0.720109 52.3718"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "524 532 54.4125"; + rotation = "0.342355 0.177745 0.922605 101.554"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "372 -4 38.7718"; + rotation = "-0.172996 0.127405 0.976647 178.047"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "92 716 34.6313"; + rotation = "0.0694742 0.155951 -0.985319 108.804"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-596 -252 55.7874"; + rotation = "0.13451 0.190675 0.972394 205.306"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + }; + }; + new TSStatic() { + position = "-1054.06 -30.2307 43.0153"; + rotation = "0 0 -1 9.74043"; + scale = "0.25 0.25 0.25"; + shapeName = "rst-TNmug.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Astro.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Astro.mis new file mode 100644 index 00000000..e72c9329 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Astro.mis @@ -0,0 +1,1695 @@ +// DisplayName = DMP-Astro +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//If you pill this off, I might just forgive you for that debacle at Black Mesa. +//You know the one I mean... involving a certain microwave casserole. +// -- Dr. Magnusson (Half Life) +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Self powered bunkers. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + musicTrack = "ice"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-888 -704 1776 1408"; + flightCeiling = "2500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-833.715 -1272.42 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.449663 -0.35973 -0.817556"; + color = "0.900000 0.800000 0.500000 1.000000"; + ambient = "0.500000 0.600000 0.500000 0.500000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "rst_Astro.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + locked = "true"; + conjoinBowlDev = "20"; + GraphFile = "Equinox.nav"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.5"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.05"; + cloudSpeed1 = "0.0003"; + cloudSpeed2 = "0.0003"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.200000 0.100000 0.500000"; + fogDistance = "200"; + fogColor = "0.200000 0.200000 0.100000 0.100000"; + fogVolume1 = "500 0 16"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "eve8.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 1.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1.000000"; + high_visibleDistance = "200"; + high_fogDistance = "200"; + high_fogVolume1 = "100 100 200"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-127 285.132 95.6722"; + rotation = "0 0 1 228.129"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-0.671534 67.4853 65.115"; + rotation = "0 0 -1 108.289"; + scale = "2 2 2"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "34.5721 314.546 83.7862"; + rotation = "0 0 1 69.3279"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "126 -286.858 95.6722"; + rotation = "0 0 1 48.1285"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-7.32847 -75.4853 63.515"; + rotation = "-0 -0 1 71.7108"; + scale = "2 2 2"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-42.5721 -322.546 83.7862"; + rotation = "0 0 -1 110.672"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "489.123 291.331 15.4465"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-497.123 -294.131 15.8465"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "497.442 776.274 99.4382"; + rotation = "0 0 1 76.2034"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-505.442 -784.274 99.4382"; + rotation = "0 0 -1 103.797"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-401.062 656.595 71.8346"; + rotation = "0 0 -1 107.143"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "393.062 -664.595 71.8346"; + rotation = "-0 -0 1 72.8567"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-314.496 456.816 32.5709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "306.496 -464.816 32.5709"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-206.924 433.491 97.1685"; + rotation = "0 0 1 80.2141"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "206.216 -434.348 96.5685"; + rotation = "0 0 -1 99.7858"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-494.93 -324.479 14.3161"; + rotation = "0 0 1 50.9933"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-100.969 49.3142 59.5167"; + rotation = "0 0 1 190.977"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-401.756 -349.605 33.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "393.756 341.605 33.255"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "89.1263 -341.699 78.8772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-90.7509 343.998 79.2772"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-667.647 330.695 81.203"; + rotation = "0 0 1 69.3279"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "659.647 -338.695 81.203"; + rotation = "0 0 -1 110.672"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-17.3338 -1060.22 117.5"; + rotation = "0 0 -1 67.609"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "9.3338 1052.22 117.5"; + rotation = "-0 -0 1 112.391"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "1067.22 -624.413 90.4781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-1075.22 616.413 90.4781"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "255.568 -367.588 169.251"; + rotation = "0 0 1 237.387"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-256.209 367.383 175.851"; + rotation = "0 0 1 57.3869"; + scale = "1 1 1"; + shapeName = "xorg3.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-440.978 238.84 129.165"; + rotation = "0 0 1 56.7228"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "433.312 -246.621 121.965"; + rotation = "0 0 1 236.723"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "553.977 833.589 101.353"; + rotation = "0 0 1 219.052"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-561.977 -841.589 101.353"; + rotation = "0 0 1 39.052"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-215.153 -378.732 41.1111"; + rotation = "0 0 -1 13.7511"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "204.391 375.138 40.1111"; + rotation = "0 0 1 147.914"; + scale = "1.3 1.3 1.3"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-144.757 -836.979 44.7398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "136.757 828.979 44.7398"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "310.079 206.409 37.7329"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "314.131 213.84 40.9885"; + rotation = "0 0 -1 17.1888"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "217.396 402.625 40.6002"; + rotation = "0 0 1 42.9718"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "361.297 371.555 24.2263"; + rotation = "0 0 1 14.8969"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "360.668 369.239 24.2263"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "360.827 370.672 26.2263"; + rotation = "0 0 1 118.029"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "367.903 376.65 24.2263"; + rotation = "0 0 -1 28.648"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "490.604 318.304 13.7439"; + rotation = "0 0 1 48.7014"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "340.829 566.182 79.0625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "362.386 566.144 82.4547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + team = "0"; + }; + new TSStatic() { + position = "319.505 501.94 39.8449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + team = "0"; + }; + new TSStatic() { + position = "146.985 256.791 34.8874"; + rotation = "0 0 1 139.229"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-150.283 -270.244 35.8874"; + rotation = "0 0 -1 40.771"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-313.895 -200.338 36.8305"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-317.005 -219.953 39.304"; + rotation = "0 0 -1 46.9825"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-356.723 -563.076 80.8074"; + rotation = "0 0 1 108.862"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-205.889 -411.413 42.7883"; + rotation = "0 0 1 86.5166"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-370.677 -369.829 24.8957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-370.527 -370.615 26.8957"; + rotation = "0 0 -1 100.841"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-360.794 -371.85 24.8957"; + rotation = "0 0 1 33.2315"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-370.677 -372.029 24.8957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-319.507 -494.243 38.1828"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-336.418 -565.731 78.6859"; + rotation = "0 0 -1 69.3279"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + team = "0"; + }; + new TSStatic() { + position = "93.72 -50.2635 62.2867"; + rotation = "0 0 -1 55.004"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + team = "0"; + }; + }; + new SimGroup(team1) { + + providesPower = "1"; + powerCount = "1"; + + new SpawnSphere() { + position = "-206.857 -477.483 38.4068"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new InteriorInstance() { + position = "-206.349 -257.579 82.6475"; + rotation = "0 0 -1 105.997"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacturret.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-205.858 -256.771 82.7436"; + rotation = "0 0 1 208.751"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "33"; + lastProjectile = "20302"; + team = "1"; + }; + new StaticShape() { + position = "-173.96 -541.76 77.1892"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "21415"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-436.313 -435.607 76.7073"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-278.078 -451.215 36.1531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "-278.078 -451.215 36.1531 1 0 0 0"; + className = "FlagObj"; + Target = "35"; + team = "1"; + WayPoint = "21552"; + Trigger = "21553"; + isHome = "1"; + }; + new Item() { + position = "-362.24 -403.971 28.3635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-414.118 -486.009 42.7256"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "21421"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-387.118 -486.809 42.7256"; + rotation = "-0 -0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "21423"; + team = "1"; + }; + new StaticShape() { + position = "-312.543 -331.743 47.2697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "21425"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-322.343 -341.543 47.2697"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "21427"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-192.345 -561.276 77.1892"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "21429"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new InteriorInstance() { + position = "-362.215 -404 2.13567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-436.394 -435.676 115.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + team = "1"; + }; + new Turret() { + position = "-282.265 -533.962 70.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "42"; + lastProjectile = "17427"; + team = "1"; + }; + new SpawnSphere() { + position = "-248.057 -372.083 38.4068"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new SpawnSphere() { + position = "-362.257 -477.283 38.4068"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new SpawnSphere() { + position = "-363.457 -331.283 38.4068"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new InteriorInstance(InteriorInstance) { + position = "-282.341 -533.638 44.9313"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "35.7448 202.354 29.449"; + rotation = "0 0 -1 37.8152"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + team = "1"; + }; + new TSStatic() { + position = "194.049 486.742 44.4689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + + team = "1"; + }; + new TSStatic() { + position = "158.935 465.02 43.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + + team = "1"; + }; + new TSStatic() { + position = "310.084 372.188 49.6001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + + team = "1"; + }; + new WayPoint() { + position = "-362.24 -403.971 28.3635"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + }; + new SimGroup(team2) { + + providesPower = "1"; + powerCount = "1"; + + new Turret() { + position = "274.265 532.162 70.762"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "43"; + lastProjectile = "8150"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "270.038 443.23 18.1333"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "rst_astro_stand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "270.078 443.215 36.1339"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "11765"; + originalPosition = "270.078 443.215 36.1339 0 0 1 3.14159"; + className = "FlagObj"; + Target = "44"; + team = "2"; + WayPoint = "21554"; + Trigger = "21555"; + isHome = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "428.313 427.607 76.7073"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "xmiscb.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "392.226 478.044 41.6208"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "rst_astro_bunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "180.901 550.401 76.1024"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + interiorFile = "rst_astro_bunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "304.462 333.495 46.2023"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "rst_astro_bunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "199.549 252.579 89.4475"; + rotation = "-0 -0 1 74.0032"; + scale = "1 1 1"; + interiorFile = "anthem_cardiacturret.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "199.058 251.771 89.5436"; + rotation = "0 0 1 28.751"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "45"; + lastProjectile = "8154"; + team = "2"; + }; + new Item() { + position = "361.44 396.171 26.5635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "406.118 478.009 42.7256"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "21455"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "379.118 478.809 42.7256"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "21457"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "314.343 333.543 47.2697"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + Trigger = "21459"; + team = "2"; + }; + new StaticShape() { + position = "304.543 323.743 47.2697"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + Trigger = "21461"; + team = "2"; + }; + new StaticShape() { + position = "189.719 560.107 77.1892"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "21463"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "171.052 540.591 77.1892"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "21465"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "428.394 427.676 115.3"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "361.415 396 0.33567"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SpawnSphere() { + position = "198.857 469.483 38.4068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new SpawnSphere() { + position = "354.257 469.283 38.4068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new SpawnSphere() { + position = "355.457 323.283 38.4068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new SpawnSphere() { + position = "240.057 364.083 38.4068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "25"; + }; + new InteriorInstance() { + position = "274.341 531.838 44.9313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisca.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new WayPoint() { + position = "361.44 396.171 26.5635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera1) { + position = "396.452 586.366 102.169"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera1) { + position = "-404.452 -594.366 102.169"; + rotation = "0 0 1 41.917"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-400.226 -486.044 41.6208"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "rst_astro_bunker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-183.71 -551.597 76.1024"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "rst_astro_bunker.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-278.038 -451.23 18.1333"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_astro_stand.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-312.462 -341.495 46.2023"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "rst_astro_bunker.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant20) { + + powerCount = "0"; + + new TSStatic() { + position = "-316 684 132.531"; + rotation = "0 0 -1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "796 52 73.9219"; + rotation = "0 0 -1 20.9998"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-524 -356 28.0937"; + rotation = "0 0 -1 50"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "108 412 49.5781"; + rotation = "0 0 1 128"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "684 404 62.8282"; + rotation = "0 0 -1 56.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "580 740 74.6718"; + rotation = "0 0 1 239"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "316 -180 69.2968"; + rotation = "0 0 -1 87.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-124 -76 75.0313"; + rotation = "0 0 -1 1.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "100 292 39.2657"; + rotation = "0 0 1 14"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-220 628 28.7656"; + rotation = "0 0 -1 71.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "732 -44 103.5"; + rotation = "0 0 1 7.00001"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-308 -292 38.0156"; + rotation = "0 0 1 31"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "516 444 39.7813"; + rotation = "0 0 -1 46.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "36 596 62.5625"; + rotation = "0 0 1 27"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-436 740 154.453"; + rotation = "0 0 1 76.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-636 604 124.969"; + rotation = "0 0 -1 19.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "596 332 49.7187"; + rotation = "0 0 -1 47.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "124 -516 47.4687"; + rotation = "0 0 1 229"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "772 -140 49.8437"; + rotation = "0 0 -1 53.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "580 668 72.7188"; + rotation = "0 0 -1 10.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "732 -84 83.1719"; + rotation = "0 0 1 73"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-4 52 65.8438"; + rotation = "0 0 1 225"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-380 436 37.8281"; + rotation = "0 0 -1 115"; + scale = "1.2 1.2 1.2"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "668 -100 115.656"; + rotation = "0 0 -1 113"; + scale = "1.4 1.4 1.4"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "764 -116 55.7969"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "260 388 41.7188"; + rotation = "0 0 1 182"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-196 -196 52.2969"; + rotation = "0 0 -1 68.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-580 -276 63.0625"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "-444 -340 25.0938"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "20 -260 47.0781"; + rotation = "0 0 1 117"; + scale = "1.1 1.1 1.1"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "84 -28 56.6719"; + rotation = "0 0 -1 47"; + scale = "0.8 0.8 0.8"; + shapeName = "porg20.dts"; + }; + new TSStatic() { + position = "564 -748 42.4219"; + rotation = "0 0 1 76"; + scale = "0.9 0.9 0.9"; + shapeName = "porg20.dts"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "324 -132 65.6281"; + rotation = "-0.236274 0.0748545 -0.968799 81.7932"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-252 12 49.55"; + rotation = "0.0239436 -0.255579 -0.966492 70.8337"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "780 -356 17.3313"; + rotation = "0.183778 -0.238866 -0.953503 86.7188"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-532 -108 29.3469"; + rotation = "0.359316 0.445023 -0.820272 20.6516"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "492 76 18.5656"; + rotation = "-0.192927 0.0211654 -0.980985 51.8598"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-108 84 49.3312"; + rotation = "0.642417 0.468475 0.606491 19.6633"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "44 -148 41.7531"; + rotation = "0.366717 0.532171 -0.763094 29.8572"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "524 20 9.67506"; + rotation = "-0.467542 -0.410615 0.782815 5.10841"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-508 -36 11.9249"; + rotation = "0.157302 0.16258 -0.974076 30.7608"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-252 764 94.55"; + rotation = "-0.061285 0.0024884 0.998117 116.097"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "452 -148 94.6906"; + rotation = "0.0415941 0.0755217 0.996276 146.119"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "268 404 37.1906"; + rotation = "0.0737568 0.135703 0.988 187.904"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-364 500 18.1125"; + rotation = "0.499015 0.064971 0.864154 36.7139"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-316 -204 38.7063"; + rotation = "0.0816155 0.168463 0.982323 68.9503"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "212 -580 12.7219"; + rotation = "0.131828 0.0968575 0.986529 171.121"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-204 196 70.3469"; + rotation = "0.550801 0.23912 -0.79965 23.6396"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-116 -404 54.0969"; + rotation = "-0.194465 0.172902 -0.965551 61.7546"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-796 660 54.2219"; + rotation = "-0.95312 -0.302593 1.75831e-05 14.4777"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-772 -404 46.925"; + rotation = "-0.284252 0.558614 0.779199 15.3642"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "572 -324 79.3468"; + rotation = "-0.0284546 0.0146836 -0.999487 115.026"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -492 19.4094"; + rotation = "0.0970661 -0.0713415 0.992718 178.015"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "636 372 55.4407"; + rotation = "0.984878 0.164612 0.0540216 18.353"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-356 -500 30.3937"; + rotation = "0.0110612 -0.0697628 0.997502 96.1429"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "652 -332 86.2218"; + rotation = "-0.0654085 -0.176226 0.982174 157.4"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "388 -532 6.54997"; + rotation = "-0.897601 0.264388 -0.35272 25.1558"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-188 -340 28.9407"; + rotation = "0.0287389 -0.0326026 0.999055 238.954"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-572 540 98.925"; + rotation = "-0.137391 0.170024 0.975815 238.793"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "268 348 38.175"; + rotation = "-0.0311939 0.29539 -0.954867 62.3177"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-676 180 56.7375"; + rotation = "0.0293456 -0.0404574 0.99875 165.018"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-596 740 41.7688"; + rotation = "0.265168 -0.0796575 -0.960906 89.2834"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-36 228 43.7688"; + rotation = "0.194143 -0.263345 0.944965 35.8566"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "692 540 51.2844"; + rotation = "0.178004 -0.147041 -0.972982 80.5441"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + }; + }; + new AudioEmitter() { + position = "28.1234 -21.6432 46.4469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.25"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_BastardForge.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_BastardForge.mis new file mode 100644 index 00000000..1371224a --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_BastardForge.mis @@ -0,0 +1,1453 @@ +// DisplayName = DMP-BastardForge +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//They've got us surrounded again, the poor bastards. +// --Creighton Abrams +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Map by ChocoTaco (Thanks: DarkTiger) +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "6"; + musicTrack = "desert"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-808 -1032 1296 1248"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "false"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.881743 0.133876 -0.452334"; + color = "0.400000 0.400000 0.400000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/snowdet2"; + terrainFile = "BastardForge.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "FrozenHope.nav"; + conjoinBowlDev = "20"; + coverage = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-233.178 -43.7506 230.649"; + rotation = "-0.0938663 -0.187877 0.977697 232.068"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "52.3477 -864.696 225.888"; + rotation = "0.934782 0.0556361 -0.350838 19.2565"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-460.884 29.2926 228.886"; + rotation = "0.021261 -0.143936 0.989359 163.371"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-63.0328 -374.687 172.58"; + rotation = "0.00540307 -0.109348 0.993989 174.376"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "198.614 -446.221 117.342"; + rotation = "-0 0 -1 4.58367"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "66.5426 -748.368 152.744"; + rotation = "-0 0 -1 4.58367"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(BaseAlpha) { + + powerCount = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "101.837 -588.708 116.361"; + rotation = "0.997553 0.0697911 0.00422589 179.899"; + scale = "0.6 1.3 0.49"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "157.691 -591.895 103.627"; + rotation = "-0 0 -1 8.02157"; + scale = "1.5 1.5 1.5"; + interiorFile = "cctower.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "122.373 -585.654 122.679"; + rotation = "0.997191 0.0747803 0.00422682 179.901"; + scale = "1 1.2 0.8"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "110.955 -574.355 116.416"; + rotation = "0.751704 -0.659496 0.00234404 179.584"; + scale = "0.5 1.3 0.5"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "131.851 -584.111 115.046"; + rotation = "0.656219 0.754571 -2.78017e-08 180"; + scale = "0.6 0.5 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "116.262 -598.184 116.394"; + rotation = "0.655123 0.755513 0.00361045 180.271"; + scale = "0.5 1.3 0.5"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "100.74 -588.417 115.046"; + rotation = "0.656219 0.754571 -2.78017e-08 180"; + scale = "0.6 0.5 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "115.09 -606.464 115.047"; + rotation = "0.997551 0.0699429 3.05839e-09 180"; + scale = "0.6 0.6 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "110.908 -576.675 115.047"; + rotation = "0.997551 0.0699429 3.05839e-09 180"; + scale = "0.6 0.6 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "113.612 -586.14 119.618"; + rotation = "0 0 1 84.7978"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "42871"; + team = "1"; + WayPoint = "5314"; + Trigger = "5315"; + originalPosition = "124.492 -581.173 124.772 0 0 1 1.48"; + pass = "1"; + lastDTStat = "6703"; + Target = "33"; + className = "FlagObj"; + speed = "0"; + isHome = "1"; + }; + new InteriorInstance() { + position = "199.873 -432.271 148.564"; + rotation = "0 0 1 130.452"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "87.1257 -730.986 150.298"; + rotation = "0 0 1 226.891"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "102.486 -716.117 144.118"; + rotation = "0.74276 0.29943 -0.598873 206.868"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "34"; + }; + new InteriorInstance() { + position = "80.7107 -737.255 153.748"; + rotation = "0 0 1 135.791"; + scale = "1 1 1"; + interiorFile = "dbase_-nefbase1_x.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "99.6296 -727.313 137.751"; + rotation = "0 0 1 133.499"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5150"; + team = "1"; + inUse = "Down"; + Target = "35"; + }; + new InteriorInstance(InteriorInstance) { + position = "31.1527 -738.108 145.504"; + rotation = "0.393323 0.9194 -0.000300051 179.852"; + scale = "2.8 3 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "91.1387 -718.497 137.69"; + rotation = "-0 0 -1 47.1653"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5153"; + team = "1"; + inUse = "Down"; + Target = "36"; + }; + new InteriorInstance(InteriorInstance) { + position = "70.0907 -730.407 137.775"; + rotation = "0.407033 0.913413 -0.000731737 179.963"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "88.9337 -729.285 137.745"; + rotation = "0 0 1 225.745"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5156"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "82.0937 -735.957 145.705"; + rotation = "0 0 1 41.8257"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5158"; + team = "1"; + inUse = "Down"; + Target = "38"; + }; + new StaticShape() { + position = "79.2607 -738.649 157.673"; + rotation = "0 0 1 224.6"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "39"; + }; + new Item() { + position = "216.001 -510.342 121.478"; + rotation = "0 0 1 226.891"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "185.926 -440.954 142.55"; + rotation = "0 0 1 39.5338"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5162"; + team = "1"; + inUse = "Down"; + Target = "40"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-484.9 -330.029 163.255"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-397.816 -39.8684 165.789"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(BaseBeta) { + + powerCount = "1"; + }; + new InteriorInstance() { + position = "-503.234 -337.27 150.477"; + rotation = "-0 0 -1 43.1538"; + scale = "1 1 1"; + interiorFile = "dbunk_nefsmall.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(BaseBeta) { + + powerCount = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-418.331 -181.892 121.347"; + rotation = "-0.0640109 0.997949 -0.000813491 179.514"; + scale = "1 1.2 0.8"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-453.504 -174.892 102.295"; + rotation = "0 0 1 173.215"; + scale = "1.5 1.5 1.5"; + interiorFile = "cctower.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-397.738 -179.283 115.029"; + rotation = "-0.0590186 0.998257 -0.000832247 179.515"; + scale = "0.6 1.3 0.49"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-408.925 -171.279 113.365"; + rotation = "0.997888 0.0649543 2.83926e-09 180"; + scale = "0.6 0.6 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-419.217 -182.931 113.364"; + rotation = "0.659983 0.751281 -2.79765e-08 180"; + scale = "0.6 0.5 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-405.051 -201.061 113.365"; + rotation = "0.997888 0.0649543 2.83926e-09 180"; + scale = "0.6 0.6 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-388.04 -178.867 113.364"; + rotation = "0.659983 0.751281 -2.79765e-08 180"; + scale = "0.6 0.5 1.8"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-411.953 -169.497 115.062"; + rotation = "0.748399 -0.663244 -0.00240328 180.411"; + scale = "0.5 1.3 0.5"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-407.167 -193.433 115.084"; + rotation = "0.66757 0.744538 -0.00359555 179.727"; + scale = "0.5 1.3 0.5"; + interiorFile = "dmisc_nefplat1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-409.227 -181.587 118.488"; + rotation = "0 0 1 82.5059"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "16488"; + team = "2"; + WayPoint = "5316"; + Trigger = "5317"; + originalPosition = "-424.765 -182.803 125.488 0 0 1 1.44"; + Target = "41"; + className = "FlagObj"; + isHome = "1"; + }; + new InteriorInstance() { + position = "-398.669 -40.3144 155.343"; + rotation = "0 0 -1 44.6908"; + scale = "1 1 1"; + interiorFile = "dbase_-nefbase1_x.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-387.992 -47.0716 139.37"; + rotation = "0.915116 -0.40319 0.000321084 179.916"; + scale = "1 1 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-349.12 -39.0437 147.099"; + rotation = "0.921045 -0.389453 0.00129203 179.965"; + scale = "2.8 3 1"; + interiorFile = "dmisc_nefplug1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-405.031 -46.6369 151.893"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-520.873 -253.398 121.938"; + rotation = "0 0 -1 83.6518"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-397.231 -38.9079 159.268"; + rotation = "0 0 1 44.1178"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "42"; + }; + new StaticShape() { + position = "-400.041 -41.6237 147.3"; + rotation = "0 0 1 221.344"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5189"; + team = "2"; + Target = "43"; + }; + new StaticShape() { + position = "-406.824 -48.3524 139.34"; + rotation = "0 0 1 45.2636"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5191"; + team = "2"; + Target = "44"; + }; + new StaticShape() { + position = "-408.939 -59.1591 139.285"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5193"; + team = "2"; + notReady = "1"; + inUse = "Down"; + Target = "45"; + }; + new StaticShape() { + position = "-417.504 -50.4148 139.346"; + rotation = "0 0 -1 46.9827"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5195"; + team = "2"; + Target = "46"; + }; + new Turret() { + position = "-420.263 -61.6373 145.713"; + rotation = "0.358601 -0.889078 -0.284508 108.681"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "47"; + }; + new StaticShape() { + position = "-488.351 -330.196 144.451"; + rotation = "0 0 1 224.599"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5198"; + team = "2"; + notReady = "1"; + inUse = "Down"; + Target = "48"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "99.7411 -962.068 175.68"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "94.0183 -382.421 193.222"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-233.087 -588.239 136.632"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-396.693 -369.191 192.278"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-74.0847 -180.818 144.481"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-395.48 195.089 182.108"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "dmisc_neftower3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(Neutral) { + + powerCount = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.490000 0.000000"; + fogDistance = "220"; + fogColor = "0.550000 0.550000 0.610000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.88322e-37 4.27877e-38"; + high_fogVolume2 = "-1 1.71806e-36 4.28417e-38"; + high_fogVolume3 = "-1 2.01058e-37 4.28473e-38"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-772 292 73.5312"; + rotation = "0 0 -1 50"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-924 -884 113.625"; + rotation = "0 0 1 204"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-44 172 87.25"; + rotation = "0 0 -1 58.0005"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-252 -236 53.3282"; + rotation = "0 0 1 178"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "412 -780 91.7032"; + rotation = "0 0 -1 82"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "228 28 129.922"; + rotation = "0 0 -1 117"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-380 -604 134.609"; + rotation = "0 0 -1 10.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "12 -772 134.156"; + rotation = "0 0 1 154"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-628 -844 86.3437"; + rotation = "0 0 -1 67.0005"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-308 36 122.687"; + rotation = "0 0 1 238"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "276 -140 68.0313"; + rotation = "0 0 -1 72.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-356 -812 42.9843"; + rotation = "0 0 1 209"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "252 -884 109"; + rotation = "0 0 1 123"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "260 -28 129"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-36 -332 85.9062"; + rotation = "0 0 -1 50.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-644 -748 122.719"; + rotation = "0 0 1 31"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-276 -124 66.1719"; + rotation = "0 0 -1 62.0003"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-804 -716 77.0468"; + rotation = "0 0 -1 60.0001"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-988 -1012 85"; + rotation = "0 0 1 143"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-444 -444 126.219"; + rotation = "0 0 1 9.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-372 -1068 135.156"; + rotation = "0 0 1 160"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-20 132 109.469"; + rotation = "0 0 1 121"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-412 -908 140.422"; + rotation = "0 0 1 203"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "420 -1140 82.7656"; + rotation = "0 0 1 24"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "516 -756 111.844"; + rotation = "0 0 1 180"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "404 76 83.2188"; + rotation = "0 0 1 30"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "484 -212 105.359"; + rotation = "0 0 -1 77.0004"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-972 -932 89.875"; + rotation = "0 0 1 36"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "436 -244 69.2968"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-700 -900 62.375"; + rotation = "0 0 1 205"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-44 -1052 70.8438"; + rotation = "0 0 1 172"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-844 -468 107.594"; + rotation = "0 0 -1 113"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-332 -508 124.062"; + rotation = "0 0 1 207"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "132 92 107.969"; + rotation = "0 0 1 110"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-252 -1212 87.7188"; + rotation = "0 0 1 128"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "172 -532 125.203"; + rotation = "0 0 1 54"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "308 300 66.375"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "428 -876 69.7812"; + rotation = "0 0 1 100"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-436 -1188 108.766"; + rotation = "0 0 1 230"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-532 132 116.594"; + rotation = "0 0 1 121"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-628 -780 121.141"; + rotation = "0 0 -1 53.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-732 -652 135"; + rotation = "0 0 1 53"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-12 -100 102.516"; + rotation = "0 0 -1 47.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "156 364 113.969"; + rotation = "0 0 -1 64.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-684 -580 120.844"; + rotation = "0 0 -1 113"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "236 -388 133.125"; + rotation = "0 0 1 204"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "172 -20 139.766"; + rotation = "0 0 1 17"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-548 -204 134.562"; + rotation = "0 0 -1 37.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-132 -1188 110.734"; + rotation = "0 0 1 109"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "388 -340 62.2812"; + rotation = "0 0 1 122"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant25) { + + powerCount = "0"; + + new TSStatic() { + position = "-60 -1196 85.7812"; + rotation = "0 0 -1 5.99979"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "180 -492 134.797"; + rotation = "0 0 1 61.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-956 268 104.703"; + rotation = "0 0 -1 11.9998"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-820 -924 94.3438"; + rotation = "0 0 1 76.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "476 12 47.7343"; + rotation = "0 0 1 188"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-348 -20 139.797"; + rotation = "0 0 -1 20.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-228 -340 78.4531"; + rotation = "0 0 -1 10.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-140 -828 62.4218"; + rotation = "0 0 -1 87.0002"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-660 -508 75.1875"; + rotation = "0 0 1 186"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "380 340 108.25"; + rotation = "0 0 1 31"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-660 172 51.8906"; + rotation = "0 0 -1 89.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-580 -812 117.297"; + rotation = "0 0 1 101"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "68 -876 125.328"; + rotation = "0 0 1 178"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-364 -988 144.172"; + rotation = "0 0 -1 35"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-100 -988 70.0938"; + rotation = "0 0 1 7.99996"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-12 -684 87.6094"; + rotation = "0 0 1 63.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-204 -756 103.437"; + rotation = "0 0 1 218"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-804 -468 94.2969"; + rotation = "0 0 1 167"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "220 -940 133.609"; + rotation = "0 0 -1 34.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-260 -12 120.734"; + rotation = "0 0 -1 96.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-12 -228 127.906"; + rotation = "0 0 -1 16.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-228 -284 72.125"; + rotation = "0 0 1 231"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-764 372 110.219"; + rotation = "0 0 -1 41"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "324 76 87.8438"; + rotation = "0 0 -1 115"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-764 -1028 76.5"; + rotation = "0 0 1 175"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "316 -860 93.5312"; + rotation = "0 0 -1 49.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "500 -996 85.6562"; + rotation = "0 0 1 237"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "516 300 97.5312"; + rotation = "0 0 1 171"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "356 -796 91.4843"; + rotation = "0 0 -1 14.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-452 -1140 83.5937"; + rotation = "0 0 -1 85"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-124 52 77.0156"; + rotation = "0 0 1 168"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-28 -524 55.1093"; + rotation = "0 0 1 48"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-516 204 141.516"; + rotation = "0 0 1 78.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-572 -28 51.8594"; + rotation = "0 0 -1 110"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "268 -596 127.672"; + rotation = "0 0 -1 5.99979"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "340 -892 75.5313"; + rotation = "0 0 -1 7.00012"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "460 -780 95.8125"; + rotation = "0 0 1 12"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-244 -812 80.3125"; + rotation = "0 0 -1 58.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-252 116 91.8907"; + rotation = "0 0 -1 47.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-196 -508 75.25"; + rotation = "0 0 1 211"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "4 220 125.109"; + rotation = "0 0 -1 38"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "252 -860 102.281"; + rotation = "0 0 1 36"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "108 60 85.875"; + rotation = "0 0 1 61.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-860 -332 105.234"; + rotation = "0 0 1 127"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "212 -1092 124.047"; + rotation = "0 0 -1 82"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-756 -1156 117.687"; + rotation = "0 0 1 136"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "420 244 60.3281"; + rotation = "0 0 1 85.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "404 -780 91.5156"; + rotation = "0 0 1 168"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-780 60 87.5"; + rotation = "0 0 1 33"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-956 -964 96.3749"; + rotation = "0 0 1 129"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "372.542 -423.683 44.889"; + rotation = "0.0942927 0.178948 0.97933 80.6335"; + scale = "2 2 2"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_BitterGorge.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_BitterGorge.mis new file mode 100644 index 00000000..87253871 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_BitterGorge.mis @@ -0,0 +1,1883 @@ +// DisplayName = DMP-BitterGorge +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//As Above, So Below +// -- a maxim in Hermeticism +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Bases powered by generator and solar panel. +//Map by Rooster128, base concept by Halo2 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "ice"; + CTF_scoreLimit = "8"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-776 -968 1568 1936"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.544217 -0.544217 -0.638479"; + color = "0.750000 0.650000 0.650000 1.000000"; + ambient = "0.400000 0.400000 0.450000 0.500000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "rst_bittergorge.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + coverage = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + GraphFile = "Equinox.nav"; + YDimOverSize = "0"; + scale = "1 1 1"; + locked = "true"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "1.000000 1.000000 1.000000 1.000000"; + fogDistance = "450"; + fogColor = "0.650000 0.650000 0.750000 0.100000"; + fogVolume1 = "400 0 150"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -6.14964"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new InteriorInstance(InteriorInstance) { + position = "-556.73 564.173 82.7776"; + rotation = "0 0 1 213.323"; + scale = "2 2 2"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "89.403 -473.485 30.6981"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_bitterstand.dif"; + showTerrainInside = "0"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + }; + new SimGroup(team1) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-75.677 605.331 70.4014"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + interiorFile = "rst_bitterbunker2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-97.403 465.485 30.6981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_bitterstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "33.3305 393.541 124.125"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + interiorFile = "rst_bitterbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "33.3746 412.264 86.6272"; + rotation = "0 0 1 179.863"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + damageTimeMS = "635678"; + Target = "33"; + lastDamagedBy = "4137"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "17.6202 405.257 86.5937"; + rotation = "-0 0 -1 0.137056"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4304"; + team = "1"; + damageTimeMS = "630079"; + Target = "34"; + inUse = "Down"; + lastDamagedBy = "4137"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "49.0208 405.332 86.5837"; + rotation = "-0 0 -1 0.137056"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4306"; + team = "1"; + damageTimeMS = "605951"; + Target = "35"; + inUse = "Down"; + lastDamagedBy = "4137"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-72.6546 618.296 32.9522"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4308"; + team = "1"; + Target = "36"; + inUse = "Down"; + }; + new StaticShape() { + position = "-78.9984 592.02 32.9522"; + rotation = "0 0 1 225.263"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4310"; + team = "1"; + Target = "37"; + inUse = "Down"; + }; + new StaticShape() { + position = "-85.2828 615.057 47.3611"; + rotation = "0 0 -1 45.4013"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "33.3305 393.541 104.525"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "39"; + }; + new Turret() { + position = "-26.7752 442.88 53.8277"; + rotation = "-0 0 -1 70.7374"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "40"; + }; + new Item() { + position = "-97.4031 465.485 32.2346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + WayPoint = "4492"; + Trigger = "4493"; + Target = "41"; + isHome = "1"; + className = "FlagObj"; + originalPosition = "-97.4031 465.485 32.2346 1 0 0 0"; + }; + new SimGroup(extra) { + + powerCount = "2"; + + new Item() { + position = "-0.320201 401.422 86.6219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "40.6827 291.53 56.8566"; + rotation = "0 0 1 58.4417"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-63.5027 606.309 34.6671"; + rotation = "0 0 -1 101.414"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-88.0896 605.039 35.665"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-88.4977 600.936 38.665"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-91.5841 592.047 17.3102"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-89.2715 590.135 17.3102"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-62.4647 293.314 53.2024"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-59.6503 293.754 51.5983"; + rotation = "0 0 1 13.751"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "43.1142 290.807 58.8574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-25.4493 487.268 23.9781"; + rotation = "0 0 1 23.491"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-25.7165 485.408 23.8386"; + rotation = "0 0 -1 26.356"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "98.0833 445.602 56.2754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "101.083 445.602 56.2754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-22.5086 441.408 42.8941"; + rotation = "-0 0 -1 70.7374"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "8.85105 383.605 93.4574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + damageTimeMS = "1002463"; + Target = "42"; + lastDamagedBy = "4137"; + lastDamagedByTeam = "1"; + }; + new Turret() { + position = "58.1578 383.564 93.4619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + damageTimeMS = "476417"; + Target = "43"; + lastDamagedBy = "4137"; + lastDamagedByTeam = "1"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "56.38 487.16 21.4208"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-65.848 553.982 21.7605"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-30.4551 437.943 29.2373"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "33.4464 397.167 78.4336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "50"; + indoorWeight = "75"; + outdoorWeight = "25"; + }; + }; + new TSStatic() { + position = "-0.422493 406.415 86.5614"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "99.559 445.563 53.1614"; + rotation = "0 0 1 0.569237"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-62.8955 609.715 32.6241"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-61.0659 607.868 32.6241"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-87.033 602.105 32.562"; + rotation = "0 0 1 135.263"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-89.1444 604.236 32.562"; + rotation = "0 0 1 135.263"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-89.326 601.926 35.562"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-62.9168 605.837 32.6241"; + rotation = "0 0 1 1.14533"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-62.8955 609.715 34.6241"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-61.0659 607.868 34.6241"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-80.7843 610.432 32.6347"; + rotation = "0 0 1 45.2635"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-80.8772 610.145 35.7826"; + rotation = "0 0 1 107.325"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-25.4466 486.624 20.7614"; + rotation = "-0 0 -1 68.7586"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-90.2736 590.97 14.1614"; + rotation = "0 0 1 42.9681"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "42.801 291.475 56.7976"; + rotation = "0 0 1 61.8794"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-61.4027 292.909 50.9976"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "116.859 281.02 66.4941"; + rotation = "0 0 1 183.838"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "116.578 276.83 77.0941"; + rotation = "0 0 1 183.838"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "44"; + }; + new TSStatic() { + position = "33.3291 396.087 85.3598"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "1"; + }; + new TSStatic() { + position = "33.3358 396.075 88.6059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + + team = "1"; + }; + new WayPoint() { + position = "-0.320201 401.422 86.6219"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + }; + new SimGroup(team2) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "89.403 -473.485 30.6981"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_bitterstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "89.3622 -473.485 31.8882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + WayPoint = "4494"; + Trigger = "4495"; + Target = "45"; + isHome = "1"; + className = "FlagObj"; + originalPosition = "89.3622 -473.485 31.8882 1 0 0 0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-41.3305 -401.541 124.125"; + rotation = "-0 -0 1 89.8633"; + scale = "1 1 1"; + interiorFile = "rst_bitterbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "67.677 -613.331 70.4014"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + interiorFile = "rst_bitterbunker2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "13.3049 -448.92 42.8941"; + rotation = "0 0 1 119.003"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-124.859 -289.02 66.4941"; + rotation = "0 0 1 3.83795"; + scale = "1 1 1"; + interiorFile = "smisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-124.578 -284.83 77.0941"; + rotation = "0 0 1 3.83795"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + lastProjectile = "8496"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "46"; + }; + new Turret() { + position = "17.261 -451.092 53.8277"; + rotation = "0 0 1 119.003"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + lastProjectile = "15045"; + originalBarrel = "PlasmaBarrelLarge"; + Target = "47"; + }; + new StaticShape() { + position = "-25.6202 -413.257 86.5937"; + rotation = "0 0 1 179.863"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4371"; + team = "2"; + damageTimeMS = "630079"; + Target = "48"; + inUse = "Down"; + lastDamagedBy = "4137"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-57.0208 -413.332 86.5837"; + rotation = "0 0 1 179.863"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4373"; + team = "2"; + damageTimeMS = "605951"; + Target = "49"; + inUse = "Down"; + lastDamagedBy = "4137"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-41.3746 -420.264 86.6272"; + rotation = "0 0 -1 0.137056"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + damageTimeMS = "635678"; + Target = "50"; + lastDamagedBy = "4137"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-41.3305 -401.541 104.525"; + rotation = "-0 -0 1 89.8633"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "51"; + }; + new StaticShape() { + position = "77.4473 -623.494 47.3611"; + rotation = "0 0 1 134.637"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "64.6546 -626.296 32.9522"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4378"; + team = "2"; + Target = "53"; + inUse = "Down"; + }; + new StaticShape() { + position = "70.9984 -600.02 32.9522"; + rotation = "0 0 1 45.263"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "4380"; + team = "2"; + Target = "54"; + inUse = "Down"; + }; + new TSStatic() { + position = "72.7843 -618.432 32.6347"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "2"; + }; + new TSStatic() { + position = "72.8772 -618.145 35.7826"; + rotation = "0 0 -1 72.6751"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "2"; + }; + new TSStatic() { + position = "79.033 -610.105 32.562"; + rotation = "0 0 -1 44.737"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "81.326 -609.926 35.562"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new Item() { + position = "80.0896 -613.039 35.665"; + rotation = "0 0 1 44.782"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "80.4977 -608.936 38.665"; + rotation = "0 0 1 44.782"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "54.8955 -617.715 32.6241"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "54.8955 -617.715 34.6241"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "54.9168 -613.837 32.6241"; + rotation = "0 0 1 181.145"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new Item() { + position = "55.5027 -614.309 34.6671"; + rotation = "0 0 1 78.5857"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "81.1446 -612.236 32.562"; + rotation = "0 0 -1 44.737"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "53.347 -616.152 32.6241"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "53.347 -616.152 34.6241"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "-64.38 -495.16 21.4208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "57.848 -561.982 21.7605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "22.4551 -445.943 29.2373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "10"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-41.4464 -405.167 78.2336"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "35"; + sphereWeight = "50"; + indoorWeight = "75"; + outdoorWeight = "25"; + }; + }; + new TSStatic() { + position = "53.4027 -300.909 49.1976"; + rotation = "0 0 1 200.626"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.801 -299.475 55.7976"; + rotation = "0 0 -1 118.121"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-107.559 -453.563 53.1614"; + rotation = "0 0 1 180.569"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "16.356 -489.289 20.5614"; + rotation = "-0 0 -1 63.6936"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "82.2736 -598.97 15.1614"; + rotation = "0 0 1 222.968"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-7.5775 -414.015 86.3614"; + rotation = "0 0 1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new Item() { + position = "-7.6798 -409.422 86.6219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + }; + new SimGroup(extras) { + + powerCount = "2"; + + new Item() { + position = "54.4647 -301.314 51.4024"; + rotation = "0 0 1 200.626"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "51.6503 -301.754 49.7983"; + rotation = "0 0 1 193.751"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-51.1142 -298.807 57.8574"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-48.6827 -299.53 55.8566"; + rotation = "0 0 1 238.442"; + scale = "1 1 1"; + dataBlock = "AmmoPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-109.083 -453.602 56.2754"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-106.083 -453.602 56.2754"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "81.2715 -598.135 18.3102"; + rotation = "0 0 1 129.58"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "83.5841 -600.047 18.3102"; + rotation = "0 0 1 129.58"; + scale = "1 1 1"; + dataBlock = "MotionSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "16.3239 -489.926 23.832"; + rotation = "0 0 1 209.13"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "16.9684 -487.974 23.587"; + rotation = "0 0 -1 113.628"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + }; + new Turret() { + position = "-16.6085 -391.542 93.3296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "55"; + }; + new Turret() { + position = "-66.8756 -391.491 93.3943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "56"; + }; + new TSStatic() { + position = "-41.3291 -404.087 85.3598"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-41.3358 -404.075 88.6059"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + + team = "2"; + }; + new WayPoint() { + position = "-7.6798 -409.422 86.6219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "15.9203 380.26 95.3235"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-23.9203 -388.26 95.3235"; + rotation = "0 0 1 210.367"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-214.774 399.025 73.4157"; + rotation = "0 0 1 62.4524"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "206.774 -407.025 73.4157"; + rotation = "0 0 -1 117.548"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "29.24 690.751 51.1438"; + rotation = "0 0 1 203.973"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-37.24 -698.751 51.1438"; + rotation = "0 0 1 23.973"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "190.108 18.2431 103.392"; + rotation = "0 0 -1 116.493"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-198.108 -26.2431 103.392"; + rotation = "0 0 1 63.5072"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(trees) { + + powerCount = "0"; + + new TSStatic() { + position = "106.562 563.96 44.3266"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-435.851 461.247 92.3248"; + rotation = "0 0 -1 82.5059"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-590.416 702.993 148.592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-283.299 747.294 103.813"; + rotation = "0 0 1 148.396"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "-105.517 905.286 65.8398"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "344.843 683.222 115.827"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "209.19 238.858 83.1464"; + rotation = "0 0 1 25.783"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-670.093 232.85 110.95"; + rotation = "0 0 -1 110.581"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-506.634 144.933 83.3372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-44.9822 489.926 20.1176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-278.747 436.843 33.1419"; + rotation = "1 0 0 0"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "667 630.689 170.357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "469.499 492.308 107.88"; + rotation = "0 0 -1 32.0856"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-160.433 81.0255 76.1302"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "21.6762 340.207 58.6369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Rocks) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "276.935 546.31 66.392"; + rotation = "0 0 -1 55.1864"; + scale = "2 2 2"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-246.616 182.519 17.8531"; + rotation = "0 0 1 115.165"; + scale = "2 2 2"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "163.268 93.1902 26.788"; + rotation = "0 0 1 32.6586"; + scale = "2 2 2"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-17.5125 256.805 24.1606"; + rotation = "0 0 1 24.6372"; + scale = "2 2 2"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "568.649 407.367 118.567"; + rotation = "0 0 -1 102.742"; + scale = "2 2 2"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-404.724 282.714 24.7397"; + rotation = "0 0 -1 79.6411"; + scale = "2 2 2"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-101.864 1043.04 101.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "262.963 1044.02 108.634"; + rotation = "0 0 1 198.426"; + scale = "2 2 2"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-173.485 486.152 20.8354"; + rotation = "0 0 1 81.933"; + scale = "3 3 3"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "31.4886 712.133 37.5035"; + rotation = "0 0 -1 5.15661"; + scale = "3 3 3"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-68.1756 340.299 46.9271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-104.969 679.931 -10.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Rocks2) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-284.935 -554.31 66.392"; + rotation = "0 0 1 124.814"; + scale = "2 2 2"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "238.616 -190.519 17.8531"; + rotation = "0 0 -1 64.8347"; + scale = "2 2 2"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-171.268 -101.19 26.588"; + rotation = "0 0 1 212.659"; + scale = "2 2 2"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "9.5125 -264.805 24.1606"; + rotation = "0 0 1 204.637"; + scale = "2 2 2"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-576.649 -415.367 118.567"; + rotation = "-0 -0 1 77.2582"; + scale = "2 2 2"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "396.724 -290.714 24.7397"; + rotation = "-0 -0 1 100.359"; + scale = "2 2 2"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "93.864 -1051.04 101.917"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "165.485 -494.152 20.8354"; + rotation = "0 0 -1 98.0669"; + scale = "3 3 3"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "165.485 -494.152 20.8354"; + rotation = "0 0 -1 98.0669"; + scale = "3 3 3"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-39.4886 -720.133 37.5035"; + rotation = "0 0 1 174.843"; + scale = "3 3 3"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "60.1756 -348.299 46.9271"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "96.969 -687.931 -10.776"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(trees2) { + + powerCount = "0"; + + new TSStatic() { + position = "-114.562 -571.96 44.3266"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "427.851 -469.247 92.3248"; + rotation = "-0 -0 1 97.4939"; + scale = "2 2 2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "582.416 -710.993 148.592"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "275.299 -755.294 103.813"; + rotation = "0 0 -1 31.604"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + }; + new TSStatic() { + position = "97.517 -913.286 65.8398"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-352.843 -691.222 115.827"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-217.19 -246.858 83.1464"; + rotation = "0 0 1 205.783"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "662.093 -240.85 110.95"; + rotation = "-0 -0 1 69.419"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "498.634 -152.933 83.3372"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "36.9822 -497.926 20.1176"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "270.747 -444.843 33.1419"; + rotation = "0 0 1 180"; + scale = "2.2 2.2 2.2"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-675 -638.689 170.357"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-477.499 -500.308 107.88"; + rotation = "0 0 1 147.914"; + scale = "1.6 1.6 1.6"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "152.433 -89.0255 76.1302"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg16.dts"; + }; + new TSStatic() { + position = "-29.6762 -346.007 56.2369"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + }; + new TSStatic() { + position = "-589.743 -411.285 128.668"; + rotation = "0 0 1 114.019"; + scale = "1 1 1"; + shapeName = "rst-goonflag.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Bunkered.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Bunkered.mis new file mode 100644 index 00000000..af300c83 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Bunkered.mis @@ -0,0 +1,1743 @@ +// DisplayName = DMP-Bunkered +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//"Honour? You chain whore and you talk to me about honour?!" +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//[CTF]Generators are located underground while the flag sits exposed +//[CTF]No vehicle stations +//Map by The Driver +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-616 -224 1248 1024"; + flightCeiling = "450"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "1088 1712 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.620000 0.630000 0.600000 1.000000"; + ambient = "0.420000 0.430000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + texture0 = "special/sunFlare"; + texture4 = "special/LensFlare/flare03"; + texture1 = "special/sunFlare02"; + locked = "true"; + texture3 = "special/LensFlare/flare02"; + texture2 = "special/LensFlare/flare01"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Bunkered.ter"; + squareSize = "8"; + emptySquares = "105143 105288"; + + position = "-1024 -1024 0"; + visibleDistance = "350"; + locked = "true"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + conjoinBowlDev = "20"; + coverage = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Euro_WarSpring.nav"; + XDimOverSize = "0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1344 16 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.520000 0.700000 0.000000"; + fogDistance = "50"; + fogColor = "0.000000 0.100000 0.100000 0.000000"; + fogVolume1 = "10 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-446.968 294.969 113.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "3"; + + new InteriorInstance(InteriorInstance) { + position = "-423.865 224.239 127.862"; + rotation = "0 0 -1 102.741"; + scale = "1 1.1 1"; + interiorFile = "TL_magnumbase.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-448.739 220.148 117.448"; + rotation = "-0.989852 -0.10092 -0.10004 90.6243"; + scale = "0.686038 0.726239 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + locked = "false"; + }; + new StaticShape() { + position = "-468.732 212.666 117.431"; + rotation = "-0.0778339 0.704711 0.705212 171.028"; + scale = "0.686038 0.726239 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + locked = "false"; + }; + new Item() { + position = "-444.022 213.58 134.473"; + rotation = "0 0 1 77.3499"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-460.104 208.903 120.09"; + rotation = "0 0 1 167.304"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17730"; + team = "1"; + Target = "35"; + notReady = "1"; + inUse = "Down"; + locked = "false"; + }; + new StaticShape() { + position = "-463.228 222.566 120.09"; + rotation = "-0 0 -1 12.6052"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17732"; + team = "1"; + Target = "36"; + notReady = "1"; + inUse = "Down"; + locked = "false"; + }; + new InteriorInstance() { + position = "-283.064 304.479 85.0186"; + rotation = "0 0 -1 48.1284"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new InteriorInstance() { + position = "-161.078 268.099 71.7428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new Turret() { + position = "-161.73 268.116 81.6389"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "1"; + Target = "37"; + locked = "false"; + }; + new InteriorInstance() { + position = "-408.957 337.564 95.8563"; + rotation = "0 0 1 90.3448"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-398.396 344.24 97.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17738"; + team = "1"; + Target = "38"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "-398.336 330.752 97.9"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17740"; + team = "1"; + Target = "39"; + notReady = "1"; + inUse = "Down"; + locked = "false"; + }; + new InteriorInstance() { + position = "-514.27 285.416 146.74"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-514.136 285.428 156.54"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "40"; + locked = "false"; + }; + new Item() { + position = "-414.932 337.616 98.022"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "-272.108 310.724 73.0272"; + rotation = "0 0 -1 46.4096"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "-272.108 310.724 73.0272 0 0 -1 0.81"; + team = "1"; + WayPoint = "17952"; + Trigger = "17953"; + Target = "41"; + className = "FlagObj"; + locked = "false"; + isHome = "1"; + }; + new Turret() { + position = "-392.917 337.374 105.852"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "42"; + locked = "false"; + }; + new StaticShape() { + position = "-420.062 337.648 98.9569"; + rotation = "-0.510106 0.518032 0.686611 111.926"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + hitBy5757 = "1"; + Target = "43"; + combo5757_8 = "1"; + locked = "false"; + }; + new Turret() { + position = "-461.42 215.522 129.65"; + rotation = "0 0 -1 102.559"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "44"; + }; + new StaticShape() { + position = "-457.323 223.904 120.09"; + rotation = "-0 0 -1 12.6052"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17750"; + team = "1"; + Target = "45"; + notReady = "1"; + inUse = "Down"; + locked = "false"; + }; + new StaticShape() { + position = "-454.269 210.261 120.09"; + rotation = "0 0 1 164.439"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17752"; + team = "1"; + Target = "46"; + notReady = "1"; + inUse = "Down"; + locked = "false"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "427.723 277.416 79.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "3"; + + new InteriorInstance(InteriorInstance) { + position = "423.694 217.686 109.261"; + rotation = "0 0 1 105.632"; + scale = "1 1.1 1"; + interiorFile = "TL_magnumbase.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "447.533 209.489 98.785"; + rotation = "0.0999147 0.703887 0.70325 191.468"; + scale = "0.686038 0.726239 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + hitBy5757 = "1"; + Target = "47"; + combo5757_8 = "1"; + locked = "false"; + }; + new StaticShape() { + position = "468.681 206.51 98.8302"; + rotation = "-0.981447 0.135915 0.135233 91.021"; + scale = "0.686038 0.726239 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + hitBy5757 = "1"; + Target = "48"; + combo5757_8 = "1"; + locked = "false"; + }; + new Item() { + position = "443.155 205.871 115.672"; + rotation = "0 0 -1 74.2769"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "462.902 214.006 101.489"; + rotation = "0 0 1 13.3861"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17762"; + team = "2"; + hitBy5757 = "1"; + Target = "49"; + combo5757_8 = "1"; + locked = "false"; + }; + new StaticShape() { + position = "459.101 200.469 101.489"; + rotation = "0 0 1 195.769"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17764"; + team = "2"; + hitBy5757 = "1"; + Target = "50"; + combo5757_8 = "1"; + locked = "false"; + }; + new InteriorInstance() { + position = "270.155 308.854 83.8651"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + interiorFile = "bmisc_-nef_flagstand1_x2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new InteriorInstance() { + position = "140.248 264.27 72.9438"; + rotation = "0 0 1 158.709"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new Turret() { + position = "140.862 264.49 82.8399"; + rotation = "0 0 -1 111.336"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + team = "2"; + Target = "51"; + locked = "false"; + }; + new InteriorInstance() { + position = "390.049 345.925 78.4573"; + rotation = "-0 0 -1 89.7465"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "true"; + }; + new StaticShape() { + position = "379.499 339.232 80.5"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17770"; + team = "2"; + Target = "52"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "379.417 352.72 80.5"; + rotation = "-0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17772"; + team = "2"; + Target = "53"; + }; + new InteriorInstance() { + position = "522.139 268.703 145.141"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "522.272 268.678 154.941"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "54"; + locked = "false"; + }; + new Item() { + position = "396.025 345.882 80.623"; + rotation = "0 0 1 89.7718"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "true"; + }; + new Item() { + position = "259.678 301.841 71.8736"; + rotation = "0 0 1 219.443"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + originalPosition = "259.678 301.841 71.8736 0 0 1 3.83"; + team = "2"; + WayPoint = "17954"; + Trigger = "17955"; + Target = "55"; + className = "FlagObj"; + locked = "false"; + isHome = "1"; + }; + new Turret() { + position = "373.985 346.15 88.4534"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "56"; + }; + new StaticShape() { + position = "401.115 345.884 81.5708"; + rotation = "-0.508659 -0.515262 -0.689761 111.321"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "57"; + }; + new Turret() { + position = "461.245 207.462 111.063"; + rotation = "0 0 1 105.997"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "5757"; + hitBy5757 = "1"; + damageTimeMS = "93654"; + Target = "58"; + combo5757_8 = "1"; + }; + new StaticShape() { + position = "457.1 215.552 101.489"; + rotation = "0 0 1 11.0944"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17782"; + team = "2"; + hitBy5757 = "1"; + Target = "59"; + combo5757_8 = "1"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + }; + new StaticShape() { + position = "453.267 202.041 101.489"; + rotation = "0 0 1 193.868"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "17784"; + team = "2"; + hitBy5757 = "1"; + Target = "60"; + combo5757_8 = "1"; + locked = "false"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(AudioCreatures) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition7BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-12 100 89.75"; + rotation = "0.511629 0.0616438 -0.856992 49.3713"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "652 316 129.219"; + rotation = "-0.28066 -0.0192726 -0.959614 116.139"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-564 -572 142.062"; + rotation = "0.0770941 0.322992 -0.943256 86.3321"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-44 572 79.4999"; + rotation = "0.674818 0.698795 0.237288 8.41429"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-756 196 134.422"; + rotation = "0.104358 0.216856 0.97061 102.673"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-148 12 163.578"; + rotation = "0.0918771 -0.104638 0.990257 125.458"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-676 -580 106.391"; + rotation = "-0.0171822 -0.426587 -0.904283 68.2478"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "76 116 75.4063"; + rotation = "-0.0884055 -0.0139233 0.995987 234.811"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 -156 147.125"; + rotation = "-0.502534 0.58005 0.641094 24.7297"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 36 126.438"; + rotation = "0.173851 0.109585 0.978656 112.15"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-252 -324 125.125"; + rotation = "-0.0968508 -0.551237 -0.828709 49.7077"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-380 -36 127.484"; + rotation = "0.313674 0.124422 -0.941344 68.1779"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "356 -276 145.906"; + rotation = "0.0635056 0.299004 -0.952136 49.0896"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "308 372 74.8438"; + rotation = "-0.0972344 -0.146905 0.98436 23.3555"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "412 -460 193.156"; + rotation = "-0.215704 -0.0700861 0.97394 127.214"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "596 484 119.516"; + rotation = "-0.0122533 0.280631 -0.959737 87.3483"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-116 -596 51.6094"; + rotation = "0.0588566 -0.0848876 0.994651 161.1"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "436 756 159.141"; + rotation = "0.192398 0.558329 0.807001 28.2998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-580 20 130.797"; + rotation = "0.263258 0.141094 0.954352 185.727"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-692 -196 122.797"; + rotation = "-0.345291 -0.75304 -0.560094 44.8025"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 156 70.4532"; + rotation = "0.206152 -0.371909 0.905088 62.9698"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-76 180 55.2968"; + rotation = "0.0370964 -0.707841 0.705398 8.49804"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 -204 75.9531"; + rotation = "0.240007 0.144931 0.959891 221.424"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "155.972 388.083 140.242"; + rotation = "-0.0799223 -0.259548 0.962417 111.062"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 612 155.578"; + rotation = "0.0982479 0.505509 -0.85721 51.5806"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "260 580 129.625"; + rotation = "0.18401 -0.230991 -0.955397 92.6135"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-564 -372 171.453"; + rotation = "-0.00421559 -0.644101 0.764929 54.4936"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-468 -508 160.266"; + rotation = "0.302029 -0.0945175 0.948602 108.884"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-92 916 137.563"; + rotation = "-0.58955 -0.145895 0.794446 64.2234"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "28 804 133.875"; + rotation = "0.30482 -0.518827 0.798688 29.8057"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 148 89.8906"; + rotation = "0.0633851 -0.372995 -0.925666 45.0464"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 284 150.391"; + rotation = "0.400599 0.595167 -0.696633 29.7965"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "348 388 74.0156"; + rotation = "0.0763144 -0.121958 0.989597 179.01"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "284 -60 112.406"; + rotation = "0.0863861 -0.295679 0.951373 110.695"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "524 388 128.672"; + rotation = "-0.193859 0.108562 -0.975004 104.409"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "12 60 111.594"; + rotation = "-0.0989498 0.313441 0.944438 230.43"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-164 -284 163.813"; + rotation = "0.0859986 -0.111349 -0.990053 68.532"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-860 284 120.875"; + rotation = "0.39599 -0.0543835 0.916643 22.8614"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 76 131.25"; + rotation = "-0.0505095 0.0551214 0.997201 85.1598"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-676 588 103.531"; + rotation = "-0.70262 -0.529461 -0.47539 32.9391"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-388 -636 139.594"; + rotation = "-0.0455591 -0.368407 0.928548 24.7173"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-156 796 118.703"; + rotation = "0.12804 -0.238474 0.962671 227.375"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-100 108 84.0312"; + rotation = "-0.0245479 -0.247757 -0.968511 106.763"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-36 564 82.3594"; + rotation = "0.364524 0.550736 0.750874 30.321"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-684 668 148.766"; + rotation = "-0.316709 -0.219055 0.922881 99.559"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-60 -92 149.859"; + rotation = "0.729198 0.677533 0.0960174 10.3865"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-172 -140 158.734"; + rotation = "0.301157 -0.019265 0.95338 57.2711"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-820 -516 154.359"; + rotation = "0.246984 -0.114637 0.962215 151.085"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-852 -124 164.734"; + rotation = "-0.293984 -0.0265952 -0.95544 99.584"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "260.052 187.97 81.6372"; + rotation = "-0.136122 0.0655016 0.988524 187.908"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-516 668 155.719"; + rotation = "-0.075361 0.339931 0.937426 118.308"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 540 127.172"; + rotation = "0.205165 0.101069 0.973495 160.52"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "364 796 102.156"; + rotation = "0.614605 0.719611 0.323142 27.376"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-756 452 169.125"; + rotation = "-0.0508188 -0.183705 0.981667 186.872"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "100 404 146.719"; + rotation = "0.106928 0.60076 0.792246 51.7028"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "332.221 155.984 111.151"; + rotation = "0.297769 0.234558 -0.925374 99.4079"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "292 -188 146.016"; + rotation = "-0.0538775 0.298033 0.953034 134.983"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "172 684 86.7343"; + rotation = "-0.577885 0.616756 -0.534472 34.7708"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-492 340 134.828"; + rotation = "-0.369525 -0.552928 -0.746808 56.8272"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-652 36 106.703"; + rotation = "0.324742 -0.199611 -0.924499 85.4653"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-476 -284 190.016"; + rotation = "-0.00188321 0.0851801 0.996364 184.982"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "524 -164 106.406"; + rotation = "0.237821 0.255333 0.937148 128.95"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-860 -420 153.25"; + rotation = "0.0563504 0.0424631 0.997508 164.04"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "44 -84 151.625"; + rotation = "0.115744 -0.135554 0.983986 117.821"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "172 708 97.8125"; + rotation = "-0.236873 -0.0701642 0.969004 124.5"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-348 -252 150.391"; + rotation = "-0.602474 0.798139 9.28464e-06 27.0389"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-28 -60 155.953"; + rotation = "0.0470075 -0.0277395 -0.998509 112.079"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-788 132 137.953"; + rotation = "0.284374 0.270059 -0.919891 74.5561"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-676 332 125.25"; + rotation = "-0.277187 -0.0522702 0.959393 127.898"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-492 -316 174.719"; + rotation = "-0.482928 0.121318 -0.867215 47.752"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "372 -68 140"; + rotation = "0.163112 0.0691238 0.984183 108.867"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-820 524 142.938"; + rotation = "-0.201217 0.180963 0.962686 17.6487"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 364 86.0469"; + rotation = "0.268533 -0.0889413 0.959156 180"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-492 -468 190.703"; + rotation = "0.159538 0.622173 0.766452 14.3211"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-244 580 129.219"; + rotation = "0.0906122 0.268417 0.959032 180"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition8BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-364 396 82.3031"; + rotation = "0.0727983 -0.0362821 0.996687 165.049"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "620 292 141.053"; + rotation = "0.145798 -0.20168 0.968539 134.325"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-388 172 155.538"; + rotation = "0.205555 0.275766 0.938989 215.834"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "724 820 154.709"; + rotation = "-0.153507 -0.207412 -0.966134 29.9715"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "396 172 142.225"; + rotation = "0.684386 -0.0606745 0.726591 50.712"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-772 420 155.928"; + rotation = "0.12924 -0.0806581 0.988328 235.444"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-484 -116 87.2563"; + rotation = "0.106185 0.282003 -0.953519 110.573"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-28 -76 153.522"; + rotation = "-0.178384 -0.303553 0.935967 68.4822"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 -204 160.709"; + rotation = "0.0341055 0.219503 0.975016 150.717"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "644 -324 162.647"; + rotation = "-0.133281 -0.517711 -0.84511 64.3529"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-732 -420 172.319"; + rotation = "-0.0505657 -0.0286088 0.998311 238.917"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-780 -436 182.725"; + rotation = "-0.0219904 0.0505742 0.998478 226.937"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-524.217 275.954 154.097"; + rotation = "0.0509612 -0.0448035 0.997695 126.837"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-2.58757 742.975 188.625"; + rotation = "-0.124236 -0.0501945 0.990982 44.3617"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "636 564 100.741"; + rotation = "-0.103655 -0.484981 -0.86836 54.2904"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "236 -4 165.85"; + rotation = "-0.0754875 0.182035 0.98039 201.579"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "724 60 176.819"; + rotation = "-0.29256 -0.0050626 0.956234 123.172"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-740 596 147.069"; + rotation = "-0.858141 0.473155 -0.199293 24.7138"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "12 -564 100.741"; + rotation = "-0.961364 -0.0579679 -0.269107 36.0199"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "308 428 98.2875"; + rotation = "-0.698299 -0.512568 -0.499652 40.7029"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 612 115.1"; + rotation = "-0.0828025 0.217777 0.97248 65.4456"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-860 524 139.553"; + rotation = "-0.831232 -0.555926 1.25074e-05 20.2489"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "388 84 127.116"; + rotation = "-0.440215 -0.581219 -0.684394 48.1425"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "492 44 107.975"; + rotation = "-0.629873 0.430177 0.64669 10.8057"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "604 300 144.725"; + rotation = "0.858422 -0.501849 -0.106112 36.4331"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 660 81.0844"; + rotation = "0.00520707 -0.149102 0.988808 183.956"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "500 460 140.647"; + rotation = "0.181316 0.121211 0.975926 226.971"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 180 78.3031"; + rotation = "-0.0115795 0.0944884 0.995459 110.245"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-420 588 135.459"; + rotation = "-0.384084 0.290876 0.876282 81.3869"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "220 -396 118.241"; + rotation = "0.265101 0.125787 -0.955981 92.5786"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "244 -612 146.662"; + rotation = "0.0739786 0.284289 -0.95588 105.506"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 -36 127.944"; + rotation = "-0.0735749 0.464531 -0.882495 78.9278"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "260 -444 129.444"; + rotation = "0.473107 0.23075 0.850249 59.6798"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "140 236 54.4125"; + rotation = "0 0 -1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-468 932 160.975"; + rotation = "-0.0101133 0.182651 -0.983126 101.956"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "524 -276 194.397"; + rotation = "0.00841075 0.206602 0.978389 190.764"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-332 548 156.553"; + rotation = "-0.29951 0.274324 -0.913805 29.4404"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "204 -212 142.397"; + rotation = "-0.179064 -0.117064 0.976848 192.702"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-828 140 131.491"; + rotation = "0.188723 0.0132131 0.981941 158.388"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-396 228 110.709"; + rotation = "0.556073 -0.224732 -0.800174 62.7274"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-468 916 156.631"; + rotation = "-0.591472 0.21741 -0.776462 23.058"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-412 764 145.428"; + rotation = "0.188787 -0.485805 -0.853436 77.6896"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-740 -108 177.116"; + rotation = "0.406009 -0.0473217 -0.912643 33.8051"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 444 95.9594"; + rotation = "-0.176973 -0.173213 0.968854 230.585"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 228 75.1938"; + rotation = "-0.0541738 -0.00378832 -0.998524 82.0836"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-436 76 113.881"; + rotation = "-0.0855242 -0.0966953 0.991633 239.584"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-668 564 94.7407"; + rotation = "0.120456 0.0111381 0.992656 137.287"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 -564 159.084"; + rotation = "0.293338 -0.0582324 0.954234 150.355"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-180 756 119.866"; + rotation = "-0.0790438 0.177429 0.980954 226.2"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-676 580 100.334"; + rotation = "-0.229898 -0.555022 0.799436 54.7803"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "532 -20 129.975"; + rotation = "0.150283 -0.0486417 -0.987446 89.7241"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-260 -452 133.819"; + rotation = "0.716699 0.602529 0.351143 25.266"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 452 119.178"; + rotation = "-0.23746 0.308974 -0.92095 70.3793"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-228 -492 162.647"; + rotation = "0.186134 -0.396782 0.898843 59.0949"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-84 12 128.725"; + rotation = "-0.0468844 -0.247837 -0.967667 119.65"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-820 -492 161.131"; + rotation = "0.0909731 -0.307123 0.947312 125.562"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-812 140 129.162"; + rotation = "0.0591253 0.0504979 0.996973 81.1721"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "60 20 113.6"; + rotation = "0.985672 0.0214339 -0.167304 23.5804"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "476 -164 94.85"; + rotation = "0.299084 0.155694 0.941439 146.934"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "692 308 116.725"; + rotation = "0.337286 -0.303513 0.891133 36.7737"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 -308 141.178"; + rotation = "-0.386398 0.601222 0.699449 41.9223"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 132 116.319"; + rotation = "-0.148413 -0.98626 -0.0725577 39.6855"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 52 111.944"; + rotation = "-0.242921 0.099032 0.964978 209.964"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "380 380 78.225"; + rotation = "0 0 1 66.0002"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "204 660 104.834"; + rotation = "-0.307754 0.0791975 0.948164 137.116"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "540 300 142.819"; + rotation = "-0.0476211 0.280006 0.958816 125.974"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "716 820 155.006"; + rotation = "-0.025654 -0.0247739 0.999364 178.001"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-740 188 132.303"; + rotation = "0.316381 -0.179367 0.931521 83.0136"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "20 -172 149.522"; + rotation = "-0.560509 -0.0781623 0.824452 20.5492"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-412 396 93.1"; + rotation = "-0.580924 -0.32867 -0.74465 40.8532"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-12 196 59.0844"; + rotation = "-0.821318 0.556906 0.123661 23.9121"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-540 -396 168.647"; + rotation = "0.877617 0.414588 -0.240636 28.5225"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-836 204 169.866"; + rotation = "0.202451 -0.59152 0.78046 42.7837"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 596 90.6469"; + rotation = "-0.113774 0.0244389 0.993206 209.805"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 788 107.975"; + rotation = "0.70833 -0.210235 0.673847 46.1028"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(cam4) { + position = "402.221 387.98 90.8521"; + rotation = "0 0 1 216.188"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera(cam1) { + position = "-229.009 321.757 105.26"; + rotation = "0.152729 0.186643 -0.970483 103.091"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera(cam3) { + position = "250.85 240.383 90.8382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "true"; + }; + new Camera(cam1) { + position = "-369.615 396.985 110.942"; + rotation = "0.0125305 -0.0861612 0.996202 163.513"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new Precipitation(Precipitation) { + position = "-247.458 326.721 197.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "rain"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.600000 0.600000 0.600000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "1.25"; + maxVelocity = "4"; + maxNumDrops = "400"; + maxRadius = "80"; + + locked = "true"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new SimGroup() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Cinerarium.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Cinerarium.mis new file mode 100644 index 00000000..15344373 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Cinerarium.mis @@ -0,0 +1,1406 @@ +// DisplayName = DMP-Cinerarium +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//By the rude bridge that arched the flood, +//Their flag to April's breeze unfurled, +//Here once the embattled farmers stood, +//And fired the shot heard round the world. +// --Ralph Waldo Emerson, Concord Hymm +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//10 caps to win. +//Map by Killin is fun (Editing: Flyguy) +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "10"; + musicTrack = "lush"; + + new MissionArea(MissionArea) { + area = "-512 -488 864 960"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "false"; + }; + new Sun() { + position = "-1224 -1216 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.761924 0.534326 -0.366017"; + color = "0.700000 0.600000 0.600000 1.000000"; + ambient = "0.700000 0.650000 0.650000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "Cinerarium.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + conjoinBowlDev = "20"; + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + GraphFile = "cinereous.nav"; + YDimOverSize = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1224 -1216 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "250"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.200000 0.200000 0.200000 1.000000"; + fogDistance = "150"; + fogColor = "0.100000 0.100000 0.100000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "kif_lava_starrynight62.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-47.1584 291.327 138.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-86.3461 165.651 89.534"; + rotation = "0 0 1 19.4806"; + scale = "1.2 1.2 1.2"; + interiorFile = "kif_cinereousfs.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-87.1133 336.77 153.738"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-11.6603 341.714 151.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new StaticShape() { + position = "-86.7234 336.77 155.7"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + notReady = "1"; + Trigger = "5873"; + team = "1"; + invincible = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-11.9906 341.714 153.2"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + notReady = "1"; + Trigger = "5875"; + team = "1"; + invincible = "1"; + Target = "34"; + }; + new InteriorInstance() { + position = "-50.6657 465.734 114.123"; + rotation = "-0.841446 0.0330567 0.539329 95.3008"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-78.1952 149.318 92.198"; + rotation = "-0.264267 0.229481 0.93675 176.361"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new StaticShape() { + position = "-4.9896 196.114 124.948"; + rotation = "0 0 1 35.5234"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "35"; + }; + new Item() { + position = "-48.1438 333.314 141.044"; + rotation = "0 0 1 30.3667"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-47.7715 335.762 140.715"; + rotation = "0.253415 0.960118 0.11813 175.907"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-47.1576 330.142 140.828"; + rotation = "-0.879371 0.238646 0.412013 66.7439"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-5.09948 196.028 115.458"; + rotation = "-0 0 -1 2.29172"; + scale = "0.7 1.1 1.1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-20.3902 519.788 113.573"; + rotation = "-0.841446 0.0330567 0.539329 95.3008"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-102.494 514.872 115.619"; + rotation = "-0.877618 -0.323148 0.354066 88.3381"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "-78.2008 592.489 126.169"; + rotation = "-0.841446 0.0330567 0.539329 95.3008"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "25.9613 400.034 126.214"; + rotation = "-0.756272 0.14933 0.636987 96.6656"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "130.297 394.914 85.8712"; + rotation = "-0.841446 0.0330567 0.539329 95.3008"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + }; + new Item() { + position = "-86.4128 165.463 94.347"; + rotation = "0 0 1 108.289"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + originalPosition = "-86.4128 165.463 94.347 0 0 1 1.89"; + locked = "false"; + WayPoint = "6006"; + team = "1"; + Trigger = "6007"; + Target = "36"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-13.9808 -309.828 120.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "-96.5658 -172.409 90.4499"; + rotation = "-0 0 -1 17.1887"; + scale = "1.2 1.2 1.2"; + interiorFile = "kif_cinereousfs.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-44.5976 -346.668 159.306"; + rotation = "0 0 1 177.708"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "43.5144 -335.85 162.556"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + interiorFile = "kif_cinereousinv.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "-44.1056 -346.648 161.27"; + rotation = "0 0 -1 92.2918"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + notReady = "1"; + Trigger = "5898"; + team = "2"; + invincible = "1"; + Target = "37"; + }; + new StaticShape() { + position = "43.2248 -335.86 164.5"; + rotation = "0 0 1 88.8541"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + locked = "false"; + notReady = "1"; + Trigger = "5900"; + team = "2"; + invincible = "1"; + Target = "38"; + }; + new InteriorInstance(InteriorInstance) { + position = "-14.5062 -203.669 121.275"; + rotation = "-0 0 -1 16.0429"; + scale = "0.7 1.1 1.1"; + interiorFile = "dmisc1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-86.583 -154.968 92.8049"; + rotation = "-0.0429536 0.14436 0.988593 147.217"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "-14.5434 -203.589 130.844"; + rotation = "-0 0 -1 17.7617"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "39"; + }; + new Item() { + position = "-2.10692 -348.523 148.074"; + rotation = "0 0 1 225.746"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-1.17718 -345.922 146.2"; + rotation = "0.0462612 0.109662 0.992892 225.453"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-3.34978 -351.227 147.202"; + rotation = "0 0 1 225.746"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + }; + new Item() { + position = "-96.8031 -172.318 95.3979"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + searchSchedule = "55161"; + originalPosition = "-96.8031 -172.318 95.3979 0 0 1 1.28"; + locked = "false"; + WayPoint = "6008"; + team = "2"; + Trigger = "6009"; + Target = "40"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-143.314 -6.80853 135.577"; + rotation = "0 0 1 90"; + scale = "0.6 0.6 0.6"; + interiorFile = "kif_cinereousplat1.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-206.676 -208.488 97.041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "-134.854 -8.50874 136.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new Item() { + position = "-134.91 -5.08855 136.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + Target = "-1"; + }; + new ParticleEmissionDummy() { + position = "-206.667 -208.678 97.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "-162.088 218.739 101.258"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-161.973 218.892 100.571"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-656.643 -40.1987 89.0891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "-656.635 -40.3887 89.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "155.198 148.32 91.856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "155.207 148.128 92.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-163.236 -21.5289 183.014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/fog.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.6"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new AudioEmitter() { + position = "-157.524 -26.84 196.47"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + new InteriorInstance() { + position = "195.767 -38.4187 79.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "195.776 -38.6086 80.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "242.123 580.502 86.537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "242.114 580.694 85.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "433.446 469.662 80.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "433.437 469.854 79.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "-669.732 351.719 94.403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "-669.741 351.911 93.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new Item() { + position = "-134.815 -6.76874 136.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-186.36 -451.667 73.453"; + rotation = "0 0 1 49.2744"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "-186.5 -451.797 74.14"; + rotation = "0 0 1 49.2744"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + new InteriorInstance() { + position = "437.993 -180.538 95.314"; + rotation = "-0 0 -1 79.6411"; + scale = "1 1 1"; + interiorFile = "dvent.dif"; + showTerrainInside = "0"; + + locked = "false"; + }; + new ParticleEmissionDummy() { + position = "438.183 -180.568 96.001"; + rotation = "-0 0 -1 79.6411"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "LightDamageSmoke"; + velocity = "1"; + + locked = "false"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-108.273 -317.385 208.604"; + rotation = "0.428985 -0.23057 0.87339 63.2158"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera() { + position = "-227.73 -26.6483 159.141"; + rotation = "-0.0370127 0.026369 0.998967 70.9905"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera() { + position = "-11.2586 113.348 141.919"; + rotation = "0.142782 0.0385403 -0.989003 30.5314"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; + new SimGroup(trees) { + + powerCount = "0"; + + new TSStatic() { + position = "270.918 102.183 98.479"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-121.939 7.29131 132.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-153.517 -21.6683 131.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-281.96 755.595 96.601"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-249.351 924.828 87.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-42.5942 782.188 72.175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-25.3912 787.747 71.5301"; + rotation = "0 0 1 93.3921"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-69.9797 648.502 96.08"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-146.554 630.508 107.517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-402.246 587.257 88.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-468.255 623.684 83.378"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-550.187 449.179 116.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-646.014 251.779 78.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-617.354 231.918 86.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-614.218 212.013 88.151"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-636.27 206.357 86.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-634.656 232.665 82.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-506.009 42.6142 107.191"; + rotation = "0 0 1 85.9436"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-522.657 35.8022 104.785"; + rotation = "0 0 1 85.9436"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-526.327 51.9863 105.176"; + rotation = "0 0 1 85.9436"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-239.029 -27.6083 115.146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-224.617 -34.5086 115.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-232.663 -42.9889 114.638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "70.4039 -4.57855 77.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "62.2313 -23.2782 79.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "58.139 -5.35857 78.817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "80.6442 136.134 127.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-37.2185 290.379 108.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-24.0955 440.012 125.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-163.183 492.199 95.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "88.804 718.462 109.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-71.6931 173.063 92.2531"; + rotation = "0 0 1 46.9826"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "300.193 746.573 94.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "90.1209 367.446 110.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "38.2406 -545.168 135.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-340.357 -265.888 124.224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "320.749 -443.207 124.272"; + rotation = "0 0 1 100.841"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "795.553 482.66 117.491"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "808.708 474.974 115.83"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "792.654 463.283 114.251"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "303.431 375.125 120.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "103.851 590.225 102.951"; + rotation = "0 0 1 65.8901"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-211.915 659.786 142.966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "290.708 362.78 114.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "300.611 362.775 114.051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-830.4 45.4252 118.986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-105.043 -187.889 93.206"; + rotation = "0 0 1 38.9611"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-337.877 253.965 122.911"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-72.9117 55.2682 129.669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-447.111 -214.168 119.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-699.998 -554.452 106.59"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-705.408 -819.773 101.354"; + rotation = "0 0 -1 13.1781"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-711.505 -999.329 96.5424"; + rotation = "0 0 1 46.4096"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "-300.788 -1067.62 104.22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "128.741 -696.691 121.577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "567.866 40.4041 111.724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "533.677 -315.38 116.369"; + rotation = "0 0 -1 108.289"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "721.802 -479.51 116.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "515.872 -820.299 117.924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + new TSStatic() { + position = "333.332 -699.852 98.8757"; + rotation = "0 0 -1 114.019"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "false"; + }; + }; + new Precipitation(Precipitation) { + position = "-77.8813 186.988 102.106"; + rotation = "0 0 1 19.4806"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.400000 0.400000 0.400000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.1"; + minVelocity = "0.05"; + maxVelocity = "0.25"; + maxNumDrops = "200"; + maxRadius = "125"; + + locked = "false"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_DermCity.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_DermCity.mis new file mode 100644 index 00000000..3adefeb6 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_DermCity.mis @@ -0,0 +1,3392 @@ +// DisplayName = DMP-DermCity +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//where's my derm city map +// -- lghtspd +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Each team has respawning havok. +//Midfield territory can be captured for forward spawns. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + musicTrack = "badlands"; + CTF_timeLimit = "25"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-664 -1024 1328 2000"; + flightCeiling = "512"; + flightCeilingRange = "20"; + + team = "1"; + locked = "true"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.871205 -0.141832 -0.469984"; + color = "1.000000 0.850000 0.600000 1.000000"; + ambient = "0.500000 0.500000 0.600000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + team = "1"; + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "rst_dermcity.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + team = "1"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + YDimOverSize = "0"; + team = "1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + coverage = "0"; + GraphFile = "Misadventure.nav"; + scale = "1 1 1"; + XDimOverSize = "0"; + locked = "true"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.100000 0.200000 0.300000 1.000000"; + fogDistance = "325"; + fogColor = "0.800000 0.500000 0.200000 1.000000"; + fogVolume1 = "50 500 200"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "eve8.dml"; + windVelocity = "100 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 0"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + team = "1"; + cloudSpeed0 = "0.001000 0.001000"; + locked = "true"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new TSStatic() { + position = "793.766 55.1398 216.662"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + shapeName = "rst-goonflag.dts"; + + team = "0"; + }; + new TSStatic() { + position = "250.453 447.543 193.538"; + rotation = "0.0286048 0.149377 0.988366 201.435"; + scale = "1 1 1"; + shapeName = "rst-turtle.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-253.035 535.422 206.865"; + rotation = "0 0 -1 65.8902"; + scale = "0.25 0.25 0.25"; + shapeName = "rst-TCmug.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-431.756 -852.307 167.547"; + rotation = "0 0 1 94.1476"; + scale = "0.25 0.25 0.25"; + shapeName = "rst-TNmug.dts"; + + team = "0"; + }; + new TSStatic() { + position = "337.351 -456.806 123.013"; + rotation = "0 0 1 52.1392"; + scale = "1 1 1"; + shapeName = "rst-chocotaco.dts"; + + team = "0"; + }; + new TSStatic() { + position = "561.728 -299.884 236.317"; + rotation = "0 0 -1 71.0468"; + scale = "1 1 1"; + shapeName = "vend.dts"; + + team = "0"; + }; + new TSStatic() { + position = "31.1854 -846.219 135.793"; + rotation = "0 0 1 13.751"; + scale = "0.5 0.5 0.5"; + shapeName = "rst-taobook.dts"; + + team = "0"; + }; + new TSStatic() { + position = "117.05 -351.76 99.4038"; + rotation = "0.998864 0.00499438 -0.0473906 12.0459"; + scale = "1 1 1"; + shapeName = "rst-samifin.dts"; + + team = "0"; + }; + }; + new SimGroup(team1) { + + powerCount = "2"; + + new StaticShape() { + position = "-2.96726 870.917 198.587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + invincible = "1"; + noflag = "1"; + Trigger = "13769"; + team = "1"; + oneway = "0"; + linkID = "1"; + linkTo = "3\t4"; + }; + new Item() { + position = "-2.91288 734.321 134.268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + team = "1"; + WayPoint = "10150"; + Trigger = "10151"; + Target = "34"; + className = "FlagObj"; + originalPosition = "-2.91288 734.321 134.268 1 0 0 0"; + }; + new StaticShape() { + position = "-44.4237 836.614 144.73"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9806"; + team = "1"; + Target = "35"; + inUse = "Down"; + }; + new StaticShape() { + position = "-12.7167 835.329 179.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + damageTimeMS = "1348543"; + lastDamagedBy = "4137"; + Target = "36"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "38.3763 836.614 144.73"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9809"; + team = "1"; + Target = "37"; + inUse = "Down"; + }; + new StaticShape() { + position = "6.8833 831.129 179.982"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + damageTimeMS = "1348543"; + lastDamagedBy = "4137"; + Target = "38"; + lastDamagedByTeam = "1"; + }; + new Item() { + position = "-2.98928 857.989 171.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "-2.86736 868.265 168.639"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + repairedBy = "4137"; + team = "1"; + damageTimeMS = "1348543"; + soiledByEnemyRepair = "1"; + lastDamagedBy = "4137"; + Target = "39"; + wasDisabled = "0"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "42.5861 812.688 174.769"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9814"; + team = "1"; + Target = "40"; + inUse = "Down"; + }; + new StaticShape() { + position = "-48.6138 812.688 174.769"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9816"; + team = "1"; + Target = "41"; + inUse = "Down"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "-6.97351 827.575 210.776"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + }; + }; + new StaticShape() { + position = "-2.98431 860.047 218.221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "42"; + }; + new TSStatic() { + position = "6.56986 854.924 199.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new Turret() { + position = "-71.8409 637.375 131.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "43"; + lastProjectile = "12287"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape() { + position = "-48.2149 841.457 162.332"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9824"; + team = "1"; + Target = "44"; + inUse = "Down"; + }; + new StaticShape() { + position = "42.6895 856.181 162.2"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9826"; + team = "1"; + Target = "45"; + inUse = "Down"; + }; + new TSStatic() { + position = "-27.8002 855.405 162.167"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-48.2702 840.263 171.675"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-49.0523 855.996 162.181"; + rotation = "-0 -0 1 114.064"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "43.1998 842.405 162.167"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "22.5693 857.826 162.189"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-48.8373 867.205 144.76"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "42.7989 826.101 174.778"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-49.4745 825.858 174.775"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "22.5693 856.626 162.189"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "22.5693 855.426 162.189"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-24.6002 855.405 162.167"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "42.7989 823.901 174.778"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "22.5693 856.826 164.189"; + rotation = "0 0 1 194.897"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "22.5693 857.426 163.189"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "22.5693 856.226 163.189"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "42.7989 825.101 176.778"; + rotation = "0 0 1 205.21"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-2.89918 825.801 174.746"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new Item() { + position = "-49.4745 825.858 176.586"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-71.8195 637.477 123.368"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-1.45898 825.958 177.772"; + rotation = "0 0 1 19.389"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Item() { + position = "-3.56028 825.712 177.985"; + rotation = "0 0 1 48.793"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "13.1961 872.249 144.711"; + rotation = "0 0 1 179.931"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-47.5912 872.009 144.705"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-47.5912 874.209 144.705"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-47.5912 874.209 146.705"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-47.5912 872.009 146.705"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "7.62194 866.174 198.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "7.62194 865.374 198.784"; + rotation = "0 0 1 68.7549"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "6.56986 854.924 198.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "1"; + }; + new Item() { + position = "-49.0437 840.303 173.686"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new FlyingVehicle() { + position = "77.3129 724.846 99.6872"; + rotation = "1.54143e-44 -2.8026e-45 1 179.997"; + scale = "1 1 1"; + dataBlock = "hapcFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + team = "1"; + selfPower = "1"; + Target = "46"; + respawnTime = "30000"; + Marker = "10166"; + mountable = "1"; + respawn = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-2.98187 838.313 144.767"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-11.847 856.796 198.743"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9862"; + team = "1"; + Target = "48"; + }; + }; + new SimGroup(team2) { + + powerCount = "2"; + + new StaticShape() { + position = "-5.02263 -878.877 198.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Target = "62"; + invincible = "1"; + noflag = "1"; + Trigger = "13829"; + team = "2"; + oneway = "0"; + linkID = "2"; + linkTo = "3\t4"; + }; + new Item() { + position = "-5.08712 -742.321 134.287"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + team = "2"; + WayPoint = "10152"; + Trigger = "10153"; + Target = "49"; + className = "FlagObj"; + originalPosition = "-5.08712 -742.321 134.287 0 0 1 3.14159"; + searchSchedule = "21812"; + }; + new FlyingVehicle() { + position = "-79.8351 -733.146 99.6873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "hapcFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + team = "2"; + selfPower = "1"; + Target = "50"; + respawnTime = "30000"; + Marker = "10165"; + mountable = "1"; + respawn = "1"; + }; + new Item() { + position = "-5.01072 -865.989 171.885"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "-46.3763 -844.614 144.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9871"; + team = "2"; + Target = "52"; + inUse = "Down"; + }; + new StaticShape() { + position = "36.4237 -844.614 144.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9873"; + team = "2"; + Target = "53"; + }; + new StaticShape() { + position = "-50.5861 -820.688 174.769"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9875"; + team = "2"; + Target = "54"; + inUse = "Down"; + }; + new StaticShape() { + position = "40.6138 -820.688 174.769"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9877"; + team = "2"; + Target = "55"; + inUse = "Down"; + }; + new StaticShape() { + position = "-14.8833 -839.129 179.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + damageTimeMS = "1348543"; + lastDamagedBy = "4137"; + Target = "56"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "4.7167 -843.329 179.982"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + damageTimeMS = "1348543"; + lastDamagedBy = "4137"; + Target = "57"; + lastDamagedByTeam = "1"; + }; + new TSStatic() { + position = "-14.5699 -862.924 199.78"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + new Turret() { + position = "63.8409 -645.375 131.401"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "58"; + lastProjectile = "11449"; + originalBarrel = "PlasmaBarrelLarge"; + }; + new StaticShape() { + position = "-5.01569 -868.047 217.821"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "59"; + }; + new InteriorInstance(InteriorInstance) { + position = "-5.01813 -846.313 144.767"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-4.93264 -876.265 168.639"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + repairedBy = "4137"; + team = "2"; + damageTimeMS = "1348543"; + soiledByEnemyRepair = "1"; + lastDamagedBy = "4137"; + Target = "60"; + wasDisabled = "0"; + lastProjectile = "11453"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-50.6895 -864.181 162.2"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9886"; + team = "2"; + Target = "61"; + }; + new StaticShape() { + position = "40.2149 -849.457 162.332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "9888"; + team = "2"; + Target = "62"; + inUse = "Down"; + }; + new TSStatic() { + position = "-51.1998 -850.405 162.167"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.5693 -865.626 162.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.5693 -864.426 162.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.5693 -865.026 163.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.5693 -863.226 162.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.5693 -863.826 163.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-30.5693 -864.426 164.189"; + rotation = "0 0 -1 20.6266"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "41.0523 -863.996 162.181"; + rotation = "0 0 -1 65.9358"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "19.8002 -863.405 162.167"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "16.4002 -863.405 162.167"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "40.8373 -875.205 144.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.7989 -834.101 174.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.7989 -831.901 174.778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-50.8099 -832.901 176.778"; + rotation = "0 0 -1 61.3065"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-5.10082 -833.801 174.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "41.4745 -833.858 174.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "40.2702 -848.263 171.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new Item() { + position = "41.4745 -833.858 176.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "63.8195 -645.477 123.368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-4.43972 -833.712 177.985"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new Item() { + position = "-6.54102 -833.958 177.772"; + rotation = "0 0 1 199.389"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "39.5912 -880.009 144.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "39.5912 -882.209 144.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "39.5912 -880.009 146.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "39.5912 -882.209 146.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-21.1961 -880.249 144.711"; + rotation = "0 0 -1 0.068528"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-15.6219 -874.174 198.784"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-15.6219 -873.374 198.784"; + rotation = "0 0 -1 111.245"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-14.5699 -862.924 198.78"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "2"; + }; + new Item() { + position = "41.0437 -848.303 173.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "-5.70643 -857.575 190.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "3.82208 -864.619 198.744"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "9924"; + team = "2"; + Target = "64"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-175.99 609.464 190.508"; + rotation = "0 0 1 45.8366"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "167.99 -617.464 190.508"; + rotation = "0 0 1 225.837"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "20.5281 855.906 183.86"; + rotation = "0 0 -1 110.581"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-28.5281 -863.906 183.86"; + rotation = "0 0 1 69.419"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-40.2843 233.233 211.332"; + rotation = "0 0 1 174.752"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "32.2843 -241.233 211.332"; + rotation = "0 0 -1 5.24796"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-382.407 209.538 193.607"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-382.332 209.906 195.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new SimGroup(CityBuildings) { + + powerCount = "0"; + + new InteriorInstance() { + position = "177.039 -222.964 160.185"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_building5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-180.643 220.242 157.031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_building5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-117.821 -647.226 132.292"; + rotation = "0 0 1 138.747"; + scale = "1 1 1"; + interiorFile = "rst_derm_building5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "109.821 639.226 132.292"; + rotation = "0 0 -1 41.253"; + scale = "1 1 1"; + interiorFile = "rst_derm_building5.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-558.86 287.348 148.89"; + rotation = "0 0 1 21.199"; + scale = "1 1 1"; + interiorFile = "rst_derm_building8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-801.776 -73.0686 158.253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_building1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "550.86 -295.348 148.89"; + rotation = "0 0 1 201.199"; + scale = "1 1 1"; + interiorFile = "rst_derm_building8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "793.776 65.0686 158.253"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_building1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "247.142 -523.486 143.139"; + rotation = "0 0 1 42.308"; + scale = "1 1 1"; + interiorFile = "rst_derm_building8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-255.142 515.486 143.139"; + rotation = "0 0 1 222.308"; + scale = "1 1 1"; + interiorFile = "rst_derm_building8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-345.37 448.913 99.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "337.37 -456.913 99.961"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xbunk6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "420.778 695.104 147.54"; + rotation = "0 0 1 163.384"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-428.778 -703.104 147.54"; + rotation = "0 0 -1 16.6158"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "135.952 -1043.21 128.535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-143.952 1035.21 128.535"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-519.782 521.768 157.807"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_building6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "441.675 -1072.18 182.059"; + rotation = "0 0 -1 87.7542"; + scale = "1 1 1"; + interiorFile = "rst_derm_building6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-449.675 1064.18 182.059"; + rotation = "0 0 1 92.2462"; + scale = "1 1 1"; + interiorFile = "rst_derm_building6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "13.0832 469.908 164.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_building7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "497.567 540.539 169.407"; + rotation = "0 0 -1 55"; + scale = "1 1 1"; + interiorFile = "rst_derm_building6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-505.567 -548.539 169.407"; + rotation = "0 0 1 125"; + scale = "1 1 1"; + interiorFile = "rst_derm_building6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "314.425 301.038 145.43"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_building2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "511.782 -529.768 157.807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_building6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-288.007 -835.33 152.078"; + rotation = "0 0 1 210"; + scale = "1 1 1"; + interiorFile = "rst_derm_building3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "280.007 827.33 152.078"; + rotation = "0 0 1 30"; + scale = "1 1 1"; + interiorFile = "rst_derm_building3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "300.475 -786.844 65.3146"; + rotation = "0 0 1 221.826"; + scale = "1 1 1"; + interiorFile = "rst_derm_building4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-308.475 778.844 65.3146"; + rotation = "0 0 1 41.826"; + scale = "1 1 1"; + interiorFile = "rst_derm_building4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "254.214 461.301 101.944"; + rotation = "0 0 1 14.897"; + scale = "1 1 1"; + interiorFile = "rst_derm_building4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-322.425 -309.038 145.43"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_building2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-564.895 -297.654 165.177"; + rotation = "0 0 1 154.217"; + scale = "1 1 1"; + interiorFile = "rst_derm_building3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "556.895 289.654 165.177"; + rotation = "0 0 -1 25.7832"; + scale = "1 1 1"; + interiorFile = "rst_derm_building3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-316.081 -125.038 183.964"; + rotation = "0 0 1 123.85"; + scale = "1 1 1"; + interiorFile = "rst_derm_building7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "92.589 237.215 144.68"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_building3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-100.589 -245.215 144.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_building3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-262.214 -469.301 101.944"; + rotation = "0 0 1 194.897"; + scale = "1 1 1"; + interiorFile = "rst_derm_building4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-21.0832 -477.908 164.198"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_building7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "308.081 117.038 183.964"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + interiorFile = "rst_derm_building7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-266.416 65.2711 155.429"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "rst_derm_building1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "521.645 -62.7823 161.214"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-529.645 54.7823 161.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_derm_pillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "661.447 -863.066 172.052"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_debris2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "393.664 558.715 118.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-401.664 -566.715 118.505"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-112.6 344.546 88.5141"; + rotation = "0 0 1 107.716"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "104.6 -352.546 87.7141"; + rotation = "0 0 -1 72.2838"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-762.676 172.911 174.177"; + rotation = "0 0 1 174.362"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "754.676 -180.911 174.377"; + rotation = "0 0 -1 5.63808"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-99.0344 -768.953 58.374"; + rotation = "0 0 -1 29.312"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "91.0344 760.953 58.374"; + rotation = "0 0 1 150.688"; + scale = "1 1 1"; + interiorFile = "rst_debris1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-512.197 -152.92 103.84"; + rotation = "0 0 1 0.125115"; + scale = "1 1 1"; + interiorFile = "rst_debris2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "504.197 144.92 103.84"; + rotation = "0 0 1 180.125"; + scale = "1 1 1"; + interiorFile = "rst_debris2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-669.447 855.066 174.452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_debris2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "258.416 -73.2711 155.429"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "rst_derm_building1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-255.101 530.74 230.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new Item() { + position = "-254.785 530.558 232.827"; + rotation = "0 0 -1 45.2636"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-253.539 530.522 230.8"; + rotation = "0 0 -1 65.3172"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "247.101 -538.74 230.713"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new Item() { + position = "246.785 -538.558 232.827"; + rotation = "0 0 1 134.736"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "245.539 -538.522 230.8"; + rotation = "0 0 1 114.683"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-266.421 508.791 230.72"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "258.421 -516.791 230.72"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-270.503 514.331 193.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new Item() { + position = "-268.916 514.512 193.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-268.916 513.712 193.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "262.503 -522.331 193.648"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + }; + new Item() { + position = "260.916 -521.712 193.805"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "260.916 -522.512 193.805"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "MortarAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "494.027 536.027 182.785"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-502.027 -544.027 182.785"; + rotation = "0 0 1 212.659"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "801.97 72.5542 233.695"; + rotation = "0 0 1 40.68"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new Item() { + position = "798.316 67.9826 235.061"; + rotation = "0 0 1 40.107"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "796.982 70.4483 235.005"; + rotation = "0 0 1 227.464"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-809.97 -80.5542 233.695"; + rotation = "0 0 1 220.68"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new StaticShape() { + position = "-804.982 -78.4483 235.005"; + rotation = "0 0 1 47.464"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new Item() { + position = "-806.316 -75.9826 235.061"; + rotation = "0 0 1 220.107"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "785.914 73.1314 220.92"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + }; + new TSStatic() { + position = "-793.914 -81.1314 220.92"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + shapeName = "statue_hmale.dts"; + }; + new Item() { + position = "800.873 55.4782 194.776"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-808.873 -63.4782 194.776"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "544.747 -281.007 149.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-552.747 273.007 149.025"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "536.467 -301.855 199.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-544.467 293.855 199.373"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "538.297 -302.84 212.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "545.697 -300.643 186.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-546.297 294.84 212.665"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-553.697 292.643 186.075"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-59.4868 -841.411 143.921"; + rotation = "0 0 1 213.896"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new TSStatic() { + position = "51.4868 833.411 143.921"; + rotation = "0 0 1 33.896"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + }; + new Item() { + position = "523.952 -527.272 183.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-531.352 519.272 183.109"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "523.352 -527.272 183.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-531.952 519.272 183.109"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "521.905 -541.433 195.19"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-529.905 533.433 195.19"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "535.811 -553.818 157.896"; + rotation = "0 0 -1 45.2636"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-543.811 545.818 157.896"; + rotation = "0 0 1 134.736"; + scale = "1 1 1"; + dataBlock = "ShieldPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "258.273 -61.7164 218.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "258.443 -84.8024 218.525"; + rotation = "0 0 -1 42.3989"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-266.273 53.7164 218.533"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-266.443 76.8024 218.525"; + rotation = "0 0 1 137.601"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "94.8562 173.09 120.393"; + rotation = "-0.312323 -0.312323 0.897167 96.2052"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-98.4882 -183.261 119.35"; + rotation = "0.328322 0.328322 0.885669 96.9394"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-153.114 -607.404 106.381"; + rotation = "0.259761 0.627119 0.734334 58.8518"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-536.047 -361.97 152.408"; + rotation = "-0.168237 0.10557 -0.980077 116.817"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-595.781 -238.313 145.532"; + rotation = "0.258442 -0.162172 -0.952317 118.277"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "33.0785 239.536 115.815"; + rotation = "0 1 0 47.5555"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-39.4206 -243.379 117.359"; + rotation = "0 -1 0 44.6907"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "285.677 -555.338 114.506"; + rotation = "-0.274484 -0.70935 0.649216 61.5924"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-19.7655 -444.605 124.096"; + rotation = "-0.0697724 -0.0697724 0.99512 90.2803"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-253.376 -857.83 148.878"; + rotation = "0.188618 -0.0505399 0.980749 209.448"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-318.003 -820.34 152.31"; + rotation = "-0.164093 0.0439687 0.985464 209.583"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "312.228 811.235 149.338"; + rotation = "-0.215288 -0.803466 0.555062 51.5367"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "245.62 849.519 148.058"; + rotation = "0.173634 0.648012 0.741573 39.7322"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "15.282 443.275 123.27"; + rotation = "0.0747202 0.0747202 0.994401 90.3217"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-294.855 548.543 115.459"; + rotation = "-0.358126 0.138577 0.923332 219.322"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "537.446 324.941 162.184"; + rotation = "0.201926 -0.12671 -0.97117 117.283"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "574.558 248.112 160.802"; + rotation = "-0.173078 0.108608 -0.978902 116.878"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "261.973 145.554 119.01"; + rotation = "-0.308449 0.0938613 0.946599 212.138"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-274.542 -154.63 114.384"; + rotation = "0.373257 -0.110564 0.921116 210.523"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "143.097 597.642 106.976"; + rotation = "0.329745 -0.149395 0.932175 225.792"; + scale = "1 1 1"; + interiorFile = "rst_derm_citybridge.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(trees) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-26.8024 371.42 139.103"; + rotation = "0 0 1 195.379"; + scale = "2 2 2"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "18.8024 -379.42 139.103"; + rotation = "0 0 1 15.379"; + scale = "2 2 2"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-719.839 -432.407 165.732"; + rotation = "0 0 -1 96.2569"; + scale = "1 1 1"; + interiorFile = "xrocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "711.839 424.407 165.132"; + rotation = "-0 -0 1 83.7429"; + scale = "1 1 1"; + interiorFile = "xrocka.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-433.924 830.012 149.891"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "425.924 -838.012 149.891"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "409.543 843.396 166.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-417.543 -851.396 166.677"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.40367 107.171 147.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-1.59633 -115.171 147.145"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "820.52 -1240.34 193.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-828.52 1232.34 193.227"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "503.594 961.514 179.989"; + rotation = "0 0 1 60.7336"; + scale = "1 1 1"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-511.594 -969.514 179.989"; + rotation = "0 0 -1 119.266"; + scale = "1 1 1"; + interiorFile = "xspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "570.852 -715.374 165.126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-578.852 707.374 165.326"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xspir3.dif"; + showTerrainInside = "0"; + }; + }; + new Item() { + position = "374.332 -217.906 195.858"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-382.407 209.538 163.146"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "374.407 -217.538 163.146"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "xbrdg10.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "374.407 -217.538 193.607"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "xplat3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(Middle) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "27.3974 23.8977 180.43"; + rotation = "0 0 1 44.6907"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Target = "76"; + invincible = "1"; + noflag = "1"; + Trigger = "14011"; + team = "0"; + oneway = "0"; + linkID = "4"; + linkTo = "1\t2"; + }; + new StaticShape() { + position = "-37.8817 -24.0896 180.448"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Target = "77"; + invincible = "1"; + noflag = "1"; + Trigger = "14013"; + team = "0"; + oneway = "0"; + linkID = "3"; + linkTo = "1\t2"; + }; + new WayPoint() { + position = "-5.21724 -0.161793 173.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Midfield Territory"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Midfield Territory"; + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-5.21724 -0.161793 180.357"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "rst_derm_midfield.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Marker(Territory) { + position = "-5.21724 -0.161793 212.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + + team = "2"; + }; + new Item() { + position = "-28.7888 -33.4523 182.561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PlasmaBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "18.548 32.7842 182.561"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PlasmaBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Turret() { + position = "-78.1654 -25.5311 180.278"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "0"; + Target = "65"; + lastProjectile = "27752"; + }; + new Turret() { + position = "66.8662 25.279 180.278"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "0"; + damageTimeMS = "1092094"; + lastDamagedBy = "25013"; + Target = "66"; + lastProjectile = "27502"; + lastDamagedByTeam = "1"; + }; + new Item() { + position = "19.4371 33.774 182.531"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "MortarBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "17.7618 32.1206 182.515"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "MissileBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-27.9457 -32.7625 182.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MissileBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-29.589 -34.3428 182.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "MortarBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new TSStatic() { + position = "-28.899 -33.1688 180.498"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "18.6186 32.7335 180.498"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new StaticShape() { + position = "-5.21724 -0.161793 172.351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Midfield Territory"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "67"; + Projector = "10105"; + name = "Midfield Territory"; + }; + new Turret() { + position = "-30.5986 -72.9916 180.278"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "0"; + Target = "68"; + lastProjectile = "27752"; + }; + new Turret() { + position = "20.3642 72.268 180.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "0"; + damageTimeMS = "1092094"; + lastDamagedBy = "25013"; + Target = "69"; + lastProjectile = "27502"; + lastDamagedByTeam = "1"; + }; + new Turret() { + position = "18.0183 23.2492 192.378"; + rotation = "0.287929 0.677435 -0.676889 147.898"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "0"; + Target = "70"; + lastProjectile = "27514"; + }; + new Turret() { + position = "-28.4241 -23.5646 192.325"; + rotation = "0.862768 -0.35737 0.357655 98.3811"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "0"; + Target = "71"; + lastProjectile = "43143"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-2.38627 9.03368 241.157"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "25.3971 10.7307 172.429"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "10100"; + team = "0"; + invincible = "1"; + Target = "72"; + inUse = "Down"; + }; + new StaticShape() { + position = "-16.1808 -30.8472 172.429"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "10102"; + team = "0"; + damageTimeMS = "1124861"; + lastDamagedBy = "24873"; + invincible = "1"; + Target = "73"; + inUse = "Down"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "5.45666 30.6711 172.429"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "10104"; + team = "0"; + invincible = "1"; + Target = "74"; + inUse = "Down"; + }; + new StaticShape() { + position = "-5.21724 -0.161793 212.391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + holo = "0"; + team = "0"; + Target = "-1"; + }; + new StaticShape() { + position = "-36.1212 -10.9068 172.429"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "10107"; + team = "0"; + invincible = "1"; + Target = "75"; + inUse = "Down"; + }; + new StaticShape() { + position = "-6.99189 -24.3224 216.282"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + invincible = "1"; + Target = "76"; + }; + new StaticShape() { + position = "-3.69512 24.1006 216.282"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + invincible = "1"; + Target = "77"; + }; + }; + new SimGroup(BridgesAndLamps) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-358.296 -515.498 146.447"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "350.296 507.498 146.447"; + rotation = "0 0 -1 111.818"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-343.787 -465.14 136.408"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "335.787 457.14 136.408"; + rotation = "0 0 -1 107.807"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "335.787 457.14 136.408"; + rotation = "0 0 -1 107.807"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "205.086 -79.1048 137.909"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-214.529 72.1808 137.909"; + rotation = "0 0 1 126.715"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-158.172 -101.103 150.131"; + rotation = "0 0 1 190.222"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "150.172 93.103 150.131"; + rotation = "0 0 1 10.222"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "139.051 -119.207 145.231"; + rotation = "0 0 1 149.542"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-147.051 111.207 145.231"; + rotation = "0 0 -1 30.458"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "87.9069 -160.914 137.909"; + rotation = "0 0 -1 6.30252"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-95.9069 152.914 137.909"; + rotation = "0 0 1 173.697"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-50.2098 -166.944 137.909"; + rotation = "0 0 1 6.8755"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "42.2098 158.944 137.909"; + rotation = "0 0 1 186.876"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-104.302 457.315 119.305"; + rotation = "0 0 1 126.715"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-39.9838 724.578 65.2214"; + rotation = "-0.124675 5.44971e-09 0.992198 180"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "71.7064 724.578 99.6872"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-138.494 724.578 99.6872"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "438.44 -613.012 135.345"; + rotation = "0.0894284 -0.0999293 -0.990968 84.1689"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-447.449 595.943 125.036"; + rotation = "-0.104349 -0.0933842 0.990147 96.9116"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-457.794 502.952 155.223"; + rotation = "0.0895892 0.0801752 0.992747 96.7628"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "449.683 -511.949 155.621"; + rotation = "-0.104096 0.116319 -0.987742 84.3546"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "476.657 -175.228 160.021"; + rotation = "0 0 -1 97.4028"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-484.657 167.228 160.021"; + rotation = "-0 -0 1 82.597"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "169.624 -709.093 118.631"; + rotation = "0 0 1 235.668"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-177.624 701.093 118.631"; + rotation = "0 0 1 55.668"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-168.307 -813.565 135.891"; + rotation = "0 0 1 27.502"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "160.307 805.565 135.891"; + rotation = "0 0 1 207.502"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_lamp.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "96.3018 -465.315 119.305"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "290.405 598.43 136.408"; + rotation = "0 0 -1 107.807"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-299.138 -604.145 136.408"; + rotation = "0 0 1 72.1927"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "130.494 -732.578 99.6872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "31.7202 -732.578 67.7785"; + rotation = "0 -1 0 13.751"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-79.5064 -732.578 99.6872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_Caustic_tri_bridge.dif"; + showTerrainInside = "0"; + }; + }; + new AudioEmitter() { + position = "-3.07914 -1.3078 215.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sandstorm2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.33"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Embers.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Embers.mis new file mode 100644 index 00000000..060246ef --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Embers.mis @@ -0,0 +1,1943 @@ +// Displayname = DMP-Embers +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Two tribes battle amongst the burning ashes of Ymir. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//[CTF]Generators underground +//[CTF]No vehicle stations +//Map by Chano (Edited by The Driver) +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-600 -608 1216 1216"; + flightCeiling = "450"; + flightCeilingRange = "140"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.450000 0.450000 0.550000 1.000000"; + ambient = "0.400000 0.400000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Embers.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + GraphFile = "Wasteland_x2.nav"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.001"; + cloudSpeed2 = "0.002"; + cloudSpeed3 = "0.003"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.250000 0.150000 1.000000"; + fogDistance = "250"; + fogColor = "0.550000 0.350000 0.150000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.93705e+31 2.37594e-15"; + high_fogVolume2 = "-1 -16964.7 -4.91925e-08"; + high_fogVolume3 = "-1 3.35544e+07 0.000931699"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "446.65 -3.88678 126.93"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "298.895 -15.6194 72.665"; + rotation = "1 0 0 0"; + scale = "1.8 1.8 1.8"; + interiorFile = "Xtra_Xerxes_Turret.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "517.757 -4.26157 153.943"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "10588"; + team = "1"; + }; + new StaticShape() { + position = "428.308 -3.4663 127.356"; + rotation = "0 0 1 86.3344"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "10590"; + team = "1"; + }; + new StaticShape() { + position = "536.95 -4.1918 126.386"; + rotation = "-0 0 -1 88.991"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + wasDisabled = "1"; + damageTimeMS = "1386587"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + repairedBy = "5725"; + Trigger = "10592"; + team = "1"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "418.599 -3.37219 127.365"; + rotation = "0 0 -1 94.3311"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "10594"; + team = "1"; + }; + new ForceFieldBare() { + position = "270.079 -0.350669 135.442"; + rotation = "-0.000293945 -0.00125383 -0.999999 26.9279"; + scale = "0.274341 2.57788 0.899246"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + locked = "false"; + team = "1"; + pz = "10596"; + originalscale = "0.274341 2.57788 0.899246"; + }; + new InteriorInstance() { + position = "512.886 -4.237 124.947"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "511.209 6.9491 141.497"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "514.183 -11.602 142.273"; + rotation = "0 0 1 89.9543"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new StaticShape() { + position = "276.648 -134.983 159.594"; + rotation = "0 0 -1 22.3454"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + wasDisabled = "1"; + damageTimeMS = "2664020"; + locked = "false"; + team = "1"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "268.057 -4.8844 138.023"; + rotation = "0.00030131 -0.000301587 1 89.3823"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "39"; + deleteLastProjectile = "1"; + locked = "false"; + zappingSound = "0"; + team = "1"; + }; + new ForceFieldBare() { + position = "268.539 -11.7345 135.462"; + rotation = "0.000305227 -0.00110314 0.999999 30.3678"; + scale = "0.306018 2.65669 0.877701"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + locked = "false"; + team = "1"; + pz = "10604"; + originalscale = "0.306018 2.65669 0.877701"; + }; + new Turret() { + position = "516.178 -3.8761 164.846"; + rotation = "-0.000828454 0.00864547 -0.999962 90.128"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "41"; + damageTimeMS = "3017080"; + locked = "false"; + zappingSound = "0"; + team = "1"; + lastProjectile = "16092"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "511.705 -4.221 131.029"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "42"; + wasDisabled = "1"; + damageTimeMS = "2680534"; + locked = "false"; + team = "1"; + lastProjectile = "16386"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new Trigger() { + position = "422.984 -8.15823 127.365"; + rotation = "0 0 1 176.288"; + scale = "1 1 1"; + dataBlock = "stationTrigger"; + lockCount = "0"; + homingCount = "0"; + polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000"; + + mainObj = "5846"; + station = "5846"; + disableObj = "5846"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "424.975 -1.83712 127.414"; + rotation = "-0 0 -1 0.181308"; + scale = "0.8 0.8 1"; + interiorFile = "pbunk4a_CC.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "309.002 -5.66607 111.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-desert.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new InteriorInstance() { + position = "268.687 -4.87824 113.527"; + rotation = "-0.000298319 -0.00030769 -1 88.8074"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "276.566 -134.926 152.105"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new Item() { + position = "308.871 -5.74834 112.9"; + rotation = "0 0 -1 89.9541"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "43"; + stand = "10614"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + originalPosition = "308.871 -5.74834 112.9 0 0 -1 1.57"; + team = "1"; + WayPoint = "10827"; + Trigger = "10828"; + }; + new StaticShape() { + position = "308.818 -5.74747 62.152"; + rotation = "-0 0 -1 65.8902"; + scale = "1.2 1.2 2"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "2768551"; + flag = "10612"; + locked = "false"; + team = "1"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new SimGroup(FFs) { + + powerCount = "2"; + + new ForceFieldBare() { + position = "431.864 3.74327 126.516"; + rotation = "0 0 1 179.909"; + scale = "17 0.3 7"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + team = "1"; + pz = "10617"; + originalscale = "17 0.3 7"; + }; + new ForceFieldBare() { + position = "431.863 -10.2505 126.548"; + rotation = "0 0 1 179.909"; + scale = "17 0.3 7"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "1"; + pz = "10619"; + originalscale = "17 0.3 7"; + }; + new StaticShape() { + position = "432.041 -3.71863 133.919"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-426.44 -18.8221 117.268"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-523.303 4.0082 141.582"; + rotation = "-0 0 -1 88.8085"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-520.73 -14.6029 140.806"; + rotation = "-0 0 -1 88.8085"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-522.166 -3.383 124.256"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new ForceFieldBare() { + position = "-274.465 -10.6173 135.48"; + rotation = "-0.000294196 -0.00120073 -0.999999 28.0739"; + scale = "0.274341 2.57788 0.899246"; + dataBlock = "defaultNoTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + locked = "false"; + team = "2"; + pz = "10629"; + originalscale = "0.274341 2.57788 0.899246"; + }; + new StaticShape() { + position = "-419.933 -5.98968 127.704"; + rotation = "0 0 1 86.3331"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "10631"; + team = "2"; + }; + new StaticShape() { + position = "-546.225 -2.90876 125.695"; + rotation = "0 0 1 92.2462"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + wasDisabled = "1"; + damageTimeMS = "1839259"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + repairedBy = "5725"; + Trigger = "10633"; + team = "2"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-524.455 -3.56295 145.12"; + rotation = "0 0 1 91.6732"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "-283.446 121.67 160.017"; + rotation = "0 0 -1 22.3454"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "-283.529 121.728 152.528"; + rotation = "0 0 1 67.609"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Turret() { + position = "-273.77 -3.80896 137.815"; + rotation = "-0 0 -1 88.2355"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "51"; + deleteLastProjectile = "1"; + damageTimeMS = "3057962"; + locked = "false"; + zappingSound = "0"; + team = "2"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new ForceFieldBare() { + position = "-275.404 0.792529 135.433"; + rotation = "-0 0 -1 59.5876"; + scale = "2.59774 0.377846 0.838684"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + locked = "false"; + team = "2"; + pz = "10639"; + originalscale = "2.59774 0.377846 0.838684"; + }; + new StaticShape() { + position = "-527.083 -3.25723 153.242"; + rotation = "0 0 -1 90.7095"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "10641"; + team = "2"; + }; + new Turret() { + position = "-525.445 -3.49317 164.138"; + rotation = "-0.00854127 -0.000696204 0.999963 91.6864"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "54"; + wasDisabled = "1"; + deleteLastProjectile = "1"; + damageTimeMS = "2861887"; + locked = "false"; + zappingSound = "0"; + team = "2"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new Turret() { + position = "-520.965 -3.41003 130.28"; + rotation = "-0.0099994 -0.999899 0.0100758 89.5696"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "55"; + damageTimeMS = "2962967"; + locked = "false"; + team = "2"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-429.641 -5.78302 127.695"; + rotation = "0 0 -1 93.0014"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "56"; + notReady = "1"; + locked = "false"; + inUse = "Down"; + Trigger = "10645"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-426.327 -7.45079 127.753"; + rotation = "0 0 1 180.482"; + scale = "0.8 0.8 1"; + interiorFile = "pbunk4a_CC.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-326.795 -14.0781 69.737"; + rotation = "1 0 0 0"; + scale = "1.8 1.8 1.8"; + interiorFile = "Xtra_Xerxes_Turret.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-316.697 -4.29393 111.369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-desert.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new InteriorInstance() { + position = "-274.229 -3.71356 113.519"; + rotation = "0 0 1 90.1369"; + scale = "1 1 1"; + interiorFile = "pmisca.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "-316.871 -4.25798 113.1"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "57"; + stand = "10652"; + className = "FlagObj"; + isHome = "1"; + searchSchedule = "204427"; + locked = "false"; + originalPosition = "-316.871 -4.25798 113.1 0 0 -1 1.57"; + team = "2"; + WayPoint = "10829"; + Trigger = "10830"; + }; + new StaticShape() { + position = "-316.895 -4.19173 59.163"; + rotation = "0 0 1 22.9184"; + scale = "1.2 1.2 2"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + damageTimeMS = "2462224"; + flag = "10650"; + locked = "false"; + team = "2"; + lastDamagedBy = "5725"; + lastDamagedByTeam = "1"; + }; + new SimGroup(FFs) { + + powerCount = "2"; + + new ForceFieldBare() { + position = "-433.03 1.02775 127.098"; + rotation = "0 0 1 0.573347"; + scale = "17 0.3 7"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + team = "2"; + pz = "10655"; + originalscale = "17 0.3 7"; + }; + new ForceFieldBare() { + position = "-433.291 -12.9172 127.066"; + rotation = "0 0 1 0.573347"; + scale = "17 0.3 7"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + team = "2"; + pz = "10657"; + originalscale = "17 0.3 7"; + }; + new StaticShape() { + position = "-433.316 -5.59518 134.27"; + rotation = "-0 0 -1 89.3815"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new TSStatic() { + position = "-274.884 2.02292 135.859"; + rotation = "0.775232 0.446315 -0.447011 105.019"; + scale = "2.79367 2.0715 0.1"; + shapeName = "stackable1s.dts"; + + locked = "false"; + team = "0"; + }; + new TSStatic() { + position = "-274.894 -9.46539 135.885"; + rotation = "-0.385801 -0.650395 0.654327 221.619"; + scale = "2.79367 2.0715 0.1"; + shapeName = "stackable1s.dts"; + + locked = "false"; + team = "0"; + }; + new TSStatic() { + position = "269.507 0.825775 135.86"; + rotation = "0.764299 -0.454077 0.457888 105.744"; + scale = "2.79367 2.02025 0.1"; + shapeName = "stackable1s.dts"; + + locked = "false"; + team = "0"; + }; + new TSStatic() { + position = "269.276 -10.6372 135.858"; + rotation = "0.377486 -0.651867 0.657703 139.019"; + scale = "2.79367 2.02025 0.1"; + shapeName = "stackable1s.dts"; + + locked = "false"; + team = "0"; + }; + new Item() { + position = "-517.733 -3.4657 148.746"; + rotation = "0 0 1 91.4907"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "2"; + }; + new InteriorInstance() { + position = "499.146 505.847 147.24"; + rotation = "0 0 1 154.126"; + scale = "1 1 1.54835"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-3.68635 515.042 124.212"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "314.27 459.139 146.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "204.704 449.08 115.91"; + rotation = "0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-207.047 451.341 114.388"; + rotation = "0 0 1 66.4632"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-509.746 503.014 148.367"; + rotation = "1 0 0 0"; + scale = "1 1 1.54835"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-325.793 457.116 148.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-322.674 -467.424 146.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "501.298 -513.106 148.814"; + rotation = "0 0 1 124.332"; + scale = "1 1 1.54835"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "184.289 865.106 158.5"; + rotation = "0 0 1 46.9827"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "507.873 -4.20008 148.599"; + rotation = "0 0 -1 89.7466"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "false"; + team = "1"; + }; + new InteriorInstance() { + position = "515.528 -3.91634 145.789"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "pmisc4.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new InteriorInstance() { + position = "318.223 -465.887 147.452"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "196.63 -457.421 113.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "843.44 803.869 153.454"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + interiorFile = "pspir4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-373.939 -1096.83 134.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-4.70021 -3.78419 133.752"; + rotation = "0 0 1 83.0789"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-160.531 -42.3956 119.345"; + rotation = "0 0 -1 76.7763"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new InteriorInstance() { + position = "-508.009 -511.175 148.113"; + rotation = "0 0 1 124.332"; + scale = "1 1 1.54835"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-207.962 -460.464 113.348"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-3.21324 -521.119 124.137"; + rotation = "0 0 -1 53.8581"; + scale = "1 1 1"; + interiorFile = "pspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-547.073 24.1407 188.172"; + rotation = "0.130418 -0.18505 0.974037 111.063"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + new Camera() { + position = "547.874 28.1946 187.539"; + rotation = "0.153681 0.167366 -0.973843 96.3928"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + }; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition2DSPlant17) { + + powerCount = "0"; + }; + new SimGroup(Addition3DSPlant18) { + + powerCount = "0"; + }; + }; + new Precipitation(Precipitation) { + position = "-344.234 156.963 155.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.800000 0.300000 0.100000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0"; + minVelocity = "0.02"; + maxVelocity = "0.06"; + maxNumDrops = "1000"; + maxRadius = "125"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-344.234 156.963 155.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.800000 0.300000 0.100000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.5"; + minVelocity = "0.01"; + maxVelocity = "0.04"; + maxNumDrops = "500"; + maxRadius = "200"; + }; + new Precipitation(Precipitation) { + position = "116.059 -26.7731 156.557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.000000 0.000000 0.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.5"; + minVelocity = "0.01"; + maxVelocity = "0.04"; + maxNumDrops = "500"; + maxRadius = "200"; + }; + new Precipitation(Precipitation) { + position = "116.059 -26.7731 156.557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.300000 0.300000 0.300000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.5"; + minVelocity = "0.01"; + maxVelocity = "0.04"; + maxNumDrops = "500"; + maxRadius = "200"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "108 -444 52.6875"; + rotation = "0 0 1 138"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "780 612 142.781"; + rotation = "0 0 1 197"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-292 20 113.531"; + rotation = "0 0 1 87.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "572 -564 107.188"; + rotation = "0 0 1 116"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "60 -476 69.0781"; + rotation = "0 0 -1 62.0003"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-140 844 129.359"; + rotation = "0 0 -1 53"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "84 -132 106.156"; + rotation = "0 0 1 159"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "524 -444 126.859"; + rotation = "0 0 1 204"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "836 612 120.609"; + rotation = "0 0 1 9.00004"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "76 -108 114.078"; + rotation = "0 0 1 230"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "460 76 127.969"; + rotation = "0 0 1 82"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-172 -380 72.0625"; + rotation = "0 0 1 114"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "924 -548 118.172"; + rotation = "0 0 1 224"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-236 -572 112.141"; + rotation = "0 0 1 175"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "764 820 126.859"; + rotation = "0 0 -1 84.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1108 356 135.047"; + rotation = "0 0 1 155"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "756 476 126.656"; + rotation = "0 0 -1 116"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1044 44 120.125"; + rotation = "0 0 1 73.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "772 420 123.031"; + rotation = "0 0 1 91.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "340 772 134.031"; + rotation = "0 0 -1 1.00014"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-316 -20 109.984"; + rotation = "0 0 1 85.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "236 180 110.266"; + rotation = "0 0 1 88"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "812 572 133.172"; + rotation = "0 0 -1 32.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1132 -428 133.734"; + rotation = "0 0 1 69.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-108 -492 76.1562"; + rotation = "0 0 1 18"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "884 -524 137"; + rotation = "0 0 -1 84.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-324 100 130.203"; + rotation = "0 0 -1 108"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-220 388 103.656"; + rotation = "0 0 1 237"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "916 -444 129.359"; + rotation = "0 0 1 39"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "356 220 90.0469"; + rotation = "0 0 -1 94"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1236 660 143.234"; + rotation = "0 0 1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "164 180 121.156"; + rotation = "0 0 -1 83.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "732 756 141.656"; + rotation = "0 0 -1 64.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "580 -444 110.812"; + rotation = "0 0 1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "764 812 122.75"; + rotation = "0 0 1 170"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "748 -132 129.641"; + rotation = "0 0 -1 4.00015"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "916 148 143.812"; + rotation = "0 0 1 97"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-228 -380 106.156"; + rotation = "0 0 1 9.99997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1028 76 124.984"; + rotation = "0 0 1 104"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1260 852 133.656"; + rotation = "0 0 1 139"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1116 -124 138.594"; + rotation = "0 0 1 224"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "772 -316 157.125"; + rotation = "0 0 1 179"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1156 -476 133.172"; + rotation = "0 0 1 201"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1100 -708 124.422"; + rotation = "0 0 1 238"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1260 388 140.547"; + rotation = "0 0 1 101"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-12 -588 92"; + rotation = "0 0 1 85"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "444 -356 114.922"; + rotation = "0 0 1 214"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "188 724 133.656"; + rotation = "0 0 -1 43.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "1020 -700 125.531"; + rotation = "0 0 1 227"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "236 -700 106.906"; + rotation = "0 0 1 97"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "924 -436 127.3"; + rotation = "0.549755 0.461299 -0.6964 14.3213"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "524 -612 132.691"; + rotation = "0.037604 -0.524642 -0.850492 34.974"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "340 -620 90.2062"; + rotation = "-0.0658235 0.0081155 0.997798 157.049"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1268 -436 120.956"; + rotation = "-0.155129 0.0281845 -0.987492 93.7198"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1132 -36 146.3"; + rotation = "0.0186666 0.0938137 0.995415 135.185"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-172 -412 65.6281"; + rotation = "0.216727 0.026006 0.975886 119.228"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "92 172 122.284"; + rotation = "-0.11872 -0.0448538 0.991914 103.453"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "228 620 100.753"; + rotation = "-0.0231291 0.282211 0.959073 35.3621"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1244 580 140.066"; + rotation = "-0.344015 0.718056 0.60502 22.9439"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "20 660 110.331"; + rotation = "-0.0849596 0.124747 0.988544 195.819"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "956 308 121.987"; + rotation = "0.0423316 0.0386568 0.998356 112.088"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "772 -4 140.331"; + rotation = "-0.0545611 -0.623629 -0.779814 12.8028"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-324 636 98.05"; + rotation = "0.00638778 0.251412 -0.967859 107.791"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-228 628 98.3312"; + rotation = "0.148736 0.0744648 0.986069 208.613"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "924 212 160.753"; + rotation = "0.0700111 -0.0999858 0.992523 160.147"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "284 612 99.925"; + rotation = "-0.105133 -0.092984 0.990102 46.4114"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "532 260 186.175"; + rotation = "0 0 1 183"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-228 -4 118.534"; + rotation = "0 -1 0 15.501"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "484 -564 146.3"; + rotation = "0.0483723 -0.0264642 0.998479 163.026"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "548 556 110.347"; + rotation = "0.134809 -0.0274269 0.990492 157.213"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "924 796 127.769"; + rotation = "-0.0533337 -0.125646 0.990641 134.386"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-100 52 139.503"; + rotation = "0.0215087 -0.293747 -0.955641 68.3962"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "364 468 143.05"; + rotation = "-0.0625776 -0.778647 0.624334 23.8148"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "892 -132 151.237"; + rotation = "0.129158 -0.192475 0.972765 101.554"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-68 204 111.738"; + rotation = "0.118416 0.0659827 0.990769 81.5256"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "372 468 140.347"; + rotation = "-0.315463 -0.651094 -0.690333 30.0562"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1196 -164 122.269"; + rotation = "0.0881742 0.028665 0.995693 73.2367"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "580 732 157.488"; + rotation = "0.0610976 -0.0997026 0.99314 153.179"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "52 -300 166.8"; + rotation = "-0.106868 -0.12536 -0.986339 107.752"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "76 -52 138.113"; + rotation = "0.0797315 0.0104969 -0.996761 75.1795"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "68 -140 102.987"; + rotation = "0.0350434 0.0529445 -0.997982 67.1071"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1076 -252 160.206"; + rotation = "0.0499424 0.0047928 0.998741 217.955"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "412 -60 135.488"; + rotation = "-0.353081 0.238156 0.904774 24.25"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1052 92 110.894"; + rotation = "0.0857427 -0.135953 -0.986998 115.677"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-316 276 136.237"; + rotation = "-0.30558 -0.0157752 0.952036 65.5367"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "780 156 117.972"; + rotation = "0.137183 -0.0735019 0.987815 87.7021"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1100 300 117.972"; + rotation = "0.200842 -0.10784 0.97367 88.5277"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1004 796 130.488"; + rotation = "0.0451007 0.243343 0.968891 70.7001"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-236 828 142.019"; + rotation = "-0.0686917 0.0699011 0.995186 179.005"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "228 332 103.534"; + rotation = "0.115254 0.036547 0.992664 198.863"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "52 844 143.612"; + rotation = "0.0363293 0.176404 0.983647 188.853"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1060 -644 126.175"; + rotation = "0.092595 -0.0417028 0.99483 193.928"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "660 748 103.816"; + rotation = "0.158866 -0.0614415 0.985386 125.688"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "716 -468 110.347"; + rotation = "-0.115933 -0.040604 0.992427 202.831"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "1060 148 119.644"; + rotation = "0.1403 -0.111001 0.983867 226.322"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "420 724 144.722"; + rotation = "-0.150142 0.269406 -0.951251 76.7706"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "116 -676 156.456"; + rotation = "0.340779 0.0344976 0.93951 11.7035"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "140 172 121.238"; + rotation = "0.337279 -0.0934587 0.936754 30.8674"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "756 844 139.503"; + rotation = "-0.152269 0.248706 -0.956535 75.4505"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "388 516 132.159"; + rotation = "0.102135 0.106302 0.989074 200.775"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + }; + new SimGroup(Addition4PhoenixPlant2) { + + powerCount = "0"; + + new TSStatic() { + position = "-4 180 121.719"; + rotation = "0 0 1 188"; + scale = "1 1 1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-380 -1012 127.969"; + rotation = "0 0 1 50"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "140 -204 115.391"; + rotation = "0 0 -1 41.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "868 60 146.5"; + rotation = "0 0 1 230"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-460 -1052 100.672"; + rotation = "0 0 1 189"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "300 -956 108.109"; + rotation = "0 0 1 206"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-332 -428 124.703"; + rotation = "0 0 -1 37.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "132 212 107"; + rotation = "0 0 1 111"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "4 -1172 157.125"; + rotation = "0 0 1 179"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "572 -100 109.141"; + rotation = "0 0 1 20"; + scale = "0.9 0.9 0.9"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "84 108 109.422"; + rotation = "0 0 1 36"; + scale = "1.4 1.4 1.4"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "636 -172 153.672"; + rotation = "0 0 -1 4.99997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "860 -908 137.828"; + rotation = "0 0 -1 82"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-388 -628 95.5312"; + rotation = "0 0 -1 19.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "220 60 104.016"; + rotation = "0 0 1 155"; + scale = "0.8 0.8 0.8"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "780 -588 141.937"; + rotation = "0 0 1 125"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "908 188 156.859"; + rotation = "0 0 -1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "300 -180 128.25"; + rotation = "0 0 1 99.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + new TSStatic() { + position = "-148 -948 171.859"; + rotation = "0 0 -1 71.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg2.dts"; + }; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_EmeraldSpit.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_EmeraldSpit.mis new file mode 100644 index 00000000..906f7d57 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_EmeraldSpit.mis @@ -0,0 +1,1526 @@ +// DisplayName = DMP-Emerald Spit +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Inaction breeds doubt and fear. +//Action breeds confidence and courage. +//If you want to conquer fear, do not sit home and think about it. +//Go out and get busy. +// -- Dale Carnegie +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Bases powered by respective generators. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + musicTrack = "ice"; + powerCount = "0"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-888 -704 1776 1408"; + flightCeiling = "2500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new WaterBlock() { + position = "-328 -328 -31.312"; + rotation = "1 0 0 0"; + scale = "672 672 100"; + liquidType = "StagnantWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + }; + new Precipitation(Precipitation) { + position = "-336.859 -631.623 191.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Rain"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "0.400000 0.450000 0.480000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.5"; + maxVelocity = "1"; + maxNumDrops = "2000"; + maxRadius = "200"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.449663 -0.35973 -0.817556"; + color = "0.800000 0.710000 0.710000 1.000000"; + ambient = "0.400000 0.450000 0.550000 0.500000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "rst_spit.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Equinox.nav"; + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "600"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "1.000000 1.000000 1.000000 1.000000"; + fogDistance = "400"; + fogColor = "0.700000 0.650000 0.650000 0.100000"; + fogVolume1 = "400 0 160"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_lush_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -6.14964"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + cloudSpeed0 = "0.000500 0.000500"; + locked = "true"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "0 0 171.288"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "rst_lush_floatingisle1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1.29685 -2.93258 159.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "1.29685 -2.93258 162.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-5.70315 -2.93258 161.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "8.29685 -2.93258 161.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "1.29685 3.86742 161.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "1.29685 -9.73258 161.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + new SimGroup(team1) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "-553.601 218.461 83.5053"; + rotation = "0 0 1 163.403"; + scale = "1 1 1"; + interiorFile = "rst_spit_stand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-606.029 334.712 95.7369"; + rotation = "0 0 1 169.114"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "33"; + originalBarrel = "PlasmaBarrelLarge"; + team = "1"; + }; + new InteriorInstance() { + position = "-606.099 335.157 85.8408"; + rotation = "0 0 -1 10.8863"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-676.166 275.365 68.9353"; + rotation = "0 0 -1 90.5274"; + scale = "1 1 1"; + interiorFile = "rst_spit_base.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-512.196 331.31 75.9353"; + rotation = "0 0 1 35.5233"; + scale = "1 1 1"; + interiorFile = "rst_spit_base.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-394.016 297.08 128.692"; + rotation = "0 0 1 61.3065"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + team = "1"; + }; + new StaticShape() { + position = "-508.343 320.068 72.9"; + rotation = "0 0 -1 54.74"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "-512.959 346.006 73.1009"; + rotation = "-0 0 -1 9.47718"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "36"; + Trigger = "4314"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-504.514 323.758 72.9009"; + rotation = "0 0 1 170.523"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "37"; + Trigger = "4316"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-669.527 285.14 65.9823"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "1"; + }; + new StaticShape() { + position = "-668.947 286.791 71.8752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "39"; + Trigger = "4319"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-674.347 270.791 65.8752"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "40"; + Trigger = "4321"; + team = "1"; + notReady = "1"; + }; + new Item() { + position = "-553.601 218.461 83.5251"; + rotation = "0 0 1 163.403"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "41"; + className = "FlagObj"; + originalPosition = "-553.601 218.461 83.5251 0 0 1 2.85192"; + team = "1"; + WayPoint = "4474"; + Trigger = "4475"; + isHome = "1"; + }; + new InteriorInstance() { + position = "-569.946 292.031 65.5244"; + rotation = "0 0 -1 26.356"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-569.984 292.042 67.7681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "-643.983 184.436 60.3628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-464.813 225.995 68.9668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-596.351 360.132 96.0805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new Turret() { + position = "-510.514 324.944 77.607"; + rotation = "-0.913257 0.287949 0.288178 95.1463"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "42"; + team = "1"; + }; + new Turret() { + position = "-672.105 280.505 70.7162"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "43"; + team = "1"; + }; + }; + new SimGroup(team2) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "545.601 -226.461 83.5053"; + rotation = "0 0 -1 16.597"; + scale = "1 1 1"; + interiorFile = "rst_spit_stand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "504.196 -339.31 75.9353"; + rotation = "0 0 1 215.523"; + scale = "1 1 1"; + interiorFile = "rst_spit_base.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "668.166 -283.365 68.9353"; + rotation = "-0 -0 1 89.4731"; + scale = "1 1 1"; + interiorFile = "rst_spit_base.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "598.099 -343.157 85.8408"; + rotation = "0 0 1 169.114"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "385.723 -304.785 118.967"; + rotation = "0 0 -1 118.693"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "545.601 -226.461 83.5248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + searchSchedule = "7588"; + Target = "44"; + className = "FlagObj"; + originalPosition = "545.601 -226.461 83.5248 1 0 0 0"; + team = "2"; + WayPoint = "4476"; + Trigger = "4477"; + isHome = "1"; + }; + new Turret() { + position = "598.029 -342.712 95.7369"; + rotation = "0 0 -1 10.886"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "45"; + lastDamagedByTeam = "2"; + lastDamagedBy = "4920"; + lastProjectile = "18753"; + originalBarrel = "PlasmaBarrelLarge"; + damageTimeMS = "407453"; + team = "2"; + }; + new StaticShape() { + position = "386.016 -305.08 128.692"; + rotation = "0 0 -1 118.693"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "2"; + }; + new StaticShape() { + position = "504.959 -354.006 73.1009"; + rotation = "0 0 1 170.523"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "4343"; + team = "2"; + }; + new StaticShape() { + position = "496.514 -331.758 72.9009"; + rotation = "0 0 -1 9.47693"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + Trigger = "4345"; + team = "2"; + }; + new StaticShape() { + position = "666.347 -278.791 65.8752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + Trigger = "4347"; + team = "2"; + }; + new StaticShape() { + position = "660.947 -294.791 71.8752"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "4349"; + team = "2"; + }; + new StaticShape() { + position = "661.527 -293.14 65.9823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "561.946 -300.031 65.5244"; + rotation = "0 0 1 170.833"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "561.984 -300.042 67.7681"; + rotation = "0 0 1 153.644"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "635.983 -192.436 60.3628"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "588.351 -368.132 96.0805"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "456.813 -233.995 68.9668"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "50"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new StaticShape() { + position = "500.343 -328.068 72.9"; + rotation = "0 0 1 125.26"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "2"; + }; + new Turret() { + position = "502.608 -333.099 77.6945"; + rotation = "0.912492 -0.287708 0.290831 94.6233"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "53"; + team = "2"; + }; + new Turret() { + position = "664.062 -288.515 70.6942"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "54"; + team = "2"; + }; + }; + }; + new InteriorInstance() { + position = "-393.723 296.785 118.967"; + rotation = "0 0 1 61.3065"; + scale = "1 1 1"; + interiorFile = "bmisc8.dif"; + showTerrainInside = "0"; + }; + new SimGroup(trees) { + + powerCount = "0"; + + new TSStatic() { + position = "-337.129 449.665 96.4351"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-694.473 383.229 97.242"; + rotation = "0 0 1 56.1499"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-955.715 143.574 110.128"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-388.71 -71.8846 99.4165"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-1148.73 393.447 67.09"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-968.167 820.281 10.1919"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-635.685 834.243 129.623"; + rotation = "1 0 0 0"; + scale = "2.2 2.2 2.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-100.415 117.496 86.1013"; + rotation = "0 0 -1 57.2958"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-651.953 -402.295 70.6965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-511.284 -590.288 149.829"; + rotation = "0 0 1 119.175"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-997.353 -381.746 63.3864"; + rotation = "0 0 1 82.5059"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-461.12 80.6511 88.0015"; + rotation = "0 0 1 234.522"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "126.157 270.262 184.003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "-449.566 586.484 87.4314"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "98.9443 95.4504 98.6345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "136.179 117.831 125.39"; + rotation = "0 0 1 171.497"; + scale = "3 3 3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(trees2) { + + powerCount = "0"; + + new TSStatic() { + position = "329.129 -457.665 96.4351"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "686.473 -391.229 97.242"; + rotation = "0 0 1 236.15"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "947.715 -151.574 110.128"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "380.71 63.8846 99.4165"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "1140.73 -401.447 67.09"; + rotation = "-0 -0 1 88.9001"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "960.167 -828.281 10.1919"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "627.685 -842.243 129.623"; + rotation = "0 0 1 180"; + scale = "2.2 2.2 2.2"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "92.415 -125.496 86.1013"; + rotation = "0 0 1 122.704"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "643.953 394.295 70.6965"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "503.284 582.288 149.829"; + rotation = "0 0 -1 60.8252"; + scale = "1.7 1.7 1.7"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "989.353 373.746 63.3864"; + rotation = "0 0 -1 97.4939"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "453.12 -88.6511 88.0015"; + rotation = "0 0 1 54.522"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-134.157 -278.262 184.003"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new InteriorInstance(InteriorInstance) { + position = "441.566 -594.484 87.4314"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-106.944 -103.45 98.6345"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-144.179 -125.831 125.39"; + rotation = "0 0 -1 8.50302"; + scale = "3 3 3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition2BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-460 -28 81.1625"; + rotation = "0.000543685 0.0261774 0.999657 65.0175"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-132 412 131.084"; + rotation = "0.128885 0.0986932 0.986736 163.222"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-236 156 59.85"; + rotation = "0.0482343 0.287861 0.956457 119.25"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-236 -4 100.803"; + rotation = "-0.339138 0.0514921 0.939326 111.376"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-748 180 77.6938"; + rotation = "-0.0941306 0.0493676 0.994335 187.955"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-268 420 98.725"; + rotation = "-0.0353664 0.195621 0.980042 167.257"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 -92 104.741"; + rotation = "-0.311406 -0.186958 -0.931704 46.8872"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-588 284 66.5531"; + rotation = "-0.0201574 0.00803452 0.999765 142.008"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-524 268 72.35"; + rotation = "-0.0352838 -0.0842647 -0.995818 115.217"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-116 676 114.069"; + rotation = "0.101655 -0.0716702 -0.992235 110.419"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-804 4 96.5375"; + rotation = "-0.0287478 0.0112274 0.999524 232.978"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-340 372 95.5062"; + rotation = "0.0876559 -0.094676 -0.991642 54.3898"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-324 -4 86.3812"; + rotation = "-0.202516 -0.163669 -0.965505 82.9918"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-836 572 64.3656"; + rotation = "0.0991999 0.0198317 0.99487 195.919"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-108 660 120.147"; + rotation = "-0.0563404 0.225534 0.972605 159.563"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-628 12 75.5063"; + rotation = "0.82825 0.123645 -0.546547 7.31193"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition3BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "636 -388 96.6624"; + rotation = "-0.00334674 -0.010816 0.999936 123.003"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "828 -292 43.1937"; + rotation = "0.199661 -0.0199061 -0.979663 108.122"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "436 -220 79.1"; + rotation = "0.0887594 0.00130545 0.996052 164.062"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "804 -548 64.2719"; + rotation = "0.0269283 0.11636 -0.992842 108.391"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "428 -60 93.6469"; + rotation = "-0.000114515 -0.049055 -0.998796 110.065"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "460 -580 88.225"; + rotation = "0.368977 -0.164901 -0.914693 75.8957"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "252 -236 66.35"; + rotation = "0.219287 -0.626149 -0.748232 29.1257"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "700 -12 74.1937"; + rotation = "0.0038826 -0.164869 0.986308 19.2589"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 -444 94.6938"; + rotation = "-0.00320461 -0.204223 0.978919 156.491"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "340 -76 80.1313"; + rotation = "0.122586 -0.190805 0.973944 132.132"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "892 -60 95.475"; + rotation = "0.122444 -0.067421 0.990183 231.556"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "444 -68 92.1001"; + rotation = "0.0550974 0.000118075 0.998481 108.083"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "284 36 81.5844"; + rotation = "-0.023152 -0.487016 0.873086 34.1224"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "140 -540 158.819"; + rotation = "-0.179161 0.0769713 0.980804 103.084"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "748 20 73.6781"; + rotation = "-0.000901389 -0.00527978 0.999986 138"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "300 -388 100.006"; + rotation = "-0.138118 -0.350405 -0.926358 53.4393"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-44 164 76.4437"; + rotation = "0.0529322 -0.396354 0.916571 63.3714"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-228 332 126.6"; + rotation = "-0.0948417 0.0498097 -0.994245 109.312"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-68 -172 99.725"; + rotation = "-0.0492477 -0.355122 -0.933522 95.9315"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "324 36 85.3032"; + rotation = "0.126039 0.675362 0.726637 37.8769"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 -68 97.0375"; + rotation = "0.0207066 0.115319 0.993113 92.3958"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "252 36 87.5375"; + rotation = "0.0466909 -0.144528 0.988399 224.529"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "236 116 117.928"; + rotation = "-0.00929482 0.335567 -0.94197 84.3967"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "60 -84 91.5843"; + rotation = "0.0843153 -0.166568 0.982418 238.133"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "340 -188 100.287"; + rotation = "0.00716307 0.321018 0.947046 52.4296"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 52 94.3343"; + rotation = "-0.24248 0.327452 -0.913224 94.1971"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "204 -132 82.0531"; + rotation = "0.0862369 -0.199959 0.976002 204.418"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244 260 78.225"; + rotation = "-0.0164052 -0.201425 0.979367 238.971"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-4 100 68.3657"; + rotation = "0.162791 0.121371 -0.979167 57.0059"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "36 124 80.3813"; + rotation = "-0.0539519 0.0816564 -0.995199 103.268"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 -116 80.9594"; + rotation = "0.143857 -0.0593613 0.987816 160.239"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "212 -52 119.491"; + rotation = "0.289607 -0.451964 0.843716 53.4141"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + }; + }; + new SimGroup(extras) { + + powerCount = "0"; + + new TSStatic() { + position = "-464.329 268.611 65.7779"; + rotation = "0 0 -1 75.6304"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-480.281 447.417 26.9221"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-652.48 279.568 61.8035"; + rotation = "0 0 1 76.7763"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-731.183 136.627 76.6638"; + rotation = "0 0 1 67.036"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "456.329 -276.611 65.7779"; + rotation = "-0 -0 1 104.37"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "472.281 -455.417 26.9221"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "644.48 -287.568 61.8035"; + rotation = "0 0 -1 103.224"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "723.183 -144.627 76.6638"; + rotation = "0 0 -1 112.964"; + scale = "2 2 2"; + shapeName = "stackable3m.dts"; + }; + new Item() { + position = "-464.066 269.011 69.8393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-480.168 447.746 31.1835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-652.668 277.826 65.9117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-652.652 282.219 66.1117"; + rotation = "0 0 1 143.812"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-731.269 138.272 81.0063"; + rotation = "0 0 1 178.945"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "456.066 -277.011 69.8393"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "472.168 -455.746 31.1835"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "644.668 -285.826 65.9117"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "644.652 -290.219 66.1117"; + rotation = "0 0 -1 36.188"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "723.269 -146.272 81.0063"; + rotation = "0 0 -1 1.05498"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-635.984 411.376 144.153"; + rotation = "0 0 1 152.407"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "627.984 -419.376 144.153"; + rotation = "0 0 -1 27.593"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new AudioEmitter() { + position = "1.72711 -2.21848 170.902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.33"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_FaceCrossing.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_FaceCrossing.mis new file mode 100644 index 00000000..34119f26 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_FaceCrossing.mis @@ -0,0 +1,5968 @@ +// DisplayName = DMP-Face Crossing +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Death is not the opposite of life, +//But a part of it. +// -- Haruki Murakami +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]500 points to win +//Traverse floating islands using boost pads. +//Base powered by 2 generators. +//Each team has access to 2 shrikes and 1 havok. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "volcanic"; + cdTrack = "3"; + CTF_scoreLimit = "5"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-872 -912 1728 1792"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new WaterBlock() { + position = "-1024 -1024 -54.8"; + rotation = "1 0 0 0"; + scale = "2048 2048 100"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "3"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0.5"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "0"; + + locked = "false"; + }; + new Sun() { + position = "-1046.07 -999.281 -125.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.490374 0.609167 -0.623257"; + color = "0.800000 0.640000 0.500000 1.000000"; + ambient = "0.500000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "rst_FaceCrossing.ter"; + squareSize = "8"; + + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + locked = "true"; + coverage = "0"; + GraphFile = "Gauntlet.nav"; + }; + new Sky(Sky) { + position = "-1024 -1200 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.300000 0.300000 0.100000 0.000000"; + fogDistance = "300"; + fogColor = "0.200000 0.100000 0.100000 0.100000"; + fogVolume1 = "500 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "space_16.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 28.000000 128.000000 -222768174765569861000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "0 0 0"; + high_fogVolume2 = "0 0 0"; + high_fogVolume3 = "0 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new AudioEmitter() { + position = "206.17 3.7 104.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "85"; + maxDistance = "5440"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "23.5103 353.706 380.441"; + rotation = "0 0 -1 67.0361"; + scale = "1 1 1"; + nameTag = "Obs1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-31.5103 -361.706 380.441"; + rotation = "0 0 1 112.964"; + scale = "1 1 1"; + nameTag = "Obs2"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-442.225 443.145 356.508"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + nameTag = "Obs3"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "434.225 -451.145 356.508"; + rotation = "0 0 -1 111.818"; + scale = "1 1 1"; + nameTag = "Obs4"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-90.0697 726.036 343.819"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Obs5"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "82.0697 -734.036 343.819"; + rotation = "0 0 -1 1.23731"; + scale = "1 1 1"; + nameTag = "Obs6"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-125.652 190.538 291.356"; + rotation = "0 0 1 140.948"; + scale = "1 1 1"; + nameTag = "Obs7"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "117.652 -198.538 291.356"; + rotation = "0 0 -1 39.052"; + scale = "1 1 1"; + nameTag = "Obs8"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "0 0 206.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-333.819 462.094 263.8"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle9.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "1"; + }; + new InteriorInstance() { + position = "-210.873 -237.222 239.1"; + rotation = "0 0 -1 116.31"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle10.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "202.873 229.222 239.1"; + rotation = "-0 -0 1 63.69"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle10.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "325.819 -470.094 263.6"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle9.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "343.967 -114.446 243.345"; + rotation = "0 0 1 50.4204"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-351.967 106.446 243.345"; + rotation = "0 0 1 230.42"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "142.814 -241.172 283.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-150.814 233.172 283.082"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-140.665 -596.341 309.669"; + rotation = "0 0 1 46.4097"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-509.473 -26.5778 301.65"; + rotation = "0 0 1 224.026"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "501.473 18.5778 301.65"; + rotation = "0 0 1 44.026"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "132.665 588.341 309.669"; + rotation = "0 0 1 226.41"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-207.687 184.395 200.963"; + rotation = "0 0 -1 46.9826"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "199.687 -192.395 209.163"; + rotation = "0 0 1 133.017"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "11.5693 501.702 248.991"; + rotation = "0 0 1 7.44862"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-19.5693 -509.702 249.191"; + rotation = "0 0 1 187.449"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-70.973 355.182 232.337"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "62.973 -363.182 232.337"; + rotation = "0 0 1 134.736"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-179.477 -30.0465 194.618"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "171.477 22.0465 194.618"; + rotation = "0 0 1 232.712"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-85.4083 662.07 339.358"; + rotation = "0 0 1 124.332"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "77.4083 -670.07 339.358"; + rotation = "0 0 -1 55.668"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "557.209 -251.314 295.978"; + rotation = "0 0 1 236.814"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "597.456 -373.288 225.096"; + rotation = "0 0 1 71.0468"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "486.982 -159.568 224.546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-605.456 365.288 225.096"; + rotation = "0 0 -1 108.953"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-494.982 151.568 224.546"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "7.96175 -149.804 121.011"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-15.9618 141.804 121.011"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "162.602 -26.6302 95.1829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-170.602 18.6302 95.1829"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-250.454 18.0563 181.537"; + rotation = "0 0 1 48.1284"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "242.454 -26.0563 181.537"; + rotation = "0 0 1 228.128"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-290.233 -494.043 236.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "282.233 486.043 236.606"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-393.701 -264.184 274.547"; + rotation = "0 0 -1 5.7301"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-447.151 -502.397 286.302"; + rotation = "0 0 1 124.905"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "439.151 494.397 286.302"; + rotation = "0 0 -1 55.095"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "505.661 258.196 260.078"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-479.805 -258.376 211.231"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "531.405 381.176 211.231"; + rotation = "0 0 -1 104.943"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-565.209 243.314 295.978"; + rotation = "0 0 1 56.814"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "568.767 122.963 251.016"; + rotation = "0 0 -1 10.4044"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-743 245.444 259.862"; + rotation = "0 0 1 186.394"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "735 -253.444 259.862"; + rotation = "0 0 1 6.39405"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-656.923 689.446 381.936"; + rotation = "0 0 1 127.197"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "648.923 -697.446 381.936"; + rotation = "0 0 -1 52.803"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-592.351 233.591 237.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "584.351 -241.591 237.055"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-576.767 -130.963 251.016"; + rotation = "0 0 1 169.596"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new SimGroup(jumpPads) { + + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance(InteriorInstance) { + position = "7.2644 -149.858 121.299"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "7.2644 -149.858 121.699"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "1000"; + }; + new InteriorInstance(InteriorInstance) { + position = "-15.2644 141.858 121.299"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-15.2644 141.858 121.499"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "1000"; + }; + new InteriorInstance(InteriorInstance) { + position = "-171.628 18.5925 95.3078"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-171.628 18.5925 95.5078"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "1000"; + }; + new InteriorInstance(InteriorInstance) { + position = "163.628 -26.5925 95.3078"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "163.628 -26.5925 95.5078"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "1000"; + }; + new InteriorInstance(InteriorInstance) { + position = "-111.865 107.808 202.746"; + rotation = "0 0 1 229.939"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-111.865 107.808 203.146"; + rotation = "0 0 1 229.939"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "126.885 -91.1826 206.546"; + rotation = "0 0 1 46.5013"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "126.885 -91.1826 206.946"; + rotation = "0 0 1 46.5013"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "-30.4232 -644.907 276.656"; + rotation = "0 0 1 55.5769"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-30.4232 -644.907 276.756"; + rotation = "0 0 1 55.5769"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "100"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "22.4232 636.907 276.656"; + rotation = "0 0 1 235.577"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "22.4232 636.907 276.956"; + rotation = "0 0 1 235.577"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "100"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "244.133 -28.0561 181.6"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "244.133 -28.0561 181.8"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "200"; + }; + new InteriorInstance(InteriorInstance) { + position = "-252.133 20.0561 181.6"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-252.133 20.0561 181.8"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "200"; + }; + new InteriorInstance(InteriorInstance) { + position = "375.423 -346.7 281.761"; + rotation = "-0 0 -1 89.9543"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "375.423 -346.701 282.361"; + rotation = "-0 0 -1 89.9543"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "200"; + }; + new InteriorInstance(InteriorInstance) { + position = "-383.423 338.7 282.361"; + rotation = "0 0 1 90.0461"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-383.423 338.701 282.761"; + rotation = "0 0 1 90.0461"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "200"; + }; + new InteriorInstance(InteriorInstance) { + position = "487.561 -157.406 224.657"; + rotation = "0 0 -1 68.182"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "487.561 -157.406 225.057"; + rotation = "0 0 -1 68.182"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "200"; + }; + new InteriorInstance(InteriorInstance) { + position = "-495.561 149.406 224.657"; + rotation = "-0 -0 1 111.818"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-495.561 149.406 225.057"; + rotation = "-0 -0 1 111.818"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "200"; + jumpPower = "200"; + }; + new InteriorInstance(InteriorInstance) { + position = "-138.341 472.862 252.303"; + rotation = "0 0 1 167.304"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-138.341 472.862 252.703"; + rotation = "0 0 1 167.304"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "100"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "129.541 -480.862 252.303"; + rotation = "0 0 -1 12.696"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "129.541 -480.862 252.503"; + rotation = "0 0 -1 12.696"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "100"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "-551.785 414.377 251.498"; + rotation = "0 0 1 164.439"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-551.785 414.377 251.698"; + rotation = "0 0 1 164.439"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "150"; + jumpPower = "400"; + }; + new InteriorInstance(InteriorInstance) { + position = "220.855 -216.774 177.386"; + rotation = "0 0 1 51.5662"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "220.855 -216.774 177.986"; + rotation = "0 0 1 51.5662"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "0"; + team = "0"; + jumpPower = "500"; + }; + new InteriorInstance(InteriorInstance) { + position = "-228.855 208.774 169.386"; + rotation = "0 0 1 231.566"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-228.855 208.774 169.986"; + rotation = "0 0 1 231.566"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "0"; + team = "0"; + minSpeed = "0"; + jumpPower = "500"; + }; + new InteriorInstance(InteriorInstance) { + position = "543.785 -422.377 251.498"; + rotation = "0 0 -1 15.561"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "543.785 -422.377 251.698"; + rotation = "0 0 -1 15.561"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "150"; + jumpPower = "400"; + }; + new InteriorInstance(InteriorInstance) { + position = "-269.854 322.864 251.658"; + rotation = "0 0 1 239.106"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-269.854 322.864 252.058"; + rotation = "0 0 1 239.106"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "261.854 -330.464 251.658"; + rotation = "0 0 1 59.1058"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "261.854 -330.464 252.058"; + rotation = "0 0 1 59.1058"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "-495.625 536.009 250.874"; + rotation = "0 0 1 45.2636"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-495.625 536.009 251.274"; + rotation = "0 0 1 45.2636"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "489.625 -544.009 250.874"; + rotation = "0 0 1 225.264"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "489.625 -544.009 251.274"; + rotation = "0 0 1 225.264"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "300"; + }; + new InteriorInstance(InteriorInstance) { + position = "-354.342 -592.625 59.6939"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-354.342 -592.625 59.8939"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "1000"; + }; + new InteriorInstance(InteriorInstance) { + position = "346.342 576.225 61.4939"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "346.342 576.225 61.6939"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "1000"; + }; + new InteriorInstance(InteriorInstance) { + position = "-581.234 346.688 65.857"; + rotation = "-0 0 -1 44.1178"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "642.578 -379.42 74.257"; + rotation = "0 0 1 180"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "642.578 -379.42 74.857"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "-581.234 346.688 66.057"; + rotation = "-0 0 -1 44.1178"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "50"; + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "-294.89 868.606 141.026"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "502.49 -692.606 167.226"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "-578.11 529.845 194.624"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "103.756 65.5679 334.131"; + rotation = "0 0 1 23.491"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "300"; + jumpPower = "300"; + }; + new StaticShape() { + position = "-753.508 39.841 194.657"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "776.365 -55.1876 140.857"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "264.199 759.76 175.274"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new StaticShape() { + position = "858.872 358.215 191.857"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + jumpPower = "500"; + }; + new InteriorInstance(InteriorInstance) { + position = "-82.4102 177.667 231.39"; + rotation = "0 0 1 208.557"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-82.4102 177.667 231.79"; + rotation = "0 0 1 208.557"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "0"; + team = "0"; + minSpeed = "0"; + jumpPower = "500"; + }; + new InteriorInstance(InteriorInstance) { + position = "74.4102 -185.667 231.39"; + rotation = "0 0 1 28.557"; + scale = "3 3 3"; + interiorFile = "rst_padbottom.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "74.4102 -185.667 231.79"; + rotation = "0 0 1 28.557"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + maxSpeed = "0"; + team = "0"; + minSpeed = "0"; + jumpPower = "500"; + }; + new InteriorInstance(InteriorInstance) { + position = "103.756 65.5679 333.731"; + rotation = "0 0 1 23.4913"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-111.756 -73.5679 333.731"; + rotation = "0 0 1 203.491"; + scale = "3 3 3"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-111.756 -73.5679 334.131"; + rotation = "0 0 1 203.491"; + scale = "3 3 3"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + minSpeed = "300"; + jumpPower = "300"; + }; + }; + new InteriorInstance() { + position = "-304.604 -59.8977 289.699"; + rotation = "0 0 1 71.6197"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "297.865 48.1017 290.299"; + rotation = "0 0 -1 108.38"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "315.066 522.995 319.659"; + rotation = "0 0 1 25.2102"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-323.066 -530.995 319.659"; + rotation = "0 0 1 205.21"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "312.273 -266.325 249.6"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-320.273 258.325 249.6"; + rotation = "0 0 -1 75.1491"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "155.52 -592.082 347.236"; + rotation = "0 0 -1 53.2851"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-163.52 584.082 347.236"; + rotation = "0 0 1 126.715"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "567.976 -133.946 310.123"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-575.976 125.946 310.123"; + rotation = "0 0 -1 91.192"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-513.661 -266.196 260.078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "385.701 256.184 274.547"; + rotation = "0 0 1 174.27"; + scale = "1 1 1"; + interiorFile = "rst_lush_rock2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "309.471 296.852 257.412"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-317.471 -304.852 257.412"; + rotation = "0 0 -1 115.256"; + scale = "1 1 1"; + interiorFile = "bbunk5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-87.695 626.837 313.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-94.0262 703.444 314.775"; + rotation = "0 0 -1 46.9826"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "79.695 -634.837 313.063"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "86.0262 -711.444 314.775"; + rotation = "0 0 1 133.017"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-66.1171 353.556 230.174"; + rotation = "0 0 1 239.679"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "58.1171 -361.556 230.174"; + rotation = "0 0 1 59.6787"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-184.25 -30.5144 193.3"; + rotation = "0 0 1 100.268"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "176.25 22.5144 193.3"; + rotation = "0 0 -1 79.7322"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-546.972 262.199 269.487"; + rotation = "0 0 -1 87.6625"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-609.393 251.972 271.175"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "538.972 -270.199 269.487"; + rotation = "-0 -0 1 92.3373"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "601.393 -259.972 271.175"; + rotation = "-0 -0 1 88.9001"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1.56203 483.668 205.007"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-9.56203 -491.668 205.007"; + rotation = "0 0 1 198.335"; + scale = "1 1 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "119.378 325.297 236.805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-127.378 -333.297 236.805"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-258.478 82.3541 248"; + rotation = "0 0 1 236.241"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "249.324 -87.9874 246.4"; + rotation = "0 0 1 55.0952"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "116.934 -392.953 248.892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-124.934 384.953 248.892"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-371.318 -373.378 205.007"; + rotation = "0 0 1 5.72969"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "363.318 365.378 205.007"; + rotation = "0 0 1 185.73"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-481.369 -249.633 210.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "532.969 372.433 210.203"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-573.896 239.37 270.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "565.896 -247.37 270.174"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bmisc2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-654.6 679.755 381.169"; + rotation = "0 0 -1 42.3989"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "646.6 -687.755 381.169"; + rotation = "0 0 1 137.601"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-503.007 88.4675 294.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-488.39 94.9753 294.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-473.773 101.483 294.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-459.156 107.991 294.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-448.114 112.907 292.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-441.513 115.853 288.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-517.624 81.9597 294.422"; + rotation = "0 0 1 66"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "71.4727 153.032 207.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "71.4727 124.932 209.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "71.4727 112.832 207.105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "71.4727 105.632 203.105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.8727 -142.532 216.105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.8727 -154.632 214.105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.8727 -126.532 216.105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.8727 -114.432 214.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.8727 -107.232 210.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-29.8727 -161.832 210.105"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "71.4727 140.932 209.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "509.624 -89.9597 294.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "495.007 -96.4675 294.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "480.39 -102.975 294.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "465.773 -109.483 294.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "451.156 -115.991 294.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "440.114 -120.907 292.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "433.513 -123.853 288.422"; + rotation = "0 0 -1 114"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "776.365 -55.1876 133.026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "502.442 -692.708 159.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-978.07 -708.435 177.079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-294.894 868.679 133.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "264.317 759.883 167.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "1078.67 -358.086 134.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "858.877 358.195 183.918"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-753.609 39.524 186.718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-578.079 529.972 186.718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_ZV_ccb_be_spire1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new SimGroup(health) { + + powerCount = "0"; + + new Item() { + position = "1.45928 483.523 239.997"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-0.249855 478.207 240.044"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "3.33621 489.028 240.044"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "7.01729 481.698 240.044"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-3.80399 485.284 240.044"; + rotation = "0 0 1 18.3347"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-9.45928 -491.523 239.997"; + rotation = "0 0 1 198.908"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-15.0173 -489.698 240.044"; + rotation = "0 0 1 198.335"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-7.75014 -486.207 240.044"; + rotation = "0 0 1 198.335"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-4.19601 -493.284 240.044"; + rotation = "0 0 1 198.335"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-11.3362 -497.028 240.044"; + rotation = "0 0 1 198.335"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "127.227 592.666 323.882"; + rotation = "0 0 -1 32.6586"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "127.332 592.711 326.015"; + rotation = "0 0 -1 33.2316"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + team = "0"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-135.227 -600.666 323.882"; + rotation = "0 0 1 147.341"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "-135.332 -600.711 326.015"; + rotation = "0 0 1 146.768"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "309.749 296.783 259.841"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "305.77 294.906 259.841"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "313.186 298.405 259.841"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-321.186 -306.405 259.841"; + rotation = "0 0 -1 115.256"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-317.749 -304.783 259.841"; + rotation = "0 0 -1 115.256"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-313.77 -302.906 259.841"; + rotation = "0 0 -1 115.256"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance() { + position = "6.13723 -0.474348 235.091"; + rotation = "0 0 -1 49.8473"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "6.07884 -0.455874 237.13"; + rotation = "0 0 -1 49.2743"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-573.835 239.197 277.162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "565.835 -247.197 277.162"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "71.6014 133.158 209.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-30.0014 -134.358 216.287"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-479.174 -259.074 211.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "471.174 251.074 211.227"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + ammoStore = "1"; + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-178.835 -26.9128 194.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "170.835 18.9128 194.627"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-516.057 -305.523 226.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "508.057 297.523 226.331"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-657.834 -218.148 238.698"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-657.834 -218.148 236.498"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "649.834 210.148 236.498"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bmisc3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "649.834 210.148 238.698"; + rotation = "0 0 1 204.637"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-606.002 367.148 225.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "598.002 -375.148 225.208"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "0"; + Target = "-1"; + }; + new Item() { + position = "-463.886 -259.959 211.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-463.886 -256.959 211.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-463.886 -263.159 211.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "455.886 251.959 211.754"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "455.886 248.959 211.754"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "455.886 255.159 211.754"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "230.857 376.781 210.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-238.857 -384.781 210.462"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "368.433 166.777 211.874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-376.433 -174.777 211.874"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "145.86 436.386 209.729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-153.86 -444.386 209.729"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "126.174 70.0182 334.683"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "127.3 71.1548 334.683"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-134.174 -78.0182 334.683"; + rotation = "0 0 1 134.736"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-135.3 -79.1548 334.683"; + rotation = "0 0 1 134.736"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "282.257 487.117 236.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-290.257 -495.117 236.655"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + }; + new InteriorInstance() { + position = "59.1307 -175.701 231.039"; + rotation = "0 0 1 78.4952"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-50.2925 -609.968 250.239"; + rotation = "0 0 1 36.096"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "42.2925 601.968 250.239"; + rotation = "0 0 1 216.096"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-67.1307 167.701 231.039"; + rotation = "0 0 -1 101.505"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "666.928 280.535 114.802"; + rotation = "0 0 1 237.204"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "777.305 157.621 238.662"; + rotation = "0 0 1 6.96693"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "730.332 173.948 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-506.369 -389.233 210.203"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "569.688 245.844 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "584.292 239.308 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "598.896 232.772 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "613.5 226.236 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "628.104 219.7 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "642.708 213.164 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "657.312 206.628 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "671.916 200.092 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "686.52 193.556 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "701.124 187.02 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "715.728 180.484 238.011"; + rotation = "0 0 -1 65.8902"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "668.465 285.681 112.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-674.928 -288.535 114.802"; + rotation = "0 0 1 57.2041"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-676.465 -293.681 112.417"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-785.305 -165.621 238.662"; + rotation = "0 0 1 186.967"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-577.688 -253.844 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-592.292 -247.308 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-606.896 -240.772 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-621.318 -234.318 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-635.922 -227.782 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-650.526 -221.246 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-665.13 -214.71 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-679.734 -208.174 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-694.338 -201.638 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-708.942 -195.102 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-723.546 -188.566 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-738.15 -182.03 238.011"; + rotation = "-0 -0 1 114.11"; + scale = "1 1 1"; + interiorFile = "bbrdgo.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-504.805 -397.976 211.231"; + rotation = "-0 -0 1 75.0569"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "175.61 219.974 299.963"; + rotation = "0 0 1 220.016"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-183.61 -227.974 299.963"; + rotation = "0 0 1 40.016"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-55.7417 -440.657 227.185"; + rotation = "-0 0 -1 46.4096"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-60.9567 -435.692 223.185"; + rotation = "-0 0 -1 46.4096"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-66.1716 -430.727 219.185"; + rotation = "-0 0 -1 46.4096"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-71.3865 -425.762 215.185"; + rotation = "-0 0 -1 46.4096"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-76.6014 -420.798 211.185"; + rotation = "-0 0 -1 46.4096"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "47.7417 432.657 227.185"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "52.9567 427.692 223.185"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "58.1716 422.727 219.185"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "63.3865 417.762 215.185"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "68.6014 412.798 211.185"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + interiorFile = "bbrdg5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "16.1215 591.856 248.848"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-24.1215 -599.856 248.848"; + rotation = "0 0 -1 1.23731"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "108.983 83.8983 333.839"; + rotation = "0 0 1 215.523"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-116.983 -91.8983 333.839"; + rotation = "0 0 1 35.523"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "89.643 96.3732 331.687"; + rotation = "0 0 -1 25.7831"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-97.643 -104.373 331.487"; + rotation = "0 0 1 154.217"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "131.477 65.1726 327.284"; + rotation = "0 0 -1 117.456"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-139.477 -73.1726 330.284"; + rotation = "-0 -0 1 62.5441"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-655.558 682.254 381.819"; + rotation = "0.0317368 -0.0363458 0.998835 169.636"; + scale = "1 1 1"; + shapeName = "rst-taobook.dts"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "471.805 250.376 211.231"; + rotation = "0 0 -1 104.943"; + scale = "1 1 1"; + interiorFile = "rst_lush_floatingisle5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "64.3744 317.835 209.744"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-72.3744 -325.835 209.744"; + rotation = "0 0 1 155.363"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "302.895 379.414 211.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-310.895 -387.414 211.119"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "365.322 167.001 210.723"; + rotation = "0 0 -1 83.6518"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-373.322 -175.001 210.723"; + rotation = "-0 -0 1 96.348"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "609.453 -33.3606 268.014"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new TSStatic() { + position = "-617.453 25.3606 268.014"; + rotation = "0 0 -1 111.818"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + }; + new InteriorInstance() { + position = "83.4263 317.19 214.028"; + rotation = "0 0 -1 110.008"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-91.4263 -325.19 214.028"; + rotation = "-0 -0 1 69.992"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "231.181 386.379 206.243"; + rotation = "0 0 1 83.6518"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-239.181 -394.379 206.243"; + rotation = "0 0 -1 96.348"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "282.152 484.609 236.769"; + rotation = "0 0 1 31.5127"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-290.152 -492.609 236.769"; + rotation = "0 0 1 211.513"; + scale = "1 1 1"; + dataBlock = "LightMaleHuman_Dead"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + }; + new SimGroup(team1) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "-411.85 454.084 319.4"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + interiorFile = "rst_FaceBase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-387.648 421.982 327.398"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "33"; + }; + new StaticShape() { + position = "-436.034 486.192 327.398"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "34"; + }; + new InteriorInstance(InteriorInstance) { + position = "-395.978 477.148 283.722"; + rotation = "0 0 1 73.9116"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-390.436 457.931 283.722"; + rotation = "0 0 1 73.9116"; + scale = "1 1 1"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-361.592 447.025 327.38"; + rotation = "0 0 1 98.3093"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4609"; + team = "1"; + Target = "35"; + notReady = "1"; + }; + new StaticShape() { + position = "-462.2 461.113 327.37"; + rotation = "0 0 -1 82.8113"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4611"; + team = "1"; + Target = "36"; + notReady = "1"; + }; + new StaticShape() { + position = "-418.874 403.432 327.38"; + rotation = "0 0 1 187.807"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4613"; + team = "1"; + Target = "37"; + notReady = "1"; + }; + new StaticShape() { + position = "-411.85 454.084 365.4"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "38"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "4120380"; + }; + new Item() { + position = "-411.833 454.128 342.9"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-404.801 504.725 327.368"; + rotation = "0 0 1 8.02166"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4617"; + team = "1"; + Target = "39"; + notReady = "1"; + }; + new Turret() { + position = "-426.267 473.298 343.45"; + rotation = "0 0 1 233.021"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "40"; + lastProjectile = "11406"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "-402.431 442.688 394.877"; + rotation = "0 0 1 50.4203"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-386.461 458.695 275.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-451.791 445.279 274.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-91.4654 673.524 314.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-255.417 488.839 290.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-133.95 515.532 250.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-538.914 508.769 247.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-123.937 432.028 244.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-202.764 363.364 244.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-351.03 279.54 241.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-465.652 349.156 244.921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-515.821 431.283 246.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-441.633 602.758 252.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-229.829 607.441 248.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-328.007 638.137 242.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new InteriorInstance() { + position = "-269.046 418.695 282.294"; + rotation = "0 0 -1 61.8795"; + scale = "1 1 1"; + interiorFile = "rst_FaceStand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-269.046 418.695 283.189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + WayPoint = "4863"; + Trigger = "4864"; + Target = "41"; + isHome = "1"; + searchSchedule = "17945"; + originalPosition = "-269.046 418.695 283.189 1 0 0 0"; + className = "FlagObj"; + }; + new InteriorInstance(InteriorInstance) { + position = "-210.328 440.036 299.028"; + rotation = "0 0 1 83.6518"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-210.394 440.632 308.828"; + rotation = "0 0 1 173.652"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "1"; + Target = "42"; + lastProjectile = "11580"; + }; + new SimGroup(junk) { + + powerCount = "2"; + + new TSStatic() { + position = "-418.681 487.924 327.232"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-442.48 469.99 327.232"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-381.088 438.369 327.232"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-405.207 420.194 327.232"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-378.019 460.96 327.174"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-395.953 484.759 327.174"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-427.574 423.368 327.174"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-445.628 447.326 327.174"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new StaticShape() { + position = "-441.919 469.291 333.539"; + rotation = "0 0 1 143.043"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-418.106 487.207 333.339"; + rotation = "0 0 1 143.043"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-405.638 421.018 333.339"; + rotation = "0 0 -1 37.0484"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-381.744 438.862 333.539"; + rotation = "0 0 -1 38.1942"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-396.717 484.015 333.539"; + rotation = "0 0 1 232"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-378.734 460.381 333.339"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-445.026 447.99 333.339"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "126492"; + }; + new StaticShape() { + position = "-426.938 424.031 333.539"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "126492"; + }; + new StaticShape() { + position = "-406.926 447.535 335.371"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "34270"; + damageTimeMS = "2366655"; + }; + new StaticShape() { + position = "-416.891 460.647 335.371"; + rotation = "0 0 1 142.863"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-405.234 459.103 335.371"; + rotation = "0 0 1 232.817"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-418.469 449.194 335.371"; + rotation = "0 0 1 51.6947"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + new TSStatic() { + position = "-380.35 412.838 324.381"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-443.047 495.312 321.181"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-370.862 485.621 323.381"; + rotation = "0 0 1 232.758"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-452.909 422.829 323.712"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-357.667 445.933 345.203"; + rotation = "0 0 -1 82.5059"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-466.133 460.201 345.203"; + rotation = "0 0 -1 82.5059"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-419.809 399.844 345.203"; + rotation = "0 0 1 187.494"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-405.515 508.508 345.203"; + rotation = "0 0 1 187.494"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-330.742 347.051 278.64"; + rotation = "0 0 1 33.2316"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-259.001 335.757 250.987"; + rotation = "0 0 -1 30.9397"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-332.732 436.121 325.552"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-378.944 478.983 330.564"; + rotation = "0 0 1 235.095"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-378.944 478.983 327.364"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-389.515 543.509 317.561"; + rotation = "0 0 -1 90.619"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-451.977 585.501 247.136"; + rotation = "0 0 1 0.0884693"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-327.06 474.177 279.865"; + rotation = "0 0 1 64.7442"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-476.317 439.645 249.931"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-384.893 438.715 283.722"; + rotation = "0 0 1 73.9116"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-394.241 456.885 277.558"; + rotation = "0.684715 -0.515142 0.515552 111.157"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "43"; + }; + new FlyingVehicle() { + position = "-107.075 691.039 323.286"; + rotation = "0 0 1 142.669"; + scale = "1 1 1"; + dataBlock = "hapcFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + selfPower = "1"; + respawnTime = "30000"; + team = "1"; + Target = "44"; + mountable = "1"; + Marker = "4882"; + respawn = "1"; + }; + new Item() { + position = "-89.9525 704.247 316.814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new Turret() { + position = "-397.153 434.633 343.45"; + rotation = "0 0 1 233.021"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "45"; + lastProjectile = "11406"; + }; + new StaticShape() { + position = "-383.738 435.219 283.7"; + rotation = "0 0 1 163.876"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4684"; + team = "1"; + Target = "46"; + notReady = "1"; + }; + new StaticShape() { + position = "-396.473 479.634 283.7"; + rotation = "0 0 -1 16.088"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4686"; + team = "1"; + Target = "47"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-98.5833 637.708 316.017"; + rotation = "0 0 1 213.805"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-98.5641 637.777 315.985"; + rotation = "0 0 1 213.805"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4689"; + team = "1"; + Target = "48"; + notReady = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-739.754 298.286 82.8171"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-739.943 298.128 84.2372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4693"; + team = "1"; + linkID = "1"; + invincible = "1"; + Target = "49"; + linkTo = "2"; + noflag = "0"; + oneway = "0"; + }; + new StaticShape() { + position = "-445.294 428.895 327.088"; + rotation = "0 0 -1 36.0964"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4695"; + team = "1"; + linkID = "2"; + invincible = "1"; + Target = "50"; + linkTo = "1"; + noflag = "0"; + oneway = "0"; + }; + new FlyingVehicle() { + position = "-75.8537 637.435 319.904"; + rotation = "0 0 -1 46.41"; + scale = "1 1 1"; + dataBlock = "ScoutFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + selfPower = "1"; + respawnTime = "30000"; + team = "1"; + Target = "51"; + mountable = "1"; + Marker = "4881"; + respawn = "1"; + nextWeaponFire = "2"; + }; + new InteriorInstance() { + position = "-64.0788 636.101 311.358"; + rotation = "0 0 -1 41.8259"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new FlyingVehicle() { + position = "-64.5269 647.924 319.992"; + rotation = "0 0 -1 46.41"; + scale = "1 1 1"; + dataBlock = "ScoutFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + selfPower = "1"; + respawnTime = "30000"; + team = "1"; + Target = "52"; + mountable = "1"; + Marker = "4880"; + respawn = "1"; + nextWeaponFire = "2"; + }; + }; + new SimGroup(team2) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "261.046 -426.695 282.294"; + rotation = "-0 -0 1 118.12"; + scale = "1 1 1"; + interiorFile = "rst_FaceStand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "261.046 -426.695 283.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + WayPoint = "4865"; + Trigger = "4866"; + Target = "53"; + isHome = "1"; + searchSchedule = "21832"; + originalPosition = "261.046 -426.695 283.179 1 0 0 0"; + className = "FlagObj"; + }; + new InteriorInstance(InteriorInstance) { + position = "403.85 -462.084 319.4"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + interiorFile = "rst_FaceBase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "202.328 -448.036 299.028"; + rotation = "0 0 -1 96.348"; + scale = "1 1 1"; + interiorFile = "bmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "202.394 -448.632 308.828"; + rotation = "0 0 -1 6.34808"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + team = "2"; + Target = "54"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "4152638"; + lastProjectile = "14801"; + }; + new Turret() { + position = "418.267 -481.298 343.45"; + rotation = "0 0 1 53.021"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "55"; + lastProjectile = "11406"; + }; + new Item() { + position = "403.833 -462.128 342.9"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "468.317 -447.645 249.931"; + rotation = "0 0 -1 104.943"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "428.034 -494.192 327.398"; + rotation = "0 0 -1 37"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "56"; + }; + new SimGroup(junk) { + + powerCount = "2"; + + new TSStatic() { + position = "362.862 -493.621 323.381"; + rotation = "0 0 1 52.758"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "435.047 -503.312 321.181"; + rotation = "0 0 1 142.758"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "444.909 -430.829 323.712"; + rotation = "0 0 1 232.712"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "372.35 -420.838 324.381"; + rotation = "0 0 1 142.758"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "397.207 -428.194 327.232"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "397.638 -429.018 333.339"; + rotation = "0 0 1 142.952"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "373.088 -446.369 327.232"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "373.744 -446.862 333.539"; + rotation = "0 0 1 141.806"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "370.019 -468.96 327.174"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "370.734 -468.381 333.339"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "387.953 -492.759 327.174"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "388.717 -492.015 333.539"; + rotation = "0 0 1 52"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "410.681 -495.924 327.232"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "410.106 -495.207 333.339"; + rotation = "0 0 -1 36.957"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "434.48 -477.99 327.232"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "433.919 -477.291 333.539"; + rotation = "0 0 -1 36.957"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "437.628 -455.326 327.174"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "437.026 -455.99 333.339"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "126492"; + }; + new TSStatic() { + position = "419.574 -431.368 327.174"; + rotation = "0 0 1 53"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new StaticShape() { + position = "418.938 -432.031 333.539"; + rotation = "0 0 1 233"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "126492"; + }; + new TSStatic() { + position = "458.133 -468.201 345.203"; + rotation = "-0 -0 1 97.4939"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "411.809 -407.844 345.203"; + rotation = "0 0 1 7.49401"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "349.667 -453.933 345.203"; + rotation = "-0 -0 1 97.4939"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "397.515 -516.508 345.203"; + rotation = "0 0 1 7.49401"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "324.732 -444.121 325.552"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "322.742 -355.051 278.64"; + rotation = "0 0 1 213.232"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "251.001 -343.757 250.987"; + rotation = "0 0 1 149.06"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new StaticShape() { + position = "408.891 -468.647 335.371"; + rotation = "0 0 -1 37.137"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "410.469 -457.194 335.371"; + rotation = "0 0 1 231.695"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "398.926 -455.535 335.371"; + rotation = "0 0 1 143.331"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "34270"; + damageTimeMS = "2366655"; + }; + new StaticShape() { + position = "397.234 -467.103 335.371"; + rotation = "0 0 1 52.817"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + new TSStatic() { + position = "411.809 -407.844 345.203"; + rotation = "0 0 1 7.49401"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "349.667 -453.933 345.203"; + rotation = "-0 -0 1 97.4939"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "397.515 -516.508 345.203"; + rotation = "0 0 1 7.49401"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "458.133 -468.201 345.203"; + rotation = "-0 -0 1 97.4939"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "370.944 -486.983 330.564"; + rotation = "0 0 1 55.095"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "2"; + }; + new TSStatic() { + position = "370.944 -486.983 327.364"; + rotation = "0 0 1 142.758"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "2"; + }; + }; + new StaticShape() { + position = "379.648 -429.982 327.398"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "57"; + }; + new StaticShape() { + position = "353.592 -455.025 327.38"; + rotation = "0 0 -1 81.6912"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4750"; + team = "2"; + Target = "58"; + notReady = "1"; + }; + new StaticShape() { + position = "396.801 -512.725 327.38"; + rotation = "0 0 1 188.022"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4752"; + team = "2"; + Target = "59"; + notReady = "1"; + }; + new StaticShape() { + position = "454.2 -469.113 327.38"; + rotation = "-0 -0 1 97.1891"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4754"; + team = "2"; + Target = "60"; + notReady = "1"; + }; + new StaticShape() { + position = "410.874 -411.432 327.38"; + rotation = "0 0 1 7.80699"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "4756"; + team = "2"; + Target = "61"; + notReady = "1"; + }; + new SimGroup(spawnSpheres) { + + powerCount = "2"; + + new SpawnSphere() { + position = "396.684 -449.304 391.6"; + rotation = "0 0 1 51.5663"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "382.033 -466.124 282.111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "449.561 -451.007 255.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "528.272 -520.412 251.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "290.458 -513.917 285.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "120.512 -521.083 250.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "122.942 -432.386 250.188"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "176.134 -377.994 249.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "226.113 -339.998 250.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "313.167 -286.04 250.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "401.182 -288.648 251.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "462.686 -366.61 251.524"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "503.287 -435.67 253.874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "431.356 -610.185 248.195"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "312.433 -650.894 252.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "77.0556 -673.723 316.349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new InteriorInstance() { + position = "443.977 -593.501 247.136"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "381.515 -551.509 317.561"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "403.85 -462.084 365.2"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "62"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + damageTimeMS = "4120380"; + }; + new InteriorInstance(InteriorInstance) { + position = "319.06 -482.177 279.865"; + rotation = "0 0 -1 115.256"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "376.893 -446.715 283.722"; + rotation = "0 0 -1 106.088"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "382.436 -465.931 283.722"; + rotation = "0 0 -1 106.088"; + scale = "1 1 1"; + interiorFile = "bbrdg8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "387.978 -485.148 283.722"; + rotation = "0 0 -1 106.088"; + scale = "1 1 1"; + interiorFile = "bbrdg9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new FlyingVehicle() { + position = "93.2617 -700.233 323.094"; + rotation = "0 0 -1 37.331"; + scale = "1 1 1"; + dataBlock = "hapcFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + selfPower = "1"; + respawnTime = "30000"; + team = "2"; + Target = "63"; + mountable = "1"; + Marker = "4879"; + respawn = "1"; + }; + new FlyingVehicle() { + position = "66.2679 -645.691 319.985"; + rotation = "0 0 1 133.59"; + scale = "1 1 1"; + dataBlock = "ScoutFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + selfPower = "1"; + respawnTime = "30000"; + team = "2"; + Target = "64"; + mountable = "1"; + Marker = "4878"; + respawn = "1"; + nextWeaponFire = "2"; + }; + new FlyingVehicle() { + position = "54.127 -655.291 320.163"; + rotation = "0 0 1 109.521"; + scale = "1 1 1"; + dataBlock = "ScoutFlyer"; + lockCount = "0"; + homingCount = "0"; + disableMove = "0"; + + selfPower = "1"; + respawnTime = "30000"; + team = "2"; + Target = "65"; + mountable = "1"; + Marker = "4877"; + respawn = "1"; + nextWeaponFire = "2"; + }; + new Turret() { + position = "389.153 -442.633 343.45"; + rotation = "0 0 1 53.021"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "66"; + lastProjectile = "11406"; + }; + new InteriorInstance() { + position = "90.5833 -645.708 316.017"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + interiorFile = "anthem_pipebunker.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "90.5641 -645.777 315.985"; + rotation = "0 0 1 33.8045"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4787"; + team = "2"; + Target = "67"; + }; + new StaticShape() { + position = "388.473 -487.634 283.7"; + rotation = "0 0 1 163.912"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4789"; + team = "2"; + Target = "68"; + }; + new StaticShape() { + position = "375.738 -443.219 283.7"; + rotation = "0 0 -1 16.1245"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4791"; + team = "2"; + Target = "69"; + }; + new Turret() { + position = "386.412 -464.88 277.503"; + rotation = "-0.46952 -0.624071 0.624568 230.337"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + repairedBy = "4137"; + wasDisabled = "0"; + team = "2"; + Target = "70"; + lastDamagedByTeam = "1"; + lastDamagedBy = "4137"; + soiledByEnemyRepair = "1"; + damageTimeMS = "2956734"; + }; + new Item() { + position = "81.9525 -712.247 316.814"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "697.154 -449.086 57.4171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bbunk8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "697.248 -449.067 58.6798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4796"; + team = "2"; + linkID = "3"; + invincible = "1"; + Target = "71"; + linkTo = "4"; + noflag = "0"; + oneway = "0"; + }; + new StaticShape() { + position = "437.208 -436.929 327.118"; + rotation = "0 0 -1 37.2423"; + scale = "1 1 1"; + dataBlock = "teleporter"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "4798"; + team = "2"; + linkID = "4"; + invincible = "1"; + Target = "72"; + linkTo = "3"; + noflag = "0"; + oneway = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "56.0788 -644.101 311.358"; + rotation = "0 0 1 138.174"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + new SimGroup(trees) { + + powerCount = "0"; + + new TSStatic() { + position = "250.134 289.091 259.698"; + rotation = "0 0 1 58.4418"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-258.134 -297.091 259.698"; + rotation = "0 0 1 238.442"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "261.887 77.9359 274.026"; + rotation = "1 0 0 0"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-269.887 -85.9359 274.026"; + rotation = "0 0 1 180"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "88.0011 199.596 222.463"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-96.0011 -207.596 223.263"; + rotation = "0 0 1 180"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "516.489 532.353 340.985"; + rotation = "0 0 1 60.1606"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-524.489 -540.353 340.985"; + rotation = "0 0 -1 119.839"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "570.128 122.331 248.823"; + rotation = "0 0 -1 62.4524"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-578.128 -130.331 248.823"; + rotation = "-0 -0 1 117.548"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "614.896 -19.9201 266.294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-622.896 11.9201 266.294"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "351.831 -596.457 305.136"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-359.831 588.457 305.136"; + rotation = "0 0 1 152.498"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "542.274 -537.453 245.417"; + rotation = "0 0 1 116.31"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-550.274 529.453 245.417"; + rotation = "0 0 -1 63.69"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "512.525 -379.791 248.188"; + rotation = "0 0 1 146.287"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-520.525 371.791 248.188"; + rotation = "0 0 -1 33.713"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "433.435 -140.429 279.528"; + rotation = "0 0 1 189.076"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-441.435 132.429 279.528"; + rotation = "0 0 1 9.07598"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "128.053 -35.1851 203.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-121.653 27.1851 202.568"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "369.77 -661.094 249.22"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-377.77 653.094 249.22"; + rotation = "0 0 1 180"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-251.089 504.273 300.401"; + rotation = "0 0 1 88.8084"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "243.089 -512.273 300.201"; + rotation = "0 0 -1 91.192"; + scale = "1.3 1.3 1.3"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-469.486 492.49 319.509"; + rotation = "0 0 1 111.154"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "461.486 -500.49 318.509"; + rotation = "0 0 -1 68.846"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-422.788 359.836 280.41"; + rotation = "0 0 1 34.3775"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "413.581 -366.768 280.41"; + rotation = "0 0 1 214.378"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-530.479 21.2122 298.796"; + rotation = "0 0 -1 32.0855"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "523.978 -28.0347 301.396"; + rotation = "0 0 1 147.915"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-341.013 420.651 318.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "333.013 -428.651 318.92"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-347.34 519.083 286.214"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "339.34 -527.083 286.214"; + rotation = "0 0 1 217.242"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-659.404 694.079 380.646"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "651.404 -706.079 380.646"; + rotation = "0 0 1 180"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "140.058 554.771 309.368"; + rotation = "0 0 -1 104.278"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "103.151 310.321 238.421"; + rotation = "0 0 -1 71.0468"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-109.796 -322.381 236.821"; + rotation = "-0 -0 1 108.953"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-148.058 -562.771 309.368"; + rotation = "-0 -0 1 75.7221"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "296.3 -111.771 252.729"; + rotation = "0 0 -1 33.8045"; + scale = "4 4 4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-304.3 103.771 252.729"; + rotation = "0 0 1 146.195"; + scale = "4 4 4"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "112.442 -688.536 310.776"; + rotation = "0 0 1 73.9115"; + scale = "4 4 4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-120.442 680.536 310.776"; + rotation = "0 0 -1 106.089"; + scale = "4 4 4"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "192.12 -351.046 234.07"; + rotation = "0 0 1 97.4028"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-200.12 343.046 234.07"; + rotation = "0 0 -1 82.597"; + scale = "3 3 3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "61.5564 -78.5551 196.254"; + rotation = "0 0 -1 118.602"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-49.1251 72.4862 195.254"; + rotation = "0 0 1 17.2805"; + scale = "3 3 3"; + shapeName = "borg19.dts"; + }; + new TSStatic() { + position = "-332.007 -165.722 225.005"; + rotation = "0 0 1 90.5273"; + scale = "5 5 5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "325.808 179.506 229.205"; + rotation = "0 0 -1 89.4731"; + scale = "5 5 5"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "40.1062 -190.405 230.299"; + rotation = "0 0 -1 75.2396"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-53.3662 187.665 230.499"; + rotation = "0 0 -1 4.67449"; + scale = "2 2 2"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "163.435 212.399 298.837"; + rotation = "0 0 1 157.563"; + scale = "0.6 0.6 0.6"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-171.435 -220.399 298.837"; + rotation = "0 0 -1 22.437"; + scale = "0.6 0.6 0.6"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-516.204 -310.478 223.701"; + rotation = "0 0 -1 31.5127"; + scale = "1.8 1.8 1.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "508.204 302.478 223.701"; + rotation = "0 0 1 148.487"; + scale = "1.8 1.8 1.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "376.431 93.2728 208.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-384.431 -101.273 208.383"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "147.733 438.529 206.917"; + rotation = "0 0 -1 72.1927"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "-155.733 -446.529 206.917"; + rotation = "-0 -0 1 107.807"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + }; + new TSStatic() { + position = "192.64 80.2063 209.087"; + rotation = "0 0 1 55.004"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-200.64 -88.2063 209.087"; + rotation = "0 0 1 235.004"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + }; + new AudioEmitter() { + position = "-88.5737 -5.5747 69.8648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "AAFireSound"; + description = "ClosestLooping3d"; + fileName = "audio/fx/environment/ctmelody2.WAV"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; +}; +//--- OBJECT WRITE END --- + +//Custom Turret Counts +$TeamDeployableMin[TurretIndoorDeployable] = 8; +$TeamDeployableMin[TurretOutdoorDeployable] = 0; +$TeamDeployableMax[TurretIndoorDeployable] = 16; +$TeamDeployableMax[TurretOutdoorDeployable] = 0; diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Hoth.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Hoth.mis new file mode 100644 index 00000000..d58da13e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Hoth.mis @@ -0,0 +1,2651 @@ +// Displayname = DMP-Hoth +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +// Remember kids, +// Friends don't let friends who can't use ';' wright scripts for your maps! +// --idk +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Terrain by The Driver +//Assets by 0-kills AKA Icecoldkiller +//Map by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_scoreLimit = "6"; + + new MissionArea(MissionArea) { + area = "-984 -808 1712 1808"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "450"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "300"; + fogColor = "0.650000 0.650000 0.700000 1.000000"; + fogVolume1 = "250 0 82"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "sky_ice_blue.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 6.89829e-37"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.700000 0.700000 0.700000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Hoth.ter"; + squareSize = "8"; + emptySquares = "805417 1067816 85032 937002 1068328 1068584 1068840 1069096 938281 545324 545580 641195 641451 707243 773034 773290 773546 773802 774058 774314 774570 774826 775082 578733 578989 513709 448430"; + + position = "-1024 -1024 0"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "75"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + position = "0 0 0 1"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Katabatic_x2.nav"; + coverage = "0"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-282.878 221.612 207.469"; + rotation = "0.797384 0.248586 -0.549895 59.1003"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "90.1305 766.582 211.977"; + rotation = "0.0829627 -0.240557 0.967083 143.11"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-820.708 -134.536 238.194"; + rotation = "0.128605 -0.241281 0.961896 125.712"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-656.063 -374.139 120.726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(MainBase1) { + + powerCount = "2"; + + new InteriorInstance(InteriorInstance) { + position = "-640.256 -383.981 164.31"; + rotation = "0 0 1 89.3813"; + scale = "1 1.02 1"; + interiorFile = "Xtra_imperium_base01.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-610.691 -493.322 112.719"; + rotation = "-0.0134392 -0.00955606 -0.999864 89.3459"; + scale = "2.64202 1.43722 4.21311"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + lastDamagedBy = "3540"; + soiledByEnemyRepair = "1"; + team = "1"; + wasDisabled = "1"; + repairedBy = "3540"; + lastDamagedByTeam = "1"; + Target = "33"; + damageTimeMS = "219738"; + locked = "false"; + }; + new TSStatic() { + position = "-611.467 -458.303 147.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-654.893 -460.567 147.816"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-654.893 -460.567 150.816"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-654.893 -460.567 153.816"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-664.098 -460.814 153.816"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-664.098 -460.814 150.816"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-664.098 -460.814 147.816"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-661.954 -418.96 147.365"; + rotation = "0 0 1 178.373"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-661.954 -418.96 152.965"; + rotation = "0 0 1 178.373"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-651.874 -425.991 148.495"; + rotation = "0 0 1 177.8"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-651.891 -431.299 148.095"; + rotation = "0 0 1 177.8"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-619.482 -418.25 153.011"; + rotation = "0 0 1 178.373"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-619.482 -418.25 147.412"; + rotation = "0 0 1 178.373"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-605.468 -418.671 147.342"; + rotation = "0 0 1 177.8"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-594.136 -429.066 148.142"; + rotation = "0 0 1 177.8"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-620.673 -458.548 147.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-620.673 -458.548 150.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-620.673 -458.548 153.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-611.467 -458.303 153.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-611.467 -458.303 150.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-679.651 -474.183 149.597"; + rotation = "0.58204 -0.571877 0.578089 119.058"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-679.686 -474.183 152.797"; + rotation = "0.582039 -0.571877 0.57809 119.058"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-686.201 -474.281 152.797"; + rotation = "0.582039 -0.571877 0.57809 119.058"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-686.166 -474.28 149.597"; + rotation = "0.582039 -0.571877 0.57809 119.058"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-589.438 -474.792 147.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-589.438 -474.792 150.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-589.438 -474.792 153.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-598.643 -475.038 153.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-598.643 -475.038 150.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-598.643 -475.038 147.902"; + rotation = "-0 0 -1 0.963466"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "1"; + locked = "false"; + }; + new TSStatic() { + position = "-583.745 -466.945 147.812"; + rotation = "-0 0 -1 0.573347"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-641.032 -131.928 101.238"; + rotation = "0 0 1 201.864"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "3513"; + flag = "5135"; + team = "1"; + lastDamagedByTeam = "1"; + Target = "-1"; + damageTimeMS = "2884560"; + locked = "false"; + }; + new Item() { + position = "-641.043 -131.858 101.843"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + WayPoint = "5411"; + team = "1"; + Trigger = "5412"; + originalPosition = "-641.043 -131.858 101.843 0 0 1 3.13318"; + stand = "5134"; + Target = "34"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + }; + new StaticShape() { + position = "-683.601 -444.588 95.292"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5425"; + inUse = "Down"; + team = "1"; + ready = "1"; + Target = "35"; + locked = "false"; + }; + new StaticShape() { + position = "-595.695 -443.703 95.3438"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5428"; + team = "1"; + ready = "1"; + Target = "36"; + locked = "false"; + }; + new Item() { + position = "-635.117 -480.47 166.251"; + rotation = "0 0 1 220.198"; + scale = "1 1 1"; + dataBlock = "Beacon"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-667.56 -493.665 112.772"; + rotation = "0.00942969 -0.0133802 0.999866 90.1876"; + scale = "2.64202 1.43722 4.21311"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + team = "1"; + wasDisabled = "1"; + Target = "37"; + locked = "false"; + }; + new StaticShape() { + position = "-579.353 -470.805 164.26"; + rotation = "0 0 1 90.1373"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5142"; + team = "1"; + Target = "38"; + locked = "false"; + }; + new StaticShape() { + position = "-699.144 -471.654 164.282"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5144"; + team = "1"; + Target = "39"; + locked = "false"; + }; + new StaticShape() { + position = "-637.429 -495.46 148.252"; + rotation = "0 0 1 129.098"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5146"; + team = "1"; + Target = "40"; + locked = "false"; + }; + new StaticShape() { + position = "-578.349 -474.972 126.284"; + rotation = "0 0 1 131.963"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5148"; + team = "1"; + Target = "41"; + locked = "false"; + }; + new StaticShape() { + position = "-700.043 -476.143 126.293"; + rotation = "0 0 1 221.917"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5150"; + team = "1"; + Target = "42"; + locked = "false"; + }; + new StaticShape() { + position = "-700.049 -476.146 98.2916"; + rotation = "0 0 1 220.198"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4202"; + inUse = "Down"; + Trigger = "5152"; + team = "1"; + notReady = "1"; + lastDamagedByTeam = "2"; + Target = "43"; + damageTimeMS = "175598"; + locked = "false"; + }; + new StaticShape() { + position = "-578.355 -475.031 98.2773"; + rotation = "0 0 1 131.963"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4202"; + Trigger = "5154"; + team = "1"; + lastDamagedByTeam = "2"; + Target = "44"; + damageTimeMS = "181802"; + locked = "false"; + }; + new Turret() { + position = "-641.184 -155.879 103.174"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + Target = "45"; + }; + new Turret() { + position = "-640.748 -443.031 162.35"; + rotation = "0.00409015 0.00410827 -0.999983 88.7437"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + name = "Flag"; + team = "1"; + Target = "46"; + locked = "false"; + }; + new Item() { + position = "-638.913 -472.981 98.511"; + rotation = "0 0 1 179.908"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new ForceFieldBare(display06) { + position = "-639.832 -503.944 124.726"; + rotation = "0.999968 0.0063708 -0.00491971 180.185"; + scale = "3.00189 1.06779 26.1566"; + nameTag = "Force Field"; + dataBlock = "ffdisplay06"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5159"; + originalscale = "3.00189 1.06779 26.1566"; + team = "1"; + Target = "47"; + locked = "false"; + }; + new ForceFieldBare(display07) { + position = "-640.222 -480.939 124.876"; + rotation = "0.99998 0.00632773 8.17984e-05 180.181"; + scale = "3.01883 1.0067 26.6542"; + nameTag = "Force Field"; + dataBlock = "ffdisplay06"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5162"; + originalscale = "3.01883 1.0067 26.6542"; + team = "1"; + Target = "48"; + locked = "false"; + }; + new ForceFieldBare(display10) { + position = "-630.031 -492.861 149.819"; + rotation = "0.67954 -0.668582 -0.302032 146.516"; + scale = "0.1 1.09606 0.723484"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5164"; + originalscale = "0.1 1.09606 0.723484"; + team = "1"; + Target = "49"; + locked = "false"; + }; + new ForceFieldBare(display11) { + position = "-623.18 -487.65 149.814"; + rotation = "0.914921 0.00868504 -0.403539 180.355"; + scale = "0.1 1.06243 0.729268"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5166"; + originalscale = "0.1 1.06243 0.729268"; + team = "1"; + Target = "50"; + locked = "false"; + }; + new ForceFieldBare(display12) { + position = "-626.356 -479.308 149.731"; + rotation = "0.679824 -0.6686 0.301353 213.137"; + scale = "0.106175 1.06221 0.730072"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5168"; + originalscale = "0.106175 1.06221 0.730072"; + team = "1"; + Target = "51"; + locked = "false"; + }; + new ForceFieldBare(display14) { + position = "-648.131 -486.682 149.373"; + rotation = "0 0 1 179.518"; + scale = "7.43828 3.91081 0.155316"; + nameTag = "Force Field"; + dataBlock = "ffdisplay09"; + lockCount = "0"; + homingCount = "0"; + + pz = "5170"; + originalscale = "7.43828 3.91081 0.155316"; + team = "1"; + Target = "52"; + locked = "false"; + }; + new ForceFieldBare(display15) { + position = "-662.623 -491.117 149.743"; + rotation = "0.670169 0.677538 0.30301 213.171"; + scale = "1.07182 0.10302 0.7593"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5172"; + originalscale = "1.07182 0.10302 0.7593"; + team = "1"; + Target = "53"; + locked = "false"; + }; + new ForceFieldBare(display13) { + position = "-662.881 -493.052 154.507"; + rotation = "-0.00420363 0.999991 -0.000799912 180"; + scale = "0.101607 8.15729 4.13587"; + nameTag = "Force Field"; + dataBlock = "ffdisplay10"; + lockCount = "0"; + homingCount = "0"; + + pz = "5174"; + originalscale = "0.101607 8.15729 4.13587"; + team = "1"; + Target = "54"; + locked = "false"; + }; + new ForceFieldBare() { + position = "-625.086 -493.08 154.6"; + rotation = "0.715534 -0.698578 0.000562331 179.936"; + scale = "0.194833 7.9 4.14561"; + nameTag = "Force Field"; + dataBlock = "display03"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5176"; + originalscale = "0.194833 7.9 4.14561"; + team = "1"; + Target = "55"; + locked = "false"; + }; + new ForceFieldBare() { + position = "-633.276 -479.025 154.587"; + rotation = "0.702714 0.711473 0.000556511 180.065"; + scale = "0.194833 7.9 4.10968"; + nameTag = "Force Field"; + dataBlock = "display02"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5178"; + originalscale = "0.194833 7.9 4.10968"; + team = "1"; + Target = "56"; + locked = "false"; + }; + new ForceFieldBare() { + position = "-622.931 -482.214 154.59"; + rotation = "0.999972 0.00739187 -0.000797979 180.001"; + scale = "0.162974 8.1512 4.16309"; + nameTag = "Force Field"; + dataBlock = "display01"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5180"; + originalscale = "0.162974 8.1512 4.16309"; + team = "1"; + Target = "57"; + locked = "false"; + }; + new InteriorInstance() { + position = "-641.163 -144.22 85.3774"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "Xtra_imperium_bunker01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "-621.667 -475.856 109.946"; + rotation = "-0.569375 0.570454 -0.591941 118.654"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + name = "Flag"; + team = "1"; + Target = "58"; + locked = "false"; + }; + new Turret() { + position = "-654.798 -476.176 109.745"; + rotation = "0.58104 -0.552928 0.597213 239.368"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + name = "Flag"; + team = "1"; + Target = "59"; + locked = "false"; + }; + new Turret() { + position = "-704.676 -354.225 154.667"; + rotation = "-0 0 -1 1.14602"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "1"; + Target = "60"; + }; + new InteriorInstance(InteriorInstance) { + position = "-576.449 -352.414 154.888"; + rotation = "0 0 1 89.9544"; + scale = "0.7 0.7 0.7"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-640.962 -132.025 85.5055"; + rotation = "0 0 -1 1.53643"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5187"; + team = "1"; + Target = "61"; + locked = "false"; + }; + new Turret() { + position = "-576.396 -352.929 154.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "1"; + Target = "62"; + }; + new StaticShape() { + position = "-640.114 -410.086 190.651"; + rotation = "-0 0 -1 0.573347"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "63"; + }; + new InteriorInstance(InteriorInstance) { + position = "-704.74 -353.711 154.752"; + rotation = "0 0 1 88.8084"; + scale = "0.7 0.7 0.7"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-640.047 -410.236 190.726"; + rotation = "0 0 1 89.381"; + scale = "0.9 0.9 0.9"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-639.889 -354.453 130.32"; + rotation = "0 0 -1 4.0111"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5193"; + team = "1"; + Target = "64"; + }; + new StaticShape() { + position = "-638.644 -473.665 126.3"; + rotation = "0 0 1 176.471"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "5195"; + team = "1"; + notReady = "1"; + Target = "65"; + }; + }; + new SimGroup(base1) { + + powerCount = "0"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "368.304 637.874 120.306"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(MainBase2) { + + powerCount = "2"; + + new TSStatic() { + position = "442.988 668.038 147.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "478.013 668.435 111.914"; + rotation = "0.00199225 0.011422 0.999933 181.28"; + scale = "2.64202 1.43722 4.21311"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + lastDamagedBy = "3540"; + soiledByEnemyRepair = "1"; + team = "2"; + wasDisabled = "1"; + repairedBy = "3540"; + lastDamagedByTeam = "1"; + Target = "66"; + damageTimeMS = "219738"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "368.36 640.054 163.505"; + rotation = "1 0 0 0"; + scale = "1 1.02 1"; + interiorFile = "Xtra_imperium_base01.dif"; + showTerrainInside = "0"; + + hidden = "false"; + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "394.401 640.043 189.73"; + rotation = "-0 0 -1 89.9543"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "67"; + }; + new InteriorInstance(InteriorInstance) { + position = "337.342 575.83 154.031"; + rotation = "-0 0 -1 0.573347"; + scale = "0.7 0.7 0.7"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "394.551 640.109 189.805"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "118.608 638.39 84.5846"; + rotation = "0 0 -1 92.6366"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5208"; + team = "2"; + Target = "68"; + locked = "false"; + }; + new InteriorInstance() { + position = "131.217 638.296 84.5727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_imperium_bunker01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new ForceFieldBare() { + position = "466.766 656.438 153.785"; + rotation = "0.705695 0.708516 -0.000561127 180.065"; + scale = "0.162974 8.1512 4.16309"; + nameTag = "Force Field"; + dataBlock = "display01"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5211"; + originalscale = "0.162974 8.1512 4.16309"; + team = "2"; + Target = "69"; + locked = "false"; + }; + new ForceFieldBare() { + position = "463.53 646.044 153.782"; + rotation = "-0.000796724 0.999999 0.000794557 180.001"; + scale = "0.194833 7.9 4.10968"; + nameTag = "Force Field"; + dataBlock = "display02"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5213"; + originalscale = "0.194833 7.9 4.10968"; + team = "2"; + Target = "70"; + locked = "false"; + }; + new ForceFieldBare() { + position = "477.642 654.088 153.795"; + rotation = "0.999978 0.00659121 7.02908e-06 179.909"; + scale = "0.194833 7.9 4.14561"; + nameTag = "Force Field"; + dataBlock = "display03"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5215"; + originalscale = "0.194833 7.9 4.14561"; + team = "2"; + Target = "71"; + locked = "false"; + }; + new ForceFieldBare(display13) { + position = "477.181 616.253 153.702"; + rotation = "-0.706261 0.707951 -0.000568649 180.065"; + scale = "0.101607 8.15729 4.13587"; + nameTag = "Force Field"; + dataBlock = "ffdisplay10"; + lockCount = "0"; + homingCount = "0"; + + pz = "5217"; + originalscale = "0.101607 8.15729 4.13587"; + team = "2"; + Target = "72"; + locked = "false"; + }; + new ForceFieldBare(display15) { + position = "475.281 616.577 148.908"; + rotation = "-6.27341e-05 0.913339 0.4072 179.85"; + scale = "1.07182 0.10302 0.7593"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5219"; + originalscale = "1.07182 0.10302 0.7593"; + team = "2"; + Target = "73"; + locked = "false"; + }; + new ForceFieldBare(display14) { + position = "470.972 631.043 148.568"; + rotation = "0 0 1 90.1366"; + scale = "7.43828 3.91081 0.155316"; + nameTag = "Force Field"; + dataBlock = "ffdisplay08"; + lockCount = "0"; + homingCount = "0"; + + pz = "5221"; + originalscale = "7.43828 3.91081 0.155316"; + team = "2"; + Target = "74"; + locked = "false"; + }; + new ForceFieldBare(display12) { + position = "463.806 652.916 148.927"; + rotation = "0.913918 0.00267322 0.40589 179.953"; + scale = "0.106175 1.06221 0.730072"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5223"; + originalscale = "0.106175 1.06221 0.730072"; + team = "2"; + Target = "75"; + locked = "false"; + }; + new ForceFieldBare(display11) { + position = "472.215 656.021 148.991"; + rotation = "0.670772 0.676298 -0.304443 214.013"; + scale = "0.1 1.06243 0.729268"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5225"; + originalscale = "0.1 1.06243 0.729268"; + team = "2"; + Target = "76"; + locked = "false"; + }; + new ForceFieldBare(display10) { + position = "477.346 649.092 149.026"; + rotation = "0.912886 0.00249228 -0.408207 179.842"; + scale = "0.1 1.09606 0.723484"; + nameTag = "Force Field"; + dataBlock = "ffdisplay07"; + lockCount = "0"; + homingCount = "0"; + + pz = "5227"; + originalscale = "0.1 1.09606 0.723484"; + team = "2"; + Target = "77"; + locked = "false"; + }; + new ForceFieldBare(display06) { + position = "488.32 639.182 123.921"; + rotation = "0.706416 0.707793 -0.00236216 180.528"; + scale = "3.00189 1.06779 26.1566"; + nameTag = "Force Field"; + dataBlock = "ffdisplay06"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5229"; + originalscale = "3.00189 1.06779 26.1566"; + team = "2"; + Target = "78"; + locked = "false"; + }; + new ForceFieldBare(display07) { + position = "465.312 639.042 124.071"; + rotation = "0.706448 0.707764 0.00116905 180.122"; + scale = "3.01883 1.0067 26.6542"; + nameTag = "Force Field"; + dataBlock = "ffdisplay06"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + pz = "5231"; + originalscale = "3.01883 1.0067 26.6542"; + team = "2"; + Target = "79"; + locked = "false"; + }; + new Item() { + position = "456.413 640.701 97.706"; + rotation = "0 0 -1 89.9547"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new Turret() { + position = "142.69 638.28 102.169"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "2"; + Target = "80"; + }; + new Turret() { + position = "428.279 639.097 161.572"; + rotation = "-0.00405342 7.05017e-05 0.999992 180.157"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + name = "Flag"; + team = "2"; + Target = "81"; + locked = "false"; + }; + new StaticShape() { + position = "459.996 700.874 97.4726"; + rotation = "0 0 1 40.8625"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4202"; + Trigger = "5236"; + team = "2"; + lastDamagedByTeam = "2"; + Target = "82"; + damageTimeMS = "181802"; + locked = "false"; + }; + new StaticShape() { + position = "459.99 579.144 97.4869"; + rotation = "0 0 1 130.817"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "4202"; + inUse = "Down"; + Trigger = "5238"; + team = "2"; + notReady = "1"; + lastDamagedByTeam = "2"; + Target = "83"; + damageTimeMS = "175598"; + locked = "false"; + }; + new StaticShape() { + position = "459.859 579.185 125.488"; + rotation = "0 0 1 130.817"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5240"; + team = "2"; + Target = "84"; + locked = "false"; + }; + new StaticShape() { + position = "460.017 700.994 125.479"; + rotation = "0 0 1 39.7166"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5242"; + team = "2"; + Target = "85"; + locked = "false"; + }; + new StaticShape() { + position = "479.863 641.676 147.447"; + rotation = "0 0 1 39.7166"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5244"; + team = "2"; + Target = "86"; + locked = "false"; + }; + new StaticShape() { + position = "455.836 700.015 163.455"; + rotation = "0 0 1 0.754847"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5246"; + team = "2"; + Target = "87"; + locked = "false"; + }; + new StaticShape() { + position = "455.391 580.223 163.477"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5248"; + team = "2"; + Target = "88"; + locked = "false"; + }; + new StaticShape() { + position = "428.495 596.056 94.4873"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5431"; + inUse = "Down"; + team = "2"; + ready = "1"; + Target = "89"; + locked = "false"; + }; + new StaticShape() { + position = "428.56 683.967 94.5391"; + rotation = "0 0 1 89.9546"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + station = "5434"; + team = "2"; + ready = "1"; + Target = "90"; + locked = "false"; + }; + new Item() { + position = "118.855 638.426 101.038"; + rotation = "0 0 1 89.5637"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + WayPoint = "5413"; + team = "2"; + Trigger = "5414"; + originalPosition = "118.855 638.426 101.038 0 0 1 1.56318"; + stand = "5253"; + Target = "91"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + }; + new StaticShape() { + position = "118.925 638.437 100.433"; + rotation = "0 0 1 111.91"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + lastDamagedBy = "3513"; + flag = "5251"; + team = "2"; + lastDamagedByTeam = "1"; + Target = "-1"; + damageTimeMS = "2884560"; + locked = "false"; + }; + new TSStatic() { + position = "451.929 695.666 147.007"; + rotation = "-0 0 -1 89.9547"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "459.86 680.682 147.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new Item() { + position = "464.898 644.15 165.446"; + rotation = "0 0 1 130.817"; + scale = "1 1 1"; + dataBlock = "Beacon"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "477.745 611.767 111.963"; + rotation = "0.843734 -0.150825 0.515136 1.55012"; + scale = "2.64202 1.43722 4.21311"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + team = "2"; + wasDisabled = "1"; + Target = "92"; + locked = "false"; + }; + new TSStatic() { + position = "459.86 680.682 150.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "459.86 680.682 153.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "459.714 689.889 153.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "459.714 689.889 150.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "459.714 689.889 147.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "458.158 593.171 148.792"; + rotation = "0.999988 0.00340743 -0.00344595 89.3816"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "458.159 593.137 151.992"; + rotation = "0.999988 0.00340743 -0.00344595 89.3816"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "458.131 599.653 151.992"; + rotation = "0.999988 0.00340743 -0.00344595 89.3816"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "458.131 599.687 148.792"; + rotation = "0.999988 0.00340823 -0.00344677 89.3816"; + scale = "2.89433 3.12005 5.11741"; + shapeName = "stackable2m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "442.988 668.038 150.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "442.988 668.038 153.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "443.134 658.83 153.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "443.134 658.83 150.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "443.134 658.83 147.097"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "413.94 685.685 147.337"; + rotation = "0 0 1 88.4186"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "403.423 674.465 146.537"; + rotation = "0 0 1 88.4186"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "402.851 660.457 147.007"; + rotation = "0 0 1 88.9916"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "402.851 660.457 152.606"; + rotation = "0 0 1 88.9916"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "415.549 627.909 147.29"; + rotation = "0 0 1 88.4186"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "410.242 627.983 147.69"; + rotation = "0 0 1 88.4186"; + scale = "2.09163 2.42367 2.99593"; + shapeName = "stackable2l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "403.102 617.98 151.96"; + rotation = "0 0 1 88.9916"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "403.102 617.98 146.36"; + rotation = "0 0 1 88.9916"; + scale = "2.33738 1.78603 2.01294"; + shapeName = "stackable3l.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "444.931 615.383 147.011"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "444.931 615.383 150.011"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "444.931 615.383 153.011"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "444.784 624.591 153.011"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "444.784 624.591 150.011"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new TSStatic() { + position = "444.784 624.591 147.011"; + rotation = "0 0 -1 90.3448"; + scale = "2.68193 2.61957 3.05681"; + shapeName = "stackable1m.dts"; + + team = "2"; + locked = "false"; + }; + new Turret() { + position = "460.402 657.797 109.025"; + rotation = "0.693212 -0.00439838 0.72072 180.528"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + name = "Flag"; + team = "2"; + Target = "93"; + locked = "false"; + }; + new Turret() { + position = "460.413 624.362 108.824"; + rotation = "0.696753 0.0135102 0.717184 178.529"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + name = "Flag"; + team = "2"; + Target = "94"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "337.206 704.13 153.967"; + rotation = "0 0 1 0.573347"; + scale = "0.7 0.7 0.7"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "337.721 704.178 153.882"; + rotation = "-0 0 -1 89.3813"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "2"; + Target = "95"; + }; + new Turret() { + position = "337.856 575.889 153.946"; + rotation = "0 0 -1 90.5272"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + team = "2"; + Target = "96"; + }; + new StaticShape() { + position = "458.168 640.669 125.44"; + rotation = "0 0 1 86.1262"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5294"; + team = "2"; + Target = "97"; + locked = "false"; + }; + new StaticShape() { + position = "338.673 640.771 129.451"; + rotation = "0 0 -1 93.392"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "5296"; + team = "2"; + Target = "98"; + locked = "false"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-583.314 1022.18 114.665"; + rotation = "0 0 1 122.04"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-565.618 1019.96 113.27"; + rotation = "0 0 1 67.0361"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-581.171 1017.3 115.181"; + rotation = "0 0 1 19.48"; + scale = "0.2 0.2 0.2"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-567.967 1016.09 113.998"; + rotation = "0 0 -1 11.4598"; + scale = "0.2 0.2 0.2"; + interiorFile = "Xtra_imperium_stand01.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-574.013 1013.89 113.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + team = "0"; + }; + new WaterBlock() { + position = "-616 992 105.615"; + rotation = "1 0 0 0"; + scale = "64 64 1"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0.2"; + surfaceTexture = "liquidtiles/icebound_water.png"; + surfaceOpacity = "0.45"; + envMapTexture = "liquidtiles/icebound_emap_cloudsground.png"; + envMapIntensity = "0.3"; + removeWetEdges = "1"; + + textureSize = "32 32"; + team = "0"; + floodFill = "1"; + params2 = "0.39 0.39 0.2 0.133"; + params0 = "0.32 -0.67 0.066 0.5"; + params3 = "1.21 -0.61 0.13 -0.33"; + extent = "100 100 10"; + seedPoints = "0 0 1 0 1 1 0 1"; + params1 = "0.63 -2.41 0.33 0.21"; + }; + }; + }; + new SimGroup(Landmarks) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "116 1196 71.4125"; + rotation = "-0.0577975 -0.0149473 -0.998216 61.0899"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "244 1244 110.381"; + rotation = "-0.17283 -0.433038 0.884651 78.7909"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "284 108 75.7875"; + rotation = "-0.103292 0.158662 0.981915 104.017"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-612 220 154.037"; + rotation = "-0.160206 -0.0601078 0.985252 229.351"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "468 1140 146.803"; + rotation = "0.445686 0.210134 -0.870177 39.8348"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-340 -132 130.256"; + rotation = "-0.700636 -0.482886 0.52529 24.4758"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "788 588 127.678"; + rotation = "-0.215161 -0.0288281 0.976153 152.642"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-516 -148 78.3344"; + rotation = "-0.0153756 0.0390531 0.999119 234.959"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-620 484 89.8657"; + rotation = "-0.286428 0.0780888 0.954914 119.33"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 460 83.1313"; + rotation = "-0.0863173 -0.00732314 -0.996241 58.1833"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "636 -132 108.225"; + rotation = "-0.10246 0.341236 -0.934377 96.874"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-308 804 82.4282"; + rotation = "0.206719 0.198193 -0.958116 62.1453"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "836 1060 117.725"; + rotation = "0.27453 0.172471 0.945985 221.834"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "316 404 72.6937"; + rotation = "-0.0496643 0.238558 0.969857 158.647"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "956 492 94.4751"; + rotation = "-0.13159 0.047875 0.990147 61.4972"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-524 804 108.334"; + rotation = "0.360035 -0.156703 -0.919684 97.7747"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "804 12 71.4594"; + rotation = "0.0621172 -0.0428315 0.997149 233.868"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "836 956 78.8656"; + rotation = "0.0918517 0.0754574 -0.99291 108.388"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "268 804 83.7094"; + rotation = "-0.035522 0.0650304 0.997251 164.044"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 820 82.8032"; + rotation = "0.00120552 -0.046036 -0.998939 87.0609"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "868 -188 77.3343"; + rotation = "0.320473 -0.165457 0.932696 41.5808"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "380 1004 80.3969"; + rotation = "-0.147087 -0.053341 0.987684 179.012"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-428 556 89.3656"; + rotation = "0.00160739 -0.536858 -0.843671 51.1787"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "876 668 104.006"; + rotation = "0.0339025 -0.434671 -0.899951 67.4589"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "4 548 77.5062"; + rotation = "-0.000352707 -0.0100998 0.999949 86.0027"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "580 -20 74.225"; + rotation = "-0.022809 -0.181003 -0.983218 100.953"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "772 140 178.053"; + rotation = "0.0607484 -0.122575 0.990598 112.501"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "804 -164 80.3657"; + rotation = "-0.129432 -0.274826 -0.952742 102.719"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-628 12 79.2562"; + rotation = "0.0562517 0.0317414 0.997912 22.0449"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "836 1052 118.287"; + rotation = "0.281253 0.0935143 0.955066 229.954"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "140 508 78.3344"; + rotation = "-0.0351238 -0.0219561 0.999142 231.961"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-44 372 168.491"; + rotation = "0.043899 0.208114 0.977119 178.046"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-244 -108 131.944"; + rotation = "-0.0188972 0.0205829 -0.99961 115.02"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 980 71.9125"; + rotation = "0.09845 -0.259054 0.960832 50.7503"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-236 1324 217.225"; + rotation = "-0.329012 0.597928 0.730912 52.9436"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-412 -260 71.1781"; + rotation = "-0.242694 -0.103198 0.964598 176.142"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-44 1068 125.788"; + rotation = "0.426436 0.676102 0.600865 42.0363"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-132 692 74.6156"; + rotation = "0.156544 0.0847442 0.984029 225.34"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "308 356 79.3031"; + rotation = "0.0486013 -0.0400085 0.998017 163.033"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "900 716 103.881"; + rotation = "-0.0744108 0.0818736 0.993861 57.2964"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 236 79.3187"; + rotation = "0.135636 -0.3618 0.922336 65.1281"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "188 1004 137.475"; + rotation = "0.232532 0.00161753 0.972587 45.1173"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-284 908 83.2875"; + rotation = "0.0763549 -0.0703268 -0.994597 106.298"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "332 244 74.6312"; + rotation = "0.109681 -0.0606604 -0.992114 26.1995"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-172 716 79.2875"; + rotation = "0.0208615 -0.0815737 0.996449 228.846"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-476 1044 104.616"; + rotation = "-0.105955 -0.136757 -0.984922 107.831"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-276 1108 118.069"; + rotation = "0.11173 -0.299587 0.947504 146.733"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "676 972 97.6469"; + rotation = "0.366373 -0.112828 -0.923602 64.0194"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-204 148 150.147"; + rotation = "0.0456991 0.0689773 0.996571 85.196"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 724 83.4906"; + rotation = "-0.089862 -0.0556349 -0.994399 114.294"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition4BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "460 28 147.281"; + rotation = "0.400277 -0.763039 -0.507494 40.1244"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "36 108 115.203"; + rotation = "-0.053277 -0.291644 0.955042 228.981"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "396 532 114.438"; + rotation = "0.118138 0.856482 -0.502476 44.086"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-372 236 76.6562"; + rotation = "-0.0317241 0.0446186 0.9985 209.957"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "956 1156 95.0469"; + rotation = "0.0417199 -0.0733633 0.996432 224.856"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 1164 76.0937"; + rotation = "-0.0620172 0.00312396 0.99807 201.959"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-44 1164 77.2501"; + rotation = "-0.27086 0.139527 -0.952453 25.1606"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "924 1068 95.9687"; + rotation = "-0.299861 -0.140242 -0.943618 116.025"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 1140 73.6406"; + rotation = "0.0817468 0.0583501 0.994944 190.945"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "764 -44 74.1562"; + rotation = "-0.0217055 -0.0974639 0.995002 143.172"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "572 1036 147.156"; + rotation = "-0.185246 0.978235 -0.0934873 31.2926"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-188 108 148.672"; + rotation = "0.0111369 0.0335406 0.999375 218.978"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "324 724 97.6406"; + rotation = "-0.0172473 0.0157682 0.999727 221.99"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-532 692 77.3282"; + rotation = "-0.169189 -0.0478258 -0.984423 18.2798"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "244 364 80.875"; + rotation = "0.00173117 -0.135033 0.99084 139.345"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "940 -260 74.4218"; + rotation = "0.059906 -0.0420382 0.997318 108.146"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-612 492 95.6875"; + rotation = "-0.311891 -0.0259703 0.949763 173.351"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "588 -212 114.125"; + rotation = "0.212047 -0.00472619 0.977248 176.091"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "116 532 77.8282"; + rotation = "-0.989536 -0.144284 2.17066e-05 11.7479"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-164 732 78.8437"; + rotation = "0.0273132 -0.00408024 0.999619 163.007"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 1156 72.0937"; + rotation = "0.0261407 -0.00508118 -0.999645 112.018"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 708 79.4374"; + rotation = "0.0991492 -0.013357 0.994983 223.8"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "564 1260 201.297"; + rotation = "-0.616943 -0.697684 -0.364167 39.7509"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 1220 82.0469"; + rotation = "-0.0877928 0.111346 0.989896 96.5783"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "140 1052 135.984"; + rotation = "0.718981 -0.237884 -0.653052 34.6078"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "172 820 79.7657"; + rotation = "0.00909023 -0.147339 -0.989044 50.4852"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "60 316 160.078"; + rotation = "0.00142709 -0.132032 -0.991244 84.5015"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "348 324 73.1563"; + rotation = "0.0595617 0.0432255 0.997288 139.102"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-532 620 83.9843"; + rotation = "-0.00128114 0.0364558 -0.999334 92.0382"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-204 52 167.406"; + rotation = "-0.0981115 -0.0551514 0.993646 207.829"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-388 396 77.0312"; + rotation = "0.0259485 -0.888241 -0.458644 23.7132"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "428 908 93.7187"; + rotation = "0.14608 0.506305 0.849892 39.5702"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 1028 79.2656"; + rotation = "0.0701274 -0.00725565 0.997512 183.991"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "356 444 84.3281"; + rotation = "-0.903895 0.1393 0.404438 24.4125"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-196 1012 96.6875"; + rotation = "-0.133215 0.45045 0.882807 33.7681"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "84 316 149.656"; + rotation = "0.179067 -0.231046 0.956323 214.523"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-372 492 89.4844"; + rotation = "-0.118819 -0.0752133 0.990063 105.552"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 356 97.1563"; + rotation = "0.277253 -0.0985136 0.955733 133.899"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-172 244 156.281"; + rotation = "-0.19669 -0.356533 0.913344 93.1916"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "68 1188 82.0938"; + rotation = "0.753757 -0.0788185 0.65241 10.7115"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "76 308 147.938"; + rotation = "0.0799826 -0.241125 0.967193 172.262"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "556 812 149.953"; + rotation = "0.000804735 0.140108 0.990136 200.797"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-108 108 132.516"; + rotation = "-0.0178608 -0.0198181 0.999644 168.004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "660 436 151.813"; + rotation = "0.407669 0.732905 -0.544662 32.4279"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-4 1100 114.641"; + rotation = "0.334778 0.115097 0.935241 89.8323"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-636 -12 78.6094"; + rotation = "-0.0538371 -0.00119696 0.998549 43.0568"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "596 76 83.2031"; + rotation = "0.0449284 0.254314 -0.966078 117.764"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-324 1044 76.9687"; + rotation = "-0.0649463 0.0876527 0.994032 34.1923"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "500 100 75.2657"; + rotation = "-0.120234 0.0123749 0.992669 159.15"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "860 -204 77.9063"; + rotation = "-0.600246 -0.296635 -0.742773 33.2376"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_IceGiant.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_IceGiant.mis new file mode 100644 index 00000000..9ebc86e9 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_IceGiant.mis @@ -0,0 +1,1788 @@ +// Displayname = DMP-IceGiant +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//It is better to have less thunder in the mouth and more lightning in the hand. +// -- Gen Ben Chidlaw +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//600 points to win +//Map by Rilke (Editing: z0dd, b0x) +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "6"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-968 -680 1744 1712"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.500000 0.500000 0.650000 1.000000"; + ambient = "0.400000 0.400000 0.550000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "IceGiant.ter"; + squareSize = "8"; + + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + GraphFile = "IceGiant.nav"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-501.152 -393.6 178.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new StaticShape() { + position = "-498.158 -383.259 162.099"; + rotation = "0.0119567 -0.00505794 -0.999916 44.6581"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + notReady = "1"; + locked = "true"; + inUse = "Down"; + Trigger = "20250"; + team = "1"; + }; + new StaticShape() { + position = "-473.022 -369.709 161.951"; + rotation = "0.0117063 0.00480922 0.99992 45.8756"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + notReady = "1"; + locked = "true"; + inUse = "Down"; + Trigger = "20252"; + team = "1"; + }; + new StaticShape() { + position = "-496.502 -391.345 168.657"; + rotation = "0.0115459 0.00481108 0.999922 46.4486"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + locked = "true"; + team = "1"; + }; + new ForceFieldBare() { + position = "-560.085 -514.943 167.724"; + rotation = "-0.0828568 -0.92734 0.364932 25.9552"; + scale = "0.75 17.5 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + locked = "true"; + team = "1"; + pz = "20255"; + originalscale = "0.75 17.5 11"; + }; + new ForceFieldBare() { + position = "-525.463 -528.783 167.818"; + rotation = "0.191274 -0.209934 -0.958823 83.3671"; + scale = "0.75 24 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + locked = "true"; + team = "1"; + pz = "20258"; + originalscale = "0.75 24 11"; + }; + new ForceFieldBare() { + position = "-520.252 -495.848 167.474"; + rotation = "-0.177573 0.221043 -0.958962 83.6234"; + scale = "0.75 24 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + locked = "true"; + team = "1"; + pz = "20260"; + originalscale = "0.75 24 11"; + }; + new InteriorInstance() { + position = "-471.221 -376.878 174.032"; + rotation = "-0.0020985 0.00495512 0.999986 227.109"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-513.531 -407.488 162.334"; + rotation = "-0.00205969 0.00495423 0.999986 226.353"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + notReady = "1"; + locked = "true"; + inUse = "Down"; + Trigger = "20263"; + team = "1"; + }; + new InteriorInstance() { + position = "-549.58 -507.745 158.478"; + rotation = "-0 0 -1 80.9696"; + scale = "1.1 1.25 1.25"; + interiorFile = "rilke_whitedwarf_vehiclepad_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-535.572 -509.882 158.127"; + rotation = "-0 0 -1 80.9696"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + locked = "true"; + station = "20460"; + inUse = "Down"; + ready = "1"; + team = "1"; + }; + new Turret() { + position = "-518.401 -197.278 172.341"; + rotation = "0 0 1 78.3913"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "41"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-499.127 -203.855 170.601"; + rotation = "0 0 -1 101.414"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-591.926 -40.7965 252.412"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-351.437 -488.478 146.739"; + rotation = "0 0 1 232.621"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-439.713 -322.64 139.382"; + rotation = "-0 0 -1 42.9718"; + scale = "1 1 1"; + interiorFile = "rilke_bombscare_flagstand_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-431.548 -331.436 143.972"; + rotation = "0 0 -1 44.9198"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "42"; + className = "FlagObj"; + isHome = "1"; + originalPosition = "-431.548 -331.436 143.972 0 0 -1 0.783998"; + team = "1"; + WayPoint = "20445"; + Trigger = "20446"; + }; + new ForceFieldBare() { + position = "-436.261 -349.026 144.524"; + rotation = "0.158782 -0.392852 -0.90579 47.0388"; + scale = "0.75 20 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + locked = "true"; + team = "1"; + pz = "20274"; + originalscale = "0.75 20 11"; + }; + new ForceFieldBare() { + position = "-414.029 -328.689 144.274"; + rotation = "-0.153077 0.38454 -0.910328 46.7846"; + scale = "0.75 20 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + locked = "true"; + team = "1"; + pz = "20276"; + originalscale = "0.75 20 11"; + }; + new StaticShape() { + position = "-574.914 -50.7955 254.149"; + rotation = "0 0 1 89.0376"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-556.387 -519.328 162.211"; + rotation = "0 0 1 226.787"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + notReady = "1"; + locked = "true"; + inUse = "Down"; + Trigger = "20279"; + team = "1"; + }; + new StaticShape() { + position = "-552.344 -494.545 162.219"; + rotation = "0 0 -1 30.0228"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + locked = "true"; + Trigger = "20281"; + team = "1"; + }; + new Turret() { + position = "-371.683 -491.021 148.473"; + rotation = "0 0 1 52.8167"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "48"; + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-388.791 -547.565 191.195"; + rotation = "0 0 1 10.3129"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "49"; + locked = "true"; + team = "1"; + }; + new InteriorInstance() { + position = "-402.27 -562.093 189.48"; + rotation = "0 0 1 11.4591"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-487.31 -394.985 165.546"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-446.062 -307.581 143.88"; + rotation = "0 0 1 48.1285"; + scale = "2.1 1.7 2"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(baseff) { + + powerCount = "1"; + + new StaticShape() { + position = "-502.127 -396.763 172.667"; + rotation = "-0.0485862 -0.101748 0.993623 226.798"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + combo10651_3 = "1"; + locked = "true"; + team = "1"; + hitBy10651 = "1"; + }; + new ForceFieldBare() { + position = "-484.295 -385.369 162.065"; + rotation = "0.012307 -0.00506211 -0.999911 43.512"; + scale = "0.6 7 7"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + locked = "true"; + team = "1"; + pz = "20290"; + originalscale = "0.6 7 7"; + }; + new ForceFieldBare() { + position = "-497.735 -397.317 162.075"; + rotation = "0.012307 -0.00506211 -0.999911 43.512"; + scale = "0.6 7 7"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + locked = "true"; + team = "1"; + pz = "20292"; + originalscale = "0.6 7 7"; + }; + }; + new Item() { + position = "-517.604 -525.433 162.571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "161.898 646.92 188.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "85"; + sphereWeight = "100"; + indoorWeight = "40"; + outdoorWeight = "60"; + + locked = "true"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "141.053 605.42 180.81"; + rotation = "0 0 1 16.0427"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_towerbunker2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "356.847 395.195 205.248"; + rotation = "0 0 -1 62.166"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "244.713 702.034 168.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "295.004 471.686 177.747"; + rotation = "0 0 1 57.8687"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "160.9 624.684 168.799"; + rotation = "0 0 1 104.279"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + locked = "true"; + Trigger = "20303"; + team = "2"; + }; + new StaticShape() { + position = "146.366 600.177 168.801"; + rotation = "0 0 1 194.806"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "55"; + locked = "true"; + Trigger = "20305"; + team = "2"; + }; + new StaticShape() { + position = "155.269 630.807 175.298"; + rotation = "0 0 1 195.379"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "56"; + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "216.298 734.943 174.061"; + rotation = "-0.189278 -0.446809 0.874377 51.0468"; + scale = "0.75 17.5 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + locked = "true"; + team = "2"; + pz = "20308"; + originalscale = "0.75 17.5 11"; + }; + new ForceFieldBare() { + position = "236.335 703.499 174.155"; + rotation = "0.185253 -0.406796 -0.894538 49.9885"; + scale = "0.75 24 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + locked = "true"; + team = "2"; + pz = "20310"; + originalscale = "0.75 24 11"; + }; + new ForceFieldBare() { + position = "259.789 727.202 173.811"; + rotation = "-0.159042 0.415977 -0.89536 50.2321"; + scale = "0.75 24 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + locked = "true"; + team = "2"; + pz = "20312"; + originalscale = "0.75 24 11"; + }; + new StaticShape() { + position = "161.637 653.354 168.8"; + rotation = "0 0 1 16.4337"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + locked = "true"; + Trigger = "20314"; + team = "2"; + }; + new ForceFieldBare() { + position = "135.359 529.324 150.173"; + rotation = "0.162216 -0.213669 -0.963344 75.4587"; + scale = "0.75 20 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + locked = "true"; + team = "2"; + pz = "20316"; + originalscale = "0.75 20 11"; + }; + new Turret() { + position = "315.336 472.384 179.482"; + rotation = "0 0 1 237.616"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "62"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "145.51 629.077 172.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "2"; + }; + new Item() { + position = "130.009 546.93 149.668"; + rotation = "0 0 -1 72.7083"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "63"; + className = "FlagObj"; + isHome = "1"; + searchSchedule = "278665"; + originalPosition = "130.009 546.93 149.668 0 0 -1 1.269"; + team = "2"; + WayPoint = "20447"; + Trigger = "20448"; + }; + new InteriorInstance() { + position = "118.639 550.395 145.06"; + rotation = "-0 0 -1 73.3385"; + scale = "1 1 1"; + interiorFile = "rilke_bombscare_flagstand_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new ForceFieldBare() { + position = "143.824 558.049 149.916"; + rotation = "-0.161262 0.21486 -0.963239 75.4213"; + scale = "0.75 20 11"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "64"; + locked = "true"; + team = "2"; + pz = "20323"; + originalscale = "0.75 20 11"; + }; + new Turret() { + position = "-97.022 547.926 183.901"; + rotation = "0 0 1 180.31"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "65"; + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "-107.305 530.295 182.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "366.419 377.806 203.521"; + rotation = "0 0 -1 60.1606"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new InteriorInstance() { + position = "229.03 734.659 164.815"; + rotation = "-0 0 -1 45.2639"; + scale = "1.1 1.25 1.25"; + interiorFile = "rilke_whitedwarf_vehiclepad_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "239.159 724.748 164.464"; + rotation = "-0 0 -1 45.2639"; + scale = "1 1 1"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + locked = "true"; + station = "20463"; + ready = "1"; + team = "2"; + }; + new StaticShape() { + position = "216.702 729.048 168.553"; + rotation = "0 0 -1 93.7359"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "67"; + locked = "true"; + Trigger = "20330"; + team = "2"; + }; + new StaticShape() { + position = "234.519 747.016 168.55"; + rotation = "0 0 1 2.46102"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "68"; + locked = "true"; + Trigger = "20332"; + team = "2"; + }; + new InteriorInstance() { + position = "39.4792 796.246 262.813"; + rotation = "0 0 1 186.967"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "27.2192 780.691 264.53"; + rotation = "0 0 1 185.878"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "69"; + locked = "true"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "105.62 559.631 149.56"; + rotation = "0 0 1 16.6159"; + scale = "2.1 1.7 2"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(baseff) { + + powerCount = "1"; + + new ForceFieldBare() { + position = "153.279 636.508 168.65"; + rotation = "0 0 1 105.425"; + scale = "0.6 7 7"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "70"; + locked = "true"; + team = "2"; + pz = "20338"; + originalscale = "0.6 7 7"; + }; + new ForceFieldBare() { + position = "147.932 619.338 168.759"; + rotation = "0 0 1 105.425"; + scale = "0.6 7 7"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "71"; + locked = "true"; + team = "2"; + pz = "20340"; + originalscale = "0.6 7 7"; + }; + new StaticShape() { + position = "157.303 638.372 179.219"; + rotation = "0.585669 -0.082533 0.806338 19.8261"; + scale = "1 1 1"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + Target = "72"; + locked = "true"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(midfield) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-134.311 107.259 124.945"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridge2_x2.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "0"; + }; + new Item() { + position = "-139.648 99.3834 133.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + team = "0"; + ammoStore = "1"; + }; + new Item() { + position = "-153.93 110.27 133.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + locked = "true"; + team = "0"; + ammoStore = "1"; + }; + new Turret() { + position = "-137.803 97.9283 142.938"; + rotation = "0 0 1 126.624"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "73"; + locked = "true"; + team = "0"; + }; + new Turret() { + position = "-155.903 111.747 142.913"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "74"; + locked = "true"; + team = "0"; + }; + new StaticShape() { + position = "-146.835 104.837 133.904"; + rotation = "0 0 -1 52.1392"; + scale = "1 1 1"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + Target = "75"; + locked = "true"; + name = "Outpost"; + team = "0"; + Projector = "0"; + }; + new Item() { + position = "-146.989 105.247 118.133"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + locked = "true"; + team = "0"; + }; + new WayPoint() { + position = "-146.748 105.123 116.633"; + rotation = "0 0 1 37.2423"; + scale = "1 1 1"; + nameTag = "jamp"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Outpost"; + team = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-146.849 104.838 142.455"; + rotation = "0 0 -1 52.7121"; + scale = "2.9934 2.74658 1"; + shapeName = "bmiscf.dts"; + + locked = "true"; + team = "0"; + }; + new StaticShape() { + position = "-146.736 104.788 142.914"; + rotation = "0 0 -1 52.941"; + scale = "1 1 1"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "76"; + locked = "true"; + team = "0"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new TSStatic() { + position = "721.392 845.881 91.2661"; + rotation = "0.123381 0.133562 -0.98333 95.4975"; + scale = "1 1 1"; + shapeName = "vehicle_air_scout_wreck.dts"; + + locked = "true"; + }; + new Precipitation(Precipitation) { + position = "-112 -601.019 143.205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Snow"; + lockCount = "0"; + homingCount = "0"; + percentage = "1"; + color1 = "1.000000 1.000000 1.000000 1.000000"; + color2 = "-1.000000 0.000000 0.000000 1.000000"; + color3 = "-1.000000 0.000000 0.000000 1.000000"; + offsetSpeed = "0.25"; + minVelocity = "0.25"; + maxVelocity = "1"; + maxNumDrops = "500"; + maxRadius = "125"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "66.0805 534.564 174.125"; + rotation = "0.173163 -0.126095 0.976788 73.4082"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-448.661 -282.927 159.295"; + rotation = "0.00288246 -0.145145 0.989406 177.749"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "157.029 618.302 176.892"; + rotation = "0.985486 0.0211926 -0.16843 14.5521"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + new Camera() { + position = "-492.465 -398.951 169.92"; + rotation = "0.587205 0.10154 -0.803044 24.3041"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + }; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.500000 0.500000 0.650000 0.000000"; + fogDistance = "200"; + fogColor = "0.500000 0.500000 0.650000 1.000000"; + fogVolume1 = "450 0 100"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_Surreal1.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 6.89829e-37"; + high_fogVolume2 = "-1 0 0"; + high_fogVolume3 = "-1 0 0"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(randomObjects) { + + powerCount = "0"; + + new SimGroup(Addition1DSPlant16) { + + powerCount = "0"; + + new TSStatic() { + position = "-852 -132 185.859"; + rotation = "0 0 1 191"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1308 -316 169.594"; + rotation = "0 0 1 231"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "4 1180 152.516"; + rotation = "0 0 -1 7.00012"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 404 118.594"; + rotation = "0 0 1 112"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1276 556 114.016"; + rotation = "0 0 1 192"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1136.26 -821.078 112.572"; + rotation = "0 0 1 16"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1388 -436 157.359"; + rotation = "0 0 -1 93.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "756 620 123"; + rotation = "0 0 -1 93.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 452 117.5"; + rotation = "0 0 1 81.0002"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-84.9373 116.061 112.103"; + rotation = "0 0 1 25"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 76 106.156"; + rotation = "0 0 1 64.9998"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -860 96.375"; + rotation = "0 0 1 175"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "420 -532 173.016"; + rotation = "0 0 1 217"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 948 100.141"; + rotation = "0 0 1 124"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-740 -44 192.078"; + rotation = "0 0 1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-379.086 833.991 199.125"; + rotation = "0 0 1 211"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-684 -476 126.422"; + rotation = "0 0 1 224"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 1148 128.75"; + rotation = "0 0 1 70"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "564 -28 103.891"; + rotation = "0 0 -1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "220 -164 149.641"; + rotation = "0 0 -1 23.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "732 1092 118.859"; + rotation = "0 0 -1 44.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 -348 141.609"; + rotation = "0 0 1 153"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1372 -588 196.828"; + rotation = "0 0 -1 26.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-956 44 134.547"; + rotation = "0 0 -1 47"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 364 153.15"; + rotation = "0 0 -1 29"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "356 220 80.2656"; + rotation = "0 0 1 154"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-140 1380 172.016"; + rotation = "0 0 -1 52.0003"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-668 -676 103.125"; + rotation = "0 0 1 76.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 -268 171.719"; + rotation = "0 0 1 36"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -244 107.747"; + rotation = "0 0 1 61.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "188 -940 86.2188"; + rotation = "0 0 1 108"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-900 1324 109.766"; + rotation = "0 0 -1 28.0002"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 1324 102.016"; + rotation = "0 0 1 38"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-916 -364 173.891"; + rotation = "0 0 -1 22.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -756 106.609"; + rotation = "0 0 1 163"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1332 -860 140.375"; + rotation = "0 0 1 168"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "70.3567 631.051 167.042"; + rotation = "0 0 1 159"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + }; + new SimGroup(Addition2DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "228 1164 93.8282"; + rotation = "0 0 1 186"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "836 252 68.5781"; + rotation = "0 0 1 15"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 1228 172.203"; + rotation = "0 0 1 155"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "620 196 72.9688"; + rotation = "0 0 -1 16.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "684 -924 127.969"; + rotation = "0 0 -1 91"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "1132 -572 142.109"; + rotation = "0 0 1 186"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-796 -708 99.937"; + rotation = "0 0 1 127"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-932 1300 114.172"; + rotation = "0 0 1 190"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1380 -1148 96.5938"; + rotation = "0 0 1 133"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-196 620 221.453"; + rotation = "0 0 -1 53"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "628 1380 143.531"; + rotation = "0 0 1 151"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-772 164 145.156"; + rotation = "0 0 1 151"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-876 -260 168.609"; + rotation = "0 0 1 197"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1094.9 -647.226 207.845"; + rotation = "0 0 -1 102"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-804 -52 184.453"; + rotation = "0 0 1 231"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1020 -908 110.797"; + rotation = "0 0 1 230"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "812 980 120.453"; + rotation = "0 0 1 69.0002"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1452 -796 152.422"; + rotation = "0 0 1 1.00014"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "652 940 99.703"; + rotation = "0 0 1 131"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1356 1212 146.047"; + rotation = "0 0 1 171"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-629.84 -324.212 250.365"; + rotation = "0 0 1 60.0001"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 1284 149.031"; + rotation = "0 0 1 1.00014"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108 -780 124.5"; + rotation = "0 0 1 11"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1468 1188 154.031"; + rotation = "0 0 1 202"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-340 76 134.844"; + rotation = "0 0 1 123"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 1364 101.359"; + rotation = "0 0 -1 52.0003"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-673.392 671.118 187.725"; + rotation = "0 0 1 57"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -84 115.25"; + rotation = "0 0 -1 55.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "668 892 96.0782"; + rotation = "0 0 1 173"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "732 -1028 110.938"; + rotation = "0 0 -1 98.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "257.289 782.249 163.075"; + rotation = "0 0 -1 7.99996"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -828 160.266"; + rotation = "0 0 1 216"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-164 -388 100.969"; + rotation = "0 0 -1 38"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-1404 908 98.641"; + rotation = "0 0 1 233"; + scale = "0.7 0.7 0.7"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "948 -916 78.2187"; + rotation = "0 0 1 220"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-236 -772 171.797"; + rotation = "0 0 1 143"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -812 171.844"; + rotation = "0 0 1 84.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-988 -228 152.687"; + rotation = "0 0 1 70"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_IsleDeBatalla.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_IsleDeBatalla.mis new file mode 100644 index 00000000..cbdf52c2 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_IsleDeBatalla.mis @@ -0,0 +1,2351 @@ +// DisplayName = DMP-IsleDeBatalla +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Just keep your mind open and suck in the experience. +//And if it hurts, you know what? It's probably worth it. +// -- Richard (The Beach) +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]800 points to win +//Vehicle Map +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + musicTrack = "badlands"; + powerCount = "0"; + cdTrack = "2"; + CTF_scoreLimit = "8"; + + new MissionArea(MissionArea) { + area = "-840 -928 1712 1872"; + flightCeiling = "512"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "512 512 512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.674176 0 -0.738571"; + color = "0.650000 0.595000 0.595000 1.000000"; + ambient = "0.500000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "rst_isledebatalla.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Misadventure.nav"; + locked = "true"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + YDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "380"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.200000 0.300000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "lava_night.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748237232865280.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768168253259776.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 3.21638e+38 -4.05685e+33"; + high_fogVolume2 = "-1 -3.57007e+33 3.2031e+38"; + high_fogVolume3 = "-1 3.18981e+38 -2.71821e+33"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "true"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new TSStatic() { + position = "-240.168 615.452 189.807"; + rotation = "0 0 1 116.883"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "232.168 -623.452 192.007"; + rotation = "0 0 -1 63.117"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "194.518 586.887 240.306"; + rotation = "0 0 -1 37.8154"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-202.518 -594.887 241.706"; + rotation = "0 0 1 142.185"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "297.969 385.935 258.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-305.569 -393.935 261.696"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-162.835 -149.452 209.114"; + rotation = "0 0 1 164.048"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "154.835 141.452 208.914"; + rotation = "0 0 -1 15.952"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "471.886 -209.15 179.33"; + rotation = "0 0 1 138.265"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-479.886 201.15 179.33"; + rotation = "0 0 -1 41.735"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "323.873 -138.874 226.018"; + rotation = "0 0 -1 36.0963"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-324.924 135.941 225.418"; + rotation = "0 0 1 143.904"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-75.0597 -371.168 217.815"; + rotation = "0 0 -1 27.502"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "67.0597 363.168 217.815"; + rotation = "0 0 1 152.498"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-45.0464 -449.657 250.087"; + rotation = "0 0 1 143.422"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + team = "0"; + }; + new TSStatic() { + position = "37.0464 441.657 250.087"; + rotation = "0 0 -1 36.578"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-363.834 -167.468 210.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "355.834 159.468 210.525"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-4.95402 -0.886025 247.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "748.531 -525.201 78.1897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "734.878 -531.583 75.2707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-756.531 517.201 78.7897"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "borg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-742.278 523.583 75.2707"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new Item() { + position = "741.252 -541.548 78.2738"; + rotation = "0 0 1 61.8795"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-749.252 533.548 79.0738"; + rotation = "0 0 -1 118.12"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-742.743 189.637 94.1343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-671.554 -127.177 63.1855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-724.672 -558.518 54.4758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-861.759 -556.761 109.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-470.804 -798.939 75.2095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "147.628 -920.931 72.2402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "931.266 -790.052 74.9805"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "791.378 -243.987 75.1247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "736.26 227.213 73.9739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "561.801 720.19 75.2942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-87.8732 855.875 73.5461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-615.832 637.154 74.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg4.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "205.535 241.239 165.97"; + rotation = "0 0 -1 48.1285"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-213.535 -249.239 165.97"; + rotation = "0 0 1 131.871"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-289.096 -63.583 173.089"; + rotation = "0 0 -1 84.7982"; + scale = "1.5 1.5 1.5"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "281.096 55.583 171.889"; + rotation = "-0 -0 1 95.2021"; + scale = "1.5 1.5 1.5"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "47.477 -323.449 234.109"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-55.477 315.449 233.309"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-95.0024 217.738 149.42"; + rotation = "0 0 1 20.6265"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-136.206 116.093 156.406"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-194.065 44.5378 140.549"; + rotation = "0 0 -1 40.1071"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "186.065 -52.5378 140.549"; + rotation = "0 0 1 139.893"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "128.206 -124.093 156.406"; + rotation = "0 0 1 221.826"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "87.0024 -225.738 149.42"; + rotation = "0 0 1 200.626"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-662.761 -192.113 72.6784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "654.761 184.113 72.6784"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-595.592 16.7836 82.8845"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "587.592 -24.7836 82.8845"; + rotation = "0 0 1 147.914"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "935.663 684.234 151.117"; + rotation = "0 0 1 52.7121"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "33"; + notReady = "1"; + invincible = "1"; + Trigger = "5687"; + team = "0"; + }; + new StaticShape() { + position = "-943.663 -692.234 151.117"; + rotation = "0 0 1 232.712"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + invincible = "1"; + Trigger = "5689"; + team = "0"; + }; + new InteriorInstance() { + position = "208.47 -150.459 173.547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-215.87 138.259 174.747"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + new SimGroup(team1) { + + powerCount = "2"; + + new Item() { + position = "-390.761 350.991 190.965"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + searchSchedule = "4538"; + Target = "35"; + originalPosition = "-390.761 350.991 190.965 1 0 0 0"; + team = "1"; + WayPoint = "5868"; + Trigger = "5869"; + }; + new InteriorInstance(InteriorInstance) { + position = "-256.179 222.601 230.675"; + rotation = "-0 0 -1 89.6907"; + scale = "1 1 1"; + interiorFile = "rst_islebase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-277.284 202.801 230.759"; + rotation = "0 0 1 180.309"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2843069"; + inUse = "Down"; + repairedBy = "20838"; + Target = "36"; + notReady = "1"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + Trigger = "5697"; + team = "1"; + lastDamagedBy = "20838"; + }; + new StaticShape() { + position = "-277.191 220.202 230.759"; + rotation = "0 0 1 0.30901"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2848639"; + inUse = "Down"; + repairedBy = "20838"; + Target = "37"; + notReady = "1"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + Trigger = "5699"; + team = "1"; + lastDamagedBy = "20838"; + }; + new StaticShape() { + position = "-259.251 208.904 230.759"; + rotation = "0 0 1 180.309"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2347135"; + inUse = "Down"; + Target = "38"; + notReady = "1"; + lastDamagedByTeam = "2"; + Trigger = "5701"; + team = "1"; + lastDamagedBy = "20838"; + }; + new StaticShape() { + position = "-259.155 226.704 230.759"; + rotation = "0 0 1 0.30901"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "89309"; + inUse = "Down"; + Target = "39"; + notReady = "1"; + lastDamagedByTeam = "1"; + wasDisabled = "1"; + Trigger = "5703"; + team = "1"; + lastDamagedBy = "4137"; + }; + new StaticShape() { + position = "-273.629 216.561 225.625"; + rotation = "0 0 1 0.30901"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "115135"; + Target = "40"; + lastDamagedByTeam = "1"; + team = "1"; + lastDamagedBy = "4137"; + }; + new Item() { + position = "-287.982 201.741 230.784"; + rotation = "0 0 -1 89.6907"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-263.452 212.307 225.625"; + rotation = "0 0 1 180.309"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "115135"; + Target = "41"; + lastDamagedByTeam = "1"; + team = "1"; + lastDamagedBy = "4137"; + }; + new InteriorInstance(InteriorInstance) { + position = "-130.469 350.899 222.344"; + rotation = "0 0 -1 1.10357"; + scale = "1 1 1"; + interiorFile = "rst_islebase2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-497.24 625.321 96.3338"; + rotation = "0 0 1 163.475"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-172.259 360.675 238.403"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "536895"; + inUse = "Down"; + Target = "42"; + notReady = "1"; + lastDamagedByTeam = "1"; + Trigger = "5710"; + team = "1"; + lastDamagedBy = "8578"; + }; + new StaticShape() { + position = "-135.059 363.075 246.4"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "43"; + notReady = "1"; + Trigger = "5712"; + team = "1"; + }; + new StaticShape() { + position = "-150.459 362.875 246.4"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "44"; + notReady = "1"; + Trigger = "5714"; + team = "1"; + }; + new Item() { + position = "-157.22 388.53 238.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-142.81 370.581 238.34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "45"; + notReady = "1"; + Trigger = "5717"; + team = "1"; + }; + new Turret() { + position = "-122.613 354.068 250.228"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "11942"; + Target = "46"; + team = "1"; + }; + new Turret() { + position = "-142.823 374.664 254.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "47"; + team = "1"; + }; + new Turret() { + position = "-268.221 214.698 254.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "14859"; + Target = "48"; + team = "1"; + }; + new Turret() { + position = "-179.97 389.962 242.21"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "11936"; + damageTimeMS = "1114495"; + Target = "49"; + lastDamagedByTeam = "1"; + team = "1"; + lastDamagedBy = "9458"; + }; + new StaticShape() { + position = "-501.157 638.135 95.299"; + rotation = "0 0 -1 17"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "50"; + ready = "1"; + team = "1"; + station = "5882"; + }; + new WayPoint() { + position = "-268.096 214.695 228.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Generators"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Generators"; + team = "1"; + }; + new SpawnSphere() { + position = "-429.603 280.967 195.38"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-287.603 398.767 195.38"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-130.403 366.167 250.58"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + new SpawnSphere() { + position = "-267.003 214.167 257.38"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + new InteriorInstance() { + position = "-73.2915 448.378 264.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-73.3928 448.577 285.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + team = "1"; + }; + new WayPoint() { + position = "-499.893 633.763 98.9485"; + rotation = "0 0 -1 19.4806"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Vehicle Pad"; + team = "1"; + }; + new StaticShape() { + position = "-267.935 214.63 260.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "1"; + }; + new SimGroup(Stackables) { + + powerCount = "2"; + + new TSStatic() { + position = "-539.519 620.355 99.1712"; + rotation = "-0 -0 1 115.256"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-420.909 487.561 155.605"; + rotation = "0 0 -1 44.782"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-433.881 341.273 170.205"; + rotation = "0 0 -1 90.6179"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-357.787 373.428 165.805"; + rotation = "0 0 1 233.858"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-313.133 320.19 164.928"; + rotation = "-0 -0 1 103.797"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-162.589 449.508 227.093"; + rotation = "0 0 -1 90.085"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-145.592 466.933 227.093"; + rotation = "0 0 1 179.96"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-139.101 445.563 234.824"; + rotation = "0 0 -1 75.1491"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-148.723 441.953 234.036"; + rotation = "0 0 1 163.957"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-277.858 248.707 212.972"; + rotation = "0 0 1 212.086"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-303.076 151.837 240.523"; + rotation = "0 0 -1 25.874"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-72.3594 156.871 149.196"; + rotation = "0 0 -1 73.4297"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-164.528 -52.1414 187.666"; + rotation = "0 0 1 150.206"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "484.836 158.058 177.315"; + rotation = "0 0 1 138.265"; + scale = "2 2 2"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-377.332 237.851 201.989"; + rotation = "0 0 1 215.615"; + scale = "2 2 2"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-374.15 710.558 136.29"; + rotation = "0 0 -1 110.099"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-137.579 387.324 255.147"; + rotation = "0 0 1 10.8863"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-152.731 364.199 255.063"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-143.221 387.157 238.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "-29.8831 418.843 342.601"; + rotation = "0 0 -1 8.59457"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-685.581 386.157 74.6759"; + rotation = "0 0 1 171.979"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-574.15 473.564 111.738"; + rotation = "0 0 1 209.794"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-535.257 592.168 100.176"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-583.096 605.681 85.0808"; + rotation = "0 0 1 220.107"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-453.75 566.184 99.648"; + rotation = "0 0 1 202.918"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-516.832 295.106 154.54"; + rotation = "0 0 -1 42.9718"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(Tower) { + + providesPower = "1"; + powerCount = "3"; + + new StaticShape() { + position = "-25.6899 404.876 342.635"; + rotation = "0 0 -1 99.9318"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "53"; + notReady = "1"; + Trigger = "5761"; + team = "1"; + }; + new InteriorInstance() { + position = "-20.2506 412.332 338.687"; + rotation = "0 0 1 79.0682"; + scale = "1 1 1"; + interiorFile = "rst_newlighthouse.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-288.644 241.627 213.239"; + rotation = "0 0 -1 46.501"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new WayPoint() { + position = "-287.928 201.77 231.269"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + new WayPoint() { + position = "-157.223 388.567 238.99"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-758.395 523.46 84.0225"; + rotation = "0 0 1 159.946"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-759.355 530.704 83.6225"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(team2) { + + providesPower = "0"; + powerCount = "2"; + + new SimGroup(Tower) { + + providesPower = "1"; + powerCount = "3"; + + new InteriorInstance(InteriorInstance) { + position = "12.2506 -420.332 338.687"; + rotation = "0 0 -1 100.932"; + scale = "1 1 1"; + interiorFile = "rst_newlighthouse.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "17.6899 -412.876 342.635"; + rotation = "-0 -0 1 80.068"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + Trigger = "5772"; + team = "2"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "122.469 -358.899 222.344"; + rotation = "0 0 1 178.896"; + scale = "1 1 1"; + interiorFile = "rst_islebase2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "171.97 -397.962 242.21"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "32743"; + damageTimeMS = "971103"; + Target = "55"; + lastDamagedByTeam = "2"; + team = "2"; + lastDamagedBy = "9470"; + }; + new StaticShape() { + position = "164.259 -368.675 238.403"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "56"; + notReady = "1"; + Trigger = "5776"; + team = "2"; + }; + new Item() { + position = "149.22 -396.53 238.422"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "134.823 -382.664 254.797"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "14713"; + Target = "57"; + team = "2"; + }; + new StaticShape() { + position = "127.059 -371.075 246.4"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "58"; + notReady = "1"; + Trigger = "5780"; + team = "2"; + }; + new StaticShape() { + position = "142.459 -370.875 246.4"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "59"; + notReady = "1"; + Trigger = "5782"; + team = "2"; + }; + new StaticShape() { + position = "134.81 -378.581 238.34"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2737119"; + inUse = "Down"; + Target = "60"; + notReady = "1"; + lastDamagedByTeam = "2"; + Trigger = "5784"; + team = "2"; + lastDamagedBy = "12564"; + }; + new InteriorInstance(InteriorInstance) { + position = "489.24 -633.321 96.3338"; + rotation = "0 0 -1 16.525"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "493.157 -646.135 95.299"; + rotation = "0 0 1 163"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Target = "61"; + ready = "1"; + team = "2"; + station = "5885"; + }; + new InteriorInstance(InteriorInstance) { + position = "382.864 -359.051 189.914"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "382.761 -358.991 190.965"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + searchSchedule = "8784"; + Target = "62"; + originalPosition = "382.761 -358.991 190.965 0 0 1 3.14159"; + team = "2"; + WayPoint = "5870"; + Trigger = "5871"; + }; + new WayPoint() { + position = "260.096 -222.695 228.675"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Generators"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Generators"; + team = "2"; + }; + new Item() { + position = "279.982 -209.741 230.784"; + rotation = "0 0 1 90.309"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "269.284 -210.801 230.759"; + rotation = "0 0 1 0.30901"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2843069"; + inUse = "Down"; + repairedBy = "20838"; + Target = "63"; + notReady = "1"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + Trigger = "5793"; + team = "2"; + lastDamagedBy = "20838"; + }; + new StaticShape() { + position = "269.191 -228.202 230.759"; + rotation = "0 0 1 180.309"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2848639"; + inUse = "Down"; + repairedBy = "20838"; + Target = "64"; + notReady = "1"; + lastDamagedByTeam = "2"; + wasDisabled = "1"; + Trigger = "5795"; + team = "2"; + lastDamagedBy = "20838"; + }; + new StaticShape() { + position = "251.251 -216.904 230.759"; + rotation = "0 0 1 0.30901"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2347135"; + inUse = "Down"; + Target = "65"; + notReady = "1"; + lastDamagedByTeam = "2"; + Trigger = "5797"; + team = "2"; + lastDamagedBy = "20838"; + }; + new StaticShape() { + position = "251.155 -234.704 230.759"; + rotation = "0 0 1 180.309"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "89309"; + inUse = "Down"; + Target = "66"; + notReady = "1"; + lastDamagedByTeam = "1"; + wasDisabled = "1"; + Trigger = "5799"; + team = "2"; + lastDamagedBy = "4137"; + }; + new StaticShape() { + position = "265.629 -224.561 225.625"; + rotation = "0 0 1 180.309"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "115135"; + Target = "67"; + lastDamagedByTeam = "1"; + team = "2"; + lastDamagedBy = "4137"; + }; + new StaticShape() { + position = "255.452 -220.307 225.625"; + rotation = "0 0 1 0.30901"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "115135"; + Target = "68"; + lastDamagedByTeam = "1"; + team = "2"; + lastDamagedBy = "4137"; + }; + new InteriorInstance(InteriorInstance) { + position = "248.179 -230.601 230.675"; + rotation = "0 0 1 90.309"; + scale = "1 1 1"; + interiorFile = "rst_islebase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "260.221 -222.698 254.7"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + lastProjectile = "7281"; + Target = "69"; + team = "2"; + }; + new SpawnSphere() { + position = "421.603 -288.967 195.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "279.603 -406.767 195.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "119.203 -369.567 231.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "75"; + sphereWeight = "25"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + new SpawnSphere() { + position = "260.003 -214.567 254.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "25"; + indoorWeight = "25"; + outdoorWeight = "75"; + }; + new Turret() { + position = "114.613 -362.068 250.228"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + lastProjectile = "7702"; + Target = "70"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "65.2915 -456.378 264.816"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "65.3928 -456.577 285.341"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "71"; + team = "2"; + }; + new WayPoint() { + position = "491.893 -641.763 98.9485"; + rotation = "0 0 1 160.519"; + scale = "1 1 1"; + nameTag = "Vehicle Pad"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Vehicle Pad"; + team = "2"; + }; + new StaticShape() { + position = "259.935 -222.63 260.655"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "72"; + team = "2"; + }; + new SimGroup(Stackables) { + + powerCount = "2"; + + new TSStatic() { + position = "131.101 -453.563 233.624"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "140.723 -449.953 233.236"; + rotation = "0 0 -1 16.0429"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "137.592 -474.933 227.093"; + rotation = "0 0 -1 0.0395647"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "154.589 -457.508 227.093"; + rotation = "0 0 1 89.9148"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "349.787 -381.428 165.805"; + rotation = "0 0 1 53.8581"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "425.881 -349.273 170.205"; + rotation = "0 0 1 89.3815"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "305.133 -328.19 166.128"; + rotation = "0 0 -1 76.2034"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "295.076 -159.837 239.723"; + rotation = "0 0 1 154.126"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "269.858 -256.707 213.972"; + rotation = "0 0 1 32.0857"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "412.909 -495.561 155.605"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "531.519 -628.355 98.9712"; + rotation = "0 0 -1 64.7442"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "62.3631 -171.58 150.996"; + rotation = "0 0 1 106.57"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "156.528 44.1414 189.866"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-492.836 -166.058 177.315"; + rotation = "0 0 -1 41.735"; + scale = "2 2 2"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "369.332 -245.851 201.989"; + rotation = "0 0 1 35.615"; + scale = "2 2 2"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "366.15 -718.558 136.29"; + rotation = "0 0 1 69.9008"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "135.221 -395.157 238.149"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "144.731 -372.199 255.063"; + rotation = "0 0 -1 89.4731"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "129.579 -395.324 255.147"; + rotation = "0 0 1 190.886"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "21.8831 -426.843 342.601"; + rotation = "0 0 1 171.405"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + }; + new InteriorInstance() { + position = "527.257 -600.168 100.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "575.096 -613.681 86.4808"; + rotation = "0 0 1 40.1071"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "566.15 -481.564 111.938"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "445.75 -574.184 100.448"; + rotation = "0 0 1 22.9184"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "677.581 -394.157 74.2759"; + rotation = "0 0 -1 8.02147"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "508.832 -303.106 154.54"; + rotation = "0 0 1 137.028"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "277.076 -248.447 216.039"; + rotation = "0 0 1 133.499"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new WayPoint() { + position = "279.928 -209.77 231.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + new WayPoint() { + position = "149.223 -396.567 238.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + new InteriorInstance() { + position = "751.355 -538.704 82.2225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "750.395 -531.46 82.2225"; + rotation = "0 0 -1 20.0536"; + scale = "1 1 1"; + interiorFile = "Xtra_beachchair01.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera1) { + position = "451.65 -472.468 228.529"; + rotation = "0 0 -1 50.9932"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera2) { + position = "213.248 -222.788 233.836"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera3) { + position = "201.504 -305.94 257.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera6) { + position = "-221.248 214.788 233.836"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera5) { + position = "-459.65 464.468 228.529"; + rotation = "0 0 1 129.007"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera4) { + position = "-221.292 -208.543 291.582"; + rotation = "0 0 1 44.1177"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera8) { + position = "213.292 200.543 291.582"; + rotation = "0 0 1 224.118"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera7) { + position = "-209.504 297.94 257.482"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock() { + position = "-1000 -1024 -127.893"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "3"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.6"; + envMapTexture = "lush/skies/lushcloud1"; + envMapIntensity = "0.3"; + submergeTexture[0] = "ice/skies/dark_r"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + + textureSize = "32 32"; + floodFill = "1"; + params0 = "0.32 -0.67 0.066 0.5"; + extent = "2000 2000 98"; + params1 = "0.63 -2.41 0.33 0.21"; + params3 = "1.21 -0.61 0.13 -0.33"; + params2 = "0.39 0.39 0.2 0.133"; + seedPoints = "0 0 1 0 1 1 0 1"; + }; + new InteriorInstance() { + position = "-390.864 351.051 189.914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-935.323 -687.856 223.918"; + rotation = "-8.95965e-07 0.706825 0.707389 180"; + scale = "4 4 40"; + nameTag = "Base"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "927.302 677.982 182.936"; + rotation = "0 0 1 142.758"; + scale = "1 1 1"; + interiorFile = "rst_lighthouse.dif"; + showTerrainInside = "0"; + + rotate = "1"; + }; + new StaticShape() { + position = "927.75 676.634 223.06"; + rotation = "0.902747 0.304178 -0.304177 95.8515"; + scale = "4 4 40"; + nameTag = "Base"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + holo = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-935.302 -685.982 183.536"; + rotation = "0 0 -1 37.242"; + scale = "1 1 1"; + interiorFile = "rst_lighthouse.dif"; + showTerrainInside = "0"; + + rotate = "1"; + }; + new AudioEmitter() { + position = "-763.58 549.489 -26.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sys-ocean.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "256"; + maxDistance = "1024"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "755.58 -557.489 72.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sys-ocean.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "256"; + maxDistance = "1024"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-519.38 -999.111 -26.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sys-ocean.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "256"; + maxDistance = "1024"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "454.98 991.111 -26.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/sys-ocean.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "1"; + minDistance = "256"; + maxDistance = "1024"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new TSStatic() { + position = "503.709 -662.892 92.8322"; + rotation = "0 0 -1 100.268"; + scale = "1 1 1"; + shapeName = "rst-turtle.dts"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_LavaGods.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_LavaGods.mis new file mode 100644 index 00000000..3ba6e2f5 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_LavaGods.mis @@ -0,0 +1,1744 @@ +// DisplayName = DMP-LavaGods +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//No quote for you!! +// +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Stations, Sensors, and Turrets are self-powered +//Map by Infamous Butcher +//Additional Credits: Ground texture by Virtually Infinite Systems +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "7"; + cdTrack = "3"; + musicTrack = "volcanic"; + + new MissionArea(MissionArea) { + area = "-688 -832 1488 1536"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.762417 0.514704 -0.392173"; + color = "0.545000 0.450000 0.450000 1.000000"; + ambient = "0.380000 0.300000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lavadet1"; + terrainFile = "LavaGods.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + GraphFile = "flatice.nav"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.490000 0.340000 0.230000 1.000000"; + fogVolume1 = "200 0 100"; + fogVolume2 = "400 100 130"; + fogVolume3 = "2500 130 200"; + materialList = "inf_butchlava51.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 0 3.04743e-37"; + high_fogVolume2 = "-1 0 6.81673e-37"; + high_fogVolume3 = "-1 4.40763e-38 3.04745e-37"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-281.762 -266.738 113.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-351.003 -395.176 155.981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-297.097 -253.296 155.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_flagbase06.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new StaticShape() { + position = "-271.679 -278.714 120.236"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5098"; + team = "1"; + Target = "33"; + inUse = "Down"; + notReady = "1"; + }; + new Turret() { + position = "-281.071 -269.262 132.05"; + rotation = "0 0 -1 45.0058"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "-271.679 -259.888 120.237"; + rotation = "0 0 1 45.0001"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5101"; + team = "1"; + Target = "35"; + inUse = "Down"; + notReady = "1"; + }; + new Item() { + position = "-281.081 -269.295 120.341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-290.508 -259.9 120.237"; + rotation = "0 0 -1 45.0001"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5104"; + team = "1"; + Target = "36"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-290.514 -278.733 120.237"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5106"; + team = "1"; + Target = "37"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-237.37 -423.599 193.914"; + rotation = "-0 0 -1 16.0428"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "1"; + Target = "38"; + }; + new InteriorInstance() { + position = "-253.059 -414.984 202.172"; + rotation = "-0 0 -1 16.0428"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_sensor12.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "1"; + }; + new Item() { + position = "-281.093 -269.291 148.013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + originalPosition = "-281.093 -269.291 148.013 1 0 0 0"; + team = "1"; + WayPoint = "5276"; + Trigger = "5277"; + Target = "39"; + className = "FlagObj"; + isHome = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "410.068 339.798 173.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + + locked = "true"; + }; + new SpawnSphere() { + position = "253.67 279.988 96.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "243.246 288.844 156.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_flagbase06.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "249.816 282.25 120.637"; + rotation = "0 0 -1 44.9999"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5118"; + team = "2"; + Target = "40"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "249.828 263.421 120.637"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5120"; + team = "2"; + Target = "41"; + }; + new Item() { + position = "259.289 272.817 120.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + team = "2"; + Target = "-1"; + }; + new InteriorInstance() { + position = "405.376 243.117 200.172"; + rotation = "0 0 1 8.59438"; + scale = "1 1 1"; + interiorFile = "inf_butch_lava_sensor12.dif"; + showTerrainInside = "0"; + + locked = "true"; + team = "2"; + }; + new StaticShape() { + position = "416.065 228.76 191.914"; + rotation = "-0 0 -1 81.4058"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + team = "2"; + Target = "42"; + }; + new Item() { + position = "259.234 272.845 148.413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "true"; + originalPosition = "259.234 272.845 148.413 1 0 0 0"; + team = "2"; + WayPoint = "5278"; + Trigger = "5279"; + Target = "43"; + className = "FlagObj"; + isHome = "1"; + }; + new Turret() { + position = "259.276 272.865 132.45"; + rotation = "0 0 -1 45.0001"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "true"; + team = "2"; + Target = "44"; + }; + new StaticShape() { + position = "268.66 282.252 120.637"; + rotation = "0 0 1 45.2636"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5128"; + team = "2"; + Target = "45"; + }; + new StaticShape() { + position = "268.668 263.409 120.637"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "true"; + Trigger = "5130"; + team = "2"; + Target = "46"; + inUse = "Down"; + notReady = "1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-19.161 71.6716 305.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "1360"; + coneOutsideAngle = "1360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-272.853 -268.154 138.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "77"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "-285.365 275.1 129.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "77"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new AudioEmitter() { + position = "258.597 272.627 138.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/lavahostile.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "77"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-245.846 285.77 126.059"; + rotation = "0 0 1 233.949"; + scale = "1 1 1"; + interiorFile = "dspir5.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-309.913 267.893 125.796"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + interiorFile = "dspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "82.7317 -154.806 162.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir4.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "313.37 -163.857 191.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-329.975 362.49 179.759"; + rotation = "0 0 1 11.4587"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-472.742 -77.1329 201.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-391.862 -591.642 214.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-107.79 86.6105 126.059"; + rotation = "0 1 0 2.29343"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "394.873 -116.785 201.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-178.61 -728.296 182.711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "247.152 -423.221 199.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "441.641 143.141 187.274"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "598.774 238.434 203.735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "521.747 611.786 193.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "28.4134 560.399 177.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-378.589 657.409 216.491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-586.036 314.282 170.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "42.7794 -28.2065 135.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-79.0717 304.476 168.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-704.939 69.7907 173.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-728.935 -484.997 193.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-304.093 55.1463 156.849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "1.17928 664.613 196.562"; + rotation = "0 0 1 37.2422"; + scale = "1 1 1"; + interiorFile = "dspir3.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "350.803 419.966 200.434"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "40.5721 -327.068 202.361"; + rotation = "0 0 -1 61.3065"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-697.662 -308.85 198.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "744.425 432.801 244.212"; + rotation = "0 0 1 32.0856"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-820.008 -48.9791 161.584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-583.861 735.997 180.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-120.83 746.129 165.265"; + rotation = "0 0 -1 14.8969"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "292.324 728.84 198.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "571.538 359.798 213.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "678.871 -173.264 186.015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "569.004 -423.351 219.035"; + rotation = "0 0 -1 4.58367"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "424.481 -530.702 209.128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "157.683 -718.121 179.808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "108.143 -622.255 150.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + }; + new TSStatic() { + position = "-736.779 -570.271 189.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-603.973 -533.702 208.57"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "489.91 398.89 210.785"; + rotation = "-0.881214 -0.459383 0.111486 100.87"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-247.665 -615.606 207.254"; + rotation = "-0.28511 0.947062 0.147599 65.2595"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-436.901 -750.989 250.749"; + rotation = "0 0 1 217.334"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "389.234 881.874 164.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-261.302 737.17 195.174"; + rotation = "0 0 1 41.8259"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-836.57 -698.609 226.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-111.14 -888.805 165.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "421.433 -753.275 162.04"; + rotation = "-0.262632 0.945293 -0.193508 35.6403"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-90.342 446.046 205.356"; + rotation = "0 0 1 124.332"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-318.792 357.311 177.357"; + rotation = "-0.825726 -0.52983 0.193536 97.5044"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "46.311 324.977 129.317"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-201.168 -70.2786 105.74"; + rotation = "-0.738979 -0.466487 -0.486107 95.4078"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "142.312 100.948 112.568"; + rotation = "0 0 1 160.038"; + scale = "1 1 1"; + interiorFile = "drock6.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "145.307 103.817 113.458"; + rotation = "-0.747952 0.608742 0.264578 60.3214"; + scale = "1 1 1"; + interiorFile = "drock7.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "-155.822 -432.918 185.078"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-448.294 -400.297 195.085"; + rotation = "-0.209241 0.603046 0.769775 195.093"; + scale = "1 1 1"; + interiorFile = "drock8.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new TSStatic() { + position = "169.778 -299.709 207.671"; + rotation = "0 0 1 12.6051"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + locked = "true"; + }; + new InteriorInstance() { + position = "304.497 7.7756 184.618"; + rotation = "0 0 1 37.8152"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "401.314 385.111 182.537"; + rotation = "0 0 -1 4.58367"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-79.778 209.092 149.036"; + rotation = "0 0 1 75.0575"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-510.647 43.973 182.196"; + rotation = "0 0 -1 84.2248"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-443.688 -395.352 195.464"; + rotation = "0 0 -1 4.58367"; + scale = "1 1 1"; + interiorFile = "dspir2.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "71.9557 195.28 109.029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-101.9 -159.82 110.282"; + rotation = "0 0 1 27.502"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "91.3673 -407.181 203.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-268.14 245.94 125.557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-254.725 467.945 165.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "107.082 745.633 164.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new InteriorInstance() { + position = "-219.909 70.43 147.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dspir1.dif"; + showTerrainInside = "0"; + + locked = "true"; + }; + new SimGroup(Addition1PhoenixPlant1Dark) { + + powerCount = "0"; + + new TSStatic() { + position = "-300 -444 177.703"; + rotation = "0 0 1 16"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "236 -196 188.578"; + rotation = "0 0 1 224"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 -596 159.969"; + rotation = "0 0 1 60.0001"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "92 100 98"; + rotation = "0 0 1 60.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-108 692 141.297"; + rotation = "0 0 1 178"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "444 444 197.781"; + rotation = "0 0 -1 100"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "644 444 209.047"; + rotation = "0 0 1 209"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "428 -436 149.359"; + rotation = "0 0 1 60.0001"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 476 172.484"; + rotation = "0 0 1 186"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-692 324 207.453"; + rotation = "0 0 1 103"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-20 -540 140.563"; + rotation = "0 0 1 79.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -276 188.125"; + rotation = "0 0 1 55"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-756 -716 212.047"; + rotation = "0 0 1 57.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "172 -676 184.188"; + rotation = "0 0 -1 79"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-780 -4 113.938"; + rotation = "0 0 1 227"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 100 98.125"; + rotation = "0 0 1 133"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -84 132.672"; + rotation = "0 0 -1 102"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "588 780 139.578"; + rotation = "0 0 1 209"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -84 143.188"; + rotation = "0 0 1 41"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "52 -404 204.703"; + rotation = "0 0 1 4.99997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-452 -716 227.828"; + rotation = "0 0 -1 13.0002"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "260 124 142.734"; + rotation = "0 0 1 236"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-724 -324 196.453"; + rotation = "0 0 1 197"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-276 524 124.719"; + rotation = "0 0 1 45"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-324 -52 134.281"; + rotation = "0 0 1 24"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "348 -300 161.125"; + rotation = "0 0 1 131"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -4 113.641"; + rotation = "0 0 1 16"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-636 -220 147.797"; + rotation = "0 0 1 9.99997"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-172 -524 187.547"; + rotation = "0 0 -1 35"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "612 500 215.469"; + rotation = "0 0 -1 107"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "484 -748 158.734"; + rotation = "0 0 1 136"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-492 180 159.063"; + rotation = "0 0 1 186"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 -588 109.453"; + rotation = "0 0 1 149"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "692 764 213.344"; + rotation = "0 0 1 239"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "524 660 192.906"; + rotation = "0 0 1 115"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "532 -172 171.453"; + rotation = "0 0 1 190"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-484 180 157.844"; + rotation = "0 0 1 88"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "20 828 154.391"; + rotation = "0 0 1 181"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-44 204 137.703"; + rotation = "0 0 1 84.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-180 -156 106.406"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-356 -636 206.094"; + rotation = "0 0 1 135"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "100 -252 194.312"; + rotation = "0 0 1 53"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-212 -4 113.797"; + rotation = "0 0 1 208"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-92 -668 200.984"; + rotation = "0 0 -1 100"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "76 -140 162.141"; + rotation = "0 0 1 96.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "396 716 168.156"; + rotation = "0 0 1 15"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "660 -108 134.719"; + rotation = "0 0 -1 97"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-204 -500 200.188"; + rotation = "0 0 1 160"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-100 -396 203.484"; + rotation = "0 0 1 96.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "388 420 192.5"; + rotation = "0 0 -1 2.9997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + + locked = "true"; + }; + }; + new TSStatic() { + position = "227.848 -71.6319 163.535"; + rotation = "0 0 1 119.358"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "664.507 -43.3337 163.081"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "-686.617 -176.218 164.456"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "110.845 -850.649 166.809"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "766.647 -424.431 166.474"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + new TSStatic() { + position = "688.884 706.687 207.099"; + rotation = "0 0 1 188.113"; + scale = "1 1 1"; + shapeName = "xorg5.dts"; + + locked = "true"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(cam1) { + position = "341.615 228.902 182.051"; + rotation = "0.211104 0.105056 -0.971802 54.2331"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(cam2) { + position = "-183.319 -224.655 179.702"; + rotation = "0.192359 0.163743 -0.967567 82.6807"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(cam3) { + position = "-122.502 273.211 189.368"; + rotation = "0.0317713 -0.0331589 0.998945 92.5088"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(cam4) { + position = "96.0539 -93.5366 191.095"; + rotation = "0.0206134 0.03296 -0.999244 115.995"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Lavastuff) { + + powerCount = "0"; + + new FireballAtmosphere(FireballAtmosphere) { + position = "-171.51 -64.555 587.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "fireball"; + lockCount = "0"; + homingCount = "0"; + dropRadius = "1100"; + dropsPerMinute = "30"; + minDropAngle = "0"; + maxDropAngle = "10"; + startVelocity = "200"; + dropHeight = "2000"; + dropDir = "0.212 0.212 -0.953998"; + + locked = "true"; + }; + new WaterBlock() { + position = "-448 -464 49.608"; + rotation = "1 0 0 0"; + scale = "224 256 65"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "false"; + }; + new WaterBlock() { + position = "184 200 49.0079"; + rotation = "1 0 0 0"; + scale = "192 192 65"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "false"; + }; + new WaterBlock() { + position = "-400 192 61.632"; + rotation = "1 0 0 0"; + scale = "192 160 65"; + liquidType = "CrustyLava"; + density = "1"; + viscosity = "15"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/Lava"; + surfaceOpacity = "1"; + envMapTexture = "desert/skies/d_n_move1"; + envMapIntensity = "0"; + submergeTexture[0] = "special/lavadeath_1"; + submergeTexture[1] = "special/lavadeath_2"; + removeWetEdges = "1"; + + locked = "false"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Magellan.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Magellan.mis new file mode 100644 index 00000000..eeec5ba1 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Magellan.mis @@ -0,0 +1,1189 @@ +// DisplayName = DMP-Magellan +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Now let's see you do something really tough, like putting your pants on +//-- Philip Marlowe +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Europack4 v2.00 +//Map by kab000m +//8 caps to win +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-544 -664 1088 1344"; + flightCeiling = "500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.703325 0.334177 -0.627424"; + color = "0.900000 0.900000 0.900000 1.000000"; + ambient = "0.700000 0.700000 0.700000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Magellan.ter"; + squareSize = "8"; + emptySquares = "216446 216702 216958 217214 217470 217726 152446 306046 371837 372093 372349 372605 372861"; + + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + visibleDistance = "1200"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-23.6508 -197.528 172.521"; + rotation = "-0.006711 -0.0944252 0.995509 188.094"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-34.7782 183.102 168.98"; + rotation = "0 0 -1 15.4698"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-6.26451 381.905 111.407"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-5.40817 -392.471 111.859"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-73.5669 97.9667 191.259"; + rotation = "0 0 1 127.77"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "122.91 -119.268 195.531"; + rotation = "0 0 -1 50.4203"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + coverage = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + YDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "IceBound.nav"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "300"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "200"; + fogColor = "0.700000 0.740000 0.740000 1.000000"; + fogVolume1 = "150 92 96"; + fogVolume2 = "600 96 175"; + fogVolume3 = "0 0 0"; + materialList = "Magellan.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 52805.3 1.82169e-44"; + high_fogVolume2 = "-1 7.26976e+22 1.74416e+28"; + high_fogVolume3 = "-1 2.96897e-39 2.47878e+20"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-20.9247 -385.153 135.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-103.56 -329.828 96.5461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-9.7874 -392.709 124.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_magbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new ForceFieldBare() { + position = "-9.21221 -365.293 117.609"; + rotation = "1 0 0 0"; + scale = "7 7 0.5"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + pz = "25004"; + originalscale = "7 7 0.5"; + Target = "33"; + team = "1"; + }; + new Item() { + position = "-90.433 -332.87 96.5467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "34"; + isHome = "1"; + team = "1"; + WayPoint = "25091"; + Trigger = "25092"; + originalPosition = "-90.433 -332.87 96.5467 1 0 0 0"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-21.936 -396.723 128.713"; + rotation = "0 0 1 220.589"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "25009"; + team = "1"; + notReady = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "10.1843 -396.404 128.713"; + rotation = "0 0 1 137.328"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "25011"; + team = "1"; + }; + new StaticShape() { + position = "0.466334 -378.966 107.76"; + rotation = "0 0 1 1.32823"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + team = "1"; + }; + new StaticShape() { + position = "-11.9242 -382.514 107.712"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + team = "1"; + }; + new StaticShape() { + position = "10.1955 -364.644 128.713"; + rotation = "0 0 1 43.3629"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "25015"; + team = "1"; + }; + new StaticShape() { + position = "-21.8006 -364.822 128.713"; + rotation = "0 0 -1 46.5915"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "25017"; + team = "1"; + }; + new ForceFieldBare() { + position = "-8.9563 -403.725 117.612"; + rotation = "1 0 0 0"; + scale = "7 7 0.5"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + pz = "25019"; + originalscale = "7 7 0.5"; + Target = "41"; + team = "1"; + }; + new StaticShape() { + position = "-54.8166 -429.313 147.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "1"; + }; + new Turret() { + position = "-122.427 -253.479 121.803"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "43"; + team = "1"; + }; + new InteriorInstance() { + position = "-67.7541 -426.315 147.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_turretstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-135.243 -250.804 121.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_turretstand.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "-5.79266 -380.802 119.638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-27.7564 357.848 144.362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + powerCount = "2"; + + new InteriorInstance() { + position = "-105.92 321.287 96.9507"; + rotation = "0 0 -1 11.4591"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_magflagstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-9.7874 358.135 124.171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_magbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup() { + + powerCount = "2"; + }; + new StaticShape() { + position = "10.4259 386.08 128.173"; + rotation = "0 0 1 44.1178"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "25033"; + team = "2"; + }; + new StaticShape() { + position = "-21.4934 386.083 128.172"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "25035"; + team = "2"; + }; + new StaticShape() { + position = "-21.7207 354.195 128.172"; + rotation = "0 0 1 224.782"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "25037"; + team = "2"; + }; + new StaticShape() { + position = "10.1809 354.172 128.174"; + rotation = "0 0 1 131.39"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "25039"; + team = "2"; + }; + new Turret() { + position = "-123.739 241.11 125.084"; + rotation = "0 0 1 13.7514"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "48"; + team = "2"; + }; + new Item() { + position = "-92.6655 320.832 96.9672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "49"; + isHome = "1"; + team = "2"; + WayPoint = "25093"; + Trigger = "25094"; + originalPosition = "-92.6655 320.832 96.9672 1 0 0 0"; + className = "FlagObj"; + }; + new ForceFieldBare() { + position = "-9.18796 385.761 117.02"; + rotation = "1 0 0 0"; + scale = "7 7 0.5"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + pz = "25044"; + originalscale = "7 7 0.5"; + Target = "50"; + team = "2"; + }; + new ForceFieldBare() { + position = "-9.24721 347.762 117.113"; + rotation = "1 0 0 0"; + scale = "7 7 0.5"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + pz = "25046"; + originalscale = "7 7 0.5"; + Target = "51"; + team = "2"; + }; + new InteriorInstance() { + position = "-45.7465 421.217 145.709"; + rotation = "0 0 1 186.967"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_turretstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-58.2249 425.762 145.45"; + rotation = "0 0 1 186.967"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "2"; + }; + new InteriorInstance() { + position = "-111.723 235.85 124.956"; + rotation = "0 0 1 191.55"; + scale = "1 1 1"; + interiorFile = "Magellan_kab_turretstand.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "0.353132 372.121 107.172"; + rotation = "0 0 1 0.172458"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + team = "2"; + }; + new StaticShape() { + position = "-12.0566 368.193 107.181"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + team = "2"; + }; + new Item() { + position = "-5.87081 370.327 118.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new WaterBlock() { + position = "-160 -416 63.688"; + rotation = "1 0 0 0"; + scale = "160 224 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-176 232 64.1715"; + rotation = "1 0 0 0"; + scale = "160 224 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-104 -544 102.516"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-328 -64 147.269"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-456 -192 108.26"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "16 -456 77.1713"; + rotation = "1 0 0 0"; + scale = "64 64 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "24 384 77.0905"; + rotation = "1 0 0 0"; + scale = "64 64 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-104 440 100.47"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-528 -64 153.868"; + rotation = "1 0 0 0"; + scale = "160 160 55"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-344 -264 88.9698"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-360 160 77.724"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new WaterBlock() { + position = "-304 56 139.534"; + rotation = "1 0 0 0"; + scale = "96 96 30"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.2"; + surfaceTexture = "LiquidTiles/BlueWater"; + surfaceOpacity = "0.4"; + envMapTexture = "ice/skies/icebound_emap_cloudsground"; + envMapIntensity = "0.05"; + removeWetEdges = "1"; + AudioEnvironment = "Underwater"; + + team = "0"; + }; + new InteriorInstance() { + position = "134.287 63.5625 162.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new InteriorInstance() { + position = "-1.86225 -105.67 135.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new ParticleEmissionDummy() { + position = "-78.924 297.036 77.463"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-53.9061 277.944 79.9694"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-102.908 367.78 69.8133"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-253.033 100.768 150.348"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-429.024 -23.3361 178.528"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-461.609 7.36691 171.875"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-431.555 22.2241 164.858"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-433.777 5.37005 158.596"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-291.913 -210.072 101.035"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-303.516 -239.931 97.9939"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-62.9911 -290.328 78.1234"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-85.8287 -315.789 82.8274"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-100.404 -373.721 70.0723"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "52.9191 -420.112 90.3134"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-60.5195 485.588 109.1"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-44.856 466.431 115.706"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-326.312 205.088 93.905"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-257.531 -19.8845 163.841"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-269.914 -5.48651 160.85"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-414.123 -148.898 111.564"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-436.722 -142.424 120.93"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + new ParticleEmissionDummy() { + position = "-43.6654 -494.538 111.601"; + rotation = "0.115064 -0.99176 0.0563298 5.21249"; + scale = "1 1 1"; + dataBlock = "defaultEmissionDummy"; + lockCount = "0"; + homingCount = "0"; + emitter = "DamageBubbles"; + velocity = "1"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new InteriorInstance() { + position = "258.661 0.654579 129.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "266.525 -9.43752 131.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "241.496 -14.8536 120.159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "280.679 0.898473 131.159"; + rotation = "0 0 1 185.821"; + scale = "1 1 1"; + interiorFile = "sspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-88.1043 -18.0227 170.066"; + rotation = "0 0 1 61.8795"; + scale = "1 1 1"; + interiorFile = "srock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "134.181 402.587 154.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "149.352 -416.494 158.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-107.431 -8.00439 173.332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-113.422 -19.6745 170.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-106.967 -21.9337 171.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-86.9088 -7.16631 174.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new InteriorInstance() { + position = "-111.368 18.9993 154.936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-79.6371 -2.12536 164.655"; + rotation = "0 -1 0 4.58367"; + scale = "1 1 1"; + interiorFile = "sspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-99.6223 -5.42434 160.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "sspir3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.935892 -108.662 136.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "112.37 64.7696 162.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "srock8.dif"; + showTerrainInside = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_MoonDance.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_MoonDance.mis new file mode 100644 index 00000000..28eb463e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_MoonDance.mis @@ -0,0 +1,2353 @@ +// DisplayName = DMP-MoonDance +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//It's a marvelous night for +//a moondance. With the stars +//up above in your eyes. +// -- Van Morrison +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//10 Caps to Win +//Go Offense! +//Map by Fling +//Mirrored by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "10"; + CTF_timeLimit = "25"; + musicTrack = "lush"; + cdTrack = "2"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-744 -784 1520 1552"; + flightCeiling = "450"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.410000 0.520000 0.740000 1.000000"; + ambient = "0.250000 0.420000 0.540000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "MoonDance2.ter"; + squareSize = "8"; + emptySquares = "84096 149887 215678 281469 150402 478333 609659 282240 282496 217217 217473 217729 162644 162900 163156 294484 294740 163924 164180 164436 240508 240764 241020 306811 307067 307073 635003 504187 438908 308094 439422 243070 112254"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + scale = "1 1 1"; + coverage = "0"; + GraphFile = "MissionBlank.nav"; + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.260000 0.410000 0.440000 1.000000"; + fogDistance = "280"; + fogColor = "0.260000 0.410000 0.340000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38"; + high_fogVolume2 = "-1 -1991.03 nan"; + high_fogVolume3 = "-1 7945.87 7.22445e-09"; + + cloudSpeed0 = "0.0000003 0.0000003"; + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new SpawnSphere() { + position = "69.3419 -346.753 109.674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-36.5172 -354.245 128.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new StaticShape() { + position = "-10.4892 -453.718 102.082"; + rotation = "0 0 1 90.0003"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehicle"; + lockCount = "0"; + homingCount = "0"; + + VehicleassaultVehicle = "1"; + pad = "5735"; + VehiclebomberFlyer = "1"; + Target = "33"; + VehiclemobileBaseVehicle = "1"; + team = "1"; + Trigger = "5935"; + teleporter = "5936"; + VehiclescoutVehicle = "1"; + VehiclehapcFlyer = "1"; + VehiclescoutFlyer = "1"; + }; + new InteriorInstance() { + position = "14.0318 -474.149 97.849"; + rotation = "0 0 1 194.988"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-104.141 -458.014 61.8443"; + rotation = "-0.029988 -0.0223645 0.9993 106.609"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-31.6681 -420.183 128.872"; + rotation = "0.25075 0.25055 0.935066 93.79"; + scale = "1 1.1 0.25"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "16.1578 -379.823 130.572"; + rotation = "0 0 1 67.5"; + scale = "2.5 2.5 2.5"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + flag = "8808"; + }; + new InteriorInstance() { + position = "25.7058 -454.16 103.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "9.32582 -443.911 92.353"; + rotation = "1 0 0 0"; + scale = "1 1.2 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-47.5421 -425.132 88.953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.7678 -446.124 95.776"; + rotation = "-0.166342 0.220984 -0.960987 67.7596"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "25.4328 -350.029 105.341"; + rotation = "0 0 1 41.2529"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "-0.584853 -396.796 122.345"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "-54.4241 -390.832 114.96"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "24.3328 -378.377 150.172"; + rotation = "0 0 1 90"; + scale = "0.4 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "24.3328 -381.377 129.772"; + rotation = "0 0 1 90"; + scale = "0.65 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-15.7572 -402.147 129.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "4.5628 -347.245 117.872"; + rotation = "-1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.1728 -347.245 117.872"; + rotation = "-1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.1728 -400.797 135.372"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "16.3328 -361.597 117.802"; + rotation = "0 0 1 90"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "4.54278 -379.547 117.822"; + rotation = "1 0 0 0"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-43.8172 -410.147 129.762"; + rotation = "1 0 0 0"; + scale = "1.98 0.5 0.25"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-7.66621 -401.527 117.822"; + rotation = "0 0 1 90"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-31.6801 -386.083 105.208"; + rotation = "-0.25075 0.25055 -0.935066 93.7983"; + scale = "1 1.1 2"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.1928 -379.547 117.822"; + rotation = "1 0 0 0"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "31.9427 -381.297 99.322"; + rotation = "1 0 0 0"; + scale = "1 1 1.25"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-43.8572 -383.797 99.372"; + rotation = "-1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-19.6572 -383.797 99.372"; + rotation = "-1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "4.54278 -399.547 117.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "4.5628 -400.797 135.372"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "4.54278 -359.547 117.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.1928 -359.547 117.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.1928 -399.547 117.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "31.4227 -411.297 117.822"; + rotation = "1 0 0 0"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-7.5572 -400.15 100.872"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-48.0572 -413.297 99.322"; + rotation = "1 0 0 0"; + scale = "1 1 1.25"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-23.5572 -413.797 100.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "8.44282 -413.797 100.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "31.9427 -413.297 99.322"; + rotation = "1 0 0 0"; + scale = "1 1 1.25"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "16.3328 -438.272 98.175"; + rotation = "0.25075 0.25055 0.935066 93.7983"; + scale = "1 1.1 2.5"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-31.7571 -379.597 116.822"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-7.5572 -396.797 104.172"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-15.7572 -411.547 116.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "32.2427 -395.597 116.822"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "16.2428 -379.597 116.822"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "0.242798 -371.547 116.822"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-15.7572 -379.597 116.822"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "8.44282 -396.797 104.172"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-31.6671 -438.663 97.507"; + rotation = "0.25075 0.25055 0.935066 93.7983"; + scale = "1 1.1 1.5"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-7.66621 -427.183 117.606"; + rotation = "0.25075 0.25055 0.935066 93.7983"; + scale = "1 1.1 1.1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-19.6572 -436.797 99.372"; + rotation = "1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-7.5572 -432.797 89.272"; + rotation = "0 0 1 90"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-43.8572 -436.797 99.372"; + rotation = "1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "28.1928 -436.797 99.372"; + rotation = "1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "4.54278 -436.797 99.372"; + rotation = "1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-33.5571 -453.797 99.372"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "-62.3621 -467.797 82.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-23.5572 -453.797 98.872"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + inUse = "Down"; + Target = "34"; + station = "9003"; + team = "1"; + }; + new StaticShape() { + position = "27.1908 -405.679 117.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + inUse = "Down"; + Target = "35"; + Trigger = "8785"; + team = "1"; + }; + new StaticShape() { + position = "22.0358 -399.588 117.872"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + Trigger = "8787"; + team = "1"; + }; + new StaticShape() { + position = "22.0358 -383.633 117.872"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "8789"; + team = "1"; + }; + new StaticShape() { + position = "22.0358 -365.888 117.872"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "8791"; + team = "1"; + }; + new StaticShape() { + position = "4.08081 -404.553 105.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "8793"; + team = "1"; + }; + new StaticShape() { + position = "-19.0972 -404.515 105.372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + Trigger = "8795"; + team = "1"; + }; + new Item() { + position = "16.1868 -378.411 152.322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Turret() { + position = "24.9998 -414.045 134.479"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "41"; + team = "1"; + }; + new Turret() { + position = "-61.5571 -467.947 103.772"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "42"; + team = "1"; + }; + new Turret() { + position = "-7.5572 -420.297 116.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "43"; + team = "1"; + }; + new ForceFieldBare(ff2) { + position = "-41.0672 -425.892 117.924"; + rotation = "1 0 0 30"; + scale = "18 1 15"; + nameTag = "Force Field"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + team = "1"; + pz = "8802"; + originalscale = "18 1 15"; + }; + new ForceFieldBare(ff1) { + position = "-46.6322 -422.182 119.122"; + rotation = "1 0 0 0"; + scale = "1 23 12"; + nameTag = "Force Field"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "1"; + pz = "8806"; + originalscale = "1 23 12"; + }; + new StaticShape() { + position = "-31.8911 -413.599 117.579"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + team = "1"; + }; + new Item() { + position = "16.1085 -379.98 132.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + stand = "8731"; + Target = "47"; + isHome = "1"; + team = "1"; + WayPoint = "8989"; + Trigger = "8990"; + originalPosition = "16.1085 -379.98 132.069 1 0 0 0"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + }; + new SimGroup(base) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-75.9397 325.827 110.474"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "29.7328 335.603 129.45"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new StaticShape() { + position = "1.56298 434.491 102.882"; + rotation = "0 0 -1 91.2368"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehicle"; + lockCount = "0"; + homingCount = "0"; + + VehicleassaultVehicle = "1"; + pad = "5735"; + VehiclebomberFlyer = "1"; + Target = "48"; + VehiclemobileBaseVehicle = "1"; + team = "2"; + Trigger = "5935"; + teleporter = "5936"; + VehiclescoutVehicle = "1"; + VehiclehapcFlyer = "1"; + VehiclescoutFlyer = "1"; + }; + new InteriorInstance() { + position = "-23.3932 454.388 98.6488"; + rotation = "0 0 1 13.7508"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "95.1005 440.808 62.6441"; + rotation = "0.0299725 -0.0392968 -0.998778 74.7342"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "23.4611 401.421 129.672"; + rotation = "-0.250681 0.245521 -0.936418 95.0487"; + scale = "1 1.1 0.25"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-23.4821 360.038 131.372"; + rotation = "0 0 -1 113.737"; + scale = "2.5 2.5 2.5"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + flag = "8895"; + }; + new InteriorInstance() { + position = "-24.6353 434.368 103.869"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "brock6.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-18.0355 424.258 93.1528"; + rotation = "0 0 1 178.763"; + scale = "1 1.2 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "39.2245 406.712 89.7528"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-37.5207 426.051 96.5758"; + rotation = "0.145683 0.112144 0.982955 114"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-32.1118 330.051 107.141"; + rotation = "0 0 1 220.016"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-7.2833 377.496 125.545"; + rotation = "0 0 -1 92.4287"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "46.8456 372.568 116.76"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-31.6241 358.416 150.972"; + rotation = "0 0 -1 91.2372"; + scale = "0.4 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-31.6888 361.415 130.572"; + rotation = "0 0 -1 91.2372"; + scale = "0.65 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "7.9433 383.046 130.572"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-11.1865 327.718 118.672"; + rotation = "-0.00279455 0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-34.791 327.208 118.672"; + rotation = "-0.00279455 0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-35.9472 380.748 136.172"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-23.2636 341.813 118.602"; + rotation = "0 0 -1 91.2372"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-11.8639 360.013 118.622"; + rotation = "0 0 1 178.763"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "35.824 391.65 130.562"; + rotation = "0 0 1 178.763"; + scale = "1.98 0.5 0.25"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-0.132529 382.251 118.622"; + rotation = "0 0 -1 91.2372"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "24.2094 367.329 106.008"; + rotation = "0.250027 0.255688 0.933868 92.7275"; + scale = "1 1.1 2"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-35.5085 359.502 118.622"; + rotation = "0 0 1 178.763"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-39.2952 361.171 100.122"; + rotation = "0 0 1 178.763"; + scale = "1 1 1.25"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "36.433 365.307 100.172"; + rotation = "-0.00279455 0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "12.2386 364.784 100.172"; + rotation = "-0.00279455 0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-12.2957 380.008 118.172"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-12.3429 381.258 136.172"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-11.4321 340.017 118.172"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-35.0766 339.507 118.172"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-35.9402 379.498 118.172"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-39.4231 391.175 118.622"; + rotation = "0 0 1 178.763"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-0.211609 380.872 101.672"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "39.9951 394.891 100.122"; + rotation = "0 0 1 178.763"; + scale = "1 1 1.25"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "15.4899 394.862 101.672"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-16.5026 394.171 101.672"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-39.9862 393.163 100.122"; + rotation = "0 0 1 178.763"; + scale = "1 1 1.25"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-24.919 418.47 98.9748"; + rotation = "-0.250714 0.245553 -0.936401 95.0414"; + scale = "1 1.1 2.5"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "24.4263 360.847 117.622"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-0.139339 377.52 104.972"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "7.7403 392.444 117.622"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-39.904 375.461 117.622"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-23.5623 359.81 117.622"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-7.39225 352.107 117.622"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "8.4303 360.501 117.622"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-16.1355 377.175 104.972"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "23.0611 419.897 98.3068"; + rotation = "-0.250714 0.245553 -0.936401 95.0414"; + scale = "1 1.1 1.5"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-0.686399 407.901 118.406"; + rotation = "-0.250714 0.245553 -0.936401 95.0414"; + scale = "1 1.1 1.1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "11.0943 417.772 100.172"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-0.916539 413.512 90.0718"; + rotation = "0 0 -1 91.2372"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "35.2887 418.295 100.172"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-36.7445 416.739 100.172"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-13.1 417.249 100.172"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "24.6239 435.068 100.172"; + rotation = "0 0 1 88.7628"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "53.12 449.686 83.6718"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "14.6263 434.852 99.6719"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + Target = "49"; + station = "9006"; + team = "2"; + }; + new StaticShape() { + position = "-35.0708 385.65 118.672"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "8873"; + team = "2"; + }; + new StaticShape() { + position = "-29.7856 379.671 118.672"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "8875"; + team = "2"; + }; + new StaticShape() { + position = "-29.4411 363.72 118.672"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + Trigger = "8877"; + team = "2"; + }; + new StaticShape() { + position = "-29.058 345.979 118.672"; + rotation = "0 0 -1 91.2372"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + Trigger = "8879"; + team = "2"; + }; + new StaticShape() { + position = "-11.9419 385.023 106.172"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + Trigger = "8881"; + team = "2"; + }; + new StaticShape() { + position = "11.2314 385.486 106.172"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "55"; + Trigger = "8883"; + team = "2"; + }; + new Item() { + position = "-23.4806 358.626 153.122"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "-33.061 394.061 135.279"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "56"; + team = "2"; + }; + new Turret() { + position = "52.312 449.819 104.572"; + rotation = "0 0 1 88.7628"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "57"; + team = "2"; + }; + new Turret() { + position = "-0.646639 401.015 117.672"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "58"; + team = "2"; + }; + new ForceFieldBare(ff2) { + position = "32.7349 407.332 118.724"; + rotation = "0.00279455 -0.258819 0.965922 178.805"; + scale = "18 1 15"; + nameTag = "Force Field"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + team = "2"; + pz = "8890"; + originalscale = "18 1 15"; + }; + new ForceFieldBare(ff1) { + position = "38.3786 403.743 119.922"; + rotation = "0 0 1 178.763"; + scale = "1 23 12"; + nameTag = "Force Field"; + dataBlock = "defaultForceFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + team = "2"; + pz = "8893"; + originalscale = "1 23 12"; + }; + new StaticShape() { + position = "23.8262 394.844 118.379"; + rotation = "-0 0 -1 1.23731"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + team = "2"; + }; + new Item() { + position = "-23.4567 360.244 132.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + className = "FlagObj"; + stand = "8819"; + Target = "62"; + isHome = "1"; + team = "2"; + WayPoint = "8991"; + Trigger = "8992"; + originalPosition = "-23.4567 360.244 132.869 1 0 0 0"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new Item() { + position = "-322.319 -7.98888 102.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InventoryDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-317.319 -2.98888 119.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-317.319 -12.9889 119.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new InteriorInstance() { + position = "-346.407 -41.3928 86.934"; + rotation = "0 0 1 90"; + scale = "1 1.1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-317.319 -7.98888 97.442"; + rotation = "1 0 0 0"; + scale = "1 2 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-316.319 -19.739 98.957"; + rotation = "0 0 1 90"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-316.319 3.81112 98.957"; + rotation = "0 0 1 90"; + scale = "2 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-334.799 -24.114 97.442"; + rotation = "1 0 0 0"; + scale = "1 2.1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-334.799 8.18612 97.442"; + rotation = "1 0 0 0"; + scale = "1 2.1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-346.819 -38.0189 98.957"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-346.819 22.0611 98.957"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bwall1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-334.819 -36.5089 97.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-334.819 20.5311 97.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-338.319 -7.98888 101.063"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-335.319 -7.98888 111.957"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-303.319 0.011117 111.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-306.319 0.011117 101.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-364.219 -7.98888 92.957"; + rotation = "0 -1 0 30"; + scale = "1 1 1.25"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-356.319 -24.489 86.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-364.219 20.5311 92.957"; + rotation = "0 -1 0 30"; + scale = "1 1 1.25"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-356.319 8.51111 86.957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-364.219 -36.5089 92.957"; + rotation = "0 -1 0 30"; + scale = "1 1 1.25"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "5.65784 -35.8757 134.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "12.1578 -41.8756 134.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "18.6579 -35.8757 134.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "12.1578 -29.8757 134.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "12.2499 -35.8777 156.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + holo = "0"; + }; + new InteriorInstance() { + position = "12.1578 -16.4256 132.346"; + rotation = "1 0 0 0"; + scale = "0.8 1.2 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "12.1578 -35.6257 132.346"; + rotation = "1 0 0 0"; + scale = "0.8 1.2 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-8.84206 -35.8757 117.846"; + rotation = "1 0 0 0"; + scale = "2 1.5 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "33.158 -35.8757 117.846"; + rotation = "1 0 0 0"; + scale = "2 1.5 1"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "35.158 -2.87561 114.846"; + rotation = "-1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "12.1578 -35.8757 114.846"; + rotation = "1 0 0 0"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "35.6038 -2.97733 96.2609"; + rotation = "0.186873 -0.203821 -0.961008 48.5874"; + scale = "1 1 1"; + interiorFile = "brockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "12.1578 -19.6257 146.846"; + rotation = "1 0 0 0"; + scale = "0.8 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "12.1578 -35.6257 146.846"; + rotation = "1 0 0 0"; + scale = "0.8 1 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "12.1578 -68.8756 114.846"; + rotation = "0.25075 0.25055 0.935066 93.7983"; + scale = "1 1.2 2.5"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "12.1578 -2.87561 114.846"; + rotation = "-0.25075 0.25055 -0.935066 93.7983"; + scale = "1 1.2 2.5"; + interiorFile = "bwall3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-10.8422 -68.8756 114.846"; + rotation = "1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-10.8422 -2.87561 114.846"; + rotation = "-1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "35.158 -68.8756 114.846"; + rotation = "1 0 0 30"; + scale = "1 1 2"; + interiorFile = "bwall4.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "-620 -724 76"; + rotation = "0 0 1 184"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "580 604 90.7344"; + rotation = "0 0 1 160"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-276 -756 88.9218"; + rotation = "0 0 1 145"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "516 -860 122.719"; + rotation = "0 0 1 33"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "372 68 117.437"; + rotation = "0 0 -1 47.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-444 468 72.7188"; + rotation = "0 0 -1 108"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-652 -348 74.7031"; + rotation = "0 0 1 167"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-484 644 89.4219"; + rotation = "0 0 -1 82"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-676 -364 76.6875"; + rotation = "0 0 1 199"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-532 -788 79.4374"; + rotation = "0 0 -1 26.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "612 -116 134.516"; + rotation = "0 0 -1 81.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-588 -396 118"; + rotation = "0 0 -1 49.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-740 -100 81.6562"; + rotation = "0 0 1 137"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "404 652 75.0782"; + rotation = "0 0 1 164"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "556 692 100.531"; + rotation = "0 0 1 143"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-684 -828 69.25"; + rotation = "0 0 -1 79"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-588 -668 97.8125"; + rotation = "0 0 -1 25.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-388 76 98"; + rotation = "0 0 1 206"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "356 -692 111.781"; + rotation = "0 0 1 97"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-428 -396 110.156"; + rotation = "0 0 -1 83.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-764 308 75.625"; + rotation = "0 0 1 56"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "692 540 72.7032"; + rotation = "0 0 1 102"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-716 -252 71.8437"; + rotation = "0 0 -1 106"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "460 4 139.813"; + rotation = "0 0 -1 19.9999"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-476 -180 102.531"; + rotation = "0 0 1 184"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-124 732 100.906"; + rotation = "0 0 1 213"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "524 116 97.625"; + rotation = "0 0 -1 68.0003"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "444 -412 90.5469"; + rotation = "0 0 -1 10.9999"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "564 564 86.9376"; + rotation = "0 0 1 130"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "404 -604 71.0938"; + rotation = "0 0 1 103"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "324 -380 132.031"; + rotation = "0 0 1 36"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-588 -188 79.9844"; + rotation = "0 0 1 151"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-652 -228 69.25"; + rotation = "0 0 1 52"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-92 -748 81.4687"; + rotation = "0 0 1 30"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "780 -364 98.1718"; + rotation = "0 0 -1 10.0001"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "388 -588 70.5313"; + rotation = "0 0 1 61"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "636 -428 102.156"; + rotation = "0 0 -1 91"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "692 -660 76.1875"; + rotation = "0 0 -1 75.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-324 -28 109.797"; + rotation = "0 0 1 25"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "412 -372 101.422"; + rotation = "0 0 -1 22.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-121.725 -166.642 158.879"; + rotation = "0.0101504 -0.0344092 0.999356 147.149"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-111.703 -45.7652 158.226"; + rotation = "0 0 1 40.6804"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "58.5924 323.045 163.81"; + rotation = "0.241618 0.112333 -0.963848 51.5015"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Pantheon.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Pantheon.mis new file mode 100644 index 00000000..2ebe1493 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Pantheon.mis @@ -0,0 +1,1413 @@ +// Displayname = DMP-Pantheon +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Ne Vile Fano : There is nothing ill can dwell in such a temple +// -- Tempest +//These Final Dynamix Missions are a thank you to the Tribes Community. +//These maps remain unpolished due to circumstances beyond our control. +//Thank you for your support, Keep the dream alive. +//Dynamix Tribes2 DEV Team +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Central switch controls mid-field radar towers and temple spawn area +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + musicTrack = "lush"; + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-688 -1032 1424 2032"; + flightCeiling = "600"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "-0.253634 -0.961908 -0.101995"; + color = "0.950000 1.000000 0.950000 1.000000"; + ambient = "0.300000 0.320000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.5"; + lensFlareIntensity = "0.05"; + frontFlareSize = "1"; + backFlareSize = "500"; + flareColor = "0.450000 0.400000 0.200000 1.000000"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/baddet1"; + terrainFile = "DMP_Pantheon.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + YDimOverSize = "0"; + position = "0 0 0 1"; + coverage = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Pantheon.nav"; + }; + new Sky(Sky) { + position = "-536 -1240 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "360"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 1.000000"; + fogDistance = "150"; + fogColor = "0.200000 0.250000 0.220000 1.000000"; + fogVolume1 = "70 0 102"; + fogVolume2 = "175 102 115"; + fogVolume3 = "0 0 0"; + materialList = "lushdusk66.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "0.082300 0.235200 0.549000 1.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -325233.062500"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -20.7527 -0.7705"; + high_fogVolume2 = "-1 100 1.7938e-41"; + high_fogVolume3 = "-1 0 -4.6328e-16"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Ambience) { + + powerCount = "0"; + + new SimGroup(Sounds) { + + powerCount = "0"; + + new AudioEmitter(WindatCenter) { + position = "-38.9648 -20.311 168.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.4"; + isLooping = "1"; + is3D = "0"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(soulscream) { + position = "-29.6897 -4.15405 174.202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/yeti_howl2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.75"; + isLooping = "1"; + is3D = "1"; + minDistance = "8"; + maxDistance = "25"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(nw_bridge) { + position = "-324.859 -419.503 100.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(ne_bridge) { + position = "313.206 -428.104 114.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(sw_bridge) { + position = "-288.137 404.862 115.898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter(se_bridge) { + position = "296.458 409.093 116.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/river2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.65"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + }; + new SimGroup(Miskellany) { + + powerCount = "0"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnSpheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "77.9947 -562.899 119.623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "200"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Vehicle1) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-142.699 -638.451 125.167"; + rotation = "-0 0 -1 12.2151"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "107.261 -584.549 132.666"; + rotation = "-0.413676 0.643769 0.643766 135.053"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + combo41670_3 = "1"; + Target = "33"; + team = "1"; + combo41670_4 = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "41670"; + combo41670_11 = "1"; + damageTimeMS = "2793563"; + hitBy41670 = "1"; + }; + new StaticShape() { + position = "-140.835 -647.685 124.333"; + rotation = "0 0 1 168.45"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + inUse = "Down"; + team = "1"; + station = "15320"; + ready = "1"; + damageTimeMS = "213561"; + }; + new InteriorInstance() { + position = "116.126 -561.458 117.463"; + rotation = "0 0 1 204.546"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "101.625 -593.213 123.199"; + rotation = "0 0 1 204.546"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "106.047 -575.047 124.425"; + rotation = "0 0 1 24.5459"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + inUse = "Down"; + Trigger = "15187"; + team = "1"; + combo41670_4 = "1"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "41670"; + combo41670_11 = "1"; + damageTimeMS = "2793563"; + hitBy41670 = "1"; + }; + new StaticShape() { + position = "108.305 -570.251 127.427"; + rotation = "0 0 1 204.586"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + inUse = "Down"; + Trigger = "15189"; + team = "1"; + lastDamagedByTeam = "1"; + notReady = "1"; + lastDamagedBy = "41670"; + combo41670_11 = "1"; + damageTimeMS = "2793563"; + hitBy41670 = "1"; + }; + new Item() { + position = "-134.323 -677.377 129.489"; + rotation = "0 0 1 167.877"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "-151.042 -677.567 127.15"; + rotation = "0 0 1 211.903"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + inUse = "Down"; + Trigger = "15192"; + team = "1"; + notReady = "1"; + }; + new StaticShape() { + position = "-119.073 -670.525 127.133"; + rotation = "0 0 1 119.084"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + inUse = "Down"; + Trigger = "15194"; + team = "1"; + notReady = "1"; + }; + }; + new SimGroup(Flag0) { + + powerCount = "0"; + + new MissionMarker() { + position = "19.3524 -519.311 118.432 0"; + rotation = "-0 0 -1 2.8649"; + scale = "1 1 1"; + dataBlock = "FlagMarker"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "13.3987 -519.427 100.079"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1"; + interiorFile = "bmiscpan_tower1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "23.2212 -541.63 116.9"; + rotation = "0 0 1 178.854"; + scale = "1.6 1.6 1.1"; + interiorFile = "bmiscpan_ruind.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item(Team2flag1) { + position = "13.4132 -519.455 130.432"; + rotation = "0 0 -1 89.8969"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "39"; + stand = "15201"; + WayPoint = "15305"; + team = "1"; + Trigger = "15306"; + missionTypesList = "CTF"; + isHome = "1"; + originalPosition = "13.4132 -519.455 130.632 0 0 -1 1.569"; + }; + new StaticShape() { + position = "13.4172 -519.449 130.042"; + rotation = "0 0 -1 111.83"; + scale = "0.7 0.7 0.7"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + missionTypesList = "CTF"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3419"; + damageTimeMS = "618630"; + flag = "15199"; + }; + }; + new SimGroup(RadarTower) { + + powerCount = "1"; + + new StaticShape() { + position = "204.837 -486.885 125.852"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + inUse = "Down"; + Trigger = "15204"; + team = "1"; + notReady = "1"; + repairedBy = "3374"; + damageTimeMS = "412821"; + }; + new StaticShape() { + position = "203.643 -490.187 144.862"; + rotation = "0 0 1 28.0749"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + team = "1"; + }; + new StaticShape() { + position = "199.812 -493.947 125.718"; + rotation = "-0 0 -1 68.2276"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "1"; + }; + new InteriorInstance() { + position = "203.481 -490.176 115.816"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(RadarTwo) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-84.4142 -451.888 107.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "-86.0432 -456.809 117.16"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + team = "1"; + }; + new StaticShape() { + position = "-84.3912 -451.844 136.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + team = "1"; + }; + new StaticShape() { + position = "-84.4182 -448.371 117.131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "15213"; + team = "1"; + }; + }; + new SimGroup(TurretTower) { + + powerCount = "1"; + + new InteriorInstance() { + position = "86.2592 -447.045 118.592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "86.1931 -447.668 148.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "46"; + team = "1"; + }; + new StaticShape() { + position = "86.2429 -445.542 128.649"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "1"; + }; + new StaticShape() { + position = "86.3335 -450.61 128.647"; + rotation = "0 0 1 178.281"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + Trigger = "15219"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnSpheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-170.488 598.609 113.358"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "200"; + sphereWeight = "50"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new SimGroup(Vehicle2) { + + powerCount = "1"; + + new InteriorInstance() { + position = "134.842 623.591 123.367"; + rotation = "0 0 1 170.741"; + scale = "1 1 1"; + interiorFile = "bvpad.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-135.517 587.558 128.066"; + rotation = "-0.773344 -0.448296 -0.448297 104.567"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + combo41670_3 = "1"; + Target = "49"; + wasDisabled = "1"; + team = "2"; + lastDamagedByTeam = "1"; + lastDamagedBy = "41670"; + damageTimeMS = "2932407"; + hitBy41670 = "1"; + }; + new StaticShape() { + position = "133.457 632.908 122.533"; + rotation = "0 0 -1 8.59466"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + inUse = "Down"; + team = "2"; + station = "15323"; + ready = "1"; + damageTimeMS = "213561"; + }; + new SimGroup() { + + powerCount = "1"; + }; + new Item() { + position = "-129.114 595.671 118.199"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-135.178 577.986 119.847"; + rotation = "0 0 1 209.794"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "15230"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "41733"; + damageTimeMS = "2933688"; + }; + new StaticShape() { + position = "-137.865 573.416 122.827"; + rotation = "0 0 1 29.8334"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + Trigger = "15232"; + team = "2"; + }; + new InteriorInstance() { + position = "-146.457 565.375 112.863"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "bmiscpan_bunker1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "144.987 662.204 125.315"; + rotation = "0 0 1 34.469"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "53"; + Trigger = "15235"; + team = "2"; + }; + new StaticShape() { + position = "112.843 656.769 125.365"; + rotation = "0 0 -1 55.0953"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + Trigger = "15237"; + team = "2"; + }; + new Item() { + position = "128.25 663.013 127.699"; + rotation = "0 0 -1 9.16737"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + }; + new SimGroup(Flag1) { + + powerCount = "0"; + + new StaticShape() { + position = "-40.6521 530.055 129.838"; + rotation = "0 0 1 71.5165"; + scale = "0.7 0.7 0.7"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + missionTypesList = "CTF"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3419"; + damageTimeMS = "618630"; + flag = "15241"; + }; + new Item(Team2flag1) { + position = "-40.6479 530.061 130.228"; + rotation = "0 0 1 93.4496"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "55"; + stand = "15240"; + WayPoint = "15307"; + team = "2"; + Trigger = "15308"; + missionTypesList = "CTF"; + isHome = "1"; + originalPosition = "-54.9918 547.47 124.428 0 0 -1 1.569"; + }; + new InteriorInstance(InteriorInstance) { + position = "-40.6351 530.032 99.8757"; + rotation = "0 0 1 183.346"; + scale = "1.5 1.5 1"; + interiorFile = "bmiscpan_tower1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-49.1483 552.991 116.696"; + rotation = "0 0 1 3.34655"; + scale = "1.6 1.6 1.1"; + interiorFile = "bmiscpan_ruind.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(centerturret) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-89.2677 441.394 118.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-89.3037 443.231 128.316"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + combo41670_3 = "1"; + Target = "56"; + wasDisabled = "1"; + team = "2"; + lastDamagedByTeam = "1"; + lastDamagedBy = "41670"; + damageTimeMS = "2896251"; + hitBy41670 = "1"; + }; + new Turret() { + position = "-89.2847 442.096 148.255"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "MissileBarrelLarge"; + + Target = "57"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "3419"; + lastProjectile = "6450"; + damageTimeMS = "542320"; + }; + new StaticShape() { + position = "-89.2717 437.713 128.288"; + rotation = "0 0 1 179.427"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + Trigger = "15250"; + team = "2"; + lastDamagedByTeam = "2"; + lastDamagedBy = "41755"; + damageTimeMS = "2897501"; + }; + }; + new SimGroup(Radar1) { + + powerCount = "1"; + + new StaticShape() { + position = "-209.463 487.748 126.079"; + rotation = "0 0 1 112.918"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + team = "2"; + }; + new StaticShape() { + position = "-212.808 483.968 145.124"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + team = "2"; + damageTimeMS = "517228"; + }; + new InteriorInstance() { + position = "-212.817 483.851 116.06"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-214.083 480.761 126.05"; + rotation = "0 0 1 202.918"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + inUse = "Down"; + Trigger = "15256"; + team = "2"; + notReady = "1"; + }; + }; + new SimGroup(Radar2) { + + powerCount = "1"; + + new InteriorInstance() { + position = "79.095 440.394 106.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "81.111 445.254 116.341"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + combo41670_3 = "1"; + Target = "62"; + wasDisabled = "1"; + team = "2"; + combo41670_4 = "1"; + lastDamagedByTeam = "1"; + lastDamagedBy = "41670"; + combo41670_11 = "1"; + damageTimeMS = "2868313"; + hitBy41670 = "1"; + }; + new StaticShape() { + position = "79.126 440.703 135.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "63"; + team = "2"; + }; + new StaticShape() { + position = "79.207 436.875 116.234"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "64"; + inUse = "Down"; + Trigger = "15262"; + team = "2"; + combo41670_4 = "1"; + lastDamagedByTeam = "2"; + notReady = "1"; + lastDamagedBy = "41765"; + combo41670_11 = "1"; + damageTimeMS = "2869657"; + hitBy41670 = "1"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new SimGroup(Bridges) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-299.063 411.158 112.2"; + rotation = "0 0 1 4.01168"; + scale = "0.8 0.8 0.8"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-334.023 -424.833 111.6"; + rotation = "-0 0 -1 10.8861"; + scale = "0.8 0.8 0.8"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "316.599 -425.912 112.4"; + rotation = "0 0 1 4.58367"; + scale = "0.8 0.8 0.8"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "292.293 409.342 112.6"; + rotation = "-0 0 -1 17.7616"; + scale = "0.8 0.8 0.8"; + interiorFile = "bmiscpan_bridge0.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + new SimGroup(Centersensors) { + + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance() { + position = "-295.93 7.77565 129.364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-295.889 8.01445 158.409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "65"; + team = "0"; + damageTimeMS = "126254"; + }; + new StaticShape() { + position = "265.166 -11.3562 160.053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + team = "0"; + }; + new InteriorInstance() { + position = "265.173 -11.384 130.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_tower2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new SpawnSphere() { + position = "-16.7645 -4.10216 174.623"; + rotation = "1 0 0 0"; + scale = "1 1.5 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "50"; + indoorWeight = "35"; + outdoorWeight = "100"; + }; + new StaticShape() { + position = "-35.8932 -4.17228 180.809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + holoHeight = "25"; + holo = "0"; + }; + new StaticShape() { + position = "-29.8397 -4.23844 170.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "The Pantheon"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + name = "The Pantheon"; + Target = "67"; + team = "0"; + Projector = "15275"; + }; + new WayPoint() { + position = "-30.2118 -4.33166 172.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "The Pantheon"; + team = "0"; + }; + new StaticShape() { + position = "-20.3463 -41.398 170.49"; + rotation = "0 0 1 178.854"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "68"; + Trigger = "15279"; + team = "0"; + }; + new StaticShape() { + position = "265.162 -7.98998 140.815"; + rotation = "0 0 1 0.118694"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "69"; + Trigger = "15281"; + team = "0"; + }; + new StaticShape() { + position = "-295.926 4.50125 139.41"; + rotation = "0 0 1 179.427"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "70"; + Trigger = "15283"; + team = "0"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera1) { + position = "41.3768 36.4657 206.017"; + rotation = "-0.0916498 -0.212086 0.972944 225.608"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera(InfernoCam) { + position = "82.29 655.435 165.4"; + rotation = "-0.0734315 -0.163011 0.983888 227.807"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(StormCam) { + position = "49.7592 -629.507 182.441"; + rotation = "0.45839 0.176512 -0.871047 47.6983"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new WaterBlock(WaterBlock) { + position = "0 0 -360.217"; + rotation = "1 0 0 0"; + scale = "2048 2048 465.617"; + liquidType = "RiverWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "4"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.5"; + envMapTexture = "lush/skies/lush_day_emap"; + envMapIntensity = "0.2"; + removeWetEdges = "0"; + + params1 = "0.63 -2.41 0.33 0.21"; + params0 = "0.32 -0.67 0.066 0.5"; + params2 = "0.39 0.39 0.2 0.133"; + params3 = "1.21 -0.61 0.13 -0.33"; + seedPoints = "0 0 1 0 1 1 0 1"; + floodFill = "1"; + extent = "100 100 10"; + textureSize = "32 32"; + }; + new SimGroup(centerruins) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-16.2439 6.32625 171.124"; + rotation = "-0.265514 -0.220716 -0.938502 24.6533"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinh.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "36.2803 100.788 171.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruina.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-29.0696 -2.56214 171.295"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinb.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.4197 -0.612153 170.495"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.2625 -1.64919 170.599"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruine.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-29.7897 -18.2518 169.875"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruind.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "36.1596 74.8876 171.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruina.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "68.6192 99.5054 171.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruina.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-44.2832 -21.0295 170.182"; + rotation = "-0.242769 -0.179249 -0.95338 47.7957"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruing.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-34.8472 -4.50513 164.536"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bmiscpan_ruinf.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-20.2476 38.3605 170.857"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + new SimGroup() { + + powerCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Paranoia.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Paranoia.mis new file mode 100644 index 00000000..7b26f409 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Paranoia.mis @@ -0,0 +1,964 @@ +// DisplayName = DMP-Paranoia +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//White people smell like mayonnaise! +//--Peen +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//1000 points to win +//Tribes: Aerial Assault Map +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "10"; + musicTrack = "LUSH"; + cdTrack = "6"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-400 -576 736 960"; + flightCeiling = "500"; + flightCeilingRange = "20"; + + locked = "TRUE"; + }; + new Sky(Sky) { + position = "688 -64 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "425"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.365000 0.390000 0.420000 0.000000"; + fogDistance = "200"; + fogColor = "0.450000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 2.33105e-09 6.40969e-10"; + high_fogVolume2 = "-1 1.07457e-38 5.43043e-33"; + high_fogVolume3 = "-1 8.12753e-44 0"; + + locked = "TRUE"; + CLOUDHEIGHTPER1 = "0.25"; + CLOUDHEIGHTPER2 = "0.199973"; + cloudSpeed0 = "0.000150 0.000050"; + CLOUDHEIGHTPER0 = "0.349971"; + }; + new Sun() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.800000 0.800000 0.800000 1.000000"; + ambient = "0.450000 0.450000 0.450000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "TRUE"; + TEXTURE3 = "SPECIAL/LENSFLARE/FLARE02"; + TEXTURE0 = "SPECIAL/SUNFLARE"; + TEXTURE4 = "SPECIAL/LENSFLARE/FLARE03"; + TEXTURE2 = "SPECIAL/LENSFLARE/FLARE01"; + TEXTURE1 = "SPECIAL/SUNFLARE02"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Paranoia.ter"; + squareSize = "8"; + emptySquares = "154755 482689 482945 155523 166516 428914 429170 167284"; + + locked = "TRUE"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "65"; + cullDensity = "0.1"; + customArea = "0 0 0 0"; + + locked = "TRUE"; + coverage = "0"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + scale = "1 1 1"; + GraphFile = "PARANOIA.NAV"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "125.717 -132.23 130.416"; + rotation = "-0.0345909 -0.1246 0.991604 210.783"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "TRUE"; + }; + new Camera() { + position = "-155.112 -218.907 126.588"; + rotation = "0.143142 -0.196582 0.969983 109.533"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "TRUE"; + }; + new Camera() { + position = "15.9992 37.3485 75.0316"; + rotation = "0 0 -1 69.9009"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "TRUE"; + }; + new Camera() { + position = "-117.076 -26.2793 125.966"; + rotation = "0.896199 -0.0989815 0.432469 28.6525"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "TRUE"; + }; + new Camera() { + position = "110.395 -46.1986 114.901"; + rotation = "-0.0131939 -0.0249865 0.999601 235.653"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "TRUE"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + powerCount = "0"; + + new WayPoint() { + position = "-1.83789 -117.852 76.5372"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "MissionCenter"; + team = "0"; + + locked = "TRUE"; + missionTypesList = "DM"; + LABEL = "MissionCenter"; + }; + new Item() { + position = "-1.56021 95.0273 68.7559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "FALSE"; + Target = "-1"; + team = "0"; + missionTypesList = "DM"; + }; + new Item() { + position = "-172.22 144.829 73.4536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "FALSE"; + Target = "-1"; + team = "0"; + missionTypesList = "DM"; + }; + new Item() { + position = "115.91 -231.442 81.6867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "FALSE"; + Target = "-1"; + team = "0"; + missionTypesList = "DM"; + }; + new Item() { + position = "32.2615 -277.468 54.984"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "FALSE"; + Target = "-1"; + team = "1"; + }; + new Item() { + position = "-78.0769 -264.919 70.5692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "FALSE"; + Target = "-1"; + team = "0"; + missionTypesList = "DM"; + }; + new Item() { + position = "-87.8258 101.73 55.0751"; + rotation = "0 0 -1 0.0884693"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-87.6484 150.548 54.5911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "TRUE"; + Target = "-1"; + team = "0"; + missionTypesList = "DM TDM"; + }; + new Item() { + position = "32 -327 54.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "TRUE"; + Target = "-1"; + team = "0"; + missionTypesList = "DM TDM"; + }; + }; + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-21.2896 -269.717 47.371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "98.572 -271.806 61.634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new WayPoint() { + position = "32 -244.46 57.8948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "1"; + + locked = "FALSE"; + missionTypesList = "TDM"; + LABEL = "Main Base"; + }; + new InteriorInstance() { + position = "32 -270.46 50.484"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + + locked = "FALSE"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "32 -327 20.6"; + rotation = "0 0 1 45"; + scale = "1.5 1.5 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "31.904 -327.009 55.8057"; + rotation = "0 0 1 93.1284"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "33"; + team = "1"; + WayPoint = "28673"; + Trigger = "28674"; + searchSchedule = "17165"; + isHome = "1"; + stand = "28603"; + missionTypesList = "CTF"; + originalPosition = "31.904 -327.009 54.6057 0 0 1 1.6254"; + className = "FLAGOBJ"; + }; + new StaticShape() { + position = "14.1905 -265.841 58.42"; + rotation = "0 0 1 46.9826"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "28610"; + team = "1"; + }; + new Turret() { + position = "31.8619 -271.18 70.3301"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "34"; + team = "1"; + }; + new Turret() { + position = "32.0767 -271.385 60.4782"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "35"; + team = "1"; + }; + new StaticShape() { + position = "32 -327 81.503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + team = "1"; + missionTypesList = "CTF"; + LABEL = "Flagstand"; + }; + new StaticShape() { + position = "50.3482 -265.799 58.4217"; + rotation = "0 0 -1 52.7121"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "28608"; + team = "1"; + }; + new InteriorInstance() { + position = "34.9213 -320.683 85.2066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-84.6336 156.319 85.6501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bplat3.dif"; + showTerrainInside = "0"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-131.396 88.725 62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-45.3907 94.015 50.1251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new WayPoint() { + position = "-87.6484 68.5479 57.9859"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Main Base"; + team = "2"; + + locked = "TRUE"; + missionTypesList = "TDM"; + LABEL = "Main Base"; + }; + new StaticShape() { + position = "-87.6484 150.548 82.1033"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "2"; + missionTypesList = "CTF"; + LABEL = "Flagstand"; + }; + new InteriorInstance() { + position = "-87.832 84.0435 52.5335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-87.8368 95.3976 70.6212"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + Target = "40"; + team = "2"; + }; + new Item() { + position = "-87.5631 150.538 55.5036"; + rotation = "0 0 -1 88.5904"; + scale = "1 1 1"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "41"; + team = "2"; + WayPoint = "28675"; + Trigger = "28676"; + isHome = "1"; + stand = "28617"; + missionTypesList = "CTF"; + originalPosition = "-87.5631 150.538 54.7036 0 0 -1 1.54619"; + className = "FLAGOBJ"; + }; + new Turret() { + position = "-87.8048 95.8172 60.6"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "42"; + team = "2"; + }; + new StaticShape() { + position = "-69.5468 90.3 58.5717"; + rotation = "0 0 1 227.647"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "28623"; + team = "2"; + }; + new StaticShape() { + position = "-105.967 90.313 58.5717"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "28625"; + team = "2"; + }; + new InteriorInstance() { + position = "-87.6484 94.5479 50.5751"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "bpower1.dif"; + showTerrainInside = "0"; + AudioProfile = "Universal_Base_2"; + + locked = "TRUE"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-87.6484 150.548 20.4911"; + rotation = "0 0 1 225"; + scale = "1.5 1.5 1"; + interiorFile = "bbunkc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "32.1833 -259.908 52.2754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bmisc4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + new SimGroup(Rocks) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-64.7457 -240.637 57.3542"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + }; + new SimGroup(TREES) { + + powerCount = "0"; + + new TSStatic() { + position = "-133.567 8.92536 58.4148"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg19.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "-14.4872 -176.864 60.115"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "borg18.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(LANDMARKS) { + + powerCount = "0"; + + new InteriorInstance() { + position = "-41.7504 -54.3381 61.6148"; + rotation = "1 0 0 0"; + scale = "1.3 1.3 1.3"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "72.986 -174.608 61.7065"; + rotation = "0 0 1 33.2315"; + scale = "1.3 1.3 1.3"; + interiorFile = "brock8.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "39.3622 -63.4741 74.8287"; + rotation = "0 0 1 34.3774"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "174.264 -572.598 63.4051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "-161.504 -764.086 56.4216"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "212.689 364.103 76.4422"; + rotation = "0 0 1 73.3386"; + scale = "1 1 1"; + interiorFile = "bspir3.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "-591.635 62.3753 51.85"; + rotation = "0 0 1 81.933"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + new InteriorInstance() { + position = "240.856 -389.963 62.0803"; + rotation = "0 0 1 63.5983"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + + locked = "TRUE"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(ADDITION1BELGTREE16) { + + powerCount = "0"; + + new TSStatic() { + position = "308 -580 54.9218"; + rotation = "0 0 1 155"; + scale = "1.4 1.4 1.4"; + shapeName = "borg16.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "452 -420 48.6719"; + rotation = "0 0 1 29"; + scale = "1.2 1.2 1.2"; + shapeName = "borg16.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION2BESMTREE17) { + + powerCount = "0"; + + new TSStatic() { + position = "652 -708 67.0938"; + rotation = "0.0934668 0.120993 0.988243 97.6721"; + scale = "0.9 0.9 0.9"; + shapeName = "borg17.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "516 -436 50.2657"; + rotation = "0.0623331 -0.0162574 0.997923 237.899"; + scale = "1.2 1.2 1.2"; + shapeName = "borg17.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION3BELGTREE18) { + + powerCount = "0"; + + new TSStatic() { + position = "380 260 76.3125"; + rotation = "0 0 -1 44.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg18.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "364 556 60.5469"; + rotation = "0 0 -1 98.0004"; + scale = "1 1 1"; + shapeName = "borg18.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION4BELGTREE19) { + + powerCount = "0"; + + new TSStatic() { + position = "380 364 54.75"; + rotation = "0 0 -1 112"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "-572 -68 52.0312"; + rotation = "0 0 1 42"; + scale = "1.4 1.4 1.4"; + shapeName = "borg19.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION5BELGTREE16) { + + powerCount = "0"; + + new TSStatic() { + position = "660 500 79.8438"; + rotation = "0 0 -1 17.9998"; + scale = "1.8 1.8 1.8"; + shapeName = "borg16.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "-108 620 55.5782"; + rotation = "0 0 1 58.9998"; + scale = "1.6 1.6 1.6"; + shapeName = "borg16.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION6BESMTREE17) { + + powerCount = "0"; + + new TSStatic() { + position = "-468 156 52.1562"; + rotation = "0.190254 -0.00766134 0.981705 92.0577"; + scale = "0.8 0.8 0.8"; + shapeName = "borg17.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "444 316 51.2344"; + rotation = "0.0162322 -0.0781128 0.996812 52.1442"; + scale = "1.1 1.1 1.1"; + shapeName = "borg17.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION7BELGTREE18) { + + powerCount = "0"; + + new TSStatic() { + position = "-492 276 49.7187"; + rotation = "0 0 -1 26.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "borg18.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "-660 92 48.4063"; + rotation = "0 0 -1 82"; + scale = "1.2 1.2 1.2"; + shapeName = "borg18.dts"; + + locked = "TRUE"; + }; + }; + new SimGroup(ADDITION8BELGTREE19) { + + powerCount = "0"; + + new TSStatic() { + position = "-564 -140 53.7969"; + rotation = "0 0 -1 1.00014"; + scale = "1.3 1.3 1.3"; + shapeName = "borg19.dts"; + + locked = "TRUE"; + }; + new TSStatic() { + position = "212 636 61.8593"; + rotation = "0 0 1 228"; + scale = "1.8 1.8 1.8"; + shapeName = "borg19.dts"; + + locked = "TRUE"; + }; + }; + }; + new AudioEmitter() { + position = "-355.854 -192.013 82.2533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/moaningwind1.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.2"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "TRUE"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Pariah.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Pariah.mis new file mode 100644 index 00000000..bf92c315 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Pariah.mis @@ -0,0 +1,1662 @@ +// DisplayName = DMP-Pariah +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Talk sense to a fool and he calls you foolish. +// -- Euripides, The Bacchae +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//10 caps to win +//Go Offense! +//Map by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + musicTrack = "lush"; + CTF_scoreLimit = "10"; + powerCount = "0"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-384 -504 848 976"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Pariah.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + position = "-1024 -1024 0"; + hazeDistance = "350"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + locked = "true"; + GraphFile = "MissionBlank.nav"; + position = "0 0 0 1"; + YDimOverSize = "0"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.550000 0.550000 0.550000 0.000000"; + fogDistance = "275"; + fogColor = "0.540000 0.610000 0.650000 1.000000"; + fogVolume1 = "200 0 120"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -2.72388e+07 -nan"; + high_fogVolume2 = "-1 -nan -4.59173e+14"; + high_fogVolume3 = "-1 -105 -3.1211e-13"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.620000 1.000000"; + ambient = "0.420000 0.420000 0.420000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "148.384 139.37 183.809"; + rotation = "0.940536 -0.339694 -9.25894e-05 179.909"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "260.027 228.285 189.133"; + rotation = "0 0 1 22.9183"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "70"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + team = "1"; + }; + new SpawnSphere() { + position = "116.457 217.566 215.133"; + rotation = "-0 0 -1 3.43771"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "115.829 216.176 171.783"; + rotation = "0 0 1 15.6543"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "109.998 209.806 189.73"; + rotation = "-0.623843 -0.470125 0.624341 129.606"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "283.121 220.182 208.915"; + rotation = "0.172705 -0.970628 -0.167496 92.4735"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "1"; + Target = "33"; + powerCount = "1"; + }; + new Turret() { + position = "115.858 216.156 225.055"; + rotation = "0 0 1 17.7619"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + wasDisabled = "0"; + damageTimeMS = "5215583"; + team = "1"; + lastDamagedBy = "35258"; + Target = "34"; + repairedBy = "35258"; + powerCount = "1"; + lastDamagedByTeam = "1"; + }; + new Item() { + position = "118.817 210.016 190.135"; + rotation = "0 0 1 195.379"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "229.382 94.7514 206.475"; + rotation = "0 0 1 63.5984"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "35"; + powerCount = "1"; + }; + new TSStatic() { + position = "115.725 223.166 209.111"; + rotation = "0 0 1 17.1889"; + scale = "1 1 1.3"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "-252.168 143.276 142.396"; + rotation = "0.2035 -0.219423 -0.95417 104.038"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "232.758 283.604 214.282"; + rotation = "0.612408 0.694977 0.376781 107.873"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "147.695 138.16 191.92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + className = "FlagObj"; + searchSchedule = "481997"; + team = "1"; + WayPoint = "5904"; + Trigger = "5905"; + originalPosition = "147.695 138.16 191.92 1 0 0 0"; + Target = "36"; + }; + new InteriorInstance() { + position = "109.735 209.926 188.951"; + rotation = "0 0 1 105.997"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "122.474 218.726 189.808"; + rotation = "0 0 1 104.851"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5745"; + team = "1"; + inUse = "Down"; + Target = "37"; + powerCount = "1"; + }; + new InteriorInstance() { + position = "290.46 223.137 171.403"; + rotation = "-0 0 -1 21.7725"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "112.117 223.066 201.285"; + rotation = "-0 0 -1 32.6588"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5748"; + team = "1"; + inUse = "Down"; + Target = "38"; + powerCount = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "286.754 223.879 200.4"; + rotation = "0 0 1 68.755"; + scale = "1 0.3 0.3"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "290.667 223.256 200.392"; + rotation = "1.06801e-09 -4.62302e-10 1 68.182"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5751"; + team = "1"; + inUse = "Down"; + Target = "39"; + powerCount = "1"; + }; + new InteriorInstance() { + position = "233.865 96.9723 195.845"; + rotation = "0 0 -1 114.775"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "247.238 100.976 178.629"; + rotation = "-0.022589 -0.0279436 0.999354 163.999"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "26.5092 272.956 174.621"; + rotation = "0.300699 0.108596 0.947516 107.907"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "297.111 225.699 199.689"; + rotation = "0 0 1 68.182"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "238.684 265.824 180.863"; + rotation = "-0.0320983 -0.0243594 0.999188 103.352"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "431.84 143.786 168.737"; + rotation = "0.0755268 -0.0747157 0.994341 89.7066"; + scale = "1 1 1"; + interiorFile = "prockb.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "119.335 198.902 173.451"; + rotation = "-0.520019 0.677172 -0.520594 111.76"; + scale = "4 2 2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "113.14 207.266 199.865"; + rotation = "0 0 1 16.043"; + scale = "1.5 1.5 1.5"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-149.978 -232.145 231.081"; + rotation = "0.00494962 0.000752097 0.999987 185.821"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + team = "2"; + }; + new SpawnSphere() { + position = "-52.6019 -264.554 226.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "50"; + indoorWeight = "50"; + outdoorWeight = "50"; + + team = "1"; + }; + }; + new InteriorInstance() { + position = "-71.2669 337.182 198.006"; + rotation = "-1 0 0 32.6586"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-141.601 -160.791 212.787"; + rotation = "0.00476264 0.00242404 0.999986 221.344"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + damageTimeMS = "2004799"; + team = "2"; + lastDamagedBy = "8037"; + Target = "40"; + powerCount = "2"; + lastDamagedByTeam = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-62.3168 -262.234 211.98"; + rotation = "0.194786 0.960911 0.196744 91.7115"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-178.553 -248.591 251.487"; + rotation = "-0.678761 -0.219132 0.700903 154.008"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + team = "2"; + Target = "41"; + powerCount = "2"; + }; + new Turret() { + position = "-53.6688 -260.409 251.261"; + rotation = "0 0 1 201.108"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + wasDisabled = "0"; + damageTimeMS = "763710"; + team = "2"; + lastDamagedBy = "5191"; + Target = "42"; + repairedBy = "5191"; + powerCount = "2"; + lastDamagedByTeam = "2"; + }; + new Item() { + position = "-56.7368 -254.29 216.7"; + rotation = "0 0 1 21.7724"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "2"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-54.1569 -260.46 197.981"; + rotation = "0.00488294 0.00141683 0.999987 200.902"; + scale = "1 1 1"; + interiorFile = "ptowr1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-47.3488 -254.78 215.476"; + rotation = "-0.00424528 -0.00777086 -0.999961 68.7573"; + scale = "1 1 1"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-58.7427 -185.854 209.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + className = "FlagObj"; + searchSchedule = "481997"; + team = "2"; + WayPoint = "5906"; + Trigger = "5907"; + originalPosition = "-58.7427 -185.854 209.219 1 0 0 0"; + Target = "43"; + }; + new InteriorInstance() { + position = "-185.334 -253.972 214.132"; + rotation = "0.00835258 0.00643683 0.999944 143.429"; + scale = "1 1 1"; + interiorFile = "pbunk1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "67.4254 519.216 182.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-184.982 -253.463 243.11"; + rotation = "0.00154744 0.0110433 0.999938 232.233"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5777"; + team = "2"; + inUse = "Down"; + Target = "44"; + powerCount = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-184.308 -254.211 243.09"; + rotation = "0.00999528 -0.0301617 -0.999495 36.6866"; + scale = "1 0.3 0.3"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "374.773 402.476 220.971"; + rotation = "0 1 0 22.3454"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-50.7968 -267.63 227.458"; + rotation = "0.00509675 -0.00071409 0.999987 152.59"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5781"; + team = "2"; + inUse = "Down"; + Target = "45"; + powerCount = "2"; + }; + new StaticShape() { + position = "-60.8268 -262.39 216.075"; + rotation = "-0.00426071 -0.00761707 -0.999962 69.9033"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Trigger = "5783"; + team = "2"; + inUse = "Down"; + Target = "46"; + powerCount = "2"; + }; + new TSStatic() { + position = "-54.2689 -267.763 235.372"; + rotation = "0 0 1 20.6266"; + scale = "1 1 1.3"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "-145.111 -164.679 201.959"; + rotation = "0 0 1 42.3989"; + scale = "1 1 1"; + interiorFile = "pmisc1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-12.0021 -465.171 191.894"; + rotation = "-0.320514 0.595712 0.736477 71.765"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-59.0278 -187.217 201.108"; + rotation = "0.18964 0.981853 -0.000770146 180.025"; + scale = "1 1 1"; + interiorFile = "ptowr4.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Item() { + position = "-190.466 -257.493 242.892"; + rotation = "0 0 1 231.085"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + team = "1"; + Target = "-1"; + }; + new InteriorInstance() { + position = "-321.829 -196.688 185.609"; + rotation = "-0.00835024 -0.0230147 0.9997 176.934"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-146.142 -278.307 243.108"; + rotation = "0.459289 -0.79613 -0.393993 54.9975"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-52.0106 -277.906 199.736"; + rotation = "-0.496847 0.711118 -0.497448 109.137"; + scale = "4 2 2"; + interiorFile = "pwall1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-317.923 -5.17774 154.15"; + rotation = "-1 0 0 55.004"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-188.651 109.878 185.911"; + rotation = "0.968013 0.0826766 -0.236889 142.665"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-157.287 -176.391 186.571"; + rotation = "0.278918 -0.200298 -0.939194 42.4515"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "237.931 -320.176 210.261"; + rotation = "0.202767 0.0871193 0.975344 165.349"; + scale = "1 1 1"; + interiorFile = "prockc.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-50.5187 -251.73 224.388"; + rotation = "0 0 1 200.535"; + scale = "1.5 1.5 1.5"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(Team0) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance() { + position = "57.7594 23.4267 72.8616"; + rotation = "-1 0 0 74.4846"; + scale = "1 1 1"; + interiorFile = "pspir3.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-30.5388 2.69024 49.2422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "pspir5.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-360.847 -493.331 159.777"; + rotation = "1 0 0 141.521"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "191.61 401.556 229.768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "prock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-25.4948 -588.11 208.389"; + rotation = "1 0 0 141.521"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "234.501 -418.322 259.627"; + rotation = "-0.637133 0.748663 -0.18321 42.0227"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-369.163 363.556 208.21"; + rotation = "0.94005 0.112378 -0.32199 143.672"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-269.469 -339.446 243.554"; + rotation = "1 0 0 141.521"; + scale = "1 1 1"; + interiorFile = "prock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new ForceFieldBare() { + position = "-63.3861 -273.845 210.769"; + rotation = "0.815391 0.57891 -0.00065936 179.949"; + scale = "0.162974 8.1512 4.16309"; + nameTag = "Force Field"; + dataBlock = "taco"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + team = "0"; + Target = "47"; + pz = "5807"; + originalscale = "0.162974 8.1512 4.16309"; + }; + new ForceFieldBare() { + position = "124.215 230.712 183.747"; + rotation = "-0.606455 0.795118 0.000467467 179.926"; + scale = "0.162974 8.1512 4.16309"; + nameTag = "Force Field"; + dataBlock = "taco"; + lockCount = "0"; + homingCount = "0"; + + hidden = "false"; + team = "0"; + Target = "48"; + pz = "5810"; + originalscale = "0.162974 8.1512 4.16309"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "437.22 142.836 192.42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-32.3468 -0.949623 88.8297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-271.475 507.236 244.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "28.3773 267.415 197.795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-260.218 153.776 144.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-331.724 -203.391 202.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "235.47 -318.722 231.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/crickets.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "1000"; + maxLoopGap = "1100"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "250.308 459.766 267.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "80"; + maxDistance = "180"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "463.46 -149.575 260.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "292.179 -479.499 283.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-197.711 -337.821 274.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "40"; + maxDistance = "200"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-249.555 -216.376 266.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-476.694 -275.476 250.327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/drywind.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "100"; + maxDistance = "280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(2) { + position = "-218.222 -277.039 277.482"; + rotation = "0.319314 -0.164525 0.933258 57.8056"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Camera(3) { + position = "-62.5909 73.6294 164.499"; + rotation = "0.0204172 -0.0538238 0.998342 138.516"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + new Camera(1) { + position = "157.256 275.376 244.105"; + rotation = "0.0159374 -0.15794 0.98732 168.621"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "428 468 207.141"; + rotation = "0.182034 0.0270179 0.982921 200.649"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-356 316 194.891"; + rotation = "-0.723319 -0.175608 -0.667811 38.1414"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 -524 247.109"; + rotation = "-0.294941 0.171207 0.940052 97.5237"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "220 204 190.359"; + rotation = "0.0395498 0.0469427 0.998114 76.1048"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "76 -476 182.234"; + rotation = "-0.727033 0.628917 -0.275473 21.5423"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "204 -60 169.844"; + rotation = "-0.103769 0.274166 0.956068 135.823"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "548 428 166.625"; + rotation = "-0.0381015 -0.0087665 0.999235 158.017"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-116 -332 242.844"; + rotation = "-0.00043526 -0.102489 0.994734 80.2977"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-404 -52 172.422"; + rotation = "0.689096 -0.125182 -0.713776 55.2923"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-220 108 183.531"; + rotation = "0.689438 0.724344 4.05356e-05 6.30674"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "332 300 222.188"; + rotation = "-0.00717614 -0.216232 0.976316 100.354"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-188 524 215.641"; + rotation = "0.278877 0.101706 0.954926 223.162"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-380 -196 188.891"; + rotation = "-0.0722144 -0.0560799 0.995811 206.891"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-396 172 176.797"; + rotation = "0.0224294 -0.0351303 0.999131 12.0104"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "532 -516 141.906"; + rotation = "-0.174404 -0.572737 -0.800972 47.7013"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 -356 178.484"; + rotation = "0.099822 -0.165825 0.98109 138.726"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "564 556 163.5"; + rotation = "0.0127557 -0.0581176 0.998228 97.1008"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 -28 158.219"; + rotation = "-0.0499038 0.00387801 0.998747 219.953"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "300 380 242.797"; + rotation = "-0.0340283 -0.121041 0.992064 115.413"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-140 540 197.062"; + rotation = "0.284965 -0.12974 0.949717 50.2345"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-468 532 277.891"; + rotation = "-0.207162 -0.100775 0.973102 116.408"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-420 284 207.797"; + rotation = "-0.297539 -0.290554 0.909422 44.6974"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-268 -308 239.922"; + rotation = "-0.119176 0.0606456 0.991019 225.629"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "380 180 201.734"; + rotation = "0.31207 0.0599515 0.948166 87.0403"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "612 -556 75.9688"; + rotation = "-0.084855 -0.158201 0.983754 118.826"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-20 204 202.922"; + rotation = "-0.258145 -0.239339 0.93599 31.95"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-204 284 141.891"; + rotation = "0.215402 0.254826 0.942691 24.3577"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-444 -484 167.406"; + rotation = "-0.344952 -0.0383512 -0.937836 79.5929"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-476 -300 252.922"; + rotation = "-0.0105768 -0.272092 -0.962213 67.016"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "100 -92 103.859"; + rotation = "0.261698 0.0296454 -0.964694 85.0481"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "196 340 219.484"; + rotation = "-0.938749 -0.344601 0 9.33389"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "380 -220 222"; + rotation = "0.164595 -0.18989 0.96791 106.798"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-124 -484 220.719"; + rotation = "-0.195696 -0.104956 -0.975032 110.364"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "4 180 196.359"; + rotation = "0.0553538 -0.105028 0.992928 186.951"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "476 44 213.734"; + rotation = "-0.164575 0.391395 0.905387 90.6884"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition4BEPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "236 -396 255.272"; + rotation = "-0.0332201 0.138555 0.989797 186.929"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-100 484 159.897"; + rotation = "-0.2823 -0.0764214 -0.956277 89.5601"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-228 -596 152.522"; + rotation = "0.00525723 0.00449009 0.999976 171"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-484 28 134.537"; + rotation = "0.217671 -0.2975 0.929577 75.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "228 -388 251.569"; + rotation = "0.0152184 0.231546 0.972705 140.03"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-220 -140 203.85"; + rotation = "0.791897 0.269464 -0.547986 33.9633"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-188 124 185.741"; + rotation = "0.0223524 0.0616003 0.997851 99.122"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 -540 147.022"; + rotation = "-0.344349 -0.254103 0.903801 63.0426"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-484 156 184.381"; + rotation = "0.0873757 -0.01082 0.996117 129.173"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-252 -572 152.053"; + rotation = "0.121499 0.158486 0.979857 67.0699"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-292 260 146.756"; + rotation = "0.105651 0.0353793 0.993774 228.73"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 180 156.787"; + rotation = "-0.122325 0.191852 0.973771 181.947"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "36 -428 180.741"; + rotation = "0.0224386 0.0967489 0.995056 202.89"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-172 -124 196.147"; + rotation = "0.178114 0.149767 0.972546 158.59"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "596 140 193.772"; + rotation = "0.510544 0.387469 0.767602 29.6898"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "100 460 216.334"; + rotation = "-0.0131026 0.199031 0.979906 131.872"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "412 364 208.131"; + rotation = "-0.359109 -0.0495218 -0.931981 109.839"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-28 316 200.647"; + rotation = "0.924662 -0.174899 -0.338247 8.85285"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 -420 190.616"; + rotation = "0.265197 0.0736155 0.96138 137.545"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "164 -364 231.834"; + rotation = "0.10116 0.0023911 -0.994867 85.2933"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-140 204 183.694"; + rotation = "-0.11512 0.438384 0.891385 72.1497"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-316 588 295.678"; + rotation = "-0.0191252 -0.163495 0.986359 200.72"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "612 404 170.819"; + rotation = "-0.0851609 0.0705665 -0.993865 24.1436"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-380 244 195.428"; + rotation = "-0.271805 -0.128678 -0.953711 62.3791"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-388 -132 193.663"; + rotation = "0.0100835 0.183941 0.982886 19.3247"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "348 -500 286.709"; + rotation = "0.167824 -0.0181836 0.985649 48.6184"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "508 52 220.834"; + rotation = "0.638931 0.0925319 -0.763678 26.0025"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "60 -372 172.975"; + rotation = "0.0334745 0.263 0.964215 66.9066"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "332 -316 234.741"; + rotation = "-0.287968 -0.0398747 0.956809 70.3638"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "244 460 271.928"; + rotation = "0.175079 0.284496 -0.942555 64.0063"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-164 524 206.428"; + rotation = "0.119688 0.099526 0.98781 236.413"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "284 -92 170.647"; + rotation = "-0.12467 0.155945 0.979867 122.983"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "76 420 214.147"; + rotation = "-0.13745 0.242109 0.960464 57.9375"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-4 -476 191.866"; + rotation = "-0.0510835 -0.172892 -0.983615 24.3877"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_PipeDream.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_PipeDream.mis new file mode 100644 index 00000000..34f444a0 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_PipeDream.mis @@ -0,0 +1,1022 @@ +// DisplayName = DMP-Pipe Dream +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//[18:22] <@OrieN> worst thing can happen when you get conced with a drink in ur hand +// -- true dat, yo. +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1200 points to win +//Stations are self-powered. +//Wash your hands!! +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "12"; + musicTrack = "lush"; + cdTrack = "4"; + powerCount = "0"; + + new MissionArea(MissionArea) { + area = "-464 -456 992 768"; + flightCeiling = "4000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Confusco.ter"; + squareSize = "8"; + + visibleDistance = "1200"; + hazeDistance = "250"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new Sun() { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.000000 0.000000 0.000000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new SimGroup() { + + powerCount = "0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + locked = "true"; + conjoinBowlDev = "20"; + GraphFile = "Minotaur.nav"; + position = "0 0 0 1"; + coverage = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.330000 0.330000 0.450000 1.000000"; + fogDistance = "350"; + fogColor = "0.400000 0.400000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Lush_l4.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 nan"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 148120713330651839000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -1.95957e+13 -4.00673e+15"; + high_fogVolume2 = "-1 1.12775e-06 8.30861e+10"; + high_fogVolume3 = "-1 -9.62437e-27 1.47753e+25"; + + locked = "true"; + cloudSpeed0 = "0.002000 0.003000"; + }; + new WaterBlock() { + position = "-216 -88 270.845"; + rotation = "1 0 0 0"; + scale = "32 32 118.294"; + liquidType = "OceanWater"; + density = "2000"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceOpacity = "0.75"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + extent = "100 100 10"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + }; + new SimGroup(environ) { + + powerCount = "0"; + + new TSStatic() { + position = "110.872 -89.7712 280.595"; + rotation = "1 0 0 0"; + scale = "3 3 4"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "72.072 -89.7712 280.595"; + rotation = "1 0 0 0"; + scale = "3 3 4"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "91.472 -89.7712 280.395"; + rotation = "1 0 0 0"; + scale = "3 3 4"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-53.128 65.6288 280.595"; + rotation = "0 0 1 180"; + scale = "3 3 4"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-92.128 65.6288 280.595"; + rotation = "0 0 1 180"; + scale = "3 3 4"; + shapeName = "stackable5l.dts"; + }; + new TSStatic() { + position = "-72.728 65.6288 280.595"; + rotation = "0 0 1 180"; + scale = "3 3 4"; + shapeName = "stackable5l.dts"; + }; + new StaticShape() { + position = "-182.853 8.73472 321.888"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-182.86 -33.0544 322.014"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "-237.173 -12.5911 320.428"; + rotation = "0 0 -1 90"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "201.537 8.79068 322.146"; + rotation = "0 0 -1 90"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "201.596 -33.1985 322.02"; + rotation = "0 0 -1 90"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new StaticShape() { + position = "256.083 -11.7861 320.759"; + rotation = "0 0 1 89.9087"; + scale = "2 2 2"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "-204.226 -61.8554 276.241"; + rotation = "1 0 0 0"; + scale = "5.5 5.5 5.5"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "-198.826 -61.8554 276.241"; + rotation = "1 0 0 0"; + scale = "5.5 5.5 5.5"; + shapeName = "stackable2m.dts"; + }; + new TSStatic() { + position = "-193.426 -61.8554 276.241"; + rotation = "1 0 0 0"; + scale = "5.5 5.5 5.5"; + shapeName = "stackable2m.dts"; + }; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + providesPower = "1"; + powerCount = "1"; + + new Item() { + position = "18.5522 0.669448 247.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + team = "0"; + }; + new Item() { + position = "0.352201 0.669448 247.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + team = "0"; + }; + new Item() { + position = "0.352201 -25.1306 247.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + team = "0"; + }; + new Item() { + position = "18.3522 -25.1306 247.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + ammoStore = "1"; + team = "0"; + }; + new Item() { + position = "-186.36 -12.1352 315.024"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "205.24 -12.1352 315.024"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new ForceFieldBare() { + position = "5.26815 -16.4562 307.073"; + rotation = "1 0 0 0"; + scale = "8.51173 8.53883 1.13294"; + dataBlock = "defaultAllSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + team = "0"; + }; + new Item() { + position = "9.4 -12.2 400"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "9.4 -12.2 350"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "9.4 -12.2 375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "9.24022 -12.3374 247.066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + minSpeed = "100"; + lastDamagedByTeam = "1"; + jumpPower = "100"; + lastDamagedBy = "4137"; + damageTimeMS = "1030591"; + team = "0"; + }; + new StaticShape() { + position = "-165.16 -12.3374 314.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + minSpeed = "0"; + jumpPower = "200"; + team = "0"; + }; + new StaticShape() { + position = "183.84 -12.3374 314.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + minSpeed = "0"; + jumpPower = "200"; + team = "0"; + }; + }; + new SimGroup(team2) { + + powerCount = "0"; + + new SimGroup(assets) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "-185.035 -37.7223 314.733"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + Trigger = "10646"; + team = "2"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "-185.076 13.2777 314.733"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + Trigger = "10648"; + team = "2"; + }; + new Turret() { + position = "-181.72 -12.1522 323.342"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "36"; + lastProjectile = "7020"; + team = "2"; + }; + new StaticShape() { + position = "-65.6252 34.7732 280.728"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "37"; + Trigger = "10651"; + team = "2"; + }; + new StaticShape() { + position = "-80.0252 34.7503 280.728"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "10653"; + team = "2"; + }; + new StaticShape() { + position = "-105.468 -69.7598 280.709"; + rotation = "0 0 1 134.645"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + Trigger = "10655"; + team = "2"; + }; + }; + new Item() { + position = "-158.48 -12.1548 314.627"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "17342"; + className = "FlagObj"; + originalPosition = "-158.48 -12.1548 314.627 0 0 1 1.5708"; + Target = "40"; + team = "2"; + WayPoint = "10700"; + Trigger = "10701"; + isHome = "1"; + }; + new InteriorInstance() { + position = "-114.61 -12.1928 352.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_pipedream.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(spawns) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-225.81 -12.1153 315.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-137.41 -56.9153 315.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "-137.41 31.8847 315.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + new SimGroup(team1) { + + powerCount = "0"; + + new SimGroup(assets) { + + providesPower = "1"; + powerCount = "1"; + + new StaticShape() { + position = "203.989 13.3361 314.645"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "41"; + Trigger = "10666"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "203.948 -37.6639 314.645"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + Trigger = "10668"; + team = "1"; + inUse = "Down"; + notReady = "1"; + }; + new StaticShape() { + position = "84.3796 -59.1241 280.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + Trigger = "10670"; + team = "1"; + }; + new StaticShape() { + position = "98.9796 -59.1241 280.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "10672"; + team = "1"; + }; + new StaticShape() { + position = "124.632 45.1208 280.7"; + rotation = "0 0 -1 45.2637"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "10674"; + team = "1"; + }; + new Turret() { + position = "200.48 -12.1522 323.342"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "46"; + team = "1"; + }; + }; + new Item() { + position = "177.27 -12.1548 314.627"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + searchSchedule = "3570"; + className = "FlagObj"; + originalPosition = "177.27 -12.1548 314.627 0 0 1 1.5708"; + Target = "47"; + team = "1"; + WayPoint = "10702"; + Trigger = "10703"; + isHome = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "133.39 -12.1928 352.124"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_pipedream.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SimGroup(spawns) { + + powerCount = "0"; + + new SpawnSphere() { + position = "157.01 32.1154 315.087"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "157.01 -57.4846 315.087"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "20"; + sphereWeight = "20"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + new SpawnSphere() { + position = "243.41 -12.6846 315.087"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "25"; + sphereWeight = "30"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + }; + }; + new WaterBlock() { + position = "208 32 270.845"; + rotation = "1 0 0 0"; + scale = "32 32 118.294"; + liquidType = "OceanWater"; + density = "2000"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceOpacity = "0.75"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + extent = "100 100 10"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + }; + new WaterBlock() { + position = "-184 24 137.054"; + rotation = "1 0 0 0"; + scale = "64 64 118.294"; + liquidType = "OceanWater"; + density = "2000"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceOpacity = "0.75"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + extent = "100 100 10"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + }; + new WaterBlock() { + position = "144 -120 137.054"; + rotation = "1 0 0 0"; + scale = "64 64 118.294"; + liquidType = "OceanWater"; + density = "2000"; + viscosity = "5"; + waveMagnitude = "1"; + surfaceOpacity = "0.75"; + envMapIntensity = "1"; + removeWetEdges = "1"; + + params0 = "0.32 -0.67 0.066 0.5"; + floodFill = "1"; + extent = "100 100 10"; + seedPoints = "0 0 1 0 1 1 0 1"; + textureSize = "32 32"; + params3 = "1.21 -0.61 0.13 -0.33"; + params1 = "0.63 -2.41 0.33 0.21"; + params2 = "0.39 0.39 0.2 0.133"; + }; + new AudioEmitter() { + position = "176.157 -77.6539 245.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "ScoutEngineSound"; + description = "AudioDefaultLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "50.01"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-194.243 -63.4539 305.348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "ScoutEngineSound"; + description = "AudioDefaultLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "50.01"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "214.557 37.9461 290.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "ScoutEngineSound"; + description = "AudioDefaultLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "50.01"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new AudioEmitter() { + position = "-159.643 53.5461 245.948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + profile = "ScoutEngineSound"; + description = "AudioDefaultLooping3d"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "1"; + isLooping = "1"; + is3D = "1"; + minDistance = "50"; + maxDistance = "50.01"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-169.932 -19.4589 324.4"; + rotation = "0 0 1 84.2248"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "190.148 -3.17621 324.4"; + rotation = "0 0 -1 95.775"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-183.423 62.2747 315.786"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "203.381 -84.7735 315.786"; + rotation = "0 0 -1 90.619"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "215.412 -40.2579 440.289"; + rotation = "0.470694 0.29839 -0.830307 74.7232"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-195.556 19.1166 440.289"; + rotation = "0.181257 -0.285924 0.940953 118.368"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new AudioEmitter() { + position = "9.08318 -11.2312 250.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/base_2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.3"; + isLooping = "1"; + is3D = "1"; + minDistance = "512"; + maxDistance = "1024"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_RavineV.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_RavineV.mis new file mode 100644 index 00000000..439e5c3c --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_RavineV.mis @@ -0,0 +1,1016 @@ +// DisplayName = DMP-RavineV +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//It's never your successful friends posting the inspirational quotes +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//8 caps to win +//Open Flag +//Assets are self powered +//Map design by Techlogic +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + musicTrack = "lush"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-632 -496 1248 1040"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.350000 0.350000 0.350000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "RavineV.ter"; + squareSize = "8"; + emptySquares = "294465 229052 294721 229308 294977 229564 229698 164284 229954 164540 230210 99261 99517"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Abominable.nav"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "520"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "220"; + fogColor = "0.500000 0.500000 0.500000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "nef_BlueClear.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -6.08911e-23 446776"; + high_fogVolume2 = "-1 2.59116e-14 -5.79783e-34"; + high_fogVolume3 = "-1 -3.07681e-05 6.78958e-20"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "542.235 8.15367 140.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "476.508 7.61643 140.012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + new SpawnSphere() { + position = "170.604 -7.02931 91.0648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + }; + new Turret() { + position = "172.566 -7.02385 98.78"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "33"; + lastProjectile = "11448"; + team = "1"; + }; + new InteriorInstance() { + position = "517.443 8.08668 158.049"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bmisc_nefvbay.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "530.348 31.4097 144.028"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "34"; + inUse = "Down"; + Trigger = "8909"; + team = "1"; + }; + new StaticShape() { + position = "547.348 31.5892 144.028"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "35"; + inUse = "Down"; + Trigger = "8911"; + team = "1"; + }; + new StaticShape() { + position = "547.432 -14.6591 144.028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "36"; + inUse = "Down"; + Trigger = "8913"; + team = "1"; + }; + new StaticShape() { + position = "530.439 -14.9717 144.028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "37"; + inUse = "Down"; + Trigger = "8915"; + team = "1"; + }; + new Item() { + position = "548.478 8.06923 144.215"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "183.006 -84.3762 108.791"; + rotation = "0 0 1 177.226"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "331.595 -5.52134 78.9597"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + Target = "38"; + className = "FlagObj"; + team = "1"; + WayPoint = "9003"; + Trigger = "9004"; + originalPosition = "331.595 -5.52134 78.9597 0 0 -1 1.5708"; + }; + new StaticShape() { + position = "502.163 8.06039 181.219"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "1"; + }; + new Turret() { + position = "492.777 8.27054 170.451"; + rotation = "0.577503 0.577044 -0.577504 119.947"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "40"; + lastProjectile = "11431"; + team = "1"; + }; + new InteriorInstance() { + position = "176.332 -7.02912 88.3839"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "167.432 -13.8011 90.3899"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "41"; + inUse = "Down"; + Trigger = "8924"; + team = "1"; + }; + new StaticShape() { + position = "167.401 -0.269501 90.3279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "42"; + inUse = "Down"; + Trigger = "8926"; + team = "1"; + }; + new InteriorInstance() { + position = "366.113 10.3352 80.4591"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new TSStatic() { + position = "366.933 -5.64969 79.8106"; + rotation = "1 0 0 0"; + scale = "4 3 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "182.738 -92.9977 106.937"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "182.693 75.9367 107.313"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "183.325 67.5574 108.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "182.349 -7.09642 90.5868"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new WayPoint() { + position = "530.521 7.97194 140.068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Hangar"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Hangar"; + team = "1"; + }; + new TSStatic() { + position = "350.935 -29.7537 71.1028"; + rotation = "0 1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new TSStatic() { + position = "351.122 18.619 71.6226"; + rotation = "0 1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "1"; + }; + new InteriorInstance() { + position = "358.02 -5.51209 90.8841"; + rotation = "0 0 -1 90"; + scale = "1.7 1 2"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "358.02 -5.51209 91.0841"; + rotation = "0 0 -1 90"; + scale = "1.7 1 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new StaticShape() { + position = "528.406 8.2492 137.161"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + station = "9017"; + ready = "1"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + providesPower = "1"; + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-168.67 -6.22147 98.2581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "40"; + sphereWeight = "100"; + indoorWeight = "35"; + outdoorWeight = "65"; + }; + new SpawnSphere() { + position = "-535.333 6.11699 126.728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new SpawnSphere() { + position = "-471.973 5.48828 121.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "30"; + sphereWeight = "100"; + indoorWeight = "50"; + outdoorWeight = "50"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + }; + new WayPoint() { + position = "-523.504 7.2337 126.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Hangar"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Hangar"; + team = "2"; + }; + new InteriorInstance() { + position = "-510.437 7.26658 144.011"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "bmisc_nefvbay.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-523.508 -15.9435 130"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "44"; + Trigger = "8948"; + team = "2"; + }; + new StaticShape() { + position = "-540.538 -15.907 130"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + Trigger = "8950"; + team = "2"; + }; + new StaticShape() { + position = "-540.478 30.4906 130.04"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "46"; + Trigger = "8952"; + team = "2"; + }; + new StaticShape() { + position = "-523.463 30.539 129.963"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + Trigger = "8954"; + team = "2"; + }; + new Item() { + position = "-541.523 7.15733 130.182"; + rotation = "0 0 -1 88.2355"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-186.488 72.8314 109.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-182.921 -61.2645 111.262"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-495.239 7.22056 167.336"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "48"; + team = "2"; + }; + new Turret() { + position = "-485.656 7.3131 156.514"; + rotation = "0.577503 -0.577044 0.577503 119.947"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "49"; + team = "2"; + }; + new InteriorInstance() { + position = "-183.622 -5.84538 95.3625"; + rotation = "0 0 1 89.5639"; + scale = "1 1 1"; + interiorFile = "bbunk9.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-174.611 1.02926 97.3355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "8962"; + team = "2"; + }; + new StaticShape() { + position = "-174.596 -12.4626 97.3626"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + Trigger = "8964"; + team = "2"; + }; + new InteriorInstance() { + position = "-371.517 -21.2047 80.7204"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "tes_flagbase_x2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new TSStatic() { + position = "-373.334 -5.36799 80.0452"; + rotation = "1 0 0 0"; + scale = "4 3 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "-185.806 81.0567 106.823"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-182.929 -69.4623 109.009"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "bbunkd.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-180.015 -6.04355 105.619"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "52"; + lastProjectile = "7144"; + team = "2"; + }; + new Item() { + position = "-336.993 -5.34563 79.2329"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + Target = "53"; + className = "FlagObj"; + team = "2"; + WayPoint = "9005"; + Trigger = "9006"; + originalPosition = "-336.993 -5.34563 79.2329 0 0 1 1.5708"; + }; + new Item() { + position = "-190.063 -5.80546 97.4832"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-356.579 18.9919 72.2936"; + rotation = "0 -1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-355.877 -29.4209 71.6357"; + rotation = "0 1 0 90"; + scale = "3 4 1"; + shapeName = "bmiscf.dts"; + + team = "2"; + }; + new InteriorInstance() { + position = "-363.361 -5.16823 91.1454"; + rotation = "0 0 1 90"; + scale = "1.7 1 2"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-363.361 -5.16823 91.3454"; + rotation = "0 0 1 90"; + scale = "1.7 1 1"; + interiorFile = "rail1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-522.378 7.00315 123.286"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + Target = "54"; + station = "9020"; + ready = "1"; + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new WaterBlock(water1) { + position = "216 -48 23.3213"; + rotation = "1 0 0 0"; + scale = "96 96 20"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + extent = "100 100 10"; + params0 = "0.32 -0.67 0.066 0.5"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + team = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + }; + new WaterBlock(water1) { + position = "-320 -48 23.1736"; + rotation = "1 0 0 0"; + scale = "96 96 20"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "5"; + waveMagnitude = "0.5"; + surfaceTexture = "LiquidTiles/AlgaeWater"; + surfaceOpacity = "0.8"; + envMapTexture = "lush/skies/lushcloud3"; + envMapIntensity = "0.7"; + removeWetEdges = "1"; + + params3 = "1.21 -0.61 0.13 -0.33"; + textureSize = "32 32"; + extent = "100 100 10"; + params0 = "0.32 -0.67 0.066 0.5"; + seedPoints = "0 0 1 0 1 1 0 1"; + params2 = "0.39 0.39 0.2 0.133"; + team = "0"; + params1 = "0.63 -2.41 0.33 0.21"; + floodFill = "1"; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new TSStatic() { + position = "164.767 -100.254 107.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "155.905 82.3021 109.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-162.145 72.1138 110.244"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-164.3 -77.8225 109.784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-455.703 143.67 137.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-442.134 -182.04 136.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "452.856 -158.052 139.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "446.295 173.268 137.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "567.64 -35.3117 229.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-580.301 17.2157 232.063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "borg17.dts"; + }; + new TSStatic() { + position = "-182.905 -61.4023 109.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "-186.576 72.7944 107.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "182.964 -84.3985 106.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + new TSStatic() { + position = "183.38 67.5357 106.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(c1) { + position = "106.57 -14.8061 139.92"; + rotation = "0 0 1 90.137"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(c2) { + position = "-116.854 4.02948 136.962"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_ScorchedEarth.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_ScorchedEarth.mis new file mode 100644 index 00000000..48f89b1a --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_ScorchedEarth.mis @@ -0,0 +1,3723 @@ +// DisplayName = DMP-Scorched Earth +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Humans taste like fish. +//Run faster next time, dogmeat. +//Bla ha ha ha ha! +// -- Bioderm Haiku +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]600 points to win +//Each bunker has its own power source. +//Dropship base turret is self-powered. +//Neutral self-powered inventory stations in center cave. +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + CTF_scoreLimit = "6"; + powerCount = "0"; + musicTrack = "badlands"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-1016 -928 2032 1792"; + flightCeiling = "2500"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.449663 -0.35973 -0.817556"; + color = "0.800000 0.710000 0.710000 1.000000"; + ambient = "0.400000 0.450000 0.550000 0.500000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "1"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Rst_ScorchedEarth.ter"; + squareSize = "8"; + emptySquares = "143240 143496 81501 147293 82014 151991 86711 86967 91079 91335 222637 222893 157567 223149 157823 161231 227022 161742 96885 162682 228471 294263 294519 163704 163959 98685 231214 231470 166191 167248 233039 167760 103281 169073 169329 170550 170806 109383 175174 175430 180127 180384 183925 184181"; + + visibleDistance = "1200"; + locked = "true"; + hazeDistance = "250"; + position = "-1024 -1024 0"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + conjoinBowlDev = "20"; + scale = "1 1 1"; + GraphFile = "Equinox.nav"; + locked = "true"; + coverage = "0"; + YDimOverSize = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + rotation = "0 0 0 0"; + }; + new Sky(Sky) { + position = "-832 -1272 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "1.000000 1.000000 1.000000 1.000000"; + fogDistance = "250"; + fogColor = "0.450000 0.450000 0.550000 0.100000"; + fogVolume1 = "500 0 32"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "roelcolor.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -nan -6.14964"; + high_fogVolume2 = "-1 -0.00137871 -nan"; + high_fogVolume3 = "-1 -7.70194e-05 -1.02778e-18"; + + locked = "true"; + cloudSpeed0 = "0.000500 0.000500"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team0) { + + providesPower = "1"; + invincible = "1"; + powerCount = "1"; + + new StaticShape() { + position = "-93.6914 -53.4234 56.8469"; + rotation = "0 0 1 236.814"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "33"; + invincible = "1"; + Trigger = "12025"; + team = "0"; + }; + new StaticShape() { + position = "-18.331 14.7391 56.8469"; + rotation = "0 0 1 58.0512"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "34"; + invincible = "1"; + Trigger = "12027"; + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "314.536 481.111 74.5131"; + rotation = "0 0 -1 112.964"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "332.951 437.652 77.5131"; + rotation = "0 0 1 198.908"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "126.82 -189.8 78.6332"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "137.02 -199.2 78.2332"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "119.82 -198.6 78.2332"; + rotation = "0 0 1 53.8581"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "128.124 -209.917 78.2332"; + rotation = "0 0 1 24.6372"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-36.724 216.117 82.8332"; + rotation = "0 0 1 204.637"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-45.62 205.4 82.4332"; + rotation = "0 0 -1 119.266"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-35.42 196 83.4332"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-28.42 204.8 83.0332"; + rotation = "0 0 1 233.858"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-55.7108 30.2223 109.371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-55.7108 -64.3777 112.371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-7.91228 -17.3396 107.971"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-104.514 -15.4165 107.971"; + rotation = "0 0 1 94.5381"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "122.355 -616.043 102.122"; + rotation = "0 0 1 3.43816"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-130.355 608.043 102.122"; + rotation = "0 0 1 183.438"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-298.472 -461.32 77.7131"; + rotation = "0 0 1 26.3561"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-322.536 -489.111 74.5131"; + rotation = "0 0 1 67.0361"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-340.951 -445.652 80.1131"; + rotation = "0 0 1 18.9077"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "290.472 453.32 77.9131"; + rotation = "0 0 1 236.723"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-68.5295 9.51449 28.8116"; + rotation = "0 0 1 159.282"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-67.7512 7.45676 28.8116"; + rotation = "0 0 1 159.282"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-68.1757 8.57916 30.8116"; + rotation = "0 0 1 133.499"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-43.6655 -47.8336 28.7901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-43.6655 -45.8336 28.7901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-43.6655 -47.0336 30.7901"; + rotation = "0 0 -1 108.862"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-80.9881 7.14922 40.4315"; + rotation = "0 0 1 4.0109"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-32.2045 -43.1498 39.5806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-100.178 -41.343 55.9909"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-24.0605 24.9141 55.8709"; + rotation = "0 0 -1 39.5341"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-49.8593 -17.0138 29.6612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-55.2438 -37.3571 29.2612"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "420.339 -246.935 130.813"; + rotation = "0 0 1 133.499"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-431.506 235.599 129.613"; + rotation = "0 0 -1 46.501"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new SimGroup(trees) { + + powerCount = "1"; + + new TSStatic() { + position = "-539.486 617.894 140.08"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "sorg22.dts"; + + team = "0"; + }; + new TSStatic() { + position = "531.486 -625.894 140.08"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "sorg22.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-710.166 -375.041 127.402"; + rotation = "0 0 -1 81.933"; + scale = "2 2 2"; + shapeName = "sorg22.dts"; + + team = "0"; + }; + new TSStatic() { + position = "702.166 367.041 126.802"; + rotation = "-0 -0 1 98.0669"; + scale = "2 2 2"; + shapeName = "sorg22.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-822.443 652.603 124.923"; + rotation = "0 0 1 131.299"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-398.233 -66.7241 141.158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "390.233 58.7241 141.958"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-159.839 -324.115 145.843"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + new TSStatic() { + position = "151.839 316.115 146.843"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-17.3968 -119.822 120.498"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "9.3968 111.822 121.098"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-124.116 878.99 152.997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "116.116 -886.99 153.397"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "814.443 -660.603 122.923"; + rotation = "0 0 -1 48.7014"; + scale = "1 1 1"; + shapeName = "dorg16.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-353.282 -612.073 103.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + new TSStatic() { + position = "339.682 604.073 104.022"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "78.0684 -386.587 128.032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-86.0684 378.587 129.432"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-425.039 721.052 164.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "417.039 -729.052 164.879"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-1117.37 693.492 117.223"; + rotation = "0 0 -1 97.9758"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "1109.37 -701.492 117.223"; + rotation = "-0 -0 1 82.0241"; + scale = "1 1 1"; + interiorFile = "xspir2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-607.561 -213.514 103.836"; + rotation = "0 0 1 81.36"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "599.561 205.514 101.236"; + rotation = "0 0 -1 98.6398"; + scale = "1 1 1"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-118.237 121.951 112.359"; + rotation = "0 0 -1 72.1929"; + scale = "2 2 2"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "110.237 -129.951 115.759"; + rotation = "-0 -0 1 107.807"; + scale = "2 2 2"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-131.604 172.366 53.2483"; + rotation = "0 0 1 184.492"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "25.6314 -196.266 56.8483"; + rotation = "0 0 -1 0.672601"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "537.168 -435.34 113.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-545.168 427.34 115.049"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-158.697 530.858 98.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "150.697 -538.858 98.723"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-326.448 -196.619 125.608"; + rotation = "-0 -0 1 118.693"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "318.448 188.619 125.608"; + rotation = "0 0 -1 61.3065"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-187.508 43.3087 100.206"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "179.508 -51.3087 100.206"; + rotation = "0 0 1 180"; + scale = "2 2 2"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-258.812 313.554 101.022"; + rotation = "0 0 1 72.7656"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "250.812 -321.554 101.022"; + rotation = "0 0 -1 107.234"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-530.809 244.437 166.512"; + rotation = "0 0 1 233.376"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-591.575 77.4681 148.924"; + rotation = "0 0 1 140.375"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + new TSStatic() { + position = "522.809 -252.437 166.512"; + rotation = "0 0 1 53.376"; + scale = "2 2 2"; + shapeName = "dorg19.dts"; + + team = "0"; + }; + new TSStatic() { + position = "583.575 -85.4681 149.924"; + rotation = "0 0 -1 39.625"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + + team = "0"; + }; + }; + new TSStatic() { + position = "13.3296 -301.502 72.0924"; + rotation = "0.26702 -0.105792 0.957867 77.1957"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-48.9716 324.411 74.9372"; + rotation = "-0.0145982 -0.183927 0.982832 188.921"; + scale = "1 1 1"; + shapeName = "vehicle_land_assault_wreck.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-319.937 299.119 109.981"; + rotation = "0 0 1 88.8085"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-323.115 342.086 108.181"; + rotation = "0 0 1 78.4953"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "311.937 -307.119 109.981"; + rotation = "0 0 -1 91.1908"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "315.995 -354.839 109.981"; + rotation = "0 0 -1 101.504"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "179.458 -51.3435 166.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-188.218 43.5153 166.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new InteriorInstance() { + position = "-55.6541 -20.5452 29.4589"; + rotation = "0 0 -1 18.3348"; + scale = "1 1 1"; + interiorFile = "rst_padbottom2.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new StaticShape() { + position = "-55.6541 -20.5452 29.6589"; + rotation = "0 0 -1 18.3348"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "CreativityPad"; + lockCount = "0"; + homingCount = "0"; + + jumpPower = "300"; + team = "0"; + }; + new InteriorInstance() { + position = "-573.254 95.7311 151.615"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "565.254 -103.731 151.615"; + rotation = "0 0 1 212.659"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new TSStatic() { + position = "-587.056 220.963 138.975"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "rst-samifin.dts"; + + team = "0"; + }; + new InteriorInstance() { + position = "-573.254 95.7311 151.615"; + rotation = "0 0 1 32.6586"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "565.254 -103.731 151.615"; + rotation = "0 0 1 212.659"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-72.9884 21.4392 115.107"; + rotation = "0.748172 -0.496106 0.440587 206.709"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-37.3752 -59.9059 112.95"; + rotation = "0.585478 0.715668 0.380835 135.079"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-13.3359 -9.72055 102.72"; + rotation = "0.413181 0.754351 0.510134 106.482"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-84.9524 -75.4559 115.466"; + rotation = "1 0 0 48.7015"; + scale = "1 1 1"; + interiorFile = "xrock6.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-31.8293 -16.8861 106.036"; + rotation = "0.158281 0.31756 0.934935 12.9213"; + scale = "1 1 1"; + interiorFile = "xrock8.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-39.4561 30.9938 112.697"; + rotation = "-0.844221 0.46511 -0.266389 55.6139"; + scale = "1 1 1"; + interiorFile = "xrock7.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance() { + position = "-93.7582 -68.0489 106.51"; + rotation = "0.579261 0.563888 0.588631 142.553"; + scale = "1 1 1"; + interiorFile = "xrockc.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-67.1362 4.82294 95.186"; + rotation = "-0.174969 0.27682 0.944858 34.9334"; + scale = "2 2 0.5"; + interiorFile = "xspir1.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + }; + new SimGroup(Team1) { + + powerCount = "0"; + + new Item() { + position = "498.973 -326.727 174.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + Target = "35"; + searchSchedule = "104988"; + className = "FlagObj"; + team = "1"; + WayPoint = "12439"; + Trigger = "12440"; + originalPosition = "498.973 -326.727 174.417 1 0 0 0"; + }; + new SimGroup(junk) { + + powerCount = "0"; + + new TSStatic() { + position = "512.405 -227.951 117.118"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "513.377 -225.113 117.118"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "512.405 -227.951 114.118"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "513.377 -225.113 114.118"; + rotation = "0 0 1 18.9076"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "543.14 -173.269 114.118"; + rotation = "0 0 1 96.2569"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "540.158 -172.942 114.118"; + rotation = "0 0 1 96.2569"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "543.14 -173.269 117.118"; + rotation = "0 0 1 96.2569"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "540.158 -172.942 117.118"; + rotation = "0 0 1 96.2569"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "565.558 -78.5407 150.482"; + rotation = "0 0 1 166.158"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "550.834 -177.519 166.682"; + rotation = "0 0 1 135.218"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "578.222 -171.484 165.882"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "538.579 -262.052 167.682"; + rotation = "0 0 1 40.1071"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "530.397 -238.876 167.682"; + rotation = "0 0 1 98.5488"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "403.335 -360.024 113.178"; + rotation = "0 0 1 66.4632"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "416.461 -366.02 112.978"; + rotation = "0 0 1 9.16746"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "418.129 -386.203 113.578"; + rotation = "0 0 1 69.9009"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "407.521 -395.56 114.178"; + rotation = "0 0 1 11.4593"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "400.78 -379.992 112.978"; + rotation = "0 0 1 29.2209"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "640.393 -45.882 130.336"; + rotation = "0 0 -1 47.5555"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "651.172 -48.0759 130.736"; + rotation = "0 0 -1 12.6051"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "656.754 -56.4111 131.136"; + rotation = "0 0 -1 49.2743"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "476.692 -350.901 153.082"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "500.515 -380.082 153.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "644.833 -368.332 162.282"; + rotation = "0 0 -1 20.6265"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "498.973 -326.727 170.417"; + rotation = "0 0 1 60"; + scale = "1 1 1"; + interiorFile = "rst_lush_flagplat.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new SpawnSphere() { + position = "568.139 -277.061 173.235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new SimGroup(base1) { + + powerCount = "2"; + + new WayPoint() { + position = "600.03 -315.943 175.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + new WayPoint() { + position = "611.886 -328.266 207.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Alpha Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Alpha Bunker"; + team = "1"; + }; + new Item() { + position = "607.57 -304.012 175.643"; + rotation = "0 0 1 220.771"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "608.015 -306.163 178.856"; + rotation = "0 0 -1 92.8192"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "636.097 -308.936 174.933"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "PlasmaBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "636.55 -331.438 178.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "591.678 -342.808 178.372"; + rotation = "0 0 -1 58.4417"; + scale = "1 1 1"; + dataBlock = "MissileLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "608.06 -342.89 178.662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Turret() { + position = "582.611 -318.177 181.404"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "36"; + damageTimeMS = "442335"; + lastProjectile = "11777"; + lastDamagedBy = "9247"; + team = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "623.922 -344.152 177.699"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + }; + new TSStatic() { + position = "607.603 -306.468 175.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "607.603 -304.068 172.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "607.603 -307.068 172.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "635.98 -331.313 177.324"; + rotation = "0 0 1 193.178"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "635.879 -331.443 175.398"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "592.021 -342.783 175.301"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "618.053 -320.252 175.356"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "609.353 -342.698 175.651"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "631.505 -318.859 177.421"; + rotation = "0 0 1 222.972"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "640.736 -331.28 175.462"; + rotation = "0 0 1 186.876"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "635.927 -308.934 172.97"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "1"; + }; + new Turret() { + position = "616.919 -320.239 186.047"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "37"; + team = "1"; + }; + new Item() { + position = "600.03 -315.943 175.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "608.834 -325.19 177.437"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "38"; + Trigger = "12183"; + team = "1"; + }; + new StaticShape() { + position = "608.834 -315.19 177.437"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "39"; + inUse = "Down"; + Trigger = "12185"; + team = "1"; + }; + new StaticShape() { + position = "635.634 -315.19 177.437"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "40"; + inUse = "Down"; + Trigger = "12187"; + team = "1"; + }; + new StaticShape() { + position = "635.634 -325.19 177.437"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "41"; + inUse = "Down"; + Trigger = "12189"; + team = "1"; + }; + new StaticShape() { + position = "611.505 -316.908 186.422"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "42"; + team = "1"; + }; + new StaticShape() { + position = "610.992 -323.428 186.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "43"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "622.206 -321.524 177.477"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "rst_SEbase.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(ship) { + + providesPower = "1"; + powerCount = "1"; + + new Turret() { + position = "665.078 -162.951 175.112"; + rotation = "0 0 1 182.247"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "44"; + lastProjectile = "11760"; + team = "1"; + }; + new InteriorInstance() { + position = "665.232 -155.778 161.606"; + rotation = "0 0 1 92.2467"; + scale = "1 1 1"; + interiorFile = "rst_beagleship.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + }; + new SimGroup(Base2) { + + powerCount = "1"; + + new WayPoint() { + position = "592.391 -223.353 127.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Repair Pack"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "1"; + }; + new Item() { + position = "592.391 -223.353 127.183"; + rotation = "0 0 1 90.0461"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "581.872 -232.018 222.755"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "45"; + team = "1"; + }; + new Item() { + position = "597.051 -224.883 172.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "597.051 -222.083 172.867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "566.051 -222.083 174.067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "566.051 -224.683 174.067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "565.907 -239.074 205.391"; + rotation = "0 0 -1 59.0147"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "586.197 -230.945 175.286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new Item() { + position = "577.175 -213.932 174.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "585.983 -223.417 191.928"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "592.991 -223.396 128.237"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "1"; + }; + new TSStatic() { + position = "565.886 -223.344 115.407"; + rotation = "0 0 1 74.5762"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "565.486 -223.343 114.407"; + rotation = "-0 -0 1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "559.348 -201.693 116.306"; + rotation = "0 0 -1 119.839"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "559.461 -201.67 114.483"; + rotation = "0 0 1 159.946"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "566.486 -223.344 114.407"; + rotation = "-0 -0 1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "579.616 -203.339 114.318"; + rotation = "0 0 1 178.281"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "577.4 -224.642 116.422"; + rotation = "0 0 1 157.082"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "577.433 -223.307 114.443"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new TSStatic() { + position = "591.384 -243.244 114.257"; + rotation = "-0 -0 1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "597.189 -223.425 169.825"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "566.071 -223.312 171.009"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "564.044 -237.298 205.033"; + rotation = "0 0 1 146.768"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "1"; + }; + new TSStatic() { + position = "597.889 -208.614 204.945"; + rotation = "0 0 1 225.264"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "577.085 -214.011 172.798"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "1"; + }; + new TSStatic() { + position = "585.919 -230.894 172.994"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "1"; + }; + new Turret() { + position = "575.803 -223.353 121.222"; + rotation = "0.707388 0.000562974 -0.706825 180.065"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "46"; + team = "1"; + }; + new StaticShape() { + position = "566.283 -209.637 204.997"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "47"; + inUse = "Down"; + Trigger = "12226"; + team = "1"; + }; + new StaticShape() { + position = "596.83 -237.072 204.997"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "48"; + damageTimeMS = "1411934"; + inUse = "Down"; + lastDamagedBy = "4137"; + Trigger = "12228"; + team = "1"; + lastDamagedByTeam = "1"; + }; + new Turret() { + position = "567.265 -223.35 121.215"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "49"; + team = "1"; + }; + new StaticShape() { + position = "586.389 -243.939 114.491"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "50"; + Trigger = "12231"; + team = "1"; + }; + new StaticShape() { + position = "586.389 -202.739 114.491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "51"; + inUse = "Down"; + Trigger = "12233"; + team = "1"; + }; + new StaticShape() { + position = "561.352 -223.196 126.557"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "1"; + }; + new StaticShape() { + position = "584.026 -223.331 185.742"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "53"; + inUse = "Down"; + Trigger = "12236"; + team = "1"; + }; + new InteriorInstance() { + position = "579.105 -223.334 155.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_SEtower.dif"; + showTerrainInside = "0"; + + locked = "1"; + team = "1"; + }; + new WayPoint() { + position = "581.66 -223.238 217.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bravo Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bravo Bunker"; + team = "1"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-576.139 269.061 173.235"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "100"; + sphereWeight = "100"; + indoorWeight = "0"; + outdoorWeight = "100"; + }; + new Item() { + position = "-506.973 318.727 174.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + isHome = "1"; + Target = "54"; + searchSchedule = "12047"; + className = "FlagObj"; + team = "2"; + WayPoint = "12441"; + Trigger = "12442"; + originalPosition = "-506.973 318.727 174.417 1 0 0 0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-506.973 318.727 170.417"; + rotation = "0 0 1 240"; + scale = "1 1 1"; + interiorFile = "rst_lush_flagplat.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new SimGroup(Base2) { + + powerCount = "1"; + + new WayPoint() { + position = "-600.391 215.353 127.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + new Item() { + position = "-600.391 215.353 127.183"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-589.872 224.018 222.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "55"; + team = "2"; + }; + new Item() { + position = "-585.175 205.932 174.609"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-594.197 222.945 175.286"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Chaingun"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-573.907 231.074 205.391"; + rotation = "0 0 1 120.985"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-574.051 216.683 174.067"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-574.051 214.083 174.067"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-605.051 214.083 172.867"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-605.051 216.883 172.867"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "PulseSensorDeployable"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-600.991 215.396 128.237"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-593.983 215.417 191.928"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-585.433 215.307 114.443"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-585.4 216.642 116.422"; + rotation = "0 0 -1 22.9183"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-567.461 193.67 114.483"; + rotation = "0 0 -1 20.0536"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-599.384 235.244 114.257"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-587.616 195.339 114.318"; + rotation = "0 0 -1 1.71915"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-567.348 193.693 116.306"; + rotation = "0 0 1 60.1606"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-600.002 195.493 126.93"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-600.732 238.052 126.982"; + rotation = "0 0 -1 91.1003"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-599.965 237.792 126.982"; + rotation = "0 0 1 212.177"; + scale = "1 1 1"; + shapeName = "stackable4l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-574.486 215.344 114.407"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-574.086 215.344 115.407"; + rotation = "0 0 -1 77.9223"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-573.486 215.343 114.407"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-585.085 206.011 172.798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-593.919 222.894 172.994"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-572.044 229.298 205.033"; + rotation = "0 0 -1 33.2316"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-605.889 200.614 204.945"; + rotation = "0 0 1 45.2637"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-605.189 215.425 169.825"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-574.071 215.312 171.009"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new Turret() { + position = "-583.849 215.348 121.322"; + rotation = "0.707388 -0.000562856 0.706825 180.065"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "56"; + damageTimeMS = "1077884"; + lastProjectile = "7186"; + lastDamagedBy = "4137"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new Turret() { + position = "-575.311 215.349 121.315"; + rotation = "0 1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "57"; + damageTimeMS = "1077884"; + lastProjectile = "7186"; + lastDamagedBy = "4137"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-569.352 215.196 126.557"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "58"; + damageTimeMS = "1086492"; + lastDamagedBy = "4137"; + team = "2"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-594.389 194.739 114.491"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "59"; + Trigger = "12279"; + team = "2"; + }; + new StaticShape() { + position = "-594.389 235.939 114.491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "60"; + Trigger = "12281"; + team = "2"; + }; + new StaticShape() { + position = "-574.283 201.637 204.997"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "61"; + damageTimeMS = "1117950"; + lastDamagedBy = "4137"; + Trigger = "12283"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-604.83 229.072 204.997"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "62"; + damageTimeMS = "1120797"; + lastDamagedBy = "4137"; + Trigger = "12285"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new StaticShape() { + position = "-592.026 215.331 185.742"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "63"; + damageTimeMS = "1110590"; + inUse = "Down"; + lastDamagedBy = "4137"; + Trigger = "12287"; + team = "2"; + wasDisabled = "1"; + lastDamagedByTeam = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-587.105 215.334 155.024"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_SEtower.dif"; + showTerrainInside = "0"; + + locked = "1"; + team = "2"; + }; + new WayPoint() { + position = "-589.637 215.326 217.265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Bravo Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Bravo Bunker"; + team = "2"; + }; + }; + new SimGroup(base1) { + + powerCount = "2"; + + new WayPoint() { + position = "-607.982 307.821 175.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Repair Pack"; + team = "2"; + }; + new WayPoint() { + position = "-619.865 320.347 208.087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Alpha Bunker"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Alpha Bunker"; + team = "2"; + }; + new Item() { + position = "-615.57 296.012 175.643"; + rotation = "0 0 1 40.771"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-616.015 298.163 178.856"; + rotation = "0 0 1 87.1813"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-599.678 334.808 178.372"; + rotation = "0 0 1 121.558"; + scale = "1 1 1"; + dataBlock = "MissileLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-644.55 323.438 178.183"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "grenade"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-616.06 334.89 178.662"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "Mine"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Item() { + position = "-644.097 300.936 174.933"; + rotation = "0 0 1 89.4731"; + scale = "1 1 1"; + dataBlock = "PlasmaBarrelPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new Turret() { + position = "-590.611 310.177 181.404"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "64"; + damageTimeMS = "800447"; + lastProjectile = "7158"; + lastDamagedBy = "14360"; + team = "2"; + lastDamagedByTeam = "2"; + }; + new StaticShape() { + position = "-631.922 336.152 177.699"; + rotation = "0 0 -1 0.0884693"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Unity"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "2"; + }; + new TSStatic() { + position = "-615.603 298.068 175.617"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-615.603 299.068 172.617"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-615.603 296.068 172.617"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-600.021 334.783 175.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-615.926 312.389 186.345"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + shapeName = "stackable5l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-643.879 323.443 175.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-617.353 334.698 175.651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-643.98 323.313 177.324"; + rotation = "0 0 1 13.1781"; + scale = "1 1 1"; + shapeName = "stackable1m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-614.48 311.061 177.445"; + rotation = "0 0 1 95.111"; + scale = "1 1 1"; + shapeName = "stackable1s.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-648.736 323.28 175.462"; + rotation = "0 0 1 6.87562"; + scale = "1 1 1"; + shapeName = "stackable2m.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-639.505 310.859 177.421"; + rotation = "0 0 1 42.9719"; + scale = "1 1 1"; + shapeName = "stackable2s.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-626.053 312.252 175.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable2l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-643.927 300.934 172.97"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable1l.dts"; + + team = "2"; + }; + new Turret() { + position = "-624.906 312.325 185.969"; + rotation = "0 -1 0 89.9544"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "65"; + team = "2"; + }; + new Item() { + position = "-607.982 307.821 175.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-618.905 308.908 186.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "66"; + team = "2"; + }; + new StaticShape() { + position = "-616.834 307.39 177.437"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "67"; + Trigger = "12318"; + team = "2"; + }; + new StaticShape() { + position = "-643.634 306.79 177.437"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "68"; + Trigger = "12320"; + team = "2"; + }; + new StaticShape() { + position = "-618.992 315.428 186.422"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "69"; + team = "2"; + }; + new StaticShape() { + position = "-616.834 317.19 177.437"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "70"; + Trigger = "12323"; + team = "2"; + }; + new StaticShape() { + position = "-643.634 317.19 177.437"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "71"; + inUse = "Down"; + Trigger = "12325"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-630.206 313.524 177.477"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "rst_SEbase.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(junk) { + + powerCount = "0"; + + new TSStatic() { + position = "-521.377 217.113 114.118"; + rotation = "0 0 1 198.908"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-551.14 165.269 114.118"; + rotation = "0 0 -1 83.7429"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-522.349 214.275 114.118"; + rotation = "0 0 1 198.908"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-521.377 217.113 117.118"; + rotation = "0 0 1 198.908"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-522.349 214.275 117.118"; + rotation = "0 0 1 198.908"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-554.122 165.596 114.118"; + rotation = "0 0 -1 83.7429"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-551.14 165.269 117.118"; + rotation = "0 0 -1 83.7429"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new TSStatic() { + position = "-554.122 165.596 117.118"; + rotation = "0 0 -1 83.7429"; + scale = "1 1 1"; + shapeName = "stackable3l.dts"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-664.754 48.4111 131.936"; + rotation = "0 0 1 130.726"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-659.172 40.0759 131.736"; + rotation = "0 0 1 167.395"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-648.393 37.882 131.136"; + rotation = "0 0 1 132.445"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-573.558 70.5407 150.482"; + rotation = "0 0 -1 13.8424"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-558.834 169.519 166.682"; + rotation = "0 0 -1 44.782"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-586.222 163.484 165.882"; + rotation = "0 0 1 0.482949"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-546.579 254.052 167.682"; + rotation = "0 0 1 220.107"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-538.397 230.876 167.682"; + rotation = "0 0 -1 81.4511"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-426.129 378.203 114.978"; + rotation = "0 0 -1 110.099"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-424.461 358.02 115.178"; + rotation = "0 0 1 189.167"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-411.335 352.024 116.578"; + rotation = "0 0 -1 113.537"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-408.78 371.992 116.778"; + rotation = "0 0 1 209.221"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-415.521 387.56 116.378"; + rotation = "0 0 1 191.459"; + scale = "1 1 1"; + interiorFile = "rst_barrier2.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-508.515 372.082 153.082"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-484.692 342.901 153.082"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-652.833 360.332 162.282"; + rotation = "0 0 1 159.374"; + scale = "1 1 1"; + interiorFile = "rst_barrier1.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(ship) { + + powerCount = "0"; + + new Turret() { + position = "-681.654 163.19 175.512"; + rotation = "0 0 1 7.97691"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + Target = "72"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-682.671 155.708 162.006"; + rotation = "0 0 -1 82.2063"; + scale = "1 1 1"; + interiorFile = "rst_beagleship.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-342.308 62.9509 245.382"; + rotation = "0 0 -1 55.5769"; + scale = "1 1 1"; + nameTag = "Camera1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "334.308 -70.9509 245.382"; + rotation = "0 0 1 124.423"; + scale = "1 1 1"; + nameTag = "Camera2"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-86.1857 -62.8289 62.1954"; + rotation = "0 0 1 37.151"; + scale = "1 1 1"; + nameTag = "Camera8"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-24.9216 25.0544 62.1954"; + rotation = "0 0 1 217.151"; + scale = "1 1 1"; + nameTag = "Camera7"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "507.431 -225.811 123.544"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Camera5"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-515.431 217.811 123.544"; + rotation = "0 0 -1 90.0461"; + scale = "1 1 1"; + nameTag = "Camera6"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "-640.289 333.339 184.598"; + rotation = "0 0 1 143.331"; + scale = "1 1 1"; + nameTag = "Camera4"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + }; + new Camera() { + position = "632.289 -341.339 184.598"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + nameTag = "Camera3"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + }; + }; + new SimGroup(MFcave) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "-53.299 -180.446 87.8715"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_SEcave1_part2.dif"; + showTerrainInside = "0"; + + locked = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-53.299 -180.446 87.8715"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_SEcave1_part1.dif"; + showTerrainInside = "0"; + + locked = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-53.299 -180.446 87.8715"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "rst_SEcave1_part3.dif"; + showTerrainInside = "0"; + + locked = "1"; + }; + }; + new InteriorInstance() { + position = "-80.539 -623.55 105.627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_SEcave2.dif"; + showTerrainInside = "0"; + + locked = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "72.539 615.55 105.627"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "rst_SEcave2.dif"; + showTerrainInside = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1BEPlant31) { + + powerCount = "0"; + + new TSStatic() { + position = "-468 -196 136.437"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-116 -500 150.266"; + rotation = "0 0 1 185"; + scale = "0.8 0.8 0.8"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "396 -532 114.953"; + rotation = "0 0 -1 114"; + scale = "0.9 0.9 0.9"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-860 -180 91.3593"; + rotation = "0 0 1 31"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-844 -164 92.4531"; + rotation = "0 0 1 149"; + scale = "1.2 1.2 1.2"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "612 524 46.1875"; + rotation = "0 0 1 1.9999"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-652 -604 79.0156"; + rotation = "0 0 1 120"; + scale = "1.3 1.3 1.3"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-316 -812 117.719"; + rotation = "0 0 1 116"; + scale = "1.3 1.3 1.3"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "76 12 109.797"; + rotation = "0 0 1 51"; + scale = "0.8 0.8 0.8"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "420 212 134.25"; + rotation = "0 0 1 46"; + scale = "1.3 1.3 1.3"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-572 -540 82.5"; + rotation = "0 0 1 70.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "276 476 79"; + rotation = "0 0 -1 117"; + scale = "0.9 0.9 0.9"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "684 36 96.925"; + rotation = "0 0 1 76"; + scale = "1.4 1.4 1.4"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-308 580 126.766"; + rotation = "0 0 -1 29"; + scale = "1.2 1.2 1.2"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-20.0836 393.96 118.353"; + rotation = "0 0 1 211"; + scale = "1.3 1.3 1.3"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "604 -604 109.469"; + rotation = "0 0 1 13"; + scale = "1.3 1.3 1.3"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "180 188 112.875"; + rotation = "0 0 1 183"; + scale = "0.9 0.9 0.9"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-564 -12 129.656"; + rotation = "0 0 1 1.9999"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "396 452 57.8593"; + rotation = "0 0 1 7.00001"; + scale = "1.2 1.2 1.2"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-345.664 -4.9442 118.384"; + rotation = "0 0 -1 50"; + scale = "1.4 1.4 1.4"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "444 -636 158.656"; + rotation = "0 0 -1 43.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-144.508 90.3218 114.941"; + rotation = "0 0 1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "436 -764 171.938"; + rotation = "0 0 -1 7.00012"; + scale = "0.8 0.8 0.8"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-76 -244 109.328"; + rotation = "0 0 1 82"; + scale = "0.8 0.8 0.8"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "580 580 76.4219"; + rotation = "0 0 1 113"; + scale = "1.4 1.4 1.4"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "268 -340 101.563"; + rotation = "0 0 -1 77.0004"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-340 -804 111.531"; + rotation = "0 0 1 84.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-444 468 94.5625"; + rotation = "0 0 -1 38.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "308 116 122.859"; + rotation = "0 0 -1 106"; + scale = "1 1 1"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-44 276 70.7031"; + rotation = "0 0 1 54"; + scale = "0.9 0.9 0.9"; + shapeName = "borg31.dts"; + }; + new TSStatic() { + position = "-420 -60 141.641"; + rotation = "0 0 1 9.00004"; + scale = "1.1 1.1 1.1"; + shapeName = "borg31.dts"; + }; + }; + new SimGroup(Addition2PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "124 -300 112.831"; + rotation = "0.0818541 -0.0419936 0.995759 158.091"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-236 -724 153.581"; + rotation = "-0.017116 -0.127864 0.991644 163.14"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "236 548 143.347"; + rotation = "-0.0122459 -0.00975576 0.999877 77.0066"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "708 716 119.612"; + rotation = "-0.930195 -0.000535907 -0.367065 18.9205"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-844 116 142.988"; + rotation = "-0.0857553 0.235023 -0.968199 76.7958"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-340 804 144.409"; + rotation = "0.164483 0.068942 0.983968 97.9185"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-692 428 149.347"; + rotation = "0.170966 -0.0270478 -0.984906 73.8354"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-92 756 159.894"; + rotation = "-0.000591938 -0.0615397 0.998104 81.107"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -52 125.8"; + rotation = "-0.0203049 -0.0601584 0.997982 206.947"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-292 -132 114.425"; + rotation = "-0.291504 0.0240812 -0.956266 83.5383"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "476 -572 90.3156"; + rotation = "0.0288662 -0.0316707 0.999081 171.008"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 828 112.816"; + rotation = "-0.00861042 0.026689 0.999607 219.985"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-956 932 110.331"; + rotation = "0.0986958 -0.00279399 0.995114 103.273"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-724 132 143.612"; + rotation = "-0.00614815 0.0161767 0.99985 109.008"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "108 -548 94.925"; + rotation = "0.0189317 -0.0922726 0.995554 176.018"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-1044 -4 9.25308"; + rotation = "-0.0272204 0.091292 0.995452 211.862"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-540 -564 88.0344"; + rotation = "0.0557521 0.019872 0.998247 154.044"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-732 740 113.706"; + rotation = "-0.0285008 -0.0719304 0.997002 209.914"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-788 -220 110.566"; + rotation = "-0.0551258 0.016747 -0.998339 114.087"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "340 468 74.2687"; + rotation = "0.0938534 -0.239655 0.966311 60.6974"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-740 836 115.988"; + rotation = "0.0422679 0.0468362 0.998008 149.059"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "660 188 108.363"; + rotation = "0.068107 -0.197661 0.977902 82.267"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "492 -476 85.8781"; + rotation = "-0.0748124 0.080302 0.993959 27.158"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "788 -212 138.753"; + rotation = "-0.00977943 1.1382e-05 0.999952 143.002"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "612 -436 142.128"; + rotation = "-0.0474982 -0.0168284 -0.99873 63.0649"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-780 156 139.925"; + rotation = "0.0153264 -0.0314975 -0.999386 70.0332"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-476 -812 114.597"; + rotation = "0.238777 -0.235507 0.942084 64.0321"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-516 -492 87.4094"; + rotation = "0.00268812 0.115584 0.993294 207.819"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "236 276 119.487"; + rotation = "-0.176487 0.135702 -0.974904 22.5521"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "236 -932 110.722"; + rotation = "0.044209 0.0288115 0.998607 150.04"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "772 820 119.316"; + rotation = "-0.00194496 0.0354812 0.999368 102.036"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "932 -900 102.925"; + rotation = "0.0552789 0.326394 0.943616 21.1688"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_SimpleFlagArena.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_SimpleFlagArena.mis new file mode 100644 index 00000000..28f8117d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_SimpleFlagArena.mis @@ -0,0 +1,1244 @@ +// DisplayName = DMP-SimpleFlagArena +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//You are something the whole universe is doing in the same way that a wave is something that the whole ocean is doing. +// -- Alan Watts +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[CTF]1000 points to win +//Map by Rooster128 +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "10"; + powerCount = "0"; + musicTrack = "badlands"; + cdTrack = "2"; + CTF_scoreLimit = "10"; + + new MissionArea(MissionArea) { + area = "-272 -272 560 528"; + flightCeiling = "512"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(Sun) { + position = "512 512 512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.417632 0.417632 -0.806949"; + color = "1.000000 0.800000 0.750000 1.000000"; + ambient = "0.700000 0.500000 0.500000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "false"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet2"; + terrainFile = "rst_SimpleFlagArena.ter"; + squareSize = "8"; + emptySquares = "157055 157311 157567 157823 226418 226443 226674 226699 226930 685691 226955 227186 685947 227211 686203 161931 686459 686715 686971 621691 687483 687739 687995 688251 688507 688763 689019 689275 689531 689787 690043 231538 690299 231563 231794 690555 231819 232050 232075 232306 232331 169855 170111 235903 170623"; + + visibleDistance = "2048"; + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "2000"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "70"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + YDimOverSize = "0"; + locked = "true"; + GraphFile = "Misadventure.nav"; + conjoinBowlDev = "20"; + position = "0 0 0 1"; + rotation = "0 0 0 0"; + coverage = "0"; + XDimOverSize = "0"; + scale = "1 1 1"; + }; + new Sky(Sky) { + position = "-1024 -1024 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "0"; + renderBottomTexture = "0"; + SkySolidColor = "0.550000 0.550000 0.750000 1.000000"; + fogDistance = "300"; + fogColor = "0.550000 0.500000 0.750000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "50 50 100"; + fogVolume3 = "0 0 0"; + materialList = "nef_5.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112"; + fogVolumeColor2 = "1.000000 0.000000 0.500000 1.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.23435e+21 -2.91408e-24"; + high_fogVolume2 = "-1 4.59694e-13 -2.90017e-31"; + high_fogVolume3 = "-1 2.08455e-11 2.87767e-21"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(teams) { + + powerCount = "0"; + + new SimGroup(team0) { + + powerCount = "0"; + + new Item() { + position = "-11.1717 0.0287288 -6.03227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "0.938029 -69.4899 -19.9682"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "0.634697 71.237 -20.4076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new Item() { + position = "0.938371 69.7073 -19.9682"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SniperRifle"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "0.634697 -70.963 -20.4076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-48.383 11.2779 -6.13701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new Item() { + position = "-48.2642 11.3999 -4.13701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "48.417 -11.5221 -6.13701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new Item() { + position = "48.3966 -11.5093 -4.13701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DiscAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "61.8004 0.0833435 -6.13701"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new Item() { + position = "61.8018 0.150485 -4.12537"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-61.9996 0.0833477 -6.13701"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + shapeName = "stackable3m.dts"; + + team = "0"; + }; + new Item() { + position = "-61.9037 0.127165 -4.12537"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "ChaingunAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "30.721 0.0430343 5.95716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-30.679 0.0430343 5.95716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncherAmmo"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "10.8283 0.0287288 -6.03227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new TSStatic() { + position = "-29.2441 93.4645 -20.3284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "0"; + }; + new TSStatic() { + position = "-29.5945 93.6512 -17.0341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lmale.dts"; + + team = "0"; + }; + new TSStatic() { + position = "29.4707 -93.5351 -20.2579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_base.dts"; + + team = "0"; + }; + new TSStatic() { + position = "29.4508 -93.5671 -16.8933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "statue_lfemale.dts"; + + team = "0"; + }; + new StaticShape() { + position = "-48.3672 13.2566 -1.99215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new StaticShape() { + position = "48.4496 -13.1566 -2.40859"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-0.10553 0.0202169 -30.1124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockLance"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-0.524512 -212.687 40.1473"; + rotation = "0 0 1 90.5274"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "0.194087 212.217 40.1473"; + rotation = "0 0 -1 89.4731"; + scale = "1 1 1"; + dataBlock = "Plasma"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "31.3938 -0.197248 -31.9781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + new Item() { + position = "-31.1442 0.243838 -31.9781"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "GrenadeLauncher"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + new SimGroup(team1) { + + providesPower = "1"; + powerCount = "1"; + + new Item() { + position = "-0.0971814 -153.217 -20.1398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "33"; + team = "1"; + WayPoint = "9088"; + Trigger = "9089"; + originalPosition = "-0.0971814 -153.217 -20.1398 1 0 0 0"; + }; + new StaticShape() { + position = "0.098151 -77.3682 -20.0659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "34"; + invincible = "1"; + Trigger = "8973"; + team = "1"; + }; + new SpawnSphere() { + position = "4.94527 -94.1197 -10.7651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new StaticShape() { + position = "-59.5018 -92.5682 -20.0659"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "35"; + invincible = "1"; + Trigger = "8976"; + team = "1"; + }; + new Item() { + position = "-47.9151 -110.568 -20.0078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "1"; + }; + }; + new SimGroup(team2) { + + providesPower = "1"; + powerCount = "1"; + + new SpawnSphere() { + position = "4.94527 97.8803 -10.7651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "50"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "0"; + }; + new StaticShape() { + position = "0.0703178 77.3806 -20.1707"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + invincible = "1"; + Trigger = "8981"; + team = "2"; + }; + new Item() { + position = "-0.0187071 153.408 -20.1302"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + className = "FlagObj"; + isHome = "1"; + Target = "37"; + team = "2"; + WayPoint = "9090"; + Trigger = "9091"; + originalPosition = "-0.0187071 153.408 -20.1302 1 0 0 0"; + }; + new StaticShape() { + position = "59.7018 92.5682 -20.0659"; + rotation = "-0 -0 1 90.0002"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + notReady = "1"; + Target = "38"; + invincible = "1"; + Trigger = "8985"; + team = "2"; + }; + new Item() { + position = "47.9742 110.6 -20.0545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + Target = "-1"; + team = "2"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera6) { + position = "52.513 -4.87035 44.6285"; + rotation = "0.185434 0.185583 -0.964973 92.0885"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera5) { + position = "-60.513 -3.12965 44.6285"; + rotation = "0.185721 -0.185573 0.96492 92"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera2) { + position = "32.1308 204.642 60.4865"; + rotation = "0 0 1 191.459"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera1) { + position = "-40.1308 -212.642 60.4865"; + rotation = "0 0 1 11.4591"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera3) { + position = "0.0867523 169.369 -15.6518"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(Camera4) { + position = "-0.0870339 -177.436 -15.6518"; + rotation = "0 0 1 0.482949"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "0 0 -24.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "rst_SimpleFlagArena.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-233.55 233.163 96"; + rotation = "0 0 1 135"; + scale = "1 1 1"; + interiorFile = "rst_arenalight.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "228.865 -238.052 96"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "rst_arenalight.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-233.39 -233.668 96"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + interiorFile = "rst_arenalight.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "240.057 230.335 96"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + interiorFile = "rst_arenalight.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-2.82968 -118.665 5.57031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "124.869 -63.3234 1.24132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "74.5119 72.1718 3.66056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.2354 94.894 5.35312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-4.97032 110.665 5.57031"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-126.669 55.3234 1.64132"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-189.565 -53.5299 32.3928"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "-78.1119 -80.1718 3.66056"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "bspir1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(InteriorInstance) { + position = "46.8354 -95.494 5.15312"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "brock7.dif"; + showTerrainInside = "0"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition3BEPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-308 -260 76.2812"; + rotation = "-0.00593058 -0.0211016 0.99976 159.005"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "292 164 83.3437"; + rotation = "0.00877427 -0.0144285 0.999857 132.006"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-300 -156 82.625"; + rotation = "0.0245963 0.0508764 0.998402 82.0905"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-148 300 81.8281"; + rotation = "0.0329009 -0.107121 -0.993701 39.2282"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "84 196 37.4219"; + rotation = "0.00933415 -0.00795594 0.999925 148.002"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 -4 36.0937"; + rotation = "0.0333966 -0.00128361 0.999441 119.028"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-148 -172 37.4375"; + rotation = "0.037504 0.000318532 0.999296 51.0313"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-28 -364 117.594"; + rotation = "0.138903 0.152171 0.978545 125.024"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "148 388 124.187"; + rotation = "-0.242713 -0.408226 0.880024 14.754"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-188 60 37.5469"; + rotation = "0.00314193 0.00114357 -0.999994 50.0003"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "4 -220 35.7031"; + rotation = "0.00351777 -0.00207753 -0.999992 98.0005"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "276 -308 74.8126"; + rotation = "0.0290004 0.0105176 0.999524 182.999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-76 4 9.60933"; + rotation = "-0.0252169 0.0345791 -0.999084 52.0417"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "404 -116 127.578"; + rotation = "-0.0567079 0.00104411 0.99839 170.016"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 12 38.0937"; + rotation = "-0.14361 -0.917146 -0.371778 23.9043"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-44 236 39.4844"; + rotation = "-0.192064 0.164422 -0.967511 92.8908"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "388 204 111.609"; + rotation = "-0.0771586 -0.129686 -0.988548 30.3314"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "20 172 37.3281"; + rotation = "0.0250002 0.00340038 -0.999682 92.0182"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-212 92 37.2344"; + rotation = "0.0146703 -0.02755 -0.999513 76.0269"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "132 180 37.3594"; + rotation = "-0.0130921 0.00590829 0.999897 209.997"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 92 39.3594"; + rotation = "-0.00199837 0.00225875 0.999995 82.9996"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-388 -276 114.609"; + rotation = "0.0465791 0.0576024 -0.997252 30.0787"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-220 188 38.2656"; + rotation = "-0.713539 0.477225 -0.512952 5.84416"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-212 -332 82.3282"; + rotation = "0.269636 0.205658 0.940745 73.3214"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-60 -276 75.9219"; + rotation = "-0.0175765 0.0460626 0.998784 216.958"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "180 132 39.3438"; + rotation = "0.0416041 0.18298 -0.982236 3.05401"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-12 268 74.4843"; + rotation = "-0.602326 0.167833 -0.780407 36.6691"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-4 324 78.625"; + rotation = "-0.0394287 0.0699109 -0.996774 62.1636"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 -316 78.4531"; + rotation = "0.0802963 0.0321347 -0.996253 69.2007"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "60 -324 78.625"; + rotation = "0.283636 0.0648632 0.956736 25.0518"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-236 -124 42.9218"; + rotation = "0.173418 -0.365023 0.914705 57.1873"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + }; + new SimGroup(Addition4BEPlant25) { + + powerCount = "0"; + + new TSStatic() { + position = "-308 276 74.4218"; + rotation = "0 0 -1 89.0004"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "140 -212 39.6094"; + rotation = "0 0 1 75.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "204 156 40.0469"; + rotation = "0 0 -1 38.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-52 300 77.375"; + rotation = "1 0 0 0"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-268 316 76.0937"; + rotation = "0 0 1 215"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-372 188 120.062"; + rotation = "0 0 1 186"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-268 44 73.9062"; + rotation = "0 0 1 154"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "332 -148 80.1719"; + rotation = "0 0 1 20"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-380 -284 114.797"; + rotation = "0 0 1 23"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "76 -324 78.8125"; + rotation = "0 0 1 76"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "148 -268 79.7969"; + rotation = "0 0 1 47"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "164 -4 35.5781"; + rotation = "0 0 -1 94"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "388 116 113.969"; + rotation = "0 0 -1 22.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "76 92 3.73438"; + rotation = "0 0 1 64.9998"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-188 84 37.2813"; + rotation = "0 0 -1 71.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "276 -156 74.1093"; + rotation = "0 0 -1 84.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-156 -308 75.1563"; + rotation = "0 0 -1 35.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-140 188 39.375"; + rotation = "0 0 -1 106"; + scale = "0.8 0.8 0.8"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "196 372 119.406"; + rotation = "0 0 -1 47"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-388 284 113.203"; + rotation = "0 0 -1 2.9997"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "332 396 110.703"; + rotation = "0 0 1 73.9998"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "324 -268 76.0625"; + rotation = "0 0 1 28"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "172 -36 37.4844"; + rotation = "0 0 1 196"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "236 372 116.484"; + rotation = "0 0 1 147"; + scale = "1 1 1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "180 44 37.3906"; + rotation = "0 0 -1 96.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "28 332 82.3594"; + rotation = "0 0 -1 4.99997"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-388 -388 109.812"; + rotation = "0 0 1 82.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-164 -268 72.3594"; + rotation = "0 0 1 132"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-236 220 41.7813"; + rotation = "0 0 -1 98.0004"; + scale = "1.2 1.2 1.2"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "188 -76 37.5312"; + rotation = "0 0 1 112"; + scale = "1.1 1.1 1.1"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-212 132 36.0937"; + rotation = "0 0 1 82.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "borg25.dts"; + }; + new TSStatic() { + position = "-276 -20 76.0625"; + rotation = "0 0 1 25"; + scale = "1.3 1.3 1.3"; + shapeName = "borg25.dts"; + }; + }; + new SimGroup(Addition7BELgTree16) { + + powerCount = "0"; + + new TSStatic() { + position = "-212 44 34.4375"; + rotation = "0 0 1 91"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-228 228 38.4688"; + rotation = "0 0 -1 47.9999"; + scale = "1.1 1.1 1.1"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "316 236 74.0781"; + rotation = "0 0 1 167"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "100 -316 76.4999"; + rotation = "0 0 1 17"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-44 372 115.016"; + rotation = "0 0 1 193"; + scale = "1.3 1.3 1.3"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-84.5816 -176.751 34.5563"; + rotation = "0 0 1 210"; + scale = "1.5 1.5 1.5"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "268 380 111.188"; + rotation = "0 0 1 169"; + scale = "0.9 0.9 0.9"; + shapeName = "borg16.dts"; + }; + new TSStatic() { + position = "-276 172 71.4218"; + rotation = "0 0 1 158"; + scale = "0.8 0.8 0.8"; + shapeName = "borg16.dts"; + }; + }; + }; + new Item() { + position = "3.42388 71.3434 -20.1293"; + rotation = "0 0 1 33.2316"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new Item() { + position = "-2.41682 -69.9127 -19.8158"; + rotation = "0 0 1 151.261"; + scale = "1 1 1"; + dataBlock = "EnergyPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + }; + new TSStatic() { + position = "227.244 221.235 161.956"; + rotation = "0 0 -1 75.6304"; + scale = "0.25 0.25 0.25"; + shapeName = "rst-TCmug.dts"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_SpinCycle.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_SpinCycle.mis new file mode 100644 index 00000000..d5bff3f9 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_SpinCycle.mis @@ -0,0 +1,1289 @@ +// DisplayName = DMP-SpinCycle +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//I was once approched by a bad omen. +//But I have honor on my side. +//And for all the days of my life it is my weapon. +//-- From the scroll of Alatar, 4590 CE +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//Europack4 v2.00 +//Map by =Sabre= & DeeVee +//8 caps to win +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + musicTrack = "ice"; + CTF_timeLimit = "25"; + CTF_scoreLimit = "8"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-567 -609 1162 1302"; + flightCeiling = "450"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.900000 0.900000 0.750000 1.000000"; + ambient = "0.500000 0.500000 0.770000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "SpinCycle.ter"; + squareSize = "7"; + + position = "-1024 -1024 0"; + visibleDistance = "600"; + hazeDistance = "400"; + locked = "true"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + coverage = "0"; + position = "0 0 0 1"; + conjoinBowlDev = "20"; + rotation = "0 0 0 0"; + XDimOverSize = "0"; + scale = "1 1 1"; + GraphFile = "Drifts.nav"; + YDimOverSize = "0"; + locked = "true"; + }; + new Sky(Skyw) { + position = "-1224 -984 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.0003"; + cloudSpeed3 = "0.0004"; + visibleDistance = "350"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.390000 0.390000 0.390000 0.000000"; + fogDistance = "175"; + fogColor = "0.450000 0.450000 0.600000 1.000000"; + fogVolume1 = "200 0 100"; + fogVolume2 = "700 100 250"; + fogVolume3 = "0 0 0"; + materialList = "badlandday.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.45315e-42 2.20406e-39"; + high_fogVolume2 = "-1 1.66922e-36 3.67342e-40"; + high_fogVolume3 = "-1 2.29592e-39 9.36725e-39"; + + cloudSpeed0 = "6.000000 0.000000"; + locked = "true"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(observer1) { + position = "-37.7792 -202.24 165.628"; + rotation = "0.086853 -0.152653 0.984456 121.492"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "false"; + }; + new Camera(observer2) { + position = "47.4339 430.491 185.495"; + rotation = "-0.0130002 -0.106712 0.994205 193.812"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "false"; + }; + new Camera(observer3) { + position = "-64.8504 179.311 164.518"; + rotation = "0.39642 -0.0825081 0.914354 25.6473"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera(observer4) { + position = "108.804 -354.336 198.292"; + rotation = "0.261202 0.165009 -0.951076 67.1862"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + locked = "false"; + }; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "8.26783 313.075 131.278"; + rotation = "-0.00999725 0.0265599 -0.999597 41.2682"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "false"; + }; + }; + new SimGroup(equipment) { + + team = "1"; + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance(InteriorInstance) { + position = "7.47063 319.875 123.313"; + rotation = "-0 0 -1 41.253"; + scale = "0.7 0.7 0.8"; + interiorFile = "SpinCycle_spbase2.dif"; + showTerrainInside = "0"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "4.43773 309.763 123.307"; + rotation = "0 0 1 228.793"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "6394"; + team = "1"; + notReady = "1"; + Target = "33"; + locked = "false"; + }; + new StaticShape() { + position = "12.1271 316.504 123.303"; + rotation = "0 0 1 48.7014"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + inUse = "Down"; + Trigger = "6396"; + team = "1"; + notReady = "1"; + Target = "34"; + locked = "false"; + }; + new Item() { + position = "22.7731 296.75 123.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "-7.36921 328.536 123.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "-5.12722 330.506 123.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "8.26063 313.13 132.323"; + rotation = "0 0 1 7.44851"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + stand = "6405"; + team = "1"; + WayPoint = "6544"; + Trigger = "6545"; + originalPosition = "8.26063 313.13 132.323 0 0 0.999999 0.130001"; + Target = "35"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + }; + new Turret() { + position = "28.3409 311.617 131.729"; + rotation = "-0 0 -1 86.2529"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "1"; + Target = "36"; + locked = "false"; + }; + new TSStatic() { + position = "28.1271 311.629 132.418"; + rotation = "0 0 1 3.74713"; + scale = "0.551457 0.534917 1"; + shapeName = "xmiscf.dts"; + + team = "1"; + locked = "false"; + }; + new StaticShape() { + position = "24.1565 294.655 125.839"; + rotation = "-0 0 -1 41.253"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Honor"; + lockCount = "0"; + homingCount = "0"; + + team = "1"; + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "8.20223 313.146 131.187"; + rotation = "0 0 -1 18.335"; + scale = "1.5 1.5 2"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + flag = "6400"; + team = "1"; + Target = "-1"; + locked = "false"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "12.571 -244.161 133.656"; + rotation = "-0 0 -1 51.5661"; + scale = "1 1 0.913335"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "130"; + sphereWeight = "100"; + indoorWeight = "30"; + outdoorWeight = "70"; + + locked = "false"; + }; + }; + new SimGroup(equipment) { + + team = "2"; + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance(InteriorInstance) { + position = "14.7173 -250.617 125.691"; + rotation = "0 0 1 128.343"; + scale = "0.7 0.7 0.8"; + interiorFile = "SpinCycle_spbase2.dif"; + showTerrainInside = "0"; + + team = "2"; + locked = "false"; + }; + new StaticShape() { + position = "15.8213 -240.124 125.685"; + rotation = "0 0 1 38.3881"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6412"; + team = "2"; + Target = "37"; + locked = "false"; + }; + new StaticShape() { + position = "9.47528 -248.142 125.681"; + rotation = "0 0 1 218.297"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Trigger = "6414"; + team = "2"; + Target = "38"; + locked = "false"; + }; + new Item() { + position = "-4.56312 -230.636 126.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "30.824 -256.456 126.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "28.975 -258.799 126.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPatch"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new Item() { + position = "12.6692 -244.127 134.703"; + rotation = "0 0 1 175.325"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + stand = "6420"; + team = "2"; + WayPoint = "6546"; + Trigger = "6547"; + originalPosition = "12.6692 -244.127 134.703 0 0 1 3.06"; + Target = "39"; + className = "FlagObj"; + isHome = "1"; + locked = "false"; + }; + new StaticShape() { + position = "12.5666 -244.07 133.509"; + rotation = "-0 0 -1 29.7942"; + scale = "1.5 1.5 2"; + nameTag = "Base"; + dataBlock = "ExteriorFlagStand"; + lockCount = "0"; + homingCount = "0"; + + flag = "6418"; + team = "2"; + Target = "-1"; + locked = "false"; + }; + new StaticShape() { + position = "-6.3645 -228.925 128.371"; + rotation = "0 0 1 128.525"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "Banner_Strength"; + lockCount = "0"; + homingCount = "0"; + + team = "2"; + Target = "-1"; + locked = "false"; + }; + new TSStatic() { + position = "32.57 -241.949 134.796"; + rotation = "0 0 1 173.343"; + scale = "0.551457 0.534917 1"; + shapeName = "xmiscf.dts"; + + team = "2"; + locked = "false"; + }; + new Turret() { + position = "32.7891 -241.927 134.108"; + rotation = "0 0 -1 96.6578"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "ELFBarrelLarge"; + + team = "2"; + Target = "40"; + lastDamagedBy = "6373"; + lastDamagedByTeam = "1"; + damageTimeMS = "79678"; + locked = "false"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "1"; + providesPower = "1"; + + new SimGroup(UplinkTower) { + + powerCount = "1"; + + new StaticShape() { + position = "-28.0007 22.55 146.226"; + rotation = "0 0 1 92.2462"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "41"; + locked = "false"; + }; + new StaticShape() { + position = "-24.8846 22.3923 142.371"; + rotation = "0 0 1 2.29172"; + scale = "1 1 1"; + nameTag = "Uplink Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Projector = "6428"; + Target = "42"; + locked = "false"; + name = "Uplink Tower"; + }; + new StaticShape() { + position = "-27.4944 22.5456 146.183"; + rotation = "0 0 1 2.86462"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "LogoProjector"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + Target = "-1"; + holo = "0"; + locked = "false"; + }; + new InteriorInstance(InteriorInstance) { + position = "-25.6185 19.6493 146.582"; + rotation = "0 0 1 182.018"; + scale = "0.495055 0.7 0.7"; + interiorFile = "idmiddle.dif"; + showTerrainInside = "0"; + + team = "0"; + locked = "false"; + }; + }; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + + new AudioEmitter() { + position = "-97.1105 23.6988 148.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/caynonwind144k.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.1"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "1280"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "false"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "244 260 187.116"; + rotation = "0 0 1 237"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-620 420 163.161"; + rotation = "0 0 -1 32"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-244 12 173.665"; + rotation = "0 0 1 91"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-532 -60 96.75"; + rotation = "0 0 1 115"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "348 -68 163.04"; + rotation = "0 0 1 82.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "284 -340 174.304"; + rotation = "0 0 1 143"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "580 492 97.6206"; + rotation = "0 0 1 1.00014"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-484 -364 161.969"; + rotation = "0 0 1 1.00014"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "252 -580 181.085"; + rotation = "0 0 1 209"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-604 76 127.857"; + rotation = "0 0 -1 77.0004"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-284 292 201.196"; + rotation = "0 0 1 38"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "244 -580 184.839"; + rotation = "0 0 1 76"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-380 -460 154.188"; + rotation = "0 0 1 173"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "268 -284 189.058"; + rotation = "0 0 1 108"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-388 140 179.013"; + rotation = "0 0 1 167"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-532 604 112.232"; + rotation = "0 0 1 97.9998"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-108 -388 135.036"; + rotation = "0 0 -1 53"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-12 -332 119.924"; + rotation = "0 0 1 182"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "396 -36 153.705"; + rotation = "0 0 1 163"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-300 44 148.054"; + rotation = "0 0 -1 87.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-372 -76 230.196"; + rotation = "0 0 1 9.99997"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-588 -36 117.612"; + rotation = "0 0 1 79.9998"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-68 -228 122.031"; + rotation = "0 0 1 179"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "20 -572 114.826"; + rotation = "0 0 1 57.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "500 44 122.504"; + rotation = "0 0 1 123"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-404 68 164.321"; + rotation = "0 0 1 6.00005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-124 116 103.196"; + rotation = "0 0 1 70"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "516 428 160.679"; + rotation = "0 0 -1 93.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-52 -420 121.621"; + rotation = "0 0 -1 67.0005"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-12 604 112.888"; + rotation = "0 0 1 32"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "44 156 162.446"; + rotation = "0 0 1 131"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "212 -228 217.732"; + rotation = "0 0 1 39"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "332 156 128.732"; + rotation = "0 0 1 163"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "540 -60 105.915"; + rotation = "0 0 1 108"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-92 -412 130.036"; + rotation = "0 0 -1 4.00015"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + }; + new SimGroup(Addition3SWShrub23) { + + powerCount = "0"; + + new TSStatic() { + position = "332 -556 168.549"; + rotation = "0 0 1 55"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-172 100 97.4465"; + rotation = "0 0 -1 29"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "100 -484 155.442"; + rotation = "0 0 1 225"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-428 -476 155.781"; + rotation = "0 0 1 121"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "428 164 129.429"; + rotation = "0 0 1 155"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "172 -548 247.098"; + rotation = "0 0 -1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "412 236 129.835"; + rotation = "0 0 1 187"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-452 -148 138.817"; + rotation = "0 0 1 186"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "244 -236 209.674"; + rotation = "0 0 1 82"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "564 260 92.1026"; + rotation = "0 0 1 176"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-620 260 135.795"; + rotation = "0 0 -1 120"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-492 -428 172.415"; + rotation = "0 0 -1 74.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "228 -340 149.178"; + rotation = "0 0 1 156"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-4 604 114.442"; + rotation = "0 0 1 73.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "132 -284 149.103"; + rotation = "0 0 1 109"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-44 516 128.946"; + rotation = "0 0 1 61.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-484 76 147.46"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "172 84 198.933"; + rotation = "0 0 1 16"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-4 508 131.174"; + rotation = "0 0 1 55"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-28 468 143.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-116 188 136.201"; + rotation = "0 0 1 2.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-436 284 132.732"; + rotation = "0 0 1 180"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "412 -556 134.647"; + rotation = "0 0 -1 37.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-612 340 119.603"; + rotation = "0 0 -1 8.99978"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-100 140 129.692"; + rotation = "0 0 -1 67.0005"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-44 452 150.696"; + rotation = "0 0 1 184"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "252 524 181.594"; + rotation = "0 0 1 112"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-580 516 113.688"; + rotation = "0 0 1 99.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-124 612 134.732"; + rotation = "0 0 1 158"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "140 212 176.402"; + rotation = "0 0 -1 8.99978"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "332 -180 62.9018"; + rotation = "0 0 -1 47"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-364 -452 148.741"; + rotation = "0 0 1 130"; + scale = "1 1 1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-468 -252 108.232"; + rotation = "0 0 1 73.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-180 -556 136.089"; + rotation = "0 0 1 157"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg23.dts"; + }; + new TSStatic() { + position = "-220 300 106.549"; + rotation = "0 0 -1 34.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg23.dts"; + }; + }; + new SimGroup(Addition2SWShrub24) { + + powerCount = "0"; + + new TSStatic() { + position = "44 -404 152.978"; + rotation = "0 0 1 152"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-236 -564 171.509"; + rotation = "0 0 -1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "20 -140 130.75"; + rotation = "0 0 1 79"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-596 132 144.067"; + rotation = "0 0 1 174"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-12 548 113.54"; + rotation = "0 0 1 195"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "364 500 162.933"; + rotation = "0 0 1 176"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-516 548 126.04"; + rotation = "0 0 1 227"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "76 516 150.625"; + rotation = "0 0 1 52"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-108 -324 131.478"; + rotation = "0 0 1 236"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "364 396 76.6072"; + rotation = "0 0 1 177"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-476 -428 177.531"; + rotation = "0 0 -1 46.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "340 516 170.17"; + rotation = "0 0 1 90.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-604 -500 124.429"; + rotation = "0 0 1 238"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-540 604 112.277"; + rotation = "0 0 1 198"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "556 -540 106.232"; + rotation = "0 0 1 204"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-84 196 148.75"; + rotation = "0 0 1 188"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-28 -460 124.741"; + rotation = "0 0 -1 91"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "212 -396 153.991"; + rotation = "0 0 1 29"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-84 -356 148.705"; + rotation = "0 0 1 94"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "20 -204 102.018"; + rotation = "0 0 1 17"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-460 604 149.875"; + rotation = "0 0 -1 93.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-4 356 102.862"; + rotation = "0 0 1 235"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "380 -220 59.4197"; + rotation = "0 0 1 46"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "52 -396 159.446"; + rotation = "0 0 1 166"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-212 508 172.375"; + rotation = "0 0 -1 8.99978"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-580 108 137.147"; + rotation = "0 0 1 66.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "132 -316 150.067"; + rotation = "0 0 1 11"; + scale = "1.1 1.1 1.1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "460 -300 129.594"; + rotation = "0 0 1 66.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "476 -500 132.42"; + rotation = "0 0 1 194"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-380 444 213.902"; + rotation = "0 0 1 189"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "172 -404 177.116"; + rotation = "0 0 1 184"; + scale = "0.9 0.9 0.9"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "-20 -540 107.281"; + rotation = "0 0 1 99.0002"; + scale = "1 1 1"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "460 -564 138.281"; + rotation = "0 0 1 75.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "308 -460 113.121"; + rotation = "0 0 1 154"; + scale = "0.8 0.8 0.8"; + shapeName = "sorg24.dts"; + }; + new TSStatic() { + position = "532 -356 142.04"; + rotation = "0 0 1 198"; + scale = "1.4 1.4 1.4"; + shapeName = "sorg24.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_StarFall.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_StarFall.mis new file mode 100644 index 00000000..e48f2759 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_StarFall.mis @@ -0,0 +1,1256 @@ +// DisplayName = DMP-StarFall +// MissionTypes = CTF SCtF + +//--- MISSION QUOTE BEGIN --- +//Shoot for the moon and if you miss you will still be among the stars. +// -- Les Brown +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Map by ChocoTaco +//Terrain by Anthem +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + powerCount = "0"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + cdTrack = "2"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-594 -639 1242 1260"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new Sun() { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.330000 0.330000 0.300000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "StarFallCTF2.ter"; + squareSize = "9"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + XDimOverSize = "0"; + locked = "true"; + position = "0 0 0 1"; + YDimOverSize = "0"; + GraphFile = "TWL-Euro_Feign.nav"; + rotation = "0 0 0 0"; + coverage = "0"; + scale = "1 1 1"; + conjoinBowlDev = "20"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.000000 0.000000 0.000000 0.000000"; + fogDistance = "200"; + fogColor = "0.000000 0.030000 0.030000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "Starfallen.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768154483160258000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 -1.65442e-25 -1.03393e+31"; + high_fogVolume2 = "-1 -0.00011166 -4.05398e+26"; + high_fogVolume3 = "-1 -7.70034e-28 -3.23517e+12"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "21.1631 401.982 138.884"; + rotation = "0 0 1 184.493"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "18.5858 355.24 163.301"; + rotation = "0.707389 -0.706824 -0.000562946 179.935"; + scale = "0.25 0.6 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "15.0042 381.139 166.321"; + rotation = "0 0 1 89.9544"; + scale = "0.7 0.7 0.6"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-34.2379 410.383 163.318"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 0.9"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new Item() { + position = "23.4551 348.549 163.291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "23.4551 315.749 163.291 1 0 0 0"; + team = "1"; + WayPoint = "6005"; + Trigger = "6006"; + Target = "33"; + isHome = "1"; + className = "FlagObj"; + }; + new Item() { + position = "23.3689 373.721 140.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + ammoStore = "1"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "23.521 374.147 38.877"; + rotation = "1 0 0 0"; + scale = "1 1 5"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new StaticShape() { + position = "7.90522 410.305 161.492"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + notReady = "1"; + Trigger = "5846"; + team = "1"; + Target = "34"; + inUse = "Down"; + }; + new StaticShape() { + position = "38.6766 410.319 161.533"; + rotation = "0 0 1 87.6625"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + notReady = "1"; + Trigger = "5848"; + team = "1"; + Target = "35"; + inUse = "Down"; + }; + new Turret() { + position = "23.458 410.402 170.098"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "false"; + team = "1"; + Target = "36"; + }; + new StaticShape() { + position = "8.21612 410.349 175.445"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "37"; + }; + new InteriorInstance(InteriorInstance) { + position = "11.1221 407.31 174.966"; + rotation = "0 0 1 1.71778"; + scale = "0.25 0.25 0.25"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new Turret() { + position = "-51.3048 373.807 154.609"; + rotation = "0 0 1 155.272"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + team = "1"; + Target = "38"; + }; + }; + new SimGroup(FFfront) { + + powerCount = "1"; + + new StaticShape() { + position = "23.3769 400.107 171.4"; + rotation = "0 0 1 179.636"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "39"; + }; + new ForceFieldBare(Front) { + position = "17.817 398.084 163.111"; + rotation = "1 0 0 0"; + scale = "11 0.3 6"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "11 0.3 6"; + locked = "false"; + team = "1"; + Target = "40"; + pz = "5856"; + }; + }; + new SimGroup(FFback) { + + powerCount = "1"; + + new StaticShape() { + position = "23.3669 420.575 171.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "41"; + }; + new ForceFieldBare(Bak) { + position = "17.6979 422.381 163.212"; + rotation = "1 0 0 0"; + scale = "11 0.3 6"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "11 0.3 6"; + locked = "false"; + team = "1"; + Target = "42"; + pz = "5861"; + }; + }; + new Item() { + position = "23.394 410.382 161.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new InteriorInstance(InteriorInstance) { + position = "-38.3038 368.494 146.954"; + rotation = "0 0 -1 24.6373"; + scale = "0.8 0.8 0.8"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "30.7836 -419.803 142.633"; + rotation = "0.511502 -0.0479191 0.857945 4.46443"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "80"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + team = "2"; + }; + }; + new SimGroup(Base0) { + + providesPower = "1"; + powerCount = "1"; + + new InteriorInstance(InteriorInstance) { + position = "38.4396 -367.489 168.455"; + rotation = "0.707387 0.706826 -0.000567719 180.064"; + scale = "0.25 0.6 1"; + interiorFile = "dmisc_nefbridge.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "41.9794 -393.393 171.481"; + rotation = "-0 0 -1 89.9543"; + scale = "0.7 0.7 0.6"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "91.1776 -422.715 168.478"; + rotation = "0 0 1 180.091"; + scale = "0.9 0.9 0.9"; + interiorFile = "dbase_neffloat1.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "33.4474 -386.369 44.1155"; + rotation = "1 0 0 0"; + scale = "1 1 5"; + interiorFile = "dbase_neffloat2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "33.6266 -385.962 145.455"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Item() { + position = "33.7655 -361.055 168.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + originalPosition = "33.7376 -315.92 168.463 1 0 0 0"; + team = "2"; + WayPoint = "6007"; + Trigger = "6008"; + Target = "43"; + isHome = "1"; + className = "FlagObj"; + }; + new StaticShape() { + position = "18.4217 -422.782 166.67"; + rotation = "0 0 -1 92.2462"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + combo6056_8 = "1"; + locked = "false"; + wasDisabled = "1"; + repairedBy = "6056"; + hitBy6056 = "1"; + lastDamagedByTeam = "1"; + Trigger = "5876"; + team = "2"; + lastDamagedBy = "6056"; + Target = "44"; + damageTimeMS = "144180"; + }; + new StaticShape() { + position = "49.0292 -422.59 166.67"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + combo6056_8 = "1"; + locked = "false"; + wasDisabled = "0"; + repairedBy = "6056"; + hitBy6056 = "1"; + lastDamagedByTeam = "1"; + Trigger = "5878"; + team = "2"; + lastDamagedBy = "6056"; + Target = "45"; + damageTimeMS = "137274"; + }; + new Turret() { + position = "33.5756 -422.678 175.299"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + combo6056_8 = "1"; + locked = "false"; + wasDisabled = "0"; + repairedBy = "6056"; + hitBy6056 = "1"; + lastDamagedByTeam = "1"; + team = "2"; + lastDamagedBy = "6056"; + Target = "46"; + damageTimeMS = "144180"; + }; + new InteriorInstance(InteriorInstance) { + position = "46.5104 -419.359 180.176"; + rotation = "0 0 1 180.481"; + scale = "0.25 0.25 0.25"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "49.4543 -422.334 180.655"; + rotation = "-0 0 -1 1.32823"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "47"; + }; + new Turret() { + position = "-45.8829 -381.406 152.719"; + rotation = "0 0 1 29.2209"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + lastDamagedByTeam = "1"; + team = "2"; + lastDamagedBy = "16312"; + hitBy16312 = "1"; + Target = "48"; + damageTimeMS = "2572795"; + combo16312_3 = "1"; + }; + }; + new SimGroup(FFfront) { + + powerCount = "1"; + + new StaticShape() { + position = "33.6034 -412.458 176.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + combo6056_8 = "1"; + locked = "false"; + wasDisabled = "0"; + repairedBy = "6056"; + hitBy6056 = "1"; + lastDamagedByTeam = "1"; + team = "2"; + lastDamagedBy = "6056"; + hitBy16312 = "1"; + Target = "49"; + damageTimeMS = "128211"; + combo16312_3 = "1"; + }; + new ForceFieldBare(Front) { + position = "28.0396 -410.627 168.393"; + rotation = "1 0 0 0"; + scale = "11 0.3 6"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "11 0.3 6"; + locked = "false"; + team = "2"; + Target = "50"; + pz = "5886"; + }; + }; + new SimGroup(FFback) { + + powerCount = "1"; + + new StaticShape() { + position = "33.5685 -432.814 176.604"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + combo6056_8 = "1"; + locked = "false"; + combo16312_1 = "1"; + wasDisabled = "0"; + repairedBy = "6056"; + hitBy6056 = "1"; + lastDamagedByTeam = "1"; + team = "2"; + lastDamagedBy = "6056"; + hitBy16312 = "1"; + Target = "51"; + damageTimeMS = "159352"; + }; + new ForceFieldBare(Bak) { + position = "28.0835 -434.922 168.054"; + rotation = "1 0 0 0"; + scale = "11 0.3 6"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + originalscale = "11 0.3 6"; + locked = "false"; + team = "2"; + Target = "52"; + pz = "5890"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "-32.503 -377.391 144.925"; + rotation = "0 0 -1 60.1608"; + scale = "0.8 0.8 0.8"; + interiorFile = "dmisc_nefobj2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "33.6454 -422.739 166.849"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(Ambiance) { + + powerCount = "0"; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera(Camera3a) { + position = "187.02 449.242 188.563"; + rotation = "0.058234 0.0936951 -0.993896 116.59"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(Camera2a) { + position = "193.22 -468.618 189.345"; + rotation = "0.138499 0.0835223 -0.986834 62.8581"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + new Camera(Camera1a) { + position = "-171.965 184.945 176.621"; + rotation = "0.0527256 -0.0525818 0.997224 90.0028"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "0"; + }; + }; + new SimGroup(RandomOrganics) { + + new SimGroup(Addition1BEPlant1) { + + new TSStatic() { + position = "-132 -428 135.138"; + rotation = "-0.189153 -0.0177565 0.981787 164.288"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-668 724 144.291"; + rotation = "0.275447 0.198502 0.940599 101.458"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "428 444 142.406"; + rotation = "0.0965116 -0.707044 0.700553 22.6876"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "636 -308 112.114"; + rotation = "0.785094 -0.395225 -0.476891 34.8005"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-708 412 121.732"; + rotation = "-0.175297 -0.234198 0.956254 222.249"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "36 68 137.426"; + rotation = "0.113546 0.145388 -0.982837 88.9913"; + scale = "0.5 0.5 0.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-732 -100 137.354"; + rotation = "0.592822 0.295569 -0.749134 48.1355"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-668 -732 145.364"; + rotation = "-0.108201 -0.28129 0.953503 117.447"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 -44 133.104"; + rotation = "0.818176 0.268307 -0.508527 30.8985"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-516 660 102.173"; + rotation = "0.0397385 -0.0570106 -0.997582 90.1388"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-564 -276 137.433"; + rotation = "0.320199 0.00314203 0.947345 156.278"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-716 -596 111.253"; + rotation = "-0.00913815 0.134923 0.990814 155.222"; + scale = "1.2 1.2 1.2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-20 -716 86.1764"; + rotation = "0.0194318 0.0447719 0.998808 152.032"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "460 -364 135.711"; + rotation = "-0.302359 -0.327435 0.89519 57.1663"; + scale = "1.4 1.4 1.4"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-140 -604 97.6382"; + rotation = "-0.925253 -0.309612 -0.219199 26.8914"; + scale = "0.9 0.9 0.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "516 -460 129.711"; + rotation = "0.603313 0.136293 -0.785772 25.2952"; + scale = "0.8 0.8 0.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-644 -692 158.638"; + rotation = "-0.069394 -0.180068 -0.981203 81.0724"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "708 -668 122.531"; + rotation = "0.279255 -0.169806 0.945083 238.209"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "340 108 120.01"; + rotation = "-0.0689646 0.23587 0.969334 139.18"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-84 388 148.635"; + rotation = "-0.134106 -0.155494 0.978692 234.983"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 -724 109.642"; + rotation = "0.180073 -0.176646 0.967662 145.092"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-324 -620 112.187"; + rotation = "-0.938594 0.119872 -0.323531 21.4109"; + scale = "1 1 1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-764 -708 130.364"; + rotation = "-0.3413 0.193983 0.91972 49.5491"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "444 364 142.506"; + rotation = "0.0466588 -0.204492 -0.977756 83.2783"; + scale = "1.7 1.7 1.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "372 -340 129.322"; + rotation = "-0.15396 0.0423711 0.987168 203.701"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "36 476 145.381"; + rotation = "-0.38318 0.0254411 -0.923323 54.6403"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-36 76 132.989"; + rotation = "-0.538291 0.435353 -0.721603 42.0455"; + scale = "1.9 1.9 1.9"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "52 44 136.815"; + rotation = "-0.777196 0.151653 0.610711 27.502"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "612 -620 122.482"; + rotation = "0.00143334 0.233949 -0.972248 33.8884"; + scale = "1.1 1.1 1.1"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "772 -100 113.541"; + rotation = "0.110363 0.01454 0.993785 172.05"; + scale = "0.7 0.7 0.7"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-212 452 130.308"; + rotation = "0.502951 0.107208 0.85764 57.0668"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "572 -612 118.003"; + rotation = "0.0106384 -0.252874 -0.967441 83.8816"; + scale = "1.3 1.3 1.3"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-508 532 112.767"; + rotation = "-0.257796 -0.0393563 -0.965397 80.9865"; + scale = "2 2 2"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-28 140 135.225"; + rotation = "0.556357 0.195929 -0.807514 64.5019"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-68 668 101.357"; + rotation = "0.423285 0.341683 0.839096 50.2951"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-412 -324 119.628"; + rotation = "-0.338969 0.158854 -0.927289 61.7402"; + scale = "1.6 1.6 1.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-196 -108 107.506"; + rotation = "-0.767553 0.326892 0.551365 12.6598"; + scale = "1.5 1.5 1.5"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "-348 -340 123.708"; + rotation = "0.0455571 -0.0704092 0.996477 136.141"; + scale = "0.6 0.6 0.6"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "116 -620 94.2077"; + rotation = "0.0443556 -0.126678 0.990952 215.695"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + new TSStatic() { + position = "588 -748 115.791"; + rotation = "-0.737477 -0.0611321 -0.6726 20.6911"; + scale = "1.8 1.8 1.8"; + shapeName = "borg1.dts"; + }; + }; + new SimGroup(Addition2BEPlant5) { + + new TSStatic() { + position = "-788 476 127.549"; + rotation = "-0.224542 -0.0891373 0.970379 203.309"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-428 516 97.6215"; + rotation = "0.00893207 0.150482 -0.988572 98.6518"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-20 -220 115.646"; + rotation = "-0.321357 -0.151902 0.934695 64.4382"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-84 324 121.74"; + rotation = "0.0372927 0.518499 -0.854265 75.5376"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 -396 138.646"; + rotation = "-0.418702 0.468224 0.77811 26.7954"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "796 668 106.99"; + rotation = "0.512348 0.354661 0.782122 49.911"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "516 316 154.67"; + rotation = "0.162265 0.0362578 0.986081 151.387"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-260 -92 121.378"; + rotation = "0.033774 0.1066 0.993728 43.2464"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-124 300 101.931"; + rotation = "-0.0616413 0.224422 0.972541 88.5942"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "316 -36 116.965"; + rotation = "-0.241064 0.336441 0.910327 97.3627"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "500 252 124.913"; + rotation = "-0.573818 0.809571 -0.123804 31.5048"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "748 -788 114.958"; + rotation = "-0.0976013 -0.220104 0.970581 55.3962"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "732 -44 149.587"; + rotation = "0.443389 -0.091801 0.891616 92.5688"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-684 -100 151.396"; + rotation = "0.0589662 0.271046 0.960759 70.1421"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "780 540 97.1666"; + rotation = "0.34554 -0.0661698 0.936068 222.386"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-268 412 130.361"; + rotation = "-0.209219 -0.0542281 0.976364 202.471"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "228 92 113.486"; + rotation = "-0.199338 0.177113 -0.963792 93.1114"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 412 149.448"; + rotation = "0.30628 -0.104866 0.946148 237.292"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-652 332 133.003"; + rotation = "0.185881 0.364431 -0.91249 93.2449"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-276 460 125.132"; + rotation = "-0.111116 0.0237284 0.993524 168.077"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-388 -260 139.365"; + rotation = "-0.076956 0.0818042 0.993673 221.757"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-284 724 107.722"; + rotation = "0.504972 -0.100707 -0.85724 70.0549"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "252 652 114.58"; + rotation = "-0.0760465 0.462838 -0.883175 44.7949"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "460 -292 144.826"; + rotation = "-0.0107601 0.268365 0.963257 142.33"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "716 348 126.128"; + rotation = "0.0593357 -0.100194 0.993197 189.933"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "196 -244 114.056"; + rotation = "-0.0379905 -0.0162797 0.999146 152.023"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-660 -4 126.906"; + rotation = "0.101944 -0.830264 0.547969 25.2596"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "236 380 141.184"; + rotation = "0.148438 0.214612 -0.965354 53.6095"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-588 -796 94.2118"; + rotation = "-0.185705 -0.274354 -0.943527 67.0309"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-772 644 129.642"; + rotation = "-0.607376 -0.0264446 -0.793974 38.5074"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-572 732 117.649"; + rotation = "0.0660511 0.192449 0.979082 132.894"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-724 -532 126.24"; + rotation = "-0.142079 -0.182126 0.972956 103.532"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-292 -796 89.007"; + rotation = "-0.108591 -0.250813 0.961926 36.2961"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "164 404 120.163"; + rotation = "0.057199 0.0746248 0.99557 115.23"; + scale = "1.1 1.1 1.1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-212 772 83.0694"; + rotation = "0.0169526 0.212719 0.976966 115.214"; + scale = "1.4 1.4 1.4"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-500 460 96.2083"; + rotation = "-0.0358843 -0.110841 0.99319 123.327"; + scale = "1 1 1"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-468 388 101.219"; + rotation = "0.362403 -0.471564 0.803922 39.2608"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-740 -772 117.879"; + rotation = "-0.313299 0.472165 -0.823956 55.6424"; + scale = "1.2 1.2 1.2"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "660 -596 127.045"; + rotation = "-0.146915 0.054856 0.987627 237.397"; + scale = "1.5 1.5 1.5"; + shapeName = "borg5.dts"; + }; + new TSStatic() { + position = "-52 -604 111.333"; + rotation = "-0.100058 -0.622641 0.776084 36.8596"; + scale = "1.3 1.3 1.3"; + shapeName = "borg5.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Tyre.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Tyre.mis new file mode 100644 index 00000000..0ec971c9 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Tyre.mis @@ -0,0 +1,1492 @@ +// DisplayName = DMP-Tyre +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//There is nothing noble in being superior to your fellow man. +//True nobility lies in being superior to your former self. +//-- Ernest Hemingway +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//[Cluster]800 points to win +//Map by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_timeLimit = "25"; + powerCount = "0"; + CTF_scoreLimit = "8"; + musicTrack = "lush"; + cdTrack = "2"; + + new MissionArea(MissionArea) { + area = "-760 -1344 1744 1840"; + flightCeiling = "2000"; + flightCeilingRange = "50"; + + locked = "true"; + }; + new FileObject() { + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Tyre.ter"; + squareSize = "8"; + emptySquares = "148015 410412 410668 410924 476716 411436 411692 411948 346668 477928 478184 478440 478696 478952 413672 413928 348649"; + + hazeDistance = "250"; + visibleDistance = "1200"; + locked = "true"; + position = "-1024 -1024 0"; + }; + new Sun() { + position = "1088 1712 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.620000 0.600000 0.600000 1.000000"; + ambient = "0.420000 0.400000 0.400000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + texture0 = "special/sunFlare"; + texture4 = "special/LensFlare/flare03"; + texture2 = "special/LensFlare/flare01"; + locked = "true"; + texture1 = "special/sunFlare02"; + texture3 = "special/LensFlare/flare02"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + rotation = "0 0 0 0"; + GraphFile = "Abominable.nav"; + YDimOverSize = "0"; + scale = "1 1 1"; + locked = "true"; + conjoinBowlDev = "20"; + coverage = "0"; + position = "0 0 0 1"; + XDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0"; + cloudSpeed2 = "0"; + cloudSpeed3 = "0"; + visibleDistance = "400"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.452500 0.332500 0.312500 1.000000"; + fogDistance = "200"; + fogColor = "0.452500 0.402500 0.312500 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "tyre.dml"; + windVelocity = "0 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "64.000000 64.000000 64.000000 0.000000"; + fogVolumeColor2 = "64.000000 64.000000 64.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "64.000000 64.000000 64.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.05665e+20 -3.13715e-37"; + high_fogVolume2 = "-1 -2.97835e-09 2.21725e+28"; + high_fogVolume3 = "-1 -2.59274e+33 55388.8"; + + cloudSpeed0 = "0.000000 0.000000"; + locked = "1"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "830.767 -410.465 182.865"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new InteriorInstance(InteriorInstance) { + position = "707.82 -254.883 148.425"; + rotation = "0 0 -1 10.8863"; + scale = "1.4 1.4 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "551.965 -442.216 80.99"; + rotation = "0 0 1 91.1003"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + originalPosition = "551.965 -442.216 80.99 0 0 1 1.59"; + searchSchedule = "78365"; + className = "FlagObj"; + Target = "33"; + team = "1"; + WayPoint = "5574"; + Trigger = "5575"; + }; + new InteriorInstance() { + position = "551.954 -442.349 79.2503"; + rotation = "0 0 1 45.7681"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-lava.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new InteriorInstance() { + position = "857.624 -400.554 169.97"; + rotation = "0 0 1 90.5277"; + scale = "1 1 1"; + interiorFile = "Xtra_HM_Base_CK.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Item() { + position = "876.582 -400.501 167.346"; + rotation = "0 0 -1 88.9911"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new StaticShape() { + position = "873.507 -400.529 184.754"; + rotation = "0 0 1 90.5275"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + Target = "34"; + station = "5589"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "881.177 -416.795 154.964"; + rotation = "0 0 1 91.3128"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + Target = "35"; + notReady = "1"; + Trigger = "5396"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "869.067 -402.3 169.476"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "36"; + team = "1"; + }; + new StaticShape() { + position = "881.444 -384.808 154.964"; + rotation = "0 0 1 89.021"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "37"; + Trigger = "5399"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "831.899 -400.32 155"; + rotation = "0 0 -1 90.4973"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "38"; + Trigger = "5401"; + team = "1"; + inUse = "Down"; + }; + new StaticShape() { + position = "707.671 -255.023 140.95"; + rotation = "0 0 -1 101.986"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "39"; + team = "1"; + }; + new StaticShape() { + position = "797.657 -493.405 194.446"; + rotation = "-0 0 -1 68.1815"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "40"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "797.859 -493.371 201.921"; + rotation = "0 0 1 22.9182"; + scale = "1.4 1.4 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "846.617 -435.398 185.373"; + rotation = "0.439334 0.434615 -0.78619 103.05"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "41"; + team = "1"; + }; + new Turret() { + position = "853.482 -416.49 166.05"; + rotation = "0 0 1 0.574711"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "42"; + team = "1"; + }; + new Turret() { + position = "853.787 -384.519 166.05"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "43"; + team = "1"; + }; + new InteriorInstance(InteriorInstance) { + position = "568.635 -547.159 96.36"; + rotation = "0 0 1 20.6264"; + scale = "1.4 1.4 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + + team = "1"; + }; + new Turret() { + position = "568.887 -547.286 90.2561"; + rotation = "-0 0 -1 68.7549"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "44"; + team = "1"; + }; + }; + new SimGroup(Team2) { + + powerCount = "1"; + + new SimGroup(spawnspheres) { + + powerCount = "1"; + + new SpawnSphere() { + position = "-619.534 -457.048 184.996"; + rotation = "-0 0 -1 2.29172"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "60"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + }; + }; + new Item() { + position = "-338.25 -410.472 102.904"; + rotation = "0 0 -1 90.1372"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + isHome = "1"; + originalPosition = "-338.25 -410.472 102.904 0 0 -1 1.57319"; + searchSchedule = "17744"; + className = "FlagObj"; + Target = "45"; + team = "2"; + WayPoint = "5576"; + Trigger = "5577"; + }; + new InteriorInstance() { + position = "-645.572 -459.021 170.796"; + rotation = "0 0 -1 87.6622"; + scale = "1 1 1"; + interiorFile = "Xtra_HM_Base_CK.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance() { + position = "-338.183 -410.584 101.121"; + rotation = "0 0 1 45.7681"; + scale = "1 1 1"; + interiorFile = "anthem_pipestand2-lava.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-477.177 -590.612 171.526"; + rotation = "0 0 -1 11.4592"; + scale = "1.4 1.4 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new StaticShape() { + position = "-661.462 -458.55 185.58"; + rotation = "-0 0 -1 87.6624"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "StationVehiclePad"; + lockCount = "0"; + homingCount = "0"; + + ready = "1"; + Target = "46"; + station = "5592"; + team = "2"; + inUse = "Down"; + }; + new StaticShape() { + position = "-656.968 -456.92 170.302"; + rotation = "0 0 1 2.29206"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + Target = "47"; + team = "2"; + }; + new StaticShape() { + position = "-668.615 -442.05 155.79"; + rotation = "0 0 -1 86.8771"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "48"; + Trigger = "5421"; + team = "2"; + inUse = "Down"; + }; + new StaticShape() { + position = "-669.892 -474.013 155.79"; + rotation = "0 0 -1 89.1689"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "49"; + Trigger = "5423"; + team = "2"; + inUse = "Down"; + }; + new StaticShape() { + position = "-619.881 -460.073 155.826"; + rotation = "0 0 1 91.3128"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + notReady = "1"; + Target = "50"; + Trigger = "5425"; + team = "2"; + inUse = "Down"; + }; + new Item() { + position = "-664.536 -458.481 168.172"; + rotation = "0 0 1 92.8191"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "2"; + }; + new StaticShape() { + position = "-477.065 -590.545 163.981"; + rotation = "0 0 1 77.9223"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "51"; + team = "2"; + }; + new StaticShape() { + position = "-625.269 -368.564 196.704"; + rotation = "0 0 1 115.738"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "52"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-625.473 -368.584 204.179"; + rotation = "0 0 1 206.838"; + scale = "1.4 1.4 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + new Turret() { + position = "-642.231 -475.181 166.83"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "53"; + team = "2"; + }; + new Turret() { + position = "-640.936 -443.211 166.83"; + rotation = "0 0 1 182.775"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + Target = "54"; + team = "2"; + }; + new Turret() { + position = "-633.973 -424.46 187.029"; + rotation = "0.404846 -0.440161 0.801472 107.223"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "55"; + team = "2"; + }; + new Turret() { + position = "-334.598 -295.637 118.057"; + rotation = "0 0 1 117.456"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + Target = "56"; + team = "2"; + }; + new InteriorInstance(InteriorInstance) { + position = "-334.361 -295.79 124.161"; + rotation = "0 0 1 206.838"; + scale = "1.4 1.4 1"; + interiorFile = "Xtra_HM_TurretPillar.dif"; + showTerrainInside = "0"; + + team = "2"; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + + new InteriorInstance(InteriorInstance) { + position = "276.427 -7.40453 49.098"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + interiorFile = "Xtra_attrition_tower.dif"; + showTerrainInside = "0"; + + team = "0"; + }; + new Item() { + position = "276.572 -7.45653 61.321"; + rotation = "0 0 -1 95.111"; + scale = "1 1 1"; + dataBlock = "RepairKit"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "0"; + }; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "-247.448 -346.011 172.473"; + rotation = "0.0263868 0.0354024 -0.999025 106.656"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "486.355 -516.701 132.577"; + rotation = "0.10263 -0.0706086 0.99221 69.4743"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + new Camera() { + position = "36.6694 -351.97 199.621"; + rotation = "0.12098 -0.273999 0.95409 134.312"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + + team = "0"; + }; + }; + new SimGroup(Middle) { + + powerCount = "1"; + providesPower = "1"; + + new InteriorInstance(InteriorInstance) { + position = "111.254 -368.338 117.971"; + rotation = "0 0 1 86.5166"; + scale = "0.8 0.8 1.1"; + interiorFile = "dtowr_classic1.dif"; + showTerrainInside = "1"; + + team = "2"; + }; + new StaticShape() { + position = "121.244 -375.653 141.896"; + rotation = "0 0 -1 92.2457"; + scale = "1 1 1"; + nameTag = "Medium"; + dataBlock = "SensorMediumPulse"; + lockCount = "0"; + homingCount = "0"; + + Target = "57"; + team = "1"; + }; + new StaticShape() { + position = "121.335 -375.789 125.571"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "FlipFlop"; + lockCount = "0"; + homingCount = "0"; + + Projector = "0"; + Target = "58"; + name = "Tower"; + }; + new Item() { + position = "121.394 -372.925 113.825"; + rotation = "0 0 -1 4.19334"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + Target = "-1"; + team = "1"; + }; + new TSStatic() { + position = "133.384 -366.799 113.073"; + rotation = "0 0 1 67.0361"; + scale = "1 1 1"; + shapeName = "borg19-Autumn.dts"; + }; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition1PhoenixPlant5) { + + powerCount = "0"; + + new TSStatic() { + position = "-156 68 145.644"; + rotation = "-0.100647 0.230812 -0.967779 101.842"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-428 364 294.019"; + rotation = "0.00665617 -0.109631 -0.99395 45.2462"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "28 -324 106.8"; + rotation = "-0.04968 0.18639 0.981219 37.6587"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "356 -28 99.5344"; + rotation = "0.0883604 -0.10914 0.990091 141.357"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "60 -820 105.816"; + rotation = "-0.0402131 -0.975098 0.218096 4.58281"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-20 -588 116.847"; + rotation = "-0.0253113 -0.102921 0.994367 179.006"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "308 -852 86.6126"; + rotation = "0.0863966 0.143787 0.98583 207.618"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-116 -492 124.456"; + rotation = "-0.0916874 -0.106273 0.990101 149.292"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-84 -20 106.253"; + rotation = "0.116451 -0.171118 0.978344 207.416"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-420 -404 97.175"; + rotation = "0.102116 -0.134415 0.985649 125.675"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-244 -220 82.9562"; + rotation = "-0.0965731 0.0235629 0.995047 156.116"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "476 -356 96.1437"; + rotation = "-0.473874 -0.147126 0.868215 49.9101"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "20 -188 104.706"; + rotation = "0.291719 0.436594 -0.85105 41.7922"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "260 -180 82.4094"; + rotation = "0.062595 -0.30902 0.948993 63.6562"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-332 -548 123.456"; + rotation = "-0.0416808 0.120882 -0.991791 113.434"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "372 -204 76.3312"; + rotation = "-0.145819 0.351664 0.9247 44.0301"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "332 -148 78.675"; + rotation = "-0.0830181 -0.106621 0.990828 170.091"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-380 -796 140.831"; + rotation = "0.0521764 0.099913 0.993627 140.235"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "492 -740 67.7844"; + rotation = "0.238559 -0.0123111 -0.97105 68.5584"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-36 44 120.316"; + rotation = "0.00982521 -0.15376 0.988059 218.569"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "228 -780 99.0813"; + rotation = "0.0777759 -0.0795231 0.993794 122.302"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "156 340 202.081"; + rotation = "-0.00862588 -0.201381 0.979475 175.103"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-164 -252 109.784"; + rotation = "-0.00606204 0.161196 0.986904 66.6923"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "204 -548 75.8"; + rotation = "0.148376 -0.0988896 0.983974 105.892"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "188 -36 127.362"; + rotation = "0.0581181 0.731293 -0.679583 27.6672"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-532 -836 159.519"; + rotation = "0.872006 -0.366642 0.324314 24.335"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-372 -68 167.519"; + rotation = "0.16335 -0.000880411 0.986568 128.608"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-12 -620 115.644"; + rotation = "-0.0868853 -0.212763 -0.973233 37.9459"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-572 252 292.534"; + rotation = "-0.135821 -0.0969835 -0.985975 44.565"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-308 -580 116.144"; + rotation = "-0.106953 0.183695 -0.977147 95.3199"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-84 -852 92.3781"; + rotation = "0.0287168 0.303472 -0.952407 79.7361"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "612 356 287.175"; + rotation = "-0.0599537 0.147157 -0.987294 83.7281"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "92 -644 98.4406"; + rotation = "0.200195 0.0593095 0.977959 172.176"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-268 -12 138.769"; + rotation = "-0.168592 0.0567174 -0.984053 90.921"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "68 -708 113.363"; + rotation = "0.197742 -0.0712329 0.977663 110.219"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "532 420 291.706"; + rotation = "-0.00752033 -0.00665977 0.99995 225.997"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "444 412 289.472"; + rotation = "-0.00328733 -0.0299882 0.999545 201.991"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "228 20 124.378"; + rotation = "-0.0105908 -0.185261 -0.982632 48.7502"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "556 -284 95.9718"; + rotation = "0.220527 0.173517 0.959823 89.3482"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "596 -108 108.003"; + rotation = "-0.177092 -0.326903 0.928317 64.7923"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "148 92 121.8"; + rotation = "0.0214178 -0.0305697 0.999303 132.03"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "148 -548 91.3937"; + rotation = "0.0359723 -0.0015284 -0.999352 58.0321"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "68 -740 111.066"; + rotation = "0.0274392 -0.671299 0.740679 22.8155"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "20 -260 110.784"; + rotation = "-0.0851573 0.710013 0.69902 29.6995"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-116 -828 88.0344"; + rotation = "-0.453327 0.486353 0.746964 30.4724"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "76 -196 114.316"; + rotation = "-0.0897034 0.103159 -0.990612 64.487"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "404 -268 81.0812"; + rotation = "-0.0242958 0.0242815 0.99941 219.978"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-500 268 289.534"; + rotation = "-0.0331978 -0.0307016 0.998977 61.0515"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "836 -1124 290.191"; + rotation = "0.0483036 0.00150863 -0.998832 91.0665"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "804 332 294.425"; + rotation = "-0.0305305 0.0123444 -0.999458 103.03"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-188 -884 82.5031"; + rotation = "0.48555 -0.517561 0.704536 15.5648"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "44 -444 104.253"; + rotation = "-0.150312 -0.151151 -0.977016 104.294"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "484 396 288.644"; + rotation = "-0.719828 0.262312 -0.642682 15.5043"; + scale = "0.6 0.6 0.6"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-484 -116 178.706"; + rotation = "0.24453 0.0173977 0.969486 44.2247"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-260 -300 106.753"; + rotation = "0.168014 0.120253 0.978422 137.846"; + scale = "0.7 0.7 0.7"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "188 -732 89.675"; + rotation = "0.31881 -0.0751506 0.944835 41.0914"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "-428 -428 95.8781"; + rotation = "-0.585001 -0.811032 2.37023e-05 10.7636"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "476 -420 70.1125"; + rotation = "-0.045545 0.125085 -0.9911 99.5056"; + scale = "0.8 0.8 0.8"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "220 -228 96.2688"; + rotation = "-0.228894 -0.333014 -0.914718 33.7327"; + scale = "1 1 1"; + shapeName = "porg5.dts"; + }; + new TSStatic() { + position = "396 28 109.534"; + rotation = "0.0216788 -0.194065 0.980749 229.152"; + scale = "0.9 0.9 0.9"; + shapeName = "porg5.dts"; + }; + }; + new SimGroup(Addition2PhoenixPlant1) { + + powerCount = "0"; + + new TSStatic() { + position = "300 -4 122.578"; + rotation = "0 0 -1 115"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "276 -564 59.4062"; + rotation = "0 0 1 127"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "212 92 127.703"; + rotation = "0 0 1 232"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "436 100 137.391"; + rotation = "0 0 1 103"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "844 20 217.812"; + rotation = "0 0 -1 106"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "276 -484 74.6249"; + rotation = "0 0 -1 98.0004"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "580 28 126.766"; + rotation = "0 0 -1 68.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "564 -476 69.2187"; + rotation = "0 0 1 85"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "524 -948 125.609"; + rotation = "0 0 1 209"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "524 -1004 159.703"; + rotation = "0 0 1 117"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "708 -900 162.75"; + rotation = "0 0 1 103"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "428 -596 39.375"; + rotation = "0 0 1 176"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-68 -1012 116.594"; + rotation = "0 0 1 91.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "364 116 139.187"; + rotation = "0 0 1 102"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-468 -1164 291.125"; + rotation = "0 0 1 199"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "460 -684 50.0937"; + rotation = "0 0 1 72.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "732 -404 114.422"; + rotation = "0 0 -1 17.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "284 -268 83.5312"; + rotation = "0 0 1 118"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "636 172 194.359"; + rotation = "0 0 1 97"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "500 -20 122.672"; + rotation = "0 0 -1 94"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-116 124 158.078"; + rotation = "0 0 1 218"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-652 260 295.094"; + rotation = "0 0 1 26"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "116 -940 105.453"; + rotation = "0 0 1 108"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "380 -612 47.5781"; + rotation = "0 0 1 178"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "660 -316 103.234"; + rotation = "0 0 -1 112"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-540 284 291.938"; + rotation = "0 0 1 164"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "4 -12 120.344"; + rotation = "0 0 1 43"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "244 -892 97.8594"; + rotation = "0 0 1 7.99996"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "836 332 294.812"; + rotation = "0 0 -1 99.0002"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "60 332 199.594"; + rotation = "0 0 1 128"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-436 -868 163.359"; + rotation = "0 0 -1 16.9999"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-300 -916 127.594"; + rotation = "0 0 -1 37.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-292 132 163.328"; + rotation = "0 0 1 226"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "156 -772 98.1094"; + rotation = "0 0 -1 118"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "148 -428 101.5"; + rotation = "0 0 -1 65.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "908 -660 265.703"; + rotation = "0 0 -1 84.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "652 84 157.766"; + rotation = "0 0 -1 94"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "284 4 123.391"; + rotation = "0 0 1 184"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "380 -884 90.1094"; + rotation = "0 0 1 47"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "364 -364 90.9219"; + rotation = "0 0 1 208"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "716 -788 139.344"; + rotation = "0 0 1 234"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "396 -468 69.5156"; + rotation = "0 0 1 128"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-332 -444 95.9218"; + rotation = "0 0 -1 62.0003"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "612 -740 85.3438"; + rotation = "0 0 -1 107"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "188 -964 106.734"; + rotation = "0 0 1 64.9998"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-660 -988 290.875"; + rotation = "0 0 -1 29"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-228 -820 88.5312"; + rotation = "0 0 1 31"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "596 -36 125.875"; + rotation = "0 0 -1 4.99997"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "380 -84 103.516"; + rotation = "0 0 -1 68.0003"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-660 -500 183.578"; + rotation = "0 0 1 211"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "420 -316 90.3125"; + rotation = "0 0 -1 78.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "148 -764 97.5469"; + rotation = "0 0 -1 2.9997"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "124 -500 94.4532"; + rotation = "0 0 1 171"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-332 -68 149.062"; + rotation = "0 0 -1 62.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "308 220 187.422"; + rotation = "0 0 -1 44"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-260 -252 90.4531"; + rotation = "0 0 -1 13.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "68 -124 119.609"; + rotation = "0 0 1 52"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-148 132 157.141"; + rotation = "0 0 1 117"; + scale = "1 1 1"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "-108 148 171.547"; + rotation = "0 0 1 32"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1.dts"; + }; + new TSStatic() { + position = "28 -708 119.125"; + rotation = "0 0 1 84.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1.dts"; + }; + }; + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; + new FileObject() { + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Wasteland.mis b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Wasteland.mis new file mode 100644 index 00000000..02c6ccb5 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/missions/DMP_Wasteland.mis @@ -0,0 +1,1533 @@ +// Displayname = DMP-Wasteland +// MissionTypes = CTF + +//--- MISSION QUOTE BEGIN --- +//Great haste makes great waste. +// -- Benjamin Franklin +//--- MISSION QUOTE END --- + +//--- MISSION STRING BEGIN --- +//800 points to win +//Low friction water +//No vehicle stations; Towers self-powered +//Map by Rilke (Assisted: Infamous Butcher, z0dd) +//Edited by ChocoTaco +//--- MISSION STRING END --- + +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + CTF_scoreLimit = "8"; + powerCount = "0"; + cdTrack = "2"; + musicTrack = "lush"; + CTF_timeLimit = "25"; + + new MissionArea(MissionArea) { + area = "-808 -824 1600 1648"; + flightCeiling = "450"; + flightCeilingRange = "20"; + + locked = "true"; + }; + new Sun(all) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0.57735 0.57735 -0.57735"; + color = "0.250000 0.250000 0.320000 1.000000"; + ambient = "0.200000 0.200000 0.280000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new Sun(nonterrain) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + direction = "0 0 -1"; + color = "0.000000 0.000000 0.000000 1.000000"; + ambient = "0.100000 0.100000 0.100000 1.000000"; + texture[0] = "special/sunFlare"; + texture[1] = "special/sunFlare02"; + texture[2] = "special/LensFlare/flare01"; + texture[3] = "special/LensFlare/flare02"; + texture[4] = "special/LensFlare/flare03"; + lensFlareScale = "0.7"; + lensFlareIntensity = "1"; + frontFlareSize = "300"; + backFlareSize = "450"; + flareColor = "1.000000 1.000000 1.000000 1.000000"; + + locked = "true"; + }; + new TerrainBlock(Terrain) { + rotation = "1 0 0 0"; + scale = "1 1 1"; + detailTexture = "details/lushdet1"; + terrainFile = "Wasteland.ter"; + squareSize = "8"; + + locked = "true"; + position = "-1024 -1024 0"; + hazeDistance = "250"; + visibleDistance = "1200"; + }; + new NavigationGraph(NavGraph) { + conjoinAngleDev = "45"; + cullDensity = "0.3"; + customArea = "0 0 0 0"; + + locked = "true"; + position = "0 0 0 1"; + coverage = "0"; + GraphFile = "Wasteland.nav"; + rotation = "0 0 0 0"; + conjoinBowlDev = "20"; + XDimOverSize = "0"; + scale = "1 1 1"; + YDimOverSize = "0"; + }; + new Sky(Sky) { + position = "-1216 -848 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.25"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.001"; + cloudSpeed2 = "0.002"; + cloudSpeed3 = "0.003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "0"; + SkySolidColor = "0.400000 0.350000 0.350000 1.000000"; + fogDistance = "425"; + fogColor = "0.400000 0.350000 0.350000 1.000000"; + fogVolume1 = "250 0 85"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "inf_butch_night13.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -198748244414614883000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -222768174765569861000000000000000000000.000000"; + high_visibleDistance = "-1"; + high_fogDistance = "-1"; + high_fogVolume1 = "-1 1.93705e+31 2.37594e-15"; + high_fogVolume2 = "-1 -16964.7 -4.91925e-08"; + high_fogVolume3 = "-1 3.35544e+07 0.000931699"; + + locked = "true"; + cloudSpeed0 = "0.000000 0.000000"; + }; + new SimGroup(Teams) { + + powerCount = "0"; + + new SimGroup(Team1) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "517.391 29.4673 151.65"; + rotation = "0 0 1 11.4591"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "-240.902 -686.643 163.347"; + rotation = "0 0 -1 12.0321"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "644.024 105.1 193.062"; + rotation = "0 0 -1 103.888"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform3_x2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new Item() { + position = "523.971 25.5803 163.744"; + rotation = "0 0 1 191.893"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "1"; + WayPoint = "5840"; + Trigger = "5841"; + originalPosition = "523.971 25.5803 163.744 0 0 1 3.34916"; + isHome = "1"; + Target = "33"; + className = "FlagObj"; + }; + new Item() { + position = "512.275 28.0719 152.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "472.903 25.7145 163.749"; + rotation = "0 0 1 193.842"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5667"; + team = "1"; + Target = "34"; + }; + new StaticShape() { + position = "481.257 34.6514 145.774"; + rotation = "-0 0 -1 78.4947"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "35"; + }; + new Turret() { + position = "459.835 39.2471 161.812"; + rotation = "0 0 1 193.269"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "false"; + team = "1"; + Target = "36"; + }; + new InteriorInstance() { + position = "510.331 28.2386 149.756"; + rotation = "-0 0 -1 77.9227"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridgebase1_x2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new Turret() { + position = "484.237 34.0711 173.736"; + rotation = "0 0 1 101.596"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "false"; + team = "1"; + Target = "37"; + }; + new StaticShape() { + position = "477.298 46.3729 163.724"; + rotation = "0 0 1 10.8867"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5673"; + team = "1"; + Target = "38"; + }; + new StaticShape() { + position = "625.113 111.001 194.795"; + rotation = "0 0 -1 104.461"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "39"; + }; + new StaticShape() { + position = "455.906 28.0143 152.75"; + rotation = "0 0 1 237.33"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5676"; + team = "1"; + Target = "40"; + }; + new StaticShape() { + position = "460.845 51.2058 152.742"; + rotation = "-0 0 -1 32.3142"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + inUse = "Down"; + Trigger = "5678"; + team = "1"; + notReady = "1"; + Target = "41"; + }; + }; + new SimGroup(baseff) { + + powerCount = "2"; + + new StaticShape() { + position = "469.37 47.4806 173.289"; + rotation = "-0.682213 0.0729958 0.727501 16.7333"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "42"; + }; + new StaticShape() { + position = "465.141 27.8496 173.279"; + rotation = "0.00908787 0.0871888 0.99615 191.664"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "43"; + }; + new ForceFieldBare() { + position = "484.933 42.0338 163.685"; + rotation = "0 0 1 192.123"; + scale = "0.5 15 9"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + pz = "5683"; + originalscale = "0.5 15 9"; + team = "1"; + Target = "44"; + }; + new ForceFieldBare() { + position = "487.716 48.0587 151.984"; + rotation = "0 0 1 192.123"; + scale = "0.5 29 11"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + pz = "5686"; + originalscale = "0.5 29 11"; + team = "1"; + Target = "45"; + }; + }; + new SimGroup(Tower) { + + providesPower = "1"; + powerCount = "1"; + + new WayPoint() { + position = "-240.814 -683.425 141.94"; + rotation = "0 0 -1 96.2569"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "1"; + + locked = "false"; + }; + new Turret() { + position = "-254.368 -686.409 166.123"; + rotation = "-0 0 -1 89.3814"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + team = "1"; + Target = "46"; + }; + new InteriorInstance() { + position = "-231.671 -701.138 159.634"; + rotation = "0 0 1 0.573347"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bunker2_x2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "1"; + }; + new Turret() { + position = "-227.776 -686.706 166.119"; + rotation = "0 0 1 90.5271"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + team = "1"; + Target = "47"; + }; + new StaticShape() { + position = "-241.208 -701.537 181.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "1"; + Target = "48"; + }; + new Item() { + position = "-241.041 -686.547 164.898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "1"; + Target = "-1"; + }; + new StaticShape() { + position = "-241.089 -686.758 150.629"; + rotation = "-0 0 -1 1.71915"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + inUse = "Down"; + Trigger = "5695"; + team = "1"; + notReady = "1"; + Target = "49"; + }; + new StaticShape() { + position = "-241.009 -686.789 143.626"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + inUse = "Down"; + Trigger = "5697"; + team = "1"; + notReady = "1"; + Target = "50"; + }; + }; + }; + new SimGroup(Team2) { + + powerCount = "0"; + + new SimGroup(spawnspheres) { + + powerCount = "0"; + + new SpawnSphere() { + position = "-518.964 -26.1309 155.293"; + rotation = "0 0 1 9.74035"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "90"; + sphereWeight = "100"; + indoorWeight = "100"; + outdoorWeight = "100"; + + locked = "false"; + }; + new SpawnSphere() { + position = "207.266 697.986 159.935"; + rotation = "-0 0 -1 8.59438"; + scale = "1 1 1"; + dataBlock = "SpawnSphereMarker"; + lockCount = "0"; + homingCount = "0"; + radius = "65"; + sphereWeight = "100"; + indoorWeight = "60"; + outdoorWeight = "40"; + + locked = "false"; + }; + }; + new SimGroup(Base0) { + + powerCount = "1"; + + new InteriorInstance() { + position = "-533.523 -22.464 153.45"; + rotation = "0 0 1 102.559"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bridgebase1_x2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Item() { + position = "-547.175 -19.6656 167.455"; + rotation = "0 0 1 12.2041"; + scale = "1 1 1"; + nameTag = "Flag"; + dataBlock = "flag"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "0"; + + locked = "false"; + team = "2"; + WayPoint = "5842"; + Trigger = "5843"; + originalPosition = "-547.175 -19.6656 167.455 0 0 1 0.213001"; + isHome = "1"; + Target = "51"; + className = "FlagObj"; + }; + new StaticShape() { + position = "-504.534 -29.195 149.476"; + rotation = "0 0 1 101.986"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "GeneratorLarge"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "52"; + }; + new StaticShape() { + position = "-496.001 -20.2822 167.444"; + rotation = "0 0 1 13.8658"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5708"; + team = "2"; + Target = "53"; + }; + new StaticShape() { + position = "-500.703 -40.8093 167.444"; + rotation = "0 0 1 191.826"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5710"; + team = "2"; + Target = "54"; + }; + new Item() { + position = "-535.386 -22.3239 156.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new Turret() { + position = "-483.141 -33.8909 165.497"; + rotation = "0 0 1 13.751"; + scale = "1 1 1"; + nameTag = "Sentry"; + dataBlock = "SentryTurret"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "SentryTurretBarrel"; + + locked = "false"; + team = "2"; + Target = "55"; + }; + new Turret() { + position = "-507.489 -28.5134 177.425"; + rotation = "-0 0 -1 77.9223"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "AABarrelLarge"; + + locked = "false"; + team = "2"; + Target = "56"; + }; + new InteriorInstance() { + position = "-666.934 -122.432 193.863"; + rotation = "0 0 1 61.8794"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_platform3_x2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new StaticShape() { + position = "-647.152 -123.502 195.579"; + rotation = "0 0 1 61.3065"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "57"; + }; + new StaticShape() { + position = "-484.291 -45.815 156.443"; + rotation = "0 0 1 146.562"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5717"; + team = "2"; + Target = "58"; + }; + new StaticShape() { + position = "-479.123 -22.727 156.427"; + rotation = "0 0 1 55.9207"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5719"; + team = "2"; + Target = "59"; + }; + }; + new SimGroup(baseff) { + + powerCount = "2"; + + new StaticShape() { + position = "-492.736 -42.0469 176.983"; + rotation = "0.011106 0.0998272 0.994943 192.632"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "60"; + }; + new StaticShape() { + position = "-488.338 -22.4536 176.973"; + rotation = "-0.63239 0.0686041 0.771606 15.7598"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "SolarPanel"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "61"; + }; + new ForceFieldBare() { + position = "-508.243 -36.4725 167.379"; + rotation = "0 0 1 12.605"; + scale = "0.5 15 9"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + pz = "5724"; + originalscale = "0.5 15 9"; + team = "2"; + Target = "62"; + }; + new ForceFieldBare() { + position = "-511.076 -42.4734 155.678"; + rotation = "0 0 1 12.605"; + scale = "0.5 29 11"; + nameTag = "Base"; + dataBlock = "defaultTeamSlowFieldBare"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + pz = "5726"; + originalscale = "0.5 29 11"; + team = "2"; + Target = "63"; + }; + }; + new SimGroup(Tower) { + + providesPower = "1"; + powerCount = "1"; + + new WayPoint() { + position = "206.808 697.894 141.012"; + rotation = "-0 0 -1 85.9436"; + scale = "1 1 1"; + nameTag = "Tower"; + dataBlock = "WayPointMarker"; + lockCount = "0"; + homingCount = "0"; + name = "Tower"; + team = "2"; + + locked = "false"; + }; + new InteriorInstance() { + position = "198.459 715.987 158.044"; + rotation = "0 0 1 183.347"; + scale = "1 1 1"; + interiorFile = "rilke_whitedwarf_bunker2_x2.dif"; + showTerrainInside = "0"; + + locked = "false"; + team = "2"; + }; + new Turret() { + position = "220.416 700.152 164.538"; + rotation = "0 0 1 93.3923"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + team = "2"; + Target = "64"; + }; + new Turret() { + position = "193.869 701.726 164.524"; + rotation = "-0 0 -1 86.6995"; + scale = "1 1 1"; + nameTag = "Base"; + dataBlock = "TurretBaseLarge"; + lockCount = "0"; + homingCount = "0"; + initialBarrel = "PlasmaBarrelLarge"; + + locked = "false"; + team = "2"; + Target = "65"; + }; + new StaticShape() { + position = "207.088 701.203 142.034"; + rotation = "0 0 1 183.92"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5733"; + team = "2"; + Target = "66"; + }; + new StaticShape() { + position = "207.173 701.188 149.031"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + nameTag = "Inventory"; + dataBlock = "StationInventory"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + Trigger = "5735"; + team = "2"; + Target = "67"; + }; + new Item() { + position = "207.114 700.971 163.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RepairPack"; + lockCount = "0"; + homingCount = "0"; + collideable = "0"; + static = "1"; + rotate = "1"; + + locked = "false"; + team = "2"; + Target = "-1"; + }; + new StaticShape() { + position = "208.018 715.893 180.028"; + rotation = "0 0 1 183.438"; + scale = "1 1 1"; + nameTag = "Large"; + dataBlock = "SensorLargePulse"; + lockCount = "0"; + homingCount = "0"; + + locked = "false"; + team = "2"; + Target = "68"; + }; + }; + }; + new SimGroup(Team0) { + + powerCount = "0"; + }; + }; + new SimGroup(ObserverDropPoints) { + + powerCount = "0"; + + new Camera() { + position = "657.422 92.6727 209.822"; + rotation = "0.0860534 0.0965548 -0.991601 97.0625"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-568.793 49.3996 192.182"; + rotation = "0.0101645 -0.0983936 0.995096 168.261"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "151.464 739.584 180.786"; + rotation = "0.0245551 -0.0979128 0.994892 151.981"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + new Camera() { + position = "-185.913 -626.238 162.656"; + rotation = "0.0134693 0.0225014 -0.999656 118.208"; + scale = "1 1 1"; + dataBlock = "Observer"; + lockCount = "0"; + homingCount = "0"; + }; + }; + new WaterBlock() { + position = "232 72 -123.884"; + rotation = "1 0 0 0"; + scale = "2048 2048 200"; + liquidType = "OceanWater"; + density = "1"; + viscosity = "3"; + waveMagnitude = "0"; + surfaceTexture = "LiquidTiles/industrial_oil"; + surfaceOpacity = "0.3"; + envMapTexture = "skies/inf_butch_night13/inf_butch_night13_UP"; + envMapIntensity = "0.4"; + removeWetEdges = "0"; + AudioEnvironment = "Underwater"; + }; + new AudioEmitter() { + position = "-10.7252 -34.4918 142.971"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + fileName = "fx/environment/howlingwind2.wav"; + useProfileDescription = "0"; + outsideAmbient = "1"; + volume = "0.5"; + isLooping = "1"; + is3D = "0"; + minDistance = "20"; + maxDistance = "100"; + coneInsideAngle = "360"; + coneOutsideAngle = "360"; + coneOutsideVolume = "1"; + coneVector = "0 0 1"; + loopCount = "-1"; + minLoopGap = "0"; + maxLoopGap = "0"; + type = "EffectAudioType"; + + locked = "true"; + }; + new SimGroup(RandomOrganics) { + + powerCount = "0"; + + new SimGroup(Addition11DSPlant18) { + + powerCount = "0"; + + new TSStatic() { + position = "-484 580 103.063"; + rotation = "0 0 1 127"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-764 -484 91.3282"; + rotation = "0 0 -1 37.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "148 -452 117.469"; + rotation = "0 0 -1 56.9999"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "628 -596 135.594"; + rotation = "0 0 -1 26"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-1124 -1188 157"; + rotation = "0 0 1 184"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-132 60 118.844"; + rotation = "0 0 -1 11.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "745.59 693.594 86.7031"; + rotation = "0 0 1 61"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-1076 788 159.438"; + rotation = "0 0 1 96.0002"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "-228 676 139.563"; + rotation = "0 0 -1 22.9999"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "732 108 123.937"; + rotation = "0 0 1 142"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "140 1068 121.297"; + rotation = "0 0 1 72.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "244 -916 111.125"; + rotation = "0 0 -1 78.0002"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "476 -580 107.016"; + rotation = "0 0 1 221"; + scale = "1 1 1"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "460 -804 96.2344"; + rotation = "0 0 -1 76"; + scale = "1.2 1.2 1.2"; + shapeName = "dorg18.dts"; + }; + new TSStatic() { + position = "172 740 147.328"; + rotation = "0 0 1 180"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg18.dts"; + }; + }; + new SimGroup(Addition12DSPlant17) { + + powerCount = "0"; + + new TSStatic() { + position = "-408.878 -1031.9 90.8278"; + rotation = "0.0241022 0.0370872 0.999021 231.956"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-38.7842 95.1291 87.2691"; + rotation = "-0.139558 -0.208176 -0.968084 19.3067"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "812 500 94.0625"; + rotation = "-0.0667493 0.0340105 0.99719 215.905"; + scale = "0.8 0.8 0.8"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "1067.9 359.338 151.623"; + rotation = "-0.644838 0.533082 -0.54773 4.48421"; + scale = "0.9 0.9 0.9"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "761.452 -875.841 93.1261"; + rotation = "-0.030496 0.0432427 -0.998599 87.5603"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "550.86 -1242.7 136.834"; + rotation = "-0.0616049 -0.00626087 -0.998081 76.5209"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-764 -708 86.6719"; + rotation = "0.564054 -0.478803 0.672748 10.3895"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-460 1020 84.3907"; + rotation = "0.142011 0.0409698 0.989017 73.6062"; + scale = "1.3 1.3 1.3"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-699.951 208.628 156.219"; + rotation = "-0.446152 -0.519752 0.728565 11.9413"; + scale = "1.5 1.5 1.5"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "577.499 -641.928 136.236"; + rotation = "0.0320134 -0.0816998 0.996143 28.86"; + scale = "1 1 1"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "440.345 347.075 121.409"; + rotation = "-0.0345557 0.0571796 0.997766 66.6141"; + scale = "1.4 1.4 1.4"; + shapeName = "dorg17.dts"; + }; + new TSStatic() { + position = "-1100 -1148 151.672"; + rotation = "0.157827 -0.0520036 -0.986096 81.7932"; + scale = "1.1 1.1 1.1"; + shapeName = "dorg17.dts"; + }; + }; + new SimGroup(Addition13PhoenixPlant1Dark) { + + powerCount = "0"; + + new TSStatic() { + position = "-412 -356 119.063"; + rotation = "0 0 1 204"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-52 -556 130.672"; + rotation = "0 0 1 194"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-164 420 116.547"; + rotation = "0 0 -1 1.00014"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1060 -1068 118.594"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1172 964 101.781"; + rotation = "0 0 1 142"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-156 940 117.234"; + rotation = "0 0 1 26"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1004 -316 158.078"; + rotation = "0 0 -1 47"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-964 1092 147.891"; + rotation = "0 0 1 218"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-68 532 78.0313"; + rotation = "0 0 -1 55.0003"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1220 -516 95.6719"; + rotation = "0 0 1 50"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-260 -636 145.922"; + rotation = "0 0 1 69.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1076 -1092 150.172"; + rotation = "0 0 1 90.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1060 -372 147.797"; + rotation = "0 0 1 21"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1188 652 149.391"; + rotation = "0 0 -1 74.0004"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "164 -20 109.922"; + rotation = "0 0 -1 28.0002"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "324 -92 103.578"; + rotation = "0 0 -1 106"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "796 -764 114.484"; + rotation = "0 0 -1 13.0002"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "20 76 78.1094"; + rotation = "0 0 1 17"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1060 -260 160.484"; + rotation = "0 0 1 110"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "324 -884 102.734"; + rotation = "0 0 1 231"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-220 732 134.297"; + rotation = "0 0 1 11"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "484 -772 111.75"; + rotation = "0 0 -1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "124 972 122.484"; + rotation = "0 0 1 87.0002"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1132 236 123.984"; + rotation = "0 0 1 229"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-940 -588 100.609"; + rotation = "0 0 1 135"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "900 -364 150.984"; + rotation = "0 0 1 206"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1092 452 145.953"; + rotation = "0 0 -1 76"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-516 988 103.437"; + rotation = "0 0 -1 11.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "140 -228 161.156"; + rotation = "0 0 -1 52.0003"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-92 -780 84.1874"; + rotation = "0 0 1 166"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1100 628 97.7969"; + rotation = "0 0 1 182"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-372 588 77.6875"; + rotation = "0 0 1 177"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-52 708 64.25"; + rotation = "0 0 1 187"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1076 -612 102.297"; + rotation = "0 0 1 120"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1140 604 146.328"; + rotation = "0 0 1 216"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "492 492 119.594"; + rotation = "0 0 1 147"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "516 444 114.828"; + rotation = "0 0 -1 56.9999"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-636 -12 133.281"; + rotation = "0 0 1 213"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "564 844 135.281"; + rotation = "0 0 -1 37.0002"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1060 -396 157.297"; + rotation = "0 0 -1 43.0002"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "28 1124 88.875"; + rotation = "0 0 1 217"; + scale = "0.8 0.8 0.8"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "868 -508 119.437"; + rotation = "0 0 1 6.00005"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "188 -660 138.875"; + rotation = "0 0 1 66.0002"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1180 -1100 137.359"; + rotation = "0 0 1 177"; + scale = "1.3 1.3 1.3"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1036 332 160.703"; + rotation = "0 0 -1 47.9999"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1052 108 144.219"; + rotation = "0 0 1 175"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1052 -204 143.047"; + rotation = "0 0 -1 43.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-380 868 94.7188"; + rotation = "0 0 -1 73.0006"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-1092 -1092 150.328"; + rotation = "0 0 1 29"; + scale = "1.2 1.2 1.2"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "484 1052 102.937"; + rotation = "0 0 1 18"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "140 -1132 118.281"; + rotation = "0 0 -1 49.0002"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-892 1236 134.016"; + rotation = "0 0 1 9.99997"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "228 -892 109.688"; + rotation = "0 0 -1 96.0002"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-412 956 83.2969"; + rotation = "0 0 1 37"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "340 -380 102.516"; + rotation = "0 0 1 58.9998"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "1100 -1108 98.3593"; + rotation = "0 0 1 239"; + scale = "0.9 0.9 0.9"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "764 108 121.766"; + rotation = "0 0 1 111"; + scale = "1.4 1.4 1.4"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "964 244 138.656"; + rotation = "0 0 1 182"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "148 44 106.031"; + rotation = "0 0 1 229"; + scale = "1 1 1"; + shapeName = "porg1-dark.dts"; + }; + new TSStatic() { + position = "-188 1252 141.687"; + rotation = "0 0 1 85.9998"; + scale = "1.1 1.1 1.1"; + shapeName = "porg1-dark.dts"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/CreativityGame.cs b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/CreativityGame.cs new file mode 100644 index 00000000..12c1203e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/CreativityGame.cs @@ -0,0 +1,157 @@ +// Red Shifter's Creativity Limiters for Tribes 2 +// "With constraints come creativity." -HiRezTodd +// The reverse is also true. If you limit creativity, you limit constraints. So here's a bunch of stupid shit. + +// Version 0.1.1 contains these Creativity Limiters: +// 1. Creativity Pad (T:V style jump pad) + +//------------------------------- +// EXTENSION 1: CREATIVITY PAD +//------------------------------- +// teamCheck - Only the team that controls the pad can use it +// powerCheck - Power will be required to use the pad +// minSpeed - Minimum horizontal speed that you will have upon using the pad +// maxSpeed - Maximum horizontal speed that you will have upon using the pad (you will not lose speed if you're going over the limit) +// factor - The horizontal multipler you gain upon hitting the pad (default: 1.3) +// jumpPower - The amount of vertical speed applied by the pad (default: 50) +// this isn't clearly ripped from TR2 + +package jumpPad{ + function Armor::onImpact(%data, %playerObject, %collidedObject, %vec, %vecLen){ + if(%collidedObject.getDataBlock().getName() !$= "CreativityPad"){ + parent::onImpact(%data, %playerObject, %collidedObject, %vec, %vecLen); + } + } +}; +if(!isActivePackage(jumpPad)) + activatePackage(jumpPad); + +datablock AudioProfile(CreativityPadSound) +{ + volume = 1.0; + filename = "fx/misc/launcher.wav"; + description = AudioClose3d; + preload = true; +}; + +datablock StaticShapeData(CreativityPad) +{ + catagory = "Creativity Limiters"; + className = "Creativity Pad"; + isInvincible = true; + needsNoPower = true; + alwaysAmbient = true; + shapeFile = "station_teleport.dts"; + soundEffect = CreativityPadSound; +}; + +function CreativityPad::onCollision(%this, %obj, %col) { + // make sure a living player hit the pad + if( %col.getClassName() !$= "Player" ) return; + if( %col.getState() $= "Dead" ) return; + + // make sure we're the right team, if this a team-based object + if( %obj.teamCheck == 1 && %obj.team != %col.team ) { + messageClient(%col.client, 'msgStationDenied', '\c2Access Denied -- Wrong team.~wfx/powered/station_denied.wav'); + return; + } + + // make sure we have power, if this a power-based object + if( %obj.powerCheck == 1 && !%obj.isPowered() ) { + messageClient(%col.client, 'msgStationNoPower', '\c2Station is not powered.'); + return; + } + + + // get player velocity + %oldVel = %col.getVelocity(); + %x = getWord(%oldVel,0); + %y = getWord(%oldVel,1); + %z = getWord(%oldVel,2); + + // test change + //%col.setVelocity(VectorScale(VectorNormalize(%horizonVector), 1000 / 3.6)); + + // see if we customized the factor value + if( %obj.factor !$= "" ) { + %defaultFactor = %obj.factor; + } + else { + %defaultFactor = 1.3; + } + + // see if we have a maximum horizontal boost + if( %obj.maxSpeed !$= "" ) { + %originalSpeed = VectorLen(%x SPC %y SPC "0"); + %newSpeed = %originalSpeed * %defaultFactor; + %maxSpeed = %obj.maxSpeed / 3.6; + + if( %originalSpeed > %maxSpeed ) { + // don't reduce the player's speed + %factor = 1.0; + } + else if( %newSpeed > %maxSpeed ) { + // speed up the player to the listed max speed + %factor = %maxSpeed / %originalSpeed; + } + else { + // apply the maximum boost + %factor = %defaultFactor; + } + } + else { + %factor = %defaultFactor; + } + + // make the changes to player velocity + %x *= %factor; + %y *= %factor; + + // see if we have a minimum speed off the pad + %currentSpeed = VectorLen(%x SPC %y SPC "0"); + if( %obj.minSpeed !$= "" && %currentSpeed < %obj.minSpeed / 3.6 ) { + %newSpeed = VectorScale(VectorNormalize(%x SPC %y SPC "0"), %obj.minSpeed / 3.6); + %x = getWord(%newSpeed,0); + %y = getWord(%newSpeed,1); + } + + // add the jump power + if( %obj.jumpPower !$= "" ) { + %z = %obj.jumpPower; + } + else { + %z = 50; + } + + // set the velocity + %col.setVelocity(%x SPC %y SPC %z); + + // play the effects + %obj.playAudio(0, %this.soundEffect); + + if( !%obj.activatedThread ) { + %obj.activatedThread = 1; + %obj.playThread($ActivateThread, "Activate"); + %obj.schedule(750, stopThread, $ActivateThread); + schedule(800, 0, eval, %obj @ ".activatedThread = \"\";"); + } +} + +function CreativityPad::losePower(%this, %obj) { + if( %obj.powerCheck == 1 && %obj.disabledThread == 0 ) { + %obj.disabledThread = 1; + %obj.playThread($PowerThread, "DAMAGE"); + } +} +function CreativityPad::gainPower(%this, %obj) { + if( %obj.powerCheck == 1 && %obj.disabledThread == 1 ) { + %obj.disabledThread = ""; + %obj.stopThread($PowerThread); + } +} + +// anthem4admin +function CreativityPad::onAdd(%this, %obj) { + %obj.disabledThread = ""; + %obj.activatedThread = ""; +} \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/DefaultTurretsGame.cs b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/DefaultTurretsGame.cs new file mode 100644 index 00000000..2642d8d8 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/DefaultTurretsGame.cs @@ -0,0 +1,26 @@ +// DefaultTurrets.cs +// Restore Default Turret count at the end of the match +// Some maps in this map use non-default turret numbers + +$DMP::indoorMinDef = $TeamDeployableMin[TurretIndoorDeployable]; +$DMP::outdoorMinDef = $TeamDeployableMin[TurretOutdoorDeployable]; +$DMP::indoorMaxDef = $TeamDeployableMax[TurretIndoorDeployable]; +$DMP::outdoorMaxDef = $TeamDeployableMax[TurretOutdoorDeployable]; + +package turretDefaults +{ + +function DefaultGame::gameOver( %game ) +{ + parent::gameOver(%game); + + $TeamDeployableMin[TurretIndoorDeployable] = $DMP::indoorMinDef; + $TeamDeployableMin[TurretOutdoorDeployable] = $DMP::outdoorMinDef; + $TeamDeployableMax[TurretIndoorDeployable] = $DMP::indoorMaxDef; + $TeamDeployableMax[TurretOutdoorDeployable] = $DMP::outdoorMaxDef; +} + +}; + +if(!isActivePackage(turretDefaults)) + activatePackage(turretDefaults); \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/HothFFsGame.cs b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/HothFFsGame.cs new file mode 100644 index 00000000..cf4fcd83 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/HothFFsGame.cs @@ -0,0 +1,254 @@ +//These are the special screens used in the Hoth base + +datablock ForceFieldBareData(display01) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/display04.png"; + texture[1] = "lush/special/display04.png"; + + framesPerSec = 0.0; + numFrames = 1; + scrollSpeed = 0.0; + umapping = 0.125; + vmapping = 0.24; +}; + +datablock ForceFieldBareData(display02) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/display05.png"; + texture[1] = "lush/special/display05.png"; + + framesPerSec = 0.0; + numFrames = 1; + scrollSpeed = 0.0; + umapping = 0.125; + vmapping = 0.24; +}; + +datablock ForceFieldBareData(display03) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/display06.png"; + texture[1] = "lush/special/display06.png"; + + framesPerSec = 0.0; + numFrames = 1; + scrollSpeed = 0.0; + umapping = 0.125; + vmapping = 0.24; +}; + +datablock ForceFieldBareData(ffdisplay04) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + + texture[0] = "lush/special/shot06.png"; + texture[1] = "lush/special/shot07.png"; + texture[2] = "lush/special/shot08.png"; + texture[3] = "lush/special/shot09.png"; + texture[4] = "lush/special/shot11.png"; + + framesPerSec = 1; + numFrames = 5; + scrollSpeed = 0.0; + umapping = 0.4; + vmapping = 0.6; +}; + +datablock ForceFieldBareData(ffdisplay05) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/shot01.png"; + texture[1] = "lush/special/shot02.png"; + texture[2] = "lush/special/shot03.png"; + texture[3] = "lush/special/shot04.png"; + texture[4] = "lush/special/shot05.png"; + + framesPerSec = 1; + numFrames = 5; + scrollSpeed = 0.0; + umapping = 0.4; + vmapping = 0.6; +}; + +datablock ForceFieldBareData(ffdisplay06) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/alien-01.png"; + texture[1] = "lush/special/alien-01.png"; + + framesPerSec = 0.0; + numFrames = 1; + scrollSpeed = 0.9; + umapping = 0.12; + vmapping = 0.24; +}; + +datablock ForceFieldBareData(ffdisplay07) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/shot01.png"; + texture[1] = "lush/special/shot02.png"; + texture[2] = "lush/special/shot03.png"; + texture[3] = "lush/special/shot11.png"; + texture[4] = "lush/special/shot09.png"; + + framesPerSec = 1; + numFrames = 5; + scrollSpeed = 0.0; + umapping = 0.9; + vmapping = 1.4; +}; + +datablock ForceFieldBareData(ffdisplay08) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/display07.png"; + texture[1] = "lush/special/display07.png"; + + framesPerSec = 0; + numFrames = 2; + scrollSpeed = 0.0; + umapping = 0.127; + vmapping = 0.26; +}; + +datablock ForceFieldBareData(ffdisplay09) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/display08.png"; + texture[1] = "lush/special/display08.png"; + + framesPerSec = 0; + numFrames =2; + scrollSpeed = 0.0; + umapping = 0.127; + vmapping = 0.26; +}; + +datablock ForceFieldBareData(ffdisplay10) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "lush/special/display10.png"; + texture[1] = "lush/special/display10.png"; + + framesPerSec = 0; + numFrames = 1; + scrollSpeed = 0.0; + umapping = 0.124; + vmapping = 0.24; +}; + +//Special +datablock ForceFieldBareData(taco) +{ + fadeMS = 3000; + baseTranslucency = 1; + powerOffTranslucency = 0.0; + teamPermiable = false; + otherPermiable = false; + color = "1 1 1"; + powerOffColor = "0.0 0.0 0.0"; + targetNameTag = 'Force Field'; + targetTypeTag = 'ForceField'; + + texture[0] = "taco/taco.png"; + texture[1] = "taco/taco.png"; + + framesPerSec = 0.0; + numFrames = 1; + scrollSpeed = 0.0; + umapping = 0.125; + vmapping = 0.24; +}; diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/TeleportGame.cs b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/TeleportGame.cs new file mode 100644 index 00000000..6e5b22ce --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/TeleportGame.cs @@ -0,0 +1,370 @@ +//teleport code by sparky +//Reworked by DarkTiger +datablock AudioProfile(TeleporterStart) +{ + filename = "fx/misc/nexus_cap.wav"; + description = AudioDefault3d; + preload = true; +}; + + +datablock StaticShapeData(Teleporter) +{ + catagory = "Teleporters"; + shapefile = "nexusbase.dts"; + mass = 10; + elasticity = 0.2; + friction = 0.6; + pickupRadius = 2; + targetNameTag = ''; + targetTypeTag = 'Teleporter'; +//---------------------------------- + maxDamage = 1.00; + destroyedLevel = 1.00; + disabledLevel = 0.70; + explosion = ShapeExplosion; + expDmgRadius = 8.0; + expDamage = 0.4; + expImpulse = 1500.0; + // don't allow this object to be damaged in non-team-based + // mission types (DM, Rabbit, Bounty, Hunters) + noIndividualDamage = true; + + dynamicType = $TypeMasks::StationObjectType; + isShielded = true; + energyPerDamagePoint = 75; + maxEnergy = 50; + rechargeRate = 0.35; + doesRepair = true; + humSound = StationInventoryHumSound; + + cmdCategory = "Support"; + cmdIcon = CMDStationIcon; + cmdMiniIconName = "commander/MiniIcons/com_inventory_grey"; + + debrisShapeName = "debris_generic.dts"; + debris = StationDebris; +//---------------------------------------- +}; + +//datablock Staticshapedata(teledestroyed) : teleporter +//{ + //shapefile = "station_teleport.dts"; +//}; + +$playerreject = 6; +function Teleporter::onDestroyed(%data, %obj, %prevState) +{ + //set the animations + %obj.playThread(1, "transition"); + %obj.setThreadDir(1, true); + %obj.setDamageState(Destroyed); + //%obj.setDatablock(teledestroyed); + %obj.getDataBlock().onLosePowerDisabled(%obj); +} + +//---this is where I create the triggers and put them right over the nexus base's +function teleporter::onEnabled(%data, %obj, %prevState) +{ + %level = %obj.getdamagelevel(); + %obj.setdamagelevel(%level); + if(%obj.ispowered()) + { + %obj.playthread(1, "transition"); + %obj.setThreadDir(1, false); + %obj.playThread(0, "ambient"); + %obj.setThreadDir(0, true); + } + else + { + %obj.playThread(0, "transition"); + %obj.setThreadDir(0, false); + } + Parent::onEnabled(%data, %obj, %prevState); +} + +function Teleporter::gainPower(%data, %obj) +{ + %obj.setDatablock(teleporter); + Parent::gainPower(%data, %obj); + %obj.playthread(1, "transition"); + %obj.setThreadDir(1, false); + %obj.playThread(0, "ambient"); + %obj.setThreadDir(0, true); +} + +function Teleporter::losePower(%data, %obj) +{ + %obj.playThread(0, "transition"); + %obj.setThreadDir(0, false); + Parent::losePower(%data, %obj); +} + +//---this is where I create the triggers and put them right over the nexus base's +function Teleporter::onAdd(%this, %tp) +{ + Parent::onAdd(%this, %tp); + if(!isObject(tpSimSet)){ + new simSet(tpSimSet); + MissionCleanup.add(tpSimSet); + } + tpSimSet.add(%tp); + + %trigger = new Trigger() + { + dataBlock = NewTeleportTrigger; + polyhedron = "-0.75 0.75 0.1 1.5 0.0 0.0 0.0 -1.5 0.0 0.0 0.0 2.3"; + }; + + MissionCleanup.add(%trigger); + if(%tp.noflag $= "") + %tp.noflag = "0"; + if(%tp.oneway $= "") + %tp.oneway = "0"; + if(%tp.linkID $= "") + %tp.linkID = "0"; + if(%tp.linkTo $= "") + %tp.linkTo = "0"; + %trigger.setTransform(%tp.getTransform()); + + %trigger.sourcebase = %tp; + %tp.trigger = %trigger; + + //--------------do we need power?----------------------- + %tp.playThread(1, "ambient"); + %tp.playThread(0, "transition"); + %tp.playThread(0, "ambient"); + + %pos = %trigger.position; + + if(%tp.waypoint !$= "") + { + %wp = new WayPoint() + { + scale = "1 1 1"; + nameTag = %tp.waypoint; + dataBlock = "WayPointMarker"; + name = %tp.waypoint; + }; + MissionCleanup.add(%wp); + %wp.setTransform(%tp.getTransform()); + } + +} + + +datablock TriggerData(NewTeleportTrigger) +{ + tickPeriodMS = 100; +}; + +//--------------teleporter code here------------------ + +function NewTeleportTrigger::onEnterTrigger(%data, %trigger, %player) +{ + %colObj = %player; + %client = %player.client; + + if(%player.transported $= "1") // if this player was just transported + { + %player.transported = "0"; + %colObj.setMoveState(false); + %trigger.player = %player; + return; // then get out or it will never stop + } + +//--------------do we have power?----------------------- + if(%trigger.sourcebase.ispowered() == 0){ + messageClient(%player.client, 'MsgClient', '\c0Teleporter is not powered.~wfx/powered/station_denied.wav'); + return; + } + +//----------------------disabled?----------------------- + if(%trigger.sourcebase.isDisabled()){ + messageClient(%colObj.client, 'msgStationDisabled', '\c2Teleporter is disabled.~wfx/powered/station_denied.wav'); + return; + } + +//--------------are we on the right team?----------------------- + if(%player.team != %trigger.sourcebase.team){ + messageClient(%player.client, 'MsgClient', '\c0Wrong team.~wfx/powered/station_denied.wav'); + return; + } + + //------------are we teleporting?----------------------- + if(isObject(%trigger.player)){ + messageClient(%player.client, 'MsgClient', '\c0Teleporter in use.~wfx/powered/station_denied.wav'); + return; + } + //-------------is this a oneway teleporter?------------------------ + if(%trigger.sourcebase.oneway == "1"){ + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1This teleporter is oneway only.~wfx/powered/station_denied.wav'); + return; + } + + //-------------are we teleporting with flag?---------------------------------------- + %flag = %player.holdingflag; + if(%player.holdingFlag > 0){ + if(%trigger.sourcebase.noflag $= "1"){ + if(%flag.team == 1) + %otherTeam = 2; + else + %otherTeam = 1; + + game.flagReset(%player.holdingflag); + messageTeam(%otherTeam, 'MsgCTFFlagReturned', '\c2 %1 tried to teleport with the %2 flag.~wfx/misc/flag_return.wav', %client.name, $teamName[%flag.team], %flag.team); + messageTeam(%flag.team, 'MsgCTFFlagReturned', '\c2Your flag was returned.~wfx/misc/flag_return.wav', 0, 0, %flag.team); + messageTeam(0, 'MsgCTFFlagReturned', '\c2The %2 flag was returned to base.~wfx/misc/flag_return.wav', 0, $teamName[%flag.team], %flag.team); + } + } + %destList = getDestTele(%trigger.sourcebase,%player.client); + + if(%destList != -1){ + %vc = 0; + for(%x = 0; %x < getFieldCount(%destList); %x++){ + %targetObj = getField(%destList,%x); + // make sure its not in use and its not destroyed and it has power + if(!isObject(%targetObj.trigger.player) && %targetObj.isEnabled() && %targetObj.isPowered()) + %validTarget[%vc++] = %targetObj; + else + %inValidTarget[%ivc++] = %targetObj; + + } + if(!%vc){ + if(isObject(%inValidTarget[1].trigger.player)) + messageClient(%player.client, 'MsgClient', '\c0Destination teleporter in use.~wfx/powered/station_denied.wav'); + else if(!%inValidTarget[1].isEnabled()) + messageClient(%player.client, 'MsgClient', '\c0Destination teleporter is destroyed.~wfx/powered/station_denied.wav'); + else if(!%inValidTarget[1].isPowered()) + messageClient(%player.client, 'MsgClient', '\c0Destination teleporter lost power.~wfx/powered/station_denied.wav'); + else + messageClient(%player.client, 'MsgClient', '\c0Destination teleporter in use, destroyed, or loss power.~wfx/powered/station_denied.wav'); + } + else{ + %dest = %validTarget[getRandom(1,%vc)]; + serverPlay3D(TeleporterStart, %trigger.getTransform()); + messageClient(%player.client, 'MsgClient', '~wfx/misc/nexus_cap.wav'); + %player.transported = 1; + %teleDest = vectorAdd(%dest.getPosition(),"0 0 0.5"); + teleporteffect(vectorAdd(%trigger.sourcebase.getPosition(),"0 0 0.5")); + teleporteffect(%teleDest); + %player.setmovestate(true); + %player.setTransform(vectorAdd(%trigger.sourcebase.getPosition(),"0 0 0.5") SPC getWords(%player.getTransform(),3,6)); + %player.startfade(500,0,true); + %player.schedule(500, "settransform", %teleDest SPC getWords(%player.getTransform(),3,6)); + %player.schedule(500, "startfade", 500, 0, false); + %player.schedule(500, "setmovestate", false); + } + } + else + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1This teleporter has no destination.~wfx/misc/warning_beep.wav'); +} +function getDestTele(%obj,%client){ + %idCount = getFieldCount(%obj.linkTo); + if(!%idCount || %obj.team != %client.team) + return -1; + %count = 0; + for(%i = 0; %i < tpSimSet.getCount(); %i++){ + %dest = tpSimSet.getObject(%i); + if(%dest.team == %client.team && %dest != %obj){ + for(%a = 0; %a < getFieldCount(%dest.linkTo); %a++){ + %destID = getField(%dest.linkTo,%a); + if(%obj.linkID == %destID){// see if it links back to us + if(%count++ == 1) + %teleList = %dest; + else + %teleList = %teleList TAB %dest; + } + } + } + } + if(%count > 0){ + return %teleList; + } + return -1; +} +function NewTeleportTrigger::onleaveTrigger(%data, %trigger, %player){ + if(%player == %trigger.player){ + %trigger.player = 0; + } + if(!%player.transported){ + %player.tpWarn = 0; + %player.tpTime = 0; + %player.tpDmgTime = 0; + } +} +function NewTeleportTrigger::onTickTrigger(%data, %trig){ + %player = %trig.player; + if(isObject(%player)){ + if(%player.getState() $= "Dead"){ + %player.blowUp(); + %trig.player = 0; + } + else{ + if(%player.tpTime > 3000 && !%player.tpWarn){ + messageClient(%player.client, 'MsgLeaveMissionArea', '\c1Move off the teleporter or take damage.~wfx/misc/warning_beep.wav'); + %player.tpWarn = 1; + } + %player.tpTime += %data.tickPeriodMS; + if(%player.tpTime > 3000){ + %player.tpDmgTime += %data.tickPeriodMS; + if(%player.tpDmgTime > 1000){ + %player.setdamageflash(0.3); + %player.damage(0, %player.getPosition(), 0.04, $DamageType::radiation); + } + } + } + } + else + %trig.player = 0; +} + +function teleporteffect(%position) +{ %effect1 = new ParticleEmissionDummy() + { + position = %position; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + emitter = "AABulletExplosionEmitter2"; + velocity = "1"; + }; + + %effect2 = new ParticleEmissionDummy() + { + position = getWord(%position,0) @ " " @ getWord(%position,1) @ " " @ getWord(%position,2) + 0.5; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + emitter = "AABulletExplosionEmitter2"; + velocity = "1"; + }; + + %effect3 = new ParticleEmissionDummy() + { + position = getWord(%position,0) @ " " @ getWord(%position,1) @ " " @ getWord(%position,2) + 1; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + emitter = "AABulletExplosionEmitter2"; + velocity = "1"; + }; + + %effect4 = new ParticleEmissionDummy() + { + position = getWord(%position,0) @ " " @ getWord(%position,1) @ " " @ getWord(%position,2) + 1.5; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "doubleTimeEmissionDummy"; + emitter = "AABulletExplosionEmitter2"; + velocity = "1"; + }; + MissionCleanup.add(%effect1); + MissionCleanup.add(%effect2); + MissionCleanup.add(%effect3); + MissionCleanup.add(%effect4); + %effect1.schedule(2000, "delete"); + %effect2.schedule(2000, "delete"); + %effect3.schedule(2000, "delete"); + %effect4.schedule(2000, "delete"); +} \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/autoexec/InvincibleInv.cs b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/autoexec/InvincibleInv.cs new file mode 100644 index 00000000..d7f5a37b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/autoexec/InvincibleInv.cs @@ -0,0 +1,22 @@ +// For Small Crossing Inventorys +// SimpleFlagArena also uses this +// Grants Invinciblity + +package InvincibleInv +{ + +function StaticShapeData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType) +{ + %targetname = %targetObject.getDataBlock().getName(); + //Used on some maps to make invs invincible + if( %targetObject.invincible && %targetname $= "StationInventory" ) + return; + + parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType); +} + +}; + +//Prevent package from being activated if it is already +if (!isActivePackage(InvincibleInv)) + activatePackage(InvincibleInv); \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/autoexec/dmpVersionCheck.cs b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/autoexec/dmpVersionCheck.cs new file mode 100644 index 00000000..2240c851 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/scripts/autoexec/dmpVersionCheck.cs @@ -0,0 +1,39 @@ +// Tells the server what version of the DMP pack the client is using +// This is used primarily for the server logo on the loading screen +// As the server will skip showing the server logo image if a +// Version isnt detected +// Alternatively, this can also be used to debug aspects as the Pack version +// will be known to the server + +$DMP::Version = 4.7; + +// Client Only +addMessageCallback('MsgDMPVer', DMPReturn); + +function DMPReturn() +{ + commandToServer('ClientDMPVersion',$DMP::Version); +} + +// Server Only +function serverCmdClientDMPVersion(%client, %version) +{ + if(!%client.dmpVersion) + %client.dmpVersion = %version; +} + +package dmpVersionCheck +{ + +function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ) +{ + parent::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ); + + messageClient(%client, 'MsgDMPVer'); +} + +}; + +// Prevent package from being activated if it is already +if (!isActivePackage(dmpVersionCheck)) + activatePackage(dmpVersionCheck); \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/C_BaseLoPro.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/C_BaseLoPro.dts new file mode 100644 index 00000000..2156bf10 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/C_BaseLoPro.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/borg16-Autumn.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/borg16-Autumn.dts new file mode 100644 index 00000000..e9bbeb64 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/borg16-Autumn.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/borg19-Autumn.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/borg19-Autumn.dts new file mode 100644 index 00000000..16e96510 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/borg19-Autumn.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/porg1-dark.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/porg1-dark.dts new file mode 100644 index 00000000..bd953127 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/porg1-dark.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-TCmug.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-TCmug.dts new file mode 100644 index 00000000..22c61d31 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-TCmug.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-TNmug.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-TNmug.dts new file mode 100644 index 00000000..e00c6a2e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-TNmug.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-chocotaco.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-chocotaco.dts new file mode 100644 index 00000000..6e86c643 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-chocotaco.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-goonflag.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-goonflag.dts new file mode 100644 index 00000000..b97ee9ed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-goonflag.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-samifin.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-samifin.dts new file mode 100644 index 00000000..a71e16c3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-samifin.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-santahat.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-santahat.dts new file mode 100644 index 00000000..ca05a6be Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-santahat.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-taobook.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-taobook.dts new file mode 100644 index 00000000..d1957641 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-taobook.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-turtle.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-turtle.dts new file mode 100644 index 00000000..e4fd9635 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/rst-turtle.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/vend.dts b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/vend.dts new file mode 100644 index 00000000..9661f1e4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/shapes/vend.dts differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Attrition.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Attrition.spn new file mode 100644 index 00000000..995ec47d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Attrition.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Attrition.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Attrition.ter new file mode 100644 index 00000000..35816e26 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Attrition.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/BastardForge.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/BastardForge.ter new file mode 100644 index 00000000..008e04a9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/BastardForge.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Bunkered.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Bunkered.ter new file mode 100644 index 00000000..d01f5abe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Bunkered.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Chasmaclysmic.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Chasmaclysmic.spn new file mode 100644 index 00000000..b7c5656a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Chasmaclysmic.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Chasmaclysmic.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Chasmaclysmic.ter new file mode 100644 index 00000000..0c902652 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Chasmaclysmic.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Cinerarium.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Cinerarium.ter new file mode 100644 index 00000000..00d8bcd0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Cinerarium.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Coppera.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Coppera.ter new file mode 100644 index 00000000..0f1977af Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Coppera.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DBS_Smoothed.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DBS_Smoothed.spn new file mode 100644 index 00000000..807c7ba1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DBS_Smoothed.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DBS_Smoothed.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DBS_Smoothed.ter new file mode 100644 index 00000000..11b9f69b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DBS_Smoothed.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Agroleon.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Agroleon.spn new file mode 100644 index 00000000..79187eff Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Agroleon.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Astro.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Astro.spn new file mode 100644 index 00000000..3690383d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Astro.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_BastardForge.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_BastardForge.spn new file mode 100644 index 00000000..f5f479df Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_BastardForge.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_BitterGorge.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_BitterGorge.spn new file mode 100644 index 00000000..d8afe6ef Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_BitterGorge.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Bunkered.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Bunkered.spn new file mode 100644 index 00000000..a6fa2758 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Bunkered.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Cinerarium.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Cinerarium.spn new file mode 100644 index 00000000..46fdb452 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Cinerarium.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_DermCity.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_DermCity.spn new file mode 100644 index 00000000..02c396da Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_DermCity.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Embers.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Embers.spn new file mode 100644 index 00000000..05b95740 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Embers.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_EmeraldSpit.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_EmeraldSpit.spn new file mode 100644 index 00000000..ac5c5948 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_EmeraldSpit.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_FaceCrossing.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_FaceCrossing.spn new file mode 100644 index 00000000..8ba14508 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_FaceCrossing.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Hoth.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Hoth.spn new file mode 100644 index 00000000..e6f5bbba Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Hoth.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_IceGiant.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_IceGiant.spn new file mode 100644 index 00000000..96eb3e85 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_IceGiant.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_IsleDeBatalla.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_IsleDeBatalla.spn new file mode 100644 index 00000000..5dbedd89 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_IsleDeBatalla.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_LavaGods.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_LavaGods.spn new file mode 100644 index 00000000..89d479f0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_LavaGods.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Magellan.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Magellan.spn new file mode 100644 index 00000000..b533673f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Magellan.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_MoonDance.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_MoonDance.spn new file mode 100644 index 00000000..df966740 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_MoonDance.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pantheon.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pantheon.spn new file mode 100644 index 00000000..291e40b1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pantheon.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pantheon.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pantheon.ter new file mode 100644 index 00000000..6ee5e82a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pantheon.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Paranoia.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Paranoia.spn new file mode 100644 index 00000000..35147ce0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Paranoia.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pariah.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pariah.spn new file mode 100644 index 00000000..4a59035e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Pariah.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_PipeDream.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_PipeDream.spn new file mode 100644 index 00000000..bebbe755 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_PipeDream.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_RavineV.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_RavineV.spn new file mode 100644 index 00000000..097070c8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_RavineV.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_ScorchedEarth.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_ScorchedEarth.spn new file mode 100644 index 00000000..c9b12c32 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_ScorchedEarth.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_SimpleFlagArena.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_SimpleFlagArena.spn new file mode 100644 index 00000000..5ada9991 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_SimpleFlagArena.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_SpinCycle.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_SpinCycle.spn new file mode 100644 index 00000000..3587c634 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_SpinCycle.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_StarFall.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_StarFall.spn new file mode 100644 index 00000000..c3d8dccf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_StarFall.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Tyre.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Tyre.spn new file mode 100644 index 00000000..a27d5749 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Tyre.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Wasteland.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Wasteland.spn new file mode 100644 index 00000000..902d3a17 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DMP_Wasteland.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Badlands.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Badlands.spn new file mode 100644 index 00000000..29072ad1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Badlands.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Badlands.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Badlands.ter new file mode 100644 index 00000000..d105698a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Badlands.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Desert.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Desert.spn new file mode 100644 index 00000000..3e7da965 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Desert.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Desert.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Desert.ter new file mode 100644 index 00000000..3309675f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Desert.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Ice.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Ice.spn new file mode 100644 index 00000000..5e30a7cb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Ice.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Ice.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Ice.ter new file mode 100644 index 00000000..bee44f0c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/DX_Ice.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Embers.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Embers.ter new file mode 100644 index 00000000..64426ea1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Embers.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Badlands.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Badlands.spn new file mode 100644 index 00000000..6738dfa8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Badlands.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Badlands.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Badlands.ter new file mode 100644 index 00000000..7f3b87c7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Badlands.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Desert.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Desert.spn new file mode 100644 index 00000000..73df146b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Desert.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Desert.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Desert.ter new file mode 100644 index 00000000..0e85701c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Desert.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Ice.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Ice.spn new file mode 100644 index 00000000..da1d5f3e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Ice.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Ice.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Ice.ter new file mode 100644 index 00000000..3c0ee35c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Ice.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Lush.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Lush.spn new file mode 100644 index 00000000..fc3fb290 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Lush.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Lush.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Lush.ter new file mode 100644 index 00000000..f86b2677 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HO_Lush.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HillKing.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HillKing.ter new file mode 100644 index 00000000..608d029a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HillKing.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HillKingLT.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HillKingLT.spn new file mode 100644 index 00000000..98acff16 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/HillKingLT.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Hoth.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Hoth.ter new file mode 100644 index 00000000..7a5958d9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Hoth.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/IceGiant.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/IceGiant.ter new file mode 100644 index 00000000..c632a6bb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/IceGiant.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/LavaGods.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/LavaGods.ter new file mode 100644 index 00000000..78d2b364 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/LavaGods.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Magellan.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Magellan.ter new file mode 100644 index 00000000..155f5da8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Magellan.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/MapAssets.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/MapAssets.ter new file mode 100644 index 00000000..52ce4e56 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/MapAssets.ter @@ -0,0 +1,16 @@ +  *2 (BI4 fH\ $= y/# LhKG>yy/ |Uy n BXm  kXXXx uX-a XX4XXM XX/Xx w/ cwO G ~ T + + > _ + +  on + + + U  # t - uz 3  + + } ),JxB  + + BBr~ h 0u  aA an[ 0TTn[ PE1lH  Hppf BT\pp Gu_m!2 ] >p\H{ >pss\\ >ssaQ w} ,@@ \ mm@ \ mm@ T~R UR  +u KGGk FFG Q Q Q 4 4  ^ f T ,  NN f f ;; NN \ \ - 8|NN \`? + kk 0\+ kk _ Z6  )W`X  a(6  ``p f aa   3 p /:  H I N:            5 5 5 f f f 2 2 f f .. ..   BB  o ` Z  IceWorld.SnowDesertWorld.RockSmoothLushWorld.GrassDarkBadlands.RockCrackedLavaWorld.MuddyAshLavaWorld.RockBlack + +NI.).. +rNvrrrrrrvvrrrrrW 3[[[[[[WI[ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ WI{IW[ [ [ [ [ [ W[ [ WI3 [ WE3I ~General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0 \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/MoonDance2.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/MoonDance2.ter new file mode 100644 index 00000000..1dcdd0d0 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/MoonDance2.ter @@ -0,0 +1,12520 @@ +  ' 3 ? ? K K K W W b b n z  + +) +5 +A +M +a + + + + + + + +( { > b z z z z z z z n V > *    > b z b V J 2  { { { o o {  > b n b  o ?  + + +a +U +5 +) + + + + z n n n z z W 3   xdddpx  ' 3 3 ? ? K K K W W b n z z z z  + + + + + +) +U +y + + + + + +?  V n z b >    2 b z b V J >   V b z n V J J V b n n > { K  + + +y +m +a +U +A +5 +) + + +  + + +) + + + + + z W 3 '  pdddxx    ' ' ' 3 3 ? ? ? K K K W b b n n b b n n z z  +  +5 +U +m + + + +(  J b z n >   V z b V J >   * V n z V        * > > J J V b b n z z J  c ( + + + + + + + +m +a +M +5 + +  +) +5 +A +M +M +M +M +A +5 +) + + n W ? 3  xpdx         ' '  ' ' 3 ? K K K W W n n z  + +  +5 +a + + +( * b z b  { o c c o o { { {  J   4 4 4 4 (    ( (    z z n V >    2 V n z V       > J V b n n z z b >  W (     + + + + +m +U +5 + +  +) +A +a +m +m +m +m +y +m +a +U +5 + + z b ?  xx   ' ' '     ' 3 ? ? K W n z  +  +M + + + o  J n n >  { K ( + + + + + + + ( ? c { > 4 L d x x d d d X L @ @ @ 4 4 @ @ @ ( (  b * { { { {   * J V n z n b V J J J V J >  ? + + +y +a +5 + +  +A +y + + + + + + + + + + + + + +y +a +5 + b 3 xx ' ? K K K W K ? 3  xddx  3 W n  +5 +y + + K * b z n n b b J 2 c 4  + +y +U +U +m + + + + ( W ( p X L @ @ @ @ @ X X d X L 4  4  ( b  c 4     ( 4 K W c o o {   J b z b >  { ( + + +y +a +5 + +  +A +y + + + + + + + + + + + + + + +y +M + + K   3 W n n z z z n W ' d@4@Xdd K n z n b W W b n  +U + + + W  J z z b V V J > *  { c ?  + + +5 + ) +a + + + +K 'bW3 d L L @ @ L @ d x X ( (  4 L ( + + + + + + + + +   ( ? K W c o {  > b z b > c ( + + + +y +M +) + + +  + +U + + + + ( (    + + + + + + +m +A + + K  K b z n K xLXdXLX' K W W b b b b b K ? K W b  +U + + + + 4 W {    2 > J V V b b b b J > *    o W ? (  + +A +  +A + + b3 d L L @ @ @ @ L L 4 n *  > ( ( x 4 J 4 +m +5 +) +) +5 +M +a +m + + + + + + +  ( ? K W o  * V n   n > c 4   + + + +m +U +A +A +A +m + + + W o { { c ? (  + + + + + +a +5 + + b ? '  ? b b ' XLXx ' ' ' ' 3 ? K ? ? 3 ? W n ) +y + + + + + + +  ? W { o W ? (  + + +m +5 + +  +5 + +( x baU)W3 d X L @ @ @ 4 (  c W { J  4 ( n o  +A + +  + +5 +M +m + + + + + + +  4 W  > b z  ( 4 4 4 ( V  o W K 4   + + + +y + + + +K c K (    + + + +M + + n W 3   K z  + + + + + + n 3 XX ' ' 3 ? W z  +U + + + + + + + + + + + + 4 W { { o o o o { { { o ?   + + + + + + + +m +5 +) +5 +y + +4 4 ayAW3 p @ 4 ( ( (   V o  + + +?  b n b * { 4 + +U + +  + +) +5 +a +y + + + + 4 {  J n  @ X d d x d L 4  z J { c W ?  + + + + + +K  > J J >   { c K 4  + + +A + + b K '    3 b  + + + + + + + + + + + + + + n K ? 3 ' d  ' ? b  + + + + + + + + +y +y +y + + + + + (   + + + +      + + + + + + + + + + + + + + + + c z  bm5zK x  z n n z n V  4 +A + + +y + +? { K  + +m + + z z  +) +a + + + + 4 c  > b  @ d d ( b * { c K 4  + + + +4  J b b b V J *   { o ?  + +a + + b K '      3 '   ? b  + +) +) +5 +5 +A +A +A +A +A +A +A +A +A +) + + z b b W 3 ' '   ' K n A + + + + + + + +m +A +5 +) +) +5 +m + + + + + + + + + + + +y + + +y +m +m +m +m +m + + + + + +  ( ( 4 c   5m? L > { { o { { { c 4 + + +  +y + + ? c o c K (  + +y +A + n b W b n n n n  +M + + + + ? o  > b ( X x ( n >  { o W ?  + + +(  J n n n n b b J > *  { K  + +M + + z W 3   ' ' 3 3 3 W K ? 3 ' 3 K n  +) +A +m +m +y +y + + + + + + + + +y +m +5 + + n W ' ' ' ? ? 3 3    ' 3 ? b  + + +  + + +y +A + + + + + + +) +A +A +5 +) + + + + + + + + + + +) +) +) +5 +a + + + + +  ? W o >  x za5x  {  + + + + + + + +y +) + z K K z  +A + + + +    + + + +m +) + + n b b b b b n  +a + + + +( W {  > n  @ x  d ( n >  { o W 4  + + { > b z z z b V > *  o 4  +m +) + b K 3 3 ? K b b b z n b W n  +5 +m + + + + + + + + + + + + + + + +m +) + b ? 3 W b n b b W K ? ? ? W b  +y + +( ? (  + +a +) + +  +  + + +U + + + + + ? c { V  x W)5n 4 n +a + + z K 3 n  +m + + + + + + + + + + +U +) + + z n n n n ) +m + + + +( W {  J ( d 3?3' d ( n >  { c K (  + o  V n z n b J >  o ( + +U + + z b W W n  + +A +y + + + + + + + + + + + + + + + + + +A + + n W  ? b b z n b b b b n  +a + + +4 ? ( + +y +5 + + z z z z  +a + + + + ? c J 4 Wymb  ( U + z W K K W W W K 3 ' W z  + +) +A +a +y + + + +y +m +a +A +) + + + z z z  +5 +y + + + + K {  b  L ?WnbW3 x 4 n >  { W 4  + W * b z z n b J >  o ( + +A + +  +  +5 +M +a +a +a +y + + + +   ( ( ( (      + + +y +) + z W ' ? b n z z z z  +A + + +   + +5 + + z z z n b W K K K W W b b n  +) +m + + + +( c  J L 'UUW + b dL@X? n  + +5 +m +m +a +5 +) +) +5 +) + + +  +5 +m + + + + +( o > ( d Kbn? x 4 z J  o ?  + +? {  J z z z n V >  K  +y +5 + +  + +) + + +U +A +U +m + + + + + + + + 4 K W W W W W W W K ? ? 4  + + +A + + n W ' 3 W n  +U + + + + + +5 + + z n b b b W W ? 3 '     ' ' ? W b  +5 +y + + + K {  b L W)mm5? { U +z @((4LddL4((4X? b  + +) +) + + +  + + + + + +  +) +A +m +y + + + +? J  L ?nzK x 4 J  { ?  + + c  b z z n V >  { ? + +a +M +M +U +m +y +y +y +a + + + + + + + + + + + K { { { { { o c K ( + +m + + z W '  ? b z  +5 +a +m +U + + z b b W K K ? ? 3  3 W  +a + + + +? {  z X nUa5' c  +K (@L@(4X? b  + + +  + + + + + + +  + + +) +5 +A +a + + +( { > ( d 3nAU)W' @  b  { ? + + + +4 o > V n n V  ? + + + + + + + + + + + + + + +     ? { c 4 + +A + + z W 3 ? z  + z  + + + n W ? '  K  +) +y + + + c   x z5mU)nd z K  + LzVb((((L' b  +5 +m +y +m +m +a +A +) + + + + + + + + + + +5 +y + + o * @ 3nAm)b' @  V 4 + + + + ? {  > V b z b  o K 4   + + + + +     ( 4 4 ? W  V b V >     { 4 + +) + b 3  b b K ' dXdXdddK  +A + + + +?   zAyU)K @ b 4 (J>n4LdK  + + + + + + + +5 +y + + + + + + + + +y +m +a +A +5 + + + + + +) +y + + o  @ 'na()W' @  * ? + + + + + K  * J b z n >  o K ( ( (   4 4 ( 4 K W W c {  n n V V J *   c  +y + + b 3  ? n b ?  X@(4@LxK  +m + + + c b '5mA)b'   + 2Jz(Ld' n  +) +5 +A +a +m +y +y + + + +( K K 4  + + + + + + +m +A +5 +) + + +5 + + + o  L by?coKK x @  b W + + + + + +( c  * > b z b V 2 { W K K K ? c W c o { > z    n V *  { K  +a + + b ?  3 b b ? dXL@4((XK  +5 +y + + + {  L n5a5n3 d +z >Jz@d W  +U +y + + + + + + + 4 o { K (   + + + + + +m +A +5 +5 +A + + +( {  X 'A4WKmz? L   {  + + + + + 4 {  * J n n  o o o o >  @ X L @ 4  z V  o ( + +) + n ? '  ' b z b  XL@4(nbbn@W  +a + + + +4  d UU5n?  J W 5 +W nbVbX' ? b  +5 +y + + + + + ( K o { W ? 4 (   + + + + +y +y + + + +? {  X 3a?c{Ab3 x ( >  + + + + + + K  * V z         V     V ( X x d @ (  n >  { ?  +U + W 3 '  3 b z z z z z W L@(nJ>2>Jbzb ) +m + + + ? * d Aa)zK 4 + ? 44d ? b n  +m + + + + ( K o {   { c W K ? 4 (   + + + + + + K * d ?y?oK)b3 4 V ? + + + + + + +( c  > n   ( @ 4 @ 4 (       * J J V b @ x X 4  V  { W  +y + + b 3  ? n n n z W  X@(nV>*>VzLn 5 + + + + K * x bUm)zW @ 4 y + 3 XLLX3 b z  + + +5 +y + + + ( K o     { { { o c K ? ( (     4 o > d ?mK{WaW 4 b c + + + + + + + +4 o  V  ( @ @ @ @ @ ( (     >   > n  X X  n >  c 4 + + + b ?  3 b n n b b n b 3 d@zbJ*>(n A + + + + c > x Kz)AAzK 4  c + + ? 3 K b  + + +) +5 +5 +A +m + + + +( K o {   * > >   { o c c W K ? K c J d ?yWW)z3 ( V o  + +y +m +y + + + ? o * n  ( 4 @ 4 4 ( (    V      > n  ( @ d  x @  V  { ?  +5 + n 3  K W K ? ? W b n W 3 d4nV>zn  +a + + + +( o V x 3bznK   { +a + z ?    ' ? W b  +) +A +a +m +y +y +y + + + + + K o {  * > V b b V >   { { { { {  V X ?mWKy5K  J o + + +a +A +U +m + + + +4 o  J         n > * * * * n  ( @ X x '?KK?' X  b *  { K  +A + n '    ' ? W n z W 3 LnbJ*bn  +m + + + ? { n x '?KWbWWWWWWK3    + + b K K W b z  + +U +y + + + + + + + + + +( K {   > V z n J *   V L ?mW4U)W  * c + +y +A +) +) +5 +U + + + +4 o  J z   n J J > J J z 4 X p 'KbzK x 4 z J  W  +A + b  d 3 W n z b ?  zbV>Vn a + + + W    x   4 + + + n b n z  + +5 +m + + + + +  ( 4 4 ? K c {   > V z n J *   * b L ?(ccm5W x  K + +a +) + + + + +5 +m + + +( o  J n z b V V V b  X x WzK X  b * W  +A + b  ' 3 K b z b ? @nbJ*Jb A + + +( c * 4 L n { ? + +y + +  +5 +a +y + + + + ( ? W c { {    * > V n  4 4 ( b J *    * b L W)4W?5? X n ? + +A + + +  +) +m + + +( W {   > b z z n b V V b n ( x W5m5z3 x 4 z > K + +) + b  ' ? K b z  + + + + + b 3 nV>J3 ) + + +( { V X x L @ ( ( (  J o (  + +y +) + +  +) +A +y + + + + + 4 W o   * J V b n z  L d x L  n J *     * b X bA4Wo(Ub' L V { ? + +5 + +  +) +m + + + ( ? W o { * b n n n b b b b b b V V b z 4 x 3AAb X  V  K + + + b 3   ' ? K W b z  + +) +) + + + + b  4b>{{JX  + + +4 { n d x X 4   b  ?  + + + +m +5 + + +  +5 +m +y + + + + + +( ? c {   > V b z  4 X X (  z V > *        * V L nA(KoW)b3 @ J { ? + +5 + +  + +A +y + + + + +  4 K o  2 > > > *  2 J J J V b n z ( 35(UW L  b  ? +y + + n W ? ? ? 3   3 ? W b b n  +A +a +a +U +A +) + + + K bJ{{bL  + + +4 { n L x x X @   n >  W  + + + + +y +m +m +U +A +5 +5 +A +y + + + + + +  ? W {  > V n  ( L d 4  z b J > > * *    > V 4 nU?WcW?yb?  * { 4 + +5 + +  + +) +A +m +y + + + + + + +4   2 > J V n n  35m4(U? ( n  4 +m + + n b b W W 3  3 K W W b b ) +m + + + + +m +A + + + 3 LzJ*{{nXz  + + +K n  4 4 (   n > { ( + +m +m +m +m +y +y +y + + + + + + + + +  4 ? W o {  * J b z  ( L 3' x @  z n b J > * * * J V z  KA(4??Ab? X  { ( + +) +  + +) +) +) +) +A +A +a + + +( o   > J b b  '?z)a((5z3 @ b { ( +A + + n b b W 3  3 ? W W b b z  +5 + + + + + + + +m +) + + b V{o{zXz  + + c  b z V  c  + +A +5 +5 +A +m +y + + + + + + + + ? W o { {    * J V n   ( @ x 3?WWK3 L  z b V > > J J b n x y)b? x ( b W  + +) +  + + + + + + + +5 + + + K { { {   > J J  'WnA(U? 4 > o  +) + + n b b K ' 3 ? W b b n  +a + + +   + + +m +) + + K Xn{cWo*zL  + +( {  V b * W  + +A + + +) +A +m + + + + +  4 W {  * J V V V b n z    ( @ X 'KbzzbK3 d 4  z b J J J V b n @ ?Uyn? x 4 > { K  +y + +  +A + + + ? W W W {   * 2 ( ?na53   K +y + + n b K 3 3 K b b z A + + +4 o { c ?  + +m +) + ' 4oWKc*z@ ) + +?  J n z n b J  { K  + +m +) + + +) +a + + + + ? W {   > V z     4 @ X x ?nzbK' X ( z b V J J V b n  d ba5K d 4 n  { ( + +U + +  +m + + + ( ( ? c   z  3n)yAW X V o  +5 + z b K 3 ? b n  +5 + + W W  + +m + + b nW@Ko>zLz ) + +W * J b n b V J *  { K  + +y +5 + + + +A + + + +4 W {  * J b z          ( 4 4 L X x ?bnK' L  z b J J J V b n z  x b)Aamm5W X ( > W  +y +5 + + z n z  +y + + + +  ? { V bMAb d   { 4 +y + + n b K 3   ? b z  +m + +( { * n V  o ( + +U + + b 2W@W{>Lz  + +c  * > > > * *   { ?  + +y +5 + + + +) +y + + +? o  > b z   ( @ X d x x x d X L L L L L L X d 3nzW' X  n J > > > J V b n z  x ?K x @  J  { ( + +A + + z z z z W ? 3 K z ) +y + + + + + W o {  d K(((ab X  * K + +5 + n b W ? '   K b  +y + +? J z  o  + +5 + K @c{JLb  + +K  { c ( + + +m +5 + + + + +a + + K  > V n  4 L d WAyyU)zK d  z J *  * * > J V b n z  X 3KbbW? @  n >  { ? + +a + + z n n n n z b ?    b ) +y + + + + +( ? W { z  5(?44(W 4 > o  +y + + b W K 3   K b U + +4 V  @ 4  K + +a + + n ' z>JnLW + o { o W W W W ?  + + + +a +5 + + + + +a + + c > n   4 X x 'WbW?' KAU)n' d b *      > J J V b n  L d (  b J  { ? + +a + + z n b b b b b z n W ' n 5 +y + + + +  ( W o > L bAb  n  { ?  +a + + W ? ? 3   ' K b  + + { >  L L n {  +y + + b z*Vn@3 A + + 4 ( + + + + + + + +y +U +5 +5 +) + + + +) +m + +( > z    ( 4 L d KnnbK?3' 'WAAz3 L n *   * > J V n   4 @ @ L (  n J   { W ( + +a + + z b b W K K K b n b ?  3  +) +A +a + + + + ( ? c K n x 5yyA  b  W  + +A + W ? ? ? 3 ' ' 3 W z  + +( * n 4 x @ > ? + +) + z ? dLn  +m + + + +m +5 + + + + + + + + + + +) +) +5 +U + + +4  z   ( ( 4 4 4 @ X x 'WznbbWKKK?KWy4?4U)z' 4 > o c o    * J n z b >  o K  + + +U + + n b W K ? ? 3 ? W n b ?  b  + +5 +m + + + + + 4  ?   '3 4 b  o 4  + +A + b W K K ? ? ?  ' K b A + +K J  @  c + +5 + b  LLL@4((4XK  +) +5 + + + z  + +) +A +m + + + +K >  ( @ L X L L @ L L d ?nznbWWWWWbn54KWK?yU)z   W    K {  * J z n V *  { W 4  + + +m +) + + n b K 3 ' ' ' 3 K b z W 3  K  +A +y + + + + + + + +?  3nK X z  { K  + + +5 + z b b W W K ? '  K b  +y + +o  n  @ x X >  +A + + n K  XLX3 n b K b z  + +) +A +m + + + +K   ( 4 @ L X L L @ @ L L d ?nznbWKKKKKWnA(44?(yU5b x J K + + + + 4 c {  * V n n b V J *  { W 4  + +y +A + + + n b K 3    3 K b  + + + + n W 3  3 b  +U +y + + + + + + + +( { z 4 3??' d  > { W 4  + +y +) + z n b b W ? 3  ? b ) + + +{  n  4 X x x  z 4 +U + + b K ? ? K ?  ' W z z n b ? ? b  +5 +a +y + + + +( { J    ( ( 4 (     ( 4 X 3WnnnbK?3''3KbUmA5z3 ( W + +m +m + + + +( K c {   * *  o K (  + +a + + + z n b W 3   ? b  +A +A +) + + z b ?  3 W n ) +A +U +m +m +y +m + + + +( { L @ > { W 4  + + +m +) + z n W K 3  ' W  +U + + +o V  ( L X d x x x @ K +m + + z b b z b K 3 K W W K ? ? 3 K n  +A +m +y + + + + +4 J  L '?KK?3 ?AmmaAn3 L  o +y +) + + +5 +y + + + ( K c { { W ?   + + +y +) + z z z z n b W ? '  W z  +) +5 +5 + + + + b ?   ? W b  +) +A +A +U +a + + + + +( *  4 @ @ 4  V  { o K (  + + + +U + + + z b ? 3  3 b  +A + + + +o >  ( 4 @ @ L L 4  o +y + + z z z K  ' 3 ? b  +) +a +y + + + + + +4 { * V n  4 d  KznW X * { +y + +  +) +m + + + + + ? c { { { { W ( + + + + + +m +5 + + b W W b b b b b b b K 3 3 n  + + +) +) +) + + + + + W ? '  ' 3 ? K z  + +) +A +U +y + + + + +K n J  o K 4 (  + + + + +m +5 + + + + + + b ? '    ? n  +A +y + + + W  b      o +y + + z z z K ddd3 K z  +5 +m +y + + + + + + o  * J V b b b b b b b b V V b z  L x d d d x x '''3333' @ J  + +  +A +m + + + + + ( (  + + +a +5 +) +) + + + + b K ' ' 3 ? K W W W W K ? '  3 b  +) +) + + + + + + + n b b K 3  ' K  + +) +A +a +y + + + + { > J V >  W ( + + + + + + + + +m +5 + + + +5 +5 + + + b ? 3 ' ' 3 b ) +y + + + + K * b z J K +y + + n b n z ? dL@@@LXdx? b  +5 +A +m +y + + + + + + ? {         > V z  ( @ @ @ @ @ @ 4 4 ( ( ( 4 @ @ L d x  J  + + z b b n  + +) +A +m + + + + +m +) + + z W 3 ' ? K K W b W W K 3 3  W  + +) +) + + + + + + + + z n b W ' ' W  + +A +a +y + + + +( { { ?  + +y +y +y + + + +y +a +5 + + + + +5 +A +A +) + + b K ? 3 3 W z  +A + + + + + 4 o     * > b n b * {  +A + + z b K W n z b 3 L4(((((4Ld' b  +5 +a +m +m +y +y +y + + + + + + +( K c o { { { { {  * V n z    ( 4 4 4 (    ( @ L L L 4 * ( +) + z W ? ? ? K b z  + + + + z b b b b W K ? 3  ? K b b b b b b W b ? W n  +) +) + +) + + + + + + + z z b K K z  +) +A +U +a + + + ( 4 (  + +y +) + + + + +) +) +5 +) + + +  +) +A +5 + + n b W K W z  +m + + + + + ( K { {  +m + + W 3 ' 3 W b W  @(((((4XW  +m + + + + + +y +y +m +m +a +a +y + + + + +      ( K {   * > V n b {  +) + b 3 '   ' ' ? K W W b n z b ? '   ? b n z z z z z n z b b  + + +) + +) + + + + + + + n b b n  + + +M +y + + + + +m +) + +  + + +  +) + + z n b b z  +) +m + + + + + + 4 W { { { c ( +y + + b 3 ' ? 3 X4((4@LX b  +y + + + + + + +y +a +A +) + + + +) +A +a +y + + + + + + + + +( W o o o o o { { { { { { {  * > V b n z n V V V J J b V ? +a + + b ?   3 ? ? '  3 n z  + +) +5 +5 +a +y +m +U +m +a +5 + + + + + + + + + + + + + z z  + + + + + + + z  + + z z  +) +A +m + + + + + + + 4 W o o { { o c W W ? ( + +5 + + n K @((@d? n  +m + +   + + +y +A + + +  + + + + + + +m + + ( ( 4 4 4 4 ? ? ? ? ? ? K c o {   * > > J b n n n n J *   ?  +5 + n W 3 dd  W K b n z  +5 +A +m +m +y + + + + + +y +A +m +a +U +) +) +) + +) +) +) +5 +5 +) + + + + z b b  + +  +A +a +U +m + + + + + + + + ? W c W W K K ? (  + +a + + n ? X44X' b  +A + + + ( (  + +y +) + + b b b n z z A + + + + + +        ( 4 ? K c o {   * * *   o W ?  + +y +5 + W ' dL4(4@LX 3 b  + +) +U +y + + + + + + + + + + + + + +y +a +a +A +) +) +5 +U +U +U +5 +5 +5 +5 +) +) +) + + z z n n z n n b W K b  + + +  +U +y +y +a +m +y + + + + + + + + ? K K ? ? 4 (  + + +5 + + z ? ddL4(L3 b  +) +m + + + +   + +a + + b ? 3 3 3 3 3 ? K W W K ? K z  +m + + + + + + + + + + +    ( 4 ? K c { { { K (  + + +m +) + b ? X44@@LXdddddW  + + + + +a +y + + + + + + + + + + + +    + + + + + + + + + +y +y + + +y +m +a +M +) + z z z n n b b b W K K ? 3 3 W  + + +  +m + +y +A +A +U +m +y +y +y + + + + + 4 ? 4 4 (  + + +m +) + K ddX@4@d3 W  + +) +5 +m + + + + + + +m +5 + + b 3   b 5 +y + + + + + + + + + + +      ( ? K W o { { { { { o W ?  + + + +5 + + b 3 d@44@LLLLLLLLXb  + + + + + + +5 +m + + + + + + + + + +   ( ? ? K K K K 4   + + + + + + + + + + + +y +a +a +A + z n n n z z z z z z n b b W W K ? '   K  + + + z z  +5 +a +A + + +) +5 +5 +) +) +) +A +y + + +  (   + + + +A + + K xdXd? b  + + + + +) +A +y + + +a +) + + z W 3  d3 z  +a + + + + + + + + + + + + + + + + +   ( ( 4 4 (  + + + +y +m +U + + + + z K ' XXddXLLLLLLXdb  + + + + +) +5 +U +y + + + + + + + + +  4 ? K K K K K K W W W K ( (  + + + + + + + + + + + +m +U + + n b b b b b b b b b b W K ? 3   W  + + z n b b  +5 + +  + + +  +A + + + + + + + + + +m + + n ? K b  +) +A +5 + + + z b ? ' dXX4((X n  +m + + + + + + + + + + + + + + + + + + + + + + + + + + +m +A + + + + n K 3 ?    XLLLLXX3 b  + + +) +5 +U +m +y + + + + + + + + ( K W W W W K W W W W W W W K ( 4   + + + + + + + + + + +a +) + + z n b b b b b b b b W K ? 3 3 '  3 b z K K ?   b b n  +A +y + + + + + +m +) + n W '   K n  + + + n W ? ' L4dW 5 +y + + + + + + + + + + + + + + + + +y + +y +y +m +a +a +A +) + + + b K 3 3 ? ? K ? 3 ? ? ? ? ? 3 ' dXXddW  + +) +5 +A +U +m +y + + + + + + +  ( K c o o o o c c c W W W c c c K 4 (    + + + + + + + + +m +A + + + + + + + n b b b W K K K K K K ? 3 3 ' '   3 b z n ? K z b 3 3 b  +) +5 +A +5 + + + z n z z b W W W b b W 3 ? n  +m +y +A +a + +a + +  + z K L@? b  +m + + + + + + + + + + +m +A +A +A +5 +5 +) +) +) +) +) +) +) + + z W 3 3 ? 3 ' K b n n b b K 3  dXd3 b  + +) +5 +A +a +m +y +y + + + + + + 4 ? W c o o o o o c o c c c c o o o o K K ? 4 ( (   + + + + + + +U +) +) + + +) + + + n b W W K ? ? ? ? ? 3 3 ' ' ' ' ' ' 3 3 W n b 3 ' b n b b b n n n K 3  ' ? b n  + + + + n b z b 3 ? b 5 + +  + + +A + + ? dXLXdL((Lb  +A +y + + + + + + + + + +U + + + + + +  + + +) + + +  + + z K ' ? b b b z b ?  XLX3 W z  + +5 +A +a +m +m +m +y + + + + + +4 ? K c o o o o o o c o o o { { { { { o o c c W W K ? 4    + + +m +M +A +A +5 +U +A +) + + z b W W K ? 3 3 3 3 3 3 '    ' 3 3 K b n z b W 3 dL@L? W W K W n z W ? 3 3 ? ? W b  +) +5 +5 + +  + +) + + + + + z W 3 3 ? b ) +y + + K ?  + + +U + + W ((d@4d b m + +y +m + + + + + + + + + + + + + + +U + +  +5 +5 + + + + + + + + n K b n n z b K  L@@d? W z  + +) +5 +A +a +m +m +m +y + + + + +( ? K c o o o o { o { o o o o { { K K ?   + +m +a +a +a +y +m +M + + z b W W K ? 3 3 ? 3 3 3 '     ' 3 K b b b K ' X4((4d' ? K K K b b ? 3   3 b n n z  +) +m + + +A + ) +m +m + + +A +5 +) + + b W W b + + + +   + + +a + + 3 4(X?  + +? o ? 4 ? K ( ( 4       + + +U + +  +) +5 +5 +5 +) +5 +5 +5 +5 +5 + + n n b W b b b b K ' xdL4@d? b  + +) +A +U +a +m +m + + + + + + 4 K W c { { * > J > > >  { K 4 + + + + + + + + +5 + z b b W ? 3 ? ? ? K K 3   3 ? ? K  d@(4d ? K K K W b W 3  W z  +5 + + + + + +5 + + +5 +m + + + + +y +m +A + + z n z  +U + + + + + + + +y +U +5 + + z  L3 K K 3 ' 3 b ) + +K { { { { { o W 4  + +A + +  +5 +a +m +y +m +m +m +y +m +y +m +A + + b W K K K K ? ' dX  dLX' W n  + +) +5 +A +U +a + + + +    o { o {        b b V V n b b V >   ( + + + + + + + +y +) + n b b K ? ? ? K K K 3   ' X@((X ? b b b b n b W 3  3 b  + +) +U + + + +  + + + + + + + + + + + +m +5 + +  + +A +y + + + + + +m +) + + + + b d@? z z  + +( > b b J * *  c 4  +m + +  +5 +m + + + + + + + + + + + + +5 + z b K ? 3 3 '  3 K 3  K b z  + +) +5 +A +U + + + + +( W c {        > *    > J > n n V V >  {  + + + + + + + +m + + b b K ? K W W ? '  @(d3 b b W b  +5 +m + + + + +( K c W ? ( ( 4 K W K  + + + +m +5 + + + + +5 +A +U +A +A +A +A +A +A +5 + + W d(3 z  +m + +c V z n V J b V >  { K  +m + +  +5 +y + + + + + +      + + + +5 + z b ? 3 ' ' ' '   K b b K ' ? b n  + +) +A +U + + + + ? K W {  J b z n b J * J *  > J J V b n b z  b b V >  c  + + +  + +m +A + + b b b K K ? 3  x4@ b ) +m + + + + + 4 c o ( + + + +y +m +a +m + + + + +m +5 + + + z b 3 Xdb  +) + + +  +A + + +W J z z > { K  +m +) + + +) +a + + + + ( 4 ? W W c c o c W 4  + +A + + z W K ? ? W W W ? ' W n n b W ? ' 3 ? b n  + +5 +A +a + + + ? K {  * z n J b J J n  (  4 4   z n V > ?       + +A + + n n b ? ? ' 4 W  + + + + +A +A +A +5 +A +y + + + ( 4 K c > b z z z n z b  { 4 + + + + + + + + + + + +5 + + n b K ? 3 3 3 ' X@?  +A +5 + + + +a + + +4  b J { ? + +y +A +) +5 +m + + + 4 K W o { o 4 + +y + + b b b z z W  3 b z z n b W b b z  + +5 +U + + +( K K {  > n z b  4 @ L X d d X @   n V  c ? (  4 4 (  +m + + + z z n K 3  ' 3 ? ? 3 ddW z  +) +5 +) +5 +a + + + + + + +( W {  V    * { ?  + + + + + + + + + +) + z K ' X4@db ) +5 +5 +) + +) +m + + + +K  b V o 4 + + +m +A +m + + + ? W o {   > J *  c ( +y + + z n ?  ' ? b z z n n n z  + +5 +a + + ? o   > b  ( X x d 4 z n 2 { W ? 4 K ? ? ( +y +5 + + z z b 3 '  ' ? b b z z b ' L(L? n ) +A +U +A +U +y + + +( 4 K c     J z 4 d d @  * { c ? (   + + + + +m + + K X@LdXLX' b  + +A +a +A +5 +5 +m + + + + +W  J b  V { K  + + + +y + + + 4 c { * b n V  K +y + +  +A +a +A + + b W b n  + +) +5 +m + +K * > J n z  ( X (  V o K K W W W 4 +m +a + + z n n W 3   ? K b K XXW ) +m +y +y + + + +4 o  > b n n z  L L  * { c K 4   + + +m + + ? L(Lddddd' n  +) +a +y + + + + + + + + +( o  V    b { K  + + + + + + +( W { * n    b  c + +5 +) +5 + + + + + +m + +  +  + +A +m + +  n    L X  b  { c W c c c ? +y +a + + n z n n ? ? ' 3 W b  + +U +a +5 + + b 3 3 b  +A +m + + + + +( {   * J n  4 x x 4 n  o W ? 4  + + +) + b @4X3 z ) +m + + + + + + + + + W  b 4 4   { K 4  + + + + W {  * n  @ d x X @ (   V c + + + + K o { K  +A + + +  + + + +) +5 +5 +) + + + + +) +a + + +               ( @ X  L n  o o { o o ? +y +a +5 + z z z W W W ? b  +5 +y + + + +m + + z b ' ' K z ) +a + + + 4 { > z   ( ( 4 @ X x L  V  { c K 4  + +A + z  L4X3  +m + + +( W o o c c  J n  L d X 4 n  { W 4  + K {  * J z  L X 4 { 4  K {   ? + +y +A +5 +5 +m +y + + + + + + +A +) + +) +A +y + + + {  z  ( ( 4 ( 4 (        ( ( @ X X ? X z  { { { { o 4 +y +a +5 + n b z n  +U + + + + + + + +A + + n W ? b n ) + + +( o > ( 4 @ @ L X d d x x d d x X ( n >  { c K 4  +m + + ? d44d?  + + +K  J V z  @ 4 z J  { W ? W { > b  d  (   V b  W ( + + + + + ( ? K ?  + +m +U +a +m + + + + o b ( ( 4 4 @ @ @ (     4 4 ( ( 4 @ L d 3K'  { { o ( +y +A +) +  +a + + + +  + + + +m +5 + + b ? 3 b b n n  +m + +4   x d d 4  J  { W 4  +m + ? @(Ld? ) + +4 V n z  ( (  ( 4 X ?? @ b *  b  X 'bnnbbnnnbK' X z J b n  o 4   ? c { o  + +y +y +y + + + + ? >   4 4 @ L @ 4 (  4 @ L X d x x x x x '3K3  z  { { ( +y +U +) +  +A + + + +   + + + + + +m +) + W K W W b n z 5 + +4 * d KzznWKK3 x x L  b >  { c 4  +A + z ' x@((4X3 5 + +W V  ( 4 d Kz' d  z b V V n  @ Kz (  ( L @ @  b W 4 W  > n n * K + + + +y + + + + + { b   ( 4 @ @ 4 ( 4 @ X X X X d d x 3?K3  z  { o  +m +A +5 +  +y + + +   + + + + + + + +U + + n ? '  3 W b  + + {  nW' x 4 z V *  { W ( + +) + b X4((@X' z ) + +{   L 'KKKba)b x @ (   ( x W)AmyUUaymymymK 4  o K {  V V W  + + + + + + + + +(  z   ( 4 @ 4 4 @ @ L L L X X X d  '?WKK?' 4 n  { { c + +m +A + +  +a + + + +  + + + +m +a +m + +y +A + + z W 3 3 ' 3 b  + + o X )n3 d ( z V  { K  + + + K @4((@Xb  + + b d 3WAU? d L @ 4 ( ( 4 L 'z)yaW X * o K { * n J W + + + + + + + + + + +  n   ( ( 4 @ @ @ 4 @ @ L d x 333?KnbW3 d n  { o c W +y +U +U + + + +  +  + + + + +A + + +   + + +y +A + + +5 +U +A +) + + z b ? ? K W 5 + + +? V  W)55A5n' X  z * { K  + + + 3 L(4LdW + 4 ?Wn5UW x d d d x n5KcooccWWWWccc4azzn?   W ? {  V n  4 + + +y + + + + + + + + + +K J    ( ( 4 @ X d ''KWn?  o c W ? + +M +5 + + + + + + + + + + +) +A + + + 4 4  + +a +) + + + + + + + + z b K W b z  +5 + + + o  d 5amU5b3  X  * c 4  + + + 3 @4Ld3 + L ?bzUUn3 3W{4A3 n { 4  K {  > > W + +y +a +a +m +m +y +y +y +y +m +a +m + + +W >   ( @ X x x '33KWnz3  z  o W ? 4 + +A + + + + + + + + + +) +U +y + + +( W o o K  +A + + +  + + b K W b  +) +U + + +( b  'AmmUAb3' L * { K  + + + + 3 @(4Ldx y +{ @ Kz5y((aK W){2>22>24mU5n V K  + K { { ?  +y +5 +) +) +5 +A +U +a +a +A + + +  +5 + +  n   ( L ?KWbnzW (  c W 4  + +5 +) +) +) + + + + + + +A + + + +4 o { 4 +m + + + z W ? K b  + +) +m + +W ( 3AyyU)b?3''''' X  { 4  + +m + + ' L4(44@@Ldxn A +W V  KU(?4y)b' 'zA4>VbbnnV>2oz  b ? + + + 4 K K 4  + +y +) + + + + + + +) + + + z n z  + + +c   > J J V z  X Wz)4  c K (  + +a +A +A +) + + + + + + +m + + +? o o  +A + + n K 3 3 K n  +y + + J L 3zymb?3333' X  o ( + + +) + n L4@@LLLXdb  +4 * ?a?KWK(5n3 KU4o2JbnnnbbVJ>2W4)z  n K  + +    + + +y +5 + +  + + + b ? ' W A + + + ( ? c {  b @ n)55 4 * { W ?   + +m +a +A + + + +  +y + +( o    c + +5 + + b ?   3 b z z n b n  + +W  x 'ayW?333' L * o  + +A + + W @44LLXXXdxK  + X K5(?WcoW?U? 3bmWJVbbVVbbV>cK5n  z o (      + + + +m + + z ?  n  +m + + + + + + ( 4 ? o z  3z)AA) (  { W 4  + +y +a +U +5 + +  + + W  * *  W + + + + z b ?  ' K b b K ? ? z m + V ( WaanK333 L > c  +m + + z 3 @(4@LXXXXdddxx? + z  Ky4KWo{W45K KyK{22>>>VV>W?? b { K (     + + + +a + + b  dd' n  + + +5 +U +y + + + + { * 'z)55)  z  o K 4  + +m +A +5 +) + +  + + o   > J J >  K +A + + n W 3  ' K b W 3 ' 3 b 5 + +{  4 3U(WW)W?3' L > o  +A + + b ' L@@LXXXLLXXddd3 +{ * d ?4KWoW(an3 'b54o2>245K  * c K 4   + + + + +y +) + + W XXdK n  +) +m + +? 3))z  n  c ? (  + +U +5 +) + + + +  + +4 {  * J V b b > ( + + z z n b K 3   ? W b b ? 3 3 b  + +c V X 5K{o4UbK?' 4 J o  + + b 3 xddddXLLLLXXdd m +( n  ?WWo{K)K b5(WW)b z  { c K 4   + + + + + +a + + + z K XX? b b W K K b z ) + + 'zb  z  { W ? (  +y +A +5 +) + + + + 5 + +K  * > J V b n b > { + + b b b b K ? 3 ' ' K b z b W ? K z  + +? * z @ z?o?mzWK3 4 J c +y + + b ? XXLLLLXdb  + +K ?Wc{c(UW b5yW{WK x  J { o c W ? 4    + + + + +y +A +) + + + n ? dd? W K 3 '  3 W b  +y + x 'zK  z  o W 4 ( + +y +A +5 +) +) + + + + + + +m + o  > J V V b n z b * 4 5 + K ? ? K ? 3 ' ' 3 K b z b W b  + +  V  W(WWUbbK3 4 > K +A + z b ? ' dXLLLXd? 5 + + b ?Wc{?mb K5yKo?' X ( n  { W K K K K ? (    + + + + + +m +A +5 + + + b ?  K W ? '  3 b  + + L zn' n o K 4 ( + +m +A +5 +) +) +) + + + + +M + +K  > J V V V V b n b > c + K ' ' 3 ' ' ' ' 3 K b z n b b z  + + +o >  3)znnbW3 X * 4 +) + z b W K ? 3 '  d' n +4  ( KWoWmb 3)m4W{cUz ( n V  c ? ( ( 4 ? K ? 4     + + + + + +y +m +A +) + + b K  ' K W K '  3 W  + + +{ V  bznbbWK? @ b o K 4  + +a +5 +5 +) +) +) +) +) +5 +U + + o  J V V V J J J > J * { + b 3 ' ' ' ' ' ' ' 3 K b b b b  +y + +K  z x ))zbzzzW'   {  + + z n b W ? 3 3  3 b 5 + + KU?c>2WmW bA(KWcooW?'L J  { K (    ( ? K K ? 4 ( (   + + + + + + + +m +5 + + n W 3 ' K W W ? '   ' K z  +y + +o  ?zbW?'  J o K (  + +U +) + +) +) +5 +5 +A +U + + +4 {  > V b V J J *     { +5 + b 3 3 3 ' 3 '   ' ? ? ? W z  + +m + +(  z X W55zbWnzK 4  c +a + + z b b W K K K ? 3 '   ' 3 3 3 3 3 K b ) + + ?oVnVcaK x d x 'nam  n { { { c K 4      ( ? W c W W K K 4 (   + + + + + + +m +) + b W ? '  ' ? W b b W ? 3   ? b  +m + +c x nzbK3 L z 2 c ? (  + +M + + + +) +5 +A +U +y + + +?  J b b V J >   {  + W 3 3 ' '  ' b  +m + + { n @ zbK?KnW L 4 +A +) + + + + + + z n n n n n n n n b n z A + + 4oVzzV{(Uz3 d @ ( ( @ d 'b5yAb x  o K K ? 4 (   + + +  4 K c o { { { { o W ? 4   + + + + + +A + + z b b b b b b b z z b W 3 3 ? b  +a + +K @ WnW?' d X  V  c 4  + +y +A + + + + +5 +A +a +y + + +?  J b b V J *  o  + + b ? ' ' '  3  +U + + { b ( 3bnnbK3?nb' L  +A +m +y +y +y +m +m +A +5 + + + m + yc*zVo5W d (  4 d 'nn d z W 4 (    + + + + + + + 4 W o o W ? (   + + + +a + + z b K W n  +y + +? n  KzznK3 X @  J  W (  + +m +5 + + + + +5 +M +m + + + K * J b n V J *  { W  + + n ?    b 5 + + { J @ '' 'WnnW' @ +y +m + + + + + + + + + +y +a +A +5 +5 +5 +) +) + + + + + + +  + +( n)KbVo? 4 n V > J V b  L X  > { K (    + + + + + + + + + ? c c K 4   + + +y +5 + +  + + + + + + + + + z ) + + +? V  3bznW? X 4  n *  K  + + +a +5 + + + +) +A +U +y + + + W  V b n b J * { o K  +5 + n 3 dLLdK ) + + o * z  @ 3WzzbK ( n { +m + + + + ( 4 ? ? 4  + + + + + +y +y +m +a +A +5 +5 +) + + + + + +A + +K X 3?zVWUz X V   > n  ( (  n  { K (  + + + + + + + + + + + + K {     { W ? (  + + +A + +  + +A +a +y +y +y +m +m +m +a +U +) +  +A + + +K J ?bb?' d 4  z J  o 4 + + +m +U +5 + + +) +5 +A +a +y + + + c  J b n b J *  { o K  +5 + b  dLLX' b  + + c  b  L ?nzb?  J c + + + + ? c { { { o K  + + + + + + + + + +y +m +m +U +A +A +a + + +K b ( mz>(W ( b  o o {  J z n * { W (  + + + + + + + + + + + + + W * V n b V >  { c ?  + + +U + + +  +A +y + + + + + + + + + +m +5 + +  + +U + + +? * @ 3?' x 4 b >  W  + +y +a +M +5 +) +) +5 +5 +M +a + + + +( o  J b n n V >  o ? + +) + W dddb  +m + +W J  4 d 'bb? * W + + + +4 c { c ?   + + + + + + + + + + + + + + + +W > bcbz>ca3  > o K 4 4 ? K c o {   { c 4  + + + + + + + +y +y +y + + + +( c 2 n V  W 4  + +a +5 + + + +5 +a + + + + + + + + + + + +m +5 + + +) +U + + + { b ( x  z V  {  + + +a +M +A +5 + +) +) +5 +A +a +y + + + K  * V n n b V  o 4 +m + + 3  W A + +? * n ( d Kn? > c + + + W   { W ? 4 4 ( ( (   + + + + + + + + c  4 UJ2ob d  K     ( ( 4 K K W o { { o W ? (  + + + + +y +m +m +a +m +m + + + +4 {  n n > { K  + +y +M +A +5 +A +a + + + +     + + + + +U +5 +) +5 +A +y + + +K  n ( X d X 4  z J  o K + + +y +A +5 +) + + + + +) +5 +M +y + + + ? o  > V b b b J  o  + + b 3 ? 3 W 5 + +( {  > z  X WW J {  + 4 {  * > J *  { { o o o o c W ? (    +  4 {  n d {c45? X n { ( + + + +       ( ? K K K ? ? (  + + + + +m +a +a +U +a +a +a +y + + +4 >   4 (  V  { ?  + + + +y + + + + + ( ? ? (     + +m +A +5 +5 +A +m + + +( o  J z V  { W ( + +y +a +5 +) + + +  + +5 +a + + + + ? {  * J V V V >  W +A + b  ? b z n K  ? z  + + +W  J @ Kz'  b K  ( W  > V n n V *  { { c W K W W c {  b  KMb' L V W  + + + + + + + + + + + + + +   (   + + + +y +a +U +U +a +U +U +M +a + + +( {  b  @ d p x d L ( z  { ?  + + + + + + 4 ? K c W K ? ? 4 4  + +a +5 +5 +A +y + + + ? {  > J J > *  o W W K K ?  + + +a +M + + +  +5 +a +y + + + ? o   * > >  ( + b 3 K W 3 ' b U + + c  z  X Wz'  n { K K { > b z z z n V J > > J J J J > *   > n @ zyUK @ > ? + + + + + + + + +y +m +a +a +y + + + + + + + + + + + +m +a +a +a +a +U +A +5 +A +a + + o  n 4 x d @  2 o c W K K K K c o o { { { o c c W K  + +m +A +a +y + + + + ? o { c ?     + + + +m +M +5 + + 3 ? n  +) +A +y + + + 4 K { W +) + ?   3 W  +) + + z W 3  ? n  + + +4 o 2  L '?KWnzb d b  o { * V z n J >  * * > J V V b z 4 ?5mymM)z? 4 * ( + + + + + +y +m +U +) + + + +5 +a + + + + + + + + + + +y +y +m +m +a +A +5 + + +5 +y + +W  z @ ( J  o ?  + +y +m + + + + + ( ? K W c { { { W 4  + + + + + + + +M +) + + b ? b  + +) +a + + + + 4 W c { { W  + b 3 3 K b  +U +y +m +A + + n K  ' W U + + +4 o J ( X x '  J   J z  4 @ L @ 4   @ 3AMA)n3 x    + + + +y +a +M +5 + +  +A +y + + + + + + + + + + + + +y +m +A + + + + +U + +4  z L   n b V J > > 2         { 4 + + + + + + + + ( ? ? K K c c c c c K (  + + +y +a +m +m +a +A + + n ? ? b  + +U + + + +  4 ? K K K 4  +A + n K n  +a + + + +m +) + z K  ' W  +m + + ? o >    @ p x X  b >  * n  X X 4    @ X d X L @ (    L 5)n' L   + + + +y +a +5 + + ) +m + + + + + + + + + + + + + + +a +5 + + ) + +  z X 3?KKWK' d (  n b b V >  W  + + + + + + + ( 4 4 4 ? K K K K ? 4  + +y +a +5 + +) + + + n b K ' ? b z  +) +a + + + + +  (   + + +) + z z  +A + + + + + +) + W  3 z A + + +( K  V n z z >    > z  K?3 x p X L x zb' @  4 + + + + + +a +5 + +  +a + + + ( 4 4 (    + + + + +m +5 + + +  +m + +   x 3WnK L   z b V * 4 + + + + + + + + ( 4 ( ( 4 4 4 4 4  + +m +) + + + n K ? 3   W n  +5 +m + + + + + + + + + + +m + +  +5 +y + + + + +y + + b '   K M + + + ? c  V b V b n > *      V L 3zW?' '33 3zb' @  c 4 (   + + + +M +) + +5 +a + + ? o o W W K 4  + + + +y +m +M +A +5 +A + + z X ?zUa5nK d ( n b >  c  + + + + + + + +         + +U + + z b W 3 3 '  xx K n  +5 +U + + + + + + + + + +y +U +) + +  +A +y + + + + + +a + + W 3    ' K n  +m + + + ? W { 2 *   n z n n V 2        * b    4 nnWKKWnznK3' 'bW L 2 o c W K ?   + + + + + +4 {   o ( + + + + + + + + + + b  WAymA5? d  b J   { ?  + + + + + + +    + + + + + +a + + z n W ? 3 ' '  Xd ? z  +) +U +y + + + + + + + + +a +A +) + +  +) +m + + + + + +y +A + b K 3 ' ' 3 W n ) + + + + ( K o {   b n b b V > 2     > n  ( @ X znbWWWbz? X  V  { c K (  ( ? o  J n z b V > > 2  { 4   ( K c o o { >  K)a?Wo{K' ( z V >  K  + + + + + +    + + + + + +A + + z b K ? ? K K K K 3 ' '    xd K z  +A +a +m + + + + + + + +m +U +5 +) + + + +U + + + + + +m +U + + z b W K K K b ) +a + + + 4 K W c {   z n V J 2    & J z ( L d 35AAA)n3 d ( J  {  J z b c {  * J V b z b?Ko*bb*c?mb @ z V   K  + + + + + +( ? K ?  + +m +A +5 + + W '  '       xx' W  +5 +a +y + + + + + + + + +y +a +5 +5 +) +) +A +y + + +y +a +A +5 + + z n n b z ) +a + + +  K W o { { * J z z z b V V >    & V  L x 'z5MyymmmUA)W L  V >    J  ( L L @ @ X  n V   ( L 3c*>>>>>Vz4@Jc( x b *  ?  + +y + + + W { { c 4 + +a + + + n K         ? b  +A +y + + + + 4 ? (  + +a +A +A +A +A +a + + +y +U +) + + +  +A +m + + + + K W c c o { * V z n b V V &  > b  d WAammyyyyymaUUMMUUA5)b3 x 4 z b J > 2 * * V  4 L X x KbnW  b > z 4 ?a*Vnbnn4xxV{K)? ( V *  4 + + +m + + +? { ( +m + + z b ?      ' K z ) +m + + + 4 o { K  + + +m +a +a +y + +y +U +5 + + +  +A +y + + + + + + ( ? K c {  n z n b 2  > n  4 3b)5MAMeyyyyyyaUMUmya)zK X   d ?KbzW @ 'Kb(*z@2?Mz  V * 4 + +y +m + + +c 2 >  {  +A + + b W ?   '    ' K b  +A + + + +K   W  + + + + + + +y +A + + +  +a + + + + + + + + ( K c {  z n V  J z  X 3Kbz5ImyyymM)K @   4 x ''3?b5M) @  @ WAV(pK5z 4 n  4 + +m +a + + +{  b n  W + +5 + + b W '   3 3 '     3 K b ) +y + + +K J z n J K  + + + + + +m +A + + + +  +  +5 +y + + +     ( K W { {  b b   V @ 33??Wn1Im??ya5n x p 'Knzzbbz5ayUb WAy(>n@X(U' L  J ( + +U +A +y + +o V 2 c + +m +5 + n ?   ' ' K K ? 3 ' ? K W b  +a + + +? { J  c 4  + + + + +m +A +) + + +) +5 +5 +5 +) +) +A +a + + + ? K ? K K W c { {  J > o c o o V  X ''3Kn)Uyc{K(yUW'?bzzMym)K W5Uy4Vz(X@?m  J  +a + + +A + +( > J W  +m + + n K ' ? K n b W K ? W b z 5 + + +4  z > W 4  + + + +y +M +A +A +a +y + + + + + + + + K o { o { { { {  J z  c K K W W c b  '3K?33 33?Wz5ay(Wo4m5))Mym)znAaK>n4{AW ( > + +A + +  +m + +c > b  W  +) + n K '  ' K W b z z n W b n  +A + + o  V J o K ( + + + + +m +m + + + + + + + + ( ? o { { J V ? ? ? ? 4 K o n @ 3KWnnzbW3 '3?BbAm?oc4a55AMAUyA)Am4c2Vn?mK  & +a + +  + + +o V n 2 o  +A + + z n n z z z b n  +y + +4  > n z > { K   + + + + + + + + +   ? c o { * z 2 K 4 4 4 4 4 ? o z  x ?Wnn3 3?BWnay(K{W(mA))))55)5ayMAUay(W*VnzW(a'l b +5 + + ) + + +o > n n  W  +m +) + +  +5 + + W    > V n V  { K   + + + + + + +   ( 4 K c {     J z  4 ( ( ( ( 4 ? *  KnK ?6Wn=m4Ko{K(a5Ay(Ko*JbnzzzzzzzJK(  & ? y + + z n  +y + +c > z V 4 + + +a +A +5 + +  +m + +( o       o 4  + + + + + + + ( 4 ? ? K c {  J n V >   V z n  w (  ( ( ( 4 c  b ( 3W)))b' 6Kbzam(4WccW?mAzzzzU4??K?44Ko*JVbnnnnnbbbnbJ{?I` > w  5 + + b K W n a + +4 {   c  + + + + +U + +  +  +5 +a + + +( { ( + + + + + + + + ? c o o o {  b n >   V z V l (     ? b X 3n))3 +?Wn5ay(4?4(yU)zbK3'''?WzA4WooocKWc{2JVbbbbbVVVJJ>c4UK b ( + + W 3 3 ? W U + + { > z J o (  + + + +y +) +  + +) + + + +) +a + + + +4 { ? + + + + + + + + 4 {  b J   b b > 2 l (     K n X W))))K 6Kb5mmM)W' 3Wnz)m4o>JVVVbVVJ>>>*Waz 4  ? + +) + z W '  3 W  + + +c > z z > { ?    + + +) + +  + + + +5 +) + +) +A +m + + + +4 { o  + + + + + + + +( o  b 4  V   n >  w ( (   ( ? V  L z))W ??W)ayaUA)zK x X @ @ L d '3nAc2>JVVVVVJ>2o?ad B c  + +5 + z W  ?  + + c 2 J J  { K (   + + +5 + + + + + +) +U +a +m + + + + +( W { ? + +y +y +m + + + + o  V z z  x 4 n >   n z n  w 4 (  ( 4 K B L )))b '3Wz)aa5b' x X L @ (   ( L ?a4{**>>JJJVVVJ>*c(yU n  W  + +m + + z ? 3  ' W M + +( {  > 2  c ? (   + +y +5 + + + + +) +A +a +y + + + + + ? c    o  +y +a +U +m + + + +?  V  ( x X ( b *   V z z b 2 4 4 ( ? ? W V  L x A5)))b '3WnzUym5zbK3 X 4   n b b n L W54JJbJ>2>JVVVVJJJ>*o?m)nx z  W  + + +M + +  + + c  2  W (   + + +m +5 + + +) +) +5 +U + + + + + + ( W  *   ( + +U +A +5 +M +y + + +W > V  @ @  J    J z V  ? 4 4 ? K o J d W5))))W' ?WWbz5Uma5zW3 d 4  n V >      > J > > V  ?y?*bnnb*JVbbbVVJ>2cKUb l z  o K ( + + +y +A + + +  +) + + o  2  c 4   + + +y +U +5 + + +) +) +A +m + + + +  ( K {  > >  { ( +M + + + + +) +a + + +c * J n 4 x d ( z >     V z z  W ? ? ? W {  6 z @ z)))K '?BWb5A5nK' x L  z V *    x 'nyobJVnzzzbVJ2oW?IW  J  c ?  + + + +y +a +M +A +M +U +y + + {     { K   + + + +a +A +5 +) +) +) +) +M + + + ( ( 4 ? o > J *  o  +5 + 5 + + +?  > b z  4 X X  n b *    > n 2 W W c o 6 *  n)))n 66WznK' x @  J  { c W K K K K W c { { c K ?  X W(VVVznV>{cK(U? ( V & o ? (  + + + +y +m +m +y + + + o    W 4  + + + +a +U +5 +) + + + +) +a + + ? ? 4 ? W { * V V  { ( +m + b W z  +m + +( {  2 J n  @ p @  z V >    * J n z J 6  p ?? +KbnnK3'?KznK L  * { ?   + + + + + +  4 4 (  + +(  n ( K5{VVznV2oW?(a? L  b & o K 4  + + + + +y + + + + +K o K  + + +y +a +U +A + + + + + +) +a + + ? ? 4 ? c > n b > c  +) + z 3 3 K  +a + + c 2 J n 4 X p @  n z   4 X 4 n J V KzW d x + 'nb'  n  K  + + + + + + + + + + + + + + + + + +K V  d 3a>nzJVznV*oW?(mW l (  J  c ?  + + + + + + + + + +( o ( + + +m +A +) + + +) + + + + + + +a + + 4 4 ( 4 W b V  c + + + n W K  +M + + +W  J b 4 d L ( 4  (      L d l   J z  ?Wb' p L @ X ?zz3 X b { ( + +m +m +m +m +m +y +y +m +m +y +y + + +y +y + + + + c 2 @ '42>nnVoK?(a3 T 4  z 2 { W ?  + + + + + + + + + W { 4 + +y +U + + +  + + + +  +  +U + +     ? n J {  +a + z z  +a + + +W  V n @ x x d  > z  'KWzznzzzb? l ` (    @ K3 L  {  +m +5 + +) +5 +A +M +A +A +A +A +5 +5 +5 +5 +A +a + + + + ? o  n ( KWJbnnbJW?(a3 l ( V  c K  + + + + + + + + + ?   { ( + +U +) + 5 + + + + + + +4 { > 2 { 4 +m + +  +a + + W 2 V z  L  ?3' 3?KKK?  b  J z  X '3KWWK?K?3  p x ` =   ( d b3 ( z ? +y +A + +  + +) +) +) + + + +  + + +Y + + + + ( K o  V  n){oWWW{>JJ*o?()z T  J c ? (  + + + + + + + + K  *     o ( +m + +  +A +m +U +a + + + +K  z > c + +) + ) +y + + o  J z  ( L x ''??KKKzb?' z    > z  d '''33''3'333 | p d L 4 (  ( X Kn 6  +M + +  + + + + + + +  +A +e + + + + 4 K c o *  a?4(?{o?UW x 4 n 2 c ?  + + + + + +  4 o 2 n z b J    W  +5 + +  +a + + o > b 2 c + +A +  +m + + {  V  @ x 3?Kbbn?  >        J z  x '?KK??WWKK3+' p l T @ 4 (     @ 3Wbb3 X   +M + +  + + + +) +) + +5 +M +| + + + + +( 4 K W c { V n(?KooK(Uz? `  V  W ?  + + + + + ( ? o  b n >  4 +y + + n b z n z n W b n 5 + + { > z J c + +5 + + +) +m + +( > n  X d ?Wbb)UMAAAA5b @ z J &    > J n n L 3?WnnznbKW6 x ` L I @ @ 4 (   4 |  (  ( +m +& +  +1 +1 +A +e +| + + + + + +  ( 4 ? K W c { 6 Ka((a=? I z J  c ?  + + + + + + ? c  b V  o  +A + + b W W n z n z K ? 3  ? b ) + + c * b 2 W +y +) + +5 +m + + * z  L d KzA)55yyyyUMW L b V J V b b J V n @ '?KWzzbb?' x d d l p d X 4 ( @ ` | X  ? + +I +  +I +m + + + + ( K c o { { { { { { { {  L 1myUaymU1bK `  n > W ( + + + + + + + +( K o V z  4 + +5 + z W K ? K W W W 3 ' ? b  +m + + W J   +M +) +5 +y + + o  b ( L d p 'AymMAmA? X z n b >   n L  '?KWKK? p | d X @ I L X p p d L  n  W  +Y +) + + +) +Y + + + ?   B b=IUmyaW3 x 4 z J & { K  + + + + + + + + + ? { * J { ? + +a + + b K ? 3 ' 3 ? ? ?    ? b z 5 +m + + +c 2 > W +y +M +a + + + o  J b  ( L X x x WM5z L  z J     '''  X 4 4 ( 4 d x ` ` ` T T I =  n  o 4 + +y +I +a + + + W  2 V n z z z b J   b  nAYeY5' '?KKKK?' | L  b 2 c 4  + + + + + + + + + + W V z z J K + +y +) + b K '     ' ' '  ' W b  +5 + + +W  b z J c + +a +a +y + + c  * V  4 X Wy44?KWcc(5W d  b  o W o n L p L    @ ` | x ` T 4  J { 4 + + + + ?  V z J & { {  @ ?z55z L @ ` l x l ` ` ` l ` ` ` d p p X ( n >  o K  + + + + + + + + + + + +( c   K + + +A + + b K '      ? W b  +A + + {  2  W + +m +m + + + K  * V ( X '(K((?Wcoo?mb X  J W  4 c 4 x d L ( z z z z  @ d |  p L 4 6  o W W N  ( @ L X L L @ ( J > @ 3nz p  z z n ( ( (  V  { K ( + + + + + + + +m +U +m + + + + K { o 4  + +m +) + z K '     ? b z  +m + +( { 4 + +m +y + + + W  > ( x '?nAK{oW??Kcco{oK X  > W  + +4 o  V  @ X X X 4    J    * > > J V z  ( L x ''33 | L  J *    > z 4 X p l 4 n *  b ( | '?bW  V *     J z n  { K (  + + + + + + +m +5 +5 +A +A +a + + + ( ? 4  + + +y +A + + b ?      K n  + +a + + +4 c { { W  + +y + + + + K  * n  'WnyKoccc{{oWa x 4  V o ( + + + +? {  J n b >    2 > b  4 L x 3KbbK3 @   L d ( V *   e  4 x x  B   J n n * w ?  + + + + + + + + +5 + + +) +5 +a +y + + + + + + + + +y +a +5 + + W '       ' '  ' W  +5 +A +m + + + K W ? ( + + + + + + +( o   b ( ?zAy(Wo{WKKWWoKm? z n  c 4 + + + + + +4 ? W  J V b J 2  { W K c  2 b  @ X | KbznK L      ( L | '3?3 | 4 z V 2   * b   b  o o c o {  * J 2  W ( + + + + + + + + + +a + + + + +5 +U +m + + + + + + + +m +a +A + + z K     ' 3 K W b b W K ? K b z  +A + + + + + + + (   + + + + + + +( o  > b ( x 3Ay(aA3 > o K (  + + + + + + +( 4 ? o K ? ( ( ( ( ? W c J ( ` p ?nW' d @ (    l x +6?Kbnnbnbb3 | ( n V > 2   6 J J N J b n n b J & { c c W K K K c { o ? ( + + + + + + + + + + +y +) + +  + +A +a + + + + + + + + +y +U +) + + z ?    ' ? W z z  +a + + + + + + +    + + + + + + + + W  2 J n  X ?n)Mamma)K  b  + + + + + + + + + + + + 4 ? c { o c K ( + + + + + + ( ? W c o { 2 4 ` Wz3 d @ 4 ( ( @ L | ?KWbbnzz?  z V *  > J N B 2 &    2    o W 4  + + + + + + + + +e +Y +a +m + + + + + + +A + +  +U +y + + + + + + + + + +U +5 + + n K   ' 3 ? b z  +U + + +         + + + + + + + + K  2 > V n  X '3bWnz5)n? X  +A +5 +A +U +y + + + + + + +  ( ? ? c o c K 4  +m +5 + +) +U + + + +  ( 4 ? o  4 x ?n3 @ (   ( @ l '?WwK T n >   6 z e N B 6 6 * 6 * 6 6 6   `  + +Y +) + + +  +5 + + +  + +A + +  +m + + + + + + + + + + +m +5 + + n W  ' 3 K W z  + +) +m + + + 4 4 4 4 4 ( ( 4 (  + + + + + + + +( o  > > V n  L d x 3zzWW3  * +y + + + + + +5 +y + + + + + +   4 4 4 4  + +m + +  +5 +m + + + + + + ?  4 'WK =    4 d | 'KbnzW ( n 2   2 z  z J 2 W +y +) + z W +    W 5 + + +  +U + + n n ) + + + +  (   + + + +a +) + + z b ?  3 W b n  + + + + +5 +a +y + + + 4 ? K K K K ? 4 4 4 (  + + + + + + + K   > J J V n z  d ??3?3' d   +) + +  +5 +m + + + + + + + + + + + + + + +y +) + +  + +5 +m + + + + + +(  L ?n 4   = ` T T @ 4 @ L '333 @ V 2 2 1 p d T I = ( (  J  W +y + + n  ? n 5 + + + + +y + + z b ? b A + + 4 K K K ? 4   + + +U + + + b K '   W z  +) +A +M +A +M +U +m + + + + ( K c c c c c K K ? ? (  + + + + + + + +4 o      2 > J V b n  '' X  ? +a + + + + +A +y + + + + + + + + + + + + + + +A + +  +5 +U +m + + + + + +(   ?z5UaU? L   L x d 4 z V  b @ 3bnbW33 L  J o  +5 + n 3 ? n  +a + + +a + + b ? ' ' b + W { { c W 4  + + +a +) + + + n W 3 3 n  +A +a +y + + + + + + + + 4 W { { { c W K ? (  + + + +m +y + + + ? o  V ( L  c + +5 + + +5 +A +m +y +y + + + + + + + + + + + + +m +5 + + + +) +a +y + + + + + + + +4 > @ K5aAK @ n b b b V V J J b z     z V > V p WznbK' L b  K +M + z K 3 W  +5 +) + W '  ? ) + +W { K 4  + +y +A +) + + z b W A +m +y + + + + + + +  ? c { o ?  + + +y +a +A +m + + +( K W c c o o o { o o o c W W W W c o { >  L x @ z  {  +m +A +5 +A +a +m +m +m +m +y + + + + + + + + + + + +m +m +y + + + + + + + + + + +K J L 'Wm) L z J   > V n z z z n b V V V n z z z b J  c c > 'nz?   o  + + b ' 3 W K 3 b +(  > > *   o ?  + +y +a +) + +  +a +y + + + + + +( ? K W o  * > J J >  { ?  + +y +A +5 +5 +m + + +( ? ? K K W c o W K ?   + + + +  K {   4 X x x L  n  { 4 + +m +U +a +a +m +a +a +m + + + + + +  (    + + + + + + + + + + + + + + c b X 3na44W  n  { o c c W W c { {  * V n n V J  o K ?  bn' 4 J 4 +) + z ?  K n z b ?  b A + +W  > V V V J *  { ?  + + +U +) + +  + +A +y + + + + + +( c  V z J  o ( + +m +A +5 +5 +A +y + + +   ( 4 K K 4  + + + + + + + + + K {  b  ( 4 @ (  J  ? + + +m +m +m +a +m +m +y + + + + + + ( ? ? K K K ? (         + + 4 { z d KAKo4'x z  { ?       ( ? W c o { { {  > V J >  K (  K x Kzn' L z  c +U + W 3 ? 3 b  + + o  J b b b V >  o ?  + +y +A + + +  + +) +U + + + + + + W  J z  4 X d X ( n  K + +y +A +5 +) +5 +a + + + + +   ( (  + + +m +A +5 +A +U + + + +( W {  J z z * { ? + + +y +y +m +y +y + + + + + + + ( ? W o { { o W K K ? 4 4    ( W   x 'n{Jb(m @ * o  + + + + + + + +  ( ( ( 4 4 ? W {    c ( + + d ?bW L  V  o +a + W  3  +m + +4 o  V b n n V *  K  + +y +U +5 + + + + + +) +A +m + + + + + ? {  V z  x ( b {  + +U +) + + +5 +y + + + + + +   + + +m +5 + + + +5 +m + + + ? c * b z >  o 4 + + + + + + + + + + + + + + 4 c {   { o c W K ? ? W { J  ?yoVzon J c + + + + + + + + + + + + + + + +  ? c o ?  + + + d 3Wzn3 L  n  + + + b dddW ) + + +? o  > V n n b J  o ( + + +a +A + + + + +) +A +a +y + + + + ? o * V 4 x '?3 @ * ? + +U + + +  +5 +y + + + + + + + + + + +A + + + + + +a + + + +( K o {  J b n z b >  c ( + + + + + + + + + + + + + ( W { * n z J  { { {  n 4 b)?Vy 4 n W + +a +A +A +U +m +m +y + + + + + + + + + + + K o o K ( + + + + d 3Knn? X ( >  + + b ' XLLd b 5 + + K o {  * J b n b J  c  + +y +a +5 + + + + +) +M +y + + + + +( o * z  4 d '?bb? J K + +A + +  +) +a +m +y +y +y + + + +m +A + + +  + +A + + + + 4 K c {  *   { W ( + + + + + + + + + + + + ( K {  n  ( (  n >   b  d 'mcnK?d K +A + + + + + +) +5 +5 +A +a +m +y +y + + + + + + + 4 ? ? 4 4  + + + + + X 3KbzzW3 d  V ( +) + K dLLd3 n 5 + + K o { * J b n b V  W  + +y +U +) + + + + +5 +a + + + + + ?  n  4 X ?Wnzb3  V ? + +) + z  + + + + + + + + + +  +5 + + + +  ( ? W o o K  + + + + + + + + +   ( K { >  X L  b V J J b z @ K{nnW5n ( + +  + + + + + +) +) +5 +5 +5 +A +a +y + + + + + + + + + + + + L 3WnnW' '?KK3 (  4 +5 + b    ? n  + + W {  * J V n b J * K  + +m +A +) + + + + +5 +y + + + +  K *  ( @ X 3KnzzK  n ? +y + + n W K b z  +m + + + + +  4 K c { { c ?  + + + + + + +   ( 4 W z d nn' d 4  4 x bA{n>o  m +  + +5 +A +m +m +y +y + + +m + +?  L 'bn??bz3 x   ( +U + + 3  ' ' ' ? b  + + o  * J V b b J  ? + + +a +5 +) + + + + +A + + + + + ( c J 4 d d '?WnW @ K +a + + b ? 3 3 W b z z b b b b b b b z  +A + + + + + + +  4 ? W o { { { { o c K 4   + + +  ( 4 ? K K o  x bAy5b' d @ ( ( @ d 3zU({VzzVo4 +A + z n b n n n n n n n n z  + + + +) +A +m + +o > L WnK?Wn @ * 4 +m + + b '  ' ' 3 3 W + {   > J V b b J  ? + +y +U +A +) + + + + +M + + + + + 4 o  n x 3Kbznx c +m + + b ?   3 ? W b b W ? '  ' ? W b ) +m + + + + + + + +  ( 4 K K W W c W ? (      4 K c { { { n  man' x d x KacVnVo? +) + b K 3 3 3 3 3 '   ' 3 ? K K K W b b z  +) + + J @ KznWbUyym5K L J ? +m + + + z W ? ? ? '   ' 3 ' 3 3 3 b 5 + +{     * J J V b V >  { 4 + +a +A +5 +) + +) + +) +U + + + +  ? { >  '?Wbz?  o +y + + z K '   ' ? W W K ' 3 W n  +5 +m + + + + + + + + +  ( ( 4 ? K K ? (    ( K {  J L '?WoocWK(Ab WmW2>c?UK +5 + b 3  3 3 ? W b n z A + +? V 4 'Wzzzbzay X n W +y + + b b b b K 3 ' ' ' ' ' ' ' 3 b +{ * J > J J J V V V J  o  +U +5 +) +) +) +) +) +5 +5 +U + + + + ( K V @ ?KWbbnzb  V { + + + W 3  ' K W K '  K b  +) +A +m +y + + + + + + +    4 ? K ? 4 ( ( ? c  V n ( zUc{W4m)3 bmWoWK(  4 + n ' d ' 3 ? K W b z M + +c b  X 3WbnnzAA  { + + + z b b n z b K 3 ' ' ' ' 3 ' ' K +c > b n b V V V V J >  K +M + + + + +) +) +) +5 +A +a + + +  ( W  b 3nzL  + + b 3  ' ? W K  ? b  + +5 +A +m + + + + + + +   ( ? K K K K W {  n ( X '?oKy5K bm?{cW? b +5 + ? dXLLLXd' ? b z  +m + +{ n 4 3KbbyWW(m?  * ( + + b W b z b K 3 ' ' 3 ? K ? ? K 5 +4 * b z n b V V J >  o  m + +  + +) +5 +5 +U +m + + +  4 W  n  Wz'x  y + + b W 3  ' 3 K W ? dd? n  + +) +A +y + + + + + +   4 ? W c o { J  x KW{Wy5b WU(c{cW? K + +b dXLLLLXX? b ) + +  n 4 3KWz?o?yW  V ? + + z K ? W b z b K ' ' 3 ? K b b b b  + +{ > b n b V J > *  K +5 +  + +5 +A +U +y + + +  4 W  n ( nz'  +) + z b K K W b b ? XXK z  + +a + + + + + + +  4 K c {  z b)WW(5b K)K{oWW? n ( m +  ddXXLLLLXddddx3 b 5 + +(  n 4 '?Kby4o{Kyn @ z c + + b 3 3 ? b b W ?   3 K b n z z  + +( > b b V J *  { 4 + +  + +5 +A +a + + + +  4 W  n  z))3 ? +m +) + + n K dXXW  +) +y + + + + + +  4 K c *  K542>2o45b' 3na(WoWK4?d * { + 3 dddXXLLXXXL@@L' b  +U + +( n L '3?W5WW( p   { +5 + b 3 ' 3 W b K '  3 W n  +A + +K  > J J >   o  + +  +) +A +M +m + + + +  ? c  z ( )55)z' * {  + + +y +U +5 + + + + n ' dd b  +a + + + + +    ( K { b ??W>VV>>>22{KyK K54W{oWK4yK  z + ? xxdddXXXXL@4(@3 z  +y + +( { b L 333Kny' 4 V  m + z ? ? K b b K '  ? b z  + + + +W  * *  W  + +  +5 +U +a +m + + + + ( ? o * @ )AA)z3  z o ? 4 (  + + + + +m + + n  ? z  +m + + + + +     ( o z  n5Kc>VbbVVbbVJWmb3 ?U?WocW?(5K X   +K xdXXXLL44@W  +A + + +4 J L '333?W)K  W + + n b n z z b 3   ? b  +5 + + +c    o ( +y + +  + + +A +a +m + + + + + ( ? o > L 55)n @ b  { c ? (  + +A + W ' ? b  + + +  +5 +y + + + +    + + K n  z)4W2>JVbbnnnbJ2o4UK 3n5(KWK?a? * 4  +b dXLLL@@4Ln ) + + + +4 { 2 X '3333?by)3 L J +y + + n K 3 3 K n  +A + + o o ? + +m + + + + + + +5 +A +M +m + + + + + ( ? { J L )zW X  z V J J >   c + + + z n z  + +) + + + + + + +) +y + + + 4 K K 4  + + +? b  zo2>VnnbbV>4Az' 'b)y4?(UK  V W A +n xdL@@44(4L'  +m + + + 4 {  X '''''3?b)UyyA3 ( W +m +) + + + b K ? W z  + +m + +4 { o 4 + + +A + + + + + + +) +A +A +a + + + +  ( ? V 4 3znbWK? L (   n   +5 + +  + +A +a +a +U +A +5 +) +) +5 +y + + ? { { K  + K V n5Um42>22>2{)W Ka((y5zK @ { y + xdL4(@3  + + + + K { * L '3bAUmmA'  b ( + +U +) + + b W K b  + +  + +A + + K o o W ( + +y +U +) + + + + + + + +) +A +m + + + +  ( ? b  znWK33' x x X @ (   > W + +m +a +m +y +y +y +y +m +m +a +a +y + + +W > >  { K  4 { n 3A4{W3 3nUUzb? L + 3 dL4@3  + + + 4 c *  X  3b5Uma5d  o  + +5 + + z b W K b z  + + + + + + +) +a + + + 4 4  + +A +) + + + + + + + + + +) +M +y + + + + ( ( ?  b x ?nWK'' d X @ 4 ( (    J K + + + + + + + + +y + + + +4  n V  { ? W   ?nzza4cccWWWWccoocK5n x d d d x WU5nW? 4 + W dL4(L3  + + + K { * z  X 'n5A55)W  V ? + +5 + W K ? ? b z  +) +A +U +5 + + +A +y + + + +   + +A + + + + + +  +  + +) +m +y + + +  ( ( K  b L 3WbnK?333 x d L @ @ 4 @ @ @ 4 ( (   n   + + + + + + + + + + +W J n * { K o * X Way)z' L 4 ( ( 4 @ L d ?MAW' d b + +b X@((4@K  + + + K {  V z ( d 3n)X o  + + b 3 ' 3 3 W z  +A +y + +m +a +m + + + + +  + + +a + + ) +m + + + +  ( ( c * b  ?KKW?'  d X X X L L L @ @ 4 4 @ 4 (   z  ( + + + + + + + + + W V V  { K o  4 KmymymyaUUymA)W x (   ( @ x byUbKKK L   { +) +z ' X@((4Xb ) + + +( W {  * V z 4 x 'Wn  {  + + b W 3  ' ? n  +U + + + + + + + + +   + +y + + A +m + + + +   4 o * b 3K?3 x d d X X X X @ 4 ( 4 @ @ 4 (   b {  + + + +y + + + + +K * n n >  W 4 W b  @ @ L (  ( zK @  n V V b z  d 'zK @     J W +5 + 3 X4((@x' z A + + 4 c {  > b  L x x 3KKWnzzK d * 4 +5 + z n b W W K W ) +m + + + + + + +   + + +A + + A +y + + + +   4 o  b X 3K3' x x x x x d X L @ 4  ( 4 @ L @ 4 4   > ?  + + +y +y +y + + + o { c ?   4 o  n b J z X 'Kbnnnbbnnb' X  b  * b @ ?3 X 4 (  > J n b >  o ( +) + ? dL(@? m + + 4 W {  J  4 d d x   4 +m + + n n b b 3 ? b  +5 +m + + + + +  + + +a + + A +m + + + +  ( ? {  b  d K3 d L @ 4 ( ( 4 4     ( @ @ @ 4 4 ( ( b o  + + +m +a +U +m + + + ? K ? (  + + + + +( W  b V   (  d  b > { W ? W {  J z 4 @  V { ?  + + + ? d44d?  +m + + 4 K c {  > n ( X x d d x x d d X L @ @ 4 ( > o ( + +) + n b ? W n  +A + + + + + + + +U + + n z b n U +y + + +    ? {  J n 4 ? X X @ ( (        ( 4 ( 4 ( (  z  {  + +y +A +) + +) +A + + + + + + +y +m +5 +5 +A +y + + +?   { K  4 { 4 X L  z J *  { K  + 4 W {  n 4 X d L  n J  ? W W ? ? ?  + + +m + + 3 X4L z A + + + 4 K c {  V  L x X @ 4 ( (   z > { 4  + +a +) + z K ' ' b z  +m + + + +y +5 + + b ? W W W z z z A + + + +    ? {  2 V  x  X @ (                + +a +) + + + + +) +5 +5 +) + + + + +  + +A + + K { o K  + + + +c V   ( @ X x d @  n *  { W  + + + + 4 K {   4 4 n * W    ( + + + + +y +m +) + z 3 X4@b ) + + + + 4 ? W o  n 4 x x 4  n J *   { ( + + + +m +A + + b 3 3 b  +5 +a +U + + + b W 3 ' ? ? n n z n 5 + + + +    ? {  * n L L    n   +m +A + + +  +  +m + + + + + +5 +) +5 + + +c  b    n * { W ( + + + + + + + K { b    b  { ( + +  + + + +m +U +) + + n ' dddddL(L?  +m + + + +  4 K c { *  L L  z n n b >  o 4 + + +y +y +m +) + W XXK b K ?   3 W n n z  + + + + + + ? {  J  X (  z n J > * K +m +5 +) + + + n b W b  +A +a +A + +  +y + +K  V n b * { c 4  + +y + + + + + K { V  n V  W + + + + +U +5 +5 +A +5 +) + + b ' XLXdL@XK  +m + + + + + +  ( ? c { *  @ d d 4 z J     c K 4 ( + +y +U +A +U +A +) + n ? L(L' b z z b b ? '  ' 3 b z z  +m + + + + + + ? o * n ( x x X (  b >   o ?  +a +5 + + + z n n n z z b ? '  ? n z  +y + +( c  * J >   { o W ?  + +m +A +m + + + +4 o V n * K + + + +5 + + + +) +) + b d@4X' K z ) + + + + + + + + + + + ? { *    V  { W ( + + + + + +a +5 +) +5 +) + + z W dd3 ? ? 3 '  3 K n z z  +U + + + + + + 4 c {  b   4 d x X L 4  b z n >  { K K ( + +U +5 + + + z b b W b n z z b 3  W z z b b b  +y + + +4 o { o W K 4  + +m +5 +) +A +y + + +? { J n  4 + +y +) + + +) +A + + ? @X' 3 3 3 ? K b n  +5 + + + + + + + + + + + + +4 {  b z n z z z b > c K 4 (  + +y +A +5 +A +A +A + + + + + + W  4' ? ? b n n 5 +y + + + + + + ? W o  V z 4 @ X L 4 4  n J J b J n z *  { K ?  + +a +A +5 + + + n b ? 3 ' ? W b n n W ' ? W W W ? ? K W z  +A + + + 4 W c o c c W W ? 4 (  + + +a +) + + +) +m + + K { > z z J W + +A + +  + +) + + b dX3 b z  + +5 +m + + + + +m +a +m +y + + + + +( o c 4  + + + +m +) + b  @4x 3 ? K K b b b  +m + + + + + + + 4 K c  V n     b z b V J J >  * J * J b n z b J  { W K ?  + + +U +A +) + + + n b ? ' K b b K   ' ' ' ' 3 ? b z 5 + + + + +      + + + + +y +5 + +  +m + + K {  > V b J V n z V c +m + + z 3 (dW  +5 +A +A +A +A +A +A +U +A +5 + + + + +5 +m + + + + + K W K 4 ( ( ? W c K ( + + + +m +5 + + b W b b 3 d(@ ' ? W W K ? K b b 5 + + + + + + + +  ? c * V z z J V J    * >        { c W ( + + + +U +A +5 +) + + + z b K  3 K 3  ' 3 3 ? K b z 5 + + + + + + + + + + + + +m +5 + +  +m + + 4 c  * * J b b > ( + + z z ? @db  + + +) +m + + + + + +y +A + + +  +5 +m + + + + + + + + + + + + +  + + +U +) + + + b 3  3 W b n b b b b ?  X((@X'   3 K K K ? ? ? K b b z A + + + + + + + + + ( c  2 b n z b n V V b n        { o { o     + + +a +U +A +5 +) + + + n W ' XLd  Xd' ? K K K K W b  +A +m +y +m +y +m +m +m +y +m +a +5 + +  +A + + + 4 W o { { { { { K +) + b 3 ' 3 K K 3 L z  +5 +U +y + + + + + + + +U + + z n z  +A +m +y + + + + +m +5 + + +5 + + + + + +5 + + z W  3 W b W K K K ?  d4(@d K ? ? 3   3 K K ? ? ? 3 ? W b n A +m + + + + + + + + +  K {  > * * J >  { { { c W K 4  + + + + +m +m +a +U +A +) + + + b ? d@4Ldx' K b b b b W b n n  +5 +5 +5 +5 +5 +) +5 +5 +5 +) + +  +U + + + +      4 ( ( K ? 4 ? o ? + + ? X(43  +a + + + +   + + + + b W W b  +) +5 +A + + +m +m +) + A + + +m +) + + z n n b 3   3 ? b b K K K ? ' d4((4X' K b b b K 3 '     ' 3 3 3 ? 3 3 ? K W W z  +5 +M +m +a +y + + + + + + +   K { { { { { { { o o o o { o { o o o o c K ? ( + + + +y +m +m +m +a +A +5 +) + + + z W ? d@@L K b z n n b K n  + + + + + + +5 +5 + +  +U + + + + + + + + + + + + + + +m +y + +m + b  d4@d((W  +U + + + + ? K  +y +) + b ? 3 3 W z  + + + +) + + +  +5 +5 +) + + b W ? ? 3 3 ? W z n W K W W ? L@Ld3 W b z n b K 3 3 '    ' 3 3 3 3 3 3 ? K W W n  + +5 +5 +M +a +m + + + + + + + +  ( 4 ? ? K W c o { o { o o o o o c o o o o o o c K ? 4 + + + + +y +m +m +m +a +A +5 + + + z W 3 XLX ? b z b b b ? ' K z  + +  + +) + + + +  + + + + +U + + + + + + + + + +y +A + + b L((LdXLXd?  +A + + + +  +5 + b ? 3 b z b n  + + + + n b ? '  3 K n n n b b b n b ' 3 b n W 3 3 ' ' ' ' ' ' 3 3 ? ? ? ? ? K W W b  + +) +A +U +y + + + + + + + + + ( ( 4 ? ? ? c o o o c c c c o c o o o o o c W ? 4  + + + + +y +y +m +a +A +5 +) + + + b 3 dXd 3 K b b n n b K ' 3 ? 3 3 W z  +) +) +) +) +) +) +) +5 +5 +A +A +A +m + + + + + + + + + + +m + + b ? @LK z  +  +a + +a +A +y +m + + n ? 3 W b b W W W b z z n z  + +5 +A +5 +) + + b 3 3 b z K ? n z b 3   ' ' 3 3 ? K K K K K K W b b b z  +) +5 +m +m + + + + + + + + +  (  ( 4 K c c c W W W c c c o o o o c K (   + + + + + +y +m +U +A +5 +) + + + W ddXXd' 3 ? ? ? ? ? 3 ? K ? ? 3 3 K b  + +) +A +a +a +m +y +y + +y + + + + + + + + + + + + + + + + +y +5 + W d4L' ? W n  + + + n K   ' W n ) +m + + + + + +y +A + + n b b   ? K K z b 3  ' 3 3 ? K W b b b b b b b b n z  + +a +m + + + + + + + + +     4 ( K W W W W W W W K W W W W K (  + + + + + + +y +m +U +5 +) + + + + b 3 XXLLLLX   ? 3 K n  + + +A +m + + + + + + + + + + + + + + + + + + + + + + + + + + +m + + n  X((4XXd' ? b z  + +5 +A +) + + b K ? n  +m + + + + + + + + + +A + +  + + +  +5 + + b b n z  + + W   3 ? K W b b b b b b b b b b n  +A +m +y + + + + + + + + + + + +  ( ( K W W W K K K K K K ? 4   + + + + + + + +y +U +5 +) + + + + + + b dXLLLLLLXddXX' K z  + + +U +m +y + + + + + ( 4 4 ( (    + + + + + + + + + + + + + + + +a + + z 3 d 3 W z  +) +a + + +y +A +) + + + + + + b ? dXdxK  +A + + + + +  (   + +y +A +) +) +) +5 +5 +) + + +A +a +5 + + z z  + + + K   ' ? K W W b b n z z z z z z n n n z  + +a +y +y + + + + + + + + + + + + +  ( 4 K K K K ? ? (    + + + + + + + + +m +5 + + + + + + + + b XLLLLLLLL@44@d3 b  +5 + + + + + ? W o { { { { { o W K ? (       + + + + + + + + + +y +5 + b   3 b  +5 +m + + + + + + +m +5 +) + + + W 3 d@4@XddK ) +m + + + + ( 4 4 ? 4  + + + +y +y +y +m +U +A +A +y + +m + +  + + + W 3 3 ? K K W b b b n n z z n z  +) +a +y + + + + + + + + + + + + + + + + +    + + + + + + + + + + +y +a + + + + + + W dddddXL@@44X? b ) +m + + + + ( K { { { c K ? 4 (     + + + + + + + + + +m + + z K ? K W W K ? 3 3 3 3 3 ? b  +a + + +   + + +m +) + + b 3 L(4Ldd? z  +5 + + + + ( 4 ? ? K K ?  + + + + + + +y +m +a +y +y +U + +  + + + b K W b n n z n n z z  + + + + +  + +A +A +A +) +) +) +A +m +m +y + + + + + + + + + + + + + +y +U +) + + + b 3  XL@4(4Ld' W 5 +y + + + ? W o   * * *   { o c K ? 4 (         + + + + +A + z z n b b b  +) +y + + + ( (  + +A + + b ' X44X? n  +a + + + ( ? K K W W c W ?  + + + + + + +m +U +a +A + +  + + b b z z b n z n  + + + + + +) +) +) +U +a +m +A +y + + + + + +y +m +m +A +5 + + z n b K W   dd3 W n 5 + + ?   * J n n n n b J > > *   { o c K ? ? ? ? ? ? 4 4 4 4 ( (  +m + + + + + + + +  + +A +y + + + +   +m + + n ? d@((@K n  +5 + + +( ? W W c o { { o o W 4  + + + + + +m +A +) + + z z  + + z  + + + + + + + z b W b b b z  + + + + + + +) +a +m +U +m +y +a +5 +5 +) + + + z n 3  ' ? ? 3   ? b  +a + +? V b J J V V V n z n b V > *  { { { { { { { o o o o o W ( + + + + + + + +y +a +A +) + + + +) +A +a +y + + + + + + +y + + b  XL@4((4X3 ? ' 3 b  +y + +( c { { { W 4  + + + + +m +) + + z b b n z  +) + +  + + +  +) +m + + + + +y +A + + z K ' 3 K W b z  + + + + + + + + + + + b b z n z z z z z n b ?   ' ? b z n b W W K ? ' '   ' 3 b ) + + { b n V > *   { K (       + + + +y +a +a +m +m +y +y + + + + + +m + + W X4(((((@ W b W 3 ' 3 W  +m + + { { K (  + + + +m + + z W K W b n  +5 +A +) + +  + +) +5 +) +) + + + + +) +y + + + ( 4 (  +y +) + + + n K 3 ' ? b n z  + + + + +) +) + + n W ? b W b b b b b b K ?  3 ? K W b b b b z  + + + + z b K ? ? ? W z ) + +( * 4 L L L @ (    ( 4 4 4 (    z n V *  { { { { { o c K ( + + + + + +y +y +y +m +m +a +5 + + b ' dL4(((((4L3 b z n W K b z  +A + + { * b n b > *     o 4  + + + +A + + z W 3 3 ? K b  +) +A +A +5 + + + + +5 +a +y + + + +y +y +y + + + ? { { ? +y +A +) + + + b W ? ' 3 W b n z  + + + + + +) +) + + + W  3 3 K W W b W K K ? ' 3 W z  +) +m + + + + +m +A +) + + + n b b z  + + J  x d L @ @ 4 ( ( ( 4 4 @ @ @ @ @ @ (  z V >         { ?  + + + + +y +m +A +5 + + b ? xdXL@@@Ld? z n b n  +y + +K J z b * K  + + +y +) + b 3 ' ' 3 ? b  + +5 +5 + + + +5 +m + + + + + + + + + +( W  > V J >  4 + +m +M +) + + n b W ? ' 3 K b b n  + + + + + +) +) + + b 3  ' ? K W W W W K ? 3 ' ' K b  + + +) +) +5 +a + + + + ( (  + + + +m +A + +  + + J @ '3333''' x x d d d x L  z b V V b b b b b b b b V J *  o  + + + + +y +m +5 + + z K 3 dddK z z z  +y + +o      b  W  + +y +A + + n ?    ' ? b  + + + + +5 +m + + + + + + ( 4 K o  J 2  + + +U +) + n b K 3 '  ' ? W  + + + +) +) +) + + + + n 3 3 K b b b b b b b W W b  +5 +m + + + + + + +( W { { { { c ?  + + + +m +) + +  +y + +{ * X WnzK  d 4  n V * { 4 + + + + +y +a +) + + b ? 3 '  K z z z  +y + +o  4 L L @ @ 4 (  > o + + +A + + b 3  3 ? b z  + +U + + + + + ( K o {  V  4 @ @ 4  W  + + +M + + n W ?   ? b  + + +5 +5 +) + + z W  ' ? W b n z z z z ) +y + + + +  ? W { { c K (  + +y +5 + + +) +y + +o  L 3nAammA? 3?KK?' L  J 4 + + + +y +m +A + + n K 3 ? ? K W W K 3 K b z b b z  +m + +K @ x x x d X L (  V o + +U + + W '  3 K W n z ) +m + + + + 4 W { > @ d  V W ( + +m +A + z W ?   ? b z  +) +A +A + + b ?   3 W b n z  + +a + + + ( K o  * *   { c K ( + + +m +m + + +W ( 3z5AmUbK3''3?KbnnnW3 X 4 (     ( 4 ( (    J { ( + + +y +a +5 + + b ? ? b n z z W '  ? K ? ? K b  +U + +4 z  x x X 4  n  { + +) + b ?  3 ? W b b n z ) +y + + + 4 W { >  d '??3  K  +y +) + + n ?   3 W n  + + + + b K 3    3 K b n  + +A +y + + + 4 W {  * J V b n n V *  { c 4  + + + +K J x b5Uy(?44(AnWKKKKKWbnzn? d L L @ @ L L X L @ 4 (   K + + +m +A +) + + + z b K b n 3 XLX K n  +A + + > X x @  n  o +y + + b K  ' ? K W W b b z 5 + + + + K {  z X KnK (  W + +m +A +) +) + + + W '  3 W z b K 3 ' ' ' 3 K b n  +) +m + + + + 4 W {  * V n z J *  { K    W   z)Uy?KWK45nbWWWWWbnzn? d L L @ L L X L @ (  > K + + +m +A +) + + + z  + +5 +) + + K X4((4@LLL b 5 + + +c  @  J K +A + b K '  ? ? ? K K W b A + + + 4 o  b 4 3b J  K  +y +a +U +A +5 + + + z 3  ? b n W ? 3 ? ? K W b n  +U + + + + K o  > b z n J *    o c o > 4 'z)U4?4yWK?KKKWbbnzW' x X @ 4 4 4 ( (   z  4 + +U +5 +) +) + + + + + + + + + + +5 +m + + + +m + +n Ld? z ) + + +? > @ x 4 n * ( + + z W 3 ' ' 3 ? ? ? W A + + + W  b  Aym X z  W + + +y +m +a +A +) + + W  ? b n b K K K W b b z  +a + + +( W {   J n  ( L @ @ 4   n V J > *   * n L 3zAAW' '3?KbnnK d L 4 (    z > ( +m +) + + + +) +5 +5 +U +y + + + + + + + + +( 4  +A + 3 @nV*zb  +y + + { n L L  > {  + + b K '   3 ? ? W  +a + + ? {  n  bAmn L    + + + + +y +a +M +) + ' ' W n z b b b b b n z  +a + + +? {  J b  ( d L  n b V J J >      * b d 'n)UAK '?WbW' x X 4   n > c  +a + + + + +5 +a + + + + + ? W W W W o { o  + W LnJ>z' n  +a + + +K  4 @  V 4 +U + b K   3 K W b  +y + + o > 4 W?WWocW @  b  c  + + + + + + +a +) + n  ? b z n n n n z  +a + + +? {  > n  @ ?WbbK3 X  z n b V J > * *  * J z  d Kz)UyyAW d L 4  n V >  K  +a + + + + +5 +m + + + +( c {  K + +b LJ{c@K 5 + + + o  z J ? +y + + b K   ' ? W b n 5 + + +K *  X ba(Wc{{' d 4 V W ( + + + + + + +y +5 + n   ' W z z z z  +A + + +( {  J  @ x K? x  z n b V J > > > J n  X 'Wzn3 d X L L L L L L X d x x x d X @ (   z b >  o ? + +y +) + + + +5 +y + + + ? {   * * > > > *  c + +z L>{W@W2b  +U + + +( o  V n * { ( +m + + z b ?   3 K b n  +y + +4 {   d bA4KWoo3 d @   c 4    + + + + +) + W K W n  +5 +y + + W > ( X W5mmaA)b x  z n b V J J J b z  L 'Knb? x X L 4 4 (          z b J *  { W 4 + + +A + + + +5 +y + + + K {  * J V b n b J * W +) +z Lz>oK@Wnb  +m + + + W W  +5 + + n b ? 3 K b z 5 + + o V X WA4?KWcccK3 x 4  J o K 4 (    + + + + z z  +U + + +( {  n 4 d K5ab d  n b V J J V b z ( X 'Kbzn? x X @ 4     z V >   { W ?  + + +a +) + + +) +m + + + K {  J b n z n J  ? +) + @z*cKWo4' ) +m + + + ? c { o 4 + +A + z b b K 3 3 K b n  +y + +K   35?KWWWWK(' d 4  > { c K ? ? 4 (  +m +  +y + + K { > 4 x ?nyU? @ n b V J J J b z  4 d 3KbzzbK' X @ (    z n b V V V J *  { W 4   + + + +m +A +) + + +A + + + W * b V  { ( + + Lz*oWc{nXK  +) +m + + + +   + +a + + n b b W ? 3 ' K b b n  +) + + o > 4 ?U(?KWWWK(' d 4  n * { o c c c W ( +A + + + + + + + + + ) + + + W b ( x ?b)yx n b J J > > V b z  L 3KWW?3 x @ (   n V J *    { { o W ?  + + + + + + +y +m +A +5 +5 +A + + + c  V z b  c  + +z Xz{o{Vb  +) +m + + + + + + + +5 + + z b b W W ? 3  3 W b b n  +A + +( { b @ 3z5(?KWWW?5 X (   b  o  +m +A +A +) +) +) +) + + + ) + + +( {  X ?bA??4(AK  z V J * * * > J b n z  @ x '3 L (  z b J *  { o W ? 4   + + + + + + + +y +y +y +m +m +m +m + + +( { > n   ( 4 4  n K + + +z Xn{{*JzL3  + +A +m + + + + +m +) + b b W W K 3  3 W W b b n  +m + +4  n ( ?U4KWWK(y L (   z V *  {  + + + + +y +m +A +) + + +  +5 + + +4 { *  ?by?WcW?Un 4 V >    * * > > J b z  4 d L (  n V >  { W ?   + + + + +y +A +5 +5 +A +U +m +m +y + + + + + + W  > n   @ X x x L n { 4 + + + Lb{{JbK  + +) +A +U +a +a +A + + n b b W ? 3   3 ? ? ? W n  +y + +?  b  L WU4?K45n L (   z V >        K 4   + + + +y +A + + +  +5 + + +? { J @ 3b)WoK(An L V *        * > V z  ( X X 4  z b V >   { c ? ( + + + + +y +m +5 + +  + +5 +m + + + + + ?  b   4 X x d n { 4 + + + XJ{{>b4 b  + + +) +) + + + z b W K ? '   3 b  + + +K  V  X bAy3 d 4    z b b b V V V V V *  { o W ? (  + +m +) + +  +5 + + +? { V L 'bU(oW4Ab X b *     * J n  L x d L  z n b V J *   o W 4  + + + +y +A +) + +  +) +y + + + ( o J  ( ( ( @ L x X V { ( + +) + 3 J>Vn3 b  + + + + + z b K ? '  b ) + + +K > z 4 x 3z5yyW X (    z z z z z b >   { W ( + +m +) + +  + +A + + +? n X ?5?W4)W L b *    * J b ( 4 4  n V > *    { { c W ? (  + + +y +a +5 + +  +y + + +? { n L 4 * c ( + +A + b J*Jbn@? b z b K 3 '  b A + + W * b  X KzUym5W d 4   n J  o ( + +m +5 + + + + +) +a + + +K  x W5mcc(? L b *   * J n z V >   { c K ? 4 4 (   + + + +m +5 + + + z n b n  + + +4   x    W  + +a + n V>Vbz ? b z n W 3  d b A + + W  J z 4 x Kzz? d 4  z J  o 4 + + +U +5 +) +) +A +y + + +c *  W)U4Wm? L V   * J n z V >   { K ( + + + + + + + + +y +U + + + z b W K K b  + +   3KWWWWWWbWK?' x n { ?  + +m + +n b*JbnL3 W z n W ? '    ' n A + + K {  * b  X '?bzn? X ( z J J b z      J  o 4 + + +m +U +A +a + + + +o J  K5yKWm? X V  { { { { {   > V b b V > *  { o K  + + + +y +y +y +m +a +A +) + + b W ? '    ? z a + +{   Knzb3 x V o ( + + +a + +n z>Vn4d3 W n b W ? ? K W K  3 n 5 + + ? {  V  @ x '33 d 4  n V J J   > b      ( ( @ 4 (  n * o ?  + +y +m +y + + + o V ( 3z)WWy? d J c K ? K W c c o {   > > *   { o K ( + + +m +A +5 +5 +) + + + + b K 3 ?  + +c  4 KzAA)zK x > c  + + +A + n (>*Jbz@d3 b n b b n n b 3  ? b  + + +4 c  > n  X @   b J      J n       4 4 @ @ @ (  V  o 4 + + + + + + + +c b 4 WaW{Km? d > o 4     ( ( ? K c o { { {     o K (  + +y +5 + + + + z b 3 XLLX3 y +4 @ Wz)mUb x * K  + + +5 + n LzV>*>Vn(@X W z n n n ?  3 b  +y + + W {  V  4 X L  n V   * b      ( 4 4 @ (   n >  c ( + + + + + + +? V 4 3b)Ko?y? d * K  + + + + + +  ( 4 ? K W c {   { o K (  + + +m + + n b ?  d44? + 4 Kz)aAd * ?  + +m +) + b zbJ>2>Jn(@LW z z z z z b 3  ' 3 W U + + ? {  > n  ( @ d x x X ( b >   > n         z V *  K  + + + + + + > ( x 3bA{c?a3 X  { ? + + +y +y + + + + + +  ( 4 ? W { o K (  + + + +y +5 + + b ? ' XbVbnW 5 +W J  ?n5UUd  4 + + +a + + W @nbbn(4@LX b z b '  ' ? n ) + + +( o  V z  4 @ L L ( b >  o {  > b n J *  { 4  + + + + + {   L ?zmKW4A' X  { ( + +A +5 +5 +A +m + + + + + + +  ( K { o 4  + + + + + +y +U + + W  d@zJ>z + d 3n5a5n L  {  + +y +5 + + K X((4@LXd? b b 3  ? b  +a + + K {  * V n   z J *  o W o o o o ? W c   > V b z b > *  c ( + + + + + +W b  @ x KKoc?yb L  o  + +5 + + +) +5 +A +m + + + + + + + + 4 K K ( + + +y +y +m +a +A +5 +) + + n ' dL(zJ2 +  'b)Am5' b c  + +m + + K xL@4(@X ? b n ?  3 b  +y + + c   * J V V n n  { c ? ( ? ? K ?   4 W {  > n z b J *  K  + + + + +? *  @ 'W)(an' @  o  +y +) + + + + + +5 +A +a +m +y + + + + + + + + +y +5 + + + + + + + + + K dL4n>J( 4 b @ K)UyAz   ? + + +A + + K dddXdXd' K b b  3 b ) + + +4 {     > V b V  { W ? (  +    + + + ( 4 ? ? K o  b z b V >  { ?  + + + +4 V  @ 'b)mAn3 @ * o  +y +5 + + + + + + + + + + +) +A +a +m +m +y +m +5 + + b ' L((((bVzL  +K z d n)Um5z x   c  + +y +) + + K  ' ? W n  + + + z  + z ? 3 W z  +A + + +4 c { K (  + + + + + + + +m +y +y + + + + + + + +?  V z n V > o 4 + + + +? {  b  @ 'W)UAn3 d ( > { ( + +a +A +5 +) + + + +  + + + + + + +  + + + b ? X4(@L@(K  +c '5aUn X z  { ? + + +a + + W 3  3 ? ? K K W b b z  +U +m +a +5 + + z b ?  ' W z  +m + + +( K c o { { { { { K  + + + + +y + + + +y + + + +) + +) +5 +A +a + + +? {  V n z z b  c  + + ? {  J 4 x Kzn? L  J ? + + +y +m +A +) + +  + + + + + +  + +) +) + + + b ? X4((4LddX@44Lz U +{ ?5mm)W L b  { K  + +y +5 + + b W ? ' '     ' 3 ? W W b b b n z  +5 + + + + + +U + + n W 3 ' W n  +A + + + + 4 ? ? K W W W W W W W K 4  + + +a +5 +) + + + + + +  +5 + + +? {  J b n n z z z z J  { ? + + ? o  J z 4 x ?nbK d ( > o ( + + + +m +5 + +  + +) +5 +) +) +5 +a +m +m +5 + + + n ? XLXpb + WUU' L J  c ( + + +m +) + + n b b W W K K K W b n z z z  +5 + + +   + +A + + z z z z n b ? ' W z ) +y + + + +     ( ( ( (    + + +y +A + + + z b b n  +5 + + +4 {  * J V V b n z z b * W  + 4 W {  > n 4 x 3WbnW? L  b  { K  + + +y +5 + + z z z  + +) +A +a +m +y + + + +y +a +A +) + + + z W ' ? W b b b W W b z U +(  bmyW 4 J c ?  + + +a + + z z z z  +5 +y + + +( ? 4 + +a + + n b b b b n z b b ?  W n  +A + + + + + + + + + + + + + + + + + +y +A + + b b W ? 3 3 K n  +5 + + +4 {   * > J b n z n V  o  + ( K c {  > n ( d '3?3 d ( J  { W ( + + +m +) + n n n n z  +) +U + + + + + + + + + + +m + + z ? W  +  + +a + + n 4 n5)W x  V { c ?  + + + +U + + + +  +  +) +a + + + ( ? ( +y + + b W ? ? ? K W b b n b W 3 ? b ) +m + + + + + + + + + + + + + + + +m +5 + + z b K b n z z ? K ? '  ? W n 5 + + +? {   * > V b z z z b > {  + + 4 W o {  > n ( d  x @  n >  { W ( + + +a + + n b b b b b n  +) +m + + + + +    + + +A + + W W 5 + + + + + + + + + + {  x 5az x  > o W ?   + + + +a +5 +) +) +) + + + + + + + + + + +) +5 +A +A +) + + + + + + +A +y + + + +  + + + b ? 3 '    3 3 ? ? ' ' ' W n  +5 +m +y + + + + + + + + +y +y +m +m +A +) + + n K 3 ' ? W W W ? ? 3 ' ' K n  +a + + +4 o  * > J b b n n n n J  ( + + + ? W o {  > n ( x X ( b >  o ?  + + +A + + z b b b b W K W b z 5 +y + + + ( K c o c ?  +y + +  + + +4 c { { { o { { > L ?)5   c 4 ( (   + + + + +m +m +m +m +m +m +m +y +m +y +y +y + + + + + + + + +m +5 +) +) +5 +A +m + + + + + + + +A + n K '   ' ' 3 W b b z  +) +A +A +A +A +A +A +A +A +A +5 +5 +) +) + + + b ?   3 ? ? 3 3 '  ? n  +a + + +( K {   * J V b b b J  4 + + + + 4 K c { * b ( d d @  b >  c 4  + + +A + + z z n b W ? ? K W b  +a + + + K { ? + + + +A + +4  J V b V V b n  x 'n)yb  z c  + + + + + + + + + + + + + + + + + + + + + + + + + +  (  + + + +y +y +y + + + + + + + + + + b ? '   d' 3 ? K n  + + + + + + + + + + + + + + b 3  ' 3     ? z  +U + + + + K {   J J J >  K + + + + + + ? W c {  V  @ X d x d d X @  n J  o ( + + +y +A + + n b W ? 3 3 ? W b ) + + +4 { * b n b  W  + + o b    ( 4 x W)mm 4 4 +y +5 +) +5 +m + + + + + + + + + + + +    ( ( 4 4 ? K W o { { { W 4  + + + + + + + + + + +U + + z W ? 3 ' '  XX3 n  + + + + + + z K      3 n  +) +U +y + + +4 K c c {   *  c  + + + + + + + 4 K c { J   4 4 4 4 4   b > { ?  + + +a +) + + n b W ? ? K W b z  + + {  n ( 4  J 2  ( @ X WUbx ( +5 + +  +A +y + + + + +  4 K W c o { { W ?   + + + + + +y +) + n W ? 3 ? ? K ? 3 ' ' ' '  xXLX' b b ? dX ? n ) +m + + + +  ( W o c  + +a +a +a +y + + + +  4 W { > n z V  W ( + + + +m +) + + + z 5 + +K J 4 x (  z J * > n  4 L d x '?Wzam)  +) + b W W z  +m + + + ( K o   J b n b V J > * *    o K (  + + +a + + b W K ? K b b b b b W W K ' XLXdXLxK n z b K xXXd3 W z  +A +m + + + + + + 4 c { { c ?  +y +) + + + + +5 +U +m + + + + + W   2 J b n z z n >  c ? ( + + +y +a +a +a +U +5 +) +) + + +) +5 +5 +A +a + + +?   d (  @ X X X '?K??????Wb  +) + n K  ?  +y + + K {  J n z n b n n n b * o ( + + +U + + b W K W b b z n b K  XXL4(4X3 b n z z n b ?  xpx ? b n  +5 +U +m +y + + + + + + + + + + +M + +  +) +A +a + + + +4 c {  * V n b J  { c K ? W W K ? 4 ( ( ( 4 4 ? K c { J z  L 4 L 4  ( 4 4 L d 4  +U + + z ?   z  + + {  * b  ( ( 4 (    n  c  + +U + + b W W b b z b ? L(4d3 K b b n n n b W ? '  x 3 W n z  +) +5 +5 +5 +A +U +a +a +a +M +A +) + +  +) +5 +U +y + + + ? W c {  J n z n b J J J J J > > > > 2 * *  * *      * > J b z z z z   4 L d d X 4   z J o  + +U + + W 3 ? ) + +  2 J n ( L d d L @ (      V ? + +a + + n W b n z  + + + W 3  @(L ' 3 ? ? ? 3 ' ' K W n n z  + + + + +  +) +5 +A +a + + + + ( 4 ? W o * V z z n n b b b n n n n n n n n n n n n n n n n z z z z n n b b V J 2 *    2 J V b z   z b J  W ( + + +a +5 + +  + +  b z  @ x x L 4 (        n  c  + +U + +  +5 +5 + + b W W 3 3 3 3 '  X(4d' ? K W W b n n z  +) +5 +A +a +y + + + +  ( ? K o  V z z z n n n n n n n n n n n n n z z z z z z z n b V J 2      2 J n z n b > *  c ?   + + + +m +y + +c J z  4 d d @ (        n  { ?  + +A + +  +) + + + z W W W K W b n b b W K 3 X44@p ' 3 3 K W W b b b b b n z  + +) +5 +U +m + + + + +  ( ? W  J z z z z n n n n n n n n n n z z z z z z n b V J >     > V z n b J *  { c K 4   + + + K  b z  4 X X L @ ( (       b  W ( + +y +5 + +  + + + b K ? K W n z z z b W 3 ppx  3 ? K K K W W W b b n z  + +) +5 +A +a +y + + + + + +  4 c > n z z z z z z n n n n n z z z z z z z z n V J > *     J n n b V 2  { c W K ? ( ( 4 K > b z   (       n * { K  + +a +5 + + + + + + + + + n W K K W b z z z W 3  pdpdx GMD.LightSand GMD.DarkRock GMD.SandBurntΝǗz~ĝrɝɐΝɞɞĝĝΗĜjXOOaržaOOXEE]jajjaHXjɊrOOXrza,,Hdzrjjr~˓jXOOarDŽhozΞaOOXEEajajjaHXjs]OXOOXoɝza,,Hzzrjjr˓žž[izĝ{zz˝ɓaaajzΞēy@<<:00..:99?HQJH?:059355@HH;0..0000508?;====;99=::300000..<99???<7:0.50.9DD@0058<8<0.:::::000003300:<50053<:05858:00:::93=33305<<:9?9=300.0000::=9<<><9;JU]bbYQ@=5057GVRMD?=9:::::33308HYbb]ffYUYUUYe]UH9@P[b]bb]RD9::33333.::::059DMYrreM95.::53==33=;DMQUUQHD;5..35503?D@=333:=:300005:0005500:<88@98<.5<500<89DDD@;?88\kYH837=.03:@?8?.5GMY[b]UYQ@?9=3==303.0<9<8<.550.0:0000<87.<0..30579@@<::3305.:000550.0<<8@DMQUQHHD;;;==33005.58@D?DDD<5::.<:<.00:9@@GG80::.58@GMQUUYQED??DDD???9:<00...7:8@D9@<@UgUM@90Jab^b]`a[S<=50:9=;?DGJG@;=95088<<000<9@GGD@33000.<:<:59DEMUYQED??DDHMMHD?==9:8?=3300..7:?D@DJ[gssR<<8<8<<:0@Padbbbbaa^VUbb\XPRJ@9.=;HHHHHDDHHHHD@???<985.5<<@DGJMGD???DH@??::=9DGJJMDD?9338??:5.DD?=0:9?@HHDHH@;?DHFGJ@?9:0..5<988<558<899:0.5099??70=9@DD?DD@EEEJHJQMQMMH??93:@MQU\ddnjgg^J.55<<:8J^jnkorrri`^addg[JMUSUQMH@G@00::003:=3.000:8<@<8<0.088<8.0000000000000.85..55<0000000<9@@?00:9?9?DDDDDDDDHHQMQME>3:9?GRY\dda^YP@5<::<505DD??<<500.00.505.::8<<@G@5.0.59999999:0:00..8@PSRSUSSUGD:=DMYdnpnb]]b]]b]]Y[U[D<@D@DG@DDD;3..::05000000..0..0<8>8<@8755;??7.0<<<8<<=<755.5:::00039?DDD?8555.0:0::::000055::005.99<<::0085000:9999999:0:000000.58?99=::00:39?@@D90.55:0:0::::0005::000059<>9:<@<9<::0:.000:00.50<<@J\a^[XYUM@<.05HUnnXUQUUUMHHH@<<:8@@9@@D=..0000:00<<>5::50..<::::5<<<<<<<<8<<.05998:05..>99;DD@?9<:..000000::00.00<:<<00.538<<75.<@GGJMGD;??999:9:3:33005><999=::::0005088>8.39800.5<899?FGH@<<99::0:::000.:005.0000..78DGU[_ddd[MF<5..55@Qrb]MGDD98<0.505.:999:.599??999.<<<<@@???D@@D<>><<<88<<899998<<<8<5<@DDGDMMH?93030007@@<9?99:::300:88@@<<00899<0..9DMFH@9999::3:=:990:5::::::<8DP[a\\_d[M@<...5?Uo]G@<89>850<:5558@D;;;9=??99:03:;????9=0<<@DDD@@?DHGDG<8>78888<89DD??57<888558@DLMMH?900005<<@@9?;;?93::..:<@@@?@8008990559DMD??99559??D;9=:3??::.00.9@MX^^a\\XMG5...0DUkbM@55>8555<<<55:9??DMGHHD?==??99:0::9999???=:<@DGDDD<@EGDD.<788<7<<@@DHD<80.8@@D@<;;;?9=::05@<@<<88799509<8<7DJLMG@8<<0<7<8DHMMH5.<:<<578;D@DD@500:00008<@@D@:9999=:.000<<<8??<??.99<>000:99<=99999:00.=????00:;MQYYYPGGG<5..50<@PbpfUH7::50<<789<@?99<<<0.::9==9DHDMD?9750005:000::99==?DD??@@@9<.0<.5.0?DD.::::<0.0:@DQQMH::00?EUXXJ??@9:00<:<.08???95005.05005:::HHHH95578??9?UYbbM?5:::;HMMD;59?DD?@@GS^a^XVVO??::.:00..05:<0.::99D?D???3378<::=9<500.:;HHMM??00997?@@@.3?EHHDD?DD.<87@@<@8989???;>0990<9@GJQD<<8<<5535553:==DDHH905.8<::0<9<95.5:05.5::?D8=:9::::=HH><5?DHHED?99995<:<?HHED999??58<@DLSX^\UD5:9?D??99??==<90:.0578<500.505<<<5.DQUUM93DD??.08?DHH;::=995<9==9DDHMUQOD<00DDD.DIGG@8<99;??DDD99::0000:<8@DHHDGD09DEMQQQDDD;DD;<0::50<7<<@DGMSXM@:9?DD?;;???DH95:50..5.00.5<<<7<.9QUURD85DD?<...578<59HPRSPD0.5??=0.5078<@@@?=:::995@D@<9:00.5QUU?.5=<705058??;:DDJJ?D@DD.005><><@@@;?8<0:30.0:05<89<<<<@<855<9:;?D@D?9?H@@?9:::0..57<<><5.5FMSRXXG08DD<:<7<<8<<@=DD8::9908@<<7..50=UUUD0570.5<<<<8<<<88<99<>995350:::=;@DD?9305<5<<500...550.00<55388<<@<<8<538DJMD8008RYYPDDJHF8@IGJMMMMMPRSJ@DD@8500<8GJRPUPOJD@MJRMG@8<<875DMOPMLD?99<:JSa^VUM@D990039QQPRMDHMQUUYYUUMDE@:.MMQQG87550<:.00399=98GMXXX[MOD:889<:000:9?;@D???<@DGHDDD9<05<5855<<.<50505.0@IP^ggnaGHEHHMUSUPMD@7..::.005555??QQM?@U]]MD@0.33333:::38GOMMQYYYUJJD?D99??JMMQQMHHD?DGGD@<<<9??DD@;DDJOQQH??99300.50D@9:79@??D?DHHH@>300000:>@DDQUYUQMHD==0308@EMMMMMMHHHDDDJRXbdbga[J@55<<9??DD@DMHGMOPD?<..??00.08>GOD@:.38@?HHD@DHHHDD<5:<8?DQUYUQMJED99:00300599???DDHHHHDDP[debdaXJ@<008?DD?DHHMHMMQLMMDD?D8=3<5.599:5::30:DMMQQQQUMMRH??999:::5:05<<::5<.3333=9DMHDGMMD@0..50:05<:<00.<8>DLJRGO@50::?DHHHDHHEEHHHG800079DHHQQQQMJED99:330000033=9?DDDHJHUYdnde^[G@<00??HHHDHHMHDMD@9??999:0@@LGLJRG7:.0:??DHDHHHHHHHMHJ@330039DHHDHH@@???9=::3330000035==?HMUb]YdnbXM@<0..??HHHDD??DDDD?9.5????DG8:?9HM]bYGD?:0000:050.=78??5..50<8<@<@D9<0000::5<<85?DDHHD?DHHOMOMG:::.0:93395:003333=<@DHHDHU[TQRSGD99<.0..:000<<@?H8=3?:309..?MIHDD?:?DD980055050500::<0:9?9????GMRMOD8.009:00:9??DDDDDDDGMMGHHOPD<85@RD<@53:03.:?::<0300:09:?DDDJ;DH?900:::00757009900::.0::99875.500DD33:<5:<559??<37<05.000:9?9????DRQPMJ@<00..:3=:9?@EMHHDDDDMHD@@@><<07J@DR8.350:?8000:09.3GGJD8=50.99?MMRVajjbbb]YMH?;;@;:05==00.:0.000008<50500:<305999D@5.@D:??DH9:DD?D?337DDOMHDDM@DD;DDDO<:;D@05@?<:.:5.::55999889<38@HHDD;5.:<5.:<5<>3.0008:DDEHH50<8.57<833<9<70595==<@DHHD909:9;QM<:9.073J@M88G<99.=@D55508:89:::99?DDD@<9999<<<<8?MUYUUQHDD@5..099D??900:;@D???98HHD;><<@DD@99:99<@QQM@5:00:??:..:==:5<@??<9:999;?;9;99<@@@@5:98.00.<8::9<<<00775095@D:<:79@88><9989:::99?DDDJM@DD?D;<=8.0::<5HH@.>88@><<9855?HQMHMHEDDD<<@GIHQUYQQMGGGD@<::<8?DDDHHHD9<<<<=9<995DD=<00.7=<0=@HD<>8.5>??<8=:50:9??DDD>@@@GJED@:5009?;999<@<8..558@DGG?><.9DD@900<35099??55039?9<0<<@@?::0050;HH@<0:0.58<..<<@<@D?D?;@GMP^X^SGDOMMUYUSXPDD933:3:3<8@]YROMJJQ:9?990039;9985<..05<8<><0.0??DDD5::99DD<7@@H@LHDTWVLD?<0993.@HJG@?8095<58<0..<<@@@<:999DDHLQXad^PHQPMUYUXT[QD9.5:0.00.MM:??=3MM==<<8<<758<:8@DMLHHJE??5GLPJ@<.YY<<<<57<><5.::DDDHH><5?Y]nnYUMD<=;?<<>DMQSXM98DD98><0<9<.5<>8><::303?HHHH?5DQfrrfYG<5::558:<8899<303?DEMM??MksYD355589><<0<==:99<@DHJGJDDMMMHMHDD?98GPSXHHD@GMYYMM@808@<@MQJJGL80.:9SpYG3000::03339:<<7@@D]]M90;;:.0:?@@<008503::9DDDHH@90.00:99339@DHH99.08DMG?9;DQYbbUUH?50<9?D@D<<<505@9DMQUgnookieUQYUMJG@999:00JUffUD33998<<<<558DGMD8.0:9@JSa`XUUMJGG@95<??HH??7.@GD?9JJGGHHMUQNQUQHS[eeYH=?Y]]U?HMM=0.8GRMRU<.?DUUUUDDGQUUL@?0GDDD8:0=9;??@@?99989900HUfff\YiibQ95.0<<5<9<<<.::::::.M^\^]bigspjdXL99::993<998?HMH@DHDD@J]nn]Q=9UbbU93HQQ::.5.009933::8???5<@MbkkeQ=.9QYYUD=033<833@Q]grdUQMGD@8.00.<05..0:5.::??QY`bbQ73:3DMSD99=33DG99?QYYU@000.99.::DDHHDEEPPJDDD?D8<:=DMUUUQG<03:::<5:99??????9990..MYeoYD550.3DD?????::.:9DMY]b]`[SLHRekrp\OD9?9<0.05500.5:9??.5??;QQ]eeU859DEJ<::30000??990@RUMD500058><::??HHHH?GJD@??;<80.9DU]]]M?099?9?<<:??????????????9:35JU`kbM::8:5.?DDDD?DD888>8??HQYY]b]`bbe]ifkrp[G530::.39??990000.599;MMY]]Y?.99DD8.33.:??.=HMM99588<<<;??DDHH<@DD???9<09HYffbH5099?;?MMMD?????????9???9::::MUYfonR@9599DDD@?@DD988<8?@IQYY]`bbiffnifkkhM<00..003=9;;;=33=99<099??DMUYYYH...599300::993DMM??008??99DDD??@<<@D@?=3.9M]kki<.=9?DMMMD??99:::::3:::HQY]kaUHD??<?IIEDDD??<@@@?DIJQYUYbbiffnb]abged[G033755000==;;;999=998<5<899DHQYYYH5...55<785::50=99?DDDD00=??99DDD??=88<@>5:05750?M]rr]=.509?DDDDDDSZQNH@?;DD@@@@999??=870<.<<=<::3..99DDDD?5??9?@MM9::.05.5785<:;QeffU.<:.5::9<<89:0:9::9:0::=??HY\gggd\SMDJMPSTZMG<<9DDDDD@<.008.0000<7<503:88888<5.0055.3<9<=@@<<055000000..0<@DGGJRMQQQQMGLD?<30:??59;UYeeJ857550559?9??9:9=9=:3:;=;<::=7533:8<=@DJJ@<><:==;=9<:.5>.93:00:<580:05.5:<75:8005<9753:8@8.8HQ\\UD7.5<::9?DDDD@9=?99?D?D?9<5:8J^nngaPQHD@DID@<009@MMMD>039??DD80??=:998<730::9@DJMXPJD<@DDDD9=<.5>87..7<@<@HMJJE@?<87<:0:3:005.D8:55.0<<<<788<33000<8@@DHHD?9:8LQSSN?..57<5.:@@EEEJHDD??;@DHHMHD?3.5G^gaUG??98>8><009DOOMD?5::=;=8:00DD@99??;<50:9@DMXUYMGHHHDDD?=0000::058<<.08<80<9?99::<..0::9335<0DG<5<0<5.<7<<97<:99?9;D@LUUM8DLGI<57<:<005HLM955005508::<00::50.99558<50...0:5?@995<:<9@>99??.8@@@?0055<8<.5:99??AIHPPKG@>.<98:.0.??8<<8..:<5555<555999909@@?50<050509?9:0073DDGGJ9=98:::9;EHHHD?9=53:9==88<:::::=?DD;<5005:<98?DNNPOMMMEE?DD?D?8>5.3=??IJ[ppa\[MLMNVW]YYU[rrrribfbb`VQD>08<93500:5>@8<9900MM7<80::55055.::0059??=50<<::05@DHHD::903::9DHHHH?;==<3:99?988000.033=??;97:00<<9GT]anrohsssskb]bbYUJIbkk]YYUQUQPLJHD::005.:<9<@@<::99:@@.0000..0.05::<<>8<<801@@50<:=??00.5====03<9==9???930588<><0.00:?JQYYYUMGD??DQ]^^ieeU@RV]bnrofnsspsk^`ZQID?HIUYbfkb[SMD?@JPNMQQI<::00.0505.::<<8<::99:==.00..::9:...00.<9<<>8<7.??..::00==<500==:3===3=<<@<87?DIG@7000038DRQOLLDDDHLOV`^^^ihm\GRSVb]bbfdnsppjY]`P??9::<89DMSSOD?30>IIQQMM<7.3300<<899<898309900.==53...5<<8??8>8<>55>997<<7.5<:53<=>5000:300:?D?IMOQSUQPPMG@733=9DJQRMLLHDDHLOV`^^^hmkbDMRSRUY][Xajg`N?I?305DOQQH9503?@LMMQI@7.??:.5DD?9?<@DJ@<..533..::50.<9GDE@@@@8<0<<<>95.::555.??::5>53307>?D@MMOQSUQQSUOL@??DLQZQQKHHH@@DDLKLLLKakf]@QPQOIIHLLMTSQ@:00Q^^Q@>5<=GLQVSOG@<=DD9?@DD8.503303:9<089;;=<@DILLQSUSQPHHIORZZUNDD9999<;998<3=Nfc]GOQPG<>998?DLL@533.UiiZK<.@IQVTWSIG@;KK?3DJMM<535899::05<99<:<0.5<9@JSQPOOLTVSZUOKD=05<=@D@LG>7DD99<0::::?DHHGG@953<8057<9<.9;;930089::0.<8<<0...<:<99<:00:::=?HHFGG<>58<8@??8.??;??5030.0<8..5>GQPPQVXSRG@@<9=3005@??@<88<::::303===.03=;H??@@58:87DD<<00HHH99<:5030:0350..00.8<8JPRMSRJLG@DD?99<@??5:5=588<03===00:<5?85:8;DDD.99HKKD==<5.33:33:500.000033@IHII;=..0.0>?@@98SXXXRGGWW@..8JOSYYaRG<75>DGGJLG@5.08GAEB000;NN<8????D@???90.39DD?;9:0.IMSJ;.0DSUWWVOIKUU<..57.00>@GGA09LL00@DD?@<==05555==.00.<<.0=85.:0::0605.885000<9900005755DGG@09995><8:?UUL99330007579<8;??DHHHLJD@????@D@??DDDHLPSRRRTQLLGGJIKNI<20=<+5C.59B]uj\ZUQD800<7558;;DHV^VL@8>9<5.58<7.@PRG?0???05::050753..9DD@@9079;;@J>NPP::3::9?DHD?:7550.5.33:9<9><87<00.888<.DJXPRD=59@@<300.55<7<50:.009;??9:==50.::9DHHKE=5.55>5.::9DHHLH@<5<<;>NNL034QSRL@>.533033-0-;T^jmvm\EG@<10...008DDJ88<<@?><::0@@039903:;?DHL53009999=:5000.07<0=?DHDHDDHD?8@<:00EE00;??:<@DDDDD<003??;;::35<:8DNLLNLELKHNPKHHD7<@GIJJPPG<.:::==;;333305=;DNKLNLNKKHNPKH<=;KKKK=00NND8:0500:0.:003708DG<9<50=DDNPPPONJD<000::5<@GMNRSVVWVVQ<5:9::<@<:.GIJLPUYMG<.33=99993.533039D<@FG>:0::??=<500D@ME?DG@@DGG9.=JLJUY^SOG9==:??=:30..5<<>50009D=<;EPSPNKEE;3KQQH9NN990::00::90<==:7@GPSSPK@9.7...8DDPUWWVUOG?9=;>@JHDHD;=5.5.08@<99>330::5993<><@F8:=7<.<8???559HMHDGDMRPJLD95>DGO^UVMI@0::??;935.0.:<<><3;?509=5?DDD:0>95HRRH@5KKK<99=<0:9@HPPNKH??3=;LDHD@;057DLUUURG??9050><@8@8<9955::::<<>80=<:5??@<98HHHDDMRPUVSRPJ8>GUVOSMD503DD;9905.0??9558<=?30:30::0099;=?DRTTN<7@NOOD05<<8==9?BGNLPNHD;=3?LUUUPD7.3;ENPNHHD9==><@DD@88<<<<:5500053500<88<@??@5005??98<@JUVXYRSSQG7>GOSNOD<;;EE9::05.05??;GD>:8=0000::009;=H@GTTROL<79OOND<=8??:30089===9?FEED9??>:08=GDGKNPPNNLD938HTUVUM<@LPTTTPNKHKHDDDDD8>5<75<500:899<:>@D@=<@<<.0559<:8@MXYSUVSVUJ==GNOMD?0399??30500507GD<@@=.0.0.:99?DHD@GROLN<<5<>;IPPI<0<0.33.5@GSRVQVUURG@=@MMH;3:=990505785<@MM@3.3=.::::99??@DGGLKNDD9<58D9;PTSKI<.5?HOTYMSN?A??=20=3039999;8@@>EHIORTTPNLKKHDDDD@>5.ARVWVVQG99807JSRORUUUUVWWVTRK@?:35555...5589@D?@LGL@9<885..0..5<8GMPURPD@59MMH;3:=9950578753=35D?JRZYMJ;;:@9;92=33=305<8=9<@HKNRPTQTTRNLIEDDDD@;8050GTVVUSLD>?<>JRTSRRTUVWWWWVURNJ?<35550...505<8@DD@EGLD=<:<5......005.50_e_OPQNKKHDDHKHEHQOZPL<9::@6<:?:8003=305.557>9<@HPPTSUUTQOHHHDE;;=>88<><=5.8IOPNIKKNNPPRQQNJDLKNNPPPNMH@<;800<8<><5555><8>8??8<<5...3500.009903898<9988:000=9??999<5=@DHKRSSRRMOI=0.=:ADKLSRNNI@<6.5:<0000.33599::<@@<9<:.5033;??@@8870:<5-9@IOTUVURPKD85::.::53333999@@<8:00.::399<@G@D@FRHYY`_da]MLPMUSWUU`bddnpj`\]K73..9DE@ENSUQI@999<00009999=.00.33==03=??DD:8?=3<=8;7=?.7ACJSTUVVVUPL@.5<<5<5::08<799099<8@>5:000399<5>@GQMPSPR]]bkria]PMPMUQPJHIJXY^nnZMMD@9:5.==EENQQH@999::::.7;DD9=000.0==99349<>HHED58?878<8<<5599..8<<<0550.:89<>5.99??0.=?JQT`ZY]b]bkri`QMJID8D<05CMIGD@.358GRWY\]WTSPKNHD?995.;LL@IKPRSTRN@????00<35::9::9..05..7<..505<0.0500500...998<<:::9?HMUQUYYQQMHDGJOG:9;DD@DHH;<0555:09DJMMD?80<:<><3:::9;@HHE<::0099<8<@LJRG<0MUUL@D;9?99:<79<<7<.5<5700005:00..<::99?9<08:<<3::3::33;=;@HMMHHHDJOVRD<7:=DD??MM@<.:9999:5?HMMJH900::5.<;QSMH30<;;9<5.D^[UMGD;=?99<<89<<<:<5<7<::55<8<=9???<;?<80.59950::0::000:9HHHHDDGMVRXMF@955<;??99DDD000<<9999<DDMQQ@900<88:8?DDJUag^G5.3?DHMLLKHHHKKIQQNKKKH<3005<@DGDMQQQMHG@DD<95750.9<9<=:5:875::??.9DD?9:0008HHHH@95<@DHHHD@?<00<@DDDDD9@<<>8>8?F@7009GPUSROJDD5<<<3333.5500.8788<539:0<.0000<@GJRQQQQQOHD<=??99?@@@@DD;DDHQQ[UD75:DGU[^iibbQHH=0:::00::.0<99D@99:=550.[nnbF957<7:<8>::99@LLH????9HHDD95::30<75@@<<><57<05@JRYYQHH::<5::9899??????905::.57<<739:5.00850005DMUR@099??00999HMM<958Uee]QQ;??5.??9:5.00550.0<9?9DO\prkeRHLS[`]b]YMD9:.::?????DD3.055DYoeYM..0999??????99:5<:::30.?GSUULI?=:.<@GF@@DFLLIHNNNKK::.99.000@UYYQ?99DD33.??9HSQ93:37Qbb`YQ??::.5:0..50<.00.8@DGMQUdrg]Q@338<><@@@D?8:::???99??70.9Nf`R<00999??==??99:.::003DMMQQML<<85<9D@G@@DLPPQQEKKLL99007PbbbD0J^jpssoknkrnndG::::59930099??:<5:<?UrrodaaeeQ<000.::99HHDEE999::?HH@?0@APPVVHAHOUUU??.3MVURG<.::QQH:;?YffM9=Q]nn]J@DDHD@HMH?899<399::99LXdjpsgib]^\^M.::::::.<<<9<5<<0.59QbiiY\fffUH00998??;DDDDD99=0589900DDMQ]dgjVUMDOP@.055::99<:==<:<<<:.5<@MUUUU]rrf]M03????9999DDD99=:5=0::.::.005<0:<<@@@@U`s]Q0@DDD<9<99??;??;:<..::::00.<589?<<5.03H]rM8?MMED?.999??;8<008<<<57985553DYskM??MMED?303<9988>8<.7<98508><5.<9<><5@RX[]]SJ@9999::0:<:50.7<<800??;:???HH<03?.33359Mdp`_R5DDHH@03??9;??@@<89@@89KXSQMD@LNK;=HHDDD::.5<><75<<<<>?99<3JSY]]UM@HH;9990:5<<8<009@@58MMD53..8@V_RP@.:=HHH<788799:;??988??HQQadg\XQMMHMHJJMMQUXUQOJGD@D@@@H@9<9DIDGDMY`]XSMMVVTRNHHGLOUUYYY=:0?GG@@MM;008DJMUYQMQMDD@HHOMQHHRQMUajgj^MMHDDD?9DHGMPMGD@9@@DDMHHGDDDMUPLHIKSNJ?HMUYZ`[VOLNOGDMMH????HH?80..00.0:?DDHQUYUPRSJD99?@8@<05998???HGD<00<978<<<HH000330.057??><.0=DMM@05<<8<50..<5899;9>9;@HDDDLGD<.<00??.?GGD@855..8<@<999;?9>DDD??9><98DJPOJJLGDDDDDD<8:.<<5<9905??=08DPVPJ::99??<:0<9DHHHDD?005<9@88>.@HH5<::0==5:0330.5>JM@>5<5<30=3?;3<:@D9<<505;;.<:9::5005<99<8@GDDDD88@97099.0==<8M;D9:@9;53?00?;9DHHD<:D@59057700<<<9::8<.00.89:5@@@@<99;9;?;999:9;DHH89???D@;:009??D990..5@DDHQUUYUM?8<<<<9999<@DDD?99:::98:80555D@=.999@5..<9D<53<8<5099?999.599??8099<<509DDDHH@@;DD@X^[PJD<9;99@GDD<<.@HHHD8.89?9:00.<==D95<..8?HHMQQMH8058<79955<80:...005:5@D@089@9<..0<8DQQIH<53008MMU<5<:.5<:.5;DDHH@83<98899955::.5:.:33DD?DD:9HD??:D@.5@D999503<:00505<800000.0:.00==50:;@;;?HMY]bbbjjaVRMM?>?D@<5@GMM??::30003<DQQD5::0?D998<:7@99:3<8<999.50000..:@DD?<.7...>GYQQ`NJUZUD5:9HD??:.99.0==05058<8500330:00::?HMY]beg^SRJ<99.05=8DJGG>50EE9::<@UMRMM@00.::5.5?DD<998<<989:0.0<<50005<0:0508@=???.::..<335.<8:5.:=?MYYYe^PJ@7<9905:??DJHJD8UUQ@MU^UUMRM<50.5553?D?D?93988:3;HH?<75..59900:3@DH9<000..0555=<0500::9:::0:::5:::9DHYfbSJD<0<308DHHDJG@<PJUJRUY^M<8855555:9DDH??90.00.<99DHMMGHMJD.<:09:09?88@@8HD@@@DHMDDDDHHME@?9:=3:..00<@JMPQRD????9?9:000.50<738<5<003??.8:.....00::00000:=?9?MYUUMD999DDQM80..<<000.000000.8?9?.::0:<057<<0<5:5<<.8@DG@8<.00<:<50:05..0@DMMGDHMD9=3333.<5::<<50:5:::999??HRMMUQQQQMMMD5::5:995.5<3=8D?DDMMLQMMHMHHD?DD?800<@JXadbed[PDDHHHHDD???99500300:99DEJMQUYUQD?8<:580.00??..<::8:<00.:::::999?GQXUUUQQQMQPUJ80099::0.:7:000003>@HHHD?D??@97:9@D05.00399??HQQOJDD;@DD??9>9<<.::99500.::539?HOSYXUQQQHMQU[N<0.735<<<93008GD?DDHDMQMQUOMMMHDDD?998<:0:8GPYbegbYRMGDDDHHJMUYYYNMJG930:::0::9DHHHMDD@@@<=33000:9?????5388==05:830099??QYYMG8.:99?93<8@D?9989<8<0:@MYgjde_XMJ<99D?DJJUYYYQMMOG83:::33333>@@@@?8=330::==3=5007??::<:5099::5::??QUYYD..7<9DMM0<55:<50.0058LPUVYYQMHDDDM_d[D8<<=<0083<::<5<:<8:::??@DDGD@D@HMMQD@9??:<5789<98<899DSaagjd[RG@999D?DDHJQQQQMOOJ@:00008<<88<03:000::00000..9??=:.:<099::..99.9;HU]]Q.03?HMM<3<555.000...550:<<9DD9??DGD;:..<=MPRD@<.8<=9999D999?HMMH?9<??GZZXP<.0?QQQ??55550.99::..79<;?HOJMMMH<:.<<08@HMMG;:<@LS^XPRD:09HHMD<<00.??99508@@DJRPRUSP@?HHMMQ^paPDJPU^R<<9DD55<9@D@DDDDH@?@DGJQQHMDD?8<8<@JGJHD?5::DD9=:DDM@00589@@@D@DD?98<88<88<<<8<=DDDGHHD@DM[[^VPD<00.055...005<<5<5039?DD@;=::>==99<=<99<88<<<>8<@@D<.9?H[^XXRJ<.55505..0005050999999:=??9999D9??;99:<<0.50<8<88<<5.5?HQUYYQ??:DUUMMOJG<58<@DHHHJRJLJ<<..00??HH@MMMG<8<<<<505<<75..0:::9?@@H?9?D@D?;:9<558<@<<<<98<50:0.03:>HMQQUU@?:@MMOJJGD<0<8?;@@@<><>500.DD@D?JJDD:;??8505<<<<00...00::<5<@HHHI@:..33<5.3::0;HHHD99DMUUQH@98DDGGD<8<.0000099??DD?;9=8<<<8@ID@@<8<89D@DMM>00000..5DD;<99MMQQ@:555575.5:8?HH>:..9;HHMM@:0557<88:::M[a^\XMD?90:05.9MMHH999?@QY``E:<=::::9???D?::.5:5500055:0.9989<<<<@@@8<7.HH??DHH@?300HH??99009?@DHH;:3.57:5::.0<:00.055.0.0<80:985<0.0.5<8:<.DMMME?:..<<8?DDD85::00??@DD@@??99<750:99:::0.055.3500<::<<9?DDHGMQOQQUMHD@?U]srsn^M<0.5.<0>@9?HUUUSS<03HHHDD855.399::???<<<555537007<75...0500..055<75.9MQQJ?<...788D@DGG<0000.:DD@DDDD?99??503335::000.5559@?@D9:500<<<899@DHDHJGMHHMHD?M]nn^M<5.500.359?MUYYQP99.::HHD885500.3333.5.00.899::????99755::9=3<<<..50<:00805:?;;;755<7<059EQQMD88<7.7<9DGHML<.<9@@@??DD?==99::000:5000579?DMDHD9==9::.0<<<99?@<987<<05::7HUfpbP@<05..5<99.??@GD@@@9;???99=:::.:0.00:?DHHMMH@?9=9::.<<<7<.50.=MYn[L80..<<8<5588DGJHHD<55@MbkUD0...5GMX\\a^^XM@9.00.::??3:=9;D??95599??DMD9550998008@?@@@<:..::39?;;?9@@@9?9900000==@@DMMMMMLD@855888<75??DD98<88887>898<@G]oU?5...<@M[d_\\a[PD8<::::::5:099:=:3::9999@HFMD9..0<99800<<@@88:003:::99?9<@<9>9950333=?D@HQMMMMMDGDD8.<8<<<899998<<88<<<>>8805000::::=999<>9<599??????D@HQHHD;DGGD@D8.57<<835.00<<>8<<<<<<<<<98?=<8875..::9??<><.:00.0050<<75.<99=HHHHHHP^jrQ@:0..<@DPV^addYODD<:<00.00::000000..:<9?@DD;99><0500.<:.5::99<7855099?????3==@??99<<00:0000..=D@@9@@<:<<@HHHMUUUQUXnnUH50.<@MUYX[^a\J@<<05.00:000.:0::<9<@<:9><950000::5000::::0:0:55555<9::==309??9958<0..0..00000050::..3;DDD@GDDD@DD@GD@8:55HH<0550888<980.0000.::::5::::<0<.099@MGHODD<9J^[[[]]bb]b]`gnne^PH9=:500;DD950:5.5<<8<@@9<000000<<799800@G@HMQUSRP]kgdga^]einninkijjaRD70::M^ggjndd\UQM@:.:9=9????DDD@DD?DD@9=07??9905.0:998<855<889<5.8<@DDDFQMJQQMD?9?9==79.=?DD.5::9<.07<<@@@<<000.0330599DDDPX[\bbUUSXYekfgdgVUQU]bbbbigaSG>500<^ssjndVQQMDD<.0:9?=9;;??DMMMH@??@DDEHD?:<7<::000.0:99@D9850<:8898<@DDDFJQMJQQOMHH?@D339<;:==9??8=<<<@@D=@9=300055.550:9535<>HJMOPX\bbUSXVYeefdd^H@;;DHUUUPSJ=<5<899?@MQUU\^]YQHD?9::=?HQQSJD@700::08GGDD9:0.<:<0<<755:8DJMMEHDDMMMMQMJHD8<<:99DHDGQMQUUUUUUUUYUQMHD9:.78;DMMYY]fkssson^[MMJ@9.<98@=?@D@<.00:HQQQUY]]fkgXD:80:9@DDDDDGPUUUUUMMQMH?95.<9@DMQY`irsssond^MD9MHQQ?930:<339DDDHQQUYY]]fkdM<8<58>5;MX^VMD@?88<53.<50..0:53300.0<000::930.07==9;;@99::305..5.00:00:9??::=@EJMHD933=;;;><::::0.8<88887030..0:9999@DD<.00::9<0:9::5:..00<<78@HEHHQY]_ppL55:==:55>8<<0...999@DDDDHD?0:<0.5:3=EMPXJ53==00530.<<<5.5<50:99?HQJH?<(+-0(0754'',)()((((,4;54,(-44)',))((((,,,+(00.'+'''((,(+,,,)(),,(+++''(+5?HMMC;.'(4CMMHRRE?C??CQH?4(0;MMH;0((07C_wzzxv_QB0)07;??;50-(,0.(((((++()5?HMMC;.3@<70,('4CMMHRRC?C??CQH?4(-:EMHMMH<0((07C_wzzxv_Q7()07;??;40),0.''-(''(000-),''FvwuWC4'-,',38CEMH?C;.,(+(+''(--'-07;?;440)))'-0,000++,?^{{vwWC4-4@HGH;@+-,'388?CE;;40,,.00(((('+-'((()).)'++(--33''-37;??C;10,,000,,,('-0(-+-?Svxz{{u?7.(5LMIMHKLE=+38:<88?5,((()444440))4000,(+,--30,',,04.),++004000+(),0353.)(''(-330-(018?C;10,,0047740,(',,0.05ESauvxza<+''-:LPMMMMLLI@?MMGB:<5-()444440044440.,,,+('++-035730,,,04.,,(+00400044044.),043545.+('('''(0-((,04100-,.047751574.174,,('07;;@PZWauu^E''+:IMMMHC?CCKCPPSMEMLI@??MMGEB8-()).04444..,,,('0355700,(',,00,(,.44044.),04235.,(('''+'((((,,(-00,00.111545;7;774,,(-7;?FPPZWSSI5'5IWZW]__vv_VKILPPSE58?=?;74-3-+0300,(00)))((('+-+'''''(--,(,(,0000000044;7;71(,3>???4,(-+8IZa_uaH?,.047?;;:;73400,(((((,,..00.,,'000,',17770'',,'00305-,00-0;;74,1?BB5,,-+0,(3?LWZZa^S80-.044?;;7;80-,0,(((,..00.,(((((,,',.7744'((0003-44)('07CC;7,08BB1(++00..)(+5@ELSWZWPB((,0440;40-+,,,..00.,,((((((((,,.000.(+(('44,,'0;HH?;(,47;;.',44,('8@EEJLSSF:-(,040-,,+()000.,(((,-,()000,011'+(-(((0000'0?HHC;,04774.,440,(('5@EBEEJJ=5+(((0,0,)440.,(((,,44,.440,,44'---+('(',,,(4444(',,(,?CMM7,)4770)(,00,..3=ILIB@@:,,((0,0,,,'()4477,,((,..-,14400,00'--+-'('(,,,)(((-35;0++'0044(',-0(;CRR7(((.4770)),.0=<544-+)+,,(+35875;44-((,..('-0337;;;;?<;54-,+,00-0---('0<78-3:B=;@II00,'-388:<:?8757+(00,04535-+'08::870,((5=LI@?7.0(((;;:<8047;??CC??701-08ECA=<53('38??87;440(,444+(',,,'+',0074;;530-,-40000-0-(+3800'45=B@IIJ:7744,-:=?<:<50--'((,,77;;3'5:8:840((+3=@??;70((-7;;74475;??C??7,(8BIECA85-('388?87440(0477.-+,,,+')(.,(,(+,,,40400--(-00,'(58BCPIJF77744,3:<=?<50+,,(+77;;,7:;B<4((+4577;74,(,570444++0744(0<:BI=7-)3884-'+47875:4,)+(((('+,+,,-0400(-''''+78CPISSE4410..8?:<:50+((,,;;;,+:BEE3,,+(,4774,(((0((((+'-0<:8+)030,,(00(38BBBE8:0''(+(,).0,,,+-034000('-4:ISSZL341447?=?:80-,,;;7,-?HH70.,00,(((((00-(05:84,.0040,+3?ELLLBE8((''+('+0,000.0++00040,-8EZLP3.047;?@?:80+774,;HH?4)(((((,,(''++'-5::8;;;;5400,0(((-3;<=30((+-,4',(,74400,,00+5)04,(',,'('(,(,,,,38<7:0'((,,0000000377344::0+'-<0+-,(,0005)04,((((('00(,,+(,(,,,,0<;:85-(,.17440000740---5-0<','(0(((,((,0-'',,(,,0,008;<8<3+((,,0.17440-00((+'-,5-(,(+(470044-((((+-00,0-0<8<3,+((,,0,,(((('3-4?0''-'+(04((--',(((4707447740((,400('+'077+0?4+-00440+',--+((,,()((034?0((+40+04'--'',((057437740(((,,400(''+8IC?<5?5:-350440'++05=MRC40((++(40-((+,44)''((,0,0,+8<8??I?7.;??'05450,,((-5:IuvvQCCC7,'+,00,,'00+'('('((+00,-88<8?-(113350'((+5<=ISvvvQMHC74,''((,,04(+974007.00((())+,00-((('+((-'((0,0;;0,,773-+-0,,77<@LWWvMMMHC74,)).)'(((0.-0,,04(00,0,00974007.00)000:+)0--,+(((''(+'-4400)+'00144++3-0,'-775E;0(,,47740('5HC::-((,((,',,,??))+'+'+(+'-3544-304((,-'07:74;770)(((,,00)(((44,-3344750+'+',07850.0-(('''(-033-+(((0045=LPWP@?;<:;;@>E;;3004-7;;;70++.770)+,,,;;))+'(++034,,,'((+-'-,((05=<:?C?;400,',44,,,,477039447D83++(00000-,-04440-''''''+38=?:<;7440702++,')++-3000-,((((770,');HVV;(((():ESSUYYK?;;87;=<50+((.044-((,4..(((++--+-0335<8;;;;7370,+,(0:85700''((((440-,,()?CQQ5'(,(,,((())+8FUYZZN@;;:75::3+'(.4440'(,,00((('++-055-+)((+00-347;;;7030-+''+8@=857-+0-0((''4400++('-''4;FF?0(,0000.(,((,0,0,('6IZZSL;;40-050-(.7770(,,00',,(('(-058B:50+.0000('+-+-47551.,+'0'''+6EIC=03000((''(-.0+',,0+'--0440,('7;<<8,..1115400,,).044740,3ISL?3,,(''(09970,)'00-((,,)(-08B?C83444000,'',)+,,,('(30('((,)038?EI0340-'(++-00+++00-+'+-19794401)7=;;1+)0044745400,,,.047740,48=;+(47754(-44,,00,0?C<844447774.).''(,(((03(((,()0-7??8'0734+++00-+''0-00+0149999479?<30374;700,,,04474475951.,,,11(((0444.((,055400.(,008>?HMRMWRMR[K?740(((',-'((',-((+(-((,,'-..,'((,,.44<<73-+3357;00,',04474400000,,())(,44.,+00-+00,(1@C<:80',+5;??CVtvu^^^RMR[MJA40'-,+'+(',,''(((((..,(,(00335(('()14440,(('',00)(',088::87711,00,0,',,45F^^LFE8788@AHCC?E^uvvu^_^TMRMMJ@<0'+(-'+((77'(,,-0440((04444,)((,('',,)((+,7;CC?<8711,0040.-3-(,8FMHJZva^WSRTKHLMHCC?L^uvvvu]OTJCC?@<:60'+--(((11++(()(-..(0400,,(((,,,(,,''0;CCC?>:00,.05;C?:@53>HLY^\Uavaa`tWMHLMC?65LWuvvvuWHCC?;?<:7540(+--((..'++'--,,((,,,(''+,5;CCC?830,,0;IJJWQQ?-=@HMY^\RZaa^atWJJD;40,45?CMRWME<70,-5:87;;4'(((('--++-+',043-'0<;:7700047:AKJJJWU\G3<=@LHMMRPZa^^VCHJ:,,('(07>>:0,44;;88++'(('('((+',,''((,0,48:;>?;::83-(05<<87740047:AKJJJU\YN08==?;<>@:7-,,07<;.;JJ;-+37:3-00(,.00+,-05:30+++0731.-0-'+0++(55+('(('())+-0577;>@=<;444:=FE@900((((+)(('9TPJ39;:3+((',077.?VVF5+-5;A?C?53-)77,0577+00:==40HH.'+5:@=C?3'5:<8=<573-00,((+-,,'',(')000((4770+-5444),..((=DDD=33II-'5:=CCL<3+033573-+00,(,,,''0+'+11-.44,(.,077,(,,,(+144,(()/0)7@GFC:33CC(08?CLFB873-+000+'+(()',,'30+'3.1/)99+0..000((',,,,0.,,,((00,*(47;4*0?BFFD;56DD0:=FB=850300+(('++3-33.(77.00,-++0001474000,,(((()&260-:BBDE?9339<0:@=8503,''44(+++'0-3)'(11.00..00((,37640147400000,*(+(''+5;BBCD<50200+74400+',,(((((++-)+'+-++'++4;7774574)'()),,())77((,0444117797760-*(,,.0015447799950'(+'(+744-'8740)'(('+,-(+'30-'+'(+4;7774457+''(-4))(((.>>,((+(,044444779873.,*.0,..01447<@><>>98543333--<@DEDD>7-+)).+5@85-+((033-(((',+0+('-.4.((00*)(CC7(((+(),,0444750-,,,,.0.,,00047<@>>>A<773354695+&0(/BUnnSIHB<0''))04@I@7-'(+'-:<3,,,,(00..(()).59<<(,040,(+)++,+04440.)),,,),7<>A??97353798:5)',5.5EGWlnQGA;.()04B@I80''''05B:<0(..(*,,(0?:9250(04471+005977744.,)(,07;85657:;<3('/-:IGLIB@>=2)(07B=0('''-3=B:+,,,(144))477?:-2-(04474.+2587977744,,((,,,;>A>><;9779;?B?0((*(,7-+,-((,1174,)(..5;;98741.,(((((,,,,4;>><;9<<<<@AC@7*<;;930(((((,,,(/57:9<<<<@AFFFA0(014.+('+0+'+,-'11),,+-00000,,))'09779717749<7440,-<<777.*(((0..03+,00:<;><85.+-379;<>AFFFFD5(,..,((0++11,44+-3455::3+)))09779797749<74+)7777990'(03+(009<<<;950.389>?EFHFE<(.+,,,,,()(30+00+1),-..3457:?C83+(((((0+744<@<974440,(9<<(99,,(,,(47>><93.+059BFHIHGC5,(*.45.0,(+(+)))++-23,,0.71,03--033(+575?CI=:3(,,(0+)1<@<9711)7==4(99(((.3<@@<6.((00>4-776(((.4<<974,,*7040.)07CCC>3,,(+045740+-'-'((',,-+('444008<:?@=<:5'3?@:=8000)((,,(',(()+,0>BA9+-9;:0'(+27774.,+-/397<940)7BCC<0)19<9440(+-00-''''+-,,-,,('+-5?@BC<=><33:=8:0+))11(,,)30'()+4-3BA>;7+(;:90+',-'((,2110(,,'+30379<<9970(4@BED8+-7@?5++38:80,((,,30+--((,040-3>;79++)5:<5++57<8-.-(,,,)(,.+26557<79<999700+3AEFIB8+(+;;99970-(''((,-+37-0-++-3=<@;@??<3--874)(('+-77.((,,-03376900)'0():>?75+,4:>C7<8,.-((((*(..135;>@B<977740000..>FIFE<3(((5@>;>CCEEFHHF@>7.,'(-0,-737-(+''+'37:?<:0-(774)(('+4;;7(0(+03353000)44.(00OO>53+0,5=FC75))-(*)(,)+.479>;A<@B>97410000.)'3AFEB?70,,+5>A@>>BCFIIHIFD>96,'-00.1370+++03:50-((0000-38;;40('+33774,(((1110',IML:<<97740047414<:F;7+(-&*)(,)+.4;A<896,+'+000.103(++-50-)((,-,''(0,03774+6BDA4&,6;971'1BTFFHGID=9944797:><60,((''',5;>A@CCA<5.,(((((5;<957699<<><<9507799<<<984-+)'('',,'+(('('((''(,,(((+0000-874@JNQOGHCGA@;,?CGFHIID=9940499:>=.04:>@><9830,(-56557>@@>>;><8+(((.,0-0)+.).+'((('00,,,+30..))0588BQWSZZPHXNPD5'*:53<;>0..447?A>>80,('009777770).046>@@>>8:5,).077@>994-+'((--+(),,..''+3CJGJJ;7+4:>A??JPQW^uZPXOJ8((-,046:?A<95,(((,09770.),,.477<94.(-4:BCEC><70'(((--+'((+-3-0.2<4CCJKQMH87:7?>A??JMPPZ^uWJFD5'(01-18<>;4.(((((((--00',('./6@BCEEFD<7-'((((+'-((-3;8:>:DB0,(,((,0-'(,.00,(,,(-444440+(,/8530.'3>DHKHA>>;7940,((*77-47<>@B>9.--,,+3.-('()-,',,'(,47?JECHMCHCC;95-0,(.0077100,(')774,'+(+050,2(1.4747777774:84840+33;ADDHKDEHB@<95.++')443+(((00((3<3,-,874((('(,47?;?CC;;74035:3()00.044)(05770,'++05440(078:74174777779?:7570+,448;C@:>DEHB@<94++'()-441((+'-75<3+8??7-0)(,(((((,(')).47744405:@<0+00,,77-((((,47754();=84,077:77444777<<9?9747-49:;;.(-04-''++))(+4440-+++03750IE?830),(('('(,,,+),'(((44440038@;(,00'+,,,,0440,++,,0033'0=CIE6+'''+,.15574-+-+'((4444.+07:B850-('((((,,00,(0777.(-054004;:LSZZI7',,0,00,,0+04777700(7@LL8+(((''0477(('+,,0-0+-758=@8+'+-0307;;;743-00+((('+0550--+',,(00,('4444.(++5<:57<;;@PZZZTF8+(())((,,,00,0(9NNG3(,,))((+775,,((''00758:0',+,0737;;;;8<5330-----,('((((..4,((-4400((,05:=<7;<<=LZZTSSE:)((((:XXJ5('',1::,(((,-0003-',++2070447;<:?=83+'''''''-04440-,-00000(-+48E?=<7538=FPSSSFC4..((('(ATTS.,'(::44(,,,0000((+'',2-(3:?=<:500'''(-35<;;;;;:40+,,((,----00)004;;E?003?EIVVMM;44((0-((G[[O2('((.774,,,,(4400(--+-57((0.4733-44.444((,,',,770((((,004CCC?70,,((',,,,,,(+8UvvuuWWRV[RRVMMKHCC;4.('+''(00.00440+(-<[\wwRC?7(,,,(,,,,,,,,,0777,),((7ORL<4(+04407350444400)+''((774,,074((,CHHC77)((,,,,(3E^y{wwv_WRVHQMMKHMHCC;4((00,0000,+7MvzzWK?5(,,,,,,,,,,,,,,,(,((.:LL?70(0204400510499544'07?<.((,,(((477+('?QQH;;),,,,((,(0:F^y|z{wv_WQ<47=EKHMHC70(,,,,,000Cv||\QC7(((,,,,,,((,3>??74,+-32..02665499977((-?CC;,((00,,(4=;(;MMKC;,,'-037;?Puz|||z`SH;-'++---0,',,,((,,(8v||vRK<+(((,,,,((077;;77++'(0-3..16::==17777((:MMM0540))+:CC-5MMVV;00'38:9046::0EuuI33;=0),;HH;CVVRM7,-:LWa\\W[__uwvS3(((((,HvvvSPLLI5,,00::.,(77(()/<9,3=>;7((4PIC:-(77:),HHH7;QWWM7-,,,'((5IW^aa\W[W_ZZP3((((,,,?__\PLLQQ;+((44011(((,44.--.::AA4.4:???,,8@?<3+;;4),CRR7(;H[[H5-0040.474,'((+((((7BPW^aSVMHIFI8+((;MVVCFRRR?4((',,)00000((077-.17A@444????0,+?<8<3'774),CMM;,4CQQE=4;?;8;?7443355'((007;HPSW@?70::-((-7????H__RH7,,,,((((000((+500'077444794437:??CCC,0000++'(,))740003;KKC;0774((''(+'())77''-5:73,,1544770-',33-+,7;?CPSWPI;774744477??BB?:85344777440-04:?88HSMKE?;?DFI@:;><9;:7;??)0000''((,077;;;88??;50770+,-'((''))((..''''-777'057?C;7;7-(-3383)-7;?CSWWSE;744440,44?<:9;0;;7)(((000'(,047;?C?<=:400-000-',,++''..+'',,-77)'057?C;7;700-44:8<44<;7?LWSWI874000,(0437:830-(--0074430008?:7446<85,47>DBICA:79:30774,,,,44,',004;?C?:<=50((,-'-+((',,,430++('+44,,077.++07;;;7-4003;;E>@;;:<;?@PWPL=5400(((+-330-('''((-0.05870,'''+057;8'5<703-,',44((()00,,((()077;47:70'-,((403-4453-'+(+'+'+..,,'',((,((-::CH5'(04774,,(0;E>B?C?8:;4:IPLB;7400(((+---+'(',-354-,057*-(+'00((000,,+''(()(().4000730,,430;45:53,(+'+))'05,,((,(;558:E?40440-+((38:8:440,04400,'+(0-+-+',,''',(,,,00407,(,,,,4('000,'(((045IB@LN?7444'(((:8:7444444400,,,'+33370-,-+((--++,0744,,03CMH74(,'30,,,,(,0000,,00444,,+-8BMZPCHN?74,(,,,..440440(-5474444444040,,3<5737--'-03-+,,,+373;7;;770',0.CMH74('(03(((,,(.07047440444,,-3EIQPZPC?454000,(((0157;;;;440('3444114404440,-:3<570'-08830470((((,,4<88?;;;;7880(('0,00777;7747440,00,'-5BLPMQPE:00444400,,,((((0157;?C?;0,'+004440.044,-'-0:3',,,0::83470.00,,('(((,3;B???;;;7;:?5'((+,000,007;?;7774400,00,-5ELSMPMB<50004447777771-'047;?C?;00-.4440,0,,-((-0((,,4;;:500).00,,((+(((,4:=CB?;;;47;?E8++++('30,00407;8;?:7774000,((''3:CMQSMC<830004457?CCC8753((0444700---+(,,,,,'''((,,;CC83'((,('+,,(((,5?CCC?;5111:EK=-'+,,++-0330,0447;;875,,-0,(('('-8CSWPQJB85+((0,055?CCC;78:3'----,',,((,,;?CC0(077'7:?@CC;740008KPE0'+'+',,-0030-0.477;0-(,,'((''((0=LLSWPE<3-(((0,0045;;;;8::5-'++''(,,((((()4?HH;,477+08:?@?;740.08PSF5-+--4',04000++0.000,0+'(+''((8EBLLLE?3+,0400.,48:50(-00(((((,00,.07HH?-,7;;,,-08:?=?7441408SSL8-033:-'(000430-+,,,0.),(+(''0:8EBBB83(00(,,030)+8:<0-'+((((0(((,4774,(+,,3EEB:+,;;;,,((+05:<:?8..01448SWI<0338?-''-(0040-,,+,+'((((+),4:57874+'-4883)-7=IB:<0(4470++444075,(,47;7754+((48-,147;??C??;700>44400'((,,,+(7;;5,''0-033+00.0000,((,,(-,-0('((-040453744740,7HZwwuZI8+(,7?CC;:((440'''((,,,,(((',)))(1;;70''(03487+(-..,,00,(((,07040((((,-+('4?Rwww^M:-+333:CCC;7),,,,(((((((+((,,,,'+++((((+-+(+('(('),00)'47740''-38750'-30---(),,,((,044774-,((7Cvwyy[E7'35<@IIC@80,,00(()0,,(((,0++(((''++-+-(,)))+--,(,+'((00440--+''0031-'''035440+00030-+,,,((((((,,,044370,,('-7MvyyxW?038BFFLIIB8-(,,()0,,(((,,070(((''-,---(,)),(---(,((.-07777770-'''',,00(''''''+30340,--000-+(,,,,)((,,()))0-''('+-3Huzzx\?,-8EPJFFLE:0'((((((-4270((('++--''((,(+-+(((,0.4;777770300'''(((('''++++0--0,,,--++(((,,(((((')4438HM{{y_;.+28EPPPJE?30'((+-432,((''('''(((+(((,,,,,,0-4;440)0330-0'''+++++++(',''(,,((444444:IWwyy_;.-0:@ILPPC:00+(,-00)((+(('((,,,,,.,,((+030300-'(('++++0--(--++-4447???;?BZvvu[?4+-8?CBEILF5-+(+-(+(((,,((+030000+'(('++-+')0000-0----57<;;?;???C?F^\a[M?005<=?CBEF8+'((((((('++((((-00003+,,)'-+'')000-3000-+0E?ECHHMHHMHHMZ^ZPC7003?==?=<=:-'(((((((-3-++'-00-30-'44+'''+('((.734:00+(5IEEEHHMMHMHJSZZQI:4(4:@@BE?<:9'((,,,0,00000,(-03-+''+'0+--+-+44('+(++'',07;;?8853CPLKHHQV[[V[XWWZSE8+((-:CILPPFC<3,(((,,,0,00000,(,(,--(''''(0--+--000)00('+--((('-3-47;?=<:HWSPSLIHQV[[V[XVWWL<07ISSWZPPF?;7-((,,,,000.00,00-(,,(((('+'''('+-0002;75;;80,(,((,00(+---+((000:BEGMM??=BCQWRSPS@?;?HMMMMVSL=3+IauuaWZP@;;700+(,()),,07774.,,-00140,((-0('''('-00025;75;;:844,.0+,((+)(,,'+--0+-((458::BGMM?=B@CQQRPPI4-))04???:=5+?ayxvuaSE50.040((,,04;;JHC;74,,,(,04;73.,-033-(''+-000,.05:8774400777700(((((0401;7;???=?;;?C?;740('('(,0))77;CC??;?IE;8:883-:857577:@0(,')...477::^{|yxvSE5-0,04+((''((,-7;??GJHC;40,(,4;;>50-'3300('057714007777;7540'((0403;7;????????C?;740(')077CCHRWaaavvuvvvuvvu\[IE885-(+('-,.0-+4;;;?CHHRWuy{}}{|wSB0'(+000300,)-047;??G;744.))(,04<>730-'('00++'+04;8;540(.000003:?????77;74,((-07;CKV_uaaavvuvvvuvvu\[PI80(74;;,((0004;;?CCHHRWuy{|}}xP8+'')7BI@70-,+043740)02570-++(++'),018;540+'+'((04;?KV_uVRWWaua\RRWWVQC80.75;;0(+000,4;?C?;?GQ[vv\ZL0(+03417;7:LaQI@4,,-,--++-,+((''(()).(((,,.15740()))'+'+034448;CJ^^aM8(-+'(((('''((((-00+(('-4144;CHJ^^7'(((-000040,17:B5+00040,+''074-(((((,4;54,GMD.LightSand\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1627874493\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t1.00000 0.93077 0.13846 0.04615 0.00000 0.00000 \tslopeDistort\t0 +GMD.DarkRock\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1587022709\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.00000 0.66923 1.00000 0.98462 1.00000 1.00000 \tslopeDistort\t0 +GMD.SandBurnt\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t918411621\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.49231 0.88462 1.00000 1.00000 1.00000 \tslopeDistort\t0General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t100\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/moondance4.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Moonwalk.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Moonwalk.spn new file mode 100644 index 00000000..955bc490 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Moonwalk.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Moonwalk.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Moonwalk.ter new file mode 100644 index 00000000..c54c9617 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Moonwalk.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Octane.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Octane.ter new file mode 100644 index 00000000..1105c38d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Octane.ter @@ -0,0 +1,682 @@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BEGHGECA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH_lTFA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EfIy8aJDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N 7  uG^KC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAA@@@AA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACGIJIHECA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B] l {PD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADGJMONMLIFFHIEB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AFO_r|mYKDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DqC8 3 +cRC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BEKT`mzuhbdbVKDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BKd$&`NEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H  %` \C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEMZnycRHCA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AERw5(%%_HA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O  r | +ttHAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AFTl9ki-kXLEB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BFM_m  9)gJB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AW;U +8 co u A TEEEDBA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABGUrP(44/%rs^OE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEPf%j 7 o I UnNDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Bb + D+kZw - ++iNLLJEDCBA@@@@@@@@@@@@@@@@@@@@@@@@ABEHMZw4 +^X :~^IA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EXu" h ) +x + + + + += +  P[KDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Es7 { &`W 2 LTPQNKJHFDCA@@@@@@@@@@@@@@@@@@@@@BEKT`qJV + ] i E & av/uOB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DVZ7{ ( +f + + +U ; + +s  wXGA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJz  [ V*?G \QSRPNKJIHECA@@@@@@@@@@@@@@@@@@BFNZspM } % +O +_ +R +, + 0 &v_F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CStc g + + D < Q P + S_G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADU d Y +erYZYVSOKJJHGCA@@@@@@@@@@@@@@@@BFNYpH k + + $ 0 $  + +N +# + o d TC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BP~}m ; + +  : w + $ / z ~ +V RZD@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACKe= + 6V{uY iqpme\VQNKLKGCA@@@@@@@@@@@@@@AEMXi#vb X + +6 _ + +v + +  BOB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GmM  + + S  . P ({n  5  SC@@@@@@@@@@@@@@@@@@@@@@@@@@ABENu +4 1s)|12 nb[VQNOLGECA@@@@@@@@@@@ADJUe"P j + + +T 1 ! <  ( +d + J YlG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BTcku + Q  )jyc3 x & +  NB@@@@@@@@@@@@@@@@@@@@@@@@@BEGQM N &D + +fypd[VSPMJFB@@@@@@@@@@AEMYcv s $ + + 6 t R 1 r] $ S + e H[TB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJw * + 4b=Q:a/ ~ +4 yODA@@@@@@@@@@@@@@@@@@@@@@ADGIX} ]}b :|maXSPKGC@@@@@@@@@@DObrw 1 + + f  _qw 4(P R + s sIA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHjL +D S +cBmvHxzX~  ++ _NEA@@@@@@@@@@@@@@@@@@@@CHJLe+# +~ r; m +K(p`WROJD@@@@@@@@@AI^}v_ # + +1 z D )n; +,WFW < r e + + cHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AIh +F  b #}4<J +% ;eLC@@@@@@@@@@@@@@@@@@ACGHO|1 + MX.8q ` x B{U3 qaWRMEA@@@@@@@AEUz# Q +O Z ,%` T [ +L +{ VLbGA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJl +C O}/]}vXEGQ[V2W +s RYHB@@@@@@AAA@@@@@@ABDFGSP h :aFft7 B +4Lr`VQKHEDCBBBDJY(x<^ +G 5 ;a;b)v^l t / r +U ,@bIB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEPu! +4 ` MV{[Q\uS{5 + +M 5yVIFGHKNPPOMHDA@@BEGJL` + x3 q + h'd0ujgkiaZVROR^uf' + +L w M MQ-v3n7AVo  X M +& "FmPEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJ`< +6 o u<x!cP2zv4fx} +N + 0zz}u]MDAADJNS}4 + kYle"   r (  +h Z B?\ O + +\ + - (e0EZ<_  ' . +C Ns`KB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CNn8 Q +\ \*[ n 1cqF6 J + xO?8G][G2^ICDIO] 5 %- [ + + # u T;98?VoqQ - xO 2 + + +a j y4OsG,nR C t + 'tPDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AETzc=f +Y  +vmjuDUG)hg & * + ' {:grQILRt +6 % .  P + + ; 6 + {hgz1B E + + [ v Ih +|JCFT$y % Z s +  nWHDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F[n?` +2  3!9Hz e&sP=1KI  < + +d + + + Czk]k s rs_H@ j  [ 3 + + P uw<>M  + +C 3 n Zn!}7}u8FW1`"  # +d 8eRHC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DX"- + N gD+Tyo1Ge4![qBV> F  +Y + u  } +s nK o : > J +G + u j [ N ? = Z { s = A  + + :  l =Ss1"7dBN#g: + U GsXJC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AK{ 6 + 1/&i]Y }^\ErVV%e.H 2  +% + B &H\  i d )dB" { O  T t + +w +` +W +K +F +J +W +r + + + +X + } E = V ! + + ( KWf1:of%" =^~ n a + ] 2lVIC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CYQ . HB)RW ,JYT'pu<X.@x Q  z H + + + mmda5$ h J # k  r B & ( A h    +; +5 +_ + +Z s m>et&F$M |}X | + +D [hVHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HqhQ + G jm[5Lii{CuJ QRU1zd # # $@K>6Y\.$.! h C  s 7  ; ) E <  & t * G \k_gp[p'IXW&9o= Z]0Veo } +  dhPD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CWI'  +\ ~68SP&#wT 5sw&?d~Y% 2]iJJQZowM'BMAJC ]  p v 5   ` + , u Z4g 3S+*L`bZP(; AB  +  P + U~\GA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BN + < v-F /F /S~i ^`!]mk^=Y^ qx~i5 y 0  + HZ54IK=8Jy^4raqvP.N]c_XN~ o-x-PNhp _ c + +` "fJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AIq:  +( V ZZsM)$Lxt,Mzr^pcCO"kfgJZD^WXZ7 p R T tga/#JN7X\ l|(/X_`^ZObJS!b%, +\ + # oLA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C[qH s +u Tad g$$l." =G  +3OGb21=%T_E`Ey3Dca Z_tnTX~{0'IV#</ Ua``_RMChQKI& EQ Z > + 9 YzNB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@I|" + _C +"'&lC#V}qs/]KMcLWv>%dC?u9+w9X_{a3}}(/^!E`abbV.P\;3s9^i* + +r 3 +SB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ARbA` ! + RsB)($fc)T2v]E90DrOBM`HT2{vv;%!CtzzT?#2"*fV`dg`M>7"c4mtHtg + F % L + W:ZC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BZe i +J 7 + ,<S]#xyZBQ&2  +dfX}I_(>bdF?R [ W*#4wU ian",'+c<Zcjot{s1& +kZcL j6  t + iN^D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B\/ +  yoaNWHV!_i-P40T!oyW|[H:!T)6E  g^   O:$: HzJ7BI )01,1$3mo=LYuQf~OJZes, m +  tMaD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B[] % + WF&10qh,4w \^2dm U\i4y^ +&S{W" &PP0 J%{Se$Z:12451# $fWVR '>JG@JUN+E + 2 JbE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BZu K +7 0 , " +}L |lohx#c^Xp!ki wAle{: &<sv|qzDKG.%g>Y9222+/z +I Xwh-CZL x + 8 }AaD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AUj L +F G K LB&/b=s-Wg + >H)P&-_+{wQ4*4RpNYr9Axzd,K d,1<Mm7021)%+o*i}`H=<?EID&F]F O + ]+\D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AM=GC / +. 8 K `jV!8us#\g ! zas}O1+S'z ^ +t&0(7P^E$KZ1nB1UA/'  7W|Ggea_^_`^L.Ax"VL  R e +~ UC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Fk + " NeNu(Kv #$ O"tWD?Mt4 r2  3L!";Es_1B J]]7uTObY.L*Zdccbaa\0IT  @   ++ n\PB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BUxy q + /nbpqm+$ +Tz$$dH>P 9L +?Xv1+2^D2@x n,>]:!UccbaabTDU"ZhM c a + "3tLA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J}   b xE !>XJc_|~rM M0%{Y68#7/Z!y_ y EFR^.cHk_5WoJWsJchfccbDJa q +M +c ehIA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D[C.G + @ 77  #PE 5J>hX0$x>w9m u|2+gwBx; /h Cxy%oe[^):I*JqF_dbb['p2  = " + XE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AGc`} * AL'rO33 ;v|/j*D`o%e ! "7N_B(>RuV48rQn%ibB3"z 1j>=-EO@.,   k S +3 +S r(dJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHfC + a j&x4"mi1  ]F YC>RA_lG&,$ BW!x.m(9m-{v5gR A_ r `4 - ~ x  + OiNC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJq) +j MwfmEs_! iLgV.6U-*+~|F:; !Au0i)>`/0.,yR)2*h+.k  1 + +$ :jQE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BP(+ 1 &!'0_/,! 4### /"N7( +23}2!&8x!((JwJa@;4& AEGYA$2BQX'$aE;#~0d,lT|Sc  h V +6 +j /xSEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Fe h Cw*s="g!&H 'bcF s]}-``+':6s+- +7|4\XptAR(^*LU^{oIu7&K l +6 +} jcHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BRG + KEgRXf8h!'AXMY]A@Td\9 +H{sz4M&b% '9EyGxl  c + +f &VC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Fa$ + :O(w"-zuW%K=;CluNetIxxO "p_cum+ld] 0UV(-ef~gY+ +Q +>rRs J + S %gJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJb! + < W\F 1>VW1A}Ji_!2f?C|NI$(yxos_amn]<7N/5Pk`Pn,,?mo4 3 + \ wqRD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AGX" + 3 ykhzW@i^ubj 0)yrsg=~ed|l`Dj ,?2LXu'$A&,ymO+ " [ + +r  rq\IA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DQ}\ +5 /mc6 `:<a0B< pd3qU*Fv@pl?rz?iw* &8/R6g b`;  Z + =rh^PEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BN"^ P uqwi|BBU=L  >l_ +'c4! 2#K nFPN/V5 0M +1x$j]~ + . vpaZSKC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CXx +6 ., :Y?Hr h^N$&0 AbC4Z7fMc>2  7saj +/-|G>"(ZqAE c [ W +w  hfXQLFB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J~D 8R'pSVu +)-="PFn38G+ +)X{2&zT :7W>A:M:]+ +#$ )(    O{\OHDB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C[ + nx |vaADp5U1EN VJ!75*l l H >'+ks`uk??{$Bq3w?UU$1M\ 30*+1,KT?\ + ObNEBA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AIs5 +1 kb-\W_dTO} +]0Vo2qeBq 1G 7 m  A-M8R=6 }?~$Hwqj[2=E/cd$I?Qvqde 9334%b + + <_MDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BRz/ g }!6>1h0-p=<bOD[28  ~ t = < 8J+w\b8 <hvebi ZP xCZU!<433w6K5 +$ +c ZICA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EfL} + ! 4"5ZM2<Riu_" +1   uc '&"%pc9C0in)@"~ala.6143 + Rx D   +T 'uiHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AM|r ?|*"z kJ%|X +g&4  +w v v:\p?gP8 xbnsnzcz nj>zwls ^*6./6,S$' O +b 0TC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@De@ b?KhoJo^,y(7W" T % x <arzO7D^gU+#iLe:u3e:H zC,\KBmV%;5kz\C=<!7p   jHnJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AU6 +R :L-ZFB4xq*#rU 7x-YSOivaXpC9`9{%PBV8_!1y J + N#`GA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AR@ + 7=7C_G +nb` +oa !62 1 a B :ahf -I^ZaXrO0u C@d{Q`!{: @\  + F$cIB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AQ s {-~%CYDUb<%Q S / n .u-stWEEU*4`$w)CF^wjg|lF)9wO Q(z +  V4oOFDB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AT  f^+X? a"{F \lhbNmS`3 RZA6HdhT_.$bip}[ V1|n,+!rERTD ' @7 ` E : +N UzTKIEB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B\ B]=We}Q5ByBW J@}kfx/,f~TV{hM! K[i6gFCM)+aX+ivIpSu  + *WLLIC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DcN Q I_5 ~l~{zK)C7="5J#'er/ t KZ&aJy;zGjKE[ y,V  :;:. 4 Z B  + eXOLJD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Eh +   IrUIPp8\P!&> /pA439Rf j ? E w U4s5s`"R6x.A3.Nv 3u [%^!z G +1 ~&[QNJDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FkJ +Z ='tyOvllD33?KWpeD9GezpU1;*Kyd|mW) S N q "Ei:dNspC%`hiq~!xWrnu +y a +Y J +2 y&_TOIDB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FjxN z I^F $kNba<e6 996,g9&11zr[LNI" mN {c,B t v^"sQ.F8@5`&M < +. rgXPJGDB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DaaN  KVM'=dIWT:L^dQ <mraE7FitQ 8T?&xPnjNVf4TSY7E1G*5Y z 2 +: r_UOJHDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BT:t + 6(6 'O0]F T|pG,<vvZVy xa|5Y)#P$17Y9  Vw qM5IJYrh \ 6 +Z k\SOKIDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Jw n NFM*  \I%{  x m Vq=9sh3phZmT)l\a`hP>05B#_4 u J C +r yeXRPMGB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CYT_ +e q7 ,~ dcyr h G > X a uQs! H Wb'!Z-/'9e6$!%3N|\AGr350a}WB A = Q +q }kZTRPLFB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHk2 + yjv|~>i Q Q .sr. h < & & J ^9 -HZ{$1 P6 u'7t_7d8'8ge:RU"j . O +X a=r^USQNIC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEP-Q + i |T|R;H: ~  N O :~# } Q *  1 e Esc  iv^j|du;xI' (Wfr .$;^{S  = +B jffXSQMJD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABDGL^ c {^v +%Luy C " V r & 1~~ z N 3 : a yY46f.}0[!G#sBk~)XaB305@_+aW  ~  + +F 2r]TQNJD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADGGIMTbF i Lo gl--.%  + +c } iS s g 4o`2#8wR~q7!YyPlf4?V373bbH@JW^g$+ q  }  0 +Z Gx`UQMGC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABCDHLMLNSz3 j CQ8h% "1 f>>5> < > I < $x@  8^qfEFq4u~o`Y\kOK"=F{XzRe(5oyRD920+: j w $ L +w 1X waVPJFB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CFGIMOPPR^ 5RcZj! vw _ ` w hd@)+Nmf< %@Wx 9jpc[WT[y :{]h2#mcec9 [O!nH.5 ] v I } + >^yaVPIDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADHJKOQSXf2 + fh$v,v 3P 1 0 Vk=$ ;~M%,C_1F]fKOw~|q`Wq1{`_nj#RE"x]G>AKPL5I\1p [  - +  W_~dWQLFB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADFINV`k|`~8 + I 63q++ NHD A B ZH O|M31D_ !@cr4 5dl]v:n %(Fcs[LRyq } Tj n 7 ; + 'fVPMHB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BELT_u2 h +  X&7ZDq  %H c 1 8 +^{f+ YeMOh'-IsG/>qsh,.d >hPIeen_G:Jv},HJE; n D $ 7 - + QOgYRJDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BELYld2S  + (  /-i9<bxJ4e j   Q &KTQ> `skt.A>Ji^7*@wu;NHbf1u/0vM8`efO71KKsAi/ -p8\ (   +R 'nZMGCA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABELXkF5g +L  d E6 -VV&s@B   y  It"<SLDKOMC+<yyB}lWD:k]}lQBIwd1XFGS w2 ; d + NhyaRIDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEKQZpg8S +L } 4cc6!Yh'   ]d(6YF!J'a - f '>d2CTd\I=3"bwcYgzLFg`AD;nt[44b5  isdJ + +s 7HeRHB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AESs()5 & + +u + e OaHY4 ]>]Kv] + +^    / G q Bt4I_oqbL2%brgZI)  9u}Q0)6^xl%X4q(}Mp^-qFU2!&}Moj u#1P + < lzUD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@He90f T +  < ' H}@$  +<tEKXk *+B  . z L&.6>Jawye?P>S0E?4F<(,R s$ eo0&P*}J5KT1H!"T=ny)ltX +4?S  9 U +m *RA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B` @ + + + i F $Plm"r3U xyZn,S K T 6;NUVF:Kk|vT E%.f5;4 hEg $=(4\6D5>H[zX mEjMb1)G*Zyf ),'*NX  " $  +,nC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E R mXnM}nBOLdhuy]]b<n-R 6  [ #Gy`89Qfn_1~@4`B_f2].9uxC?6  Z;lrx5vkC"JK9 4E] p m +F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H D-.#:NvM F]r8>#\QD] +?r( i R c sDm5!+ANAi]x~;2[p8>@QWu^!RhOo (] +ao. _+x9 + H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J V8".o3X5]?o|@ %zCEE\4NSrn0+g]1 9dG],m+!88!+m,\Gd: -]}ORjo Q9I =FR7Q'WECyrz4+QE7 I@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J  p`b_g`NjdRouM4Ysxh|z|,.v+^>Ir[2;~x]iANA+!5nCq% O 1 . I :K07cXT(2Wi;"Lmgy(-TP+P+ M 9 G e ' o _G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@I *J[Utj`yq+]2c`yN,TI7u9.]2f_B`4@~1_nfQ99avE) Y   \ QC`z-K !(#(CBPx?5[7"f @ ; ~ + E@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GGO z fjb ;X-}} P_{ D3nI)F_[-%>'H{$!gEh 4;5f.%E Tv|kJ:IXVM;/D U  W ;09 _Q  $.v;Ct|qZ }<uf% > + +7 + Z \B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D}sD + 3 e !aNL  p;F}TO<ja+4-WO.L#!8G4?E0S>P?eyv^G>:754,$"1A2u { & K }_Tl{u;'2B<H8gn +zta\P2 _  ^ + N ,y^F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BZw4M +N  nDCa.?sS];Kzu$VCai7M4 >)L}v9  )IZgrb%2Lbpm\MA72592*" & 5 n < %   +  7 V2i!JtUN2)L3r( + j + H KAiOC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G_N +v + + 5 ~* 14dJOU<_AzsupR/J9V<igYcwb"3=I\fZTTH79FF6a g T M \ 2<y_KB^7 SE5  e  n +  gu$fTMIDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADKUcz6r]_  + + 0 <  !AyUNZ*]vHBTq]h}*.V<<scyy<+CMOLEOZNGSR81BKC&uZ8 x[.!|I60qUx  H + Y '3gVKDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACGMUbr#kp < +  3 H :jBtJK17Ofe^7Mv-*q52uw@*7^jNFRPDKP7%-!L/-3?LN?( ',5W_/Y6}k{~A!wwG2  '   +Q 1dm[MEB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACEJS`n}og#  +4 5 " E o ;EJH,}vJ:G_nddHPh>l)(4}frq>/GtO@GOKHG0> =d}wN ?l}zmpF+(}t@O~0%7f  f + + 2waTLFB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CIPU[j, + 6 7 p jT } qyRL[scF|Tov(A?hWhd5 4reI:8<@>0b#Bno L~{x/-*r3 .F 7 +}_|k`WNJGDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BFLQWe_Z + ,  \ p1\I5LPKA>G]x"ER#ilZHc|0vOFSjx|wOKf]I<541(aG[?&3Qzv C  u sw+u"b[ +2fXSQOKJHDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADIPVay^? ~ +I v ] 6.Hn!O[ 9cecm#-TLZ2&+7CO^oj9 ',58"Y+AfkM+*DjV ; ! b   !jZbN2 ^RPPOMIGFC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BFJPVaw X1x M +$ w j :+029DRyo5(eRzXJ,A0Hcyr2qFEf+;'k0 @x{   z * * ; D ; %h8QBi  3zSNLMLHDCBA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CGMQU`xGZ 0 + }  q +$g^WJ@Hbb373V?4jv\I! R(\Ow8#2` +-z7  g s Sh~ V + + z-/-lg oLi F bTMIGGDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DJNQT]r2F + + ~  Wa+_@503BaX)~kHhM9/3 7 6 c 0).f64Y  r ` 9 3 N z ~~1 $ p V # D f\uC&+ v^{c ^LGDBA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DJMQSXffjB = + S {^;$. rfW( 'Ix;ud|k^sxjI F  S 6is &D e 1  * Q } #~9 O O  ~ : FAT|T|i Q +-PEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CINQSU^r=aX O +. j"UR:eg8'8d7`t3] ]   - t [[5:_ J & & < h .rs. O P $s?~|vjy  +2 kHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BFLPRTZk}q Q += A B W}a053rGA\|N3%!$6e9h& /&dA4-SJy +b X > G h rybc + #, 7q e + _TYC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BGMPRXeyr C +J u 4_#B50>Ph`a\l)TcgG:&@J$%w/q(2sV m x {%I\  *MFN n wJ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADIKOS\kZ 6 +\ hrYJI5Mq wV  9Y7--`,{Qp& zW\q{I  GvT F]0O' 6(6  t +:TB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADHJOU_r: 2 +z Y5*G1E7YST.`:'?C~|AuC~3 (9' Cdtm< Qd^L:TWId='MVK  N aaD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDGJPXgr. < + M&`5@8F.QsRq<#)Zs6o#wF#X  +*Qoz11&9g,699 6e<abNk$ F^Iz NxjF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDIOT_&y2 J + Y +a y +unrWx!~qidV|+feZaHg@NY y u .No|dyK*;1UpzeG9DepWK?33DllvOyt'=Z J +kF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADJNQ[&~1 G + z !^%[ u3 vN-#)a5 `t8V Z T ;a~R934Ap/ >&!P\8pPIUrI   +hE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DJLOXe  +B Z 4 .:;:  V+qM$'Xz +u:yJ`$iK X O -ce'#J5"=7C)Kz{~l~ 5_I Q N cD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CILLW* +  uSpIvi+Xa+#_*Ig6a=o q ^ WvVT~f,/xfk}@J WByB5Q}eW=]B \B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BEIKTzUN : +E ` 7@ ' DTREr!+,nx,>*pia"%5 t 'rpM<D\S 3`SmNbhl\ F{"a ?X+^f TA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDFOo4V + z (Q Ow9)Fl|gjiE.>+x$`4*~S@1 =m' o / S Q%<bUDYC%~-{s QA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BIc$F + \@ :{!`Q{d@C u/>_RaZ^I- - P5 B a 1 26! ao +`bn +G_C7=7 @ +RA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AG`#N +J y1!_8VBP&~=T) CoV_wEogVyw6 Ur#*qx4BFZ-L:R +6UA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJnHj  p7!<=C\zk5;%VmBK\,Cz!M;_+o4aKi#+Ug^D5MyPx2{I< x % T  "W7(y,^oJohK?b @ eD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CT0b O + '$S,6/.6*^ slwz>jo |e{osnbx 8PfQ }%rv v w + 4&g +X|%Ik z"*|? r |MA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHiu'T  + D x R  +3416.alb~"@)ni0C9dq%"&' b@aY[e   1 +"_uiR<2MZ2"4 ! } +LfE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACIZc $ + + 5K6w324; U[Ez PZ ibfvh< 8oUQe&H8< = t ~  82[DOb<<n-0h1>6!} g / zRB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADM_< + + b%4217 cbpwRAM&dc/E=2[jqwH$~?} 34c)'N-A  m 7 G 1 qBeq2oV0] +}OR\ _W\-bk1  +5sIA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABENbO + \ ?TK,1+),0 +b$T1$UU?w3qB${??ku`sk1&> H l l*57!JV NE1So'sFBav| xn +[C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDHO\{O   () !&5]:M:A>W7: Tz&2{X) -K?3nFP"=-) +uVTr/R8 D~J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BFLQXfh w W +[ c E AqZ("CK|-/ +jas7  2>cNh8Y4CbA 0&$N^j +tH?Y: ,.6 x +XC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CKSZapv. + ~ ]j$x9M0 5V/NPFn K#2 +"4c' +_l>  L=UBC|iwqu P ^"NB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEP^hr= Z + ;ei!g6R/8& *wi?zr?lp@vF*Uq3dp <B0a<:` 6cm/ 5 +\ }QD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI\qr r  + +[ " + Omy*&A$'uXL2?, jD`l|de}=gsry)0 jbu^i@Wzhky3 +" XGA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DRqw\ +3 4om?,,mP`kP5/N7<]nma_rnu{'$IN|C?f2!_iJ}A1WV>1 F\W< +! bJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJg%S +J s Rr> +Q ++Yg~fe-(VU0 ]dl,pq`\p' OxxIteNulC;=K%Wuz-"w(O:  + $aF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CV&f  + +c  l xGyE9' %b&M4zs{H +@fhUAAfcT_H'!h8fXRgEK  G +RB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHcj} 6 + +l K &7uIo{^UL*^(RAtpX\4|7 +-+qLO:-9s]-}]s Fcb' H&!g"=s*wCh eF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AESx/j 6 + +V h  cS|Tl,b-}#;Ea$'XQB2$AVIRX@J83LMOkOb7((!x8&!2}32 +(7N"/ ###4 !,/_0'!& 1 +(PB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EQj:$  + +1  k .+h*2)Ry,)//`>)i0u>!'2>^[]^**-U6.VgLi !_sEmfwM j +) qJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CNiO + x ~ - 4` r _APf 5v{-m9&j ?$X1m $,&Gl_AR>CY F]  1im"4x&ja C +fHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJd(rS 3 + +S k   ,.@OE-=?m9++%{(4?bi%nQr84VuQA+C_Kz( ! e%o`D*j/|v; 33Or'LA * }`cGA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EX +" =  2p'[bbd_FqW7"V<'][eo%yxC h/ ;v>wg+2uo m9w>x$0Xh>J5 EP#  77@ +G .C[D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AIhec M + +q aJDbccfhcJsVPy]6^kHc.^RFE y _y!Z/7"64Y{%/ +M Mr~|_cJX>! Ex b   }J@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ALt3" +a c M hZ"UDTbaabccU!:\>/n x@2D^2+1vX? +L9 P>Hd$$zT +$+mqpbn/ q +y xUB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BP\n+  + @  TI0\aabccdZ*L.YbOTu7]]J B1_sE;"!L4  2r 4tM?DWt"O $# vK(uNeN" + kF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CU~ e +R  L V"xA.L^`_^_aegG|W7  '/AU1Bn1ZK$E^P7(0&t+ ^ z'S+1O}saz ! g\#su8!Vj`K 8 . / +C G=MA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D\+] + O F]F&DIE?<=H`}i*o+%)1207mM<1,d K,dzxA9rYNpR4*4Qw{+_-&P)H>  +gW-s=b/&BLK G F L +j UA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DaA}8 + x L ZC-hwX I +z/+2229Y>g%.GKDzq|vs<& :{elAw ik!pX^c#xhol| L} +", 0 7 K +u ZB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EbJ2 + E+NUJ@GJ>' RVWf$ #15421:Z$eS{%J 0PP& "W{S& +^y4i\U md2^\ w4,hq01&FW  % +] [B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DaMt + m ,seZJO~fQuYL=om3$1,10) IB7JzH :$:O   ^g  E6)T!:H[|Wyo!T04P-i_!VHWNaoy + / \B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D^Ni +t 6j LcZk +&1s{tojcZ<c+',"nai Uw4#*W [ R?Fdb>(_I}Xfd + 2&QBZyx#]S<,+ 7 J i + eZB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CZ:W L +% F  +gtHtm4c"7>M`gd`Vf*"2#?TzztC!%;vv{2TH`MBOrD09E]v2T)cf$()BsR  ! +` AbRA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BS +3r + + * i^9s3;\P.Vbba`E!^/(}}3a{_X9w+9u?Cd%>vWLcMK]/sq}V#Cl&'" +C_ + " |I@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BNzY9 +> Z QE &IKQhCMR_``aU /<#VI'0{~XTnt_Z acD3yE`E_T%=12bGO3 + G= ".l$$g daT  u s + Hq[C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ALo # \ + + ,%b!SJbOZ^`_X/(|l \X7NJ#/agt T R p 7ZXW^DZJgfk"OCcp^rzM,txL$)MsZZ V (  +: qIA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJf"`  + +c _ p hNP-x-o ~NX_c]N.Pvqar4^yJ8=KI45ZH +  0 y 5i~xq ^Y=^km]!`^ i~S/ F/ F-v< + NB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AG\~U P + +  BA ;(PZb`L*+S3 g4Z u , + `   5 v p  ] CJAMB'MwoZQJJi]2 %Y~d?&ws5 Tw#&PS86~ \  + 'IWC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DPhd + } o eV0]Z =o9&WXI'p[pg_k\ G * t &  < E ) ;  7 s  C h !.$.\Y6>K@$ # # dz1URQ JuC{iiL5[mjG +Q hqH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHVh[D  + + | X}| M$F&te>m s Z +_ +5 +; + +   h A ( & B r  k # J h $5admm + + +H z  Q x@.X<up'TYJ, WR)BH . QYC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CIVl2] +a n ~ ^= "%fo:1fWK  ( +! + V = E } X + + + +r +W +J +F +K +W +` +w + + +t T  O { "Bd)d i  \ H&B % + + 2 H.e%VVrE\^} Y]i&/1 6 + {KA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CJXsGU + :g#NBd7"1sS= l  : + +A = s { Z = ? N [ j u G + +J > : o Kn s + } u Y + +  F >VBq[!4eG1oyT+DgN  +- "XD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CHRe8d # + "`1WF8u}7}!nZ n 3 C + +M ><wuP  + +3 [  j @H_sr s k]kzC+ +d + + +<  IK1=Ps&e zH9!3 2 +` ?n[F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADHWn  s +Z % y $TFCJ| +hIv [ +E + B 1zgh{  +6;  + +P  . % 6 +tRLIQrg:{' * +& gh)GUDujmv + Y +f =czTEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADPt' t +C Rn,GsO4y j a + +2 + O x - QqoV?89;T u#  + + [ - %5 ]OIDCI^2G[]G8?Ox + J 6Fqc1 n [*\ \ +Q 8nNC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BK`sNC . +'  _<ZE0e( - + \ +O + \ ?B Zh  +( r   "elYk +4}SNJDAADM]u}zz0 N + + }xf4vz2Pc!x<uo 6 +< `JB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEPmF"& M +X  oVA7n3v-QM M w L + +  'fu^RORVZaikgju0d'h + q 3x  +`LJGEB@@ADHMOPPNKHGFIVy5M + + 5 {Su\Q[{VM ` 4 +! uPEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BIb@,U r +/ t l ^v)b;a; 5 G + ^ <x(YJDBBBCDEHKQV`rL4B +7 tfFa: h P SGFDBA@@@@@@AAA@@@@@@BHYRs + W 2V[QGEXv}]/}O C + lJB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AGbLV{ L + +[ T ` %, Z O + Q  #zUEA@@@@@@@AEMRWaq 3U{Bx ` q8.XM +1|OHGCA@@@@@@@@@@@@@@@@@@CLe;% + J<4}# b F + hIA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AHc  + +e r < WFW, +;n) D z 1 +# +_ v}^IA@@@@@@@@@DJORW`p(Km + ;r~ # ++eLJHC@@@@@@@@@@@@@@@@@@@@AEN_+ + ~ XzxHvmBc+S D +L jHA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AIss + R P (4 wq_  f  +1 +w rbOD@@@@@@@@@@CGKPSXam|: b}] } XIGDA@@@@@@@@@@@@@@@@@@@@@@ADOy4 ~ + / a:Q=b4  + * wJA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BT[He +S $ ]r 1 R t 6 +$ +s  vcYMEA@@@@@@@@@@BFJMPSV[dpyf +  +D& N  MQGEB@@@@@@@@@@@@@@@@@@@@@@@@@BN  & +x 3cyj)  Q +u kcTB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GlYJ d + +(  < ! 1 T + +j + P "eUJDA@@@@@@@@@@@ACEGLONQV[bn 21|)s14 +uNEBA@@@@@@@@@@@@@@@@@@@@@@@@@@CS  5  n{( P .  S + + MmG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BOB  +v + + +_ 6 +X +  bv#iXMEA@@@@@@@@@@@@@@ACGKLKNQV\empqi Yu{V6 = +eKCA@@@@@@@@@@@@@@@@@@@@@@@@@@@@DZRV ~ +z / $ + w :  +; +m }~PB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CT do # +N + + + $ 0 $ +k +  HpYNFB@@@@@@@@@@@@@@@@ACGHJJKOSVYZYre +Y d UDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@G_S +P Q < D  +g +  ctSC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F_v&0 , +R +_ +O +% + }  MpsZNFB@@@@@@@@@@@@@@@@@@ACEHIJKNPRSQ\ G ?*V [ z JA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AGXw s  + +; U + +f +( + { 7ZVD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BOu/va& E i ] + VJq`TKEB@@@@@@@@@@@@@@@@@@@@@ACDFHJKNQPTL2 W`& {  7sE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADK[P = + + + + +x +) + h " uXE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI^~: X^ +4wZMHEBA@@@@@@@@@@@@@@@@@@@@@@@@ABCDEJLLNi+- +w Zk+D +bB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADNnUI o 7  j%fPEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EO^sr%/44(PrUGBA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ABDEEETA u o c 8 U +;WA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJg)9  m_MFB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BELXk-ik9lTFA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAHtt| + r O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH_%%(5wREA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACHRcynZMEA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C\ ` %  H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AEN`&$dKB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADKVbdbhuzm`TKEB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CRc + 3 8 CqD@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADKYm|r_OFA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BEIHFFILMNOMJGDA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DP{ l  ]B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACEHIJIGCA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AA@@@AAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CK^Gu  7 N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ADJa8yIfE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AFTl_HA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ACEGHGEB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ GMD.DarkRockDesertWorld.RockFracturedDesertWorld.SandDarkGMD.GrassMixed*+0,/1/,1-*,1T|V;,+*,Y9++****+4]2.***********+-0*+*2/-+*-99****+,.0***20-,,,+***,*.3:89:992-0+*1PJT.+*+-/2,.1455540-+0/-+**..=@QUW[^`^UA:/1+*,_Yv{7.*,0,.037AA?EF>?APQ=71.+-**11?=Q_av]STUWZ]rrrux|T5,.+1M\U,*******-0+-09;@CQSUUTTTTTECCSSYU>?;2++*01:>BZwus[ZZZ\]_rrswzYA0*+*,YS|3,*******,1-/2;ATVWZ\\[YXWWXVEEU[WYQ=>=41**/1=RUu~xurr_qqqrtw|^@6++,0wKd<1,++*****+/-04>O]a\YY\]\ZYZ]rr[UEX[XVCATN3/*-0M^y~yvtsrqruz~xU82**-6>_[//.-,+*****+-,29:Rbw`s^ZZ[YYZ^v{_UZX\VWS\N0-*,[;+00/-,+*******+,10?>R`vtwrWIIXJX]ux^`tsU^Z_:+*.6czu^YZ_buvx^4/**+N:S|N/2220.-,+****+,,//ANR\tsv`VCW^_quwtxxZ\auW3.-0Y}zaWSSRPPPQXZ41+*+0c;X`_7.,,,1/-,+**+-/1.ARTW`^t]HEZtyzvxztVuwzA-,,/T|xxdcz|y^TOK;8::8;T_A/*,*.2/.-,2/.-+****.+.1>RXUY^r_IEZtzz{{sz^w|y9,,-0U}u][XQSWXTN>795=>@?Lc|W:00+*+N[t`QU;420/-310-+***+/.5;:OWWZZ\`YFXrvtz}{}sz{|b8,,*.1Xw_VOL98;<9740//58:>MP}[A./*********+0aysVSK~[=;8520.,2/-,,--,,++*+.+29@?OVYYZ__^XXqvwv{z|`9--*+*4[b[XQ>64-**++-.,*08;=7=Rf]@.212+---,+0.+**.>~^]\CC?<731.-+,-.00/,+21+0<@QPPU[Z[]rrq[^v~}yzx?01+*--?`{WMLML:1-0.,.-.0264392,.;K_]QM?@NA\xZP@?=96--**,6Xca~sr^\T@DB?:9;<@>::<=C=879=@QV\^_^]\W[uwtsx;>;CZ{y^^a`ruzvX<10*+10;_vRQ@9=89.1.,*--.-+27;<,/+,-/8R]ttrr_Z[wyv}=-BU_rZTAWXUZ_^qtw|v\\ZM32,*+*3;U~xQPON><2.--,,0,.253-3;<-.**+.168Nb|x}~cM4P\>>ACTYYrZNCDX\YZXTDBRVURBDRUXVRC>;DDC\xyttr_^w}|xV11@Y[_`X>7RX\xzs^rtvws^^\VXM3+-**/1;N]Y??MM:6/,/++/,26779223,,/*,./048Tzw@=EBCIKBCCC>DPX[YYXUVXZY[`v}~w`WQCE\}}ytq^rwt`D1@W\\ZT<4.;Xfzzrrw~uXX[QQ;11,*+,??O|xUK;=970,1+++0.9889120*/-.----28@X_v}}U8<:89;;:DDCD?EDX[YWVWZ[_x~|v^_t}tqrzywa@/A^rrT91*00<`zwaw~ysWTB?9,-+*-1>O^{bUJ9<4/+/.+++/1/::4.,,++-/.,*+15:<;;Q[xyV9:89:>8=:BC;B=AEPIXWXXWXry~y{~|suz|waR56R_ssS70/,/.<^d^^y|v_WQB900-,*++@T[{y`XP=71.+0+*+-111,-+.0,,+-.--.+-26/2822>@XvrH>;B8=6-,1:C^y~sH<9B=B<96::>=A;?=E=@DHHCGLYvvwurZWHI\w{}~}xx|~z``z~\>92-.0?SUVG?B7451+..?P\b~ztttr_ZYVZSB0+/+-1Pa\sv{bR<911//+,,+/1,,-,0,-.3,++-,-00,047;5816B?DBB@teayxavyxtYB?87=GDFCF?@=;AGLNFCMsxyrXVWY^v~wsv|}|b]_\N9YuuwwR/2-2ARS@@@?::63/*/3@]~}w}vVX\VT?9/2,*+-=]Vt^u{{^N61+0,*+*,+.,0362331.-,+*-00/--/+16005@=BVZYBZb[WZXQW[\XQSB?8AF[a]VUUUUXs|zvV<@ILIGBY~yva_ty}|~v[Zvv|dXRO8.1>@BA?=<40-1=T[sGXVQ@:6-.*/6UT_XYsv|`=6-1,++++*++,,-//32559<3--,,04@890,++/--/24@NM>LMOQOXZD;@Yaccys>9@FECKreb^_w}}|x`[UQZ]cbU?85++-:Z`2*12A=?AEC@A=;33:YtWXTSC=C?10**+9WYVEZrrweL/0,-.-++++++--.-22339;92,*/,13?8<<*.*-*.10..0:@U[XO37@8?6?7?VW_V=P[ZabfzD<8=@>H{\VZ^d}|_O<=LRSW]Q84./--*18[z9/..6A?CBCAAB>:@RasttHDB<;96+++-MUW>SZ_qsy~~eN-1+,++1-/*/,---..767.08620+..013::=.-*-058656=:KRYVV=.0325217P]UVMRVYYSZe~`C==8::V}L?LX`aZM9=??QRSO=/+,.--+.,=bS/+-2-3@@B@AC@T[\Y\sswzxYSBB<:>-,,1PST@UZ^qsuvd_L-,,-,.-+2**/-.10+4789.555++-496-5<40*/33475586:LSXU[T=*-./-**=VUMKMQWM9237{Y78467Sx}\AV_uu^YWSM7:@=:8-/,-,.++/0R`>3+*,/3-2?=>=@DYrs]W\TA{|y_WEC;:A.,,2SVWEV[_rrr]YV=,,,-.13/++++0,0/,.9997412,+/<@?2+320,2334347:>8;>Q\S\O2*+*0-0-MA7+/,.,1*+.]zF:776U~~|x{{yyw`\O:72/+-+--,,0-:u}V7-3+0+1,2<:D=TYrs\TC>Bv~t^YS>EC?/,,1S[]TY^qrr]URP8+,,,18;:...-.0687./:7614/-.-=874-../,02434:A8BCA9DV]UW;---+.-029487;4++4:9<:10.SZ9;86V{~x[9-/,+,,+/+9\}zR9343,2-.3XZZ=/-,,,.,/-*.*,**+=<:<=;;0;B7<5T|{T3-*+++**/,4R|~sE;::9,++/4;?DB>::/-<|yZ[ZVSE>B;.,+/Q`aYrssss]VO<5*/11,76>/,-/220;<<7,+-+-/*02+.1.--.-.<>?858:=<95:4>PVU<-+++,,11/,*,,*4UR>@@==45\\?4=:Dvu:++++++++++1/9\~ut]WR>>01/2-1331/4BCRrY\[WRA<@8-,*,68BwF;[vvrvz{{vWK?4..95731./,.,2450055/0,-+,+--,+./)1*0/>==L;:69;:633;NVV>/.*+*+--*-/.//.VtsCDEB>979X~~yC9:E~{U=BSDS=yT239?S\_[O90/++++4<>588Q[[>4-+***0,/1/0-+@uxtG@B;D=99RzzzSA4=aWA=DUTP|R8NVY\f~yX82,1.-6?A=V[ZZA73**0Sttv}}sKW_^\DA73./**,=auz}{W=7><7+031.,,,-/331320.0,,+*,./,,+,,/7LJ;:9:<:;>26PW[ZN7+*-),-/10./-XzxU=;D>:7AQ]bbXA98X\BECVZ\sRTXZV]x~~}^M75-/-27>BZ^xvV<,+.:]z|~xxzqHXr]ZB<41,-*/6Wz}a?;;;=,---,1,,-./-+-.-.,/,*,-/,/0/001@;8888:8?A;5P]ZYWK0*++,..-+,,;zD8=C@@;C=PX[\R?B]x{aA5,-+->wzuxuYG\`_X?:3/+,+,8aXK?=6111/0,-,1-,,.0.-.,1-+/*,/101+,2:?>==>=KU?3EU[YQU;,*++1-..+1bwA@\vsWC:;8O]]YE4>`x;5`yvsT:64>]]\F55S~@07;?U`{^SV[XP=<7=;Y|yS9uuqZHIru`\Q92-1,,.PzN72/++--/.+,+*1,18/++/*****++,/./03=Xtwb\V:07Y\^><4:B^^~b9+*,,-,8y|9Z}|yVA1,.;\\\E5;HxE/039ATZNMRWQ<94<5<76?ATt~ea:--,2@Su||Tzr\XFH^v`uX?7-0,*-2We?7/---.,.+1-//4?98=86==Svw[V;/-0,.07<\yvq\]_suru`P;1,.*,.=a^K:2.*00/1222/7<;1/+---/*1,,,,@u~yr_sYFYsuu:08KMP>899>\~zyU>--,*UV?ZttsA/,-/.+7Vey\D64Gw00349;<>;<:;AO>;@?96=85;AV^WXQ91+0**+.A\y`urrsssu_RA3/++*15Q}^>5/./,0*58?3+01/-+.110,-,.19^~y`T9ZyX5/7KORD@>5<@tyde^R8/,>97T|{_\\[ZXSA<1-2,,+7[zS=<<2100=@551..-+..../0.9]|R/S_4+05LWXZB7755>Xu|~||QPV``A9.0,1,0+2OddxVI9ZP1./+/37?KVcS=5<8>FZz{T*,,++-.5Y~|\VWWZVWP?0+0,*+15[|V?>,0.,+2631...,.,.0/0@t|}[8=ta8-+/7MRSR?77387AAUa{|Tb^TTF==4/540-0>\~~xT=VU+*+0+/48SxzC76=6:Gyd3--,,+++=d~~ztqXXWVUXT8.0-,+*/4^d?353/-*-++*/0+,1*//.15Sst|vW:-@uA1+++>OPQ@?663358=8CStPz}=GAFTUTTC?:;5RZ>Cd,,.+5A^P;:9>;B]8..*,,,,/7V}u^rr]YVUTR9..++***0;z|Q-C@2*,,+..03675..+08>\`s_B539?zv:-++-9ORTA;=53569H^?}vAGYsxzvY>A==R]=8<7FN,,,,,,-.:Y{||r]ttsZWSN90/+***+-OX4:85*//32299<<7010=Xs`_B3?_uWXz9.,,-;TWYC:;436BV\r^WAAaOv`AYsxzvYBA==aZ:A>F@D^5,++*7=EUUT>90/=W>>836@RbyyM2*+*,+08Vz|xuwwuu\Q@92+-+*+-O}D5@41+-44535ALNML:?]{{s>_v[Y=,++-;`fyT:63;Brrsuwt|`AA~^x_512;DA?Hu:-,-.9:@EEA;C;5zYAD439>T]\]9/0/=Oc}}wwuZQ@;./+*.5xY0520+1886448;PLJ7:^yy]V~vXC7,+,,2[zzX?935VwwrWt|vtD=E?][]\WUA@B{;Cs}W1.-*06<NZf}}waWP:00+**+Mu9332-28878758>L:>9Wtttz_BSZZA?11*,,/VexYE436X||sMXvxxV9=V`]~uWT?=sHZS+..+/38C@BA?>?[dTN;:?RXZWZM/06MUX\x}z`WRA6*+,3}>:97-178;>;54@><66Qbtryz_;,.143.,.,,/8W\]SG65>UzztHHryyZ>59t8zuV@?;w\Dxx<-+.+/3:;ABCBAG[x~ZM:9>T[\WZS;0,,?MMV[`{|]SOO9.,**MWB:9/18:>@?54DA>@5:V\_ywX60,,++-.+,,,1Q]WVAA658Astu[D^ttI><7BX>d{~{aT=?3OccPPz@32./,/39:@BBAAGW\xz_O9;:OXZZ]YA:=5-0/[urqW]\YC@<::s{:7N_^WRPM<=25NM:N`zU0320+,/27@;>>>@FUTXVO9:88?NW[ZWZxy]P:4=:?T{Z;17;7;9973.-784NTaW39796...14:>>=Ev}{T=3542//-,+-789=NQ5:<<>76213258879=;9631440;PR]\R?;=;9>LMQRM9;U^a`acYEF=8A>79HDDHFD>;9?=;>Z}{{bO=531110//,-.=<=5:>??<>834322355796/+1+/06=OSZxz^L=Q~~wztT>B9//*,2cyAWVXXV<63;324>CV_]RMLORQPPR[dfb]YY^bb\TB@BB:9:5:>?DB?::8;:?@Gs{u^U<74333210,,45=37;=>?@;92530///00.+-,,0+.7;ARV]xS~wR>ZzzwwzxwW@;B30*-4]\?WYXZU<8874017BCTTONQWTPQS\exb]ZZ[ZWTBAB=9<:<9>6788>:::8;=ADKqrYQ=:665431/,/445677;;<9910351-*++).,,.--.,3::;TZS]U>==<=?OSYVONQU[`c]SPCBBJ@B>;<877667<<79:::9>?>DAEJIB?9787531..115/@78@>>83/5::6/,*..--+/1.,+-0106ACYWRABB~a[ewsWZwvBPN>***.3AaxS2A=;?>=6><;=::<::;;=;=DAF?<8<:8415:M<93/,0,+08:L>9A92./19?UTCD=?z[^`[G]}vDB@<+***.2:S~`P:.8RYWTPQVYZ`Q=58;7:>@=775469=>;67::<9=><:6==7:;;:8:BEGB><=<9569:9;8535:A:733?MNN;20,2=?<@wyXVXVGstQ@>82+**-09B|aP@1+8@RSPQTZ^YT?@8:88;>4;9633479;;:?A::==:6CAKE<@=98998:>?DGFA<<966:7=@==;9;U`d]UP<;628@98897=TEEEC?=<>7:>A@6>DD?<:9566;:AB?<==Vaw_ZRE8;8<DB;>758?76<7=ETXH@B?GE;:?>A:859<;:87<69=9=9747=VtwsWC?9@Yw~|x{:8Q\tuxzzsVYW48F]vu~~vrWJ;65=BEJOF=@?CHF@6<97?6574669996369982418EIDKDEEUR?>7008Z~aD;46>AT^w~b~|zs\[`_]@60-1.,*)**,0VyU:4.+/-+--+,*+,@EA=E?@<@IHD<45;7;:8578;<;?<321//1/3A@DXXJXr^Q;5.:Sz`R>GC;??QXu}~u\X[r`UE50-2/-+**/=xU=8-)0/-..-*++,,>Tayey_A6Wwws[^surYIF::=?A=CCBC@@<25023167?TYvvZ[WO7/48TzyWQ\}~{zw`T?:8BD\y|}tZIIX\[ZDA72.3/-,****-Z^ROK:,10-2-.*,,2+,.@X}}yB5UxxuXDCWYXJK=>:?<=>E@;262431645?XvzS@A389@PTXV:9=@RW`wwutYDCNGX\[WBA83.,0.,*******MxRROVS:0*201,--,-+++*:;;D;>99?<;;:6747<>=9<=:2578655829=bz[@53=MRY\WF=C<61]ASXSXS9-010-01+,++,,5^~~vI>\zurYY]^\WA;;?<;>9DKD==7638=CC=986814543527@@=ZaYM94LWY_^^GEF;2,,.5?:AOS[yxS@6998:@TYSM9../,0231,,+,+,S~|X9I\rZYYZ]XD?>6AA=<9:9;:9B<9;>88>;76:4:@>:66478218633;=;958ML82:\bur^?FB=8-.,/2+.4@BZx~tS>?;;D>CIGY_||^A:0,1/,****+-2-1;@arC;;FNNL9-++,110-,,+--+>y{E>AKICCLEF;=<78B>><<@87A=;;>A876;66783875::220108633;:8=8970327\~~yYDZZX902,,+.1::AQT`~~wtXB=A<>>=E@MK:.+,./2-,,*0785.S~~tF@CAF?HH?@=>@9B>?>C<;<;:9>A76658577771134:320/0184368@8T\WO@05^S=vvs;/-*+,++:;=9;78@XyyU<8/+.,***+-+/8=SbX:@FGVWTRR;/*,-+.+9U|~^xaxzuX@>HGDBA@=A<=E;:BA;9:<<>53974247:444<8532//88245002=@QVSM;W?Awwu:..,,*3C`XU8=>:51/+0=ZEA?>BGvyS93-0,**.+.2CVYUUTM61,,*+6Ovxz~{Y@@ECIHDA=;A;=?<8=;:;;;<9664344537897774111:25764147:=@>NaT=`r^>3,1.:QuysY;AC?<:51-N~T==<=?Z}_?5-/*,-9\~ZEA:8@BUXVSM;+,-;Pby~\G?DJIEB>?>:;=:86<999874333335879:;:;:5229489>==33;86+*+1^W>=8;@:EQUSS:.02:Ub{Y>CwYC@@?>@ACA<885:86677753444464:<<:=>:587749\AFEUTSU_y~ytBD;E>??=2*]xB:>:W\\:*3=SXsx|u=@AW]VsHA@D>BGEB669:=;<88299455464B[WUV\vxwvy~v@5=BE*6>@VZ^st[@7R[`uwtW\xZOA>?DC@795=6575:182769282:=@@B=;7324;C@A=>9548;<@E_|B\vxwuv^=8AVWGCB@=?1OvDA=>GTv|DAWx{]KTx-*1}}|}~z^t}[A8:>78D\||O+7A<==>=B29Xuu]uwtWC@{_FD>=><79?77:<:5/13<<69634<=>=:86315>BC;>;9559;=@M[yVa^UD@@@>:Vu`uu]GBB@B;w}~y]E?<;96<78>87<69<=>BIsW3;u|}xtZQ8-/9ZYZA::77;9Q]ZTXexuE8<>?7AX{{Q..<;=?CUT>ZYu`G;205B=>@`z{~yyv[D>:9559:>;CB>51368:=>=<43696<<3105:<:786:7<>>=@HJsz{\A9.-*.@QVXP;;=6?Ta`N=?@>>BTWYEF[T7?=A234>BYVE_yvutXK87=49>=A@C;4237;=B@@=:2829672811575766;8@CD@>=@MYw`>20+.>>MTUA8TbUbdUB]y,/cN93PaaxWED;<85=PTY^]PSV??UYWE=C49@=A342AYZ^X@uea`YZR><83;C>>=KYqruxA1-,-//+7;8=L>>?WO_T;Sc}R0,{_[uV@D@;858DR[^c]T\Z:;ATBE1418@9DB@8=:<<:464434355435686645?GJJE?>AA@=ALIYsuP10-++00/+3::89<@B;T==Vbz}R/+/M[:<@<7>>[ZC@=6;AEEAC;se>=>D=6933==>9849225:;:;:978533332332223347349CHDECEHIFB>ECJZW`bN4--1.//+0-*122299>?89MVYcz|xcXL6+++.MzyP=PDGAFCFVUTw||<,-5864575U]ZX<3-/4=?Y[ZA`zQ=;>>744146752:11147779873544221132322347=5889@CABDGHFB?@>DITS[]WM?50-343+.,.-12388984>SR[^[Zuy`VMA2.+1,*+2/5:Rc}`UHF?@BDAY}>1,/1347;6FT[?21.0+1;tvv??z{V988956327854288//2358<444:7421221443765<57::9?:==>AF?CUVZ[_U<=<232//*.1-//38446D;;=H\}}y[R<915:::=EA30++*,+:vzzAB~|R87541531687350/..2434;32296421121368<4338:9;:=8>99@><<:@D>:FU_bddR@6202+*/*.-*-+,69<:?QTC@Y}]N:0,/,****,-0+-07:VytIG?C>?CCWyy~~~`C?:;D<;9++,+*-/;svv=S~|Q@421612.1214810/023:431176762221263558747;=C<:;;=?@C?>9==:8;BXww{`=20,+-/1,2.-)*-9?@?>HB=C_Q:3-0,+**++-0-18<@=BYtw~~`TQA::1.+,,209XZZDYyzS?20/56.235147911022::5783875223473797:88>:<:::=<:?;=@FK_rZU?8H_{acO2/+--/011,++-9LNO<;9Cra?;1-*-+******,/1-1;C_|{^YGIC>D>B<;;?>St~xZB@4.+2/,.-8=BF?^suuaT=000307:66248:2387466:>@:4952126<7::<9:::9898;<;9?@CJY^uwuxrE:DtvcV;+++,-1220,/..8MSZUA?F<.1-++****,/2-/3;B<8996@Sxy[SOA:?5.,,2;FEG^^`[YP7.045@BP?=63867428689=CC=8463338<69<;A<=DKC9><;;8:JJZY^uwxw|\98Txxc=--++,+10-010-9TYSYTA]>1+******,/2,/39BDVXYXFLC=DFIE?=6;75FXw}y{|}}|c]O<167:7542:=;9=?<758344<5789B>D=FNE<;;:>;87GQXby{|}}~aN<=9:VWSO>96-/8OZWX\XHFCC73962:@E>>:9758456857<>=KXYZWDDXuyyU6162<@AC>B876957<<49;AE=;;+,++*-..-/0)-8=Ux=/**+-/2-05EU`r[X\u~}uXQ??;CG>R`{U=..28UvvqHB?JFHFB<0405=?;<;8657;=6875=CGI@<@?E=AE@>=;GWruu~~vsqC;7Rced<,+*,+--+-/+.4:UyV0,**)*,.1-06@]_`[\sz|~b~w^TA>64;Da~[90/6?LSZ^XJEPKZZGC9.432269:965<7577:;<6@FHC?@=FOJEB=56;JWrv~~uv]F8=HWv~`8,*,-1+,+*-06:Swd9,+***+-/3.=PWVIFI]twtWB73466;69:9<<;<799>@=;HFHAA@ESXb{z_K:77:@>?B@Wrx}|uZ?2687;46488:::88:;;@?:;EG?B@HXTE=7<67?857?;BD>8<4246<5AVvvURQ?5**1/10-/58O`}[Q:+***+-02ARTXy{^XUQ;P\T\sttvy|y|xYUW_wea{zR9>@B:;:8;Hsz|}|aN658;673:7;:<==;7::=::@><=?CEEET=79889@>6566544333445549MMO;;747?[wv|z]L72579747<8:><>?=9A?;==989=@;88:8@?TY^ZTQPSR@8+1@Pa|B90-**+28>@QtsGVXVXyw@?;:78;:DX[WXUSSQ<=2,04=NNMA6:5?CY\dcU?0234455546:<<;<>=:<:?><;:7=<>?A<6:<>=9<::76;>=964577=@>:7;85=Q`ZYVQPTWYR8.:P`~S:2.***+<@BDv}]G[`^[z?=DCTU?91/.29A9>L:80+,0,/39A?=C;;B=@A?=;:<::=;<>6=>?;=A>@=?EBQQAGEDB=QRAB:685ETXZWRQUYS\T<2SxaA3.***>NPBvwZWswe[a~BBARWYCA6010-+,.1/+--..*,/6:9625:E?NNPN7411..134577;FCDFB@JBBCPS]c`[UQNOVYSO?=>53;D<<==>U]SZT>@xT4.**1:?AA`||xq[vvcTX{?PUX\[B<;::3,.--.,,.)+++.24223;;@MOLN8533/,/134567@>TXHBC?=;8>;98>8876>9<:<9=BABTWZ[ZZ]bxe\SQPTWQNOTTCB7104788Rw~Sx]VRA;7.+0,,-+.00///03539=MNMLO@4>43,,0123335AOS_\MEB@;>=9::?BD?>:5:9:BB@BT\bb^YY]bfd[RPPQROLMR]_VC>423;36Ttzw~~Q=L^zxZSO=60/+1+/697553223438=LMMNM5><>.-,//021139MZ`sI;DB9>A:;>EFHDDH97>A8=FEYca`a^U;9MRQML>9;=;?R\]RP>@8474:;OOOVXT`w0+*--6?8QN=987-+,./0259=\uuYBCA89::>:41///688=6VaTN487-.3799:7==[xx\D?=9:=>DH^YY[qrH757<8ES_[aU?,,+++,+-,,+-*-3//7?7LO@57@BB::::VY=1+,,6AD=RyxY@LL<4:P]yxZWZ[WN?88:9OVXTUF@>>>;@72/,*/230T~z`O:MN52=665;?U]^[:+,+,+,,+,,,,09PT;@257LO?57@@?6@35ORCu4,*13:;Itt^D[utsA856AAVW]Q1,,,+.-++,,06Xwy_\V:5@>AD45?@>:81/9:BWM**,.9OOS]|{`[VMM?,,0;SZW\[T>9:MZ~x[GABCBA;:3/+.+,;xwD\w;?@Vu}|_85>ZyyrHHtzzU>56GS]\W8/,,.,.341.,;_zyrtbQ@7<>?45;>;871-79:>}3,+*6ARW`z}x\XUM60/MZWZXR?:;NTd[?>?AB@C83/+..+SZHs=?TWu}V=9VxxvXMs||X634EYxeV/,,*11?AZZSB_ztttW9?:@=85787882-2339uM+**+00:PWaw}}fZN>.,-8V\ZYPF:2APYQ:;KN:8446881+0250Yx5.*+/.;@QZuww}}cO=/0/9]\]T>934B@Yz5;C;AEE@:9.-,-:uH?AD>AA<;21=||a~AA`|twusrrB;36:Tyf`;-++,=Y[v_>s{{]7:KLL@853544-+14@5D}O-+*+-+29@Q\uuwwux|zV80+,*+*1Nyy`Q?5;7=>W=/09>TUUE=7*++,5^D@F>A>A?X^[VAu|]{wFDtwvu^s[C6379Qa_];+,,*=zzvt{\7VtvvT607L?>9:3341*01=7<:uv9/**+.-6;AT\uutr^xz{^@4+-,,,*/OxA:>589?XB+@]xv^TAB0-+,.u<:Za==ABYvzxsYArvOaAAW^r\VB634;:CYWT;-,,.9zXWu_?3B_`sX=1*0?<>99223//*58:4XO-+***+/09NSWZstt]r||{Y:.-,,,,,,@~E6:7;=AY]v\D;,**-{D<]R==A>YvzxsYHBu}?^H9>GC<6535=;ATRO9-++-:vz?935B_s`\>80+.-47630..+,,*2@C-Q|z;0***++..9RTUVY]rr^u}V7/,,,,+--A[@9=89:P^A5+.,,dC>ZR5;:?CTTUTSBG=}zPtSC8=853366?@QPO>+++1Au@-:Wv|tsS51.//*1,+0/*++-*-/353?d^4/*+,-0.8TXUVWXXqtz~~d=+++,,--3awF97=67CzxS84/+0+*+UV=Tx~~\>0-045/4=>FTT^bT|{aUAA78377?RSRM7/+-8at=8[}|t@0.0.,.,...1362+,.0,>?V|[51+*,0+0?PWVZWWV\|~Y5.-++,,+T{zZF=8<5=ScVK?73/+/.1PZ9IVxddO2+0,1,0.9A_`VPQ||~|uX>5577BZXWL50+4_S/R|]9.0/....+-..155@=0012<<=Sz[7+,,2-172*+-,>czw]S<79>:GP^g^UM:9410/,+1:s:,/8R^edyt@<5>@DROK7/5XyZ9T`y~^91.,-,011.+-/10+3?85*0,/./5>^}Q51*++/3AR_usssrru`y\A.+**0+19QXW^UA;58=69?@;>OA;:<;><;94300wG46D\yeV62,,,-0AsttZAWU*,-->Uyz~\>998>PMK80:uusYFYs_ry~u@,,,,1*/---+/1;<7/2221/00*.2:K^a=.,*.,1;P`urus_]\qvy\<70.,0-/;V[wvS==68=8>=;<968D=::L?=331.]S<59OcbZ82+,+,A]zttU5vR+-,,+:c~{S983BPRQ=27T\uuwxss_ZV<-,,,+,,-,,+0-4=884/2..-+,,./17<^\91**,20:B^vsu_XJKZrv}wy[P:6.*,+8RdbvSB897=996:3:=PN==PP=1.4.U\946=`_^8,*-+7U{|zt@R=*+,,+3W{~^E579P][P37TuutwxsZ@=71-,++,+**.+/<9?4//-1+.,.---/7?eW2-*,0-7?Xu`v^HFX\rzT||uS@2,--:af~aTA?67<5<49^\Y70:V\bwtX=30/./,++*****/++/81,1*+,+./--++/27NzP.,,1-29Q\`urIHZquu9Sy|Y>9-..@x~_b[XUC<;=7<=PX[VS^{`U?;70@~S54G^__>53ASaux}_4EZ^]O8;CAWsu[?Aw^0+.--1++*,;UQY[UE3?UK=>==>?:2,+101/,*/+-1,.-.0.,,-1,-,0/1116=?KXa8,+,+/3:?X_`\GYuxuzw>-+-,5Aa{x]A<0+,/9PTZax~~t[VY[XVZ[bxW[D?Dt}BD;=UxzW-0.01/-,)-*+7NZ[WP62>;:<:9:;JL7/,,+,,/.,*+,,0.023133/-,,,.130+7<>7=W{}zua=,**/.37AD\^_WKs}}vttS0**37AZZ[V>@>6-./+19Xy~f\YVN8R|PTUD=AWa=4ASzzzR89=D;B@Gtxu?+.0/1/,0***+-4>[[Q885><>BEDCstV.//./-*--+*+*./>VVN;336:;96:;L==>/0*1)/.+,--+,+-,0/5500542,.,/.13759..4?KWv{{zvrvv[>1*++4<@?R[]^XZ}{ZWD3,+,,,+*./8?X\Y^tuZ<11**,+/474/,..C{~BQA<;FwB86>b{=26;=A=A\]=-+..++00-.+.+-/>RW]tu~\9/1++++++++++:uvD:=>vR<4?\\54==@@>RU4*,,*,/11,,+++-4:59<=:858?><.-.--.1.+20*/-+-+,7<<;022/-,/>67,11/*5ESVZ[Zy|<-/::>BD?;4/++,9::;Es~|R4,/**+++*-3T{|T5<7B;0;;=<:<=+**,*.*-/,.,,,-/=ZZX>75SY^t~vB>CT\srYT=D:<2,1+0+3-7V}u:-0,,--+-+/27:O\`wyy{{x|~~U677:Fz].+*1,.,/+7AM>?;8>:7434332,023+2?@=?2-3/,*+3>`R0/++.,-,/-8:=@:7MSWY^uu_VA\}xS76487Y{>09?<7329MWQMKMUV=**-/.-*=T[UXSL:68557433/*04<5-694-++555.9874+01.-/**2+-.,-,,-L_dvusq^ZU@TSP1,,->:WUM-+++69;BAACBC?A6../9z[81*--/.48Q]WSRL=@=8syccaY@;DZXOQOML>MN@>:R]WXS?<42/--/++,098@40,,--3<95523//-,,++*++++,1-6=`|vsYX_TU6/*.-6:@QVXGs[T=1-04<=?AB@>>=;21?wY<1.8ORXd|vvZ[v~|}yt_avy~YBGILI@AEHFD<;=@?FCFDG=78?BYtxyvaxyaet@BBD?B6185;740,00-,-++,3.-,0,-,,1/+,,+//119\~z``z~|xx}~}{w\IHWZruwvvYLGCHHD@=E=?;A=>::69:9533-+0-+--0,.-*,*+-,0.,,-/*.1;=MWv}|t`T50*+-/,6ATWX[rv|{aZYU:.-,1228B^^[S;//@BU\x~|xv|ywrszyr]IHFNMKF@=EC;:B99AB<=8B;>HrvX@>2282/62-+.--.-+,,0.+-,111-+*+0+.17=PX`y{[T@++*,-009BQW_v|y^^d^<./,/07Sss_R65Raw|zus|~{y~yrXWXXWXIPEA=B;CB:=8>:98:9Vyx[Q;;<:51+*,./-++,,.4::/1/+++./+/4<9JUb{^O>1-*+-,9?BTWsy~wawz`<00*19Trr^A/@awyzrqt}t_^v|~x_[ZWVWY[XDE?DCDD:;;98:<8U}}v_X@82----.-/*0219889.0+++1,079=;KUx|O??,+*,11;QQ[XXu~wrrzzfX;.4CCCBKICBE=@wzT840/.,*/,,32297762,/++/,/6:MM??Y]N;1/**-+3MXV\^^swvtr^szx\XR7>X`_[Y@11Vx|}w^_rttyx\CDD;>CRVXURDBRUVRBDTXZY\XDCNZrYYTCA>>\P4Mc~}x|bN861.+**.-<;3-352.,0,,--.2<>NOPQx~U;3*+*,23MZ\\v|wtq^_ZUXWATZr_UB-=}vyw[Z_rrtt]R>?=;=AE<<<<@BPO=ADH@FXZ^]KKs~~uub_W;xstwu[W\]^_^\VQ@=978=C=<::>@<;9:?BD@T\^rs~acX6,**--69=?@PZx\>62.*-+;7661..,,0,).08:;8.**+.0+,---+212.@]fR=7=;80*,.-++**-46>QX[b[4*+*--9`|z{vwvqXX^__ZYYVO?@92+.+*++,,--,,-/2,.0258;=[~KSVsya0+*********/.A[}PM>:85//0479<;89LOV_wX1.*,,8b|{zs}{}ztvrXFY`\ZZWWO:;5./+***+-013-/024;UQ`t[N+*+00:W|cL?@>=597>NTXWSQX[]u}U0-,,9y|w^zs{{zztZEI_r^YUXR>1.+.****+-./2,-./2>e^aV<.*,*/A_T;8::8;KOT^y|zcdxx|T/,,-AzwuVtzxvzytZEH]t^`WTRA.1/-+**+,-/1,,,.7_`X;c0+*+14ZXQPPPRSSWaz}Y0-.3Wua\Zxxtwuq_^WCV`vst\RNA//,,+****+,-.0222/N|S:N+**/4^xvub_ZY^uzc6.*+:_Z^Ust`^xu]XJXIIWrwtv`R>?01,+*******+,-/00+;[>9/**07]~zu`_ruw|w<,*-0N\SWV\XZU_{v^ZYY[ZZ^s`wbR:92,-+*****+,-.//[_>6-**28Ux~zurqrstvy~y^M0-*/3NTACVX[XEU[rr]ZYZ\]\YY\a]O>40-/+*****++,1=QYW[UEEVXWWXY[\\ZWVTA;2/-1,*******,3|SY,*+*0AYzwsrr_]\ZZZ[suwZB>:10*++2;?>UYSSCCETTTTTUUSQC@;90-+0-*******,U\M1+.,5T|xurrr]ZWUTS]va_Q=?11**-+.17=QPA?>>ADEECBB=C@<4/+/-+****/8[{9.*+01Mw|xwwt][YUSCBYt[vW:5.0++-1+-2=<0)+,Fmsxrlhedccddcdefhkoqrlfc``aablb&]pmbdioqv|usvz~uuwy{vpmjoollms~u@Bug)9ruztsylfE?=Zswpomt|rjR0.1+_q}unhgfffffhjkloqrlfc``aajZB][fgdj|usvz~{wvywy~zvpqvsomrzua]ub7qqqr|tsy{uk[E(iqutpt|smb>'?m~upmmmmnsusuvusmfcbfp0;Dt|y{xvwvxy}~zz}yvsyriHaruuC3jnor}z{rmlhEit{utzl\=Et}ztv}z|~|zxw|Jhp^;Crywvw}rs}yr7cfgP6apqvonjpf`sr{{~sf:9IA:~qqto:3>7;E2}lehlvyw~rpqp]-o_^`8776'ruu~`lskg?1229?<7.:gqunirztlrDmj\=+jgtno||}q@(,Agnmra)=E]\BWZad_mpE4otss~yvuuss|wwwwrrrrrpj`oqrrjD(/puyut18>JB8<0.oknigltljiykZ^B-+mojEp~||qU*7Ejpn[,&+Dklrl,^porqq~yvuusswxCvwwpkoqqqa=>Vehmpd))qytt(:IBF<0d~||t250:Fotkrb@}}smmvviD'&fjlChrwsok>(0:cphp`9\04zt.9xhhoM(,A]Isx{L4punsm;Mlplefegiol_vtqY3qlT>>T+ZlkBkCnEmmqa-B_Jd7uu}h+Dhprp^,5^dmtopL0su{khefmsy^[vutY,ft~~lB4>RWT++5*bpo@Q'aguspp}j.Ifg]vvc(Yknpq}m*3hqqqDe{okhqKbvtsG9s{{{m8'(VR8.+.3,,]loo\m~e&\rrrn;nxppxsEjpsswycinnlq}q[(Dqtjswoop>ktpBmzvutzu<5897-+*-2*BCVronmT3v~I87'3]moqc9qrtFrlvswuqokmpokqrmf^*Esz~uD9yvuqootj:svun<'szvqnmo{nRD>@Uj3hqndj6sruvrlE&&^pqouutt))iQvqpnomfDmsllqq=Boz~z{ubi~pnpqqovs8ftti78qnlhhlyqa.'WdcU2Emog;hlpq7_worupug*?pqqa|ss:&6eurgkpn^*3flpsq@;pz{~wv|c&umnnpqtn>Hur`(`xlhhefjt^6muqk3(nps*@sqs+qwoqk4ppqssyM>fo]\fma(1cr~r0f}wv{wg|rmmnv|r`1Duvn>lwiefeehrqD,>qhbprUs~m<~sqxEFmppr(rtssi4Za>>]],_~rqf+]q{w~|uvqoslKIgvsFqwheedeivq=+*7lqusg'>df\\~r.ewttugsnqsWZxoos5BW428`pk86r~||wuvtv~rtwt\9stfdedekyqSuoOo2+U[^,rjjsstkpDlqr}ll(3<'>T4hsmmerv|wpkmw~tccnedeegn{qAryyueq{|n&U_fH*qrrf)?xokx.hcr^jj7_lm_8T4-mpoq\9isvmjkmxvqc3nwieefglr~m)2s{xyyDtwv{|f^jlk)f}o+}kpkL'rqrs.lly.3[jqq|wy~sVYsr?iwsmjqvssrpnfDpsgfgilouh=(s}z{x_d}xwvsVmnp7&m}c`pknvhvvA\rqkqrru^Ulr|oeaadh}eq~inwsvr_hlqkm`prhikmnouk?A}zq{{xsZfgc-5gu|{hsnvsuaaN4pY[yssj(hwlheaa`_fI||s`l*Axx`bc>_|{yz`s~,O=OfihfIe{xxo-ppsEsuqhed`_`_oXt{{}&kutohigc)qnkfffm[7rvuD:yy,afh>tyzv|A~}=Pno1>4ctpptll}Lsuq{so`^^hoE~yyY/otqmcU)_|qjeeej|n('0<;(8nvuE;tln}}+6iloC/esuj+vv|t\}zv(^widddfpLS]]Wrty|yx~rp8rqe2v/rzsrvxru+<;1LzhhyGzz{*:KK@+hddqnC+hqpq-ar~}~q_Cidccekxo+_WR'3rthyxy|~mKpnfb;BzswyCxrqusqssjc<:Gxjj5|}m+<=6,+)^xkhj}n^^oopj^oq~}{|um_.Vpdaadgr6T21lzyxsJfppEkqomgehwyurqqus}ja:5{ppq~w|}g8@=439q{rltqiT2bnoloWWjmp{x{|uldGe__aem7;9'&dtzs&mpqfbBouy}+s{}}j=xxrGx~w+>@D@=Pr{vnZ(0ipplogYZkpuxxxscXZ*Xk^^^divl+*DA4lrtmdpmk=(r+uK6||yms}tg:]rr^]xC+>C@=>Pkrq`-&[mooqoF*9ccZc}ssq<*-,wa^^bfp_\&1YV(5h_.1pqqj/r^uriy~2]rqlgaW8^\.]ri1762;Ndcml`2(E^lpplqs]9VVCoxttZ(~c__bfl~ok0346XU)jrpseGpjku<Z~~o+8(*+]irm>D250'3Dcr}|rsxpH//,YzuuxV+e``cfkv`ol_4@A,+*7]`;Dmrqss[gp`kcj~i>]c.7;A(-':Yhs|qoursqsti3]ttvl;gbbcfksuank`__(:`fppeE8>6.?T[cfX.5jqrqrtp>0+?72pr`?2?DD<@)?^fpxtqosqspxrUeyye3sldccfkrmlnmk+GkrqfZW`eeccfoqqrqnnqstra);si3(8>ADE52Ebktxt~g}pxtfCom6(rufddfls|s:lnmoj(Cfh]]dmicdgqrrpooqpkZ-JoX,*(846*)+*@rsmj^?{qqxnirqu9A?hhddflqy>;iohqj2./.)(3Tgol\V`jqttrg\D90*KK0(*.2Dol`DIJssvspr[m~~?XVEtmeehnt{e6ipgokdfmpnh9_]-7Z\=D:)(X=23U@-3aaFK6|yy~pqtrBt{{EDB-fuggipwr`)fnmibdknos^D>+tsszq\egheyy}uCB@'[sunnrtzqg0Vnefie:*e;/:kssp\.TR-f||rssljo~||sespp{a9djnu||mecEcqsrtwr`-DdekhFZj=4kj3Xq||tnbH5+5o~|zwvuuuuuyuu1+epiom0^tyvvx~t`./hqr|u?)euv[2J]<:F]aI)?D+CrpoqDDpzwvutpnlkkmzzqbqqttsf-swutvw|g3*r|}n't~h=;-03__;@()p{qosy}~uD2etytplkheel{sy{rqvus=kvkkotzj38s}h3~a-6iccsd5h{qosy}}{uY'+Xn~slheelzzy{rcqui}gffozj>hrqthquhC2dnoqm`-h||mbq{|{{uc*GrvnmqzzmA>bsrpGohcci}se`Vn5`h)_gbG6n}`;1E`gmj''Ys~{|unX2\mtl'5dsrj>Ti``f_c`kg38l*hctr^;5s}qB?\foslO-H0\rs}|n+BK7.ZnljFxdaajt4engmh+qsljtur]&>oqnZ,YmottuOIN*/G]gp}|~|{b6gprc'8zeaddvC4gog\.f}nsljikth/642,\Y+6ptu4NB1Ip|{x}c(5kvtACsqebeaiV]X/||?.)'-0qnpqn'*D]gsx}~m'Aujmwc&1dssiedebfAYV5'g|8+ipmaqyy_1/,Is~}e]pfdbdgmvrEbs~vojgffedgx_&8]hfX51lsrXqm,-krng\66vv~DD,I_-6ep}tdzneb`^^^`cflvk89gs~uojhgggfghn~jEkmief5j{zxvutqta7\kgW7lxrr9@,Jtma<~||q9zxnfa_][ZZZ[\_cfkvf+cznihgfeddefhkpyF-hpkjiW]xrxzxutjgn~yb)97[rpmmxe2uu9an\xx[n{zxsfc]LLZZZZZZ[\_cgo|rA*qurlfdbaaaaabcdfio}p+fnlhX`t}usxrxxjgieiwyws~saynhhoMCmwmnu~pShwkfc`^_]yhLZ]j{}~}zz~u}}q-r^+.,00mtjC9}jilglusxyzv1q{wrkfhedgvhutiK_p?89t:p~vpprru{yzqquignpn_k_ZLidK[dvorqk\E7duros@pe*-4:::2jvtPAC9&lglin}yzt-@}uspiedc``dqm+yuypa(+ono>`|}vztu~xtrpmfflx}wuuv{eZKfdKNaW_aW+30()(`rohnq;nc/16Bba2qnvP-09uoinosq,H|sqoje```]`g~rryuyqHdlnYgq|`r~xspnljeacflvspnmmlg_[[leJ[^k}sV((2B:BU1:qr.hrq\=<7AbjoJLra.0?ojKzostr|qmj{xtoe`O`abksurr{s?A]hk<eukrrkIs|tpljhfea^acgkklnkhgeb_]{n[[[]_bfkrx{{z}r_.cqskYhnqpahk<;hniJ,.?oqumtrplsqrropWc{kdabflstuG4-@W:4m_qihr{vqmkifeb``^bfjklnkhgebbge~][]\\\\]^_``adfmvqoi>-`qrrqipo-DfAFA/mrun:rlrluqllEA=j}lflq|`3-AF1i=?kr{vqmkifeb``adgknqokhghnxeYjb_\\\\]\[[[[\]^adgxq;*&cqurqqr83qpE?,CMK;B&rluxrA?=Jolsz{rZ-?D+Zkns{vpligedcdehntxyysnTXvkfda^\[[[[\\\\\^dny]3X>,?hef7atpm29orquzx|d&K\dqplZ,2Bgertrq}tnkihgfghlt}slV.eszngeb`_^\\\\^adefov]B&o}}>N`q@/77{{k1'[iqpqj8&9UTlj;.ymhgfhijlou}sg3Wmsvlgda_^adedfut3s}pe7,MF-BDxxg,^utrqe29.f}~sJ+/1_xxemq>/DE<1*fbedeissc02iwmkuA'n~}xsg]D*'nqpn~~hLwo[vsqa.X]Y'ibebeqsCHtuj4(c}x{|pI1BN4urh)Ijv5rk,[hpj9Bwddbez8(bqpg5b{|~|}pg]G/*NIOuutpnc@V-Jljus_r?,hnhof5tjaadxFilnZ.7KB+n|}sr\0H-Ojrnb]@Cbfof:[ckiZp0d4hlad_f``iT=jrsd5'ltm\2Xnu|{~sY''jmf]B2[pkjri@:4]gle.i[iV`es}icchoGprsb>AmzzqmnvrG*cu{{|{qbm||k1DsnIKA7.(Gmtqgsqrrg>jzoffg}iuqcr{yzzleehls~nX+'Yu{}}ysoq{j-k;/A>;b~2]tr~}s83jztokkvk=suvqr{ys{leehklptyte2Du~}ysoq{p+TgquaJloH@-<>h~tl}|r*3g|wvtuws-fsttqqbqzzmkklnptuvwzpDDqoprB6Xl]DtkB;=]J2[vue)?u|rqh/.`t~xvvyt^0moipe+1uuyuuuuuvwz|~o5+5Hbnt||qV''Yp==jZFhkedD-`rwtrsqcEcem||unjd9a{ppses||~ojlssr||f0CDJr\/;e*:eifenV0gqztrnnus['@BCu}yyehge\qzsst+>D>7;FakqtqpnkiqrqqqlV\\^*&rpY-5inqoidcheGbq}vqkklF*9;V{{{Djnkn|ww.734''Lnplmjghd:=^_TBoqrrj^sonkdbimnf)`rwpigguf-BDE{{tBrtqp~yy|6KFaa3-@U31=[-'Teko`=\Z7-]_9hnpmfdkogpi6e{tnheemtEVX?~~m[rpsvssJID`loD1+9Y^c\1,09D\grttqj`V\logT3()./.2jqhoi;>yqlfddhh?A9uqrinxqq{?^jmsr@*+).BXaW^+.\i?-Zkpqooprrqgdcimd]]hfC(jomnl:s|slfddfur(6moCftxp}g~txtkbE28X\\X`FVcur)artsqnnqrqqofccee`WZfqrkG+kmnlmrkfccdls3eyyeUrxpsqsoqtxpf^?)@W\[]XAWpuD37?+0>ptrqrqj5.Xfc[T?.6>8Eeppf`:(__`knauskfcbbg;lvtt]3itsqsruoq|shY:'-+@qjjck`pg[ssqrmD;`]7*+,A@4_lo`vkfc``e+VxuuzY,//Hpxsr|}rcD3'052D>lri^+*(@=os)=@C>*>x]^rr]:gt|siptJu+r(=kmpdmtrl4AD*+lvid^^^kX*ZXcsxxxupkZYgolppi0(Znv{rP=@D@>+w~xGrxx=j}sief|zuoBbfqpm&sztd'9;7mea__eGdlu|{x{pmjWWolonb2Tiqtlr{q934=@8g}|w~qpp{5:aj}sefeszxwhegmoqkEppfJsxyzl12C2rgdaadpV._mu|{}~qo^kpoo^]n~jhkx^)+,6=<+m}|5jjxG:]r~k)XtXlg__l48beeL7rmmu?rii50=5mtrj?szrrt9vrWsqq3;xysii)YDA1&uhddejs/BesvqG^~~3me]]hFstaBujjoommt0=?oo?z}]t|vv+juse/Coli6+}}nlt;Euvn8:A1'(n|jeeejq|_)Ucmqto/F{{Coh^^`os{qusL}lltpptc4>1ooR?}@|vzyt>hfa,yy:Duvr7[mfffknq)cgihotuk||rXo_`_`dehqusEspp-oxx{eIfhif_?P,s`zy{|_>cb`xxA*l`>stjjjnmkpr(hnijkjkr<s}}Ff_`aaehlwh(jssy[Yp5Oaausvnsh{|ug5-cgfZsx{{qz}A?kuonmkihrp`mkqlh_rvswnhpe}hdaaeo|rlU^urrqkqr\Avvhvnko`c}m&7pnmVsvwx}d_x{z}s(=huoligfgspDfnprssvqjmswi?rsYVs~yw|qqj[3.yll.srqr'Jkoj}+o}f)klj^f|{vwtDyyx{s2)m~rlgfeeiwn3cqvxmkjmvsi9]qopm-4T8_ml_7jj^rcg2wjnx>)frrq*Hf_U&n|{qeuyyrAq{ngeedencct~wmkpw|vremmsh4T>'<3(ll}rqkEpmrrsjjr,^[U+2oOouSqykededfts9\twtr~vtvuw||~r68kp_824WB5sooxZXsqosgttwd.r~\\fd>'gsuql7*+=qviedeehwqFsvgIKlsoqvu|~w{q]+fqr],]]>>aZ4isstr-sqq)j>_vqt~:m~sUrpbhq>,Dqrheefeiwl>nvuD1`r|vnmmr|gw{vw}f1rquc1(amf\]of>Myss(sqq7gopvq+sqs@*spn(3kqum6^tjfehhlx`(`ruH>ntqpnnmu&c|vw~{zp;Fqsqng4*^npkgrue6&:ss|asqq@dutovspyW7qplh;gomE2UcdW'.aqylhhlnq87ittf8svoqqpnp~ibu{z~zo@GrqmmsmDfmonpqvQi))ttuupqp^&>jrvvsr6jdnqh3jU@>DRn{omnqvzs'poowsjtqD)\q}qlnnicywsspjEsxppxn;nrrr]&e~l\ool],,3.+.8RV('8m{{{s9GstvbKqhko{eDqqqi3,m}qpnkY(cvv]gfI.j}ppsuga'Q@opb*5++TWR>4Bl~~tf,Ytuv[^ysmfehk{us0Lpotmd^5,^prphD+h}uu7dJ_B-aqmmEnCkBklZ+T>>Tlq3Yqtv_loigefelplM;msnup4L{xsI]A,(Mohhx9.tz40>.:rs9:efV;:&)Zmvt8)koswrhCljf&'Divvmms}}@brktoF:052t||~d0>F3'YhmosslIq|Zo||YldZR[jkiojmgW3'Wqsvqb1gea*+=aqqqokpwwvCxwssuuvy~qqrop^,lrlkD+&,[npjE7*Uq||~pEjom+-B^Zkyijltlginko.0<8BJ>81tuyup/(Djrrqo`jprrrrrwwww|ssuuvy~ssto4Epm_daZWB\]E=)armngA,(@q}||ontgj+=\jmDrltzrinuqg:.7~up5(^emqpr~{tt}w[\lcbfhksuqG=camqpmemnmptpDoqjG7'_q~~~ukr<?gksl`~uur'6778`^_o-]pqpr~wyvlhel}2E;7>3:otqq~:AI9:fs~{{rs`fpjnovqpa6Pgfc7ry}sr}wvwyrC;^phJ|wxz|~|z}vtz}tE=\lztu{tiEhlmr{z}ronj3CuuraHirysvy}zz~}yxvwvx{y|tD;0pfbcfmsuvususnmmmmpu~m?'>bms|tptuqi(E[ku{yst|rqqq7bu]auzrmosvqpvz~ywyvw{~zvsu|jdgf[]BZjaa``cflrqolkjhfffffghnu}q_+1.0Rjr|tmopwsZ=?Eflystzur9)guB@u~smlloojmpv{ywuu~zvsu|vqoidbmp]&blbaa``cflrqokhfedcddccdehlrxsmF,+)0>8Sj{rkjmoY?1caqnn}zqm45gqsrkJuvpllprmjm{v{sHDYlu}~vropng`knnq^&')tfcbakyojmuvpkhfedccba``befimqtyh-*)4]Z@;oqjhkjtrU2Vnkrtuvpme'=muuro;i|vvqt{zrmtvvsC&3B^jmh_G=Yhj]7=[lonr^'noodB9.s{mefcmbUsyqkgedcba`__bdfghimxr^,B^_^\rhfjhnj4Upqr~y|utpkmmFfqug3~pqtssvwzypovs_4(((+9BWU.,DlputJItsl/h}qhfejmBjlhisyqkfdca__bbdeefhpxl<(/Db_sgeffjws48n~yurw}vtqq}|pF*}geiorsszqertuutrj^A1/'*7@1,asu}turzrm}qkggg})9=?^p}vqmhfcbceeefhjnt~pB(*66'2argdeefrs5curwuw}}tjgl~hceeiorvvqstprkhji^//-'Ys}woqturzr}njhfflk4FYFCXbqtgeeefgijjkoyqT3V\VYlpgdddensAwuwsvwztjgihq|~rffceoz}uotrqriW]cEBs}khhoq}qr{mgfffgyqxmlmljjihhlvqe'<5'Admpt~nfdeddmp*szsvswuv~qihqu|{nhffneguvvqopjX=C*-qzfddgTgjmgeddeksp~wqkihgfgjrcZC51Xakr}ofdedenm&svsxuvwyx~vkkhlzf5lvsqqll[)iwgbbdqerrwifcccerZ/mqigffefirrZD*C^hmmhdmprsheedeoj-xu}wxqxyomkkr~m1Hvuohne7~gbaahqrujsgebbbf|rqgfeeeeixi0(25.8T_iqrswkggeeoiGixqkkmnomnt~m/Btuumhdskc__eusm)tfcaaahspqgeeeeel~na_`begfmt~{}}{vmikggoomusqvkkllnqv~wuc([wrcWXsd^^bjd*vebaaclZrrjfeedfn|tspou~{zzvrnlmikss0rpthvuunllq{s`I[FGgtd:f___fvq:yda``et+ryofdffiqy}vv}zztqrnlpz5Zqeljsmo]v}zumkkppqtvub)pi`^^dpr@ea``ejsgfijqx||ytqrzrT[iBDkmrl<^qtomostroorus[6rc^^ckqTga``eCrvjjpux|wy|je9;;2]olqdA@ekjiknrsrpljgEe``bg}g}mb``fooxpuywtsopprpE;-8iod`?:E^^\[aghe\G@.jjbbbfvp}odaaiWi~ytokc_[tusa77a]=1))4BGE@A@.)vebcewqufddn*VtrneX96oql/3-'1=<1,shcdevet}heex0qtqj\Zkqmsh+/*())Wreeem_u~geearuutrnkdjnG*.)'heeglxeeerGirssqlibChqfgesHpbbfa+-*',~heddic``m+qldd\Z[cbw*}fb\Z[_fnlpjni0BJA0HAG<7/)'(.Md2C+IY,'5DMS_cgWWWWVWgeT:*7cB*:2RaefVONNKJLQTTSPPKVYF:+IiVL+(,PJE<5,@X/Y1?/+4C^XQMQE@BHONKLJOMKF6@UfaM*IYTN31445/-'6jF'05CO2:4/.07;>=;CKKD1;5PVTUUHVG>'-QY*C_(W1BNdS-(/650,.484-2KL:19,H]XJ'(+233:96+)K58.=;E0VE.W)(/\ZQ1b'CfTG)?EEKBE.*(@+3-Y-['+53,(.T+UPGW7C^1VXRKD;1+,MZPRV>552)(+>@*Z5'V2(38HU]Z<((11??8,JaXUZhF'/j8+2541+h-0.Mb^[RG=5.(+1;CD=2,,EdPIPV?020-4*SG5i+;W\U[XO95@=ANS^TQ]L1=g_-/JXQPVPWjcUG3/=)+/RT`_XOHAEW_diYXhYKGGSXPA?B<13,/1(Jc7>W'KX]ZYZG<'89BBQa_[`)(?RbU13PRSUZZ4Y9)*+.IR^^[UT\WQUXXWVgbXW\cQN=/+*+-/B2OWPE4//)(8VGFW,MJR\meb=(;=D=-W^ie2.6:KeX;,?A;>RR)69BY;,(AA-*3:IRb`_UYWORVVVVeb_[_aTM.)53N,[A*2CK:9>4+*/04\P'QW>QPPQUkT@88CU_Y>Yif8(+1ARb^R*([UK.WUQME556S@IH064:NMPO=ASOJL@8=MNTVdcM/)*?<;J60*(9QYF82**,/<7[Q)JX[.6UTWSZ_F26P_]]gTTQ/+4?HL\\BQJZUU[ZLJA0CVG166;I@7460((;SLJ/)(F:Z;//3CTS>X9'772KIXF0hRU>_YW\`G4>_YZeOQG)3>:;:=UZO9,F1<5.153-5EIH37EC=52(+*(L7J*BTF*HU,(:DNR_/ITU-)?a\k[F0=\^V>22*+2;95)/MUTQUQM2N10'')-:EUDHK@?C;(KLON*HRB@.=U.(/.);RNY@,iA2+8KU\P?1+4/1-)1246+6IO4?O??YK9S0))+/9FPSTJGD-/?I`9YJ1*+HQCGE.=W>74*18;BOV,XA*:TVeJ@*-1*)*75+13+*3FOXX[J+'8NF,E;-4H<6(2-/9109BJJ?IQ=3HGD/,+0OUA/^GCA?K[LGOG+=iM2*)57=3Ei?'HN)/)EYeM/261053,(+-@R\aPS?K^MEGWI'+)6OP5.?SLJN]NM?5;QJEJ@7AKQSF>R:C?9))0-1RX5M8_MJHHHJNRLK=)Rf.H9/=BR]95T.<+/Q]P-3HS\QQOE43-*)7CB;03C0MXB?OcRJ>36F3'2969H9218KHOR7RH1'-J(*13)8FPXC*75-U_=BWU_]eeO65/3HTiXV?2,74M5/)*>QYU*8U3)B@\NKHBEHHNWHLU6<:OLMVgfH,Z:6>J3']D8RUZYhjdN0(4OWm\Vb*)?LH@>LfQ>38SJZj[n^n]S=;-;WO25+*&W5BE;F2<5/(-MXW[GC:1HYS9(IW2S4M^MFGDGGFMRLI(FMOUWYX*8\?;SN2('S<-721(;^acCLf`R=KRXZgh@,<\E;77C4&,N5:3C\k]8+*5V[lnSHFCPe?+1b'H71E^LHIGDHH0/5/8SO^VXf6HLFCRG2*&.[;46=6B:+'(-T`fhC_][.+5Teb;_l[G,FVX]d`^f^[[C9>4Ae(6;C:,,h=?VaWI;X`MNZce]Dd6;(,0P1M;,,6:BW\YPTX]6CG)].D]OLKHC6-;/GG)>K`VXi<KE>:K?1(-5EOT>)'-.1E?1=begc[QO3,+5T=Q-'',CWOZKI7.IEUF*6OTfgg=KC1.H7*-?FL\39:7Ree^7579AJ_a^;Ac`aQYE750`Y]]=EFD6NU[UYem\kidQf=/>:V2KbXc_dS*Q]U_^FC9D3E0<2U4,Z/LTDIJ..5DV[JL;66BNL2A*2;LNVfd=IA,)<-2ELZj*FG1Oj[XP579LKachg;=R^O>.21(C^]OBD>4A^_YQUcZYWcR5BU955S?/B7,+0(-RQPPQT\?TN;+CAL0QGDPRSX,''6HVMEHNQS2*O414BPJUfb;@H*'5,=PX])HPS5d]g@17AUWMkkh]1*6/'*FD@6I^]M<.1,4/HA85;//U\[:6IR[G2,=[*W.H:-4O]MC/Z9'UZYXf0.--6<608<9;0.7*VELRWHHKYOQ831HUOVQC1:'24=825<1+9EQZ:.I_I.'KM+/O:I/(*7R\K?*.[)7`TU[10,.02:7:/'+:ACH01OfmnmmnV^?T-bA27H>X6*-*K([Y0:FOYVQ1/5`*O(L@J>>12659DL_M]8+<;-/S71ZN6(J_8J?.J@+,@UZC44V0MZ>2:.3=;-+/)'175.0=@EIYXYHI\Z`aR96BG7[QA;2/U1*O4Y)BSRQS000c//IJ0DKHC(.D<38OVN4AOC;4*-Q89_Q4GR5GD)0MYJ3=NQ^OE1.97:5)/-(4EV9+)0@599FQ9'1=XH\62-T.JO,/)W)]S2=eD//?.,9NSLVWRQVJ)5;63UK)'Ea,'(,N`@a1.WcRI?52,c2*><[3K;(W;'/c8*]8IUWVnhf[XQZVY_W?/R@,99Ha)).;f0(+IgL;(WJ.U`GBA2'WcnY1MRF<1063^-(DN27VC\]OFKTQ)'-EX>RP@TDJ*OJ5GO+?^kgX]gXO:9PW\TXH<)-P934-S4DR?,'1HVXD4.a78^gdJ>-+Xiin_8;/&-XcBBR-)d*LXQ@)/.138DPcE4*^2BUc^D@dj]_SB@=1976;5U-M4F,UU[984P3+S8IN@((IS4+(GR'(=]23P+ATam]<(FR.Y3@(U60I?:2<:Mg@*W311:=59K1SZ)^ZVFDHT66UQA'A(*IHAN[J)/CUZB`6-6G'N*S':;;=?7AZ:S.&MCJKA9(./+03A8AKJ:R-Kg*gOLIRY18YKNK?GAC?ADFWRXPF5=L&1+SM,UKA8O,XZ<+-5??BIZ:eR,`eO+/@AKW__X;,DWN/(*IIDTM`8YNFBQK.CU[K;^,QG>66JIN\H-5K3.\F.-5`TJ2*IW;X6-3:HZYC6O8ERWY)CWUWh\VVZHGR8()G@M*;7W7WA:6NB0OB/+=PT'S'G75FGLW(4,39AbIH,._'J9cNC-*@MM-SO/*/EOWW1aPVTeJ,O\YWh\XaR[HXA?J.R(+W0-)U=V0*M\/*F;/,8JGIULHL+U)WPCCDGMT<Q;e[A'0TP(Y*FZ<0PRYK+6PFF^OG,<[]^VZm_RS[fi/T+04S0b,&EBO'RQ.*C8:OLGGJDIAF`:ZQJAAGN^XM7Qc1)EUA/10W@gM)2MPc7W57GC@.Ndf`VQWZO[b]X.,@9GX2K37R,AELKP.2-/=FGJH;N9J*ESXNGFIMOPN6P^IeO652>Z9fQ5'(:NYD+ZPAFI5Rdec_SFQV^\mZ:+KE33LbHA='5^'/8Y?B:@+/=HLP]2C,-CKS]IEFJLK2(@[RJTI74:4Y>YY>91);HNY'QMRVY;Nbeig[>9aUY^]H',c5;0-N\bZT85405LTaR5>UIJUH3PVWYPUYMSZUn^kg^;/TV[^_QiUBOWD,V2//?TE'D0H+03)NjYQJOROJG5?BmkTXWSRSXV^TZYUSVYVZ\UA+-AL_UQD3-]mHETf^=N'W9<89=XA+++;]M<,/EV[NFGKJE3(&*067/('/IMA23':ABMMI73+0=+0<]VLI<,CET5:RWiOU//L;694?WFFE7((B`NDARRI9@JHC1&*05423;ONF)78)+02*21;CA6UVWMQSRQNG4I^Y[]]^ZZY[[=VWWXXdO-4TUUZC51)'.CQMOOXC06,-+++-9829IACOUKEOOLLF?ARPZCl^^mhdU<,N[\bH9+-CK:/+1<:4BSD5:KJIJ*3'K7NVZg'OO)FFT@2D6>HF:48Bb45F\QLPVa`_aQSPP`SJI;3EDE+@8:48/3C9+COPB6;FIKMIMZYQ:iSY]e[P=/F[YW[VG6/JbY]SXfXA//6GIHIFEP_2.)1G-KNPd(KYE,N_=YF79AKI<74+OU32@LSO<7-(/=KNA/12-*=HHG5EL=86>)/EHK@1-673(/>HN]^ZZ^gVMCXVfVD/3`YQQWPE5PiWIBC?8;28GQRHEJJIKKP^7=8>GWRT]BYN+LjL-]OGCJI@4/7ATY<(-0?HLB_PXI.<7-DNOL@240(2JY[dffY?,(/?QVO7(JXORSd\Z;0,((0@>70')16.E/MXH>8+9DHOG*aJ1+O]]E4))XRHG=@P(9MXT@0+2MJO;F:5MO;9D;23(;C>7018KJLGTW=D.13-(';LOOE0N]HJFCKIVMNZhYLT+361KE*2TL31K/&,+.D_4.Z&D\bM;'56(8Z+7R'Z,>[=+(CJMQUH.@FIQ6G5(*+(,,7:<4)Wd>(8=9,0+0-dB*'+T-?1+.+*2KE@0'(*;LLVT4.67-FTF7529NbG\\A9K0(FSD=ZK/6DED.03J`M?254-GO\f65M:@*217f8P+H=MMH=CBU=5@00-:GA,5=2*-+:RPL.-51)?T7KSkTe\QMB8=OQ^`V)'7Ta=ATSP:*8J@SHA.1=N_RB2('\MINC-/GGV:21.0JVL4(((/=@:)7EG,1XX)2RVTVTF6/;@KEPOB]R/(8a24ORJDJI1AQIL69=K`SB4+h,QF8D9CY8FOM()6PcWNQC2IX42H5LRO/D77Z.7:;8,=LH()24;4+(,2KWP?.40-).VWZ\_]UX^VZ2'*J@ELN/,8NdK4HSP?742>MH9),OX;*4HcQ*NAKeYRZ[9128RLFeJ@ESN@?SKQ6)(07J4--+.7MA1(,).)1WZ]m]\cJXTc17Z437Q>AVQIOC*8M4+ARDIYQ:(4QXH+W>HMdRW\Y?/6DDO8)GYXT=CJ>C<3KPB(5G89''/-0*)/0-*+*/FXk]A19MnO]/KMS;+XPQYOR\I*BF6IH/P`D.4MjK+HBNPPBFZXG34BAA=V;,/W/6I:.;OKL6/-67+)'(///,67'')(4J]Z=.7CTZZGGS*NILKJJQH=VSG3-T(8A>V_A**A_VD(;-NG=9@GEV>)05-+^?/)D7/JJECB?5,(*'..+134'().9\SP.FS3OHEZQ5,9MfJE08L@4=?AZW*XRC56EANME=2+,5=5))37929A;-*'+5@@=/7;HUSVT*EM(*MG+5ZL7KSUTTWRSN;96''-RX55Z14T(EOC77.(38577>F7,)/EQKLQ7DTWJWMR](7M/L1'-01/(0h+J-:TG,7[S>BBX<LV?'5[GC>57317;DF=65).?=6.;B>0,9=KQTC6NU0H@AEEG@*YYKVJJMRK'0N/1M.'+,(j69PT).KU:22X)ORG7P]J;.=G8/=LNO/(0HFC+=?35577P@E)'.9KO1=DB/KESWWJGKRU'7OG82OF,+(6GX(*:b1''R'U\J@2+1KOM0(=/6T814DHJ2(((62)'))EFFB:;8)(3JSE8B8*'6;;HJ*F0+ONI=<>DFJPdOLN=AXIFL90_B5L(+1P/-8^0Q*V_NKJJL[(-@GEGTK-J:010+*)7RUU154,61>AF..FA>16,451UUR7)*+2433?E:EQ3LW6Y565PFIK-**R^0'XOKWYY\n][`UL.4A8'K+5Z8I:;aRMIDGIL27'@P:3AUJJI)2L=13)'211NUX?+-234HE4',(0;9408KA0L]8E'>*(=K.2B)P[WJ+*;RR=-SUA7/1MB=NMA7=AJV:FRJS9=9G52*8S'++53TL(E@P77553?=+CFH0')'-**:TRPB0,PBMG+ZX\VZU\S9O-AiB(F0.3?RLRH8(6ZK1.(0@24V[KCHX33DRGCEULN9/*7GL/;;PO[0CURK=9,0>B;.6=?.3NTQPD418:6,:QE:MEC4(,/Sg[]cdROZAWW=*G>W1LURWFQH:NF1(./-,T5YR]M>167P13FK[OQICCGEK&UVViX7,/VON?77583(+;QREF@DKLG=2?A4;*)UQ21A3=?.(NVWUg]VS]fW=6''7][+:XPWVMUDNMI?CCU3QRI@?C=H,49RH0;HZM612X(Ilge]>,2-<@@5+'*-;A92973),622EG?@EKMG=372IBNG20;VgP=.ENQ0:PTZg]\e\UCF0+02+;[jM9->XYG((KFJ8>FLM5RH123-?Vb[CHJE);FHYd[\^Y\[:4()''76,///-('76+1++*(>J9,QK*(')GiVFBL1((:9+06`\Y[TSPMA7/UcD/*5F[Y<EJ6GA*I\ROYQPX+;SMLGnQ@03A+54)*+*-0/)*0(-*41)2:8'9=2+K8,TME3-3O?;(*=[TRTUaQ=K+IYR42H]W@DRA,4M7*COIQVA>Q734Z7BlF7++@@<'+/),(1AM7)78+3/386*55;H@'5MFV)*)NSCLR:32:[YSVVI8N*QcH4'+=\L**:IM>247?PSH4KdN8,/NLE@J**Ai=6/0RYG>'+.04.?PWK24:56,2595+(FKA:*TL)QQIV<+4DWUI24?ITL?-(8F<24XI2CQNWcP6)(>NAB?++)37J`17CD_PXTP5)562=PTI9),28137MXK*6WB8:*/4/J)T7,JL97LIQA1IJDJRO42a8(/R]BOPEK@8BML<NX@c512*@:M56f[NG-452?N`J30.DED6/KZ=DSF(0K9=[a46BS*5A@DHKOQ@-4UWOM;)))+;=?4OB6-1@+H-)'+Cc-0+0,9=8(>dW>f.:Jf?(2C07TSPDX^SS(>mDBS]>F=4MIEIOW/,>SQ>;6+*(+581LTRO8)/=H@A:UEN4N'&'T42)5.60A[\?=C-9OQ-*(10)+EQP0*JK(3\IB`n^D2+DNEU@84FNT(@8,(7>;7,*,-*6?J6QIF@.HUQMJC(,=[?,Z`:+Z8(65';Mb\D&Z.4_D.+,&/K13LT2*EK164+TON\hWV:KQJC-620,=FDF]JF9*OHBLUD/)@\N)*CP14QL*)*A[S:1'=Mb]N((PN;W:6?1G\X6RTRJH7(-]h_ZY_TQKAM4T=IG;(41799310.-AC7;OM5:F;OJM2+0@TXM9(P@=GHRX))4E]]O+1Ja*GOHD9+8>HXM/E.6>;,&+F[TSiUND39E*SYQPN33<259>9)/+).666FJKDV?=2,/DOE@EG8[_db]]A)=Y[C&,SZ5SQOM*CADHT/+PJFGHGDI<1)'07>@0((,0;[[hTTPXQ=)1Q11XcQTRM<*34918<7*-7<.IXP_BLH?0-(8=7^PKKIJJEHRQG82;8?CBIWiP5FVUQP\c>/SM51()>mOWWQJC:4,.862+.50+)>68=LE5GHH=*-21/ANK=/(-7:6D2@TFF)OO'gZVN7K'3*JIJK:5DSB4:<1+/:KC-+9Gc\\O5@TgUVQKT^XOQ@>FKKKJFL[MKI*(,(+++-,60CXOOMQC.')1>LYR<5CZUUT4-OdXXWWV>/B5AOLBS`ROQ(1(@8OO?9/1FLORZL1(010BUYLAC]YRXN[R[ZY[I4GNQRRPOaTN=E=540(20+)87)FNO;32450*&1CHJ@9IRRADN`B((7EFFW?496;L//UOiWR:5TEC,HGHFGNXYN`XYTTYNPWk][57NRSTSOSiYG)0S>?4.37IMMBA:'32AMI/'(/760*&(3EJKGFN[VE/,KIFJKW4)9RK4'*-+.?VXYEJU]SYWUYSG20ENUaD+/OYOOO=7I(E5U_fP:SkZA(*BXXkOZXKKQUS\VU\_\VZQSd]UURPYHRVfed:38@JLS^fV1:>CD-,+(0O;B9E3?S*;XP,),+9OU(*BU^XF/FXYdlWORZ\Xb/JbYTVZO;5JC2UbeUVX^\YK4/KS[^b\gjWRPIJ\UZ`cbYQJGG_`\_Q<+@RY^]<@Vcggj^VW4/J:80588F*9:2F,8^E+3+?e2(;RDEan^\WR06Yfl[[gY<6QI1XfeUR5R[\VR[Q.2;43;QS]ag\N<9GE@HKLNSe\RH7,FPM?C,R[TRZPfVYMD;/,1MD-::?D<0+H0D'ET?//2V,DWOBUiQ_^[VT/;^gk^nUZSMYUPYWVP3HUJIU>5RaTL50458TZb\N-0;>FFFGKT\QE5@OLOQP()QMbQC(,M-BCC*M0O-WQ<90IHZ8*/[giebN;YVRMQ'YNH;)19>YY>Y4:47ITJR[@(2KLJFEI]SKC-,C2]PLH=@:C?Y8/'^5'=AHbL33EK+:Zn\SWPFS_cedR5IFAPZ+DYN:('5Qf9[=256OeI(^Q6NPOMIFGNXSE*J:N;HJGF=/-2=KLEA,R73K2XG9@,-X]V_UZXQV`fdN.@CG75W7cPM2)Mg@W01/AUD(1aR7MX^NGAAJQZ:`FBIDJGGLO:7U*QR'OBE&,b0S40+T.Zg`YYR]ZV^][<,GO^FFP6+KYRP0Zd;QNc9J'_.,HIbA93,4(WLGF56GQ'TP=+/BO0BN6:AW7W7;*M@G)(8RI)HjVT[hWUWC)YWRE8O6CYZH:3-6X;NJ)/ER`5-.F\.3K5-H\NIJ66>FQ,^;K[UC.KQBFNY8`MTDII*(/OWD.8U_^WKA@/+Oe`,Re:ZIB??5-+L;Q1c=-:HN:11>@AQU\N-16=+\O<3W*@gM:<2:?I06U)A3Y.RF(<]maTA+P32]=('RG'+5SI)(?NJ8S+3P489[UU,F4M-U5;6791=@BS_]jd@D^cUB2^*4EcPD831./)@QXL*e)-RBBcX-&/>U[h\OHB-)T7GT-&'+U/@FTX5C?*R<;>Qj78D,EI*VA?13018AB<8_niiX+->Jdg^87a.4DXVH1',?RD5R-439P-)XE-')QTKFO]\CV72ND(-^36010I9TOU]\IV5A6)g'.DQikdJUSP-@Uj`.)V;/E_R)(-//SU?:3BW<3KG5MPQQG:GhX\[[OP@0-Q1JV(+4\/c-BIG0*W(O;'[QEHVQYC/*3B@72QUV<',aE()MT37;5)JVQRWVLSN9,.?/>*9V*..X.*W>LMT(M:-^/DX.2KW]A2KYRD8-@aWiXBC4+73<9;;GcS';L4ZS8(+FKE0BEfK29X*&'FPK)'+FVL9ETR4DHI:2.D_1V+--U<7]C6VZ)W)/,OJ.T-26\HX=1'9QF995@0)+9VE4(-/)5:79.1EO^QN=3JYM0)DG5RG4R_9;N-)18AN@4NVO83ZM0V44CZU@,+@J.?J8_J(6NW.=N-,89+8]M_LD95621>>J@L(O)`4.0QVX]I=1X[-D*-*6X>H72Ab-T?^VnmmnmfO10HCA:+'/:7:20.,01[UT`7)[.*?K\R7*(/I:O/+MK'.J\B+?YM@5*1<528=42':1CQVOUH139SOZXHHWRLEX*7>;1.-+M^:74/X:SPS]\]^^]YlKBD<.0;9<806<6--.0fXYZU'9Z/CM]O4-:H.W*[=,2GZOF37X[T./;58AH/4>DVS.8<-*+(?R=.=^NM;.0W?*TESTKQ.Y00KGXOJJKM?S)35)9EJJ/9W?=O[./CNVSPN]nnjB8B=?AL<*'/6*1]hkkMWUA71@g]d5SPH)]XP=,5'*H@;bfUJPB414O*2SQNHEMVH6'',XSRPDGQ0LAC+;NT?\TQPPQR-(0+,7B/?S559UB5RcWYZcUQY_^A4>DBO]^C(12.>O^R=;ghcaKL975PX[jO1GF*jZLE2-<),AI=dfVNL;2*A2LNB66;LJ[VD5..JIDTL/Z,4U2<0E3D9CF^_U]Q*Sd_cXbK2V:>/=fQdik\meYU[UN6DFE=]]Y`057EYQa`cA;^a_JA9757^eeR7:93\LF?-*7H.1CK=ggfTO6*FUEI.7IKZOWC,''-Q=T5+>K[aT1)B-a/9.<.)ZNVUSWTU:)+(MN1B2JUY\lhc\Z[XZS5ITZ1Vnkb<,3OQ[cgeb=1?E1.-')>TOE>698V<5-(1?K:>EK)GG/;-6CHKLO]D.])GC6]XTPY\WB:6,,;M1P0,(;6dD]ecZNM`X;IWaV?=h,,:C;6(eA4>9C[[^f^`d]XVF,G[l_;beT5+.[]_Chf`T-('+:B6=64;[.&*2GRCFLH6fXV^OS8/5/0HHDGIHL^E17H'b1+?ePCFHSnl[V5*+8]k\C3:5N,&4C77;E\<>0K`NT[RRE;S;=6E\[l`\^b[K<,@hgZXRK=R`fLCca^;(127-QfL>@HL?)*bV\mWO4(0NdjhYZUR8D]'3J>6:Z,HfgVMLO:<6ULHWNHHEBHKN\@B)3U8*UYQ>*)/5M>2,,.)'QCKRJ4E('(6RLL48PHMW[UURPPRJ/98DQdUK<47,2?VXiTH3/56Oee]_UWB=_U-57*C>[2VXRQ=8H1CSG5@IUMIGFHJLOXM4RGIOTTC8K:EGCA<-'1HR7ROHK8129H9692'3F63>JRcO?BXM0C30;BC7)*-34EOQQ\SH3-P]Q/+<.T59]RB=/9H.fR)=KLRNJHHHJM_8M5XR1-0))9?C:R>FSQKA7@JEJQ;5?MN]NJLS?.5PO6)+'IWGEM^K?SPa\R@-+(,350162/MeYE)/)NH'?iE3=75)*2Mi=+GOGL[K?ACG^/AUO0+,/DGH3=QI?JJB9019/-2(6W=.EGCQH+*1JY9`I?/-DGJTSPF9/+))0S9KY??O?4OI6+6421)-1/4+1?P\UK8+2Ai,@YNR;)./(.U=.@BRH*NOLK(;C?@KHDUE:-)''01N2MQUQTUM/)59;2+*22>V^\=0F[k\a?)-UTI/_RND:(,UH*FTB*J7L(*+(25=CE73HIE5-351.5<1F,9OZU=:;:>3)GQOeZY_>4G`\WY_>URh0FXIK277'9X>STC3//;Z:F()/JLS;((0647@I;661GVC0AJLZ[UUZJQB\\LH?4+/QTTg]]_P62F_ZSWTU6.[XJ)Q[7Y_UC88@TkUQPPQ>WQ'P\40/*+4>9:KC2*A[,N35).MTa_[_beVVVVROWYU_`bRI:3*-AA(,;YB96)RR>;A?,;XeK:6.2ei^W-=D=;(=bem\RJM,WFGV8()//4EPWO2B/-+*+/=NQc\WXbgVWXXUQW\TU[^^RI.+*)9Y4ZZUSRP31UbR?()`[_aQBB98'7cJ(1/,31+()255>VRPZM,+1;DKRXV1^C>)C;j3JWT[f]FEMYaehgc[ZN=-9I0[(?J8'.33;:TYbW:-59?G[@G+1V)DY:)WTonm^f]TQB89CI93.?C1Z+7KD)+5@8FfC5*,015CT'-(=e'Bj,@Z\[[]Y^PA/('@A7O?7KG-+(9BGj7),+/V++8M(FT37LONKFDE9)5FR:(.2(*CLL'/IXi<7WGPU+T.(,35+'[-Y-3+@(*.EBKEE?)GTfC'b1QZ\/()W.EV0E;=.85K)+69:332+('JX]H,>2-RZ_?.]DQT@OM<91:LK2-484.,056/(-SdNB1W(_C*YQ-'>GVHUUTVP5;1DKKC;=>;70./4:>CO`H<2OC50'Fj6'-/54413NTYI*MafU@6FKMOJLKNOHB@EQMQX^C4+/?1Y/X@,5,Z1ZHZ,07DROP51:YV9)1GcVWeVddTPPTVf\WTI9)K'C-Z:Y1-2=PQ<2:*Bc7*:TegWVWWWWgc_SMD5',YI+C2dM.(')/77OP)2G^YXYYgfbXMA7-\8-0@bO?-*,2;@KQg<)4DRWWUQG8.9ACM5OaZYZZbP;''(''ZZ(('N/S*Z7/.d<AH0AJB0΢҅^ԣ@v}ά?>έҭ{aD@=?c|)̤xsqqxГY)&aԢkΥ}n`YUEB=Agz&^ӋѬ~td[RBACA;@UYuΙa:mЪtogT?://:USDT=8]Ηs;53@AϦwaXU<,,-)'+7BB:/4n̓V4pΧf<,')2-3Xb~΃=0(Rԡ{͟c(-,800uυ2)oҋ4Ϡ{\1)+yъfm-ѦgBԤ5j?5`͊X1()(9lvԨIϓSEyшvӈKq͙S,>&Ҏ0:36@8R]3ЩY(<=ы(?_kTQN';ԩhϕq`A8EЄ8c[Y_fpk_4(SӋ>kt}Ч@).@Ӭs)Bpe5/EXŢX+X`guͦ^(+ќU7}Нyivzh[*''6R_tԣD[^jxpf]S=;Umw;`Б67A23AΙ|giCcѫyf(,.2Ann?[]cnqg:,4AE<:T^noi],His/3͇6'8S`bҬtAZ\Ϥ`-*xқ:('*?TY]=+2@CCDT[agb^7?`+zӬy6(VxΚwirrZ\Ьze<ti<2+]zI/4/'+8FUV*81Fyς8/*5iϛ{hA>^xwyϩn;Cw^gfYXHIyvW*'*d8v79ӡV-0,9fΑeB@`}zϞw>(tJ10G΅3(-eф/8Wn͑hestA?nFļsY-|xuϒ5(BӦU-D|ͧΠШxvg2b¼żrc][=3,*^i0uђ9(rq-^ΤҩΟΩ˄ymke~u0'sxkk{ma3-:pa'=`zzВVRф/`ͣ΢˦Τwjaxs}^9+3d:2od:/5Zqpi3+<}|la]r|^?^=>>>Oq{yX-gӜ/C|Пxlzz{oz[7*0.mj({a]em}E:2j@BC<7:>Fm3+.?rl*hύsvjk`\{vTEBϚt]-H1(()w7{sfnxb)EsӘ>͌`B;6,3>9Ck~@+>SYԦ?)Иywqq]Ya~ϝ}sR?4_ѫ^'lT=QCP>'>b‘~x-,+BvѫEIЛz_8+30992:H0&01ECDpәCͦϬДhfd_hyГ{s2\XѧndimhT62yynxg2S8TQ&[С^̟`3/:92;0]@AZ҅:̬Υvf_]jkmv_eiUourlbhk`B4[Ye~}l^Yh[ơ&C6&-E;14)[DETҀ*,}vΡb_]dn{}`SPuqxypsopmc[S@8/~Ζ3-&*'lϤӗVǚbkΛEvˬάͥkN`H.k0@RSXҁ:{`^eieh`fg{qaDBlwnvp^PAPRXsS9΀cqbh^vxfIbeƗDϦkp̣ka7By&-AU\҄XYACxgcYZyi}gk~kipyt^C@CWo7/УЩԥ4?K@8?f?+~Ϣy&DHDmm6&,9GqE&:Uaӎ-k}ybCYvtWWZiϬ̩WQPizvpjtĜe2ңvA:6Ai~f?mp&B͐C6ḅ^]0AXhԠ3?w{^|}tvΕrpWegϬΟD/.OxĔb1Ч4;G7Er<<2)MG1(&Тwnẅ́97s҃&7[axXPnakbtНxpkklϭͬ΍V,+=o{u{l+Ьϓ3dagnx}s'ZH2)8zB)AӦw9)n@>apу(4UooedvysmtqwӤg->U?5@fz,wΞ}W&jgQdpzy`rjG-FA~Йq__?/xԐ&'ZtԢ20@RYi{}w~syϣҋC19=:5<=bhѬϗoPcq|f0ib1Bmϛue0fl0+e}n.301[ͣϤ΂R2;<>;6=))p9+znc=>Pa=i3cm1AѤa.-|Ӣ730gӤD&,lΠͣΖϬ}^QQSSR*7W4Ӂae/NiHXpMN')XqX0ҡk._54lҝ2;Ϟ̤ӬϤmF8gf'}b04ЩgEuy-T9Q?@sÀ9-Зe3L0(Bғh}͝pӢ:8B@œz,BirW7UW'|6C¡Ǟt;;џW<+.mр'd͝qV@aҘth4isǙZ~ӫ0--fԦUCʤ>,,>zĒŒfeҭqC&('cc,d{Д|o>@YrҜ6F{,aƊ>Ѣ~XЪe{ˋ;-461R~~qqpry2Ξr8dҔ2Yv{xvcVY{ϭV':>?v]Ҫc-ЫpWZˀH9.QZ[hD-5j_hjcΫWV~q)hάqbQqzΡgvsD&iBD/CrΈzzxͧeS^sl[216f{ș?ω57nҤc?\`oTYPj͠:/SCDŽAt(ѡH=zAͩ~m\5S\өn/)_Ҩh.^d΍]SliyЗHtt4ɝF2rͦΫWϨwfQn^tWr0c~lv{0sfgl>Ɛg6(=ez\ΣuCZȎ'|Ө1Cw2~ѥΣώ}G0VөY-faJ(8'+grky@Чu+xlGlA^[X}ңthgpЧn:/q6cӘ?.wɚe\tX-8'D6>enԤg']kv)ѕ=BӚJHoόtvu]9.0C͆6.7Bҙ6*˗=Ah978DjэY1^,\v1ѥv&*p}2Ҩ9d3[0@8Eg>0ntӪp9):p;[eiҨB-CӚ(_znlkunP]Uk5`:j=tJ9;C)t})dѕjG9++5I\j|(W??ΏZ)`r~a`gtxn>B7'nҁl˝2,*9:,8ѪujI99>HII]{RkҖY<ԧuybacfst35R9&+]ҍZ˙W8;XЦr]<68@A:py8n&oz;qom~eaYYg].0AD`wyGV-avA5af'_РziF55258'Au:bXAԫ`EC_[UT_V()Oi6n҅.eEB'|6V5]~-~|ϙyhE31588';`C*E`wΑ30A=?ztbnvOBSV`9@i{T8>ҧ;;~|v~8e3Z|n:}xkX>:=B:)6\d@&iw2'CUVoӄo;]54OVe5?QfxҟZZɛ(3Xx=1@Y]]cu>=pklbh}pb\_fm^5/?:1/S`qqpgtҬt*agfcSqknyba_+v?61+Aew|rulfiroeBHwqp~W/6W0SbsӉBtǞ]0&2-5=->7/fǑ_=C07;Vpz}{TW-p:-('-)?wpqwxtprlhrͥi,T8Ug}e?ßb&E}ġ~}mnvÓ46my|vwy{nkVtB2,)&&3cpu΢i:*(5CR|u8B[)@vĜw'=m{vvxz~lpnj?@042?i}nyР~iHHJ602,-dw357;:;AUslC7(2<\zǝĘE'&]ivA,7uңd7-?Wm~C.);_-()*]Ё=dDkÔtkrur›wz||pƔwqk{|wegopk\.-Vn_4{{W0&Kp~zQAB715G**,vӜD9pgjb^f1}A3>rxhk}Çf\]]W.[Åj:<1(ԩb;kͪp(lsahƿ•s)2jj{uzzs59wy\Y[[`&5@6:>:}9eҠx:.n˕CVƘ}c;'e34Y{{Ģǣuruɞx^)(Erb.(>Yq(*~k*cӤ=5f͜AF]X~qkcZo{23?{ǢyusʘwYY>avr;/*??)xp9.xҋ5nњ4:c}qeddyƟor^?7d2hZEXb~n@S[,aј\h-hĂ~mxǡnrgnɟȁ8dm;Ab'.1'\yԛ]Λ~ҙX6lE*]~pzgnvȟʊ4/Rwa7'MKcbVl8I{]9/^sԬ8|Ӭ5C4\nYlǢ||ƚl3)sw*(H,AxeWÓqA,&7pya@(\qW7@}tUvHÿnYlĿȢxfkɢ}WQ+vœėxfoƞ˜l346i==u2A)4Cx̧|Z'Do}h9+k̝`)lwS:zZ/w`fz{^@fsƓxĤ˚l@AT;9csxd`KЌnH/Gz_/ExΜy9YxtT*4}ҫnGu5wke|sǜĜʜmS=P~kBAӧlFp`tqb(un(d͝S{H45Ӓ<BdllĽ¿ŜʞƘ~g<23/0C|)Hyyqo7`2fѩg2j*6Чgkltyz~ěƘɥd3194EҬ}'smu0j6?yЧ[*@qԩptyghuɡĠ{B13A8͛jwiejmmv+qҜ@dĝyBaҝbnyfhtƔ}śrrjƐra.3+M~|>haPbA?g7mWӂCzþ]:΀<e*|vwȜ}ǝrjiőt<8),b`PcF<65?đDT.h™w:9|5>a15jklƤșyy{Ēi~ǣu45nebN78;t=vj)aŞV,rd72x[vssŠĤƥţƣ{w{xhy}u14=w1&359:[/o~_&.Ԁ?\p]HGKEDas3<=wſ}{–x||ggl}Y(i37w31}]l(7k.^~EE@;;:As&3357RABcG3c`@B?4A&rgIE;Algh||xž|}Ėj)'gԔTywrA\XTA8+1*91?h/UU3:3,*lGhˌE6*V~yhx{w{ƣǥƥÑrrt^/әZ+/';sfhƛn46-JekHi6jtƢ~hɔ{yyťǡċfdcxc(Ϩm7<*/c7Zl/>z_Ah-3aʚk~04izD;v'+ałhjrƘ}ʕpccdt`2ϣw\5:b]*&7,+wl0?oxH5l<_wo/3exE0(+:4Q)*,PhŞjrrŢ}Ǣjdusztkhq~|(xѫ~utv]:+'<_lӖ6/axiA/5ҝws~2n-3̦lC8\h|uŔe(=\yJ)-(f^,>pƓkfx›m[oƎ](-ҧ}@6W̧p[(@ayp7&,AqǗWexA,H(*n)3]rʠ}}žmZoÉY[;ѡ{7Ϊs^/9]{I8lVbcKM*6hd/38cȠymfƝyp~]>na^̡~͛]˝y\'1.'bA7g')'/7?Eoȗmfnmžtn~Đh*y]άa,[̢S@n~bXETy:4g?//1kʡnmtfdfq}b:Ó4Ϣn5ͤx.9px)=hPfsY'(,pǝx>21{oZckq~X^UAӬf5=˛c*k~*(~~kX3cm-*x•w}|X32e';c}ğVDǒm.:xӭe9}͓:>:6@5&\hmk^DFq|-~~ȡ|{ii2)sœǿgas l(pΝk;b΅(19'&Rnt&nxuuēr>3A}1f^bjgp9Dv,**G517>:0kW?qGczuux“ƘpZ?[wyáĉe5'hT'Ah21+`C-=5-2&0]ǚtBћsbS0W6/W~pqwHBeoriflup|xc=+0./l)^abxk^+}xxfgÜa*tҨtgpqq`S/1>?VyY=)*5Ҟs^V@<:;((5Aen^V<:?/5^mf_\bp{ifjbwp=>uc]]Y@*,F3(ZZѬxfQ?5eVO45];oҠoVUC'2wi&@d\6):B=:>Xky{}:n|Z3{w|Ȣ~;;҉>8T{i@9`VSBOvnbtz?=A03Λw`E*C`;'88513Eizϐ}1~]5q}'BEɚe.n6iO)(V_TU[_CE`ҖAXb:uA'85255FizФa'fa5wa-əVGТyw`PA0/^gYYae~moq;zӬo&n8yp:A@86<]rЧX;8WˣZ̈́]+&9P6(7vsfcabyuΉ<YjR{^IIH>99IjuЂ7,:9+2lӠn'7B)Anxtg`a~rϘ`)Z?@Z)|j\I5++9Gjd(}t)C;9Jtk=j:Ȃ`Ӣ5kF\&Cnuklnz_(ѧC-BmÈg[;ϑp:)9ptn0>gE8@5[3dLJ9Ҭ2}lA')6[trm}΃[slMcРp<*&v9w[,^1YҗjD876hA=Â*6B7.6T1*7]uvtoHJϊB=)+Ę}n]'gne>6D&7-Xt\ew.?c6q/:oИugjtҨ}X[^ЕAlVqy+u@ykrg+7(Jaȗf-YV0G}͟Ϩѫ~2wΕC1})ZCuԪ\ze='6gǐ>lgfs0С{vl~c0rΨWtҪ_šnQfwWΦΚq2FǓ4ttHСyilS]͇d^.h̝_)/n[S5\m~Az=H͍*uAɝCS/:ϙjPYTo`\?cϜn75?Ơ{f612[ls^Sexzzq?0ґDBi&DsvgПСzqQbqΠh)qӫ~VWcjh_j5-Dh[ZQ.9HΖZWsэ-`џ]vŌ?>:'Vͭѥ{YVcvx{ΦvY2Тd8rь2zrpqq~~R164-;͟—ziӣYҨ>ƣa,{F6ΖrY@>o|ѧ{d,c̎c'(&CqҦegĢz>,,>ʡ=Dѩo33~Zǀsi4htЦa@Vqͨd'Νm.+<Xј;;s¡ŸC6|'WėC5̙emmԪB,z@B8:Ϫpͬ}h͞B(0L3fД)8s@?Q9S,w]kΠ40b}'fg8Fm͚ӫ̓ϥ;2Νl45_/pҒ(XqX)'NMpXIk^6fbͩ4W7*RSSQQ^}ͣРͥl,&Dҩg037ѧ|-/fҐ=1mc3i<`a?=cnz+Bҩp))=6;><;2RΌϢѡ[103.nѢ}e+0lӧf0fzКqB1bi0e|qcPoΒѫhb=<5:=91CҧΒys~w}{iYR@02ϕtZ'&x/?``rϤ@F-Gjr`yzpdQgj&YӖ}Ψw,zƋf@5?U>-gѤwqtmsyvdeooU4(͉pa>@ϕn)9wϊA)Bz8)2HZ(s}xngad3ϏА+l{u{o=+,VάͭΌlkkpxϐtbkanPXӧxa[7&Кs79ҧwnwИ&(1GM)2Ɛ<<rE7G;4ѧы1bģxO./DͬϒgeWprͤvt}|^{w?3ҜhXA0]^͐b6CB&pm?›f~iA6:AvӘ2eĚtjpvziPQWάѣiZWWtvYCby}k-ҔaU:&EqG9,&6mmDHD&y~Œ+?f?8@K?4ԬЧя/7oWC@C^typik~kg}iyZYcgxCAYXё\UA-&yB7aḳpkϝDebIfxӨv^hbqcџ9SsXRPAP^pvnwlBDaq{gf`heie^`{:ҒXSR@0k.H`NkͬάˤvEѧkbVͤϪl'*&-3Ϋ~/8@S[cmpospyxquPS`}{nd]_bΤv},*ғTED[)41;E>?bbϚh<-&6C&ƌ[hY^l}~eY[4B`khblruoUie_vmkj]_fvϫ̨:ҚZA@]0;29:/3`ӗ^ҧ[&QT8S2gxnyy26ThmidnяX\2s{yh_dfhϬ͔͢CӨpDCE10&0H:29903+8_zIEϖvB+,-x~b>'>PCQ=Tl'^Щ_4?Rs}ϫ~aY]qqwyΊ)?΅YS>+@~kC9>3,6;B`ԉ>өsE)bxnfs{7w)((1H-]tӧBETv{\`kjvs͓h*lПr?.+3mF>:7>>=^̖?^|r]al|}<+3ipqZ5/:do2:d3+9^}sxajwѧ˜Ρ`/ϫRVЧzz`='aТp:-3am{kkxs'0u~ekmy˞ѨΦҪϩ^-qϦr(9Ѥu0iϕ^*,3=[]crŽb2gvxКФΡ|D-UΎB(5Ϥux|-YsşFn?AtsehϢnW8/Ѣe-(3ΩG01Jt(>wϪz}`@Be͞f9,0-V͇97v8d*'*WvyIHXYfg^wC;nңywx^>Ah{Ϡi5*/8ѪyF18*VUF8+'/4/Iz]+2ϕS(4_kpf_Y[c8ҡE8A`qˤhΊ;'NQTk_?(ҡ=<(Y̥3]ҬR8@63:0ҙ&>,SͩqKvyES̘Ivlԥ9()(1Xά`5?j5щBgϑ-mfy+)1\{4өo)2u008,-(c{ӬR(0=Ө~bX3-2)',?̫}vө@Ӥ^͢UGMD.DarkRock\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t1683772733\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1002\t1001\ttextureSlopeFilter\t0.16154 0.23077 0.66923 0.57692 0.29231 0.11538 \tslopeDistort\t0 +DesertWorld.RockFractured\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t1706969957\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.00000 0.12308 0.61538 0.42308 0.21538 0.43846 \tslopeDistort\t0 +DesertWorld.SandDark\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1601297941\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.19231 0.65385 0.40000 0.27692 0.40000 0.85385 \tslopeDistort\t0\nPlace by Height\ttab_HeightMask\t1009\t1007\ttextureHeightFilter\t0.49231 0.36154 0.31538 0.52308 0.36923 0.45385 \theightDistort\t0 +GMD.GrassMixed\t1010\nFractal Distortion\ttab_DistortMask\t1011\t1011\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t446831973\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1012\t1011\ttextureSlopeFilter\t0.85385 0.26923 0.00000 0.00000 0.00000 0.00000 \tslopeDistort\t0\nPlace by Height\ttab_HeightMask\t1013\t1011\ttextureHeightFilter\t0.96923 0.73077 0.69231 0.96923 1.00000 1.00000 \theightDistort\t0:General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t150\tgeneral_water\t0\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/highoctaneexp.png +Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t2 +Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t1 \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Paranoia.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Paranoia.ter new file mode 100644 index 00000000..b37afe53 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Paranoia.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah.ter new file mode 100644 index 00000000..30cb478b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah2.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah2.ter new file mode 100644 index 00000000..0f415a9f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah2.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah_Mirrored.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah_Mirrored.spn new file mode 100644 index 00000000..38c94469 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Pariah_Mirrored.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PlanetX.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PlanetX.spn new file mode 100644 index 00000000..8e7a996a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PlanetX.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PlanetX2.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PlanetX2.ter new file mode 100644 index 00000000..917db835 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PlanetX2.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PuliVeivari.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PuliVeivari.spn new file mode 100644 index 00000000..715725db Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PuliVeivari.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PuliVeivari.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PuliVeivari.ter new file mode 100644 index 00000000..9e98a65e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/PuliVeivari.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer1.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer1.ter new file mode 100644 index 00000000..9f62ecc2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer1.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer10.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer10.ter new file mode 100644 index 00000000..0cb754d6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer10.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer2.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer2.ter new file mode 100644 index 00000000..54e77228 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer2.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer3.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer3.ter new file mode 100644 index 00000000..eca2c502 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer3.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer4.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer4.ter new file mode 100644 index 00000000..d3d2ad5d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer4.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer5.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer5.ter new file mode 100644 index 00000000..a6fedb8d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer5.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer6.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer6.ter new file mode 100644 index 00000000..0a86f46d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer6.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer7.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer7.ter new file mode 100644 index 00000000..3023a379 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer7.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer8.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer8.ter new file mode 100644 index 00000000..9a477d0e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer8.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer9.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer9.ter new file mode 100644 index 00000000..7bf216f9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RandomTer9.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Ravine.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Ravine.spn new file mode 100644 index 00000000..02db5e83 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Ravine.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Ravine.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Ravine.ter new file mode 100644 index 00000000..4c1ae515 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Ravine.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RavineV.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RavineV.ter new file mode 100644 index 00000000..3dce50c1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/RavineV.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rst_ScorchedEarth.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rst_ScorchedEarth.ter new file mode 100644 index 00000000..92352dbb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rst_ScorchedEarth.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rush.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rush.spn new file mode 100644 index 00000000..5b763a49 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rush.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rush.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rush.ter new file mode 100644 index 00000000..ca3fdafc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Rush.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Badlands.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Badlands.spn new file mode 100644 index 00000000..29c87130 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Badlands.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Badlands.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Badlands.ter new file mode 100644 index 00000000..17536757 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Badlands.ter @@ -0,0 +1,1598 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAnU8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPiyV-) h T 5 B #  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H % B = 5 C j />Gni<Kr_)P4GOz% E  y { C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ e D o o [ L 0 + } 5 =Q$`G AUi}G Z%s _  r  )   ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +   o H  + 4 [  /   / C ~ *y$8LLs`$y= > g  % V  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U  M o 4 j E 6 = p 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C % S ,  > ) 0 "   )eLGod__ 6.*  'NNN]f +5 )2d ` . S#7u + #<1 g  H W B : e u    5 7   o A [ I`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! Xbb@  h / * f g 5 [ H 4 t a M %  + + + + + + + + + + + + + + +> t  Y . 4HYOMys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + X V /  [  9 _ v o [ H H H  t 9  + +t +1 +  +4 +] + +- k - g % S r v g T j j  =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U   o m C  v M  +s +0 + h < , )    X  +N + + a  P : x 3;7  +  + ~ $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / / !   | I  v 9 +o + + P !    Z F + +9 4 Y , o '`yO0 ,0ENA/# z , C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j I C @ G :  I M + +0 + A  K q + +M H n 3 o AeB2rR  m ! C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j f v t l ^ W 3 N  M + +V + + n +   T ] + +9 t H o 1 m @rAd]E)1"%\ u 1 C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB | n s k e _ Z r 9  ) t  + + + +{ +G + + +> + + +% M H o / k 4 ;SJOFUTaUE?9$} k / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j _ c ` [ U Y P f 9 8 E H a a a M % + + + + + + +% M b   T  R j u(/8?QmuoL21-V  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j WhTQ<;bw ;V } S ? C ? 9 < # ^ Y [ [ H t M 9 9 9 a t q v 2 F f N<JQ7U~nJH H 5 8``s dQ +  W v!5N:! edKd  4 k`dH0W"|c;V j S 0   o [ [ o N & u z Y * V j q8!Yt{lnd & H $y}P7$nJ W N]5N4k }< 4KC9&9m.IM+ j j /  +   ( ( ( ! ! o [ H H f h |  Q q  L L3HOX" * i 9 + + +t 4 j  =nU<#%[  b55]: + <nL  + . M$y/ j / l w E V C C V j  X $ [ ] + ' 6 [ +Ou!   P +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% QBJ S -n88e V  u QP Qeye* j j C C  u | a h H [ j #<dE c  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/]c6, 1x ]8LL$y j /  GyyL8= A \     U h Ozf: h  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ Bj0@7By# >$Ls`Lk j S r/\wyeR3R>* L G " % ; E M 0 b ; @  [ &_oxh]-  a +> + p!5k R + +9 [ *n.rG k :pp:! + H V f-@=#n?``*~ l`nnn3  } M h  + + +p s A Bfh^L w = [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 \;8 T)s>GOg 4i}}i. / k + +N +3 +k + +# b e ++MO. K 2 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `.,KnZ333G33$)Bn )wP)A3Ly S ,  q + +# +  + + +  s  X  M + 550 > + +a V V ! 1 +:N]p]N: + 'Ocv xa--O w_rrrr_#wW { 4 H i +! + ' y n +  - b u ] } '  M z + I!5 > + +a  V / o M + !'N5]]]N: + F U(O$GhhG!>UT%v``32ss$PUt< O 3 1 h + T 7   + +   * G D X H  T  X  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3x_Sepq%M@ +22K 9R/l 6 " M +   v +T 4 _ #  K % R +  k f + + H [ + p!bb':55NN z +9 : AH B.]q]UamjML5$w?Kw)<P(-Krwine [ F g + $   + +h % o l <   7 s V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uuF;A:"45 vG8U 3UUc|OrC77An + o    g X + + W   1 b C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ@h-)~dpO@MKbi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > | Z   7 a  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Nrg? +'_+m+ 9  N +j +H +Y + + +I  % W X @ K c V y* j ! o M +  INN f + a o  AZs 4I,)Txpb$K!1P<#&@rG$ G s W ` } 2 FKF  z N i T c / QL* H t + +W '::bvNN' + + +  .nnn.RI"2v ?]omhzzT+w|~tc$wG8+z % F i L X e  V e$s3G*~  f + ::::vpWk z +M 4  ksG AfT i}w(i5~k^Q$o7U\lO5x t8:" j % t 22f k [ j j   V $nA}Am + +0 5vN: + + C i1"t-3]cJw,>AJ[Ki$QV@38$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4Uh= )AGc>xnP8PNac*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn&4aZ#F_4 #`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xGLGasnU)rPAJk#Lsy ~ w |  ( ,  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}ddfrV&_Gn* [ ( y ^ ? [ j esj ~%/ + +bvv! + / C*%.(?pLYTPHe/yVIJ 9 ihx#f^NbMA4eQ C o 4 4 o ? [ C esnVmM t  +bv:'v! +t [  j MUPTx{E44id[FFZ}35qAyph} 4$ j [ V  H X ; [ / e$}r9 M b:Nv R ++ / Mid&tBW&#G,5IIFvG64n)n_|wd4n~   V o  C een}Pr}= % b:N5 1 + o  `iPj0 y)X o!/7_`7E]lpsf='ZX#rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MGj <Iiw5AGphA  RZ<_)$ j V E  o \ h 2 =`})lh\8#V + bNN] k R +9 R #)1 +)i .a}o/4Vd|lj"S.-P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ iaN:H8 .G?S~L9n{TO=*yegnNPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.WHCNK2+(9LE}iZveSJ[c]oI:+yQ==@}Ll/By=** / [ ! =*34SuL* t 1 +W vN'v5p +t 6/;1k|`dx=QxUZfC ;V\\UM6Q*Q`%yh$=* J > F *34|VUV + INvb!] + 4  +o !4H\4  >QeQ-Ud7wy= =n4 >~|j`$y g P `  { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA W'MZ= L3mmJ`$y W   { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3R2= V C C ~ al HG%Gty T 3 % _ jy89RG +  j7v:'p +M  Y3%1J*%%xiV}yn!a{xn<<<Q* ~ C  so1j3se j >  O?Q*93I$e   +D 0v:'!0 +a 5 /Y3%b(PBs$%'n= qc C W DLG [i t8= > z ^=2m%Nj % R + 5(v:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y n  `K-3eT : +9 + D6v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 4 ((( =$Mg M + +k X +v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  / g / o ~ =s$Q j /  ) x \Y4f M + + pkN! R + +9 M a [ V QL` wC!-H~ QB//Qf ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ][+ :]D  + +% o V ~ QM}*~PVH_<}b} ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 AuANI0 + + + t 4 o  ~ =Gj\eeQN>exQ==a~G o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e Ne*5N: z + + t H V ===.=e q*C[LdX d P * m k D D k  [ * j C /   }    _/: H  z + + aN5Nb! f + + +9 H / XpwjkisoL3VqQ=w}Q)))Qe S/ X w N A 3 8 *  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j \lt`V}jsxB...Vx|oV+ m s 0 > 1 X j s t H   n n Q _  T @ B 3 4 3 . ? A G o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C 4^b[cp|z^lg@T@m +7W h Q V k D $  C 1   Q W e k 1 w # Q Q e y n  2 A . l N E #   9 O  v +   E m j / 4 9 + +k 5]v:]k + o * /*19>8 *Q$y`y= \  v h e l  2 5 /   . 5 5 I Q E   . E M L ( + z | z x y [ F \ + i  B ] +l H  / C C  + +W v]v:b5I~k > +% N t p e p f X (   / V =yyyeQ= ` 7 i ;     6 \ n g ; K h f ] 6  > G ( s ;    , A P [ X H 7 (        . .   + + + + +R  C +% M H [ H H M + 0 N''pvNbv!  + +  S H / !  / ( 4 [ / C C C C /  ~ U [ 8 *      C +w +T +9 += +Q +v + + + + + + + + + + + + + + + + + +z +X += + nSqiOpfKm P +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5IIH]D + + +9 a 5  + +9 a t K J [ [ [ C  w t p e [ ` a d ^ _ ^ _ a   { m m +u +# + +  +, +9 +? +B +M +6 +/ +. +2 +J +\ +U +K +D +A + + + qk~=Oh} w ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]s7$Q~( R + + +t +_ +_ +_ + + + 9 M + < d  +  w ^ J : < A 5 ; E O ] b h h c e c U V T Q B > A C G ^ : + > N I O Q c b 7 N  L +  + + + b LMM1 7 C G Z [ v a b r ` 5 }b:l::Ij~ > T $ +G +Q +7 +3 +) +% +R +n + + J +$ 0mm K +  + + + + + + + 1 F P q t f k _ l J E K Z 3 5 9 .   + + + + + + + - O Q % + _ s  ~ ~ ' pmiEk   " ! #      ^:^v::b9AY$ t  + + + + +: + +Y +  I + +~ +e +f +s +z + + + + + F Q R b h l f M 9 6 5 .   " %  + + + + + + + + + + + + + +c +  + Q 6 A N P E L N ` ! qOnmLmnJ.X   yxwol`&9l':Nbi~,O E ] 5 +D zWfj] 3 + + + + +5 +C +T +] + + + & 5 C V U K &  +  + + + + + +n +T +\ + + + + + +z +n +s + + + +0 + u S [ c b [ e j w  tliNK8% ;]v:'bjlp0v  . & K 8 ; _ ]  mC  + + +4 +x + + + +  + + +{ +r +u + + + +h +6 +  +" +H + + + +o +Z +X +k +m +{ +u +g +5 +$ + + + +; +D +3 + +- +3 + +- + + l  ZQ Te?#pvl>| Y +}i Ef  +( +K +t + + +| +u +_ +, +  + + + +  +5 +z + + +r +m +n + +q + + + + + + +~ + + + + +u + + + + + +j +] +5 + +  + +  -!T >   Y;[,$ pvs1HP-('<E"FF"> g k + +* +& + + z  +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + +e +K +> += +L +V +S +@ +. +( +( +5 + ]C v h E " z4k:pv:bHPNhE ii E? j {  + + + u j  +] + + + + + + + + + + +  + - .   + + + + + + + + + + + + + + + + + + + + + + + +* ]W +>F u +9 + + z M 0 q1{<!pv:'b5+ - '   ' 6 = 0 ( $ 3 '}Z}. + + q # +a + + + + + + +  ! - 7 6 5 5 M < &  % (  +    + + + +        + K 4 + + + +R +A +' +$ + S * qJ@VygO*p::v! W  x R : . T ] f k g ` g o ]"//"]  + + + +! +" +! + + +  + + +  +6 +m + + H < 9 ! % / N l d U D @ B O 1   1 5 3 7 > 5 B C B D E C 4 5 H I W X j ~ | , + + + a M 8 + + + + + + +R + a /VlubAqpv:'vjW & +B +L +F + + + + + Q"t  t"Z 5 +@ +> +H +W +h +Y +[ +c +\ +\ +Y +Z +T +O +S +Z +b +c +B += +5 +& +. +: +V +t + + Y x } p ] R Z P D > z { w # 6 @ 8 " ' 8 5 %  t o T O _ a A +> + o/"/Npv:Nbv0 > + + +$ D 2 8 %  + + + + + + + + + xl6Eqf + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q O e ~ d _   ; W ( 4 " - 5 : ; b h O O N N A % 0 N Q  + +I 5ub:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)7 ) + +  3 K R c a a a b b _ g a a d s u w { m ] \ \ ` j y + : x l _ -    R     , ` U v w w q b c f | Q PQ l : <  # T b T 9 / / / ? l +  W'c1pv:'v + + +t [  a a M 9  z f ? + +  p + + + t p           +    0 l B ( C [ a C U ^ r 8 : A i [8`l&`&  ~  o + +k 7U]v'5  + +9 4 o / )) h A o o k c p m l [ ^ v k f _ [ J a q v z y N = : 0 / D k    +  W ( E h u N?[||c"G3 +jYD97E\qeeQ* C +> + D FfpvN5D  + + t H u z| j j C / / .  | |  A f x j O / t J Q ; J ` H B . v ) c *Ga}_4: A).tXucQYqQ~ H +D + + " ']v:Np D  + + +  , ~ ~ V C V V > o k d k a d = w f m  , 5 A | QekPss>b<MH.M9xaPMdeeQ C [ 9 + +f + Np:5] k R + +t H $DD3y u C /      u v s o v f  T 0    O q  0 d *e )rJd"lA;/iZ9"** C a  +f + Np::!]0 R + +J o &\S,  z ~ ) r ?j`  '   # . ? J p e 2O3'{v"J#xi _  ~ H M +z +  bpN5   + + >  6Sp=o o K [ N @ N Y Y J 6 ?/e "jW/ D ' _   , 8 G L @ W } *e LL;&j^_#.M? C [   z +  5b]v:NI0 + ]  qP} C m +  \ QQ*`ss* HW J \ w . 4 A I U V O Q j Qc$L9"'$nd `3* V H t M M % +2 + b]vNk + + K 'k!# r  v ' - d>sy#@pj  C h p [ W T ` [ s n =y8)L55;HfR?My V a + +R + + V']v']W + kggggF $=HW - ?}=5%snZqxa+ { 2  . y +j-$8r&:q|TI\;DG$ N +z + ( z*]bb]k  + + fz :h{ U " 2 g/AI+7GAUnJ q M s : 6 ^  g(cJ7%@a|}\(0yPi$e 4 t +   si"5bv!q 1 + + YYE#e X "XZ.}U9e  f 2 T ^:**==B[93GGmF frg"J* *j 4 a + 0 7 5bNI  + V~\ >V f) w Ay"wG . ` V / C j $__shyvo<@gXMn#\ uK~(g%'}lFbv / 9 f + Xz25b'v0  + + Cdh#> He y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 Cu5]bN5 + n:>eVo   { QsZA<LV!u Z7)p .n$rzs]m|Z-DdXQ~ [ +  N35N:0  +9 xMXU98R B  T e$}dr.;X& *Q,CL;90*O!:Xxp4AA s`g|;=[V>DY=O1.e~ : + k4 +5vN] + j  <c"LwUM8Q ~ / U # $ }  j *e3.j& N1Q ZlYRMICOc UU4 52G& :' pBA N f + m"Hb'v f + e7Dw+wG38= o h :   q j *eGUV r+vCTRcMBJ<53Q n Uif@P+%fu r' pB[Z$5 +  Kl45N:5 + `8ZKm< ` x C % 5 e + QbWiwtQ7+DDD9(%8sZ UxrT9oEpB + +k  _X1 +NNj0 > +a y iwr +Y^`7  e j   ? 5 V B )|,})Kcp7" $) #DsUhJC@ ..EEEXlXE1Ew  R + k  |1VNbk z + C $)DAL%y ~ + p : B R [ B 1 V >y}<=) TZ0W$8$E ip```}AA.K<U : t + +  .P +N' + 4j)+L7ZXu$ C O  / 4 nmAP$t;m7GpAi{srhfiU.''_}i  ! % R + ]a":'  C7sR@g + @  G  0 [ / (14BP%%D%R/ S/*}A.Rfzz+K}i V M z + 5\v:' +t ZK urZ  * d W u  [ .OL81 G5vY7*v +Znt/$iB)__)w}/  H t + 5&v' +  Z7= nsFe. J 6 @ ` K (P [?BaML8v!iU``8,{g6d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. ( A 1 < J W d K n|FF`[ Z"4P_G}dPGG p> &_rs3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 p > G Q O l = =.V%?f6 ij8rj}ti:&#%%8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ =  r l m } P j y8`sqH9 +M i)sOt($d4Ma9', LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T f J F /  $ j y888 -dKUP U}T#wAi{L;,H$LGn@ +A)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu W 4 r Q C 6 $ ' j y3VVD3 8w3UPrm|Yz!j#wUiS]~ UU}}U Z V o + Nv:p5  + + * i}4Zy* _   h ^ 5  S / j y3~<nT%JM~Q7A3H4*R j;Bwdqqq=3s  H M f +W Ivv:: T +! Z Zn3sQ I   k  \ | O 1  K V e"2*!.qe`r<v|mUG0yyj7jU<<}qqCnnZs  o + +'v::]K  + +X . L 3sL=  ` l h Z J V : Q*{IZ.F"" 7cn|EEW.2iiUUq3,'/GGG`  [ a  z + pv:5 +^ T W*y v A ? j U 8 @ u B!*V|%66.ch2G!X,'4="2ly a +D + :v5" +  H S Z d X  V Cyy=    $ p E Q Gz"LJAZC}nM-]UO9nWs_1s / [ t + +] NN':':NNNNNb]r { +k 7 D + S + +9 / C v   K t o ! + + + j ;SthgG$]s)43Z&DR_U50;9>^dR!3#[s8y ! u + " O'N'bbv!I +  j j B j + +  +z + C j C  v o {  T t {  i 2 R +j + +  +l +@ ++++`9iw_x&v<V-$n sFSNXn}\!+t2p8V  + +W ]N'vI  0 + i 0  ` + W 0  W + x \ c x 2 E C +  +7 + _ 9 " 9 f +, ! W yyee T|ZMLU<No}CO,,s$g4appLC + b:'v5  + + ++ +f + n " + +   +M W @ T i  L a ^ ? + B } E +L  =etV$_ssss_K_899X) ?>Yi}UU=?`Q~ + bN'I +M t o / Q   + + ]5] z +o  4 5 * G k 3 w  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R +L +  bN'  +M }  C ~ H +1 +  5] +9 + > z  R R  +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||N"u  + +W N:Nf + L>>eRe j H  R + D ]p +% t @ . l z W + > lH j +x /     / GAi}iAe===y$`;_,*v9 + ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a ] " T  + + * ' r +s 5 Gn  nnnZ%*= e3?5j[/RKke 4V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o x $$0  , + + J + + j L j  \ 8Ls9``s`*= V / j `j K1'EZGef #= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a o @]RIJI> + +' + l +  j W*R*yyC C V 1 Iu|mJav4fQ*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ WTs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \o%O '*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H (IpwUx p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\{^{HS= snU.ej M  !: 82V}$=  ~ t  + +M  ~ ZoR2_ W 3 o C  # 4 H H [  8 :pAUAz4ct6> }<w3 !:[  lh2V $$8 C ) t e@q}M3)Kn V / C { A 4 o o o [ [ [ o   C 2mI-Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  gSeej[D=O@K j g  ? w M +   + a 4 H [ [ [ [ $ F L R H ; U <%!r4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ @ QnCTWQiJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H ' U n u r c ] 'NvvV JERW6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C ! t }yn%GqlEBTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  I g w m b ==QiYJ |  a * j j y KP V  k ]':] +q8)wUG= C 2 ] o$KwgZntvX ~ / [ t % +z ++ + k W k  +R + + +M + [  > a i a O g $ !WN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  E Eyr*X_M<&P ~ / H a  ++ + W    0 D W  > + + +N  B l  : N H 9 B h ~ ~ t +JMkkZ57  + + q +  W _V 9 k 5b / 21c2)B.G*e C / d Dtl\gkpb7 *c~x[9 f  o t 9 +z + + k D     0 0 W   +f + + C | # _ u    !  B C C  e R\B F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j ~d@7;#   e & o 4 a % +z + + u D D D W k k + +k + + . H k . , C O o [ |  o3F+}j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* ${p? q m | r l m \ R I >  j 4 a 9 + +R +E +I + +  ++ +R +k + + +) + 5 X k > } z _ ? . ;$ B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQe|~T* W + 3 +  %  H  t M % + + + + + + + + + + + + + @ > ? J W n r j c d m k $ H H H ?  x `yG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiML&0Q ~ M o c G %    C 4 X  H H H 4 4 H H H  r t y  c ` o Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL)ftB= Q ~ 3 y i U b " [  C j   j & w X D A @ 9 : , 2 = H 4 4 w _ [ j Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s]\sz;e $ I   b H =*ssRy/ g g a Z W H ? [ 1 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n rjH j 0  + ( G | ~ V Z j R eLnUiG s+e= C  h : i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GU= ~ C L    / D w  8 1   / ^L% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  z   ' *7j1 wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V   $ K s H)rG.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ M8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN::::::::Badlands.DirtYellowBadlands.RockBrownBadlands.DirtBumpyBadlands.RockCrackedG*'(=BHn{zwnhnnJ1<}}?IN{T*5My~ebfdt~uq^QqxjZ[qʠhFytPJdŻȡ}uofdhxzjcno>,3LSIAX{xU(/9X|׽u]TRIFGMUqu|}qgZ>+:ORJRf|jQV\QVa}|zwngnxpanpq~xUBSl|ij~X(Hgo]M[|ss}ui\`q؄:I~oQ>=LjyzyhSJLSUU_gt~uYPQQ?*6Yd[Vgs(3VxӸkSE;1=KJK^ǫļvkosm_WQF,&,5D`zv~~}zvvvqpvyuxphne<(UvĴ}S'(Hh~{ulcflq|RS~eK3&+@QUTXQ+8AJYcitwzrhcY;+>HJXk-E`ʱeM?2,?arxs{˱̾{zrfP5,+'*/,8i|phikpst|wiv|xh;HrqB9VewĤ{vrmjdajt^|ȸpO5(/CORK8,:GWadijou|ũ{zwkb\G')89Gh(9J~ªkP@66KqĴì}r`I.(,5uykd^YVZepz{gt]-Mpʴ^1-JYkѸ~yvskefxئzR=M|{c>/EV^[K(6GV^abcjpv}uzrrrg[TF,(af'3g־wT@;?Qqøys\F:2(.1)G`whgjaVTQQcvqxs>3e}ʟ^-*AThyľ~tkm|;)(2HXdwxcCW{ývO.,2+;>?>8(62AS{pQN[hz^.+Nyľ5(6Laqѽx|}ldxD1@LSdsy~yhI7CUhrgI,;LR[cddfhhwxrrqdO8)Y^S1ER}ƪlS?.-Jp˸e./*)4KVdppE070Fe{PLizT53>Tp}|tqsfh9&8L^lջren||qm{}m^e5NY\hs|rfapyS/)?LUcnqpoquvpmk^H3+*4`y}rL)/NXkŽfI5.;^w¬|;/;;8Lkr4)('KzZSrjO;69BXgic^`cUUrY8KV+4ETgвqmj_]a^QIQX[`zp5JUer~¾xs{O'+?MZjuz{{{~sicbWE67@=Roz[LFK@3:FKFYz_A08Uu}ooʣlJ/'7JC0@wq/.?^f`VT\e[Yq~iTU|qXY<-9FYrubammYIDA>`nqv{¥wqi_O>1-)9P7Uz`=>ucJ>?90*)'QjMBANT\nofbd}ɶv{zhUG80:Ob_NCBABIYnvribfd{ԿrUDDB>?BHSbtŸ~g`uiOOdt}>iΩo)Ts}jy;p\H7,16*7UdfYhjYM7**-&Cqȳywus{}|xub]yYGb~b_d[H?1Eszqj]PTX]ntreXlǫzlmgP>1)EZa[G:4/0@b{~wnxǭzmcPEDAGWi{m[okt}=&DxǷn.:t~~~v[cǶqUC5/&(:Khqjluvj_B14=;6;Xuz~oOFo{xk|jR7,&Gi}xpi^hwsaKZsq`<*(W~xY@3)+Dr|ʿqUF@MdvuugWmĸlO(.EfȺj>.LPV]hppou|~|zvlw\:)0@KNICBZzyno|tpgX@')CPPRWfgUTsx\I4(&,;g}yzkgvɕD).H]D31Cg~ȗ^GJLUYPBFcɾejuf[bwfC--,4?JVepibi|}»ך[=-)4FXaa]IOq{o^\huykk]E32I`icVNSi|~siqoM*)Fxwjm|8@R}jWFBQmΖQ;?ETZO==Z}̹dPlrXMT^uuS@=GG7C]ejori^cyȺǡsI0*3Hcx|jezyogWQYagWc]E7@Ylrl_PHNZfppkov{}ʹқqN1Z|gcq}k7\ffdXS]pدr=7DKVWJ?D[{aSY~tC1HelS61?fgOJMRO<)d{vuwtlfkz׾wC>iug_]NIMLME`gUFGWjtum^NHJU_\]hmjhidn|½̏qU).Ck˪v[T^i|wz]@Tcskejxd=;GNOI<>L]yhG6Mu̡pazuE&>fe?2Gs{xrdd`ZUE';~|yzvrvy}Zb][50dri[YMHH?9Jgp`OHTguzvk\SNQPOXimaURIVOzssњ{`6(16Ek^:/Uf{|wxugF1/7;:7?M\szcHDd{sQLe|^50DpnXYjwzoky{zse[K9(Jyvzxuyyygnbb;0.&Ktyl|ɲwmXHB:9TnteUNXht{{ti`SE>@O_dZIB:MdeҞt`btέoC4?AGgYHbfjqo_Vft-N]p|ŊmX;63-2;DO_p|hXb{uwnoqO@CWj|}vmcYbxn_almcai~jUA88/5^ohmonoorx{}n\`Z1)44+&2UwԴrQ;4=SjocUP[fouwundN??>96=C;5=`ө|xy˱qNFTVVh~͘RJ_bhpoZIWzC(F^m~h--*.59GMTcpmcs}qjfYjxLIO]m|x8.P]WZd`Y\asjH03DILg~l[[b_WVcjbW^vqL*&,C~̶f@0-;SYYmnULND79LVL<9UquD+'.(,bc?@\d\PF@BJUXTOOT[eleF/CaѪmkhlokhj_HL]fzŷsY]|xg`hb>&(;G\xz{pž}[>3..94551?NYgo}vhgxugYH=COdzod|D/JfscQXjEZ`}R98J[awnZI/37.(&8qcOC@`κsWNjl[KD@AFQ8Qgwy{tJB]sifj˷jvcvorư~vod6(*-L_rͼ}v{quWP^hn_NX_[PYlvuz~~vabmzukc^PEB+&2IXclxmddskH4'*957PMAg|Z;01Jo|kkykYXOX_bkqT.-'',A[dîbkWE4)q­}kuvbuyiVMHILW-pzV.+Kevuu{awɿ~ra3Sn~ѷĶ}v}zrms{{||YFRZWh~\>((/GWetxpihv]-4B6;3+2=WkontiXSCYIStƽ{qtsuŲd<+5:3+06Q@]{̹lv`H|(9||xewzuzre]XY[aB.IobO:4Jeu~uxzks{b'>Xlõ̸tvu{zyD@:4of168Z_\WG[bQFY{hN1&.9BO`}zvrk-Jb*.*Ihtseeuļ̼{ãwO<=?>8.,KXYɸk~d?.,Jwlmt|~pͩ~z{tolkq{villrUJDC>>Pab|d:=Rhɶ{aB(3Lt§}}tstfgID=och2z`X`L_i[EHfrsw{Y;-8Aq׼cfvqT3-amxkch¸f~|oӟk}gjylP}{vdvT8)'&D`ʽe98?Qx{yWQuƫytm_PB<2(:Dlikplwѯsdc^NFQQFZcMnʼصsL^|wO,?i;nUM7+,':vYV^c[PNֻzE9-8Fi̺ʆia¨x`]vJUxx|[NW-'Q-Ico}ZUMf)()j~ɶ20isfQ5(->UrȰtc8-/(*1/2Q`r;0*5gF.5l@CEtqd`v{OCJ^F_jktаu]E4;Df÷|İx_3>ѳxYN->LCǬGGH~lX]}vzfrkt@++,EWδ,)4?DBU|ȼqURI;5Ewʬa@x5/mH6/@mQ.4B־lhx|h'&1û?6;CEʵ*OxpA,9`ŝcGLWszM@5.c_Q.6=0-DPM9qʹlogeMY\{p\2+2PNOgƸq/38;:2;WűvX2;V̡zi1T{ў^:+?lyU+/@>DѳnfsvokfWC3Wu}xLIOLq]D10i;ϵ|dTTmmSLW_bcA>()FM^bW]x76)HC/'2GUJWƲ}SLcsúU=Y|]KKd|uJ(RfxlJ9Nfjhk~x|mrphd]T?(6uQKHVįA)DYcmy£ѫnB4Eq{KNMD|dD(&2pjrulWLRXZpǴɤaPIEszp]RPPP49,/WZo}qX^vN@+2H[fju~q}{aRkĵËN74h~c?7?S_[6.Mn`Le~sh[pwlbUI74c{ZXOG̷ȮU.&)'ANY_gUChη¥iO4;TjuonIH>hm|~oM&Ouogikar|fQP׮k``Xrv}rd`VG+8/,&jq|H<3Xurue>3?ezuve:dʿoaI6(DOM*/d~g\nwL:3[s\N='-ILYQȬ<*>KMQU-CXhheŽɪoP?0:2ejhX9LKCD\bNYթe\]Spt}l;)39/(2<<8AAL~? ?~}OSF&Cפ~rr~\[G6Y25Y|hWUUK?Uvh\[\n@)-cˏ`M51AWRIǸo_H0&DJGJNCBiǢrS5.-56./3(23);7/+(4FG>:@EGcqe[yzxH26841{ƹ*I?DMmr3 3rySWR57~e?33?8VH:6U*)Hn}sn_6,.ry^Y\^_[/*xǻ`JA(4OGKP[UYVMYtigdWlZSE5;Je³eh`c?'/'3TJ3EPROKO`֦t{vhvJ0,.8?IƵ&'ePELȽ~? ?~}tuwT\je?3 ?~^PK4\im\J64>hhngZYXFSuY59yMMLO]ZOĮowcv_K/&?fոwPVQz^=.@/Zy&+=UbddppVTnwmxrhZP^zIIL@@T`ajR,GT_P?>oˤe?3?e{votxSWl~? 3rc\IA4Qé~ZQ4<_~lPGH=G^htnoH4lRRMPUROWKO˵e||etdJ0:W{|^ILAlX>39ETbq^(2d]W{xI6F]ls{ӝRTc{zre^psCBHECLUI-HOabYPmvya[my|KG\r2 ?rr~`^QEBFUqҴo^K4G8-3{^C?A8CX\ctn+wT5'&+:=G^uetwko^J.(>@@SyȢR\i]P=-.YY(-;A@75okkTdr}ӿʚhqhovmsiV`g96CQURUZUG:0mmrrrr{wjgutT16c}F;K~? 333>eşs~v[LOSS1vf;5AIOGO]]?K[Pbv}h__``ksz4N\_WSXnlinctӺiedxefh`g~Q/.K[uxpl\ZVIFe>333?eu]`cn~yS6?s^Yd`iYerT]Ie?3  ?~˦t_ft}X6D62Wdh_^c^:>LAI[|3<`hca]pK7+,=BDJYqέx]hpqicVO*4+qͯYA^iboyҶaaXUyp`^^Yc{N)H>0LcaXD<~> >yqSC?23?<JmW_ne?3333"33 +1 3q¼ѰwF4mMAWuuqiecW229.:MvxNe|v}{yz{wϓM<8)/<@DHP\q{]V_S{}wxxna102kk{ͳtl}ust\ȰXSPSywl_OI[u{@5H^_S?6r3 3r]?3 =gbny?  6~ػȐ^x¥~lggJJ@721(=NfSOAw~|zukb\^jjfʨȫnRI=5Dhpjw~~~~2  4]&  9}r3  9ԴëoTXcMLD?<7.@GThmp{kGXztcUIL\ugrƊ_L@ET_WD301&?[:2,D^bbkngbm~Ϫ}ouw}w}yS;+>JxznbWY_ZOHQxұ_=85CXTGRhmkhp,  8*&]J Bǥ˺պcIQZA?:<<8-:4:NV]jwgZMKK;GJfPAAKRUVL9bI>/H\]Ybolgtչ¤ogmy}zqtG.3Aloilm]Q;!`t~[1 )-sO=GSTXainnfbn|}||vZ:(!"!$5e}ͿVD0.P|sguwB;6.'(MC./EQ39LHK9.G_nw|}ZHs̩tYB>@6/+(H[L/-8IeǻwjhhegslODY-76f]XA++',=^ttpwDLQkT>576>S\\dm{gYH9OBm~C ^I*+9Pfuz{{{~a@2Fi2  +(XwеYFqs`V`tf3N/&.QmdF86BaȾunmjejӋǽihnaLoyY7(0:@SquhhpxUJkzfVC:;59NPIQZjmvpttjJ.4Lsu>9WGIUg|p}wlkX`m=467/# 3GVrrrr~ʰy^&\xvqzf6)8dbE35Qtxwvqim`B<@J`yr_SU[ozr|mb6008>MMFEEOk~vefzZ?FXl~nB)asnnvwxjacĿztaG*$% 1&$*333?eyxw~{}vG0a|˔NAQ[g{\7-<_}[\H;3_˾̹_*QIWrw_MOVct}z`z|tpF4)@P\]YK:=[{nSSbp\]gip~Q'i{yzz~}gcǽre[1CA+ +  2Uxv{xyzsquwkU0/:;FazdЖZNVfwsO>D]~|YF;72_˶v2,/AUiqlZajpzsSg~Tp{~{|^@)F_lmfM22MrwWHL~}Y(a3,--((6uhaϺ|TFDB105,-&'$ +Esrq{~qr||{o:&2HIKWlsɄ]Tg||nkxxyzlG-+00Tʽy'--;WnxlyvZQWapOn\KPf|eNEZtxkN1)9l|MCI"\0,01*mtejІL+"#*+*'Bjiozws}g>APICQxu_Iax|nnmF?8LJQ*,?yz`\pmmֽuj*@AQqȾt}uXFG[f}IHdr]MY~{^@,*Juy_18Sɯp- 0//671{wu|ʱh2 +*   +'+J~sik{|YU_ZRewc^yúvpKFYMDB6Gc]YO?9=DWu}[&@bf¹thpo]biO6&3JNISYJ0-*(.>ʸH +/e-Daөqo~~?   +896*">|umgn}}xxynb^lɉXMTWȹ{~P7&+7=>03Dd?:PmVSQ0BKoASmƶ}Z=+)s|uriujQ>00RI"  _;7Pvrine?33?  (2Oxj_PB2^|eNo|rf]jc^Vϱ`NPeU>,16-/Lr20c`GJQ4^5BLV}c:Cתxvzhhu}qP9,/7>Zhovpk=! -0ʰpnx~rre/! -Ibyvh[67W{VLj~qacs|[Ke1)GO:*-27]xj7&]bFGPTQNAVDILd}`9-)?nZ]jpkH0&(-HXdmh|ͤg; .ȸ{mJ@@-29->D@AHZg[kmabS81&,7ED@A9Zx`}vm]TVaq|qXnb)&TY<GO8&,3Cc_@/PպiJDJQW[M`MRVoeG.2;F>0д{cQGRXZfoaH14I[e`srq>(κmcgnltI<523[vuprvylq{[SV\ZG=>H\ynfxlh[sogTyыK)i@-&->B_gUC?47Z`PQtԻiF:'B^e`kw}qJ711=Odu~̽x~{bFIxɮ`=18MML]rqbSJH?*),)..;LB42?JQZ\DMɦ~eSGFNdմt|p`J: 33?ef*.\ZVrz^Wiswphbfr{y_KFPuƹoG//;CA7OϵyeVC5001),>aǷh`mqb`fqzUIDHfzɬuY`iw~sU)GɽþzkK ,7(DTfsj[Ze\+( ?e\-0LMUrhi~~nggo~lI;GsȸfH:-1;BbkO43Xʮ|nunknqsTI,)ZżijdURf~xiY?s˷ǹzwv}vriO-DkriWTYK' 3 ?~\1)6FK_xoXc{dafp}hE/5eåi[YL60.'.ARnqO7:dҺnifetpTQPdνkTUtwZB24lǬypmlmn|qqhJ+OugTRUL7<3 3? 3ef=:QcgzrdO?KjvcKKXespX<Jş|zv^GDG@?L^qķoK;1)Jrȿzhc\X`mrcZhmbU]tƿpqvQ8,:Q|{nbXUY]buwX+ Ds}saOMOK?E3 3 ?enpp|^>Hml[M?9FZ]D,1DWk|]E.4zδq_\]XW[bqļrF0-+@Ztμ~spdWRUWD6BSRKZxtmjƵhA/+Esi[PDCKQao}n> >l~ogf^ROTQC@3 ?HB>Og|u]50[{tjgmYC:DY`R0:Oj|WA1=ز{tpuyuéJCdlr|Ϳq_MGF/)94-EmupgʶcKC2)2MovlaVLCGUTNPOQc~L +@knVQ`a\]ebQD> 310?D:0TK1.;C24Oh||ndacc_ZZgcA( +)".T_LEXhgdefbdpe?3 ?33Nyvp\PXjn[=5Ynw|y̒wlhqѬv2VԻŵÿrG/)Qeg~׺ynq`LJB8Rcccfihd_apjD#%+ +;I75>Ykv{mz~rS:;BEB?06>304>ONVIBNTMGLKA8.@¦qbVTd׾>Mʵ¿ųoL*5kyrgó̔yy_MF28_one^XS`nO* .:DI@4?C. #6?OctwſxQLY]VQRD/&-/7KY_sRFL@D:7>B>=FG;03Wvשuh`\buȿW)Lrhchrǽ~{W(=bΥ}seB5fɴzCLoeMHA;03\qj\_a_op>(2:TLE\dB #,*(,Bax°c_r{ojoa@867@BCSgq}D^i[SC=<:8=KRH,:Ozyre`\\eô>'Nep`I?EMYowyP5/Tj\Zdec~n_k{u66M_kk\NA68EOND9G_ͼ|}ubWUSTXZ]bDž_B*:B?Psչuhdjİa4LQZ[PIFEJLB34=:-7Tjwvgh~r~~tfX>% (5(  +8|rceqss}iljprrr~ys~~r~pcxt6+EcnjXD67>82=RtŶʇxug_XQRbfuiqB;24:6a}u~Ǻmhnå}`6(9I]`RB96;AB<=@9,-Wse?2?eywr[VV=[[#Tr~vy|e?3?eorīz;?bt~w]H ?qm]VL=PkK[[#?3?e~zy}~? ?~±{qu{wΈ?3gx^?4X˶{xxl\Y]beunpŘnTH29[kotkLOFGXakturj\UjtPD?Tϫ|z~f>5?JNG7(6KSPB7<@G\wr3 3IVTK=1;YD( ?~}twwsswvrqss{r3 3rs_OQv8Cl|}seI'8~ʼudXYh|aRKVeeonŸtO>,&2Oo~Z6,EYaXI<-=k~O>?6DɹfMH?87.,=MLD8:N`p~~> ?\v}sX75̍5 ") 3r|wmbzpomikqrorxw{~? >~~Y@/0\4Naf[@fxX9.AZvԭʣo]XJRZT_{~x\E)5A\~ʼr0=I<*&?YxuQ=8/6ǵtX*7Ibw|ze>3??3?d`+([ #"?~~{}rjrkhfkruv{e?3>eZ;''Jr|JmqkW4IqørH2KY\]cxɾѡyzzeXLAKg^sʮeJbţn>&2*9[lE,ežƸj,BVl}vq~r? ?jO((3>euoVFIcunrKl}ohhnty}}~r~zw~}fE108Ojty>581K)&3D\+G]wT=2,Nƾ5-Pcs~ur3 3`[,5̍5 /5ETfksa./KNDF7%",,-2tzz}ylb`nfK88.4Tjt:FaB,0T6@B|PL^euLSN(5?33?J[(Hy|yw|{I +3y|e?3/.,isyrr~yl^PVjiVE?13Nk~ïzb\u:JZ]RZWI45FKD4+LgzͿrgUD3)Mla,B,0HNJJ@3_qmhx~f4/lsem~v~c>&372BZcgnIonjoǺФe[[[[ )dzqwp@'9ze> )"`e?33?ewjYKRlvaHH_xOV͖{Q7;',BWjkaZSKFkj,E-2cuL)YvWbYG=m{w}|g<Nvwo|ūb`>9*:1<\qy6=Din]^a㤚[(̍5.Grwihf>3cy? 3e?33> 6WyaVkvtaLuƒ{H*/F-.+7=GVglcTOKXuwcWWY[_kȡ<0HG=)6\qT0,H`}m^}z~f@4UӾMF&--2F`oyqkjzTLG;:5>I^k}l]YcB@EefC(,DkЦ}}to:-:&&Netro~I5+x̍>[KQ`sveWX_Q("6TitvhZ? >3 !9ͿrmC5c_X}{|N+(,1>SfL&/4;>8,*26,)6BQov}U>I^hgki]VbmnlsHRTklK81EXӱ]V.RoɻKA4k~[:EH_~qfmo\":`dc[V[?33?d3  ?ey;<>cɺt{vlkA=mesowcH34FYdn2?<+'-3@Swɶ_JXq}}|oeevyrytQI^]ZgoWH58QezֶuL.&.+t[(5(0׿r[5(/=C_Q-Qca\Ybmrr~r? ??3?aTb}IJ\ŻnLSxvx}V9}hpo{iWH8-2CQXU=*<@0*1*/:EXjkh|`Q^w|vmklxslntwWH9H`PTl~ϷtN65j_YQ=Jν\[[)ֻzh[@.))&'2Gh@+Mdb^^lye?3??3?exine?3$DgaĦ|Z=()9PeqpZ<M~y~vr^SH=EUYN@G;'>D6.29507=ETDWZUyjYNZq}wmhknt{qmkjgeQD]|mpѼyP;BHtZ+9εv_[[˲jU@0,+(&>iw>*I\WNNPRo? ?e~rr~~? ?UKsX;&HSE?E<2?nqi`VJMWQ<-5*/KQB;=BC?=;=@&KɯIGBqgVMWm}xi__cgsmlhb_CZWtͼv;BKLxY&trWQҸfSG5)+`]1"+GB=@@HeQD8eĬuj^O>7?E.DNL\bcggldN@26_ǭHLdQMMHNP=&8MfpXROOVjh~}u=GPRaKQQblppUK]¯mxvX4&1ptND?79O]c]Q[x}oB5@^ȺmUD:?MZ)01+/DYLOKenx}bF3)xʹBGLiVK<-8K=*1Tst\UNGNo~muqykp~ztzoQM>b(4z{Ya-2*-/i[[ͷ}fG..-6b}YXU_0Gve? ?e?3?I|gpjkona>-=FERM&'Hfzwhk|k?6)\ĽoSC;@K*2:AK]niT[jxePT³_HB4(*,9\j}aNMD09U{xfTJ.3_ucVORxzuxjIDlB<;07iwo{C;rs+vxx[[7ҽxS8(+1./@sv_^U95UyxxzwsujEZ|fLa˿}qagx{v}gdjwúb9+VvaWRFIv|zyxtu{mnxü}_IF<.Oxw:=W`o}? 3?e~aahtprtoko֘~td^ekou}fbkyntO'U~_CUcpiqtr|rceivѾjACWiri^S?Drv~}gZaVW~jP8*2Cl}R?QXmr3 ?~`7#/E[srronvydftU50,-IYp}kte'noM0:Ut|yúyw|vwNJ˽ɿïn_}cSsraTDVǮpNIK('4@b~? >P!  3t(2?eʫryLQQz81?E^y}urjSVvy:(F}ũhabS@Lvzof]_z}|vvzzw`]tŵfcumBGcuU@@Mo}]7,*JL/4[[>`{rr~9 ;?333?G5 &G5>e~p`ZZTftT{c8&13BYoob\bcfnt}e97]uZVjpiipwqh_b|]]i\YT\lv]SmU.7VǶ|b]c}\Vp{PD>2'EtȸuX.-qh[6)=?33?errr~ʢQ%".He2?  /(8}e8 ,8Q~rrrrr~zeK;'6LaniWQj`Hfs]l|ymahg`[lU?phLFHK[mwoXMYU8=lhIVgæj\[[cb`?3?YQQUaH( (XʲoP+FlI1-? 3333?erU3VY(  %YX `Z`p> @prrre?33333??32,7IdyxiejxhernaJX`bcxԍG4943.'+;Pft^WMHQ?Ly}z~rrr~ʤ~rrrrwc[R?   -=D# PԽYA))E~rrrrrr~~rr~O663 + &55 +!0 *((''' +  0?Kky~{neSEIT\adtϯhE54G[kiWQYTKVhnq}{e?333?errrrrrrrrre?3333?e>33 + + +Vʾ~?81.@e?333333?e?33?L<41 .rw?  + + +>0-46F[ey|q{кpQBTUTRWgvQ0*)BNWeibZO>4;=0)Bhjgfht? 333333333333 + +* &5( (>`~|_YZc]<9=1+2333 ?(55(59)*KU  3??IL\nuk^htvûtsiTh]RLVkþ}JKWKGUZ]ef_ZJ.&CPZ^^r3 + BO]n[ ' 8TO(1<2  + +[xG+   1xlq/  +  ?9F[ao|}vk_XZ^d{yg`g|t}iZUbzIOxh`YZ_`diZ4?\cfgce? J60<][  -  Q[_5 +(-;(  +  3?95Idk~qikkhfkxw`YVc~İ~sudboq[[n~rfcdahpd@,7kupi?  [:(< >u(  + 82/1 +    + 3G==Umrvz}{i]ZPY|Ӷpo¶xa\aV7',09\uj3  333  (m453 3m5 + #  + +       +AWlrpdYBRXlvi3  033 5g16? ?}((A/   +  $  + !',, (DI8-$ ?C7?Sdmx~lS7,8K{οiUXO=;Va`m~xob?  (3[?3?e[5_Q<3  +4(*/  + + + +80+ *UwTEB9 +9?>K_kpw~}{N3196YѰzu[WNKVfgfo{vl\R> ' [w [r~[5   5y? + *CG> +  0 + 3>MQXX>.Gyt? 5@Mc~z{̼V?>BDpĵ|bJFRdkknv~q`U_> +2B[e + +15=a( +2 + +(b;+%"45Z`pZ3 M?3 + +   23?e~zhS= Gq@  *:\( 40Wep[Z`pr3 [sbor> + +?~{b6 AznX?3  + 33  (drr~iI/ +7^oA(%;FBCbūponeeǩŭÖsF.6K[er~>   +(Vx> + +(& (Ac[Zʻ~> [e?333?eI (nql^KE>  2 33?ee?3333 + + + +5cnvpJ(8EQmd@+! ';VTHT{zy}{qrƯξԭl7,^r3  '$5(  +jնe?331 (?v~rrr~p(  (Ylmoi`ZfeI88IciT>3?er}~qrre?33333333?epj^YorC9\v{B(*-,2>\`RM_}quȿϷ³nD>Nbjnt~~rr~zR*,]uwy}? 2(''# ->TQ?5% @вaVK>=333Agũc5((5c]iqrrpny{~r~{~rrrrrrrrr_XTKOrP+4Jdz]&16DP]dhjqutx|dPC.+Nzrvy`bqYWRQ\koggpvodi}ssxmuvSCzaKKbqoou|}weSKLbзtcd`\]adlyjYQD715435Rsy{e?3?? >~wqbM6/=JLDCIKB.+? ?750([]ig}tvkPEJTX\cqv^`UCPؿy`Vek]QNC35>IMRZ[hmbJ?T{zkqvZv|YSgpopy~o]VYh˺yrtfZ`hkqoiT<0&9E?2>U[f~? 3 3p\MKK=;FLH>78=A<?Xmidm}|vtqz~r~v]PVaegktzbRJOhwóн˵y|pO:80:NMIQWhiI(*TzmkbB,rwwxyzvtgkĴ~ggovtaX>0TV81=G[~r~~r~r3 3 8J3')4CJRYYTE44DUb3 36,(('7IQZlzzttue?3?ek^[]]__JMfj7(]Ī˸|zmB5-CZYVYWekM,-McɴreFrġzv½}u|ui_A(R^>+/8Re?3?ee?3?e~? ??3>@ +#<`ipmeUDMbjp? 61[}r}5*9=C]w}{|? ?vh]TN;;BDG<=u˧ŸƾԷwyxB+(.NedaZKL\QAKLDs˴ɶuc93ѻPið}}{qT,8F<5:;I? ?~~? ?~e?3?d~rj 5b~xg]avue]>33?K[e?3?e*?3?;Zyr3 3robTI +(5( (_wdr²Ƥxxmx~i:-9>ScdaQ/3 2Hm~r~~? ?}rh\<[[X̯vUE=Jjͮ~eZ\\M/&=SRYa^V<Gu{ͽÿиf;+^yϷoz|vmX47Q[`VM? ?~~? ?~ʤe?3!  :ng _~~WBEPW\br3 3Y3 3Fme?3?ee?3?e~rg[6[[&MƠW-4N\hķtu}y[NYT:&.IfnmkdO(Cѱùα`3(;Uq̡raG>^^^_fe?3?ee?3?e~? F|; =?3?OILRc~? ?b> ?Tw? 33?e~vk`C((&9_ŒrtpN1@Zάojpo\_uoPAUlymR,)-3`rIMИİ}Z3'4Qu{zļ˹ǵtZ5.MS\o~~r~~r~r3   +^q. + ?WWn~e?33?ee?3?P^r3 >er}~xh*5̍5&AnΒokkP))dջ~rv{w}||t]D@NW[sgjr__yƿ^=4401GdVJTixxɚxV1[[BnzZ6,&:Vfksy}_cҦqiwwNes~źY?;5&+gtbp˼z{o]ZW:);[ɢmC9729^tijtzs\KB83s}r~rjQ.&^(  &[r3 3r~? 33?e~re?33?ere?3 >~f5(5(7g}UA@JZca]_^XWnv-[đv_PUyjz»u|»wZF,3]s}|}kA2TƹUWheWON?1:NrthhqxrrvshRC9+Eye?3?eR0#1Yc5(5c~? ?~e? ?xe?3? ?~~> 3nwmdM5/BejPOTWSMIOUNFTp{ɵg+PʯjWIH\p{ȸz\B86Nf~{wwwuv|uDTQ*.HLA<@DCHPgˬƱxvxwpfUKD74V~? ?~|b[N@?MH[~r~e?3?er3 3e~?  3r}xe?333 BHYghWdkTB737:DQPJWrxsr}ūW-9~oZMNTSRaλϹ}VEB-&EZllswyyleqyLUbI.)2/+.5=AFL_вƬrnttnfXMD6*Cn3 3epfYMNW`z~r~r3 ?q3 ?rvov~rr3 .HppidO=Eh~qQ7+*,+1DWcwthpç]:\mVOOFICPʶֽxYRUA'Cbozyrlo^`qU5GC<6-'08?EL\׳j`dddf]OF6'(=?3 3Ryz_NDHOSdy~? 3l3 ??3?emftr3 1XwS24R`U<+'(0Z{~yux|{bS=1Nk{|qgmhdp{q[FHETSdsĮӽva_bP8/)*59=J_sx}~iesf>./,58+-;GQ[jʹ—zx`Z\X^he[UF41/3 ?TmwZ?4530@VbpʮƤe? ?x? 33?? ?\FLi? +9BtA)@MK@)*[|ux`blZID4@_aPEPUYiscJ9CWgƼ{||z{nafog[XRJQ]abhqxy|{zU/,?O]ho|̡нYIPfxkYX\Z^krrfM:78? 3?e`j}tH&FXavkQNde?2?e|e>3?err3 30+Jse?31:DGarA+.ALLHA)7c|ja^M?:*'=<&0CS[N>4DkԾmhmkhfelv~pe^l~zqdfv|zxwwzv~}k80@Qakkk}B27J\YNLPQVgz|aC979? 3rrq{bAR^miJ1(=/(/H}r~qlvr|r3 Uz~~rV?Ro~VMQRJ=::2Cn~{w_H>>,).9=845K}iZRB?KSRPWbgpoosygfoywrtnhtx{pnr{}{~T(9GVhpkcg{ſ[E87AB8489@WojI369<  ?~w{K=EDYnJ / /_jZi}r3 2\ux|zaHRixɬ}leS:)4,)JxwkvdMLSA*+&*3/2778=E]ΕO2,&+;@ET\Y[Z[_mcypmgsz{}jadn}~xuwq.(;L[jtvka`ivȪhD.//&+@WS@7?D3 3?ezzH(-EbXGVY/ (Cs^grryr3 3Gaquyv_FL`mȿlS7(H^JZmguaS\eW<.<:9AMF808FLLKPY^sc2-1:QZTQQORmŤ{t~vi[dv|wlmv,,L_huxkb^_erպ_>98+(6::CJNW? >~}x@:^_lrdD' (55(/?n^^`bjw{? ?_o{|iOO]gkRC(/jlow}{mgqvkXC-IXVSQRK@>HSZ]fiioͦc7.M_XLD76Uâuxzqctmhp{75.Apunie_^ekz˸yofXD-(D]^de?3?e}|04wO([[=={YLLT_hoqc?33?elzfhntwadP18RSMhҲwuwnaWJ?Cb{X>__:;gz~tw|dULY`VI[̍5ka-+JmXSvuw̮ʸ|{j_^bee^WW[_\f¬{hE/'('?SWC8NĹtry©bRUUMHLNB:S{пּ}trke_VKOlxG+jPDm~ocba]aoQ@."&eiC([mz^6'/2GvXKmknvpwĿįؾsL:Q`twrpkeY`u³zsvs_OPOE,-=4.NեӽʧjOLTOA438=V~κ˽xtqomfZ\wӮq-_ͻXl`1% # +~Ph~M!5tt`[Wiʺ{nifdV@Kpƹ̽IIYfisO33Ed}~zrkmlccijZ<&(>2(EкӺuL>JUOB74ԺD G5ZCCH2#[ͽ̳qrpbQ<Cmʼϸ}wiE4[wkhiY?/gbpЩ|x~źI)/HS[ejkrtrdYWeɹ6,U@e:.[}˩~\U\_U?)S~˾xugA:l~ia\H*fʜ}v}tmlqpɻq;(;Y]ar}|~״vTUTFF]xƾ+$rA,H]28;[]ňS:9BLO<AbηzryuP.S{l\QB)7n¤~|tlwrga_^Yb¹zwd7*BdhjĮc9:A79_~|ipƙ{ótnz{S0Mh|jYRM:2_ɴV=PWPORRJNjsg^R<1:P`oͶie_>1^{³vdbXZͩ8/dlѸh==3+136>AJdmM;//5+1\|~k\kjdptqţ{d_jd;.86K`xm`XUJ:7Qx|hhuyV>JRQ[t`J?75cuejy_DDSbbbnspȫvgnvgIEG>/&;W]F-1BLf||s`YUPSf~iRbld{ȯu{oZKB>9@UpwoeeU1;tѩsA,7a}}xxwz}e !KwpjZNShohi|Ƞw[PBYoo|f8+CTUX`ju{mXQcɽZHL_o~Y61/.4CYl}}rd_[\||mabcgufER^hũ}ϼ|aMA9>N^ig_cY7/r’oT(5Qlwrw{}mjr'?~ѥ}sphhqͲfQ;'0Ŀxhuv[-2BEKQRT[UG?Nsí`HCQ_lxǼa>2',:Pgwpqru~J+.jɟ{fwľشlRDISPWXKJI1'\\>*6EUi}uxh[eUKcr+ 3rǟ}oms~}ȩzY?)(3M¿oXgqgA*3=AAITN9'0VzcWWZbgjwŗlF(C_ĺ}zyxzo1)oDZxiaWlvfrt^ZR<==(Hn|СtJ(*':DJUlȼ}WL^XLZr2 +?~˛yliosjw}r}fJ0/LvgnslZ<&&16;JZQ1.Up}tb^qs^afaed\cɕxOTƲ}rj~zlULIX^QW׶rT43KXv^14EJJPfʽxmkjgU?F`[MQ]?'/eʐmdfmznbdoliunK42Lv~sy{lYNJ?0*+49@P_Z@Abu{ym]IFUor_W[]ZaaXU}vQ̴zxscLCNDDHRbsزN1DIb~˾Y32DMLEBQo[]cT/0HC;;<=?,#-@YZjWDAIaȋg]cimvxpheg`SWbm}j@DjcWdt|gOBBDC@?EIO[c`SB0-C_tywi[@3:NSMHGOXejoqveJ'2Ǫ{epzsn^^<,5H\kXC\]f|@2AF<*_pdgfC41-.,3J]ifekǜ{hjjfimjpxlG649?NkiL'YyQJ]ny~|lU7%!2=IdzͺwZMNON`mU1"3RnT?+SnC=WumB%!'.2-,(,HP[bkZ+0ĵpmkY=**B_i]NJQg}pI88I?*;pxcRE4)?FHMfc6=hM&:lgPQT7@W_Z[nrWUnztRGiymjuupq˷sI1Gmv̨pJ6DYj{h\elpzT1MW`gmpxlA*;ؿ|fXN=1/,-.=LNNXizc(  + Br}spk`J4,DQMVpT/?pP& :psZ^a;*H[fo{xr_NOj|{ȝm:)?V_l{zgVO[bgp~üŹ[>,&1L[ZbdչxZHHQ^tYEBLVX[p~I=br{{|sW@QŹqVE51IT\gv~5 1Wzzt\E9;FLNSjŔQ1Dn_/  ;~_BKL*IkywgVOMVgyʪ{9>PZm˻yi_\Zo›T/+0;P[WimRbp\H_|}pcǩqO>(Jajmwr(I}iV[fbLOnǟkIVr|wbSQ1 D}O7KT<+/YlQG?5Gtϳ99U`bjy}wmkhel~pgqIJh:/)-F]zxuqlʕ46^wp}}rw}Ȍ\?/Vw|~5 5|z]eϸro~S8& es[OKN]ozo\ZaixoC6_jV\gWI,4KS`p`AJK2,9IS^w0/0yw~zɺ|b2=|wWH^ysbZq}A& !H]grr}μGBΙ\Ms64WzhYRGCQ`eZU^dgza+DilYcϵ~y46;*-,A\itx{yv~nFM[G2014=PqQ5Sxv~vdyv[44nS=HKD<5<7  /?3.(28Cl{bZcyνN" 5чT[͐>.H`m{yWMI>8CLE7:MXZioA8IQi|s_iиiLB@>0-&29Tn~uone^m|uRN`U<327=Pfsx|zw|z}sVGIiw^J;08YwǿO/#(+" (55( 2PP2)3IXaj˽m=! &NhuΞU&,:GR_rpPFB:6;:-&)0=Oix}kdwx.sǯv6,2+5Xssc_UJ[t{z{xwqhgqgL??IL\cah}wrikv\+9D9'Hv}Q&(55([[-( 2;OrgE3R01ƣn7(1BOWbp{{p[PMJJF3+Ikk`gA-*35t+-''-;asv4@X6@@txwsqmdcktwugSMU_`qumvŭobWXmӚpR*+(?²+rcWc]2[[[[" +);`íwe[<$Hb*t`WvQJ9Y50>P^hovxvl`]_`7.Gdq~_CCTYρ5+1@d}ul09>Wn66otyxo_QMZmnYDBP`kqxv;ײXQ>`UQWi~udLj[RA'2;?@a~]D}fH@J; +(555[[((  :ɾz< (FfPJcUX]BEVejnqt|vhege/+>^Pcab:'+7Mjzh,4 ,}e^T;+&,.)2RVY~vnpQKYWXA;.ORXex{aL8'16GgotrσjdʵtjeP+ROrǛ|dC4WgzyaTJKjoll5?[ӠU6*FettMG>lvQ)SUOSljP85;?,>[[nfgtx{[=<:KH+ >D_zjrijs~hUc:HH}p^^pNNX}ss8)CGSd~}Y9+4Ilx³Ǒ_̺~wok13p_oΡwU9Kg}s_Nbĺhcc6+IZ9(I`jlLIKvpS<0.O`^buzC.@c[RblwjsNF>3#MGKXrx}~rX?YԺno~uu{cSSX[\Plw[W_MGxe,,?HS_ymB'0Cajrµ^aoʗdbÜrJ1RtA6/~ŵidc=(?K˼zL)3TdilLQVxmbPFRbhnԪj:4J̍[H-688q}ƾ{IAC18:PQQjwKATafkd?++gгqko^OHC<><^o̲k`VHC)-/}v-*:qglpgwwlE2&7^}y7/9ysi[LW^vo@,.9(07>qsyxqd\mͻD(ˣ[550@O.450Tgļyb,QG3>`H*-:1F_iljW,&FȱwfbWJ=3*((MkлzbUFD01484FbcлxVGEGN]píl).PƳtdept̴eKNX&h8Aprz~nYeؽcM[[[x>,.=O)34*EVpf<(J>O?0HuxN.=v¬}h]TK9+Q˼^\^fRA@/22{A;3*3Ee|}tyt\λʘvkhgp~ͺU@7W˾ZX^]M^ӹghn(*49gtnkxD4[[(5bǽO80-;2'23*FNcpxLWZN~[/958>zY?Têoc^WC&Exºb`zmYB:DKQmU1ZnY?FUSOaZjf}wsj{X]÷ufʺ_irgxy{{j]<;6^{~wtrkqk5('8@5(5(H0*('4--/)JKZdoBKI>lI'-?5281-0c}g^}}pjifT,+KzDZ`b_s~viO>GW]jM7hgsmdtz~tlwͽԽǮ~^tth>1,^}veOJ`|^B7&0&@UP[g^9Q9.)'-),*STbfiw@@;1j[B*7K?.\twyqruq]J5-P{ųscQDRknlxH;/yxcmv}qlpĿǴʵ~wſzI40fy{x|{^?@[luӔX:3(0'Kd]aiaH.ZIGB8237M[^\fwvfi~i]M=HO=av^I0(MswVGD@PnqefsQ7^_lchnymkn־x}ɹ|ĴuWTfqprzzaLQaiqˑ\66-'2?Lj{qjiaRINWb`YpnXJGHSY\auierh]T]_I&qþ˺z`J0(IkukS2-6;J][NXyG2/vpeEJ]~pmvϷuhivƴzipƽp_cks||gYUSXpַe@*?AEUas~slb`q͖la^[[\`gz|ieƵ|ojdbnp`8)70'4eɾþeO97-6cʿ~W:0?GFJ\jqƳ`LSTS]cZaqwt:20yz|~p]E)9ADyQ>AFQae[cu~{O/JhbisuaM8('(')GnZ=0+Gn̚vY@2/M[2(SznN1/NXViz~sgQeQUgvXQytkh~peTw׷fom{jov|~yY34>A]ncipos|{mh`UOL:3dȻjfTqku,Ctujq{YUKja/ǤkPLOXacWT`n_NxvG?TemgXiS5TmmUc:58V4*'beO2'CKETcjwdHE9go|O,^wly{n~}ʾrl{qtwyxxyvz].g;95rlfqihijd^TF5'Y|Źqo`yqf^s֪v2=o{z^D=71?GaeRNRYYXUYaj~^\WiGMql\rX7(9nPOO8;CMav(QXQ;;IHPT[n}j`^_cl}U45cqkZsŷouquvusqrpjlzt@ems2{c[wPPYV]]L=00WmƹuwoFg¡s'-W~_:.<*,.X^Oq{|ѽѽm)FVMGG;-&>xrV;,Ww~˹{^]aXC0)κvmP,+::>ENSOJMSPMNVfotxo_Zmvd`˼q[V`lrԶk9.-6T{uFa{yjb`YVV]_U7;:*7Pdzûza[VK1+Pv}x{Ыzɽʿy5(T[NT[Q?5&FuXX}ӹsrrfQ932/+lϹp\P>((:<8AXkn^PNQRTYdjpvp`SY]H7c}m][dkk{¥mB:MdkXZulx}o`_^[\]WK60+Auʺƹsb[YY[QGYv}z~c|ʭ\0nxdgiZG@4W˲ƭG2DVtpcƴcM@2)CUUKPi}gOJSZ`djjmtsgUVV>)Z{oeekqq~ásdsymwfFF^{dcdbgg\URC,-:3'2q~Ⱥtm~dQTVV[YS_v||hҺt/7ym^TRI(0XǸ¾iploIJL9KdiSC13<@Udd^evn]W_djnqlmtyr[SJ3-U|rl@:4tХxkvƯxttquvnoskWPSJF\¯ưu[_`ABKPVUSawwpx}z{DZyO/4alchnhE.4=:8HsZBFO\ı@4OhfI30999>CYijlyztw{x{|xxqmrztQ:.*)37M|zwtq;/'jױvljaauvsҲ{UKh~T4:HSYWVipu|{m^esr{z_NZ`O:5Mn~u\AADCClϠpei}ȳq`NTd_[dw}ZAAG]klx|Ķ{qozxP,1VPYuronpsp0UwŘxjbSHWq~hOOp˶kOBDIIELqa@7DUckihx|trz~}}qpk`azo]ciY<+5N]iuwhZNC=GH5G’{xv|վjzaX\kswĸc499Q{rllmdK1)FpītXdrc?/>VcL45Wwտ¾y||mVF<3/.&BhoQ1,=Q_m}}ȵueahQy~kvug]V^kppw}swydA'(9J\gcL5)+5?0}ufbhxêu};-+ȩ|jlv{h15[xkieP.5o˷q`GBJam\.);I6(+Hg{|]Ld}wdOE?2),,8OTbzŮ`D>>'TszxwSJMJhzlZ=8Tp}^=4>L_eZB,&53[|z{qv|}vuobXSYo6,*кһ||Ͷz(Dop[YZ@uű²|_LRZ_ty5*=84Abxk26ECEjSIF:)&7YʵT7)B`aWM45=Wqqmi^DBd´vZW^ifWD827A:'5K]TMpxznqyypnh[NJVote3-0װ8P|y_HHPDк׼¿mtzE(1GLO`~r9oziTJG=&9jp}sT;'3A=91'7U`b^TJ[}Ųznnh\WTPKIH@;=NVN'(N^x~pquuqqrgQJ[yոlFLpʪΗ2Giy[C@EJ18²ϴɷ~z{qTN^kns~vMJ^\J<72(Ou}G*7RU>&(-2,+EPLBPx|}|e[frjVSRUbfc\KU}}{~zwx}}^MZvo_vr7,}հ=64ĝh4L[\?DƵcPIBB5AηӼ~xrpmqt{yir}zwtf?4QVA,(3Jd\*(FE)&1:8+8EIc¼z}ʲzm|y^]dvj=9{eNUh|kRSme:ty|?@9رl?vι~w̌bUSE79uºŷæ{qjekrwsw~tU-(5,5[aG-'(&/JXf[2+@S7H[`R?'DbxŹ|ųpiuv`USbws^RQT\oygA14sהrkfktuxAB=ǷmKE\ͅT@;.0^ȸʶ~uo`^mxx}yszh:&::8ciP3)(&*58AQTUo~Y7.DP42wyaH+7a}ʲ}qսnzǯ¸cEFSSGD>7<_gZaˋ_^bhkjoƯ{s~kPMjɂH+/A]}̼õxvŸcA>\s{]/(A?Jlm^B,69=1.DKONB:KllTD*650>]iO6'2Z԰db~ҸjtֶqI6&(VĻfbegkw̽wUWjtaPUz</EYesýu|·Z9gtkztP)-1;m}hA1jLJ@BeuyyV^wyR5I50ty--ʾH'Vε7D`dhzpnnu̾ybWOOSX\aQqk:4KUX).mrqʨktitbd|K=7aILA<]teT`^D'6).Li̿k8+1@ysG8@zK6727ZrT:J`|D)1D\N__^eBWw~[15o>?>=:5B=Fz)Ahëziaxvrjho~Ըmha4:aeaHT^}\<>\h604|evxrtzd`x{|sZGKYgirx:12nL_r{jtoR0/;B8(4ENh÷srzz|jfxг~opj&,hg`BGHlpgVJXnphcjnmwvnebiopTPfqrqmX?110))<^xh`w1.:¹{dI@??EBMjmeXdAA:N]Ү_,/B0.]tqh_O3Wʷnvl1)LShhZMOPFBMQJPbjmk_A,*.06Io\Yb±H?-=CB7B^Ɨc\Xg|v>@C0,=_]TPQND86`ͻ_@;:DLC/918/'*&''..10Aqxxƚlnqsg\Ziu̺ìwlmheSLQZ`^QB>I]ȹmC85*'H}q~{h\[\rǾxaNILC,7;&*DRTH=2+=e^\ékYZfɸ{aY\a`WH:/(.YҸdIQR:-4>nryx^P_wzm]URG0(95/-30'')8Shpɣ~j[[eDzngd^UK;(&n~iliE2>V`nxoj|khqP>Sļ|ujb\R<*:6,,*+2.9ESWT`ΰut{ºȚwodK6,9ͣwk_?-GYmy|v{ww~kkcI:OlN=Jwӽw{}wncWK<*13')3-,4?=,+Q]^TKToƳk`cy~ɭvc:.ezbYK'MftvrvqpyhBE]]ew{yww{wcK@Ghɴt|uiV@8+(,2=5((6CB1(apo`TUdwmrĽħ^C5Xôstϩ~b0+8VƺlpzbB&Srĺywzto|}a-?6*2UhjnsxmS;38PǺUV\zwv|ìxeE/.B004+'85CXR>-,9EE5Ukrj_Z]fW^rϕо­pJ4Kzv|ӯsO4LPfļ~x+)mȵwuxtu\(82)(A\hpvviT@.@bXXWTUupwZ?SmA).)5{fTXC4BLQVSYiqcTPMLNK@5)Neruqe[[ro5Agɺ|ng_\~̿lI;OiwʫyK+5IbooƮpjorŰ^HȺ{tqngnb4=>8Qpxvxvlc^L)cZPIIMNsZiX;>HTnyubFKTJMVWV`pɱ\DWwzf^d_UTWbl\fhbkiek{m54^vko{~~{wvwP9CUfeX.6]vvwqmjox}rqd]jwqp˲}vxt_0,Ŧpggk_A+'A\hkwU3=GU]_ZRG?@DDHZwyxįzw{fPXcfwsd`P;:KW^hplibWQRZluolomdeuztuiZU]bdkx~wG&zmPLK[t~vqv}}z{yxrl`PCKj~oca^ar}zvȥpB=˨o^[`V7+F_ei{n.7SZYUOHBB?:Bcɺsj}{yxdX]dgw֩wpiT<:JXfoqֶsgUC@JQRMF>DRfwulf`YZ\[`dglw~wH9|A.4>Sowt~Ӿƽ~xb?.=_w{rgedgrz}z~zP'ZѹyXQVK.'4M`_b{ҿM)3MRNMHA<<62@gƕhf\Zfr~thb```huvogTCELJTcoŨrW9,..393:ZbOKX[SV[^cfhlu|i*RH6FPZo}{{ϻķg?9UowxyxztnpxŷwN(vŴUKJ?+-5.15;Rt|ɉ`Ebxsse`[VPMXlvkdVGKH64JnѴ`<)&8:'-FK??JSRV[aglmov{^6&Xluphr|ϹȷnONgvuuzspy֝e?->˗_K<3'(@]id\gÿkUbshPNTQJG>/(0;F[wykevue]XPFCMg˙rmmgXVJ/4_ԽnK5'.71(/:@CFLU\ahrutty{y{fRb̶{z{|}¨ȵkfnqttsw}roz_E@95,.[ʜiF-)'>_hf\]wlmsj\bhaRI=+0;ARkx̽syqf\brrl`WVTMLWsӰwsu|}tunZM:@~ȲcN6-AILQ_hmyxw||srpX`;vtszǻòxpmmwxlcnuqpztfXBDPLQk͹Z<&-+(8TY\WYmѴ{{}sfmtkUD4&/3FXW`ʳθsfwfgjbUPUY]VRW\Y[g~}lK9Ʋ~fD)CPYbpy{iZ|ɰvjgd_aiz~տwnprpxvf\fonr}ʞ|iNRrϰq]H)4>79ADHJPjàzx{xt|~rWC3*rrtzru{vgdqykZ9ZŽֿ^l~XWuyb_a]QIHCCOaqups˳d\\\{ǼmN7/2@C96Hk{|}}rg]OGй~tP?6'OyutvugX[pwP3(*/65H^n}įK**?fq\KEJUO?9FbqusmqyeXSQIHyaI.-0U|wvwyzxrgh|V?841@[nx}ǩ~[EFMJIkv_:6KnsvjjpzuiGfpR\}k]YQA747SktչξofR&(7QowvnhlvkSFESbjjulg~mc\PJJNHPغfa]8&)+7GeĊ}vokoz}zwvmhV87HS[kij~XGLUSRnriæhJGZt|{~~trwqsq{uyd_W;DnطvxjK\|{eWF626=Vjo֧yӺts{rWM?.4?Padfpxv~vwu_OQ^ko|phmZ<1:FIKT_X\rйkROH8-22)'6DVt•nt{vqijz||sgN1(/6Gf̺~|}`UW[ZVexl]wǹhUWdnqmnzxpi[dšwklZNK@?>6&&=\w›{hcho}\D[y|cP;)'-3Geyץ[=TؿsmsxhOH?'/8?CC=BOg{|sc`jzcP?(=J`wraUi°sODMND=?<2.:FXz͵zx~|e^J10`¿z{tfaflrqqodd´o`dknnigowrmfRQjUMF+))Gk®yf^_es\Lb|w`L@3'5dֱY,C|Ś|pqtbKGA',2('<[tlpqkis{T.)FPc~j[W?))+\ξqiggozuxջ{jlprsplpsmnlUGMq_\e7S×yh_]bo~w_Vh~vbJ<=:0,//5iжs=M|ͻsokZIHF+6gq`fiddowvsxwkJ)&5@RZLGmr^\d]VXYMHOWatʿx|}yzhbcJ5IOIFLQLxƾzlpd^SGIJ20hÿxcb^WXgu}~uaSI32EJNORj~zvlfij^ST^pvxzqdf^]`\D6DH?37]˶oku{Ǿ|y]=4EVbm{rNA,cͤ{rxxkWJEKKCGVlq`MIXdfhpogўǢ}hXTOHLO<&OǺ~h]RNWj^SP@@docU]ͶͿyyxunbQMYw՚yvpcTN>=F9'@HDENext|xmejyFLA?:1&?l{l8'-dȹpgiqpcJ.Cez~{~vmzjXLIJLSVL4?kǿygY^qsuwpmknehqκ}lXJHPeyvq~n`ZWP3)0.8\_evسnf[A5LpŪıJP0,`bU?0QoʿtgjuzoY>Gm}iѰq\OJJOVVPG5'(9tú~j\br}rt|t~}aPHFTjyyɠx|ygR8,)(-CZ\dz̩zsg\L/*JervS2+UtwuN)3Mn~wx}p]G&1f`syxhQJLLQ^_UL9()4=KŷgY]jzrtg]ugQ[ЮgUKBI_trx˺|X-TgkkltxoE(>oiJ(9Gery||~xhx÷{xqggib^m~\6,<`ͿkbjyuwdTMF?=X}ϴvZUYZ`kolƴnbl~ƍO*WQbltxqj{S.0DVZY^emwnZqƤ~}f+3Gcrzsjk<+8Np|Ѳyc:*1BAD`m`lsuvwzhi}vsvprdKNo̵fdtwvǮdLB>@HdʹzQjPXouj|dHLasyҽG<;P`fmzKBWk{XNFO`tuXeU24D_[AIPZdfbcr|Y8;I8.122F_jkkkdZUmMd[tzbk8IP]q`izq|}vgjżtWGBXr}kqN;+)<_pqpWytZU`jhW>,&,:B92B`ox|b9).;[ҳq(5(5FVb^DLcfgZvguyvi>1Uoby^92=KTWZfh[J:,5HW][wt{_`\UXk˲^H4*S`^X]aYKB-7LWXRJfpX[VNVmҧzaH;/3LVVX^a]UkmjLLSctjk:AJ\tbgyoztd`TOVR^.0Ujmpzxdg|pyvp&.JRnpheiidQ<27=70.@YfjlwnG.Kca;7@>1(LpxoNQgoir|v~r_p~~}{qdc|~mǿtT;4>Q__TR}VPH>9?OUPH^ZfQTTQWjoE3,3KWVT^tkc[TK;+-?prcYPNS`m|xekW_ypu{jfwjVMILUWk֙C(AW^gs{ulnswdEO[YPEBLRMMCBKPOSSRWszL45+=S][Tghte_Q=.TQ?GQxs{i]fxqm_JCHYuzn[SQXdvW;6AQ_ksvutrhbS6&+Al}zwoZLd{T<>MY_c_VF7'=Mb}{g`GOW]hysXRay˪FCVmvz{wdZf|nufmswxqo{ƠƠn\L>.,8eA=CLf\YTG;BI:<77QUTYYQMses}eC'3AR[UKN\W[ZG+B>31>SypuewxkL89FSh|}vsonoxѩqYOdj}puwz~|oh[Y)CYp<:?|cUku^X^a`}UeKA15KWduҤyhuJQnj_eaJOnF:G\hmmoaXd}mSP[T]glmcbv|ulm̵hVB(/eH@JYld\RA5:4*(+B\bfjdVITnmԽŒK5=>AUnWBCGOTM5&*+-FawŶ|pTBFQ^ny|xsszŬya\kptkortwyupcc(5.5^d~tjUD:8,(?YhqvsfS>7;QsȾ¸dOJA>^eb?BHLK@.'Bu™sdL=DOarwuqlkxūnaaunwgkkicfjj^a-765DGqY_S>Q_bKFJ@:<<42<\efpw_ueZDIZXSQE4Aoƿt`ZXPKSbnofme[_wf]UKW+8SWZshDmt@WutYC54B_nx~ubM6)-OqtvlYI>54BYJ9>FKI>(.6&Iҿp\=+1@Zrwrmd_oĈkkmebbbcflrmcUY^P?*FZYQKJLA*(C°iBFird]VLMWVUM?*.4`kgi҅hytdGBFCIWWIVbfgWIKbt|w{{j[M;7Qy{+5S^hzlddŽ{R>+&Df|qXC1&0Wu|veXE;536<:3;L[]T3@{tyȸv[7&6RluqkjrpysZqVM\ihecejt{fW_ZK1,`ztpZXb=30/>\̭iA;Nd}vf`\X\cef\H53>im`]nmgtP,'07EW]Zu|rm]OPh| dD/(FZZ:&CZfoz̹W=A=9;T{pI.,VtNFZr^\gn_PJHJMJEQtv?'@h|x{stƸnI,2DXfietludN4xq=5HQV^UkuΕrlkcco|U)6NZ^OWlmknsuv~̭o:KXVtzɒPEbpq628q~[H[uzb[]^bdlc)+@KTf_fxȑe^eglqv|ζpB6Smnhhegq֮{=1Phq6&7Rde6+5am|c_cfnyҹ~aQ=792'0J\dl~yʿM6BQaggitD34Rirxspz|pa\zaT@&QȥjMKXel|ʼj1(@d|}~wf^cH:7>GE?;CvKFPXegOC;*4I^vidk|ԯbPNQ^jnonuŞZ<9atob^]_Y^p`D61VѺI;4+1J`cUGJU]k~khot}̮rWC=<0'8FQVawçR.9M`eeglvU.2]rhp͍YDEJ:-`ĬzcX]isϾk1-Kj|¯j:(*7?Z0,5CTOMLMKC:,0TSWXrj]bRWacc_arL4>_ȷvj_]^X`NVI.JI>4-6Oe`F,,9GXlǥ{dWTM;)(3>LKLQhD*3J\adgjfhH.,/Wy}qm|Ԟm]ph\}дyc\gvͺu]Tenu̙V18[S^46=I;4<=1+*+>`V[sĴr|rnY\^]TKIclF/@}˧|wiabZhf@)1Ε^H61@XhT./Ie}sxsqiWECHKV.(I-0:Ogczkyliq[SX]^QB4<[k\>)-Sʹv~g_izvuM.)q^t[67JT75Zń}|yqcSMIAMZ0Jc̶c([^jquy~}f:IE92;snuʖǿȚбiQS_j~vactptʛfPL\obF-2G:+6P׽[zQNIJPTtMZ00GTMD-)y~wuuxyncoaTLB=:8EROCHZivB_YBIQJ?35̍wx{m?6[irvնiYhЌ]_`qxiJ67CZ~w=96),NJVO\wôlSF:6W}cZXI6AV_Q3(|cG[rʢvb>Le}fyvdXYoTI[w1B<9+-:PUPY^uؿlUD1')FLPDO^c_TR`SJ_оϐcU^_qpg^H_|k^eqR)4rkimwwf}?,54309W\SA5FezlC343[G6,̍YaWjSS.-;Ub|mgz{yKCCWJH<<2()2(3Ic|ħeM3,<21=YgdWUbXvŹʵsT8/3hȸyncZet[5+atzxkgjrw}rlhM9;8<@H_aZK@3@XdKTriRMMWpyw~T>5lBGaprULTE=,J|dk|\dsƻP>6hsZViRMSQORY[V/5N}`>)6\suqwowÓǥys{O=1-Oaawtsk\Uj}c7+?54dzrggjikn|}vp[LN@BIP[^\UF8AK[bL@(3XcbkZo|R_}uaqvukbgw{phkoopwripcO5*g^OejK10QlizvZD@:1Osh_SSekarhhFO]v}nlpnh\XsZ,HsurtlhbxնpZ]UTX]^`ca}̍:>(IWH<-*JlZ;'(;SdsоcY]sp{qjkaVG0,8t|YF=AWs^2/Tub:+>PXURX`hpsrommpssmp~~ut~~Z@FXqonx^K1,Myɻ}x}|psqjG90w[$'=@,7Y`Y@3D[R;)Dbzİr]h{yiixwaUgNH'&)=qwvzkh϶uaC)E]GBU[`ghgyw`HN*-18>?BU{|ĵucC=o{nceegnv|neccgnqfY]cvuH3('=- /Tv[Ct|C[[(5((555[rr~[5( ('/281?|ЮdVZq}Рֱ®tQ6;NU\dfcptL-,O601;DOcŲjclз{wPW&2UZQHUcimv¿yngecdhmlltxwytS0 + -MYɺ~}}{|B(555( +([e?33=W5( +#(@NB0+F78)>IG@Qku~ϐֶƵwW;7CLU_bbpzW1,+0=K\s}gE>UwUNG:PLJOL>Nclo}ulhdbdlrwxuůykK.D`Ůwqx|}onv|dB=?7:2)! *3@ $  5fw2 +7o[1(.Iuy_GDJHCNejb\dsvwr˰{Эȼz_A6@LWaek{{`D(-)07AOkphs`A;Lzľ~{UjP:+@}^NUWGOajpŰ~ne_\bryveʲlT3 $Htrrrmjryzit~iG26@=;Fbm>./IFD: \D&T>(4NlY_mnfgsvrnnrآ_`KZȼxƚz|ɭmLANZfoqu~}dN2++/8<>ENV_e_KG@=H\xqT_¾~xodP=/^wuUMVaholWQUiqp_bpxh;:u{ne``kprt~oluV:JWd{ʋP0&( +  03" Fy~||øjY8'.hvigr}dfr{{uty|yxXCFIMUbkaMIQZXO2'(3H]ruTWϽwxqoy{rtTTonjgju̱tNWoyq{{yWNLTlw|}ppM2hB@IMP_hRU\TR`\RUeq}~^K:/(')+-;rvWJ@-! * +  Jb}{zpry̶mL5zwrprvqgemy{z`GKUZ^h}}fZZ]Y_U/4AXl{d`MQçj^LotjefoypnquHI|~_XbqvwŒbakaSv{zh8/0=Qglba`NZZ+M44:==RcM@CJT^[UZjzw\K7+9GJSQ,#  . ! + ?dvyqnvmkynWaN:J}ukc\TU]`chhenƲngsvx~rovT(AT`o|o^NԾkC6@Za^_clo\il^c}zYNT^cjxoԴ~~iUylY15Ocjb\W37204,,+(5GF=F_gc`ais~tcN4%  #2 + + ) + < , ?e~{tlituzp\^i+J{|p[LH>;DO`trdl|ȷ«sE6>]u{zn`thD2;OWY_chukؾsQ@CGBCQcnturkye788' 2;, vP4N[^h}vlbK1&U8 )/%"7Z[IjҺǧqljgescquowxqR>]l]ZT=Yշl38QVcyitǡءiDFYbbscUiq`ONWVOQcBNNNIHXn}{~{n;1>Vda`gvòпU,(5cpJ)@Yemqtp_H41/(r|zxmgjafwptyz|P) JvjyqY\ntloxvU=BXeaJ7'&:x_^I3@~v73Luд׼XARhnr{uqrgQ<2,,2AQMJ[wQ&-5Pjhgo|Ʊµd^~Ѱ*&>^ws[=Bp}jX|{zoug+ H~piypgr|ijngM9=R[<:.&/81)3CPYXB4,/Kz՟k[@2P]rҳīj]qoY[a`auѿtkR4-87,.C_oqzuS,'4@8:Yzxjqϵ˼ïf25XnC)Jffl}hX[^_flq|ºưtB :jtnnjl{rie_WRMJ[ZXJGPK>:CS]]E65L}igU67Qgp{ͣdF74Jcjjg`X^ȭ}w_8''.Pfow``tvfilmɩ{{}uvq׿^B7/1Dg͍S3=d``pzukilcXY]hzɯ`4 + Xehes˦i@:;04P_cnp__VEG^|zcWahcjդ~n`E9BG:+,5:Kry{}[B3GQI97EZju~lZ[te- +  8WRa~vi]afq~{jmȸkTQ\krz~urhhzəe0;YwнbK@<.NITWUeĚa9*,:GLMdմdK:&&6?96=Qfnlikjb`keNSZM,8?S{we^bnĭbhl\JB=Hgjew|r* -Vrxvurkqwyx{oW[tŸͺ}sʄ>0JUX[pg=:5&:BHcӾs]G(&03-(0BS[`dhib\eȼdXc_B+/8IWji[QWpӹnrqXLQYg}gLRkojs~53]|Σbf|ĺįqg|=&LQH==SkzX;<6,3;UzudM(1?FR]a_RM[x}}ѹk`gX8*4HQIDPṟxxr[VezU-",@X\de1 !=kοΪ¹ahwì[SuƈR-Lg\PECPalqzthmhK?=4)3N{b`hmkfV00;IUWOA=Row}ΑQHQE**7@?:BYt|ͻjhyX* ([cj8 #9WԸxXdx}ɶxNAXx[;RjXMILZjqu}|ni_I62&+AeȆL:=Pbjj\7+9GMH?52>Vn}<:?9),8<6009HXpûʯs<[[ԁA + )O|w\mɥuVDIZrp]H,2l}U@AL[iqzyX?4,-RT'*C]jiY8(9ILC=<;?Uխ\CHF@=0)162('DeƬ_-[?x,(X¨{][ׯ{Ygph^]br}sfpi=;diD5ANWam|fCB4&+Wy2:XihX:,3+7JQKHMP]eXKJYf_Z_T/((+-'2^}rֳA!(̍5Pј+  ++r}ybGCI[üоf?Lcotwwh[YZpkB.:6/,4I]mspcL1>k~yjHHLB1-;KH@>=42juj}Ɵh.5(Cʿ6'.iȿvin}yaM?9?Wdz}˧bDJbruwtY@FepD+'Utk]YhzjW7&36?]ղge~}mXLPcmgS5/7AP^ffft}r_P?-0Yɘjdnohjt}vg^b`F+5JrbrˢW! ([UĪr;! + 7g`F0&8yҼu`Xi}pf`QBD^̽G;Htg[RJJPTTZaZNBDTembW[\\pnu|ykaȱƹjPQV1BaZRQPMJGEB@3Tpnorx_7yļmcfedee^WR[mxxstqm_?)El{cVVN?:NvtlrǪracviky}z~?(5(!9Q}wuzm]l[PS_r}nfidZT[[JFHPWZZZ\[[drn`aqZI\cgӹdB.,9HPPNNQMB@CA,4w|{xtyuTȝwffcdkqsskpspmiZC7DP`~w]NOH:;Yևxŵýѧocerw}dts4!Voqz{{{}|uhWLEO`fejquvw{unsqga[H@@HPWclnkb]Z]l|d.':S{Z>*&4HW_bdjfRIMJ6)jztvurx{A.biZ[`jyxwy~u`V\KMu^AB?54Lr˸ȺŞujdjqtk2  0ek\^irxxsjghfc^blsx~~}~|~ztI;2G_ҹ|lȺ\5EKV`]mİvoihls{|E& +Ai[G̍eVHShqk\X\z|yedTLZ΢wvwrtp\H;WʰfaU>4>aнoknk`F**Qvd<4[pC1*@Z~ɽlfZ54BGXؿp&*07ISHGcǵzsmgb`dsvx_9 1S}[nZE?K[h_YUurt}}|yokiryp`c״~zxreRC)3x`E;Ff̳[95@LXX<-]tO.4Pc{}adNBI\|`VH'9[foţ}x2)(9@;8Fgvnga]Z_s~kd; +@Vuwre<-=HiɸnXIBFD:1?WuձUCpzOb:(.ҚyiM03ϒzhQCRs{weNB@ELJ=0(B7Ec̼vzsbMQ7DYlnbK.[~r~e?3> +0R[?WLbY1" $Jbuppv[[abgx}z~r[RPECoxXF-1hnltOFKTLEQfrup^KLbÝ~ickvusg]c|t;Ctw>ƯqO35Czlj]KCOfwtlWIGMPLD@=9Se~?  Es[\paTep?- *Js{qjp̚U[XV_oxibSRkzndVYd`bxF8lxtRF=KWOFRds~kZ\hϸzo;6]b~5>Ȣ΢~TKP~q}ʩwosjO0+@nzv|xbQKOOIEGJnmES̸pf]PC8:SVftP( >}r3  >dw|aJ?30Egwq̍PhaRISgw}shdXAScxntzxh|ib͹|ab_M/+M_jrx{ynebadgglcizZ\qxp_L:5CDGV]^V ?~re?3?er~Ĺ|ita?3.Eia^v[Uip]ONF0).5D[ohouYWfzohjstkjpnq~ʸ4-D̿˾S(5HB2.+*OYvxvyqƭ`NVUC((H[hlnrumeefjkmvotqdHJaf_UMC@Oe}H/2(?MTq~r}{jnpqtnxj? +(Pik^lo[NK>(+9CSq}Łib_{zrlh]SOTXby̻RHc¾Ĺk:,64--)*Pj~wtzzuwnTHKJ>(/GTahmvxh]ekmnpynbM150A^aUIILPb{~(CPSi̷zmkifad~r3 F|nhWY[SOQB,:XjŮj\TqjzjZQKB>CLPVlm2(,1,.5Akr\YfrxxjbTC??:,-BOWdlq|neptonovq_hs|;0I^ZRHKYme 3LWU^wzrjdff\fe? &Sp[VYZai`RRp̿s^ONYvimZF:733>IHHZ~ϳسX-*3;65OZXszTFWn~lyubZ\R?8;<41BU_fptprxqoyvjijq}o[Y_u@]}zr_]]dt~> >C&,F\m|kwӞj`feacaT]}re?3(Bx̍}mhltunn·ľn]PUq{cR@1.-,4:64Fgιq=(1518U^]qĽdMYn]eoj]UYR?6)\ǕybjWV-nR(,AX[X\hϾ`SPQ\cZESmv“~[\~¼јulmvrpzE&:>IW\[gydzxprl^g~pJ.(6@Ml]X_qϾYNLrMS[RKYwxukuckp}g^YVVXamu{ɩ>&)vuoioqwzmSGQTH(&/7LckgaiĥsXNKNXYE+)>rjstԷ][V\b]]jegkp~z}A)/KSY\Z[i}̶medefroJ7+/>ITavu}YalrnqYVGYOZWB,4Qdiei_dmzn|j^^XSLGN\hrԶ{YNO]zth^_efc\bp}}T+2=VrŢl_SNOVM1FYlja[;Pivpo{qscLkըvxut}yy=23WMBBUmyxibirupv}n]YY\i~{VD913?K\mw}nTVn|{}zoaI1>amsfGH[lsv~}ndT@=ISSLC:;DNWatӨ~YNNYs{m_\_`\PQixkVBBB;B_ЯsrpaVNL@>ad[@b}uhn}iho`4(f{vzwux~}}ttn^[q|upwzo]OGDI^}yvrjtשt\^`RIMTZiuebUIKT`gb`\SWgrqliwo\TPNZjxiROJCQuzV:5.-@JHB:1/7>=P}I@>Hcqnjmuxl_]]__ZRO_}]o̻rvu\E:)@HifvlY1%7m}sqrc7ETKOh|utrsvzzsngTOZf~ѵ}paZ]dpneechא[A>D?=ER]qĩ}kfidL;9;DOYdgegq|xcSZqcTew|yue]`G,7tk&3A@>;4-5?;Of;1.7P^YXajk^RW]___^X[lyy}Ӳvm~wT4+3MǼ}^W@ GxxzmJ+-=_~}ufptyzvocPESqǦv~o`hlkhC&6CFPcs̕l@*otbbp^eo3555(;XxR, "! %2**-4Ljn\e?5555( (?~^(>s{mrr~Y&3?_vov_;0.)3Lcǵ|`H8>[bVJVwmmlb\itgQZtZ4*qîYSUP]vz}[5555555555[L& !"(*Apչ|[̍5XZ;00;eʤc( ;ed[dx? 8eοyzhW;?[YRYnwkfpre\j|wb]lb8'/Oʷp`o}w8)((555@о~r̍5H_>( ?~re5  0_;0;_g0 1mlllmmmrr~׿ȸxsmR,.DPV\b__jyziZawzogkqzqE+,6=Uռռ̿r0  ?v[[wpofyԨjTG^[5̍(( 3?3? +?? ?`8- &  5q; +  + + + ?eȷyoy~~~wmqtn^HImdTE)OcA*+Hi^v~k^XOB:9=RigQD<7?V|u8IWhèz}r3 + + +/\0 03 3?e;33>Kce4=Sd|r1 /=_3 >@  ).<`wqllqE[^2(5([~[[11& [r3[[;rr~פe7=*%);Py~?6MV]je=*Hy«nbkmjp~seP:44-.CVXMKbZA4&'DfS31;BYndI@CFGIMPOE@BD+Xzdz}vpot~x< /?z{qlw~> 57=AKctyz~b3/558OhV40@fjf_VQX]_[WPB7990*Q¨|rmkleP90[^E>>??Ecלr<|dL% 8^l)HcdR@[[T\ahr{qllq{}ZE9(:]bpa^lאmS>@Wk\_ѩ}cQOZXI@B<.+24.1>L[nxxx}~{z^1(.6?L]R3/GYZX_dfmrneZJ>/&2LcY.Lb|˽sbV:(59UVLR]adqo`QN@[[5>UhjjqeYSYwʴo\tin³wcJET^R8)1J]hpoqxyy|X5/2;FR_\H;CNQbxyoq{yiUC<@Xl]0&LjfIM|qiW3;E@DZyϣzdetunmq~S0'3DivweG/(9ERQ9WwĺulXDGfrXWbjnvrwmheib9(5(4Nl{[B>@KUeo[HB^̽nvdzfYNRaj_BBTYbgnvy{pL;?=?EP`e]QJXXk~ylkwucJ76AWni=';]}Łq`G9@?G_nr{sqsxtA/4E^a^_lvupeG/,''TͼynaZitfi{kbhų}}xpxzqjV0/>MauuOA?FPb}sS<:Xijn]`i´k]]itwpL*(HVV\dmv}]?9GDBDJYeihcsia]`emxvdK8=Masxa?7PęnV0*5?Mdغxlu|uv~_FCJSXWS_wpd`T:(5(R~ǿxihox}rUX}nqurnjZZK1/NdwmYSPU`rƱvL?Nl̬h;+Eqɨ|jhqqrxSD+5Henjikr~}aD9@DIMPWdlqwodTMVdo}vdUZk}MSrpP9McМfbdwxVNRQMIJOc~i\aaK(5([[uǷ{̬ƱkSYxaXbmtwbOVTGSkcZ[bjƈTJ_urmd=-e{ry}jhngeoROGW;565Kt~tW@>ERX[`ilmrpdPM]q|yEQsqJ>QdzgbduǺvefcTG>COi}aXZY[vȵĴotxXJSh|ue`fhaozplgikiqӰjUen_\b]TVUG>JEHq}voha\ev~zhWX^V[m|edktuUGKY`aenonpteNOf|{JfpH.G[omio{ɬoSE>@LgxnXTI[֤~r~dbvywyz||{tz{sttnov}~{ndfkT]VBEMG>@7*+<9&?Mcld]]SLMXkwucTQMETnbNMY[YampqssdT\t}vel}ztQ3DZrxejŹsTMJCEXcZMM;̋z|ø̽e?3?evhbZWfw_up_eU&,92,;KA12+.A;)3IQGFKDACLbw~sfVF>L_kxİԪfMCJECShqrsja]fnmcb^k}I>m~upsyt5+:JZjqozh`mΪu[FE[[YJJToʺ~?(5(?}ǵjRN_IBT֡rnoK1.':TN83*'3FJ),4>A<<6)(0=Urz^E@N\b`ZUdѱrC-135Jesso_\_]QNU]_iz:]mqlnpngefkpruC5JgF2/ARRMU^c]TQRF*(+).35K}ze`pɾ̍̍[[=esmi~?(̶zy* +/~k;2OQG]oeccQ41P`n{syzx\UQ'1AC;?B175-(.Fc{ӠZ33>DJQURTUTOc7,./(/G}vg^fyǭ((5[̍7[r35̸̥i!*rر|R<3,8^hcvʰZ4(6;:Gdv}е]Nc\C6-My}V4+,;E?322,(0MjékJIKGOZVGAGNPH6972]urhcYUbxc[[(7X~?(qq%#rşxeYB.0+>)CTdstj\UP]uz|thftjrfE>J^B8?LXe{ͷqaVI==K]ee]SG9(&=HWfeN1&*>fpJ*5d¦yy|{ndaS8(5[0:[̍nR99[ppT$ C}Ǟ{`>,/0-+[v{pPK;*5MC.B^yuf_bq{bKGNKRaufX;?kiD7?^{~Y?:J\`^oԱlXMKN\kpnifbYN56Peu{_MThivxW3'Wyδyzzuh\VR?-5[(%:5[[(̍{}`G$ )\t^QH:445/7Vikk}kaRDQaJ,UrsUHT}\MSRTYerW9FI1/:S_tt`KADTa]VjԖzg^_aiswwtpopjWF44G_p|f@&<\õqs|Z.[[#HGP;[(5ps~Y2 9hĨx]IFIDEYidY^suuwk_XeiO),XtaNXjMLLQW`cgiottjkZ8*5.39DScbWOJMW\Za~ӗqkkoty|~|vwhC3Bb|ãvK*5\Štnj`^sˋF[[ .W`{qlq̍5(e[< !MYZo}ummoa>5I\mvfgd\YTA624O|ylZJ906FTW[clsspq|gK*>HMRSW^a``cwȰmmxhuж¾nC3RijcV>8MRTYvʨI'#=ddak[5̍̚tnrrur{ywĺwqc=,9Sxŀhd^V[`USSS_{yZK>/*0CTZ_gosrnmsxsaI&/EISQOWdhfekعynxwN,.LRL=)8RYX[vԻ̙pP>6Cfh^][[5жv~ͺy|~vrZ<;W}|qieoysx|yt}q1&*+,4HY`gnrpmnnqrncT3(APRb[W^hkiir׻oi|{|ɷƿT-,'=H=1'K_khez̬ffejxj@(5((*̒ssʬΤqwxundͰM+3:PckpwwrrwwutqkeQ-+AZ_akc_cjllnxg\hzwus÷zP&4E@7DLyǴ̍~whryG A[olJpXSxuffeWQ\t}ɳR<0'*.0=gpUWv}ohfjyxnhgm~{uxxgcwt{zob`vŷkblrfS>9??Joǽžt~tcwW" UYVS_u̷vM6?a||_UTRPZtu~ŽƸaF@D?.LĭtK.9Zwx~{mgegjqu{iVOKQZYT^{weptrxdNSҲ}|{j_be]I))Df}Ļtnosn\uĠvxe2 &Q\`bam{}|VAAQmgvzgRKLMN\{y[D=EJ@/*1Xбȩk4;\dmyqlkoquzkZUTOPTPKXsn]PL`cbc{|c\н|yqzeTV[X;3F`pyuqpq}i]ʇpkXUZTA Luheei{gfbinK?DM`œn`c_NECFHVv|w̩cO?8DV[UOPmس—V*/`ppm}~wstyytujNHNTRV_]XczzYI?5.?@)(BfwaGCC><5'G_ӔFpythyR$OpQYU:% ;qq̷qE=Dpe[LL\eY=,3>6&+&:?5:OSJMF+&@JECSkqnmrtpytdK=;GcJ +?{~}VC&  5~zy|}f=4DhrWAAR[O8(-5(&8EAFE4872AYeedgc]dxytt˹aLDFWrֹc98*.DTYYJ7,(+DabSUcjedmbF:35=T^\Sc¨kccC-2Ee|x`ZJD8*(8FF?J(J|aW?%JT" -~q\& + 3rrZMMamo_H37ZxЦ_A712)4JNDR*D?/E%  + 4ɤɳyB## ?~|y[5,1AIE702KxfE>OXN74B>:/FG:420.4.DX___ZWYchmu|ʣs[V[`iqtuwmJ.UUnZPU_he]dql]PLSly|jH719DSY^`x϶xgVE0D{{X90+.-++5EIC1,74.2Ф~e?33?exnG--('3UիXP]fdR0SWLL<3@QN@:2'3<0?Xcff]Z]bflu~ĒjUJMTWV[kfi|m@''4bvoSOamrsusiegz}[=5CQ_jswåobT;'JoP>358@HMUbsg)4$AWLkҶä~rr~tlbE9vżxejt~xS)FocTXJ>DMF==5+20Gbome[Y_cgnyЫ_GKWSJPl~ǐhfqeE87=?CC@]yT8>TjRJh}ʶ]VVK7'0qȸşpui?++,8ewmq_JHLIFH;&'+;K_t{o`UW]afn|αrUV`ZOZw̟t^dszpcZRSfm_bgH35JYeqtped~hLO^vĮsaa_SRQC,1Hx͠pUE?<C?,6^o[X\g{ӻwL'5AGZ{vo]F?Ikʻ^TXSHUrxhv|nbmb99Uhkk{mP3/BMUUUPD?FaόKGUemoneYPA-qe&(;32JU_lvtlkopqrtwuqjebY[au}tziF-'-,&Lecdk~ͺleY=13@n̺xH@OYdpzvkeqζoJ6aoz|}~cXP<).>CS̽[KTWYfstlfu˴pdk{fW\dVF4"7bv\G=9>Uwzd]h}zlm»|ɮo`{Ÿ\2&&>\nv||vttru{sihfb[Zciai^OSSX|¦e<Bcо֚u^SQE77@AMrY;?DGVhqmm{IJzurqjSDIRSE,1D_z||{z{viN31RshgtmqtmsuaX`~\PIQgѪE*EA50=Wjrx~|wvww{}nb``^[[aedpb;+)*6cɰN*:a}Ȋpqz}ufZTG99?;Ceø<&0;CN]jnw˚wsrpmfSCBDB5(4,1RUKHHHJNF;!  <^lnҵlpǦ}aX`H2$%>R`cZ5!(>^Ȧmg~M:qyaJHZfox}wzyj_[[]]_els~~pT;/(&8i֪tX?8'=dxt_WjwbQ`xyl_J;?C=Fkr&:IMUbl~ԼvrrpleWLGC@4[rZE9(2:(! #-* 6YruտtXgnRHG0  +  + Cjx{xs|yicmmp^>ozvysw}odZTW\`eny~{lYIB@83Gmp}sH2VpȺnT@>GIStsYHIIAIlͱg&?IR_lytplh`UROIE9[{Q3&!   + + ;d|ҺkOBgϿhPG>! 5Ylrl`hԶufYTnd86aտxdVJDN]em{s`O?7;B>9E^\zͲ~@)EdqXIADYsc\SFJ`X9EJSi͵|re]ZXSQMHH>(q< + 0-/3L|{øoI49jͺubQ@ +,Xiqnen|rkc^YVkc=4T«jR?=Oes~uN2()3=DECEMb;_6,3CZtpWJ>.7_kA*  /ecoxwdzϥ}mmkeZRTWSVqɷ^4/K}ũjSRe{k9:LONNPTwѸ\EFJP`s}~]F?54iȠV?FH@Onn^g|oigfioppwwD,6rϨ{~zuqkdekkff_N-(q< 3 ?`d_K5B]v{q}i]VB-/Fi{P, -\gvnu}w_\ee]KBFKED_ҴzP+:Xϳsse47MOMMWexѿZELW_ptnbL?ACRЙwxsVFSXQ`kbdkheda_^`djod/1cհohuz{{zwywkU8[{[<*''((()2O5((/L|^WD&;R`ecfu]WVD)(;UeeY6 +'KcvjJIO`i^PLRSL>8;<7Bl—fJ81>Wx}T04XdII; KV]gʳ~d\kwz{}m\VbmgZdŵqRZTlr|stifaYUTPR_\H-XlO<5DedhopptsucgoeL'):5 "!!!! $ ,OYS@W@7Oɦrw~|x|wWLUensx~oidYU\QJuźŀfFRZh{tuWDRuvR>*    3=@HLE=9;;=C<8=1%wplgir\9'''8[ͼӵ}^\f6/h7*=Ý|~syttk}_7,9Q\bk|{rmcetr5+dpP5ITSK@84;Qb_ecE)grjcnbXT>*IзraMGH'/3/};wuxw_eJ<.'L[_b}wupuh7vÿvL0,XZdO\pzW(  + 55@JQRLB=ARdklppZ, 7U|qj|yt}vW2CpyGpxyPM6>2ADZaEOivp¦j[c}rs̳HC`.H`mz}wv}FA<\ǯoF+0B[s~2  +%>>$  86BIJKHCCRiupkkjb=, Op~tgvralr,'NḻL[yd\WI.,8*/DPq׬[7(-Ns԰smcgnVJ?3Xz˸mHF˲M00hI +% + +&T`HA+# + /*/%g>>CGKJEGXsztzrT> +-LywxejwgTJZZ\eUi|ȷn@A~\QJ510"AX\8("%?__B@JQNKS_q{vusr#H__cHIf{~}ygYUay|KW}rʵpUL^pozo@4=7=EldK75;fVag]e}||vK5-)*DmdhrtX.&Qkoλjgntu~H~rr~mQ:00568@LwiO>AcĮz}~rӗaC6).Klqlz ifhohH2Lc|qk]PklsmnpegmrdZ\fnbNm[n6L\majwlZVSDAVoǠ^EHatnmjYB@EP^n~g1+=`őmvntgdiq}qW6).+*+1CQz~?  ?~e?333[ξ~eL7/157:BLc@>Oҭg[͸ظzP;(6MW\nֱaZ[_aR6.CPWg~l|P=hKRʸqpkycYY_mv{{mhoxs`WTB.CX]hgZQIKwwzequN7;Qox@18Kaf`agp|[02JZtwgkv{j]]_mzz\7/-&&Ame?&e~rMK}mWD@???I[q+3@oTζx]A-&+*;GLIRN?2Ofyhpty{}}viW;/EfyY/4D[ppbVBcѣyu{|eY269CѿΛ}ss_\_RKMFI]u{ӳZHN=7MgRTbuxW2yevkog\esre]exk\SJ>/1AFE287**A]ovwutrhc_T2YUG&*7Po}pR5=KjjEEJHIQ[\_klesҠqxqlkY:a{nzeT<=>MdzТv\V{r\arsnaQRbv~ѮaNPC9KY^dmu~qAVKesarssqwr`W[kxdVNI?:?;2)7Jgtxwuzuga^X1',+4Ig|W0(58519?AHVacdRF_|ΘrbJ*+j׳DZkVcqu{bJJk}sdadd^O?>L]iu}~}ֱlVTU5*=KT^mxzL1A19Z}}Zdz\T[m}i[SRH61)(@JXkuvv|ti]M**5EOZix~Y+&++(-4:J^ifaM=PjsqY<3m̿=3u}oPVip{؍]G;@Wa[RRTR@+3DPZfmtֵt__pmT?)->IP[sô?Jhy_ib[akxmd`^O4&/GMYjru}wcK+8JX`hsb/.358AWhjd]OAFPUi{kS;(GvԿtir^11h{q|vrE8IfʙZ;*5@A@EPW?,;@GUamʲyko}nJ-.BSZc|ówI-'@Y_hjeVNeļsegozvqlcS;1<@J`ox{m7'AWbiz^15CGISeid_YRIGB>Bayrs»kWC+.Fbrú~icjrw}|G1I`{fkK;EbѸJ,'9BFFSbP+)02>Udrvz{lUA3>ZvyvǼŪn`TG0<[g\QJNG42dsqu||ui[N4)*4,5<76307Ngy],Lk|S.*.-,8ITZaiida`_YWE2&4Uhiejzțs]N=86)(00/4?Xο~lgnpmr}}hE8KbysnYYW`p|{}~¦f5+]NIGS}S3Zk~sojXNKPiϳп~rrh[G0D_\PKTK1'Au}~|u|tj`I;BOculeiuosaAUgֲfp~V5'&B[zxv|oc`jq}A60qGBdqec\dqȹ~WJE@0DBTl{֫d.0M|ϰwg|rq~_NKJC>BM]g@('GZPRi|ypjjzWGJ<+<\kaabtrx˚qH3/16CXdha[oinaFanҏ~gq~S>=RpiTQ^ejyzjXi^SNj׻utbY]kw{eQNSXUTW[gL94@7=Uf|~aLY[K?UlS;0up|R4).9ER~g_jyT,(Tgo̙gqmI@RitdOFHSamvm:0=ZWkYJ14M`S]lrj`RDCIŐdG?DLMF@AK7A{û}j]kEoõ}{YEL_ɛwpppjVIHNLM[ij{k]<'59G`zODpR`Jv|{tΧlI8ETXauF<]dlײѧ~}mQ1=M^e\QNLObv|\-o-RbTJDAF`||S*(BMYsi_rmƥQ;L^&.=ENw,m`v̯s`kmh|9*YjeoˠhP33AMX[YWNLb^;CI\MHBfѳqjwQ?;>[nYBBIFDMfxsC3@oծr^KPcwĿ˺J+Kcqy}}{|zk^[RF?B@Gd~Z69XaexuTekQT}B)OiK((Pôͬtq{.5Ut}z\20@LVZ\[TSmͥxuw_@97I_RACKJACZnwhD,1o]G=E[wϼźF)?LUclkjsuib`WNJKGJb|`ITmsyzdLberkK.7Wj<Aqj=kžuA>L`qxzv+1AOY\^dhmƸ~u{hGCCLUM@@HME?OdroT0)lС`;5;Qw¿½{N9EJQbgZT]ea`]PKMMFI]uykr}}y}eXgϚ}{qU>JATZD>wrelϳkUDANenkr?+:K[aenxֳĹv^dh`OE85;HHDOdtqI.vƜ]MM]|βȾuY69MRQVecG:ERTXVJFIICI[liX[cddqtc]s~ypifY7-ASYI('-AZcgt^fҧsglv=.3E_idfv)0D[hp{uC4**3BHIWkys@*HȪ}ǮqleWY_\TORE),;CMTQORUTW^b_UQMKSajhmӮwg\VI2'.S[XK5(5A>4?_֪vK@RodZMG_k/+E\fabxӒ8/EYiyƽǛU8*.>IMRdu\1'8ETcuxmaWRRLIZ]TE828*4Qnΐh73LemUFX`Um{=8Q]\_jrv{reo3350+8JVd}ջ|դnFAPX^frzd@0;]}dMghl̍MN[RPlr^WJ06DMV]es]KQI83>HVu}||xhdpl\WVND<'/-:9+,D\l~hyΦq:7FI<@rX:LPS\fmqURagW^K2,.+->MPK>ANV`x¾~|ѩfNWcmuy|x`\{jXA+.Ysx}wf}s;8Oq^4KD+0GSYRC8/+BXeihaVYkrpptzqdm~ʭ˴sU\wָƹs\ZTG<944:;AQuf_DM_ozgTLC0-8GVgyz]am}}_OLE>JXTMQ\cygNC5Cwdl{™Ԫ}`UUfȬ‘dUĴyc>7wzk|v_sɵ{W]?G@6fY>4@U[ahlw|ynd_^ckdZ_~רb,0IRoǺtkgnuy{bC&2@Jbl>@^ʳhV~qbR?.4Vw~spve\ZN@KfkZOKG[|X46dXduդs~вpK92?_ib^jx;|~^dytǤyt~Ĵ^EA:Dkͺoh}ykqɏkoYQ^VAEwv[EH`mwwu|~ug^VWFCQ`gսX,&.;Sea[k}{s|gB*FU_xʓĝupfauaD>l}oSTvp[@>:ywnbG-;fS[e¼tiT3@HbJ{kó~nq}|S>TecҨwsaG@?GI52NgǴvϽps|wtmf^\ct{jW\tyvp^KCBL9IXtr}ʹ]4/6;GVrxg]RSQPhzukX5.Kam~|~u tP74TVY]V;'rZUQUn|t[UE+'(2Mdq|ztytȵti[JBBBA@-'24waGDcQ51Ȟn4(=6*1CUsĺ¿wsqaehgitpgjonyzhXH4+1:EZfechnvöeC14,0SgmcZU\nrmknuwbNJA2+(*.-6Nalogbhsyͪ¨ƺ~]C:711.252Tpɵw`E.*70&WqP87O5dͲp;'CEIOU]ewƫcB)B|}V5&5[|nrc54<4Il]17LPL`rؐ.?ZaemqkQMJFLV]cgisut|vM?OqnwmWW\dijnsz~WG::9=H^txtnkjklic\Y[^emqu||rii_V9+:BDGQ_vŹ~W1772'0Ni{kagbA'L`wxhadbUE88KT=?Nk{WG3&/)5Qo|ЙC=dyyupegױ}qcL@DLRW[^ckw}nZKOhT-+/5Jdrwxpimrbxy|\_ekory|qdbmjJ.>UeuĵUEȻ}ZaHKX\֝dDI/:ATkrlhmpke^OHZgO:W\gpɦnSA622;JA/UblƨgA8Daurlkcb~|sh^VG::DQ^dfjq{wiWO]̩Ʈq>7DLPWcjr{wsmdOw{acimno{mcqtG.;Rbo|аR8;ɻŹMEGBUi^l&.@IO[ee`br{z{zdNU]CR\bjsвmhʼuEBհp?+(5DPX`djpohdl\\S52?CD^ïsi_\_VB(4Sɵ}P3/8P`d`h}H9NzumgcWGB@96D^ssv|pULMRauƭnkpqnfWLP]d[RHCDJa`gi^Vez~aT9DKGM[\WW^yn`k­vwcPxyW1&KVN8*MYcu}vxzuomztq]GL\Z\|̯shhf\VCrveRG-`3VFJrA>8=dNt[\9_iMCJIWZ_)R:TR\vsZ:Zoyug{j^adgcZ[V=*'dn[^ri;FbdRaW6+a7<tsm[h]yjya+)(5}Usml3[fb[0*{ssj{qiA+1EI_gdjmmeYj_^ffe=_lbSh_lakrrq]G=0RP1u4?>?EWaB-*6;gblt23?e28"QSF:(7-)=0) + - /([[B\m(')9(~? ?"',KJF:@# (AM/ + #Fx[(7M[.390B+[̤r3  +(55(sjVI(4($(/2;R|{Z;0.3QbW43GMT.=+:85we?( +w_[[M95[~[E[mry̶~rnx̴r9BKD@sTE26A[{? +(5([ʢq=+IQSYR[p3 8]vɷ([t\AvLG`t/mkB(|?  /c[ȯ5[[OJtP);P`N`kuvhO=Peppr5b<2? 0o((̍[[L92<5LR_^[Rbruq\MaM^uo\HWw|sF(ӕpoe? =~̍Ǯ[555555((5555(Dwp?Q^VYagqrc]j*ZtwgjW?'T~N8[e?07\[[G1,DOLeueV^nqgW`IR;[[|hX|(55[[[(Q:iLUFaF(5((̧s(555([[((55([[q;H?[[(5((55([[l[[(((5(5̍5(ħ((5([m_Z(5([[[a8*[[[[ (5 +[p[k(`>( (1;`(\\G5{;  =~̍5O(5((o1   1r̍5[[[v= ? + ;y([̮s: %5([W>33? 2;[[(НsR%!)Gz[(5[p>   2p(5̝e<*7n[(j2 >|̍5[q<_(5s>  + ,Pz[)'[H[[DFcLZv&8V;  #?M<[[(55(h[gN +0  + (5(wr "'%  %*,(! + Ce[hmkquw], $U[(5(i{qt~pomqy}c! 1l([[Smo}{usu~k{vxh'd5[heXYFL[kxycwr{xsjqc|~ʭyN;-1)  2i(((+Etzo{faowimauduUMbQ;>1A$Wz[5̍b'T[R97@DF^6Lq}`R8YR20IR,Vu[(("GQ*?T]y\]7,FPkeNrxdl^5([[ "Mj+G^d}[2I\O_[syssw[[ 1\grBNCGlnvs[[acJѺqnN.5(2`{((L0xhE5CZfWa5̍5 oh1R]M,&/e(((04[_I(S`YR[[1A1ZYI@bie[[//k\@Sjql(5(%gdQ'<my{vvnM-%?eTch^v~eR(14):XvXX|v~,,8BHR`f{K4,(-;FUToN-{85/2Irxȼ2/SZqENQSeww~th`DJ\\[XSUcjrf1DIeq(5(([[(555([[M(5([[[Ͷ().(`XR(55[[[jgi~[Lʤe(尜~md\4+n[((555(6^(5([[[~V:0' +$~[(5([[[̍5(555. ]q2 2oq&[[5[{[~> A[(55555555((̍5(5([~? + >~e>3=ar3 +(59~[[[c> =[b/!/`[[R" %{|= +>~e?33?e~r~rmf{x;[m3 ([p[[cw=0wl%  $^[z, \r3 3re? ?|e>1.0[[q3 .r[F,([(`[b1 IF2?NV}? >~? 0d{> +<~́}? ?~['[(5[(5( 1z< 4de?3?er3 1[b2 +0ṛe>3:c([̍55^/J)0nD 2(  + +5|q}~? (([w= :z[ߤ}li̍5[[(555[̍55cQRX# +3r[X>X%!*?[(e;(e?33?d[[β((5([̍5(55(5̍[}nl4 ?~[((55(OA"  .`{SI15(5f$5̤~rr}[((55([[[((([(([[b( 8b5( +(55(([([5([[[[[[[[[[(5([pI<@G$8T|̍5[[[[(5((5([[[[[[[Ʋs(M([[[[((555((55((555([[([[(55((55([[([[1(55((55(To2_qp|(5([[!*!(5([ads[:???:s[U5(D60=`(:=/((4q[CUr'- =q5!?/ 9(N% 1e5*?(P̍5 ;k'!?(  (x5&-9Wx[- X( /esH P[%Um )[[ <̋".W(R#-ENUs[[[Hfw[[[(5((55(;*09? *8'3 "'3 -9  + $& +  [mE [6  &!(5((g04[[5I8&[[(< +%)5(5(%g([> +([[&Kp̍5[zG[R ';c((* (~r< +>c[5̤e?32 =k[5}?  -( (m3  /=:55([h2 9_[[c< [[(]?3 (}(5}e?33>;̍5(~rmpe([´pw[[[55([[(55((5((55([[(5((5((5555(([[[[[[(555[([[[[[̍5(((([(5|n55̍5([(d?3((~r~(5[[|?  ?3?e[([([r3  ?c_m([[(~(  >hz[C:[[[5|5  3o[{uz:@0%(5555555((55( ,'5p3 3r(/i-:=0)%+ + + +2ESQ(p3 ?~̍53/  &2Lc;GR[[? 3?e(̑~pX0)  + + +   8`@ 7V[[5b?3 ?e~˙WxSSAtz +.< 6 +0<13  0\? +/I(5(!F~e?3?e̍5|vU~ic•GKBrm|wTH`=c5&!)6%%<22Kn}N_df<Xb[miWX=Q>*+lvzBO]zXnPIK6pZG LA0&˾ogM/@Gθo|W\5]b>65i]W9+nf`XqZQE_ON]xu~u~cnrRwf'65;TOYjL:'wcGPmuZnU|)YabHHC1*)uqN7M[[|UA.;R[_c[A4('m5Pho+(T1pujkH^&eoX>2[{xL``~xR>uyjL:IXRtz;DRrKNTfo/ic7E_V^L7Lfg`_H[lqmfHTl7 +     +   355(18..+-+82,+)),G$  +?~[55(2 +5Vwookia((zpjmg_mh7 +25,8etC$!( (.<`ù55b=0+1[xmwaGX]]=5=\l~( (ݤ~pcEf[) (5(5([ªu﬛[ 2[j[[[[gM)) [[(5([[[̍̍532  (((55((55(55[(%62[̍5[[[[(jp̍5[[[[U{,(555((55(5((̍5[̍5[()Q5[[([[  (5( + *( (5?w[ZXB-[M-cw{?[[[[((5̍5 ((9^[Hb̍[!@( )[ +%- [[(5" + +19MU([[( [:$#)32 5y? $(}r>(`;-/5[c7[fVM@[W[lT(5((55((5((5[[[[[((̍55((zpr|[[hO4/1  +(<@BDA3 0(5[p? +*][(J659[[6$$[ndpfkpC (5! (L[[[BFLddE) [qG)"*'-1"05([[,44! (55(0GMD.LightSand\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t886187581\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Fractal\ttab_FractalMask\t1002\t1001\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t669011477\tfbmmask_filter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 \tfBmDistort\t1 +GMD.SandBurnt\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t197004853\tdmask_filter\t0.00000 0.00000 0.15054 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.44615 0.50000 0.77692 0.74615 0.78462 0.40000 \tslopeDistort\t1 +GMD.DarkRock\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1389070781\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.68462 1.00000 \tslopeDistort\t1General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Desert.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Desert.spn new file mode 100644 index 00000000..fb15fc8d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Desert.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Desert.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Desert.ter new file mode 100644 index 00000000..8eda2caf --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Desert.ter @@ -0,0 +1,1384 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAnU8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPiyV-) h T 5 B #  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H % B = 5 C j />Gni<Kr_)P4GOz% E  y { C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ e D o o [ L 0 + } 5 =Q$`G AUi}G Z%s _  r  )   ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +   o H  + 4 [  /   / C ~ *y$8LLs`$y= > g  % V  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U  M o 4 j E 6 = p 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C % S ,  > ) 0 "   )eLGod__ 6.*  'NNN]f +5 )2d ` . S#7u + #<1 g  H W B : e u    5 7   o A [ I`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! Xbb@  h / * f g 5 [ H 4 t a M %  + + + + + + + + + + + + + + +> t  Y . 4HYOMys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + X V /  [  9 _ v o [ H H H  t 9  + +t +1 +  +4 +] + +- k - g % S r v g T j j  =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U   o m C  v M  +s +0 + h < , )    X  +N + + a  P : x 3;7  +  + ~ $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / / !   | I  v 9 +o + + P !    Z F + +9 4 Y , o '`yO0 ,0ENA/# z , C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j I C @ G :  I M + +0 + A  K q + +M H n 3 o AeB2rR  m ! C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j f v t l ^ W 3 N  M + +V + + n +   T ] + +9 t H o 1 m @rAd]E)1"%\ u 1 C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB | n s k e _ Z r 9  ) t  + + + +{ +G + + +> + + +% M H o / k 4 ;SJOFUTaUE?9$} k / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j _ c ` [ U Y P f 9 8 E H a a a M % + + + + + + +% M b   T  R j u(/8?QmuoL21-V  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j WhTQ<;bw ;V } S ? C ? 9 < # ^ Y [ [ H t M 9 9 9 a t q v 2 F f N<JQ7U~nJH H 5 8``s dQ +  W v!5N:! edKd  4 k`dH0W"|c;V j S 0   o [ [ o N & u z Y * V j q8!Yt{lnd & H $y}P7$nJ W N]5N4k }< 4KC9&9m.IM+ j j /  +   ( ( ( ! ! o [ H H f h |  Q q  L L3HOX" * i 9 + + +t 4 j  =nU<#%[  b55]: + <nL  + . M$y/ j / l w E V C C V j  X $ [ ] + ' 6 [ +Ou!   P +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% QBJ S -n88e V  u QP Qeye* j j C C  u | a h H [ j #<dE c  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/]c6, 1x ]8LL$y j /  GyyL8= A \     U h Ozf: h  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ Bj0@7By# >$Ls`Lk j S r/\wyeR3R>* L G " % ; E M 0 b ; @  [ &_oxh]-  a +> + p!5k R + +9 [ *n.rG k :pp:! + H V f-@=#n?``*~ l`nnn3  } M h  + + +p s A Bfh^L w = [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 \;8 T)s>GOg 4i}}i. / k + +N +3 +k + +# b e ++MO. K 2 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `.,KnZ333G33$)Bn )wP)A3Ly S ,  q + +# +  + + +  s  X  M + 550 > + +a V V ! 1 +:N]p]N: + 'Ocv xa--O w_rrrr_#wW { 4 H i +! + ' y n +  - b u ] } '  M z + I!5 > + +a  V / o M + !'N5]]]N: + F U(O$GhhG!>UT%v``32ss$PUt< O 3 1 h + T 7   + +   * G D X H  T  X  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3x_Sepq%M@ +22K 9R/l 6 " M +   v +T 4 _ #  K % R +  k f + + H [ + p!bb':55NN z +9 : AH B.]q]UamjML5$w?Kw)<P(-Krwine [ F g + $   + +h % o l <   7 s V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uuF;A:"45 vG8U 3UUc|OrC77An + o    g X + + W   1 b C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ@h-)~dpO@MKbi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > | Z   7 a  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Nrg? +'_+m+ 9  N +j +H +Y + + +I  % W X @ K c V y* j ! o M +  INN f + a o  AZs 4I,)Txpb$K!1P<#&@rG$ G s W ` } 2 FKF  z N i T c / QL* H t + +W '::bvNN' + + +  .nnn.RI"2v ?]omhzzT+w|~tc$wG8+z % F i L X e  V e$s3G*~  f + ::::vpWk z +M 4  ksG AfT i}w(i5~k^Q$o7U\lO5x t8:" j % t 22f k [ j j   V $nA}Am + +0 5vN: + + C i1"t-3]cJw,>AJ[Ki$QV@38$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4Uh= )AGc>xnP8PNac*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn&4aZ#F_4 #`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xGLGasnU)rPAJk#Lsy ~ w |  ( ,  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}ddfrV&_Gn* [ ( y ^ ? [ j esj ~%/ + +bvv! + / C*%.(?pLYTPHe/yVIJ 9 ihx#f^NbMA4eQ C o 4 4 o ? [ C esnVmM t  +bv:'v! +t [  j MUPTx{E44id[FFZ}35qAyph} 4$ j [ V  H X ; [ / e$}r9 M b:Nv R ++ / Mid&tBW&#G,5IIFvG64n)n_|wd4n~   V o  C een}Pr}= % b:N5 1 + o  `iPj0 y)X o!/7_`7E]lpsf='ZX#rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MGj <Iiw5AGphA  RZ<_)$ j V E  o \ h 2 =`})lh\8#V + bNN] k R +9 R #)1 +)i .a}o/4Vd|lj"S.-P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ iaN:H8 .G?S~L9n{TO=*yegnNPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.WHCNK2+(9LE}iZveSJ[c]oI:+yQ==@}Ll/By=** / [ ! =*34SuL* t 1 +W vN'v5p +t 6/;1k|`dx=QxUZfC ;V\\UM6Q*Q`%yh$=* J > F *34|VUV + INvb!] + 4  +o !4H\4  >QeQ-Ud7wy= =n4 >~|j`$y g P `  { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA W'MZ= L3mmJ`$y W   { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3R2= V C C ~ al HG%Gty T 3 % _ jy89RG +  j7v:'p +M  Y3%1J*%%xiV}yn!a{xn<<<Q* ~ C  so1j3se j >  O?Q*93I$e   +D 0v:'!0 +a 5 /Y3%b(PBs$%'n= qc C W DLG [i t8= > z ^=2m%Nj % R + 5(v:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y n  `K-3eT : +9 + D6v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 4 ((( =$Mg M + +k X +v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  / g / o ~ =s$Q j /  ) x \Y4f M + + pkN! R + +9 M a [ V QL` wC!-H~ QB//Qf ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ][+ :]D  + +% o V ~ QM}*~PVH_<pb} ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 AuANI0 + + + t 4 o  ~ =Gj\eeQN>exQ==a~G o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e Ne*5N: z + + t H V ===.=e q*C[LdX d P * m k D D k  [ * j C /   }    _/: H  z + + aN5Nb! f + + +9 H / XpwjkisoL3VqQ=w}Q)))Qe S/ X w N A 3 8 *  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j \lt`V}jsxB...Vx|oV+ m s 0 > 1 X j s t H   n n Q _  T @ B 3 4 3 . ? A G o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C 4^b[cp|z^lg@T@m +7W h Q V k D $  C 1   Q W e k 1 w # Q Q e y n  2 A . l N E #   9 O  v +   E m j / 4 9 + +k 5]v:]k + o * /*19>8 *Q$y`y= \  v h e l  2 5 /   . 5 5 I Q E   . E M L ( + z | z x y [ F \ + i  B ] +l H  / C C  + +W v]v:b5I~k > +% N t p e p f X (   / V =yyyeQ= ` 7 i ;     6 \ n g ; K h f ] 6  > G ( s ;    , A P [ X H 7 (        . .   + + + + +R  C +% M H [ H H M + 0 N''pvNbv!  + +  S H / !  / ( 4 [ / C C C C /  ~ U [ 8 *      C +w +T +9 += +Q +v + + + + + + + + + + + + + + + + + +z +X += + nSqiOpfKm P +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5IIH]D + + +9 a 5  + +9 a t K J [ [ [ C  w t p e [ ` a d ^ _ ^ _ a   { m m +u +# + +  +, +9 +? +B +M +6 +/ +. +2 +J +\ +U +K +D +A + + + qk~=Oh} w ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]s7$Q~( R + + +t +_ +_ +_ + + + 9 M + < d  +  w ^ J : < A 5 ; E O ] b h h c e c U V T Q B > A C G ^ : + > N I O Q c b 7 N  L +  + + + b LMM1 7 C G Z [ v a b r ` 5 }b:l::Ij~ > T $ +G +Q +7 +3 +) +% +R +n + + J +$ 0mm K +  + + + + + + + 1 F P q t f k _ l J E K Z 3 5 9 .   + + + + + + + - O Q % + _ s  ~ ~ ' pmiEk   " ! #      ^:^v::b9AY$ t  + + + + +: + +Y +  I + +~ +e +f +s +z + + + + + F Q R b h l f M 9 6 5 .   " %  + + + + + + + + + + + + + +c +  + Q 6 A N P E L N ` ! qOnmLmnJ.X   yxwol`&9l':Nbi~,O E ] 5 +D zWfj] 3 + + + + +5 +C +T +] + + + & 5 C V U K &  +  + + + + + +n +T +\ + + + + + +z +n +s + + + +0 + u S [ c b [ e j w  tliNK8% ;]v:'bjlp0v  . & K 8 ; _ ]  mC  + + +4 +x + + + +  + + +{ +r +u + + + +h +6 +  +" +H + + + +o +Z +X +k +m +{ +u +g +5 +$ + + + +; +D +3 + +- +3 + +- + + l  ZQ Te?#pvl>| Y +}i Ef  +( +K +t + + +| +u +_ +, +  + + + +  +5 +z + + +r +m +n + +q + + + + + + +~ + + + + +u + + + + + +j +] +5 + +  + +  -!T >   Y;[,$ pvs1HP-('<E"FF"> g k + +* +& + + z  +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + +e +K +> += +L +V +S +@ +. +( +( +5 + ]C v h E " z4k:pv:bHPNhE ii E? j {  + + + u j  +] + + + + + + + + + + +  + - .   + + + + + + + + + + + + + + + + + + + + + + + +* ]W +>F u +9 + + z M 0 q1{<!pv:'b5+ - '   ' 6 = 0 ( $ 3 '}Z}. + + q # +a + + + + + + +  ! - 7 6 5 5 M < &  % (  +    + + + +        + K 4 + + + +R +A +' +$ + S * qJ@VygO)p::v! W  x R : . T ] f k g ` g o ]"//"]  + + + +! +" +! + + +  + + +  +6 +m + + H < 9 ! % / N l d U D @ B O 1   1 5 3 7 > 5 B C B D E C 4 5 H I W X j ~ | , + + + a M 8 + + + + + + +R + a /VlubAqpv:'vjW & +B +L +F + + + + + Q"t  t"Z 5 +@ +> +H +W +h +Y +[ +c +\ +\ +Y +Z +T +O +S +Z +b +c +B += +5 +& +. +: +V +t + + Y x } p ] R Z P D > z { w # 6 @ 8 " ' 8 5 %  t o T O _ a A +> + o/"/Npv:Nbv0 > + + +$ D 2 8 %  + + + + + + + + + xl6Eqf + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q O e ~ d _   ; W ( 4 " - 5 : ; b h O O N N A % 0 N Q  + +I 5ub:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)7 ) + +  3 K R c a a a b b _ g a a d s u w { m ] \ \ ` j y + : x l _ -    R     , ` U v w w q b c f | Q PQ l : <  # T b T 9 / / / ? l +  W'c1pv:'v + + +t [  a a M 9  z f ? + +  p + + + t p           +    0 l B ( C [ a C U ^ r 8 : A i [8`l&`&  ~  o + +k 7U]v'5  + +9 4 o / )) h A o o k c p m l [ ^ v k f _ [ J a q v z y N = : 0 / D k    +  W ( E h u N?[||c"G3 +jYD97E\qeeQ* C +> + D FfpvN5D  + + t H u z| j j C / / .  | |  A f x j O / t J Q ; J ` H B . v ) c *Ga}_4: A).tXucQYqQ~ H +D + + " ']v:Np D  + + +  , ~ ~ V C V V > o k d k a d = w f m  , 5 A | QekPss>b<MH.M9xaPMdeeQ C [ 9 + +f + Np:5] k R + +t H $DD3y u C /      u v s o v f  T 0    O q  0 d *e )rJd"lA;/iZ9"** C a  +f + Np::!]0 R + +J o &\S,  z ~ )  ?j`  '   # . ? J p e 2O3'{v"J#xi _  ~ H M +z +  bpN5   + + >  6Sp=o o K [ N @ N Y Y J 6 ?/e "jW/ D ' _   , 8 G L @ W } *e LL;&j^_#.M? C [   z +  5b]v:NI0 + ]  qP} C m +  \ QQ*`ss* HW J \ w . 4 A I U V O Q j Qc$L9"'$nd `3* V H t M M % +2 + b]vNk + + K 'k!# r  v ' - d>sy#@pj  C h p [ W T ` [ s n =y8)L55;HfR?My V a + +R + + V']v']W + kggggF $=HW - ?}=5%snZqxa+ { 2  . y +j-$8r&:q|TI\;DG$ N +z + ( z*]bb]k  + + fz :h{ U " 2 g/AI+7GAUnJ q M s : 6 ^  g(cJ7%@a|}\(0yPi$e 4 t +   si"5bv!q 1 + + YYE#e X "XZ.}U9e  f 2 T ^:**==B[93GGmF crg"J* *j 4 a + 0 7 5bNI  + V~\ >V f) w Ay"wG . ` V / C j $__shyvo<@gXMn#\ uK~(g%'}lFbv / 9 f + Xz25b'v0  + + Cdh#> He y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 Cu5]bN5 + n:>eVo   { QsZA<LV!u Z7)p .n$rzs]m|Z-DdXQ~ [ +  N35N:0  +9 xMXU98R B  T e$}dr.;X& *Q,CL;90*O!:Xxp4AA s`g|;=[V>DY=O1.e~ : + k4 +5vN] + j  <c"LwUM8Q ~ / U # $ }  j *e3.j& N1Q ZlYRMICOc UU4 52G& :' pBA N f + m"Hb'v f + e7Dw+wG38= o h :   q j *eGUV r+vCTRcMBJ<53Q n Uif@P+%fu r' pB[Z$5 +  Kl45N:5 + `8ZKm< ` x C % 5 e + QbWiwtQ7+DDD9(%8sZ UxrT9oEpB + +k  _X1 +NNj0 > +a y iwr +Y^`7  e j   ? 5 V B )|,})Kcp7" $) #DsUhJC@ ..EEEXlXE1Ew  R + k  |1VNbk z + C $)DAL%y ~ + p : B R [ B 1 V >y}<=) TZ0W$8$E ip```}AA.K<U : t + +  .P +N' + 4j)+L7ZXu$ C O  / 4 nmAP$t;m7GpAi{srhfiU.''_}i  ! % R + ]a":'  C7sR@g + @  G  0 [ / (14BP%%D%R/ S/*}A.Rfzz+K}i V M z + 5\v:' +t ZK urZ  * d W u  [ .OL81 G5vY7*v +Znt/$iB)__)w}/  H t + 5&v' +  Z7= nsFe. J 6 @ ` K (P [?BaML8v!iU``8,{g6d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. ( A 1 < J W d K n|FF`[ Z"4P_G}dPGG p> &_rs3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 p > G Q O l = =.V%?f6 ij8rj}ti:&#%%8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ =  r l m } P j y8`sqH9 +M i)sOt($d4Ma9', LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T f J F /  $ j y888 -dKUP U}T#wAi{L;,H$LGn@ +A)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu W 4 r Q C 6 $ ' j y3VVD3 8w3UPrm|Yz!j#wUiS]~ UU}}U Z V o + Nv:p5  + + * i}4Zy* _   h ^ 5  S / j y3~<nT%JM~Q7A3H4*R j;Bwdqqq=3s  H M f +W Ivv:: T +! Z Zn3sQ I   k  \ | O 1  K V e"2*!.qe`r<v|mUG0yyj7jU<<}qqCnnZs  o + +'v::]K  + +X . L 3sL=  ` l h Z J V : Q*{IZ.F"" 7cn|EEW.2iiUUq3,'/GGG`  [ a  z + pv:5 +^ T W*y v A ? j U 8 @ u B!*V|%66.ch2G!X,'4="2ly a +D + :v5" +  H S Z d X  V Cyy=    $ p E Q Gz"LJAZC}nM-]UO9nWs_1s / [ t + +] NN':':NNNNNb]r { +k 7 D + S + +9 / C v   K t o ! + + + j ;SthgG$]s)43Z&DR_U50;9>^dR!3#[s8y ! u + " O'N'bbv!I +  j j B j + +  +z + C j C  v o {  T t {  i 2 R +j + +  +l +@ ++++`9iw_x&v<V-$n sFSNXn}\!+t2p8V  + +W ]N'vI  0 + i 0  ` + W 0  W + x \ c x 2 E C +  +7 + _ 9 " 9 f +, ! W yyee T|ZMLU<No}CO,,s$g4appLC + b:'v5  + + ++ +f + n " + +   +M W @ T i  L a ^ ? + B } E +L  =etV$_ssss_K_899X) ?>Yi}UU=?`Q~ + bN'I +M t o / Q   + + ]5] z +o  4 5 * G k 3 w  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R +L +  bN'  +M }  C ~ H +1 +  5] +9 + > z  R R  +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||N"u  + +W N:Nf + L>>eRe j H  R + D ]p +% t @ . l z W + > lH j +x /     / GAi}iAe===y$`;_,*v9 + ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a ] " T  + + * ' r +s 5 Gn  nnnZ%*= e3?5j[/RKke 4V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o x $$0  , + + J + + j L j  \ 8Ls9``s`*= V / j `j K1'EZGef #= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a o @]RIJI> + +' + l +  j W*R*yyC C V 1 Iu|mJav4fQ*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ WTs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \o%O '*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H (IpwUx p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\{^{HS= snU.ej M  !: 82V}$=  ~ t  + +M  ~ ZoR2_ W 3 o C  # 4 H H [  8 :pAUAz4ct6> }<w3 !:[  lh2V $$8 C ) t e@q}M3)Kn V / C { A 4 o o o [ [ [ o   C 2mI-Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  gSeej[D=O@K j g  ? w M +   + a 4 H [ [ [ [ $ F L R H ; U <%!r4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ @ QnCTWQiJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H ' U n u r c ] 'NvvV JERW6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C ! t }yn%GqlEBTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  I g w m b ==QiYJ |  a * j j y KP V  k ]':] +q8)wUG= C 2 ] o$KwgZntvX ~ / [ t % +z ++ + k W k  +R + + +M + [  > a i a O g $ !WN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  E Eyr*X_M<&P ~ / H a  ++ + W    0 D W  > + + +N  B l  : N H 9 B h ~ ~ t +JMkkZ57  + + q +  W _V 9 k 5b / 21c2)B.G*e C / d Dtl\gkpb7 *c~x[9 f  o t 9 +z + + k D     0 0 W   +f + + C | # _ u    !  B C C  e R\B F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j ~d@7;#   e & o 4 a % +z + + u D D D W k k + +k + + . H k . , C O o [ |  o3F+}j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* ${p? q m | r l m \ R I >  j 4 a 9 + +R +E +I + +  ++ +R +k + + +) + 5 X k > } z _ ? . ;$ B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQe|~T* W + 3 +  %  H  t M % + + + + + + + + + + + + + @ > ? J W n r j c d m k $ H H H ?  x `yG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiML&0Q ~ M o c G %    C 4 X  H H H 4 4 H H H  r t y  c ` o Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL)ftB= Q ~ 3 y i U b " [  C j   j & w X D A @ 9 : , 2 = H 4 4 w _ [ j Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s]\sz;e $ I   b H =*ssRy/ g g a Z W H ? [ 1 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n rjH j 0  + ( G | ~ V Z j R eLnUiG s+e= C  h : i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GU= ~ C L    / D w  8 1   / ^L% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  z   ' *7j1 wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V   $ K s H)rG.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ M8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN::::::::DesertWorld.SandOrangeDesertWorld.RockFracturedDesertWorld.SandBurntDesertWorld.RockSmoothפ~rr~~e?33?ee?3 ?ee? ?~e? 3r~? ?~~rrr~r3 3ee?er3 3r~?~r3 ?~r3r~? 3e~3re? ?~e??~e? ?ee?33?3?ee?33?e~rre?33333?er~~rr~ʤ~rrrrr~rrrre?~?r3r~~rrrr~r3?ee?3333?e~??~e? ?ee?3ee? ?~e??~~~? 3re? 3rrr3 3r~?~rr3 3r?e~~? 3rr~e?ee? ?~~?ee? ?er3?~e?3333?e~e~rrrr~e?ee?~e3r~r~?~e?3?e?~~? ?~ 3re3 3r3r~? 3r?~e3 3re~? ?~er3 3ee~? ?~?~~r~e?33?e3re?3?e~rr~3re? ?~3r~? 3r3rr3 3r?~~rr~r3 ?~ee?33?er3 3e3r~? ?~~? ?~?~r3 3re?3?ee~? 3r~r~e??er3 3r~??er3 ?~r ?e~? ?er3 3ee?3?e~? ?~~r~̤e3 3?eR)R~? ~))Rפ~rrrrrrr~rr~e?3?e))~e?3333333?33?e~re?33R))Rפ~rr~ʤ~rrrrrrrrrr~e?3  ?~~? ))R̤~e?33?ere?3333333333?e~? 3r~r3 ~~rrrrrr~פ~rrrrR))RR)Rפe333 ?e?3e?33 ??333333?e~e?33333?e~R))R))פ~ 3?3 3?e~rrrr~R))))~e  ?ee?3333?eR)))re?3 ???er~ʤ~rrr~)))?33(5( 3 3?e~ʤ~rrrrrrre?333?e))) 333?[ 3?33?erre?33333333 ?~)))  ?[3333 3r))) 3 ?(?~)))3333?e?333 3 5?e)))Rrr~~rre?3333333333333 ??3  ?e))))ʤ~rrrrrrrrrrrrr~e?3333333?e~? 33?? ?eR)))R))Rפ~rrrrrrr~e?3333?er~~rre?333 ?e))))R~rrrr~ʤ~rr(  3?33~e?3?33?ere?333??3333?ee?3333?er~R))RR)) 3rrrʤ~re?3333333?e~rr~ʤ~rrr~~rrrr~~rrrr~̤R)) 3eʤ~rrrrrrr~R)R ?~̤ 3re3r~? ?er3 ?~r3 ~re3פe?3~re?~rrrr~~?~rr~e?3333?er3e?33?e~? ?~r3e? ?er3 3rr3~? ?~~? 3rr3r3 3re?3 ?~rr~r3 3r~e?33?er?33?e~? ?~פ~rr~r? ?~e? ?e~?3 3re?33?eer3 ?~~rr~~?r3 3er3 ~? ?~r3 e?3?er3 ~r~r3 r3 e3 ~?r3 r3 ~r3e?33~? ~rr~e3 e?33?e?~? ?er~ee?e3 33?e~?e?~? ?er3~?r3 ?~r3r3 r3 3rr3r3 ~r3 3r~?~?er3 3ree??~~? 3re?re? ?~~rre? ?e~e?33333?ee~rrrrr~rrr~~rrrr~פe?3333?err~~e? 333?e~e?3 3?eʤ~r~~??~~rre?3?er3re?333 ?e~?re? ?ee~~? ?~~er3 3rפ~r~r3 3rr3 3r~? ?~e3 3e~? ?~e?333 ?e~rre?3?e~r~rrr~ʤ~~~er~r~~?3~r ~~r~er~?3?e~?e~~3~e~~re~r ~~rrr~3r~?ee?~r~ʤee?~rrr~~rrrrrrʤ(55(([[[[[[[([̍5(5555((55((([[(55[[5̚[[[5̍5((5(5̍5(̚[(̍5[([([[[[[[[[[[(55[[5((55((55555((5555([[[[5(([5((5555(5[[[5[55([[(([[[[̚[[[([(((̍5[̍555̍5[((5(55̍5(5([[((̍5[[[[[((5555(([[[5([[([[[[[(5555([[((̚[̍5((̍5̍5([[[(̍5̍5̍5̍5([̍5(5(([[[[([5[5̚[((3[3[[3֭3(5555555(55(([[֭3([[[[[(55((5555555555([[[(5(3֭3([[5[[[((5(([((555555((55555([֭33[3[[̍[[([[([[(3֭3֭3([[(5555(3֭[([[[[3[[[5((555(3֍[((5555555[[[[55[[̍[֭[[[[5((55[[3֭֭3(5555555555555([[[[[[֭3(5555555([[5((55[[[[3֭3[(5555((55(̍[((55[[5[[[[5(3[[33[̚[5((5[[(55((555((5555((5555(3֭3((5555555(3[3̍5[̍[([5((55[(([[[([[([5[55(55555([(55555[(55[[(55(([[[(555([[5(([[([[[[5([[([[([5([5(55[5̍555[5̍5(([5̍5[[((̍5[[[5[((5((5[5[[(55[([[[[[[[[(55555((5555((5555([[55(([[([[(5([[(55[[(([[55[[(5[[[((([[5̍5([[5̍5(55((5555555(5̍5(([̚[(([[[[(55[[(5((5([[[[(([̍5(̍5[̍5((5̚[(5((([[[[[[[[[((55((̍5(55(5̍5[[5([[5̚[((((5̍5[[(̍5[[5̍5(5(5(([[[[[(5((5555((55([[[[[[[[(([[5̍5(((̍5(55(5̍5[([[5̍5[[[[((([[(([[(55(5̍5[[5([[5̚[(55((([[[[(5(1LushWorld.TR2GrassLight\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t361840053\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000 +LushWorld.TR2RockMossy\t1002\nFractal Distortion\ttab_DistortMask\t1003\t1003\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t268833755\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1004\t1003\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.03077 0.04615 0.10000 \tslopeDistort\t0 +DesertWorld.Sand\t1005\nFractal Distortion\ttab_DistortMask\t1006\t1006\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t267844087\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Water Level\ttab_WaterMask\t1007\t1006\twaterDistort\t0General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Ice.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Ice.spn new file mode 100644 index 00000000..5b26eefc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Ice.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Ice.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Ice.ter new file mode 100644 index 00000000..0f6af1de --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Ice.ter @@ -0,0 +1,1593 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAnU8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPiyV-) h T 5 B #  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H % B = 5 C j />Gni<Kr_)P4GOz% E  y { C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ e D o o [ L 0 + } 5 =Q$`G AUi}G Z%s _  r  )   ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +   o H  + 4 [  /   / C ~ *y$8LLs`$y= > g  % V  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U  M o 4 j E 6 = p 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C % S ,  > ) 0 "   )eLGod__ 6.*  'NNN]f +5 )2d ` . S#7u + #<1 g  H W B : e u    5 7   o A [ I`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! Xbb@  h / * f g 5 [ H 4 t a M %  + + + + + + + + + + + + + + +> t  Y . 4HYOMys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + X V /  [  9 _ v o [ H H H  t 9  + +t +1 +  +4 +] + +- k - g % S r v g T j j  =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U   o m C  v M  +s +0 + h < , )    X  +N + + a  P : x 3;7  +  + ~ $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / / !   | I  v 9 +o + + P !    Z F + +9 4 Y , o '`yO0 ,0ENA/# z , C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j I C @ G :  I M + +0 + A  K q + +M H n 3 o AeB2rR  m ! C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j f v t l ^ W 3 N  M + +V + + n +   T ] + +9 t H o 1 m @rAd]E)1"%\ u 1 C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB | n s k e _ Z r 9  ) t  + + + +{ +G + + +> + + +% M H o / k 4 ;SJOFUTaUE?9$} k / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j _ c ` [ U Y P f 9 8 E H a a a M % + + + + + + +% M b   T  R j u(/8?QmuoL21-V  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j WhTQ<;bw ;V } S ? C ? 9 < # ^ Y [ [ H t M 9 9 9 a t q v 2 F f N<JQ7U~nJH H 5 8``s dQ +  W v!5N:! edKd  4 k`dH0W"|c;V j S 0   o [ [ o N & u z Y * V j q8!Yt{lnd & H $y}P7$nJ W N]5N4k }< 4KC9&9m.IM+ j j /  +   ( ( ( ! ! o [ H H f h |  Q q  L L3HOX" * i 9 + + +t 4 j  =nU<#%[  b55]: + <nL  + . M$y/ j / l w E V C C V j  X $ [ ] + ' 6 [ +Ou!   P +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% QBJ S -n88e V  u QP Qeye* j j C C  u | a h H [ j #<dE c  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/]c6, 1x ]8LL$y j /  GyyL8= A \     U h Ozf: h  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ Bj0@7By# >$Ls`Lk j S r/\wyeR3R>* L G " % ; E M 0 b ; @  [ &_oxh]-  a +> + p!5k R + +9 [ *n.rG k :pp:! + H V f-@=#n?``*~ l`nnn3  } M h  + + +p s A Bfh^L w = [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 \;8 T)s>GOg 4i}}i. / k + +N +3 +k + +# b e ++MO. K 2 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `.,KnZ333G33$)Bn )wP)A3Ly S ,  q + +# +  + + +  s  X  M + 550 > + +a V V ! 1 +:N]p]N: + 'Ocv xa--O w_rrrr_#wW { 4 H i +! + ' y n +  - b u ] } '  M z + I!5 > + +a  V / o M + !'N5]]]N: + F U(O$GhhG!>UT%v``32ss$PUt< O 3 1 h + T 7   + +   * G D X H  T  X  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3x_Sepq%M@ +22K 9R/l 6 " M +   v +T 4 _ #  K % R +  k f + + H [ + p!bb':55NN z +9 : AH B.]q]UamjML5$w?Kw)<P(-Krwine [ F g + $   + +h % o l <   7 s V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uuF;A:"45 vG8U 3UUc|OrC77An + o    g X + + W   1 b C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ@h-)~dpO@MKbi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > | Z   7 a  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Nrg? +'_+m+ 9  N +j +H +Y + + +I  % W X @ K c V y* j ! o M +  INN f + a o  AZs 4I,)Txpb$K!1P<#&@rG$ G s W ` } 2 FKF  z N i T c / QL* H t + +W '::bvNN' + + +  .nnn.RI"2v ?]omhzzT+w|~tc$wG8+z % F i L X e  V e$s3G*~  f + ::::vpWk z +M 4  ksG AfT i}w(i5~k^Q$o7U\lO5x t8:" j % t 22f k [ j j   V $nA}Am + +0 5vN: + + C i1"t-3]cJw,>AJ[Ki$QV@38$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4Uh= )AGc>xnP8PNac*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn&4aZ#F_4 #`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xGLGasnU)rPAJk#Lsy ~ w |  ( ,  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}ddfrV&_Gn* [ ( y ^ ? [ j esj ~%/ + +bvv! + / C*%.(?pLYTPHe/yVIJ 9 ihx#f^NbMA4eQ C o 4 4 o ? [ C esnVmM t  +bv:'v! +t [  j MUPTx{E44id[FFZ}35qAyph} 4$ j [ V  H X ; [ / e$}r9 M b:Nv R ++ / Mid&tBW&#G,5IIFvG64n)n_|wd4n~   V o  C een}Pr}= % b:N5 1 + o  `iPj0 y)X o!/7_`7E]lpsf='ZX#rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MGj <Iiw5AGphA  RZ<_)$ j V E  o \ h 2 =`})lh\8#V + bNN] k R +9 R #)1 +)i .a}o/4Vd|lj"S.-P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ iaN:H8 .G?S~L9n{TO=*yegnNPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.WHCNK2+(9LE}iZveSJ[c]oI:+yQ==@}Ll/By=** / [ ! =*34SuL* t 1 +W vN'v5p +t 6/;1k|`dx=QxUZfC ;V\\UM6Q*Q`%yh$=* J > F *34|VUV + INvb!] + 4  +o !4H\4  >QeQ-Ud7wy= =n4 >~|j`$y g P `  { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA W'MZ= L3mmJ`$y W   { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3R2= V C C ~ al HG%Gty T 3 % _ jy89RG +  j7v:'p +M  Y3%1J*%%xiV}yn!a{xn<<<Q* ~ C  so1j3se j >  O?Q*93I$e   +D 0v:'!0 +a 5 /Y3%b(PBs$%'n= qc C W DLG [i t8= > z ^=2m%Nj % R + 5(v:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y n  `K-3eT : +9 + D6v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 4 ((( =$Mg M + +k X +v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  / g / o ~ =s$Q j /  ) x \Y4f M + + pkN! R + +9 M a [ V QL` wC!-H~ QB//Qf ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ][+ :]D  + +% o V ~ QM}*~PVH_<pb} ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 AuANI0 + + + t 4 o  ~ =Gj\eeQN>exQ==a~G o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e Ne*5N: z + + t H V ===.=e q*C[LdX d P * m k D D k  [ * j C /   }    _/: H  z + + aN5Nb! f + + +9 H / XpwjkisoL3VqQ=w}Q)))Qe S/ X w N A 3 8 *  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j \lt`V}jsxB...Vx|oV+ m s 0 > 1 X j s t H   n n Q _  T @ B 3 4 3 . ? A G o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C 4^b[cp|z^lg@T@m +7W h Q V k D $  C 1   Q W e k 1 w # Q Q e y n  2 A . l N E #   9 O  v +   E m j / 4 9 + +k 5]v:]k + o * /*19>8 *Q$y`y= \  v h e l  2 5 /   . 5 5 I Q E   . E M L ( + z | z x y [ F \ + i  B ] +l H  / C C  + +W v]v:b5I~k > +% N t p e p f X (   / V =yyyeQ= ` 7 i ;     6 \ n g ; K h f ] 6  > G ( s ;    , A P [ X H 7 (        . .   + + + + +R  C +% M H [ H H M + 0 N''pvNbv!  + +  S H / !  / ( 4 [ / C C C C /  ~ U [ 8 *      C +w +T +9 += +Q +v + + + + + + + + + + + + + + + + + +z +X += + nSqiOpfKm P +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5IIH]D + + +9 a 5  + +9 a t K J [ [ [ C  w t p e [ ` a d ^ _ ^ _ a   { m m +u +# + +  +, +9 +? +B +M +6 +/ +. +2 +J +\ +U +K +D +A + + + qk~=Oh} w ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]s7$Q~( R + + +t +_ +_ +_ + + + 9 M + < d  +  w ^ J : < A 5 ; E O ] b h h c e c U V T Q B > A C G ^ : + > N I O Q c b 7 N  L +  + + + b LMM1 7 C G Z [ v a b r ` 5 }b:l::Ij~ > T $ +G +Q +7 +3 +) +% +R +n + + J +$ 0mm K +  + + + + + + + 1 F P q t f k _ l J E K Z 3 5 9 .   + + + + + + + - O Q % + _ s  ~ ~ ' pmiEk   " ! #      ^:^v::b9AY$ t  + + + + +: + +Y +  I + +~ +e +f +s +z + + + + + F Q R b h l f M 9 6 5 .   " %  + + + + + + + + + + + + + +c +  + Q 6 A N P E L N ` ! qOnmLmnJ.X   yxwol`&9l':Nbi~,O E ] 5 +D zWfj] 3 + + + + +5 +C +T +] + + + & 5 C V U K &  +  + + + + + +n +T +\ + + + + + +z +n +s + + + +0 + u S [ c b [ e j w  tliNK8% ;]v:'bjlp0v  . & K 8 ; _ ]  mC  + + +4 +x + + + +  + + +{ +r +u + + + +h +6 +  +" +H + + + +o +Z +X +k +m +{ +u +g +5 +$ + + + +; +D +3 + +- +3 + +- + + l  ZQ Te?#pvl>| Y +}i Ef  +( +K +t + + +| +u +_ +, +  + + + +  +5 +z + + +r +m +n + +q + + + + + + +~ + + + + +u + + + + + +j +] +5 + +  + +  -!T >   Y;[,$ pvs1HP-('<E"FF"> g k + +* +& + + z  +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + +e +K +> += +L +V +S +@ +. +( +( +5 + ]C v h E " z4k:pv:bHPNhE ii E? j {  + + + u j  +] + + + + + + + + + + +  + - .   + + + + + + + + + + + + + + + + + + + + + + + +* ]W +>F u +9 + + z M 0 q1{<!pv:'b5+ - '   ' 6 = 0 ( $ 3 '}Z}. + + q # +a + + + + + + +  ! - 7 6 5 5 M < &  % (  +    + + + +        + K 4 + + + +R +A +' +$ + S * qJ@VygO*p::v! W  x R : . T ] f k g ` g o ]"//"]  + + + +! +" +! + + +  + + +  +6 +m + + H < 9 ! % / N l d U D @ B O 1   1 5 3 7 > 5 B C B D E C 4 5 H I W X j ~ | , + + + a M 8 + + + + + + +R + a /VlubAqpv:'vjW & +B +L +F + + + + + Q"t  t"Z 5 +@ +> +H +W +h +Y +[ +c +\ +\ +Y +Z +T +O +S +Z +b +c +B += +5 +& +. +: +V +t + + Y x } p ] R Z P D > z { w # 6 @ 8 " ' 8 5 %  t o T O _ a A +> + o/"/Npv:Nbv0 > + + +$ D 2 8 %  + + + + + + + + + xl6Eqf + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q O e ~ d _   ; W ( 4 " - 5 : ; b h O O N N A % 0 N Q  + +I 5ub:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)7 ) + +  3 K R c a a a b b _ g a a d s u w { m ] \ \ ` j y + : x l _ -    R     , ` U v w w q b c f | Q PQ l : <  # T b T 9 / / / ? l +  W'c1pv:'v + + +t [  a a M 9  z f ? + +  p + + + t p           +    0 l B ( C [ a C U ^ r 8 : A i [8`l&`&  ~  o + +k 7U]v'5  + +9 4 o / )) h A o o k c p m l [ ^ v k f _ [ J a q v z y N = : 0 / D k    +  W ( E h u N?[||c"G3 +jYD97E\qeeQ* C +> + D FfpvN5D  + + t H u z| j j C / / .  | |  A f x j O / t J Q ; J ` H B . v ) c *Ga}_4: A).tXucQYqQ~ H +D + + " ']v:Np D  + + +  , ~ ~ V C V V > o k d k a d = w f m  , 5 A | QekPss>b<MH.M9xaPMdeeQ C [ 9 + +f + Np:5] k R + +t H $DD3y u C /      u v s o v f  T 0    O q  0 d *e )rJd"lA;/iZ9"** C a  +f + Np::!]0 R + +J o &\S,  z ~ ) r ?j`  '   # . ? J p e 2O3'{v"J#xi _  ~ H M +z +  bpN5   + + >  6Sp=o o K [ N @ N Y Y J 6 ?/e "jW/ D ' _   , 8 G L @ W } *e LL;&j^_#.M? C [   z +  5b]v:NI0 + ]  qP} C m +  \ QQ*`ss* HW J \ w . 4 A I U V O Q j Qc$L9"'$nd `3* V H t M M % +2 + b]vNk + + K 'k!# r  v ' - d>sy#@pj  C h p [ W T ` [ s n =y8)L55;HfR?My V a + +R + + V']v']W + kggggF $=HW - ?}=5%snZqxa+ { 2  . y +j-$8r&:q|TI\;DG$ N +z + ( z*]bb]k  + + fz :h{ U " 2 g/AI+7GAUnJ q M s : 6 ^  g(cJ7%@a|}\(0yPi$e 4 t +   si"5bv!q 1 + + YYE#e X "XZ.}U9e  f 2 T ^:**==B[93GGmF frg"J* *j 4 a + 0 7 5bNI  + V~\ >V f) w Ay"wG . ` V / C j $__shyvo<@gXMn#\ uK~(g%'}lFbv / 9 f + Xz25b'v0  + + Cdh#> He y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 Cu5]bN5 + n:>eVo   { QsZA<LV!u Z7)p .n$rzs]m|Z-DdXQ~ [ +  N35N:0  +9 xMXU98R B  T e$}dr.;X& *Q,CL;90*O!:Xxp4AA s`g|;=[V>DY=O1.e~ : + k4 +5vN] + j  <c"LwUM8Q ~ / U # $ }  j *e3.j& N1Q ZlYRMICOc UU4 52G& :' pBA N f + m"Hb'v f + e7Dw+wG38= o h :   q j *eGUV r+vCTRcMBJ<53Q n Uif@P+%fu r' pB[Z$5 +  Kl45N:5 + `8ZKm< ` x C % 5 e + QbWiwtQ7+DDD9(%8sZ UxrT9oEpB + +k  _X1 +NNj0 > +a y iwr +Y^`7  e j   ? 5 V B )|,})Kcp7" $) #DsUhJC@ ..EEEXlXE1Ew  R + k  |1VNbk z + C $)DAL%y ~ + p : B R [ B 1 V >y}<=) TZ0W$8$E ip```}AA.K<U : t + +  .P +N' + 4j)+L7ZXu$ C O  / 4 nmAP$t;m7GpAi{srhfiU.''_}i  ! % R + ]a":'  C7sR@g + @  G  0 [ / (14BP%%D%R/ S/*}A.Rfzz+K}i V M z + 5\v:' +t ZK urZ  * d W u  [ .OL81 G5vY7*v +Znt/$iB)__)w}/  H t + 5&v' +  Z7= nsFe. J 6 @ ` K (P [?BaML8v!iU``8,{g6d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. ( A 1 < J W d K n|FF`[ Z"4P_G}dPGG p> &_rs3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 p > G Q O l = =.V%?f6 ij8rj}ti:&#%%8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ =  r l m } P j y8`sqH9 +M i)sOt($d4Ma9', LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T f J F /  $ j y888 -dKUP U}T#wAi{L;,H$LGn@ +A)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu W 4 r Q C 6 $ ' j y3VVD3 8w3UPrm|Yz!j#wUiS]~ UU}}U Z V o + Nv:p5  + + * i}4Zy* _   h ^ 5  S / j y3~<nT%JM~Q7A3H4*R j;Bwdqqq=3s  H M f +W Ivv:: T +! Z Zn3sQ I   k  \ | O 1  K V e"2*!.qe`r<v|mUG0yyj7jU<<}qqCnnZs  o + +'v::]K  + +X . L 3sL=  ` l h Z J V : Q*{IZ.F"" 7cn|EEW.2iiUUq3,'/GGG`  [ a  z + pv:5 +^ T W*y v A ? j U 8 @ u B!*V|%66.ch2G!X,'4="2ly a +D + :v5" +  H S Z d X  V Cyy=    $ p E Q Gz"LJAZC}nM-]UO9nWs_1s / [ t + +] NN':':NNNNNb]r { +k 7 D + S + +9 / C v   K t o ! + + + j ;SthgG$]s)43Z&DR_U50;9>^dR!3#[s8y ! u + " O'N'bbv!I +  j j B j + +  +z + C j C  v o {  T t {  i 2 R +j + +  +l +@ ++++`9iw_x&v<V-$n sFSNXn}\!+t2p8V  + +W ]N'vI  0 + i 0  ` + W 0  W + x \ c x 2 E C +  +7 + _ 9 " 9 f +, ! W yyee T|ZMLU<No}CO,,s$g4appLC + b:'v5  + + ++ +f + n " + +   +M W @ T i  L a ^ ? + B } E +L  =etV$_ssss_K_899X) ?>Yi}UU=?`Q~ + bN'I +M t o / Q   + + ]5] z +o  4 5 * G k 3 w  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R +L +  bN'  +M }  C ~ H +1 +  5] +9 + > z  R R  +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||N"u  + +W N:Nf + L>>eRe j H  R + D ]p +% t @ . l z W + > lH j +x /     / GAi}iAe===y$`;_,*v9 + ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a ] " T  + + * ' r +s 5 Gn  nnnZ%*= e3?5j[/RKke 4V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o x $$0  , + + J + + j L j  \ 8Ls9``s`*= V / j `j K1'EZGef #= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a o @]RIJI> + +' + l +  j W*R*yyC C V 1 Iu|mJav4fQ*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ WTs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \o%O '*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H (IpwUx p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\{^{HS= snU.ej M  !: 82V}$=  ~ t  + +M  ~ ZoR2_ W 3 o C  # 4 H H [  8 :pAUAz4ct6> }<w3 !:[  lh2V $$8 C ) t e@q}M3)Kn V / C { A 4 o o o [ [ [ o   C 2mI-Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  gSeej[D=O@K j g  ? w M +   + a 4 H [ [ [ [ $ F L R H ; U <%!r4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ @ QnCTWQiJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H ' U n u r c ] 'NvvV JERW6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C ! t }yn%GqlEBTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  I g w m b ==QiYJ |  a * j j y KP V  k ]':] +q8)wUG= C 2 ] o$KwgZntvX ~ / [ t % +z ++ + k W k  +R + + +M + [  > a i a O g $ !WN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  E Eyr*X_M<&P ~ / H a  ++ + W    0 D W  > + + +N  B l  : N H 9 B h ~ ~ t +JMkkZ57  + + q +  W _V 9 k 5b / 21c2)B.G*e C / d Dtl\gkpb7 *c~x[9 f  o t 9 +z + + k D     0 0 W   +f + + C | # _ u    !  B C C  e R\B F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j ~d@7;#   e & o 4 a % +z + + u D D D W k k + +k + + . H k . , C O o [ |  o3F+}j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* ${p? q m | r l m \ R I >  j 4 a 9 + +R +E +I + +  ++ +R +k + + +) + 5 X k > } z _ ? . ;$ B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQe|~T* W + 3 +  %  H  t M % + + + + + + + + + + + + + @ > ? J W n r j c d m k $ H H H ?  x `yG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiML&0Q ~ M o c G %    C 4 X  H H H 4 4 H H H  r t y  c ` o Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL)ftB= Q ~ 3 y i U b " [  C j   j & w X D A @ 9 : , 2 = H 4 4 w _ [ j Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s]\sz;e $ I   b H =*ssRy/ g g a Z W H ? [ 1 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n rjH j 0  + ( G | ~ V Z j R eLnUiG s+e= C  h : i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GU= ~ C L    / D w  8 1   / ^L% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  z   ' *7j1 wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V   $ K s H)rG.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ M8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN:::::::: IceWorld.SnowIceWorld.SnowIce IceWorld.IceIceWorld.SnowRockG*'(=BHn{zwnhnnJ1<}}?IN{T*5My~ebfdt~uq^QqxjZ[qʠhFytPJdŻȡ}uofdhxzjcno>,3LSIAX{xU(/9X|׽u]TRIFGMUqu|}qgZ>+:ORJRf|jQV\QVa}|zwngnxpanpq~xUBSl|ij~X(Hgo]M[|ss}ui\`q؄:I~oQ>=LjyzyhSJLSUU_gt~uYPQQ?*6Yd[Vgs(3VxӸkSE;1=KJK^ǫļvkosm_WQF,&,5D`zv~~}zvvvqpvyuxphne<(UvĴ}S'(Hh~{ulcflq|RS~eK3&+@QUTXQ+8AJYcitwzrhcY;+>HJXk-E`ʱeM?2,?arxs{˱̾{zrfP5,+'*/,8i|phikpst|wiv|xh;HrqB9VewĤ{vrmjdajt^|ȸpO5(/CORK8,:GWadijou|ũ{zwkb\G')89Gh(9J~ªkP@66KqĴì}r`I.(,5uykd^YVZepz{gt]-Mpʴ^1-JYkѸ~yvskefxئzR=M|{c>/EV^[K(6GV^abcjpv}uzrrrg[TF,(af'3g־wT@;?Qqøys\F:2(.1)G`whgjaVTQQcvqxs>3e}ʟ^-*AThyľ~tkm|;)(2HXdwxcCW{ývO.,2+;>?>8(62AS{pQN[hz^.+Nyľ5(6Laqѽx|}ldxD1@LSdsy~yhI7CUhrgI,;LR[cddfhhwxrrqdO8)Y^S1ER}ƪlS?.-Jp˸e./*)4KVdppE070Fe{PLizT53>Tp}|tqsfh9&8L^lջren||qm{}m^e5NY\hs|rfapyS/)?LUcnqpoquvpmk^H3+*4`y}rL)/NXkŽfI5.;^w¬|;/;;8Lkr4)('KzZSrjO;69BXgic^`cUUrY8KV+4ETgвqmj_]a^QIQX[`zp5JUer~¾xs{O'+?MZjuz{{{~sicbWE67@=Roz[LFK@3:FKFYz_A08Uu}ooʣlJ/'7JC0@wq/.?^f`VT\e[Yq~iTU|qXY<-9FYrubammYIDA>`nqv{¥wqi_O>1-)9P7Uz`=>ucJ>?90*)'QjMBANT\nofbd}ɶv{zhUG80:Ob_NCBABIYnvribfd{ԿrUDDB>?BHSbtŸ~g`uiOOdt}>iΩo)Ts}jy;p\H7,16*7UdfYhjYM7**-&Cqȳywus{}|xub]yYGb~b_d[H?1Eszqj]PTX]ntreXlǫzlmgP>1)EZa[G:4/0@b{~wnxǭzmcPEDAGWi{m[okt}=&DxǷn.:t~~~v[cǶqUC5/&(:Khqjluvj_B14=;6;Xuz~oOFo{xk|jR7,&Gi}xpi^hwsaKZsq`<*(W~xY@3)+Dr|ʿqUF@MdvuugWmĸlO(.EfȺj>.LPV]hppou|~|zvlw\:)0@KNICBZzyno|tpgX@')CPPRWfgUTsx\I4(&,;g}yzkgvɕD).H]D31Cg~ȗ^GJLUYPBFcɾejuf[bwfC--,4?JVepibi|}»ך[=-)4FXaa]IOq{o^\huykk]E32I`icVNSi|~siqoM*)Fxwjm|8@R}jWFBQmΖQ;?ETZO==Z}̹dPlrXMT^uuS@=GG7C]ejori^cyȺǡsI0*3Hcx|jezyogWQYagWc]E7@Ylrl_PHNZfppkov{}ʹқqN1Z|gcq}k7\ffdXS]pدr=7DKVWJ?D[{aSY~tC1HelS61?fgOJMRO<)d{vuwtlfkz׾wC>iug_]NIMLME`gUFGWjtum^NHJU_\]hmjhidn|½̏qU).Ck˪v[T^i|wz]@Tcskejxd=;GNOI<>L]yhG6Mu̡pazuE&>fe?2Gs{xrdd`ZUE';~|yzvrvy}Zb][50dri[YMHH?9Jgp`OHTguzvk\SNQPOXimaURIVOzssњ{`6(16Ek^:/Uf{|wxugF1/7;:7?M\szcHDd{sQLe|^50DpnXYjwzoky{zse[K9(Jyvzxuyyygnbb;0.&Ktyl|ɲwmXHB:9TnteUNXht{{ti`SE>@O_dZIB:MdeҞt`btέoC4?AGgYHbfjqo_Vft-N]p|ŊmX;63-2;DO_p|hXb{uwnoqO@CWj|}vmcYbxn_almcai~jUA88/5^ohmonoorx{}n\`Z1)44+&2UwԴrQ;4=SjocUP[fouwundN??>96=C;5=`ө|xy˱qNFTVVh~͘RJ_bhpoZIWzC(F^m~h--*.59GMTcpmcs}qjfYjxLIO]m|x8.P]WZd`Y\asjH03DILg~l[[b_WVcjbW^vqL*&,C~̶f@0-;SYYmnULND79LVL<9UquD+'.(,bc?@\d\PF@BJUXTOOT[eleF/CaѪmkhlokhj_HL]fzŷsY]|xg`hb>&(;G\xz{pž}[>3..94551?NYgo}vhgxugYH=COdzod|D/JfscQXjEZ`}R98J[awnZI/37.(&8qcOC@`κsWNjl[KD@AFQ8Qgwy{tJB]sifj˷jvcvorư~vod6(*-L_rͼ}v{quWP^hn_NX_[PYlvuz~~vabmzukc^PEB+&2IXclxmddskH4'*957PMAg|Z;01Jo|kkykYXOX_bkqT.-'',A[dîbkWE4)q­}kuvbuyiVMHILW-pzV.+Kevuu{awɿ~ra3Sn~ѷĶ}v}zrms{{||YFRZWh~\>((/GWetxpihv]-4B6;3+2=WkontiXSCYIStƽ{qtsuŲd<+5:3+06Q@]{̹lv`H|(9||xewzuzre]XY[aB.IobO:4Jeu~uxzks{b'>Xlõ̸tvu{zyD@:4of168Z_\WG[bQFY{hN1&.9BO`}zvrk-Jb*.*Ihtseeuļ̼{ãwO<=?>8.,KXYɸk~d?.,Jwlmt|~pͩ~z{tolkq{villrUJDC>>Pab|d:=Rhɶ{aB(3Lt§}}tstfgID=och2z`X`L_i[EHfrsw{Y;-8Aq׼cfvqT3-amxkch¸f~|oӟk}gjylP}{vdvT8)'&D`ʽe98?Qx{yWQuƫytm_PB<2(:Dlikplwѯsdc^NFQQFZcMnʼصsL^|wO,?i;nUM7+,':vYV^c[PNֻzE9-8Fi̺ʆia¨x`]vJUxx|[NW-'Q-Ico}ZUMf)()j~ɶ20isfQ5(->UrȰtc8-/(*1/2Q`r;0*5gF.5l@CEtqd`v{OCJ^F_jktаu]E4;Df÷|İx_3>ѳxYN->LCǬGGH~lX]}vzfrkt@++,EWδ,)4?DBU|ȼqURI;5Ewʬa@x5/mH6/@mQ.4B־lhx|h'&1û?6;CEʵ*OxpA,9`ŝcGLWszM@5.c_Q.6=0-DPM9qʹlogeMY\{p\2+2PNOgƸq/38;:2;WűvX2;V̡zi1T{ў^:+?lyU+/@>DѳnfsvokfWC3Wu}xLIOLq]D10i;ϵ|dTTmmSLW_bcA>()FM^bW]x76)HC/'2GUJWƲ}SLcsúU=Y|]KKd|uJ(RfxlJ9Nfjhk~x|mrphd]T?(6uQKHVįA)DYcmy£ѫnB4Eq{KNMD|dD(&2pjrulWLRXZpǴɤaPIEszp]RPPP49,/WZo}qX^vN@+2H[fju~q}{aRkĵËN74h~c?7?S_[6.Mn`Le~sh[pwlbUI74c{ZXOG̷ȮU.&)'ANY_gUChη¥iO4;TjuonIH>hm|~oM&Ouogikar|fQP׮k``Xrv}rd`VG+8/,&jq|H<3Xurue>3?ezuve:dʿoaI6(DOM*/d~g\nwL:3[s\N='-ILYQȬ<*>KMQU-CXhheŽɪoP?0:2ejhX9LKCD\bNYթe\]Spt}l;)39/(2<<8AAL~? ?~}OSF&Cפ~rr~\[G6Y25Y|hWUUK?Uvh\[\n@)-cˏ`M51AWRIǸo_H0&DJGJNCBiǢrS5.-56./3(23);7/+(4FG>:@EGcqe[yzxH26841{ƹ*I?DMmr3 3rySWR57~e?33?8VH:6U*)Hn}sn_6,.ry^Y\^_[/*xǻ`JA(4OGKP[UYVMYtigdWlZSE5;Je³eh`c?'/'3TJ3EPROKO`֦t{vhvJ0,.8?IƵ&'ePELȽ~? ?~}tuwT\je?3 ?~^PK4\im\J64>hhngZYXFSuY59yMMLO]ZOĮowcv_K/&?fոwPVQz^=.@/Zy&+=UbddppVTnwmxrhZP^zIIL@@T`ajR,GT_P?>oˤe?3?e{votxSWl~? 3rc\IA4Qé~ZQ4<_~lPGH=G^htnoH4lRRMPUROWKO˵e||etdJ0:W{|^ILAlX>39ETbq^(2d]W{xI6F]ls{ӝRTc{zre^psCBHECLUI-HOabYPmvya[my|KG\r2 ?rr~`^QEBFUqҴo^K4G8-3{^C?A8CX\ctn+wT5'&+:=G^uetwko^J.(>@@SyȢR\i]P=-.YY(-;A@75okkTdr}ӿʚhqhovmsiV`g96CQURUZUG:0mmrrrr{wjgutT16c}F;K~? 333>eşs~v[LOSS1vf;5AIOGO]]?K[Pbv}h__``ksz4N\_WSXnlinctӺiedxefh`g~Q/.K[uxpl\ZVIFe>333?eu]`cn~yS6?s^Yd`iYerT]Ie?3  ?~˦t_ft}X6D62Wdh_^c^:>LAI[|3<`hca]pK7+,=BDJYqέx]hpqicVO*4+qͯYA^iboyҶaaXUyp`^^Yc{N)H>0LcaXD<~> >yqSC?23?<JmW_ne?3333"33 +1 3q¼ѰwF4mMAWuuqiecW229.:MvxNe|v}{yz{wϓM<8)/<@DHP\q{]V_S{}wxxna102kk{ͳtl}ust\ȰXSPSywl_OI[u{@5H^_S?6r3 3r]?3 =gbny?  6~ػȐ^x¥~lggJJ@721(=NfSOAw~|zukb\^jjfʨȫnRI=5Dhpjw~~~~2  4]&  9}r3  9ԴëoTXcMLD?<7.@GThmp{kGXztcUIL\ugrƊ_L@ET_WD301&?[:2,D^bbkngbm~Ϫ}ouw}w}yS;+>JxznbWY_ZOHQxұ_=85CXTGRhmkhp,  8*&]J Bǥ˺պcIQZA?:<<8-:4:NV]jwgZMKK;GJfPAAKRUVL9bI>/H\]Ybolgtչ¤ogmy}zqtG.3Aloilm]Q;!`t~[1 )-sO=GSTXainnfbn|}||vZ:(!"!$5e}ͿVD0.P|sguwB;6.'(MC./EQ39LHK9.G_nw|}ZHs̩tYB>@6/+(H[L/-8IeǻwjhhegslODY-76f]XA++',=^ttpwDLQkT>576>S\\dm{gYH9OBm~C ^I*+9Pfuz{{{~a@2Fi2  +(XwеYFqs`V`tf3N/&.QmdF86BaȾunmjejӋǽihnaLoyY7(0:@SquhhpxUJkzfVC:;59NPIQZjmvpttjJ.4Lsu>9WGIUg|p}wlkX`m=467/# 3GVrrrr~ʰy^&\xvqzf6)8dbE35Qtxwvqim`B<@J`yr_SU[ozr|mb6008>MMFEEOk~vefzZ?FXl~nB)asnnvwxjacĿztaG*$% 1&$*333?eyxw~{}vG0a|˔NAQ[g{\7-<_}[\H;3_˾̹_*QIWrw_MOVct}z`z|tpF4)@P\]YK:=[{nSSbp\]gip~Q'i{yzz~}gcǽre[1CA+ +  2Uxv{xyzsquwkU0/:;FazdЖZNVfwsO>D]~|YF;72_˶v2,/AUiqlZajpzsSg~Tp{~{|^@)F_lmfM22MrwWHL~}Y(a3,--((6uhaϺ|TFDB105,-&'$ +Esrq{~qr||{o:&2HIKWlsɄ]Tg||nkxxyzlG-+00Tʽy'--;WnxlyvZQWapOn\KPf|eNEZtxkN1)9l|MCI"\0,01*mtejІL+"#*+*'Bjiozws}g>APICQxu_Iax|nnmF?8LJQ*,?yz`\pmmֽuj*@AQqȾt}uXFG[f}IHdr]MY~{^@,*Juy_18Sɯp- 0//671{wu|ʱh2 +*   +'+J~sik{|YU_ZRewc^yúvpKFYMDB6Gc]YO?9=DWu}[&@bf¹thpo]biO6&3JNISYJ0-*(.>ʸH +/e-Daөqo~~?   +896*">|umgn}}xxynb^lɉXMTWȹ{~P7&+7=>03Dd?:PmVSQ0BKoASmƶ}Z=+)s|uriujQ>00RI"  _;7Pvrine?33?  (2Oxj_PB2^|eNo|rf]jc^Vϱ`NPeU>,16-/Lr20c`GJQ4^5BLV}c:Cתxvzhhu}qP9,/7>Zhovpk=! -0ʰpnx~rre/! -Ibyvh[67W{VLj~qacs|[Ke1)GO:*-27]xj7&]bFGPTQNAVDILd}`9-)?nZ]jpkH0&(-HXdmh|ͤg; .ȸ{mJ@@-29->D@AHZg[kmabS81&,7ED@A9Zx`}vm]TVaq|qXnb)&TY<GO8&,3Cc_@/PպiJDJQW[M`MRVoeG.2;F>0д{cQGRXZfoaH14I[e`srq>(κmcgnltI<523[vuprvylq{[SV\ZG=>H\ynfxlh[sogTyыK)i@-&->B_gUC?47Z`PQtԻiF:'B^e`kw}qJ711=Odu~̽x~{bFIxɮ`=18MML]rqbSJH?*),)..;LB42?JQZ\DMɦ~eSGFNdմt|p`J: 33?ef*.\ZVrz^Wiswphbfr{y_KFPuƹoG//;CA7OϵyeVC5001),>aǷh`mqb`fqzUIDHfzɬuY`iw~sU)GɽþzkK ,7(DTfsj[Ze\+( ?e\-0LMUrhi~~nggo~lI;GsȸfH:-1;BbkO43Xʮ|nunknqsTI,)ZżijdURf~xiY?s˷ǹzwv}vriO-DkriWTYK' 3 ?~\1)6FK_xoXc{dafp}hE/5eåi[YL60.'.ARnqO7:dҺnifetpTQPdνkTUtwZB24lǬypmlmn|qqhJ+OugTRUL7<3 3? 3ef=:QcgzrdO?KjvcKKXespX<Jş|zv^GDG@?L^qķoK;1)Jrȿzhc\X`mrcZhmbU]tƿpqvQ8,:Q|{nbXUY]buwX+ Ds}saOMOK?E3 3 ?enpp|^>Hml[M?9FZ]D,1DWk|]E.4zδq_\]XW[bqļrF0-+@Ztμ~spdWRUWD6BSRKZxtmjƵhA/+Esi[PDCKQao}n> >l~ogf^ROTQC@3 ?HB>Og|u]50[{tjgmYC:DY`R0:Oj|WA1=ز{tpuyuéJCdlr|Ϳq_MGF/)94-EmupgʶcKC2)2MovlaVLCGUTNPOQc~L +@knVQ`a\]ebQD> 310?D:0TK1.;C24Oh||ndacc_ZZgcA( +)".T_LEXhgdefbdpe?3 ?33Nyvp\PXjn[=5Ynw|y̒wlhqѬv2VԻŵÿrG/)Qeg~׺ynq`LJB8Rcccfihd_apjD#%+ +;I75>Ykv{mz~rS:;BEB?06>304>ONVIBNTMGLKA8.@¦qbVTd׾>Mʵ¿ųoL*5kyrgó̔yy_MF28_one^XS`nO* .:DI@4?C. #6?OctwſxQLY]VQRD/&-/7KY_sRFL@D:7>B>=FG;03Wvשuh`\buȿW)Lrhchrǽ~{W(=bΥ}seB5fɴzCLoeMHA;03\qj\_a_op>(2:TLE\dB #,*(,Bax°c_r{ojoa@867@BCSgq}D^i[SC=<:8=KRH,:Ozyre`\\eô>'Nep`I?EMYowyP5/Tj\Zdec~n_k{u66M_kk\NA68EOND9G_ͼ|}ubWUSTXZ]bDž_B*:B?Psչuhdjİa4LQZ[PIFEJLB34=:-7Tjwvgh~r~~tfX>%   +8|rceqss}iljprrr~ys~~r~pcxt6+EcnjXD67>82=RtŶʇxug_XQRbfuiqB;24:6a}u~Ǻmhnå}`6(9I]`RB96;AB<=@9,-Wse?2?eywr[VV=#Tr~vy|e?3?eorīz;?bt~w]H ?qm]VL=PkK #?3?e~zy}~? ?~±{qu{wΈ?3gx^?4X˶{xxl\Y]beunpŘnTH29[kotkLOFGXakturj\UjtPD?Tϫ|z~f>5?JNG7(6KSPB7<@G\wr3 3IVTK=1;YD + ?~}twwsswvrqss{r3 3rs_OQv8Cl|}seI'8~ʼudXYh|aRKVeeonŸtO>,&2Oo~Z6,EYaXI<-=k~O>?6DɹfMH?87.,=MLD8:N`p~~> ?\v}sX7  ") 3r|wmbzpomikqrorxw{~? >~~Y@/0\4Naf[@fxX9.AZvԭʣo]XJRZT_{~x\E)5A\~ʼr0=I<*&?YxuQ=8/6ǵtX*7Ibw|ze>3??3?d`+ #"?~~{}rjrkhfkruv{e?3>eZ;''Jr|JmqkW4IqørH2KY\]cxɾѡyzzeXLAKg^sʮeJbţn>&2*9[lE,ežƸj,BVl}vq~r? ?jO3>euoVFIcunrKl}ohhnty}}~r~zw~}fE108Ojty>581K)&3D\+G]wT=2,Nƾ5-Pcs~ur3 3`[, /5ETfksa./KNDF7%",,-2tzz}ylb`nfK88.4Tjt:FaB,0T6@B|PL^euLSN(5?33?J/ Hy|yw|{I +3y|e?3/.,isyrr~yl^PVjiVE?13Nk~ïzb\u:JZ]RZWI45FKD4+LgzͿrgUD3)Mla,B,0HNJJ@3_qmhx~f4/lsem~v~c>&372BZcgnIonjoǺФe[[?S4 )dzqwp@'9ze> )"`e?33?ewjYKRlvaHH_xOV͖{Q7;',BWjkaZSKFkj,E-2cuL)YvWbYG=m{w}|g<Nvwo|ūb`>9*:1<\qy6=Din]^a㤚[ 3V5$ .Grwihf>3cy? 3e?33> 6WyaVkvtaLuƒ{H*/F-.+7=GVglcTOKXuwcWWY[_kȡ<0HG=)6\qT0,H`}m^}z~f@4UӾMF&--2F`oyqkjzTLG;:(?O,/89>I^k}l]YcB@EefC(,DkЦ}}to:-:&&Netro~I5+x̍>ebD21:EKQ`sveWX_Q("6TitvhZ? >3 !9ͿrmC5c_X}{|N+(,1>SfL&/4;>8,*26,)6BQov}U>I^hgki]VbmnlsHRTklK81EXӱ]V.RoɻKA4k~rdP',:EH_~qfmo\":`dc[V[?33?d3  ?ey;<>cɺt{vlkA=mesowcH34FYdn2?<+'-3@Swɶ_JXq}}|oeevyrytQI^]ZgoWH58QezֶuL.&.+t[(5(0׿ri`;'/=C_Q-Qca\Ybmrr~r? ??3?aTb}IJ\ŻnLSxvx}V9}hpo{iWH8-2CQXU=*<@0*1*/:EXjkh|`Q^w|vmklxslntwWH9H`PTl~ϷtN65j_YQ=Jν\[[)ֻzh[@.))&'2Gh@+Mdb^^lye?3??3?exine?3$DgaĦ|Z=()9PeqpZ<M~y~vr^SH=EUYN@G;'>D6.29507=ETDWZUyjYNZq}wmhknt{qmkjgeQD]|mpѼyP;BHtZ+9εv_[[˲jU@0,+(&>iw>*I\WNNPRo? ?e~rr~~? ?UKsX;&HSE?E<2?nqi`VJMWQ<-5*/KQB;=BC?=;=@&KɯIGBqgVMWm}xi__cgsmlhb_CZWtͼv;BKLxY&trWQҸfSG5)+`]1"+GB=@@HeQD8eĬuj^O>7?E.DNL\bcggldN@26_ǭHLdQMMHNP=&8MfpXROOVjh~}u=GPRaKQQblppUK]¯mxvX4&1ptND?79O]c]Q[x}oB5@^ȺmUD:?MZ)01+/DYLOKenx}bF3)xʹBGLiVK<-8K=*1Tst\UNGNo~muqykp~ztzoQM>b(4z{Ya-2*-/i[[ͷ}fG..-6b}YXU_0Gve? ?e?3?I|gpjkona>-=FERM&'Hfzwhk|k?6)\ĽoSC;@K*2:AK]niT[jxePT³_HB4(*,9\j}aNMD09U{xfTJ.3_ucVORxzuxjIDlB<;07iwo{C;rs+vxx[[7ҽxS8(+1./@sv_^U95UyxxzwsujEZ|fLa˿}qagx{v}gdjwúb9+VvaWRFIv|zyxtu{mnxü}_IF<.Oxw:=W`o}? 3?e~aahtprtoko֘~td^ekou}fbkyntO'U~_CUcpiqtr|rceivѾjACWiri^S?Drv~}gZaVW~jP8*2Cl}R?QXmr3 ?~`7#/E[srronvydftU50,-IYp}kte'noM0:Ut|yúyw|vwNJ˽ɿïn_}cSsraTDVǮpNIK('4@b~? >P!  3t(2?eʫryLQQz81?E^y}urjSVvy:(F}ũhabS@Lvzof]_z}|vvzzw`]tŵfcumBGcuU@@Mo}]7,*JL/4[[>`{rr~9 ;?333?G5 &G5>e~p`ZZTftT{c8&13BYoob\bcfnt}e97]uZVjpiipwqh_b|]]i\YT\lv]SmU.7VǶ|b]c}\Vp{PD>2'EtȸuX.-qh[6)=?33?errr~ʢQ%".He2?  /(8}e8 ,8Q~rrrrr~zeK;'6LaniWQj`Hfs]l|ymahg`[lU?phLFHK[mwoXMYU8=lhIVgæj\[[cb`?3?YQQUaH( (XʲoP+FlI1-? 3333?erU3VY(  %YX `Z`p> @prrre?33333??32,7IdyxiejxhernaJX`bcxԍG4943.'+;Pft^WMHQ?Ly}z~rrr~ʤ~rrrrwc[R?   -=D# PԽYA))E~rrrrrr~~rr~O663 + &55 +!0 *((''' +  0?Kky~{neSEIT\adtϯhE54G[kiWQYTKVhnq}{e?333?errrrrrrrrre?3333?e>33 + + +Vʾ~?81.@e?333333?e?33?L<41 .rw?  + + +>0-46F[ey|q{кpQBTUTRWgvQ0*)BNWeibZO>4;=0)Bhjgfht? 333333333333 + +* &5( (>`~|_YZc]<9=1+2333 ?(55(59)*KU  3??IL\nuk^htvûtsiTh]RLVkþ}JKWKGUZ]ef_ZJ.&CPZ^^r3 + BO]n[ ' 8TO(1<2  + +[xG+   1xlq/  +  ?9F[ao|}vk_XZ^d{yg`g|t}iZUbzIOxh`YZ_`diZ4?\cfgce? J60<][  -  Q[_5 +(-;(  +  3?95Idk~qikkhfkxw`YVc~İ~sudboq[[n~rfcdahpd@,7kupi?  [:(< >u(  + 82/1 +    + 3G==Umrvz}{i]ZPY|Ӷpo¶xa\aV7',09\uj3  333  (m453 3m5 + #  + +       +AWlrpdYBRXlvi3  033 5g16? ?}((A/   +  $  + !',, (DI8-$ ?C7?Sdmx~lS7,8K{οiUXO=;Va`m~xob?  (3[?3?e[5_Q<3  +4(*/  + + + +80+ *UwTEB9 +9?>K_kpw~}{N3196YѰzu[WNKVfgfo{vl\R> ' [w [r~[5   5y? + *CG> +  0 + 3>MQXX>.Gyt? 5@Mc~z{̼V?>BDpĵ|bJFRdkknv~q`U_> +2B[e + +15=a( +2 + +(b;+%"45Z`pZ3 M?3 + +   23?e~zhS= Gq@  *:\( 40Wep[Z`pr3 [sbor> + +?~{b6 AznX?3  + 33  (drr~iI/ +7^oA(%;FBCbūponeeǩŭÖsF.6K[er~>   +(Vx> + +(& (Ac[Zʻ~> [e?333?eI (nql^KE>  2 33?ee?3333 + + + +5cnvpJ(8EQmd@+! ';VTHT{zy}{qrƯξԭl7,^r3  '$5(  +jնe?331 (?v~rrr~p(  (Ylmoi`ZfeI88IciT>3?er}~qrre?33333333?epj^YorC9\v{B(*-,2>\`RM_}quȿϷ³nD>Nbjnt~~rr~zR*,]uwy}? 2(''# ->TQ?5% @вaVK>=333Agũc5((5c]iqrrpny{~r~{~rrrrrrrrr_XTKOrP+4Jdz]&16DP]dhjqutx|dPC.+Nzrvy`bqYWRQ\koggpvodi}ssxmuvSCzaKKbqoou|}weSKLbзtcd`\]adlyjYQD715435Rsy{e?3?? >~wqbM6/=JLDCIKB.+? ?750([]ig}tvkPEJTX\cqv^`UCPؿy`Vek]QNC35>IMRZ[hmbJ?T{zkqvZv|YSgpopy~o]VYh˺yrtfZ`hkqoiT<0&9E?2>U[f~? 3 3p\MKK=;FLH>78=A<?Xmidm}|vtqz~r~v]PVaegktzbRJOhwóн˵y|pO:80:NMIQWhiI(*TzmkbB,rwwxyzvtgkĴ~ggovtaX>0TV81=G[~r~~r~r3 3 8J3')4CJRYYTE44DUb3 36,(('7IQZlzzttue?3?ek^[]]__JMfj7(]Ī˸|zmB5-CZYVYWekM,-McɴreFrġzv½}u|ui_A(R^>+/8Re?3?ee?3?e~? ??3>@ +#<`ipmeUDMbjp? 61[̍5*9=C]w}{|? ?vh]TN;;BDG<=u˧ŸƾԷwyxB+(.NedaZKL\QAKLDs˴ɶuc93ѻPið}}{qT,8F<5:;I? ?~~? ?~e?3?d~rj 5b~xg]avue]>33?K[*?3?;Zyr3 3robTI +(5( (_wdr²Ƥxxmx~i:-9>ScdaQ/3 2Hm~r~~? ?}rh\<[[X̯vUE=Jjͮ~eZ\\M/&=SRYa^V<Gu{ͽÿиf;+^yϷoz|vmX47Q[`VM? ?~~? ?~ʤe?3!  :ng _~WBEPW\b̍[Y3 3Fme?3?ee?3?e~rg[6[[&MƠW-4N\hķtu}y[NYT:&.IfnmkdO(Cѱùα`3(;Uq̡raG>^^^_fe?3?ee?3?e~? F|; =ey_OILRc,Cb> ?Tw? 33?e~vk`C((&9_ŒrtpN1@Zάojpo\_uoPAUlymR,)-3`rIMИİ}Z3'4Qu{zļ˹ǵtZ5.MS\o~~r~~r~r3   +^q. +>~qWWn[?Vie?3?P^r3 >er}~xh*5̍5&AnΒokkP))dջ~rv{w}||t]D@NW[sgjr__yƿ^=4401GdVJTixxɚxV1[[BnzZ6,&:Vfksy}_cҦqiwwNes~źY?;5&+gtbp˼z{o]ZW:);[ɢmC9729^tijtzs\KB83s}r~rjQ.&^(  &[~ͤe?3?e~re?33?ere?3 >~f5(5(7g}UA@JZca]_^XWnv-[đv_PUyjz»u|»wZF,3]s}|}kA2TƹUWheWON?1:NrthhqxrrvshRC9+Eye?3?eR0#1Yc5(5c̤~rsxe?3? ?~~> 3nwmdM5/BejPOTWSMIOUNFTp{ɵg+PʯjWIH\p{ȸz\B86Nf~{wwwuv|uDTQ*.HLA<@DCHPgˬƱxvxwpfUKD74V~? ?~|b[N@?MH[~r~Ƽ~?  3r}xe?333 BHYghWdkTB737:DQPJWrxsr}ūW-9~oZMNTSRaλϹ}VEB-&EZllswyyleqyLUbI.)2/+.5=AFL_вƬrnttnfXMD6*Cn3 3epfYMNW`zǛzq3 ?rvov~rr3 .HppidO=Eh~qQ7+*,+1DWcwthpç]:\mVOOFICPʶֽxYRUA'Cbozyrlo^`qU5GC<6-'08?EL\׳j`dddf]OF6'(=?3 3Ryz_NDHOSdyΟtl3 ??3?emftr3 1XwS24R`U<+'(0Z{~yux|{bS=1Nk{|qgmhdp{q[FHETSdsĮӽva_bP8/)*59=J_sx}~iesf>./,58+-;GQ[jʹ—zx`Z\X^he[UF41/3 ?TmwZ?4530@Vbpʮwx? 33?? ?\FLi? +9BtA)@MK@)*[|ux`blZID4@_aPEPUYiscJ9CWgƼ{||z{nafog[XRJQ]abhqxy|{zU/,?O]ho|̡нYIPfxkYX\Z^krrfM:78? 3?e`j}tH&FXavkQNdǾ|e>3?err3 30+Jse?31:DGarA+.ALLHA)7c|ja^M?:*'=<&0CS[N>4DkԾmhmkhfelv~pe^l~zqdfv|zxwwzv~}k80@Qakkk}B27J\YNLPQVgz|aC979? 3rrq{bAR^miJ1(=/(/Hqlvr|r3 Uz~~rV?Ro~VMQRJ=::2Cn~{w_H>>,).9=845K}iZRB?KSRPWbgpoosygfoywrtnhtx{pnr{}{~T(9GVhpkcg{ſ[E87AB8489@WojI369<  ?~w{K=EDYnJ / /_jZi}r3 2\ux|zaHRixɬ}leS:)4,)JxwkvdMLSA*+&*3/2778=E]ΕO2,&+;@ET\Y[Z[_mcypmgsz{}jadn}~xuwq.(;L[jtvka`ivȪhD.//&+@WS@7?D3 3?ezzH(-EbXGVY/ (Cs^grryr3 3Gaquyv_FL`mȿlS7(H^JZmguaS\eW<.<:9AMF808FLLKPY^sc2-1:QZTQQORmŤ{t~vi[dv|wlmv,,L_huxkb^_erպ_>98+(6::CJNW? >~}x@:^_lrdD' (55(/?n^^`bjw{? ?_o{|iOO]gkRC(/jlow}{mgqvkXC-IXVSQRK@>HSZ]fiioͦc7.M_XLD76Uâuxzqctmhp{75.Apunie_^ekz˸yofXD-(D]^de?3?e}|04wO([[=={YLLT_hoqc?33?elzfhntwadP18RSMhҲwuwnaWJ?Cb{X>__:;gz~tw|dULY`VI[̍5ka-+JmXSvuw̮ʸ|{j_^bee^WW[_\f¬{hE/'('?SWC8NĹtry©bRUUMHLNB:S{пּ}trke_VKOlxG+jPDm~ocba]aoQ@."&eiC([mz^6'/2GvXKmknvpwĿįؾsL:Q`twrpkeY`u³zsvs_OPOE,-=4.NեӽʧjOLTOA438=V~κ˽xtqomfZ\wӮq-_ͻXl`1% # +~Ph~M!5tt`[Wiʺ{nifdV@Kpƹ̽IIYfisO33Ed}~zrkmlccijZ<&(>2(EкӺuL>JUOB74ԺD G5ZCCH2#[ͽ̳qrpbQ<Cmʼϸ}wiE4[wkhiY?/gbpЩ|x~źI)/HS[ejkrtrdYWeɹ6,U@e:.[}˩~\U\_U?)S~˾xugA:l~ia\H*fʜ}v}tmlqpɻq;(;Y]ar}|~״vTUTFF]xƾ+$rA,H]28;[]ňS:9BLO<AbηzryuP.S{l\QB)7n¤~|tlwrga_^Yb¹zwd7*BdhjĮc9:A79_~|ipƙ{ótnz{S0Mh|jYRM:2_ɴV=PWPORRJNjsg^R<1:P`oͶie_>1^{³vdbXZͩ8/dlѸh==3+136>AJdmM;//5+1\|~k\kjdptqţ{d_jd;.86K`xm`XUJ:7Qx|hhuyV>JRQ[t`J?75cuejy_DDSbbbnspȫvgnvgIEG>/&;W]F-1BLf||s`YUPSf~iRbld{ȯu{oZKB>9@UpwoeeU1;tѩsA,7a}}xxwz}e !KwpjZNShohi|Ƞw[PBYoo|f8+CTUX`ju{mXQcɽZHL_o~Y61/.4CYl}}rd_[\||mabcgufER^hũ}ϼ|aMA9>N^ig_cY7/r’oT(5Qlwrw{}mjr'?~ѥ}sphhqͲfQ;'0Ŀxhuv[-2BEKQRT[UG?Nsí`HCQ_lxǼa>2',:Pgwpqru~J+.jɟ{fwľشlRDISPWXKJI1'\\>*6EUi}uxh[eUKcr+ 3rǟ}oms~}ȩzY?)(3M¿oXgqgA*3=AAITN9'0VzcWWZbgjwŗlF(C_ĺ}zyxzo1)oDZxiaWlvfrt^ZR<==(Hn|СtJ(*':DJUlȼ}WL^XLZr2 +?~˛yliosjw}r}fJ0/LvgnslZ<&&16;JZQ1.Up}tb^qs^afaed\cɕxOTƲ}rj~zlULIX^QW׶rT43KXv^14EJJPfʽxmkjgU?F`[MQ]?'/eʐmdfmznbdoliunK42Lv~sy{lYNJ?0*+49@P_Z@Abu{ym]IFUor_W[]ZaaXU}vQ̴zxscLCNDDHRbsزN1DIb~˾Y32DMLEBQo[]cT/0HC;;<=?,#-@YZjWDAIaȋg]cimvxpheg`SWbm}j@DjcWdt|gOBBDC@?EIO[c`SB0-C_tywi[@3:NSMHGOXejoqveJ'2Ǫ{epzsn^^<,5H\kXC\]f|@2AF<*_pdgfC41-.,3J]ifekǜ{hjjfimjpxlG649?NkiL'YyQJ]ny~|lU7%!2=IdzͺwZMNON`mU1"3RnT?+SnC=WumB%!'.2-,(,HP[bkZ+0ĵpmkY=**B_i]NJQg}pI88I?*;pxcRE4)?FHMfc6=hM&:lgPQT7@W_Z[nrWUnztRGiymjuupq˷sI1Gmv̨pJ6DYj{h\elpzT1MW`gmpxlA*;ؿ|fXN=1/,-.=LNNXizc(  + Br}spk`J4,DQMVpT/?pP& :psZ^a;*H[fo{xr_NOj|{ȝm:)?V_l{zgVO[bgp~üŹ[>,&1L[ZbdչxZHHQ^tYEBLVX[p~I=br{{|sW@QŹqVE51IT\gv~5 1Wzzt\E9;FLNSjŔQ1Dn_/  ;~_BKL*IkywgVOMVgyʪ{9>PZm˻yi_\Zo›T/+0;P[WimRbp\H_|}pcǩqO>(Jajmwr(I}iV[fbLOnǟkIVr|wbSQ1 D}O7KT<+/YlQG?5Gtϳ99U`bjy}wmkhel~pgqIJh:/)-F]zxuqlʕ46^wp}}rw}Ȍ\?/Vw|~5 5|z]eϸro~S8& es[OKN]ozo\ZaixoC6_jV\gWI,4KS`p`AJK2,9IS^w0/0yw~zɺ|b2=|wWH^ysbZq}A& !H]grr}μGBΙ\Ms64WzhYRGCQ`eZU^dgza+DilYcϵ~y46;*-,A\itx{yv~nFM[G2014=PqQ5Sxv~vdyv[44nS=HKD<5<7  /?3.(28Cl{bZcyνN" 5чT[͐>.H`m{yWMI>8CLE7:MXZioA8IQi|s_iиiLB@>0-&29Tn~uone^m|uRN`U<327=Pfsx|zw|z}sVGIiw^J;08YwǿO/#(+" (55( 2PP2)3IXaj˽m=! &NhuΞU&,:GR_rpPFB:6;:-&)0=Oix}kdwx.sǯv6,2+5Xssc_UJ[t{z{xwqhgqgL??IL\cah}wrikv\+9D9'Hv}Q&(55([[-( 2;OrgE3R01ƣn7(1BOWbp{{p[PMJJF3+Ikk`gA-*35t+-''-;asv4@X6@@txwsqmdcktwugSMU_`qumvŭobWXmӚpR*+(?²+rcWc]2[[[[" +);`íwe[<$Hb*t`WvQJ9Y50>P^hovxvl`]_`7.Gdq~_CCTYρ5+1@d}ul09>Wn66otyxo_QMZmnYDBP`kqxv;ײXQ>`UQWi~udLj[RA'2;?@a~]D}fH@J; +(555[[((  :ɾz< (FfPJcUX]BEVejnqt|vhege/+>^Pcab:'+7Mjzh,4 ,}e^T;+&,.)2RVY~vnpQKYWXA;.ORXex{aL8'16GgotrσjdʵtjeP+ROrǛ|dC4WgzyaTJKjoll5?[ӠU6*FettMG>lvQ)SUOSljP85;?,>[[nfgtx{[=<:KH+ >D_zjrijs~hUc:HH}p^^pNNX}ss8)CGSd~}Y9+4Ilx³Ǒ_̺~wok13p_oΡwU9Kg}s_Nbĺhcc6+IZ9(I`jlLIKvpS<0.O`^buzC.@c[RblwjsNF>3#MGKXrx}~rX?YԺno~uu{cSSX[\Plw[W_MGxe,,?HS_ymB'0Cajrµ^aoʗdbÜrJ1RtA6/~ŵidc=(?K˼zL)3TdilLQVxmbPFRbhnԪj:4J̍[H-688q}ƾ{IAC18:PQQjwKATafkd?++gгqko^OHC<><^o̲k`VHC)-/}v-*:qglpgwwlE2&7^}y7/9ysi[LW^vo@,.9(07>qsyxqd\mͻD(ˣ[550@O.450Tgļyb,QG3>`H*-:1F_iljW,&FȱwfbWJ=3*((MkлzbUFD01484FbcлxVGEGN]píl).PƳtdept̴eKNX&h8Aprz~nYeؽcM[[[x>,.=O)34*EVpf<(J>O?0HuxN.=v¬}h]TK9+Q˼^\^fRA@/22{A;3*3Ee|}tyt\λʘvkhgp~ͺU@7W˾ZX^]M^ӹghn(*49gtnkxD4[[(5bǽO80-;2'23*FNcpxLWZN~[/958>zY?Têoc^WC&Exºb`zmYB:DKQmU1ZnY?FUSOaZjf}wsj{X]÷ufʺ_irgxy{{j]<;6^{~wtrkqk5('8@5(5(H0*('4--/)JKZdoBKI>lI'-?5281-0c}g^}}pjifT,+KzDZ`b_s~viO>GW]jM7hgsmdtz~tlwͽԽǮ~^tth>1,^}veOJ`|^B7&0&@UP[g^9Q9.)'-),*STbfiw@@;1j[B*7K?.\twyqruq]J5-P{ųscQDRknlxH;/yxcmv}qlpĿǴʵ~wſzI40fy{x|{^?@[luӔX:3(0'Kd]aiaH.ZIGB8237M[^\fwvfi~i]M=HO=av^I0(MswVGD@PnqefsQ7^_lchnymkn־x}ɹ|ĴuWTfqprzzaLQaiqˑ\66-'2?Lj{qjiaRINWb`YpnXJGHSY\auierh]T]_I&qþ˺z`J0(IkukS2-6;J][NXyG2/vpeEJ]~pmvϷuhivƴzipƽp_cks||gYUSXpַe@*?AEUas~slb`q͖la^[[\`gz|ieƵ|ojdbnp`8)70'4eɾþeO97-6cʿ~W:0?GFJ\jqƳ`LSTS]cZaqwt:20yz|~p]E)9ADyQ>AFQae[cu~{O/JhbisuaM8('(')GnZ=0+Gn̚vY@2/M[2(SznN1/NXViz~sgQeQUgvXQytkh~peTw׷fom{jov|~yY34>A]ncipos|{mh`UOL:3dȻjfTqku,Ctujq{YUKja/ǤkPLOXacWT`n_NxvG?TemgXiS5TmmUc:58V4*'beO2'CKETcjwdHE9go|O,^wly{n~}ʾrl{qtwyxxyvz].g;95rlfqihijd^TF5'Y|Źqo`yqf^s֪v2=o{z^D=71?GaeRNRYYXUYaj~^\WiGMql\rX7(9nPOO8;CMav(QXQ;;IHPT[n}j`^_cl}U45cqkZsŷouquvusqrpjlzt@ems2{c[wPPYV]]L=00WmƹuwoFg¡s'-W~_:.<*,.X^Oq{|ѽѽm)FVMGG;-&>xrV;,Ww~˹{^]aXC0)κvmP,+::>ENSOJMSPMNVfotxo_Zmvd`˼q[V`lrԶk9.-6T{uFa{yjb`YVV]_U7;:*7Pdzûza[VK1+Pv}x{Ыzɽʿy5(T[NT[Q?5&FuXX}ӹsrrfQ932/+lϹp\P>((:<8AXkn^PNQRTYdjpvp`SY]H7c}m][dkk{¥mB:MdkXZulx}o`_^[\]WK60+Auʺƹsb[YY[QGYv}z~c|ʭ\0nxdgiZG@4W˲ƭG2DVtpcƴcM@2)CUUKPi}gOJSZ`djjmtsgUVV>)Z{oeekqq~ásdsymwfFF^{dcdbgg\URC,-:3'2q~Ⱥtm~dQTVV[YS_v||hҺt/7ym^TRI(0XǸ¾iploIJL9KdiSC13<@Udd^evn]W_djnqlmtyr[SJ3-U|rl@:4tХxkvƯxttquvnoskWPSJF\¯ưu[_`ABKPVUSawwpx}z{DZyO/4alchnhE.4=:8HsZBFO\ı@4OhfI30999>CYijlyztw{x{|xxqmrztQ:.*)37M|zwtq;/'jױvljaauvsҲ{UKh~T4:HSYWVipu|{m^esr{z_NZ`O:5Mn~u\AADCClϠpei}ȳq`NTd_[dw}ZAAG]klx|Ķ{qozxP,1VPYuronpsp0UwŘxjbSHWq~hOOp˶kOBDIIELqa@7DUckihx|trz~}}qpk`azo]ciY<+5N]iuwhZNC=GH5G’{xv|վjzaX\kswĸc499Q{rllmdK1)FpītXdrc?/>VcL45Wwտ¾y||mVF<3/.&BhoQ1,=Q_m}}ȵueahQy~kvug]V^kppw}swydA'(9J\gcL5)+5?0}ufbhxêu};-+ȩ|jlv{h15[xkieP.5o˷q`GBJam\.);I6(+Hg{|]Ld}wdOE?2),,8OTbzŮ`D>>'TszxwSJMJhzlZ=8Tp}^=4>L_eZB,&53[|z{qv|}vuobXSYo6,*кһ||Ͷz(Dop[YZ@uű²|_LRZ_ty5*=84Abxk26ECEjSIF:)&7YʵT7)B`aWM45=Wqqmi^DBd´vZW^ifWD827A:'5K]TMpxznqyypnh[NJVote3-0װ8P|y_HHPDк׼¿mtzE(1GLO`~r9oziTJG=&9jp}sT;'3A=91'7U`b^TJ[}Ųznnh\WTPKIH@;=NVN'(N^x~pquuqqrgQJ[yոlFLpʪΗ2Giy[C@EJ18²ϴɷ~z{qTN^kns~vMJ^\J<72(Ou}G*7RU>&(-2,+EPLBPx|}|e[frjVSRUbfc\KU}}{~zwx}}^MZvo_vr7,}հ=64ĝh4L[\?DƵcPIBB5AηӼ~xrpmqt{yir}zwtf?4QVA,(3Jd\*(FE)&1:8+8EIc¼z}ʲzm|y^]dvj=9{eNUh|kRSme:ty|?@9رl?vι~w̌bUSE79uºŷæ{qjekrwsw~tU-(5,5[aG-'(&/JXf[2+@S7H[`R?'DbxŹ|ųpiuv`USbws^RQT\oygA14sהrkfktuxAB=ǷmKE\ͅT@;.0^ȸʶ~uo`^mxx}yszh:&::8ciP3)(&*58AQTUo~Y7.DP42wyaH+7a}ʲ}qսnzǯ¸cEFSSGD>7<_gZaˋ_^bhkjoƯ{s~kPMjɂH+/A]}̼õxvŸcA>\s{]/(A?Jlm^B,69=1.DKONB:KllTD*650>]iO6'2Z԰db~ҸjtֶqI6&(VĻfbegkw̽wUWjtaPUz</EYesýu|·Z9gtkztP)-1;m}hA1jLJ@BeuyyV^wyR5I50ty--ʾH'Vε7D`dhzpnnu̾ybWOOSX\aQqk:4KUX).mrqʨktitbd|K=7aILA<]teT`^D'6).Li̿k8+1@ysG8@zK6727ZrT:J`|D)1D\N__^eBWw~[15o>?>=:5B=Fz)Ahëziaxvrjho~Ըmha4:aeaHT^}\<>\h604|evxrtzd`x{|sZGKYgirx:12nL_r{jtoR0/;B8(4ENh÷srzz|jfxг~opj&,hg`BGHlpgVJXnphcjnmwvnebiopTPfqrqmX?110))<^xh`w1.:¹{dI@??EBMjmeXdAA:N]Ү_,/B0.]tqh_O3Wʷnvl1)LShhZMOPFBMQJPbjmk_A,*.06Io\Yb±H?-=CB7B^Ɨc\Xg|v>@C0,=_]TPQND86`ͻ_@;:DLC/918/'*&''..10Aqxxƚlnqsg\Ziu̺ìwlmheSLQZ`^QB>I]ȹmC85*'H}q~{h\[\rǾxaNILC,7;&*DRTH=2+=e^\ékYZfɸ{aY\a`WH:/(.YҸdIQR:-4>nryx^P_wzm]URG0(95/-30'')8Shpɣ~j[[eDzngd^UK;(&n~iliE2>V`nxoj|khqP>Sļ|ujb\R<*:6,,*+2.9ESWT`ΰut{ºȚwodK6,9ͣwk_?-GYmy|v{ww~kkcI:OlN=Jwӽw{}wncWK<*13')3-,4?=,+Q]^TKToƳk`cy~ɭvc:.ezbYK'MftvrvqpyhBE]]ew{yww{wcK@Ghɴt|uiV@8+(,2=5((6CB1(apo`TUdwmrĽħ^C5Xôstϩ~b0+8VƺlpzbB&Srĺywzto|}a-?6*2UhjnsxmS;38PǺUV\zwv|ìxeE/.B004+'85CXR>-,9EE5Ukrj_Z]fW^rϕо­pJ4Kzv|ӯsO4LPfļ~x+)mȵwuxtu\(82)(A\hpvviT@.@bXXWTUupwZ?SmA).)5{fTXC4BLQVSYiqcTPMLNK@5)Neruqe[[ro5Agɺ|ng_\~̿lI;OiwʫyK+5IbooƮpjorŰ^HȺ{tqngnb4=>8Qpxvxvlc^L)cZPIIMNsZiX;>HTnyubFKTJMVWV`pɱ\DWwzf^d_UTWbl\fhbkiek{m54^vko{~~{wvwP9CUfeX.6]vvwqmjox}rqd]jwqp˲}vxt_0,Ŧpggk_A+'A\hkwU3=GU]_ZRG?@DDHZwyxįzw{fPXcfwsd`P;:KW^hplibWQRZluolomdeuztuiZU]bdkx~wG&zmPLK[t~vqv}}z{yxrl`PCKj~oca^ar}zvȥpB=˨o^[`V7+F_ei{n.7SZYUOHBB?:Bcɺsj}{yxdX]dgw֩wpiT<:JXfoqֶsgUC@JQRMF>DRfwulf`YZ\[`dglw~wH9|A.4>Sowt~Ӿƽ~xb?.=_w{rgedgrz}z~zP'ZѹyXQVK.'4M`_b{ҿM)3MRNMHA<<62@gƕhf\Zfr~thb```huvogTCELJTcoŨrW9,..393:ZbOKX[SV[^cfhlu|i*RH6FPZo}{{ϻķg?9UowxyxztnpxŷwN(vŴUKJ?+-5.15;Rt|ɉ`Ebxsse`[VPMXlvkdVGKH64JnѴ`<)&8:'-FK??JSRV[aglmov{^6&Xluphr|ϹȷnONgvuuzspy֝e?->˗_K<3'(@]id\gÿkUbshPNTQJG>/(0;F[wykevue]XPFCMg˙rmmgXVJ/4_ԽnK5'.71(/:@CFLU\ahrutty{y{fRb̶{z{|}¨ȵkfnqttsw}roz_E@95,.[ʜiF-)'>_hf\]wlmsj\bhaRI=+0;ARkx̽syqf\brrl`WVTMLWsӰwsu|}tunZM:@~ȲcN6-AILQ_hmyxw||srpX`;vtszǻòxpmmwxlcnuqpztfXBDPLQk͹Z<&-+(8TY\WYmѴ{{}sfmtkUD4&/3FXW`ʳθsfwfgjbUPUY]VRW\Y[g~}lK9Ʋ~fD)CPYbpy{iZ|ɰvjgd_aiz~տwnprpxvf\fonr}ʞ|iNRrϰq]H)4>79ADHJPjàzx{xt|~rWC3*rrtzru{vgdqykZ9ZŽֿ^l~XWuyb_a]QIHCCOaqups˳d\\\{ǼmN7/2@C96Hk{|}}rg]OGй~tP?6'OyutvugX[pwP3(*/65H^n}įK**?fq\KEJUO?9FbqusmqyeXSQIHyaI.-0U|wvwyzxrgh|V?841@[nx}ǩ~[EFMJIkv_:6KnsvjjpzuiGfpR\}k]YQA747SktչξofR&(7QowvnhlvkSFESbjjulg~mc\PJJNHPغfa]8&)+7GeĊ}vokoz}zwvmhV87HS[kij~XGLUSRnriæhJGZt|{~~trwqsq{uyd_W;DnطvxjK\|{eWF626=Vjo֧yӺts{rWM?.4?Padfpxv~vwu_OQ^ko|phmZ<1:FIKT_X\rйkROH8-22)'6DVt•nt{vqijz||sgN1(/6Gf̺~|}`UW[ZVexl]wǹhUWdnqmnzxpi[dšwklZNK@?>6&&=\w›{hcho}\D[y|cP;)'-3Geyץ[=TؿsmsxhOH?'/8?CC=BOg{|sc`jzcP?(=J`wraUi°sODMND=?<2.:FXz͵zx~|e^J10`¿z{tfaflrqqodd´o`dknnigowrmfRQjUMF+))Gk®yf^_es\Lb|w`L@3'5dֱY,C|Ś|pqtbKGA',2('<[tlpqkis{T.)FPc~j[W?))+\ξqiggozuxջ{jlprsplpsmnlUGMq_\e7S×yh_]bo~w_Vh~vbJ<=:0,//5iжs=M|ͻsokZIHF+6gq`fiddowvsxwkJ)&5@RZLGmr^\d]VXYMHOWatʿx|}yzhbcJ5IOIFLQLxƾzlpd^SGIJ20hÿxcb^WXgu}~uaSI32EJNORj~zvlfij^ST^pvxzqdf^]`\D6DH?37]˶oku{Ǿ|y]=4EVbm{rNA,cͤ{rxxkWJEKKCGVlq`MIXdfhpogўǢ}hXTOHLO<&OǺ~h]RNWj^SP@@docU]ͶͿyyxunbQMYw՚yvpcTN>=F9'@HDENext|xmejyFLA?:1&?l{l8'-dȹpgiqpcJ.Cez~{~vmzjXLIJLSVL4?kǿygY^qsuwpmknehqκ}lXJHPeyvq~n`ZWP3)0.8\_evسnf[A5LpŪıJP0,`bU?0QoʿtgjuzoY>Gm}iѰq\OJJOVVPG5'(9tú~j\br}rt|t~}aPHFTjyyɠx|ygR8,)(-CZ\dz̩zsg\L/*JervS2+UtwuN)3Mn~wx}p]G&1f`syxhQJLLQ^_UL9()4=KŷgY]jzrtg]ugQ[ЮgUKBI_trx˺|X-TgkkltxoE(>oiJ(9Gery||~xhx÷{xqggib^m~\6,<`ͿkbjyuwdTMF?=X}ϴvZUYZ`kolƴnbl~ƍO*WQbltxqj{S.0DVZY^emwnZqƤ~}f+3Gcrzsjk<+8Np|Ѳyc:*1BAD`m`lsuvwzhi}vsvprdKNo̵fdtwvǮdLB>@HdʹzQjPXouj|dHLasyҽG<;P`fmzKBWk{XNFO`tuXeU24D_[AIPZdfbcr|Y8;I8.122F_jkkkdZUmMd[tzbk8IP]q`izq|}vgjżtWGBXr}kqN;+)<_pqpWytZU`jhW>,&,:B92B`ox|b9).;[ҳq(5(5FVb^DLcfgZvguyvi>1Uoby^92=KTWZfh[J:,5HW][wt{_`\UXk˲^H4*S`^X]aYKB-7LWXRJfpX[VNVmҧzaH;/3LVVX^a]UkmjLLSctjk:AJ\tbgyoztd`TOVR^.0Ujmpzxdg|pyvp&.JRnpheiidQ<27=70.@YfjlwnG.Kca;7@>1(LpxoNQgoir|v~r_p~~}{qdc|~mǿtT;4>Q__TR}VPH>9?OUPH^ZfQTTQWjoE3,3KWVT^tkc[TK;+-?prcYPNS`m|xekW_ypu{jfwjVMILUWk֙C(AW^gs{ulnswdEO[YPEBLRMMCBKPOSSRWszL45+=S][Tghte_Q=.TQ?GQxs{i]fxqm_JCHYuzn[SQXdvW;6AQ_ksvutrhbS6&+Al}zwoZLd{T<>MY_c_VF7'=Mb}{g`GOW]hysXRay˪FCVmvz{wdZf|nufmswxqo{ƠƠn\L>.,8eA=CLf\YTG;BI:<77QUTYYQMses}eC'3AR[UKN\W[ZG+B>31>SypuewxkL89FSh|}vsonoxѩqYOdj}puwz~|oh[Y)CYp<:?|cUku^X^a`}UeKA15KWduҤyhuJQnj_eaJOnF:G\hmmoaXd}mSP[T]glmcbv|ulm̵hVB(/eH@JYld\RA5:4*(+B\bfjdVITnmԽŒK5=>AUnWBCGOTM5&*+-FawŶ|pTBFQ^ny|xsszŬya\kptkortwyupcc(5.5^d~tjUD:8,(?YhqvsfS>7;QsȾ¸dOJA>^eb?BHLK@.'Bu™sdL=DOarwuqlkxūnaaunwgkkicfjj^a-765DGqY_S>Q_bKFJ@:<<42<\efpw_ueZDIZXSQE4Aoƿt`ZXPKSbnofme[_wf]UKW+8SWZshDmt@WutYC54B_nx~ubM6)-OqtvlYI>54BYJ9>FKI>(.6&Iҿp\=+1@Zrwrmd_oĈkkmebbbcflrmcUY^P?*FZYQKJLA*(C°iBFird]VLMWVUM?*.4`kgi҅hytdGBFCIWWIVbfgWIKbt|w{{j[M;7Qy{+5S^hzlddŽ{R>+&Df|qXC1&0Wu|veXE;536<:3;L[]T3@{tyȸv[7&6RluqkjrpysZqVM\ihecejt{fW_ZK1,`ztpZXb=30/>\̭iA;Nd}vf`\X\cef\H53>im`]nmgtP,'07EW]Zu|rm]OPh| dD/(FZZ:&CZfoz̹W=A=9;T{pI.,VtNFZr^\gn_PJHJMJEQtv?'@h|x{stƸnI,2DXfietludN4xq=5HQV^UkuΕrlkcco|U)6NZ^OWlmknsuv~̭o:KXVtzɒPEbpq628q~[H[uzb[]^bdlc)+@KTf_fxȑe^eglqv|ζpB6Smnhhegq֮{=1Phq6&7Rde6+5am|c_cfnyҹ~aQ=792'0J\dl~yʿM6BQaggitD34Rirxspz|pa\zaT@&QȥjMKXel|ʼj1(@d|}~wf^cH:7>GE?;CvKFPXegOC;*4I^vidk|ԯbPNQ^jnonuŞZ<9atob^]_Y^p`D61VѺI;4+1J`cUGJU]k~khot}̮rWC=<0'8FQVawçR.9M`eeglvU.2]rhp͍YDEJ:-`ĬzcX]isϾk1-Kj|¯j:(*7?Z0,5CTOMLMKC:,0TSWXrj]bRWacc_arL4>_ȷvj_]^X`NVI.JI>4-6Oe`F,,9GXlǥ{dWTM;)(3>LKLQhD*3J\adgjfhH.,/Wy}qm|Ԟm]ph\}дyc\gvͺu]Tenu̙V18[S^46=I;4<=1+*+>`V[sĴr|rnY\^]TKIclF/@}˧|wiabZhf@)1Ε^H61@XhT./Ie}sxsqiWECHKV.(I-0:Ogczkyliq[SX]^QB4<[k\>)-Sʹv~g_izvuM.)q^t[67JT75Zń}|yqcSMIAMZ0Jc̶c([^jquy~}f:IE92;snuʖǿȚбiQS_j~vactptʛfPL\obF-2G:+6P׽[zQNIJPTtMZ00GTMD-)y~wuuxyncoaTLB=:8EROCHZivB_YBIQJ?35̍wx{m?6[irvնiYhЌ]_`qxiJ67CZ~w=96),NJVO\wôlSF:6W}cZXI6AV_Q3(|cG[rʢvb>Le}fyvdXYoTI[w1B<9+-:PUPY^uؿlUD1')FLPDO^c_TR`SJ_оϐcU^_qpg^H_|k^eqR)4rkimwwf}?,54309W\SA5FezlC343[G6,̍YaWjSS.-;Ub|mgz{yKCCWJH<<2()2(3Ic|ħeM3,<21=YgdWUbXvŹʵsT8/3hȸyncZet[5+atzxkgjrw}rlhM9;8<@H_aZK@3@XdKTriRMMWpyw~T>5lBGaprULTE=,J|dk|\dsƻP>6hsZViRMSQORY[V/5N}`>)6\suqwowÓǥys{O=1-Oaawtsk\Uj}c7+?54dzrggjikn|}vp[LN@BIP[^\UF8AK[bL@(3XcbkZo|R_}uaqvukbgw{phkoopwripcO5*g^OejK10QlizvZD@:1Osh_SSekarhhFO]v}nlpnh\XsZ,HsurtlhbxնpZ]UTX]^`ca}̍:>(IWH<-*JlZ;'(;SdsоcY]sp{qjkaVG0,8t|YF=AWs^2/Tub:+>PXURX`hpsrommpssmp~~ut~~Z@FXqonx^K1,Myɻ}x}|psqjG90w[$'=@,7Y`Y@3D[R;)Dbzİr]h{yiixwaUgNH'&)=qwvzkh϶uaC)E]GBU[`ghgyw`HN*-18>?BU{|ĵucC=o{nceegnv|neccgnqfY]cvuH3('=- /Tv[Ct|C[[(5((555[rr~[5( ('/281?|ЮdVZq}Рֱ®tQ6;NU\dfcptL-,O601;DOcŲjclз{wPW&2UZQHUcimv¿yngecdhmlltxwytS0 + -MYɺ~}}{|B(555( +([e?33=W5( +#(@NB0+F78)>IG@Qku~ϐֶƵwW;7CLU_bbpzW1,+0=K\s}gE>UwUNG:PLJOL>Nclo}ulhdbdlrwxuůykK.D`Ůwqx|}onv|dB=?7:2)! *3@ $  5fw2 +7o[1(.Iuy_GDJHCNejb\dsvwr˰{Эȼz_A6@LWaek{{`D(-)07AOkphs`A;Lzľ~{UjP:+@}^NUWGOajpŰ~ne_\bryveʲlT3 $Htrrrmjryzit~iG26@=;Fbm>./IFD: \D&T>(4NlY_mnfgsvrnnrآ_`KZȼxƚz|ɭmLANZfoqu~}dN2++/8<>ENV_e_KG@=H\xqT_¾~xodP=/^wuUMVaholWQUiqp_bpxh;:u{ne``kprt~oluV:JWd{ʋP0&( +  03" Fy~||øjY8'.hvigr}dfr{{uty|yxXCFIMUbkaMIQZXO2'(3H]ruTWϽwxqoy{rtTTonjgju̱tNWoyq{{yWNLTlw|}ppM2hB@IMP_hRU\TR`\RUeq}~^K:/(')+-;rvWJ@-! * +  Jb}{zpry̶mL5zwrprvqgemy{z`GKUZ^h}}fZZ]Y_U/4AXl{d`MQçj^LotjefoypnquHI|~_XbqvwŒbakaSv{zh8/0=Qglba`NZZ+M44:==RcM@CJT^[UZjzw\K7+9GJSQ,#  . ! + ?dvyqnvmkynWaN:J}ukc\TU]`chhenƲngsvx~rovT(AT`o|o^NԾkC6@Za^_clo\il^c}zYNT^cjxoԴ~~iUylY15Ocjb\W37204,,+(5GF=F_gc`ais~tcN4%  #2 + + ) + < , ?e~{tlituzp\^i+J{|p[LH>;DO`trdl|ȷ«sE6>]u{zn`thD2;OWY_chukؾsQ@CGBCQcnturkye788' 2;, vP4N[^h}vlbK1&U8 )/%"7Z[IjҺǧqljgescquowxqR>]l]ZT=Yշl38QVcyitǡءiDFYbbscUiq`ONWVOQcBNNNIHXn}{~{n;1>Vda`gvòпU,(5cpJ)@Yemqtp_H41/(r|zxmgjafwptyz|P) JvjyqY\ntloxvU=BXeaJ7'&:x_^I3@~v73Luд׼XARhnr{uqrgQ<2,,2AQMJ[wQ&-5Pjhgo|Ʊµd^~Ѱ*&>^ws[=Bp}jX|{zoug+ H~piypgr|ijngM9=R[<:.&/81)3CPYXB4,/Kz՟k[@2P]rҳīj]qoY[a`auѿtkR4-87,.C_oqzuS,'4@8:Yzxjqϵ˼ïf25XnC)Jffl}hX[^_flq|ºưtB :jtnnjl{rie_WRMJ[ZXJGPK>:CS]]E65L}igU67Qgp{ͣdF74Jcjjg`X^ȭ}w_8''.Pfow``tvfilmɩ{{}uvq׿^B7/1Dg͍S3=d``pzukilcXY]hzɯ`4 + Xehes˦i@:;04P_cnp__VEG^|zcWahcjդ~n`E9BG:+,5:Kry{}[B3GQI97EZju~lZ[te- +  8WRa~vi]afq~{jmȸkTQ\krz~urhhzəe0;YwнbK@<.NITWUeĚa9*,:GLMdմdK:&&6?96=Qfnlikjb`keNSZM,8?S{we^bnĭbhl\JB=Hgjew|r* -Vrxvurkqwyx{oW[tŸͺ}sʄ>0JUX[pg=:5&:BHcӾs]G(&03-(0BS[`dhib\eȼdXc_B+/8IWji[QWpӹnrqXLQYg}gLRkojs~53]|Σbf|ĺįqg|=&LQH==SkzX;<6,3;UzudM(1?FR]a_RM[x}}ѹk`gX8*4HQIDPṟxxr[VezU-",@X\de1 !=kοΪ¹ahwì[SuƈR-Lg\PECPalqzthmhK?=4)3N{b`hmkfV00;IUWOA=Row}ΑQHQE**7@?:BYt|ͻjhyX* ([cj8 #9WԸxXdx}ɶxNAXx[;RjXMILZjqu}|ni_I62&+AeȆL:=Pbjj\7+9GMH?52>Vn}<:?9),8<6009HXpûʯs<[[ԁA + )O|w\mɥuVDIZrp]H,2l}U@AL[iqzyX?4,-RT'*C]jiY8(9ILC=<;?Uխ\CHF@=0)162('DeƬ_-[?x,(X¨{][ׯ{Ygph^]br}sfpi=;diD5ANWam|fCB4&+Wy2:XihX:,3+7JQKHMP]eXKJYf_Z_T/((+-'2^}rֳA!(̍5Pј+  ++r}ybGCI[üоf?Lcotwwh[YZpkB.:6/,4I]mspcL1>k~yjHHLB1-;KH@>=42juj}Ɵh.5(Cʿ6'.iȿvin}yaM?9?Wdz}˧bDJbruwtY@FepD+'Utk]YhzjW7&36?]ղge~}mXLPcmgS5/7AP^ffft}r_P?-0Yɘjdnohjt}vg^b`F+5JrbrˢW! ([UĪr;! + 7g`F0&8yҼu`Xi}pf`QBD^̽G;Htg[RJJPTTZaZNBDTembW[\\pnu|ykaȱƹjPQV1BaZRQPMJGEB@3Tpnorx_7yļmcfedee^WR[mxxstqm_?)El{cVVN?:NvtlrǪracviky}z~?(5(!9Q}wuzm]l[PS_r}nfidZT[[JFHPWZZZ\[[drn`aqZI\cgӹdB.,9HPPNNQMB@CA,4w|{xtyuTȝwffcdkqsskpspmiZC7DP`~w]NOH:;Yևxŵýѧocerw}dts4!Voqz{{{}|uhWLEO`fejquvw{unsqga[H@@HPWclnkb]Z]l|d.':S{Z>*&4HW_bdjfRIMJ6)jztvurx{A.biZ[`jyxwy~u`V\KMu^AB?54Lr˸ȺŞujdjqtk2(5( + 0ek\^irxxsjghfc^blsx~~}~|~ztI;2G_ҹ|lȺ\5EKV`]mİvoihls{|[G̍eVHShqk\X\z|yedTLZ΢wvwrtp\H;WʰfaU>4>aнoknk`F**Qvd<4[pC1*@Z~ɽlfZ54BGXؿp&*07ISHGcǵzsmgb`dsvx[nZE?K[h_YUurt}}|yokiryp`c״~zxreRC)3x`E;Ff̳[95@LXX<-]tO.4Pc{}adNBI\|`VH'9[foţ}x2)(9@;8Fgvnga]Z_s~k_sT4'+4@RUNn|`yqhhggkv}Ư}rdQ=V[VPa˺F24.=ɯz^^a`P9-McbeƼÞ}V*'LhsZ@L`{aR@8o|jrҰ[,)-)08@S~zuѮxmaZVQWkm[̞̍BpB6"&5KKRUcosa_gZWivhafggijjoxʪ{iYG1+,vĸΪBGIib,/8O՝zk[D0,-+,@Siȣs;3]qyɔkRZ;'4QcpiU?DygT^{jC713<=-C9A\x͵|pbAGZnvm[G5]|[4% (J]edmz[Ub[]dgjlr|˰iYN?3;OSUJMb\08>@Vuwre<-=HiɸnXIBFD:1?WuձUCpzOb:(.ҚyiM03ϒzhQCRs{weNB@ELJ=0(B7Ec̼vzsbMQ7DYlnbK.[~r~ʚ[?WLbY1" $Jbuppv[[abgx}z~r[RPECoxXF-1hnltOFKTLEQfrup^KLbÝ~ickvusg]c|t;Ctw>ƯqO35Czlj]KCOfwtlWIGMPLD@=9Sę[\paTep?- *Js{qjp̚U[XV_oxibSRkzndVYd`bxF8lxtRF=KWOFRds~kZ\hϸzo;6]b~5>Ȣ΢~TKP~q}ʩwosjO0+@nzv|xbQKOOIEGJnmES̸pf]PC8:SVftP( >}Ýw|aJ?30Egwq̍PhaRISgw}shdXAScxntzxh|ib͹|ab_M/+M_jrx{ynebadgglcizZ\qxp_L:5CDGV]^V ?~rĹ|ita?3.Eia^v[Uip]ONF0).5D[ohouYWfzohjstkjpnq~ʸ4-D̿˾S(5HB2.+*OYvxvyqƭ`NVUC((H[hlnrumeefjkmvotqdHJaf_UMC@Oe}H/2(?MTq{jnpqtnxj? +(Pik^lo[NK>(+9CSq}Łib_{zrlh]SOTXby̻RHc¾Ĺk:,64--)*Pj~wtzzuwnTHKJ>(/GTahmvxh]ekmnpynbM150A^aUIILPb{~(CPSi̷zmkifad~r3 F|nhWY[SOQB,:XjŮj\TqjzjZQKB>CLPVlm2(,1,.5Akr\YfrxxjbTC??:,-BOWdlq|neptonovq_hs|;0I^ZRHKYme 3LWU^wzrjdff\fe? &Sp[VYZai`RRp̿s^ONYvimZF:733>IHHZ~ϳسX-*3;65OZXszTFWn~lyubZ\R?8;<41BU_fptprxqoyvjijq}o[Y_u@]}zr_]]dt~> >C&,F\m|kwӞj`feacaT]}re?3(Bx̍}mhltunn·ľn]PUq{cR@1.-,4:64Fgιq=(1518U^]qĽdMYn]eoj]UYR?6)\ǕybjWV-nR(,AX[X\hϾ`SPQ\cZESmv“~[\~¼јulmvrpzE&:>IW\[gydzxprl^g~pJ.(6@Ml]X_qϾYNLrMS[RKYwxukuckp}g^YVVXamu{ɩ>&)vuoioqwzmSGQTSH(&/7LckgaiĥsXNKNXYE+)>rjstԷ][V\b]]jegkp~z}A)/KSY\Z[i}̶medefroJ7+/>ITavu}YalrnqYVGYOZWB,4Qdiei_dmzn|j^^XSLGN\hrԶ{YNO]zth^_efc\bp}}T+2=VrŢl_SNOVM1FYlja[;Pivpo{qscLkըvxut}yy=23WMBBUmyxibirupv}n]YY\i~{VD913?K\mw}nTVn|{}zoaI1>amsfGH[lsv~}ndT@=ISSLC:;DNWatӨ~YNNYs{m_\_`\PQixkVBBB;B_ЯsrpaVNL@>ad[@b}uhn}iho`4(f{vzwux~}}ttn^[q|upwzo]OGDI^}yvrjtשt\^`RIMTZiuebUIKT`gb`\SWgrqliwo\TPNZjxiROJCQuzV:5.-@JHB:1/7>=P}I@>Hcqnjmuxl_]]__ZRO_}]o̻rvu\E:)@HifvlY1%7m}sqrc7ETKOh|utrsvzzsngTOZf~ѵ}paZ]dpneechא[A>D?=ER]qĩ}kfidL;9;DOYdgegq|xcSZqcTew|yue]`G,7tk&3A@>;4-5?;Of;1.7P^YXajk^RW]___^X[lyy}Ӳvm~wT4+3MǼ}^W@ GxxzmJ+-=_~}ufptyzvocPESqǦv~o`hlkhC&6CFPcs̕l@*otbbp^eo3555(;XxR, "! %2**-4Ljn\e?5555( (?~^(>s{mrr~Y&3?_vov_;0.)3Lcǵ|`H8>[bVJVwmmlb\itgQZtZ4*qîYSUP]vz}[5555555555[L& !"(*Apչ|[̍5XZ;00;eʤc( ;ed[dx? 8eοyzhW;?[YRYnwkfpre\j|wb]lb8'/Oʷp`o}w8)((555@о~r̍5H_>( ?~re5  0_;0;_g0 1mlllmmmrr~׿ȸxsmR,.DPV\b__jyziZawzogkqzqE+,6=Uռռ̿r0  ?v[[wpofyԨjTG^[5̍(( 3?3? +?? ?`8- &  5q; +  + + + ?eȷyoy~~~wmqtn^HImdTE)OcA*+Hi^v~k^XOB:9=RigQD<7?V|u8IWhèz}r3 + + +/\0 03 3?e;33>Kce4=Sd|r1 /=_3 >@  ).<`wqllqE[^2(5([~[[11& [r3[[;rr~פe7=*%);Py~?6MV]je=*Hy«nbkmjp~seP:44-.CVXMKbZA4&'DfS31;BYndI@CFGIMPOE@BD+Xzdz}vpot~x< /?z{qlw~> 57=AKctyz~b3/558OhV40@fjf_VQX]_[WPB7990*Q¨|rmkleP90[^E>>??Ecלr<|dL% 8^l)HcdR@[[T\ahr{qllq{}ZE9(:]bpa^lאmS>@Wk\_ѩ}cQOZXI@B<.+24.1>L[nxxx}~{z^1(.6?L]R3/GYZX_dfmrneZJ>/&2LcY.Lb|˽sbV:(59UVLR]adqo`QN@[[5>UhjjqeYSYwʴo\tin³wcJET^R8)1J]hpoqxyy|X5/2;FR_\H;CNQbxyoq{yiUC<@Xl]0&LjfIM|qiW3;E@DZyϣzdetunmq~S0'3DivweG/(9ERQ9WwĺulXDGfrXWbjnvrwmheib9(5(4Nl{[B>@KUeo[HB^̽nvdzfYNRaj_BBTYbgnvy{pL;?=?EP`e]QJXXk~ylkwucJ76AWni=';]}Łq`G9@?G_nr{sqsxtA/4E^a^_lvupeG/,''TͼynaZitfi{kbhų}}xpxzqjV0/>MauuOA?FPb}sS<:Xijn]`i´k]]itwpL*(HVV\dmv}]?9GDBDJYeihcsia]`emxvdK8=Masxa?7PęnV0*5?Mdغxlu|uv~_FCJSXWS_wpd`T:(5(R~ǿxihox}rUX}nqurnjZZK1/NdwmYSPU`rƱvL?Nl̬h;+Eqɨ|jhqqrxSD+5Henjikr~}aD9@DIMPWdlqwodTMVdo}vdUZk}MSrpP9McМfbdwxVNRQMIJOc~i\aaK(5([[uǷ{̬ƱkSYxaXbmtwbOVTGSkcZ[bjƈTJ_urmd=-e{ry}jhngeoROGW;565Kt~tW@>ERX[`ilmrpdPM]q|yEQsqJ>QdzgbduǺvefcTG>COi}aXZY[vȵĴotxXJSh|ue`fhaozplgikiqӰjUen_\b]TVUG>JEHq}voha\ev~zhWX^V[m|edktuUGKY`aenonpteNOf|{JfpH.G[omio{ɬoSE>@LgxnXTI[֤~r~dbvywyz||{tz{sttnov}~{ndfkT]VBEMG>@7*+<9&?Mcld]]SLMXkwucTQMETnbNMY[YampqssdT\t}vel}ztQ3DZrxejŹsTMJCEXcZMM;̋z|ø̽e?3?evhbZWfw_up_eU&,92,;KA12+.A;)3IQGFKDACLbw~sfVF>L_kxİԪfMCJECShqrsja]fnmcb^k}I>m~upsyt5+:JZjqozh`mΪu[FE[[YJJToʺ~? ?}ǵjRN_IBT֡rnoK1.':TN83*'3FJ),4>A<<6)(0=Urz^E@N\b`ZUdѱrC-135Jesso_\_]QNU]_iz:]mqlnpngefkpruC5JgF2/ARRMU^c]TQRF*(+).35K}ze`pɾ̍̍[[=esmi~? ?3?e̶zy* +/~k;2OQG]oeccQ41P`n{syzx\UQ'1AC;?B175-(.Fc{ӠZ33>DJQURTUTOc7,./(/G}vg^fyǭ((5[̍7[yr3 3r~̸i!*rر|R<3,8^hcvʰZ4(6;:Gdv}е]Nc\C6-My}V4+,;E?322,(0MjékJIKGOZVGAGNPH6972]urhcYUbxc[[(7X~? ?~һqq%#rşxeYB.0+>)CTdstj\UP]uz|thftjrfE>J^B8?LXe{ͷqaVI==K]ee]SG9(&=HWfeN1&*>fpJ*5d¦yy|{ndaS8(5[0:[̍_fsnR99Y~q~ppT$ C}Ǟ{`>,/0-+[v{pPK;*5MC.B^yuf_bq{bKGNKRaufX;?kiD7?^{~Y?:J\`^oԱlXMKN\kpnifbYN56Peu{_MThivxW3'Wyδyzzuh\VR?-5[(%:5[K:0(=d̙{}`G$ )\t^QH:445/7Vikk}kaRDQaJ,UrsUHT}\MSRTYerW9FI1/:S_tt`KADTa]VjԖzg^_aiswwtpopjWF44G_p|f@&<\õqs|Z.[[#HGP;[[,-Iups~Y2 9hĨx]IFIDEYidY^suuwk_XeiO),XtaNXjMLLQW`cgiottjkZ8*5.39DScbWOJMW\Za~ӗqkkoty|~|vwhC3Bb|ãvK*5\Štnj`^sˋF[[ .W`{qlq]?)1[we[< !MYZo}ummoa>5I\mvfgd\YTA624O|ylZJ906FTW[clsspq|gK*>HMRSW^a``cwȰmmxhuж¾nC3RijcV>8MRTYvʨI'#=ddak]'(48BWr}̍tnrrur{ywĺwqc=,9Sxŀhd^V[`USSS_{yZK>/*0CTZ_gosrnmsxsaI&/EISQOWdhfekعynxwN,.LRL=)8RYX[vԻ̙pP>6Cfh^]=,-*7cжv~ͺy|~vrZ<;W}|qieoysx|yt}q1&*+,4HY`gnrpmnnqrncT3(APRb[W^hkiir׻oi|{|ɷƿT-,'=H=1'K_khez̬ffejxj@(*'&0_ssʬΤqwxundͰM+3:PckpwwrrwwutqkeQ-+AZ_akc_cjllnxg\hzwus÷zP&4E@7Ed}ӴĺpoнǛ~pz}jZZbmλʺdM<1/'*@T_v||{ww}bTWmqptkiio||{kXis|xwqhpξ^?D[hV8',>DLyǴ̍~whryG AMLHUolJpXSxuffeWQ\t}ɳR<0'*.0=gpUWv}ohfjyxnhgm~{uxxgcwt{zob`vŷkblrfS>9??Joǽžt~tcwW" UYVS_u̷vM6?a||_UTRPZtu~ŽƸaF@D?.LĭtK.9Zwx~{mgegjqu{iVOKQZYT^{weptrxdNSҲ}|{j_be]I))Df}Ļtnosn\uĠvxe2 &Q\`bam{}|VAAQmgvzgRKLMN\{y[D=EJ@/*1Xбȩk4;\dmyqlkoquzkZUTOPTPKXsn]PL`cbc{|c\н|yqzeTV[X;3F`pyuqpq}i]ʇpkXUZTA Luheei{gfbinK?DM`œn`c_NECFHVv|w̩cO?8DV[UOPmس—V*/`ppm}~wstyytujNHNTRV_]XczzYI?5.?@)(BfwaGCC><5'G_ӔFpythyR$OpQYU:% ;qq̷qE=Dpe[LL\eY=,3>6&+&:?5:OSJMF+&@JECSkqnmrtpytdK=;GcJ +?{~}VC&  5~zy|}f=4DhrWAAR[O8(-5(&8EAFE4872AYeedgc]dxytt˹aLDFWrֹc98*.DTYYJ7,(+DabSUcjedmbF:35=T^\Sc¨kccC-2Ee|x`ZJD8*(8FF?J(J|aW?%JT" -~q\& + 3rrZMMamo_H37ZxЦ_A712)4JNDR*D?/E%  + 4ɤɳyB## ?~|y[5,1AIE702KxfE>OXN74B>:/FG:420.4.DX___ZWYchmu|ʣs[V[`iqtuwmJ.UUnZPU_he]dql]PLSly|jH719DSY^`x϶xgVE0D{{X90+.-++5EIC1,74.2Ф~e?33?exnG--('3UիXP]fdR0SWLL<3@QN@:2'3<0?Xcff]Z]bflu~ĒjUJMTWV[kfi|m@''4bvoSOamrsusiegz}[=5CQ_jswåobT;'JoP>358@HMUbsg)4$AWLkҶä~rr~tlbE9vżxejt~xS)FocTXJ>DMF==5+20Gbome[Y_cgnyЫ_GKWSJPl~ǐhfqeE87=?CC@]yT8>TjRJh}ʶ]VVK7'0qȸşpui?++,8ewmq_JHLIFH;&'+;K_t{o`UW]afn|αrUV`ZOZw̟t^dszpcZRSfm_bgH35JYeqtped~hLO^vĮsaa_SRQC,1Hx͠pUE?<C?,6^o[X\g{ӻwL'5AGZ{vo]F?Ikʻ^TXSHUrxhv|nbmb99Uhkk{mP3/BMUUUPD?FaόKGUemoneYPA-qe&(;32JU_lvtlkopqrtwuqjebY[au}tziF-'-,&Lecdk~ͺleY=13@n̺xH@OYdpzvkeqζoJ6aoz|}~cXP<).>CS̽[KTWYfstlfu˴pdk{fW\dVF4"7bv\G=9>Uwzd]h}zlm»|ɮo`{Ÿ\2&&>\nv||vttru{sihfb[Zciai^OSSX|¦e<Bcо֚u^SQE77@AMrY;?DGVhqmm{IJzurqjSDIRSE,1D_z||{z{viN31RshgtmqtmsuaX`~\PIQgѪE*EA50=Wjrx~|wvww{}nb``^[[aedpb;+)*6cɰN*:a}Ȋpqz}ufZTG99?;Ceø<&0;CN]jnw˚wsrpmfSCBDB5(4,1RUKHHHJNF;!  <^lnҵlpǦ}aX`H2$%>R`cZ5!(>^Ȧmg~M:qyaJHZfox}wzyj_[[]]_els~~pT;/(&8i֪tX?8'=dxt_WjwbQ`xyl_J;?C=Fkr&:IMUbl~ԼvrrpleWLGC@4[rZE9(2:(! #-* 6YruտtXgnRHG0  +  + Cjx{xs|yicmmp^>ozvysw}odZTW\`eny~{lYIB@83Gmp}sH2VpȺnT@>GIStsYHIIAIlͱg&?IR_lytplh`UROIE9[{Q3&!   + + ;d|ҺkOBgϿhPG>! 5Ylrl`hԶufYTnd86aտxdVJDN]em{s`O?7;B>9E^\zͲ~@)EdqXIADYsc\SFJ`X9EJSi͵|re]ZXSQMHH>(q< + 0-/3L|{øoI49jͺubQ@ +,Xiqnen|rkc^YVkc=4T«jR?=Oes~uN2()3=DECEMb;_6,3CZtpWJ>.7_kA*  /ecoxwdzϥ}mmkeZRTWSVqɷ^4/K}ũjSRe{k9:LONNPTwѸ\EFJP`s}~]F?54iȠV?FH@Onn^g|oigfioppwwD,6rϨ{~zuqkdekkff_N-(q< 3 ?`d_K5B]v{q}i]VB-/Fi{P, -\gvnu}w_\ee]KBFKED_ҴzP+:Xϳsse47MOMMWexѿZELW_ptnbL?ACRЙwxsVFSXQ`kbdkheda_^`djod/1cհohuz{{zwywkU8[{[<*''((()2O5((/L|^WD&;R`ecfu]WVD)(;UeeY6 +'KcvjJIO`i^PLRSL>8;<7Bl—fJ81>Wx}T04XdII; KV]gʳ~d\kwz{}m\VbmgZdŵqRZTlr|stifaYUTPR_\H-XlO<5DedhopptsucgoeL'):5 "!!!! $ ,OYS@W@7Oɦrw~|x|wWLUensx~oidYU\QJuźŀfFRZh{tuWDRuvR>*    3=@HLE=9;;=C<8=1%wplgir\9'''8[ͼӵ}^\f6/h7*=Ý|~syttk}_7,9Q\bk|{rmcetr5+dpP5ITSK@84;Qb_ecE)grjcnbXT>*IзraMGH'/3/};wuxw_eJ<.'L[_b}wupuh7vÿvL0,XZdO\pzW(  + 55@JQRLB=ARdklppZ, 7U|qj|yt}vW2CpyGpxyPM6>2ADZaEOivp¦j[c}rs̳HC`.H`mz}wv}FA<\ǯoF+0B[s~2  +%>>$  86BIJKHCCRiupkkjb=, Op~tgvralr,'NḻL[yd\WI.,8*/DPq׬[7(-Ns԰smcgnVJ?3Xz˸mHF˲M00hI +% + +&T`HA+# + /*/%g>>CGKJEGXsztzrT> +-LywxejwgTJZZ\eUi|ȷn@A~\QJ510"AX\8("%?__B@JQNKS_q{vusr#H__cHIf{~}ygYUay|KW}rʵpUL^pozo@4=7=EldK75;fVag]e}||vK5-)*DmdhrtX.&Qkoλjgntu~H~rr~mQ:00568@LwiO>AcĮz}~rӗaC6).Klqlz ifhohH2Lc|qk]PklsmnpegmrdZ\fnbNm[n6L\majwlZVSDAVoǠ^EHatnmjYB@EP^n~g1+=`őmvntgdiq}qW6).+*+1CQz~?  ?~e?333[ξ~eL7/157:BLc@>Oҭg[͸ظzP;(6MW\nֱaZ[_aR6.CPWg~l|P=hKRʸqpkycYY_mv{{mhoxs`WTB.CX]hgZQIKwwzequN7;Qox@18Kaf`agp|[02JZtwgkv{j]]_mzz\7/-&&Ame?&e~rMK}mWD@???I[q+3@oTζx]A-&+*;GLIRN?2Ofyhpty{}}viW;/EfyY/4D[ppbVBcѣyu{|eY269CѿΛ}ss_\_RKMFI]u{ӳZHN=7MgRTbuxW2yevkog\esre]exk\SJ>/1AFE287**A]ovwutrhc_T2YUG&*7Po}pR5=KjjEEJHIQ[\_klesҠqxqlkY:a{nzeT<=>MdzТv\V{r\arsnaQRbv~ѮaNPC9KY^dmu~qAVKesarssqwr`W[kxdVNI?:?;2)7Jgtxwuzuga^X1',+4Ig|W0(58519?AHVacdRF_|ΘrbJ*+j׳DZkVcqu{bJJk}sdadd^O?>L]iu}~}ֱlVTU5*=KT^mxzL1A19Z}}Zdz\T[m}i[SRH61)(@JXkuvv|ti]M**5EOZix~Y+&++(-4:J^ifaM=PjsqY<3m̿=3u}oPVip{؍]G;@Wa[RRTR@+3DPZfmtֵt__pmT?)->IP[sô?Jhy_ib[akxmd`^O4&/GMYjru}wcK+8JX`hsb/.358AWhjd]OAFPUi{kS;(GvԿtir^11h{q|vrE8IfʙZ;*5@A@EPW?,;@GUamʲyko}nJ-.BSZc|ówI-'@Y_hjeVNeļsegozvqlcS;1<@J`ox{m7'AWbiz^15CGISeid_YRIGB>Bayrs»kWC+.Fbrú~icjrw}|G1I`{fkK;EbѸJ,'9BFFSbP+)02>Udrvz{lUA3>ZvyvǼŪn`TG0<[g\QJNG42dsqu||ui[N4)*4,5<76307Ngy],Lk|S.*.-,8ITZaiida`_YWE2&4Uhiejzțs]N=86)(00/4?Xο~lgnpmr}}hE8KbysnYYW`p|{}~¦f5+]NIGS}S3Zk~sojXNKPiϳп~rrh[G0D_\PKTK1'Au}~|u|tj`I;BOculeiuosaAUgֲfp~V5'&B[zxv|oc`jq}A60qGBdqec\dqȹ~WJE@0DBTl{֫d.0M|ϰwg|rq~_NKJC>BM]g@('GZPRi|ypjjzWGJ<+<\kaabtrx˚qH3/16CXdha[oinaFanҏ~gq~S>=RpiTQ^ejyzjXi^SNj׻utbY]kw{eQNSXUTW[gL94@7=Uf|~aLY[K?UlS;0up|R4).9ER~g_jyT,(Tgo̙gqmI@RitdOFHSamvm:0=ZWkYJ14M`S]lrj`RDCIŐdG?DLMF@AK7A{û}j]kEoõ}{YEL_ɛwpppjVIHNLM[ij{k]<'59G`zODpR`Jv|{tΧlI8ETXauF<]dlײѧ~}mQ1=M^e\QNLObv|\-o-RbTJDAF`||S*(BMYsi_rmƥQ;L^&.=ENw,m`v̯s`kmh|9*YjeoˠhP33AMX[YWNLb^;CI\MHBfѳqjwQ?;>[nYBBIFDMfxsC3@oծr^KPcwĿ˺J+Kcqy}}{|zk^[RF?B@Gd~Z69XaexuTekQT}B)OiK((Pôͬtq{.5Ut}z\20@LVZ\[TSmͥxuw_@97I_RACKJACZnwhD,1o]G=E[wϼźF)?LUclkjsuib`WNJKGJb|`ITmsyzdLberkK.7Wj<Aqj=kžuA>L`qxzv+1AOY\^dhmƸ~u{hGCCLUM@@HME?OdroT0)lС`;5;Qw¿½{N9EJQbgZT]ea`]PKMMFI]uykr}}y}eXgϚ}{qU>JATZD>wrelϳkUDANenkr?+:K[aenxֳĹv^dh`OE85;HHDOdtqI.vƜ]MM]|βȾuY69MRQVecG:ERTXVJFIICI[liX[cddqtc]s~ypifY7-ASYI('-AZcgt^fҧsglv=.3E_idfv)0D[hp{uC4**3BHIWkys@*HȪ}ǮqleWY_\TORE),;CMTQORUTW^b_UQMKSajhmӮwg\VI2'.S[XK5(5A>4?_֪vK@RodZMG_k/+E\fabxӒ8/EYiyƽǛU8*.>IMRdu\1'8ETcuxmaWRRLIZ]TE828*4Qnΐh73LemUFX`Um{=8Q]\_jrv{reo3350+8JVd}ջ|դnFAPX^frzd@0;]}dMghl̍MN[RPlr^WJ06DMV]es]KQI83>HVu}||xhdpl\WVND<'/-:9+,D\l~hyΦq:7FI<@rX:LPS\fmqURagW^K2,.+->MPK>ANV`x¾~|ѩfNWcmuy|x`\{jXA+.Ysx}wf}s;8Oq^4KD+0GSYRC8/+BXeihaVYkrpptzqdm~ʭ˴sU\wָƹs\ZTG<944:;AQuf_DM_ozgTLC0-8GVgyz]am}}_OLE>JXTMQ\cygNC5Cwdl{™Ԫ}`UUfȬ‘dUĴyc>7wzk|v_sɵ{W]?G@6fY>4@U[ahlw|ynd_^ckdZ_~רb,0IRoǺtkgnuy{bC&2@Jbl>@^ʳhV~qbR?.4Vw~spve\ZN@KfkZOKG[|X46dXduդs~вpK92?_ib^jx;|~^dytǤyt~Ĵ^EA:Dkͺoh}ykqɏkoYQ^VAEwv[EH`mwwu|~ug^VWFCQ`gսX,&.;Sea[k}{s|gB*FU_xʓĝupfauaD>l}oSTvp[@>:ywnbG-;fS[e¼tiT3@HbJ{kó~nq}|S>TecҨwsaG@?GI52NgǴvϽps|wtmf^\ct{jW\tyvp^KCBL9IXtr}ʹ]4/6;GVrxg]RSQPhzukX5.Kam~|~u tP74TVY]V;'rZUQUn|t[UE+'(2Mdq|ztytȵti[JBBBA@-'24waGDcQ51Ȟn4(=6*1CUsĺ¿wsqaehgitpgjonyzhXH4+1:EZfechnvöeC14,0SgmcZU\nrmknuwbNJA2+(*.-6Nalogbhsyͪ¨ƺ~]C:711.252Tpɵw`E.*70&WqP87O5dͲp;'CEIOU]ewƫcB)B|}V5&5[|nrc54<4Il]17LPL`rؐ.?ZaemqkQMJFLV]cgisut|vM?OqnwmWW\dijnsz~WG::9=H^txtnkjklic\Y[^emqu||rii_V9+:BDGQ_vŹ~W1772'0Ni{kagbA'L`wxhadbUE88KT=?Nk{WG3&/)5Qo|ЙC=dyyupegױ}qcL@DLRW[^ckw}nZKOhT-+/5Jdrwxpimrbxy|\_ekory|qdbmjJ.>UeuĵUEȻ}ZaHKX\֝dDI/:ATkrlhmpke^OHZgO:W\gpɦnSA622;JA/UblƨgA8Daurlkcb~|sh^VG::DQ^dfjq{wiWO]̩Ʈq>7DLPWcjr{wsmdOw{acimno{mcqtG.;Rbo|аR8;ɻŹMEGBUi^l&.@IO[ee`br{z{zdNU]CR\bjsвmhʼuEBհp?+(5DPX`djpohdl\\S52?CD^ïsi_\_VB(4Sɵ}P3/8P`d`h}H9NzumgcWGB@96D^ssv|pULMRauƭnkpqnfWLP]d[RHCDJa`gi^Vez~aT9DKGM[\WW^yn`k­vwcPxyW1&KVN8*MYcu}vxzuomztq]GL\Z\|̯shhf\VCrveRG-`3VFJrA>8=dNt[\9_iMCJIWZ_)R:TR\vsZ:Zoyug{j^adgcZ[V=*'dn[^ri;FbdRaW6+a7<tsm[h]yjya+)(5}Usml3[fb[0*{ssj{qiA+1EI_gdjmmeYj_^ffe=_lbSh_lakrrq]G=0RP1u4?>?EWaB-*6;gblt23?e28"QSF:(7-)=0) + - /([[B\m(')9(~? ?"',KJF:@# (AM/ + #Fx[(7M[.390B+[̤r3  +(55(sjVI(4($(/2;R|{Z;0.3QbW43GMT.=+:85we?( +w_[[M95[~[E[mry̶~rnx̴r9BKD@sTE26A[{? +(5([ʢq=+IQSYR[p3 8]vɷ([t\AvLG`t/mkB(|?  /c[ȯ5[[OJtP);P`N`kuvhO=Peppr5b<2? 0o((̍[[L92<5LR_^[Rbruq\MaM^uo\HWw|sF(ӕpoe? =~̍Ǯ[555555((5555(Dwp?Q^VYagqrc]j*ZtwgjW?'T~N8[e?07\[[G1,DOLeueV^nqgW`IR;[[|hX|(55[[[(Q:iLUFaF(5((̧s(555([[((55([[q;H?[[(5((55([[l[[(((5(5̍5(ħ((5([m_Z(5([[[a8*[[[[ (5 +[p[k(`>( (1;`(\\G5{;  =~̍5O(5((o1   1r̍5[[[v= ? + ;y([̮s: %5([W>33? 2;[[(НsR%!)Gz[(5[p>   2p(5̝e<*7n[(j2 >|̍5[q<_(5s>  + ,Pz[)'[H[[DFcLZv&8V;  #?M<[[(55(h[gN 20  + (5(wr(5(Ogy[GSYgR5((K60<\iHSe[hmkquw]5> <6,8U[(5(i{qt~pomqy}c(3 / :l([[Smo}{usu~k{vxh? - 1d5[heXYFL[kxycwr{xsjqc|~ʭyN;-1)?3?3 ;i(((+Etzo{faowimauduUMbQ;>1A(5O8.8Wz[5̍b'T[R97@DF^6Lq}`R8YR20IR[Yau[(("GQ*?T]y\]7,FPkeNrxdl^(5([[ "Mj+G^d}[2I\O_[syssw[[ 1\grBNCGlnvs[[acJѺqnN.5(2`{((L0xhE5CZfWa5̍5 oh1R]M,&/e(((04[_I(S`YR[[1A1ZYI@bie[[//k\@Sjql(5(%gdQ'<my{vvnM-%?eTch^v~eR(14):XvXX|v~,,8BHR`f{K4,(-;FUToN-{85/2Irxȼ2/SZqENQSeww~th`DJ\\[XSUcjrf1DIeq(5(([[(555([[M(5([[[Ͷ().(`XR(55[[[jgi~[Lʤe(尜~md\4+n[((555(6^(5([[[~V:0' +$~[(5([[[̍5(555. ]q2 2oq&[[5[{[~> A[(55555555((̍5(5([~? + >~e>3=ar3 +(59~[[[c> =[b/!/`[[R" %{|= +>~e?33?e~r~rmf{x;[m3 ([p[[cw=0wl%  $^[z, \r3 3re? ?|e>1.0[[q3 .r[F,([(`[b1 IF2?NV}? >~? 0d{> +<~́}? ?~['[(5[(5( 1z< 4de?3?er3 1[b2 +0ṛe>3:c([̍55^/J)0nD 2(  + +5|q}~? (([w= :z[ߤ}li̍5[[(555[̍55cQRX# +3r[X>X%!*?[(e;(e?33?d[[β((5([̍5(55(5̍[}nl4 ?~[((55(OA"  .`{SI15(5f$5̤~rr}[((55([[[((([(([[b( 8b5( +(55(([([5([[[[[[[[[[(5([pI<@G$8T|̍5[[[[(5((5([[[[[[[Ʋs(M([[[[((555((55((555([[([[(55((55([[([[1(55((55(To2_qp|(5([[!*!(5([ads[:???:s[U5(D60=`(:=/((4q[CUr'- =q5!?/ 9(N% 1e5*?(P̍5 ;k'!?(  (x5&-9Wx[- X( /esH P[%Um )[[ <̋".W(R#-ENUs[[[Hfw[[[(5((55(;*09? *8'3 "'3 -9  + $& +  [mE [6  &!(5((g04[[5I8&[[(< +%)5(5(%g([> +([[&Kp̍5[zG[R ';c((* (~r< +>c[5̤e?32 =k[5}?  -( (m3  /=:55([h2 9_[[c< [[(]?3 (}(5}e?33>;̍5(~rmpe([´pw[[[55([[(55((5((55([[(5((5((5555(([[[[[[(555[([[[[[̍5(((([(5|n55̍5([(d?3((~r~(5[[|?  ?3?e[([([r3  ?c_m([[(~(  >hz[C:[[[5|5  3o[{uz:@0%(5555555((55( ,'5p3 3r(/i-:=0)%+ + + +2ESQ(p3 ?~̍53/  &2Lc;GR[[? 3?e(̑~pX0)  + + +   8`@ 7V[[5b?3 ?e~˙WxSSAtz +.< 6 +0<13  0\? +/I(5(!F~e?3?e̍5|vU~ic•GKBrm|wTH`=c5&!)6%%<22Kn}N_df<Xb[miWX=Q>*+lvzBO]zXnPIK6pZG LA0&˾ogM/@Gθo|W\5]b>65i]W9+nf`XqZQE_ON]xu~u~cnrRwf'65;TOYjL:'wcGPmuZnU|)YabHHC1*)uqN7M[[|UA.;R[_c[A4('m5Pho+(T1pujkH^&eoX>2[{xL``~xR>uyjL:IXRtz;DRrKNTfo/ic7E_V^L7Lfg`_H[lqmfHTl7 +     +   355(18..+-+82,+)),G$  +?~[55(2 +5Vwookia((zpjmg_mh7 +25,8etC$!( (.<`ù55b=0+1[xmwaGX]]=5=\l~( (ݤ~pcEf[) (5(5([ªu﬛[ 2[j[[[[gM)) [[(5([[[̍̍532  (((55((55(55[(%62[̍5[[[[(jp̍5[[[[U{,(555((55(5((̍5[̍5[()Q5[[([[  (5( + *( (5?w[ZXB-[M-cw{?[[[[((5̍5 ((9^[Hb̍[!@( )[ +%- [[(5" + +19MU([[( [:$#)32 5y? $(}r>(`;-/5[c7[fVM@[W[lT(5((55((5((5[[[[[((̍55((zpr|[[hO4/1  +(<@BDA3 0(5[p? +*][(J659[[6$$[ndpfkpC (5! (L[[[BFLddE) [qG)"*'-1"05([[,44! (55(0GMD.LightSand\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t886187581\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Fractal\ttab_FractalMask\t1002\t1001\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t669011477\tfbmmask_filter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 \tfBmDistort\t1 +GMD.SandBurnt\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t197004853\tdmask_filter\t0.00000 0.00000 0.15054 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.44615 0.50000 0.77692 0.74615 0.78462 0.40000 \tslopeDistort\t1 +GMD.DarkRock\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1389070781\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.68462 1.00000 \tslopeDistort\t1General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Lush.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Lush.spn new file mode 100644 index 00000000..9b8b00b1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Lush.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Lush.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Lush.ter new file mode 100644 index 00000000..9c4c139a --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Lush.ter @@ -0,0 +1,1623 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAnU8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPiyV-) h T 5 B #  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H % B = 5 C j />Gni<Kr_)P4GOz% E  y { C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ e D o o [ L 0 + } 5 =Q$`G AUi}G Z%s _  r  )   ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +   o H  + 4 [  /   / C ~ *y$8LLs`$y= > g  % V  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U  M o 4 j E 6 = p 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C % S ,  > ) 0 "   )eLGod__ 6.*  'NNN]f +5 )2d ` . S#7u + #<1 g  H W B : e u    5 7   o A [ I`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! Xbb@  h / * f g 5 [ H 4 t a M %  + + + + + + + + + + + + + + +> t  Y . 4HYOMys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + X V /  [  9 _ v o [ H H H  t 9  + +t +1 +  +4 +] + +- k - g % S r v g T j j  =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U   o m C  v M  +s +0 + h < , )    X  +N + + a  P : x 3;7  +  + ~ $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / / !   | I  v 9 +o + + P !    Z F + +9 4 Y , o '`yO0 ,0ENA/# z , C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j I C @ G :  I M + +0 + A  K q + +M H n 3 o AeB2rR  m ! C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j f v t l ^ W 3 N  M + +V + + n +   T ] + +9 t H o 1 m @rAd]E)1"%\ u 1 C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB | n s k e _ Z r 9  ) t  + + + +{ +G + + +> + + +% M H o / k 4 ;SJOFUTaUE?9$} k / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j _ c ` [ U Y P f 9 8 E H a a a M % + + + + + + +% M b   T  R j u(/8?QmuoL21-V  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j WhTQ<;bw ;V } S ? C ? 9 < # ^ Y [ [ H t M 9 9 9 a t q v 2 F f N<JQ7U~nJH H 5 8``s dQ +  W v!5N:! edKd  4 k`dH0W"|c;V j S 0   o [ [ o N & u z Y * V j q8!Yt{lnd & H $y}P7$nJ W N]5N4k }< 4KC9&9m.IM+ j j /  +   ( ( ( ! ! o [ H H f h |  Q q  L L3HOX" * i 9 + + +t 4 j  =nU<#%[  b55]: + <nL  + . M$y/ j / l w E V C C V j  X $ [ ] + ' 6 [ +Ou!   P +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% QBJ S -n88e V  u QP Qeye* j j C C  u | a h H [ j #<dE c  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/]c6, 1x ]8LL$y j /  GyyL8= A \     U h Ozf: h  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ Bj0@7By# >$Ls`Lk j S r/\wyeR3R>* L G " % ; E M 0 b ; @  [ &_oxh]-  a +> + p!5k R + +9 [ *n.rG k :pp:! + H V f-@=#n?``*~ l`nnn3  } M h  + + +p s A Bfh^L w = [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 \;8 T)s>GOg 4i}}i. / k + +N +3 +k + +# b e ++MO. K 2 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `.,KnZ333G33$)Bn )wP)A3Ly S ,  q + +# +  + + +  s  X  M + 550 > + +a V V ! 1 +:N]p]N: + 'Ocv xa--O w_rrrr_#wW { 4 H i +! + ' y n +  - b u ] } '  M z + I!5 > + +a  V / o M + !'N5]]]N: + F U(O$GhhG!>UT%v``32ss$PUt< O 3 1 h + T 7   + +   * G D X H  T  X  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3x_Sepq%M@ +22K 9R/l 6 " M +   v +T 4 _ #  K % R +  k f + + H [ + p!bb':55NN z +9 : AH B.]q]UamjML5$w?Kw)<P(-Krwine [ F g + $   + +h % o l <   7 s V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uuF;A:"45 vG8U 3UUc|OrC77An + o    g X + + W   1 b C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ@h-)~dpO@MKbi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > | Z   7 a  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Nrg? +'_+m+ 9  N +j +H +Y + + +I  % W X @ K c V y* j ! o M +  INN f + a o  AZs 4I,)Txpb$K!1P<#&@rG$ G s W ` } 2 FKF  z N i T c / QL* H t + +W '::bvNN' + + +  .nnn.RI"2v ?]omhzzT+w|~tc$wG8+z % F i L X e  V e$s3G*~  f + ::::vpWk z +M 4  ksG AfT i}w(i5~k^Q$o7U\lO5x t8:" j % t 22f k [ j j   V $nA}Am + +0 5vN: + + C i1"t-3]cJw,>AJ[Ki$QV@38$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4Uh= )AGc>xnP8PNac*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn&4aZ#F_4 #`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xGLGasnU)rPAJk#Lsy ~ w |  ( ,  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}ddfrV&_Gn* [ ( y ^ ? [ j esj ~%/ + +bvv! + / C*%.(?pLYTPHe/yVIJ 9 ihx#f^NbMA4eQ C o 4 4 o ? [ C esnVmM t  +bv:'v! +t [  j MUPTx{E44id[FFZ}35qAyph} 4$ j [ V  H X ; [ / e$}r9 M b:Nv R ++ / Mid&tBW&#G,5IIFvG64n)n_|wd4n~   V o  C een}Pr}= % b:N5 1 + o  `iPj0 y)X o!/7_`7E]lpsf='ZX#rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MGj <Iiw5AGphA  RZ<_)$ j V E  o \ h 2 =`})lh\8#V + bNN] k R +9 R #)1 +)i .a}o/4Vd|lj"S.-P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ iaN:H8 .G?S~L9n{TO=*yegnNPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.WHCNK2+(9LE}iZveSJ[c]oI:+yQ==@}Ll/By=** / [ ! =*34SuL* t 1 +W vN'v5p +t 6/;1k|`dx=QxUZfC ;V\\UM6Q*Q`%yh$=* J > F *34|VUV + INvb!] + 4  +o !4H\4  >QeQ-Ud7wy= =n4 >~|j`$y g P `  { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA W'MZ= L3mmJ`$y W   { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3R2= V C C ~ al HG%Gty T 3 % _ jy89RG +  j7v:'p +M  Y3%1J*%%xiV}yn!a{xn<<<Q* ~ C  so1j3se j >  O?Q*93I$e   +D 0v:'!0 +a 5 /Y3%b(PBs$%'n= qc C W DLG [i t8= > z ^=2m%Nj % R + 5(v:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y n  `K-3eT : +9 + D6v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 4 ((( =$Mg M + +k X +v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  / g / o ~ =s$Q j /  ) x \Y4f M + + pkN! R + +9 M a [ V QL` wC!-H~ QB//Qf ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ][+ :]D  + +% o V ~ QM}*~PVH_<zb} ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 AuANI0 + + + t 4 o  ~ =Gj\eeQN>exQ==a~G o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e Ne*5N: z + + t H V ===.=e q*C[LdX d P * m k D D k  [ * j C /   }    _/: H  z + + aN5Nb! f + + +9 H / XpwjkisoL3VqQ=w}Q)))Qe S/ X w N A 3 8 *  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j \lt`V}jsxB...Vx|oV+ m s 0 > 1 X j s t H   n n Q _  T @ B 3 4 3 . ? A G o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C 4^b[cp|z^lg@T@m +7W h Q V k D $  C 1   Q W e k 1 w # Q Q e y n  2 A . l N E #   9 O  v +   E m j / 4 9 + +k 5]v:]k + o * /*19>8 *Q$y`y= \  v h e l  2 5 /   . 5 5 I Q E   . E M L ( + z | z x y [ F \ + i  B ] +l H  / C C  + +W v]v:b5I~k > +% N t p e p f X (   / V =yyyeQ= ` 7 i ;     6 \ n g ; K h f ] 6  > G ( s ;    , A P [ X H 7 (        . .   + + + + +R  C +% M H [ H H M + 0 N''pvNbv!  + +  S H / !  / ( 4 [ / C C C C /  ~ U [ 8 *      C +w +T +9 += +Q +v + + + + + + + + + + + + + + + + + +z +X += + nSqiOpfKm P +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5IIH]D + + +9 a 5  + +9 a t K J [ [ [ C  w t p e [ ` a d ^ _ ^ _ a   { m m +u +# + +  +, +9 +? +B +M +6 +/ +. +2 +J +\ +U +K +D +A + + + qk~=Oh} w ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]s7$Q~( R + + +t +_ +_ +_ + + + 9 M + < d  +  w ^ J : < A 5 ; E O ] b h h c e c U V T Q B > A C G ^ : + > N I O Q c b 7 N  L +  + + + b LMM1 7 C G Z [ v a b r ` 5 }b:l::Ij~ > T $ +G +Q +7 +3 +) +% +R +n + + J +$ 0mm K +  + + + + + + + 1 F P q t f k _ l J E K Z 3 5 9 .   + + + + + + + - O Q % + _ s  ~ ~ ' pmiEk   " ! #      ^:^v::b9AY$ t  + + + + +: + +Y +  I + +~ +e +f +s +z + + + + + F Q R b h l f M 9 6 5 .   " %  + + + + + + + + + + + + + +c +  + Q 6 A N P E L N ` ! qOnmLmnJ.X   yxwol`&9l':Nbi~,O E ] 5 +D zWfj] 3 + + + + +5 +C +T +] + + + & 5 C V U K &  +  + + + + + +n +T +\ + + + + + +z +n +s + + + +0 + u S [ c b [ e j w  tliNK8% ;]v:'bjlp0v  . & K 8 ; _ ]  mC  + + +4 +x + + + +  + + +{ +r +u + + + +h +6 +  +" +H + + + +o +Z +X +k +m +{ +u +g +5 +$ + + + +; +D +3 + +- +3 + +- + + l  ZQ Te?#pvl>| Y +}i Ef  +( +K +t + + +| +u +_ +, +  + + + +  +5 +z + + +r +m +n + +q + + + + + + +~ + + + + +u + + + + + +j +] +5 + +  + +  -!T >   Y;[,$ pvs1HP-('<E"FF"> g k + +* +& + + z  +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + +e +K +> += +L +V +S +@ +. +( +( +5 + ]C v h E " z4k:pv:bHPNhE ii E? j {  + + + u j  +] + + + + + + + + + + +  + - .   + + + + + + + + + + + + + + + + + + + + + + + +* ]W +>F u +9 + + z M 0 q1{<!pv:'b5+ - '   ' 6 = 0 ( $ 3 '}Z}. + + q # +a + + + + + + +  ! - 7 6 5 5 M < &  % (  +    + + + +        + K 4 + + + +R +A +' +$ + S * qJ@VygO*p::v! W  x R : . T ] f k g ` g o ]"//"]  + + + +! +" +! + + +  + + +  +6 +m + + H < 9 ! % / N l d U D @ B O 1   1 5 3 7 > 5 B C B D E C 4 5 H I W X j ~ | , + + + a M 8 + + + + + + +R + a /VlubAqpv:'vjW & +B +L +F + + + + + Q"t  t"Z 5 +@ +> +H +W +h +Y +[ +c +\ +\ +Y +Z +T +O +S +Z +b +c +B += +5 +& +. +: +V +t + + Y x } p ] R Z P D > z { w # 6 @ 8 " ' 8 5 %  t o T O _ a A +> + o/"/Npv:Nbv0 > + + +$ D 2 8 %  + + + + + + + + + xl6Eqf + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q O e ~ d _   ; W ( 4 " - 5 : ; b h O O N N A % 0 N Q  + +I 5ub:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)7 ) + +  3 K R c a a a b b _ g a a d s u w { m ] \ \ ` j y + : x l _ -    R     , ` U v w w q b c f | Q PQ l : <  # T b T 9 / / / ? l +  W'c1pv:'v + + +t [  a a M 9  z f ? + +  p + + + t p           +    0 l B ( C [ a C U ^ r 8 : A i [8`l&`&  ~  o + +k 7U]v'5  + +9 4 o / )) h A o o k c p m l [ ^ v k f _ [ J a q v z y N = : 0 / D k    +  W ( E h u N]?[||c"G3 +jYD97E\qeeQ* C +> + D FfpvN5D  + + t H u z| j j C / / .  | |  A f x j O / t J Q ; J ` H B . v ) c *Ga}_4: A).tXucQYqQ~ H +D + + " ']v:Np D  + + +  , ~ ~ V C V V > o k d k a d = w f m  , 5 A | QekPss>b<MH.M9xaPMdeeQ C [ 9 + +f + Np:5] k R + +t H $DD3y u C /      u v s o v f  T 0    O q  0 d *e )rJd"lA;/iZ9"** C a  +f + Np::!]0 R + +J o &\S,  z ~ ) r ?j`  '   # . ? J p e 2O3'{v"J#xi _  ~ H M +z +  bpN5   + + >  6Sp=o o K [ N @ N Y Y J 6 ?/e "jW/ D ' _   , 8 G L @ W } *e LL;&j^_#.M? C [   z +  5b]v:NI0 + ]  qP} C m +  \ QQ*`ss* HW J \ w . 4 A I U V O Q j Qc$L9"'$nd `3* V H t M M % +2 + b]vNk + + K 'k!# r  v ' - d>sy#@pj  C h p [ W T ` [ s n =y8)L55;HfR?My V a + +R + + V']v']W + kggggF $=HW - ?}=5%snZqxa+ { 2  . y +j-$8r&:q|TI\;DG$ N +z + ( z*]bb]k  + + fz :h{ U " 2 g/AI+7GAUnJ q M s : 6 ^  g(cJ7%@a|}\(0yPi$e 4 t +   si"5bv!q 1 + + YYE#e X "XZ.}U9e  f 2 T ^:**==B[93GGmF frg"J* *j 4 a + 0 7 5bNI  + V~\ >V f) w Ay"wG . ` V / C j $__shyvo<@gXMn#\ uK~(g%'}lFbv / 9 f + Xz25b'v0  + + Cdh#> He y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 Cu5]bN5 + n:>eVo   { QsZA<LV!u Z7)p .n$rzs]m|Z-DdXQ~ [ +  N35N:0  +9 xMXU98R B  T e$}dr.;X& *Q,CL;90*O!:Xxp4AA s`g|;=[V>DY=O1.e~ : + k4 +5vN] + j  <c"LwUM8Q ~ / U # $ }  j *e3.j& N1Q ZlYRMICOc UU4 52G& :' pBA N f + m"Hb'v f + e7Dw+wG38= o h :   q j *eGUV r+vCTRcMBJ<53Q n Uif@P+%fu r' pB[Z$5 +  Kl45N:5 + `8ZKm< ` x C % 5 e + QbWiwtQ7+DDD9(%8sZ UxrT9oEpB + +k  _X1 +NNj0 > +a y iwr +Y^`7  e j   ? 5 V B )|,})Kcp7" $) #DsUhJC@ ..EEEXlXE1Ew  R + k  |1VNbk z + C $)DAL%y ~ + p : B R [ B 1 V >y}<=) TZ0W$8$E ip```}AA.K<U : t + +  .P +N' + 4j)+L7ZXu$ C O  / 4 nmAP$t;m7GpAi{srhfiU.''_}i  ! % R + ]a":'  C7sR@g + @  G  0 [ / (14BP%%D%R/ S/*}A.Rfzz+K}i V M z + 5\v:' +t ZK urZ  * d W u  [ .OL81 G5vY7*v +Znt/$iB)__)w}/  H t + 5&v' +  Z7= nsFe. J 6 @ ` K (P [?BaML8v!iU``8,{g6d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. ( A 1 < J W d K n|FF`[ Z"4P_G}dPGG p> &_rs3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 p > G Q O l = =.V%?f6 ij8rj}ti:&#%%8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ =  r l m } P j y8`sqH9 +M i)sOt($d4Ma9', LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T f J F /  $ j y888 -dKUP U}T#wAi{L;,H$LGn@ +A)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu W 4 r Q C 6 $ ' j y3VVD3 8w3UPrm|Yz!j#wUiS]~ UU}}U Z V o + Nv:p5  + + * i}4Zy* _   h ^ 5  S / j y3~<nT%JM~Q7A3H4*R j;Bwdqqq=3s  H M f +W Ivv:: T +! Z Zn3sQ I   k  \ | O 1  K V e"2*!.qe`r<v|mUG0yyj7jU<<}qqCnnZs  o + +'v::]K  + +X . L 3sL=  ` l h Z J V : Q*{IZ.F"" 7cn|EEW.2iiUUq3,'/GGG`  [ a  z + pv:5 +^ T W*y v A ? j U 8 @ u B!*V|%66.ch2G!X,'4="2ly a +D + :v5" +  H S Z d X  V Cyy=    $ p E Q Gz"LJAZC}nM-]UO9nWs_1s / [ t + +] NN':':NNNNNb]r { +k 7 D + S + +9 / C v   K t o ! + + + j ;SthgG$]s)43Z&DR_U50;9>^dR!3#[s8y ! u + " O'N'bbv!I +  j j B j + +  +z + C j C  v o {  T t {  i 2 R +j + +  +l +@ ++++`9iw_x&v<V-$n sFSNXn}\!+t2p8V  + +W ]N'vI  0 + i 0  ` + W 0  W + x \ c x 2 E C +  +7 + _ 9 " 9 f +, ! W yyee T|ZMLU<No}CO,,s$g4appLC + b:'v5  + + ++ +f + n " + +   +M W @ T i  L a ^ ? + B } E +L  =etV$_ssss_K_899X) ?>Yi}UU=?`Q~ + bN'I +M t o / Q   + + ]5] z +o  4 5 * G k 3 w  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R +L +  bN'  +M }  C ~ H +1 +  5] +9 + > z  R R  +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||N"u  + +W N:Nf + L>>eRe j H  R + D ]p +% t @ . l z W + > lH j +x /     / GAi}iAe===y$`;_,*v9 + ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a ] " T  + + * ' r +s 5 Gn  nnnZ%*= e3?5j[/RKke 4V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o x $$0  , + + J + + j L j  \ 8Ls9``s`*= V / j `j K1'EZGef #= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a o @]RIJI> + +' + l +  j W*R*yyC C V 1 Iu|mJav4fQ*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ WTs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \o%O '*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H (IpwUx p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\{^{HS= snU.ej M  !: 82V}$=  ~ t  + +M  ~ ZoR2_ W 3 o C  # 4 H H [  8 :pAUAz4ct6> }<w3 !:[  lh2V $$8 C ) t e@q}M3)Kn V / C { A 4 o o o [ [ [ o   C 2mI-Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  gSeej[D=O@K j g  ? w M +   + a 4 H [ [ [ [ $ F L R H ; U <%!r4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ @ QnCTWQiJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H ' U n u r c ] 'NvvV JERW6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C ! t }yn%GqlEBTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  I g w m b ==QiYJ |  a * j j y KP V  k ]':] +q8)wUG= C 2 ] o$KwgZntvX ~ / [ t % +z ++ + k W k  +R + + +M + [  > a i a O g $ !WN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  E Eyr*X_M<&P ~ / H a  ++ + W    0 D W  > + + +N  B l  : N H 9 B h ~ ~ t +JMkkZ57  + + q +  W _V 9 k 5b / 21c2)B.G*e C / d Dtl\gkpb7 *c~x[9 f  o t 9 +z + + k D     0 0 W   +f + + C | # _ u    !  B C C  e R\B F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j ~d@7;#   e & o 4 a % +z + + u D D D W k k + +k + + . H k . , C O o [ |  o3F+}j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* ${p? q m | r l m \ R I >  j 4 a 9 + +R +E +I + +  ++ +R +k + + +) + 5 X k > } z _ ? . ;$ B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQe|~T* W + 3 +  %  H  t M % + + + + + + + + + + + + + @ > ? J W n r j c d m k $ H H H ?  x `yG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiML&0Q ~ M o c G %    C 4 X  H H H 4 4 H H H  r t y  c ` o Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL)ftB= Q ~ 3 y i U b " [  C j   j & w X D A @ 9 : , 2 = H 4 4 w _ [ j Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s]\sz;e $ I   b H =*ssRy/ g g a Z W H ? [ 1 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n rjH j 0  + ( G | ~ V Z j R eLnUiG s+e= C  h : i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GU= ~ C L    / D w  8 1   / ^L% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  z   ' *7j1 wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V   $ K s H)rG.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ M8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN::::::::GMD.GrassMixedLushWorld.GrassMixed GMD.DirtMossyLushWorld.RockMossyG*'(=BHn{zwnhnnJ1<}}?IN{T*5My~ebfdt~uq^QqxjZ[qʠhFytPJdŻȡ}uofdhxzjcno>,3LSIAX{xU(/9X|׽u]TRIFGMUqu|}qgZ>+:ORJRf|jQV\QVa}|zwngnxpanpq~xUBSl|ij~X(Hgo]M[|ss}ui\`q؄:I~oQ>=LjyzyhSJLSUU_gt~uYPQQ?*6Yd[Vgs(3VxӸkSE;1=KJK^ǫļvkosm_WQF,&,5D`zv~~}zvvvqpvyuxphne<(UvĴ}S'(Hh~{ulcflq|RS~eK3&+@QUTXQ+8AJYcitwzrhcY;+>HJXk-E`ʱeM?2,?arxs{˱̾{zrfP5,+'*/,8i|phikpst|wiv|xh;HrqB9VewĤ{vrmjdajt^|ȸpO5(/CORK8,:GWadijou|ũ{zwkb\G')89Gh(9J~ªkP@66KqĴì}r`I.(,5uykd^YVZepz{gt]-Mpʴ^1-JYkѸ~yvskefxئzR=M|{c>/EV^[K(6GV^abcjpv}uzrrrg[TF,(af'3g־wT@;?Qqøys\F:2(.1)G`whgjaVTQQcvqxs>3e}ʟ^-*AThyľ~tkm|;)(2HXdwxcCW{ývO.,2+;>?>8(62AS{pQN[hz^.+Nyľ5(6Laqѽx|}ldxD1@LSdsy~yhI7CUhrgI,;LR[cddfhhwxrrqdO8)Y^S1ER}ƪlS?.-Jp˸e./*)4KVdppE070Fe{PLizT53>Tp}|tqsfh9&8L^lջren||qm{}m^e5NY\hs|rfapyS/)?LUcnqpoquvpmk^H3+*4`y}rL)/NXkŽfI5.;^w¬|;/;;8Lkr4)('KzZSrjO;69BXgic^`cUUrY8KV+4ETgвqmj_]a^QIQX[`zp5JUer~¾xs{O'+?MZjuz{{{~sicbWE67@=Roz[LFK@3:FKFYz_A08Uu}ooʣlJ/'7JC0@wq/.?^f`VT\e[Yq~iTU|qXY<-9FYrubammYIDA>`nqv{¥wqi_O>1-)9P7Uz`=>ucJ>?90*)'QjMBANT\nofbd}ɶv{zhUG80:Ob_NCBABIYnvribfd{ԿrUDDB>?BHSbtŸ~g`uiOOdt}>iΩo)Ts}jy;p\H7,16*7UdfYhjYM7**-&Cqȳywus{}|xub]yYGb~b_d[H?1Eszqj]PTX]ntreXlǫzlmgP>1)EZa[G:4/0@b{~wnxǭzmcPEDAGWi{m[okt}=&DxǷn.:t~~~v[cǶqUC5/&(:Khqjluvj_B14=;6;Xuz~oOFo{xk|jR7,&Gi}xpi^hwsaKZsq`<*(W~xY@3)+Dr|ʿqUF@MdvuugWmĸlO(.EfȺj>.LPV]hppou|~|zvlw\:)0@KNICBZzyno|tpgX@')CPPRWfgUTsx\I4(&,;g}yzkgvɕD).H]D31Cg~ȗ^GJLUYPBFcɾejuf[bwfC--,4?JVepibi|}»ך[=-)4FXaa]IOq{o^\huykk]E32I`icVNSi|~siqoM*)Fxwjm|8@R}jWFBQmΖQ;?ETZO==Z}̹dPlrXMT^uuS@=GG7C]ejori^cyȺǡsI0*3Hcx|jezyogWQYagWc]E7@Ylrl_PHNZfppkov{}ʹқqN1Z|gcq}k7\ffdXS]pدr=7DKVWJ?D[{aSY~tC1HelS61?fgOJMRO<)d{vuwtlfkz׾wC>iug_]NIMLME`gUFGWjtum^NHJU_\]hmjhidn|½̏qU).Ck˪v[T^i|wz]@Tcskejxd=;GNOI<>L]yhG6Mu̡pazuE&>fe?2Gs{xrdd`ZUE';~|yzvrvy}Zb][50dri[YMHH?9Jgp`OHTguzvk\SNQPOXimaURIVOzssњ{`6(16Ek^:/Uf{|wxugF1/7;:7?M\szcHDd{sQLe|^50DpnXYjwzoky{zse[K9(Jyvzxuyyygnbb;0.&Ktyl|ɲwmXHB:9TnteUNXht{{ti`SE>@O_dZIB:MdeҞt`btέoC4?AGgYHbfjqo_Vft-N]p|ŊmX;63-2;DO_p|hXb{uwnoqO@CWj|}vmcYbxn_almcai~jUA88/5^ohmonoorx{}n\`Z1)44+&2UwԴrQ;4=SjocUP[fouwundN??>96=C;5=`ө|xy˱qNFTVVh~͘RJ_bhpoZIWzC(F^m~h--*.59GMTcpmcs}qjfYjxLIO]m|x8.P]WZd`Y\asjH03DILg~l[[b_WVcjbW^vqL*&,C~̶f@0-;SYYmnULND79LVL<9UquD+'.(,bc?@\d\PF@BJUXTOOT[eleF/CaѪmkhlokhj_HL]fzŷsY]|xg`hb>&(;G\xz{pž}[>3..94551?NYgo}vhgxugYH=COdzod|D/JfscQXjEZ`}R98J[awnZI/37.(&8qcOC@`κsWNjl[KD@AFQ8Qgwy{tJB]sifj˷jvcvorư~vod6(*-L_rͼ}v{quWP^hn_NX_[PYlvuz~~vabmzukc^PEB+&2IXclxmddskH4'*957PMAg|Z;01Jo|kkykYXOX_bkqT.-'',A[dîbkWE4)q­}kuvbuyiVMHILW-pzV.+Kevuu{awɿ~ra3Sn~ѷĶ}v}zrms{{||YFRZWh~\>((/GWetxpihv]-4B6;3+2=WkontiXSCYIStƽ{qtsuŲd<+5:3+06Q@]{̹lv`H|(9||xewzuzre]XY[aB.IobO:4Jeu~uxzks{b'>Xlõ̸tvu{zyD@:4of168Z_\WG[bQFY{hN1&.9BO`}zvrk-Jb*.*Ihtseeuļ̼{ãwO<=?>8.,KXYɸk~d?.,Jwlmt|~pͩ~z{tolkq{villrUJDC>>Pab|d:=Rhɶ{aB(3Lt§}}tstfgID=och2z`X`L_i[EHfrsw{Y;-8Aq׼cfvqT3-amxkch¸f~|oӟk}gjylP}{vdvT8)'&D`ʽe98?Qx{yWQuƫytm_PB<2(:Dlikplwѯsdc^NFQQFZcMnʼصsL^|wO,?i;nUM7+,':vYV^c[PNֻzE9-8Fi̺ʆia¨x`]vJUxx|[NW-'Q-Ico}ZUMf)()j~ɶ20isfQ5(->UrȰtc8-/(*1/2Q`r;0*5gF.5l@CEtqd`v{OCJ^F_jktаu]E4;Df÷|İx_3>ѳxYN->LCǬGGH~lX]}vzfrkt@++,EWδ,)4?DBU|ȼqURI;5Ewʬa@x5/mH6/@mQ.4B־lhx|h'&1û?6;CEʵ*OxpA,9`ŝcGLWszM@5.c_Q.6=0-DPM9qʹlogeMY\{p\2+2PNOgƸq/38;:2;WűvX2;V̡zi1T{ў^:+?lyU+/@>DѳnfsvokfWC3Wu}xLIOLq]D10i;ϵ|dTTmmSLW_bcA>()FM^bW]x76)HC/'2GUJWƲ}SLcsúU=Y|]KKd|uJ(RfxlJ9Nfjhk~x|mrphd]T?(6uQKHVįA)DYcmy£ѫnB4Eq{KNMD|dD(&2pjrulWLRXZpǴɤaPIEszp]RPPP49,/WZo}qX^vN@+2H[fju~q}{aRkĵËN74h~c?7?S_[6.Mn`Le~sh[pwlbUI74c{ZXOG̷ȮU.&)'ANY_gUChη¥iO4;TjuonIH>hm|~oM&Ouogikar|fQP׮k``Xrv}rd`VG+8/,&jq|H<3Xurue>3?ezuve:dʿoaI6(DOM*/d~g\nwL:3[s\N='-ILYQȬ<*>KMQU-CXhheŽɪoP?0:2ejhX9LKCD\bNYթe\]Spt}l;)39/(2<<8AAL~? ?~}OSF&Cפ~rr~\[G6Y25Y|hWUUK?Uvh\[\n@)-cˏ`M51AWRIǸo_H0&DJGJNCBiǢrS5.-56./3(23);7/+(4FG>:@EGcqe[yzxH26841{ƹ*I?DMmr3 3rySWR57~e?33?8VH:6U*)Hn}sn_6,.ry^Y\^_[/*xǻ`JA(4OGKP[UYVMYtigdWlZSE5;Je³eh`c?'/'3TJ3EPROKO`֦t{vhvJ0,.8?IƵ&'ePELȽ~? ?~}tuwT\je?3 ?~^PK4\im\J64>hhngZYXFSuY59yMMLO]ZOĮowcv_K/&?fոwPVQz^=.@/Zy&+=UbddppVTnwmxrhZP^zIIL@@T`ajR,GT_P?>oˤe?3?e{votxSWl~? 3rc\IA4Qé~ZQ4<_~lPGH=G^htnoH4lRRMPUROWKO˵e||etdJ0:W{|^ILAlX>39ETbq^(2d]W{xI6F]ls{ӝRTc{zre^psCBHECLUI-HOabYPmvya[my|KG\r2 ?rr~`^QEBFUqҴo^K4G8-3{^C?A8CX\ctn+wT5'&+:=G^uetwko^J.(>@@SyȢR\i]P=-.YY(-;A@75okkTdr}ӿʚhqhovmsiV`g96CQURUZUG:0mmrrrr{wjgutT16c}F;K~? 333>eşs~v[LOSS1vf;5AIOGO]]?K[Pbv}h__``ksz4N\_WSXnlinctӺiedxefh`g~Q/.K[uxpl\ZVIFe>333?eu]`cn~yS6?s^Yd`iYerT]Ie?3  ?~˦t_ft}X6D62Wdh_^c^:>LAI[|3<`hca]pK7+,=BDJYqέx]hpqicVO*4+qͯYA^iboyҶaaXUyp`^^Yc{N)H>0LcaXD<~> >yqSC?23?<JmW_ne?3333"33 +1 3q¼ѰwF4mMAWuuqiecW229.:MvxNe|v}{yz{wϓM<8)/<@DHP\q{]V_S{}wxxna102kk{ͳtl}ust\ȰXSPSywl_OI[u{@5H^_S?6r3 3r]?3 =gbny?  6~ػȐ^x¥~lggJJ@721(=NfSOAw~|zukb\^jjfʨȫnRI=5Dhpjw~~~~2  4]&  9}r3  9ԴëoTXcMLD?<7.@GThmp{kGXztcUIL\ugrƊ_L@ET_WD301&?[:2,D^bbkngbm~Ϫ}ouw}w}yS;+>JxznbWY_ZOHQxұ_=85CXTGRhmkhp,  8*&]J Bǥ˺պcIQZA?:<<8-:4:NV]jwgZMKK;GJfPAAKRUVL9bI>/H\]Ybolgtչ¤ogmy}zqtG.3Aloilm]Q;!`t~[1 )-sO=GSTXainnfbn|}||vZ:(!"!$5e}ͿVD0.P|sguwB;6.'(MC./EQ39LHK9.G_nw|}ZHs̩tYB>@6/+(H[L/-8IeǻwjhhegslODY-76f]XA++',=^ttpwDLQkT>576>S\\dm{gYH9OBm~C ^I*+9Pfuz{{{~a@2Fi2  +(XwеYFqs`V`tf3N/&.QmdF86BaȾunmjejӋǽihnaLoyY7(0:@SquhhpxUJkzfVC:;59NPIQZjmvpttjJ.4Lsu>9WGIUg|p}wlkX`m=467/# 3GVrrrr~ʰy^&\xvqzf6)8dbE35Qtxwvqim`B<@J`yr_SU[ozr|mb6008>MMFEEOk~vefzZ?FXl~nB)asnnvwxjacĿztaG*$%1&$*333?eyxw~{}vG0a|˔NAQ[g{\7-<_}[\H;3_˾̹_*QIWrw_MOVct}z`z|tpF4)@P\]YK:=[{nSSbp\]gip~Q'i{yzz~}gcǽre[1C5  2Uxv{xyzsquwkU0/:;FazdЖZNVfwsO>D]~|YF;72_˶v2,/AUiqlZajpzsSg~Tp{~{|^@)F_lmfM22MrwWHL~}Y(a3,--((6uhaϺ|TFDB10, +Esrq{~qr||{o:&2HIKWlsɄ]Tg||nkxxyzlG-+00Tʽy'--;WnxlyvZQWapOn\KPf|eNEZtxkN1)9l|MCI"\0,01*mtejІL+"#*+*Bjiozws}g>APICQxu_Iax|nnmF?8LJQ*,?yz`\pmmֽuj*@AQqȾt}uXFG[f}IHdr]MY~{^@,*Juy_18Sɯp- 0//671{wu|ʱh2 +*'+J~sik{|YU_ZRewc^yúvpKFYMDB6Gc]YO?9=DWu}[&@bf¹thpo]biO6&3JNISYJ0-*(.>ʸH +/e-Daөqo~~?  $-*">|umgn}}xxynb^lɉXMTWȹ{~P7&+7=>03Dd?:PmVSQ0BKoASmƶ}Z=+)s|uriujQ>00RI"  _;7Pvrine?33? (2Oxj_PB2^|eNo|rf]jc^Vϱ`NPeU>,16-/Lr20c`GJQ4^5BLV}c:Cתxvzhhu}qP9,/7>Zhovpk=! -0ʰpnx~rre/! -Ibyvh[67W{VLj~qacs|[Ke1)GO:*-27]xj7&]bFGPTQNAVDILd}`9-)?nZ]jpkH0&(-HXdmh|ͤg; .ȸ{mJ@@-29->D@AHZg[kmabS81557ED@A9Zx`}vm]TVaq|qXnb)&TY<GO8&,3Cc_@/PպiJDJQW[M`MRVoeG.2;F>0д{cQGRXZfoaH14I[e`srq>(κmcgnltI<523[vuprvylq{[SV\[\ynfxlh[sogTyыK)i@-&->B_gUC?47Z`PQtԻiF:'B^e`kw}qJ711=Odu~̽x~{bFIxɮ`=18MML]rqbSJH?*),)..;LB42?JQZ\DMɦ~eSGFNdմt|p`J: 33?ef*.\ZVrz^Wiswphbfr{y_KFPuƹoG//;CA7OϵyeVC5001),>aǷh`mqb`fqzUIDHfzɬuY`iw~sU)GɽþzkK[sj[Ze\+( ?e\-0LMUrhi~~nggo~lI;GsȸfH:-1;BbkO43Xʮ|nunknqsTI,)ZżijdURf~xiY?s˷ǹzwv}vriO(55[riWTYK' 3 ?~\1)6FK_xoXc{dafp}hE/5eåi[YL60.'.ARnqO7:dҺnifetpTQPdνkTUtwZB24lǬypmlmn|qqhJ5ߚp5[z̍ugTRUL7<3 3? 3ef=:QcgzrdO?KjvcKKXespX<Jş|zv^GDG@?L^qķoK;1)Jrȿzhc\X`mrcZhmbU]tƿpqvQ8,:Q|{nbXUY]buwX+(a<((5s}saOMOK?E3 3 ?enpp|^>Hml[M?9FZ]D,1DWk|]E.4zδq_\]XW[bqļrF0-+@Ztμ~spdWRUWD6BSRKZxtmjƵhA/+Esi[PDCKQao}n>[v=[[l~ogf^ROTQC@3 ?HB>Og|u]50[{tjgmYC:DY`R0:Oj|WA1=ز{tpuyuéJCdlr|Ϳq_MGF/)94-EmupgʶcKC2)2MovlaVLCGUTNPOQc~L[\+ [[@knVQ`a\]ebQD> 310?D:0TK1.;C24Oh||ndacc_ZZgcA( +)".T_LEXhgdefbdpe?3 ?33Nyvp\PXjn[=5Ynw|y̒wlhqѬv2VԻŵÿrG/)Qeg~׺ynq`LJB8Rcccfihd_apjD#%+ +;I75>Ykv{mz~rS:;BEB?06>304>ONVIBNTMGLKA8.@¦qbVTd׾>Mʵ¿ųoL*5kyrgó̔yy_MF28_one^XS`nO* .:DI@4?C. #6?OctwſxQLY]VQRD/&-/7KY_sRFL@D:7>B>=FG;03Wvשuh`\buȿW)Lrhchrǽ~{W(=bΥ}seB5fɴzCLoeMHA;03\qj\_a_op>(2:TLE\dB #,*(,Bax°c_r{ojoa@867@BCSgq}D^i[SC=<:8=KRH,:Ozyre`\\eô>'Nep`I?EMYowyP5/Tj\Zdec~n_k{u66M_kk\NA68EOND9G_ͼ|}ubWUSTXZ]bDž_B*:B?Psչuhdjİa4LQZ[PIFEJLB34=:-7Tjwvgh~r~~tfX>% (5(  +8|rceqss}iljprrr~ys~~r~pcxt6+EcnjXD67>82=RtŶʇxug_XQRbfuiqB;24:6a}u~Ǻmhnå}`6(9I]`RB96;AB<=@9,-Wse?2?eywr[VV=[[#Tr~vy|e?3?eorīz;?bt~w]H ?qm]VL=PkK[[#?3?e~zy}~? ?~±{qu{wΈ?3gx^?4X˶{xxl\Y]beunpŘnTH29[kotkLOFGXakturj\UjtPD?Tϫ|z~f>5?JNG7(6KSPB7<@G\wr3 3IVTK=1;YD( ?~}twwsswvrqss{r3 3rs_OQv8Cl|}seI'8~ʼudXYh|aRKVeeonŸtO>,&2Oo~Z6,EYaXI<-=k~O>?6DɹfMH?87.,=MLD8:N`p~~> ?\v}sX75̍5 ") 3r|wmbzpomikqrorxw{~? >~~Y@/0\4Naf[@fxX9.AZvԭʣo]XJRZT_{~x\E)5A\~ʼr0=I<*&?YxuQ=8/6ǵtX*7Ibw|ze>3??3?d`+([ #"?~~{}rjrkhfkruv{e?3>eZ;''Jr|JmqkW4IqørH2KY\]cxɾѡyzzeXLAKg^sʮeJbţn>&2*9[lE,ežƸj,BVl}vq~r? ?jO((3>euoVFIcunrKl}ohhnty}}~r~zw~}fE108Ojty>581K)&3D\+G]wT=2,Nƾ5-Pcs~ur3 3`[,5̍5 /5ETfksa./KNDF7%",,-2tzz}ylb`nfK88.4Tjt:FaB,0T6@B|PL^euLSN(5?33?J[(Hy|yw|{I +3y|e?3/.,isyrr~yl^PVjiVE?13Nk~ïzb\u:JZ]RZWI45FKD4+LgzͿrgUD3)Mla,B,0HNJJ@3_qmhx~f4/lsem~v~c>&372BZcgnIonjoǺФe[[[[ )dzqwp@'9ze> )"`e?33?ewjYKRlvaHH_xOV͖{Q7;',BWjkaZSKFkj,E-2cuL)YvWbYG=m{w}|g<Nvwo|ūb`>9*:1<\qy6=Din]^a㤚[(̍5.Grwihf>3cy? 3e?33> 6WyaVkvtaLuƒ{H*/F-.+7=GVglcTOKXuwcWWY[_kȡ<0HG=)6\qT0,H`}m^}z~f@4UӾMF&--2F`oyqkjzTLG;:5>I^k}l]YcB@EefC(,DkЦ}}to:-:&&Netro~I5+x̍>[KQ`sveWX_Q("6TitvhZ? >3 !9ͿrmC5c_X}{|N+(,1>SfL&/4;>8,*26,)6BQov}U>I^hgki]VbmnlsHRTklK81EXӱ]V.RoɻKA4k~[[~qfmo\":`dc[V[?33?d3  ?ey;<>cɺt{vlkA=mesowcH34FYdn2?<+'-3@Swɶ_JXq}}|oeevyrytQI^]ZgoWH58QezֶuL.&.+t[(5(0׿r[5([Q-Qca\Ybmrr~r? ??3?aTb}IJ\ŻnLSxvx}V9}hpo{iWH8-2CQXU=*<@0*1*/:EXjkh|`Q^w|vmklxslntwWH9H`PTl~ϷtN65j_YQ=Jν\[[)ֻzh[@.))@+Mdb^^lye?3??3?exine?3$DgaĦ|Z=()9PeqpZ<M~y~vr^SH=EUYN@G;'>D6.29507=ETDWZUyjYNZq}wmhknt{qmkjgeQD]|mpѼyP;BHtZ+9εv_[[˲[0,5̔w>*I\WNNPRo? ?e~rr~~? ?UKsX;&HSE?E<2?nqi`VJMWQ<-5*/KQB;=BC?=;=@&KɯIGBqgVMWm}xi__cgsmlhb_CZWtͼv;BKLxY&trWQҸ[]1"+GB=@@HeQD8eĬuj^O>7?E.DNL\bcggldN@26_ǭHLdQMMHNP=&8MfpXROOVjh~}u=GPRaKQQblppUK]¯tND?79O]c]Q[x}oB5@^ȺmUD:?MZ)01+/DYLOKenx}bF3)xʹBGLiVK<-8K=*1Tst\UNGNo~muqykp~ztzoQM>b(4z{Ya-2*-/i[[ͷ̍}YXU_0Gve? ?e?3?I|gpjkona>-=FERM&'Hfzwhk|k?6)\ĽoSC;@K*2:AK]niT[jxePT³_HB4(*,9\j}aNMD09U{xfTJ.3_ucVORxzuxjIDlB<;07iwo{C;rs+vxx[[7ҽv_^U95UyxxzwsujEZ|fLa˿}qagx{v}gdjwúb9+VvaWRFIv|zyxtu{mnxü}_IF<(5(.Oxw:(5(=W`o}? 3?e~aahtprtoko֘~td^ekou}fbkyntO'U~_CUcpiqtr|rceivѾjACWiri^S?Drv~}gZaVW~jP8*2Cl}R[[?[[ ?~`7#/E[srronvydftU50,-IYp}kte'noM0:Ut|yúyw|vwNJ˽ɿïn_}cSsraTDVǮpNIK(P!  3t(2?eʫryLQQz81?E^y}urjSVvy:(F}ũhabS@Lvzof]_z}|vvzzw`]tŵfcumBGcuU@@Mo}]7,*JL[[[rr~̍̍533?G5 &G5>e~p`ZZTftT{c8&13BYoob\bcfnt}e97]uZVjpiipwqh_b|]]i\YT\lv]SmU.7VǶ|b]c}\Vp{PD>2'EtȸuX.5(-q[[[?eʢ?  /(8}e8 ,8Q~rrrrr~zeK;'6LaniWQj`Hfs]l|ymahg`[lU?phLFHK[mwoXMYU8=lhIVgæj\[[cb`?3?YQQUaH( (Xʲo[[Fǵ(̍[[  %YX `Z`p> @prrre?33333??32,7IdyxiejxhernaJX`bcxԍG4943.'+;Pft^WMHQ?Ly}z~rrr~ʤ~rrrrwc[R?   -=D# P[[E[e̍5̍[[[!0 *((''' +  0?Kky~{neSEIT\adtϯhE54G[kiWQYTKVhnq}{e?333?errrrrrrrrre?3333?e>33 + + +V[e((((5(  + + +>0-46F[ey|q{кpQBTUTRWgvQ0*)BNWeibZO>4;=0)Bhjgfht? 333333333333 + +* &5( (>`~̍-[̍5[[[̶̍5  3??IL\nuk^htvûtsiTh]RLVkþ}JKWKGUZ]ef_ZJ.&CPZ^^r3 + BO]n[ ' 8T̍5[([[5b~m][wyi_y/  +  ?9F[ao|}vk_XZ^d{yg`g|t}iZUbzIOxh`YZ_`diZ4?\cfgce? J60<][ [((5[[(55((+-;a=.)%8\Z7+%5Y[(  +  3?95Idk~qikkhfkxw`YVc~İ~sudboq[[n~rfcdahpd@,7kupi?  [:(< >u( [[[[[[ 3 +=1&N[   + 3G==Umrvz}{i]ZPY|Ӷpo¶xa\aV7',09\uj3  333  (m453 3m5(55([[(5(        +AWlrpdYBRXlvi3  033 5g16? ?}((55(     + !',, (DI8-$ ?C7?Sdmx~lS7,8K{οiUXO=;Va`m~xob?  (3[?3?e[!  4#$/  + + +80+ *UwTEB9 +9?>K_kpw~}{N3196YѰzu[WNKVfgfo{vl\R> ' [w [r~[5  5^KO8 *CG> +  0 + 3>MQXX>.Gyt? 5@Mc~z{̼V?>BDpĵ|bJFRdkknv~q`U_> +2B[e + +15=a((5(5((5( +(b;+%"45Z`pZ3 M5  +   23?e~zhS= Gq@  *:\( 40Wep[[[Z`[[sbor> + +?~{b6 AznW5(  + 33  (drr~iI/ +7^oA(%;FBCbūponeeǩŭÖsF.6K[er~>   +(Vx> + +(& (Ac[[[[[ [e?333?eI (nql^KE>  2 33?ee?3333 + + + +5cnvpJ(8EQmd@+! ';VTHT{zy}{qrƯξԭl7,^r3  '$5(((31 (?v~rrr~p(  (Ylmoi`ZfeI88IciT>3?er}~qrre?33333333?epj^YorC9\v{B(*-,2>\`RM_}quȿϷ³nD>Nbjnt~~rr~zR*,]uwy}? 2(''# ->̍@̍K>=333Agũc5((5c]iqrrpny{~r~{~rrrrrrrrr_XTKOrP+4Jdz]&16DP]dhjqutx|dPC.+Nzrvy`bqYWRQ\koggpvodi}ssxmuvSCzaKKbqoou|}weSKLbзtcd`\]adlyjYQD715435Rsy{e?3?? >~wqbM6/=JLDCIKB.(5?̍]ig}tvkPEJTX\cqv^`UCPؿy`Vek]QNC35>IMRZ[hmbJ?T{zkqvZv|YSgpopy~o]VYh˺yrtfZ`hkqoiT<0&9E?2>U[f~? 3 3p\MKK=;FLH>78=A[[>?Xmidm}|vtqz~r~v]PVaegktzbRJOhwóн˵y|pO:80:NMIQWhiI(*TzmkbB,rwwxyzvtgkĴ~ggovtaX>0TV81=G[~r~~r~r3 3 8J3')4CJRYYTE44[('7IQZlzzttue?3?ek^[]]__JMfj7(]Ī˸|zmB5-CZYVYWekM,-McɴreFrġzv½}u|ui_A(R^>+/8Re?3?ee?3?e~? ??3>@ +#<`ipmeUD[}r}5*9=C]w}{|?( ?vh]TN;;BDG<=u˧ŸƾԷwyxB+(.NedaZKL\QAKLDs˴ɶuc93ѻPið}}{qT,8F<5:;I? ?~~? ?~e?3?d~rj 5b~xg]a̍e?3?e*?3?;Zy[3robTI +(5( (_wdr²Ƥxxmx~i:-9>ScdaQ/3 2Hm~r[?}rh\<[[X̯vUE=Jjͮ~eZ\\M/&=SRYa^V<Gu{ͽÿиf;+^yϷoz|vmX47Q[`VM? ?~~? ?~ʤe?3!  :ng [\br3 3Y3 3Fme?e~rg[6[[&MƠW-4N\hķtu}y[NYT:&.IfnmkdO(Cѱùα`3(;Uq̡raG>^^^_fe?3?ee?3?e~? F|;([Rc~? ?b> ?Tw?5̍~vk`C((&9_ŒrtpN1@Zάojpo\_uoPAUlymR,)-3`rIMИİ}Z3'4Qu{zļ˹ǵtZ5.MS\o~~r~~r~r3   +^q.5[Wn~e?33?ee?3?P^r3(I|~xh*5̍5&AnΒokkP))dջ~rv{w}||t]D@NW[sgjr__yƿ^=4401GdVJTixxɚxV1[[BnzZ6,&:Vfksy}_cҦqiwwNes~źY?;5&+gtbp˼z{o]ZW:);[ɢmC9729^tijtzs\KB83s}r~rjQ.&^( (5[[r~? 33?e~re?35̚[>~f5(5(7g}UA@JZca]_^XWnv-[đv_PUyjz»u|»wZF,3]s}|}kA2TƹUWheWON?1:NrthhqxrrvshRC9+Eye?3?eR0#1Yc5(5c~[?~e? ?xe?3? ((3nwmdM5/BejPOTWSMIOUNFTp{ɵg+PʯjWIH\p{ȸz\B86Nf~{wwwuv|uDTQ*.HLA<@DCHPgˬƱxvxwpfUKD74V~? ?~|b[N@?MH[~r~e?3?er3 3e~?  [̍5BHYghWdkTB737:DQPJWrxsr}ūW-9~oZMNTSRaλϹ}VEB-&EZllswyyleqyLUbI.)2/+.5=AFL_вƬrnttnfXMD6*Cn3 3epfYMNW`z~r~r3 ?q3 [(.HppidO=Eh~qQ7+*,+1DWcwthpç]:\mVOOFICPʶֽxYRUA'Cbozyrlo^`qU5GC<6-'08?EL\׳j`dddf]OF6'(=?3 3Ryz_NDHOSdy~? 3l3 ??3?em[1XwS24R`U<+'(0Z{~yux|{bS=1Nk{|qgmhdp{q[FHETSdsĮӽva_bP8/)*59=J_sx}~iesf>./,58+-;GQ[jʹ—zx`Z\X^he[UF41/3 ?TmwZ?4530@VbpʮƤe? ?x? 33?? ?\[[+9BtA)@MK@)*[|ux`blZID4@_aPEPUYiscJ9CWgƼ{||z{nafog[XRJQ]abhqxy|{zU/,?O]ho|̡нYIPfxkYX\Z^krrfM:78? 3?e`j}tH&FXavkQNde?2?e|e>3?err3 30+Jse?31:DGarA+.ALLHA)7c|ja^M?:*'=<&0CS[N>4DkԾmhmkhfelv~pe^l~zqdfv|zxwwzv~}k80@Qakkk}B27J\YNLPQVgz|aC979? 3rrq{bAR^miJ1(=/(/H}r~qlvr|r3 Uz~~rV?Ro~VMQRJ=::2Cn~{w_H>>,).9=845K}iZRB?KSRPWbgpoosygfoywrtnhtx{pnr{}{~T(9GVhpkcg{ſ[E87AB8489@WojI369<  ?~w{K=EDYnJ / /_jZi}r3 2\ux|zaHRixɬ}leS:)4,)JxwkvdMLSA*+&*3/2778=E]ΕO2,&+;@ET\Y[Z[_mcypmgsz{}jadn}~xuwq.(;L[jtvka`ivȪhD.//&+@WS@7?D3 3?ezzH(-EbXGVY/ (Cs^grryr3 3Gaquyv_FL`mȿlS7(H^JZmguaS\eW<.<:9AMF808FLLKPY^sc2-1:QZTQQORmŤ{t~vi[dv|wlmv,,L_huxkb^_erպ_>98+(6::CJNW? >~}x@:^_lrdD' (55(/?n^^`bjw{? ?_o{|iOO]gkRC(/jlow}{mgqvkXC-IXVSQRK@>HSZ]fiioͦc7.M_XLD76Uâuxzqctmhp{75.Apunie_^ekz˸yofXD-(D]^de?3?e}|04wO([[=={YLLT_hoqc?33?elzfhntwadP18RSMhҲwuwnaWJ?Cb{X>__:;g~tw|dULY`VI[̍5ka-+JmXSvuw̮ʸ|{j_^bee^WW[_\f¬{hE/'('?SWC8NĹtry©bRUUMHLNB:S{пּ}trke_VKOlxG+jPDmaoQ@."&eiC([mz^6'/2GvXKmknvpwĿįؾsL:Q`twrpkeY`u³zsvs_OPOE,-=4.NեӽʧjOLTOA438=V~κ˽xtqomfZ\wӮq-_ͻX% +~Ph~M!5tt`[Wiʺ{nifdV@Kpƹ̽IIYfisO33Ed}~zrkmlccijZ<&(>2(EкӺuL>JUOB74ԺT-G5ZCCH2#[ͽ̳qrpbQ<Cmʼϸ}wiE4[wkhiY?/gbpЩ|x~źI)/HS[ejkrtrdYWeɹ6ύl1U@e:.[}˩~\U\_U?)S~˾xugA:l~ia\H*fʜ}v}tmlqpɻq;(;Y]ar}|~״vTUTFF]xƾP3%$rA,H]28;[]ňS:9BLO<AbηzryuP.S{l\QB)7n¤~|tlwrga_^Yb¹zwd7*BdhjĮc9:A79_~|ipƙ{ótnz{S0Mh|jYRM:2_ɴV=PWPORRJNjsg^R<1:P`oͶie_>1^{³vdbXZͩ//dѸh==3+136>AJdmM;//5+1\|~k\kjdptqţ{d_jd;.86K`xm`XUJ:7Qx|hhuyV>JRQ[t`J?75cuejy_DDSbbbnspȫvgnvgIEG>/&;W]F-1BLf||s`YUPSf~iRbld{ȯu{oZKB>9@UpwoeeU1;tѩsA,7a}}xxwz}^, kwpjZNShohi|Ƞw[PBYoo|f8+CTUX`ju{mXQcɽZHL_o~Y61/.4CYl}}rd_[\||mabcgufER^hũ}ϼ|aMA9>N^ig_cY7/r’oT(5Qlwrw{}my<  + qѥ}sphhqͲfQ;'0Ŀxhuv[-2BEKQRT[UG?Nsí`HCQ_lxǼa>2',:Pgwpqru~J+.jɟ{fwľشlRDISPWXKJI1'\\>*6EUi}uxh[eUc;,-,+ +wǟ}oms~}ȩzY?)(3M¿oXgqgA*3=AAITN9'0VzcWWZbgjwŗlF(C_ĺ}zyxzo1)oDZxiaWlvfrt^ZR<==(Hn|СtJ(*':DJUlȼ}WL^Xy`S_X9-6G=˛yliosjw}r}fJ0/LvgnslZ<&&16;JZQ1.Up}tb^qs^afaed\cɕxOTƲ}rj~zlULIX^QW׶rT43KXv^14EJJPfʽxmkjgU?F`[Ơuyms|s[ʐmdfmznbdoliunK42Lv~sy{lYNJ?0*+49@P_Z@Abu{ym]IFUor_W[]ZaaXU}vQ̴zxscLCNDDHRbsزN1DIb~˾Y32DMLEBQo[]cT/0HC[ʍD[ȋg]cimvxpheg`SWbm}j@DjcWdt|gOBBDC@?EIO[c`SB0-C_tywi[@3:NSMHGOXejoqveJ'2Ǫ{epzsn^^<,5H\kXC\]f|@2AF<*_pdgfC41-[iǜ{hjjfimjpxlG649?NkiL'YyQJ]ny~|lU7%!2=IdzͺwZMNON`mU1"3RnT?+SnC=WumB%!'.2-,(,HP[bkZ+0ĵpmkY=**B_i]NJQg}pI88I?*;pxcRE4)?FHMfc6=hM&:lgPQT7@W_Z[nrWUnztRGiymjuupq˷sI1Gmv̨pJ6DYj{h\elpzT1MW`gmpxlA*;ؿ|fXN=1/,-.=LNNXizc(  + Br}spk`J4,DQMVpT/?pP& :psZ^a;*H[fo{xr_NOj|{ȝm:)?V_l{zgVO[bgp~üŹ[>,&1L[ZbdչxZHHQ^tYEBLVX[p~I=br{{|sW@QŹqVE51IT\gv~5 1Wzzt\E9;FLNSjŔQ1Dn_/  ;~_BKL*IkywgVOMVgyʪ{9>PZm˻yi_\Zo›T/+0;P[WimRbp\H_|}pcǩqO>(Jajmwr(I}iV[fbLOnǟkIVr|wbSQ1 D}O7KT<+/YlQG?5Gtϳ99U`bjy}wmkhel~pgqIJh:/)-F]zxuqlʕ46^wp}}rw}Ȍ\?/Vw|~5 5|z]eϸro~S8& es[OKN]ozo\ZaixoC6_jV\gWI,4KS`p`AJK2,9IS^w0/0yw~zɺ|b2=|wWH^ysbZq}A& !H]grr}μGBΙ\Ms64WzhYRGCQ`eZU^dgza+DilYcϵ~y46;*-,A\itx{yv~nFM[G2014=PqQ5Sxv~vdyv[44nS=HKD<5<7  /?3.(28Cl{bZcyνN" 5чT[͐>.H`m{yWMI>8CLE7:MXZioA8IQi|s_iиiLB@>0-&29Tn~uone^m|uRN`U<327=Pfsx|zw|z}sVGIiw^J;08YwǿO/#(+" (55( 2PP2)3IXaj˽m=! &NhuΞU&,:GR_rpPFB:6;:-&)0=Oix}kdwx.sǯv6,2+5Xssc_UJ[t{z{xwqhgqgL??IL\cah}wrikv\+9D9'Hv}Q&(55([[-( 2;OrgE3R01ƣn7(1BOWbp{{p[PMJJF3+Ikk`gA-*35t+-''-;asv4@X6@@txwsqmdcktwugSMU_`qumvŭobWXmӚpR*+(?²+rcWc]2[[[[" +);`íwe[<$Hb*t`WvQJ9Y50>P^hovxvl`]_`7.Gdq~_CCTYρ5+1@d}ul09>Wn66otyxo_QMZmnYDBP`kqxv;ײXQ>`UQWi~udLj[RA'2;?@a~]D}fH@J; +(555[[((  :ɾz< (FfPJcUX]BEVejnqt|vhege/+>^Pcab:'+7Mjzh,4 ,}e^T;+&,.)2RVY~vnpQKYWXA;.ORXex{aL8'16GgotrσjdʵtjeP+ROrǛ|dC4WgzyaTJKjoll5?[ӠU6*FettMG>lvQ)SUOSljP85;?,>[[nfgtx{[=<:KH+ >D_zjrijs~hUc:HH}p^^pNNX}ss8)CGSd~}Y9+4Ilx³Ǒ_̺~wok13p_oΡwU9Kg}s_Nbĺhcc6+IZ9(I`jlLIKvpS<0.O`^buzC.@c[RblwjsNF>3#MGKXrx}~rX?YԺno~uu{cSSX[\Plw[W_MGxe,,?HS_ymB'0Cajrµ^aoʗdbÜrJ1RtA6/~ŵidc=(?K˼zL)3TdilLQVxmbPFRbhnԪj:4J̍[H-688q}ƾ{IAC18:PQQjwKATafkd?++gгqko^OHC<><^o̲k`VHC)-/}v-*:qglpgwwlE2&7^}y7/9ysi[LW^vo@,.9(07>qsyxqd\mͻD(ˣ[550@O.450Tgļyb,QG3>`H*-:1F_iljW,&FȱwfbWJ=3*((MkлzbUFD01484FbcлxVGEGN]píl).PƳtdept̴eKNX&h8Aprz~nYeؽcM[[[x>,.=O)34*EVpf<(J>O?0HuxN.=v¬}h]TK9+Q˼^\^fRA@/22{A;3*3Ee|}tyt\λʘvkhgp~ͺU@7W˾ZX^]M^ӹghn(*49gtnkxD4[[(5bǽO80-;2'23*FNcpxLWZN~[/958>zY?Têoc^WC&Exºb`zmYB:DKQmU1ZnY?FUSOaZjf}wsj{X]÷ufʺ_irgxy{{j]<;6^{~wtrkqk5('8@5(5(H0*('4--/)JKZdoBKI>lI'-?5281-0c}g^}}pjifT,+KzDZ`b_s~viO>GW]jM7hgsmdtz~tlwͽԽǮ~^tth>1,^}veOJ`|^B7&0&@UP[g^9Q9.)'-),*STbfiw@@;1j[B*7K?.\twyqruq]J5-P{ųscQDRknlxH;/yxcmv}qlpĿǴʵ~wſzI40fy{x|{^?@[luӔX:3(0'Kd]aiaH.ZIGB8237M[^\fwvfi~i]M=HO=av^I0(MswVGD@PnqefsQ7^_lchnymkn־x}ɹ|ĴuWTfqprzzaLQaiqˑ\66-'2?Lj{qjiaRINWb`YpnXJGHSY\auierh]T]_I&qþ˺z`J0(IkukS2-6;J][NXyG2/vpeEJ]~pmvϷuhivƴzipƽp_cks||gYUSXpַe@*?AEUas~slb`q͖la^[[\`gz|ieƵ|ojdbnp`8)70'4eɾþeO97-6cʿ~W:0?GFJ\jqƳ`LSTS]cZaqwt:20yz|~p]E)9ADyQ>AFQae[cu~{O/JhbisuaM8('(')GnZ=0+Gn̚vY@2/M[2(SznN1/NXViz~sgQeQUgvXQytkh~peTw׷fom{jov|~yY34>A]ncipos|{mh`UOL:3dȻjfTqku,Ctujq{YUKja/ǤkPLOXacWT`n_NxvG?TemgXiS5TmmUc:58V4*'beO2'CKETcjwdHE9go|O,^wly{n~}ʾrl{qtwyxxyvz].g;95rlfqihijd^TF5'Y|Źqo`yqf^s֪v2=o{z^D=71?GaeRNRYYXUYaj~^\WiGMql\rX7(9nPOO8;CMav(QXQ;;IHPT[n}j`^_cl}U45cqkZsŷouquvusqrpjlzt@ems2{c[wPPYV]]L=00WmƹuwoFg¡s'-W~_:.<*,.X^Oq{|ѽѽm)FVMGG;-&>xrV;,Ww~˹{^]aXC0)κvmP,+::>ENSOJMSPMNVfotxo_Zmvd`˼q[V`lrԶk9.-6T{uFa{yjb`YVV]_U7;:*7Pdzûza[VK1+Pv}x{Ыzɽʿy5(T[NT[Q?5&FuXX}ӹsrrfQ932/+lϹp\P>((:<8AXkn^PNQRTYdjpvp`SY]H7c}m][dkk{¥mB:MdkXZulx}o`_^[\]WK60+Auʺƹsb[YY[QGYv}z~c|ʭ\0nxdgiZG@4W˲ƭG2DVtpcƴcM@2)CUUKPi}gOJSZ`djjmtsgUVV>)Z{oeekqq~ásdsymwfFF^{dcdbgg\URC,-:3'2q~Ⱥtm~dQTVV[YS_v||hҺt/7ym^TRI(0XǸ¾iploIJL9KdiSC13<@Udd^evn]W_djnqlmtyr[SJ3-U|rl@:4tХxkvƯxttquvnoskWPSJF\¯ưu[_`ABKPVUSawwpx}z{DZyO/4alchnhE.4=:8HsZBFO\ı@4OhfI30999>CYijlyztw{x{|xxqmrztQ:.*)37M|zwtq;/'jױvljaauvsҲ{UKh~T4:HSYWVipu|{m^esr{z_NZ`O:5Mn~u\AADCClϠpei}ȳq`NTd_[dw}ZAAG]klx|Ķ{qozxP,1VPYuronpsp0UwŘxjbSHWq~hOOp˶kOBDIIELqa@7DUckihx|trz~}}qpk`azo]ciY<+5N]iuwhZNC=GH5G’{xv|վjzaX\kswĸc499Q{rllmdK1)FpītXdrc?/>VcL45Wwտ¾y||mVF<3/.&BhoQ1,=Q_m}}ȵueahQy~kvug]V^kppw}swydA'(9J\gcL5)+5?0}ufbhxêu};-+ȩ|jlv{h15[xkieP.5o˷q`GBJam\.);I6(+Hg{|]Ld}wdOE?2),,8OTbzŮ`D>>'TszxwSJMJhzlZ=8Tp}^=4>L_eZB,&53[|z{qv|}vuobXSYo6,*кһ||Ͷz(Dop[YZ@uű²|_LRZ_ty5*=84Abxk26ECEjSIF:)&7YʵT7)B`aWM45=Wqqmi^DBd´vZW^ifWD827A:'5K]TMpxznqyypnh[NJVote3-0װ8P|y_HHPDк׼¿mtzE(1GLO`~r9oziTJG=&9jp}sT;'3A=91'7U`b^TJ[}Ųznnh\WTPKIH@;=NVN'(N^x~pquuqqrgQJ[yոlFLpʪΗ2Giy[C@EJ18²ϴɷ~z{qTN^kns~vMJ^\J<72(Ou}G*7RU>&(-2,+EPLBPx|}|e[frjVSRUbfc\KU}}{~zwx}}^MZvo_vr7,}հ=64ĝh4L[\?DƵcPIBB5AηӼ~xrpmqt{yir}zwtf?4QVA,(3Jd\*(FE)&1:8+8EIc¼z}ʲzm|y^]dvj=9{eNUh|kRSme:ty|?@9رl?vι~w̌bUSE79uºŷæ{qjekrwsw~tU-(5,5[aG-'(&/JXf[2+@S7H[`R?'DbxŹ|ųpiuv`USbws^RQT\oygA14sהrkfktuxAB=ǷmKE\ͅT@;.0^ȸʶ~uo`^mxx}yszh:&::8ciP3)(&*58AQTUo~Y7.DP42wyaH+7a}ʲ}qսnzǯ¸cEFSSGD>7<_gZaˋ_^bhkjoƯ{s~kPMjɂH+/A]}̼õxvŸcA>\s{]/(A?Jlm^B,69=1.DKONB:KllTD*650>]iO6'2Z԰db~ҸjtֶqI6&(VĻfbegkw̽wUWjtaPUz</EYesýu|·Z9gtkztP)-1;m}hA1jLJ@BeuyyV^wyR5I50ty--ʾH'Vε7D`dhzpnnu̾ybWOOSX\aQqk:4KUX).mrqʨktitbd|K=7aILA<]teT`^D'6).Li̿k8+1@ysG8@zK6727ZrT:J`|D)1D\N__^eBWw~[15o>?>=:5B=Fz)Ahëziaxvrjho~Ըmha4:aeaHT^}\<>\h604|evxrtzd`x{|sZGKYgirx:12nL_r{jtoR0/;B8(4ENh÷srzz|jfxг~opj&,hg`BGHlpgVJXnphcjnmwvnebiopTPfqrqmX?110))<^xh`w1.:¹{dI@??EBMjmeXdAA:N]Ү_,/B0.]tqh_O3Wʷnvl1)LShhZMOPFBMQJPbjmk_A,*.06Io\Yb±H?-=CB7B^Ɨc\Xg|v>@C0,=_]TPQND86`ͻ_@;:DLC/918/'*&''..10Aqxxƚlnqsg\Ziu̺ìwlmheSLQZ`^QB>I]ȹmC85*'H}q~{h\[\rǾxaNILC,7;&*DRTH=2+=e^\ékYZfɸ{aY\a`WH:/(.YҸdIQR:-4>nryx^P_wzm]URG0(95/-30'')8Shpɣ~j[[eDzngd^UK;(&n~iliE2>V`nxoj|khqP>Sļ|ujb\R<*:6,,*+2.9ESWT`ΰut{ºȚwodK6,9ͣwk_?-GYmy|v{ww~kkcI:OlN=Jwӽw{}wncWK<*13')3-,4?=,+Q]^TKToƳk`cy~ɭvc:.ezbYK'MftvrvqpyhBE]]ew{yww{wcK@Ghɴt|uiV@8+(,2=5((6CB1(apo`TUdwmrĽħ^C5Xôstϩ~b0+8VƺlpzbB&Srĺywzto|}a-?6*2UhjnsxmS;38PǺUV\zwv|ìxeE/.B004+'85CXR>-,9EE5Ukrj_Z]fW^rϕо­pJ4Kzv|ӯsO4LPfļ~x+)mȵwuxtu\(82)(A\hpvviT@.@bXXWTUupwZ?SmA).)5{fTXC4BLQVSYiqcTPMLNK@5)Neruqe[[ro5Agɺ|ng_\~̿lI;OiwʫyK+5IbooƮpjorŰ^HȺ{tqngnb4=>8Qpxvxvlc^L)cZPIIMNsZiX;>HTnyubFKTJMVWV`pɱ\DWwzf^d_UTWbl\fhbkiek{m54^vko{~~{wvwP9CUfeX.6]vvwqmjox}rqd]jwqp˲}vxt_0,Ŧpggk_A+'A\hkwU3=GU]_ZRG?@DDHZwyxįzw{fPXcfwsd`P;:KW^hplibWQRZluolomdeuztuiZU]bdkx~wG&zmPLK[t~vqv}}z{yxrl`PCKj~oca^ar}zvȥpB=˨o^[`V7+F_ei{n.7SZYUOHBB?:Bcɺsj}{yxdX]dgw֩wpiT<:JXfoqֶsgUC@JQRMF>DRfwulf`YZ\[`dglw~wH9|A.4>Sowt~Ӿƽ~xb?.=_w{rgedgrz}z~zP'ZѹyXQVK.'4M`_b{ҿM)3MRNMHA<<62@gƕhf\Zfr~thb```huvogTCELJTcoŨrW9,..393:ZbOKX[SV[^cfhlu|i*RH6FPZo}{{ϻķg?9UowxyxztnpxŷwN(vŴUKJ?+-5.15;Rt|ɉ`Ebxsse`[VPMXlvkdVGKH64JnѴ`<)&8:'-FK??JSRV[aglmov{^6&Xluphr|ϹȷnONgvuuzspy֝e?->˗_K<3'(@]id\gÿkUbshPNTQJG>/(0;F[wykevue]XPFCMg˙rmmgXVJ/4_ԽnK5'.71(/:@CFLU\ahrutty{y{fRb̶{z{|}¨ȵkfnqttsw}roz_E@95,.[ʜiF-)'>_hf\]wlmsj\bhaRI=+0;ARkx̽syqf\brrl`WVTMLWsӰwsu|}tunZM:@~ȲcN6-AILQ_hmyxw||srpX`;vtszǻòxpmmwxlcnuqpztfXBDPLQk͹Z<&-+(8TY\WYmѴ{{}sfmtkUD4&/3FXW`ʳθsfwfgjbUPUY]VRW\Y[g~}lK9Ʋ~fD)CPYbpy{iZ|ɰvjgd_aiz~տwnprpxvf\fonr}ʞ|iNRrϰq]H)4>79ADHJPjàzx{xt|~rWC3*rrtzru{vgdqykZ9ZŽֿ^l~XWuyb_a]QIHCCOaqups˳d\\\{ǼmN7/2@C96Hk{|}}rg]OGй~tP?6'OyutvugX[pwP3(*/65H^n}įK**?fq\KEJUO?9FbqusmqyeXSQIHyaI.-0U|wvwyzxrgh|V?841@[nx}ǩ~[EFMJIkv_:6KnsvjjpzuiGfpR\}k]YQA747SktչξofR&(7QowvnhlvkSFESbjjulg~mc\PJJNHPغfa]8&)+7GeĊ}vokoz}zwvmhV87HS[kij~XGLUSRnriæhJGZt|{~~trwqsq{uyd_W;DnطvxjK\|{eWF626=Vjo֧yӺts{rWM?.4?Padfpxv~vwu_OQ^ko|phmZ<1:FIKT_X\rйkROH8-22)'6DVt•nt{vqijz||sgN1(/6Gf̺~|}`UW[ZVexl]wǹhUWdnqmnzxpi[dšwklZNK@?>6&&=\w›{hcho}\D[y|cP;)'-3Geyץ[=TؿsmsxhOH?'/8?CC=BOg{|sc`jzcP?(=J`wraUi°sODMND=?<2.:FXz͵zx~|e^J10`¿z{tfaflrqqodd´o`dknnigowrmfRQjUMF+))Gk®yf^_es\Lb|w`L@3'5dֱY,C|Ś|pqtbKGA',2('<[tlpqkis{T.)FPc~j[W?))+\ξqiggozuxջ{jlprsplpsmnlUGMq_\e7S×yh_]bo~w_Vh~vbJ<=:0,//5iжs=M|ͻsokZIHF+6gq`fiddowvsxwkJ)&5@RZLGmr^\d]VXYMHOWatʿx|}yzhbcJ5IOIFLQLxƾzlpd^SGIJ20hÿxcb^WXgu}~uaSI32EJNORj~zvlfij^ST^pvxzqdf^]`\D6DH?37]˶oku{Ǿ|y]=4EVbm{rNA,cͤ{rxxkWJEKKCGVlq`MIXdfhpogўǢ}hXTOHLO<&OǺ~h]RNWj^SP@@docU]ͶͿyyxunbQMYw՚yvpcTN>=F9'@HDENext|xmejyFLA?:1&?l{l8'-dȹpgiqpcJ.Cez~{~vmzjXLIJLSVL4?kǿygY^qsuwpmknehqκ}lXJHPeyvq~n`ZWP3)0.8\_evسnf[A5LpŪıJP0,`bU?0QoʿtgjuzoY>Gm}iѰq\OJJOVVPG5'(9tú~j\br}rt|t~}aPHFTjyyɠx|ygR8,)(-CZ\dz̩zsg\L/*JervS2+UtwuN)3Mn~wx}p]G&1f`syxhQJLLQ^_UL9()4=KŷgY]jzrtg]ugQ[ЮgUKBI_trx˺|X-TgkkltxoE(>oiJ(9Gery||~xhx÷{xqggib^m~\6,<`ͿkbjyuwdTMF?=X}ϴvZUYZ`kolƴnbl~ƍO*WQbltxqj{S.0DVZY^emwnZqƤ~}f+3Gcrzsjk<+8Np|Ѳyc:*1BAD`m`lsuvwzhi}vsvprdKNo̵fdtwvǮdLB>@HdʹzQjPXouj|dHLasyҽG<;P`fmzKBWk{XNFO`tuXeU24D_[AIPZdfbcr|Y8;I8.122F_jkkkdZUmMd[tzbk8IP]q`izq|}vgjżtWGBXr}kqN;+)<_pqpWytZU`jhW>,&,:B92B`ox|b9).;[ҳq(5(5FVb^DLcfgZvguyvi>1Uoby^92=KTWZfh[J:,5HW][wt{_`\UXk˲^H4*S`^X]aYKB-7LWXRJfpX[VNVmҧzaH;/3LVVX^a]UkmjLLSctjk:AJ\tbgyoztd`TOVR^.0Ujmpzxdg|pyvp&.JRnpheiidQ<27=70.@YfjlwnG.Kca;7@>1(LpxoNQgoir|v~r_p~~}{qdc|~mǿtT;4>Q__TR}VPH>9?OUPH^ZfQTTQWjoE3,3KWVT^tkc[TK;+-?prcYPNS`m|xekW_ypu{jfwjVMILUWk֙C(AW^gs{ulnswdEO[YPEBLRMMCBKPOSSRWszL45+=S][Tghte_Q=.TQ?GQxs{i]fxqm_JCHYuzn[SQXdvW;6AQ_ksvutrhbS6&+Al}zwoZLd{T<>MY_c_VF7'=Mb}{g`GOW]hysXRay˪FCVmvz{wdZf|nufmswxqo{ƠƠn\L>.,8eA=CLf\YTG;BI:<77QUTYYQMses}eC'3AR[UKN\W[ZG+B>31>SypuewxkL89FSh|}vsonoxѩqYOdj}puwz~|oh[Y)CYp<:?|cUku^X^a`}UeKA15KWduҤyhuJQnj_eaJOnF:G\hmmoaXd}mSP[T]glmcbv|ulm̵hVB(/eH@JYld\RA5:4*(+B\bfjdVITnmԽŒK5=>AUnWBCGOTM5&*+-FawŶ|pTBFQ^ny|xsszŬya\kptkortwyupcc(5.5^d~tjUD:8,(?YhqvsfS>7;QsȾ¸dOJA>^eb?BHLK@.'Bu™sdL=DOarwuqlkxūnaaunwgkkicfjj^a-765DGqY_S>Q_bKFJ@:<<42<\efpw_ueZDIZXSQE4Aoƿt`ZXPKSbnofme[_wf]UKW+8SWZshDmt@WutYC54B_nx~ubM6)-OqtvlYI>54BYJ9>FKI>(.6&Iҿp\=+1@Zrwrmd_oĈkkmebbbcflrmcUY^P?*FZYQKJLA*(C°iBFird]VLMWVUM?*.4`kgi҅hytdGBFCIWWIVbfgWIKbt|w{{j[M;7Qy{+5S^hzlddŽ{R>+&Df|qXC1&0Wu|veXE;536<:3;L[]T3@{tyȸv[7&6RluqkjrpysZqVM\ihecejt{fW_ZK1,`ztpZXb=30/>\̭iA;Nd}vf`\X\cef\H53>im`]nmgtP,'07EW]Zu|rm]OPh| dD/(FZZ:&CZfoz̹W=A=9;T{pI.,VtNFZr^\gn_PJHJMJEQtv?'@h|x{stƸnI,2DXfietludN4xq=5HQV^UkuΕrlkcco|U)6NZ^OWlmknsuv~̭o:KXVtzɒPEbpq628q~[H[uzb[]^bdlc)+@KTf_fxȑe^eglqv|ζpB6Smnhhegq֮{=1Phq6&7Rde6+5am|c_cfnyҹ~aQ=792'0J\dl~yʿM6BQaggitD34Rirxspz|pa\zaT@&QȥjMKXel|ʼj1(@d|}~wf^cH:7>GE?;CvKFPXegOC;*4I^vidk|ԯbPNQ^jnonuŞZ<9atob^]_Y^p`D61VѺI;4+1J`cUGJU]k~khot}̮rWC=<0'8FQVawçR.9M`eeglvU.2]rhp͍YDEJ:-`ĬzcX]isϾk1-Kj|¯j:(*7?Z0,5CTOMLMKC:,0TSWXrj]bRWacc_arL4>_ȷvj_]^X`NVI.JI>4-6Oe`F,,9GXlǥ{dWTM;)(3>LKLQhD*3J\adgjfhH.,/Wy}qm|Ԟm]ph\}дyc\gvͺu]Tenu̙V18[S^46=I;4<=1+*+>`V[sĴr|rnY\^]TKIclF/@}˧|wiabZhf@)1Ε^H61@XhT./Ie}sxsqiWECHKV.(I-0:Ogczkyliq[SX]^QB4<[k\>)-Sʹv~g_izvuM.)q^t[67JT75Zń}|yqcSMIAMZ0Jc̶c([^jquy~}f:IE92;snuʖǿȚбiQS_j~vactptʛfPL\obF-2G:+6P׽[zQNIJPTtMZ00GTMD-)y~wuuxyncoaTLB=:8EROCHZivB_YBIQJ?35̍wx{m?6[irvնiYhЌ]_`qxiJ67CZ~w=96),NJVO\wôlSF:6W}cZXI6AV_Q3(|cG[rʢvb>Le}fyvdXYoTI[w1B<9+-:PUPY^uؿlUD1')FLPDO^c_TR`SJ_оϐcU^_qpg^H_|k^eqR)4rkimwwf}?,54309W\SA5FezlC343[G6,̍YaWjSS.-;Ub|mgz{yKCCWJH<<2()2(3Ic|ħeM3,<21=YgdWUbXvŹʵsT8/3hȸyncZet[5+atzxkgjrw}rlhM9;8<@H_aZK@3@XdKTriRMMWpyw~T>5lBGaprULTE=,J|dk|\dsƻP>6hsZViRMSQORY[V/5N}`>)6\suqwowÓǥys{O=1-Oaawtsk\Uj}c7+?54dzrggjikn|}vp[LN@BIP[^\UF8AK[bL@(3XcbkZo|R_}uaqvukbgw{phkoopwripcO5*g^OejK10QlizvZD@:1Osh_SSekarhhFO]v}nlpnh\XsZ,HsurtlhbxնpZ]UTX]^`ca}̍:>(IWH<-*JlZ;'(;SdsоcY]sp{qjkaVG0,8t|YF=AWs^2/Tub:+>PXURX`hpsrommpssmp~~ut~~Z@FXqonx^K1,Myɻ}x}|psqjG90w[$'=@,7Y`Y@3D[R;)Dbzİr]h{yiixwaUgNH'&)=qwvzkh϶uaC)E]GBU[`ghgyw`HN*-18>?BU{|ĵucC=o{nceegnv|neccgnqfY]cvuH3('=- /Tv[Ct|C[[(5((555[rr~[5( ('/281?|ЮdVZq}Рֱ®tQ6;NU\dfcptL-,O601;DOcŲjclз{wPW&2UZQHUcimv¿yngecdhmlltxwytS0 + -MYɺ~}}{|B(555( +([e?33=W5( +#(@NB0+F78)>IG@Qku~ϐֶƵwW;7CLU_bbpzW1,+0=K\s}gE>UwUNG:PLJOL>Nclo}ulhdbdlrwxuůykK.D`Ůwqx|}onv|dB=?7:2)! *3@ $  5fw2 +7o[1(.Iuy_GDJHCNejb\dsvwr˰{Эȼz_A6@LWaek{{`D(-)07AOkphs`A;Lzľ~{UjP:+@}^NUWGOajpŰ~ne_\bryveʲlT3 $Htrrrmjryzit~iG26@=;Fbm>./IFD: \D(55T>(4NlY_mnfgsvrnnrآ_`KZȼxƚz|ɭmLANZfoqu~}dN2++/8<>ENV_e_KG@=H\xqT_¾~xodP=/^wuUMVaholWQUiqp_bpxh;:u{ne``kprt~oluV:JWd{ʋl52ZcH4%[[" Fy~||øjY8'.hvigr}dfr{{uty|yxXCFIMUbkaMIQZXO2'(3H]ruTWϽwxqoy{rtTTonjgju̱tNWoyq{{yWNLTlw|}ppM2hB@IMP_hRU\TR`\RUeq}~^K:/(')+-;rwbgw^3+TY6)4]( Jb}{zpry̶mL5zwrprvqgemy{z`GKUZ^h}}fZZ]Y_U/4AXl{d`MQçj^LotjefoypnquHI|~_XbqvwŒbakaSv{zh8/0=Qglba`NZZ+M44:==RcM@CJT^[UZjzw\K7+9GS;2>> =|> >~̍5 + ?dvyqnvmkynWaN:J}ukc\TU]`chhenƲngsvx~rovT(AT`o|o^NԾkC6@Za^_clo\il^c}zYNT^cjxoԴ~~iUylY15Ocjb\W37204,,+(5GF=F_gc`ais~tcN4% 5; 3 3r3 3r, ?e~{tlituzp\^i+J{|p[LH>;DO`trdl|ȷ«sE6>]u{zn`thD2;OWY_chukؾsQ@e[r~{[[zQ_j׺̠tomq~uz~xa\I&==IN\UVSE1/Mz^.-HXasyϲo~dqdpofvʤaRZiX\MSa`VUg>CGBCQcnturkye788' 2;, vP4N[^h}vlbK1(U8[[("7Z[IjҺǧqljgescquowxqR>]l]ZT=Yշl38QVcyitǡءiDFYbbscUiq`ONWVOQcBNNNIHXn}{~{n;1>Vda`gvòпU,(5cpJ)@Yemqtp_H41/(r|zxmgjafwptyz|/ 8ojyqY\ntloxvU=BXeaJ7'&:x_^I3@~v73Luд׼XARhnr{uqrgQ<2,,2AQMJ[wQ&-5Pjhgo|Ʊµd^~Ѱ*&>^ws[=Bp}jX|{zouZ&?eypgr|ijngM9=R[<:.&/81)3CPYXB4,/Kz՟k[@2P]rҳīj]qoY[a`auѿtkR4-87,.C_oqzuS,'4@8:Yzxjqϵ˼ïf25XnC)Jffl}hX[^_flq|ºưt?=njl{rie_WRMJ[ZXJGPK>:CS]]E65L}igU67Qgp{ͣdF74Jcjjg`X^ȭ}w_8''.Pfow``tvfilmɩ{{}uvq׿^B7/1Dg͍S3=d``pzukilcXY]hzɯ`4W_etynjluzcr[]^UMP_hfPCJ~ЙhTUapw~~Y<(3EV`_UZԺIJkX5)Afqvšg`{l`ajpwxu^\rӯm[ftaPQ_]V}i]KHWlzbA&9`]YfotsstdMJN\r~R;: +!>PjwwnluefjcY]kvt^WcТobbivxw|yZ98EG[ûǯL?//IhqtwhN[uwR6-7G_hnvf[ON^vzcNRfsgMLZRHDG?5RwihqzkF+5A;@IKSbmv{~oUJM`w`& (Y_Vb|qsgZ_nzpepβn^Z`kmm|xrgbp÷\26FgügE;5'>Xehes˦i@:;04P_cnp__VEG^|zcWahcjդ~n`E9BG:+,5:Kry{}[B3GQI97EZju~lZ[t1  +0WRa~vi]afq~{jmȸkTQ\krz~urhhzəe0;YwнbK@<.NITWUeĚa9*,:GLMdմdK:&&6?96=Qfnlikjb`keNSZM,8?S{we^bnĭbhl\JB=Hgjew|`Vrxvurkqwyx{oW[tŸͺ}sʄ>0JUX[pg=:5&:BHcӾs]G(&03-(0BS[`dhib\eȼdXc_B+/8IWji[QWpӹnrqXLQYg}gLRkojs|# ++]|Σbf|ĺįqg|=&LQH==SkzX;<6,3;UzudM(1?FR]a_RM[x}}ѹk`gX8*4HQIDPṟxxr[VezU-",@X\dY =kοΪ¹ahwì[SuƈR-Lg\PECPalqzthmhK?=4)3N{b`hmkfV00;IUWOA=Row}ΑQHQE**7@?:BYt|ͻjhyX* ([ci/  !9WԸxXdx}ɶxNAXx[;RjXMILZjqu}|ni_I62&+AeȆL:=Pbjj\7+9GMH?52>Vn}<:?9),8<6009HXpûʯs<[[ԁA + )O|w\mɥuVDIZrp]H,2l}U@AL[iqzyX?4,-RT'*C]jiY8(9ILC=<;?Uխ\CHF@=0)162('DeƬ_-[?x,(X¨{][ׯ{Ygph^]br}sfpi=;diD5ANWam|fCB4&+Wy2:XihX:,3+7JQKHMP]eXKJYf_Z_T/((+-'2^}rֳA!(̍5Pј+  ++r}ybGCI[üоf?Lcotwwh[YZpkB.:6/,4I]mspcL1>k~yjHHLB1-;KH@>=42juj}Ɵh.5(Cʿ6'.iȿvin}yaM?9?Wdz}˧bDJbruwtY@FepD+'Utk]YhzjW7&36?]ղge~}mXLPcmgS5/7AP^ffft}r_P?-0Yɘjdnohjt}vg^b`F+5JrbrˢW! ([UĪr;! + 7g`F0&8yҼu`Xi}pf`QBD^̽G;Htg[RJJPTTZaZNBDTembW[\\pnu|ykaȱƹjPQV1BaZRQPMJGEB@3Tpnorx_7yļmcfedee^WR[mxxstqm_?)El{cVVN?:NvtlrǪracviky}z~?(5(!9Q}wuzm]l[PS_r}nfidZT[[JFHPWZZZ\[[drn`aqZI\cgӹdB.,9HPPNNQMB@CA,4w|{xtyuTȝwffcdkqsskpspmiZC7DP`~w]NOH:;Yևxŵýѧocerw}dts4!Voqz{{{}|uhWLEO`fejquvw{unsqga[H@@HPWclnkb]Z]l|d.':S{Z>*&4HW_bdjfRIMJ6)jztvurx{A.biZ[`jyxwy~u`V\KMu^AB?54Lr˸ȺŞujdjqtk2  0ek\^irxxsjghfc^blsx~~}~|~ztI;2G_ҹ|lȺ\5EKV`]mİvoihls{|E& +Ai[G̍eVHShqk\X\z|yedTLZ΢wvwrtp\H;WʰfaU>4>aнoknk`F**Qvd<4[pC1*@Z~ɽlfZ54BGXؿp&*07ISHGcǵzsmgb`dsvx_9 1S}[nZE?K[h_YUurt}}|yokiryp`c״~zxreRC)3x`E;Ff̳[95@LXX<-]tO.4Pc{}adNBI\|`VH'9[foţ}x2)(9@;8Fgvnga]Z_s~kd; +@Vuwre<-=HiɸnXIBFD:1?WuձUCpzOb:(.ҚyiM03ϒzhQCRs{weNB@ELJ=0(B7Ec̼vzsbMQ7DYlnbK.[~r~e?3> +0R[?WLbY1" $Jbuppv[[abgx}z~r[RPECoxXF-1hnltOFKTLEQfrup^KLbÝ~ickvusg]c|t;Ctw>ƯqO35Czlj]KCOfwtlWIGMPLD@=9Se~?  Es[\paTep?- *Js{qjp̚U[XV_oxibSRkzndVYd`bxF8lxtRF=KWOFRds~kZ\hϸzo;6]b~5>Ȣ΢~TKP~q}ʩwosjO0+@nzv|xbQKOOIEGJnmES̸pf]PC8:SVftP( >}r3  >dw|aJ?30Egwq̍PhaRISgw}shdXAScxntzxh|ib͹|ab_M/+M_jrx{ynebadgglcizZ\qxp_L:5CDGV]^V ?~re?3?er~~r~|ita?3.Eia^v[Uip]ONF0).5D[ohouYWfzohjstkjpnq~ʸ4-D̿˾S(5HB2.+*OYvxvyqƭ`NVUC((H[hlnrumeefjkmvotqdHJaf_UMC@Oe}H/2(?MTq~r}פe?3?ejnpqtnxj? +(Pik^lo[NK>(+9CSq}Łib_{zrlh]SOTXby̻RHc¾Ĺk:,64--)*Pj~wtzzuwnTHKJ>(/GTahmvxh]ekmnpynbM150A^aUIILPb{~(CPSi}? ?mkifad~r3 F|nhWY[SOQB,:XjŮj\TqjzjZQKB>CLPVlm2(,1,.5Akr\YfrxxjbTC??:,-BOWdlq|neptonovq_hs|;0I^ZRHKYme 3LWU^wr~r3 3jdff\fe? &Sp[VYZai`RRp̿s^ONYvimZF:733>IHHZ~ϳسX-*3;65OZXszTFWn~lyubZ\R?8;<41BU_fptprxqoyvjijq}o[Y_u@]}zr_]]dt~> >C&,F\m|e?3?e~r~? ?eacaT]}re?3(Bx̍}mhltunn·ľn]PUq{cR@1.-,4:64Fgιq=(1518U^]qĽdMYn]eoj]UYR?6bhif]NSmz\Q^t̍xx}ͳymu}zqnkuƙkJ:,','(:Rfsǿm[xкȟpE))7QKVpƱjU`q~jvVckkeaheREIMNXbglrxwpxucjqnlnwmM<@cn~{w~? ?;-&)\ǕybjWV-nR(,AX[X\h? ?? ?~`SPQ\cZESmv“~[\~¼јulmvrpzE&:>IW\[gydzxprl^g~pJ.(6@Ml]X_qϾYNLrMS[RKYwxukuckp}g^YVVXamu{ɩ>&)vuoioqwzmSGQTH(&/7Lckgaie?3?ee?3?esXNKNXYE+)>rjstԷ][V\b]]jegkp~z}A)/KSY\Z[i}̶medefroJ7+/>ITavu}YalrnqYVGYOZWB,4Qdiei_dmzn|j^^XSLGN\hrԶ{YNO]zth^_efc\bp}}T+2=Vr~r~~r}l_SNOVM1FYlja[;Pivpo{qscLkըvxut}yy=23WMBBUmyxibirupv}n]YY\i~{VD913?K\mw}nTVn|{}zoaI1>amsfGH[lsv~}ndT@=ISSLC:;DNWatӨ~YNNYs{m_\_`\PQixkVBBB;B_ЯsrpaVNL@>ad[@b}uhn}iho`4(f{vzwux~}}ttn^[q|upwzo]OGDI^}yvrjtשt\^`RIMTZiuebUIKT`gb`\SWgrqliwo\TPNZjxiROJCQuzV:5.-@JHB:1/7>=P}I@>Hcqnjmuxl_]]__ZRO_}]o̻rvu\E:)@Hi~r~~r~fvlY1%7m}sqrc7ETKOh|utrsvzzsngTOZf~ѵ}paZ]dpneechא[A>D?=ER]qĩ}kfidL;9;DOYdgegq|xcSZqcTew|yue]`G,7tk&3A@>;4-5?;Of;1.7P^YXajk^RW]___^X[lyy}Ӳvm~wT4+3MǁP52?ee>3?e}^W@ GxxzmJ+-=_~}ufptyzvocPESqǦv~o`hlkhC&6CFPcs̕l@*3? ?ee>+%2ce?3?[5Y +3_&  +2~=/|̇c $?ewX][d[UEER[RM]ijȲyjflrcVRnpdYE@Yoh\ohA*>otbbp^eo3555(;XxR, "! %2**-4Lj~r~n\? 54! +!>~~5 'o~? ?~W 0gL E:1gY&3?_vov_;0.)3Lcǵ|`H8>[bVJVwmmlb\itgQZtZ4*qîYSUP]vz}[5555555555[L& !"(*?ee?3?e|r3 ) !Q}SI_' + +-hl' +3 1<\/ + 3,(% + +?~re5  0_;0;_g0 1mlllmmmrr~׿ȸxsmR,.DPV\b__jyziZawzogkqzqE+,6=Uռռ̿r0  ?v[[1 &p( +/fe0B"<: +0!! 3?3? +?? ?`8- % !  P: +  .  +  +   + . Yx[) + 3  )?eɵuzw~xcRBDaeSC:NeIKbwwyf[OC=ALflPUkǓ{~e?33 ?`;00;@  ?`3%  ;1 + < ,3? <    /< >&  5q; +  + + + ?eȷyoy~~~wmqtn^HImdTE)OcA*+Hi^v~k^XOB:9=RigQD<7N+'08`?16Tre?3?3 +! +'Q( 08 + Ie? 30&))) + +&&) +  ?i}w}yuvz|xob_`haQQm¦^<(ICciZSPLE@;=Tqf;3Tavuhm{m1 <3 +< + + + 9`912>epmrxxhj[~r~? 2 + )9 >~5 ?`2 + a`<18L\JEE  (97"  3Sǿ~xstwwph\RP\_^_l~Ƴ90?b~w\LIIHFD>?V|u8IWhèz}r3 + + +/\0 03 3 33<)Lxrr~xf_[?3?c?3 ;`?3 1o( 1<`Z2(.;Tpؓd[^k~2(9,*,/+ +T}wuuqb[TE@MX`]]eȥK-Nmy[MLJF@A>>Kce4=Sd|r1 /=_3 >@  ).<`;08`lqE2T^2(5([r|q_;3?e[~? ?[11& [qlwr3[e?3?[;rr~פe7=*%);Py~?6MV]je=*Hy«nbkmjp~seP:44-.CVXMKbZA4&'DfS31;BYndI@CFGIMPOE@BD+Xzdz}vpot~x< /?z{qlw~>6eov{U^O0[wtG2 ;Pbw;(55(2`פ~pj|lq{~mb^re?(-Ea[^pb<& '?hi^eb]fxxh\RD30219Sfljkm84847U|d=49QcriOBDJNRRRK<555;hȳupmmkfemQ3))(/57=AKctyz~b3/558OhV40@fjf_VQX]_[WPB7990*Q¨|rmkleP90[^E>>??Ecלr@Wk\_ѩ}cQOZXI@B<.+24.1>L[nxxx}~{z^1(.6?L]R3/GYZX_dfmrneZJ>UhjjqeYSYwʴo\tin³wcJET^R8)1J]hpoqxyy|X5/2;FR_\H;CNQbxyoq{yiUC<@Xl]0&LjfIM|qiW3;E@DZyϣzdetunmq~S0'3Div=;Q 3rĺulXDGfrXWbjnvrwmheib9(5(4Nl{[B>@KUeo[HB^̽nvdzfYNRaj_BBTYbgnvy{pL;?=?EP`e]QJXXk~ylkwucJ76AWni=';]}Łq`G9@?G_nr{sqsxtA/4E^a^_lve?1(,' ?~ͼynaZitfi{kbhų}}xpxzqjV0/>MauuOA?FPb}sS<:Xijn]`i´k]]itwpL*(HVV\dmv}]?9GDBDJYeihcsia]`emxvdK8=Masxa?7PęnV0*5?Mdغxlu|uv~_FCJSXWS_wpd`T:(5(3?eǿxihox}~r~rUX}nqurnjZZK1/NdwmYSPU`rƱvL?Nl̬h;+Eqɨ|jhqqrxSD+5Henjikr~}aD9@DIMPWdlqwodTMVdo}vdUZk}MSrpP9McМfbdwxVNRQMIJOc~i\aaK(5([~[uǷ{̬~re?3?eSYxaXbmtwbOVTGSkcZ[bjƈTJ_urmd=-e{ry}jhngeoROGW;565Kt~tW@>ERX[`ilmrpdPM]q|yEQsqJ>QdzgbduǺvefcTG>COi}aXZY[vȵͤe?3? ?otxXJSh|ue`fhaozplgikiqӰjUen_\b]TVUG>JEHq}voha\ev~zhWX^V[m|edktuUGKY`aenonpteNOf|{JfpH.G[omio{ɬoSE>@LgxnXTI[~>  3rr~dbvywyz||{tz{sttnov}~{ndfkT]VBEMG>@7*+<9&?Mcld]]SLMXkwucTQMETnbNMY[YampqssdT\t}vel}ztQ3DZrxejŹsTMJCEXcZMM;̋z|ø~r~r3  ??3?evhbZWfw_up_eU&,92,;KA12+.A;)3IQGFKDACLbw~sfVF>L_kxİԪfMCJECShqrsja]fnmcb^k}I>m~upsyt5+:JZjqozh`mΪu[FE[[YJJToʤe?3?e? ?3??(5(?}ǵjRN_IBT֡rnoK1.':TN83*'3FJ),4>A<<6)(0=Urz^E@N\b`ZUdѱrC-135Jesso_\_]QNU]_iz:]mqlnpngefkpruC5JgF2/ARRMU^c]TQRF*(+).35K}ze`pɾ̍̍[[=esrpm3 3r~?(̶ze?3?ey* +/~k;2OQG]oeccQ41P`n{syzx\UQ'1AC;?B175-(.Fc{ӠZ33>DJQURTUTOc7,./(/G}vg^fyǭ((5[̍7[a:+7? ?~r35̸̥~? 3|i!*rر|R<3,8^hcvʰZ4(6;:Gdv}е]Nc\C6-My}V4+,;E?322,(0MjékJIKGOZVGAGNPH6972]urhcYUbxc[[(7Xy? +??33?e~?(r,6dq%#rşxeYB.0+>)CTdstj\UP]uz|thftjrfE>J^B8?LXe{ͷqaVI==K]ee]SG9(&=HWfeN1&*>fpJ*5d¦yy|{ndaS8(5[0:[_2 > ?~nR99[̤j2 dppT$ C}Ǟ{`>,/0-+[v{pPK;*5MC.B^yuf_bq{bKGNKRaufX;?kiD7?^{~Y?:J\`^oԱlXMKN\kpnifbYN56Peu{_MThivxW3'Wyδyzzuh\VR?-5[(%:5[S7/.=1 3r[(̍{}e1 $]`G$ )\t^QH:445/7Vikk}kaRDQaJ,UrsUHT}\MSRTYerW9FI1/:S_tt`KADTa]VjԖzg^_aiswwtpopjWF44G_p|f@&<\õqs|Z.[[#HGP5:LXn> ?~(5ps~~? >Y2 9hĨx]IFIDEYidY^suuwk_XeiO),XtaNXjMLLQW`cgiottjkZ8*5.39DScbWOJMW\Za~ӗqkkoty|~|vwhC3Bb|ãvK*5\Štnj`^sˋF[[ .W`{qldxe?3?e5(er3  +(c[< !~̐Z4-/9>MYZo}ummoa>5I\mvfgd\YTA624O|ylZJ906FTW[clsspq|gK*>HMRSW^a``cwȰmmxhuж¾nC3RijcV>8MRTYvʨI'#=ddak[5̚e?3=M% + 3rtnrrur{ywĺwqc=,9Sxŀhd^V[`USSS_{yZK>/*0CTZ_gosrnmsxsaI&/EISQOWdhfekعynxwN,.LRL=)8RYX[vԻ̙pP>6Cfh^][[5~r~~? >~жv~ͺy|~vrZ<;W}|qieoysx|yt}q1&*+,4HY`gnrpmnnqrncT3(APRb[W^hkiir׻oi|{|ɷƿT-,'=H=1'K_khez̬ffejxj@(5((*̒e>3?essʬΤqwxundͰM+3:PckpwwrrwwutqkeQ-+AZ_akc_cjllnxg\hzwus÷zP&4E@7DLyǴ̍~whryG A[olJpXSxuffeWQ\t}ɳR<0'*.0=gpUWv}ohfjyxnhgm~{uxxgcwt{zob`vŷkblrfS>9??Joǽžt~tcwW" UYVS_u̷vM6?a||_UTRPZtu~ŽƸaF@D?.LĭtK.9Zwx~{mgegjqu{iVOKQZYT^{weptrxdNSҲ}|{j_be]I))Df}Ļtnosn\uĠvxe2 &Q\`bam{}|VAAQmgvzgRKLMN\{y[D=EJ@/*1Xбȩk4;\dmyqlkoquzkZUTOPTPKXsn]PL`cbc{|c\н|yqzeTV[X;3F`pyuqpq}i]ʇpkXUZTA Luheei{gfbinK?DM`œn`c_NECFHVv|w̩cO?8DV[UOPmس—V*/`ppm}~wstyytujNHNTRV_]XczzYI?5.?@)(BfwaGCC><5'G_ӔFpe?32&)KR$OpQYU:% ;qq̷qE=Dpe[LL\eY=,3>6&+&:?5:OSJMF+&@JECSkqnmrtpytdK=;712)4JNDR*D?/ + 4ɤɳyB## ?~|y[5,1AIE702KxfE>OXN74B>:/FG:420.4.DX___ZWYchmu|ʣs[V[`iqtuwmJ.UUnZPU_he]dql]PLSly|jH719DSY^`x϶xgVE0D{{X90+.-++5EIC1!4.2Ф~e?33?exnG--('3UիXP]fdR0SWLL<3@QN@:2'3<0?Xcff]Z]bflu~ĒjUJMTWV[kfi|m@''4bvoSOamrsusiegz}[=5CQ_jswåobT;'JoP>358@HMUbsg)$AWLkҶä~rr~tlbE9vżxejt~xS)FocTXJ>DMF==5+20Gbome[Y_cgnyЫ_GKWSJPl~ǐhfqeE87=?CC@]yT8TjRJh}ʶ]VVK7'0qȸşpui?++,8ewmq_JHLIFH;&'+;K_t{o`UW]afn|αrUV`ZOZw̟t^dszpcZRSfm_bgH35JYeqtped~hLO^vĮsaa_SRQC,1Hx͠pUE?<C?,6^o[X\g{ӻwL'5AGZ{vo]F?Ikʻ^TXSHUrxhv|nbmb99Uhkk{mP3/BMUUUPD?FaόKGUemoneYPA-qe&(;32JU_lvtlkopqrtwuqjebY[au}tziF-'-,&Lecdk~ͺleY=13@n̺xH@OYdpzvkeqζe?3351% $39)6srgi~}lWT_n|xkw~zѻİlCDi37Tepz~xpopooqponkd]\beaiwtɶlB*+*>aoz|}~cXP<).>CS̽[KTWYfstlfuѤ~rr~\) ?dVF4"7bv\G=9>Uwzd]h}zlm»|ɮo`{Ÿ\2&&>\nv||vttru{sihfb[Zciai^OSSX|¦e<Bcо֚u^SQE77@AMrY;?DGVhqmm{IJzue?33?IRSE,1D_z||{z{viN31RshgtmqtmsuaX`~\PIQgѪE*EA50=Wjrx~|wvww{}nb``^[[aedpb;+)*6cɰN*:a}Ȋpqz}ufZTG99?;Ceø<&0;CN]jnw˚wsrpmfSCBDB5(4,1RUKHHHJNF;!  <^lnҵlpǦ}aX`H2$%>R`cZ5!(>^Ȧmg~M:qyaJHZfox}wzyj_[[]]_els~~pT;/(&8i֪tX?8'=dxt_WjwbQ`xyl_J;?C=Fkr&:IMUbl~ԼvrrpleWLGC@4[rZE9(2:(! #-* 6YruտtXgnRHG0  +  + Cjx{xs|yicmmp^>ozvysw}odZTW\`eny~{lYIB@83Gmp}sH2VpȺnT@>GIStsYHIIAIlͱg&?IR_lytplh`UROIE9[{Q3&!   + + ;d|ҺkOBgϿhPG>! 5Ylrl`hԶufYTnd86aտxdVJDN]em{s`O?7;B>9E^\zͲ~@)EdqXIADYsc\SFJ`X9EJSi͵|re]ZXSQMHH>(q< + 0-/3L|{øoI49jͺubQ@ +,Xiqnen|rkc^YVkc=4T«jR?=Oes~uN2()3=DECEMb;_6,3CZtpWJ>.7_kA*  /ecoxwdzϥ}mmkeZRTWSVqɷ^4/K}ũjSRe{k9:LONNPTwѸ\EFJP`s}~]F?54iȠV?FH@Onn^g|oigfioppwwD,6rϨ{~zuqkdekkff_N-(q< 3 ?`d_K5B]v{q}i]VB-/Fi{P, -\gvnu}w_\ee]KBFKED_ҴzP+:Xϳsse47MOMMWexѿZELW_ptnbL?ACRЙwxsVFSXQ`kbdkheda_^`djod/1cհohuz{{zwywkU8[{[<*''((()2O5((/L|^WD&;R`ecfu]WVD)(;UeeY6 +'KcvjJIO`i^PLRSL>8;<7Bl—fJ81>Wx}T04XdII; KV]gʳ~d\kwz{}m\VbmgZdŵqRZTlr|stifaYUTPR_\H-XlO<5DedhopptsucgoeL'):5 "!!!! $ ,OYS@W@7Oɦrw~|x|wWLUensx~oidYU\QJuźŀfFRZh{tuWDRuvR>*    3=@HLE=9;;=C<8=1%wplgir\9'''8[ͼӵ}^\f6/h7*=Ý|~syttk}_7,9Q\bk|{rmcetr5+dpP5ITSK@84;Qb_ecE)grjcnbXT>*IзraMGH'/3/};wuxw_eJ<.'L[_b}wupuh7vÿvL0,XZdO\pzW(  + 55@JQRLB=ARdklppZ, 7U|qj|yt}vW2CpyGpxyPM6>2ADZaEOivp¦j[c}rs̳HC`.H`mz}wv}FA<\ǯoF+0B[s~2  +%>>$  86BIJKHCCRiupkkjb=, Op~tgvralr,'NḻL[yd\WI.,8*/DPq׬[7(-Ns԰smcgnVJ?3Xz˸mHF˲M00hI +% + +&T`HA+# + /*/%g>>CGKJEGXsztzrT> +-LywxejwgTJZZ\eUi|ȷn@A~\QJ510"AX\8("%?__B@JQNKS_q{vusr#H__cHIf{~}ygYUay|KW}rʵpUL^pozo@4=7=EldK75;fVag]e}||vK5-)*DmdhrtX.&Qkoλjgntu~H~rr~mQ:00568@LwiO>AcĮz}~rӗaC6).Klqlz ifhohH2Lc|qk]PklsmnpegmrdZ\fnbNm[n6L\majwlZVSDAVoǠ^EHatnmjYB@EP^n~g1+=`őmvntgdiq}qW6).+*+1CQz~?  ?~e?333[ξ~eL7/157:BLc@>Oҭg[͸ظzP;(6MW\nֱaZ[_aR6.CPWg~l|P=hKRʸqpkycYY_mv{{mhoxs`WTB.CX]hgZQIKwwzequN7;Qox@18Kaf`agp|[02JZtwgkv{j]]_mzz\7/-&&Ame?&e~rMK}mWD@???I[q+3@oTζx]A-&+*;GLIRN?2Ofyhpty{}}viW;/EfyY/4D[ppbVBcѣyu{|eY269CѿΛ}ss_\_RKMFI]u{ӳZHN=7MgRTbuxW2yevkog\esre]exk\SJ>/1AFE287**A]ovwutrhc_T2YUG&*7Po}pR5=KjjEEJHIQ[\_klesҠqxqlkY:a{nzeT<=>MdzТv\V{r\arsnaQRbv~ѮaNPC9KY^dmu~qAVKesarssqwr`W[kxdVNI?:?;2)7Jgtxwuzuga^X1',+4Ig|W0(58519?AHVacdRF_|ΘrbJ*+j׳DZkVcqu{bJJk}sdadd^O?>L]iu}~}ֱlVTU5*=KT^mxzL1A19Z}}Zdz\T[m}i[SRH61)(@JXkuvv|ti]M**5EOZix~Y+&++(-4:J^ifaM=PjsqY<3m̿=3u}oPVip{؍]G;@Wa[RRTR@+3DPZfmtֵt__pmT?)->IP[sô?Jhy_ib[akxmd`^O4&/GMYjru}wcK+8JX`hsb/.358AWhjd]OAFPUi{kS;(GvԿtir^11h{q|vrE8IfʙZ;*5@A@EPW?,;@GUamʲyko}nJ-.BSZc|ówI-'@Y_hjeVNeļsegozvqlcS;1<@J`ox{m7'AWbiz^15CGISeid_YRIGB>Bayrs»kWC+.Fbrú~icjrw}|G1I`{fkK;EbѸJ,'9BFFSbP+)02>Udrvz{lUA3>ZvyvǼŪn`TG0<[g\QJNG42dsqu||ui[N4)*4,5<76307Ngy],Lk|S.*.-,8ITZaiida`_YWE2&4Uhiejzțs]N=86)(00/4?Xο~lgnpmr}}hE8KbysnYYW`p|{}~¦f5+]NIGS}S3Zk~sojXNKPiϳп~rrh[G0D_\PKTK1'Au}~|u|tj`I;BOculeiuosaAUgֲfp~V5'&B[zxv|oc`jq}A60qGBdqec\dqȹ~WJE@0DBTl{֫d.0M|ϰwg|rq~_NKJC>BM]g@('GZPRi|ypjjzWGJ<+<\kaabtrx˚qH3/16CXdha[oinaFanҏ~gq~S>=RpiTQ^ejyzjXi^SNj׻utbY]kw{eQNSXUTW[gL94@7=Uf|~aLY[K?UlS;0up|R4).9ER~g_jyT,(Tgo̙gqmI@RitdOFHSamvm:0=ZWkYJ14M`S]lrj`RDCIŐdG?DLMF@AK7A{û}j]kEoõ}{YEL_ɛwpppjVIHNLM[ij{k]<'59G`zODpR`Jv|{tΧlI8ETXauF<]dlײѧ~}mQ1=M^e\QNLObv|\-o-RbTJDAF`||S*(BMYsi_rmƥQ;L^&.=ENw,m`v̯s`kmh|9*YjeoˠhP33AMX[YWNLb^;CI\MHBfѳqjwQ?;>[nYBBIFDMfxsC3@oծr^KPcwĿ˺J+Kcqy}}{|zk^[RF?B@Gd~Z69XaexuTekQT}B)OiK((Pôͬtq{.5Ut}z\20@LVZ\[TSmͥxuw_@97I_RACKJACZnwhD,1o]G=E[wϼźF)?LUclkjsuib`WNJKGJb|`ITmsyzdLberkK.7Wj<Aqj=kžuA>L`qxzv+1AOY\^dhmƸ~u{hGCCLUM@@HME?OdroT0)lС`;5;Qw¿½{N9EJQbgZT]ea`]PKMMFI]uykr}}y}eXgϚ}{qU>JATZD>wrelϳkUDANenkr?+:K[aenxֳĹv^dh`OE85;HHDOdtqI.vƜ]MM]|βȾuY69MRQVecG:ERTXVJFIICI[liX[cddqtc]s~ypifY7-ASYI('-AZcgt^fҧsglv=.3E_idfv)0D[hp{uC4**3BHIWkys@*HȪ}ǮqleWY_\TORE),;CMTQORUTW^b_UQMKSajhmӮwg\VI2'.S[XK5(5A>4?_֪vK@RodZMG_k/+E\fabxӒ8/EYiyƽǛU8*.>IMRdu\1'8ETcuxmaWRRLIZ]TE828*4Qnΐh73LemUFX`Um{=8Q]\_jrv{reo3350+8JVd}ջ|դnFAPX^frzd@0;]}dMghl̍MN[RPlr^WJ06DMV]es]KQI83>HVu}||xhdpl\WVND<'/-:9+,D\l~hyΦq:7FI<@rX:LPS\fmqURagW^K2,.+->MPK>ANV`x¾~|ѩfNWcmuy|x`\{jXA+.Ysx}wf}s;8Oq^4KD+0GSYRC8/+BXeihaVYkrpptzqdm~ʭ˴sU\wָƹs\ZTG<944:;AQuf_DM_ozgTLC0-8GVgyz]am}}_OLE>JXTMQ\cygNC5Cwdl{™Ԫ}`UUfȬ‘dUĴyc>7wzk|v_sɵ{W]?G@6fY>4@U[ahlw|ynd_^ckdZ_~רb,0IRoǺtkgnuy{bC&2@Jbl>@^ʳhV~qbR?.4Vw~spve\ZN@KfkZOKG[|X46dXduդs~вpK92?_ib^jx;|~^dytǤyt~Ĵ^EA:Dkͺoh}ykqɏkoYQ^VAEwv[EH`mwwu|~ug^VWFCQ`gսX,&.;Sea[k}{s|gB*FU_xʓĝupfauaD>l}oSTvp[@>:ywnbG-;fS[e¼tiT3@HbJ{kó~nq}|S>TecҨwsaG@?GI52NgǴvϽps|wtmf^\ct{jW\tyvp^KCBL9IXtr}ʹ]4/6;GVrxg]RSQPhzukX5.Kam~|~u tP74TVY]V;'rZUQUn|t[UE+'(2Mdq|ztytȵti[JBBBA@-'24waGDcQ51Ȟn4(=6*1CUsĺ¿wsqaehgitpgjonyzhXH4+1:EZfechnvöeC14,0SgmcZU\nrmknuwbNJA2+(*.-6Nalogbhsyͪ¨ƺ~]C:711.252Tpɵw`E.*70&WqP87O5dͲp;'CEIOU]ewƫcB)B|}V5&5[|nrc54<4Il]17LPL`rؐ.?ZaemqkQMJFLV]cgisut|vM?OqnwmWW\dijnsz~WG::9=H^txtnkjklic\Y[^emqu||rii_V9+:BDGQ_vŹ~W1772'0Ni{kagbA'L`wxhadbUE88KT=?Nk{WG3&/)5Qo|ЙC=dyyupegױ}qcL@DLRW[^ckw}nZKOhT-+/5Jdrwxpimrbxy|\_ekory|qdbmjJ.>UeuĵUEȻ}ZaHKX\֝dDI/:ATkrlhmpke^OHZgO:W\gpɦnSA622;JA/UblƨgA8Daurlkcb~|sh^VG::DQ^dfjq{wiWO]̩Ʈq>7DLPWcjr{wsmdOw{acimno{mcqtG.;Rbo|аR8;ɻŹMEGBUi^l&.@IO[ee`br{z{zdNU]CR\bjsвmhʼuEBհp?+(5DPX`djpohdl\\S52?CD^ïsi_\_VB(4Sɵ}P3/8P`d`h}H9NzumgcWGB@96D^ssv|pULMRauƭnkpqnfWLP]d[RHCDJa`gi^Vez~aT9DKGM[\WW^yn`k­vwcPxyW1&KVN8*MYcu}vxzuomztq]GL\Z\|̯shhf\VCrveRG-`3VFJrA>8=dNt[\9_iMCJIWZ_)R:TR\vsZ:Zoyug{j^adgcZ[V=*'dn[^ri;FbdRaW6+a7<tsm[h]yjya+)(5}Usml3[fb[0*{ssj{qiA+1EI_gdjmmeYj_^ffe=_lbSh_lakrrq]G=0RP1u4?>?EWaB-*6;gblt23?e28"QSF:(7-)=0) + - /([[B\m(')9(~? ?"',KJF:@5( (5AM*,w[(7M[.390B+[̤r3  +(55(sjVI([[[^. +%cbW43GMT.=+:85we?( +w_[[M[[[ >{̴r9BKD@sTE26A[{? +(5([( + + 3oq=+IQSYR[p3 8]vɷ(̍̍5 =y[t\AvLG`t/mkB(|?  /c[ȯ5( 1.8Z[[OJtP);P`N`kuvhO=Peppr5b<2? 0o(([[12;TRYv[[L92<5LR_^[Rbruq\MaM^uo\HWw|sF(ӕpoe? =~̍Ǯ[[?ev_555555((5555(Dwp?Q^VYagqrc]j*ZtwgjW?'T~N8[e?07\[̿}qx[G1,DOLeueV^nqgW`IR;[[|hX|(55[[Ƕ[%N:iLUFaF(5((̧s(555([[((55(>LSY[q;H?[[(5((55(51,.9SEl[[#/ 8( (5(2+ .(0 %%+")('1(C>, -:+ +&&/<LL3 +)  +4Nk(fU/  +  .T(\\G5vh< 9_5O(5((\0 +  0Zx5[[[{`4  6c([̮s: %5([wfI<  2:Mq[(НsR%!)Gz[(5[p>   2p(5̝e<*7n[(j2 >|̍5[q<_(5s>  + ,Pz[)'[H[[DFcLZv&8V;  #?M<[[(55(h[gN +0  + (5(wr "'%  %*,(! + Ce[hmkquw], $U[(5(i{qt~pomqy}c! 1l([[Smo}{usu~k{vxh'd5[heXYFL[kxycwr{xsjqc|~ʭyN;-1)  2i(((+Etzo{faowimauduUMbQ;>1A$Wz[5̍b'T[R97@DF^6Lq}`R8YR20IR,Vu[(("GQ*?T]y\]7,FPkeNrxdl^5([[ "Mj+G^d}[2I\O_[syssw[[ 1\grBNCGlnvs[[acJѺqnN.5(2`{((L0xhE5CZfWa5̍5 oh1R]M,&/e(((04[_I(S`YR[[1A1ZYI@bie[[//k\@Sjql(5(%gdQ'<my{vvnM-%?eTch^v~eR(14):XvXX|v~,,8BHR`f{K4,(-;FUToN-{85/2Irxȼ2/SZqENQSeww~th`DJ\\[XSUcjrf1DIeq(5(([[(4" [[M(5(OTZE" [Ͷ().(`XR(55[[-+8 +(尜~md\4+n[((555(6^(5([[ !  +   +[̣j[<./5B[[[[[[((5( +  +*+*""3<[e>' +$~[(5([[[̍5 "1CR +(!   &#Cg`\f}[5[{[~> A[(55555555((̍5  +2RXH+ 0El?"    Uÿq=[2 &q̚[̍[(5((55(5̍(  +>4#  .[U:13=RiO(#(555((55( _m3 ( + +3r[((5[[(555~e;" 5g[(&'5 :J{d[^& =tϜxrrx嘁tn[[[[ =[e?0))3Q\5 + 2_M31?e[Wx;[m3 ([p[[cw=0wqllx^<1.9a؃eiyg[q3 .r[F,([(`[b1 Iٞ~rmx彈̚|́}? ?~['[(5[(5( 1z̿[[dẹe>3:c([̍55^/J)0n[[2(55( +(55|q}̍[ߤ}li̍5[[(555[̍55cQRX# +3r[(55(>X%!*?[([[[β((5([̍5(55(5̍[}nl4 ?|Xq[5(OA(  .`{SI15(5f$([̤[((55([[[((([(([[b( 8Wgwr~rw5( +(55(([(5([5([[[[[[[[[[(5([pI<@G$8SPI91<3?_5[[[[(5((5([[[[[[[Ʋs(DE*  9a|"[[[[((555((55((555([[ +(L[(55((55([[ +)B1(55('(To2_qp|(5([[!*!(5([ads[:???:s[U5(D60=`(:=/((4q[CUr'- =q5!?/ 9(N% 1e5 *?(P̍5 ;k' ;!?(  (x5&-9Wx[ 2Z[- X( /esH2/-<[( P[%Um 3_~y5 )[[ <̋"9xqW?.W(R#(Q/-ENUs[[[ $$ Hfw[[[ (5((55(;*09? *8'3 "'3 -9  + $& +  [mE [6  &!(5((g04[[5I8&[[(< +%)5!g([> +( Kp̍5[zG + ';c((*  +  +>c[5*%  =k[5V;  + -( (mM+ /=:5-(2  9_XA+%,  3RR5 ?1RS1 3([]3 35* Wu= ?(W+ P[9/?[(@  >zb][(55(!(55([[(5((5((5555(([[[[[[(555[([[[[[̍5(((([(5|n55̍5([(d?3((~r~(5[[|?  ?3?e[([([r3  ?c_m([[(~(  >hz[C:[[[5|5  3o[{uz:@0%(5555555((55( ,'5p3 3r(/i-:=0)%+ + + +2ESQ(p3 ?~̍53/  &2Lc;GR[[? 3?e(̑~pX0)  + + +   8`@ 7V[[5b?3 ?e~˙WxSSAtz +.< 6 +0<13  0\? +/I(5(!F~e?3?e̍5|vU~ic•GKBrm|wTH`=c5&!)6%%<22Kn}N_df<Xb[miWX=Q>*+lvzBO]zXnPIK6pZG LA0&˾ogM/@Gθo|W\5]b>65i]W9+nf`XqZQE_ON]xu~u~cnrRwf'65;TOYjL:'wcGPmuZnU|)YabHHC1*)uqN7M[[|UA.;R[_c[A4('m5Pho+(T1pujkH^&eoX>2[{xL``~xR>uyjL:IXRtz;DRrKNTfo/ic7E_V^L7Lfg`_H[lqmfHTl7 +     +   355(18..+-+82,+)),G$  +?~[55(2 +5Vwookia((zpjmg_mh7 +25,8etC$!( (.<`ù55b=0+1[xmwaGX]]=5=\l~( (ݤ~pcEf[) (5(5([ªu﬛[ 2[j[[[[gM)) [[(5([[[̍532  (((55((55(55[yj`Q'%62[̍51MHHY@5=XEOWR3(!(jp̍5 +U{,5((̍5[̍5[()Q5[[([[  (5( +  A( ! (4 +LJ5E_4 ! &xa<2' [ؤ`\&[̶x9 (`2 9ؓ_:0J̾KHb̍[!@( )[ +%- [[(5" + +19MU([[( [:$#)  +(<@BDA3 0(5[p? +*][(J659[[6$$[ndpfkpC (5! (L[[[BFLddE) [qG)"*'-1"05([[,44! (55(0GMD.LightSand\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t886187581\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Fractal\ttab_FractalMask\t1002\t1001\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t669011477\tfbmmask_filter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 \tfBmDistort\t1 +GMD.SandBurnt\t1003\nFractal Distortion\ttab_DistortMask\t1004\t1004\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t197004853\tdmask_filter\t0.00000 0.00000 0.15054 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1005\t1004\ttextureSlopeFilter\t0.44615 0.50000 0.77692 0.74615 0.78462 0.40000 \tslopeDistort\t1 +GMD.DarkRock\t1006\nFractal Distortion\ttab_DistortMask\t1007\t1007\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1389070781\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1008\t1007\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.68462 1.00000 \tslopeDistort\t1General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Night.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Night.spn new file mode 100644 index 00000000..36c415d0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Night.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Night.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Night.ter new file mode 100644 index 00000000..1c647b86 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Night.ter @@ -0,0 +1,1511 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAnU8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPiyV-) h T 5 B #  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H % B = 5 C j />Gni<Kr_)P4GOz% E  y { C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ e D o o [ L 0 + } 5 =Q$`G AUi}G Z%s _  r  )   ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +   o H  + 4 [  /   / C ~ *y$8LLs`$y= > g  % V  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U  M o 4 j E 6 = p 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C % S ,  > ) 0 "   )eLGod__ 6.*  'NNN]f +5 )2d ` . S#7u + #<1 g  H W B : e u    5 7   o A [ I`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! Xbb@  h / * f g 5 [ H 4 t a M %  + + + + + + + + + + + + + + +> t  Y . 4HYOMys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + X V /  [  9 _ v o [ H H H  t 9  + +t +1 +  +4 +] + +- k - g % S r v g T j j  =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U   o m C  v M  +s +0 + h < , )    X  +N + + a  P : x 3;7  +  + ~ $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / / !   | I  v 9 +o + + P !    Z F + +9 4 Y , o '`yO0 ,0ENA/# z , C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j I C @ G :  I M + +0 + A  K q + +M H n 3 o AeB2rR  m ! C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j f v t l ^ W 3 N  M + +V + + n +   T ] + +9 t H o 1 m @rAd]E)1"%\ u 1 C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB | n s k e _ Z r 9  ) t  + + + +{ +G + + +> + + +% M H o / k 4 ;SJOFUTaUE?9$} k / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j _ c ` [ U Y P f 9 8 E H a a a M % + + + + + + +% M b   T  R j u(/8?QmuoL21-V  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j WhTQ<;bw ;V } S ? C ? 9 < # ^ Y [ [ H t M 9 9 9 a t q v 2 F f N<JQ7U~nJH H 5 8``s dQ +  W v!5N:! edKd  4 k`dH0W"|c;V j S 0   o [ [ o N & u z Y * V j q8!Yt{lnd & H $y}P7$nJ W N]5N4k }< 4KC9&9m.IM+ j j /  +   ( ( ( ! ! o [ H H f h |  Q q  L L3HOX" * i 9 + + +t 4 j  =nU<#%[  b55]: + <nL  + . M$y/ j / l w E V C C V j  X $ [ ] + ' 6 [ +Ou!   P +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% QBJ S -n88e V  u QP Qeye* j j C C  u | a h H [ j #<dE c  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/]c6, 1x ]8LL$y j /  GyyL8= A \     U h Ozf: h  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ Bj0@7By# >$Ls`Lk j S r/\wyeR3R>* L G " % ; E M 0 b ; @  [ &_oxh]-  a +> + p!5k R + +9 [ *n.rG k :pp:! + H V f-@=#n?``*~ l`nnn3  } M h  + + +p s A Bfh^L w = [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 \;8 T)s>GOg 4i}}i. / k + +N +3 +k + +# b e ++MO. K 2 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `.,KnZ333G33$)Bn )wP)A3Ly S ,  q + +# +  + + +  s  X  M + 550 > + +a V V ! 1 +:N]p]N: + 'Ocv xa--O w_rrrr_#wW { 4 H i +! + ' y n +  - b u ] } '  M z + I!5 > + +a  V / o M + !'N5]]]N: + F U(O$GhhG!>UT%v``32ss$PUt< O 3 1 h + T 7   + +   * G D X H  T  X  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3x_Sepq%M@ +22K 9R/l 6 " M +   v +T 4 _ #  K % R +  k f + + H [ + p!bb':55NN z +9 : AH B.]q]UamjML5$w?Kw)<P(-Krwine [ F g + $   + +h % o l <   7 s V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uuF;A:"45 vG8U 3UUc|OrC77An + o    g X + + W   1 b C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ@h-)~dpO@MKbi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > | Z   7 a  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Nrg? +'_+m+ 9  N +j +H +Y + + +I  % W X @ K c V y* j ! o M +  INN f + a o  AZs 4I,)Txpb$K!1P<#&@rG$ G s W ` } 2 FKF  z N i T c / QL* H t + +W '::bvNN' + + +  .nnn.RI"2v ?]omhzzT+w|~tc$wG8+z % F i L X e  V e$s3G*~  f + ::::vpWk z +M 4  ksG AfT i}w(i5~k^Q$o7U\lO5x t8:" j % t 22f k [ j j   V $nA}Am + +0 5vN: + + C i1"t-3]cJw,>AJ[Ki$QV@38$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4Uh= )AGc>xnP8PNac*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn&4aZ#F_4 #`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xGLGasnU)rPAJk#Lsy ~ w |  ( ,  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}ddfrV&_Gn* [ ( y ^ ? [ j esj ~%/ + +bvv! + / C*%.(?pLYTPHe/yVIJ 9 ihx#f^NbMA4eQ C o 4 4 o ? [ C esnVmM t  +bv:'v! +t [  j MUPTx{E44id[FFZ}35qAyph} 4$ j [ V  H X ; [ / e$}r9 M b:Nv R ++ / Mid&tBW&#G,5IIFvG64n)n_|wd4n~   V o  C een}Pr}= % b:N5 1 + o  `iPj0 y)X o!/7_`7E]lpsf='ZX#rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MGj <Iiw5AGphA  RZ<_)$ j V E  o \ h 2 =`})lh\8#V + bNN] k R +9 R #)1 +)i .a}o/4Vd|lj"S.-P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ iaN:H8 .G?S~L9n{TO=*yegnNPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.WHCNK2+(9LE}iZveSJ[c]oI:+yQ==@}Ll/By=** / [ ! =*34SuL* t 1 +W vN'v5p +t 6/;1k|`dx=QxUZfC ;V\\UM6Q*Q`%yh$=* J > F *34|VUV + INvb!] + 4  +o !4H\4  >QeQ-Ud7wy= =n4 >~|j`$y g P `  { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA W'MZ= L3mmJ`$y W   { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3R2= V C C ~ al HG%Gty T 3 % _ jy89RG +  j7v:'p +M  Y3%1J*%%xiV}yn!a{xn<<<Q* ~ C  so1j3se j >  O?Q*93I$e   +D 0v:'!0 +a 5 /Y3%b(PBs$%'n= qc C W DLG [i t8= > z ^=2m%Nj % R + 5(v:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y n  `K-3eT : +9 + D6v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 4 ((( =$Mg M + +k X +v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  / g / o ~ =s$Q j /  ) x \Y4f M + + pkN! R + +9 M a [ V QL` wC!-H~ QB//Qf ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ][+ :]D  + +% o V ~ QM}*~PVH_<pb} ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 AuANI0 + + + t 4 o  ~ =Gj\eeQN>exQ==a~G o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e Ne*5N: z + + t H V ===.=e q*C[LdX d P * m k D D k  [ * j C /   }    _/: H  z + + aN5Nb! f + + +9 H / XpwjkisoL3VqQ=w}Q)))Qe S/ X w N A 3 8 *  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j \lt`V}jsxB...Vx|oV+ m s 0 > 1 X j s t H   n n Q _  T @ B 3 4 3 . ? A G o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C 4^b[cp|z^lg@T@m +7W h Q V k D $  C 1   Q W e k 1 w # Q Q e y n  2 A . l N E #   9 O  v +   E m j / 4 9 + +k 5]v:]k + o * /*19>8 *Q$y`y= \  v h e l  2 5 /   . 5 5 I Q E   . E M L ( + z | z x y [ F \ + i  B ] +l H  / C C  + +W v]v:b5I~k > +% N t p e p f X (   / V =yyyeQ= ` 7 i ;     6 \ n g ; K h f ] 6  > G ( s ;    , A P [ X H 7 (        . .   + + + + +R  C +% M H [ H H M + 0 N''pvNbv!  + +  S H / !  / ( 4 [ / C C C C /  ~ U [ 8 *      C +w +T +9 += +Q +v + + + + + + + + + + + + + + + + + +z +X += + nSqiOpfKm P +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5IIH]D + + +9 a 5  + +9 a t K J [ [ [ C  w t p e [ ` a d ^ _ ^ _ a   { m m +u +# + +  +, +9 +? +B +M +6 +/ +. +2 +J +\ +U +K +D +A + + + qk~=Oh} w ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]s7$Q~( R + + +t +_ +_ +_ + + + 9 M + < d  +  w ^ J : < A 5 ; E O ] b h h c e c U V T Q B > A C G ^ : + > N I O Q c b 7 N  L +  + + + b LMM1 7 C G Z [ v a b r ` 5 }b:l::Ij~ > T $ +G +Q +7 +3 +) +% +R +n + + J +$ 0mm K +  + + + + + + + 1 F P q t f k _ l J E K Z 3 5 9 .   + + + + + + + - O Q % + _ s  ~ ~ ' pmiEk   " ! #      ^:^v::b9AY$ t  + + + + +: + +Y +  I + +~ +e +f +s +z + + + + + F Q R b h l f M 9 6 5 .   " %  + + + + + + + + + + + + + +c +  + Q 6 A N P E L N ` ! qOnmLmnJ.X   yxwol`&9l':Nbi~,O E ] 5 +D zWfj] 3 + + + + +5 +C +T +] + + + & 5 C V U K &  +  + + + + + +n +T +\ + + + + + +z +n +s + + + +0 + u S [ c b [ e j w  tliNK8% ;]v:'bjlp0v  . & K 8 ; _ ]  mC  + + +4 +x + + + +  + + +{ +r +u + + + +h +6 +  +" +H + + + +o +Z +X +k +m +{ +u +g +5 +$ + + + +; +D +3 + +- +3 + +- + + l  ZQ Te?#pvl>| Y +}i Ef  +( +K +t + + +| +u +_ +, +  + + + +  +5 +z + + +r +m +n + +q + + + + + + +~ + + + + +u + + + + + +j +] +5 + +  + +  -!T >   Y;[,$ pvs1HP-('<E"FF"> g k + +* +& + + z  +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + +e +K +> += +L +V +S +@ +. +( +( +5 + ]C v h E " z4k:pv:bHPNhE ii E? j {  + + + u j  +] + + + + + + + + + + +  + - .   + + + + + + + + + + + + + + + + + + + + + + + +* ]W +>F u +9 + + z M 0 q1{<!pv:'b5+ - '   ' 6 = 0 ( $ 3 '}Z}. + + q # +a + + + + + + +  ! - 7 6 5 5 M < &  % (  +    + + + +        + K 4 + + + +R +A +' +$ + S * qJ@VygO*p::v! W  x R : . T ] f k g ` g o ]"//"]  + + + +! +" +! + + +  + + +  +6 +m + + H < 9 ! % / N l d U D @ B O 1   1 5 3 7 > 5 B C B D E C 4 5 H I W X j ~ | , + + + a M 8 + + + + + + +R + a /VlubAqpv:'vjW & +B +L +F + + + + + Q"t  t"Z 5 +@ +> +H +W +h +Y +[ +c +\ +\ +Y +Z +T +O +S +Z +b +c +B += +5 +& +. +: +V +t + + Y x } p ] R Z P D > z { w # 6 @ 8 " ' 8 5 %  t o T O _ a A +> + o/"/Npv:Nbv0 > + + +$ D 2 8 %  + + + + + + + + + xl6Eqf + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q O e ~ d _   ; W ( 4 " - 5 : ; b h O O N N A % 0 N Q  + +I 5ub:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)7 ) + +  3 K R c a a a b b _ g a a d s u w { m ] \ \ ` j y + : x l _ -    R     , ` U v w w q b c f | Q PQ l : <  # T b T 9 / / / ? l +  W'c1pv:'v + + +t [  a a M 9  z f ? + +  p + + + t p           +    0 l B ( C [ a C U ^ r 8 : A i [8`l&`&  ~  o + +k 7U]v'5  + +9 4 o / )) h A o o k c p m l [ ^ v k f _ [ J a q v z y N = : 0 / D k    +  W ( E h u N?[||c"G3 +jYD97E\qeeQ* C +> + D FfpvN5D  + + t H u z| j j C / / .  | |  A f x j O / t J Q ; J ` H B . v ) c *Ga}_4: A).tXucQYqQ~ H +D + + " ']v:Np D  + + +  , ~ ~ V C V V > o k d k a d = w f m  , 5 A | QekPss>b<MH.M9xaPMdeeQ C [ 9 + +f + Np:5] k R + +t H $DD3y u C /      u v s o v f  T 0    O q  0 d *e )rJd"lA;/iZ9"** C a  +f + Np::!]0 R + +J o &\S,  z ~ )  ?j`  '   # . ? J p e 2O3'{v"J#xi _  ~ H M +z +  bpN5   + + >  6Sp=o o K [ N @ N Y Y J 6 ?/e "jW/ D ' _   , 8 G L @ W } *e LL;&j^_#.M? C [   z +  5b]v:NI0 + ]  qP} C m +  \ QQ*`ss* HW J \ w . 4 A I U V O Q j Qc$L9"'$nd `3* V H t M M % +2 + b]vNk + + K 'k!# r  v ' - d>sy#@pj  C h p [ W T ` [ s n =y8)L55;HfR?My V a + +R + + V']v']W + kggggF $=HW - ?}=5%snZqxa+ { 2  . y +j-$8r&:q|TI\;DG$ N +z + ( z*]bb]k  + + fz :h{ U " 2 g/AI+7GAUnJ q M s : 6 ^  g(cJ7%@a|}\(0yPi$e 4 t +   si"5bv!q 1 + + YYE#e X "XZ.}U9e  f 2 T ^:**==B[93GGmF frg"J* *j 4 a + 0 7 5bNI  + V~\ >V f) w Ay"wG . ` V / C j $__shyvo<@gXMn#\ uK~(g%'}lFbv / 9 f + Xz25b'v0  + + Cdh#> He y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 Cu5]bN5 + n:>eVo   { QsZA<LV!u Z7)p .n$rzs]m|Z-DdXQ~ [ +  N35N:0  +9 xMXU98R B  T e$}dr.;X& *Q,CL;90*O!:Xxp4AA s`g|;=[V>DY=O1.e~ : + k4 +5vN] + j  <c"LwUM8Q ~ / U # $ }  j *e3.j& N1Q ZlYRMICOc UU4 52G& :' pBA N f + m"Hb'v f + e7Dw+wG38= o h :   q j *eGUV r+vCTRcMBJ<53Q n Uif@P+%fu r' pB[Z$5 +  Kl45N:5 + `8ZKm< ` x C % 5 e + QbWiwtQ7+DDD9(%8sZ UxrT9oEpB + +k  _X1 +NNj0 > +a y iwr +Y^`7  e j   ? 5 V B )|,})Kcp7" $) #DsUhJC@ ..EEEXlXE1Ew  R + k  |1VNbk z + C $)DAL%y ~ + p : B R [ B 1 V >y}<=) TZ0W$8$E ip```}AA.K<U : t + +  .P +N' + 4j)+L7ZXu$ C O  / 4 nmAP$t;m7GpAi{srhfiU.''_}i  ! % R + ]a":'  C7sR@g + @  G  0 [ / (14BP%%D%R/ S/*}A.Rfzz+K}i V M z + 5\v:' +t ZK urZ  * d W u  [ .OL81 G5vY7*v +Znt/$iB)__)w}/  H t + 5&v' +  Z7= nsFe. J 6 @ ` K (P [?BaML8v!iU``8,{g6d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. ( A 1 < J W d K n|FF`[ Z"4P_G}dPGG p> &_rs3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 p > G Q O l = =.V%?f6 ij8rj}ti:&#%%8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ =  r l m } P j y8`sqH9 +M i)sOt($d4Ma9', LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T f J F /  $ j y888 -dKUP U}T#wAi{L;,H$LGn@ +A)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu W 4 r Q C 6 $ ' j y3VVD3 8w3UPrm|Yz!j#wUiS]~ UU}}U Z V o + Nv:p5  + + * i}4Zy* _   h ^ 5  S / j y3~<nT%JM~Q7A3H4*R j;Bwdqqq=3s  H M f +W Ivv:: T +! Z Zn3sQ I   k  \ | O 1  K V e"2*!.qe`r<v|mUG0yyj7jU<<}qqCnnZs  o + +'v::]K  + +X . L 3sL=  ` l h Z J V : Q*{IZ.F"" 7cn|EEW.2iiUUq3,'/GGG`  [ a  z + pv:5 +^ T W*y v A ? j U 8 @ u B!*V|%66.ch2G!X,'4="2ly a +D + :v5" +  H S Z d X  V Cyy=    $ p E Q Gz"LJAZC}nM-]UO9nWs_1s / [ t + +] NN':':NNNNNb]r { +k 7 D + S + +9 / C v   K t o ! + + + j ;SthgG$]s)43Z&DR_U50;9>^dR!3#[s8y ! u + " O'N'bbv!I +  j j B j + +  +z + C j C  v o {  T t {  i 2 R +j + +  +l +@ ++++`9iw_x&v<V-$n sFSNXn}\!+t2p8V  + +W ]N'vI  0 + i 0  ` + W 0  W + x \ c x 2 E C +  +7 + _ 9 " 9 f +, ! W yyee T|ZMLU<No}CO,,s$g4appLC + b:'v5  + + ++ +f + n " + +   +M W @ T i  L a ^ ? + B } E +L  =etV$_ssss_K_899X) ?>Yi}UU=?`Q~ + bN'I +M t o / Q   + + ]5] z +o  4 5 * G k 3 w  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R +L +  bN'  +M }  C ~ H +1 +  5] +9 + > z  R R  +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||N"u  + +W N:Nf + L>>eRe j H  R + D ]p +% t @ . l z W + > lH j +x /     / GAi}iAe===y$`;_,*v9 + ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a ] " T  + + * ' r +s 5 Gn  nnnZ%*= e3?5j[/RKke 4V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o x $$0  , + + J + + j L j  \ 8Ls9``s`*= V / j `j K1'EZGef #= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a o @]RIJI> + +' + l +  j W*R*yyC C V 1 Iu|mJav4fQ*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ WTs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \o%O '*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H (IpwUx p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\{^{HS= snU.ej M  !: 82V}$=  ~ t  + +M  ~ ZoR2_ W 3 o C  # 4 H H [  8 :pAUAz4ct6> }<w3 !:[  lh2V $$8 C ) t e@q}M3)Kn V / C { A 4 o o o [ [ [ o   C 2mI-Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  gSeej[D=O@K j g  ? w M +   + a 4 H [ [ [ [ $ F L R H ; U <%!r4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ @ QnCTWQiJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H ' U n u r c ] 'NvvV JERW6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C ! t }yn%GqlEBTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  I g w m b ==QiYJ |  a * j j y KP V  k ]':] +q8)wUG= C 2 ] o$KwgZntvX ~ / [ t % +z ++ + k W k  +R + + +M + [  > a i a O g $ !WN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  E Eyr*X_M<&P ~ / H a  ++ + W    0 D W  > + + +N  B l  : N H 9 B h ~ ~ t +JMkkZ57  + + q +  W _V 9 k 5b / 21c2)B.G*e C / d Dtl\gkpb7 *c~x[9 f  o t 9 +z + + k D     0 0 W   +f + + C | # _ u    !  B C C  e R\B F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j ~d@7;#   e & o 4 a % +z + + u D D D W k k + +k + + . H k . , C O o [ |  o3F+}j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* ${p? q m | r l m \ R I >  j 4 a 9 + +R +E +I + +  ++ +R +k + + +) + 5 X k > } z _ ? . ;$ B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQe|~T* W + 3 +  %  H  t M % + + + + + + + + + + + + + @ > ? J W n r j c d m k $ H H H ?  x `yG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiML&0Q ~ M o c G %    C 4 X  H H H 4 4 H H H  r t y  c ` o Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL)ftB= Q ~ 3 y i U b " [  C j   j & w X D A @ 9 : , 2 = H 4 4 w _ [ j Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s]\sz;e $ I   b H =*ssRy/ g g a Z W H ? [ 1 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n rjH j 0  + ( G | ~ V Z j R eLnUiG s+e= C  h : i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GU= ~ C L    / D w  8 1   / ^L% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  z   ' *7j1 wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V   $ K s H)rG.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ M8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN:::::::: GMD.LightSand GMD.SandBurnt GMD.DarkRockG*'(=BHn{zwnhnnJ1<}}?IN{T*5My~ebfdt~uq^QqxjZ[qʠhFytPJdŻȡ}uofdhxzjcno>,3LSIAX{xU(/9X|׽u]TRIFGMUqu|}qgZ>+:ORJRf|jQV\QVa}|zwngnxpanpq~xUBSl|ij~X(Hgo]M[|ss}ui\`q؄:I~oQ>=LjyzyhSJLSUU_gt~uYPQQ?*6Yd[Vgs(3VxӸkSE;1=KJK^ǫļvkosm_WQF,&,5D`zv~~}zvvvqpvyuxphne<(UvĴ}S'(Hh~{ulcflq|RS~eK3&+@QUTXQ+8AJYcitwzrhcY;+>HJXk-E`ʱeM?2,?arxs{˱̾{zrfP5,+'*/,8i|phikpst|wiv|xh;HrqB9VewĤ{vrmjdajt^|ȸpO5(/CORK8,:GWadijou|ũ{zwkb\G')89Gh(9J~ªkP@66KqĴì}r`I.(,5uykd^YVZepz{gt]-Mpʴ^1-JYkѸ~yvskefxئzR=M|{c>/EV^[K(6GV^abcjpv}uzrrrg[TF,(af'3g־wT@;?Qqøys\F:2(.1)G`whgjaVTQQcvqxs>3e}ʟ^-*AThyľ~tkm|;)(2HXdwxcCW{ývO.,2+;>?>8(62AS{pQN[hz^.+Nyľ5(6Laqѽx|}ldxD1@LSdsy~yhI7CUhrgI,;LR[cddfhhwxrrqdO8)Y^S1ER}ƪlS?.-Jp˸e./*)4KVdppE070Fe{PLizT53>Tp}|tqsfh9&8L^lջren||qm{}m^e5NY\hs|rfapyS/)?LUcnqpoquvpmk^H3+*4`y}rL)/NXkŽfI5.;^w¬|;/;;8Lkr4)('KzZSrjO;69BXgic^`cUUrY8KV+4ETgвqmj_]a^QIQX[`zp5JUer~¾xs{O'+?MZjuz{{{~sicbWE67@=Roz[LFK@3:FKFYz_A08Uu}ooʣlJ/'7JC0@wq/.?^f`VT\e[Yq~iTU|qXY<-9FYrubammYIDA>`nqv{¥wqi_O>1-)9P7Uz`=>ucJ>?90*)'QjMBANT\nofbd}ɶv{zhUG80:Ob_NCBABIYnvribfd{ԿrUDDB>?BHSbtŸ~g`uiOOdt}>iΩo)Ts}jy;p\H7,16*7UdfYhjYM7**-&Cqȳywus{}|xub]yYGb~b_d[H?1Eszqj]PTX]ntreXlǫzlmgP>1)EZa[G:4/0@b{~wnxǭzmcPEDAGWi{m[okt}=&DxǷn.:t~~~v[cǶqUC5/&(:Khqjluvj_B14=;6;Xuz~oOFo{xk|jR7,&Gi}xpi^hwsaKZsq`<*(W~xY@3)+Dr|ʿqUF@MdvuugWmĸlO(.EfȺj>.LPV]hppou|~|zvlw\:)0@KNICBZzyno|tpgX@')CPPRWfgUTsx\I4(&,;g}yzkgvɕD).H]D31Cg~ȗ^GJLUYPBFcɾejuf[bwfC--,4?JVepibi|}»ך[=-)4FXaa]IOq{o^\huykk]E32I`icVNSi|~siqoM*)Fxwjm|8@R}jWFBQmΖQ;?ETZO==Z}̹dPlrXMT^uuS@=GG7C]ejori^cyȺǡsI0*3Hcx|jezyogWQYagWc]E7@Ylrl_PHNZfppkov{}ʹқqN1Z|gcq}k7\ffdXS]pدr=7DKVWJ?D[{aSY~tC1HelS61?fgOJMRO<)d{vuwtlfkz׾wC>iug_]NIMLME`gUFGWjtum^NHJU_\]hmjhidn|½̏qU).Ck˪v[T^i|wz]@Tcskejxd=;GNOI<>L]yhG6Mu̡pazuE&>fe?2Gs{xrdd`ZUE';~|yzvrvy}Zb][50dri[YMHH?9Jgp`OHTguzvk\SNQPOXimaURIVOzssњ{`6(16Ek^:/Uf{|wxugF1/7;:7?M\szcHDd{sQLe|^50DpnXYjwzoky{zse[K9(Jyvzxuyyygnbb;0.&Ktyl|ɲwmXHB:9TnteUNXht{{ti`SE>@O_dZIB:MdeҞt`btέoC4?AGgYHbfjqo_Vft-N]p|ŊmX;63-2;DO_p|hXb{uwnoqO@CWj|}vmcYbxn_almcai~jUA88/5^ohmonoorx{}n\`Z1)44+&2UwԴrQ;4=SjocUP[fouwundN??>96=C;5=`ө|xy˱qNFTVVh~͘RJ_bhpoZIWzC(F^m~h--*.59GMTcpmcs}qjfYjxLIO]m|x8.P]WZd`Y\asjH03DILg~l[[b_WVcjbW^vqL*&,C~̶f@0-;SYYmnULND79LVL<9UquD+'.(,bc?@\d\PF@BJUXTOOT[eleF/CaѪmkhlokhj_HL]fzŷsY]|xg`hb>&(;G\xz{pž}[>3..94551?NYgo}vhgxugYH=COdzod|D/JfscQXjEZ`}R98J[awnZI/37.(&8qcOC@`κsWNjl[KD@AFQ8Qgwy{tJB]sifj˷jvcvorư~vod6(*-L_rͼ}v{quWP^hn_NX_[PYlvuz~~vabmzukc^PEB+&2IXclxmddskH4'*957PMAg|Z;01Jo|kkykYXOX_bkqT.-'',A[dîbkWE4)q­}kuvbuyiVMHILW-pzV.+Kevuu{awɿ~ra3Sn~ѷĶ}v}zrms{{||YFRZWh~\>((/GWetxpihv]-4B6;3+2=WkontiXSCYIStƽ{qtsuŲd<+5:3+06Q@]{̹lv`H|(9||xewzuzre]XY[aB.IobO:4Jeu~uxzks{b'>Xlõ̸tvu{zyD@:4of168Z_\WG[bQFY{hN1&.9BO`}zvrk-Jb*.*Ihtseeuļ̼{ãwO<=?>8.,KXYɸk~d?.,Jwlmt|~pͩ~z{tolkq{villrUJDC>>Pab|d:=Rhɶ{aB(3Lt§}}tstfgID=och2z`X`L_i[EHfrsw{Y;-8Aq׼cfvqT3-amxkch¸f~|oӟk}gjylP}{vdvT8)'&D`ʽe98?Qx{yWQuƫytm_PB<2(:Dlikplwѯsdc^NFQQFZcMnʼصsL^|wO,?i;nUM7+,':vYV^c[PNֻzE9-8Fi̺ʆia¨x`]vJUxx|[NW-'Q-Ico}ZUMf)()j~ɶ20isfQ5(->UrȰtc8-/(*1/2Q`r;0*5gF.5l@CEtqd`v{OCJ^F_jktаu]E4;Df÷|İx_3>ѳxYN->LCǬGGH~lX]}vzfrkt@++,EWδ,)4?DBU|ȼqURI;5Ewʬa@x5/mH6/@mQ.4B־lhx|h'&1û?6;CEʵ*OxpA,9`ŝcGLWszM@5.c_Q.6=0-DPM9qʹlogeMY\{p\2+2PNOgƸq/38;:2;WűvX2;V̡zi1T{ў^:+?lyU+/@>DѳnfsvokfWC3Wu}xLIOLq]D10i;ϵ|dTTmmSLW_bcA>()FM^bW]x76)HC/'2GUJWƲ}SLcsúU=Y|]KKd|uJ(RfxlJ9Nfjhk~x|mrphd]T?(6uQKHVįA)DYcmy£ѫnB4Eq{KNMD|dD(&2pjrulWLRXZpǴɤaPIEszp]RPPP49,/WZo}qX^vN@+2H[fjuð{aRkĵËN74h~c?7?S_[6.Mn`Le~sh[pwlbUI74c{ZXOG̷ȮU.&)'ANY_gUChη¥iO4;TjuonIH>hm|~oM&Ouogikar|fQP׮k``Xrv}rd`VG+8/,&jq|H<3Xuruûzuve:doaI6(DOM*/d~g\nwL:3[s\N='-ILYQȬ<*>KMQU-CXhheŽɪoP?0:2ejhX9LKCD\bNYթe\]Spt}l;)39/(2<<8AAL̳}OSF&Cf[G6Y25Y|hWUUK?Uvh\[\n@)-cˏ`M51AWRIǸo_H0&DJGJNCBiǢrS5.-56./3(23);7/+(4FG>:@EGcqe[yzxH26841{ƹ*I?DMmĚySWR57ΆVVH:6U*)Hn}sn_6,.ry^Y\^_[/*xǻ`JA(4OGKP[UYVMYtigdWlZSE5;Je³eh`c?'/'3TJ3EPROKO`֦t{vhvJ0,.8?IƵ&'ePELȽx~}tuwT\jи^PK4\im\J64>hhngZYXFSuY59yMMLO]ZOĮowcv_K/&?fոwPVQz^=.@/Zy&+=UbddppVTnwmxrhZP^zIIL@@T`ajR,GT_P?>oȫwfgw{votxSWlծc\IA4Qé~ZQ4<_~lPGH=G^htnoH4lRRMPUROWKO˵e||etdJ0:W{|^ILAlX>39ETbq^(2d]W{xI6F]ls{ӝRTc{zre^psCBHECLUI-HOabYPmvya[my|KG\˪hhl|`^QEBFUqҴo^K4G8-3{^C?A8CX\ctn+wT5'&+:=G^uetwko^J.(>@@SyȢR\i]P=-.YY(-;A@75okkTdr}ӿʚhqhovmsiV`g96CQURUZUG:0mm}r{wjgutT16c}F;Kgintşs~v[LOSS1vf;5AIOGO]]?K[Pbv}h__``ksz4N\_WSXnlinctӺiedxefh`g~Q/.K[uxpl\ZVIFywzu]`cnyS6?s^Yd`iYerT]Wb4Uvml˦t_ft}X6D62Wdh_^c^:>LAI[|3<`hca]pK7+,=BDJYqέx]hpqicVO*4+qͯYA^iboyҶaaXUyp`^^Yc{N)H>0LcaXD5Dhpjw~~~ti}hJ;5-9}}\_uuufmwԴëoTXcMLD?<7.@GThmp{kGXztcUIL\ugrƊ_L@ET_WD301&?[:2,D^bbkngbm~Ϫ}ouw}w}yS;+>JxznbWY_ZPVfұ_=85CXTGRhmkhprfzɴ`I11na]xm]^ze@FQ\lǥ˺պcIQZA?:<<8-:4:NV]jwgZMKK;GJfPAAKRUVL9bI>/H\]Ybolgtչ¤ogmy}zqtG.3AloilnngF)2JyѵlM;NZ^L6=SZVWi~sYbnR!)6(08=CRgg?%#3YͤȩrYE.397/91.E;/0BTexweZU=/4D¡zYKDADKYWA9SD78GOVXevurz{}jdkljktrilq|g;1=krw~zkZ2%77"MʅȞokeT//1/)(&GA10?Umla^S0.=ZQOMNKJGA)*-3:IWj{{w{y`QTUOLW`epvl_C+>`t~}Y4)-sO=GSTXainnfbn|}||vkvpa:  ?B3J}ͿVD0.P|sguwB;6.'(MC./EQ39LHK9.G_nw|}ZHs̩tYB>@6/+(H[L/-8IeǻwjhhegslODY-76f]XA++',=^ttpwDLQkT>576>S\\dm{gYH9OBmy@jI*+9Pfuz{{{pVWZO! + + ?vR> -EhеYFqs`V`tf3N/&.QmdF86BaȾunmjejӋǽihnaLoyY7(0:@SquhhpxUJkzfVC:;59NPIQZjmvpttjJ.4LsQYXGIUg|p}wllhyƪ}vyoJ("" )#!3efrratʰy^&\xvqzf6)8dbE35Qtxwvqim`B<@J`yr_SU[ozr|mb6008>MMFEEOk~vefzZ?FXl~q1 SssnnvwxjacuaH2.0+$&(57+HZ_^gzɱyxw~{}vG0a|˔NAQ[g{\7-<_}[\H;3_˾̹_*QIWrw_MOVct}z`z|tpF4)@P\]YK:=[{nSSbp\]gipdY{yzz~}gcǿl2PSKIM_sQPZc¦|zV&02Uxv{xyzsquwkU0/:;FazdЖZNVfwsO>D]~|YF;72_˶v2,/AUiqlZajpzsSg~Tp{~{|^@)F_lmfM22MrwWHL~}YYz3,--((6uhaL05-GOW^`h{e?33?err~lN70(xEsrq{~qr||{o:&2HIKWlsɄ]Tg||nkxxyzlG-+00Tʽy'--;WnxlyvZQWapOn\KPf|eNEZtxkN1)9l|MCZY0,01*mtejmMWC&JO[dmrr> 333?en}zY6Bjiozws}g>APICQxu_Iax|nnmF?8LJQ*,?yz`\pmmֽuj*@AQqȾt}uXFG[f}IHdr]MY~{^@,*Juy_18SɯZj//671{wu|ȩ^B0'Wde?333 ?fvlJ&*'+J~sik{|YU_ZRewc^yúvpKFYMDB6Gc]YO?9=DWu}[&@bf¹thpo]biO6&3JNISYJ0  3r{|Y7;Eof`gy{|we`kru|xſ}dSCI/'+FH=)'15Ju}DD-*(.>ʸ@  (lgͿ-Daөqo~lRF?xr3 3 ?~yV5>|umgn}}xxynb^lɉXMTWȹ{~P7&+7=>03Dd?:PmVSQ0BKoASmƶ}Z=+)s|uriujQ>00Rj:"(AA9i;7Pvrinˮe`GI7  ??33333?ew_C2^|eNo|rf]jc^Vϱ`NPeU>,16-/Lr20c`GJQ4^5BLV}c:Cתxvzhhu}qP9,/7>ZhovpŧY(%':-0ʰpnxjdNRN,3?e~rrrrcyvh[67W{VLj~qacs|[Ke1)GO:*-27]xj7&]bFGPTQNAVDILd}`9-)?nZ]jpkH0&(-HXdmh|͸x:8.ȸ{ffPTRL?Hr~t[kmabS82-,7FD@A9Zx`}vm]TVaq|qXnb)&TY<GO8&,3Cc_@/PպiJDJQW[M`MRVoeG.2;F>0д{cQGRXZfoaH14I[e`srrJ(17Qκnurzxpiylq{[SV\eo{nfxlh[sogTyыK)i@-&->B_gUC?47Z`PQtԻiF:'B^e`kw}qJ711=Odu~̽x~{bFIxɮ`=18MML]rqbSJH?*),)..;MNB<@JQZ\DMɦ~eSGFNdմt|p`J:^~dI828Iepxrehz~> 33?ef*.\ZVrz^Wiswphbfr{y_KFPuƹoG//;CA7OϵyeVC5001),>aǷh`mqb`fqzUIDHfzɬuY`iw~sU)GɽþzkK2Y|e>  +  >e~sj[Ze\+( ?e\-0LMUrhi~~nggo~lI;GsȸfH:-1;BbkO43Xʮ|nunknqsTI,)ZżijdURf~xiY?s˷ǹzwv}vriOGe>3?eriWTYK' 3 ?~\1)6FK_xoXc{dafp}hE/5eåi[YL60.'.ARnqO7:dҺnifetpTQPdνkTUtwZB24lǬypmlmn|qqhJ?? + + ?~ugTRUL7<3 3? 3ef=:QcgzrdO?KjvcKKXespX<Jş|zv^GDG@?L^qķoK;1)Jrȿzhc\X`mrcZhmbU]tƿpqvQ8,:Q|{nbXUY]buwX+*H3 3r}saOMOK?E3 3 ?enpp|^>Hml[M?9FZ]D,1DWk|]E.4zδq_\]XW[bqļrF0-+@Ztμ~spdWRUWD6BSRKZxtmjƵhA/+Esi[PDCKQao}n>(<3  3q~ogf^ROTQC@3 ?HB>Og|u]50[{tjgmYC:DY`R0:Oj|WA1=ز{tpuyuéJCdlr|Ϳq_MGF/)94-EmupgʶcKC2)2MovlaVLCGUTNPOQc~L + 3ryxnVQ`a\]ebQD> 310?D:0TK1.;C24Oh||ndacc_ZZgcA( +,XMG:,"2 3NX^d_LEXhgdefbdpe?3 ?33Nyvp\PXjn[=5Ynw|y̒wlhqѬv2VԻŵÿrG/)Qeg~׺ynq`LJB8Rcccfihd_apjD# + +&-$ %+)G3  3B6:KI75>Ykv{mz~rS:;BEB?06>304>ONVIBNTMGLKA8.@¦qbVTd׾>Mʵ¿ųoL*5kyrgó̔yy_MF28_one^XS`nO*+".:DI@4?Uu? 3RZC++6?OctwſxQLY]VQRD/&-/7KY_sRFL@D:7>B>=FG;03Wvשuh`\buȿW)Lrhchrǽ~{W(=bΥ}seB5fɴzCLoeMHA;03\qj\_a_oqJ"#+ (2:TLE\we? ?~pB),Bax°c_r{ojoa@867@BCSgq}D^i[SC=<:8=KRH,:Ozyre`\\eô>'Nep`I?EMYowyP5/82=RtŶʇxug_XQRbfuiqB;24:6a}u~Ǻmhnå}`6(9I]`RB96;AB<=@9,-Wsywr[VmcMLWZ\_W>7_~vy|e?3?eorīz;?bt~w]H5?JNG7(6KSPB7<@G\wSIVTK=1;ZkG,>@+7-+Z}twwsswvrqss{r3 3rs_OQv8Cl|}seI'8~ʼudXYh|aRKVeeonŸtO>,&2Oo~Z6,EYaXI<-=k~O>?6DɹfMH?87.,=MLD8:N`p~b\v}sX7w,*FS4R|wmbzpomikqrorxw{~? >~~Y@/0\4Naf[@fxX9.AZvԭʣo]XJRZT_{~x\E)5A\~ʼr0=I<*&?YxuQ=8/6ǵtX*7Ibw|zu`+`_}n5Tv~{}rjrkhfkruv{e?3>eZ;''Jr|JmqkW4IqørH2KY\]cxɾѡyzzeXLAKg^sʮeJbţn>&2*9[lE,ežƸj,BVl}vq|jO|>4YiuoVFIcunrKl}ohhnty}}~r~zw~}fE108Ojty>581K)&3D\+G]wT=2,Nƾ5-Pcs~u_`[,cwyiCETfksa./KNDF7%",,-2tzz}ylb`nfK88.4Tjt:FaB,0T6@B|PL^euLSNNa|yw|{I +3y|e?3/.,isyrr~yl^PVjiVE?13Nk~ïzb\u:JZ]RZWI45FKD4+LgzͿrgUD3)Mla,B,0HNJJ@3_qmhx~f4/lsem~v~c>&372BZcgnIonjoǺȶuS4&2Lp|zqwp@'9ze> )"`e?33?ewjYKRlvaHH_xOV͖{Q7;',BWjkaZSKFkj,E-2cuL)YvWbYG=m{w}|g<Nvwo|ūb`>9*:1<\qy6=Din]^aҿ{V5)3G^gnwihf>3cy? 3e?33> 6WyaVkvtaLuƒ{H*/F-.+7=GVglcTOKXuwcWWY[_kȡ<0HG=)6\qT0,H`}m^}z~f@4UӾMF&--2F`oyqkjzTLG;:Ȭ{O,/9DOW_k}l]YcB@EefC(,DkЦ}}to:-:&&Netro~I5+xěbD21:EKQ`sveWX_Q("6TitvhZ? >3 !9ͿrmC5c_X}{|N+(,1>SfL&/4;>8,*26,)6BQov}U>I^hgki]VbmnlsHRTklK81EXӱ]V.RoɻKA4k׹rdP',:EH_~qfmo\":`dc[V[?33?d3  ?ey;<>cɺt{vlkA=mesowcH34FYdn2?<+'-3@Swɶ_JXq}}|oeevyrytQI^]ZgoWH58QezֶuL.&.+t[0ri`;'/=C_Q-Qca\Ybmrr~r? ??3?aTb}IJ\ŻnLSxvx}V9}hpo{iWH8-2CQXU=*<@0*1*/:EXjkh|`Q^w|vmklxslntwWH9H`PTl~ϷtN65j_YQ=Jν\+)ֻzh[@.))&'2Gh@+Mdb^^lye?3??3?exine?3$DgaĦ|Z=()9PeqpZ<M~y~vr^SH=EUYN@G;'>D6.29507=ETDWZUyjYNZq}wmhknt{qmkjgeQD]|mpѼyP;BHtZ+9εv_I.0˲jU@0,+(&>iw>*I\WNNPRo? ?e~rr~~? ?UKsX;&HSE?E<2?nqi`VJMWQ<-5*/KQB;=BC?=;=@&KɯIGBqgVMWm}xi__cgsmlhb_CZWtͼv;BKLxY&trWQah2\ҸfSG5)+`]1"+GB=@@HeQD8eĬuj^O>7?E.DNL\bcggldN@26_ǭHLdQMMHNP=&8MfpXROOVjh~}u=GPRaKQQblppUK]wt¯mxvX4&1ptND?79O]c]Q[x}oB5@^ȺmUD:?MZ)01+/DYLOKenx}bF3)xʹBGLiVK<-8K=*1Tst\UNGNo~muqykp~ztzoQM>b(4z{Ya-2*-/i+.-,>ͷ}fG..-6b}YXU_0Gve? ?e?3?I|gpjkona>-=FERM&'Hfzwhk|k?6)\ĽoSC;@K*2:AK]niT[jxePT³_HB4(*,9\j}aNMD09U{xfTJ.3_ucVORxzuxjIDlB<;07iwo{C;rs+vxx0/7ҽxS8(+1./@sv_^U95UyxxzwsujEZ|fLa˿}qagx{v}gdjwúb9+VvaWRFIv|zyxtu{mnxü}_IF<.Oxw:=W`o}? 3?esz|uprtoko֘~td^ekou}fbkyntO'U~_CUcpiqtr|rceivѾjACWiri^S?Drv~}gZaVW~jP8*2Cl}R?QXmr3 ?~qI9'4@b~? ?{6 2?eʫryLQQz81?E^y}urjSVvy:(F}ũhabS@Lvzof]_z}|vvzzw`]tŵfcumBGcU@@Mo}]7,*JL/4[[>`{rr~9 ;?333?LE>e~p`ZZTftT{c8&13BYoob\bcfnt}e97]uZVjpiipwqh_b|]]i\YT\lv]SmU.7VǶ|b]c}\Vp׿Y2'EtȸuX.-qh[6)=?33?errr~ʢQ%".He2? 8}e8 ,8Q~rrrrr~zeK;'6LaniWQj`Hfs]l|ymahg`[lU?phLFHK[mwoXMYU8=lhIVgæj\[[cb`?3?d~ȷa4 (XʲoP+FlI1-? 3333?erU3VY( `Z`p> @prrre?33333??32,7IdyxiejxhernaJX`bcxԍG4943.'+;Pft^WMHQ?Ly}z~rrr~ʤ~rrrrwc[R? 3?eO! PԽYA))E~rrrrrr~~rr~O663 + &55 + *((''' +  0?Kky~{neSEIT\adtϯhE54G[kiWQYTKVhnq}{e?333?errrrrrrrrre?3333?e>33 ?eeN82Vʾ~?81.@e?333333?e?33?L<41 .rw? + + +>0-46F[ey|q{кpQBTUTRWgvQ0*)BNWeibZO>4;=0)Bhjgfht? 333333333333 + +* ?pq?   (>`~|_YZc]<9=1+2333 ?(55(59)*KU 3??IL\nuk^htvûtsiTh]RLVkþ}JKWKGUZ]ef_ZJ.&CPZ^^r3 + + -I-  '(2>TO(1<2  + +[xG+   1xlq/   ?9F[ao|}vk_XZ^d{yg`g|t}iZUbzIOxh`YZ_`diZ4?\cfgce?   %1(  -  Q[_5 +(-;(    3?95Idk~qikkhfkxw`YVc~İ~sudboq[[n~rfcdahpd@,7kupi?   +05 +  + 82/1 +    + 3G==Umrvz}{i]ZPY|Ӷpo¶xa\aV7',09\uj3  333   &*  + #  + +      +AWlrpdYBRXlvi3  033   +(A/   +  $  + !',, (DI8-$ ?C7?Sdmx~lS7,8K{οiUXO=;Va`m~xob?  5_Q<3  +4(*/  + + +  +80+ *UwTEB9 +9?>K_kpw~}{N3196YѰzu[WNKVfgfo{vl\R> '    5y? + *CG> +    + + 3>MQXX>.Gyt? 5@Mc~z{̼V?>BDpĵ|bJFRdkknv~q`U_> +2B + +2 + +(b;+%"45Z`pZ3 M?3 + + + 3333?e~zhS= Gq@  *:\( Z`pr3 [sbor> + +?~{b6 AznX?3  + 33 ?qrr~iI/ +7^oA(%;FBCbūponeeǩŭÖsF.6K[er~>   +(Vx> + +Zʻ~> [e?333?eI (nql^KE>  2 33?ee?3333 ?envpJ(8EQmd@+! ';VTHT{zy}{qrƯξԭl7,^r3      +jնe?331 (?v~rrr~p(  (Ylmoi`ZfeI88IciT>3?er}~qrre?33333333?epj^YorC9\v{B(*-,2>\`RM_}quȿϷ³nD>Nbjnt~~rr~zR*,]uwy}? 25@>I, -3?YQ?5% @вaVK>=333Agũc5((5c]iqrrpny{~r~{~rrrrrrrrr_XTKOrP+4Jdz]&16DP]dhjqutx|dPC.+Nzrvy`bqYWRQ\koggpvodi}ssxmuvSCzaKKbqoou|}weSKLbзtcd`\]adlyjYQD715435Rsy{e?3?? >~wqbM6/=JLDCIKB.+? ?750(,:FK]ig}tvkPEJTX\cqv^`UCPؿy`Vek]QNC35>IMRZ[hmbJ?T{zkqvZv|YSgpopy~o]VYh˺yrtfZ`hkqoiT<0&9E?2>U[f~? 3 3p\MKK=;FLH>78=A<?Xmidm}|vtqz~r~v]PVaegktzbRJOhwóн˵y|pO:80:NMIQWhiI(*TzmkbB,rwwxyzvtgkĴ~ggovtaX>0TV81=G[~r~~r~r3 3 8J3')4CJRYYTE44DUb3 36,&'7IQZlzzttue?3?ek^[]]_`Xayj7(]Ī˸|zmB5-CZYVYWekM,-McɴreFrġzv½}u|ui_A(R^>+/8Re?3?ee?3?e~? ??3>@ +#<`ipmeUDMbjp? 61'*9=C]w}{|? ?vh]TNC1*.?\JDG<=u˧ŸƾԷwyxB+(.NedaZKL\QAKLDs˴ɶuc93ѻPið}}{qT,8F<5:;I? ?~~? ?~e?3?d~rj 5b~xg]avue]>33?KB6*?3?;Zyr3 3robTJ,4! (_wdr²Ƥxxmx~i:-9>ScdaQ/3 2Hm~r~~? ?}rh\G'  X̯vUE=Jjͮ~eZ\\M/&=SRYa^V<Gu{ͽÿиf;+^yϷoz|vmX47Q[`VM? ?~~? ?~ʤe?3!  :nxWBEPW\bkpdJ+Y3 3Fme?3?ee?3?e~rg[D&&MƠW-4N\hķtu}y[NYT:&.IfnmkdO(Cѱùα`3(;Uq̡raG>^^^_fe?3?ee?3?e~? F}y_OILRcwxhT6,Cb> ?Tw? 33?e~vk`P2   &9_ŒrtpN1@Zάojpo\_uoPAUlymR,)-3`rIMИİ}Z3'4Qu{zļ˹ǵtZ5.MS\o~~r~~r~r3   +^~r~qWWniO<-3?Vie?3?P^r3 >er}~xzV:" + &AnΒokkP))dջ~rv{w}||t]D@NW[sgjr__yƿ^=4401GdVJTixxɚxV1~k@%$>g}UA@JZca]_^XWnv-[đv_PUyjz»u|»wZF,3]s}|}kA2TƹUWheWON?1:NrthhqxrrvshRC9+Eye?3?eR0#1Yd?3?d̤~rsxe?3? ?~~> 3nwnwaD9CejPOTWSMIOUNFTp{ɵg+PʯjWIH\p{ȸz\B86Nf~{wwwuv|uDTQ*.HLA<@DCHPgˬƱxvxwpfUKD74V~? ?~|b[N@?MH[~r~Ƽ~?  3r}xe?333 BHYghWdkTB737:DQPJWrxsr}ūW-9~oZMNTSRaλϹ}VEB-&EZllswyyleqyLUbI.)2/+.5=AFL_вƬrnttnfXMD6*Cn3 3epfYMNW`zǛzq3 ?rvov~rr3 .HppidO=Eh~qQ7+*,+1DWcwthpç]:\mVOOFICPʶֽxYRUA'Cbozyrlo^`qU5GC<6-'08?EL\׳j`dddf]OF6'(=?3 3Ryz_NDHOSdyΟtl3 ??3?emftr3 1XwS24R`U<+'(0Z{~yux|{bS=1Nk{|qgmhdp{q[FHETSdsĮӽva_bP8/)*59=J_sx}~iesf>./,58+-;GQ[jʹ—zx`Z\X^he[UF41/3 ?TmwZ?4530@Vbpwx? 33?? ?\FLi? +9BtA)@MK@)*[|ux`blZID4@_aPEPUYiscJ9CWgƼ{||z{nafog[XRJQ]abhqxy|{zU/,?O]ho|̡нYIPfxkYX\Z^krrfM:78? 3?e`j}tH&FXavǾ|e>3?err3 30+Jse?31:DGarA+.ALLHA)7c|ja^M?:*'=<&0CS[N>4DkԾmhmkhfelv~pe^l~zqdfv|zxwwzv~}k80@Qakkk}B27J\YNLPQVgz|aC979? 3rrq{bAR^mvtcYRNXz˼qlvr|r3 Uz~~rV?Ro~VMQRJ=::2Cn~{w_H>>,).9=845K}iZRB?KSRPWbgpoosygfoywrtnhtx{pnr{}{~T(9GVhpkcg{ſ[E87AB8489@WojI369<  ?~w{K=EDYosM7)# &C{jZi}r3 2\ux|zaHRixɬ}leS:)4,)JxwkvdMLSA*+&*3/2778=E]ΕO2,&+;@ET\Y[Z[_mcypmgsz{}jadn}~xuwq.(;L[jtvka`ivȪhD.//&+@WS@7?D3 3?ezzH(-EbXGVj_9 (Ws^grryr3 3Gaquyv_FL`mȿlS7(H^JZmguaS\eW<.<:9AMF808FLLKPY^sc2-1:QZTQQORmŤ{t~vi[dv|wlmv,,L_huxkb^_erպ_>98+(6::CJNW? >~}x@:^_lrdVY7Atn^^`bjw{? ?_o{|iOO]gkRC(/jlow}{mgqvkXC-IXVSQRK@>HSZ]fiioͦc7.M_XLD76Uâuxzqctmhp{75.Apunie_^ekz˸yofXD-(D]^de?3?e}|04wO02<% +#6_{YLLT_hoqc?33?elzfhntwadP18RSMhҲwuwnaWJ?Cb{X>__:;gz~twŪ`VI ' -ka-+JmXSvuw̮ʸ|{j_^bee^WW[_\f¬{hE/'('?SWC8NĹtry©bRUUMHLNB:S{пּ}trke_VKOlxG+jPDm~odtznbp~iC/?3-'7mz^6'/2GvXKmknvpwĿįؾsL:Q`twrpkeY`u³zsvs_OPOE,-=4.NեӽʧjOLTOA438=V~κ˽xtqomfZ\wӮq-_ͻXlmZ_?333?e~Ph~M!'@\WNB@Rtt`[Wiʺ{nifdV@Kpƹ̽IIYfisO33Ed}~zrkmlccijZ<&(>2(EкӺuL>JUOB742 + +3?eZIKdd2$:EOhcZQ]s|~Ǥ|ui`T3.X}²вlecgvs?Ci|uprsljmoaG6EdN7LǶûƱ_60DRSPMLYtԭvmef{ʴ>Ժ~? ?f35ZCCH2#3\llbQ:-S~ͽ̳qrpbQ<Cmʼϸ}wiE4[wkhiY?/gbpЩ|x~źI)/HS[ejkrtrdYWeɹ6r2 +2eo@e:.R`QE2I}˩~\U\_U?)S~˾xugA:l~ia\H*fʜ}v}tmlqpɻq;(;Y]ar}|~״vTUTFF]xƾr*8~A,H]28;1.]ňS:9BLO<AbηzryuP.S{l\QB)7n¤~|tlwrga_^Yb¹zwd7*BdhjĮc9:A79_~|ipƙ{ótnz{S0Mh|jYRM:2_ɴV=PWPORRJNjsg^R<1:P`oͶie_>1^{³vdbXZͩr(I~Ѹh==3+136>AJdmM;//5+1\|~k\kjdptqţ{d_jd;.86K`xm`XUJ:7Qx|hhuyV>JRQ[t`J?75cuejy_DDSbbbnspȫvgnvgIEG>/&;W]F-1BLf||s`YUPSf~iRbld{ȯu{oZKB>9@UpwoeeU1;tѩsA,7a}}xxwz}r+ 0XwpjZNShohi|Ƞw[PBYoo|f8+CTUX`ju{mXQcɽZHL_o~Y61/.4CYl}}rd_[\||mabcgufER^hũ}ϼ|aMA9>N^ig_cY7/r’oT(5Qlwrw{}mjr2 2Yѥ}sphhqͲfQ;'0Ŀxhuv[-2BEKQRT[UG?Nsí`HCQ_lxǼa>2',:Pgwpqru~J+.jɟ{fwľشlRDISPWXKJI1'\\>*6EUi}uxh[eUKcr3   $Itǟ}oms~}ȩzY?)(3M¿oXgqgA*3=AAITN9'0VzcWWZbgjwŗlF(C_ĺ}zyxzo1)oDZxiaWlvfrt^ZR<==(Hn|СtJ(*':DJUlȼ}WL^XLZr3 +Bx˛yliosjw}r}fJ0/LvgnslZ<&&16;JZQ1.Up}tb^qs^afaed\cɕxOTƲ}rj~zlULIX^QW׶rT43KXv^14EJJPfʽxmkjgU?F`[MQ]? 8 @rʐmdfmznbdoliunK42Lv~sy{lYNJ?0*+49@P_Z@Abu{ym]IFUor_W[]ZaaXU}vQ̴zxscLCNDDHRbsزN1DIb~˾Y32DMLEBQo[]cT/0HC;;<=?33?ekUYZjȋg]cimvxphegabn|~j@DjcWdt|gOBBDC@?EIO[c`SB0-C_tywi[@3:NSMHGOXejoqveJ'2Ǫ{epzsn^^<,5H\kXC\]f|@2AF<*_pdgfC41-.,3J]jyǜ{hjjfimjpxyomvzxiL'YyQJ]ny~|lVA/(3=Idzͺxkabdcr}~nT?+SnC=Wu{gK('/:HSZ[Y^ee__eppdQE,-Tf]L[cmulqwsjdho|Թ|yțnJ)&5N{ĝpjhfb[d{tL(6tſûY+;FL8nûzxymP'3dp]MGJ\wye\^\Xaqyvz`G:/'',Ith97XiE!1@SZalruuvvp^G?76XbQ=Mbpv|idsy{č~{~ƕw]7'(TpRFYgltww}ÿK3>HP[bkZ+0ĵpmkY=**B_i]NJQg}~rr~jZWZYPHR`hrr~xcRE4)?FHMfc6=hd(2UlvgPQT7@W_Z[nrWUnztRGiymjuupq˷sI1Gmv̨pJ6DYj{h\elpzT1MW`gmpxlA*;ؿ|fXN=1/,-.=LNNXize?33?e}VILUTG37?333?e}spk`J4,DQMVpT/?pc% !GnsZ^a;*H[fo{xr_NOj|{ȝm:)?V_l{zgVO[bgp~üŹ[>,&1L[ZbdչxZHHQ^tYEBLVX[p~I=br{{|sW@QŹqVE51IT\gv~? 3?MABMK8 >~zzt\E9;FLNSjŔQ1DnӈC2Y_BKL*IkywgVOMVgyʪ{9>PZm˻yi_\Zo›T/+0;P[WimRbp\H_|}pcǩqO>(Jajmwr3 33333 3riV[fbLOnǟkIVr|h'  ":`}O7KT<+/YlQG?5Gtϳ99U`bjy}wmkhel~pgqIJh:/)-F]zxuqlʕ46^wp}}rw}Ȍ\?/Vw|~? ?~z]eϸro~Z%GzpjmSMsmlqK=4,JĦr9'/Kahcg}zvtojkox}vhUSkDZh7-?Z~}ut~t*.e}jl}͛mF)Npzkdmue? ?eìt}éY% @m}yt]gǼX834es[OKN]ozo\ZaixoC6_jV\gWI,4KS`p`AJK2,9IS^w0/0yw~zɺ|b2=|wWH^z|reM7*$" Uʩμ~||`:" + GvΙ\Ms64WzhYRGCQ`eZU^dgza+DilYcϵ~y46;*-,A\itx{yv~nFM[G2014=PqQ5Sxv~vdyv[44nbM[uxxV9($  F~rhyǻν{yhK5$ 3EwxчT[͐>.H`m{yWMI>8CLE7:MXZioA8IQi|s_iиiLB@>0-&29Tn~uone^m|uRN`U<327=Pfsx|zw|z}sVGIiw^J;08Ywǿz`PZnyM?' +  +#Exe?34N}ѹmj˽wjZ/  3rhuΞU&,:GR_rpPFB:6;:-&)0=Oix}kdwx.sǯv6,2+5Xssc_UJ[t{z{xwqhgqgL??IL\cah}wrikv\+9D9'Hv}~aT\mzW0#$ +  'Ue? +.\˕{stdL(   =~01ƣn7(1BOWbp{{p[PMJJF3+Ikk`gA-*35t+-''-;asv4@X6@@txwsqmdcktwugSMU_`qumvŭobWXmӚpR*+(?²+rcWcneKUzwD"   Qk4 "MӨwríy]4  + ?e|*t`WvQJ9Y50>P^hovxvl`]_`7.Gdq~_CCTYρ5+1@d}ul09>Wn66otyxo_QMZmnYDBP`kqxv;ײXQ>`UQWi~udLj[RA'2;?@a~]D}fH@JK<4`zI$  .dY' IԻɾ{H' $$+3>LXfPJcUX]BEVejnqt|vhege/+>^Pcab:'+7Mjzh,lvQ)SUOSljP85;?2ayW\flQIKS`piQ2.D[nfgtx{Ʈ^MH;KQDBDA~jkzjrijtȡx:HH}p^^pNNX}ss8)CGSd~}Y9+4Ilx³Ǒ_̺~wok13p_oΡwU9Kg}s_Nbĺhcc6+IZ9(I`jlLIKvpS<0.O`^buzC.@dxaNUUWkl|{_8(2?RblwjsNGJA-\HKXrx}~rX?YԺno~uu{cSSX[\Plw[W_MGxe,,?HS_ymB'0Cajrµ^aoʗdbÜrJ1RtA6/~ŵidc=(?K˼zL)3TdilLQVxmbPFRbhnԪj:4JS`|xh_uhB0;H-688q}ƾ{IAC18:PQQjwKATafkd?++gгqko^OHC<><^o̲k`VHC)-/}v-*:qglpgwwlE2&7^}y7/9ysi[LW^vo@,.9(07>qsyxqd\mͻD6[l_UPEHgˣW/&0@O.450Tgļyb,QG3>`H*-:1F_iljW,&FȱwfbWJ=3*((MkлzbUFD01484FbcлxVGEGN]píl).PƳtdept̴eKNX&h8Aprz~nYeؽcM*;)>Rqx>,.=O)34*EVpf<(J>O?0HuxN.=v¬}h]TK9+Q˼^\^fRA@/22{A;3*3Ee|}tyt\λʘvkhgp~ͺU@7W˾ZX^]M^ӹghn(*49gtnkxD405bǽO80-;2'23*FNcpxLWZN~[/958>zY?Têoc^WC&Exºb`zmYB:DKQmU1ZnY?FUSOaZjf}wsj{X]÷ufʺ_irgxy{{j]<;6^{~wtrkqk5('8@H0*('4--/)JKZdoBKI>lI'-?5281-0c}g^}}pjifT,+KzDZ`b_s~viO>GW]jM7hgsmdtz~tlwͽԽǮ~^tth>1,^}veOJ`|^B7&0&@UP[g^9Q9.)'-),*STbfiw@@;1j[B*7K?.\twyqruq]J5-P{ųscQDRknlxH;/yxcmv}qlpĿǴʵ~wſzI40fy{x|{^?@[luӔX:3(0'Kd]aiaH.ZIGB8237M[^\fwvfi~i]M=HO=av^I0(MswVGD@PnqefsQ7^_lchnymkn־x}ɹ|ĴuWTfqprzzaLQaiqˑ\66-'2?Lj{qjiaRINWb`YpnXJGHSY\auierh]T]_I&qþ˺z`J0(IkukS2-6;J][NXyG2/vpeEJ]~pmvϷuhivƴzipƽp_cks||gYUSXpַe@*?AEUas~slb`q͖la^[[\`gz|ieƵ|ojdbnp`8)70'4eɾþeO97-6cʿ~W:0?GFJ\jqƳ`LSTS]cZaqwt:20yz|~p]E)9ADyQ>AFQae[cu~{O/JhbisuaM8('(')GnZ=0+Gn̚vY@2/M[2(SznN1/NXViz~sgQeQUgvXQytkh~peTw׷fom{jov|~yY34>A]ncipos|{mh`UOL:3dȻjfTqku,Ctujq{YUKja/ǤkPLOXacWT`n_NxvG?TemgXiS5TmmUc:58V4*'beO2'CKETcjwdHE9go|O,^wly{n~}ʾrl{qtwyxxyvz].g;95rlfqihijd^TF5'Y|Źqo`yqf^s֪v2=o{z^D=71?GaeRNRYYXUYaj~^\WiGMql\rX7(9nPOO8;CMav(QXQ;;IHPT[n}j`^_cl}U45cqkZsŷouquvusqrpjlzt@ems2{c[wPPYV]]L=00WmƹuwoFg¡s'-W~_:.<*,.X^Oq{|ѽѽm)FVMGG;-&>xrV;,Ww~˹{^]aXC0)κvmP,+::>ENSOJMSPMNVfotxo_Zmvd`˼q[V`lrԶk9.-6T{uFa{yjb`YVV]_U7;:*7Pdzûza[VK1+Pv}x{Ыzɽʿy5(T[NT[Q?5&FuXX}ӹsrrfQ932/+lϹp\P>((:<8AXkn^PNQRTYdjpvp`SY]H7c}m][dkk{¥mB:MdkXZulx}o`_^[\]WK60+Auʺƹsb[YY[QGYv}z~c|ʭ\0nxdgiZG@4W˲ƭG2DVtpcƴcM@2)CUUKPi}gOJSZ`djjmtsgUVV>)Z{oeekqq~ásdsymwfFF^{dcdbgg\URC,-:3'2q~Ⱥtm~dQTVV[YS_v||hҺt/7ym^TRI(0XǸ¾iploIJL9KdiSC13<@Udd^evn]W_djnqlmtyr[SJ3-U|rl@:4tХxkvƯxttquvnoskWPSJF\¯ưu[_`ABKPVUSawwpx}z{DZyO/4alchnhE.4=:8HsZBFO\ı@4OhfI30999>CYijlyztw{x{|xxqmrztQ:.*)37M|zwtq;/'jױvljaauvsҲ{UKh~T4:HSYWVipu|{m^esr{z_NZ`O:5Mn~u\AADCClϠpei}ȳq`NTd_[dw}ZAAG]klx|Ķ{qozxP,1VPYuronpsp0UwŘxjbSHWq~hOOp˶kOBDIIELqa@7DUckihx|trz~}}qpk`azo]ciY<+5N]iuwhZNC=GH5G’{xv|վjzaX\kswĸc499Q{rllmdK1)FpītXdrc?/>VcL45Wwտ¾y||mVF<3/.&BhoQ1,=Q_m}}ȵueahQy~kvug]V^kppw}swydA'(9J\gcL5)+5?0}ufbhxêu};-+ȩ|jlv{h15[xkieP.5o˷q`GBJam\.);I6(+Hg{|]Ld}wdOE?2),,8OTbzŮ`D>>'TszxwSJMJhzlZ=8Tp}^=4>L_eZB,&53[|z{qv|}vuobXSYo6,*кһ||Ͷz(Dop[YZ@uű²|_LRZ_ty5*=84Abxk26ECEjSIF:)&7YʵT7)B`aWM45=Wqqmi^DBd´vZW^ifWD827A:'5K]TMpxznqyypnh[NJVote3-0װ8P|y_HHPDк׼¿mtzE(1GLO`~r9oziTJG=&9jp}sT;'3A=91'7U`b^TJ[}Ųznnh\WTPKIH@;=NVN'(N^x~pquuqqrgQJ[yոlFLpʪΗ2Giy[C@EJ18²ϴɷ~z{qTN^kns~vMJ^\J<72(Ou}G*7RU>&(-2,+EPLBPx|}|e[frjVSRUbfc\KU}}{~zwx}}^MZvo_vr7,}հ=64ĝh4L[\?DƵcPIBB5AηӼ~xrpmqt{yir}zwtf?4QVA,(3Jd\*(FE)&1:8+8EIc¼z}ʲzm|y^]dvj=9{eNUh|kRSme:ty|?@9رl?vι~w̌bUSE79uºŷæ{qjekrwsw~tU-(5,5[aG-'(&/JXf[2+@S7H[`R?'DbxŹ|ųpiuv`USbws^RQT\oygA14sהrkfktuxAB=ǷmKE\ͅT@;.0^ȸʶ~uo`^mxx}yszh:&::8ciP3)(&*58AQTUo~Y7.DP42wyaH+7a}ʲ}qսnzǯ¸cEFSSGD>7<_gZaˋ_^bhkjoƯ{s~kPMjɂH+/A]}̼õxvŸcA>\s{]/(A?Jlm^B,69=1.DKONB:KllTD*650>]iO6'2Z԰db~ҸjtֶqI6&(VĻfbegkw̽wUWjtaPUz</EYesýu|·Z9gtkztP)-1;m}hA1jLJ@BeuyyV^wyR5I50ty--ʾH'Vε7D`dhzpnnu̾ybWOOSX\aQqk:4KUX).mrqʨktitbd|K=7aILA<]teT`^D'6).Li̿k8+1@ysG8@zK6727ZrT:J`|D)1D\N__^eBWw~[15o>?>=:5B=Fz)Ahëziaxvrjho~Ըmha4:aeaHT^}\<>\h604|evxrtzd`x{|sZGKYgirx:12nL_r{jtoR0/;B8(4ENh÷srzz|jfxг~opj&,hg`BGHlpgVJXnphcjnmwvnebiopTPfqrqmX?110))<^xh`w1.:¹{dI@??EBMjmeXdAA:N]Ү_,/B0.]tqh_O3Wʷnvl1)LShhZMOPFBMQJPbjmk_A,*.06Io\Yb±H?-=CB7B^Ɨc\Xg|v>@C0,=_]TPQND86`ͻ_@;:DLC/918/'*&''..10Aqxxƚlnqsg\Ziu̺ìwlmheSLQZ`^QB>I]ȹmC85*'H}q~{h\[\rǾxaNILC,7;&*DRTH=2+=e^\ékYZfɸ{aY\a`WH:/(.YҸdIQR:-4>nryx^P_wzm]URG0(95/-30'')8Shpɣ~j[[eDzngd^UK;(&n~iliE2>V`nxoj|khqP>Sļ|ujb\R<*:6,,*+2.9ESWT`ΰut{ºȚwodK6,9ͣwk_?-GYmy|v{ww~kkcI:OlN=Jwӽw{}wncWK<*13')3-,4?=,+Q]^TKToƳk`cy~ɭvc:.ezbYK'MftvrvqpyhBE]]ew{yww{wcK@Ghɴt|uiV@8+(,2=5((6CB1(apo`TUdwmrĽħ^C5Xôstϩ~b0+8VƺlpzbB&Srĺywzto|}a-?6*2UhjnsxmS;38PǺUV\zwv|ìxeE/.B004+'85CXR>-,9EE5Ukrj_Z]fW^rϕо­pJ4Kzv|ӯsO4LPfļ~x+)mȵwuxtu\(82)(A\hpvviT@.@bXXWTUupwZ?SmA).)5{fTXC4BLQVSYiqcTPMLNK@5)Neruqe[[ro5Agɺ|ng_\~̿lI;OiwʫyK+5IbooƮpjorŰ^HȺ{tqngnb4=>8Qpxvxvlc^L)cZPIIMNsZiX;>HTnyubFKTJMVWV`pɱ\DWwzf^d_UTWbl\fhbkiek{m54^vko{~~{wvwP9CUfeX.6]vvwqmjox}rqd]jwqp˲}vxt_0,Ŧpggk_A+'A\hkwU3=GU]_ZRG?@DDHZwyxįzw{fPXcfwsd`P;:KW^hplibWQRZluolomdeuztuiZU]bdkx~wG&zmPLK[t~vqv}}z{yxrl`PCKj~oca^ar}zvȥpB=˨o^[`V7+F_ei{n.7SZYUOHBB?:Bcɺsj}{yxdX]dgw֩wpiT<:JXfoqֶsgUC@JQRMF>DRfwulf`YZ\[`dglw~wH9|A.4>Sowt~Ӿƽ~xb?.=_w{rgedgrz}z~zP'ZѹyXQVK.'4M`_b{ҿM)3MRNMHA<<62@gƕhf\Zfr~thb```huvogTCELJTcoŨrW9,..393:ZbOKX[SV[^cfhlu|i*RH6FPZo}{{ϻķg?9UowxyxztnpxŷwN(vŴUKJ?+-5.15;Rt|ɉ`Ebxsse`[VPMXlvkdVGKH64JnѴ`<)&8:'-FK??JSRV[aglmov{^6&Xluphr|ϹȷnONgvuuzspy֝e?->˗_K<3'(@]id\gÿkUbshPNTQJG>/(0;F[wykevue]XPFCMg˙rmmgXVJ/4_ԽnK5'.71(/:@CFLU\ahrutty{y{fRb̶{z{|}¨ȵkfnqttsw}roz_E@95,.[ʜiF-)'>_hf\]wlmsj\bhaRI=+0;ARkx̽syqf\brrl`WVTMLWsӰwsu|}tunZM:@~ȲcN6-AILQ_hmyxw||srpX`;vtszǻòxpmmwxlcnuqpztfXBDPLQk͹Z<&-+(8TY\WYmѴ{{}sfmtkUD4&/3FXW`ʳθsfwfgjbUPUY]VRW\Y[g~}lK9Ʋ~fD)CPYbpy{iZ|ɰvjgd_aiz~տwnprpxvf\fonr}ʞ|iNRrϰq]H)4>79ADHJPjàzx{xt|~rWC3*rrtzru{vgdqykZ9ZŽֿ^l~XWuyb_a]QIHCCOaqups˳d\\\{ǼmN7/2@C96Hk{|}}rg]OGй~tP?6'OyutvugX[pwP3(*/65H^n}įK**?fq\KEJUO?9FbqusmqyeXSQIHyaI.-0U|wvwyzxrgh|V?841@[nx}ǩ~[EFMJIkv_:6KnsvjjpzuiGfpR\}k]YQA747SktչξofR&(7QowvnhlvkSFESbjjulg~mc\PJJNHPغfa]8&)+7GeĊ}vokoz}zwvmhV87HS[kij~XGLUSRnriæhJGZt|{~~trwqsq{uyd_W;DnطvxjK\|{eWF626=Vjo֧yӺts{rWM?.4?Padfpxv~vwu_OQ^ko|phmZ<1:FIKT_X\rйkROH8-22)'6DVt•nt{vqijz||sgN1(/6Gf̺~|}`UW[ZVexl]wǹhUWdnqmnzxpi[dšwklZNK@?>6&&=\w›{hcho}\D[y|cP;)'-3Geyץ[=TؿsmsxhOH?'/8?CC=BOg{|sc`jzcP?(=J`wraUi°sODMND=?<2.:FXz͵zx~|e^J10`¿z{tfaflrqqodd´o`dknnigowrmfRQjUMF+))Gk®yf^_es\Lb|w`L@3'5dֱY,C|Ś|pqtbKGA',2('<[tlpqkis{T.)FPc~j[W?))+\ξqiggozuxջ{jlprsplpsmnlUGMq_\e7S×yh_]bo~w_Vh~vbJ<=:0,//5iжs=M|ͻsokZIHF+6gq`fiddowvsxwkJ)&5@RZLGmr^\d]VXYMHOWatʿx|}yzhbcJ5IOIFLQLxƾzlpd^SGIJ20hÿxcb^WXgu}~uaSI32EJNORj~zvlfij^ST^pvxzqdf^]`\D6DH?37]˶oku{Ǿ|y]=4EVbm{rNA,cͤ{rxxkWJEKKCGVlq`MIXdfhpogўǢ}hXTOHLO<&OǺ~h]RNWj^SP@@docU]ͶͿyyxunbQMYw՚yvpcTN>=F9'@HDENext|xmejyFLA?:1&?l{l8'-dȹpgiqpcJ.Cez~{~vmzjXLIJLSVL4?kǿygY^qsuwpmknehqκ}lXJHPeyvq~n`ZWP3)0.8\_evسnf[A5LpŪıJP0,`bU?0QoʿtgjuzoY>Gm}iѰq\OJJOVVPG5'(9tú~j\br}rt|t~}aPHFTjyyɠx|ygR8,)(-CZ\dz̩zsg\L/*JervS2+UtwuN)3Mn~wx}p]G&1f`syxhQJLLQ^_UL9()4=KŷgY]jzrtg]ugQ[ЮgUKBI_trx˺|X-TgkkltxoE(>oiJ(9Gery||~xhx÷{xqggib^m~\6,<`ͿkbjyuwdTMF?=X}ϴvZUYZ`kolƴnbl~ƍO*WQbltxqj{S.0DVZY^emwnZqƤ~}f+3Gcrzsjk<+8Np|Ѳyc:*1BAD`m`lsuvwzhi}vsvprdKNo̵fdtwvǮdLB>@HdʹzQjPXouj|dHLasyҽG<;P`fmzKBWk{XNFO`tuXeU24D_[AIPZdfbcr|Y8;I8.122F_jkkkdZUmMd[tzbk8IP]q`izq|}vgjżtWGBXr}kqN;+)<_pqpWytZU`jhW>,&,:B92B`ox|b9).;[ҳq(5(5FVb^DLcfgZvguyvi>1Uoby^92=KTWZfh[J:,5HW][wt{_`\UXk˲^H4*S`^X]aYKB-7LWXRJfpX[VNVmҧzaH;/3LVVX^a]UkmjLLSctjk:AJ\tbgyoztd`TOVR^.0Ujmpzxdg|pyvp&.JRnpheiidQ<27=70.@YfjlwnG.Kca;7@>1(LpxoNQgoir|v~r_p~~}{qdc|~mǿtT;4>Q__TR}VPH>9?OUPH^ZfQTTQWjoE3,3KWVT^tkc[TK;+-?prcYPNS`m|xekW_ypu{jfwjVMILUWk֙C(AW^gs{ulnswdEO[YPEBLRMMCBKPOSSRWszL45+=S][Tghte_Q=.TQ?GQxs{i]fxqm_JCHYuzn[SQXdvW;6AQ_ksvutrhbS6&+Al}zwoZLd{T<>MY_c_VF7'=Mb}{g`GOW]hysXRay˪FCVmvz{wdZf|nufmswxqo{ƠƠn\L>.,8eA=CLf\YTG;BI:<77QUTYYQMses}eC'3AR[UKN\W[ZG+B>31>SypuewxkL89FSh|}vsonoxѩqYOdj}puwz~|oh[Y)CYp<:?|cUku^X^a`}UeKA15KWduҤyhuJQnj_eaJOnF:G\hmmoaXd}mSP[T]glmcbv|ulm̵hVB(/eH@JYld\RA5:4*(+B\bfjdVITnmԽŒK5=>AUnWBCGOTM5&*+-FawŶ|pTBFQ^ny|xsszŬya\kptkortwyupcc(5.5^d~tjUD:8,(?YhqvsfS>7;QsȾ¸dOJA>^eb?BHLK@.'Bu™sdL=DOarwuqlkxūnaaunwgkkicfjj^a-765DGqY_S>Q_bKFJ@:<<42<\efpw_ueZDIZXSQE4Aoƿt`ZXPKSbnofme[_wf]UKW+8SWZshDmt@WutYC54B_nx~ubM6)-OqtvlYI>54BYJ9>FKI>(.6&Iҿp\=+1@Zrwrmd_oĈkkmebbbcflrmcUY^P?*FZYQKJLA*(C°iBFird]VLMWVUM?*.4`kgi҅hytdGBFCIWWIVbfgWIKbt|w{{j[M;7Qy{+5S^hzlddŽ{R>+&Df|qXC1&0Wu|veXE;536<:3;L[]T3@{tyȸv[7&6RluqkjrpysZqVM\ihecejt{fW_ZK1,`ztpZXb=30/>\̭iA;Nd}vf`\X\cef\H53>im`]nmgtP,'07EW]Zu|rm]OPh| dD/(FZZ:&CZfoz̹W=A=9;T{pI.,VtNFZr^\gn_PJHJMJEQtv?'@h|x{stƸnI,2DXfietludN4xq=5HQV^UkuΕrlkcco|U)6NZ^OWlmknsuv~̭o:KXVtzɒPEbpq628q~[H[uzb[]^bdlc)+@KTf_fxȑe^eglqv|ζpB6Smnhhegq֮{=1Phq6&7Rde6+5am|c_cfnyҹ~aQ=792'0J\dl~yʿM6BQaggitD34Rirxspz|pa\zaT@&QȥjMKXel|ʼj1(@d|}~wf^cH:7>GE?;CvKFPXegOC;*4I^vidk|ԯbPNQ^jnonuŞZ<9atob^]_Y^p`D61VѺI;4+1J`cUGJU]k~khot}̮rWC=<0'8FQVawçR.9M`eeglvU.2]rhp͍YDEJ:-`ĬzcX]isϾk1-Kj|¯j:(*7?Z0,5CTOMLMKC:,0TSWXrj]bRWacc_arL4>_ȷvj_]^X`NVI.JI>4-6Oe`F,,9GXlǥ{dWTM;)(3>LKLQhD*3J\adgjfhH.,/Wy}qm|Ԟm]ph\}дyc\gvͺu]Tenu̙V18[S^46=I;4<=1+*+>`V[sĴr|rnY\^]TKIclF/@}˧|wiabZhf@)1Ε^H61@XhT./Ie}sxsqiWECHKV.(I-0:Ogczkyliq[SX]^QB4<[k\>)-Sʹv~g_izvuM.)q^t[67JT75Zń}|yqcSMIAMZ0Jc̶c(+3;N^jquy~}f:IE92;snuʖǿȚбiQS_j~vactptʛfPL\obF-2G:+6P׽[zQNIJPTtMZ00GTMD-)y~wuuxyncoaTLB=:8EROCHZivB_YBIQJ?3:djfhrwx{m?6(0xcirvնiYhЌ]_`qxiJ67CZ~w=96),NJVO\wôlSF:6W}cZXI6AV_Q3Dzxy|cG.FG?Wqqkrʢvb>Le}fyvdXYoTI[w1B<9+-:PUPY^uؿlUD1')FLPDO^c_TR`SJ_оϐcU^_qpg^H_|k^eqR)4rkimwwf}?,54309W\SA5FezlC3436SG6,)Przv|iZYaWjSS.-;Ub|mgz{yKCCWJH<<2()2(3Ic|ħeM3,<21=YgdWUbXvŹʵsT8/3hȸyncZet[5+atzxkgjrw}rlhM9;8<@H_aZK@3@XdKTriRMMWpyw~T>5.3T}iVNQlBGaprULTE=,J|dk|\dsƻP>6hsZViRMSQORY[V/5N}`>)6\suqwowÓǥys{O=1-Oaawtsk\Uj}c7+?54dzrggjikn|}vp[LN@BIP[^\UF8AK[bL@(3XcbkZo|R_}uaqvukbgw{phkoopwripcO5*g^OejK10QlizvZD@:1Osh_SSekarhhFO]v}nlpnh\XsZ,HsurtlhbxնpZ]UTX]^`ca}zvzlrr]C:;:>(IWH<-*JlZ;'(;SdsоcY]sp{qjkaVG0,8t|YF=AWs^2/Tub:+>PXURX`hpsrommpssmp~~ut~~Z@FXqonpL1,Myɻ}x}|ptT65J`~r~oI=yQ\lk\hR>=+,GvzfimhI+'=@,7Y`Y@3D[R;)Dbzİr]h{yiixwaUgNH'&)=qwvzkh϶uaC)E]GBU[`ghgyw`HN*-18>?BU{|ĵucC=o{nceegnv|neccgnqfY]cvvp~Z\\VTv[Ct\NV~`3 3r~? '?UG&('/281?|ЮdVZq}Рֱ®tQ6;NU\dfcptL-,O601;DOcŲjclз{wPW&2UZQHUcimv¿yngecdhmlltxwytcc{e?.11.9[Yɺ~}}{|gK]vj? ?~r3 +IO3(@NB0+F78)>IG@Qku~ϐֶƵwW;7CLU_bbpzW1,+0=K\s}gE>UwUNG:PLJOL>Nclo}ulhdbdlrwxuůyk_gicK8 =jlŮwqx|}onv|pg|pZe?3?e~4 "";ZB.Iuy_GDJHCNejb\dsvwr˰{Эȼz_A6@LWaek{{`D(-)07AOkphs`A;Lzľ~{UjP:+@}^NUWGOajpŰ~ne_\bryveʲljqRL8 0[ptrrrmjryzitU8T{a]kP0#(BF)  /R\>4NlY_mnfgsvrnnrآ_`KZȼxƚz|ɭmLANZfoqu~}dN2++/8<>ENV_e_KG@=H\xqT_¾~xodP=/^wuUMVaholWQUiqp_bpx{eL3 1[v{ne``kprt~oluV:=QUYm˥xYKTUnlR55(*G^dK05M_~shs~zy}Ν}niO@:3jig}ŸxVTbntvuuz~up\F;13@LLD@BIUXP<(,*(2E^~rWԭ|ztf`ngE_wYX`fltjMObyzm{iqdfqeV.  1\pyynZXkunglh_coy~^H=:7?Xo~̋|w{[55(-OSNTq}dqdvyqnvmkynWaN:J}ukc\TU]`chhenƲngsvx~rovT(AT`o|o^NԾkC6@Za^_clo\il^c}zYNT^cjxoԴ~~iUylY15Ocjb\XPo[0 9_l4,,+(5GF=F_gc`ais~tcN4,,1;;26UoyԊ~{tlituzp\^i+J{|p[LH>;DO`trdl|ȷ«sE6>]u{zn`thD2;OWY_chukؾsQ@1?'`C+UmeafqumX9=]xpzsor|~ocH(SQLKW_\L;56E^jxW.9[dep˺sufc`gv{uxΠMOH8HJYgg`ZdՋ@TYNKT`jxsl{p[fXPPPZhX?Mirxi[\if\[d{ŕ\*9?ahfl||peL03Pg|kfx̠tomq~uz~xa\I&==IN\UVSE1/Mz^.-HXasyϲo~dqdpofvʤaRZiX\MSa`VUg>CGBCQcnturkye79WcxvP4N[^h}vlbK1AVeud[[IjҺǧqljgescquowxqR>]l]ZT=Yշl38QVcyitǡءiDFYbbscUiq`ONWVOQcBNNNIHXn}{~{n;1F]..'6FNXk~}pf\J0Timnn[U[snkkr[FmрŤ_Y^a^[dmWkvvb0Vda`gvòпԫJ)@Yemqtp_H41/(r|zxmg~zqtyz|}ingOQtwjyqY\ntloxvU=BXeaJ7'&:x_^I3@~v73Luд׼XARhnr{uqrgQ<2,,2AQMJ[wQ&-5Pjhgo|ƱµѰ*&>^ws[=Bp}jX|{zouzWL`jQ\piypgr|ijngM9=R[<:.&/81)3CPYXB4,/Kz՟k[@2P]rҳīj]qoY[a`auѿtkR4-87,.C_oqzuS,'4@8:Yzxjqϵ˼ñ¾f25XnC)Jffl}hX[^_flq|ºưtS77ViP^onjl{rie_WRMJ[ZXJGPK>:CS]]E65L}igU67Qgp{ͣdF74Jcjjg`X^ȭ}w_8''.Pfow``tvfilmɩ{{}uvq׿^B7/1Dg͍S3=d``pzukilcXY]hzɯ`?54BE5Fvf_etynjluzcr[]^UMP_hfPCJ~ЙhTUapw~~Y<(3EV`_UZԺIJkX5)Afqvšg`{l`ajpwxu^\rӯm[ftaPQ_]V}i]KHWlzbA&9`]YfotsstdMJN\r\~ZE?EZ}iZU_kwwnluefjcY]kvt^WcТobbivxw|yZ98EG[ûǯL?//IhqtwhN[uwR6-7G_hnvf[ON^vzcNRfsgMLZRHDG?5RwihqzkF+5A;@IKSbmv{~oUJM`w̥P2(2P[IT_d_Vb|qsgZ_nzpepβn^Z`kmm|xrgbp÷\26FgügE;5'>Xehes˦i@:;04P_cnp__VEG^|zcWahcjդ~n`E9BG:+,5:Kry{}[B3GQI97EZju~lZ[tw; ;w[EQXXRa~vi]afq~{jmȸkTQ\krz~urhhzəe0;YwнbK@<.NITWUeĚa9*,:GLMdմdK:&&6?96=Qfnlikjb`keNSZM,8?S{we^bnĭbhl\JB=Hgjew|Զ~? ?~̍L\fmrxvurkqwyx{oW[tŸͺ}sʄ>0JUX[pg=:5&:BHcӾs]G(&03-(0BS[`dhib\eȼdXc_B+/8IWji[QWpӹnrqXLQYg}gLRkojsw? ?~̍gsru|Σbf|ĺįqg|=&LQH==SkzX;<6,3;UzudM(1?FR]a_RM[x}}ѹk`gX8*4HQIDPṟxxr[VezU-",@X\dl3 3r̍}οΪ¹ahwì[SuƈR-Lg\PECPalqzthmhK?=4)3N{b`hmkfV00;IUWOA=Row}ΑQHQE**7@?:BYt|ͻjhyX* #:CJcw? ?~̠ԸxXdx}ɶxNAXx[;RjXMILZjqu}|ni_I62&+AeȆL:=Pbjj\7+9GMH?52>Vn}<:?9),8<6009HXpûʯs<%$*7Qɛe;3?ḛ|w\mɥuVDIZrp]H,2l}U@AL[iqzyX?4,-RT'*C]jiY8(9ILC=<;?Uխ\CHF@=0)162('DeƬ_- #?xշפ~rw̼ij¨{][ׯ{Ygph^]br}sfpi=;diD5ANWam|fCB4&+Wy2:XihX:,3+7JQKHMP]eXKJYf_Z_T/((+-'2^}rֳA! !P׿}ybGCI[üоf?Lcotwwh[YZpkB.:6/,4I]mspcL1>k~yjHHLB1-;KH@>=42juj}Ɵh.  Cʿ̬ȿvin}yaM?9?Wdz}˧bDJbruwtY@FepD+'Utk]YhzjW7&36?]ղge~}mXLPcmgS5/7AP^ffft}r_P?-0Yɘjdnohjt}vg^b`F+5JrbrˢX' + UĪxpҼu`Xi}pf`QB@>P¨lis~[KVug[RJJPTTZaZNBDTembW[\\pnu|ykaȱƹjPQV1BaZRQPMJGEB@3Tpnorx_7yļmcfedee^WR[mxxstqm_?)El{cVVN?:NvtlrǪracv{iliky}zc1'F_e~~wu{v[PS_r}nfidZT[[JFHPWZZZ\[[drn`aqZI\cgӹdB.,9HPPNNQMB@CA,4w|{xtyuTȝwffcdkqsskpspmiZC7DP`~w]NOH:;Yևxŵýѧocerw}uebnhdttcU@0&&Iǟ}oqz{{{}|uhWLEO`fejquvw{unsqga[H@@HPWclnkb]Z]l|d.':S{Z>*&4HW_bdjfRIMJ6)jztvurx{A.biZ[`jyxwy~u`V\KMu^AB?54Lr˸ȺŞujdjqtvhX_}er\>CԿ~k\^irxxsjghfc^blsx~~}~|~ztI;2G_ҹ|lȺ\5EKV`]mİvoihls{|s\BDmR9ԸmeVHShqk\X\z|yedTLZ΢wvwrtp\H;WʰfaU>4>aнoknk`F**Qvd<4[pC1*@Z~ɽlfZ54BGXؿp&*07ISHGcǵzsmgb`dsv`LQs|`cxhUznZE?K[h_YUurt}}|yokiryp`c״~zxreRC)3x`E;Ff̳[95@LXX<-]tO.4Pc{}adNBI\|`VH'9[foţ}x2)(9@;8Fgvnga]Z_s~k[\rwhfP\wfXʥsT4'+4@RUNn|`yqhhggkv}Ư}rdQ=V[VPa˺F24.=ɯz^^a`P9-McbeƼÞ}V*'LhsZ@L`{aR@8o|jrҰ[,)-)08@S~zuѮxmaZVQWkm[SZZ\}katpB6"&5KKRUcosa_gZWivhafggijjoxʪ{iYG1+,vĸΪBGIib,/8O՝zk[D0,-+,@Siȣs;3]qyɔkRZ;'4QcpiU?DygT^{jC713<=-C9A\x͵|pbAGZnvm[G8;ANq|nzlckn|[4% (J]edmz[Ub[]dgjlr|˰iYN?3;OSUJMb\08>@Vuwre<-=HiɸnXIBFD:1?WuձUCpzOb:(.ҚyiM03ϒzhQCRs{weNB@ELJ=0(B7Ec̼vzsbMQ7DYlnbK.(6Hcsk_l̲wcXLbY1" $Jbuppv[[abgx}z~r[RPECoxXF-1hnltOFKTLEQfrup^KLbÝ~ickvusg]c|t;Ctw>ƯqO35Czlj]KCOfwtlWIGMPLD@=9SȢ΢~TKP~q}ʩwosjO0+@nzv|xbQKOOIEGJnmES̸pf]PC8:SVftP6Rgxnźw|aJ?30Egwq̍PhaRISgw}shdXAScxntzxh|ib͹|ab_M/+M_jrx{ynebadgglcizZ\qxp_L:5CDGV]^V'Ea[rĹ|ita?3.Eia^v[Uip]ONF0).5D[ohouYWfzohjstkjpnq~ʸ4-D̿˾S(5HB2.+*OYvxvyqƭ`NVUC((H[hlnrumeefjkmvotqdHJaf_UMC@Oe}V<<?MTq{jnpqtnxj? +(Pik^lo[NK>(+9CSq}Łib_{zrlh]SOTXby̻RHc¾Ĺk:,64--)*Pj~wtzzuwnTHKJ>(/GTahmvxh]ekmnpynbM150A^aUIILPb{<:(CPSi̷zmkifad~r3 F|nhWY[SOQB,:XjŮj\TqjzjZQKB>CLPVlm2(,1,.5Akr\YfrxxjbTC??:,-BOWdlq|neptonovq_hs|;0I^ZRHKYmJ=>3LWU^wzrjdff\fe? &Sp[VYZai`RRp̿s^ONYvimZF:733>IHHZ~ϳسX-*3;65OZXszTFWn~lyubZ\R?8;<41BU_fptprxqoyvjijq}o[Y_u@]}zr_]]dtC&,F\m|kwӞj`feacaT]}re?3(Bx̍}mhltunn·ľn]PUq{cR@1.-,4:64Fgιq=(1518U^]qĽdMYn]eoj]UYR?6)\ǕybjWVFnR(,AX[X\hϾ`SPQ\cZESmv“~[\~¼јulmvrpzE&:>IW\[gydzxprl^g~pJ.(6@Ml]X_qϾYNLrMS[RKYwxukuckp}g^YVVXamu{ɩ>&)vuoioqwzmSGQTTH(&/7LckgaiĥsXNKNXYE+)>rjstԷ][V\b]]jegkp~z}A)/KSY\Z[i}̶medefroJ7+/>ITavu}YalrnqYVGYOZWB,4Qdiei_dmzn|j^^XSLGN\hrԶ{YNO]zth^_efc\bp}}T+2=VrŢl_SNOVM1FYlja[;Pivpo{qscLkըvxut}yy=23WMBBUmyxibirupv}n]YY\i~{VD913?K\mw}nTVn|{}zoaI1>amsfGH[lsv~}ndT@=ISSLC:;DNWatӨ~YNNYs{m_\_`\PQixkVBBB;B_ЯsrpaVNL@>ad[@b~}iho`4(f{vzwux~}}ttn^[q|upwzo]OGDI^}yvrjtשt\^`RIMTZiuebUIKT`gb`\SWgrqliwo\TPNZjxiROJCQuzV:5.-@JHB:1/7>=P}I@>Hcqnjmuxl_]]__ZRO_}]o̻rvu\E:)@Hig}sqrc7ETKOh|utrsvzzsngTOZf~ѵ}paZ]dpneechא[A>D?=ER]qĩ}kfidL;9;DOYdgegq|xcSZqcTew|yue]`G,7tk&3A@>;4-5?;Of;1.7P^YXajk^RW]___^X[lyy}Ӳvm~wT4+3MǼ̍qdrrexxzmJ+-=_~}ufptyzvocPESqǦv~o`hlkhC&6CFPcs̕l@*otbbp^eo3555(;Xx[?936G[B0! %2**-4Ljn\e?5555( (?~^(>s{mrr~e?  + 3?_vov_;0.)3Lcǵ|`H8>[bVJVwmmlb\itgQZtZ4*qîYSUP]vz}[5555555555[[FHNBA. !"(*Apչ|[̍5XZ;00;eʤe? +  ;ed[dx? 8eοyzhW;?[YRYnwkfpre\j|wb]lb8'/Oʷp`o}[F>/9?)((555@о~r̍5H_>( ?~re? + 333 + 0_;0;_g0 1mlllmmmrr~׿ȸxsmR,.DPV\b__jyziZawzogkqzqE+,6=Uռռ̿r2%%&)/ ?v[[wpofyԨjTG^[5̍(( 3?3? & 0?e< + 0lq; +  + + + ?eȷyoy~~~wmqtn^HImdTE)OcA*+Hi^v~k^XOB:9=RigQD<7?V|u8IWhèz}r3 + + +/\0 ?< 0`e<003 3?e;33>Kce4=Sd|r1 /=_3 ?e1 ?e~?  ).<`wqllqE[^2(5([~[[11& [r3[[;rr~y~?6MV]je=*Hy«nbkmjp~seP:44-.CVXMKbZA4&'DfS31;BYndI@CFGIMPOE@BD+Xzdz}vpot~x< /?z{qlw~? 0l~? 57=AKctyz~b3/558OhV40@fjf_VQX]_[WPB7990*Q¨|rmkleP90[^E>>??EcלrR/&-;_̃L% 8^l)HcdR@[[T\ahr{qllq{}ZE9(:]bpa^lאmS>@Wk\_ѩ}cQOZXI@B<.+24.1>L[nxxx}~{z^1(.6?L]R3/GYZX_dfmrneZJ>/&2LcY.Lb|˽sbV:(59UVLR]adqo`QN@[[5>UhjjqeYSYwʴo\tin³wcJET^R8)1J]hpoqxyy|X5/2;FR_\H;CNQbxyoq{yiUC<@Xl]0&LjfIM|qiW3;E@DZyϣzdetunmqS7GfvvweG/(9ERQ9WwĺulXDGfrXWbjnvrwmheib9(5(4Nl{[B>@KUeo[HB^̽nvdzfYNRaj_BBTYbgnvy{pL;?=?EP`e]QJXXk~ylkwucJ76AWni=';]}Łq`G9@?G_nr{sqsxuMMauuOA?FPb}sS<:Xijn]`i´k]]itwpL*(HVV\dmv}]?9GDBDJYeihcsia]`emxvdK8=Masxa?7PęnV0*5?Mdغxlu|uv~_FCJSXWS_wpd`T:(5(R~ǿxihox}rUX}nqurnjZZK1/NdwmYSPU`rƱvL?Nl̬h;+Eqɨ|jhqqrxSD+5Henjikr~}aD9@DIMPWdlqwodTMVdo}vdUZk}MSrpP9McМfbdwxVNRQMIJOc~i\aaK(5([[uǷ{̬ƱkSYxaXbmtwbOVTGSkcZ[bjƈTJ_urmd=-e{ry}jhngeoROGW;565Kt~tW@>ERX[`ilmrpdPM]q|yEQsqJ>QdzgbduǺvefcTG>COi}aXZY[vȵĴotxXJSh|ue`fhaozplgikiqӰjUen_\b]TVUG>JEHq}voha\ev~zhWX^V[m|edktuUGKY`aenonpteNOf|{JfpH.G[omio{ɬoSE>@LgxnXTI[ĸdbvywyz||{tz{sttnov}~{ndfkT]VBEMG>@7*+<9&?Mcld]]SLMXkwucTQMETnbNMY[YampqssdT\t}vel}ztQ3DZrxejŹsTMJCEXcZMM;̋z|ø̽λvhbZWfw_up_eU&,92,;KA12+.A;)3IQGFKDACLbw~sfVF>L_kxİԪfMCJECShqrsja]fnmcb^k}I>m~upsyt5+:JZjqozh`mΪu[FE[[YJJToʺǵ~h]`IBT֡rnoK1.':TN83*'3FJ),4>A<<6)(0=Urz^E@N\b`ZUdѱrC-135Jesso_\_]QNU]_iz:]mqlnpngefkpruC5G3-6gpY/3Wm[F89FZlX8@8/*(*GfziRSamvucYcа@'3JdppjTUYM75HWY`un1.-CY]V]gjbZX|X_G91/2/39;Nt{teer}Ƹõl[Htz}ärpy|̍wJ, "0E֟m@=b^HK_qW22JgF2/ARRMU^c]TQRF*(+).35K}ze`pɾ̍̍[[=esmxmi̶zV,! /~k;2OQG]oeccQ41P`n{syzx\UQ'1AC;?B175-(.Fc{ӠZ33>DJQURTUTOc7,./(/G}vg^fyǭ((5[̍7[kfk||`Xyӥ̸K   *rر|R<3,8^hcvʰZ4(6;:Gdv}е]Nc\C6-My}V4+,;E?322,(0MjékJIKGOZVGAGNPH6972]urhcYUbxc[[(7Yfdfn}|_L_һqK! ! +)rşxeYB.0+>)CTdstj\UP]uz|thftjrfE>J^B8?LXe{ͷqaVI==K]ee]SG9(&=HWfeN1&*>fpJ*5d¦yy|{ndaS8(5[0Ijr]X__fsnR99YppjQ3/ +G}Ǟ{`>,/0-+[v{pPK;*5MC.B^yuf_bq{bKGNKRaufX;?kiD7?^{~Y?:J\`^oԱlXMKN\kpnifbYN56Peu{_MThivxW3'Wyδyzzuh\VR?-5[(%Elje_K:0(=d̙{}`UI2"@\t^QH:445/7Vikk}kaRDQaJ,UrsUHT}\MSRTYerW9FI1/:S_tt`KADTa]VjԖzg^_aiswwtpopjWF44G_p|f@&<\õqs|Z.[[#Io̍`YH,-Iups~[N8#  :hĨx]IFIDEYidY^suuwk_XeiO),XtaNXjMLLQW`cgiottjkZ8*5.39DScbWOJMW\Za~ӗqkkoty|~|vwhC3Bb|ãvK*5\Štnj`^sˋF[[ .Wlc]?)1[wef]8$&MYZo}ummoa>5I\mvfgd\YTA624O|ylZJ906FTW[clsspq|gK*>HMRSW^a``cwȰmmxhuж¾nC3RijcV>8MRTYvʨI'#=ddak]'(48BWr}̍tnrrur{ywĺwqc=,9Sxŀhd^V[`USSS_{yZK>/*0CTZ_gosrnmsxsaI&/EISQOWdhfekعynxwN,.LRL=)8RYX[vԻ̙pP>6Cfh^]=,-*7cжv~ͺy|~vrZ<;W}|qieoysx|yt}q1&*+,4HY`gnrpmnnqrncT3(APRb[W^hkiir׻oi|{|ɷƿT-,'=H=1'K_khez̬ffejxj@(*'&0_ssʬΤqwxundͰM+3:PckpwwrrwwutqkeQ-+AZ_akc_cjllnxg\hzwus÷zP&4E@7Ed}ӴĺpoнǛ~pz}jZZbmλʺdM<1/'*@T_v||{ww}bTWmqptkiio||{kXis|xwqhpξ^?D[hV8',>DLyǴ̍~whrn@$#%),3BMLHUolJpXSxuffeWQ\t}ɳR<0'*.0=gpUWv}ohfjyxnhgm~{uxxgcwt{zob`vŷkblrfS>9??Joǽžt~tcwV-!(;HSUMLb}r`̢lF5Rմj\XUPUhqwpL@<2'0iþRH_~ohegoz}wl\TS_ljellg{wzxbU^òztojg^PB06T|Ӿǿmowp]tѹwD + +&?OUYVS_u̷vM6?a||_UTRPZtu~ŽƸaF@D?.LĭtK.9Zwx~{mgegjqu{iVOKQZYT^{weptrxdNSҲ}|{j_be]I))Df}Ļtnosn\uĠvxp:0U`\`bam{}|VAAQmgvzgRKLMN\{y[D=EJ@/*1Xбȩk4;\dmyqlkoquzkZUTOPTPKXsn]PL`cbc{|c\н|yqzeTV[X;3F`pyuqpq}i]ʇpkXUZTM?5 Gwvheei{gfbinK?DM`œn`c_NECFHVv|w̩cO?8DV[UOPmس—V*/`ppm}~wstyytujNHNTRV_]XczzYI?5.?@)(BfwaGCC><5'G_ӔFpy[BPcOpQYU:%=đqq̷qE=Dpe[LL\eY=,3>6&+&:?5:OSJMF+&@JECSkqnmrtpytdK=;712)4JNDR*D?0˜xrr~kɤɳmjѫ|y[5,1AIE702KxfE>OXN74B>:/FG:420.4.DX___ZWYchmu|ʣs[V[`iqtuwmJ.UUnZPU_he]dql]PLSly|jH719DSY^`x϶xgVE0D{{X90+.-++5EIC15ɜe?31?eɚa/2ЬxnG--('3UիXP]fdR0SWLL<3@QN@:2'3<0?Xcff]Z]bflu~ĒjUJMTWV[kfi|m@''4bvoSOamrsusiegz}[=5CQ_jswåobT;'JoP>358@HMUbsg5x? DMF==5+20Gbome[Y_cgnyЫ_GKWSJPl~ǐhfqeE87=?CC@]yT8C?,6^o[X\g{ӻwL'5AGZ{vo]F?Ikʻ^TXSHUrxhv|nbmb99Uhkk{mP3/BMUUUPD?FaόKGUemoneYPA-qe&(;32JU_lvtlkopqrtwuqjebY[au}tziF-'-,&Lecdk~ͺleY=13@n̺xH@OYdpzvkeqζpolvsl[:6s}}lWT_n|xkw~zѻİlCDi37Tepz~xpopooqponkd]\beaiwtɶlB*+*>aoz|}~cXP<).>CS̽[KTWYfstlfu˴~|fW\efYB)7b~zd]h}zlm»ɮo`{Ÿ\2&&>\nv||vttru{sihfb[Zciai^OSSX|¦e<Bcо֚u^SQE77@AMrY;?DGVhqmm{IJzurqjSDIRSE,1D_z|yxqs|thgtmqtmsĶѪE*EA50=Wjrx~|wvww{}nb``^[[aedpb;+)*6cɰN*:a}Ȋpqz}ufZTG99?;Ceø<&0;CN]jnw˚wsrpmfSCBDB5(55(>hzsu}zplnҵlpǦ}aXaqʨȦmg~M:qyaJHZfox}wzyj_[[]]_els~~pT;/(&8i֪tX?8'=dxt_WjwbQ`xyl_J;?C=Fkr&:IMUbl~ԼvrrpleWLGC@4[[py}yqruտtXgnRHUado~{~rrrrraq~x{xs|yicmmp^>ozvysw}odZTW\`eny~{lYIB@83Gmp}sH2VpȺnT@>GIStsYHIIAIlͱg&?IR_lytplh`UROIE9[yxw|ҺkOBgϿhPGNK?<@?/)33333C\typlrl`hԶufYTnd86aտxdVJDN]em{s`O?7;B>9E^\zͲ~@)EdqXIADYsc\SFJ`X9EJSi͵|re]ZXSQMHH>(w}{øoI49jͺubRL=(!% + &2Jbiiqnen|rkc^YVkc=4T«jR?=Oes~uN2()3=DECEMb;_6,3CZtpWJ>.7_xfVG) *Cecoxwdzϥ}mmkeZRTWSVqɷ^4/K}ũjSRe{k9:LONNPTwѸ\EFJP`s}~]F?54iȠV?FH@Onn^g|oigfioppwwD,6rϨ{~zuqkdekkff_N-(d_K5B]v{q}i]VB-/Fi|}qcW1 + + + +6\gvnu}w_\ee]KBFKED_ҴzP+:Xϳsse47MOMMWexѿZELW_ptnbL?ACRЙwxsVFSXQ`kbdkheda_^`djod/1cհohuz{{zwywkU8[^WD&;R`ecfu]WVD)(;UeeimljfG$ + 1\ovjJIO`i^PLRSL>8;<7Bl—fJ81>Wx}T04KV]gʳ~d\kwz{}m\VbmgZdŵqRZTlr|stifaYUTPR_\H-XlO<5DedhopptsuuxV>0[r~[@A.-OYTLLRYhscL:0BMR^riB) + *SwF0eaE=:/)04-+-={ʧrkfdvddu[B/I]o|ҽ{zwvsh^`oxn\^t~_}kt}t|uska\XRJI=)woVSjʐYHP]iqmjzswM+(55[[3?355(&*??757CZgYG:-)(0AMS_q~n@ RC-wwT6&(1nжvrƻıteƵzl]D-.FkŪw}yunhmx}uji{ldp|sic]SKH8K}ƥS7?[otmotkiV>(5555(  + +&322-EFAAA?=;3,3AIKUdvtG' 2`qmYA'0`ķ}|fG2>W@7Oɦrw~|x|wWLUensx~oidYU\QJuźŀfFRZh{tuWDRuwsmL4' + (%!7HA.3(-4=@HLE=9;;=L]rU( &wplgir\9'''8[ͼӵ}^\f6/h7*=Ý|~syttk}_7,9Q\bk|{rmcetr5+dpP5ITSK@84;Qcql= [rjcnbXT>*IзraMGH'/3/};wuxw_eJ<.'L[_b}wupuh7vÿvL0,XZdO\pzʞ\ERaO(!?e?*))33 + * (H`J*C5@JQRLB=ARdklpp[5 +4oU|qj|yt}vW2CpyGpxyPM6>2ADZaEOivp¦j[c}rs̳HC`.H`mz}wv}FA<\ǯoF+0B[s͎QE[bE 6@\~~_]ZVJ.'!31!2 /Wm^B6C6BIJKHCCRiupkkjb=,$''Op~tgvralr,'NḻL[yd\WI.,8*/DPq׬[7(-Ns԰smcgnVJ?3Xz˸mHF˲M00hytSe|p/ $Ovʤ`HB4-0)")6$5Bv}raN<:h>>CGKJEGXsztzrT>.=6:LD-LywxejwgTJZZ\eUi|ȷn@A~\QJ=7=EldLBDKfVag]e}||vK5-)*DmdhrtX.&Qkoλjgntu~HAcĮz}~rӗaC6).Klqlz ifhohH2Lc|qk]PklsmnpegmrdZ\fnbNm[n6L\majwlZVSDAVoǠ^EHatnmjYB@EP^n~g1+=`őmvntgdiq}qW6).+*+1CQzȣiI53[ξ~eL7/157:BLc@>Oҭg[͸ظzP;(6MW\nֱaZ[_aR6.CPWg~l|P=hKRʸqpkycYY_mv{{mhoxs`WTB.CX]hgZQIKwwzequN7;Qox@18Kaf`agp|[02JZtwgkv{j]]_mzz\7/-&&AmzMK}mWD@???I[q+3@oTζx]A-&+*;GLIRN?2Ofyhpty{}}viW;/EfyY/4D[ppbVBcѣyu{|eY269CѿΛ}ss_\_RKMFI]u{ӳZHN=7MgRTbuxW2yevkog\esre]exk\SJ>/1AFE287**A]ovwutrhc_T2YUG&*7Po}pR5=KjjEEJHIQ[\_klesҠqxqlkY:a{nzeT<=>MdzТv\V{r\arsnaQRbv~ѮaNPC9KY^dmu~qAVKesarssqwr`W[kxdVNI?:?;2)7Jgtxwuzuga^X1',+4Ig|W0(58519?AHVacdRF_|ΘrbJ*+j׳DZkVcqu{bJJk}sdadd^O?>L]iu}~}ֱlVTU5*=KT^mxzL1A19Z}}Zdz\T[m}i[SRH61)(@JXkuvv|ti]M**5EOZix~Y+&++(-4:J^ifaM=PjsqY<3m̿=3u}oPVip{؍]G;@Wa[RRTR@+3DPZfmtֵt__pmT?)->IP[sô?Jhy_ib[akxmd`^O4&/GMYjru}wcK+8JX`hsb/.358AWhjd]OAFPUi{kS;(GvԿtir^11h{q|vrE8IfʙZ;*5@A@EPW?,;@GUamʲyko}nJ-.BSZc|ówI-'@Y_hjeVNeļsegozvqlcS;1<@J`ox{m7'AWbiz^15CGISeid_YRIGB>Bayrs»kWC+.Fbrú~icjrw}|G1I`{fkK;EbѸJ,'9BFFSbP+)02>Udrvz{lUA3>ZvyvǼŪn`TG0<[g\QJNG42dsqu||ui[N4)*4,5<76307Ngy],Lk|S.*.-,8ITZaiida`_YWE2&4Uhiejzțs]N=86)(00/4?Xο~lgnpmr}}hE8KbysnYYW`p|{}~¦f5+]NIGS}S3Zk~sojXNKPiϳп~rrh[G0D_\PKTK1'Au}~|u|tj`I;BOculeiuosaAUgֲfp~V5'&B[zxv|oc`jq}A60qGBdqec\dqȹ~WJE@0DBTl{֫d.0M|ϰwg|rq~_NKJC>BM]g@('GZPRi|ypjjzWGJ<+<\kaabtrx˚qH3/16CXdha[oinaFanҏ~gq~S>=RpiTQ^ejyzjXi^SNj׻utbY]kw{eQNSXUTW[gL94@7=Uf|~aLY[K?UlS;0up|R4).9ER~g_jyT,(Tgo̙gqmI@RitdOFHSamvm:0=ZWkYJ14M`S]lrj`RDCIŐdG?DLMF@AK7A{û}j]kEoõ}{YEL_ɛwpppjVIHNLM[ij{k]<'59G`zODpR`Jv|{tΧlI8ETXauF<]dlײѧ~}mQ1=M^e\QNLObv|\-o-RbTJDAF`||S*(BMYsi_rmƥQ;L^&.=ENw,m`v̯s`kmh|9*YjeoˠhP33AMX[YWNLb^;CI\MHBfѳqjwQ?;>[nYBBIFDMfxsC3@oծr^KPcwĿ˺J+Kcqy}}{|zk^[RF?B@Gd~Z69XaexuTekQT}B)OiK((Pôͬtq{.5Ut}z\20@LVZ\[TSmͥxuw_@97I_RACKJACZnwhD,1o]G=E[wϼźF)?LUclkjsuib`WNJKGJb|`ITmsyzdLberkK.7Wj<Aqj=kžuA>L`qxzv+1AOY\^dhmƸ~u{hGCCLUM@@HME?OdroT0)lС`;5;Qw¿½{N9EJQbgZT]ea`]PKMMFI]uykr}}y}eXgϚ}{qU>JATZD>wrelϳkUDANenkr?+:K[aenxֳĹv^dh`OE85;HHDOdtqI.vƜ]MM]|βȾuY69MRQVecG:ERTXVJFIICI[liX[cddqtc]s~ypifY7-ASYI('-AZcgt^fҧsglv=.3E_idfv)0D[hp{uC4**3BHIWkys@*HȪ}ǮqleWY_\TORE),;CMTQORUTW^b_UQMKSajhmӮwg\VI2'.S[XK5(5A>4?_֪vK@RodZMG_k/+E\fabxӒ8/EYiyƽǛU8*.>IMRdu\1'8ETcuxmaWRRLIZ]TE828*4Qnΐh73LemUFX`Um{=8Q]\_jrv{reo3350+8JVd}ջ|դnFAPX^frzd@0;]}dMghl̍MN[RPlr^WJ06DMV]es]KQI83>HVu}||xhdpl\WVND<'/-:9+,D\l~hyΦq:7FI<@rX:LPS\fmqURagW^K2,.+->MPK>ANV`x¾~|ѩfNWcmuy|x`\{jXA+.Ysx}wf}s;8Oq^4KD+0GSYRC8/+BXeihaVYkrpptzqdm~ʭ˴sU\wָƹs\ZTG<944:;AQuf_DM_ozgTLC0-8GVgyz]am}}_OLE>JXTMQ\cygNC5Cwdl{™Ԫ}`UUfȬ‘dUĴyc>7wzk|v_sɵ{W]?G@6fY>4@U[ahlw|ynd_^ckdZ_~רb,0IRoǺtkgnuy{bC&2@Jbl>@^ʳhV~qbR?.4Vw~spve\ZN@KfkZOKG[|X46dXduդs~вpK92?_ib^jx;|~^dytǤyt~Ĵ^EA:Dkͺoh}ykqɏkoYQ^VAEwv[EH`mwwu|~ug^VWFCQ`gսX,&.;Sea[k}{s|gB*FU_xʓĝupfauaD>l}oSTvp[@>:ywnbG-;fS[e¼tiT3@HbJ{kó~nq}|S>TecҨwsaG@?GI52NgǴvϽps|wtmf^\ct{jW\tyvp^KCBL9IXtr}ʹ]4/6;GVrxg]RSQPhzukX5.Kam~|~u tP74TVY]V;'rZUQUn|t[UE+'(2Mdq|ztytȵti[JBBBA@-'24waGDcQ51Ȟn4(=6*1CUsĺ¿wsqaehgitpgjonyzhXH4+1:EZfechnvöeC14,0SgmcZU\nrmknuwbNJA2+(*.-6Nalogbhsyͪ¨ƺ~]C:711.252Tpɵw`E.*70&WqP87O5dͲp;'CEIOU]ewƫcB)B|}V5&5[|nrc54<4Il]17LPL`rؐ.?ZaemqkQMJFLV]cgisut|vM?OqnwmWW\dijnsz~WG::9=H^txtnkjklic\Y[^emqu||rii_V9+:BDGQ_vŹ~W1772'0Ni{kagbA'L`wxhadbUE88KT=?Nk{WG3&/)5Qo|ЙC=dyyupegױ}qcL@DLRW[^ckw}nZKOhT-+/5Jdrwxpimrbxy|\_ekory|qdbmjJ.>UeuĵUEȻ}ZaHKX\֝dDI/:ATkrlhmpke^OHZgO:W\gpɦnSA622;JA/UblƨgA8Daurlkcb~|sh^VG::DQ^dfjq{wiWO]̩Ʈq>7DLPWcjr{wsmdOw{acimno{mcqtG.;Rbo|аR8;ɻŹMEGBUi^l&.@IO[ee`br{z{zdNU]CR\bjsвmhʼuEBհp?+(5DPX`djpohdl\\S52?CD^ïsi_\_VB(4Sɵ}P3/8P`d`h}H9NzumgcWGB@96D^ssv|pULMRauƭnkpqnfWLP]d[RHCDJa`gi^Vez~aT9DKGM[\WW^yn`k­vwcPxyW1&KVN8*MYcu}vxzuomztq]GL\Z\|̯shhf\VCrveRG-`3VFJrA>8=dNt[\9_iMCJIWZ_)R:TR\vsZ:Zoyug{j^adgcZ[V=*'dn[^ri;FbdRaW6+a7<tsm[h]yjya+)(5}Usml3[fb[0*{ssj{qiA+1EI_gdjmmeYj_^ffe=_lbSh_lakrrq]G=0RP1u4?>?EWa7[WQB-*6;gblt21A5̍b'T[R97@DF^6Lq}`R8YR20IR(("GQ*?T]y\]7,FPkeNrxdl^[[ "Mj+G^d}[2I\O_[syssw[[ 1\grBNCGlnvs[[acJѺqnN.5(2`{((L0xhE5CZf5̍5 oh1R]M(((04[_I(S`YR[[1A1ZYI@bie[[//k\@Sjql(5(%gdQ'<my{vv—Tch^v~eR(14):XvXX|,,8BHR`f{K4,(-;FUToN-{85/2Irxȼ2/SZqENQSeww~th`DJ\\[XSUcjrf1DIeq(55((555([[5(M(5([[[[5(`XR[[[jgi~[Lʤe[[((555(6^[[[~V:0 >~e>3=a[[[[[̍[[b/!/`[[R" %{|= +>~e?33?e~r~rmf{̍[[[(5([l%  $^[z, \r3 3re? ?|e>1.0[̍5([([(5[F2?NV}? >~? 0d{> +<~̍([(5̚[[< 4de?3?er3 1[b2 +0r[[̍55̚[[D 2(  + +5|q}~? (([w= :z[[[[[[(555[̍55[([X>X%!*?[(e;(e?33?d[[[[[(5([̍5(55(5̍[5[((55(OA"  .`{SI15(5f$5̤~rr}[((55((5555(((([(([[̍55( +(55(([([5([[[[[[(5([([̍5[[[[[[[[[[[[[([[[[((555((55((555(([[[[(55((55((555(([[1(55(To2_qp|(5([[(5((5([ads[[[[U5(D60=`([[CUr'- =q5((N% 1e55̍5 ;k((̍5&-9Wx[[( /es[[[%U(5̍[ <̍5((R([[[[[[[[(5((55(;*09? *8'3 (55('3 [[[[(((5̍5[([((̍55(([5[[+((55([[(5([[(55([[(([5[5[5((̍5[̍5[((5[[[[(55((55555([[[[[[([5((̍5C:" 55(53[̍5{uz[lSMOG, +33?e~re]N(5([̍5/i-[̶parrr~ʾ[[[[̹5[λ[[[.PR[̍5̑~pX[([(AVW((˙WxSSAtz(̍5̍5V`W5[|vU~ic•GKBrm|wTH`55̍5Cq|(.g]Rhtj:=¢ZRQ([͚[(([[a/la<hl^1-0`KD1[[55((5555[[[[d~[[555(zXgZ@IA]aKbmt^yl^urbMH:[[(5555([[Ecjmh{lOIGCh8qsMba^QXUA(55((55(LjryfNLKJ<3NZHPddie><22Kn}N_df<Xb[miWX=Q>*+lvzBO]zXnPIK6pZG|dLA0&˾ogM/@Gθo|W\5]b>65i]W9rNJA7uokcTBhvwZR]X-(pp[WZZ||}KH<QSMT<*MZcZl͎?nueKM7CSZG_aZKy}ie|@_txn7L]iy07BJ`w*˟`,7Nok+.2`]Sm025p\tyb&04ewLjwmL]ZhZzò~vctEg\rFcnl~^p\>+nf`XqZQE_ON]xu~u~cnrRwf'65;TOYjL:'wcGPmuZnU|)YabHHC1*)uqN7M[[|UA.;R[_c[A4('m5Pho+(T1pujkH^&eoX>2[{xL``~xR>uyjL:IXRtz;DRrKNTfo/ic7E_V^L7Lfg`_H[lqmfHTl7'GMD.LightSand\t1009\nFractal Distortion\ttab_DistortMask\t1010\t0\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t886187581\tdmask_filter\t0.00000 0.00000 0.13750 0.48750 0.86250 1.00000 1.00000 \nPlace by Fractal\ttab_FractalMask\t1014\t1010\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t669011477\tfbmmask_filter\t0.00000 0.16667 0.33333 0.50000 0.66667 0.83333 1.00000 \tfBmDistort\t1 +GMD.SandBurnt\t1011\nFractal Distortion\ttab_DistortMask\t1012\t0\tdmask_interval\t20\tdmask_rough\t0.000\tdmask_seed\t197004853\tdmask_filter\t0.00000 0.00000 0.15054 0.48750 0.86250 1.00000 1.00000 \nPlace by Slope\ttab_SlopeMask\t1015\t1012\ttextureSlopeFilter\t0.44615 0.50000 0.77692 0.74615 0.78462 0.40000 \tslopeDistort\t1 +GMD.DarkRock\t1016\nFractal Distortion\ttab_DistortMask\t1017\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t1389070781\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1018\t1017\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.00000 0.68462 1.00000 \tslopeDistort\t1General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Normal.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Normal.spn new file mode 100644 index 00000000..16e78b7a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Normal.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Normal.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Normal.ter new file mode 100644 index 00000000..bbe0bb8b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SC_Normal.ter @@ -0,0 +1,1384 @@ +{g{{{{{{{'{{{{{{gg{{gg{{{gg{{gg{{{{{{{{{:N]p{{:Nv{{{{{{{{gSg{{{{{gS@@gg{{{{g{{gg{gS{{{{{{{{{{{'::'''''':NNNN::NNbbbvvvvvvvvvvbbbNNNNNN:::::''Nbvvv!!!!]pppppp]]]I5vvvbbN':bv5555I]p 0 0 0 D W k  + + + k D 0 0    pII5!vbb:':Npp';pp " 6 " D W  +R +z + +z + + + + + + + % 9 M M a t t t t t t a a %  + + + + + +f +> + + W 0  ]5v\:'b5]p 0 W  + +R +f +f +f + + + + + + + M H [ o H H [ o   / /     o H t a % + + +z +> + +   W  ]]I5v::Nb:':'N5 W  +1 + + + + + +  ? a t  & & [  j y= ~ CWCCCkWCCCC///// ~ V /  o H t M  + + +f + + + ++ +k  0 W k  ]O:'!  + +% a H o    V j *`yyeys8eye= C / / o 4 a   a M z +W jC  + + 4 5 H H 5 p yys99%%Z o4d `Ls.4oL8sL8`s  RL$9%G38QeQQy=/ N +M 4 / `sLGnZ4dV}x_m)F rUi_F$dii.ZMttnno}_K)=)}A3y4 + +vv!" + ! sAA)<_dm$K   Z|Y '_ +vcT27B.}<.<BdQ_TiU  Yr H > +vv5 +o ~ B)x8KUU-iv-<vivn iFZc-|2___=xx)QdZ-<w7]Jq6_W +pb'5k +[ K_  @|| ZA-AiA---vvOh2h| TF$YYr_rrrrrr___2 l{{ +7Jw 5Nv!W + j ZVK +|FFAAAU-n-AA-iO-AiAZ@|Fn YFmmKr7=rr_==Q___$F +m1ESL/  0 b0 + / Gw|U2Ui'@|h2|Uvvc---Z22|Zh2-m$x)__rrK)Krr__8Yll^ +1,,,:qh=U` +N + C 3[.2-Ammm__$YFh 2TAOcOhn||@ @hFF- )7r___77__KKZA11#Dm,2! +vND +  d=mZ-UA8_77#7__rKddKh|22mYmTFF|Kr_Kr-|]:@?#<} z +Nv ` +';cv8K.}}.P_K_Z8$rr|@m=d=rF(<w7^1@gS  D +W:N +j _(D#JAPi.Aid7KK78_=)rr_x8 YYm__K7|(Jqw^ +mgb&w_GC f +]pN +C 9rJ|mw}}.VV=x$Kmm$$$888K8$$8Km$mm8r=#-c6DSE#ij +bI +C 3=w(csd_dd#.Pw=x$K   2222Z|Z _=dddPP<)dr28K___-]S@m^2j +N0 +/ <wO#d<dKr8 2hUvvc-|h@m=diUi<wK2;l,gg{XvG z +'b + V"7 ZM`    4iB_mF-Ac|@mw}4  idd AJ +@T@,S`V + +]b'''z + *8;]6Y.Z sss%99`t V=KO(<<(-F_B[4`%sssh[dx_FA7E}* I p':v & Gw4Zy>$$$88$$8```3id_Y T|c((((cYKdAZ ys`8$W/C3AP_F2c?g# f +N::: AF#38eQ=QeyeQ=Q=ey8 GA<#F  -@hvvOTF7Pin8yQ* j V Q3}wFFOPlY1lKAC ;':N::] % / )|8s$ ~ V V j j ~ ~ =Qy`3 =$$Kn--@$)BAnU8Q=* ~ V /   C eG4d;(cr1wFd f +v:NN:'b + h28}se / o  / V V C C C C V ~ Cy*3%niPw_rK 2 2rPiyV-) h T 5 B #  / ~ *3 <x_U< +U t ::Nv:'v!k Ths= 8  H % B = 5 C j />Gni<Kr_)P4GOz% E  y { C =``<Q8FAXVs + ':NN:'vI : .A2d3Le \ + + + + +  [ e D o o [ L 0 + } 5 =Q$`G AUi}G Z%s _  r  )   ! ~ *L`sn.KFhDD = IN:vN'bI + _j  +U + 3 + +   o H  + 4 [  /   / C ~ *y$8LLs`$y= > g  % V  6 C *e$888`GPK$FYmm} +NvNb]R + _A[ZL  + J  : +U  M o 4 j E 6 = p 4 H H 4 4 4 4 4 4 H [ [ o 5 V j j V V j ~ j C % S ,  > ) 0 "   )eLGod__ 6.*  'NNN]f +5 )2d ` . S#7u + #<1 g  H W B : e u    5 7   o A [ I`M}w=rQd_2A6  R +p::vv:5+ +  - + ?t~^ +! Xbb@  h / * f g 5 [ H 4 t a M %  + + + + + + + + + + + + + + +> t  Y . 4HYOMys .KK#rvFA9  vNvv' $FPA9L* h  G^ R + X V /  [  9 _ v o [ H H H  t 9  + +t +1 +  +4 +] + +- k - g % S r v g T j j  =LniPr2'<##q|*  Nv:'   _.4$y +q rOff + e V /  U   o m C  v M  +s +0 + h < , )    X  +N + + a  P : x 3;7  +  + ~ $MA)=JK NvNN! w}ZLy + o$SK +g y j C  i } / / !   | I  v 9 +o + + P !    Z F + +9 4 Y , o '`yO0 ,0ENA/# z , C $M Vw_2v1C R +:Nvbk ? j *8 p Q^ + y j V C @T j I C @ G :  I M + +0 + A  K q + +M H n 3 o AeB2rR  m ! C $M }..Bd'<} +I':vNNz +H A#Z8 \ + '  ] +X w e ~ b%%{ j f v t l ^ W 3 N  M + +V + + n +   T ] + +9 t H o 1 m @rAd]E)1"%\ u 1 C e$9 Uw)F +a ::vNb5W + dw * + + X +0 - K z= j'ttB | n s k e _ Z r 9  ) t  + + + +{ +G + + +> + + +% M H o / k 4 ;SJOFUTaUE?9$} k / C Q. A)T N:Nb5W 9 w>/  +R +] + +<  $ e$e**=QyV|;j _ c ` [ U Y P f 9 8 E H a a a M % + + + + + + +% M b   T  R j u(/8?QmuoL21-V  ~ *eGGGi}| + +w 0 bN5Nb5 w* D Q ~ j WhTQ<;bw ;V } S ? C ? 9 < # ^ Y [ [ H t M 9 9 9 a t q v 2 F f N<JQ7U~nJH H 5 8``s dQ +  W v!5N:! edKd  4 k`dH0W"|c;V j S 0   o [ [ o N & u z Y * V j q8!Yt{lnd & H $y}P7$nJ W N]5N4k }< 4KC9&9m.IM+ j j /  +   ( ( ( ! ! o [ H H f h |  Q q  L L3HOX" * i 9 + + +t 4 j  =nU<#%[  b55]: + <nL  + . M$y/ j / l w E V C C V j  X $ [ ] + ' 6 [ +Ou!   P +f + +  +R + + o  C =ZU<# O66a ::5]p]: +H y% QBJ S -n88e V  u QP Qeye* j j C C  u | a h H [ j #<dE c  f + k   W R + ++ o / *niPU! > +:]]:bI $GM/]c6, 1x ]8LL$y j /  GyyL8= A \     U h Ozf: h  t +> + ]W  + + +M ~ i)xK}/M v:]ppp:'W  } eQ Bj0@7By# >$Ls`Lk j S r/\wyeR3R>* L G " % ; E M 0 b ; @  [ &_oxh]-  a +> + p!5k R + +9 [ *n.rG k :pp:! + H V f-@=#n?``*~ l`nnn3  } M h  + + +p s A Bfh^L w = [ % + W !!  z + [ =Ln G %y 'N]p:5 f +% 4 \;8 T)s>GOg 4i}}i. / k + +N +3 +k + +# b e ++MO. K 2 9 + " pIW f + + H j eLLL$$~ + +:]ppNN R +% `.,KnZ333G33$)Bn )wP)A3Ly S ,  q + +# +  + + +  s  X  M + 550 > + +a V V ! 1 +:N]p]N: + 'Ocv xa--O w_rrrr_#wW { 4 H i +! + ' y n +  - b u ] } '  M z + I!5 > + +a  V / o M + !'N5]]]N: + F U(O$GhhG!>UT%v``32ss$PUt< O 3 1 h + T 7   + +   * G D X H  T  X  t +  0 > + +t  i +> + + W /v':5]5Nb! + 2 M H\!3x_Sepq%M@ +22K 9R/l 6 " M +   v +T 4 _ #  K % R +  k f + + H [ + p!bb':55NN z +9 : AH B.]q]UamjML5$w?Kw)<P(-Krwine [ F g + $   + +h % o l <   7 s V j [  +> ++ +f + +M [ o + vbb'v5N:~0 + + GTX'\uuF;A:"45 vG8U 3UUc|OrC77An + o    g X + + W   1 b C  V H t % % a 4  S > +D ]N'NbN''::vNNR + H \ xM:3ZnJ@h-)~dpO@MKbi"Jr8Z 0 < ~ + D + +l q 2 2 2 2 > | Z   7 a  =ey= 5 H N o o 4 +  5':vN:k 9 + +a (@pgn Nrg? +'_+m+ 9  N +j +H +Y + + +I  % W X @ K c V y* j ! o M +  INN f + a o  AZs 4I,)Txpb$K!1P<#&@rG$ G s W ` } 2 FKF  z N i T c / QL* H t + +W '::bvNN' + + +  .nnn.RI"2v ?]omhzzT+w|~tc$wG8+z % F i L X e  V e$s3G*~  f + ::::vpWk z +M 4  ksG AfT i}w(i5~k^Q$o7U\lO5x t8:" j % t 22f k [ j j   V $nA}Am + +0 5vN: + + C i1"t-3]cJw,>AJ[Ki$QV@38$$y j % t R z z f k H [ [ V 8 &<)i  +k pv: +a \ yZG [}o4 4Uh= )AGc>xnP8PNac*8LLy j - ; u l h C e$`n j % H  'N50 > ++ [ `3dPn&4aZ#F_4 #`*y j j h / Q*3e d4y/ M :N: + [ C `A<dwwP<<PP)d.Un3<$xGLGasnU)rPAJk#Lsy ~ w |  ( ,  V o  ~ *ysUPPU  +NNb +  CUw##ddB.An IJ%d}ddfrV&_Gn* [ ( y ^ ? [ j esj ~%/ + +bvv! + / C*%.(?pLYTPHe/yVIJ 9 ihx#f^NbMA4eQ C o 4 4 o ? [ C esnVmM t  +bv:'v! +t [  j MUPTx{E44id[FFZ}35qAyph} 4$ j [ V  H X ; [ / e$}r9 M b:Nv R ++ / Mid&tBW&#G,5IIFvG64n)n_|wd4n~   V o  C een}Pr}= % b:N5 1 + o  `iPj0 y)X o!/7_`7E]lpsf='ZX#rKBe V /   y  j QZ})pJ$_w. H + b:b5k + + 4 *MGj <Iiw5AGphA  RZ<_)$ j V E  o \ h 2 =`})lh\8#V + bNN] k R +9 R #)1 +)i .a}o/4Vd|lj"S.-P)$ ~ C  [ H H [ _s[Lmm_w= M + +D pNNv5D  + ~ iaN:H8 .G?S~L9n{TO=*yegnNPBy* ~ / o o t POhnj;.Y2~ + 5NNID +t H  >G.WHCNK2+(9LE}iZveSJ[c]oI:+yQ==@}Ll/By=** / [ ! =*34SuL* t 1 +W vN'v5p +t 6/;1k|`dx=QxUZfC ;V\\UM6Q*Q`%yh$=* J > F *34|VUV + INvb!] + 4  +o !4H\4  >QeQ-Ud7wy= =n4 >~|j`$y g P `  { bbkf14:.A o +  +W :v:N] + [ y$y::&:&g+K}iA W'MZ= L3mmJ`$y W   { &uHCta}  + 5vv:]6  + o ys$mS+X1ttMdd3R2= V C C ~ al HG%Gty T 3 % _ jy89RG +  j7v:'p +M  Y3%1J*%%xiV}yn!a{xn<<<Q* ~ C  so1j3se j >  O?Q*93I$e   +D 0v:'!0 +a 5 /Y3%b(PBs$%'n= qc C W DLG [i t8= > z ^=2m%Nj % R + 5(v:v  + +t ~ y`o}x39NJ0DefB}}|)sRe  m _ y ! Qit`y n  `K-3eT : +9 + D6v:'W  +f + + [  sU.2:1p*B}}/K$$$e ~ ~ ~ j O >GLe 4 ((( =$Mg M + +k X +v:b6 f + + + +a / 83#`H'fQO~z/}}ey* k X C C V j j j C  / g / o ~ =s$Q j /  ) x \Y4f M + + pkN! R + +9 M a [ V QL` wC!-H~ QB//Qf ~ k M 8  / / /  M H # ! Q*```Ly/ ~ / o 0 # H1)p  t +f + D ][+ :]D  + +% o V ~ QM}*~PVH_<pb} ~ k a s 8   [ 4 H q  H j Ce ~ C /  + o o _  HoN4t t  +> + 0 AuANI0 + + + t 4 o  ~ =Gj\eeQN>exQ==a~G o x e Q t M 9 / M  9 t H o === ~ j C  + h  I j N C  BiP=~  J + +D + e Ne*5N: z + + t H V ===.=e q*C[LdX d P * m k D D k  [ * j C /   }    _/: H  z + + aN5Nb! f + + +9 H / XpwjkisoL3VqQ=w}Q)))Qe S/ X w N A 3 8 *  c v o ** j C  o o [ [ [ {  o  g  C & % +> +   pN5v'] R + + H j \lt`V}jsxB...Vx|oV+ m s 0 > 1 X j s t H   n n Q _  T @ B 3 4 3 . ? A G o  &&:M: ~ C  H a  z + + D I:]NN]0 > + + C 4^b[cp|z^lg@T@m +7W h Q V k D $  C 1   Q W e k 1 w # Q Q e y n  2 A . l N E #   9 O  v +   E m j / 4 9 + +k 5]v:]k + o * /*19>8 *Q$y`y= \  v h e l  2 5 /   . 5 5 I Q E   . E M L ( + z | z x y [ F \ + i  B ] +l H  / C C  + +W v]v:b5I~k > +% N t p e p f X (   / V =yyyeQ= ` 7 i ;     6 \ n g ; K h f ] 6  > G ( s ;    , A P [ X H 7 (        . .   + + + + +R  C +% M H [ H H M + 0 N''pvNbv!  + +  S H / !  / ( 4 [ / C C C C /  ~ U [ 8 *      C +w +T +9 += +Q +v + + + + + + + + + + + + + + + + + +z +X += + nSqiOpfKm P +f + + + + + % 9 9 9 9  +> +  !bbN:pv::!5IIH]D + + +9 a 5  + +9 a t K J [ [ [ C  w t p e [ ` a d ^ _ ^ _ a   { m m +u +# + +  +, +9 +? +B +M +6 +/ +. +2 +J +\ +U +K +D +A + + + qk~=Oh} w ++ ++ ++ +R +f +R +> +  0 Ivb:p:b!]s7$Q~( R + + +t +_ +_ +_ + + + 9 M + < d  +  w ^ J : < A 5 ; E O ] b h h c e c U V T Q B > A C G ^ : + > N I O Q c b 7 N  L +  + + + b LMM1 7 C G Z [ v a b r ` 5 }b:l::Ij~ > T $ +G +Q +7 +3 +) +% +R +n + + J +$ 0mm K +  + + + + + + + 1 F P q t f k _ l J E K Z 3 5 9 .   + + + + + + + - O Q % + _ s  ~ ~ ' pmiEk   " ! #      ^:^v::b9AY$ t  + + + + +: + +Y +  I + +~ +e +f +s +z + + + + + F Q R b h l f M 9 6 5 .   " %  + + + + + + + + + + + + + +c +  + Q 6 A N P E L N ` ! qOnmLmnJ.X   yxwol`&9l':Nbi~,O E ] 5 +D zWfj] 3 + + + + +5 +C +T +] + + + & 5 C V U K &  +  + + + + + +n +T +\ + + + + + +z +n +s + + + +0 + u S [ c b [ e j w  tliNK8% ;]v:'bjlp0v  . & K 8 ; _ ]  mC  + + +4 +x + + + +  + + +{ +r +u + + + +h +6 +  +" +H + + + +o +Z +X +k +m +{ +u +g +5 +$ + + + +; +D +3 + +- +3 + +- + + l  ZQ Te?#pvl>| Y +}i Ef  +( +K +t + + +| +u +_ +, +  + + + +  +5 +z + + +r +m +n + +q + + + + + + +~ + + + + +u + + + + + +j +] +5 + +  + +  -!T >   Y;[,$ pvs1HP-('<E"FF"> g k + +* +& + + z  +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + +e +K +> += +L +V +S +@ +. +( +( +5 + ]C v h E " z4k:pv:bHPNhE ii E? j {  + + + u j  +] + + + + + + + + + + +  + - .   + + + + + + + + + + + + + + + + + + + + + + + +* ]W +>F u +9 + + z M 0 q1{<!pv:'b5+ - '   ' 6 = 0 ( $ 3 '}Z}. + + q # +a + + + + + + +  ! - 7 6 5 5 M < &  % (  +    + + + +        + K 4 + + + +R +A +' +$ + S * qJ@VygO*p::v! W  x R : . T ] f k g ` g o ]"//"]  + + + +! +" +! + + +  + + +  +6 +m + + H < 9 ! % / N l d U D @ B O 1   1 5 3 7 > 5 B C B D E C 4 5 H I W X j ~ | , + + + a M 8 + + + + + + +R + a /VlubAqpv:'vjW & +B +L +F + + + + + Q"t  t"Z 5 +@ +> +H +W +h +Y +[ +c +\ +\ +Y +Z +T +O +S +Z +b +c +B += +5 +& +. +: +V +t + + Y x } p ] R Z P D > z { w # 6 @ 8 " ' 8 5 %  t o T O _ a A +> + o/"/Npv:Nbv0 > + + +$ D 2 8 %  + + + + + + + + + xl6Eqf + + + + + + + + + + + + + + + + + + + + + + + + + + + +Q O e ~ d _   ; W ( 4 " - 5 : ; b h O O N N A % 0 N Q  + +I 5ub:pv:':0 +M  H [ [ [ [ H 4 t a a a M 9 } +f P)7 ) + +  3 K R c a a a b b _ g a a d s u w { m ] \ \ ` j y + : x l _ -    R     , ` U v w w q b c f | Q PQ l : <  # T b T 9 / / / ? l +  W'c1pv:'v + + +t [  a a M 9  z f ? + +  p + + + t p           +    0 l B ( C [ a C U ^ r 8 : A i [8`l&`&  ~  o + +k 7U]v'5  + +9 4 o / )) h A o o k c p m l [ ^ v k f _ [ J a q v z y N = : 0 / D k    +  W ( E h u N?[||c"G3 +jYD97E\qeeQ* C +> + D FfpvN5D  + + t H u z| j j C / / .  | |  A f x j O / t J Q ; J ` H B . v ) c *Ga}_4: A).tXucQYqQ~ H +D + + " ']v:Np D  + + +  , ~ ~ V C V V > o k d k a d = w f m  , 5 A | QekPss>b<MH.M9xaPMdeeQ C [ 9 + +f + Np:5] k R + +t H $DD3y u C /      u v s o v f  T 0    O q  0 d *e )rJd"lA;/iZ9"** C a  +f + Np::!]0 R + +J o &\S,  z ~ )  ?j`  '   # . ? J p e 2O3'{v"J#xi _  ~ H M +z +  bpN5   + + >  6Sp=o o K [ N @ N Y Y J 6 ?/e "jW/ D ' _   , 8 G L @ W } *e LL;&j^_#.M? C [   z +  5b]v:NI0 + ]  qP} C m +  \ QQ*`ss* HW J \ w . 4 A I U V O Q j Qc$L9"'$nd `3* V H t M M % +2 + b]vNk + + K 'k!# r  v ' - d>sy#@pj  C h p [ W T ` [ s n =y8)L55;HfR?My V a + +R + + V']v']W + kggggF $=HW - ?}=5%snZqxa+ { 2  . y +j-$8r&:q|TI\;DG$ N +z + ( z*]bb]k  + + fz :h{ U " 2 g/AI+7GAUnJ q M s : 6 ^  g(cJ7%@a|}\(0yPi$e 4 t +   si"5bv!q 1 + + YYE#e X "XZ.}U9e  f 2 T ^:**==B[93GGmF crg"J* *j 4 a + 0 7 5bNI  + V~\ >V f) w Ay"wG . ` V / C j $__shyvo<@gXMn#\ uK~(g%'}lFbv / 9 f + Xz25b'v0  + + Cdh#> He y T PF}Pd<A j ~ _ {hp3D6\zNOe + +0 Cu5]bN5 + n:>eVo   { QsZA<LV!u Z7)p .n$rzs]m|Z-DdXQ~ [ +  N35N:0  +9 xMXU98R B  T e$}dr.;X& *Q,CL;90*O!:Xxp4AA s`g|;=[V>DY=O1.e~ : + k4 +5vN] + j  <c"LwUM8Q ~ / U # $ }  j *e3.j& N1Q ZlYRMICOc UU4 52G& :' pBA N f + m"Hb'v f + e7Dw+wG38= o h :   q j *eGUV r+vCTRcMBJ<53Q n Uif@P+%fu r' pB[Z$5 +  Kl45N:5 + `8ZKm< ` x C % 5 e + QbWiwtQ7+DDD9(%8sZ UxrT9oEpB + +k  _X1 +NNj0 > +a y iwr +Y^`7  e j   ? 5 V B )|,})Kcp7" $) #DsUhJC@ ..EEEXlXE1Ew  R + k  |1VNbk z + C $)DAL%y ~ + p : B R [ B 1 V >y}<=) TZ0W$8$E ip```}AA.K<U : t + +  .P +N' + 4j)+L7ZXu$ C O  / 4 nmAP$t;m7GpAi{srhfiU.''_}i  ! % R + ]a":'  C7sR@g + @  G  0 [ / (14BP%%D%R/ S/*}A.Rfzz+K}i V M z + 5\v:' +t ZK urZ  * d W u  [ .OL81 G5vY7*v +Znt/$iB)__)w}/  H t + 5&v' +  Z7= nsFe. J 6 @ ` K (P [?BaML8v!iU``8,{g6d)==d_)PA $Q C +  IN'v+ +  Z)4ns5e. ( A 1 < J W d K n|FF`[ Z"4P_G}dPGG p> &_rs3n4)<dVV#7#)Q / +  IvNN+ + U<Kr_[sFe8+ 4 p > G Q O l = =.V%?f6 ij8rj}ti:&#%%8`3ZUPP)PP<)PdwdPZ$V 4 + N:N +a s<B3rZ =  r l m } P j y8`sqH9 +M i)sOt($d4Ma9', LGZGn}PPALQ ~ & % > +W j:N + j }ww.Ze&T f J F /  $ j y888 -dKUP U}T#wAi{L;,H$LGn@ +A)iiU. Ai}U>y ~ / % f + :v:'jk z + 4..[ZXu W 4 r Q C 6 $ ' j y3VVD3 8w3UPrm|Yz!j#wUiS]~ UU}}U Z V o + Nv:p5  + + * i}4Zy* _   h ^ 5  S / j y3~<nT%JM~Q7A3H4*R j;Bwdqqq=3s  H M f +W Ivv:: T +! Z Zn3sQ I   k  \ | O 1  K V e"2*!.qe`r<v|mUG0yyj7jU<<}qqCnnZs  o + +'v::]K  + +X . L 3sL=  ` l h Z J V : Q*{IZ.F"" 7cn|EEW.2iiUUq3,'/GGG`  [ a  z + pv:5 +^ T W*y v A ? j U 8 @ u B!*V|%66.ch2G!X,'4="2ly a +D + :v5" +  H S Z d X  V Cyy=    $ p E Q Gz"LJAZC}nM-]UO9nWs_1s / [ t + +] NN':':NNNNNb]r { +k 7 D + S + +9 / C v   K t o ! + + + j ;SthgG$]s)43Z&DR_U50;9>^dR!3#[s8y ! u + " O'N'bbv!I +  j j B j + +  +z + C j C  v o {  T t {  i 2 R +j + +  +l +@ ++++`9iw_x&v<V-$n sFSNXn}\!+t2p8V  + +W ]N'vI  0 + i 0  ` + W 0  W + x \ c x 2 E C +  +7 + _ 9 " 9 f +, ! W yyee T|ZMLU<No}CO,,s$g4appLC + b:'v5  + + ++ +f + n " + +   +M W @ T i  L a ^ ? + B } E +L  =etV$_ssss_K_899X) ?>Yi}UU=?`Q~ + bN'I +M t o / Q   + + ]5] z +o  4 5 * G k 3 w  + 9 p1H + Q QB=dxxdddxxxd#.os_$s C,R +L +  bN'  +M }  C ~ H +1 +  5] +9 + > z  R R  +% +q 1q + ~ j j V j eLG.)wwwP n8$$sFP||N"u  + +W N:Nf + L>>eRe j H  R + D ]p +% t @ . l z W + > lH j +x /     / GAi}iAe===y$`;_,*v9 + ! N +f + " ;! +H =.An8~ [ 9 + k I!I + + a ] " T  + + * ' r +s 5 Gn  nnnZ%*= e3?5j[/RKke 4V o 4   +W H .d7w.n~ o a +> +   I!] > + +M o x $$0  , + + J + + j L j  \ 8Ls9``s`*= V / j `j K1'EZGef #= Cy +D H9   Yr.}~  4 ? + +1 + I p + + +a o @]RIJI> + +' + l +  j W*R*yyC C V 1 Iu|mJav4fQ*Z|` Ib V |)V}s C : M +z + k 0  W z +% [ WTs q % +g +G +h + + g ` L 6 6 6  / / C ~ Qye*  V o o o L vV \o%O '*=iG +N] (Pc V}n`= ~ C :  f ++ +  +z + H (IpwUx p  k - o  = f > r  V j ~ V C / / C V V C  8 M<N\{^{HS= snU.ej M  !: 82V}$=  ~ t  + +M  ~ ZoR2_ W 3 o C  # 4 H H [  8 :pAUAz4ct6> }<w3 !:[  lh2V $$8 C ) t e@q}M3)Kn V / C { A 4 o o o [ [ [ o   C 2mI-Bz@`Q ~ V V j }7 5:[ FY)jneRR 8 C o  gSeej[D=O@K j g  ? w M +   + a 4 H [ [ [ [ $ F L R H ; U <%!r4oL$* ~ j C / =r. 5b 17ixiM%%9G*~ @ QnCTWQiJr ~ g t M $ W ( + +z +z + + + + +% 9 M a a 4 H H H H ' U n u r c ] 'NvvV JERW6e} Y  [ j V ~ ee Ivbt 1@U     3=~ C ! t }yn%GqlEBTJCD j U 2  X  +z +> + + + + +> +> +f + + + + a 4 4 4 o  I g w m b ==QiYJ |  a * j j y KP V  k ]':] +q8)wUG= C 2 ] o$KwgZntvX ~ / [ t % +z ++ + k W k  +R + + +M + [  > a i a O g $ !WN7 m $ + + +r  i z eni[ z + b'!R + wP<)<<<}G*Q C  E Eyr*X_M<&P ~ / H a  ++ + W    0 D W  > + + +N  B l  : N H 9 B h ~ ~ t +JMkkZ57  + + q +  W _V 9 k 5b / 21c2)B.G*e C / d Dtl\gkpb7 *c~x[9 f  o t 9 +z + + k D     0 0 W   +f + + C | # _ u    !  B C C  e R\B F   + r +k { 5 V `GG}r} 5N Grrs..G*y ~ j ~d@7;#   e & o 4 a % +z + + u D D D W k k + +k + + . H k . , C O o [ |  o3F+}j m +Y k$ g +V  * E V `.Q4 !:p J#<-2rdiZ>* ${p? q m | r l m \ R I >  j 4 a 9 + +R +E +I + +  ++ +R +k + + +) + 5 X k > } z _ ? . ;$ B LRmx +' z `3Bx$L[ !': CU;qr#KK.syQe|~T* W + 3 +  %  H  t M % + + + + + + + + + + + + + @ > ? J W n r j c d m k $ H H H ?  x `yG1 i ; p/ff ( +% yn[Y  +5:: .(vhxQrKiML&0Q ~ M o c G %    C 4 X  H H H 4 4 H H H  r t y  c ` o Z Q <c:BG1p { + eI/ +. Z 4s r=G > +IN o t7<(-28xwiGL)ftB= Q ~ 3 y i U b " [  C j   j & w X D A @ 9 : , 2 = H 4 4 w _ [ j Z  ? z Ml^ +w o +T zR}$nQ3  +INN + h$dw}s]\sz;e $ I   b H =*ssRy/ g g a Z W H ? [ 1 % b {  n + z$A$  W8KA2[ Ib'! c7^2  Y7< n rjH j 0  + ( G | ~ V Z j R eLnUiG s+e= C  h : i @ j T S | + F " L + y`Z.P-. 5:I + Ld2XOT8K}GU= ~ C L    / D w  8 1   / ^L% }.)ddQ=)j}[4MLe* j /   C C   W + += +H +& +Z + + + =8sFh2 7 k 5' + v"O;nKQUMs= V  z   ' *7j1 wKFmmK#wdP<<}.ns8= j V C ! ! / C V C  I  { P s Q``o +Ts + b'b!0 + 1 +rc<-x} M`y V   $ K s H)rG.=$sFF _8$r#PU tLy/ ~ ~ ~ _ F 7 est}22KVj + ~:Npy % imXEmE +rJi$w  s/ ~ ~ M8M.}d7K ZAiAFF222Y=BGsye=**QeeeQQQy*9 )An Nb + 1{E +J6vT8_dG$eey8LsZ Uwr TOv<<(--mKPAnsL8$888$$8`|4  +b''b% {"c| #UG 3GnAid2m|U<((U-----@FrUnZ3  Gn[Vrc($H > +b'p ,TuN:g|;F8#.}U. A[[.= 2|OvvOTmr#d[GA 44 U)u > +NH5 + e TTS<ihsQ)77#j}}V=_Y@T|'OOO;''||TTh||||T-m2r7d..BB.).BY-(ds +N + Zc +{?c|Y=dB8K$)7Y @T|FZ22hh2m8rdwwdPw=s]q +0 v + $ETS7q"c;'|_mm)FmYm_h|h-h|hFYm_#KF|v(l#3x  I Iv +~  +:Nlq]6vhY22Y T|F$Q)Y$YY$$2T|nccF22rFFr=dd=##QxTiv-'cX1~ 9 W 'vN]R +/ `21muTEJ#cPP(-@@-|n2Ks2 mKmYK8@v|2Oc FAAZ_ $$8K_K$Y'(V ~ t jv C> + `8,@Xq6;ThF2-||Z22 mcO|Fcv22F2mKKF$8$Y FhZ8 z + bN + *rPmE^qA| F|2| mT--h22FFFh222YmhhhZ $Ae/ f +0 !v + $AmqJl('h F$sFZZ2-AhA-2ZZ2AA  F_8222 2r))KrT#= f +D 5 + 8 _- KQQ=)}=Y$$_-TT 2-AA@ZvcT$Ov;| +2 +mmF2YFBB}Fh<G/ z +k ]NW 9 j yiY $Kd<))w_7#mY | 'O'sw<B$Fh_s)7Q_)w}U}Y@ +w~  + ]b5 rK)}U.....wP77K$YFY#wd2 +diPdP<.A.. rM & + ]b+ +& [B.[Z%Gnn .wddK)$==G3sBG 44Z Gi4nZ%9%n.d)<RC/ z +D !v> + LMn` *Qy8`Zn[UAd<d.Us`sL$$LLG}>Ly8ssee$%i.3/ V Nv  ~ C t a [ / j **eG3GUi..GeyyQQQyQ  \ H ~ j / V C*j H +  ;'N z + +f +  0  D k > +z + + +M H o C e>sR>yysyeQQyyQ  ~ j V /   o [ H 4 9 + + + 0 !:ppp55]0 k + +R +z + + +% M H [ C j ~ j V V j *=*Qe* ~ j C C C C   H 4 a M 9 % % + + + +f +> ++ + + W  ]N':::':Nv5]" k > +f + + + + M & N o 5 H H ! o : & & a   + + + + +z +f +f +> + + + k D  p]5v:':Nbv5I]  0 D   +> +R +z + + + + + + % % M t M M M 9 %  + + + + +z +R +f +> +> ++ + +  k k W D 0 0  p]5!vbN'':NbbvI]p  0 D W k k  + + + + + + k D D 0 0  ~]];''''vbN::':::NNb!!5III]]]]]jIIII55!!!!5!vvvbbbbbNN::'''':::NNbbbbbNNNNNNNN:::''''''':::::':NNNvb:N:::NNNbvvNbNN::::::::N:::::::::NNNNvNNNN::::::NNNNNNNN::NN::::N::::::::::::::::::::::::::N:NNNN::::::::::NNbvvvvvbNN:::::::::NvvvN:'::Nv5]ppp]]55vNN:bI  0 W W    k k W W 0  p5NN::Nv]p k   +> +f +f +f +z +f +R +R ++ + + +   W  ]vN:Nv5p0 k + +R + + + +9 9 a a a a M 9  + +z +z ++ + k 0  pvN::::::::LushWorld.TR2GrassLightLushWorld.TR2RockMossyDesertWorld.SandGMD.GrassMixedפ~rr~~e?33?ee?3 ?ee? ?~e? 3r~? ?~~rrr~r3 3ee?er3 3r~?~r3 ?~r3r~? 3e~3re? ?~e??~e? ?ee?33?3?ee?33?e~rre?33333?er~~rr~ʤ~rrrrr~rrrre?~?r3r~~rrrr~r3?ee?3333?e~??~e? ?ee?3ee? ?~e??~~~? 3re? 3rrr3 3r~?~rr3 3r?e~~? 3rr~e?ee? ?~~?ee? ?er3?~e?3333?e~e~rrrr~e?ee?~e3r~r~?~e?3?e?~~? ?~ 3re3 3r3r~? 3r?~e3 3re~? ?~er3 3ee~? ?~?~~r~e?33?e3re?3?e~rr~3re? ?~3r~? 3r3rr3 3r?~~rr~r3 ?~ee?33?er3 3e3r~? ?~~? ?~?~r3 3re?3?ee~? 3r~r~e??er3 3r~??er3 ?~r ?e~? ?er3 3ee?3?e~? ?~~r~̤e3 3?eR)R~? ~))Rפ~rrrrrrr~rr~e?3?e))~e?3333333?33?e~re?33R))Rפ~rr~ʤ~rrrrrrrrrr~e?3  ?~~? ))R̤~e?33?ere?3333333333?e~? 3r~r3 ~~rrrrrr~פ~rrrrR))RR)Rפe333 ?e?3e?33 ??333333?e~e?33333?e~R))R))פ~ 3?3 3?e~rrrr~R))))~e  ?ee?3333?eR)))re?3 ???er~ʤ~rrr~)))?33 3 3?e~ʤ~rrrrrrre?333?e))) 3?33?erre?33333333 ?~))) 3333 3r))) 3 ?~)))3333?e?333 3 ?e)))Rrr~~rre?3333333333333 ??3 ?e))))ʤ~rrrrrrrrrrrrr~e?3333333?e~? 33???eR)))R))Rפ~rrrrrrr~e?3333?er~~rre?3?e))))R~rrrr~ʤ~rr 3?33~e?3?33?ere?333??3333?ee?3333?er~R))RR)) 3rrrʤ~re?3333333?e~rr~ʤ~rrr~~rrrr~~rrrr~̤R)) 3eʤ~rrrrrrr~R)R ?~̤ 3re3r~? ?er3 ?~r3 ~re3פe?3~re?~rrrr~~?~rr~e?3333?er3e?33?e~? ?~r3e? ?er3 3rr3~? ?~~? 3rr3r3 3re?3 ?~rr~r3 3r~e?33?er?33?e~? ?~פ~rr~r? ?~e? ?e~?3 3re?33?eer3 ?~~rr~~?r3 3er3 ~? ?~r3 e?3?er3 ~r~r3 r3 e3 ~?r3 r3 ~r3e?33~? ~rr~e3 e?33?e?~? ?er~ee?e3 33?e~?e?~? ?er3~?r3 ?~r3r3 r3 3rr3r3 ~r3 3r~?~?er3 3ree??~~? 3re?re? ?~~rre? ?e~e?33333?ee~rrrrr~rrr~~rrrr~פe?3333?err~~e? 333?e~e?3 3?eʤ~r~~??~~rre?3?er3re?333 ?e~?re? ?ee~~? ?~~er3 3rפ~r~r3 3rr3 3r~? ?~e3 3e~? ?~e?333 ?e~rre?3?e~r~rrr~ʤ~~~er~r~~?3~r ~~r~er~?3?e~?e~~3~e~~re~r ~~rrr~3r~?ee?~r~ʤee?~rrr~~rrrrrrʤ(55(([[[[[[[([̍5(5555((55((([[(55[[5̚[[[5̍5((5(5̍5(̚[(̍5[([([[[[[[[[[[(55[[5((55((55555((5555([[[[5(([5((5555(5[[[5[55([[(([[[[̚[[[([(((̍5[̍555̍5[((5(55̍5(5([[((̍5[[[[[((5555(([[[5([[([[[[[(5555([[((̚[̍5((̍5̍5([[[(̍5̍5̍5̍5([̍5(5(([[[[([5[5̚[((3[3[[3֭3(5555555(55(([[֭3([[[[[(55((5555555555([[[(5(3֭3([[5[[[((5(([((555555((55555([֭33[3[[̍[[([[([[(3֭3֭3([[(5555(3֭[([[[[3[[[5((555(3֍[((5555555[[[[55[[̍[֭[[[[5((55[[3֭֭3(5555555555555([[[[[[֭3(5555555([[5((55[[[[3֭3[(5555((55(̍[((55[[5[[[[5(3[[33[̚[5((5[[(55((555((5555((5555(3֭3((5555555(3[3̍5[̍[([5((55[(([[[([[([5[55(55555([(55555[(55[[(55(([[[(555([[5(([[([[[[5([[([[([5([5(55[5̍555[5̍5(([5̍5[[((̍5[[[5[((5((5[5[[(55[([[[[[[[[(55555((5555((5555([[55(([[([[(5([[(55[[(([[55[[(5[[[((([[5̍5([[5̍5(55((5555555(5̍5(([̚[(([[[[(55[[(5((5([[[[(([̍5(̍5[̍5((5̚[(5((([[[[[[[[[((55((̍5(55(5̍5[[5([[5̚[((((5̍5[[(̍5[[5̍5(5(5(([[[[[(5((5555((55([[[[[[[[(([[5̍5(((̍5(55(5̍5[([[5̍5[[[[((([[(([[(55(5̍5[[5([[5̚[(55((([[[[(5(1LushWorld.TR2GrassLight\t1000\nFractal Distortion\ttab_DistortMask\t1001\t1001\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t361840053\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000 +LushWorld.TR2RockMossy\t1002\nFractal Distortion\ttab_DistortMask\t1003\t1003\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t268833755\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Slope\ttab_SlopeMask\t1004\t1003\ttextureSlopeFilter\t0.00000 0.00000 0.00000 0.03077 0.04615 0.10000 \tslopeDistort\t0 +DesertWorld.Sand\t1005\nFractal Distortion\ttab_DistortMask\t1006\t1006\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t267844087\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000\nPlace by Water Level\ttab_WaterMask\t1007\t1006\twaterDistort\t0General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t166\tgeneral_water\t0.273684\tgeneral_centerx\t0\tgeneral_centery\t0 +Bitmap\ttab_Bitmap\tbitmap_name\tterrains/heightfield/TI2.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SpinCycle.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SpinCycle.ter new file mode 100644 index 00000000..ddba783d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/SpinCycle.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/StarFallCTF2.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/StarFallCTF2.ter new file mode 100644 index 00000000..8a1d65e8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/StarFallCTF2.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Stripmine.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Stripmine.spn new file mode 100644 index 00000000..c49fcb1d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Stripmine.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Tyre.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Tyre.ter new file mode 100644 index 00000000..f0bb759b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Tyre.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/VanDamnedLT.spn b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/VanDamnedLT.spn new file mode 100644 index 00000000..bc857983 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/VanDamnedLT.spn differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Wasteland.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Wasteland.ter new file mode 100644 index 00000000..4d308c69 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Wasteland.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_AshenPowder.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_AshenPowder.ter new file mode 100644 index 00000000..c9195594 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_AshenPowder.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Bastage.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Bastage.ter new file mode 100644 index 00000000..f009cc6c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Bastage.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Birthright.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Birthright.ter new file mode 100644 index 00000000..9d98bd87 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Birthright.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Crown.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Crown.ter new file mode 100644 index 00000000..76f4a3b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Crown.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_DesertedSE.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_DesertedSE.ter new file mode 100644 index 00000000..cfa3c983 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_DesertedSE.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Helion.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Helion.ter new file mode 100644 index 00000000..499d22d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Helion.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_SoupLadle.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_SoupLadle.ter new file mode 100644 index 00000000..6a5b2e8e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_SoupLadle.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_StarFall_T1.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_StarFall_T1.ter new file mode 100644 index 00000000..c72e3710 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_StarFall_T1.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Stripmine.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Stripmine.ter new file mode 100644 index 00000000..3f131558 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Stripmine.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_ThunderGiant.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_ThunderGiant.ter new file mode 100644 index 00000000..8d312ef7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_ThunderGiant.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_VanDamned.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_VanDamned.ter new file mode 100644 index 00000000..45741d40 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_VanDamned.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Voodoo.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Voodoo.ter new file mode 100644 index 00000000..75597fad Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Voodoo.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Xerxes.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Xerxes.ter new file mode 100644 index 00000000..06df9dfd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_Xerxes.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_ziggurat.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_ziggurat.ter new file mode 100644 index 00000000..b04046e1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/Xtra_ziggurat.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_Astro.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_Astro.ter new file mode 100644 index 00000000..36f4ed49 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_Astro.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_FaceCrossing.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_FaceCrossing.ter new file mode 100644 index 00000000..bbe7ba81 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_FaceCrossing.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_SimpleFlagArena.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_SimpleFlagArena.ter new file mode 100644 index 00000000..df2d92bb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_SimpleFlagArena.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_agroleon.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_agroleon.ter new file mode 100644 index 00000000..6458f079 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_agroleon.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_bittergorge.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_bittergorge.ter new file mode 100644 index 00000000..7d5eacb5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_bittergorge.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_crumpie.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_crumpie.ter new file mode 100644 index 00000000..0c7936c9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_crumpie.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_dermcity.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_dermcity.ter new file mode 100644 index 00000000..be4a5fbe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_dermcity.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_isledebatalla.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_isledebatalla.ter new file mode 100644 index 00000000..acc60395 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_isledebatalla.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_spit.ter b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_spit.ter new file mode 100644 index 00000000..85de4fe3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/terrains/rst_spit.ter differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/DarkStormy.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/DarkStormy.dml new file mode 100644 index 00000000..a959cc4f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/DarkStormy.dml @@ -0,0 +1,7 @@ +skies/DarkStormy/DarkStormy_FR +skies/DarkStormy/DarkStormy_RT +skies/DarkStormy/DarkStormy_BK +skies/DarkStormy/DarkStormy_LF +skies/DarkStormy/DarkStormy_UP +skies/DarkStormy/DarkStormy_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/L4.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/L4.dml new file mode 100644 index 00000000..ca6ed4e8 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/L4.dml @@ -0,0 +1,7 @@ +skies/L4/L4_FR.png +skies/L4/L4_RT.png +skies/L4/L4_BK.png +skies/L4/L4_LF.png +skies/L4/L4_UP.png +skies/L4/L4_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Magellan.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Magellan.dml new file mode 100644 index 00000000..85704f60 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Magellan.dml @@ -0,0 +1,9 @@ +skies/Magellan/WinterBlue_v5_FR +skies/Magellan/WinterBlue_v5_RT +skies/Magellan/WinterBlue_v5_BK +skies/Magellan/WinterBlue_v5_LF +skies/Magellan/WinterBlue_v5_UP +skies/Magellan/WinterBlue_v5_DN +desert/skies/desert_brown_emap + + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Malig_sky.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Malig_sky.dml new file mode 100644 index 00000000..c2718638 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Malig_sky.dml @@ -0,0 +1,9 @@ +skies/sal/Malig_v1_FR +skies/sal/Malig_v1_RT +skies/sal/Malig_v1_BK +skies/sal/Malig_v1_LF +skies/sal/Malig_v1_UP +skies/sal/Malig_v1_DN +desert/skies/desert_brown_emap + + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/NefRed1.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/NefRed1.dml new file mode 100644 index 00000000..5a52bd57 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/NefRed1.dml @@ -0,0 +1,9 @@ +skies/nefred1/red1_FR.png +skies/nefred1/red1_RT.png +skies/nefred1/red1_BK.png +skies/nefred1/red1_LF.png +skies/nefred1/red1_UP.png +skies/nefred1/red1_DN.png +skies/nefred1/lush_day_emap +skies/nefred1/red1_CLOUD1.png + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Nef_Sset2.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Nef_Sset2.dml new file mode 100644 index 00000000..c3eebfcc --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Nef_Sset2.dml @@ -0,0 +1,7 @@ +skies/Nef_Sset2/Nef_Sset2_FR.png +skies/Nef_Sset2/Nef_Sset2_RT.png +skies/Nef_Sset2/Nef_Sset2_BK.png +skies/Nef_Sset2/Nef_Sset2_LF.png +skies/Nef_Sset2/Nef_Sset2_UP.png +skies/Nef_Sset2/ef_Sset2_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/PacificSky.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/PacificSky.dml new file mode 100644 index 00000000..f38e73ab --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/PacificSky.dml @@ -0,0 +1,7 @@ +skies/PacificSky/PacificSky_FR +skies/PacificSky/PacificSky_RT +skies/PacificSky/PacificSky_BK +skies/PacificSky/PacificSky_LF +skies/PacificSky/PacificSky_UP +skies/PacificSky/PacificSky_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/PlanetX.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/PlanetX.dml new file mode 100644 index 00000000..460907d3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/PlanetX.dml @@ -0,0 +1,7 @@ +skies/PlanetX/PlanetX_FR +skies/PlanetX/PlanetX_RT +skies/PlanetX/PlanetX_BK +skies/PlanetX/PlanetX_LF +skies/PlanetX/PlanetX_UP +skies/PlanetX/PlanetX_DN +lava/skies/volcanic_starrynite_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Sami_D.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Sami_D.png new file mode 100644 index 00000000..350bd110 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Sami_D.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/SantaHat_D.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/SantaHat_D.png new file mode 100644 index 00000000..cf53c439 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/SantaHat_D.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Saturn.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Saturn.dml new file mode 100644 index 00000000..ecb1ecf5 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Saturn.dml @@ -0,0 +1,7 @@ +skies/Saturn/Saturn_FR.png +skies/Saturn/Saturn_RT.png +skies/Saturn/Saturn_BK.png +skies/Saturn/Saturn_LF.png +skies/Saturn/Saturn_UP.png +skies/Saturn/Saturn_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/SunSet12.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/SunSet12.dml new file mode 100644 index 00000000..c6ca03e3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/SunSet12.dml @@ -0,0 +1,7 @@ +skies/SunSet12/SunSet12_FR +skies/SunSet12/SunSet12_RT +skies/SunSet12/SunSet12_BK +skies/SunSet12/SunSet12_LF +skies/SunSet12/SunSet12_UP +skies/SunSet12/SunSet12_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Sundown25.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Sundown25.dml new file mode 100644 index 00000000..13139536 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Sundown25.dml @@ -0,0 +1,7 @@ +skies/Sundown25/Sundown25_FR +skies/Sundown25/Sundown25_RT +skies/Sundown25/Sundown25_BK +skies/Sundown25/Sundown25_LF +skies/Sundown25/Sundown25_UP +skies/Sundown25/Sundown25_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Taco_D.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Taco_D.png new file mode 100644 index 00000000..25dc8c7f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/Taco_D.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/aurawisp.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/aurawisp.dml new file mode 100644 index 00000000..74df699b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/aurawisp.dml @@ -0,0 +1,7 @@ +skies/aurawisp/AURAWISP_FR.png +skies/aurawisp/AURAWISP_RT.png +skies/aurawisp/AURAWISP_BK.png +skies/aurawisp/AURAWISP_LF.png +skies/aurawisp/AURAWISP_UP.png +skies/aurawisp/AURAWISP_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlandday.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlandday.dml new file mode 100644 index 00000000..2f407f6a --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlandday.dml @@ -0,0 +1,7 @@ +skies/badlandday/badlandday_FR.png +skies/badlandday/badlandday_RT.png +skies/badlandday/badlandday_BK.png +skies/badlandday/badlandday_LF.png +skies/badlandday/badlandday_UP.png +skies/badlandday/badlandday_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal20.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal20.png new file mode 100644 index 00000000..24a2b016 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal20.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal21.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal21.png new file mode 100644 index 00000000..51cdcc72 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal21.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal22.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal22.png new file mode 100644 index 00000000..f446508e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/badlands/iwal22.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/borealis.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/borealis.dml new file mode 100644 index 00000000..3a0d7d94 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/borealis.dml @@ -0,0 +1,7 @@ +skies/borealis/borealis_FR.png +skies/borealis/borealis_RT.png +skies/borealis/borealis_BK.png +skies/borealis/borealis_LF.png +skies/borealis/borealis_UP.png +skies/borealis/borealis_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ccbsky2.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ccbsky2.dml new file mode 100644 index 00000000..057a23f5 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ccbsky2.dml @@ -0,0 +1,7 @@ +skies/ccbsky2/csk2_FR +skies/ccbsky2/csk2_RT +skies/ccbsky2/csk2_BK +skies/ccbsky2/csk2_LF +skies/ccbsky2/csk2_UP +skies/ccbsky2/csk2_DN +lava/skies/volcanic_starrynite_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/clouds.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/clouds.dml new file mode 100644 index 00000000..71fdf08a --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/clouds.dml @@ -0,0 +1,7 @@ +skies/clouds/clouds_FR +skies/clouds/clouds_RT +skies/clouds/clouds_BK +skies/clouds/clouds_LF +skies/clouds/clouds_UP +skies/clouds/clouds_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/cubemap.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/cubemap.dml new file mode 100644 index 00000000..fe012233 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/cubemap.dml @@ -0,0 +1,7 @@ +skies/cubemap/cubemap_FR +skies/cubemap/cubemap_RT +skies/cubemap/cubemap_BK +skies/cubemap/cubemap_LF +skies/cubemap/cubemap_UP +skies/cubemap/cubemap_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2020.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2020.png new file mode 100644 index 00000000..448f8644 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2020.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2021.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2021.png new file mode 100644 index 00000000..80d0c271 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2021.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2022.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2022.png new file mode 100644 index 00000000..6cc93e4e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/desert/iwal2022.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/details/PlanetX_CB1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/details/PlanetX_CB1.png new file mode 100644 index 00000000..157e7ad2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/details/PlanetX_CB1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/4circle_lite.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/4circle_lite.png new file mode 100644 index 00000000..d76a3f3a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/4circle_lite.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/antigrav.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/antigrav.png new file mode 100644 index 00000000..e13eec1d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/antigrav.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim1.png new file mode 100644 index 00000000..e6faeb71 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim2.png new file mode 100644 index 00000000..237d9ebc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim3.png new file mode 100644 index 00000000..5e914968 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/bluetrim3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/carinternalwall.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/carinternalwall.png new file mode 100644 index 00000000..1d4b5852 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/carinternalwall.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/carrierwall4.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/carrierwall4.png new file mode 100644 index 00000000..f2f7412f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/carrierwall4.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/doorlogo2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/doorlogo2.png new file mode 100644 index 00000000..42edb0cb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/doorlogo2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_etechbor01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_etechbor01.png new file mode 100644 index 00000000..70b360ed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_etechbor01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_etechbrdr2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_etechbrdr2.png new file mode 100644 index 00000000..01ec5139 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_etechbrdr2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ewall06.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ewall06.png new file mode 100644 index 00000000..1b883fa4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ewall06.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ewall07.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ewall07.png new file mode 100644 index 00000000..c0d3a0fb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ewall07.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_genfloor.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_genfloor.png new file mode 100644 index 00000000..6873aef4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_genfloor.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_genwall.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_genwall.png new file mode 100644 index 00000000..a8ff99f1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_genwall.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ilig04.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ilig04.png new file mode 100644 index 00000000..28cb2ba4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_ilig04.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_iwal01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_iwal01.png new file mode 100644 index 00000000..7682fae5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/ds_iwal01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/grate1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/grate1.png new file mode 100644 index 00000000..c4282184 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/grate1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/grate2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/grate2.png new file mode 100644 index 00000000..8b8d3729 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/grate2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/hangar_indoor1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/hangar_indoor1.png new file mode 100644 index 00000000..2ae43666 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/hangar_indoor1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/hangar_indoor3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/hangar_indoor3.png new file mode 100644 index 00000000..e289d8f2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/hangar_indoor3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/light_cold3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/light_cold3.png new file mode 100644 index 00000000..1d3adfb4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/light_cold3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/light_small2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/light_small2.png new file mode 100644 index 00000000..bd050cd3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/light_small2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/redstripe2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/redstripe2.png new file mode 100644 index 00000000..af59b5d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/redstripe2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_smalllite.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_smalllite.png new file mode 100644 index 00000000..ccece168 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_smalllite.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite.png new file mode 100644 index 00000000..73f1d6f9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite3.png new file mode 100644 index 00000000..cb6a6110 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite4.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite4.png new file mode 100644 index 00000000..bfd53aa8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite4.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite5.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite5.png new file mode 100644 index 00000000..21fa3178 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rock_wall_lite5.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/roofbeam.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/roofbeam.png new file mode 100644 index 00000000..33cdf4c9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/roofbeam.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rway_middle.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rway_middle.png new file mode 100644 index 00000000..1beb429f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/rway_middle.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/sboxlogotop.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/sboxlogotop.png new file mode 100644 index 00000000..84dfbc00 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/sboxlogotop.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/slabgrill.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/slabgrill.png new file mode 100644 index 00000000..d2779f6b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/slabgrill.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/stripe2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/stripe2.png new file mode 100644 index 00000000..eee9ac6d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/stripe2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/striplite2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/striplite2.png new file mode 100644 index 00000000..c0915b32 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/striplite2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/striplite3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/striplite3.png new file mode 100644 index 00000000..cf20064f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/striplite3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/wall_2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/wall_2.png new file mode 100644 index 00000000..4da28398 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/wall_2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/wall_3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/wall_3.png new file mode 100644 index 00000000..eba3fc3c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/wall_3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/white_striplite.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/white_striplite.png new file mode 100644 index 00000000..24b9082a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/dox_textures/white_striplite.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eedessert.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eedessert.dml new file mode 100644 index 00000000..4c1795bf --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eedessert.dml @@ -0,0 +1,18 @@ +skies/eeps/eepdesert_FR +skies/eeps/eepdesert_RT +skies/eeps/eepdesert_BK +skies/eeps/eepdesert_LF +skies/eeps/eepdesert_UP +ice/skies/dark_bottom +ice/skies/ice_nite_emap +ice/skies/icecloud2 +ice/skies/icecloud3 + + + + + + + + + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve1.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve1.dml new file mode 100644 index 00000000..511e3a73 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve1.dml @@ -0,0 +1,7 @@ +skies/eve/eve1ft.png +skies/eve/eve1rt.png +skies/eve/eve1bk.png +skies/eve/eve1lf.png +skies/eve/eve1up.png +skies/eve/eve1dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve2.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve2.dml new file mode 100644 index 00000000..98d7cae4 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve2.dml @@ -0,0 +1,7 @@ +skies/eve/eve2ft.png +skies/eve/eve2rt.png +skies/eve/eve2bk.png +skies/eve/eve2lf.png +skies/eve/eve2up.png +skies/eve/eve2dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve3.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve3.dml new file mode 100644 index 00000000..36f394f0 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve3.dml @@ -0,0 +1,7 @@ +skies/eve/eve3ft.png +skies/eve/eve3rt.png +skies/eve/eve3bk.png +skies/eve/eve3lf.png +skies/eve/eve3up.png +skies/eve/eve3dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve4.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve4.dml new file mode 100644 index 00000000..501b4dcb --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve4.dml @@ -0,0 +1,7 @@ +skies/eve/eve4ft.png +skies/eve/eve4rt.png +skies/eve/eve4bk.png +skies/eve/eve4lf.png +skies/eve/eve4up.png +skies/eve/eve4dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve5.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve5.dml new file mode 100644 index 00000000..66fdeb97 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve5.dml @@ -0,0 +1,7 @@ +skies/eve/eve5ft.png +skies/eve/eve5rt.png +skies/eve/eve5bk.png +skies/eve/eve5lf.png +skies/eve/eve5up.png +skies/eve/eve5dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve6.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve6.dml new file mode 100644 index 00000000..d74c9a37 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve6.dml @@ -0,0 +1,7 @@ +skies/eve/eve6ft.png +skies/eve/eve6rt.png +skies/eve/eve6bk.png +skies/eve/eve6lf.png +skies/eve/eve6up.png +skies/eve/eve6dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve7.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve7.dml new file mode 100644 index 00000000..eeeed7fd --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve7.dml @@ -0,0 +1,7 @@ +skies/eve/eve7ft.png +skies/eve/eve7rt.png +skies/eve/eve7bk.png +skies/eve/eve7lf.png +skies/eve/eve7up.png +skies/eve/eve7dn.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve8.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve8.dml new file mode 100644 index 00000000..af565971 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/eve8.dml @@ -0,0 +1,7 @@ +skies/eve/eve8ft.png +skies/eve/eve8rt.png +skies/eve/eve8bk.png +skies/eve/eve8lf.png +skies/eve/eve8up.png +skies/eve/eve8dn.png +badlands/skies/bd_day_cloud_emap \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/flingsky03.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/flingsky03.dml new file mode 100644 index 00000000..912c0c7e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/flingsky03.dml @@ -0,0 +1,7 @@ +skies/flingsky03/flingsky03_FR.png +skies/flingsky03/flingsky03_RT.png +skies/flingsky03/flingsky03_BK.png +skies/flingsky03/flingsky03_LF.png +skies/flingsky03/flingsky03_UP.png +skies/flingsky03/flingsky03_DN.png +skies/flingsky03/emap_muddy \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Agroleon.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Agroleon.png new file mode 100644 index 00000000..4dba26c3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Agroleon.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Astro.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Astro.png new file mode 100644 index 00000000..190fd7d3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Astro.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_BastardForge.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_BastardForge.png new file mode 100644 index 00000000..a8d3f4e3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_BastardForge.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_BitterGorge.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_BitterGorge.png new file mode 100644 index 00000000..6489d505 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_BitterGorge.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Bunkered.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Bunkered.png new file mode 100644 index 00000000..bdc09cd4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Bunkered.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Cinerarium.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Cinerarium.png new file mode 100644 index 00000000..93bdb453 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Cinerarium.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_DermCity.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_DermCity.png new file mode 100644 index 00000000..027857e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_DermCity.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Embers.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Embers.png new file mode 100644 index 00000000..12af7ebc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Embers.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_EmeraldSpit.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_EmeraldSpit.png new file mode 100644 index 00000000..f56f08f5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_EmeraldSpit.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_FaceCrossing.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_FaceCrossing.png new file mode 100644 index 00000000..441878a9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_FaceCrossing.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Hoth.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Hoth.png new file mode 100644 index 00000000..7a60eab8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Hoth.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_IceGiant.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_IceGiant.png new file mode 100644 index 00000000..fdd1aa4f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_IceGiant.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_IsleDeBatalla.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_IsleDeBatalla.png new file mode 100644 index 00000000..8e96f304 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_IsleDeBatalla.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_LavaGods.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_LavaGods.png new file mode 100644 index 00000000..37c6a429 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_LavaGods.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Magellan.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Magellan.png new file mode 100644 index 00000000..0b66d230 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Magellan.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_MoonDance.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_MoonDance.png new file mode 100644 index 00000000..40080435 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_MoonDance.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Pantheon.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Pantheon.png new file mode 100644 index 00000000..aea1a52b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Pantheon.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Paranoia.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Paranoia.png new file mode 100644 index 00000000..eee59b68 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Paranoia.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Pariah.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Pariah.png new file mode 100644 index 00000000..fb9e74a3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Pariah.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_PipeDream.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_PipeDream.png new file mode 100644 index 00000000..0f871788 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_PipeDream.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_RavineV.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_RavineV.png new file mode 100644 index 00000000..0491e03a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_RavineV.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_ScorchedEarth.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_ScorchedEarth.png new file mode 100644 index 00000000..bd9c2667 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_ScorchedEarth.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_SimpleFlagArena.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_SimpleFlagArena.png new file mode 100644 index 00000000..10f06c17 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_SimpleFlagArena.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_SpinCycle.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_SpinCycle.png new file mode 100644 index 00000000..36b5b0aa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_SpinCycle.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_StarFall.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_StarFall.png new file mode 100644 index 00000000..6dc5e747 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_StarFall.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Tyre.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Tyre.png new file mode 100644 index 00000000..92d785fb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Tyre.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Wasteland.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Wasteland.png new file mode 100644 index 00000000..37fc8caf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/gui/Load_DMP_Wasteland.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/haloday.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/haloday.dml new file mode 100644 index 00000000..d43d0f4f --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/haloday.dml @@ -0,0 +1,7 @@ +skies/haloday/haloday_FR.png +skies/haloday/haloday_RT.png +skies/haloday/haloday_BK.png +skies/haloday/haloday_LF.png +skies/haloday/haloday_UP.png +skies/haloday/haloday_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/halonite.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/halonite.dml new file mode 100644 index 00000000..5629e64d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/halonite.dml @@ -0,0 +1,7 @@ +skies/halonite/halonite_FR.png +skies/halonite/halonite_RT.png +skies/halonite/halonite_BK.png +skies/halonite/halonite_LF.png +skies/halonite/halonite_UP.png +skies/halonite/halonite_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/harvest.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/harvest.dml new file mode 100644 index 00000000..ad29eb2c --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/harvest.dml @@ -0,0 +1,7 @@ +skies/harvest/harvest_FR.png +skies/harvest/harvest_RT.png +skies/harvest/harvest_BK.png +skies/harvest/harvest_LF.png +skies/harvest/harvest_UP.png +skies/harvest/harvest_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2020.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2020.png new file mode 100644 index 00000000..69eea4ed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2020.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2021.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2021.png new file mode 100644 index 00000000..a7a38e43 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2021.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2022.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2022.png new file mode 100644 index 00000000..89d5d1d2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/ice/icewall2022.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_FrozenHope.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_FrozenHope.dml new file mode 100644 index 00000000..7500eb6b --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_FrozenHope.dml @@ -0,0 +1,7 @@ +skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png +skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png +skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png +skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png +skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png +skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_night13.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_night13.dml new file mode 100644 index 00000000..d2cacb28 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_night13.dml @@ -0,0 +1,7 @@ +skies/inf_butch_night13/inf_butch_night13_FR.png +skies/inf_butch_night13/inf_butch_night13_RT.png +skies/inf_butch_night13/inf_butch_night13_BK.png +skies/inf_butch_night13/inf_butch_night13_LF.png +skies/inf_butch_night13/inf_butch_night13_UP.png +skies/inf_butch_night13/inf_butch_night13_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_nov50.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_nov50.dml new file mode 100644 index 00000000..09383e40 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butch_nov50.dml @@ -0,0 +1,7 @@ +skies/inf_butch_nov50/inf_butch_nov50_FR.png +skies/inf_butch_nov50/inf_butch_nov50_RT.png +skies/inf_butch_nov50/inf_butch_nov50_BK.png +skies/inf_butch_nov50/inf_butch_nov50_LF.png +skies/inf_butch_nov50/inf_butch_nov50_UP.png +skies/inf_butch_nov50/inf_butch_nov50_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butchlava51.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butchlava51.dml new file mode 100644 index 00000000..e5bb660e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/inf_butchlava51.dml @@ -0,0 +1,7 @@ +skies/inf_butchlava51/inf_butchlava51_FR.png +skies/inf_butchlava51/inf_butchlava51_RT.png +skies/inf_butchlava51/inf_butchlava51_BK.png +skies/inf_butchlava51/inf_butchlava51_LF.png +skies/inf_butchlava51/inf_butchlava51_UP.png +skies/inf_butchlava51/inf_butchlava51_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/jagged.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/jagged.dml new file mode 100644 index 00000000..d94a2166 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/jagged.dml @@ -0,0 +1,7 @@ +skies/jagged/chateau_ft.png +skies/jagged/chateau_rt.png +skies/jagged/chateau_bk.png +skies/jagged/chateau_lf.png +skies/jagged/chateau_up.png +skies/jagged/chateau_dn.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/kif_lava_starrynight62.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/kif_lava_starrynight62.dml new file mode 100644 index 00000000..734f6c33 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/kif_lava_starrynight62.dml @@ -0,0 +1,16 @@ +skies/kif_lava_starrynight62/kif_lava_starrynight62_FR +skies/kif_lava_starrynight62/kif_lava_starrynight62_RT +skies/kif_lava_starrynight62/kif_lava_starrynight62_BK +skies/kif_lava_starrynight62/kif_lava_starrynight62_LF +skies/kif_lava_starrynight62/kif_lava_starrynight62_UP +skies/kif_lava_starrynight62/kif_lava_starrynight62_DN +skies/volcanic_starrynite_emap + + + + + + + + + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/kif_lushsunset.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/kif_lushsunset.dml new file mode 100644 index 00000000..3d7fcb57 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/kif_lushsunset.dml @@ -0,0 +1,16 @@ +skies/kif_lushsunset/kif_lushsunset_FR +skies/kif_lushsunset/kif_lushsunset_RT +skies/kif_lushsunset/kif_lushsunset_BK +skies/kif_lushsunset/kif_lushsunset_LF +skies/kif_lushsunset/kif_lushsunset_UP +skies/kif_lushsunset/kif_lushsunset_DN +skies/lush_day_emap + + + + + + + + + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy1.png new file mode 100644 index 00000000..47d74951 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy2.png new file mode 100644 index 00000000..4a364bae Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy3.png new file mode 100644 index 00000000..29fc62f3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy4.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy4.png new file mode 100644 index 00000000..88bb073b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy4.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy5.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy5.png new file mode 100644 index 00000000..224a7779 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy5.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy6.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy6.png new file mode 100644 index 00000000..75c6e47e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy6.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy7.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy7.png new file mode 100644 index 00000000..bc03f9c8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy7.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy8.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy8.png new file mode 100644 index 00000000..dad416e9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy8.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy9.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy9.png new file mode 100644 index 00000000..efa7933f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboy9.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb10.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb10.png new file mode 100644 index 00000000..63004ca3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb10.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb11.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb11.png new file mode 100644 index 00000000..9fc8105d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb11.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb12.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb12.png new file mode 100644 index 00000000..6f84d07d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb12.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb13.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb13.png new file mode 100644 index 00000000..1c7f236b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/Tma5t_Cowboyb13.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/bd_iflo03b.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/bd_iflo03b.png new file mode 100644 index 00000000..3d76f023 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/bd_iflo03b.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/be_icei01a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/be_icei01a.png new file mode 100644 index 00000000..a408d4e1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/be_icei01a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_Thresh1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_Thresh1.png new file mode 100644 index 00000000..8c6a336f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_Thresh1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ebor01b.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ebor01b.png new file mode 100644 index 00000000..b3272471 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ebor01b.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ebor02.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ebor02.png new file mode 100644 index 00000000..8b04e0d7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ebor02.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_eflor1.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_eflor1.PNG new file mode 100644 index 00000000..725b0474 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_eflor1.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_elig0202.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_elig0202.png new file mode 100644 index 00000000..bcab3a21 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_elig0202.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_eport01e.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_eport01e.png new file mode 100644 index 00000000..3c72ca79 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_eport01e.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_etran1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_etran1.png new file mode 100644 index 00000000..43801258 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_etran1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal02a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal02a.png new file mode 100644 index 00000000..19b72fd7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal02a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal05d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal05d.png new file mode 100644 index 00000000..f9bbfaab Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal05d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal11a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal11a.png new file mode 100644 index 00000000..0ae1ac23 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewal11a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewall06a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewall06a.png new file mode 100644 index 00000000..3355a659 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewall06a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewall1a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewall1a.png new file mode 100644 index 00000000..a19b0663 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ewall1a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_icei05.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_icei05.png new file mode 100644 index 00000000..2fdfbaed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_icei05.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iceilig1.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iceilig1.PNG new file mode 100644 index 00000000..de051abe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iceilig1.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ifloor01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ifloor01.png new file mode 100644 index 00000000..4b6f76d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ifloor01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ihalig.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ihalig.PNG new file mode 100644 index 00000000..edd94f5a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_ihalig.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iwal01a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iwal01a.png new file mode 100644 index 00000000..5fd31dfb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iwal01a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iwal01aa.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iwal01aa.png new file mode 100644 index 00000000..d62fe679 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_iwal01aa.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_twall_001.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_twall_001.png new file mode 100644 index 00000000..5048016c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_twall_001.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_waldeco1.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_waldeco1.PNG new file mode 100644 index 00000000..1a9e2b12 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/ds_waldeco1.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/inf_light011.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/inf_light011.png new file mode 100644 index 00000000..56ed733f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/inf_light011.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/inf_light09.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/inf_light09.png new file mode 100644 index 00000000..7750f125 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/inf_light09.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall20.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall20.png new file mode 100644 index 00000000..56547f20 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall20.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall21.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall21.png new file mode 100644 index 00000000..b5953239 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall21.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall22.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall22.png new file mode 100644 index 00000000..cd76068e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/lavawall22.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/sw_floorgrate.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/sw_floorgrate.png new file mode 100644 index 00000000..14bcf226 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lava/sw_floorgrate.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lavanight_v5.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lavanight_v5.dml new file mode 100644 index 00000000..b72b0fff --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lavanight_v5.dml @@ -0,0 +1,7 @@ +skies/lavanight_v5/lavanight_v5_FR.png +skies/lavanight_v5/lavanight_v5_RT.png +skies/lavanight_v5/lavanight_v5_BK.png +skies/lavanight_v5/lavanight_v5_LF.png +skies/lavanight_v5/lavanight_v5_UP.png +skies/lavanight_v5/lavanight_v5_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/BloodMoon_bloodwater2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/BloodMoon_bloodwater2.png new file mode 100644 index 00000000..4d4677f7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/BloodMoon_bloodwater2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/MuddySwamp_industrial_oil.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/MuddySwamp_industrial_oil.png new file mode 100644 index 00000000..93bde695 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/MuddySwamp_industrial_oil.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/PlanetX_CB_water.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/PlanetX_CB_water.png new file mode 100644 index 00000000..8fe8bc75 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/PlanetX_CB_water.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/SewageWater.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/SewageWater.png new file mode 100644 index 00000000..35ffea3d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/SewageWater.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/caustic_water.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/caustic_water.png new file mode 100644 index 00000000..15d0381e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/caustic_water.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/industrial_oil.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/industrial_oil.png new file mode 100644 index 00000000..8dd8dfa3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/industrial_oil.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/tes_water2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/tes_water2.png new file mode 100644 index 00000000..6b5a5690 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/liquidtiles/tes_water2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/attrition_iflag.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/attrition_iflag.png new file mode 100644 index 00000000..c8fb0d06 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/attrition_iflag.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/attrition_sflag.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/attrition_sflag.png new file mode 100644 index 00000000..e1f42f63 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/attrition_sflag.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ebor01bb.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ebor01bb.png new file mode 100644 index 00000000..691952d0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ebor01bb.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_elig033.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_elig033.png new file mode 100644 index 00000000..6c6a2b59 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_elig033.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ewal02be.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ewal02be.png new file mode 100644 index 00000000..826dac2c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ewal02be.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ewal077.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ewal077.png new file mode 100644 index 00000000..ceef2fa4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_ewal077.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_icei01b1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_icei01b1.png new file mode 100644 index 00000000..b7cde7a2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_icei01b1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_icei01ca.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_icei01ca.png new file mode 100644 index 00000000..3c66008d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_icei01ca.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_twal05.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_twal05.png new file mode 100644 index 00000000..6690269b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/be_twal05.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal1.png new file mode 100644 index 00000000..b8e7f475 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal2.png new file mode 100644 index 00000000..d2d21482 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal3.png new file mode 100644 index 00000000..df040e51 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/beach_wal3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/display05.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/display05.png new file mode 100644 index 00000000..9ad570e9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/display05.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/display_07.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/display_07.png new file mode 100644 index 00000000..21749990 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/display_07.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/hazard.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/hazard.png new file mode 100644 index 00000000..793cb8ce Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/hazard.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/kb_logitech.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/kb_logitech.png new file mode 100644 index 00000000..119e9372 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/kb_logitech.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/light_base01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/light_base01.png new file mode 100644 index 00000000..24e17d14 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/light_base01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/panel.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/panel.png new file mode 100644 index 00000000..6a7ddf81 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/panel.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/reactor01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/reactor01.png new file mode 100644 index 00000000..7c0fbae5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/reactor01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/rip.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/rip.png new file mode 100644 index 00000000..92cd4381 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/rip.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/skull.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/skull.png new file mode 100644 index 00000000..ff9784a3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/skull.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/alien-01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/alien-01.png new file mode 100644 index 00000000..4aa7cc75 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/alien-01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display04.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display04.png new file mode 100644 index 00000000..1f3d9c4e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display04.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display05.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display05.png new file mode 100644 index 00000000..86cae99f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display05.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display06.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display06.png new file mode 100644 index 00000000..6eff759a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display06.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display07.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display07.png new file mode 100644 index 00000000..4e40e816 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display07.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display08.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display08.png new file mode 100644 index 00000000..26b1ad81 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display08.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display10.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display10.png new file mode 100644 index 00000000..089ce42e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/display10.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot01.png new file mode 100644 index 00000000..7ca0d4ef Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot02.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot02.png new file mode 100644 index 00000000..e551b15e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot02.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot03.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot03.png new file mode 100644 index 00000000..3c2b94bf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot03.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot04.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot04.png new file mode 100644 index 00000000..56b8e089 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot04.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot05.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot05.png new file mode 100644 index 00000000..879a3f1e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot05.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot06.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot06.png new file mode 100644 index 00000000..6a11d5f9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot06.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot07.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot07.png new file mode 100644 index 00000000..014b0c58 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot07.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot08.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot08.png new file mode 100644 index 00000000..3a86dd27 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot08.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot09.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot09.png new file mode 100644 index 00000000..8ddc4388 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot09.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot11.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot11.png new file mode 100644 index 00000000..c5de078c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/special/shot11.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/trim_t01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/trim_t01.png new file mode 100644 index 00000000..f4defb2e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/trim_t01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_c02.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_c02.png new file mode 100644 index 00000000..c719800f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_c02.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_light_c01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_light_c01.png new file mode 100644 index 00000000..1b6dd9c5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_light_c01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_trim01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_trim01.png new file mode 100644 index 00000000..46d6aedb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_trim01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_w03a.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_w03a.png new file mode 100644 index 00000000..8a97053e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/wall_w03a.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/xing.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/xing.png new file mode 100644 index 00000000..47903e67 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lush/xing.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lushdusk66.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lushdusk66.dml new file mode 100644 index 00000000..c7cb9cea --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lushdusk66.dml @@ -0,0 +1,7 @@ +skies/lushdusk66/lushdusk66_FR.png +skies/lushdusk66/lushdusk66_RT.png +skies/lushdusk66/lushdusk66_BK.png +skies/lushdusk66/lushdusk66_LF.png +skies/lushdusk66/lushdusk66_UP.png +skies/lushdusk66/lushdusk66_DN.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lushsky_night11.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lushsky_night11.dml new file mode 100644 index 00000000..dbfff264 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/lushsky_night11.dml @@ -0,0 +1,7 @@ +skies/lushsky_night11/lushsky_night11_FR +skies/lushsky_night11/lushsky_night11_RT +skies/lushsky_night11/lushsky_night11_BK +skies/lushsky_night11/lushsky_night11_LF +skies/lushsky_night11/lushsky_night11_UP +skies/lushsky_night11/lushsky_night11_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/mr_02.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/mr_02.dml new file mode 100644 index 00000000..4055665e --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/mr_02.dml @@ -0,0 +1,7 @@ +skies/mr_02/mr_02_FR.png +skies/mr_02/mr_02_RT.png +skies/mr_02/mr_02_BK.png +skies/mr_02/mr_02_LF.png +skies/mr_02/mr_02_UP.png +skies/mr_02/mr_02_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/nightsky82.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/nightsky82.dml new file mode 100644 index 00000000..2b17885c --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/nightsky82.dml @@ -0,0 +1,7 @@ +skies/nightsky82/nightsky82_FR +skies/nightsky82/nightsky82_RT +skies/nightsky82/nightsky82_BK +skies/nightsky82/nightsky82_LF +skies/nightsky82/nightsky82_UP +skies/nightsky82/nightsky82_DN +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/purpsun.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/purpsun.dml new file mode 100644 index 00000000..8d7be492 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/purpsun.dml @@ -0,0 +1,7 @@ +skies/purpsun/PURPSUN_FR.png +skies/purpsun/PURPSUN_RT.png +skies/purpsun/PURPSUN_BK.png +skies/purpsun/PURPSUN_LF.png +skies/purpsun/PURPSUN_UP.png +skies/purpsun/PURPSUN_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/roelcolor.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/roelcolor.dml new file mode 100644 index 00000000..d475b965 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/roelcolor.dml @@ -0,0 +1,7 @@ +skies/roelcolor/roelcolor_FR.png +skies/roelcolor/roelcolor_RT.png +skies/roelcolor/roelcolor_BK.png +skies/roelcolor/roelcolor_LF.png +skies/roelcolor/roelcolor_UP.png +skies/roelcolor/roelcolor_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_goonflag.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_goonflag.png new file mode 100644 index 00000000..fc3fb428 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_goonflag.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_taotribes.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_taotribes.png new file mode 100644 index 00000000..8bb0974e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_taotribes.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_toitle.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_toitle.png new file mode 100644 index 00000000..ff7bf9ac Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_toitle.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_tribescastcof.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_tribescastcof.png new file mode 100644 index 00000000..cdfbdfbc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_tribescastcof.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_tribesnextcof.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_tribesnextcof.png new file mode 100644 index 00000000..41cc4ab3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/rst_tribesnextcof.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_BK.png new file mode 100644 index 00000000..e6133a4f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_DN.png new file mode 100644 index 00000000..1de3603d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_FR.png new file mode 100644 index 00000000..85a28897 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_LF.png new file mode 100644 index 00000000..1e509a5a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_RT.png new file mode 100644 index 00000000..2911be06 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_UP.png new file mode 100644 index 00000000..4af24c6a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/DarkStormy/DarkStormy_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_BK.png new file mode 100644 index 00000000..9ec88e12 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_DN.png new file mode 100644 index 00000000..ef70b662 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_FR.png new file mode 100644 index 00000000..e75b4b3f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_LF.png new file mode 100644 index 00000000..4662d00b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_RT.png new file mode 100644 index 00000000..b0997c43 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_UP.png new file mode 100644 index 00000000..4871b2f3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/L4/L4_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_BK.png new file mode 100644 index 00000000..2fff59d4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_DN.png new file mode 100644 index 00000000..79054c1d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_FR.png new file mode 100644 index 00000000..9f29eed8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_LF.png new file mode 100644 index 00000000..c6351ae2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_RT.png new file mode 100644 index 00000000..8186f4ce Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_UP.png new file mode 100644 index 00000000..55f77a59 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Magellan/WinterBlue_v5_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_BK.png new file mode 100644 index 00000000..89b9d9ce Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_FR.png new file mode 100644 index 00000000..a6436f54 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_LF.png new file mode 100644 index 00000000..5f510fb5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_RT.png new file mode 100644 index 00000000..6e6767cb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_UP.png new file mode 100644 index 00000000..1a8c8aae Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Nef_Sset2/Nef_Sset2_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_BK.png new file mode 100644 index 00000000..ae5abf20 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_DN.png new file mode 100644 index 00000000..b1df57b5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_FR.png new file mode 100644 index 00000000..f0193ad5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_LF.png new file mode 100644 index 00000000..db707ff4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_RT.png new file mode 100644 index 00000000..e7812b09 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_UP.png new file mode 100644 index 00000000..730c0775 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PacificSky/PacificSky_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_BK.png new file mode 100644 index 00000000..c4212f9c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_DN.png new file mode 100644 index 00000000..0bedf652 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_FR.png new file mode 100644 index 00000000..5616d37b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_LF.png new file mode 100644 index 00000000..5c5b1f9a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_RT.png new file mode 100644 index 00000000..183a69c9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_UP.png new file mode 100644 index 00000000..0eeeda90 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_reflect.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_reflect.png new file mode 100644 index 00000000..bc82fbe5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/PlanetX/PlanetX_reflect.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_BK.png new file mode 100644 index 00000000..f68d84bc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_DN.png new file mode 100644 index 00000000..47217da4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_FR.png new file mode 100644 index 00000000..a6e1c288 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_LF.png new file mode 100644 index 00000000..a0c1e4b4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_RT.png new file mode 100644 index 00000000..7f6bafda Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_UP.png new file mode 100644 index 00000000..81ac5d16 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/Saturn/Saturn_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_BK.png new file mode 100644 index 00000000..7fbd16c3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_DN.png new file mode 100644 index 00000000..4c50becc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_FR.png new file mode 100644 index 00000000..77e2a346 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_LF.png new file mode 100644 index 00000000..d3906130 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_RT.png new file mode 100644 index 00000000..0cb1f182 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_UP.png new file mode 100644 index 00000000..7b3eb4ec Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/SunSet12/SunSet12_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_BK.png new file mode 100644 index 00000000..58fdd3cc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_DN.png new file mode 100644 index 00000000..a590e9dc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_FR.png new file mode 100644 index 00000000..10ca8799 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_LF.png new file mode 100644 index 00000000..df5aefbb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_RT.png new file mode 100644 index 00000000..4bc2ed3a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_UP.png new file mode 100644 index 00000000..f10e357b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/aurawisp/AURAWISP_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_BK.png new file mode 100644 index 00000000..038a28f9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_FR.png new file mode 100644 index 00000000..61fe881a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_LF.png new file mode 100644 index 00000000..1d1f3fa5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_RT.png new file mode 100644 index 00000000..d2e25d14 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_UP.png new file mode 100644 index 00000000..dead97d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/badlandday/badlandday_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_BK.png new file mode 100644 index 00000000..3aa6ab42 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_DN.png new file mode 100644 index 00000000..10318dc4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_FR.png new file mode 100644 index 00000000..1e7fef2f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_LF.png new file mode 100644 index 00000000..774ebee9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_RT.png new file mode 100644 index 00000000..749dea84 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_UP.png new file mode 100644 index 00000000..b430c132 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/borealis/borealis_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_BK.png new file mode 100644 index 00000000..42c2f85b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_DN.png new file mode 100644 index 00000000..63dc51fc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_FR.png new file mode 100644 index 00000000..79e5b653 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_LF.png new file mode 100644 index 00000000..8f446405 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_RT.png new file mode 100644 index 00000000..cec4032c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_UP.png new file mode 100644 index 00000000..ee1a49f1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/ccbsky2/csk2_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_BK.png new file mode 100644 index 00000000..c3e76279 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_DN.png new file mode 100644 index 00000000..557800e9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_FR.png new file mode 100644 index 00000000..eefa3ce6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_LF.png new file mode 100644 index 00000000..c3d1bd28 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_RT.png new file mode 100644 index 00000000..85095d4b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_UP.png new file mode 100644 index 00000000..dc2287d3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/clouds/clouds_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_BK.png new file mode 100644 index 00000000..4b1c82ab Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_DN.png new file mode 100644 index 00000000..637976c9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_FR.png new file mode 100644 index 00000000..1e7f4a1f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_LF.png new file mode 100644 index 00000000..61639387 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_RT.png new file mode 100644 index 00000000..8ba164d3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_UP.png new file mode 100644 index 00000000..f34aa756 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/cubemap/cubemap_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_BK.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_BK.PNG new file mode 100644 index 00000000..633b3236 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_BK.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_FR.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_FR.PNG new file mode 100644 index 00000000..06ea8db2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_FR.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_LF.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_LF.PNG new file mode 100644 index 00000000..d2d31f74 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_LF.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_RT.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_RT.PNG new file mode 100644 index 00000000..b8a50701 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_RT.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_UP.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_UP.PNG new file mode 100644 index 00000000..b9d0768e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eeps/eepdesert_UP.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1bk.png new file mode 100644 index 00000000..fd0fec7e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1dn.png new file mode 100644 index 00000000..cfe64b35 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1ft.png new file mode 100644 index 00000000..9a31d412 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1lf.png new file mode 100644 index 00000000..5f2ef349 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1rt.png new file mode 100644 index 00000000..f6bb2f0c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1up.png new file mode 100644 index 00000000..106238bd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve1up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2bk.png new file mode 100644 index 00000000..5c17f046 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2dn.png new file mode 100644 index 00000000..8bba8f84 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2ft.png new file mode 100644 index 00000000..465d288f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2lf.png new file mode 100644 index 00000000..4e4dc673 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2rt.png new file mode 100644 index 00000000..e24e8706 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2up.png new file mode 100644 index 00000000..cb51d74f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve2up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3bk.png new file mode 100644 index 00000000..2f7a38fb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3dn.png new file mode 100644 index 00000000..d844acd4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3ft.png new file mode 100644 index 00000000..a110803d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3lf.png new file mode 100644 index 00000000..6e3fdb40 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3rt.png new file mode 100644 index 00000000..226885c5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3up.png new file mode 100644 index 00000000..5c68764c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve3up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4bk.png new file mode 100644 index 00000000..e829a7af Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4dn.png new file mode 100644 index 00000000..9fd73e53 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4ft.png new file mode 100644 index 00000000..3c0f952a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4lf.png new file mode 100644 index 00000000..91120a41 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4rt.png new file mode 100644 index 00000000..5583f284 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4up.png new file mode 100644 index 00000000..0d51b3e8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve4up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5bk.png new file mode 100644 index 00000000..54e7ae9a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5dn.png new file mode 100644 index 00000000..e901b981 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5ft.png new file mode 100644 index 00000000..2602c223 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5lf.png new file mode 100644 index 00000000..a2f00d43 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5rt.png new file mode 100644 index 00000000..3ce9fa8c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5up.png new file mode 100644 index 00000000..b1fa36cc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve5up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6bk.png new file mode 100644 index 00000000..b5d5c464 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6dn.png new file mode 100644 index 00000000..1e2aae5b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6ft.png new file mode 100644 index 00000000..09547602 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6lf.png new file mode 100644 index 00000000..f5660538 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6rt.png new file mode 100644 index 00000000..12d938f1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6up.png new file mode 100644 index 00000000..265aad79 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve6up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7bk.png new file mode 100644 index 00000000..e84a5559 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7dn.png new file mode 100644 index 00000000..d0dac70e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7ft.png new file mode 100644 index 00000000..b70fff01 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7lf.png new file mode 100644 index 00000000..2dead470 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7rt.png new file mode 100644 index 00000000..9cdfdb9b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7up.png new file mode 100644 index 00000000..f529161e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve7up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8bk.png new file mode 100644 index 00000000..10fa2459 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8dn.png new file mode 100644 index 00000000..c06b1116 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8ft.png new file mode 100644 index 00000000..369bd9a3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8lf.png new file mode 100644 index 00000000..0d83c49e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8rt.png new file mode 100644 index 00000000..9cae7373 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8up.png new file mode 100644 index 00000000..79ff9cfe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/eve/eve8up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/emap_muddy.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/emap_muddy.png new file mode 100644 index 00000000..f0904c99 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/emap_muddy.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_BK.png new file mode 100644 index 00000000..a50f1c43 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_DN.png new file mode 100644 index 00000000..cffbc9e2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_FR.png new file mode 100644 index 00000000..6d324318 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_LF.png new file mode 100644 index 00000000..12fa59d8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_RT.png new file mode 100644 index 00000000..705921ec Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_UP.png new file mode 100644 index 00000000..c2f927b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/flingsky03/flingsky03_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_BK.png new file mode 100644 index 00000000..38ae5dde Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_DN.png new file mode 100644 index 00000000..742a6a35 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_FR.png new file mode 100644 index 00000000..4af6701e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_LF.png new file mode 100644 index 00000000..86856bb9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_RT.png new file mode 100644 index 00000000..0e50e877 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_UP.png new file mode 100644 index 00000000..5adfb7fa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/haloday/haloday_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_BK.png new file mode 100644 index 00000000..eac888b8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_DN.png new file mode 100644 index 00000000..3746dd8b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_FR.png new file mode 100644 index 00000000..e3967798 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_LF.png new file mode 100644 index 00000000..c58daf7b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_RT.png new file mode 100644 index 00000000..e23b808a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_UP.png new file mode 100644 index 00000000..4f98f6de Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/halonite/halonite_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_BK.png new file mode 100644 index 00000000..f9a56e7a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_DN.png new file mode 100644 index 00000000..c58f5d74 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_FR.png new file mode 100644 index 00000000..546d5bc8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_LF.png new file mode 100644 index 00000000..169d37b6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_RT.png new file mode 100644 index 00000000..5bdcb84c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_UP.png new file mode 100644 index 00000000..28952c01 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/harvest/harvest_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png new file mode 100644 index 00000000..3d92faf4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png new file mode 100644 index 00000000..34b61eee Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png new file mode 100644 index 00000000..9486b140 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png new file mode 100644 index 00000000..7693d306 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png new file mode 100644 index 00000000..4d963924 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png new file mode 100644 index 00000000..f83f12a1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_BK.png new file mode 100644 index 00000000..a460a0d6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_DN.png new file mode 100644 index 00000000..63f1434e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_FR.png new file mode 100644 index 00000000..4656fa1d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_LF.png new file mode 100644 index 00000000..ead63e64 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_RT.png new file mode 100644 index 00000000..40bc48f9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_UP.png new file mode 100644 index 00000000..f5c76edd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_night13/inf_butch_night13_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_BK.png new file mode 100644 index 00000000..35dc70f1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_DN.png new file mode 100644 index 00000000..d318407d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_FR.png new file mode 100644 index 00000000..0384c7fd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_LF.png new file mode 100644 index 00000000..b80e1b79 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_RT.png new file mode 100644 index 00000000..0313785a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_UP.png new file mode 100644 index 00000000..935a5ecf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butch_nov50/inf_butch_nov50_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_BK.png new file mode 100644 index 00000000..88da9cdc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_DN.png new file mode 100644 index 00000000..6db88737 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_FR.png new file mode 100644 index 00000000..2a6e722b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_LF.png new file mode 100644 index 00000000..fd2d0c89 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_RT.png new file mode 100644 index 00000000..15071f19 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_UP.png new file mode 100644 index 00000000..77bd1935 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/inf_butchlava51/inf_butchlava51_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_bk.png new file mode 100644 index 00000000..d3c9ab86 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_dn.png new file mode 100644 index 00000000..c2a1c4fa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_ft.png new file mode 100644 index 00000000..414542f0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_lf.png new file mode 100644 index 00000000..c05cd6d0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_rt.png new file mode 100644 index 00000000..3d8bade9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_up.png new file mode 100644 index 00000000..e815723c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/jagged/chateau_up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_BK.png new file mode 100644 index 00000000..6aae30a1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_DN.png new file mode 100644 index 00000000..8c237262 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_FR.png new file mode 100644 index 00000000..428e2544 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_LF.png new file mode 100644 index 00000000..90be0c6d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_RT.png new file mode 100644 index 00000000..c3494b78 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_UP.png new file mode 100644 index 00000000..eb0bcb4a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_BK.png new file mode 100644 index 00000000..8b871715 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_DN.png new file mode 100644 index 00000000..950f8cf4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_FR.png new file mode 100644 index 00000000..6acec5c9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_LF.png new file mode 100644 index 00000000..21a7bb85 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_RT.png new file mode 100644 index 00000000..e18503b2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_UP.png new file mode 100644 index 00000000..d0bc5c52 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/kif_lushsunset/kif_lushsunset_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_BK.png new file mode 100644 index 00000000..4d6b2ef8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_DN.png new file mode 100644 index 00000000..acc96a6f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_FR.png new file mode 100644 index 00000000..38cb5cf4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_LF.png new file mode 100644 index 00000000..6a73e31c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_RT.png new file mode 100644 index 00000000..638c8193 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_UP.png new file mode 100644 index 00000000..b8f5f091 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lavanight_v5/lavanight_v5_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_BK.png new file mode 100644 index 00000000..ce340575 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_DN.png new file mode 100644 index 00000000..a7084fd0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_FR.png new file mode 100644 index 00000000..7fdb3a8b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_LF.png new file mode 100644 index 00000000..cb55d95e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_RT.png new file mode 100644 index 00000000..a089cc65 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_UP.png new file mode 100644 index 00000000..deb3fd67 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushdusk66/lushdusk66_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/Thumbs.db b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/Thumbs.db new file mode 100644 index 00000000..b097ff46 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/Thumbs.db differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_BK.png new file mode 100644 index 00000000..7f919d2a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_DN.png new file mode 100644 index 00000000..33bd4410 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_FR.png new file mode 100644 index 00000000..93f1c156 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_LF.png new file mode 100644 index 00000000..8b75ba99 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_RT.png new file mode 100644 index 00000000..75e82069 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_UP.png new file mode 100644 index 00000000..8b9a0c6b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/lushsky_night11/lushsky_night11_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_BK.png new file mode 100644 index 00000000..389484ae Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_DN.png new file mode 100644 index 00000000..0d569665 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_FR.png new file mode 100644 index 00000000..f51d1f57 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_LF.png new file mode 100644 index 00000000..1f6a9aaf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_RT.png new file mode 100644 index 00000000..cead50c4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_UP.png new file mode 100644 index 00000000..b6a72a3a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/mr_02/mr_02_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_BK.png new file mode 100644 index 00000000..be52b6e5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_CLOUD1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_CLOUD1.png new file mode 100644 index 00000000..20a5d288 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_CLOUD1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_FR.png new file mode 100644 index 00000000..adb0c685 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_LF.png new file mode 100644 index 00000000..7e042d96 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_RT.png new file mode 100644 index 00000000..60778846 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_UP.png new file mode 100644 index 00000000..c9501ed3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nefred1/red1_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_BK.png new file mode 100644 index 00000000..21adebf7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_DN.png new file mode 100644 index 00000000..88333977 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_FR.png new file mode 100644 index 00000000..f9ab540d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_LF.png new file mode 100644 index 00000000..78ddd4b0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_RT.png new file mode 100644 index 00000000..f317e890 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_UP.png new file mode 100644 index 00000000..5ee7f097 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/nightsky82/nightsky82_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_BK.png new file mode 100644 index 00000000..0ac4a6c5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_DN.png new file mode 100644 index 00000000..ec45cd10 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_FR.png new file mode 100644 index 00000000..e9d568b0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_LF.png new file mode 100644 index 00000000..4441ceb9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_RT.png new file mode 100644 index 00000000..bcb9c235 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_UP.png new file mode 100644 index 00000000..a4d43d09 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/purpsun/PURPSUN_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_BK.png new file mode 100644 index 00000000..516ade48 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_DN.png new file mode 100644 index 00000000..c24a3097 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_FR.png new file mode 100644 index 00000000..aadf6ff3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_LF.png new file mode 100644 index 00000000..662535b2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_RT.png new file mode 100644 index 00000000..9801deb8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_UP.png new file mode 100644 index 00000000..076c29f4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/roelcolor/roelcolor_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_BK.png new file mode 100644 index 00000000..fe203028 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_DN.png new file mode 100644 index 00000000..32518131 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_FR.png new file mode 100644 index 00000000..0fcc110d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_LF.png new file mode 100644 index 00000000..a83349df Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_RT.png new file mode 100644 index 00000000..ec4db75a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_UP.png new file mode 100644 index 00000000..f2e6c344 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sal/Malig_v1_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/Cloud1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/Cloud1.png new file mode 100644 index 00000000..1dc7b280 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/Cloud1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky01_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky01_FR.png new file mode 100644 index 00000000..2404cb72 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky01_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky02_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky02_RT.png new file mode 100644 index 00000000..60e352fe Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky02_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky03_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky03_BK.png new file mode 100644 index 00000000..7058c7b8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky03_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky04_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky04_LF.png new file mode 100644 index 00000000..8f8b8f5e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky04_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky05_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky05_UP.png new file mode 100644 index 00000000..62ab62f9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky05_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky06_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky06_DN.png new file mode 100644 index 00000000..d2c2a805 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky01/sky06_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_BK.png new file mode 100644 index 00000000..22bafa8d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_DN.png new file mode 100644 index 00000000..5f73daa0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_FR.png new file mode 100644 index 00000000..c5ea026b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_LF.png new file mode 100644 index 00000000..64921e3a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_RT.png new file mode 100644 index 00000000..8a52989e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_UP.png new file mode 100644 index 00000000..431d3c0a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky121/sky121_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_BK.png new file mode 100644 index 00000000..486c4d77 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_DN.png new file mode 100644 index 00000000..8c69794e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_FR.png new file mode 100644 index 00000000..38f6cdc0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_LF.png new file mode 100644 index 00000000..439e203a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_RT.png new file mode 100644 index 00000000..6cd76714 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_UP.png new file mode 100644 index 00000000..8b7ba19f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky127/sky127_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_BK.png new file mode 100644 index 00000000..480b4216 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_DN.png new file mode 100644 index 00000000..bb49efc5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_FR.png new file mode 100644 index 00000000..03a4291a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_LF.png new file mode 100644 index 00000000..ae19b81b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_RT.png new file mode 100644 index 00000000..a754e2ac Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_UP.png new file mode 100644 index 00000000..5da8365c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sky156/sky156_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_BK.png new file mode 100644 index 00000000..94c3babb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_DN.png new file mode 100644 index 00000000..1802b887 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_FR.png new file mode 100644 index 00000000..ca4397cc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_LF.png new file mode 100644 index 00000000..af822d1b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_RT.png new file mode 100644 index 00000000..36cb03db Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_UP.png new file mode 100644 index 00000000..6d34df09 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_14/space_14_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_BK.png new file mode 100644 index 00000000..e19c3c9a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_DN.png new file mode 100644 index 00000000..a4b28121 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_FR.png new file mode 100644 index 00000000..894a34c5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_LF.png new file mode 100644 index 00000000..07e7b237 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_RT.png new file mode 100644 index 00000000..4c98271d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_UP.png new file mode 100644 index 00000000..0d9f8711 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_16/space_16_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_BK.png new file mode 100644 index 00000000..16c0ed68 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_DN.png new file mode 100644 index 00000000..68c55d82 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_FR.png new file mode 100644 index 00000000..564a777a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_LF.png new file mode 100644 index 00000000..0c8cd3b8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_RT.png new file mode 100644 index 00000000..2848431c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_UP.png new file mode 100644 index 00000000..4778d35b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_17/space_17_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_BK.png new file mode 100644 index 00000000..83ea5548 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_DN.png new file mode 100644 index 00000000..983bc52d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_FR.png new file mode 100644 index 00000000..6ff947ca Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_LF.png new file mode 100644 index 00000000..d568aa77 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_RT.png new file mode 100644 index 00000000..fb432dbf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_UP.png new file mode 100644 index 00000000..72e76944 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_18/space_18_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_BK.png new file mode 100644 index 00000000..d81148aa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_DN.png new file mode 100644 index 00000000..39dc5fbb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_FR.png new file mode 100644 index 00000000..bc8d9754 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_LF.png new file mode 100644 index 00000000..f84cb2c4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_RT.png new file mode 100644 index 00000000..4b23e285 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_UP.png new file mode 100644 index 00000000..d3bd11f7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_19/space_19_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_BK.png new file mode 100644 index 00000000..cded9a84 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_DN.png new file mode 100644 index 00000000..caedc573 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_FR.png new file mode 100644 index 00000000..59229416 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_LF.png new file mode 100644 index 00000000..caf87811 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_RT.png new file mode 100644 index 00000000..0d69fee3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_UP.png new file mode 100644 index 00000000..22babb64 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_3/space_3_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_BK.png new file mode 100644 index 00000000..d96b0bdc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_DN.png new file mode 100644 index 00000000..a1c3ca40 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_FR.png new file mode 100644 index 00000000..65fbf381 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_LF.png new file mode 100644 index 00000000..03d68a81 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_RT.png new file mode 100644 index 00000000..1b72e938 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_UP.png new file mode 100644 index 00000000..ec548097 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/space_5/space_5_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_BK.png new file mode 100644 index 00000000..ed8ef50d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_DN.png new file mode 100644 index 00000000..c710ed2a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_FR.png new file mode 100644 index 00000000..a403d56a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_LF.png new file mode 100644 index 00000000..a403d56a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_RT.png new file mode 100644 index 00000000..c2008361 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_UP.png new file mode 100644 index 00000000..7e837db5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/starrynite/starrynite_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_BK.png new file mode 100644 index 00000000..99fd6934 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_DN.png new file mode 100644 index 00000000..e06f411e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_FR.png new file mode 100644 index 00000000..e6d05d91 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_LF.png new file mode 100644 index 00000000..9d25a5aa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_RT.png new file mode 100644 index 00000000..07d06175 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_UP.png new file mode 100644 index 00000000..8209545f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sundown25/sundown25_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_BK.png new file mode 100644 index 00000000..6696ffec Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_DN.png new file mode 100644 index 00000000..36f0e9f7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_FR.png new file mode 100644 index 00000000..ce14c903 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_LF.png new file mode 100644 index 00000000..c1acbbec Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_RT.png new file mode 100644 index 00000000..d3c8f37c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_UP.png new file mode 100644 index 00000000..a7b6b1ae Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/sunnight/sunnight_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_bk.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_bk.png new file mode 100644 index 00000000..d899a340 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_bk.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_dn.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_dn.png new file mode 100644 index 00000000..75d56a5f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_dn.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_ft.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_ft.png new file mode 100644 index 00000000..e3ff83b8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_ft.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_lf.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_lf.png new file mode 100644 index 00000000..1633b241 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_lf.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_rt.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_rt.png new file mode 100644 index 00000000..51ffea4b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_rt.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_up.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_up.png new file mode 100644 index 00000000..fac9226d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/tyre/tyre_up.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_BK.png new file mode 100644 index 00000000..6cec7e28 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_DN.png new file mode 100644 index 00000000..d364d89f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_FR.png new file mode 100644 index 00000000..2064f969 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_LF.png new file mode 100644 index 00000000..195a6844 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_RT.png new file mode 100644 index 00000000..01dc389b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_UP.png new file mode 100644 index 00000000..86e2e886 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/violet/violet_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_BK.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_BK.png new file mode 100644 index 00000000..f9584483 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_BK.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_DN.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_DN.png new file mode 100644 index 00000000..97efa66d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_DN.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_FR.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_FR.png new file mode 100644 index 00000000..f7fdc7f0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_FR.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_LF.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_LF.png new file mode 100644 index 00000000..ddd1290f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_LF.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_RT.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_RT.png new file mode 100644 index 00000000..3d5c9076 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_RT.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_UP.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_UP.png new file mode 100644 index 00000000..b5b380ad Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skies/winterskyday/winterskyday_UP.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.hmale.png new file mode 100644 index 00000000..943145d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.lfemale.png new file mode 100644 index 00000000..b308673e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.lmale.png new file mode 100644 index 00000000..5cf1fe40 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.mfemale.png new file mode 100644 index 00000000..69ccfb76 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.mmale.png new file mode 100644 index 00000000..8bcc7b66 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Blue.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Branch6.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Branch6.png new file mode 100644 index 00000000..dbd93cac Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Branch6.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Branch7.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Branch7.png new file mode 100644 index 00000000..dbd93cac Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Branch7.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.hmale.png new file mode 100644 index 00000000..cf33f475 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.lfemale.png new file mode 100644 index 00000000..bf3da8ad Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.lmale.png new file mode 100644 index 00000000..0cc66cf6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.mfemale.png new file mode 100644 index 00000000..c17e72d3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.mmale.png new file mode 100644 index 00000000..12030261 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Green.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/OldwoodBran01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/OldwoodBran01.png new file mode 100644 index 00000000..771bbe34 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/OldwoodBran01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.hmale.png new file mode 100644 index 00000000..22102299 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.lfemale.png new file mode 100644 index 00000000..7fa1ad17 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.lmale.png new file mode 100644 index 00000000..de2ce690 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.mfemale.png new file mode 100644 index 00000000..eaab10fd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.mmale.png new file mode 100644 index 00000000..2734dc02 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Orange.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.hmale.png new file mode 100644 index 00000000..73bc2073 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.lfemale.png new file mode 100644 index 00000000..514d36bf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.lmale.png new file mode 100644 index 00000000..43135fb0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.mfemale.png new file mode 100644 index 00000000..63bdf237 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.mmale.png new file mode 100644 index 00000000..bd45dd55 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Purple.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.hmale.png new file mode 100644 index 00000000..9a1e0879 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.lfemale.png new file mode 100644 index 00000000..e9b07d59 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.lmale.png new file mode 100644 index 00000000..a4d8beca Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.mfemale.png new file mode 100644 index 00000000..d9752380 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.mmale.png new file mode 100644 index 00000000..41d66ccb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Red.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.hmale.png new file mode 100644 index 00000000..c7124e26 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.lfemale.png new file mode 100644 index 00000000..436b60ce Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.lmale.png new file mode 100644 index 00000000..342ed559 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.mfemale.png new file mode 100644 index 00000000..4ea21ef3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.mmale.png new file mode 100644 index 00000000..cd425a60 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Silver.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.hmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.hmale.png new file mode 100644 index 00000000..100f9c77 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.hmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.lfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.lfemale.png new file mode 100644 index 00000000..a0984149 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.lfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.lmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.lmale.png new file mode 100644 index 00000000..6388d09c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.lmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.mfemale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.mfemale.png new file mode 100644 index 00000000..b6effc81 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.mfemale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.mmale.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.mmale.png new file mode 100644 index 00000000..5f23e4a7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/Yellow.mmale.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/brsh5.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/brsh5.png new file mode 100644 index 00000000..3fa95d7a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/brsh5.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/vending01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/vending01.png new file mode 100644 index 00000000..50e7999c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/vending01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/vending02.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/vending02.png new file mode 100644 index 00000000..e11987aa Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/skins/vending02.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky01.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky01.dml new file mode 100644 index 00000000..f5e0dce2 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky01.dml @@ -0,0 +1,8 @@ +skies/sky01/sky01_FR +skies/sky01/sky02_RT +skies/sky01/sky03_BK +skies/sky01/sky04_LF +skies/sky01/sky05_UP +skies/sky01/sky06_DN +skies/lush_day_emap +skies/sky01/Cloud1 diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky121.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky121.dml new file mode 100644 index 00000000..58787359 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky121.dml @@ -0,0 +1,7 @@ +skies/sky121/sky121_FR.png +skies/sky121/sky121_RT.png +skies/sky121/sky121_BK.png +skies/sky121/sky121_LF.png +skies/sky121/sky121_UP.png +skies/sky121/sky121_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky127.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky127.dml new file mode 100644 index 00000000..1927a800 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky127.dml @@ -0,0 +1,7 @@ +skies/sky127/sky127_FR.png +skies/sky127/sky127_RT.png +skies/sky127/sky127_BK.png +skies/sky127/sky127_LF.png +skies/sky127/sky127_UP.png +skies/sky127/sky127_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky156.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky156.dml new file mode 100644 index 00000000..d305aa7c --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky156.dml @@ -0,0 +1,7 @@ +skies/sky156/sky156_FR.png +skies/sky156/sky156_RT.png +skies/sky156/sky156_BK.png +skies/sky156/sky156_LF.png +skies/sky156/sky156_UP.png +skies/sky156/sky156_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky_ice_cloak.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky_ice_cloak.dml new file mode 100644 index 00000000..b0dfdcc2 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sky_ice_cloak.dml @@ -0,0 +1,9 @@ +skies/starrynite/starrynite_FR +skies/starrynite/starrynite_RT +skies/starrynite/starrynite_BK +skies/starrynite/starrynite_LF +skies/starrynite/starrynite_UP +skies/starrynite/starrynite_DN +ice/skies/ice_nite_emap +ice/skies/icecloud1 +ice/skies/icecloud3 diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_14.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_14.dml new file mode 100644 index 00000000..100a167d --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_14.dml @@ -0,0 +1,7 @@ +skies/space_14/space_14_FR.png +skies/space_14/space_14_RT.png +skies/space_14/space_14_BK.png +skies/space_14/space_14_LF.png +skies/space_14/space_14_UP.png +skies/space_14/space_14_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_16.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_16.dml new file mode 100644 index 00000000..e4f8b3d1 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_16.dml @@ -0,0 +1,7 @@ +skies/space_16/space_16_FR.png +skies/space_16/space_16_RT.png +skies/space_16/space_16_BK.png +skies/space_16/space_16_LF.png +skies/space_16/space_16_UP.png +skies/space_16/space_16_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_17.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_17.dml new file mode 100644 index 00000000..55d80e16 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_17.dml @@ -0,0 +1,7 @@ +skies/space_17/space_17_FR.png +skies/space_17/space_17_RT.png +skies/space_17/space_17_BK.png +skies/space_17/space_17_LF.png +skies/space_17/space_17_UP.png +skies/space_17/space_17_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_18.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_18.dml new file mode 100644 index 00000000..3fc91bd8 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_18.dml @@ -0,0 +1,7 @@ +skies/space_18/space_18_FR.png +skies/space_18/space_18_RT.png +skies/space_18/space_18_BK.png +skies/space_18/space_18_LF.png +skies/space_18/space_18_UP.png +skies/space_18/space_18_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_19.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_19.dml new file mode 100644 index 00000000..db018ff5 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_19.dml @@ -0,0 +1,7 @@ +skies/space_19/space_19_FR.png +skies/space_19/space_19_RT.png +skies/space_19/space_19_BK.png +skies/space_19/space_19_LF.png +skies/space_19/space_19_UP.png +skies/space_19/space_19_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_3.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_3.dml new file mode 100644 index 00000000..d1289d98 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_3.dml @@ -0,0 +1,7 @@ +skies/space_3/space_3_FR.png +skies/space_3/space_3_RT.png +skies/space_3/space_3_BK.png +skies/space_3/space_3_LF.png +skies/space_3/space_3_UP.png +skies/space_3/space_3_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_5.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_5.dml new file mode 100644 index 00000000..b6f622bb --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/space_5.dml @@ -0,0 +1,7 @@ +skies/space_5/space_5_FR.png +skies/space_5/space_5_RT.png +skies/space_5/space_5_BK.png +skies/space_5/space_5_LF.png +skies/space_5/space_5_UP.png +skies/space_5/space_5_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/special/glass.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/special/glass.PNG new file mode 100644 index 00000000..31367829 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/special/glass.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/starrynite.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/starrynite.dml new file mode 100644 index 00000000..1778dbd3 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/starrynite.dml @@ -0,0 +1,8 @@ +skies/starrynite/starrynite_FR.png +skies/starrynite/starrynite_RT.png +skies/starrynite/starrynite_BK.png +skies/starrynite/starrynite_LF.png +skies/starrynite/starrynite_UP.png +skies/starrynite/starrynite_DN.png +skies/starrynite/lush_day_emap + diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sunnight.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sunnight.dml new file mode 100644 index 00000000..e5dc5fb9 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/sunnight.dml @@ -0,0 +1,7 @@ +skies/sunnight/sunnight_FR.png +skies/sunnight/sunnight_RT.png +skies/sunnight/sunnight_BK.png +skies/sunnight/sunnight_LF.png +skies/sunnight/sunnight_UP.png +skies/sunnight/sunnight_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/taco/taco.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/taco/taco.png new file mode 100644 index 00000000..9588705e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/taco/taco.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.GrassLight.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.GrassLight.png new file mode 100644 index 00000000..80859a27 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.GrassLight.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.GrassMixed.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.GrassMixed.png new file mode 100644 index 00000000..d08604b1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.GrassMixed.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.RockMossy.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.RockMossy.png new file mode 100644 index 00000000..cf372765 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.RockMossy.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.RockSmooth.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.RockSmooth.png new file mode 100644 index 00000000..87e0821c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Bleed.RockSmooth.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CB1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CB1.png new file mode 100644 index 00000000..bd418722 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CB1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CB2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CB2.png new file mode 100644 index 00000000..9ac946b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CB2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CBgravel.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CBgravel.png new file mode 100644 index 00000000..5fadc804 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CBgravel.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CBtrails.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CBtrails.png new file mode 100644 index 00000000..5f20ef77 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/CBtrails.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Eep.MoonDirt.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Eep.MoonDirt.PNG new file mode 100644 index 00000000..e790a270 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Eep.MoonDirt.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Eep.MoonDirtDark.PNG b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Eep.MoonDirtDark.PNG new file mode 100644 index 00000000..09f27630 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Eep.MoonDirtDark.PNG differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_BeachBlitzSE_lushworld.beachsand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_BeachBlitzSE_lushworld.beachsand.png new file mode 100644 index 00000000..91e6801c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_BeachBlitzSE_lushworld.beachsand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_CrownSE_lushworld.beachsand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_CrownSE_lushworld.beachsand.png new file mode 100644 index 00000000..91e6801c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_CrownSE_lushworld.beachsand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_EpicratesDeluxeSE_tropical1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_EpicratesDeluxeSE_tropical1.png new file mode 100644 index 00000000..3fb385e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_EpicratesDeluxeSE_tropical1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_EpicratesDeluxeSE_ugly2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_EpicratesDeluxeSE_ugly2.png new file mode 100644 index 00000000..1a6a8da0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_EpicratesDeluxeSE_ugly2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoGlacier.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoGlacier.png new file mode 100644 index 00000000..59a9269c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoGlacier.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoRock.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoRock.png new file mode 100644 index 00000000..5905339f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoRock.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoRock2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoRock2.png new file mode 100644 index 00000000..9e883f49 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoRock2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoSnow.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoSnow.png new file mode 100644 index 00000000..54317890 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_NeveSE_NyctoSnow.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_PuliVeivariSE_NyctoGlacier.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_PuliVeivariSE_NyctoGlacier.png new file mode 100644 index 00000000..59a9269c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/Euro4_PuliVeivariSE_NyctoGlacier.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoGlacier.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoGlacier.png new file mode 100644 index 00000000..59a9269c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoGlacier.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoRock.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoRock.png new file mode 100644 index 00000000..5905339f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoRock.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoRock2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoRock2.png new file mode 100644 index 00000000..9e883f49 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoRock2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoSnow.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoSnow.png new file mode 100644 index 00000000..54317890 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/NyctoSnow.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIgreystone10.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIgreystone10.png new file mode 100644 index 00000000..2bd6375b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIgreystone10.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIgreystone7.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIgreystone7.png new file mode 100644 index 00000000..b09d2eda Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIgreystone7.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIlava_rock.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIlava_rock.png new file mode 100644 index 00000000..73b243f6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIlava_rock.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIstone_chip.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIstone_chip.png new file mode 100644 index 00000000..b0245c82 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIstone_chip.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIsub_sand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIsub_sand.png new file mode 100644 index 00000000..bf4177c3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/TRIsub_sand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/abbbb.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/abbbb.png new file mode 100644 index 00000000..6243092a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/abbbb.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/acccc.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/acccc.png new file mode 100644 index 00000000..05fd9f22 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/acccc.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/adesert_cracks_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/adesert_cracks_d.png new file mode 100644 index 00000000..e8ea8e4b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/adesert_cracks_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/adesert_sand2_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/adesert_sand2_d.png new file mode 100644 index 00000000..3f178b62 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/adesert_sand2_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/aeee.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/aeee.png new file mode 100644 index 00000000..ee81eadc Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/aeee.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/brown_Dirt05.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/brown_Dirt05.png new file mode 100644 index 00000000..dfe05aa9 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/brown_Dirt05.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/brown_DirtRock01.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/brown_DirtRock01.png new file mode 100644 index 00000000..8ce6edf2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/brown_DirtRock01.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_alien_crackedsand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_alien_crackedsand.png new file mode 100644 index 00000000..a88b6a14 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_alien_crackedsand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_alien_sand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_alien_sand.png new file mode 100644 index 00000000..33f7302a Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_alien_sand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand1.png new file mode 100644 index 00000000..bbab1cee Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand2.png new file mode 100644 index 00000000..6e0d1015 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand3.png new file mode 100644 index 00000000..f9587090 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand4.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand4.png new file mode 100644 index 00000000..f515c819 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/cc_sand4.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/desert_cracks_s.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/desert_cracks_s.png new file mode 100644 index 00000000..3d77bc66 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/desert_cracks_s.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/desert_sand_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/desert_sand_d.png new file mode 100644 index 00000000..c5146ea4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/desert_sand_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/grass_autumn_red_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/grass_autumn_red_d.png new file mode 100644 index 00000000..9badcc0b Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/grass_autumn_red_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/grass_ground_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/grass_ground_d.png new file mode 100644 index 00000000..05cda9af Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/grass_ground_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/green_SnowyGrass001.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/green_SnowyGrass001.png new file mode 100644 index 00000000..936e067d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/green_SnowyGrass001.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/greenrock21.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/greenrock21.png new file mode 100644 index 00000000..15d35afd Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/greenrock21.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/infbutch_Rock02.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/infbutch_Rock02.png new file mode 100644 index 00000000..455692ed Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/infbutch_Rock02.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/island_sand2_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/island_sand2_d.png new file mode 100644 index 00000000..c677a2e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/island_sand2_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/island_sand_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/island_sand_d.png new file mode 100644 index 00000000..ea73b20c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/island_sand_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_felsen1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_felsen1.png new file mode 100644 index 00000000..960c720d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_felsen1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_felsen2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_felsen2.png new file mode 100644 index 00000000..2a012cd0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_felsen2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_grass.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_grass.png new file mode 100644 index 00000000..01cb0f8f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_grass.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schnee.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schnee.png new file mode 100644 index 00000000..b3c2d44f Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schnee.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schnee4.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schnee4.png new file mode 100644 index 00000000..4441f2a2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schnee4.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen.png new file mode 100644 index 00000000..fd2805b2 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen2.png new file mode 100644 index 00000000..e28fa4a7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen3.png new file mode 100644 index 00000000..a683d6d5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/kab_schneefelsen3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lava_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lava_d.png new file mode 100644 index 00000000..819fcb10 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lava_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lava_mars_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lava_mars_d.png new file mode 100644 index 00000000..49d75db0 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lava_mars_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lushworld.beachsand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lushworld.beachsand.png new file mode 100644 index 00000000..91e6801c Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/lushworld.beachsand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-1.png new file mode 100644 index 00000000..ca645ac5 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-2.png new file mode 100644 index 00000000..3fea068e Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-3.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-3.png new file mode 100644 index 00000000..2cc661d1 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-3.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-5.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-5.png new file mode 100644 index 00000000..d4fc413d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/mmd-5.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/moss_ground_d.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/moss_ground_d.png new file mode 100644 index 00000000..50d805ac Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/moss_ground_d.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/ril.darkrock.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/ril.darkrock.png new file mode 100644 index 00000000..41ef9dfb Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/ril.darkrock.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rilk.shingledrock.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rilk.shingledrock.png new file mode 100644 index 00000000..2c9489d6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rilk.shingledrock.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rilke.sand.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rilke.sand.png new file mode 100644 index 00000000..40951188 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rilke.sand.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rockwall.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rockwall.png new file mode 100644 index 00000000..7a9aee56 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/rockwall.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow2_s.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow2_s.png new file mode 100644 index 00000000..854be345 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow2_s.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_a0.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_a0.png new file mode 100644 index 00000000..3cfe0baf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_a0.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_a2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_a2.png new file mode 100644 index 00000000..ff44ee42 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_a2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_brownRock00.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_brownRock00.png new file mode 100644 index 00000000..5c6282d7 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_brownRock00.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_rock_5.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_rock_5.png new file mode 100644 index 00000000..013e74d4 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/snow_rock_5.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_mystery1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_mystery1.png new file mode 100644 index 00000000..2b54e02d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_mystery1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_mystery2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_mystery2.png new file mode 100644 index 00000000..ecd0ae72 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_mystery2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_test.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_test.png new file mode 100644 index 00000000..70fb854d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tes_test.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tropical1.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tropical1.png new file mode 100644 index 00000000..3fb385e6 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/tropical1.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/ugly2.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/ugly2.png new file mode 100644 index 00000000..a767dbbf Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/terrain/ugly2.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo.png new file mode 100644 index 00000000..772c01b3 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_BEthinking.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_BEthinking.png new file mode 100644 index 00000000..dd94c863 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_BEthinking.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Beer.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Beer.png new file mode 100644 index 00000000..a843b912 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Beer.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Dermfused.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Dermfused.png new file mode 100644 index 00000000..781d19f8 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Dermfused.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Spook.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Spook.png new file mode 100644 index 00000000..3db43f52 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Spook.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Turkey.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Turkey.png new file mode 100644 index 00000000..78095756 Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Turkey.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Xmas.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Xmas.png new file mode 100644 index 00000000..e20cb3be Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Xmas.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Xoxo.png b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Xoxo.png new file mode 100644 index 00000000..e8d0975d Binary files /dev/null and b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/texticons/dpub/DPUB_logo_Xoxo.png differ diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/tyre.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/tyre.dml new file mode 100644 index 00000000..6fdec431 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/tyre.dml @@ -0,0 +1,7 @@ +skies/tyre/tyre_ft.png +skies/tyre/tyre_rt.png +skies/tyre/tyre_bk.png +skies/tyre/tyre_lf.png +skies/tyre/tyre_up.png +skies/tyre/tyre_dn.png +lush/skies/lush_day_emap diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/violet.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/violet.dml new file mode 100644 index 00000000..44c89b91 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/violet.dml @@ -0,0 +1,7 @@ +skies/violet/violet_FR.png +skies/violet/violet_RT.png +skies/violet/violet_BK.png +skies/violet/violet_LF.png +skies/violet/violet_UP.png +skies/violet/violet_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/winterskyday.dml b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/winterskyday.dml new file mode 100644 index 00000000..7254c829 --- /dev/null +++ b/public/base/@vl2/zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2/textures/winterskyday.dml @@ -0,0 +1,7 @@ +skies/winterskyday/winterskyday_FR.png +skies/winterskyday/winterskyday_RT.png +skies/winterskyday/winterskyday_BK.png +skies/winterskyday/winterskyday_LF.png +skies/winterskyday/winterskyday_UP.png +skies/winterskyday/winterskyday_DN.png +lush/lush_day_emap.png \ No newline at end of file diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/energy_bolt.PNG b/public/base/@vl2/zblasterfix.vl2/textures/skins/energy_bolt.PNG new file mode 100644 index 00000000..aff3ff82 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/energy_bolt.PNG differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl00.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl00.png new file mode 100644 index 00000000..348e0a25 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl00.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl01.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl01.png new file mode 100644 index 00000000..7482e2bc Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl01.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl02.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl02.png new file mode 100644 index 00000000..3eefce59 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl02.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl03.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl03.png new file mode 100644 index 00000000..cafae1b9 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl03.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl04.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl04.png new file mode 100644 index 00000000..bc2671eb Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl04.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl05.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl05.png new file mode 100644 index 00000000..9dc3052e Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl05.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl06.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl06.png new file mode 100644 index 00000000..12323a24 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl06.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl07.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl07.png new file mode 100644 index 00000000..d4444182 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_frnt_muzl07.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl00.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl00.png new file mode 100644 index 00000000..56c5752e Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl00.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl01.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl01.png new file mode 100644 index 00000000..d1f5985c Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl01.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl02.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl02.png new file mode 100644 index 00000000..53a8e516 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl02.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl03.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl03.png new file mode 100644 index 00000000..f0c4c351 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl03.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl04.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl04.png new file mode 100644 index 00000000..db225ce1 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl04.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl05.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl05.png new file mode 100644 index 00000000..38378f05 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl05.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl06.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl06.png new file mode 100644 index 00000000..950862eb Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl06.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl07.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl07.png new file mode 100644 index 00000000..6e7a214d Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/enrg_side_muzl07.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/hvybioflare.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/hvybioflare.png new file mode 100644 index 00000000..2dd41ac6 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/hvybioflare.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/hvyjetpackflare.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/hvyjetpackflare.png new file mode 100644 index 00000000..80b8f337 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/hvyjetpackflare.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare00.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare00.png new file mode 100644 index 00000000..bcd8b616 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare00.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare01.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare01.png new file mode 100644 index 00000000..dc526a19 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare01.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare02.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare02.png new file mode 100644 index 00000000..83af93b6 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare02.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare03.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare03.png new file mode 100644 index 00000000..a1e7a8e4 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare03.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare04.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare04.png new file mode 100644 index 00000000..a1e7a8e4 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare04.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare05.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare05.png new file mode 100644 index 00000000..a1e7a8e4 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare05.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare2.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare2.png new file mode 100644 index 00000000..72f0741a Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflare2.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside00.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside00.png new file mode 100644 index 00000000..69a6f7c1 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside00.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside01.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside01.png new file mode 100644 index 00000000..d4d492cd Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside01.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside02.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside02.png new file mode 100644 index 00000000..35359789 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside02.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside03.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside03.png new file mode 100644 index 00000000..cd47ef33 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside03.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside04.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside04.png new file mode 100644 index 00000000..fdba6245 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside04.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside05.png b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside05.png new file mode 100644 index 00000000..bf42a916 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/skins/jetflareside05.png differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/special/blasterBolt.PNG b/public/base/@vl2/zblasterfix.vl2/textures/special/blasterBolt.PNG new file mode 100644 index 00000000..378d535e Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/special/blasterBolt.PNG differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/special/blasterBoltCross.PNG b/public/base/@vl2/zblasterfix.vl2/textures/special/blasterBoltCross.PNG new file mode 100644 index 00000000..08625e4a Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/special/blasterBoltCross.PNG differ diff --git a/public/base/@vl2/zblasterfix.vl2/textures/special/redflare.png b/public/base/@vl2/zblasterfix.vl2/textures/special/redflare.png new file mode 100644 index 00000000..8a0ae150 Binary files /dev/null and b/public/base/@vl2/zblasterfix.vl2/textures/special/redflare.png differ diff --git a/public/base/@vl2/zflags.vl2/flags.png b/public/base/@vl2/zflags.vl2/flags.png new file mode 100644 index 00000000..4c657df8 Binary files /dev/null and b/public/base/@vl2/zflags.vl2/flags.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/base.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/base.flag.png new file mode 100644 index 00000000..c9b89c7f Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/base.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/base.hflag.png b/public/base/@vl2/zflags.vl2/textures/skins/base.hflag.png new file mode 100644 index 00000000..c4a028cd Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/base.hflag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/baseb.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/baseb.flag.png new file mode 100644 index 00000000..b3184d94 Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/baseb.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/beagle.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/beagle.flag.png new file mode 100644 index 00000000..eb29b90e Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/beagle.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/blue.hflag.png b/public/base/@vl2/zflags.vl2/textures/skins/blue.hflag.png new file mode 100644 index 00000000..f7947a3b Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/blue.hflag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/cotp.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/cotp.flag.png new file mode 100644 index 00000000..0ac5d79e Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/cotp.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/dsword.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/dsword.flag.png new file mode 100644 index 00000000..1885d809 Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/dsword.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/flag.png b/public/base/@vl2/zflags.vl2/textures/skins/flag.png new file mode 100644 index 00000000..740ac86a Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/green.hflag.png b/public/base/@vl2/zflags.vl2/textures/skins/green.hflag.png new file mode 100644 index 00000000..75b196db Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/green.hflag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/horde.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/horde.flag.png new file mode 100644 index 00000000..e24bc9ce Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/horde.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/swolf.flag.png b/public/base/@vl2/zflags.vl2/textures/skins/swolf.flag.png new file mode 100644 index 00000000..10f567f2 Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/swolf.flag.png differ diff --git a/public/base/@vl2/zflags.vl2/textures/skins/yellow.hflag.png b/public/base/@vl2/zflags.vl2/textures/skins/yellow.hflag.png new file mode 100644 index 00000000..65f8e132 Binary files /dev/null and b/public/base/@vl2/zflags.vl2/textures/skins/yellow.hflag.png differ diff --git a/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/adminHud.cs b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/adminHud.cs new file mode 100644 index 00000000..cc7213c3 --- /dev/null +++ b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/adminHud.cs @@ -0,0 +1,358 @@ +//////////////////////////////////////////////////////////////////////////////////////// +// z0dd - ZOD: ADMIN HUD /////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function CreateAdminHud() +{ + $AdminHudId = new GuiControl(AdminHudDlg) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 137"; + extent = "320 260"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "Admin Hud"; + noTitleBar = "0"; + + // -- Drop down menu text label + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 52"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Menu:"; + }; + // -- Drop down menu + new ShellPopupMenu(AdminHudMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 44"; + extent = "225 38"; + minExtent = "49 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- OPTIONS -"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + // -- Input text field label + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 88"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Input:"; + }; + // -- Input text field + new ShellTextEditCtrl(AdminHudInput) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 80"; + extent = "225 38"; + minExtent = "32 38"; + visible = "1"; + command = "AdminHudInput.setField();"; + altCommand = "AdminHudInput.processEnter();"; + helpTag = "0"; + historySize = "0"; + maxLength = "127"; + password = "0"; + glowOffset = "9 9"; + }; + // -- Cancel button + new ShellBitmapButton(AdminHudCancelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "60 118"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "HideAdminHud();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + // -- Send button + new ShellBitmapButton(AdminHudSendBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "165 118"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "AdminHudSendBtn.adminCommand();"; + helpTag = "0"; + text = "SEND"; + simpleStyle = "0"; + }; + // -- Clan Tag drop down menu text label + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 173"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Tags:"; + }; + // -- Clan Tag drop down menu + new ShellPopupMenu(ClanTagHudMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 165"; + extent = "225 38"; + minExtent = "49 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- CLAN TAGS -"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellBitmapButton(ClanTagSendBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "60 200"; + extent = "225 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ClanTagSendBtn.sendTagCommand();"; + helpTag = "0"; + text = "CHANGE CLAN TAG"; + simpleStyle = "0"; + }; + }; + }; + ClanTagSendBtn.setActive(0); +} + +function handleActivateAdminHud() +{ + if(!$AdminHudCreated) + { + CreateAdminHud(); // Create the gui + UpdateAdminHudMenu(); // Fill the drop down menu + $AdminHudCreated = 1; // Set the flag + } +} + +addMessageCallback('MsgClientJoin', handleActivateAdminHud); + +function ShowAdminHud() +{ + canvas.pushdialog(AdminHudDlg); + //clientCmdTogglePlayHuds(false); + $AdminHudOpen = 1; +} + +function HideAdminHud() +{ + // Empty out the text input field + AdminHudInput.setValue(%empty); + + canvas.popdialog(AdminHudDlg); + $AdminHudOpen = 0; + //clientCmdTogglePlayHuds(true); +} + +function AdminHudDlg::onWake( %this ) +{ + if ( isObject( AdminHudMap ) ) + { + AdminHudMap.pop(); + AdminHudMap.delete(); + } + new ActionMap( AdminHudMap ); + AdminHudMap.blockBind( moveMap, toggleModHud ); + AdminHudMap.blockBind( moveMap, togglePracticeHud ); + AdminHudMap.blockBind( moveMap, toggleInventoryHud ); + AdminHudMap.blockBind( moveMap, toggleScoreScreen ); + AdminHudMap.blockBind( moveMap, toggleCommanderMap ); + AdminHudMap.bindCmd( keyboard, escape, "", "HideAdminHud();" ); + AdminHudMap.push(); +} + +function AdminHudDlg::onSleep( %this ) +{ + %this.callback = ""; + AdminHudMap.pop(); + AdminHudMap.delete(); +} + +function UpdateAdminHudMenu() +{ + // Populate the drop down menu with options seperated by \t (tab deliniated list). + %line1 = "Choose Option\tEnter Admin Password\tEnter Super Admin Password\tSet Join Password\tSet Admin Password\tSet Super Admin Password"; + %line2 = "\tSet Random Teams\tSet Fair Teams\tSet Max Players\tSet Auto-PW\tSet Auto-PW Password\tSet Auto-PW Count\tSend Bottomprint Message"; + %line3 = "\tSend Centerprint Message\tRemove Map From Rotation\tRestore Map To Rotation\tRemove GameType\tRestore GameType\tRestart Server\tConsole Command"; + %opt = %line1 @ %line2 @ %line3; + AdminHudMenu.hudSetValue(%opt, ""); + // Update the Clan Tag drop down menu as well + commandToServer('canGetClanTags'); +} + +function AdminHudMenu::onSelect(%this, %id, %text) +{ + // Called when an option is selected in drop down menu + $AdminMenu = %this.getValue(); +} + +function AdminHudInput::setField( %this ) +{ + // called when you type in text input field + %value = %this.getValue(); + %this.setValue( %value ); + $AdminInput = %value; + //AdminHudSendBtn.setActive( strlen( stripTrailingSpaces( %value ) ) >= 1 ); +} + +function AdminHudInput::processEnter( %this ) +{ + // Called when you press enter in text input field +} + +function AdminHudSendBtn::adminCommand( %this ) +{ + // Called when you press the send button + + // Update the global from the text input field + AdminHudInput.setField(); + + // Send the current menu selection and text to the server + switch$ ( $AdminMenu ) + { + case "Enter Admin Password": + commandToServer('SAD', $AdminInput); + + case "Enter Super Admin Password": + commandToServer('SAD', $AdminInput); + + case "Set Join Password": + commandToServer('Set', "joinpw", $AdminInput); + + case "Set Admin Password": + commandToServer('Set', "adminpw", $AdminInput); + + case "Set Super Admin Password": + commandToServer('Set', "superpw", $AdminInput); + + case "Set Random Teams": + commandToServer('Set', "random", $AdminInput); + + case "Set Fair Teams": + commandToServer('Set', "fairteams", $AdminInput); + + case "Set Max Players": + commandToServer('Set', "maxplayers", $AdminInput); + + case "Set Auto-PW": + commandToServer('AutoPWSetup', "autopw", $AdminInput); + + case "Set Auto-PW Password": + commandToServer('AutoPWSetup', "autopwpass", $AdminInput); + + case "Set Auto-PW Count": + commandToServer('AutoPWSetup', "autopwcount", $AdminInput); + + case "Send Bottomprint Message": + commandToServer('aprint', $AdminInput, true); + + case "Send Centerprint Message": + commandToServer('aprint', $AdminInput, false); + + case "Remove Map From Rotation": + commandToServer('AddMap', $AdminInput); + + case "Restore Map To Rotation": + commandToServer('RemoveMap', $AdminInput); + + case "Remove GameType": + commandToServer('AddType', $AdminInput); + + case "Restore GameType": + commandToServer('RemoveType', $AdminInput); + + case "Restart Server": + commandToServer('Set', "restart", $AdminInput); + + case "Console Command": + commandToServer('Set', "consolecmd", $AdminInput); + + default: + error("Admin Hud selected option: " @ $AdminMenu @ " input: " @ $AdminInput @ " unknown values."); + } + + // Clear the text input field and disable send button + //AdminHudSendBtn.setActive(0); + AdminHudInput.setValue(%empty); + UpdateAdminHudMenu(); + $AdminInput = ""; + $AdminMenu = ""; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Canadian, 7/19/03. Clan Tag switiching ////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function ClanTagHudMenu::onSelect(%this, %id, %text) +{ + // Called when an option is selected in drop down menu + $CanSelected = %this.getValue(); + ClanTagSendBtn.setActive(1); +} + +function ClanTagSendBtn::sendTagCommand( %this ) +{ + // Called when you press the send button + // Send the current menu selection and text to the server + commandToServer('canUpdateClanTag', $CanSelected); + $CanSelected = ""; + HideAdminHud(); +} + +function clientCmdcanDisplayTags(%tags) +{ + ClanTagHudMenu.hudSetValue(%tags, ""); +} diff --git a/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/classicPropMap.cs b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/classicPropMap.cs new file mode 100644 index 00000000..1a53ca97 --- /dev/null +++ b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/classicPropMap.cs @@ -0,0 +1,19 @@ +// terrain sound/puff properties for Classic mod maps. z0dd - ZOD, 7/20/02 + +//"Color: red green blue startAlpha endAlpha" +//Soft sound = 0 +//Hard sound = 1 +//Metal sound = 2 +//Snow sound = 3 + +addMaterialMapping("terrain/GMD.DarkRock", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 1"); +addMaterialMapping("terrain/GMD.DirtMossy", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/gmd.grassmixed", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/GMD.LightSand", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/GMD.SandBurnt", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/GMD.GrassLight", "color: 0.46 0.36 0.26 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/lushworld.lakesand", "color: 0.5 0.36 0.16 0.4 0.0", "sound: 0"); +addMaterialMapping("terrain/Eep.MoonDirt", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/Eep.MoonDirtDark", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 0"); +addMaterialMapping("terrain/ril.darkrock", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 1"); +addMaterialMapping("terrain/ril.darkrock1", "color: 0.0 0.0 0.0 0.7 0.0", "sound: 1"); diff --git a/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/clientOverloads.cs b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/clientOverloads.cs new file mode 100644 index 00000000..2499f184 --- /dev/null +++ b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/clientOverloads.cs @@ -0,0 +1,530 @@ +//////////////////////////////////////////////////////////////////////////////////////// +// z0dd - ZOD: Overloaded base function package //////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +package zzClientOverloads +{ + function clientCmdMissionStartPhase3(%seq, %missionName) + { + parent::clientCmdMissionStartPhase3(%seq, %missionName); + commandToServer('getMod'); + } + + function LobbyGui::onSleep( %this ) + { + if ( %this.playerDialogOpen ) + LobbyPlayerPopup.forceClose(); + + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = ""; + LobbyCancelBtn.setVisible( false ); + LobbyStatusText.setText( "" ); + $InLobby = false; + $PrivMsgTarget = ""; + } + + function lobbyReturnToGame() + { + Canvas.setContent( PlayGui ); + $PrivMsgTarget = ""; + } + + function LobbyChatEnter::onEscape( %this ) + { + %this.setValue( "" ); + $PrivMsgTarget = ""; + } + + function LobbyChatEnter::send( %this ) + { + %text = %this.getValue(); + if ( %text $= "" ) + %text = " "; + + if($PrivMsgTarget !$= "") + { + commandToServer('PrivateMessageSent', $PrivMsgTarget, %text); + $PrivMsgTarget = ""; + %this.setValue( "" ); + } + else + { + commandToServer( 'MessageSent', %text ); + %this.setValue( "" ); + } + } + + function OptionsDlg::onWake( %this ) + { + if(!$ClassicHudsBound) + { + $RemapName[$RemapCount] = "Toss Repair Kit"; + $RemapCmd[$RemapCount] = "tossRepairKit"; + $RemapCount++; + $RemapName[$RemapCount] = "Toss Weapon Ammo"; + $RemapCmd[$RemapCount] = "tossAmmo"; + $RemapCount++; + $RemapName[$RemapCount] = "Toss Mine"; + $RemapCmd[$RemapCount] = "tossMine"; + $RemapCount++; + $RemapName[$RemapCount] = "Toss Beacon"; + $RemapCmd[$RemapCount] = "tossBeacon"; + $RemapCount++; + $RemapName[$RemapCount] = "Toss Grenade"; + $RemapCmd[$RemapCount] = "tossGrenade"; + $RemapCount++; + $RemapName[$RemapCount] = "Max Throw Grenade"; + $RemapCmd[$RemapCount] = "throwGrenadeMax"; + $RemapCount++; + $RemapName[$RemapCount] = "Max Throw Mine"; + $RemapCmd[$RemapCount] = "throwMineMax"; + $RemapCount++; + $RemapName[$RemapCount] = "Mod Hud"; + $RemapCmd[$RemapCount] = "toggleModHud"; + $RemapCount++; + $RemapName[$RemapCount] = "Admin Hud"; + $RemapCmd[$RemapCount] = "toggleAdminHud"; + $RemapCount++; + $RemapName[$RemapCount] = "Practice Hud"; + $RemapCmd[$RemapCount] = "togglePracticeHud"; + $RemapCount++; + $ClassicHudsBound = true; + } + parent::onWake( %this ); + } + + function clientCmdSetDefaultVehicleKeys(%inVehicle) + { + Parent::clientCmdSetDefaultVehicleKeys(%inVehicle); + if(%inVehicle) + { + passengerKeys.copyBind( moveMap, toggleModHud ); + passengerKeys.copyBind( moveMap, toggleAdminHud ); + passengerKeys.copyBind( moveMap, togglePracticeHud ); + passengerKeys.copyBind( moveMap, mouseJet ); + passengerKeys.copyBind( moveMap, throwGrenadeMax ); + passengerKeys.copyBind( moveMap, throwMineMax ); + } + } + + function clientCmdSetStationKeys(%inStation) + { + Parent::clientCmdSetStationKeys(%inStation); + if ( %inStation ) + { + stationMap.blockBind( moveMap, toggleModHud ); + stationMap.blockBind( moveMap, toggleAdminHud ); + stationMap.blockBind( moveMap, togglePracticeHud ); + } + } + + function lobbyVote() + { + %id = LobbyVoteMenu.getSelectedId(); + %text = LobbyVoteMenu.getRowTextById( %id ); + switch$ ( LobbyVoteMenu.mode ) + { + case "": + switch$ ( $clVoteCmd[%id] ) + { + case "JoinGame": + CommandToServer( 'clientJoinGame' ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "ChooseTeam": + commandToServer( 'ClientJoinTeam', -1, true ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "VoteTournamentMode": + LobbyVoteMenu.tourneyChoose = 1; + fillLobbyMissionTypeMenu(); + return; + + case "VoteMatchStart": + startNewVote( "VoteMatchStart" ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "MakeObserver": + commandToServer( 'ClientMakeObserver' ); + schedule( 100, 0, lobbyReturnToGame ); + return; + + case "VoteChangeMission": + fillLobbyMissionTypeMenu(); + return; + + case "VoteChangeTimeLimit": + fillLobbyTimeLimitMenu(); + return; + + case "Addbot": + commandToServer( 'addBot' ); + return; + + case "VoteArmorClass": + fillLobbyArmorClassMenu(); + return; + + case "VoteAntiTurtleTime": + fillLobbyAntiTurtleMenu(); + return; + } + case "team": + commandToServer( 'ClientJoinTeam', %id++ ); + LobbyVoteMenu.reset(); + return; + + case "type": + fillLobbyMissionMenu( $clVoteCmd[%id], %text ); + return; + + case "mission": + if( !LobbyVoteMenu.tourneyChoose ) + { + startNewVote( "VoteChangeMission", + %text, // Mission display name + LobbyVoteMenu.typeName, // Mission type display name + $clVoteCmd[%id], // Mission id + LobbyVoteMenu.missionType ); // Mission type id + } + else + { + startNewVote( "VoteTournamentMode", + %text, // Mission display name + LobbyVoteMenu.typeName, // Mission type display name + $clVoteCmd[%id], // Mission id + LobbyVoteMenu.missionType ); // Mission type id + + LobbyVoteMenu.tourneyChoose = 0; + } + LobbyVoteMenu.reset(); + return; + + case "timeLimit": + startNewVote( "VoteChangeTimeLimit", $clVoteCmd[%id] ); + LobbyVoteMenu.reset(); + return; + + case "armorclass": + startNewVote( "VoteArmorClass", $clVoteCmd[%id] ); + LobbyVoteMenu.reset(); + return; + + case "antiturtle": + startNewVote( "VoteAntiTurtleTime", $clVoteCmd[%id] ); + LobbyVoteMenu.reset(); + return; + } + startNewVote( $clVoteCmd[%id], $clVoteAction[%id] ); + fillLobbyVoteMenu(); + } + + function LobbyPlayerPopup::onSelect( %this, %id, %text ) + { + parent::onSelect(%this, %id, %text); + switch( %id ) + { + case 12: + commandToServer('ProcessGameLink', %this.player.clientId); + + case 13: + commandToServer('WarnPlayer', %this.player.clientId); + + case 14: + commandToServer('StripAdmin', %this.player.clientId); + + case 15: + PrivateMessage(%this.player.clientId); + // From Rapture Admin - MeBad + case 16: + commandToServer('PrintClientInfo', %this.player.clientId); + + case 17: + commandToServer('togglePlayerGag', %this.player.clientId); + + case 18: + commandToServer('togglePlayerFreeze', %this.player.clientId); + + case 19: + commandToServer('bootToTheRear', %this.player.clientId); + + case 20: + commandToServer('explodePlayer', %this.player.clientId); + } + Canvas.popDialog( LobbyPlayerActionDlg ); + } + + function VehicleHud::onBuy( %this ) + { + //toggleCursorHuds( 'vehicleHud' ); // z0dd - ZOD, 5/01/02. Dont close veh station HUD after selecting + commandToServer( 'buyVehicle', %this.selected ); + } +}; + +activatePackage(zzClientOverloads); + +function fillLobbyArmorClassMenu() +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = "armorclass"; + commandToServer( 'GetArmorClassList', LobbyVoteMenu.key ); + LobbyCancelBtn.setVisible( true ); +} + +function fillLobbyAntiTurtleMenu() +{ + LobbyVoteMenu.key++; + LobbyVoteMenu.clear(); + LobbyVoteMenu.mode = "antiturtle"; + commandToServer( 'GetAntiTurtleTimeList', LobbyVoteMenu.key ); + LobbyCancelBtn.setVisible( true ); +} + +function assignMissionType(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + $thisMissionType = detag(%gameType); +} + +function handleStripAdminMsg(%msgType, %msgString, %super, %admin, %client) +{ + %player = $PlayerList[%client]; + if(%player) + { + %player.isSuperAdmin = false; + %player.isAdmin = false; + lobbyUpdatePlayer(%client); + } + alxPlay(AdminForceSound, 0, 0, 0); +} + +function clientCmdGetClassicModSettings(%val) +{ + if(%val) + { + commandToServer('SetHitSounds', $pref::Classic::playerHitSound, $pref::Classic::playerHitWav, + $pref::Classic::vehicleHitSound, $pref::Classic::vehicleHitWav); + commandToServer('SetRepairKitWaste', $pref::Classic::wasteRepairKit); + } +} + +function clientCmdTeamDestroyMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6) +{ + if($pref::Classic::ignoreTeamDestroyMessages) + %msgString = ""; // z0dd - ZOD, 8/23/02. Yogi. The message gets to the client but is "muted" from the HUD + + clientCmdServerMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6); +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Keybinds //////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function tossAmmo( %val ) { if ( %val ) throw( Ammo ); } +function tossRepairKit( %val ) { if ( %val ) throw( RepairKit ); } +function tossMine( %val ) { if ( %val ) throw( Mine ); } +function tossBeacon( %val ) { if ( %val ) throw( Beacon ); } +function tossGrenade( %val ) { if ( %val ) throw( Grenade ); } + +function toggleModHud(%val) +{ + if(%val && $ModHudCreated) + { + if($ModHudOpen) + HideModHud(); + else + ShowModHud(); + } +} + +function toggleAdminHud(%val) +{ + if(%val && $AdminHudCreated) + { + if($AdminHudOpen) + HideAdminHud(); + else + ShowAdminHud(); + } +} + +function togglePracticeHud(%val) +{ + if(%val && $PracticeHudCreated) + { + if($practiceHudOpen) + HidePracticeHud(); + else + ShowPracticeHud(); + } +} + +function throwGrenadeMax( %val ) +{ + if(($ServerMod !$= "Classic;base") && ($ServerMod !$= "classic;base")) + return; + + if ( !%val ) + { + commandToServer( 'throwMaxEnd' ); + } + $mvTriggerCount4 += $mvTriggerCount4 & 1 == %val ? 2 : 1; +} + +function throwMineMax( %val ) +{ + if(($ServerMod !$= "Classic;base") && ($ServerMod !$= "classic;base")) + return; + + if ( !%val ) + { + commandToServer( 'throwMaxEnd' ); + } + $mvTriggerCount5 += $mvTriggerCount5 & 1 == %val ? 2 : 1; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Grav Cycle Chaingun ///////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function clientCmdShowVehicleWeapons(%vehicleType) +{ + switch$ (%vehicleType) + { + case "Hoverbike": + // add right-hand weapons box and highlight + dashboardHud.weapon = new GuiControl(vWeapHiliteOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "358 22"; + extent = "80 33"; + minExtent = "8 8"; + visible = "1"; + + new HudBitmapCtrl(vWeapBkgdOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "82 40"; + minExtent = "8 8"; + bitmap = "gui/hud_veh_new_dashpiece_2"; + visible = "1"; + opacity = "0.8"; + + new HudBitmapCtrl(vWeapIconOne) { + profile = "GuiDashBoxProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "28 6"; + extent = "25 25"; + minExtent = "8 8"; + bitmap = "gui/hud_blaster"; + visible = "1"; + opacity = "0.8"; + }; + }; + }; + dashboardHud.add(dashboardHud.weapon); + reticleHud.setBitmap("gui/hud_ret_tankchaingun"); + reticleFrameHud.setVisible(false); + + default: + return; + } +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Projectile Hit Sound defaults /////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function setupClassicClientDefaults() +{ + if($pref::Classic::wasteRepairKit $="") + { + $pref::Classic::wasteRepairKit = 0; + export( "$pref::*", "prefs/ClientPrefs.cs", False ); + } + if($pref::Classic::playerHitWav $="") + { + $pref::Classic::playerHitSound = 1; // turns player impact sounds on/off + $pref::Classic::playerHitWav = "~wfx/weapons/cg_hard4.wav"; // wav file to play when hitting enemy player. base dir is .../audio + $pref::Classic::vehicleHitSound = 1; // turns vehicle impact sounds on/off + $pref::Classic::vehicleHitWav = "~wfx/weapons/mine_switch.wav"; // wav file to play when hitting enemy vehicles. base dir is .../audio + export( "$pref::*", "prefs/ClientPrefs.cs", False ); + } + if($pref::Classic::ignoreTeamDestroyMessages $="") + { + $pref::Classic::ignoreTeamDestroyMessages = 0; + export( "$pref::*", "prefs/ClientPrefs.cs", False ); + } +} + +setupClassicClientDefaults(); + +//////////////////////////////////////////////////////////////////////////////////////// +// Bomber Pilot Hud //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +// Addition to give client bomber reticle when piloting. +package pilotBomberHud +{ + function ClientCmdSetHudMode(%mode, %type, %node) + { + parent::clientCmdSetHudMode(%mode, %type, %node); + + if ((%type $= "Bomber") && (%node == 0)) + { + clientCmdStartBomberSight(); + } + else if (($typeHolder $= "Bomber") && ($nodeHolder == 0)) + { + clientCmdEndBomberSight(); + } + $typeHolder = %type; + $nodeHolder = %node; + } +}; + +function activateBomberPilotHud(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + activatePackage(pilotBomberHud); +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Private messaging /////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function PrivateMessage(%clientId) +{ + $PrivMsgTarget = %clientId; + %notice = "\c2Next message you send will be private to: " @ $PlayerList[%clientId].name; + addMessageHudLine(%notice); +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Callbacks /////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +addMessageCallback('MsgClientReady', assignMissionType); +addMessageCallback('MsgStripAdminPlayer', handleStripAdminMsg); +addMessageCallback('MsgBomberPilotHud', activateBomberPilotHud); + +function serverCMDgetMod(%client) +{ + %paths = getModPaths(); + commandToClient(%client, 'serverMod', %paths); +} + +function clientCMDserverMod(%value) +{ + $ServerMod = %value; + if((%value $= "Classic;base") || (%value $= "classic;base")) + { + $Camera::movementSpeed = 50; + } +} \ No newline at end of file diff --git a/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/modHud.cs b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/modHud.cs new file mode 100644 index 00000000..b5c88b9a --- /dev/null +++ b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/modHud.cs @@ -0,0 +1,551 @@ +//////////////////////////////////////////////////////////////////////////////////////// +// z0dd - ZOD - sal9000: MOD HUD /////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function CreateModHud() +{ + $ModHudId = new GuiControl(modHud) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(modHudGui) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 90"; + extent = "320 295"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "MOD HUD"; + + new GuiMLTextCtrl(modHudOpt) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "29 38"; + extent = "260 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellPopupMenu(modOptionMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 49"; + extent = "277 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- OPTIONS -"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiMLTextCtrl(modHudSet) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "29 90"; + extent = "267 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellScrollCtrl(modA) { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "26 103"; + extent = "267 70"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl(modB) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "182 239"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(modSetList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "182 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(modCloseBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "22 235"; + extent = "137 35"; + minExtent = "32 35"; + visible = "1"; + command = "HideModHud();"; + accelerator = "return"; + helpTag = "0"; + text = "CLOSE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modSubmitBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 235"; + extent = "137 35"; + minExtent = "32 35"; + visible = "1"; + command = "modSubmit();"; + accelerator = "return"; + helpTag = "0"; + text = "SUBMIT"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn1) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "22 175"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(11);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn2) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 175"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(12);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn3) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "22 205"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(13);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn4) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 205"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(14);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + }; + }; +} + +function handleActivateModHud(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8) +{ + if(!$ModHudCreated) + { + CreateModHud(); + $ModHudCreated = 1; + } +} + +function handleInitModHud(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + if($ModHudCreated) + commandToServer('ModHudInitialize', true); +} + +addMessageCallback('MsgClientJoin', handleActivateModHud); +addMessageCallback('MsgClientReady', handleInitModHud); + +// Get the headings from the server +function clientCMDModHudHead(%head, %opt, %set) +{ + modHudGui.settitle(%head); + modHudOpt.setvalue(%opt); + modHudSet.setvalue(%set); +} + +function clientCMDModHudDone() +{ + $ModArray[curopt] = 1; + modOptionMenu.clear(); + for(%z = 1; %z <= $ModArray[index]; %z++) + { + %nam = $ModArray[%z, nam]; + modOptionMenu.add(%nam, %z); + } + modOptionMenu.setSelected($ModArray[curopt]); + modArrayCallOption($ModArray[curopt]); +} + +function modArrayCallOption(%opt) +{ + modSetList.clear(); + for(%x = 1; %x <= $ModArray[%opt, noa]; %x++) + { + %nam = $ModArray[%opt, %x]; + modSetList.addRow(%x, %nam); + } + %pal = $ModArray[%opt, pal]; + %cur = $ModArray[%opt, cur]; + if(%cur $= "") + modSetList.setSelectedByID(%pal); + else + modSetList.setSelectedByID(%cur); +} + +function clientCMDInitializeModHud(%mod) +{ + for(%i = 0; $ModArray[%i, nam] !$= ""; %i++) + { + $ModArray[%i, cur] = ""; + $ModArray[%i, pal] = ""; + $ModArray[%i, nam] = ""; + $ModArray[%i, noa] = ""; + $ModArray[%i, index] = ""; + for(%j = 0; %j < 10; %j++) + $ModArray[%i, %j] = ""; + } + $ModArray[curmode] = %mod; + $ModArray[index] = 0; +} + +function modHudExport() +{ + if($ModArray[curmode] $= "") + return; + + for(%z = 1; %z <= $ModArray[curopt]; %z++) + { + %pal = $ModArray[%z, pal]; + $ModExport[modStu($ModArray[curmode]), modStu($ModArray[%z, index])] = $ModArray[%z, %pal]; + } + export("$ModExport*", "scripts/autoexec/modExport.cs", false); +} + +function modStu(%str) +{ + return strreplace(%str, " ", "_"); +} + +function clientCMDModHudPopulate(%option, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + %s[1] = %a1; + %s[2] = %a2; + %s[3] = %a3; + %s[4] = %a4; + %s[5] = %a5; + %s[6] = %a6; + %s[7] = %a7; + %s[8] = %a8; + %s[9] = %a9; + %s[10] = %a10; + + $ModArray[index]++; + $ModArray[curopt] = $ModArray[index]; + %cur = $ModArray[curopt]; + $ModArray[%cur, pal] = ""; + $ModArray[%cur, cur] = ""; + $ModArray[%cur, nam] = %option; + + %z = 0; + while(%s[%z++] !$= "") { + $ModArray[%cur, %z] = %s[%z]; + %pal = $ModExport[modStu($ModArray[curmode]), modStu(%opt)]; + if(%s[%z] $= %pal) + %palm = %z; + } + if(%palm $= "") { + $ModArray[%cur, cur] = "1"; + $ModArray[%cur, pal] = "1"; + %id =1; + } + else { + $ModArray[%cur, cur] = %palm; + $ModArray[%cur, pal] = %palm; + %id = %palm; + } + commandToServer('ModUpdateSettings', %cur, %id); + $ModArray[%cur, noa] = %z-1; +} + +function modSetList::onSelect(%this, %id, %text) +{ + $ModArray[$ModArray[curopt], cur] = %id; + //commandToServer('ModUpdateSettings', $ModArray[curopt], %id); +} + +function modOptionMenu::onSelect(%this, %id, %text) +{ + $ModArray[curopt] = %id; + modArraycallOption(%id); +} + +function ShowModHud() +{ + canvas.pushdialog(modHud); + $ModHudOpen = 1; + //clientCmdTogglePlayHuds(false); +} + +function HideModHud() +{ + modHudExport(); + canvas.popdialog(modHud); + $ModHudOpen = 0; + //clientCmdTogglePlayHuds(true); +} + +function modHud::onWake( %this ) +{ + if ($HudHandle[modHud] !$= "") + alxStop($HudHandle[inventoryScreen]); + + alxPlay(HudInventoryActivateSound, 0, 0, 0); + $HudHandle[modHud] = alxPlay(HudInventoryHumSound, 0, 0, 0); + + if ( isObject( modHudMap ) ) + { + modHudMap.pop(); + modHudMap.delete(); + } + new ActionMap( modHudMap ); + modHudMap.blockBind( moveMap, togglePracticeHud ); + modHudMap.blockBind( moveMap, toggleAdminHud ); + modHudMap.blockBind( moveMap, toggleInventoryHud ); + modHudMap.blockBind( moveMap, toggleScoreScreen ); + modHudMap.blockBind( moveMap, toggleCommanderMap ); + modHudMap.bindCmd( keyboard, escape, "", "HideModHud();" ); + modHudMap.push(); +} + +function modHud::onSleep( %this ) +{ + %this.callback = ""; + modHudMap.pop(); + modHudMap.delete(); + alxStop($HudHandle[modHud]); + alxPlay(HudInventoryDeactivateSound, 0, 0, 0); + $HudHandle[modHud] = ""; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Button functions //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function modSubmit() +{ + // Send the currently selected option and setting to the server + commandToServer('ModUpdateSettings', $ModArray[curopt], $ModArray[$ModArray[curopt], cur]); + modHudExport(); +} + +function modBtnProg(%button) +{ + switch ( %button ) + { + case 11: + %value = modBtn1.getValue(); + case 12: + %value = modBtn2.getValue(); + case 13: + %value = modBtn3.getValue(); + case 14: + %value = modBtn4.getValue(); + default: + %value = ""; + } + commandToServer('ModButtonSet', %button, %value); + //HideModHud(); +} + +function clientCMDModHudBtn1(%text, %enabled, %visible) +{ + modBtn1.setActive(%enabled); + modBtn1.visible = %visible; + if(%text !$= "") + modBtn1.text = %text; +} + +function clientCMDModHudBtn2(%text, %enabled, %visible) +{ + modBtn2.setActive(%enabled); + modBtn2.visible = %visible; + if(%text !$= "") + modBtn2.text = %text; +} + +function clientCMDModHudBtn3(%text, %enabled, %visible) +{ + modBtn3.setActive(%enabled); + modBtn3.visible = %visible; + if(%text !$= "") + modBtn3.text = %text; +} + +function clientCMDModHudBtn4(%text, %enabled, %visible) +{ + modBtn4.setActive(%enabled); + modBtn4.visible = %visible; + if(%text !$= "") + modBtn4.text = %text; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Server functions //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function serverCMDModHudInitialize(%client, %value) +{ + Game.InitModHud(%client, %value); +} + +function serverCmdModUpdateSettings(%client, %option, %value) +{ + // %option is the index # of the hud list option + // %value is the index # of the hud list setting + + %option = deTag(%option); + %value = deTag(%value); + Game.UpdateModHudSet(%client, %option, %value); +} + +function serverCmdModButtonSet(%client, %button, %value) +{ + %button = deTag(%button); + %value = deTag(%value); + Game.ModButtonCmd(%client, %button, %value); +} + +function DefaultGame::InitModHud(%game, %client, %value) +{ + // Clear out any previous settings + //commandToClient(%client, 'InitializeModHud', "ModName"); + + // Send the hud labels | Hud Label | | Option label | | Setting label | + //commandToClient(%client, 'ModHudHead', "MOD NAME HUD", "Option:", "Setting:"); + + // Send the Option list and settings per option | Option | | Setting | + //commandToClient(%client, 'ModHudPopulate', "Example1", "Empty"); + //commandToClient(%client, 'ModHudPopulate', "Example2", "Setting1", "Setting2", "Setting3", "Setting4", "Setting5", "Setting6", "Setting7", "Setting8", "Setting9", "Setting10"); + + // Send the button labels and visual settings | Button | | Label | | Visible | | Active | + //commandToClient(%client, 'ModHudBtn1', "BUTTON1", 1, 1); + //commandToClient(%client, 'ModHudBtn2', "BUTTON2", 1, 1); + //commandToClient(%client, 'ModHudBtn3', "BUTTON3", 1, 1); + //commandToClient(%client, 'ModHudBtn4', "BUTTON4", 1, 1); + + // We're done! + //commandToClient(%client, 'ModHudDone'); +} + +function DefaultGame::UpdateModHudSet(%game, %client, %option, %value) +{ + // 1 = Example1 + // 2 = Example2 + + //switch$ ( %option ) + //{ + // case 1: + // %msg = '\c2Something set to: %2.'; + + // case 2: + // %msg = '\c2Something set to: %2.'; + + // default: + // %msg = '\c2Invalid setting.'; + //} + //messageClient( %client, 'MsgModHud', %msg, %option, %value ); +} + +function DefaultGame::ModButtonCmd(%game, %client, %button, %value) +{ + // 11 = Button 1 + // 12 = Button 2 + // 13 = Button 3 + // 14 = Button 4 + + //switch ( %button ) + //{ + // case 11: + // %msg = '\c2Something set to: %2.'; + + // case 12: + // %msg = '\c2Something set to: %2.'; + + // case 13: + // %msg = '\c2Something set to: %2.'; + + // case 14: + // %msg = '\c2Something set to: %2.'; + + // default: + // %msg = '\c2Invalid setting.'; + //} + //messageClient( %client, 'MsgModHud', %msg, %button, %value ); +} diff --git a/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/practiceHud.cs b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/practiceHud.cs new file mode 100644 index 00000000..cd35e44b --- /dev/null +++ b/public/base/@vl2/zz_Classic_client_v1.vl2/scripts/autoexec/practiceHud.cs @@ -0,0 +1,887 @@ +//////////////////////////////////////////////////////////////////////////////////////// +// z0dd - ZOD: PRACTICE HUD //////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +// BUTTON MAP: +// =========== +// +// (00-09: GUI CONTROLS) +// +// (10-19: SERVER BUTTONS) +// 10 = 999 Ammo +// 11 = Auto Return Flags +// 12 = Spawn in Favorites +// 13 = Spawn Only +// 14 = No Score Limit +// 15 = Protect Assests +// 16 = Reset Map +// +// (20-29: TELEPORT OPTIONS) +// 20 = Beacon Mode +// 21 = Teleport Mode +// 22 = Select +// 23 = Destroy +// 24 = Teleport +// +// (30-39: SPAWN VEHICLE) +// 30 = Wildcat +// 31 = Beowulf +// 32 = Jericho +// 33 = Shrike +// 34 = Thundersword +// 35 = Havoc +// +// (40-49: PROJECTILE OBSERVATION) +// 40 = Disc +// 41 = Grenade L. +// 42 = Mortar +// 43 = Missile L. + +function CreatePracticeHud() +{ + $practiceHudId = new GuiControl(practiceHud) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPaneCtrl(practiceHudGui) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "77 43"; + extent = "486 394"; + minExtent = "48 92"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "Practice Hud"; + longTextBuffer = "0"; + maxLength = "255"; + noTitleBar = "0"; + + new ShellFieldCtrl(adminLBorder) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 44"; + extent = "260 126"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellToggleButton(UnlimAmmoBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 8"; + extent = "128 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(10);"; + helpTag = "0"; + text = "999 AMMO"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(AutoReturnBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 8"; + extent = "128 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(11);"; + helpTag = "0"; + text = "AUTO-RETURN FLAGS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(spawnInFavsBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 37"; + extent = "128 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(12);"; + helpTag = "0"; + text = "SPAWN IN FAVORITE"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(SpawnOnlyBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 37"; + extent = "128 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(13);"; + helpTag = "0"; + text = "SPAWN ONLY"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(NoScoreLimitBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 66"; + extent = "128 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(14);"; + helpTag = "0"; + text = "NO SCORE LIMIT"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(ProtectAssestsBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 66"; + extent = "128 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(15);"; + helpTag = "0"; + text = "PROTECT ASSETS"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellBitmapButton(ResetMapBtn) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "73 90"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(16);"; + helpTag = "0"; + text = "RESET MAP"; + simpleStyle = "0"; + }; + }; + new ShellFieldCtrl(adminRBorder) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "284 44"; + extent = "184 126"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellPopupMenu(practiceOptionMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 -2"; + extent = "180 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- OPTIONS -"; + longTextBuffer = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellScrollCtrl(practiceA) { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "2 25"; + extent = "181 70"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl(practiceB) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "157 56"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(practiceSetList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "157 234"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(practiceSubmitBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "42 91"; + extent = "105 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceSubmit();"; + accelerator = "return"; + helpTag = "0"; + text = "SUBMIT"; + simpleStyle = "0"; + }; + }; + new ShellFieldCtrl(projectileBorder) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 190"; + extent = "448 42"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(projectileStr) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 1"; + extent = "113 14"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + new ShellToggleButton(observeDiscBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 12"; + extent = "108 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(40);"; + helpTag = "0"; + text = "DISC"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(observeGLBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 12"; + extent = "108 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(41);"; + helpTag = "0"; + text = "GRENADE L."; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(observeMortarBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "222 12"; + extent = "108 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(42);"; + helpTag = "0"; + text = "MORTAR"; + longTextBuffer = "0"; + maxLength = "255"; + }; + new ShellToggleButton(observeMissileBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "332 12"; + extent = "108 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(43);"; + helpTag = "0"; + text = "MISSILE L."; + longTextBuffer = "0"; + maxLength = "255"; + }; + }; + new ShellFieldCtrl(teleBorder) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 237"; + extent = "225 107"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(teleStr) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "76 1"; + extent = "83 14"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + new ShellRadioButton(BeaconModeBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 12"; + extent = "108 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(20);"; + helpTag = "0"; + text = "BEACON MODE"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellRadioButton(TelepadModeBtn) { + profile = "ShellRadioProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 12"; + extent = "107 30"; + minExtent = "26 27"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(21);"; + helpTag = "0"; + text = "TELEPAD MODE"; + longTextBuffer = "0"; + maxLength = "255"; + groupNum = "1"; + }; + new ShellBitmapButton(SelectBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "60 37"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(22);"; + accelerator = "return"; + helpTag = "0"; + text = "SELECT"; + simpleStyle = "0"; + }; + new ShellBitmapButton(DestroyBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "5 67"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(23);"; + accelerator = "return"; + helpTag = "0"; + text = "DESTROY"; + simpleStyle = "0"; + }; + new ShellBitmapButton(TeleportBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "113 67"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(24);"; + accelerator = "return"; + helpTag = "0"; + text = "TELEPORT"; + simpleStyle = "0"; + }; + }; + new ShellFieldCtrl(SpawnVehBorder) { + profile = "ShellFieldProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "256 237"; + extent = "212 107"; + minExtent = "16 18"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new GuiMLTextCtrl(spawnVehStr) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "58 2"; + extent = "115 14"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + new ShellBitmapButton(spawnVehBtn1) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 12"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(30);"; + helpTag = "0"; + text = "WILDCAT"; + simpleStyle = "0"; + }; + new ShellBitmapButton(spawnVehBtn2) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 42"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(31);"; + helpTag = "0"; + text = "BEOWULF"; + simpleStyle = "0"; + }; + new ShellBitmapButton(spawnVehBtn3) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 72"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(32);"; + helpTag = "0"; + text = "JERICHO"; + simpleStyle = "0"; + }; + new ShellBitmapButton(spawnVehBtn4) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "102 12"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(33);"; + helpTag = "0"; + text = "SHRIKE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(spawnVehBtn5) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "102 42"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(34);"; + helpTag = "0"; + text = "THUNDERSWORD"; + simpleStyle = "0"; + }; + new ShellBitmapButton(spawnVehBtn6) { + profile = "ShellButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "102 72"; + extent = "108 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "practiceServerBtns(35);"; + helpTag = "0"; + text = "HAVOC"; + simpleStyle = "0"; + }; + }; + new ShellBitmapButton(closeBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "190 343"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "HidePracticeHud();"; + accelerator = "return"; + helpTag = "0"; + text = "CLOSE"; + simpleStyle = "0"; + }; + new GuiMLTextCtrl(serverHudStr) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "192 25"; + extent = "104 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + new GuiMLTextCtrl(playerHudStr) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "192 171"; + extent = "104 18"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + deniedSound = "InputDeniedSound"; + }; + }; + }; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Callbacks /////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function handleActivatePracticeHud() +{ + if(!$PracticeHudCreated) + { + CreatePracticeHud(); + $PracticeHudCreated = 1; + } +} + +function handleInitPracHud(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + if($practiceHudCreated) + commandToServer('practiceHudInitialize', true); +} + +function updatePracHud(%msgType, %msgString, %a1, %a2, %a3) +{ + // set hud sensitivity + if(%a3 $= "") + %val = 0; + else + %val = (%a3 > 0); + UnlimAmmoBtn.setactive(%val); + AutoReturnBtn.setactive(%val); + spawnInFavsBtn.setactive(%val); + SpawnOnlyBtn.setactive(%val); + NoScoreLimitBtn.setactive(%val); + ProtectAssestsBtn.setactive(%val); + ResetMapBtn.setactive(%val); + practiceOptionMenu.setActive(%val); + practiceSubmitBtn.setactive(%val); + + // set hud values + UnlimAmmoBtn.setvalue(%a1 & 1); + AutoReturnBtn.setvalue(%a1 & 2); + spawnInFavsBtn.setvalue(%a1 & 4); + SpawnOnlyBtn.setvalue(%a1 & 8); + NoScoreLimitBtn.setvalue(%a1 & 16); + ProtectAssestsBtn.setvalue(%a1 & 32); + observeDiscBtn.setvalue(%a2 & 1); + observeGLBtn.setvalue(%a2 & 2); + observeMortarBtn.setvalue(%a2 & 4); + observeMissileBtn.setvalue(%a2 & 8); + BeaconModeBtn.setvalue(%a2 & 16); + TelepadModeBtn.setvalue(%a2 & 32); +} + +addMessageCallback('MsgClientJoin', handleActivatePracticeHud); +addMessageCallback('MsgClientReady', handleInitPracHud); +addMessageCallback('MsgStripAdminPlayer', updatePracHud); +addMessageCallback('UpdatePracHud', updatePracHud); +addMessageCallback('MsgAdminPlayer', updatePracHud); +addMessageCallback('MsgAdminAdminPlayer', updatePracHud); +addMessageCallback('MsgSuperAdminPlayer', updatePracHud); +addMessageCallback('MsgAdminForce', updatePracHud); + +//////////////////////////////////////////////////////////////////////////////////////// + +// Get the headings from the server +function clientCMDpracticeHudHead(%head, %server, %player, %projectile, %tele, %vehicle) +{ + practiceHudGui.settitle(%head); + serverHudStr.setvalue(%server); + playerHudStr.setvalue(%player); + projectileStr.setvalue(%projectile); + teleStr.setvalue(%tele); + spawnVehStr.setvalue(%vehicle); +} + +function clientCMDpracticeHudDone() +{ + $practiceArray[curopt] = 1; + practiceOptionMenu.clear(); + for(%z = 1; %z <= $practiceArray[index]; %z++) + { + %nam = $practiceArray[%z, nam]; + practiceOptionMenu.add(%nam, %z); + } + practiceOptionMenu.setSelected($practiceArray[curopt]); + practiceArrayCallOption($practiceArray[curopt]); +} + +function practiceArrayCallOption(%opt) +{ + practiceSetList.clear(); + for(%x = 1; %x <= $practiceArray[%opt, noa]; %x++) + { + %nam = $practiceArray[%opt, %x]; + practiceSetList.addRow(%x, %nam); + } + %cur = $practiceArray[%opt, cur]; + practiceSetList.setSelectedByID(%cur); +} + +function clientCMDinitializePracHud(%mode) +{ + for(%i = 0; $ModArray[%i, nam] !$= ""; %i++) + { + $practiceArray[%i, cur] = ""; + $practiceArray[%i, nam] = ""; + $practiceArray[%i, noa] = ""; + for(%j = 0; %j < 10; %j++) + $practiceArray[%i, %j] = ""; + } + $practiceArray[index] = 0; + $practiceArray[curmode] = %mode; +} + +function clientCMDpracticeHudPopulate(%opt, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13, %a14, %a15) +{ + %s[1] = %a1; + %s[2] = %a2; + %s[3] = %a3; + %s[4] = %a4; + %s[5] = %a5; + %s[6] = %a6; + %s[7] = %a7; + %s[8] = %a8; + %s[9] = %a9; + %s[10] = %a10; + %s[11] = %a11; + %s[12] = %a12; + %s[13] = %a13; + %s[14] = %a14; + %s[15] = %a15; + $practiceArray[index]++; + $practiceArray[curopt] = $practiceArray[index]; + %cur = $practiceArray[curopt]; + $practiceArray[%cur, cur] = ""; + $practiceArray[%cur, nam] = %opt; + while(%s[%z++] !$= "") + { + $practiceArray[%cur, %z] = %s[%z]; + } + $practiceArray[%cur, cur] = "1"; + $practiceArray[%cur, noa] = %z-1; +} + +function practiceSetList::onSelect(%this, %id, %text) +{ + $practiceArray[$practiceArray[curopt], cur] = %id; +} + +function practiceOptionMenu::onSelect(%this, %id, %text) +{ + $practiceArray[curopt] = %id; + practiceArraycallOption(%id); +} + +function ShowPracticeHud() +{ + if($thisMissionType $= "PracticeCTFGame") + { + commandToServer('needPracHudUpdate', %opt); + canvas.pushdialog(practiceHud); + $practiceHudOpen = 1; + } +} + +function HidePracticeHud() +{ + canvas.popdialog(practiceHud); + $practiceHudOpen = 0; +} + +function practiceHud::onWake( %this ) +{ + if ( isObject( practiceHudMap ) ) + { + practiceHudMap.pop(); + practiceHudMap.delete(); + } + new ActionMap( practiceHudMap ); + practiceHudMap.blockBind( moveMap, toggleModHud ); + practiceHudMap.blockBind( moveMap, toggleAdminHud ); + practiceHudMap.blockBind( moveMap, toggleInventoryHud ); + practiceHudMap.blockBind( moveMap, toggleScoreScreen ); + practiceHudMap.blockBind( moveMap, toggleCommanderMap ); + practiceHudMap.bindCmd( keyboard, escape, "", "HidePracticeHud();" ); + practiceHudMap.push(); +} + +function practiceHud::onSleep( %this ) +{ + %this.callback = ""; + practiceHudMap.pop(); + practiceHudMap.delete(); +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Button functions //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function practiceServerBtns(%opt) +{ + switch(%opt) + { + case 40: + %val = observeDiscBtn.getValue(); + case 41: + %val = observeGLBtn.getValue(); + case 42: + %val = observeMortarBtn.getValue(); + case 43: + %val = observeMissileBtn.getValue(); + default: + %val = ""; + } + commandToServer('practiceBtnCall', %opt, %val); +} + +function practiceSubmit() +{ + // Send the currently selected option and setting to the server + commandToServer('practiceUpdateSettings', $practiceArray[curopt], $practiceArray[$practiceArray[curopt], cur]); +} diff --git a/public/base/@vl2/zz_Classic_client_v1.vl2/zz_classic_client_v4.txt b/public/base/@vl2/zz_Classic_client_v1.vl2/zz_classic_client_v4.txt new file mode 100644 index 00000000..4d092734 --- /dev/null +++ b/public/base/@vl2/zz_Classic_client_v1.vl2/zz_classic_client_v4.txt @@ -0,0 +1,10 @@ +Tribes2 Classic client pack version 4 +7/29/03 + + +The "zz_classic_client_v1.vl2" file should be put into +your "...\Tribes2\GameData\base" directory, overwriting +any existing earlier version. + + +See the "classic_readme.txt" file for a list of changes. diff --git a/public/base/lighting/Aeroena_2343a8be.ml b/public/base/lighting/Aeroena_2343a8be.ml new file mode 100755 index 00000000..88c387d0 Binary files /dev/null and b/public/base/lighting/Aeroena_2343a8be.ml differ diff --git a/public/base/lighting/Agorazscium_f4b21f81.ml b/public/base/lighting/Agorazscium_f4b21f81.ml new file mode 100755 index 00000000..49e4c37b Binary files /dev/null and b/public/base/lighting/Agorazscium_f4b21f81.ml differ diff --git a/public/base/lighting/ArenaDome_a0de9542.ml b/public/base/lighting/ArenaDome_a0de9542.ml new file mode 100755 index 00000000..c485e236 Binary files /dev/null and b/public/base/lighting/ArenaDome_a0de9542.ml differ diff --git a/public/base/lighting/ArenaHeaven_1e1fe293.ml b/public/base/lighting/ArenaHeaven_1e1fe293.ml new file mode 100755 index 00000000..343ffb49 Binary files /dev/null and b/public/base/lighting/ArenaHeaven_1e1fe293.ml differ diff --git a/public/base/lighting/AstersDescent_53a3207b.ml b/public/base/lighting/AstersDescent_53a3207b.ml new file mode 100755 index 00000000..00a1de54 Binary files /dev/null and b/public/base/lighting/AstersDescent_53a3207b.ml differ diff --git a/public/base/lighting/AttritionLT_832adbb5.ml b/public/base/lighting/AttritionLT_832adbb5.ml new file mode 100755 index 00000000..4a8edb2f Binary files /dev/null and b/public/base/lighting/AttritionLT_832adbb5.ml differ diff --git a/public/base/lighting/BerylBasin_c9d35ce.ml b/public/base/lighting/BerylBasin_c9d35ce.ml new file mode 100755 index 00000000..12dfb4e1 Binary files /dev/null and b/public/base/lighting/BerylBasin_c9d35ce.ml differ diff --git a/public/base/lighting/Blastside_nef_6830e4bf.ml b/public/base/lighting/Blastside_nef_6830e4bf.ml new file mode 100755 index 00000000..e4cc98a8 Binary files /dev/null and b/public/base/lighting/Blastside_nef_6830e4bf.ml differ diff --git a/public/base/lighting/Blink_d9ab8a18.ml b/public/base/lighting/Blink_d9ab8a18.ml new file mode 100755 index 00000000..2b2dfe77 Binary files /dev/null and b/public/base/lighting/Blink_d9ab8a18.ml differ diff --git a/public/base/lighting/BonespurLT_915823ed.ml b/public/base/lighting/BonespurLT_915823ed.ml new file mode 100755 index 00000000..bc0b5254 Binary files /dev/null and b/public/base/lighting/BonespurLT_915823ed.ml differ diff --git a/public/base/lighting/BonespurLT_9cca0579.ml b/public/base/lighting/BonespurLT_9cca0579.ml new file mode 100755 index 00000000..9e22edc1 Binary files /dev/null and b/public/base/lighting/BonespurLT_9cca0579.ml differ diff --git a/public/base/lighting/BoxLak_a3e35494.ml b/public/base/lighting/BoxLak_a3e35494.ml new file mode 100755 index 00000000..f9cc35f7 Binary files /dev/null and b/public/base/lighting/BoxLak_a3e35494.ml differ diff --git a/public/base/lighting/Broadside_nef_e852f76.ml b/public/base/lighting/Broadside_nef_e852f76.ml new file mode 100755 index 00000000..ae497346 Binary files /dev/null and b/public/base/lighting/Broadside_nef_e852f76.ml differ diff --git a/public/base/lighting/BulwarkLT_4a3f297.ml b/public/base/lighting/BulwarkLT_4a3f297.ml new file mode 100755 index 00000000..a05e5512 Binary files /dev/null and b/public/base/lighting/BulwarkLT_4a3f297.ml differ diff --git a/public/base/lighting/Bulwark_ab283278.ml b/public/base/lighting/Bulwark_ab283278.ml new file mode 100755 index 00000000..c04f8f96 Binary files /dev/null and b/public/base/lighting/Bulwark_ab283278.ml differ diff --git a/public/base/lighting/CankerLak_2f63997d.ml b/public/base/lighting/CankerLak_2f63997d.ml new file mode 100755 index 00000000..ba9b6c34 Binary files /dev/null and b/public/base/lighting/CankerLak_2f63997d.ml differ diff --git a/public/base/lighting/CapriLT_66f22508.ml b/public/base/lighting/CapriLT_66f22508.ml new file mode 100755 index 00000000..87920364 Binary files /dev/null and b/public/base/lighting/CapriLT_66f22508.ml differ diff --git a/public/base/lighting/Cinerarium_7aca722b.ml b/public/base/lighting/Cinerarium_7aca722b.ml new file mode 100755 index 00000000..24cd537e Binary files /dev/null and b/public/base/lighting/Cinerarium_7aca722b.ml differ diff --git a/public/base/lighting/Circleofstones_affcd75f.ml b/public/base/lighting/Circleofstones_affcd75f.ml new file mode 100755 index 00000000..0b8557d3 Binary files /dev/null and b/public/base/lighting/Circleofstones_affcd75f.ml differ diff --git a/public/base/lighting/CirclesEdgeLT_411f1e4d.ml b/public/base/lighting/CirclesEdgeLT_411f1e4d.ml new file mode 100755 index 00000000..2cb43892 Binary files /dev/null and b/public/base/lighting/CirclesEdgeLT_411f1e4d.ml differ diff --git a/public/base/lighting/CirclesEdgeLT_7a5c076c.ml b/public/base/lighting/CirclesEdgeLT_7a5c076c.ml new file mode 100755 index 00000000..63147706 Binary files /dev/null and b/public/base/lighting/CirclesEdgeLT_7a5c076c.ml differ diff --git a/public/base/lighting/CloakofLak_74b7f3a4.ml b/public/base/lighting/CloakofLak_74b7f3a4.ml new file mode 100755 index 00000000..ef0440be Binary files /dev/null and b/public/base/lighting/CloakofLak_74b7f3a4.ml differ diff --git a/public/base/lighting/CloakofNightV_fc052e2a.ml b/public/base/lighting/CloakofNightV_fc052e2a.ml new file mode 100755 index 00000000..777007c9 Binary files /dev/null and b/public/base/lighting/CloakofNightV_fc052e2a.ml differ diff --git a/public/base/lighting/CloudBurst_ae430433.ml b/public/base/lighting/CloudBurst_ae430433.ml new file mode 100755 index 00000000..b17bf5d6 Binary files /dev/null and b/public/base/lighting/CloudBurst_ae430433.ml differ diff --git a/public/base/lighting/ClusterUnFuct_ba9a0db4.ml b/public/base/lighting/ClusterUnFuct_ba9a0db4.ml new file mode 100755 index 00000000..96234d46 Binary files /dev/null and b/public/base/lighting/ClusterUnFuct_ba9a0db4.ml differ diff --git a/public/base/lighting/Coliseum_638e3c7c.ml b/public/base/lighting/Coliseum_638e3c7c.ml new file mode 100755 index 00000000..5b2972b4 Binary files /dev/null and b/public/base/lighting/Coliseum_638e3c7c.ml differ diff --git a/public/base/lighting/Confusco_629e6bc0.ml b/public/base/lighting/Confusco_629e6bc0.ml new file mode 100755 index 00000000..e0367b0e Binary files /dev/null and b/public/base/lighting/Confusco_629e6bc0.ml differ diff --git a/public/base/lighting/CrashClash_4a04db6b.ml b/public/base/lighting/CrashClash_4a04db6b.ml new file mode 100755 index 00000000..1475f6be Binary files /dev/null and b/public/base/lighting/CrashClash_4a04db6b.ml differ diff --git a/public/base/lighting/CrossfiredLak_af679bb1.ml b/public/base/lighting/CrossfiredLak_af679bb1.ml new file mode 100755 index 00000000..62f0e31c Binary files /dev/null and b/public/base/lighting/CrossfiredLak_af679bb1.ml differ diff --git a/public/base/lighting/DMP_Agroleon_39e78691.ml b/public/base/lighting/DMP_Agroleon_39e78691.ml new file mode 100755 index 00000000..31c2f5f4 Binary files /dev/null and b/public/base/lighting/DMP_Agroleon_39e78691.ml differ diff --git a/public/base/lighting/DMP_BastardForgeLT_192bda18.ml b/public/base/lighting/DMP_BastardForgeLT_192bda18.ml new file mode 100755 index 00000000..b41f1b82 Binary files /dev/null and b/public/base/lighting/DMP_BastardForgeLT_192bda18.ml differ diff --git a/public/base/lighting/DMP_BastardForgeLT_23118b55.ml b/public/base/lighting/DMP_BastardForgeLT_23118b55.ml new file mode 100755 index 00000000..066e7aa8 Binary files /dev/null and b/public/base/lighting/DMP_BastardForgeLT_23118b55.ml differ diff --git a/public/base/lighting/DMP_BastardForge_69e0050.ml b/public/base/lighting/DMP_BastardForge_69e0050.ml new file mode 100755 index 00000000..72b78216 Binary files /dev/null and b/public/base/lighting/DMP_BastardForge_69e0050.ml differ diff --git a/public/base/lighting/DMP_BunkeredLT_22bd8e06.ml b/public/base/lighting/DMP_BunkeredLT_22bd8e06.ml new file mode 100755 index 00000000..9a21b48d Binary files /dev/null and b/public/base/lighting/DMP_BunkeredLT_22bd8e06.ml differ diff --git a/public/base/lighting/DMP_BunkeredLT_7f074860.ml b/public/base/lighting/DMP_BunkeredLT_7f074860.ml new file mode 100755 index 00000000..132e581f Binary files /dev/null and b/public/base/lighting/DMP_BunkeredLT_7f074860.ml differ diff --git a/public/base/lighting/DMP_CinerariumLT_1770607b.ml b/public/base/lighting/DMP_CinerariumLT_1770607b.ml new file mode 100755 index 00000000..e5408a4f Binary files /dev/null and b/public/base/lighting/DMP_CinerariumLT_1770607b.ml differ diff --git a/public/base/lighting/DMP_Cinerarium_29f905f2.ml b/public/base/lighting/DMP_Cinerarium_29f905f2.ml new file mode 100755 index 00000000..11574a5a Binary files /dev/null and b/public/base/lighting/DMP_Cinerarium_29f905f2.ml differ diff --git a/public/base/lighting/DMP_FaceCrossing_562603da.ml b/public/base/lighting/DMP_FaceCrossing_562603da.ml new file mode 100755 index 00000000..edb0e8c4 Binary files /dev/null and b/public/base/lighting/DMP_FaceCrossing_562603da.ml differ diff --git a/public/base/lighting/DMP_Hoth_1f2b4ebe.ml b/public/base/lighting/DMP_Hoth_1f2b4ebe.ml new file mode 100755 index 00000000..73a9c8c1 Binary files /dev/null and b/public/base/lighting/DMP_Hoth_1f2b4ebe.ml differ diff --git a/public/base/lighting/DMP_IceGiant_27ae32f9.ml b/public/base/lighting/DMP_IceGiant_27ae32f9.ml new file mode 100755 index 00000000..07292630 Binary files /dev/null and b/public/base/lighting/DMP_IceGiant_27ae32f9.ml differ diff --git a/public/base/lighting/DMP_Magellan_3ec75495.ml b/public/base/lighting/DMP_Magellan_3ec75495.ml new file mode 100755 index 00000000..c77c8542 Binary files /dev/null and b/public/base/lighting/DMP_Magellan_3ec75495.ml differ diff --git a/public/base/lighting/DMP_MoonDance_4a0aa2ce.ml b/public/base/lighting/DMP_MoonDance_4a0aa2ce.ml new file mode 100755 index 00000000..746960dd Binary files /dev/null and b/public/base/lighting/DMP_MoonDance_4a0aa2ce.ml differ diff --git a/public/base/lighting/DMP_Paranoia_a73116c7.ml b/public/base/lighting/DMP_Paranoia_a73116c7.ml new file mode 100755 index 00000000..36aa59bf Binary files /dev/null and b/public/base/lighting/DMP_Paranoia_a73116c7.ml differ diff --git a/public/base/lighting/DMP_PariahLT_1eeeb2f3.ml b/public/base/lighting/DMP_PariahLT_1eeeb2f3.ml new file mode 100755 index 00000000..235a435f Binary files /dev/null and b/public/base/lighting/DMP_PariahLT_1eeeb2f3.ml differ diff --git a/public/base/lighting/DMP_PariahLT_5dbbd253.ml b/public/base/lighting/DMP_PariahLT_5dbbd253.ml new file mode 100755 index 00000000..d56ab7a4 Binary files /dev/null and b/public/base/lighting/DMP_PariahLT_5dbbd253.ml differ diff --git a/public/base/lighting/DMP_Pariah_5774d3ab.ml b/public/base/lighting/DMP_Pariah_5774d3ab.ml new file mode 100755 index 00000000..166343ab Binary files /dev/null and b/public/base/lighting/DMP_Pariah_5774d3ab.ml differ diff --git a/public/base/lighting/DMP_Pariah_bae29d7a.ml b/public/base/lighting/DMP_Pariah_bae29d7a.ml new file mode 100755 index 00000000..64e13294 Binary files /dev/null and b/public/base/lighting/DMP_Pariah_bae29d7a.ml differ diff --git a/public/base/lighting/DMP_PipeDream_b4220f7e.ml b/public/base/lighting/DMP_PipeDream_b4220f7e.ml new file mode 100755 index 00000000..688685c0 Binary files /dev/null and b/public/base/lighting/DMP_PipeDream_b4220f7e.ml differ diff --git a/public/base/lighting/DMP_RavineV_32d83be0.ml b/public/base/lighting/DMP_RavineV_32d83be0.ml new file mode 100755 index 00000000..e64d8a6d Binary files /dev/null and b/public/base/lighting/DMP_RavineV_32d83be0.ml differ diff --git a/public/base/lighting/DMP_ScorchedEarth_6ef2eb26.ml b/public/base/lighting/DMP_ScorchedEarth_6ef2eb26.ml new file mode 100755 index 00000000..2824230e Binary files /dev/null and b/public/base/lighting/DMP_ScorchedEarth_6ef2eb26.ml differ diff --git a/public/base/lighting/DMP_SimpleFlagArena_81bb7f85.ml b/public/base/lighting/DMP_SimpleFlagArena_81bb7f85.ml new file mode 100755 index 00000000..cdb135ec Binary files /dev/null and b/public/base/lighting/DMP_SimpleFlagArena_81bb7f85.ml differ diff --git a/public/base/lighting/DMP_SpinCycle_8111999d.ml b/public/base/lighting/DMP_SpinCycle_8111999d.ml new file mode 100755 index 00000000..d8005559 Binary files /dev/null and b/public/base/lighting/DMP_SpinCycle_8111999d.ml differ diff --git a/public/base/lighting/DMP_SpincycleLT_c077aa18.ml b/public/base/lighting/DMP_SpincycleLT_c077aa18.ml new file mode 100755 index 00000000..f5e35361 Binary files /dev/null and b/public/base/lighting/DMP_SpincycleLT_c077aa18.ml differ diff --git a/public/base/lighting/DMP_StarFallLT_313a7dd7.ml b/public/base/lighting/DMP_StarFallLT_313a7dd7.ml new file mode 100755 index 00000000..f1987c21 Binary files /dev/null and b/public/base/lighting/DMP_StarFallLT_313a7dd7.ml differ diff --git a/public/base/lighting/DMP_StarFallLT_51b265f4.ml b/public/base/lighting/DMP_StarFallLT_51b265f4.ml new file mode 100755 index 00000000..f8aa130c Binary files /dev/null and b/public/base/lighting/DMP_StarFallLT_51b265f4.ml differ diff --git a/public/base/lighting/DMP_Tyre_5d7be94.ml b/public/base/lighting/DMP_Tyre_5d7be94.ml new file mode 100755 index 00000000..a64113c8 Binary files /dev/null and b/public/base/lighting/DMP_Tyre_5d7be94.ml differ diff --git a/public/base/lighting/DMP_Wasteland_87bf335.ml b/public/base/lighting/DMP_Wasteland_87bf335.ml new file mode 100755 index 00000000..729391d6 Binary files /dev/null and b/public/base/lighting/DMP_Wasteland_87bf335.ml differ diff --git a/public/base/lighting/DX_IceLT_69603e1f.ml b/public/base/lighting/DX_IceLT_69603e1f.ml new file mode 100755 index 00000000..4c3a30e8 Binary files /dev/null and b/public/base/lighting/DX_IceLT_69603e1f.ml differ diff --git a/public/base/lighting/DX_Ice_492b02b7.ml b/public/base/lighting/DX_Ice_492b02b7.ml new file mode 100755 index 00000000..d4308b81 Binary files /dev/null and b/public/base/lighting/DX_Ice_492b02b7.ml differ diff --git a/public/base/lighting/Damnation_a8afd69c.ml b/public/base/lighting/Damnation_a8afd69c.ml new file mode 100755 index 00000000..73bf9700 Binary files /dev/null and b/public/base/lighting/Damnation_a8afd69c.ml differ diff --git a/public/base/lighting/DangerousCrossingLT_8205e1c3.ml b/public/base/lighting/DangerousCrossingLT_8205e1c3.ml new file mode 100755 index 00000000..cd297d20 Binary files /dev/null and b/public/base/lighting/DangerousCrossingLT_8205e1c3.ml differ diff --git a/public/base/lighting/DangerousCrossingLT_98fe44b0.ml b/public/base/lighting/DangerousCrossingLT_98fe44b0.ml new file mode 100755 index 00000000..4cf586d1 Binary files /dev/null and b/public/base/lighting/DangerousCrossingLT_98fe44b0.ml differ diff --git a/public/base/lighting/DeathBirdsFly1_e1b6748d.ml b/public/base/lighting/DeathBirdsFly1_e1b6748d.ml new file mode 100755 index 00000000..8443eb61 Binary files /dev/null and b/public/base/lighting/DeathBirdsFly1_e1b6748d.ml differ diff --git a/public/base/lighting/DermCrossingDeluxeLT_86255d21.ml b/public/base/lighting/DermCrossingDeluxeLT_86255d21.ml new file mode 100755 index 00000000..963cff0b Binary files /dev/null and b/public/base/lighting/DermCrossingDeluxeLT_86255d21.ml differ diff --git a/public/base/lighting/DermCrossingDeluxe_b5489c73.ml b/public/base/lighting/DermCrossingDeluxe_b5489c73.ml new file mode 100755 index 00000000..fef81224 Binary files /dev/null and b/public/base/lighting/DermCrossingDeluxe_b5489c73.ml differ diff --git a/public/base/lighting/DesertofDeathLak_9ef72690.ml b/public/base/lighting/DesertofDeathLak_9ef72690.ml new file mode 100755 index 00000000..515b14ec Binary files /dev/null and b/public/base/lighting/DesertofDeathLak_9ef72690.ml differ diff --git a/public/base/lighting/DiscordLT_8799b81.ml b/public/base/lighting/DiscordLT_8799b81.ml new file mode 100755 index 00000000..5270a8b0 Binary files /dev/null and b/public/base/lighting/DiscordLT_8799b81.ml differ diff --git a/public/base/lighting/Discord_d9dc93e8.ml b/public/base/lighting/Discord_d9dc93e8.ml new file mode 100755 index 00000000..30664e7e Binary files /dev/null and b/public/base/lighting/Discord_d9dc93e8.ml differ diff --git a/public/base/lighting/DustRunLak_6779c9d4.ml b/public/base/lighting/DustRunLak_6779c9d4.ml new file mode 100755 index 00000000..d365f7f1 Binary files /dev/null and b/public/base/lighting/DustRunLak_6779c9d4.ml differ diff --git a/public/base/lighting/DustToDust_c2ba2158.ml b/public/base/lighting/DustToDust_c2ba2158.ml new file mode 100755 index 00000000..07adb6bc Binary files /dev/null and b/public/base/lighting/DustToDust_c2ba2158.ml differ diff --git a/public/base/lighting/El_FinLT_e9dab457.ml b/public/base/lighting/El_FinLT_e9dab457.ml new file mode 100755 index 00000000..40915e5d Binary files /dev/null and b/public/base/lighting/El_FinLT_e9dab457.ml differ diff --git a/public/base/lighting/El_Fin_8316b0e5.ml b/public/base/lighting/El_Fin_8316b0e5.ml new file mode 100755 index 00000000..a4e55df2 Binary files /dev/null and b/public/base/lighting/El_Fin_8316b0e5.ml differ diff --git a/public/base/lighting/Entombed_e3bacfe0.ml b/public/base/lighting/Entombed_e3bacfe0.ml new file mode 100755 index 00000000..92f516ea Binary files /dev/null and b/public/base/lighting/Entombed_e3bacfe0.ml differ diff --git a/public/base/lighting/Envyrena_7791ad94.ml b/public/base/lighting/Envyrena_7791ad94.ml new file mode 100755 index 00000000..cfb0d674 Binary files /dev/null and b/public/base/lighting/Envyrena_7791ad94.ml differ diff --git a/public/base/lighting/EnyLand_68f85a3b.ml b/public/base/lighting/EnyLand_68f85a3b.ml new file mode 100755 index 00000000..382cf28d Binary files /dev/null and b/public/base/lighting/EnyLand_68f85a3b.ml differ diff --git a/public/base/lighting/Exhumed_20605cf5.ml b/public/base/lighting/Exhumed_20605cf5.ml new file mode 100755 index 00000000..433d15a3 Binary files /dev/null and b/public/base/lighting/Exhumed_20605cf5.ml differ diff --git a/public/base/lighting/Extractor_d5e74134.ml b/public/base/lighting/Extractor_d5e74134.ml new file mode 100755 index 00000000..3618a1d4 Binary files /dev/null and b/public/base/lighting/Extractor_d5e74134.ml differ diff --git a/public/base/lighting/FF_Hillside_2daafc5b.ml b/public/base/lighting/FF_Hillside_2daafc5b.ml new file mode 100755 index 00000000..5c2bcdfc Binary files /dev/null and b/public/base/lighting/FF_Hillside_2daafc5b.ml differ diff --git a/public/base/lighting/Fallout_9b18601a.ml b/public/base/lighting/Fallout_9b18601a.ml new file mode 100755 index 00000000..678ba745 Binary files /dev/null and b/public/base/lighting/Fallout_9b18601a.ml differ diff --git a/public/base/lighting/Fenix_78eeb8cd.ml b/public/base/lighting/Fenix_78eeb8cd.ml new file mode 100755 index 00000000..75b1b5d0 Binary files /dev/null and b/public/base/lighting/Fenix_78eeb8cd.ml differ diff --git a/public/base/lighting/Firestorm_16de2343.ml b/public/base/lighting/Firestorm_16de2343.ml new file mode 100755 index 00000000..f1911801 Binary files /dev/null and b/public/base/lighting/Firestorm_16de2343.ml differ diff --git a/public/base/lighting/Floatarena_297e95cb.ml b/public/base/lighting/Floatarena_297e95cb.ml new file mode 100755 index 00000000..1faa9fe8 Binary files /dev/null and b/public/base/lighting/Floatarena_297e95cb.ml differ diff --git a/public/base/lighting/FourWayCheckmate_f33d2fb6.ml b/public/base/lighting/FourWayCheckmate_f33d2fb6.ml new file mode 100755 index 00000000..0521978c Binary files /dev/null and b/public/base/lighting/FourWayCheckmate_f33d2fb6.ml differ diff --git a/public/base/lighting/FrozenForgeLT_743ce94a.ml b/public/base/lighting/FrozenForgeLT_743ce94a.ml new file mode 100755 index 00000000..6374d78d Binary files /dev/null and b/public/base/lighting/FrozenForgeLT_743ce94a.ml differ diff --git a/public/base/lighting/FrozenForgeLT_9931f1ae.ml b/public/base/lighting/FrozenForgeLT_9931f1ae.ml new file mode 100755 index 00000000..c29ebe70 Binary files /dev/null and b/public/base/lighting/FrozenForgeLT_9931f1ae.ml differ diff --git a/public/base/lighting/FrozenHopeLT_7213db78.ml b/public/base/lighting/FrozenHopeLT_7213db78.ml new file mode 100755 index 00000000..a286747b Binary files /dev/null and b/public/base/lighting/FrozenHopeLT_7213db78.ml differ diff --git a/public/base/lighting/FrozenHopeLT_b46d68eb.ml b/public/base/lighting/FrozenHopeLT_b46d68eb.ml new file mode 100755 index 00000000..b5cb2450 Binary files /dev/null and b/public/base/lighting/FrozenHopeLT_b46d68eb.ml differ diff --git a/public/base/lighting/FrozenHope_3a657c29.ml b/public/base/lighting/FrozenHope_3a657c29.ml new file mode 100755 index 00000000..46ef3d93 Binary files /dev/null and b/public/base/lighting/FrozenHope_3a657c29.ml differ diff --git a/public/base/lighting/FunHouse_604d2f6a.ml b/public/base/lighting/FunHouse_604d2f6a.ml new file mode 100755 index 00000000..4a700249 Binary files /dev/null and b/public/base/lighting/FunHouse_604d2f6a.ml differ diff --git a/public/base/lighting/GodsRiftLak_18e44714.ml b/public/base/lighting/GodsRiftLak_18e44714.ml new file mode 100755 index 00000000..c551a903 Binary files /dev/null and b/public/base/lighting/GodsRiftLak_18e44714.ml differ diff --git a/public/base/lighting/GrassyKnollLT_68c6cce.ml b/public/base/lighting/GrassyKnollLT_68c6cce.ml new file mode 100755 index 00000000..35478e20 Binary files /dev/null and b/public/base/lighting/GrassyKnollLT_68c6cce.ml differ diff --git a/public/base/lighting/GrassyKnoll_5c7374ad.ml b/public/base/lighting/GrassyKnoll_5c7374ad.ml new file mode 100755 index 00000000..9034bf98 Binary files /dev/null and b/public/base/lighting/GrassyKnoll_5c7374ad.ml differ diff --git a/public/base/lighting/GrassyKnoll_a8a31131.ml b/public/base/lighting/GrassyKnoll_a8a31131.ml new file mode 100755 index 00000000..8b7a5536 Binary files /dev/null and b/public/base/lighting/GrassyKnoll_a8a31131.ml differ diff --git a/public/base/lighting/GreenLawn_f4f6854f.ml b/public/base/lighting/GreenLawn_f4f6854f.ml new file mode 100755 index 00000000..bf095586 Binary files /dev/null and b/public/base/lighting/GreenLawn_f4f6854f.ml differ diff --git a/public/base/lighting/HO_Ice_259f9801.ml b/public/base/lighting/HO_Ice_259f9801.ml new file mode 100755 index 00000000..4c314835 Binary files /dev/null and b/public/base/lighting/HO_Ice_259f9801.ml differ diff --git a/public/base/lighting/HO_Lush_37ea33f0.ml b/public/base/lighting/HO_Lush_37ea33f0.ml new file mode 100755 index 00000000..9042729c Binary files /dev/null and b/public/base/lighting/HO_Lush_37ea33f0.ml differ diff --git a/public/base/lighting/HarvestDance_c7a75c2.ml b/public/base/lighting/HarvestDance_c7a75c2.ml new file mode 100755 index 00000000..389622ef Binary files /dev/null and b/public/base/lighting/HarvestDance_c7a75c2.ml differ diff --git a/public/base/lighting/Headstone_772e32ed.ml b/public/base/lighting/Headstone_772e32ed.ml new file mode 100755 index 00000000..21c27366 Binary files /dev/null and b/public/base/lighting/Headstone_772e32ed.ml differ diff --git a/public/base/lighting/Helioarena_1e75a885.ml b/public/base/lighting/Helioarena_1e75a885.ml new file mode 100755 index 00000000..6a54c8ab Binary files /dev/null and b/public/base/lighting/Helioarena_1e75a885.ml differ diff --git a/public/base/lighting/HiddenValley_a1dce28d.ml b/public/base/lighting/HiddenValley_a1dce28d.ml new file mode 100755 index 00000000..f9272e5a Binary files /dev/null and b/public/base/lighting/HiddenValley_a1dce28d.ml differ diff --git a/public/base/lighting/HighOctane_85127c80.ml b/public/base/lighting/HighOctane_85127c80.ml new file mode 100755 index 00000000..497adf9b Binary files /dev/null and b/public/base/lighting/HighOctane_85127c80.ml differ diff --git a/public/base/lighting/HighOctane_b_ac85e4.ml b/public/base/lighting/HighOctane_b_ac85e4.ml new file mode 100755 index 00000000..0e9acc38 Binary files /dev/null and b/public/base/lighting/HighOctane_b_ac85e4.ml differ diff --git a/public/base/lighting/HighWire_471b6cf9.ml b/public/base/lighting/HighWire_471b6cf9.ml new file mode 100755 index 00000000..34a5ef98 Binary files /dev/null and b/public/base/lighting/HighWire_471b6cf9.ml differ diff --git a/public/base/lighting/HillKingLT_50bd1439.ml b/public/base/lighting/HillKingLT_50bd1439.ml new file mode 100755 index 00000000..1daa8ab6 Binary files /dev/null and b/public/base/lighting/HillKingLT_50bd1439.ml differ diff --git a/public/base/lighting/HillKingLT_8da13f48.ml b/public/base/lighting/HillKingLT_8da13f48.ml new file mode 100755 index 00000000..a94d9e10 Binary files /dev/null and b/public/base/lighting/HillKingLT_8da13f48.ml differ diff --git a/public/base/lighting/HillKingLT_d836ed12.ml b/public/base/lighting/HillKingLT_d836ed12.ml new file mode 100755 index 00000000..284a46d8 Binary files /dev/null and b/public/base/lighting/HillKingLT_d836ed12.ml differ diff --git a/public/base/lighting/HillSideLT_4f08df8f.ml b/public/base/lighting/HillSideLT_4f08df8f.ml new file mode 100755 index 00000000..4926bf7d Binary files /dev/null and b/public/base/lighting/HillSideLT_4f08df8f.ml differ diff --git a/public/base/lighting/Hillside_33bc6f09.ml b/public/base/lighting/Hillside_33bc6f09.ml new file mode 100755 index 00000000..3bee70d6 Binary files /dev/null and b/public/base/lighting/Hillside_33bc6f09.ml differ diff --git a/public/base/lighting/Horde_4a800bd6.ml b/public/base/lighting/Horde_4a800bd6.ml new file mode 100755 index 00000000..1cba195d Binary files /dev/null and b/public/base/lighting/Horde_4a800bd6.ml differ diff --git a/public/base/lighting/HostileLoch_d7362c7.ml b/public/base/lighting/HostileLoch_d7362c7.ml new file mode 100755 index 00000000..c998a6e7 Binary files /dev/null and b/public/base/lighting/HostileLoch_d7362c7.ml differ diff --git a/public/base/lighting/IcePick_56b79dca.ml b/public/base/lighting/IcePick_56b79dca.ml new file mode 100755 index 00000000..f3f114b9 Binary files /dev/null and b/public/base/lighting/IcePick_56b79dca.ml differ diff --git a/public/base/lighting/IcePick_600de852.ml b/public/base/lighting/IcePick_600de852.ml new file mode 100755 index 00000000..508d00ea Binary files /dev/null and b/public/base/lighting/IcePick_600de852.ml differ diff --git a/public/base/lighting/InfernusLak_7d2be4ad.ml b/public/base/lighting/InfernusLak_7d2be4ad.ml new file mode 100755 index 00000000..57cb6fc5 Binary files /dev/null and b/public/base/lighting/InfernusLak_7d2be4ad.ml differ diff --git a/public/base/lighting/IveHadWorse_e39c99bf.ml b/public/base/lighting/IveHadWorse_e39c99bf.ml new file mode 100755 index 00000000..1cb8e4ea Binary files /dev/null and b/public/base/lighting/IveHadWorse_e39c99bf.ml differ diff --git a/public/base/lighting/JadeValley_7ef73b3d.ml b/public/base/lighting/JadeValley_7ef73b3d.ml new file mode 100755 index 00000000..47b3cde8 Binary files /dev/null and b/public/base/lighting/JadeValley_7ef73b3d.ml differ diff --git a/public/base/lighting/Lakefront_3703d244.ml b/public/base/lighting/Lakefront_3703d244.ml new file mode 100755 index 00000000..4b517007 Binary files /dev/null and b/public/base/lighting/Lakefront_3703d244.ml differ diff --git a/public/base/lighting/Logans_Run_c40b6d12.ml b/public/base/lighting/Logans_Run_c40b6d12.ml new file mode 100755 index 00000000..dee7c581 Binary files /dev/null and b/public/base/lighting/Logans_Run_c40b6d12.ml differ diff --git a/public/base/lighting/Mac_FlagArena_90666881.ml b/public/base/lighting/Mac_FlagArena_90666881.ml new file mode 100755 index 00000000..8f0b7cb9 Binary files /dev/null and b/public/base/lighting/Mac_FlagArena_90666881.ml differ diff --git a/public/base/lighting/Machineeggs_a5ccddc0.ml b/public/base/lighting/Machineeggs_a5ccddc0.ml new file mode 100755 index 00000000..0eb7aba4 Binary files /dev/null and b/public/base/lighting/Machineeggs_a5ccddc0.ml differ diff --git a/public/base/lighting/MagmaticLak_4073d809.ml b/public/base/lighting/MagmaticLak_4073d809.ml new file mode 100755 index 00000000..7aa87ca1 Binary files /dev/null and b/public/base/lighting/MagmaticLak_4073d809.ml differ diff --git a/public/base/lighting/Minerva_33feccb1.ml b/public/base/lighting/Minerva_33feccb1.ml new file mode 100755 index 00000000..4c901bf2 Binary files /dev/null and b/public/base/lighting/Minerva_33feccb1.ml differ diff --git a/public/base/lighting/MiniSunDried_3c5a0fc8.ml b/public/base/lighting/MiniSunDried_3c5a0fc8.ml new file mode 100755 index 00000000..c5c6ecf9 Binary files /dev/null and b/public/base/lighting/MiniSunDried_3c5a0fc8.ml differ diff --git a/public/base/lighting/Minotaur_171384b8.ml b/public/base/lighting/Minotaur_171384b8.ml new file mode 100755 index 00000000..3485a2a4 Binary files /dev/null and b/public/base/lighting/Minotaur_171384b8.ml differ diff --git a/public/base/lighting/MisadventureV2_ec7544a8.ml b/public/base/lighting/MisadventureV2_ec7544a8.ml new file mode 100755 index 00000000..83170a78 Binary files /dev/null and b/public/base/lighting/MisadventureV2_ec7544a8.ml differ diff --git a/public/base/lighting/Moonwalk_174f2bd4.ml b/public/base/lighting/Moonwalk_174f2bd4.ml new file mode 100755 index 00000000..9d92c728 Binary files /dev/null and b/public/base/lighting/Moonwalk_174f2bd4.ml differ diff --git a/public/base/lighting/NarcolepsyLT_73e7c21a.ml b/public/base/lighting/NarcolepsyLT_73e7c21a.ml new file mode 100755 index 00000000..25cf24fc Binary files /dev/null and b/public/base/lighting/NarcolepsyLT_73e7c21a.ml differ diff --git a/public/base/lighting/NatureMagic_2544c03b.ml b/public/base/lighting/NatureMagic_2544c03b.ml new file mode 100755 index 00000000..55242515 Binary files /dev/null and b/public/base/lighting/NatureMagic_2544c03b.ml differ diff --git a/public/base/lighting/Nightdance_7bfc8136.ml b/public/base/lighting/Nightdance_7bfc8136.ml new file mode 100755 index 00000000..2f11aae2 Binary files /dev/null and b/public/base/lighting/Nightdance_7bfc8136.ml differ diff --git a/public/base/lighting/Norty_eb1bd063.ml b/public/base/lighting/Norty_eb1bd063.ml new file mode 100755 index 00000000..1d88f947 Binary files /dev/null and b/public/base/lighting/Norty_eb1bd063.ml differ diff --git a/public/base/lighting/OsIrisLT_a734e9f4.ml b/public/base/lighting/OsIrisLT_a734e9f4.ml new file mode 100755 index 00000000..09c9cbfc Binary files /dev/null and b/public/base/lighting/OsIrisLT_a734e9f4.ml differ diff --git a/public/base/lighting/OsIrisLT_c9b12d6.ml b/public/base/lighting/OsIrisLT_c9b12d6.ml new file mode 100755 index 00000000..8e69628f Binary files /dev/null and b/public/base/lighting/OsIrisLT_c9b12d6.ml differ diff --git a/public/base/lighting/OuterWildsLT_fc7787a1.ml b/public/base/lighting/OuterWildsLT_fc7787a1.ml new file mode 100755 index 00000000..b11c215d Binary files /dev/null and b/public/base/lighting/OuterWildsLT_fc7787a1.ml differ diff --git a/public/base/lighting/OuterWilds_ad3695ec.ml b/public/base/lighting/OuterWilds_ad3695ec.ml new file mode 100755 index 00000000..7b57f82b Binary files /dev/null and b/public/base/lighting/OuterWilds_ad3695ec.ml differ diff --git a/public/base/lighting/PipeDreamLT_be0ac5c7.ml b/public/base/lighting/PipeDreamLT_be0ac5c7.ml new file mode 100755 index 00000000..24fb9f09 Binary files /dev/null and b/public/base/lighting/PipeDreamLT_be0ac5c7.ml differ diff --git a/public/base/lighting/PipeDreamLT_c8a581c1.ml b/public/base/lighting/PipeDreamLT_c8a581c1.ml new file mode 100755 index 00000000..536338f1 Binary files /dev/null and b/public/base/lighting/PipeDreamLT_c8a581c1.ml differ diff --git a/public/base/lighting/PlanetX_8a6e98e8.ml b/public/base/lighting/PlanetX_8a6e98e8.ml new file mode 100755 index 00000000..7267e879 Binary files /dev/null and b/public/base/lighting/PlanetX_8a6e98e8.ml differ diff --git a/public/base/lighting/PrizmaticLT_d1bb228d.ml b/public/base/lighting/PrizmaticLT_d1bb228d.ml new file mode 100755 index 00000000..37a295a6 Binary files /dev/null and b/public/base/lighting/PrizmaticLT_d1bb228d.ml differ diff --git a/public/base/lighting/PuliVeivari_ba861c8e.ml b/public/base/lighting/PuliVeivari_ba861c8e.ml new file mode 100755 index 00000000..c609b415 Binary files /dev/null and b/public/base/lighting/PuliVeivari_ba861c8e.ml differ diff --git a/public/base/lighting/RaindanceLT_8b15c940.ml b/public/base/lighting/RaindanceLT_8b15c940.ml new file mode 100755 index 00000000..6dce4586 Binary files /dev/null and b/public/base/lighting/RaindanceLT_8b15c940.ml differ diff --git a/public/base/lighting/RaindanceLT_ed3eadcd.ml b/public/base/lighting/RaindanceLT_ed3eadcd.ml new file mode 100755 index 00000000..9e58e496 Binary files /dev/null and b/public/base/lighting/RaindanceLT_ed3eadcd.ml differ diff --git a/public/base/lighting/Raindance_nefLak_35b8f6bc.ml b/public/base/lighting/Raindance_nefLak_35b8f6bc.ml new file mode 100755 index 00000000..d2c936f2 Binary files /dev/null and b/public/base/lighting/Raindance_nefLak_35b8f6bc.ml differ diff --git a/public/base/lighting/Raindance_nef_542af516.ml b/public/base/lighting/Raindance_nef_542af516.ml new file mode 100755 index 00000000..703756c3 Binary files /dev/null and b/public/base/lighting/Raindance_nef_542af516.ml differ diff --git a/public/base/lighting/Ravine_d9f4db83.ml b/public/base/lighting/Ravine_d9f4db83.ml new file mode 100755 index 00000000..52dd68f8 Binary files /dev/null and b/public/base/lighting/Ravine_d9f4db83.ml differ diff --git a/public/base/lighting/Reversion_16355b81.ml b/public/base/lighting/Reversion_16355b81.ml new file mode 100755 index 00000000..3d0f8158 Binary files /dev/null and b/public/base/lighting/Reversion_16355b81.ml differ diff --git a/public/base/lighting/RiverDance_51da8ec1.ml b/public/base/lighting/RiverDance_51da8ec1.ml new file mode 100755 index 00000000..4425b0c4 Binary files /dev/null and b/public/base/lighting/RiverDance_51da8ec1.ml differ diff --git a/public/base/lighting/Rollercoaster_nef_236560f9.ml b/public/base/lighting/Rollercoaster_nef_236560f9.ml new file mode 100755 index 00000000..8aeba08c Binary files /dev/null and b/public/base/lighting/Rollercoaster_nef_236560f9.ml differ diff --git a/public/base/lighting/RoundTheMountainLT_1d5f7a42.ml b/public/base/lighting/RoundTheMountainLT_1d5f7a42.ml new file mode 100755 index 00000000..60999231 Binary files /dev/null and b/public/base/lighting/RoundTheMountainLT_1d5f7a42.ml differ diff --git a/public/base/lighting/RoundTheMountainLT_d8d7a00a.ml b/public/base/lighting/RoundTheMountainLT_d8d7a00a.ml new file mode 100755 index 00000000..d0eb6a57 Binary files /dev/null and b/public/base/lighting/RoundTheMountainLT_d8d7a00a.ml differ diff --git a/public/base/lighting/RoundTheMountain_3c873c59.ml b/public/base/lighting/RoundTheMountain_3c873c59.ml new file mode 100755 index 00000000..da75f534 Binary files /dev/null and b/public/base/lighting/RoundTheMountain_3c873c59.ml differ diff --git a/public/base/lighting/Ruined_928042b0.ml b/public/base/lighting/Ruined_928042b0.ml new file mode 100755 index 00000000..b446f53d Binary files /dev/null and b/public/base/lighting/Ruined_928042b0.ml differ diff --git a/public/base/lighting/RunenmachtLT_566cc4af.ml b/public/base/lighting/RunenmachtLT_566cc4af.ml new file mode 100755 index 00000000..a2019b5f Binary files /dev/null and b/public/base/lighting/RunenmachtLT_566cc4af.ml differ diff --git a/public/base/lighting/RunenmachtLT_e29440db.ml b/public/base/lighting/RunenmachtLT_e29440db.ml new file mode 100755 index 00000000..01a3e8d0 Binary files /dev/null and b/public/base/lighting/RunenmachtLT_e29440db.ml differ diff --git a/public/base/lighting/RushLT_83e7ec01.ml b/public/base/lighting/RushLT_83e7ec01.ml new file mode 100755 index 00000000..1adcee1e Binary files /dev/null and b/public/base/lighting/RushLT_83e7ec01.ml differ diff --git a/public/base/lighting/RushLT_8cc32def.ml b/public/base/lighting/RushLT_8cc32def.ml new file mode 100755 index 00000000..51f28079 Binary files /dev/null and b/public/base/lighting/RushLT_8cc32def.ml differ diff --git a/public/base/lighting/Rush_7f8c0bd.ml b/public/base/lighting/Rush_7f8c0bd.ml new file mode 100755 index 00000000..d09459be Binary files /dev/null and b/public/base/lighting/Rush_7f8c0bd.ml differ diff --git a/public/base/lighting/S5_DamnationLT_2e874420.ml b/public/base/lighting/S5_DamnationLT_2e874420.ml new file mode 100755 index 00000000..878ffca2 Binary files /dev/null and b/public/base/lighting/S5_DamnationLT_2e874420.ml differ diff --git a/public/base/lighting/S5_DamnationLT_93d28001.ml b/public/base/lighting/S5_DamnationLT_93d28001.ml new file mode 100755 index 00000000..a9250e23 Binary files /dev/null and b/public/base/lighting/S5_DamnationLT_93d28001.ml differ diff --git a/public/base/lighting/S5_Damnation_12876ea.ml b/public/base/lighting/S5_Damnation_12876ea.ml new file mode 100755 index 00000000..59e89f0c Binary files /dev/null and b/public/base/lighting/S5_Damnation_12876ea.ml differ diff --git a/public/base/lighting/S5_Icedance_23935c84.ml b/public/base/lighting/S5_Icedance_23935c84.ml new file mode 100755 index 00000000..b7394ab3 Binary files /dev/null and b/public/base/lighting/S5_Icedance_23935c84.ml differ diff --git a/public/base/lighting/S5_MassiveLT_774d8053.ml b/public/base/lighting/S5_MassiveLT_774d8053.ml new file mode 100755 index 00000000..61144eff Binary files /dev/null and b/public/base/lighting/S5_MassiveLT_774d8053.ml differ diff --git a/public/base/lighting/S5_MassiveLT_aa83559d.ml b/public/base/lighting/S5_MassiveLT_aa83559d.ml new file mode 100755 index 00000000..78ce9f69 Binary files /dev/null and b/public/base/lighting/S5_MassiveLT_aa83559d.ml differ diff --git a/public/base/lighting/S5_Massive_72b32b94.ml b/public/base/lighting/S5_Massive_72b32b94.ml new file mode 100755 index 00000000..2daeb12a Binary files /dev/null and b/public/base/lighting/S5_Massive_72b32b94.ml differ diff --git a/public/base/lighting/S5_Massive_a0889977.ml b/public/base/lighting/S5_Massive_a0889977.ml new file mode 100755 index 00000000..bec0f69e Binary files /dev/null and b/public/base/lighting/S5_Massive_a0889977.ml differ diff --git a/public/base/lighting/S5_Mimicry_a7de0fbe.ml b/public/base/lighting/S5_Mimicry_a7de0fbe.ml new file mode 100755 index 00000000..12c3c2bd Binary files /dev/null and b/public/base/lighting/S5_Mimicry_a7de0fbe.ml differ diff --git a/public/base/lighting/S5_Mordacity_7f7769e0.ml b/public/base/lighting/S5_Mordacity_7f7769e0.ml new file mode 100755 index 00000000..308b6cfa Binary files /dev/null and b/public/base/lighting/S5_Mordacity_7f7769e0.ml differ diff --git a/public/base/lighting/S5_Reynard_3d07b96b.ml b/public/base/lighting/S5_Reynard_3d07b96b.ml new file mode 100755 index 00000000..5f59614c Binary files /dev/null and b/public/base/lighting/S5_Reynard_3d07b96b.ml differ diff --git a/public/base/lighting/S5_Sherman_d255001b.ml b/public/base/lighting/S5_Sherman_d255001b.ml new file mode 100755 index 00000000..6ef77d91 Binary files /dev/null and b/public/base/lighting/S5_Sherman_d255001b.ml differ diff --git a/public/base/lighting/S5_SilenusLT_b44256fa.ml b/public/base/lighting/S5_SilenusLT_b44256fa.ml new file mode 100755 index 00000000..e925dda9 Binary files /dev/null and b/public/base/lighting/S5_SilenusLT_b44256fa.ml differ diff --git a/public/base/lighting/S5_Silenus_337a3c5b.ml b/public/base/lighting/S5_Silenus_337a3c5b.ml new file mode 100755 index 00000000..da7cb31a Binary files /dev/null and b/public/base/lighting/S5_Silenus_337a3c5b.ml differ diff --git a/public/base/lighting/S5_Woodymyrk_ec89b88f.ml b/public/base/lighting/S5_Woodymyrk_ec89b88f.ml new file mode 100755 index 00000000..ea4cdae7 Binary files /dev/null and b/public/base/lighting/S5_Woodymyrk_ec89b88f.ml differ diff --git a/public/base/lighting/S8_Cardiac_1b8fd622.ml b/public/base/lighting/S8_Cardiac_1b8fd622.ml new file mode 100755 index 00000000..86873a54 Binary files /dev/null and b/public/base/lighting/S8_Cardiac_1b8fd622.ml differ diff --git a/public/base/lighting/S8_GeothermalLak_20f3a205.ml b/public/base/lighting/S8_GeothermalLak_20f3a205.ml new file mode 100755 index 00000000..d0496229 Binary files /dev/null and b/public/base/lighting/S8_GeothermalLak_20f3a205.ml differ diff --git a/public/base/lighting/S8_Mountking_44b27865.ml b/public/base/lighting/S8_Mountking_44b27865.ml new file mode 100755 index 00000000..207ecfd7 Binary files /dev/null and b/public/base/lighting/S8_Mountking_44b27865.ml differ diff --git a/public/base/lighting/S8_Opus_efcc41a2.ml b/public/base/lighting/S8_Opus_efcc41a2.ml new file mode 100755 index 00000000..b94a0ec0 Binary files /dev/null and b/public/base/lighting/S8_Opus_efcc41a2.ml differ diff --git a/public/base/lighting/S8_ZilchLT_b45c6931.ml b/public/base/lighting/S8_ZilchLT_b45c6931.ml new file mode 100755 index 00000000..d32f121a Binary files /dev/null and b/public/base/lighting/S8_ZilchLT_b45c6931.ml differ diff --git a/public/base/lighting/S8_ZilchLT_d5e6be15.ml b/public/base/lighting/S8_ZilchLT_d5e6be15.ml new file mode 100755 index 00000000..db00902b Binary files /dev/null and b/public/base/lighting/S8_ZilchLT_d5e6be15.ml differ diff --git a/public/base/lighting/SC_Ice_af6eba.ml b/public/base/lighting/SC_Ice_af6eba.ml new file mode 100755 index 00000000..28756896 Binary files /dev/null and b/public/base/lighting/SC_Ice_af6eba.ml differ diff --git a/public/base/lighting/SC_Normal_799da350.ml b/public/base/lighting/SC_Normal_799da350.ml new file mode 100755 index 00000000..7c30263f Binary files /dev/null and b/public/base/lighting/SC_Normal_799da350.ml differ diff --git a/public/base/lighting/SaddiesHill_698e83d5.ml b/public/base/lighting/SaddiesHill_698e83d5.ml new file mode 100755 index 00000000..344a1f38 Binary files /dev/null and b/public/base/lighting/SaddiesHill_698e83d5.ml differ diff --git a/public/base/lighting/Sanctuary_7c20b606.ml b/public/base/lighting/Sanctuary_7c20b606.ml new file mode 100755 index 00000000..6ca89c93 Binary files /dev/null and b/public/base/lighting/Sanctuary_7c20b606.ml differ diff --git a/public/base/lighting/SandyRunLT_91cbfd2f.ml b/public/base/lighting/SandyRunLT_91cbfd2f.ml new file mode 100755 index 00000000..56a7bdf7 Binary files /dev/null and b/public/base/lighting/SandyRunLT_91cbfd2f.ml differ diff --git a/public/base/lighting/Sangre_de_Grado_ae25e9e2.ml b/public/base/lighting/Sangre_de_Grado_ae25e9e2.ml new file mode 100755 index 00000000..fd7b5006 Binary files /dev/null and b/public/base/lighting/Sangre_de_Grado_ae25e9e2.ml differ diff --git a/public/base/lighting/Sentry_21483143.ml b/public/base/lighting/Sentry_21483143.ml new file mode 100755 index 00000000..81d88488 Binary files /dev/null and b/public/base/lighting/Sentry_21483143.ml differ diff --git a/public/base/lighting/ShortFall_aa1e57bb.ml b/public/base/lighting/ShortFall_aa1e57bb.ml new file mode 100755 index 00000000..776ec24b Binary files /dev/null and b/public/base/lighting/ShortFall_aa1e57bb.ml differ diff --git a/public/base/lighting/SignalLT_4f74b06a.ml b/public/base/lighting/SignalLT_4f74b06a.ml new file mode 100755 index 00000000..2933cbdc Binary files /dev/null and b/public/base/lighting/SignalLT_4f74b06a.ml differ diff --git a/public/base/lighting/SignalLT_9bae58a.ml b/public/base/lighting/SignalLT_9bae58a.ml new file mode 100755 index 00000000..200f2ff7 Binary files /dev/null and b/public/base/lighting/SignalLT_9bae58a.ml differ diff --git a/public/base/lighting/Signal_e7aade91.ml b/public/base/lighting/Signal_e7aade91.ml new file mode 100755 index 00000000..79ccc71f Binary files /dev/null and b/public/base/lighting/Signal_e7aade91.ml differ diff --git a/public/base/lighting/SkiFree_Randomizer_7dda3eb1.ml b/public/base/lighting/SkiFree_Randomizer_7dda3eb1.ml new file mode 100755 index 00000000..59ca8031 Binary files /dev/null and b/public/base/lighting/SkiFree_Randomizer_7dda3eb1.ml differ diff --git a/public/base/lighting/SkinnyDipLak_c997a78f.ml b/public/base/lighting/SkinnyDipLak_c997a78f.ml new file mode 100755 index 00000000..7a43f43b Binary files /dev/null and b/public/base/lighting/SkinnyDipLak_c997a78f.ml differ diff --git a/public/base/lighting/Slapdash_93679deb.ml b/public/base/lighting/Slapdash_93679deb.ml new file mode 100755 index 00000000..934cadd4 Binary files /dev/null and b/public/base/lighting/Slapdash_93679deb.ml differ diff --git a/public/base/lighting/SmallCrossingLT_8b0a6034.ml b/public/base/lighting/SmallCrossingLT_8b0a6034.ml new file mode 100755 index 00000000..56c7c209 Binary files /dev/null and b/public/base/lighting/SmallCrossingLT_8b0a6034.ml differ diff --git a/public/base/lighting/SmallTimeLT_89653a5e.ml b/public/base/lighting/SmallTimeLT_89653a5e.ml new file mode 100755 index 00000000..e1fa1ebb Binary files /dev/null and b/public/base/lighting/SmallTimeLT_89653a5e.ml differ diff --git a/public/base/lighting/SolsDescentLak_11a78868.ml b/public/base/lighting/SolsDescentLak_11a78868.ml new file mode 100755 index 00000000..f49ee92d Binary files /dev/null and b/public/base/lighting/SolsDescentLak_11a78868.ml differ diff --git a/public/base/lighting/SpectreLak_5e17e9b3.ml b/public/base/lighting/SpectreLak_5e17e9b3.ml new file mode 100755 index 00000000..4dbaacfb Binary files /dev/null and b/public/base/lighting/SpectreLak_5e17e9b3.ml differ diff --git a/public/base/lighting/SpyLand_21ea4c6.ml b/public/base/lighting/SpyLand_21ea4c6.ml new file mode 100755 index 00000000..a71bedc6 Binary files /dev/null and b/public/base/lighting/SpyLand_21ea4c6.ml differ diff --git a/public/base/lighting/SunDriedLak_e0d74cbd.ml b/public/base/lighting/SunDriedLak_e0d74cbd.ml new file mode 100755 index 00000000..618dded0 Binary files /dev/null and b/public/base/lighting/SunDriedLak_e0d74cbd.ml differ diff --git a/public/base/lighting/Sundance_2b83620c.ml b/public/base/lighting/Sundance_2b83620c.ml new file mode 100755 index 00000000..69a194f6 Binary files /dev/null and b/public/base/lighting/Sundance_2b83620c.ml differ diff --git a/public/base/lighting/SuperHappyBouncyFunTime_b901c3ef.ml b/public/base/lighting/SuperHappyBouncyFunTime_b901c3ef.ml new file mode 100755 index 00000000..c309b757 Binary files /dev/null and b/public/base/lighting/SuperHappyBouncyFunTime_b901c3ef.ml differ diff --git a/public/base/lighting/SuperiorWaterworks_f456e8d9.ml b/public/base/lighting/SuperiorWaterworks_f456e8d9.ml new file mode 100755 index 00000000..bb1fddca Binary files /dev/null and b/public/base/lighting/SuperiorWaterworks_f456e8d9.ml differ diff --git a/public/base/lighting/TWL2_Bleed_e6d5b374.ml b/public/base/lighting/TWL2_Bleed_e6d5b374.ml new file mode 100755 index 00000000..b8469827 Binary files /dev/null and b/public/base/lighting/TWL2_Bleed_e6d5b374.ml differ diff --git a/public/base/lighting/TWL2_BlueMoon_21ccae9c.ml b/public/base/lighting/TWL2_BlueMoon_21ccae9c.ml new file mode 100755 index 00000000..d1f99fd5 Binary files /dev/null and b/public/base/lighting/TWL2_BlueMoon_21ccae9c.ml differ diff --git a/public/base/lighting/TWL2_BlueMoon_7c61bcd5.ml b/public/base/lighting/TWL2_BlueMoon_7c61bcd5.ml new file mode 100755 index 00000000..882947f3 Binary files /dev/null and b/public/base/lighting/TWL2_BlueMoon_7c61bcd5.ml differ diff --git a/public/base/lighting/TWL2_BlueMoon_a95478a6.ml b/public/base/lighting/TWL2_BlueMoon_a95478a6.ml new file mode 100755 index 00000000..183d20eb Binary files /dev/null and b/public/base/lighting/TWL2_BlueMoon_a95478a6.ml differ diff --git a/public/base/lighting/TWL2_CanyonCrusadeDeluxeLT_c1ae3753.ml b/public/base/lighting/TWL2_CanyonCrusadeDeluxeLT_c1ae3753.ml new file mode 100755 index 00000000..4ba3c16e Binary files /dev/null and b/public/base/lighting/TWL2_CanyonCrusadeDeluxeLT_c1ae3753.ml differ diff --git a/public/base/lighting/TWL2_CanyonCrusadeDeluxeLT_dbd8196e.ml b/public/base/lighting/TWL2_CanyonCrusadeDeluxeLT_dbd8196e.ml new file mode 100755 index 00000000..c32e12b4 Binary files /dev/null and b/public/base/lighting/TWL2_CanyonCrusadeDeluxeLT_dbd8196e.ml differ diff --git a/public/base/lighting/TWL2_CanyonCrusadeDeluxe_7452f969.ml b/public/base/lighting/TWL2_CanyonCrusadeDeluxe_7452f969.ml new file mode 100755 index 00000000..b1f797b3 Binary files /dev/null and b/public/base/lighting/TWL2_CanyonCrusadeDeluxe_7452f969.ml differ diff --git a/public/base/lighting/TWL2_CelerityLT_bc01478.ml b/public/base/lighting/TWL2_CelerityLT_bc01478.ml new file mode 100755 index 00000000..df4885fe Binary files /dev/null and b/public/base/lighting/TWL2_CelerityLT_bc01478.ml differ diff --git a/public/base/lighting/TWL2_CelerityLT_f2ecb468.ml b/public/base/lighting/TWL2_CelerityLT_f2ecb468.ml new file mode 100755 index 00000000..e7605e26 Binary files /dev/null and b/public/base/lighting/TWL2_CelerityLT_f2ecb468.ml differ diff --git a/public/base/lighting/TWL2_Celerity_83b5b539.ml b/public/base/lighting/TWL2_Celerity_83b5b539.ml new file mode 100755 index 00000000..044091ae Binary files /dev/null and b/public/base/lighting/TWL2_Celerity_83b5b539.ml differ diff --git a/public/base/lighting/TWL2_Dissention_d30eb753.ml b/public/base/lighting/TWL2_Dissention_d30eb753.ml new file mode 100755 index 00000000..b4169893 Binary files /dev/null and b/public/base/lighting/TWL2_Dissention_d30eb753.ml differ diff --git a/public/base/lighting/TWL2_Drifts_a70061b9.ml b/public/base/lighting/TWL2_Drifts_a70061b9.ml new file mode 100755 index 00000000..4342088c Binary files /dev/null and b/public/base/lighting/TWL2_Drifts_a70061b9.ml differ diff --git a/public/base/lighting/TWL2_Drorck_add44b54.ml b/public/base/lighting/TWL2_Drorck_add44b54.ml new file mode 100755 index 00000000..cfe3f66c Binary files /dev/null and b/public/base/lighting/TWL2_Drorck_add44b54.ml differ diff --git a/public/base/lighting/TWL2_FrozenGlory_e2aae3eb.ml b/public/base/lighting/TWL2_FrozenGlory_e2aae3eb.ml new file mode 100755 index 00000000..3a980cbf Binary files /dev/null and b/public/base/lighting/TWL2_FrozenGlory_e2aae3eb.ml differ diff --git a/public/base/lighting/TWL2_HildebrandLT_4cb441fb.ml b/public/base/lighting/TWL2_HildebrandLT_4cb441fb.ml new file mode 100755 index 00000000..42465cd4 Binary files /dev/null and b/public/base/lighting/TWL2_HildebrandLT_4cb441fb.ml differ diff --git a/public/base/lighting/TWL2_HildebrandLT_fbf9260d.ml b/public/base/lighting/TWL2_HildebrandLT_fbf9260d.ml new file mode 100755 index 00000000..3330459e Binary files /dev/null and b/public/base/lighting/TWL2_HildebrandLT_fbf9260d.ml differ diff --git a/public/base/lighting/TWL2_Hildebrand_ff9349b8.ml b/public/base/lighting/TWL2_Hildebrand_ff9349b8.ml new file mode 100755 index 00000000..4ebf2338 Binary files /dev/null and b/public/base/lighting/TWL2_Hildebrand_ff9349b8.ml differ diff --git a/public/base/lighting/TWL2_IceDagger_a8551aa2.ml b/public/base/lighting/TWL2_IceDagger_a8551aa2.ml new file mode 100755 index 00000000..5e81e88e Binary files /dev/null and b/public/base/lighting/TWL2_IceDagger_a8551aa2.ml differ diff --git a/public/base/lighting/TWL2_JaggedClawLT_13a8fe76.ml b/public/base/lighting/TWL2_JaggedClawLT_13a8fe76.ml new file mode 100755 index 00000000..6889fd75 Binary files /dev/null and b/public/base/lighting/TWL2_JaggedClawLT_13a8fe76.ml differ diff --git a/public/base/lighting/TWL2_JaggedClawLT_caff2b5d.ml b/public/base/lighting/TWL2_JaggedClawLT_caff2b5d.ml new file mode 100755 index 00000000..edbc1163 Binary files /dev/null and b/public/base/lighting/TWL2_JaggedClawLT_caff2b5d.ml differ diff --git a/public/base/lighting/TWL2_JaggedClaw_ae434bfa.ml b/public/base/lighting/TWL2_JaggedClaw_ae434bfa.ml new file mode 100755 index 00000000..bf3c8469 Binary files /dev/null and b/public/base/lighting/TWL2_JaggedClaw_ae434bfa.ml differ diff --git a/public/base/lighting/TWL2_Magnum_bbaaf3b7.ml b/public/base/lighting/TWL2_Magnum_bbaaf3b7.ml new file mode 100755 index 00000000..f97ca4ad Binary files /dev/null and b/public/base/lighting/TWL2_Magnum_bbaaf3b7.ml differ diff --git a/public/base/lighting/TWL2_MidnightMayhemDeluxe_f0479bd5.ml b/public/base/lighting/TWL2_MidnightMayhemDeluxe_f0479bd5.ml new file mode 100755 index 00000000..b68fd183 Binary files /dev/null and b/public/base/lighting/TWL2_MidnightMayhemDeluxe_f0479bd5.ml differ diff --git a/public/base/lighting/TWL2_MuddySwamp_202e755e.ml b/public/base/lighting/TWL2_MuddySwamp_202e755e.ml new file mode 100755 index 00000000..df720b31 Binary files /dev/null and b/public/base/lighting/TWL2_MuddySwamp_202e755e.ml differ diff --git a/public/base/lighting/TWL2_Norty_8a4142af.ml b/public/base/lighting/TWL2_Norty_8a4142af.ml new file mode 100755 index 00000000..7f809af8 Binary files /dev/null and b/public/base/lighting/TWL2_Norty_8a4142af.ml differ diff --git a/public/base/lighting/TWL2_Ocular_d10fca4c.ml b/public/base/lighting/TWL2_Ocular_d10fca4c.ml new file mode 100755 index 00000000..d9322de0 Binary files /dev/null and b/public/base/lighting/TWL2_Ocular_d10fca4c.ml differ diff --git a/public/base/lighting/TWL2_SkylightLT_c37d56e9.ml b/public/base/lighting/TWL2_SkylightLT_c37d56e9.ml new file mode 100755 index 00000000..5dee8077 Binary files /dev/null and b/public/base/lighting/TWL2_SkylightLT_c37d56e9.ml differ diff --git a/public/base/lighting/TWL2_SkylightLT_f4b7bcf2.ml b/public/base/lighting/TWL2_SkylightLT_f4b7bcf2.ml new file mode 100755 index 00000000..b1937a9a Binary files /dev/null and b/public/base/lighting/TWL2_SkylightLT_f4b7bcf2.ml differ diff --git a/public/base/lighting/TWL_Abaddon_661d5ca.ml b/public/base/lighting/TWL_Abaddon_661d5ca.ml new file mode 100755 index 00000000..c2a22e29 Binary files /dev/null and b/public/base/lighting/TWL_Abaddon_661d5ca.ml differ diff --git a/public/base/lighting/TWL_BeachBlitzLT_d50e4150.ml b/public/base/lighting/TWL_BeachBlitzLT_d50e4150.ml new file mode 100755 index 00000000..717235e0 Binary files /dev/null and b/public/base/lighting/TWL_BeachBlitzLT_d50e4150.ml differ diff --git a/public/base/lighting/TWL_BeachBlitzLT_ff00cacb.ml b/public/base/lighting/TWL_BeachBlitzLT_ff00cacb.ml new file mode 100755 index 00000000..49b51c85 Binary files /dev/null and b/public/base/lighting/TWL_BeachBlitzLT_ff00cacb.ml differ diff --git a/public/base/lighting/TWL_BeachBlitzLak_8391be13.ml b/public/base/lighting/TWL_BeachBlitzLak_8391be13.ml new file mode 100755 index 00000000..5427fae2 Binary files /dev/null and b/public/base/lighting/TWL_BeachBlitzLak_8391be13.ml differ diff --git a/public/base/lighting/TWL_BeachBlitz_2ba27e9a.ml b/public/base/lighting/TWL_BeachBlitz_2ba27e9a.ml new file mode 100755 index 00000000..465c0878 Binary files /dev/null and b/public/base/lighting/TWL_BeachBlitz_2ba27e9a.ml differ diff --git a/public/base/lighting/TWL_BeggarsRun_ac20e6fb.ml b/public/base/lighting/TWL_BeggarsRun_ac20e6fb.ml new file mode 100755 index 00000000..60f3681d Binary files /dev/null and b/public/base/lighting/TWL_BeggarsRun_ac20e6fb.ml differ diff --git a/public/base/lighting/TWL_Boss_d15d03dd.ml b/public/base/lighting/TWL_Boss_d15d03dd.ml new file mode 100755 index 00000000..2009a1f5 Binary files /dev/null and b/public/base/lighting/TWL_Boss_d15d03dd.ml differ diff --git a/public/base/lighting/TWL_Chokepoint_a2218645.ml b/public/base/lighting/TWL_Chokepoint_a2218645.ml new file mode 100755 index 00000000..fd7f7237 Binary files /dev/null and b/public/base/lighting/TWL_Chokepoint_a2218645.ml differ diff --git a/public/base/lighting/TWL_Crossfire_68b88bb4.ml b/public/base/lighting/TWL_Crossfire_68b88bb4.ml new file mode 100755 index 00000000..1bd3ad6a Binary files /dev/null and b/public/base/lighting/TWL_Crossfire_68b88bb4.ml differ diff --git a/public/base/lighting/TWL_Damnation_f601da24.ml b/public/base/lighting/TWL_Damnation_f601da24.ml new file mode 100755 index 00000000..2e0159f0 Binary files /dev/null and b/public/base/lighting/TWL_Damnation_f601da24.ml differ diff --git a/public/base/lighting/TWL_DangerousCrossing_c0f5608a.ml b/public/base/lighting/TWL_DangerousCrossing_c0f5608a.ml new file mode 100755 index 00000000..5f5a315d Binary files /dev/null and b/public/base/lighting/TWL_DangerousCrossing_c0f5608a.ml differ diff --git a/public/base/lighting/TWL_DeadlyBirdsSong_9eb082cf.ml b/public/base/lighting/TWL_DeadlyBirdsSong_9eb082cf.ml new file mode 100755 index 00000000..32195723 Binary files /dev/null and b/public/base/lighting/TWL_DeadlyBirdsSong_9eb082cf.ml differ diff --git a/public/base/lighting/TWL_Drifts_3957320.ml b/public/base/lighting/TWL_Drifts_3957320.ml new file mode 100755 index 00000000..3cd3f9fe Binary files /dev/null and b/public/base/lighting/TWL_Drifts_3957320.ml differ diff --git a/public/base/lighting/TWL_FeignLT_423b7f43.ml b/public/base/lighting/TWL_FeignLT_423b7f43.ml new file mode 100755 index 00000000..ddcb4426 Binary files /dev/null and b/public/base/lighting/TWL_FeignLT_423b7f43.ml differ diff --git a/public/base/lighting/TWL_FeignLT_97abf48c.ml b/public/base/lighting/TWL_FeignLT_97abf48c.ml new file mode 100755 index 00000000..e4cd57ec Binary files /dev/null and b/public/base/lighting/TWL_FeignLT_97abf48c.ml differ diff --git a/public/base/lighting/TWL_Feign_69a86ab3.ml b/public/base/lighting/TWL_Feign_69a86ab3.ml new file mode 100755 index 00000000..720516c3 Binary files /dev/null and b/public/base/lighting/TWL_Feign_69a86ab3.ml differ diff --git a/public/base/lighting/TWL_Harvester_6c61fcbf.ml b/public/base/lighting/TWL_Harvester_6c61fcbf.ml new file mode 100755 index 00000000..dd18bd30 Binary files /dev/null and b/public/base/lighting/TWL_Harvester_6c61fcbf.ml differ diff --git a/public/base/lighting/TWL_Katabatic_28e374c5.ml b/public/base/lighting/TWL_Katabatic_28e374c5.ml new file mode 100755 index 00000000..e5ac6745 Binary files /dev/null and b/public/base/lighting/TWL_Katabatic_28e374c5.ml differ diff --git a/public/base/lighting/TWL_Magmatic_79ca25bd.ml b/public/base/lighting/TWL_Magmatic_79ca25bd.ml new file mode 100755 index 00000000..4140d462 Binary files /dev/null and b/public/base/lighting/TWL_Magmatic_79ca25bd.ml differ diff --git a/public/base/lighting/TWL_Minotaur_4735e9ea.ml b/public/base/lighting/TWL_Minotaur_4735e9ea.ml new file mode 100755 index 00000000..f6ef4ca2 Binary files /dev/null and b/public/base/lighting/TWL_Minotaur_4735e9ea.ml differ diff --git a/public/base/lighting/TWL_OsIris_af0cd5e3.ml b/public/base/lighting/TWL_OsIris_af0cd5e3.ml new file mode 100755 index 00000000..281af8d3 Binary files /dev/null and b/public/base/lighting/TWL_OsIris_af0cd5e3.ml differ diff --git a/public/base/lighting/TWL_Pandemonium_96c05f13.ml b/public/base/lighting/TWL_Pandemonium_96c05f13.ml new file mode 100755 index 00000000..d29846c8 Binary files /dev/null and b/public/base/lighting/TWL_Pandemonium_96c05f13.ml differ diff --git a/public/base/lighting/TWL_Quagmire_3d196e62.ml b/public/base/lighting/TWL_Quagmire_3d196e62.ml new file mode 100755 index 00000000..cd42cac6 Binary files /dev/null and b/public/base/lighting/TWL_Quagmire_3d196e62.ml differ diff --git a/public/base/lighting/TWL_Raindance_e335287d.ml b/public/base/lighting/TWL_Raindance_e335287d.ml new file mode 100755 index 00000000..42f20845 Binary files /dev/null and b/public/base/lighting/TWL_Raindance_e335287d.ml differ diff --git a/public/base/lighting/TWL_Ramparts_e1d65b38.ml b/public/base/lighting/TWL_Ramparts_e1d65b38.ml new file mode 100755 index 00000000..e352c150 Binary files /dev/null and b/public/base/lighting/TWL_Ramparts_e1d65b38.ml differ diff --git a/public/base/lighting/TWL_Reversion_2057b26c.ml b/public/base/lighting/TWL_Reversion_2057b26c.ml new file mode 100755 index 00000000..58b20961 Binary files /dev/null and b/public/base/lighting/TWL_Reversion_2057b26c.ml differ diff --git a/public/base/lighting/TWL_RollercoasterLT_4becc052.ml b/public/base/lighting/TWL_RollercoasterLT_4becc052.ml new file mode 100755 index 00000000..b43538f3 Binary files /dev/null and b/public/base/lighting/TWL_RollercoasterLT_4becc052.ml differ diff --git a/public/base/lighting/TWL_Runenmacht_fce2e1dd.ml b/public/base/lighting/TWL_Runenmacht_fce2e1dd.ml new file mode 100755 index 00000000..416b4d35 Binary files /dev/null and b/public/base/lighting/TWL_Runenmacht_fce2e1dd.ml differ diff --git a/public/base/lighting/TWL_Slapdash_386535c9.ml b/public/base/lighting/TWL_Slapdash_386535c9.ml new file mode 100755 index 00000000..30f4d63f Binary files /dev/null and b/public/base/lighting/TWL_Slapdash_386535c9.ml differ diff --git a/public/base/lighting/TWL_Slapdash_6c5d45fc.ml b/public/base/lighting/TWL_Slapdash_6c5d45fc.ml new file mode 100755 index 00000000..b28fac13 Binary files /dev/null and b/public/base/lighting/TWL_Slapdash_6c5d45fc.ml differ diff --git a/public/base/lighting/TWL_Snowblind_7d864772.ml b/public/base/lighting/TWL_Snowblind_7d864772.ml new file mode 100755 index 00000000..2a56b39c Binary files /dev/null and b/public/base/lighting/TWL_Snowblind_7d864772.ml differ diff --git a/public/base/lighting/TWL_Starfallen_220caf10.ml b/public/base/lighting/TWL_Starfallen_220caf10.ml new file mode 100755 index 00000000..2ddf5b4c Binary files /dev/null and b/public/base/lighting/TWL_Starfallen_220caf10.ml differ diff --git a/public/base/lighting/TWL_StonehengeLT_186408d.ml b/public/base/lighting/TWL_StonehengeLT_186408d.ml new file mode 100755 index 00000000..b8c0eb3a Binary files /dev/null and b/public/base/lighting/TWL_StonehengeLT_186408d.ml differ diff --git a/public/base/lighting/TWL_StonehengeLT_b54394a1.ml b/public/base/lighting/TWL_StonehengeLT_b54394a1.ml new file mode 100755 index 00000000..9efcf14e Binary files /dev/null and b/public/base/lighting/TWL_StonehengeLT_b54394a1.ml differ diff --git a/public/base/lighting/TWL_Stonehenge_4be1bf55.ml b/public/base/lighting/TWL_Stonehenge_4be1bf55.ml new file mode 100755 index 00000000..027f4514 Binary files /dev/null and b/public/base/lighting/TWL_Stonehenge_4be1bf55.ml differ diff --git a/public/base/lighting/TWL_SubZero_d26856d3.ml b/public/base/lighting/TWL_SubZero_d26856d3.ml new file mode 100755 index 00000000..653c598c Binary files /dev/null and b/public/base/lighting/TWL_SubZero_d26856d3.ml differ diff --git a/public/base/lighting/TWL_Surreal_928c01fe.ml b/public/base/lighting/TWL_Surreal_928c01fe.ml new file mode 100755 index 00000000..c59dd295 Binary files /dev/null and b/public/base/lighting/TWL_Surreal_928c01fe.ml differ diff --git a/public/base/lighting/TWL_Titan_f2ca1f12.ml b/public/base/lighting/TWL_Titan_f2ca1f12.ml new file mode 100755 index 00000000..02fb9b00 Binary files /dev/null and b/public/base/lighting/TWL_Titan_f2ca1f12.ml differ diff --git a/public/base/lighting/TWL_WilderZoneLT_b23d9623.ml b/public/base/lighting/TWL_WilderZoneLT_b23d9623.ml new file mode 100755 index 00000000..f81c95fe Binary files /dev/null and b/public/base/lighting/TWL_WilderZoneLT_b23d9623.ml differ diff --git a/public/base/lighting/TWL_WilderZoneLT_c9eea074.ml b/public/base/lighting/TWL_WilderZoneLT_c9eea074.ml new file mode 100755 index 00000000..4c221ddb Binary files /dev/null and b/public/base/lighting/TWL_WilderZoneLT_c9eea074.ml differ diff --git a/public/base/lighting/TWL_WilderZone_f391f176.ml b/public/base/lighting/TWL_WilderZone_f391f176.ml new file mode 100755 index 00000000..99d0b7fc Binary files /dev/null and b/public/base/lighting/TWL_WilderZone_f391f176.ml differ diff --git a/public/base/lighting/Tacocat-DantesHill_1fadb4f4.ml b/public/base/lighting/Tacocat-DantesHill_1fadb4f4.ml new file mode 100755 index 00000000..bbad1583 Binary files /dev/null and b/public/base/lighting/Tacocat-DantesHill_1fadb4f4.ml differ diff --git a/public/base/lighting/Tacocat-Dunes_b3ca40d2.ml b/public/base/lighting/Tacocat-Dunes_b3ca40d2.ml new file mode 100755 index 00000000..6b5dd0f4 Binary files /dev/null and b/public/base/lighting/Tacocat-Dunes_b3ca40d2.ml differ diff --git a/public/base/lighting/Tacocat-Jagged_2f4bf1c1.ml b/public/base/lighting/Tacocat-Jagged_2f4bf1c1.ml new file mode 100755 index 00000000..5be7d988 Binary files /dev/null and b/public/base/lighting/Tacocat-Jagged_2f4bf1c1.ml differ diff --git a/public/base/lighting/Tacocat-SoylentJade_a5360959.ml b/public/base/lighting/Tacocat-SoylentJade_a5360959.ml new file mode 100755 index 00000000..1042c6d4 Binary files /dev/null and b/public/base/lighting/Tacocat-SoylentJade_a5360959.ml differ diff --git a/public/base/lighting/TenebrousCTF_de5eec4e.ml b/public/base/lighting/TenebrousCTF_de5eec4e.ml new file mode 100755 index 00000000..267a2fa0 Binary files /dev/null and b/public/base/lighting/TenebrousCTF_de5eec4e.ml differ diff --git a/public/base/lighting/TheFray_ee6d9255.ml b/public/base/lighting/TheFray_ee6d9255.ml new file mode 100755 index 00000000..2d7dacce Binary files /dev/null and b/public/base/lighting/TheFray_ee6d9255.ml differ diff --git a/public/base/lighting/TheSewer_f4f75077.ml b/public/base/lighting/TheSewer_f4f75077.ml new file mode 100755 index 00000000..8b5d8908 Binary files /dev/null and b/public/base/lighting/TheSewer_f4f75077.ml differ diff --git a/public/base/lighting/TibbawLak_104ce121.ml b/public/base/lighting/TibbawLak_104ce121.ml new file mode 100755 index 00000000..07fa550c Binary files /dev/null and b/public/base/lighting/TibbawLak_104ce121.ml differ diff --git a/public/base/lighting/TitanV_b_527804b0.ml b/public/base/lighting/TitanV_b_527804b0.ml new file mode 100755 index 00000000..61c5d883 Binary files /dev/null and b/public/base/lighting/TitanV_b_527804b0.ml differ diff --git a/public/base/lighting/TreasureIslandLak_f456aa59.ml b/public/base/lighting/TreasureIslandLak_f456aa59.ml new file mode 100755 index 00000000..dd913183 Binary files /dev/null and b/public/base/lighting/TreasureIslandLak_f456aa59.ml differ diff --git a/public/base/lighting/Triad_ff08cb0b.ml b/public/base/lighting/Triad_ff08cb0b.ml new file mode 100755 index 00000000..a99a2378 Binary files /dev/null and b/public/base/lighting/Triad_ff08cb0b.ml differ diff --git a/public/base/lighting/TrueGrit_95ae0ce4.ml b/public/base/lighting/TrueGrit_95ae0ce4.ml new file mode 100755 index 00000000..d1638a1b Binary files /dev/null and b/public/base/lighting/TrueGrit_95ae0ce4.ml differ diff --git a/public/base/lighting/UporDown_5cadb65.ml b/public/base/lighting/UporDown_5cadb65.ml new file mode 100755 index 00000000..883534cd Binary files /dev/null and b/public/base/lighting/UporDown_5cadb65.ml differ diff --git a/public/base/lighting/VanDamnedLT_657123fb.ml b/public/base/lighting/VanDamnedLT_657123fb.ml new file mode 100755 index 00000000..ffd6b3fd Binary files /dev/null and b/public/base/lighting/VanDamnedLT_657123fb.ml differ diff --git a/public/base/lighting/VanDamnedLT_fc126eb7.ml b/public/base/lighting/VanDamnedLT_fc126eb7.ml new file mode 100755 index 00000000..3410ba66 Binary files /dev/null and b/public/base/lighting/VanDamnedLT_fc126eb7.ml differ diff --git a/public/base/lighting/VaubanLak_b072a992.ml b/public/base/lighting/VaubanLak_b072a992.ml new file mode 100755 index 00000000..677fbbfc Binary files /dev/null and b/public/base/lighting/VaubanLak_b072a992.ml differ diff --git a/public/base/lighting/Vauban_fe733076.ml b/public/base/lighting/Vauban_fe733076.ml new file mode 100755 index 00000000..971120c3 Binary files /dev/null and b/public/base/lighting/Vauban_fe733076.ml differ diff --git a/public/base/lighting/Waterbox_c7bd8997.ml b/public/base/lighting/Waterbox_c7bd8997.ml new file mode 100755 index 00000000..8ee989fa Binary files /dev/null and b/public/base/lighting/Waterbox_c7bd8997.ml differ diff --git a/public/base/lighting/WhiteDwarfDeluxeLT_7adbd60e.ml b/public/base/lighting/WhiteDwarfDeluxeLT_7adbd60e.ml new file mode 100755 index 00000000..b2c8c276 Binary files /dev/null and b/public/base/lighting/WhiteDwarfDeluxeLT_7adbd60e.ml differ diff --git a/public/base/lighting/WhiteDwarfDeluxeLT_afa63289.ml b/public/base/lighting/WhiteDwarfDeluxeLT_afa63289.ml new file mode 100755 index 00000000..ee5e07f8 Binary files /dev/null and b/public/base/lighting/WhiteDwarfDeluxeLT_afa63289.ml differ diff --git a/public/base/lighting/WindyGap_d2bee4e7.ml b/public/base/lighting/WindyGap_d2bee4e7.ml new file mode 100755 index 00000000..d1142a35 Binary files /dev/null and b/public/base/lighting/WindyGap_d2bee4e7.ml differ diff --git a/public/base/lighting/Wonderena_a304a21e.ml b/public/base/lighting/Wonderena_a304a21e.ml new file mode 100755 index 00000000..1089c44f Binary files /dev/null and b/public/base/lighting/Wonderena_a304a21e.ml differ diff --git a/public/base/lighting/Yubarena_2638aaa0.ml b/public/base/lighting/Yubarena_2638aaa0.ml new file mode 100755 index 00000000..e1005ae6 Binary files /dev/null and b/public/base/lighting/Yubarena_2638aaa0.ml differ diff --git a/public/base/lighting/Zilch_6b242845.ml b/public/base/lighting/Zilch_6b242845.ml new file mode 100755 index 00000000..ee8f86fb Binary files /dev/null and b/public/base/lighting/Zilch_6b242845.ml differ diff --git a/public/base/lighting/aabaa_571e7c86.ml b/public/base/lighting/aabaa_571e7c86.ml new file mode 100755 index 00000000..7d2f8bcc Binary files /dev/null and b/public/base/lighting/aabaa_571e7c86.ml differ diff --git a/public/base/lighting/berlard_2823ce88.ml b/public/base/lighting/berlard_2823ce88.ml new file mode 100755 index 00000000..13a39db6 Binary files /dev/null and b/public/base/lighting/berlard_2823ce88.ml differ diff --git a/public/base/lighting/cagematch_b93c2e85.ml b/public/base/lighting/cagematch_b93c2e85.ml new file mode 100755 index 00000000..5c132b04 Binary files /dev/null and b/public/base/lighting/cagematch_b93c2e85.ml differ diff --git a/public/base/lighting/random2_aeea92ad.ml b/public/base/lighting/random2_aeea92ad.ml new file mode 100755 index 00000000..0ba2815a Binary files /dev/null and b/public/base/lighting/random2_aeea92ad.ml differ diff --git a/public/base/lighting/random_ad5187a1.ml b/public/base/lighting/random_ad5187a1.ml new file mode 100755 index 00000000..06c0638b Binary files /dev/null and b/public/base/lighting/random_ad5187a1.ml differ diff --git a/public/base/music/badlands.mp3 b/public/base/music/badlands.mp3 new file mode 100755 index 00000000..5768df49 Binary files /dev/null and b/public/base/music/badlands.mp3 differ diff --git a/public/base/music/desert.mp3 b/public/base/music/desert.mp3 new file mode 100755 index 00000000..98e63bc0 Binary files /dev/null and b/public/base/music/desert.mp3 differ diff --git a/public/base/music/ice.mp3 b/public/base/music/ice.mp3 new file mode 100755 index 00000000..2db5f9fc Binary files /dev/null and b/public/base/music/ice.mp3 differ diff --git a/public/base/music/lush.mp3 b/public/base/music/lush.mp3 new file mode 100755 index 00000000..1d966183 Binary files /dev/null and b/public/base/music/lush.mp3 differ diff --git a/public/base/music/volcanic.mp3 b/public/base/music/volcanic.mp3 new file mode 100755 index 00000000..564ea04a Binary files /dev/null and b/public/base/music/volcanic.mp3 differ diff --git a/public/base/scripts/autoexec/AllowBotSkin.cs b/public/base/scripts/autoexec/AllowBotSkin.cs new file mode 100755 index 00000000..01071087 --- /dev/null +++ b/public/base/scripts/autoexec/AllowBotSkin.cs @@ -0,0 +1,60 @@ +package AllowBotSkin +{ + + +function GMW_SkinPopup::fillList( %this, %raceGender ) +{ + for ( %i = 0; %i < %this.size(); %i++ ) + %this.realSkin[%i] = ""; + + %this.clear(); + %path = "textures/skins/"; + switch ( %raceGender ) + { + case 0: // Human Male + %pattern = ".lmale.png"; + case 1: // Human Female + %pattern = ".lfemale.png"; + case 2: // Bioderm + %pattern = ".lbioderm.png"; + } + + %customSkins = GMW_SkinPrefPopup.getSelected(); + %count = 0; + for ( %file = findFirstFile( %path @ "*" @ %pattern ); %file !$= ""; %file = findNextFile( %path @ "*" @ %pattern ) ) + { + %skin = getSubStr( %file, strlen( %path ), strlen( %file ) - strlen( %path ) - strlen( %pattern ) ); // strip off the path and postfix + + // Make sure this is not a bot skin: + //if ( %skin !$= "basebot" && %skin !$= "basebbot" ) + //{ + // See if this skin has an alias: + %baseSkin = false; + for ( %i = 0; %i < $SkinCount; %i++ ) + { + if ( %skin $= $Skin[%i, code] ) + { + %baseSkin = true; + %skin = $Skin[%i, name]; + break; + } + } + + if ( %customSkins != %baseSkin ) + { + if ( %baseSkin ) + %this.realSkin[%count] = $Skin[%i, code]; + %this.add( %skin, %count ); + %count++; + } + //} + } + + %this.sort( true ); +} + +}; + +// Prevent package from being activated if it is already +if (!isActivePackage(AllowBotSkin)) + activatePackage(AllowBotSkin); diff --git a/public/base/scripts/autoexec/UEfix1.cs b/public/base/scripts/autoexec/UEfix1.cs new file mode 100755 index 00000000..4eef4ae1 --- /dev/null +++ b/public/base/scripts/autoexec/UEfix1.cs @@ -0,0 +1,19 @@ +// #autoload +// #name = UEfix +// #version = 1.0 +// #date = December 27, 2003 +// #category = Fix +// #author = Lou Cypher +// #warrior = LouCypher +// #email = asta_llama_lincoln@hotmail.com +// #web = http://deadzone.cjb.net +// #description = Prevents clients from being vulnerable to crashing via NULL voice exploit + +package UEfix { + function alxGetWaveLen(%wavFile) { + if ( strstr( %wavFile , ".wav" ) == -1 ) return $MaxMessageWavLength + 1; + echo("Length check: " @ %wavFile); + parent::alxGetWaveLen(%wavFile); + } +}; +activatePackage(UEfix); diff --git a/public/base/scripts/autoexec/adminHud.cs b/public/base/scripts/autoexec/adminHud.cs new file mode 100755 index 00000000..29b04f53 --- /dev/null +++ b/public/base/scripts/autoexec/adminHud.cs @@ -0,0 +1,358 @@ +//////////////////////////////////////////////////////////////////////////////////////// +// z0dd - ZOD: ADMIN HUD /////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function CreateAdminHud() +{ + $AdminHudId = new GuiControl(AdminHudDlg) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl() { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 137"; + extent = "320 260"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "Admin Hud"; + noTitleBar = "0"; + + // -- Drop down menu text label + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 52"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Menu:"; + }; + // -- Drop down menu + new ShellPopupMenu(AdminHudMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 44"; + extent = "225 38"; + minExtent = "49 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- OPTIONS -"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + // -- Input text field label + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 88"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Input:"; + }; + // -- Input text field + new ShellTextEditCtrl(AdminHudInput) { + profile = "NewTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 80"; + extent = "225 38"; + minExtent = "32 38"; + visible = "1"; + command = "AdminHudInput.setField();"; + altCommand = "AdminHudInput.processEnter();"; + helpTag = "0"; + historySize = "0"; + maxLength = "127"; + password = "0"; + glowOffset = "9 9"; + }; + // -- Cancel button + new ShellBitmapButton(AdminHudCancelBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "60 118"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "HideAdminHud();"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + // -- Send button + new ShellBitmapButton(AdminHudSendBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "165 118"; + extent = "120 38"; + minExtent = "32 38"; + visible = "1"; + command = "AdminHudSendBtn.adminCommand();"; + helpTag = "0"; + text = "SEND"; + simpleStyle = "0"; + }; + // -- Clan Tag drop down menu text label + new GuiTextCtrl() { + profile = "ShellTextRightProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 173"; + extent = "50 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Tags:"; + }; + // -- Clan Tag drop down menu + new ShellPopupMenu(ClanTagHudMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 165"; + extent = "225 38"; + minExtent = "49 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- CLAN TAGS -"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new ShellBitmapButton(ClanTagSendBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "60 200"; + extent = "225 38"; + minExtent = "32 38"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + command = "ClanTagSendBtn.sendTagCommand();"; + helpTag = "0"; + text = "CHANGE CLAN TAG"; + simpleStyle = "0"; + }; + }; + }; + ClanTagSendBtn.setActive(1); +} + +function handleActivateAdminHud() +{ + if(!$AdminHudCreated) + { + CreateAdminHud(); // Create the gui + UpdateAdminHudMenu(); // Fill the drop down menu + $AdminHudCreated = 1; // Set the flag + } +} + +addMessageCallback('MsgClientJoin', handleActivateAdminHud); + +function ShowAdminHud() +{ + canvas.pushdialog(AdminHudDlg); + //clientCmdTogglePlayHuds(false); + $AdminHudOpen = 1; +} + +function HideAdminHud() +{ + // Empty out the text input field + AdminHudInput.setValue(%empty); + + canvas.popdialog(AdminHudDlg); + $AdminHudOpen = 0; + //clientCmdTogglePlayHuds(true); +} + +function AdminHudDlg::onWake( %this ) +{ + if ( isObject( AdminHudMap ) ) + { + AdminHudMap.pop(); + AdminHudMap.delete(); + } + new ActionMap( AdminHudMap ); + AdminHudMap.blockBind( moveMap, toggleModHud ); + AdminHudMap.blockBind( moveMap, togglePracticeHud ); + AdminHudMap.blockBind( moveMap, toggleInventoryHud ); + AdminHudMap.blockBind( moveMap, toggleScoreScreen ); + AdminHudMap.blockBind( moveMap, toggleCommanderMap ); + AdminHudMap.bindCmd( keyboard, escape, "", "HideAdminHud();" ); + AdminHudMap.push(); +} + +function AdminHudDlg::onSleep( %this ) +{ + %this.callback = ""; + AdminHudMap.pop(); + AdminHudMap.delete(); +} + +function UpdateAdminHudMenu() +{ + // Populate the drop down menu with options seperated by \t (tab deliniated list). + %line1 = "Choose Option\tEnter Admin Password\tEnter Super Admin Password\tSet Join Password\tSet Admin Password\tSet Super Admin Password"; + %line2 = "\tSet Random Teams\tSet Fair Teams\tSet Max Players\tSet Auto-PW\tSet Auto-PW Password\tSet Auto-PW Count\tSend Bottomprint Message"; + %line3 = "\tSend Centerprint Message\tRemove Map From Rotation\tRestore Map To Rotation\tRemove GameType\tRestore GameType\tRestart Server\tConsole Command"; + %opt = %line1 @ %line2 @ %line3; + AdminHudMenu.hudSetValue(%opt, ""); + // Update the Clan Tag drop down menu as well + commandToServer('canGetClanTags'); +} + +function AdminHudMenu::onSelect(%this, %id, %text) +{ + // Called when an option is selected in drop down menu + $AdminMenu = %this.getValue(); +} + +function AdminHudInput::setField( %this ) +{ + // called when you type in text input field + %value = %this.getValue(); + %this.setValue( %value ); + $AdminInput = %value; + //AdminHudSendBtn.setActive( strlen( stripTrailingSpaces( %value ) ) >= 1 ); +} + +function AdminHudInput::processEnter( %this ) +{ + // Called when you press enter in text input field +} + +function AdminHudSendBtn::adminCommand( %this ) +{ + // Called when you press the send button + + // Update the global from the text input field + AdminHudInput.setField(); + + // Send the current menu selection and text to the server + switch$ ( $AdminMenu ) + { + case "Enter Admin Password": + commandToServer('SAD', $AdminInput); + + case "Enter Super Admin Password": + commandToServer('SAD', $AdminInput); + + case "Set Join Password": + commandToServer('Set', "joinpw", $AdminInput); + + case "Set Admin Password": + commandToServer('Set', "adminpw", $AdminInput); + + case "Set Super Admin Password": + commandToServer('Set', "superpw", $AdminInput); + + case "Set Random Teams": + commandToServer('Set', "random", $AdminInput); + + case "Set Fair Teams": + commandToServer('Set', "fairteams", $AdminInput); + + case "Set Max Players": + commandToServer('Set', "maxplayers", $AdminInput); + + case "Set Auto-PW": + commandToServer('AutoPWSetup', "autopw", $AdminInput); + + case "Set Auto-PW Password": + commandToServer('AutoPWSetup', "autopwpass", $AdminInput); + + case "Set Auto-PW Count": + commandToServer('AutoPWSetup', "autopwcount", $AdminInput); + + case "Send Bottomprint Message": + commandToServer('aprint', $AdminInput, true); + + case "Send Centerprint Message": + commandToServer('aprint', $AdminInput, false); + + case "Remove Map From Rotation": + commandToServer('AddMap', $AdminInput); + + case "Restore Map To Rotation": + commandToServer('RemoveMap', $AdminInput); + + case "Remove GameType": + commandToServer('AddType', $AdminInput); + + case "Restore GameType": + commandToServer('RemoveType', $AdminInput); + + case "Restart Server": + commandToServer('Set', "restart", $AdminInput); + + case "Console Command": + commandToServer('Set', "consolecmd", $AdminInput); + + default: + error("Admin Hud selected option: " @ $AdminMenu @ " input: " @ $AdminInput @ " unknown values."); + } + + // Clear the text input field and disable send button + //AdminHudSendBtn.setActive(0); + AdminHudInput.setValue(%empty); + UpdateAdminHudMenu(); + $AdminInput = ""; + $AdminMenu = ""; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Canadian, 7/19/03. Clan Tag switiching ////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function ClanTagHudMenu::onSelect(%this, %id, %text) +{ + // Called when an option is selected in drop down menu + $CanSelected = %this.getValue(); + ClanTagSendBtn.setActive(1); +} + +function ClanTagSendBtn::sendTagCommand( %this ) +{ + // Called when you press the send button + // Send the current menu selection and text to the server + commandToServer('canUpdateClanTag', $CanSelected); + $CanSelected = ""; + HideAdminHud(); +} + +function clientCmdcanDisplayTags(%tags) +{ + ClanTagHudMenu.hudSetValue(%tags, ""); +} diff --git a/public/base/scripts/autoexec/chatmenuHudClear.cs b/public/base/scripts/autoexec/chatmenuHudClear.cs new file mode 100755 index 00000000..cd20d55e --- /dev/null +++ b/public/base/scripts/autoexec/chatmenuHudClear.cs @@ -0,0 +1,23 @@ +//Clear VoiceBind Chatmenu at spawn + +package chatmenuHudClear +{ + +function ClientCmdDisplayHuds() +{ + parent::ClientCmdDisplayHuds(); + cancelChatMenu(); +} + +function clientCmdSetInventoryHudItem(%slot, %amount, %addItem) +{ + parent::clientCmdSetInventoryHudItem(%slot, %amount, %addItem); + cancelChatMenu(); +} + +}; + + +// Prevent package from being activated if it is already +if (!isActivePackage(chatmenuHudClear)) + activatePackage(chatmenuHudClear); \ No newline at end of file diff --git a/public/base/scripts/autoexec/fov.cs b/public/base/scripts/autoexec/fov.cs new file mode 100755 index 00000000..2fc7178d --- /dev/null +++ b/public/base/scripts/autoexec/fov.cs @@ -0,0 +1,25 @@ +// #autoload +// #name = Spawn Bug Fix +// #version = 1.0 +// #date = June 28, 2001 +// #status = final +// #author = Daniel Trevino +// #warrior = liq +// #email = liqy@swbell.net +// #web = http://www.toejamsplace.com/ +// #description = Fixes a bug in T2 where your FOV is set back to 90 on respawn. You can now use whatever FOV you want by editing your "$pref::Player::defaultFov" in ClientPrefs.cs + +package spawnFix { + function ClientCmdDisplayHuds() { + parent::ClientCmdDisplayHuds(); + schedule(150, 0, setFov, $pref::Player::defaultFov); + schedule(1000, 0, setFov, $pref::Player::defaultFov); + } + function clientCmdSetInventoryHudItem(%slot, %amount, %addItem) + { + parent::clientCmdSetInventoryHudItem(%slot, %amount, %addItem); + schedule(150, 0, use, disc); + schedule(1000, 0, use, disc); + } +}; +activatePackage(spawnFix); \ No newline at end of file diff --git a/public/base/scripts/autoexec/ircTempFix.cs b/public/base/scripts/autoexec/ircTempFix.cs new file mode 100755 index 00000000..f479d924 --- /dev/null +++ b/public/base/scripts/autoexec/ircTempFix.cs @@ -0,0 +1,3 @@ +$IRCTestServer = "irc.tribes2.net:6667"; +$IRCClient::state = IDIRC_CONNECTING_WAITING; +$pref::IRCClient::autoreconnect = false; \ No newline at end of file diff --git a/public/base/scripts/autoexec/meltdownfix.cs b/public/base/scripts/autoexec/meltdownfix.cs new file mode 100755 index 00000000..46724577 --- /dev/null +++ b/public/base/scripts/autoexec/meltdownfix.cs @@ -0,0 +1 @@ +memPatch("5C88B5","90909090"); \ No newline at end of file diff --git a/public/base/scripts/autoexec/modHud.cs b/public/base/scripts/autoexec/modHud.cs new file mode 100755 index 00000000..b5c88b9a --- /dev/null +++ b/public/base/scripts/autoexec/modHud.cs @@ -0,0 +1,551 @@ +//////////////////////////////////////////////////////////////////////////////////////// +// z0dd - ZOD - sal9000: MOD HUD /////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function CreateModHud() +{ + $ModHudId = new GuiControl(modHud) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new ShellPaneCtrl(modHudGui) { + profile = "ShellDlgPaneProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 90"; + extent = "320 295"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + text = "MOD HUD"; + + new GuiMLTextCtrl(modHudOpt) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "29 38"; + extent = "260 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellPopupMenu(modOptionMenu) { + profile = "ShellPopupProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 49"; + extent = "277 36"; + minExtent = "49 36"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + text = "- OPTIONS -"; + maxLength = "255"; + maxPopupHeight = "200"; + buttonBitmap = "gui/shll_pulldown"; + rolloverBarBitmap = "gui/shll_pulldownbar_rol"; + selectedBarBitmap = "gui/shll_pulldownbar_act"; + noButtonStyle = "0"; + }; + new GuiMLTextCtrl(modHudSet) { + profile = "ShellMediumTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "29 90"; + extent = "267 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + }; + new ShellScrollCtrl(modA) { + profile = "NewScrollCtrlProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "26 103"; + extent = "267 70"; + minExtent = "24 52"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 3"; + fieldBase = "gui/shll_field"; + + new GuiScrollContentCtrl(modB) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 7"; + extent = "182 239"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + + new ShellTextList(modSetList) { + profile = "ShellTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "182 8"; + minExtent = "8 8"; + visible = "1"; + hideCursor = "0"; + bypassHideCursor = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new ShellBitmapButton(modCloseBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "22 235"; + extent = "137 35"; + minExtent = "32 35"; + visible = "1"; + command = "HideModHud();"; + accelerator = "return"; + helpTag = "0"; + text = "CLOSE"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modSubmitBtn) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 235"; + extent = "137 35"; + minExtent = "32 35"; + visible = "1"; + command = "modSubmit();"; + accelerator = "return"; + helpTag = "0"; + text = "SUBMIT"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn1) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "22 175"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(11);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn2) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 175"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(12);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn3) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "22 205"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(13);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + new ShellBitmapButton(modBtn4) { + profile = "ShellButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "160 205"; + extent = "137 35"; + minExtent = "32 35"; + visible = "0"; + command = "modBtnProg(14);"; + accelerator = "return"; + helpTag = "0"; + text = "-Empty-"; + simpleStyle = "0"; + }; + }; + }; +} + +function handleActivateModHud(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8) +{ + if(!$ModHudCreated) + { + CreateModHud(); + $ModHudCreated = 1; + } +} + +function handleInitModHud(%msgType, %msgString, %gameType, %a2, %a3, %a4, %a5, %a6) +{ + if($ModHudCreated) + commandToServer('ModHudInitialize', true); +} + +addMessageCallback('MsgClientJoin', handleActivateModHud); +addMessageCallback('MsgClientReady', handleInitModHud); + +// Get the headings from the server +function clientCMDModHudHead(%head, %opt, %set) +{ + modHudGui.settitle(%head); + modHudOpt.setvalue(%opt); + modHudSet.setvalue(%set); +} + +function clientCMDModHudDone() +{ + $ModArray[curopt] = 1; + modOptionMenu.clear(); + for(%z = 1; %z <= $ModArray[index]; %z++) + { + %nam = $ModArray[%z, nam]; + modOptionMenu.add(%nam, %z); + } + modOptionMenu.setSelected($ModArray[curopt]); + modArrayCallOption($ModArray[curopt]); +} + +function modArrayCallOption(%opt) +{ + modSetList.clear(); + for(%x = 1; %x <= $ModArray[%opt, noa]; %x++) + { + %nam = $ModArray[%opt, %x]; + modSetList.addRow(%x, %nam); + } + %pal = $ModArray[%opt, pal]; + %cur = $ModArray[%opt, cur]; + if(%cur $= "") + modSetList.setSelectedByID(%pal); + else + modSetList.setSelectedByID(%cur); +} + +function clientCMDInitializeModHud(%mod) +{ + for(%i = 0; $ModArray[%i, nam] !$= ""; %i++) + { + $ModArray[%i, cur] = ""; + $ModArray[%i, pal] = ""; + $ModArray[%i, nam] = ""; + $ModArray[%i, noa] = ""; + $ModArray[%i, index] = ""; + for(%j = 0; %j < 10; %j++) + $ModArray[%i, %j] = ""; + } + $ModArray[curmode] = %mod; + $ModArray[index] = 0; +} + +function modHudExport() +{ + if($ModArray[curmode] $= "") + return; + + for(%z = 1; %z <= $ModArray[curopt]; %z++) + { + %pal = $ModArray[%z, pal]; + $ModExport[modStu($ModArray[curmode]), modStu($ModArray[%z, index])] = $ModArray[%z, %pal]; + } + export("$ModExport*", "scripts/autoexec/modExport.cs", false); +} + +function modStu(%str) +{ + return strreplace(%str, " ", "_"); +} + +function clientCMDModHudPopulate(%option, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + %s[1] = %a1; + %s[2] = %a2; + %s[3] = %a3; + %s[4] = %a4; + %s[5] = %a5; + %s[6] = %a6; + %s[7] = %a7; + %s[8] = %a8; + %s[9] = %a9; + %s[10] = %a10; + + $ModArray[index]++; + $ModArray[curopt] = $ModArray[index]; + %cur = $ModArray[curopt]; + $ModArray[%cur, pal] = ""; + $ModArray[%cur, cur] = ""; + $ModArray[%cur, nam] = %option; + + %z = 0; + while(%s[%z++] !$= "") { + $ModArray[%cur, %z] = %s[%z]; + %pal = $ModExport[modStu($ModArray[curmode]), modStu(%opt)]; + if(%s[%z] $= %pal) + %palm = %z; + } + if(%palm $= "") { + $ModArray[%cur, cur] = "1"; + $ModArray[%cur, pal] = "1"; + %id =1; + } + else { + $ModArray[%cur, cur] = %palm; + $ModArray[%cur, pal] = %palm; + %id = %palm; + } + commandToServer('ModUpdateSettings', %cur, %id); + $ModArray[%cur, noa] = %z-1; +} + +function modSetList::onSelect(%this, %id, %text) +{ + $ModArray[$ModArray[curopt], cur] = %id; + //commandToServer('ModUpdateSettings', $ModArray[curopt], %id); +} + +function modOptionMenu::onSelect(%this, %id, %text) +{ + $ModArray[curopt] = %id; + modArraycallOption(%id); +} + +function ShowModHud() +{ + canvas.pushdialog(modHud); + $ModHudOpen = 1; + //clientCmdTogglePlayHuds(false); +} + +function HideModHud() +{ + modHudExport(); + canvas.popdialog(modHud); + $ModHudOpen = 0; + //clientCmdTogglePlayHuds(true); +} + +function modHud::onWake( %this ) +{ + if ($HudHandle[modHud] !$= "") + alxStop($HudHandle[inventoryScreen]); + + alxPlay(HudInventoryActivateSound, 0, 0, 0); + $HudHandle[modHud] = alxPlay(HudInventoryHumSound, 0, 0, 0); + + if ( isObject( modHudMap ) ) + { + modHudMap.pop(); + modHudMap.delete(); + } + new ActionMap( modHudMap ); + modHudMap.blockBind( moveMap, togglePracticeHud ); + modHudMap.blockBind( moveMap, toggleAdminHud ); + modHudMap.blockBind( moveMap, toggleInventoryHud ); + modHudMap.blockBind( moveMap, toggleScoreScreen ); + modHudMap.blockBind( moveMap, toggleCommanderMap ); + modHudMap.bindCmd( keyboard, escape, "", "HideModHud();" ); + modHudMap.push(); +} + +function modHud::onSleep( %this ) +{ + %this.callback = ""; + modHudMap.pop(); + modHudMap.delete(); + alxStop($HudHandle[modHud]); + alxPlay(HudInventoryDeactivateSound, 0, 0, 0); + $HudHandle[modHud] = ""; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Button functions //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function modSubmit() +{ + // Send the currently selected option and setting to the server + commandToServer('ModUpdateSettings', $ModArray[curopt], $ModArray[$ModArray[curopt], cur]); + modHudExport(); +} + +function modBtnProg(%button) +{ + switch ( %button ) + { + case 11: + %value = modBtn1.getValue(); + case 12: + %value = modBtn2.getValue(); + case 13: + %value = modBtn3.getValue(); + case 14: + %value = modBtn4.getValue(); + default: + %value = ""; + } + commandToServer('ModButtonSet', %button, %value); + //HideModHud(); +} + +function clientCMDModHudBtn1(%text, %enabled, %visible) +{ + modBtn1.setActive(%enabled); + modBtn1.visible = %visible; + if(%text !$= "") + modBtn1.text = %text; +} + +function clientCMDModHudBtn2(%text, %enabled, %visible) +{ + modBtn2.setActive(%enabled); + modBtn2.visible = %visible; + if(%text !$= "") + modBtn2.text = %text; +} + +function clientCMDModHudBtn3(%text, %enabled, %visible) +{ + modBtn3.setActive(%enabled); + modBtn3.visible = %visible; + if(%text !$= "") + modBtn3.text = %text; +} + +function clientCMDModHudBtn4(%text, %enabled, %visible) +{ + modBtn4.setActive(%enabled); + modBtn4.visible = %visible; + if(%text !$= "") + modBtn4.text = %text; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Server functions //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////// + +function serverCMDModHudInitialize(%client, %value) +{ + Game.InitModHud(%client, %value); +} + +function serverCmdModUpdateSettings(%client, %option, %value) +{ + // %option is the index # of the hud list option + // %value is the index # of the hud list setting + + %option = deTag(%option); + %value = deTag(%value); + Game.UpdateModHudSet(%client, %option, %value); +} + +function serverCmdModButtonSet(%client, %button, %value) +{ + %button = deTag(%button); + %value = deTag(%value); + Game.ModButtonCmd(%client, %button, %value); +} + +function DefaultGame::InitModHud(%game, %client, %value) +{ + // Clear out any previous settings + //commandToClient(%client, 'InitializeModHud', "ModName"); + + // Send the hud labels | Hud Label | | Option label | | Setting label | + //commandToClient(%client, 'ModHudHead', "MOD NAME HUD", "Option:", "Setting:"); + + // Send the Option list and settings per option | Option | | Setting | + //commandToClient(%client, 'ModHudPopulate', "Example1", "Empty"); + //commandToClient(%client, 'ModHudPopulate', "Example2", "Setting1", "Setting2", "Setting3", "Setting4", "Setting5", "Setting6", "Setting7", "Setting8", "Setting9", "Setting10"); + + // Send the button labels and visual settings | Button | | Label | | Visible | | Active | + //commandToClient(%client, 'ModHudBtn1', "BUTTON1", 1, 1); + //commandToClient(%client, 'ModHudBtn2', "BUTTON2", 1, 1); + //commandToClient(%client, 'ModHudBtn3', "BUTTON3", 1, 1); + //commandToClient(%client, 'ModHudBtn4', "BUTTON4", 1, 1); + + // We're done! + //commandToClient(%client, 'ModHudDone'); +} + +function DefaultGame::UpdateModHudSet(%game, %client, %option, %value) +{ + // 1 = Example1 + // 2 = Example2 + + //switch$ ( %option ) + //{ + // case 1: + // %msg = '\c2Something set to: %2.'; + + // case 2: + // %msg = '\c2Something set to: %2.'; + + // default: + // %msg = '\c2Invalid setting.'; + //} + //messageClient( %client, 'MsgModHud', %msg, %option, %value ); +} + +function DefaultGame::ModButtonCmd(%game, %client, %button, %value) +{ + // 11 = Button 1 + // 12 = Button 2 + // 13 = Button 3 + // 14 = Button 4 + + //switch ( %button ) + //{ + // case 11: + // %msg = '\c2Something set to: %2.'; + + // case 12: + // %msg = '\c2Something set to: %2.'; + + // case 13: + // %msg = '\c2Something set to: %2.'; + + // case 14: + // %msg = '\c2Something set to: %2.'; + + // default: + // %msg = '\c2Invalid setting.'; + //} + //messageClient( %client, 'MsgModHud', %msg, %button, %value ); +} diff --git a/public/base/scripts/autoexec/perfCounter.cs b/public/base/scripts/autoexec/perfCounter.cs new file mode 100755 index 00000000..827b2f47 --- /dev/null +++ b/public/base/scripts/autoexec/perfCounter.cs @@ -0,0 +1 @@ +setPerfCounterEnable(1); diff --git a/public/base/scripts/autoexec/statushud.cs b/public/base/scripts/autoexec/statushud.cs new file mode 100755 index 00000000..d230f898 --- /dev/null +++ b/public/base/scripts/autoexec/statushud.cs @@ -0,0 +1,560 @@ +// #author = |C|-DEbig3 +// #warrior = DEbig3 +// #Rewritten By = DarkTiger +// version 1.0 +$statusHudStats::maxPing = -10000; +$statusHudStats::minPing = 10000; +package statusHudPackage { + function toggleNetDisplayHud(%val) + { + if(%val) + { + $statusHudStatsCounter++; + if($statusHudStatsCounter == 1) + { + NetGraphHudFrame.setVisible(false); + NetBarHudFrame.setVisible(true); + statusHudHud.setVisible(false); + statusHudHud.setPosition(getWord(netGraphHudFrame.getPosition(),0),getWord(netGraphHudFrame.getPosition(),1)); + } + else if($statusHudStatsCounter == 2) + { + netGraphHudFrame.setVisible(true); + netBarHudFrame.setVisible(false); + statusHudHud.setVisible(false); + statusHudHud.setPosition(getWord(netGraphHudFrame.getPosition(),0),getWord(netGraphHudFrame.getPosition(),1)); + } + else if($statusHudStatsCounter == 3){ + NetGraphHudFrame.setVisible(false); + NetBarHudFrame.setVisible(false); + if(!isObject(statusHudHud)) + statusHudBuild(); + statusHudHud.setVisible(true); + statusHudHud.setPosition(getWord(netGraphHudFrame.getPosition(),0),getWord(netGraphHudFrame.getPosition(),1)); + } + else if($statusHudStatsCounter == 4){ + NetGraphHudFrame.setVisible(true); + NetBarHudFrame.setVisible(false); + statusHudHud.setVisible(true); + statusHudHud.setPosition(getWords(NetGraphHudFrame.getPosition(),0) - getWord(NetGraphHudFrame.getExtent(),0),getWords(NetGraphHudFrame.getPosition(),1)); + } + else{ + $statusHudStatsCounter = 0; + NetGraphHudFrame.setVisible(false); + NetBarHudFrame.setVisible(false); + statusHudHud.setVisible(false); + statusHudHud.setPosition(getWord(netGraphHudFrame.getPosition(),0),getWord(netGraphHudFrame.getPosition(),1)); + } + } + } +function NetBarHud::infoUpdate(%this, %ping, %packetLoss, %sendPackets, %sendBytes, %receivePackets, %receiveBytes) { + parent::infoUpdate(%this, %ping, %packetLoss, %sendPackets, %sendBytes, %receivePackets, %receiveBytes); + %dtms = getSimTime() - $statusHudStats::pingSpikeTime; + $statusHudStats::pingSpikeTime = getSimTime(); + if(isObject(statusHudHud) && $statusHudStatsCounter > 2){ + statusHudHud.ppSCurrent.setText("" @ mFormatFloat(%sendPackets, "%4.0f")); + statusHudHud.ppRCurrent.setText("" @ mFormatFloat(%receivePackets, "%4.0f")); + statusHudHud.txCurrent.setText("" @ mFormatFloat(%sendBytes, "%4.0f")); + statusHudHud.rxCurrent.setText("" @ mFormatFloat(%receiveBytes, "%4.0f")); + $statusHudStats::totalPing += %ping; + $statusHudStats::pingcount++; + if(%ping > 500){ + $statusHudStats::lagSec += %dtms; + statusHudHud.lagMSCurrent.setText("" @ mFormatFloat($statusHudStats::lagSec/1000, "%4.1f")); + $statusHudStats::lastlag = getSimTime(); + } + else if(getSimTime() - $statusHudStats::lastlag > 60000){ + statusHudHud.lagMSCurrent.setText("" @ mFormatFloat($statusHudStats::lagSec/1000, "%4.1f")); + if(getSimTime() - $statusHudStats::lastlag > (60000 * 5)){ + $statusHudStats::lagSec = 0; + statusHudHud.lagMSCurrent.setText(mFormatFloat($statusHudStats::lagSec/1000, "%4.1f")); + } + } + %pingAvgReset = 0; + if($statusHudStats::totalPing > 60000){ + $statusHudStats::totalPing = $statusHudStats::totalPing * 0.5; + $statusHudStats::pingcount = $statusHudStats::pingcount * 0.5; + $statusHudStats::maxPing = -10000; + $statusHudStats::minPing = 10000; + %pingAvgReset = 1; + } + if($statusHudStats::flCount++ > 12){ + $statusHudStats::fl = $statusHudStats::flMax - $statusHudStats::flMin; + $statusHudStats::flMax = -10000; + $statusHudStats::flMin = 10000; + $statusHudStats::flCount = 0; + } + else{ + $statusHudStats::flMax = (%ping > $statusHudStats::flMax) ? %ping : $statusHudStats::flMax; + $statusHudStats::flMin = (%ping < $statusHudStats::flMin) ? %ping : $statusHudStats::flMin; + } + + $statusHudStats::avgping= $statusHudStats::totalPing / $statusHudStats::pingcount; + if(%pingAvgReset) + statusHudHud.pingAvgCurrent.setText("" @ mFormatFloat($statusHudStats::avgping, "%4.0f")); + else + statusHudHud.pingAvgCurrent.setText(mFormatFloat($statusHudStats::avgping, "%4.0f")); + + $statusHudStats::maxPing = (%ping > $statusHudStats::maxPing) ? %ping : $statusHudStats::maxPing; + $statusHudStats::minPing = (%ping < $statusHudStats::minPing) ? %ping : $statusHudStats::minPing; + + %speed = mFloor(getControlObjectSpeed()); + %alt = getControlObjectAltitude(); + %fps = $fps::real; + if (%fps > $statusHudStats::maxfps) + $statusHudStats::maxfps = %fps; + %x = strstr($statusHudStats::avgfps, "."); + %avgfps = getSubStr($statusHudStats::avgfps, 0, %x + 2); + $statusHudStats::fpscount++; + $statusHudStats::totalfps += %fps; + %fpsReset = 0; + if($statusHudStats::totalfps > 50000){ + $statusHudStats::totalfps *= 0.5; + $statusHudStats::fpscount *= 0.5; + $statusHudStats::maxfps = 0; + %fpsReset = 1; + } + $statusHudStats::avgfps = $statusHudStats::totalfps / $statusHudStats::fpscount; + if(%fpsReset){ + statusHudHud.fpscurrent.setText("" @ %fps); + statusHudHud.fpsaverage.setText("" @ %avgfps); + statusHudHud.fpsmax.setText("" @ $statusHudStats::maxfps); + } + else{ + statusHudHud.fpscurrent.setText(%fps); + statusHudHud.fpsaverage.setText(%avgfps); + statusHudHud.fpsmax.setText($statusHudStats::maxfps); + } + statusHudHud.ping.setText("" @ mFormatFloat(%ping, "%4.0f")); + if(!isObject($statusHudStats::plObj)){ + $statusHudStats::plObj = getPLID();// to handel packet loss as the client side value is not correct + } + if(isObject($statusHudStats::plObj)){ + $statusHudStats::plupdate += %dtms; + if($statusHudStats::plupdate > 4000){ + commandToServer( 'getScores' ); + $statusHudStats::plupdate = 0; + } + statusHudHud.pl.setText("" @ mFormatFloat($statusHudStats::plObj.packetLoss, "%3.0f")); + } + else{ + statusHudHud.pl.setText("" @ mFormatFloat(%packetLoss, "%3.0f")); + } + statusHudHud.speed.setText(%speed); + statusHudHud.altitude.setText(%alt); + + if(%pingAvgReset){ + statusHudHud.pingMinCurrent.setText("" @ mFloor($statusHudStats::minPing)); + statusHudHud.pingMaxCurrent.setText("" @ mFloor($statusHudStats::maxPing)); + statusHudHud.pingFluxCurrent.setText("" @ mFloor($statusHudStats::fl)); + } + else{ + statusHudHud.pingMinCurrent.setText(mFloor($statusHudStats::minPing)); + statusHudHud.pingMaxCurrent.setText(mFloor($statusHudStats::maxPing)); + statusHudHud.pingFluxCurrent.setText(mFloor($statusHudStats::fl)); + } + } +} +function getPLID(){ + %name = stripTrailingSpaces( strToPlayerName( getField( $pref::Player[$pref::Player::Current], 0 ) ) ); + for (%i = 0; %i < PlayerListGroup.getCount(); %i++) { // the client list + %id = PlayerListGroup.getObject(%i); + %fullName = stripChars(%id.name,"\cp\co\c6\c7\c8\c9\x10\x11"); + if(strlwr(%fullName) $= strlwr(%name)){ + return %id; + } + } +} +function statusHudBuild() { + if (isObject(statusHudHud)) { + statusHudHud.delete(); + } + $statusHud = new ShellFieldCtrl(statusHudHud) { + profile = "GuiChatBackProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = netGraphHudFrame.getPosition(); + extent = "170 80"; + minExtent = "2 2"; + visible = "1"; + }; + playgui.add($statusHud); + new GuiControlProfile ("statusHudTagProfile") + { + fontType = "Univers Condensed"; + fontSize = 14; + fontColor = "200 200 200"; + justify = "center"; + }; + new GuiControlProfile ("statusHudTextProfile") + { + fontType = "Univers Condensed"; + fontSize = 14; + justify = "center"; + }; + statusHudHud.fpscurrenttext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 0"; + extent = "20 16"; + visible = "1"; + text = "fps:"; + }; + statusHudHud.fpscurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 0"; + extent = "25 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.fpsaveragetext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "53 0"; + extent = "20 16"; + visible = "1"; + text = "avg:"; + }; + statusHudHud.fpsaverage = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "73 0"; + extent = "25 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.fpsmaxtext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 0"; + extent = "20 16"; + visible = "1"; + text = "max:"; + }; + statusHudHud.fpsmax = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 0"; + extent = "25 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.pingtext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 16"; + extent = "20 16"; + visible = "1"; + text = "ping:"; + }; + statusHudHud.ping = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 16"; + extent = "20 16"; + visible = "1"; + text = $statusHudPing; + }; + statusHudHud.pltext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "141 16"; + extent = "15 16"; + visible = "1"; + text = "pl:"; + }; + statusHudHud.pl = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "148 16"; + extent = "20 16"; + visible = "1"; + text = $statusHudPL; + }; + statusHudHud.speedtext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "53 16"; + extent = "28 16"; + visible = "1"; + text = "speed:"; + }; + statusHudHud.speed = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "82 16"; + extent = "24 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.altitudetext = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 16"; + extent = "15 16"; + visible = "1"; + text = "alt:"; + }; + statusHudHud.altitude = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "119 16"; + extent = "20 16"; + visible = "1"; + text = "0"; + }; + //////////////////////////////////////////////// + statusHudHud.ppSText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 32"; + extent = "20 16"; + visible = "1"; + text = "ppS:"; + }; + statusHudHud.ppSCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 32"; + extent = "25 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.txText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "53 32"; + extent = "20 16"; + visible = "1"; + text = "Tx:"; + }; + statusHudHud.txCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "66 32"; + extent = "25 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.rxText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 32"; + extent = "20 16"; + visible = "1"; + text = "Rx:"; + }; + statusHudHud.rxCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "118 32"; + extent = "25 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.ppRText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 48"; + extent = "20 16"; + visible = "1"; + text = "ppR:"; + }; + statusHudHud.ppRCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 48"; + extent = "20 16"; + visible = "1"; + text = "0"; + }; + + statusHudHud.lagMSText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "53 48"; + extent = "34 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.lagMSCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "73 48"; + extent = "24 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.pingAvgText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 48"; + extent = "36 16"; + visible = "1"; + text = "pingAvg:"; + }; + statusHudHud.pingAvgCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "137 48"; + extent = "20 16"; + visible = "1"; + text = "0"; + }; + + + statusHudHud.pingMinText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 64"; + extent = "34 16"; + visible = "1"; + text = "PingMin"; + }; + statusHudHud.pingMinCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 64"; + extent = "20 16"; + visible = "1"; + text = "0"; + }; + + statusHudHud.pingMaxText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "53 64"; + extent = "34 16"; + visible = "1"; + text = "PingMax"; + }; + statusHudHud.pingMaxCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 64"; + extent = "24 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.pingFluxText = new GuiMLTextCtrl() { + profile = "statusHudTagProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 64"; + extent = "36 16"; + visible = "1"; + text = "Flux"; + }; + statusHudHud.pingFluxCurrent = new GuiMLTextCtrl() { + profile = "statusHudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 64"; + extent = "20 16"; + visible = "1"; + text = "0"; + }; + statusHudHud.add(statusHudHud.fpscurrenttext); + statusHudHud.add(statusHudHud.fpscurrent); + statusHudHud.fpscurrenttext.setText("fps:"); + + statusHudHud.add(statusHudHud.fpsaveragetext); + statusHudHud.add(statusHudHud.fpsaverage); + statusHudHud.fpsaveragetext.setText("avg:"); + + statusHudHud.add(statusHudHud.fpsmaxtext); + statusHudHud.add(statusHudHud.fpsmax); + statusHudHud.fpsmaxtext.setText("max:"); + + statusHudHud.add(statusHudHud.pingtext); + statusHudHud.add(statusHudHud.ping); + statusHudHud.pingtext.setText("ping:"); + + statusHudHud.add(statusHudHud.pltext); + statusHudHud.add(statusHudHud.pl); + statusHudHud.pltext.setText("pl:"); + + statusHudHud.add(statusHudHud.speedtext); + statusHudHud.add(statusHudHud.speed); + statusHudHud.speedtext.setText("speed:"); + + statusHudHud.add(statusHudHud.altitudetext); + statusHudHud.add(statusHudHud.altitude); + statusHudHud.altitudetext.setText("alt:"); + + ////////////////////////////////////////////// + statusHudHud.add(statusHudHud.ppSText); + statusHudHud.add(statusHudHud.ppSCurrent); + statusHudHud.ppSText.setText("ppS:"); //dcdcdc + + statusHudHud.add(statusHudHud.ppRText); + statusHudHud.add(statusHudHud.ppRCurrent); + statusHudHud.ppRText.setText("ppR:"); //00bef0 + + statusHudHud.add(statusHudHud.rxText); + statusHudHud.rxText.setText("Rx:");//787878 + statusHudHud.add(statusHudHud.rxCurrent); + + statusHudHud.add(statusHudHud.txText); + statusHudHud.add(statusHudHud.txCurrent); + statusHudHud.txText.setText("Tx:");// 0078aa + + statusHudHud.add(statusHudHud.lagMSText); + statusHudHud.add(statusHudHud.lagMSCurrent); + statusHudHud.lagMSText.setText("Lag:"); + + statusHudHud.add(statusHudHud.pingAvgText); + statusHudHud.add(statusHudHud.pingAvgCurrent); + statusHudHud.pingAvgText.setText("PingAvg:"); + + statusHudHud.add(statusHudHud.pingMinText); + statusHudHud.add(statusHudHud.pingMinCurrent); + statusHudHud.pingMinText.setText("PMin:"); + + statusHudHud.add(statusHudHud.pingMaxText); + statusHudHud.add(statusHudHud.pingMaxCurrent); + statusHudHud.pingMaxText.setText("PMax:"); + + statusHudHud.add(statusHudHud.pingFluxText); + statusHudHud.add(statusHudHud.pingFluxCurrent); + statusHudHud.pingFluxText.setText("PDif:"); + statusHudHud.lagMSCurrent.setText(0); + if(isObject(HM) && isObject(HudMover)) { + hudmover::addhud(statusHudHud, "statusHud"); + } +} +}; +activatePackage(statusHudPackage); + + diff --git a/public/base/textures/badlands/skies/badlandday_BK.png b/public/base/textures/badlands/skies/badlandday_BK.png new file mode 100755 index 00000000..525eadec Binary files /dev/null and b/public/base/textures/badlands/skies/badlandday_BK.png differ diff --git a/public/base/textures/badlands/skies/badlandday_FR.png b/public/base/textures/badlands/skies/badlandday_FR.png new file mode 100755 index 00000000..90e750a6 Binary files /dev/null and b/public/base/textures/badlands/skies/badlandday_FR.png differ diff --git a/public/base/textures/badlands/skies/badlandday_LF.png b/public/base/textures/badlands/skies/badlandday_LF.png new file mode 100755 index 00000000..d86b4cce Binary files /dev/null and b/public/base/textures/badlands/skies/badlandday_LF.png differ diff --git a/public/base/textures/badlands/skies/badlandday_RT.png b/public/base/textures/badlands/skies/badlandday_RT.png new file mode 100755 index 00000000..ac4185d8 Binary files /dev/null and b/public/base/textures/badlands/skies/badlandday_RT.png differ diff --git a/public/base/textures/badlands/skies/badlandday_UP.png b/public/base/textures/badlands/skies/badlandday_UP.png new file mode 100755 index 00000000..1f95e5ca Binary files /dev/null and b/public/base/textures/badlands/skies/badlandday_UP.png differ diff --git a/public/base/textures/badlands/skies/skyrender_sky-credit.txt b/public/base/textures/badlands/skies/skyrender_sky-credit.txt new file mode 100755 index 00000000..3f519389 --- /dev/null +++ b/public/base/textures/badlands/skies/skyrender_sky-credit.txt @@ -0,0 +1,9 @@ +http://reije081.home.xs4all.nl/skyboxes/ + +This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + +About + +I'm twenty-and-a-bit years old and live in The Netherlands. Currently I'm studying Computer Science in Delft. My hobbies include rowing, ice-skating, playing (electric) guitar and music in general. + +You can contact me by sending an e-mail: roelboel at xs4all dot nl. StatCounter - Free Web Tracker and Counter \ No newline at end of file diff --git a/public/base/textures/lava/skies/lavanight_v5_BK.png b/public/base/textures/lava/skies/lavanight_v5_BK.png new file mode 100755 index 00000000..4d6b2ef8 Binary files /dev/null and b/public/base/textures/lava/skies/lavanight_v5_BK.png differ diff --git a/public/base/textures/lava/skies/lavanight_v5_DN.png b/public/base/textures/lava/skies/lavanight_v5_DN.png new file mode 100755 index 00000000..acc96a6f Binary files /dev/null and b/public/base/textures/lava/skies/lavanight_v5_DN.png differ diff --git a/public/base/textures/lava/skies/lavanight_v5_FR.png b/public/base/textures/lava/skies/lavanight_v5_FR.png new file mode 100755 index 00000000..38cb5cf4 Binary files /dev/null and b/public/base/textures/lava/skies/lavanight_v5_FR.png differ diff --git a/public/base/textures/lava/skies/lavanight_v5_LF.png b/public/base/textures/lava/skies/lavanight_v5_LF.png new file mode 100755 index 00000000..6a73e31c Binary files /dev/null and b/public/base/textures/lava/skies/lavanight_v5_LF.png differ diff --git a/public/base/textures/lava/skies/lavanight_v5_RT.png b/public/base/textures/lava/skies/lavanight_v5_RT.png new file mode 100755 index 00000000..638c8193 Binary files /dev/null and b/public/base/textures/lava/skies/lavanight_v5_RT.png differ diff --git a/public/base/textures/lava/skies/lavanight_v5_UP.png b/public/base/textures/lava/skies/lavanight_v5_UP.png new file mode 100755 index 00000000..b8f5f091 Binary files /dev/null and b/public/base/textures/lava/skies/lavanight_v5_UP.png differ diff --git a/public/base/textures/lush/skies/L4_b.png b/public/base/textures/lush/skies/L4_b.png new file mode 100755 index 00000000..9ec88e12 Binary files /dev/null and b/public/base/textures/lush/skies/L4_b.png differ diff --git a/public/base/textures/lush/skies/L4_bottom.png b/public/base/textures/lush/skies/L4_bottom.png new file mode 100755 index 00000000..ef70b662 Binary files /dev/null and b/public/base/textures/lush/skies/L4_bottom.png differ diff --git a/public/base/textures/lush/skies/L4_f.png b/public/base/textures/lush/skies/L4_f.png new file mode 100755 index 00000000..e75b4b3f Binary files /dev/null and b/public/base/textures/lush/skies/L4_f.png differ diff --git a/public/base/textures/lush/skies/L4_l.png b/public/base/textures/lush/skies/L4_l.png new file mode 100755 index 00000000..4662d00b Binary files /dev/null and b/public/base/textures/lush/skies/L4_l.png differ diff --git a/public/base/textures/lush/skies/L4_r.png b/public/base/textures/lush/skies/L4_r.png new file mode 100755 index 00000000..b0997c43 Binary files /dev/null and b/public/base/textures/lush/skies/L4_r.png differ diff --git a/public/base/textures/lush/skies/L4_t.png b/public/base/textures/lush/skies/L4_t.png new file mode 100755 index 00000000..4871b2f3 Binary files /dev/null and b/public/base/textures/lush/skies/L4_t.png differ diff --git a/public/black.png b/public/black.png new file mode 100644 index 00000000..5774990a Binary files /dev/null and b/public/black.png differ diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 00000000..575b9165 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1 @@ +{"BridgeTooFarReadme.txt":["DynamixFinalPack.vl2"],"Devil'sElbowReadme.txt":["DynamixFinalPack.vl2"],"Dopplegangers.txt":["DesertWind.vl2","centaur.vl2"],"EULA.txt":["base.vl2"],"Info.txt":["yHDTextures2.0.vl2"],"InnerSanctumReadme.txt":["DynamixFinalPack.vl2"],"IsleOfManReadme.txt":["DynamixFinalPack.vl2"],"LICENSE":["SkiFreeGameType.vl2"],"PantheonReadme.txt":["DynamixFinalPack.vl2"],"ReadMe.txt":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"TWL-MapPack Readme.txt":["TWL-MapPack.vl2"],"TWL2-Map Pack Readme.txt":["TWL2-MapPack.vl2"],"TridentReadme.txt":["DynamixFinalPack.vl2"],"UKEULA.txt":["base.vl2"],"Xtra_missions/Attrition.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/Chasmaclysmic.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/DBS_Smoothed.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/DX_Badlands.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/DX_Desert.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/DX_Ice.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/HO_Badlands.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/HO_Desert.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/HO_Ice.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/HO_Lush.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/HillKingLT.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/MapAssets.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/Moonwalk.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/Pariah_Mirrored.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/PlanetX.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/PuliVeivari.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/Ravine.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/Rush.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/SC_Badlands.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/SC_Desert.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/SC_Ice.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/SC_Lush.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/SC_Night.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/SC_Normal.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/Stripmine.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"Xtra_missions/VanDamnedLT.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/T2Intro.wav":["audio.vl2"],"audio/Windloop2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/alienanimal2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/alienanimal4.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/alienanimal5.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/alienanimal6.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/alienanimal7.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/birdfrog.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/Bonuses/Nouns/airplane.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/astronaut.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/atmosphere.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/balloon.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/bats.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/beeswarm.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/birdofprey.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/blimp.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/bluejay.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/budgie.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/butterfly.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/camel.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/captain.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/cat.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/cheetah.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/chickadee.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/cloud.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/colonel.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/condor.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/cougar.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/cow.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/coyote.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/crow.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/dog.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/donkey.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/dove.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/dragonfly.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/flamingo.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/fly.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/general.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/goldfinch.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/grasshopper.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/helicopter.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/hornet.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/horse.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/hurricane.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/iguana.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/jaguar.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/llama.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/major.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/moon.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/msquito.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/ostrich.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/owl.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/ozone.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/parakeet.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/pelican.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/puppy.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/shark.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/snake.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/special1.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/special2.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/special3.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/swallow.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/tiger.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/tornado.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/turtle.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/warnipple.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/wasp.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/wolf.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/zebra.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/Nouns/zeppellin.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_passback1_prayer.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_passback2_moyoyo.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_passback3_rocket.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_perppass1_blast.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_perppass2_deepdish.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_perppass3_bunnybump.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_straipass1_yoyo.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_straipass2_skydive.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/down_straipass3_jolt.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/gadget3.wav":["TR2final105-client.vl2"],"audio/fx/Bonuses/high-level1-frozen.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/high-level2-shooting.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/high-level3-dangling.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/high-level4-blazing.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/high-level5-raining.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/high-level6-falling.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_passback1_jab.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_passback2_backbreaker.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_passback3_leetlob.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_perppass1_peeler.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_perppass2_blender.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_perppass3_glasssmash.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_straipass1_bullet.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_straipass2_heist.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/horz_straipass3_smackshot.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/low-level1-sharp.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/low-level2-spitting.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/low-level3-whipped.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/low-level4-popping.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/low-level5-bursting.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/mario-6notes.wav":["TR2final105-client.vl2"],"audio/fx/Bonuses/med-level1-modest.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/med-level2-ripped.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/med-level3-shining.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/med-level4-slick.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/med-level5-sprinkling.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/med-level6-brilliant.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_passback1_bomb.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_passback2_deliverance.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_passback3_crank.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_perppass1_fling.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_perppass2_quark.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_perppass3_juggletoss.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_straipass1_ascension.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/upward_straipass2_elevator.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/wow-level1-suspended.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/wow-level2-skeeting.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/wow-level3-hanging.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/wow-level4-arcing.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/wow-level5-pouring.wav":["TR2final093-extras.vl2"],"audio/fx/Bonuses/wow-level6-elite.wav":["TR2final093-extras.vl2"],"audio/fx/armor/breath_bio_uw.wav":["audio.vl2"],"audio/fx/armor/breath_fem_uw.wav":["audio.vl2"],"audio/fx/armor/breath_uw.wav":["audio.vl2"],"audio/fx/armor/bubbletrail.wav":["audio.vl2"],"audio/fx/armor/bubbletrail2.wav":["audio.vl2"],"audio/fx/armor/general_water_bigsplash.wav":["audio.vl2"],"audio/fx/armor/general_water_exit.wav":["audio.vl2"],"audio/fx/armor/general_water_exit2.wav":["audio.vl2"],"audio/fx/armor/general_water_medsplash.wav":["audio.vl2"],"audio/fx/armor/general_water_smallsplash.wav":["audio.vl2"],"audio/fx/armor/general_water_smallsplash2.wav":["audio.vl2"],"audio/fx/armor/heavy_LF_hard.wav":["audio.vl2"],"audio/fx/armor/heavy_LF_metal.wav":["audio.vl2"],"audio/fx/armor/heavy_LF_snow.wav":["audio.vl2"],"audio/fx/armor/heavy_LF_soft.wav":["audio.vl2"],"audio/fx/armor/heavy_LF_uw.wav":["audio.vl2"],"audio/fx/armor/heavy_LF_water.wav":["audio.vl2"],"audio/fx/armor/heavy_RF_hard.wav":["audio.vl2"],"audio/fx/armor/heavy_RF_metal.wav":["audio.vl2"],"audio/fx/armor/heavy_RF_snow.wav":["audio.vl2"],"audio/fx/armor/heavy_RF_soft.wav":["audio.vl2"],"audio/fx/armor/heavy_RF_uw.wav":["audio.vl2"],"audio/fx/armor/heavy_RF_water.wav":["audio.vl2"],"audio/fx/armor/heavy_land_hard.wav":["audio.vl2"],"audio/fx/armor/heavy_land_snow.wav":["audio.vl2"],"audio/fx/armor/heavy_land_soft.wav":["audio.vl2"],"audio/fx/armor/light_LF_bubbles.wav":["audio.vl2"],"audio/fx/armor/light_LF_hard.wav":["audio.vl2"],"audio/fx/armor/light_LF_metal.wav":["audio.vl2"],"audio/fx/armor/light_LF_snow.wav":["audio.vl2"],"audio/fx/armor/light_LF_soft.wav":["audio.vl2"],"audio/fx/armor/light_LF_uw.wav":["audio.vl2"],"audio/fx/armor/light_LF_wade.wav":["audio.vl2"],"audio/fx/armor/light_LF_water.wav":["audio.vl2"],"audio/fx/armor/light_RF_bubbles.wav":["audio.vl2"],"audio/fx/armor/light_RF_hard.wav":["audio.vl2"],"audio/fx/armor/light_RF_metal.wav":["audio.vl2"],"audio/fx/armor/light_RF_snow.wav":["audio.vl2"],"audio/fx/armor/light_RF_soft.wav":["audio.vl2"],"audio/fx/armor/light_RF_uw.wav":["audio.vl2"],"audio/fx/armor/light_RF_wade.wav":["audio.vl2"],"audio/fx/armor/light_RF_water.wav":["audio.vl2"],"audio/fx/armor/light_land_hard.wav":["audio.vl2"],"audio/fx/armor/light_land_metal.wav":["audio.vl2"],"audio/fx/armor/light_land_snow.wav":["audio.vl2"],"audio/fx/armor/light_land_soft.wav":["audio.vl2"],"audio/fx/armor/med_LF_hard.wav":["audio.vl2"],"audio/fx/armor/med_LF_metal.wav":["audio.vl2"],"audio/fx/armor/med_LF_snow.wav":["audio.vl2"],"audio/fx/armor/med_LF_soft.wav":["audio.vl2"],"audio/fx/armor/med_LF_uw.wav":["audio.vl2"],"audio/fx/armor/med_LF_water.wav":["audio.vl2"],"audio/fx/armor/med_RF_hard.wav":["audio.vl2"],"audio/fx/armor/med_RF_metal.wav":["audio.vl2"],"audio/fx/armor/med_RF_snow.wav":["audio.vl2"],"audio/fx/armor/med_RF_soft.wav":["audio.vl2"],"audio/fx/armor/med_RF_uw.wav":["audio.vl2"],"audio/fx/armor/med_RF_water.wav":["audio.vl2"],"audio/fx/armor/med_land_hard.wav":["audio.vl2"],"audio/fx/armor/med_land_snow.wav":["audio.vl2"],"audio/fx/armor/med_land_soft.wav":["audio.vl2"],"audio/fx/armor/ski_soft.wav":["audio.vl2"],"audio/fx/armor/thrust.wav":["audio.vl2"],"audio/fx/armor/thrust_uw.wav":["audio.vl2"],"audio/fx/bonuses/TRex.wav":["TR2final105-client.vl2"],"audio/fx/bonuses/evillaugh.wav":["TR2final105-client.vl2"],"audio/fx/bonuses/qseq1.wav":["TR2final105-client.vl2"],"audio/fx/bonuses/qseq2.wav":["TR2final105-client.vl2"],"audio/fx/bonuses/qseq3.wav":["TR2final105-client.vl2"],"audio/fx/environment/IrisStaticSweep.wav":["TWL-MapPack.vl2"],"audio/fx/environment/SalDefenceWarning.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/Salbaseambience.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/Salwindsand.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/base_1.wav":["audio.vl2"],"audio/fx/environment/base_2.wav":["audio.vl2"],"audio/fx/environment/base_3.wav":["audio.vl2"],"audio/fx/environment/base_pulse_1.wav":["audio.vl2"],"audio/fx/environment/base_pulse_2.wav":["audio.vl2"],"audio/fx/environment/bird_echo1.wav":["audio.vl2"],"audio/fx/environment/bird_echo2.wav":["audio.vl2"],"audio/fx/environment/bird_echo3.wav":["audio.vl2"],"audio/fx/environment/bird_echo4.wav":["audio.vl2"],"audio/fx/environment/bird_echo5.wav":["audio.vl2"],"audio/fx/environment/bubbles1.wav":["audio.vl2"],"audio/fx/environment/bubbles2.wav":["audio.vl2"],"audio/fx/environment/caynonwind144k.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/coldwind1.wav":["audio.vl2"],"audio/fx/environment/crickets.wav":["audio.vl2"],"audio/fx/environment/crickets_drygrass.wav":["audio.vl2"],"audio/fx/environment/ctmelody1.WAV":["audio.vl2"],"audio/fx/environment/ctmelody2.WAV":["audio.vl2"],"audio/fx/environment/ctmelody3.WAV":["audio.vl2"],"audio/fx/environment/ctmelody4.WAV":["audio.vl2"],"audio/fx/environment/desertowl.wav":["audio.vl2"],"audio/fx/environment/dnabird1.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnabird3.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnacloseriver.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnacricketnight.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnaforest1.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnaforest2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnafrog.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnagabbiano.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnaghost.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnanightengale.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnaoceano.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnaoceano2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnaoceano3.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnapanelsounds.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnapanelsounds2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnapigeon.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnastormblows.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnawolf.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/dnawolf2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/drywind.wav":["audio.vl2"],"audio/fx/environment/drywind2.wav":["audio.vl2"],"audio/fx/environment/fly_swarm.wav":["audio.vl2"],"audio/fx/environment/fog.wav":["audio.vl2"],"audio/fx/environment/frog1.wav":["audio.vl2"],"audio/fx/environment/frog2.wav":["audio.vl2"],"audio/fx/environment/gravel1.wav":["audio.vl2"],"audio/fx/environment/gravel2.wav":["audio.vl2"],"audio/fx/environment/gravel3.wav":["audio.vl2"],"audio/fx/environment/growl1.wav":["audio.vl2"],"audio/fx/environment/growl2.wav":["audio.vl2"],"audio/fx/environment/growl3.wav":["audio.vl2"],"audio/fx/environment/growl4.wav":["audio.vl2"],"audio/fx/environment/growl5.wav":["audio.vl2"],"audio/fx/environment/howlingwind1.wav":["audio.vl2"],"audio/fx/environment/howlingwind2.wav":["audio.vl2"],"audio/fx/environment/howlingwind3.wav":["audio.vl2"],"audio/fx/environment/icecrack1.wav":["audio.vl2"],"audio/fx/environment/icecrack2.wav":["audio.vl2"],"audio/fx/environment/icefall1.wav":["audio.vl2"],"audio/fx/environment/icefall2.wav":["audio.vl2"],"audio/fx/environment/icefall3.wav":["audio.vl2"],"audio/fx/environment/lakewaves.wav":["audio.vl2"],"audio/fx/environment/lakewaves2.wav":["audio.vl2"],"audio/fx/environment/lavabloop1.wav":["audio.vl2"],"audio/fx/environment/lavabloop2.wav":["audio.vl2"],"audio/fx/environment/lavabloop3.wav":["audio.vl2"],"audio/fx/environment/lavabloop4.wav":["audio.vl2"],"audio/fx/environment/lavabloop5.wav":["audio.vl2"],"audio/fx/environment/lavabloop6.wav":["audio.vl2"],"audio/fx/environment/lavabloop7.wav":["audio.vl2"],"audio/fx/environment/lavahiss.wav":["audio.vl2"],"audio/fx/environment/lavahostile.wav":["audio.vl2"],"audio/fx/environment/lavamellow1.wav":["audio.vl2"],"audio/fx/environment/leavesrustling.wav":["audio.vl2"],"audio/fx/environment/moaningwind1.wav":["audio.vl2"],"audio/fx/environment/oceanwaves.wav":["audio.vl2"],"audio/fx/environment/rain_hard_1.wav":["audio.vl2"],"audio/fx/environment/rain_hard_2.wav":["audio.vl2"],"audio/fx/environment/rain_light_1.wav":["audio.vl2"],"audio/fx/environment/rain_light_2.wav":["audio.vl2"],"audio/fx/environment/rain_medium_1.wav":["audio.vl2"],"audio/fx/environment/rain_medium_2.wav":["audio.vl2"],"audio/fx/environment/rain_medium_3.wav":["audio.vl2"],"audio/fx/environment/river1.wav":["audio.vl2"],"audio/fx/environment/river2.wav":["audio.vl2"],"audio/fx/environment/river3.wav":["audio.vl2"],"audio/fx/environment/rockslide1.wav":["audio.vl2"],"audio/fx/environment/rockslide2.wav":["audio.vl2"],"audio/fx/environment/rumblingthunder.wav":["audio.vl2"],"audio/fx/environment/sandpatter1.wav":["audio.vl2"],"audio/fx/environment/sandpatter2.wav":["audio.vl2"],"audio/fx/environment/sandstorm.wav":["audio.vl2"],"audio/fx/environment/sandstorm2.wav":["audio.vl2"],"audio/fx/environment/seagull1.wav":["TR2final105-client.vl2"],"audio/fx/environment/snowfall1.wav":["audio.vl2"],"audio/fx/environment/snowfall2.wav":["audio.vl2"],"audio/fx/environment/snowfall3.wav":["audio.vl2"],"audio/fx/environment/snowfall4.wav":["audio.vl2"],"audio/fx/environment/snowstorm1.wav":["audio.vl2"],"audio/fx/environment/snowstorm2.wav":["audio.vl2"],"audio/fx/environment/sys-boilingwater.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-lava1.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-lava2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-lavastream.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-ocean.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-riverfast.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-riverslow.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-thunder1.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-thunderaway.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/sys-windstream.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/wetwind.wav":["audio.vl2"],"audio/fx/environment/whispers.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/fx/environment/wind_sandstorm.wav":["audio.vl2"],"audio/fx/environment/yeti_howl1.wav":["audio.vl2"],"audio/fx/environment/yeti_howl2.wav":["audio.vl2"],"audio/fx/explosions/deployables_explosion.wav":["audio.vl2"],"audio/fx/explosions/explosion.xpl03.wav":["audio.vl2"],"audio/fx/explosions/explosion.xpl10.wav":["audio.vl2"],"audio/fx/explosions/explosion.xpl23.wav":["audio.vl2"],"audio/fx/explosions/explosion.xpl27.wav":["audio.vl2"],"audio/fx/explosions/grenade_flash_explode.wav":["audio.vl2"],"audio/fx/explosions/vehicle_explosion.wav":["audio.vl2"],"audio/fx/misc/Cheer.wav":["TR2final105-client.vl2"],"audio/fx/misc/Flag1.wav":["TR2final105-client.vl2"],"audio/fx/misc/Flair.wav":["TR2final105-client.vl2"],"audio/fx/misc/MA1.wav":["TR2final105-client.vl2"],"audio/fx/misc/MA2.wav":["TR2final105-client.vl2"],"audio/fx/misc/MA3.wav":["TR2final105-client.vl2"],"audio/fx/misc/SHIELDH1.WAV":["audio.vl2"],"audio/fx/misc/Siege_Switching.WAV":["audio.vl2"],"audio/fx/misc/Yardsale.WAV":["audio.vl2"],"audio/fx/misc/bounty_bonus.wav":["audio.vl2"],"audio/fx/misc/bounty_completed.wav":["audio.vl2"],"audio/fx/misc/bounty_objrem1.wav":["audio.vl2"],"audio/fx/misc/bounty_objrem2.wav":["audio.vl2"],"audio/fx/misc/cannonshot.wav":["TR2final105-client.vl2"],"audio/fx/misc/cannonstart.wav":["TR2final105-client.vl2"],"audio/fx/misc/carscreech.wav":["TR2final105-client.vl2"],"audio/fx/misc/coin.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowd-clap.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowd-dis2.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowd.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowd2.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowd3.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdfade.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdtransition1a.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdtransition1b.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdtransition2a.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdtransition2b.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdtransition3a.wav":["TR2final105-client.vl2"],"audio/fx/misc/crowdtransition3b.wav":["TR2final105-client.vl2"],"audio/fx/misc/diagnostic_beep.wav":["audio.vl2"],"audio/fx/misc/diagnostic_on.wav":["audio.vl2"],"audio/fx/misc/downloading.wav":["audio.vl2"],"audio/fx/misc/flag_capture.wav":["audio.vl2"],"audio/fx/misc/flag_drop.wav":["audio.vl2"],"audio/fx/misc/flag_lost.wav":["audio.vl2"],"audio/fx/misc/flag_mined_female.wav":["audio.vl2"],"audio/fx/misc/flag_mined_male.wav":["audio.vl2"],"audio/fx/misc/flag_return.wav":["audio.vl2"],"audio/fx/misc/flag_snatch.wav":["audio.vl2"],"audio/fx/misc/flag_taken.wav":["audio.vl2"],"audio/fx/misc/flagcapture.wav":["TR2final105-client.vl2"],"audio/fx/misc/flagenemy.wav":["TR2final105-client.vl2"],"audio/fx/misc/flagflap.wav":["TR2final105-client.vl2"],"audio/fx/misc/flagfriend.wav":["TR2final105-client.vl2"],"audio/fx/misc/flagreturn.wav":["TR2final105-client.vl2"],"audio/fx/misc/flagself.wav":["TR2final105-client.vl2"],"audio/fx/misc/flipflop_lost.wav":["audio.vl2"],"audio/fx/misc/flipflop_taken.wav":["audio.vl2"],"audio/fx/misc/gameover.wav":["TR2final105-client.vl2"],"audio/fx/misc/gamestart.wav":["TR2final105-client.vl2"],"audio/fx/misc/goal.wav":["TR2final105-client.vl2"],"audio/fx/misc/gridjump.wav":["TR2final105-client.vl2"],"audio/fx/misc/health_patch.wav":["audio.vl2"],"audio/fx/misc/heartbeat.wav":["audio.vl2"],"audio/fx/misc/hunters_1.wav":["audio.vl2"],"audio/fx/misc/hunters_10.wav":["audio.vl2"],"audio/fx/misc/hunters_15.wav":["audio.vl2"],"audio/fx/misc/hunters_2.wav":["audio.vl2"],"audio/fx/misc/hunters_3.wav":["audio.vl2"],"audio/fx/misc/hunters_30.wav":["audio.vl2"],"audio/fx/misc/hunters_4.wav":["audio.vl2"],"audio/fx/misc/hunters_5.wav":["audio.vl2"],"audio/fx/misc/hunters_60.wav":["audio.vl2"],"audio/fx/misc/hunters_flag_snatch.wav":["audio.vl2"],"audio/fx/misc/hunters_greed.wav":["audio.vl2"],"audio/fx/misc/hunters_horde.wav":["audio.vl2"],"audio/fx/misc/launcher.wav":["TR2final105-client.vl2"],"audio/fx/misc/lightning_impact.wav":["audio.vl2"],"audio/fx/misc/mine.deploy.WAV":["audio.vl2"],"audio/fx/misc/misc.error.wav":["audio.vl2"],"audio/fx/misc/missed.wav":["TR2final105-client.vl2"],"audio/fx/misc/nexus_cap.wav":["audio.vl2"],"audio/fx/misc/nexus_idle.wav":["audio.vl2"],"audio/fx/misc/red_alert.wav":["audio.vl2"],"audio/fx/misc/red_alert_short.wav":["TR2final105-client.vl2"],"audio/fx/misc/rolechange.wav":["TR2final105-client.vl2"],"audio/fx/misc/slapshot.wav":["TR2final105-client.vl2"],"audio/fx/misc/static.wav":["audio.vl2"],"audio/fx/misc/switch_taken.wav":["audio.vl2"],"audio/fx/misc/target_waypoint.wav":["audio.vl2"],"audio/fx/misc/vote_fails.wav":["audio.vl2"],"audio/fx/misc/vote_initiated.wav":["audio.vl2"],"audio/fx/misc/vote_passes.wav":["audio.vl2"],"audio/fx/misc/warning_beep.wav":["audio.vl2"],"audio/fx/misc/whistle.wav":["TR2final105-client.vl2"],"audio/fx/packs/cloak_on.wav":["audio.vl2"],"audio/fx/packs/inventory_deploy.wav":["audio.vl2"],"audio/fx/packs/packs.pickupPack.wav":["audio.vl2"],"audio/fx/packs/packs.repairPackOn.wav":["audio.vl2"],"audio/fx/packs/packs.throwPack.wav":["audio.vl2"],"audio/fx/packs/repair_use.wav":["audio.vl2"],"audio/fx/packs/satchel_pack_activate.wav":["audio.vl2"],"audio/fx/packs/satchel_pack_detonate.wav":["audio.vl2"],"audio/fx/packs/sensorjammerpack_on.wav":["audio.vl2"],"audio/fx/packs/shield_hit.wav":["audio.vl2"],"audio/fx/packs/shield_on.WAV":["audio.vl2"],"audio/fx/packs/turret_place.wav":["audio.vl2"],"audio/fx/powered/base_power_loop.wav":["audio.vl2"],"audio/fx/powered/base_power_off.wav":["audio.vl2"],"audio/fx/powered/base_power_on.wav":["audio.vl2"],"audio/fx/powered/dep_inv_station.wav":["audio.vl2"],"audio/fx/powered/generator_hum.wav":["audio.vl2"],"audio/fx/powered/inv_pad_appear.wav":["audio.vl2"],"audio/fx/powered/inv_pad_off.wav":["audio.vl2"],"audio/fx/powered/inv_pad_on.wav":["audio.vl2"],"audio/fx/powered/motion_sensor_activate.wav":["audio.vl2"],"audio/fx/powered/nexus_deny.wav":["audio.vl2"],"audio/fx/powered/sensor_activate.wav":["audio.vl2"],"audio/fx/powered/sensor_hum.wav":["audio.vl2"],"audio/fx/powered/station_denied.wav":["audio.vl2"],"audio/fx/powered/station_hum.wav":["audio.vl2"],"audio/fx/powered/turret_aa_activate.wav":["audio.vl2"],"audio/fx/powered/turret_aa_fire.wav":["audio.vl2"],"audio/fx/powered/turret_heavy_activate.wav":["audio.vl2"],"audio/fx/powered/turret_heavy_idle.wav":["audio.vl2"],"audio/fx/powered/turret_heavy_reload.wav":["audio.vl2"],"audio/fx/powered/turret_indoor_fire.wav":["audio.vl2"],"audio/fx/powered/turret_light_activate.wav":["audio.vl2"],"audio/fx/powered/turret_light_idle.wav":["audio.vl2"],"audio/fx/powered/turret_light_reload.wav":["audio.vl2"],"audio/fx/powered/turret_missile_activate.wav":["audio.vl2"],"audio/fx/powered/turret_missile_fire.wav":["audio.vl2"],"audio/fx/powered/turret_mortar_explode.wav":["audio.vl2"],"audio/fx/powered/turret_mortar_fire.wav":["audio.vl2"],"audio/fx/powered/turret_outdoor_fire.wav":["audio.vl2"],"audio/fx/powered/turret_plasma_explode.wav":["audio.vl2"],"audio/fx/powered/turret_plasma_fire.wav":["audio.vl2"],"audio/fx/powered/turret_sentry_activate.wav":["audio.vl2"],"audio/fx/powered/turret_sentry_fire.wav":["audio.vl2"],"audio/fx/powered/turret_sentry_impact.wav":["audio.vl2"],"audio/fx/powered/vehicle_pad_on.wav":["audio.vl2"],"audio/fx/powered/vehicle_screen_off.wav":["audio.vl2"],"audio/fx/powered/vehicle_screen_on.wav":["audio.vl2"],"audio/fx/powered/vehicle_screen_on2.wav":["audio.vl2"],"audio/fx/vehicles/MPB_close_lid.wav":["audio.vl2"],"audio/fx/vehicles/MPB_deploy.wav":["audio.vl2"],"audio/fx/vehicles/MPB_deploy_station.wav":["audio.vl2"],"audio/fx/vehicles/MPB_deploy_turret.wav":["audio.vl2"],"audio/fx/vehicles/MPB_undeploy_turret.wav":["audio.vl2"],"audio/fx/vehicles/MPB_undeploy_turret2.wav":["audio.vl2"],"audio/fx/vehicles/bomber_bomb_dryfire.wav":["audio.vl2"],"audio/fx/vehicles/bomber_bomb_impact.wav":["audio.vl2"],"audio/fx/vehicles/bomber_bomb_projectile.wav":["audio.vl2"],"audio/fx/vehicles/bomber_bomb_reload.wav":["audio.vl2"],"audio/fx/vehicles/bomber_boost.wav":["audio.vl2"],"audio/fx/vehicles/bomber_engine.wav":["audio.vl2"],"audio/fx/vehicles/bomber_turret_activate.wav":["audio.vl2"],"audio/fx/vehicles/bomber_turret_dryfire.wav":["audio.vl2"],"audio/fx/vehicles/bomber_turret_fire.wav":["audio.vl2"],"audio/fx/vehicles/bomber_turret_reload.wav":["audio.vl2"],"audio/fx/vehicles/cockpit_activate.wav":["audio.vl2"],"audio/fx/vehicles/crash_grav_soft.wav":["audio.vl2"],"audio/fx/vehicles/crash_ground_vehicle.wav":["audio.vl2"],"audio/fx/vehicles/crash_hard.wav":["audio.vl2"],"audio/fx/vehicles/crash_soft.wav":["audio.vl2"],"audio/fx/vehicles/htransport_boost.wav":["audio.vl2"],"audio/fx/vehicles/htransport_thrust.wav":["audio.vl2"],"audio/fx/vehicles/inventory_pad_appear.wav":["audio.vl2"],"audio/fx/vehicles/inventory_pad_on.wav":["audio.vl2"],"audio/fx/vehicles/mount.wav":["audio.vl2"],"audio/fx/vehicles/mount_dis.wav":["audio.vl2"],"audio/fx/vehicles/mpb_boost.wav":["audio.vl2"],"audio/fx/vehicles/mpb_inv_station.wav":["audio.vl2"],"audio/fx/vehicles/mpb_thrust.wav":["audio.vl2"],"audio/fx/vehicles/outrider_boost.wav":["audio.vl2"],"audio/fx/vehicles/outrider_engine.wav":["audio.vl2"],"audio/fx/vehicles/outrider_skid.wav":["audio.vl2"],"audio/fx/vehicles/shrike_blaster.wav":["audio.vl2"],"audio/fx/vehicles/shrike_blaster_projectile.wav":["audio.vl2"],"audio/fx/vehicles/shrike_blaster_projectile_impact.wav":["audio.vl2"],"audio/fx/vehicles/shrike_boost.wav":["audio.vl2"],"audio/fx/vehicles/shrike_engine.wav":["audio.vl2"],"audio/fx/vehicles/tank_activate.wav":["audio.vl2"],"audio/fx/vehicles/tank_boost.wav":["audio.vl2"],"audio/fx/vehicles/tank_chaingun.wav":["audio.vl2"],"audio/fx/vehicles/tank_engine.wav":["audio.vl2"],"audio/fx/vehicles/tank_mortar_fire.wav":["audio.vl2"],"audio/fx/vehicles/tank_skid.wav":["audio.vl2"],"audio/fx/vehicles/wake_shrike_n_tank.wav":["audio.vl2"],"audio/fx/vehicles/wake_wildcat.wav":["audio.vl2"],"audio/fx/weapons/ELF_fire.wav":["audio.vl2"],"audio/fx/weapons/ELF_hit.wav":["audio.vl2"],"audio/fx/weapons/ELF_underwater.wav":["audio.vl2"],"audio/fx/weapons/TR2spinfusor_fire.wav":["TR2final105-client.vl2"],"audio/fx/weapons/blaster_activate.wav":["audio.vl2"],"audio/fx/weapons/blaster_fire.WAV":["audio.vl2"],"audio/fx/weapons/blaster_impact.wav":["audio.vl2"],"audio/fx/weapons/blaster_projectile.wav":["audio.vl2"],"audio/fx/weapons/cg_hard1.wav":["audio.vl2"],"audio/fx/weapons/cg_hard2.wav":["audio.vl2"],"audio/fx/weapons/cg_hard3.wav":["audio.vl2"],"audio/fx/weapons/cg_hard4.wav":["audio.vl2"],"audio/fx/weapons/cg_metal1.wav":["audio.vl2"],"audio/fx/weapons/cg_metal2.wav":["audio.vl2"],"audio/fx/weapons/cg_metal3.wav":["audio.vl2"],"audio/fx/weapons/cg_metal4.wav":["audio.vl2"],"audio/fx/weapons/cg_soft1.wav":["audio.vl2"],"audio/fx/weapons/cg_soft2.wav":["audio.vl2"],"audio/fx/weapons/cg_soft3.wav":["audio.vl2"],"audio/fx/weapons/cg_soft4.wav":["audio.vl2"],"audio/fx/weapons/cg_water1.wav":["audio.vl2"],"audio/fx/weapons/cg_water2.wav":["audio.vl2"],"audio/fx/weapons/cg_water3.wav":["audio.vl2"],"audio/fx/weapons/cg_water4.wav":["audio.vl2"],"audio/fx/weapons/chaingun_activate.wav":["audio.vl2"],"audio/fx/weapons/chaingun_dryfire.wav":["audio.vl2"],"audio/fx/weapons/chaingun_fire.wav":["audio.vl2"],"audio/fx/weapons/chaingun_impact.wav":["audio.vl2"],"audio/fx/weapons/chaingun_off.wav":["audio.vl2"],"audio/fx/weapons/chaingun_projectile.wav":["audio.vl2"],"audio/fx/weapons/chaingun_spindown.wav":["audio.vl2"],"audio/fx/weapons/chaingun_spinup.wav":["audio.vl2"],"audio/fx/weapons/chaingun_start.wav":["audio.vl2"],"audio/fx/weapons/generic_switch.wav":["audio.vl2"],"audio/fx/weapons/grenade_camera_activate.wav":["audio.vl2"],"audio/fx/weapons/grenade_camera_attach.wav":["audio.vl2"],"audio/fx/weapons/grenade_explode.wav":["audio.vl2"],"audio/fx/weapons/grenade_explode_UW.wav":["audio.vl2"],"audio/fx/weapons/grenade_flash_explode.wav":["audio.vl2"],"audio/fx/weapons/grenade_switch.wav":["audio.vl2"],"audio/fx/weapons/grenade_throw.wav":["audio.vl2"],"audio/fx/weapons/grenadelauncher_activate.wav":["audio.vl2"],"audio/fx/weapons/grenadelauncher_dryfire.wav":["audio.vl2"],"audio/fx/weapons/grenadelauncher_fire.wav":["audio.vl2"],"audio/fx/weapons/grenadelauncher_projectile.wav":["audio.vl2"],"audio/fx/weapons/grenadelauncher_reload.wav":["audio.vl2"],"audio/fx/weapons/mine_deploy.wav":["audio.vl2"],"audio/fx/weapons/mine_detonate.wav":["audio.vl2"],"audio/fx/weapons/mine_detonate_UW.wav":["audio.vl2"],"audio/fx/weapons/mine_switch.wav":["audio.vl2"],"audio/fx/weapons/missile_fire.wav":["audio.vl2"],"audio/fx/weapons/missile_firer_lock.wav":["audio.vl2"],"audio/fx/weapons/missile_firer_search.wav":["audio.vl2"],"audio/fx/weapons/missile_launcher_activate.wav":["audio.vl2"],"audio/fx/weapons/missile_launcher_dryfire.wav":["audio.vl2"],"audio/fx/weapons/missile_projectile.wav":["audio.vl2"],"audio/fx/weapons/missile_target_inbound.wav":["audio.vl2"],"audio/fx/weapons/missile_target_lock.wav":["audio.vl2"],"audio/fx/weapons/mortar_activate.wav":["audio.vl2"],"audio/fx/weapons/mortar_dryfire.wav":["audio.vl2"],"audio/fx/weapons/mortar_explode.wav":["audio.vl2"],"audio/fx/weapons/mortar_explode_UW.wav":["audio.vl2"],"audio/fx/weapons/mortar_fire.wav":["audio.vl2"],"audio/fx/weapons/mortar_projectile.wav":["audio.vl2"],"audio/fx/weapons/mortar_reload.wav":["audio.vl2"],"audio/fx/weapons/plasma_dryfire.wav":["audio.vl2"],"audio/fx/weapons/plasma_fizzle.wav":["audio.vl2"],"audio/fx/weapons/plasma_rifle_activate.WAV":["audio.vl2"],"audio/fx/weapons/plasma_rifle_fire.WAV":["audio.vl2"],"audio/fx/weapons/plasma_rifle_idle.WAV":["audio.vl2"],"audio/fx/weapons/plasma_rifle_projectile.WAV":["audio.vl2"],"audio/fx/weapons/plasma_rifle_projectile_die.WAV":["audio.vl2"],"audio/fx/weapons/plasma_rifle_projectile_hit.WAV":["audio.vl2"],"audio/fx/weapons/plasma_rifle_reload.WAV":["audio.vl2"],"audio/fx/weapons/shocklance_activate.wav":["audio.vl2"],"audio/fx/weapons/shocklance_dryfire.wav":["audio.vl2"],"audio/fx/weapons/shocklance_fire.wav":["audio.vl2"],"audio/fx/weapons/shocklance_miss.wav":["audio.vl2"],"audio/fx/weapons/shocklance_reload.wav":["audio.vl2"],"audio/fx/weapons/sniper_activate.wav":["audio.vl2"],"audio/fx/weapons/sniper_fire.wav":["audio.vl2"],"audio/fx/weapons/sniper_impact.wav":["audio.vl2"],"audio/fx/weapons/sniper_miss.wav":["audio.vl2"],"audio/fx/weapons/sniper_underwater.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_activate.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_dryfire.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_fire.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_idle.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_impact.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_impact_UW.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_projectile.wav":["audio.vl2"],"audio/fx/weapons/spinfusor_reload.sfk":["audio.vl2"],"audio/fx/weapons/spinfusor_reload.wav":["audio.vl2"],"audio/fx/weapons/targetinglaser_paint.wav":["audio.vl2"],"audio/fx/weapons/temp.wav":["audio.vl2"],"audio/fx/weapons/throw_grenade.wav":["audio.vl2"],"audio/fx/weapons/throw_mine.wav":["audio.vl2"],"audio/fx/weapons/weapon.missilereload.wav":["audio.vl2"],"audio/gui/buttonDown.wav":["audio.vl2"],"audio/gui/buttonOver.wav":["audio.vl2"],"audio/gui/command_hum.wav":["audio.vl2"],"audio/gui/command_off.wav":["audio.vl2"],"audio/gui/command_on.wav":["audio.vl2"],"audio/gui/inventory_hum.wav":["audio.vl2"],"audio/gui/inventory_off.wav":["audio.vl2"],"audio/gui/inventory_on.wav":["audio.vl2"],"audio/gui/launchMenuOpen.wav":["audio.vl2"],"audio/gui/launchMenuOver.wav":["audio.vl2"],"audio/gui/loading_hum.wav":["audio.vl2"],"audio/gui/objective_notification.wav":["audio.vl2"],"audio/gui/shell_hum.wav":["audio.vl2"],"audio/gui/vote_nopass.wav":["audio.vl2"],"audio/gui/vote_pass.wav":["audio.vl2"],"audio/gui/youvegotmail.wav":["audio.vl2"],"audio/gui/youvegotmail2.WAV":["audio.vl2"],"audio/space_bird_3.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/turret_2.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/turret_3.wav":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"audio/voice/Training/Briefings/SkiFree.brief01.WAV":["SkiFreeGameType.vl2"],"classic_maps.txt":["Classic_maps_v1.vl2"],"console_end.cs":["base.vl2"],"effects/Armor.ifr":["base.vl2"],"effects/explosions.ifr":["base.vl2"],"effects/gui.ifr":["base.vl2"],"effects/misc.ifr":["base.vl2"],"effects/packs.ifr":["base.vl2"],"effects/powered.ifr":["base.vl2"],"effects/vehicles.ifr":["base.vl2"],"effects/weapons.ifr":["base.vl2"],"flags.png":["zflags.vl2"],"fonts/Arial Bold_10.gft":["base.vl2"],"fonts/Arial Bold_12.gft":["base.vl2"],"fonts/Arial Bold_13.gft":["base.vl2"],"fonts/Arial Bold_14.gft":["base.vl2"],"fonts/Arial Bold_16.gft":["base.vl2"],"fonts/Arial Bold_18.gft":["base.vl2"],"fonts/Arial Bold_24.gft":["base.vl2"],"fonts/Arial Bold_32.gft":["base.vl2"],"fonts/Arial_12.gft":["base.vl2"],"fonts/Arial_13.gft":["base.vl2"],"fonts/Arial_14.gft":["base.vl2"],"fonts/Arial_16.gft":["base.vl2"],"fonts/Arial_18.gft":["base.vl2"],"fonts/Arial_20.gft":["base.vl2"],"fonts/Lucida Console_12.gft":["base.vl2"],"fonts/Sui Generis_14.gft":["base.vl2"],"fonts/Sui Generis_20.gft":["base.vl2"],"fonts/Sui Generis_22.gft":["base.vl2"],"fonts/Univers Bold_16.gft":["base.vl2"],"fonts/Univers Bold_18.gft":["base.vl2"],"fonts/Univers Condensed Bold_20.gft":["base.vl2"],"fonts/Univers Condensed_10.gft":["base.vl2"],"fonts/Univers Condensed_12.gft":["base.vl2"],"fonts/Univers Condensed_14.gft":["base.vl2"],"fonts/Univers Condensed_18.gft":["base.vl2"],"fonts/Univers Condensed_20.gft":["base.vl2"],"fonts/Univers Condensed_22.gft":["base.vl2"],"fonts/Univers condensed bold_28.gft":["base.vl2"],"fonts/Univers condensed_28.gft":["base.vl2"],"fonts/Univers condensed_30.gft":["base.vl2"],"fonts/Univers italic_16.gft":["base.vl2"],"fonts/Univers italic_18.gft":["base.vl2"],"fonts/Univers_12.gft":["base.vl2"],"fonts/Univers_14.gft":["base.vl2"],"fonts/Univers_16.gft":["base.vl2"],"fonts/Univers_18.gft":["base.vl2"],"fonts/Univers_22.gft":["base.vl2"],"fonts/Verdana Bold_12.gft":["base.vl2"],"fonts/Verdana Bold_13.gft":["base.vl2"],"fonts/Verdana Bold_14.gft":["base.vl2"],"fonts/Verdana Bold_16.gft":["base.vl2"],"fonts/Verdana Bold_24.gft":["base.vl2"],"fonts/Verdana Bold_36.gft":["base.vl2"],"fonts/Verdana Italic_12.gft":["base.vl2"],"fonts/Verdana Italic_13.gft":["base.vl2"],"fonts/Verdana Italic_14.gft":["base.vl2"],"fonts/Verdana Italic_16.gft":["base.vl2"],"fonts/Verdana_10.gft":["base.vl2"],"fonts/Verdana_12.gft":["base.vl2"],"fonts/Verdana_13.gft":["base.vl2"],"fonts/Verdana_14.gft":["base.vl2"],"fonts/Verdana_16.gft":["base.vl2"],"fonts/Verdana_18.gft":["base.vl2"],"fonts/arial bold_20.gft":["base.vl2"],"fonts/arial bold_50.gft":["base.vl2"],"fonts/times_24.gft":["base.vl2"],"fonts/times_36.gft":["base.vl2"],"fonts/univers condensed_16.gft":["base.vl2"],"gui/AIEButtonBarDlg.gui":["scripts.vl2"],"gui/AIEFrameSetDlg.gui":["scripts.vl2"],"gui/AIEStatusbarDlg.gui":["scripts.vl2"],"gui/AIEWorkingDlg.gui":["scripts.vl2"],"gui/AIEditorGui.gui":["scripts.vl2"],"gui/AIEditorToolBar.gui":["scripts.vl2"],"gui/AddressDlg.gui":["scripts.vl2"],"gui/AdvancedHostDlg.gui":["scripts.vl2"],"gui/BrowserEditInfoDlg.gui":["scripts.vl2"],"gui/BrowserSearchDlg.gui":["scripts.vl2"],"gui/CenterPrint.gui":["scripts.vl2"],"gui/ChannelBanDlg.gui":["scripts.vl2"],"gui/ChannelKeyDlg.gui":["scripts.vl2"],"gui/ChannelOptionsDlg.gui":["scripts.vl2"],"gui/ChatDlg.gui":["scripts.vl2"],"gui/ChatGui.gui":["scripts.vl2"],"gui/ChatOptionsDlg.gui":["scripts.vl2"],"gui/ChooseFilterDlg.gui":["scripts.vl2"],"gui/CommanderChatDlg.gui":["scripts.vl2"],"gui/CommanderMapGui.gui":["scripts.vl2"],"gui/CommonLoadDlg.gui":["scripts.vl2"],"gui/CommonSaveDlg.gui":["scripts.vl2"],"gui/CompTestGui.gui":["scripts.vl2"],"gui/ConsoleDlg.gui":["scripts.vl2"],"gui/CreateAccountDlg.gui":["scripts.vl2"],"gui/CreateTribeDlg.gui":["scripts.vl2"],"gui/CreditsGui.gui":["scripts.vl2"],"gui/DebriefGui.gui":["scripts.vl2"],"gui/DebuggerBreakConditionDlg.gui":["scripts.vl2"],"gui/DebuggerConnectDlg.gui":["scripts.vl2"],"gui/DebuggerEditWatchDlg.gui":["scripts.vl2"],"gui/DebuggerFindDlg.gui":["scripts.vl2"],"gui/DebuggerGui.gui":["scripts.vl2"],"gui/DebuggerWatchDlg.gui":["scripts.vl2"],"gui/DemoLoadProgressDlg.gui":["scripts.vl2"],"gui/DemoPlaybackDlg.gui":["scripts.vl2"],"gui/DemoRenameFileDlg.gui":["scripts.vl2"],"gui/DetailSetDlg.gui":["scripts.vl2"],"gui/DriverInfoDlg.gui":["scripts.vl2"],"gui/EULADlg.gui":["scripts.vl2"],"gui/EditChatCommandDlg.gui":["scripts.vl2"],"gui/EditChatMenuDlg.gui":["scripts.vl2"],"gui/EditChatMenuGui.gui":["scripts.vl2"],"gui/EditorGui.gui":["scripts.vl2"],"gui/EditorSaveMissionDlg.gui":["scripts.vl2"],"gui/EditorToolBarGui.gui":["scripts.vl2"],"gui/EditorToolCreatorGui.gui":["scripts.vl2"],"gui/EditorToolInspectorGui.gui":["scripts.vl2"],"gui/EditorToolMissionAreaGui.gui":["scripts.vl2"],"gui/EditorToolThumbnailGui.gui":["scripts.vl2"],"gui/EditorToolTreeViewGui.gui":["scripts.vl2"],"gui/EditorToolbarDlg.gui":["scripts.vl2"],"gui/EmailBlockDlg.gui":["scripts.vl2"],"gui/EmailComposeDlg.gui":["scripts.vl2"],"gui/EmailGui.gui":["scripts.vl2"],"gui/EnterIPDlg.gui":["scripts.vl2"],"gui/FilterEditDlg.gui":["scripts.vl2"],"gui/FindServerDlg.gui":["scripts.vl2"],"gui/FrameOverlayGui.gui":["scripts.vl2"],"gui/GameGui.gui":["scripts.vl2"],"gui/GenDialog.gui":["scripts.vl2"],"gui/GuiEditorGui.gui":["scripts.vl2"],"gui/GuiTestGui.gui":["scripts.vl2"],"gui/HUDDlgs.gui":["scripts.vl2"],"gui/HelpDlg.gui":["scripts.vl2"],"gui/IHVTest.gui":["scripts.vl2"],"gui/ImmSplashDlg.gui":["scripts.vl2"],"gui/InspectAddFieldDlg.gui":["scripts.vl2"],"gui/InspectDlg.gui":["scripts.vl2"],"gui/InteriorDebug.gui":["scripts.vl2"],"gui/InteriorPreviewGui.gui":["scripts.vl2"],"gui/JoinChatDlg.gui":["scripts.vl2"],"gui/JoystickConfigDlg.gui":["scripts.vl2"],"gui/LaunchGui.gui":["scripts.vl2"],"gui/LaunchToolbarDlg.gui":["scripts.vl2"],"gui/LoadingGui.gui":["scripts.vl2"],"gui/LobbyGui.gui":["scripts.vl2"],"gui/LoginDlg.gui":["scripts.vl2"],"gui/LoginMessageBoxDlg.gui":["scripts.vl2"],"gui/MessageBoxDlg.gui":["scripts.vl2"],"gui/MessagePopupDlg.gui":["scripts.vl2"],"gui/MouseConfigDlg.gui":["scripts.vl2"],"gui/MoveThreadDlg.gui":["scripts.vl2"],"gui/NewMissionGui.gui":["scripts.vl2"],"gui/NewWarriorDlg.gui":["scripts.vl2"],"gui/OptionsDlg.gui":["scripts.vl2"],"gui/PanoramaGui.gui":["scripts.vl2"],"gui/PasswordDlg.gui":["scripts.vl2"],"gui/PickTeamDlg.gui":["scripts.vl2"],"gui/PlayGui.gui":["scripts.vl2"],"gui/RecordingsDlg.gui":["scripts.vl2"],"gui/RemapDlg.gui":["scripts.vl2"],"gui/ServerInfoDlg.gui":["scripts.vl2"],"gui/ShellLoadFileDlg.gui":["scripts.vl2"],"gui/ShellSaveFileDlg.gui":["scripts.vl2"],"gui/SinglePlayerEscapeDlg.gui":["scripts.vl2"],"gui/TR2DebriefGui.gui":["TR2final105-client.vl2"],"gui/TSShowDetailControlDlg.gui":["scripts.vl2"],"gui/TSShowEditScale.gui":["scripts.vl2"],"gui/TSShowGui.gui":["scripts.vl2"],"gui/TSShowLightDlg.gui":["scripts.vl2"],"gui/TSShowLoadDlg.gui":["scripts.vl2"],"gui/TSShowMiscDlg.gui":["scripts.vl2"],"gui/TSShowThreadControlDlg.gui":["scripts.vl2"],"gui/TSShowTranDurEditDlg.gui":["scripts.vl2"],"gui/TSShowTransitionDlg.gui":["scripts.vl2"],"gui/TaskHudDlg.gui":["scripts.vl2"],"gui/TerraformerFullScreenGui.gui":["scripts.vl2"],"gui/TerraformerGui.gui":["scripts.vl2"],"gui/TerraformerHeightfieldGui.gui":["scripts.vl2"],"gui/TerraformerTextureGui.gui":["scripts.vl2"],"gui/TerrainEditorButtonbarDlg.gui":["scripts.vl2"],"gui/TerrainEditorExtraToolbarDlg.gui":["scripts.vl2"],"gui/TerrainEditorFramesetDlg.gui":["scripts.vl2"],"gui/TerrainEditorGui.gui":["scripts.vl2"],"gui/TerrainEditorStatusbarDlg.gui":["scripts.vl2"],"gui/TerrainEditorTextureSelectGui.gui":["scripts.vl2"],"gui/TerrainEditorToolbarDlg.gui":["scripts.vl2"],"gui/TerrainEditorVSettingsGui.gui":["scripts.vl2"],"gui/TerrainEditorValuesSettingsGui.gui":["scripts.vl2"],"gui/TestGui.gui":["scripts.vl2"],"gui/TrainingGui.gui":["scripts.vl2"],"gui/TribeAdminMemberDlg.gui":["scripts.vl2"],"gui/TribeAndWarriorBrowserGui.gui":["scripts.vl2"],"gui/TribePropertiesDlg.gui":["scripts.vl2"],"gui/WarriorPropertiesDlg.gui":["scripts.vl2"],"gui/WorldEditorButtonbarDlg.gui":["scripts.vl2"],"gui/WorldEditorFramesetDlg.gui":["scripts.vl2"],"gui/WorldEditorGui.gui":["scripts.vl2"],"gui/WorldEditorSettingsDlg.gui":["scripts.vl2"],"gui/WorldEditorStatusbarDlg.gui":["scripts.vl2"],"gui/WorldEditorToolbarDlg.gui":["scripts.vl2"],"gui/cmdMapHelpText.gui":["scripts.vl2"],"gui/guiProfiles.cs":["scripts.vl2"],"gui/helpTextGui.gui":["scripts.vl2"],"gui/objectBuilderGui.gui":["scripts.vl2"],"gui/sceneLightingGui.gui":["scripts.vl2"],"help/1. About.hfl":["scripts.vl2"],"help/2. Mission Editor Overview.hfl":["scripts.vl2"],"help/3. World Editor.hfl":["scripts.vl2"],"help/4. Mission Area Editor.hfl":["scripts.vl2"],"help/5. Terrain Editor.hfl":["scripts.vl2"],"help/6. Terrain Terraform Editor.hfl":["scripts.vl2"],"help/7. Terrain Texture Editor.hfl":["scripts.vl2"],"help/8. Terrain Texture Painter.hfl":["scripts.vl2"],"input.log":["base.vl2"],"interiors/Euro4_Bleed_Base.dif":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Euro4_Bleed_turret.dif":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Euro4_Bleed_vpad.dif":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Euro4_Dissention_dox_bb_bunkera_x2.dif":["TWL2-MapPack.vl2"],"interiors/Euro4_Dissention_dox_bb_hangar_x2.dif":["TWL2-MapPack.vl2"],"interiors/Euro4_Dissention_rilke_whitedwarf_mainbase.dif":["TWL2-MapPack.vl2"],"interiors/Euro4_FrozenHope_inf_butch_fhope_base47.dif":["TWL2-MapPack.vl2"],"interiors/Euro4_FrozenHope_inf_butch_fhope_flag6.dif":["TWL2-MapPack.vl2"],"interiors/Euro4_FrozenHope_inf_butch_fhope_turret12.dif":["TWL2-MapPack.vl2"],"interiors/Euro_salgenroom2.dif":["TWL-MapPack.vl2"],"interiors/Euro_salproj1.dif":["TWL-MapPack.vl2"],"interiors/Euro_salturretsus1.dif":["TWL-MapPack.vl2"],"interiors/Euro_slblocks.dif":["TWL-MapPack.vl2"],"interiors/Euro_slinvstat.dif":["TWL-MapPack.vl2"],"interiors/Euro_slremo2.dif":["TWL-MapPack.vl2"],"interiors/Euro_slsusbr1.dif":["TWL-MapPack.vl2"],"interiors/Euro_slvehramp1.dif":["TWL-MapPack.vl2"],"interiors/Magellan_kab_magbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Magellan_kab_magflagstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Magellan_kab_turretstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/SpinCycle_spbase2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Starfallen.dif":["Classic_maps_v1.vl2"],"interiors/TL_bmiscpan_ruind.dif":["TWL2-MapPack.vl2"],"interiors/TL_btowr9.dif":["TWL2-MapPack.vl2"],"interiors/TL_drorck-base.dif":["TWL2-MapPack.vl2"],"interiors/TL_magnumbase.dif":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/TL_magnumflag.dif":["TWL2-MapPack.vl2"],"interiors/TL_magnummisc.dif":["TWL2-MapPack.vl2"],"interiors/TL_magnumturret.dif":["TWL2-MapPack.vl2"],"interiors/TL_magnumvs.dif":["TWL2-MapPack.vl2"],"interiors/Vpad_Bunker.dif":["TWL-MapPack.vl2"],"interiors/Xtra_AF_airtower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_AF_invowheel.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_AF_newbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Bastage_BT_MainBase_CK.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Bastage_BT_bunktower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Bastage_BT_tunnel.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Caustic_tri_bridge.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Caustic_tri_lamp.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Caustic_tri_main.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Caustic_tri_turret.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Crown_tri_flag.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Crown_tri_turret.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_GraveStone_cross.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_GraveStone_cross2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_GraveStone_obtower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_GraveStone_tombstone2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_GraveStone_tombstone3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_HM_Base_CK.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_HM_BunkerA.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_HM_Flagstand_mk2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_HM_TurretPillar.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Hellfire_dbase_ccb1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Hellfire_dmisc_int_fstand_old.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Hellfire_dwall_ccb1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_base1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_base1_mod2a.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_base1_mod3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_base1_mod4.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_bridge1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_bridge2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Insurgence_ccb_bd_platform2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_salgenroom2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_salproj1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_salturretsus1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_slblocks.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_slinvstat.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_slremo2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_slsusbr1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Malignant_slvehramp1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_ProjectX_tunneloflove.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_SR_eepbridge4.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_SR_eepbridge4b.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_SR_eepbridgeh4b.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_SR_eepsab3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_SR_eepsab4.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Torrent_kif_bigbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Torrent_kif_torrent_turret_tower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Vestige_attackgate.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Vestige_base.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Vestige_gate.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Vestige_guntower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Vestige_medtower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Vestige_vpad.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_WSol_Flagstand_CK.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_WSol_GenBase_CK.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_WSol_Turret_CK.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Xerxes_Turret.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Xerxes_Turret2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_Xerxes_proto.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_ZV_bbunk_ccb1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_ZV_ccb_be_spire1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_attrition_infernoflagstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_attrition_stormflagstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_attrition_tower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_attrition_vbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_beachchair01.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_dmisc_-nefflagstand1_x2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_ghostdance_proto.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_imperium_base01.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_imperium_bunker01.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_imperium_stand01.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_imperium_tower01.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_metaltanks_bridge.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_metaltanks_bridge_tunnel.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_metaltanks_lush_mainbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_metaltanks_rip.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_metaltanks_xing.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_rst_transitbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_rst_transitstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/Xtra_t_base0.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_cardiacbase.dif":["S8maps.vl2"],"interiors/anthem_cardiacbridge.dif":["S8maps.vl2"],"interiors/anthem_cardiacstand.dif":["S8maps.vl2"],"interiors/anthem_cardiactower.dif":["S8maps.vl2"],"interiors/anthem_cardiacturret.dif":["S8maps.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipebasemini.dif":["S5maps.vl2"],"interiors/anthem_pipebunker.dif":["S5maps.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipestand2-badlands.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipestand2-beach.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipestand2-desert.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipestand2-ice.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipestand2-lava.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pipestand2.dif":["S5maps.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/anthem_pitbase.dif":["S5maps.vl2"],"interiors/anthem_pitstand.dif":["S5maps.vl2"],"interiors/anthemblock.dif":["S5maps.vl2"],"interiors/bbase1.dif":["interiors.vl2"],"interiors/bbase4cm.dif":["interiors.vl2"],"interiors/bbase6.dif":["interiors.vl2"],"interiors/bbase7.dif":["interiors.vl2"],"interiors/bbase9.dif":["interiors.vl2"],"interiors/bbase_-nefvbase_x.dif":["TWL-MapPack.vl2"],"interiors/bbase_-nefvbase_x2.dif":["TWL-MapPack.vl2"],"interiors/bbase_ccb1.dif":["TWL-MapPack.vl2"],"interiors/bbase_ccb5.dif":["Classic_maps_v1.vl2"],"interiors/bbase_nefhillside.dif":["Classic_maps_v1.vl2"],"interiors/bbrdg0.dif":["interiors.vl2"],"interiors/bbrdg1.dif":["interiors.vl2"],"interiors/bbrdg2.dif":["interiors.vl2"],"interiors/bbrdg3.dif":["interiors.vl2"],"interiors/bbrdg4.dif":["interiors.vl2"],"interiors/bbrdg5.dif":["interiors.vl2"],"interiors/bbrdg6.dif":["interiors.vl2"],"interiors/bbrdg7.dif":["interiors.vl2"],"interiors/bbrdg8.dif":["interiors.vl2"],"interiors/bbrdg9.dif":["interiors.vl2"],"interiors/bbrdga.dif":["interiors.vl2"],"interiors/bbrdgb.dif":["interiors.vl2"],"interiors/bbrdgn.dif":["interiors.vl2"],"interiors/bbrdgo.dif":["interiors.vl2"],"interiors/bbunk1.dif":["interiors.vl2"],"interiors/bbunk2.dif":["interiors.vl2"],"interiors/bbunk5.dif":["interiors.vl2"],"interiors/bbunk7.dif":["interiors.vl2"],"interiors/bbunk8.dif":["interiors.vl2"],"interiors/bbunk9.dif":["interiors.vl2"],"interiors/bbunkb.dif":["interiors.vl2"],"interiors/bbunkc.dif":["interiors.vl2"],"interiors/bbunkd.dif":["interiors.vl2"],"interiors/bbunke.dif":["Classic_maps_v1.vl2","DynamixFinalPack.vl2"],"interiors/bmisc1.dif":["interiors.vl2"],"interiors/bmisc2.dif":["interiors.vl2"],"interiors/bmisc3.dif":["interiors.vl2"],"interiors/bmisc4.dif":["interiors.vl2"],"interiors/bmisc5.dif":["interiors.vl2"],"interiors/bmisc6.dif":["interiors.vl2"],"interiors/bmisc7.dif":["interiors.vl2"],"interiors/bmisc8.dif":["interiors.vl2"],"interiors/bmisc9.dif":["interiors.vl2"],"interiors/bmisc_-nef_flagstand1_x.dif":["TR2final105-client.vl2","TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmisc_-nef_flagstand1_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmisc_nefledge1.dif":["Classic_maps_v1.vl2"],"interiors/bmisc_neftrstand1.dif":["TR2final105-client.vl2","TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmisc_nefvbay.dif":["Classic_maps_v1.vl2"],"interiors/bmiscpan_bridge0.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_bridge0_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_bunker1.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_bunker1_x.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_bunker1_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruina.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruina_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruinb.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruinb_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruinc.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruinc_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruind.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruind_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruine.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruine_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruinf.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruinf_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruing.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruing_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruinh.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_ruinh_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_ruini.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_tower1.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_tower1_x2.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_tower2.dif":["DynamixFinalPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/bmiscpan_tower2_x.dif":["TWL-MapPack.vl2"],"interiors/bmiscpan_tower2_x2.dif":["TWL-MapPack.vl2"],"interiors/bplat1.dif":["interiors.vl2"],"interiors/bplat2.dif":["interiors.vl2"],"interiors/bplat3.dif":["interiors.vl2"],"interiors/bplat4.dif":["interiors.vl2"],"interiors/bplat6.dif":["interiors.vl2"],"interiors/bpower1.dif":["interiors.vl2"],"interiors/brock6.dif":["interiors.vl2"],"interiors/brock7.dif":["interiors.vl2"],"interiors/brock8.dif":["interiors.vl2"],"interiors/brocka.dif":["interiors.vl2"],"interiors/brockc.dif":["interiors.vl2"],"interiors/bspir1.dif":["interiors.vl2"],"interiors/bspir2.dif":["interiors.vl2"],"interiors/bspir3.dif":["interiors.vl2"],"interiors/bspir4.dif":["interiors.vl2"],"interiors/bspir5.dif":["interiors.vl2"],"interiors/btf_base1.dif":["DynamixFinalPack.vl2","TWL-MapPack.vl2"],"interiors/btf_bridge1.dif":["DynamixFinalPack.vl2"],"interiors/btf_bridge2.dif":["DynamixFinalPack.vl2","TWL-MapPack.vl2"],"interiors/btf_bridge3.dif":["DynamixFinalPack.vl2","TWL-MapPack.vl2"],"interiors/btf_genbunk.dif":["DynamixFinalPack.vl2"],"interiors/btf_turretplatform.dif":["DynamixFinalPack.vl2","TWL-MapPack.vl2"],"interiors/btf_turretplatform_c.dif":["Classic_maps_v1.vl2"],"interiors/btf_turretplatform_x.dif":["TWL-MapPack.vl2"],"interiors/btf_turretplatform_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/btowr2.dif":["interiors.vl2"],"interiors/btowr5-Lava.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/btowr5.dif":["interiors.vl2"],"interiors/btowr6.dif":["interiors.vl2"],"interiors/btowr8.dif":["interiors.vl2"],"interiors/btowr9.dif":["DynamixFinalPack.vl2"],"interiors/btowr_ccb1.dif":["TWL2-MapPack.vl2"],"interiors/btowra.dif":["interiors.vl2"],"interiors/bvpad.dif":["interiors.vl2"],"interiors/bwall1.dif":["interiors.vl2"],"interiors/bwall2.dif":["interiors.vl2"],"interiors/bwall3.dif":["interiors.vl2"],"interiors/bwall4.dif":["interiors.vl2"],"interiors/cannon.dif":["TR2final105-client.vl2"],"interiors/cannon2.dif":["TR2final105-client.vl2"],"interiors/cap.dif":["TR2final105-client.vl2"],"interiors/ccb_be_tower1a_x2.dif":["TWL-MapPack.vl2"],"interiors/ccb_be_tower1b_x2.dif":["S5maps.vl2","TWL-MapPack.vl2","TWL2-MapPack.vl2"],"interiors/ccbase1.dif":["TWL2-MapPack.vl2"],"interiors/ccbase2.dif":["TWL2-MapPack.vl2"],"interiors/ccflagstand.dif":["TWL2-MapPack.vl2"],"interiors/cctower.dif":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/centaur.dif":["S5maps.vl2"],"interiors/centower.dif":["S5maps.vl2"],"interiors/conbase.dif":["TWL2-MapPack.vl2"],"interiors/conspire.dif":["TWL2-MapPack.vl2"],"interiors/damnationstand.dif":["S5maps.vl2"],"interiors/dbase2.dif":["interiors.vl2"],"interiors/dbase3.dif":["interiors.vl2"],"interiors/dbase4.dif":["interiors.vl2"],"interiors/dbase5.dif":["DynamixFinalPack.vl2"],"interiors/dbase6.dif":["DynamixFinalPack.vl2"],"interiors/dbase_-nefbase1_x.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dbase_-nefbase1_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dbase_-nefbase2_x.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dbase_-nefbase2_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dbase_broadside_nef.dif":["Classic_maps_v1.vl2"],"interiors/dbase_nefRaindance.dif":["Classic_maps_v1.vl2"],"interiors/dbase_neffloat1.dif":["Classic_maps_v1.vl2"],"interiors/dbase_neffloat2.dif":["Classic_maps_v1.vl2"],"interiors/dbase_neficeridge.dif":["Classic_maps_v1.vl2"],"interiors/dbase_tokrz_scarabrae.dif":["Classic_maps_v1.vl2"],"interiors/dbrdg1.dif":["interiors.vl2"],"interiors/dbrdg10.dif":["interiors.vl2"],"interiors/dbrdg11.dif":["interiors.vl2"],"interiors/dbrdg2.dif":["interiors.vl2"],"interiors/dbrdg3.dif":["interiors.vl2"],"interiors/dbrdg3a.dif":["interiors.vl2"],"interiors/dbrdg4.dif":["interiors.vl2"],"interiors/dbrdg5.dif":["interiors.vl2"],"interiors/dbrdg6.dif":["interiors.vl2"],"interiors/dbrdg7.dif":["interiors.vl2"],"interiors/dbrdg7a.dif":["interiors.vl2"],"interiors/dbrdg8.dif":["interiors.vl2"],"interiors/dbrdg9.dif":["interiors.vl2"],"interiors/dbrdg9a.dif":["interiors.vl2"],"interiors/dbunk5.dif":["interiors.vl2"],"interiors/dbunk6.dif":["interiors.vl2"],"interiors/dbunk_nef_invbunk1.dif":["Classic_maps_v1.vl2"],"interiors/dbunk_nefcliffside.dif":["Classic_maps_v1.vl2"],"interiors/dbunk_nefdcbunk.dif":["Classic_maps_v1.vl2"],"interiors/dbunk_nefsmall.dif":["Classic_maps_v1.vl2"],"interiors/dbunk_rf04.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dbunk_snowblind.dif":["Classic_maps_v1.vl2"],"interiors/dbunk_stonehenge1.dif":["Classic_maps_v1.vl2"],"interiors/dbunk_vbunk1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc1.dif":["DynamixFinalPack.vl2","interiors.vl2"],"interiors/dmisc1_x.dif":["TWL-MapPack.vl2"],"interiors/dmisc1_x2.dif":["TWL-MapPack.vl2"],"interiors/dmisc_-nefflagstand1_x.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dmisc_-nefflagstand1_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dmisc_nefbridge.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefflagstand2.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefflagstand3.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefobj1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefobj2.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefplat1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefplug1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_nefrdbridge1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_neftower1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_neftower2.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_neftower3.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_stonehenge1.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_stonehenge2.dif":["Classic_maps_v1.vl2"],"interiors/dmisc_stonehenge3.dif":["Classic_maps_v1.vl2"],"interiors/doubleramp2.dif":["TR2final105-client.vl2"],"interiors/dox_bb_box_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_bunkera_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_bunkerb_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_droptop_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_fstand_x2.dif":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"interiors/dox_bb_hangar_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_platform_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_rig_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_rustbox_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_sandcastle_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_slab_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_spade_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_steelsheet2_x2.dif":["TWL-MapPack.vl2"],"interiors/dox_bb_steelsheet_x2.dif":["TWL-MapPack.vl2"],"interiors/dplat1.dif":["interiors.vl2"],"interiors/dplat2.dif":["DynamixFinalPack.vl2","interiors.vl2"],"interiors/dplat3.dif":["interiors.vl2"],"interiors/dpole1.dif":["interiors.vl2"],"interiors/drock6.dif":["interiors.vl2"],"interiors/drock7.dif":["interiors.vl2"],"interiors/drock8.dif":["interiors.vl2"],"interiors/drocka.dif":["interiors.vl2"],"interiors/dspir1.dif":["interiors.vl2"],"interiors/dspir2.dif":["interiors.vl2"],"interiors/dspir3.dif":["interiors.vl2"],"interiors/dspir4.dif":["interiors.vl2"],"interiors/dspir5.dif":["interiors.vl2"],"interiors/dtowr1.dif":["DynamixFinalPack.vl2","interiors.vl2"],"interiors/dtowr2.dif":["interiors.vl2"],"interiors/dtowr4.dif":["interiors.vl2"],"interiors/dtowr_classic1.dif":["Classic_maps_v1.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/dvent.dif":["interiors.vl2"],"interiors/dvpad.dif":["interiors.vl2"],"interiors/dvpad1.dif":["interiors.vl2"],"interiors/dwall1.dif":["interiors.vl2"],"interiors/epicrates_base.dif":["TWL-MapPack.vl2"],"interiors/epicrates_bridge.dif":["TWL-MapPack.vl2"],"interiors/epicrates_turret.dif":["TWL-MapPack.vl2"],"interiors/flagbridge.dif":["Classic_maps_v1.vl2"],"interiors/flingbase01.dif":["S5maps.vl2"],"interiors/flingbase02.dif":["S5maps.vl2"],"interiors/flingrock01.dif":["S8maps.vl2"],"interiors/flingrockvent01.dif":["S8maps.vl2"],"interiors/flingsilo03.dif":["S8maps.vl2"],"interiors/flingsilo03b.dif":["S8maps.vl2"],"interiors/flingstand01.dif":["S5maps.vl2"],"interiors/flingstand02.dif":["S8maps.vl2"],"interiors/flingtanktrap01.dif":["S8maps.vl2"],"interiors/flingteeth.dif":["S5maps.vl2"],"interiors/flingtower01.dif":["S5maps.vl2"],"interiors/flingtower02.dif":["S5maps.vl2"],"interiors/flingturretstand01.dif":["S5maps.vl2"],"interiors/flingvpad01.dif":["S8maps.vl2"],"interiors/flingvpad01b.dif":["S8maps.vl2"],"interiors/frostclawbase.dif":["TWL-MapPack.vl2"],"interiors/hbbunker.dif":["TWL2-MapPack.vl2"],"interiors/hbflagstand.dif":["TWL2-MapPack.vl2"],"interiors/idbase.dif":["TWL2-MapPack.vl2"],"interiors/idhangar.dif":["TWL2-MapPack.vl2"],"interiors/idmiddle.dif":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/inf_butch_fg2base1.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_fg2flag21.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_fg2turret13.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_fg2turret9.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_icebase51.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_iceturretbase9.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_icevehicle11.dif":["TWL2-MapPack.vl2"],"interiors/inf_butch_lava_flagbase06.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/inf_butch_lava_plat6.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/inf_butch_lava_sensor12.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/infbutch_blackairinv13.dif":["Classic_maps_v1.vl2"],"interiors/infbutch_blackbase5618_final.dif":["Classic_maps_v1.vl2"],"interiors/infbutch_blackturret8.dif":["Classic_maps_v1.vl2"],"interiors/irisbase.dif":["TWL-MapPack.vl2"],"interiors/irisinside.dif":["TWL-MapPack.vl2"],"interiors/irismonu.dif":["TWL-MapPack.vl2"],"interiors/irisruin2.dif":["TWL-MapPack.vl2"],"interiors/irisruin3.dif":["TWL-MapPack.vl2"],"interiors/irisruins1.dif":["TWL-MapPack.vl2"],"interiors/iristurbase.dif":["TWL-MapPack.vl2"],"interiors/jagged_base3.dif":["TWL2-MapPack.vl2"],"interiors/kif_cinereousfs.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/kif_cinereousinv.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/kif_cinereousplat1.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/kif_cinereoustt.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/kif_skylightbase.dif":["TWL2-MapPack.vl2"],"interiors/kif_skylightfs.dif":["TWL2-MapPack.vl2"],"interiors/magnum_vehicle_stop.dif":["TWL2-MapPack.vl2"],"interiors/mmbase.dif":["TWL2-MapPack.vl2"],"interiors/mmbridge.dif":["TWL2-MapPack.vl2"],"interiors/muddyswampstand.dif":["TWL2-MapPack.vl2"],"interiors/nef_bowl1.dif":["TR2final105-client.vl2"],"interiors/nef_bowl2.dif":["TR2final105-client.vl2"],"interiors/nef_bowl3.dif":["TR2final105-client.vl2"],"interiors/nef_ramp1.dif":["TR2final105-client.vl2"],"interiors/nycto-base1.dif":["TWL-MapPack.vl2"],"interiors/nycto-base2.dif":["TWL-MapPack.vl2"],"interiors/nycto-ec1.dif":["TWL-MapPack.vl2"],"interiors/nycto-ec2.dif":["TWL-MapPack.vl2"],"interiors/nycto-ec3.dif":["TWL-MapPack.vl2"],"interiors/nycto-ec4.dif":["TWL-MapPack.vl2"],"interiors/nycto-ec5.dif":["TWL-MapPack.vl2"],"interiors/nycto-ec6.dif":["TWL-MapPack.vl2"],"interiors/nycto-stand1.dif":["TWL-MapPack.vl2"],"interiors/nycto-tunnel-1.dif":["TWL-MapPack.vl2"],"interiors/ocular-flagstand.dif":["TWL2-MapPack.vl2"],"interiors/pbase3.dif":["interiors.vl2"],"interiors/pbase_nef_giant.dif":["Classic_maps_v1.vl2"],"interiors/pbase_nef_vbase1.dif":["Classic_maps_v1.vl2"],"interiors/pbrdg0.dif":["interiors.vl2"],"interiors/pbrdg1.dif":["interiors.vl2"],"interiors/pbrdg2.dif":["interiors.vl2"],"interiors/pbrdg3.dif":["interiors.vl2"],"interiors/pbrdg4.dif":["interiors.vl2"],"interiors/pbrdgn.dif":["interiors.vl2"],"interiors/pbrdgo.dif":["interiors.vl2"],"interiors/pbrdgp.dif":["interiors.vl2"],"interiors/pbunk1.dif":["interiors.vl2"],"interiors/pbunk2.dif":["interiors.vl2"],"interiors/pbunk3.dif":["interiors.vl2"],"interiors/pbunk4a_CC.dif":["Classic_maps_v1.vl2"],"interiors/pbunk5.dif":["interiors.vl2"],"interiors/pbunk6.dif":["interiors.vl2"],"interiors/pbunk7.dif":["interiors.vl2"],"interiors/pbunk7a_CC.dif":["Classic_maps_v1.vl2"],"interiors/pbunk8.dif":["interiors.vl2"],"interiors/peach_lush_bunker1.dif":["TWL2-MapPack.vl2"],"interiors/pmisc1.dif":["interiors.vl2"],"interiors/pmisc2.dif":["interiors.vl2"],"interiors/pmisc3.dif":["interiors.vl2"],"interiors/pmisc4.dif":["interiors.vl2"],"interiors/pmisc5.dif":["interiors.vl2"],"interiors/pmisca.dif":["interiors.vl2"],"interiors/pmiscb.dif":["interiors.vl2"],"interiors/pmiscc.dif":["interiors.vl2"],"interiors/pplat1.dif":["interiors.vl2"],"interiors/pplat2.dif":["interiors.vl2"],"interiors/pplat3.dif":["interiors.vl2"],"interiors/pplat4.dif":["interiors.vl2"],"interiors/pplat5.dif":["interiors.vl2"],"interiors/prock6.dif":["interiors.vl2"],"interiors/prock7.dif":["interiors.vl2"],"interiors/prock8.dif":["interiors.vl2"],"interiors/procka.dif":["interiors.vl2"],"interiors/prockb.dif":["interiors.vl2"],"interiors/prockc.dif":["interiors.vl2"],"interiors/pspir1.dif":["interiors.vl2"],"interiors/pspir2.dif":["interiors.vl2"],"interiors/pspir3.dif":["interiors.vl2"],"interiors/pspir4.dif":["interiors.vl2"],"interiors/pspir5.dif":["interiors.vl2"],"interiors/ptowr1.dif":["interiors.vl2"],"interiors/ptowr2.dif":["interiors.vl2"],"interiors/ptowr4.dif":["interiors.vl2"],"interiors/ptowr5.dif":["interiors.vl2"],"interiors/ptowr7.dif":["interiors.vl2"],"interiors/pvbay1.dif":["interiors.vl2"],"interiors/pvpad.dif":["interiors.vl2"],"interiors/pwall1.dif":["interiors.vl2"],"interiors/rail1.dif":["TR2final105-client.vl2","TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/ram_base.dif":["Classic_maps_v1.vl2"],"interiors/ram_tower.dif":["Classic_maps_v1.vl2"],"interiors/ram_wall4.dif":["Classic_maps_v1.vl2"],"interiors/ramp1.dif":["TR2final105-client.vl2"],"interiors/rilke_bombscare_flagstand_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_ctm1_flagstand1_x2.dif":["TWL-MapPack.vl2"],"interiors/rilke_ctm1_platform1_x2.dif":["TWL-MapPack.vl2"],"interiors/rilke_ctm1_sensorbunker1_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_ctm1_sensorbunker2_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_ctm1_vpad_x2.dif":["TWL-MapPack.vl2"],"interiors/rilke_domain2_boundrymarker.dif":["Classic_maps_v1.vl2"],"interiors/rilke_domain2_boundrymarker2.dif":["Classic_maps_v1.vl2"],"interiors/rilke_domain2_bridge1.dif":["Classic_maps_v1.vl2"],"interiors/rilke_domain2_mainbase.dif":["Classic_maps_v1.vl2"],"interiors/rilke_domain_turretbase1.dif":["Classic_maps_v1.vl2"],"interiors/rilke_whitedwarf_bridge.dif":["Classic_maps_v1.vl2"],"interiors/rilke_whitedwarf_bridge2_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_whitedwarf_bridgebase1_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_whitedwarf_bunker2_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_whitedwarf_mainbase.dif":["Classic_maps_v1.vl2"],"interiors/rilke_whitedwarf_platform1.dif":["Classic_maps_v1.vl2"],"interiors/rilke_whitedwarf_platform2_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_whitedwarf_platform3_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_whitedwarf_towerbunker.dif":["Classic_maps_v1.vl2"],"interiors/rilke_whitedwarf_towerbunker2_x2.dif":["S5maps.vl2","TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rilke_whitedwarf_vehiclepad_x2.dif":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_FaceBase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_FaceBase2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_FaceStand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SEbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SEcave1_part1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SEcave1_part2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SEcave1_part3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SEcave2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SEtower.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_SimpleFlagArena.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_agroleonbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_agroleonstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_arenalight.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_astro_bunker.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_astro_stand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_barrier1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_barrier2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_beagleship.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_bitterbase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_bitterbunker.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_bitterbunker2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_bitterbunker3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_bitterstand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_debris1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_debris2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building4.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building5.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building6.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building7.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_building8.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_bunker.dif":["S5maps.vl2"],"interiors/rst_derm_citybase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_citybridge.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_mainbase.dif":["S5maps.vl2"],"interiors/rst_derm_midfield.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_derm_newpillarstand.dif":["S5maps.vl2"],"interiors/rst_derm_pillar.dif":["S5maps.vl2"],"interiors/rst_derm_plat.dif":["S5maps.vl2"],"interiors/rst_derm_plat2.dif":["S5maps.vl2"],"interiors/rst_derm_podium.dif":["S5maps.vl2"],"interiors/rst_derm_snipenest.dif":["S5maps.vl2"],"interiors/rst_derm_turretbase.dif":["S5maps.vl2"],"interiors/rst_derm_vechpad.dif":["S5maps.vl2"],"interiors/rst_dogma_base.dif":["S8maps.vl2"],"interiors/rst_dogma_bridge.dif":["S8maps.vl2"],"interiors/rst_dogma_bridge2.dif":["S8maps.vl2"],"interiors/rst_islebase.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_islebase2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lighthouse.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_flagplat.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle1.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle10.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle3.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle4.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle5.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle6.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle7.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle8.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_floatingisle9.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_lush_rock2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_newlighthouse.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_padbottom.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_padbottom2.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_pipedream.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_spir_base3.dif":["S8maps.vl2"],"interiors/rst_spir_pillar.dif":["S8maps.vl2"],"interiors/rst_spit_base.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_spit_stand.dif":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/rst_swd_flagstand.dif":["S5maps.vl2"],"interiors/rst_swd_ship2.dif":["S5maps.vl2"],"interiors/ruin1.dif":["Classic_maps_v1.vl2"],"interiors/ruin2.dif":["Classic_maps_v1.vl2"],"interiors/ruin3.dif":["Classic_maps_v1.vl2"],"interiors/ruin4.dif":["Classic_maps_v1.vl2"],"interiors/ruinarch.dif":["Classic_maps_v1.vl2"],"interiors/s5_anthem_pipebase.dif":["S5maps.vl2"],"interiors/s5_anthem_pipestand.dif":["S5maps.vl2"],"interiors/sbase1.dif":["interiors.vl2"],"interiors/sbase3.dif":["interiors.vl2"],"interiors/sbase5.dif":["interiors.vl2"],"interiors/sbrdg1.dif":["interiors.vl2"],"interiors/sbrdg2.dif":["interiors.vl2"],"interiors/sbrdg3.dif":["interiors.vl2"],"interiors/sbrdg4.dif":["interiors.vl2"],"interiors/sbrdg5.dif":["interiors.vl2"],"interiors/sbrdg6.dif":["interiors.vl2"],"interiors/sbrdg7.dif":["interiors.vl2"],"interiors/sbrdgn.dif":["interiors.vl2"],"interiors/sbrdgo.dif":["interiors.vl2"],"interiors/sbunk2.dif":["interiors.vl2"],"interiors/sbunk9.dif":["interiors.vl2"],"interiors/sbunk_nef1.dif":["Classic_maps_v1.vl2"],"interiors/siege.dif":["Classic_maps_v1.vl2"],"interiors/singleramp.dif":["TR2final105-client.vl2"],"interiors/smisc1.dif":["interiors.vl2"],"interiors/smisc3.dif":["interiors.vl2"],"interiors/smisc4.dif":["interiors.vl2"],"interiors/smisc5.dif":["interiors.vl2"],"interiors/smisc_nef1.dif":["Classic_maps_v1.vl2"],"interiors/smisca.dif":["interiors.vl2"],"interiors/smiscb.dif":["interiors.vl2"],"interiors/smiscc.dif":["interiors.vl2"],"interiors/spawnbase.dif":["TR2final105-client.vl2"],"interiors/spawnbase2.dif":["TR2final105-client.vl2"],"interiors/sphere.dif":["TR2final105-client.vl2"],"interiors/splat1.dif":["interiors.vl2"],"interiors/splat3.dif":["interiors.vl2"],"interiors/splat7.dif":["interiors.vl2"],"interiors/srock6.dif":["interiors.vl2"],"interiors/srock7.dif":["interiors.vl2"],"interiors/srock8.dif":["interiors.vl2"],"interiors/srocka.dif":["interiors.vl2"],"interiors/srockb.dif":["interiors.vl2"],"interiors/srockc.dif":["interiors.vl2"],"interiors/sspir1.dif":["interiors.vl2"],"interiors/sspir2.dif":["interiors.vl2"],"interiors/sspir3.dif":["interiors.vl2"],"interiors/sspir4.dif":["interiors.vl2"],"interiors/stowr1.dif":["interiors.vl2"],"interiors/stowr3.dif":["interiors.vl2"],"interiors/stowr4.dif":["interiors.vl2"],"interiors/stowr6.dif":["interiors.vl2"],"interiors/svpad.dif":["interiors.vl2"],"interiors/swall1.dif":["interiors.vl2"],"interiors/t_bbase_ccb2a.dif":["Classic_maps_v1.vl2"],"interiors/t_bmisc_tunl_ccb1.dif":["Classic_maps_v1.vl2"],"interiors/t_bwall2a_cnr_CC.dif":["Classic_maps_v1.vl2"],"interiors/t_bwall2a_lrg_CC.dif":["Classic_maps_v1.vl2"],"interiors/t_bwall2a_sm_CC.dif":["Classic_maps_v1.vl2"],"interiors/tes_flagbase_x2.dif":["TWL-MapPack.vl2","TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"interiors/tes_flagbunker.dif":["TWL-MapPack.vl2"],"interiors/tes_flyingvehicle_x2.dif":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"interiors/tes_flyingvehiclebase.dif":["TWL-MapPack.vl2"],"interiors/tes_turretholder.dif":["TWL-MapPack.vl2"],"interiors/tri_base.dif":["DynamixFinalPack.vl2"],"interiors/tri_gate.dif":["DynamixFinalPack.vl2"],"interiors/tri_misc1.dif":["DynamixFinalPack.vl2"],"interiors/tri_powerpit.dif":["DynamixFinalPack.vl2"],"interiors/tri_tbunker.dif":["DynamixFinalPack.vl2"],"interiors/tri_tbunker_x.dif":["TWL-MapPack.vl2"],"interiors/tri_tbunker_x2.dif":["TWL-MapPack.vl2"],"interiors/tri_tower.dif":["DynamixFinalPack.vl2"],"interiors/tri_tower_x2.dif":["TWL-MapPack.vl2"],"interiors/tri_wall3.dif":["DynamixFinalPack.vl2"],"interiors/tri_wall4.dif":["DynamixFinalPack.vl2"],"interiors/tri_wall5.dif":["DynamixFinalPack.vl2"],"interiors/tri_wall6.dif":["DynamixFinalPack.vl2"],"interiors/underhillmidbalancedfnl.dif":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"interiors/underhillsideonefnl.dif":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"interiors/xbase1.dif":["interiors.vl2"],"interiors/xbase2.dif":["interiors.vl2"],"interiors/xbrdg0.dif":["interiors.vl2"],"interiors/xbrdg1.dif":["interiors.vl2"],"interiors/xbrdg10.dif":["interiors.vl2"],"interiors/xbrdg2.dif":["interiors.vl2"],"interiors/xbrdg3.dif":["interiors.vl2"],"interiors/xbrdg4.dif":["interiors.vl2"],"interiors/xbrdg5.dif":["interiors.vl2"],"interiors/xbrdg6.dif":["interiors.vl2"],"interiors/xbrdg7.dif":["interiors.vl2"],"interiors/xbrdg8.dif":["interiors.vl2"],"interiors/xbrdg9.dif":["interiors.vl2"],"interiors/xbrdga.dif":["interiors.vl2"],"interiors/xbrdgb.dif":["interiors.vl2"],"interiors/xbrdgn.dif":["interiors.vl2"],"interiors/xbrdgo.dif":["interiors.vl2"],"interiors/xbunk1.dif":["interiors.vl2"],"interiors/xbunk2.dif":["interiors.vl2"],"interiors/xbunk5.dif":["interiors.vl2"],"interiors/xbunk6.dif":["interiors.vl2"],"interiors/xbunk9.dif":["interiors.vl2"],"interiors/xbunkb.dif":["interiors.vl2"],"interiors/xmisc1.dif":["interiors.vl2"],"interiors/xmisc2.dif":["interiors.vl2"],"interiors/xmisc3.dif":["interiors.vl2"],"interiors/xmisc4.dif":["interiors.vl2"],"interiors/xmisc5.dif":["interiors.vl2"],"interiors/xmisca.dif":["interiors.vl2"],"interiors/xmiscb.dif":["interiors.vl2"],"interiors/xmiscc.dif":["interiors.vl2"],"interiors/xplat1.dif":["interiors.vl2"],"interiors/xplat2.dif":["interiors.vl2"],"interiors/xplat3.dif":["interiors.vl2"],"interiors/xrock6.dif":["interiors.vl2"],"interiors/xrock7.dif":["interiors.vl2"],"interiors/xrock8.dif":["interiors.vl2"],"interiors/xrocka.dif":["interiors.vl2"],"interiors/xrockb.dif":["interiors.vl2"],"interiors/xrockc.dif":["interiors.vl2"],"interiors/xspir1.dif":["interiors.vl2"],"interiors/xspir2.dif":["interiors.vl2"],"interiors/xspir3.dif":["interiors.vl2"],"interiors/xspir5.dif":["interiors.vl2"],"interiors/xtowr1.dif":["interiors.vl2"],"interiors/xtowr3.dif":["interiors.vl2"],"interiors/xtowr4.dif":["interiors.vl2"],"interiors/xtowr7.dif":["interiors.vl2"],"interiors/xvpad.dif":["interiors.vl2"],"interiors/xwall1.dif":["interiors.vl2"],"lighting/Aeroena_2343a8be.ml":[""],"lighting/Agorazscium_f4b21f81.ml":[""],"lighting/ArenaDome_a0de9542.ml":[""],"lighting/ArenaHeaven_1e1fe293.ml":[""],"lighting/AstersDescent_53a3207b.ml":[""],"lighting/AttritionLT_832adbb5.ml":[""],"lighting/BerylBasin_c9d35ce.ml":[""],"lighting/Blastside_nef_6830e4bf.ml":[""],"lighting/Blink_d9ab8a18.ml":[""],"lighting/BonespurLT_915823ed.ml":[""],"lighting/BonespurLT_9cca0579.ml":[""],"lighting/BoxLak_a3e35494.ml":[""],"lighting/Broadside_nef_e852f76.ml":[""],"lighting/BulwarkLT_4a3f297.ml":[""],"lighting/Bulwark_ab283278.ml":[""],"lighting/CankerLak_2f63997d.ml":[""],"lighting/CapriLT_66f22508.ml":[""],"lighting/Cinerarium_7aca722b.ml":[""],"lighting/Circleofstones_affcd75f.ml":[""],"lighting/CirclesEdgeLT_411f1e4d.ml":[""],"lighting/CirclesEdgeLT_7a5c076c.ml":[""],"lighting/CloakofLak_74b7f3a4.ml":[""],"lighting/CloakofNightV_fc052e2a.ml":[""],"lighting/CloudBurst_ae430433.ml":[""],"lighting/ClusterUnFuct_ba9a0db4.ml":[""],"lighting/Coliseum_638e3c7c.ml":[""],"lighting/Confusco_629e6bc0.ml":[""],"lighting/CrashClash_4a04db6b.ml":[""],"lighting/CrossfiredLak_af679bb1.ml":[""],"lighting/DMP_Agroleon_39e78691.ml":[""],"lighting/DMP_BastardForgeLT_192bda18.ml":[""],"lighting/DMP_BastardForgeLT_23118b55.ml":[""],"lighting/DMP_BastardForge_69e0050.ml":[""],"lighting/DMP_BunkeredLT_22bd8e06.ml":[""],"lighting/DMP_BunkeredLT_7f074860.ml":[""],"lighting/DMP_CinerariumLT_1770607b.ml":[""],"lighting/DMP_Cinerarium_29f905f2.ml":[""],"lighting/DMP_FaceCrossing_562603da.ml":[""],"lighting/DMP_Hoth_1f2b4ebe.ml":[""],"lighting/DMP_IceGiant_27ae32f9.ml":[""],"lighting/DMP_Magellan_3ec75495.ml":[""],"lighting/DMP_MoonDance_4a0aa2ce.ml":[""],"lighting/DMP_Paranoia_a73116c7.ml":[""],"lighting/DMP_PariahLT_1eeeb2f3.ml":[""],"lighting/DMP_PariahLT_5dbbd253.ml":[""],"lighting/DMP_Pariah_5774d3ab.ml":[""],"lighting/DMP_Pariah_bae29d7a.ml":[""],"lighting/DMP_PipeDream_b4220f7e.ml":[""],"lighting/DMP_RavineV_32d83be0.ml":[""],"lighting/DMP_ScorchedEarth_6ef2eb26.ml":[""],"lighting/DMP_SimpleFlagArena_81bb7f85.ml":[""],"lighting/DMP_SpinCycle_8111999d.ml":[""],"lighting/DMP_SpincycleLT_c077aa18.ml":[""],"lighting/DMP_StarFallLT_313a7dd7.ml":[""],"lighting/DMP_StarFallLT_51b265f4.ml":[""],"lighting/DMP_Tyre_5d7be94.ml":[""],"lighting/DMP_Wasteland_87bf335.ml":[""],"lighting/DX_IceLT_69603e1f.ml":[""],"lighting/DX_Ice_492b02b7.ml":[""],"lighting/Damnation_a8afd69c.ml":[""],"lighting/DangerousCrossingLT_8205e1c3.ml":[""],"lighting/DangerousCrossingLT_98fe44b0.ml":[""],"lighting/DeathBirdsFly1_e1b6748d.ml":[""],"lighting/DermCrossingDeluxeLT_86255d21.ml":[""],"lighting/DermCrossingDeluxe_b5489c73.ml":[""],"lighting/DesertofDeathLak_9ef72690.ml":[""],"lighting/DiscordLT_8799b81.ml":[""],"lighting/Discord_d9dc93e8.ml":[""],"lighting/DustRunLak_6779c9d4.ml":[""],"lighting/DustToDust_c2ba2158.ml":[""],"lighting/El_FinLT_e9dab457.ml":[""],"lighting/El_Fin_8316b0e5.ml":[""],"lighting/Entombed_e3bacfe0.ml":[""],"lighting/Envyrena_7791ad94.ml":[""],"lighting/EnyLand_68f85a3b.ml":[""],"lighting/Exhumed_20605cf5.ml":[""],"lighting/Extractor_d5e74134.ml":[""],"lighting/FF_Hillside_2daafc5b.ml":[""],"lighting/Fallout_9b18601a.ml":[""],"lighting/Fenix_78eeb8cd.ml":[""],"lighting/Firestorm_16de2343.ml":[""],"lighting/Floatarena_297e95cb.ml":[""],"lighting/FourWayCheckmate_f33d2fb6.ml":[""],"lighting/FrozenForgeLT_743ce94a.ml":[""],"lighting/FrozenForgeLT_9931f1ae.ml":[""],"lighting/FrozenHopeLT_7213db78.ml":[""],"lighting/FrozenHopeLT_b46d68eb.ml":[""],"lighting/FrozenHope_3a657c29.ml":[""],"lighting/FunHouse_604d2f6a.ml":[""],"lighting/GodsRiftLak_18e44714.ml":[""],"lighting/GrassyKnollLT_68c6cce.ml":[""],"lighting/GrassyKnoll_5c7374ad.ml":[""],"lighting/GrassyKnoll_a8a31131.ml":[""],"lighting/GreenLawn_f4f6854f.ml":[""],"lighting/HO_Ice_259f9801.ml":[""],"lighting/HO_Lush_37ea33f0.ml":[""],"lighting/HarvestDance_c7a75c2.ml":[""],"lighting/Headstone_772e32ed.ml":[""],"lighting/Helioarena_1e75a885.ml":[""],"lighting/HiddenValley_a1dce28d.ml":[""],"lighting/HighOctane_85127c80.ml":[""],"lighting/HighOctane_b_ac85e4.ml":[""],"lighting/HighWire_471b6cf9.ml":[""],"lighting/HillKingLT_50bd1439.ml":[""],"lighting/HillKingLT_8da13f48.ml":[""],"lighting/HillKingLT_d836ed12.ml":[""],"lighting/HillSideLT_4f08df8f.ml":[""],"lighting/Hillside_33bc6f09.ml":[""],"lighting/Horde_4a800bd6.ml":[""],"lighting/HostileLoch_d7362c7.ml":[""],"lighting/IcePick_56b79dca.ml":[""],"lighting/IcePick_600de852.ml":[""],"lighting/InfernusLak_7d2be4ad.ml":[""],"lighting/IveHadWorse_e39c99bf.ml":[""],"lighting/JadeValley_7ef73b3d.ml":[""],"lighting/Lakefront_3703d244.ml":[""],"lighting/Logans_Run_c40b6d12.ml":[""],"lighting/Mac_FlagArena_90666881.ml":[""],"lighting/Machineeggs_a5ccddc0.ml":[""],"lighting/MagmaticLak_4073d809.ml":[""],"lighting/Minerva_33feccb1.ml":[""],"lighting/MiniSunDried_3c5a0fc8.ml":[""],"lighting/Minotaur_171384b8.ml":[""],"lighting/MisadventureV2_ec7544a8.ml":[""],"lighting/Moonwalk_174f2bd4.ml":[""],"lighting/NarcolepsyLT_73e7c21a.ml":[""],"lighting/NatureMagic_2544c03b.ml":[""],"lighting/Nightdance_7bfc8136.ml":[""],"lighting/Norty_eb1bd063.ml":[""],"lighting/OsIrisLT_a734e9f4.ml":[""],"lighting/OsIrisLT_c9b12d6.ml":[""],"lighting/OuterWildsLT_fc7787a1.ml":[""],"lighting/OuterWilds_ad3695ec.ml":[""],"lighting/PipeDreamLT_be0ac5c7.ml":[""],"lighting/PipeDreamLT_c8a581c1.ml":[""],"lighting/PlanetX_8a6e98e8.ml":[""],"lighting/PrizmaticLT_d1bb228d.ml":[""],"lighting/PuliVeivari_ba861c8e.ml":[""],"lighting/RaindanceLT_8b15c940.ml":[""],"lighting/RaindanceLT_ed3eadcd.ml":[""],"lighting/Raindance_nefLak_35b8f6bc.ml":[""],"lighting/Raindance_nef_542af516.ml":[""],"lighting/Ravine_d9f4db83.ml":[""],"lighting/Reversion_16355b81.ml":[""],"lighting/RiverDance_51da8ec1.ml":[""],"lighting/Rollercoaster_nef_236560f9.ml":[""],"lighting/RoundTheMountainLT_1d5f7a42.ml":[""],"lighting/RoundTheMountainLT_d8d7a00a.ml":[""],"lighting/RoundTheMountain_3c873c59.ml":[""],"lighting/Ruined_928042b0.ml":[""],"lighting/RunenmachtLT_566cc4af.ml":[""],"lighting/RunenmachtLT_e29440db.ml":[""],"lighting/RushLT_83e7ec01.ml":[""],"lighting/RushLT_8cc32def.ml":[""],"lighting/Rush_7f8c0bd.ml":[""],"lighting/S5_DamnationLT_2e874420.ml":[""],"lighting/S5_DamnationLT_93d28001.ml":[""],"lighting/S5_Damnation_12876ea.ml":[""],"lighting/S5_Icedance_23935c84.ml":[""],"lighting/S5_MassiveLT_774d8053.ml":[""],"lighting/S5_MassiveLT_aa83559d.ml":[""],"lighting/S5_Massive_72b32b94.ml":[""],"lighting/S5_Massive_a0889977.ml":[""],"lighting/S5_Mimicry_a7de0fbe.ml":[""],"lighting/S5_Mordacity_7f7769e0.ml":[""],"lighting/S5_Reynard_3d07b96b.ml":[""],"lighting/S5_Sherman_d255001b.ml":[""],"lighting/S5_SilenusLT_b44256fa.ml":[""],"lighting/S5_Silenus_337a3c5b.ml":[""],"lighting/S5_Woodymyrk_ec89b88f.ml":[""],"lighting/S8_Cardiac_1b8fd622.ml":[""],"lighting/S8_GeothermalLak_20f3a205.ml":[""],"lighting/S8_Mountking_44b27865.ml":[""],"lighting/S8_Opus_efcc41a2.ml":[""],"lighting/S8_ZilchLT_b45c6931.ml":[""],"lighting/S8_ZilchLT_d5e6be15.ml":[""],"lighting/SC_Ice_af6eba.ml":[""],"lighting/SC_Normal_799da350.ml":[""],"lighting/SaddiesHill_698e83d5.ml":[""],"lighting/Sanctuary_7c20b606.ml":[""],"lighting/SandyRunLT_91cbfd2f.ml":[""],"lighting/Sangre_de_Grado_ae25e9e2.ml":[""],"lighting/Sentry_21483143.ml":[""],"lighting/ShortFall_aa1e57bb.ml":[""],"lighting/SignalLT_4f74b06a.ml":[""],"lighting/SignalLT_9bae58a.ml":[""],"lighting/Signal_e7aade91.ml":[""],"lighting/SkiFree_Randomizer_7dda3eb1.ml":[""],"lighting/SkinnyDipLak_c997a78f.ml":[""],"lighting/Slapdash_93679deb.ml":[""],"lighting/SmallCrossingLT_8b0a6034.ml":[""],"lighting/SmallTimeLT_89653a5e.ml":[""],"lighting/SolsDescentLak_11a78868.ml":[""],"lighting/SpectreLak_5e17e9b3.ml":[""],"lighting/SpyLand_21ea4c6.ml":[""],"lighting/SunDriedLak_e0d74cbd.ml":[""],"lighting/Sundance_2b83620c.ml":[""],"lighting/SuperHappyBouncyFunTime_b901c3ef.ml":[""],"lighting/SuperiorWaterworks_f456e8d9.ml":[""],"lighting/TWL2_Bleed_e6d5b374.ml":[""],"lighting/TWL2_BlueMoon_21ccae9c.ml":[""],"lighting/TWL2_BlueMoon_7c61bcd5.ml":[""],"lighting/TWL2_BlueMoon_a95478a6.ml":[""],"lighting/TWL2_CanyonCrusadeDeluxeLT_c1ae3753.ml":[""],"lighting/TWL2_CanyonCrusadeDeluxeLT_dbd8196e.ml":[""],"lighting/TWL2_CanyonCrusadeDeluxe_7452f969.ml":[""],"lighting/TWL2_CelerityLT_bc01478.ml":[""],"lighting/TWL2_CelerityLT_f2ecb468.ml":[""],"lighting/TWL2_Celerity_83b5b539.ml":[""],"lighting/TWL2_Dissention_d30eb753.ml":[""],"lighting/TWL2_Drifts_a70061b9.ml":[""],"lighting/TWL2_Drorck_add44b54.ml":[""],"lighting/TWL2_FrozenGlory_e2aae3eb.ml":[""],"lighting/TWL2_HildebrandLT_4cb441fb.ml":[""],"lighting/TWL2_HildebrandLT_fbf9260d.ml":[""],"lighting/TWL2_Hildebrand_ff9349b8.ml":[""],"lighting/TWL2_IceDagger_a8551aa2.ml":[""],"lighting/TWL2_JaggedClawLT_13a8fe76.ml":[""],"lighting/TWL2_JaggedClawLT_caff2b5d.ml":[""],"lighting/TWL2_JaggedClaw_ae434bfa.ml":[""],"lighting/TWL2_Magnum_bbaaf3b7.ml":[""],"lighting/TWL2_MidnightMayhemDeluxe_f0479bd5.ml":[""],"lighting/TWL2_MuddySwamp_202e755e.ml":[""],"lighting/TWL2_Norty_8a4142af.ml":[""],"lighting/TWL2_Ocular_d10fca4c.ml":[""],"lighting/TWL2_SkylightLT_c37d56e9.ml":[""],"lighting/TWL2_SkylightLT_f4b7bcf2.ml":[""],"lighting/TWL_Abaddon_661d5ca.ml":[""],"lighting/TWL_BeachBlitzLT_d50e4150.ml":[""],"lighting/TWL_BeachBlitzLT_ff00cacb.ml":[""],"lighting/TWL_BeachBlitzLak_8391be13.ml":[""],"lighting/TWL_BeachBlitz_2ba27e9a.ml":[""],"lighting/TWL_BeggarsRun_ac20e6fb.ml":[""],"lighting/TWL_Boss_d15d03dd.ml":[""],"lighting/TWL_Chokepoint_a2218645.ml":[""],"lighting/TWL_Crossfire_68b88bb4.ml":[""],"lighting/TWL_Damnation_f601da24.ml":[""],"lighting/TWL_DangerousCrossing_c0f5608a.ml":[""],"lighting/TWL_DeadlyBirdsSong_9eb082cf.ml":[""],"lighting/TWL_Drifts_3957320.ml":[""],"lighting/TWL_FeignLT_423b7f43.ml":[""],"lighting/TWL_FeignLT_97abf48c.ml":[""],"lighting/TWL_Feign_69a86ab3.ml":[""],"lighting/TWL_Harvester_6c61fcbf.ml":[""],"lighting/TWL_Katabatic_28e374c5.ml":[""],"lighting/TWL_Magmatic_79ca25bd.ml":[""],"lighting/TWL_Minotaur_4735e9ea.ml":[""],"lighting/TWL_OsIris_af0cd5e3.ml":[""],"lighting/TWL_Pandemonium_96c05f13.ml":[""],"lighting/TWL_Quagmire_3d196e62.ml":[""],"lighting/TWL_Raindance_e335287d.ml":[""],"lighting/TWL_Ramparts_e1d65b38.ml":[""],"lighting/TWL_Reversion_2057b26c.ml":[""],"lighting/TWL_RollercoasterLT_4becc052.ml":[""],"lighting/TWL_Runenmacht_fce2e1dd.ml":[""],"lighting/TWL_Slapdash_386535c9.ml":[""],"lighting/TWL_Slapdash_6c5d45fc.ml":[""],"lighting/TWL_Snowblind_7d864772.ml":[""],"lighting/TWL_Starfallen_220caf10.ml":[""],"lighting/TWL_StonehengeLT_186408d.ml":[""],"lighting/TWL_StonehengeLT_b54394a1.ml":[""],"lighting/TWL_Stonehenge_4be1bf55.ml":[""],"lighting/TWL_SubZero_d26856d3.ml":[""],"lighting/TWL_Surreal_928c01fe.ml":[""],"lighting/TWL_Titan_f2ca1f12.ml":[""],"lighting/TWL_WilderZoneLT_b23d9623.ml":[""],"lighting/TWL_WilderZoneLT_c9eea074.ml":[""],"lighting/TWL_WilderZone_f391f176.ml":[""],"lighting/Tacocat-DantesHill_1fadb4f4.ml":[""],"lighting/Tacocat-Dunes_b3ca40d2.ml":[""],"lighting/Tacocat-Jagged_2f4bf1c1.ml":[""],"lighting/Tacocat-SoylentJade_a5360959.ml":[""],"lighting/TenebrousCTF_de5eec4e.ml":[""],"lighting/TheFray_ee6d9255.ml":[""],"lighting/TheSewer_f4f75077.ml":[""],"lighting/TibbawLak_104ce121.ml":[""],"lighting/TitanV_b_527804b0.ml":[""],"lighting/TreasureIslandLak_f456aa59.ml":[""],"lighting/Triad_ff08cb0b.ml":[""],"lighting/TrueGrit_95ae0ce4.ml":[""],"lighting/UporDown_5cadb65.ml":[""],"lighting/VanDamnedLT_657123fb.ml":[""],"lighting/VanDamnedLT_fc126eb7.ml":[""],"lighting/VaubanLak_b072a992.ml":[""],"lighting/Vauban_fe733076.ml":[""],"lighting/Waterbox_c7bd8997.ml":[""],"lighting/WhiteDwarfDeluxeLT_7adbd60e.ml":[""],"lighting/WhiteDwarfDeluxeLT_afa63289.ml":[""],"lighting/WindyGap_d2bee4e7.ml":[""],"lighting/Wonderena_a304a21e.ml":[""],"lighting/Yubarena_2638aaa0.ml":[""],"lighting/Zilch_6b242845.ml":[""],"lighting/aabaa_571e7c86.ml":[""],"lighting/berlard_2823ce88.ml":[""],"lighting/cagematch_b93c2e85.ml":[""],"lighting/random2_aeea92ad.ml":[""],"lighting/random_ad5187a1.ml":[""],"loginScreens.cs":["T2csri.vl2"],"loginScreens.cs.dso":["T2csri.vl2"],"missions/2ArenaDome.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/2ArenaValley.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/2DustBowl.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/2Flyersarena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/2IceDome.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/2IndoorIntensity.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/4thGradeDropout.mis":["4thGradeDropout.vl2"],"missions/Abominable.mis":["missions.vl2"],"missions/AcidRain.mis":["Classic_maps_v1.vl2"],"missions/Aeroena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/AgentsOfFortune.mis":["missions.vl2"],"missions/Alcatraz.mis":["missions.vl2"],"missions/Archipelago.mis":["missions.vl2"],"missions/ArenaHeaven.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ArenaHell.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ArenaHell2.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ArenaInTheHill.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ArenaUnderTheHill.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/AryoArena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/AshesToAshes.mis":["missions.vl2"],"missions/Atropos2.mis":["atroposthereturn.vl2"],"missions/BeggarsRun.mis":["missions.vl2"],"missions/BeneathTheHill.mis":["BeneathTheHill.vl2"],"missions/Blastside_nef.mis":["Classic_maps_v1.vl2"],"missions/BrainFreeze.mis":["brainfreeze.vl2"],"missions/BridgeTooFar.mis":["DynamixFinalPack.vl2"],"missions/Broadside_nef.mis":["Classic_maps_v1.vl2"],"missions/Broken_Dreams.mis":["brokendreams_2.vl2"],"missions/Caldera.mis":["missions.vl2"],"missions/Casern_Cavite.mis":["missions.vl2"],"missions/Centaur.mis":["centaur.vl2"],"missions/Checkmate.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ColdFusion.mis":["ColdFusion.vl2"],"missions/ColdWar.mis":["ColdWar.vl2"],"missions/Conclave.mis":["Conclave.vl2"],"missions/Confusco.mis":["Classic_maps_v1.vl2"],"missions/ContainmentLarge.mis":["ContainmentLarge.vl2"],"missions/CrashClash.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Crater71.mis":["TR2final105-client.vl2"],"missions/DMP_Agroleon.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Astro.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_BastardForge.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_BitterGorge.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Bunkered.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Cinerarium.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_DermCity.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Embers.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_EmeraldSpit.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_FaceCrossing.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Hoth.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_IceGiant.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_IsleDeBatalla.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_LavaGods.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Magellan.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_MoonDance.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Pantheon.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Paranoia.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Pariah.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_PipeDream.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_RavineV.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_ScorchedEarth.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_SimpleFlagArena.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_SpinCycle.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_StarFall.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Tyre.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/DMP_Wasteland.mis":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"missions/Damnation.mis":["missions.vl2"],"missions/DangerousCrossingArena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/DangerousCrossing_nef.mis":["Classic_maps_v1.vl2"],"missions/DeathBirdsFly.mis":["missions.vl2"],"missions/DeathFromBelow.mis":["DeathFromBelow.vl2"],"missions/DeathRow.mis":["DeathRow.vl2"],"missions/DesertWind.mis":["DesertWind.vl2"],"missions/DesertofDeath_nef.mis":["Classic_maps_v1.vl2"],"missions/Desiccator.mis":["missions.vl2"],"missions/DevilsElbow.mis":["DynamixFinalPack.vl2"],"missions/DraconisVII.mis":["DraconisVII.vl2"],"missions/DustToDust.mis":["missions.vl2"],"missions/Envyrena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/EnyLand.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Equinox.mis":["missions.vl2"],"missions/Escalade.mis":["missions.vl2"],"missions/EveningLand.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Exposure.mis":["Exposure-v1.1.vl2"],"missions/FinalRevenge.mis":["FinalRevenge.vl2"],"missions/Firestorm.mis":["missions.vl2"],"missions/Flashpoint.mis":["missions.vl2"],"missions/Fracas.mis":["missions.vl2"],"missions/FrozenFury.mis":["TR2final105-client.vl2"],"missions/Gauntlet.mis":["missions.vl2"],"missions/Gehenna.mis":["missions.vl2"],"missions/Geronimo.mis":["Geronimo.vl2"],"missions/GodsRift.mis":["TR2final105-client.vl2"],"missions/Gorgon.mis":["Classic_maps_v1.vl2"],"missions/Haven.mis":["TR2final105-client.vl2"],"missions/Helioarena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Hillside.mis":["Classic_maps_v1.vl2"],"missions/IceBound.mis":["missions.vl2"],"missions/IceRidge_nef.mis":["Classic_maps_v1.vl2"],"missions/InnerSanctum.mis":["DynamixFinalPack.vl2"],"missions/Insalubria.mis":["missions.vl2"],"missions/Invictus.mis":["missions.vl2"],"missions/IsleOfMan.mis":["DynamixFinalPack.vl2"],"missions/IveHadWorse.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/JacobsLadder.mis":["missions.vl2"],"missions/Katabatic.mis":["missions.vl2"],"missions/Khalarena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Lakefront.mis":["Classic_maps_v1.vl2"],"missions/Magmatic.mis":["Classic_maps_v1.vl2"],"missions/Masada.mis":["missions.vl2"],"missions/Minotaur.mis":["missions.vl2"],"missions/Morena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/MountainSiege.mis":["MountainSiege.vl2"],"missions/Mudside.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Mutiny.mis":["Mutiny.vl2"],"missions/MyrkWood.mis":["missions.vl2"],"missions/Oasis.mis":["missions.vl2"],"missions/Overreach.mis":["missions.vl2"],"missions/Pantheon.mis":["DynamixFinalPack.vl2"],"missions/Patience.mis":["Patience.vl2"],"missions/PhasmaDust.mis":["TR2final105-client.vl2"],"missions/Planetside.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Prismatic.mis":["Prismatic.vl2"],"missions/ProArena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Pyroclasm.mis":["missions.vl2"],"missions/Quagmire.mis":["missions.vl2"],"missions/Raindance_nef.mis":["Classic_maps_v1.vl2"],"missions/Ramparts.mis":["Classic_maps_v1.vl2"],"missions/Rasp.mis":["missions.vl2"],"missions/Recalescence.mis":["missions.vl2"],"missions/Respite.mis":["missions.vl2"],"missions/Reversion.mis":["missions.vl2"],"missions/Ridgerena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Rimehold.mis":["missions.vl2"],"missions/RiverDance.mis":["missions.vl2"],"missions/Rollercoaster_nef.mis":["Classic_maps_v1.vl2"],"missions/S5_Centaur.mis":["S5maps.vl2"],"missions/S5_Damnation.mis":["S5maps.vl2"],"missions/S5_Drache.mis":["S5maps.vl2"],"missions/S5_HawkingHeat.mis":["S5maps.vl2"],"missions/S5_Icedance.mis":["S5maps.vl2"],"missions/S5_Massive.mis":["S5maps.vl2"],"missions/S5_Mimicry.mis":["S5maps.vl2"],"missions/S5_Misadventure.mis":["S5maps.vl2"],"missions/S5_Mordacity.mis":["S5maps.vl2"],"missions/S5_Reynard.mis":["S5maps.vl2"],"missions/S5_Sherman.mis":["S5maps.vl2"],"missions/S5_Silenus.mis":["S5maps.vl2"],"missions/S5_Woodymyrk.mis":["S5maps.vl2"],"missions/S8_Cardiac.mis":["S8maps.vl2"],"missions/S8_CentralDogma.mis":["S8maps.vl2"],"missions/S8_Geothermal.mis":["S8maps.vl2"],"missions/S8_Mountking.mis":["S8maps.vl2"],"missions/S8_Opus.mis":["S8maps.vl2"],"missions/S8_Zilch.mis":["S8maps.vl2"],"missions/Sanctuary.mis":["missions.vl2"],"missions/Sandstorm.mis":["Classic_maps_v1.vl2"],"missions/Scarabrae_nef.mis":["Classic_maps_v1.vl2"],"missions/ShockRidge.mis":["Classic_maps_v1.vl2"],"missions/ShrineArena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ShrineArenaII.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/SiegeofYmir.mis":["SiegeofYmir.vl2"],"missions/SilentStorm.mis":["SilentStorm.vl2"],"missions/Sirocco.mis":["missions.vl2"],"missions/SkiFree.mis":["SkiFreeGameType.vl2"],"missions/SkiFreeZ_Championship_2021.mis":["SkiFreeGameType.vl2"],"missions/SkiFree_Daily.mis":["SkiFreeGameType.vl2"],"missions/SkiFree_Randomizer.mis":["SkiFreeGameType.vl2"],"missions/SkinnyDip.mis":["TR2final105-client.vl2"],"missions/Slapdash.mis":["missions.vl2"],"missions/SmogArena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/SnowBound.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Snowblind_nef.mis":["Classic_maps_v1.vl2"],"missions/SoccerLand.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Solace.mis":["Solace.vl2"],"missions/SolsDescent.mis":["TR2final105-client.vl2"],"missions/SpyLand.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Starfallen.mis":["Classic_maps_v1.vl2"],"missions/Stonehenge_Arena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Stonehenge_nef.mis":["Classic_maps_v1.vl2"],"missions/SubZero.mis":["Classic_maps_v1.vl2"],"missions/SunDried.mis":["missions.vl2"],"missions/Surreal.mis":["Classic_maps_v1.vl2"],"missions/TWL2_Bleed.mis":["TWL2-MapPack.vl2"],"missions/TWL2_BlueMoon.mis":["TWL2-MapPack.vl2"],"missions/TWL2_CanyonCrusadeDeluxe.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Celerity.mis":["TWL2-MapPack.vl2"],"missions/TWL2_CloakOfNight.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Crevice.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Dissention.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Drifts.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Drorck.mis":["TWL2-MapPack.vl2"],"missions/TWL2_FrozenGlory.mis":["TWL2-MapPack.vl2"],"missions/TWL2_FrozenHope.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Hildebrand.mis":["TWL2-MapPack.vl2"],"missions/TWL2_IceDagger.mis":["TWL2-MapPack.vl2"],"missions/TWL2_JaggedClaw.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Magnum.mis":["TWL2-MapPack.vl2"],"missions/TWL2_MidnightMayhemDeluxe.mis":["TWL2-MapPack.vl2"],"missions/TWL2_MuddySwamp.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Norty.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Ocular.mis":["TWL2-MapPack.vl2"],"missions/TWL2_RoughLand.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Ruined.mis":["TWL2-MapPack.vl2"],"missions/TWL2_Skylight.mis":["TWL2-MapPack.vl2"],"missions/TWL2_WoodyMyrk.mis":["TWL2-MapPack.vl2"],"missions/TWL_Abaddon.mis":["TWL-MapPack.vl2"],"missions/TWL_BaNsHee.mis":["TWL-MapPack.vl2"],"missions/TWL_BeachBlitz.mis":["TWL-MapPack.vl2"],"missions/TWL_BeggarsRun.mis":["TWL-MapPack.vl2"],"missions/TWL_BlueMoon.mis":["TWL-MapPack.vl2"],"missions/TWL_Boss.mis":["TWL-MapPack.vl2"],"missions/TWL_Celerity.mis":["TWL-MapPack.vl2"],"missions/TWL_Chokepoint.mis":["TWL-MapPack.vl2"],"missions/TWL_Cinereous.mis":["TWL-MapPack.vl2"],"missions/TWL_Clusterfuct.mis":["TWL-MapPack.vl2"],"missions/TWL_Crossfire.mis":["TWL-MapPack.vl2"],"missions/TWL_Curtilage.mis":["TWL-MapPack.vl2"],"missions/TWL_Damnation.mis":["TWL-MapPack.vl2"],"missions/TWL_DangerousCrossing.mis":["TWL-MapPack.vl2"],"missions/TWL_DeadlyBirdsSong.mis":["TWL-MapPack.vl2"],"missions/TWL_Deserted.mis":["TWL-MapPack.vl2"],"missions/TWL_Desiccator.mis":["TWL-MapPack.vl2"],"missions/TWL_Drifts.mis":["TWL-MapPack.vl2"],"missions/TWL_Feign.mis":["TWL-MapPack.vl2"],"missions/TWL_Frostclaw.mis":["TWL-MapPack.vl2"],"missions/TWL_Frozen.mis":["TWL-MapPack.vl2"],"missions/TWL_Harvester.mis":["TWL-MapPack.vl2"],"missions/TWL_Horde.mis":["TWL-MapPack.vl2"],"missions/TWL_Katabatic.mis":["TWL-MapPack.vl2"],"missions/TWL_Magmatic.mis":["TWL-MapPack.vl2"],"missions/TWL_Minotaur.mis":["TWL-MapPack.vl2"],"missions/TWL_Neve.mis":["TWL-MapPack.vl2"],"missions/TWL_NoShelter.mis":["TWL-MapPack.vl2"],"missions/TWL_OsIris.mis":["TWL-MapPack.vl2"],"missions/TWL_Pandemonium.mis":["TWL-MapPack.vl2"],"missions/TWL_Quagmire.mis":["TWL-MapPack.vl2"],"missions/TWL_Raindance.mis":["TWL-MapPack.vl2"],"missions/TWL_Ramparts.mis":["TWL-MapPack.vl2"],"missions/TWL_Reversion.mis":["TWL-MapPack.vl2"],"missions/TWL_Rollercoaster.mis":["TWL-MapPack.vl2"],"missions/TWL_Runenmacht.mis":["TWL-MapPack.vl2"],"missions/TWL_Sandstorm.mis":["TWL-MapPack.vl2"],"missions/TWL_Slapdash.mis":["TWL-MapPack.vl2"],"missions/TWL_Snowblind.mis":["TWL-MapPack.vl2"],"missions/TWL_Starfallen.mis":["TWL-MapPack.vl2"],"missions/TWL_Stonehenge.mis":["TWL-MapPack.vl2"],"missions/TWL_SubZero.mis":["TWL-MapPack.vl2"],"missions/TWL_Surreal.mis":["TWL-MapPack.vl2"],"missions/TWL_Titan.mis":["TWL-MapPack.vl2"],"missions/TWL_WhiteDwarf.mis":["TWL-MapPack.vl2"],"missions/TWL_WilderZone.mis":["TWL-MapPack.vl2"],"missions/TWL_WoodyMyrk.mis":["TWL-MapPack.vl2"],"missions/Talus.mis":["missions.vl2"],"missions/TempleTussleVersion2.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Tenebrous.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/ThinIce.mis":["missions.vl2"],"missions/Titan.mis":["Classic_maps_v1.vl2"],"missions/Tombstone.mis":["missions.vl2"],"missions/Training1.mis":["missions.vl2"],"missions/Training2.mis":["missions.vl2"],"missions/Training3.mis":["missions.vl2"],"missions/Training4.mis":["missions.vl2"],"missions/Training5.mis":["missions.vl2"],"missions/TreasureIsland.mis":["TR2final105-client.vl2"],"missions/Trident.mis":["DynamixFinalPack.vl2"],"missions/TridentLE.mis":["TridentLE.vl2"],"missions/TrueGrit.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/UltimaThule.mis":["missions.vl2"],"missions/Underhill.mis":["missions.vl2"],"missions/UphillBattle.mis":["UphillBattle.vl2"],"missions/UporDown.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/VulcansHammer.mis":["VulcansHammer.vl2"],"missions/WalledIn.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/WalledInII.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/WhiteDwarf.mis":["Classic_maps_v1.vl2"],"missions/Whiteout.mis":["missions.vl2"],"missions/WonderLand.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"missions/Yubarena.mis":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"music/badlands.mp3":[""],"music/desert.mp3":[""],"music/ice.mp3":[""],"music/lush.mp3":[""],"music/volcanic.mp3":[""],"other/SkiFreeCreator.java":["SkiFreeGameType.vl2"],"other/terrain list.csv":["SkiFreeGameType.vl2"],"readme.txt":["centaur.vl2"],"scripts/BountyGame.cs":["scripts.vl2"],"scripts/CTFGame.cs":["scripts.vl2"],"scripts/CenterPrint.cs":["scripts.vl2"],"scripts/ChatGui.cs":["scripts.vl2"],"scripts/ChooseFilterDlg.cs":["scripts.vl2"],"scripts/CnHGame.cs":["scripts.vl2"],"scripts/CreativityGame.cs":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"scripts/DMGame.cs":["scripts.vl2"],"scripts/DebriefGui.cs":["scripts.vl2"],"scripts/DefaultTurretsGame.cs":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"scripts/DemoEndGui.cs":["scripts.vl2"],"scripts/DnDGame.cs":["scripts.vl2"],"scripts/EditChatMenuGui.cs":["scripts.vl2"],"scripts/EditorGui.cs":["scripts.vl2"],"scripts/EditorProfiles.cs":["scripts.vl2"],"scripts/GameGui.cs":["scripts.vl2"],"scripts/HothFFsGame.cs":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"scripts/HuntersGame.cs":["scripts.vl2"],"scripts/LaunchLanGui.cs":["scripts.vl2"],"scripts/LobbyGui.cs":["scripts.vl2"],"scripts/OptionsDlg.cs":["scripts.vl2"],"scripts/PantherXL.cs":["scripts.vl2"],"scripts/PathEdit.cs":["scripts.vl2"],"scripts/RabbitGame.cs":["scripts.vl2"],"scripts/SiegeGame.cs":["scripts.vl2"],"scripts/SinglePlayerGame.cs":["scripts.vl2"],"scripts/SkiFreeAI.cs":["SkiFreeGameType.vl2"],"scripts/SkiFreeDatablock.cs":["SkiFreeGameType.vl2"],"scripts/SkiFreeGame.cs":["SkiFreeGameType.vl2"],"scripts/SkiFreeOverrides.cs":["SkiFreeGameType.vl2"],"scripts/SkiFreeTerrains.cs":["SkiFreeGameType.vl2"],"scripts/TR2BonusCategories.cs":["TR2final105-server.vl2"],"scripts/TR2BonusHud.cs":["TR2final105-client.vl2"],"scripts/TR2BonusSounds.cs":["TR2final105-server.vl2"],"scripts/TR2Bonuses.cs":["TR2final105-server.vl2"],"scripts/TR2Descriptions.cs":["TR2final105-server.vl2"],"scripts/TR2EventHud.cs":["TR2final105-client.vl2"],"scripts/TR2FlagToss.cs":["TR2final105-client.vl2"],"scripts/TR2Game.cs":["TR2final105-server.vl2"],"scripts/TR2Items.cs":["TR2final105-server.vl2"],"scripts/TR2Nouns.cs":["TR2final105-server.vl2"],"scripts/TR2ObserverQueue.cs":["TR2final105-server.vl2"],"scripts/TR2OtherBonuses.cs":["TR2final105-server.vl2"],"scripts/TR2Packages.cs":["TR2final105-server.vl2"],"scripts/TR2Particles.cs":["TR2final105-server.vl2"],"scripts/TR2Penalties.cs":["TR2final105-server.vl2"],"scripts/TR2Physics.cs":["TR2final105-server.vl2"],"scripts/TR2Prefixes.cs":["TR2final105-server.vl2"],"scripts/TR2Qualifiers.cs":["TR2final105-server.vl2"],"scripts/TR2Roles.cs":["TR2final105-server.vl2"],"scripts/TR2WeaponBonuses.cs":["TR2final105-server.vl2"],"scripts/TR2heavy_male.cs":["TR2final105-server.vl2"],"scripts/TR2light_female.cs":["TR2final105-server.vl2"],"scripts/TR2light_male.cs":["TR2final105-server.vl2"],"scripts/TR2medium_female.cs":["TR2final105-server.vl2"],"scripts/TR2medium_male.cs":["TR2final105-server.vl2"],"scripts/TeamHuntersGame.cs":["scripts.vl2"],"scripts/TeleportGame.cs":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"scripts/Training1.cs":["scripts.vl2"],"scripts/Training2.cs":["scripts.vl2"],"scripts/Training3.cs":["scripts.vl2"],"scripts/Training4.cs":["scripts.vl2"],"scripts/Training5.cs":["scripts.vl2"],"scripts/TrainingGui.cs":["scripts.vl2"],"scripts/admin.cs":["scripts.vl2"],"scripts/ai.cs":["scripts.vl2"],"scripts/aiBotProfiles.cs":["scripts.vl2"],"scripts/aiBountyGame.cs":["scripts.vl2"],"scripts/aiCTF.cs":["scripts.vl2"],"scripts/aiChat.cs":["scripts.vl2"],"scripts/aiCnH.cs":["scripts.vl2"],"scripts/aiDeathMatch.cs":["scripts.vl2"],"scripts/aiDebug.cs":["scripts.vl2"],"scripts/aiDefaultTasks.cs":["scripts.vl2"],"scripts/aiDnD.cs":["scripts.vl2"],"scripts/aiHumanTasks.cs":["scripts.vl2"],"scripts/aiHunters.cs":["scripts.vl2"],"scripts/aiInventory.cs":["scripts.vl2"],"scripts/aiObjectiveBuilder.cs":["scripts.vl2"],"scripts/aiObjectives.cs":["scripts.vl2"],"scripts/aiRabbit.cs":["scripts.vl2"],"scripts/aiSiege.cs":["scripts.vl2"],"scripts/aiTeamHunters.cs":["scripts.vl2"],"scripts/autoexec/AllowBotSkin.cs":[""],"scripts/autoexec/InvincibleInv.cs":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"scripts/autoexec/LakRabbitObjHud.cs":["zAddOnsVL2s/LakRabbit_Client.vl2"],"scripts/autoexec/SkiFreeSinglePlayer.cs":["SkiFreeGameType.vl2"],"scripts/autoexec/UEfix1.cs":[""],"scripts/autoexec/adminHud.cs":["","zz_Classic_client_v1.vl2"],"scripts/autoexec/arenaSupport.cs":["zAddOnsVL2s/arenaSupport.vl2"],"scripts/autoexec/chatmenuHudClear.cs":[""],"scripts/autoexec/classicPropMap.cs":["zz_Classic_client_v1.vl2"],"scripts/autoexec/clientOverloads.cs":["zz_Classic_client_v1.vl2"],"scripts/autoexec/dmpVersionCheck.cs":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"scripts/autoexec/fov.cs":[""],"scripts/autoexec/ircTempFix.cs":[""],"scripts/autoexec/meltdownfix.cs":[""],"scripts/autoexec/modHud.cs":["","zz_Classic_client_v1.vl2"],"scripts/autoexec/perfCounter.cs":[""],"scripts/autoexec/practiceHud.cs":["zz_Classic_client_v1.vl2"],"scripts/autoexec/scripts.txt":["scripts.vl2"],"scripts/autoexec/statushud.cs":[""],"scripts/autoexec/t2csri_IRCfix.cs":["T2csri.vl2"],"scripts/autoexec/t2csri_IRCfix.cs.dso":["T2csri.vl2"],"scripts/autoexec/t2csri_list.cs":["T2csri.vl2"],"scripts/autoexec/t2csri_list.cs.dso":["T2csri.vl2"],"scripts/autoexec/t2csri_serv.cs":["T2csri.vl2"],"scripts/autoexec/t2csri_serv.cs.dso":["T2csri.vl2"],"scripts/autoexec/tourneyInit.cs":["tournamentNetClient2.vl2"],"scripts/badlandsPropMap.cs":["scripts.vl2"],"scripts/bioderm_heavy.cs":["scripts.vl2"],"scripts/bioderm_light.cs":["scripts.vl2"],"scripts/bioderm_medium.cs":["scripts.vl2"],"scripts/camera.cs":["scripts.vl2"],"scripts/cannedChatItems.cs":["scripts.vl2"],"scripts/chatMenuHud.cs":["scripts.vl2"],"scripts/client.cs":["scripts.vl2"],"scripts/clientAudio.cs":["scripts.vl2"],"scripts/clientDefaults.cs":["scripts.vl2"],"scripts/clientTasks.cs":["scripts.vl2"],"scripts/commanderMap.cs":["scripts.vl2"],"scripts/commanderMapHelpText.cs":["scripts.vl2"],"scripts/commanderMapIcons.cs":["scripts.vl2"],"scripts/commanderProfiles.cs":["scripts.vl2"],"scripts/commonDialogs.cs":["scripts.vl2"],"scripts/controlDefaults.cs":["scripts.vl2"],"scripts/creditsGui.cs":["scripts.vl2"],"scripts/creditsText.cs":["scripts.vl2"],"scripts/cursors.cs":["scripts.vl2"],"scripts/damageTypes.cs":["scripts.vl2"],"scripts/deathMessages.cs":["scripts.vl2"],"scripts/debuggerGui.cs":["scripts.vl2"],"scripts/defaultGame.cs":["scripts.vl2"],"scripts/deployables.cs":["scripts.vl2"],"scripts/depthSort.cs":["scripts.vl2"],"scripts/desertPropMap.cs":["scripts.vl2"],"scripts/editor.bind.cs":["scripts.vl2"],"scripts/editor.cs":["scripts.vl2"],"scripts/editorRender.cs":["scripts.vl2"],"scripts/environmentals.cs":["scripts.vl2"],"scripts/forceField.cs":["scripts.vl2"],"scripts/gameBase.cs":["scripts.vl2"],"scripts/gameCanvas.cs":["scripts.vl2"],"scripts/graphBuild.cs":["scripts.vl2"],"scripts/heavy_male.cs":["scripts.vl2"],"scripts/help.cs":["scripts.vl2"],"scripts/helpGuiText.cs":["scripts.vl2"],"scripts/hud.cs":["scripts.vl2"],"scripts/icePropMap.cs":["scripts.vl2"],"scripts/inventory.cs":["scripts.vl2"],"scripts/inventoryHud.cs":["scripts.vl2"],"scripts/item.cs":["scripts.vl2"],"scripts/joystickBind.cs":["scripts.vl2"],"scripts/lavaPropMap.cs":["scripts.vl2"],"scripts/light_female.cs":["scripts.vl2"],"scripts/light_male.cs":["scripts.vl2"],"scripts/lightning.cs":["scripts.vl2"],"scripts/liquidProfiles.cs":["scripts.vl2"],"scripts/loadingGui.cs":["scripts.vl2"],"scripts/lushPropMap.cs":["scripts.vl2"],"scripts/markers.cs":["scripts.vl2"],"scripts/medium_female.cs":["scripts.vl2"],"scripts/medium_male.cs":["scripts.vl2"],"scripts/message.cs":["scripts.vl2"],"scripts/navGraph.cs":["scripts.vl2"],"scripts/objectiveHud.cs":["scripts.vl2"],"scripts/pack.cs":["scripts.vl2"],"scripts/packs/ELFbarrelPack.cs":["scripts.vl2"],"scripts/packs/TR2energypack.cs":["TR2final105-server.vl2"],"scripts/packs/aabarrelPack.cs":["scripts.vl2"],"scripts/packs/ammopack.cs":["scripts.vl2"],"scripts/packs/cloakingpack.cs":["scripts.vl2"],"scripts/packs/energypack.cs":["scripts.vl2"],"scripts/packs/missilebarrelPack.cs":["scripts.vl2"],"scripts/packs/mortarBarrelPack.cs":["scripts.vl2"],"scripts/packs/plasmabarrelPack.cs":["scripts.vl2"],"scripts/packs/repairpack.cs":["scripts.vl2"],"scripts/packs/satchelCharge.cs":["scripts.vl2"],"scripts/packs/sensorjammerpack.cs":["scripts.vl2"],"scripts/packs/shieldpack.cs":["scripts.vl2"],"scripts/particleDummies.cs":["scripts.vl2"],"scripts/particleEmitter.cs":["scripts.vl2"],"scripts/player.cs":["scripts.vl2"],"scripts/power.cs":["scripts.vl2"],"scripts/projectiles.cs":["scripts.vl2"],"scripts/recordings.cs":["scripts.vl2"],"scripts/redbook.cs":["scripts.vl2"],"scripts/scoreList.cs":["scripts.vl2"],"scripts/scoreScreen.cs":["scripts.vl2"],"scripts/server.cs":["scripts.vl2"],"scripts/serverAudio.cs":["scripts.vl2"],"scripts/serverCommanderMap.cs":["scripts.vl2"],"scripts/serverDefaults.cs":["scripts.vl2"],"scripts/serverTasks.cs":["scripts.vl2"],"scripts/simGroup.cs":["scripts.vl2"],"scripts/spdialog.cs":["scripts.vl2"],"scripts/staticShape.cs":["scripts.vl2"],"scripts/station.cs":["scripts.vl2"],"scripts/stationSetInv.cs":["scripts.vl2"],"scripts/targetManager.cs":["scripts.vl2"],"scripts/teribaen/arena_support_info.txt":["zAddOnsVL2s/arenaSupport.vl2"],"scripts/trigger.cs":["scripts.vl2"],"scripts/turret.cs":["scripts.vl2"],"scripts/turrets/ELFBarrelLarge.cs":["scripts.vl2"],"scripts/turrets/aaBarrelLarge.cs":["scripts.vl2"],"scripts/turrets/indoorDeployableBarrel.cs":["scripts.vl2"],"scripts/turrets/missileBarrelLarge.cs":["scripts.vl2"],"scripts/turrets/mortarBarrelLarge.cs":["scripts.vl2"],"scripts/turrets/outdoorDeployableBarrel.cs":["scripts.vl2"],"scripts/turrets/plasmaBarrelLarge.cs":["scripts.vl2"],"scripts/turrets/sentryTurret.cs":["scripts.vl2"],"scripts/vehicles/clientVehicleHud.cs":["scripts.vl2"],"scripts/vehicles/serverVehicleHud.cs":["scripts.vl2"],"scripts/vehicles/vehicle.cs":["scripts.vl2"],"scripts/vehicles/vehicle_bomber.cs":["scripts.vl2"],"scripts/vehicles/vehicle_havoc.cs":["scripts.vl2"],"scripts/vehicles/vehicle_mpb.cs":["scripts.vl2"],"scripts/vehicles/vehicle_shrike.cs":["scripts.vl2"],"scripts/vehicles/vehicle_spec_fx.cs":["scripts.vl2"],"scripts/vehicles/vehicle_tank.cs":["scripts.vl2"],"scripts/vehicles/vehicle_wildcat.cs":["scripts.vl2"],"scripts/voiceBinds.cs":["scripts.vl2"],"scripts/voiceChat.cs":["scripts.vl2"],"scripts/waveProfiles.cs":["scripts.vl2"],"scripts/weapTurretCode.cs":["scripts.vl2"],"scripts/weapons.cs":["scripts.vl2"],"scripts/weapons/ELFGun.cs":["scripts.vl2"],"scripts/weapons/TR2chaingun.cs":["TR2final105-server.vl2"],"scripts/weapons/TR2disc.cs":["TR2final105-server.vl2"],"scripts/weapons/TR2grenade.cs":["TR2final105-server.vl2"],"scripts/weapons/TR2grenadeLauncher.cs":["TR2final105-server.vl2"],"scripts/weapons/TR2mortar.cs":["TR2final105-server.vl2"],"scripts/weapons/TR2shockLance.cs":["TR2final105-server.vl2"],"scripts/weapons/TR2targetingLaser.cs":["TR2final105-server.vl2"],"scripts/weapons/blaster.cs":["scripts.vl2"],"scripts/weapons/cameraGrenade.cs":["scripts.vl2"],"scripts/weapons/chaingun.cs":["scripts.vl2"],"scripts/weapons/concussionGrenade.cs":["scripts.vl2"],"scripts/weapons/disc.cs":["scripts.vl2"],"scripts/weapons/flareGrenade.cs":["scripts.vl2"],"scripts/weapons/flashGrenade.cs":["scripts.vl2"],"scripts/weapons/grenade.cs":["scripts.vl2"],"scripts/weapons/grenadeLauncher.cs":["scripts.vl2"],"scripts/weapons/mine.cs":["scripts.vl2"],"scripts/weapons/missileLauncher.cs":["scripts.vl2"],"scripts/weapons/mortar.cs":["scripts.vl2"],"scripts/weapons/plasma.cs":["scripts.vl2"],"scripts/weapons/shockLance.cs":["scripts.vl2"],"scripts/weapons/sniperRifle.cs":["scripts.vl2"],"scripts/weapons/targetingLaser.cs":["scripts.vl2"],"scripts/weather.cs":["scripts.vl2"],"scripts/webbrowser.cs":["scripts.vl2"],"scripts/webemail.cs":["scripts.vl2"],"scripts/webforums.cs":["scripts.vl2"],"scripts/weblinks.cs":["scripts.vl2"],"scripts/webnews.cs":["scripts.vl2"],"scripts/webstuff.cs":["scripts.vl2"],"scripts/webtest.cs":["scripts.vl2"],"shapes/C_BaseLoPro.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/TR2flag.dts":["TR2final105-client.vl2"],"shapes/TR2heavy_male.dts":["TR2final105-client.vl2"],"shapes/TR2heavy_male_back.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_celdance.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_celflex.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_celjump.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_celsalute.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_celtaunt.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_celwave.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_dieback.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_diechest.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_dieforward.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_diehead.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_dieknees.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_dieleglf.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_dielegrt.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_diesidelf.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_diesidert.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_dieslump.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_diespin.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_fall.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_forward.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_jet.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_jump.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_land.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_root.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_side.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_ski.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_standjump.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_tauntbest.dsq":["TR2final105-client.vl2"],"shapes/TR2heavy_male_tauntimp.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female.dts":["TR2final105-client.vl2"],"shapes/TR2light_female_back.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_celbow.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_celdance.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_celsalute.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_celwave.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_dieback.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_diechest.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_dieforward.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_diehead.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_dieknees.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_dieleglf.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_dielegrt.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_diesidelf.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_diesidert.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_dieslump.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_diespin.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_fall.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_forward.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_jet.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_jump.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_land.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_root.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_side.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_ski.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_standjump.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_tauntbest.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_tauntbutt.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_tauntimp.dsq":["TR2final105-client.vl2"],"shapes/TR2light_female_tauntkiss.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male.dts":["TR2final105-client.vl2"],"shapes/TR2light_male_back.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_fall.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_forward.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_jet.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_jump.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_land.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_root.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_side.dsq":["TR2final105-client.vl2"],"shapes/TR2light_male_ski.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female.dts":["TR2final105-client.vl2"],"shapes/TR2medium_female_back.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_celbow.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_celdisco.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_celsalute.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_celwave.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_dieback.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_diechest.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_dieforward.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_diehead.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_dieknees.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_dieleglf.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_dielegrt.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_diesidelf.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_diesidert.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_dieslump.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_diespin.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_fall.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_forward.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_jet.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_jump.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_land.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_root.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_side.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_ski.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_standjump.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_tauntbest.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_tauntbutt.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_tauntimp.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_female_tauntkiss.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male.dts":["TR2final105-client.vl2"],"shapes/TR2medium_male_back.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_celdance.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_celflex.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_celrocky.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_celsalute.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_celtaunt.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_celwave.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_dieback.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_diechest.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_dieforward.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_diehead.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_dieknees.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_dieleglf.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_dielegrt.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_diesidelf.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_diesidert.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_dieslump.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_diespin.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_fall.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_forward.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_jet.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_jump.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_land.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_root.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_side.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_sitting.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_ski.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_standjump.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_tauntbest.dsq":["TR2final105-client.vl2"],"shapes/TR2medium_male_tauntimp.dsq":["TR2final105-client.vl2"],"shapes/TR2weapon_chaingun.dts":["TR2final105-client.vl2"],"shapes/TR2weapon_disc.dts":["TR2final105-client.vl2"],"shapes/TR2weapon_grenade_launcher.dts":["TR2final105-client.vl2"],"shapes/TR2weapon_mortar.dts":["TR2final105-client.vl2"],"shapes/TR2weapon_shocklance.dts":["TR2final105-client.vl2"],"shapes/ammo_chaingun.dts":["shapes.vl2"],"shapes/ammo_disc.dts":["shapes.vl2"],"shapes/ammo_grenade.dts":["shapes.vl2"],"shapes/ammo_mine.dts":["shapes.vl2"],"shapes/ammo_missile.dts":["shapes.vl2"],"shapes/ammo_mortar.dts":["shapes.vl2"],"shapes/ammo_plasma.dts":["shapes.vl2"],"shapes/banner_honor.dts":["shapes.vl2"],"shapes/banner_strength.dts":["shapes.vl2"],"shapes/banner_unity.dts":["shapes.vl2"],"shapes/beacon.dts":["shapes.vl2"],"shapes/billboard_1.dts":["TR2final105-client.vl2"],"shapes/billboard_2.dts":["TR2final105-client.vl2"],"shapes/billboard_3.dts":["TR2final105-client.vl2"],"shapes/billboard_4.dts":["TR2final105-client.vl2"],"shapes/bio_player_debris.dts":["shapes.vl2"],"shapes/bioderm_heavy.dts":["shapes.vl2"],"shapes/bioderm_heavy_back.dsq":["shapes.vl2"],"shapes/bioderm_heavy_celflex2.dsq":["shapes.vl2"],"shapes/bioderm_heavy_celgora.dsq":["shapes.vl2"],"shapes/bioderm_heavy_celjump.dsq":["shapes.vl2"],"shapes/bioderm_heavy_celroar.dsq":["shapes.vl2"],"shapes/bioderm_heavy_celsalute.dsq":["shapes.vl2"],"shapes/bioderm_heavy_celyeah.dsq":["shapes.vl2"],"shapes/bioderm_heavy_dieback.dsq":["shapes.vl2"],"shapes/bioderm_heavy_diechest.dsq":["shapes.vl2"],"shapes/bioderm_heavy_dieforward.dsq":["shapes.vl2"],"shapes/bioderm_heavy_diehead.dsq":["shapes.vl2"],"shapes/bioderm_heavy_dieknees.dsq":["shapes.vl2"],"shapes/bioderm_heavy_dieleglft.dsq":["shapes.vl2"],"shapes/bioderm_heavy_dielegrt.dsq":["shapes.vl2"],"shapes/bioderm_heavy_diesidelft.dsq":["shapes.vl2"],"shapes/bioderm_heavy_diesidert.dsq":["shapes.vl2"],"shapes/bioderm_heavy_dieslump.dsq":["shapes.vl2"],"shapes/bioderm_heavy_diespin.dsq":["shapes.vl2"],"shapes/bioderm_heavy_fall.dsq":["shapes.vl2"],"shapes/bioderm_heavy_forward.dsq":["shapes.vl2"],"shapes/bioderm_heavy_head.dsq":["shapes.vl2"],"shapes/bioderm_heavy_headside.dsq":["shapes.vl2"],"shapes/bioderm_heavy_idlepda.dsq":["shapes.vl2"],"shapes/bioderm_heavy_jet.dsq":["shapes.vl2"],"shapes/bioderm_heavy_jump.dsq":["shapes.vl2"],"shapes/bioderm_heavy_land.dsq":["shapes.vl2"],"shapes/bioderm_heavy_lookde.dsq":["shapes.vl2"],"shapes/bioderm_heavy_lookms.dsq":["shapes.vl2"],"shapes/bioderm_heavy_looknw.dsq":["shapes.vl2"],"shapes/bioderm_heavy_recoilde.dsq":["shapes.vl2"],"shapes/bioderm_heavy_root.dsq":["shapes.vl2"],"shapes/bioderm_heavy_side.dsq":["shapes.vl2"],"shapes/bioderm_heavy_ski.dsq":["shapes.vl2"],"shapes/bioderm_heavy_standjump.dsq":["shapes.vl2"],"shapes/bioderm_heavy_tauntbest.dsq":["shapes.vl2"],"shapes/bioderm_heavy_tauntbull.dsq":["shapes.vl2"],"shapes/bioderm_light.dts":["shapes.vl2"],"shapes/bioderm_light_back.dsq":["shapes.vl2"],"shapes/bioderm_light_celflex2.dsq":["shapes.vl2"],"shapes/bioderm_light_celgora.dsq":["shapes.vl2"],"shapes/bioderm_light_celjump.dsq":["shapes.vl2"],"shapes/bioderm_light_celroar.dsq":["shapes.vl2"],"shapes/bioderm_light_celsalute.dsq":["shapes.vl2"],"shapes/bioderm_light_celyeah.dsq":["shapes.vl2"],"shapes/bioderm_light_dieback.dsq":["shapes.vl2"],"shapes/bioderm_light_diechest.dsq":["shapes.vl2"],"shapes/bioderm_light_dieforward.dsq":["shapes.vl2"],"shapes/bioderm_light_diehead.dsq":["shapes.vl2"],"shapes/bioderm_light_dieknees.dsq":["shapes.vl2"],"shapes/bioderm_light_dieleglft.dsq":["shapes.vl2"],"shapes/bioderm_light_dielegrt.dsq":["shapes.vl2"],"shapes/bioderm_light_diesidelft.dsq":["shapes.vl2"],"shapes/bioderm_light_diesidert.dsq":["shapes.vl2"],"shapes/bioderm_light_dieslump.dsq":["shapes.vl2"],"shapes/bioderm_light_diespin.dsq":["shapes.vl2"],"shapes/bioderm_light_fall.dsq":["shapes.vl2"],"shapes/bioderm_light_forward.dsq":["shapes.vl2"],"shapes/bioderm_light_head.dsq":["shapes.vl2"],"shapes/bioderm_light_headside.dsq":["shapes.vl2"],"shapes/bioderm_light_idlepda.dsq":["shapes.vl2"],"shapes/bioderm_light_jet.dsq":["shapes.vl2"],"shapes/bioderm_light_jump.dsq":["shapes.vl2"],"shapes/bioderm_light_land.dsq":["shapes.vl2"],"shapes/bioderm_light_lookde.dsq":["shapes.vl2"],"shapes/bioderm_light_lookms.dsq":["shapes.vl2"],"shapes/bioderm_light_looknw.dsq":["shapes.vl2"],"shapes/bioderm_light_recoilde.dsq":["shapes.vl2"],"shapes/bioderm_light_root.dsq":["shapes.vl2"],"shapes/bioderm_light_scoutroot.dsq":["shapes.vl2"],"shapes/bioderm_light_side.dsq":["shapes.vl2"],"shapes/bioderm_light_sitting.dsq":["shapes.vl2"],"shapes/bioderm_light_ski.dsq":["shapes.vl2"],"shapes/bioderm_light_standjump.dsq":["shapes.vl2"],"shapes/bioderm_light_tauntbest.dsq":["shapes.vl2"],"shapes/bioderm_light_tauntbull.dsq":["shapes.vl2"],"shapes/bioderm_medium.dts":["shapes.vl2"],"shapes/bioderm_medium_back.dsq":["shapes.vl2"],"shapes/bioderm_medium_celflex2.dsq":["shapes.vl2"],"shapes/bioderm_medium_celgora.dsq":["shapes.vl2"],"shapes/bioderm_medium_celjump.dsq":["shapes.vl2"],"shapes/bioderm_medium_celroar.dsq":["shapes.vl2"],"shapes/bioderm_medium_celsalute.dsq":["shapes.vl2"],"shapes/bioderm_medium_celyeah.dsq":["shapes.vl2"],"shapes/bioderm_medium_dieback.dsq":["shapes.vl2"],"shapes/bioderm_medium_diechest.dsq":["shapes.vl2"],"shapes/bioderm_medium_dieforward.dsq":["shapes.vl2"],"shapes/bioderm_medium_diehead.dsq":["shapes.vl2"],"shapes/bioderm_medium_dieknees.dsq":["shapes.vl2"],"shapes/bioderm_medium_dieleglft.dsq":["shapes.vl2"],"shapes/bioderm_medium_dielegrt.dsq":["shapes.vl2"],"shapes/bioderm_medium_diesidelft.dsq":["shapes.vl2"],"shapes/bioderm_medium_diesidert.dsq":["shapes.vl2"],"shapes/bioderm_medium_dieslump.dsq":["shapes.vl2"],"shapes/bioderm_medium_diespin.dsq":["shapes.vl2"],"shapes/bioderm_medium_fall.dsq":["shapes.vl2"],"shapes/bioderm_medium_forward.dsq":["shapes.vl2"],"shapes/bioderm_medium_head.dsq":["shapes.vl2"],"shapes/bioderm_medium_headside.dsq":["shapes.vl2"],"shapes/bioderm_medium_idlepda.dsq":["shapes.vl2"],"shapes/bioderm_medium_jet.dsq":["shapes.vl2"],"shapes/bioderm_medium_jump.dsq":["shapes.vl2"],"shapes/bioderm_medium_land.dsq":["shapes.vl2"],"shapes/bioderm_medium_lookde.dsq":["shapes.vl2"],"shapes/bioderm_medium_lookms.dsq":["shapes.vl2"],"shapes/bioderm_medium_looknw.dsq":["shapes.vl2"],"shapes/bioderm_medium_recoilde.dsq":["shapes.vl2"],"shapes/bioderm_medium_root.dsq":["shapes.vl2"],"shapes/bioderm_medium_side.dsq":["shapes.vl2"],"shapes/bioderm_medium_sitting.dsq":["shapes.vl2"],"shapes/bioderm_medium_ski.dsq":["shapes.vl2"],"shapes/bioderm_medium_standjump.dsq":["shapes.vl2"],"shapes/bioderm_medium_tauntbest.dsq":["shapes.vl2"],"shapes/bioderm_medium_tauntbull.dsq":["shapes.vl2"],"shapes/bmiscf.dts":["shapes.vl2"],"shapes/bomb.dts":["shapes.vl2"],"shapes/bombers_eye.dts":["shapes.vl2"],"shapes/borg1.dts":["shapes.vl2"],"shapes/borg11.dts":["Classic_maps_v1.vl2"],"shapes/borg12.dts":["shapes.vl2"],"shapes/borg13.dts":["shapes.vl2"],"shapes/borg15.dts":["shapes.vl2"],"shapes/borg16-Autumn.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/borg16.dts":["shapes.vl2"],"shapes/borg17.dts":["shapes.vl2"],"shapes/borg18.dts":["shapes.vl2"],"shapes/borg19-Autumn.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/borg19.dts":["shapes.vl2"],"shapes/borg2.dts":["shapes.vl2"],"shapes/borg20.dts":["shapes.vl2"],"shapes/borg23.dts":["shapes.vl2"],"shapes/borg25.dts":["shapes.vl2"],"shapes/borg3.dts":["shapes.vl2"],"shapes/borg31.dts":["shapes.vl2"],"shapes/borg32.dts":["shapes.vl2"],"shapes/borg33.dts":["shapes.vl2"],"shapes/borg34.dts":["shapes.vl2"],"shapes/borg4.dts":["shapes.vl2"],"shapes/borg5.dts":["shapes.vl2"],"shapes/borg6.dts":["shapes.vl2"],"shapes/borg7.dts":["shapes.vl2"],"shapes/borg8.dts":["shapes.vl2"],"shapes/camera.dts":["shapes.vl2"],"shapes/chaingun_shot.dts":["shapes.vl2"],"shapes/debris_generic.dts":["shapes.vl2"],"shapes/debris_generic_small.dts":["shapes.vl2"],"shapes/debris_player.dts":["shapes.vl2"],"shapes/deploy_ammo.dts":["shapes.vl2"],"shapes/deploy_inventory.dts":["shapes.vl2"],"shapes/deploy_sensor_motion.dts":["shapes.vl2"],"shapes/deploy_sensor_pulse.dts":["shapes.vl2"],"shapes/disc.dts":["shapes.vl2"],"shapes/disc_explosion.dts":["shapes.vl2"],"shapes/dmiscf.dts":["shapes.vl2"],"shapes/dorg15.dts":["shapes.vl2"],"shapes/dorg16.dts":["shapes.vl2"],"shapes/dorg17.dts":["shapes.vl2"],"shapes/dorg18.dts":["shapes.vl2"],"shapes/dorg19.dts":["shapes.vl2"],"shapes/effect_plasma_explosion.dts":["shapes.vl2"],"shapes/energy_bolt.dts":["shapes.vl2"],"shapes/energy_explosion.dts":["shapes.vl2"],"shapes/ext_flagstand.dts":["shapes.vl2"],"shapes/flag.dts":["shapes.vl2"],"shapes/goal_back.dts":["TR2final105-client.vl2"],"shapes/goal_panel.dts":["TR2final105-client.vl2"],"shapes/goal_side.dts":["TR2final105-client.vl2"],"shapes/goal_top.dts":["TR2final105-client.vl2"],"shapes/gold_goal_back.dts":["TR2final105-client.vl2"],"shapes/gold_goal_side.dts":["TR2final105-client.vl2"],"shapes/gold_goal_top.dts":["TR2final105-client.vl2"],"shapes/golden_pole.dts":["TR2final105-client.vl2"],"shapes/gravemarker_1.dts":["shapes.vl2"],"shapes/grenade.dts":["shapes.vl2"],"shapes/grenade_flare.dts":["shapes.vl2"],"shapes/grenade_flash.dts":["shapes.vl2"],"shapes/grenade_projectile.dts":["shapes.vl2"],"shapes/heavy_male.dts":["shapes.vl2"],"shapes/heavy_male_back.dsq":["shapes.vl2"],"shapes/heavy_male_celdance.dsq":["shapes.vl2"],"shapes/heavy_male_celflex.dsq":["shapes.vl2"],"shapes/heavy_male_celjump.dsq":["shapes.vl2"],"shapes/heavy_male_celsalute.dsq":["shapes.vl2"],"shapes/heavy_male_celtaunt.dsq":["shapes.vl2"],"shapes/heavy_male_celwave.dsq":["shapes.vl2"],"shapes/heavy_male_dead.dts":["shapes.vl2"],"shapes/heavy_male_dieback.dsq":["shapes.vl2"],"shapes/heavy_male_diechest.dsq":["shapes.vl2"],"shapes/heavy_male_dieforward.dsq":["shapes.vl2"],"shapes/heavy_male_diehead.dsq":["shapes.vl2"],"shapes/heavy_male_dieknees.dsq":["shapes.vl2"],"shapes/heavy_male_dieleglf.dsq":["shapes.vl2"],"shapes/heavy_male_dielegrt.dsq":["shapes.vl2"],"shapes/heavy_male_diesidelf.dsq":["shapes.vl2"],"shapes/heavy_male_diesidert.dsq":["shapes.vl2"],"shapes/heavy_male_dieslump.dsq":["shapes.vl2"],"shapes/heavy_male_diespin.dsq":["shapes.vl2"],"shapes/heavy_male_fall.dsq":["shapes.vl2"],"shapes/heavy_male_forward.dsq":["shapes.vl2"],"shapes/heavy_male_head.dsq":["shapes.vl2"],"shapes/heavy_male_headside.dsq":["shapes.vl2"],"shapes/heavy_male_idlepda.dsq":["shapes.vl2"],"shapes/heavy_male_jet.dsq":["shapes.vl2"],"shapes/heavy_male_jump.dsq":["shapes.vl2"],"shapes/heavy_male_land.dsq":["shapes.vl2"],"shapes/heavy_male_lookde.dsq":["shapes.vl2"],"shapes/heavy_male_lookms.dsq":["shapes.vl2"],"shapes/heavy_male_looknw.dsq":["shapes.vl2"],"shapes/heavy_male_recoilde.dsq":["shapes.vl2"],"shapes/heavy_male_root.dsq":["shapes.vl2"],"shapes/heavy_male_side.dsq":["shapes.vl2"],"shapes/heavy_male_ski.dsq":["shapes.vl2"],"shapes/heavy_male_standjump.dsq":["shapes.vl2"],"shapes/heavy_male_tauntbest.dsq":["shapes.vl2"],"shapes/heavy_male_tauntimp.dsq":["shapes.vl2"],"shapes/huntersflag.dts":["shapes.vl2"],"shapes/int_flagstand.dts":["shapes.vl2"],"shapes/light_female.dts":["shapes.vl2"],"shapes/light_female_back.dsq":["shapes.vl2"],"shapes/light_female_celbow.dsq":["shapes.vl2"],"shapes/light_female_celdance.dsq":["shapes.vl2"],"shapes/light_female_celsalute.dsq":["shapes.vl2"],"shapes/light_female_celwave.dsq":["shapes.vl2"],"shapes/light_female_dieback.dsq":["shapes.vl2"],"shapes/light_female_diechest.dsq":["shapes.vl2"],"shapes/light_female_dieforward.dsq":["shapes.vl2"],"shapes/light_female_diehead.dsq":["shapes.vl2"],"shapes/light_female_dieknees.dsq":["shapes.vl2"],"shapes/light_female_dieleglf.dsq":["shapes.vl2"],"shapes/light_female_dielegrt.dsq":["shapes.vl2"],"shapes/light_female_diesidelf.dsq":["shapes.vl2"],"shapes/light_female_diesidert.dsq":["shapes.vl2"],"shapes/light_female_dieslump.dsq":["shapes.vl2"],"shapes/light_female_diespin.dsq":["shapes.vl2"],"shapes/light_female_fall.dsq":["shapes.vl2"],"shapes/light_female_forward.dsq":["shapes.vl2"],"shapes/light_female_head.dsq":["shapes.vl2"],"shapes/light_female_headside.dsq":["shapes.vl2"],"shapes/light_female_idlepda.dsq":["shapes.vl2"],"shapes/light_female_jet.dsq":["shapes.vl2"],"shapes/light_female_jump.dsq":["shapes.vl2"],"shapes/light_female_land.dsq":["shapes.vl2"],"shapes/light_female_lookde.dsq":["shapes.vl2"],"shapes/light_female_lookms.dsq":["shapes.vl2"],"shapes/light_female_looknw.dsq":["shapes.vl2"],"shapes/light_female_looksn.dsq":["shapes.vl2"],"shapes/light_female_recoilde.dsq":["shapes.vl2"],"shapes/light_female_root.dsq":["shapes.vl2"],"shapes/light_female_scoutroot.dsq":["shapes.vl2"],"shapes/light_female_side.dsq":["shapes.vl2"],"shapes/light_female_sitting.dsq":["shapes.vl2"],"shapes/light_female_ski.dsq":["shapes.vl2"],"shapes/light_female_standjump.dsq":["shapes.vl2"],"shapes/light_female_tauntbest.dsq":["shapes.vl2"],"shapes/light_female_tauntbutt.dsq":["shapes.vl2"],"shapes/light_female_tauntimp.dsq":["shapes.vl2"],"shapes/light_female_tauntkiss.dsq":["shapes.vl2"],"shapes/light_male.dts":["shapes.vl2"],"shapes/light_male_back.dsq":["shapes.vl2"],"shapes/light_male_celdisco.dsq":["shapes.vl2"],"shapes/light_male_celflex.dsq":["shapes.vl2"],"shapes/light_male_celrocky.dsq":["shapes.vl2"],"shapes/light_male_celsalute.dsq":["shapes.vl2"],"shapes/light_male_celtaunt.dsq":["shapes.vl2"],"shapes/light_male_celwave.dsq":["shapes.vl2"],"shapes/light_male_dead.dts":["shapes.vl2"],"shapes/light_male_dieback.dsq":["shapes.vl2"],"shapes/light_male_diechest.dsq":["shapes.vl2"],"shapes/light_male_dieforward.dsq":["shapes.vl2"],"shapes/light_male_diehead.dsq":["shapes.vl2"],"shapes/light_male_dieknees.dsq":["shapes.vl2"],"shapes/light_male_dieleglf.dsq":["shapes.vl2"],"shapes/light_male_dielegrt.dsq":["shapes.vl2"],"shapes/light_male_diesidelf.dsq":["shapes.vl2"],"shapes/light_male_diesidert.dsq":["shapes.vl2"],"shapes/light_male_dieslump.dsq":["shapes.vl2"],"shapes/light_male_diespin.dsq":["shapes.vl2"],"shapes/light_male_fall.dsq":["shapes.vl2"],"shapes/light_male_forward.dsq":["shapes.vl2"],"shapes/light_male_head.dsq":["shapes.vl2"],"shapes/light_male_headside.dsq":["shapes.vl2"],"shapes/light_male_idlepda.dsq":["shapes.vl2"],"shapes/light_male_jet.dsq":["shapes.vl2"],"shapes/light_male_jump.dsq":["shapes.vl2"],"shapes/light_male_land.dsq":["shapes.vl2"],"shapes/light_male_lookde.dsq":["shapes.vl2"],"shapes/light_male_lookms.dsq":["shapes.vl2"],"shapes/light_male_looknw.dsq":["shapes.vl2"],"shapes/light_male_looksn.dsq":["shapes.vl2"],"shapes/light_male_newland.dsq":["shapes.vl2"],"shapes/light_male_recoilde.dsq":["shapes.vl2"],"shapes/light_male_root.dsq":["shapes.vl2"],"shapes/light_male_scoutroot.dsq":["shapes.vl2"],"shapes/light_male_side.dsq":["shapes.vl2"],"shapes/light_male_sitting.dsq":["shapes.vl2"],"shapes/light_male_ski.dsq":["shapes.vl2"],"shapes/light_male_standjump.dsq":["shapes.vl2"],"shapes/light_male_tauntbest.dsq":["shapes.vl2"],"shapes/light_male_tauntimp.dsq":["shapes.vl2"],"shapes/medium_female.dts":["shapes.vl2"],"shapes/medium_female_back.dsq":["shapes.vl2"],"shapes/medium_female_celbow.dsq":["shapes.vl2"],"shapes/medium_female_celdisco.dsq":["shapes.vl2"],"shapes/medium_female_celsalute.dsq":["shapes.vl2"],"shapes/medium_female_celwave.dsq":["shapes.vl2"],"shapes/medium_female_dieback.dsq":["shapes.vl2"],"shapes/medium_female_diechest.dsq":["shapes.vl2"],"shapes/medium_female_dieforward.dsq":["shapes.vl2"],"shapes/medium_female_diehead.dsq":["shapes.vl2"],"shapes/medium_female_dieknees.dsq":["shapes.vl2"],"shapes/medium_female_dieleglf.dsq":["shapes.vl2"],"shapes/medium_female_dielegrt.dsq":["shapes.vl2"],"shapes/medium_female_diesidelf.dsq":["shapes.vl2"],"shapes/medium_female_diesidert.dsq":["shapes.vl2"],"shapes/medium_female_dieslump.dsq":["shapes.vl2"],"shapes/medium_female_diespin.dsq":["shapes.vl2"],"shapes/medium_female_fall.dsq":["shapes.vl2"],"shapes/medium_female_forward.dsq":["shapes.vl2"],"shapes/medium_female_head.dsq":["shapes.vl2"],"shapes/medium_female_headside.dsq":["shapes.vl2"],"shapes/medium_female_idlepda.dsq":["shapes.vl2"],"shapes/medium_female_jet.dsq":["shapes.vl2"],"shapes/medium_female_jump.dsq":["shapes.vl2"],"shapes/medium_female_land.dsq":["shapes.vl2"],"shapes/medium_female_lookde.dsq":["shapes.vl2"],"shapes/medium_female_lookms.dsq":["shapes.vl2"],"shapes/medium_female_looknw.dsq":["shapes.vl2"],"shapes/medium_female_looksn.dsq":["shapes.vl2"],"shapes/medium_female_recoilde.dsq":["shapes.vl2"],"shapes/medium_female_root.dsq":["shapes.vl2"],"shapes/medium_female_side.dsq":["shapes.vl2"],"shapes/medium_female_sitting.dsq":["shapes.vl2"],"shapes/medium_female_ski.dsq":["shapes.vl2"],"shapes/medium_female_standjump.dsq":["shapes.vl2"],"shapes/medium_female_tauntbest.dsq":["shapes.vl2"],"shapes/medium_female_tauntbutt.dsq":["shapes.vl2"],"shapes/medium_female_tauntimp.dsq":["shapes.vl2"],"shapes/medium_female_tauntkiss.dsq":["shapes.vl2"],"shapes/medium_male.dts":["shapes.vl2"],"shapes/medium_male_back.dsq":["shapes.vl2"],"shapes/medium_male_celdance.dsq":["shapes.vl2"],"shapes/medium_male_celflex.dsq":["shapes.vl2"],"shapes/medium_male_celrocky.dsq":["shapes.vl2"],"shapes/medium_male_celsalute.dsq":["shapes.vl2"],"shapes/medium_male_celtaunt.dsq":["shapes.vl2"],"shapes/medium_male_celwave.dsq":["shapes.vl2"],"shapes/medium_male_dead.dts":["shapes.vl2"],"shapes/medium_male_dieback.dsq":["shapes.vl2"],"shapes/medium_male_diechest.dsq":["shapes.vl2"],"shapes/medium_male_dieforward.dsq":["shapes.vl2"],"shapes/medium_male_diehead.dsq":["shapes.vl2"],"shapes/medium_male_dieknees.dsq":["shapes.vl2"],"shapes/medium_male_dieleglf.dsq":["shapes.vl2"],"shapes/medium_male_dielegrt.dsq":["shapes.vl2"],"shapes/medium_male_diesidelf.dsq":["shapes.vl2"],"shapes/medium_male_diesidert.dsq":["shapes.vl2"],"shapes/medium_male_dieslump.dsq":["shapes.vl2"],"shapes/medium_male_diespin.dsq":["shapes.vl2"],"shapes/medium_male_fall.dsq":["shapes.vl2"],"shapes/medium_male_forward.dsq":["shapes.vl2"],"shapes/medium_male_head.dsq":["shapes.vl2"],"shapes/medium_male_headside.dsq":["shapes.vl2"],"shapes/medium_male_idlepda.dsq":["shapes.vl2"],"shapes/medium_male_jet.dsq":["shapes.vl2"],"shapes/medium_male_jump.dsq":["shapes.vl2"],"shapes/medium_male_land.dsq":["shapes.vl2"],"shapes/medium_male_lookde.dsq":["shapes.vl2"],"shapes/medium_male_lookms.dsq":["shapes.vl2"],"shapes/medium_male_looknw.dsq":["shapes.vl2"],"shapes/medium_male_looksn.dsq":["shapes.vl2"],"shapes/medium_male_recoilde.dsq":["shapes.vl2"],"shapes/medium_male_root.dsq":["shapes.vl2"],"shapes/medium_male_side.dsq":["shapes.vl2"],"shapes/medium_male_sitting.dsq":["shapes.vl2"],"shapes/medium_male_ski.dsq":["shapes.vl2"],"shapes/medium_male_standjump.dsq":["shapes.vl2"],"shapes/medium_male_tauntbest.dsq":["shapes.vl2"],"shapes/medium_male_tauntimp.dsq":["shapes.vl2"],"shapes/mine.dts":["shapes.vl2"],"shapes/mortar_explosion.dts":["shapes.vl2"],"shapes/mortar_projectile.dts":["shapes.vl2"],"shapes/nexus_effect.dts":["shapes.vl2"],"shapes/nexusbase.dts":["shapes.vl2"],"shapes/nexuscap.dts":["shapes.vl2"],"shapes/octahedron.dts":["shapes.vl2"],"shapes/pack_barrel_aa.dts":["shapes.vl2"],"shapes/pack_barrel_elf.dts":["shapes.vl2"],"shapes/pack_barrel_fusion.dts":["shapes.vl2"],"shapes/pack_barrel_missile.dts":["shapes.vl2"],"shapes/pack_barrel_mortar.dts":["shapes.vl2"],"shapes/pack_deploy_ammo.dts":["shapes.vl2"],"shapes/pack_deploy_inventory.dts":["shapes.vl2"],"shapes/pack_deploy_sensor_motion.dts":["shapes.vl2"],"shapes/pack_deploy_sensor_pulse.dts":["shapes.vl2"],"shapes/pack_deploy_turreti.dts":["shapes.vl2"],"shapes/pack_deploy_turreto.dts":["shapes.vl2"],"shapes/pack_upgrade_ammo.dts":["shapes.vl2"],"shapes/pack_upgrade_cloaking.dts":["shapes.vl2"],"shapes/pack_upgrade_energy.dts":["shapes.vl2"],"shapes/pack_upgrade_repair.dts":["shapes.vl2"],"shapes/pack_upgrade_satchel.dts":["shapes.vl2"],"shapes/pack_upgrade_sensorjammer.dts":["shapes.vl2"],"shapes/pack_upgrade_shield.dts":["shapes.vl2"],"shapes/plasmabolt.dts":["shapes.vl2"],"shapes/pmiscf.dts":["shapes.vl2"],"shapes/porg1-dark.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/porg1.dts":["shapes.vl2"],"shapes/porg2.dts":["shapes.vl2"],"shapes/porg20.dts":["shapes.vl2"],"shapes/porg22.dts":["shapes.vl2"],"shapes/porg3.dts":["shapes.vl2"],"shapes/porg4.dts":["shapes.vl2"],"shapes/porg5.dts":["shapes.vl2"],"shapes/porg6.dts":["shapes.vl2"],"shapes/repair_kit.dts":["shapes.vl2"],"shapes/repair_patch.dts":["shapes.vl2"],"shapes/reticle_bomber.dts":["shapes.vl2"],"shapes/rst-TCmug.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-TNmug.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-chocotaco.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-goonflag.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-samifin.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-santahat.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-taobook.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/rst-turtle.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/sensor_pulse_large.dts":["shapes.vl2"],"shapes/sensor_pulse_medium.dts":["shapes.vl2"],"shapes/silver_pole.dts":["TR2final105-client.vl2"],"shapes/smiscf.dts":["shapes.vl2"],"shapes/solarpanel.dts":["shapes.vl2"],"shapes/sorg20.dts":["shapes.vl2"],"shapes/sorg21.dts":["shapes.vl2"],"shapes/sorg22.dts":["shapes.vl2"],"shapes/sorg23.dts":["shapes.vl2"],"shapes/sorg24.dts":["shapes.vl2"],"shapes/stackable1l.dts":["shapes.vl2"],"shapes/stackable1m.dts":["shapes.vl2"],"shapes/stackable1s.dts":["shapes.vl2"],"shapes/stackable2l.dts":["shapes.vl2"],"shapes/stackable2m.dts":["shapes.vl2"],"shapes/stackable2s.dts":["shapes.vl2"],"shapes/stackable3l.dts":["shapes.vl2"],"shapes/stackable3m.dts":["shapes.vl2"],"shapes/stackable3s.dts":["shapes.vl2"],"shapes/stackable4l.dts":["shapes.vl2"],"shapes/stackable4m.dts":["shapes.vl2"],"shapes/stackable5l.dts":["shapes.vl2"],"shapes/stackable5m.dts":["shapes.vl2"],"shapes/station_generator_large.dts":["shapes.vl2"],"shapes/station_inv_human.dts":["shapes.vl2"],"shapes/station_inv_mpb.dts":["shapes.vl2"],"shapes/station_teleport.dts":["shapes.vl2"],"shapes/statue_base.dts":["shapes.vl2"],"shapes/statue_hmale.dts":["shapes.vl2"],"shapes/statue_lfemale.dts":["shapes.vl2"],"shapes/statue_lmale.dts":["shapes.vl2"],"shapes/statue_plaque.dts":["shapes.vl2"],"shapes/switch.dts":["shapes.vl2"],"shapes/teamlogo_bd.dts":["shapes.vl2"],"shapes/teamlogo_be.dts":["shapes.vl2"],"shapes/teamlogo_ds.dts":["shapes.vl2"],"shapes/teamlogo_hb.dts":["shapes.vl2"],"shapes/teamlogo_inf.dts":["shapes.vl2"],"shapes/teamlogo_projector.dts":["shapes.vl2"],"shapes/teamlogo_storm.dts":["shapes.vl2"],"shapes/teamlogo_sw.dts":["shapes.vl2"],"shapes/turret_aa_large.dts":["shapes.vl2"],"shapes/turret_assaulttank_mortar.dts":["shapes.vl2"],"shapes/turret_assaulttank_plasma.dts":["shapes.vl2"],"shapes/turret_base_large.dts":["shapes.vl2"],"shapes/turret_base_mpb.dts":["shapes.vl2"],"shapes/turret_belly_barrell.dts":["shapes.vl2"],"shapes/turret_belly_barrelr.dts":["shapes.vl2"],"shapes/turret_belly_base.dts":["shapes.vl2"],"shapes/turret_elf_large.dts":["shapes.vl2"],"shapes/turret_fusion_large.dts":["shapes.vl2"],"shapes/turret_indoor_deployc.dts":["shapes.vl2"],"shapes/turret_indoor_deployf.dts":["shapes.vl2"],"shapes/turret_indoor_deployw.dts":["shapes.vl2"],"shapes/turret_missile_large.dts":["shapes.vl2"],"shapes/turret_mortar_large.dts":["shapes.vl2"],"shapes/turret_muzzlepoint.dts":["shapes.vl2"],"shapes/turret_outdoor_deploy.dts":["shapes.vl2"],"shapes/turret_sentry.dts":["shapes.vl2"],"shapes/turret_tank_barrelchain.dts":["shapes.vl2"],"shapes/turret_tank_barrelmortar.dts":["shapes.vl2"],"shapes/turret_tank_base.dts":["shapes.vl2"],"shapes/vehicle_air_bomber.dts":["shapes.vl2"],"shapes/vehicle_air_bomber_debris.dts":["shapes.vl2"],"shapes/vehicle_air_hapc.dts":["shapes.vl2"],"shapes/vehicle_air_hapc_debris.dts":["shapes.vl2"],"shapes/vehicle_air_scout.dts":["shapes.vl2"],"shapes/vehicle_air_scout_debris.dts":["shapes.vl2"],"shapes/vehicle_air_scout_wreck.dts":["shapes.vl2"],"shapes/vehicle_grav_scout.dts":["shapes.vl2"],"shapes/vehicle_grav_scout_debris.dts":["shapes.vl2"],"shapes/vehicle_grav_tank.dts":["shapes.vl2"],"shapes/vehicle_grav_tank_debris.dts":["shapes.vl2"],"shapes/vehicle_grav_tank_wreck.dts":["shapes.vl2"],"shapes/vehicle_land_assault.dts":["shapes.vl2"],"shapes/vehicle_land_assault_debris.dts":["shapes.vl2"],"shapes/vehicle_land_assault_wreck.dts":["shapes.vl2"],"shapes/vehicle_land_mpbase.dts":["shapes.vl2"],"shapes/vehicle_land_mpbase_debris.dts":["shapes.vl2"],"shapes/vehicle_pad.dts":["shapes.vl2"],"shapes/vehicle_pad_station.dts":["shapes.vl2"],"shapes/vend.dts":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"shapes/weapon_chaingun.dts":["shapes.vl2"],"shapes/weapon_chaingun_ammocasing.dts":["shapes.vl2"],"shapes/weapon_disc.dts":["shapes.vl2"],"shapes/weapon_elf.dts":["shapes.vl2"],"shapes/weapon_energy.dts":["shapes.vl2"],"shapes/weapon_energy_vehicle.dts":["shapes.vl2"],"shapes/weapon_grenade_launcher.dts":["shapes.vl2"],"shapes/weapon_missile.dts":["shapes.vl2"],"shapes/weapon_missile_casement.dts":["shapes.vl2"],"shapes/weapon_missile_fleschette.dts":["shapes.vl2"],"shapes/weapon_missile_projectile.dts":["shapes.vl2"],"shapes/weapon_mortar.dts":["shapes.vl2"],"shapes/weapon_plasma.dts":["shapes.vl2"],"shapes/weapon_repair.dts":["shapes.vl2"],"shapes/weapon_shocklance.dts":["shapes.vl2"],"shapes/weapon_sniper.dts":["shapes.vl2"],"shapes/weapon_targeting.dts":["shapes.vl2"],"shapes/xmiscf.dts":["shapes.vl2"],"shapes/xorg2.dts":["shapes.vl2"],"shapes/xorg20.dts":["shapes.vl2"],"shapes/xorg21.dts":["shapes.vl2"],"shapes/xorg3.dts":["shapes.vl2"],"shapes/xorg4.dts":["shapes.vl2"],"shapes/xorg5.dts":["shapes.vl2"],"t2csri/authconnect.cs":["T2csri.vl2"],"t2csri/authconnect.cs.dso":["T2csri.vl2"],"t2csri/authinterface.cs":["T2csri.vl2"],"t2csri/authinterface.cs.dso":["T2csri.vl2"],"t2csri/autoupdate.cs":["T2csri.vl2"],"t2csri/bans.cs":["T2csri.vl2"],"t2csri/bans.cs.dso":["T2csri.vl2"],"t2csri/base64.cs":["T2csri.vl2"],"t2csri/base64.cs.dso":["T2csri.vl2"],"t2csri/certstore.rb":["T2csri.vl2"],"t2csri/clientSide.cs":["T2csri.vl2"],"t2csri/clientSide.cs.dso":["T2csri.vl2"],"t2csri/clientSideClans.cs":["T2csri.vl2"],"t2csri/clientSideClans.cs.dso":["T2csri.vl2"],"t2csri/crypto.rb":["T2csri.vl2"],"t2csri/glue.cs":["T2csri.vl2"],"t2csri/glue.cs.dso":["T2csri.vl2"],"t2csri/ipv4.cs":["T2csri.vl2"],"t2csri/ipv4.cs.dso":["T2csri.vl2"],"t2csri/rubyUtils.cs":["T2csri.vl2"],"t2csri/rubyUtils.cs.dso":["T2csri.vl2"],"t2csri/serverSide.cs":["T2csri.vl2"],"t2csri/serverSideClans.cs":["T2csri.vl2"],"t2csri/serverSideClans.cs.dso":["T2csri.vl2"],"t2csri/serverglue.cs":["T2csri.vl2"],"t2csri/serverglue.cs.dso":["T2csri.vl2"],"t2csri/serverside.cs.dso":["T2csri.vl2"],"terrains/2ArenaDome.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/2ArenaValley.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/2DustBowl.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/2Flyersarena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/2IceDome.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/2IndoorIntensity.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/4thGradeDropout.spn":["4thGradeDropout.vl2"],"terrains/Abominable.nav":["missions.vl2"],"terrains/Abominable.spn":["missions.vl2"],"terrains/Abominable.ter":["missions.vl2"],"terrains/AcidRain.spn":["Classic_maps_v1.vl2"],"terrains/AcidRain.ter":["Classic_maps_v1.vl2"],"terrains/Aeroena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/AgentsOfFortune.nav":["missions.vl2"],"terrains/AgentsOfFortune.spn":["missions.vl2"],"terrains/AgentsOfFortune.ter":["missions.vl2"],"terrains/Alcatraz.spn":["missions.vl2"],"terrains/Alcatraz.ter":["missions.vl2"],"terrains/Archipelago.spn":["missions.vl2"],"terrains/Archipelago.ter":["missions.vl2"],"terrains/ArenaHeaven.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/ArenaHell.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/ArenaHell2.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/ArenaInTheHill.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/ArenaUnderTheHill.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/AryoArena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/AshesToAshes.spn":["missions.vl2"],"terrains/AshesToAshes.ter":["missions.vl2"],"terrains/Atropos2.nav":["atroposthereturn.vl2"],"terrains/Atropos2.spn":["atroposthereturn.vl2"],"terrains/Attrition.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Attrition.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/BastardForge.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/BeggarsRun.nav":["missions.vl2"],"terrains/BeggarsRun.spn":["missions.vl2"],"terrains/BeggarsRun.ter":["missions.vl2"],"terrains/BeneathTheHill.spn":["BeneathTheHill.vl2"],"terrains/Blastside_nef.spn":["Classic_maps_v1.vl2"],"terrains/BrainFreeze.nav":["brainfreeze.vl2"],"terrains/BrainFreeze.spn":["brainfreeze.vl2"],"terrains/BridgeTooFar.spn":["DynamixFinalPack.vl2"],"terrains/BridgeTooFar.ter":["DynamixFinalPack.vl2"],"terrains/Broadside_nef.spn":["Classic_maps_v1.vl2"],"terrains/Broadside_nef.ter":["Classic_maps_v1.vl2"],"terrains/Broken_Dreams.nav":["brokendreams_2.vl2"],"terrains/Broken_Dreams.spn":["brokendreams_2.vl2"],"terrains/Bunkered.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/CCD.ter":["TWL2-MapPack.vl2"],"terrains/Caldera.spn":["missions.vl2"],"terrains/Caldera.ter":["missions.vl2"],"terrains/Cardiac.ter":["S8maps.vl2"],"terrains/Casern_Cavite.nav":["missions.vl2"],"terrains/Casern_Cavite.spn":["missions.vl2"],"terrains/Casern_Cavite.ter":["missions.vl2"],"terrains/CeleritySE.ter":["TWL2-MapPack.vl2"],"terrains/Centaur.nav":["centaur.vl2"],"terrains/Centaur.spn":["centaur.vl2"],"terrains/Centaur.ter":["centaur.vl2"],"terrains/Chasmaclysmic.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Chasmaclysmic.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Checkmate.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Cinerarium.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/ColdFusion.spn":["ColdFusion.vl2"],"terrains/ColdWar.spn":["ColdWar.vl2"],"terrains/CompUSA_Melee.spn":["missions.vl2"],"terrains/CompUSA_Melee.ter":["missions.vl2"],"terrains/Conclave.spn":["Conclave.vl2"],"terrains/Confusco.spn":["Classic_maps_v1.vl2"],"terrains/Confusco.ter":["Classic_maps_v1.vl2"],"terrains/ContainmentLarge.spn":["ContainmentLarge.vl2"],"terrains/Coppera.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/CrashClash.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Crater71.spn":["TR2final105-client.vl2"],"terrains/Crater71.ter":["TR2final105-client.vl2"],"terrains/DBS_Smoothed.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DBS_Smoothed.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Agroleon.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Astro.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_BastardForge.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_BitterGorge.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Bunkered.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Cinerarium.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_DermCity.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Embers.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_EmeraldSpit.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_FaceCrossing.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Hoth.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_IceGiant.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_IsleDeBatalla.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_LavaGods.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Magellan.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_MoonDance.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Pantheon.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Pantheon.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Paranoia.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Pariah.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_PipeDream.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_RavineV.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_ScorchedEarth.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_SimpleFlagArena.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_SpinCycle.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_StarFall.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Tyre.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DMP_Wasteland.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DX_Badlands.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DX_Badlands.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DX_Desert.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DX_Desert.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DX_Ice.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/DX_Ice.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Damnation.spn":["missions.vl2"],"terrains/Damnation.ter":["missions.vl2"],"terrains/DangerousCrossingArena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/DangerousCrossing_nef.spn":["Classic_maps_v1.vl2"],"terrains/DangerousCrossing_nef.ter":["Classic_maps_v1.vl2"],"terrains/DeathBirdsFly.spn":["missions.vl2"],"terrains/DeathBirdsFly.ter":["missions.vl2"],"terrains/DeathFromBelow.spn":["DeathFromBelow.vl2"],"terrains/DeathRow.spn":["DeathRow.vl2"],"terrains/DesertWind.spn":["DesertWind.vl2"],"terrains/DesertofDeath_nef.spn":["Classic_maps_v1.vl2"],"terrains/DesertofDeath_nef.ter":["Classic_maps_v1.vl2"],"terrains/Desiccator.spn":["missions.vl2"],"terrains/Desiccator.ter":["missions.vl2"],"terrains/DevilsElbow.spn":["DynamixFinalPack.vl2"],"terrains/DevilsElbow.ter":["DynamixFinalPack.vl2"],"terrains/DraconisVII.spn":["DraconisVII.vl2"],"terrains/DustToDust.nav":["missions.vl2"],"terrains/DustToDust.spn":["missions.vl2"],"terrains/DustToDust.ter":["missions.vl2"],"terrains/EB_Hades.spn":["missions.vl2"],"terrains/EB_Hades.ter":["missions.vl2"],"terrains/Embers.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Envyrena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/EnyLand.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Equinox.nav":["missions.vl2"],"terrains/Equinox.spn":["missions.vl2"],"terrains/Equinox.ter":["missions.vl2"],"terrains/Escalade.nav":["missions.vl2"],"terrains/Escalade.spn":["missions.vl2"],"terrains/Escalade.ter":["missions.vl2"],"terrains/Euro4_Bleed.ter":["TWL2-MapPack.vl2"],"terrains/Euro4_Dissention.ter":["TWL2-MapPack.vl2"],"terrains/Euro4_FrozenHope.ter":["TWL2-MapPack.vl2"],"terrains/Euro_Drifts_SE.ter":["TWL2-MapPack.vl2"],"terrains/EveningLand.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Exposure.spn":["Exposure-v1.1.vl2"],"terrains/Extra_Badlands1.ter":["missions.vl2"],"terrains/FinalRevenge.spn":["FinalRevenge.vl2"],"terrains/Firestorm.spn":["missions.vl2"],"terrains/Firestorm.ter":["missions.vl2"],"terrains/FlashPoint.spn":["missions.vl2"],"terrains/Flashpoint.ter":["missions.vl2"],"terrains/Fracas.nav":["missions.vl2"],"terrains/Fracas.spn":["missions.vl2"],"terrains/Fracas.ter":["missions.vl2"],"terrains/FrozenFury.spn":["TR2final105-client.vl2"],"terrains/FrozenFury.ter":["TR2final105-client.vl2"],"terrains/Gauntlet.nav":["missions.vl2"],"terrains/Gauntlet.spn":["missions.vl2"],"terrains/Gauntlet.ter":["missions.vl2"],"terrains/Gehenna.spn":["missions.vl2"],"terrains/Gehenna.ter":["missions.vl2"],"terrains/Geothermal.ter":["S8maps.vl2"],"terrains/Geronimo.spn":["Geronimo.vl2"],"terrains/GodsRift.spn":["TR2final105-client.vl2"],"terrains/GodsRift.ter":["TR2final105-client.vl2"],"terrains/Gorgon.spn":["Classic_maps_v1.vl2"],"terrains/Gorgon.ter":["Classic_maps_v1.vl2"],"terrains/HO_Badlands.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Badlands.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Desert.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Desert.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Ice.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Ice.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Lush.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HO_Lush.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Haven.spn":["TR2final105-client.vl2"],"terrains/Haven.ter":["TR2final105-client.vl2"],"terrains/Helioarena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Hildebrand.ter":["TWL2-MapPack.vl2"],"terrains/HillKing.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/HillKingLT.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Hillside.spn":["Classic_maps_v1.vl2"],"terrains/Hillside.ter":["Classic_maps_v1.vl2"],"terrains/Hoth.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/IceBound.spn":["missions.vl2"],"terrains/IceBound.ter":["missions.vl2"],"terrains/IceGiant.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/IceRidge_nef.spn":["Classic_maps_v1.vl2"],"terrains/IceRidge_nef.ter":["Classic_maps_v1.vl2"],"terrains/InnerSanctum.nav":["DynamixFinalPack.vl2"],"terrains/InnerSanctum.spn":["DynamixFinalPack.vl2"],"terrains/InnerSanctum.ter":["DynamixFinalPack.vl2"],"terrains/Insalubria.nav":["missions.vl2"],"terrains/Insalubria.spn":["missions.vl2"],"terrains/Insalubria.ter":["missions.vl2"],"terrains/Invictus.nav":["missions.vl2"],"terrains/Invictus.spn":["missions.vl2"],"terrains/Invictus.ter":["missions.vl2"],"terrains/IsleOfMan.spn":["DynamixFinalPack.vl2"],"terrains/IsleOfMan.ter":["DynamixFinalPack.vl2"],"terrains/IveHadWorse.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/JacobsLadder.spn":["missions.vl2"],"terrains/JacobsLadder.ter":["missions.vl2"],"terrains/Katabatic.nav":["missions.vl2"],"terrains/Katabatic.spn":["missions.vl2"],"terrains/Katabatic.ter":["missions.vl2"],"terrains/Khalarena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Lakefront.spn":["Classic_maps_v1.vl2"],"terrains/Lakefront.ter":["Classic_maps_v1.vl2"],"terrains/LavaGods.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Magellan.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Magmatic.spn":["Classic_maps_v1.vl2"],"terrains/Magmatic.ter":["Classic_maps_v1.vl2"],"terrains/MapAssets.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Masada.spn":["missions.vl2"],"terrains/Masada.ter":["missions.vl2"],"terrains/Minotaur.nav":["missions.vl2"],"terrains/Minotaur.spn":["missions.vl2"],"terrains/Minotaur.ter":["missions.vl2"],"terrains/MoonDance2.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Moonwalk.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Moonwalk.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Morena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/MountainSiege.spn":["MountainSiege.vl2"],"terrains/Mudside.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Mutiny.spn":["Mutiny.vl2"],"terrains/MyrkWood.spn":["missions.vl2"],"terrains/MyrkWood.ter":["missions.vl2"],"terrains/Oasis.spn":["missions.vl2"],"terrains/Oasis.ter":["missions.vl2"],"terrains/Octane.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Ocular.ter":["TWL2-MapPack.vl2"],"terrains/Overreach.spn":["missions.vl2"],"terrains/Overreach.ter":["missions.vl2"],"terrains/Pantheon.spn":["DynamixFinalPack.vl2"],"terrains/Pantheon.ter":["DynamixFinalPack.vl2"],"terrains/Paranoia.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Pariah.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Pariah2.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Pariah_Mirrored.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Patience.spn":["Patience.vl2"],"terrains/PhasmaDust.spn":["TR2final105-client.vl2"],"terrains/PhasmaDust.ter":["TR2final105-client.vl2"],"terrains/PlanetX.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/PlanetX2.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Planetside.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Prismatic.nav":["Prismatic.vl2"],"terrains/Prismatic.spn":["Prismatic.vl2"],"terrains/ProArena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/PuliVeivari.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/PuliVeivari.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Pyroclasm.spn":["missions.vl2"],"terrains/Pyroclasm.ter":["missions.vl2"],"terrains/Quagmire.spn":["missions.vl2"],"terrains/Quagmire.ter":["missions.vl2"],"terrains/Raindance_nef.spn":["Classic_maps_v1.vl2"],"terrains/Raindance_nef.ter":["Classic_maps_v1.vl2"],"terrains/Ramparts.spn":["Classic_maps_v1.vl2"],"terrains/Ramparts.ter":["Classic_maps_v1.vl2"],"terrains/RandomTer1.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer10.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer2.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer3.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer4.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer5.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer6.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer7.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer8.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RandomTer9.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Rasp.spn":["missions.vl2"],"terrains/Rasp.ter":["missions.vl2"],"terrains/Ravine.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Ravine.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/RavineV.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Recalescence.spn":["missions.vl2"],"terrains/Recalescence.ter":["missions.vl2"],"terrains/Respite.nav":["missions.vl2"],"terrains/Respite.spn":["missions.vl2"],"terrains/Respite.ter":["missions.vl2"],"terrains/Reversion.spn":["missions.vl2"],"terrains/Reversion.ter":["missions.vl2"],"terrains/Ridgerena.nav":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Ridgerena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Rimehold.spn":["missions.vl2"],"terrains/Rimehold.ter":["missions.vl2"],"terrains/RiverDance.nav":["missions.vl2"],"terrains/RiverDance.spn":["missions.vl2"],"terrains/RiverDance.ter":["missions.vl2"],"terrains/Rollercoaster_nef.spn":["Classic_maps_v1.vl2"],"terrains/Rollercoaster_nef.ter":["Classic_maps_v1.vl2"],"terrains/Rst_ScorchedEarth.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Rush.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Rush.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/S5-Icedance.ter":["S5maps.vl2"],"terrains/S5-Mordacity.ter":["S5maps.vl2"],"terrains/S5-massive.ter":["S5maps.vl2"],"terrains/S5_Centaur.spn":["S5maps.vl2"],"terrains/S5_Centaur.ter":["S5maps.vl2"],"terrains/S5_Damnation.spn":["S5maps.vl2"],"terrains/S5_Drache.spn":["S5maps.vl2"],"terrains/S5_Drache.ter":["S5maps.vl2"],"terrains/S5_HawkingHeat.spn":["S5maps.vl2"],"terrains/S5_Icedance.spn":["S5maps.vl2"],"terrains/S5_Icedance.ter":["S5maps.vl2"],"terrains/S5_Massive.spn":["S5maps.vl2"],"terrains/S5_Mimicry.spn":["S5maps.vl2"],"terrains/S5_Misadventure.spn":["S5maps.vl2"],"terrains/S5_Mordacity.spn":["S5maps.vl2"],"terrains/S5_Mordacity.ter":["S5maps.vl2"],"terrains/S5_PipeDream.spn":["S5maps.vl2"],"terrains/S5_Reynard.spn":["S5maps.vl2"],"terrains/S5_Sherman.spn":["S5maps.vl2"],"terrains/S5_Sherman.ter":["S5maps.vl2"],"terrains/S5_Silenus.spn":["S5maps.vl2"],"terrains/S5_WoodyMyrk.spn":["S5maps.vl2"],"terrains/S5_massive.ter":["S5maps.vl2"],"terrains/S5_rst_hawkingheat.ter":["S5maps.vl2"],"terrains/S5_rst_misadventure.ter":["S5maps.vl2"],"terrains/S5_rst_reynard.ter":["S5maps.vl2"],"terrains/S5_rst_silenus.ter":["S5maps.vl2"],"terrains/S8_Geothermal.spn":["S8maps.vl2"],"terrains/S8_Mountking.spn":["S8maps.vl2"],"terrains/S8_Opus.spn":["S8maps.vl2"],"terrains/S8_Zilch.spn":["S8maps.vl2"],"terrains/S8_rst_dogma.ter":["S8maps.vl2"],"terrains/S8_rst_opus.ter":["S8maps.vl2"],"terrains/S8_zilch.ter":["S8maps.vl2"],"terrains/SC_Badlands.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Badlands.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Desert.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Desert.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Ice.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Ice.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Lush.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Lush.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Night.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Night.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Normal.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SC_Normal.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Sanctuary.nav":["missions.vl2"],"terrains/Sanctuary.spn":["missions.vl2"],"terrains/Sanctuary.ter":["missions.vl2"],"terrains/Sandstorm.spn":["Classic_maps_v1.vl2"],"terrains/Sandstorm.ter":["Classic_maps_v1.vl2"],"terrains/Scarabrae_nef.spn":["Classic_maps_v1.vl2"],"terrains/Scarabrae_nef.ter":["Classic_maps_v1.vl2"],"terrains/ShockRidge.spn":["Classic_maps_v1.vl2"],"terrains/ShockRidge.ter":["Classic_maps_v1.vl2"],"terrains/ShrineArena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/ShrineArenaII.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/SiegeofYmir.spn":["SiegeofYmir.vl2"],"terrains/SilentStorm.spn":["SilentStorm.vl2"],"terrains/Sirocco.spn":["missions.vl2"],"terrains/Sirocco.ter":["missions.vl2"],"terrains/SkiFree.nav":["SkiFreeGameType.vl2"],"terrains/SkiFree.spn":["SkiFreeGameType.vl2"],"terrains/SkiFreeZ_Championship_2021.spn":["SkiFreeGameType.vl2"],"terrains/SkiFreeZ_Championship_2021.ter":["SkiFreeGameType.vl2"],"terrains/SkinnyDip.spn":["TR2final105-client.vl2"],"terrains/SkinnyDip.ter":["TR2final105-client.vl2"],"terrains/SlapDash.spn":["missions.vl2"],"terrains/Slapdash.ter":["missions.vl2"],"terrains/SmogArena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/SnowBound.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Snowblind_nef.spn":["Classic_maps_v1.vl2"],"terrains/Snowblind_nef.ter":["Classic_maps_v1.vl2"],"terrains/SoccerLand.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Solace.spn":["Solace.vl2"],"terrains/SolsDescent.spn":["TR2final105-client.vl2"],"terrains/SolsDescent.ter":["TR2final105-client.vl2"],"terrains/SpinCycle.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SpyLand.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/StarFallCTF2.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Starfallen.spn":["Classic_maps_v1.vl2"],"terrains/Starfallen.ter":["Classic_maps_v1.vl2"],"terrains/Stonehenge_Arena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Stonehenge_nef.spn":["Classic_maps_v1.vl2"],"terrains/Stonehenge_nef.ter":["Classic_maps_v1.vl2"],"terrains/Stripmine.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/SubZero.spn":["Classic_maps_v1.vl2"],"terrains/SubZero.ter":["Classic_maps_v1.vl2"],"terrains/SunDried.nav":["missions.vl2"],"terrains/SunDried.spn":["missions.vl2"],"terrains/SunDried.ter":["missions.vl2"],"terrains/Surreal.spn":["Classic_maps_v1.vl2"],"terrains/Surreal.ter":["Classic_maps_v1.vl2"],"terrains/TL_Drorck.ter":["TWL2-MapPack.vl2"],"terrains/TL_Magnum.ter":["TWL2-MapPack.vl2"],"terrains/TL_MuddySwamp.ter":["TWL2-MapPack.vl2"],"terrains/TL_RoughLand.ter":["TWL2-MapPack.vl2"],"terrains/TL_Skylight.ter":["TWL2-MapPack.vl2"],"terrains/TWL-Abaddon.ter":["TWL-MapPack.vl2"],"terrains/TWL-BaNsHee.ter":["TWL-MapPack.vl2"],"terrains/TWL-BeachBlitz.ter":["TWL-MapPack.vl2"],"terrains/TWL-BeggarsRun.ter":["TWL-MapPack.vl2"],"terrains/TWL-BlueMoon.ter":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"terrains/TWL-Boss.ter":["TWL-MapPack.vl2"],"terrains/TWL-Chokepoint.ter":["TWL-MapPack.vl2"],"terrains/TWL-Cinereous.ter":["TWL-MapPack.vl2"],"terrains/TWL-Clusterfuct.ter":["TWL-MapPack.vl2"],"terrains/TWL-Curtilage.ter":["TWL-MapPack.vl2"],"terrains/TWL-Damnation.ter":["TWL-MapPack.vl2"],"terrains/TWL-DeadlyBirdsSong.ter":["TWL-MapPack.vl2"],"terrains/TWL-Deserted.ter":["TWL-MapPack.vl2"],"terrains/TWL-Desiccator.ter":["TWL-MapPack.vl2"],"terrains/TWL-Drifts.ter":["TWL-MapPack.vl2"],"terrains/TWL-Euro_Feign.ter":["TWL-MapPack.vl2"],"terrains/TWL-Frostclaw.ter":["TWL-MapPack.vl2"],"terrains/TWL-Frozen.ter":["TWL-MapPack.vl2"],"terrains/TWL-Harvester.ter":["TWL-MapPack.vl2"],"terrains/TWL-Horde.ter":["TWL-MapPack.vl2"],"terrains/TWL-Katabatic.ter":["TWL-MapPack.vl2"],"terrains/TWL-Neve.ter":["TWL-MapPack.vl2"],"terrains/TWL-NoShelter.ter":["TWL-MapPack.vl2"],"terrains/TWL-Os_Iris.ter":["TWL-MapPack.vl2"],"terrains/TWL-Pandemonium.ter":["TWL-MapPack.vl2"],"terrains/TWL-Runenmacht.ter":["TWL-MapPack.vl2"],"terrains/TWL-Slapdash.ter":["TWL-MapPack.vl2"],"terrains/TWL-SubZero.ter":["TWL-MapPack.vl2"],"terrains/TWL-WilderZone.ter":["TWL-MapPack.vl2"],"terrains/TWL-WoodyMyrk.ter":["TWL-MapPack.vl2"],"terrains/TWL2_Bleed.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_BlueMoon.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_CanyonCrusadeDeluxe.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Celerity.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_CloakOfNight.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Crevice.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Crevice.ter":["TWL2-MapPack.vl2"],"terrains/TWL2_Dissention.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Drifts.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Drorck.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_FrozenGlory.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_FrozenHope.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Frozenglory.ter":["TWL2-MapPack.vl2"],"terrains/TWL2_Hildebrand.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_IceDagger.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_JaggedClaw.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Magnum.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_MidnightMayhemDeluxe.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_MuddySwamp.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Norty.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Ocular.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_RoughLand.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Ruined.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_Ruined.ter":["TWL2-MapPack.vl2"],"terrains/TWL2_Skylight.spn":["TWL2-MapPack.vl2"],"terrains/TWL2_WoodyMyrk.spn":["TWL2-MapPack.vl2"],"terrains/TWL_Abaddon.spn":["TWL-MapPack.vl2"],"terrains/TWL_BaNsHee.spn":["TWL-MapPack.vl2"],"terrains/TWL_BeachBlitz.spn":["TWL-MapPack.vl2"],"terrains/TWL_BeggarsRun.spn":["TWL-MapPack.vl2"],"terrains/TWL_BlueMoon.spn":["TWL-MapPack.vl2"],"terrains/TWL_Boss.spn":["TWL-MapPack.vl2"],"terrains/TWL_Celerity.spn":["TWL-MapPack.vl2"],"terrains/TWL_Chokepoint.spn":["TWL-MapPack.vl2"],"terrains/TWL_Cinereous.spn":["TWL-MapPack.vl2"],"terrains/TWL_Clusterfuct.spn":["TWL-MapPack.vl2"],"terrains/TWL_Crossfire.spn":["TWL-MapPack.vl2"],"terrains/TWL_Crossfire.ter":["TWL-MapPack.vl2"],"terrains/TWL_Curtilage.spn":["TWL-MapPack.vl2"],"terrains/TWL_Damnation.spn":["TWL-MapPack.vl2"],"terrains/TWL_DangerousCrossing.spn":["TWL-MapPack.vl2"],"terrains/TWL_DeadlyBirdsSong.spn":["TWL-MapPack.vl2"],"terrains/TWL_Deserted.spn":["TWL-MapPack.vl2"],"terrains/TWL_Desiccator.spn":["TWL-MapPack.vl2"],"terrains/TWL_Drifts.spn":["TWL-MapPack.vl2"],"terrains/TWL_Feign.spn":["TWL-MapPack.vl2"],"terrains/TWL_Frostclaw.spn":["TWL-MapPack.vl2"],"terrains/TWL_Frozen.spn":["TWL-MapPack.vl2"],"terrains/TWL_Harvester.spn":["TWL-MapPack.vl2"],"terrains/TWL_Horde.spn":["TWL-MapPack.vl2"],"terrains/TWL_Katabatic.spn":["TWL-MapPack.vl2"],"terrains/TWL_Magmatic.spn":["TWL-MapPack.vl2"],"terrains/TWL_Minotaur.spn":["TWL-MapPack.vl2"],"terrains/TWL_Neve.spn":["TWL-MapPack.vl2"],"terrains/TWL_NoShelter.spn":["TWL-MapPack.vl2"],"terrains/TWL_OsIris.spn":["TWL-MapPack.vl2"],"terrains/TWL_Pandemonium.spn":["TWL-MapPack.vl2"],"terrains/TWL_Quagmire.spn":["TWL-MapPack.vl2"],"terrains/TWL_Raindance.spn":["TWL-MapPack.vl2"],"terrains/TWL_Ramparts.spn":["TWL-MapPack.vl2"],"terrains/TWL_Reversion.spn":["TWL-MapPack.vl2"],"terrains/TWL_Rollercoaster.spn":["TWL-MapPack.vl2"],"terrains/TWL_Runenmacht.spn":["TWL-MapPack.vl2"],"terrains/TWL_Sandstorm.spn":["TWL-MapPack.vl2"],"terrains/TWL_Slapdash.spn":["TWL-MapPack.vl2"],"terrains/TWL_Snowblind.spn":["TWL-MapPack.vl2"],"terrains/TWL_Starfallen.spn":["TWL-MapPack.vl2"],"terrains/TWL_Stonehenge.spn":["TWL-MapPack.vl2"],"terrains/TWL_SubZero.spn":["TWL-MapPack.vl2"],"terrains/TWL_Surreal.spn":["TWL-MapPack.vl2"],"terrains/TWL_Titan.spn":["TWL-MapPack.vl2"],"terrains/TWL_WhiteDwarf.spn":["TWL-MapPack.vl2"],"terrains/TWL_WilderZone.spn":["TWL-MapPack.vl2"],"terrains/TWL_WoodyMyrk.spn":["TWL-MapPack.vl2"],"terrains/Talus.nav":["missions.vl2"],"terrains/Talus.spn":["missions.vl2"],"terrains/Talus.ter":["missions.vl2"],"terrains/TempleTussleVersion2.nav":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/TempleTussleVersion2.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Tenebrous.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/ThinIce.spn":["missions.vl2"],"terrains/ThinIce.ter":["missions.vl2"],"terrains/Titan.spn":["Classic_maps_v1.vl2"],"terrains/Titan.ter":["Classic_maps_v1.vl2"],"terrains/Tombstone.nav":["missions.vl2"],"terrains/Tombstone.spn":["missions.vl2"],"terrains/Tombstone.ter":["missions.vl2"],"terrains/Training1.nav":["missions.vl2"],"terrains/Training1.ter":["missions.vl2"],"terrains/Training2.nav":["missions.vl2"],"terrains/Training2.ter":["missions.vl2"],"terrains/Training3.nav":["missions.vl2"],"terrains/Training3.ter":["missions.vl2"],"terrains/Training4.nav":["missions.vl2"],"terrains/Training4.ter":["missions.vl2"],"terrains/Training5.nav":["missions.vl2"],"terrains/Training5.ter":["missions.vl2"],"terrains/TreasureIsland.spn":["TR2final105-client.vl2"],"terrains/TreasureIsland.ter":["TR2final105-client.vl2"],"terrains/Trident.spn":["DynamixFinalPack.vl2"],"terrains/Trident.ter":["DynamixFinalPack.vl2"],"terrains/TridentLE.spn":["TridentLE.vl2"],"terrains/TrueGrit.nav":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/TrueGrit.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Tyre.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/UltimaThule.spn":["missions.vl2"],"terrains/UltimaThule.ter":["missions.vl2"],"terrains/Underhill.nav":["missions.vl2"],"terrains/Underhill.spn":["missions.vl2"],"terrains/Underhill.ter":["missions.vl2"],"terrains/UphillBattle.spn":["UphillBattle.vl2"],"terrains/UporDown.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/VanDamnedLT.spn":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/VulcansHammer.spn":["VulcansHammer.vl2"],"terrains/WalledIn.nav":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/WalledIn.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/WalledInII.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/Wasteland.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/WhiteDwarf.spn":["Classic_maps_v1.vl2"],"terrains/WhiteDwarf.ter":["Classic_maps_v1.vl2"],"terrains/Whiteout.nav":["missions.vl2"],"terrains/Whiteout.spn":["missions.vl2"],"terrains/Whiteout.ter":["missions.vl2"],"terrains/WonderLand.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/WoodyMyrkSE.ter":["S5maps.vl2","TWL2-MapPack.vl2"],"terrains/Xtra_AshenPowder.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Bastage.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Birthright.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Crown.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_DesertedSE.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Helion.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_SoupLadle.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_StarFall_T1.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Stripmine.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_ThunderGiant.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_VanDamned.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Voodoo.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_Xerxes.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Xtra_ziggurat.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/Yubarena.spn":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"terrains/cloak.ter":["TWL2-MapPack.vl2"],"terrains/heightfield/CTF.Katabatic_heightfield.cs":["missions.vl2"],"terrains/heightfield/CTF.RiverDance_heightfield.cs":["missions.vl2"],"terrains/heightfield/Centaur_heightfield.cs":["centaur.vl2"],"terrains/heightfield/DeathBirdsFly_heightfield.cs":["missions.vl2"],"terrains/heightfield/Exposure_heightfield.cs":["Exposure-v1.1.vl2"],"terrains/heightfield/Fall_To_Glory_heightfield.cs":["missions.vl2"],"terrains/heightfield/Home.Badlands_heightfield.cs":["missions.vl2"],"terrains/heightfield/Home.Desert_heightfield.cs":["missions.vl2"],"terrains/heightfield/Home.Lush_heightfield.cs":["missions.vl2"],"terrains/heightfield/Home.Snow2_heightfield.cs":["missions.vl2"],"terrains/heightfield/Home.Snow_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.Burnout_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.Casern_Cavite_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.Chaopia_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.Intaglio_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.MyrkWood_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.Rasp_heightfield.cs":["missions.vl2"],"terrains/heightfield/Hunters.SunDried_heightfield.cs":["missions.vl2"],"terrains/heightfield/Lush.cs":["missions.vl2"],"terrains/heightfield/Lush1.cs":["missions.vl2"],"terrains/heightfield/Lush2.cs":["missions.vl2"],"terrains/heightfield/Lush3.cs":["missions.vl2"],"terrains/heightfield/Lush4.cs":["missions.vl2"],"terrains/heightfield/Lush5.cs":["missions.vl2"],"terrains/heightfield/Lush8.cs":["missions.vl2"],"terrains/heightfield/Mark1_heightfield.cs":["missions.vl2"],"terrains/heightfield/MyrkWoodMask.png":["missions.vl2"],"terrains/heightfield/MyrkWoodStream.png":["missions.vl2"],"terrains/heightfield/NewLava1_heightfield.cs":["missions.vl2"],"terrains/heightfield/Overreach_heightfield.cs":["missions.vl2"],"terrains/heightfield/Prismatic_heightfield.cs":["Prismatic.vl2"],"terrains/heightfield/RST_hawking.png":["S5maps.vl2"],"terrains/heightfield/RST_hawkingheat.png":["S5maps.vl2"],"terrains/heightfield/RST_misadventure.png":["S5maps.vl2"],"terrains/heightfield/RST_reynard.png":["S5maps.vl2"],"terrains/heightfield/RST_silenus.png":["S5maps.vl2"],"terrains/heightfield/Reversion_heightfield.cs":["missions.vl2"],"terrains/heightfield/Roads.cs":["missions.vl2"],"terrains/heightfield/Siege.Gauntlet_heightfield.cs":["missions.vl2"],"terrains/heightfield/Siege.IceBound_heightfield.cs":["missions.vl2"],"terrains/heightfield/SinglePlayer.Skiing_heightfield.cs":["missions.vl2"],"terrains/heightfield/Solace_heightfield.cs":["Solace.vl2"],"terrains/heightfield/Sounds.Mission1_heightfield.cs":["missions.vl2"],"terrains/heightfield/SunDriedMask.png":["missions.vl2"],"terrains/heightfield/ThinIce_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Badlands1_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Badlands2_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Badlands3_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Badlands4_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Desert1_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Desert2_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Desert5_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Lush1_heightfield.cs":["missions.vl2"],"terrains/heightfield/Working.Lush2_heightfield.cs":["missions.vl2"],"terrains/heightfield/desert.cs":["missions.vl2"],"terrains/icedagger.ter":["TWL2-MapPack.vl2"],"terrains/jaggedclaw.ter":["TWL2-MapPack.vl2"],"terrains/mmd.ter":["TWL2-MapPack.vl2"],"terrains/mountking.ter":["S8maps.vl2"],"terrains/norty.ter":["TWL2-MapPack.vl2"],"terrains/rst_Astro.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_FaceCrossing.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_SimpleFlagArena.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_agroleon.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_bittergorge.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_crumpie.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_dermcity.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_isledebatalla.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/rst_spit.ter":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"terrains/s8_Cardiac.spn":["S8maps.vl2"],"terrains/texture/Centaur_texture.cs":["centaur.vl2"],"terrains/texture/DeathBirdsFly_texture.cs":["missions.vl2"],"terrains/texture/Mark1_texture.cs":["missions.vl2"],"terrains/texture/NewDesert1_texture.cs":["missions.vl2"],"terrains/texture/NewDesert2_texture.cs":["missions.vl2"],"terrains/texture/NewDesert3_texture.cs":["missions.vl2"],"terrains/texture/NewLava1_texture.cs":["missions.vl2"],"terrains/texture/NewLava2_texture.cs":["missions.vl2"],"terrains/texture/NewLush1_texture.cs":["missions.vl2"],"terrains/texture/NewLush2_texture.cs":["missions.vl2"],"terrains/texture/NewLush3_texture.cs":["missions.vl2"],"terrains/texture/NewSnow1_texture.cs":["missions.vl2"],"terrains/texture/NewSnow2_texture.cs":["missions.vl2"],"terrains/texture/NewSnow3_textures.cs":["missions.vl2"],"terrains/texture/NewSnowyGrass_texture.cs":["missions.vl2"],"terrains/texture/Overreach_texture.cs":["missions.vl2"],"terrains/texture/Reversion_texture.cs":["missions.vl2"],"terrains/texture/Sounds.Mission1_texture.cs":["missions.vl2"],"terrains/texture/ThinIce_texture.cs":["missions.vl2"],"textures/Badlands_l4.dml":["textures.vl2"],"textures/DarkStormy.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Desert_l4.dml":["textures.vl2"],"textures/Details/bb_det2.png":["TWL-MapPack.vl2"],"textures/Euro4_Bleed.dml":["TWL2-MapPack.vl2"],"textures/Euro4_FrozenHope.dml":["TWL2-MapPack.vl2"],"textures/Evil8/e8_base1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8_base1b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8_base1c.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8_btrim01.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8_btrim05.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8_launchpad1.png":["TWL-MapPack.vl2"],"textures/Evil8/e8_mtlwall1b.png":["TWL-MapPack.vl2"],"textures/Evil8/e8_mtlwall3.png":["TWL-MapPack.vl2"],"textures/Evil8/e8_mtlwall4.png":["TWL-MapPack.vl2"],"textures/Evil8/e8_rlight_0000.png":["TWL-MapPack.vl2"],"textures/Evil8/e8_rlightb.png":["TWL-MapPack.vl2"],"textures/Evil8/e8_rlightb_0000.png":["TWL-MapPack.vl2"],"textures/Evil8/e8basictrim2_bl.png":["TWL-MapPack.vl2"],"textures/Evil8/e8beam01.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8beam01b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8beam02.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8bgrate01.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8bolttrim.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8bolttrimb.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8clangfloor.png":["TWL-MapPack.vl2"],"textures/Evil8/e8clangfloor01.png":["TWL-MapPack.vl2"],"textures/Evil8/e8clangfloor03.png":["TWL-MapPack.vl2"],"textures/Evil8/e8clangfloor05c.png":["TWL-MapPack.vl2"],"textures/Evil8/e8clangwarnmix_.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8crete01.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8crete01stair1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8crete03.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8crete03b.png":["TWL-MapPack.vl2"],"textures/Evil8/e8crete03c.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8crete03cc.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8crete03d.png":["TWL-MapPack.vl2"],"textures/Evil8/e8crete03fadedw.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8cretefloor02.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8cretefloor_ti.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8cretesmlltrim.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8lighttrim.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8lighttrim_b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8metal03c_blue.png":["TWL-MapPack.vl2"],"textures/Evil8/e8mtltrim.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8mtltrim1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8mtltrim1b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8mtltrim2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8smlltrim1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8spawn01b.png":["TWL-MapPack.vl2"],"textures/Evil8/e8support02.png":["TWL-MapPack.vl2"],"textures/Evil8/e8support02c.png":["TWL-MapPack.vl2"],"textures/Evil8/e8support04b_bl.png":["TWL-MapPack.vl2"],"textures/Evil8/e8support05.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8tinylight_000.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8tmtllight2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8trimlight_000.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8warning2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8warning256.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8warning2step.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8wrntrim.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/e8wrntrim2b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Evil8/null.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/Iris_sky.dml":["TWL-MapPack.vl2"],"textures/L4.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/LiquidTiles/industrial_oil.png":["TWL-MapPack.vl2"],"textures/LiquidTiles/tes_water2.bm8":["TWL-MapPack.vl2"],"textures/LiquidTiles/tes_water2.png":["TWL-MapPack.vl2"],"textures/Lush_l4.dml":["textures.vl2"],"textures/Magellan.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Malig_sky.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Nef5.dml":["TR2final105-client.vl2"],"textures/Nef5/Nef5_BK.png":["TR2final105-client.vl2"],"textures/Nef5/Nef5_DN.png":["TR2final105-client.vl2"],"textures/Nef5/Nef5_FR.png":["TR2final105-client.vl2"],"textures/Nef5/Nef5_LF.png":["TR2final105-client.vl2"],"textures/Nef5/Nef5_RT.png":["TR2final105-client.vl2"],"textures/Nef5/Nef5_UP.png":["TR2final105-client.vl2"],"textures/NefRed1.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Nef_Sset2.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Nef_TR2_Red.dml":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_1.png":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_2.png":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_3.png":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_4.png":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_5.png":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_7.png":["TR2final105-client.vl2"],"textures/Nef_TR2_Red_Cloud1.png":["TR2final105-client.vl2"],"textures/Nycto-sm.dml":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_BK.png":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_DN.png":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_ENV.png":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_FR.png":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_LF.png":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_RT.png":["TWL-MapPack.vl2"],"textures/Nycto/stormmtn_UP.png":["TWL-MapPack.vl2"],"textures/PacificSky.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/PlanetX.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/RedPlanet.dml":["TR2final105-client.vl2"],"textures/RedPlanet_1.png":["TR2final105-client.vl2"],"textures/RedPlanet_2.png":["TR2final105-client.vl2"],"textures/RedPlanet_3.png":["TR2final105-client.vl2"],"textures/RedPlanet_4.png":["TR2final105-client.vl2"],"textures/RedPlanet_5.png":["TR2final105-client.vl2"],"textures/RedPlanet_Cloud1.png":["TR2final105-client.vl2"],"textures/SOM_TR2_Armageddon.dml":["TR2final105-client.vl2"],"textures/SOM_TR2_StonedBlue.dml":["TR2final105-client.vl2"],"textures/SOM_TR2_WinterBlue.dml":["TR2final105-client.vl2"],"textures/SOM_WinterBlue/WinterBlue_v5_BK.bmp":["TR2final105-client.vl2"],"textures/SOM_WinterBlue/WinterBlue_v5_FR.bmp":["TR2final105-client.vl2"],"textures/SOM_WinterBlue/WinterBlue_v5_LF.bmp":["TR2final105-client.vl2"],"textures/SOM_WinterBlue/WinterBlue_v5_RT.bmp":["TR2final105-client.vl2"],"textures/SOM_WinterBlue/WinterBlue_v5_UP.bmp":["TR2final105-client.vl2"],"textures/Sami_D.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/SantaHat_D.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Saturn.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Starfallen.dml":["Classic_maps_v1.vl2"],"textures/StonedBlue/StonedBlue_v5_BK.bmp":["TR2final105-client.vl2"],"textures/StonedBlue/StonedBlue_v5_FR.bmp":["TR2final105-client.vl2"],"textures/StonedBlue/StonedBlue_v5_LF.bmp":["TR2final105-client.vl2"],"textures/StonedBlue/StonedBlue_v5_RT.bmp":["TR2final105-client.vl2"],"textures/StonedBlue/StonedBlue_v5_UP.bmp":["TR2final105-client.vl2"],"textures/SunSet12.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/Sundown25.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/T2IntroC15.avi":["textures.vl2"],"textures/TL_Magnum.dml":["TWL2-MapPack.vl2"],"textures/TN_entropy.bm8":["T2csri.vl2"],"textures/TN_entropy.png":["T2csri.vl2"],"textures/TN_logo.bm8":["T2csri.vl2"],"textures/TR1_1.png":["TR2final105-client.vl2"],"textures/TR1_2.png":["TR2final105-client.vl2"],"textures/TR1_3.png":["TR2final105-client.vl2"],"textures/TR1_4.png":["TR2final105-client.vl2"],"textures/TR1_5.png":["TR2final105-client.vl2"],"textures/TR1_7.png":["TR2final105-client.vl2"],"textures/TR1_Cloud1.png":["TR2final105-client.vl2"],"textures/TR1_Cloud2.png":["TR2final105-client.vl2"],"textures/TR1_Nef.dml":["TR2final105-client.vl2"],"textures/TR2-1.lmale.png":["TR2final105-client.vl2"],"textures/TR2-2.lmale.png":["TR2final105-client.vl2"],"textures/Taco_D.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/armageddon/Armageddon_v5_BK.bmp":["TR2final105-client.vl2"],"textures/armageddon/Armageddon_v5_FR.bmp":["TR2final105-client.vl2"],"textures/armageddon/Armageddon_v5_LF.bmp":["TR2final105-client.vl2"],"textures/armageddon/Armageddon_v5_RT.bmp":["TR2final105-client.vl2"],"textures/armageddon/Armageddon_v5_RTR.bmp":["TR2final105-client.vl2"],"textures/armageddon/Armageddon_v5_UP.bmp":["TR2final105-client.vl2"],"textures/aurawisp.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/badlandday.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/badlands/bd_1wal03c.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eCol01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eCol01a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eCol02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ebor01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ebor02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ebor03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ebor04.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ebor05.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo1a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo1b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo2a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo2b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo3a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo3b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo3d.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo4a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ecombo4b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_edoo01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_edoo02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eflo01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_elig02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_elig02a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_elig03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_elig03a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_espe01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_espe02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_espe03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eterrain1a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eterrain2a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eterrain3a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eterrain3b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eterrain4a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_eterrain5a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal03c.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal04.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal05.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal06a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal07.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal08.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal09.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal10.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal11.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal13.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal13A.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal14.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal15.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ewal16.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iCol01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iCol02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor04.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor05.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor10.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor6.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor7.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor8.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ibor9.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_icei01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_icei02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_icei02a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_icei03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iceilig01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iceilig02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iceilig03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ichute01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ichute02a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_icoligolA.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_icomp01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_idoo03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iflo01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iflo02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iflo03b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ifunctec01a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ifunctec02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ilig01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ilig01a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_inf_ichute03.png":["Classic_maps_v1.vl2"],"textures/badlands/bd_ispe01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ispe03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ispe04.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ispe06.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ispe07.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_ispe07a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itebor01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itec01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itec01a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itec02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itec03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itec05.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itec06a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itewal01.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itewal01b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itewal01c.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_itewal01e.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iwal01b.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iwal01e.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iwal02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iwal03.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iwal03c.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_iwal16.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_screen.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_thresh01a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_thresh02.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/bd_thresh02a.png":["badlands.vl2","yHDTextures2.0.vl2"],"textures/badlands/be_ebor03.PNG":["Classic_maps_v1.vl2"],"textures/badlands/be_eflo02.PNG":["Classic_maps_v1.vl2"],"textures/badlands/be_elig03.PNG":["Classic_maps_v1.vl2"],"textures/badlands/be_ewal06.PNG":["Classic_maps_v1.vl2"],"textures/badlands/be_ewal07.PNG":["Classic_maps_v1.vl2"],"textures/badlands/be_icei01a.png":["Classic_maps_v1.vl2"],"textures/badlands/cp_ibor03.png":["Classic_maps_v1.vl2"],"textures/badlands/ds_efloor1.png":["Classic_maps_v1.vl2"],"textures/badlands/ds_ilig03.png":["Classic_maps_v1.vl2"],"textures/badlands/inf_butch_grey1.png":["Classic_maps_v1.vl2"],"textures/badlands/inf_butch_grey5.png":["Classic_maps_v1.vl2"],"textures/badlands/iwal20.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/badlands/iwal21.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/badlands/iwal22.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/badlands/skies/badlandday_BK.bm8":["badlands.vl2"],"textures/badlands/skies/badlandday_BK.png":["","badlands.vl2"],"textures/badlands/skies/badlandday_DN.bm8":["badlands.vl2"],"textures/badlands/skies/badlandday_DN.png":["badlands.vl2"],"textures/badlands/skies/badlandday_FR.bm8":["badlands.vl2"],"textures/badlands/skies/badlandday_FR.png":["","badlands.vl2"],"textures/badlands/skies/badlandday_LF.bm8":["badlands.vl2"],"textures/badlands/skies/badlandday_LF.png":["","badlands.vl2"],"textures/badlands/skies/badlandday_RT.bm8":["badlands.vl2"],"textures/badlands/skies/badlandday_RT.png":["","badlands.vl2"],"textures/badlands/skies/badlandday_UP.bm8":["badlands.vl2"],"textures/badlands/skies/badlandday_UP.png":["","badlands.vl2"],"textures/badlands/skies/bd_day_cloud1.bm8":["badlands.vl2"],"textures/badlands/skies/bd_day_cloud1.png":["badlands.vl2"],"textures/badlands/skies/bd_day_cloud2.bm8":["badlands.vl2"],"textures/badlands/skies/bd_day_cloud2.png":["badlands.vl2"],"textures/badlands/skies/bd_day_cloud_emap.bm8":["badlands.vl2"],"textures/badlands/skies/bd_day_cloud_emap.png":["badlands.vl2"],"textures/badlands/skies/bd_nite_starry_emap.bm8":["badlands.vl2"],"textures/badlands/skies/bd_nite_starry_emap.png":["badlands.vl2"],"textures/badlands/skies/skyrender_sky-credit.txt":[""],"textures/badlands/skies/starrynite_v2_BK.bm8":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_BK.png":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_DN.bm8":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_DN.png":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_FR.bm8":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_FR.png":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_LF.bm8":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_LF.png":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_RT.bm8":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_RT.png":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_UP.bm8":["badlands.vl2"],"textures/badlands/skies/starrynite_v2_UP.png":["badlands.vl2"],"textures/base.lmale.png":["TR2final105-client.vl2"],"textures/blackdust.dml":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_DN.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_bk.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_cloud1.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_cloud2.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_fr.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_lf.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_rt.png":["TWL2-MapPack.vl2"],"textures/blackdust/blackdust_up.png":["TWL2-MapPack.vl2"],"textures/borealis.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/canyon_crusade.dml":["TWL2-MapPack.vl2"],"textures/ccbsky2.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/clouds.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/commander/Cursors/com_cursor_arrow_icon.png":["textures.vl2"],"textures/commander/Cursors/com_handclose_icon.png":["textures.vl2"],"textures/commander/Cursors/com_handopen_icon.png":["textures.vl2"],"textures/commander/Cursors/com_maglass_icon.png":["textures.vl2"],"textures/commander/Cursors/com_pointer_icon.png":["textures.vl2"],"textures/commander/Cursors/com_pointer_pos_icon.png":["textures.vl2"],"textures/commander/Gui/cmd_columnheadbar.png":["textures.vl2"],"textures/commander/Gui/cmd_control_checkbox.png":["textures.vl2"],"textures/commander/Gui/cmd_gradient.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_camera.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_center.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_misc.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_misc_D.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_moveselect.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_objectives.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_players.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_sensor.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_tactical.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_tactical_D.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_text.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_waypoints.png":["textures.vl2"],"textures/commander/Gui/cmd_icon_zoom.png":["textures.vl2"],"textures/commander/Gui/cmd_offscreen_arrow.png":["textures.vl2"],"textures/commander/Gui/cmd_tv_frame.png":["textures.vl2"],"textures/commander/Gui/cmd_tv_static.png":["textures.vl2"],"textures/commander/Icons/assigned_task_anim.dml":["textures.vl2"],"textures/commander/Icons/base_select.dml":["textures.vl2"],"textures/commander/Icons/com_icon_bioderm.png":["textures.vl2"],"textures/commander/Icons/com_icon_bioderm_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_bloodeagle.png":["textures.vl2"],"textures/commander/Icons/com_icon_bloodeagle_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_bomber.png":["textures.vl2"],"textures/commander/Icons/com_icon_bomber_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_camera.png":["textures.vl2"],"textures/commander/Icons/com_icon_camera_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_diamsword.png":["textures.vl2"],"textures/commander/Icons/com_icon_diamsword_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_flag_outside.png":["textures.vl2"],"textures/commander/Icons/com_icon_flag_outside_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_generator.png":["textures.vl2"],"textures/commander/Icons/com_icon_generator_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_genericswitch.png":["textures.vl2"],"textures/commander/Icons/com_icon_genericswitch_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_hapc.png":["textures.vl2"],"textures/commander/Icons/com_icon_hapc_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_harbinger.png":["textures.vl2"],"textures/commander/Icons/com_icon_harbinger_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_inferno.png":["textures.vl2"],"textures/commander/Icons/com_icon_inferno_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_inventory.png":["textures.vl2"],"textures/commander/Icons/com_icon_inventory_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_landscout.png":["textures.vl2"],"textures/commander/Icons/com_icon_landscout_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_mpb.png":["textures.vl2"],"textures/commander/Icons/com_icon_mpb_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_nexus.png":["textures.vl2"],"textures/commander/Icons/com_icon_nexus_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_scout.png":["textures.vl2"],"textures/commander/Icons/com_icon_scout_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_sensor.png":["textures.vl2"],"textures/commander/Icons/com_icon_sensor_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_solar_gen.png":["textures.vl2"],"textures/commander/Icons/com_icon_solar_gen_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_starwolf.png":["textures.vl2"],"textures/commander/Icons/com_icon_starwolf_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_storm.png":["textures.vl2"],"textures/commander/Icons/com_icon_storm_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_tank.png":["textures.vl2"],"textures/commander/Icons/com_icon_tank_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_turret.png":["textures.vl2"],"textures/commander/Icons/com_icon_turret_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_turretbase.png":["textures.vl2"],"textures/commander/Icons/com_icon_turretbase_glow.png":["textures.vl2"],"textures/commander/Icons/com_icon_vehicle_inventory.png":["textures.vl2"],"textures/commander/Icons/com_icon_vehicle_inventory_glow.png":["textures.vl2"],"textures/commander/Icons/com_player_grey_24x.png":["textures.vl2"],"textures/commander/Icons/com_player_grey_24x_glow.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_1.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_2.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_3.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_4.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_5.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_6.png":["textures.vl2"],"textures/commander/Icons/com_waypoint_7.png":["textures.vl2"],"textures/commander/Icons/diamond_frame_1.png":["textures.vl2"],"textures/commander/Icons/diamond_frame_2.png":["textures.vl2"],"textures/commander/Icons/diamond_frame_3.png":["textures.vl2"],"textures/commander/Icons/diamond_frame_4.png":["textures.vl2"],"textures/commander/Icons/diamond_frame_5.png":["textures.vl2"],"textures/commander/Icons/diamond_frame_6.png":["textures.vl2"],"textures/commander/Icons/diamond_not_selected.png":["textures.vl2"],"textures/commander/Icons/player_glow.dml":["textures.vl2"],"textures/commander/Icons/selectobject_1.png":["textures.vl2"],"textures/commander/Icons/selectobject_2.png":["textures.vl2"],"textures/commander/Icons/selectobject_3.png":["textures.vl2"],"textures/commander/Icons/selectobject_4.png":["textures.vl2"],"textures/commander/Icons/selectobject_5.png":["textures.vl2"],"textures/commander/Icons/selectobject_6.png":["textures.vl2"],"textures/commander/Icons/selectobject_7.png":["textures.vl2"],"textures/commander/Icons/waypoint_anim.dml":["textures.vl2"],"textures/commander/MiniIcons/TR2com_flag_grey.png":["TR2final105-client.vl2"],"textures/commander/MiniIcons/com_bomber_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_camera_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_deploymotionsensor.png":["textures.vl2"],"textures/commander/MiniIcons/com_deploypulsesensor.png":["textures.vl2"],"textures/commander/MiniIcons/com_flag_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_generator.png":["textures.vl2"],"textures/commander/MiniIcons/com_hapc_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_inventory_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_landscout_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_mpb_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_player_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_scout_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_sensor_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_solargen_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_switch_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_tank_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_turret_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_turretbase_grey.png":["textures.vl2"],"textures/commander/MiniIcons/com_vehicle_pad_inventory.png":["textures.vl2"],"textures/commander/MiniIcons/com_waypoint_grey.png":["textures.vl2"],"textures/cubemap.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dark_green.dml":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_BK.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_DN.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_FR.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_LF.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_RT.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_UP.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_cloud1.png":["TWL2-MapPack.vl2"],"textures/dark_green/dark_green_cloud2.png":["TWL2-MapPack.vl2"],"textures/desert/cp_ecombo1a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ecombo1b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_eport01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_eport01c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_espec01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_espec02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_espec02BASE.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_espec02CAP.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_espec03.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_etec01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_etec02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01d.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01e.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ewal01f.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ibor01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ibor01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ibor02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ibor02a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ibor03.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ichute01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ichute02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icoldeco01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icoldeco01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icoligolA.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icomp01b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icomp01c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icomp01e.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icomp01f.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_icomp01g.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_idoo01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iflo01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iflo01d.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iflo02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iflo02a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iflo02b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iflo02c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig02a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig02b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig02c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig05a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ilig05b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispec01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispec01CAP.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispec02CAP.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispec02b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispecbase01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispecbase01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispecbase01d.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispecbase01f.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_ispecbase01g.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istair01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01d.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01e.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01f.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01g.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_istrface01h.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itec01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itec01c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itec02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itec03a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itec03b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itecwal01.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itecwal01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_itecwal01b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iwal02b.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iwal02d.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iwal02f.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iwal02g.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iwalbase02.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_iwalbase02a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_sand.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_screen.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_scrnbrdr01a.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_scrnbrdr01c.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_thresh01OFF.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/cp_thresh01ON.png":["desert.vl2","yHDTextures2.0.vl2"],"textures/desert/iwal2020.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/desert/iwal2021.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/desert/iwal2022.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/desert/skies/d_N_b.bm8":["desert.vl2"],"textures/desert/skies/d_N_b.png":["desert.vl2"],"textures/desert/skies/d_N_d.bm8":["desert.vl2"],"textures/desert/skies/d_N_d.png":["desert.vl2"],"textures/desert/skies/d_N_f.bm8":["desert.vl2"],"textures/desert/skies/d_N_f.png":["desert.vl2"],"textures/desert/skies/d_N_l.bm8":["desert.vl2"],"textures/desert/skies/d_N_l.png":["desert.vl2"],"textures/desert/skies/d_N_r.bm8":["desert.vl2"],"textures/desert/skies/d_N_r.png":["desert.vl2"],"textures/desert/skies/d_N_t.bm8":["desert.vl2"],"textures/desert/skies/d_N_t.png":["desert.vl2"],"textures/desert/skies/d_n_move1.bm8":["desert.vl2"],"textures/desert/skies/d_n_move1.png":["desert.vl2"],"textures/desert/skies/d_n_move2.bm8":["desert.vl2"],"textures/desert/skies/d_n_move2.png":["desert.vl2"],"textures/desert/skies/d_n_move3.bm8":["desert.vl2"],"textures/desert/skies/d_n_move3.png":["desert.vl2"],"textures/desert/skies/db2.bm8":["desert.vl2"],"textures/desert/skies/db2.png":["desert.vl2"],"textures/desert/skies/dd2.bm8":["desert.vl2"],"textures/desert/skies/dd2.png":["desert.vl2"],"textures/desert/skies/desert_blue_emap.bm8":["desert.vl2"],"textures/desert/skies/desert_blue_emap.png":["desert.vl2"],"textures/desert/skies/desert_brown_emap.bm8":["desert.vl2"],"textures/desert/skies/desert_brown_emap.png":["desert.vl2"],"textures/desert/skies/desert_starrynite_emap.bm8":["desert.vl2"],"textures/desert/skies/desert_starrynite_emap.png":["desert.vl2"],"textures/desert/skies/desertmove1.bm8":["desert.vl2"],"textures/desert/skies/desertmove1.png":["desert.vl2"],"textures/desert/skies/desertmove2.bm8":["desert.vl2"],"textures/desert/skies/desertmove2.png":["desert.vl2"],"textures/desert/skies/desertmove3.bm8":["desert.vl2"],"textures/desert/skies/desertmove3.png":["desert.vl2"],"textures/desert/skies/desertmove4.bm8":["desert.vl2"],"textures/desert/skies/desertmove4.png":["desert.vl2"],"textures/desert/skies/df2.bm8":["desert.vl2"],"textures/desert/skies/df2.png":["desert.vl2"],"textures/desert/skies/dl2.bm8":["desert.vl2"],"textures/desert/skies/dl2.png":["desert.vl2"],"textures/desert/skies/dr2.bm8":["desert.vl2"],"textures/desert/skies/dr2.png":["desert.vl2"],"textures/desert/skies/dt2.bm8":["desert.vl2"],"textures/desert/skies/dt2.png":["desert.vl2"],"textures/desert/skies/starrynite_v3_BK.bm8":["desert.vl2"],"textures/desert/skies/starrynite_v3_BK.png":["desert.vl2"],"textures/desert/skies/starrynite_v3_DN.bm8":["desert.vl2"],"textures/desert/skies/starrynite_v3_DN.png":["desert.vl2"],"textures/desert/skies/starrynite_v3_FR.bm8":["desert.vl2"],"textures/desert/skies/starrynite_v3_FR.png":["desert.vl2"],"textures/desert/skies/starrynite_v3_LF.bm8":["desert.vl2"],"textures/desert/skies/starrynite_v3_LF.png":["desert.vl2"],"textures/desert/skies/starrynite_v3_RT.bm8":["desert.vl2"],"textures/desert/skies/starrynite_v3_RT.png":["desert.vl2"],"textures/desert/skies/starrynite_v3_UP.bm8":["desert.vl2"],"textures/desert/skies/starrynite_v3_UP.png":["desert.vl2"],"textures/details/BadDet1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/BadDet2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/DesertDet1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/DesertDet2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/LavaDet1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/LavaDet2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/LushDet1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/LushDet2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/PlanetX_CB1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/details/SnowDet1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/details/SnowDet2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dox_textures/4circle_lite.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/antigrav.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/bluetrim1.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/bluetrim2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/bluetrim3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/carinternalwall.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/carrierwall4.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/doorlogo2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_etechbor01.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_etechbrdr2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_ewall06.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_ewall07.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_genfloor.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_genwall.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_ilig04.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/ds_iwal01.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/grate1.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/grate2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/hangar_indoor1.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/hangar_indoor3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/light_cold3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/light_small2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/redstripe2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/rock_smalllite.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/rock_wall_lite.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/rock_wall_lite3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/rock_wall_lite4.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/rock_wall_lite5.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/roofbeam.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/rway_middle.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/sboxlogotop.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/slabgrill.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/stripe2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/striplite2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/striplite3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/wall_2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/wall_3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dox_textures/white_striplite.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/dust00.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust01.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust02.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust03.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust04.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust05.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust06.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust07.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust08.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust09.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/dust10.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/eedessert.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/emap.bmp":["textures.vl2"],"textures/emap.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/eve1.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve2.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve3.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve4.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve5.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve6.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve7.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/eve8.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/evil/ancient3.png":["TWL2-MapPack.vl2"],"textures/evil/base1c.png":["TWL2-MapPack.vl2"],"textures/evil/beam01.png":["TWL2-MapPack.vl2"],"textures/evil/bolttrim.png":["TWL2-MapPack.vl2"],"textures/evil/cementwall6.png":["TWL2-MapPack.vl2"],"textures/evil/cementwall8.png":["TWL2-MapPack.vl2"],"textures/evil/cretepillarc.png":["TWL2-MapPack.vl2"],"textures/evil/crudewarn.png":["TWL2-MapPack.vl2"],"textures/evil/drkmtldpanelc.png":["TWL2-MapPack.vl2"],"textures/evil/e6cfloordented.png":["TWL2-MapPack.vl2"],"textures/evil/e6girdergrate.png":["TWL2-MapPack.vl2"],"textures/evil/e6grate2flr.png":["TWL2-MapPack.vl2"],"textures/evil/e6horzlight.png":["TWL2-MapPack.vl2"],"textures/evil/e6smlgrtflr2bl.png":["TWL2-MapPack.vl2"],"textures/evil/e6strimlight.png":["TWL2-MapPack.vl2"],"textures/evil/housewall.png":["TWL2-MapPack.vl2"],"textures/evil/mtlsupgrt2light.png":["TWL2-MapPack.vl2"],"textures/evil/tfloor.png":["TWL2-MapPack.vl2"],"textures/evil/tlroddtilecln.png":["TWL2-MapPack.vl2"],"textures/evil/tmtllight.png":["TWL2-MapPack.vl2"],"textures/evil/trimodd.png":["TWL2-MapPack.vl2"],"textures/evil/warning2.png":["TWL2-MapPack.vl2"],"textures/flag_skinmap.png":["TR2final105-client.vl2"],"textures/flarebase.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/flaremod.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/fling1/Nycto-comp3.png":["S8maps.vl2"],"textures/fling1/Nycto-computer.png":["S8maps.vl2"],"textures/fling1/bd_ispe07.PNG":["S8maps.vl2"],"textures/fling1/be_edoo02.PNG":["S8maps.vl2"],"textures/fling1/be_icei01a.png":["S8maps.vl2"],"textures/fling1/crudewarn.png":["S8maps.vl2"],"textures/fling1/dox_bluelite1.png":["S8maps.vl2"],"textures/fling1/ds_NefBlue.png":["S8maps.vl2"],"textures/fling1/ds_NefBlue1.png":["S8maps.vl2"],"textures/fling1/ds_Neffloor1.png":["S8maps.vl2"],"textures/fling1/ds_ilig02.png":["S8maps.vl2"],"textures/fling1/ds_ilig04.png":["S8maps.vl2"],"textures/fling1/ds_jet03.png":["S8maps.vl2"],"textures/fling1/e6strimlight.png":["S8maps.vl2"],"textures/fling1/e8clangfloor.png":["S8maps.vl2"],"textures/fling1/e8tinylight_000.png":["S8maps.vl2"],"textures/fling1/null.png":["S8maps.vl2"],"textures/flingsky/emap_muddy.png":["S8maps.vl2"],"textures/flingsky/flingsky03_BK.png":["S8maps.vl2"],"textures/flingsky/flingsky03_DN.png":["S8maps.vl2"],"textures/flingsky/flingsky03_FR.png":["S8maps.vl2"],"textures/flingsky/flingsky03_LF.png":["S8maps.vl2"],"textures/flingsky/flingsky03_RT.png":["S8maps.vl2"],"textures/flingsky/flingsky03_UP.png":["S8maps.vl2"],"textures/flingsky03.dml":["S8maps.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/fluid_lava.dml":["textures.vl2"],"textures/fluid_water.dml":["textures.vl2"],"textures/gui/BloodEagle.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/CRED_1.png":["textures.vl2"],"textures/gui/CRED_10.png":["textures.vl2"],"textures/gui/CRED_11.png":["textures.vl2"],"textures/gui/CRED_12.png":["textures.vl2"],"textures/gui/CRED_13.png":["textures.vl2"],"textures/gui/CRED_14.png":["textures.vl2"],"textures/gui/CRED_15.png":["textures.vl2"],"textures/gui/CRED_16.png":["textures.vl2"],"textures/gui/CRED_17.png":["textures.vl2"],"textures/gui/CRED_18.png":["textures.vl2"],"textures/gui/CRED_19.png":["textures.vl2"],"textures/gui/CRED_2.png":["textures.vl2"],"textures/gui/CRED_20.png":["textures.vl2"],"textures/gui/CRED_21.png":["textures.vl2"],"textures/gui/CRED_22.png":["textures.vl2"],"textures/gui/CRED_23.png":["textures.vl2"],"textures/gui/CRED_24.png":["textures.vl2"],"textures/gui/CRED_25.png":["textures.vl2"],"textures/gui/CRED_26.png":["textures.vl2"],"textures/gui/CRED_27.png":["textures.vl2"],"textures/gui/CRED_28.png":["textures.vl2"],"textures/gui/CRED_29.png":["textures.vl2"],"textures/gui/CRED_3.png":["textures.vl2"],"textures/gui/CRED_30.png":["textures.vl2"],"textures/gui/CRED_31.png":["textures.vl2"],"textures/gui/CRED_32.png":["textures.vl2"],"textures/gui/CRED_33.png":["textures.vl2"],"textures/gui/CRED_34.png":["textures.vl2"],"textures/gui/CRED_35.png":["textures.vl2"],"textures/gui/CRED_36.png":["textures.vl2"],"textures/gui/CRED_37.png":["textures.vl2"],"textures/gui/CRED_38.png":["textures.vl2"],"textures/gui/CRED_39.png":["textures.vl2"],"textures/gui/CRED_4.png":["textures.vl2"],"textures/gui/CRED_40.png":["textures.vl2"],"textures/gui/CRED_41.png":["textures.vl2"],"textures/gui/CRED_42.png":["textures.vl2"],"textures/gui/CRED_43.png":["textures.vl2"],"textures/gui/CRED_44.png":["textures.vl2"],"textures/gui/CRED_45.png":["textures.vl2"],"textures/gui/CRED_46.png":["textures.vl2"],"textures/gui/CRED_5.png":["textures.vl2"],"textures/gui/CRED_6.png":["textures.vl2"],"textures/gui/CRED_7.png":["textures.vl2"],"textures/gui/CRED_8.png":["textures.vl2"],"textures/gui/CRED_9.png":["textures.vl2"],"textures/gui/CUR_3darrow.png":["textures.vl2"],"textures/gui/CUR_3darrowhelp.png":["textures.vl2"],"textures/gui/CUR_3darrowno.PNG":["textures.vl2"],"textures/gui/CUR_3darrowwait.png":["textures.vl2"],"textures/gui/CUR_3ddiagleft.png":["textures.vl2"],"textures/gui/CUR_3ddiagright.png":["textures.vl2"],"textures/gui/CUR_3dleftright.png":["textures.vl2"],"textures/gui/CUR_3dmove.png":["textures.vl2"],"textures/gui/CUR_3dresizeright.png":["textures.vl2"],"textures/gui/CUR_3dupdown.PNG":["textures.vl2"],"textures/gui/CUR_Grab.png":["textures.vl2"],"textures/gui/CUR_Hand.png":["textures.vl2"],"textures/gui/CUR_Rotate.png":["textures.vl2"],"textures/gui/Editor_DefaultHandle.png":["textures.vl2"],"textures/gui/Editor_LockedHandle.png":["textures.vl2"],"textures/gui/Editor_SelectHandle.png":["textures.vl2"],"textures/gui/GGSplash.jpg":["textures.vl2"],"textures/gui/HUD_watermark1.png":["textures.vl2"],"textures/gui/HUD_watermark2.png":["textures.vl2"],"textures/gui/Hud_chat_button_off.png":["textures.vl2"],"textures/gui/Hud_chat_button_on.png":["textures.vl2"],"textures/gui/InfoBar.png":["textures.vl2"],"textures/gui/KILLME.PNG":["textures.vl2"],"textures/gui/LOAD_Atropos2.png":["atroposthereturn.vl2"],"textures/gui/LOAD_Centaur.png":["centaur.vl2"],"textures/gui/LOAD_ColdFusion.png":["ColdFusion.vl2"],"textures/gui/LOAD_DeathRow.png":["DeathRow.vl2"],"textures/gui/LOAD_Exposure.png":["Exposure-v1.1.vl2"],"textures/gui/LOAD_Prismatic.png":["Prismatic.vl2"],"textures/gui/Load_2ArenaDome.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_2ArenaValley.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_2DustBowl.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_2Flyersarena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_2IceDome.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_2IndoorIntensity.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Abominable.png":["textures.vl2"],"textures/gui/Load_AcidRain.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Aeroena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_AgentsOfFortune.png":["textures.vl2"],"textures/gui/Load_Alcatraz.png":["textures.vl2"],"textures/gui/Load_Archipelago.png":["textures.vl2"],"textures/gui/Load_ArenaHeaven.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_ArenaHell.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_ArenaHell2.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_ArenaInTheHill.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_ArenaUnderTheHill.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_AryoArena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_AshesToAshes.png":["textures.vl2"],"textures/gui/Load_BeggarsRun.png":["textures.vl2"],"textures/gui/Load_Blastside_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_BridgeTooFar.png":["DynamixFinalPack.vl2"],"textures/gui/Load_Broadside_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Caldera.png":["textures.vl2"],"textures/gui/Load_Casern_Cavite.png":["textures.vl2"],"textures/gui/Load_ColdWar.png":["ColdWar.vl2"],"textures/gui/Load_CompUSA-Melee.png":["textures.vl2"],"textures/gui/Load_CompUSA_Melee.png":["textures.vl2"],"textures/gui/Load_Confusco.png":["Classic_maps_v1.vl2"],"textures/gui/Load_ContainmentLarge.png":["ContainmentLarge.vl2"],"textures/gui/Load_CrashClash.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_DMP_Agroleon.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Astro.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_BastardForge.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_BitterGorge.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Bunkered.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Cinerarium.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_DermCity.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Embers.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_EmeraldSpit.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_FaceCrossing.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Hoth.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_IceGiant.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_IsleDeBatalla.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_LavaGods.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Magellan.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_MoonDance.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Pantheon.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Paranoia.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Pariah.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_PipeDream.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_RavineV.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_ScorchedEarth.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_SimpleFlagArena.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_SpinCycle.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_StarFall.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Tyre.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_DMP_Wasteland.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/gui/Load_Damnation.png":["textures.vl2"],"textures/gui/Load_DangerousCrossingArena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_DangerousCrossing_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_DeathBirdsFly.png":["textures.vl2"],"textures/gui/Load_DeathFromBelow.png":["DeathFromBelow.vl2"],"textures/gui/Load_DesertOfDeath_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Desiccator.png":["textures.vl2"],"textures/gui/Load_DevilsElbow.png":["DynamixFinalPack.vl2"],"textures/gui/Load_DustToDust.png":["textures.vl2"],"textures/gui/Load_EB-Hades.png":["textures.vl2"],"textures/gui/Load_EB_Hades.png":["textures.vl2"],"textures/gui/Load_Envyrena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_EnyLand.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Equinox.png":["textures.vl2"],"textures/gui/Load_Escalade.png":["textures.vl2"],"textures/gui/Load_EveningLand.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Fall_To_Glory.png":["textures.vl2"],"textures/gui/Load_FinalRevenge.png":["FinalRevenge.vl2"],"textures/gui/Load_Flashpoint.png":["textures.vl2"],"textures/gui/Load_Gauntlet.png":["textures.vl2"],"textures/gui/Load_Gehenna.png":["textures.vl2"],"textures/gui/Load_Gorgon.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Helioarena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Hillside.png":["Classic_maps_v1.vl2"],"textures/gui/Load_IceRidge_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Icebound.png":["textures.vl2"],"textures/gui/Load_InnerSanctum.png":["DynamixFinalPack.vl2"],"textures/gui/Load_Insalubria.png":["textures.vl2"],"textures/gui/Load_Invictus.png":["textures.vl2"],"textures/gui/Load_IsleOfMan.png":["DynamixFinalPack.vl2"],"textures/gui/Load_IveHadWorse.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_JacobsLadder.png":["textures.vl2"],"textures/gui/Load_Khalarena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Lakefront.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Magmatic.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Masada.png":["textures.vl2"],"textures/gui/Load_Minotaur.png":["textures.vl2"],"textures/gui/Load_Morena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Mudside.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Mutiny.png":["Mutiny.vl2"],"textures/gui/Load_MyrkWood.png":["textures.vl2"],"textures/gui/Load_Oasis.png":["textures.vl2"],"textures/gui/Load_Overreach.png":["textures.vl2"],"textures/gui/Load_Pantheon.png":["DynamixFinalPack.vl2"],"textures/gui/Load_Planetside.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Pyroclasm.png":["textures.vl2"],"textures/gui/Load_Quagmire.png":["textures.vl2"],"textures/gui/Load_Raindance_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Ramparts.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Rasp.png":["textures.vl2"],"textures/gui/Load_Recalescence.png":["textures.vl2"],"textures/gui/Load_Respite.png":["textures.vl2"],"textures/gui/Load_Reversion.png":["textures.vl2"],"textures/gui/Load_Ridgerena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Rimehold.png":["textures.vl2"],"textures/gui/Load_Rollercoaster_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_S5_Centaur.png":["S5maps.vl2"],"textures/gui/Load_S5_Damnation.png":["S5maps.vl2"],"textures/gui/Load_S5_Drache.png":["S5maps.vl2"],"textures/gui/Load_S5_HawkingHeat.png":["S5maps.vl2"],"textures/gui/Load_S5_Icedance.png":["S5maps.vl2"],"textures/gui/Load_S5_Massive.png":["S5maps.vl2"],"textures/gui/Load_S5_Mimicry.png":["S5maps.vl2"],"textures/gui/Load_S5_Misadventure.png":["S5maps.vl2"],"textures/gui/Load_S5_Mordacity.png":["S5maps.vl2"],"textures/gui/Load_S5_Reynard.png":["S5maps.vl2"],"textures/gui/Load_S5_Sherman.png":["S5maps.vl2"],"textures/gui/Load_S5_Silenus.png":["S5maps.vl2"],"textures/gui/Load_S5_Woodymyrk.png":["S5maps.vl2"],"textures/gui/Load_Sanctuary.png":["textures.vl2"],"textures/gui/Load_Sandstorm.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Scarabrae_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_ShockRidge.png":["Classic_maps_v1.vl2"],"textures/gui/Load_ShrineArena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_ShrineArenaII.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_SilentStorm.png":["SilentStorm.vl2"],"textures/gui/Load_Sirocco.png":["textures.vl2"],"textures/gui/Load_Slapdash.png":["textures.vl2"],"textures/gui/Load_Snowblind_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_SoccerLand.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_SpyLand.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Starfallen.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Stonehenge_nef.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Subzero.png":["Classic_maps_v1.vl2"],"textures/gui/Load_SunDried.png":["textures.vl2"],"textures/gui/Load_Surreal.png":["Classic_maps_v1.vl2"],"textures/gui/Load_TWL2_Bleed.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_BlueMoon.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_CanyonCrusadeDeluxe.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Celerity.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_CloakOfNight.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Crevice.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Dissention.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Drifts.PNG":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Drorck.PNG":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_FrozenGlory.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_FrozenHope.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Hildebrand.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_IceDagger.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_JaggedClaw.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Magnum.PNG":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_MidnightMayhemDeluxe.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_MuddySwamp.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Norty.PNG":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Ocular.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_RoughLand.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Ruined.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_Skylight.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL2_WoodyMyrk.png":["TWL2-MapPack.vl2"],"textures/gui/Load_TWL_Abaddon.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_BaNsHee.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_BeachBlitz.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_BeggarsRun.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_BlueMoon.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Boss.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Celerity.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Chokepoint.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Cinereous.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Clusterfuct.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Crossfire.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Curtilage.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Damnation.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_DangerousCrossing.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_DeadlyBirdsSong.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Deserted.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Desiccator.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Drifts.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Feign.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Frostclaw.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Frozen.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Harvester.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Horde.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Katabatic.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Magmatic.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Minotaur.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Neve.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_NoShelter.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_OsIris.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Pandemonium.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Quagmire.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Raindance.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Ramparts.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Reversion.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Rollercoaster.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Runenmacht.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Sandstorm.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Slapdash.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Snowblind.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Starfallen.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Stonehenge.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_SubZero.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Surreal.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_Titan.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_WhiteDwarf.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_WilderZone.png":["TWL-MapPack.vl2"],"textures/gui/Load_TWL_WoodyMyrk.png":["TWL-MapPack.vl2"],"textures/gui/Load_Talus.png":["textures.vl2"],"textures/gui/Load_TempleTussleVersion2.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_ThinIce.png":["textures.vl2"],"textures/gui/Load_Titan.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Tombstone.png":["textures.vl2"],"textures/gui/Load_Training1.png":["textures.vl2"],"textures/gui/Load_Training2.png":["textures.vl2"],"textures/gui/Load_Training3.png":["textures.vl2"],"textures/gui/Load_Training4.png":["textures.vl2"],"textures/gui/Load_Training5.png":["textures.vl2"],"textures/gui/Load_Trident.png":["DynamixFinalPack.vl2"],"textures/gui/Load_TridentLE.png":["TridentLE.vl2"],"textures/gui/Load_TrueGrit.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_UltimaThule.png":["textures.vl2"],"textures/gui/Load_Underhill.png":["textures.vl2"],"textures/gui/Load_UphillBattle.png":["UphillBattle.vl2"],"textures/gui/Load_UporDown.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_WalledIn.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_WalledInII.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_WhiteDwarf.png":["Classic_maps_v1.vl2"],"textures/gui/Load_Whiteout.png":["textures.vl2"],"textures/gui/Load_WonderLand.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_WoodyMyrk.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Load_Yubarena.png":["zAddOnsVL2s/TWL_T2arenaOfficialMaps.vl2"],"textures/gui/Loading.png":["textures.vl2"],"textures/gui/RET_blaster.png":["textures.vl2"],"textures/gui/RET_chaingun.png":["textures.vl2"],"textures/gui/RET_disc.png":["textures.vl2"],"textures/gui/RET_elf.png":["textures.vl2"],"textures/gui/RET_grenade.png":["textures.vl2"],"textures/gui/RET_missile.png":["textures.vl2"],"textures/gui/RET_missile_horizflash_red.png":["textures.vl2"],"textures/gui/RET_missile_marker.png":["textures.vl2"],"textures/gui/RET_missile_marker_red.png":["textures.vl2"],"textures/gui/RET_missile_vertflash_red.png":["textures.vl2"],"textures/gui/RET_mortor.png":["textures.vl2"],"textures/gui/RET_plasma.png":["textures.vl2"],"textures/gui/ShellTBButtonHilight.png":["textures.vl2"],"textures/gui/ShellTBButtonNormal.png":["textures.vl2"],"textures/gui/ShellTBButtonPressed.png":["textures.vl2"],"textures/gui/TR2hud_playertriangle.png":["TR2final105-client.vl2"],"textures/gui/TR2hud_playertriangle_enemy.png":["TR2final105-client.vl2"],"textures/gui/beacon_base.png":["textures.vl2"],"textures/gui/bg_Bioderm.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/bg_Bloodeagle.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/bg_Diamondsword.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/bg_Hammers.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/bg_Harbingers.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/bg_Starwolf.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/gui/crosshairs.png":["textures.vl2"],"textures/gui/darkScroll.png":["textures.vl2"],"textures/gui/darkWindow.png":["textures.vl2"],"textures/gui/dlg_box.png":["textures.vl2"],"textures/gui/dlg_button.png":["textures.vl2"],"textures/gui/dlg_fieldfill.png":["textures.vl2"],"textures/gui/dlg_fieldgrade.png":["textures.vl2"],"textures/gui/dlg_frame_edge.png":["textures.vl2"],"textures/gui/dlg_frame_end.png":["textures.vl2"],"textures/gui/dlg_titletab.png":["textures.vl2"],"textures/gui/email_notread.png":["textures.vl2"],"textures/gui/email_read.png":["textures.vl2"],"textures/gui/hud_ChatPageDown.png":["textures.vl2"],"textures/gui/hud_alliedtriangle.png":["textures.vl2"],"textures/gui/hud_ammopack.png":["textures.vl2"],"textures/gui/hud_armbar.png":["textures.vl2"],"textures/gui/hud_armbaricon.png":["textures.vl2"],"textures/gui/hud_beacon.png":["textures.vl2"],"textures/gui/hud_blaster.png":["textures.vl2"],"textures/gui/hud_camera.png":["textures.vl2"],"textures/gui/hud_chaingun.png":["textures.vl2"],"textures/gui/hud_chat.png":["textures.vl2"],"textures/gui/hud_cloakpack.png":["textures.vl2"],"textures/gui/hud_cmmndfield.png":["textures.vl2"],"textures/gui/hud_deploypack.png":["textures.vl2"],"textures/gui/hud_disc.png":["textures.vl2"],"textures/gui/hud_disconnect.png":["textures.vl2"],"textures/gui/hud_dot.png":["textures.vl2"],"textures/gui/hud_east.png":["textures.vl2"],"textures/gui/hud_elfgun.png":["textures.vl2"],"textures/gui/hud_enemytriangle.png":["textures.vl2"],"textures/gui/hud_energypack.png":["textures.vl2"],"textures/gui/hud_ergbar.png":["textures.vl2"],"textures/gui/hud_ergbaricon.png":["textures.vl2"],"textures/gui/hud_grenlaunch.png":["textures.vl2"],"textures/gui/hud_handgren.png":["textures.vl2"],"textures/gui/hud_infinity.png":["textures.vl2"],"textures/gui/hud_jamm.png":["textures.vl2"],"textures/gui/hud_medpack.png":["textures.vl2"],"textures/gui/hud_mine.png":["textures.vl2"],"textures/gui/hud_missiles.png":["textures.vl2"],"textures/gui/hud_mistimer.png":["textures.vl2"],"textures/gui/hud_mortor.png":["textures.vl2"],"textures/gui/hud_navcirc.png":["textures.vl2"],"textures/gui/hud_new_NSEW.png":["textures.vl2"],"textures/gui/hud_new_beacon.png":["textures.vl2"],"textures/gui/hud_new_blaster.png":["textures.vl2"],"textures/gui/hud_new_chaingun.png":["textures.vl2"],"textures/gui/hud_new_cog.png":["textures.vl2"],"textures/gui/hud_new_compass.png":["textures.vl2"],"textures/gui/hud_new_disc.png":["textures.vl2"],"textures/gui/hud_new_elfgun.png":["textures.vl2"],"textures/gui/hud_new_grenlaunch.png":["textures.vl2"],"textures/gui/hud_new_handgren.png":["textures.vl2"],"textures/gui/hud_new_medpack.png":["textures.vl2"],"textures/gui/hud_new_mine.png":["textures.vl2"],"textures/gui/hud_new_missile.png":["textures.vl2"],"textures/gui/hud_new_mortar.png":["textures.vl2"],"textures/gui/hud_new_packammo.png":["textures.vl2"],"textures/gui/hud_new_packcloak.png":["textures.vl2"],"textures/gui/hud_new_packcloak_armed.png":["textures.vl2"],"textures/gui/hud_new_packenergy.png":["textures.vl2"],"textures/gui/hud_new_packinventory.png":["textures.vl2"],"textures/gui/hud_new_packmotionsens.png":["textures.vl2"],"textures/gui/hud_new_packradar.png":["textures.vl2"],"textures/gui/hud_new_packrepair.png":["textures.vl2"],"textures/gui/hud_new_packrepair_armed.png":["textures.vl2"],"textures/gui/hud_new_packsatchel.png":["textures.vl2"],"textures/gui/hud_new_packsensjam.png":["textures.vl2"],"textures/gui/hud_new_packsensjam_armed.png":["textures.vl2"],"textures/gui/hud_new_packshield.png":["textures.vl2"],"textures/gui/hud_new_packshield_armed.png":["textures.vl2"],"textures/gui/hud_new_packturret.png":["textures.vl2"],"textures/gui/hud_new_packturretin.png":["textures.vl2"],"textures/gui/hud_new_packturretout.png":["textures.vl2"],"textures/gui/hud_new_panel.png":["textures.vl2"],"textures/gui/hud_new_ping.png":["textures.vl2"],"textures/gui/hud_new_ping_green.png":["textures.vl2"],"textures/gui/hud_new_ping_red.png":["textures.vl2"],"textures/gui/hud_new_ping_yellow.png":["textures.vl2"],"textures/gui/hud_new_plasma.png":["textures.vl2"],"textures/gui/hud_new_scorewindow.png":["textures.vl2"],"textures/gui/hud_new_shocklance.png":["textures.vl2"],"textures/gui/hud_new_sniper.png":["textures.vl2"],"textures/gui/hud_new_targetlaser.png":["textures.vl2"],"textures/gui/hud_new_weaponselect.png":["textures.vl2"],"textures/gui/hud_new_window_BL.png":["textures.vl2"],"textures/gui/hud_new_window_BM.png":["textures.vl2"],"textures/gui/hud_new_window_BR.png":["textures.vl2"],"textures/gui/hud_new_window_ML.png":["textures.vl2"],"textures/gui/hud_new_window_MM.png":["textures.vl2"],"textures/gui/hud_new_window_MR.png":["textures.vl2"],"textures/gui/hud_new_window_TL.png":["textures.vl2"],"textures/gui/hud_new_window_TM.png":["textures.vl2"],"textures/gui/hud_new_window_TR.png":["textures.vl2"],"textures/gui/hud_nopack.png":["textures.vl2"],"textures/gui/hud_north.png":["textures.vl2"],"textures/gui/hud_objective.png":["textures.vl2"],"textures/gui/hud_objtimer.png":["textures.vl2"],"textures/gui/hud_packback.png":["textures.vl2"],"textures/gui/hud_packwin.png":["textures.vl2"],"textures/gui/hud_ping.png":["textures.vl2"],"textures/gui/hud_plasma.png":["textures.vl2"],"textures/gui/hud_playertriangle.png":["textures.vl2"],"textures/gui/hud_playertriangle_enemy.png":["textures.vl2"],"textures/gui/hud_repairpack.png":["textures.vl2"],"textures/gui/hud_ret_bomber.png":["textures.vl2"],"textures/gui/hud_ret_shocklance.png":["textures.vl2"],"textures/gui/hud_ret_shrike.png":["textures.vl2"],"textures/gui/hud_ret_sniper.png":["textures.vl2"],"textures/gui/hud_ret_tankchaingun.png":["textures.vl2"],"textures/gui/hud_ret_tankmortar.png":["textures.vl2"],"textures/gui/hud_ret_targlaser.png":["textures.vl2"],"textures/gui/hud_retrng.png":["textures.vl2"],"textures/gui/hud_satchel_armed.png":["textures.vl2"],"textures/gui/hud_satchel_unarmed.png":["textures.vl2"],"textures/gui/hud_sensorbar.png":["textures.vl2"],"textures/gui/hud_sensorbar_glow.png":["textures.vl2"],"textures/gui/hud_sensorbar_glow1.png":["textures.vl2"],"textures/gui/hud_sensorbar_glow2.png":["textures.vl2"],"textures/gui/hud_shieldpack.png":["textures.vl2"],"textures/gui/hud_shocklance.png":["textures.vl2"],"textures/gui/hud_sniper.png":["textures.vl2"],"textures/gui/hud_south.png":["textures.vl2"],"textures/gui/hud_targetlaser.png":["textures.vl2"],"textures/gui/hud_veh_bomb.png":["textures.vl2"],"textures/gui/hud_veh_enrgbar.png":["textures.vl2"],"textures/gui/hud_veh_enrgbarback.png":["textures.vl2"],"textures/gui/hud_veh_icon_assault.png":["textures.vl2"],"textures/gui/hud_veh_icon_bomber.png":["textures.vl2"],"textures/gui/hud_veh_icon_hapc.png":["textures.vl2"],"textures/gui/hud_veh_icon_hole.png":["textures.vl2"],"textures/gui/hud_veh_icon_hoverbike.png":["textures.vl2"],"textures/gui/hud_veh_icon_mpb.png":["textures.vl2"],"textures/gui/hud_veh_icon_shrike.png":["textures.vl2"],"textures/gui/hud_veh_new_bombardier_dash.png":["textures.vl2"],"textures/gui/hud_veh_new_dash.png":["textures.vl2"],"textures/gui/hud_veh_new_dashpiece_1.png":["textures.vl2"],"textures/gui/hud_veh_new_dashpiece_2.png":["textures.vl2"],"textures/gui/hud_veh_new_dashpiece_3.png":["textures.vl2"],"textures/gui/hud_veh_new_dashpiece_4.png":["textures.vl2"],"textures/gui/hud_veh_new_dashpiece_5.png":["textures.vl2"],"textures/gui/hud_veh_new_hilite_left.png":["textures.vl2"],"textures/gui/hud_veh_new_hilite_middle.png":["textures.vl2"],"textures/gui/hud_veh_new_hilite_right.png":["textures.vl2"],"textures/gui/hud_veh_new_tankgunner_dash.png":["textures.vl2"],"textures/gui/hud_veh_nrgbar.png":["textures.vl2"],"textures/gui/hud_veh_nrgbar_back.png":["textures.vl2"],"textures/gui/hud_veh_passenger_dot.png":["textures.vl2"],"textures/gui/hud_veh_passengers.png":["textures.vl2"],"textures/gui/hud_veh_seatdot.png":["textures.vl2"],"textures/gui/hud_veh_speedaltwin.png":["textures.vl2"],"textures/gui/hud_veh_speedaltwinback.png":["textures.vl2"],"textures/gui/hud_veh_speedo_bkgrnd.png":["textures.vl2"],"textures/gui/hud_veh_speedo_frame.png":["textures.vl2"],"textures/gui/hud_veh_weapon_back.png":["textures.vl2"],"textures/gui/hud_veh_weapon_frame.png":["textures.vl2"],"textures/gui/hud_veh_weaponback.png":["textures.vl2"],"textures/gui/hud_veh_weaponwin.png":["textures.vl2"],"textures/gui/hud_weaphigh.png":["textures.vl2"],"textures/gui/hud_weapwin.png":["textures.vl2"],"textures/gui/hud_west.png":["textures.vl2"],"textures/gui/immersion.jpg":["textures.vl2"],"textures/gui/launch_btn.png":["textures.vl2"],"textures/gui/launch_btn_act.png":["textures.vl2"],"textures/gui/launch_btn_rol.png":["textures.vl2"],"textures/gui/launchtop_btn.png":["textures.vl2"],"textures/gui/launchtop_btn_act.png":["textures.vl2"],"textures/gui/lnch_Tab.png":["textures.vl2"],"textures/gui/load_Firestorm.png":["textures.vl2"],"textures/gui/load_Fracas.png":["textures.vl2"],"textures/gui/load_Geronimo.png":["Geronimo.vl2"],"textures/gui/load_Katabatic.png":["textures.vl2"],"textures/gui/load_Patience.png":["Patience.vl2"],"textures/gui/load_Riverdance.png":["textures.vl2"],"textures/gui/load_VulcansHammer.png":["VulcansHammer.vl2"],"textures/gui/load_broken_dreams.png":["brokendreams_2.vl2"],"textures/gui/load_solace.png":["Solace.vl2"],"textures/gui/lobby_headset.png":["textures.vl2"],"textures/gui/lobby_icon_listen.png":["textures.vl2"],"textures/gui/lobby_icon_speak.png":["textures.vl2"],"textures/gui/server_retrievebar.png":["textures.vl2"],"textures/gui/server_tabs.png":["textures.vl2"],"textures/gui/shellScroll.png":["textures.vl2"],"textures/gui/shll_bar_act.png":["textures.vl2"],"textures/gui/shll_bar_rol.png":["textures.vl2"],"textures/gui/shll_button.png":["textures.vl2"],"textures/gui/shll_entryfield.png":["textures.vl2"],"textures/gui/shll_field_BL.png":["textures.vl2"],"textures/gui/shll_field_BM.png":["textures.vl2"],"textures/gui/shll_field_BR.png":["textures.vl2"],"textures/gui/shll_field_ML.png":["textures.vl2"],"textures/gui/shll_field_MM.png":["textures.vl2"],"textures/gui/shll_field_MR.png":["textures.vl2"],"textures/gui/shll_field_TL.png":["textures.vl2"],"textures/gui/shll_field_TM.png":["textures.vl2"],"textures/gui/shll_field_TR.png":["textures.vl2"],"textures/gui/shll_fieldfill.png":["textures.vl2"],"textures/gui/shll_fieldgrade.png":["textures.vl2"],"textures/gui/shll_frame_edge.png":["textures.vl2"],"textures/gui/shll_frame_end.png":["textures.vl2"],"textures/gui/shll_horizontalfield.png":["textures.vl2"],"textures/gui/shll_horzspacer.png":["textures.vl2"],"textures/gui/shll_horztabbutton.png":["textures.vl2"],"textures/gui/shll_horztabbuttonB.png":["textures.vl2"],"textures/gui/shll_horztabframeclose.png":["textures.vl2"],"textures/gui/shll_horztabframeclosea.png":["textures.vl2"],"textures/gui/shll_horztabframegrad.png":["textures.vl2"],"textures/gui/shll_horztabframegrada.png":["textures.vl2"],"textures/gui/shll_horztabframegradedge.png":["textures.vl2"],"textures/gui/shll_horztabframegradedgea.png":["textures.vl2"],"textures/gui/shll_icon_dedicated.png":["textures.vl2"],"textures/gui/shll_icon_dedicated_hi.png":["textures.vl2"],"textures/gui/shll_icon_favorite.png":["textures.vl2"],"textures/gui/shll_icon_favorite_hi.png":["textures.vl2"],"textures/gui/shll_icon_notqueried.png":["textures.vl2"],"textures/gui/shll_icon_notqueried_hi.png":["textures.vl2"],"textures/gui/shll_icon_passworded.png":["textures.vl2"],"textures/gui/shll_icon_passworded_hi.png":["textures.vl2"],"textures/gui/shll_icon_penguin.png":["textures.vl2"],"textures/gui/shll_icon_querying.png":["textures.vl2"],"textures/gui/shll_icon_querying_hi.png":["textures.vl2"],"textures/gui/shll_icon_timedout.png":["textures.vl2"],"textures/gui/shll_icon_tourney.png":["textures.vl2"],"textures/gui/shll_icon_tourney_hi.png":["textures.vl2"],"textures/gui/shll_launch_act.png":["textures.vl2"],"textures/gui/shll_launch_rol.png":["textures.vl2"],"textures/gui/shll_launch_sep.png":["textures.vl2"],"textures/gui/shll_menuclose.png":["textures.vl2"],"textures/gui/shll_menufield.png":["textures.vl2"],"textures/gui/shll_pulldown.png":["textures.vl2"],"textures/gui/shll_pulldown_BL.png":["textures.vl2"],"textures/gui/shll_pulldown_BM.png":["textures.vl2"],"textures/gui/shll_pulldown_BR.png":["textures.vl2"],"textures/gui/shll_pulldown_ML.png":["textures.vl2"],"textures/gui/shll_pulldown_MM.png":["textures.vl2"],"textures/gui/shll_pulldown_MR.png":["textures.vl2"],"textures/gui/shll_pulldown_TL.png":["textures.vl2"],"textures/gui/shll_pulldown_TM.png":["textures.vl2"],"textures/gui/shll_pulldown_TR.png":["textures.vl2"],"textures/gui/shll_pulldownbar_act.png":["textures.vl2"],"textures/gui/shll_pulldownbar_rol.png":["textures.vl2"],"textures/gui/shll_radio.png":["textures.vl2"],"textures/gui/shll_scroll_horzbar.png":["textures.vl2"],"textures/gui/shll_scroll_horzbuttons.png":["textures.vl2"],"textures/gui/shll_scroll_horzfield.png":["textures.vl2"],"textures/gui/shll_scroll_scale.png":["textures.vl2"],"textures/gui/shll_scroll_vertbar.png":["textures.vl2"],"textures/gui/shll_scroll_vertbuttons.png":["textures.vl2"],"textures/gui/shll_scroll_vertfield.png":["textures.vl2"],"textures/gui/shll_sortarrow.png":["textures.vl2"],"textures/gui/shll_soundbutton.png":["textures.vl2"],"textures/gui/shll_tabbutton.png":["textures.vl2"],"textures/gui/shll_tabframegrad.png":["textures.vl2"],"textures/gui/shll_tabframegradedge.png":["textures.vl2"],"textures/gui/shll_titletab.png":["textures.vl2"],"textures/gui/shll_treeView.png":["textures.vl2"],"textures/gui/shll_verticalfield.png":["textures.vl2"],"textures/gui/shll_vertspacer.png":["textures.vl2"],"textures/gui/shll_wipe.png":["textures.vl2"],"textures/gui/shll_wipeend.png":["textures.vl2"],"textures/gui/shll_wipefill.png":["textures.vl2"],"textures/gui/shll_wphfieldbttm.png":["textures.vl2"],"textures/gui/shll_wphfieldtop.png":["textures.vl2"],"textures/gui/shll_wpvfield.png":["textures.vl2"],"textures/gui/treeView.png":["textures.vl2"],"textures/gui/trn_1charybdis.png":["textures.vl2"],"textures/gui/trn_2sehrganda.png":["textures.vl2"],"textures/gui/trn_3ymir.png":["textures.vl2"],"textures/gui/trn_4bloodjewel.png":["textures.vl2"],"textures/gui/trn_5draconis.png":["textures.vl2"],"textures/gui/trn_skifree_2021.png":["SkiFreeGameType.vl2"],"textures/gui/trn_skifree_daily.png":["SkiFreeGameType.vl2"],"textures/gui/trn_skifree_random.png":["SkiFreeGameType.vl2"],"textures/gui/vin_assaultVehicle.png":["textures.vl2"],"textures/gui/vin_bomberFlyer.png":["textures.vl2"],"textures/gui/vin_hapcFlyer.png":["textures.vl2"],"textures/gui/vin_mobileBaseVehicle.png":["textures.vl2"],"textures/gui/vin_scoutFlyer.png":["textures.vl2"],"textures/gui/vin_scoutVehicle.png":["textures.vl2"],"textures/gui/votemeterpassbar.png":["textures.vl2"],"textures/gui/window_close.png":["textures.vl2"],"textures/gui/window_corner.png":["textures.vl2"],"textures/gui/window_titletab.png":["textures.vl2"],"textures/haloday.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/halonite.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/harvest.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/ib/skies/inf_butch_night13_BK.png":["TWL-MapPack.vl2"],"textures/ib/skies/inf_butch_night13_DN.png":["TWL-MapPack.vl2"],"textures/ib/skies/inf_butch_night13_FR.png":["TWL-MapPack.vl2"],"textures/ib/skies/inf_butch_night13_LF.png":["TWL-MapPack.vl2"],"textures/ib/skies/inf_butch_night13_RT.png":["TWL-MapPack.vl2"],"textures/ib/skies/inf_butch_night13_UP.png":["TWL-MapPack.vl2"],"textures/ice/bd_ebor03.PNG":["TWL2-MapPack.vl2"],"textures/ice/bd_espe03.PNG":["TWL2-MapPack.vl2"],"textures/ice/bd_ibor6.PNG":["TWL2-MapPack.vl2"],"textures/ice/bd_iceilig02.png":["TWL2-MapPack.vl2"],"textures/ice/be_elig03.PNG":["TWL2-MapPack.vl2"],"textures/ice/be_icei01a.png":["TWL2-MapPack.vl2"],"textures/ice/be_itebor02a.PNG":["TWL2-MapPack.vl2"],"textures/ice/be_itedoo01.PNG":["TWL2-MapPack.vl2"],"textures/ice/be_iteflo01.PNG":["TWL2-MapPack.vl2"],"textures/ice/ds_efloor1.png":["TWL2-MapPack.vl2"],"textures/ice/ds_ichute02.png":["TWL2-MapPack.vl2"],"textures/ice/ds_iflo04.png":["TWL2-MapPack.vl2"],"textures/ice/ds_ihacei01.png":["TWL2-MapPack.vl2"],"textures/ice/ds_ilig02.png":["TWL2-MapPack.vl2"],"textures/ice/ds_ilig03.png":["TWL2-MapPack.vl2"],"textures/ice/ds_iwaldeco04a.png":["TWL2-MapPack.vl2"],"textures/ice/ds_iwaldeco05.png":["TWL2-MapPack.vl2"],"textures/ice/ds_iwaldeco06.png":["TWL2-MapPack.vl2"],"textures/ice/ds_techwall_2.png":["TWL2-MapPack.vl2"],"textures/ice/ds_techwall_3.png":["TWL2-MapPack.vl2"],"textures/ice/icewall2020.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/ice/icewall2021.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/ice/icewall2022.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/ice/rockSnow2.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/rockblue5.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/skies/dark_b.bm8":["ice.vl2"],"textures/ice/skies/dark_b.png":["ice.vl2"],"textures/ice/skies/dark_bottom.bm8":["ice.vl2"],"textures/ice/skies/dark_bottom.png":["ice.vl2"],"textures/ice/skies/dark_f.bm8":["ice.vl2"],"textures/ice/skies/dark_f.png":["ice.vl2"],"textures/ice/skies/dark_l.bm8":["ice.vl2"],"textures/ice/skies/dark_l.png":["ice.vl2"],"textures/ice/skies/dark_r.bm8":["ice.vl2"],"textures/ice/skies/dark_r.png":["ice.vl2"],"textures/ice/skies/dark_t.bm8":["ice.vl2"],"textures/ice/skies/dark_t.png":["ice.vl2"],"textures/ice/skies/ice_blue_emap.bm8":["ice.vl2"],"textures/ice/skies/ice_blue_emap.png":["ice.vl2"],"textures/ice/skies/ice_nite_emap.bm8":["ice.vl2"],"textures/ice/skies/ice_nite_emap.png":["ice.vl2"],"textures/ice/skies/icecloud1.bm8":["ice.vl2"],"textures/ice/skies/icecloud1.png":["ice.vl2"],"textures/ice/skies/icecloud2.bm8":["ice.vl2"],"textures/ice/skies/icecloud2.png":["ice.vl2"],"textures/ice/skies/icecloud3.bm8":["ice.vl2"],"textures/ice/skies/icecloud3.png":["ice.vl2"],"textures/ice/skies/kif_ice_day_BK.png":["TWL-MapPack.vl2"],"textures/ice/skies/kif_ice_day_DN.png":["TWL-MapPack.vl2"],"textures/ice/skies/kif_ice_day_FR.png":["TWL-MapPack.vl2"],"textures/ice/skies/kif_ice_day_LF.png":["TWL-MapPack.vl2"],"textures/ice/skies/kif_ice_day_RT.png":["TWL-MapPack.vl2"],"textures/ice/skies/kif_ice_day_UP.png":["TWL-MapPack.vl2"],"textures/ice/skies/starrynite_BK.png":["TWL2-MapPack.vl2"],"textures/ice/skies/starrynite_DN.png":["TWL2-MapPack.vl2"],"textures/ice/skies/starrynite_FR.png":["TWL2-MapPack.vl2"],"textures/ice/skies/starrynite_LF.png":["TWL2-MapPack.vl2"],"textures/ice/skies/starrynite_RT.png":["TWL2-MapPack.vl2"],"textures/ice/skies/starrynite_UP.png":["TWL2-MapPack.vl2"],"textures/ice/skies/starrynite_v1_BK.bm8":["ice.vl2"],"textures/ice/skies/starrynite_v1_BK.png":["ice.vl2"],"textures/ice/skies/starrynite_v1_DN.bm8":["ice.vl2"],"textures/ice/skies/starrynite_v1_DN.png":["ice.vl2"],"textures/ice/skies/starrynite_v1_FR.bm8":["ice.vl2"],"textures/ice/skies/starrynite_v1_FR.png":["ice.vl2"],"textures/ice/skies/starrynite_v1_LF.bm8":["ice.vl2"],"textures/ice/skies/starrynite_v1_LF.png":["ice.vl2"],"textures/ice/skies/starrynite_v1_RT.bm8":["ice.vl2"],"textures/ice/skies/starrynite_v1_RT.png":["ice.vl2"],"textures/ice/skies/starrynite_v1_UP.bm8":["ice.vl2"],"textures/ice/skies/starrynite_v1_UP.png":["ice.vl2"],"textures/ice/snowrock.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/snowrock2.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ebor01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ecap01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ecap01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ecap01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ecap01c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ecap02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_edoor01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_edoor02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_edoor03.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_edoor04.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_eflo01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_eflo01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_eflo01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_eflo01c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_elig01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_elig02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_espec01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_espec02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_espec03.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal01c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal01d.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal02a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal03.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal03a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal04.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal06.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal06b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal06c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ewal06d.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_floorgrate.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_floorthresh.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ibor01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ibor01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iborlig01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iborlig01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iborlig01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iborlig02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iborlig02a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iborlig02b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icei01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icei01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icei02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icei02a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ichute01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ichute02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icol01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icol01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icolBASE.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icolCAP01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icolCAP02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icolSPEC01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icolSPEC02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_icoligolA.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ifloor01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ifloor01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ifloor01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ifloor01c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ilig01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ilig02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ilig03.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ilig04.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ipipe01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ipipe01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ipipe02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec01agl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec01gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec02agl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec02gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec03.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_ispec03glue.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal01Snow.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal01_4BSb.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal01_4BSgl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal01gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal02Snow.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal03.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal035BSEb.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal035BSEgl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal03Snow.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal03gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal04.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal04gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal05.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwal05gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalCAP01agl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalCAP01gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalCAP02agl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalCAP02gl.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap01c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap01d.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap02.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap02b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap02c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalcap02d.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_iwalsubcap.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_screen.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_scrnbrdr01.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_scrnbrdr01a.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_scrnbrdr01b.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_scrnbrdr01c.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_thresh01OFF.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_thresh01ON.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_threshSIDE.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/sw_threshgrate.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/xsnowrock3.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice/xsnowrock4.png":["ice.vl2","yHDTextures2.0.vl2"],"textures/ice_dark.dml":["ice.vl2"],"textures/inf_butch_FrozenHope.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/inf_butch_night13.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/inf_butch_night13_x2.dml":["TWL-MapPack.vl2"],"textures/inf_butch_nov50.dml":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/inf_butch_nov50_BK.png":["TWL2-MapPack.vl2"],"textures/inf_butch_nov50_DN.png":["TWL2-MapPack.vl2"],"textures/inf_butch_nov50_FR.png":["TWL2-MapPack.vl2"],"textures/inf_butch_nov50_LF.png":["TWL2-MapPack.vl2"],"textures/inf_butch_nov50_RT.png":["TWL2-MapPack.vl2"],"textures/inf_butch_nov50_UP.png":["TWL2-MapPack.vl2"],"textures/inf_butchlava51.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/island_water.dml":["textures.vl2"],"textures/jagged.dml":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/jaggedclaw/be_edoo02.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_elig02.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_elig03.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_espec02.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_ewal06.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_icei01a.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_ihalig.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_iprflo01.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_itebor04.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_itedoo01.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_itelig01.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_itelig02.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_itewal01.PNG":["TWL2-MapPack.vl2"],"textures/jaggedclaw/be_itewal04.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/chateau_bk.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/chateau_dn.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/chateau_ft.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/chateau_lf.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/chateau_rt.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/chateau_up.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/deck1+.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/ds_NefBlTrim.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/ds_NefBlue1.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/ds_NefWall1.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/ds_Neffloor1.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/ds_Neffloor5.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/ds_ilig03.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/greylite2.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/gtext2a.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/null.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/slabgrill.png":["TWL2-MapPack.vl2"],"textures/jaggedclaw/tcement1a.png":["TWL2-MapPack.vl2"],"textures/kif_iceday.dml":["TWL-MapPack.vl2"],"textures/kif_lava_starrynight.dml":["TWL-MapPack.vl2"],"textures/kif_lava_starrynight62.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/kif_lushsunset.dml":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Euro4_Sinivalkoinen_TMa5tersMix_water_RefleX.png":["TWL2-MapPack.vl2"],"textures/lava/Nycto-Plates.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-Trim.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-bboard.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-bboard2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-comp2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-comp3.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-comp4.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-comp7.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-computer.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-disp1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-disp2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-hitwall.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-hitwall2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-map.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-mwall.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-mwall2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-mwall3.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-mwall4.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-pipe.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/Nycto-plasma.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/STPLATE10a.png":["Classic_maps_v1.vl2"],"textures/lava/STPLATE10c.png":["Classic_maps_v1.vl2"],"textures/lava/STPLATE12.png":["Classic_maps_v1.vl2"],"textures/lava/STPLATE13.png":["Classic_maps_v1.vl2"],"textures/lava/STPLATE5a.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate0010.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate1.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate2.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate3.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate5.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate6.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate7.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate8.png":["Classic_maps_v1.vl2"],"textures/lava/Stplate9.png":["Classic_maps_v1.vl2"],"textures/lava/Tma5t_Cowboy1.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy4.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy5.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy6.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy7.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy8.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboy9.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboyb10.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboyb11.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboyb12.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboyb13.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/Tma5t_Cowboyb14.png":["TWL2-MapPack.vl2"],"textures/lava/Tma5t_Cowboyb15.png":["TWL2-MapPack.vl2"],"textures/lava/bd_iflo03b.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/be_icei01a.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/be_itelig01.PNG":["TWL2-MapPack.vl2"],"textures/lava/be_itewal02a.PNG":["TWL2-MapPack.vl2"],"textures/lava/comp_screen_2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/display_blue.png":["Classic_maps_v1.vl2"],"textures/lava/display_yellow.png":["Classic_maps_v1.vl2"],"textures/lava/displaymxscar.png":["Classic_maps_v1.vl2"],"textures/lava/ds_NefBlTrim.png":["Classic_maps_v1.vl2"],"textures/lava/ds_NefBlue.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/lava/ds_NefBlue1.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/lava/ds_NefBlue2.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/lava/ds_NefBlue3.png":["Classic_maps_v1.vl2"],"textures/lava/ds_NefFloor6.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/lava/ds_NefWall1.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/lava/ds_Neffloor1.png":["Classic_maps_v1.vl2"],"textures/lava/ds_Neffloor2.png":["Classic_maps_v1.vl2"],"textures/lava/ds_Neffloor3.png":["Classic_maps_v1.vl2"],"textures/lava/ds_Neffloor4.png":["Classic_maps_v1.vl2"],"textures/lava/ds_Neffloor5.png":["Classic_maps_v1.vl2"],"textures/lava/ds_Neflig01.png":["Classic_maps_v1.vl2"],"textures/lava/ds_Thresh01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_Thresh1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_alarm.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ebor01b.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ebor02.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_efloor1.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_eflor1.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_elig01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_elig02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_elig0202.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_elig03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_eport01e.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_etechbor01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_etechbrdr2.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_etran1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_etrans.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_etrans01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewal01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewal01BASE.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewal01a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewal02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewal02a.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ewal05d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ewal11a.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ewaldeco01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewaldeco06.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewaldeco07.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewaldeco08.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewaldeco09.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewall03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewall04.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewall05.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewall06.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewall06a.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ewall07.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ewall1a.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_floorgrate1.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_genfloor.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_genwall.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_girder.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ibor01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ibor01a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ibor02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ibor02a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ibor03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ibor04.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_icei01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_icei05.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_iceilig01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iceilig1.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ichute01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ichute02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iflo01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iflo02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iflo03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iflo04.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ifloLig01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ifloLig02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ifloor01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ihacei01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ihaceilig01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ihalig.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_ilavlight.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ilig01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ilig02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ilig03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ilig04.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ilig05.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_ilig06.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_inolite.png":["Classic_maps_v1.vl2"],"textures/lava/ds_iwal01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwal01a.png":["lava.vl2","yHDTextures2.0.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_iwal01aa.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_iwaldeco01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco01a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco02a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco03a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco04.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco04a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco05.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco05a.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco06.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco07.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco08.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_iwaldeco09.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_jet01.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_jet02.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_jet03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_mlatched.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_mriveted2.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_neflig01.png":["TR2final105-client.vl2"],"textures/lava/ds_obsidian.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_screen.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_techborder1.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_techborder2.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_techwall_1.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_techwall_2.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_techwall_3.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_twall_001.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_waldeco1.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/ds_walldeco_06.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_walldeco_07.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_walldeco_08.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ds_walldeco_09.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/ext_grey8.png":["Classic_maps_v1.vl2"],"textures/lava/greylite1.png":["Classic_maps_v1.vl2"],"textures/lava/greylite2.png":["Classic_maps_v1.vl2"],"textures/lava/greylitetrim.png":["Classic_maps_v1.vl2"],"textures/lava/greylitetrim2.png":["Classic_maps_v1.vl2"],"textures/lava/grid_1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/grid_rusty_1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/grill1a.png":["Classic_maps_v1.vl2"],"textures/lava/gtext1.png":["Classic_maps_v1.vl2"],"textures/lava/gtext1a.png":["Classic_maps_v1.vl2"],"textures/lava/gtext2.png":["Classic_maps_v1.vl2"],"textures/lava/gtext2a.png":["Classic_maps_v1.vl2"],"textures/lava/gtext2b.png":["Classic_maps_v1.vl2"],"textures/lava/gtext3.png":["Classic_maps_v1.vl2"],"textures/lava/gtext4.png":["Classic_maps_v1.vl2"],"textures/lava/gtext5.png":["Classic_maps_v1.vl2"],"textures/lava/gtextpipe1.png":["Classic_maps_v1.vl2"],"textures/lava/inf_light011.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/inf_light09.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/lavadirt04.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/lavarock03.png":["lava.vl2","yHDTextures2.0.vl2"],"textures/lava/lavawall20.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/lavawall21.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/lavawall22.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/radwarn.png":["Classic_maps_v1.vl2"],"textures/lava/skies/Lavanight_v5_BK.png":["DynamixFinalPack.vl2"],"textures/lava/skies/Lavanight_v5_DN.png":["DynamixFinalPack.vl2"],"textures/lava/skies/Lavanight_v5_FR.png":["DynamixFinalPack.vl2"],"textures/lava/skies/Lavanight_v5_LF.png":["DynamixFinalPack.vl2"],"textures/lava/skies/Lavanight_v5_RT.png":["DynamixFinalPack.vl2"],"textures/lava/skies/Lavanight_v5_UP.png":["DynamixFinalPack.vl2"],"textures/lava/skies/kif_lava_starrynight_BK.png":["TWL-MapPack.vl2"],"textures/lava/skies/kif_lava_starrynight_DN.png":["TWL-MapPack.vl2"],"textures/lava/skies/kif_lava_starrynight_FR.png":["TWL-MapPack.vl2"],"textures/lava/skies/kif_lava_starrynight_LF.png":["TWL-MapPack.vl2"],"textures/lava/skies/kif_lava_starrynight_RT.png":["TWL-MapPack.vl2"],"textures/lava/skies/kif_lava_starrynight_UP.png":["TWL-MapPack.vl2"],"textures/lava/skies/lava_starrynite_emap.bm8":["lava.vl2"],"textures/lava/skies/lava_starrynite_emap.png":["lava.vl2"],"textures/lava/skies/lavanight_v5_BK.png":["","Classic_maps_v1.vl2"],"textures/lava/skies/lavanight_v5_DN.png":["","Classic_maps_v1.vl2"],"textures/lava/skies/lavanight_v5_FR.png":["","Classic_maps_v1.vl2"],"textures/lava/skies/lavanight_v5_LF.png":["","Classic_maps_v1.vl2"],"textures/lava/skies/lavanight_v5_RT.png":["","Classic_maps_v1.vl2"],"textures/lava/skies/lavanight_v5_UP.png":["","Classic_maps_v1.vl2"],"textures/lava/skies/lavayellow_v5_BK.png":["DynamixFinalPack.vl2"],"textures/lava/skies/lavayellow_v5_DN.png":["DynamixFinalPack.vl2"],"textures/lava/skies/lavayellow_v5_FR.png":["DynamixFinalPack.vl2"],"textures/lava/skies/lavayellow_v5_LF.png":["DynamixFinalPack.vl2"],"textures/lava/skies/lavayellow_v5_RT.png":["DynamixFinalPack.vl2"],"textures/lava/skies/lavayellow_v5_UP.png":["DynamixFinalPack.vl2"],"textures/lava/skies/starrynite_v5_BK.bm8":["lava.vl2"],"textures/lava/skies/starrynite_v5_BK.png":["lava.vl2"],"textures/lava/skies/starrynite_v5_DN.bm8":["lava.vl2"],"textures/lava/skies/starrynite_v5_DN.png":["lava.vl2"],"textures/lava/skies/starrynite_v5_FR.bm8":["lava.vl2"],"textures/lava/skies/starrynite_v5_FR.png":["lava.vl2"],"textures/lava/skies/starrynite_v5_LF.bm8":["lava.vl2"],"textures/lava/skies/starrynite_v5_LF.png":["lava.vl2"],"textures/lava/skies/starrynite_v5_RT.bm8":["lava.vl2"],"textures/lava/skies/starrynite_v5_RT.png":["lava.vl2"],"textures/lava/skies/starrynite_v5_UP.bm8":["lava.vl2"],"textures/lava/skies/starrynite_v5_UP.png":["lava.vl2"],"textures/lava/skies/volcanic_starrynite_emap.bm8":["lava.vl2"],"textures/lava/skies/volcanic_starrynite_emap.png":["Classic_maps_v1.vl2","DynamixFinalPack.vl2","lava.vl2"],"textures/lava/stplate0021.png":["Classic_maps_v1.vl2"],"textures/lava/stplate14.png":["Classic_maps_v1.vl2"],"textures/lava/sw_floorgrate.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lava/sw_ipipe02.png":["TWL2-MapPack.vl2"],"textures/lava/tcement1a.png":["Classic_maps_v1.vl2"],"textures/lava/techwall_1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/techwall_paint.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/techwall_rusty.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/techwall_rusty2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lava/tlite6.png":["Classic_maps_v1.vl2"],"textures/lava/tplate1.png":["Classic_maps_v1.vl2"],"textures/lava/tplate2.png":["Classic_maps_v1.vl2"],"textures/lava/ttrim2.png":["Classic_maps_v1.vl2"],"textures/lava_dark.dml":["lava.vl2"],"textures/lava_night.dml":["Classic_maps_v1.vl2","DynamixFinalPack.vl2"],"textures/lava_yellow.dml":["DynamixFinalPack.vl2"],"textures/lavanight_v5.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidTiles/AlgaeWater.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/BlueWater.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/GreenWater.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/IslandWater01.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/IslandWater02.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/IslandWater03.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/IslandWater04.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Lava.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LavaPool01.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LavaPool02.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LavaPool03.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LavaPool04.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater01.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater01_Algae.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater02.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater02_Algae.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater03.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater03_Algae.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater04.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/LushWater04_Algae.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Modulation03.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Modulation04.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Shore_Modulation.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Tile01a.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Tile02a.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Tile03a.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/Tile04a.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/archipelago_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/archipelago_water.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/damnation_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/ice_water_ram.png":["Classic_maps_v1.vl2"],"textures/liquidTiles/icebound_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/icebound_water.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/insalubria_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/myrkwood_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/oasis_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/oasis_water_ripply.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/quagmire_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/respite_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/reversion_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/riverdance_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/riverdance_water_1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/riverdance_water_5.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/riverdance_water_6.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/sanctuary_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/sanctuary_water_1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/sanctuary_water_2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidTiles/thinice_emap_cloudsground.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/liquidtiles/BloodMoon_bloodwater2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidtiles/MuddySwamp_industrial_oil.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidtiles/PlanetX_CB_water.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidtiles/SewageWater.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidtiles/caustic_water.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidtiles/industrial_oil.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/liquidtiles/tes_water2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/BlueMoon.png":["TWL-MapPack.vl2"],"textures/lush/Roman_COLLa.png":["TWL-MapPack.vl2"],"textures/lush/Roman_COLLb.png":["TWL-MapPack.vl2"],"textures/lush/Roman_ROOF.png":["TWL-MapPack.vl2"],"textures/lush/Roman_STONE.png":["TWL-MapPack.vl2"],"textures/lush/Skies/BBday_BK.png":["TWL-MapPack.vl2"],"textures/lush/Skies/BBday_DN.png":["TWL-MapPack.vl2"],"textures/lush/Skies/BBday_FR.png":["TWL-MapPack.vl2"],"textures/lush/Skies/BBday_LF.png":["TWL-MapPack.vl2"],"textures/lush/Skies/BBday_RT.png":["TWL-MapPack.vl2"],"textures/lush/Skies/BBday_UP.png":["TWL-MapPack.vl2"],"textures/lush/Skies/lush_01_day_v5_BK_x2.png":["TWL-MapPack.vl2"],"textures/lush/Skies/lush_01_day_v5_DN_x2.png":["TWL-MapPack.vl2"],"textures/lush/Skies/lush_01_day_v5_FR_x2.png":["TWL-MapPack.vl2"],"textures/lush/Skies/lush_01_day_v5_LF_x2.png":["TWL-MapPack.vl2"],"textures/lush/Skies/lush_01_day_v5_RT_x2.png":["TWL-MapPack.vl2"],"textures/lush/Skies/lush_01_day_v5_UP_x2.png":["TWL-MapPack.vl2"],"textures/lush/attrition_iflag.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/attrition_sflag.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/bb_red.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/bb_red2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/bb_sand.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/be_Edoo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ebor01b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ebor01bb.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/be_ebor01d.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ebor01e.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ebor02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ebor03.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ebor04a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ecombo02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_edoo02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_edoo03.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eflo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eflo02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_elig01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_elig02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_elig02_nd.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/be_elig03.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_elig033.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/be_epipe01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eport01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eport01e.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eport02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eport02b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec03.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec03a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec03b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec04.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec05.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec05b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec06a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec07.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec08.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_espec09.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_etec.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eterrain02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eterrain02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_eterrain02b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal01b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal02b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal02be.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/be_ewal03_hl.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/be_ewal03a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal03acrk.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/be_ewal04a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal05.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal05a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal05d.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal06.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal07.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal077.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/be_ewal08.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal09b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal11b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal11d.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewal12b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ewall10.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_gr3streak.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/be_gr4streak.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/be_iColBase01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iColTop.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iGeneric.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iGenericDark.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei01b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei01b1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/be_icei01c.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei01ca.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/be_icei02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei03.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei03b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icei04.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ichute01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ichute02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icobor1.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icobor1a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icocei.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icolig.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icolig01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icoligolA.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icomp01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icomp01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icowal02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icowal02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_icowal02b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iflo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iflo01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ifloWet.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ifunctec01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ifunctec01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihadoo.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihaflo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihalig.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihaspe01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal04.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal04a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal04b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal04d.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal05a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal05b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ihawal05c.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ipipe01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ipipe01_iwal.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ipipe01b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iprflo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iprwal01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ispec01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ispec01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_ispec01b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itebor01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itebor02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itebor02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itebor02b.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itebor02c.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itebor04.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itec01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itec01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itec01c.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itecei01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itecei02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itedoo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iteflo01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_iteflo02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itelig01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itelig02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itewal01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itewal02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itewal02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itewal03.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_itewal04.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_screen.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_thresh01.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_thresh01a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_thresh02.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_thresh02a.png":["lush.vl2","yHDTextures2.0.vl2"],"textures/lush/be_twal05.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/beach_wal1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/beach_wal2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/beach_wal3.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/box_a.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/box_b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/box_c.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/display05.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/display_07.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/dox_beam.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_bluelite1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_bluelite2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_grsteel3.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_grsteel3_b.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_grsteel3_f.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_grsteel4.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/dox_pipe1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/emap_beachblitz.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/lush/hazard.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/ir_blocks.bm8":["TWL-MapPack.vl2"],"textures/lush/ir_blocks.png":["TWL-MapPack.vl2"],"textures/lush/ir_plain.bm8":["TWL-MapPack.vl2"],"textures/lush/ir_plain.png":["TWL-MapPack.vl2"],"textures/lush/ir_relief.bm8":["TWL-MapPack.vl2"],"textures/lush/ir_relief.png":["TWL-MapPack.vl2"],"textures/lush/ir_trim1.bm8":["TWL-MapPack.vl2"],"textures/lush/ir_trim1.png":["TWL-MapPack.vl2"],"textures/lush/ir_trim2.bm8":["TWL-MapPack.vl2"],"textures/lush/ir_trim2.png":["TWL-MapPack.vl2"],"textures/lush/ir_wall.bm8":["TWL-MapPack.vl2"],"textures/lush/ir_wall.png":["TWL-MapPack.vl2"],"textures/lush/kb_logitech.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/light_base01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/panel.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/reactor01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/rip.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/rustbox.png":["TWL-MapPack.vl2"],"textures/lush/rustbox_logo.png":["TWL-MapPack.vl2"],"textures/lush/skies/L4_b.bm8":["lush.vl2"],"textures/lush/skies/L4_b.png":["","lush.vl2"],"textures/lush/skies/L4_bottom.bm8":["lush.vl2"],"textures/lush/skies/L4_bottom.png":["","lush.vl2"],"textures/lush/skies/L4_f.bm8":["lush.vl2"],"textures/lush/skies/L4_f.png":["","lush.vl2"],"textures/lush/skies/L4_l.bm8":["lush.vl2"],"textures/lush/skies/L4_l.png":["","lush.vl2"],"textures/lush/skies/L4_r.bm8":["lush.vl2"],"textures/lush/skies/L4_r.png":["","lush.vl2"],"textures/lush/skies/L4_t.bm8":["lush.vl2"],"textures/lush/skies/L4_t.png":["","lush.vl2"],"textures/lush/skies/emap_dark_green.png":["TWL2-MapPack.vl2"],"textures/lush/skies/emap_muddy.png":["Classic_maps_v1.vl2"],"textures/lush/skies/kif_lushsunset_BK.png":["TWL2-MapPack.vl2"],"textures/lush/skies/kif_lushsunset_DN.png":["TWL2-MapPack.vl2"],"textures/lush/skies/kif_lushsunset_FR.png":["TWL2-MapPack.vl2"],"textures/lush/skies/kif_lushsunset_LF.png":["TWL2-MapPack.vl2"],"textures/lush/skies/kif_lushsunset_RT.png":["TWL2-MapPack.vl2"],"textures/lush/skies/kif_lushsunset_UP.png":["TWL2-MapPack.vl2"],"textures/lush/skies/lush_01_day_v5_BK.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_day_v5_DN.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_day_v5_FR.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_day_v5_LF.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_day_v5_RT.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_day_v5_UP.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_night_BK.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_night_DN.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_night_FR.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_night_LF.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_night_RT.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_night_UP.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_01_ram_v5_BK.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_01_ram_v5_DN.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_01_ram_v5_FR.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_01_ram_v5_LF.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_01_ram_v5_RT.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_01_ram_v5_UP.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_02_dusk_BK.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_02_dusk_DN.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_02_dusk_FR.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_02_dusk_LF.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_02_dusk_RT.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_02_dusk_UP.png":["DynamixFinalPack.vl2"],"textures/lush/skies/lush_02c_dusk_BK.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_02c_dusk_DN.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_02c_dusk_FR.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_02c_dusk_LF.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_02c_dusk_RT.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_02c_dusk_UP.png":["Classic_maps_v1.vl2"],"textures/lush/skies/lush_day_emap.bm8":["lush.vl2"],"textures/lush/skies/lush_day_emap.png":["lush.vl2"],"textures/lush/skies/lush_nite_emap.bm8":["lush.vl2"],"textures/lush/skies/lush_nite_emap.png":["lush.vl2"],"textures/lush/skies/lushcloud1.bm8":["lush.vl2"],"textures/lush/skies/lushcloud1.png":["lush.vl2"],"textures/lush/skies/lushcloud3.bm8":["lush.vl2"],"textures/lush/skies/lushcloud3.png":["lush.vl2"],"textures/lush/skies/lushcloud4.bm8":["lush.vl2"],"textures/lush/skies/lushcloud4.png":["lush.vl2"],"textures/lush/skies/starrynite_v4_BK.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v4_BK.png":["lush.vl2"],"textures/lush/skies/starrynite_v4_DN.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v4_DN.png":["lush.vl2"],"textures/lush/skies/starrynite_v4_FR.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v4_FR.png":["lush.vl2"],"textures/lush/skies/starrynite_v4_LF.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v4_LF.png":["lush.vl2"],"textures/lush/skies/starrynite_v4_RT.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v4_RT.png":["lush.vl2"],"textures/lush/skies/starrynite_v4_UP.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v4_UP.png":["lush.vl2"],"textures/lush/skies/starrynite_v6_BK.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v6_BK.png":["lush.vl2"],"textures/lush/skies/starrynite_v6_DN.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v6_DN.png":["lush.vl2"],"textures/lush/skies/starrynite_v6_FR.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v6_FR.png":["lush.vl2"],"textures/lush/skies/starrynite_v6_LF.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v6_LF.png":["lush.vl2"],"textures/lush/skies/starrynite_v6_RT.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v6_RT.png":["lush.vl2"],"textures/lush/skies/starrynite_v6_UP.bm8":["lush.vl2"],"textures/lush/skies/starrynite_v6_UP.png":["lush.vl2"],"textures/lush/skull.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/alien-01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/display04.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/display05.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/display06.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/display07.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/display08.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/display10.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot02.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot03.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot04.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot05.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot06.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot07.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot08.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot09.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/special/shot11.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/stone_wall1.png":["TWL2-MapPack.vl2"],"textures/lush/stone_wall2.png":["TWL2-MapPack.vl2"],"textures/lush/stone_wall3.png":["TWL2-MapPack.vl2"],"textures/lush/stone_wall4.png":["TWL2-MapPack.vl2"],"textures/lush/stone_wall5.png":["TWL2-MapPack.vl2"],"textures/lush/stone_wall7.png":["TWL2-MapPack.vl2"],"textures/lush/trim_t01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/wall_c02.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/wall_light_c01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/wall_trim01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/wall_w03a.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush/xing.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lush_dark.dml":["lush.vl2"],"textures/lush_day.dml":["DynamixFinalPack.vl2"],"textures/lush_day_x2.dml":["TWL-MapPack.vl2"],"textures/lush_dusk.dml":["Classic_maps_v1.vl2","DynamixFinalPack.vl2"],"textures/lush_night.dml":["DynamixFinalPack.vl2"],"textures/lush_ram.dml":["Classic_maps_v1.vl2"],"textures/lushdusk66.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/lushsky_night11.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/magsky/mag_BK.png":["TWL2-MapPack.vl2"],"textures/magsky/mag_FR.png":["TWL2-MapPack.vl2"],"textures/magsky/mag_LF.png":["TWL2-MapPack.vl2"],"textures/magsky/mag_RT.png":["TWL2-MapPack.vl2"],"textures/magsky/mag_UP.png":["TWL2-MapPack.vl2"],"textures/mmd.dml":["TWL2-MapPack.vl2"],"textures/mmd/mmd_BK.png":["TWL2-MapPack.vl2"],"textures/mmd/mmd_DN.png":["TWL2-MapPack.vl2"],"textures/mmd/mmd_FR.png":["TWL2-MapPack.vl2"],"textures/mmd/mmd_LF.png":["TWL2-MapPack.vl2"],"textures/mmd/mmd_RT.png":["TWL2-MapPack.vl2"],"textures/mmd/mmd_UP.png":["TWL2-MapPack.vl2"],"textures/mr_02.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/muddy.dml":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_BK.png":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_FR.png":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_LF.png":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_RT.png":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_UP.png":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_cloud1.png":["Classic_maps_v1.vl2"],"textures/muddy/skies/muddy_cloud2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Nef5_BK.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Nef5_DN.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Nef5_FR.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Nef5_LF.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Nef5_RT.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Nef5_UP.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet2_1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet2_2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet2_3.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet2_4.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet2_5.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_3.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_4.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_5.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_cloud1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/RedPlanet_cloud2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal1_BK.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal1_FR.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal1_LF.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal1_RT.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal1_UP.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal_7.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal_Cloud1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/Surreal_Cloud2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nefRed_1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nefRed_2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nefRed_3.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nefRed_4.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nefRed_5.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nef_BlueClear_1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nef_BlueClear_2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nef_BlueClear_3.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nef_BlueClear_4.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nef_BlueClear_5.png":["Classic_maps_v1.vl2"],"textures/nef/skies/nef_BlueClear_cloud1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/night1.png":["Classic_maps_v1.vl2"],"textures/nef/skies/night2.png":["Classic_maps_v1.vl2"],"textures/nef/skies/night3.png":["Classic_maps_v1.vl2"],"textures/nef/skies/night4.png":["Classic_maps_v1.vl2"],"textures/nef/skies/night5.png":["Classic_maps_v1.vl2"],"textures/nef_5.dml":["Classic_maps_v1.vl2"],"textures/nef_BlueClear.dml":["Classic_maps_v1.vl2"],"textures/nef_RedPlanet.dml":["Classic_maps_v1.vl2"],"textures/nef_RedPlanet2.dml":["Classic_maps_v1.vl2"],"textures/nef_Red_1.dml":["Classic_maps_v1.vl2"],"textures/nef_Surreal1.dml":["Classic_maps_v1.vl2"],"textures/nef_night1.dml":["Classic_maps_v1.vl2"],"textures/nef_sset2_x2.dml":["TWL-MapPack.vl2"],"textures/nefred1/red1_BK_x2.png":["TWL-MapPack.vl2"],"textures/nefred1/red1_CLOUD1_x2.png":["TWL-MapPack.vl2"],"textures/nefred1/red1_FR_x2.png":["TWL-MapPack.vl2"],"textures/nefred1/red1_LF_x2.png":["TWL-MapPack.vl2"],"textures/nefred1/red1_RT_x2.png":["TWL-MapPack.vl2"],"textures/nefred1/red1_UP_x2.png":["TWL-MapPack.vl2"],"textures/nefred1_x2.dml":["TWL-MapPack.vl2"],"textures/nefsset2_x2/skies/nef_sset2_BK.png":["TWL-MapPack.vl2"],"textures/nefsset2_x2/skies/nef_sset2_FR.png":["TWL-MapPack.vl2"],"textures/nefsset2_x2/skies/nef_sset2_LF.png":["TWL-MapPack.vl2"],"textures/nefsset2_x2/skies/nef_sset2_RT.png":["TWL-MapPack.vl2"],"textures/nefsset2_x2/skies/nef_sset2_UP.png":["TWL-MapPack.vl2"],"textures/nightsky82.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/ocean_water.dml":["textures.vl2"],"textures/ocular.dml":["TWL2-MapPack.vl2"],"textures/particleTest.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/raindrops.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake001.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake002.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake003.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake004.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake005.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake006.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake007.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake008.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake009.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake010.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake011.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake012.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake013.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake014.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake015.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake016.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflake017.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/precipitation/snowflakes.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/purpsun.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/raindrops.dml":["textures.vl2"],"textures/rilrock/ril.darkrock.png":["S8maps.vl2"],"textures/roelcolor.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/rst_goonflag.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/rst_taotribes.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/rst_toitle.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/rst_tribescastcof.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/rst_tribesnextcof.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/DarkStormy/DarkStormy_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/DarkStormy/DarkStormy_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/DarkStormy/DarkStormy_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/DarkStormy/DarkStormy_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/DarkStormy/DarkStormy_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/DarkStormy/DarkStormy_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Euro4_Bleed_emap.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_Bleed_sysday_bk.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_Bleed_sysday_dn.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_Bleed_sysday_fr.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_Bleed_sysday_lf.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_Bleed_sysday_rt.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_Bleed_sysday_up.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_FrozenHope_inf_butchlava2_BK.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_FrozenHope_inf_butchlava2_DN.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_FrozenHope_inf_butchlava2_FR.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_FrozenHope_inf_butchlava2_LF.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_FrozenHope_inf_butchlava2_RT.png":["TWL2-MapPack.vl2"],"textures/skies/Euro4_FrozenHope_inf_butchlava2_UP.png":["TWL2-MapPack.vl2"],"textures/skies/Iris/Iris_BK.bm8":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_BK.png":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_DN.bm8":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_DN.png":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_FR.bm8":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_FR.png":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_LF.bm8":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_LF.png":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_RT.bm8":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_RT.png":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_UP.bm8":["TWL-MapPack.vl2"],"textures/skies/Iris/Iris_UP.png":["TWL-MapPack.vl2"],"textures/skies/L4/L4_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/L4/L4_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/L4/L4_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/L4/L4_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/L4/L4_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/L4/L4_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Magellan/WinterBlue_v5_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Magellan/WinterBlue_v5_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Magellan/WinterBlue_v5_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Magellan/WinterBlue_v5_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Magellan/WinterBlue_v5_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Magellan/WinterBlue_v5_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Nef_Sset2/Nef_Sset2_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Nef_Sset2/Nef_Sset2_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Nef_Sset2/Nef_Sset2_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Nef_Sset2/Nef_Sset2_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Nef_Sset2/Nef_Sset2_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PacificSky/PacificSky_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PacificSky/PacificSky_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PacificSky/PacificSky_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PacificSky/PacificSky_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PacificSky/PacificSky_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PacificSky/PacificSky_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/PlanetX/PlanetX_reflect.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Saturn/Saturn_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Saturn/Saturn_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Saturn/Saturn_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Saturn/Saturn_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Saturn/Saturn_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/Saturn/Saturn_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/SunSet12/SunSet12_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/SunSet12/SunSet12_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/SunSet12/SunSet12_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/SunSet12/SunSet12_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/SunSet12/SunSet12_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/SunSet12/SunSet12_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/aurawisp/AURAWISP_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/aurawisp/AURAWISP_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/aurawisp/AURAWISP_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/aurawisp/AURAWISP_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/aurawisp/AURAWISP_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/aurawisp/AURAWISP_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/badlandday/badlandday_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/badlandday/badlandday_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/badlandday/badlandday_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/badlandday/badlandday_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/badlandday/badlandday_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/blank_DN.bm8":["TWL2-MapPack.vl2"],"textures/skies/blank_DN.png":["TWL2-MapPack.vl2"],"textures/skies/borealis/borealis_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/borealis/borealis_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/borealis/borealis_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/borealis/borealis_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/borealis/borealis_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/borealis/borealis_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cc_sky_bk.png":["TWL2-MapPack.vl2"],"textures/skies/cc_sky_fr.png":["TWL2-MapPack.vl2"],"textures/skies/cc_sky_lf.png":["TWL2-MapPack.vl2"],"textures/skies/cc_sky_rt.png":["TWL2-MapPack.vl2"],"textures/skies/cc_sky_up.png":["TWL2-MapPack.vl2"],"textures/skies/ccbsky2/csk2_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/ccbsky2/csk2_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/ccbsky2/csk2_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/ccbsky2/csk2_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/ccbsky2/csk2_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/ccbsky2/csk2_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/clouds/clouds_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/clouds/clouds_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/clouds/clouds_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/clouds/clouds_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/clouds/clouds_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/clouds/clouds_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cubemap/cubemap_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cubemap/cubemap_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cubemap/cubemap_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cubemap/cubemap_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cubemap/cubemap_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/cubemap/cubemap_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eeps/eepdesert_BK.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eeps/eepdesert_FR.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eeps/eepdesert_LF.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eeps/eepdesert_RT.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eeps/eepdesert_UP.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve1bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve1dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve1ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve1lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve1rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve1up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve2bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve2dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve2ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve2lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve2rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve2up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve3bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve3dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve3ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve3lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve3rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve3up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve4bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve4dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve4ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve4lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve4rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve4up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve5bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve5dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve5ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve5lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve5rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve5up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve6bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve6dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve6ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve6lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve6rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve6up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve7bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve7dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve7ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve7lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve7rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve7up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve8bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve8dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve8ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve8lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve8rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/eve/eve8up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/emap_muddy.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/flingsky03_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/flingsky03_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/flingsky03_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/flingsky03_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/flingsky03_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/flingsky03/flingsky03_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/haloday/haloday_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/haloday/haloday_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/haloday/haloday_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/haloday/haloday_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/haloday/haloday_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/haloday/haloday_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/halonite/halonite_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/halonite/halonite_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/halonite/halonite_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/halonite/halonite_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/halonite/halonite_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/halonite/halonite_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/harvest/harvest_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/harvest/harvest_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/harvest/harvest_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/harvest/harvest_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/harvest/harvest_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/harvest/harvest_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_night13/inf_butch_night13_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_night13/inf_butch_night13_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_night13/inf_butch_night13_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_night13/inf_butch_night13_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_night13/inf_butch_night13_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_night13/inf_butch_night13_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_nov50/inf_butch_nov50_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_nov50/inf_butch_nov50_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_nov50/inf_butch_nov50_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_nov50/inf_butch_nov50_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_nov50/inf_butch_nov50_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butch_nov50/inf_butch_nov50_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butchlava51/inf_butchlava51_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butchlava51/inf_butchlava51_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butchlava51/inf_butchlava51_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butchlava51/inf_butchlava51_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butchlava51/inf_butchlava51_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/inf_butchlava51/inf_butchlava51_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/jagged/chateau_bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/jagged/chateau_dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/jagged/chateau_ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/jagged/chateau_lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/jagged/chateau_rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/jagged/chateau_up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lushsunset/kif_lushsunset_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lushsunset/kif_lushsunset_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lushsunset/kif_lushsunset_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lushsunset/kif_lushsunset_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lushsunset/kif_lushsunset_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/kif_lushsunset/kif_lushsunset_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lavanight_v5/lavanight_v5_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lavanight_v5/lavanight_v5_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lavanight_v5/lavanight_v5_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lavanight_v5/lavanight_v5_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lavanight_v5/lavanight_v5_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lavanight_v5/lavanight_v5_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lush_02_dusk_BK.png":["TWL-MapPack.vl2"],"textures/skies/lush_02_dusk_DN.png":["TWL-MapPack.vl2"],"textures/skies/lush_02_dusk_FR.png":["TWL-MapPack.vl2"],"textures/skies/lush_02_dusk_LF.png":["TWL-MapPack.vl2"],"textures/skies/lush_02_dusk_RT.png":["TWL-MapPack.vl2"],"textures/skies/lush_02_dusk_UP.png":["TWL-MapPack.vl2"],"textures/skies/lushdusk66/lushdusk66_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushdusk66/lushdusk66_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushdusk66/lushdusk66_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushdusk66/lushdusk66_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushdusk66/lushdusk66_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushdusk66/lushdusk66_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/Thumbs.db":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/lushsky_night11_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/lushsky_night11_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/lushsky_night11_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/lushsky_night11_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/lushsky_night11_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/lushsky_night11/lushsky_night11_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/mr_02/mr_02_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/mr_02/mr_02_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/mr_02/mr_02_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/mr_02/mr_02_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/mr_02/mr_02_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/mr_02/mr_02_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nefred1/red1_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nefred1/red1_CLOUD1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nefred1/red1_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nefred1/red1_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nefred1/red1_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nefred1/red1_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nightsky82/nightsky82_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nightsky82/nightsky82_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nightsky82/nightsky82_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nightsky82/nightsky82_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nightsky82/nightsky82_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/nightsky82/nightsky82_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/ocular0.bm8":["TWL2-MapPack.vl2"],"textures/skies/ocular0.png":["TWL2-MapPack.vl2"],"textures/skies/ocular180.bm8":["TWL2-MapPack.vl2"],"textures/skies/ocular180.png":["TWL2-MapPack.vl2"],"textures/skies/ocular270.bm8":["TWL2-MapPack.vl2"],"textures/skies/ocular270.png":["TWL2-MapPack.vl2"],"textures/skies/ocular90.bm8":["TWL2-MapPack.vl2"],"textures/skies/ocular90.png":["TWL2-MapPack.vl2"],"textures/skies/ocular_lush_day_emap.bm8":["TWL2-MapPack.vl2"],"textures/skies/ocular_lush_day_emap.png":["TWL2-MapPack.vl2"],"textures/skies/oculartop.bm8":["TWL2-MapPack.vl2"],"textures/skies/oculartop.png":["TWL2-MapPack.vl2"],"textures/skies/purpsun/PURPSUN_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/purpsun/PURPSUN_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/purpsun/PURPSUN_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/purpsun/PURPSUN_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/purpsun/PURPSUN_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/purpsun/PURPSUN_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/roelcolor/roelcolor_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/roelcolor/roelcolor_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/roelcolor/roelcolor_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/roelcolor/roelcolor_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/roelcolor/roelcolor_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/roelcolor/roelcolor_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sal/Malig_v1_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sal/Malig_v1_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sal/Malig_v1_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sal/Malig_v1_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sal/Malig_v1_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sal/Malig_v1_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/Cloud1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/sky01_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/sky02_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/sky03_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/sky04_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/sky05_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky01/sky06_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky121/sky121_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky121/sky121_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky121/sky121_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky121/sky121_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky121/sky121_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky121/sky121_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky127/sky127_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky127/sky127_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky127/sky127_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky127/sky127_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky127/sky127_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky127/sky127_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky156/sky156_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky156/sky156_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky156/sky156_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky156/sky156_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky156/sky156_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sky156/sky156_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_14/space_14_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_14/space_14_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_14/space_14_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_14/space_14_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_14/space_14_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_14/space_14_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_16/space_16_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_16/space_16_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_16/space_16_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_16/space_16_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_16/space_16_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_16/space_16_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_17/space_17_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_17/space_17_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_17/space_17_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_17/space_17_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_17/space_17_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_17/space_17_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_18/space_18_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_18/space_18_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_18/space_18_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_18/space_18_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_18/space_18_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_18/space_18_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_19/space_19_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_19/space_19_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_19/space_19_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_19/space_19_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_19/space_19_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_19/space_19_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_3/space_3_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_3/space_3_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_3/space_3_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_3/space_3_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_3/space_3_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_3/space_3_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_5/space_5_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_5/space_5_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_5/space_5_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_5/space_5_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_5/space_5_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/space_5/space_5_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/starrynite/starrynite_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/starrynite/starrynite_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/starrynite/starrynite_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/starrynite/starrynite_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/starrynite/starrynite_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/starrynite/starrynite_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sundown25/sundown25_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sundown25/sundown25_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sundown25/sundown25_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sundown25/sundown25_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sundown25/sundown25_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sundown25/sundown25_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sunnight/sunnight_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sunnight/sunnight_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sunnight/sunnight_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sunnight/sunnight_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sunnight/sunnight_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/sunnight/sunnight_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/tyre/tyre_bk.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/tyre/tyre_dn.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/tyre/tyre_ft.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/tyre/tyre_lf.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/tyre/tyre_rt.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/tyre/tyre_up.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/violet/violet_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/violet/violet_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/violet/violet_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/violet/violet_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/violet/violet_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/violet/violet_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/winterskyday/winterskyday_BK.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/winterskyday/winterskyday_DN.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/winterskyday/winterskyday_FR.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/winterskyday/winterskyday_LF.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/winterskyday/winterskyday_RT.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skies/winterskyday/winterskyday_UP.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/A7branch1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/A7trunk2.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/AgaritaFall.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/BBerryFall.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/BarrenSticksFall.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Blue.hflag.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Blue.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Blue.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Blue.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Blue.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Blue.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Branch3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Branch4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Branch5.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Branch6.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Branch7.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Burntwood.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/BurntwoodBranch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ChkBerryWinter.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0000.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0001.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0002.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0003.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0004.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0005.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0006.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0007.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0008.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Enrgtubes0009.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Green.hflag.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Green.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Green.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Green.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Green.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Green.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/HorseNettleFall.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Humnskn3.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/LushMoss.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MadroneBark.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MadroneFall.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MadroneFoliage.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MadroneWinter.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Maple Shrub.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MesqBark.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MesquiteBranch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MesquiteLeaves.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Mortar_Projectile.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/MotionSensor.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/NewMoss.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/NewMossFull.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/NexDefaultFloor.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/NexHoardFloor.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/NexusGenerator.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/NexusPowerLightsON.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Oldwood.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/OldwoodBran01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/OldwoodBranch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Orange.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Orange.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Orange.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Orange.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Orange.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Plsre00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre09.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre10.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre11.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre12.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre13.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre14.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre15.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre16.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre17.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre18.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre19.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre20.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre21.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Plsre22.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/PonderosaPineBark.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Pulse08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Purple.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Purple.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Purple.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Purple.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Purple.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Rabbit BushWin.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/RabbitBush.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Red.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Red.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Red.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Red.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Red.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/SBerryFall.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ScotchBroom.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Scout_windshield.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ShieldPackActivate.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ShieldPackAmbient.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Silver.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Silver.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Silver.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Silver.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Silver.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/SnowBlanket.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/StormJason.hmale.png":["StormJason.vl2"],"textures/skins/StormJason.lmale.png":["StormJason.vl2"],"textures/skins/StormJason.mmale.png":["StormJason.vl2"],"textures/skins/TR2-1.hmale.png":["TR2final105-client.vl2"],"textures/skins/TR2-1.lfemale.png":["TR2final105-client.vl2"],"textures/skins/TR2-1.mfemale.png":["TR2final105-client.vl2"],"textures/skins/TR2-1.mmale.png":["TR2final105-client.vl2"],"textures/skins/TR2-2.hmale.png":["TR2final105-client.vl2"],"textures/skins/TR2-2.lfemale.png":["TR2final105-client.vl2"],"textures/skins/TR2-2.mfemale.png":["TR2final105-client.vl2"],"textures/skins/TR2-2.mmale.png":["TR2final105-client.vl2"],"textures/skins/Vehicle_Land_Assault_Wheel.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_Land_Assault_bodyMain.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_Land_Assault_bodySide1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_Land_Assault_bodySide2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_grav_scout.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_grav_scout_pipes.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_grav_scout_windshield.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_grav_scout_windshieldInner.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Vehicle_grav_tank_bodyMain.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Weapon_missile_projectile.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/WinMapShrubart.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/WinRhody.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/WinScotchArt.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Yellow.hflag.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/Yellow.hmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Yellow.lfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Yellow.lmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Yellow.mfemale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/Yellow.mmale.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/a.hbioderm_512.png":["skins.vl2"],"textures/skins/a.hrobot_512.png":["skins.vl2"],"textures/skins/a.lbioderm_512.png":["skins.vl2"],"textures/skins/a.lrobot_512.png":["skins.vl2"],"textures/skins/a.mbioderm_512.png":["skins.vl2"],"textures/skins/a.mrobot_512.png":["skins.vl2"],"textures/skins/alienfirxbase2.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ammo_chaingun.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ammo_disc.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ammo_grenade.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ammo_mine.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ammo_mortar.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/ammo_plasma.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/armor.damage.1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/armor.damage.2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/armor.damage.3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/artists.plaque.png":["skins.vl2"],"textures/skins/b.hbioderm_512.png":["skins.vl2"],"textures/skins/b.hrobot_512.png":["skins.vl2"],"textures/skins/b.lbioderm_512.png":["skins.vl2"],"textures/skins/b.lrobot_512.png":["skins.vl2"],"textures/skins/b.mbioderm_512.png":["skins.vl2"],"textures/skins/b.mrobot_512.png":["skins.vl2"],"textures/skins/banner_honor.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/banner_strength.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/banner_unity.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/barrelMount.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/barrel_aa_large.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/barrel_elf_large.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/barrel_fusion_large.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/barrel_missile_large.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/barrel_mortar_large.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/base.hbioderm.png":["skins.vl2"],"textures/skins/base.hbioderm_512.png":["skins.vl2"],"textures/skins/base.hflag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/base.hmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.lbioderm.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.lbioderm_512.png":["skins.vl2"],"textures/skins/base.lfemale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.lmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.mbioderm.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.mbioderm_512.png":["skins.vl2"],"textures/skins/base.mfemale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.mmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/base.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/baseb.hbioderm.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.hmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.lbioderm.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.lfemale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.lmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.mbioderm.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.mfemale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.mmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/baseb.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/basebbot.hmale.png":["skins.vl2"],"textures/skins/basebbot.lmale.png":["skins.vl2"],"textures/skins/basebbot.mmale.png":["skins.vl2"],"textures/skins/basebot.hmale.png":["skins.vl2"],"textures/skins/basebot.lmale.png":["skins.vl2"],"textures/skins/basebot.mmale.png":["skins.vl2"],"textures/skins/bb_bark.png":["TWL-MapPack.vl2"],"textures/skins/bb_bark2.png":["TWL-MapPack.vl2"],"textures/skins/bb_beechleaf.png":["TWL-MapPack.vl2"],"textures/skins/bb_bigleaf.png":["TWL-MapPack.vl2"],"textures/skins/bb_bush.png":["TWL-MapPack.vl2"],"textures/skins/bb_jnigraleaf.png":["TWL-MapPack.vl2"],"textures/skins/bb_palmleaf.png":["TWL-MapPack.vl2"],"textures/skins/bb_screen.png":["TWL-MapPack.vl2"],"textures/skins/bb_stripeleaf.png":["TWL-MapPack.vl2"],"textures/skins/bb_tree1_foliage2.png":["TWL-MapPack.vl2"],"textures/skins/bb_tree1_side.png":["TWL-MapPack.vl2"],"textures/skins/bb_tree2_foliage2.png":["TWL-MapPack.vl2"],"textures/skins/bb_tree2_side.png":["TWL-MapPack.vl2"],"textures/skins/bb_trunk.png":["TWL-MapPack.vl2"],"textures/skins/beacon.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/beagle.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/beagle.hmale.png":["skins.vl2"],"textures/skins/beagle.hmale_512.png":["skins.vl2"],"textures/skins/beagle.lfemale.png":["skins.vl2"],"textures/skins/beagle.lfemale_512.png":["skins.vl2"],"textures/skins/beagle.lmale.png":["skins.vl2"],"textures/skins/beagle.lmale_512.png":["skins.vl2"],"textures/skins/beagle.mfemale.png":["skins.vl2"],"textures/skins/beagle.mfemale_512.png":["skins.vl2"],"textures/skins/beagle.mmale.png":["skins.vl2"],"textures/skins/beagle.mmale_512.png":["skins.vl2"],"textures/skins/beagle.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/beampulse.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bigdevdawg.plaque.png":["skins.vl2"],"textures/skins/billboard_1.png":["TR2final105-client.vl2"],"textures/skins/billboard_2.png":["TR2final105-client.vl2"],"textures/skins/billboard_3.png":["TR2final105-client.vl2"],"textures/skins/billboard_4.png":["TR2final105-client.vl2"],"textures/skins/blank.switch.png":["skins.vl2"],"textures/skins/blite00.png":["skins.vl2"],"textures/skins/blite01.PNG":["skins.vl2"],"textures/skins/blite02.png":["skins.vl2"],"textures/skins/blite03.png":["skins.vl2"],"textures/skins/blite04.png":["skins.vl2"],"textures/skins/blue.hflag.png":["zflags.vl2"],"textures/skins/blue.png":["skins.vl2"],"textures/skins/blue00.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue00.ifl":["skins.vl2"],"textures/skins/blue01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue_blink.ifl":["skins.vl2"],"textures/skins/blue_blink0.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue_blink0.ifl":["skins.vl2"],"textures/skins/blue_blink1.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/blue_blink2.PNG":["skins.vl2"],"textures/skins/blue_blink2.png":["yHDTextures2.0.vl2"],"textures/skins/blue_blink3.PNG":["skins.vl2"],"textures/skins/blue_blink3.png":["yHDTextures2.0.vl2"],"textures/skins/blue_blink4.PNG":["skins.vl2"],"textures/skins/blue_blink4.png":["yHDTextures2.0.vl2"],"textures/skins/borg1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/borg2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/borg4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/borg6.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/brsh5.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/brush.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bullethole1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bullethole2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bullethole3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bullethole4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bullethole5.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/bullethole6.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cactus.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/camera.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/chaingun_shot_end.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/chaingun_shot_side.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/chg_fmzl.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/chg_smzl.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/chgexhaust.ifl":["skins.vl2"],"textures/skins/cloak_core.ifl":["skins.vl2"],"textures/skins/cloak_core0000.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0001.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0002.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0003.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0004.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0005.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0006.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0007.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0008.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0009.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0010.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0011.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0012.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0013.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0014.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0015.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0016.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0017.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0018.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cloak_core0019.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cotp.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/cotp.hmale.png":["skins.vl2"],"textures/skins/cotp.lfemale.png":["skins.vl2"],"textures/skins/cotp.lmale.png":["skins.vl2"],"textures/skins/cotp.mfemale.png":["skins.vl2"],"textures/skins/cotp.mmale.png":["skins.vl2"],"textures/skins/cotp.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/cotp_hmale_512.png":["skins.vl2"],"textures/skins/cotp_lfemale_512.png":["skins.vl2"],"textures/skins/cotp_lmale_512.png":["skins.vl2"],"textures/skins/cotp_mfemale_512.png":["skins.vl2"],"textures/skins/cotp_mmale_512.png":["skins.vl2"],"textures/skins/dcase00.PNG":["skins.vl2"],"textures/skins/dcase00.ifl":["skins.vl2"],"textures/skins/dcase00.png":["yHDTextures2.0.vl2"],"textures/skins/dcase01.PNG":["skins.vl2"],"textures/skins/dcase01.png":["yHDTextures2.0.vl2"],"textures/skins/dcase02.PNG":["skins.vl2"],"textures/skins/dcase02.png":["yHDTextures2.0.vl2"],"textures/skins/dcase03.PNG":["skins.vl2"],"textures/skins/dcase03.png":["yHDTextures2.0.vl2"],"textures/skins/dcase04.PNG":["skins.vl2"],"textures/skins/dcase04.png":["yHDTextures2.0.vl2"],"textures/skins/dcase05.PNG":["skins.vl2"],"textures/skins/dcase05.png":["yHDTextures2.0.vl2"],"textures/skins/deb01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb01.ifl":["skins.vl2"],"textures/skins/deb02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb05.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb06.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb07.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb08.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb09.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb10.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb11.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb12.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb13.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb14.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb15.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb16.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb17.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb18.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb19.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb20.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb21.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb22.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb23.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb24.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb25.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb26.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb27.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb28.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb29.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb30.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb31.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb32.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deb33.PNG":["skins.vl2"],"textures/skins/deb33.png":["yHDTextures2.0.vl2"],"textures/skins/deb34.PNG":["skins.vl2"],"textures/skins/deb34.png":["yHDTextures2.0.vl2"],"textures/skins/decoy.plaque.png":["skins.vl2"],"textures/skins/deploy_inv_lite.ifl":["skins.vl2"],"textures/skins/deploy_inventory_1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deploy_inventory_2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/deploy_sensor_pulse.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/designers.plaque.png":["skins.vl2"],"textures/skins/diamondback.plaque.png":["skins.vl2"],"textures/skins/disc00.PNG":["skins.vl2"],"textures/skins/disc00.ifl":["skins.vl2"],"textures/skins/disc00.png":["yHDTextures2.0.vl2"],"textures/skins/disc01.PNG":["skins.vl2"],"textures/skins/disc01.png":["yHDTextures2.0.vl2"],"textures/skins/disc02.PNG":["skins.vl2"],"textures/skins/disc02.png":["yHDTextures2.0.vl2"],"textures/skins/disc03.PNG":["skins.vl2"],"textures/skins/disc03.png":["yHDTextures2.0.vl2"],"textures/skins/disc04.PNG":["skins.vl2"],"textures/skins/disc04.png":["yHDTextures2.0.vl2"],"textures/skins/disc05.PNG":["skins.vl2"],"textures/skins/disc05.png":["yHDTextures2.0.vl2"],"textures/skins/disc06.PNG":["skins.vl2"],"textures/skins/disc06.png":["yHDTextures2.0.vl2"],"textures/skins/disc07.PNG":["skins.vl2"],"textures/skins/disc07.png":["yHDTextures2.0.vl2"],"textures/skins/disc08.PNG":["skins.vl2"],"textures/skins/disc08.png":["yHDTextures2.0.vl2"],"textures/skins/disc09.PNG":["skins.vl2"],"textures/skins/disc09.png":["yHDTextures2.0.vl2"],"textures/skins/disc10.PNG":["skins.vl2"],"textures/skins/disc10.png":["yHDTextures2.0.vl2"],"textures/skins/disc11.PNG":["skins.vl2"],"textures/skins/disc11.png":["yHDTextures2.0.vl2"],"textures/skins/disc12.PNG":["skins.vl2"],"textures/skins/disc12.png":["yHDTextures2.0.vl2"],"textures/skins/disc13.PNG":["skins.vl2"],"textures/skins/disc13.png":["yHDTextures2.0.vl2"],"textures/skins/disc14.PNG":["skins.vl2"],"textures/skins/disc14.png":["yHDTextures2.0.vl2"],"textures/skins/disc15.PNG":["skins.vl2"],"textures/skins/disc15.png":["yHDTextures2.0.vl2"],"textures/skins/disc16.PNG":["skins.vl2"],"textures/skins/disc16.png":["yHDTextures2.0.vl2"],"textures/skins/disc17.PNG":["skins.vl2"],"textures/skins/disc17.png":["yHDTextures2.0.vl2"],"textures/skins/disc18.PNG":["skins.vl2"],"textures/skins/disc18.png":["yHDTextures2.0.vl2"],"textures/skins/disc19.PNG":["skins.vl2"],"textures/skins/disc19.png":["yHDTextures2.0.vl2"],"textures/skins/disc20.PNG":["skins.vl2"],"textures/skins/disc20.png":["yHDTextures2.0.vl2"],"textures/skins/disc21.PNG":["skins.vl2"],"textures/skins/disc21.png":["yHDTextures2.0.vl2"],"textures/skins/disc22.PNG":["skins.vl2"],"textures/skins/disc22.png":["yHDTextures2.0.vl2"],"textures/skins/disc23.PNG":["skins.vl2"],"textures/skins/disc23.png":["yHDTextures2.0.vl2"],"textures/skins/disc24.PNG":["skins.vl2"],"textures/skins/disc24.png":["yHDTextures2.0.vl2"],"textures/skins/disc25.PNG":["skins.vl2"],"textures/skins/disc25.png":["yHDTextures2.0.vl2"],"textures/skins/disc26.PNG":["skins.vl2"],"textures/skins/disc26.png":["yHDTextures2.0.vl2"],"textures/skins/disc27.PNG":["skins.vl2"],"textures/skins/disc27.png":["yHDTextures2.0.vl2"],"textures/skins/disc_muzzle.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/discshield2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/dox_stone.png":["TWL-MapPack.vl2"],"textures/skins/dox_wires.png":["TWL-MapPack.vl2"],"textures/skins/drawkward.plaque.png":["skins.vl2"],"textures/skins/ds.hmale_512.png":["skins.vl2"],"textures/skins/ds.lfemale_512.png":["skins.vl2"],"textures/skins/ds.lmale_512.png":["skins.vl2"],"textures/skins/ds.mfemale_512.png":["skins.vl2"],"textures/skins/ds.mmale_512.png":["skins.vl2"],"textures/skins/dsword.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/dsword.hmale.png":["skins.vl2"],"textures/skins/dsword.lfemale.png":["skins.vl2"],"textures/skins/dsword.lmale.png":["skins.vl2"],"textures/skins/dsword.mfemale.png":["skins.vl2"],"textures/skins/dsword.mmale.png":["skins.vl2"],"textures/skins/dsword.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/east.plaque.png":["skins.vl2"],"textures/skins/energy_blast.PNG":["skins.vl2"],"textures/skins/energy_blue_blink.ifl":["skins.vl2"],"textures/skins/energy_bolt.PNG":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/energy_bolt_aura.png":["skins.vl2"],"textures/skins/energy_bolt_front.png":["skins.vl2"],"textures/skins/energy_muzzle00.ifl":["skins.vl2"],"textures/skins/energy_side_muzzle00.ifl":["skins.vl2"],"textures/skins/energyb01.ifl":["skins.vl2"],"textures/skins/energyb01.png":["skins.vl2"],"textures/skins/energyb02.png":["skins.vl2"],"textures/skins/energyb03.png":["skins.vl2"],"textures/skins/energyb04.png":["skins.vl2"],"textures/skins/energyb05.png":["skins.vl2"],"textures/skins/energydis0000.ifl":["skins.vl2"],"textures/skins/energydis0000.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/energydis0001.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/energydis0002.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/energydis0003.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/energydis0004.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/energydis0005.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrg_frnt_muzl00.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl01.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl02.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl03.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl04.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl05.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl06.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_frnt_muzl07.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl00.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl01.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl02.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl03.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl04.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl05.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl06.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrg_side_muzl07.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/enrgcore0000.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0001.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0002.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0003.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0004.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0005.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0006.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0007.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0008.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgcore0009.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/enrgpack_core.ifl":["skins.vl2"],"textures/skins/enrgpack_tubes.ifl":["skins.vl2"],"textures/skins/etcmodel02.plaque.png":["skins.vl2"],"textures/skins/flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/flaglight1.ifl":["skins.vl2"],"textures/skins/flaglight1.png":["skins.vl2"],"textures/skins/flaglight2.png":["skins.vl2"],"textures/skins/flaglight3.png":["skins.vl2"],"textures/skins/flaglight4.png":["skins.vl2"],"textures/skins/flaglight5.png":["skins.vl2"],"textures/skins/flaregreen.png":["skins.vl2"],"textures/skins/flarewhite.PNG":["skins.vl2"],"textures/skins/flyerflame1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcef1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcef2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcef3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcef4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcef5.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_electric.ifl":["skins.vl2"],"textures/skins/forcefield_electric0.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_electric1.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_electric2.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_electric3.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_electric4.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_electric5.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_grn.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_grn.ifl":["skins.vl2"],"textures/skins/forcefield_grn1.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_grn2.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_grn3.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_grn4.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/forcefield_grn5.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/frankrizzo.plaque.png":["skins.vl2"],"textures/skins/generator.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/generic_scorch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/glow_red.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/goal_back.png":["TR2final105-client.vl2"],"textures/skins/goal_panel.png":["TR2final105-client.vl2"],"textures/skins/goal_side.png":["TR2final105-client.vl2"],"textures/skins/goal_top.png":["TR2final105-client.vl2"],"textures/skins/gold_goal_back.png":["TR2final105-client.vl2"],"textures/skins/gold_goal_side.png":["TR2final105-client.vl2"],"textures/skins/gold_goal_top.png":["TR2final105-client.vl2"],"textures/skins/gold_post.png":["TR2final105-client.vl2"],"textures/skins/goldcube.png":["TR2final105-client.vl2"],"textures/skins/gotmilk.plaque.png":["skins.vl2"],"textures/skins/green.hflag.png":["zflags.vl2"],"textures/skins/green00.ifl":["skins.vl2"],"textures/skins/green00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/greenMortar.ifl":["skins.vl2"],"textures/skins/green_blink.ifl":["skins.vl2"],"textures/skins/green_blink0.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green_blink1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green_blink2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green_blink3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/green_blink4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/greenlight.ifl":["skins.vl2"],"textures/skins/grenade.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/grenade_flare.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/grenade_flash.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/grenade_projectile.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/hexabolic.plaque.png":["skins.vl2"],"textures/skins/horde.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/horde.hbioderm.png":["skins.vl2"],"textures/skins/horde.lbioderm.png":["skins.vl2"],"textures/skins/horde.mbioderm.png":["skins.vl2"],"textures/skins/horde.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/hud_ret_bomber1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/hud_ret_bomber2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/hud_ret_bomber3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/hunters.flag.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/hvybioflare.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/hvyjetpackflare.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare00.ifl":["skins.vl2"],"textures/skins/jetflare00.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare01.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare02.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare03.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare04.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare05.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflare2.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflareside00.ifl":["skins.vl2"],"textures/skins/jetflareside00.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflareside01.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflareside02.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflareside03.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflareside04.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetflareside05.png":["skins.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/skins/jetpack.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jetpack_bio.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jetpackflare.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jetpackflare_bio.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jets00.ifl":["skins.vl2"],"textures/skins/jets00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jets01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jets02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jets03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jets04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jets05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/jett.plaque.png":["skins.vl2"],"textures/skins/jetyellow.png":["skins.vl2"],"textures/skins/jimmy.plaque.png":["skins.vl2"],"textures/skins/kidneythief.plaque.png":["skins.vl2"],"textures/skins/leaf_bunch2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/leafydome.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/leafydome2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/light_blue_00.PNG":["skins.vl2"],"textures/skins/light_blue_01.PNG":["skins.vl2"],"textures/skins/light_blue_02.PNG":["skins.vl2"],"textures/skins/light_blue_03.PNG":["skins.vl2"],"textures/skins/light_blue_04.PNG":["skins.vl2"],"textures/skins/light_blue_generator.ifl":["skins.vl2"],"textures/skins/light_green01.PNG":["skins.vl2"],"textures/skins/light_green01.ifl":["skins.vl2"],"textures/skins/light_green02.PNG":["skins.vl2"],"textures/skins/light_green03.PNG":["skins.vl2"],"textures/skins/light_green04.PNG":["skins.vl2"],"textures/skins/light_green05.PNG":["skins.vl2"],"textures/skins/light_green06.PNG":["skins.vl2"],"textures/skins/light_red.ifl":["skins.vl2"],"textures/skins/light_red01.PNG":["skins.vl2"],"textures/skins/light_red02.png":["skins.vl2"],"textures/skins/light_red03.png":["skins.vl2"],"textures/skins/light_red04.png":["skins.vl2"],"textures/skins/light_red05.png":["skins.vl2"],"textures/skins/light_red06.png":["skins.vl2"],"textures/skins/light_red2.ifl":["skins.vl2"],"textures/skins/light_red3.ifl":["skins.vl2"],"textures/skins/lite_blue0.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_blue1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_blue2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_blue3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_blue4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_fusturt.ifl":["skins.vl2"],"textures/skins/lite_fusturt01.ifl":["skins.vl2"],"textures/skins/lite_green.ifl":["skins.vl2"],"textures/skins/lite_green0.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_green1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_green2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_green3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_green4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_pack_cloak.ifl":["skins.vl2"],"textures/skins/lite_red.ifl":["skins.vl2"],"textures/skins/lite_red0.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_red04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_red1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_red2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_red3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_red4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/lite_remoteTurret.ifl":["skins.vl2"],"textures/skins/lite_rpu_pack01.ifl":["skins.vl2"],"textures/skins/lite_rpu_pack02.ifl":["skins.vl2"],"textures/skins/lite_sh_pack01.ifl":["skins.vl2"],"textures/skins/lite_sh_pack02.ifl":["skins.vl2"],"textures/skins/lite_turmiss.ifl":["skins.vl2"],"textures/skins/lite_turmort.ifl":["skins.vl2"],"textures/skins/marineleaves.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/marker.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/maximus.plaque.png":["skins.vl2"],"textures/skins/mine.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mine_anti_air.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mine_anti_land.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/missile_flash.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/missing.plaque.png":["skins.vl2"],"textures/skins/mongo.plaque.png":["skins.vl2"],"textures/skins/mort000.ifl":["skins.vl2"],"textures/skins/mort000.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort001.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort002.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort003.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort004.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort005.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort006.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort007.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort008.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort009.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort010.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort011.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort012.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort013.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort014.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort015.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort016.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort017.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort018.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort019.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort020.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort021.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort022.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort023.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort024.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort025.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort026.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/mort027.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/newedge00.ifl":["skins.vl2"],"textures/skins/newedge00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/newedge01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/newedge02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/newedge03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/newedge04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/newedge05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg09.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg10.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg11.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg12.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg13.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg14.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexg15.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexgren.ifl":["skins.vl2"],"textures/skins/nexgren02.ifl":["skins.vl2"],"textures/skins/nexred.ifl":["skins.vl2"],"textures/skins/nexred00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred02.ifl":["skins.vl2"],"textures/skins/nexred02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred09.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred10.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred11.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred12.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred13.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred14.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/nexred15.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/noise.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/olddawg.plaque.png":["skins.vl2"],"textures/skins/orange.ifl":["skins.vl2"],"textures/skins/orange00.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/orange01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/orange02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/orange03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/orange04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/orange05.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/orange1.ifl":["skins.vl2"],"textures/skins/orphankazrak.plaque.png":["skins.vl2"],"textures/skins/pack_ammo.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_cloak.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_cloak2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_deploy_sensor_pulse.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_energy.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_rep.ifl":["skins.vl2"],"textures/skins/pack_rep01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_rep02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_rep03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_rep04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_rep05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_rep2.ifl":["skins.vl2"],"textures/skins/pack_rep_lite.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_repair.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_senjam.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_shield.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_u_c00.png":["skins.vl2"],"textures/skins/pack_u_c01.png":["skins.vl2"],"textures/skins/pack_u_c02.png":["skins.vl2"],"textures/skins/pack_u_c03.png":["skins.vl2"],"textures/skins/pack_u_c04.png":["skins.vl2"],"textures/skins/pack_u_e.ifl":["skins.vl2"],"textures/skins/pack_u_e_lite.ifl":["skins.vl2"],"textures/skins/pack_u_e_lite00.png":["skins.vl2"],"textures/skins/pack_u_e_lite01.png":["skins.vl2"],"textures/skins/pack_u_e_lite02.png":["skins.vl2"],"textures/skins/pack_u_e_lite03.png":["skins.vl2"],"textures/skins/pack_u_e_lite04.png":["skins.vl2"],"textures/skins/pack_u_e_lite05.png":["skins.vl2"],"textures/skins/pack_u_e_lite06.png":["skins.vl2"],"textures/skins/pack_upgrade_cloaking.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_energy.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_reflection.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_repair.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_repulsor.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_satchel.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_satchel2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/pack_upgrade_shield.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma.ifl":["skins.vl2"],"textures/skins/plasma01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma09.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasma10.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plasmaTurret.ifl":["skins.vl2"],"textures/skins/plasma_ammo.ifl":["skins.vl2"],"textures/skins/plasma_exhaust.ifl":["skins.vl2"],"textures/skins/plasma_muzzle.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex00.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex05.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex06.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex07.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex08.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex09.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex10.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex11.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex12.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex13.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex14.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex15.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex16.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex17.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex18.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex19.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex20.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex21.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex22.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plex23.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec00.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec00.ifl":["skins.vl2"],"textures/skins/plrec01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec05.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec06.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plrec07.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsTur0a.ifl":["skins.vl2"],"textures/skins/plsam00.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam00.ifl":["skins.vl2"],"textures/skins/plsam01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam05.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam06.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam07.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam08.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam09.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam0a.ifl":["skins.vl2"],"textures/skins/plsam10.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam11.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam12.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam13.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam14.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam15.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam16.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam17.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam18.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam19.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam20.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam21.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam22.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam23.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam24.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam25.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam26.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam27.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam28.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam29.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam30.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam31.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam32.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam33.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam34.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam35.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam36.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam37.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam38.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam39.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsam40.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsamagun.ifl":["skins.vl2"],"textures/skins/plsmabolt01.ifl":["skins.vl2"],"textures/skins/plsmabolt01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt09.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsmabolt10.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/plsre.ifl":["skins.vl2"],"textures/skins/pod1.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/porg2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/porg4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/programmers1.plaque.png":["skins.vl2"],"textures/skins/programmers2.plaque.png":["skins.vl2"],"textures/skins/purple00.ifl":["skins.vl2"],"textures/skins/purple00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/purple01.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/purple02.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/purple03.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/purple04.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/qix.plaque.png":["skins.vl2"],"textures/skins/raf.plaque.png":["skins.vl2"],"textures/skins/ratedz.plaque.png":["skins.vl2"],"textures/skins/red_blink.ifl":["skins.vl2"],"textures/skins/red_blink0.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/red_blink1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/red_blink2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/red_blink3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/red_blink4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/repair_kit.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/repair_patch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/rickets.plaque.png":["skins.vl2"],"textures/skins/rusty.mmale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/scanline.ifl":["skins.vl2"],"textures/skins/scanline1.PNG":["skins.vl2"],"textures/skins/scanline1.png":["yHDTextures2.0.vl2"],"textures/skins/scanline2.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/scanline3.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/scanline4.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/scanline5.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/scanline6.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/screenframe.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/screenstatic1.ifl":["skins.vl2"],"textures/skins/screenstatic1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/screenstatic2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/screenstatic3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/screenstatic4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/screenstatic5.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/sensor_pulse_large.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/sensor_pulse_med.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/sentry.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/shark.plaque.png":["skins.vl2"],"textures/skins/shrikeflare2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/silver_post.png":["TR2final105-client.vl2"],"textures/skins/silvercube.png":["TR2final105-client.vl2"],"textures/skins/skeet.plaque.png":["skins.vl2"],"textures/skins/skin2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke.ifl":["skins.vl2"],"textures/skins/smoke00.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke01.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke02.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke03.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke04.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke05.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke06.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke07.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke08.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke09.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke10.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke11.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke12.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke13.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke14.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke15.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke16.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke17.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke18.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke19.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/smoke20.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/sneaker.plaque.png":["skins.vl2"],"textures/skins/snowleopard.plaque.png":["skins.vl2"],"textures/skins/solarpanel.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/sparks00.ifl":["skins.vl2"],"textures/skins/stackable.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable1L.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable1M.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable1S.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable2L.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable2S.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable2m.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable3L.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable3m.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable3s.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable4L.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable4M.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable5L.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/stackable5m.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damage.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageL1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageL2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageL3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageM1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageM2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageM3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageS1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageS2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageS3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damageS4.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_damage_alpha.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_inventory.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_inventory_activate.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_teleporter.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_teleporter_activate.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/station_vpad.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/statue_HMale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/statue_LFemale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/statue_LMale.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/statue_base.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/statue_plaque.png":["skins.vl2"],"textures/skins/switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/switchbeam.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/swolf.flag.png":["skins.vl2","yHDTextures2.0.vl2","zflags.vl2"],"textures/skins/swolf.hmale.png":["skins.vl2"],"textures/skins/swolf.lfemale.png":["skins.vl2"],"textures/skins/swolf.lmale.png":["skins.vl2"],"textures/skins/swolf.mfemale.png":["skins.vl2"],"textures/skins/swolf.mmale.png":["skins.vl2"],"textures/skins/swolf.switch.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/swolf_hmale_512.png":["skins.vl2"],"textures/skins/swolf_lfemale_512.png":["skins.vl2"],"textures/skins/swolf_lmale_512.png":["skins.vl2"],"textures/skins/swolf_mfemale_512.png":["skins.vl2"],"textures/skins/swolf_mmale_512.png":["skins.vl2"],"textures/skins/symlink.plaque.png":["skins.vl2"],"textures/skins/todesritter.plaque.png":["skins.vl2"],"textures/skins/tomin8tor.plaque.png":["skins.vl2"],"textures/skins/tr2_flag.png":["TR2final105-client.vl2"],"textures/skins/tribes1.plaque.png":["skins.vl2"],"textures/skins/turret_InOut_deploy.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/turret_assaultTank.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/turret_base_large.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/turret_belly.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/turret_light_red.ifl":["skins.vl2"],"textures/skins/turret_remote.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/turret_sentry.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/twitch.plaque.png":["skins.vl2"],"textures/skins/uberbob.plaque.png":["skins.vl2"],"textures/skins/vaportrail.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_bomber1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_bomber2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_bomber3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_hpc1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_hpc2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_hpc3.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_air_scout.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_grav_tank_bodyside1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_grav_tank_bodyside2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_land_mpb1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_land_mpb2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vehicle_mpb_sensor_panelsON.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vending01.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/vending02.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/skins/vpad_activate.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vpad_ambient.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/vpad_arm.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_chaingun.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_chaingun_ammocasing.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_disc.PNG":["skins.vl2"],"textures/skins/weapon_disc.png":["yHDTextures2.0.vl2"],"textures/skins/weapon_elf.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_energy.PNG":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_energy_vehicle.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_grenade_launcher.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_missile.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_missile_casement.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_mortar.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_plasma1.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_plasma2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_plasmathrower.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_repair.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_shocklance.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_shocklance_glow .png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_sniper.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/weapon_targeting.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/xorg2.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/skins/yellow.hflag.png":["zflags.vl2"],"textures/skins/yellow.png":["skins.vl2","yHDTextures2.0.vl2"],"textures/sky01.dml":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/sky01/sback.png":["TWL2-MapPack.vl2"],"textures/sky01/sdown.png":["TWL2-MapPack.vl2"],"textures/sky01/sfront.png":["TWL2-MapPack.vl2"],"textures/sky01/sleft.png":["TWL2-MapPack.vl2"],"textures/sky01/sright.png":["TWL2-MapPack.vl2"],"textures/sky01/sup.png":["TWL2-MapPack.vl2"],"textures/sky03.dml":["TWL-MapPack.vl2"],"textures/sky03/TR1_Cloud1.png":["TWL-MapPack.vl2"],"textures/sky03/TR1_Cloud2.png":["TWL-MapPack.vl2"],"textures/sky03/fback.png":["TWL-MapPack.vl2"],"textures/sky03/fdown.png":["TWL-MapPack.vl2"],"textures/sky03/ffront.png":["TWL-MapPack.vl2"],"textures/sky03/fleft.png":["TWL-MapPack.vl2"],"textures/sky03/fright.png":["TWL-MapPack.vl2"],"textures/sky03/fup.png":["TWL-MapPack.vl2"],"textures/sky121.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/sky127.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/sky156.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/sky_badlands_cloudy.dml":["textures.vl2"],"textures/sky_badlands_starrynight.dml":["textures.vl2"],"textures/sky_beachblitz.dml":["TWL-MapPack.vl2"],"textures/sky_desert_blue.dml":["textures.vl2"],"textures/sky_desert_brown.dml":["textures.vl2"],"textures/sky_desert_starrynight.dml":["textures.vl2"],"textures/sky_ice_blue.dml":["textures.vl2"],"textures/sky_ice_cloak.dml":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/sky_ice_starrynight.dml":["textures.vl2"],"textures/sky_lava_brown.dml":["textures.vl2"],"textures/sky_lava_starrynight.dml":["textures.vl2"],"textures/sky_lush_blue.dml":["textures.vl2"],"textures/sky_lush_morestars.dml":["textures.vl2"],"textures/sky_lush_starrynight.dml":["textures.vl2"],"textures/sky_volcanic_starrynight.dml":["textures.vl2"],"textures/small_circle.PNG":["textures.vl2"],"textures/small_cross.png":["textures.vl2"],"textures/small_diamond.png":["textures.vl2"],"textures/small_square.png":["textures.vl2"],"textures/small_triangle.png":["textures.vl2"],"textures/snowflake8x8.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/snowflakes.dml":["textures.vl2"],"textures/snowtest.dml":["textures.vl2"],"textures/space/TR1_Cloud1.png":["TWL-MapPack.vl2"],"textures/space/TR1_Cloud2.png":["TWL-MapPack.vl2"],"textures/space/xnight2_bk.png":["TWL-MapPack.vl2"],"textures/space/xnight2_dn.png":["TWL-MapPack.vl2"],"textures/space/xnight2_ft.png":["TWL-MapPack.vl2"],"textures/space/xnight2_lf.png":["TWL-MapPack.vl2"],"textures/space/xnight2_rt.png":["TWL-MapPack.vl2"],"textures/space/xnight2_up.png":["TWL-MapPack.vl2"],"textures/space_14.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/space_16.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/space_17.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/space_18.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/space_19.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/space_3.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/space_5.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/special/BlueImpact.PNG":["textures.vl2"],"textures/special/BlueImpact.png":["yHDTextures2.0.vl2"],"textures/special/ELFBeam.PNG":["textures.vl2"],"textures/special/ELFBeam.png":["yHDTextures2.0.vl2"],"textures/special/ELFLightning.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0000.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0002.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0004.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0006.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0008.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0010.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0012.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0014.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0016.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0018.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0020.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0022.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0024.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0026.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0028.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0030.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0032.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0034.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0036.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0038.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0040.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0042.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0044.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0046.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0048.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0050.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Explosion/Exp_0052.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/GameGrid.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/LensFlare/Flare00.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/LightningBlur.PNG":["textures.vl2"],"textures/special/LightningBlur.png":["yHDTextures2.0.vl2"],"textures/special/Shocklance_effect01.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Shocklance_effect02.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/bigSmoke.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_001.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_002.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_003.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_004.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_005.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_006.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_007.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_008.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_009.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_010.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_011.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/Smoke/smoke_012.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/bigSpark.PNG":["textures.vl2"],"textures/special/bigSpark.png":["yHDTextures2.0.vl2"],"textures/special/blasterBolt.PNG":["textures.vl2","zblasterfix.vl2"],"textures/special/blasterBolt.png":["yHDTextures2.0.vl2"],"textures/special/blasterBoltCross.PNG":["textures.vl2","zblasterfix.vl2"],"textures/special/blasterBoltCross.png":["yHDTextures2.0.vl2"],"textures/special/blasterHit.PNG":["textures.vl2"],"textures/special/blasterHit.png":["yHDTextures2.0.vl2"],"textures/special/bluespark.PNG":["textures.vl2"],"textures/special/bluespark.png":["yHDTextures2.0.vl2"],"textures/special/bubbles.PNG":["textures.vl2"],"textures/special/bubbles.png":["yHDTextures2.0.vl2"],"textures/special/bullethole1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/bullethole2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/bullethole3.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/bullethole4.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/bullethole5.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/bullethole6.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/chuteTexture.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloakTexture.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash3.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash4.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash5.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash6.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash7.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/cloudflash8.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/crescent3.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/crescent4.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/decal.dml":["textures.vl2"],"textures/special/droplet.PNG":["textures.vl2"],"textures/special/droplet.png":["yHDTextures2.0.vl2"],"textures/special/expFlare.PNG":["textures.vl2"],"textures/special/expFlare.png":["yHDTextures2.0.vl2"],"textures/special/flare.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/flare3.PNG":["textures.vl2"],"textures/special/flare3.png":["yHDTextures2.0.vl2"],"textures/special/flareSpark.PNG":["textures.vl2"],"textures/special/flareSpark.png":["yHDTextures2.0.vl2"],"textures/special/footprints/H_bioderm.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/footprints/H_male.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/footprints/L_bioderm.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/footprints/L_male.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/footprints/M_bioderm.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/footprints/M_male.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/generic_reflect.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/generic_scorch.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/glass.PNG":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/special/gradient.PNG":["textures.vl2"],"textures/special/gradient.png":["yHDTextures2.0.vl2"],"textures/special/grainy.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/jammermap.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/jetExhaust02.PNG":["textures.vl2"],"textures/special/jetExhaust02.png":["yHDTextures2.0.vl2"],"textures/special/landSpikeBolt.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/landSpikeBoltCross.PNG":["textures.vl2"],"textures/special/landSpikeBoltCross.png":["yHDTextures2.0.vl2"],"textures/special/laserrip01.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip02.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip03.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip04.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip05.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip06.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip07.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip08.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/laserrip09.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/lavadeath_1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/lavadeath_2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/lavareflect.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/lightFalloffMono.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/lightning1blur.PNG":["textures.vl2"],"textures/special/lightning1blur.png":["yHDTextures2.0.vl2"],"textures/special/lightning1frame1.PNG":["textures.vl2"],"textures/special/lightning1frame1.png":["yHDTextures2.0.vl2"],"textures/special/lightning1frame2.PNG":["textures.vl2"],"textures/special/lightning1frame2.png":["yHDTextures2.0.vl2"],"textures/special/lightning1frame3.PNG":["textures.vl2"],"textures/special/lightning1frame3.png":["yHDTextures2.0.vl2"],"textures/special/lightning2blur.PNG":["textures.vl2"],"textures/special/lightning2blur.png":["yHDTextures2.0.vl2"],"textures/special/lightning2frame1.PNG":["textures.vl2"],"textures/special/lightning2frame1.png":["yHDTextures2.0.vl2"],"textures/special/lightning2frame2.PNG":["textures.vl2"],"textures/special/lightning2frame2.png":["yHDTextures2.0.vl2"],"textures/special/lightning2frame3.PNG":["textures.vl2"],"textures/special/lightning2frame3.png":["yHDTextures2.0.vl2"],"textures/special/nonlingradient.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/pulse.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/redbump2.PNG":["textures.vl2"],"textures/special/redbump2.png":["yHDTextures2.0.vl2"],"textures/special/redflare.png":["textures.vl2","yHDTextures2.0.vl2","zblasterfix.vl2"],"textures/special/shieldenvmap.PNG":["textures.vl2"],"textures/special/shieldenvmap.png":["yHDTextures2.0.vl2"],"textures/special/shieldmap.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/shockLanceZap.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/shockLightning01.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/shockLightning02.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/shockLightning03.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/shocklanceHit.PNG":["textures.vl2"],"textures/special/shocklanceHit.png":["yHDTextures2.0.vl2"],"textures/special/shockwave4.PNG":["textures.vl2"],"textures/special/shockwave4.png":["yHDTextures2.0.vl2"],"textures/special/shockwave5.PNG":["textures.vl2"],"textures/special/shockwave5.png":["yHDTextures2.0.vl2"],"textures/special/shrikeBolt.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/shrikeBoltCross.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/skyLightning.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/sniper00.PNG":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/spark00.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/stationGlow.PNG":["textures.vl2"],"textures/special/stationGlow.png":["yHDTextures2.0.vl2"],"textures/special/stationLight.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/stationLight2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/tracer00.PNG":["textures.vl2"],"textures/special/tracer00.png":["yHDTextures2.0.vl2"],"textures/special/tracercross.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/trigger.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/underwaterSpark.PNG":["textures.vl2"],"textures/special/underwaterSpark.png":["yHDTextures2.0.vl2"],"textures/special/water2.PNG":["textures.vl2"],"textures/special/water2.png":["yHDTextures2.0.vl2"],"textures/special/watertail1.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/watertail2.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/watertail3.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/watertail4.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/whiteAlpha0.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/whiteAlpha255.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/special/whiteNoAlpha.png":["textures.vl2","yHDTextures2.0.vl2"],"textures/stagnant_water.dml":["textures.vl2"],"textures/starrynite.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/sunnight.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/taco/taco.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/template.dml":["textures.vl2"],"textures/terrain.BadLands.DirtBumpy.dml":["textures.vl2"],"textures/terrain.BadLands.DirtChipped.dml":["textures.vl2"],"textures/terrain.BadLands.DirtYellow.dml":["textures.vl2"],"textures/terrain.BadLands.DirtYellowCracked.dml":["textures.vl2"],"textures/terrain.BadLands.RockBrown.dml":["textures.vl2"],"textures/terrain.BadLands.RockChipped.dml":["textures.vl2"],"textures/terrain.BadLands.RockCracked.dml":["textures.vl2"],"textures/terrain.DesertWorld.RockFractured.dml":["textures.vl2"],"textures/terrain.DesertWorld.RockSmooth.dml":["textures.vl2"],"textures/terrain.DesertWorld.Sand.dml":["textures.vl2"],"textures/terrain.DesertWorld.SandBurnt.dml":["textures.vl2"],"textures/terrain.DesertWorld.SandDark.dml":["textures.vl2"],"textures/terrain.DesertWorld.SandOrange.dml":["textures.vl2"],"textures/terrain.DesertWorld.SandOxidized.dml":["textures.vl2"],"textures/terrain.FlatShade.Blue.dml":["textures.vl2"],"textures/terrain.FlatShade.Green.dml":["textures.vl2"],"textures/terrain.FlatShade.Purple.dml":["textures.vl2"],"textures/terrain.FlatShade.Red.dml":["textures.vl2"],"textures/terrain.FlatShade.White.dml":["textures.vl2"],"textures/terrain.FrequencyTest.dml":["textures.vl2"],"textures/terrain.IceWorld.Ice.dml":["textures.vl2"],"textures/terrain.IceWorld.RockBlue.dml":["textures.vl2"],"textures/terrain.IceWorld.Snow.dml":["textures.vl2"],"textures/terrain.IceWorld.SnowIce.dml":["textures.vl2"],"textures/terrain.IceWorld.SnowRock.dml":["textures.vl2"],"textures/terrain.LavaWorld.Crust.dml":["textures.vl2"],"textures/terrain.LavaWorld.LavaRockHot.dml":["textures.vl2"],"textures/terrain.LavaWorld.MuddyAsh.dml":["textures.vl2"],"textures/terrain.LushWorld.DirtMossy.dml":["textures.vl2"],"textures/terrain.LushWorld.GrassDark.dml":["textures.vl2"],"textures/terrain.LushWorld.GrassLight.dml":["textures.vl2"],"textures/terrain.LushWorld.GrassMixed.dml":["textures.vl2"],"textures/terrain.LushWorld.Lakebed.dml":["textures.vl2"],"textures/terrain.LushWorld.RockLight.dml":["textures.vl2"],"textures/terrain.LushWorld.RockMossy.dml":["textures.vl2"],"textures/terrain.Outline.dml":["textures.vl2"],"textures/terrain.mask.dml":["textures.vl2"],"textures/terrain/Badlands.DirtBumpy.png":["textures.vl2"],"textures/terrain/Badlands.DirtChipped.png":["textures.vl2"],"textures/terrain/Badlands.DirtYellow.png":["textures.vl2"],"textures/terrain/Badlands.DirtYellowCracked.png":["textures.vl2"],"textures/terrain/Badlands.RockBrown.png":["textures.vl2"],"textures/terrain/Badlands.RockChipped.png":["textures.vl2"],"textures/terrain/Badlands.RockCracked.png":["textures.vl2"],"textures/terrain/Badlands.Rockcrackedcopper.png":["textures.vl2"],"textures/terrain/Bleed.GrassLight.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Bleed.GrassMixed.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Bleed.RockMossy.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Bleed.RockSmooth.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/CB1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/CB2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/CBgravel.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/CBtrails.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Default.png":["textures.vl2"],"textures/terrain/DesertWorld.RockFractured.png":["textures.vl2"],"textures/terrain/DesertWorld.RockSmooth.png":["textures.vl2"],"textures/terrain/DesertWorld.Sand.png":["textures.vl2"],"textures/terrain/DesertWorld.SandBurnt.png":["textures.vl2"],"textures/terrain/DesertWorld.SandDark.png":["textures.vl2"],"textures/terrain/DesertWorld.SandOrange.png":["textures.vl2"],"textures/terrain/DesertWorld.SandOxidized.png":["textures.vl2"],"textures/terrain/DesertWorld.TR2Sand.png":["TR2final105-client.vl2"],"textures/terrain/Eep.MoonDirt.PNG":["Classic_maps_v1.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Eep.MoonDirtDark.PNG":["Classic_maps_v1.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_BeachBlitzSE_lushworld.beachsand.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_CrownSE_lushworld.beachsand.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_EpicratesDeluxeSE_tropical1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_EpicratesDeluxeSE_ugly2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_NeveSE_NyctoGlacier.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_NeveSE_NyctoRock.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_NeveSE_NyctoRock2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_NeveSE_NyctoSnow.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/Euro4_PuliVeivariSE_NyctoGlacier.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/GMD.DarkRock.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/terrain/GMD.DirtMossy.png":["Classic_maps_v1.vl2"],"textures/terrain/GMD.GrassLight.png":["Classic_maps_v1.vl2"],"textures/terrain/GMD.GrassMixed.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/terrain/GMD.LightSand.png":["Classic_maps_v1.vl2","TR2final105-client.vl2"],"textures/terrain/GMD.SandBurnt.png":["Classic_maps_v1.vl2"],"textures/terrain/IceWorld.Ice.png":["textures.vl2"],"textures/terrain/IceWorld.RockBlue.png":["textures.vl2"],"textures/terrain/IceWorld.Snow.png":["textures.vl2"],"textures/terrain/IceWorld.SnowIce.png":["textures.vl2"],"textures/terrain/IceWorld.SnowRock.png":["textures.vl2"],"textures/terrain/LavaWorld.Crust.png":["textures.vl2"],"textures/terrain/LavaWorld.LavaRockHot.png":["textures.vl2"],"textures/terrain/LavaWorld.MuddyAsh.png":["textures.vl2"],"textures/terrain/LavaWorld.RockBlack.PNG":["textures.vl2"],"textures/terrain/LegendsLightSand.png":["TWL-MapPack.vl2"],"textures/terrain/LushWorld.DirtMossy.png":["textures.vl2"],"textures/terrain/LushWorld.GrassDark.png":["textures.vl2"],"textures/terrain/LushWorld.GrassLight.png":["textures.vl2"],"textures/terrain/LushWorld.GrassMixed.png":["textures.vl2"],"textures/terrain/LushWorld.Lakebed.png":["textures.vl2"],"textures/terrain/LushWorld.RockLight.png":["textures.vl2"],"textures/terrain/LushWorld.RockMossy.png":["textures.vl2"],"textures/terrain/LushWorld.TR2DirtMossy.png":["TR2final105-client.vl2"],"textures/terrain/LushWorld.TR2GrassDark.png":["TR2final105-client.vl2"],"textures/terrain/LushWorld.TR2GrassLight.png":["TR2final105-client.vl2"],"textures/terrain/LushWorld.TR2GrassMixed.png":["TR2final105-client.vl2"],"textures/terrain/LushWorld.TR2RockLight.png":["TR2final105-client.vl2"],"textures/terrain/LushWorld.TR2RockMossy.png":["TR2final105-client.vl2"],"textures/terrain/NyctoGlacier.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/NyctoRock.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/NyctoRock2.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/NyctoSnow.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/RockLight.png":["TWL-MapPack.vl2"],"textures/terrain/TRIgreystone10.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/TRIgreystone7.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/TRIlava_rock.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/TRIstone_chip.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/TRIsub_sand.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/abbbb.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/acccc.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/adesert_cracks_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/adesert_sand2_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/aeee.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/brown_Dirt02.png":["TWL-MapPack.vl2"],"textures/terrain/brown_Dirt05.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/brown_DirtRock01.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/cc_alien_crackedsand.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/cc_alien_sand.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/cc_sand1.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/cc_sand2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/cc_sand3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/cc_sand4.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/desert_cracks_s.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/desert_sand_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/grass_autumn_red_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/grass_ground_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/green_GrassRock005.png":["TWL-MapPack.vl2"],"textures/terrain/green_SnowyGrass001.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/greenrock21.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/infbutch_Rock02.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/island_sand2_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/island_sand_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_felsen1.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_felsen2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_grass.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_schnee.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_schnee4.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_schneefelsen.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_schneefelsen2.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/kab_schneefelsen3.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/lava_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/lava_mars_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/lushworld.beachsand.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/lushworld.lakesand.png":["Classic_maps_v1.vl2"],"textures/terrain/mmd-1.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/mmd-2.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/mmd-3.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/mmd-5.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/moss_ground_d.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/mxrock0.png":["TWL-MapPack.vl2"],"textures/terrain/mxrock2tu.png":["TWL-MapPack.vl2"],"textures/terrain/mxrock2tv.png":["TWL-MapPack.vl2"],"textures/terrain/ril.darkrock.png":["Classic_maps_v1.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/ril.darkrock1.png":["Classic_maps_v1.vl2"],"textures/terrain/rilk.shingledrock.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/rilke.sand.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/rockwall.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/seawaterfull2.PNG":["TR2final105-client.vl2"],"textures/terrain/snow2_s.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/snow_a0.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/snow_a2.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/snow_brownRock00.png":["TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/snow_grass001.png":["TWL-MapPack.vl2"],"textures/terrain/snow_rock_5.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/tes_mystery1.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/tes_mystery2.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/tes_test.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/tropical1.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/ugly2.png":["TWL-MapPack.vl2","zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/terrain/wateregypt1.PNG":["TR2final105-client.vl2"],"textures/terrain/watr-icyblue2.PNG":["TR2final105-client.vl2"],"textures/terrainTiles/Frequency1.png":["textures.vl2"],"textures/terrainTiles/Frequency2.png":["textures.vl2"],"textures/terrainTiles/Frequency3.png":["textures.vl2"],"textures/terrainTiles/Frequency4.png":["textures.vl2"],"textures/terrainTiles/Frequency5.png":["textures.vl2"],"textures/terrainTiles/Frequency6.png":["textures.vl2"],"textures/terrainTiles/SANDDK1.PNG":["textures.vl2"],"textures/terrainTiles/SANDDK2.PNG":["textures.vl2"],"textures/terrainTiles/SANDDK3.PNG":["textures.vl2"],"textures/terrainTiles/SANDDK4.PNG":["textures.vl2"],"textures/terrainTiles/SANDDK5.PNG":["textures.vl2"],"textures/terrainTiles/SANDREG1.PNG":["textures.vl2"],"textures/terrainTiles/SANDREG2.PNG":["textures.vl2"],"textures/terrainTiles/SANDREG3.PNG":["textures.vl2"],"textures/terrainTiles/SANDREG4.PNG":["textures.vl2"],"textures/terrainTiles/SANDREG5.PNG":["textures.vl2"],"textures/terrainTiles/SandBrnt1.PNG":["textures.vl2"],"textures/terrainTiles/SandBrnt2.PNG":["textures.vl2"],"textures/terrainTiles/SandBrnt3.PNG":["textures.vl2"],"textures/terrainTiles/SandBrnt4.PNG":["textures.vl2"],"textures/terrainTiles/SandBrnt5.PNG":["textures.vl2"],"textures/terrainTiles/SandOxid1.PNG":["textures.vl2"],"textures/terrainTiles/SandOxid2.PNG":["textures.vl2"],"textures/terrainTiles/SandOxid3.PNG":["textures.vl2"],"textures/terrainTiles/SandOxid4.PNG":["textures.vl2"],"textures/terrainTiles/SandOxid5.PNG":["textures.vl2"],"textures/terrainTiles/blue.png":["textures.vl2"],"textures/terrainTiles/crust1.png":["textures.vl2"],"textures/terrainTiles/crust2.png":["textures.vl2"],"textures/terrainTiles/crust3.png":["textures.vl2"],"textures/terrainTiles/crust4.png":["textures.vl2"],"textures/terrainTiles/crust5.png":["textures.vl2"],"textures/terrainTiles/crust6.png":["textures.vl2"],"textures/terrainTiles/drtBumpy.PNG":["textures.vl2"],"textures/terrainTiles/drtBumpy01.PNG":["textures.vl2"],"textures/terrainTiles/drtBumpy02.PNG":["textures.vl2"],"textures/terrainTiles/drtBumpy03.PNG":["textures.vl2"],"textures/terrainTiles/drtBumpy04.PNG":["textures.vl2"],"textures/terrainTiles/drtBumpy05.PNG":["textures.vl2"],"textures/terrainTiles/drtChipped.PNG":["textures.vl2"],"textures/terrainTiles/drtChipped01.PNG":["textures.vl2"],"textures/terrainTiles/drtChipped02.PNG":["textures.vl2"],"textures/terrainTiles/drtChipped03.PNG":["textures.vl2"],"textures/terrainTiles/drtChipped04.PNG":["textures.vl2"],"textures/terrainTiles/drtChipped05.PNG":["textures.vl2"],"textures/terrainTiles/drtYelo.PNG":["textures.vl2"],"textures/terrainTiles/drtYelo01.PNG":["textures.vl2"],"textures/terrainTiles/drtYelo02.PNG":["textures.vl2"],"textures/terrainTiles/drtYelo03.PNG":["textures.vl2"],"textures/terrainTiles/drtYelo04.PNG":["textures.vl2"],"textures/terrainTiles/drtYeloCrk0.PNG":["textures.vl2"],"textures/terrainTiles/drtYeloCrk01.PNG":["textures.vl2"],"textures/terrainTiles/drtYeloCrk02.PNG":["textures.vl2"],"textures/terrainTiles/drtYeloCrk03.PNG":["textures.vl2"],"textures/terrainTiles/drtYeloCrk04.PNG":["textures.vl2"],"textures/terrainTiles/grassDk1.PNG":["textures.vl2"],"textures/terrainTiles/grassDk2.PNG":["textures.vl2"],"textures/terrainTiles/grassDk3.PNG":["textures.vl2"],"textures/terrainTiles/grassDk4.PNG":["textures.vl2"],"textures/terrainTiles/grassDk5.PNG":["textures.vl2"],"textures/terrainTiles/grassDk6.PNG":["textures.vl2"],"textures/terrainTiles/grassLt1.PNG":["textures.vl2"],"textures/terrainTiles/grassLt2.PNG":["textures.vl2"],"textures/terrainTiles/grassLt3.PNG":["textures.vl2"],"textures/terrainTiles/grassLt4.PNG":["textures.vl2"],"textures/terrainTiles/grassLt5.PNG":["textures.vl2"],"textures/terrainTiles/grassMix1.PNG":["textures.vl2"],"textures/terrainTiles/grassMix2.PNG":["textures.vl2"],"textures/terrainTiles/grassMix3.PNG":["textures.vl2"],"textures/terrainTiles/grassMix4.PNG":["textures.vl2"],"textures/terrainTiles/grassMix5.PNG":["textures.vl2"],"textures/terrainTiles/grassMix6.PNG":["textures.vl2"],"textures/terrainTiles/grassMix7.PNG":["textures.vl2"],"textures/terrainTiles/green.png":["textures.vl2"],"textures/terrainTiles/ice01.png":["textures.vl2"],"textures/terrainTiles/ice02.png":["textures.vl2"],"textures/terrainTiles/ice03.png":["textures.vl2"],"textures/terrainTiles/ice04.png":["textures.vl2"],"textures/terrainTiles/ice05.png":["textures.vl2"],"textures/terrainTiles/ice06.png":["textures.vl2"],"textures/terrainTiles/ice07.png":["textures.vl2"],"textures/terrainTiles/ice08.png":["textures.vl2"],"textures/terrainTiles/ice09.png":["textures.vl2"],"textures/terrainTiles/ice10.png":["textures.vl2"],"textures/terrainTiles/icesnow1.png":["textures.vl2"],"textures/terrainTiles/icesnow2.png":["textures.vl2"],"textures/terrainTiles/icesnow3.png":["textures.vl2"],"textures/terrainTiles/icesnow4.png":["textures.vl2"],"textures/terrainTiles/icesnow5.png":["textures.vl2"],"textures/terrainTiles/icesnow6.png":["textures.vl2"],"textures/terrainTiles/lavarockhot1.png":["textures.vl2"],"textures/terrainTiles/lavarockhot2.png":["textures.vl2"],"textures/terrainTiles/lavarockhot3.png":["textures.vl2"],"textures/terrainTiles/lavarockhot4.png":["textures.vl2"],"textures/terrainTiles/lavarockhot5.png":["textures.vl2"],"textures/terrainTiles/mask.0001.png":["textures.vl2"],"textures/terrainTiles/mask.0010.png":["textures.vl2"],"textures/terrainTiles/mask.0011.png":["textures.vl2"],"textures/terrainTiles/mask.0100.png":["textures.vl2"],"textures/terrainTiles/mask.0101.png":["textures.vl2"],"textures/terrainTiles/mask.0110.png":["textures.vl2"],"textures/terrainTiles/mask.0111.png":["textures.vl2"],"textures/terrainTiles/molten1.PNG":["textures.vl2"],"textures/terrainTiles/mossDirt1.PNG":["textures.vl2"],"textures/terrainTiles/mossDirt2.PNG":["textures.vl2"],"textures/terrainTiles/mossDirt3.PNG":["textures.vl2"],"textures/terrainTiles/mossDirt4.PNG":["textures.vl2"],"textures/terrainTiles/mossDirt5.PNG":["textures.vl2"],"textures/terrainTiles/mossRock1.PNG":["textures.vl2"],"textures/terrainTiles/mossRock2.PNG":["textures.vl2"],"textures/terrainTiles/mossRock3.PNG":["textures.vl2"],"textures/terrainTiles/mossRock4.PNG":["textures.vl2"],"textures/terrainTiles/mossRock5.PNG":["textures.vl2"],"textures/terrainTiles/muddyash1.PNG":["textures.vl2"],"textures/terrainTiles/muddyash2.PNG":["textures.vl2"],"textures/terrainTiles/muddyash3.PNG":["textures.vl2"],"textures/terrainTiles/muddyash4.PNG":["textures.vl2"],"textures/terrainTiles/muddyash5.PNG":["textures.vl2"],"textures/terrainTiles/muddyash6.PNG":["textures.vl2"],"textures/terrainTiles/outline.png":["textures.vl2"],"textures/terrainTiles/purple.png":["textures.vl2"],"textures/terrainTiles/red.png":["textures.vl2"],"textures/terrainTiles/rockBrCrak.PNG":["textures.vl2"],"textures/terrainTiles/rockBrCrak01.PNG":["textures.vl2"],"textures/terrainTiles/rockBrCrak02.PNG":["textures.vl2"],"textures/terrainTiles/rockBrCrak03.PNG":["textures.vl2"],"textures/terrainTiles/rockBrCrak04.PNG":["textures.vl2"],"textures/terrainTiles/rockBrCrak05.PNG":["textures.vl2"],"textures/terrainTiles/rockLt1.PNG":["textures.vl2"],"textures/terrainTiles/rockLt2.PNG":["textures.vl2"],"textures/terrainTiles/rockLt3.PNG":["textures.vl2"],"textures/terrainTiles/rockLt4.PNG":["textures.vl2"],"textures/terrainTiles/rockLt5.PNG":["textures.vl2"],"textures/terrainTiles/rockblue.png":["textures.vl2"],"textures/terrainTiles/rockblue1.png":["textures.vl2"],"textures/terrainTiles/rockblue2.png":["textures.vl2"],"textures/terrainTiles/rockblue3.png":["textures.vl2"],"textures/terrainTiles/rockblue4.png":["textures.vl2"],"textures/terrainTiles/rockblue5.png":["textures.vl2"],"textures/terrainTiles/rockblue6.png":["textures.vl2"],"textures/terrainTiles/rockbrown.PNG":["textures.vl2"],"textures/terrainTiles/rockbrown01.PNG":["textures.vl2"],"textures/terrainTiles/rockbrown02.PNG":["textures.vl2"],"textures/terrainTiles/rockbrown03.PNG":["textures.vl2"],"textures/terrainTiles/rockbrown04.PNG":["textures.vl2"],"textures/terrainTiles/rockbrown05.PNG":["textures.vl2"],"textures/terrainTiles/rockchipd.PNG":["textures.vl2"],"textures/terrainTiles/rockchipd01.PNG":["textures.vl2"],"textures/terrainTiles/rockchipd02.PNG":["textures.vl2"],"textures/terrainTiles/rockchipd03.PNG":["textures.vl2"],"textures/terrainTiles/rockchipd04.PNG":["textures.vl2"],"textures/terrainTiles/rockchipd05.PNG":["textures.vl2"],"textures/terrainTiles/rockcrak1.PNG":["textures.vl2"],"textures/terrainTiles/rockcrak2.PNG":["textures.vl2"],"textures/terrainTiles/rockcrak3.PNG":["textures.vl2"],"textures/terrainTiles/rockcrak4.PNG":["textures.vl2"],"textures/terrainTiles/rockcrak5.PNG":["textures.vl2"],"textures/terrainTiles/rockcrak6.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth1.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth2.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth3.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth4.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth5.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth6.PNG":["textures.vl2"],"textures/terrainTiles/rocksmth6x.PNG":["textures.vl2"],"textures/terrainTiles/sandorng1.PNG":["textures.vl2"],"textures/terrainTiles/sandorng2.PNG":["textures.vl2"],"textures/terrainTiles/sandorng3.PNG":["textures.vl2"],"textures/terrainTiles/sandorng4.PNG":["textures.vl2"],"textures/terrainTiles/sandorng5.PNG":["textures.vl2"],"textures/terrainTiles/seaLt1.PNG":["textures.vl2"],"textures/terrainTiles/seaLt2.PNG":["textures.vl2"],"textures/terrainTiles/seaLt3.PNG":["textures.vl2"],"textures/terrainTiles/seaLt4.PNG":["textures.vl2"],"textures/terrainTiles/seaLt5.PNG":["textures.vl2"],"textures/terrainTiles/snow1.png":["textures.vl2"],"textures/terrainTiles/snow2.png":["textures.vl2"],"textures/terrainTiles/snow3.png":["textures.vl2"],"textures/terrainTiles/snow4.png":["textures.vl2"],"textures/terrainTiles/snow5.png":["textures.vl2"],"textures/terrainTiles/snow6.png":["textures.vl2"],"textures/terrainTiles/snowrock1.png":["textures.vl2"],"textures/terrainTiles/snowrock2.png":["textures.vl2"],"textures/terrainTiles/snowrock3.png":["textures.vl2"],"textures/terrainTiles/snowrock4.png":["textures.vl2"],"textures/terrainTiles/snowrock5.png":["textures.vl2"],"textures/terrainTiles/snowrock6.png":["textures.vl2"],"textures/terrainTiles/white.png":["textures.vl2"],"textures/tesla.dml":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/tesla/skies/teslaski_v5_bk.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/tesla/skies/teslaski_v5_dn.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/tesla/skies/teslaski_v5_fr.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/tesla/skies/teslaski_v5_lf.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/tesla/skies/teslaski_v5_rt.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/tesla/skies/teslaski_v5_up.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/teslaski_v5_DN.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/teslaski_v5_bk.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/teslaski_v5_fr.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/teslaski_v5_lf.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/teslaski_v5_rt.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/teslaski_v5_up.png":["TWL-MapPack.vl2","TWL2-MapPack.vl2"],"textures/texticons/Cred_Logo1.png":["textures.vl2"],"textures/texticons/Cred_logo5.png":["textures.vl2"],"textures/texticons/Flag_Beagle.jpg":["textures.vl2"],"textures/texticons/Flag_Bioderm.jpg":["textures.vl2"],"textures/texticons/Flag_DSword.jpg":["textures.vl2"],"textures/texticons/Flag_Phoenix.jpg":["textures.vl2"],"textures/texticons/Flag_Starwolf.jpg":["textures.vl2"],"textures/texticons/Flag_T2.jpg":["textures.vl2"],"textures/texticons/Heavy.jpg":["textures.vl2"],"textures/texticons/Logo_small_DSword.jpg":["textures.vl2"],"textures/texticons/Logo_small_Inferno.jpg":["textures.vl2"],"textures/texticons/Logo_small_Phoenix.jpg":["textures.vl2"],"textures/texticons/Logo_small_Starwolf.jpg":["textures.vl2"],"textures/texticons/Logo_small_Storm.jpg":["textures.vl2"],"textures/texticons/Logo_small_beagle.jpg":["textures.vl2"],"textures/texticons/Logo_small_bioderm.jpg":["textures.vl2"],"textures/texticons/TC_logo1.bm8":["T2csri.vl2"],"textures/texticons/TC_logo1.png":["T2csri.vl2"],"textures/texticons/bullet_1.png":["textures.vl2"],"textures/texticons/bullet_2.png":["textures.vl2"],"textures/texticons/dpub/DPUB_logo.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_BEthinking.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_Beer.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_Dermfused.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_Spook.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_Turkey.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_Xmas.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/dpub/DPUB_logo_Xoxo.png":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/texticons/mute_speaker.png":["textures.vl2"],"textures/texticons/sidebar1.jpg":["textures.vl2"],"textures/texticons/sidebar2.jpg":["textures.vl2"],"textures/texticons/sidebar3.jpg":["textures.vl2"],"textures/texticons/sys_op_eye.png":["textures.vl2"],"textures/texticons/twb/twb_BE_FLight.jpg":["textures.vl2"],"textures/texticons/twb/twb_BE_FMed.jpg":["textures.vl2"],"textures/texticons/twb/twb_BE_Heavy.jpg":["textures.vl2"],"textures/texticons/twb/twb_BE_MLight.jpg":["textures.vl2"],"textures/texticons/twb/twb_BE_MMed.JPG":["textures.vl2"],"textures/texticons/twb/twb_Bioderm.jpg":["textures.vl2"],"textures/texticons/twb/twb_Bioderm_Light.jpg":["textures.vl2"],"textures/texticons/twb/twb_Bioderm_Medium.jpg":["textures.vl2"],"textures/texticons/twb/twb_Blaster.jpg":["textures.vl2"],"textures/texticons/twb/twb_BloodEagle.jpg":["textures.vl2"],"textures/texticons/twb/twb_Chaingun.jpg":["textures.vl2"],"textures/texticons/twb/twb_DS_FLight.JPG":["textures.vl2"],"textures/texticons/twb/twb_DS_Fmed.jpg":["textures.vl2"],"textures/texticons/twb/twb_DS_Heavy.jpg":["textures.vl2"],"textures/texticons/twb/twb_DS_MMed.jpg":["textures.vl2"],"textures/texticons/twb/twb_DiamondSword.JPG":["textures.vl2"],"textures/texticons/twb/twb_Elfprojector.jpg":["textures.vl2"],"textures/texticons/twb/twb_Fusionmortar.jpg":["textures.vl2"],"textures/texticons/twb/twb_Grenadelauncher.jpg":["textures.vl2"],"textures/texticons/twb/twb_HR_FLight.JPG":["textures.vl2"],"textures/texticons/twb/twb_HR_FMed.jpg":["textures.vl2"],"textures/texticons/twb/twb_HR_Heavy.jpg":["textures.vl2"],"textures/texticons/twb/twb_HR_MLight.jpg":["textures.vl2"],"textures/texticons/twb/twb_HR_MMed.JPG":["textures.vl2"],"textures/texticons/twb/twb_Harbingers.JPG":["textures.vl2"],"textures/texticons/twb/twb_Havoc.JPG":["textures.vl2"],"textures/texticons/twb/twb_Laserrifle.jpg":["textures.vl2"],"textures/texticons/twb/twb_Lineup.jpg":["textures.vl2"],"textures/texticons/twb/twb_Missilelauncher.jpg":["textures.vl2"],"textures/texticons/twb/twb_Plasmarifle.jpg":["textures.vl2"],"textures/texticons/twb/twb_SW_FLight.jpg":["textures.vl2"],"textures/texticons/twb/twb_SW_FMedium.jpg":["textures.vl2"],"textures/texticons/twb/twb_SW_Heavy.jpg":["textures.vl2"],"textures/texticons/twb/twb_SW_MLight.jpg":["textures.vl2"],"textures/texticons/twb/twb_SW_MMed.jpg":["textures.vl2"],"textures/texticons/twb/twb_Shrike.jpg":["textures.vl2"],"textures/texticons/twb/twb_Spinfusor.jpg":["textures.vl2"],"textures/texticons/twb/twb_Starwolves.JPG":["textures.vl2"],"textures/texticons/twb/twb_TRIBES2.jpg":["textures.vl2"],"textures/texticons/twb/twb_Thundersword.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_01.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_02.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_03.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_04.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_05.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_06.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_08.jpg":["textures.vl2"],"textures/texticons/twb/twb_action_10.jpg":["textures.vl2"],"textures/texticons/twb/twb_blowngen_01.jpg":["textures.vl2"],"textures/texticons/twb/twb_inferno_01.jpg":["textures.vl2"],"textures/texticons/twb/twb_inferno_02.jpg":["textures.vl2"],"textures/texticons/twb/twb_inferno_03.jpg":["textures.vl2"],"textures/texticons/twb/twb_lakedebris_01.jpg":["textures.vl2"],"textures/texticons/twb/twb_lakedebris_03.jpg":["textures.vl2"],"textures/texticons/twb/twb_shocklance.jpg":["textures.vl2"],"textures/texticons/twb/twb_soclose.jpg":["textures.vl2"],"textures/texticons/twb/twb_starwolf_fem.jpg":["textures.vl2"],"textures/texticons/twb/twb_starwolf_shrike.jpg":["textures.vl2"],"textures/texticons/twb/twb_wateraction_01.jpg":["textures.vl2"],"textures/texticons/twb/twb_waterdemise_01.jpg":["textures.vl2"],"textures/texticons/twb/twb_waterdemise_03.jpg":["textures.vl2"],"textures/texticons/twb/twb_waterdemise_04.jpg":["textures.vl2"],"textures/texticons/twb/twb_woohoo_01.jpg":["textures.vl2"],"textures/tn_logo.png":["T2csri.vl2"],"textures/tyre.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/v5planet/skies/Starfallen_BK.png":["Classic_maps_v1.vl2"],"textures/v5planet/skies/Starfallen_FR.png":["Classic_maps_v1.vl2"],"textures/v5planet/skies/Starfallen_LF.png":["Classic_maps_v1.vl2"],"textures/v5planet/skies/Starfallen_RT.png":["Classic_maps_v1.vl2"],"textures/v5planet/skies/Starfallen_UP.png":["Classic_maps_v1.vl2"],"textures/violet.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/winterskyday.dml":["zAddOnsVL2s/zDiscord-Map-Pack-4.7.1.vl2"],"textures/xnight.dml":["TWL-MapPack.vl2"],"tournament/browser.cs":["tournamentNetClient2.vl2"],"tournament/login.cs":["tournamentNetClient2.vl2"],"tournament/settings.cs":["tournamentNetClient2.vl2"],"zz_classic_client_v4.txt":["zz_Classic_client_v1.vl2"]} \ No newline at end of file diff --git a/scripts/extract.ts b/scripts/extract.ts new file mode 100644 index 00000000..7320ae13 --- /dev/null +++ b/scripts/extract.ts @@ -0,0 +1,47 @@ +import fs from "node:fs/promises"; +import unzipper from "unzipper"; +import { normalize } from "@/src/stringUtils"; +import manifest from "@/public/manifest.json"; +import path from "node:path"; + +const inputBaseDir = "rawGameData/base"; +const outputBaseDir = "public/base"; + +const archives = new Map(); + +async function buildExtractedGameDataFolder() { + await fs.mkdir(outputBaseDir, { recursive: true }); + const filePaths = Object.keys(manifest).sort(); + for (const filePath of filePaths) { + const sources = manifest[filePath]; + for (const source of sources) { + if (source) { + let archive = archives.get(source); + if (!archive) { + const archivePath = `${inputBaseDir}/${source}`; + archive = await unzipper.Open.file(archivePath); + archives.set(source, archive); + } + const entry = archive.files.find( + (entry) => normalize(entry.path) === filePath + ); + const inFile = `${inputBaseDir}/${source}:${filePath}`; + if (!entry) { + throw new Error(`File not found in archive: ${inFile}`); + } + const outFile = `${outputBaseDir}/@vl2/${source}/${filePath}`; + const outDir = path.dirname(outFile); + console.log(`${inFile} -> ${outFile}`); + await fs.mkdir(outDir, { recursive: true }); + await fs.writeFile(outFile, entry.stream()); + } else { + const inFile = `${inputBaseDir}/${filePath}`; + const outFile = `${outputBaseDir}/${filePath}`; + console.log(`${inFile} -> ${outFile}`); + await fs.cp(inFile, outFile); + } + } + } +} + +buildExtractedGameDataFolder(); diff --git a/scripts/interior.ts b/scripts/interior.ts new file mode 100644 index 00000000..3d119220 --- /dev/null +++ b/scripts/interior.ts @@ -0,0 +1,17 @@ +import fs from "node:fs"; +import { inspect } from "node:util"; +import { parseInteriorBuffer } from "@/src/interior"; + +const interiorFile = process.argv[2]; +const interiorBuffer = fs.readFileSync(interiorFile); +const interiorArrayBuffer = interiorBuffer.buffer.slice( + interiorBuffer.byteOffset, + interiorBuffer.byteOffset + interiorBuffer.byteLength +); + +console.log( + inspect(parseInteriorBuffer(interiorArrayBuffer), { + colors: true, + depth: Infinity, + }) +); diff --git a/scripts/manifest.ts b/scripts/manifest.ts new file mode 100644 index 00000000..c01360d2 --- /dev/null +++ b/scripts/manifest.ts @@ -0,0 +1,86 @@ +import fs from "node:fs/promises"; +import path from "node:path"; +import { parseArgs } from "node:util"; +import unzipper from "unzipper"; +import { normalize } from "@/src/stringUtils"; + +const archiveFilePattern = /\.vl2$/i; + +const baseDir = "rawGameData/base"; + +function isArchive(name: string) { + return archiveFilePattern.test(name); +} + +async function buildManifest() { + const fileSources = new Map(); + + const looseFiles: string[] = []; + const archiveFiles: string[] = []; + for await (const entry of fs.glob(`${baseDir}/**/*`, { + withFileTypes: true, + })) { + if (entry.isFile()) { + const fullPath = normalize(`${entry.parentPath}/${entry.name}`); + if (isArchive(entry.name)) { + archiveFiles.push(fullPath); + } else { + looseFiles.push(fullPath); + } + } + } + + for (const filePath of looseFiles) { + const relativePath = normalize(path.relative(baseDir, filePath)); + fileSources.set(relativePath, [""]); + } + + archiveFiles.sort(); + for (const archivePath of archiveFiles) { + const relativePath = normalize(path.relative(baseDir, archivePath)); + const archive = await unzipper.Open.file(archivePath); + for (const archiveEntry of archive.files) { + if (archiveEntry.type === "File") { + const filePath = normalize(archiveEntry.path); + const sources = fileSources.get(filePath) ?? []; + sources.push(relativePath); + fileSources.set(filePath, sources); + } + } + } + + const manifest: Record = {}; + + const orderedFiles = Array.from(fileSources.keys()).sort(); + for (const filePath of orderedFiles) { + const sources = fileSources.get(filePath); + manifest[filePath] = sources; + console.log( + `${filePath}${sources[0] ? ` 📦 ${sources[0]}` : ""}${ + sources.length > 1 + ? sources + .slice(1) + .map((source) => ` ❗️ ${source}`) + .join("") + : "" + }` + ); + } + + return manifest; +} + +const { values } = parseArgs({ + options: { + output: { + type: "string", + short: "o", + }, + }, +}); + +const manifest = await buildManifest(); + +if (values.output) { + await fs.writeFile(values.output, JSON.stringify(manifest), "utf8"); +} diff --git a/scripts/mission.ts b/scripts/mission.ts new file mode 100644 index 00000000..5b743cf9 --- /dev/null +++ b/scripts/mission.ts @@ -0,0 +1,61 @@ +import fs from "node:fs"; +import { inspect, parseArgs } from "node:util"; +import { parseMissionScript } from "@/src/mission"; +import { getFilePath } from "@/src/manifest"; + +async function run() { + const { values, positionals } = parseArgs({ + allowPositionals: true, + options: { + name: { + type: "string", + short: "n", + }, + list: { + type: "boolean", + short: "l", + }, + }, + }); + + if (values.list) { + if (values.name || positionals[0]) { + console.error("Cannot specify --list (-l) with other options."); + return 1; + } + const manifest = (await import("../public/manifest.json")).default; + const fileNames = Object.keys(manifest); + console.log( + fileNames + .map((f) => f.match(/^missions\/(.+)\.mis$/)) + .filter(Boolean) + .map((match) => match[1]) + .join("\n") + ); + return; + } else if ( + (values.name && positionals[0]) || + (!values.name && !positionals[0]) + ) { + console.error( + "Must specify exactly one of --name (-n) or a positional filename." + ); + return 1; + } + + let missionFile = positionals[0]; + if (values.name) { + const resourcePath = `missions/${values.name}.mis`; + missionFile = getFilePath(resourcePath); + } + const missionScript = fs.readFileSync(missionFile, "utf8"); + console.log( + inspect(parseMissionScript(missionScript), { + colors: false, + depth: Infinity, + }) + ); +} + +const code = await run(); +process.exit(code ?? 0); diff --git a/scripts/terrain.ts b/scripts/terrain.ts new file mode 100644 index 00000000..a4c0e15a --- /dev/null +++ b/scripts/terrain.ts @@ -0,0 +1,66 @@ +import fs from "node:fs"; +import { inspect, parseArgs } from "node:util"; +import { parseTerrainBuffer } from "@/src/terrain"; +import { getFilePath } from "@/src/manifest"; + +async function run() { + const { values, positionals } = parseArgs({ + allowPositionals: true, + options: { + name: { + type: "string", + short: "n", + }, + list: { + type: "boolean", + short: "l", + }, + }, + }); + + if (values.list) { + if (values.name || positionals[0]) { + console.error("Cannot specify --list (-l) with other options."); + return 1; + } + const manifest = (await import("../public/manifest.json")).default; + const fileNames = Object.keys(manifest); + console.log( + fileNames + .map((f) => f.match(/^terrains\/(.+)\.ter$/)) + .filter(Boolean) + .map((match) => match[1]) + .join("\n") + ); + return; + } else if ( + (values.name && positionals[0]) || + (!values.name && !positionals[0]) + ) { + console.error( + "Must specify exactly one of --name (-n) or a positional filename." + ); + return 1; + } + + let terrainFile = positionals[0]; + if (values.name) { + const resourcePath = `terrains/${values.name}.ter`; + terrainFile = getFilePath(resourcePath); + } + const terrainBuffer = fs.readFileSync(terrainFile); + const terrainArrayBuffer = terrainBuffer.buffer.slice( + terrainBuffer.byteOffset, + terrainBuffer.byteOffset + terrainBuffer.byteLength + ); + + console.log( + inspect(parseTerrainBuffer(terrainArrayBuffer), { + colors: true, + depth: Infinity, + }) + ); +} + +const code = await run(); +process.exit(code ?? 0); diff --git a/src/arrayUtils.ts b/src/arrayUtils.ts new file mode 100644 index 00000000..e55d7b42 --- /dev/null +++ b/src/arrayUtils.ts @@ -0,0 +1,48 @@ +export function rotateHeightMap( + src: Uint16Array, + width: number, + height: number, + degrees: 90 | 180 | 270 +) { + let outW: number; + let outH: number; + + switch (degrees) { + case 90: + case 270: + outW = height; + outH = width; + break; + case 180: + outW = width; + outH = height; + break; + } + + const out = new Uint16Array(outW * outH); + + for (let y = 0; y < height; y++) { + for (let x = 0; x < width; x++) { + const val = src[y * width + x]; + + let nx, ny; + switch (degrees) { + case 90: + nx = height - 1 - y; + ny = x; + break; + case 180: + nx = width - 1 - x; + ny = height - 1 - y; + break; + case 270: + nx = y; + ny = width - 1 - x; + } + + out[ny * outW + nx] = val; + } + } + + return out; +} diff --git a/src/interior.ts b/src/interior.ts new file mode 100644 index 00000000..52e19c57 --- /dev/null +++ b/src/interior.ts @@ -0,0 +1,5 @@ +import hxDif from "@/generated/hxDif.cjs"; + +export function parseInteriorBuffer(arrayBuffer: ArrayBufferLike) { + return hxDif.Dif.LoadFromArrayBuffer(arrayBuffer); +} diff --git a/src/manifest.ts b/src/manifest.ts new file mode 100644 index 00000000..cd14ec17 --- /dev/null +++ b/src/manifest.ts @@ -0,0 +1,34 @@ +import manifest from "../public/manifest.json"; + +export function getSource(resourcePath: string) { + const sources = manifest[resourcePath]; + if (sources && sources.length > 0) { + return sources[sources.length - 1]; + } else { + throw new Error(`Resource not found in manifest: ${resourcePath}`); + } +} + +export function getActualResourcePath(resourcePath: string) { + if (manifest[resourcePath]) { + return resourcePath; + } + const resourcePaths = getResourceList(); + const lowerCased = resourcePath.toLowerCase(); + return ( + resourcePaths.find((s) => s.toLowerCase() === lowerCased) ?? resourcePath + ); +} + +export function getResourceList() { + return Object.keys(manifest).sort(); +} + +export function getFilePath(resourcePath: string) { + const source = getSource(resourcePath); + if (source) { + return `public/base/@vl2/${source}/${resourcePath}`; + } else { + return `public/base/${resourcePath}`; + } +} diff --git a/src/mission.ts b/src/mission.ts new file mode 100644 index 00000000..3450e65a --- /dev/null +++ b/src/mission.ts @@ -0,0 +1,200 @@ +import parser from "@/generated/mission.cjs"; + +const definitionComment = /^ (DisplayName|MissionTypes) = (.+)$/; +const sectionBeginComment = /^--- ([A-Z ]+) BEGIN ---$/; +const sectionEndComment = /^--- ([A-Z ]+) END ---$/; + +function parseComment(text) { + let match; + match = text.match(sectionBeginComment); + if (match) { + return { + type: "sectionBegin", + name: match[1], + }; + } + match = text.match(sectionEndComment); + if (match) { + return { + type: "sectionEnd", + name: match[1], + }; + } + match = text.match(definitionComment); + if (match) { + return { + type: "definition", + identifier: match[1], + value: match[2], + }; + } + return null; +} + +function parseInstance(instance) { + return { + className: instance.className, + instanceName: instance.instanceName, + properties: instance.body + .filter((def) => def.type === "definition") + .map((def) => { + switch (def.value.type) { + case "string": + case "number": + case "boolean": + return { + target: def.target, + value: def.value.value, + }; + case "reference": + return { + target: def.target, + value: def.value, + }; + + default: + console.error(instance); + throw new Error( + `Unhandled value type: ${def.target.name} = ${def.value.type}` + ); + } + }), + children: instance.body + .filter((def) => def.type === "instance") + .map((def) => parseInstance(def)), + }; +} + +export function parseMissionScript(script) { + // Clean up the script: + // - Remove code-like parts of the script so it's easier to parse. + script = script.replace( + /(\/\/--- OBJECT WRITE END ---\s+)(?:.|[\r\n])*$/, + "$1" + ); + + let objectWriteBegin = /(\/\/--- OBJECT WRITE BEGIN ---\s+)/.exec(script); + const firstSimGroup = /[\r\n]new SimGroup/.exec(script); + script = + script.slice(0, objectWriteBegin.index + objectWriteBegin[1].length) + + script.slice(firstSimGroup.index); + + objectWriteBegin = /(\/\/--- OBJECT WRITE BEGIN ---\s+)/.exec(script); + const missionStringEnd = /(\/\/--- MISSION STRING END ---\s+)/.exec(script); + if (missionStringEnd) { + script = + script.slice(0, missionStringEnd.index + missionStringEnd[1].length) + + script.slice(objectWriteBegin.index); + } + + // console.log(script); + const doc = parser.parse(script); + + let section = { name: null, definitions: [] }; + const mission = { + pragma: {}, + sections: [], + }; + + for (const statement of doc) { + switch (statement.type) { + case "comment": { + const parsed = parseComment(statement.text); + if (parsed) { + switch (parsed.type) { + case "definition": { + if (section.name) { + section.definitions.push(statement); + } else { + mission.pragma[parsed.identifier] = parsed.value; + } + break; + } + case "sectionEnd": { + if (parsed.name !== section.name) { + throw new Error("Ending unmatched section!"); + } + if (section.name || section.definitions.length) { + mission.sections.push(section); + } + section = { name: null, definitions: [] }; + break; + } + case "sectionBegin": { + if (section.name) { + throw new Error("Already in a section!"); + } + if (section.name || section.definitions.length) { + mission.sections.push(section); + } + section = { name: parsed.name, definitions: [] }; + break; + } + } + } else { + section.definitions.push(statement); + } + break; + } + default: { + section.definitions.push(statement); + } + } + } + + if (section.name || section.definitions.length) { + mission.sections.push(section); + } + + return { + displayName: mission.pragma.DisplayName ?? null, + missionTypes: mission.pragma.MissionTypes?.split(" ") ?? [], + missionQuote: + mission.sections + .find((section) => section.name === "MISSION QUOTE") + ?.definitions.filter((def) => def.type === "comment") + .map((def) => def.text) + .join("\n") ?? null, + missionString: + mission.sections + .find((section) => section.name === "MISSION STRING") + ?.definitions.filter((def) => def.type === "comment") + .map((def) => def.text) + .join("\n") ?? null, + objects: mission.sections + .find((section) => section.name === "OBJECT WRITE") + ?.definitions.filter((def) => def.type === "instance") + .map((def) => parseInstance(def)), + globals: mission.sections + .filter((section) => !section.name) + .flatMap((section) => + section.definitions.filter((def) => def.type === "definition") + ), + }; +} +type Mission = ReturnType; + +export function* iterObjects(objectList) { + for (const obj of objectList) { + yield obj; + for (const child of iterObjects(obj.children)) { + yield child; + } + } +} + +export function getTerrainFile(mission: Mission) { + let terrainBlock; + for (const obj of iterObjects(mission.objects)) { + if (obj.className === "TerrainBlock") { + terrainBlock = obj; + break; + } + } + if (!terrainBlock) { + throw new Error("Error!"); + } + return terrainBlock.properties.find( + (prop) => prop.target.name === "terrainFile" + ).value; +} diff --git a/src/stringUtils.ts b/src/stringUtils.ts new file mode 100644 index 00000000..7b975d94 --- /dev/null +++ b/src/stringUtils.ts @@ -0,0 +1,3 @@ +export function normalize(pathString: string) { + return pathString.replace(/\\/g, "/").replace(/\/+/g, "/"); +} diff --git a/src/terrain.ts b/src/terrain.ts new file mode 100644 index 00000000..3e50ef6d --- /dev/null +++ b/src/terrain.ts @@ -0,0 +1,58 @@ +const SIZE = 256; +const SCALE = 8; + +export function parseTerrainBuffer(arrayBuffer: ArrayBufferLike) { + const dataView = new DataView(arrayBuffer); + let offset = 0; + const version = dataView.getUint8(offset++); + + const heightMap1d = new Uint16Array(SIZE * SIZE); + const textureNames: string[] = []; + + const readString = (length: number) => { + let result = ""; + for (let i = 0; i < length; i++) { + const byte = dataView.getUint8(offset + i); + if (byte === 0) break; // Stop at null terminator if present + result += String.fromCharCode(byte); + } + offset += length; + return result; + }; + + for (let i = 0; i < SIZE * SIZE; i++) { + let height = dataView.getUint16(offset, true); + offset += 2; + heightMap1d[i] = height; + } + + offset += 256 * 256; + + const heightMap = heightMap1d; + + for (let i = 0; i < 8; i++) { + const strSize = dataView.getUint8(offset++); + const textureName = readString(strSize); + if (i < 6 && strSize > 0) { + textureNames.push(textureName); + } + } + + const alphaMaps = []; + + for (const textureName of textureNames) { + const alphaMap = new Uint8Array(SIZE * SIZE); + for (let j = 0; j < SIZE * SIZE; j++) { + var alphaMats = dataView.getUint8(offset++); + alphaMap[j] = alphaMats; + } + alphaMaps.push(alphaMap); + } + + return { + version, + textureNames, + heightMap, + alphaMaps, + }; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..36eabb1b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "noEmit": true, + "incremental": true, + "module": "esnext", + "esModuleInterop": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "baseUrl": ".", + "paths": { + "@/*": ["*"] + }, + "plugins": [ + { + "name": "next" + } + ] + }, + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +}